powergrid-viewer 2.1.3 → 2.1.4
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/dist/powergrid-viewer.umd.min.js +1 -1
- package/package.json +1 -1
- package/src/game-chat.ts +13 -3
|
@@ -31,5 +31,5 @@ object-assign
|
|
|
31
31
|
* (c) 2015-present Evan You
|
|
32
32
|
* @license MIT
|
|
33
33
|
*/
|
|
34
|
-
function Zb(e){return Zb="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Zb(e)}function Fb(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function Kb(e){return Vb(e)||$b(e)||Wb()}function Vb(e){if(Array.isArray(e)){for(var n=0,t=new Array(e.length);n<e.length;n++)t[n]=e[n];return t}}function $b(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function Wb(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function Yb(){return"undefined"!==typeof Reflect&&Reflect.defineMetadata&&Reflect.getOwnMetadataKeys}function Jb(e,n){Hb(e,n),Object.getOwnPropertyNames(n.prototype).forEach((function(t){Hb(e.prototype,n.prototype,t)})),Object.getOwnPropertyNames(n).forEach((function(t){Hb(e,n,t)}))}function Hb(e,n,t){var r=t?Reflect.getOwnMetadataKeys(n,t):Reflect.getOwnMetadataKeys(n);r.forEach((function(r){var o=t?Reflect.getOwnMetadata(r,n,t):Reflect.getOwnMetadata(r,n);t?Reflect.defineMetadata(r,o,e,t):Reflect.defineMetadata(r,o,e)}))}var qb={__proto__:[]},Xb=qb instanceof Array;function Qb(e){return function(n,t,r){var o="function"===typeof n?n:n.constructor;o.__decorators__||(o.__decorators__=[]),"number"!==typeof r&&(r=void 0),o.__decorators__.push((function(n){return e(n,t,r)}))}}function ew(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];return Rb.a.extend({mixins:n})}function nw(e){var n=Zb(e);return null==e||"object"!==n&&"function"!==n}function tw(e,n){var t=n.prototype._init;n.prototype._init=function(){var n=this,t=Object.getOwnPropertyNames(e);if(e.$options.props)for(var r in e.$options.props)e.hasOwnProperty(r)||t.push(r);t.forEach((function(t){Object.defineProperty(n,t,{get:function(){return e[t]},set:function(n){e[t]=n},configurable:!0})}))};var r=new n;n.prototype._init=t;var o={};return Object.keys(r).forEach((function(e){void 0!==r[e]&&(o[e]=r[e])})),o}var rw=["data","beforeCreate","created","beforeMount","mounted","beforeDestroy","destroyed","beforeUpdate","updated","activated","deactivated","render","errorCaptured","serverPrefetch"];function ow(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};n.name=n.name||e._componentTag||e.name;var t=e.prototype;Object.getOwnPropertyNames(t).forEach((function(e){if("constructor"!==e)if(rw.indexOf(e)>-1)n[e]=t[e];else{var r=Object.getOwnPropertyDescriptor(t,e);void 0!==r.value?"function"===typeof r.value?(n.methods||(n.methods={}))[e]=r.value:(n.mixins||(n.mixins=[])).push({data:function(){return Fb({},e,r.value)}}):(r.get||r.set)&&((n.computed||(n.computed={}))[e]={get:r.get,set:r.set})}})),(n.mixins||(n.mixins=[])).push({data:function(){return tw(this,e)}});var r=e.__decorators__;r&&(r.forEach((function(e){return e(n)})),delete e.__decorators__);var o=Object.getPrototypeOf(e.prototype),i=o instanceof Rb.a?o.constructor:Rb.a,a=i.extend(n);return aw(a,e,i),Yb()&&Jb(a,e),a}var iw={prototype:!0,arguments:!0,callee:!0,caller:!0};function aw(e,n,t){Object.getOwnPropertyNames(n).forEach((function(r){if(!iw[r]){var o=Object.getOwnPropertyDescriptor(e,r);if(!o||o.configurable){var i=Object.getOwnPropertyDescriptor(n,r);if(!Xb){if("cid"===r)return;var a=Object.getOwnPropertyDescriptor(t,r);if(!nw(i.value)&&a&&a.value===i.value)return}0,Object.defineProperty(e,r,i)}}}))}function cw(e){return"function"===typeof e?ow(e):function(n){return ow(n,e)}}cw.registerHooks=function(e){rw.push.apply(rw,Kb(e))};var uw=cw;function sw(e){return Qb((function(n,t){"undefined"===typeof n.inject&&(n.inject={}),Array.isArray(n.inject)||(n.inject[t]=e||t)}))}function lw(e){return"function"!==typeof e||!e.managed&&!e.managedReactive}function dw(e){var n=function(){var t=this,r="function"===typeof e?e.call(this):e;for(var o in r=Object.create(r||null),r[fw]=Object.create(this[fw]||{}),n.managed)r[n.managed[o]]=this[o];var i=function(e){r[n.managedReactive[e]]=a[e],Object.defineProperty(r[fw],n.managedReactive[e],{enumerable:!0,configurable:!0,get:function(){return t[e]}})},a=this;for(var o in n.managedReactive)i(o);return r};return n.managed={},n.managedReactive={},n}var fw="__reactiveInject__";function pw(e){Array.isArray(e.inject)||(e.inject=e.inject||{},e.inject[fw]={from:fw,default:{}})}function vw(e){return Qb((function(n,t){if("undefined"===typeof n.inject&&(n.inject={}),!Array.isArray(n.inject)){var r=e?e.from||e:t,o=!!e&&e.default||void 0;n.computed||(n.computed={}),n.computed[t]=function(){var e=this[fw];return e?e[r]:o},n.inject[fw]=fw}}))}var hw="undefined"!==typeof Reflect&&"undefined"!==typeof Reflect.getMetadata;function mw(e,n,t){if(hw&&!Array.isArray(e)&&"function"!==typeof e&&!e.hasOwnProperty("type")&&"undefined"===typeof e.type){var r=Reflect.getMetadata("design:type",n,t);r!==Object&&(e.type=r)}}function gw(e){return void 0===e&&(e={}),function(n,t){mw(e,n,t),Qb((function(n,t){(n.props||(n.props={}))[t]=e}))(n,t)}}function yw(e){return Qb((function(n,t){var r=n.provide;pw(n),lw(r)&&(r=n.provide=dw(r)),r.managed[t]=e||t}))}function bw(e){return Qb((function(n,t){var r=n.provide;pw(n),lw(r)&&(r=n.provide=dw(r)),r.managedReactive[t]=e||t}))}function ww(e){return Qb((function(n,t){n.computed=n.computed||{},n.computed[t]={cache:!1,get:function(){return this.$refs[e||t]}}}))}function kw(e,n){void 0===n&&(n={});var t=n.deep,r=void 0!==t&&t,o=n.immediate,i=void 0!==o&&o;return Qb((function(n,t){"object"!==typeof n.watch&&(n.watch=Object.create(null));var o=n.watch;"object"!==typeof o[e]||Array.isArray(o[e])?"undefined"===typeof o[e]&&(o[e]=[]):o[e]=[o[e]],o[e].push({handler:t,deep:r,immediate:i})}))}var xw,_w=function(){var e=this,n=e.$createElement,t=e._self._c||n;return 99==e.powerPlant.number?t("g",{attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+")"}},[t("rect",{attrs:{width:"60",height:"40",fill:e.getColor(),stroke:"black","stroke-width":"2",rx:"4"}}),t("text",{attrs:{"text-anchor":"middle",x:"30",y:"20",fill:"black"}},[e._v("Step 3")])]):t("g",{class:[{canClick:e.canClick}],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+")"},on:{click:function(n){e.canClick&&e.$emit("click")}}},[t("rect",{attrs:{width:"60",height:"40",fill:e.getColor(),stroke:e.hasDiscount?"palegreen":"black","stroke-width":"2",rx:"4"}}),e.hasDiscount?t("g",[t("rect",{attrs:{width:"12",height:"12",rx:"4",fill:"palegreen"}}),t("text",{staticStyle:{"font-size":"12px"},attrs:{"text-anchor":"middle",x:"6",y:"6",fill:"black"}},[e._v("$")])]):e._e(),t("g",{attrs:{transform:"translate(30, 10)"}},[t("text",{attrs:{"text-anchor":"middle",x:"1",y:"1",fill:"gray"}},[e._v(e._s(e.powerPlant.number))]),t("text",{attrs:{"text-anchor":"middle",fill:"white"}},[e._v(e._s(e.powerPlant.number))])]),t("g",{class:["piece"],attrs:{id:e.elId,transform:"translate(40, 20) scale(0.035)"}},[t("path",{attrs:{d:"M187.698 263.636V456.017L3 341.204V169.522L80.8579 108.141L187.698 263.636Z",fill:"white",stroke:"white","stroke-width":"12","stroke-miterlimit":"10"}}),t("path",{attrs:{d:"M395.724 136.361V300.164L187.698 456.017V263.636L395.724 136.361Z",fill:"white",stroke:"white","stroke-width":"12","stroke-miterlimit":"10"}}),t("path",{attrs:{d:"M395.724 136.361L187.698 263.636L80.8579 108.141L304.771 4L395.724 136.361Z",fill:"white",stroke:"white","stroke-width":"12","stroke-miterlimit":"10"}})]),t("text",{staticStyle:{"font-size":"12px"},attrs:{"text-anchor":"middle",x:"47",y:"28",fill:"black"}},[e._v(" "+e._s(e.powerPlant.citiesPowered)+" ")]),t("g",{attrs:{transform:"translate(5, 20)"}},[t("path",{attrs:{d:e.getResourcePath(),fill:"white"}})]),e.powerPlant.cost>0?t("text",{staticStyle:{"font-size":"12px"},attrs:{"text-anchor":"middle",x:"12.5",y:"27.5",fill:"black"}},[e._v(" "+e._s(e.powerPlant.cost)+" ")]):e._e(),t("g",{attrs:{transform:"translate(24, 22)"}},[t("path",{attrs:{d:"M0,3 L8,3 L8,0 L14,6 L8,12 L8,9 L0,9Z",fill:"white"}})]),t("defs",[t("linearGradient",{attrs:{id:"hybrid",x1:"0",y1:"0",x2:"100%",y2:"100%"}},[t("stop",{attrs:{offset:"50%","stop-color":"#8b4513"}}),t("stop",{attrs:{offset:"50%","stop-color":"#445"}})],1)],1)])},Sw=[];(function(e){e[e["House"]=0]="House",e[e["Card"]=1]="Card",e[e["Coal"]=2]="Coal",e[e["Oil"]=3]="Oil",e[e["Garbage"]=4]="Garbage",e[e["Uranium"]=5]="Uranium",e[e["Hybrid"]=6]="Hybrid"})(xw||(xw={}));var Mw,Pw,Iw,Cw=["limegreen","mediumorchid","red","dodgerblue","yellow","brown"];function Ow(e,n){return"Australia"===e.map.name&&n.type===Pw.Uranium}function Aw(e,n){var t,r=void 0!=e.clockStartedAt&&void 0!=n?Math.max(0,n-e.clockStartedAt):0;return(null!==(t=e.totalTimeUsed)&&void 0!==t?t:0)+r}function Nw(e,n){return n.powerPlants.filter((function(n){return!Ow(e,n)})).length}(function(e){e["Coal"]="coal",e["Oil"]="oil",e["Garbage"]="garbage",e["Uranium"]="uranium"})(Mw||(Mw={})),function(e){e[e["Coal"]=0]="Coal",e[e["Oil"]=1]="Oil",e[e["Garbage"]=2]="Garbage",e[e["Uranium"]=3]="Uranium",e[e["Hybrid"]=4]="Hybrid",e[e["Wind"]=5]="Wind",e[e["Nuclear"]=6]="Nuclear",e[e["Step3"]=7]="Step3"}(Pw||(Pw={})),function(e){e["ColorSelection"]="Color Selection",e["RegionSelection"]="Region Selection",e["Order"]="Order",e["Auction"]="Auction",e["Resources"]="Resources",e["Building"]="Building",e["Bureaucracy"]="Bureaucracy",e["GameEnd"]="Game End"}(Iw||(Iw={}));var zw=[2,3,4,5,6,7];function jw(e){for(var n=e.length-1;n>=0;n--)if(e[n]<2)return n;return-1}function Lw(e,n){if(!e.uraniumMineMarket)return{income:0,price:0,mines:0,cities:0};var t=n.powerPlants.filter((function(n){return Ow(e,n)}));if(0===t.length)return{income:0,price:0,mines:0,cities:0};var r=t.reduce((function(e,n){return e+n.citiesPowered}),0),o=jw(e.uraniumMineMarket);if(o<0)return{income:0,price:0,mines:t.length,cities:r};var i=zw[o],a=i*r;n.money+=a,e.options.trackTotalSpent&&(n.totalIncome+=a);for(var c=0;c<t.length;c++){var u=jw(e.uraniumMineMarket);if(u<0)break;e.uraniumMineMarket[u]++}return{income:a,price:i,mines:t.length,cities:r}}function Dw(e,n){if(!e.uraniumMineMarket)return 0;for(var t=0,r=0;r<n;r++){for(var o=-1,i=0;i<e.uraniumMineMarket.length;i++)if(e.uraniumMineMarket[i]>0){o=i;break}if(o<0)break;e.uraniumMineMarket[o]--,t++}return t}var Rw=function(e){T(t,e);var n=Z(t);function t(){var e;return C(this,t),e=n.apply(this,arguments),e.currentX=0,e.currentY=0,e.mounted=!1,e.transitioning=!1,e.transitionCount=0,e.moving=!1,e}return A(t,[{key:"pieceOpacity",get:function(){return this.transparent?this.restorable?.6:.3:1}},{key:"startTransitioning",value:function(){var e=this;if(!this.transitioning){this.ui.waitingAnimations+=1,this.transitioning=!0,this.transitionCount+=1;var n=this.transitionCount;setTimeout((function(){n===e.transitionCount&&e.onTransitionEnd()}),1e3)}}},{key:"onTargetChanged",value:function(e,n){var t=this;this.targetState.x===this.currentX&&this.targetState.y===this.currentY||(!this.transitioning&&this.mounted&&(!n||e?this.startTransitioning():(this.moving=!0,setTimeout((function(){return t.moving=!1}),800))),this.mounted?setTimeout((function(){t.currentX=t.targetState.x,t.currentY=t.targetState.y})):(this.currentX=this.targetState.x,this.currentY=this.targetState.y))}},{key:"onTransitionEnd",value:function(){this.transitioning&&(this.transitioning=!1,this.ui.waitingAnimations=Math.max(this.ui.waitingAnimations-1,0))}},{key:"elId",get:function(){return this.transitioning||this.moving?"moving":void 0}}]),t}(Rb.a);Eb([gw({default:function(){return{x:0,y:0,rotate:0}}})],Rw.prototype,"targetState",void 0),Eb([gw()],Rw.prototype,"pieceId",void 0),Eb([gw()],Rw.prototype,"transparent",void 0),Eb([gw()],Rw.prototype,"restorable",void 0),Eb([sw()],Rw.prototype,"communicator",void 0),Eb([sw()],Rw.prototype,"ui",void 0),Eb([kw("dragging"),kw("targetState",{immediate:!0})],Rw.prototype,"onTargetChanged",null),Rw=Eb([uw({created:function(){},mounted:function(){this.mounted=!0},beforeDestroy:function(){this.onTransitionEnd()}})],Rw);var Tw,Bw,Ew=Rw,Uw=Ew;function Gw(e,n,t,r,o,i,a,c){var u,s="function"===typeof e?e.options:e;if(n&&(s.render=n,s.staticRenderFns=t,s._compiled=!0),r&&(s.functional=!0),i&&(s._scopeId="data-v-"+i),a?(u=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},s._ssrRegister=u):o&&(u=c?function(){o.call(this,(s.functional?this.parent:this).$root.$options.shadowRoot)}:o),u)if(s.functional){s._injectStyles=u;var l=s.render;s.render=function(e,n){return u.call(n),l(e,n)}}else{var d=s.beforeCreate;s.beforeCreate=d?[].concat(d,u):[u]}return{exports:e,options:s}}var Zw=Gw(Uw,Tw,Bw,!1,null,null,null),Fw=Zw.exports,Kw=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return A(t,[{key:"getColor",value:function(){var e;switch(null===(e=this.powerPlant)||void 0===e?void 0:e.type){case Pw.Coal:return"#8b4513";case Pw.Oil:return"#445";case Pw.Garbage:return"goldenrod";case Pw.Uranium:return"red";case Pw.Hybrid:return"url(#hybrid)";case Pw.Wind:return"limegreen";case Pw.Nuclear:return"dodgerblue";case Pw.Step3:return"dodgerblue"}}},{key:"getResourcePath",value:function(){var e;switch(null===(e=this.powerPlant)||void 0===e?void 0:e.type){case Pw.Coal:return"M0,3 L7.5,0 L15,3 L15,12 L7.5,15 L0,12Z";case Pw.Oil:return"M3,2 A6,3 0 0,1 12,2 L12,12 A6,3 0 0,1 3,12Z";case Pw.Garbage:return"M0,3 A7.5,3 0 0,1 15,3 L15,12 A7.5,3 0 0,1 0,12Z";case Pw.Uranium:return"M1,2 l4,-2 l6,0 l4,2 l0,11 l-4,2 l-6,0 l-4,-2Z";case Pw.Hybrid:return"M0,3 L7.5,0 L15,3 L15,12 L7.5,15 L0,12Z M9,1 A6,3 0 0,1 18,1 L18,10 A6,3 0 0,1 10,10Z";case Pw.Wind:return"";case Pw.Nuclear:return"";case Pw.Step3:return""}}}]),t}(ew(Fw));Eb([gw()],Kw.prototype,"owner",void 0),Eb([gw()],Kw.prototype,"powerPlant",void 0),Eb([gw()],Kw.prototype,"canClick",void 0),Eb([gw({default:!1})],Kw.prototype,"hasDiscount",void 0),Kw=Eb([uw({created:function(){this.pieceType=xw.Card}})],Kw);var Vw,$w,Ww=Kw,Yw=Ww,Jw=(t("11ac"),Gw(Yw,_w,Sw,!1,null,null,null)),Hw=Jw.exports,qw=(t("ec9f"),t("4cd2")),Xw=t.n(qw),Qw=t("0b6f"),ek=t("3a04"),nk=t.n(ek);(function(e){e["ChoosePowerPlant"]="ChoosePowerPlant",e["Bid"]="Bid",e["DiscardPowerPlant"]="DiscardPowerPlant",e["DiscardResources"]="DiscardResources",e["BuyResource"]="BuyResource",e["Build"]="Build",e["UsePowerPlant"]="UsePowerPlant",e["ChooseRegion"]="ChooseRegion",e["ChooseColor"]="ChooseColor",e["Pass"]="Pass"})(Vw||(Vw={}));var tk,rk,ok=($w={},y($w,Mw.Coal,[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8]),y($w,Mw.Oil,[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8]),y($w,Mw.Garbage,[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8]),y($w,Mw.Uranium,[1,2,3,4,5,6,7,8,10,12,14,16]),$w),ik=ok;function ak(e){}function ck(e,n){var t,r,o=1/0,i=I(e);try{for(i.s();!(r=i.n()).done;){var a=r.value,c=n(a);c<o&&(t=a,o=c)}}catch(u){i.e(u)}finally{i.f()}return t}function uk(e,n){var t=nk.a.alea(n),r=new Map;return e.forEach((function(e,n){var o=t.int32();while(r.has(o))o=t.int32();r.set(o,n)})),P(r.keys()).sort().map((function(n){return e[r.get(n)]}))}function sk(e){var n=[],t=e.hybridCapacity>0?Math.max(0,e.oilLeft-e.oilCapacity):0;e.coalLeft>0&&e.coalCapacity+e.hybridCapacity<e.coalLeft+t&&n.push(Mw.Coal);var r=e.hybridCapacity>0?Math.max(0,e.coalLeft-e.coalCapacity):0;return e.oilLeft>0&&e.oilCapacity+e.hybridCapacity<e.oilLeft+r&&n.push(Mw.Oil),n}function lk(e,n){var t={};switch(e.phase){case Iw.Auction:if(Nw(e,n)>4||e.players.length>2&&Nw(e,n)>3)t[Vw.DiscardPowerPlant]=n.powerPlants.filter((function(t,r){return r!=n.powerPlants.length-1&&!Ow(e,t)})).map((function(e){return e.number}));else{var r=sk(n);if(n.garbageCapacity<n.garbageLeft&&r.push(Mw.Garbage),n.uraniumCapacity<n.uraniumLeft&&r.push(Mw.Uranium),r.length>0)t[Vw.DiscardResources]=r;else if(void 0==e.chosenPowerPlant){var o=e.actualMarket.filter((function(e){return n.money>=e.number}));if("Spain & Portugal"==e.map.name){var i=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))}));i.every((function(e){return"yellow"==e.region}))&&(o=o.filter((function(e){return e.type!=Pw.Uranium})))}if("Central Europe"==e.map.name){var a=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))})).filter((function(e){return"green"==e.region||"brown"==e.region||"purple"==e.region}));0==a.length&&(o=o.filter((function(e){return e.type!=Pw.Uranium})))}if("UK & Ireland"==e.map.name){var c=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))}));c.every((function(e){return"green"==e.region}))&&(o=o.filter((function(e){return e.type!=Pw.Uranium})))}if("Northern Europe"==e.map.name){var u=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))})).filter((function(e){return"purple"==e.region||"yellow"==e.region||"brown"==e.region||"pink"==e.region}));0==u.length&&(o=o.filter((function(e){return e.type!=Pw.Uranium})))}o.length>0&&(t[Vw.ChoosePowerPlant]=o.map((function(e){return e.number}))),(e.round>1||e.discountBonusPlayer==n.id)&&(t[Vw.Pass]=[!0])}else{if(e.options.fastBid?e.minimunBid<=n.money&&(t[Vw.Bid]=Object(Qw["range"])(e.minimunBid,n.money+1)):e.currentBid?e.currentBid<n.money&&(t[Vw.Bid]=Object(Qw["range"])(e.currentBid+1,n.money+1)):t[Vw.Bid]=Object(Qw["range"])(e.minimunBid,n.money+1),"Spain & Portugal"==e.map.name){var s=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))}));s.every((function(e){return"yellow"==e.region}))&&e.chosenPowerPlant.type==Pw.Uranium&&(t[Vw.Bid]=void 0)}if("Central Europe"==e.map.name){var l=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))})).filter((function(e){return"green"==e.region||"brown"==e.region||"purple"==e.region}));0==l.length&&e.chosenPowerPlant.type==Pw.Uranium&&(t[Vw.Bid]=void 0)}if("UK & Ireland"==e.map.name){var d=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))}));d.every((function(e){return"green"==e.region}))&&e.chosenPowerPlant.type==Pw.Uranium&&(t[Vw.Bid]=void 0)}if("Northern Europe"==e.map.name){var f=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))})).filter((function(e){return"purple"==e.region||"yellow"==e.region||"brown"==e.region||"pink"==e.region}));0==f.length&&e.chosenPowerPlant.type==Pw.Uranium&&(t[Vw.Bid]=void 0)}e.options.fastBid?n.id!=e.auctioningPlayer&&(t[Vw.Pass]=[!0]):null!=e.currentBid&&(t[Vw.Pass]=[!0])}}break;case Iw.Resources:if("India"==e.map.name&&void 0!==e.chosenResource){t[Vw.Pass]=[!0];break}var p,v=[];p=e.map.maxPriceAvailable?e.map.maxPriceAvailable[e.step-1]:16;var h=void 0!==e.coalResupplyNorth,m=!h||"north"!==e.chosenSide,g=h&&"south"!==e.chosenSide;if(m&&e.coalMarket>0){var y,b=n.hybridCapacity>0?Math.max(0,n.oilLeft-n.oilCapacity):0,w=null!==(y=e.coalPrices)&&void 0!==y?y:ik[Mw.Coal],k=w[w.length-e.coalMarket];n.money>=k&&n.coalCapacity+n.hybridCapacity>b+n.coalLeft&&k<=p&&v.push(h?{resource:Mw.Coal,side:"south"}:{resource:Mw.Coal})}else if(m&&"recharged"==e.options.variant&&"USA"==e.map.name&&e.coalSupply>0){var x=n.hybridCapacity>0?Math.max(0,n.oilLeft-n.oilCapacity):0;n.money>=8&&n.coalCapacity+n.hybridCapacity>x+n.coalLeft&&v.push({resource:Mw.Coal})}if(m&&void 0!==e.coalStorage&&e.coalStorage>0){var _,S=n.hybridCapacity>0?Math.max(0,n.oilLeft-n.oilCapacity):0,M=null!==(_=e.coalPrices)&&void 0!==_?_:ik[Mw.Coal],I=e.coalMarket>0?M[M.length-e.coalMarket]:Number.POSITIVE_INFINITY;n.money>=8&&n.coalCapacity+n.hybridCapacity>S+n.coalLeft&&8<=p&&I>=8&&v.push({resource:Mw.Coal,fromStorage:!0})}if(g&&e.coalMarketNorth>0){var C=n.hybridCapacity>0?Math.max(0,n.oilLeft-n.oilCapacity):0,O=e.coalPricesNorth,A=O[O.length-e.coalMarketNorth];n.money>=A&&n.coalCapacity+n.hybridCapacity>C+n.coalLeft&&A<=p&&v.push({resource:Mw.Coal,side:"north"})}if(m&&e.oilMarket>0){var N,z=n.hybridCapacity>0?Math.max(0,n.coalLeft-n.coalCapacity):0,j=null!==(N=e.oilPrices)&&void 0!==N?N:ik[Mw.Oil],L=j[j.length-e.oilMarket];n.money>=L&&n.oilCapacity+n.hybridCapacity>z+n.oilLeft&&L<=p&&v.push(h?{resource:Mw.Oil,side:"south"}:{resource:Mw.Oil})}if(g&&e.oilMarketNorth>0){var D=n.hybridCapacity>0?Math.max(0,n.coalLeft-n.coalCapacity):0,R=e.oilPricesNorth,T=R[R.length-e.oilMarketNorth];n.money>=T&&n.oilCapacity+n.hybridCapacity>D+n.oilLeft&&T<=p&&v.push({resource:Mw.Oil,side:"north"})}if(m&&e.garbageMarket>0){var B,E=null!==(B=e.garbagePrices)&&void 0!==B?B:ik[Mw.Garbage],U=E[E.length-e.garbageMarket];if("Central Europe"==e.map.name){var G=n.cities.filter((function(e){return"Wien"==e.name}));(null===G||void 0===G?void 0:G.length)>0&&U--}n.money>=U&&n.garbageCapacity>n.garbageLeft&&U<=p&&v.push(h?{resource:Mw.Garbage,side:"south"}:{resource:Mw.Garbage})}if(g&&e.garbageMarketNorth>0){var Z=e.garbagePricesNorth,F=Z[Z.length-e.garbageMarketNorth];n.money>=F&&n.garbageCapacity>n.garbageLeft&&F<=p&&v.push({resource:Mw.Garbage,side:"north"})}if(m&&e.uraniumMarket>0){var K,V=null!==(K=e.uraniumPrices)&&void 0!==K?K:ik[Mw.Uranium],$=V[V.length-e.uraniumMarket];n.money>=$&&n.uraniumCapacity>n.uraniumLeft&&$<=p&&v.push(h?{resource:Mw.Uranium,side:"south"}:{resource:Mw.Uranium})}v.length>0&&(t[Vw.BuyResource]=v),t[Vw.Pass]=[!0];break;case Iw.Building:if(n.cities.length<21){var W,Y,J="Japan"===e.map.name,H=J?new Set(null!==(W=e.map.startingCities)&&void 0!==W?W:[]):new Set;if(0==n.cities.length){var q=J?e.map.cities.filter((function(e){return H.has(e.name)})):e.map.cities;Y=q.map((function(e){return{name:e.name,price:0}}))}else if(J&&1===e.round)Y=n.usedFreeJump?[]:e.map.cities.filter((function(e){return H.has(e.name)})).map((function(e){return{name:e.name,price:0}}));else if(Y=pk(e,n).map((function(e){return{name:e.name,price:e.price}})),J&&!n.usedFreeJump){var X=[];H.forEach((function(e){n.cities.find((function(n){return n.name===e}))||X.push({name:e,price:0,freeJump:!0})})),Y=[].concat(P(Y),X)}Y.forEach((function(t){var r,o=e.map.cities.find((function(e){return e.name==t.name}));if(o)if(null!==(r=e.blockedCities)&&void 0!==r&&r.includes(t.name))t.price=9999;else{var i=e.players.filter((function(e){return e.cities.find((function(e){return t.name==e.name}))})).length;if(o.transregional){if(e.step<2)return void(t.price=9999);var a=o.slotCosts,c=o.stepSlots?o.stepSlots[e.step-1]:e.step,u=a?a.length:3;return i>=c||i>=u?t.price=9999:t.price+=a?a[i]:3==e.step?20:15,void(n.cities.find((function(e){return e.name==t.name}))&&(t.price=9999))}if(o.island&&void 0!==e.map.crossIslandSurcharge&&n.cities.length>0){var s=new Set(n.cities.map((function(n){var t;return null===(t=e.map.cities.find((function(e){return e.name==n.name})))||void 0===t?void 0:t.island})).filter((function(e){return!!e})));if(!s.has(o.island))return void(t.price=i>0?9999:10+e.map.crossIslandSurcharge)}if(o.singleOccupancy)return 0==n.cities.length||i>=1?void(t.price=9999):void(n.cities.find((function(e){return e.name==t.name}))&&(t.price=9999));"Australia"==e.map.name&&n.cities.length>0&&(t.price=Math.min(t.price,20)),"Manhattan"==e.map.name&&n.cities.length>0&&(t.price=Math.max(0,t.price-5));var l=o.slotCosts,d=o.stepSlots?o.stepSlots[e.step-1]:e.step,f=l?l.length:3;i>=d||i>=f?t.price=9999:t.price+=l?l[i]:10+5*i,n.cities.find((function(e){return e.name==t.name}))&&(t.price=9999)}else t.price=9999})),Y=Y.filter((function(e){return e.price<=n.money})),Y.length>0&&(t[Vw.Build]=Y)}t[Vw.Pass]=[!0];break;case Iw.Bureaucracy:var Q=[];n.powerPlants.forEach((function(t){if(!Ow(e,t)&&n.powerPlantsNotUsed.includes(t.number))switch(t.type){case Pw.Coal:n.coalLeft>=t.cost&&Q.push({powerPlant:t.number,resourcesSpent:new Array(t.cost).fill(Mw.Coal),citiesPowered:t.citiesPowered});break;case Pw.Oil:n.oilLeft>=t.cost&&Q.push({powerPlant:t.number,resourcesSpent:new Array(t.cost).fill(Mw.Oil),citiesPowered:t.citiesPowered});break;case Pw.Garbage:n.garbageLeft>=t.cost&&Q.push({powerPlant:t.number,resourcesSpent:new Array(t.cost).fill(Mw.Garbage),citiesPowered:t.citiesPowered});break;case Pw.Uranium:n.uraniumLeft>=t.cost&&Q.push({powerPlant:t.number,resourcesSpent:new Array(t.cost).fill(Mw.Uranium),citiesPowered:t.citiesPowered});break;case Pw.Wind:case Pw.Nuclear:Q.push({powerPlant:t.number,resourcesSpent:[],citiesPowered:t.citiesPowered});break;case Pw.Hybrid:var r;if(n.coalLeft+n.oilLeft>=t.cost)r=1==t.cost?[[Mw.Coal],[Mw.Oil]]:2==t.cost?[[Mw.Coal,Mw.Coal],[Mw.Coal,Mw.Oil],[Mw.Oil,Mw.Oil]]:[[Mw.Coal,Mw.Coal,Mw.Coal],[Mw.Coal,Mw.Coal,Mw.Oil],[Mw.Coal,Mw.Oil,Mw.Oil],[Mw.Oil,Mw.Oil,Mw.Oil]],r.forEach((function(e){e.filter((function(e){return e==Mw.Coal})).length<=n.coalLeft&&e.filter((function(e){return e==Mw.Oil})).length<=n.oilLeft&&Q.push({powerPlant:t.number,resourcesSpent:e,citiesPowered:t.citiesPowered})}))}})),Q.length>0&&(t[Vw.UsePowerPlant]=Q),("India"!=e.map.name||n.citiesPowered>=n.targetCitiesPowered||n.isAI||0===Q.length)&&(t[Vw.Pass]=[!0]);break;case Iw.RegionSelection:var ee,ne,te=null!==(ee=null===(ne=e.regionDraft)||void 0===ne?void 0:ne.picked)&&void 0!==ee?ee:[],re=dk(e.map);t[Vw.ChooseRegion]=re.regions.filter((function(n){return fk(e.map.name,re,te,n)}));break;case Iw.ColorSelection:var oe,ie,ae=null!==(oe=null===(ie=e.colorDraft)||void 0===ie?void 0:ie.picked)&&void 0!==oe?oe:[];t[Vw.ChooseColor]=Cw.filter((function(e){return!ae.includes(e)}));break}return t}function dk(e){var n,t=e.cities.filter((function(n,t){return e.cities.findIndex((function(e){return e.region==n.region}))==t})).map((function(e){return e.region})),r=e.connections.map((function(n){return n.nodes.map((function(n){return e.cities.find((function(e){return e.name==n})).region}))})),o=t.map((function(e){return t.filter((function(n){return e!=n&&r.some((function(t){return t.includes(e)&&t.includes(n)}))}))})),i={},a=I(e.cities);try{for(a.s();!(n=a.n()).done;){var c=n.value;c.island&&void 0===i[c.region]&&(i[c.region]=c.island)}}catch(u){a.e(u)}finally{a.f()}return{regions:t,regionConnections:o,regionIsland:i}}function fk(e,n,t,r){var o=new Set(t);if(o.has(r))return!1;if(0==o.size)return!0;var i=n.regions.indexOf(r);if(-1==i)return!1;if(n.regionConnections[i].some((function(e){return o.has(e)})))return!0;if("UK & Ireland"===e){var a=new Set(P(o).map((function(e){return n.regionIsland[e]})));if(!a.has(n.regionIsland[r]))return!0}return"Australia"===e}function pk(e,n){var t=e.map.cities.map((function(e){return{name:e.name,price:n.cities.find((function(n){return n.name==e.name}))?0:9999,visited:!1}})),r=t.find((function(e){return e.name==n.cities[0].name}));if(!r)return t;r.price=0;var o=r;while(1){var i=e.map.connections.filter((function(e){return e.nodes.includes(o.name)}));i.forEach((function(r){var i,a=r.nodes.filter((function(e){return e!=o.name}))[0],c=t.find((function(e){return e.name==a})),u=e.map.cities.find((function(e){return e.name==a})),s=null!==(i=null===u||void 0===u?void 0:u.connectionCost)&&void 0!==i?i:r.cost,l=n.cities.find((function(e){return e.name==c.name}))?0:o.price+s;!c.visited&&c.price>l&&(c.price=l)})),o.visited=!0;var a=t.filter((function(e){return!e.visited})),c=ck(a,(function(e){return e.price}));if(!c||c.price>n.money)break;o=c}return t}(function(e){e["Purple"]="purple",e["Green"]="green",e["Red"]="red",e["Yellow"]="yellow",e["Cyan"]="cyan",e["Brown"]="brown"})(tk||(tk={})),function(e){e["Seattle"]="Seattle",e["Portland"]="Portland",e["Boise"]="Boise",e["Billings"]="Billings",e["Cheyenne"]="Cheyenne",e["Denver"]="Denver",e["Omaha"]="Omaha",e["SanFrancisco"]="San Francisco",e["LosAngeles"]="Los Angeles",e["SanDiego"]="San Diego",e["LasVegas"]="Las Vegas",e["SaltLakeCity"]="Salt Lake City",e["Phoenix"]="Phoenix",e["SantaFe"]="Santa Fe",e["KansasCity"]="Kansas City",e["OklahomaCity"]="Oklahoma City",e["Dallas"]="Dallas",e["Houston"]="Houston",e["Memphis"]="Memphis",e["Birmingham"]="Birmingham",e["NewOrleans"]="New Orleans",e["Fargo"]="Fargo",e["Duluth"]="Duluth",e["Minneapolis"]="Minneapolis",e["Chicago"]="Chicago",e["StLouis"]="St. Louis",e["Cincinnati"]="Cincinnati",e["Knoxvile"]="Knoxvile",e["Detroit"]="Detroit",e["Buffalo"]="Buffalo",e["Pittsburgh"]="Pittsburgh",e["Boston"]="Boston",e["NewYork"]="New York",e["Philadelphia"]="Philadelphia",e["Washington"]="Washington",e["Norfolk"]="Norfolk",e["Raleigh"]="Raleigh",e["Atlanta"]="Atlanta",e["Savannah"]="Savannah",e["Jacksonvile"]="Jacksonvile",e["Tampa"]="Tampa",e["Miami"]="Miami"}(rk||(rk={}));var vk,hk,mk={name:"USA",cities:[{name:rk.Seattle,region:tk.Purple,x:74,y:99},{name:rk.Portland,region:tk.Purple,x:45,y:167},{name:rk.Boise,region:tk.Purple,x:180,y:220},{name:rk.Billings,region:tk.Purple,x:345,y:180},{name:rk.Cheyenne,region:tk.Purple,x:410,y:280},{name:rk.Denver,region:tk.Purple,x:400,y:333},{name:rk.Omaha,region:tk.Purple,x:566,y:293},{name:rk.SanFrancisco,region:tk.Cyan,x:48,y:371},{name:rk.LosAngeles,region:tk.Cyan,x:116,y:460},{name:rk.SanDiego,region:tk.Cyan,x:157,y:507},{name:rk.LasVegas,region:tk.Cyan,x:200,y:410},{name:rk.SaltLakeCity,region:tk.Cyan,x:266,y:311},{name:rk.Phoenix,region:tk.Cyan,x:260,y:486},{name:rk.SantaFe,region:tk.Cyan,x:371,y:435},{name:rk.KansasCity,region:tk.Red,x:587,y:356},{name:rk.OklahomaCity,region:tk.Red,x:550,y:437},{name:rk.Dallas,region:tk.Red,x:560,y:504},{name:rk.Houston,region:tk.Red,x:569,y:571},{name:rk.Memphis,region:tk.Red,x:678,y:449},{name:rk.Birmingham,region:tk.Red,x:739,y:486},{name:rk.NewOrleans,region:tk.Red,x:674,y:570},{name:rk.Fargo,region:tk.Yellow,x:551,y:152},{name:rk.Duluth,region:tk.Yellow,x:637,y:133},{name:rk.Minneapolis,region:tk.Yellow,x:621,y:190},{name:rk.Chicago,region:tk.Yellow,x:716,y:281},{name:rk.StLouis,region:tk.Yellow,x:678,y:362},{name:rk.Cincinnati,region:tk.Yellow,x:795,y:348},{name:rk.Knoxvile,region:tk.Yellow,x:796,y:422},{name:rk.Detroit,region:tk.Brown,x:803,y:262},{name:rk.Buffalo,region:tk.Brown,x:913,y:251},{name:rk.Pittsburgh,region:tk.Brown,x:884,y:316},{name:rk.Boston,region:tk.Brown,x:1052,y:252},{name:rk.NewYork,region:tk.Brown,x:1010,y:290},{name:rk.Philadelphia,region:tk.Brown,x:985,y:330},{name:rk.Washington,region:tk.Brown,x:934,y:357},{name:rk.Norfolk,region:tk.Green,x:969,y:405},{name:rk.Raleigh,region:tk.Green,x:915,y:437},{name:rk.Atlanta,region:tk.Green,x:801,y:487},{name:rk.Savannah,region:tk.Green,x:867,y:507},{name:rk.Jacksonvile,region:tk.Green,x:861,y:559},{name:rk.Tampa,region:tk.Green,x:819,y:621},{name:rk.Miami,region:tk.Green,x:883,y:670}],connections:[{nodes:[rk.Seattle,rk.Portland],cost:3},{nodes:[rk.Seattle,rk.Boise],cost:12},{nodes:[rk.Seattle,rk.Billings],cost:9},{nodes:[rk.Portland,rk.Boise],cost:13},{nodes:[rk.Portland,rk.SanFrancisco],cost:24},{nodes:[rk.Boise,rk.Billings],cost:12},{nodes:[rk.Boise,rk.Cheyenne],cost:24},{nodes:[rk.Boise,rk.SanFrancisco],cost:23},{nodes:[rk.Boise,rk.SaltLakeCity],cost:8},{nodes:[rk.Billings,rk.Cheyenne],cost:9},{nodes:[rk.Billings,rk.Fargo],cost:17},{nodes:[rk.Billings,rk.Minneapolis],cost:18},{nodes:[rk.Cheyenne,rk.Denver],cost:0},{nodes:[rk.Cheyenne,rk.Omaha],cost:14},{nodes:[rk.Cheyenne,rk.Minneapolis],cost:18},{nodes:[rk.Denver,rk.SaltLakeCity],cost:21},{nodes:[rk.Denver,rk.SantaFe],cost:13},{nodes:[rk.Denver,rk.KansasCity],cost:16},{nodes:[rk.Omaha,rk.KansasCity],cost:5},{nodes:[rk.Omaha,rk.Minneapolis],cost:8},{nodes:[rk.Omaha,rk.Chicago],cost:13},{nodes:[rk.SanFrancisco,rk.LosAngeles],cost:9},{nodes:[rk.SanFrancisco,rk.LasVegas],cost:14},{nodes:[rk.SanFrancisco,rk.SaltLakeCity],cost:27},{nodes:[rk.LosAngeles,rk.SanDiego],cost:3},{nodes:[rk.LosAngeles,rk.LasVegas],cost:9},{nodes:[rk.SanDiego,rk.LasVegas],cost:9},{nodes:[rk.SanDiego,rk.Phoenix],cost:14},{nodes:[rk.LasVegas,rk.SaltLakeCity],cost:18},{nodes:[rk.LasVegas,rk.Phoenix],cost:15},{nodes:[rk.LasVegas,rk.SantaFe],cost:27},{nodes:[rk.SaltLakeCity,rk.SantaFe],cost:28},{nodes:[rk.Phoenix,rk.SantaFe],cost:18},{nodes:[rk.SantaFe,rk.KansasCity],cost:16},{nodes:[rk.SantaFe,rk.OklahomaCity],cost:15},{nodes:[rk.SantaFe,rk.Dallas],cost:16},{nodes:[rk.SantaFe,rk.Houston],cost:21},{nodes:[rk.KansasCity,rk.OklahomaCity],cost:8},{nodes:[rk.KansasCity,rk.Memphis],cost:12},{nodes:[rk.KansasCity,rk.Chicago],cost:8},{nodes:[rk.KansasCity,rk.StLouis],cost:6},{nodes:[rk.OklahomaCity,rk.Dallas],cost:3},{nodes:[rk.OklahomaCity,rk.Memphis],cost:14},{nodes:[rk.Dallas,rk.Houston],cost:5},{nodes:[rk.Dallas,rk.Memphis],cost:12},{nodes:[rk.Dallas,rk.NewOrleans],cost:12},{nodes:[rk.Houston,rk.NewOrleans],cost:8},{nodes:[rk.Memphis,rk.Birmingham],cost:6},{nodes:[rk.Memphis,rk.NewOrleans],cost:7},{nodes:[rk.Memphis,rk.StLouis],cost:7},{nodes:[rk.Birmingham,rk.NewOrleans],cost:11},{nodes:[rk.Birmingham,rk.Atlanta],cost:3},{nodes:[rk.Birmingham,rk.Jacksonvile],cost:9},{nodes:[rk.NewOrleans,rk.Jacksonvile],cost:16},{nodes:[rk.Fargo,rk.Duluth],cost:6},{nodes:[rk.Fargo,rk.Minneapolis],cost:6},{nodes:[rk.Duluth,rk.Minneapolis],cost:5},{nodes:[rk.Duluth,rk.Chicago],cost:12},{nodes:[rk.Duluth,rk.Detroit],cost:15},{nodes:[rk.Minneapolis,rk.Chicago],cost:8},{nodes:[rk.Chicago,rk.StLouis],cost:10},{nodes:[rk.Chicago,rk.Cincinnati],cost:7},{nodes:[rk.Chicago,rk.Detroit],cost:7},{nodes:[rk.StLouis,rk.Cincinnati],cost:12},{nodes:[rk.StLouis,rk.Atlanta],cost:12},{nodes:[rk.Cincinnati,rk.Knoxvile],cost:6},{nodes:[rk.Cincinnati,rk.Detroit],cost:4},{nodes:[rk.Cincinnati,rk.Pittsburgh],cost:7},{nodes:[rk.Cincinnati,rk.Raleigh],cost:15},{nodes:[rk.Knoxvile,rk.Atlanta],cost:5},{nodes:[rk.Detroit,rk.Buffalo],cost:7},{nodes:[rk.Detroit,rk.Pittsburgh],cost:6},{nodes:[rk.Buffalo,rk.Pittsburgh],cost:7},{nodes:[rk.Buffalo,rk.NewYork],cost:8},{nodes:[rk.Pittsburgh,rk.Washington],cost:6},{nodes:[rk.Pittsburgh,rk.Raleigh],cost:7},{nodes:[rk.Boston,rk.NewYork],cost:3},{nodes:[rk.NewYork,rk.Philadelphia],cost:0},{nodes:[rk.Philadelphia,rk.Washington],cost:3},{nodes:[rk.Washington,rk.Norfolk],cost:5},{nodes:[rk.Norfolk,rk.Raleigh],cost:3},{nodes:[rk.Raleigh,rk.Atlanta],cost:7},{nodes:[rk.Raleigh,rk.Savannah],cost:7},{nodes:[rk.Atlanta,rk.Savannah],cost:7},{nodes:[rk.Savannah,rk.Jacksonvile],cost:0},{nodes:[rk.Jacksonvile,rk.Tampa],cost:4},{nodes:[rk.Tampa,rk.Miami],cost:4}],layout:"Landscape",polygons:[{region:tk.Brown,points:[[930,423],[1082,331],[1075,231],[716,249],[758,303],[897,406]]},{region:tk.Green,points:[[898,405],[762,499],[758,643],[887,744],[938,688],[889,618],[1014,432],[985,387],[929,420]]},{region:tk.Yellow,points:[[895,403],[760,499],[630,393],[607,345],[608,275],[439,162],[654,114],[771,245],[716,247],[758,301]]},{region:tk.Red,points:[[606,344],[476,371],[445,597],[546,664],[758,641],[760,497],[629,391]]},{region:tk.Purple,points:[[606,342],[476,369],[347,395],[313,301],[18,287],[18,165],[76,74],[438,160],[607,275]]},{region:tk.Cyan,points:[[18,285],[20,429],[142,583],[445,594],[476,368],[346,392],[312,300]]}]},gk={name:"USA",cities:[{name:rk.Seattle,region:tk.Purple,x:74,y:99},{name:rk.Portland,region:tk.Purple,x:45,y:167},{name:rk.Boise,region:tk.Purple,x:180,y:220},{name:rk.Billings,region:tk.Purple,x:345,y:180},{name:rk.Cheyenne,region:tk.Purple,x:410,y:280},{name:rk.Denver,region:tk.Purple,x:400,y:333},{name:rk.Omaha,region:tk.Purple,x:566,y:293},{name:rk.SanFrancisco,region:tk.Cyan,x:48,y:371},{name:rk.LosAngeles,region:tk.Cyan,x:116,y:460},{name:rk.SanDiego,region:tk.Cyan,x:157,y:507},{name:rk.LasVegas,region:tk.Cyan,x:200,y:410},{name:rk.SaltLakeCity,region:tk.Cyan,x:266,y:311},{name:rk.Phoenix,region:tk.Cyan,x:260,y:486},{name:rk.SantaFe,region:tk.Cyan,x:371,y:435},{name:rk.KansasCity,region:tk.Red,x:587,y:356},{name:rk.OklahomaCity,region:tk.Red,x:550,y:437},{name:rk.Dallas,region:tk.Red,x:560,y:504},{name:rk.Houston,region:tk.Red,x:569,y:571},{name:rk.Memphis,region:tk.Red,x:678,y:449},{name:rk.Birmingham,region:tk.Red,x:739,y:486},{name:rk.NewOrleans,region:tk.Red,x:674,y:570},{name:rk.Fargo,region:tk.Yellow,x:551,y:152},{name:rk.Duluth,region:tk.Yellow,x:637,y:133},{name:rk.Minneapolis,region:tk.Yellow,x:621,y:190},{name:rk.Chicago,region:tk.Yellow,x:716,y:281},{name:rk.StLouis,region:tk.Yellow,x:678,y:362},{name:rk.Cincinnati,region:tk.Yellow,x:795,y:348},{name:rk.Knoxvile,region:tk.Yellow,x:796,y:422},{name:rk.Detroit,region:tk.Brown,x:803,y:262},{name:rk.Buffalo,region:tk.Brown,x:913,y:251},{name:rk.Pittsburgh,region:tk.Brown,x:884,y:316},{name:rk.Boston,region:tk.Brown,x:1052,y:252},{name:rk.NewYork,region:tk.Brown,x:1010,y:290},{name:rk.Philadelphia,region:tk.Brown,x:985,y:330},{name:rk.Washington,region:tk.Brown,x:934,y:357},{name:rk.Norfolk,region:tk.Green,x:969,y:405},{name:rk.Raleigh,region:tk.Green,x:915,y:437},{name:rk.Atlanta,region:tk.Green,x:801,y:487},{name:rk.Savannah,region:tk.Green,x:867,y:507},{name:rk.Jacksonvile,region:tk.Green,x:861,y:559},{name:rk.Tampa,region:tk.Green,x:819,y:621},{name:rk.Miami,region:tk.Green,x:883,y:670}],connections:[{nodes:[rk.Seattle,rk.Portland],cost:3},{nodes:[rk.Seattle,rk.Boise],cost:12},{nodes:[rk.Seattle,rk.Billings],cost:9},{nodes:[rk.Portland,rk.Boise],cost:13},{nodes:[rk.Portland,rk.SanFrancisco],cost:24},{nodes:[rk.Boise,rk.Billings],cost:12},{nodes:[rk.Boise,rk.SanFrancisco],cost:23},{nodes:[rk.Boise,rk.SaltLakeCity],cost:8},{nodes:[rk.Billings,rk.Cheyenne],cost:9},{nodes:[rk.Billings,rk.Fargo],cost:17},{nodes:[rk.Billings,rk.Minneapolis],cost:18},{nodes:[rk.Cheyenne,rk.Denver],cost:0},{nodes:[rk.Cheyenne,rk.Omaha],cost:14},{nodes:[rk.Cheyenne,rk.Minneapolis],cost:18},{nodes:[rk.Denver,rk.SaltLakeCity],cost:21},{nodes:[rk.Denver,rk.SantaFe],cost:13},{nodes:[rk.Denver,rk.KansasCity],cost:16},{nodes:[rk.Omaha,rk.KansasCity],cost:5},{nodes:[rk.Omaha,rk.Minneapolis],cost:8},{nodes:[rk.Omaha,rk.Chicago],cost:12},{nodes:[rk.SanFrancisco,rk.LosAngeles],cost:9},{nodes:[rk.SanFrancisco,rk.LasVegas],cost:14},{nodes:[rk.SanFrancisco,rk.SaltLakeCity],cost:27},{nodes:[rk.LosAngeles,rk.SanDiego],cost:3},{nodes:[rk.LosAngeles,rk.LasVegas],cost:9},{nodes:[rk.SanDiego,rk.LasVegas],cost:9},{nodes:[rk.SanDiego,rk.Phoenix],cost:14},{nodes:[rk.LasVegas,rk.SaltLakeCity],cost:18},{nodes:[rk.LasVegas,rk.Phoenix],cost:15},{nodes:[rk.LasVegas,rk.SantaFe],cost:27},{nodes:[rk.SaltLakeCity,rk.SantaFe],cost:28},{nodes:[rk.Phoenix,rk.SantaFe],cost:18},{nodes:[rk.SantaFe,rk.KansasCity],cost:16},{nodes:[rk.SantaFe,rk.OklahomaCity],cost:15},{nodes:[rk.SantaFe,rk.Dallas],cost:16},{nodes:[rk.SantaFe,rk.Houston],cost:20},{nodes:[rk.KansasCity,rk.OklahomaCity],cost:8},{nodes:[rk.KansasCity,rk.Memphis],cost:12},{nodes:[rk.KansasCity,rk.Chicago],cost:8},{nodes:[rk.KansasCity,rk.StLouis],cost:6},{nodes:[rk.OklahomaCity,rk.Dallas],cost:3},{nodes:[rk.OklahomaCity,rk.Memphis],cost:14},{nodes:[rk.Dallas,rk.Houston],cost:5},{nodes:[rk.Dallas,rk.Memphis],cost:12},{nodes:[rk.Dallas,rk.NewOrleans],cost:12},{nodes:[rk.Houston,rk.NewOrleans],cost:8},{nodes:[rk.Memphis,rk.Birmingham],cost:6},{nodes:[rk.Memphis,rk.NewOrleans],cost:7},{nodes:[rk.Memphis,rk.StLouis],cost:7},{nodes:[rk.Birmingham,rk.NewOrleans],cost:11},{nodes:[rk.Birmingham,rk.Atlanta],cost:3},{nodes:[rk.Birmingham,rk.Jacksonvile],cost:9},{nodes:[rk.NewOrleans,rk.Jacksonvile],cost:16},{nodes:[rk.Fargo,rk.Duluth],cost:6},{nodes:[rk.Fargo,rk.Minneapolis],cost:6},{nodes:[rk.Duluth,rk.Minneapolis],cost:5},{nodes:[rk.Duluth,rk.Chicago],cost:12},{nodes:[rk.Duluth,rk.Detroit],cost:15},{nodes:[rk.Minneapolis,rk.Chicago],cost:8},{nodes:[rk.Chicago,rk.StLouis],cost:10},{nodes:[rk.Chicago,rk.Cincinnati],cost:7},{nodes:[rk.Chicago,rk.Detroit],cost:7},{nodes:[rk.StLouis,rk.Cincinnati],cost:12},{nodes:[rk.StLouis,rk.Atlanta],cost:12},{nodes:[rk.Cincinnati,rk.Knoxvile],cost:6},{nodes:[rk.Cincinnati,rk.Detroit],cost:4},{nodes:[rk.Cincinnati,rk.Pittsburgh],cost:7},{nodes:[rk.Knoxvile,rk.Atlanta],cost:5},{nodes:[rk.Knoxvile,rk.Raleigh],cost:11},{nodes:[rk.Detroit,rk.Buffalo],cost:7},{nodes:[rk.Detroit,rk.Pittsburgh],cost:6},{nodes:[rk.Buffalo,rk.Pittsburgh],cost:7},{nodes:[rk.Buffalo,rk.NewYork],cost:8},{nodes:[rk.Pittsburgh,rk.Washington],cost:6},{nodes:[rk.Pittsburgh,rk.Raleigh],cost:7},{nodes:[rk.Boston,rk.NewYork],cost:3},{nodes:[rk.NewYork,rk.Philadelphia],cost:0},{nodes:[rk.Philadelphia,rk.Washington],cost:3},{nodes:[rk.Washington,rk.Norfolk],cost:5},{nodes:[rk.Norfolk,rk.Raleigh],cost:3},{nodes:[rk.Raleigh,rk.Atlanta],cost:7},{nodes:[rk.Raleigh,rk.Savannah],cost:7},{nodes:[rk.Atlanta,rk.Savannah],cost:7},{nodes:[rk.Savannah,rk.Jacksonvile],cost:0},{nodes:[rk.Jacksonvile,rk.Tampa],cost:4},{nodes:[rk.Tampa,rk.Miami],cost:4}],layout:"Landscape",mapSpecificRules:"You can buy coal from the supply for $8."},yk=[{number:3,type:Pw.Oil,cost:2,citiesPowered:1},{number:4,type:Pw.Coal,cost:2,citiesPowered:1},{number:5,type:Pw.Hybrid,cost:2,citiesPowered:1},{number:6,type:Pw.Garbage,cost:1,citiesPowered:1},{number:7,type:Pw.Oil,cost:3,citiesPowered:2},{number:8,type:Pw.Coal,cost:3,citiesPowered:2},{number:9,type:Pw.Oil,cost:1,citiesPowered:1},{number:10,type:Pw.Coal,cost:2,citiesPowered:2},{number:11,type:Pw.Uranium,cost:1,citiesPowered:2},{number:12,type:Pw.Hybrid,cost:2,citiesPowered:2},{number:13,type:Pw.Wind,cost:0,citiesPowered:1},{number:14,type:Pw.Garbage,cost:2,citiesPowered:2},{number:15,type:Pw.Coal,cost:2,citiesPowered:3},{number:16,type:Pw.Oil,cost:2,citiesPowered:3},{number:17,type:Pw.Uranium,cost:1,citiesPowered:2},{number:18,type:Pw.Wind,cost:0,citiesPowered:2},{number:19,type:Pw.Garbage,cost:2,citiesPowered:3},{number:20,type:Pw.Coal,cost:3,citiesPowered:5},{number:21,type:Pw.Hybrid,cost:2,citiesPowered:4},{number:22,type:Pw.Wind,cost:0,citiesPowered:2},{number:23,type:Pw.Uranium,cost:1,citiesPowered:3},{number:24,type:Pw.Garbage,cost:2,citiesPowered:4},{number:25,type:Pw.Coal,cost:2,citiesPowered:5},{number:26,type:Pw.Oil,cost:2,citiesPowered:5},{number:27,type:Pw.Wind,cost:0,citiesPowered:3},{number:28,type:Pw.Uranium,cost:1,citiesPowered:4},{number:29,type:Pw.Hybrid,cost:1,citiesPowered:4},{number:30,type:Pw.Garbage,cost:3,citiesPowered:6},{number:31,type:Pw.Coal,cost:3,citiesPowered:6},{number:32,type:Pw.Oil,cost:3,citiesPowered:6},{number:33,type:Pw.Wind,cost:0,citiesPowered:4},{number:34,type:Pw.Uranium,cost:1,citiesPowered:5},{number:35,type:Pw.Oil,cost:1,citiesPowered:5},{number:36,type:Pw.Coal,cost:3,citiesPowered:7},{number:37,type:Pw.Wind,cost:0,citiesPowered:4},{number:38,type:Pw.Garbage,cost:3,citiesPowered:7},{number:39,type:Pw.Uranium,cost:1,citiesPowered:6},{number:40,type:Pw.Oil,cost:2,citiesPowered:6},{number:42,type:Pw.Coal,cost:2,citiesPowered:6},{number:44,type:Pw.Wind,cost:0,citiesPowered:5},{number:46,type:Pw.Hybrid,cost:3,citiesPowered:7},{number:50,type:Pw.Nuclear,cost:0,citiesPowered:6},{number:99,type:Pw.Step3,cost:0,citiesPowered:6}],bk=Object(Qw["cloneDeep"])(yk).filter((function(e){return 11!=e.number}));bk.forEach((function(e){e.type==Pw.Garbage&&(e.storage=2*e.cost,e.cost++)})),function(e){e["Pink"]="pink",e["Brown"]="brown",e["Green"]="green",e["Red"]="red",e["Yellow"]="yellow"}(vk||(vk={})),function(e){e["Hobart"]="Hobart",e["Launceston"]="Launceston",e["Geelong"]="Geelong",e["Melbourne1"]="Melbourne 1",e["Melbourne2"]="Melbourne 2",e["Bendigo"]="Bendigo",e["Albury"]="Albury",e["Wollongong"]="Wollongong",e["Mildura"]="Mildura",e["Dubbo"]="Dubbo",e["Canberra"]="Canberra",e["Sydney1"]="Sydney 1",e["Sydney2"]="Sydney 2",e["Newcastle"]="Newcastle",e["Toowoomba"]="Toowoomba",e["Goldcoast"]="Gold Coast",e["Brisbane"]="Brisbane",e["Rockhampton"]="Rockhampton",e["Mackay"]="Mackay",e["Townsville"]="Townsville",e["Cairns"]="Cairns",e["Porthedland"]="Port Hedland",e["Broome"]="Broome",e["Albany"]="Albany",e["Bunbury"]="Bunbury",e["Perth"]="Perth",e["Kalgoorlie"]="Kalgoorlie",e["Geraldton"]="Geraldton",e["Darwin"]="Darwin",e["Katherine"]="Katherine",e["Tennantcreek"]="Tennant Creek",e["Alicesprings"]="Alice Springs",e["Portaugusta"]="Port Augusta",e["CooberPedy"]="Coober Pedy",e["Adelaide"]="Adelaide"}(hk||(hk={}));var wk,kk,xk={name:"Australia",layout:"Landscape",adjustRatio:[.33,.33],mapPosition:[40,-30],mapRotation:180,cities:[{name:hk.Hobart,region:vk.Pink,x:540,y:467},{name:hk.Launceston,region:vk.Pink,x:720,y:500},{name:hk.Geelong,region:vk.Pink,x:988,y:712},{name:hk.Melbourne1,region:vk.Pink,x:790,y:650},{name:hk.Melbourne2,region:vk.Pink,x:790,y:790},{name:hk.Bendigo,region:vk.Pink,x:1052,y:870},{name:hk.Albury,region:vk.Brown,x:810,y:983},{name:hk.Wollongong,region:vk.Brown,x:530,y:1080},{name:hk.Mildura,region:vk.Pink,x:1185,y:1010},{name:hk.Dubbo,region:vk.Brown,x:891,y:1364},{name:hk.Canberra,region:vk.Brown,x:804,y:1188},{name:hk.Sydney1,region:vk.Brown,x:550,y:1230},{name:hk.Sydney2,region:vk.Brown,x:550,y:1380},{name:hk.Newcastle,region:vk.Brown,x:530,y:1545},{name:hk.Toowoomba,region:vk.Green,x:1010,y:1660},{name:hk.Goldcoast,region:vk.Green,x:660,y:1730},{name:hk.Brisbane,region:vk.Green,x:740,y:1885},{name:hk.Rockhampton,region:vk.Green,x:1040,y:1987},{name:hk.Mackay,region:vk.Green,x:1260,y:2101},{name:hk.Townsville,region:vk.Green,x:1445,y:2193},{name:hk.Cairns,region:vk.Green,x:1652,y:2209},{name:hk.Porthedland,region:vk.Red,x:2741,y:2002},{name:hk.Broome,region:vk.Red,x:2503,y:2175},{name:hk.Albany,region:vk.Red,x:2400,y:850},{name:hk.Bunbury,region:vk.Red,x:2700,y:1030},{name:hk.Perth,region:vk.Red,x:2680,y:1230},{name:hk.Kalgoorlie,region:vk.Red,x:2177,y:1295},{name:hk.Geraldton,region:vk.Red,x:2747,y:1557},{name:hk.Darwin,region:vk.Yellow,x:2264,y:2016},{name:hk.Katherine,region:vk.Yellow,x:2105,y:1947},{name:hk.Tennantcreek,region:vk.Yellow,x:1905,y:1736},{name:hk.Alicesprings,region:vk.Yellow,x:1803,y:1512},{name:hk.Portaugusta,region:vk.Yellow,x:1520,y:1094},{name:hk.CooberPedy,region:vk.Yellow,x:1850,y:1232},{name:hk.Adelaide,region:vk.Yellow,x:1430,y:863}],connections:[{nodes:[hk.Broome,hk.Porthedland],cost:13},{nodes:[hk.Kalgoorlie,hk.Geraldton],cost:16},{nodes:[hk.Geraldton,hk.Perth],cost:9},{nodes:[hk.Perth,hk.Kalgoorlie],cost:12},{nodes:[hk.Kalgoorlie,hk.Albany],cost:16},{nodes:[hk.Albany,hk.Perth],cost:9},{nodes:[hk.Perth,hk.Bunbury],cost:4},{nodes:[hk.Bunbury,hk.Albany],cost:6},{nodes:[hk.Cairns,hk.Townsville],cost:9},{nodes:[hk.Townsville,hk.Mackay],cost:9},{nodes:[hk.Mackay,hk.Rockhampton],cost:8},{nodes:[hk.Rockhampton,hk.Toowoomba],cost:15},{nodes:[hk.Toowoomba,hk.Brisbane],cost:5},{nodes:[hk.Brisbane,hk.Rockhampton],cost:15},{nodes:[hk.Brisbane,hk.Goldcoast],cost:2},{nodes:[hk.Goldcoast,hk.Toowoomba],cost:6},{nodes:[hk.Goldcoast,hk.Newcastle],cost:15},{nodes:[hk.Newcastle,hk.Sydney2],cost:4},{nodes:[hk.Sydney2,hk.Sydney1],cost:0},{nodes:[hk.Newcastle,hk.Dubbo],cost:10},{nodes:[hk.Dubbo,hk.Toowoomba],cost:18},{nodes:[hk.Sydney1,hk.Wollongong],cost:2},{nodes:[hk.Sydney1,hk.Canberra],cost:8},{nodes:[hk.Canberra,hk.Dubbo],cost:11},{nodes:[hk.Canberra,hk.Newcastle],cost:10},{nodes:[hk.Dubbo,hk.Mildura],cost:16},{nodes:[hk.Mildura,hk.Canberra],cost:16},{nodes:[hk.Canberra,hk.Albury],cost:7},{nodes:[hk.Mildura,hk.Bendigo],cost:7},{nodes:[hk.Bendigo,hk.Melbourne2],cost:3},{nodes:[hk.Melbourne2,hk.Albury],cost:9},{nodes:[hk.Mildura,hk.Adelaide],cost:8},{nodes:[hk.Adelaide,hk.Portaugusta],cost:7},{nodes:[hk.Portaugusta,hk.CooberPedy],cost:11},{nodes:[hk.Mildura,hk.Portaugusta],cost:11},{nodes:[hk.Adelaide,hk.Geelong],cost:13},{nodes:[hk.Geelong,hk.Bendigo],cost:5},{nodes:[hk.Bendigo,hk.Albury],cost:6},{nodes:[hk.Wollongong,hk.Melbourne1],cost:19},{nodes:[hk.Melbourne1,hk.Launceston],cost:19},{nodes:[hk.Launceston,hk.Hobart],cost:5},{nodes:[hk.Melbourne1,hk.Geelong],cost:2},{nodes:[hk.Melbourne2,hk.Melbourne1],cost:0},{nodes:[hk.CooberPedy,hk.Alicesprings],cost:13},{nodes:[hk.Alicesprings,hk.Tennantcreek],cost:10},{nodes:[hk.Tennantcreek,hk.Katherine],cost:14},{nodes:[hk.Katherine,hk.Darwin],cost:6}],resupply:[[[3,5,4],[4,6,4],[4,7,5],[5,9,6],[7,10,7]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]],uraniumMineResupply:[[1,2,3],[1,2,3],[2,2,4],[2,3,5],[3,3,6]],startingResources:[24,18,15,0],startingSupply:[24,24,24,0],setupDeck:function(e,n,t){var r,o,i=Object(Qw["cloneDeep"])(yk).filter((function(e){return 17!==e.number}));if("original"==n){i=i.slice(8);var a=i.findIndex((function(e){return 13==e.number})),c=i.splice(a,1)[0],u=i.pop();i=uk(i,t()+""),2==e||3==e?i=i.slice(8):4==e&&(i=i.slice(4)),i.unshift(c),i.push(u),r=[j_(3),j_(4),j_(5),j_(6)],o=[j_(7),j_(8),j_(9),j_(10)]}else{var s=uk(i.splice(0,13),t()+""),l=s.splice(0,8);l=l.sort((function(e,n){return e.number-n.number})),r=l.slice(0,4),o=l.slice(4);var d=s.shift(),f=i.pop();i=uk(i,t()+""),2==e?(s=s.slice(1),i=uk(i.slice(5).concat(s),t()+"")):3==e?(s=s.slice(2),i=uk(i.slice(6).concat(s),t()+"")):4==e?(s=s.slice(1),i=uk(i.slice(3).concat(s),t()+"")):i=uk(i.concat(s),t()+""),i.unshift(d),i.push(f)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:i}},mapSpecificRules:"Uranium mines: the five uranium power plants (11, 23, 28, 34, 39) are replaced by uranium mines. Power plant 17 is removed from the deck. Mines are bought in the normal power-plant auctions but do not power cities and do not count toward the 3-power-plant hand limit (a player may hold any number of mines plus up to 3 power plants). Mines DO count for player order. Instead of powering cities, during Bureaucracy each mine produces uranium for sale on the separate uranium market. Uranium market: a separate market of 12 slots (prices $2–$7, two slots each), all filled at game start. When selling, a player earns the highest available (empty-slot) price times the total cities their mines could power, then places one uranium token per mine on the highest empty slots. The resource-market refill REMOVES uranium tokens from the cheapest filled slots. Selling happens AUTOMATICALLY during Bureaucracy, in reverse turn order (the last player in turn order sells first). The printed rules let a player decline to sell; for simplicity this implementation always sells, so no player action is required. Unlike city income, uranium income is still paid in the final round. Main resource market: there is no uranium row — coal, oil and garbage only. Step 3 CO2 tax: when Step 3 begins, the six cheapest tokens of each resource move into new $9 and $10 spaces, and the $1 and $2 spaces become inactive for the rest of the game (the market shifts up by $2). General connection: any single build may connect a city for a flat 20 Elektro instead of the shortest-path connection cost, and this may be used multiple times in one turn. Metropolises: Melbourne and Sydney each consist of two cities (1 and 2) connected by a 0-cost edge. Regions need not be adjacent: any combination of regions may be in play.\n",deckBuild:"power plant 17 is removed from the game; the five uranium mines (11, 23, 28, 34, 39) stay in the deck. Otherwise standard setup for both variants."};(function(e){e["Purple"]="purple",e["Green"]="green",e["Red"]="red",e["Blue"]="blue",e["Yellow"]="yellow"})(wk||(wk={})),function(e){e["Friedrichshafen"]="Friedrichshafen",e["Ravensburg"]="Ravensburg",e["Biberach"]="Biberach",e["Sigmarincen"]="Sigmaringen",e["Konstanz"]="Konstanz",e["Ulm"]="Ulm",e["Augsburg"]="Augsburg",e["Basel"]="Basel",e["Waldshuttiencen"]="Waldshut-Tiengen",e["Singen"]="Singen",e["Tuttlincen"]="Tuttlingen",e["Donaueschingen"]="Donaueschingen",e["Freiburg"]="Freiburg",e["Lorrach"]="Lorrach",e["Tauberbischofsheim"]="Tauberbischofsheim",e["Schwabischhall"]="Schwabisch Hall",e["Heilbronn"]="Heilbronn",e["Sinsheim"]="Sinsheim",e["Heidelber"]="Heidelberg",e["Mannheim"]="Mannheim",e["Luowigshafen"]="Ludwigshafen",e["Nurnberg"]="Nurnberg",e["Ellwangen"]="Ellwangen",e["Coppingen"]="Göppingen",e["Reutlincen"]="Reutlingen",e["Stuttgart"]="Stuttgart",e["Ludwigsburg"]="Ludwigsburg",e["Boblingen"]="Boblingen",e["Laha"]="Lahr",e["Badenbaden"]="Baden-Baden",e["Offenburg"]="Offenburg",e["Strasbourg"]="Strasbourg",e["Pforzheim"]="Pforzheim",e["Rastatt"]="Rastatt",e["Karlsruhf"]="Karlsruhe"}(kk||(kk={}));var _k,Sk,Mk={name:"Baden-Württemberg",cities:[{name:kk.Friedrichshafen,region:wk.Purple,x:1286,y:2177},{name:kk.Ravensburg,region:wk.Purple,x:1365,y:2023},{name:kk.Biberach,region:wk.Purple,x:1451,y:1779},{name:kk.Sigmarincen,region:wk.Purple,x:1111,y:1803},{name:kk.Konstanz,region:wk.Purple,x:1088,y:2163},{name:kk.Ulm,region:wk.Purple,x:1541,y:1499},{name:kk.Augsburg,region:wk.Purple,x:1830,y:1505,transregional:!0,slotCosts:[15,20],stepSlots:[0,1,2]},{name:kk.Basel,region:wk.Green,x:103,y:2271,transregional:!0,slotCosts:[15,20],stepSlots:[0,1,2]},{name:kk.Waldshuttiencen,region:wk.Green,x:502,y:2166},{name:kk.Singen,region:wk.Green,x:874,y:2084},{name:kk.Tuttlincen,region:wk.Green,x:870,y:1854},{name:kk.Donaueschingen,region:wk.Green,x:669,y:1923},{name:kk.Freiburg,region:wk.Green,x:290,y:1828},{name:kk.Lorrach,region:wk.Green,x:212,y:2141},{name:kk.Tauberbischofsheim,region:wk.Red,x:1354,y:450},{name:kk.Schwabischhall,region:wk.Red,x:1415,y:899},{name:kk.Heilbronn,region:wk.Red,x:1115,y:872},{name:kk.Sinsheim,region:wk.Red,x:920,y:785},{name:kk.Heidelber,region:wk.Red,x:817,y:660},{name:kk.Mannheim,region:wk.Red,x:710,y:540},{name:kk.Luowigshafen,region:wk.Red,x:579,y:588,transregional:!0,slotCosts:[15,20],stepSlots:[0,1,2]},{name:kk.Nurnberg,region:wk.Blue,x:1837,y:771,transregional:!0,slotCosts:[15,20],stepSlots:[0,1,2]},{name:kk.Ellwangen,region:wk.Blue,x:1637,y:1030},{name:kk.Coppingen,region:wk.Blue,x:1387,y:1233},{name:kk.Reutlincen,region:wk.Blue,x:1107,y:1443},{name:kk.Stuttgart,region:wk.Blue,x:1106,y:1217},{name:kk.Ludwigsburg,region:wk.Blue,x:1099,y:1047},{name:kk.Boblingen,region:wk.Blue,x:956,y:1277},{name:kk.Laha,region:wk.Yellow,x:296,y:1575},{name:kk.Badenbaden,region:wk.Yellow,x:554,y:1259},{name:kk.Offenburg,region:wk.Yellow,x:395,y:1422},{name:kk.Strasbourg,region:wk.Yellow,x:211,y:1330,transregional:!0,slotCosts:[15,20],stepSlots:[0,1,2]},{name:kk.Pforzheim,region:wk.Yellow,x:794,y:1095},{name:kk.Rastatt,region:wk.Yellow,x:509,y:1109},{name:kk.Karlsruhf,region:wk.Yellow,x:638,y:974}],connections:[{nodes:[kk.Luowigshafen,kk.Mannheim],cost:0},{nodes:[kk.Mannheim,kk.Heidelber],cost:4},{nodes:[kk.Mannheim,kk.Karlsruhf],cost:10},{nodes:[kk.Karlsruhf,kk.Heidelber],cost:9},{nodes:[kk.Heidelber,kk.Sinsheim],cost:5},{nodes:[kk.Sinsheim,kk.Tauberbischofsheim],cost:15},{nodes:[kk.Tauberbischofsheim,kk.Heilbronn],cost:13},{nodes:[kk.Heilbronn,kk.Sinsheim],cost:6},{nodes:[kk.Sinsheim,kk.Karlsruhf],cost:9},{nodes:[kk.Karlsruhf,kk.Rastatt],cost:4},{nodes:[kk.Karlsruhf,kk.Pforzheim],cost:6},{nodes:[kk.Pforzheim,kk.Sinsheim],cost:10},{nodes:[kk.Tauberbischofsheim,kk.Schwabischhall],cost:13},{nodes:[kk.Schwabischhall,kk.Ellwangen],cost:8},{nodes:[kk.Ellwangen,kk.Nurnberg],cost:18},{nodes:[kk.Schwabischhall,kk.Coppingen],cost:11},{nodes:[kk.Coppingen,kk.Ellwangen],cost:10},{nodes:[kk.Ludwigsburg,kk.Heilbronn],cost:5},{nodes:[kk.Heilbronn,kk.Schwabischhall],cost:9},{nodes:[kk.Schwabischhall,kk.Ludwigsburg],cost:10},{nodes:[kk.Ludwigsburg,kk.Coppingen],cost:9},{nodes:[kk.Coppingen,kk.Stuttgart],cost:8},{nodes:[kk.Ludwigsburg,kk.Sinsheim],cost:10},{nodes:[kk.Ludwigsburg,kk.Pforzheim],cost:8},{nodes:[kk.Pforzheim,kk.Badenbaden],cost:9},{nodes:[kk.Badenbaden,kk.Rastatt],cost:2},{nodes:[kk.Strasbourg,kk.Offenburg],cost:5},{nodes:[kk.Offenburg,kk.Badenbaden],cost:8},{nodes:[kk.Pforzheim,kk.Stuttgart],cost:8},{nodes:[kk.Stuttgart,kk.Ludwigsburg],cost:2},{nodes:[kk.Stuttgart,kk.Boblingen],cost:4},{nodes:[kk.Boblingen,kk.Pforzheim],cost:7},{nodes:[kk.Boblingen,kk.Badenbaden],cost:15},{nodes:[kk.Reutlincen,kk.Stuttgart],cost:9},{nodes:[kk.Boblingen,kk.Reutlincen],cost:8},{nodes:[kk.Reutlincen,kk.Badenbaden],cost:22},{nodes:[kk.Offenburg,kk.Reutlincen],cost:30},{nodes:[kk.Reutlincen,kk.Coppingen],cost:10},{nodes:[kk.Coppingen,kk.Ulm],cost:10},{nodes:[kk.Ulm,kk.Reutlincen],cost:16},{nodes:[kk.Ellwangen,kk.Ulm],cost:19},{nodes:[kk.Ulm,kk.Augsburg],cost:16},{nodes:[kk.Reutlincen,kk.Tuttlincen],cost:17},{nodes:[kk.Reutlincen,kk.Sigmarincen],cost:11},{nodes:[kk.Sigmarincen,kk.Ulm],cost:14},{nodes:[kk.Ulm,kk.Biberach],cost:8},{nodes:[kk.Biberach,kk.Sigmarincen],cost:11},{nodes:[kk.Biberach,kk.Ravensburg],cost:9},{nodes:[kk.Ravensburg,kk.Sigmarincen],cost:10},{nodes:[kk.Sigmarincen,kk.Tuttlincen],cost:7},{nodes:[kk.Tuttlincen,kk.Offenburg],cost:27},{nodes:[kk.Offenburg,kk.Laha],cost:3},{nodes:[kk.Laha,kk.Freiburg],cost:8},{nodes:[kk.Laha,kk.Donaueschingen],cost:19},{nodes:[kk.Donaueschingen,kk.Tuttlincen],cost:6},{nodes:[kk.Tuttlincen,kk.Singen],cost:7},{nodes:[kk.Singen,kk.Donaueschingen],cost:7},{nodes:[kk.Donaueschingen,kk.Freiburg],cost:13},{nodes:[kk.Freiburg,kk.Lorrach],cost:10},{nodes:[kk.Freiburg,kk.Waldshuttiencen],cost:15},{nodes:[kk.Waldshuttiencen,kk.Lorrach],cost:9},{nodes:[kk.Lorrach,kk.Basel],cost:2},{nodes:[kk.Waldshuttiencen,kk.Donaueschingen],cost:11},{nodes:[kk.Singen,kk.Konstanz],cost:6},{nodes:[kk.Konstanz,kk.Friedrichshafen],cost:9},{nodes:[kk.Friedrichshafen,kk.Ravensburg],cost:3},{nodes:[kk.Friedrichshafen,kk.Sigmarincen],cost:11},{nodes:[kk.Sigmarincen,kk.Konstanz],cost:14},{nodes:[kk.Konstanz,kk.Tuttlincen],cost:11}],layout:"Portrait",adjustRatio:[.425,.425],mapPosition:[100,-90],resupply:[[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],mapSpecificRules:"Phase order change: buy power plants first, then determine player order. If no power plant is sold in a round, remove the two lowest-numbered plants from the market and replace them from the draw stack. Never remove a power plant whose number is equal to or lower than the number of cities any player has powered. Transregional cities (e.g. Strasbourg) are only available starting in Step 2. Step 2 begins when any player connects to 9 cities (2 players), 6 cities (3–5 players), or 5 cities (6 players)."};(function(e){e["Green"]="green",e["Brown"]="brown",e["Yellow"]="yellow",e["Red"]="red",e["Blue"]="blue"})(_k||(_k={})),function(e){e["Groningen"]="Groningen",e["Enschede"]="Enschede",e["Apeldoorn"]="Apeldoorn",e["Arnhem"]="Arnhem",e["Leeuwarden"]="Leeuwarden",e["Nijmegen"]="Nijmegen",e["Denhelder"]="Den Helder",e["Zaanstad"]="Zaanstad",e["Amsterdam"]="Amsterdam",e["Utrecht"]="Utrecht",e["Haarlem"]="Haarlem",e["Leiden"]="Leiden",e["Denhaas"]="Den Haas",e["Rotterdam"]="Rotterdam",e["Enbosch"]="En Bosch",e["Venlo"]="Venlo",e["Eindhoven"]="Eindhoven",e["Tilburg"]="Tilburg",e["Breda"]="Breda",e["Middelburg"]="Middelburg",e["Maastricht"]="Maastricht",e["Leuven"]="Leuven",e["Brussel"]="Brussel",e["Antwerpen"]="Antwerpen",e["Gent"]="Gent",e["Kortrijk"]="Kortrijk",e["Brugge"]="Brugge",e["Dostende"]="Dostende",e["Liege"]="Liege",e["Namur"]="Namur",e["Bruxelles"]="Bruxelles",e["Charleroi"]="Charleroi",e["Mons"]="Mons",e["Arlon"]="Arlon",e["Luxembourg"]="Luxembourg"}(Sk||(Sk={}));var Pk,Ik,Ck={name:"Benelux",cities:[{name:Sk.Groningen,region:_k.Green,x:654,y:147},{name:Sk.Enschede,region:_k.Green,x:659,y:369},{name:Sk.Apeldoorn,region:_k.Green,x:552,y:329},{name:Sk.Arnhem,region:_k.Green,x:541,y:386},{name:Sk.Leeuwarden,region:_k.Green,x:560,y:136},{name:Sk.Nijmegen,region:_k.Green,x:518,y:445},{name:Sk.Denhelder,region:_k.Green,x:411,y:169},{name:Sk.Zaanstad,region:_k.Brown,x:432,y:245},{name:Sk.Amsterdam,region:_k.Brown,x:437,y:299},{name:Sk.Utrecht,region:_k.Brown,x:429,y:361},{name:Sk.Haarlem,region:_k.Brown,x:373,y:259},{name:Sk.Leiden,region:_k.Brown,x:355,y:322},{name:Sk.Denhaas,region:_k.Brown,x:300,y:347},{name:Sk.Rotterdam,region:_k.Brown,x:338,y:400},{name:Sk.Enbosch,region:_k.Yellow,x:448,y:447},{name:Sk.Venlo,region:_k.Yellow,x:550,y:526},{name:Sk.Eindhoven,region:_k.Yellow,x:463,y:539},{name:Sk.Tilburg,region:_k.Yellow,x:404,y:497},{name:Sk.Breda,region:_k.Yellow,x:349,y:466},{name:Sk.Middelburg,region:_k.Yellow,x:210,y:453},{name:Sk.Maastricht,region:_k.Yellow,x:480,y:640},{name:Sk.Leuven,region:_k.Red,x:352,y:619},{name:Sk.Brussel,region:_k.Red,x:286,y:595},{name:Sk.Antwerpen,region:_k.Red,x:304,y:526},{name:Sk.Gent,region:_k.Red,x:206,y:562},{name:Sk.Kortrijk,region:_k.Red,x:132,y:589},{name:Sk.Brugge,region:_k.Red,x:160,y:511},{name:Sk.Dostende,region:_k.Red,x:94,y:495},{name:Sk.Liege,region:_k.Blue,x:445,y:705},{name:Sk.Namur,region:_k.Blue,x:361,y:713},{name:Sk.Bruxelles,region:_k.Blue,x:283,y:642},{name:Sk.Charleroi,region:_k.Blue,x:278,y:725},{name:Sk.Mons,region:_k.Blue,x:212,y:686},{name:Sk.Arlon,region:_k.Blue,x:431,y:876},{name:Sk.Luxembourg,region:_k.Blue,x:502,y:918}],connections:[{nodes:[Sk.Denhelder,Sk.Leeuwarden],cost:13},{nodes:[Sk.Leeuwarden,Sk.Groningen],cost:6},{nodes:[Sk.Groningen,Sk.Enschede],cost:12},{nodes:[Sk.Enschede,Sk.Apeldoorn],cost:9},{nodes:[Sk.Apeldoorn,Sk.Arnhem],cost:3},{nodes:[Sk.Arnhem,Sk.Nijmegen],cost:2},{nodes:[Sk.Nijmegen,Sk.Enbosch],cost:6},{nodes:[Sk.Nijmegen,Sk.Venlo],cost:7},{nodes:[Sk.Nijmegen,Sk.Eindhoven],cost:7},{nodes:[Sk.Eindhoven,Sk.Enbosch],cost:4},{nodes:[Sk.Enbosch,Sk.Utrecht],cost:8},{nodes:[Sk.Apeldoorn,Sk.Leeuwarden],cost:15},{nodes:[Sk.Leeuwarden,Sk.Enschede],cost:13},{nodes:[Sk.Enschede,Sk.Arnhem],cost:7},{nodes:[Sk.Arnhem,Sk.Utrecht],cost:6},{nodes:[Sk.Utrecht,Sk.Amsterdam],cost:4},{nodes:[Sk.Amsterdam,Sk.Haarlem],cost:2},{nodes:[Sk.Haarlem,Sk.Zaanstad],cost:2},{nodes:[Sk.Zaanstad,Sk.Denhelder],cost:6},{nodes:[Sk.Denhelder,Sk.Haarlem],cost:7},{nodes:[Sk.Haarlem,Sk.Leiden],cost:3},{nodes:[Sk.Leiden,Sk.Denhaas],cost:2},{nodes:[Sk.Denhaas,Sk.Rotterdam],cost:3},{nodes:[Sk.Rotterdam,Sk.Leiden],cost:3},{nodes:[Sk.Leiden,Sk.Amsterdam],cost:4},{nodes:[Sk.Leiden,Sk.Utrecht],cost:4},{nodes:[Sk.Utrecht,Sk.Rotterdam],cost:5},{nodes:[Sk.Rotterdam,Sk.Enbosch],cost:11},{nodes:[Sk.Breda,Sk.Rotterdam],cost:8},{nodes:[Sk.Breda,Sk.Middelburg],cost:9},{nodes:[Sk.Middelburg,Sk.Antwerpen],cost:8},{nodes:[Sk.Antwerpen,Sk.Brugge],cost:9},{nodes:[Sk.Brugge,Sk.Dostende],cost:2},{nodes:[Sk.Amsterdam,Sk.Zaanstad],cost:1},{nodes:[Sk.Amsterdam,Sk.Apeldoorn],cost:7},{nodes:[Sk.Apeldoorn,Sk.Utrecht],cost:6},{nodes:[Sk.Venlo,Sk.Eindhoven],cost:5},{nodes:[Sk.Eindhoven,Sk.Tilburg],cost:4},{nodes:[Sk.Tilburg,Sk.Breda],cost:2},{nodes:[Sk.Breda,Sk.Enbosch],cost:5},{nodes:[Sk.Breda,Sk.Antwerpen],cost:5},{nodes:[Sk.Antwerpen,Sk.Tilburg],cost:6},{nodes:[Sk.Antwerpen,Sk.Eindhoven],cost:8},{nodes:[Sk.Eindhoven,Sk.Maastricht],cost:8},{nodes:[Sk.Maastricht,Sk.Venlo],cost:10},{nodes:[Sk.Maastricht,Sk.Leuven],cost:7},{nodes:[Sk.Leuven,Sk.Eindhoven],cost:9},{nodes:[Sk.Leuven,Sk.Brussel],cost:2},{nodes:[Sk.Brussel,Sk.Bruxelles],cost:0},{nodes:[Sk.Bruxelles,Sk.Charleroi],cost:5},{nodes:[Sk.Charleroi,Sk.Namur],cost:3},{nodes:[Sk.Namur,Sk.Bruxelles],cost:5},{nodes:[Sk.Leuven,Sk.Namur],cost:5},{nodes:[Sk.Leuven,Sk.Liege],cost:7},{nodes:[Sk.Liege,Sk.Namur],cost:6},{nodes:[Sk.Liege,Sk.Maastricht],cost:3},{nodes:[Sk.Kortrijk,Sk.Dostende],cost:5},{nodes:[Sk.Brugge,Sk.Kortrijk],cost:4},{nodes:[Sk.Kortrijk,Sk.Gent],cost:4},{nodes:[Sk.Gent,Sk.Brugge],cost:3},{nodes:[Sk.Kortrijk,Sk.Bruxelles],cost:10},{nodes:[Sk.Bruxelles,Sk.Mons],cost:5},{nodes:[Sk.Mons,Sk.Kortrijk],cost:8},{nodes:[Sk.Gent,Sk.Antwerpen],cost:5},{nodes:[Sk.Antwerpen,Sk.Brussel],cost:4},{nodes:[Sk.Brussel,Sk.Gent],cost:7},{nodes:[Sk.Antwerpen,Sk.Leuven],cost:4},{nodes:[Sk.Mons,Sk.Charleroi],cost:4},{nodes:[Sk.Charleroi,Sk.Arlon],cost:18},{nodes:[Sk.Arlon,Sk.Luxembourg],cost:5},{nodes:[Sk.Luxembourg,Sk.Liege],cost:20},{nodes:[Sk.Liege,Sk.Arlon],cost:18},{nodes:[Sk.Arlon,Sk.Namur],cost:16},{nodes:[Sk.Tilburg,Sk.Enbosch],cost:3}],layout:"Portrait",mapPosition:[0,-50],adjustRatio:[1.15,1.15],resupply:[[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],[[1,2,3],[2,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],startingResources:[18,24,6,2],viewBox:[1530,1060],playerOrderPosition:[1225,140],buttonsPosition:[1370,0],playerBoardsPosition:[1170,200],actualMarketWidth:495,mapSpecificRules:"Ecological plants can enter the market earlier. Remove smallest power plant after each round (unless discount plant was removed)."};(function(e){e["Red"]="red",e["Pink"]="pink",e["Purple"]="purple",e["Green"]="green",e["Brown"]="brown",e["Yellow"]="yellow"})(Pk||(Pk={})),function(e){e["Parnaiba"]="Parnaiba",e["Fortaleza"]="Fortaleza",e["Sadluis"]="Sadluis",e["Belem"]="Belem",e["Teresina"]="Teresina",e["Imperatriz"]="Imperatriz",e["Maraba"]="Maraba",e["Campinagrande"]="Campina Grande",e["Petrolina"]="Petrolina",e["Natal"]="Natal",e["Joaopessoa"]="Joaopessoa",e["Recife"]="Recife",e["Maceio"]="Maceio",e["Aracaju"]="Aracaju",e["Salvadordabahia"]="Salvador Da Bahia",e["Montesclaros"]="Montes Claros",e["Brasilia"]="Brasilia",e["Palmas"]="Palmas",e["Porangatu"]="Porangatu",e["Goiania"]="Goiania",e["Uberlandia"]="Uberlandia",e["Vitoria"]="Vitoria",e["Riodejaneiro"]="Rio De Janeiro",e["Saogoncalo"]="Sao Goncalo",e["Saopaulo"]="Sao Paulo",e["Guarulhos"]="Guarulhos",e["Campinas"]="Campinas",e["Belohorizonte"]="Belo Horizonte",e["Curitiba"]="Curitiba",e["Florianopolis"]="Florianopolis",e["Portoalecre"]="Porto Alecre",e["Pelotas"]="Pelotas",e["Urucuaiana"]="Urucuaiana",e["Londrina"]="Londrina",e["Campogrande"]="Campo Grande",e["Macapa"]="Macapa",e["Boavista"]="Boavista",e["Manaus"]="Manaus",e["Portovelho"]="Porto Velho",e["Cuiaba"]="Cuiaba",e["Vilhena"]="Vilhena",e["Riobranco"]="Rio Branco"}(Ik||(Ik={}));var Ok,Ak,Nk={name:"Brazil",cities:[{name:Ik.Parnaiba,region:Pk.Red,x:855,y:458},{name:Ik.Fortaleza,region:Pk.Red,x:961,y:478},{name:Ik.Sadluis,region:Pk.Red,x:772,y:418},{name:Ik.Belem,region:Pk.Red,x:655,y:378},{name:Ik.Teresina,region:Pk.Red,x:846,y:548},{name:Ik.Imperatriz,region:Pk.Red,x:697,y:535},{name:Ik.Maraba,region:Pk.Red,x:581,y:492},{name:Ik.Campinagrande,region:Pk.Pink,x:976,y:587},{name:Ik.Petrolina,region:Pk.Pink,x:872,y:648},{name:Ik.Natal,region:Pk.Pink,x:1061,y:518},{name:Ik.Joaopessoa,region:Pk.Pink,x:1097,y:576},{name:Ik.Recife,region:Pk.Pink,x:1083,y:637},{name:Ik.Maceio,region:Pk.Pink,x:1040,y:699},{name:Ik.Aracaju,region:Pk.Pink,x:995,y:750},{name:Ik.Salvadordabahia,region:Pk.Purple,x:960,y:808},{name:Ik.Montesclaros,region:Pk.Purple,x:795,y:847},{name:Ik.Brasilia,region:Pk.Purple,x:671,y:817},{name:Ik.Palmas,region:Pk.Purple,x:648,y:663},{name:Ik.Porangatu,region:Pk.Purple,x:598,y:762},{name:Ik.Goiania,region:Pk.Purple,x:601,y:889},{name:Ik.Uberlandia,region:Pk.Purple,x:646,y:964},{name:Ik.Vitoria,region:Pk.Green,x:910,y:971},{name:Ik.Riodejaneiro,region:Pk.Green,x:795,y:1076},{name:Ik.Saogoncalo,region:Pk.Green,x:843,y:1033},{name:Ik.Saopaulo,region:Pk.Green,x:721,y:1134},{name:Ik.Guarulhos,region:Pk.Green,x:678,y:1089},{name:Ik.Campinas,region:Pk.Green,x:629,y:1037},{name:Ik.Belohorizonte,region:Pk.Green,x:771,y:960},{name:Ik.Curitiba,region:Pk.Brown,x:615,y:1144},{name:Ik.Florianopolis,region:Pk.Brown,x:665,y:1214},{name:Ik.Portoalecre,region:Pk.Brown,x:590,y:1281},{name:Ik.Pelotas,region:Pk.Brown,x:551,y:1346},{name:Ik.Urucuaiana,region:Pk.Brown,x:444,y:1250},{name:Ik.Londrina,region:Pk.Brown,x:516,y:1075},{name:Ik.Campogrande,region:Pk.Brown,x:440,y:983},{name:Ik.Macapa,region:Pk.Yellow,x:561,y:317},{name:Ik.Boavista,region:Pk.Yellow,x:308,y:269},{name:Ik.Manaus,region:Pk.Yellow,x:258,y:466},{name:Ik.Portovelho,region:Pk.Yellow,x:238,y:620},{name:Ik.Cuiaba,region:Pk.Yellow,x:432,y:850},{name:Ik.Vilhena,region:Pk.Yellow,x:328,y:741},{name:Ik.Riobranco,region:Pk.Yellow,x:87,y:666}],connections:[{nodes:[Ik.Boavista,Ik.Macapa],cost:22},{nodes:[Ik.Macapa,Ik.Belem],cost:10},{nodes:[Ik.Belem,Ik.Sadluis],cost:10},{nodes:[Ik.Sadluis,Ik.Imperatriz],cost:9},{nodes:[Ik.Belem,Ik.Imperatriz],cost:9},{nodes:[Ik.Belem,Ik.Maraba],cost:9},{nodes:[Ik.Macapa,Ik.Maraba],cost:16},{nodes:[Ik.Maraba,Ik.Manaus],cost:22},{nodes:[Ik.Macapa,Ik.Manaus],cost:18},{nodes:[Ik.Boavista,Ik.Manaus],cost:13},{nodes:[Ik.Boavista,Ik.Riobranco],cost:30},{nodes:[Ik.Riobranco,Ik.Manaus],cost:23},{nodes:[Ik.Manaus,Ik.Portovelho],cost:15},{nodes:[Ik.Portovelho,Ik.Riobranco],cost:10},{nodes:[Ik.Riobranco,Ik.Vilhena],cost:18},{nodes:[Ik.Portovelho,Ik.Vilhena],cost:12},{nodes:[Ik.Manaus,Ik.Vilhena],cost:21},{nodes:[Ik.Vilhena,Ik.Cuiaba],cost:10},{nodes:[Ik.Vilhena,Ik.Maraba],cost:31},{nodes:[Ik.Maraba,Ik.Imperatriz],cost:4},{nodes:[Ik.Sadluis,Ik.Teresina],cost:8},{nodes:[Ik.Teresina,Ik.Imperatriz],cost:11},{nodes:[Ik.Imperatriz,Ik.Palmas],cost:9},{nodes:[Ik.Palmas,Ik.Maraba],cost:10},{nodes:[Ik.Maraba,Ik.Porangatu],cost:17},{nodes:[Ik.Porangatu,Ik.Goiania],cost:8},{nodes:[Ik.Porangatu,Ik.Vilhena],cost:23},{nodes:[Ik.Cuiaba,Ik.Porangatu],cost:16},{nodes:[Ik.Porangatu,Ik.Palmas],cost:8},{nodes:[Ik.Palmas,Ik.Brasilia],cost:13},{nodes:[Ik.Brasilia,Ik.Porangatu],cost:6},{nodes:[Ik.Brasilia,Ik.Goiania],cost:4},{nodes:[Ik.Goiania,Ik.Cuiaba],cost:15},{nodes:[Ik.Sadluis,Ik.Parnaiba],cost:5},{nodes:[Ik.Parnaiba,Ik.Teresina],cost:5},{nodes:[Ik.Parnaiba,Ik.Fortaleza],cost:7},{nodes:[Ik.Fortaleza,Ik.Natal],cost:8},{nodes:[Ik.Natal,Ik.Joaopessoa],cost:3},{nodes:[Ik.Joaopessoa,Ik.Recife],cost:2},{nodes:[Ik.Recife,Ik.Maceio],cost:3},{nodes:[Ik.Maceio,Ik.Aracaju],cost:3},{nodes:[Ik.Aracaju,Ik.Salvadordabahia],cost:4},{nodes:[Ik.Natal,Ik.Campinagrande],cost:4},{nodes:[Ik.Fortaleza,Ik.Teresina],cost:10},{nodes:[Ik.Teresina,Ik.Petrolina],cost:12},{nodes:[Ik.Petrolina,Ik.Palmas],cost:19},{nodes:[Ik.Petrolina,Ik.Brasilia],cost:22},{nodes:[Ik.Petrolina,Ik.Montesclaros],cost:19},{nodes:[Ik.Montesclaros,Ik.Salvadordabahia],cost:16},{nodes:[Ik.Salvadordabahia,Ik.Petrolina],cost:10},{nodes:[Ik.Petrolina,Ik.Campinagrande],cost:12},{nodes:[Ik.Petrolina,Ik.Aracaju],cost:11},{nodes:[Ik.Vitoria,Ik.Salvadordabahia],cost:16},{nodes:[Ik.Montesclaros,Ik.Vitoria],cost:14},{nodes:[Ik.Vitoria,Ik.Saogoncalo],cost:6},{nodes:[Ik.Vitoria,Ik.Belohorizonte],cost:9},{nodes:[Ik.Belohorizonte,Ik.Montesclaros],cost:8},{nodes:[Ik.Montesclaros,Ik.Brasilia],cost:9},{nodes:[Ik.Brasilia,Ik.Uberlandia],cost:8},{nodes:[Ik.Uberlandia,Ik.Goiania],cost:7},{nodes:[Ik.Goiania,Ik.Campogrande],cost:16},{nodes:[Ik.Campogrande,Ik.Cuiaba],cost:13},{nodes:[Ik.Campogrande,Ik.Londrina],cost:10},{nodes:[Ik.Campogrande,Ik.Uberlandia],cost:13},{nodes:[Ik.Uberlandia,Ik.Londrina],cost:12},{nodes:[Ik.Londrina,Ik.Campinas],cost:9},{nodes:[Ik.Campinas,Ik.Uberlandia],cost:9},{nodes:[Ik.Uberlandia,Ik.Belohorizonte],cost:10},{nodes:[Ik.Uberlandia,Ik.Brasilia],cost:8},{nodes:[Ik.Brasilia,Ik.Belohorizonte],cost:14},{nodes:[Ik.Belohorizonte,Ik.Saogoncalo],cost:7},{nodes:[Ik.Saogoncalo,Ik.Riodejaneiro],cost:0},{nodes:[Ik.Riodejaneiro,Ik.Saopaulo],cost:7},{nodes:[Ik.Saopaulo,Ik.Guarulhos],cost:0},{nodes:[Ik.Guarulhos,Ik.Campinas],cost:0},{nodes:[Ik.Campinas,Ik.Curitiba],cost:6},{nodes:[Ik.Curitiba,Ik.Londrina],cost:7},{nodes:[Ik.Saopaulo,Ik.Florianopolis],cost:9},{nodes:[Ik.Florianopolis,Ik.Curitiba],cost:4},{nodes:[Ik.Londrina,Ik.Urucuaiana],cost:18},{nodes:[Ik.Urucuaiana,Ik.Pelotas],cost:9},{nodes:[Ik.Pelotas,Ik.Portoalecre],cost:4},{nodes:[Ik.Portoalecre,Ik.Urucuaiana],cost:10},{nodes:[Ik.Londrina,Ik.Portoalecre],cost:16},{nodes:[Ik.Portoalecre,Ik.Curitiba],cost:11},{nodes:[Ik.Portoalecre,Ik.Florianopolis],cost:7},{nodes:[Ik.Guarulhos,Ik.Belohorizonte],cost:10},{nodes:[Ik.Maceio,Ik.Campinagrande],cost:6},{nodes:[Ik.Petrolina,Ik.Fortaleza],cost:14},{nodes:[Ik.Recife,Ik.Campinagrande],cost:3}],layout:"Portrait",adjustRatio:[.85,.85],mapPosition:[-20,-130],resupply:[[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],startingResources:[24,18,6,2],setupDeck:function(e,n,t){var r,o,i=Object(Qw["cloneDeep"])(yk),a=i.filter((function(e){return e.type==Pw.Garbage&&e.number>14}));if("original"==n){i=i.slice(8);var c=i.splice(2,1)[0],u=i.splice(2,1)[0],s=i.pop();i=uk(i.filter((function(e){return e.type!=Pw.Garbage})),t()+""),2==e||3==e?i=i.slice(8):4==e&&(i=i.slice(4)),i=i.concat(a),i=uk(i,t()+""),i.unshift(u),i.unshift(c),i.push(s),r=[j_(3),j_(4),j_(5),j_(6)],o=[j_(7),j_(8),j_(9),j_(10)]}else{var l=i.splice(3,1)[0],d=i.splice(10,1)[0],f=uk(i.splice(0,11),t()+""),p=f.splice(0,6);p.push(l,d),p=p.sort((function(e,n){return e.number-n.number})),r=p.slice(0,4),o=p.slice(4);var v=f.shift(),h=i.pop();i=uk(i.filter((function(e){return e.type!=Pw.Garbage})),t()+""),2==e?(f=f.slice(1),i=uk(i.slice(5).concat(f),t()+"")):3==e?(f=f.slice(2),i=uk(i.slice(6).concat(f),t()+"")):4==e?(f=f.slice(1),i=uk(i.slice(3).concat(f),t()+"")):i=uk(i.concat(f),t()+""),i=i.concat(a),i=uk(i,t()+""),i.unshift(v),i.push(h)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:i}},mapSpecificRules:"Play with all garbage power plants.\n",deckBuild:{recharged:"power plants 6 and 14 always start in the market; the other six market plants are drawn from the remaining low plants. Garbage plants above 14 are set aside during the player-count removal and shuffled back in, so no garbage plant ever leaves the game.",original:"both 13 and 14 are set aside; after the player-count removal (garbage plants excluded and shuffled back in), 13 goes on top of the deck with 14 directly below it."}};(function(e){e["Blue"]="blue",e["Pink"]="pink",e["Purple"]="purple",e["Red"]="red",e["Orange"]="orange"})(Ok||(Ok={})),function(e){e["Borgfeld"]="Borgfeld",e["Oberneuland"]="Oberneuland",e["Osterholz"]="Osterholz",e["HornLehe"]="Horn-Lehe",e["Vahr"]="Vahr",e["Schwachhausen"]="Schwachhausen",e["OstlicheVorstadt"]="Östliche Vorstadt",e["Findorff"]="Findorff",e["Walle"]="Walle",e["Mitte"]="Mitte",e["Hemelingen"]="Hemelingen",e["Mahndorf"]="Mahndorf",e["Neustadt"]="Neustadt",e["Obervieland"]="Obervieland",e["Huchting"]="Huchting",e["Hofen"]="Höfen",e["Pusdorf"]="Pusdorf",e["Neustadtshafen"]="Neustadtshafen",e["Strom"]="Strom",e["Seehausen"]="Seehausen",e["Blockland"]="Blockland",e["Gropelingen"]="Gröpelingen",e["Burglesum"]="Burglesum",e["Vegesack"]="Vegesack",e["Blumenthal"]="Blumenthal"}(Ak||(Ak={}));var zk,jk,Lk={name:"Bremen",cities:[{name:Ak.Borgfeld,region:Ok.Blue,connectionCost:15,slotCosts:[8,14],x:645,y:273},{name:Ak.Oberneuland,region:Ok.Blue,connectionCost:14,slotCosts:[8,14,20],x:652,y:342},{name:Ak.Osterholz,region:Ok.Blue,connectionCost:11,slotCosts:[8,14,20],x:660,y:434},{name:Ak.HornLehe,region:Ok.Blue,connectionCost:9,slotCosts:[8,14,20],x:572,y:322},{name:Ak.Vahr,region:Ok.Blue,connectionCost:6,slotCosts:[8,14,20],x:583,y:376},{name:Ak.Schwachhausen,region:Ok.Pink,connectionCost:5,slotCosts:[8,14,20],x:517,y:357},{name:Ak.OstlicheVorstadt,region:Ok.Pink,connectionCost:2,slotCosts:[8,14,20],x:536,y:409},{name:Ak.Findorff,region:Ok.Pink,connectionCost:3,slotCosts:[8,14],x:488,y:311},{name:Ak.Walle,region:Ok.Pink,connectionCost:6,slotCosts:[8,14,20],x:438,y:342},{name:Ak.Mitte,region:Ok.Pink,connectionCost:1,slotCosts:[8,14,20],x:472,y:388},{name:Ak.Hemelingen,region:Ok.Purple,connectionCost:8,slotCosts:[8,14,20],x:600,y:453},{name:Ak.Mahndorf,region:Ok.Purple,connectionCost:10,slotCosts:[8,14,20],x:666,y:499},{name:Ak.Neustadt,region:Ok.Purple,connectionCost:5,slotCosts:[8,14,20],x:464,y:452},{name:Ak.Obervieland,region:Ok.Purple,connectionCost:10,slotCosts:[8,14,20],x:529,y:479},{name:Ak.Huchting,region:Ok.Purple,connectionCost:12,slotCosts:[8,14],x:386,y:442},{name:Ak.Hofen,region:Ok.Red,connectionCost:9,slotCosts:[8,14,20],x:352,y:272},{name:Ak.Pusdorf,region:Ok.Red,connectionCost:7,slotCosts:[8,14,20],x:399,y:386},{name:Ak.Neustadtshafen,region:Ok.Red,connectionCost:8,slotCosts:[8,14,20],x:375,y:340},{name:Ak.Strom,region:Ok.Red,connectionCost:14,slotCosts:[8,14,20],x:328,y:393},{name:Ak.Seehausen,region:Ok.Red,connectionCost:14,slotCosts:[8,14],x:290,y:321},{name:Ak.Blockland,region:Ok.Orange,connectionCost:11,slotCosts:[8,14,20],x:476,y:251},{name:Ak.Gropelingen,region:Ok.Orange,connectionCost:8,slotCosts:[8,14,20],x:426,y:280},{name:Ak.Burglesum,region:Ok.Orange,connectionCost:13,slotCosts:[8,14,20],x:337,y:197},{name:Ak.Vegesack,region:Ok.Orange,connectionCost:10,slotCosts:[8,14,20],x:248,y:170},{name:Ak.Blumenthal,region:Ok.Orange,connectionCost:15,slotCosts:[8,14],x:154,y:135}],connections:[{nodes:[Ak.Borgfeld,Ak.Oberneuland],cost:0},{nodes:[Ak.Oberneuland,Ak.Osterholz],cost:0},{nodes:[Ak.Borgfeld,Ak.HornLehe],cost:0},{nodes:[Ak.Oberneuland,Ak.HornLehe],cost:0},{nodes:[Ak.Oberneuland,Ak.Vahr],cost:0},{nodes:[Ak.Osterholz,Ak.Vahr],cost:0},{nodes:[Ak.HornLehe,Ak.Vahr],cost:0},{nodes:[Ak.HornLehe,Ak.Schwachhausen],cost:0},{nodes:[Ak.HornLehe,Ak.Findorff],cost:0},{nodes:[Ak.Vahr,Ak.Hemelingen],cost:0},{nodes:[Ak.Osterholz,Ak.Mahndorf],cost:0},{nodes:[Ak.Hofen,Ak.Neustadtshafen],cost:0},{nodes:[Ak.Hofen,Ak.Seehausen],cost:0},{nodes:[Ak.Pusdorf,Ak.Neustadtshafen],cost:0},{nodes:[Ak.Neustadtshafen,Ak.Seehausen],cost:0},{nodes:[Ak.Neustadtshafen,Ak.Strom],cost:0},{nodes:[Ak.Seehausen,Ak.Strom],cost:0},{nodes:[Ak.Blockland,Ak.Gropelingen],cost:0},{nodes:[Ak.Blockland,Ak.Burglesum],cost:0},{nodes:[Ak.Gropelingen,Ak.Burglesum],cost:0},{nodes:[Ak.Burglesum,Ak.Vegesack],cost:0},{nodes:[Ak.Vegesack,Ak.Blumenthal],cost:0},{nodes:[Ak.Mahndorf,Ak.Hemelingen],cost:0},{nodes:[Ak.Hemelingen,Ak.Obervieland],cost:0},{nodes:[Ak.Obervieland,Ak.Neustadt],cost:0},{nodes:[Ak.Neustadt,Ak.Huchting],cost:0},{nodes:[Ak.Hemelingen,Ak.OstlicheVorstadt],cost:0},{nodes:[Ak.Obervieland,Ak.OstlicheVorstadt],cost:0},{nodes:[Ak.Neustadt,Ak.Mitte],cost:0},{nodes:[Ak.Neustadt,Ak.OstlicheVorstadt],cost:0},{nodes:[Ak.Huchting,Ak.Strom],cost:0},{nodes:[Ak.Huchting,Ak.Pusdorf],cost:0},{nodes:[Ak.Findorff,Ak.Walle],cost:0},{nodes:[Ak.Findorff,Ak.Mitte],cost:0},{nodes:[Ak.Findorff,Ak.Schwachhausen],cost:0},{nodes:[Ak.Schwachhausen,Ak.OstlicheVorstadt],cost:0},{nodes:[Ak.Schwachhausen,Ak.Mitte],cost:0},{nodes:[Ak.Walle,Ak.Mitte],cost:0},{nodes:[Ak.Mitte,Ak.OstlicheVorstadt],cost:0},{nodes:[Ak.Strom,Ak.Pusdorf],cost:0},{nodes:[Ak.Vahr,Ak.Schwachhausen],cost:0},{nodes:[Ak.Blockland,Ak.HornLehe],cost:0},{nodes:[Ak.Hemelingen,Ak.Osterholz],cost:0},{nodes:[Ak.Hofen,Ak.Gropelingen],cost:0},{nodes:[Ak.Hofen,Ak.Burglesum],cost:0},{nodes:[Ak.Burglesum,Ak.Seehausen],cost:0},{nodes:[Ak.Walle,Ak.Gropelingen],cost:0},{nodes:[Ak.Walle,Ak.Blockland],cost:0},{nodes:[Ak.Findorff,Ak.Blockland],cost:0},{nodes:[Ak.Walle,Ak.Hofen],cost:0},{nodes:[Ak.Walle,Ak.Neustadtshafen],cost:0},{nodes:[Ak.Walle,Ak.Pusdorf],cost:0},{nodes:[Ak.Pusdorf,Ak.Neustadt],cost:0}],layout:"Landscape",adjustRatio:[1.75,1.75],mapPosition:[-120,-140],mapRotation:0,resupply:[[[4,5,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],[[2,3,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[1,2,1],[1,2,1],[2,3,2],[3,3,3],[3,5,3]],[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]],coalPrices:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,8,8],oilPrices:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,8,8],garbagePrices:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,8,8],startingResources:[22,16,16,0],startingSupply:[22,22,22,0],setupDeck:function(e,n,t){var r=new Set([11,17,23,28,34,36,38,39,46]);e<=4&&(r.add(31),r.add(50));var o,i,a=Object(Qw["cloneDeep"])(yk).filter((function(e){return!r.has(e.number)})),c=a.pop();if("original"==n){o=[j_(3),j_(4),j_(5),j_(6)],i=[j_(7),j_(8),j_(9),j_(10)];var u=new Set([3,4,5,6,7,8,9,10]),s=a.find((function(e){return 13==e.number})),l=a.filter((function(e){return!u.has(e.number)&&13!=e.number}));return l=uk(l,t()+""),l.unshift(s),l.push(c),{actualMarket:o,futureMarket:i,powerPlantsDeck:l}}var d=uk(a.filter((function(e){return e.number<=15})),t()+""),f=a.filter((function(e){return e.number>15})),p=d.splice(0,8).sort((function(e,n){return e.number-n.number}));o=p.slice(0,4),i=p.slice(4);var v=d.shift();return f=uk(f.concat(d),t()+""),f.unshift(v),f.push(c),{actualMarket:o,futureMarket:i,powerPlantsDeck:f}},mapSpecificRules:"Flat district costs: instead of connection costs between cities, each district has a single cost. Connecting a new district to your network costs the sum of the district costs along the cheapest path from your network (you pay for each district entered, including ones you only pass through), plus the cheapest building cost (8 / 14 / 20 Elektro) in the new district. (on your 1st placement if A has 1 and B has 3 then A to B is 8+3+8=19, and B to A is 8+1+8=17, meaning it is asymmetrical) Small districts have only two spaces (8 / 14) and can hold just two networks.\nNo uranium: uranium is never sold, and every plant that burns it is removed from the game. Plant 50 needs no fuel, so it stays in the deck with 5 or 6 players.\nStep 2 begins once a player has 5 connected districts (4 for 6 players); the game ends when a player connects 13 districts (12 for 5 players, 11 for 6).\n",deckBuild:{recharged:"power plants 11, 17, 23, 28, 34, 36, 38, 39 and 46 are removed before setup — the six uranium plants plus the three plants that power 7 cities. With 2 to 4 players, plants 31 and 50 are removed as well. No further power plants are removed for the number of players. The opening market of eight is then drawn from the low plants (numbered 15 or less); of the low plants left over, one is placed on top of the draw deck and the rest are shuffled into it, with the Step 3 card on the bottom.",original:"same removals; the market is the fixed 3-6 / 7-10 (none of these are removed on Bremen), plant 13 is placed on top of the deck and the Step 3 card on the bottom."}};(function(e){e["Blue"]="blue",e["Brown"]="brown",e["Purple"]="purple",e["Red"]="red",e["Yellow"]="yellow",e["Green"]="green"})(zk||(zk={})),function(e){e["Bialystok"]="Bialystok",e["Lublin"]="Lublin",e["Warszawa"]="Warszawa",e["Krakow"]="Krakow",e["Sosnowiec"]="Sosnowiec",e["Katowice"]="Katowice",e["Czestochowa"]="Czesto Chowa",e["Presov"]="Presov",e["Kosice"]="Kosice",e["Poprad"]="Poprad",e["Zilina"]="Zilina",e["Bratislava"]="Bratislava",e["Trnava"]="Trnava",e["Nyiregyhaza"]="Nyiregyhaza",e["Miskolc"]="Miskolc",e["Szeged"]="Szeged",e["Kecskeme"]="Kecskeme",e["Budapest"]="Budapest",e["Pecs"]="Pecs",e["Gyor"]="Gyor",e["Banskabystrica"]="Banska Bystrica",e["Goansk"]="Goansk",e["Goynia"]="Goynia",e["Byogoszcz"]="Byogoszcz",e["Wroclaw"]="Wroclaw",e["Poznan"]="Poznan",e["Szczecin"]="Szczecin",e["Lodz"]="Lodz",e["Graz"]="Graz",e["Klagenfurt"]="Klagenfurt",e["Villach"]="Villach",e["Innsbruck"]="Innsbruck",e["Salzburg"]="Salzburg",e["Linz"]="Linz",e["Wien"]="Wien",e["Hradeckralove"]="Hradec Kralove",e["Brno"]="Brno",e["Ceskebudejovice"]="Ceske Budejovice",e["Praha"]="Praha",e["Ostrava"]="Ostrava",e["Plzen"]="Plzen",e["Ustinadlaben"]="Ustinad Laben"}(jk||(jk={}));var Dk,Rk,Tk={name:"Central Europe",noUraniumRegions:[zk.Blue,zk.Red,zk.Yellow],cities:[{name:jk.Bialystok,region:zk.Blue,x:543,y:135},{name:jk.Lublin,region:zk.Blue,x:590,y:294},{name:jk.Warszawa,region:zk.Blue,x:482,y:253},{name:jk.Krakow,region:zk.Blue,x:533,y:443},{name:jk.Sosnowiec,region:zk.Blue,x:468,y:443},{name:jk.Katowice,region:zk.Blue,x:446,y:483},{name:jk.Czestochowa,region:zk.Blue,x:419,y:397},{name:jk.Presov,region:zk.Brown,x:619,y:487},{name:jk.Kosice,region:zk.Brown,x:646,y:538},{name:jk.Poprad,region:zk.Brown,x:565,y:529},{name:jk.Zilina,region:zk.Brown,x:476,y:551},{name:jk.Bratislava,region:zk.Brown,x:423,y:693},{name:jk.Trnava,region:zk.Brown,x:452,y:638},{name:jk.Nyiregyhaza,region:zk.Purple,x:698,y:582},{name:jk.Miskolc,region:zk.Purple,x:621,y:597},{name:jk.Szeged,region:zk.Purple,x:680,y:764},{name:jk.Kecskeme,region:zk.Purple,x:630,y:727},{name:jk.Budapest,region:zk.Purple,x:557,y:689},{name:jk.Pecs,region:zk.Purple,x:566,y:832},{name:jk.Gyor,region:zk.Purple,x:489,y:729},{name:jk.Banskabystrica,region:zk.Brown,x:525,y:601},{name:jk.Goansk,region:zk.Red,x:286,y:158},{name:jk.Goynia,region:zk.Red,x:249,y:131},{name:jk.Byogoszcz,region:zk.Red,x:297,y:257},{name:jk.Wroclaw,region:zk.Red,x:321,y:445},{name:jk.Poznan,region:zk.Red,x:261,y:342},{name:jk.Szczecin,region:zk.Red,x:110,y:316},{name:jk.Lodz,region:zk.Red,x:420,y:337},{name:jk.Graz,region:zk.Yellow,x:376,y:811},{name:jk.Klagenfurt,region:zk.Yellow,x:340,y:875},{name:jk.Villach,region:zk.Yellow,x:272,y:875},{name:jk.Innsbruck,region:zk.Yellow,x:140,y:879},{name:jk.Salzburg,region:zk.Yellow,x:209,y:805},{name:jk.Linz,region:zk.Yellow,x:265,y:744},{name:jk.Wien,region:zk.Yellow,x:366,y:701},{name:jk.Hradeckralove,region:zk.Green,x:291,y:546},{name:jk.Brno,region:zk.Green,x:354,y:597},{name:jk.Ceskebudejovice,region:zk.Green,x:248,y:670},{name:jk.Praha,region:zk.Green,x:220,y:593},{name:jk.Ostrava,region:zk.Green,x:413,y:535},{name:jk.Plzen,region:zk.Green,x:158,y:645},{name:jk.Ustinadlaben,region:zk.Green,x:165,y:537}],connections:[{nodes:[jk.Goynia,jk.Goansk],cost:0},{nodes:[jk.Goansk,jk.Byogoszcz],cost:8},{nodes:[jk.Goynia,jk.Szczecin],cost:17},{nodes:[jk.Szczecin,jk.Poznan],cost:14},{nodes:[jk.Szczecin,jk.Wroclaw],cost:22},{nodes:[jk.Wroclaw,jk.Poznan],cost:9},{nodes:[jk.Poznan,jk.Lodz],cost:13},{nodes:[jk.Lodz,jk.Byogoszcz],cost:12},{nodes:[jk.Byogoszcz,jk.Szczecin],cost:15},{nodes:[jk.Wroclaw,jk.Lodz],cost:12},{nodes:[jk.Lodz,jk.Czestochowa],cost:7},{nodes:[jk.Czestochowa,jk.Wroclaw],cost:9},{nodes:[jk.Wroclaw,jk.Ostrava],cost:11},{nodes:[jk.Ostrava,jk.Hradeckralove],cost:16},{nodes:[jk.Hradeckralove,jk.Wroclaw],cost:10},{nodes:[jk.Wroclaw,jk.Ustinadlaben],cost:17},{nodes:[jk.Ustinadlaben,jk.Hradeckralove],cost:10},{nodes:[jk.Hradeckralove,jk.Brno],cost:9},{nodes:[jk.Brno,jk.Ostrava],cost:12},{nodes:[jk.Ostrava,jk.Katowice],cost:4},{nodes:[jk.Czestochowa,jk.Lublin],cost:17},{nodes:[jk.Lublin,jk.Presov],cost:20},{nodes:[jk.Presov,jk.Krakow],cost:13},{nodes:[jk.Krakow,jk.Poprad],cost:11},{nodes:[jk.Poprad,jk.Zilina],cost:11},{nodes:[jk.Zilina,jk.Krakow],cost:12},{nodes:[jk.Krakow,jk.Sosnowiec],cost:4},{nodes:[jk.Warszawa,jk.Bialystok],cost:14},{nodes:[jk.Bialystok,jk.Goansk],cost:20},{nodes:[jk.Byogoszcz,jk.Warszawa],cost:15},{nodes:[jk.Warszawa,jk.Lublin],cost:10},{nodes:[jk.Lodz,jk.Warszawa],cost:7},{nodes:[jk.Bialystok,jk.Lublin],cost:15},{nodes:[jk.Lublin,jk.Krakow],cost:16},{nodes:[jk.Poprad,jk.Kosice],cost:6},{nodes:[jk.Kosice,jk.Nyiregyhaza],cost:8},{nodes:[jk.Kosice,jk.Miskolc],cost:4},{nodes:[jk.Miskolc,jk.Poprad],cost:9},{nodes:[jk.Poprad,jk.Banskabystrica],cost:11},{nodes:[jk.Banskabystrica,jk.Zilina],cost:6},{nodes:[jk.Zilina,jk.Trnava],cost:10},{nodes:[jk.Zilina,jk.Brno],cost:14},{nodes:[jk.Brno,jk.Wien],cost:8},{nodes:[jk.Bratislava,jk.Brno],cost:10},{nodes:[jk.Brno,jk.Trnava],cost:10},{nodes:[jk.Trnava,jk.Banskabystrica],cost:10},{nodes:[jk.Banskabystrica,jk.Miskolc],cost:11},{nodes:[jk.Miskolc,jk.Nyiregyhaza],cost:7},{nodes:[jk.Nyiregyhaza,jk.Szeged],cost:16},{nodes:[jk.Szeged,jk.Kecskeme],cost:5},{nodes:[jk.Budapest,jk.Trnava],cost:9},{nodes:[jk.Trnava,jk.Bratislava],cost:2},{nodes:[jk.Bratislava,jk.Wien],cost:3},{nodes:[jk.Wien,jk.Ceskebudejovice],cost:14},{nodes:[jk.Ceskebudejovice,jk.Praha],cost:10},{nodes:[jk.Praha,jk.Brno],cost:13},{nodes:[jk.Brno,jk.Ceskebudejovice],cost:15},{nodes:[jk.Ceskebudejovice,jk.Plzen],cost:11},{nodes:[jk.Plzen,jk.Praha],cost:7},{nodes:[jk.Praha,jk.Ustinadlaben],cost:6},{nodes:[jk.Ustinadlaben,jk.Plzen],cost:9},{nodes:[jk.Ceskebudejovice,jk.Linz],cost:8},{nodes:[jk.Linz,jk.Wien],cost:11},{nodes:[jk.Wien,jk.Graz],cost:12},{nodes:[jk.Graz,jk.Linz],cost:16},{nodes:[jk.Linz,jk.Salzburg],cost:9},{nodes:[jk.Salzburg,jk.Graz],cost:22},{nodes:[jk.Graz,jk.Gyor],cost:14},{nodes:[jk.Gyor,jk.Wien],cost:8},{nodes:[jk.Bratislava,jk.Gyor],cost:6},{nodes:[jk.Gyor,jk.Trnava],cost:5},{nodes:[jk.Banskabystrica,jk.Budapest],cost:12},{nodes:[jk.Budapest,jk.Gyor],cost:5},{nodes:[jk.Budapest,jk.Kecskeme],cost:6},{nodes:[jk.Kecskeme,jk.Miskolc],cost:10},{nodes:[jk.Miskolc,jk.Budapest],cost:9},{nodes:[jk.Szeged,jk.Pecs],cost:12},{nodes:[jk.Pecs,jk.Kecskeme],cost:11},{nodes:[jk.Budapest,jk.Pecs],cost:12},{nodes:[jk.Pecs,jk.Gyor],cost:15},{nodes:[jk.Graz,jk.Pecs],cost:19},{nodes:[jk.Graz,jk.Klagenfurt],cost:10},{nodes:[jk.Klagenfurt,jk.Villach],cost:4},{nodes:[jk.Klagenfurt,jk.Salzburg],cost:20},{nodes:[jk.Salzburg,jk.Innsbruck],cost:15},{nodes:[jk.Innsbruck,jk.Villach],cost:22},{nodes:[jk.Poznan,jk.Byogoszcz],cost:7},{nodes:[jk.Lublin,jk.Lodz],cost:16},{nodes:[jk.Czestochowa,jk.Sosnowiec],cost:4},{nodes:[jk.Sosnowiec,jk.Katowice],cost:0},{nodes:[jk.Czestochowa,jk.Krakow],cost:6},{nodes:[jk.Poprad,jk.Presov],cost:7},{nodes:[jk.Presov,jk.Kosice],cost:2},{nodes:[jk.Ostrava,jk.Zilina],cost:7},{nodes:[jk.Ostrava,jk.Krakow],cost:7},{nodes:[jk.Praha,jk.Hradeckralove],cost:8}],layout:"Portrait",mapPosition:[70,-60],adjustRatio:[1.15,1.15],startingResources:[24,18,6,5],resupply:[[[4,5,3],[5,6,3],[6,7,5],[7,8,5],[8,10,6]],[[1,2,3],[2,2,3],[2,3,4],[3,4,5],[4,5,6]],[[1,3,3],[1,3,3],[2,4,4],[3,4,5],[3,6,6]],[[1,1,1],[1,1,1],[1,2,1],[2,2,2],[2,3,2]]]};(function(e){e["Pink"]="pink",e["Green"]="green",e["Red"]="red",e["Brown"]="brown",e["Purple"]="purple",e["Yellow"]="yellow"})(Dk||(Dk={})),function(e){e["Hegang"]="Hegang",e["Qiqhaer"]="Qiqha'er",e["Haerbin"]="Haerbin",e["Jilin"]="Jilin",e["Fushun"]="Fushun",e["Anshan"]="Anshan",e["Dalian"]="Dalian",e["Shanghai"]="Shanghai",e["Hangzhou"]="Hangzhou",e["Nanjing"]="Nanjing",e["Qingdao"]="Qingdao",e["Jinan"]="Jinan",e["Zhengzhou"]="Zhengzhou",e["Shijiazhuang"]="Shijiazhuang",e["Changchun"]="Changchun",e["Shenyang"]="Shenyang",e["Tangshan"]="Tangshan",e["Tianjin"]="Tianjin",e["Beijing"]="Beijing",e["Taiyuan"]="Taiyuan",e["Baotou"]="Baotou",e["Fuzhou"]="Fuzhou",e["Nanchang"]="Nanchang",e["Chaozhou"]="Chaozhou",e["Hongkong"]="Hong Kong",e["Guangzhou"]="Guangzhou",e["Changsha"]="Changsha",e["Wuhan"]="Wuhan",e["Hami"]="Hami",e["Karamay"]="Karamay",e["Wulumuqi"]="Wulumuqi",e["Kuerle"]="Ku'erle",e["Yinchuan"]="Yinchuan",e["Xining"]="Xining",e["Lanzhou"]="Lanzhou",e["Kunming"]="Kunming",e["Chengou"]="Chengou",e["Xian"]="Xi'an",e["Chongqing"]="Chongqing",e["Nanning"]="Nanning",e["Haikou"]="Haikou",e["Guiyang"]="Guiyang"}(Rk||(Rk={}));var Bk,Ek,Uk={name:"China",cities:[{name:Rk.Hegang,region:Dk.Pink,x:3920,y:290},{name:Rk.Qiqhaer,region:Dk.Pink,x:3422,y:262},{name:Rk.Haerbin,region:Dk.Pink,x:3672,y:434},{name:Rk.Jilin,region:Dk.Pink,x:3744,y:614},{name:Rk.Fushun,region:Dk.Pink,x:3712,y:784},{name:Rk.Anshan,region:Dk.Pink,x:3510,y:902},{name:Rk.Dalian,region:Dk.Pink,x:3424,y:1052},{name:Rk.Shanghai,region:Dk.Green,x:3462,y:1672},{name:Rk.Hangzhou,region:Dk.Green,x:3280,y:1824},{name:Rk.Nanjing,region:Dk.Green,x:3130,y:1632},{name:Rk.Qingdao,region:Dk.Green,x:3322,y:1316},{name:Rk.Jinan,region:Dk.Green,x:3002,y:1292},{name:Rk.Zhengzhou,region:Dk.Green,x:2778,y:1438},{name:Rk.Shijiazhuang,region:Dk.Green,x:2866,y:1152},{name:Rk.Changchun,region:Dk.Red,x:3504,y:590},{name:Rk.Shenyang,region:Dk.Red,x:3458,y:778},{name:Rk.Tangshan,region:Dk.Red,x:3158,y:908},{name:Rk.Tianjin,region:Dk.Red,x:3134,y:1016},{name:Rk.Beijing,region:Dk.Red,x:2886,y:910},{name:Rk.Taiyuan,region:Dk.Red,x:2588,y:1130},{name:Rk.Baotou,region:Dk.Red,x:2500,y:862},{name:Rk.Fuzhou,region:Dk.Brown,x:3290,y:2132},{name:Rk.Nanchang,region:Dk.Brown,x:3004,y:1974},{name:Rk.Chaozhou,region:Dk.Brown,x:3096,y:2322},{name:Rk.Hongkong,region:Dk.Brown,x:2902,y:2552},{name:Rk.Guangzhou,region:Dk.Brown,x:2694,y:2352},{name:Rk.Changsha,region:Dk.Brown,x:2682,y:1988},{name:Rk.Wuhan,region:Dk.Brown,x:2810,y:1786},{name:Rk.Hami,region:Dk.Purple,x:1816,y:698},{name:Rk.Karamay,region:Dk.Purple,x:1304,y:372},{name:Rk.Wulumuqi,region:Dk.Purple,x:1520,y:558},{name:Rk.Kuerle,region:Dk.Purple,x:1326,y:756},{name:Rk.Yinchuan,region:Dk.Purple,x:2208,y:1058},{name:Rk.Xining,region:Dk.Purple,x:1868,y:1226},{name:Rk.Lanzhou,region:Dk.Purple,x:2142,y:1328},{name:Rk.Kunming,region:Dk.Yellow,x:1840,y:2248},{name:Rk.Chengou,region:Dk.Yellow,x:1988,y:1736},{name:Rk.Xian,region:Dk.Yellow,x:2440,y:1478},{name:Rk.Chongqing,region:Dk.Yellow,x:2300,y:1880},{name:Rk.Nanning,region:Dk.Yellow,x:2318,y:2452},{name:Rk.Haikou,region:Dk.Yellow,x:2524,y:2680},{name:Rk.Guiyang,region:Dk.Yellow,x:2212,y:2112}],connections:[{nodes:[Rk.Kunming,Rk.Chengou],cost:16},{nodes:[Rk.Nanning,Rk.Haikou],cost:10},{nodes:[Rk.Guangzhou,Rk.Hongkong],cost:4},{nodes:[Rk.Guangzhou,Rk.Chaozhou],cost:7},{nodes:[Rk.Chaozhou,Rk.Hongkong],cost:7},{nodes:[Rk.Guangzhou,Rk.Haikou],cost:13},{nodes:[Rk.Nanning,Rk.Guangzhou],cost:11},{nodes:[Rk.Xining,Rk.Chengou],cost:20},{nodes:[Rk.Chengou,Rk.Chongqing],cost:6},{nodes:[Rk.Chongqing,Rk.Guiyang],cost:9},{nodes:[Rk.Guiyang,Rk.Kunming],cost:12},{nodes:[Rk.Guiyang,Rk.Nanning],cost:12},{nodes:[Rk.Guiyang,Rk.Guangzhou],cost:18},{nodes:[Rk.Guangzhou,Rk.Changsha],cost:14},{nodes:[Rk.Changsha,Rk.Chongqing],cost:16},{nodes:[Rk.Changsha,Rk.Wuhan],cost:6},{nodes:[Rk.Wuhan,Rk.Nanchang],cost:6},{nodes:[Rk.Nanchang,Rk.Changsha],cost:7},{nodes:[Rk.Changsha,Rk.Guiyang],cost:15},{nodes:[Rk.Guiyang,Rk.Chengou],cost:13},{nodes:[Rk.Guangzhou,Rk.Nanchang],cost:16},{nodes:[Rk.Nanchang,Rk.Chaozhou],cost:14},{nodes:[Rk.Chaozhou,Rk.Fuzhou],cost:9},{nodes:[Rk.Fuzhou,Rk.Nanchang],cost:13},{nodes:[Rk.Wuhan,Rk.Hangzhou],cost:13},{nodes:[Rk.Hangzhou,Rk.Fuzhou],cost:13},{nodes:[Rk.Hangzhou,Rk.Shanghai],cost:4},{nodes:[Rk.Shanghai,Rk.Nanjing],cost:6},{nodes:[Rk.Nanjing,Rk.Hangzhou],cost:5},{nodes:[Rk.Hangzhou,Rk.Nanchang],cost:10},{nodes:[Rk.Chongqing,Rk.Wuhan],cost:18},{nodes:[Rk.Lanzhou,Rk.Chengou],cost:16},{nodes:[Rk.Chengou,Rk.Xian],cost:14},{nodes:[Rk.Xian,Rk.Chongqing],cost:14},{nodes:[Rk.Xian,Rk.Wuhan],cost:15},{nodes:[Rk.Wuhan,Rk.Zhengzhou],cost:10},{nodes:[Rk.Zhengzhou,Rk.Xian],cost:10},{nodes:[Rk.Xian,Rk.Lanzhou],cost:15},{nodes:[Rk.Lanzhou,Rk.Yinchuan],cost:9},{nodes:[Rk.Yinchuan,Rk.Xining],cost:11},{nodes:[Rk.Lanzhou,Rk.Taiyuan],cost:18},{nodes:[Rk.Taiyuan,Rk.Xian],cost:12},{nodes:[Rk.Taiyuan,Rk.Zhengzhou],cost:11},{nodes:[Rk.Taiyuan,Rk.Shijiazhuang],cost:5},{nodes:[Rk.Shijiazhuang,Rk.Tianjin],cost:5},{nodes:[Rk.Shijiazhuang,Rk.Jinan],cost:6},{nodes:[Rk.Shijiazhuang,Rk.Zhengzhou],cost:9},{nodes:[Rk.Zhengzhou,Rk.Jinan],cost:7},{nodes:[Rk.Zhengzhou,Rk.Nanjing],cost:12},{nodes:[Rk.Nanjing,Rk.Wuhan],cost:10},{nodes:[Rk.Jinan,Rk.Nanjing],cost:11},{nodes:[Rk.Nanjing,Rk.Qingdao],cost:12},{nodes:[Rk.Qingdao,Rk.Jinan],cost:6},{nodes:[Rk.Jinan,Rk.Tianjin],cost:6},{nodes:[Rk.Xining,Rk.Lanzhou],cost:6},{nodes:[Rk.Yinchuan,Rk.Baotou],cost:9},{nodes:[Rk.Baotou,Rk.Taiyuan],cost:9},{nodes:[Rk.Taiyuan,Rk.Yinchuan],cost:14},{nodes:[Rk.Yinchuan,Rk.Hami],cost:25},{nodes:[Rk.Hami,Rk.Xining],cost:25},{nodes:[Rk.Wulumuqi,Rk.Kuerle],cost:9},{nodes:[Rk.Kuerle,Rk.Karamay],cost:12},{nodes:[Rk.Karamay,Rk.Wulumuqi],cost:7},{nodes:[Rk.Wulumuqi,Rk.Hami],cost:12},{nodes:[Rk.Hami,Rk.Kuerle],cost:15},{nodes:[Rk.Taiyuan,Rk.Beijing],cost:10},{nodes:[Rk.Beijing,Rk.Shijiazhuang],cost:6},{nodes:[Rk.Beijing,Rk.Tangshan],cost:3},{nodes:[Rk.Tangshan,Rk.Tianjin],cost:0},{nodes:[Rk.Beijing,Rk.Baotou],cost:14},{nodes:[Rk.Tangshan,Rk.Shenyang],cost:11},{nodes:[Rk.Dalian,Rk.Anshan],cost:6},{nodes:[Rk.Qiqhaer,Rk.Hegang],cost:11},{nodes:[Rk.Hegang,Rk.Haerbin],cost:7},{nodes:[Rk.Haerbin,Rk.Qiqhaer],cost:6},{nodes:[Rk.Changchun,Rk.Jilin],cost:2},{nodes:[Rk.Jilin,Rk.Haerbin],cost:5},{nodes:[Rk.Haerbin,Rk.Changchun],cost:5},{nodes:[Rk.Changchun,Rk.Shenyang],cost:5},{nodes:[Rk.Shenyang,Rk.Anshan],cost:2},{nodes:[Rk.Jilin,Rk.Fushun],cost:6},{nodes:[Rk.Fushun,Rk.Shenyang],cost:0},{nodes:[Rk.Changchun,Rk.Qiqhaer],cost:9}],layout:"Portrait",mapPosition:[-400,70],adjustRatio:[.35,.35],resupply:[[[4,4,3],[5,5,3],[6,6,4],[7,7,5],[9,9,6]],[[2,2,4],[3,3,4],[4,4,5],[5,5,6],[6,6,7]],[[2,2,1],[2,2,1],[3,3,2],[3,3,3],[5,5,3]],[[1,1,1],[1,1,1],[2,2,2],[3,3,2],[3,3,3]]],startingResources:[12,12,6,0],setupDeck:function(e,n,t){var r=Object(Qw["cloneDeep"])(yk),o=[];2==e||3==e?o=[3,4,9,11,16,18,20,24,30,33,46]:4==e?o=[3,4,11,18,24,33,46]:5!=e&&6!=e||(o=[3,4,33]);var i=r.filter((function(e){return!o.includes(e.number)})),a=i.filter((function(e){return e.number<=30})),c=i.filter((function(e){return e.type==Pw.Step3})),u=uk(i.filter((function(e){return e.number>=31&&e.number<=35})).concat(c),t()+""),s=uk(i.filter((function(e){return e.number>=36&&e.number<=50})),t()+""),l=a.splice(0,e),d=[],f=a.concat(u).concat(s);return{actualMarket:l,futureMarket:d,powerPlantsDeck:f}},mapSpecificRules:"There are several changes to when new plants are drawn. In particular, during steps 1 and 2, plants are only drawn from the deck during the bureaucracy phase.\n",deckBuild:"the same plants are removed every game: with 2-3 players 3, 4, 9, 11, 16, 18, 20, 24, 30, 33, 46; with 4 players 3, 4, 11, 18, 24, 33, 46; with 5-6 players 3, 4, 33. The deck is ordered, not shuffled: plants 5-30 in ascending order on top, then plants 31-35 shuffled together with the Step 3 card, then plants 36-50 shuffled on the bottom. The starting market has one plant per player and the future market starts empty."};(function(e){e["Pink"]="pink",e["Red"]="red",e["Brown"]="brown",e["Yellow"]="yellow",e["Orange"]="orange",e["Blue"]="blue",e["Green"]="green"})(Bk||(Bk={})),function(e){e["Glasgow"]="Glasgow",e["Dublin"]="Dublin",e["Birmingham"]="Birmingham",e["London"]="London",e["Randstad"]="Randstad",e["Vlaanderen"]="Vlaanderen",e["RheinRuhr"]="Rhein-Ruhr",e["Paris"]="Paris",e["Bordeaux"]="Bordeaux",e["Lyon"]="Lyon",e["Marseille"]="Marseille",e["Lisboa"]="Lisboa",e["Madrid"]="Madrid",e["Barcelona"]="Barcelona",e["Bremen"]="Bremen",e["Berlin"]="Berlin",e["RheinMain"]="Rhein-Main",e["Stuttgart"]="Stuttgart",e["Praha"]="Praha",e["Katowice"]="Katowice",e["München"]="München",e["Zürich"]="Zürich",e["Milano"]="Milano",e["Roma"]="Roma",e["Napoli"]="Napoli",e["Wien"]="Wien",e["Budapest"]="Budapest",e["Zagreb"]="Zagreb",e["Oslo"]="Oslo",e["Stockholm"]="Stockholm",e["Helsinki"]="Helsinki",e["Tallinn"]="Tallinn",e["Kobenhavn"]="København",e["Riga"]="Riga",e["StPetersburg"]="St. Petersburg",e["Minsk"]="Minsk",e["Moskwa"]="Moskwa",e["Warszawa"]="Warszawa",e["Kyjiv"]="Kyjiv",e["Kharkiv"]="Kharkiv",e["Odessa"]="Odessa",e["Bucuresti"]="Bucureşti",e["Beograd"]="Beograd",e["Sofia"]="Sofia",e["Tirana"]="Tirana",e["Athina"]="Athina",e["Istanbul"]="Istanbul",e["Izmir"]="Izmir",e["Ankara"]="Ankara"}(Ek||(Ek={}));var Gk,Zk,Fk={name:"Europe",cities:[{name:Ek.Glasgow,region:Bk.Pink,x:490,y:510},{name:Ek.Dublin,region:Bk.Pink,x:390,y:660},{name:Ek.Birmingham,region:Bk.Pink,x:485,y:695},{name:Ek.London,region:Bk.Pink,x:545,y:800},{name:Ek.Randstad,region:Bk.Pink,x:786,y:594},{name:Ek.Vlaanderen,region:Bk.Pink,x:794,y:756},{name:Ek.RheinRuhr,region:Bk.Pink,x:820,y:884},{name:Ek.Paris,region:Bk.Red,x:632,y:926},{name:Ek.Bordeaux,region:Bk.Red,x:655,y:1095},{name:Ek.Lyon,region:Bk.Red,x:785,y:1100},{name:Ek.Marseille,region:Bk.Red,x:815,y:1240},{name:Ek.Barcelona,region:Bk.Red,x:650,y:1280},{name:Ek.Madrid,region:Bk.Red,x:435,y:1335},{name:Ek.Lisboa,region:Bk.Red,x:255,y:1335},{name:Ek.Bremen,region:Bk.Brown,x:1010,y:770},{name:Ek.Berlin,region:Bk.Brown,x:1180,y:800},{name:Ek.RheinMain,region:Bk.Brown,x:982,y:898},{name:Ek.Stuttgart,region:Bk.Brown,x:995,y:1e3},{name:Ek.München,region:Bk.Brown,x:1114,y:1020},{name:Ek.Praha,region:Bk.Brown,x:1235,y:940},{name:Ek.Katowice,region:Bk.Brown,x:1380,y:940},{name:Ek.Zürich,region:Bk.Yellow,x:1010,y:1100},{name:Ek.Milano,region:Bk.Yellow,x:1075,y:1180},{name:Ek.Roma,region:Bk.Yellow,x:1180,y:1310},{name:Ek.Napoli,region:Bk.Yellow,x:1235,y:1430},{name:Ek.Wien,region:Bk.Yellow,x:1265,y:1080},{name:Ek.Budapest,region:Bk.Yellow,x:1390,y:1080},{name:Ek.Zagreb,region:Bk.Yellow,x:1300,y:1180},{name:Ek.Oslo,region:Bk.Orange,x:1015,y:365},{name:Ek.Stockholm,region:Bk.Orange,x:1170,y:415},{name:Ek.Helsinki,region:Bk.Orange,x:1395,y:360},{name:Ek.Tallinn,region:Bk.Orange,x:1410,y:470},{name:Ek.Riga,region:Bk.Orange,x:1395,y:575},{name:Ek.Kobenhavn,region:Bk.Orange,x:1180,y:660},{name:Ek.StPetersburg,region:Bk.Orange,x:1620,y:460},{name:Ek.Warszawa,region:Bk.Blue,x:1500,y:815},{name:Ek.Minsk,region:Bk.Blue,x:1610,y:815},{name:Ek.Moskwa,region:Bk.Blue,x:1830,y:600},{name:Ek.Kyjiv,region:Bk.Blue,x:1690,y:980},{name:Ek.Kharkiv,region:Bk.Blue,x:1860,y:980},{name:Ek.Odessa,region:Bk.Blue,x:1720,y:1100},{name:Ek.Bucuresti,region:Bk.Blue,x:1610,y:1175},{name:Ek.Beograd,region:Bk.Green,x:1390,y:1175},{name:Ek.Sofia,region:Bk.Green,x:1505,y:1240},{name:Ek.Tirana,region:Bk.Green,x:1370,y:1330},{name:Ek.Athina,region:Bk.Green,x:1480,y:1450},{name:Ek.Istanbul,region:Bk.Green,x:1665,y:1335},{name:Ek.Izmir,region:Bk.Green,x:1730,y:1430},{name:Ek.Ankara,region:Bk.Green,x:1850,y:1380}],connections:[{nodes:[Ek.Dublin,Ek.Glasgow],cost:17},{nodes:[Ek.Glasgow,Ek.Birmingham],cost:13},{nodes:[Ek.Dublin,Ek.Birmingham],cost:15},{nodes:[Ek.Birmingham,Ek.London],cost:4},{nodes:[Ek.London,Ek.Vlaanderen],cost:15},{nodes:[Ek.London,Ek.Randstad],cost:18},{nodes:[Ek.Randstad,Ek.Vlaanderen],cost:4},{nodes:[Ek.Vlaanderen,Ek.RheinRuhr],cost:4},{nodes:[Ek.Paris,Ek.Bordeaux],cost:12},{nodes:[Ek.Paris,Ek.Lyon],cost:11},{nodes:[Ek.Bordeaux,Ek.Lyon],cost:12},{nodes:[Ek.Lyon,Ek.Marseille],cost:8},{nodes:[Ek.Bordeaux,Ek.Marseille],cost:12},{nodes:[Ek.Marseille,Ek.Barcelona],cost:11},{nodes:[Ek.Bordeaux,Ek.Barcelona],cost:15},{nodes:[Ek.Bordeaux,Ek.Madrid],cost:15},{nodes:[Ek.Madrid,Ek.Barcelona],cost:14},{nodes:[Ek.Madrid,Ek.Lisboa],cost:13},{nodes:[Ek.Paris,Ek.London],cost:16},{nodes:[Ek.Paris,Ek.Vlaanderen],cost:7},{nodes:[Ek.Paris,Ek.RheinRuhr],cost:10},{nodes:[Ek.Bremen,Ek.Berlin],cost:6},{nodes:[Ek.Bremen,Ek.RheinMain],cost:9},{nodes:[Ek.Berlin,Ek.RheinMain],cost:10},{nodes:[Ek.Berlin,Ek.Praha],cost:7},{nodes:[Ek.RheinMain,Ek.Praha],cost:10},{nodes:[Ek.RheinMain,Ek.München],cost:6},{nodes:[Ek.RheinMain,Ek.Stuttgart],cost:3},{nodes:[Ek.Stuttgart,Ek.München],cost:5},{nodes:[Ek.München,Ek.Praha],cost:6},{nodes:[Ek.Praha,Ek.Katowice],cost:8},{nodes:[Ek.Bremen,Ek.Randstad],cost:8},{nodes:[Ek.Bremen,Ek.Vlaanderen],cost:10},{nodes:[Ek.RheinMain,Ek.Vlaanderen],cost:6},{nodes:[Ek.RheinMain,Ek.RheinRuhr],cost:3},{nodes:[Ek.Stuttgart,Ek.Paris],cost:14},{nodes:[Ek.Zürich,Ek.Milano],cost:11},{nodes:[Ek.Milano,Ek.Zagreb],cost:17},{nodes:[Ek.Milano,Ek.Roma],cost:19},{nodes:[Ek.Roma,Ek.Napoli],cost:7},{nodes:[Ek.Wien,Ek.Budapest],cost:5},{nodes:[Ek.Wien,Ek.Zagreb],cost:8},{nodes:[Ek.Budapest,Ek.Zagreb],cost:7},{nodes:[Ek.Paris,Ek.Zürich],cost:14},{nodes:[Ek.Lyon,Ek.Zürich],cost:14},{nodes:[Ek.Lyon,Ek.Milano],cost:11},{nodes:[Ek.Marseille,Ek.Milano],cost:13},{nodes:[Ek.Zürich,Ek.München],cost:8},{nodes:[Ek.Zürich,Ek.Stuttgart],cost:5},{nodes:[Ek.München,Ek.Wien],cost:9},{nodes:[Ek.Praha,Ek.Wien],cost:7},{nodes:[Ek.Wien,Ek.Katowice],cost:8},{nodes:[Ek.Budapest,Ek.Katowice],cost:11},{nodes:[Ek.Oslo,Ek.Kobenhavn],cost:17},{nodes:[Ek.Oslo,Ek.Stockholm],cost:13},{nodes:[Ek.Stockholm,Ek.Kobenhavn],cost:18},{nodes:[Ek.Stockholm,Ek.Helsinki],cost:21},{nodes:[Ek.Helsinki,Ek.StPetersburg],cost:11},{nodes:[Ek.Tallinn,Ek.StPetersburg],cost:9},{nodes:[Ek.Tallinn,Ek.Riga],cost:7},{nodes:[Ek.Riga,Ek.StPetersburg],cost:13},{nodes:[Ek.Kobenhavn,Ek.Bremen],cost:12},{nodes:[Ek.Kobenhavn,Ek.Berlin],cost:15},{nodes:[Ek.Warszawa,Ek.Minsk],cost:10},{nodes:[Ek.Warszawa,Ek.Kyjiv],cost:14},{nodes:[Ek.Minsk,Ek.Moskwa],cost:14},{nodes:[Ek.Minsk,Ek.Kyjiv],cost:10},{nodes:[Ek.Moskwa,Ek.Kharkiv],cost:16},{nodes:[Ek.Kyjiv,Ek.Kharkiv],cost:9},{nodes:[Ek.Kyjiv,Ek.Odessa],cost:9},{nodes:[Ek.Kharkiv,Ek.Odessa],cost:13},{nodes:[Ek.Odessa,Ek.Bucuresti],cost:10},{nodes:[Ek.Berlin,Ek.Warszawa],cost:11},{nodes:[Ek.Praha,Ek.Warszawa],cost:11},{nodes:[Ek.Katowice,Ek.Warszawa],cost:5},{nodes:[Ek.Kobenhavn,Ek.Warszawa],cost:25},{nodes:[Ek.Riga,Ek.Warszawa],cost:12},{nodes:[Ek.Riga,Ek.Minsk],cost:8},{nodes:[Ek.Riga,Ek.Moskwa],cost:18},{nodes:[Ek.StPetersburg,Ek.Moskwa],cost:14},{nodes:[Ek.Kyjiv,Ek.Budapest],cost:21},{nodes:[Ek.Odessa,Ek.Budapest],cost:25},{nodes:[Ek.Bucuresti,Ek.Budapest],cost:16},{nodes:[Ek.Beograd,Ek.Sofia],cost:11},{nodes:[Ek.Beograd,Ek.Tirana],cost:15},{nodes:[Ek.Sofia,Ek.Tirana],cost:13},{nodes:[Ek.Sofia,Ek.Athina],cost:17},{nodes:[Ek.Sofia,Ek.Istanbul],cost:13},{nodes:[Ek.Tirana,Ek.Athina],cost:16},{nodes:[Ek.Istanbul,Ek.Izmir],cost:8},{nodes:[Ek.Istanbul,Ek.Ankara],cost:9},{nodes:[Ek.Izmir,Ek.Ankara],cost:10},{nodes:[Ek.Bucuresti,Ek.Beograd],cost:12},{nodes:[Ek.Bucuresti,Ek.Sofia],cost:9},{nodes:[Ek.Bucuresti,Ek.Istanbul],cost:13},{nodes:[Ek.Beograd,Ek.Zagreb],cost:9},{nodes:[Ek.Beograd,Ek.Napoli],cost:18},{nodes:[Ek.Beograd,Ek.Budapest],cost:10},{nodes:[Ek.Tirana,Ek.Napoli],cost:25}],layout:"Landscape",adjustRatio:[.5,.5],mapPosition:[-30,-50],mapRotation:10,resupply:[[[2,6,2],[2,6,2],[3,7,4],[3,8,4],[5,10,5]],[[2,2,3],[2,2,3],[3,3,4],[4,3,5],[4,5,6]],[[2,3,5],[2,3,5],[3,4,5],[3,5,7],[4,6,8]],[[1,1,2],[1,1,2],[1,2,2],[2,3,3],[2,3,4]]],coalPrices:[1,1,1,1,2,2,2,2,3,3,3,3,4,4,5,5,6,6,7,7,8,8,9,9],oilPrices:[1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,9,9],garbagePrices:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8],uraniumPrices:[1,2,3,4,5,6,7,7,8,8,9,9],startingResources:[20,16,18,4],startingSupply:[24,24,24,12],setupDeck:function(e,n,t){var r=Object(Qw["cloneDeep"])(yk),o=r.findIndex((function(e){return e.type===Pw.Step3})),i=r.splice(o,1)[0],a=uk(r.splice(0,13),t()+""),c=uk(r,t()+""),u=a.splice(0,9).sort((function(e,n){return e.number-n.number})),s=u.slice(0,4),l=u.slice(4),d=0,f=0;2==e?(d=1,f=5):3==e?(d=2,f=6):4==e&&(d=1,f=3);var p=Math.max(0,d-a.length),v=a.slice(d),h=c.slice(f+p),m=uk(v.concat(h),t()+"");if(m.length>0&&m[0].number<=15){var g=m.findIndex((function(e){return e.number>15}));if(g>0){var y=[m[g],m[0]];m[0]=y[0],m[g]=y[1]}}return m.push(i),{actualMarket:s,futureMarket:l,powerPlantsDeck:m}},mapSpecificRules:"When Step 2 begins, remove the lowest-numbered plant from the current market from the game once and do not replace it; the future market then has 4 plants instead of 5.\n",deckBuild:"Europe uses the New Power Plants Set 2 deck (cards with a plug on the back). The power plant market starts as 4 current + 5 future power plants (9 total), all drawn from the plug plants; the top card of the draw deck is never a plug plant."};(function(e){e["Brown"]="brown",e["Purple"]="purple",e["Blue"]="blue",e["Yellow"]="yellow",e["Green"]="green",e["Red"]="red"})(Gk||(Gk={})),function(e){e["Calais"]="Calais",e["Lile"]="Lile",e["Amiens"]="Amiens",e["Reims"]="Reims",e["Metz"]="Metz",e["Nancy"]="Nancy",e["Strasbourg"]="Strasbourg",e["Havre"]="Havre",e["Caen"]="Caen",e["Brest"]="Brest",e["Rennes"]="Rennes",e["Lemans"]="Le Mans",e["Angers"]="Angers",e["Rouen"]="Rouen",e["Paris1"]="Paris 1",e["Paris2"]="Paris 2",e["Paris3"]="Paris 3",e["Orleans"]="Orleans",e["Tours"]="Tours",e["Limoges"]="Limoges",e["Clermontferrand"]="Clermont-Ferrand",e["Besancon"]="Besancon",e["Dijon"]="Dijon",e["Lyon"]="Lyon",e["Chamonix"]="Chamonix",e["Mulhouse"]="Mulhouse",e["Grenoble"]="Grenoble",e["Saintetienne"]="Saint-Etienne",e["Nice"]="Nice",e["Toulon"]="Toulon",e["Aimenprovence"]="Aim-En-Provence",e["Marseille"]="Marseille",e["Nimes"]="Nimes",e["Montpellier"]="Montpellier",e["Perpignan"]="Perpignan",e["Nantes"]="Nantes",e["Larochelle"]="La Rochelle",e["Bordeaux"]="Bordeaux",e["Biarritz"]="Biarritz",e["Toulous"]="Toulous",e["Carcassone"]="Carcas Sone",e["Lourdes"]="Lourdes"}(Zk||(Zk={}));var Kk,Vk,$k={name:"France",cities:[{name:Zk.Calais,region:Gk.Brown,x:661,y:294},{name:Zk.Lile,region:Gk.Brown,x:791,y:328},{name:Zk.Amiens,region:Gk.Brown,x:700,y:433},{name:Zk.Reims,region:Gk.Brown,x:888,y:531},{name:Zk.Metz,region:Gk.Brown,x:1076,y:528},{name:Zk.Nancy,region:Gk.Brown,x:1078,y:643},{name:Zk.Strasbourg,region:Gk.Brown,x:1208,y:615},{name:Zk.Havre,region:Gk.Purple,x:487,y:471},{name:Zk.Caen,region:Gk.Purple,x:423,y:567},{name:Zk.Brest,region:Gk.Purple,x:79,y:654},{name:Zk.Rennes,region:Gk.Purple,x:326,y:695},{name:Zk.Lemans,region:Gk.Purple,x:516,y:699},{name:Zk.Angers,region:Gk.Purple,x:446,y:798},{name:Zk.Rouen,region:Gk.Purple,x:598,y:506},{name:Zk.Paris1,region:Gk.Blue,x:693,y:553},{name:Zk.Paris2,region:Gk.Blue,x:779,y:566},{name:Zk.Paris3,region:Gk.Blue,x:722,y:633},{name:Zk.Orleans,region:Gk.Blue,x:684,y:736},{name:Zk.Tours,region:Gk.Blue,x:564,y:813},{name:Zk.Limoges,region:Gk.Blue,x:605,y:1009},{name:Zk.Clermontferrand,region:Gk.Blue,x:777,y:1017},{name:Zk.Besancon,region:Gk.Yellow,x:1084,y:828},{name:Zk.Dijon,region:Gk.Yellow,x:964,y:801},{name:Zk.Lyon,region:Gk.Yellow,x:964,y:973},{name:Zk.Chamonix,region:Gk.Yellow,x:1153,y:987},{name:Zk.Mulhouse,region:Gk.Yellow,x:1180,y:742},{name:Zk.Grenoble,region:Gk.Yellow,x:1048,y:1116},{name:Zk.Saintetienne,region:Gk.Yellow,x:892,y:1088},{name:Zk.Nice,region:Gk.Green,x:1178,y:1302},{name:Zk.Toulon,region:Gk.Green,x:1070,y:1397},{name:Zk.Aimenprovence,region:Gk.Green,x:1016,y:1304},{name:Zk.Marseille,region:Gk.Green,x:954,y:1369},{name:Zk.Nimes,region:Gk.Green,x:889,y:1256},{name:Zk.Montpellier,region:Gk.Green,x:816,y:1330},{name:Zk.Perpignan,region:Gk.Green,x:767,y:1460},{name:Zk.Nantes,region:Gk.Red,x:330,y:833},{name:Zk.Larochelle,region:Gk.Red,x:379,y:959},{name:Zk.Bordeaux,region:Gk.Red,x:435,y:1148},{name:Zk.Biarritz,region:Gk.Red,x:345,y:1328},{name:Zk.Toulous,region:Gk.Red,x:621,y:1309},{name:Zk.Carcassone,region:Gk.Red,x:700,y:1382},{name:Zk.Lourdes,region:Gk.Red,x:479,y:1393}],connections:[{nodes:[Zk.Calais,Zk.Havre],cost:13},{nodes:[Zk.Calais,Zk.Lile],cost:7},{nodes:[Zk.Calais,Zk.Amiens],cost:8},{nodes:[Zk.Lile,Zk.Reims],cost:9},{nodes:[Zk.Havre,Zk.Rouen],cost:5},{nodes:[Zk.Havre,Zk.Caen],cost:5},{nodes:[Zk.Caen,Zk.Rennes],cost:12},{nodes:[Zk.Rennes,Zk.Brest],cost:16},{nodes:[Zk.Brest,Zk.Nantes],cost:19},{nodes:[Zk.Rennes,Zk.Nantes],cost:7},{nodes:[Zk.Rennes,Zk.Angers],cost:7},{nodes:[Zk.Rennes,Zk.Lemans],cost:9},{nodes:[Zk.Caen,Zk.Lemans],cost:10},{nodes:[Zk.Lemans,Zk.Paris3],cost:10},{nodes:[Zk.Paris3,Zk.Caen],cost:12},{nodes:[Zk.Caen,Zk.Rouen],cost:9},{nodes:[Zk.Rouen,Zk.Paris1],cost:9},{nodes:[Zk.Rouen,Zk.Amiens],cost:6},{nodes:[Zk.Lile,Zk.Amiens],cost:7},{nodes:[Zk.Amiens,Zk.Reims],cost:11},{nodes:[Zk.Reims,Zk.Metz],cost:12},{nodes:[Zk.Metz,Zk.Strasbourg],cost:11},{nodes:[Zk.Strasbourg,Zk.Nancy],cost:10},{nodes:[Zk.Strasbourg,Zk.Mulhouse],cost:6},{nodes:[Zk.Mulhouse,Zk.Besancon],cost:8},{nodes:[Zk.Besancon,Zk.Nancy],cost:14},{nodes:[Zk.Nancy,Zk.Dijon],cost:15},{nodes:[Zk.Reims,Zk.Nancy],cost:13},{nodes:[Zk.Nancy,Zk.Paris2],cost:21},{nodes:[Zk.Paris1,Zk.Paris2],cost:0},{nodes:[Zk.Paris1,Zk.Paris3],cost:0},{nodes:[Zk.Paris2,Zk.Dijon],cost:20},{nodes:[Zk.Dijon,Zk.Orleans],cost:18},{nodes:[Zk.Orleans,Zk.Lemans],cost:8},{nodes:[Zk.Lemans,Zk.Tours],cost:5},{nodes:[Zk.Tours,Zk.Orleans],cost:7},{nodes:[Zk.Paris1,Zk.Amiens],cost:9},{nodes:[Zk.Dijon,Zk.Clermontferrand],cost:19},{nodes:[Zk.Clermontferrand,Zk.Limoges],cost:12},{nodes:[Zk.Limoges,Zk.Toulous],cost:19},{nodes:[Zk.Toulous,Zk.Clermontferrand],cost:24},{nodes:[Zk.Clermontferrand,Zk.Montpellier],cost:22},{nodes:[Zk.Montpellier,Zk.Nimes],cost:3},{nodes:[Zk.Saintetienne,Zk.Grenoble],cost:10},{nodes:[Zk.Grenoble,Zk.Chamonix],cost:12},{nodes:[Zk.Chamonix,Zk.Besancon],cost:19},{nodes:[Zk.Besancon,Zk.Dijon],cost:6},{nodes:[Zk.Dijon,Zk.Lyon],cost:13},{nodes:[Zk.Lyon,Zk.Clermontferrand],cost:11},{nodes:[Zk.Saintetienne,Zk.Montpellier],cost:18},{nodes:[Zk.Saintetienne,Zk.Nimes],cost:16},{nodes:[Zk.Nimes,Zk.Aimenprovence],cost:8},{nodes:[Zk.Aimenprovence,Zk.Nice],cost:8},{nodes:[Zk.Nice,Zk.Toulon],cost:7},{nodes:[Zk.Toulon,Zk.Marseille],cost:3},{nodes:[Zk.Marseille,Zk.Aimenprovence],cost:0},{nodes:[Zk.Nice,Zk.Grenoble],cost:19},{nodes:[Zk.Grenoble,Zk.Aimenprovence],cost:17},{nodes:[Zk.Grenoble,Zk.Nimes],cost:18},{nodes:[Zk.Montpellier,Zk.Toulous],cost:14},{nodes:[Zk.Toulous,Zk.Bordeaux],cost:14},{nodes:[Zk.Bordeaux,Zk.Limoges],cost:13},{nodes:[Zk.Limoges,Zk.Tours],cost:13},{nodes:[Zk.Tours,Zk.Larochelle],cost:13},{nodes:[Zk.Larochelle,Zk.Angers],cost:12},{nodes:[Zk.Angers,Zk.Lemans],cost:5},{nodes:[Zk.Angers,Zk.Nantes],cost:5},{nodes:[Zk.Nantes,Zk.Larochelle],cost:9},{nodes:[Zk.Larochelle,Zk.Bordeaux],cost:13},{nodes:[Zk.Bordeaux,Zk.Biarritz],cost:12},{nodes:[Zk.Bordeaux,Zk.Lourdes],cost:14},{nodes:[Zk.Lourdes,Zk.Biarritz],cost:9},{nodes:[Zk.Lourdes,Zk.Toulous],cost:10},{nodes:[Zk.Lourdes,Zk.Carcassone],cost:15},{nodes:[Zk.Lourdes,Zk.Perpignan],cost:20},{nodes:[Zk.Perpignan,Zk.Carcassone],cost:6},{nodes:[Zk.Carcassone,Zk.Toulous],cost:6},{nodes:[Zk.Carcassone,Zk.Montpellier],cost:9},{nodes:[Zk.Montpellier,Zk.Perpignan],cost:11},{nodes:[Zk.Orleans,Zk.Limoges],cost:19},{nodes:[Zk.Orleans,Zk.Clermontferrand],cost:18},{nodes:[Zk.Paris3,Zk.Orleans],cost:7},{nodes:[Zk.Angers,Zk.Tours],cost:6},{nodes:[Zk.Larochelle,Zk.Limoges],cost:13},{nodes:[Zk.Nancy,Zk.Metz],cost:3},{nodes:[Zk.Nancy,Zk.Mulhouse],cost:12},{nodes:[Zk.Besancon,Zk.Lyon],cost:16},{nodes:[Zk.Lyon,Zk.Grenoble],cost:7},{nodes:[Zk.Lyon,Zk.Chamonix],cost:13},{nodes:[Zk.Lyon,Zk.Saintetienne],cost:6},{nodes:[Zk.Saintetienne,Zk.Clermontferrand],cost:10},{nodes:[Zk.Paris2,Zk.Reims],cost:9},{nodes:[Zk.Paris3,Zk.Paris2],cost:0}],layout:"Portrait",mapPosition:[50,-100],adjustRatio:[.7,.7],resupply:[[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],startingResources:[24,18,6,8],setupDeck:function(e,n,t){var r,o,i=Object(Qw["cloneDeep"])(yk);if("original"==n){i=i.slice(8);var a=i.splice(0,1)[0];i.splice(1,1)[0];var c=i.pop();i=uk(i,t()+""),2==e||3==e?i=i.slice(8):4==e&&(i=i.slice(4)),i.unshift(a),i.push(c),r=[j_(3),j_(4),j_(5),j_(6)],o=[j_(7),j_(8),j_(9),j_(10)]}else{i.splice(10,1)[0];var u=i.splice(8,1)[0],s=uk(i.splice(0,11),t()+""),l=s.splice(0,7);l.push(u),l=l.sort((function(e,n){return e.number-n.number})),r=l.slice(0,4),o=l.slice(4);var d=s.shift(),f=i.pop();i=uk(i,t()+""),2==e?i=uk(i.slice(6).concat(s),t()+""):3==e?(s=s.slice(1),i=uk(i.slice(6).concat(s),t()+"")):i=uk(4==e?i.slice(3).concat(s):i.concat(s),t()+""),i.unshift(d),i.push(f)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:i}},deckBuild:{recharged:"power plant 13 is removed from the game and power plant 11 always starts in the market. Removal by player count: 2 players remove 6 higher plants, 3 players remove 1 low and 6 higher, 4 players remove 3 higher.",original:"power plant 13 is removed from the game; power plant 11 is placed on top of the deck in its place."}};(function(e){e["Purple"]="purple",e["Green"]="green",e["Red"]="red",e["Yellow"]="yellow",e["Cyan"]="cyan",e["Brown"]="brown"})(Kk||(Kk={})),function(e){e["Flensburg"]="Flensburg",e["Kiel"]="Kiel",e["Hamburg"]="Hamburg",e["Hannover"]="Hannover",e["Bremen"]="Bremen",e["Wilhelmshaven"]="Wilhelmshaven",e["Cuxhaven"]="Cuxhaven",e["Lubeck"]="Lubeck",e["Rostock"]="Rostock",e["Schwerin"]="Schwerin",e["Torgelow"]="Torgelow",e["Magdeburg"]="Magdeburg",e["Berlin"]="Berlin",e["FrankfurtO"]="Frankfurt-O",e["Halle"]="Halle",e["Leipzig"]="Leipzig",e["Dresden"]="Dresden",e["Erfurt"]="Erfurt",e["Fulda"]="Fulda",e["Würzburg"]="Würzburg",e["Nurnberg"]="Nurnberg",e["Osnabrück"]="Osnabrück",e["Münster"]="Münster",e["Essen"]="Essen",e["Duisburg"]="Duisburg",e["Dortmund"]="Dortmund",e["Dusseldorf"]="Dusseldorf",e["Kassel"]="Kassel",e["Aachen"]="Aachen",e["Köln"]="Köln",e["Trier"]="Trier",e["Wiesbaden"]="Wiesbaden",e["FrankfurtM"]="Frankfurt-M",e["Saarbrücken"]="Saarbrücken",e["Mannheim"]="Mannheim",e["Freiburg"]="Freiburg",e["Stuttgart"]="Stuttgart",e["Konstanz"]="Konstanz",e["Augsburg"]="Augsburg",e["Regensburg"]="Regensburg",e["München"]="München",e["Passau"]="Passau",e["Stralsund"]="Stralsund",e["Mainz"]="Mainz"}(Vk||(Vk={}));var Wk,Yk,Jk={name:"Germany",cities:[{name:Vk.Flensburg,region:Kk.Green,x:37,y:427},{name:Vk.Kiel,region:Kk.Green,x:106,y:392},{name:Vk.Hamburg,region:Kk.Green,x:212,y:396},{name:Vk.Hannover,region:Kk.Green,x:378,y:395},{name:Vk.Bremen,region:Kk.Green,x:276,y:463},{name:Vk.Wilhelmshaven,region:Kk.Green,x:211,y:521},{name:Vk.Cuxhaven,region:Kk.Green,x:168,y:474},{name:Vk.Lubeck,region:Kk.Brown,x:153,y:341},{name:Vk.Rostock,region:Kk.Brown,x:128,y:256},{name:Vk.Schwerin,region:Kk.Brown,x:217,y:297},{name:Vk.Torgelow,region:Kk.Brown,x:210,y:126},{name:Vk.Magdeburg,region:Kk.Brown,x:389,y:271},{name:Vk.Berlin,region:Kk.Brown,x:355,y:170},{name:Vk.FrankfurtO,region:Kk.Brown,x:381,y:99},{name:Vk.Halle,region:Kk.Yellow,x:493,y:259},{name:Vk.Leipzig,region:Kk.Yellow,x:526,y:222},{name:Vk.Dresden,region:Kk.Yellow,x:572,y:126},{name:Vk.Erfurt,region:Kk.Yellow,x:567,y:309},{name:Vk.Fulda,region:Kk.Yellow,x:628,y:398},{name:Vk.Würzburg,region:Kk.Yellow,x:735,y:386},{name:Vk.Nurnberg,region:Kk.Yellow,x:780,y:309},{name:Vk.Osnabrück,region:Kk.Red,x:359,y:516},{name:Vk.Münster,region:Kk.Red,x:427,y:554},{name:Vk.Essen,region:Kk.Red,x:475,y:603},{name:Vk.Duisburg,region:Kk.Red,x:456,y:645},{name:Vk.Dortmund,region:Kk.Red,x:505,y:543},{name:Vk.Dusseldorf,region:Kk.Red,x:537,y:635},{name:Vk.Kassel,region:Kk.Red,x:524,y:430},{name:Vk.Aachen,region:Kk.Cyan,x:614,y:654},{name:Vk.Köln,region:Kk.Cyan,x:590,y:589},{name:Vk.Trier,region:Kk.Cyan,x:739,y:628},{name:Vk.Wiesbaden,region:Kk.Cyan,x:697,y:514},{name:Vk.FrankfurtM,region:Kk.Cyan,x:672,y:473},{name:Vk.Saarbrücken,region:Kk.Cyan,x:818,y:568},{name:Vk.Mannheim,region:Kk.Cyan,x:796,y:479},{name:Vk.Freiburg,region:Kk.Purple,x:966,y:537},{name:Vk.Stuttgart,region:Kk.Purple,x:884,y:458},{name:Vk.Konstanz,region:Kk.Purple,x:1011,y:459},{name:Vk.Augsburg,region:Kk.Purple,x:911,y:346},{name:Vk.Regensburg,region:Kk.Purple,x:846,y:256},{name:Vk.München,region:Kk.Purple,x:967,y:278},{name:Vk.Passau,region:Kk.Purple,x:904,y:153}],connections:[{nodes:[Vk.Flensburg,Vk.Kiel],cost:4},{nodes:[Vk.Kiel,Vk.Hamburg],cost:8},{nodes:[Vk.Kiel,Vk.Lubeck],cost:4},{nodes:[Vk.Hamburg,Vk.Hannover],cost:17},{nodes:[Vk.Hamburg,Vk.Bremen],cost:11},{nodes:[Vk.Hamburg,Vk.Cuxhaven],cost:11},{nodes:[Vk.Hamburg,Vk.Lubeck],cost:6},{nodes:[Vk.Hamburg,Vk.Schwerin],cost:8},{nodes:[Vk.Bremen,Vk.Wilhelmshaven],cost:11},{nodes:[Vk.Bremen,Vk.Hannover],cost:10},{nodes:[Vk.Bremen,Vk.Cuxhaven],cost:8},{nodes:[Vk.Bremen,Vk.Osnabrück],cost:11},{nodes:[Vk.Hannover,Vk.Schwerin],cost:19},{nodes:[Vk.Hannover,Vk.Magdeburg],cost:15},{nodes:[Vk.Hannover,Vk.Erfurt],cost:19},{nodes:[Vk.Hannover,Vk.Osnabrück],cost:16},{nodes:[Vk.Hannover,Vk.Kassel],cost:15},{nodes:[Vk.Wilhelmshaven,Vk.Osnabrück],cost:14},{nodes:[Vk.Lubeck,Vk.Schwerin],cost:6},{nodes:[Vk.Schwerin,Vk.Rostock],cost:6},{nodes:[Vk.Schwerin,Vk.Torgelow],cost:19},{nodes:[Vk.Schwerin,Vk.Berlin],cost:18},{nodes:[Vk.Schwerin,Vk.Magdeburg],cost:16},{nodes:[Vk.Torgelow,Vk.Rostock],cost:19},{nodes:[Vk.Torgelow,Vk.Berlin],cost:15},{nodes:[Vk.Berlin,Vk.Magdeburg],cost:10},{nodes:[Vk.Berlin,Vk.FrankfurtO],cost:6},{nodes:[Vk.Berlin,Vk.Halle],cost:17},{nodes:[Vk.Magdeburg,Vk.Halle],cost:11},{nodes:[Vk.FrankfurtO,Vk.Leipzig],cost:21},{nodes:[Vk.FrankfurtO,Vk.Dresden],cost:16},{nodes:[Vk.Halle,Vk.Leipzig],cost:0},{nodes:[Vk.Leipzig,Vk.Dresden],cost:13},{nodes:[Vk.Erfurt,Vk.Halle],cost:6},{nodes:[Vk.Erfurt,Vk.Dresden],cost:19},{nodes:[Vk.Erfurt,Vk.Nurnberg],cost:21},{nodes:[Vk.Erfurt,Vk.Fulda],cost:13},{nodes:[Vk.Erfurt,Vk.Kassel],cost:15},{nodes:[Vk.Fulda,Vk.Würzburg],cost:11},{nodes:[Vk.Fulda,Vk.Kassel],cost:8},{nodes:[Vk.Fulda,Vk.FrankfurtM],cost:8},{nodes:[Vk.Würzburg,Vk.Nurnberg],cost:8},{nodes:[Vk.Würzburg,Vk.FrankfurtM],cost:13},{nodes:[Vk.Würzburg,Vk.Mannheim],cost:10},{nodes:[Vk.Würzburg,Vk.Stuttgart],cost:12},{nodes:[Vk.Würzburg,Vk.Augsburg],cost:19},{nodes:[Vk.Nurnberg,Vk.Augsburg],cost:18},{nodes:[Vk.Nurnberg,Vk.Regensburg],cost:12},{nodes:[Vk.Osnabrück,Vk.Münster],cost:7},{nodes:[Vk.Osnabrück,Vk.Kassel],cost:20},{nodes:[Vk.Münster,Vk.Essen],cost:6},{nodes:[Vk.Münster,Vk.Dortmund],cost:2},{nodes:[Vk.Essen,Vk.Duisburg],cost:0},{nodes:[Vk.Essen,Vk.Dusseldorf],cost:2},{nodes:[Vk.Essen,Vk.Dortmund],cost:4},{nodes:[Vk.Dortmund,Vk.Kassel],cost:18},{nodes:[Vk.Dortmund,Vk.Köln],cost:10},{nodes:[Vk.Dortmund,Vk.FrankfurtM],cost:20},{nodes:[Vk.Kassel,Vk.FrankfurtM],cost:13},{nodes:[Vk.Dusseldorf,Vk.Aachen],cost:9},{nodes:[Vk.Dusseldorf,Vk.Köln],cost:4},{nodes:[Vk.Aachen,Vk.Köln],cost:7},{nodes:[Vk.Aachen,Vk.Trier],cost:19},{nodes:[Vk.Trier,Vk.Köln],cost:20},{nodes:[Vk.Trier,Vk.Wiesbaden],cost:18},{nodes:[Vk.Trier,Vk.Saarbrücken],cost:11},{nodes:[Vk.Wiesbaden,Vk.FrankfurtM],cost:0},{nodes:[Vk.Wiesbaden,Vk.Köln],cost:21},{nodes:[Vk.Wiesbaden,Vk.Saarbrücken],cost:10},{nodes:[Vk.Wiesbaden,Vk.Mannheim],cost:11},{nodes:[Vk.Mannheim,Vk.Saarbrücken],cost:11},{nodes:[Vk.Mannheim,Vk.Stuttgart],cost:6},{nodes:[Vk.Stuttgart,Vk.Saarbrücken],cost:17},{nodes:[Vk.Stuttgart,Vk.Freiburg],cost:16},{nodes:[Vk.Stuttgart,Vk.Konstanz],cost:16},{nodes:[Vk.Stuttgart,Vk.Augsburg],cost:15},{nodes:[Vk.Konstanz,Vk.Freiburg],cost:14},{nodes:[Vk.Konstanz,Vk.Augsburg],cost:17},{nodes:[Vk.Regensburg,Vk.Augsburg],cost:13},{nodes:[Vk.Regensburg,Vk.München],cost:10},{nodes:[Vk.Regensburg,Vk.Passau],cost:12},{nodes:[Vk.Augsburg,Vk.München],cost:6},{nodes:[Vk.Passau,Vk.München],cost:14}],layout:"Landscape",mapPosition:[20,20]},Hk={name:"Germany",cities:[{name:Vk.Flensburg,region:Kk.Green,x:37,y:427},{name:Vk.Kiel,region:Kk.Green,x:106,y:392},{name:Vk.Hamburg,region:Kk.Green,x:212,y:396},{name:Vk.Hannover,region:Kk.Green,x:378,y:395},{name:Vk.Bremen,region:Kk.Green,x:276,y:463},{name:Vk.Wilhelmshaven,region:Kk.Green,x:211,y:521},{name:Vk.Cuxhaven,region:Kk.Green,x:168,y:474},{name:Vk.Lubeck,region:Kk.Brown,x:153,y:341},{name:Vk.Rostock,region:Kk.Brown,x:128,y:256},{name:Vk.Schwerin,region:Kk.Brown,x:217,y:297},{name:Vk.Stralsund,region:Kk.Brown,x:210,y:126},{name:Vk.Magdeburg,region:Kk.Brown,x:389,y:271},{name:Vk.Berlin,region:Kk.Brown,x:355,y:170},{name:Vk.FrankfurtO,region:Kk.Brown,x:381,y:99},{name:Vk.Halle,region:Kk.Yellow,x:493,y:259},{name:Vk.Leipzig,region:Kk.Yellow,x:526,y:222},{name:Vk.Dresden,region:Kk.Yellow,x:572,y:126},{name:Vk.Erfurt,region:Kk.Yellow,x:567,y:309},{name:Vk.Fulda,region:Kk.Yellow,x:628,y:398},{name:Vk.Würzburg,region:Kk.Yellow,x:735,y:386},{name:Vk.Nurnberg,region:Kk.Yellow,x:780,y:309},{name:Vk.Osnabrück,region:Kk.Red,x:359,y:516},{name:Vk.Münster,region:Kk.Red,x:427,y:554},{name:Vk.Essen,region:Kk.Red,x:475,y:603},{name:Vk.Duisburg,region:Kk.Red,x:456,y:645},{name:Vk.Dortmund,region:Kk.Red,x:505,y:543},{name:Vk.Dusseldorf,region:Kk.Red,x:537,y:635},{name:Vk.Kassel,region:Kk.Red,x:524,y:430},{name:Vk.Aachen,region:Kk.Cyan,x:614,y:654},{name:Vk.Köln,region:Kk.Cyan,x:590,y:589},{name:Vk.Trier,region:Kk.Cyan,x:739,y:628},{name:Vk.Mainz,region:Kk.Cyan,x:697,y:514},{name:Vk.FrankfurtM,region:Kk.Cyan,x:672,y:473},{name:Vk.Saarbrücken,region:Kk.Cyan,x:818,y:568},{name:Vk.Mannheim,region:Kk.Cyan,x:796,y:479},{name:Vk.Freiburg,region:Kk.Purple,x:966,y:537},{name:Vk.Stuttgart,region:Kk.Purple,x:884,y:458},{name:Vk.Konstanz,region:Kk.Purple,x:1011,y:459},{name:Vk.Augsburg,region:Kk.Purple,x:911,y:346},{name:Vk.Regensburg,region:Kk.Purple,x:846,y:256},{name:Vk.München,region:Kk.Purple,x:967,y:278},{name:Vk.Passau,region:Kk.Purple,x:904,y:153}],connections:[{nodes:[Vk.Flensburg,Vk.Kiel],cost:4},{nodes:[Vk.Kiel,Vk.Hamburg],cost:8},{nodes:[Vk.Kiel,Vk.Lubeck],cost:4},{nodes:[Vk.Hamburg,Vk.Hannover],cost:17},{nodes:[Vk.Hamburg,Vk.Bremen],cost:11},{nodes:[Vk.Hamburg,Vk.Cuxhaven],cost:11},{nodes:[Vk.Hamburg,Vk.Lubeck],cost:6},{nodes:[Vk.Hamburg,Vk.Schwerin],cost:8},{nodes:[Vk.Bremen,Vk.Wilhelmshaven],cost:11},{nodes:[Vk.Bremen,Vk.Hannover],cost:10},{nodes:[Vk.Bremen,Vk.Cuxhaven],cost:8},{nodes:[Vk.Bremen,Vk.Osnabrück],cost:11},{nodes:[Vk.Hannover,Vk.Schwerin],cost:19},{nodes:[Vk.Hannover,Vk.Magdeburg],cost:15},{nodes:[Vk.Hannover,Vk.Erfurt],cost:19},{nodes:[Vk.Hannover,Vk.Osnabrück],cost:16},{nodes:[Vk.Hannover,Vk.Kassel],cost:15},{nodes:[Vk.Wilhelmshaven,Vk.Osnabrück],cost:14},{nodes:[Vk.Lubeck,Vk.Schwerin],cost:6},{nodes:[Vk.Schwerin,Vk.Rostock],cost:6},{nodes:[Vk.Schwerin,Vk.Stralsund],cost:19},{nodes:[Vk.Schwerin,Vk.Berlin],cost:18},{nodes:[Vk.Schwerin,Vk.Magdeburg],cost:16},{nodes:[Vk.Stralsund,Vk.Rostock],cost:19},{nodes:[Vk.Stralsund,Vk.Berlin],cost:15},{nodes:[Vk.Berlin,Vk.Magdeburg],cost:10},{nodes:[Vk.Berlin,Vk.FrankfurtO],cost:6},{nodes:[Vk.Berlin,Vk.Halle],cost:17},{nodes:[Vk.Magdeburg,Vk.Halle],cost:11},{nodes:[Vk.FrankfurtO,Vk.Leipzig],cost:21},{nodes:[Vk.FrankfurtO,Vk.Dresden],cost:16},{nodes:[Vk.Halle,Vk.Leipzig],cost:0},{nodes:[Vk.Leipzig,Vk.Dresden],cost:13},{nodes:[Vk.Erfurt,Vk.Halle],cost:6},{nodes:[Vk.Erfurt,Vk.Dresden],cost:19},{nodes:[Vk.Erfurt,Vk.Nurnberg],cost:21},{nodes:[Vk.Erfurt,Vk.Fulda],cost:13},{nodes:[Vk.Erfurt,Vk.Kassel],cost:15},{nodes:[Vk.Fulda,Vk.Würzburg],cost:11},{nodes:[Vk.Fulda,Vk.Kassel],cost:8},{nodes:[Vk.Fulda,Vk.FrankfurtM],cost:8},{nodes:[Vk.Würzburg,Vk.Nurnberg],cost:8},{nodes:[Vk.Würzburg,Vk.FrankfurtM],cost:13},{nodes:[Vk.Würzburg,Vk.Mannheim],cost:10},{nodes:[Vk.Würzburg,Vk.Stuttgart],cost:12},{nodes:[Vk.Würzburg,Vk.Augsburg],cost:19},{nodes:[Vk.Nurnberg,Vk.Augsburg],cost:18},{nodes:[Vk.Nurnberg,Vk.Regensburg],cost:12},{nodes:[Vk.Osnabrück,Vk.Münster],cost:7},{nodes:[Vk.Osnabrück,Vk.Kassel],cost:20},{nodes:[Vk.Münster,Vk.Essen],cost:6},{nodes:[Vk.Münster,Vk.Dortmund],cost:2},{nodes:[Vk.Essen,Vk.Duisburg],cost:0},{nodes:[Vk.Essen,Vk.Dusseldorf],cost:2},{nodes:[Vk.Essen,Vk.Dortmund],cost:5},{nodes:[Vk.Dortmund,Vk.Kassel],cost:18},{nodes:[Vk.Dortmund,Vk.Köln],cost:10},{nodes:[Vk.Dortmund,Vk.FrankfurtM],cost:20},{nodes:[Vk.Kassel,Vk.FrankfurtM],cost:13},{nodes:[Vk.Dusseldorf,Vk.Aachen],cost:9},{nodes:[Vk.Dusseldorf,Vk.Köln],cost:4},{nodes:[Vk.Aachen,Vk.Köln],cost:7},{nodes:[Vk.Aachen,Vk.Trier],cost:19},{nodes:[Vk.Trier,Vk.Köln],cost:20},{nodes:[Vk.Trier,Vk.Mainz],cost:18},{nodes:[Vk.Trier,Vk.Saarbrücken],cost:11},{nodes:[Vk.Mainz,Vk.FrankfurtM],cost:0},{nodes:[Vk.Mainz,Vk.Köln],cost:21},{nodes:[Vk.Mainz,Vk.Saarbrücken],cost:10},{nodes:[Vk.Mainz,Vk.Mannheim],cost:11},{nodes:[Vk.Mannheim,Vk.Saarbrücken],cost:16},{nodes:[Vk.Mannheim,Vk.Stuttgart],cost:6},{nodes:[Vk.Stuttgart,Vk.Saarbrücken],cost:17},{nodes:[Vk.Stuttgart,Vk.Freiburg],cost:16},{nodes:[Vk.Stuttgart,Vk.Konstanz],cost:16},{nodes:[Vk.Stuttgart,Vk.Augsburg],cost:15},{nodes:[Vk.Konstanz,Vk.Freiburg],cost:14},{nodes:[Vk.Konstanz,Vk.Augsburg],cost:17},{nodes:[Vk.Regensburg,Vk.Augsburg],cost:13},{nodes:[Vk.Regensburg,Vk.München],cost:10},{nodes:[Vk.Regensburg,Vk.Passau],cost:12},{nodes:[Vk.Augsburg,Vk.München],cost:6},{nodes:[Vk.Passau,Vk.München],cost:14}],layout:"Landscape",mapPosition:[20,20],mapSpecificRules:"Stop resupplying uranium after power plant 39 has been bought."};(function(e){e["Red"]="red",e["Brown"]="brown",e["Green"]="green",e["Orange"]="orange",e["Yellow"]="yellow",e["Pink"]="pink"})(Wk||(Wk={})),function(e){e["Thiruvananthapuram"]="Thiruvananthapuram",e["Madurai"]="Madurai",e["Coimbatore"]="Coimbatore",e["Chennai"]="Chennai",e["Hyderabad"]="Hyderabad",e["Bangalore1"]="Bangalore 1",e["Bangalore2"]="Bangalore 2",e["Dibrugarh"]="Dibrugarh",e["Imphal"]="Imphal",e["Aizawi"]="Aizawi",e["Chittagong"]="Chittagong",e["Shillong"]="Shillong",e["Dhaka"]="Dhaka",e["Khulna"]="Khulna",e["Darjeeling"]="Darjeeling",e["Kathmandu"]="Kathmandu",e["Patna"]="Patna",e["Lakhnau"]="Lakhnau",e["Varanasi"]="Varanasi",e["Agra"]="Agra",e["Kanpur"]="Kanpur",e["Srinagar"]="Srinagar",e["Ludhiana"]="Ludhiana",e["Delhi1"]="Delhi 1",e["Delhi2"]="Delhi 2",e["Jaipur"]="Jaipur",e["Udaipur"]="Udaipur",e["Ahmedabad"]="Ahmedabad",e["Dhanbad"]="Dhanbad",e["Kolkata"]="Kolkata",e["Bhudaneswar"]="Bhudaneswar",e["Sambalpur"]="Sambalpur",e["Jabalpur"]="Jabalpur",e["Nagpur"]="Nagpur",e["Visakhapatnam"]="Visakhapatnam",e["Goa"]="Goa",e["Pune"]="Pune",e["Surat"]="Surat",e["Indore"]="Indore",e["Bhopal"]="Bhopal",e["Mumbai1"]="Mumbai 1",e["Mumbai2"]="Mumbai 2"}(Yk||(Yk={}));var qk,Xk,Qk={name:"India",cities:[{name:Yk.Thiruvananthapuram,region:Wk.Red,x:217,y:868},{name:Yk.Madurai,region:Wk.Red,x:230,y:829},{name:Yk.Coimbatore,region:Wk.Red,x:197,y:797},{name:Yk.Chennai,region:Wk.Red,x:289,y:740},{name:Yk.Hyderabad,region:Wk.Red,x:232,y:618},{name:Yk.Bangalore1,region:Wk.Red,x:205,y:710},{name:Yk.Bangalore2,region:Wk.Red,x:205,y:735},{name:Yk.Dibrugarh,region:Wk.Brown,x:669,y:328},{name:Yk.Imphal,region:Wk.Brown,x:658,y:392},{name:Yk.Aizawi,region:Wk.Brown,x:625,y:427},{name:Yk.Chittagong,region:Wk.Brown,x:589,y:483},{name:Yk.Shillong,region:Wk.Brown,x:586,y:395},{name:Yk.Dhaka,region:Wk.Brown,x:548,y:432},{name:Yk.Khulna,region:Wk.Brown,x:528,y:468},{name:Yk.Darjeeling,region:Wk.Green,x:496,y:333},{name:Yk.Kathmandu,region:Wk.Green,x:418,y:307},{name:Yk.Patna,region:Wk.Green,x:416,y:373},{name:Yk.Lakhnau,region:Wk.Green,x:310,y:338},{name:Yk.Varanasi,region:Wk.Green,x:350,y:385},{name:Yk.Agra,region:Wk.Green,x:228,y:335},{name:Yk.Kanpur,region:Wk.Green,x:269,y:373},{name:Yk.Srinagar,region:Wk.Orange,x:135,y:115},{name:Yk.Ludhiana,region:Wk.Orange,x:186,y:215},{name:Yk.Delhi1,region:Wk.Orange,x:190,y:281},{name:Yk.Delhi2,region:Wk.Orange,x:190,y:303},{name:Yk.Jaipur,region:Wk.Orange,x:158,y:341},{name:Yk.Udaipur,region:Wk.Orange,x:105,y:410},{name:Yk.Ahmedabad,region:Wk.Orange,x:75,y:456},{name:Yk.Dhanbad,region:Wk.Yellow,x:424,y:427},{name:Yk.Kolkata,region:Wk.Yellow,x:463,y:477},{name:Yk.Bhudaneswar,region:Wk.Yellow,x:428,y:533},{name:Yk.Sambalpur,region:Wk.Yellow,x:376,y:494},{name:Yk.Jabalpur,region:Wk.Yellow,x:293,y:478},{name:Yk.Nagpur,region:Wk.Yellow,x:250,y:510},{name:Yk.Visakhapatnam,region:Wk.Yellow,x:358,y:597},{name:Yk.Goa,region:Wk.Pink,x:109,y:677},{name:Yk.Pune,region:Wk.Pink,x:133,y:587},{name:Yk.Surat,region:Wk.Pink,x:80,y:510},{name:Yk.Indore,region:Wk.Pink,x:160,y:476},{name:Yk.Bhopal,region:Wk.Pink,x:208,y:437},{name:Yk.Mumbai1,region:Wk.Pink,x:58,y:570},{name:Yk.Mumbai2,region:Wk.Pink,x:58,y:593}],connections:[{nodes:[Yk.Srinagar,Yk.Ludhiana],cost:15},{nodes:[Yk.Ludhiana,Yk.Delhi1],cost:9},{nodes:[Yk.Delhi1,Yk.Delhi2],cost:0},{nodes:[Yk.Delhi2,Yk.Jaipur],cost:7},{nodes:[Yk.Delhi2,Yk.Agra],cost:6},{nodes:[Yk.Jaipur,Yk.Bhopal],cost:12},{nodes:[Yk.Jaipur,Yk.Kanpur],cost:12},{nodes:[Yk.Agra,Yk.Lakhnau],cost:8},{nodes:[Yk.Lakhnau,Yk.Kathmandu],cost:15},{nodes:[Yk.Kathmandu,Yk.Darjeeling],cost:13},{nodes:[Yk.Darjeeling,Yk.Shillong],cost:12},{nodes:[Yk.Shillong,Yk.Patna],cost:18},{nodes:[Yk.Patna,Yk.Kathmandu],cost:10},{nodes:[Yk.Imphal,Yk.Dibrugarh],cost:11},{nodes:[Yk.Dibrugarh,Yk.Shillong],cost:9},{nodes:[Yk.Shillong,Yk.Imphal],cost:12},{nodes:[Yk.Imphal,Yk.Aizawi],cost:7},{nodes:[Yk.Shillong,Yk.Dhaka],cost:10},{nodes:[Yk.Dhaka,Yk.Khulna],cost:6},{nodes:[Yk.Khulna,Yk.Kolkata],cost:3},{nodes:[Yk.Dhanbad,Yk.Dhaka],cost:14},{nodes:[Yk.Jabalpur,Yk.Sambalpur],cost:13},{nodes:[Yk.Sambalpur,Yk.Nagpur],cost:13},{nodes:[Yk.Nagpur,Yk.Visakhapatnam],cost:17},{nodes:[Yk.Visakhapatnam,Yk.Sambalpur],cost:12},{nodes:[Yk.Jabalpur,Yk.Kanpur],cost:11},{nodes:[Yk.Varanasi,Yk.Jabalpur],cost:11},{nodes:[Yk.Kanpur,Yk.Varanasi],cost:8},{nodes:[Yk.Varanasi,Yk.Patna],cost:5},{nodes:[Yk.Patna,Yk.Lakhnau],cost:11},{nodes:[Yk.Kanpur,Yk.Bhopal],cost:13},{nodes:[Yk.Ahmedabad,Yk.Bhopal],cost:11},{nodes:[Yk.Bhopal,Yk.Udaipur],cost:11},{nodes:[Yk.Udaipur,Yk.Jaipur],cost:9},{nodes:[Yk.Ahmedabad,Yk.Surat],cost:7},{nodes:[Yk.Ahmedabad,Yk.Indore],cost:8},{nodes:[Yk.Indore,Yk.Surat],cost:10},{nodes:[Yk.Mumbai1,Yk.Mumbai2],cost:0},{nodes:[Yk.Mumbai2,Yk.Pune],cost:4},{nodes:[Yk.Pune,Yk.Hyderabad],cost:13},{nodes:[Yk.Pune,Yk.Nagpur],cost:17},{nodes:[Yk.Pune,Yk.Indore],cost:15},{nodes:[Yk.Goa,Yk.Coimbatore],cost:18},{nodes:[Yk.Bangalore1,Yk.Bangalore2],cost:0},{nodes:[Yk.Bangalore2,Yk.Coimbatore],cost:9},{nodes:[Yk.Coimbatore,Yk.Thiruvananthapuram],cost:10},{nodes:[Yk.Thiruvananthapuram,Yk.Madurai],cost:7},{nodes:[Yk.Madurai,Yk.Chennai],cost:12},{nodes:[Yk.Chennai,Yk.Bangalore1],cost:9},{nodes:[Yk.Bangalore1,Yk.Hyderabad],cost:14},{nodes:[Yk.Hyderabad,Yk.Goa],cost:15},{nodes:[Yk.Goa,Yk.Bangalore2],cost:14},{nodes:[Yk.Mumbai2,Yk.Goa],cost:11},{nodes:[Yk.Indore,Yk.Nagpur],cost:10},{nodes:[Yk.Sambalpur,Yk.Dhanbad],cost:8},{nodes:[Yk.Sambalpur,Yk.Bhudaneswar],cost:7},{nodes:[Yk.Bhudaneswar,Yk.Kolkata],cost:11},{nodes:[Yk.Kolkata,Yk.Dhanbad],cost:9},{nodes:[Yk.Dhanbad,Yk.Patna],cost:8},{nodes:[Yk.Nagpur,Yk.Hyderabad],cost:12},{nodes:[Yk.Hyderabad,Yk.Visakhapatnam],cost:13},{nodes:[Yk.Visakhapatnam,Yk.Chennai],cost:17},{nodes:[Yk.Chittagong,Yk.Aizawi],cost:7},{nodes:[Yk.Dhaka,Yk.Aizawi],cost:8},{nodes:[Yk.Dhaka,Yk.Chittagong],cost:7},{nodes:[Yk.Patna,Yk.Darjeeling],cost:11},{nodes:[Yk.Visakhapatnam,Yk.Bhudaneswar],cost:12},{nodes:[Yk.Udaipur,Yk.Ahmedabad],cost:6},{nodes:[Yk.Madurai,Yk.Coimbatore],cost:6},{nodes:[Yk.Bangalore2,Yk.Madurai],cost:10},{nodes:[Yk.Bhopal,Yk.Jabalpur],cost:8},{nodes:[Yk.Bhopal,Yk.Nagpur],cost:7},{nodes:[Yk.Bhopal,Yk.Indore],cost:4},{nodes:[Yk.Surat,Yk.Mumbai1],cost:6},{nodes:[Yk.Agra,Yk.Kanpur],cost:8},{nodes:[Yk.Kanpur,Yk.Lakhnau],cost:3},{nodes:[Yk.Lakhnau,Yk.Varanasi],cost:7}],layout:"Portrait",viewBox:[1480,1100],mapPosition:[200,-60],adjustRatio:[1.25,1.25],resupply:[[[4,5,4],[5,6,4],[6,7,5],[7,8,6],[8,10,7]],[[1,2,2],[2,2,2],[2,3,3],[3,4,4],[4,5,5]],[[1,3,4],[1,3,4],[3,4,6],[4,5,7],[4,7,9]],[[1,1,1],[1,1,1],[1,2,1],[2,2,2],[2,3,2]]],startingResources:[24,21,20,3],startingSupply:[24,24,24,8],maxPriceAvailable:[3,5,8],coalPrices:[1,1,1,1,2,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,8,8],garbagePrices:[1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6],uraniumPrices:[1,2,3,4,5,6,7,8],setupDeck:function(e,n,t){var r,o,i=Object(Qw["cloneDeep"])(bk);if("original"==n){i=i.slice(8);var a=i.findIndex((function(e){return 13==e.number})),c=i.splice(a,1)[0],u=i.pop();i=uk(i,t()+""),2==e||3==e?i=i.slice(8):4==e&&(i=i.slice(4)),i.unshift(c),i.push(u),r=[j_(3,"India"),j_(4,"India"),j_(5,"India"),j_(6,"India")],o=[j_(7,"India"),j_(8,"India"),j_(9,"India"),j_(10,"India")]}else{var s=uk(i.splice(0,12),t()+""),l=s.splice(0,8);l=l.sort((function(e,n){return e.number-n.number})),r=l.slice(0,4),o=l.slice(4);var d=s.shift(),f=i.pop();i=uk(i,t()+""),2==e?(s=s.slice(1),i=uk(i.slice(5).concat(s),t()+"")):3==e?(s=s.slice(2),i=uk(i.slice(6).concat(s),t()+"")):4==e?(s=s.slice(1),i=uk(i.slice(3).concat(s),t()+"")):i=uk(i.concat(s),t()+""),i.unshift(d),i.push(f)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:i}},mapSpecificRules:"The power grid will suffer a power outage if the number of cities built in one round is more than twice the number of players — 9 or more cities in a 4-player game. Every player is then penalized $3 for each city they own, though income for the round never falls below $0.\nPlayers take turns buying one resource at a time. The resource market is limited by step: only resources costing $3 or less may be bought in step 1, $5 or less in step 2, and the whole market is open from step 3.\nGarbage plants are less efficient. Their cost is one higher, but their storage capacity is not changed.\nPlayers must power as many cities as possible in each round.",deckBuild:"power plant 11 is removed from the game; otherwise standard setup for both variants (original: plant 13 on top of the deck)."};(function(e){e["Brown"]="brown",e["Purple"]="purple",e["Red"]="red",e["Green"]="green",e["Yellow"]="yellow",e["Blue"]="blue"})(qk||(qk={})),function(e){e["Siracusa"]="Siracusa",e["Reggiodical"]="Reggio Di Cal",e["Cosenza"]="Cosenza",e["Messina"]="Messina",e["Palermo"]="Palermo",e["Catania"]="Catania",e["Brindisi"]="Brindisi",e["Taranto"]="Taranto",e["Bari"]="Bari",e["Foggia"]="Foggia",e["Pesara"]="Pesara",e["Napoli"]="Napoli",e["Salerno"]="Salerno",e["Roma"]="Roma",e["Ancona"]="Ancona",e["Rimini"]="Rimini",e["Ravenna"]="Ravenna",e["Sanmarino"]="San Marino",e["Perugia"]="Perugia",e["Frienze"]="Frienze",e["Udine"]="Udine",e["Trieste"]="Trieste",e["Bolanzo"]="Bolanzo",e["Mestre"]="Mestre",e["Venezia"]="Venezia",e["Vicenza"]="Vicenza",e["Padua"]="Padua",e["Ferrara"]="Ferrara",e["Bologna"]="Bologna",e["Modena"]="Modena",e["Reggio"]="Reggio",e["Pisa"]="Pisa",e["Parma"]="Parma",e["Laspezia"]="La Spezia",e["Torino"]="Torino",e["Bergamo"]="Bergamo",e["Milano"]="Milano",e["Brescia"]="Brescia",e["Picenza"]="Picenza",e["Genova"]="Genova",e["Verona"]="Verona",e["Lovorno"]="Lovorno"}(Xk||(Xk={}));var ex,nx,tx={name:"Italy",cities:[{name:Xk.Siracusa,region:qk.Brown,x:1048,y:471},{name:Xk.Reggiodical,region:qk.Brown,x:1013,y:346},{name:Xk.Cosenza,region:qk.Brown,x:960,y:240},{name:Xk.Messina,region:qk.Brown,x:975,y:365},{name:Xk.Palermo,region:qk.Brown,x:875,y:468},{name:Xk.Catania,region:qk.Brown,x:1007,y:460},{name:Xk.Brindisi,region:qk.Purple,x:945,y:4},{name:Xk.Taranto,region:qk.Brown,x:933,y:92},{name:Xk.Bari,region:qk.Purple,x:871,y:32},{name:Xk.Foggia,region:qk.Purple,x:777,y:69},{name:Xk.Pesara,region:qk.Purple,x:646,y:76},{name:Xk.Napoli,region:qk.Purple,x:747,y:222},{name:Xk.Salerno,region:qk.Purple,x:799,y:212},{name:Xk.Roma,region:qk.Purple,x:583,y:228},{name:Xk.Ancona,region:qk.Red,x:549,y:16},{name:Xk.Rimini,region:qk.Red,x:459,y:13},{name:Xk.Ravenna,region:qk.Red,x:401,y:-5},{name:Xk.Sanmarino,region:qk.Red,x:456,y:88},{name:Xk.Perugia,region:qk.Red,x:507,y:123},{name:Xk.Frienze,region:qk.Red,x:389,y:159},{name:Xk.Udine,region:qk.Green,x:358,y:-207},{name:Xk.Trieste,region:qk.Green,x:410,y:-181},{name:Xk.Bolanzo,region:qk.Green,x:197,y:-172},{name:Xk.Mestre,region:qk.Green,x:318,y:-115},{name:Xk.Venezia,region:qk.Green,x:349,y:-103},{name:Xk.Vicenza,region:qk.Green,x:235,y:-89},{name:Xk.Padua,region:qk.Green,x:279,y:-72},{name:Xk.Torino,region:qk.Blue,x:57,y:215},{name:Xk.Bergamo,region:qk.Blue,x:125,y:14},{name:Xk.Milano,region:qk.Blue,x:123,y:102},{name:Xk.Brescia,region:qk.Blue,x:182,y:2},{name:Xk.Picenza,region:qk.Blue,x:182,y:105},{name:Xk.Genova,region:qk.Blue,x:182,y:217},{name:Xk.Verona,region:qk.Blue,x:231,y:-13},{name:Xk.Lovorno,region:qk.Red,x:333,y:216},{name:Xk.Ferrara,region:qk.Yellow,x:333,y:-3},{name:Xk.Bologna,region:qk.Yellow,x:350,y:85},{name:Xk.Modena,region:qk.Yellow,x:303,y:72},{name:Xk.Reggio,region:qk.Yellow,x:263,y:96},{name:Xk.Pisa,region:qk.Yellow,x:304,y:197},{name:Xk.Parma,region:qk.Yellow,x:224,y:81},{name:Xk.Laspezia,region:qk.Yellow,x:245,y:206}],connections:[{nodes:[Xk.Palermo,Xk.Catania],cost:15},{nodes:[Xk.Catania,Xk.Siracusa],cost:3},{nodes:[Xk.Catania,Xk.Messina],cost:6},{nodes:[Xk.Messina,Xk.Palermo],cost:15},{nodes:[Xk.Messina,Xk.Reggiodical],cost:3},{nodes:[Xk.Reggiodical,Xk.Cosenza],cost:13},{nodes:[Xk.Cosenza,Xk.Salerno],cost:18},{nodes:[Xk.Cosenza,Xk.Taranto],cost:15},{nodes:[Xk.Taranto,Xk.Brindisi],cost:4},{nodes:[Xk.Brindisi,Xk.Bari],cost:7},{nodes:[Xk.Bari,Xk.Taranto],cost:7},{nodes:[Xk.Taranto,Xk.Salerno],cost:19},{nodes:[Xk.Salerno,Xk.Bari],cost:16},{nodes:[Xk.Bari,Xk.Foggia],cost:8},{nodes:[Xk.Foggia,Xk.Salerno],cost:10},{nodes:[Xk.Salerno,Xk.Napoli],cost:3},{nodes:[Xk.Napoli,Xk.Foggia],cost:12},{nodes:[Xk.Napoli,Xk.Roma],cost:14},{nodes:[Xk.Roma,Xk.Foggia],cost:22},{nodes:[Xk.Foggia,Xk.Pesara],cost:10},{nodes:[Xk.Pesara,Xk.Roma],cost:14},{nodes:[Xk.Roma,Xk.Ancona],cost:17},{nodes:[Xk.Roma,Xk.Perugia],cost:13},{nodes:[Xk.Perugia,Xk.Sanmarino],cost:12},{nodes:[Xk.Sanmarino,Xk.Rimini],cost:0},{nodes:[Xk.Rimini,Xk.Ancona],cost:6},{nodes:[Xk.Ancona,Xk.Perugia],cost:10},{nodes:[Xk.Ancona,Xk.Pesara],cost:9},{nodes:[Xk.Roma,Xk.Frienze],cost:20},{nodes:[Xk.Lovorno,Xk.Roma],cost:19},{nodes:[Xk.Frienze,Xk.Perugia],cost:13},{nodes:[Xk.Frienze,Xk.Sanmarino],cost:12},{nodes:[Xk.Genova,Xk.Torino],cost:12},{nodes:[Xk.Torino,Xk.Milano],cost:8},{nodes:[Xk.Milano,Xk.Bergamo],cost:3},{nodes:[Xk.Bergamo,Xk.Bolanzo],cost:12},{nodes:[Xk.Bolanzo,Xk.Brescia],cost:12},{nodes:[Xk.Bolanzo,Xk.Mestre],cost:12},{nodes:[Xk.Bolanzo,Xk.Udine],cost:14},{nodes:[Xk.Udine,Xk.Trieste],cost:4},{nodes:[Xk.Udine,Xk.Venezia],cost:7},{nodes:[Xk.Venezia,Xk.Mestre],cost:0},{nodes:[Xk.Genova,Xk.Laspezia],cost:5},{nodes:[Xk.Laspezia,Xk.Pisa],cost:5},{nodes:[Xk.Pisa,Xk.Lovorno],cost:0},{nodes:[Xk.Genova,Xk.Milano],cost:9},{nodes:[Xk.Milano,Xk.Picenza],cost:4},{nodes:[Xk.Picenza,Xk.Parma],cost:4},{nodes:[Xk.Parma,Xk.Reggio],cost:2},{nodes:[Xk.Reggio,Xk.Modena],cost:2},{nodes:[Xk.Modena,Xk.Bologna],cost:3},{nodes:[Xk.Bologna,Xk.Pisa],cost:12},{nodes:[Xk.Pisa,Xk.Reggio],cost:10},{nodes:[Xk.Laspezia,Xk.Parma],cost:9},{nodes:[Xk.Laspezia,Xk.Reggio],cost:9},{nodes:[Xk.Genova,Xk.Picenza],cost:7},{nodes:[Xk.Genova,Xk.Parma],cost:11},{nodes:[Xk.Milano,Xk.Brescia],cost:4},{nodes:[Xk.Brescia,Xk.Bergamo],cost:3},{nodes:[Xk.Brescia,Xk.Verona],cost:4},{nodes:[Xk.Brescia,Xk.Picenza],cost:5},{nodes:[Xk.Bolanzo,Xk.Vicenza],cost:10},{nodes:[Xk.Vicenza,Xk.Padua],cost:3},{nodes:[Xk.Vicenza,Xk.Verona],cost:3},{nodes:[Xk.Verona,Xk.Parma],cost:6},{nodes:[Xk.Parma,Xk.Brescia],cost:6},{nodes:[Xk.Verona,Xk.Padua],cost:5},{nodes:[Xk.Padua,Xk.Mestre],cost:3},{nodes:[Xk.Venezia,Xk.Ravenna],cost:12},{nodes:[Xk.Ravenna,Xk.Ferrara],cost:4},{nodes:[Xk.Ferrara,Xk.Venezia],cost:9},{nodes:[Xk.Ferrara,Xk.Padua],cost:7},{nodes:[Xk.Ferrara,Xk.Verona],cost:7},{nodes:[Xk.Verona,Xk.Modena],cost:8},{nodes:[Xk.Frienze,Xk.Pisa],cost:5},{nodes:[Xk.Frienze,Xk.Ravenna],cost:10},{nodes:[Xk.Ravenna,Xk.Rimini],cost:4},{nodes:[Xk.Frienze,Xk.Bologna],cost:8},{nodes:[Xk.Bologna,Xk.Ravenna],cost:4},{nodes:[Xk.Bologna,Xk.Ferrara],cost:3},{nodes:[Xk.Ferrara,Xk.Modena],cost:4}],mapPosition:[-20,320],mapSpecificRules:"Stop resupplying uranium after power plant 39 has been bought.",startingResources:[18,15,12,2]};(function(e){e["Brown"]="brown",e["Green"]="green",e["Purple"]="purple",e["Yellow"]="yellow",e["Red"]="red"})(ex||(ex={})),function(e){e["Asahikawa"]="Asahikawa",e["Sapporo"]="Sapporo",e["Hakodate"]="Hakodate",e["Admori"]="Admori",e["Morioka"]="Morioka",e["Akita"]="Akita",e["Sendai"]="Sendai",e["Niigata"]="Niigata",e["Koriyama"]="Koriyama",e["Nagano"]="Nagano",e["Saitama"]="Saitama",e["Tokyo"]="Tokyo",e["Chiba"]="Chiba",e["Yokohama"]="Yokohama",e["Kanazawa"]="Kanazawa",e["Toyama"]="Toyama",e["Kyoto"]="Kyoto",e["Osaka"]="Osaka",e["Nagoya"]="Nagoya",e["Kofu"]="Kofu",e["Hamamatsu"]="Hamamatsu",e["Kobe"]="Kobe",e["Matsue"]="Matsue",e["Okayama"]="Okayama",e["Takamatsu"]="Takamatsu",e["Kochi"]="Kochi",e["Matsuyama"]="Matsuyama",e["Hiroshima"]="Hiroshima",e["Shimonoseki"]="Shimonoseki",e["Oita"]="Oita",e["Miyazaki"]="Miyazaki",e["Kagoshima"]="Kagoshima",e["Kumamoto"]="Kumamoto",e["Fukuoka"]="Fukuoka",e["Nagasaki"]="Nagasaki"}(nx||(nx={}));var rx,ox,ix={name:"Japan",cities:[{name:nx.Asahikawa,region:ex.Brown,x:3384,y:1014},{name:nx.Sapporo,region:ex.Brown,x:3028,y:982,slotCosts:[10,10,20],stepSlots:[2,2,3]},{name:nx.Hakodate,region:ex.Brown,x:2622,y:1112},{name:nx.Admori,region:ex.Brown,x:3818,y:1336},{name:nx.Morioka,region:ex.Brown,x:3636,y:1646,slotCosts:[15,20],stepSlots:[0,1,2]},{name:nx.Akita,region:ex.Brown,x:3472,y:1480},{name:nx.Sendai,region:ex.Brown,x:3408,y:1886},{name:nx.Niigata,region:ex.Green,x:2874,y:1628},{name:nx.Koriyama,region:ex.Green,x:3086,y:1932,slotCosts:[10,15]},{name:nx.Nagano,region:ex.Green,x:2486,y:1722},{name:nx.Saitama,region:ex.Green,x:2450,y:1986,slotCosts:[15,20],stepSlots:[0,1,2]},{name:nx.Tokyo,region:ex.Green,x:2524,y:2122,slotCosts:[10,10,20],stepSlots:[2,2,3]},{name:nx.Chiba,region:ex.Green,x:2650,y:2316},{name:nx.Yokohama,region:ex.Green,x:2306,y:2244,slotCosts:[10,10,20],stepSlots:[2,2,3]},{name:nx.Kanazawa,region:ex.Purple,x:2207,y:1385},{name:nx.Toyama,region:ex.Purple,x:2257,y:1595,slotCosts:[15,20],stepSlots:[0,1,2]},{name:nx.Kyoto,region:ex.Purple,x:1765,y:1595},{name:nx.Osaka,region:ex.Purple,x:1517,y:1631,slotCosts:[10,10,20],stepSlots:[2,2,3]},{name:nx.Nagoya,region:ex.Purple,x:1942,y:1751},{name:nx.Kofu,region:ex.Purple,x:2179,y:1897},{name:nx.Hamamatsu,region:ex.Purple,x:1958,y:2024,slotCosts:[10,15]},{name:nx.Kobe,region:ex.Yellow,x:1555,y:1451,slotCosts:[10,10,20],stepSlots:[2,2,3]},{name:nx.Matsue,region:ex.Yellow,x:1457,y:1006,slotCosts:[15,20],stepSlots:[0,1,2]},{name:nx.Okayama,region:ex.Yellow,x:1390,y:1286},{name:nx.Takamatsu,region:ex.Yellow,x:1268,y:1507},{name:nx.Kochi,region:ex.Yellow,x:974,y:1472,slotCosts:[10,15]},{name:nx.Matsuyama,region:ex.Yellow,x:1036,y:1268},{name:nx.Hiroshima,region:ex.Yellow,x:1103,y:1078},{name:nx.Shimonoseki,region:ex.Red,x:856,y:962},{name:nx.Oita,region:ex.Red,x:731,y:1166,slotCosts:[10,15]},{name:nx.Miyazaki,region:ex.Red,x:469,y:1318,slotCosts:[15,20],stepSlots:[0,1,2]},{name:nx.Kagoshima,region:ex.Red,x:157,y:1255},{name:nx.Kumamoto,region:ex.Red,x:457,y:1045},{name:nx.Fukuoka,region:ex.Red,x:644,y:823,slotCosts:[10,10,20],stepSlots:[2,2,3]},{name:nx.Nagasaki,region:ex.Red,x:313,y:875}],layout:"Portrait",adjustRatio:[.28,.28],mapPosition:[0,120],resupply:[[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],startingResources:[21,15,9,3],startingCities:["Fukuoka","Kobe","Osaka","Sapporo","Tokyo","Yokohama"],mapSpecificRules:"Users may build 0, 1, 2 houses in round 1. The first house you place MUST be in one of the six special starting cities: Fukuoka, Kobe, Osaka, Sapporo, Tokyo, or Yokohama whether it be round 1 or after.\nYou get a free jump but that free jump can only go into one of these six starting cities (you still pay for the house, just no connection fee).\nAll of these six special starting cities are [10, 10, 20] meaning two players can go there in step 1 and these cities are marked with 10 on the map.\nIf you build 2 cities in round 1, you must use your free jump even though they might have 0 connection like Tokyo and Yokohama (system will auto use your free jump).\nIn Step 3, the third connection spots (cost 20) are opened in the starting cities and are available for normal or free jump.\nSome smaller cities have only two building spots (10 and 15, or 15 and 20). These cities are marked with an X. An X at the top means no Step 1 builds, an X at the bottom means no Step 3 builds.\nIf all starting city spots are taken, you cannot use your free jump.",connections:[{nodes:[nx.Nagasaki,nx.Fukuoka],cost:10},{nodes:[nx.Fukuoka,nx.Shimonoseki],cost:10},{nodes:[nx.Shimonoseki,nx.Hiroshima],cost:12},{nodes:[nx.Hiroshima,nx.Matsue],cost:13},{nodes:[nx.Kumamoto,nx.Kagoshima],cost:13},{nodes:[nx.Kagoshima,nx.Miyazaki],cost:8},{nodes:[nx.Miyazaki,nx.Kumamoto],cost:11},{nodes:[nx.Kumamoto,nx.Oita],cost:12},{nodes:[nx.Oita,nx.Miyazaki],cost:12},{nodes:[nx.Oita,nx.Matsuyama],cost:14},{nodes:[nx.Matsuyama,nx.Kochi],cost:7},{nodes:[nx.Kochi,nx.Takamatsu],cost:9},{nodes:[nx.Hiroshima,nx.Okayama],cost:11},{nodes:[nx.Okayama,nx.Matsue],cost:11},{nodes:[nx.Okayama,nx.Kobe],cost:9},{nodes:[nx.Kobe,nx.Matsue],cost:16},{nodes:[nx.Matsuyama,nx.Takamatsu],cost:10},{nodes:[nx.Takamatsu,nx.Okayama],cost:9},{nodes:[nx.Osaka,nx.Nagoya],cost:9},{nodes:[nx.Nagoya,nx.Kyoto],cost:9},{nodes:[nx.Kyoto,nx.Kobe],cost:3},{nodes:[nx.Osaka,nx.Kyoto],cost:0},{nodes:[nx.Kyoto,nx.Kanazawa],cost:19},{nodes:[nx.Kanazawa,nx.Toyama],cost:3},{nodes:[nx.Kanazawa,nx.Nagoya],cost:16},{nodes:[nx.Nagoya,nx.Toyama],cost:15},{nodes:[nx.Toyama,nx.Nagano],cost:9},{nodes:[nx.Nagano,nx.Niigata],cost:12},{nodes:[nx.Niigata,nx.Akita],cost:16},{nodes:[nx.Hamamatsu,nx.Kofu],cost:12},{nodes:[nx.Kofu,nx.Nagoya],cost:15},{nodes:[nx.Nagoya,nx.Hamamatsu],cost:6},{nodes:[nx.Kofu,nx.Saitama],cost:8},{nodes:[nx.Saitama,nx.Tokyo],cost:0},{nodes:[nx.Tokyo,nx.Yokohama],cost:0},{nodes:[nx.Tokyo,nx.Chiba],cost:4},{nodes:[nx.Chiba,nx.Sendai],cost:21},{nodes:[nx.Tokyo,nx.Koriyama],cost:14},{nodes:[nx.Koriyama,nx.Niigata],cost:11},{nodes:[nx.Saitama,nx.Nagano],cost:17},{nodes:[nx.Saitama,nx.Niigata],cost:21},{nodes:[nx.Koriyama,nx.Sendai],cost:7},{nodes:[nx.Sendai,nx.Akita],cost:14},{nodes:[nx.Akita,nx.Koriyama],cost:21},{nodes:[nx.Sendai,nx.Morioka],cost:10},{nodes:[nx.Morioka,nx.Akita],cost:7},{nodes:[nx.Akita,nx.Admori],cost:10},{nodes:[nx.Admori,nx.Morioka],cost:10},{nodes:[nx.Admori,nx.Hakodate],cost:15},{nodes:[nx.Hakodate,nx.Sapporo],cost:14},{nodes:[nx.Sapporo,nx.Asahikawa],cost:8},{nodes:[nx.Kumamoto,nx.Shimonoseki],cost:16},{nodes:[nx.Kumamoto,nx.Fukuoka],cost:8}]},ax=w({},ix);(function(e){e["Yellow"]="yellow",e["Red"]="red",e["Brown"]="brown",e["Green"]="green",e["Purple"]="purple",e["Pink"]="pink"})(rx||(rx={})),function(e){e["Gyeongju"]="Gyeongju",e["Ulsan"]="Ulsan",e["Busan"]="Busan",e["Jinju"]="Jinju",e["Daegu"]="Daegu",e["Andong"]="Andong",e["Sangju"]="Sangju",e["Rasun"]="Rasun",e["Cheongjin"]="Cheongjin",e["Gyeongseong"]="Gyeongseong",e["Seongjin"]="Seongjin",e["Hyesan"]="Hyesan",e["Hamheung"]="Hamheung",e["Wonsan"]="Wonsan",e["Samcheok"]="Samcheok",e["Donghae"]="Donghae",e["Taeraek"]="Taeraek",e["Gangneung"]="Gangneung",e["Sokcho"]="Sokcho",e["Wonju"]="Wonju",e["Chuncheon"]="Chuncheon",e["Chungju"]="Chungju",e["Cheongju"]="Cheongju",e["Jeju"]="Jeju",e["Gwangju"]="Gwangju",e["Naju"]="Naju",e["Jeonju"]="Jeonju",e["Daejeon"]="Daejeon",e["Yongin"]="Yongin",e["Seoul"]="Seoul",e["Suwon"]="Suwon",e["Goyang"]="Goyang",e["Anyang"]="Anyang",e["Incheon"]="Incheon",e["Gaesung"]="Gaesung",e["Ganggye"]="Ganggye",e["Haeju"]="Haeju",e["Pyeongyang"]="Pyeongyang",e["Hwangju"]="Hwangju",e["Nampo"]="Nampo",e["Anju"]="Anju",e["Sinuiju"]="Sinuiju"}(ox||(ox={}));var cx,ux={name:"Korea",cities:[{name:ox.Gyeongju,region:rx.Yellow,x:2161,y:2980},{name:ox.Ulsan,region:rx.Yellow,x:2185,y:3226},{name:ox.Busan,region:rx.Yellow,x:2041,y:3440},{name:ox.Jinju,region:rx.Yellow,x:1676,y:3431},{name:ox.Daegu,region:rx.Yellow,x:1876,y:3062},{name:ox.Andong,region:rx.Yellow,x:1987,y:2737},{name:ox.Sangju,region:rx.Yellow,x:1747,y:2827},{name:ox.Rasun,region:rx.Red,x:2485,y:361},{name:ox.Cheongjin,region:rx.Red,x:2309,y:491},{name:ox.Gyeongseong,region:rx.Red,x:2209,y:689},{name:ox.Seongjin,region:rx.Red,x:2060,y:1001},{name:ox.Hyesan,region:rx.Red,x:1783,y:665},{name:ox.Hamheung,region:rx.Red,x:1516,y:1283},{name:ox.Wonsan,region:rx.Red,x:1484,y:1600},{name:ox.Samcheok,region:rx.Brown,x:2171,y:2437},{name:ox.Donghae,region:rx.Brown,x:2041,y:2299},{name:ox.Taeraek,region:rx.Brown,x:1999,y:2528},{name:ox.Gangneung,region:rx.Brown,x:1949,y:2092},{name:ox.Sokcho,region:rx.Brown,x:1832,y:1915},{name:ox.Wonju,region:rx.Brown,x:1735,y:2293},{name:ox.Chuncheon,region:rx.Brown,x:1594,y:2056},{name:ox.Chungju,region:rx.Green,x:1744,y:2552},{name:ox.Cheongju,region:rx.Green,x:1547,y:2645},{name:ox.Jeju,region:rx.Green,x:1223,y:4051},{name:ox.Gwangju,region:rx.Green,x:1309,y:3380},{name:ox.Naju,region:rx.Green,x:1121,y:3569},{name:ox.Jeonju,region:rx.Green,x:1363,y:3109},{name:ox.Daejeon,region:rx.Green,x:1462,y:2839},{name:ox.Yongin,region:rx.Purple,x:1532,y:2371},{name:ox.Seoul,region:rx.Purple,x:1400,y:2203},{name:ox.Suwon,region:rx.Purple,x:1366,y:2488},{name:ox.Goyang,region:rx.Purple,x:1219,y:2270},{name:ox.Anyang,region:rx.Purple,x:1156,y:2446},{name:ox.Incheon,region:rx.Purple,x:1028,y:2311},{name:ox.Gaesung,region:rx.Purple,x:1171,y:2042},{name:ox.Ganggye,region:rx.Pink,x:1213,y:809},{name:ox.Haeju,region:rx.Pink,x:856,y:2135},{name:ox.Pyeongyang,region:rx.Pink,x:938,y:1642},{name:ox.Hwangju,region:rx.Pink,x:901,y:1886},{name:ox.Nampo,region:rx.Pink,x:677,y:1763},{name:ox.Anju,region:rx.Pink,x:812,y:1391},{name:ox.Sinuiju,region:rx.Pink,x:433,y:1105}],connections:[{nodes:[ox.Naju,ox.Jeju],cost:19},{nodes:[ox.Naju,ox.Jinju],cost:15},{nodes:[ox.Jinju,ox.Gwangju],cost:14},{nodes:[ox.Gwangju,ox.Naju],cost:2},{nodes:[ox.Gwangju,ox.Jeonju],cost:11},{nodes:[ox.Jeonju,ox.Jinju],cost:15},{nodes:[ox.Jinju,ox.Busan],cost:11},{nodes:[ox.Jinju,ox.Daegu],cost:11},{nodes:[ox.Daegu,ox.Jeonju],cost:16},{nodes:[ox.Daegu,ox.Busan],cost:12},{nodes:[ox.Busan,ox.Ulsan],cost:7},{nodes:[ox.Ulsan,ox.Daegu],cost:10},{nodes:[ox.Jeonju,ox.Daejeon],cost:9},{nodes:[ox.Daejeon,ox.Daegu],cost:15},{nodes:[ox.Andong,ox.Gyeongju],cost:11},{nodes:[ox.Gyeongju,ox.Daegu],cost:7},{nodes:[ox.Gyeongju,ox.Ulsan],cost:3},{nodes:[ox.Daegu,ox.Sangju],cost:9},{nodes:[ox.Sangju,ox.Daejeon],cost:8},{nodes:[ox.Daegu,ox.Andong],cost:10},{nodes:[ox.Andong,ox.Sangju],cost:6},{nodes:[ox.Andong,ox.Taeraek],cost:8},{nodes:[ox.Taeraek,ox.Samcheok],cost:5},{nodes:[ox.Samcheok,ox.Donghae],cost:0},{nodes:[ox.Donghae,ox.Gangneung],cost:4},{nodes:[ox.Chungju,ox.Taeraek],cost:13},{nodes:[ox.Andong,ox.Chungju],cost:11},{nodes:[ox.Chungju,ox.Cheongju],cost:7},{nodes:[ox.Cheongju,ox.Sangju],cost:8},{nodes:[ox.Sangju,ox.Chungju],cost:9},{nodes:[ox.Daejeon,ox.Cheongju],cost:4},{nodes:[ox.Wonju,ox.Donghae],cost:14},{nodes:[ox.Wonju,ox.Taeraek],cost:13},{nodes:[ox.Chungju,ox.Wonju],cost:5},{nodes:[ox.Wonju,ox.Gangneung],cost:12},{nodes:[ox.Wonju,ox.Sokcho],cost:15},{nodes:[ox.Sokcho,ox.Gangneung],cost:6},{nodes:[ox.Chuncheon,ox.Wonju],cost:7},{nodes:[ox.Sinuiju,ox.Ganggye],cost:25},{nodes:[ox.Ganggye,ox.Hyesan],cost:20},{nodes:[ox.Sinuiju,ox.Anju],cost:13},{nodes:[ox.Anju,ox.Ganggye],cost:22},{nodes:[ox.Ganggye,ox.Hamheung],cost:19},{nodes:[ox.Hamheung,ox.Anju],cost:20},{nodes:[ox.Anju,ox.Nampo],cost:10},{nodes:[ox.Anju,ox.Pyeongyang],cost:7},{nodes:[ox.Pyeongyang,ox.Nampo],cost:5},{nodes:[ox.Nampo,ox.Hwangju],cost:4},{nodes:[ox.Hwangju,ox.Pyeongyang],cost:4},{nodes:[ox.Pyeongyang,ox.Wonsan],cost:18},{nodes:[ox.Pyeongyang,ox.Hamheung],cost:23},{nodes:[ox.Hamheung,ox.Wonsan],cost:11},{nodes:[ox.Pyeongyang,ox.Gaesung],cost:14},{nodes:[ox.Gaesung,ox.Haeju],cost:8},{nodes:[ox.Haeju,ox.Hwangju],cost:8},{nodes:[ox.Gaesung,ox.Goyang],cost:7},{nodes:[ox.Anyang,ox.Suwon],cost:3},{nodes:[ox.Suwon,ox.Yongin],cost:2},{nodes:[ox.Goyang,ox.Incheon],cost:0},{nodes:[ox.Incheon,ox.Anyang],cost:0},{nodes:[ox.Goyang,ox.Seoul],cost:0},{nodes:[ox.Suwon,ox.Cheongju],cost:10},{nodes:[ox.Seoul,ox.Yongin],cost:2},{nodes:[ox.Gaesung,ox.Chuncheon],cost:13},{nodes:[ox.Gaesung,ox.Wonsan],cost:18},{nodes:[ox.Wonsan,ox.Sokcho],cost:18},{nodes:[ox.Wonsan,ox.Chuncheon],cost:19},{nodes:[ox.Sokcho,ox.Chuncheon],cost:10},{nodes:[ox.Chuncheon,ox.Seoul],cost:8},{nodes:[ox.Chuncheon,ox.Yongin],cost:9},{nodes:[ox.Yongin,ox.Wonju],cost:8},{nodes:[ox.Yongin,ox.Chungju],cost:10},{nodes:[ox.Yongin,ox.Cheongju],cost:10},{nodes:[ox.Rasun,ox.Cheongjin],cost:8},{nodes:[ox.Cheongjin,ox.Gyeongseong],cost:4},{nodes:[ox.Gyeongseong,ox.Seongjin],cost:16},{nodes:[ox.Hyesan,ox.Gyeongseong],cost:18},{nodes:[ox.Hyesan,ox.Seongjin],cost:14},{nodes:[ox.Seongjin,ox.Hamheung],cost:17},{nodes:[ox.Hamheung,ox.Hyesan],cost:23}],layout:"Portrait",adjustRatio:[.25,.25],mapPosition:[40,30],viewBox:[1480,1180],supplyPosition:[675,1040],resupply:[[[2,2,2],[2,3,2],[3,3,2],[3,4,3],[4,5,3]],[[1,1,3],[1,2,3],[2,3,3],[3,3,4],[3,4,4]],[[1,1,2],[1,1,2],[1,2,2],[2,2,3],[2,3,3]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],resupplyNorth:[[[1,2,1],[2,2,1],[2,3,2],[2,3,2],[3,4,3]],[[1,1,1],[1,1,1],[1,1,2],[1,2,2],[2,2,3]],[[0,1,1],[0,1,1],[1,1,2],[1,1,2],[1,2,3]]],startingResources:[12,12,4,2],startingResourcesNorth:[12,6,2],startingSupply:[24,24,24,12],coalPrices:[1,2,3,4,5,5,6,6,7,7,8,8],oilPrices:[1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8],garbagePrices:[1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8],uraniumPrices:[1,2,3,4,5,6,7,8,10,12,14,16],coalPricesNorth:[1,1,2,2,3,3,4,4,5,6,7,8],oilPricesNorth:[1,2,3,4,5,6,7,8],garbagePricesNorth:[1,2,3,4,5,6,7,8],mapSpecificRules:"Korea has two separate resource markets: North and South.\nOn your buying turn, choose one side — all resources you buy that turn must come from that side. The next turn you may choose the other side.\nThe North market has no uranium track; uranium is only available from the South.\nBoth markets share a single supply pool. During bureaucracy, North restocks first, then South from whatever remains."};(function(e){e["Manhattan"]="manhattan"})(cx||(cx={}));var sx,lx,dx=[{name:"M1",region:cx.Manhattan,connectionCost:5,slotCosts:[40],x:236,y:129},{name:"M2",region:cx.Manhattan,connectionCost:5,slotCosts:[40],x:294,y:132},{name:"M3",region:cx.Manhattan,connectionCost:5,slotCosts:[40],x:456,y:135},{name:"M4",region:cx.Manhattan,connectionCost:5,slotCosts:[40],x:529,y:137},{name:"M5",region:cx.Manhattan,connectionCost:5,slotCosts:[40],x:234,y:236},{name:"M6",region:cx.Manhattan,connectionCost:5,slotCosts:[35],x:292,y:236},{name:"M7",region:cx.Manhattan,connectionCost:5,slotCosts:[35],x:456,y:238},{name:"M8",region:cx.Manhattan,connectionCost:5,slotCosts:[40],x:532,y:239},{name:"M9",region:cx.Manhattan,connectionCost:5,slotCosts:[30],x:307,y:318},{name:"M10",region:cx.Manhattan,connectionCost:5,slotCosts:[35],x:235,y:340},{name:"M11",region:cx.Manhattan,connectionCost:5,slotCosts:[30],x:457,y:340},{name:"M12",region:cx.Manhattan,connectionCost:5,slotCosts:[35],x:529,y:344},{name:"M13",region:cx.Manhattan,connectionCost:5,slotCosts:[30],x:290,y:367},{name:"M14",region:cx.Manhattan,connectionCost:5,slotCosts:[35],x:241,y:420},{name:"M15",region:cx.Manhattan,connectionCost:5,slotCosts:[30],x:300,y:421},{name:"M16",region:cx.Manhattan,connectionCost:5,slotCosts:[25],x:389,y:422},{name:"M17",region:cx.Manhattan,connectionCost:5,slotCosts:[30],x:457,y:423},{name:"M18",region:cx.Manhattan,connectionCost:5,slotCosts:[35],x:523,y:423},{name:"M19",region:cx.Manhattan,connectionCost:5,slotCosts:[25],x:344,y:431},{name:"M20",region:cx.Manhattan,connectionCost:5,slotCosts:[35],x:243,y:480},{name:"M21",region:cx.Manhattan,connectionCost:5,slotCosts:[30],x:300,y:481},{name:"M22",region:cx.Manhattan,connectionCost:5,slotCosts:[25],x:348,y:482},{name:"M23",region:cx.Manhattan,connectionCost:5,slotCosts:[25],x:393,y:483},{name:"M24",region:cx.Manhattan,connectionCost:5,slotCosts:[30],x:455,y:484},{name:"M25",region:cx.Manhattan,connectionCost:5,slotCosts:[35],x:521,y:485},{name:"M26",region:cx.Manhattan,connectionCost:5,slotCosts:[30],x:240,y:539},{name:"M27",region:cx.Manhattan,connectionCost:5,slotCosts:[25],x:301,y:540},{name:"M28",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:353,y:541},{name:"M29",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:400,y:541},{name:"M30",region:cx.Manhattan,connectionCost:5,slotCosts:[25],x:456,y:542},{name:"M31",region:cx.Manhattan,connectionCost:5,slotCosts:[30],x:522,y:543},{name:"M32",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:405,y:588},{name:"M33",region:cx.Manhattan,connectionCost:5,slotCosts:[30],x:239,y:605},{name:"M34",region:cx.Manhattan,connectionCost:5,slotCosts:[25],x:303,y:605},{name:"M35",region:cx.Manhattan,connectionCost:5,slotCosts:[25],x:455,y:606},{name:"M36",region:cx.Manhattan,connectionCost:5,slotCosts:[25],x:528,y:607},{name:"M37",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:367,y:609},{name:"M38",region:cx.Manhattan,connectionCost:5,slotCosts:[25],x:289,y:680},{name:"M39",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:466,y:680},{name:"M40",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:512,y:680},{name:"M41",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:363,y:681},{name:"M42",region:cx.Manhattan,connectionCost:5,slotCosts:[25],x:571,y:681},{name:"M43",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:417,y:682},{name:"M44",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:427,y:740},{name:"M45",region:cx.Manhattan,connectionCost:5,slotCosts:[25],x:632,y:740},{name:"M46",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:505,y:741},{name:"M47",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:572,y:741},{name:"M48",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:378,y:745},{name:"M49",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:346,y:761},{name:"M50",region:cx.Manhattan,connectionCost:5,slotCosts:[25],x:312,y:775},{name:"M51",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:640,y:784},{name:"M52",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:571,y:787},{name:"M53",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:427,y:790},{name:"M54",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:514,y:790},{name:"M55",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:473,y:794},{name:"M56",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:646,y:821},{name:"M57",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:585,y:827},{name:"M58",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:430,y:832},{name:"M59",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:533,y:833},{name:"M60",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:482,y:834},{name:"M61",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:389,y:851},{name:"M62",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:350,y:852},{name:"M63",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:613,y:859},{name:"M64",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:673,y:860},{name:"M65",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:433,y:871},{name:"M66",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:571,y:873},{name:"M67",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:482,y:874},{name:"M68",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:534,y:885},{name:"M69",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:636,y:892},{name:"M70",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:371,y:895},{name:"M71",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:482,y:914},{name:"M72",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:593,y:915},{name:"M73",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:427,y:920},{name:"M74",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:389,y:934},{name:"M75",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:555,y:937},{name:"M76",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:466,y:950},{name:"M77",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:520,y:962},{name:"M78",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:379,y:983},{name:"M79",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:424,y:986},{name:"M80",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:484,y:993},{name:"M81",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:394,y:1038},{name:"M82",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:429,y:1041},{name:"M83",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:478,y:1041}],fx=[{nodes:["M1","M2"],cost:0},{nodes:["M1","M5"],cost:0},{nodes:["M2","M6"],cost:0},{nodes:["M3","M4"],cost:0},{nodes:["M3","M7"],cost:0},{nodes:["M4","M8"],cost:0},{nodes:["M5","M6"],cost:0},{nodes:["M5","M10"],cost:0},{nodes:["M6","M9"],cost:0},{nodes:["M7","M8"],cost:0},{nodes:["M7","M11"],cost:0},{nodes:["M8","M12"],cost:0},{nodes:["M9","M13"],cost:0},{nodes:["M10","M13"],cost:0},{nodes:["M10","M14"],cost:0},{nodes:["M11","M12"],cost:0},{nodes:["M11","M17"],cost:0},{nodes:["M12","M18"],cost:0},{nodes:["M13","M15"],cost:0},{nodes:["M14","M15"],cost:0},{nodes:["M14","M20"],cost:0},{nodes:["M15","M19"],cost:0},{nodes:["M15","M21"],cost:0},{nodes:["M16","M17"],cost:0},{nodes:["M16","M19"],cost:0},{nodes:["M16","M23"],cost:0},{nodes:["M17","M18"],cost:0},{nodes:["M17","M24"],cost:0},{nodes:["M18","M25"],cost:0},{nodes:["M19","M22"],cost:0},{nodes:["M20","M21"],cost:0},{nodes:["M20","M26"],cost:0},{nodes:["M21","M22"],cost:0},{nodes:["M21","M27"],cost:0},{nodes:["M22","M23"],cost:0},{nodes:["M22","M28"],cost:0},{nodes:["M23","M24"],cost:0},{nodes:["M23","M29"],cost:0},{nodes:["M24","M25"],cost:0},{nodes:["M24","M30"],cost:0},{nodes:["M25","M31"],cost:0},{nodes:["M26","M27"],cost:0},{nodes:["M26","M33"],cost:0},{nodes:["M27","M28"],cost:0},{nodes:["M27","M34"],cost:0},{nodes:["M28","M29"],cost:0},{nodes:["M28","M37"],cost:0},{nodes:["M29","M30"],cost:0},{nodes:["M29","M32"],cost:0},{nodes:["M30","M31"],cost:0},{nodes:["M30","M35"],cost:0},{nodes:["M31","M36"],cost:0},{nodes:["M32","M35"],cost:0},{nodes:["M32","M37"],cost:0},{nodes:["M33","M34"],cost:0},{nodes:["M33","M38"],cost:0},{nodes:["M34","M37"],cost:0},{nodes:["M34","M38"],cost:0},{nodes:["M35","M36"],cost:0},{nodes:["M35","M39"],cost:0},{nodes:["M36","M40"],cost:0},{nodes:["M36","M42"],cost:0},{nodes:["M37","M41"],cost:0},{nodes:["M37","M43"],cost:0},{nodes:["M38","M41"],cost:0},{nodes:["M38","M50"],cost:0},{nodes:["M39","M40"],cost:0},{nodes:["M39","M43"],cost:0},{nodes:["M39","M46"],cost:0},{nodes:["M40","M42"],cost:0},{nodes:["M40","M46"],cost:0},{nodes:["M41","M43"],cost:0},{nodes:["M41","M48"],cost:0},{nodes:["M41","M49"],cost:0},{nodes:["M42","M45"],cost:0},{nodes:["M42","M47"],cost:0},{nodes:["M43","M44"],cost:0},{nodes:["M44","M48"],cost:0},{nodes:["M44","M53"],cost:0},{nodes:["M44","M55"],cost:0},{nodes:["M45","M47"],cost:0},{nodes:["M45","M51"],cost:0},{nodes:["M46","M47"],cost:0},{nodes:["M46","M54"],cost:0},{nodes:["M46","M55"],cost:0},{nodes:["M47","M52"],cost:0},{nodes:["M48","M49"],cost:0},{nodes:["M48","M53"],cost:0},{nodes:["M48","M61"],cost:0},{nodes:["M49","M50"],cost:0},{nodes:["M49","M61"],cost:0},{nodes:["M50","M62"],cost:0},{nodes:["M51","M52"],cost:0},{nodes:["M51","M56"],cost:0},{nodes:["M52","M54"],cost:0},{nodes:["M52","M57"],cost:0},{nodes:["M52","M59"],cost:0},{nodes:["M53","M55"],cost:0},{nodes:["M53","M58"],cost:0},{nodes:["M54","M55"],cost:0},{nodes:["M54","M59"],cost:0},{nodes:["M55","M60"],cost:0},{nodes:["M56","M57"],cost:0},{nodes:["M56","M63"],cost:0},{nodes:["M56","M64"],cost:0},{nodes:["M57","M59"],cost:0},{nodes:["M57","M63"],cost:0},{nodes:["M57","M66"],cost:0},{nodes:["M58","M60"],cost:0},{nodes:["M58","M61"],cost:0},{nodes:["M58","M65"],cost:0},{nodes:["M59","M60"],cost:0},{nodes:["M59","M66"],cost:0},{nodes:["M59","M68"],cost:0},{nodes:["M60","M67"],cost:0},{nodes:["M61","M62"],cost:0},{nodes:["M61","M65"],cost:0},{nodes:["M61","M73"],cost:0},{nodes:["M62","M70"],cost:0},{nodes:["M63","M64"],cost:0},{nodes:["M63","M66"],cost:0},{nodes:["M63","M69"],cost:0},{nodes:["M64","M69"],cost:0},{nodes:["M65","M67"],cost:0},{nodes:["M65","M73"],cost:0},{nodes:["M66","M68"],cost:0},{nodes:["M66","M72"],cost:0},{nodes:["M67","M68"],cost:0},{nodes:["M67","M71"],cost:0},{nodes:["M68","M71"],cost:0},{nodes:["M68","M75"],cost:0},{nodes:["M69","M72"],cost:0},{nodes:["M70","M73"],cost:0},{nodes:["M70","M74"],cost:0},{nodes:["M71","M73"],cost:0},{nodes:["M71","M76"],cost:0},{nodes:["M72","M75"],cost:0},{nodes:["M73","M74"],cost:0},{nodes:["M73","M76"],cost:0},{nodes:["M73","M79"],cost:0},{nodes:["M74","M78"],cost:0},{nodes:["M74","M79"],cost:0},{nodes:["M75","M77"],cost:0},{nodes:["M76","M77"],cost:0},{nodes:["M76","M79"],cost:0},{nodes:["M76","M80"],cost:0},{nodes:["M77","M80"],cost:0},{nodes:["M78","M79"],cost:0},{nodes:["M78","M81"],cost:0},{nodes:["M79","M80"],cost:0},{nodes:["M79","M82"],cost:0},{nodes:["M80","M83"],cost:0},{nodes:["M81","M82"],cost:0},{nodes:["M82","M83"],cost:0}],px={name:"Manhattan",cities:dx,connections:fx,layout:"Portrait",adjustRatio:[1.15,1.15],mapPosition:[30,10],mapRotation:0,viewBox:[1480,1400],supplyPosition:[675,1240],resupply:[[[4,4,4],[4,4,4],[5,5,5],[6,6,6],[7,7,7]],[[3,3,3],[3,3,3],[4,4,4],[5,5,5],[6,6,6]],[[2,2,2],[2,2,2],[3,3,3],[4,4,4],[5,5,5]],[[1,1,1],[1,1,1],[2,2,2],[2,2,2],[3,3,3]]],startingResources:[18,18,9,4],startingSupply:[24,24,24,12],setupDeck:function(e,n,t){var r=new Set;e<=3&&(r.add(20),r.add(22),r.add(37));var o=Object(Qw["cloneDeep"])(yk).filter((function(e){return!r.has(e.number)}));o.pop();var i=uk(o.filter((function(e){return e.number<=15})),t()+""),a=uk(o.filter((function(e){return e.number>15})),t()+"");i.splice(0,4);var c=i.splice(0,8).sort((function(e,n){return e.number-n.number})),u=c.slice(0,4),s=c.slice(4),l=[].concat(P(i),P(a));return{actualMarket:u,futureMarket:s,powerPlantsDeck:l}},blockSpaces:function(e,n,t){if(e>=5)return[];for(var r={10:3,15:3,20:2,25:2,30:2,35:2},o=4===e?1:2,i=[],a=function(){var e=W(u[c],2),r=e[0],a=e[1],s=Number(r),l=a*o,d=uk(n.filter((function(e){return e.slotCosts&&e.slotCosts[0]===s})).map((function(e){return e.name})),t()+"");i.push.apply(i,P(d.slice(0,l)))},c=0,u=Object.entries(r);c<u.length;c++)a();return i},mapSpecificRules:"Single region, one house per space: every building space holds just one house at its printed building cost (10–40 Elektro). The game runs only in Step 1 until the end. Connections: your first house may be any empty space (pay only its building cost); a space directly adjacent to your network costs only its building cost; otherwise pay a flat 5 Elektro for each space you transit through (blocked spaces, or spaces you choose not to connect) plus the building cost of the target space. Uranium is used. With fewer players, some spaces are blocked at setup (4 players block 14 spaces; 2–3 players block 28). In the physical game the players mutually choose which spaces to block; here the system selects them automatically for your convenience. If you buy the discounted power plant you may purchase another power plant during the same phase. Power plant market: during each Bureaucracy phase the two highest plants of the future market are placed on a discard pile and the market is refilled to 8 from the deck. When the deck runs out for the first time, the discard pile is shuffled and becomes the new deck; from then on, each Bureaucracy phase the highest future-market plant is instead placed under the deck. When the deck runs out for the second time, every plant in the whole market becomes available for auction, and each Bureaucracy phase the lowest plant is removed from the game. If the market is completely empty, no more power plants can be bought. The game ends when a player has connected 18 spaces (17 for 3–4 players, 15 for 5, 14 for 6).\n",deckBuild:"at the start of the game, 4 random plug plants are removed. Of the other 9, 8 are in the starting market and 1 is on the top of the deck. The rest of the deck is random with no plug plants. The Step 3 card is removed from the game. For 2-3 players: also place power plants 20, 22, and 37 into the game box."};(function(e){e["Pink"]="pink",e["Green"]="green",e["Orange"]="orange",e["Yellow"]="yellow",e["Red"]="red",e["Brown"]="brown"})(sx||(sx={})),function(e){e["Mashhad"]="Mashhad",e["Corgan"]="Corgan",e["Tehran"]="Tehran",e["Tabriz"]="Tabriz",e["Mosul"]="Mosul",e["Kermanshah"]="Kermanshah",e["Baghdad"]="Baghdad",e["Isfahan"]="Isfahan",e["Yazo"]="Yazo",e["Zahedan"]="Zahedan",e["Kerman"]="Kerman",e["Shiraz"]="Shiraz",e["Bandarabbas"]="Bandar Abbas",e["Chabahar"]="Chabahar",e["Dubai"]="Dubai",e["Muscat"]="Muscat",e["Abudhari"]="Abu Dhari",e["Alain"]="Alain",e["Salalah"]="Salalah",e["Doha"]="Doha",e["Manama"]="Manama",e["Ahvaz"]="Ahvaz",e["Basra"]="Basra",e["Najaf"]="Najaf",e["Kuwaitcity"]="Kuwait City",e["Buraydah"]="Buraydah",e["Riyadh"]="Riyadh",e["Medina"]="Medina",e["Alhasahah"]="Al Hasahah",e["Aleppo"]="Aleppo",e["Damascus"]="Damascus",e["Amman"]="Amman",e["Beirut"]="Beirut",e["Jerusalem"]="Jerusalem",e["Aqaba"]="Aqaba",e["Mukalla"]="Mukalla",e["Sanaa"]="Sanaa",e["Aden"]="Aden",e["Alhudaydah"]="Al-Hudaydah",e["Abha"]="Abha",e["Mecca"]="Mecca",e["Jeddah"]="Jeddah"}(lx||(lx={}));var vx,hx,mx={name:"Middle East",cities:[{name:lx.Mashhad,region:sx.Pink,x:859,y:327},{name:lx.Corgan,region:sx.Pink,x:734,y:287},{name:lx.Tehran,region:sx.Pink,x:633,y:342},{name:lx.Tabriz,region:sx.Pink,x:450,y:251},{name:lx.Mosul,region:sx.Pink,x:352,y:307},{name:lx.Kermanshah,region:sx.Pink,x:503,y:391},{name:lx.Baghdad,region:sx.Pink,x:393,y:406},{name:lx.Isfahan,region:sx.Green,x:621,y:436},{name:lx.Yazo,region:sx.Green,x:720,y:472},{name:lx.Zahedan,region:sx.Green,x:896,y:547},{name:lx.Kerman,region:sx.Green,x:784,y:534},{name:lx.Shiraz,region:sx.Green,x:651,y:557},{name:lx.Bandarabbas,region:sx.Green,x:756,y:629},{name:lx.Chabahar,region:sx.Green,x:898,y:687},{name:lx.Dubai,region:sx.Orange,x:752,y:690},{name:lx.Muscat,region:sx.Orange,x:828,y:773},{name:lx.Abudhari,region:sx.Orange,x:692,y:747},{name:lx.Alain,region:sx.Orange,x:715,y:812},{name:lx.Salalah,region:sx.Orange,x:694,y:981},{name:lx.Doha,region:sx.Orange,x:596,y:713},{name:lx.Manama,region:sx.Orange,x:532,y:652},{name:lx.Ahvaz,region:sx.Yellow,x:555,y:499},{name:lx.Basra,region:sx.Yellow,x:452,y:519},{name:lx.Najaf,region:sx.Yellow,x:356,y:478},{name:lx.Kuwaitcity,region:sx.Yellow,x:500,y:580},{name:lx.Buraydah,region:sx.Yellow,x:360,y:674},{name:lx.Riyadh,region:sx.Yellow,x:443,y:741},{name:lx.Medina,region:sx.Yellow,x:264,y:738},{name:lx.Alhasahah,region:sx.Red,x:248,y:300},{name:lx.Aleppo,region:sx.Red,x:132,y:315},{name:lx.Damascus,region:sx.Red,x:186,y:433},{name:lx.Amman,region:sx.Red,x:171,y:493},{name:lx.Beirut,region:sx.Red,x:94,y:401},{name:lx.Jerusalem,region:sx.Red,x:76,y:481},{name:lx.Aqaba,region:sx.Red,x:103,y:563},{name:lx.Mukalla,region:sx.Brown,x:555,y:1059},{name:lx.Sanaa,region:sx.Brown,x:426,y:1018},{name:lx.Aden,region:sx.Brown,x:431,y:1105},{name:lx.Alhudaydah,region:sx.Brown,x:317,y:1057},{name:lx.Abha,region:sx.Brown,x:306,y:938},{name:lx.Mecca,region:sx.Brown,x:280,y:850},{name:lx.Jeddah,region:sx.Brown,x:190,y:800}],connections:[{nodes:[lx.Tabriz,lx.Tehran],cost:13},{nodes:[lx.Tehran,lx.Corgan],cost:9},{nodes:[lx.Corgan,lx.Mashhad],cost:12},{nodes:[lx.Mashhad,lx.Zahedan],cost:20},{nodes:[lx.Zahedan,lx.Kerman],cost:10},{nodes:[lx.Kerman,lx.Yazo],cost:7},{nodes:[lx.Yazo,lx.Mashhad],cost:18},{nodes:[lx.Mashhad,lx.Tehran],cost:19},{nodes:[lx.Tehran,lx.Yazo],cost:12},{nodes:[lx.Yazo,lx.Shiraz],cost:9},{nodes:[lx.Shiraz,lx.Kerman],cost:11},{nodes:[lx.Yazo,lx.Isfahan],cost:7},{nodes:[lx.Isfahan,lx.Shiraz],cost:10},{nodes:[lx.Isfahan,lx.Tehran],cost:9},{nodes:[lx.Tehran,lx.Kermanshah],cost:13},{nodes:[lx.Kermanshah,lx.Isfahan],cost:13},{nodes:[lx.Isfahan,lx.Ahvaz],cost:11},{nodes:[lx.Ahvaz,lx.Shiraz],cost:11},{nodes:[lx.Ahvaz,lx.Kermanshah],cost:11},{nodes:[lx.Kermanshah,lx.Tabriz],cost:13},{nodes:[lx.Tabriz,lx.Mosul],cost:13},{nodes:[lx.Mosul,lx.Baghdad],cost:8},{nodes:[lx.Baghdad,lx.Kermanshah],cost:8},{nodes:[lx.Basra,lx.Ahvaz],cost:3},{nodes:[lx.Ahvaz,lx.Kuwaitcity],cost:7},{nodes:[lx.Kuwaitcity,lx.Basra],cost:5},{nodes:[lx.Basra,lx.Najaf],cost:10},{nodes:[lx.Najaf,lx.Baghdad],cost:4},{nodes:[lx.Baghdad,lx.Basra],cost:12},{nodes:[lx.Alhasahah,lx.Mosul],cost:4},{nodes:[lx.Alhasahah,lx.Baghdad],cost:11},{nodes:[lx.Baghdad,lx.Damascus],cost:16},{nodes:[lx.Damascus,lx.Najaf],cost:15},{nodes:[lx.Alhasahah,lx.Damascus],cost:14},{nodes:[lx.Damascus,lx.Amman],cost:4},{nodes:[lx.Amman,lx.Aqaba],cost:7},{nodes:[lx.Aqaba,lx.Jerusalem],cost:6},{nodes:[lx.Jerusalem,lx.Amman],cost:3},{nodes:[lx.Jerusalem,lx.Beirut],cost:6},{nodes:[lx.Beirut,lx.Damascus],cost:4},{nodes:[lx.Damascus,lx.Aleppo],cost:8},{nodes:[lx.Aleppo,lx.Beirut],cost:9},{nodes:[lx.Aleppo,lx.Alhasahah],cost:7},{nodes:[lx.Baghdad,lx.Tabriz],cost:18},{nodes:[lx.Zahedan,lx.Chabahar],cost:13},{nodes:[lx.Zahedan,lx.Bandarabbas],cost:14},{nodes:[lx.Bandarabbas,lx.Kerman],cost:13},{nodes:[lx.Shiraz,lx.Bandarabbas],cost:14},{nodes:[lx.Bandarabbas,lx.Chabahar],cost:15},{nodes:[lx.Kuwaitcity,lx.Manama],cost:12},{nodes:[lx.Manama,lx.Doha],cost:6},{nodes:[lx.Doha,lx.Abudhari],cost:9},{nodes:[lx.Abudhari,lx.Dubai],cost:2},{nodes:[lx.Dubai,lx.Muscat],cost:9},{nodes:[lx.Muscat,lx.Alain],cost:7},{nodes:[lx.Alain,lx.Abudhari],cost:3},{nodes:[lx.Alain,lx.Dubai],cost:3},{nodes:[lx.Riyadh,lx.Alain],cost:23},{nodes:[lx.Doha,lx.Riyadh],cost:12},{nodes:[lx.Riyadh,lx.Manama],cost:10},{nodes:[lx.Riyadh,lx.Kuwaitcity],cost:12},{nodes:[lx.Kuwaitcity,lx.Buraydah],cost:12},{nodes:[lx.Buraydah,lx.Riyadh],cost:7},{nodes:[lx.Buraydah,lx.Medina],cost:10},{nodes:[lx.Medina,lx.Riyadh],cost:15},{nodes:[lx.Buraydah,lx.Najaf],cost:14},{nodes:[lx.Aqaba,lx.Jeddah],cost:23},{nodes:[lx.Aqaba,lx.Medina],cost:17},{nodes:[lx.Medina,lx.Jeddah],cost:7},{nodes:[lx.Jeddah,lx.Mecca],cost:1},{nodes:[lx.Mecca,lx.Medina],cost:7},{nodes:[lx.Mecca,lx.Riyadh],cost:17},{nodes:[lx.Riyadh,lx.Abha],cost:19},{nodes:[lx.Abha,lx.Mecca],cost:12},{nodes:[lx.Salalah,lx.Muscat],cost:21},{nodes:[lx.Alain,lx.Salalah],cost:18},{nodes:[lx.Salalah,lx.Mukalla],cost:15},{nodes:[lx.Salalah,lx.Sanaa],cost:25},{nodes:[lx.Sanaa,lx.Mukalla],cost:14},{nodes:[lx.Mukalla,lx.Aden],cost:13},{nodes:[lx.Aden,lx.Alhudaydah],cost:9},{nodes:[lx.Alhudaydah,lx.Abha],cost:10},{nodes:[lx.Abha,lx.Sanaa],cost:11},{nodes:[lx.Sanaa,lx.Alhudaydah],cost:5}],layout:"Portrait",mapPosition:[0,-100],resupply:[[[2,1,1],[2,1,1],[3,2,2],[4,3,2],[5,4,3]],[[5,3,2],[5,3,2],[6,3,2],[8,4,3],[9,5,4]],[[1,3,4],[1,3,4],[1,4,6],[1,4,8],[1,6,9]],[[0,2,2],[0,2,2],[0,3,3],[0,3,4],[0,4,5]]],startingResources:[21,21,3,3],startingSupply:[24,24,21,11],mapSpecificRules:"Only coal and oil can be bought for $1, and any number of oil can restock at $1.\nDuring step 1, garbage and uranium plants will be removed from the current market.\nStep 2 will be triggered after going through the deck once rather than by a specific number of cities.\nStep 3 will be triggered after going through the deck a second time."};(function(e){e["Pink"]="pink",e["Brown"]="brown",e["Orange"]="orange",e["Green"]="green",e["Blue"]="blue",e["Yellow"]="yellow",e["Red"]="red"})(vx||(vx={})),function(e){e["Edmonton"]="Edmonton",e["Calgary"]="Calgary",e["Vancouver"]="Vancouver",e["Seattle"]="Seattle",e["Regina"]="Regina",e["Winnipeg"]="Winnipeg",e["Minneapolis"]="Minneapolis",e["Portland"]="Portland",e["SanFrancisco"]="San Francisco",e["LosAngeles"]="Los Angeles",e["SanDiego"]="San Diego",e["SaltLakeCity"]="Salt Lake City",e["LasVegas"]="Las Vegas",e["Denver"]="Denver",e["Albuquerque"]="Albuquerque",e["Juarez"]="Juarez",e["Chihuahua"]="Chihuahua",e["Monterrey"]="Monterrey",e["Guadalajara"]="Guadalajara",e["MexicoCityN"]="Mexico City N",e["MexicoCityS"]="Mexico City S",e["SanAntonio"]="San Antonio",e["DallasFortWorth"]="Dallas-Fort Worth",e["Houston"]="Houston",e["NewOrleans"]="New Orleans",e["Atlanta"]="Atlanta",e["Jacksonville"]="Jacksonville",e["Miami"]="Miami",e["Milwaukee"]="Milwaukee",e["Chicago"]="Chicago",e["KansasCity"]="Kansas City",e["StLouis"]="St. Louis",e["Indianapolis"]="Indianapolis",e["OklahomaCity"]="Oklahoma City",e["Memphis"]="Memphis",e["Toronto"]="Toronto",e["Detroit"]="Detroit",e["Pittsburgh"]="Pittsburgh",e["Columbus"]="Columbus",e["Nashville"]="Nashville",e["Washington"]="Washington",e["Charlotte"]="Charlotte",e["Quebec"]="Quebec",e["Ottawa"]="Ottawa",e["Montreal"]="Montreal",e["NewYorkN"]="New York N",e["NewYorkS"]="New York S",e["Boston"]="Boston",e["Philadelphia"]="Philadelphia"}(hx||(hx={}));var gx,yx,bx,wx={name:"North America",cities:[{name:hx.Edmonton,region:vx.Pink,x:325,y:71},{name:hx.Calgary,region:vx.Pink,x:250,y:190},{name:hx.Vancouver,region:vx.Pink,x:114,y:266},{name:hx.Seattle,region:vx.Pink,x:100,y:387},{name:hx.Regina,region:vx.Pink,x:536,y:277},{name:hx.Winnipeg,region:vx.Pink,x:830,y:272},{name:hx.Minneapolis,region:vx.Pink,x:907,y:486},{name:hx.Portland,region:vx.Brown,x:122,y:516},{name:hx.SanFrancisco,region:vx.Brown,x:123,y:697},{name:hx.LosAngeles,region:vx.Brown,x:160,y:911},{name:hx.SanDiego,region:vx.Brown,x:223,y:1007},{name:hx.SaltLakeCity,region:vx.Brown,x:380,y:555},{name:hx.LasVegas,region:vx.Brown,x:322,y:760},{name:hx.Denver,region:vx.Brown,x:569,y:694},{name:hx.Albuquerque,region:vx.Orange,x:539,y:941},{name:hx.Juarez,region:vx.Orange,x:558,y:1043},{name:hx.Chihuahua,region:vx.Orange,x:577,y:1183},{name:hx.Monterrey,region:vx.Orange,x:791,y:1292},{name:hx.Guadalajara,region:vx.Orange,x:715,y:1391},{name:hx.MexicoCityN,region:vx.Orange,x:913,y:1335},{name:hx.MexicoCityS,region:vx.Orange,x:913,y:1425},{name:hx.SanAntonio,region:vx.Green,x:767,y:1172},{name:hx.DallasFortWorth,region:vx.Green,x:850,y:1020},{name:hx.Houston,region:vx.Green,x:940,y:1145},{name:hx.NewOrleans,region:vx.Green,x:1126,y:1095},{name:hx.Atlanta,region:vx.Green,x:1318,y:1021},{name:hx.Jacksonville,region:vx.Green,x:1398,y:1109},{name:hx.Miami,region:vx.Green,x:1398,y:1235},{name:hx.Milwaukee,region:vx.Blue,x:1206,y:414},{name:hx.Chicago,region:vx.Blue,x:1121,y:531},{name:hx.KansasCity,region:vx.Blue,x:825,y:720},{name:hx.StLouis,region:vx.Blue,x:1047,y:768},{name:hx.Indianapolis,region:vx.Blue,x:1206,y:694},{name:hx.OklahomaCity,region:vx.Blue,x:800,y:870},{name:hx.Memphis,region:vx.Blue,x:1099,y:938},{name:hx.Toronto,region:vx.Yellow,x:1488,y:513},{name:hx.Detroit,region:vx.Yellow,x:1390,y:590},{name:hx.Pittsburgh,region:vx.Yellow,x:1524,y:659},{name:hx.Columbus,region:vx.Yellow,x:1398,y:733},{name:hx.Nashville,region:vx.Yellow,x:1233,y:826},{name:hx.Washington,region:vx.Yellow,x:1554,y:829},{name:hx.Charlotte,region:vx.Yellow,x:1480,y:965},{name:hx.Quebec,region:vx.Red,x:1911,y:354},{name:hx.Ottawa,region:vx.Red,x:1653,y:458},{name:hx.Montreal,region:vx.Red,x:1875,y:461},{name:hx.NewYorkN,region:vx.Red,x:1727,y:561},{name:hx.NewYorkS,region:vx.Red,x:1727,y:637},{name:hx.Boston,region:vx.Red,x:1928,y:579},{name:hx.Philadelphia,region:vx.Red,x:1724,y:755}],connections:[{nodes:[hx.Edmonton,hx.Calgary],cost:5},{nodes:[hx.Calgary,hx.Vancouver],cost:16},{nodes:[hx.Vancouver,hx.Seattle],cost:4},{nodes:[hx.Edmonton,hx.Regina],cost:15},{nodes:[hx.Calgary,hx.Regina],cost:14},{nodes:[hx.Vancouver,hx.Regina],cost:28},{nodes:[hx.Regina,hx.Winnipeg],cost:11},{nodes:[hx.Winnipeg,hx.Minneapolis],cost:13},{nodes:[hx.Seattle,hx.Portland],cost:5},{nodes:[hx.Regina,hx.SaltLakeCity],cost:29},{nodes:[hx.Regina,hx.Denver],cost:24},{nodes:[hx.Winnipeg,hx.Denver],cost:26},{nodes:[hx.Minneapolis,hx.Denver],cost:23},{nodes:[hx.Portland,hx.SanFrancisco],cost:20},{nodes:[hx.SanFrancisco,hx.LosAngeles],cost:12},{nodes:[hx.LosAngeles,hx.SanDiego],cost:3},{nodes:[hx.Portland,hx.SaltLakeCity],cost:22},{nodes:[hx.SanFrancisco,hx.SaltLakeCity],cost:22},{nodes:[hx.SanFrancisco,hx.LasVegas],cost:16},{nodes:[hx.SaltLakeCity,hx.LasVegas],cost:14},{nodes:[hx.LasVegas,hx.LosAngeles],cost:8},{nodes:[hx.SaltLakeCity,hx.Denver],cost:14},{nodes:[hx.LasVegas,hx.Denver],cost:25},{nodes:[hx.LosAngeles,hx.Albuquerque],cost:25},{nodes:[hx.LasVegas,hx.Albuquerque],cost:18},{nodes:[hx.Denver,hx.Albuquerque],cost:12},{nodes:[hx.SanDiego,hx.Juarez],cost:22},{nodes:[hx.Albuquerque,hx.Juarez],cost:9},{nodes:[hx.Juarez,hx.Chihuahua],cost:8},{nodes:[hx.Chihuahua,hx.Monterrey],cost:14},{nodes:[hx.Chihuahua,hx.Guadalajara],cost:23},{nodes:[hx.Monterrey,hx.Guadalajara],cost:16},{nodes:[hx.Monterrey,hx.MexicoCityS],cost:17},{nodes:[hx.Guadalajara,hx.MexicoCityS],cost:10},{nodes:[hx.MexicoCityN,hx.MexicoCityS],cost:0},{nodes:[hx.Albuquerque,hx.OklahomaCity],cost:18},{nodes:[hx.Juarez,hx.DallasFortWorth],cost:19},{nodes:[hx.Juarez,hx.SanAntonio],cost:18},{nodes:[hx.Chihuahua,hx.SanAntonio],cost:16},{nodes:[hx.Monterrey,hx.SanAntonio],cost:10},{nodes:[hx.Milwaukee,hx.Chicago],cost:3},{nodes:[hx.Chicago,hx.KansasCity],cost:16},{nodes:[hx.Chicago,hx.StLouis],cost:9},{nodes:[hx.Chicago,hx.Indianapolis],cost:6},{nodes:[hx.KansasCity,hx.StLouis],cost:8},{nodes:[hx.StLouis,hx.Indianapolis],cost:8},{nodes:[hx.KansasCity,hx.OklahomaCity],cost:10},{nodes:[hx.KansasCity,hx.Memphis],cost:14},{nodes:[hx.StLouis,hx.Memphis],cost:9},{nodes:[hx.OklahomaCity,hx.Memphis],cost:15},{nodes:[hx.Milwaukee,hx.Minneapolis],cost:10},{nodes:[hx.KansasCity,hx.Minneapolis],cost:14},{nodes:[hx.KansasCity,hx.Denver],cost:19},{nodes:[hx.OklahomaCity,hx.Denver],cost:17},{nodes:[hx.OklahomaCity,hx.DallasFortWorth],cost:7},{nodes:[hx.Memphis,hx.DallasFortWorth],cost:15},{nodes:[hx.Memphis,hx.NewOrleans],cost:14},{nodes:[hx.Memphis,hx.Atlanta],cost:12},{nodes:[hx.DallasFortWorth,hx.SanAntonio],cost:9},{nodes:[hx.DallasFortWorth,hx.Houston],cost:8},{nodes:[hx.DallasFortWorth,hx.NewOrleans],cost:16},{nodes:[hx.SanAntonio,hx.Houston],cost:6},{nodes:[hx.Houston,hx.NewOrleans],cost:12},{nodes:[hx.NewOrleans,hx.Atlanta],cost:16},{nodes:[hx.NewOrleans,hx.Jacksonville],cost:20},{nodes:[hx.Atlanta,hx.Jacksonville],cost:10},{nodes:[hx.Jacksonville,hx.Miami],cost:12},{nodes:[hx.Atlanta,hx.Nashville],cost:9},{nodes:[hx.Atlanta,hx.Charlotte],cost:8},{nodes:[hx.Jacksonville,hx.Charlotte],cost:12},{nodes:[hx.Toronto,hx.Detroit],cost:8},{nodes:[hx.Toronto,hx.Pittsburgh],cost:11},{nodes:[hx.Detroit,hx.Columbus],cost:7},{nodes:[hx.Columbus,hx.Pittsburgh],cost:6},{nodes:[hx.Nashville,hx.Columbus],cost:15},{nodes:[hx.Nashville,hx.Washington],cost:22},{nodes:[hx.Nashville,hx.Charlotte],cost:12},{nodes:[hx.Columbus,hx.Washington],cost:12},{nodes:[hx.Washington,hx.Pittsburgh],cost:7},{nodes:[hx.Washington,hx.Charlotte],cost:12},{nodes:[hx.Detroit,hx.Chicago],cost:10},{nodes:[hx.Columbus,hx.Chicago],cost:10},{nodes:[hx.Columbus,hx.Indianapolis],cost:7},{nodes:[hx.Nashville,hx.Indianapolis],cost:9},{nodes:[hx.Nashville,hx.StLouis],cost:9},{nodes:[hx.Nashville,hx.Memphis],cost:7},{nodes:[hx.Toronto,hx.Ottawa],cost:8},{nodes:[hx.Toronto,hx.NewYorkS],cost:14},{nodes:[hx.Pittsburgh,hx.NewYorkS],cost:11},{nodes:[hx.Pittsburgh,hx.Philadelphia],cost:9},{nodes:[hx.Washington,hx.Philadelphia],cost:5},{nodes:[hx.Quebec,hx.Montreal],cost:5},{nodes:[hx.Montreal,hx.Boston],cost:9},{nodes:[hx.Ottawa,hx.Montreal],cost:3},{nodes:[hx.Ottawa,hx.NewYorkS],cost:13},{nodes:[hx.Montreal,hx.NewYorkS],cost:12},{nodes:[hx.NewYorkS,hx.Boston],cost:7},{nodes:[hx.NewYorkS,hx.Philadelphia],cost:3},{nodes:[hx.NewYorkN,hx.NewYorkS],cost:0}],layout:"Landscape",adjustRatio:[.5,.38],mapPosition:[70,50],mapRotation:-2,resupply:[[[2,5,2],[2,5,2],[3,6,3],[4,7,4],[5,8,5]],[[3,1,3],[3,1,3],[3,2,4],[4,2,5],[5,3,6]],[[2,2,4],[2,2,4],[3,3,5],[3,3,6],[4,4,7]],[[2,1,2],[2,1,2],[2,1,2],[3,2,3],[3,2,4]]],coalPrices:[1,1,1,1,2,2,2,2,3,3,3,3,4,4,5,5,6,6,7,7,8,8,9,9],oilPrices:[1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,9,9],garbagePrices:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8],uraniumPrices:[1,2,3,4,5,6,7,7,8,8,9,9],startingResources:[20,14,18,2],startingSupply:[24,24,24,12]};(function(e){e["Brown"]="brown",e["Yellow"]="yellow",e["Pink"]="pink",e["Purple"]="purple",e["Orange"]="orange",e["Red"]="red"})(yx||(yx={})),function(e){e["Oulu"]="Oulu",e["Kuopid"]="Kuopid",e["Tampere"]="Tampere",e["Helsinki"]="Helsinki",e["Espoo"]="Espoo",e["Pori"]="Pori",e["Turku"]="Turku",e["Uppsala"]="Uppsala",e["Stockholm"]="Stockholm",e["Vasteras"]="Vasteras",e["Drebro"]="Drebro",e["Sundsvall"]="Sundsvall",e["Lulea"]="Lulea",e["Ostersund"]="Ostersund",e["Tallinn"]="Tallinn",e["Tartu"]="Tartu",e["Daugavpils"]="Daugavpils",e["Vilnius"]="Vilnius",e["Kaunas"]="Kaunas",e["Riga"]="Riga",e["Klaipeda"]="Klaipeda",e["Karlstad"]="Karlstad",e["Linkopinc"]="Linkopinc",e["Jonkoping"]="Jonkoping",e["Visby"]="Visby",e["Kristianstad"]="Kristianstad",e["Malmo"]="Malmo",e["Goteborg"]="Goteborg",e["Aalborg"]="Aalborg",e["Aarhus"]="Aarhus",e["Kobenhavn"]="Kobenhavn",e["Nykobingfalster"]="Nykobing Falster",e["Ringkobing"]="Ringkobing",e["Esbjerg"]="Esbjerg",e["Odense"]="Odense",e["Tromso"]="Tromso",e["Bood"]="Bood",e["Trondheim"]="Trondheim",e["Oslo"]="Oslo",e["Arendal"]="Arendal",e["Bergen"]="Bergen",e["Stavanger"]="Stavanger"}(bx||(bx={}));var kx,xx,_x={name:"Northern Europe",noUraniumRegions:[yx.Red,yx.Orange],cities:[{name:bx.Oulu,region:yx.Brown,x:514,y:376},{name:bx.Kuopid,region:yx.Brown,x:551,y:474},{name:bx.Tampere,region:yx.Brown,x:492,y:544},{name:bx.Helsinki,region:yx.Brown,x:530,y:602},{name:bx.Espoo,region:yx.Brown,x:457,y:603},{name:bx.Pori,region:yx.Brown,x:400,y:526},{name:bx.Turku,region:yx.Brown,x:409,y:593},{name:bx.Uppsala,region:yx.Yellow,x:350,y:585},{name:bx.Stockholm,region:yx.Yellow,x:380,y:660},{name:bx.Vasteras,region:yx.Yellow,x:295,y:576},{name:bx.Drebro,region:yx.Yellow,x:295,y:628},{name:bx.Sundsvall,region:yx.Yellow,x:332,y:506},{name:bx.Lulea,region:yx.Yellow,x:423,y:345},{name:bx.Ostersund,region:yx.Yellow,x:272,y:462},{name:bx.Tallinn,region:yx.Pink,x:475,y:656},{name:bx.Tartu,region:yx.Pink,x:544,y:689},{name:bx.Daugavpils,region:yx.Pink,x:547,y:771},{name:bx.Vilnius,region:yx.Pink,x:520,y:819},{name:bx.Kaunas,region:yx.Pink,x:458,y:811},{name:bx.Riga,region:yx.Pink,x:472,y:734},{name:bx.Klaipeda,region:yx.Pink,x:411,y:784},{name:bx.Karlstad,region:yx.Purple,x:246,y:629},{name:bx.Linkopinc,region:yx.Purple,x:309,y:676},{name:bx.Jonkoping,region:yx.Purple,x:285,y:712},{name:bx.Visby,region:yx.Purple,x:364,y:717},{name:bx.Kristianstad,region:yx.Purple,x:330,y:750},{name:bx.Malmo,region:yx.Purple,x:287,y:787},{name:bx.Goteborg,region:yx.Purple,x:231,y:700},{name:bx.Aalborg,region:yx.Orange,x:177,y:717},{name:bx.Aarhus,region:yx.Orange,x:195,y:758},{name:bx.Kobenhavn,region:yx.Orange,x:228,y:792},{name:bx.Nykobingfalster,region:yx.Orange,x:238,y:842},{name:bx.Ringkobing,region:yx.Orange,x:120,y:733},{name:bx.Esbjerg,region:yx.Orange,x:104,y:787},{name:bx.Odense,region:yx.Orange,x:148,y:824},{name:bx.Tromso,region:yx.Red,x:371,y:122},{name:bx.Bood,region:yx.Red,x:276,y:254},{name:bx.Trondheim,region:yx.Red,x:173,y:450},{name:bx.Oslo,region:yx.Red,x:176,y:606},{name:bx.Arendal,region:yx.Red,x:145,y:651},{name:bx.Bergen,region:yx.Red,x:68,y:586},{name:bx.Stavanger,region:yx.Red,x:72,y:647}],layout:"Portrait",adjustRatio:[1.5,1.2],mapPosition:[60,-40],mapRotation:20,viewBox:[1480,1326],supplyPosition:[675,1184],startingResources:[18,18,12,6],resupply:[[[2,4,3],[3,4,4],[4,5,5],[4,5,6],[6,8,5]],[[1,2,3],[2,2,3],[2,3,4],[3,4,5],[4,5,6]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,2,2],[1,2,2],[2,3,2],[2,4,3],[2,4,4]]],regionalPowerPlants:(gx={},y(gx,yx.Orange,[{number:19,type:Pw.Oil,cost:2,citiesPowered:4},{number:26,type:Pw.Oil,cost:3,citiesPowered:5}]),y(gx,yx.Red,[{number:7,type:Pw.Wind,cost:0,citiesPowered:1},{number:46,type:Pw.Wind,cost:0,citiesPowered:6}]),y(gx,yx.Purple,[{number:10,type:Pw.Uranium,cost:2,citiesPowered:3},{number:39,type:Pw.Wind,cost:0,citiesPowered:5}]),y(gx,yx.Yellow,[{number:21,type:Pw.Wind,cost:0,citiesPowered:2},{number:25,type:Pw.Uranium,cost:1,citiesPowered:4}]),y(gx,yx.Brown,[{number:32,type:Pw.Garbage,cost:2,citiesPowered:6},{number:44,type:Pw.Uranium,cost:1,citiesPowered:7}]),y(gx,yx.Pink,[{number:18,type:Pw.Oil,cost:1,citiesPowered:3},{number:22,type:Pw.Wind,cost:0,citiesPowered:3}]),gx),mapSpecificRules:"Nuclear plants may only be purchased by players with at least one city in Sweden, Finland, or the Baltic States. Players with cities only in Norway or Denmark may not bid on or buy nuclear plants. Resources start at: coal 3 Elektro, oil 3 Elektro, garbage 5 Elektro, uranium 7 Elektro.\n",deckBuild:"standard setup; the regions in play swap in regional versions of certain power plants (same numbers, different fuel or output).",connections:[{nodes:[bx.Bood,bx.Tromso],cost:17},{nodes:[bx.Tromso,bx.Oulu],cost:25},{nodes:[bx.Oulu,bx.Kuopid],cost:10},{nodes:[bx.Lulea,bx.Tromso],cost:19},{nodes:[bx.Lulea,bx.Oulu],cost:13},{nodes:[bx.Oulu,bx.Pori],cost:15},{nodes:[bx.Oulu,bx.Tampere],cost:14},{nodes:[bx.Sundsvall,bx.Lulea],cost:16},{nodes:[bx.Lulea,bx.Bood],cost:16},{nodes:[bx.Bood,bx.Ostersund],cost:18},{nodes:[bx.Ostersund,bx.Lulea],cost:17},{nodes:[bx.Lulea,bx.Pori],cost:22},{nodes:[bx.Pori,bx.Sundsvall],cost:17},{nodes:[bx.Bood,bx.Trondheim],cost:21},{nodes:[bx.Trondheim,bx.Bergen],cost:17},{nodes:[bx.Trondheim,bx.Oslo],cost:17},{nodes:[bx.Oslo,bx.Ostersund],cost:18},{nodes:[bx.Ostersund,bx.Karlstad],cost:16},{nodes:[bx.Bergen,bx.Oslo],cost:15},{nodes:[bx.Oslo,bx.Stavanger],cost:11},{nodes:[bx.Stavanger,bx.Arendal],cost:8},{nodes:[bx.Arendal,bx.Oslo],cost:7},{nodes:[bx.Bergen,bx.Stavanger],cost:9},{nodes:[bx.Arendal,bx.Ringkobing],cost:19},{nodes:[bx.Ringkobing,bx.Esbjerg],cost:4},{nodes:[bx.Esbjerg,bx.Odense],cost:5},{nodes:[bx.Odense,bx.Nykobingfalster],cost:8},{nodes:[bx.Arendal,bx.Aalborg],cost:16},{nodes:[bx.Arendal,bx.Goteborg],cost:19},{nodes:[bx.Goteborg,bx.Oslo],cost:11},{nodes:[bx.Oslo,bx.Karlstad],cost:7},{nodes:[bx.Karlstad,bx.Goteborg],cost:9},{nodes:[bx.Karlstad,bx.Jonkoping],cost:9},{nodes:[bx.Karlstad,bx.Linkopinc],cost:7},{nodes:[bx.Tampere,bx.Kuopid],cost:10},{nodes:[bx.Tampere,bx.Pori],cost:4},{nodes:[bx.Tampere,bx.Turku],cost:5},{nodes:[bx.Tampere,bx.Espoo],cost:5},{nodes:[bx.Tampere,bx.Helsinki],cost:6},{nodes:[bx.Helsinki,bx.Espoo],cost:2},{nodes:[bx.Espoo,bx.Tallinn],cost:7},{nodes:[bx.Tallinn,bx.Helsinki],cost:7},{nodes:[bx.Visby,bx.Kristianstad],cost:13},{nodes:[bx.Visby,bx.Klaipeda],cost:19},{nodes:[bx.Visby,bx.Riga],cost:20},{nodes:[bx.Riga,bx.Tallinn],cost:11},{nodes:[bx.Tallinn,bx.Tartu],cost:5},{nodes:[bx.Tartu,bx.Daugavpils],cost:9},{nodes:[bx.Riga,bx.Tartu],cost:7},{nodes:[bx.Daugavpils,bx.Kaunas],cost:7},{nodes:[bx.Kaunas,bx.Vilnius],cost:3},{nodes:[bx.Kaunas,bx.Klaipeda],cost:7},{nodes:[bx.Klaipeda,bx.Riga],cost:8},{nodes:[bx.Riga,bx.Kaunas],cost:8},{nodes:[bx.Riga,bx.Daugavpils],cost:7},{nodes:[bx.Daugavpils,bx.Vilnius],cost:5},{nodes:[bx.Vasteras,bx.Sundsvall],cost:10},{nodes:[bx.Sundsvall,bx.Ostersund],cost:7},{nodes:[bx.Uppsala,bx.Stockholm],cost:2},{nodes:[bx.Uppsala,bx.Turku],cost:15},{nodes:[bx.Uppsala,bx.Pori],cost:17},{nodes:[bx.Uppsala,bx.Sundsvall],cost:11},{nodes:[bx.Vasteras,bx.Drebro],cost:5},{nodes:[bx.Drebro,bx.Linkopinc],cost:3},{nodes:[bx.Linkopinc,bx.Stockholm],cost:7},{nodes:[bx.Visby,bx.Stockholm],cost:12},{nodes:[bx.Visby,bx.Linkopinc],cost:9},{nodes:[bx.Jonkoping,bx.Malmo],cost:10},{nodes:[bx.Jonkoping,bx.Kristianstad],cost:8},{nodes:[bx.Kristianstad,bx.Malmo],cost:3},{nodes:[bx.Malmo,bx.Kobenhavn],cost:3},{nodes:[bx.Kobenhavn,bx.Nykobingfalster],cost:6},{nodes:[bx.Odense,bx.Aarhus],cost:7},{nodes:[bx.Aarhus,bx.Aalborg],cost:3},{nodes:[bx.Aalborg,bx.Goteborg],cost:11},{nodes:[bx.Kobenhavn,bx.Goteborg],cost:18},{nodes:[bx.Goteborg,bx.Jonkoping],cost:4},{nodes:[bx.Trondheim,bx.Ostersund],cost:9},{nodes:[bx.Vasteras,bx.Stockholm],cost:4},{nodes:[bx.Esbjerg,bx.Aarhus],cost:5},{nodes:[bx.Jonkoping,bx.Linkopinc],cost:5},{nodes:[bx.Kobenhavn,bx.Jonkoping],cost:12},{nodes:[bx.Karlstad,bx.Drebro],cost:4},{nodes:[bx.Vasteras,bx.Uppsala],cost:2},{nodes:[bx.Odense,bx.Kobenhavn],cost:7},{nodes:[bx.Kobenhavn,bx.Aarhus],cost:10},{nodes:[bx.Ringkobing,bx.Aalborg],cost:5},{nodes:[bx.Linkopinc,bx.Kristianstad],cost:9},{nodes:[bx.Drebro,bx.Stockholm],cost:7},{nodes:[bx.Espoo,bx.Turku],cost:4},{nodes:[bx.Pori,bx.Turku],cost:4}]};(function(e){e["Green"]="green",e["Brown"]="brown",e["Pink"]="pink",e["Red"]="red",e["Yellow"]="yellow",e["Purple"]="purple"})(kx||(kx={})),function(e){e["Septiles"]="Sept-Iles",e["Portcartier"]="Port-Cartier",e["Baiecomeau"]="Baie-Comeau",e["Chicoutimi"]="Chicoutimi",e["Alma"]="Alma",e["Roberval"]="Roberval",e["Jonquiere"]="Jonquiere",e["Gaspe"]="Gaspe",e["Steannedesmonts"]="Ste-Anne-Des-Monts",e["Matane"]="Matane",e["Rimouski"]="Rimouski",e["Pointealacroix"]="Pointe-A-La-Croix",e["Riviereduloup"]="Riviere-Du-Loup",e["Montmagny"]="Montmagny",e["Stgeorges"]="St-Georges",e["Sherbrooke"]="Sherbrooke",e["Victoriaville"]="Victoriaville",e["Stsimeon"]="St-Simeon",e["Charlesbourg"]="Charlesbourg",e["Quebec"]="Quebec",e["Beauport"]="Beauport",e["Granby"]="Granby",e["Sthyacinthe"]="St-Hyacinthe",e["Brossard"]="Brossard",e["Valleyfield"]="Valleyfield",e["Vaudreuildorion"]="Vaudreuil-Dorion",e["Montreal"]="Montreal",e["Pointeclaire"]="Pointe-Claire",e["Shawinigan"]="Shawinigan",e["Troisrivieres"]="Trois-Rivieres",e["Drummondville"]="Drummond-Ville",e["Repentigny"]="Repentigny",e["Longueuil"]="Longueuil",e["Laval"]="Laval",e["Lachute"]="Lachute",e["Amos"]="Amos",e["Valdor"]="Val-Dor",e["Rouynnoranda"]="Rouyn-Noranda",e["Montlaurier"]="Mont-Laurier",e["Maniwaki"]="Maniwaki",e["Gatineau"]="Gatineau",e["Hull"]="Hull"}(xx||(xx={}));var Sx,Mx,Px={name:"Quebec",cities:[{name:xx.Septiles,region:kx.Green,x:3524,y:228},{name:xx.Portcartier,region:kx.Green,x:3328,y:370},{name:xx.Baiecomeau,region:kx.Green,x:3066,y:630},{name:xx.Chicoutimi,region:kx.Green,x:2392,y:898},{name:xx.Alma,region:kx.Green,x:2172,y:844},{name:xx.Roberval,region:kx.Green,x:1944,y:950},{name:xx.Jonquiere,region:kx.Green,x:2240,y:1052},{name:xx.Gaspe,region:kx.Brown,x:4014,y:808},{name:xx.Steannedesmonts,region:kx.Brown,x:3512,y:708},{name:xx.Matane,region:kx.Brown,x:3244,y:808},{name:xx.Rimouski,region:kx.Brown,x:2990,y:946},{name:xx.Pointealacroix,region:kx.Brown,x:3492,y:1094},{name:xx.Riviereduloup,region:kx.Brown,x:2780,y:1208},{name:xx.Montmagny,region:kx.Brown,x:2522,y:1534},{name:xx.Stgeorges,region:kx.Pink,x:2506,y:1836},{name:xx.Sherbrooke,region:kx.Pink,x:2242,y:2128},{name:xx.Victoriaville,region:kx.Pink,x:2178,y:1822},{name:xx.Stsimeon,region:kx.Pink,x:2576,y:1146},{name:xx.Charlesbourg,region:kx.Pink,x:2246,y:1434},{name:xx.Quebec,region:kx.Pink,x:2302,y:1536},{name:xx.Beauport,region:kx.Pink,x:2196,y:1524},{name:xx.Granby,region:kx.Red,x:1974,y:2160},{name:xx.Sthyacinthe,region:kx.Red,x:1796,y:2038},{name:xx.Brossard,region:kx.Red,x:1790,y:2296},{name:xx.Valleyfield,region:kx.Red,x:1576,y:2306},{name:xx.Vaudreuildorion,region:kx.Red,x:1414,y:2186},{name:xx.Montreal,region:kx.Red,x:1624,y:2052},{name:xx.Pointeclaire,region:kx.Red,x:1510,y:2060},{name:xx.Shawinigan,region:kx.Yellow,x:1864,y:1448},{name:xx.Troisrivieres,region:kx.Yellow,x:1918,y:1650},{name:xx.Drummondville,region:kx.Yellow,x:1984,y:1886},{name:xx.Repentigny,region:kx.Yellow,x:1696,y:1820},{name:xx.Longueuil,region:kx.Yellow,x:1598,y:1964},{name:xx.Laval,region:kx.Yellow,x:1512,y:1990},{name:xx.Lachute,region:kx.Yellow,x:1364,y:1944},{name:xx.Amos,region:kx.Purple,x:492,y:868},{name:xx.Valdor,region:kx.Purple,x:570,y:1098},{name:xx.Rouynnoranda,region:kx.Purple,x:236,y:1028},{name:xx.Montlaurier,region:kx.Purple,x:1180,y:1630},{name:xx.Maniwaki,region:kx.Purple,x:964,y:1760},{name:xx.Gatineau,region:kx.Purple,x:1076,y:2096},{name:xx.Hull,region:kx.Purple,x:862,y:2104}],connections:[{nodes:[xx.Maniwaki,xx.Montlaurier],cost:5},{nodes:[xx.Maniwaki,xx.Valdor],cost:24},{nodes:[xx.Valdor,xx.Amos],cost:8},{nodes:[xx.Amos,xx.Rouynnoranda],cost:9},{nodes:[xx.Rouynnoranda,xx.Valdor],cost:12},{nodes:[xx.Hull,xx.Maniwaki],cost:15},{nodes:[xx.Hull,xx.Gatineau],cost:0},{nodes:[xx.Gatineau,xx.Montlaurier],cost:16},{nodes:[xx.Montlaurier,xx.Lachute],cost:18},{nodes:[xx.Shawinigan,xx.Troisrivieres],cost:3},{nodes:[xx.Troisrivieres,xx.Drummondville],cost:9},{nodes:[xx.Drummondville,xx.Victoriaville],cost:6},{nodes:[xx.Victoriaville,xx.Stgeorges],cost:10},{nodes:[xx.Stgeorges,xx.Sherbrooke],cost:15},{nodes:[xx.Sherbrooke,xx.Granby],cost:8},{nodes:[xx.Granby,xx.Sthyacinthe],cost:4},{nodes:[xx.Sthyacinthe,xx.Drummondville],cost:6},{nodes:[xx.Troisrivieres,xx.Victoriaville],cost:9},{nodes:[xx.Victoriaville,xx.Sherbrooke],cost:9},{nodes:[xx.Sherbrooke,xx.Drummondville],cost:9},{nodes:[xx.Sthyacinthe,xx.Repentigny],cost:7},{nodes:[xx.Sthyacinthe,xx.Brossard],cost:5},{nodes:[xx.Brossard,xx.Valleyfield],cost:8},{nodes:[xx.Valleyfield,xx.Vaudreuildorion],cost:4},{nodes:[xx.Gatineau,xx.Lachute],cost:14},{nodes:[xx.Montlaurier,xx.Shawinigan],cost:28},{nodes:[xx.Shawinigan,xx.Beauport],cost:14},{nodes:[xx.Beauport,xx.Troisrivieres],cost:15},{nodes:[xx.Troisrivieres,xx.Repentigny],cost:13},{nodes:[xx.Repentigny,xx.Longueuil],cost:3},{nodes:[xx.Laval,xx.Lachute],cost:6},{nodes:[xx.Vaudreuildorion,xx.Pointeclaire],cost:3},{nodes:[xx.Montreal,xx.Brossard],cost:4},{nodes:[xx.Laval,xx.Longueuil],cost:0},{nodes:[xx.Pointeclaire,xx.Montreal],cost:0},{nodes:[xx.Montreal,xx.Longueuil],cost:0},{nodes:[xx.Pointeclaire,xx.Laval],cost:0},{nodes:[xx.Beauport,xx.Charlesbourg],cost:0},{nodes:[xx.Charlesbourg,xx.Quebec],cost:0},{nodes:[xx.Quebec,xx.Beauport],cost:0},{nodes:[xx.Victoriaville,xx.Beauport],cost:12},{nodes:[xx.Quebec,xx.Stgeorges],cost:12},{nodes:[xx.Stgeorges,xx.Montmagny],cost:12},{nodes:[xx.Montmagny,xx.Riviereduloup],cost:16},{nodes:[xx.Jonquiere,xx.Charlesbourg],cost:21},{nodes:[xx.Montmagny,xx.Quebec],cost:5},{nodes:[xx.Stsimeon,xx.Charlesbourg],cost:18},{nodes:[xx.Drummondville,xx.Granby],cost:4},{nodes:[xx.Roberval,xx.Shawinigan],cost:25},{nodes:[xx.Jonquiere,xx.Stsimeon],cost:16},{nodes:[xx.Roberval,xx.Jonquiere],cost:10},{nodes:[xx.Jonquiere,xx.Alma],cost:4},{nodes:[xx.Alma,xx.Chicoutimi],cost:4},{nodes:[xx.Jonquiere,xx.Chicoutimi],cost:0},{nodes:[xx.Chicoutimi,xx.Baiecomeau],cost:23},{nodes:[xx.Stsimeon,xx.Baiecomeau],cost:23},{nodes:[xx.Baiecomeau,xx.Portcartier],cost:16},{nodes:[xx.Septiles,xx.Portcartier],cost:6},{nodes:[xx.Riviereduloup,xx.Rimouski],cost:12},{nodes:[xx.Rimouski,xx.Matane],cost:11},{nodes:[xx.Matane,xx.Pointealacroix],cost:15},{nodes:[xx.Matane,xx.Steannedesmonts],cost:10},{nodes:[xx.Pointealacroix,xx.Steannedesmonts],cost:16},{nodes:[xx.Steannedesmonts,xx.Gaspe],cost:21},{nodes:[xx.Gaspe,xx.Pointealacroix],cost:25}],layout:"Portrait",adjustRatio:[.25,.35],mapPosition:[-20,75],resupply:[[[3,3,3],[4,4,3],[5,4,4],[5,5,5],[7,6,6]],[[2,2,3],[2,3,3],[3,4,4],[4,5,4],[5,6,5]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],startingResources:[21,21,6,2],setupDeck:function(e,n,t){var r,o,i=Object(Qw["cloneDeep"])(yk);if("original"==n){var a=i.filter((function(e){return[13,18,22].includes(e.number)})),c=i.filter((function(e){return(e.type==Pw.Wind||e.type==Pw.Nuclear)&&![13,18,22].includes(e.number)})),u=i.filter((function(e){return e.type!=Pw.Wind&&e.type!=Pw.Nuclear}));i=u.slice(8),r=[j_(3),j_(4),j_(5),j_(6)],o=[j_(7),j_(8),j_(9),j_(10)];var s=i.pop();i=uk(i,t()+""),2==e||3==e?i=i.slice(8):4==e&&(i=i.slice(4)),i=i.concat(c),i=uk(i,t()+""),i=a.concat(i),i.push(s)}else{var l=i.pop(),d=i.filter((function(e){return e.number>=3&&e.number<=10})),f=i.filter((function(e){return 13==e.number})),p=i.filter((function(e){return 18==e.number||22==e.number})),v=i.filter((function(e){return![13,18,22].includes(e.number)&&(e.type==Pw.Wind||e.type==Pw.Nuclear)})),h=i.filter((function(e){return e.type!=Pw.Wind&&e.number>=11&&e.number<=15})),m=i.filter((function(e){return e.type!=Pw.Wind&&e.type!=Pw.Nuclear&&e.number>=16}));2==e?(h=uk(h,t()+"").slice(1),m=uk(m,t()+"").slice(5)):3==e?(h=uk(h,t()+"").slice(2),m=uk(m,t()+"").slice(6)):4==e&&(h=uk(h,t()+"").slice(1),m=uk(m,t()+"").slice(3));var g=uk(d.concat(f).concat(h),t()+""),y=g.splice(0,8);y=y.sort((function(e,n){return e.number-n.number})),r=y.splice(0,4),o=y;var b=g.splice(0,1);i=g.concat(v).concat(m),i=uk(i,t()+""),i=b.concat(p).concat(i).concat([l])}return{actualMarket:r,futureMarket:o,powerPlantsDeck:i}},mapSpecificRules:"Ecological power plants will never be put on the bottom of the deck.\n",deckBuild:{recharged:"the starting market is drawn from the low plants (including 13); one more low plant goes on top of the deck, with 18 and 22 placed directly beneath it. Ecological plants (wind and fusion) are never removed during setup.",original:"power plants 13, 18, 22 are set aside and placed on top of the deck (13 topmost); ecological plants are excluded from the player-count removal."}};(function(e){e["Green"]="green",e["Pink"]="pink",e["Red"]="red",e["Yellow"]="yellow",e["Purple"]="purple",e["Brown"]="brown"})(Sx||(Sx={})),function(e){e["Murmansk"]="Murmansk",e["Arkhangelsk"]="Arkhangelsk",e["Syktyvkar"]="Syktyvkar",e["Kirov"]="Kirov",e["Kazan"]="Kazan",e["Cheboksary"]="Cheboksary",e["Ulyanovsk"]="Ulyanovsk",e["Tula"]="Tula",e["Kaliningrad"]="Kaliningrad",e["Ryazan"]="Ryazan",e["Nizhnynovgorod"]="Nizhny Novgorod",e["Moscow"]="Moscow",e["Stpetersburg"]="St Petersburg",e["Yaroslavl"]="Yaroslavl",e["Chita"]="Chita",e["Bratsk"]="Bratsk",e["Krasnoyarsk"]="Krasnoyarsk",e["Kemerovd"]="Kemerovd",e["Novokuznetsk"]="Novokuznetsk",e["Irkutsk"]="Irkutsk",e["Ulanude"]="Ulan Ude",e["Norilsk"]="Norilsk",e["Surgut"]="Surgut",e["Tyumen"]="Tyumen",e["Tomsk"]="Tomsk",e["Novosibirsk"]="Novosibirsk",e["Barnaul"]="Barnaul",e["Omsk"]="Omsk",e["Chelyabinsk"]="Chelyabinsk",e["Ufa"]="Ufa",e["Perm"]="Perm",e["Yekaterinburg"]="Yekaterinburg",e["Orenburg"]="Orenburg",e["Naberezhnyechelny"]="Naberezhnye Chelny",e["Samara"]="Samara",e["Astrakhan"]="Astrakhan",e["Makhachkala"]="Makhachkala",e["Saratov"]="Saratov",e["Volgograd"]="Volgograd",e["Krasnodar"]="Krasnodar",e["Rostov"]="Rostov",e["Voronezh"]="Voronezh"}(Mx||(Mx={}));var Ix,Cx,Ox={name:"Russia",cities:[{name:Mx.Murmansk,region:Sx.Green,x:1574,y:351},{name:Mx.Arkhangelsk,region:Sx.Green,x:1456,y:695},{name:Mx.Syktyvkar,region:Sx.Green,x:1669,y:1005},{name:Mx.Kirov,region:Sx.Green,x:1457,y:1172},{name:Mx.Kazan,region:Sx.Green,x:1378,y:1478},{name:Mx.Cheboksary,region:Sx.Green,x:1200,y:1328},{name:Mx.Ulyanovsk,region:Sx.Green,x:884,y:1448},{name:Mx.Tula,region:Sx.Pink,x:485,y:1077},{name:Mx.Kaliningrad,region:Sx.Pink,x:394,y:606},{name:Mx.Ryazan,region:Sx.Pink,x:793,y:1193},{name:Mx.Nizhnynovgorod,region:Sx.Pink,x:1129,y:1116},{name:Mx.Moscow,region:Sx.Pink,x:763,y:961},{name:Mx.Stpetersburg,region:Sx.Pink,x:883,y:597},{name:Mx.Yaroslavl,region:Sx.Pink,x:1018,y:915},{name:Mx.Chita,region:Sx.Red,x:4168,y:2048},{name:Mx.Bratsk,region:Sx.Red,x:3599,y:1808},{name:Mx.Krasnoyarsk,region:Sx.Red,x:3230,y:1930},{name:Mx.Kemerovd,region:Sx.Red,x:2953,y:1987},{name:Mx.Novokuznetsk,region:Sx.Red,x:3041,y:2159},{name:Mx.Irkutsk,region:Sx.Red,x:3721,y:2162},{name:Mx.Ulanude,region:Sx.Red,x:4030,y:2228},{name:Mx.Norilsk,region:Sx.Yellow,x:3001,y:856},{name:Mx.Surgut,region:Sx.Yellow,x:2348,y:1411},{name:Mx.Tyumen,region:Sx.Yellow,x:2060,y:1627},{name:Mx.Tomsk,region:Sx.Yellow,x:2773,y:1835},{name:Mx.Novosibirsk,region:Sx.Yellow,x:2647,y:2005},{name:Mx.Barnaul,region:Sx.Yellow,x:2662,y:2191},{name:Mx.Omsk,region:Sx.Yellow,x:2195,y:1957},{name:Mx.Chelyabinsk,region:Sx.Purple,x:1768,y:1865},{name:Mx.Ufa,region:Sx.Purple,x:1472,y:1907},{name:Mx.Perm,region:Sx.Purple,x:1688,y:1388},{name:Mx.Yekaterinburg,region:Sx.Purple,x:1757,y:1620},{name:Mx.Orenburg,region:Sx.Purple,x:1250,y:1997},{name:Mx.Naberezhnyechelny,region:Sx.Purple,x:1427,y:1709},{name:Mx.Samara,region:Sx.Purple,x:1132,y:1701},{name:Mx.Astrakhan,region:Sx.Brown,x:619,y:2092},{name:Mx.Makhachkala,region:Sx.Brown,x:317,y:2262},{name:Mx.Saratov,region:Sx.Brown,x:808,y:1661},{name:Mx.Volgograd,region:Sx.Brown,x:589,y:1795},{name:Mx.Krasnodar,region:Sx.Brown,x:260,y:1865},{name:Mx.Rostov,region:Sx.Brown,x:311,y:1658},{name:Mx.Voronezh,region:Sx.Brown,x:485,y:1409}],connections:[{nodes:[Mx.Kaliningrad,Mx.Stpetersburg],cost:15},{nodes:[Mx.Stpetersburg,Mx.Murmansk],cost:19},{nodes:[Mx.Murmansk,Mx.Arkhangelsk],cost:15},{nodes:[Mx.Arkhangelsk,Mx.Stpetersburg],cost:14},{nodes:[Mx.Tula,Mx.Kaliningrad],cost:20},{nodes:[Mx.Tula,Mx.Moscow],cost:3},{nodes:[Mx.Moscow,Mx.Ryazan],cost:3},{nodes:[Mx.Ryazan,Mx.Voronezh],cost:5},{nodes:[Mx.Voronezh,Mx.Tula],cost:5},{nodes:[Mx.Tula,Mx.Stpetersburg],cost:13},{nodes:[Mx.Tula,Mx.Ryazan],cost:0},{nodes:[Mx.Stpetersburg,Mx.Moscow],cost:10},{nodes:[Mx.Moscow,Mx.Yaroslavl],cost:3},{nodes:[Mx.Yaroslavl,Mx.Nizhnynovgorod],cost:4},{nodes:[Mx.Nizhnynovgorod,Mx.Moscow],cost:7},{nodes:[Mx.Yaroslavl,Mx.Stpetersburg],cost:9},{nodes:[Mx.Yaroslavl,Mx.Arkhangelsk],cost:12},{nodes:[Mx.Arkhangelsk,Mx.Syktyvkar],cost:10},{nodes:[Mx.Syktyvkar,Mx.Surgut],cost:21},{nodes:[Mx.Perm,Mx.Syktyvkar],cost:8},{nodes:[Mx.Syktyvkar,Mx.Kirov],cost:6},{nodes:[Mx.Syktyvkar,Mx.Nizhnynovgorod],cost:11},{nodes:[Mx.Nizhnynovgorod,Mx.Arkhangelsk],cost:15},{nodes:[Mx.Nizhnynovgorod,Mx.Cheboksary],cost:3},{nodes:[Mx.Cheboksary,Mx.Ulyanovsk],cost:4},{nodes:[Mx.Ulyanovsk,Mx.Voronezh],cost:11},{nodes:[Mx.Voronezh,Mx.Volgograd],cost:8},{nodes:[Mx.Volgograd,Mx.Saratov],cost:6},{nodes:[Mx.Saratov,Mx.Samara],cost:5},{nodes:[Mx.Samara,Mx.Ulyanovsk],cost:3},{nodes:[Mx.Ulyanovsk,Mx.Kazan],cost:3},{nodes:[Mx.Kazan,Mx.Samara],cost:4},{nodes:[Mx.Samara,Mx.Naberezhnyechelny],cost:5},{nodes:[Mx.Cheboksary,Mx.Kazan],cost:2},{nodes:[Mx.Cheboksary,Mx.Kirov],cost:5},{nodes:[Mx.Kirov,Mx.Kazan],cost:5},{nodes:[Mx.Kazan,Mx.Perm],cost:8},{nodes:[Mx.Kazan,Mx.Naberezhnyechelny],cost:3},{nodes:[Mx.Naberezhnyechelny,Mx.Ufa],cost:4},{nodes:[Mx.Ufa,Mx.Orenburg],cost:6},{nodes:[Mx.Orenburg,Mx.Samara],cost:6},{nodes:[Mx.Orenburg,Mx.Naberezhnyechelny],cost:7},{nodes:[Mx.Ufa,Mx.Chelyabinsk],cost:8},{nodes:[Mx.Chelyabinsk,Mx.Yekaterinburg],cost:3},{nodes:[Mx.Yekaterinburg,Mx.Perm],cost:5},{nodes:[Mx.Perm,Mx.Kirov],cost:6},{nodes:[Mx.Chelyabinsk,Mx.Tyumen],cost:5},{nodes:[Mx.Tyumen,Mx.Surgut],cost:10},{nodes:[Mx.Syktyvkar,Mx.Tyumen],cost:17},{nodes:[Mx.Tyumen,Mx.Yekaterinburg],cost:5},{nodes:[Mx.Chelyabinsk,Mx.Omsk],cost:13},{nodes:[Mx.Omsk,Mx.Tyumen],cost:9},{nodes:[Mx.Tyumen,Mx.Tomsk],cost:19},{nodes:[Mx.Tomsk,Mx.Surgut],cost:15},{nodes:[Mx.Tomsk,Mx.Novosibirsk],cost:4},{nodes:[Mx.Novosibirsk,Mx.Barnaul],cost:4},{nodes:[Mx.Barnaul,Mx.Omsk],cost:11},{nodes:[Mx.Omsk,Mx.Novosibirsk],cost:10},{nodes:[Mx.Omsk,Mx.Tomsk],cost:12},{nodes:[Mx.Rostov,Mx.Krasnodar],cost:4},{nodes:[Mx.Krasnodar,Mx.Volgograd],cost:9},{nodes:[Mx.Volgograd,Mx.Astrakhan],cost:6},{nodes:[Mx.Krasnodar,Mx.Makhachkala],cost:14},{nodes:[Mx.Makhachkala,Mx.Astrakhan],cost:8},{nodes:[Mx.Makhachkala,Mx.Volgograd],cost:11},{nodes:[Mx.Rostov,Mx.Volgograd],cost:7},{nodes:[Mx.Ryazan,Mx.Ulyanovsk],cost:9},{nodes:[Mx.Ulyanovsk,Mx.Saratov],cost:6},{nodes:[Mx.Saratov,Mx.Voronezh],cost:8},{nodes:[Mx.Rostov,Mx.Voronezh],cost:9},{nodes:[Mx.Naberezhnyechelny,Mx.Perm],cost:6},{nodes:[Mx.Naberezhnyechelny,Mx.Yekaterinburg],cost:8},{nodes:[Mx.Ufa,Mx.Yekaterinburg],cost:6},{nodes:[Mx.Chita,Mx.Ulanude],cost:6},{nodes:[Mx.Ulanude,Mx.Irkutsk],cost:6},{nodes:[Mx.Irkutsk,Mx.Novokuznetsk],cost:21},{nodes:[Mx.Novokuznetsk,Mx.Kemerovd],cost:3},{nodes:[Mx.Kemerovd,Mx.Tomsk],cost:3},{nodes:[Mx.Novosibirsk,Mx.Novokuznetsk],cost:5},{nodes:[Mx.Novosibirsk,Mx.Kemerovd],cost:4},{nodes:[Mx.Novokuznetsk,Mx.Barnaul],cost:6},{nodes:[Mx.Kemerovd,Mx.Krasnoyarsk],cost:7},{nodes:[Mx.Krasnoyarsk,Mx.Novokuznetsk],cost:7},{nodes:[Mx.Krasnoyarsk,Mx.Irkutsk],cost:17},{nodes:[Mx.Krasnoyarsk,Mx.Bratsk],cost:10},{nodes:[Mx.Bratsk,Mx.Tomsk],cost:17},{nodes:[Mx.Bratsk,Mx.Irkutsk],cost:10},{nodes:[Mx.Bratsk,Mx.Ulanude],cost:14},{nodes:[Mx.Tomsk,Mx.Norilsk],cost:24},{nodes:[Mx.Norilsk,Mx.Bratsk],cost:29},{nodes:[Mx.Norilsk,Mx.Surgut],cost:19}],adjustRatio:[.25,.25],resupply:[[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[3,4,3],[3,4,3],[5,6,4],[5,7,5],[7,9,6]],[[2,2,3],[2,2,3],[3,3,4],[4,3,5],[4,5,6]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],startingResources:[18,24,0,7],setupDeck:function(e,n,t){var r=Object(Qw["cloneDeep"])(yk),o=[],i=[],a=r.pop();if("original"==n){o=r.filter((function(e){return e.number>=3&&e.number<=5})),i=r.filter((function(e){return e.number>=7&&e.number<=9}));var c=j_(10),u=j_(11),s=j_(13),l=r.filter((function(e){return 12==e.number||e.number>=15})),d=uk(l,t()+"");2==e||3==e?d=d.slice(8):4==e&&(d=d.slice(4));var f=d.slice(0,3).concat(c,u);f=uk(f,t()+""),r=[s].concat(f,d.slice(3),a)}else{var p=r.filter((function(e){return e.number<=15&&6!=e.number&&14!=e.number})),v=uk(p,t()+""),h=r.filter((function(e){return e.number>=16})),m=uk(h,t()+"");2==e?m=m.slice(6):3==e?m=m.slice(8):4==e&&(m=m.slice(4));var g=v.slice(0,6),y=v.slice(6);g=g.sort((function(e,n){return e.number-n.number})),o=g.slice(0,3),i=g.slice(3),r=y.concat(m,a)}return{actualMarket:o,futureMarket:i,powerPlantsDeck:r}},mapSpecificRules:"The power plant market is restricted, and the rules for removing old plants are changed.\n",deckBuild:{recharged:"plants 6 and 14 are removed from the game. The market has 6 plants (3 current, 3 future) drawn at random from the low plants; the six undrawn low plants sit shuffled on top of the deck. Removal by player count (higher plants only): 2 players remove 6, 3 players remove 8, 4 players remove 4.",original:"plants 6 and 14 are removed from the game; the market is 3, 4, 5 / 7, 8, 9. Plant 13 goes on top of the deck, then five shuffled cards (plants 10, 11 and the top three of the deck), then the rest, with the Step 3 card on the bottom."}};(function(e){e["Orange"]="orange",e["Green"]="green",e["Yellow"]="yellow",e["Brown"]="brown",e["Red"]="red"})(Ix||(Ix={})),function(e){e["Zimbabwe"]="Zimbabwe",e["Musina"]="Musina",e["Botswana"]="Botswana",e["Polokwane"]="Polokwane",e["PretoriaN"]="Pretoria N",e["PretoriaS"]="Pretoria S",e["Rustenburg"]="Rustenburg",e["Mozambique"]="Mozambique",e["Mbombela"]="Mbombela",e["Eswatini"]="Eswatini",e["Germiston"]="Germiston",e["JohannesburgN"]="Johannesburg N",e["JohannesburgS"]="Johannesburg S",e["Ladysmith"]="Ladysmith",e["Newcastle"]="Newcastle",e["Pietermaritzburg"]="Pietermaritzburg",e["DurbanN"]="Durban N",e["DurbanS"]="Durban S",e["Mthatha"]="Mthatha",e["Lesotho"]="Lesotho",e["Bloemfontein"]="Bloemfontein",e["Klerksdorp"]="Klerksdorp",e["Welkom"]="Welkom",e["Kuruman"]="Kuruman",e["Kimberly"]="Kimberly",e["Upington"]="Upington",e["Springbok"]="Springbok",e["Namibia"]="Namibia",e["DeAar"]="De Aar",e["BeaufortWest"]="Beaufort West",e["EastLondon"]="East London",e["PortElizabeth"]="Port Elizabeth",e["George"]="George",e["CapeTownN"]="Cape Town N",e["CapeTownS"]="Cape Town S"}(Cx||(Cx={}));var Ax,Nx,zx={name:"South Africa",cities:[{name:Cx.Zimbabwe,region:Ix.Orange,x:903,y:50,singleOccupancy:!0},{name:Cx.Musina,region:Ix.Orange,x:874,y:134},{name:Cx.Botswana,region:Ix.Orange,x:560,y:187,singleOccupancy:!0},{name:Cx.Polokwane,region:Ix.Orange,x:802,y:189},{name:Cx.PretoriaN,region:Ix.Orange,x:759,y:261},{name:Cx.PretoriaS,region:Ix.Orange,x:759,y:291},{name:Cx.Rustenburg,region:Ix.Orange,x:632,y:232},{name:Cx.Mozambique,region:Ix.Green,x:1011,y:170,singleOccupancy:!0},{name:Cx.Mbombela,region:Ix.Green,x:891,y:275},{name:Cx.Eswatini,region:Ix.Green,x:926,y:351,singleOccupancy:!0},{name:Cx.Germiston,region:Ix.Green,x:836,y:351},{name:Cx.JohannesburgN,region:Ix.Green,x:753,y:343},{name:Cx.JohannesburgS,region:Ix.Green,x:754,y:371},{name:Cx.Ladysmith,region:Ix.Green,x:823,y:456},{name:Cx.Newcastle,region:Ix.Yellow,x:957,y:478},{name:Cx.Pietermaritzburg,region:Ix.Yellow,x:851,y:511},{name:Cx.DurbanN,region:Ix.Yellow,x:894,y:563},{name:Cx.DurbanS,region:Ix.Yellow,x:893,y:592},{name:Cx.Mthatha,region:Ix.Yellow,x:791,y:663},{name:Cx.Lesotho,region:Ix.Yellow,x:759,y:523,singleOccupancy:!0},{name:Cx.Bloemfontein,region:Ix.Yellow,x:656,y:509},{name:Cx.Klerksdorp,region:Ix.Brown,x:660,y:362},{name:Cx.Welkom,region:Ix.Brown,x:652,y:431},{name:Cx.Kuruman,region:Ix.Brown,x:499,y:386},{name:Cx.Kimberly,region:Ix.Brown,x:564,y:496},{name:Cx.Upington,region:Ix.Brown,x:378,y:453},{name:Cx.Springbok,region:Ix.Brown,x:211,y:530},{name:Cx.Namibia,region:Ix.Brown,x:189,y:311,singleOccupancy:!0},{name:Cx.DeAar,region:Ix.Red,x:539,y:665},{name:Cx.BeaufortWest,region:Ix.Red,x:427,y:705},{name:Cx.EastLondon,region:Ix.Red,x:722,y:750},{name:Cx.PortElizabeth,region:Ix.Red,x:600,y:811},{name:Cx.George,region:Ix.Red,x:439,y:811},{name:Cx.CapeTownN,region:Ix.Red,x:233,y:783},{name:Cx.CapeTownS,region:Ix.Red,x:231,y:812}],connections:[{nodes:[Cx.Springbok,Cx.Namibia],cost:30},{nodes:[Cx.Bloemfontein,Cx.Lesotho],cost:30},{nodes:[Cx.Germiston,Cx.Eswatini],cost:30},{nodes:[Cx.Mbombela,Cx.Mozambique],cost:30},{nodes:[Cx.Botswana,Cx.Rustenburg],cost:30},{nodes:[Cx.Zimbabwe,Cx.Musina],cost:30},{nodes:[Cx.CapeTownS,Cx.CapeTownN],cost:0},{nodes:[Cx.CapeTownS,Cx.George],cost:16},{nodes:[Cx.George,Cx.PortElizabeth],cost:12},{nodes:[Cx.PortElizabeth,Cx.EastLondon],cost:13},{nodes:[Cx.EastLondon,Cx.Mthatha],cost:8},{nodes:[Cx.Mthatha,Cx.DurbanS],cost:13},{nodes:[Cx.DurbanS,Cx.DurbanN],cost:0},{nodes:[Cx.DurbanN,Cx.Pietermaritzburg],cost:3},{nodes:[Cx.DurbanN,Cx.Newcastle],cost:9},{nodes:[Cx.Newcastle,Cx.Pietermaritzburg],cost:9},{nodes:[Cx.Pietermaritzburg,Cx.Ladysmith],cost:5},{nodes:[Cx.Ladysmith,Cx.Newcastle],cost:10},{nodes:[Cx.Bloemfontein,Cx.Mthatha],cost:18},{nodes:[Cx.Bloemfontein,Cx.EastLondon],cost:22},{nodes:[Cx.EastLondon,Cx.DeAar],cost:22},{nodes:[Cx.DeAar,Cx.PortElizabeth],cost:18},{nodes:[Cx.George,Cx.DeAar],cost:17},{nodes:[Cx.DeAar,Cx.BeaufortWest],cost:10},{nodes:[Cx.BeaufortWest,Cx.George],cost:8},{nodes:[Cx.BeaufortWest,Cx.CapeTownN],cost:22},{nodes:[Cx.CapeTownN,Cx.Springbok],cost:22},{nodes:[Cx.Springbok,Cx.BeaufortWest],cost:24},{nodes:[Cx.DeAar,Cx.Springbok],cost:26},{nodes:[Cx.Springbok,Cx.Upington],cost:16},{nodes:[Cx.Upington,Cx.DeAar],cost:16},{nodes:[Cx.DeAar,Cx.Bloemfontein],cost:13},{nodes:[Cx.Bloemfontein,Cx.Kimberly],cost:6},{nodes:[Cx.Kimberly,Cx.DeAar],cost:10},{nodes:[Cx.Kimberly,Cx.Upington],cost:14},{nodes:[Cx.Kimberly,Cx.Welkom],cost:9},{nodes:[Cx.Welkom,Cx.Bloemfontein],cost:6},{nodes:[Cx.Bloemfontein,Cx.Ladysmith],cost:19},{nodes:[Cx.Mthatha,Cx.Pietermaritzburg],cost:12},{nodes:[Cx.Upington,Cx.Kuruman],cost:11},{nodes:[Cx.Musina,Cx.Polokwane],cost:8},{nodes:[Cx.Polokwane,Cx.PretoriaN],cost:11},{nodes:[Cx.PretoriaN,Cx.PretoriaS],cost:0},{nodes:[Cx.PretoriaS,Cx.JohannesburgN],cost:2},{nodes:[Cx.JohannesburgN,Cx.JohannesburgS],cost:0},{nodes:[Cx.JohannesburgS,Cx.Germiston],cost:1},{nodes:[Cx.JohannesburgN,Cx.Mbombela],cost:13},{nodes:[Cx.Mbombela,Cx.Germiston],cost:13},{nodes:[Cx.PretoriaN,Cx.Mbombela],cost:13},{nodes:[Cx.Mbombela,Cx.Polokwane],cost:10},{nodes:[Cx.Musina,Cx.Mbombela],cost:15},{nodes:[Cx.PretoriaN,Cx.Rustenburg],cost:4},{nodes:[Cx.Rustenburg,Cx.JohannesburgN],cost:4},{nodes:[Cx.JohannesburgN,Cx.Klerksdorp],cost:7},{nodes:[Cx.Klerksdorp,Cx.Welkom],cost:5},{nodes:[Cx.Bloemfontein,Cx.JohannesburgS],cost:16},{nodes:[Cx.Kuruman,Cx.Rustenburg],cost:18},{nodes:[Cx.Klerksdorp,Cx.Kuruman],cost:12},{nodes:[Cx.Kuruman,Cx.Kimberly],cost:8},{nodes:[Cx.JohannesburgS,Cx.Ladysmith],cost:13},{nodes:[Cx.Ladysmith,Cx.Germiston],cost:13}],resupply:[[[4,7,5],[4,7,5],[5,8,6],[6,9,7],[7,10,8]],[[1,2,1],[1,2,1],[2,3,2],[2,4,3],[4,5,4]],[[1,3,3],[1,3,3],[2,4,4],[3,4,5],[3,6,6]],[[1,1,2],[1,1,2],[2,2,3],[2,3,3],[2,3,4]]],layout:"Landscape",adjustRatio:[.9,.75],mapPosition:[70,50],mapRotation:0,startingResources:[24,15,12,3],startingSupply:[24,24,24,12],setupDeck:function(e,n,t){var r,o,i=Object(Qw["cloneDeep"])(yk).filter((function(e){return 7!==e.number}));if("original"==n){i=i.slice(8);var a=i.findIndex((function(e){return 13==e.number})),c=i.splice(a,1)[0],u=i.pop();i=uk(i,t()+""),2==e||3==e?i=i.slice(8):4==e&&(i=i.slice(4)),i.unshift(c),i.push(u),r=[j_(3),j_(4),j_(5),j_(6)],o=[j_(8),j_(9),j_(10),j_(11)]}else{var s=uk(i.splice(0,12),t()+""),l=s.splice(0,8);l=l.sort((function(e,n){return e.number-n.number})),r=l.slice(0,4),o=l.slice(4);var d=s.shift(),f=i.pop();i=uk(i,t()+""),2==e?(s=s.slice(1),i=uk(i.slice(5).concat(s),t()+"")):3==e?(s=s.slice(2),i=uk(i.slice(6).concat(s),t()+"")):4==e?(s=s.slice(1),i=uk(i.slice(3).concat(s),t()+"")):i=uk(i.concat(s),t()+""),i.unshift(d),i.push(f)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:i}},mapSpecificRules:"Coal storage: there is a separate storage space below the resource market, empty at game start. Coal used to power plants returns to this storage space (not the main supply). The resource-market refill draws coal from storage first, then from the main supply. Players can always buy coal for $8 from the storage space (in addition to the standard market price). Metropolises: Cape Town, Durban, Johannesburg and Pretoria each consist of two cities (N and S) connected by a 0-cost edge. Cross-border connections: the six 30-Elektro connections to neighboring countries (Namibia, Botswana, Zimbabwe, Mozambique, Eswatini, Lesotho) are available from the start of the game. The 30 Elektro is the complete cost — no house-base cost is added on top. Only a single player can build on each cross-border space (cap of 1 instead of the standard 3).\n",deckBuild:"power plant 07 is removed from the game; otherwise standard setup for both variants (in the original variant the future market becomes 8, 9, 10, 11)."};(function(e){e["Pink"]="pink",e["Brown"]="brown",e["Green"]="green",e["Purple"]="purple",e["Red"]="red",e["Yellow"]="yellow"})(Ax||(Ax={})),function(e){e["Gerona"]="Gerona",e["Barcelona"]="Barcelona",e["Tarragona"]="Tarragona",e["Lerida"]="Lerida",e["Castellondelaplana"]="Castellon De La Plana",e["Valencia"]="Valencia",e["Alicante"]="Alicante",e["Sansebastian"]="San Sebastian",e["Pamplona"]="Pamplona",e["Zaragoza"]="Zaragoza",e["Madrid"]="Madrid",e["Logrono"]="Logrono",e["Bilbao"]="Bilbao",e["Santander"]="Santander",e["Gijon"]="Gijon",e["Leon"]="Leon",e["Valladolid"]="Valladolid",e["Salamanca"]="Salamanca",e["Orense"]="Orense",e["Lacoruna"]="La Coruna",e["Santiagodecompostela"]="Santiago De Compostela",e["Cuenca"]="Cuenca",e["Albacete"]="Albacete",e["Murcia"]="Murcia",e["Toledo"]="Toledo",e["Ciudadreal"]="Ciudad Real",e["Caceres"]="Caceres",e["Merida"]="Merida",e["Almeria"]="Almeria",e["Granada"]="Granada",e["Cordoba"]="Cordoba",e["Malaga"]="Malaga",e["Cadiz"]="Cadiz",e["Sevilla"]="Sevilla",e["Huelva"]="Huelva",e["Evora"]="Evora",e["Faro"]="Faro",e["Portimao"]="Portimao",e["Setubal"]="Setubal",e["Lisboa"]="Lisboa",e["Porto"]="Porto",e["Braga"]="Braga"}(Nx||(Nx={}));var jx,Lx,Dx={name:"Spain & Portugal",noUraniumRegions:[Ax.Yellow],cities:[{name:Nx.Evora,region:Ax.Yellow,x:890,y:1780},{name:Nx.Faro,region:Ax.Yellow,x:822,y:2348},{name:Nx.Portimao,region:Ax.Yellow,x:592,y:2218},{name:Nx.Setubal,region:Ax.Yellow,x:578,y:1864},{name:Nx.Lisboa,region:Ax.Yellow,x:572,y:1586},{name:Nx.Porto,region:Ax.Yellow,x:736,y:1052},{name:Nx.Braga,region:Ax.Yellow,x:990,y:828},{name:Nx.Gerona,region:Ax.Pink,x:3728,y:666},{name:Nx.Barcelona,region:Ax.Pink,x:3538,y:848},{name:Nx.Tarragona,region:Ax.Pink,x:3312,y:970},{name:Nx.Lerida,region:Ax.Pink,x:3166,y:752},{name:Nx.Castellondelaplana,region:Ax.Pink,x:3010,y:1284},{name:Nx.Valencia,region:Ax.Pink,x:2938,y:1580},{name:Nx.Alicante,region:Ax.Pink,x:2936,y:1922},{name:Nx.Sansebastian,region:Ax.Brown,x:2498,y:278},{name:Nx.Pamplona,region:Ax.Brown,x:2648,y:484},{name:Nx.Zaragoza,region:Ax.Brown,x:2760,y:810},{name:Nx.Madrid,region:Ax.Brown,x:2088,y:1170},{name:Nx.Logrono,region:Ax.Brown,x:2310,y:622},{name:Nx.Bilbao,region:Ax.Brown,x:2264,y:226},{name:Nx.Santander,region:Ax.Brown,x:2022,y:252},{name:Nx.Gijon,region:Ax.Green,x:1672,y:190},{name:Nx.Leon,region:Ax.Green,x:1604,y:518},{name:Nx.Valladolid,region:Ax.Green,x:1850,y:782},{name:Nx.Salamanca,region:Ax.Green,x:1564,y:1032},{name:Nx.Orense,region:Ax.Green,x:1072,y:532},{name:Nx.Lacoruna,region:Ax.Green,x:982,y:184},{name:Nx.Santiagodecompostela,region:Ax.Green,x:772,y:394},{name:Nx.Cuenca,region:Ax.Purple,x:2464,y:1300},{name:Nx.Albacete,region:Ax.Purple,x:2532,y:1684},{name:Nx.Murcia,region:Ax.Purple,x:2678,y:2056},{name:Nx.Toledo,region:Ax.Purple,x:1920,y:1400},{name:Nx.Ciudadreal,region:Ax.Purple,x:1982,y:1714},{name:Nx.Caceres,region:Ax.Purple,x:1354,y:1432},{name:Nx.Merida,region:Ax.Purple,x:1318,y:1764},{name:Nx.Almeria,region:Ax.Red,x:2402,y:2440},{name:Nx.Granada,region:Ax.Red,x:2044,y:2272},{name:Nx.Cordoba,region:Ax.Red,x:1728,y:2074},{name:Nx.Malaga,region:Ax.Red,x:1782,y:2484},{name:Nx.Cadiz,region:Ax.Red,x:1290,y:2552},{name:Nx.Sevilla,region:Ax.Red,x:1390,y:2168},{name:Nx.Huelva,region:Ax.Red,x:1082,y:2196}],connections:[{nodes:[Nx.Huelva,Nx.Faro],cost:6},{nodes:[Nx.Faro,Nx.Portimao],cost:4},{nodes:[Nx.Portimao,Nx.Setubal],cost:12},{nodes:[Nx.Setubal,Nx.Evora],cost:6},{nodes:[Nx.Evora,Nx.Merida],cost:9},{nodes:[Nx.Merida,Nx.Sevilla],cost:14},{nodes:[Nx.Sevilla,Nx.Cadiz],cost:8},{nodes:[Nx.Cadiz,Nx.Malaga],cost:12},{nodes:[Nx.Malaga,Nx.Granada],cost:7},{nodes:[Nx.Granada,Nx.Almeria],cost:9},{nodes:[Nx.Almeria,Nx.Murcia],cost:13},{nodes:[Nx.Murcia,Nx.Alicante],cost:4},{nodes:[Nx.Alicante,Nx.Valencia],cost:9},{nodes:[Nx.Valencia,Nx.Castellondelaplana],cost:4},{nodes:[Nx.Albacete,Nx.Almeria],cost:19},{nodes:[Nx.Albacete,Nx.Murcia],cost:10},{nodes:[Nx.Albacete,Nx.Alicante],cost:11},{nodes:[Nx.Albacete,Nx.Valencia],cost:11},{nodes:[Nx.Albacete,Nx.Cuenca],cost:8},{nodes:[Nx.Albacete,Nx.Ciudadreal],cost:13},{nodes:[Nx.Albacete,Nx.Granada],cost:19},{nodes:[Nx.Albacete,Nx.Toledo],cost:14},{nodes:[Nx.Toledo,Nx.Madrid],cost:6},{nodes:[Nx.Madrid,Nx.Cuenca],cost:11},{nodes:[Nx.Cuenca,Nx.Valencia],cost:13},{nodes:[Nx.Cuenca,Nx.Castellondelaplana],cost:14},{nodes:[Nx.Castellondelaplana,Nx.Tarragona],cost:12},{nodes:[Nx.Toledo,Nx.Caceres],cost:16},{nodes:[Nx.Caceres,Nx.Merida],cost:4},{nodes:[Nx.Merida,Nx.Ciudadreal],cost:16},{nodes:[Nx.Ciudadreal,Nx.Granada],cost:16},{nodes:[Nx.Granada,Nx.Cordoba],cost:11},{nodes:[Nx.Cordoba,Nx.Malaga],cost:11},{nodes:[Nx.Malaga,Nx.Sevilla],cost:12},{nodes:[Nx.Sevilla,Nx.Cordoba],cost:8},{nodes:[Nx.Cordoba,Nx.Ciudadreal],cost:10},{nodes:[Nx.Merida,Nx.Cordoba],cost:14},{nodes:[Nx.Huelva,Nx.Cadiz],cost:9},{nodes:[Nx.Huelva,Nx.Sevilla],cost:6},{nodes:[Nx.Merida,Nx.Huelva],cost:15},{nodes:[Nx.Huelva,Nx.Evora],cost:12},{nodes:[Nx.Evora,Nx.Faro],cost:13},{nodes:[Nx.Faro,Nx.Setubal],cost:14},{nodes:[Nx.Setubal,Nx.Lisboa],cost:4},{nodes:[Nx.Lisboa,Nx.Evora],cost:9},{nodes:[Nx.Lisboa,Nx.Merida],cost:16},{nodes:[Nx.Caceres,Nx.Ciudadreal],cost:16},{nodes:[Nx.Toledo,Nx.Cuenca],cost:13},{nodes:[Nx.Salamanca,Nx.Toledo],cost:14},{nodes:[Nx.Salamanca,Nx.Madrid],cost:14},{nodes:[Nx.Salamanca,Nx.Caceres],cost:13},{nodes:[Nx.Porto,Nx.Lisboa],cost:18},{nodes:[Nx.Porto,Nx.Salamanca],cost:19},{nodes:[Nx.Porto,Nx.Caceres],cost:21},{nodes:[Nx.Caceres,Nx.Lisboa],cost:19},{nodes:[Nx.Ciudadreal,Nx.Toledo],cost:7},{nodes:[Nx.Braga,Nx.Porto],cost:3},{nodes:[Nx.Braga,Nx.Salamanca],cost:19},{nodes:[Nx.Salamanca,Nx.Valladolid],cost:7},{nodes:[Nx.Valladolid,Nx.Madrid],cost:13},{nodes:[Nx.Madrid,Nx.Zaragoza],cost:19},{nodes:[Nx.Zaragoza,Nx.Lerida],cost:8},{nodes:[Nx.Lerida,Nx.Tarragona],cost:6},{nodes:[Nx.Tarragona,Nx.Barcelona],cost:6},{nodes:[Nx.Lerida,Nx.Castellondelaplana],cost:13},{nodes:[Nx.Castellondelaplana,Nx.Zaragoza],cost:15},{nodes:[Nx.Zaragoza,Nx.Cuenca],cost:16},{nodes:[Nx.Braga,Nx.Valladolid],cost:24},{nodes:[Nx.Lerida,Nx.Barcelona],cost:10},{nodes:[Nx.Barcelona,Nx.Gerona],cost:6},{nodes:[Nx.Gerona,Nx.Lerida],cost:13},{nodes:[Nx.Lerida,Nx.Pamplona],cost:17},{nodes:[Nx.Pamplona,Nx.Zaragoza],cost:11},{nodes:[Nx.Zaragoza,Nx.Logrono],cost:11},{nodes:[Nx.Logrono,Nx.Madrid],cost:18},{nodes:[Nx.Santiagodecompostela,Nx.Braga],cost:11},{nodes:[Nx.Braga,Nx.Orense],cost:9},{nodes:[Nx.Orense,Nx.Santiagodecompostela],cost:7},{nodes:[Nx.Santiagodecompostela,Nx.Lacoruna],cost:4},{nodes:[Nx.Lacoruna,Nx.Gijon],cost:9},{nodes:[Nx.Gijon,Nx.Santander],cost:11},{nodes:[Nx.Santander,Nx.Bilbao],cost:6},{nodes:[Nx.Bilbao,Nx.Sansebastian],cost:5},{nodes:[Nx.Sansebastian,Nx.Pamplona],cost:6},{nodes:[Nx.Pamplona,Nx.Logrono],cost:7},{nodes:[Nx.Logrono,Nx.Sansebastian],cost:9},{nodes:[Nx.Bilbao,Nx.Logrono],cost:9},{nodes:[Nx.Logrono,Nx.Santander],cost:13},{nodes:[Nx.Santander,Nx.Valladolid],cost:16},{nodes:[Nx.Valladolid,Nx.Logrono],cost:15},{nodes:[Nx.Leon,Nx.Santander],cost:13},{nodes:[Nx.Gijon,Nx.Leon],cost:9},{nodes:[Nx.Leon,Nx.Valladolid],cost:9},{nodes:[Nx.Valladolid,Nx.Orense],cost:22},{nodes:[Nx.Orense,Nx.Leon],cost:14},{nodes:[Nx.Gijon,Nx.Orense],cost:10},{nodes:[Nx.Orense,Nx.Lacoruna],cost:6}],layout:"Portrait",adjustRatio:[.315,.315],mapPosition:[-135,60],resupply:[[[3,4,2],[4,5,2],[4,6,3],[4,7,3],[6,8,4]],[[2,3,5],[2,4,5],[3,5,6],[4,6,7],[5,7,9]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[0,2,1],[0,2,1],[0,4,1],[0,5,1],[0,5,2]]],startingResources:[24,18,9,8],setupDeck:function(e,n,t){var r,o,i=Object(Qw["cloneDeep"])(yk);if(i=i.filter((function(e){return![18,22,27].includes(e.number)})),"original"==n){i=i.slice(8);var a=i.splice(2,1)[0],c=i.pop();i=uk(i,t()+""),2==e||3==e?i=i.slice(8):4==e&&(i=i.slice(4)),i.unshift(a),i.push(c),r=[j_(3),j_(4),j_(5),j_(6)],o=[j_(7),j_(8),j_(9),j_(10)]}else{var u=uk(i.splice(0,13),t()+""),s=u.splice(0,8);s=s.sort((function(e,n){return e.number-n.number})),r=s.slice(0,4),o=s.slice(4);var l=u.shift(),d=i.pop();i=uk(i,t()+""),2==e?(u=u.slice(1),i=uk(i.slice(5).concat(u),t()+"")):3==e?(u=u.slice(2),i=uk(i.slice(6).concat(u),t()+"")):4==e?(u=u.slice(1),i=uk(i.slice(3).concat(u),t()+"")):i=uk(i.concat(u),t()+""),i.unshift(l),i.push(d)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:i}},mapSpecificRules:"You cannot buy a nuclear power plant if you only have cities in Portugal.\n",deckBuild:"power plants 18, 22 and 27 are set aside at setup; when Step 2 begins they are placed on top of the deck (18 topmost, then 22, then 27)."};(function(e){e["Red"]="red",e["Pink"]="pink",e["Yellow"]="yellow",e["Brown"]="brown",e["Orange"]="orange",e["Green"]="green"})(jx||(jx={})),function(e){e["Norwich"]="Norwich",e["London1"]="London 1",e["London2"]="London 2",e["Brighton"]="Brighton",e["Southampton"]="Southampton",e["Plymouth"]="Plymouth",e["Leicester"]="Leicester",e["Bristol"]="Bristol",e["Newcastleupontyne"]="Newcastle Upon Tyne",e["Leeds"]="Leeds",e["Sheffield"]="Sheffield",e["Nottingham"]="Nottingham",e["Birmingham"]="Birmingham",e["Manchester"]="Manchester",e["Liverpool"]="Liverpool",e["Newportcasnewydd"]="Newport Casnewydd",e["Bangor"]="Bangor",e["Aberystwyth"]="Aberystwyth",e["Swanseaabertawe"]="Swansea Abertawe",e["Cardiffcaerdydd"]="Cardiff Caerdydd",e["Haverfordwesthwlffordd"]="Haverfordwest Hwlffordd",e["Invernessinbhirnis"]="Inverness Inbhir Nis",e["Aberdeenobardheathain"]="Aberdeen Obar Dheathain",e["Dundeedundeach"]="Dundee Dun Deach",e["Perthpeairt"]="Perth Peairt",e["Edinburgh"]="Edinburgh",e["Dumfries"]="Dumfries",e["Glasgow"]="Glasgow",e["Coleraine"]="Coleraine",e["Derry"]="Derry",e["Belfast"]="Belfast",e["Newry"]="Newry",e["Omagh"]="Omagh",e["Sligo"]="Sligo",e["Dublin"]="Dublin",e["Waterford"]="Waterford",e["Cork"]="Cork",e["Athlone"]="Athlone",e["Galway"]="Galway",e["Limerick"]="Limerick"}(Lx||(Lx={}));var Rx={name:"UK & Ireland",noUraniumRegions:[jx.Green],cities:[{name:Lx.Norwich,region:jx.Red,island:"gb",x:646,y:702},{name:Lx.London1,region:jx.Red,island:"gb",x:554,y:756},{name:Lx.London2,region:jx.Red,island:"gb",x:550,y:780},{name:Lx.Brighton,region:jx.Red,island:"gb",x:537,y:837},{name:Lx.Southampton,region:jx.Red,island:"gb",x:451,y:805},{name:Lx.Plymouth,region:jx.Red,island:"gb",x:312,y:814},{name:Lx.Leicester,region:jx.Red,island:"gb",x:540,y:680},{name:Lx.Bristol,region:jx.Red,island:"gb",x:425,y:762},{name:Lx.Newcastleupontyne,region:jx.Pink,island:"gb",x:550,y:414},{name:Lx.Leeds,region:jx.Pink,island:"gb",x:559,y:541},{name:Lx.Sheffield,region:jx.Pink,island:"gb",x:530,y:590},{name:Lx.Nottingham,region:jx.Pink,island:"gb",x:531,y:632},{name:Lx.Birmingham,region:jx.Pink,island:"gb",x:465,y:663},{name:Lx.Manchester,region:jx.Pink,island:"gb",x:479,y:543},{name:Lx.Liverpool,region:jx.Pink,island:"gb",x:433,y:576},{name:Lx.Newportcasnewydd,region:jx.Yellow,island:"gb",x:425,y:722},{name:Lx.Bangor,region:jx.Yellow,island:"gb",x:348,y:574},{name:Lx.Aberystwyth,region:jx.Yellow,island:"gb",x:357,y:639},{name:Lx.Swanseaabertawe,region:jx.Yellow,island:"gb",x:346,y:706},{name:Lx.Cardiffcaerdydd,region:jx.Yellow,island:"gb",x:357,y:761},{name:Lx.Haverfordwesthwlffordd,region:jx.Yellow,island:"gb",x:303,y:673},{name:Lx.Invernessinbhirnis,region:jx.Brown,island:"gb",x:479,y:208},{name:Lx.Aberdeenobardheathain,region:jx.Brown,island:"gb",x:588,y:245},{name:Lx.Dundeedundeach,region:jx.Brown,island:"gb",x:552,y:286},{name:Lx.Perthpeairt,region:jx.Brown,island:"gb",x:489,y:307},{name:Lx.Edinburgh,region:jx.Brown,island:"gb",x:494,y:375},{name:Lx.Dumfries,region:jx.Brown,island:"gb",x:441,y:417},{name:Lx.Glasgow,region:jx.Brown,island:"gb",x:422,y:335},{name:Lx.Coleraine,region:jx.Orange,island:"ie",x:330,y:367},{name:Lx.Derry,region:jx.Orange,island:"ie",x:256,y:362},{name:Lx.Belfast,region:jx.Orange,island:"ie",x:342,y:421},{name:Lx.Newry,region:jx.Orange,island:"ie",x:298,y:462},{name:Lx.Omagh,region:jx.Orange,island:"ie",x:260,y:403},{name:Lx.Sligo,region:jx.Green,island:"ie",x:181,y:411},{name:Lx.Dublin,region:jx.Green,island:"ie",x:274,y:530},{name:Lx.Waterford,region:jx.Green,island:"ie",x:210,y:611},{name:Lx.Cork,region:jx.Green,island:"ie",x:114,y:626},{name:Lx.Athlone,region:jx.Green,island:"ie",x:200,y:489},{name:Lx.Galway,region:jx.Green,island:"ie",x:112,y:486},{name:Lx.Limerick,region:jx.Green,island:"ie",x:122,y:546}],connections:[{nodes:[Lx.Nottingham,Lx.Leicester],cost:4},{nodes:[Lx.London1,Lx.London2],cost:0},{nodes:[Lx.London2,Lx.Brighton],cost:6},{nodes:[Lx.Brighton,Lx.Southampton],cost:7},{nodes:[Lx.Southampton,Lx.Plymouth],cost:19},{nodes:[Lx.Plymouth,Lx.Bristol],cost:14},{nodes:[Lx.Bristol,Lx.Newportcasnewydd],cost:7},{nodes:[Lx.Cardiffcaerdydd,Lx.Swanseaabertawe],cost:7},{nodes:[Lx.Swanseaabertawe,Lx.Newportcasnewydd],cost:8},{nodes:[Lx.Newportcasnewydd,Lx.Cardiffcaerdydd],cost:3},{nodes:[Lx.Bristol,Lx.Southampton],cost:11},{nodes:[Lx.Southampton,Lx.London2],cost:9},{nodes:[Lx.London2,Lx.Bristol],cost:14},{nodes:[Lx.London1,Lx.Newportcasnewydd],cost:16},{nodes:[Lx.Haverfordwesthwlffordd,Lx.Aberystwyth],cost:9},{nodes:[Lx.Haverfordwesthwlffordd,Lx.Swanseaabertawe],cost:8},{nodes:[Lx.Swanseaabertawe,Lx.Aberystwyth],cost:11},{nodes:[Lx.Aberystwyth,Lx.Bangor],cost:11},{nodes:[Lx.Bangor,Lx.Liverpool],cost:9},{nodes:[Lx.Liverpool,Lx.Aberystwyth],cost:16},{nodes:[Lx.Aberystwyth,Lx.Newportcasnewydd],cost:14},{nodes:[Lx.Aberystwyth,Lx.Birmingham],cost:16},{nodes:[Lx.Birmingham,Lx.Liverpool],cost:12},{nodes:[Lx.Birmingham,Lx.Newportcasnewydd],cost:9},{nodes:[Lx.London1,Lx.Norwich],cost:11},{nodes:[Lx.Norwich,Lx.Leicester],cost:12},{nodes:[Lx.Leicester,Lx.London1],cost:10},{nodes:[Lx.London1,Lx.Birmingham],cost:13},{nodes:[Lx.Birmingham,Lx.Leicester],cost:6},{nodes:[Lx.Birmingham,Lx.Nottingham],cost:7},{nodes:[Lx.Nottingham,Lx.Sheffield],cost:6},{nodes:[Lx.Sheffield,Lx.Leeds],cost:5},{nodes:[Lx.Leeds,Lx.Manchester],cost:8},{nodes:[Lx.Manchester,Lx.Sheffield],cost:8},{nodes:[Lx.Sheffield,Lx.Liverpool],cost:12},{nodes:[Lx.Liverpool,Lx.Nottingham],cost:15},{nodes:[Lx.Manchester,Lx.Dumfries],cost:18},{nodes:[Lx.Manchester,Lx.Newcastleupontyne],cost:15},{nodes:[Lx.Newcastleupontyne,Lx.Dumfries],cost:12},{nodes:[Lx.Dumfries,Lx.Edinburgh],cost:12},{nodes:[Lx.Edinburgh,Lx.Newcastleupontyne],cost:13},{nodes:[Lx.Newcastleupontyne,Lx.Leeds],cost:13},{nodes:[Lx.Dumfries,Lx.Glasgow],cost:11},{nodes:[Lx.Glasgow,Lx.Edinburgh],cost:7},{nodes:[Lx.Glasgow,Lx.Perthpeairt],cost:10},{nodes:[Lx.Perthpeairt,Lx.Dundeedundeach],cost:3},{nodes:[Lx.Glasgow,Lx.Invernessinbhirnis],cost:20},{nodes:[Lx.Invernessinbhirnis,Lx.Perthpeairt],cost:14},{nodes:[Lx.Invernessinbhirnis,Lx.Dundeedundeach],cost:14},{nodes:[Lx.Invernessinbhirnis,Lx.Aberdeenobardheathain],cost:15},{nodes:[Lx.Aberdeenobardheathain,Lx.Dundeedundeach],cost:10},{nodes:[Lx.Limerick,Lx.Cork],cost:12},{nodes:[Lx.Cork,Lx.Waterford],cost:8},{nodes:[Lx.Waterford,Lx.Limerick],cost:11},{nodes:[Lx.Limerick,Lx.Galway],cost:10},{nodes:[Lx.Galway,Lx.Sligo],cost:10},{nodes:[Lx.Sligo,Lx.Derry],cost:10},{nodes:[Lx.Derry,Lx.Coleraine],cost:6},{nodes:[Lx.Coleraine,Lx.Belfast],cost:8},{nodes:[Lx.Belfast,Lx.Newry],cost:6},{nodes:[Lx.Newry,Lx.Dublin],cost:10},{nodes:[Lx.Dublin,Lx.Waterford],cost:13},{nodes:[Lx.Galway,Lx.Athlone],cost:8},{nodes:[Lx.Athlone,Lx.Sligo],cost:9},{nodes:[Lx.Athlone,Lx.Limerick],cost:9},{nodes:[Lx.Limerick,Lx.Dublin],cost:16},{nodes:[Lx.Dublin,Lx.Athlone],cost:9},{nodes:[Lx.Athlone,Lx.Newry],cost:12},{nodes:[Lx.Athlone,Lx.Omagh],cost:14},{nodes:[Lx.Omagh,Lx.Newry],cost:8},{nodes:[Lx.Omagh,Lx.Belfast],cost:10},{nodes:[Lx.Belfast,Lx.Derry],cost:10},{nodes:[Lx.Omagh,Lx.Derry],cost:5},{nodes:[Lx.Omagh,Lx.Sligo],cost:10}],layout:"Portrait",adjustRatio:[1.1,1.1],mapPosition:[10,-75],mapRotation:0,resupply:[[[3,4,3],[3,5,3],[4,6,4],[4,7,5],[6,8,6]],[[2,3,2],[2,4,2],[3,5,3],[4,6,4],[5,7,5]],[[1,2,2],[1,2,2],[2,3,3],[3,3,5],[3,5,5]],[[1,1,1],[1,2,1],[1,3,1],[2,4,2],[2,4,3]]],startingResources:[24,18,12,0],startingSupply:[24,24,24,12],crossIslandSurcharge:20,setupDeck:function(e,n,t){var r,o,i=Object(Qw["cloneDeep"])(yk);if("original"==n){i=i.slice(8);var a=i.findIndex((function(e){return 13==e.number})),c=i.splice(a,1)[0],u=i.pop();i=uk(i,t()+""),2==e||3==e?i=i.slice(8):4==e&&(i=i.slice(4)),i.unshift(c),i.splice(i.length-2,0,u),r=[j_(3),j_(4),j_(5),j_(6)],o=[j_(7),j_(8),j_(9),j_(10)]}else{var s=uk(i.splice(0,13),t()+""),l=s.splice(0,8);l=l.sort((function(e,n){return e.number-n.number})),r=l.slice(0,4),o=l.slice(4);var d=s.shift(),f=i.pop();i=uk(i,t()+""),2==e?(s=s.slice(1),i=uk(i.slice(5).concat(s),t()+"")):3==e?(s=s.slice(2),i=uk(i.slice(6).concat(s),t()+"")):4==e?(s=s.slice(1),i=uk(i.slice(3).concat(s),t()+"")):i=uk(i.concat(s),t()+""),i.unshift(d),i.splice(i.length-2,0,f)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:i}},mapSpecificRules:"Two networks: Ireland (Green and Orange regions) and Great Britain (Red, Pink, Yellow, Brown) have no sea connection. A player may run one network on each island. Starting a second network on the other island is only possible on an EMPTY spot and costs an extra 20 Elektro on top of the normal first-house cost($10). Nuclear restriction: a player whose network is entirely in the Republic of Ireland (Green region) cannot bid on or auction a nuclear power plant until they build a city in Scotland, Wales, England, or Northern Ireland. Early Step 3: the Step 3 card is placed 3rd from last in the deck (two plants below it). Step 2 begins when a player connects their 7th city (6th for 6 players).\n",deckBuild:"standard setup for both variants, except the Step 3 card is placed third from the bottom of the deck (two plants below it)."},Tx=[mk,Jk,Nk,Dx,$k,Qk,tx,Px,mx,Uk,Ck,Ox,Tk,Mk,_x,ux,Fk,wx,zx,Rx,xk,Lk,px,ix],Bx=[gk,Hk,Nk,Dx,$k,Qk,tx,Px,mx,Uk,Ck,Ox,Tk,Mk,_x,ux,Fk,wx,zx,Rx,xk,Lk,px,ax];const Ex=Math.pow(2,-52),Ux=new Uint32Array(512);class Gx{static from(e,n=qx,t=Xx){const r=e.length,o=new Float64Array(2*r);for(let i=0;i<r;i++){const r=e[i];o[2*i]=n(r),o[2*i+1]=t(r)}return new Gx(o)}constructor(e){const n=e.length>>1;if(n>0&&"number"!==typeof e[0])throw new Error("Expected coords to contain numbers.");this.coords=e;const t=Math.max(2*n-5,0);this._triangles=new Uint32Array(3*t),this._halfedges=new Int32Array(3*t),this._hashSize=Math.ceil(Math.sqrt(n)),this._hullPrev=new Uint32Array(n),this._hullNext=new Uint32Array(n),this._hullTri=new Uint32Array(n),this._hullHash=new Int32Array(this._hashSize).fill(-1),this._ids=new Uint32Array(n),this._dists=new Float64Array(n),this.update()}update(){const{coords:e,_hullPrev:n,_hullNext:t,_hullTri:r,_hullHash:o}=this,i=e.length>>1;let a=1/0,c=1/0,u=-1/0,s=-1/0;for(let M=0;M<i;M++){const n=e[2*M],t=e[2*M+1];n<a&&(a=n),t<c&&(c=t),n>u&&(u=n),t>s&&(s=t),this._ids[M]=M}const l=(a+u)/2,d=(c+s)/2;let f,p,v,h=1/0;for(let M=0;M<i;M++){const n=Fx(l,d,e[2*M],e[2*M+1]);n<h&&(f=M,h=n)}const m=e[2*f],g=e[2*f+1];h=1/0;for(let M=0;M<i;M++){if(M===f)continue;const n=Fx(m,g,e[2*M],e[2*M+1]);n<h&&n>0&&(p=M,h=n)}let y=e[2*p],b=e[2*p+1],w=1/0;for(let M=0;M<i;M++){if(M===f||M===p)continue;const n=Wx(m,g,y,b,e[2*M],e[2*M+1]);n<w&&(v=M,w=n)}let k=e[2*v],x=e[2*v+1];if(w===1/0){for(let r=0;r<i;r++)this._dists[r]=e[2*r]-e[0]||e[2*r+1]-e[1];Jx(this._ids,this._dists,0,i-1);const n=new Uint32Array(i);let t=0;for(let e=0,r=-1/0;e<i;e++){const o=this._ids[e];this._dists[o]>r&&(n[t++]=o,r=this._dists[o])}return this.hull=n.subarray(0,t),this.triangles=new Uint32Array(0),void(this.halfedges=new Uint32Array(0))}if(Vx(m,g,y,b,k,x)){const e=p,n=y,t=b;p=v,y=k,b=x,v=e,k=n,x=t}const _=Yx(m,g,y,b,k,x);this._cx=_.x,this._cy=_.y;for(let M=0;M<i;M++)this._dists[M]=Fx(e[2*M],e[2*M+1],_.x,_.y);Jx(this._ids,this._dists,0,i-1),this._hullStart=f;let S=3;t[f]=n[v]=p,t[p]=n[f]=v,t[v]=n[p]=f,r[f]=0,r[p]=1,r[v]=2,o.fill(-1),o[this._hashKey(m,g)]=f,o[this._hashKey(y,b)]=p,o[this._hashKey(k,x)]=v,this.trianglesLen=0,this._addTriangle(f,p,v,-1,-1,-1);for(let M,P,I=0;I<this._ids.length;I++){const i=this._ids[I],a=e[2*i],c=e[2*i+1];if(I>0&&Math.abs(a-M)<=Ex&&Math.abs(c-P)<=Ex)continue;if(M=a,P=c,i===f||i===p||i===v)continue;let u=0;for(let e=0,n=this._hashKey(a,c);e<this._hashSize;e++)if(u=o[(n+e)%this._hashSize],-1!==u&&u!==t[u])break;u=n[u];let s,l=u;while(s=t[l],!Vx(a,c,e[2*l],e[2*l+1],e[2*s],e[2*s+1]))if(l=s,l===u){l=-1;break}if(-1===l)continue;let d=this._addTriangle(l,i,t[l],-1,-1,r[l]);r[i]=this._legalize(d+2),r[l]=d,S++;let h=t[l];while(s=t[h],Vx(a,c,e[2*h],e[2*h+1],e[2*s],e[2*s+1]))d=this._addTriangle(h,i,s,r[i],-1,r[h]),r[i]=this._legalize(d+2),t[h]=h,S--,h=s;if(l===u)while(s=n[l],Vx(a,c,e[2*s],e[2*s+1],e[2*l],e[2*l+1]))d=this._addTriangle(s,i,l,-1,r[l],r[s]),this._legalize(d+2),r[s]=d,t[l]=l,S--,l=s;this._hullStart=n[i]=l,t[l]=n[h]=i,t[i]=h,o[this._hashKey(a,c)]=i,o[this._hashKey(e[2*l],e[2*l+1])]=l}this.hull=new Uint32Array(S);for(let M=0,P=this._hullStart;M<S;M++)this.hull[M]=P,P=t[P];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(e,n){return Math.floor(Zx(e-this._cx,n-this._cy)*this._hashSize)%this._hashSize}_legalize(e){const{_triangles:n,_halfedges:t,coords:r}=this;let o=0,i=0;while(1){const a=t[e],c=e-e%3;if(i=c+(e+2)%3,-1===a){if(0===o)break;e=Ux[--o];continue}const u=a-a%3,s=c+(e+1)%3,l=u+(a+2)%3,d=n[i],f=n[e],p=n[s],v=n[l],h=$x(r[2*d],r[2*d+1],r[2*f],r[2*f+1],r[2*p],r[2*p+1],r[2*v],r[2*v+1]);if(h){n[e]=v,n[a]=d;const r=t[l];if(-1===r){let n=this._hullStart;do{if(this._hullTri[n]===l){this._hullTri[n]=e;break}n=this._hullPrev[n]}while(n!==this._hullStart)}this._link(e,r),this._link(a,t[i]),this._link(i,l);const c=u+(a+1)%3;o<Ux.length&&(Ux[o++]=c)}else{if(0===o)break;e=Ux[--o]}}return i}_link(e,n){this._halfedges[e]=n,-1!==n&&(this._halfedges[n]=e)}_addTriangle(e,n,t,r,o,i){const a=this.trianglesLen;return this._triangles[a]=e,this._triangles[a+1]=n,this._triangles[a+2]=t,this._link(a,r),this._link(a+1,o),this._link(a+2,i),this.trianglesLen+=3,a}}function Zx(e,n){const t=e/(Math.abs(e)+Math.abs(n));return(n>0?3-t:1+t)/4}function Fx(e,n,t,r){const o=e-t,i=n-r;return o*o+i*i}function Kx(e,n,t,r,o,i){const a=(r-n)*(o-e),c=(t-e)*(i-n);return Math.abs(a-c)>=33306690738754716e-32*Math.abs(a+c)?a-c:0}function Vx(e,n,t,r,o,i){const a=Kx(o,i,e,n,t,r)||Kx(e,n,t,r,o,i)||Kx(t,r,o,i,e,n);return a<0}function $x(e,n,t,r,o,i,a,c){const u=e-a,s=n-c,l=t-a,d=r-c,f=o-a,p=i-c,v=u*u+s*s,h=l*l+d*d,m=f*f+p*p;return u*(d*m-h*p)-s*(l*m-h*f)+v*(l*p-d*f)<0}function Wx(e,n,t,r,o,i){const a=t-e,c=r-n,u=o-e,s=i-n,l=a*a+c*c,d=u*u+s*s,f=.5/(a*s-c*u),p=(s*l-c*d)*f,v=(a*d-u*l)*f;return p*p+v*v}function Yx(e,n,t,r,o,i){const a=t-e,c=r-n,u=o-e,s=i-n,l=a*a+c*c,d=u*u+s*s,f=.5/(a*s-c*u),p=e+(s*l-c*d)*f,v=n+(a*d-u*l)*f;return{x:p,y:v}}function Jx(e,n,t,r){if(r-t<=20)for(let o=t+1;o<=r;o++){const r=e[o],i=n[r];let a=o-1;while(a>=t&&n[e[a]]>i)e[a+1]=e[a--];e[a+1]=r}else{const o=t+r>>1;let i=t+1,a=r;Hx(e,o,i),n[e[t]]>n[e[r]]&&Hx(e,t,r),n[e[i]]>n[e[r]]&&Hx(e,i,r),n[e[t]]>n[e[i]]&&Hx(e,t,i);const c=e[i],u=n[c];while(1){do{i++}while(n[e[i]]<u);do{a--}while(n[e[a]]>u);if(a<i)break;Hx(e,i,a)}e[t+1]=e[a],e[a]=c,r-i+1>=a-t?(Jx(e,n,i,r),Jx(e,n,t,a-1)):(Jx(e,n,t,a-1),Jx(e,n,i,r))}}function Hx(e,n,t){const r=e[n];e[n]=e[t],e[t]=r}function qx(e){return e[0]}function Xx(e){return e[1]}function Qx(e,n,t){var r=P(new Set(e.cities.map((function(e){return e.region})))),o=Array(7*n).fill(0).map((function(e){return{name:"",region:"",x:0,y:0}})),i=[420,490,490],a=[490,560,700],c=i[n-3],u=a[n-3],s=70,l=Math.ceil(c/s),d=Math.ceil(u/s),f=l*d,p=Array(f).fill(-1);e.mapPosition=[100,200],e.layout="Portrait";var v=Array(f).fill(0).map((function(e,n){return n}));o.forEach((function(e,n){var r=v[Math.floor(t()*v.length)],o=Math.floor(r/l),i=r%l;e.x=Math.floor(2*i*s),e.y=Math.floor(o*s),o%2===0&&(e.x+=s);var a=2*t()*Math.PI,c=t()*s/2;e.x+=c*Math.cos(a),e.y+=c*Math.sin(a),v=v.filter((function(e){return e!==r})),p[r]=n}));for(var h=Array(o.length).fill(0).map((function(e){return Array(o.length).fill(0)})),m=Array(o.length).fill(0).map((function(e){return Array(o.length).fill(null)})),g=Gx.from(o,(function(e){return e.x}),(function(e){return e.y})),y=0;y<g.triangles.length;y+=3){var b=o[g.triangles[y]],w=o[g.triangles[y+1]],k=o[g.triangles[y+2]],x=h[g.triangles[y]][g.triangles[y+1]],_=x?Math.pow(x,2):Math.pow(b.x-w.x,2)+Math.pow(b.y-w.y,2),S=x||(h[g.triangles[y+1]][g.triangles[y]]=h[g.triangles[y]][g.triangles[y+1]]=Math.sqrt(_));x=h[g.triangles[y]][g.triangles[y+2]];var M=x?Math.pow(x,2):Math.pow(b.x-k.x,2)+Math.pow(b.y-k.y,2),I=x||(h[g.triangles[y+2]][g.triangles[y]]=h[g.triangles[y]][g.triangles[y+2]]=Math.sqrt(M));x=h[g.triangles[y+1]][g.triangles[y+2]];var C=x?Math.pow(x,2):Math.pow(w.x-k.x,2)+Math.pow(w.y-k.y,2),O=x||(h[g.triangles[y+2]][g.triangles[y+1]]=h[g.triangles[y+1]][g.triangles[y+2]]=Math.sqrt(C)),A=Math.acos((_+M-C)/(2*S*I)),N=Math.acos((_+C-M)/(2*S*O)),z=Math.PI-A-N,j=105*Math.PI/180;!1!==m[g.triangles[y]][g.triangles[y+1]]&&z<j?(m[g.triangles[y]][g.triangles[y+1]]=!0,m[g.triangles[y+1]][g.triangles[y]]=!0):(m[g.triangles[y]][g.triangles[y+1]]=!1,m[g.triangles[y+1]][g.triangles[y]]=!1),!1!==m[g.triangles[y]][g.triangles[y+2]]&&N<j?(m[g.triangles[y]][g.triangles[y+2]]=!0,m[g.triangles[y+2]][g.triangles[y]]=!0):(m[g.triangles[y]][g.triangles[y+2]]=!1,m[g.triangles[y+2]][g.triangles[y]]=!1),!1!==m[g.triangles[y+1]][g.triangles[y+2]]&&A<j?(m[g.triangles[y+1]][g.triangles[y+2]]=!0,m[g.triangles[y+2]][g.triangles[y+1]]=!0):(m[g.triangles[y+1]][g.triangles[y+2]]=!1,m[g.triangles[y+2]][g.triangles[y+1]]=!1)}for(var L=0,D=1e3,R=0;R<o.length;R++)for(var T=0;T<R;T++)if(m[R][T]){var B=h[R][T];L=Math.max(L,B),D=Math.min(D,B)}var E=5===n?[[c/4,u/4],[c/4,3*u/4],[c/2,u/2],[3*c/4,u/4],[3*c/4,3*u/4]]:4===n?[[c/4,u/4],[c/4,3*u/4],[3*c/4,u/4],[3*c/4,3*u/4]]:[[c/4,u/4],[c/2,u/2],[3*c/4,3*u/4]],U=e_(o.map((function(e){return[e.x,e.y]})),n,E,m),G=Array(n).fill(0);o.forEach((function(e,n){e.region=r[U[n]],e.name=Object(Qw["upperFirst"])(e.region)+" "+(1+G[U[n]]++)}));for(var Z=[],F=0;F<o.length;F++)for(var K=0;K<F;K++)if(m[F][K]){var V=o[F],$=o[K],W=h[F][K];Z.push({nodes:[V.name,$.name],cost:Math.floor(5*W/s)})}return e.cities=o,e.connections=Z,e}function e_(e,n,t,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:100,i=Array(e.length).fill(0),a=Math.ceil(e.length/n),c=!1,u=function(){var r=Array(n).fill(0),u=Array(e.length).fill(0).map((function(e){return Array(n).fill(0)}));e.forEach((function(e,n){var o=null,c=0;t.forEach((function(t,i){var s=n_(e,t);(null===o||s<o)&&r[i]<a&&(o=s,c=i),u[n][i]=s})),i[n]=c,r[c]++}));var s=Array(t.length).fill(0).map((function(e){return[0,0]})),l=Array(t.length).fill(0);e.forEach((function(e,n){s[i[n]][0]+=e[0],s[i[n]][1]+=e[1],l[i[n]]++})),c=!0,t.forEach((function(e,n){s[n][0]=s[n][0]/l[n],s[n][1]=s[n][1]/l[n],e[0]===s[n][0]&&e[1]===s[n][1]||(c=!1)})),t=s,console.log("iterations",o),console.log("centroids",t),c=c||0===--o};do{u()}while(!c);var s=10;do{console.log("Refining"),c=!0,e.forEach((function(n,o){var a=i[o],u=r[o].some((function(e,n){return e&&a===i[n]}));if(!u){var s=t[a],l=null,d=null;r[o].forEach((function(n,t){if(n){var r=e[t],o=n_(r,s);(null===l||o<l)&&(l=o,d=t)}})),i[o]=i[d],i[d]=a,c=!1}})),c=c||0===--s}while(!c);return i}function n_(e,n){return(e[0]-n[0])*(e[0]-n[0])+(e[1]-n[1])*(e[1]-n[1])}var t_=[10,7,7,7,6],r_=[9,6,6,6,5],o_=[10,7,7,7,6],i_=[21,17,17,15,14],a_=[18,17,17,15,14],c_=[5,5,5,5,4],u_=[13,13,13,12,11],s_=[18,17,17,15,14],l_=[10,22,33,44,54,64,73,82,90,98,105,112,118,124,129,134,138,142,145,148,150,150],d_=[3,3,4,5,5];function f_(e,n,t,r){var o,i,a=Object(Qw["cloneDeep"])(yk);if("original"==n){a=a.slice(8);var c=a.splice(2,1)[0],u=a.pop();a=uk(a,t()+""),2==e||3==e?a=a.slice(8):4==e&&(a=a.slice(4)),a.unshift(c),a.push(u),o=[j_(3),j_(4),j_(5),j_(6)],i=[j_(7),j_(8),j_(9),j_(10)]}else{var s=uk(a.splice(0,13),t()+""),l=s.splice(0,8);l=l.sort((function(e,n){return e.number-n.number})),o=l.slice(0,4),i=l.slice(4);var d=s.shift(),f=a.pop();a=uk(a,t()+""),2==e?(s=s.slice(1),a=uk(a.slice(5).concat(s),t()+"")):3==e?(s=s.slice(2),a=uk(a.slice(6).concat(s),t()+"")):4==e?(s=s.slice(1),a=uk(a.slice(3).concat(s),t()+"")):r&&(a=uk(a.concat(s),t()+"")),a.unshift(d),a.push(f)}return{actualMarket:o,futureMarket:i,powerPlantsDeck:a}}function p_(e,n,t,r,o){var i,a,c,u,s,l,d,f,p=n.fastBid,v=void 0!==p&&p,h=n.map,m=void 0===h?"USA":h,g=n.variant,y=void 0===g?"original":g,b=n.showMoney,k=void 0!==b&&b,x=n.useNewRechargedSetup,_=void 0===x||x,S=n.trackTotalSpent,M=void 0===S||S,I=n.randomizeMap,C=void 0!==I&&I,O=n.chooseRegions,A=void 0!==O&&O,N=n.chooseColors,z=void 0!==N&&N;t=null!==(i=t)&&void 0!==i?i:Math.random().toString();var j=nk()(t),L="original"==y?Tx.find((function(e){return e.name==m})):Bx.find((function(e){return e.name==m}));if(!L)throw new Error('Map "'.concat(m,'" not found for variant "').concat(y,'"'));var D,R,T,B=Object(Qw["cloneDeep"])(L);if(r)T=r,D=T.splice(0,4),R=T.splice(0,4);else if(B.setupDeck){var E=B.setupDeck(e,y,j);D=E.actualMarket,R=E.futureMarket,T=E.powerPlantsDeck}else{var U=f_(e,y,j,_);D=U.actualMarket,R=U.futureMarket,T=U.powerPlantsDeck}var G,Z,F,K,V,$,W,Y,J,H=Object(Qw["range"])(e).map((function(e){return{id:e,powerPlants:[],coalCapacity:0,coalLeft:0,oilCapacity:0,oilLeft:0,garbageCapacity:0,garbageLeft:0,uraniumCapacity:0,uraniumLeft:0,hybridCapacity:0,hybridLeft:0,money:50,housesLeft:22,cities:[],powerPlantsNotUsed:[],availableMoves:null,lastMove:null,isDropped:!1,isAI:!1,bid:0,passed:!1,skipAuction:!1,citiesPowered:0,resourcesUsed:[],totalIncome:0,totalSpentCities:0,totalSpentConnections:0,totalSpentPlants:0,totalSpentResources:0,usedFreeJump:!1,totalTimeUsed:0}})),q=H.length-2,X=Object(Qw["range"])(e),Q=X[0];if(B.resupplyNorth&&(V=B.resupplyNorth[0],$=B.resupplyNorth[1],W=B.resupplyNorth[2]),B.resupply?(G=B.resupply[0],Z=B.resupply[1],F=B.resupply[2],K=B.resupply[3]):(G=[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],Z=[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],F=[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],K=[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]),"Portrait"==B.layout||C){var ee="USA"===B.name&&"recharged"===y;B.viewBox=B.viewBox||[1480,1060],B.adjustRatio=B.adjustRatio||[1,1],B.playerOrderPosition=B.playerOrderPosition||[1160,160],B.cityCountPosition=B.cityCountPosition||[0,0],B.powerPlantMarketPosition=B.powerPlantMarketPosition||[745,0],B.actualMarketWidth=B.actualMarketWidth||430,B.mapPosition=B.mapPosition||[0,0],B.buttonsPosition=B.buttonsPosition||[1305,0],B.playerBoardsPosition=B.playerBoardsPosition||[1105,240],B.roundInfoPosition=B.roundInfoPosition||[20,920],B.supplyPosition=B.supplyPosition||[ee?480:675,920]}else B.viewBox=B.viewBox||[1465,860],B.adjustRatio=B.adjustRatio||[1,1],B.playerOrderPosition=B.playerOrderPosition||[1160,140],B.cityCountPosition=B.cityCountPosition||[0,0],B.powerPlantMarketPosition=B.powerPlantMarketPosition||[745,0],B.actualMarketWidth=B.actualMarketWidth||430,B.mapPosition=B.mapPosition||[-10,0],B.buttonsPosition=B.buttonsPosition||[1305,0],B.playerBoardsPosition=B.playerBoardsPosition||[1105,200],B.roundInfoPosition=B.roundInfoPosition||[20,590],B.supplyPosition=B.supplyPosition||[0,720];if(C)Y=Qx(B,d_[q],j);else{B.cities=B.cities.map((function(e){return w(w({},e),{},{x:e.x*B.adjustRatio[0],y:e.y*B.adjustRatio[1]})}));var ne=dk(B),te=ne.regions,re=Math.min(d_[q],te.length);if(A&&te.length>re)Y=B,J={regionsNeeded:re,picked:[]};else{var oe=new Set;while(oe.size!=re){var ie=te[Math.floor(j()*te.length)];fk(B.name,ne,P(oe),ie)&&(oe.add(ie),"Italy"===B.name&&oe.has("red")&&oe.has("green")&&oe.has("blue")&&oe.clear())}Y=v_(B,oe),h_(B,oe,D,R,T)}}var ae=B.startingResources?B.startingResources[0]:24,ce=B.startingResources?B.startingResources[1]:18,ue=B.startingResources?B.startingResources[2]:"original"==y?6:9,se=B.startingResources?B.startingResources[3]:2,le=B.startingSupply?B.startingSupply[0]:24,de=B.startingSupply?B.startingSupply[1]:24,fe=B.startingSupply?B.startingSupply[2]:24,pe=B.startingSupply?B.startingSupply[3]:12,ve=null===(a=B.startingResourcesNorth)||void 0===a?void 0:a[0],he=null===(c=B.startingResourcesNorth)||void 0===c?void 0:c[1],me=null===(u=B.startingResourcesNorth)||void 0===u?void 0:u[2],ge=le-ae-(null!==ve&&void 0!==ve?ve:0),ye=de-ce-(null!==he&&void 0!==he?he:0),be=fe-ue-(null!==me&&void 0!==me?me:0),we=pe-se,ke=Object(Qw["cloneDeep"])(null!==(s=B.coalPrices)&&void 0!==s?s:ik.coal),xe=Object(Qw["cloneDeep"])(null!==(l=B.oilPrices)&&void 0!==l?l:ik.oil),_e=Object(Qw["cloneDeep"])(null!==(d=B.garbagePrices)&&void 0!==d?d:ik.garbage),Se=Object(Qw["cloneDeep"])(null!==(f=B.uraniumPrices)&&void 0!==f?f:ik.uranium),Me=B.coalPricesNorth?Object(Qw["cloneDeep"])(B.coalPricesNorth):void 0,Pe=B.oilPricesNorth?Object(Qw["cloneDeep"])(B.oilPricesNorth):void 0,Ie=B.garbagePricesNorth?Object(Qw["cloneDeep"])(B.garbagePricesNorth):void 0,Ce="South Africa"==(o||Y).name,Oe={map:o||Y,players:H,playerOrder:X,currentPlayers:[Q],powerPlantsDeck:T,coalSupply:ge,oilSupply:ye,garbageSupply:be,uraniumSupply:we,coalStorage:Ce?0:void 0,coalResupply:G,oilResupply:Z,garbageResupply:F,uraniumResupply:K,coalMarket:ae,oilMarket:ce,garbageMarket:ue,uraniumMarket:se,uraniumMineMarket:"Australia"==(o||Y).name?[2,2,2,2,2,2]:void 0,coalPrices:ke,oilPrices:xe,garbagePrices:_e,uraniumPrices:Se,coalMarketNorth:ve,oilMarketNorth:he,garbageMarketNorth:me,coalResupplyNorth:V,oilResupplyNorth:$,garbageResupplyNorth:W,coalPricesNorth:Me,oilPricesNorth:Pe,garbagePricesNorth:Ie,actualMarket:D,futureMarket:R,chosenPowerPlant:void 0,currentBid:void 0,highestBidders:[],auctioningPlayer:void 0,step:1,phase:Iw.Auction,options:{fastBid:v,map:m,variant:y,showMoney:k,useNewRechargedSetup:_,trackTotalSpent:M,chooseRegions:A,chooseColors:z},log:[],hiddenLog:[],seed:t,round:1,newTurn:!0,auctionSkips:0,citiesToStep2:"Baden-Württemberg"==(o||Y).name?r_[e-2]:"UK & Ireland"==(o||Y).name?o_[e-2]:"Bremen"==(o||Y).name?c_[e-2]:t_[e-2],citiesToEndGame:"South Africa"==(o||Y).name?a_[e-2]:"UK & Ireland"==(o||Y).name&&2==e?Math.min(i_[e-2],(o||Y).cities.length):"Bremen"==(o||Y).name?u_[e-2]:"Manhattan"==(o||Y).name?s_[e-2]:i_[e-2],resourceResupply:["[".concat(G[q][0],", ").concat(Z[q][0],", ").concat(F[q][0],", ").concat(K[q][0],"]"),"[".concat(G[q][1],", ").concat(Z[q][1],", ").concat(F[q][1],", ").concat(K[q][1],"]"),"[".concat(G[q][2],", ").concat(Z[q][2],", ").concat(F[q][2],", ").concat(K[q][2],"]")],resourceResupplyNorth:V&&$&&W?["[".concat(V[q][0],", ").concat($[q][0],", ").concat(W[q][0],"]"),"[".concat(V[q][1],", ").concat($[q][1],", ").concat(W[q][1],"]"),"[".concat(V[q][2],", ").concat($[q][2],", ").concat(W[q][2],"]")]:void 0,paymentTable:l_,variant:y,minimunBid:0,plantDiscountActive:"recharged"==y&&"China"!=(o||Y).name&&"Russia"!=(o||Y).name&&"Baden-Württemberg"!=(o||Y).name,discardSmallestPlant:!1,cardsLeft:T.length,nextCardWeak:"recharged"==y,card39Bought:!1,knownPowerPlantDeck:D.concat(R),knownPowerPlantDeckStep3:[],powerPlantDeckAfterStep3:void 0};return Oe.log.push({type:"event",event:"Game Start!"}),"Middle East"==Oe.map.name&&P_(Oe),J&&(Oe.phase=Iw.RegionSelection,Oe.regionDraft=J),z&&(Oe.phase=Iw.ColorSelection,Oe.colorDraft={picked:[]}),Oe.map.blockSpaces&&(Oe.blockedCities=Oe.map.blockSpaces(e,Oe.map.cities,j),Oe.blockedCities.length>0&&Oe.log.push({type:"event",event:"".concat(Oe.blockedCities.length," building spaces are blocked for ").concat(e," players.")})),Oe.players[Q].availableMoves=lk(Oe,Oe.players[Q]),Oe}function v_(e,n){var t=Object(Qw["cloneDeep"])(e);return t.cities=t.cities.filter((function(e){return n.has(e.region)})),t.connections=t.connections.filter((function(t){return t.nodes.map((function(n){return e.cities.find((function(e){return e.name==n})).region})).every((function(e){return n.has(e)}))})),t}function h_(e,n,t,r,o){if(e.regionalPowerPlants){var i,a=I(n);try{for(a.s();!(i=a.n()).done;){var c=i.value,u=e.regionalPowerPlants[c];if(u){var s,l=I(u);try{var d=function(){var e=s.value,n=function(n){var t=n.findIndex((function(n){return n.number===e.number}));-1!==t&&(n[t]=w({},e))};n(t),n(r),n(o)};for(l.s();!(s=l.n()).done;)d()}catch(f){l.e(f)}finally{l.f()}}}}catch(f){a.e(f)}finally{a.f()}}}function m_(e){var n=new Set(e.regionDraft.picked),t=e.map;e.map=v_(t,n),h_(t,n,e.actualMarket,e.futureMarket,e.powerPlantsDeck),e.knownPowerPlantDeck=e.actualMarket.concat(e.futureMarket),"UK & Ireland"==e.map.name&&2==e.players.length&&(e.citiesToEndGame=Math.min(i_[e.players.length-2],e.map.cities.length)),e.regionDraft=void 0,e.phase=Iw.Auction,e.currentPlayers=[e.playerOrder[0]]}function g_(e){e.colorDraft=void 0,e.currentPlayers=[e.playerOrder[0]],e.regionDraft?e.phase=Iw.RegionSelection:e.phase=Iw.Auction}function y_(e,n,t){var r,o,i=e.players[t],a=null===(r=i.availableMoves)||void 0===r?void 0:r[n.name];switch(Y_(e),Xw()(e.currentPlayers.includes(t),"It is not your turn!"),Xw()(a,"You are not allowed to run the command "+n.name),Xw()(a.some((function(e){return Object(Qw["isEqual"])(e,n.data)})),"Wrong argument for the command "+n.name),n.name){case Vw.ChoosePowerPlant:ak(n),e.chosenPowerPlant=e.actualMarket.find((function(e){return e.number===n.data})),e.auctioningPlayer=i.id,39==n.data&&(e.card39Bought=!0),"recharged"==e.options.variant&&e.plantDiscountActive&&e.chosenPowerPlant.number==e.actualMarket[0].number?(e.minimunBid=1,e.plantDiscountActive=!1,n.usedPlantDiscount=!0):e.minimunBid=n.data;var c=e.players.filter((function(e){return!e.skipAuction&&!e.isDropped}));if(1==c.length){e.log.push({type:"move",player:t,move:n,simple:"".concat(i.name," chooses Power Plant ").concat(n.data,"."),pretty:"".concat(D_(i)," chooses Power Plant <b>").concat(n.data,"</b>.")});var u=c[0];if(G_(e,u,e.minimunBid),void 0!=e.discountBonusPlayer){var s=Nw(e,u)>4||e.players.length>2&&Nw(e,u)>3;s||N_(e),F_(e,e.discountBonusPlayer)}else(Nw(e,u)<=3||2==e.players.length&&4==Nw(e,u))&&(N_(e),U_(e))}else e.log.push({type:"move",player:t,move:n,simple:"".concat(i.name," chooses Power Plant ").concat(n.data," to initiate an auction."),pretty:"".concat(D_(i)," chooses Power Plant <b>").concat(n.data,"</b> to initiate an auction.")}),e.options.fastBid&&(e.currentPlayers=e.playerOrder.filter((function(n){return!e.players[n].skipAuction&&!e.players[n].isDropped})));break;case Vw.Bid:ak(n),e.options.fastBid?(e.hiddenLog.push({type:"move",player:t,move:n,simple:"".concat(i.name," bids $").concat(n.data,"."),pretty:"".concat(D_(i),' bids <span style="color: green">$').concat(n.data,"</span>.")}),J_(e,i,n.data)):(e.currentBid=i.bid=n.data,e.log.push({type:"move",player:t,move:n,simple:"".concat(i.name," bids $").concat(n.data,"."),pretty:"".concat(D_(i),' bids <span style="color: green">$').concat(n.data,"</span>.")}),V_(e));break;case Vw.ChooseRegion:if(ak(n),e.regionDraft.picked.push(n.data),e.log.push({type:"move",player:t,move:n,simple:"".concat(i.name," chooses region ").concat(n.data,"."),pretty:"".concat(D_(i)," chooses region <b>").concat(n.data,"</b>.")}),e.regionDraft.picked.length>=e.regionDraft.regionsNeeded)m_(e);else{var l=e.playerOrder;e.currentPlayers=[l[(l.indexOf(t)+1)%l.length]]}break;case Vw.ChooseColor:ak(n),i.color=n.data,e.colorDraft.picked.push(n.data),e.log.push({type:"move",player:t,move:n,simple:"".concat(i.name," chooses ").concat(n.data,"."),pretty:"".concat(D_(i)," chooses <b>").concat(n.data,"</b>.")}),e.colorDraft.picked.length>=e.players.length?g_(e):e.currentPlayers=[e.playerOrder[e.colorDraft.picked.length]];break;case Vw.Pass:switch(ak(n),e.options.fastBid&&e.phase==Iw.Auction&&e.chosenPowerPlant||e.log.push({type:"move",player:t,move:n,simple:"".concat(i.name," passes."),pretty:"".concat(D_(i)," passes.")}),e.phase){case Iw.Auction:var d;if(void 0==e.chosenPowerPlant)if(i.skipAuction=!0,e.discountBonusPlayer==i.id&&(e.discountBonusPlayer=void 0),e.auctionSkips++,1==e.auctionSkips&&"Russia"==e.map.name&&(null===(d=e.actualMarket)||void 0===d?void 0:d.length)>0&&(e.log.push({type:"event",event:"First pass, removing lowest numbered Power Plant (".concat(e.actualMarket[0].number,").")}),e.actualMarket.shift(),__(e)),e.players.some((function(e){return!e.skipAuction&&!e.isDropped})))W_(e);else{if(e.auctionSkips==e.players.length&&"Baden-Württemberg"==e.map.name){for(var f=[],p=0;p<2&&e.actualMarket.length>0;p++)f.push(e.actualMarket[0].number),e.actualMarket.shift(),__(e);e.log.push({type:"event",event:"Everyone passed, removing the two lowest numbered Power Plants (".concat(f.join(", "),").")})}else e.auctionSkips==e.players.length&&"original"==e.options.variant&&"China"!=e.map.name&&"Russia"!=e.map.name&&(e.log.push({type:"event",event:"Everyone passed, removing lowest numbered Power Plant (".concat(e.actualMarket[0].number,").")}),e.actualMarket.shift(),__(e));U_(e)}else if(e.options.fastBid)e.hiddenLog.push({type:"move",player:t,move:n,simple:"".concat(i.name," passes."),pretty:"".concat(D_(i)," passes.")}),J_(e,i,0);else{i.passed=!0;var v=e.players.filter((function(e){return!e.passed&&!e.skipAuction&&!e.isDropped}));if(1==v.length){var h=v[0];G_(e,h,h.bid),(Nw(e,h)>4||e.players.length>2&&Nw(e,h)>3)&&!h.isDropped?F_(e,h.id):(N_(e),e.players.some((function(e){return!e.skipAuction&&!e.isDropped}))?(e.players.forEach((function(e){e.bid=0,e.passed=e.isDropped})),W_(e,!0)):U_(e))}else V_(e)}break;case Iw.Resources:if("India"==e.map.name&&e.chosenResource?e.chosenResource=void 0:i.passed=!0,"Korea"==e.map.name&&(e.chosenSide=void 0),0==e.players.filter((function(e){return!e.passed&&!e.isDropped})).length?(e.players.forEach((function(e){e.passed=e.isDropped})),e.phase=Iw.Building,"India"==e.map.name&&(e.citiesBuiltInCurrentRound=0),F_(e,e.playerOrder[e.players.length-1]),e.players[e.currentPlayers[0]].isDropped&&e.players.some((function(e){return!e.isDropped}))&&(e.players[e.currentPlayers[0]].passed=!0,$_(e))):$_(e),"India"==e.map.name)while(e.players[e.currentPlayers[0]].passed)$_(e);break;case Iw.Building:if(i.passed=!0,0==e.players.filter((function(e){return!e.passed&&!e.isDropped})).length){var m=Math.max.apply(Math,P(e.players.map((function(e){return e.cities.length}))));if(1==e.step){var g=e.players.reduce((function(e,n){return e+n.cities.length}),0),y=g>=e.map.cities.length;if((m>=e.citiesToStep2||y)&&"Middle East"!=e.map.name&&"Manhattan"!=e.map.name){var b=e.actualMarket.shift();if(e.log.push({type:"event",event:"Starting Step 2, Power Plant ".concat(null===b||void 0===b?void 0:b.number," discarded.")}),e.step=2,"Spain & Portugal"==e.map.name&&(e.powerPlantsDeck.find((function(e){return 18==e.number}))||(e.powerPlantsDeck.unshift(j_(27)),e.powerPlantsDeck.unshift(j_(22)),e.powerPlantsDeck.unshift(j_(18)))),"Europe"==e.map.name){var w=[].concat(P(e.actualMarket),P(e.futureMarket));w.sort((function(e,n){return e.number-n.number})),e.actualMarket=w.slice(0,4),e.futureMarket=w.slice(4)}else __(e)}}m>=e.citiesToEndGame?(e.phase=Iw.GameEnd,e.currentPlayers=[],T_(e),"India"==e.map.name&&e.citiesBuiltInCurrentRound>2*e.players.length&&e.players.forEach((function(n){var t=e.paymentTable[n.citiesPowered]-3*n.cities.length;n.money+=Math.max(t,0),n.totalIncome+=Math.max(t,0)})),e.uraniumMineMarket&&P(e.playerOrder).reverse().forEach((function(n){var t=e.players[n],r=Lw(e,t);if(r.mines>0&&r.income>0){var o,i=null!==(o=t.name)&&void 0!==o?o:"Player ".concat(t.id);e.log.push({type:"event",event:"".concat(i," sells uranium for ").concat(r.income," Elektro (").concat(r.cities," cities × $").concat(r.price,", ").concat(r.mines," mine(s)).")})}})),e.log.push({type:"event",event:"Game Ended!"})):(e.players.forEach((function(e){e.passed=e.isDropped,e.powerPlantsNotUsed=e.powerPlants.map((function(e){return e.number}))})),e.phase=Iw.Bureaucracy,e.currentPlayers=e.playerOrder.filter((function(n){return!e.players[n].passed&&!e.players[n].isDropped})),"India"==e.map.name&&(e.players.forEach((function(n){return n.targetCitiesPowered=B_(e,n)})),e.citiesBuiltInCurrentRound>2*e.players.length&&e.log.push({type:"event",event:"Power outage! ".concat(e.citiesBuiltInCurrentRound," built this round, which is more than twice the number of players.")})),"China"==e.map.name&&e.step<=2?O_(e):0==e.futureMarket.length&&"Manhattan"!=e.map.name&&(e.step=3,C_(e)))}else $_(e);break;case Iw.Bureaucracy:i.passed=!0;var k=Math.min(i.cities.length,i.citiesPowered),x=e.paymentTable[k];if("India"==e.map.name&&e.citiesBuiltInCurrentRound>2*e.players.length&&(x-=3*i.cities.length,x=Math.max(x,0)),i.money+=x,e.options.trackTotalSpent&&(i.totalIncome+=x),i.citiesPowered=0,"India"==e.map.name&&(i.targetCitiesPowered=0),0==e.players.filter((function(e){return!e.passed&&!e.isDropped})).length){var _,S,M,I,C,O,A,N;if(e.uraniumMineMarket){P(e.playerOrder).reverse().forEach((function(n){var t=e.players[n],r=Lw(e,t);if(r.mines>0){var o,i=null!==(o=t.name)&&void 0!==o?o:"Player ".concat(t.id);e.log.push({type:"event",event:r.income>0?"".concat(i," sells uranium for ").concat(r.income," Elektro (").concat(r.cities," cities × $").concat(r.price,", ").concat(r.mines," mine(s))."):"".concat(i,"'s uranium mines earn nothing (market full).")})}}));var z=Dw(e,e.map.uraniumMineResupply[e.players.length-2][e.step-1]);z>0&&e.log.push({type:"event",event:"Removing ".concat(z," uranium from the mine market (cheapest slots).")})}var j,L,D=(null!==(_=null===(S=e.coalPrices)||void 0===S?void 0:S.length)&&void 0!==_?_:ik[Mw.Coal].length)-e.coalMarket,R=(null!==(M=null===(I=e.oilPrices)||void 0===I?void 0:I.length)&&void 0!==M?M:ik[Mw.Oil].length)-e.oilMarket,T=(null!==(C=null===(O=e.garbagePrices)||void 0===O?void 0:O.length)&&void 0!==C?C:ik[Mw.Garbage].length)-e.garbageMarket,B=(null!==(A=null===(N=e.uraniumPrices)||void 0===N?void 0:N.length)&&void 0!==A?A:ik[Mw.Uranium].length)-e.uraniumMarket,E=0,U=0,G=0;if(e.coalResupplyNorth){var Z=e.coalPricesNorth.length-e.coalMarketNorth,F=e.oilPricesNorth.length-e.oilMarketNorth,K=e.garbagePricesNorth.length-e.garbageMarketNorth;E=Math.min(e.coalSupply,e.coalResupplyNorth[e.players.length-2][e.step-1],Z),e.coalMarketNorth+=E,e.coalSupply-=E,U=Math.min(e.oilSupply,e.oilResupplyNorth[e.players.length-2][e.step-1],F),e.oilMarketNorth+=U,e.oilSupply-=U,G=Math.min(e.garbageSupply,e.garbageResupplyNorth[e.players.length-2][e.step-1],K),e.garbageMarketNorth+=G,e.garbageSupply-=G}if(void 0!==e.coalStorage){var V=Math.min(e.coalResupply[e.players.length-2][e.step-1],D),$=Math.min(e.coalStorage,V),W=Math.min(e.coalSupply,V-$);j=$+W,e.coalMarket+=j,e.coalStorage-=$,e.coalSupply-=W}else j=Math.min(e.coalSupply,e.coalResupply[e.players.length-2][e.step-1],D),e.coalMarket+=j,e.coalSupply-=j;if("Middle East"==e.map.name){0==e.oilMarket&&(e.oilPrices=ik[Mw.Oil]),L=e.oilResupply[e.players.length-2][e.step-1];for(var Y=0;Y<L;Y++)e.oilSupply>0?(e.oilMarket++,e.oilSupply--):(e.oilPrices.pop(),e.oilPrices.unshift(1))}else L=Math.min(e.oilSupply,e.oilResupply[e.players.length-2][e.step-1],R),e.oilMarket+=L,e.oilSupply-=L;var J=Math.min(e.garbageSupply,e.garbageResupply[e.players.length-2][e.step-1],T);e.garbageMarket+=J,e.garbageSupply-=J;var H=0;if(("recharged"!=e.options.variant||"Germany"!=e.options.map&&"Italy"!=e.options.map||!e.card39Bought)&&(H=Math.min(e.uraniumSupply,e.uraniumResupply[e.players.length-2][e.step-1],B),e.uraniumMarket+=H,e.uraniumSupply-=H),e.coalResupplyNorth?e.log.push({type:"event",event:"Resupplying resources — North: [".concat(E,", ").concat(U,", ").concat(G,"], South: [").concat(j,", ").concat(L,", ").concat(J,", ").concat(H,"].")}):e.log.push({type:"event",event:"Resupplying resources: [".concat(j,", ").concat(L,", ").concat(J,", ").concat(H,"].")}),"Manhattan"==e.map.name)S_(e);else if("Middle East"==e.map.name&&2==e.step&&e.futureMarket.length>0){var q=e.futureMarket.pop();e.log.push({type:"event",event:"Putting Power Plant ".concat(q.number," on the bottom of the deck.")}),e.powerPlantsDeck.push(q),__(e),q=e.futureMarket.length?e.futureMarket.pop():e.actualMarket.pop(),e.log.push({type:"event",event:"Putting Power Plant ".concat(q.number," on the bottom of the deck.")}),e.powerPlantsDeck.push(q),__(e)}else if(e.futureMarket.length>0){if("Benelux"==e.map.name&&("original"==e.options.variant||e.discardSmallestPlant)){var X=e.actualMarket[0];e.log.push({type:"event",event:"Removing smallest plant, Power Plant ".concat(X.number,".")}),e.actualMarket.shift(),__(e),e.discardSmallestPlant=!1}var Q;if("Quebec"==e.map.name){var ee=e.futureMarket.filter((function(e){return e.type!=Pw.Wind}));if(Q=ee.pop(),Q)e.futureMarket=e.futureMarket.filter((function(e){var n;return e.number!=(null===(n=Q)||void 0===n?void 0:n.number)}));else{var ne=e.actualMarket.filter((function(e){return e.type!=Pw.Wind}));Q=ne.pop(),Q&&(e.actualMarket=e.actualMarket.filter((function(e){var n;return e.number!=(null===(n=Q)||void 0===n?void 0:n.number)})))}}else Q=e.futureMarket.pop();Q&&(e.log.push({type:"event",event:"Putting Power Plant ".concat(Q.number," on the bottom of the deck.")}),e.powerPlantsDeck.push(Q),__(e))}else e.actualMarket.length>0&&("China"!=e.map.name||3==e.step)&&(e.log.push({type:"event",event:"Discarding Power Plant ".concat(e.actualMarket[0].number,".")}),e.actualMarket.shift(),__(e));e.round++,"Baden-Württemberg"!=e.map.name&&Z_(e),e.players.forEach((function(e){e.passed=e.isDropped})),e.auctionSkips=0,e.actualMarket.length>0?(e.phase=Iw.Auction,0==e.futureMarket.length&&"China"!=e.map.name&&"Manhattan"!=e.map.name&&(e.step=3,C_(e)),e.plantDiscountActive="recharged"==e.options.variant&&"China"!=e.map.name&&"Russia"!=e.map.name&&"Baden-Württemberg"!=e.map.name,F_(e,e.playerOrder[0])):U_(e)}else e.currentPlayers=e.playerOrder.filter((function(n){return!e.players[n].passed&&!e.players[n].isDropped}));break}break;case Vw.DiscardPowerPlant:ak(n),n.extra||e.log.push({type:"move",player:t,move:n,simple:"".concat(i.name," discards Power Plant ").concat(n.data,"."),pretty:"".concat(D_(i)," discards Power Plant <b>").concat(n.data,"</b>.")});var te=i.powerPlants.find((function(e){return e.number==n.data}));if(i.powerPlants=i.powerPlants.filter((function(e){return e.number!=n.data})),x_(i),n.extra){var re=[];switch(te.type){case Pw.Coal:e.coalSupply+=n.extra[0],i.coalLeft-=n.extra[0],re.push(n.extra[0]+" Coal");break;case Pw.Oil:e.oilSupply+=n.extra[0],i.oilLeft-=n.extra[0],re.push(n.extra[0]+" Oil");break;case Pw.Garbage:e.garbageSupply+=n.extra[0],i.garbageLeft-=n.extra[0],re.push(n.extra[0]+" Garbage");break;case Pw.Uranium:e.uraniumSupply+=n.extra[0],i.uraniumLeft-=n.extra[0],re.push(n.extra[0]+" Uranium");break;case Pw.Hybrid:n.extra[0]>0&&(e.coalSupply+=n.extra[0],i.coalLeft-=n.extra[0],re.push(n.extra[0]+" Coal")),n.extra[1]>0&&(e.oilSupply+=n.extra[1],i.oilLeft-=n.extra[1],re.push(n.extra[1]+" Oil"));break}e.log.push({type:"move",player:t,move:n,simple:"".concat(i.name," discards Power Plant ").concat(n.data," and ").concat(re.join(", "),"."),pretty:"".concat(D_(i)," discards Power Plant <b>").concat(n.data,"</b> and ").concat(re.join(", "),".")}),N_(e),e.players.forEach((function(e){e.bid=0,e.passed=e.isDropped})),e.players.some((function(e){return!e.skipAuction&&!e.isDropped}))?W_(e,!0):U_(e)}else{var oe=sk(i);i.garbageLeft>i.garbageCapacity&&(e.garbageSupply+=i.garbageLeft-i.garbageCapacity,i.garbageLeft=i.garbageCapacity),i.uraniumLeft>i.uraniumCapacity&&(e.uraniumSupply+=i.uraniumLeft-i.uraniumCapacity,i.uraniumLeft=i.uraniumCapacity),1==oe.length&&(A_(e,i,oe[0]),oe.pop()),0==oe.length&&(N_(e),e.players.forEach((function(e){e.bid=0,e.passed=e.isDropped})),e.players.some((function(e){return!e.skipAuction&&!e.isDropped}))?W_(e,!0):U_(e))}break;case Vw.DiscardResources:ak(n),e.log.push({type:"move",player:t,move:n,simple:"".concat(i.name," discarded a ").concat(n.data,"."),pretty:"".concat(D_(i)," discarded a <b>").concat(n.data,"</b>.")}),n.data==Mw.Coal?(i.coalLeft--,e.coalSupply++):n.data==Mw.Oil&&(i.oilLeft--,e.oilSupply++);var ie=sk(i);1==ie.length&&(A_(e,i,ie[0]),ie.pop()),0==ie.length&&(N_(e),e.players.forEach((function(e){e.bid=0,e.passed=e.isDropped})),e.players.some((function(e){return!e.skipAuction&&!e.isDropped}))?W_(e,!0):U_(e));break;case Vw.BuyResource:ak(n),e.chosenResource=n.data.resource,n.data.side&&(e.chosenSide=n.data.side);var ae,ce="north"===n.data.side;switch(n.data.resource){case Mw.Coal:if(ce){var ue=e.coalPricesNorth;ae=ue[ue.length-e.coalMarketNorth],i.coalLeft++,e.coalMarketNorth--}else if(n.data.fromStorage)ae=8,i.coalLeft++,e.coalStorage--;else if(0==e.coalMarket)ae=8,i.coalLeft++,e.coalSupply--,n.fromSupply=!0;else{var se,le=null!==(se=e.coalPrices)&&void 0!==se?se:ik[Mw.Coal];ae=le[le.length-e.coalMarket],i.coalLeft++,e.coalMarket--}break;case Mw.Oil:if(ce){var de=e.oilPricesNorth;ae=de[de.length-e.oilMarketNorth],i.oilLeft++,e.oilMarketNorth--}else{var fe,pe=null!==(fe=e.oilPrices)&&void 0!==fe?fe:ik[Mw.Oil];ae=pe[pe.length-e.oilMarket],i.oilLeft++,e.oilMarket--}break;case Mw.Garbage:if(ce){var ve=e.garbagePricesNorth;ae=ve[ve.length-e.garbageMarketNorth],i.garbageLeft++,e.garbageMarketNorth--}else{var he,me=null!==(he=e.garbagePrices)&&void 0!==he?he:ik[Mw.Garbage];if(ae=me[me.length-e.garbageMarket],"Central Europe"==e.map.name){var ge=i.cities.filter((function(e){return"Wien"==e.name}));(null===ge||void 0===ge?void 0:ge.length)>0&&ae--}i.garbageLeft++,e.garbageMarket--}break;case Mw.Uranium:var ye,be=null!==(ye=e.uraniumPrices)&&void 0!==ye?ye:ik[Mw.Uranium];ae=be[be.length-e.uraniumMarket],i.uraniumLeft++,e.uraniumMarket--;break}i.money-=ae,e.options.trackTotalSpent&&(i.totalSpentResources+=ae),e.log.push({type:"move",player:t,move:n,simple:"".concat(i.name," buys ").concat(n.data.resource," for $").concat(ae,"."),pretty:"".concat(D_(i)," buys <b>").concat(n.data.resource,'</b> for <span style="color: green">$').concat(ae,"</span>.")});break;case Vw.Build:ak(n);var we=!1;if("Japan"===e.map.name&&!i.usedFreeJump&&i.cities.length>=1)if(1===e.round&&e.map.startingCities){var ke=new Set(e.map.startingCities);ke.has(n.data.name)&&(we=!0)}else n.data.freeJump&&(we=!0);var xe=e.players.filter((function(e){return e.cities.find((function(e){return e.name==n.data.name}))})).length;if(i.cities.push({name:n.data.name,position:xe}),i.money-=n.data.price,e.options.trackTotalSpent){var _e=e.map.cities.find((function(e){return e.name==n.data.name}));_e.singleOccupancy?i.totalSpentConnections+=n.data.price:(i.totalSpentCities+=10+5*xe,i.totalSpentConnections+=n.data.price-(10+5*xe))}e.log.push({type:"move",player:t,move:n,simple:"".concat(i.name," builds on ").concat(n.data.name," for $").concat(n.data.price,"."),pretty:"".concat(D_(i)," builds on <b>").concat(n.data.name,'</b> for <span style="color: green">$').concat(n.data.price,"</span>.")}),we&&(i.usedFreeJump=!0),"India"==e.map.name&&e.citiesBuiltInCurrentRound++,"original"==e.options.variant&&e.actualMarket.length>0&&i.cities.length>=e.actualMarket[0].number&&"China"!=e.map.name&&"Russia"!=e.map.name&&"Baden-Württemberg"!=e.map.name&&(e.actualMarket.shift(),__(e));break;case Vw.UsePowerPlant:ak(n),i.powerPlantsNotUsed=i.powerPlantsNotUsed.filter((function(e){return e!=n.data.powerPlant})),n.data.resourcesSpent.forEach((function(n){switch(n){case Mw.Coal:i.coalLeft--,void 0!==e.coalStorage?e.coalStorage++:e.coalSupply++;break;case Mw.Oil:i.oilLeft--,e.oilSupply++;break;case Mw.Garbage:i.garbageLeft--,e.garbageSupply++;break;case Mw.Uranium:i.uraniumLeft--,e.uraniumSupply++;break}})),i.citiesPowered+=n.data.citiesPowered,e.log.push({type:"move",player:t,move:n,simple:"".concat(i.name," uses Power Plant ").concat(n.data.powerPlant,"."),pretty:"".concat(D_(i)," uses Power Plant <b>").concat(n.data.powerPlant,"</b>.")});break}i.availableMoves=null,i.lastMove=n,e.cardsLeft=e.powerPlantsDeck.length,e.nextCardWeak="recharged"==e.options.variant&&e.cardsLeft>0&&e.powerPlantsDeck[0].number<=15,b_(e,n.time),e.currentPlayers.forEach((function(n){return e.players[n].availableMoves=lk(e,e.players[n])}));var Se=e.log[e.log.length-1];return e.newTurn=!("move"===(null===Se||void 0===Se?void 0:Se.type)&&Se.player===t&&e.currentPlayers.includes(t)&&(null===(o=i.lastMove)||void 0===o?void 0:o.name)!==Vw.Pass),e}function b_(e,n){if(void 0!=n){var t,r=I(e.players);try{for(r.s();!(t=r.n()).done;){var o,i=t.value,a=e.currentPlayers.includes(i.id);if(a||void 0==i.clockStartedAt)a&&void 0==i.clockStartedAt&&(i.clockStartedAt=n);else i.totalTimeUsed=(null!==(o=i.totalTimeUsed)&&void 0!==o?o:0)+Math.max(0,n-i.clockStartedAt),i.clockStartedAt=void 0}}catch(c){r.e(c)}finally{r.f()}}}function w_(e){return e.phase==Iw.GameEnd}function k_(e,n){var t=L_(e),r=Object(Qw["cloneDeep"])(t);if(void 0!=n&&"secret"==e.seed&&e.knownPowerPlantDeck){r.map=e.map,r.powerPlantsDeck=Object(Qw["cloneDeep"])(e.knownPowerPlantDeck);var o=t.actualMarket.length,i=t.futureMarket.length;r.actualMarket=r.powerPlantsDeck.splice(0,o),r.futureMarket=r.powerPlantsDeck.splice(0,i),r.players[r.currentPlayers[0]].availableMoves=lk(r,r.players[r.currentPlayers[0]]),r.powerPlantDeckAfterStep3=Object(Qw["cloneDeep"])(e.knownPowerPlantDeckStep3),r.knownPowerPlantDeck=r.actualMarket.concat(r.futureMarket)}var a,c=null!=n?e.log.slice(0,n):e.log,u=I(c);try{for(u.s();!(a=u.n()).done;){var s=a.value;switch(s.type){case"event":if(s.event.endsWith("was dropped")){var l=+s.event.split(" ")[1];r.players[l].isDropped=!0}break;case"move":y_(r,s.move,s.player);break}}}catch(d){u.e(d)}finally{u.f()}return r}function x_(e){e.coalCapacity=e.oilCapacity=e.garbageCapacity=e.uraniumCapacity=e.hybridCapacity=0,e.powerPlants.forEach((function(n){switch(n.type){case Pw.Coal:e.coalCapacity+=2*n.cost;break;case Pw.Oil:e.oilCapacity+=2*n.cost;break;case Pw.Garbage:n.storage?e.garbageCapacity+=n.storage:e.garbageCapacity+=2*n.cost;break;case Pw.Uranium:e.uraniumCapacity+=2*n.cost;break;case Pw.Hybrid:e.hybridCapacity+=2*n.cost;break}}))}function __(e){"Manhattan"==e.map.name&&0==e.powerPlantsDeck.length&&M_(e);var n=e.powerPlantsDeck.shift();if(n){if(3==e.step?e.knownPowerPlantDeckStep3&&e.knownPowerPlantDeckStep3.push(n):e.knownPowerPlantDeck&&e.knownPowerPlantDeck.push(n),"original"==e.options.variant&&"China"!=e.map.name){var t=Math.max.apply(Math,P(e.players.map((function(e){return e.cities.length}))));while(n.number<=t){var r;if(e.log.push({type:"event",event:"Power plant ".concat(null===(r=n)||void 0===r?void 0:r.number," discarded.")}),!(e.powerPlantsDeck.length>0))break;n=e.powerPlantsDeck.shift(),3==e.step?e.knownPowerPlantDeckStep3&&e.knownPowerPlantDeckStep3.push(n):e.knownPowerPlantDeck&&e.knownPowerPlantDeck.push(n)}}var o=!1;if(99==n.number){if(e.powerPlantDeckAfterStep3?e.powerPlantsDeck=e.powerPlantDeckAfterStep3:"China"==e.map.name?e.step=3:e.powerPlantsDeck=uk(e.powerPlantsDeck,e.seed),e.phase!=Iw.Auction)if("Middle East"==e.map.name&&1==e.step){var i=[].concat(P(e.actualMarket),P(e.futureMarket),[n]);i.sort((function(e,n){return e.number-n.number})),e.actualMarket=i.slice(0,4),e.futureMarket=i.slice(4),I_(e),o=!0}else{"UK & Ireland"==e.map.name&&1==e.step&&(e.log.push({type:"event",event:"Starting Step 2 (Step 3 card drawn before Step 2 threshold)."}),e.step=2);var a=e.actualMarket.shift();e.log.push({type:"event",event:"Step 3 will begin next phase, Power Plant ".concat(null===a||void 0===a?void 0:a.number," discarded.")});var c=[].concat(P(e.actualMarket),P(e.futureMarket));c.sort((function(e,n){return e.number-n.number})),e.actualMarket=c,e.futureMarket=[]}}else{if(e.plantDiscountActive&&n.number<e.actualMarket[0].number)return e.log.push({type:"event",event:"Power Plant ".concat(n.number," drawn from the deck and discarded.")}),e.plantDiscountActive=!1,void __(e);e.log.push({type:"event",event:"Power Plant ".concat(n.number," drawn from the deck.")})}if("China"==e.map.name&&n.type!=Pw.Step3){var u=[].concat(P(e.actualMarket),[n]);u.sort((function(e,n){return e.number-n.number})),e.actualMarket=u}else if(!o){var s=[].concat(P(e.actualMarket),P(e.futureMarket),[n]);s.sort((function(e,n){return e.number-n.number})),0==e.futureMarket.length?"Russia"==e.map.name?(e.actualMarket=s.slice(0,4),e.futureMarket=[]):(e.actualMarket=s.slice(0,6),e.futureMarket=[]):"Russia"==e.map.name?(e.actualMarket=s.slice(0,3),e.futureMarket=s.slice(3)):"Benelux"==e.map.name&&s[4].type==Pw.Wind?(e.actualMarket=s.slice(0,5),e.futureMarket=s.slice(5)):(e.actualMarket=s.slice(0,4),e.futureMarket=s.slice(4)),"Middle East"==e.map.name&&1==e.step&&P_(e)}}}function S_(e){var n,t;null!==(n=e.manhattanRecyclePile)&&void 0!==n||(e.manhattanRecyclePile=[]),null!==(t=e.manhattanDepletion)&&void 0!==t||(e.manhattanDepletion=0);var r=function(){if(0!=e.futureMarket.length)return e.futureMarket.sort((function(e,n){return e.number-n.number})),e.futureMarket.pop()},o=function(n){while(e.actualMarket.length+e.futureMarket.length<n&&e.powerPlantsDeck.length>0){var t=e.powerPlantsDeck.shift();e.knownPowerPlantDeck&&e.knownPowerPlantDeck.push(t),e.log.push({type:"event",event:"Power Plant ".concat(t.number," drawn from the deck.")}),e.futureMarket.push(t)}var r=[].concat(P(e.actualMarket),P(e.futureMarket)).sort((function(e,n){return e.number-n.number}));e.actualMarket=r.slice(0,4),e.futureMarket=r.slice(4)};if(0==e.manhattanDepletion){for(var i=0;i<2;i++){var a=r();if(!a)break;e.manhattanRecyclePile.push(a),e.log.push({type:"event",event:"Setting Power Plant ".concat(a.number," aside on the recycle pile.")})}o(8),0==e.powerPlantsDeck.length&&e.manhattanRecyclePile.length>0&&(e.powerPlantsDeck=uk(e.manhattanRecyclePile,e.seed+":manhattan-depletion-1"),e.manhattanRecyclePile=[],e.manhattanDepletion=1,e.log.push({type:"event",event:"The draw deck is empty — reshuffling the recycle pile into a new deck."}),o(8))}else if(1==e.manhattanDepletion){var c=r();if(c&&(e.powerPlantsDeck.push(c),e.log.push({type:"event",event:"Putting Power Plant ".concat(c.number," on the bottom of the deck.")})),o(8),0==e.powerPlantsDeck.length){e.manhattanDepletion=2;var u=[].concat(P(e.actualMarket),P(e.futureMarket)).sort((function(e,n){return e.number-n.number}));e.actualMarket=u,e.futureMarket=[],e.log.push({type:"event",event:"The deck is empty for the second time — the entire market is now buyable."})}}else{if(e.futureMarket.length>0){var s=[].concat(P(e.actualMarket),P(e.futureMarket)).sort((function(e,n){return e.number-n.number}));e.actualMarket=s,e.futureMarket=[]}if(e.actualMarket.length>0){var l=e.actualMarket.shift();e.log.push({type:"event",event:"Removing the smallest plant, Power Plant ".concat(l.number,", from the game.")})}}}function M_(e){var n,t;if(!("Manhattan"!=e.map.name||e.powerPlantsDeck.length>0))if(null!==(n=e.manhattanRecyclePile)&&void 0!==n||(e.manhattanRecyclePile=[]),null!==(t=e.manhattanDepletion)&&void 0!==t||(e.manhattanDepletion=0),0==e.manhattanDepletion&&e.manhattanRecyclePile.length>0)e.powerPlantsDeck=uk(e.manhattanRecyclePile,e.seed+":manhattan-depletion-1"),e.manhattanRecyclePile=[],e.manhattanDepletion=1,e.log.push({type:"event",event:"The draw deck is empty — reshuffling the recycle pile into a new deck."});else if(1==e.manhattanDepletion){e.manhattanDepletion=2;var r=[].concat(P(e.actualMarket),P(e.futureMarket)).sort((function(e,n){return e.number-n.number}));e.actualMarket=r,e.futureMarket=[],e.log.push({type:"event",event:"The deck is empty for the second time — the entire market is now buyable."})}}function P_(e){var n=e.actualMarket.find((function(e){return e.type==Pw.Garbage||e.type==Pw.Uranium})),t=function(){z_(e,n),[6,11,14].includes(n.number)?e.log.push({type:"event",event:"Removing Power Plant ".concat(n.number," from game.")}):(e.powerPlantsDeck.push(n),e.log.push({type:"event",event:"Sending Power Plant ".concat(n.number," to the bottom of the deck.")}));var t=e.futureMarket.filter((function(e){return e.type!=Pw.Garbage&&e.type!=Pw.Uranium})),r=t.length>0?t[0].number:100;if(0==e.powerPlantsDeck.filter((function(e){return e.type!=Pw.Garbage&&e.type!=Pw.Uranium||e.number>r})).length)return e.log.push({type:"event",event:"No suitable power plants available to draw."}),"break";__(e),n=e.actualMarket.find((function(e){return e.type==Pw.Garbage||e.type==Pw.Uranium}))};while(n){var r=t();if("break"===r)break}}function I_(e){var n=e.futureMarket.pop();e.powerPlantsDeck=uk(e.powerPlantsDeck,e.seed),e.powerPlantsDeck.push(n),__(e),e.log.push({type:"event",event:"Step 2 will begin next phase, discarding two power plants."}),e.step=2;var t=e.actualMarket.shift();t&&(e.log.push({type:"event",event:"Power Plant ".concat(t.number," discarded to start step 2.")}),__(e));var r=e.actualMarket.shift();r&&(e.log.push({type:"event",event:"Power Plant ".concat(r.number," discarded to start step 2.")}),__(e))}function C_(e){if("Australia"===e.map.name&&(!e.coalPrices||3!==e.coalPrices[0])){var n=[3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,9,9,9,10,10,10];e.coalPrices=[].concat(n),e.oilPrices=[].concat(n),e.garbagePrices=[].concat(n),e.log.push({type:"event",event:"CO2 tax (Step 3): the $1 and $2 resource spaces close; the six cheapest tokens of each resource move to the new $9 and $10 spaces."})}}function O_(e){var n=0;2==e.players.length||3==e.players.length?n=1:4==e.players.length||5==e.players.length?n=2:6==e.players.length&&(n=3);for(var t=e.actualMarket.length,r=e.players.length-1,o=Math.max(n,r-t),i=0;i<o;i++){if(3==e.step)break;__(e)}while(2==e.players.length&&e.actualMarket.length<2&&3!=e.step)__(e);if(3==e.step){e.actualMarket=e.actualMarket.filter((function(e){return e.type!=Pw.Step3}));while(e.actualMarket.length>4)e.actualMarket.shift();while(e.actualMarket.length<4&&e.powerPlantsDeck.length>0)__(e)}else{var a=Math.max(2,e.players.length-1);while(e.actualMarket.length>a)e.actualMarket.shift()}}function A_(e,n,t){t==Mw.Coal?(e.coalSupply+=Math.max(0,n.coalLeft-n.coalCapacity),n.coalLeft=Math.min(n.coalLeft,n.coalCapacity)):t==Mw.Oil&&(e.oilSupply+=Math.max(0,n.oilLeft-n.oilCapacity),n.oilLeft=Math.min(n.oilLeft,n.oilCapacity))}function N_(e){e.pendingMarketRefill&&(e.pendingMarketRefill=!1,"China"==e.map.name&&3!=e.step||__(e))}function z_(e,n){e.actualMarket.splice(e.actualMarket.findIndex((function(e){return e.number==n.number})),1)}function j_(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return"India"==n?bk.find((function(n){return n.number==e})):yk.find((function(n){return n.number==e}))}function L_(e){var n=p_(e.players.length,e.options,e.seed);return n.players.forEach((function(n,t){n.name=e.players[t].name,n.isAI=e.players[t].isAI})),n}function D_(e){var n;return'<span style="background-color: '.concat(null!==(n=e.color)&&void 0!==n?n:Cw[e.id],'; font-weight: bold; padding: 0 3px;">').concat(e.name,"</span>")}function R_(e){return Object(Qw["cloneDeep"])(e.players).sort((function(e,n){return e.citiesPowered==n.citiesPowered?e.money==n.money?e.cities.length-n.cities.length:e.money-n.money:e.citiesPowered-n.citiesPowered})).reverse()}function T_(e){e.players.forEach((function(n){n.citiesPowered=B_(e,n)}))}function B_(e,n){for(var t=n.powerPlants.filter((function(n){return!Ow(e,n)})),r=[],o=function(e){var n=[];t.forEach((function(t,r){e&Math.pow(2,r)&&n.push(t)})),r.push(n)},i=0;i<Math.pow(2,t.length);i++)o(i);var a=0;return r.forEach((function(e){if(E_(n,e)){var t=e.map((function(e){return e.citiesPowered})).reduce((function(e,n){return e+n}),0);a=Math.max(a,t)}})),Math.min(n.cities.length,a)}function E_(e,n){var t=n.filter((function(e){return e.type==Pw.Coal})).map((function(e){return e.cost})).reduce((function(e,n){return e+n}),0),r=n.filter((function(e){return e.type==Pw.Oil})).map((function(e){return e.cost})).reduce((function(e,n){return e+n}),0),o=n.filter((function(e){return e.type==Pw.Garbage})).map((function(e){return e.cost})).reduce((function(e,n){return e+n}),0),i=n.filter((function(e){return e.type==Pw.Uranium})).map((function(e){return e.cost})).reduce((function(e,n){return e+n}),0),a=n.filter((function(e){return e.type==Pw.Hybrid})).map((function(e){return e.cost})).reduce((function(e,n){return e+n}),0);return!(t>e.coalLeft||r>e.oilLeft||o>e.garbageLeft||i>e.uraniumLeft)&&!(a>e.coalLeft-t+e.oilLeft-r)}function U_(e){if(("Baden-Württemberg"==e.map.name||1==e.round)&&Z_(e),e.players.forEach((function(e){e.bid=0,e.passed=e.isDropped})),e.players.forEach((function(e){e.skipAuction=!1})),e.discountBonusPlayer=void 0,"recharged"==e.options.variant&&(e.plantDiscountActive?(e.plantDiscountActive=!1,e.actualMarket.length>0&&(e.log.push({type:"event",event:"Discarding Power Plant ".concat(e.actualMarket[0].number,".")}),e.actualMarket.shift(),__(e))):"Benelux"==e.map.name&&(e.discardSmallestPlant=!0)),e.futureMarket.find((function(e){return 99==e.number})))if("Middle East"==e.map.name&&1==e.step)I_(e);else{var n=e.actualMarket.shift();e.futureMarket.pop(),e.log.push({type:"event",event:"Starting Step 3, Power Plant ".concat(null===n||void 0===n?void 0:n.number," discarded.")}),e.step=3,C_(e),e.actualMarket=[].concat(P(e.actualMarket),P(e.futureMarket)),e.futureMarket=[]}e.phase=Iw.Resources,F_(e,e.playerOrder[e.players.length-1])}function G_(e,n,t){n.powerPlants.push(e.chosenPowerPlant),n.money-=t,e.options.trackTotalSpent&&(n.totalSpentPlants+=t),"Manhattan"!=e.map.name||"recharged"!=e.options.variant||1!=e.minimunBid||n.isDropped?(n.skipAuction=!0,e.discountBonusPlayer==n.id&&(e.discountBonusPlayer=void 0)):e.discountBonusPlayer=n.id,x_(n),e.log.push({type:"event",event:"".concat(n.name," wins the bid and pays ").concat(t,"."),pretty:"".concat(D_(n),' wins the bid and pays <span style="color: green">$').concat(t,"</span>.")}),z_(e,e.chosenPowerPlant),e.chosenPowerPlant=e.currentBid=void 0,e.pendingMarketRefill=!0}function Z_(e){e.playerOrder=Object(Qw["cloneDeep"])(e.players).sort((function(e,n){var t=e.cities.length,r=n.cities.length;return t==r?Math.max.apply(Math,P(e.powerPlants.map((function(e){return e.number}))))-Math.max.apply(Math,P(n.powerPlants.map((function(e){return e.number})))):t-r})).map((function(e){return e.id})).reverse()}function F_(e,n){e.currentPlayers=[n],e.players[n].isDropped&&e.players.some((function(e){return!e.isDropped}))&&(e.players[n].passed=!0,K_(e))}function K_(e){e.phase==Iw.Auction?void 0==e.chosenPowerPlant?W_(e):V_(e):$_(e)}function V_(e){var n=e.currentPlayers[0];e.currentPlayers=[(n+1)%e.players.length],e.players[e.currentPlayers[0]].isDropped&&e.players.some((function(e){return!e.isDropped}))&&(e.players[e.currentPlayers[0]].passed=!0,e.players[e.currentPlayers[0]].skipAuction=!0,V_(e)),(e.players[e.currentPlayers[0]].skipAuction||e.players[e.currentPlayers[0]].passed)&&e.players.some((function(e){return!e.skipAuction&&!e.passed&&!e.isDropped}))&&V_(e)}function $_(e){var n=e.playerOrder.indexOf(e.currentPlayers[0]);e.currentPlayers=[e.playerOrder[(n-1+e.players.length)%e.players.length]],e.players[e.currentPlayers[0]].isDropped&&e.players.some((function(e){return!e.isDropped}))&&(e.players[e.currentPlayers[0]].passed=!0,$_(e))}function W_(e){var n,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t)n=e.playerOrder[0];else{var r=e.playerOrder.indexOf(e.currentPlayers[0]);n=e.playerOrder[(r+1)%e.players.length]}e.currentPlayers=[n];var o=e.players[n];o.isDropped&&(o.passed=!0,o.skipAuction=!0),(o.skipAuction||o.passed)&&e.players.some((function(e){return!e.skipAuction&&!e.passed&&!e.isDropped}))&&W_(e)}function Y_(e){if(!e.coalResupply){var n=Tx.find((function(n){return n.name===e.map.name}));null!==n&&void 0!==n&&n.resupply?(e.coalResupply=n.resupply[0],e.oilResupply=n.resupply[1],e.garbageResupply=n.resupply[2],e.uraniumResupply=n.resupply[3]):(e.coalResupply=[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],e.oilResupply=[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],e.garbageResupply=[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],e.uraniumResupply=[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]);var t=e.players.length-2;e.resourceResupply=["[".concat(e.coalResupply[t][0],", ").concat(e.oilResupply[t][0],", ").concat(e.garbageResupply[t][0],", ").concat(e.uraniumResupply[t][0],"]"),"[".concat(e.coalResupply[t][1],", ").concat(e.oilResupply[t][1],", ").concat(e.garbageResupply[t][1],", ").concat(e.uraniumResupply[t][1],"]"),"[".concat(e.coalResupply[t][2],", ").concat(e.oilResupply[t][2],", ").concat(e.garbageResupply[t][2],", ").concat(e.uraniumResupply[t][2],"]")],e.coalResupplyNorth&&e.oilResupplyNorth&&e.garbageResupplyNorth&&(e.resourceResupplyNorth=["[".concat(e.coalResupplyNorth[t][0],", ").concat(e.oilResupplyNorth[t][0],", ").concat(e.garbageResupplyNorth[t][0],"]"),"[".concat(e.coalResupplyNorth[t][1],", ").concat(e.oilResupplyNorth[t][1],", ").concat(e.garbageResupplyNorth[t][1],"]"),"[".concat(e.coalResupplyNorth[t][2],", ").concat(e.oilResupplyNorth[t][2],", ").concat(e.garbageResupplyNorth[t][2],"]")])}}function J_(e,n,t){if(n.bid=t,e.currentPlayers=e.currentPlayers.filter((function(e){return e!==n.id})),0===e.currentPlayers.length){var r;(r=e.log).push.apply(r,P(e.hiddenLog)),e.hiddenLog=[];var o=e.players.map((function(e){return e.bid})).filter((function(e){return e>0})),i=e.minimunBid,a=Math.max.apply(Math,P(o)),c=e.players.filter((function(e){return!e.isDropped&&e.bid===a})),u=c[0].id;if(o.length>1){o.splice(o.indexOf(a),1);var s=Math.max.apply(Math,P(o));if(c.length>1)(function(){var n=e.auctioningPlayer;while(!c.find((function(e){return e.id==n})))n=(n+1)%e.players.length;i=s,u=n})();else{var l=e.auctioningPlayer;i=0;while(0==i)c[0].id==l?i=s:e.players[l].bid==s&&(i=s+1),l=(l+1)%e.players.length}}var d=e.players[u];G_(e,d,i),(Nw(e,d)>4||e.players.length>2&&Nw(e,d)>3)&&!d.isDropped?F_(e,d.id):(N_(e),e.players.some((function(e){return!e.skipAuction&&!e.isDropped}))?(e.players.forEach((function(e){e.bid=0,e.passed=e.isDropped})),W_(e,!0)):U_(e))}}var H_=function(e){T(t,e);var n=Z(t);function t(){var e;return C(this,t),e=n.apply(this,arguments),e.follow=!0,e}return A(t,[{key:"illustratedEntries",get:function(){var e=this;return this.entries.map((function(n){var t,r=[],o=/Power Plant\s+(?:<b>)?(\d+)(?:<\/b>)?/gi,i=0;while(t=o.exec(n)){var a=j_(Number(t[1]),e.mapName);a&&(r.push({html:n.slice(i,t.index)},{plant:a}),i=t.index+t[0].length)}return r.push({html:n.slice(i)}),r}))}},{key:"plantLabel",value:function(e){return"Power plant ".concat(e.number,": ").concat(e.cost?"".concat(e.cost," ").concat(e.type):"no fuel"," → ").concat(e.citiesPowered," cities")}},{key:"mounted",value:function(){var e=this;this.feedObserver=new ResizeObserver((function(){e.follow&&e.scrollToLatest()})),this.feedObserver.observe(this.$refs.feed),this.scrollToLatest()}},{key:"beforeDestroy",value:function(){var e;null===(e=this.feedObserver)||void 0===e||e.disconnect()}},{key:"changed",value:function(){this.follow&&this.$nextTick(this.scrollToLatest)}},{key:"scrollToLatest",value:function(){var e=this.$refs.feed;null!==e&&void 0!==e&&e.clientHeight&&(e.scrollTop=e.scrollHeight)}},{key:"onScroll",value:function(){var e=this.$refs.feed;e.clientHeight&&(this.follow=e.scrollHeight-e.scrollTop-e.clientHeight<32)}}]),t}(Rb.a);Eb([gw({default:function(){return[]}})],H_.prototype,"entries",void 0),Eb([gw({default:""})],H_.prototype,"mapName",void 0),Eb([kw("entries")],H_.prototype,"changed",null),H_=Eb([uw({components:{Card:Hw}})],H_);var q_=H_,X_=q_,Q_=(t("9a1f"),Gw(X_,Ub,Gb,!1,null,"2f8b51a2",null)),eS=Q_.exports,nS=t("bcba");function tS(e){return!!e&&!1===e.newTurn}function rS(e,n){return!!n&&e.name===n.name&&e.time===n.time&&Object(nS["isEqual"])(e.data,n.data)}function oS(e,n,t,r){if(!n)return!1;var o=n.log.length;return e.log.length===o+t.length&&e.log.slice(o).every((function(e,n){return"move"===e.type&&e.player===r&&rS(e.move,t[n])}))}function iS(e,n,t,r){if(!n||e.log.length<n.length)return[];var o=e.log.slice(n.length).filter((function(e){return"move"===e.type&&e.player===r})).map((function(e){return e.move}));if(!o.every((function(e,n){return rS(e,t[n])})))return[];var i=t.slice(o.length);return i.length>0&&(void 0===r||!e.currentPlayers.includes(r))?[]:i}function aS(e,n,t){var r,o,i=JSON.parse(JSON.stringify(e)),a=[],c=I(n);try{for(c.s();!(o=c.n()).done;){var u=o.value;try{i=y_(i,u,t)}catch(s){console.error("dropping turn-buffer tail no longer legal on the committed state",u,s),r=s;break}a.push(u)}}catch(s){c.e(s)}finally{c.f()}return{state:i,applied:a,failure:r}}function cS(e){if(!e)return!1;var n=e;return"AssertionError"===n.name||"ERR_ASSERTION"===n.code}function uS(e){return"".concat(e.resource,"|").concat(e.side||"","|").concat(e.fromStorage?"storage":"")}function sS(e,n){var t=e.data;return e.name===Vw.BuyResource&&!!t&&t.resource===n.resource&&(t.side||"")===(n.side||"")&&!!t.fromStorage===!!n.fromStorage}function lS(e){var n,t={},r=I(e);try{for(r.s();!(n=r.n()).done;){var o=n.value;if(o.name===Vw.BuyResource&&o.data){var i=uS(o.data);t[i]=(t[i]||0)+1}}}catch(a){r.e(a)}finally{r.f()}return t}function dS(e,n){for(var t=e.length-1;t>=0;t--)if(sS(e[t],n))return t;return-1}var fS=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:[{canClick:e.canClick}],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+") scale("+e.scale+")",opacity:e.pieceOpacity},on:{click:function(n){e.canClick&&e.$emit("click")}}},[t("path",{attrs:{d:"M136.8 21.2L43.1001 48.9L43.2001 167.2L135.2 210.3L228.8 174V55.7L136.8 21.2Z",fill:"#5a2d0c",stroke:"black","stroke-width":"20","stroke-miterlimit":"10"}}),t("path",{attrs:{d:"M135.2 210.3L43.2001 167.2L43.1001 48.8999L135.1 83.4999L135.2 210.3Z",fill:"#70380f"}}),t("path",{attrs:{d:"M135.1 83.5L43.1001 48.9L136.8 21.2L228.8 55.7L135.1 83.5Z",fill:"#8b4513"}}),t("path",{attrs:{d:"M228.8 55.7V174L135.2 210.3L135.1 83.5L228.8 55.7Z",fill:"#5a2d0c"}}),t("title",[e._v("Coal")])])},pS=[],vS=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(ew(Fw));Eb([gw()],vS.prototype,"canClick",void 0),Eb([gw({default:.08})],vS.prototype,"scale",void 0),vS=Eb([uw({created:function(){this.pieceType=xw.Coal}})],vS);var hS=vS,mS=hS,gS=Gw(mS,fS,pS,!1,null,null,null),yS=gS.exports,bS=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:[{canClick:e.canClick}],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+") scale("+e.scale+")",opacity:e.pieceOpacity},on:{click:function(n){e.canClick&&e.$emit("click")}}},[t("path",{attrs:{d:"M2,5 A9,5,0 0,1 18,5 L18,15 A9,5 0 0,1 2,15Z",fill:"none",stroke:"black","stroke-miterlimit":"0"}}),t("path",{attrs:{d:"M2,5 A9,5 0 0,0 18,5 A9,5 0 0,0 2,5",fill:"#FF0"}}),t("path",{attrs:{d:"M2,5 A9,5 0 0,0 2,5 L2,15 A9,5,0 0,0 18,15 L18,5 A9,5 0 0,1 2,5",fill:"url(#garbage-linear)"}}),t("title",[e._v("Garbage")]),t("defs",[t("linearGradient",{attrs:{id:"garbage-linear",x1:"0",y1:"10",x2:"20",y2:"10",gradientUnits:"userSpaceOnUse"}},[t("stop",{attrs:{"stop-color":"#DD0"}}),t("stop",{attrs:{offset:"1","stop-color":"#AA0"}})],1)],1)])},wS=[],kS=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(ew(Fw));Eb([gw()],kS.prototype,"canClick",void 0),Eb([gw({default:1})],kS.prototype,"scale",void 0),kS=Eb([uw({created:function(){this.pieceType=xw.Garbage}})],kS);var xS=kS,_S=xS,SS=Gw(_S,bS,wS,!1,null,null,null),MS=SS.exports,PS=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:["piece"],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+") scale("+e.scale+")"}},[t("path",{attrs:{d:"M187.698 263.636V456.017L3 341.204V169.522L80.8579 108.141L187.698 263.636Z",fill:e.color,stroke:"#010101","stroke-width":"12","stroke-miterlimit":"10"}}),t("path",{attrs:{d:"M395.724 136.361V300.164L187.698 456.017V263.636L395.724 136.361Z",fill:e.color,stroke:"#010101","stroke-width":"12","stroke-miterlimit":"10"}}),t("path",{attrs:{d:"M395.724 136.361L187.698 263.636L80.8579 108.141L304.771 4L395.724 136.361Z",fill:e.color,stroke:"#010101","stroke-width":"12","stroke-miterlimit":"10"}}),t("title",[e._v(e._s(e.ownerName)+"'s House")])])},IS=[],CS=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(ew(Fw));Eb([vw()],CS.prototype,"player",void 0),Eb([gw()],CS.prototype,"color",void 0),Eb([gw({default:.035})],CS.prototype,"scale",void 0),Eb([gw()],CS.prototype,"owner",void 0),Eb([gw()],CS.prototype,"ownerName",void 0),CS=Eb([uw({created:function(){this.pieceType=xw.House}})],CS);var OS=CS,AS=OS,NS=Gw(AS,PS,IS,!1,null,null,null),zS=NS.exports,jS=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:["piece"],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+")"}},[t("g",{attrs:{transform:"scale(0.08)"}},[t("path",{attrs:{d:"M136.8 21.2L43.1001 48.9L43.2001 167.2L135.2 210.3L228.8 174V55.7L136.8 21.2Z",fill:"#5a2d0c",stroke:"black","stroke-width":"20","stroke-miterlimit":"10"}}),t("path",{attrs:{d:"M135.2 210.3L43.2001 167.2L43.1001 48.8999L135.1 83.4999L135.2 210.3Z",fill:"#70380f"}}),t("path",{attrs:{d:"M135.1 83.5L43.1001 48.9L136.8 21.2L228.8 55.7L135.1 83.5Z",fill:"#8b4513"}}),t("path",{attrs:{d:"M228.8 55.7V174L135.2 210.3L135.1 83.5L228.8 55.7Z",fill:"#5a2d0c"}})]),t("g",{attrs:{transform:"translate(5, 0)"}},[t("path",{attrs:{d:"M6,4 A6,4,0 0,1 14,4 L14,16 A6,4 0 0,1 6,16Z",fill:"none",stroke:"black"}}),t("path",{attrs:{d:"M6,4 A6,4 0 0,0 14,4 A6,4 0 0,0 6,4",fill:"#556"}}),t("path",{attrs:{d:"M6,4 A6,4 0 0,0 6,4 L6,16 A6,4,0 0,0 14,16 L14,4 A6,4 0 0,1 6,4",fill:"url(#oil-linear)"}})]),t("title",[e._v("Coal/Oil")])])},LS=[],DS=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(ew(Fw));DS=Eb([uw({created:function(){this.pieceType=xw.Hybrid}})],DS);var RS=DS,TS=RS,BS=Gw(TS,jS,LS,!1,null,null,null),ES=(BS.exports,function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:[{canClick:e.canClick}],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+") scale("+e.scale+")",opacity:e.pieceOpacity},on:{click:function(n){e.canClick&&e.$emit("click")}}},[t("path",{attrs:{d:"M6,4 A6,4,0 0,1 14,4 L14,16 A6,4 0 0,1 6,16Z",fill:"none",stroke:"black"}}),t("path",{attrs:{d:"M6,4 A6,4 0 0,0 14,4 A6,4 0 0,0 6,4",fill:"#556"}}),t("path",{attrs:{d:"M6,4 A6,4 0 0,0 6,4 L6,16 A6,4,0 0,0 14,16 L14,4 A6,4 0 0,1 6,4",fill:"url(#oil-linear)"}}),t("title",[e._v("Oil")]),t("defs",[t("linearGradient",{attrs:{id:"oil-linear",x1:"0",y1:"10",x2:"20",y2:"10",gradientUnits:"userSpaceOnUse"}},[t("stop",{attrs:{"stop-color":"#445"}}),t("stop",{attrs:{offset:"1","stop-color":"#223"}})],1)],1)])}),US=[],GS=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(ew(Fw));Eb([gw()],GS.prototype,"canClick",void 0),Eb([gw({default:1})],GS.prototype,"scale",void 0),GS=Eb([uw({created:function(){this.pieceType=xw.Oil}})],GS);var ZS=GS,FS=ZS,KS=Gw(FS,ES,US,!1,null,null,null),VS=KS.exports,$S=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:[{canClick:e.canClick}],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+")",opacity:e.pieceOpacity},on:{click:function(n){e.canClick&&e.$emit("click")}}},[t("path",{attrs:{d:"M3,3 l4,-2 l6,0 l4,2 l0,11 l-4,2 l-6,0 l-4,-2Z",fill:"#F00",stroke:"black"}}),t("path",{attrs:{d:"M3,3 l4,-2 l6,0 l4,2 l0,2.1 l-4,2 l-6,0 l-4,-2 l0,-2.1",fill:"#F00"}}),t("path",{attrs:{d:"M3,5 l0,9 l4.1,2 l0,-9 l-4.1,-2",fill:"#e60000"}}),t("path",{attrs:{d:"M7,7 l6.1,0 l0,9 l-6.1,0 l0,-9",fill:"#cc0000"}}),t("path",{attrs:{d:"M13,7 l4.1,-2 l0,9 l-4.1,2 l0,-9",fill:"#b30000"}}),t("title",[e._v("Uranium")])])},WS=[],YS=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(ew(Fw));Eb([gw()],YS.prototype,"canClick",void 0),YS=Eb([uw({created:function(){this.pieceType=xw.Uranium}})],YS);var JS=YS,HS=JS,qS=Gw(HS,$S,WS,!1,null,null,null),XS=qS.exports,QS=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:["button",{enabled:e.enabled}],on:{click:function(n){e.enabled&&e.$emit("click")}}},[t("rect",{attrs:{width:e.width,height:"30",fill:"gainsboro",stroke:"black",rx:"2"}}),t("text",{attrs:{"text-anchor":"middle",fill:"black",x:e.width/2,y:"16"}},[e._v(e._s(e.getText()))]),t("title",[e._v(e._s(e.text))])])},eM=[],nM=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return A(t,[{key:"getText",value:function(){var e;return this.text.length>15?null===(e=this.text)||void 0===e?void 0:e.substring(0,12).concat("..."):this.text}}]),t}(Rb.a);Eb([gw()],nM.prototype,"text",void 0),Eb([gw()],nM.prototype,"width",void 0),Eb([gw({default:!0})],nM.prototype,"enabled",void 0),nM=Eb([uw],nM);var tM=nM,rM=tM,oM=Gw(rM,QS,eM,!1,null,null,null),iM=oM.exports,aM=function(){var e=this,n=e.$createElement,r=e._self._c||n;return r("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("click")}}},[r("circle",{attrs:{cx:"15",cy:"15",r:"15",fill:"gainsboro",stroke:"black","stroke-width":"2px"}}),r("image",{attrs:{x:"5",y:"5",width:"20",height:"20",href:t("997e")}}),e.isOn?e._e():r("line",{attrs:{x1:"5",y1:"25",x2:"25",y2:"5",stroke:"black","stroke-width":"3px","stroke-linecap":"round"}}),e.isOn?r("title",[e._v("Help off")]):r("title",[e._v("Help on")])])},cM=[],uM=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(Rb.a);Eb([gw()],uM.prototype,"isOn",void 0),uM=Eb([uw],uM);var sM=uM,lM=sM,dM=Gw(lM,aM,cM,!1,null,null,null),fM=dM.exports,pM=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("click")}}},[t("circle",{attrs:{cx:"15",cy:"15",r:"15",fill:"gainsboro",stroke:"black","stroke-width":"2px"}}),e.isOn?[t("rect",{attrs:{x:"6",y:"7",width:"18",height:"4",rx:"1",fill:"black"}}),t("rect",{attrs:{x:"6",y:"13",width:"18",height:"4",rx:"1",fill:"black"}}),t("rect",{attrs:{x:"6",y:"19",width:"18",height:"4",rx:"1",fill:"black"}})]:[t("rect",{attrs:{x:"6",y:"7",width:"10",height:"16",rx:"1",fill:"black"}}),t("rect",{attrs:{x:"18",y:"7",width:"6",height:"7",rx:"1",fill:"black"}}),t("rect",{attrs:{x:"18",y:"16",width:"6",height:"7",rx:"1",fill:"black"}})],e.isOn?t("title",[e._v("Switch to the full board layout")]):t("title",[e._v("Stack the board into rows")])],2)},vM=[],hM=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(Rb.a);Eb([gw()],hM.prototype,"isOn",void 0),hM=Eb([uw],hM);var mM=hM,gM=mM,yM=Gw(gM,pM,vM,!1,null,null,null),bM=yM.exports,wM=function(){var e=this,n=e.$createElement,r=e._self._c||n;return r("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("click")}}},[r("rect",{attrs:{width:"80",height:"26",fill:"gainsboro",stroke:"black",rx:"2"}}),r("image",{attrs:{x:"11",y:"5",width:"16",height:"16",href:t("b67b")}}),r("text",{attrs:{"text-anchor":"middle",fill:"black",x:"47",y:"13"}},[e._v("Log")]),r("title",[e._v("Show log")])])},kM=[],xM=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(Rb.a);xM=Eb([uw],xM);var _M=xM,SM=_M,MM=Gw(SM,wM,kM,!1,null,null,null),PM=MM.exports,IM=function(){var e=this,n=e.$createElement,r=e._self._c||n;return r("g",{class:["button",{enabled:e.enabled,highlightButton:e.highlightButton}],on:{click:function(n){e.enabled&&e.$emit("click")}}},[r("rect",{attrs:{width:"80",height:"26",fill:"gainsboro",stroke:"black",rx:"2"}}),r("image",{attrs:{x:"15",y:"8",width:"10",height:"10",href:t("fd65")}}),r("text",{attrs:{"text-anchor":"middle",fill:"black",x:"47",y:"13"}},[e._v(e._s(e.text))]),r("title",[e._v("Pass turn")])])},CM=[],OM=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(Rb.a);Eb([gw()],OM.prototype,"enabled",void 0),Eb([gw()],OM.prototype,"highlightButton",void 0),Eb([gw()],OM.prototype,"text",void 0),OM=Eb([uw],OM);var AM=OM,NM=AM,zM=Gw(NM,IM,CM,!1,null,null,null),jM=zM.exports,LM=function(){var e=this,n=e.$createElement,r=e._self._c||n;return r("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("click")}}},[r("circle",{attrs:{cx:"15",cy:"15",r:"15",fill:"gainsboro",stroke:"black","stroke-width":"2px"}}),e.isOn?r("image",{attrs:{x:"5",y:"5",width:"20",height:"20",href:t("9fd9")}}):r("image",{attrs:{x:"5",y:"5",width:"20",height:"20",href:t("2044")}}),e.isOn?r("title",[e._v("Sound off")]):r("title",[e._v("Sound on")])])},DM=[],RM=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(Rb.a);Eb([gw()],RM.prototype,"isOn",void 0),RM=Eb([uw],RM);var TM=RM,BM=TM,EM=Gw(BM,LM,DM,!1,null,null,null),UM=EM.exports,GM=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{staticClass:"resourceView"},[t("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("select",!1)}}},[t("rect",{attrs:{x:"0",y:"0",width:"306",height:"72",rx:"6",fill:e.showTrack?"gainsboro":"#333",stroke:"black","stroke-width":"3"}}),t("text",{staticStyle:{"font-size":"30px"},attrs:{x:"153",y:"47","text-anchor":"middle","font-weight":"700",fill:e.showTrack?"black":"white"}},[e._v(" Buy boxes ")]),t("title",[e._v("One box per buyable source: the price you pay, and the whole box is the tap target")])]),t("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("select",!0)}}},[t("rect",{attrs:{x:"314",y:"0",width:"306",height:"72",rx:"6",fill:e.showTrack?"#333":"gainsboro",stroke:"black","stroke-width":"3"}}),t("text",{staticStyle:{"font-size":"30px"},attrs:{x:"467",y:"47","text-anchor":"middle","font-weight":"700",fill:e.showTrack?"white":"black"}},[e._v(" Price track ")]),t("title",[e._v("The printed market board, so the whole price track is visible at once")])])])},ZM=[],FM=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(Rb.a);Eb([gw()],FM.prototype,"showTrack",void 0),FM=Eb([uw],FM);var KM=FM,VM=KM,$M=Gw(VM,GM,ZM,!1,null,null,null),WM=$M.exports,YM=function(){var e=this,n=e.$createElement,r=e._self._c||n;return r("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("click")}}},[r("circle",{attrs:{cx:"15",cy:"15",r:"15",fill:"gainsboro",stroke:"black","stroke-width":"2px"}}),r("image",{attrs:{x:"5",y:"5",width:"20",height:"20",href:t("b85b")}}),r("title",[e._v("Rules")])])},JM=[],HM=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(Rb.a);HM=Eb([uw],HM);var qM=HM,XM=qM,QM=Gw(XM,YM,JM,!1,null,null,null),eP=QM.exports,nP=function(){var e=this,n=e.$createElement,r=e._self._c||n;return r("g",{class:["button",{enabled:e.enabled,highlightButton:e.highlightButton}],on:{click:function(n){e.enabled&&e.$emit("click")}}},[r("rect",{attrs:{width:"80",height:"26",fill:"gainsboro",stroke:"black",rx:"2"}}),r("image",{attrs:{x:"11",y:"4",width:"16",height:"16",href:t("92cf")}}),r("text",{attrs:{"text-anchor":"middle",fill:"black",x:"47",y:"13"}},[e._v("Undo")]),r("title",[e._v("Undo last move")])])},tP=[],rP=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(Rb.a);Eb([gw()],rP.prototype,"enabled",void 0),Eb([gw()],rP.prototype,"highlightButton",void 0),rP=Eb([uw],rP);var oP=rP,iP=oP,aP=Gw(iP,nP,tP,!1,null,null,null),cP=aP.exports,uP=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{staticClass:"player-board"},[t("rect",{attrs:{width:"350",height:"100",x:"0",y:"0",fill:"gold",stroke:e.color}}),t("rect",{attrs:{width:"350",height:"25",x:"0",y:"0",fill:e.color}}),t("foreignObject",{attrs:{height:"30",width:"30",x:"-30",y:"-5"}},[t("img",{staticStyle:{"border-radius":"50%"},attrs:{src:e.avatar||"https://avatars.dicebear.com/api/pixel-art/"+e.player.name+".svg",width:"100%",height:"100%"}})]),t("text",{attrs:{x:"5",y:"13","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.getPlayerName())+" ")]),e.showMoney?t("text",{attrs:{x:"250",y:"13","font-weight":"600",fill:"black"}},[e._v("Money: $"+e._s(e.player.money))]):e._e(),e._l(e.player.powerPlants,(function(n,r){return t("Card",{key:"powerPlant_"+n.number,attrs:{targetState:{x:e.cardX(r),y:30},owner:e.owner,powerPlant:n,canClick:e.canUse(n)},on:{click:function(t){return e.powerPlantClick(n)}}})})),e._l(e.player.powerPlants,(function(n,r){return[e.isMine(n)?t("g",{key:"mine_"+n.number},[t("rect",{attrs:{x:e.cardX(r),y:"30",width:"60",height:"40",fill:"none",stroke:"#2e8b3d","stroke-width":"3px",rx:"3px"}}),t("circle",{attrs:{cx:e.cardX(r)+51,cy:"37",r:"8",fill:"#46c655",stroke:"#1f5c25","stroke-width":"1.5"}}),t("text",{staticStyle:{"font-size":"9px","font-weight":"700"},attrs:{x:e.cardX(r)+51,y:"40","text-anchor":"middle",fill:"white"}},[e._v(" U ")])]):e._e()]})),e.preferences.disableHelp?e._e():[e._l(e.player.powerPlants,(function(n,r){return[e.canUse(n)?t("rect",{key:r+"_"+r+"_helper",attrs:{x:e.cardX(r),y:30,width:"60",height:"40",fill:"none",stroke:"blue","stroke-width":"4px",rx:"2px"}}):e._e()]}))],e.canClickResources?t("g",[t("rect",{attrs:{width:"30",height:"30",x:"0",y:"71",fill:"none",stroke:"blue","stroke-width":"2px",rx:"2px"}}),t("rect",{attrs:{width:"30",height:"30",x:"70",y:"71",fill:"none",stroke:"blue","stroke-width":"2px",rx:"2px"}})]):e._e(),t("Coal",{attrs:{pieceId:"Coal"+e.player.id,targetState:{x:5,y:76},canClick:e.canClickResources},on:{click:function(n){return e.clickResource("coal")}}}),t("text",{attrs:{"text-anchor":"middle",x:"40",y:"85",fill:"black"}},[e._v(e._s(e.player.coalLeft))]),t("Oil",{attrs:{pieceId:"Oil"+e.player.id,targetState:{x:75,y:76},canClick:e.canClickResources},on:{click:function(n){return e.clickResource("oil")}}}),t("text",{attrs:{"text-anchor":"middle",x:"110",y:"85",fill:"black"}},[e._v(e._s(e.player.oilLeft))]),t("Garbage",{attrs:{pieceId:"Garbage"+e.player.id,targetState:{x:145,y:76}}}),t("text",{attrs:{"text-anchor":"middle",x:"180",y:"85",fill:"black"}},[e._v(e._s(e.player.garbageLeft))]),t("Uranium",{attrs:{pieceId:"Uranium"+e.player.id,targetState:{x:215,y:76}}}),t("text",{attrs:{"text-anchor":"middle",x:"250",y:"85",fill:"black"}},[e._v(e._s(e.player.uraniumLeft))]),t("text",{staticStyle:{"font-size":"13px"},attrs:{"text-anchor":"end",x:"345",y:"85",fill:"black","font-weight":e.isCurrentPlayer?700:400}},[e._v(" "+e._s(e.timeUsed)+" ")])],2)},sP=[];function lP(e){if(!e||e<0)return"0s";var n=Math.floor(e/1e3),t=Math.floor(n/60),r=Math.floor(t/60),o=Math.floor(r/24);return o>0?"".concat(o,"d ").concat(r%24,"h"):r>0?"".concat(r,"h ").concat(t%60,"m"):t>0?"".concat(t,"m ").concat(n%60,"s"):"".concat(n,"s")}var dP=function(e){T(t,e);var n=Z(t);function t(){var e;return C(this,t),e=n.apply(this,arguments),e.now=Date.now(),e}return A(t,[{key:"mounted",value:function(){var e=this;this.clockTimer=window.setInterval((function(){return e.now=Date.now()}),1e3)}},{key:"beforeDestroy",value:function(){void 0!=this.clockTimer&&window.clearInterval(this.clockTimer)}},{key:"timeUsed",get:function(){return lP(Aw(this.player,this.now))}},{key:"cardX",value:function(e){var n=this.player.powerPlants.length;return n<5?20+80*e:5+Math.min(70,280/(n-1))*e}},{key:"isMine",value:function(e){return!0===this.isAustralia&&e.type===Pw.Uranium}},{key:"getPlayerName",value:function(){var e="";if(this.isCurrentPlayer&&(e+="• "),e+=this.player.name,this.ended)switch(this.ranking){case 1:e+=" (1st)";break;case 2:e+=" (2nd)";break;case 3:e+=" (3rd)";break;case 4:case 5:case 6:e+=" (".concat(this.ranking,"th)");break}else this.player.skipAuction?e+=" (Skipping)":this.player.passed?e+=" (Passed)":this.player.bid&&!this.isCurrentPlayer&&this.showBid&&(e+=" (Bid: $"+this.player.bid+")");return e}},{key:"canUse",value:function(e){var n,t;if(!this.isCurrentPlayer)return!1;if(null!==(n=this.player.availableMoves)&&void 0!==n&&n[Vw.DiscardPowerPlant])return e.number!==this.player.powerPlants[this.player.powerPlants.length-1].number;if(null===(t=this.player.availableMoves)||void 0===t||!t[Vw.UsePowerPlant])return!1;if(!this.player.powerPlantsNotUsed.includes(e.number)||this.player.resourcesUsed.length>0)return!1;switch(e.type){case Pw.Coal:return this.player.coalLeft>=e.cost;case Pw.Oil:return this.player.oilLeft>=e.cost;case Pw.Garbage:return this.player.garbageLeft>=e.cost;case Pw.Uranium:return this.player.uraniumLeft>=e.cost;case Pw.Hybrid:return this.player.coalLeft+this.player.oilLeft>=e.cost;case Pw.Wind:case Pw.Nuclear:return this.player.coalLeft+this.player.oilLeft>=e.cost}}},{key:"powerPlantClick",value:function(e){this.phase==Iw.Bureaucracy&&e.type==Pw.Hybrid?0==this.player.coalLeft||0==this.player.oilLeft||this.player.coalLeft+this.player.oilLeft==e.cost?(this.player.resourcesUsed=Array(Math.min(e.cost,this.player.coalLeft)).fill(Mw.Coal).concat(Array(e.cost-Math.min(e.cost,this.player.coalLeft)).fill(Mw.Oil)),this.$emit("powerPlantClick",e)):(this.powerPlantClicked=e,this.player.resourcesUsed=Array(e.cost).fill(null)):this.$emit("powerPlantClick",e)}},{key:"canClickResources",get:function(){return this.player.availableMoves&&this.player.availableMoves["DiscardResources"]||this.player.resourcesUsed.some((function(e){return null==e}))}},{key:"clickResource",value:function(e){if(this.player.availableMoves&&this.player.availableMoves["DiscardResources"])this.$emit("discardResource",e);else if(this.player.resourcesUsed.some((function(e){return null==e}))){var n=this.player.resourcesUsed.findIndex((function(e){return null==e}));this.player.resourcesUsed[n]=e,"coal"==e?this.player.coalLeft--:"oil"==e&&this.player.oilLeft--,this.player.resourcesUsed.some((function(e){return null==e}))||this.$emit("powerPlantClick",this.powerPlantClicked)}}}]),t}(Rb.a);Eb([gw()],dP.prototype,"color",void 0),Eb([gw()],dP.prototype,"avatar",void 0),Eb([gw()],dP.prototype,"player",void 0),Eb([gw()],dP.prototype,"isCurrentPlayer",void 0),Eb([gw()],dP.prototype,"owner",void 0),Eb([gw()],dP.prototype,"ended",void 0),Eb([gw()],dP.prototype,"isPlayer",void 0),Eb([gw()],dP.prototype,"ranking",void 0),Eb([gw()],dP.prototype,"showMoney",void 0),Eb([gw()],dP.prototype,"showBid",void 0),Eb([gw()],dP.prototype,"phase",void 0),Eb([gw()],dP.prototype,"isAustralia",void 0),Eb([sw()],dP.prototype,"preferences",void 0),dP=Eb([uw({components:{Coal:yS,Oil:VS,Garbage:MS,Uranium:XS,Card:Hw}})],dP);var fP=dP,pP=fP,vP=Gw(pP,uP,sP,!1,null,null,null),hP=vP.exports,mP=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{staticClass:"calculator"},[t("rect",{attrs:{width:"125",height:"50",rx:"4"}}),t("rect",{attrs:{x:"10",y:"10",width:"30",height:"30",fill:"lime",rx:"2"}}),t("text",{staticClass:"visor",attrs:{x:"25",y:"25",fill:"black","text-anchor":"middle"}},[e._v(e._s(e.value))]),t("g",{style:e.value<e.maxValue?"cursor: pointer":"",on:{click:function(n){return e.add()}}},[t("rect",{attrs:{x:"48",y:"7",width:"24",height:"15",fill:"gray",stroke:"gray",rx:"2"}}),t("path",{attrs:{d:"M52,17 l8,-6 l8,6",fill:"none",stroke:"white","stroke-width":"3"}})]),t("g",{style:e.value>e.minValue?"cursor: pointer":"",on:{click:function(n){return e.sub()}}},[t("rect",{attrs:{x:"48",y:"28",width:"24",height:"15",fill:"gray",stroke:"gray",rx:"2"}}),t("path",{attrs:{d:"M52,32 l8,6 l8,-6",fill:"none",stroke:"white","stroke-width":"3"}})]),t("g",{staticStyle:{cursor:"pointer"},on:{click:function(n){return e.bid()}}},[t("rect",{staticClass:"button",attrs:{x:"80",y:"7",width:"36",height:"36",fill:"gray",rx:"2"}}),t("text",{attrs:{x:"97",y:"25",fill:"white","text-anchor":"middle"}},[e._v("OK")])])])},gP=[],yP=function(e){T(t,e);var n=Z(t);function t(){var e;return C(this,t),e=n.apply(this,arguments),e.value=0,e}return A(t,[{key:"onMinValueChanged",value:function(){this.value=Math.max(this.value,this.minValue)}},{key:"add",value:function(){this.value=Math.min(this.maxValue,this.value+1)}},{key:"sub",value:function(){this.value=Math.max(this.minValue,this.value-1)}},{key:"bid",value:function(){this.$emit("bid",this.value)}}]),t}(Rb.a);Eb([gw()],yP.prototype,"minValue",void 0),Eb([gw()],yP.prototype,"maxValue",void 0),Eb([kw("minValue")],yP.prototype,"onMinValueChanged",null),yP=Eb([uw({created:function(){this.value=this.minValue}})],yP);var bP=yP,wP=bP,kP=(t("85cf"),Gw(wP,mP,gP,!1,null,null,null)),xP=kP.exports,_P=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",[t("text",{attrs:{x:"165",y:"14","font-weight":"600",fill:"black"}},[e._v("Actual Market:")]),e._l(e.actualMarketCards,(function(n,r){return[t("Card",{key:n.id,attrs:{targetState:{x:n.x,y:n.y},powerPlant:n.powerPlant,canClick:e.chooseablePowerPlants&&e.chooseablePowerPlants.includes(n.powerPlant.number),hasDiscount:e.plantDiscountActive&&0==r},on:{click:function(t){return e.choosePowerPlant(n.powerPlant)}}})]})),e.futureMarketCards.length>0?[t("text",{attrs:{x:"165",y:"80","font-weight":"600",fill:"black"}},[e._v("Future Market:")]),e._l(e.futureMarketCards,(function(e){return[t("Card",{key:e.id,attrs:{targetState:{x:e.x,y:e.y},powerPlant:e.powerPlant}})]}))]:e._e(),e.chosenPowerPlant?[t("text",{attrs:{x:e.actualMarketWidth,y:"14","font-weight":"600",fill:"black"}},[e._v("Current Auction:")]),t("Card",{key:e.chosenPowerPlant.id,attrs:{targetState:{x:e.chosenPowerPlant.x,y:e.chosenPowerPlant.y},powerPlant:e.chosenPowerPlant.powerPlant}}),e.canBid?t("Calculator",{key:"calc"+e.chosenPowerPlant.powerPlant.number,attrs:{transform:"translate("+e.actualMarketWidth+", 80)",minValue:e.minBid,maxValue:e.maxBid},on:{bid:function(n){return e.bid(n)}}}):e._e()]:e._e(),e.preferences.disableHelp?e._e():[e.canChoose?t("g",[e.futureMarketCards.length>0?t("rect",{attrs:{x:"160",y:"5",width:65*e.actualMarketCards.length+5,height:"65",fill:"none",stroke:"blue","stroke-width":"2px",rx:"2px"}}):t("rect",{attrs:{x:"160",y:"5",width:e.actualMarketHighlightWidth,height:"120",fill:"none",stroke:"blue","stroke-width":"2px",rx:"2px"}})]):e._e()]],2)},SP=[],MP=function(e){T(t,e);var n=Z(t);function t(){var e;return C(this,t),e=n.apply(this,arguments),e.actualMarketCards=[],e.futureMarketCards=[],e.chosenPowerPlant=null,e.actualMarketWidth=430,e.actualMarketHighlightWidth=200,e}return A(t,[{key:"createPieces",value:function(e){var n,t=this;this.actualMarketWidth=null!==(n=e.map.actualMarketWidth)&&void 0!==n?n:430,this.actualMarketCards=[];var r=e.actualMarket.length>6?4:3;this.actualMarketHighlightWidth=65*Math.min(e.actualMarket.length,r)+5,e.actualMarket.forEach((function(n,o){var i,a;e.futureMarket.length>0?n.number!=(null===(i=e.chosenPowerPlant)||void 0===i?void 0:i.number)&&t.actualMarketCards.push({id:"actual_"+o,x:165+65*o,y:24,powerPlant:n}):n.number!=(null===(a=e.chosenPowerPlant)||void 0===a?void 0:a.number)&&t.actualMarketCards.push({id:"actual_"+o,x:165+o%r*65,y:24+56*Math.floor(o/r),powerPlant:n})})),this.futureMarketCards=[],e.futureMarket.forEach((function(n,r){var o;n.number!=(null===(o=e.chosenPowerPlant)||void 0===o?void 0:o.number)&&t.futureMarketCards.push({id:"future_"+r,x:165+r%4*65,y:90+50*Math.floor(r/4),powerPlant:n})})),e.chosenPowerPlant?this.chosenPowerPlant={id:"chosen",x:this.actualMarketWidth+30,y:30,powerPlant:e.chosenPowerPlant}:this.chosenPowerPlant=null}},{key:"choosePowerPlant",value:function(e){this.$emit("choosePowerPlant",e)}},{key:"bid",value:function(e){this.$emit("bid",e)}}]),t}(Rb.a);Eb([gw()],MP.prototype,"cardsLeft",void 0),Eb([gw()],MP.prototype,"nextCardWeak",void 0),Eb([gw()],MP.prototype,"plantDiscountActive",void 0),Eb([gw()],MP.prototype,"canBid",void 0),Eb([gw()],MP.prototype,"canChoose",void 0),Eb([gw()],MP.prototype,"chooseablePowerPlants",void 0),Eb([gw()],MP.prototype,"minBid",void 0),Eb([gw()],MP.prototype,"maxBid",void 0),Eb([sw()],MP.prototype,"preferences",void 0),MP=Eb([uw({components:{Card:Hw,Calculator:xP}})],MP);var PP=MP,IP=PP,CP=Gw(IP,_P,SP,!1,null,null,null),OP=CP.exports,AP=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",[t("rect",{attrs:{x:"10",y:"10",width:"185",height:"40",rx:"3",fill:"goldenrod"}}),e._l(6,(function(n){return[t("rect",{key:"playerOrder"+n,attrs:{x:15+30*(n-1),y:"15",width:"24",height:"30",rx:"2",fill:"darkgoldenrod"}}),t("text",{key:"playerOrderText"+n,staticStyle:{"font-size":"32px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:27+30*(n-1),y:"30",fill:"gold"}},[e._v(" "+e._s(n)+" ")])]})),e._l(e.houses,(function(e){return[t("House",{key:e.id,attrs:{pieceId:e.id,targetState:{x:e.x,y:e.y},owner:e.owner,ownerName:e.ownerName,color:e.color}})]}))],2)},NP=[],zP=function(e){T(t,e);var n=Z(t);function t(){var e;return C(this,t),e=n.apply(this,arguments),e.houses=[],e}return A(t,[{key:"createPieces",value:function(e){var n=this;this.houses=[],e.playerOrder.forEach((function(t,r){n.houses.push({id:t+"_order",x:20+30*r,y:22,color:n.playerColors[t],owner:t,ownerName:e.players[t].name})}))}}]),t}(Rb.a);Eb([gw()],zP.prototype,"playerColors",void 0),zP=Eb([uw({components:{House:zS}})],zP);var jP=zP,LP=jP,DP=Gw(LP,AP,NP,!1,null,null,null),RP=DP.exports,TP=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",[t("rect",{attrs:{width:"730",height:"50",x:"10",y:"10",rx:"3",fill:"goldenrod"}}),e._l(21,(function(n){return[t("rect",{key:"playerCityCount"+n,attrs:{width:"28",height:"38",x:46+33*(n-1),y:"16",rx:"2",fill:"darkgoldenrod",stroke:n==e.citiesToStep2||n==e.citiesToEndGame?"#916a08":"darkgoldenrod","stroke-width":"2px"}}),t("text",{key:"playerCityCountText"+n,staticStyle:{"font-size":"24px","font-family":"monospace"},attrs:{"text-anchor":"middle","letter-spacing":"-2",x:59+33*(n-1),y:"35",fill:"gold"}},[e._v(" "+e._s(n)+" ")])]})),e._l(e.houses,(function(e){return[t("House",{key:e.id,attrs:{pieceId:e.id,targetState:{x:e.x,y:e.y},owner:e.owner,ownerName:e.ownerName,color:e.color}})]}))],2)},BP=[],EP=function(e){T(t,e);var n=Z(t);function t(){var e;return C(this,t),e=n.apply(this,arguments),e.houses=[],e}return A(t,[{key:"createPieces",value:function(e){var n=this;this.houses=[];for(var t=[],r=0;r<22;r++)t[r]=[];e.players.forEach((function(e,n){return t[e.cities.length].push(n)})),e.players.forEach((function(e,r){var o=(1==t[e.cities.length].length?23:20)+33*e.cities.length;o+=t[e.cities.length].indexOf(r)%2*6,n.houses.push({id:r+"_cityCount",x:o,y:15+30*t[e.cities.length].indexOf(r)/t[e.cities.length].length,color:n.playerColors[r],owner:r})}))}}]),t}(Rb.a);Eb([gw()],EP.prototype,"citiesToStep2",void 0),Eb([gw()],EP.prototype,"citiesToEndGame",void 0),Eb([gw()],EP.prototype,"playerColors",void 0),EP=Eb([uw({components:{House:zS}})],EP);var UP=EP,GP=UP,ZP=Gw(GP,TP,BP,!1,null,null,null),FP=ZP.exports,KP=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{on:{click:e.onPickCoord}},[e.devBackdrop?t("image",{attrs:{href:e.devBackdrop.src,x:"0",y:"0",width:e.devBackdrop.width,height:e.devBackdrop.height,opacity:null!=e.devBackdrop.opacity?e.devBackdrop.opacity:.5}}):e._e(),e._l(e.cities,(function(n){return[null==n.connectionCost?t("circle",{key:n.name+"_region",attrs:{r:"25",cx:n.x,cy:n.y,fill:n.region,stroke:"black"}},[t("title",[e._v(e._s(n.name))])]):e._e(),null==n.connectionCost?t("circle",{key:n.name+"_circle",attrs:{r:"20",cx:n.x,cy:n.y,fill:"gray",stroke:"black"}},[t("title",[e._v(e._s(n.name))])]):e._e(),n.singleOccupancy?t("g",{key:n.name+"_flag"},[t("line",{attrs:{x1:n.x+12,y1:n.y-12,x2:n.x+12,y2:n.y-32,stroke:"black","stroke-width":"1.5"}}),t("polygon",{attrs:{points:n.x+12+","+(n.y-32)+" "+(n.x+26)+","+(n.y-28)+" "+(n.x+12)+","+(n.y-24),fill:"red",stroke:"black","stroke-width":"1"}}),t("title",[e._v(e._s(n.name)+" — cross-border space (1 house max, 30 Elektro total cost)")])]):e._e()]})),e._l(e.connections,(function(n){return[t("line",{key:n.nodes[0]+"_"+n.nodes[1]+"_line1",attrs:{x1:e.getX1(n),y1:e.getY1(n),x2:e.getX2(n),y2:e.getY2(n),"stroke-width":"10",stroke:"black"}}),t("line",{key:n.nodes[0]+"_"+n.nodes[1]+"_line2",attrs:{x1:e.getX1(n),y1:e.getY1(n),x2:e.getX2(n),y2:e.getY2(n),"stroke-width":"9",stroke:"gray"}})]})),e._l(e.cities,(function(n){return[null!=n.connectionCost&&n.slotCosts&&n.slotCosts.length>=2?t("g",{key:n.name+"_tile"},[t("rect",{class:[{canClick:e.canBuild(n)||e.canPickRegion(n)}],attrs:{x:n.x-23,y:n.y-23,width:"46",height:"46",rx:"7",fill:"gray",stroke:n.region,"stroke-width":"4",transform:"rotate(45, "+n.x+", "+n.y+")"},on:{click:function(t){return e.onCityClick(n)}}},[t("title",[e._v(e._s(n.name)+" — connect for "+e._s(n.connectionCost)+" (entry) + house")])]),e._l(n.slotCosts,(function(r,o){return[t("rect",{key:n.name+"_slot"+o,attrs:{x:n.x+e.nodeSlotPos(o).dx-6.5,y:n.y+e.nodeSlotPos(o).dy-6.5,width:"13",height:"13",rx:"1",fill:"gray",stroke:"black","stroke-width":"1",transform:"rotate(45, "+(n.x+e.nodeSlotPos(o).dx)+", "+(n.y+e.nodeSlotPos(o).dy)+")"}}),t("text",{key:n.name+"_slotlbl"+o,attrs:{x:n.x+e.nodeSlotPos(o).dx,y:n.y+e.nodeSlotPos(o).dy,"font-size":"10","text-anchor":"middle","dominant-baseline":"central",fill:"black",transform:e.mapRotation?"rotate("+-e.mapRotation+", "+(n.x+e.nodeSlotPos(o).dx)+", "+(n.y+e.nodeSlotPos(o).dy)+")":void 0}},[e._v(" "+e._s(r)+" ")])]}))],2):e._e()]})),e._l(e.cities,(function(n){return[null!=n.connectionCost&&n.slotCosts&&1===n.slotCosts.length?t("g",{key:n.name+"_mtile"},[t("rect",{class:[{canClick:e.canBuild(n)}],attrs:{x:n.x-13,y:n.y-13,width:"26",height:"26",rx:"5",fill:e.isBlocked(n)?"#555555":"white","fill-opacity":e.isBlocked(n)?.88:.82,stroke:"black","stroke-width":"1.5"},on:{click:function(t){e.canBuild(n)&&e.build(n)}}},[t("title",[e._v(" "+e._s(n.name)),e.isBlocked(n)?[e._v(" — blocked for this player count (transit only)")]:e.buildCostLabel(n)?[e._v(e._s(e.buildCostLabel(n)))]:[e._v(" — build for "+e._s(n.slotCosts[0])+" (+ flat 5 per transited space)")]],2)]),t("text",{attrs:{x:n.x,y:n.y,"font-size":"17","font-weight":"bold","text-anchor":"middle","dominant-baseline":"central",fill:e.isBlocked(n)?"#dddddd":"black"}},[e._v(" "+e._s(n.slotCosts[0])+" ")])]):e._e()]})),e._l(e.cities,(function(n){return[null==n.connectionCost?t("circle",{key:n.name+"_circle2",class:[{canClick:e.canBuild(n)||e.canPickRegion(n)}],attrs:{r:"20",cx:n.x,cy:n.y,fill:"gray"},on:{click:function(t){return e.onCityClick(n)}}},[t("title",[e._v(e._s(n.name))])]):e._e()]})),e._l(e.connections,(function(n){return[n.cost>0?t("circle",{key:n.nodes[0]+"_"+n.nodes[1]+"_border",attrs:{stroke:"black",r:10+10*n.cost/28,cx:(e.getX1(n)+e.getX2(n))/2,cy:(e.getY1(n)+e.getY2(n))/2,fill:n.cost>15?"gold":n.cost>10?"lightgray":"tan"}}):e._e(),n.cost>0?t("circle",{key:n.nodes[0]+"_"+n.nodes[1]+"_circle",attrs:{r:6+10*n.cost/28,cx:(e.getX1(n)+e.getX2(n))/2,cy:(e.getY1(n)+e.getY2(n))/2,fill:"gray",stroke:"black"}}):e._e(),n.cost>0?t("text",{key:n.nodes[0]+"_"+n.nodes[1]+"_text",style:"font-size: "+(12+6*n.cost/28)+"px",attrs:{"text-anchor":"middle",fill:"black",x:(e.getX1(n)+e.getX2(n))/2,y:(e.getY1(n)+e.getY2(n))/2,transform:e.mapRotation?"rotate("+-e.mapRotation+", "+(e.getX1(n)+e.getX2(n))/2+", "+(e.getY1(n)+e.getY2(n))/2+")":void 0}},[e._v(" "+e._s(n.cost)+" ")]):e._e()]})),e._l(e.houses,(function(e){return[t("House",{key:e.id,attrs:{pieceId:e.id,targetState:{x:e.x,y:e.y},owner:e.owner,ownerName:e.ownerName,color:e.color,scale:e.scale}})]})),e._l(e.cities,(function(n){return[null!=n.connectionCost&&n.slotCosts&&n.slotCosts.length>=2?t("g",{key:n.name+"_cc"},[t("circle",{attrs:{cx:n.x,cy:n.y+15,r:"11",fill:"goldenrod",stroke:"darkgoldenrod","stroke-width":"2"}}),t("circle",{attrs:{cx:n.x,cy:n.y+15,r:"7.5",fill:"gray",stroke:"darkgoldenrod","stroke-width":"1"}}),t("text",{attrs:{x:n.x,y:n.y+15,"font-size":"11","font-weight":"bold","text-anchor":"middle","dominant-baseline":"central",fill:"black",transform:e.mapRotation?"rotate("+-e.mapRotation+", "+n.x+", "+(n.y+15)+")":void 0}},[e._v(" "+e._s(n.connectionCost)+" ")])]):e._e()]})),e._l(e.cities,(function(n){return[n.slotCosts&&2===n.slotCosts.length&&10===n.slotCosts[0]?[t("line",{key:n.name+"_x1",attrs:{x1:n.x+10,y1:n.y+10,x2:n.x+19,y2:n.y+19,stroke:"black","stroke-width":"3","stroke-linecap":"round"}}),t("line",{key:n.name+"_x2",attrs:{x1:n.x+19,y1:n.y+10,x2:n.x+10,y2:n.y+19,stroke:"black","stroke-width":"3","stroke-linecap":"round"}})]:e._e(),n.slotCosts&&3===n.slotCosts.length&&10===n.slotCosts[0]&&10===n.slotCosts[1]?t("text",{key:n.name+"_10label",attrs:{x:n.x-20,y:n.y+19,"font-size":"17","font-weight":"bold",fill:"black","text-anchor":"middle",transform:e.mapRotation?"rotate("+-e.mapRotation+", "+(n.x-20)+", "+(n.y+19)+")":void 0}},[e._v("10")]):e._e(),n.slotCosts&&2===n.slotCosts.length&&15===n.slotCosts[0]?[t("line",{key:n.name+"_x1",attrs:{x1:n.x-5,y1:n.y-21,x2:n.x+5,y2:n.y-11,stroke:"black","stroke-width":"3","stroke-linecap":"round"}}),t("line",{key:n.name+"_x2",attrs:{x1:n.x+5,y1:n.y-21,x2:n.x-5,y2:n.y-11,stroke:"black","stroke-width":"3","stroke-linecap":"round"}})]:e._e()]})),e.preferences.disableHelp?e._e():[e._l(e.cities,(function(n){return[e.canBuild(n)?t("circle",{key:n.name+"_circleHelp",class:[{canClick:e.canBuild(n)}],attrs:{r:"18",cx:n.x,cy:n.y,fill:"none",stroke:"blue","stroke-width":"4px"}}):e._e()]}))],e._l(e.cities,(function(n){return[e.canPickRegion(n)?t("circle",{key:n.name+"_pickRegion",staticClass:"canClick",attrs:{r:"18",cx:n.x,cy:n.y,fill:"none",stroke:"gold","stroke-width":"5px"},on:{click:function(t){return e.onCityClick(n)}}}):e._e()]})),e._l(e.cities,(function(n){return[null==n.connectionCost&&(e.canBuild(n)||e.canPickRegion(n))?t("circle",{key:n.name+"_tap",staticClass:"canClick",attrs:{r:e.tapRadius(n),cx:n.x,cy:n.y,fill:"none","pointer-events":"all"},on:{click:function(t){return e.onCityClick(n)}}},[t("title",[e._v(e._s(n.name)+e._s(e.buildCostLabel(n)))])]):e._e(),e.isNodeTile(n)&&(e.canBuild(n)||e.canPickRegion(n))?t("rect",{key:n.name+"_tapTile",staticClass:"canClick",attrs:{x:n.x-23,y:n.y-23,width:"46",height:"46",rx:"7",fill:"none","pointer-events":"all",transform:"rotate(45, "+n.x+", "+n.y+")"},on:{click:function(t){return e.onCityClick(n)}}},[t("title",[e._v(e._s(n.name)+e._s(e.buildCostLabel(n)))])]):e._e()]})),e._l(e.noUraniumMarkers,(function(e){return t("g",{key:"noUranium_"+e.region,attrs:{transform:"translate("+e.x+", "+e.y+")"}},[t("rect",{attrs:{x:"-15",y:"-11",width:"30",height:"22",rx:"3",fill:"#4a4a4a",stroke:"black","stroke-width":"1.5"}}),t("g",{attrs:{transform:"translate(-9, -7) scale(1.2)"}},[t("path",{attrs:{d:"M1,2 l4,-2 l6,0 l4,2 l0,11 l-4,2 l-6,0 l-4,-2Z",fill:"#ef3b3b"}})]),t("circle",{attrs:{cx:"0",cy:"0",r:"20",fill:"none",stroke:e.region,"stroke-width":"4.5"}}),t("line",{attrs:{x1:"-14.1",y1:"-14.1",x2:"14.1",y2:"14.1",stroke:e.region,"stroke-width":"4.5","stroke-linecap":"round"}})])}))],2)},VP=[],$P=(t("5efb"),20),WP=25,YP=function(e){T(t,e);var n=Z(t);function t(){var e;return C(this,t),e=n.apply(this,arguments),e.houses=[],e}return A(t,[{key:"createPieces",value:function(e){var n=this;this.houses=[],e.players.forEach((function(t,r){t.cities.forEach((function(t){var o,i,a,c,u,s=e.map.cities.find((function(e){return e.name==t.name})),l=null!=s.connectionCost,d=l&&1===(null===(o=s.slotCosts)||void 0===o?void 0:o.length),f=2===(null===(i=s.slotCosts)||void 0===i?void 0:i.length)&&15===s.slotCosts[0];if(d)u=.085,a=-199*u,c=-230*u;else if(l){var p=n.nodeSlotPos(t.position);a=p.dx-7,c=p.dy-8}else f?0==t.position?(a=-15,c=-4):(a=1,c=-4):0==t.position?(a=-6,c=-18):1==t.position?(a=-15,c=-4):(a=1,c=-4);n.houses.push({id:r+"_"+t.name,x:s.x+a,y:s.y+c,color:n.playerColors[r],owner:r,scale:u})}))}))}},{key:"getX1",value:function(e){var n=this.cities.find((function(n){return n.name==e.nodes[0]}));return n.x}},{key:"getY1",value:function(e){var n=this.cities.find((function(n){return n.name==e.nodes[0]}));return n.y}},{key:"getX2",value:function(e){var n=this.cities.find((function(n){return n.name==e.nodes[1]}));return n.x}},{key:"getY2",value:function(e){var n=this.cities.find((function(n){return n.name==e.nodes[1]}));return n.y}},{key:"nodeSlotPos",value:function(e){return 0===e?{dx:0,dy:-15}:1===e?{dx:-15,dy:0}:{dx:15,dy:0}}},{key:"noUraniumMarkers",get:function(){var e;if(!this.noUraniumRegions||!this.cities||0===this.cities.length)return[];var n,t=this.cities,r=t.map((function(e){return{x:e.x,y:e.y}})),o=I(null!==(e=this.connections)&&void 0!==e?e:[]);try{var i=function(){var e=n.value;if(!e.cost||e.cost<=0)return"continue";var o=t.find((function(n){return n.name===e.nodes[0]})),i=t.find((function(n){return n.name===e.nodes[1]}));o&&i&&r.push({x:(o.x+i.x)/2,y:(o.y+i.y)/2})};for(o.s();!(n=o.n()).done;)i()}catch(d){o.e(d)}finally{o.f()}var a,c=function(e,n,t){var r,o=1/0,i=I(t);try{for(i.s();!(r=i.n()).done;){var a=r.value,c=Math.hypot(a.x-e,a.y-n);c<o&&(o=c)}}catch(d){i.e(d)}finally{i.f()}return o},u=[],s=I(this.noUraniumRegions);try{var l=function(){var e,n=a.value,o=t.filter((function(e){return e.region===n}));if(0===o.length)return"continue";for(var i=o.map((function(e){return e.x})),s=o.map((function(e){return e.y})),l={x:i.reduce((function(e,n){return e+n}),0)/i.length,y:s.reduce((function(e,n){return e+n}),0)/s.length},f=44,p=void 0,v=void 0,h=10,m=Math.min.apply(Math,P(i));m<=Math.max.apply(Math,P(i));m+=h)for(var g=Math.min.apply(Math,P(s));g<=Math.max.apply(Math,P(s));g+=h){var y,b=o[0],w=1/0,k=I(t);try{for(k.s();!(y=k.n()).done;){var x=y.value,_=Math.hypot(x.x-m,x.y-g);_<w&&(w=_,b=x)}}catch(d){k.e(d)}finally{k.f()}if(b.region===n){var S=c(m,g,r);if((!v||S>v.clearance)&&(v={x:m,y:g,clearance:S}),S>=f){var M=Math.hypot(m-l.x,g-l.y);(!p||M<p.distToCentroid)&&(p={x:m,y:g,distToCentroid:M})}}}var C=null!==(e=p)&&void 0!==e?e:v;u.push({region:n,x:C?C.x:l.x,y:C?C.y:l.y})};for(s.s();!(a=s.n()).done;)l()}catch(d){s.e(d)}finally{s.f()}return u}},{key:"nearestCityDistance",get:function(){var e,n,t={},r=null!==(e=this.cities)&&void 0!==e?e:[],o=I(r);try{for(o.s();!(n=o.n()).done;){var i,a=n.value,c=1/0,u=I(r);try{for(u.s();!(i=u.n()).done;){var s=i.value;if(s!==a){var l=Math.hypot(s.x-a.x,s.y-a.y);l<c&&(c=l)}}}catch(d){u.e(d)}finally{u.f()}t[a.name]=c}}catch(d){o.e(d)}finally{o.f()}return t}},{key:"tapRadius",value:function(e){var n,t=(null!==(n=this.nearestCityDistance[e.name])&&void 0!==n?n:1/0)/2;return Math.max($P,Math.min(WP,t))}},{key:"isNodeTile",value:function(e){return null!=e.connectionCost&&!!e.slotCosts&&e.slotCosts.length>=2}},{key:"canBuild",value:function(e){return!!this.buildableCities.find((function(n){return n==e.name}))}},{key:"buildCostLabel",value:function(e){var n=this.buildPrices&&this.buildPrices[e.name];return n?null!=n.price&&null!=n.jumpPrice?" — build for ".concat(n.price,", or ").concat(n.jumpPrice," using your free jump"):null!=n.price?" — build for ".concat(n.price):null!=n.jumpPrice?" — build for ".concat(n.jumpPrice,", using your free jump"):"":""}},{key:"isBlocked",value:function(e){return!!this.blockedCities&&this.blockedCities.includes(e.name)}},{key:"build",value:function(e){this.$emit("build",e)}},{key:"canPickRegion",value:function(e){return!!this.pickableRegions&&this.pickableRegions.includes(e.region)}},{key:"pickRegion",value:function(e){this.$emit("pickRegion",e.region)}},{key:"onCityClick",value:function(e){this.canBuild(e)?this.build(e):this.canPickRegion(e)&&this.pickRegion(e)}},{key:"onPickCoord",value:function(e){if(this.devBackdrop){var n=e.currentTarget,t=n.getScreenCTM();if(t){var r=new DOMPoint(e.clientX,e.clientY).matrixTransform(t.inverse());console.log("{ name: Cities.TODO, region: Regions.TODO, x: ".concat(Math.round(r.x),", y: ").concat(Math.round(r.y)," },"))}}}}]),t}(Rb.a);Eb([gw()],YP.prototype,"polygons",void 0),Eb([gw()],YP.prototype,"cities",void 0),Eb([gw()],YP.prototype,"connections",void 0),Eb([gw()],YP.prototype,"playerColors",void 0),Eb([gw()],YP.prototype,"buildableCities",void 0),Eb([gw()],YP.prototype,"buildPrices",void 0),Eb([gw()],YP.prototype,"blockedCities",void 0),Eb([gw()],YP.prototype,"pickableRegions",void 0),Eb([gw()],YP.prototype,"noUraniumRegions",void 0),Eb([gw()],YP.prototype,"devBackdrop",void 0),Eb([gw({default:0})],YP.prototype,"mapRotation",void 0),Eb([sw()],YP.prototype,"preferences",void 0),YP=Eb([uw({components:{House:zS}})],YP);var JP=YP,HP=JP,qP=Gw(HP,KP,VP,!1,null,null,null),XP=qP.exports,QP=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",[e._l(e.blocks,(function(n,r){return[t("g",{key:"block"+r,attrs:{transform:"translate(0, "+n.y+")"}},[n.title?t("text",{staticStyle:{"font-size":"26px"},attrs:{x:"4",y:"16","font-weight":"700",fill:"black"}},[e._v(" "+e._s(n.title)+" ")]):e._e(),n.restock?t("text",{staticStyle:{"font-size":"24px"},attrs:{x:e.BOX_W-4,y:"16","text-anchor":"end","font-weight":"600",fill:"#3a2c08"}},[e._v(" Restock "+e._s(n.restock)+" ")]):e._e(),t("text",{staticStyle:{"font-size":"24px","letter-spacing":"1px"},attrs:{x:"4",y:"42",fill:"#3a2c08"}},[e._v("CURRENT PRICE")]),t("text",{staticStyle:{"font-size":"24px","letter-spacing":"1px"},attrs:{x:e.CUBE_BAND_CENTRE,y:"42","text-anchor":"middle",fill:"#3a2c08"}},[e._v(" AT THIS PRICE ")]),t("text",{staticStyle:{"font-size":"24px","letter-spacing":"1px"},attrs:{x:e.BOX_W-4,y:"42","text-anchor":"end",fill:"#3a2c08"}},[e._v(" CUBES LEFT ")]),e._l(n.rows,(function(n,r){return t("g",{key:"row"+r,class:[{canClick:n.buyable}],attrs:{transform:"translate(0, "+(e.HEAD_H+r*(e.BOX_H+e.BOX_GAP))+")"},on:{click:function(t){n.buyable&&e.$emit("buyResource",n.move)}}},[t("rect",{attrs:{width:e.BOX_W,height:e.BOX_H,rx:"6",fill:n.cubes>0?"darkgoldenrod":"#9c8236",stroke:n.buyable?"#1e63d0":"#6b5312","stroke-width":n.buyable?5:2,opacity:n.cubes>0?1:.55}}),n.buyable?t("rect",{attrs:{width:e.BOX_W,height:e.BOX_H,rx:"6",fill:"transparent","pointer-events":"all"}}):e._e(),t("text",{staticStyle:{"font-size":"22px","letter-spacing":"1px"},attrs:{x:"18",y:"26","font-weight":"700",fill:"black"}},[e._v(" "+e._s(n.label)+" ")]),null!=n.price?[t("text",{staticStyle:{"font-size":"26px"},attrs:{x:"18",y:"80","font-weight":"700",fill:"black"}},[e._v("$")]),t("text",{staticStyle:{"font-size":"46px"},attrs:{x:"40",y:"84","font-weight":"700",fill:"black"}},[e._v(" "+e._s(n.price)+" ")]),null!=n.next?t("text",{staticStyle:{"font-size":"22px"},attrs:{x:"132",y:"80",fill:"#3a2c08"}},[e._v(" then $"+e._s(n.next)+" ")]):e._e()]:t("text",{staticStyle:{"font-size":"28px"},attrs:{x:"18",y:"78","font-weight":"700",fill:"black"}},[e._v("out")]),e._l(n.atPrice,(function(r){return t("circle",{key:"cube"+r,attrs:{cx:e.cubeX(n.atPrice,r),cy:58,r:"17",fill:n.color,stroke:"black","stroke-width":"2"}})})),n.flat&&n.cubes>0?t("text",{staticStyle:{"font-size":"22px"},attrs:{x:"300",y:"66",fill:"#3a2c08"}},[e._v(" every cube at this price ")]):e._e(),t("text",{staticStyle:{"font-size":"40px"},attrs:{x:e.BOX_W-18,y:"68","text-anchor":"end","font-weight":"700",fill:"black"}},[e._v(" "+e._s(n.cubes)+" ")]),t("text",{staticStyle:{"font-size":"20px"},attrs:{x:e.BOX_W-18,y:"90","text-anchor":"end",fill:"#3a2c08"}},[e._v("LEFT")]),n.capped?t("text",{staticStyle:{"font-size":"20px"},attrs:{x:"130",y:"96",fill:"#7a1d12","font-weight":"600"}},[e._v(" step "+e._s(e.step)+" sells to $"+e._s(e.maxPrice)+" ")]):e._e(),e.canUnbuy(n)?t("g",{staticClass:"canClick",on:{click:function(t){return t.stopPropagation(),e.$emit("unbuyResource",n.move)}}},[t("rect",{attrs:{x:e.chipBox(n).hx,y:e.chipBox(n).hy,width:e.chipBox(n).hw,height:e.chipBox(n).hh,fill:"transparent","pointer-events":"all"}}),t("rect",{attrs:{x:e.chipBox(n).x,y:e.chipBox(n).y,width:e.chipBox(n).w,height:e.chipBox(n).h,rx:"10",fill:"#f0e6c8",stroke:"#6b5312","stroke-width":"2"}}),t("text",{style:"font-size: "+e.chipBox(n).fontSize+"px",attrs:{x:e.chipBox(n).x+e.chipBox(n).w/2,y:e.chipBox(n).y+e.chipBox(n).h/2+8,"text-anchor":"middle","font-weight":"700",fill:"#3a2c08"}},[e._v(" − take back ")])]):e._e(),t("title",[e._v(e._s(n.title))])],2)}))],2)]}))],2)},eI=[],nI={coal:"#6b2028",oil:"#15130f",garbage:"#f2d024",uranium:"#dc2626"},tI={coal:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8],oil:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8],garbage:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8],uranium:[1,2,3,4,5,6,7,8,10,12,14,16]},rI=8;function oI(e){return e[0].toUpperCase()+e.slice(1)}function iI(e){return void 0!==e.coalPricesNorth}function aI(e){var n=e.map.maxPriceAvailable;return n?n[e.step-1]:16}function cI(e,n,t){var r=e,o=r[n+"Prices"+(t?"North":"")];return void 0!==o?o:tI[n]}function uI(e,n,t){var r=e,o=r[n+"Market"+(t?"North":"")];return void 0===o?0:o}function sI(e,n){return e.resource===n.resource&&e.side===n.side&&!!e.fromStorage===!!n.fromStorage}function lI(e,n,t){if("garbage"!==n||"Central Europe"!==e.map.name||void 0===t)return 0;var r=e.players[t];return r&&r.cities.some((function(e){return"Wien"===e.name}))?1:0}function dI(e,n,t,r){var o=cI(e,n,t),i=uI(e,n,t),a=Math.max(0,o.length-i),c=null,u=0,s=null;if(i>0){c=o[a]-(t?0:lI(e,n,r.player));for(var l=a;l<o.length&&o[l]===o[a];l++)u++;for(var d=a;d<o.length;d++)if(o[d]!==o[a]){s=o[d]-(t?0:lI(e,n,r.player));break}}var f=iI(e)?{resource:n,side:t?"north":"south"}:{resource:n};return{label:oI(n),color:nI[n],move:f,price:c,next:s,atPrice:u,cubes:i,buyable:!!r.buyable&&r.buyable.some((function(e){return sI(e,f)})),capped:null!==c&&c>aI(e),flat:!1,title:i>0?"".concat(oI(n)," — $").concat(c," each, ").concat(u," at that price, ").concat(i," left"):"".concat(oI(n)," — market empty")}}function fI(e,n,t,r,o){var i=t?{resource:"coal",fromStorage:!0}:{resource:"coal"};return{label:r,color:nI.coal,move:i,price:n>0?rI:null,next:null,atPrice:0,cubes:n,buyable:!!o.buyable&&o.buyable.some((function(e){return sI(e,i)})),capped:n>0&&rI>aI(e),flat:!0,title:"".concat(r," — $").concat(rI," each, ").concat(n," left")}}function pI(e){return"Australia"!==e.map.name&&"Bremen"!==e.map.name}function vI(e,n,t){var r=[];return!n&&t.isUsaRecharged&&0===e.coalMarket&&e.coalSupply>0?r.push(fI(e,e.coalSupply,!1,"Coal (from supply)",t)):r.push(dI(e,"coal",n,t)),n||void 0===e.coalStorage||r.push(fI(e,e.coalStorage,!0,"Coal (from storage)",t)),r.push(dI(e,"oil",n,t)),r.push(dI(e,"garbage",n,t)),!n&&pI(e)&&r.push(dI(e,"uranium",n,t)),r}function hI(e,n){if(e){var t=n.filter((function(e){return!e.flat})).map((function(n,t){return e[t]}));return t.every((function(e){return void 0===e}))?void 0:t.filter((function(e){return void 0!==e})).join(" / ")}}function mI(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=[];if(iI(e)){var r=vI(e,!0,n);t.push({title:"North Market",restock:hI(n.resupplyNorth,r),rows:r})}var o=vI(e,!1,n);return t.push({title:iI(e)?"South Market":void 0,restock:hI(n.resupply,o),rows:o}),t}var gI=700,yI=104,bI=8,wI=62,kI=30,xI=44,_I=420,SI=function(e){T(t,e);var n=Z(t);function t(){var e;return C(this,t),e=n.apply(this,arguments),e.BOX_W=gI,e.BOX_H=yI,e.BOX_GAP=bI,e.HEAD_H=wI,e.CUBE_BAND_CENTRE=_I,e}return A(t,[{key:"chipBox",value:function(e){var n=e.label.length>8;return n?{x:130,y:36,w:140,h:52,hx:120,hy:32,hw:164,hh:60,fontSize:22}:{x:130,y:6,w:140,h:52,hx:120,hy:2,hw:164,hh:60,fontSize:22}}},{key:"canUnbuy",value:function(e){return!!this.bufferedBuys&&!!this.bufferedBuys[uS(e.move)]}},{key:"cubeX",value:function(e,n){return _I-(e-1)*xI/2+(n-1)*xI}},{key:"step",get:function(){return this.gameState.step}},{key:"maxPrice",get:function(){var e=this.gameState.map.maxPriceAvailable;return e?e[this.gameState.step-1]:16}},{key:"blocks",get:function(){var e=0;return mI(this.gameState,{player:this.player,buyable:this.buyableResources,resupply:this.resourceResupply,resupplyNorth:this.resourceResupplyNorth,isUsaRecharged:this.isUsaRecharged}).map((function(n){var t=w(w({},n),{},{y:e});return e+=wI+n.rows.length*(yI+bI)-bI+kI,t}))}}]),t}(Rb.a);Eb([gw()],SI.prototype,"gameState",void 0),Eb([gw()],SI.prototype,"buyableResources",void 0),Eb([gw()],SI.prototype,"resourceResupply",void 0),Eb([gw()],SI.prototype,"resourceResupplyNorth",void 0),Eb([gw()],SI.prototype,"isUsaRecharged",void 0),Eb([gw()],SI.prototype,"player",void 0),Eb([gw()],SI.prototype,"bufferedBuys",void 0),SI=Eb([uw],SI);var MI=SI,PI=MI,II=(t("3c12"),Gw(PI,QP,eI,!1,null,"a8c53bc0",null)),CI=II.exports,OI=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",[e.isKorea?[e.resourceResupplyNorth?[e.resourceResupplyNorth[0]<10?t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"30",y:"-125","font-weight":"600",fill:"black"}},[e._v("Resource Resupply:")]):t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"20",y:"-125","font-weight":"600",fill:"black"}},[e._v("Resource Resupply:")]),e.resourceResupplyNorth[0]<10?t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"276",y:"-125","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupplyNorth[0])+" ")]):t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"262",y:"-125","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupplyNorth[0])+" ")]),t("Coal",{attrs:{pieceId:-1,targetState:{x:288,y:-133},canClick:!1,transparent:!1}}),t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"321",y:"-125","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupplyNorth[1])+" ")]),t("Oil",{attrs:{pieceId:-1,targetState:{x:331,y:-134},canClick:!1,transparent:!1}}),t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"368",y:"-125","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupplyNorth[2])+" ")]),t("Garbage",{attrs:{pieceId:-1,targetState:{x:382,y:-134},canClick:!1,transparent:!1}})]:e._e(),t("text",{staticStyle:{"font-size":"22px"},attrs:{x:"20",y:"-110","font-weight":"700",fill:"black"}},[e._v("North Market")]),t("rect",{attrs:{width:"760",height:"80",x:"20",y:"-100",rx:"3",fill:"#c89c3a"}}),e._l(8,(function(n){return[t("rect",{key:"north_resources"+n,attrs:{width:"70",height:"70",x:25+85*(n-1),y:"-95",rx:"2",fill:"darkgoldenrod"}}),t("circle",{key:"north_resourcesCircle"+n,attrs:{r:"10",cx:92+85*(n-1),cy:"-92",fill:"yellow"}}),t("text",{key:"north_resourcesText"+n,staticStyle:{"font-size":"16px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:92+85*(n-1),y:"-92",fill:"darkgoldenrod"}},[e._v(" "+e._s(n)+" ")])]})),e._l(e.coalsNorth,(function(n){return[t("Coal",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("coal",n):e.canBuyResource("coal",n.side,n.fromStorage),transparent:n.transparent,restorable:e.canUnbuy("coal",n),scale:.08},on:{click:function(t){return e.clickResource("coal",n)}}})]})),e._l(e.oilsNorth,(function(n){return[t("Oil",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("oil",n):e.canBuyResource("oil",n.side),transparent:n.transparent,restorable:e.canUnbuy("oil",n)},on:{click:function(t){return e.clickResource("oil",n)}}})]})),e._l(e.garbagesNorth,(function(n){return[t("Garbage",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("garbage",n):e.canBuyResource("garbage",n.side),transparent:n.transparent,restorable:e.canUnbuy("garbage",n)},on:{click:function(t){return e.clickResource("garbage",n)}}})]})),t("text",{staticStyle:{"font-size":"22px"},attrs:{x:"20",y:"35","font-weight":"700",fill:"black"}},[e._v("South Market")])]:e._e(),e.resourceResupply[0]<10?t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"30",y:"20","font-weight":"600",fill:"black"}},[e._v("Resource Resupply:")]):t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"20",y:"20","font-weight":"600",fill:"black"}},[e._v("Resource Resupply:")]),e.resourceResupply[0]<10?t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"276",y:"20","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupply[0])+" ")]):t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"262",y:"20","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupply[0])+" ")]),t("Coal",{attrs:{pieceId:-1,targetState:{x:288,y:12},canClick:!1,transparent:!1}}),t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"321",y:"20","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupply[1])+" ")]),t("Oil",{attrs:{pieceId:-1,targetState:{x:331,y:11},canClick:!1,transparent:!1}}),t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"368",y:"20","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupply[2])+" ")]),t("Garbage",{attrs:{pieceId:-1,targetState:{x:382,y:11},canClick:!1,transparent:!1}}),e.isAustraliaMarket||e.isBremenMarket?e._e():[t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"414",y:"20","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupply[3])+" ")]),t("Uranium",{attrs:{pieceId:-1,targetState:{x:428,y:12},canClick:!1,transparent:!1}})],e.isIndiaResourceMarket||e.isNinePriceMarket||e.isAustraliaMarket?e._e():t("rect",{attrs:{width:"760",height:"80",x:"20",y:"40",rx:"3",fill:"goldenrod"}}),e.isNinePriceMarket?t("rect",{attrs:{width:"780",height:"80",x:"20",y:"40",rx:"3",fill:"goldenrod"}}):e._e(),e.isAustraliaMarket?t("rect",{attrs:{width:"870",height:"80",x:"20",y:"40",rx:"3",fill:"goldenrod"}}):e._e(),e.isIndiaResourceMarket?t("rect",{attrs:{width:"680",height:"80",x:"20",y:"40",rx:"3",fill:"goldenrod"}}):e._e(),e._l(e.isNinePriceMarket?9:e.isAustraliaMarket?10:8,(function(n){return[t("rect",{key:"resources"+n,attrs:{width:"70",height:"70",x:25+85*(n-1),y:"45",rx:"2",fill:"darkgoldenrod"}}),t("circle",{key:"resourcesCircle"+n,attrs:{r:"10",cx:92+85*(n-1),cy:"48",fill:"yellow"}}),t("text",{key:"resourcesText"+n,staticStyle:{"font-size":"16px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:92+85*(n-1),y:"48",fill:"darkgoldenrod"}},[e._v(" "+e._s(n)+" ")]),e.isIndiaResourceMarket||e.isNinePriceMarket||e.isAustraliaMarket||e.isBremenMarket?e._e():t("g",{key:"lines"+n},[t("line",{attrs:{x1:25+85*(n-1),y1:"68",x2:95+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:25+85*(n-1),y1:"92",x2:95+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:48+85*(n-1),y1:"40",x2:48+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:72+85*(n-1),y1:"40",x2:72+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:42+85*(n-1),y1:"68",x2:42+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:58+85*(n-1),y1:"68",x2:58+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:74+85*(n-1),y1:"68",x2:74+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:48+85*(n-1),y1:"92",x2:48+85*(n-1),y2:"120",stroke:"goldenrod"}}),t("line",{attrs:{x1:72+85*(n-1),y1:"92",x2:72+85*(n-1),y2:"120",stroke:"goldenrod"}})]),e.isIndiaResourceMarket?t("g",{key:"lines"+n},[t("line",{attrs:{x1:25+85*(n-1),y1:"68",x2:95+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:25+85*(n-1),y1:"92",x2:95+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:42+85*(n-1),y1:"40",x2:42+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:59+85*(n-1),y1:"40",x2:59+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:76+85*(n-1),y1:"40",x2:76+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:42+85*(n-1),y1:"68",x2:42+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:58+85*(n-1),y1:"68",x2:58+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:74+85*(n-1),y1:"68",x2:74+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:42+85*(n-1),y1:"92",x2:42+85*(n-1),y2:"120",stroke:"goldenrod"}}),t("line",{attrs:{x1:59+85*(n-1),y1:"92",x2:59+85*(n-1),y2:"120",stroke:"goldenrod"}}),t("line",{attrs:{x1:76+85*(n-1),y1:"92",x2:76+85*(n-1),y2:"120",stroke:"goldenrod"}})]):e._e()]})),e.isAustraliaMarket&&e.co2TaxActive?[t("rect",{attrs:{width:"160",height:"70",x:"24",y:"45",rx:"2",fill:"black",opacity:"0.55"}}),t("text",{staticStyle:{"font-size":"12px","font-family":"monospace","font-weight":"700"},attrs:{"text-anchor":"middle",x:"104",y:"84",fill:"white"}},[e._v(" CO₂ closed ")])]:e._e(),e.isIndiaResourceMarket?[t("g",{key:"separators"},[t("line",{attrs:{x1:"275",y1:"40",x2:"275",y2:"140",stroke:"red"}}),t("line",{attrs:{x1:"445",y1:"40",x2:"445",y2:"140",stroke:"red"}}),t("text",{attrs:{x:"220",y:"130",stroke:"red"}},[e._v("Step 1")]),t("text",{attrs:{x:"390",y:"130",stroke:"red"}},[e._v("Step 2")])])]:e._e(),e.isIndiaResourceMarket||e.isNinePriceMarket||e.isAustraliaMarket||e.isBremenMarket?e._e():[t("rect",{attrs:{width:"30",height:"30",x:"705",y:"45",rx:"2",fill:"darkgoldenrod"}}),t("circle",{attrs:{r:"10",cx:"732",cy:"48",fill:"yellow"}}),t("text",{staticStyle:{"font-size":"12px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"732",y:"48",fill:"darkgoldenrod"}},[e._v(" 10 ")]),t("rect",{attrs:{width:"30",height:"30",x:"745",y:"45",rx:"2",fill:"darkgoldenrod"}}),t("circle",{attrs:{r:"10",cx:"772",cy:"48",fill:"yellow"}}),t("text",{staticStyle:{"font-size":"12px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"772",y:"48",fill:"darkgoldenrod"}},[e._v(" 12 ")]),t("rect",{attrs:{width:"30",height:"30",x:"705",y:"85",rx:"2",fill:"darkgoldenrod"}}),t("circle",{attrs:{r:"10",cx:"732",cy:"88",fill:"yellow"}}),t("text",{staticStyle:{"font-size":"12px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"732",y:"88",fill:"darkgoldenrod"}},[e._v(" 14 ")]),t("rect",{attrs:{width:"30",height:"30",x:"745",y:"85",rx:"2",fill:"darkgoldenrod"}}),t("circle",{attrs:{r:"10",cx:"772",cy:"88",fill:"yellow"}}),t("text",{staticStyle:{"font-size":"12px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"772",y:"88",fill:"darkgoldenrod"}},[e._v(" 16 ")])],e.isUsaRecharged?[t("rect",{attrs:{width:"180",height:"70",x:"795",y:"45",rx:"2",fill:"chocolate",stroke:"sandybrown","stroke-width":"4px"}}),t("circle",{attrs:{r:"10",cx:"973",cy:"45",fill:"yellow"}}),t("text",{staticStyle:{"font-size":"16px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"973",y:"45",fill:"darkgoldenrod"}},[e._v(" 8 ")]),t("Coal",{attrs:{pieceId:-1,targetState:{x:858,y:57},canClick:!1,transparent:!0,scale:.2}})]:e._e(),void 0!==e.coalStorage?[t("rect",{attrs:{width:"180",height:"70",x:"795",y:"45",rx:"2",fill:"chocolate",stroke:"sandybrown","stroke-width":"4px"}}),t("circle",{attrs:{r:"10",cx:"973",cy:"45",fill:"yellow"}}),t("text",{staticStyle:{"font-size":"16px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"973",y:"45",fill:"darkgoldenrod"}},[e._v(" 8 ")]),t("text",{staticStyle:{"font-size":"11px","font-family":"monospace"},attrs:{"text-anchor":"start",x:"800",y:"42",fill:"black"}},[e._v(" Coal storage ")])]:e._e(),e._l(e.coals,(function(n){return[t("Coal",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("coal",n):e.canBuyResource("coal",n.side,n.fromStorage),transparent:n.transparent,restorable:e.canUnbuy("coal",n),scale:e.isIndiaResourceMarket?.06:.08},on:{click:function(t){return e.clickResource("coal",n)}}})]})),e._l(e.oils,(function(n){return[t("Oil",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("oil",n):e.canBuyResource("oil",n.side),transparent:n.transparent,restorable:e.canUnbuy("oil",n)},on:{click:function(t){return e.clickResource("oil",n)}}})]})),e._l(e.garbages,(function(n){return[t("Garbage",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("garbage",n):e.canBuyResource("garbage",n.side),transparent:n.transparent,restorable:e.canUnbuy("garbage",n),scale:e.isIndiaResourceMarket?.8:1},on:{click:function(t){return e.clickResource("garbage",n)}}})]})),e._l(e.uraniums,(function(n){return[t("Uranium",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("uranium",n):e.canBuyResource("uranium",n.side),transparent:n.transparent,restorable:e.canUnbuy("uranium",n)},on:{click:function(t){return e.clickResource("uranium",n)}}})]})),e.isMiddleEast?[t("rect",{attrs:{width:"80",height:"50",x:"20",y:"70",rx:"2",fill:"gray",stroke:"darkgray","stroke-width":"4px"}}),t("Oil",{attrs:{pieceId:-1,targetState:{x:35,y:80},scale:1.5,canClick:e.availableSurplusOil>0&&e.canBuyResource("oil"),transparent:0==e.availableSurplusOil},on:{click:function(n){return e.buyResource("oil")}}}),t("text",{staticStyle:{"font-size":"16px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"70",y:"93.5"}},[e._v(" x"+e._s(e.availableSurplusOil)+" ")])]:e._e(),e.preferences.disableHelp?e._e():[!e.isKorea&&e.buyableResources.length>0?t("rect",{attrs:{x:"15",y:"35",width:e.isAustraliaMarket?880:770,height:"90",rx:"2",fill:"none",stroke:"blue","stroke-width":"2px"}}):e._e(),e.isKorea&&e.hasBuyableNorth?t("rect",{attrs:{x:"15",y:"-105",width:"770",height:"90",rx:"2",fill:"none",stroke:"blue","stroke-width":"2px"}}):e._e(),e.isKorea&&e.hasBuyableSouth?t("rect",{attrs:{x:"15",y:"35",width:"770",height:"90",rx:"2",fill:"none",stroke:"blue","stroke-width":"2px"}}):e._e()]],2)},AI=[],NI=function(e){T(t,e);var n=Z(t);function t(){var e;return C(this,t),e=n.apply(this,arguments),e.coals=[],e.oils=[],e.garbages=[],e.uraniums=[],e.isKorea=!1,e.coalComesFromSupply=!1,e.isNinePriceMarket=!1,e.isAustraliaMarket=!1,e.isBremenMarket=!1,e.co2TaxActive=!1,e.coalsNorth=[],e.oilsNorth=[],e.garbagesNorth=[],e}return A(t,[{key:"buildMainRowPieces",value:function(e,n,t,r){var o,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},a=null!==(o=i.maxPrice)&&void 0!==o?o:8,c=[];e.forEach((function(e,n){if(!(e>a)){var t=c[c.length-1];t&&t.price===e?t.slots++:c.push({price:e,slots:1,firstIdx:n})}}));var u=[],s=64;return c.forEach((function(o){for(var a=60+85*(o.price-1),c=0;c<o.slots;c++){var l=o.firstIdx+c,d=1===o.slots?a:a-s/2+s*(c+.5)/o.slots;u.push({id:"".concat(t,"_").concat(l),x:d,y:r,transparent:l<e.length-n,ghostRank:e.length-n-l,side:i.side})}})),u}},{key:"createPieces",value:function(e){var n,t,r,o,i=this;if(e){this.coalComesFromSupply=!!this.isUsaRecharged&&0===e.coalMarket&&e.coalSupply>0,this.isAustraliaMarket="Australia"===(null===(n=e.map)||void 0===n?void 0:n.name),this.co2TaxActive=this.isAustraliaMarket&&e.step>=3,this.isBremenMarket="Bremen"===(null===(t=e.map)||void 0===t?void 0:t.name);var a,c,u,s,l,d=void 0!==e.coalMarketNorth;if(this.isKorea=d,d){this.coals=this.buildMainRowPieces(e.coalPrices,e.coalMarket,"coal",48,{side:"south"}),this.oils=this.buildMainRowPieces(e.oilPrices,e.oilMarket,"oil",70,{side:"south"}),this.garbages=this.buildMainRowPieces(e.garbagePrices,e.garbageMarket,"garbage",94,{side:"south"}),this.uraniums=[];var f=e.uraniumPrices;return f.forEach((function(n,t){var r,o;if(n<=8)r=60+85*(n-1),o=85;else{var a=10===n||14===n?710:750,c=10===n||12===n?52:91;r=a,o=c}i.uraniums.push({id:"uranium_".concat(t),x:r,y:o,transparent:t<f.length-e.uraniumMarket,ghostRank:f.length-e.uraniumMarket-t,side:"south"})})),this.coalsNorth=this.buildMainRowPieces(e.coalPricesNorth,e.coalMarketNorth,"coal_north",-92,{side:"north"}),this.oilsNorth=this.buildMainRowPieces(e.oilPricesNorth,e.oilMarketNorth,"oil_north",-70,{side:"north"}),void(this.garbagesNorth=this.buildMainRowPieces(e.garbagePricesNorth,e.garbageMarketNorth,"garbage_north",-46,{side:"north"}))}if("Europe"===(null===(r=e.map)||void 0===r?void 0:r.name)||"North America"===(null===(o=e.map)||void 0===o?void 0:o.name))return this.isNinePriceMarket=!0,this.coals=this.buildMainRowPieces(e.coalPrices,e.coalMarket,"coal",48,{maxPrice:9}),this.oils=this.buildMainRowPieces(e.oilPrices,e.oilMarket,"oil",70,{maxPrice:9}),this.uraniums=this.buildMainRowPieces(e.uraniumPrices,e.uraniumMarket,"uranium",92,{maxPrice:9}),void(this.garbages=this.buildMainRowPieces(e.garbagePrices,e.garbageMarket,"garbage",106,{maxPrice:9}));if(this.isAustraliaMarket)return this.coals=this.buildMainRowPieces(e.coalPrices,e.coalMarket,"coal",48,{maxPrice:10}),this.oils=this.buildMainRowPieces(e.oilPrices,e.oilMarket,"oil",70,{maxPrice:10}),this.garbages=this.buildMainRowPieces(e.garbagePrices,e.garbageMarket,"garbage",94,{maxPrice:10}),this.uraniums=[],this.coalsNorth=[],this.oilsNorth=[],void(this.garbagesNorth=[]);if(this.isBremenMarket)return this.coals=this.buildMainRowPieces(e.coalPrices,e.coalMarket,"coal",48),this.oils=this.buildMainRowPieces(e.oilPrices,e.oilMarket,"oil",70),this.garbages=this.buildMainRowPieces(e.garbagePrices,e.garbageMarket,"garbage",94),this.uraniums=[],this.coalsNorth=[],this.oilsNorth=[],void(this.garbagesNorth=[]);if(this.isNinePriceMarket=!1,this.coalsNorth=[],this.oilsNorth=[],this.garbagesNorth=[],this.coals=[],"India"==(null===(a=e.map)||void 0===a?void 0:a.name)?Array(24).fill(0).forEach((function(n,t){var r=t;t>=0&&(r+=2),t>=2&&(r+=2),t>=4&&r++,t>=7&&r++,t>=10&&r++,t>=13&&r++,i.coals.push({id:"coal_"+t,x:672-17*r-17*Math.floor(r/4),y:48,transparent:t>=e.coalMarket,ghostRank:t-e.coalMarket+1})})):Array(24).fill(0).forEach((function(n,t){i.coals.push({id:"coal_"+t,x:668-23.5*t-14.5*Math.floor(t/3),y:48,transparent:t>=e.coalMarket,ghostRank:t-e.coalMarket+1})})),"recharged"==e.options.variant&&"USA"==(null===(c=e.map)||void 0===c?void 0:c.name)&&Object(nS["range"])(e.coalSupply).forEach((function(e){i.coals.push({id:"coal_supply_"+e,x:800+e%8*20+(e>=8&&e<16?10:0),y:50+20*Math.floor(e/8),transparent:!1})})),void 0!==e.coalStorage&&Object(nS["range"])(e.coalStorage).forEach((function(e){i.coals.push({id:"coal_storage_"+e,x:800+e%8*20+(e>=8&&e<16?10:0),y:50+20*Math.floor(e/8),transparent:!1,fromStorage:!0})})),this.oils=[],"Middle East"==(null===(u=e.map)||void 0===u?void 0:u.name)){var p=e.oilPrices.filter((function(e){return e>1})).length,v=e.oilPrices.filter((function(e){return 1==e})).length,h=Math.min(p,e.oilMarket);Array(p).fill(0).forEach((function(e,n){var t=n+(v-3);i.oils.push({id:"normal_oil_"+t,x:651-16*t-37*Math.floor(t/3),y:70,transparent:n>=h,ghostRank:n-h+1})}))}else Array(24).fill(0).forEach((function(n,t){i.oils.push({id:"oil_"+t,x:651-16*t-37*Math.floor(t/3),y:70,transparent:t>=e.oilMarket,ghostRank:t-e.oilMarket+1})}));this.garbages=[],"India"==(null===(s=e.map)||void 0===s?void 0:s.name)?Array(24).fill(0).forEach((function(n,t){var r=t+8;i.garbages.push({id:"garbage_"+t,x:672-17*r-17*Math.floor(r/4),y:94,transparent:t>=e.garbageMarket,ghostRank:t-e.garbageMarket+1})})):Array(24).fill(0).forEach((function(n,t){i.garbages.push({id:"garbage_"+t,x:668-23.5*t-14.5*Math.floor(t/3),y:94,transparent:t>=e.garbageMarket,ghostRank:t-e.garbageMarket+1})})),this.uraniums=[],"India"==(null===(l=e.map)||void 0===l?void 0:l.name)?Array(8).fill(0).forEach((function(n,t){i.uraniums.push({id:"uranium_"+t,x:670-85*t,y:72,transparent:t>=e.uraniumMarket,ghostRank:t-e.uraniumMarket+1})})):Array(12).fill(0).forEach((function(n,t){0==t?i.uraniums.push({id:"uranium_"+t,x:750,y:91,transparent:t>=e.uraniumMarket,ghostRank:t-e.uraniumMarket+1}):1==t?i.uraniums.push({id:"uranium_"+t,x:710,y:91,transparent:t>=e.uraniumMarket,ghostRank:t-e.uraniumMarket+1}):2==t?i.uraniums.push({id:"uranium_"+t,x:750,y:52,transparent:t>=e.uraniumMarket,ghostRank:t-e.uraniumMarket+1}):3==t?i.uraniums.push({id:"uranium_"+t,x:710,y:52,transparent:t>=e.uraniumMarket,ghostRank:t-e.uraniumMarket+1}):i.uraniums.push({id:"uranium_"+t,x:1010-85*t,y:72,transparent:t>=e.uraniumMarket,ghostRank:t-e.uraniumMarket+1})}))}}},{key:"canBuyResource",value:function(e,n,t){return!!this.buyableResources.find((function(r){return r.resource==e&&r.side==n&&!!r.fromStorage==!!t}))}},{key:"hasBuyableNorth",get:function(){var e;return!(null===(e=this.buyableResources)||void 0===e||!e.some((function(e){return"north"===e.side})))}},{key:"hasBuyableSouth",get:function(){var e;return!(null===(e=this.buyableResources)||void 0===e||!e.some((function(e){return"south"===e.side})))}},{key:"buyResource",value:function(e,n,t){this.$emit("buyResource",{resource:e,side:n,fromStorage:t})}},{key:"canUnbuy",value:function(e,n){if(!n.transparent||!n.ghostRank||!this.bufferedBuys)return!1;if(this.coalComesFromSupply&&"coal"===e&&!n.fromStorage)return!1;var t=this.bufferedBuys[uS({resource:e,side:n.side,fromStorage:n.fromStorage})];return!!t&&n.ghostRank<=t}},{key:"clickResource",value:function(e,n){n.transparent?this.$emit("unbuyResource",{resource:e,side:n.side,fromStorage:n.fromStorage}):this.buyResource(e,n.side,n.fromStorage)}}]),t}(Rb.a);Eb([gw()],NI.prototype,"resourceResupply",void 0),Eb([gw()],NI.prototype,"resourceResupplyNorth",void 0),Eb([gw()],NI.prototype,"isUsaRecharged",void 0),Eb([gw()],NI.prototype,"isMiddleEast",void 0),Eb([gw()],NI.prototype,"isIndiaResourceMarket",void 0),Eb([gw()],NI.prototype,"availableSurplusOil",void 0),Eb([gw()],NI.prototype,"buyableResources",void 0),Eb([gw()],NI.prototype,"coalStorage",void 0),Eb([gw()],NI.prototype,"bufferedBuys",void 0),Eb([sw()],NI.prototype,"preferences",void 0),NI=Eb([uw({components:{Coal:yS,Oil:VS,Garbage:MS,Uranium:XS}})],NI);var zI=NI,jI=zI,LI=Gw(jI,OI,AI,!1,null,null,null),DI=LI.exports;function RI(e,n){return e?n?e.phase==Iw.Auction?P(e.playerOrder):P(e.playerOrder).reverse():e.players.map((function(e,n){return n})):[]}var TI=[["cityCount","playerOrder"],["map"],["buttons","roundInfo","powerPlantDeck"],["powerPlantMarket"],["resourceView"],["resources"],["uraniumMines"],["freeJump"],["playerBoards"]],BI=1465,EI=16,UI=28,GI=4,ZI=.72,FI={roundInfo:1.9,playerOrder:2.5},KI={powerPlantMarket:.88,resources:.94,resourceView:.94},VI={recharged:'Shuffle the 13 low power plants — the "plug plants" (3-15), named for the plug on the back of the printed cards. Draw 8 and sort them ascending: the 4 cheapest form the current market, the next 4 the future market. One of the remaining low plants goes face down on top of the draw deck. Player-count removal: 2 players remove 1 low + 5 higher plants; 3 players remove 2 low + 6 higher; 4 players remove 1 low + 3 higher; 5-6 players remove none. The leftover low plants are shuffled into the deck, with the Step 3 card on the bottom.',original:"The market is fixed: power plants 3, 4, 5, 6 are the current market and 7, 8, 9, 10 the future market. Power plant 13 and the Step 3 card are set aside and the rest of the deck is shuffled, then 8 random plants are removed for 2-3 players, 4 for 4 players, and none for 5-6 players. Power plant 13 goes on top of the deck and the Step 3 card on the bottom."},$I=function(e){return"slot".concat(e[0].toUpperCase()).concat(e.slice(1))},WI=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return Number(e.toFixed(n))},YI=function(e){T(t,e);var n=Z(t);function t(){var e;return C(this,t),e=n.apply(this,arguments),e.ui={waitingAnimations:0},e.paused=!1,e.gameIsOver=!1,e.communicator=new Lb["EventEmitter"],e.G=null,e.defaultPlayerColors=["limegreen","mediumorchid","red","dodgerblue","yellow","brown"],e.animationQueue=[],e.logVisible=!1,e.endScoreVisible=!1,e.spendingVisible=!1,e.rulesVisible=!1,e.totalBid=0,e.confirmMessage="",e.confirmVisible=!1,e.discardedPowerPlant=null,e.discardVisible=!1,e.resourcesToDiscard=[],e.freeJumpCity=null,e.freeJumpNormalPrice=null,e.freeJumpSlotPrice=0,e.freeJumpVisible=!1,e.soleBuyerPlant=null,e.disablePass=!1,e.turnMoves=[],e.committedState=null,e.stacked=!1,e.portraitViewport=!1,e.lastViewport="",e.viewportObserver=null,e.stackHeight=BI,e.slotTransforms={},e.onViewportResize=function(){var n="".concat(window.innerWidth,"x").concat(window.innerHeight);n!==e.lastViewport&&(e.lastViewport=n,e.scheduleRelayout())},e}return A(t,[{key:"playerColors",get:function(){var e=P(this.defaultPlayerColors);if(this.G){var n,t=I(this.G.players);try{for(t.s();!(n=t.n()).done;){var r=n.value;r.color&&(e[r.id]=r.color)}}catch(o){t.e(o)}finally{t.f()}}return e}},{key:"onStateChanged",value:function(e){if(e&&!1!==e.newTurn){var n=this.committedState?this.committedState.log:null;if(this.committedState=JSON.parse(JSON.stringify(e)),this.turnMoves.length>0&&(this.turnMoves=iS(this.committedState,n,this.turnMoves,this.player)),this.turnMoves.length>0){var t=this.replayTurnBuffer();if(this.turnMoves.length>0&&(this.emitter.emit("move",P(this.turnMoves)),!1===t.newTurn))return this._futureState=e,void this.replaceState(t,!1)}}else if(e&&!oS(e,this.committedState,this.turnMoves,this.player))return;this.replaceState(e)}},{key:"replayTurnBuffer",value:function(){var e=aS(this.committedState,this.turnMoves,this.player),n=e.state,t=e.applied,r=e.failure;return this.turnMoves=t,this.lastReplayFailure=r,n}},{key:"replaceState",value:function(e){var n,t=this,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];r&&(this._futureState=e),r&&e&&w_(e)&&(this.gameIsOver=!0),null!=this.player&&this.G&&this.G.players&&this.G.players[this.player].resourcesUsed.some((function(e){return null==e}))&&(n={coalLeft:this.G.players[this.player].coalLeft,oilLeft:this.G.players[this.player].oilLeft,resourcesUsed:this.G.players[this.player].resourcesUsed}),this.G=JSON.parse(JSON.stringify(e)),n&&Object.assign(this.G.players[this.player],n),this.G&&this.$nextTick((function(){var e;t.powerPlantMarket.createPieces(t.G),t.playerOrder.createPieces(t.G),t.cityCount.createPieces(t.G),t.map.createPieces(t.G),null===(e=t.resources)||void 0===e||e.createPieces(t.G),t.scheduleRelayout()}))}},{key:"updateUI",value:function(){var e=this;if(!(this.ui.waitingAnimations>0))return this.animationQueue.length>0?(this.animationQueue.shift()(),void setTimeout((function(){return e.updateUI()}))):void this.scheduleRelayout()}},{key:"checkPass",value:function(){if(this.G&&null!=this.player&&!this.G.chosenPowerPlant){var e=this.G.players[this.player];if(e&&e.availableMoves&&Object.keys(e.availableMoves).length>1){if(this.G.phase==Iw.Bureaucracy&&e.powerPlantsNotUsed.length>0&&Object.keys(e.availableMoves).includes("UsePowerPlant")&&!this.canPowerAllCitiesWithUsedPlants(e))return this.confirmMessage="Are you sure you want to pass? You have unused power plants!",void(this.confirmVisible=!0);if(this.G.phase==Iw.Resources&&!this.canPowerAllPlants(e)&&("India"!==this.G.map.name||!this.playerBoughtResourceThisTurn()))return this.confirmMessage="Are you sure you want to skip buying resources without enough to power all your plants?",void(this.confirmVisible=!0);if(this.G.phase!=Iw.Bureaucracy||e.powerPlantsNotUsed.length==e.powerPlants.length){var n=this.G.log[this.G.log.length-1];if(n.player!=this.player||n.move.name==Vw.Pass){switch(this.G.phase){case Iw.Auction:this.confirmMessage="Are you sure you want to skip auctions?";break;case Iw.Resources:this.confirmMessage="Are you sure you want to skip buying resources?";break;case Iw.Building:this.confirmMessage="Are you sure you want to skip building?";break;case Iw.Bureaucracy:this.confirmMessage="Are you sure you want to pass? You didn't use any power plant!";break;default:this.confirmMessage="Are you sure you want to pass?"}return void(this.confirmVisible=!0)}}}}this.pass()}},{key:"confirmPass",value:function(){this.confirmVisible=!1,this.pass()}},{key:"pass",value:function(){this.sendMove({name:Vw.Pass,data:!0})}},{key:"undo",value:function(){if(!this.paused&&0!==this.turnMoves.length&&this.committedState)if(this.preferences.undoWholeTurn?this.turnMoves=[]:this.turnMoves.pop(),this.turnMoves.length>0){var e=this.replayTurnBuffer();this.emitter.emit("move",P(this.turnMoves)),this.replaceState(e,!1)}else this.replaceState(this.committedState,!1)}},{key:"choosePowerPlant",value:function(e){var n=this.G.players[this.player],t=n.availableMoves;t.ChoosePowerPlant&&t.ChoosePowerPlant.includes(e.number)&&(this.isSoleBuyer()?this.soleBuyerPlant=e:this.sendMove({name:Vw.ChoosePowerPlant,data:e.number}))}},{key:"isSoleBuyer",value:function(){if(!this.canMove()||this.G.phase!==Iw.Auction||this.G.chosenPowerPlant||!this.canChoose())return!1;var e=this.G.players.filter((function(e){return!e.skipAuction&&!e.isDropped}));return 1===e.length&&e[0].id===this.player}},{key:"soleBuyerPrice",value:function(){var e;if(!this.soleBuyerPlant)return 0;var n="recharged"===this.G.options.variant&&this.G.plantDiscountActive&&(null===(e=this.G.actualMarket[0])||void 0===e?void 0:e.number)===this.soleBuyerPlant.number;return n?1:this.soleBuyerPlant.number}},{key:"confirmSoleBuyerPurchase",value:function(){this.soleBuyerPlant&&this.sendMove({name:Vw.ChoosePowerPlant,data:this.soleBuyerPlant.number}),this.soleBuyerPlant=null}},{key:"buyResource",value:function(e){var n={resource:e.resource};e.side&&(n.side=e.side),e.fromStorage&&(n.fromStorage=e.fromStorage),this.sendMove({name:Vw.BuyResource,data:n})}},{key:"unbuyResource",value:function(e){if(!this.paused&&this.committedState){var n=dS(this.turnMoves,e);if(!(n<0))if(this.turnMoves.splice(n,1),this.turnMoves.length>0){var t=this.replayTurnBuffer();this.emitter.emit("move",P(this.turnMoves)),this.replaceState(t,!1)}else this.replaceState(this.committedState,!1)}}},{key:"bufferedBuys",get:function(){return lS(this.turnMoves)}},{key:"bid",value:function(e){this.sendMove({name:Vw.Bid,data:e})}},{key:"build",value:function(e){var n=this.G.players[this.player],t=n.availableMoves,r=t[Vw.Build],o=r.find((function(n){return n.name===e.name&&n.freeJump})),i=r.find((function(n){return n.name===e.name&&!n.freeJump}));o&&i?(this.freeJumpCity=e,this.freeJumpSlotPrice=o.price,this.freeJumpNormalPrice=i.price,this.freeJumpVisible=!0):o&&!i?(this.freeJumpCity=e,this.freeJumpSlotPrice=o.price,this.freeJumpNormalPrice=null,this.freeJumpVisible=!0):this.sendMove({name:Vw.Build,data:{name:e.name,price:i.price}})}},{key:"confirmFreeJump",value:function(e){var n=this.freeJumpCity,t=this.G.players[this.player],r=t.availableMoves[Vw.Build];if(this.freeJumpVisible=!1,this.freeJumpCity=null,e){var o=r.find((function(e){return e.name===n.name&&e.freeJump}));this.sendMove({name:Vw.Build,data:{name:n.name,price:o.price,freeJump:!0}})}else{var i=r.find((function(e){return e.name===n.name&&!e.freeJump}));this.sendMove({name:Vw.Build,data:{name:n.name,price:i.price}})}}},{key:"confirmDiscard",value:function(){var e=this.resourcesToDiscard.map((function(e){return parseInt(e.value)}));e.reduce((function(e,n){return e+n}),0)>0?this.sendMove({name:Vw.DiscardPowerPlant,data:this.discardedPowerPlant.number,extra:e}):this.sendMove({name:Vw.DiscardPowerPlant,data:this.discardedPowerPlant.number}),this.discardedPowerPlant=null,this.discardVisible=!1}},{key:"discardInvalid",value:function(){var e,n=this.G.players[this.player];switch(this.discardedPowerPlant.type){case Pw.Coal:return e=n.hybridCapacity-2*this.discardedPowerPlant.cost>0?Math.max(0,n.oilLeft-n.oilCapacity):0,n.coalCapacity+n.hybridCapacity-2*this.discardedPowerPlant.cost+parseInt(this.resourcesToDiscard[0].value)<n.coalLeft+e;case Pw.Oil:return e=n.hybridCapacity-2*this.discardedPowerPlant.cost>0?Math.max(0,n.coalLeft-n.coalCapacity):0,n.oilCapacity+n.hybridCapacity-2*this.discardedPowerPlant.cost+parseInt(this.resourcesToDiscard[0].value)<n.oilLeft+e;case Pw.Garbage:return n.garbageCapacity-2*this.discardedPowerPlant.cost-n.garbageLeft+parseInt(this.resourcesToDiscard[0].value)<0;case Pw.Uranium:return n.uraniumCapacity-2*this.discardedPowerPlant.cost-n.uraniumLeft+parseInt(this.resourcesToDiscard[0].value)<0;case Pw.Hybrid:var t=parseInt(this.resourcesToDiscard[0].value),r=parseInt(this.resourcesToDiscard[1].value),o=n.hybridCapacity-2*this.discardedPowerPlant.cost,i=Math.max(0,n.coalLeft-n.coalCapacity-t),a=Math.max(0,n.oilLeft-n.oilCapacity-r);return o<i+a}return!0}},{key:"powerPlantClick",value:function(e){var n,t,r=this;if((null===(n=this.G)||void 0===n?void 0:n.phase)==Iw.Auction)if(e.type==Pw.Wind||e.type==Pw.Nuclear)this.sendMove({name:Vw.DiscardPowerPlant,data:e.number});else{var o=this.G.players[this.player];switch(e.type){case Pw.Coal:if(o.powerPlants.filter((function(n){return n.type==e.type})).length+o.powerPlants.filter((function(e){return e.type==Pw.Hybrid})).length==1)return void this.sendMove({name:Vw.DiscardPowerPlant,data:e.number});if(0==o.coalLeft)return void this.sendMove({name:Vw.DiscardPowerPlant,data:e.number});this.resourcesToDiscard=[{name:"Coal",value:"0",max:o.coalLeft}];break;case Pw.Oil:if(o.powerPlants.filter((function(n){return n.type==e.type})).length+o.powerPlants.filter((function(e){return e.type==Pw.Hybrid})).length==1)return void this.sendMove({name:Vw.DiscardPowerPlant,data:e.number});if(0==o.oilLeft)return void this.sendMove({name:Vw.DiscardPowerPlant,data:e.number});this.resourcesToDiscard=[{name:"Oil",value:"0",max:o.oilLeft}];break;case Pw.Garbage:if(1==o.powerPlants.filter((function(n){return n.type==e.type})).length)return void this.sendMove({name:Vw.DiscardPowerPlant,data:e.number});if(0==o.garbageLeft)return void this.sendMove({name:Vw.DiscardPowerPlant,data:e.number});this.resourcesToDiscard=[{name:"Garbage",value:"0",max:o.garbageLeft}];break;case Pw.Uranium:if(1==o.powerPlants.filter((function(n){return n.type==e.type})).length)return void this.sendMove({name:Vw.DiscardPowerPlant,data:e.number});if(0==o.uraniumLeft)return void this.sendMove({name:Vw.DiscardPowerPlant,data:e.number});this.resourcesToDiscard=[{name:"Uranium",value:"0",max:o.uraniumLeft}];break;case Pw.Hybrid:if(o.powerPlants.filter((function(n){return n.type==e.type})).length+o.powerPlants.filter((function(e){return e.type==Pw.Coal})).length+o.powerPlants.filter((function(e){return e.type==Pw.Oil})).length==1)return void this.sendMove({name:Vw.DiscardPowerPlant,data:e.number});if(o.coalLeft+o.oilLeft==0)return void this.sendMove({name:Vw.DiscardPowerPlant,data:e.number});this.resourcesToDiscard=[{name:"Coal",value:"0",max:o.coalLeft},{name:"Oil",value:"0",max:o.oilLeft}];break}this.discardedPowerPlant=e,this.discardVisible=!0}else if((null===(t=this.G)||void 0===t?void 0:t.phase)==Iw.Bureaucracy){var i=[];switch(e.type){case Pw.Coal:i=Array(e.cost).fill(Mw.Coal);break;case Pw.Oil:i=Array(e.cost).fill(Mw.Oil);break;case Pw.Garbage:i=Array(e.cost).fill(Mw.Garbage);break;case Pw.Uranium:i=Array(e.cost).fill(Mw.Uranium);break;case Pw.Hybrid:var a=this.G.players[this.player];i=a.resourcesUsed,i.sort(),a.resourcesUsed=[],a.powerPlantsNotUsed=a.powerPlantsNotUsed.filter((function(n){return n!=e.number}));break}this.sendMove({name:Vw.UsePowerPlant,data:{powerPlant:e.number,resourcesSpent:i,citiesPowered:e.citiesPowered}}),this.disablePass=!0,setTimeout((function(){return r.disablePass=!1}),1e3)}}},{key:"discardResource",value:function(e){this.sendMove({name:Vw.DiscardResources,data:e})}},{key:"sendMove",value:function(e){if(!this.paused){var n=void 0!=this.player&&this.G&&this.G.players[this.player]?this.G.players[this.player].availableMoves:void 0,t=!!n&&!!n[e.name],r=w(w({},e),{},{time:Date.now()});this.turnMoves.push(r);var o=null;if(this.committedState&&void 0!=this.player){var i=this.turnMoves.length;if(o=this.replayTurnBuffer(),this.turnMoves.length<i){var a=this.turnMoves.length===i-1;if(cS(this.lastReplayFailure)||!t||!a)return;this.turnMoves.push(r),o=null}}this.emitter.emit("move",P(this.turnMoves)),o&&!1===o.newTurn&&this.replaceState(o,!1,!1)}}},{key:"gameEnded",value:function(e){return w_(e)}},{key:"moneyIsPublic",get:function(){return!!this.G&&(!!this.G.options.showMoney||this.gameIsOver||w_(this.G))}},{key:"canMove",value:function(){return void 0!=this.player&&this.G&&this.G.currentPlayers.includes(this.player)&&this.G.players[this.player]&&this.G.players[this.player].availableMoves}},{key:"canPass",value:function(){if(!this.canMove())return!1;if(this.disablePass)return!1;var e=this.G.players[this.player],n=e.availableMoves;return!!n[Vw.Pass]}},{key:"canUndo",value:function(){return!!this.canMove()&&this.turnMoves.length>0}},{key:"canBid",value:function(){if(!this.canMove())return!1;var e=this.G.players[this.player],n=e.availableMoves;return!!n[Vw.Bid]}},{key:"canChoose",value:function(){if(!this.canMove())return!1;var e=this.G.players[this.player],n=e.availableMoves;return!!n[Vw.ChoosePowerPlant]}},{key:"buyableResources",value:function(){if(!this.canMove())return[];var e=this.G.players[this.player],n=e.availableMoves;return n[Vw.BuyResource]||[]}},{key:"canBuyResource",value:function(e){if(!this.canMove())return!1;var n=this.G.players[this.player],t=n.availableMoves;return e?!!t[Vw.BuyResource]&&t[Vw.BuyResource].find((function(n){return n.resource==e})):!!t[Vw.BuyResource]}},{key:"getChooseablePowerPlants",value:function(){if(!this.canMove())return[];var e=this.G.players[this.player],n=e.availableMoves;return n[Vw.ChoosePowerPlant]}},{key:"getBuildableCities",value:function(){if(!this.canMove())return[];var e=this.G.players[this.player],n=e.availableMoves;return n[Vw.Build]&&n[Vw.Build].map((function(e){return e.name}))||[]}},{key:"getBuildableCityPrices",value:function(){if(!this.canMove())return{};var e=this.G.players[this.player].availableMoves[Vw.Build];if(!e)return{};var n,t={},r=I(e);try{for(r.s();!(n=r.n()).done;){var o=n.value;t[o.name]||(t[o.name]={}),o.freeJump?t[o.name].jumpPrice=o.price:t[o.name].price=o.price}}catch(i){r.e(i)}finally{r.f()}return t}},{key:"getPickableRegions",value:function(){if(!this.canMove())return[];var e=this.G.players[this.player],n=e.availableMoves;return n[Vw.ChooseRegion]||[]}},{key:"pickRegion",value:function(e){this.sendMove({name:Vw.ChooseRegion,data:e})}},{key:"canChooseColor",value:function(){if(!this.canMove())return!1;var e=this.G.players[this.player];return!!e.availableMoves[Vw.ChooseColor]}},{key:"getChooseableColors",value:function(){if(!this.canMove())return[];var e=this.G.players[this.player];return e.availableMoves[Vw.ChooseColor]||[]}},{key:"chooseColor",value:function(e){this.sendMove({name:Vw.ChooseColor,data:e})}},{key:"playerHasUsedFreeJump",value:function(e){var n,t,r=null===(n=this.G)||void 0===n?void 0:n.players[e];if(!r)return!1;if(r.usedFreeJump)return!0;if(null!==(t=this.G)&&void 0!==t&&t.log){var o,i=I(this.G.log);try{for(i.s();!(o=i.n()).done;){var a=o.value;if("move"===a.type&&a.player===e){var c,u=a.move;if((null===u||void 0===u?void 0:u.name)===Vw.Build&&!0===(null===u||void 0===u||null===(c=u.data)||void 0===c?void 0:c.freeJump))return!0}}}catch(s){i.e(s)}finally{i.f()}}return!1}},{key:"canBuild",value:function(e){if(!this.canMove())return!1;var n=this.G.players[this.player],t=n.availableMoves;return!!t[Vw.Build]&&t[Vw.Build].find((function(n){return n.name==e.name}))}},{key:"canUsePowerPlant",value:function(e){var n,t;if(!this.canMove())return!1;var r=this.G.players[this.player],o=r.availableMoves;return!(r.resourcesUsed.length>0)&&((null===(n=this.G)||void 0===n?void 0:n.phase)==Iw.Bureaucracy?!!o[Vw.UsePowerPlant]&&o[Vw.UsePowerPlant].find((function(n){return n.powerPlant==e.number})):(null===(t=this.G)||void 0===t?void 0:t.phase)==Iw.Auction?!!o[Vw.DiscardPowerPlant]&&o[Vw.DiscardPowerPlant].find((function(n){return n==e.number})):void 0)}},{key:"canPowerAllCitiesWithUsedPlants",value:function(e){var n=e.powerPlants.filter((function(n){return!e.powerPlantsNotUsed.includes(n.number)}));return n.reduce((function(e,n){return e+n.citiesPowered}),0)>=e.cities.length}},{key:"canPowerAllPlants",value:function(e){var n,t=0,r=0,o=0,i=0,a=0,c=I(e.powerPlants);try{for(c.s();!(n=c.n()).done;){var u=n.value;switch(u.type){case Pw.Coal:t+=u.cost;break;case Pw.Oil:r+=u.cost;break;case Pw.Garbage:o+=u.cost;break;case Pw.Uranium:i+=u.cost;break;case Pw.Hybrid:a+=u.cost;break}}}catch(d){c.e(d)}finally{c.f()}if(t>e.coalLeft||r>e.oilLeft||o>e.garbageLeft||i>e.uraniumLeft)return!1;var s=e.coalLeft-t,l=e.oilLeft-r;return!(a>s+l)}},{key:"playerBoughtResourceThisTurn",value:function(){for(var e=this.G.log,n=e.length-1;n>=0;n--){var t=e[n];if("move"!==t.type||t.player!==this.player)return!1;if(t.move.name===Vw.BuyResource)return!0}return!1}},{key:"toggleSound",value:function(){var e=!this.preferences.sound;this.emitter.emit("update:preference",{name:"sound",value:e}),this.preferences.sound=e}},{key:"toggleHelp",value:function(){var e=!this.preferences.disableHelp;this.emitter.emit("update:preference",{name:"disableHelp",value:e}),this.preferences.disableHelp=e}},{key:"showLog",value:function(){this.logVisible=!0}},{key:"getStatusMessage",value:function(){var e;if(this.G&&this.G.phase==Iw.ColorSelection&&void 0!==this.player&&this.G.currentPlayers.includes(this.player))return"Choose your color.";if(this.G&&this.G.phase==Iw.RegionSelection&&void 0!==this.player&&this.G.currentPlayers.includes(this.player)){var n=this.G.regionDraft;return n?"Choose a region to play in (".concat(n.picked.length+1," of ").concat(n.regionsNeeded,")."):"Choose a region to play in."}if(!this.G||1==this.G.log.length)return"Game Start!";if(0===this.G.currentPlayers.length)return"Game ended!";if(void 0!==this.player&&null!==(e=this.G)&&void 0!==e&&e.currentPlayers.includes(this.player)){var t=this.G.players[this.player];return t.availableMoves[Vw.ChoosePowerPlant]?t.availableMoves[Vw.Pass]?"Choose a Power Plant to start an auction, or pass.":"Choose a Power Plant to start an auction.":t.availableMoves[Vw.Bid]?"It's your turn to bid!":t.availableMoves[Vw.BuyResource]?"Buy resources on the market, or pass.":t.availableMoves[Vw.Build]?"Build a new city, or pass.":t.availableMoves[Vw.UsePowerPlant]?0!=t.resourcesUsed.length?"Choose which resources to spend.":"Choose which Power Plant to use.":t.availableMoves[Vw.DiscardPowerPlant]?"Choose which Power Plant to discard.":t.availableMoves[Vw.DiscardResources]?"Choose which resources to discard.":"It's your turn!"}var r=this.G.log[this.G.log.length-1];return"move"==r.type?r.simple:"event"==r.type?r.event:void 0}},{key:"isCurrentPlayer",value:function(e){return this.G&&this.G.currentPlayers.includes(e)}},{key:"logReversed",get:function(){var e=[];return this.G&&this.G.log&&(this.G.log.forEach((function(n){"event"==n.type?e.push(n.pretty||n.event):"move"==n.type&&e.push(n.pretty)})),e.reverse()),e}},{key:"logReversedSimple",get:function(){var e=[];return this.G&&this.G.log&&(this.G.log.forEach((function(n){"event"==n.type?e.push(n.event):"move"==n.type&&e.push(n.simple)})),e.reverse()),e}},{key:"onLogChanged",value:function(){this.emitter.emit("replaceLog",P(this.logReversedSimple).reverse())}},{key:"sortedPlayers",get:function(){return R_(this.G)}},{key:"spendingRows",get:function(){return[{label:"Income",value:function(e){return e.totalIncome}},{label:"Spending: Cities",value:function(e){return e.totalSpentCities}},{label:"Spending: Connections",value:function(e){return e.totalSpentConnections}},{label:"Cost per City",value:function(e){return e.cities.length?((e.totalSpentCities+e.totalSpentConnections)/e.cities.length).toFixed(1):"-"}},{label:"Spending: Plants",value:function(e){return e.totalSpentPlants}},{label:"Spending: Resources",value:function(e){return e.totalSpentResources}},{label:"Time Used",value:function(e){return lP(Aw(e))}}]}},{key:"standardDeckBuild",get:function(){var e,n,t;return null!==(e=VI[null!==(n=null===(t=this.G)||void 0===t?void 0:t.options.variant)&&void 0!==n?n:"recharged"])&&void 0!==e?e:VI.recharged}},{key:"mapDeckBuild",get:function(){var e,n,t,r=null===(e=this.G)||void 0===e?void 0:e.map.deckBuild;return r?"string"===typeof r?r:null!==(n=r[null!==(t=this.G.options.variant)&&void 0!==t?t:"recharged"])&&void 0!==n?n:"":""}},{key:"mapTransform",get:function(){var e;if(null===(e=this.G)||void 0===e||!e.map)return"";var n=W(this.G.map.mapPosition,2),t=n[0],r=n[1],o=this.G.map.mapRotation;if(!o)return"translate(".concat(t,", ").concat(r,")");var i=this.G.map.cities,a=i.map((function(e){return e.x})),c=i.map((function(e){return e.y})),u=(Math.min.apply(Math,P(a))+Math.max.apply(Math,P(a)))/2,s=(Math.min.apply(Math,P(c))+Math.max.apply(Math,P(c)))/2;return"translate(".concat(t,", ").concat(r,") rotate(").concat(o,", ").concat(u,", ").concat(s,")")}},{key:"sceneViewBox",get:function(){var e,n;return this.stacked?"0 0 ".concat(BI," ").concat(this.stackHeight):null!==(e=this.G)&&void 0!==e&&null!==(n=e.map)&&void 0!==n&&n.viewBox?"0 0 ".concat(this.G.map.viewBox[0]," ").concat(this.G.map.viewBox[1]):"0 0 1500 800"}},{key:"slotT",value:function(e){return this.slotTransforms[e]}},{key:"iconButton",value:function(e){return this.portraitViewport?"translate(110, ".concat(13+30*e,") scale(").concat(WI(26/30,4),")"):"translate(110, ".concat(13+41*e,")")}},{key:"isPortraitViewport",value:function(){return window.innerWidth<900&&window.innerHeight>1.1*window.innerWidth}},{key:"viewportIsMeasurable",value:function(){return window.innerWidth>0&&window.innerHeight>0}},{key:"shouldStack",value:function(){return this.isPortraitViewport()&&!1!==this.preferences.stackOnPortrait}},{key:"toggleStackLayout",value:function(){var e=!this.stacked;this.emitter.emit("update:preference",{name:"stackOnPortrait",value:e}),this.preferences.stackOnPortrait=e,this.relayout()}},{key:"showResourceTrack",get:function(){return!0===this.preferences.portraitResourceTrack}},{key:"setResourceView",value:function(e){e!==this.showResourceTrack&&(this.emitter.emit("update:preference",{name:"portraitResourceTrack",value:e}),this.preferences.portraitResourceTrack=e)}},{key:"onResourceViewChanged",value:function(){var e=this;this.$nextTick((function(){var n;e.G&&(null===(n=e.resources)||void 0===n||n.createPieces(e.G));e.scheduleRelayout()}))}},{key:"relayout",value:function(){if(this.viewportIsMeasurable())if(this.portraitViewport=this.isPortraitViewport(),this.shouldStack()){var e,n={},t=I(TI.flat());try{for(t.s();!(e=t.n()).done;){var r=e.value,o=this.$refs[$I(r)];if(o&&"function"===typeof o.getBBox)try{var i=o.getBBox();i.width>0&&i.height>0&&(n[r]={x:i.x,y:i.y,width:i.width,height:i.height})}catch(p){}}}catch(v){t.e(v)}finally{t.f()}var a,c=ZI*window.innerHeight*BI/window.innerWidth,u=function(e){return c/e},s={},l=EI,d=I(TI);try{var f=function(){var e=a.value,t=e.filter((function(e){return n[e]}));if(!t.length)return"continue";for(var r=UI*(t.length-1),o=BI-2*EI-r,i=t.reduce((function(e,t){return e+n[t].width}),0),c=function(e){var t,r;return Math.min(null!==(t=FI[e])&&void 0!==t?t:1/0,(null!==(r=KI[e])&&void 0!==r?r:1/0)*o/n[e].width,u(n[e].height),GI)},d=Math.min(o/i,GI),f=0;f<t.length;f++){var p,h=0,m=0,g=I(t);try{for(g.s();!(p=g.n()).done;){var y=p.value,b=c(y);b<d?h+=n[y].width*b:m+=n[y].width}}catch(v){g.e(v)}finally{g.f()}if(!m)break;var w=Math.min((o-h)/m,GI);if(w<=d+1e-4)break;d=w}var k,x=function(e){return Math.min(d,c(e))},_=t.reduce((function(e,t){return e+n[t].width*x(t)}),0),S=Math.max.apply(Math,P(t.map((function(e){return n[e].height*x(e)})))),M=(BI-(_+r))/2,C=I(t);try{for(C.s();!(k=C.n()).done;){var O=k.value,A=n[O],N=x(O),z=l+(S-A.height*N)/2;s[O]="translate(".concat(WI(M-A.x*N),", ").concat(WI(z-A.y*N),") scale(").concat(WI(N,4),")"),M+=A.width*N+UI}}catch(v){C.e(v)}finally{C.f()}l+=S+UI};for(d.s();!(a=d.n()).done;)f()}catch(v){d.e(v)}finally{d.f()}this.stackHeight=Math.round(l+EI-UI),this.slotTransforms=s,this.stacked=!0}else this.stacked&&(this.stacked=!1,this.slotTransforms={})}},{key:"onStackedChanged",value:function(){this.scheduleRelayout()}},{key:"scheduleRelayout",value:function(){var e=this;this.$nextTick((function(){return e.relayout()}))}},{key:"mounted",value:function(){window.addEventListener("resize",this.onViewportResize),window.addEventListener("orientationchange",this.onViewportResize),window.addEventListener("load",this.onViewportResize),window.visualViewport&&window.visualViewport.addEventListener("resize",this.onViewportResize),"undefined"!==typeof ResizeObserver&&(this.viewportObserver=new ResizeObserver(this.onViewportResize),this.viewportObserver.observe(document.documentElement)),this.scheduleRelayout()}},{key:"beforeDestroy",value:function(){window.removeEventListener("resize",this.onViewportResize),window.removeEventListener("orientationchange",this.onViewportResize),window.removeEventListener("load",this.onViewportResize),window.visualViewport&&window.visualViewport.removeEventListener("resize",this.onViewportResize),this.viewportObserver&&(this.viewportObserver.disconnect(),this.viewportObserver=null)}},{key:"onSceneContentChanged",value:function(){this.scheduleRelayout()}},{key:"adjustedPlayerOrder",get:function(){return RI(this.G,this.preferences.adjustPlayerOrder)}},{key:"getResourceResupply",value:function(){if(this.G){var e=this.G.resourceResupply[this.G.step-1];return e=e.substr(1,e.length-2),e.split(",")}return[0,0,0,0]}},{key:"getResourceResupplyNorth",value:function(){if(this.G&&this.G.resourceResupplyNorth){var e=this.G.resourceResupplyNorth[this.G.step-1];return e=e.substr(1,e.length-2),e.split(",")}return null}}]),t}(Rb.a);Eb([gw()],YI.prototype,"state",void 0),Eb([gw(),bw()],YI.prototype,"player",void 0),Eb([gw()],YI.prototype,"emitter",void 0),Eb([gw()],YI.prototype,"avatars",void 0),Eb([gw(),bw()],YI.prototype,"preferences",void 0),Eb([yw()],YI.prototype,"ui",void 0),Eb([yw()],YI.prototype,"communicator",void 0),Eb([bw()],YI.prototype,"G",void 0),Eb([ww()],YI.prototype,"powerPlantMarket",void 0),Eb([ww()],YI.prototype,"playerOrder",void 0),Eb([ww()],YI.prototype,"cityCount",void 0),Eb([ww()],YI.prototype,"map",void 0),Eb([ww()],YI.prototype,"resources",void 0),Eb([kw("state",{immediate:!0})],YI.prototype,"onStateChanged",null),Eb([kw("ui.waitingAnimations")],YI.prototype,"updateUI",null),Eb([kw("G.log")],YI.prototype,"onLogChanged",null),Eb([kw("showResourceTrack")],YI.prototype,"onResourceViewChanged",null),Eb([kw("stacked")],YI.prototype,"onStackedChanged",null),Eb([kw("G")],YI.prototype,"onSceneContentChanged",null),YI=Eb([uw({created:function(){var e=this;this.emitter.on("replayStart",(function(){e.paused=!0,e.emitter.emit("replay:info",{start:1,current:e.G.log.filter((function(e){return"move"==e.type})).length,end:e._futureState.log.filter((function(e){return"move"==e.type})).length})})),this.emitter.on("replayTo",(function(n){var t=e._futureState.log.map((function(e,n){return w({index:n},e)})).filter((function(e){return"move"==e.type}));n=t[n-1].index,e.replaceState(k_(e._futureState,n+1),!1),e.emitter.emit("replay:info",{start:1,current:e.G.log.filter((function(e){return"move"==e.type})).length+e.G.hiddenLog.length,end:e._futureState.log.filter((function(e){return"move"==e.type})).length})})),this.emitter.on("replayEnd",(function(){e.paused=!1,e.emitter.emit("fetchState")}))},components:{InlineLog:eS,PlayerBoard:hP,Card:Hw,House:zS,Coal:yS,Oil:VS,Garbage:MS,Uranium:XS,PassButton:jM,UndoButton:cP,LogButton:PM,SoundButton:UM,HelpButton:fM,RulesButton:eP,LayoutButton:bM,ResourceViewButton:WM,Button:iM,Calculator:xP,PowerPlantMarket:OP,PlayerOrder:RP,CityCount:FP,Map:XP,Resources:DI,ResourceBoxes:CI}})],YI);var JI=YI,HI=JI,qI=(t("bb9a"),t("7339"),Gw(HI,Tb,Bb,!1,null,null,null)),XI=qI.exports,QI=(t("c6a8"),/^[A-Za-z0-9_.-]+$/);function eC(e){return!QI.test(e)}function nC(e,n){var t=e.lastIndexOf('@"',n),r=t>=0?e.indexOf('"',t+2):-2;if(t>=0&&(-1===r||r>=n))return t>0&&/\S/.test(e[t-1])?null:{query:e.slice(t+2,n),start:t,end:n,quoted:!0};var o=n;while(o>0&&QI.test(e[o-1]))o--;if(o===n&&o>0&&"@"===e[o-1])return{query:"",start:o-1,end:n,quoted:!1};if(0===o||"@"!==e[o-1])return null;var i=o-1;return i>0&&/\S/.test(e[i-1])?null:{query:e.slice(i+1,n),start:i,end:n,quoted:!1}}function tC(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:8,r=n.toLowerCase();return e.filter((function(e){return e.name.toLowerCase().startsWith(r)})).toSorted((function(e,n){var t=e.name.toLowerCase(),o=n.name.toLowerCase();return t===r?-1:o===r?1:t<o?-1:t>o?1:0})).slice(0,t)}function rC(e,n,t){var r=eC(t)?'@"'.concat(t,'"'):"@".concat(t),o=e.slice(0,n.start)+r+" "+e.slice(n.end);return{text:o,caret:n.start+r.length}}var oC=function(){function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};C(this,e),y(this,"state",{enabled:!1,mentions:[],open:!0,messages:[],canSend:!1,disabled:!1,reason:"",draft:"",error:"",pending:"",unreadIds:[]}),y(this,"listeners",new Set),y(this,"sequence",0),y(this,"sent",""),y(this,"newestRead",""),y(this,"timer",void 0),y(this,"readTimer",void 0),y(this,"disposed",!1),y(this,"send",(function(){})),y(this,"read",(function(){})),y(this,"options",void 0),this.options=n}return A(e,[{key:"snapshot",get:function(){return this.state}},{key:"unread",get:function(){return this.state.unreadIds.length}},{key:"subscribe",value:function(e){var n=this;return this.listeners.add(e),e(this.state),function(){n.listeners.delete(e)}}},{key:"change",value:function(e){if(!this.disposed){this.state=w(w({},this.state),e);var n,t=I(this.listeners);try{for(t.s();!(n=t.n()).done;){var r=n.value;r(this.state)}}catch(o){t.e(o)}finally{t.f()}}}},{key:"setDraft",value:function(e){this.change({draft:e})}},{key:"setOpen",value:function(e){this.change({open:e})}},{key:"setPlayer",value:function(e){this.change({playerIndex:e})}},{key:"setDisabled",value:function(e){this.change({disabled:e})}},{key:"setState",value:function(e){var n,t;this.change({enabled:!0,canSend:e.canSend,reason:null!==(n=e.reason)&&void 0!==n?n:"",mentions:null!==(t=e.mentions)&&void 0!==t?t:[]})}},{key:"suggestions",value:function(e){var n=this;return tC(this.state.mentions.filter((function(e){return void 0===n.state.playerIndex||e.playerIndex!==n.state.playerIndex})),e)}},{key:"replace",value:function(e){var n=new Set(e.map((function(e){return e._id})));this.change({enabled:!0,messages:this.unique(e),unreadIds:this.state.unreadIds.filter((function(e){return n.has(e)}))})}},{key:"unique",value:function(e){var n=new Set;return e.filter((function(e){return!e._id||!n.has(e._id)&&(n.add(e._id),!0)}))}},{key:"append",value:function(e){var n=this,t=new Set(this.state.messages.map((function(e){return e._id}))),r=this.unique(e).filter((function(e){return!e._id||!t.has(e._id)}));this.change({messages:[].concat(P(this.state.messages),P(r)),unreadIds:[].concat(P(this.state.unreadIds),P(r.filter((function(e){return e._id&&(void 0===e.playerIndex||e.playerIndex!==n.state.playerIndex)})).map((function(e){return e._id}))))})}},{key:"update",value:function(e){var n=new Map(e.filter((function(e){return e._id})).map((function(e){return[e._id,e]})));this.change({messages:this.state.messages.map((function(e){var t;return null!==(t=n.get(e._id))&&void 0!==t?t:e}))})}},{key:"delete",value:function(e){var n=new Set(e);this.change({messages:this.state.messages.filter((function(e){return!e._id||!n.has(e._id)})),unreadIds:this.state.unreadIds.filter((function(e){return!n.has(e)}))})}},{key:"markRead",value:function(e){var n,t=this,r=this.state.messages.findIndex((function(n){return n._id===e}));if(!(r<0)&&/^[0-9a-f]{24}$/i.test(e)){var o=new Set(this.state.messages.slice(0,r+1).map((function(e){return e._id}))),i=this.state.unreadIds.filter((function(e){return!o.has(e)}));i.length!==this.state.unreadIds.length&&this.change({unreadIds:i});var a=e.toLowerCase();a<=this.newestRead||this.disposed||(this.newestRead=a,this.readTimer||(this.readTimer=setTimeout((function(){t.readTimer=void 0,t.read(t.newestRead)}),null!==(n=this.options.readDelayMs)&&void 0!==n?n:500)))}}},{key:"submit",value:function(){var e,n=this,t=this.state,r=t.canSend,o=t.disabled,i=t.pending,a=t.draft;if(!this.disposed&&r&&!o&&!i&&a.trim()){this.sent=a;var c="bgs-chat-".concat(Date.now(),"-").concat(++this.sequence);this.change({error:"",pending:c}),this.timer=setTimeout((function(){return n.change({pending:"",error:"Delivery could not be confirmed. Check the chat before retrying."})}),null!==(e=this.options.sendTimeoutMs)&&void 0!==e?e:2e4);try{this.send({text:a.trim(),requestId:c})}catch(u){this.result({requestId:c,ok:!1,error:"Message could not be sent. Please try again."})}}}},{key:"result",value:function(e){e.requestId!==this.state.pending||this.disposed||(clearTimeout(this.timer),this.change(w({pending:""},e.ok?{draft:this.state.draft===this.sent?"":this.state.draft}:{error:e.error||"Message could not be sent. Please try again."})))}},{key:"destroy",value:function(){this.disposed=!0,clearTimeout(this.timer),clearTimeout(this.readTimer),this.listeners.clear()}}]),e}();function iC(e,n){var t=new Intl.DateTimeFormat(n,{year:"numeric",month:"long",day:"numeric"}),r="";return e.map((function(e){var n,o=new Date(null!==(n=e.createdAt)&&void 0!==n?n:"");if(!Number.isNaN(o.getTime())){var i="".concat(o.getFullYear(),"-").concat(String(o.getMonth()+1).padStart(2,"0"),"-").concat(String(o.getDate()).padStart(2,"0"));if(i!==r)return r=i,{dateTime:i,label:t.format(o)}}}))}function aC(e,n){var t=n.chat,r=[],o=0,i=null,a=!0,c=!1,u=!1;function s(){var c,s;i=a||u||e.disabled?null:nC(e.value,null!==(c=e.selectionStart)&&void 0!==c?c:e.value.length),r=i?t.suggestions(i.query).slice(0,null!==(s=n.maxSuggestions)&&void 0!==s?s:6):[],o=Math.min(o,Math.max(0,r.length-1)),n.onSuggestions({candidates:r,selected:o})}function l(n){var o=r[n];if(!c&&!e.disabled&&i&&o){var u=rC(e.value,i,o.name);a=!0,t.setDraft(u.text),e.focus({preventScroll:!0}),e.setSelectionRange(u.caret+1,u.caret+1),s()}}function d(){a=!1,o=0,t.setDraft(e.value),s()}function f(){a=!1,s()}function p(n){u||n.isComposing||e.disabled||(r.length&&["ArrowDown","ArrowUp","Enter","Tab","Escape"].includes(n.key)?(n.preventDefault(),n.stopPropagation(),"Escape"===n.key?(a=!0,s()):"Enter"===n.key||"Tab"===n.key?l(o):(o=(o+("ArrowDown"===n.key?1:r.length-1))%r.length,s())):"Enter"!==n.key||n.shiftKey||(n.preventDefault(),n.stopPropagation(),t.submit()))}function v(e){["ArrowLeft","ArrowRight","Home","End"].includes(e.key)&&f()}function h(){u=!0,s()}function m(){u=!1,d()}var g=t.subscribe((function(n){e.value!==n.draft&&(e.value=n.draft),e.disabled=!n.canSend||n.disabled,s()}));return e.addEventListener("input",d),e.addEventListener("click",f),e.addEventListener("keydown",p),e.addEventListener("keyup",v),e.addEventListener("compositionstart",h),e.addEventListener("compositionend",m),{choose:l,destroy:function(){c=!0,g(),e.removeEventListener("input",d),e.removeEventListener("click",f),e.removeEventListener("keydown",p),e.removeEventListener("keyup",v),e.removeEventListener("compositionstart",h),e.removeEventListener("compositionend",m)}}}function cC(e,n){var t,r,o,i,a,c,u,s=n.chat,l=e.ownerDocument,d=l.defaultView,f=!1,p=!0,v=!1,h=-1,m=!1,g=new Map,y=new Set;function b(){var e,t,r,o,i,a,c,u,s,l,f,p,v=d.visualViewport,h=null!==(e=null===(t=n.viewport)||void 0===t?void 0:t.call(n))&&void 0!==e?e:{};return{top:Math.max(null!==(r=null===v||void 0===v?void 0:v.offsetTop)&&void 0!==r?r:0,null!==(o=h.top)&&void 0!==o?o:0),left:Math.max(null!==(i=null===v||void 0===v?void 0:v.offsetLeft)&&void 0!==i?i:0,null!==(a=h.left)&&void 0!==a?a:0),bottom:Math.min((null!==(c=null===v||void 0===v?void 0:v.offsetTop)&&void 0!==c?c:0)+(null!==(u=null===v||void 0===v?void 0:v.height)&&void 0!==u?u:d.innerHeight),null!==(s=h.bottom)&&void 0!==s?s:1/0),right:Math.min((null!==(l=null===v||void 0===v?void 0:v.offsetLeft)&&void 0!==l?l:0)+(null!==(f=null===v||void 0===v?void 0:v.width)&&void 0!==f?f:d.innerWidth),null!==(p=h.right)&&void 0!==p?p:1/0)}}function w(){for(var n=b(),t=e;t;t=t.parentElement){var r=d.getComputedStyle(t),o=t.getBoundingClientRect();(t===e||/auto|scroll|hidden|clip/.test(r.overflowY))&&(n.top=Math.max(n.top,o.top),n.bottom=Math.min(n.bottom,o.bottom)),(t===e||/auto|scroll|hidden|clip/.test(r.overflowX))&&(n.left=Math.max(n.left,o.left),n.right=Math.min(n.right,o.right))}return n}function k(){return Array.from(e.querySelectorAll("[data-message-id]"))}function x(){var t,r,o,i,a,d=e.getBoundingClientRect(),f=w(),p=s.snapshot.open&&(null===(t=null===(r=n.isVisible)||void 0===r?void 0:r.call(n))||void 0===t||t)&&e.checkVisibility({opacityProperty:!0,visibilityProperty:!0})&&d.height>0,v=p&&f.right>f.left&&Math.min(f.bottom-f.top,null!==(o=null===(i=u)||void 0===i?void 0:i.intersectionRect.height)&&void 0!==o?o:0)>=Math.min(80,d.height);v!==c&&(c=v,null===(a=n.onVisibilityChange)||void 0===a||a.call(n,v));if(!(!p||f.right<=f.left||f.bottom<=f.top||"visible"!==l.visibilityState)){var h=k().findLast((function(e){var n=e.getBoundingClientRect();return y.has(g.get(e))&&n.width>0&&n.bottom<=f.bottom+1&&n.bottom>f.top&&(n.top>=f.top-1||n.height>f.bottom-f.top)&&n.left<f.right&&n.right>f.left}));null!==h&&void 0!==h&&h.dataset.messageId&&s.markRead(h.dataset.messageId)}}function _(){f||void 0!==a||(a=d.requestAnimationFrame((function(){var t,r;if(a=void 0,e.clientHeight&&s.snapshot.open&&(null===(t=null===(r=n.isVisible)||void 0===r?void 0:r.call(n))||void 0===t||t)){if(m){var o=k().find((function(e){var n;return s.snapshot.unreadIds.includes(null!==(n=e.dataset.messageId)&&void 0!==n?n:"")}));o?(e.scrollTop+=o.getBoundingClientRect().top-e.getBoundingClientRect().top,p=e.scrollHeight-e.scrollTop-e.clientHeight<32):p=!0,m=!1}p&&(e.scrollTop=e.scrollHeight),h=e.scrollTop,v||(v=s.snapshot.messages.length>0)}O(),x()})))}function S(){e.clientHeight&&v&&e.scrollTop!==h&&(p=e.scrollHeight-e.scrollTop-e.clientHeight<32),_()}var M=new ResizeObserver(_);M.observe(e),M.observe(null!==(t=n.contents)&&void 0!==t?t:e);var P=new MutationObserver(_);P.observe(null!==(r=n.contents)&&void 0!==r?r:e,{childList:!0,subtree:!0,characterData:!0});var C=new IntersectionObserver((function(n){var t,r=I(n);try{for(r.s();!(t=r.n()).done;){var o=t.value;o.target===e?u=o:o.isIntersecting?y.add(o.target):y.delete(o.target)}}catch(i){r.e(i)}finally{r.f()}_()}),{threshold:[0,.25,.5,.75,1]});function O(){var e,n=new Set(k()),t=I(g);try{for(t.s();!(e=t.n()).done;){var r=W(e.value,2),o=r[0],i=r[1];n.has(o)&&o.contains(i)||(C.unobserve(i),y.delete(i),g.delete(o),i.remove())}}catch(d){t.e(d)}finally{t.f()}var a,c=I(n);try{for(c.s();!(a=c.n()).done;){var u=a.value;if(!g.has(u)){var s=l.createElement("span");s.setAttribute("aria-hidden","true"),s.style.cssText="display:block;width:100%;height:0;pointer-events:none",u.append(s),g.set(u,s),C.observe(s)}}}catch(d){c.e(d)}finally{c.f()}}C.observe(e);var A=s.subscribe(_);return e.addEventListener("scroll",S,{passive:!0}),l.addEventListener("scroll",_,{passive:!0,capture:!0}),l.addEventListener("visibilitychange",_),d.addEventListener("scroll",_,{passive:!0}),d.addEventListener("focus",_),d.addEventListener("resize",_),null===(o=d.visualViewport)||void 0===o||o.addEventListener("resize",_),null===(i=d.visualViewport)||void 0===i||i.addEventListener("scroll",_),{refresh:_,bounds:b,open:function(){f||(s.setOpen(!0),m=!0,_())},destroy:function(){var n,t;f=!0,void 0!==a&&d.cancelAnimationFrame(a),A(),M.disconnect(),P.disconnect(),C.disconnect();var r,o=I(g.values());try{for(o.s();!(r=o.n()).done;){var i=r.value;i.remove()}}catch(c){o.e(c)}finally{o.f()}g.clear(),y.clear(),e.removeEventListener("scroll",S),l.removeEventListener("scroll",_,!0),l.removeEventListener("visibilitychange",_),d.removeEventListener("scroll",_),d.removeEventListener("focus",_),d.removeEventListener("resize",_),null===(n=d.visualViewport)||void 0===n||n.removeEventListener("resize",_),null===(t=d.visualViewport)||void 0===t||t.removeEventListener("scroll",_)}}}var uC=0,sC={title:"Chat",message:"Chat message",placeholder:"Message…",suggestions:"Mention suggestions",send:"Send",sending:"Sending…",empty:"No messages yet",edited:"edited",game:"Game",date:function(e){return e.toLocaleDateString([],{year:"numeric",month:"long",day:"numeric"})},unread:function(e){return"".concat(e," unread")},status:function(e){var n={"not-logged-in":"Sign in to chat","not-confirmed":"Confirm your account to chat","not-a-player":"Only players can send messages","chat-disabled":"Chat disabled","no-game":"Chat will be available when the game starts"};return e.disabled?"Chat disabled":e.enabled?e.canSend?"":n[e.reason]||"Chat is read-only":"Chat is connecting…"}},lC='\n.bgs-game-chat{box-sizing:border-box;min-width:0;font:inherit;line-height:1.4;border:1px solid var(--chat-border,#9eb4b5);border-radius:3px;padding:8px 12px;background:var(--chat-background,#e5eeea);color:var(--chat-color,#203a45)}\n.bgs-game-chat summary{cursor:pointer;font-weight:600}\n.bgs-game-chat .chat-messages{max-height:var(--chat-height,250px);overflow:auto;overflow-anchor:none;margin:6px 0 8px}\n.bgs-game-chat article{padding:5px 0;border-bottom:1px solid var(--chat-border,#9eb4b5);white-space:pre-wrap;overflow-wrap:anywhere}\n.bgs-game-chat time,.bgs-game-chat .chat-edited{font-size:.85em;opacity:.75;margin-left:8px;white-space:nowrap}\n.bgs-game-chat .chat-day{display:flex;align-items:center;gap:8px;margin:12px 0 6px;font-size:.85em;opacity:.8}\n.bgs-game-chat .chat-day::before,.bgs-game-chat .chat-day::after{content:"";flex:1;border-top:1px solid var(--chat-border,#9eb4b5)}\n.bgs-game-chat .chat-day time{margin:0;opacity:1}\n.bgs-game-chat .chat-composer{display:flex;gap:6px;align-items:center}\n.bgs-game-chat input{flex:1;min-width:0;box-sizing:border-box;height:30px;padding:4px 7px;border:1px solid var(--chat-border,#9eb4b5);border-radius:2px;background:var(--chat-input-background,#f2f4ee);color:inherit;font:inherit}\n.bgs-game-chat button{box-sizing:border-box;min-height:30px;padding:3px 10px;border:1px solid var(--chat-border,#9eb4b5);border-radius:2px;background:var(--chat-button-background,#dddeda);color:inherit;font:inherit;cursor:pointer}\n.bgs-game-chat button:disabled{opacity:.6;cursor:default}\n.bgs-game-chat .chat-author,.bgs-game-chat .chat-mention{min-height:0;padding:0;border:0;background:transparent;font-weight:600;color:inherit}\n.bgs-game-chat article a,.bgs-game-chat .chat-mention{text-decoration:underline;color:var(--chat-link-color,inherit)}\n.bgs-game-chat :focus-visible,.bgs-game-chat .chat-suggestions button[aria-pressed="true"]{outline:2px solid var(--chat-accent,#247d8c);outline-offset:2px}\n.bgs-game-chat .chat-suggestions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}\n.bgs-game-chat .chat-status{font-size:.9em;margin-top:6px}\n.bgs-game-chat .chat-suggestions:empty,.bgs-game-chat .chat-status:empty{display:none}\n';function dC(e,n){var t,r=n.chat,o=w(w({},sC),n.labels),i=e.ownerDocument,a=i.defaultView,c=new AbortController,u={signal:c.signal},s=new AbortController,l=new AbortController,d=i.createElement("details");d.className="bgs-game-chat";var f=i.createElement("summary"),p=i.createElement("div");p.className="chat-messages",p.setAttribute("role","log"),p.setAttribute("aria-label",o.title),p.tabIndex=0;var v=i.createElement("div");v.className="chat-contents",p.append(v);var h=i.createElement("div");h.className="chat-composer";var m=i.createElement("input");m.type="text",m.autocomplete="off",m.placeholder=o.placeholder,m.setAttribute("aria-label",o.message);var g=i.createElement("button");g.type="button",h.append(m,g);var y=i.createElement("div");y.className="chat-suggestions",y.id="bgs-chat-mentions-".concat(++uC),y.setAttribute("role","listbox"),m.setAttribute("role","combobox"),m.setAttribute("aria-autocomplete","list"),m.setAttribute("aria-controls",y.id),y.setAttribute("aria-label",o.suggestions);var b=i.createElement("div");if(b.className="chat-status",b.setAttribute("role","status"),d.append(f,p,h,y,b),!1!==n.styles){var k=i.createElement("style");k.textContent=lC,d.append(k)}e.append(d);var x,_,S=!1,M=r.snapshot.mentions;function P(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=i.createElement("a");return r.textContent=e,r.href=n,r.target="_blank",r.rel="noopener noreferrer",r.className=t,r}function C(e,t){var o,a,c=I(null!==(o=t.segments)&&void 0!==o?o:[{kind:"text",text:t.text}]);try{var u=function(){var t=a.value;if("link"===t.kind&&/^https?:\/\//i.test(t.url))e.append(P(t.text,t.url));else if("mention"===t.kind){var o,c=null===(o=r.snapshot.mentions.find((function(e){return e.id===t.id})))||void 0===o?void 0:o.playerIndex;if(void 0!==c&&n.openPlayer){var u=i.createElement("button");u.type="button",u.className="chat-mention",u.textContent="@".concat(t.name),u.addEventListener("click",(function(){var e;return null===(e=n.openPlayer)||void 0===e?void 0:e.call(n,c)}),{signal:s.signal}),e.append(u)}else e.append(P("@".concat(t.name),"https://boardgamers.space/user/".concat(encodeURIComponent(t.name)),"chat-mention"))}else e.append(i.createTextNode(t.text))};for(c.s();!(a=c.n()).done;)u()}catch(l){c.e(l)}finally{c.f()}}function O(){if(!S){s.abort(),s=new AbortController;var e,t=i.createDocumentFragment(),c=iC(r.snapshot.messages),u=I(r.snapshot.messages.entries());try{var l=function(){var r,u,l=W(e.value,2),d=l[0],f=l[1],p=c[d];if(p){var v=i.createElement("div");v.className="chat-day";var h=i.createElement("time");h.dateTime=p.dateTime,h.textContent=o.date(new Date(f.createdAt)),v.append(h),t.append(v)}var m=i.createElement("article");m.dataset.messageId=null!==(r=f._id)&&void 0!==r?r:"",m.classList.toggle("system","system"===f.type);var g=null===(u=n.renderAuthor)||void 0===u?void 0:u.call(n,f);if(!g){var y,b=i.createElement(void 0!==f.playerIndex&&n.openPlayer?"button":"strong");b.className="chat-author",b.textContent=null!==(y=f.author)&&void 0!==y?y:o.game,b instanceof a.HTMLButtonElement&&(b.type="button",b.addEventListener("click",(function(){var e;return null===(e=n.openPlayer)||void 0===e?void 0:e.call(n,f.playerIndex)}),{signal:s.signal})),g=b}if(m.append(g,i.createTextNode(" ")),C(m,f),f.createdAt&&!Number.isNaN(new Date(f.createdAt).getTime())){var w=i.createElement("time"),k=new Date(f.createdAt);w.dateTime=f.createdAt,w.textContent=k.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),w.title=k.toLocaleString(),m.append(w)}if(f.editedAt){var x=i.createElement("span");x.className="chat-edited",x.textContent=" (".concat(o.edited,")"),x.title=f.editedAt,m.append(x)}t.append(m)};for(u.s();!(e=u.n()).done;)l()}catch(f){u.e(f)}finally{u.f()}if(!t.childNodes.length){var d=i.createElement("p");d.className="chat-empty",d.textContent=o.empty,t.append(d)}v.replaceChildren(t)}}var A=aC(m,{chat:r,onSuggestions:function(e){var n=e.candidates,t=e.selected;l.abort(),l=new AbortController,y.replaceChildren(),m.setAttribute("aria-expanded",String(n.length>0)),n.length?m.setAttribute("aria-activedescendant","".concat(y.id,"-").concat(t)):m.removeAttribute("aria-activedescendant"),n.forEach((function(e,n){var r=i.createElement("button");r.type="button",r.textContent="@".concat(e.name),r.id="".concat(y.id,"-").concat(n),r.setAttribute("role","option"),r.setAttribute("aria-selected",String(t===n)),r.setAttribute("aria-pressed",String(t===n)),r.addEventListener("mousedown",(function(e){return e.preventDefault()}),{signal:l.signal}),r.addEventListener("click",(function(){return A.choose(n)}),{signal:l.signal}),y.append(r)}))}}),N=cC(p,{chat:r,contents:v,viewport:n.viewport,onVisibilityChange:n.onVisibilityChange});function z(){if(i.activeElement===m){var e=m.getBoundingClientRect(),n=N.bounds();e.bottom>n.bottom-8?a.scrollBy({top:e.bottom-n.bottom+8}):e.top<n.top+8&&a.scrollBy({top:e.top-n.top-8})}}var j=r.subscribe((function(e){d.open=e.open,f.textContent=e.unreadIds.length?"".concat(o.title," · ").concat(o.unread(e.unreadIds.length)):o.title,g.textContent=e.pending?o.sending:o.send,g.disabled=!e.canSend||e.disabled||!!e.pending||!e.draft.trim(),b.textContent=e.error||(e.pending?o.sending:o.status(e)),e.messages===_&&e.mentions===M||(_=e.messages,M=e.mentions,O())}));return g.addEventListener("click",(function(){return r.submit()}),u),d.addEventListener("toggle",(function(){r.snapshot.open!==d.open&&r.setOpen(d.open),N.refresh()}),u),m.addEventListener("focus",z),a.addEventListener("resize",z),null===(t=a.visualViewport)||void 0===t||t.addEventListener("resize",z),{element:d,refresh:function(){O(),N.refresh(),z()},open:function(){S||(N.open(),void 0!==x&&a.cancelAnimationFrame(x),x=a.requestAnimationFrame((function(){x=void 0;var e=d.getBoundingClientRect(),n=N.bounds();a.scrollBy({top:e.top-Math.max(n.top+8,(n.bottom+n.top-e.height)/2)}),f.focus({preventScroll:!0}),N.refresh()})))},destroy:function(){var e;S=!0,void 0!==x&&a.cancelAnimationFrame(x),c.abort(),s.abort(),l.abort(),j(),A.destroy(),N.destroy(),m.removeEventListener("focus",z),a.removeEventListener("resize",z),null===(e=a.visualViewport)||void 0===e||e.removeEventListener("resize",z),d.remove()}}}function fC(e,n){var t,r=new oC,o=Ab(e,r),i=n.querySelector(".chat-host")||document.createElement("div");i.parentElement||n.insertAdjacentElement("afterend",i);var a=document.createElement("style");a.textContent='\n.bgs-game-chat{box-sizing:border-box;font:14px/1.4 Arial,sans-serif;border:1px solid #a2aa82;border-radius:3px;margin:8px 0;padding:8px 12px;background:#f3f0dc;color:#263521}\n.bgs-game-chat summary{cursor:pointer;font-weight:650;border-radius:3px;width:fit-content;padding:2px 4px;margin:-2px -4px}\n.bgs-game-chat summary:hover{color:#126778}\n.bgs-game-chat summary:focus-visible,.bgs-game-chat button:focus-visible{outline:2px solid #247d8c;outline-offset:3px}\n.bgs-game-chat .chat-day{display:flex;align-items:center;gap:8px;margin:12px 0 6px;font-size:.85em;opacity:.8}\n.bgs-game-chat .chat-day::before,.bgs-game-chat .chat-day::after{content:"";flex:1;border-top:1px solid currentColor;opacity:.3}\n.bgs-game-chat .chat-day time{margin:0;color:inherit;font-size:inherit}\n.bgs-game-chat .chat-messages{max-height:250px;overflow:auto;overscroll-behavior:auto;margin:6px 0 8px}\n.bgs-game-chat article{padding:5px 0;border-bottom:1px solid #75818d26;white-space:pre-wrap;overflow-wrap:anywhere}\n.bgs-game-chat article strong{padding:0 3px;font-weight:bold}\n.bgs-game-chat article:last-child{border-bottom:0}\n.bgs-game-chat time{font-size:12px;color:#536e77;margin-left:8px;white-space:nowrap}\n.bgs-game-chat .chat-composer{display:flex;gap:6px;align-items:center;margin:0}\n.bgs-game-chat input{flex:1;min-width:0;box-sizing:border-box;height:30px;background:#f3f5eb;color:#263521;border:1px solid #899997;border-radius:2px;padding:4px 7px;font:14px Arial,sans-serif}\n.bgs-game-chat input::placeholder{color:#637477}\n.bgs-game-chat input:focus{outline:2px solid #527f89;outline-offset:1px}\n.bgs-game-chat button{box-sizing:border-box;height:30px;cursor:pointer;border:1px solid #7f8c8d;border-radius:3px;background:#dddeda;color:#172d34;padding:3px 12px;font:14px Arial,sans-serif}\n.bgs-game-chat button:hover:not(:disabled){background:#c8d3d0}\n.bgs-game-chat button:disabled{color:#788786;border-color:#b0bcb8;background:#dce3df;cursor:default}\n.bgs-game-chat .chat-mention{height:auto;padding:0 2px;border:0;background:transparent;color:inherit;font:inherit;font-weight:bold;text-decoration:underline}\n.bgs-game-chat article a{color:inherit;text-decoration:underline}\n.chat-suggestions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}\n.chat-suggestions:empty{display:none}\n.chat-suggestions button[aria-pressed="true"]{outline:2px solid #527f89}\n.bgs-game-chat .chat-status{font-size:12px;margin-top:6px}\n.bgs-game-chat .chat-status:empty{display:none}\n.chat-shortcut{position:fixed;left:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:900;padding:7px 12px;border:1px solid #6a8589;border-radius:3px;background:#263521;color:#fff;font:600 14px Arial,sans-serif;cursor:pointer;box-shadow:0 2px 6px #0003}\n.chat-shortcut[hidden]{display:none}\n.game-feed-tabs{display:none}\n@media(max-width:700px){\n.game-feed-tabs{display:flex;gap:4px;margin-top:8px}\n.game-feed-tabs button{border:1px solid #a2aa82;border-radius:3px 3px 0 0;padding:7px 14px;background:#e7ead7;color:#263521;font:600 14px Arial,sans-serif;cursor:pointer}\n.game-feed-tabs button[aria-pressed="true"]{background:#f3f0dc;border-bottom:3px solid #526f32}\n.game-feed-tabs button:focus-visible{outline:2px solid #247d8c;outline-offset:2px}\n.journal-and-chat[data-feed="chat"]>.inline-game-log,.journal-and-chat[data-feed="journal"]>.chat-host{display:none}\n}\n.chat-shortcut:hover{background:#315966}\n.chat-shortcut:focus-visible{outline:2px solid #fff;outline-offset:2px}\n\n',i.append(a);var c,u=[],s=!1,l=document.createElement("button");l.type="button",l.className="chat-shortcut",l.hidden=!0,(n.querySelector(".chat-tabs-host")||i).append(l);var d=n.querySelector(".journal-and-chat"),f=document.createElement("nav");f.className="game-feed-tabs",f.setAttribute("aria-label","Chat and journal");var p=document.createElement("button"),v=document.createElement("button");function h(e){d&&(d.dataset.feed=e),p.setAttribute("aria-pressed",String("chat"===e)),v.setAttribute("aria-pressed",String("journal"===e))}p.type=v.type="button",v.textContent="Journal",f.append(p,v),null===(t=n.querySelector(".chat-tabs-host"))||void 0===t||t.append(f),h("chat");var m=dC(i,{chat:r,styles:!1,openPlayer:function(n){return e.emit("player:clicked",{index:n})},renderAuthor:g,onVisibilityChange:function(e){s=e,y()}});function g(e){var n,t,r=document.createElement("strong");r.textContent=e.author||"Game";var o,i=null!==(n=e.playerIndex)&&void 0!==n?n:"You"===e.author?c:null===(t=u.find((function(n){return n.name===e.author})))||void 0===t?void 0:t.id;void 0!==i&&Cw[i]&&(r.style.backgroundColor=(null===(o=u.find((function(e){return e.id===i})))||void 0===o?void 0:o.color)||Cw[i],r.style.color="brown"===r.style.backgroundColor?"#fff":"#111");return r}function y(){var e=r.unread,n=e?"Chat · ".concat(e," unread"):"Chat";l.textContent=n,l.hidden=s,l.setAttribute("aria-label","Open ".concat(n)),p.textContent=n}l.onclick=function(){h("chat"),m.open()};var b=[o,r.subscribe(y),e.on("state",(function(e){u=((null===e||void 0===e?void 0:e.players)||[]).map((function(e,n){return w(w({},e),{},{id:n})})),m.refresh()})),e.on("gamelog",(function(e){var n=e.data;null!==n&&void 0!==n&&n.state&&(u=(n.state.players||[]).map((function(e,n){return w(w({},e),{},{id:n})})),m.refresh())})),e.on("player",(function(e){c=null===e||void 0===e?void 0:e.index,m.refresh()}))];return p.onclick=function(){h("chat"),r.setOpen(!0),m.refresh()},v.onclick=function(){h("journal"),m.refresh()},b.push((function(){return f.remove()})),function(){b.forEach((function(e){return e()})),m.destroy(),l.remove(),a.remove()}}var pC,vC,hC={build:{label:"Connect a city",notes:[[0,.1,0,.12,1500],[.08,.25,95,.1,45],[.18,.14,360,.05,500]]},fuel:{label:"Buy fuel",notes:[[0,.12,0,.1,1100],[.1,.13,0,.08,600],[.12,.16,120,.06,65]]},bid:{label:"Auction bid",notes:[[0,.08,400,.07,550]]},plant:{label:"Power plant",notes:[[0,.15,110,.09],[.07,.23,220,.07,330]]},power:{label:"Generate electricity",notes:[[0,.45,60,.09,120],[.05,.4,121,.05,240],[.1,.35,0,.04,1300]]}},mC=!0;function gC(e){mC=e}function yC(e){if(mC&&hC[e]&&"undefined"!==typeof window){if("undefined"!==typeof navigator){var n=navigator.userActivation;if(n&&!n.hasBeenActive)return}var t=window.AudioContext;if(t){pC=pC||new t;var r=pC;r.resume().then((function(){if(mC&&"running"===r.state){var n,t=I(hC[e].notes);try{for(t.s();!(n=t.n()).done;){var o=W(n.value,5),i=o[0],a=o[1],c=o[2],u=o[3],s=o[4],l=r.currentTime+i,d=r.createGain();if(d.gain.setValueAtTime(1e-4,l),d.gain.exponentialRampToValueAtTime(u,l+.008),d.gain.exponentialRampToValueAtTime(1e-4,l+a),d.connect(r.destination),0===c){for(var f=r.createBuffer(1,Math.ceil(r.sampleRate*a),r.sampleRate),p=f.getChannelData(0),v=0;v<p.length;v++)p[v]=2*Math.random()-1;var h=r.createBufferSource();h.buffer=f;var m=r.createBiquadFilter();m.type="lowpass",m.frequency.value=s||900,h.connect(m),m.connect(d),h.start(l),h.stop(l+a)}else{var g=r.createOscillator();g.type="sine",g.frequency.setValueAtTime(c,l),g.frequency.exponentialRampToValueAtTime(s||c,l+a),g.connect(d),g.start(l),g.stop(l+a)}}}catch(y){t.e(y)}finally{t.f()}}})).catch((function(){}))}}}function bC(e){var n,t=!1;e.on("update:preference",(function(e){"sound"===(null===e||void 0===e?void 0:e.name)&&gC(e.value)})),e.on("preferences",(function(e){"boolean"===typeof(null===e||void 0===e?void 0:e.sound)&&gC(e.sound)})),e.on("replay:start",(function(){t=!0})),e.on("replay:end",(function(){t=!1,n=void 0}));var r=function(e){var r,o=(null===e||void 0===e?void 0:e.log)||[],i=o.map((function(e){return JSON.stringify(e)})),a=n&&n.length<i.length&&n.every((function(e,n){return e===i[n]})),c=(null===(r=n)||void 0===r?void 0:r.length)||0;if(n=i,a&&!t){var u=o.slice(c).map((function(e){return wC(e)})).filter(Boolean),s=u[u.length-1];s&&yC(s)}};e.on("state",r),e.on("gamelog",(function(e){var n=null===e||void 0===e?void 0:e.data;null!==n&&void 0!==n&&n.state&&r(n.state)}))}function wC(e){var n;return{Build:"build",BuyResource:"fuel",Bid:"bid",ChoosePowerPlant:"plant",UsePowerPlant:"power"}[null===(n=e.move)||void 0===n?void 0:n.name]}function kC(e){var n,t=document.querySelector(e);if(!t)throw new Error("Viewer mount point not found: ".concat(e));null===(n=vC)||void 0===n||n();var r=document.createElement("div");t.append(r);var o={state:null,emitter:new Lb["EventEmitter"],preferences:Rb.a.observable({sound:!0,disableHelp:!1,adjustPlayerOrder:!1,undoWholeTurn:!0,fitToScreen:!0,stackOnPortrait:!0,portraitResourceTrack:!1}),avatars:[]},i=new Rb.a({render:function(e){return e(XI,{props:o},[])}}).$mount(r),a=!1,c=zb({onState:function(e){return g(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return o.state=e,i.$forceUpdate(),n.next=4,i.$nextTick();case 4:case"end":return n.stop()}}),n)})))()},onPlayer:function(e){o.player=e.index,i.$forceUpdate()},onPreferences:function(e){Object.assign(o.preferences,e),i.$forceUpdate()},onAvatars:function(e){o.avatars=e,i.$forceUpdate()},onUpdate:function(){a||c.fetchState()},onLog:function(e){return g(regeneratorRuntime.mark((function n(){var t;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(!a){n.next=2;break}return n.abrupt("return");case 2:if(t=e.data,!tS(null===t||void 0===t?void 0:t.state)){n.next=10;break}return o.state=t.state,i.$forceUpdate(),n.next=8,i.$nextTick();case 8:n.next=11;break;case 10:c.fetchState();case 11:case"end":return n.stop()}}),n)})))()},onReplayStart:function(){a=!0,o.emitter.emit("replayStart")},onReplayTo:function(e){o.emitter.emit("replayTo",e)},onReplayEnd:function(){o.emitter.emit("replayEnd"),a=!1,c.fetchState()}}),u=c.emitter;o.emitter.on("move",(function(e){return c.move(e)})),o.emitter.on("fetchState",(function(){return c.fetchState()})),o.emitter.on("addLog",(function(e){return c.addLog(e)})),o.emitter.on("replaceLog",(function(e){return c.replaceLog(e)})),o.emitter.on("replay:info",(function(e){return c.setReplayInfo(e)})),o.emitter.on("update:preference",(function(e){var n=e.name,t=e.value;return c.updatePreference(n,t)})),bC(u);var s=fC(u,i.$el);return i.$once("hook:beforeDestroy",(function(){s(),c.destroy(),o.emitter.removeAllListeners()})),vC=function(){i.$destroy(),t.replaceChildren()},u}var xC=kC;"undefined"!==typeof window&&(window.powergrid={launch:xC});var _C=xC;n["default"]=_C},c678:function(e,n){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},c698:function(e,n,t){var r=t("57ac"),o=t("1947"),i=t("fd86"),a=i("species");e.exports=function(e,n){var t,i=r(e).constructor;return void 0===i||void 0==(t=r(i)[a])?n:o(t)}},c6a8:function(e,n,t){"use strict";var r=t("7f82"),o=t("70f8"),i=t("c678"),a=t("43b7"),c=t("1947"),u=t("57ac"),s=t("8911"),l=t("0540"),d=t("9807"),f=t("ff46"),p=t("ac27"),v=t("fd86"),h=t("c698"),m=t("7743"),g=t("2673"),y=t("bd5a"),b=v("matchAll"),w="RegExp String",k=w+" Iterator",x=g.set,_=g.getterFor(k),S=RegExp.prototype,M=S.exec,P="".matchAll,I=!!P&&!p((function(){"a".matchAll(/./)})),C=function(e,n){var t,r=e.exec;if("function"==typeof r){if(t=r.call(e,n),"object"!=typeof t)throw TypeError("Incorrect exec result");return t}return M.call(e,n)},O=o((function(e,n,t,r){x(this,{type:k,regexp:e,string:n,global:t,unicode:r,done:!1})}),w,(function(){var e=_(this);if(e.done)return{value:void 0,done:!0};var n=e.regexp,t=e.string,r=C(n,t);return null===r?{value:void 0,done:e.done=!0}:e.global?(""==String(r[0])&&(n.lastIndex=m(t,a(n.lastIndex),e.unicode)),{value:r,done:!1}):(e.done=!0,{value:r,done:!1})})),A=function(e){var n,t,r,o,i,c,s=u(this),l=String(e);return n=h(s,RegExp),t=s.flags,void 0===t&&s instanceof RegExp&&!("flags"in S)&&(t=d.call(s)),r=void 0===t?"":String(t),o=new n(n===RegExp?s.source:s,r),i=!!~r.indexOf("g"),c=!!~r.indexOf("u"),o.lastIndex=a(s.lastIndex),new O(o,l,i,c)};r({target:"String",proto:!0,forced:I},{matchAll:function(e){var n,t,r,o,a=i(this);if(null!=e){if(l(e)&&(n=String(i("flags"in S?e.flags:d.call(e))),!~n.indexOf("g")))throw TypeError("`.matchAll` does not allow non-global regexes");if(I)return P.apply(a,arguments);if(r=e[b],void 0===r&&y&&"RegExp"==s(e)&&(r=A),null!=r)return c(r).call(e,a)}else if(I)return P.apply(a,arguments);return t=String(a),o=new RegExp(e,"g"),y?A.call(o,t):o[b](t)}}),y||b in S||f(S,b,A)},c88a:function(e,n,t){"use strict";var r=t("ce17"),o=t("ac27"),i=t("ba28"),a=t("3df7"),c=t("0ff2"),u=t("f246"),s=t("2153"),l=Object.assign,d=Object.defineProperty;e.exports=!l||o((function(){if(r&&1!==l({b:1},l(d({},"a",{enumerable:!0,get:function(){d(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},n={},t=Symbol(),o="abcdefghijklmnopqrst";return e[t]=7,o.split("").forEach((function(e){n[e]=e})),7!=l({},e)[t]||i(l({},n)).join("")!=o}))?function(e,n){var t=u(e),o=arguments.length,l=1,d=a.f,f=c.f;while(o>l){var p,v=s(arguments[l++]),h=d?i(v).concat(d(v)):i(v),m=h.length,g=0;while(m>g)p=h[g++],r&&!f.call(v,p)||(t[p]=v[p])}return t}:l},c944:function(e,n,t){var r=t("fd86"),o=r("toStringTag"),i={};i[o]="z",e.exports="[object z]"===String(i)},c981:function(e,n,t){var r=t("c944"),o=t("fd84"),i=t("5116");r||o(Object.prototype,"toString",i,{unsafe:!0})},ca24:function(e,n,t){var r=t("1061"),o=t("8dac"),i=t("129e"),a=t("41d6").f,c=t("ddc5"),u=t("9200"),s=c("meta"),l=0,d=Object.isExtensible||function(){return!0},f=function(e){a(e,s,{value:{objectID:"O"+ ++l,weakData:{}}})},p=function(e,n){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!i(e,s)){if(!d(e))return"F";if(!n)return"E";f(e)}return e[s].objectID},v=function(e,n){if(!i(e,s)){if(!d(e))return!0;if(!n)return!1;f(e)}return e[s].weakData},h=function(e){return u&&m.REQUIRED&&d(e)&&!i(e,s)&&f(e),e},m=e.exports={REQUIRED:!1,fastKey:p,getWeakData:v,onFreeze:h};r[s]=!0},ca80:function(e,n,t){"use strict";var r=t("9c0c"),o=t("d684"),i=t("4037"),a=t("2673"),c=t("4116"),u="Array Iterator",s=a.set,l=a.getterFor(u);e.exports=c(Array,"Array",(function(e,n){s(this,{type:u,target:r(e),index:0,kind:n})}),(function(){var e=l(this),n=e.target,t=e.kind,r=e.index++;return!n||r>=n.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==t?{value:r,done:!1}:"values"==t?{value:n[r],done:!1}:{value:[r,n[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},cad9:function(e,n,t){(function(e){function t(e,n){for(var t=0,r=e.length-1;r>=0;r--){var o=e[r];"."===o?e.splice(r,1):".."===o?(e.splice(r,1),t++):t&&(e.splice(r,1),t--)}if(n)for(;t--;t)e.unshift("..");return e}function r(e){"string"!==typeof e&&(e+="");var n,t=0,r=-1,o=!0;for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!o){t=n+1;break}}else-1===r&&(o=!1,r=n+1);return-1===r?"":e.slice(t,r)}function o(e,n){if(e.filter)return e.filter(n);for(var t=[],r=0;r<e.length;r++)n(e[r],r,e)&&t.push(e[r]);return t}n.resolve=function(){for(var n="",r=!1,i=arguments.length-1;i>=-1&&!r;i--){var a=i>=0?arguments[i]:e.cwd();if("string"!==typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(n=a+"/"+n,r="/"===a.charAt(0))}return n=t(o(n.split("/"),(function(e){return!!e})),!r).join("/"),(r?"/":"")+n||"."},n.normalize=function(e){var r=n.isAbsolute(e),a="/"===i(e,-1);return e=t(o(e.split("/"),(function(e){return!!e})),!r).join("/"),e||r||(e="."),e&&a&&(e+="/"),(r?"/":"")+e},n.isAbsolute=function(e){return"/"===e.charAt(0)},n.join=function(){var e=Array.prototype.slice.call(arguments,0);return n.normalize(o(e,(function(e,n){if("string"!==typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},n.relative=function(e,t){function r(e){for(var n=0;n<e.length;n++)if(""!==e[n])break;for(var t=e.length-1;t>=0;t--)if(""!==e[t])break;return n>t?[]:e.slice(n,t-n+1)}e=n.resolve(e).substr(1),t=n.resolve(t).substr(1);for(var o=r(e.split("/")),i=r(t.split("/")),a=Math.min(o.length,i.length),c=a,u=0;u<a;u++)if(o[u]!==i[u]){c=u;break}var s=[];for(u=c;u<o.length;u++)s.push("..");return s=s.concat(i.slice(c)),s.join("/")},n.sep="/",n.delimiter=":",n.dirname=function(e){if("string"!==typeof e&&(e+=""),0===e.length)return".";for(var n=e.charCodeAt(0),t=47===n,r=-1,o=!0,i=e.length-1;i>=1;--i)if(n=e.charCodeAt(i),47===n){if(!o){r=i;break}}else o=!1;return-1===r?t?"/":".":t&&1===r?"/":e.slice(0,r)},n.basename=function(e,n){var t=r(e);return n&&t.substr(-1*n.length)===n&&(t=t.substr(0,t.length-n.length)),t},n.extname=function(e){"string"!==typeof e&&(e+="");for(var n=-1,t=0,r=-1,o=!0,i=0,a=e.length-1;a>=0;--a){var c=e.charCodeAt(a);if(47!==c)-1===r&&(o=!1,r=a+1),46===c?-1===n?n=a:1!==i&&(i=1):-1!==n&&(i=-1);else if(!o){t=a+1;break}}return-1===n||-1===r||0===i||1===i&&n===r-1&&n===t+1?"":e.slice(n,r)};var i="b"==="ab".substr(-1)?function(e,n,t){return e.substr(n,t)}:function(e,n,t){return n<0&&(n=e.length+n),e.substr(n,t)}}).call(this,t("0418"))},cba7:function(e,n,t){"use strict";var r=t("a9eb"),o=t("41d6"),i=t("9f69");e.exports=function(e,n,t){var a=r(n);a in e?o.f(e,a,i(0,t)):e[a]=t}},cbdb:function(e,n,t){"use strict";t("4f51");var r=t("fd84"),o=t("8bc5"),i=t("ac27"),a=t("fd86"),c=t("ff46"),u=a("species"),s=RegExp.prototype,l=!i((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")})),d=function(){return"$0"==="a".replace(/./,"$0")}(),f=a("replace"),p=function(){return!!/./[f]&&""===/./[f]("a","$0")}(),v=!i((function(){var e=/(?:)/,n=e.exec;e.exec=function(){return n.apply(this,arguments)};var t="ab".split(e);return 2!==t.length||"a"!==t[0]||"b"!==t[1]}));e.exports=function(e,n,t,f){var h=a(e),m=!i((function(){var n={};return n[h]=function(){return 7},7!=""[e](n)})),g=m&&!i((function(){var n=!1,t=/a/;return"split"===e&&(t={},t.constructor={},t.constructor[u]=function(){return t},t.flags="",t[h]=/./[h]),t.exec=function(){return n=!0,null},t[h](""),!n}));if(!m||!g||"replace"===e&&(!l||!d||p)||"split"===e&&!v){var y=/./[h],b=t(h,""[e],(function(e,n,t,r,i){var a=n.exec;return a===o||a===s.exec?m&&!i?{done:!0,value:y.call(n,t,r)}:{done:!0,value:e.call(t,n,r)}:{done:!1}}),{REPLACE_KEEPS_$0:d,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:p}),w=b[0],k=b[1];r(String.prototype,e,w),r(s,h,2==n?function(e,n){return k.call(e,this,n)}:function(e){return k.call(e,this)})}f&&c(s[h],"sham",!0)}},cbe1:function(e,n,t){var r=t("8dac"),o=t("9ebe"),i=t("fd86"),a=i("species");e.exports=function(e,n){var t;return o(e)&&(t=e.constructor,"function"!=typeof t||t!==Array&&!o(t.prototype)?r(t)&&(t=t[a],null===t&&(t=void 0)):t=void 0),new(void 0===t?Array:t)(0===n?0:n)}},cd16:function(e,n,t){var r=t("9c0c"),o=t("43b7"),i=t("12aa"),a=function(e){return function(n,t,a){var c,u=r(n),s=o(u.length),l=i(a,s);if(e&&t!=t){while(s>l)if(c=u[l++],c!=c)return!0}else for(;s>l;l++)if((e||l in u)&&u[l]===t)return e||l||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},ce15:function(e,n,t){var r=t("7f82"),o=t("129a");r({target:"Number",stat:!0},{isFinite:o})},ce17:function(e,n,t){var r=t("ac27");e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},ced6:function(e,n){var t=Math.abs,r=Math.pow,o=Math.floor,i=Math.log,a=Math.LN2,c=function(e,n,c){var u,s,l,d=new Array(c),f=8*c-n-1,p=(1<<f)-1,v=p>>1,h=23===n?r(2,-24)-r(2,-77):0,m=e<0||0===e&&1/e<0?1:0,g=0;for(e=t(e),e!=e||e===1/0?(s=e!=e?1:0,u=p):(u=o(i(e)/a),e*(l=r(2,-u))<1&&(u--,l*=2),e+=u+v>=1?h/l:h*r(2,1-v),e*l>=2&&(u++,l/=2),u+v>=p?(s=0,u=p):u+v>=1?(s=(e*l-1)*r(2,n),u+=v):(s=e*r(2,v-1)*r(2,n),u=0));n>=8;d[g++]=255&s,s/=256,n-=8);for(u=u<<n|s,f+=n;f>0;d[g++]=255&u,u/=256,f-=8);return d[--g]|=128*m,d},u=function(e,n){var t,o=e.length,i=8*o-n-1,a=(1<<i)-1,c=a>>1,u=i-7,s=o-1,l=e[s--],d=127&l;for(l>>=7;u>0;d=256*d+e[s],s--,u-=8);for(t=d&(1<<-u)-1,d>>=-u,u+=n;u>0;t=256*t+e[s],s--,u-=8);if(0===d)d=1-c;else{if(d===a)return t?NaN:l?-1/0:1/0;t+=r(2,n),d-=c}return(l?-1:1)*t*r(2,d-n)};e.exports={pack:c,unpack:u}},d0b1:function(e,n,t){"use strict";var r=t("ac27");e.exports=function(e,n){var t=[][e];return!!t&&r((function(){t.call(null,n||function(){throw 1},1)}))}},d22c:function(e,n,t){"use strict";var r=t("f246"),o=t("12aa"),i=t("43b7");e.exports=function(e){var n=r(this),t=i(n.length),a=arguments.length,c=o(a>1?arguments[1]:void 0,t),u=a>2?arguments[2]:void 0,s=void 0===u?t:o(u,t);while(s>c)n[c++]=e;return n}},d2ad:function(e,n,t){"use strict";var r=t("7f82"),o=t("68de"),i=t("ce17"),a=t("8307"),c=t("2411"),u=t("e7f5"),s=t("191b"),l=t("9f69"),d=t("ff46"),f=t("43b7"),p=t("ddd3"),v=t("f615"),h=t("a9eb"),m=t("129e"),g=t("38b4"),y=t("8dac"),b=t("e3d0"),w=t("1c11"),k=t("97cc").f,x=t("f139"),_=t("b222").forEach,S=t("a1a4"),M=t("41d6"),P=t("22b8"),I=t("2673"),C=t("6034"),O=I.get,A=I.set,N=M.f,z=P.f,j=Math.round,L=o.RangeError,D=u.ArrayBuffer,R=u.DataView,T=c.NATIVE_ARRAY_BUFFER_VIEWS,B=c.TYPED_ARRAY_TAG,E=c.TypedArray,U=c.TypedArrayPrototype,G=c.aTypedArrayConstructor,Z=c.isTypedArray,F="BYTES_PER_ELEMENT",K="Wrong length",V=function(e,n){var t=0,r=n.length,o=new(G(e))(r);while(r>t)o[t]=n[t++];return o},$=function(e,n){N(e,n,{get:function(){return O(this)[n]}})},W=function(e){var n;return e instanceof D||"ArrayBuffer"==(n=g(e))||"SharedArrayBuffer"==n},Y=function(e,n){return Z(e)&&"symbol"!=typeof n&&n in e&&String(+n)==String(n)},J=function(e,n){return Y(e,n=h(n,!0))?l(2,e[n]):z(e,n)},H=function(e,n,t){return!(Y(e,n=h(n,!0))&&y(t)&&m(t,"value"))||m(t,"get")||m(t,"set")||t.configurable||m(t,"writable")&&!t.writable||m(t,"enumerable")&&!t.enumerable?N(e,n,t):(e[n]=t.value,e)};i?(T||(P.f=J,M.f=H,$(U,"buffer"),$(U,"byteOffset"),$(U,"byteLength"),$(U,"length")),r({target:"Object",stat:!0,forced:!T},{getOwnPropertyDescriptor:J,defineProperty:H}),e.exports=function(e,n,t){var i=e.match(/\d+$/)[0]/8,c=e+(t?"Clamped":"")+"Array",u="get"+e,l="set"+e,h=o[c],m=h,g=m&&m.prototype,M={},P=function(e,n){var t=O(e);return t.view[u](n*i+t.byteOffset,!0)},I=function(e,n,r){var o=O(e);t&&(r=(r=j(r))<0?0:r>255?255:255&r),o.view[l](n*i+o.byteOffset,r,!0)},z=function(e,n){N(e,n,{get:function(){return P(this,n)},set:function(e){return I(this,n,e)},enumerable:!0})};T?a&&(m=n((function(e,n,t,r){return s(e,m,c),C(function(){return y(n)?W(n)?void 0!==r?new h(n,v(t,i),r):void 0!==t?new h(n,v(t,i)):new h(n):Z(n)?V(m,n):x.call(m,n):new h(p(n))}(),e,m)})),w&&w(m,E),_(k(h),(function(e){e in m||d(m,e,h[e])})),m.prototype=g):(m=n((function(e,n,t,r){s(e,m,c);var o,a,u,l=0,d=0;if(y(n)){if(!W(n))return Z(n)?V(m,n):x.call(m,n);o=n,d=v(t,i);var h=n.byteLength;if(void 0===r){if(h%i)throw L(K);if(a=h-d,a<0)throw L(K)}else if(a=f(r)*i,a+d>h)throw L(K);u=a/i}else u=p(n),a=u*i,o=new D(a);A(e,{buffer:o,byteOffset:d,byteLength:a,length:u,view:new R(o)});while(l<u)z(e,l++)})),w&&w(m,E),g=m.prototype=b(U)),g.constructor!==m&&d(g,"constructor",m),B&&d(g,B,c),M[c]=m,r({global:!0,forced:m!=h,sham:!T},M),F in m||d(m,F,i),F in g||d(g,F,i),S(c)}):e.exports=function(){}},d351:function(e,n,t){var r=t("2411").aTypedArrayConstructor,o=t("c698");e.exports=function(e,n){var t=o(e,e.constructor),i=0,a=n.length,c=new(r(t))(a);while(a>i)c[i]=n[i++];return c}},d4b6:function(e,n,t){var r=t("7f82"),o=t("7160").entries;r({target:"Object",stat:!0},{entries:function(e){return o(e)}})},d551:function(e,n,t){var r=t("7f82");r({target:"Reflect",stat:!0},{has:function(e,n){return n in e}})},d56e:function(e,n,t){var r=t("1947"),o=t("f246"),i=t("2153"),a=t("43b7"),c=function(e){return function(n,t,c,u){r(t);var s=o(n),l=i(s),d=a(s.length),f=e?d-1:0,p=e?-1:1;if(c<2)while(1){if(f in l){u=l[f],f+=p;break}if(f+=p,e?f<0:d<=f)throw TypeError("Reduce of empty array with no initial value")}for(;e?f>=0:d>f;f+=p)f in l&&(u=t(u,l[f],f,s));return u}};e.exports={left:c(!1),right:c(!0)}},d5b1:function(e,n,t){var r=t("ac27");e.exports=!r((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},d684:function(e,n,t){var r=t("fd86"),o=t("e3d0"),i=t("41d6"),a=r("unscopables"),c=Array.prototype;void 0==c[a]&&i.f(c,a,{configurable:!0,value:o(null)}),e.exports=function(e){c[a][e]=!0}},d82d:function(e,n,t){"use strict";var r=t("2411"),o=t("d56e").right,i=r.aTypedArray,a=r.exportTypedArrayMethod;a("reduceRight",(function(e){return o(i(this),e,arguments.length,arguments.length>1?arguments[1]:void 0)}))},d863:function(e,n,t){"use strict";var r=t("41d6").f,o=t("e3d0"),i=t("392e"),a=t("6e4e"),c=t("191b"),u=t("5c27"),s=t("4116"),l=t("a1a4"),d=t("ce17"),f=t("ca24").fastKey,p=t("2673"),v=p.set,h=p.getterFor;e.exports={getConstructor:function(e,n,t,s){var l=e((function(e,r){c(e,l,n),v(e,{type:n,index:o(null),first:void 0,last:void 0,size:0}),d||(e.size=0),void 0!=r&&u(r,e[s],{that:e,AS_ENTRIES:t})})),p=h(n),m=function(e,n,t){var r,o,i=p(e),a=g(e,n);return a?a.value=t:(i.last=a={index:o=f(n,!0),key:n,value:t,previous:r=i.last,next:void 0,removed:!1},i.first||(i.first=a),r&&(r.next=a),d?i.size++:e.size++,"F"!==o&&(i.index[o]=a)),e},g=function(e,n){var t,r=p(e),o=f(n);if("F"!==o)return r.index[o];for(t=r.first;t;t=t.next)if(t.key==n)return t};return i(l.prototype,{clear:function(){var e=this,n=p(e),t=n.index,r=n.first;while(r)r.removed=!0,r.previous&&(r.previous=r.previous.next=void 0),delete t[r.index],r=r.next;n.first=n.last=void 0,d?n.size=0:e.size=0},delete:function(e){var n=this,t=p(n),r=g(n,e);if(r){var o=r.next,i=r.previous;delete t.index[r.index],r.removed=!0,i&&(i.next=o),o&&(o.previous=i),t.first==r&&(t.first=o),t.last==r&&(t.last=i),d?t.size--:n.size--}return!!r},forEach:function(e){var n,t=p(this),r=a(e,arguments.length>1?arguments[1]:void 0,3);while(n=n?n.next:t.first){r(n.value,n.key,this);while(n&&n.removed)n=n.previous}},has:function(e){return!!g(this,e)}}),i(l.prototype,t?{get:function(e){var n=g(this,e);return n&&n.value},set:function(e,n){return m(this,0===e?0:e,n)}}:{add:function(e){return m(this,e=0===e?0:e,e)}}),d&&r(l.prototype,"size",{get:function(){return p(this).size}}),l},setStrong:function(e,n,t){var r=n+" Iterator",o=h(n),i=h(r);s(e,n,(function(e,n){v(this,{type:r,target:e,state:o(e),kind:n,last:void 0})}),(function(){var e=i(this),n=e.kind,t=e.last;while(t&&t.removed)t=t.previous;return e.target&&(e.last=t=t?t.next:e.state.first)?"keys"==n?{value:t.key,done:!1}:"values"==n?{value:t.value,done:!1}:{value:[t.key,t.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),t?"entries":"values",!t,!0),l(n)}}},d8fc:function(e,n){var t;t=function(){return this}();try{t=t||new Function("return this")()}catch(r){"object"===typeof window&&(t=window)}e.exports=t},da71:function(e,n,t){"use strict";var r=t("7f82"),o=t("2153"),i=t("9c0c"),a=t("d0b1"),c=[].join,u=o!=Object,s=a("join",",");r({target:"Array",proto:!0,forced:u||!s},{join:function(e){return c.call(i(this),void 0===e?",":e)}})},dbf5:function(e,n,t){var r=t("38b4"),o=t("4037"),i=t("fd86"),a=i("iterator");e.exports=function(e){if(void 0!=e)return e[a]||e["@@iterator"]||o[r(e)]}},dd2b:function(e,n,t){(function(e){var r;(function(e,o,i){function a(e){var n=this,t=s();n.next=function(){var e=2091639*n.s0+2.3283064365386963e-10*n.c;return n.s0=n.s1,n.s1=n.s2,n.s2=e-(n.c=0|e)},n.c=1,n.s0=t(" "),n.s1=t(" "),n.s2=t(" "),n.s0-=t(e),n.s0<0&&(n.s0+=1),n.s1-=t(e),n.s1<0&&(n.s1+=1),n.s2-=t(e),n.s2<0&&(n.s2+=1),t=null}function c(e,n){return n.c=e.c,n.s0=e.s0,n.s1=e.s1,n.s2=e.s2,n}function u(e,n){var t=new a(e),r=n&&n.state,o=t.next;return o.int32=function(){return 4294967296*t.next()|0},o.double=function(){return o()+11102230246251565e-32*(2097152*o()|0)},o.quick=o,r&&("object"==typeof r&&c(r,t),o.state=function(){return c(t,{})}),o}function s(){var e=4022871197,n=function(n){n=String(n);for(var t=0;t<n.length;t++){e+=n.charCodeAt(t);var r=.02519603282416938*e;e=r>>>0,r-=e,r*=e,e=r>>>0,r-=e,e+=4294967296*r}return 2.3283064365386963e-10*(e>>>0)};return n}o&&o.exports?o.exports=u:t("f9ad")&&t("ba96")?(r=function(){return u}.call(n,t,n,o),void 0===r||(o.exports=r)):this.alea=u})(0,e,t("f9ad"))}).call(this,t("e55b")(e))},dd7c:function(e,n,t){var r=t("28b5"),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(e){return o.call(e)}),e.exports=r.inspectSource},ddc5:function(e,n){var t=0,r=Math.random();e.exports=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++t+r).toString(36)}},ddd3:function(e,n,t){var r=t("b42f"),o=t("43b7");e.exports=function(e){if(void 0===e)return 0;var n=r(e),t=o(n);if(n!==t)throw RangeError("Wrong length or index");return t}},df11:function(e,n,t){var r=t("68de"),o=t("60cb"),i=t("9daf"),a=t("ff46");for(var c in o){var u=r[c],s=u&&u.prototype;if(s&&s.forEach!==i)try{a(s,"forEach",i)}catch(l){s.forEach=i}}},dfa6:function(e,n,t){var r=t("7f82");r({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},dfc3:function(e,n,t){var r=t("7f82");r({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)})},dff1:function(e,n,t){"use strict";var r=t("2411"),o=t("b222").forEach,i=r.aTypedArray,a=r.exportTypedArrayMethod;a("forEach",(function(e){o(i(this),e,arguments.length>1?arguments[1]:void 0)}))},e08f:function(e,n,t){"use strict";var r=t("ce17"),o=t("68de"),i=t("0015"),a=t("fd84"),c=t("129e"),u=t("8911"),s=t("6034"),l=t("a9eb"),d=t("ac27"),f=t("e3d0"),p=t("97cc").f,v=t("22b8").f,h=t("41d6").f,m=t("54e0").trim,g="Number",y=o[g],b=y.prototype,w=u(f(b))==g,k=function(e){var n,t,r,o,i,a,c,u,s=l(e,!1);if("string"==typeof s&&s.length>2)if(s=m(s),n=s.charCodeAt(0),43===n||45===n){if(t=s.charCodeAt(2),88===t||120===t)return NaN}else if(48===n){switch(s.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+s}for(i=s.slice(2),a=i.length,c=0;c<a;c++)if(u=i.charCodeAt(c),u<48||u>o)return NaN;return parseInt(i,r)}return+s};if(i(g,!y(" 0o1")||!y("0b1")||y("+0x1"))){for(var x,_=function(e){var n=arguments.length<1?0:e,t=this;return t instanceof _&&(w?d((function(){b.valueOf.call(t)})):u(t)!=g)?s(new y(k(n)),t,_):k(n)},S=r?p(y):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,fromString,range".split(","),M=0;S.length>M;M++)c(y,x=S[M])&&!c(_,x)&&h(_,x,v(y,x));_.prototype=b,b.constructor=_,a(o,g,_)}},e2f4:function(e,n,t){"use strict";var r=t("7f82"),o=t("2398").start,i=t("6e53");r({target:"String",proto:!0,forced:i},{padStart:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}})},e3d0:function(e,n,t){var r,o=t("57ac"),i=t("727c"),a=t("338e"),c=t("1061"),u=t("0716"),s=t("77cc"),l=t("71d2"),d=">",f="<",p="prototype",v="script",h=l("IE_PROTO"),m=function(){},g=function(e){return f+v+d+e+f+"/"+v+d},y=function(e){e.write(g("")),e.close();var n=e.parentWindow.Object;return e=null,n},b=function(){var e,n=s("iframe"),t="java"+v+":";return n.style.display="none",u.appendChild(n),n.src=String(t),e=n.contentWindow.document,e.open(),e.write(g("document.F=Object")),e.close(),e.F},w=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(n){}w=r?y(r):b();var e=a.length;while(e--)delete w[p][a[e]];return w()};c[h]=!0,e.exports=Object.create||function(e,n){var t;return null!==e?(m[p]=o(e),t=new m,m[p]=null,t[h]=e):t=w(),void 0===n?t:i(t,n)}},e4a4:function(e,n,t){var r=t("57ac"),o=t("8dac"),i=t("bc3b");e.exports=function(e,n){if(r(e),o(n)&&n.constructor===e)return n;var t=i.f(e),a=t.resolve;return a(n),t.promise}},e55b:function(e,n){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},e67a:function(e,n,t){"use strict";var r=t("8dac"),o=t("41d6"),i=t("9220"),a=t("fd86"),c=a("hasInstance"),u=Function.prototype;c in u||o.f(u,c,{value:function(e){if("function"!=typeof this||!r(e))return!1;if(!r(this.prototype))return e instanceof this;while(e=i(e))if(this.prototype===e)return!0;return!1}})},e69b:function(e,n,t){var r=t("8911");e.exports=function(e){if("number"!=typeof e&&"Number"!=r(e))throw TypeError("Incorrect invocation");return+e}},e710:function(e,n,t){},e727:function(e,n,t){var r=t("7f82"),o=t("9200"),i=t("ac27"),a=t("8dac"),c=t("ca24").onFreeze,u=Object.freeze,s=i((function(){u(1)}));r({target:"Object",stat:!0,forced:s,sham:!o},{freeze:function(e){return u&&a(e)?u(c(e)):e}})},e7f5:function(e,n,t){"use strict";var r=t("68de"),o=t("ce17"),i=t("f896"),a=t("ff46"),c=t("392e"),u=t("ac27"),s=t("191b"),l=t("b42f"),d=t("43b7"),f=t("ddd3"),p=t("ced6"),v=t("9220"),h=t("1c11"),m=t("97cc").f,g=t("41d6").f,y=t("d22c"),b=t("660e"),w=t("2673"),k=w.get,x=w.set,_="ArrayBuffer",S="DataView",M="prototype",P="Wrong length",I="Wrong index",C=r[_],O=C,A=r[S],N=A&&A[M],z=Object.prototype,j=r.RangeError,L=p.pack,D=p.unpack,R=function(e){return[255&e]},T=function(e){return[255&e,e>>8&255]},B=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},E=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},U=function(e){return L(e,23,4)},G=function(e){return L(e,52,8)},Z=function(e,n){g(e[M],n,{get:function(){return k(this)[n]}})},F=function(e,n,t,r){var o=f(t),i=k(e);if(o+n>i.byteLength)throw j(I);var a=k(i.buffer).bytes,c=o+i.byteOffset,u=a.slice(c,c+n);return r?u:u.reverse()},K=function(e,n,t,r,o,i){var a=f(t),c=k(e);if(a+n>c.byteLength)throw j(I);for(var u=k(c.buffer).bytes,s=a+c.byteOffset,l=r(+o),d=0;d<n;d++)u[s+d]=l[i?d:n-d-1]};if(i){if(!u((function(){C(1)}))||!u((function(){new C(-1)}))||u((function(){return new C,new C(1.5),new C(NaN),C.name!=_}))){O=function(e){return s(this,O),new C(f(e))};for(var V,$=O[M]=C[M],W=m(C),Y=0;W.length>Y;)(V=W[Y++])in O||a(O,V,C[V]);$.constructor=O}h&&v(N)!==z&&h(N,z);var J=new A(new O(2)),H=N.setInt8;J.setInt8(0,2147483648),J.setInt8(1,2147483649),!J.getInt8(0)&&J.getInt8(1)||c(N,{setInt8:function(e,n){H.call(this,e,n<<24>>24)},setUint8:function(e,n){H.call(this,e,n<<24>>24)}},{unsafe:!0})}else O=function(e){s(this,O,_);var n=f(e);x(this,{bytes:y.call(new Array(n),0),byteLength:n}),o||(this.byteLength=n)},A=function(e,n,t){s(this,A,S),s(e,O,S);var r=k(e).byteLength,i=l(n);if(i<0||i>r)throw j("Wrong offset");if(t=void 0===t?r-i:d(t),i+t>r)throw j(P);x(this,{buffer:e,byteLength:t,byteOffset:i}),o||(this.buffer=e,this.byteLength=t,this.byteOffset=i)},o&&(Z(O,"byteLength"),Z(A,"buffer"),Z(A,"byteLength"),Z(A,"byteOffset")),c(A[M],{getInt8:function(e){return F(this,1,e)[0]<<24>>24},getUint8:function(e){return F(this,1,e)[0]},getInt16:function(e){var n=F(this,2,e,arguments.length>1?arguments[1]:void 0);return(n[1]<<8|n[0])<<16>>16},getUint16:function(e){var n=F(this,2,e,arguments.length>1?arguments[1]:void 0);return n[1]<<8|n[0]},getInt32:function(e){return E(F(this,4,e,arguments.length>1?arguments[1]:void 0))},getUint32:function(e){return E(F(this,4,e,arguments.length>1?arguments[1]:void 0))>>>0},getFloat32:function(e){return D(F(this,4,e,arguments.length>1?arguments[1]:void 0),23)},getFloat64:function(e){return D(F(this,8,e,arguments.length>1?arguments[1]:void 0),52)},setInt8:function(e,n){K(this,1,e,R,n)},setUint8:function(e,n){K(this,1,e,R,n)},setInt16:function(e,n){K(this,2,e,T,n,arguments.length>2?arguments[2]:void 0)},setUint16:function(e,n){K(this,2,e,T,n,arguments.length>2?arguments[2]:void 0)},setInt32:function(e,n){K(this,4,e,B,n,arguments.length>2?arguments[2]:void 0)},setUint32:function(e,n){K(this,4,e,B,n,arguments.length>2?arguments[2]:void 0)},setFloat32:function(e,n){K(this,4,e,U,n,arguments.length>2?arguments[2]:void 0)},setFloat64:function(e,n){K(this,8,e,G,n,arguments.length>2?arguments[2]:void 0)}});b(O,_),b(A,S),e.exports={ArrayBuffer:O,DataView:A}},e839:function(e,n,t){"use strict";var r=t("5229"),o=t("3e18");r("WeakSet",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),o)},e908:function(e,n,t){(function(e){var r=Object.getOwnPropertyDescriptors||function(e){for(var n=Object.keys(e),t={},r=0;r<n.length;r++)t[n[r]]=Object.getOwnPropertyDescriptor(e,n[r]);return t},o=/%[sdj%]/g;n.format=function(e){if(!x(e)){for(var n=[],t=0;t<arguments.length;t++)n.push(c(arguments[t]));return n.join(" ")}t=1;for(var r=arguments,i=r.length,a=String(e).replace(o,(function(e){if("%%"===e)return"%";if(t>=i)return e;switch(e){case"%s":return String(r[t++]);case"%d":return Number(r[t++]);case"%j":try{return JSON.stringify(r[t++])}catch(n){return"[Circular]"}default:return e}})),u=r[t];t<i;u=r[++t])b(u)||!P(u)?a+=" "+u:a+=" "+c(u);return a},n.deprecate=function(t,r){if("undefined"!==typeof e&&!0===e.noDeprecation)return t;if("undefined"===typeof e)return function(){return n.deprecate(t,r).apply(this,arguments)};var o=!1;function i(){if(!o){if(e.throwDeprecation)throw new Error(r);e.traceDeprecation?console.trace(r):console.error(r),o=!0}return t.apply(this,arguments)}return i};var i,a={};function c(e,t){var r={seen:[],stylize:s};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),y(t)?r.showHidden=t:t&&n._extend(r,t),S(r.showHidden)&&(r.showHidden=!1),S(r.depth)&&(r.depth=2),S(r.colors)&&(r.colors=!1),S(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=u),d(r,e,r.depth)}function u(e,n){var t=c.styles[n];return t?"["+c.colors[t][0]+"m"+e+"["+c.colors[t][1]+"m":e}function s(e,n){return e}function l(e){var n={};return e.forEach((function(e,t){n[e]=!0})),n}function d(e,t,r){if(e.customInspect&&t&&O(t.inspect)&&t.inspect!==n.inspect&&(!t.constructor||t.constructor.prototype!==t)){var o=t.inspect(r,e);return x(o)||(o=d(e,o,r)),o}var i=f(e,t);if(i)return i;var a=Object.keys(t),c=l(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),C(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return p(t);if(0===a.length){if(O(t)){var u=t.name?": "+t.name:"";return e.stylize("[Function"+u+"]","special")}if(M(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(I(t))return e.stylize(Date.prototype.toString.call(t),"date");if(C(t))return p(t)}var s,y="",b=!1,w=["{","}"];if(g(t)&&(b=!0,w=["[","]"]),O(t)){var k=t.name?": "+t.name:"";y=" [Function"+k+"]"}return M(t)&&(y=" "+RegExp.prototype.toString.call(t)),I(t)&&(y=" "+Date.prototype.toUTCString.call(t)),C(t)&&(y=" "+p(t)),0!==a.length||b&&0!=t.length?r<0?M(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),s=b?v(e,t,r,c,a):a.map((function(n){return h(e,t,r,c,n,b)})),e.seen.pop(),m(s,y,w)):w[0]+y+w[1]}function f(e,n){if(S(n))return e.stylize("undefined","undefined");if(x(n)){var t="'"+JSON.stringify(n).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(t,"string")}return k(n)?e.stylize(""+n,"number"):y(n)?e.stylize(""+n,"boolean"):b(n)?e.stylize("null","null"):void 0}function p(e){return"["+Error.prototype.toString.call(e)+"]"}function v(e,n,t,r,o){for(var i=[],a=0,c=n.length;a<c;++a)D(n,String(a))?i.push(h(e,n,t,r,String(a),!0)):i.push("");return o.forEach((function(o){o.match(/^\d+$/)||i.push(h(e,n,t,r,o,!0))})),i}function h(e,n,t,r,o,i){var a,c,u;if(u=Object.getOwnPropertyDescriptor(n,o)||{value:n[o]},u.get?c=u.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):u.set&&(c=e.stylize("[Setter]","special")),D(r,o)||(a="["+o+"]"),c||(e.seen.indexOf(u.value)<0?(c=b(t)?d(e,u.value,null):d(e,u.value,t-1),c.indexOf("\n")>-1&&(c=i?c.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+c.split("\n").map((function(e){return" "+e})).join("\n"))):c=e.stylize("[Circular]","special")),S(a)){if(i&&o.match(/^\d+$/))return c;a=JSON.stringify(""+o),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+c}function m(e,n,t){var r=e.reduce((function(e,n){return n.indexOf("\n")>=0&&0,e+n.replace(/\u001b\[\d\d?m/g,"").length+1}),0);return r>60?t[0]+(""===n?"":n+"\n ")+" "+e.join(",\n ")+" "+t[1]:t[0]+n+" "+e.join(", ")+" "+t[1]}function g(e){return Array.isArray(e)}function y(e){return"boolean"===typeof e}function b(e){return null===e}function w(e){return null==e}function k(e){return"number"===typeof e}function x(e){return"string"===typeof e}function _(e){return"symbol"===typeof e}function S(e){return void 0===e}function M(e){return P(e)&&"[object RegExp]"===N(e)}function P(e){return"object"===typeof e&&null!==e}function I(e){return P(e)&&"[object Date]"===N(e)}function C(e){return P(e)&&("[object Error]"===N(e)||e instanceof Error)}function O(e){return"function"===typeof e}function A(e){return null===e||"boolean"===typeof e||"number"===typeof e||"string"===typeof e||"symbol"===typeof e||"undefined"===typeof e}function N(e){return Object.prototype.toString.call(e)}function z(e){return e<10?"0"+e.toString(10):e.toString(10)}n.debuglog=function(t){if(S(i)&&(i=Object({NODE_ENV:"production",BASE_URL:"/"}).NODE_DEBUG||""),t=t.toUpperCase(),!a[t])if(new RegExp("\\b"+t+"\\b","i").test(i)){var r=e.pid;a[t]=function(){var e=n.format.apply(n,arguments);console.error("%s %d: %s",t,r,e)}}else a[t]=function(){};return a[t]},n.inspect=c,c.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},c.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},n.isArray=g,n.isBoolean=y,n.isNull=b,n.isNullOrUndefined=w,n.isNumber=k,n.isString=x,n.isSymbol=_,n.isUndefined=S,n.isRegExp=M,n.isObject=P,n.isDate=I,n.isError=C,n.isFunction=O,n.isPrimitive=A,n.isBuffer=t("3e17");var j=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function L(){var e=new Date,n=[z(e.getHours()),z(e.getMinutes()),z(e.getSeconds())].join(":");return[e.getDate(),j[e.getMonth()],n].join(" ")}function D(e,n){return Object.prototype.hasOwnProperty.call(e,n)}n.log=function(){console.log("%s - %s",L(),n.format.apply(n,arguments))},n.inherits=t("9416"),n._extend=function(e,n){if(!n||!P(n))return e;var t=Object.keys(n),r=t.length;while(r--)e[t[r]]=n[t[r]];return e};var R="undefined"!==typeof Symbol?Symbol("util.promisify.custom"):void 0;function T(e,n){if(!e){var t=new Error("Promise was rejected with a falsy value");t.reason=e,e=t}return n(e)}function B(n){if("function"!==typeof n)throw new TypeError('The "original" argument must be of type Function');function t(){for(var t=[],r=0;r<arguments.length;r++)t.push(arguments[r]);var o=t.pop();if("function"!==typeof o)throw new TypeError("The last argument must be of type Function");var i=this,a=function(){return o.apply(i,arguments)};n.apply(this,t).then((function(n){e.nextTick(a,null,n)}),(function(n){e.nextTick(T,n,a)}))}return Object.setPrototypeOf(t,Object.getPrototypeOf(n)),Object.defineProperties(t,r(n)),t}n.promisify=function(e){if("function"!==typeof e)throw new TypeError('The "original" argument must be of type Function');if(R&&e[R]){var n=e[R];if("function"!==typeof n)throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(n,R,{value:n,enumerable:!1,writable:!1,configurable:!0}),n}function n(){for(var n,t,r=new Promise((function(e,r){n=e,t=r})),o=[],i=0;i<arguments.length;i++)o.push(arguments[i]);o.push((function(e,r){e?t(e):n(r)}));try{e.apply(this,o)}catch(a){t(a)}return r}return Object.setPrototypeOf(n,Object.getPrototypeOf(e)),R&&Object.defineProperty(n,R,{value:n,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(n,r(e))},n.promisify.custom=R,n.callbackify=B}).call(this,t("0418"))},eab8:function(e,n){e.exports=function(e){try{return{error:!1,value:e()}}catch(n){return{error:!0,value:n}}}},ec9f:function(e,n,t){"use strict";var r=t("7f82"),o=t("b222").findIndex,i=t("d684"),a="findIndex",c=!0;a in[]&&Array(1)[a]((function(){c=!1})),r({target:"Array",proto:!0,forced:c},{findIndex:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),i(a)},efd2:function(e,n,t){var r=t("57ac"),o=t("dbf5");e.exports=function(e){var n=o(e);if("function"!=typeof n)throw TypeError(String(e)+" is not iterable");return r(n.call(e))}},f124:function(e,n,t){(function(e){var r;(function(e,o,i){function a(e){var n=this,t="";n.next=function(){var e=n.x^n.x>>>2;return n.x=n.y,n.y=n.z,n.z=n.w,n.w=n.v,(n.d=n.d+362437|0)+(n.v=n.v^n.v<<4^e^e<<1)|0},n.x=0,n.y=0,n.z=0,n.w=0,n.v=0,e===(0|e)?n.x=e:t+=e;for(var r=0;r<t.length+64;r++)n.x^=0|t.charCodeAt(r),r==t.length&&(n.d=n.x<<10^n.x>>>4),n.next()}function c(e,n){return n.x=e.x,n.y=e.y,n.z=e.z,n.w=e.w,n.v=e.v,n.d=e.d,n}function u(e,n){var t=new a(e),r=n&&n.state,o=function(){return(t.next()>>>0)/4294967296};return o.double=function(){do{var e=t.next()>>>11,n=(t.next()>>>0)/4294967296,r=(e+n)/(1<<21)}while(0===r);return r},o.int32=t.next,o.quick=o,r&&("object"==typeof r&&c(r,t),o.state=function(){return c(t,{})}),o}o&&o.exports?o.exports=u:t("f9ad")&&t("ba96")?(r=function(){return u}.call(n,t,n,o),void 0===r||(o.exports=r)):this.xorwow=u})(0,e,t("f9ad"))}).call(this,t("e55b")(e))},f139:function(e,n,t){var r=t("f246"),o=t("43b7"),i=t("dbf5"),a=t("6e92"),c=t("6e4e"),u=t("2411").aTypedArrayConstructor;e.exports=function(e){var n,t,s,l,d,f,p=r(e),v=arguments.length,h=v>1?arguments[1]:void 0,m=void 0!==h,g=i(p);if(void 0!=g&&!a(g)){d=g.call(p),f=d.next,p=[];while(!(l=f.call(d)).done)p.push(l.value)}for(m&&v>2&&(h=c(h,arguments[2],2)),t=o(p.length),s=new(u(this))(t),n=0;t>n;n++)s[n]=m?h(p[n],n):p[n];return s}},f246:function(e,n,t){var r=t("c678");e.exports=function(e){return Object(r(e))}},f2b3:function(e,n,t){var r=t("fd70");e.exports=/(?:iphone|ipod|ipad).*applewebkit/i.test(r)},f320:function(e,n,t){var r=t("57ac"),o=t("5b4c");e.exports=function(e,n,t,i){try{return i?n(r(t)[0],t[1]):n(t)}catch(a){throw o(e),a}}},f615:function(e,n,t){var r=t("3189");e.exports=function(e,n){var t=r(e);if(t%n)throw RangeError("Wrong offset");return t}},f688:function(e,n,t){var r=t("7f82"),o=t("87ee"),i=t("220a"),a=!i((function(e){Array.from(e)}));r({target:"Array",stat:!0,forced:a},{from:o})},f896:function(e,n){e.exports="undefined"!==typeof ArrayBuffer&&"undefined"!==typeof DataView},f9ad:function(e,n){e.exports=function(){throw new Error("define cannot be used indirect")}},fbdc:function(e,n,t){var r=t("a768"),o=t("97cc"),i=t("3df7"),a=t("57ac");e.exports=r("Reflect","ownKeys")||function(e){var n=o.f(a(e)),t=i.f;return t?n.concat(t(e)):n}},fc75:function(e,n,t){},fd65:function(e,n){e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cGF0aCBkPSJNMCAwIEwyMCAyMCBMMCA0MCBaIE0yMCAwIEw0MCAyMCBMMjAgNDAgWiIgLz4KPC9zdmc+Cg=="},fd70:function(e,n,t){var r=t("a768");e.exports=r("navigator","userAgent")||""},fd84:function(e,n,t){var r=t("68de"),o=t("ff46"),i=t("129e"),a=t("853a"),c=t("dd7c"),u=t("2673"),s=u.get,l=u.enforce,d=String(String).split("String");(e.exports=function(e,n,t,c){var u,s=!!c&&!!c.unsafe,f=!!c&&!!c.enumerable,p=!!c&&!!c.noTargetGet;"function"==typeof t&&("string"!=typeof n||i(t,"name")||o(t,"name",n),u=l(t),u.source||(u.source=d.join("string"==typeof n?n:""))),e!==r?(s?!p&&e[n]&&(f=!0):delete e[n],f?e[n]=t:o(e,n,t)):f?e[n]=t:a(n,t)})(Function.prototype,"toString",(function(){return"function"==typeof this&&s(this).source||c(this)}))},fd86:function(e,n,t){var r=t("68de"),o=t("448a"),i=t("129e"),a=t("ddc5"),c=t("5a40"),u=t("7a4c"),s=o("wks"),l=r.Symbol,d=u?l:l&&l.withoutSetter||a;e.exports=function(e){return i(s,e)&&(c||"string"==typeof s[e])||(c&&i(l,e)?s[e]=l[e]:s[e]=d("Symbol."+e)),s[e]}},ff3f:function(e,n,t){var r=t("fd86"),o=r("match");e.exports=function(e){var n=/./;try{"/./"[e](n)}catch(t){try{return n[o]=!1,"/./"[e](n)}catch(r){}}return!1}},ff41:function(e,n,t){var r=t("0540");e.exports=function(e){if(r(e))throw TypeError("The method doesn't accept regular expressions");return e}},ff46:function(e,n,t){var r=t("ce17"),o=t("41d6"),i=t("9f69");e.exports=r?function(e,n,t){return o.f(e,n,i(1,t))}:function(e,n,t){return e[n]=t,e}}})}));
|
|
34
|
+
function Zb(e){return Zb="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Zb(e)}function Fb(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function Kb(e){return Vb(e)||$b(e)||Wb()}function Vb(e){if(Array.isArray(e)){for(var n=0,t=new Array(e.length);n<e.length;n++)t[n]=e[n];return t}}function $b(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function Wb(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function Yb(){return"undefined"!==typeof Reflect&&Reflect.defineMetadata&&Reflect.getOwnMetadataKeys}function Jb(e,n){Hb(e,n),Object.getOwnPropertyNames(n.prototype).forEach((function(t){Hb(e.prototype,n.prototype,t)})),Object.getOwnPropertyNames(n).forEach((function(t){Hb(e,n,t)}))}function Hb(e,n,t){var r=t?Reflect.getOwnMetadataKeys(n,t):Reflect.getOwnMetadataKeys(n);r.forEach((function(r){var o=t?Reflect.getOwnMetadata(r,n,t):Reflect.getOwnMetadata(r,n);t?Reflect.defineMetadata(r,o,e,t):Reflect.defineMetadata(r,o,e)}))}var qb={__proto__:[]},Xb=qb instanceof Array;function Qb(e){return function(n,t,r){var o="function"===typeof n?n:n.constructor;o.__decorators__||(o.__decorators__=[]),"number"!==typeof r&&(r=void 0),o.__decorators__.push((function(n){return e(n,t,r)}))}}function ew(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];return Rb.a.extend({mixins:n})}function nw(e){var n=Zb(e);return null==e||"object"!==n&&"function"!==n}function tw(e,n){var t=n.prototype._init;n.prototype._init=function(){var n=this,t=Object.getOwnPropertyNames(e);if(e.$options.props)for(var r in e.$options.props)e.hasOwnProperty(r)||t.push(r);t.forEach((function(t){Object.defineProperty(n,t,{get:function(){return e[t]},set:function(n){e[t]=n},configurable:!0})}))};var r=new n;n.prototype._init=t;var o={};return Object.keys(r).forEach((function(e){void 0!==r[e]&&(o[e]=r[e])})),o}var rw=["data","beforeCreate","created","beforeMount","mounted","beforeDestroy","destroyed","beforeUpdate","updated","activated","deactivated","render","errorCaptured","serverPrefetch"];function ow(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};n.name=n.name||e._componentTag||e.name;var t=e.prototype;Object.getOwnPropertyNames(t).forEach((function(e){if("constructor"!==e)if(rw.indexOf(e)>-1)n[e]=t[e];else{var r=Object.getOwnPropertyDescriptor(t,e);void 0!==r.value?"function"===typeof r.value?(n.methods||(n.methods={}))[e]=r.value:(n.mixins||(n.mixins=[])).push({data:function(){return Fb({},e,r.value)}}):(r.get||r.set)&&((n.computed||(n.computed={}))[e]={get:r.get,set:r.set})}})),(n.mixins||(n.mixins=[])).push({data:function(){return tw(this,e)}});var r=e.__decorators__;r&&(r.forEach((function(e){return e(n)})),delete e.__decorators__);var o=Object.getPrototypeOf(e.prototype),i=o instanceof Rb.a?o.constructor:Rb.a,a=i.extend(n);return aw(a,e,i),Yb()&&Jb(a,e),a}var iw={prototype:!0,arguments:!0,callee:!0,caller:!0};function aw(e,n,t){Object.getOwnPropertyNames(n).forEach((function(r){if(!iw[r]){var o=Object.getOwnPropertyDescriptor(e,r);if(!o||o.configurable){var i=Object.getOwnPropertyDescriptor(n,r);if(!Xb){if("cid"===r)return;var a=Object.getOwnPropertyDescriptor(t,r);if(!nw(i.value)&&a&&a.value===i.value)return}0,Object.defineProperty(e,r,i)}}}))}function cw(e){return"function"===typeof e?ow(e):function(n){return ow(n,e)}}cw.registerHooks=function(e){rw.push.apply(rw,Kb(e))};var uw=cw;function sw(e){return Qb((function(n,t){"undefined"===typeof n.inject&&(n.inject={}),Array.isArray(n.inject)||(n.inject[t]=e||t)}))}function lw(e){return"function"!==typeof e||!e.managed&&!e.managedReactive}function dw(e){var n=function(){var t=this,r="function"===typeof e?e.call(this):e;for(var o in r=Object.create(r||null),r[fw]=Object.create(this[fw]||{}),n.managed)r[n.managed[o]]=this[o];var i=function(e){r[n.managedReactive[e]]=a[e],Object.defineProperty(r[fw],n.managedReactive[e],{enumerable:!0,configurable:!0,get:function(){return t[e]}})},a=this;for(var o in n.managedReactive)i(o);return r};return n.managed={},n.managedReactive={},n}var fw="__reactiveInject__";function pw(e){Array.isArray(e.inject)||(e.inject=e.inject||{},e.inject[fw]={from:fw,default:{}})}function vw(e){return Qb((function(n,t){if("undefined"===typeof n.inject&&(n.inject={}),!Array.isArray(n.inject)){var r=e?e.from||e:t,o=!!e&&e.default||void 0;n.computed||(n.computed={}),n.computed[t]=function(){var e=this[fw];return e?e[r]:o},n.inject[fw]=fw}}))}var hw="undefined"!==typeof Reflect&&"undefined"!==typeof Reflect.getMetadata;function mw(e,n,t){if(hw&&!Array.isArray(e)&&"function"!==typeof e&&!e.hasOwnProperty("type")&&"undefined"===typeof e.type){var r=Reflect.getMetadata("design:type",n,t);r!==Object&&(e.type=r)}}function gw(e){return void 0===e&&(e={}),function(n,t){mw(e,n,t),Qb((function(n,t){(n.props||(n.props={}))[t]=e}))(n,t)}}function yw(e){return Qb((function(n,t){var r=n.provide;pw(n),lw(r)&&(r=n.provide=dw(r)),r.managed[t]=e||t}))}function bw(e){return Qb((function(n,t){var r=n.provide;pw(n),lw(r)&&(r=n.provide=dw(r)),r.managedReactive[t]=e||t}))}function ww(e){return Qb((function(n,t){n.computed=n.computed||{},n.computed[t]={cache:!1,get:function(){return this.$refs[e||t]}}}))}function kw(e,n){void 0===n&&(n={});var t=n.deep,r=void 0!==t&&t,o=n.immediate,i=void 0!==o&&o;return Qb((function(n,t){"object"!==typeof n.watch&&(n.watch=Object.create(null));var o=n.watch;"object"!==typeof o[e]||Array.isArray(o[e])?"undefined"===typeof o[e]&&(o[e]=[]):o[e]=[o[e]],o[e].push({handler:t,deep:r,immediate:i})}))}var xw,_w=function(){var e=this,n=e.$createElement,t=e._self._c||n;return 99==e.powerPlant.number?t("g",{attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+")"}},[t("rect",{attrs:{width:"60",height:"40",fill:e.getColor(),stroke:"black","stroke-width":"2",rx:"4"}}),t("text",{attrs:{"text-anchor":"middle",x:"30",y:"20",fill:"black"}},[e._v("Step 3")])]):t("g",{class:[{canClick:e.canClick}],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+")"},on:{click:function(n){e.canClick&&e.$emit("click")}}},[t("rect",{attrs:{width:"60",height:"40",fill:e.getColor(),stroke:e.hasDiscount?"palegreen":"black","stroke-width":"2",rx:"4"}}),e.hasDiscount?t("g",[t("rect",{attrs:{width:"12",height:"12",rx:"4",fill:"palegreen"}}),t("text",{staticStyle:{"font-size":"12px"},attrs:{"text-anchor":"middle",x:"6",y:"6",fill:"black"}},[e._v("$")])]):e._e(),t("g",{attrs:{transform:"translate(30, 10)"}},[t("text",{attrs:{"text-anchor":"middle",x:"1",y:"1",fill:"gray"}},[e._v(e._s(e.powerPlant.number))]),t("text",{attrs:{"text-anchor":"middle",fill:"white"}},[e._v(e._s(e.powerPlant.number))])]),t("g",{class:["piece"],attrs:{id:e.elId,transform:"translate(40, 20) scale(0.035)"}},[t("path",{attrs:{d:"M187.698 263.636V456.017L3 341.204V169.522L80.8579 108.141L187.698 263.636Z",fill:"white",stroke:"white","stroke-width":"12","stroke-miterlimit":"10"}}),t("path",{attrs:{d:"M395.724 136.361V300.164L187.698 456.017V263.636L395.724 136.361Z",fill:"white",stroke:"white","stroke-width":"12","stroke-miterlimit":"10"}}),t("path",{attrs:{d:"M395.724 136.361L187.698 263.636L80.8579 108.141L304.771 4L395.724 136.361Z",fill:"white",stroke:"white","stroke-width":"12","stroke-miterlimit":"10"}})]),t("text",{staticStyle:{"font-size":"12px"},attrs:{"text-anchor":"middle",x:"47",y:"28",fill:"black"}},[e._v(" "+e._s(e.powerPlant.citiesPowered)+" ")]),t("g",{attrs:{transform:"translate(5, 20)"}},[t("path",{attrs:{d:e.getResourcePath(),fill:"white"}})]),e.powerPlant.cost>0?t("text",{staticStyle:{"font-size":"12px"},attrs:{"text-anchor":"middle",x:"12.5",y:"27.5",fill:"black"}},[e._v(" "+e._s(e.powerPlant.cost)+" ")]):e._e(),t("g",{attrs:{transform:"translate(24, 22)"}},[t("path",{attrs:{d:"M0,3 L8,3 L8,0 L14,6 L8,12 L8,9 L0,9Z",fill:"white"}})]),t("defs",[t("linearGradient",{attrs:{id:"hybrid",x1:"0",y1:"0",x2:"100%",y2:"100%"}},[t("stop",{attrs:{offset:"50%","stop-color":"#8b4513"}}),t("stop",{attrs:{offset:"50%","stop-color":"#445"}})],1)],1)])},Sw=[];(function(e){e[e["House"]=0]="House",e[e["Card"]=1]="Card",e[e["Coal"]=2]="Coal",e[e["Oil"]=3]="Oil",e[e["Garbage"]=4]="Garbage",e[e["Uranium"]=5]="Uranium",e[e["Hybrid"]=6]="Hybrid"})(xw||(xw={}));var Mw,Pw,Iw,Cw=["limegreen","mediumorchid","red","dodgerblue","yellow","brown"];function Ow(e,n){return"Australia"===e.map.name&&n.type===Pw.Uranium}function Aw(e,n){var t,r=void 0!=e.clockStartedAt&&void 0!=n?Math.max(0,n-e.clockStartedAt):0;return(null!==(t=e.totalTimeUsed)&&void 0!==t?t:0)+r}function Nw(e,n){return n.powerPlants.filter((function(n){return!Ow(e,n)})).length}(function(e){e["Coal"]="coal",e["Oil"]="oil",e["Garbage"]="garbage",e["Uranium"]="uranium"})(Mw||(Mw={})),function(e){e[e["Coal"]=0]="Coal",e[e["Oil"]=1]="Oil",e[e["Garbage"]=2]="Garbage",e[e["Uranium"]=3]="Uranium",e[e["Hybrid"]=4]="Hybrid",e[e["Wind"]=5]="Wind",e[e["Nuclear"]=6]="Nuclear",e[e["Step3"]=7]="Step3"}(Pw||(Pw={})),function(e){e["ColorSelection"]="Color Selection",e["RegionSelection"]="Region Selection",e["Order"]="Order",e["Auction"]="Auction",e["Resources"]="Resources",e["Building"]="Building",e["Bureaucracy"]="Bureaucracy",e["GameEnd"]="Game End"}(Iw||(Iw={}));var zw=[2,3,4,5,6,7];function jw(e){for(var n=e.length-1;n>=0;n--)if(e[n]<2)return n;return-1}function Lw(e,n){if(!e.uraniumMineMarket)return{income:0,price:0,mines:0,cities:0};var t=n.powerPlants.filter((function(n){return Ow(e,n)}));if(0===t.length)return{income:0,price:0,mines:0,cities:0};var r=t.reduce((function(e,n){return e+n.citiesPowered}),0),o=jw(e.uraniumMineMarket);if(o<0)return{income:0,price:0,mines:t.length,cities:r};var i=zw[o],a=i*r;n.money+=a,e.options.trackTotalSpent&&(n.totalIncome+=a);for(var c=0;c<t.length;c++){var u=jw(e.uraniumMineMarket);if(u<0)break;e.uraniumMineMarket[u]++}return{income:a,price:i,mines:t.length,cities:r}}function Dw(e,n){if(!e.uraniumMineMarket)return 0;for(var t=0,r=0;r<n;r++){for(var o=-1,i=0;i<e.uraniumMineMarket.length;i++)if(e.uraniumMineMarket[i]>0){o=i;break}if(o<0)break;e.uraniumMineMarket[o]--,t++}return t}var Rw=function(e){T(t,e);var n=Z(t);function t(){var e;return C(this,t),e=n.apply(this,arguments),e.currentX=0,e.currentY=0,e.mounted=!1,e.transitioning=!1,e.transitionCount=0,e.moving=!1,e}return A(t,[{key:"pieceOpacity",get:function(){return this.transparent?this.restorable?.6:.3:1}},{key:"startTransitioning",value:function(){var e=this;if(!this.transitioning){this.ui.waitingAnimations+=1,this.transitioning=!0,this.transitionCount+=1;var n=this.transitionCount;setTimeout((function(){n===e.transitionCount&&e.onTransitionEnd()}),1e3)}}},{key:"onTargetChanged",value:function(e,n){var t=this;this.targetState.x===this.currentX&&this.targetState.y===this.currentY||(!this.transitioning&&this.mounted&&(!n||e?this.startTransitioning():(this.moving=!0,setTimeout((function(){return t.moving=!1}),800))),this.mounted?setTimeout((function(){t.currentX=t.targetState.x,t.currentY=t.targetState.y})):(this.currentX=this.targetState.x,this.currentY=this.targetState.y))}},{key:"onTransitionEnd",value:function(){this.transitioning&&(this.transitioning=!1,this.ui.waitingAnimations=Math.max(this.ui.waitingAnimations-1,0))}},{key:"elId",get:function(){return this.transitioning||this.moving?"moving":void 0}}]),t}(Rb.a);Eb([gw({default:function(){return{x:0,y:0,rotate:0}}})],Rw.prototype,"targetState",void 0),Eb([gw()],Rw.prototype,"pieceId",void 0),Eb([gw()],Rw.prototype,"transparent",void 0),Eb([gw()],Rw.prototype,"restorable",void 0),Eb([sw()],Rw.prototype,"communicator",void 0),Eb([sw()],Rw.prototype,"ui",void 0),Eb([kw("dragging"),kw("targetState",{immediate:!0})],Rw.prototype,"onTargetChanged",null),Rw=Eb([uw({created:function(){},mounted:function(){this.mounted=!0},beforeDestroy:function(){this.onTransitionEnd()}})],Rw);var Tw,Bw,Ew=Rw,Uw=Ew;function Gw(e,n,t,r,o,i,a,c){var u,s="function"===typeof e?e.options:e;if(n&&(s.render=n,s.staticRenderFns=t,s._compiled=!0),r&&(s.functional=!0),i&&(s._scopeId="data-v-"+i),a?(u=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},s._ssrRegister=u):o&&(u=c?function(){o.call(this,(s.functional?this.parent:this).$root.$options.shadowRoot)}:o),u)if(s.functional){s._injectStyles=u;var l=s.render;s.render=function(e,n){return u.call(n),l(e,n)}}else{var d=s.beforeCreate;s.beforeCreate=d?[].concat(d,u):[u]}return{exports:e,options:s}}var Zw=Gw(Uw,Tw,Bw,!1,null,null,null),Fw=Zw.exports,Kw=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return A(t,[{key:"getColor",value:function(){var e;switch(null===(e=this.powerPlant)||void 0===e?void 0:e.type){case Pw.Coal:return"#8b4513";case Pw.Oil:return"#445";case Pw.Garbage:return"goldenrod";case Pw.Uranium:return"red";case Pw.Hybrid:return"url(#hybrid)";case Pw.Wind:return"limegreen";case Pw.Nuclear:return"dodgerblue";case Pw.Step3:return"dodgerblue"}}},{key:"getResourcePath",value:function(){var e;switch(null===(e=this.powerPlant)||void 0===e?void 0:e.type){case Pw.Coal:return"M0,3 L7.5,0 L15,3 L15,12 L7.5,15 L0,12Z";case Pw.Oil:return"M3,2 A6,3 0 0,1 12,2 L12,12 A6,3 0 0,1 3,12Z";case Pw.Garbage:return"M0,3 A7.5,3 0 0,1 15,3 L15,12 A7.5,3 0 0,1 0,12Z";case Pw.Uranium:return"M1,2 l4,-2 l6,0 l4,2 l0,11 l-4,2 l-6,0 l-4,-2Z";case Pw.Hybrid:return"M0,3 L7.5,0 L15,3 L15,12 L7.5,15 L0,12Z M9,1 A6,3 0 0,1 18,1 L18,10 A6,3 0 0,1 10,10Z";case Pw.Wind:return"";case Pw.Nuclear:return"";case Pw.Step3:return""}}}]),t}(ew(Fw));Eb([gw()],Kw.prototype,"owner",void 0),Eb([gw()],Kw.prototype,"powerPlant",void 0),Eb([gw()],Kw.prototype,"canClick",void 0),Eb([gw({default:!1})],Kw.prototype,"hasDiscount",void 0),Kw=Eb([uw({created:function(){this.pieceType=xw.Card}})],Kw);var Vw,$w,Ww=Kw,Yw=Ww,Jw=(t("11ac"),Gw(Yw,_w,Sw,!1,null,null,null)),Hw=Jw.exports,qw=(t("ec9f"),t("4cd2")),Xw=t.n(qw),Qw=t("0b6f"),ek=t("3a04"),nk=t.n(ek);(function(e){e["ChoosePowerPlant"]="ChoosePowerPlant",e["Bid"]="Bid",e["DiscardPowerPlant"]="DiscardPowerPlant",e["DiscardResources"]="DiscardResources",e["BuyResource"]="BuyResource",e["Build"]="Build",e["UsePowerPlant"]="UsePowerPlant",e["ChooseRegion"]="ChooseRegion",e["ChooseColor"]="ChooseColor",e["Pass"]="Pass"})(Vw||(Vw={}));var tk,rk,ok=($w={},y($w,Mw.Coal,[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8]),y($w,Mw.Oil,[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8]),y($w,Mw.Garbage,[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8]),y($w,Mw.Uranium,[1,2,3,4,5,6,7,8,10,12,14,16]),$w),ik=ok;function ak(e){}function ck(e,n){var t,r,o=1/0,i=I(e);try{for(i.s();!(r=i.n()).done;){var a=r.value,c=n(a);c<o&&(t=a,o=c)}}catch(u){i.e(u)}finally{i.f()}return t}function uk(e,n){var t=nk.a.alea(n),r=new Map;return e.forEach((function(e,n){var o=t.int32();while(r.has(o))o=t.int32();r.set(o,n)})),P(r.keys()).sort().map((function(n){return e[r.get(n)]}))}function sk(e){var n=[],t=e.hybridCapacity>0?Math.max(0,e.oilLeft-e.oilCapacity):0;e.coalLeft>0&&e.coalCapacity+e.hybridCapacity<e.coalLeft+t&&n.push(Mw.Coal);var r=e.hybridCapacity>0?Math.max(0,e.coalLeft-e.coalCapacity):0;return e.oilLeft>0&&e.oilCapacity+e.hybridCapacity<e.oilLeft+r&&n.push(Mw.Oil),n}function lk(e,n){var t={};switch(e.phase){case Iw.Auction:if(Nw(e,n)>4||e.players.length>2&&Nw(e,n)>3)t[Vw.DiscardPowerPlant]=n.powerPlants.filter((function(t,r){return r!=n.powerPlants.length-1&&!Ow(e,t)})).map((function(e){return e.number}));else{var r=sk(n);if(n.garbageCapacity<n.garbageLeft&&r.push(Mw.Garbage),n.uraniumCapacity<n.uraniumLeft&&r.push(Mw.Uranium),r.length>0)t[Vw.DiscardResources]=r;else if(void 0==e.chosenPowerPlant){var o=e.actualMarket.filter((function(e){return n.money>=e.number}));if("Spain & Portugal"==e.map.name){var i=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))}));i.every((function(e){return"yellow"==e.region}))&&(o=o.filter((function(e){return e.type!=Pw.Uranium})))}if("Central Europe"==e.map.name){var a=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))})).filter((function(e){return"green"==e.region||"brown"==e.region||"purple"==e.region}));0==a.length&&(o=o.filter((function(e){return e.type!=Pw.Uranium})))}if("UK & Ireland"==e.map.name){var c=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))}));c.every((function(e){return"green"==e.region}))&&(o=o.filter((function(e){return e.type!=Pw.Uranium})))}if("Northern Europe"==e.map.name){var u=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))})).filter((function(e){return"purple"==e.region||"yellow"==e.region||"brown"==e.region||"pink"==e.region}));0==u.length&&(o=o.filter((function(e){return e.type!=Pw.Uranium})))}o.length>0&&(t[Vw.ChoosePowerPlant]=o.map((function(e){return e.number}))),(e.round>1||e.discountBonusPlayer==n.id)&&(t[Vw.Pass]=[!0])}else{if(e.options.fastBid?e.minimunBid<=n.money&&(t[Vw.Bid]=Object(Qw["range"])(e.minimunBid,n.money+1)):e.currentBid?e.currentBid<n.money&&(t[Vw.Bid]=Object(Qw["range"])(e.currentBid+1,n.money+1)):t[Vw.Bid]=Object(Qw["range"])(e.minimunBid,n.money+1),"Spain & Portugal"==e.map.name){var s=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))}));s.every((function(e){return"yellow"==e.region}))&&e.chosenPowerPlant.type==Pw.Uranium&&(t[Vw.Bid]=void 0)}if("Central Europe"==e.map.name){var l=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))})).filter((function(e){return"green"==e.region||"brown"==e.region||"purple"==e.region}));0==l.length&&e.chosenPowerPlant.type==Pw.Uranium&&(t[Vw.Bid]=void 0)}if("UK & Ireland"==e.map.name){var d=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))}));d.every((function(e){return"green"==e.region}))&&e.chosenPowerPlant.type==Pw.Uranium&&(t[Vw.Bid]=void 0)}if("Northern Europe"==e.map.name){var f=n.cities.map((function(n){return e.map.cities.find((function(e){return e.name==n.name}))})).filter((function(e){return"purple"==e.region||"yellow"==e.region||"brown"==e.region||"pink"==e.region}));0==f.length&&e.chosenPowerPlant.type==Pw.Uranium&&(t[Vw.Bid]=void 0)}e.options.fastBid?n.id!=e.auctioningPlayer&&(t[Vw.Pass]=[!0]):null!=e.currentBid&&(t[Vw.Pass]=[!0])}}break;case Iw.Resources:if("India"==e.map.name&&void 0!==e.chosenResource){t[Vw.Pass]=[!0];break}var p,v=[];p=e.map.maxPriceAvailable?e.map.maxPriceAvailable[e.step-1]:16;var h=void 0!==e.coalResupplyNorth,m=!h||"north"!==e.chosenSide,g=h&&"south"!==e.chosenSide;if(m&&e.coalMarket>0){var y,b=n.hybridCapacity>0?Math.max(0,n.oilLeft-n.oilCapacity):0,w=null!==(y=e.coalPrices)&&void 0!==y?y:ik[Mw.Coal],k=w[w.length-e.coalMarket];n.money>=k&&n.coalCapacity+n.hybridCapacity>b+n.coalLeft&&k<=p&&v.push(h?{resource:Mw.Coal,side:"south"}:{resource:Mw.Coal})}else if(m&&"recharged"==e.options.variant&&"USA"==e.map.name&&e.coalSupply>0){var x=n.hybridCapacity>0?Math.max(0,n.oilLeft-n.oilCapacity):0;n.money>=8&&n.coalCapacity+n.hybridCapacity>x+n.coalLeft&&v.push({resource:Mw.Coal})}if(m&&void 0!==e.coalStorage&&e.coalStorage>0){var _,S=n.hybridCapacity>0?Math.max(0,n.oilLeft-n.oilCapacity):0,M=null!==(_=e.coalPrices)&&void 0!==_?_:ik[Mw.Coal],I=e.coalMarket>0?M[M.length-e.coalMarket]:Number.POSITIVE_INFINITY;n.money>=8&&n.coalCapacity+n.hybridCapacity>S+n.coalLeft&&8<=p&&I>=8&&v.push({resource:Mw.Coal,fromStorage:!0})}if(g&&e.coalMarketNorth>0){var C=n.hybridCapacity>0?Math.max(0,n.oilLeft-n.oilCapacity):0,O=e.coalPricesNorth,A=O[O.length-e.coalMarketNorth];n.money>=A&&n.coalCapacity+n.hybridCapacity>C+n.coalLeft&&A<=p&&v.push({resource:Mw.Coal,side:"north"})}if(m&&e.oilMarket>0){var N,z=n.hybridCapacity>0?Math.max(0,n.coalLeft-n.coalCapacity):0,j=null!==(N=e.oilPrices)&&void 0!==N?N:ik[Mw.Oil],L=j[j.length-e.oilMarket];n.money>=L&&n.oilCapacity+n.hybridCapacity>z+n.oilLeft&&L<=p&&v.push(h?{resource:Mw.Oil,side:"south"}:{resource:Mw.Oil})}if(g&&e.oilMarketNorth>0){var D=n.hybridCapacity>0?Math.max(0,n.coalLeft-n.coalCapacity):0,R=e.oilPricesNorth,T=R[R.length-e.oilMarketNorth];n.money>=T&&n.oilCapacity+n.hybridCapacity>D+n.oilLeft&&T<=p&&v.push({resource:Mw.Oil,side:"north"})}if(m&&e.garbageMarket>0){var B,E=null!==(B=e.garbagePrices)&&void 0!==B?B:ik[Mw.Garbage],U=E[E.length-e.garbageMarket];if("Central Europe"==e.map.name){var G=n.cities.filter((function(e){return"Wien"==e.name}));(null===G||void 0===G?void 0:G.length)>0&&U--}n.money>=U&&n.garbageCapacity>n.garbageLeft&&U<=p&&v.push(h?{resource:Mw.Garbage,side:"south"}:{resource:Mw.Garbage})}if(g&&e.garbageMarketNorth>0){var Z=e.garbagePricesNorth,F=Z[Z.length-e.garbageMarketNorth];n.money>=F&&n.garbageCapacity>n.garbageLeft&&F<=p&&v.push({resource:Mw.Garbage,side:"north"})}if(m&&e.uraniumMarket>0){var K,V=null!==(K=e.uraniumPrices)&&void 0!==K?K:ik[Mw.Uranium],$=V[V.length-e.uraniumMarket];n.money>=$&&n.uraniumCapacity>n.uraniumLeft&&$<=p&&v.push(h?{resource:Mw.Uranium,side:"south"}:{resource:Mw.Uranium})}v.length>0&&(t[Vw.BuyResource]=v),t[Vw.Pass]=[!0];break;case Iw.Building:if(n.cities.length<21){var W,Y,J="Japan"===e.map.name,H=J?new Set(null!==(W=e.map.startingCities)&&void 0!==W?W:[]):new Set;if(0==n.cities.length){var q=J?e.map.cities.filter((function(e){return H.has(e.name)})):e.map.cities;Y=q.map((function(e){return{name:e.name,price:0}}))}else if(J&&1===e.round)Y=n.usedFreeJump?[]:e.map.cities.filter((function(e){return H.has(e.name)})).map((function(e){return{name:e.name,price:0}}));else if(Y=pk(e,n).map((function(e){return{name:e.name,price:e.price}})),J&&!n.usedFreeJump){var X=[];H.forEach((function(e){n.cities.find((function(n){return n.name===e}))||X.push({name:e,price:0,freeJump:!0})})),Y=[].concat(P(Y),X)}Y.forEach((function(t){var r,o=e.map.cities.find((function(e){return e.name==t.name}));if(o)if(null!==(r=e.blockedCities)&&void 0!==r&&r.includes(t.name))t.price=9999;else{var i=e.players.filter((function(e){return e.cities.find((function(e){return t.name==e.name}))})).length;if(o.transregional){if(e.step<2)return void(t.price=9999);var a=o.slotCosts,c=o.stepSlots?o.stepSlots[e.step-1]:e.step,u=a?a.length:3;return i>=c||i>=u?t.price=9999:t.price+=a?a[i]:3==e.step?20:15,void(n.cities.find((function(e){return e.name==t.name}))&&(t.price=9999))}if(o.island&&void 0!==e.map.crossIslandSurcharge&&n.cities.length>0){var s=new Set(n.cities.map((function(n){var t;return null===(t=e.map.cities.find((function(e){return e.name==n.name})))||void 0===t?void 0:t.island})).filter((function(e){return!!e})));if(!s.has(o.island))return void(t.price=i>0?9999:10+e.map.crossIslandSurcharge)}if(o.singleOccupancy)return 0==n.cities.length||i>=1?void(t.price=9999):void(n.cities.find((function(e){return e.name==t.name}))&&(t.price=9999));"Australia"==e.map.name&&n.cities.length>0&&(t.price=Math.min(t.price,20)),"Manhattan"==e.map.name&&n.cities.length>0&&(t.price=Math.max(0,t.price-5));var l=o.slotCosts,d=o.stepSlots?o.stepSlots[e.step-1]:e.step,f=l?l.length:3;i>=d||i>=f?t.price=9999:t.price+=l?l[i]:10+5*i,n.cities.find((function(e){return e.name==t.name}))&&(t.price=9999)}else t.price=9999})),Y=Y.filter((function(e){return e.price<=n.money})),Y.length>0&&(t[Vw.Build]=Y)}t[Vw.Pass]=[!0];break;case Iw.Bureaucracy:var Q=[];n.powerPlants.forEach((function(t){if(!Ow(e,t)&&n.powerPlantsNotUsed.includes(t.number))switch(t.type){case Pw.Coal:n.coalLeft>=t.cost&&Q.push({powerPlant:t.number,resourcesSpent:new Array(t.cost).fill(Mw.Coal),citiesPowered:t.citiesPowered});break;case Pw.Oil:n.oilLeft>=t.cost&&Q.push({powerPlant:t.number,resourcesSpent:new Array(t.cost).fill(Mw.Oil),citiesPowered:t.citiesPowered});break;case Pw.Garbage:n.garbageLeft>=t.cost&&Q.push({powerPlant:t.number,resourcesSpent:new Array(t.cost).fill(Mw.Garbage),citiesPowered:t.citiesPowered});break;case Pw.Uranium:n.uraniumLeft>=t.cost&&Q.push({powerPlant:t.number,resourcesSpent:new Array(t.cost).fill(Mw.Uranium),citiesPowered:t.citiesPowered});break;case Pw.Wind:case Pw.Nuclear:Q.push({powerPlant:t.number,resourcesSpent:[],citiesPowered:t.citiesPowered});break;case Pw.Hybrid:var r;if(n.coalLeft+n.oilLeft>=t.cost)r=1==t.cost?[[Mw.Coal],[Mw.Oil]]:2==t.cost?[[Mw.Coal,Mw.Coal],[Mw.Coal,Mw.Oil],[Mw.Oil,Mw.Oil]]:[[Mw.Coal,Mw.Coal,Mw.Coal],[Mw.Coal,Mw.Coal,Mw.Oil],[Mw.Coal,Mw.Oil,Mw.Oil],[Mw.Oil,Mw.Oil,Mw.Oil]],r.forEach((function(e){e.filter((function(e){return e==Mw.Coal})).length<=n.coalLeft&&e.filter((function(e){return e==Mw.Oil})).length<=n.oilLeft&&Q.push({powerPlant:t.number,resourcesSpent:e,citiesPowered:t.citiesPowered})}))}})),Q.length>0&&(t[Vw.UsePowerPlant]=Q),("India"!=e.map.name||n.citiesPowered>=n.targetCitiesPowered||n.isAI||0===Q.length)&&(t[Vw.Pass]=[!0]);break;case Iw.RegionSelection:var ee,ne,te=null!==(ee=null===(ne=e.regionDraft)||void 0===ne?void 0:ne.picked)&&void 0!==ee?ee:[],re=dk(e.map);t[Vw.ChooseRegion]=re.regions.filter((function(n){return fk(e.map.name,re,te,n)}));break;case Iw.ColorSelection:var oe,ie,ae=null!==(oe=null===(ie=e.colorDraft)||void 0===ie?void 0:ie.picked)&&void 0!==oe?oe:[];t[Vw.ChooseColor]=Cw.filter((function(e){return!ae.includes(e)}));break}return t}function dk(e){var n,t=e.cities.filter((function(n,t){return e.cities.findIndex((function(e){return e.region==n.region}))==t})).map((function(e){return e.region})),r=e.connections.map((function(n){return n.nodes.map((function(n){return e.cities.find((function(e){return e.name==n})).region}))})),o=t.map((function(e){return t.filter((function(n){return e!=n&&r.some((function(t){return t.includes(e)&&t.includes(n)}))}))})),i={},a=I(e.cities);try{for(a.s();!(n=a.n()).done;){var c=n.value;c.island&&void 0===i[c.region]&&(i[c.region]=c.island)}}catch(u){a.e(u)}finally{a.f()}return{regions:t,regionConnections:o,regionIsland:i}}function fk(e,n,t,r){var o=new Set(t);if(o.has(r))return!1;if(0==o.size)return!0;var i=n.regions.indexOf(r);if(-1==i)return!1;if(n.regionConnections[i].some((function(e){return o.has(e)})))return!0;if("UK & Ireland"===e){var a=new Set(P(o).map((function(e){return n.regionIsland[e]})));if(!a.has(n.regionIsland[r]))return!0}return"Australia"===e}function pk(e,n){var t=e.map.cities.map((function(e){return{name:e.name,price:n.cities.find((function(n){return n.name==e.name}))?0:9999,visited:!1}})),r=t.find((function(e){return e.name==n.cities[0].name}));if(!r)return t;r.price=0;var o=r;while(1){var i=e.map.connections.filter((function(e){return e.nodes.includes(o.name)}));i.forEach((function(r){var i,a=r.nodes.filter((function(e){return e!=o.name}))[0],c=t.find((function(e){return e.name==a})),u=e.map.cities.find((function(e){return e.name==a})),s=null!==(i=null===u||void 0===u?void 0:u.connectionCost)&&void 0!==i?i:r.cost,l=n.cities.find((function(e){return e.name==c.name}))?0:o.price+s;!c.visited&&c.price>l&&(c.price=l)})),o.visited=!0;var a=t.filter((function(e){return!e.visited})),c=ck(a,(function(e){return e.price}));if(!c||c.price>n.money)break;o=c}return t}(function(e){e["Purple"]="purple",e["Green"]="green",e["Red"]="red",e["Yellow"]="yellow",e["Cyan"]="cyan",e["Brown"]="brown"})(tk||(tk={})),function(e){e["Seattle"]="Seattle",e["Portland"]="Portland",e["Boise"]="Boise",e["Billings"]="Billings",e["Cheyenne"]="Cheyenne",e["Denver"]="Denver",e["Omaha"]="Omaha",e["SanFrancisco"]="San Francisco",e["LosAngeles"]="Los Angeles",e["SanDiego"]="San Diego",e["LasVegas"]="Las Vegas",e["SaltLakeCity"]="Salt Lake City",e["Phoenix"]="Phoenix",e["SantaFe"]="Santa Fe",e["KansasCity"]="Kansas City",e["OklahomaCity"]="Oklahoma City",e["Dallas"]="Dallas",e["Houston"]="Houston",e["Memphis"]="Memphis",e["Birmingham"]="Birmingham",e["NewOrleans"]="New Orleans",e["Fargo"]="Fargo",e["Duluth"]="Duluth",e["Minneapolis"]="Minneapolis",e["Chicago"]="Chicago",e["StLouis"]="St. Louis",e["Cincinnati"]="Cincinnati",e["Knoxvile"]="Knoxvile",e["Detroit"]="Detroit",e["Buffalo"]="Buffalo",e["Pittsburgh"]="Pittsburgh",e["Boston"]="Boston",e["NewYork"]="New York",e["Philadelphia"]="Philadelphia",e["Washington"]="Washington",e["Norfolk"]="Norfolk",e["Raleigh"]="Raleigh",e["Atlanta"]="Atlanta",e["Savannah"]="Savannah",e["Jacksonvile"]="Jacksonvile",e["Tampa"]="Tampa",e["Miami"]="Miami"}(rk||(rk={}));var vk,hk,mk={name:"USA",cities:[{name:rk.Seattle,region:tk.Purple,x:74,y:99},{name:rk.Portland,region:tk.Purple,x:45,y:167},{name:rk.Boise,region:tk.Purple,x:180,y:220},{name:rk.Billings,region:tk.Purple,x:345,y:180},{name:rk.Cheyenne,region:tk.Purple,x:410,y:280},{name:rk.Denver,region:tk.Purple,x:400,y:333},{name:rk.Omaha,region:tk.Purple,x:566,y:293},{name:rk.SanFrancisco,region:tk.Cyan,x:48,y:371},{name:rk.LosAngeles,region:tk.Cyan,x:116,y:460},{name:rk.SanDiego,region:tk.Cyan,x:157,y:507},{name:rk.LasVegas,region:tk.Cyan,x:200,y:410},{name:rk.SaltLakeCity,region:tk.Cyan,x:266,y:311},{name:rk.Phoenix,region:tk.Cyan,x:260,y:486},{name:rk.SantaFe,region:tk.Cyan,x:371,y:435},{name:rk.KansasCity,region:tk.Red,x:587,y:356},{name:rk.OklahomaCity,region:tk.Red,x:550,y:437},{name:rk.Dallas,region:tk.Red,x:560,y:504},{name:rk.Houston,region:tk.Red,x:569,y:571},{name:rk.Memphis,region:tk.Red,x:678,y:449},{name:rk.Birmingham,region:tk.Red,x:739,y:486},{name:rk.NewOrleans,region:tk.Red,x:674,y:570},{name:rk.Fargo,region:tk.Yellow,x:551,y:152},{name:rk.Duluth,region:tk.Yellow,x:637,y:133},{name:rk.Minneapolis,region:tk.Yellow,x:621,y:190},{name:rk.Chicago,region:tk.Yellow,x:716,y:281},{name:rk.StLouis,region:tk.Yellow,x:678,y:362},{name:rk.Cincinnati,region:tk.Yellow,x:795,y:348},{name:rk.Knoxvile,region:tk.Yellow,x:796,y:422},{name:rk.Detroit,region:tk.Brown,x:803,y:262},{name:rk.Buffalo,region:tk.Brown,x:913,y:251},{name:rk.Pittsburgh,region:tk.Brown,x:884,y:316},{name:rk.Boston,region:tk.Brown,x:1052,y:252},{name:rk.NewYork,region:tk.Brown,x:1010,y:290},{name:rk.Philadelphia,region:tk.Brown,x:985,y:330},{name:rk.Washington,region:tk.Brown,x:934,y:357},{name:rk.Norfolk,region:tk.Green,x:969,y:405},{name:rk.Raleigh,region:tk.Green,x:915,y:437},{name:rk.Atlanta,region:tk.Green,x:801,y:487},{name:rk.Savannah,region:tk.Green,x:867,y:507},{name:rk.Jacksonvile,region:tk.Green,x:861,y:559},{name:rk.Tampa,region:tk.Green,x:819,y:621},{name:rk.Miami,region:tk.Green,x:883,y:670}],connections:[{nodes:[rk.Seattle,rk.Portland],cost:3},{nodes:[rk.Seattle,rk.Boise],cost:12},{nodes:[rk.Seattle,rk.Billings],cost:9},{nodes:[rk.Portland,rk.Boise],cost:13},{nodes:[rk.Portland,rk.SanFrancisco],cost:24},{nodes:[rk.Boise,rk.Billings],cost:12},{nodes:[rk.Boise,rk.Cheyenne],cost:24},{nodes:[rk.Boise,rk.SanFrancisco],cost:23},{nodes:[rk.Boise,rk.SaltLakeCity],cost:8},{nodes:[rk.Billings,rk.Cheyenne],cost:9},{nodes:[rk.Billings,rk.Fargo],cost:17},{nodes:[rk.Billings,rk.Minneapolis],cost:18},{nodes:[rk.Cheyenne,rk.Denver],cost:0},{nodes:[rk.Cheyenne,rk.Omaha],cost:14},{nodes:[rk.Cheyenne,rk.Minneapolis],cost:18},{nodes:[rk.Denver,rk.SaltLakeCity],cost:21},{nodes:[rk.Denver,rk.SantaFe],cost:13},{nodes:[rk.Denver,rk.KansasCity],cost:16},{nodes:[rk.Omaha,rk.KansasCity],cost:5},{nodes:[rk.Omaha,rk.Minneapolis],cost:8},{nodes:[rk.Omaha,rk.Chicago],cost:13},{nodes:[rk.SanFrancisco,rk.LosAngeles],cost:9},{nodes:[rk.SanFrancisco,rk.LasVegas],cost:14},{nodes:[rk.SanFrancisco,rk.SaltLakeCity],cost:27},{nodes:[rk.LosAngeles,rk.SanDiego],cost:3},{nodes:[rk.LosAngeles,rk.LasVegas],cost:9},{nodes:[rk.SanDiego,rk.LasVegas],cost:9},{nodes:[rk.SanDiego,rk.Phoenix],cost:14},{nodes:[rk.LasVegas,rk.SaltLakeCity],cost:18},{nodes:[rk.LasVegas,rk.Phoenix],cost:15},{nodes:[rk.LasVegas,rk.SantaFe],cost:27},{nodes:[rk.SaltLakeCity,rk.SantaFe],cost:28},{nodes:[rk.Phoenix,rk.SantaFe],cost:18},{nodes:[rk.SantaFe,rk.KansasCity],cost:16},{nodes:[rk.SantaFe,rk.OklahomaCity],cost:15},{nodes:[rk.SantaFe,rk.Dallas],cost:16},{nodes:[rk.SantaFe,rk.Houston],cost:21},{nodes:[rk.KansasCity,rk.OklahomaCity],cost:8},{nodes:[rk.KansasCity,rk.Memphis],cost:12},{nodes:[rk.KansasCity,rk.Chicago],cost:8},{nodes:[rk.KansasCity,rk.StLouis],cost:6},{nodes:[rk.OklahomaCity,rk.Dallas],cost:3},{nodes:[rk.OklahomaCity,rk.Memphis],cost:14},{nodes:[rk.Dallas,rk.Houston],cost:5},{nodes:[rk.Dallas,rk.Memphis],cost:12},{nodes:[rk.Dallas,rk.NewOrleans],cost:12},{nodes:[rk.Houston,rk.NewOrleans],cost:8},{nodes:[rk.Memphis,rk.Birmingham],cost:6},{nodes:[rk.Memphis,rk.NewOrleans],cost:7},{nodes:[rk.Memphis,rk.StLouis],cost:7},{nodes:[rk.Birmingham,rk.NewOrleans],cost:11},{nodes:[rk.Birmingham,rk.Atlanta],cost:3},{nodes:[rk.Birmingham,rk.Jacksonvile],cost:9},{nodes:[rk.NewOrleans,rk.Jacksonvile],cost:16},{nodes:[rk.Fargo,rk.Duluth],cost:6},{nodes:[rk.Fargo,rk.Minneapolis],cost:6},{nodes:[rk.Duluth,rk.Minneapolis],cost:5},{nodes:[rk.Duluth,rk.Chicago],cost:12},{nodes:[rk.Duluth,rk.Detroit],cost:15},{nodes:[rk.Minneapolis,rk.Chicago],cost:8},{nodes:[rk.Chicago,rk.StLouis],cost:10},{nodes:[rk.Chicago,rk.Cincinnati],cost:7},{nodes:[rk.Chicago,rk.Detroit],cost:7},{nodes:[rk.StLouis,rk.Cincinnati],cost:12},{nodes:[rk.StLouis,rk.Atlanta],cost:12},{nodes:[rk.Cincinnati,rk.Knoxvile],cost:6},{nodes:[rk.Cincinnati,rk.Detroit],cost:4},{nodes:[rk.Cincinnati,rk.Pittsburgh],cost:7},{nodes:[rk.Cincinnati,rk.Raleigh],cost:15},{nodes:[rk.Knoxvile,rk.Atlanta],cost:5},{nodes:[rk.Detroit,rk.Buffalo],cost:7},{nodes:[rk.Detroit,rk.Pittsburgh],cost:6},{nodes:[rk.Buffalo,rk.Pittsburgh],cost:7},{nodes:[rk.Buffalo,rk.NewYork],cost:8},{nodes:[rk.Pittsburgh,rk.Washington],cost:6},{nodes:[rk.Pittsburgh,rk.Raleigh],cost:7},{nodes:[rk.Boston,rk.NewYork],cost:3},{nodes:[rk.NewYork,rk.Philadelphia],cost:0},{nodes:[rk.Philadelphia,rk.Washington],cost:3},{nodes:[rk.Washington,rk.Norfolk],cost:5},{nodes:[rk.Norfolk,rk.Raleigh],cost:3},{nodes:[rk.Raleigh,rk.Atlanta],cost:7},{nodes:[rk.Raleigh,rk.Savannah],cost:7},{nodes:[rk.Atlanta,rk.Savannah],cost:7},{nodes:[rk.Savannah,rk.Jacksonvile],cost:0},{nodes:[rk.Jacksonvile,rk.Tampa],cost:4},{nodes:[rk.Tampa,rk.Miami],cost:4}],layout:"Landscape",polygons:[{region:tk.Brown,points:[[930,423],[1082,331],[1075,231],[716,249],[758,303],[897,406]]},{region:tk.Green,points:[[898,405],[762,499],[758,643],[887,744],[938,688],[889,618],[1014,432],[985,387],[929,420]]},{region:tk.Yellow,points:[[895,403],[760,499],[630,393],[607,345],[608,275],[439,162],[654,114],[771,245],[716,247],[758,301]]},{region:tk.Red,points:[[606,344],[476,371],[445,597],[546,664],[758,641],[760,497],[629,391]]},{region:tk.Purple,points:[[606,342],[476,369],[347,395],[313,301],[18,287],[18,165],[76,74],[438,160],[607,275]]},{region:tk.Cyan,points:[[18,285],[20,429],[142,583],[445,594],[476,368],[346,392],[312,300]]}]},gk={name:"USA",cities:[{name:rk.Seattle,region:tk.Purple,x:74,y:99},{name:rk.Portland,region:tk.Purple,x:45,y:167},{name:rk.Boise,region:tk.Purple,x:180,y:220},{name:rk.Billings,region:tk.Purple,x:345,y:180},{name:rk.Cheyenne,region:tk.Purple,x:410,y:280},{name:rk.Denver,region:tk.Purple,x:400,y:333},{name:rk.Omaha,region:tk.Purple,x:566,y:293},{name:rk.SanFrancisco,region:tk.Cyan,x:48,y:371},{name:rk.LosAngeles,region:tk.Cyan,x:116,y:460},{name:rk.SanDiego,region:tk.Cyan,x:157,y:507},{name:rk.LasVegas,region:tk.Cyan,x:200,y:410},{name:rk.SaltLakeCity,region:tk.Cyan,x:266,y:311},{name:rk.Phoenix,region:tk.Cyan,x:260,y:486},{name:rk.SantaFe,region:tk.Cyan,x:371,y:435},{name:rk.KansasCity,region:tk.Red,x:587,y:356},{name:rk.OklahomaCity,region:tk.Red,x:550,y:437},{name:rk.Dallas,region:tk.Red,x:560,y:504},{name:rk.Houston,region:tk.Red,x:569,y:571},{name:rk.Memphis,region:tk.Red,x:678,y:449},{name:rk.Birmingham,region:tk.Red,x:739,y:486},{name:rk.NewOrleans,region:tk.Red,x:674,y:570},{name:rk.Fargo,region:tk.Yellow,x:551,y:152},{name:rk.Duluth,region:tk.Yellow,x:637,y:133},{name:rk.Minneapolis,region:tk.Yellow,x:621,y:190},{name:rk.Chicago,region:tk.Yellow,x:716,y:281},{name:rk.StLouis,region:tk.Yellow,x:678,y:362},{name:rk.Cincinnati,region:tk.Yellow,x:795,y:348},{name:rk.Knoxvile,region:tk.Yellow,x:796,y:422},{name:rk.Detroit,region:tk.Brown,x:803,y:262},{name:rk.Buffalo,region:tk.Brown,x:913,y:251},{name:rk.Pittsburgh,region:tk.Brown,x:884,y:316},{name:rk.Boston,region:tk.Brown,x:1052,y:252},{name:rk.NewYork,region:tk.Brown,x:1010,y:290},{name:rk.Philadelphia,region:tk.Brown,x:985,y:330},{name:rk.Washington,region:tk.Brown,x:934,y:357},{name:rk.Norfolk,region:tk.Green,x:969,y:405},{name:rk.Raleigh,region:tk.Green,x:915,y:437},{name:rk.Atlanta,region:tk.Green,x:801,y:487},{name:rk.Savannah,region:tk.Green,x:867,y:507},{name:rk.Jacksonvile,region:tk.Green,x:861,y:559},{name:rk.Tampa,region:tk.Green,x:819,y:621},{name:rk.Miami,region:tk.Green,x:883,y:670}],connections:[{nodes:[rk.Seattle,rk.Portland],cost:3},{nodes:[rk.Seattle,rk.Boise],cost:12},{nodes:[rk.Seattle,rk.Billings],cost:9},{nodes:[rk.Portland,rk.Boise],cost:13},{nodes:[rk.Portland,rk.SanFrancisco],cost:24},{nodes:[rk.Boise,rk.Billings],cost:12},{nodes:[rk.Boise,rk.SanFrancisco],cost:23},{nodes:[rk.Boise,rk.SaltLakeCity],cost:8},{nodes:[rk.Billings,rk.Cheyenne],cost:9},{nodes:[rk.Billings,rk.Fargo],cost:17},{nodes:[rk.Billings,rk.Minneapolis],cost:18},{nodes:[rk.Cheyenne,rk.Denver],cost:0},{nodes:[rk.Cheyenne,rk.Omaha],cost:14},{nodes:[rk.Cheyenne,rk.Minneapolis],cost:18},{nodes:[rk.Denver,rk.SaltLakeCity],cost:21},{nodes:[rk.Denver,rk.SantaFe],cost:13},{nodes:[rk.Denver,rk.KansasCity],cost:16},{nodes:[rk.Omaha,rk.KansasCity],cost:5},{nodes:[rk.Omaha,rk.Minneapolis],cost:8},{nodes:[rk.Omaha,rk.Chicago],cost:12},{nodes:[rk.SanFrancisco,rk.LosAngeles],cost:9},{nodes:[rk.SanFrancisco,rk.LasVegas],cost:14},{nodes:[rk.SanFrancisco,rk.SaltLakeCity],cost:27},{nodes:[rk.LosAngeles,rk.SanDiego],cost:3},{nodes:[rk.LosAngeles,rk.LasVegas],cost:9},{nodes:[rk.SanDiego,rk.LasVegas],cost:9},{nodes:[rk.SanDiego,rk.Phoenix],cost:14},{nodes:[rk.LasVegas,rk.SaltLakeCity],cost:18},{nodes:[rk.LasVegas,rk.Phoenix],cost:15},{nodes:[rk.LasVegas,rk.SantaFe],cost:27},{nodes:[rk.SaltLakeCity,rk.SantaFe],cost:28},{nodes:[rk.Phoenix,rk.SantaFe],cost:18},{nodes:[rk.SantaFe,rk.KansasCity],cost:16},{nodes:[rk.SantaFe,rk.OklahomaCity],cost:15},{nodes:[rk.SantaFe,rk.Dallas],cost:16},{nodes:[rk.SantaFe,rk.Houston],cost:20},{nodes:[rk.KansasCity,rk.OklahomaCity],cost:8},{nodes:[rk.KansasCity,rk.Memphis],cost:12},{nodes:[rk.KansasCity,rk.Chicago],cost:8},{nodes:[rk.KansasCity,rk.StLouis],cost:6},{nodes:[rk.OklahomaCity,rk.Dallas],cost:3},{nodes:[rk.OklahomaCity,rk.Memphis],cost:14},{nodes:[rk.Dallas,rk.Houston],cost:5},{nodes:[rk.Dallas,rk.Memphis],cost:12},{nodes:[rk.Dallas,rk.NewOrleans],cost:12},{nodes:[rk.Houston,rk.NewOrleans],cost:8},{nodes:[rk.Memphis,rk.Birmingham],cost:6},{nodes:[rk.Memphis,rk.NewOrleans],cost:7},{nodes:[rk.Memphis,rk.StLouis],cost:7},{nodes:[rk.Birmingham,rk.NewOrleans],cost:11},{nodes:[rk.Birmingham,rk.Atlanta],cost:3},{nodes:[rk.Birmingham,rk.Jacksonvile],cost:9},{nodes:[rk.NewOrleans,rk.Jacksonvile],cost:16},{nodes:[rk.Fargo,rk.Duluth],cost:6},{nodes:[rk.Fargo,rk.Minneapolis],cost:6},{nodes:[rk.Duluth,rk.Minneapolis],cost:5},{nodes:[rk.Duluth,rk.Chicago],cost:12},{nodes:[rk.Duluth,rk.Detroit],cost:15},{nodes:[rk.Minneapolis,rk.Chicago],cost:8},{nodes:[rk.Chicago,rk.StLouis],cost:10},{nodes:[rk.Chicago,rk.Cincinnati],cost:7},{nodes:[rk.Chicago,rk.Detroit],cost:7},{nodes:[rk.StLouis,rk.Cincinnati],cost:12},{nodes:[rk.StLouis,rk.Atlanta],cost:12},{nodes:[rk.Cincinnati,rk.Knoxvile],cost:6},{nodes:[rk.Cincinnati,rk.Detroit],cost:4},{nodes:[rk.Cincinnati,rk.Pittsburgh],cost:7},{nodes:[rk.Knoxvile,rk.Atlanta],cost:5},{nodes:[rk.Knoxvile,rk.Raleigh],cost:11},{nodes:[rk.Detroit,rk.Buffalo],cost:7},{nodes:[rk.Detroit,rk.Pittsburgh],cost:6},{nodes:[rk.Buffalo,rk.Pittsburgh],cost:7},{nodes:[rk.Buffalo,rk.NewYork],cost:8},{nodes:[rk.Pittsburgh,rk.Washington],cost:6},{nodes:[rk.Pittsburgh,rk.Raleigh],cost:7},{nodes:[rk.Boston,rk.NewYork],cost:3},{nodes:[rk.NewYork,rk.Philadelphia],cost:0},{nodes:[rk.Philadelphia,rk.Washington],cost:3},{nodes:[rk.Washington,rk.Norfolk],cost:5},{nodes:[rk.Norfolk,rk.Raleigh],cost:3},{nodes:[rk.Raleigh,rk.Atlanta],cost:7},{nodes:[rk.Raleigh,rk.Savannah],cost:7},{nodes:[rk.Atlanta,rk.Savannah],cost:7},{nodes:[rk.Savannah,rk.Jacksonvile],cost:0},{nodes:[rk.Jacksonvile,rk.Tampa],cost:4},{nodes:[rk.Tampa,rk.Miami],cost:4}],layout:"Landscape",mapSpecificRules:"You can buy coal from the supply for $8."},yk=[{number:3,type:Pw.Oil,cost:2,citiesPowered:1},{number:4,type:Pw.Coal,cost:2,citiesPowered:1},{number:5,type:Pw.Hybrid,cost:2,citiesPowered:1},{number:6,type:Pw.Garbage,cost:1,citiesPowered:1},{number:7,type:Pw.Oil,cost:3,citiesPowered:2},{number:8,type:Pw.Coal,cost:3,citiesPowered:2},{number:9,type:Pw.Oil,cost:1,citiesPowered:1},{number:10,type:Pw.Coal,cost:2,citiesPowered:2},{number:11,type:Pw.Uranium,cost:1,citiesPowered:2},{number:12,type:Pw.Hybrid,cost:2,citiesPowered:2},{number:13,type:Pw.Wind,cost:0,citiesPowered:1},{number:14,type:Pw.Garbage,cost:2,citiesPowered:2},{number:15,type:Pw.Coal,cost:2,citiesPowered:3},{number:16,type:Pw.Oil,cost:2,citiesPowered:3},{number:17,type:Pw.Uranium,cost:1,citiesPowered:2},{number:18,type:Pw.Wind,cost:0,citiesPowered:2},{number:19,type:Pw.Garbage,cost:2,citiesPowered:3},{number:20,type:Pw.Coal,cost:3,citiesPowered:5},{number:21,type:Pw.Hybrid,cost:2,citiesPowered:4},{number:22,type:Pw.Wind,cost:0,citiesPowered:2},{number:23,type:Pw.Uranium,cost:1,citiesPowered:3},{number:24,type:Pw.Garbage,cost:2,citiesPowered:4},{number:25,type:Pw.Coal,cost:2,citiesPowered:5},{number:26,type:Pw.Oil,cost:2,citiesPowered:5},{number:27,type:Pw.Wind,cost:0,citiesPowered:3},{number:28,type:Pw.Uranium,cost:1,citiesPowered:4},{number:29,type:Pw.Hybrid,cost:1,citiesPowered:4},{number:30,type:Pw.Garbage,cost:3,citiesPowered:6},{number:31,type:Pw.Coal,cost:3,citiesPowered:6},{number:32,type:Pw.Oil,cost:3,citiesPowered:6},{number:33,type:Pw.Wind,cost:0,citiesPowered:4},{number:34,type:Pw.Uranium,cost:1,citiesPowered:5},{number:35,type:Pw.Oil,cost:1,citiesPowered:5},{number:36,type:Pw.Coal,cost:3,citiesPowered:7},{number:37,type:Pw.Wind,cost:0,citiesPowered:4},{number:38,type:Pw.Garbage,cost:3,citiesPowered:7},{number:39,type:Pw.Uranium,cost:1,citiesPowered:6},{number:40,type:Pw.Oil,cost:2,citiesPowered:6},{number:42,type:Pw.Coal,cost:2,citiesPowered:6},{number:44,type:Pw.Wind,cost:0,citiesPowered:5},{number:46,type:Pw.Hybrid,cost:3,citiesPowered:7},{number:50,type:Pw.Nuclear,cost:0,citiesPowered:6},{number:99,type:Pw.Step3,cost:0,citiesPowered:6}],bk=Object(Qw["cloneDeep"])(yk).filter((function(e){return 11!=e.number}));bk.forEach((function(e){e.type==Pw.Garbage&&(e.storage=2*e.cost,e.cost++)})),function(e){e["Pink"]="pink",e["Brown"]="brown",e["Green"]="green",e["Red"]="red",e["Yellow"]="yellow"}(vk||(vk={})),function(e){e["Hobart"]="Hobart",e["Launceston"]="Launceston",e["Geelong"]="Geelong",e["Melbourne1"]="Melbourne 1",e["Melbourne2"]="Melbourne 2",e["Bendigo"]="Bendigo",e["Albury"]="Albury",e["Wollongong"]="Wollongong",e["Mildura"]="Mildura",e["Dubbo"]="Dubbo",e["Canberra"]="Canberra",e["Sydney1"]="Sydney 1",e["Sydney2"]="Sydney 2",e["Newcastle"]="Newcastle",e["Toowoomba"]="Toowoomba",e["Goldcoast"]="Gold Coast",e["Brisbane"]="Brisbane",e["Rockhampton"]="Rockhampton",e["Mackay"]="Mackay",e["Townsville"]="Townsville",e["Cairns"]="Cairns",e["Porthedland"]="Port Hedland",e["Broome"]="Broome",e["Albany"]="Albany",e["Bunbury"]="Bunbury",e["Perth"]="Perth",e["Kalgoorlie"]="Kalgoorlie",e["Geraldton"]="Geraldton",e["Darwin"]="Darwin",e["Katherine"]="Katherine",e["Tennantcreek"]="Tennant Creek",e["Alicesprings"]="Alice Springs",e["Portaugusta"]="Port Augusta",e["CooberPedy"]="Coober Pedy",e["Adelaide"]="Adelaide"}(hk||(hk={}));var wk,kk,xk={name:"Australia",layout:"Landscape",adjustRatio:[.33,.33],mapPosition:[40,-30],mapRotation:180,cities:[{name:hk.Hobart,region:vk.Pink,x:540,y:467},{name:hk.Launceston,region:vk.Pink,x:720,y:500},{name:hk.Geelong,region:vk.Pink,x:988,y:712},{name:hk.Melbourne1,region:vk.Pink,x:790,y:650},{name:hk.Melbourne2,region:vk.Pink,x:790,y:790},{name:hk.Bendigo,region:vk.Pink,x:1052,y:870},{name:hk.Albury,region:vk.Brown,x:810,y:983},{name:hk.Wollongong,region:vk.Brown,x:530,y:1080},{name:hk.Mildura,region:vk.Pink,x:1185,y:1010},{name:hk.Dubbo,region:vk.Brown,x:891,y:1364},{name:hk.Canberra,region:vk.Brown,x:804,y:1188},{name:hk.Sydney1,region:vk.Brown,x:550,y:1230},{name:hk.Sydney2,region:vk.Brown,x:550,y:1380},{name:hk.Newcastle,region:vk.Brown,x:530,y:1545},{name:hk.Toowoomba,region:vk.Green,x:1010,y:1660},{name:hk.Goldcoast,region:vk.Green,x:660,y:1730},{name:hk.Brisbane,region:vk.Green,x:740,y:1885},{name:hk.Rockhampton,region:vk.Green,x:1040,y:1987},{name:hk.Mackay,region:vk.Green,x:1260,y:2101},{name:hk.Townsville,region:vk.Green,x:1445,y:2193},{name:hk.Cairns,region:vk.Green,x:1652,y:2209},{name:hk.Porthedland,region:vk.Red,x:2741,y:2002},{name:hk.Broome,region:vk.Red,x:2503,y:2175},{name:hk.Albany,region:vk.Red,x:2400,y:850},{name:hk.Bunbury,region:vk.Red,x:2700,y:1030},{name:hk.Perth,region:vk.Red,x:2680,y:1230},{name:hk.Kalgoorlie,region:vk.Red,x:2177,y:1295},{name:hk.Geraldton,region:vk.Red,x:2747,y:1557},{name:hk.Darwin,region:vk.Yellow,x:2264,y:2016},{name:hk.Katherine,region:vk.Yellow,x:2105,y:1947},{name:hk.Tennantcreek,region:vk.Yellow,x:1905,y:1736},{name:hk.Alicesprings,region:vk.Yellow,x:1803,y:1512},{name:hk.Portaugusta,region:vk.Yellow,x:1520,y:1094},{name:hk.CooberPedy,region:vk.Yellow,x:1850,y:1232},{name:hk.Adelaide,region:vk.Yellow,x:1430,y:863}],connections:[{nodes:[hk.Broome,hk.Porthedland],cost:13},{nodes:[hk.Kalgoorlie,hk.Geraldton],cost:16},{nodes:[hk.Geraldton,hk.Perth],cost:9},{nodes:[hk.Perth,hk.Kalgoorlie],cost:12},{nodes:[hk.Kalgoorlie,hk.Albany],cost:16},{nodes:[hk.Albany,hk.Perth],cost:9},{nodes:[hk.Perth,hk.Bunbury],cost:4},{nodes:[hk.Bunbury,hk.Albany],cost:6},{nodes:[hk.Cairns,hk.Townsville],cost:9},{nodes:[hk.Townsville,hk.Mackay],cost:9},{nodes:[hk.Mackay,hk.Rockhampton],cost:8},{nodes:[hk.Rockhampton,hk.Toowoomba],cost:15},{nodes:[hk.Toowoomba,hk.Brisbane],cost:5},{nodes:[hk.Brisbane,hk.Rockhampton],cost:15},{nodes:[hk.Brisbane,hk.Goldcoast],cost:2},{nodes:[hk.Goldcoast,hk.Toowoomba],cost:6},{nodes:[hk.Goldcoast,hk.Newcastle],cost:15},{nodes:[hk.Newcastle,hk.Sydney2],cost:4},{nodes:[hk.Sydney2,hk.Sydney1],cost:0},{nodes:[hk.Newcastle,hk.Dubbo],cost:10},{nodes:[hk.Dubbo,hk.Toowoomba],cost:18},{nodes:[hk.Sydney1,hk.Wollongong],cost:2},{nodes:[hk.Sydney1,hk.Canberra],cost:8},{nodes:[hk.Canberra,hk.Dubbo],cost:11},{nodes:[hk.Canberra,hk.Newcastle],cost:10},{nodes:[hk.Dubbo,hk.Mildura],cost:16},{nodes:[hk.Mildura,hk.Canberra],cost:16},{nodes:[hk.Canberra,hk.Albury],cost:7},{nodes:[hk.Mildura,hk.Bendigo],cost:7},{nodes:[hk.Bendigo,hk.Melbourne2],cost:3},{nodes:[hk.Melbourne2,hk.Albury],cost:9},{nodes:[hk.Mildura,hk.Adelaide],cost:8},{nodes:[hk.Adelaide,hk.Portaugusta],cost:7},{nodes:[hk.Portaugusta,hk.CooberPedy],cost:11},{nodes:[hk.Mildura,hk.Portaugusta],cost:11},{nodes:[hk.Adelaide,hk.Geelong],cost:13},{nodes:[hk.Geelong,hk.Bendigo],cost:5},{nodes:[hk.Bendigo,hk.Albury],cost:6},{nodes:[hk.Wollongong,hk.Melbourne1],cost:19},{nodes:[hk.Melbourne1,hk.Launceston],cost:19},{nodes:[hk.Launceston,hk.Hobart],cost:5},{nodes:[hk.Melbourne1,hk.Geelong],cost:2},{nodes:[hk.Melbourne2,hk.Melbourne1],cost:0},{nodes:[hk.CooberPedy,hk.Alicesprings],cost:13},{nodes:[hk.Alicesprings,hk.Tennantcreek],cost:10},{nodes:[hk.Tennantcreek,hk.Katherine],cost:14},{nodes:[hk.Katherine,hk.Darwin],cost:6}],resupply:[[[3,5,4],[4,6,4],[4,7,5],[5,9,6],[7,10,7]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]],uraniumMineResupply:[[1,2,3],[1,2,3],[2,2,4],[2,3,5],[3,3,6]],startingResources:[24,18,15,0],startingSupply:[24,24,24,0],setupDeck:function(e,n,t){var r,o,i=Object(Qw["cloneDeep"])(yk).filter((function(e){return 17!==e.number}));if("original"==n){i=i.slice(8);var a=i.findIndex((function(e){return 13==e.number})),c=i.splice(a,1)[0],u=i.pop();i=uk(i,t()+""),2==e||3==e?i=i.slice(8):4==e&&(i=i.slice(4)),i.unshift(c),i.push(u),r=[j_(3),j_(4),j_(5),j_(6)],o=[j_(7),j_(8),j_(9),j_(10)]}else{var s=uk(i.splice(0,13),t()+""),l=s.splice(0,8);l=l.sort((function(e,n){return e.number-n.number})),r=l.slice(0,4),o=l.slice(4);var d=s.shift(),f=i.pop();i=uk(i,t()+""),2==e?(s=s.slice(1),i=uk(i.slice(5).concat(s),t()+"")):3==e?(s=s.slice(2),i=uk(i.slice(6).concat(s),t()+"")):4==e?(s=s.slice(1),i=uk(i.slice(3).concat(s),t()+"")):i=uk(i.concat(s),t()+""),i.unshift(d),i.push(f)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:i}},mapSpecificRules:"Uranium mines: the five uranium power plants (11, 23, 28, 34, 39) are replaced by uranium mines. Power plant 17 is removed from the deck. Mines are bought in the normal power-plant auctions but do not power cities and do not count toward the 3-power-plant hand limit (a player may hold any number of mines plus up to 3 power plants). Mines DO count for player order. Instead of powering cities, during Bureaucracy each mine produces uranium for sale on the separate uranium market. Uranium market: a separate market of 12 slots (prices $2–$7, two slots each), all filled at game start. When selling, a player earns the highest available (empty-slot) price times the total cities their mines could power, then places one uranium token per mine on the highest empty slots. The resource-market refill REMOVES uranium tokens from the cheapest filled slots. Selling happens AUTOMATICALLY during Bureaucracy, in reverse turn order (the last player in turn order sells first). The printed rules let a player decline to sell; for simplicity this implementation always sells, so no player action is required. Unlike city income, uranium income is still paid in the final round. Main resource market: there is no uranium row — coal, oil and garbage only. Step 3 CO2 tax: when Step 3 begins, the six cheapest tokens of each resource move into new $9 and $10 spaces, and the $1 and $2 spaces become inactive for the rest of the game (the market shifts up by $2). General connection: any single build may connect a city for a flat 20 Elektro instead of the shortest-path connection cost, and this may be used multiple times in one turn. Metropolises: Melbourne and Sydney each consist of two cities (1 and 2) connected by a 0-cost edge. Regions need not be adjacent: any combination of regions may be in play.\n",deckBuild:"power plant 17 is removed from the game; the five uranium mines (11, 23, 28, 34, 39) stay in the deck. Otherwise standard setup for both variants."};(function(e){e["Purple"]="purple",e["Green"]="green",e["Red"]="red",e["Blue"]="blue",e["Yellow"]="yellow"})(wk||(wk={})),function(e){e["Friedrichshafen"]="Friedrichshafen",e["Ravensburg"]="Ravensburg",e["Biberach"]="Biberach",e["Sigmarincen"]="Sigmaringen",e["Konstanz"]="Konstanz",e["Ulm"]="Ulm",e["Augsburg"]="Augsburg",e["Basel"]="Basel",e["Waldshuttiencen"]="Waldshut-Tiengen",e["Singen"]="Singen",e["Tuttlincen"]="Tuttlingen",e["Donaueschingen"]="Donaueschingen",e["Freiburg"]="Freiburg",e["Lorrach"]="Lorrach",e["Tauberbischofsheim"]="Tauberbischofsheim",e["Schwabischhall"]="Schwabisch Hall",e["Heilbronn"]="Heilbronn",e["Sinsheim"]="Sinsheim",e["Heidelber"]="Heidelberg",e["Mannheim"]="Mannheim",e["Luowigshafen"]="Ludwigshafen",e["Nurnberg"]="Nurnberg",e["Ellwangen"]="Ellwangen",e["Coppingen"]="Göppingen",e["Reutlincen"]="Reutlingen",e["Stuttgart"]="Stuttgart",e["Ludwigsburg"]="Ludwigsburg",e["Boblingen"]="Boblingen",e["Laha"]="Lahr",e["Badenbaden"]="Baden-Baden",e["Offenburg"]="Offenburg",e["Strasbourg"]="Strasbourg",e["Pforzheim"]="Pforzheim",e["Rastatt"]="Rastatt",e["Karlsruhf"]="Karlsruhe"}(kk||(kk={}));var _k,Sk,Mk={name:"Baden-Württemberg",cities:[{name:kk.Friedrichshafen,region:wk.Purple,x:1286,y:2177},{name:kk.Ravensburg,region:wk.Purple,x:1365,y:2023},{name:kk.Biberach,region:wk.Purple,x:1451,y:1779},{name:kk.Sigmarincen,region:wk.Purple,x:1111,y:1803},{name:kk.Konstanz,region:wk.Purple,x:1088,y:2163},{name:kk.Ulm,region:wk.Purple,x:1541,y:1499},{name:kk.Augsburg,region:wk.Purple,x:1830,y:1505,transregional:!0,slotCosts:[15,20],stepSlots:[0,1,2]},{name:kk.Basel,region:wk.Green,x:103,y:2271,transregional:!0,slotCosts:[15,20],stepSlots:[0,1,2]},{name:kk.Waldshuttiencen,region:wk.Green,x:502,y:2166},{name:kk.Singen,region:wk.Green,x:874,y:2084},{name:kk.Tuttlincen,region:wk.Green,x:870,y:1854},{name:kk.Donaueschingen,region:wk.Green,x:669,y:1923},{name:kk.Freiburg,region:wk.Green,x:290,y:1828},{name:kk.Lorrach,region:wk.Green,x:212,y:2141},{name:kk.Tauberbischofsheim,region:wk.Red,x:1354,y:450},{name:kk.Schwabischhall,region:wk.Red,x:1415,y:899},{name:kk.Heilbronn,region:wk.Red,x:1115,y:872},{name:kk.Sinsheim,region:wk.Red,x:920,y:785},{name:kk.Heidelber,region:wk.Red,x:817,y:660},{name:kk.Mannheim,region:wk.Red,x:710,y:540},{name:kk.Luowigshafen,region:wk.Red,x:579,y:588,transregional:!0,slotCosts:[15,20],stepSlots:[0,1,2]},{name:kk.Nurnberg,region:wk.Blue,x:1837,y:771,transregional:!0,slotCosts:[15,20],stepSlots:[0,1,2]},{name:kk.Ellwangen,region:wk.Blue,x:1637,y:1030},{name:kk.Coppingen,region:wk.Blue,x:1387,y:1233},{name:kk.Reutlincen,region:wk.Blue,x:1107,y:1443},{name:kk.Stuttgart,region:wk.Blue,x:1106,y:1217},{name:kk.Ludwigsburg,region:wk.Blue,x:1099,y:1047},{name:kk.Boblingen,region:wk.Blue,x:956,y:1277},{name:kk.Laha,region:wk.Yellow,x:296,y:1575},{name:kk.Badenbaden,region:wk.Yellow,x:554,y:1259},{name:kk.Offenburg,region:wk.Yellow,x:395,y:1422},{name:kk.Strasbourg,region:wk.Yellow,x:211,y:1330,transregional:!0,slotCosts:[15,20],stepSlots:[0,1,2]},{name:kk.Pforzheim,region:wk.Yellow,x:794,y:1095},{name:kk.Rastatt,region:wk.Yellow,x:509,y:1109},{name:kk.Karlsruhf,region:wk.Yellow,x:638,y:974}],connections:[{nodes:[kk.Luowigshafen,kk.Mannheim],cost:0},{nodes:[kk.Mannheim,kk.Heidelber],cost:4},{nodes:[kk.Mannheim,kk.Karlsruhf],cost:10},{nodes:[kk.Karlsruhf,kk.Heidelber],cost:9},{nodes:[kk.Heidelber,kk.Sinsheim],cost:5},{nodes:[kk.Sinsheim,kk.Tauberbischofsheim],cost:15},{nodes:[kk.Tauberbischofsheim,kk.Heilbronn],cost:13},{nodes:[kk.Heilbronn,kk.Sinsheim],cost:6},{nodes:[kk.Sinsheim,kk.Karlsruhf],cost:9},{nodes:[kk.Karlsruhf,kk.Rastatt],cost:4},{nodes:[kk.Karlsruhf,kk.Pforzheim],cost:6},{nodes:[kk.Pforzheim,kk.Sinsheim],cost:10},{nodes:[kk.Tauberbischofsheim,kk.Schwabischhall],cost:13},{nodes:[kk.Schwabischhall,kk.Ellwangen],cost:8},{nodes:[kk.Ellwangen,kk.Nurnberg],cost:18},{nodes:[kk.Schwabischhall,kk.Coppingen],cost:11},{nodes:[kk.Coppingen,kk.Ellwangen],cost:10},{nodes:[kk.Ludwigsburg,kk.Heilbronn],cost:5},{nodes:[kk.Heilbronn,kk.Schwabischhall],cost:9},{nodes:[kk.Schwabischhall,kk.Ludwigsburg],cost:10},{nodes:[kk.Ludwigsburg,kk.Coppingen],cost:9},{nodes:[kk.Coppingen,kk.Stuttgart],cost:8},{nodes:[kk.Ludwigsburg,kk.Sinsheim],cost:10},{nodes:[kk.Ludwigsburg,kk.Pforzheim],cost:8},{nodes:[kk.Pforzheim,kk.Badenbaden],cost:9},{nodes:[kk.Badenbaden,kk.Rastatt],cost:2},{nodes:[kk.Strasbourg,kk.Offenburg],cost:5},{nodes:[kk.Offenburg,kk.Badenbaden],cost:8},{nodes:[kk.Pforzheim,kk.Stuttgart],cost:8},{nodes:[kk.Stuttgart,kk.Ludwigsburg],cost:2},{nodes:[kk.Stuttgart,kk.Boblingen],cost:4},{nodes:[kk.Boblingen,kk.Pforzheim],cost:7},{nodes:[kk.Boblingen,kk.Badenbaden],cost:15},{nodes:[kk.Reutlincen,kk.Stuttgart],cost:9},{nodes:[kk.Boblingen,kk.Reutlincen],cost:8},{nodes:[kk.Reutlincen,kk.Badenbaden],cost:22},{nodes:[kk.Offenburg,kk.Reutlincen],cost:30},{nodes:[kk.Reutlincen,kk.Coppingen],cost:10},{nodes:[kk.Coppingen,kk.Ulm],cost:10},{nodes:[kk.Ulm,kk.Reutlincen],cost:16},{nodes:[kk.Ellwangen,kk.Ulm],cost:19},{nodes:[kk.Ulm,kk.Augsburg],cost:16},{nodes:[kk.Reutlincen,kk.Tuttlincen],cost:17},{nodes:[kk.Reutlincen,kk.Sigmarincen],cost:11},{nodes:[kk.Sigmarincen,kk.Ulm],cost:14},{nodes:[kk.Ulm,kk.Biberach],cost:8},{nodes:[kk.Biberach,kk.Sigmarincen],cost:11},{nodes:[kk.Biberach,kk.Ravensburg],cost:9},{nodes:[kk.Ravensburg,kk.Sigmarincen],cost:10},{nodes:[kk.Sigmarincen,kk.Tuttlincen],cost:7},{nodes:[kk.Tuttlincen,kk.Offenburg],cost:27},{nodes:[kk.Offenburg,kk.Laha],cost:3},{nodes:[kk.Laha,kk.Freiburg],cost:8},{nodes:[kk.Laha,kk.Donaueschingen],cost:19},{nodes:[kk.Donaueschingen,kk.Tuttlincen],cost:6},{nodes:[kk.Tuttlincen,kk.Singen],cost:7},{nodes:[kk.Singen,kk.Donaueschingen],cost:7},{nodes:[kk.Donaueschingen,kk.Freiburg],cost:13},{nodes:[kk.Freiburg,kk.Lorrach],cost:10},{nodes:[kk.Freiburg,kk.Waldshuttiencen],cost:15},{nodes:[kk.Waldshuttiencen,kk.Lorrach],cost:9},{nodes:[kk.Lorrach,kk.Basel],cost:2},{nodes:[kk.Waldshuttiencen,kk.Donaueschingen],cost:11},{nodes:[kk.Singen,kk.Konstanz],cost:6},{nodes:[kk.Konstanz,kk.Friedrichshafen],cost:9},{nodes:[kk.Friedrichshafen,kk.Ravensburg],cost:3},{nodes:[kk.Friedrichshafen,kk.Sigmarincen],cost:11},{nodes:[kk.Sigmarincen,kk.Konstanz],cost:14},{nodes:[kk.Konstanz,kk.Tuttlincen],cost:11}],layout:"Portrait",adjustRatio:[.425,.425],mapPosition:[100,-90],resupply:[[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],mapSpecificRules:"Phase order change: buy power plants first, then determine player order. If no power plant is sold in a round, remove the two lowest-numbered plants from the market and replace them from the draw stack. Never remove a power plant whose number is equal to or lower than the number of cities any player has powered. Transregional cities (e.g. Strasbourg) are only available starting in Step 2. Step 2 begins when any player connects to 9 cities (2 players), 6 cities (3–5 players), or 5 cities (6 players)."};(function(e){e["Green"]="green",e["Brown"]="brown",e["Yellow"]="yellow",e["Red"]="red",e["Blue"]="blue"})(_k||(_k={})),function(e){e["Groningen"]="Groningen",e["Enschede"]="Enschede",e["Apeldoorn"]="Apeldoorn",e["Arnhem"]="Arnhem",e["Leeuwarden"]="Leeuwarden",e["Nijmegen"]="Nijmegen",e["Denhelder"]="Den Helder",e["Zaanstad"]="Zaanstad",e["Amsterdam"]="Amsterdam",e["Utrecht"]="Utrecht",e["Haarlem"]="Haarlem",e["Leiden"]="Leiden",e["Denhaas"]="Den Haas",e["Rotterdam"]="Rotterdam",e["Enbosch"]="En Bosch",e["Venlo"]="Venlo",e["Eindhoven"]="Eindhoven",e["Tilburg"]="Tilburg",e["Breda"]="Breda",e["Middelburg"]="Middelburg",e["Maastricht"]="Maastricht",e["Leuven"]="Leuven",e["Brussel"]="Brussel",e["Antwerpen"]="Antwerpen",e["Gent"]="Gent",e["Kortrijk"]="Kortrijk",e["Brugge"]="Brugge",e["Dostende"]="Dostende",e["Liege"]="Liege",e["Namur"]="Namur",e["Bruxelles"]="Bruxelles",e["Charleroi"]="Charleroi",e["Mons"]="Mons",e["Arlon"]="Arlon",e["Luxembourg"]="Luxembourg"}(Sk||(Sk={}));var Pk,Ik,Ck={name:"Benelux",cities:[{name:Sk.Groningen,region:_k.Green,x:654,y:147},{name:Sk.Enschede,region:_k.Green,x:659,y:369},{name:Sk.Apeldoorn,region:_k.Green,x:552,y:329},{name:Sk.Arnhem,region:_k.Green,x:541,y:386},{name:Sk.Leeuwarden,region:_k.Green,x:560,y:136},{name:Sk.Nijmegen,region:_k.Green,x:518,y:445},{name:Sk.Denhelder,region:_k.Green,x:411,y:169},{name:Sk.Zaanstad,region:_k.Brown,x:432,y:245},{name:Sk.Amsterdam,region:_k.Brown,x:437,y:299},{name:Sk.Utrecht,region:_k.Brown,x:429,y:361},{name:Sk.Haarlem,region:_k.Brown,x:373,y:259},{name:Sk.Leiden,region:_k.Brown,x:355,y:322},{name:Sk.Denhaas,region:_k.Brown,x:300,y:347},{name:Sk.Rotterdam,region:_k.Brown,x:338,y:400},{name:Sk.Enbosch,region:_k.Yellow,x:448,y:447},{name:Sk.Venlo,region:_k.Yellow,x:550,y:526},{name:Sk.Eindhoven,region:_k.Yellow,x:463,y:539},{name:Sk.Tilburg,region:_k.Yellow,x:404,y:497},{name:Sk.Breda,region:_k.Yellow,x:349,y:466},{name:Sk.Middelburg,region:_k.Yellow,x:210,y:453},{name:Sk.Maastricht,region:_k.Yellow,x:480,y:640},{name:Sk.Leuven,region:_k.Red,x:352,y:619},{name:Sk.Brussel,region:_k.Red,x:286,y:595},{name:Sk.Antwerpen,region:_k.Red,x:304,y:526},{name:Sk.Gent,region:_k.Red,x:206,y:562},{name:Sk.Kortrijk,region:_k.Red,x:132,y:589},{name:Sk.Brugge,region:_k.Red,x:160,y:511},{name:Sk.Dostende,region:_k.Red,x:94,y:495},{name:Sk.Liege,region:_k.Blue,x:445,y:705},{name:Sk.Namur,region:_k.Blue,x:361,y:713},{name:Sk.Bruxelles,region:_k.Blue,x:283,y:642},{name:Sk.Charleroi,region:_k.Blue,x:278,y:725},{name:Sk.Mons,region:_k.Blue,x:212,y:686},{name:Sk.Arlon,region:_k.Blue,x:431,y:876},{name:Sk.Luxembourg,region:_k.Blue,x:502,y:918}],connections:[{nodes:[Sk.Denhelder,Sk.Leeuwarden],cost:13},{nodes:[Sk.Leeuwarden,Sk.Groningen],cost:6},{nodes:[Sk.Groningen,Sk.Enschede],cost:12},{nodes:[Sk.Enschede,Sk.Apeldoorn],cost:9},{nodes:[Sk.Apeldoorn,Sk.Arnhem],cost:3},{nodes:[Sk.Arnhem,Sk.Nijmegen],cost:2},{nodes:[Sk.Nijmegen,Sk.Enbosch],cost:6},{nodes:[Sk.Nijmegen,Sk.Venlo],cost:7},{nodes:[Sk.Nijmegen,Sk.Eindhoven],cost:7},{nodes:[Sk.Eindhoven,Sk.Enbosch],cost:4},{nodes:[Sk.Enbosch,Sk.Utrecht],cost:8},{nodes:[Sk.Apeldoorn,Sk.Leeuwarden],cost:15},{nodes:[Sk.Leeuwarden,Sk.Enschede],cost:13},{nodes:[Sk.Enschede,Sk.Arnhem],cost:7},{nodes:[Sk.Arnhem,Sk.Utrecht],cost:6},{nodes:[Sk.Utrecht,Sk.Amsterdam],cost:4},{nodes:[Sk.Amsterdam,Sk.Haarlem],cost:2},{nodes:[Sk.Haarlem,Sk.Zaanstad],cost:2},{nodes:[Sk.Zaanstad,Sk.Denhelder],cost:6},{nodes:[Sk.Denhelder,Sk.Haarlem],cost:7},{nodes:[Sk.Haarlem,Sk.Leiden],cost:3},{nodes:[Sk.Leiden,Sk.Denhaas],cost:2},{nodes:[Sk.Denhaas,Sk.Rotterdam],cost:3},{nodes:[Sk.Rotterdam,Sk.Leiden],cost:3},{nodes:[Sk.Leiden,Sk.Amsterdam],cost:4},{nodes:[Sk.Leiden,Sk.Utrecht],cost:4},{nodes:[Sk.Utrecht,Sk.Rotterdam],cost:5},{nodes:[Sk.Rotterdam,Sk.Enbosch],cost:11},{nodes:[Sk.Breda,Sk.Rotterdam],cost:8},{nodes:[Sk.Breda,Sk.Middelburg],cost:9},{nodes:[Sk.Middelburg,Sk.Antwerpen],cost:8},{nodes:[Sk.Antwerpen,Sk.Brugge],cost:9},{nodes:[Sk.Brugge,Sk.Dostende],cost:2},{nodes:[Sk.Amsterdam,Sk.Zaanstad],cost:1},{nodes:[Sk.Amsterdam,Sk.Apeldoorn],cost:7},{nodes:[Sk.Apeldoorn,Sk.Utrecht],cost:6},{nodes:[Sk.Venlo,Sk.Eindhoven],cost:5},{nodes:[Sk.Eindhoven,Sk.Tilburg],cost:4},{nodes:[Sk.Tilburg,Sk.Breda],cost:2},{nodes:[Sk.Breda,Sk.Enbosch],cost:5},{nodes:[Sk.Breda,Sk.Antwerpen],cost:5},{nodes:[Sk.Antwerpen,Sk.Tilburg],cost:6},{nodes:[Sk.Antwerpen,Sk.Eindhoven],cost:8},{nodes:[Sk.Eindhoven,Sk.Maastricht],cost:8},{nodes:[Sk.Maastricht,Sk.Venlo],cost:10},{nodes:[Sk.Maastricht,Sk.Leuven],cost:7},{nodes:[Sk.Leuven,Sk.Eindhoven],cost:9},{nodes:[Sk.Leuven,Sk.Brussel],cost:2},{nodes:[Sk.Brussel,Sk.Bruxelles],cost:0},{nodes:[Sk.Bruxelles,Sk.Charleroi],cost:5},{nodes:[Sk.Charleroi,Sk.Namur],cost:3},{nodes:[Sk.Namur,Sk.Bruxelles],cost:5},{nodes:[Sk.Leuven,Sk.Namur],cost:5},{nodes:[Sk.Leuven,Sk.Liege],cost:7},{nodes:[Sk.Liege,Sk.Namur],cost:6},{nodes:[Sk.Liege,Sk.Maastricht],cost:3},{nodes:[Sk.Kortrijk,Sk.Dostende],cost:5},{nodes:[Sk.Brugge,Sk.Kortrijk],cost:4},{nodes:[Sk.Kortrijk,Sk.Gent],cost:4},{nodes:[Sk.Gent,Sk.Brugge],cost:3},{nodes:[Sk.Kortrijk,Sk.Bruxelles],cost:10},{nodes:[Sk.Bruxelles,Sk.Mons],cost:5},{nodes:[Sk.Mons,Sk.Kortrijk],cost:8},{nodes:[Sk.Gent,Sk.Antwerpen],cost:5},{nodes:[Sk.Antwerpen,Sk.Brussel],cost:4},{nodes:[Sk.Brussel,Sk.Gent],cost:7},{nodes:[Sk.Antwerpen,Sk.Leuven],cost:4},{nodes:[Sk.Mons,Sk.Charleroi],cost:4},{nodes:[Sk.Charleroi,Sk.Arlon],cost:18},{nodes:[Sk.Arlon,Sk.Luxembourg],cost:5},{nodes:[Sk.Luxembourg,Sk.Liege],cost:20},{nodes:[Sk.Liege,Sk.Arlon],cost:18},{nodes:[Sk.Arlon,Sk.Namur],cost:16},{nodes:[Sk.Tilburg,Sk.Enbosch],cost:3}],layout:"Portrait",mapPosition:[0,-50],adjustRatio:[1.15,1.15],resupply:[[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],[[1,2,3],[2,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],startingResources:[18,24,6,2],viewBox:[1530,1060],playerOrderPosition:[1225,140],buttonsPosition:[1370,0],playerBoardsPosition:[1170,200],actualMarketWidth:495,mapSpecificRules:"Ecological plants can enter the market earlier. Remove smallest power plant after each round (unless discount plant was removed)."};(function(e){e["Red"]="red",e["Pink"]="pink",e["Purple"]="purple",e["Green"]="green",e["Brown"]="brown",e["Yellow"]="yellow"})(Pk||(Pk={})),function(e){e["Parnaiba"]="Parnaiba",e["Fortaleza"]="Fortaleza",e["Sadluis"]="Sadluis",e["Belem"]="Belem",e["Teresina"]="Teresina",e["Imperatriz"]="Imperatriz",e["Maraba"]="Maraba",e["Campinagrande"]="Campina Grande",e["Petrolina"]="Petrolina",e["Natal"]="Natal",e["Joaopessoa"]="Joaopessoa",e["Recife"]="Recife",e["Maceio"]="Maceio",e["Aracaju"]="Aracaju",e["Salvadordabahia"]="Salvador Da Bahia",e["Montesclaros"]="Montes Claros",e["Brasilia"]="Brasilia",e["Palmas"]="Palmas",e["Porangatu"]="Porangatu",e["Goiania"]="Goiania",e["Uberlandia"]="Uberlandia",e["Vitoria"]="Vitoria",e["Riodejaneiro"]="Rio De Janeiro",e["Saogoncalo"]="Sao Goncalo",e["Saopaulo"]="Sao Paulo",e["Guarulhos"]="Guarulhos",e["Campinas"]="Campinas",e["Belohorizonte"]="Belo Horizonte",e["Curitiba"]="Curitiba",e["Florianopolis"]="Florianopolis",e["Portoalecre"]="Porto Alecre",e["Pelotas"]="Pelotas",e["Urucuaiana"]="Urucuaiana",e["Londrina"]="Londrina",e["Campogrande"]="Campo Grande",e["Macapa"]="Macapa",e["Boavista"]="Boavista",e["Manaus"]="Manaus",e["Portovelho"]="Porto Velho",e["Cuiaba"]="Cuiaba",e["Vilhena"]="Vilhena",e["Riobranco"]="Rio Branco"}(Ik||(Ik={}));var Ok,Ak,Nk={name:"Brazil",cities:[{name:Ik.Parnaiba,region:Pk.Red,x:855,y:458},{name:Ik.Fortaleza,region:Pk.Red,x:961,y:478},{name:Ik.Sadluis,region:Pk.Red,x:772,y:418},{name:Ik.Belem,region:Pk.Red,x:655,y:378},{name:Ik.Teresina,region:Pk.Red,x:846,y:548},{name:Ik.Imperatriz,region:Pk.Red,x:697,y:535},{name:Ik.Maraba,region:Pk.Red,x:581,y:492},{name:Ik.Campinagrande,region:Pk.Pink,x:976,y:587},{name:Ik.Petrolina,region:Pk.Pink,x:872,y:648},{name:Ik.Natal,region:Pk.Pink,x:1061,y:518},{name:Ik.Joaopessoa,region:Pk.Pink,x:1097,y:576},{name:Ik.Recife,region:Pk.Pink,x:1083,y:637},{name:Ik.Maceio,region:Pk.Pink,x:1040,y:699},{name:Ik.Aracaju,region:Pk.Pink,x:995,y:750},{name:Ik.Salvadordabahia,region:Pk.Purple,x:960,y:808},{name:Ik.Montesclaros,region:Pk.Purple,x:795,y:847},{name:Ik.Brasilia,region:Pk.Purple,x:671,y:817},{name:Ik.Palmas,region:Pk.Purple,x:648,y:663},{name:Ik.Porangatu,region:Pk.Purple,x:598,y:762},{name:Ik.Goiania,region:Pk.Purple,x:601,y:889},{name:Ik.Uberlandia,region:Pk.Purple,x:646,y:964},{name:Ik.Vitoria,region:Pk.Green,x:910,y:971},{name:Ik.Riodejaneiro,region:Pk.Green,x:795,y:1076},{name:Ik.Saogoncalo,region:Pk.Green,x:843,y:1033},{name:Ik.Saopaulo,region:Pk.Green,x:721,y:1134},{name:Ik.Guarulhos,region:Pk.Green,x:678,y:1089},{name:Ik.Campinas,region:Pk.Green,x:629,y:1037},{name:Ik.Belohorizonte,region:Pk.Green,x:771,y:960},{name:Ik.Curitiba,region:Pk.Brown,x:615,y:1144},{name:Ik.Florianopolis,region:Pk.Brown,x:665,y:1214},{name:Ik.Portoalecre,region:Pk.Brown,x:590,y:1281},{name:Ik.Pelotas,region:Pk.Brown,x:551,y:1346},{name:Ik.Urucuaiana,region:Pk.Brown,x:444,y:1250},{name:Ik.Londrina,region:Pk.Brown,x:516,y:1075},{name:Ik.Campogrande,region:Pk.Brown,x:440,y:983},{name:Ik.Macapa,region:Pk.Yellow,x:561,y:317},{name:Ik.Boavista,region:Pk.Yellow,x:308,y:269},{name:Ik.Manaus,region:Pk.Yellow,x:258,y:466},{name:Ik.Portovelho,region:Pk.Yellow,x:238,y:620},{name:Ik.Cuiaba,region:Pk.Yellow,x:432,y:850},{name:Ik.Vilhena,region:Pk.Yellow,x:328,y:741},{name:Ik.Riobranco,region:Pk.Yellow,x:87,y:666}],connections:[{nodes:[Ik.Boavista,Ik.Macapa],cost:22},{nodes:[Ik.Macapa,Ik.Belem],cost:10},{nodes:[Ik.Belem,Ik.Sadluis],cost:10},{nodes:[Ik.Sadluis,Ik.Imperatriz],cost:9},{nodes:[Ik.Belem,Ik.Imperatriz],cost:9},{nodes:[Ik.Belem,Ik.Maraba],cost:9},{nodes:[Ik.Macapa,Ik.Maraba],cost:16},{nodes:[Ik.Maraba,Ik.Manaus],cost:22},{nodes:[Ik.Macapa,Ik.Manaus],cost:18},{nodes:[Ik.Boavista,Ik.Manaus],cost:13},{nodes:[Ik.Boavista,Ik.Riobranco],cost:30},{nodes:[Ik.Riobranco,Ik.Manaus],cost:23},{nodes:[Ik.Manaus,Ik.Portovelho],cost:15},{nodes:[Ik.Portovelho,Ik.Riobranco],cost:10},{nodes:[Ik.Riobranco,Ik.Vilhena],cost:18},{nodes:[Ik.Portovelho,Ik.Vilhena],cost:12},{nodes:[Ik.Manaus,Ik.Vilhena],cost:21},{nodes:[Ik.Vilhena,Ik.Cuiaba],cost:10},{nodes:[Ik.Vilhena,Ik.Maraba],cost:31},{nodes:[Ik.Maraba,Ik.Imperatriz],cost:4},{nodes:[Ik.Sadluis,Ik.Teresina],cost:8},{nodes:[Ik.Teresina,Ik.Imperatriz],cost:11},{nodes:[Ik.Imperatriz,Ik.Palmas],cost:9},{nodes:[Ik.Palmas,Ik.Maraba],cost:10},{nodes:[Ik.Maraba,Ik.Porangatu],cost:17},{nodes:[Ik.Porangatu,Ik.Goiania],cost:8},{nodes:[Ik.Porangatu,Ik.Vilhena],cost:23},{nodes:[Ik.Cuiaba,Ik.Porangatu],cost:16},{nodes:[Ik.Porangatu,Ik.Palmas],cost:8},{nodes:[Ik.Palmas,Ik.Brasilia],cost:13},{nodes:[Ik.Brasilia,Ik.Porangatu],cost:6},{nodes:[Ik.Brasilia,Ik.Goiania],cost:4},{nodes:[Ik.Goiania,Ik.Cuiaba],cost:15},{nodes:[Ik.Sadluis,Ik.Parnaiba],cost:5},{nodes:[Ik.Parnaiba,Ik.Teresina],cost:5},{nodes:[Ik.Parnaiba,Ik.Fortaleza],cost:7},{nodes:[Ik.Fortaleza,Ik.Natal],cost:8},{nodes:[Ik.Natal,Ik.Joaopessoa],cost:3},{nodes:[Ik.Joaopessoa,Ik.Recife],cost:2},{nodes:[Ik.Recife,Ik.Maceio],cost:3},{nodes:[Ik.Maceio,Ik.Aracaju],cost:3},{nodes:[Ik.Aracaju,Ik.Salvadordabahia],cost:4},{nodes:[Ik.Natal,Ik.Campinagrande],cost:4},{nodes:[Ik.Fortaleza,Ik.Teresina],cost:10},{nodes:[Ik.Teresina,Ik.Petrolina],cost:12},{nodes:[Ik.Petrolina,Ik.Palmas],cost:19},{nodes:[Ik.Petrolina,Ik.Brasilia],cost:22},{nodes:[Ik.Petrolina,Ik.Montesclaros],cost:19},{nodes:[Ik.Montesclaros,Ik.Salvadordabahia],cost:16},{nodes:[Ik.Salvadordabahia,Ik.Petrolina],cost:10},{nodes:[Ik.Petrolina,Ik.Campinagrande],cost:12},{nodes:[Ik.Petrolina,Ik.Aracaju],cost:11},{nodes:[Ik.Vitoria,Ik.Salvadordabahia],cost:16},{nodes:[Ik.Montesclaros,Ik.Vitoria],cost:14},{nodes:[Ik.Vitoria,Ik.Saogoncalo],cost:6},{nodes:[Ik.Vitoria,Ik.Belohorizonte],cost:9},{nodes:[Ik.Belohorizonte,Ik.Montesclaros],cost:8},{nodes:[Ik.Montesclaros,Ik.Brasilia],cost:9},{nodes:[Ik.Brasilia,Ik.Uberlandia],cost:8},{nodes:[Ik.Uberlandia,Ik.Goiania],cost:7},{nodes:[Ik.Goiania,Ik.Campogrande],cost:16},{nodes:[Ik.Campogrande,Ik.Cuiaba],cost:13},{nodes:[Ik.Campogrande,Ik.Londrina],cost:10},{nodes:[Ik.Campogrande,Ik.Uberlandia],cost:13},{nodes:[Ik.Uberlandia,Ik.Londrina],cost:12},{nodes:[Ik.Londrina,Ik.Campinas],cost:9},{nodes:[Ik.Campinas,Ik.Uberlandia],cost:9},{nodes:[Ik.Uberlandia,Ik.Belohorizonte],cost:10},{nodes:[Ik.Uberlandia,Ik.Brasilia],cost:8},{nodes:[Ik.Brasilia,Ik.Belohorizonte],cost:14},{nodes:[Ik.Belohorizonte,Ik.Saogoncalo],cost:7},{nodes:[Ik.Saogoncalo,Ik.Riodejaneiro],cost:0},{nodes:[Ik.Riodejaneiro,Ik.Saopaulo],cost:7},{nodes:[Ik.Saopaulo,Ik.Guarulhos],cost:0},{nodes:[Ik.Guarulhos,Ik.Campinas],cost:0},{nodes:[Ik.Campinas,Ik.Curitiba],cost:6},{nodes:[Ik.Curitiba,Ik.Londrina],cost:7},{nodes:[Ik.Saopaulo,Ik.Florianopolis],cost:9},{nodes:[Ik.Florianopolis,Ik.Curitiba],cost:4},{nodes:[Ik.Londrina,Ik.Urucuaiana],cost:18},{nodes:[Ik.Urucuaiana,Ik.Pelotas],cost:9},{nodes:[Ik.Pelotas,Ik.Portoalecre],cost:4},{nodes:[Ik.Portoalecre,Ik.Urucuaiana],cost:10},{nodes:[Ik.Londrina,Ik.Portoalecre],cost:16},{nodes:[Ik.Portoalecre,Ik.Curitiba],cost:11},{nodes:[Ik.Portoalecre,Ik.Florianopolis],cost:7},{nodes:[Ik.Guarulhos,Ik.Belohorizonte],cost:10},{nodes:[Ik.Maceio,Ik.Campinagrande],cost:6},{nodes:[Ik.Petrolina,Ik.Fortaleza],cost:14},{nodes:[Ik.Recife,Ik.Campinagrande],cost:3}],layout:"Portrait",adjustRatio:[.85,.85],mapPosition:[-20,-130],resupply:[[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],startingResources:[24,18,6,2],setupDeck:function(e,n,t){var r,o,i=Object(Qw["cloneDeep"])(yk),a=i.filter((function(e){return e.type==Pw.Garbage&&e.number>14}));if("original"==n){i=i.slice(8);var c=i.splice(2,1)[0],u=i.splice(2,1)[0],s=i.pop();i=uk(i.filter((function(e){return e.type!=Pw.Garbage})),t()+""),2==e||3==e?i=i.slice(8):4==e&&(i=i.slice(4)),i=i.concat(a),i=uk(i,t()+""),i.unshift(u),i.unshift(c),i.push(s),r=[j_(3),j_(4),j_(5),j_(6)],o=[j_(7),j_(8),j_(9),j_(10)]}else{var l=i.splice(3,1)[0],d=i.splice(10,1)[0],f=uk(i.splice(0,11),t()+""),p=f.splice(0,6);p.push(l,d),p=p.sort((function(e,n){return e.number-n.number})),r=p.slice(0,4),o=p.slice(4);var v=f.shift(),h=i.pop();i=uk(i.filter((function(e){return e.type!=Pw.Garbage})),t()+""),2==e?(f=f.slice(1),i=uk(i.slice(5).concat(f),t()+"")):3==e?(f=f.slice(2),i=uk(i.slice(6).concat(f),t()+"")):4==e?(f=f.slice(1),i=uk(i.slice(3).concat(f),t()+"")):i=uk(i.concat(f),t()+""),i=i.concat(a),i=uk(i,t()+""),i.unshift(v),i.push(h)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:i}},mapSpecificRules:"Play with all garbage power plants.\n",deckBuild:{recharged:"power plants 6 and 14 always start in the market; the other six market plants are drawn from the remaining low plants. Garbage plants above 14 are set aside during the player-count removal and shuffled back in, so no garbage plant ever leaves the game.",original:"both 13 and 14 are set aside; after the player-count removal (garbage plants excluded and shuffled back in), 13 goes on top of the deck with 14 directly below it."}};(function(e){e["Blue"]="blue",e["Pink"]="pink",e["Purple"]="purple",e["Red"]="red",e["Orange"]="orange"})(Ok||(Ok={})),function(e){e["Borgfeld"]="Borgfeld",e["Oberneuland"]="Oberneuland",e["Osterholz"]="Osterholz",e["HornLehe"]="Horn-Lehe",e["Vahr"]="Vahr",e["Schwachhausen"]="Schwachhausen",e["OstlicheVorstadt"]="Östliche Vorstadt",e["Findorff"]="Findorff",e["Walle"]="Walle",e["Mitte"]="Mitte",e["Hemelingen"]="Hemelingen",e["Mahndorf"]="Mahndorf",e["Neustadt"]="Neustadt",e["Obervieland"]="Obervieland",e["Huchting"]="Huchting",e["Hofen"]="Höfen",e["Pusdorf"]="Pusdorf",e["Neustadtshafen"]="Neustadtshafen",e["Strom"]="Strom",e["Seehausen"]="Seehausen",e["Blockland"]="Blockland",e["Gropelingen"]="Gröpelingen",e["Burglesum"]="Burglesum",e["Vegesack"]="Vegesack",e["Blumenthal"]="Blumenthal"}(Ak||(Ak={}));var zk,jk,Lk={name:"Bremen",cities:[{name:Ak.Borgfeld,region:Ok.Blue,connectionCost:15,slotCosts:[8,14],x:645,y:273},{name:Ak.Oberneuland,region:Ok.Blue,connectionCost:14,slotCosts:[8,14,20],x:652,y:342},{name:Ak.Osterholz,region:Ok.Blue,connectionCost:11,slotCosts:[8,14,20],x:660,y:434},{name:Ak.HornLehe,region:Ok.Blue,connectionCost:9,slotCosts:[8,14,20],x:572,y:322},{name:Ak.Vahr,region:Ok.Blue,connectionCost:6,slotCosts:[8,14,20],x:583,y:376},{name:Ak.Schwachhausen,region:Ok.Pink,connectionCost:5,slotCosts:[8,14,20],x:517,y:357},{name:Ak.OstlicheVorstadt,region:Ok.Pink,connectionCost:2,slotCosts:[8,14,20],x:536,y:409},{name:Ak.Findorff,region:Ok.Pink,connectionCost:3,slotCosts:[8,14],x:488,y:311},{name:Ak.Walle,region:Ok.Pink,connectionCost:6,slotCosts:[8,14,20],x:438,y:342},{name:Ak.Mitte,region:Ok.Pink,connectionCost:1,slotCosts:[8,14,20],x:472,y:388},{name:Ak.Hemelingen,region:Ok.Purple,connectionCost:8,slotCosts:[8,14,20],x:600,y:453},{name:Ak.Mahndorf,region:Ok.Purple,connectionCost:10,slotCosts:[8,14,20],x:666,y:499},{name:Ak.Neustadt,region:Ok.Purple,connectionCost:5,slotCosts:[8,14,20],x:464,y:452},{name:Ak.Obervieland,region:Ok.Purple,connectionCost:10,slotCosts:[8,14,20],x:529,y:479},{name:Ak.Huchting,region:Ok.Purple,connectionCost:12,slotCosts:[8,14],x:386,y:442},{name:Ak.Hofen,region:Ok.Red,connectionCost:9,slotCosts:[8,14,20],x:352,y:272},{name:Ak.Pusdorf,region:Ok.Red,connectionCost:7,slotCosts:[8,14,20],x:399,y:386},{name:Ak.Neustadtshafen,region:Ok.Red,connectionCost:8,slotCosts:[8,14,20],x:375,y:340},{name:Ak.Strom,region:Ok.Red,connectionCost:14,slotCosts:[8,14,20],x:328,y:393},{name:Ak.Seehausen,region:Ok.Red,connectionCost:14,slotCosts:[8,14],x:290,y:321},{name:Ak.Blockland,region:Ok.Orange,connectionCost:11,slotCosts:[8,14,20],x:476,y:251},{name:Ak.Gropelingen,region:Ok.Orange,connectionCost:8,slotCosts:[8,14,20],x:426,y:280},{name:Ak.Burglesum,region:Ok.Orange,connectionCost:13,slotCosts:[8,14,20],x:337,y:197},{name:Ak.Vegesack,region:Ok.Orange,connectionCost:10,slotCosts:[8,14,20],x:248,y:170},{name:Ak.Blumenthal,region:Ok.Orange,connectionCost:15,slotCosts:[8,14],x:154,y:135}],connections:[{nodes:[Ak.Borgfeld,Ak.Oberneuland],cost:0},{nodes:[Ak.Oberneuland,Ak.Osterholz],cost:0},{nodes:[Ak.Borgfeld,Ak.HornLehe],cost:0},{nodes:[Ak.Oberneuland,Ak.HornLehe],cost:0},{nodes:[Ak.Oberneuland,Ak.Vahr],cost:0},{nodes:[Ak.Osterholz,Ak.Vahr],cost:0},{nodes:[Ak.HornLehe,Ak.Vahr],cost:0},{nodes:[Ak.HornLehe,Ak.Schwachhausen],cost:0},{nodes:[Ak.HornLehe,Ak.Findorff],cost:0},{nodes:[Ak.Vahr,Ak.Hemelingen],cost:0},{nodes:[Ak.Osterholz,Ak.Mahndorf],cost:0},{nodes:[Ak.Hofen,Ak.Neustadtshafen],cost:0},{nodes:[Ak.Hofen,Ak.Seehausen],cost:0},{nodes:[Ak.Pusdorf,Ak.Neustadtshafen],cost:0},{nodes:[Ak.Neustadtshafen,Ak.Seehausen],cost:0},{nodes:[Ak.Neustadtshafen,Ak.Strom],cost:0},{nodes:[Ak.Seehausen,Ak.Strom],cost:0},{nodes:[Ak.Blockland,Ak.Gropelingen],cost:0},{nodes:[Ak.Blockland,Ak.Burglesum],cost:0},{nodes:[Ak.Gropelingen,Ak.Burglesum],cost:0},{nodes:[Ak.Burglesum,Ak.Vegesack],cost:0},{nodes:[Ak.Vegesack,Ak.Blumenthal],cost:0},{nodes:[Ak.Mahndorf,Ak.Hemelingen],cost:0},{nodes:[Ak.Hemelingen,Ak.Obervieland],cost:0},{nodes:[Ak.Obervieland,Ak.Neustadt],cost:0},{nodes:[Ak.Neustadt,Ak.Huchting],cost:0},{nodes:[Ak.Hemelingen,Ak.OstlicheVorstadt],cost:0},{nodes:[Ak.Obervieland,Ak.OstlicheVorstadt],cost:0},{nodes:[Ak.Neustadt,Ak.Mitte],cost:0},{nodes:[Ak.Neustadt,Ak.OstlicheVorstadt],cost:0},{nodes:[Ak.Huchting,Ak.Strom],cost:0},{nodes:[Ak.Huchting,Ak.Pusdorf],cost:0},{nodes:[Ak.Findorff,Ak.Walle],cost:0},{nodes:[Ak.Findorff,Ak.Mitte],cost:0},{nodes:[Ak.Findorff,Ak.Schwachhausen],cost:0},{nodes:[Ak.Schwachhausen,Ak.OstlicheVorstadt],cost:0},{nodes:[Ak.Schwachhausen,Ak.Mitte],cost:0},{nodes:[Ak.Walle,Ak.Mitte],cost:0},{nodes:[Ak.Mitte,Ak.OstlicheVorstadt],cost:0},{nodes:[Ak.Strom,Ak.Pusdorf],cost:0},{nodes:[Ak.Vahr,Ak.Schwachhausen],cost:0},{nodes:[Ak.Blockland,Ak.HornLehe],cost:0},{nodes:[Ak.Hemelingen,Ak.Osterholz],cost:0},{nodes:[Ak.Hofen,Ak.Gropelingen],cost:0},{nodes:[Ak.Hofen,Ak.Burglesum],cost:0},{nodes:[Ak.Burglesum,Ak.Seehausen],cost:0},{nodes:[Ak.Walle,Ak.Gropelingen],cost:0},{nodes:[Ak.Walle,Ak.Blockland],cost:0},{nodes:[Ak.Findorff,Ak.Blockland],cost:0},{nodes:[Ak.Walle,Ak.Hofen],cost:0},{nodes:[Ak.Walle,Ak.Neustadtshafen],cost:0},{nodes:[Ak.Walle,Ak.Pusdorf],cost:0},{nodes:[Ak.Pusdorf,Ak.Neustadt],cost:0}],layout:"Landscape",adjustRatio:[1.75,1.75],mapPosition:[-120,-140],mapRotation:0,resupply:[[[4,5,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],[[2,3,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[1,2,1],[1,2,1],[2,3,2],[3,3,3],[3,5,3]],[[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]],coalPrices:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,8,8],oilPrices:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,8,8],garbagePrices:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,8,8],startingResources:[22,16,16,0],startingSupply:[22,22,22,0],setupDeck:function(e,n,t){var r=new Set([11,17,23,28,34,36,38,39,46]);e<=4&&(r.add(31),r.add(50));var o,i,a=Object(Qw["cloneDeep"])(yk).filter((function(e){return!r.has(e.number)})),c=a.pop();if("original"==n){o=[j_(3),j_(4),j_(5),j_(6)],i=[j_(7),j_(8),j_(9),j_(10)];var u=new Set([3,4,5,6,7,8,9,10]),s=a.find((function(e){return 13==e.number})),l=a.filter((function(e){return!u.has(e.number)&&13!=e.number}));return l=uk(l,t()+""),l.unshift(s),l.push(c),{actualMarket:o,futureMarket:i,powerPlantsDeck:l}}var d=uk(a.filter((function(e){return e.number<=15})),t()+""),f=a.filter((function(e){return e.number>15})),p=d.splice(0,8).sort((function(e,n){return e.number-n.number}));o=p.slice(0,4),i=p.slice(4);var v=d.shift();return f=uk(f.concat(d),t()+""),f.unshift(v),f.push(c),{actualMarket:o,futureMarket:i,powerPlantsDeck:f}},mapSpecificRules:"Flat district costs: instead of connection costs between cities, each district has a single cost. Connecting a new district to your network costs the sum of the district costs along the cheapest path from your network (you pay for each district entered, including ones you only pass through), plus the cheapest building cost (8 / 14 / 20 Elektro) in the new district. (on your 1st placement if A has 1 and B has 3 then A to B is 8+3+8=19, and B to A is 8+1+8=17, meaning it is asymmetrical) Small districts have only two spaces (8 / 14) and can hold just two networks.\nNo uranium: uranium is never sold, and every plant that burns it is removed from the game. Plant 50 needs no fuel, so it stays in the deck with 5 or 6 players.\nStep 2 begins once a player has 5 connected districts (4 for 6 players); the game ends when a player connects 13 districts (12 for 5 players, 11 for 6).\n",deckBuild:{recharged:"power plants 11, 17, 23, 28, 34, 36, 38, 39 and 46 are removed before setup — the six uranium plants plus the three plants that power 7 cities. With 2 to 4 players, plants 31 and 50 are removed as well. No further power plants are removed for the number of players. The opening market of eight is then drawn from the low plants (numbered 15 or less); of the low plants left over, one is placed on top of the draw deck and the rest are shuffled into it, with the Step 3 card on the bottom.",original:"same removals; the market is the fixed 3-6 / 7-10 (none of these are removed on Bremen), plant 13 is placed on top of the deck and the Step 3 card on the bottom."}};(function(e){e["Blue"]="blue",e["Brown"]="brown",e["Purple"]="purple",e["Red"]="red",e["Yellow"]="yellow",e["Green"]="green"})(zk||(zk={})),function(e){e["Bialystok"]="Bialystok",e["Lublin"]="Lublin",e["Warszawa"]="Warszawa",e["Krakow"]="Krakow",e["Sosnowiec"]="Sosnowiec",e["Katowice"]="Katowice",e["Czestochowa"]="Czesto Chowa",e["Presov"]="Presov",e["Kosice"]="Kosice",e["Poprad"]="Poprad",e["Zilina"]="Zilina",e["Bratislava"]="Bratislava",e["Trnava"]="Trnava",e["Nyiregyhaza"]="Nyiregyhaza",e["Miskolc"]="Miskolc",e["Szeged"]="Szeged",e["Kecskeme"]="Kecskeme",e["Budapest"]="Budapest",e["Pecs"]="Pecs",e["Gyor"]="Gyor",e["Banskabystrica"]="Banska Bystrica",e["Goansk"]="Goansk",e["Goynia"]="Goynia",e["Byogoszcz"]="Byogoszcz",e["Wroclaw"]="Wroclaw",e["Poznan"]="Poznan",e["Szczecin"]="Szczecin",e["Lodz"]="Lodz",e["Graz"]="Graz",e["Klagenfurt"]="Klagenfurt",e["Villach"]="Villach",e["Innsbruck"]="Innsbruck",e["Salzburg"]="Salzburg",e["Linz"]="Linz",e["Wien"]="Wien",e["Hradeckralove"]="Hradec Kralove",e["Brno"]="Brno",e["Ceskebudejovice"]="Ceske Budejovice",e["Praha"]="Praha",e["Ostrava"]="Ostrava",e["Plzen"]="Plzen",e["Ustinadlaben"]="Ustinad Laben"}(jk||(jk={}));var Dk,Rk,Tk={name:"Central Europe",noUraniumRegions:[zk.Blue,zk.Red,zk.Yellow],cities:[{name:jk.Bialystok,region:zk.Blue,x:543,y:135},{name:jk.Lublin,region:zk.Blue,x:590,y:294},{name:jk.Warszawa,region:zk.Blue,x:482,y:253},{name:jk.Krakow,region:zk.Blue,x:533,y:443},{name:jk.Sosnowiec,region:zk.Blue,x:468,y:443},{name:jk.Katowice,region:zk.Blue,x:446,y:483},{name:jk.Czestochowa,region:zk.Blue,x:419,y:397},{name:jk.Presov,region:zk.Brown,x:619,y:487},{name:jk.Kosice,region:zk.Brown,x:646,y:538},{name:jk.Poprad,region:zk.Brown,x:565,y:529},{name:jk.Zilina,region:zk.Brown,x:476,y:551},{name:jk.Bratislava,region:zk.Brown,x:423,y:693},{name:jk.Trnava,region:zk.Brown,x:452,y:638},{name:jk.Nyiregyhaza,region:zk.Purple,x:698,y:582},{name:jk.Miskolc,region:zk.Purple,x:621,y:597},{name:jk.Szeged,region:zk.Purple,x:680,y:764},{name:jk.Kecskeme,region:zk.Purple,x:630,y:727},{name:jk.Budapest,region:zk.Purple,x:557,y:689},{name:jk.Pecs,region:zk.Purple,x:566,y:832},{name:jk.Gyor,region:zk.Purple,x:489,y:729},{name:jk.Banskabystrica,region:zk.Brown,x:525,y:601},{name:jk.Goansk,region:zk.Red,x:286,y:158},{name:jk.Goynia,region:zk.Red,x:249,y:131},{name:jk.Byogoszcz,region:zk.Red,x:297,y:257},{name:jk.Wroclaw,region:zk.Red,x:321,y:445},{name:jk.Poznan,region:zk.Red,x:261,y:342},{name:jk.Szczecin,region:zk.Red,x:110,y:316},{name:jk.Lodz,region:zk.Red,x:420,y:337},{name:jk.Graz,region:zk.Yellow,x:376,y:811},{name:jk.Klagenfurt,region:zk.Yellow,x:340,y:875},{name:jk.Villach,region:zk.Yellow,x:272,y:875},{name:jk.Innsbruck,region:zk.Yellow,x:140,y:879},{name:jk.Salzburg,region:zk.Yellow,x:209,y:805},{name:jk.Linz,region:zk.Yellow,x:265,y:744},{name:jk.Wien,region:zk.Yellow,x:366,y:701},{name:jk.Hradeckralove,region:zk.Green,x:291,y:546},{name:jk.Brno,region:zk.Green,x:354,y:597},{name:jk.Ceskebudejovice,region:zk.Green,x:248,y:670},{name:jk.Praha,region:zk.Green,x:220,y:593},{name:jk.Ostrava,region:zk.Green,x:413,y:535},{name:jk.Plzen,region:zk.Green,x:158,y:645},{name:jk.Ustinadlaben,region:zk.Green,x:165,y:537}],connections:[{nodes:[jk.Goynia,jk.Goansk],cost:0},{nodes:[jk.Goansk,jk.Byogoszcz],cost:8},{nodes:[jk.Goynia,jk.Szczecin],cost:17},{nodes:[jk.Szczecin,jk.Poznan],cost:14},{nodes:[jk.Szczecin,jk.Wroclaw],cost:22},{nodes:[jk.Wroclaw,jk.Poznan],cost:9},{nodes:[jk.Poznan,jk.Lodz],cost:13},{nodes:[jk.Lodz,jk.Byogoszcz],cost:12},{nodes:[jk.Byogoszcz,jk.Szczecin],cost:15},{nodes:[jk.Wroclaw,jk.Lodz],cost:12},{nodes:[jk.Lodz,jk.Czestochowa],cost:7},{nodes:[jk.Czestochowa,jk.Wroclaw],cost:9},{nodes:[jk.Wroclaw,jk.Ostrava],cost:11},{nodes:[jk.Ostrava,jk.Hradeckralove],cost:16},{nodes:[jk.Hradeckralove,jk.Wroclaw],cost:10},{nodes:[jk.Wroclaw,jk.Ustinadlaben],cost:17},{nodes:[jk.Ustinadlaben,jk.Hradeckralove],cost:10},{nodes:[jk.Hradeckralove,jk.Brno],cost:9},{nodes:[jk.Brno,jk.Ostrava],cost:12},{nodes:[jk.Ostrava,jk.Katowice],cost:4},{nodes:[jk.Czestochowa,jk.Lublin],cost:17},{nodes:[jk.Lublin,jk.Presov],cost:20},{nodes:[jk.Presov,jk.Krakow],cost:13},{nodes:[jk.Krakow,jk.Poprad],cost:11},{nodes:[jk.Poprad,jk.Zilina],cost:11},{nodes:[jk.Zilina,jk.Krakow],cost:12},{nodes:[jk.Krakow,jk.Sosnowiec],cost:4},{nodes:[jk.Warszawa,jk.Bialystok],cost:14},{nodes:[jk.Bialystok,jk.Goansk],cost:20},{nodes:[jk.Byogoszcz,jk.Warszawa],cost:15},{nodes:[jk.Warszawa,jk.Lublin],cost:10},{nodes:[jk.Lodz,jk.Warszawa],cost:7},{nodes:[jk.Bialystok,jk.Lublin],cost:15},{nodes:[jk.Lublin,jk.Krakow],cost:16},{nodes:[jk.Poprad,jk.Kosice],cost:6},{nodes:[jk.Kosice,jk.Nyiregyhaza],cost:8},{nodes:[jk.Kosice,jk.Miskolc],cost:4},{nodes:[jk.Miskolc,jk.Poprad],cost:9},{nodes:[jk.Poprad,jk.Banskabystrica],cost:11},{nodes:[jk.Banskabystrica,jk.Zilina],cost:6},{nodes:[jk.Zilina,jk.Trnava],cost:10},{nodes:[jk.Zilina,jk.Brno],cost:14},{nodes:[jk.Brno,jk.Wien],cost:8},{nodes:[jk.Bratislava,jk.Brno],cost:10},{nodes:[jk.Brno,jk.Trnava],cost:10},{nodes:[jk.Trnava,jk.Banskabystrica],cost:10},{nodes:[jk.Banskabystrica,jk.Miskolc],cost:11},{nodes:[jk.Miskolc,jk.Nyiregyhaza],cost:7},{nodes:[jk.Nyiregyhaza,jk.Szeged],cost:16},{nodes:[jk.Szeged,jk.Kecskeme],cost:5},{nodes:[jk.Budapest,jk.Trnava],cost:9},{nodes:[jk.Trnava,jk.Bratislava],cost:2},{nodes:[jk.Bratislava,jk.Wien],cost:3},{nodes:[jk.Wien,jk.Ceskebudejovice],cost:14},{nodes:[jk.Ceskebudejovice,jk.Praha],cost:10},{nodes:[jk.Praha,jk.Brno],cost:13},{nodes:[jk.Brno,jk.Ceskebudejovice],cost:15},{nodes:[jk.Ceskebudejovice,jk.Plzen],cost:11},{nodes:[jk.Plzen,jk.Praha],cost:7},{nodes:[jk.Praha,jk.Ustinadlaben],cost:6},{nodes:[jk.Ustinadlaben,jk.Plzen],cost:9},{nodes:[jk.Ceskebudejovice,jk.Linz],cost:8},{nodes:[jk.Linz,jk.Wien],cost:11},{nodes:[jk.Wien,jk.Graz],cost:12},{nodes:[jk.Graz,jk.Linz],cost:16},{nodes:[jk.Linz,jk.Salzburg],cost:9},{nodes:[jk.Salzburg,jk.Graz],cost:22},{nodes:[jk.Graz,jk.Gyor],cost:14},{nodes:[jk.Gyor,jk.Wien],cost:8},{nodes:[jk.Bratislava,jk.Gyor],cost:6},{nodes:[jk.Gyor,jk.Trnava],cost:5},{nodes:[jk.Banskabystrica,jk.Budapest],cost:12},{nodes:[jk.Budapest,jk.Gyor],cost:5},{nodes:[jk.Budapest,jk.Kecskeme],cost:6},{nodes:[jk.Kecskeme,jk.Miskolc],cost:10},{nodes:[jk.Miskolc,jk.Budapest],cost:9},{nodes:[jk.Szeged,jk.Pecs],cost:12},{nodes:[jk.Pecs,jk.Kecskeme],cost:11},{nodes:[jk.Budapest,jk.Pecs],cost:12},{nodes:[jk.Pecs,jk.Gyor],cost:15},{nodes:[jk.Graz,jk.Pecs],cost:19},{nodes:[jk.Graz,jk.Klagenfurt],cost:10},{nodes:[jk.Klagenfurt,jk.Villach],cost:4},{nodes:[jk.Klagenfurt,jk.Salzburg],cost:20},{nodes:[jk.Salzburg,jk.Innsbruck],cost:15},{nodes:[jk.Innsbruck,jk.Villach],cost:22},{nodes:[jk.Poznan,jk.Byogoszcz],cost:7},{nodes:[jk.Lublin,jk.Lodz],cost:16},{nodes:[jk.Czestochowa,jk.Sosnowiec],cost:4},{nodes:[jk.Sosnowiec,jk.Katowice],cost:0},{nodes:[jk.Czestochowa,jk.Krakow],cost:6},{nodes:[jk.Poprad,jk.Presov],cost:7},{nodes:[jk.Presov,jk.Kosice],cost:2},{nodes:[jk.Ostrava,jk.Zilina],cost:7},{nodes:[jk.Ostrava,jk.Krakow],cost:7},{nodes:[jk.Praha,jk.Hradeckralove],cost:8}],layout:"Portrait",mapPosition:[70,-60],adjustRatio:[1.15,1.15],startingResources:[24,18,6,5],resupply:[[[4,5,3],[5,6,3],[6,7,5],[7,8,5],[8,10,6]],[[1,2,3],[2,2,3],[2,3,4],[3,4,5],[4,5,6]],[[1,3,3],[1,3,3],[2,4,4],[3,4,5],[3,6,6]],[[1,1,1],[1,1,1],[1,2,1],[2,2,2],[2,3,2]]]};(function(e){e["Pink"]="pink",e["Green"]="green",e["Red"]="red",e["Brown"]="brown",e["Purple"]="purple",e["Yellow"]="yellow"})(Dk||(Dk={})),function(e){e["Hegang"]="Hegang",e["Qiqhaer"]="Qiqha'er",e["Haerbin"]="Haerbin",e["Jilin"]="Jilin",e["Fushun"]="Fushun",e["Anshan"]="Anshan",e["Dalian"]="Dalian",e["Shanghai"]="Shanghai",e["Hangzhou"]="Hangzhou",e["Nanjing"]="Nanjing",e["Qingdao"]="Qingdao",e["Jinan"]="Jinan",e["Zhengzhou"]="Zhengzhou",e["Shijiazhuang"]="Shijiazhuang",e["Changchun"]="Changchun",e["Shenyang"]="Shenyang",e["Tangshan"]="Tangshan",e["Tianjin"]="Tianjin",e["Beijing"]="Beijing",e["Taiyuan"]="Taiyuan",e["Baotou"]="Baotou",e["Fuzhou"]="Fuzhou",e["Nanchang"]="Nanchang",e["Chaozhou"]="Chaozhou",e["Hongkong"]="Hong Kong",e["Guangzhou"]="Guangzhou",e["Changsha"]="Changsha",e["Wuhan"]="Wuhan",e["Hami"]="Hami",e["Karamay"]="Karamay",e["Wulumuqi"]="Wulumuqi",e["Kuerle"]="Ku'erle",e["Yinchuan"]="Yinchuan",e["Xining"]="Xining",e["Lanzhou"]="Lanzhou",e["Kunming"]="Kunming",e["Chengou"]="Chengou",e["Xian"]="Xi'an",e["Chongqing"]="Chongqing",e["Nanning"]="Nanning",e["Haikou"]="Haikou",e["Guiyang"]="Guiyang"}(Rk||(Rk={}));var Bk,Ek,Uk={name:"China",cities:[{name:Rk.Hegang,region:Dk.Pink,x:3920,y:290},{name:Rk.Qiqhaer,region:Dk.Pink,x:3422,y:262},{name:Rk.Haerbin,region:Dk.Pink,x:3672,y:434},{name:Rk.Jilin,region:Dk.Pink,x:3744,y:614},{name:Rk.Fushun,region:Dk.Pink,x:3712,y:784},{name:Rk.Anshan,region:Dk.Pink,x:3510,y:902},{name:Rk.Dalian,region:Dk.Pink,x:3424,y:1052},{name:Rk.Shanghai,region:Dk.Green,x:3462,y:1672},{name:Rk.Hangzhou,region:Dk.Green,x:3280,y:1824},{name:Rk.Nanjing,region:Dk.Green,x:3130,y:1632},{name:Rk.Qingdao,region:Dk.Green,x:3322,y:1316},{name:Rk.Jinan,region:Dk.Green,x:3002,y:1292},{name:Rk.Zhengzhou,region:Dk.Green,x:2778,y:1438},{name:Rk.Shijiazhuang,region:Dk.Green,x:2866,y:1152},{name:Rk.Changchun,region:Dk.Red,x:3504,y:590},{name:Rk.Shenyang,region:Dk.Red,x:3458,y:778},{name:Rk.Tangshan,region:Dk.Red,x:3158,y:908},{name:Rk.Tianjin,region:Dk.Red,x:3134,y:1016},{name:Rk.Beijing,region:Dk.Red,x:2886,y:910},{name:Rk.Taiyuan,region:Dk.Red,x:2588,y:1130},{name:Rk.Baotou,region:Dk.Red,x:2500,y:862},{name:Rk.Fuzhou,region:Dk.Brown,x:3290,y:2132},{name:Rk.Nanchang,region:Dk.Brown,x:3004,y:1974},{name:Rk.Chaozhou,region:Dk.Brown,x:3096,y:2322},{name:Rk.Hongkong,region:Dk.Brown,x:2902,y:2552},{name:Rk.Guangzhou,region:Dk.Brown,x:2694,y:2352},{name:Rk.Changsha,region:Dk.Brown,x:2682,y:1988},{name:Rk.Wuhan,region:Dk.Brown,x:2810,y:1786},{name:Rk.Hami,region:Dk.Purple,x:1816,y:698},{name:Rk.Karamay,region:Dk.Purple,x:1304,y:372},{name:Rk.Wulumuqi,region:Dk.Purple,x:1520,y:558},{name:Rk.Kuerle,region:Dk.Purple,x:1326,y:756},{name:Rk.Yinchuan,region:Dk.Purple,x:2208,y:1058},{name:Rk.Xining,region:Dk.Purple,x:1868,y:1226},{name:Rk.Lanzhou,region:Dk.Purple,x:2142,y:1328},{name:Rk.Kunming,region:Dk.Yellow,x:1840,y:2248},{name:Rk.Chengou,region:Dk.Yellow,x:1988,y:1736},{name:Rk.Xian,region:Dk.Yellow,x:2440,y:1478},{name:Rk.Chongqing,region:Dk.Yellow,x:2300,y:1880},{name:Rk.Nanning,region:Dk.Yellow,x:2318,y:2452},{name:Rk.Haikou,region:Dk.Yellow,x:2524,y:2680},{name:Rk.Guiyang,region:Dk.Yellow,x:2212,y:2112}],connections:[{nodes:[Rk.Kunming,Rk.Chengou],cost:16},{nodes:[Rk.Nanning,Rk.Haikou],cost:10},{nodes:[Rk.Guangzhou,Rk.Hongkong],cost:4},{nodes:[Rk.Guangzhou,Rk.Chaozhou],cost:7},{nodes:[Rk.Chaozhou,Rk.Hongkong],cost:7},{nodes:[Rk.Guangzhou,Rk.Haikou],cost:13},{nodes:[Rk.Nanning,Rk.Guangzhou],cost:11},{nodes:[Rk.Xining,Rk.Chengou],cost:20},{nodes:[Rk.Chengou,Rk.Chongqing],cost:6},{nodes:[Rk.Chongqing,Rk.Guiyang],cost:9},{nodes:[Rk.Guiyang,Rk.Kunming],cost:12},{nodes:[Rk.Guiyang,Rk.Nanning],cost:12},{nodes:[Rk.Guiyang,Rk.Guangzhou],cost:18},{nodes:[Rk.Guangzhou,Rk.Changsha],cost:14},{nodes:[Rk.Changsha,Rk.Chongqing],cost:16},{nodes:[Rk.Changsha,Rk.Wuhan],cost:6},{nodes:[Rk.Wuhan,Rk.Nanchang],cost:6},{nodes:[Rk.Nanchang,Rk.Changsha],cost:7},{nodes:[Rk.Changsha,Rk.Guiyang],cost:15},{nodes:[Rk.Guiyang,Rk.Chengou],cost:13},{nodes:[Rk.Guangzhou,Rk.Nanchang],cost:16},{nodes:[Rk.Nanchang,Rk.Chaozhou],cost:14},{nodes:[Rk.Chaozhou,Rk.Fuzhou],cost:9},{nodes:[Rk.Fuzhou,Rk.Nanchang],cost:13},{nodes:[Rk.Wuhan,Rk.Hangzhou],cost:13},{nodes:[Rk.Hangzhou,Rk.Fuzhou],cost:13},{nodes:[Rk.Hangzhou,Rk.Shanghai],cost:4},{nodes:[Rk.Shanghai,Rk.Nanjing],cost:6},{nodes:[Rk.Nanjing,Rk.Hangzhou],cost:5},{nodes:[Rk.Hangzhou,Rk.Nanchang],cost:10},{nodes:[Rk.Chongqing,Rk.Wuhan],cost:18},{nodes:[Rk.Lanzhou,Rk.Chengou],cost:16},{nodes:[Rk.Chengou,Rk.Xian],cost:14},{nodes:[Rk.Xian,Rk.Chongqing],cost:14},{nodes:[Rk.Xian,Rk.Wuhan],cost:15},{nodes:[Rk.Wuhan,Rk.Zhengzhou],cost:10},{nodes:[Rk.Zhengzhou,Rk.Xian],cost:10},{nodes:[Rk.Xian,Rk.Lanzhou],cost:15},{nodes:[Rk.Lanzhou,Rk.Yinchuan],cost:9},{nodes:[Rk.Yinchuan,Rk.Xining],cost:11},{nodes:[Rk.Lanzhou,Rk.Taiyuan],cost:18},{nodes:[Rk.Taiyuan,Rk.Xian],cost:12},{nodes:[Rk.Taiyuan,Rk.Zhengzhou],cost:11},{nodes:[Rk.Taiyuan,Rk.Shijiazhuang],cost:5},{nodes:[Rk.Shijiazhuang,Rk.Tianjin],cost:5},{nodes:[Rk.Shijiazhuang,Rk.Jinan],cost:6},{nodes:[Rk.Shijiazhuang,Rk.Zhengzhou],cost:9},{nodes:[Rk.Zhengzhou,Rk.Jinan],cost:7},{nodes:[Rk.Zhengzhou,Rk.Nanjing],cost:12},{nodes:[Rk.Nanjing,Rk.Wuhan],cost:10},{nodes:[Rk.Jinan,Rk.Nanjing],cost:11},{nodes:[Rk.Nanjing,Rk.Qingdao],cost:12},{nodes:[Rk.Qingdao,Rk.Jinan],cost:6},{nodes:[Rk.Jinan,Rk.Tianjin],cost:6},{nodes:[Rk.Xining,Rk.Lanzhou],cost:6},{nodes:[Rk.Yinchuan,Rk.Baotou],cost:9},{nodes:[Rk.Baotou,Rk.Taiyuan],cost:9},{nodes:[Rk.Taiyuan,Rk.Yinchuan],cost:14},{nodes:[Rk.Yinchuan,Rk.Hami],cost:25},{nodes:[Rk.Hami,Rk.Xining],cost:25},{nodes:[Rk.Wulumuqi,Rk.Kuerle],cost:9},{nodes:[Rk.Kuerle,Rk.Karamay],cost:12},{nodes:[Rk.Karamay,Rk.Wulumuqi],cost:7},{nodes:[Rk.Wulumuqi,Rk.Hami],cost:12},{nodes:[Rk.Hami,Rk.Kuerle],cost:15},{nodes:[Rk.Taiyuan,Rk.Beijing],cost:10},{nodes:[Rk.Beijing,Rk.Shijiazhuang],cost:6},{nodes:[Rk.Beijing,Rk.Tangshan],cost:3},{nodes:[Rk.Tangshan,Rk.Tianjin],cost:0},{nodes:[Rk.Beijing,Rk.Baotou],cost:14},{nodes:[Rk.Tangshan,Rk.Shenyang],cost:11},{nodes:[Rk.Dalian,Rk.Anshan],cost:6},{nodes:[Rk.Qiqhaer,Rk.Hegang],cost:11},{nodes:[Rk.Hegang,Rk.Haerbin],cost:7},{nodes:[Rk.Haerbin,Rk.Qiqhaer],cost:6},{nodes:[Rk.Changchun,Rk.Jilin],cost:2},{nodes:[Rk.Jilin,Rk.Haerbin],cost:5},{nodes:[Rk.Haerbin,Rk.Changchun],cost:5},{nodes:[Rk.Changchun,Rk.Shenyang],cost:5},{nodes:[Rk.Shenyang,Rk.Anshan],cost:2},{nodes:[Rk.Jilin,Rk.Fushun],cost:6},{nodes:[Rk.Fushun,Rk.Shenyang],cost:0},{nodes:[Rk.Changchun,Rk.Qiqhaer],cost:9}],layout:"Portrait",mapPosition:[-400,70],adjustRatio:[.35,.35],resupply:[[[4,4,3],[5,5,3],[6,6,4],[7,7,5],[9,9,6]],[[2,2,4],[3,3,4],[4,4,5],[5,5,6],[6,6,7]],[[2,2,1],[2,2,1],[3,3,2],[3,3,3],[5,5,3]],[[1,1,1],[1,1,1],[2,2,2],[3,3,2],[3,3,3]]],startingResources:[12,12,6,0],setupDeck:function(e,n,t){var r=Object(Qw["cloneDeep"])(yk),o=[];2==e||3==e?o=[3,4,9,11,16,18,20,24,30,33,46]:4==e?o=[3,4,11,18,24,33,46]:5!=e&&6!=e||(o=[3,4,33]);var i=r.filter((function(e){return!o.includes(e.number)})),a=i.filter((function(e){return e.number<=30})),c=i.filter((function(e){return e.type==Pw.Step3})),u=uk(i.filter((function(e){return e.number>=31&&e.number<=35})).concat(c),t()+""),s=uk(i.filter((function(e){return e.number>=36&&e.number<=50})),t()+""),l=a.splice(0,e),d=[],f=a.concat(u).concat(s);return{actualMarket:l,futureMarket:d,powerPlantsDeck:f}},mapSpecificRules:"There are several changes to when new plants are drawn. In particular, during steps 1 and 2, plants are only drawn from the deck during the bureaucracy phase.\n",deckBuild:"the same plants are removed every game: with 2-3 players 3, 4, 9, 11, 16, 18, 20, 24, 30, 33, 46; with 4 players 3, 4, 11, 18, 24, 33, 46; with 5-6 players 3, 4, 33. The deck is ordered, not shuffled: plants 5-30 in ascending order on top, then plants 31-35 shuffled together with the Step 3 card, then plants 36-50 shuffled on the bottom. The starting market has one plant per player and the future market starts empty."};(function(e){e["Pink"]="pink",e["Red"]="red",e["Brown"]="brown",e["Yellow"]="yellow",e["Orange"]="orange",e["Blue"]="blue",e["Green"]="green"})(Bk||(Bk={})),function(e){e["Glasgow"]="Glasgow",e["Dublin"]="Dublin",e["Birmingham"]="Birmingham",e["London"]="London",e["Randstad"]="Randstad",e["Vlaanderen"]="Vlaanderen",e["RheinRuhr"]="Rhein-Ruhr",e["Paris"]="Paris",e["Bordeaux"]="Bordeaux",e["Lyon"]="Lyon",e["Marseille"]="Marseille",e["Lisboa"]="Lisboa",e["Madrid"]="Madrid",e["Barcelona"]="Barcelona",e["Bremen"]="Bremen",e["Berlin"]="Berlin",e["RheinMain"]="Rhein-Main",e["Stuttgart"]="Stuttgart",e["Praha"]="Praha",e["Katowice"]="Katowice",e["München"]="München",e["Zürich"]="Zürich",e["Milano"]="Milano",e["Roma"]="Roma",e["Napoli"]="Napoli",e["Wien"]="Wien",e["Budapest"]="Budapest",e["Zagreb"]="Zagreb",e["Oslo"]="Oslo",e["Stockholm"]="Stockholm",e["Helsinki"]="Helsinki",e["Tallinn"]="Tallinn",e["Kobenhavn"]="København",e["Riga"]="Riga",e["StPetersburg"]="St. Petersburg",e["Minsk"]="Minsk",e["Moskwa"]="Moskwa",e["Warszawa"]="Warszawa",e["Kyjiv"]="Kyjiv",e["Kharkiv"]="Kharkiv",e["Odessa"]="Odessa",e["Bucuresti"]="Bucureşti",e["Beograd"]="Beograd",e["Sofia"]="Sofia",e["Tirana"]="Tirana",e["Athina"]="Athina",e["Istanbul"]="Istanbul",e["Izmir"]="Izmir",e["Ankara"]="Ankara"}(Ek||(Ek={}));var Gk,Zk,Fk={name:"Europe",cities:[{name:Ek.Glasgow,region:Bk.Pink,x:490,y:510},{name:Ek.Dublin,region:Bk.Pink,x:390,y:660},{name:Ek.Birmingham,region:Bk.Pink,x:485,y:695},{name:Ek.London,region:Bk.Pink,x:545,y:800},{name:Ek.Randstad,region:Bk.Pink,x:786,y:594},{name:Ek.Vlaanderen,region:Bk.Pink,x:794,y:756},{name:Ek.RheinRuhr,region:Bk.Pink,x:820,y:884},{name:Ek.Paris,region:Bk.Red,x:632,y:926},{name:Ek.Bordeaux,region:Bk.Red,x:655,y:1095},{name:Ek.Lyon,region:Bk.Red,x:785,y:1100},{name:Ek.Marseille,region:Bk.Red,x:815,y:1240},{name:Ek.Barcelona,region:Bk.Red,x:650,y:1280},{name:Ek.Madrid,region:Bk.Red,x:435,y:1335},{name:Ek.Lisboa,region:Bk.Red,x:255,y:1335},{name:Ek.Bremen,region:Bk.Brown,x:1010,y:770},{name:Ek.Berlin,region:Bk.Brown,x:1180,y:800},{name:Ek.RheinMain,region:Bk.Brown,x:982,y:898},{name:Ek.Stuttgart,region:Bk.Brown,x:995,y:1e3},{name:Ek.München,region:Bk.Brown,x:1114,y:1020},{name:Ek.Praha,region:Bk.Brown,x:1235,y:940},{name:Ek.Katowice,region:Bk.Brown,x:1380,y:940},{name:Ek.Zürich,region:Bk.Yellow,x:1010,y:1100},{name:Ek.Milano,region:Bk.Yellow,x:1075,y:1180},{name:Ek.Roma,region:Bk.Yellow,x:1180,y:1310},{name:Ek.Napoli,region:Bk.Yellow,x:1235,y:1430},{name:Ek.Wien,region:Bk.Yellow,x:1265,y:1080},{name:Ek.Budapest,region:Bk.Yellow,x:1390,y:1080},{name:Ek.Zagreb,region:Bk.Yellow,x:1300,y:1180},{name:Ek.Oslo,region:Bk.Orange,x:1015,y:365},{name:Ek.Stockholm,region:Bk.Orange,x:1170,y:415},{name:Ek.Helsinki,region:Bk.Orange,x:1395,y:360},{name:Ek.Tallinn,region:Bk.Orange,x:1410,y:470},{name:Ek.Riga,region:Bk.Orange,x:1395,y:575},{name:Ek.Kobenhavn,region:Bk.Orange,x:1180,y:660},{name:Ek.StPetersburg,region:Bk.Orange,x:1620,y:460},{name:Ek.Warszawa,region:Bk.Blue,x:1500,y:815},{name:Ek.Minsk,region:Bk.Blue,x:1610,y:815},{name:Ek.Moskwa,region:Bk.Blue,x:1830,y:600},{name:Ek.Kyjiv,region:Bk.Blue,x:1690,y:980},{name:Ek.Kharkiv,region:Bk.Blue,x:1860,y:980},{name:Ek.Odessa,region:Bk.Blue,x:1720,y:1100},{name:Ek.Bucuresti,region:Bk.Blue,x:1610,y:1175},{name:Ek.Beograd,region:Bk.Green,x:1390,y:1175},{name:Ek.Sofia,region:Bk.Green,x:1505,y:1240},{name:Ek.Tirana,region:Bk.Green,x:1370,y:1330},{name:Ek.Athina,region:Bk.Green,x:1480,y:1450},{name:Ek.Istanbul,region:Bk.Green,x:1665,y:1335},{name:Ek.Izmir,region:Bk.Green,x:1730,y:1430},{name:Ek.Ankara,region:Bk.Green,x:1850,y:1380}],connections:[{nodes:[Ek.Dublin,Ek.Glasgow],cost:17},{nodes:[Ek.Glasgow,Ek.Birmingham],cost:13},{nodes:[Ek.Dublin,Ek.Birmingham],cost:15},{nodes:[Ek.Birmingham,Ek.London],cost:4},{nodes:[Ek.London,Ek.Vlaanderen],cost:15},{nodes:[Ek.London,Ek.Randstad],cost:18},{nodes:[Ek.Randstad,Ek.Vlaanderen],cost:4},{nodes:[Ek.Vlaanderen,Ek.RheinRuhr],cost:4},{nodes:[Ek.Paris,Ek.Bordeaux],cost:12},{nodes:[Ek.Paris,Ek.Lyon],cost:11},{nodes:[Ek.Bordeaux,Ek.Lyon],cost:12},{nodes:[Ek.Lyon,Ek.Marseille],cost:8},{nodes:[Ek.Bordeaux,Ek.Marseille],cost:12},{nodes:[Ek.Marseille,Ek.Barcelona],cost:11},{nodes:[Ek.Bordeaux,Ek.Barcelona],cost:15},{nodes:[Ek.Bordeaux,Ek.Madrid],cost:15},{nodes:[Ek.Madrid,Ek.Barcelona],cost:14},{nodes:[Ek.Madrid,Ek.Lisboa],cost:13},{nodes:[Ek.Paris,Ek.London],cost:16},{nodes:[Ek.Paris,Ek.Vlaanderen],cost:7},{nodes:[Ek.Paris,Ek.RheinRuhr],cost:10},{nodes:[Ek.Bremen,Ek.Berlin],cost:6},{nodes:[Ek.Bremen,Ek.RheinMain],cost:9},{nodes:[Ek.Berlin,Ek.RheinMain],cost:10},{nodes:[Ek.Berlin,Ek.Praha],cost:7},{nodes:[Ek.RheinMain,Ek.Praha],cost:10},{nodes:[Ek.RheinMain,Ek.München],cost:6},{nodes:[Ek.RheinMain,Ek.Stuttgart],cost:3},{nodes:[Ek.Stuttgart,Ek.München],cost:5},{nodes:[Ek.München,Ek.Praha],cost:6},{nodes:[Ek.Praha,Ek.Katowice],cost:8},{nodes:[Ek.Bremen,Ek.Randstad],cost:8},{nodes:[Ek.Bremen,Ek.Vlaanderen],cost:10},{nodes:[Ek.RheinMain,Ek.Vlaanderen],cost:6},{nodes:[Ek.RheinMain,Ek.RheinRuhr],cost:3},{nodes:[Ek.Stuttgart,Ek.Paris],cost:14},{nodes:[Ek.Zürich,Ek.Milano],cost:11},{nodes:[Ek.Milano,Ek.Zagreb],cost:17},{nodes:[Ek.Milano,Ek.Roma],cost:19},{nodes:[Ek.Roma,Ek.Napoli],cost:7},{nodes:[Ek.Wien,Ek.Budapest],cost:5},{nodes:[Ek.Wien,Ek.Zagreb],cost:8},{nodes:[Ek.Budapest,Ek.Zagreb],cost:7},{nodes:[Ek.Paris,Ek.Zürich],cost:14},{nodes:[Ek.Lyon,Ek.Zürich],cost:14},{nodes:[Ek.Lyon,Ek.Milano],cost:11},{nodes:[Ek.Marseille,Ek.Milano],cost:13},{nodes:[Ek.Zürich,Ek.München],cost:8},{nodes:[Ek.Zürich,Ek.Stuttgart],cost:5},{nodes:[Ek.München,Ek.Wien],cost:9},{nodes:[Ek.Praha,Ek.Wien],cost:7},{nodes:[Ek.Wien,Ek.Katowice],cost:8},{nodes:[Ek.Budapest,Ek.Katowice],cost:11},{nodes:[Ek.Oslo,Ek.Kobenhavn],cost:17},{nodes:[Ek.Oslo,Ek.Stockholm],cost:13},{nodes:[Ek.Stockholm,Ek.Kobenhavn],cost:18},{nodes:[Ek.Stockholm,Ek.Helsinki],cost:21},{nodes:[Ek.Helsinki,Ek.StPetersburg],cost:11},{nodes:[Ek.Tallinn,Ek.StPetersburg],cost:9},{nodes:[Ek.Tallinn,Ek.Riga],cost:7},{nodes:[Ek.Riga,Ek.StPetersburg],cost:13},{nodes:[Ek.Kobenhavn,Ek.Bremen],cost:12},{nodes:[Ek.Kobenhavn,Ek.Berlin],cost:15},{nodes:[Ek.Warszawa,Ek.Minsk],cost:10},{nodes:[Ek.Warszawa,Ek.Kyjiv],cost:14},{nodes:[Ek.Minsk,Ek.Moskwa],cost:14},{nodes:[Ek.Minsk,Ek.Kyjiv],cost:10},{nodes:[Ek.Moskwa,Ek.Kharkiv],cost:16},{nodes:[Ek.Kyjiv,Ek.Kharkiv],cost:9},{nodes:[Ek.Kyjiv,Ek.Odessa],cost:9},{nodes:[Ek.Kharkiv,Ek.Odessa],cost:13},{nodes:[Ek.Odessa,Ek.Bucuresti],cost:10},{nodes:[Ek.Berlin,Ek.Warszawa],cost:11},{nodes:[Ek.Praha,Ek.Warszawa],cost:11},{nodes:[Ek.Katowice,Ek.Warszawa],cost:5},{nodes:[Ek.Kobenhavn,Ek.Warszawa],cost:25},{nodes:[Ek.Riga,Ek.Warszawa],cost:12},{nodes:[Ek.Riga,Ek.Minsk],cost:8},{nodes:[Ek.Riga,Ek.Moskwa],cost:18},{nodes:[Ek.StPetersburg,Ek.Moskwa],cost:14},{nodes:[Ek.Kyjiv,Ek.Budapest],cost:21},{nodes:[Ek.Odessa,Ek.Budapest],cost:25},{nodes:[Ek.Bucuresti,Ek.Budapest],cost:16},{nodes:[Ek.Beograd,Ek.Sofia],cost:11},{nodes:[Ek.Beograd,Ek.Tirana],cost:15},{nodes:[Ek.Sofia,Ek.Tirana],cost:13},{nodes:[Ek.Sofia,Ek.Athina],cost:17},{nodes:[Ek.Sofia,Ek.Istanbul],cost:13},{nodes:[Ek.Tirana,Ek.Athina],cost:16},{nodes:[Ek.Istanbul,Ek.Izmir],cost:8},{nodes:[Ek.Istanbul,Ek.Ankara],cost:9},{nodes:[Ek.Izmir,Ek.Ankara],cost:10},{nodes:[Ek.Bucuresti,Ek.Beograd],cost:12},{nodes:[Ek.Bucuresti,Ek.Sofia],cost:9},{nodes:[Ek.Bucuresti,Ek.Istanbul],cost:13},{nodes:[Ek.Beograd,Ek.Zagreb],cost:9},{nodes:[Ek.Beograd,Ek.Napoli],cost:18},{nodes:[Ek.Beograd,Ek.Budapest],cost:10},{nodes:[Ek.Tirana,Ek.Napoli],cost:25}],layout:"Landscape",adjustRatio:[.5,.5],mapPosition:[-30,-50],mapRotation:10,resupply:[[[2,6,2],[2,6,2],[3,7,4],[3,8,4],[5,10,5]],[[2,2,3],[2,2,3],[3,3,4],[4,3,5],[4,5,6]],[[2,3,5],[2,3,5],[3,4,5],[3,5,7],[4,6,8]],[[1,1,2],[1,1,2],[1,2,2],[2,3,3],[2,3,4]]],coalPrices:[1,1,1,1,2,2,2,2,3,3,3,3,4,4,5,5,6,6,7,7,8,8,9,9],oilPrices:[1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,9,9],garbagePrices:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8],uraniumPrices:[1,2,3,4,5,6,7,7,8,8,9,9],startingResources:[20,16,18,4],startingSupply:[24,24,24,12],setupDeck:function(e,n,t){var r=Object(Qw["cloneDeep"])(yk),o=r.findIndex((function(e){return e.type===Pw.Step3})),i=r.splice(o,1)[0],a=uk(r.splice(0,13),t()+""),c=uk(r,t()+""),u=a.splice(0,9).sort((function(e,n){return e.number-n.number})),s=u.slice(0,4),l=u.slice(4),d=0,f=0;2==e?(d=1,f=5):3==e?(d=2,f=6):4==e&&(d=1,f=3);var p=Math.max(0,d-a.length),v=a.slice(d),h=c.slice(f+p),m=uk(v.concat(h),t()+"");if(m.length>0&&m[0].number<=15){var g=m.findIndex((function(e){return e.number>15}));if(g>0){var y=[m[g],m[0]];m[0]=y[0],m[g]=y[1]}}return m.push(i),{actualMarket:s,futureMarket:l,powerPlantsDeck:m}},mapSpecificRules:"When Step 2 begins, remove the lowest-numbered plant from the current market from the game once and do not replace it; the future market then has 4 plants instead of 5.\n",deckBuild:"Europe uses the New Power Plants Set 2 deck (cards with a plug on the back). The power plant market starts as 4 current + 5 future power plants (9 total), all drawn from the plug plants; the top card of the draw deck is never a plug plant."};(function(e){e["Brown"]="brown",e["Purple"]="purple",e["Blue"]="blue",e["Yellow"]="yellow",e["Green"]="green",e["Red"]="red"})(Gk||(Gk={})),function(e){e["Calais"]="Calais",e["Lile"]="Lile",e["Amiens"]="Amiens",e["Reims"]="Reims",e["Metz"]="Metz",e["Nancy"]="Nancy",e["Strasbourg"]="Strasbourg",e["Havre"]="Havre",e["Caen"]="Caen",e["Brest"]="Brest",e["Rennes"]="Rennes",e["Lemans"]="Le Mans",e["Angers"]="Angers",e["Rouen"]="Rouen",e["Paris1"]="Paris 1",e["Paris2"]="Paris 2",e["Paris3"]="Paris 3",e["Orleans"]="Orleans",e["Tours"]="Tours",e["Limoges"]="Limoges",e["Clermontferrand"]="Clermont-Ferrand",e["Besancon"]="Besancon",e["Dijon"]="Dijon",e["Lyon"]="Lyon",e["Chamonix"]="Chamonix",e["Mulhouse"]="Mulhouse",e["Grenoble"]="Grenoble",e["Saintetienne"]="Saint-Etienne",e["Nice"]="Nice",e["Toulon"]="Toulon",e["Aimenprovence"]="Aim-En-Provence",e["Marseille"]="Marseille",e["Nimes"]="Nimes",e["Montpellier"]="Montpellier",e["Perpignan"]="Perpignan",e["Nantes"]="Nantes",e["Larochelle"]="La Rochelle",e["Bordeaux"]="Bordeaux",e["Biarritz"]="Biarritz",e["Toulous"]="Toulous",e["Carcassone"]="Carcas Sone",e["Lourdes"]="Lourdes"}(Zk||(Zk={}));var Kk,Vk,$k={name:"France",cities:[{name:Zk.Calais,region:Gk.Brown,x:661,y:294},{name:Zk.Lile,region:Gk.Brown,x:791,y:328},{name:Zk.Amiens,region:Gk.Brown,x:700,y:433},{name:Zk.Reims,region:Gk.Brown,x:888,y:531},{name:Zk.Metz,region:Gk.Brown,x:1076,y:528},{name:Zk.Nancy,region:Gk.Brown,x:1078,y:643},{name:Zk.Strasbourg,region:Gk.Brown,x:1208,y:615},{name:Zk.Havre,region:Gk.Purple,x:487,y:471},{name:Zk.Caen,region:Gk.Purple,x:423,y:567},{name:Zk.Brest,region:Gk.Purple,x:79,y:654},{name:Zk.Rennes,region:Gk.Purple,x:326,y:695},{name:Zk.Lemans,region:Gk.Purple,x:516,y:699},{name:Zk.Angers,region:Gk.Purple,x:446,y:798},{name:Zk.Rouen,region:Gk.Purple,x:598,y:506},{name:Zk.Paris1,region:Gk.Blue,x:693,y:553},{name:Zk.Paris2,region:Gk.Blue,x:779,y:566},{name:Zk.Paris3,region:Gk.Blue,x:722,y:633},{name:Zk.Orleans,region:Gk.Blue,x:684,y:736},{name:Zk.Tours,region:Gk.Blue,x:564,y:813},{name:Zk.Limoges,region:Gk.Blue,x:605,y:1009},{name:Zk.Clermontferrand,region:Gk.Blue,x:777,y:1017},{name:Zk.Besancon,region:Gk.Yellow,x:1084,y:828},{name:Zk.Dijon,region:Gk.Yellow,x:964,y:801},{name:Zk.Lyon,region:Gk.Yellow,x:964,y:973},{name:Zk.Chamonix,region:Gk.Yellow,x:1153,y:987},{name:Zk.Mulhouse,region:Gk.Yellow,x:1180,y:742},{name:Zk.Grenoble,region:Gk.Yellow,x:1048,y:1116},{name:Zk.Saintetienne,region:Gk.Yellow,x:892,y:1088},{name:Zk.Nice,region:Gk.Green,x:1178,y:1302},{name:Zk.Toulon,region:Gk.Green,x:1070,y:1397},{name:Zk.Aimenprovence,region:Gk.Green,x:1016,y:1304},{name:Zk.Marseille,region:Gk.Green,x:954,y:1369},{name:Zk.Nimes,region:Gk.Green,x:889,y:1256},{name:Zk.Montpellier,region:Gk.Green,x:816,y:1330},{name:Zk.Perpignan,region:Gk.Green,x:767,y:1460},{name:Zk.Nantes,region:Gk.Red,x:330,y:833},{name:Zk.Larochelle,region:Gk.Red,x:379,y:959},{name:Zk.Bordeaux,region:Gk.Red,x:435,y:1148},{name:Zk.Biarritz,region:Gk.Red,x:345,y:1328},{name:Zk.Toulous,region:Gk.Red,x:621,y:1309},{name:Zk.Carcassone,region:Gk.Red,x:700,y:1382},{name:Zk.Lourdes,region:Gk.Red,x:479,y:1393}],connections:[{nodes:[Zk.Calais,Zk.Havre],cost:13},{nodes:[Zk.Calais,Zk.Lile],cost:7},{nodes:[Zk.Calais,Zk.Amiens],cost:8},{nodes:[Zk.Lile,Zk.Reims],cost:9},{nodes:[Zk.Havre,Zk.Rouen],cost:5},{nodes:[Zk.Havre,Zk.Caen],cost:5},{nodes:[Zk.Caen,Zk.Rennes],cost:12},{nodes:[Zk.Rennes,Zk.Brest],cost:16},{nodes:[Zk.Brest,Zk.Nantes],cost:19},{nodes:[Zk.Rennes,Zk.Nantes],cost:7},{nodes:[Zk.Rennes,Zk.Angers],cost:7},{nodes:[Zk.Rennes,Zk.Lemans],cost:9},{nodes:[Zk.Caen,Zk.Lemans],cost:10},{nodes:[Zk.Lemans,Zk.Paris3],cost:10},{nodes:[Zk.Paris3,Zk.Caen],cost:12},{nodes:[Zk.Caen,Zk.Rouen],cost:9},{nodes:[Zk.Rouen,Zk.Paris1],cost:9},{nodes:[Zk.Rouen,Zk.Amiens],cost:6},{nodes:[Zk.Lile,Zk.Amiens],cost:7},{nodes:[Zk.Amiens,Zk.Reims],cost:11},{nodes:[Zk.Reims,Zk.Metz],cost:12},{nodes:[Zk.Metz,Zk.Strasbourg],cost:11},{nodes:[Zk.Strasbourg,Zk.Nancy],cost:10},{nodes:[Zk.Strasbourg,Zk.Mulhouse],cost:6},{nodes:[Zk.Mulhouse,Zk.Besancon],cost:8},{nodes:[Zk.Besancon,Zk.Nancy],cost:14},{nodes:[Zk.Nancy,Zk.Dijon],cost:15},{nodes:[Zk.Reims,Zk.Nancy],cost:13},{nodes:[Zk.Nancy,Zk.Paris2],cost:21},{nodes:[Zk.Paris1,Zk.Paris2],cost:0},{nodes:[Zk.Paris1,Zk.Paris3],cost:0},{nodes:[Zk.Paris2,Zk.Dijon],cost:20},{nodes:[Zk.Dijon,Zk.Orleans],cost:18},{nodes:[Zk.Orleans,Zk.Lemans],cost:8},{nodes:[Zk.Lemans,Zk.Tours],cost:5},{nodes:[Zk.Tours,Zk.Orleans],cost:7},{nodes:[Zk.Paris1,Zk.Amiens],cost:9},{nodes:[Zk.Dijon,Zk.Clermontferrand],cost:19},{nodes:[Zk.Clermontferrand,Zk.Limoges],cost:12},{nodes:[Zk.Limoges,Zk.Toulous],cost:19},{nodes:[Zk.Toulous,Zk.Clermontferrand],cost:24},{nodes:[Zk.Clermontferrand,Zk.Montpellier],cost:22},{nodes:[Zk.Montpellier,Zk.Nimes],cost:3},{nodes:[Zk.Saintetienne,Zk.Grenoble],cost:10},{nodes:[Zk.Grenoble,Zk.Chamonix],cost:12},{nodes:[Zk.Chamonix,Zk.Besancon],cost:19},{nodes:[Zk.Besancon,Zk.Dijon],cost:6},{nodes:[Zk.Dijon,Zk.Lyon],cost:13},{nodes:[Zk.Lyon,Zk.Clermontferrand],cost:11},{nodes:[Zk.Saintetienne,Zk.Montpellier],cost:18},{nodes:[Zk.Saintetienne,Zk.Nimes],cost:16},{nodes:[Zk.Nimes,Zk.Aimenprovence],cost:8},{nodes:[Zk.Aimenprovence,Zk.Nice],cost:8},{nodes:[Zk.Nice,Zk.Toulon],cost:7},{nodes:[Zk.Toulon,Zk.Marseille],cost:3},{nodes:[Zk.Marseille,Zk.Aimenprovence],cost:0},{nodes:[Zk.Nice,Zk.Grenoble],cost:19},{nodes:[Zk.Grenoble,Zk.Aimenprovence],cost:17},{nodes:[Zk.Grenoble,Zk.Nimes],cost:18},{nodes:[Zk.Montpellier,Zk.Toulous],cost:14},{nodes:[Zk.Toulous,Zk.Bordeaux],cost:14},{nodes:[Zk.Bordeaux,Zk.Limoges],cost:13},{nodes:[Zk.Limoges,Zk.Tours],cost:13},{nodes:[Zk.Tours,Zk.Larochelle],cost:13},{nodes:[Zk.Larochelle,Zk.Angers],cost:12},{nodes:[Zk.Angers,Zk.Lemans],cost:5},{nodes:[Zk.Angers,Zk.Nantes],cost:5},{nodes:[Zk.Nantes,Zk.Larochelle],cost:9},{nodes:[Zk.Larochelle,Zk.Bordeaux],cost:13},{nodes:[Zk.Bordeaux,Zk.Biarritz],cost:12},{nodes:[Zk.Bordeaux,Zk.Lourdes],cost:14},{nodes:[Zk.Lourdes,Zk.Biarritz],cost:9},{nodes:[Zk.Lourdes,Zk.Toulous],cost:10},{nodes:[Zk.Lourdes,Zk.Carcassone],cost:15},{nodes:[Zk.Lourdes,Zk.Perpignan],cost:20},{nodes:[Zk.Perpignan,Zk.Carcassone],cost:6},{nodes:[Zk.Carcassone,Zk.Toulous],cost:6},{nodes:[Zk.Carcassone,Zk.Montpellier],cost:9},{nodes:[Zk.Montpellier,Zk.Perpignan],cost:11},{nodes:[Zk.Orleans,Zk.Limoges],cost:19},{nodes:[Zk.Orleans,Zk.Clermontferrand],cost:18},{nodes:[Zk.Paris3,Zk.Orleans],cost:7},{nodes:[Zk.Angers,Zk.Tours],cost:6},{nodes:[Zk.Larochelle,Zk.Limoges],cost:13},{nodes:[Zk.Nancy,Zk.Metz],cost:3},{nodes:[Zk.Nancy,Zk.Mulhouse],cost:12},{nodes:[Zk.Besancon,Zk.Lyon],cost:16},{nodes:[Zk.Lyon,Zk.Grenoble],cost:7},{nodes:[Zk.Lyon,Zk.Chamonix],cost:13},{nodes:[Zk.Lyon,Zk.Saintetienne],cost:6},{nodes:[Zk.Saintetienne,Zk.Clermontferrand],cost:10},{nodes:[Zk.Paris2,Zk.Reims],cost:9},{nodes:[Zk.Paris3,Zk.Paris2],cost:0}],layout:"Portrait",mapPosition:[50,-100],adjustRatio:[.7,.7],resupply:[[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],startingResources:[24,18,6,8],setupDeck:function(e,n,t){var r,o,i=Object(Qw["cloneDeep"])(yk);if("original"==n){i=i.slice(8);var a=i.splice(0,1)[0];i.splice(1,1)[0];var c=i.pop();i=uk(i,t()+""),2==e||3==e?i=i.slice(8):4==e&&(i=i.slice(4)),i.unshift(a),i.push(c),r=[j_(3),j_(4),j_(5),j_(6)],o=[j_(7),j_(8),j_(9),j_(10)]}else{i.splice(10,1)[0];var u=i.splice(8,1)[0],s=uk(i.splice(0,11),t()+""),l=s.splice(0,7);l.push(u),l=l.sort((function(e,n){return e.number-n.number})),r=l.slice(0,4),o=l.slice(4);var d=s.shift(),f=i.pop();i=uk(i,t()+""),2==e?i=uk(i.slice(6).concat(s),t()+""):3==e?(s=s.slice(1),i=uk(i.slice(6).concat(s),t()+"")):i=uk(4==e?i.slice(3).concat(s):i.concat(s),t()+""),i.unshift(d),i.push(f)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:i}},deckBuild:{recharged:"power plant 13 is removed from the game and power plant 11 always starts in the market. Removal by player count: 2 players remove 6 higher plants, 3 players remove 1 low and 6 higher, 4 players remove 3 higher.",original:"power plant 13 is removed from the game; power plant 11 is placed on top of the deck in its place."}};(function(e){e["Purple"]="purple",e["Green"]="green",e["Red"]="red",e["Yellow"]="yellow",e["Cyan"]="cyan",e["Brown"]="brown"})(Kk||(Kk={})),function(e){e["Flensburg"]="Flensburg",e["Kiel"]="Kiel",e["Hamburg"]="Hamburg",e["Hannover"]="Hannover",e["Bremen"]="Bremen",e["Wilhelmshaven"]="Wilhelmshaven",e["Cuxhaven"]="Cuxhaven",e["Lubeck"]="Lubeck",e["Rostock"]="Rostock",e["Schwerin"]="Schwerin",e["Torgelow"]="Torgelow",e["Magdeburg"]="Magdeburg",e["Berlin"]="Berlin",e["FrankfurtO"]="Frankfurt-O",e["Halle"]="Halle",e["Leipzig"]="Leipzig",e["Dresden"]="Dresden",e["Erfurt"]="Erfurt",e["Fulda"]="Fulda",e["Würzburg"]="Würzburg",e["Nurnberg"]="Nurnberg",e["Osnabrück"]="Osnabrück",e["Münster"]="Münster",e["Essen"]="Essen",e["Duisburg"]="Duisburg",e["Dortmund"]="Dortmund",e["Dusseldorf"]="Dusseldorf",e["Kassel"]="Kassel",e["Aachen"]="Aachen",e["Köln"]="Köln",e["Trier"]="Trier",e["Wiesbaden"]="Wiesbaden",e["FrankfurtM"]="Frankfurt-M",e["Saarbrücken"]="Saarbrücken",e["Mannheim"]="Mannheim",e["Freiburg"]="Freiburg",e["Stuttgart"]="Stuttgart",e["Konstanz"]="Konstanz",e["Augsburg"]="Augsburg",e["Regensburg"]="Regensburg",e["München"]="München",e["Passau"]="Passau",e["Stralsund"]="Stralsund",e["Mainz"]="Mainz"}(Vk||(Vk={}));var Wk,Yk,Jk={name:"Germany",cities:[{name:Vk.Flensburg,region:Kk.Green,x:37,y:427},{name:Vk.Kiel,region:Kk.Green,x:106,y:392},{name:Vk.Hamburg,region:Kk.Green,x:212,y:396},{name:Vk.Hannover,region:Kk.Green,x:378,y:395},{name:Vk.Bremen,region:Kk.Green,x:276,y:463},{name:Vk.Wilhelmshaven,region:Kk.Green,x:211,y:521},{name:Vk.Cuxhaven,region:Kk.Green,x:168,y:474},{name:Vk.Lubeck,region:Kk.Brown,x:153,y:341},{name:Vk.Rostock,region:Kk.Brown,x:128,y:256},{name:Vk.Schwerin,region:Kk.Brown,x:217,y:297},{name:Vk.Torgelow,region:Kk.Brown,x:210,y:126},{name:Vk.Magdeburg,region:Kk.Brown,x:389,y:271},{name:Vk.Berlin,region:Kk.Brown,x:355,y:170},{name:Vk.FrankfurtO,region:Kk.Brown,x:381,y:99},{name:Vk.Halle,region:Kk.Yellow,x:493,y:259},{name:Vk.Leipzig,region:Kk.Yellow,x:526,y:222},{name:Vk.Dresden,region:Kk.Yellow,x:572,y:126},{name:Vk.Erfurt,region:Kk.Yellow,x:567,y:309},{name:Vk.Fulda,region:Kk.Yellow,x:628,y:398},{name:Vk.Würzburg,region:Kk.Yellow,x:735,y:386},{name:Vk.Nurnberg,region:Kk.Yellow,x:780,y:309},{name:Vk.Osnabrück,region:Kk.Red,x:359,y:516},{name:Vk.Münster,region:Kk.Red,x:427,y:554},{name:Vk.Essen,region:Kk.Red,x:475,y:603},{name:Vk.Duisburg,region:Kk.Red,x:456,y:645},{name:Vk.Dortmund,region:Kk.Red,x:505,y:543},{name:Vk.Dusseldorf,region:Kk.Red,x:537,y:635},{name:Vk.Kassel,region:Kk.Red,x:524,y:430},{name:Vk.Aachen,region:Kk.Cyan,x:614,y:654},{name:Vk.Köln,region:Kk.Cyan,x:590,y:589},{name:Vk.Trier,region:Kk.Cyan,x:739,y:628},{name:Vk.Wiesbaden,region:Kk.Cyan,x:697,y:514},{name:Vk.FrankfurtM,region:Kk.Cyan,x:672,y:473},{name:Vk.Saarbrücken,region:Kk.Cyan,x:818,y:568},{name:Vk.Mannheim,region:Kk.Cyan,x:796,y:479},{name:Vk.Freiburg,region:Kk.Purple,x:966,y:537},{name:Vk.Stuttgart,region:Kk.Purple,x:884,y:458},{name:Vk.Konstanz,region:Kk.Purple,x:1011,y:459},{name:Vk.Augsburg,region:Kk.Purple,x:911,y:346},{name:Vk.Regensburg,region:Kk.Purple,x:846,y:256},{name:Vk.München,region:Kk.Purple,x:967,y:278},{name:Vk.Passau,region:Kk.Purple,x:904,y:153}],connections:[{nodes:[Vk.Flensburg,Vk.Kiel],cost:4},{nodes:[Vk.Kiel,Vk.Hamburg],cost:8},{nodes:[Vk.Kiel,Vk.Lubeck],cost:4},{nodes:[Vk.Hamburg,Vk.Hannover],cost:17},{nodes:[Vk.Hamburg,Vk.Bremen],cost:11},{nodes:[Vk.Hamburg,Vk.Cuxhaven],cost:11},{nodes:[Vk.Hamburg,Vk.Lubeck],cost:6},{nodes:[Vk.Hamburg,Vk.Schwerin],cost:8},{nodes:[Vk.Bremen,Vk.Wilhelmshaven],cost:11},{nodes:[Vk.Bremen,Vk.Hannover],cost:10},{nodes:[Vk.Bremen,Vk.Cuxhaven],cost:8},{nodes:[Vk.Bremen,Vk.Osnabrück],cost:11},{nodes:[Vk.Hannover,Vk.Schwerin],cost:19},{nodes:[Vk.Hannover,Vk.Magdeburg],cost:15},{nodes:[Vk.Hannover,Vk.Erfurt],cost:19},{nodes:[Vk.Hannover,Vk.Osnabrück],cost:16},{nodes:[Vk.Hannover,Vk.Kassel],cost:15},{nodes:[Vk.Wilhelmshaven,Vk.Osnabrück],cost:14},{nodes:[Vk.Lubeck,Vk.Schwerin],cost:6},{nodes:[Vk.Schwerin,Vk.Rostock],cost:6},{nodes:[Vk.Schwerin,Vk.Torgelow],cost:19},{nodes:[Vk.Schwerin,Vk.Berlin],cost:18},{nodes:[Vk.Schwerin,Vk.Magdeburg],cost:16},{nodes:[Vk.Torgelow,Vk.Rostock],cost:19},{nodes:[Vk.Torgelow,Vk.Berlin],cost:15},{nodes:[Vk.Berlin,Vk.Magdeburg],cost:10},{nodes:[Vk.Berlin,Vk.FrankfurtO],cost:6},{nodes:[Vk.Berlin,Vk.Halle],cost:17},{nodes:[Vk.Magdeburg,Vk.Halle],cost:11},{nodes:[Vk.FrankfurtO,Vk.Leipzig],cost:21},{nodes:[Vk.FrankfurtO,Vk.Dresden],cost:16},{nodes:[Vk.Halle,Vk.Leipzig],cost:0},{nodes:[Vk.Leipzig,Vk.Dresden],cost:13},{nodes:[Vk.Erfurt,Vk.Halle],cost:6},{nodes:[Vk.Erfurt,Vk.Dresden],cost:19},{nodes:[Vk.Erfurt,Vk.Nurnberg],cost:21},{nodes:[Vk.Erfurt,Vk.Fulda],cost:13},{nodes:[Vk.Erfurt,Vk.Kassel],cost:15},{nodes:[Vk.Fulda,Vk.Würzburg],cost:11},{nodes:[Vk.Fulda,Vk.Kassel],cost:8},{nodes:[Vk.Fulda,Vk.FrankfurtM],cost:8},{nodes:[Vk.Würzburg,Vk.Nurnberg],cost:8},{nodes:[Vk.Würzburg,Vk.FrankfurtM],cost:13},{nodes:[Vk.Würzburg,Vk.Mannheim],cost:10},{nodes:[Vk.Würzburg,Vk.Stuttgart],cost:12},{nodes:[Vk.Würzburg,Vk.Augsburg],cost:19},{nodes:[Vk.Nurnberg,Vk.Augsburg],cost:18},{nodes:[Vk.Nurnberg,Vk.Regensburg],cost:12},{nodes:[Vk.Osnabrück,Vk.Münster],cost:7},{nodes:[Vk.Osnabrück,Vk.Kassel],cost:20},{nodes:[Vk.Münster,Vk.Essen],cost:6},{nodes:[Vk.Münster,Vk.Dortmund],cost:2},{nodes:[Vk.Essen,Vk.Duisburg],cost:0},{nodes:[Vk.Essen,Vk.Dusseldorf],cost:2},{nodes:[Vk.Essen,Vk.Dortmund],cost:4},{nodes:[Vk.Dortmund,Vk.Kassel],cost:18},{nodes:[Vk.Dortmund,Vk.Köln],cost:10},{nodes:[Vk.Dortmund,Vk.FrankfurtM],cost:20},{nodes:[Vk.Kassel,Vk.FrankfurtM],cost:13},{nodes:[Vk.Dusseldorf,Vk.Aachen],cost:9},{nodes:[Vk.Dusseldorf,Vk.Köln],cost:4},{nodes:[Vk.Aachen,Vk.Köln],cost:7},{nodes:[Vk.Aachen,Vk.Trier],cost:19},{nodes:[Vk.Trier,Vk.Köln],cost:20},{nodes:[Vk.Trier,Vk.Wiesbaden],cost:18},{nodes:[Vk.Trier,Vk.Saarbrücken],cost:11},{nodes:[Vk.Wiesbaden,Vk.FrankfurtM],cost:0},{nodes:[Vk.Wiesbaden,Vk.Köln],cost:21},{nodes:[Vk.Wiesbaden,Vk.Saarbrücken],cost:10},{nodes:[Vk.Wiesbaden,Vk.Mannheim],cost:11},{nodes:[Vk.Mannheim,Vk.Saarbrücken],cost:11},{nodes:[Vk.Mannheim,Vk.Stuttgart],cost:6},{nodes:[Vk.Stuttgart,Vk.Saarbrücken],cost:17},{nodes:[Vk.Stuttgart,Vk.Freiburg],cost:16},{nodes:[Vk.Stuttgart,Vk.Konstanz],cost:16},{nodes:[Vk.Stuttgart,Vk.Augsburg],cost:15},{nodes:[Vk.Konstanz,Vk.Freiburg],cost:14},{nodes:[Vk.Konstanz,Vk.Augsburg],cost:17},{nodes:[Vk.Regensburg,Vk.Augsburg],cost:13},{nodes:[Vk.Regensburg,Vk.München],cost:10},{nodes:[Vk.Regensburg,Vk.Passau],cost:12},{nodes:[Vk.Augsburg,Vk.München],cost:6},{nodes:[Vk.Passau,Vk.München],cost:14}],layout:"Landscape",mapPosition:[20,20]},Hk={name:"Germany",cities:[{name:Vk.Flensburg,region:Kk.Green,x:37,y:427},{name:Vk.Kiel,region:Kk.Green,x:106,y:392},{name:Vk.Hamburg,region:Kk.Green,x:212,y:396},{name:Vk.Hannover,region:Kk.Green,x:378,y:395},{name:Vk.Bremen,region:Kk.Green,x:276,y:463},{name:Vk.Wilhelmshaven,region:Kk.Green,x:211,y:521},{name:Vk.Cuxhaven,region:Kk.Green,x:168,y:474},{name:Vk.Lubeck,region:Kk.Brown,x:153,y:341},{name:Vk.Rostock,region:Kk.Brown,x:128,y:256},{name:Vk.Schwerin,region:Kk.Brown,x:217,y:297},{name:Vk.Stralsund,region:Kk.Brown,x:210,y:126},{name:Vk.Magdeburg,region:Kk.Brown,x:389,y:271},{name:Vk.Berlin,region:Kk.Brown,x:355,y:170},{name:Vk.FrankfurtO,region:Kk.Brown,x:381,y:99},{name:Vk.Halle,region:Kk.Yellow,x:493,y:259},{name:Vk.Leipzig,region:Kk.Yellow,x:526,y:222},{name:Vk.Dresden,region:Kk.Yellow,x:572,y:126},{name:Vk.Erfurt,region:Kk.Yellow,x:567,y:309},{name:Vk.Fulda,region:Kk.Yellow,x:628,y:398},{name:Vk.Würzburg,region:Kk.Yellow,x:735,y:386},{name:Vk.Nurnberg,region:Kk.Yellow,x:780,y:309},{name:Vk.Osnabrück,region:Kk.Red,x:359,y:516},{name:Vk.Münster,region:Kk.Red,x:427,y:554},{name:Vk.Essen,region:Kk.Red,x:475,y:603},{name:Vk.Duisburg,region:Kk.Red,x:456,y:645},{name:Vk.Dortmund,region:Kk.Red,x:505,y:543},{name:Vk.Dusseldorf,region:Kk.Red,x:537,y:635},{name:Vk.Kassel,region:Kk.Red,x:524,y:430},{name:Vk.Aachen,region:Kk.Cyan,x:614,y:654},{name:Vk.Köln,region:Kk.Cyan,x:590,y:589},{name:Vk.Trier,region:Kk.Cyan,x:739,y:628},{name:Vk.Mainz,region:Kk.Cyan,x:697,y:514},{name:Vk.FrankfurtM,region:Kk.Cyan,x:672,y:473},{name:Vk.Saarbrücken,region:Kk.Cyan,x:818,y:568},{name:Vk.Mannheim,region:Kk.Cyan,x:796,y:479},{name:Vk.Freiburg,region:Kk.Purple,x:966,y:537},{name:Vk.Stuttgart,region:Kk.Purple,x:884,y:458},{name:Vk.Konstanz,region:Kk.Purple,x:1011,y:459},{name:Vk.Augsburg,region:Kk.Purple,x:911,y:346},{name:Vk.Regensburg,region:Kk.Purple,x:846,y:256},{name:Vk.München,region:Kk.Purple,x:967,y:278},{name:Vk.Passau,region:Kk.Purple,x:904,y:153}],connections:[{nodes:[Vk.Flensburg,Vk.Kiel],cost:4},{nodes:[Vk.Kiel,Vk.Hamburg],cost:8},{nodes:[Vk.Kiel,Vk.Lubeck],cost:4},{nodes:[Vk.Hamburg,Vk.Hannover],cost:17},{nodes:[Vk.Hamburg,Vk.Bremen],cost:11},{nodes:[Vk.Hamburg,Vk.Cuxhaven],cost:11},{nodes:[Vk.Hamburg,Vk.Lubeck],cost:6},{nodes:[Vk.Hamburg,Vk.Schwerin],cost:8},{nodes:[Vk.Bremen,Vk.Wilhelmshaven],cost:11},{nodes:[Vk.Bremen,Vk.Hannover],cost:10},{nodes:[Vk.Bremen,Vk.Cuxhaven],cost:8},{nodes:[Vk.Bremen,Vk.Osnabrück],cost:11},{nodes:[Vk.Hannover,Vk.Schwerin],cost:19},{nodes:[Vk.Hannover,Vk.Magdeburg],cost:15},{nodes:[Vk.Hannover,Vk.Erfurt],cost:19},{nodes:[Vk.Hannover,Vk.Osnabrück],cost:16},{nodes:[Vk.Hannover,Vk.Kassel],cost:15},{nodes:[Vk.Wilhelmshaven,Vk.Osnabrück],cost:14},{nodes:[Vk.Lubeck,Vk.Schwerin],cost:6},{nodes:[Vk.Schwerin,Vk.Rostock],cost:6},{nodes:[Vk.Schwerin,Vk.Stralsund],cost:19},{nodes:[Vk.Schwerin,Vk.Berlin],cost:18},{nodes:[Vk.Schwerin,Vk.Magdeburg],cost:16},{nodes:[Vk.Stralsund,Vk.Rostock],cost:19},{nodes:[Vk.Stralsund,Vk.Berlin],cost:15},{nodes:[Vk.Berlin,Vk.Magdeburg],cost:10},{nodes:[Vk.Berlin,Vk.FrankfurtO],cost:6},{nodes:[Vk.Berlin,Vk.Halle],cost:17},{nodes:[Vk.Magdeburg,Vk.Halle],cost:11},{nodes:[Vk.FrankfurtO,Vk.Leipzig],cost:21},{nodes:[Vk.FrankfurtO,Vk.Dresden],cost:16},{nodes:[Vk.Halle,Vk.Leipzig],cost:0},{nodes:[Vk.Leipzig,Vk.Dresden],cost:13},{nodes:[Vk.Erfurt,Vk.Halle],cost:6},{nodes:[Vk.Erfurt,Vk.Dresden],cost:19},{nodes:[Vk.Erfurt,Vk.Nurnberg],cost:21},{nodes:[Vk.Erfurt,Vk.Fulda],cost:13},{nodes:[Vk.Erfurt,Vk.Kassel],cost:15},{nodes:[Vk.Fulda,Vk.Würzburg],cost:11},{nodes:[Vk.Fulda,Vk.Kassel],cost:8},{nodes:[Vk.Fulda,Vk.FrankfurtM],cost:8},{nodes:[Vk.Würzburg,Vk.Nurnberg],cost:8},{nodes:[Vk.Würzburg,Vk.FrankfurtM],cost:13},{nodes:[Vk.Würzburg,Vk.Mannheim],cost:10},{nodes:[Vk.Würzburg,Vk.Stuttgart],cost:12},{nodes:[Vk.Würzburg,Vk.Augsburg],cost:19},{nodes:[Vk.Nurnberg,Vk.Augsburg],cost:18},{nodes:[Vk.Nurnberg,Vk.Regensburg],cost:12},{nodes:[Vk.Osnabrück,Vk.Münster],cost:7},{nodes:[Vk.Osnabrück,Vk.Kassel],cost:20},{nodes:[Vk.Münster,Vk.Essen],cost:6},{nodes:[Vk.Münster,Vk.Dortmund],cost:2},{nodes:[Vk.Essen,Vk.Duisburg],cost:0},{nodes:[Vk.Essen,Vk.Dusseldorf],cost:2},{nodes:[Vk.Essen,Vk.Dortmund],cost:5},{nodes:[Vk.Dortmund,Vk.Kassel],cost:18},{nodes:[Vk.Dortmund,Vk.Köln],cost:10},{nodes:[Vk.Dortmund,Vk.FrankfurtM],cost:20},{nodes:[Vk.Kassel,Vk.FrankfurtM],cost:13},{nodes:[Vk.Dusseldorf,Vk.Aachen],cost:9},{nodes:[Vk.Dusseldorf,Vk.Köln],cost:4},{nodes:[Vk.Aachen,Vk.Köln],cost:7},{nodes:[Vk.Aachen,Vk.Trier],cost:19},{nodes:[Vk.Trier,Vk.Köln],cost:20},{nodes:[Vk.Trier,Vk.Mainz],cost:18},{nodes:[Vk.Trier,Vk.Saarbrücken],cost:11},{nodes:[Vk.Mainz,Vk.FrankfurtM],cost:0},{nodes:[Vk.Mainz,Vk.Köln],cost:21},{nodes:[Vk.Mainz,Vk.Saarbrücken],cost:10},{nodes:[Vk.Mainz,Vk.Mannheim],cost:11},{nodes:[Vk.Mannheim,Vk.Saarbrücken],cost:16},{nodes:[Vk.Mannheim,Vk.Stuttgart],cost:6},{nodes:[Vk.Stuttgart,Vk.Saarbrücken],cost:17},{nodes:[Vk.Stuttgart,Vk.Freiburg],cost:16},{nodes:[Vk.Stuttgart,Vk.Konstanz],cost:16},{nodes:[Vk.Stuttgart,Vk.Augsburg],cost:15},{nodes:[Vk.Konstanz,Vk.Freiburg],cost:14},{nodes:[Vk.Konstanz,Vk.Augsburg],cost:17},{nodes:[Vk.Regensburg,Vk.Augsburg],cost:13},{nodes:[Vk.Regensburg,Vk.München],cost:10},{nodes:[Vk.Regensburg,Vk.Passau],cost:12},{nodes:[Vk.Augsburg,Vk.München],cost:6},{nodes:[Vk.Passau,Vk.München],cost:14}],layout:"Landscape",mapPosition:[20,20],mapSpecificRules:"Stop resupplying uranium after power plant 39 has been bought."};(function(e){e["Red"]="red",e["Brown"]="brown",e["Green"]="green",e["Orange"]="orange",e["Yellow"]="yellow",e["Pink"]="pink"})(Wk||(Wk={})),function(e){e["Thiruvananthapuram"]="Thiruvananthapuram",e["Madurai"]="Madurai",e["Coimbatore"]="Coimbatore",e["Chennai"]="Chennai",e["Hyderabad"]="Hyderabad",e["Bangalore1"]="Bangalore 1",e["Bangalore2"]="Bangalore 2",e["Dibrugarh"]="Dibrugarh",e["Imphal"]="Imphal",e["Aizawi"]="Aizawi",e["Chittagong"]="Chittagong",e["Shillong"]="Shillong",e["Dhaka"]="Dhaka",e["Khulna"]="Khulna",e["Darjeeling"]="Darjeeling",e["Kathmandu"]="Kathmandu",e["Patna"]="Patna",e["Lakhnau"]="Lakhnau",e["Varanasi"]="Varanasi",e["Agra"]="Agra",e["Kanpur"]="Kanpur",e["Srinagar"]="Srinagar",e["Ludhiana"]="Ludhiana",e["Delhi1"]="Delhi 1",e["Delhi2"]="Delhi 2",e["Jaipur"]="Jaipur",e["Udaipur"]="Udaipur",e["Ahmedabad"]="Ahmedabad",e["Dhanbad"]="Dhanbad",e["Kolkata"]="Kolkata",e["Bhudaneswar"]="Bhudaneswar",e["Sambalpur"]="Sambalpur",e["Jabalpur"]="Jabalpur",e["Nagpur"]="Nagpur",e["Visakhapatnam"]="Visakhapatnam",e["Goa"]="Goa",e["Pune"]="Pune",e["Surat"]="Surat",e["Indore"]="Indore",e["Bhopal"]="Bhopal",e["Mumbai1"]="Mumbai 1",e["Mumbai2"]="Mumbai 2"}(Yk||(Yk={}));var qk,Xk,Qk={name:"India",cities:[{name:Yk.Thiruvananthapuram,region:Wk.Red,x:217,y:868},{name:Yk.Madurai,region:Wk.Red,x:230,y:829},{name:Yk.Coimbatore,region:Wk.Red,x:197,y:797},{name:Yk.Chennai,region:Wk.Red,x:289,y:740},{name:Yk.Hyderabad,region:Wk.Red,x:232,y:618},{name:Yk.Bangalore1,region:Wk.Red,x:205,y:710},{name:Yk.Bangalore2,region:Wk.Red,x:205,y:735},{name:Yk.Dibrugarh,region:Wk.Brown,x:669,y:328},{name:Yk.Imphal,region:Wk.Brown,x:658,y:392},{name:Yk.Aizawi,region:Wk.Brown,x:625,y:427},{name:Yk.Chittagong,region:Wk.Brown,x:589,y:483},{name:Yk.Shillong,region:Wk.Brown,x:586,y:395},{name:Yk.Dhaka,region:Wk.Brown,x:548,y:432},{name:Yk.Khulna,region:Wk.Brown,x:528,y:468},{name:Yk.Darjeeling,region:Wk.Green,x:496,y:333},{name:Yk.Kathmandu,region:Wk.Green,x:418,y:307},{name:Yk.Patna,region:Wk.Green,x:416,y:373},{name:Yk.Lakhnau,region:Wk.Green,x:310,y:338},{name:Yk.Varanasi,region:Wk.Green,x:350,y:385},{name:Yk.Agra,region:Wk.Green,x:228,y:335},{name:Yk.Kanpur,region:Wk.Green,x:269,y:373},{name:Yk.Srinagar,region:Wk.Orange,x:135,y:115},{name:Yk.Ludhiana,region:Wk.Orange,x:186,y:215},{name:Yk.Delhi1,region:Wk.Orange,x:190,y:281},{name:Yk.Delhi2,region:Wk.Orange,x:190,y:303},{name:Yk.Jaipur,region:Wk.Orange,x:158,y:341},{name:Yk.Udaipur,region:Wk.Orange,x:105,y:410},{name:Yk.Ahmedabad,region:Wk.Orange,x:75,y:456},{name:Yk.Dhanbad,region:Wk.Yellow,x:424,y:427},{name:Yk.Kolkata,region:Wk.Yellow,x:463,y:477},{name:Yk.Bhudaneswar,region:Wk.Yellow,x:428,y:533},{name:Yk.Sambalpur,region:Wk.Yellow,x:376,y:494},{name:Yk.Jabalpur,region:Wk.Yellow,x:293,y:478},{name:Yk.Nagpur,region:Wk.Yellow,x:250,y:510},{name:Yk.Visakhapatnam,region:Wk.Yellow,x:358,y:597},{name:Yk.Goa,region:Wk.Pink,x:109,y:677},{name:Yk.Pune,region:Wk.Pink,x:133,y:587},{name:Yk.Surat,region:Wk.Pink,x:80,y:510},{name:Yk.Indore,region:Wk.Pink,x:160,y:476},{name:Yk.Bhopal,region:Wk.Pink,x:208,y:437},{name:Yk.Mumbai1,region:Wk.Pink,x:58,y:570},{name:Yk.Mumbai2,region:Wk.Pink,x:58,y:593}],connections:[{nodes:[Yk.Srinagar,Yk.Ludhiana],cost:15},{nodes:[Yk.Ludhiana,Yk.Delhi1],cost:9},{nodes:[Yk.Delhi1,Yk.Delhi2],cost:0},{nodes:[Yk.Delhi2,Yk.Jaipur],cost:7},{nodes:[Yk.Delhi2,Yk.Agra],cost:6},{nodes:[Yk.Jaipur,Yk.Bhopal],cost:12},{nodes:[Yk.Jaipur,Yk.Kanpur],cost:12},{nodes:[Yk.Agra,Yk.Lakhnau],cost:8},{nodes:[Yk.Lakhnau,Yk.Kathmandu],cost:15},{nodes:[Yk.Kathmandu,Yk.Darjeeling],cost:13},{nodes:[Yk.Darjeeling,Yk.Shillong],cost:12},{nodes:[Yk.Shillong,Yk.Patna],cost:18},{nodes:[Yk.Patna,Yk.Kathmandu],cost:10},{nodes:[Yk.Imphal,Yk.Dibrugarh],cost:11},{nodes:[Yk.Dibrugarh,Yk.Shillong],cost:9},{nodes:[Yk.Shillong,Yk.Imphal],cost:12},{nodes:[Yk.Imphal,Yk.Aizawi],cost:7},{nodes:[Yk.Shillong,Yk.Dhaka],cost:10},{nodes:[Yk.Dhaka,Yk.Khulna],cost:6},{nodes:[Yk.Khulna,Yk.Kolkata],cost:3},{nodes:[Yk.Dhanbad,Yk.Dhaka],cost:14},{nodes:[Yk.Jabalpur,Yk.Sambalpur],cost:13},{nodes:[Yk.Sambalpur,Yk.Nagpur],cost:13},{nodes:[Yk.Nagpur,Yk.Visakhapatnam],cost:17},{nodes:[Yk.Visakhapatnam,Yk.Sambalpur],cost:12},{nodes:[Yk.Jabalpur,Yk.Kanpur],cost:11},{nodes:[Yk.Varanasi,Yk.Jabalpur],cost:11},{nodes:[Yk.Kanpur,Yk.Varanasi],cost:8},{nodes:[Yk.Varanasi,Yk.Patna],cost:5},{nodes:[Yk.Patna,Yk.Lakhnau],cost:11},{nodes:[Yk.Kanpur,Yk.Bhopal],cost:13},{nodes:[Yk.Ahmedabad,Yk.Bhopal],cost:11},{nodes:[Yk.Bhopal,Yk.Udaipur],cost:11},{nodes:[Yk.Udaipur,Yk.Jaipur],cost:9},{nodes:[Yk.Ahmedabad,Yk.Surat],cost:7},{nodes:[Yk.Ahmedabad,Yk.Indore],cost:8},{nodes:[Yk.Indore,Yk.Surat],cost:10},{nodes:[Yk.Mumbai1,Yk.Mumbai2],cost:0},{nodes:[Yk.Mumbai2,Yk.Pune],cost:4},{nodes:[Yk.Pune,Yk.Hyderabad],cost:13},{nodes:[Yk.Pune,Yk.Nagpur],cost:17},{nodes:[Yk.Pune,Yk.Indore],cost:15},{nodes:[Yk.Goa,Yk.Coimbatore],cost:18},{nodes:[Yk.Bangalore1,Yk.Bangalore2],cost:0},{nodes:[Yk.Bangalore2,Yk.Coimbatore],cost:9},{nodes:[Yk.Coimbatore,Yk.Thiruvananthapuram],cost:10},{nodes:[Yk.Thiruvananthapuram,Yk.Madurai],cost:7},{nodes:[Yk.Madurai,Yk.Chennai],cost:12},{nodes:[Yk.Chennai,Yk.Bangalore1],cost:9},{nodes:[Yk.Bangalore1,Yk.Hyderabad],cost:14},{nodes:[Yk.Hyderabad,Yk.Goa],cost:15},{nodes:[Yk.Goa,Yk.Bangalore2],cost:14},{nodes:[Yk.Mumbai2,Yk.Goa],cost:11},{nodes:[Yk.Indore,Yk.Nagpur],cost:10},{nodes:[Yk.Sambalpur,Yk.Dhanbad],cost:8},{nodes:[Yk.Sambalpur,Yk.Bhudaneswar],cost:7},{nodes:[Yk.Bhudaneswar,Yk.Kolkata],cost:11},{nodes:[Yk.Kolkata,Yk.Dhanbad],cost:9},{nodes:[Yk.Dhanbad,Yk.Patna],cost:8},{nodes:[Yk.Nagpur,Yk.Hyderabad],cost:12},{nodes:[Yk.Hyderabad,Yk.Visakhapatnam],cost:13},{nodes:[Yk.Visakhapatnam,Yk.Chennai],cost:17},{nodes:[Yk.Chittagong,Yk.Aizawi],cost:7},{nodes:[Yk.Dhaka,Yk.Aizawi],cost:8},{nodes:[Yk.Dhaka,Yk.Chittagong],cost:7},{nodes:[Yk.Patna,Yk.Darjeeling],cost:11},{nodes:[Yk.Visakhapatnam,Yk.Bhudaneswar],cost:12},{nodes:[Yk.Udaipur,Yk.Ahmedabad],cost:6},{nodes:[Yk.Madurai,Yk.Coimbatore],cost:6},{nodes:[Yk.Bangalore2,Yk.Madurai],cost:10},{nodes:[Yk.Bhopal,Yk.Jabalpur],cost:8},{nodes:[Yk.Bhopal,Yk.Nagpur],cost:7},{nodes:[Yk.Bhopal,Yk.Indore],cost:4},{nodes:[Yk.Surat,Yk.Mumbai1],cost:6},{nodes:[Yk.Agra,Yk.Kanpur],cost:8},{nodes:[Yk.Kanpur,Yk.Lakhnau],cost:3},{nodes:[Yk.Lakhnau,Yk.Varanasi],cost:7}],layout:"Portrait",viewBox:[1480,1100],mapPosition:[200,-60],adjustRatio:[1.25,1.25],resupply:[[[4,5,4],[5,6,4],[6,7,5],[7,8,6],[8,10,7]],[[1,2,2],[2,2,2],[2,3,3],[3,4,4],[4,5,5]],[[1,3,4],[1,3,4],[3,4,6],[4,5,7],[4,7,9]],[[1,1,1],[1,1,1],[1,2,1],[2,2,2],[2,3,2]]],startingResources:[24,21,20,3],startingSupply:[24,24,24,8],maxPriceAvailable:[3,5,8],coalPrices:[1,1,1,1,2,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,8,8],garbagePrices:[1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6],uraniumPrices:[1,2,3,4,5,6,7,8],setupDeck:function(e,n,t){var r,o,i=Object(Qw["cloneDeep"])(bk);if("original"==n){i=i.slice(8);var a=i.findIndex((function(e){return 13==e.number})),c=i.splice(a,1)[0],u=i.pop();i=uk(i,t()+""),2==e||3==e?i=i.slice(8):4==e&&(i=i.slice(4)),i.unshift(c),i.push(u),r=[j_(3,"India"),j_(4,"India"),j_(5,"India"),j_(6,"India")],o=[j_(7,"India"),j_(8,"India"),j_(9,"India"),j_(10,"India")]}else{var s=uk(i.splice(0,12),t()+""),l=s.splice(0,8);l=l.sort((function(e,n){return e.number-n.number})),r=l.slice(0,4),o=l.slice(4);var d=s.shift(),f=i.pop();i=uk(i,t()+""),2==e?(s=s.slice(1),i=uk(i.slice(5).concat(s),t()+"")):3==e?(s=s.slice(2),i=uk(i.slice(6).concat(s),t()+"")):4==e?(s=s.slice(1),i=uk(i.slice(3).concat(s),t()+"")):i=uk(i.concat(s),t()+""),i.unshift(d),i.push(f)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:i}},mapSpecificRules:"The power grid will suffer a power outage if the number of cities built in one round is more than twice the number of players — 9 or more cities in a 4-player game. Every player is then penalized $3 for each city they own, though income for the round never falls below $0.\nPlayers take turns buying one resource at a time. The resource market is limited by step: only resources costing $3 or less may be bought in step 1, $5 or less in step 2, and the whole market is open from step 3.\nGarbage plants are less efficient. Their cost is one higher, but their storage capacity is not changed.\nPlayers must power as many cities as possible in each round.",deckBuild:"power plant 11 is removed from the game; otherwise standard setup for both variants (original: plant 13 on top of the deck)."};(function(e){e["Brown"]="brown",e["Purple"]="purple",e["Red"]="red",e["Green"]="green",e["Yellow"]="yellow",e["Blue"]="blue"})(qk||(qk={})),function(e){e["Siracusa"]="Siracusa",e["Reggiodical"]="Reggio Di Cal",e["Cosenza"]="Cosenza",e["Messina"]="Messina",e["Palermo"]="Palermo",e["Catania"]="Catania",e["Brindisi"]="Brindisi",e["Taranto"]="Taranto",e["Bari"]="Bari",e["Foggia"]="Foggia",e["Pesara"]="Pesara",e["Napoli"]="Napoli",e["Salerno"]="Salerno",e["Roma"]="Roma",e["Ancona"]="Ancona",e["Rimini"]="Rimini",e["Ravenna"]="Ravenna",e["Sanmarino"]="San Marino",e["Perugia"]="Perugia",e["Frienze"]="Frienze",e["Udine"]="Udine",e["Trieste"]="Trieste",e["Bolanzo"]="Bolanzo",e["Mestre"]="Mestre",e["Venezia"]="Venezia",e["Vicenza"]="Vicenza",e["Padua"]="Padua",e["Ferrara"]="Ferrara",e["Bologna"]="Bologna",e["Modena"]="Modena",e["Reggio"]="Reggio",e["Pisa"]="Pisa",e["Parma"]="Parma",e["Laspezia"]="La Spezia",e["Torino"]="Torino",e["Bergamo"]="Bergamo",e["Milano"]="Milano",e["Brescia"]="Brescia",e["Picenza"]="Picenza",e["Genova"]="Genova",e["Verona"]="Verona",e["Lovorno"]="Lovorno"}(Xk||(Xk={}));var ex,nx,tx={name:"Italy",cities:[{name:Xk.Siracusa,region:qk.Brown,x:1048,y:471},{name:Xk.Reggiodical,region:qk.Brown,x:1013,y:346},{name:Xk.Cosenza,region:qk.Brown,x:960,y:240},{name:Xk.Messina,region:qk.Brown,x:975,y:365},{name:Xk.Palermo,region:qk.Brown,x:875,y:468},{name:Xk.Catania,region:qk.Brown,x:1007,y:460},{name:Xk.Brindisi,region:qk.Purple,x:945,y:4},{name:Xk.Taranto,region:qk.Brown,x:933,y:92},{name:Xk.Bari,region:qk.Purple,x:871,y:32},{name:Xk.Foggia,region:qk.Purple,x:777,y:69},{name:Xk.Pesara,region:qk.Purple,x:646,y:76},{name:Xk.Napoli,region:qk.Purple,x:747,y:222},{name:Xk.Salerno,region:qk.Purple,x:799,y:212},{name:Xk.Roma,region:qk.Purple,x:583,y:228},{name:Xk.Ancona,region:qk.Red,x:549,y:16},{name:Xk.Rimini,region:qk.Red,x:459,y:13},{name:Xk.Ravenna,region:qk.Red,x:401,y:-5},{name:Xk.Sanmarino,region:qk.Red,x:456,y:88},{name:Xk.Perugia,region:qk.Red,x:507,y:123},{name:Xk.Frienze,region:qk.Red,x:389,y:159},{name:Xk.Udine,region:qk.Green,x:358,y:-207},{name:Xk.Trieste,region:qk.Green,x:410,y:-181},{name:Xk.Bolanzo,region:qk.Green,x:197,y:-172},{name:Xk.Mestre,region:qk.Green,x:318,y:-115},{name:Xk.Venezia,region:qk.Green,x:349,y:-103},{name:Xk.Vicenza,region:qk.Green,x:235,y:-89},{name:Xk.Padua,region:qk.Green,x:279,y:-72},{name:Xk.Torino,region:qk.Blue,x:57,y:215},{name:Xk.Bergamo,region:qk.Blue,x:125,y:14},{name:Xk.Milano,region:qk.Blue,x:123,y:102},{name:Xk.Brescia,region:qk.Blue,x:182,y:2},{name:Xk.Picenza,region:qk.Blue,x:182,y:105},{name:Xk.Genova,region:qk.Blue,x:182,y:217},{name:Xk.Verona,region:qk.Blue,x:231,y:-13},{name:Xk.Lovorno,region:qk.Red,x:333,y:216},{name:Xk.Ferrara,region:qk.Yellow,x:333,y:-3},{name:Xk.Bologna,region:qk.Yellow,x:350,y:85},{name:Xk.Modena,region:qk.Yellow,x:303,y:72},{name:Xk.Reggio,region:qk.Yellow,x:263,y:96},{name:Xk.Pisa,region:qk.Yellow,x:304,y:197},{name:Xk.Parma,region:qk.Yellow,x:224,y:81},{name:Xk.Laspezia,region:qk.Yellow,x:245,y:206}],connections:[{nodes:[Xk.Palermo,Xk.Catania],cost:15},{nodes:[Xk.Catania,Xk.Siracusa],cost:3},{nodes:[Xk.Catania,Xk.Messina],cost:6},{nodes:[Xk.Messina,Xk.Palermo],cost:15},{nodes:[Xk.Messina,Xk.Reggiodical],cost:3},{nodes:[Xk.Reggiodical,Xk.Cosenza],cost:13},{nodes:[Xk.Cosenza,Xk.Salerno],cost:18},{nodes:[Xk.Cosenza,Xk.Taranto],cost:15},{nodes:[Xk.Taranto,Xk.Brindisi],cost:4},{nodes:[Xk.Brindisi,Xk.Bari],cost:7},{nodes:[Xk.Bari,Xk.Taranto],cost:7},{nodes:[Xk.Taranto,Xk.Salerno],cost:19},{nodes:[Xk.Salerno,Xk.Bari],cost:16},{nodes:[Xk.Bari,Xk.Foggia],cost:8},{nodes:[Xk.Foggia,Xk.Salerno],cost:10},{nodes:[Xk.Salerno,Xk.Napoli],cost:3},{nodes:[Xk.Napoli,Xk.Foggia],cost:12},{nodes:[Xk.Napoli,Xk.Roma],cost:14},{nodes:[Xk.Roma,Xk.Foggia],cost:22},{nodes:[Xk.Foggia,Xk.Pesara],cost:10},{nodes:[Xk.Pesara,Xk.Roma],cost:14},{nodes:[Xk.Roma,Xk.Ancona],cost:17},{nodes:[Xk.Roma,Xk.Perugia],cost:13},{nodes:[Xk.Perugia,Xk.Sanmarino],cost:12},{nodes:[Xk.Sanmarino,Xk.Rimini],cost:0},{nodes:[Xk.Rimini,Xk.Ancona],cost:6},{nodes:[Xk.Ancona,Xk.Perugia],cost:10},{nodes:[Xk.Ancona,Xk.Pesara],cost:9},{nodes:[Xk.Roma,Xk.Frienze],cost:20},{nodes:[Xk.Lovorno,Xk.Roma],cost:19},{nodes:[Xk.Frienze,Xk.Perugia],cost:13},{nodes:[Xk.Frienze,Xk.Sanmarino],cost:12},{nodes:[Xk.Genova,Xk.Torino],cost:12},{nodes:[Xk.Torino,Xk.Milano],cost:8},{nodes:[Xk.Milano,Xk.Bergamo],cost:3},{nodes:[Xk.Bergamo,Xk.Bolanzo],cost:12},{nodes:[Xk.Bolanzo,Xk.Brescia],cost:12},{nodes:[Xk.Bolanzo,Xk.Mestre],cost:12},{nodes:[Xk.Bolanzo,Xk.Udine],cost:14},{nodes:[Xk.Udine,Xk.Trieste],cost:4},{nodes:[Xk.Udine,Xk.Venezia],cost:7},{nodes:[Xk.Venezia,Xk.Mestre],cost:0},{nodes:[Xk.Genova,Xk.Laspezia],cost:5},{nodes:[Xk.Laspezia,Xk.Pisa],cost:5},{nodes:[Xk.Pisa,Xk.Lovorno],cost:0},{nodes:[Xk.Genova,Xk.Milano],cost:9},{nodes:[Xk.Milano,Xk.Picenza],cost:4},{nodes:[Xk.Picenza,Xk.Parma],cost:4},{nodes:[Xk.Parma,Xk.Reggio],cost:2},{nodes:[Xk.Reggio,Xk.Modena],cost:2},{nodes:[Xk.Modena,Xk.Bologna],cost:3},{nodes:[Xk.Bologna,Xk.Pisa],cost:12},{nodes:[Xk.Pisa,Xk.Reggio],cost:10},{nodes:[Xk.Laspezia,Xk.Parma],cost:9},{nodes:[Xk.Laspezia,Xk.Reggio],cost:9},{nodes:[Xk.Genova,Xk.Picenza],cost:7},{nodes:[Xk.Genova,Xk.Parma],cost:11},{nodes:[Xk.Milano,Xk.Brescia],cost:4},{nodes:[Xk.Brescia,Xk.Bergamo],cost:3},{nodes:[Xk.Brescia,Xk.Verona],cost:4},{nodes:[Xk.Brescia,Xk.Picenza],cost:5},{nodes:[Xk.Bolanzo,Xk.Vicenza],cost:10},{nodes:[Xk.Vicenza,Xk.Padua],cost:3},{nodes:[Xk.Vicenza,Xk.Verona],cost:3},{nodes:[Xk.Verona,Xk.Parma],cost:6},{nodes:[Xk.Parma,Xk.Brescia],cost:6},{nodes:[Xk.Verona,Xk.Padua],cost:5},{nodes:[Xk.Padua,Xk.Mestre],cost:3},{nodes:[Xk.Venezia,Xk.Ravenna],cost:12},{nodes:[Xk.Ravenna,Xk.Ferrara],cost:4},{nodes:[Xk.Ferrara,Xk.Venezia],cost:9},{nodes:[Xk.Ferrara,Xk.Padua],cost:7},{nodes:[Xk.Ferrara,Xk.Verona],cost:7},{nodes:[Xk.Verona,Xk.Modena],cost:8},{nodes:[Xk.Frienze,Xk.Pisa],cost:5},{nodes:[Xk.Frienze,Xk.Ravenna],cost:10},{nodes:[Xk.Ravenna,Xk.Rimini],cost:4},{nodes:[Xk.Frienze,Xk.Bologna],cost:8},{nodes:[Xk.Bologna,Xk.Ravenna],cost:4},{nodes:[Xk.Bologna,Xk.Ferrara],cost:3},{nodes:[Xk.Ferrara,Xk.Modena],cost:4}],mapPosition:[-20,320],mapSpecificRules:"Stop resupplying uranium after power plant 39 has been bought.",startingResources:[18,15,12,2]};(function(e){e["Brown"]="brown",e["Green"]="green",e["Purple"]="purple",e["Yellow"]="yellow",e["Red"]="red"})(ex||(ex={})),function(e){e["Asahikawa"]="Asahikawa",e["Sapporo"]="Sapporo",e["Hakodate"]="Hakodate",e["Admori"]="Admori",e["Morioka"]="Morioka",e["Akita"]="Akita",e["Sendai"]="Sendai",e["Niigata"]="Niigata",e["Koriyama"]="Koriyama",e["Nagano"]="Nagano",e["Saitama"]="Saitama",e["Tokyo"]="Tokyo",e["Chiba"]="Chiba",e["Yokohama"]="Yokohama",e["Kanazawa"]="Kanazawa",e["Toyama"]="Toyama",e["Kyoto"]="Kyoto",e["Osaka"]="Osaka",e["Nagoya"]="Nagoya",e["Kofu"]="Kofu",e["Hamamatsu"]="Hamamatsu",e["Kobe"]="Kobe",e["Matsue"]="Matsue",e["Okayama"]="Okayama",e["Takamatsu"]="Takamatsu",e["Kochi"]="Kochi",e["Matsuyama"]="Matsuyama",e["Hiroshima"]="Hiroshima",e["Shimonoseki"]="Shimonoseki",e["Oita"]="Oita",e["Miyazaki"]="Miyazaki",e["Kagoshima"]="Kagoshima",e["Kumamoto"]="Kumamoto",e["Fukuoka"]="Fukuoka",e["Nagasaki"]="Nagasaki"}(nx||(nx={}));var rx,ox,ix={name:"Japan",cities:[{name:nx.Asahikawa,region:ex.Brown,x:3384,y:1014},{name:nx.Sapporo,region:ex.Brown,x:3028,y:982,slotCosts:[10,10,20],stepSlots:[2,2,3]},{name:nx.Hakodate,region:ex.Brown,x:2622,y:1112},{name:nx.Admori,region:ex.Brown,x:3818,y:1336},{name:nx.Morioka,region:ex.Brown,x:3636,y:1646,slotCosts:[15,20],stepSlots:[0,1,2]},{name:nx.Akita,region:ex.Brown,x:3472,y:1480},{name:nx.Sendai,region:ex.Brown,x:3408,y:1886},{name:nx.Niigata,region:ex.Green,x:2874,y:1628},{name:nx.Koriyama,region:ex.Green,x:3086,y:1932,slotCosts:[10,15]},{name:nx.Nagano,region:ex.Green,x:2486,y:1722},{name:nx.Saitama,region:ex.Green,x:2450,y:1986,slotCosts:[15,20],stepSlots:[0,1,2]},{name:nx.Tokyo,region:ex.Green,x:2524,y:2122,slotCosts:[10,10,20],stepSlots:[2,2,3]},{name:nx.Chiba,region:ex.Green,x:2650,y:2316},{name:nx.Yokohama,region:ex.Green,x:2306,y:2244,slotCosts:[10,10,20],stepSlots:[2,2,3]},{name:nx.Kanazawa,region:ex.Purple,x:2207,y:1385},{name:nx.Toyama,region:ex.Purple,x:2257,y:1595,slotCosts:[15,20],stepSlots:[0,1,2]},{name:nx.Kyoto,region:ex.Purple,x:1765,y:1595},{name:nx.Osaka,region:ex.Purple,x:1517,y:1631,slotCosts:[10,10,20],stepSlots:[2,2,3]},{name:nx.Nagoya,region:ex.Purple,x:1942,y:1751},{name:nx.Kofu,region:ex.Purple,x:2179,y:1897},{name:nx.Hamamatsu,region:ex.Purple,x:1958,y:2024,slotCosts:[10,15]},{name:nx.Kobe,region:ex.Yellow,x:1555,y:1451,slotCosts:[10,10,20],stepSlots:[2,2,3]},{name:nx.Matsue,region:ex.Yellow,x:1457,y:1006,slotCosts:[15,20],stepSlots:[0,1,2]},{name:nx.Okayama,region:ex.Yellow,x:1390,y:1286},{name:nx.Takamatsu,region:ex.Yellow,x:1268,y:1507},{name:nx.Kochi,region:ex.Yellow,x:974,y:1472,slotCosts:[10,15]},{name:nx.Matsuyama,region:ex.Yellow,x:1036,y:1268},{name:nx.Hiroshima,region:ex.Yellow,x:1103,y:1078},{name:nx.Shimonoseki,region:ex.Red,x:856,y:962},{name:nx.Oita,region:ex.Red,x:731,y:1166,slotCosts:[10,15]},{name:nx.Miyazaki,region:ex.Red,x:469,y:1318,slotCosts:[15,20],stepSlots:[0,1,2]},{name:nx.Kagoshima,region:ex.Red,x:157,y:1255},{name:nx.Kumamoto,region:ex.Red,x:457,y:1045},{name:nx.Fukuoka,region:ex.Red,x:644,y:823,slotCosts:[10,10,20],stepSlots:[2,2,3]},{name:nx.Nagasaki,region:ex.Red,x:313,y:875}],layout:"Portrait",adjustRatio:[.28,.28],mapPosition:[0,120],resupply:[[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],startingResources:[21,15,9,3],startingCities:["Fukuoka","Kobe","Osaka","Sapporo","Tokyo","Yokohama"],mapSpecificRules:"Users may build 0, 1, 2 houses in round 1. The first house you place MUST be in one of the six special starting cities: Fukuoka, Kobe, Osaka, Sapporo, Tokyo, or Yokohama whether it be round 1 or after.\nYou get a free jump but that free jump can only go into one of these six starting cities (you still pay for the house, just no connection fee).\nAll of these six special starting cities are [10, 10, 20] meaning two players can go there in step 1 and these cities are marked with 10 on the map.\nIf you build 2 cities in round 1, you must use your free jump even though they might have 0 connection like Tokyo and Yokohama (system will auto use your free jump).\nIn Step 3, the third connection spots (cost 20) are opened in the starting cities and are available for normal or free jump.\nSome smaller cities have only two building spots (10 and 15, or 15 and 20). These cities are marked with an X. An X at the top means no Step 1 builds, an X at the bottom means no Step 3 builds.\nIf all starting city spots are taken, you cannot use your free jump.",connections:[{nodes:[nx.Nagasaki,nx.Fukuoka],cost:10},{nodes:[nx.Fukuoka,nx.Shimonoseki],cost:10},{nodes:[nx.Shimonoseki,nx.Hiroshima],cost:12},{nodes:[nx.Hiroshima,nx.Matsue],cost:13},{nodes:[nx.Kumamoto,nx.Kagoshima],cost:13},{nodes:[nx.Kagoshima,nx.Miyazaki],cost:8},{nodes:[nx.Miyazaki,nx.Kumamoto],cost:11},{nodes:[nx.Kumamoto,nx.Oita],cost:12},{nodes:[nx.Oita,nx.Miyazaki],cost:12},{nodes:[nx.Oita,nx.Matsuyama],cost:14},{nodes:[nx.Matsuyama,nx.Kochi],cost:7},{nodes:[nx.Kochi,nx.Takamatsu],cost:9},{nodes:[nx.Hiroshima,nx.Okayama],cost:11},{nodes:[nx.Okayama,nx.Matsue],cost:11},{nodes:[nx.Okayama,nx.Kobe],cost:9},{nodes:[nx.Kobe,nx.Matsue],cost:16},{nodes:[nx.Matsuyama,nx.Takamatsu],cost:10},{nodes:[nx.Takamatsu,nx.Okayama],cost:9},{nodes:[nx.Osaka,nx.Nagoya],cost:9},{nodes:[nx.Nagoya,nx.Kyoto],cost:9},{nodes:[nx.Kyoto,nx.Kobe],cost:3},{nodes:[nx.Osaka,nx.Kyoto],cost:0},{nodes:[nx.Kyoto,nx.Kanazawa],cost:19},{nodes:[nx.Kanazawa,nx.Toyama],cost:3},{nodes:[nx.Kanazawa,nx.Nagoya],cost:16},{nodes:[nx.Nagoya,nx.Toyama],cost:15},{nodes:[nx.Toyama,nx.Nagano],cost:9},{nodes:[nx.Nagano,nx.Niigata],cost:12},{nodes:[nx.Niigata,nx.Akita],cost:16},{nodes:[nx.Hamamatsu,nx.Kofu],cost:12},{nodes:[nx.Kofu,nx.Nagoya],cost:15},{nodes:[nx.Nagoya,nx.Hamamatsu],cost:6},{nodes:[nx.Kofu,nx.Saitama],cost:8},{nodes:[nx.Saitama,nx.Tokyo],cost:0},{nodes:[nx.Tokyo,nx.Yokohama],cost:0},{nodes:[nx.Tokyo,nx.Chiba],cost:4},{nodes:[nx.Chiba,nx.Sendai],cost:21},{nodes:[nx.Tokyo,nx.Koriyama],cost:14},{nodes:[nx.Koriyama,nx.Niigata],cost:11},{nodes:[nx.Saitama,nx.Nagano],cost:17},{nodes:[nx.Saitama,nx.Niigata],cost:21},{nodes:[nx.Koriyama,nx.Sendai],cost:7},{nodes:[nx.Sendai,nx.Akita],cost:14},{nodes:[nx.Akita,nx.Koriyama],cost:21},{nodes:[nx.Sendai,nx.Morioka],cost:10},{nodes:[nx.Morioka,nx.Akita],cost:7},{nodes:[nx.Akita,nx.Admori],cost:10},{nodes:[nx.Admori,nx.Morioka],cost:10},{nodes:[nx.Admori,nx.Hakodate],cost:15},{nodes:[nx.Hakodate,nx.Sapporo],cost:14},{nodes:[nx.Sapporo,nx.Asahikawa],cost:8},{nodes:[nx.Kumamoto,nx.Shimonoseki],cost:16},{nodes:[nx.Kumamoto,nx.Fukuoka],cost:8}]},ax=w({},ix);(function(e){e["Yellow"]="yellow",e["Red"]="red",e["Brown"]="brown",e["Green"]="green",e["Purple"]="purple",e["Pink"]="pink"})(rx||(rx={})),function(e){e["Gyeongju"]="Gyeongju",e["Ulsan"]="Ulsan",e["Busan"]="Busan",e["Jinju"]="Jinju",e["Daegu"]="Daegu",e["Andong"]="Andong",e["Sangju"]="Sangju",e["Rasun"]="Rasun",e["Cheongjin"]="Cheongjin",e["Gyeongseong"]="Gyeongseong",e["Seongjin"]="Seongjin",e["Hyesan"]="Hyesan",e["Hamheung"]="Hamheung",e["Wonsan"]="Wonsan",e["Samcheok"]="Samcheok",e["Donghae"]="Donghae",e["Taeraek"]="Taeraek",e["Gangneung"]="Gangneung",e["Sokcho"]="Sokcho",e["Wonju"]="Wonju",e["Chuncheon"]="Chuncheon",e["Chungju"]="Chungju",e["Cheongju"]="Cheongju",e["Jeju"]="Jeju",e["Gwangju"]="Gwangju",e["Naju"]="Naju",e["Jeonju"]="Jeonju",e["Daejeon"]="Daejeon",e["Yongin"]="Yongin",e["Seoul"]="Seoul",e["Suwon"]="Suwon",e["Goyang"]="Goyang",e["Anyang"]="Anyang",e["Incheon"]="Incheon",e["Gaesung"]="Gaesung",e["Ganggye"]="Ganggye",e["Haeju"]="Haeju",e["Pyeongyang"]="Pyeongyang",e["Hwangju"]="Hwangju",e["Nampo"]="Nampo",e["Anju"]="Anju",e["Sinuiju"]="Sinuiju"}(ox||(ox={}));var cx,ux={name:"Korea",cities:[{name:ox.Gyeongju,region:rx.Yellow,x:2161,y:2980},{name:ox.Ulsan,region:rx.Yellow,x:2185,y:3226},{name:ox.Busan,region:rx.Yellow,x:2041,y:3440},{name:ox.Jinju,region:rx.Yellow,x:1676,y:3431},{name:ox.Daegu,region:rx.Yellow,x:1876,y:3062},{name:ox.Andong,region:rx.Yellow,x:1987,y:2737},{name:ox.Sangju,region:rx.Yellow,x:1747,y:2827},{name:ox.Rasun,region:rx.Red,x:2485,y:361},{name:ox.Cheongjin,region:rx.Red,x:2309,y:491},{name:ox.Gyeongseong,region:rx.Red,x:2209,y:689},{name:ox.Seongjin,region:rx.Red,x:2060,y:1001},{name:ox.Hyesan,region:rx.Red,x:1783,y:665},{name:ox.Hamheung,region:rx.Red,x:1516,y:1283},{name:ox.Wonsan,region:rx.Red,x:1484,y:1600},{name:ox.Samcheok,region:rx.Brown,x:2171,y:2437},{name:ox.Donghae,region:rx.Brown,x:2041,y:2299},{name:ox.Taeraek,region:rx.Brown,x:1999,y:2528},{name:ox.Gangneung,region:rx.Brown,x:1949,y:2092},{name:ox.Sokcho,region:rx.Brown,x:1832,y:1915},{name:ox.Wonju,region:rx.Brown,x:1735,y:2293},{name:ox.Chuncheon,region:rx.Brown,x:1594,y:2056},{name:ox.Chungju,region:rx.Green,x:1744,y:2552},{name:ox.Cheongju,region:rx.Green,x:1547,y:2645},{name:ox.Jeju,region:rx.Green,x:1223,y:4051},{name:ox.Gwangju,region:rx.Green,x:1309,y:3380},{name:ox.Naju,region:rx.Green,x:1121,y:3569},{name:ox.Jeonju,region:rx.Green,x:1363,y:3109},{name:ox.Daejeon,region:rx.Green,x:1462,y:2839},{name:ox.Yongin,region:rx.Purple,x:1532,y:2371},{name:ox.Seoul,region:rx.Purple,x:1400,y:2203},{name:ox.Suwon,region:rx.Purple,x:1366,y:2488},{name:ox.Goyang,region:rx.Purple,x:1219,y:2270},{name:ox.Anyang,region:rx.Purple,x:1156,y:2446},{name:ox.Incheon,region:rx.Purple,x:1028,y:2311},{name:ox.Gaesung,region:rx.Purple,x:1171,y:2042},{name:ox.Ganggye,region:rx.Pink,x:1213,y:809},{name:ox.Haeju,region:rx.Pink,x:856,y:2135},{name:ox.Pyeongyang,region:rx.Pink,x:938,y:1642},{name:ox.Hwangju,region:rx.Pink,x:901,y:1886},{name:ox.Nampo,region:rx.Pink,x:677,y:1763},{name:ox.Anju,region:rx.Pink,x:812,y:1391},{name:ox.Sinuiju,region:rx.Pink,x:433,y:1105}],connections:[{nodes:[ox.Naju,ox.Jeju],cost:19},{nodes:[ox.Naju,ox.Jinju],cost:15},{nodes:[ox.Jinju,ox.Gwangju],cost:14},{nodes:[ox.Gwangju,ox.Naju],cost:2},{nodes:[ox.Gwangju,ox.Jeonju],cost:11},{nodes:[ox.Jeonju,ox.Jinju],cost:15},{nodes:[ox.Jinju,ox.Busan],cost:11},{nodes:[ox.Jinju,ox.Daegu],cost:11},{nodes:[ox.Daegu,ox.Jeonju],cost:16},{nodes:[ox.Daegu,ox.Busan],cost:12},{nodes:[ox.Busan,ox.Ulsan],cost:7},{nodes:[ox.Ulsan,ox.Daegu],cost:10},{nodes:[ox.Jeonju,ox.Daejeon],cost:9},{nodes:[ox.Daejeon,ox.Daegu],cost:15},{nodes:[ox.Andong,ox.Gyeongju],cost:11},{nodes:[ox.Gyeongju,ox.Daegu],cost:7},{nodes:[ox.Gyeongju,ox.Ulsan],cost:3},{nodes:[ox.Daegu,ox.Sangju],cost:9},{nodes:[ox.Sangju,ox.Daejeon],cost:8},{nodes:[ox.Daegu,ox.Andong],cost:10},{nodes:[ox.Andong,ox.Sangju],cost:6},{nodes:[ox.Andong,ox.Taeraek],cost:8},{nodes:[ox.Taeraek,ox.Samcheok],cost:5},{nodes:[ox.Samcheok,ox.Donghae],cost:0},{nodes:[ox.Donghae,ox.Gangneung],cost:4},{nodes:[ox.Chungju,ox.Taeraek],cost:13},{nodes:[ox.Andong,ox.Chungju],cost:11},{nodes:[ox.Chungju,ox.Cheongju],cost:7},{nodes:[ox.Cheongju,ox.Sangju],cost:8},{nodes:[ox.Sangju,ox.Chungju],cost:9},{nodes:[ox.Daejeon,ox.Cheongju],cost:4},{nodes:[ox.Wonju,ox.Donghae],cost:14},{nodes:[ox.Wonju,ox.Taeraek],cost:13},{nodes:[ox.Chungju,ox.Wonju],cost:5},{nodes:[ox.Wonju,ox.Gangneung],cost:12},{nodes:[ox.Wonju,ox.Sokcho],cost:15},{nodes:[ox.Sokcho,ox.Gangneung],cost:6},{nodes:[ox.Chuncheon,ox.Wonju],cost:7},{nodes:[ox.Sinuiju,ox.Ganggye],cost:25},{nodes:[ox.Ganggye,ox.Hyesan],cost:20},{nodes:[ox.Sinuiju,ox.Anju],cost:13},{nodes:[ox.Anju,ox.Ganggye],cost:22},{nodes:[ox.Ganggye,ox.Hamheung],cost:19},{nodes:[ox.Hamheung,ox.Anju],cost:20},{nodes:[ox.Anju,ox.Nampo],cost:10},{nodes:[ox.Anju,ox.Pyeongyang],cost:7},{nodes:[ox.Pyeongyang,ox.Nampo],cost:5},{nodes:[ox.Nampo,ox.Hwangju],cost:4},{nodes:[ox.Hwangju,ox.Pyeongyang],cost:4},{nodes:[ox.Pyeongyang,ox.Wonsan],cost:18},{nodes:[ox.Pyeongyang,ox.Hamheung],cost:23},{nodes:[ox.Hamheung,ox.Wonsan],cost:11},{nodes:[ox.Pyeongyang,ox.Gaesung],cost:14},{nodes:[ox.Gaesung,ox.Haeju],cost:8},{nodes:[ox.Haeju,ox.Hwangju],cost:8},{nodes:[ox.Gaesung,ox.Goyang],cost:7},{nodes:[ox.Anyang,ox.Suwon],cost:3},{nodes:[ox.Suwon,ox.Yongin],cost:2},{nodes:[ox.Goyang,ox.Incheon],cost:0},{nodes:[ox.Incheon,ox.Anyang],cost:0},{nodes:[ox.Goyang,ox.Seoul],cost:0},{nodes:[ox.Suwon,ox.Cheongju],cost:10},{nodes:[ox.Seoul,ox.Yongin],cost:2},{nodes:[ox.Gaesung,ox.Chuncheon],cost:13},{nodes:[ox.Gaesung,ox.Wonsan],cost:18},{nodes:[ox.Wonsan,ox.Sokcho],cost:18},{nodes:[ox.Wonsan,ox.Chuncheon],cost:19},{nodes:[ox.Sokcho,ox.Chuncheon],cost:10},{nodes:[ox.Chuncheon,ox.Seoul],cost:8},{nodes:[ox.Chuncheon,ox.Yongin],cost:9},{nodes:[ox.Yongin,ox.Wonju],cost:8},{nodes:[ox.Yongin,ox.Chungju],cost:10},{nodes:[ox.Yongin,ox.Cheongju],cost:10},{nodes:[ox.Rasun,ox.Cheongjin],cost:8},{nodes:[ox.Cheongjin,ox.Gyeongseong],cost:4},{nodes:[ox.Gyeongseong,ox.Seongjin],cost:16},{nodes:[ox.Hyesan,ox.Gyeongseong],cost:18},{nodes:[ox.Hyesan,ox.Seongjin],cost:14},{nodes:[ox.Seongjin,ox.Hamheung],cost:17},{nodes:[ox.Hamheung,ox.Hyesan],cost:23}],layout:"Portrait",adjustRatio:[.25,.25],mapPosition:[40,30],viewBox:[1480,1180],supplyPosition:[675,1040],resupply:[[[2,2,2],[2,3,2],[3,3,2],[3,4,3],[4,5,3]],[[1,1,3],[1,2,3],[2,3,3],[3,3,4],[3,4,4]],[[1,1,2],[1,1,2],[1,2,2],[2,2,3],[2,3,3]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],resupplyNorth:[[[1,2,1],[2,2,1],[2,3,2],[2,3,2],[3,4,3]],[[1,1,1],[1,1,1],[1,1,2],[1,2,2],[2,2,3]],[[0,1,1],[0,1,1],[1,1,2],[1,1,2],[1,2,3]]],startingResources:[12,12,4,2],startingResourcesNorth:[12,6,2],startingSupply:[24,24,24,12],coalPrices:[1,2,3,4,5,5,6,6,7,7,8,8],oilPrices:[1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8],garbagePrices:[1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8],uraniumPrices:[1,2,3,4,5,6,7,8,10,12,14,16],coalPricesNorth:[1,1,2,2,3,3,4,4,5,6,7,8],oilPricesNorth:[1,2,3,4,5,6,7,8],garbagePricesNorth:[1,2,3,4,5,6,7,8],mapSpecificRules:"Korea has two separate resource markets: North and South.\nOn your buying turn, choose one side — all resources you buy that turn must come from that side. The next turn you may choose the other side.\nThe North market has no uranium track; uranium is only available from the South.\nBoth markets share a single supply pool. During bureaucracy, North restocks first, then South from whatever remains."};(function(e){e["Manhattan"]="manhattan"})(cx||(cx={}));var sx,lx,dx=[{name:"M1",region:cx.Manhattan,connectionCost:5,slotCosts:[40],x:236,y:129},{name:"M2",region:cx.Manhattan,connectionCost:5,slotCosts:[40],x:294,y:132},{name:"M3",region:cx.Manhattan,connectionCost:5,slotCosts:[40],x:456,y:135},{name:"M4",region:cx.Manhattan,connectionCost:5,slotCosts:[40],x:529,y:137},{name:"M5",region:cx.Manhattan,connectionCost:5,slotCosts:[40],x:234,y:236},{name:"M6",region:cx.Manhattan,connectionCost:5,slotCosts:[35],x:292,y:236},{name:"M7",region:cx.Manhattan,connectionCost:5,slotCosts:[35],x:456,y:238},{name:"M8",region:cx.Manhattan,connectionCost:5,slotCosts:[40],x:532,y:239},{name:"M9",region:cx.Manhattan,connectionCost:5,slotCosts:[30],x:307,y:318},{name:"M10",region:cx.Manhattan,connectionCost:5,slotCosts:[35],x:235,y:340},{name:"M11",region:cx.Manhattan,connectionCost:5,slotCosts:[30],x:457,y:340},{name:"M12",region:cx.Manhattan,connectionCost:5,slotCosts:[35],x:529,y:344},{name:"M13",region:cx.Manhattan,connectionCost:5,slotCosts:[30],x:290,y:367},{name:"M14",region:cx.Manhattan,connectionCost:5,slotCosts:[35],x:241,y:420},{name:"M15",region:cx.Manhattan,connectionCost:5,slotCosts:[30],x:300,y:421},{name:"M16",region:cx.Manhattan,connectionCost:5,slotCosts:[25],x:389,y:422},{name:"M17",region:cx.Manhattan,connectionCost:5,slotCosts:[30],x:457,y:423},{name:"M18",region:cx.Manhattan,connectionCost:5,slotCosts:[35],x:523,y:423},{name:"M19",region:cx.Manhattan,connectionCost:5,slotCosts:[25],x:344,y:431},{name:"M20",region:cx.Manhattan,connectionCost:5,slotCosts:[35],x:243,y:480},{name:"M21",region:cx.Manhattan,connectionCost:5,slotCosts:[30],x:300,y:481},{name:"M22",region:cx.Manhattan,connectionCost:5,slotCosts:[25],x:348,y:482},{name:"M23",region:cx.Manhattan,connectionCost:5,slotCosts:[25],x:393,y:483},{name:"M24",region:cx.Manhattan,connectionCost:5,slotCosts:[30],x:455,y:484},{name:"M25",region:cx.Manhattan,connectionCost:5,slotCosts:[35],x:521,y:485},{name:"M26",region:cx.Manhattan,connectionCost:5,slotCosts:[30],x:240,y:539},{name:"M27",region:cx.Manhattan,connectionCost:5,slotCosts:[25],x:301,y:540},{name:"M28",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:353,y:541},{name:"M29",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:400,y:541},{name:"M30",region:cx.Manhattan,connectionCost:5,slotCosts:[25],x:456,y:542},{name:"M31",region:cx.Manhattan,connectionCost:5,slotCosts:[30],x:522,y:543},{name:"M32",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:405,y:588},{name:"M33",region:cx.Manhattan,connectionCost:5,slotCosts:[30],x:239,y:605},{name:"M34",region:cx.Manhattan,connectionCost:5,slotCosts:[25],x:303,y:605},{name:"M35",region:cx.Manhattan,connectionCost:5,slotCosts:[25],x:455,y:606},{name:"M36",region:cx.Manhattan,connectionCost:5,slotCosts:[25],x:528,y:607},{name:"M37",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:367,y:609},{name:"M38",region:cx.Manhattan,connectionCost:5,slotCosts:[25],x:289,y:680},{name:"M39",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:466,y:680},{name:"M40",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:512,y:680},{name:"M41",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:363,y:681},{name:"M42",region:cx.Manhattan,connectionCost:5,slotCosts:[25],x:571,y:681},{name:"M43",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:417,y:682},{name:"M44",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:427,y:740},{name:"M45",region:cx.Manhattan,connectionCost:5,slotCosts:[25],x:632,y:740},{name:"M46",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:505,y:741},{name:"M47",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:572,y:741},{name:"M48",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:378,y:745},{name:"M49",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:346,y:761},{name:"M50",region:cx.Manhattan,connectionCost:5,slotCosts:[25],x:312,y:775},{name:"M51",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:640,y:784},{name:"M52",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:571,y:787},{name:"M53",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:427,y:790},{name:"M54",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:514,y:790},{name:"M55",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:473,y:794},{name:"M56",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:646,y:821},{name:"M57",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:585,y:827},{name:"M58",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:430,y:832},{name:"M59",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:533,y:833},{name:"M60",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:482,y:834},{name:"M61",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:389,y:851},{name:"M62",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:350,y:852},{name:"M63",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:613,y:859},{name:"M64",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:673,y:860},{name:"M65",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:433,y:871},{name:"M66",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:571,y:873},{name:"M67",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:482,y:874},{name:"M68",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:534,y:885},{name:"M69",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:636,y:892},{name:"M70",region:cx.Manhattan,connectionCost:5,slotCosts:[20],x:371,y:895},{name:"M71",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:482,y:914},{name:"M72",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:593,y:915},{name:"M73",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:427,y:920},{name:"M74",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:389,y:934},{name:"M75",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:555,y:937},{name:"M76",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:466,y:950},{name:"M77",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:520,y:962},{name:"M78",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:379,y:983},{name:"M79",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:424,y:986},{name:"M80",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:484,y:993},{name:"M81",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:394,y:1038},{name:"M82",region:cx.Manhattan,connectionCost:5,slotCosts:[15],x:429,y:1041},{name:"M83",region:cx.Manhattan,connectionCost:5,slotCosts:[10],x:478,y:1041}],fx=[{nodes:["M1","M2"],cost:0},{nodes:["M1","M5"],cost:0},{nodes:["M2","M6"],cost:0},{nodes:["M3","M4"],cost:0},{nodes:["M3","M7"],cost:0},{nodes:["M4","M8"],cost:0},{nodes:["M5","M6"],cost:0},{nodes:["M5","M10"],cost:0},{nodes:["M6","M9"],cost:0},{nodes:["M7","M8"],cost:0},{nodes:["M7","M11"],cost:0},{nodes:["M8","M12"],cost:0},{nodes:["M9","M13"],cost:0},{nodes:["M10","M13"],cost:0},{nodes:["M10","M14"],cost:0},{nodes:["M11","M12"],cost:0},{nodes:["M11","M17"],cost:0},{nodes:["M12","M18"],cost:0},{nodes:["M13","M15"],cost:0},{nodes:["M14","M15"],cost:0},{nodes:["M14","M20"],cost:0},{nodes:["M15","M19"],cost:0},{nodes:["M15","M21"],cost:0},{nodes:["M16","M17"],cost:0},{nodes:["M16","M19"],cost:0},{nodes:["M16","M23"],cost:0},{nodes:["M17","M18"],cost:0},{nodes:["M17","M24"],cost:0},{nodes:["M18","M25"],cost:0},{nodes:["M19","M22"],cost:0},{nodes:["M20","M21"],cost:0},{nodes:["M20","M26"],cost:0},{nodes:["M21","M22"],cost:0},{nodes:["M21","M27"],cost:0},{nodes:["M22","M23"],cost:0},{nodes:["M22","M28"],cost:0},{nodes:["M23","M24"],cost:0},{nodes:["M23","M29"],cost:0},{nodes:["M24","M25"],cost:0},{nodes:["M24","M30"],cost:0},{nodes:["M25","M31"],cost:0},{nodes:["M26","M27"],cost:0},{nodes:["M26","M33"],cost:0},{nodes:["M27","M28"],cost:0},{nodes:["M27","M34"],cost:0},{nodes:["M28","M29"],cost:0},{nodes:["M28","M37"],cost:0},{nodes:["M29","M30"],cost:0},{nodes:["M29","M32"],cost:0},{nodes:["M30","M31"],cost:0},{nodes:["M30","M35"],cost:0},{nodes:["M31","M36"],cost:0},{nodes:["M32","M35"],cost:0},{nodes:["M32","M37"],cost:0},{nodes:["M33","M34"],cost:0},{nodes:["M33","M38"],cost:0},{nodes:["M34","M37"],cost:0},{nodes:["M34","M38"],cost:0},{nodes:["M35","M36"],cost:0},{nodes:["M35","M39"],cost:0},{nodes:["M36","M40"],cost:0},{nodes:["M36","M42"],cost:0},{nodes:["M37","M41"],cost:0},{nodes:["M37","M43"],cost:0},{nodes:["M38","M41"],cost:0},{nodes:["M38","M50"],cost:0},{nodes:["M39","M40"],cost:0},{nodes:["M39","M43"],cost:0},{nodes:["M39","M46"],cost:0},{nodes:["M40","M42"],cost:0},{nodes:["M40","M46"],cost:0},{nodes:["M41","M43"],cost:0},{nodes:["M41","M48"],cost:0},{nodes:["M41","M49"],cost:0},{nodes:["M42","M45"],cost:0},{nodes:["M42","M47"],cost:0},{nodes:["M43","M44"],cost:0},{nodes:["M44","M48"],cost:0},{nodes:["M44","M53"],cost:0},{nodes:["M44","M55"],cost:0},{nodes:["M45","M47"],cost:0},{nodes:["M45","M51"],cost:0},{nodes:["M46","M47"],cost:0},{nodes:["M46","M54"],cost:0},{nodes:["M46","M55"],cost:0},{nodes:["M47","M52"],cost:0},{nodes:["M48","M49"],cost:0},{nodes:["M48","M53"],cost:0},{nodes:["M48","M61"],cost:0},{nodes:["M49","M50"],cost:0},{nodes:["M49","M61"],cost:0},{nodes:["M50","M62"],cost:0},{nodes:["M51","M52"],cost:0},{nodes:["M51","M56"],cost:0},{nodes:["M52","M54"],cost:0},{nodes:["M52","M57"],cost:0},{nodes:["M52","M59"],cost:0},{nodes:["M53","M55"],cost:0},{nodes:["M53","M58"],cost:0},{nodes:["M54","M55"],cost:0},{nodes:["M54","M59"],cost:0},{nodes:["M55","M60"],cost:0},{nodes:["M56","M57"],cost:0},{nodes:["M56","M63"],cost:0},{nodes:["M56","M64"],cost:0},{nodes:["M57","M59"],cost:0},{nodes:["M57","M63"],cost:0},{nodes:["M57","M66"],cost:0},{nodes:["M58","M60"],cost:0},{nodes:["M58","M61"],cost:0},{nodes:["M58","M65"],cost:0},{nodes:["M59","M60"],cost:0},{nodes:["M59","M66"],cost:0},{nodes:["M59","M68"],cost:0},{nodes:["M60","M67"],cost:0},{nodes:["M61","M62"],cost:0},{nodes:["M61","M65"],cost:0},{nodes:["M61","M73"],cost:0},{nodes:["M62","M70"],cost:0},{nodes:["M63","M64"],cost:0},{nodes:["M63","M66"],cost:0},{nodes:["M63","M69"],cost:0},{nodes:["M64","M69"],cost:0},{nodes:["M65","M67"],cost:0},{nodes:["M65","M73"],cost:0},{nodes:["M66","M68"],cost:0},{nodes:["M66","M72"],cost:0},{nodes:["M67","M68"],cost:0},{nodes:["M67","M71"],cost:0},{nodes:["M68","M71"],cost:0},{nodes:["M68","M75"],cost:0},{nodes:["M69","M72"],cost:0},{nodes:["M70","M73"],cost:0},{nodes:["M70","M74"],cost:0},{nodes:["M71","M73"],cost:0},{nodes:["M71","M76"],cost:0},{nodes:["M72","M75"],cost:0},{nodes:["M73","M74"],cost:0},{nodes:["M73","M76"],cost:0},{nodes:["M73","M79"],cost:0},{nodes:["M74","M78"],cost:0},{nodes:["M74","M79"],cost:0},{nodes:["M75","M77"],cost:0},{nodes:["M76","M77"],cost:0},{nodes:["M76","M79"],cost:0},{nodes:["M76","M80"],cost:0},{nodes:["M77","M80"],cost:0},{nodes:["M78","M79"],cost:0},{nodes:["M78","M81"],cost:0},{nodes:["M79","M80"],cost:0},{nodes:["M79","M82"],cost:0},{nodes:["M80","M83"],cost:0},{nodes:["M81","M82"],cost:0},{nodes:["M82","M83"],cost:0}],px={name:"Manhattan",cities:dx,connections:fx,layout:"Portrait",adjustRatio:[1.15,1.15],mapPosition:[30,10],mapRotation:0,viewBox:[1480,1400],supplyPosition:[675,1240],resupply:[[[4,4,4],[4,4,4],[5,5,5],[6,6,6],[7,7,7]],[[3,3,3],[3,3,3],[4,4,4],[5,5,5],[6,6,6]],[[2,2,2],[2,2,2],[3,3,3],[4,4,4],[5,5,5]],[[1,1,1],[1,1,1],[2,2,2],[2,2,2],[3,3,3]]],startingResources:[18,18,9,4],startingSupply:[24,24,24,12],setupDeck:function(e,n,t){var r=new Set;e<=3&&(r.add(20),r.add(22),r.add(37));var o=Object(Qw["cloneDeep"])(yk).filter((function(e){return!r.has(e.number)}));o.pop();var i=uk(o.filter((function(e){return e.number<=15})),t()+""),a=uk(o.filter((function(e){return e.number>15})),t()+"");i.splice(0,4);var c=i.splice(0,8).sort((function(e,n){return e.number-n.number})),u=c.slice(0,4),s=c.slice(4),l=[].concat(P(i),P(a));return{actualMarket:u,futureMarket:s,powerPlantsDeck:l}},blockSpaces:function(e,n,t){if(e>=5)return[];for(var r={10:3,15:3,20:2,25:2,30:2,35:2},o=4===e?1:2,i=[],a=function(){var e=W(u[c],2),r=e[0],a=e[1],s=Number(r),l=a*o,d=uk(n.filter((function(e){return e.slotCosts&&e.slotCosts[0]===s})).map((function(e){return e.name})),t()+"");i.push.apply(i,P(d.slice(0,l)))},c=0,u=Object.entries(r);c<u.length;c++)a();return i},mapSpecificRules:"Single region, one house per space: every building space holds just one house at its printed building cost (10–40 Elektro). The game runs only in Step 1 until the end. Connections: your first house may be any empty space (pay only its building cost); a space directly adjacent to your network costs only its building cost; otherwise pay a flat 5 Elektro for each space you transit through (blocked spaces, or spaces you choose not to connect) plus the building cost of the target space. Uranium is used. With fewer players, some spaces are blocked at setup (4 players block 14 spaces; 2–3 players block 28). In the physical game the players mutually choose which spaces to block; here the system selects them automatically for your convenience. If you buy the discounted power plant you may purchase another power plant during the same phase. Power plant market: during each Bureaucracy phase the two highest plants of the future market are placed on a discard pile and the market is refilled to 8 from the deck. When the deck runs out for the first time, the discard pile is shuffled and becomes the new deck; from then on, each Bureaucracy phase the highest future-market plant is instead placed under the deck. When the deck runs out for the second time, every plant in the whole market becomes available for auction, and each Bureaucracy phase the lowest plant is removed from the game. If the market is completely empty, no more power plants can be bought. The game ends when a player has connected 18 spaces (17 for 3–4 players, 15 for 5, 14 for 6).\n",deckBuild:"at the start of the game, 4 random plug plants are removed. Of the other 9, 8 are in the starting market and 1 is on the top of the deck. The rest of the deck is random with no plug plants. The Step 3 card is removed from the game. For 2-3 players: also place power plants 20, 22, and 37 into the game box."};(function(e){e["Pink"]="pink",e["Green"]="green",e["Orange"]="orange",e["Yellow"]="yellow",e["Red"]="red",e["Brown"]="brown"})(sx||(sx={})),function(e){e["Mashhad"]="Mashhad",e["Corgan"]="Corgan",e["Tehran"]="Tehran",e["Tabriz"]="Tabriz",e["Mosul"]="Mosul",e["Kermanshah"]="Kermanshah",e["Baghdad"]="Baghdad",e["Isfahan"]="Isfahan",e["Yazo"]="Yazo",e["Zahedan"]="Zahedan",e["Kerman"]="Kerman",e["Shiraz"]="Shiraz",e["Bandarabbas"]="Bandar Abbas",e["Chabahar"]="Chabahar",e["Dubai"]="Dubai",e["Muscat"]="Muscat",e["Abudhari"]="Abu Dhari",e["Alain"]="Alain",e["Salalah"]="Salalah",e["Doha"]="Doha",e["Manama"]="Manama",e["Ahvaz"]="Ahvaz",e["Basra"]="Basra",e["Najaf"]="Najaf",e["Kuwaitcity"]="Kuwait City",e["Buraydah"]="Buraydah",e["Riyadh"]="Riyadh",e["Medina"]="Medina",e["Alhasahah"]="Al Hasahah",e["Aleppo"]="Aleppo",e["Damascus"]="Damascus",e["Amman"]="Amman",e["Beirut"]="Beirut",e["Jerusalem"]="Jerusalem",e["Aqaba"]="Aqaba",e["Mukalla"]="Mukalla",e["Sanaa"]="Sanaa",e["Aden"]="Aden",e["Alhudaydah"]="Al-Hudaydah",e["Abha"]="Abha",e["Mecca"]="Mecca",e["Jeddah"]="Jeddah"}(lx||(lx={}));var vx,hx,mx={name:"Middle East",cities:[{name:lx.Mashhad,region:sx.Pink,x:859,y:327},{name:lx.Corgan,region:sx.Pink,x:734,y:287},{name:lx.Tehran,region:sx.Pink,x:633,y:342},{name:lx.Tabriz,region:sx.Pink,x:450,y:251},{name:lx.Mosul,region:sx.Pink,x:352,y:307},{name:lx.Kermanshah,region:sx.Pink,x:503,y:391},{name:lx.Baghdad,region:sx.Pink,x:393,y:406},{name:lx.Isfahan,region:sx.Green,x:621,y:436},{name:lx.Yazo,region:sx.Green,x:720,y:472},{name:lx.Zahedan,region:sx.Green,x:896,y:547},{name:lx.Kerman,region:sx.Green,x:784,y:534},{name:lx.Shiraz,region:sx.Green,x:651,y:557},{name:lx.Bandarabbas,region:sx.Green,x:756,y:629},{name:lx.Chabahar,region:sx.Green,x:898,y:687},{name:lx.Dubai,region:sx.Orange,x:752,y:690},{name:lx.Muscat,region:sx.Orange,x:828,y:773},{name:lx.Abudhari,region:sx.Orange,x:692,y:747},{name:lx.Alain,region:sx.Orange,x:715,y:812},{name:lx.Salalah,region:sx.Orange,x:694,y:981},{name:lx.Doha,region:sx.Orange,x:596,y:713},{name:lx.Manama,region:sx.Orange,x:532,y:652},{name:lx.Ahvaz,region:sx.Yellow,x:555,y:499},{name:lx.Basra,region:sx.Yellow,x:452,y:519},{name:lx.Najaf,region:sx.Yellow,x:356,y:478},{name:lx.Kuwaitcity,region:sx.Yellow,x:500,y:580},{name:lx.Buraydah,region:sx.Yellow,x:360,y:674},{name:lx.Riyadh,region:sx.Yellow,x:443,y:741},{name:lx.Medina,region:sx.Yellow,x:264,y:738},{name:lx.Alhasahah,region:sx.Red,x:248,y:300},{name:lx.Aleppo,region:sx.Red,x:132,y:315},{name:lx.Damascus,region:sx.Red,x:186,y:433},{name:lx.Amman,region:sx.Red,x:171,y:493},{name:lx.Beirut,region:sx.Red,x:94,y:401},{name:lx.Jerusalem,region:sx.Red,x:76,y:481},{name:lx.Aqaba,region:sx.Red,x:103,y:563},{name:lx.Mukalla,region:sx.Brown,x:555,y:1059},{name:lx.Sanaa,region:sx.Brown,x:426,y:1018},{name:lx.Aden,region:sx.Brown,x:431,y:1105},{name:lx.Alhudaydah,region:sx.Brown,x:317,y:1057},{name:lx.Abha,region:sx.Brown,x:306,y:938},{name:lx.Mecca,region:sx.Brown,x:280,y:850},{name:lx.Jeddah,region:sx.Brown,x:190,y:800}],connections:[{nodes:[lx.Tabriz,lx.Tehran],cost:13},{nodes:[lx.Tehran,lx.Corgan],cost:9},{nodes:[lx.Corgan,lx.Mashhad],cost:12},{nodes:[lx.Mashhad,lx.Zahedan],cost:20},{nodes:[lx.Zahedan,lx.Kerman],cost:10},{nodes:[lx.Kerman,lx.Yazo],cost:7},{nodes:[lx.Yazo,lx.Mashhad],cost:18},{nodes:[lx.Mashhad,lx.Tehran],cost:19},{nodes:[lx.Tehran,lx.Yazo],cost:12},{nodes:[lx.Yazo,lx.Shiraz],cost:9},{nodes:[lx.Shiraz,lx.Kerman],cost:11},{nodes:[lx.Yazo,lx.Isfahan],cost:7},{nodes:[lx.Isfahan,lx.Shiraz],cost:10},{nodes:[lx.Isfahan,lx.Tehran],cost:9},{nodes:[lx.Tehran,lx.Kermanshah],cost:13},{nodes:[lx.Kermanshah,lx.Isfahan],cost:13},{nodes:[lx.Isfahan,lx.Ahvaz],cost:11},{nodes:[lx.Ahvaz,lx.Shiraz],cost:11},{nodes:[lx.Ahvaz,lx.Kermanshah],cost:11},{nodes:[lx.Kermanshah,lx.Tabriz],cost:13},{nodes:[lx.Tabriz,lx.Mosul],cost:13},{nodes:[lx.Mosul,lx.Baghdad],cost:8},{nodes:[lx.Baghdad,lx.Kermanshah],cost:8},{nodes:[lx.Basra,lx.Ahvaz],cost:3},{nodes:[lx.Ahvaz,lx.Kuwaitcity],cost:7},{nodes:[lx.Kuwaitcity,lx.Basra],cost:5},{nodes:[lx.Basra,lx.Najaf],cost:10},{nodes:[lx.Najaf,lx.Baghdad],cost:4},{nodes:[lx.Baghdad,lx.Basra],cost:12},{nodes:[lx.Alhasahah,lx.Mosul],cost:4},{nodes:[lx.Alhasahah,lx.Baghdad],cost:11},{nodes:[lx.Baghdad,lx.Damascus],cost:16},{nodes:[lx.Damascus,lx.Najaf],cost:15},{nodes:[lx.Alhasahah,lx.Damascus],cost:14},{nodes:[lx.Damascus,lx.Amman],cost:4},{nodes:[lx.Amman,lx.Aqaba],cost:7},{nodes:[lx.Aqaba,lx.Jerusalem],cost:6},{nodes:[lx.Jerusalem,lx.Amman],cost:3},{nodes:[lx.Jerusalem,lx.Beirut],cost:6},{nodes:[lx.Beirut,lx.Damascus],cost:4},{nodes:[lx.Damascus,lx.Aleppo],cost:8},{nodes:[lx.Aleppo,lx.Beirut],cost:9},{nodes:[lx.Aleppo,lx.Alhasahah],cost:7},{nodes:[lx.Baghdad,lx.Tabriz],cost:18},{nodes:[lx.Zahedan,lx.Chabahar],cost:13},{nodes:[lx.Zahedan,lx.Bandarabbas],cost:14},{nodes:[lx.Bandarabbas,lx.Kerman],cost:13},{nodes:[lx.Shiraz,lx.Bandarabbas],cost:14},{nodes:[lx.Bandarabbas,lx.Chabahar],cost:15},{nodes:[lx.Kuwaitcity,lx.Manama],cost:12},{nodes:[lx.Manama,lx.Doha],cost:6},{nodes:[lx.Doha,lx.Abudhari],cost:9},{nodes:[lx.Abudhari,lx.Dubai],cost:2},{nodes:[lx.Dubai,lx.Muscat],cost:9},{nodes:[lx.Muscat,lx.Alain],cost:7},{nodes:[lx.Alain,lx.Abudhari],cost:3},{nodes:[lx.Alain,lx.Dubai],cost:3},{nodes:[lx.Riyadh,lx.Alain],cost:23},{nodes:[lx.Doha,lx.Riyadh],cost:12},{nodes:[lx.Riyadh,lx.Manama],cost:10},{nodes:[lx.Riyadh,lx.Kuwaitcity],cost:12},{nodes:[lx.Kuwaitcity,lx.Buraydah],cost:12},{nodes:[lx.Buraydah,lx.Riyadh],cost:7},{nodes:[lx.Buraydah,lx.Medina],cost:10},{nodes:[lx.Medina,lx.Riyadh],cost:15},{nodes:[lx.Buraydah,lx.Najaf],cost:14},{nodes:[lx.Aqaba,lx.Jeddah],cost:23},{nodes:[lx.Aqaba,lx.Medina],cost:17},{nodes:[lx.Medina,lx.Jeddah],cost:7},{nodes:[lx.Jeddah,lx.Mecca],cost:1},{nodes:[lx.Mecca,lx.Medina],cost:7},{nodes:[lx.Mecca,lx.Riyadh],cost:17},{nodes:[lx.Riyadh,lx.Abha],cost:19},{nodes:[lx.Abha,lx.Mecca],cost:12},{nodes:[lx.Salalah,lx.Muscat],cost:21},{nodes:[lx.Alain,lx.Salalah],cost:18},{nodes:[lx.Salalah,lx.Mukalla],cost:15},{nodes:[lx.Salalah,lx.Sanaa],cost:25},{nodes:[lx.Sanaa,lx.Mukalla],cost:14},{nodes:[lx.Mukalla,lx.Aden],cost:13},{nodes:[lx.Aden,lx.Alhudaydah],cost:9},{nodes:[lx.Alhudaydah,lx.Abha],cost:10},{nodes:[lx.Abha,lx.Sanaa],cost:11},{nodes:[lx.Sanaa,lx.Alhudaydah],cost:5}],layout:"Portrait",mapPosition:[0,-100],resupply:[[[2,1,1],[2,1,1],[3,2,2],[4,3,2],[5,4,3]],[[5,3,2],[5,3,2],[6,3,2],[8,4,3],[9,5,4]],[[1,3,4],[1,3,4],[1,4,6],[1,4,8],[1,6,9]],[[0,2,2],[0,2,2],[0,3,3],[0,3,4],[0,4,5]]],startingResources:[21,21,3,3],startingSupply:[24,24,21,11],mapSpecificRules:"Only coal and oil can be bought for $1, and any number of oil can restock at $1.\nDuring step 1, garbage and uranium plants will be removed from the current market.\nStep 2 will be triggered after going through the deck once rather than by a specific number of cities.\nStep 3 will be triggered after going through the deck a second time."};(function(e){e["Pink"]="pink",e["Brown"]="brown",e["Orange"]="orange",e["Green"]="green",e["Blue"]="blue",e["Yellow"]="yellow",e["Red"]="red"})(vx||(vx={})),function(e){e["Edmonton"]="Edmonton",e["Calgary"]="Calgary",e["Vancouver"]="Vancouver",e["Seattle"]="Seattle",e["Regina"]="Regina",e["Winnipeg"]="Winnipeg",e["Minneapolis"]="Minneapolis",e["Portland"]="Portland",e["SanFrancisco"]="San Francisco",e["LosAngeles"]="Los Angeles",e["SanDiego"]="San Diego",e["SaltLakeCity"]="Salt Lake City",e["LasVegas"]="Las Vegas",e["Denver"]="Denver",e["Albuquerque"]="Albuquerque",e["Juarez"]="Juarez",e["Chihuahua"]="Chihuahua",e["Monterrey"]="Monterrey",e["Guadalajara"]="Guadalajara",e["MexicoCityN"]="Mexico City N",e["MexicoCityS"]="Mexico City S",e["SanAntonio"]="San Antonio",e["DallasFortWorth"]="Dallas-Fort Worth",e["Houston"]="Houston",e["NewOrleans"]="New Orleans",e["Atlanta"]="Atlanta",e["Jacksonville"]="Jacksonville",e["Miami"]="Miami",e["Milwaukee"]="Milwaukee",e["Chicago"]="Chicago",e["KansasCity"]="Kansas City",e["StLouis"]="St. Louis",e["Indianapolis"]="Indianapolis",e["OklahomaCity"]="Oklahoma City",e["Memphis"]="Memphis",e["Toronto"]="Toronto",e["Detroit"]="Detroit",e["Pittsburgh"]="Pittsburgh",e["Columbus"]="Columbus",e["Nashville"]="Nashville",e["Washington"]="Washington",e["Charlotte"]="Charlotte",e["Quebec"]="Quebec",e["Ottawa"]="Ottawa",e["Montreal"]="Montreal",e["NewYorkN"]="New York N",e["NewYorkS"]="New York S",e["Boston"]="Boston",e["Philadelphia"]="Philadelphia"}(hx||(hx={}));var gx,yx,bx,wx={name:"North America",cities:[{name:hx.Edmonton,region:vx.Pink,x:325,y:71},{name:hx.Calgary,region:vx.Pink,x:250,y:190},{name:hx.Vancouver,region:vx.Pink,x:114,y:266},{name:hx.Seattle,region:vx.Pink,x:100,y:387},{name:hx.Regina,region:vx.Pink,x:536,y:277},{name:hx.Winnipeg,region:vx.Pink,x:830,y:272},{name:hx.Minneapolis,region:vx.Pink,x:907,y:486},{name:hx.Portland,region:vx.Brown,x:122,y:516},{name:hx.SanFrancisco,region:vx.Brown,x:123,y:697},{name:hx.LosAngeles,region:vx.Brown,x:160,y:911},{name:hx.SanDiego,region:vx.Brown,x:223,y:1007},{name:hx.SaltLakeCity,region:vx.Brown,x:380,y:555},{name:hx.LasVegas,region:vx.Brown,x:322,y:760},{name:hx.Denver,region:vx.Brown,x:569,y:694},{name:hx.Albuquerque,region:vx.Orange,x:539,y:941},{name:hx.Juarez,region:vx.Orange,x:558,y:1043},{name:hx.Chihuahua,region:vx.Orange,x:577,y:1183},{name:hx.Monterrey,region:vx.Orange,x:791,y:1292},{name:hx.Guadalajara,region:vx.Orange,x:715,y:1391},{name:hx.MexicoCityN,region:vx.Orange,x:913,y:1335},{name:hx.MexicoCityS,region:vx.Orange,x:913,y:1425},{name:hx.SanAntonio,region:vx.Green,x:767,y:1172},{name:hx.DallasFortWorth,region:vx.Green,x:850,y:1020},{name:hx.Houston,region:vx.Green,x:940,y:1145},{name:hx.NewOrleans,region:vx.Green,x:1126,y:1095},{name:hx.Atlanta,region:vx.Green,x:1318,y:1021},{name:hx.Jacksonville,region:vx.Green,x:1398,y:1109},{name:hx.Miami,region:vx.Green,x:1398,y:1235},{name:hx.Milwaukee,region:vx.Blue,x:1206,y:414},{name:hx.Chicago,region:vx.Blue,x:1121,y:531},{name:hx.KansasCity,region:vx.Blue,x:825,y:720},{name:hx.StLouis,region:vx.Blue,x:1047,y:768},{name:hx.Indianapolis,region:vx.Blue,x:1206,y:694},{name:hx.OklahomaCity,region:vx.Blue,x:800,y:870},{name:hx.Memphis,region:vx.Blue,x:1099,y:938},{name:hx.Toronto,region:vx.Yellow,x:1488,y:513},{name:hx.Detroit,region:vx.Yellow,x:1390,y:590},{name:hx.Pittsburgh,region:vx.Yellow,x:1524,y:659},{name:hx.Columbus,region:vx.Yellow,x:1398,y:733},{name:hx.Nashville,region:vx.Yellow,x:1233,y:826},{name:hx.Washington,region:vx.Yellow,x:1554,y:829},{name:hx.Charlotte,region:vx.Yellow,x:1480,y:965},{name:hx.Quebec,region:vx.Red,x:1911,y:354},{name:hx.Ottawa,region:vx.Red,x:1653,y:458},{name:hx.Montreal,region:vx.Red,x:1875,y:461},{name:hx.NewYorkN,region:vx.Red,x:1727,y:561},{name:hx.NewYorkS,region:vx.Red,x:1727,y:637},{name:hx.Boston,region:vx.Red,x:1928,y:579},{name:hx.Philadelphia,region:vx.Red,x:1724,y:755}],connections:[{nodes:[hx.Edmonton,hx.Calgary],cost:5},{nodes:[hx.Calgary,hx.Vancouver],cost:16},{nodes:[hx.Vancouver,hx.Seattle],cost:4},{nodes:[hx.Edmonton,hx.Regina],cost:15},{nodes:[hx.Calgary,hx.Regina],cost:14},{nodes:[hx.Vancouver,hx.Regina],cost:28},{nodes:[hx.Regina,hx.Winnipeg],cost:11},{nodes:[hx.Winnipeg,hx.Minneapolis],cost:13},{nodes:[hx.Seattle,hx.Portland],cost:5},{nodes:[hx.Regina,hx.SaltLakeCity],cost:29},{nodes:[hx.Regina,hx.Denver],cost:24},{nodes:[hx.Winnipeg,hx.Denver],cost:26},{nodes:[hx.Minneapolis,hx.Denver],cost:23},{nodes:[hx.Portland,hx.SanFrancisco],cost:20},{nodes:[hx.SanFrancisco,hx.LosAngeles],cost:12},{nodes:[hx.LosAngeles,hx.SanDiego],cost:3},{nodes:[hx.Portland,hx.SaltLakeCity],cost:22},{nodes:[hx.SanFrancisco,hx.SaltLakeCity],cost:22},{nodes:[hx.SanFrancisco,hx.LasVegas],cost:16},{nodes:[hx.SaltLakeCity,hx.LasVegas],cost:14},{nodes:[hx.LasVegas,hx.LosAngeles],cost:8},{nodes:[hx.SaltLakeCity,hx.Denver],cost:14},{nodes:[hx.LasVegas,hx.Denver],cost:25},{nodes:[hx.LosAngeles,hx.Albuquerque],cost:25},{nodes:[hx.LasVegas,hx.Albuquerque],cost:18},{nodes:[hx.Denver,hx.Albuquerque],cost:12},{nodes:[hx.SanDiego,hx.Juarez],cost:22},{nodes:[hx.Albuquerque,hx.Juarez],cost:9},{nodes:[hx.Juarez,hx.Chihuahua],cost:8},{nodes:[hx.Chihuahua,hx.Monterrey],cost:14},{nodes:[hx.Chihuahua,hx.Guadalajara],cost:23},{nodes:[hx.Monterrey,hx.Guadalajara],cost:16},{nodes:[hx.Monterrey,hx.MexicoCityS],cost:17},{nodes:[hx.Guadalajara,hx.MexicoCityS],cost:10},{nodes:[hx.MexicoCityN,hx.MexicoCityS],cost:0},{nodes:[hx.Albuquerque,hx.OklahomaCity],cost:18},{nodes:[hx.Juarez,hx.DallasFortWorth],cost:19},{nodes:[hx.Juarez,hx.SanAntonio],cost:18},{nodes:[hx.Chihuahua,hx.SanAntonio],cost:16},{nodes:[hx.Monterrey,hx.SanAntonio],cost:10},{nodes:[hx.Milwaukee,hx.Chicago],cost:3},{nodes:[hx.Chicago,hx.KansasCity],cost:16},{nodes:[hx.Chicago,hx.StLouis],cost:9},{nodes:[hx.Chicago,hx.Indianapolis],cost:6},{nodes:[hx.KansasCity,hx.StLouis],cost:8},{nodes:[hx.StLouis,hx.Indianapolis],cost:8},{nodes:[hx.KansasCity,hx.OklahomaCity],cost:10},{nodes:[hx.KansasCity,hx.Memphis],cost:14},{nodes:[hx.StLouis,hx.Memphis],cost:9},{nodes:[hx.OklahomaCity,hx.Memphis],cost:15},{nodes:[hx.Milwaukee,hx.Minneapolis],cost:10},{nodes:[hx.KansasCity,hx.Minneapolis],cost:14},{nodes:[hx.KansasCity,hx.Denver],cost:19},{nodes:[hx.OklahomaCity,hx.Denver],cost:17},{nodes:[hx.OklahomaCity,hx.DallasFortWorth],cost:7},{nodes:[hx.Memphis,hx.DallasFortWorth],cost:15},{nodes:[hx.Memphis,hx.NewOrleans],cost:14},{nodes:[hx.Memphis,hx.Atlanta],cost:12},{nodes:[hx.DallasFortWorth,hx.SanAntonio],cost:9},{nodes:[hx.DallasFortWorth,hx.Houston],cost:8},{nodes:[hx.DallasFortWorth,hx.NewOrleans],cost:16},{nodes:[hx.SanAntonio,hx.Houston],cost:6},{nodes:[hx.Houston,hx.NewOrleans],cost:12},{nodes:[hx.NewOrleans,hx.Atlanta],cost:16},{nodes:[hx.NewOrleans,hx.Jacksonville],cost:20},{nodes:[hx.Atlanta,hx.Jacksonville],cost:10},{nodes:[hx.Jacksonville,hx.Miami],cost:12},{nodes:[hx.Atlanta,hx.Nashville],cost:9},{nodes:[hx.Atlanta,hx.Charlotte],cost:8},{nodes:[hx.Jacksonville,hx.Charlotte],cost:12},{nodes:[hx.Toronto,hx.Detroit],cost:8},{nodes:[hx.Toronto,hx.Pittsburgh],cost:11},{nodes:[hx.Detroit,hx.Columbus],cost:7},{nodes:[hx.Columbus,hx.Pittsburgh],cost:6},{nodes:[hx.Nashville,hx.Columbus],cost:15},{nodes:[hx.Nashville,hx.Washington],cost:22},{nodes:[hx.Nashville,hx.Charlotte],cost:12},{nodes:[hx.Columbus,hx.Washington],cost:12},{nodes:[hx.Washington,hx.Pittsburgh],cost:7},{nodes:[hx.Washington,hx.Charlotte],cost:12},{nodes:[hx.Detroit,hx.Chicago],cost:10},{nodes:[hx.Columbus,hx.Chicago],cost:10},{nodes:[hx.Columbus,hx.Indianapolis],cost:7},{nodes:[hx.Nashville,hx.Indianapolis],cost:9},{nodes:[hx.Nashville,hx.StLouis],cost:9},{nodes:[hx.Nashville,hx.Memphis],cost:7},{nodes:[hx.Toronto,hx.Ottawa],cost:8},{nodes:[hx.Toronto,hx.NewYorkS],cost:14},{nodes:[hx.Pittsburgh,hx.NewYorkS],cost:11},{nodes:[hx.Pittsburgh,hx.Philadelphia],cost:9},{nodes:[hx.Washington,hx.Philadelphia],cost:5},{nodes:[hx.Quebec,hx.Montreal],cost:5},{nodes:[hx.Montreal,hx.Boston],cost:9},{nodes:[hx.Ottawa,hx.Montreal],cost:3},{nodes:[hx.Ottawa,hx.NewYorkS],cost:13},{nodes:[hx.Montreal,hx.NewYorkS],cost:12},{nodes:[hx.NewYorkS,hx.Boston],cost:7},{nodes:[hx.NewYorkS,hx.Philadelphia],cost:3},{nodes:[hx.NewYorkN,hx.NewYorkS],cost:0}],layout:"Landscape",adjustRatio:[.5,.38],mapPosition:[70,50],mapRotation:-2,resupply:[[[2,5,2],[2,5,2],[3,6,3],[4,7,4],[5,8,5]],[[3,1,3],[3,1,3],[3,2,4],[4,2,5],[5,3,6]],[[2,2,4],[2,2,4],[3,3,5],[3,3,6],[4,4,7]],[[2,1,2],[2,1,2],[2,1,2],[3,2,3],[3,2,4]]],coalPrices:[1,1,1,1,2,2,2,2,3,3,3,3,4,4,5,5,6,6,7,7,8,8,9,9],oilPrices:[1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,9,9],garbagePrices:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8],uraniumPrices:[1,2,3,4,5,6,7,7,8,8,9,9],startingResources:[20,14,18,2],startingSupply:[24,24,24,12]};(function(e){e["Brown"]="brown",e["Yellow"]="yellow",e["Pink"]="pink",e["Purple"]="purple",e["Orange"]="orange",e["Red"]="red"})(yx||(yx={})),function(e){e["Oulu"]="Oulu",e["Kuopid"]="Kuopid",e["Tampere"]="Tampere",e["Helsinki"]="Helsinki",e["Espoo"]="Espoo",e["Pori"]="Pori",e["Turku"]="Turku",e["Uppsala"]="Uppsala",e["Stockholm"]="Stockholm",e["Vasteras"]="Vasteras",e["Drebro"]="Drebro",e["Sundsvall"]="Sundsvall",e["Lulea"]="Lulea",e["Ostersund"]="Ostersund",e["Tallinn"]="Tallinn",e["Tartu"]="Tartu",e["Daugavpils"]="Daugavpils",e["Vilnius"]="Vilnius",e["Kaunas"]="Kaunas",e["Riga"]="Riga",e["Klaipeda"]="Klaipeda",e["Karlstad"]="Karlstad",e["Linkopinc"]="Linkopinc",e["Jonkoping"]="Jonkoping",e["Visby"]="Visby",e["Kristianstad"]="Kristianstad",e["Malmo"]="Malmo",e["Goteborg"]="Goteborg",e["Aalborg"]="Aalborg",e["Aarhus"]="Aarhus",e["Kobenhavn"]="Kobenhavn",e["Nykobingfalster"]="Nykobing Falster",e["Ringkobing"]="Ringkobing",e["Esbjerg"]="Esbjerg",e["Odense"]="Odense",e["Tromso"]="Tromso",e["Bood"]="Bood",e["Trondheim"]="Trondheim",e["Oslo"]="Oslo",e["Arendal"]="Arendal",e["Bergen"]="Bergen",e["Stavanger"]="Stavanger"}(bx||(bx={}));var kx,xx,_x={name:"Northern Europe",noUraniumRegions:[yx.Red,yx.Orange],cities:[{name:bx.Oulu,region:yx.Brown,x:514,y:376},{name:bx.Kuopid,region:yx.Brown,x:551,y:474},{name:bx.Tampere,region:yx.Brown,x:492,y:544},{name:bx.Helsinki,region:yx.Brown,x:530,y:602},{name:bx.Espoo,region:yx.Brown,x:457,y:603},{name:bx.Pori,region:yx.Brown,x:400,y:526},{name:bx.Turku,region:yx.Brown,x:409,y:593},{name:bx.Uppsala,region:yx.Yellow,x:350,y:585},{name:bx.Stockholm,region:yx.Yellow,x:380,y:660},{name:bx.Vasteras,region:yx.Yellow,x:295,y:576},{name:bx.Drebro,region:yx.Yellow,x:295,y:628},{name:bx.Sundsvall,region:yx.Yellow,x:332,y:506},{name:bx.Lulea,region:yx.Yellow,x:423,y:345},{name:bx.Ostersund,region:yx.Yellow,x:272,y:462},{name:bx.Tallinn,region:yx.Pink,x:475,y:656},{name:bx.Tartu,region:yx.Pink,x:544,y:689},{name:bx.Daugavpils,region:yx.Pink,x:547,y:771},{name:bx.Vilnius,region:yx.Pink,x:520,y:819},{name:bx.Kaunas,region:yx.Pink,x:458,y:811},{name:bx.Riga,region:yx.Pink,x:472,y:734},{name:bx.Klaipeda,region:yx.Pink,x:411,y:784},{name:bx.Karlstad,region:yx.Purple,x:246,y:629},{name:bx.Linkopinc,region:yx.Purple,x:309,y:676},{name:bx.Jonkoping,region:yx.Purple,x:285,y:712},{name:bx.Visby,region:yx.Purple,x:364,y:717},{name:bx.Kristianstad,region:yx.Purple,x:330,y:750},{name:bx.Malmo,region:yx.Purple,x:287,y:787},{name:bx.Goteborg,region:yx.Purple,x:231,y:700},{name:bx.Aalborg,region:yx.Orange,x:177,y:717},{name:bx.Aarhus,region:yx.Orange,x:195,y:758},{name:bx.Kobenhavn,region:yx.Orange,x:228,y:792},{name:bx.Nykobingfalster,region:yx.Orange,x:238,y:842},{name:bx.Ringkobing,region:yx.Orange,x:120,y:733},{name:bx.Esbjerg,region:yx.Orange,x:104,y:787},{name:bx.Odense,region:yx.Orange,x:148,y:824},{name:bx.Tromso,region:yx.Red,x:371,y:122},{name:bx.Bood,region:yx.Red,x:276,y:254},{name:bx.Trondheim,region:yx.Red,x:173,y:450},{name:bx.Oslo,region:yx.Red,x:176,y:606},{name:bx.Arendal,region:yx.Red,x:145,y:651},{name:bx.Bergen,region:yx.Red,x:68,y:586},{name:bx.Stavanger,region:yx.Red,x:72,y:647}],layout:"Portrait",adjustRatio:[1.5,1.2],mapPosition:[60,-40],mapRotation:20,viewBox:[1480,1326],supplyPosition:[675,1184],startingResources:[18,18,12,6],resupply:[[[2,4,3],[3,4,4],[4,5,5],[4,5,6],[6,8,5]],[[1,2,3],[2,2,3],[2,3,4],[3,4,5],[4,5,6]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,2,2],[1,2,2],[2,3,2],[2,4,3],[2,4,4]]],regionalPowerPlants:(gx={},y(gx,yx.Orange,[{number:19,type:Pw.Oil,cost:2,citiesPowered:4},{number:26,type:Pw.Oil,cost:3,citiesPowered:5}]),y(gx,yx.Red,[{number:7,type:Pw.Wind,cost:0,citiesPowered:1},{number:46,type:Pw.Wind,cost:0,citiesPowered:6}]),y(gx,yx.Purple,[{number:10,type:Pw.Uranium,cost:2,citiesPowered:3},{number:39,type:Pw.Wind,cost:0,citiesPowered:5}]),y(gx,yx.Yellow,[{number:21,type:Pw.Wind,cost:0,citiesPowered:2},{number:25,type:Pw.Uranium,cost:1,citiesPowered:4}]),y(gx,yx.Brown,[{number:32,type:Pw.Garbage,cost:2,citiesPowered:6},{number:44,type:Pw.Uranium,cost:1,citiesPowered:7}]),y(gx,yx.Pink,[{number:18,type:Pw.Oil,cost:1,citiesPowered:3},{number:22,type:Pw.Wind,cost:0,citiesPowered:3}]),gx),mapSpecificRules:"Nuclear plants may only be purchased by players with at least one city in Sweden, Finland, or the Baltic States. Players with cities only in Norway or Denmark may not bid on or buy nuclear plants. Resources start at: coal 3 Elektro, oil 3 Elektro, garbage 5 Elektro, uranium 7 Elektro.\n",deckBuild:"standard setup; the regions in play swap in regional versions of certain power plants (same numbers, different fuel or output).",connections:[{nodes:[bx.Bood,bx.Tromso],cost:17},{nodes:[bx.Tromso,bx.Oulu],cost:25},{nodes:[bx.Oulu,bx.Kuopid],cost:10},{nodes:[bx.Lulea,bx.Tromso],cost:19},{nodes:[bx.Lulea,bx.Oulu],cost:13},{nodes:[bx.Oulu,bx.Pori],cost:15},{nodes:[bx.Oulu,bx.Tampere],cost:14},{nodes:[bx.Sundsvall,bx.Lulea],cost:16},{nodes:[bx.Lulea,bx.Bood],cost:16},{nodes:[bx.Bood,bx.Ostersund],cost:18},{nodes:[bx.Ostersund,bx.Lulea],cost:17},{nodes:[bx.Lulea,bx.Pori],cost:22},{nodes:[bx.Pori,bx.Sundsvall],cost:17},{nodes:[bx.Bood,bx.Trondheim],cost:21},{nodes:[bx.Trondheim,bx.Bergen],cost:17},{nodes:[bx.Trondheim,bx.Oslo],cost:17},{nodes:[bx.Oslo,bx.Ostersund],cost:18},{nodes:[bx.Ostersund,bx.Karlstad],cost:16},{nodes:[bx.Bergen,bx.Oslo],cost:15},{nodes:[bx.Oslo,bx.Stavanger],cost:11},{nodes:[bx.Stavanger,bx.Arendal],cost:8},{nodes:[bx.Arendal,bx.Oslo],cost:7},{nodes:[bx.Bergen,bx.Stavanger],cost:9},{nodes:[bx.Arendal,bx.Ringkobing],cost:19},{nodes:[bx.Ringkobing,bx.Esbjerg],cost:4},{nodes:[bx.Esbjerg,bx.Odense],cost:5},{nodes:[bx.Odense,bx.Nykobingfalster],cost:8},{nodes:[bx.Arendal,bx.Aalborg],cost:16},{nodes:[bx.Arendal,bx.Goteborg],cost:19},{nodes:[bx.Goteborg,bx.Oslo],cost:11},{nodes:[bx.Oslo,bx.Karlstad],cost:7},{nodes:[bx.Karlstad,bx.Goteborg],cost:9},{nodes:[bx.Karlstad,bx.Jonkoping],cost:9},{nodes:[bx.Karlstad,bx.Linkopinc],cost:7},{nodes:[bx.Tampere,bx.Kuopid],cost:10},{nodes:[bx.Tampere,bx.Pori],cost:4},{nodes:[bx.Tampere,bx.Turku],cost:5},{nodes:[bx.Tampere,bx.Espoo],cost:5},{nodes:[bx.Tampere,bx.Helsinki],cost:6},{nodes:[bx.Helsinki,bx.Espoo],cost:2},{nodes:[bx.Espoo,bx.Tallinn],cost:7},{nodes:[bx.Tallinn,bx.Helsinki],cost:7},{nodes:[bx.Visby,bx.Kristianstad],cost:13},{nodes:[bx.Visby,bx.Klaipeda],cost:19},{nodes:[bx.Visby,bx.Riga],cost:20},{nodes:[bx.Riga,bx.Tallinn],cost:11},{nodes:[bx.Tallinn,bx.Tartu],cost:5},{nodes:[bx.Tartu,bx.Daugavpils],cost:9},{nodes:[bx.Riga,bx.Tartu],cost:7},{nodes:[bx.Daugavpils,bx.Kaunas],cost:7},{nodes:[bx.Kaunas,bx.Vilnius],cost:3},{nodes:[bx.Kaunas,bx.Klaipeda],cost:7},{nodes:[bx.Klaipeda,bx.Riga],cost:8},{nodes:[bx.Riga,bx.Kaunas],cost:8},{nodes:[bx.Riga,bx.Daugavpils],cost:7},{nodes:[bx.Daugavpils,bx.Vilnius],cost:5},{nodes:[bx.Vasteras,bx.Sundsvall],cost:10},{nodes:[bx.Sundsvall,bx.Ostersund],cost:7},{nodes:[bx.Uppsala,bx.Stockholm],cost:2},{nodes:[bx.Uppsala,bx.Turku],cost:15},{nodes:[bx.Uppsala,bx.Pori],cost:17},{nodes:[bx.Uppsala,bx.Sundsvall],cost:11},{nodes:[bx.Vasteras,bx.Drebro],cost:5},{nodes:[bx.Drebro,bx.Linkopinc],cost:3},{nodes:[bx.Linkopinc,bx.Stockholm],cost:7},{nodes:[bx.Visby,bx.Stockholm],cost:12},{nodes:[bx.Visby,bx.Linkopinc],cost:9},{nodes:[bx.Jonkoping,bx.Malmo],cost:10},{nodes:[bx.Jonkoping,bx.Kristianstad],cost:8},{nodes:[bx.Kristianstad,bx.Malmo],cost:3},{nodes:[bx.Malmo,bx.Kobenhavn],cost:3},{nodes:[bx.Kobenhavn,bx.Nykobingfalster],cost:6},{nodes:[bx.Odense,bx.Aarhus],cost:7},{nodes:[bx.Aarhus,bx.Aalborg],cost:3},{nodes:[bx.Aalborg,bx.Goteborg],cost:11},{nodes:[bx.Kobenhavn,bx.Goteborg],cost:18},{nodes:[bx.Goteborg,bx.Jonkoping],cost:4},{nodes:[bx.Trondheim,bx.Ostersund],cost:9},{nodes:[bx.Vasteras,bx.Stockholm],cost:4},{nodes:[bx.Esbjerg,bx.Aarhus],cost:5},{nodes:[bx.Jonkoping,bx.Linkopinc],cost:5},{nodes:[bx.Kobenhavn,bx.Jonkoping],cost:12},{nodes:[bx.Karlstad,bx.Drebro],cost:4},{nodes:[bx.Vasteras,bx.Uppsala],cost:2},{nodes:[bx.Odense,bx.Kobenhavn],cost:7},{nodes:[bx.Kobenhavn,bx.Aarhus],cost:10},{nodes:[bx.Ringkobing,bx.Aalborg],cost:5},{nodes:[bx.Linkopinc,bx.Kristianstad],cost:9},{nodes:[bx.Drebro,bx.Stockholm],cost:7},{nodes:[bx.Espoo,bx.Turku],cost:4},{nodes:[bx.Pori,bx.Turku],cost:4}]};(function(e){e["Green"]="green",e["Brown"]="brown",e["Pink"]="pink",e["Red"]="red",e["Yellow"]="yellow",e["Purple"]="purple"})(kx||(kx={})),function(e){e["Septiles"]="Sept-Iles",e["Portcartier"]="Port-Cartier",e["Baiecomeau"]="Baie-Comeau",e["Chicoutimi"]="Chicoutimi",e["Alma"]="Alma",e["Roberval"]="Roberval",e["Jonquiere"]="Jonquiere",e["Gaspe"]="Gaspe",e["Steannedesmonts"]="Ste-Anne-Des-Monts",e["Matane"]="Matane",e["Rimouski"]="Rimouski",e["Pointealacroix"]="Pointe-A-La-Croix",e["Riviereduloup"]="Riviere-Du-Loup",e["Montmagny"]="Montmagny",e["Stgeorges"]="St-Georges",e["Sherbrooke"]="Sherbrooke",e["Victoriaville"]="Victoriaville",e["Stsimeon"]="St-Simeon",e["Charlesbourg"]="Charlesbourg",e["Quebec"]="Quebec",e["Beauport"]="Beauport",e["Granby"]="Granby",e["Sthyacinthe"]="St-Hyacinthe",e["Brossard"]="Brossard",e["Valleyfield"]="Valleyfield",e["Vaudreuildorion"]="Vaudreuil-Dorion",e["Montreal"]="Montreal",e["Pointeclaire"]="Pointe-Claire",e["Shawinigan"]="Shawinigan",e["Troisrivieres"]="Trois-Rivieres",e["Drummondville"]="Drummond-Ville",e["Repentigny"]="Repentigny",e["Longueuil"]="Longueuil",e["Laval"]="Laval",e["Lachute"]="Lachute",e["Amos"]="Amos",e["Valdor"]="Val-Dor",e["Rouynnoranda"]="Rouyn-Noranda",e["Montlaurier"]="Mont-Laurier",e["Maniwaki"]="Maniwaki",e["Gatineau"]="Gatineau",e["Hull"]="Hull"}(xx||(xx={}));var Sx,Mx,Px={name:"Quebec",cities:[{name:xx.Septiles,region:kx.Green,x:3524,y:228},{name:xx.Portcartier,region:kx.Green,x:3328,y:370},{name:xx.Baiecomeau,region:kx.Green,x:3066,y:630},{name:xx.Chicoutimi,region:kx.Green,x:2392,y:898},{name:xx.Alma,region:kx.Green,x:2172,y:844},{name:xx.Roberval,region:kx.Green,x:1944,y:950},{name:xx.Jonquiere,region:kx.Green,x:2240,y:1052},{name:xx.Gaspe,region:kx.Brown,x:4014,y:808},{name:xx.Steannedesmonts,region:kx.Brown,x:3512,y:708},{name:xx.Matane,region:kx.Brown,x:3244,y:808},{name:xx.Rimouski,region:kx.Brown,x:2990,y:946},{name:xx.Pointealacroix,region:kx.Brown,x:3492,y:1094},{name:xx.Riviereduloup,region:kx.Brown,x:2780,y:1208},{name:xx.Montmagny,region:kx.Brown,x:2522,y:1534},{name:xx.Stgeorges,region:kx.Pink,x:2506,y:1836},{name:xx.Sherbrooke,region:kx.Pink,x:2242,y:2128},{name:xx.Victoriaville,region:kx.Pink,x:2178,y:1822},{name:xx.Stsimeon,region:kx.Pink,x:2576,y:1146},{name:xx.Charlesbourg,region:kx.Pink,x:2246,y:1434},{name:xx.Quebec,region:kx.Pink,x:2302,y:1536},{name:xx.Beauport,region:kx.Pink,x:2196,y:1524},{name:xx.Granby,region:kx.Red,x:1974,y:2160},{name:xx.Sthyacinthe,region:kx.Red,x:1796,y:2038},{name:xx.Brossard,region:kx.Red,x:1790,y:2296},{name:xx.Valleyfield,region:kx.Red,x:1576,y:2306},{name:xx.Vaudreuildorion,region:kx.Red,x:1414,y:2186},{name:xx.Montreal,region:kx.Red,x:1624,y:2052},{name:xx.Pointeclaire,region:kx.Red,x:1510,y:2060},{name:xx.Shawinigan,region:kx.Yellow,x:1864,y:1448},{name:xx.Troisrivieres,region:kx.Yellow,x:1918,y:1650},{name:xx.Drummondville,region:kx.Yellow,x:1984,y:1886},{name:xx.Repentigny,region:kx.Yellow,x:1696,y:1820},{name:xx.Longueuil,region:kx.Yellow,x:1598,y:1964},{name:xx.Laval,region:kx.Yellow,x:1512,y:1990},{name:xx.Lachute,region:kx.Yellow,x:1364,y:1944},{name:xx.Amos,region:kx.Purple,x:492,y:868},{name:xx.Valdor,region:kx.Purple,x:570,y:1098},{name:xx.Rouynnoranda,region:kx.Purple,x:236,y:1028},{name:xx.Montlaurier,region:kx.Purple,x:1180,y:1630},{name:xx.Maniwaki,region:kx.Purple,x:964,y:1760},{name:xx.Gatineau,region:kx.Purple,x:1076,y:2096},{name:xx.Hull,region:kx.Purple,x:862,y:2104}],connections:[{nodes:[xx.Maniwaki,xx.Montlaurier],cost:5},{nodes:[xx.Maniwaki,xx.Valdor],cost:24},{nodes:[xx.Valdor,xx.Amos],cost:8},{nodes:[xx.Amos,xx.Rouynnoranda],cost:9},{nodes:[xx.Rouynnoranda,xx.Valdor],cost:12},{nodes:[xx.Hull,xx.Maniwaki],cost:15},{nodes:[xx.Hull,xx.Gatineau],cost:0},{nodes:[xx.Gatineau,xx.Montlaurier],cost:16},{nodes:[xx.Montlaurier,xx.Lachute],cost:18},{nodes:[xx.Shawinigan,xx.Troisrivieres],cost:3},{nodes:[xx.Troisrivieres,xx.Drummondville],cost:9},{nodes:[xx.Drummondville,xx.Victoriaville],cost:6},{nodes:[xx.Victoriaville,xx.Stgeorges],cost:10},{nodes:[xx.Stgeorges,xx.Sherbrooke],cost:15},{nodes:[xx.Sherbrooke,xx.Granby],cost:8},{nodes:[xx.Granby,xx.Sthyacinthe],cost:4},{nodes:[xx.Sthyacinthe,xx.Drummondville],cost:6},{nodes:[xx.Troisrivieres,xx.Victoriaville],cost:9},{nodes:[xx.Victoriaville,xx.Sherbrooke],cost:9},{nodes:[xx.Sherbrooke,xx.Drummondville],cost:9},{nodes:[xx.Sthyacinthe,xx.Repentigny],cost:7},{nodes:[xx.Sthyacinthe,xx.Brossard],cost:5},{nodes:[xx.Brossard,xx.Valleyfield],cost:8},{nodes:[xx.Valleyfield,xx.Vaudreuildorion],cost:4},{nodes:[xx.Gatineau,xx.Lachute],cost:14},{nodes:[xx.Montlaurier,xx.Shawinigan],cost:28},{nodes:[xx.Shawinigan,xx.Beauport],cost:14},{nodes:[xx.Beauport,xx.Troisrivieres],cost:15},{nodes:[xx.Troisrivieres,xx.Repentigny],cost:13},{nodes:[xx.Repentigny,xx.Longueuil],cost:3},{nodes:[xx.Laval,xx.Lachute],cost:6},{nodes:[xx.Vaudreuildorion,xx.Pointeclaire],cost:3},{nodes:[xx.Montreal,xx.Brossard],cost:4},{nodes:[xx.Laval,xx.Longueuil],cost:0},{nodes:[xx.Pointeclaire,xx.Montreal],cost:0},{nodes:[xx.Montreal,xx.Longueuil],cost:0},{nodes:[xx.Pointeclaire,xx.Laval],cost:0},{nodes:[xx.Beauport,xx.Charlesbourg],cost:0},{nodes:[xx.Charlesbourg,xx.Quebec],cost:0},{nodes:[xx.Quebec,xx.Beauport],cost:0},{nodes:[xx.Victoriaville,xx.Beauport],cost:12},{nodes:[xx.Quebec,xx.Stgeorges],cost:12},{nodes:[xx.Stgeorges,xx.Montmagny],cost:12},{nodes:[xx.Montmagny,xx.Riviereduloup],cost:16},{nodes:[xx.Jonquiere,xx.Charlesbourg],cost:21},{nodes:[xx.Montmagny,xx.Quebec],cost:5},{nodes:[xx.Stsimeon,xx.Charlesbourg],cost:18},{nodes:[xx.Drummondville,xx.Granby],cost:4},{nodes:[xx.Roberval,xx.Shawinigan],cost:25},{nodes:[xx.Jonquiere,xx.Stsimeon],cost:16},{nodes:[xx.Roberval,xx.Jonquiere],cost:10},{nodes:[xx.Jonquiere,xx.Alma],cost:4},{nodes:[xx.Alma,xx.Chicoutimi],cost:4},{nodes:[xx.Jonquiere,xx.Chicoutimi],cost:0},{nodes:[xx.Chicoutimi,xx.Baiecomeau],cost:23},{nodes:[xx.Stsimeon,xx.Baiecomeau],cost:23},{nodes:[xx.Baiecomeau,xx.Portcartier],cost:16},{nodes:[xx.Septiles,xx.Portcartier],cost:6},{nodes:[xx.Riviereduloup,xx.Rimouski],cost:12},{nodes:[xx.Rimouski,xx.Matane],cost:11},{nodes:[xx.Matane,xx.Pointealacroix],cost:15},{nodes:[xx.Matane,xx.Steannedesmonts],cost:10},{nodes:[xx.Pointealacroix,xx.Steannedesmonts],cost:16},{nodes:[xx.Steannedesmonts,xx.Gaspe],cost:21},{nodes:[xx.Gaspe,xx.Pointealacroix],cost:25}],layout:"Portrait",adjustRatio:[.25,.35],mapPosition:[-20,75],resupply:[[[3,3,3],[4,4,3],[5,4,4],[5,5,5],[7,6,6]],[[2,2,3],[2,3,3],[3,4,4],[4,5,4],[5,6,5]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],startingResources:[21,21,6,2],setupDeck:function(e,n,t){var r,o,i=Object(Qw["cloneDeep"])(yk);if("original"==n){var a=i.filter((function(e){return[13,18,22].includes(e.number)})),c=i.filter((function(e){return(e.type==Pw.Wind||e.type==Pw.Nuclear)&&![13,18,22].includes(e.number)})),u=i.filter((function(e){return e.type!=Pw.Wind&&e.type!=Pw.Nuclear}));i=u.slice(8),r=[j_(3),j_(4),j_(5),j_(6)],o=[j_(7),j_(8),j_(9),j_(10)];var s=i.pop();i=uk(i,t()+""),2==e||3==e?i=i.slice(8):4==e&&(i=i.slice(4)),i=i.concat(c),i=uk(i,t()+""),i=a.concat(i),i.push(s)}else{var l=i.pop(),d=i.filter((function(e){return e.number>=3&&e.number<=10})),f=i.filter((function(e){return 13==e.number})),p=i.filter((function(e){return 18==e.number||22==e.number})),v=i.filter((function(e){return![13,18,22].includes(e.number)&&(e.type==Pw.Wind||e.type==Pw.Nuclear)})),h=i.filter((function(e){return e.type!=Pw.Wind&&e.number>=11&&e.number<=15})),m=i.filter((function(e){return e.type!=Pw.Wind&&e.type!=Pw.Nuclear&&e.number>=16}));2==e?(h=uk(h,t()+"").slice(1),m=uk(m,t()+"").slice(5)):3==e?(h=uk(h,t()+"").slice(2),m=uk(m,t()+"").slice(6)):4==e&&(h=uk(h,t()+"").slice(1),m=uk(m,t()+"").slice(3));var g=uk(d.concat(f).concat(h),t()+""),y=g.splice(0,8);y=y.sort((function(e,n){return e.number-n.number})),r=y.splice(0,4),o=y;var b=g.splice(0,1);i=g.concat(v).concat(m),i=uk(i,t()+""),i=b.concat(p).concat(i).concat([l])}return{actualMarket:r,futureMarket:o,powerPlantsDeck:i}},mapSpecificRules:"Ecological power plants will never be put on the bottom of the deck.\n",deckBuild:{recharged:"the starting market is drawn from the low plants (including 13); one more low plant goes on top of the deck, with 18 and 22 placed directly beneath it. Ecological plants (wind and fusion) are never removed during setup.",original:"power plants 13, 18, 22 are set aside and placed on top of the deck (13 topmost); ecological plants are excluded from the player-count removal."}};(function(e){e["Green"]="green",e["Pink"]="pink",e["Red"]="red",e["Yellow"]="yellow",e["Purple"]="purple",e["Brown"]="brown"})(Sx||(Sx={})),function(e){e["Murmansk"]="Murmansk",e["Arkhangelsk"]="Arkhangelsk",e["Syktyvkar"]="Syktyvkar",e["Kirov"]="Kirov",e["Kazan"]="Kazan",e["Cheboksary"]="Cheboksary",e["Ulyanovsk"]="Ulyanovsk",e["Tula"]="Tula",e["Kaliningrad"]="Kaliningrad",e["Ryazan"]="Ryazan",e["Nizhnynovgorod"]="Nizhny Novgorod",e["Moscow"]="Moscow",e["Stpetersburg"]="St Petersburg",e["Yaroslavl"]="Yaroslavl",e["Chita"]="Chita",e["Bratsk"]="Bratsk",e["Krasnoyarsk"]="Krasnoyarsk",e["Kemerovd"]="Kemerovd",e["Novokuznetsk"]="Novokuznetsk",e["Irkutsk"]="Irkutsk",e["Ulanude"]="Ulan Ude",e["Norilsk"]="Norilsk",e["Surgut"]="Surgut",e["Tyumen"]="Tyumen",e["Tomsk"]="Tomsk",e["Novosibirsk"]="Novosibirsk",e["Barnaul"]="Barnaul",e["Omsk"]="Omsk",e["Chelyabinsk"]="Chelyabinsk",e["Ufa"]="Ufa",e["Perm"]="Perm",e["Yekaterinburg"]="Yekaterinburg",e["Orenburg"]="Orenburg",e["Naberezhnyechelny"]="Naberezhnye Chelny",e["Samara"]="Samara",e["Astrakhan"]="Astrakhan",e["Makhachkala"]="Makhachkala",e["Saratov"]="Saratov",e["Volgograd"]="Volgograd",e["Krasnodar"]="Krasnodar",e["Rostov"]="Rostov",e["Voronezh"]="Voronezh"}(Mx||(Mx={}));var Ix,Cx,Ox={name:"Russia",cities:[{name:Mx.Murmansk,region:Sx.Green,x:1574,y:351},{name:Mx.Arkhangelsk,region:Sx.Green,x:1456,y:695},{name:Mx.Syktyvkar,region:Sx.Green,x:1669,y:1005},{name:Mx.Kirov,region:Sx.Green,x:1457,y:1172},{name:Mx.Kazan,region:Sx.Green,x:1378,y:1478},{name:Mx.Cheboksary,region:Sx.Green,x:1200,y:1328},{name:Mx.Ulyanovsk,region:Sx.Green,x:884,y:1448},{name:Mx.Tula,region:Sx.Pink,x:485,y:1077},{name:Mx.Kaliningrad,region:Sx.Pink,x:394,y:606},{name:Mx.Ryazan,region:Sx.Pink,x:793,y:1193},{name:Mx.Nizhnynovgorod,region:Sx.Pink,x:1129,y:1116},{name:Mx.Moscow,region:Sx.Pink,x:763,y:961},{name:Mx.Stpetersburg,region:Sx.Pink,x:883,y:597},{name:Mx.Yaroslavl,region:Sx.Pink,x:1018,y:915},{name:Mx.Chita,region:Sx.Red,x:4168,y:2048},{name:Mx.Bratsk,region:Sx.Red,x:3599,y:1808},{name:Mx.Krasnoyarsk,region:Sx.Red,x:3230,y:1930},{name:Mx.Kemerovd,region:Sx.Red,x:2953,y:1987},{name:Mx.Novokuznetsk,region:Sx.Red,x:3041,y:2159},{name:Mx.Irkutsk,region:Sx.Red,x:3721,y:2162},{name:Mx.Ulanude,region:Sx.Red,x:4030,y:2228},{name:Mx.Norilsk,region:Sx.Yellow,x:3001,y:856},{name:Mx.Surgut,region:Sx.Yellow,x:2348,y:1411},{name:Mx.Tyumen,region:Sx.Yellow,x:2060,y:1627},{name:Mx.Tomsk,region:Sx.Yellow,x:2773,y:1835},{name:Mx.Novosibirsk,region:Sx.Yellow,x:2647,y:2005},{name:Mx.Barnaul,region:Sx.Yellow,x:2662,y:2191},{name:Mx.Omsk,region:Sx.Yellow,x:2195,y:1957},{name:Mx.Chelyabinsk,region:Sx.Purple,x:1768,y:1865},{name:Mx.Ufa,region:Sx.Purple,x:1472,y:1907},{name:Mx.Perm,region:Sx.Purple,x:1688,y:1388},{name:Mx.Yekaterinburg,region:Sx.Purple,x:1757,y:1620},{name:Mx.Orenburg,region:Sx.Purple,x:1250,y:1997},{name:Mx.Naberezhnyechelny,region:Sx.Purple,x:1427,y:1709},{name:Mx.Samara,region:Sx.Purple,x:1132,y:1701},{name:Mx.Astrakhan,region:Sx.Brown,x:619,y:2092},{name:Mx.Makhachkala,region:Sx.Brown,x:317,y:2262},{name:Mx.Saratov,region:Sx.Brown,x:808,y:1661},{name:Mx.Volgograd,region:Sx.Brown,x:589,y:1795},{name:Mx.Krasnodar,region:Sx.Brown,x:260,y:1865},{name:Mx.Rostov,region:Sx.Brown,x:311,y:1658},{name:Mx.Voronezh,region:Sx.Brown,x:485,y:1409}],connections:[{nodes:[Mx.Kaliningrad,Mx.Stpetersburg],cost:15},{nodes:[Mx.Stpetersburg,Mx.Murmansk],cost:19},{nodes:[Mx.Murmansk,Mx.Arkhangelsk],cost:15},{nodes:[Mx.Arkhangelsk,Mx.Stpetersburg],cost:14},{nodes:[Mx.Tula,Mx.Kaliningrad],cost:20},{nodes:[Mx.Tula,Mx.Moscow],cost:3},{nodes:[Mx.Moscow,Mx.Ryazan],cost:3},{nodes:[Mx.Ryazan,Mx.Voronezh],cost:5},{nodes:[Mx.Voronezh,Mx.Tula],cost:5},{nodes:[Mx.Tula,Mx.Stpetersburg],cost:13},{nodes:[Mx.Tula,Mx.Ryazan],cost:0},{nodes:[Mx.Stpetersburg,Mx.Moscow],cost:10},{nodes:[Mx.Moscow,Mx.Yaroslavl],cost:3},{nodes:[Mx.Yaroslavl,Mx.Nizhnynovgorod],cost:4},{nodes:[Mx.Nizhnynovgorod,Mx.Moscow],cost:7},{nodes:[Mx.Yaroslavl,Mx.Stpetersburg],cost:9},{nodes:[Mx.Yaroslavl,Mx.Arkhangelsk],cost:12},{nodes:[Mx.Arkhangelsk,Mx.Syktyvkar],cost:10},{nodes:[Mx.Syktyvkar,Mx.Surgut],cost:21},{nodes:[Mx.Perm,Mx.Syktyvkar],cost:8},{nodes:[Mx.Syktyvkar,Mx.Kirov],cost:6},{nodes:[Mx.Syktyvkar,Mx.Nizhnynovgorod],cost:11},{nodes:[Mx.Nizhnynovgorod,Mx.Arkhangelsk],cost:15},{nodes:[Mx.Nizhnynovgorod,Mx.Cheboksary],cost:3},{nodes:[Mx.Cheboksary,Mx.Ulyanovsk],cost:4},{nodes:[Mx.Ulyanovsk,Mx.Voronezh],cost:11},{nodes:[Mx.Voronezh,Mx.Volgograd],cost:8},{nodes:[Mx.Volgograd,Mx.Saratov],cost:6},{nodes:[Mx.Saratov,Mx.Samara],cost:5},{nodes:[Mx.Samara,Mx.Ulyanovsk],cost:3},{nodes:[Mx.Ulyanovsk,Mx.Kazan],cost:3},{nodes:[Mx.Kazan,Mx.Samara],cost:4},{nodes:[Mx.Samara,Mx.Naberezhnyechelny],cost:5},{nodes:[Mx.Cheboksary,Mx.Kazan],cost:2},{nodes:[Mx.Cheboksary,Mx.Kirov],cost:5},{nodes:[Mx.Kirov,Mx.Kazan],cost:5},{nodes:[Mx.Kazan,Mx.Perm],cost:8},{nodes:[Mx.Kazan,Mx.Naberezhnyechelny],cost:3},{nodes:[Mx.Naberezhnyechelny,Mx.Ufa],cost:4},{nodes:[Mx.Ufa,Mx.Orenburg],cost:6},{nodes:[Mx.Orenburg,Mx.Samara],cost:6},{nodes:[Mx.Orenburg,Mx.Naberezhnyechelny],cost:7},{nodes:[Mx.Ufa,Mx.Chelyabinsk],cost:8},{nodes:[Mx.Chelyabinsk,Mx.Yekaterinburg],cost:3},{nodes:[Mx.Yekaterinburg,Mx.Perm],cost:5},{nodes:[Mx.Perm,Mx.Kirov],cost:6},{nodes:[Mx.Chelyabinsk,Mx.Tyumen],cost:5},{nodes:[Mx.Tyumen,Mx.Surgut],cost:10},{nodes:[Mx.Syktyvkar,Mx.Tyumen],cost:17},{nodes:[Mx.Tyumen,Mx.Yekaterinburg],cost:5},{nodes:[Mx.Chelyabinsk,Mx.Omsk],cost:13},{nodes:[Mx.Omsk,Mx.Tyumen],cost:9},{nodes:[Mx.Tyumen,Mx.Tomsk],cost:19},{nodes:[Mx.Tomsk,Mx.Surgut],cost:15},{nodes:[Mx.Tomsk,Mx.Novosibirsk],cost:4},{nodes:[Mx.Novosibirsk,Mx.Barnaul],cost:4},{nodes:[Mx.Barnaul,Mx.Omsk],cost:11},{nodes:[Mx.Omsk,Mx.Novosibirsk],cost:10},{nodes:[Mx.Omsk,Mx.Tomsk],cost:12},{nodes:[Mx.Rostov,Mx.Krasnodar],cost:4},{nodes:[Mx.Krasnodar,Mx.Volgograd],cost:9},{nodes:[Mx.Volgograd,Mx.Astrakhan],cost:6},{nodes:[Mx.Krasnodar,Mx.Makhachkala],cost:14},{nodes:[Mx.Makhachkala,Mx.Astrakhan],cost:8},{nodes:[Mx.Makhachkala,Mx.Volgograd],cost:11},{nodes:[Mx.Rostov,Mx.Volgograd],cost:7},{nodes:[Mx.Ryazan,Mx.Ulyanovsk],cost:9},{nodes:[Mx.Ulyanovsk,Mx.Saratov],cost:6},{nodes:[Mx.Saratov,Mx.Voronezh],cost:8},{nodes:[Mx.Rostov,Mx.Voronezh],cost:9},{nodes:[Mx.Naberezhnyechelny,Mx.Perm],cost:6},{nodes:[Mx.Naberezhnyechelny,Mx.Yekaterinburg],cost:8},{nodes:[Mx.Ufa,Mx.Yekaterinburg],cost:6},{nodes:[Mx.Chita,Mx.Ulanude],cost:6},{nodes:[Mx.Ulanude,Mx.Irkutsk],cost:6},{nodes:[Mx.Irkutsk,Mx.Novokuznetsk],cost:21},{nodes:[Mx.Novokuznetsk,Mx.Kemerovd],cost:3},{nodes:[Mx.Kemerovd,Mx.Tomsk],cost:3},{nodes:[Mx.Novosibirsk,Mx.Novokuznetsk],cost:5},{nodes:[Mx.Novosibirsk,Mx.Kemerovd],cost:4},{nodes:[Mx.Novokuznetsk,Mx.Barnaul],cost:6},{nodes:[Mx.Kemerovd,Mx.Krasnoyarsk],cost:7},{nodes:[Mx.Krasnoyarsk,Mx.Novokuznetsk],cost:7},{nodes:[Mx.Krasnoyarsk,Mx.Irkutsk],cost:17},{nodes:[Mx.Krasnoyarsk,Mx.Bratsk],cost:10},{nodes:[Mx.Bratsk,Mx.Tomsk],cost:17},{nodes:[Mx.Bratsk,Mx.Irkutsk],cost:10},{nodes:[Mx.Bratsk,Mx.Ulanude],cost:14},{nodes:[Mx.Tomsk,Mx.Norilsk],cost:24},{nodes:[Mx.Norilsk,Mx.Bratsk],cost:29},{nodes:[Mx.Norilsk,Mx.Surgut],cost:19}],adjustRatio:[.25,.25],resupply:[[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],[[3,4,3],[3,4,3],[5,6,4],[5,7,5],[7,9,6]],[[2,2,3],[2,2,3],[3,3,4],[4,3,5],[4,5,6]],[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]],startingResources:[18,24,0,7],setupDeck:function(e,n,t){var r=Object(Qw["cloneDeep"])(yk),o=[],i=[],a=r.pop();if("original"==n){o=r.filter((function(e){return e.number>=3&&e.number<=5})),i=r.filter((function(e){return e.number>=7&&e.number<=9}));var c=j_(10),u=j_(11),s=j_(13),l=r.filter((function(e){return 12==e.number||e.number>=15})),d=uk(l,t()+"");2==e||3==e?d=d.slice(8):4==e&&(d=d.slice(4));var f=d.slice(0,3).concat(c,u);f=uk(f,t()+""),r=[s].concat(f,d.slice(3),a)}else{var p=r.filter((function(e){return e.number<=15&&6!=e.number&&14!=e.number})),v=uk(p,t()+""),h=r.filter((function(e){return e.number>=16})),m=uk(h,t()+"");2==e?m=m.slice(6):3==e?m=m.slice(8):4==e&&(m=m.slice(4));var g=v.slice(0,6),y=v.slice(6);g=g.sort((function(e,n){return e.number-n.number})),o=g.slice(0,3),i=g.slice(3),r=y.concat(m,a)}return{actualMarket:o,futureMarket:i,powerPlantsDeck:r}},mapSpecificRules:"The power plant market is restricted, and the rules for removing old plants are changed.\n",deckBuild:{recharged:"plants 6 and 14 are removed from the game. The market has 6 plants (3 current, 3 future) drawn at random from the low plants; the six undrawn low plants sit shuffled on top of the deck. Removal by player count (higher plants only): 2 players remove 6, 3 players remove 8, 4 players remove 4.",original:"plants 6 and 14 are removed from the game; the market is 3, 4, 5 / 7, 8, 9. Plant 13 goes on top of the deck, then five shuffled cards (plants 10, 11 and the top three of the deck), then the rest, with the Step 3 card on the bottom."}};(function(e){e["Orange"]="orange",e["Green"]="green",e["Yellow"]="yellow",e["Brown"]="brown",e["Red"]="red"})(Ix||(Ix={})),function(e){e["Zimbabwe"]="Zimbabwe",e["Musina"]="Musina",e["Botswana"]="Botswana",e["Polokwane"]="Polokwane",e["PretoriaN"]="Pretoria N",e["PretoriaS"]="Pretoria S",e["Rustenburg"]="Rustenburg",e["Mozambique"]="Mozambique",e["Mbombela"]="Mbombela",e["Eswatini"]="Eswatini",e["Germiston"]="Germiston",e["JohannesburgN"]="Johannesburg N",e["JohannesburgS"]="Johannesburg S",e["Ladysmith"]="Ladysmith",e["Newcastle"]="Newcastle",e["Pietermaritzburg"]="Pietermaritzburg",e["DurbanN"]="Durban N",e["DurbanS"]="Durban S",e["Mthatha"]="Mthatha",e["Lesotho"]="Lesotho",e["Bloemfontein"]="Bloemfontein",e["Klerksdorp"]="Klerksdorp",e["Welkom"]="Welkom",e["Kuruman"]="Kuruman",e["Kimberly"]="Kimberly",e["Upington"]="Upington",e["Springbok"]="Springbok",e["Namibia"]="Namibia",e["DeAar"]="De Aar",e["BeaufortWest"]="Beaufort West",e["EastLondon"]="East London",e["PortElizabeth"]="Port Elizabeth",e["George"]="George",e["CapeTownN"]="Cape Town N",e["CapeTownS"]="Cape Town S"}(Cx||(Cx={}));var Ax,Nx,zx={name:"South Africa",cities:[{name:Cx.Zimbabwe,region:Ix.Orange,x:903,y:50,singleOccupancy:!0},{name:Cx.Musina,region:Ix.Orange,x:874,y:134},{name:Cx.Botswana,region:Ix.Orange,x:560,y:187,singleOccupancy:!0},{name:Cx.Polokwane,region:Ix.Orange,x:802,y:189},{name:Cx.PretoriaN,region:Ix.Orange,x:759,y:261},{name:Cx.PretoriaS,region:Ix.Orange,x:759,y:291},{name:Cx.Rustenburg,region:Ix.Orange,x:632,y:232},{name:Cx.Mozambique,region:Ix.Green,x:1011,y:170,singleOccupancy:!0},{name:Cx.Mbombela,region:Ix.Green,x:891,y:275},{name:Cx.Eswatini,region:Ix.Green,x:926,y:351,singleOccupancy:!0},{name:Cx.Germiston,region:Ix.Green,x:836,y:351},{name:Cx.JohannesburgN,region:Ix.Green,x:753,y:343},{name:Cx.JohannesburgS,region:Ix.Green,x:754,y:371},{name:Cx.Ladysmith,region:Ix.Green,x:823,y:456},{name:Cx.Newcastle,region:Ix.Yellow,x:957,y:478},{name:Cx.Pietermaritzburg,region:Ix.Yellow,x:851,y:511},{name:Cx.DurbanN,region:Ix.Yellow,x:894,y:563},{name:Cx.DurbanS,region:Ix.Yellow,x:893,y:592},{name:Cx.Mthatha,region:Ix.Yellow,x:791,y:663},{name:Cx.Lesotho,region:Ix.Yellow,x:759,y:523,singleOccupancy:!0},{name:Cx.Bloemfontein,region:Ix.Yellow,x:656,y:509},{name:Cx.Klerksdorp,region:Ix.Brown,x:660,y:362},{name:Cx.Welkom,region:Ix.Brown,x:652,y:431},{name:Cx.Kuruman,region:Ix.Brown,x:499,y:386},{name:Cx.Kimberly,region:Ix.Brown,x:564,y:496},{name:Cx.Upington,region:Ix.Brown,x:378,y:453},{name:Cx.Springbok,region:Ix.Brown,x:211,y:530},{name:Cx.Namibia,region:Ix.Brown,x:189,y:311,singleOccupancy:!0},{name:Cx.DeAar,region:Ix.Red,x:539,y:665},{name:Cx.BeaufortWest,region:Ix.Red,x:427,y:705},{name:Cx.EastLondon,region:Ix.Red,x:722,y:750},{name:Cx.PortElizabeth,region:Ix.Red,x:600,y:811},{name:Cx.George,region:Ix.Red,x:439,y:811},{name:Cx.CapeTownN,region:Ix.Red,x:233,y:783},{name:Cx.CapeTownS,region:Ix.Red,x:231,y:812}],connections:[{nodes:[Cx.Springbok,Cx.Namibia],cost:30},{nodes:[Cx.Bloemfontein,Cx.Lesotho],cost:30},{nodes:[Cx.Germiston,Cx.Eswatini],cost:30},{nodes:[Cx.Mbombela,Cx.Mozambique],cost:30},{nodes:[Cx.Botswana,Cx.Rustenburg],cost:30},{nodes:[Cx.Zimbabwe,Cx.Musina],cost:30},{nodes:[Cx.CapeTownS,Cx.CapeTownN],cost:0},{nodes:[Cx.CapeTownS,Cx.George],cost:16},{nodes:[Cx.George,Cx.PortElizabeth],cost:12},{nodes:[Cx.PortElizabeth,Cx.EastLondon],cost:13},{nodes:[Cx.EastLondon,Cx.Mthatha],cost:8},{nodes:[Cx.Mthatha,Cx.DurbanS],cost:13},{nodes:[Cx.DurbanS,Cx.DurbanN],cost:0},{nodes:[Cx.DurbanN,Cx.Pietermaritzburg],cost:3},{nodes:[Cx.DurbanN,Cx.Newcastle],cost:9},{nodes:[Cx.Newcastle,Cx.Pietermaritzburg],cost:9},{nodes:[Cx.Pietermaritzburg,Cx.Ladysmith],cost:5},{nodes:[Cx.Ladysmith,Cx.Newcastle],cost:10},{nodes:[Cx.Bloemfontein,Cx.Mthatha],cost:18},{nodes:[Cx.Bloemfontein,Cx.EastLondon],cost:22},{nodes:[Cx.EastLondon,Cx.DeAar],cost:22},{nodes:[Cx.DeAar,Cx.PortElizabeth],cost:18},{nodes:[Cx.George,Cx.DeAar],cost:17},{nodes:[Cx.DeAar,Cx.BeaufortWest],cost:10},{nodes:[Cx.BeaufortWest,Cx.George],cost:8},{nodes:[Cx.BeaufortWest,Cx.CapeTownN],cost:22},{nodes:[Cx.CapeTownN,Cx.Springbok],cost:22},{nodes:[Cx.Springbok,Cx.BeaufortWest],cost:24},{nodes:[Cx.DeAar,Cx.Springbok],cost:26},{nodes:[Cx.Springbok,Cx.Upington],cost:16},{nodes:[Cx.Upington,Cx.DeAar],cost:16},{nodes:[Cx.DeAar,Cx.Bloemfontein],cost:13},{nodes:[Cx.Bloemfontein,Cx.Kimberly],cost:6},{nodes:[Cx.Kimberly,Cx.DeAar],cost:10},{nodes:[Cx.Kimberly,Cx.Upington],cost:14},{nodes:[Cx.Kimberly,Cx.Welkom],cost:9},{nodes:[Cx.Welkom,Cx.Bloemfontein],cost:6},{nodes:[Cx.Bloemfontein,Cx.Ladysmith],cost:19},{nodes:[Cx.Mthatha,Cx.Pietermaritzburg],cost:12},{nodes:[Cx.Upington,Cx.Kuruman],cost:11},{nodes:[Cx.Musina,Cx.Polokwane],cost:8},{nodes:[Cx.Polokwane,Cx.PretoriaN],cost:11},{nodes:[Cx.PretoriaN,Cx.PretoriaS],cost:0},{nodes:[Cx.PretoriaS,Cx.JohannesburgN],cost:2},{nodes:[Cx.JohannesburgN,Cx.JohannesburgS],cost:0},{nodes:[Cx.JohannesburgS,Cx.Germiston],cost:1},{nodes:[Cx.JohannesburgN,Cx.Mbombela],cost:13},{nodes:[Cx.Mbombela,Cx.Germiston],cost:13},{nodes:[Cx.PretoriaN,Cx.Mbombela],cost:13},{nodes:[Cx.Mbombela,Cx.Polokwane],cost:10},{nodes:[Cx.Musina,Cx.Mbombela],cost:15},{nodes:[Cx.PretoriaN,Cx.Rustenburg],cost:4},{nodes:[Cx.Rustenburg,Cx.JohannesburgN],cost:4},{nodes:[Cx.JohannesburgN,Cx.Klerksdorp],cost:7},{nodes:[Cx.Klerksdorp,Cx.Welkom],cost:5},{nodes:[Cx.Bloemfontein,Cx.JohannesburgS],cost:16},{nodes:[Cx.Kuruman,Cx.Rustenburg],cost:18},{nodes:[Cx.Klerksdorp,Cx.Kuruman],cost:12},{nodes:[Cx.Kuruman,Cx.Kimberly],cost:8},{nodes:[Cx.JohannesburgS,Cx.Ladysmith],cost:13},{nodes:[Cx.Ladysmith,Cx.Germiston],cost:13}],resupply:[[[4,7,5],[4,7,5],[5,8,6],[6,9,7],[7,10,8]],[[1,2,1],[1,2,1],[2,3,2],[2,4,3],[4,5,4]],[[1,3,3],[1,3,3],[2,4,4],[3,4,5],[3,6,6]],[[1,1,2],[1,1,2],[2,2,3],[2,3,3],[2,3,4]]],layout:"Landscape",adjustRatio:[.9,.75],mapPosition:[70,50],mapRotation:0,startingResources:[24,15,12,3],startingSupply:[24,24,24,12],setupDeck:function(e,n,t){var r,o,i=Object(Qw["cloneDeep"])(yk).filter((function(e){return 7!==e.number}));if("original"==n){i=i.slice(8);var a=i.findIndex((function(e){return 13==e.number})),c=i.splice(a,1)[0],u=i.pop();i=uk(i,t()+""),2==e||3==e?i=i.slice(8):4==e&&(i=i.slice(4)),i.unshift(c),i.push(u),r=[j_(3),j_(4),j_(5),j_(6)],o=[j_(8),j_(9),j_(10),j_(11)]}else{var s=uk(i.splice(0,12),t()+""),l=s.splice(0,8);l=l.sort((function(e,n){return e.number-n.number})),r=l.slice(0,4),o=l.slice(4);var d=s.shift(),f=i.pop();i=uk(i,t()+""),2==e?(s=s.slice(1),i=uk(i.slice(5).concat(s),t()+"")):3==e?(s=s.slice(2),i=uk(i.slice(6).concat(s),t()+"")):4==e?(s=s.slice(1),i=uk(i.slice(3).concat(s),t()+"")):i=uk(i.concat(s),t()+""),i.unshift(d),i.push(f)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:i}},mapSpecificRules:"Coal storage: there is a separate storage space below the resource market, empty at game start. Coal used to power plants returns to this storage space (not the main supply). The resource-market refill draws coal from storage first, then from the main supply. Players can always buy coal for $8 from the storage space (in addition to the standard market price). Metropolises: Cape Town, Durban, Johannesburg and Pretoria each consist of two cities (N and S) connected by a 0-cost edge. Cross-border connections: the six 30-Elektro connections to neighboring countries (Namibia, Botswana, Zimbabwe, Mozambique, Eswatini, Lesotho) are available from the start of the game. The 30 Elektro is the complete cost — no house-base cost is added on top. Only a single player can build on each cross-border space (cap of 1 instead of the standard 3).\n",deckBuild:"power plant 07 is removed from the game; otherwise standard setup for both variants (in the original variant the future market becomes 8, 9, 10, 11)."};(function(e){e["Pink"]="pink",e["Brown"]="brown",e["Green"]="green",e["Purple"]="purple",e["Red"]="red",e["Yellow"]="yellow"})(Ax||(Ax={})),function(e){e["Gerona"]="Gerona",e["Barcelona"]="Barcelona",e["Tarragona"]="Tarragona",e["Lerida"]="Lerida",e["Castellondelaplana"]="Castellon De La Plana",e["Valencia"]="Valencia",e["Alicante"]="Alicante",e["Sansebastian"]="San Sebastian",e["Pamplona"]="Pamplona",e["Zaragoza"]="Zaragoza",e["Madrid"]="Madrid",e["Logrono"]="Logrono",e["Bilbao"]="Bilbao",e["Santander"]="Santander",e["Gijon"]="Gijon",e["Leon"]="Leon",e["Valladolid"]="Valladolid",e["Salamanca"]="Salamanca",e["Orense"]="Orense",e["Lacoruna"]="La Coruna",e["Santiagodecompostela"]="Santiago De Compostela",e["Cuenca"]="Cuenca",e["Albacete"]="Albacete",e["Murcia"]="Murcia",e["Toledo"]="Toledo",e["Ciudadreal"]="Ciudad Real",e["Caceres"]="Caceres",e["Merida"]="Merida",e["Almeria"]="Almeria",e["Granada"]="Granada",e["Cordoba"]="Cordoba",e["Malaga"]="Malaga",e["Cadiz"]="Cadiz",e["Sevilla"]="Sevilla",e["Huelva"]="Huelva",e["Evora"]="Evora",e["Faro"]="Faro",e["Portimao"]="Portimao",e["Setubal"]="Setubal",e["Lisboa"]="Lisboa",e["Porto"]="Porto",e["Braga"]="Braga"}(Nx||(Nx={}));var jx,Lx,Dx={name:"Spain & Portugal",noUraniumRegions:[Ax.Yellow],cities:[{name:Nx.Evora,region:Ax.Yellow,x:890,y:1780},{name:Nx.Faro,region:Ax.Yellow,x:822,y:2348},{name:Nx.Portimao,region:Ax.Yellow,x:592,y:2218},{name:Nx.Setubal,region:Ax.Yellow,x:578,y:1864},{name:Nx.Lisboa,region:Ax.Yellow,x:572,y:1586},{name:Nx.Porto,region:Ax.Yellow,x:736,y:1052},{name:Nx.Braga,region:Ax.Yellow,x:990,y:828},{name:Nx.Gerona,region:Ax.Pink,x:3728,y:666},{name:Nx.Barcelona,region:Ax.Pink,x:3538,y:848},{name:Nx.Tarragona,region:Ax.Pink,x:3312,y:970},{name:Nx.Lerida,region:Ax.Pink,x:3166,y:752},{name:Nx.Castellondelaplana,region:Ax.Pink,x:3010,y:1284},{name:Nx.Valencia,region:Ax.Pink,x:2938,y:1580},{name:Nx.Alicante,region:Ax.Pink,x:2936,y:1922},{name:Nx.Sansebastian,region:Ax.Brown,x:2498,y:278},{name:Nx.Pamplona,region:Ax.Brown,x:2648,y:484},{name:Nx.Zaragoza,region:Ax.Brown,x:2760,y:810},{name:Nx.Madrid,region:Ax.Brown,x:2088,y:1170},{name:Nx.Logrono,region:Ax.Brown,x:2310,y:622},{name:Nx.Bilbao,region:Ax.Brown,x:2264,y:226},{name:Nx.Santander,region:Ax.Brown,x:2022,y:252},{name:Nx.Gijon,region:Ax.Green,x:1672,y:190},{name:Nx.Leon,region:Ax.Green,x:1604,y:518},{name:Nx.Valladolid,region:Ax.Green,x:1850,y:782},{name:Nx.Salamanca,region:Ax.Green,x:1564,y:1032},{name:Nx.Orense,region:Ax.Green,x:1072,y:532},{name:Nx.Lacoruna,region:Ax.Green,x:982,y:184},{name:Nx.Santiagodecompostela,region:Ax.Green,x:772,y:394},{name:Nx.Cuenca,region:Ax.Purple,x:2464,y:1300},{name:Nx.Albacete,region:Ax.Purple,x:2532,y:1684},{name:Nx.Murcia,region:Ax.Purple,x:2678,y:2056},{name:Nx.Toledo,region:Ax.Purple,x:1920,y:1400},{name:Nx.Ciudadreal,region:Ax.Purple,x:1982,y:1714},{name:Nx.Caceres,region:Ax.Purple,x:1354,y:1432},{name:Nx.Merida,region:Ax.Purple,x:1318,y:1764},{name:Nx.Almeria,region:Ax.Red,x:2402,y:2440},{name:Nx.Granada,region:Ax.Red,x:2044,y:2272},{name:Nx.Cordoba,region:Ax.Red,x:1728,y:2074},{name:Nx.Malaga,region:Ax.Red,x:1782,y:2484},{name:Nx.Cadiz,region:Ax.Red,x:1290,y:2552},{name:Nx.Sevilla,region:Ax.Red,x:1390,y:2168},{name:Nx.Huelva,region:Ax.Red,x:1082,y:2196}],connections:[{nodes:[Nx.Huelva,Nx.Faro],cost:6},{nodes:[Nx.Faro,Nx.Portimao],cost:4},{nodes:[Nx.Portimao,Nx.Setubal],cost:12},{nodes:[Nx.Setubal,Nx.Evora],cost:6},{nodes:[Nx.Evora,Nx.Merida],cost:9},{nodes:[Nx.Merida,Nx.Sevilla],cost:14},{nodes:[Nx.Sevilla,Nx.Cadiz],cost:8},{nodes:[Nx.Cadiz,Nx.Malaga],cost:12},{nodes:[Nx.Malaga,Nx.Granada],cost:7},{nodes:[Nx.Granada,Nx.Almeria],cost:9},{nodes:[Nx.Almeria,Nx.Murcia],cost:13},{nodes:[Nx.Murcia,Nx.Alicante],cost:4},{nodes:[Nx.Alicante,Nx.Valencia],cost:9},{nodes:[Nx.Valencia,Nx.Castellondelaplana],cost:4},{nodes:[Nx.Albacete,Nx.Almeria],cost:19},{nodes:[Nx.Albacete,Nx.Murcia],cost:10},{nodes:[Nx.Albacete,Nx.Alicante],cost:11},{nodes:[Nx.Albacete,Nx.Valencia],cost:11},{nodes:[Nx.Albacete,Nx.Cuenca],cost:8},{nodes:[Nx.Albacete,Nx.Ciudadreal],cost:13},{nodes:[Nx.Albacete,Nx.Granada],cost:19},{nodes:[Nx.Albacete,Nx.Toledo],cost:14},{nodes:[Nx.Toledo,Nx.Madrid],cost:6},{nodes:[Nx.Madrid,Nx.Cuenca],cost:11},{nodes:[Nx.Cuenca,Nx.Valencia],cost:13},{nodes:[Nx.Cuenca,Nx.Castellondelaplana],cost:14},{nodes:[Nx.Castellondelaplana,Nx.Tarragona],cost:12},{nodes:[Nx.Toledo,Nx.Caceres],cost:16},{nodes:[Nx.Caceres,Nx.Merida],cost:4},{nodes:[Nx.Merida,Nx.Ciudadreal],cost:16},{nodes:[Nx.Ciudadreal,Nx.Granada],cost:16},{nodes:[Nx.Granada,Nx.Cordoba],cost:11},{nodes:[Nx.Cordoba,Nx.Malaga],cost:11},{nodes:[Nx.Malaga,Nx.Sevilla],cost:12},{nodes:[Nx.Sevilla,Nx.Cordoba],cost:8},{nodes:[Nx.Cordoba,Nx.Ciudadreal],cost:10},{nodes:[Nx.Merida,Nx.Cordoba],cost:14},{nodes:[Nx.Huelva,Nx.Cadiz],cost:9},{nodes:[Nx.Huelva,Nx.Sevilla],cost:6},{nodes:[Nx.Merida,Nx.Huelva],cost:15},{nodes:[Nx.Huelva,Nx.Evora],cost:12},{nodes:[Nx.Evora,Nx.Faro],cost:13},{nodes:[Nx.Faro,Nx.Setubal],cost:14},{nodes:[Nx.Setubal,Nx.Lisboa],cost:4},{nodes:[Nx.Lisboa,Nx.Evora],cost:9},{nodes:[Nx.Lisboa,Nx.Merida],cost:16},{nodes:[Nx.Caceres,Nx.Ciudadreal],cost:16},{nodes:[Nx.Toledo,Nx.Cuenca],cost:13},{nodes:[Nx.Salamanca,Nx.Toledo],cost:14},{nodes:[Nx.Salamanca,Nx.Madrid],cost:14},{nodes:[Nx.Salamanca,Nx.Caceres],cost:13},{nodes:[Nx.Porto,Nx.Lisboa],cost:18},{nodes:[Nx.Porto,Nx.Salamanca],cost:19},{nodes:[Nx.Porto,Nx.Caceres],cost:21},{nodes:[Nx.Caceres,Nx.Lisboa],cost:19},{nodes:[Nx.Ciudadreal,Nx.Toledo],cost:7},{nodes:[Nx.Braga,Nx.Porto],cost:3},{nodes:[Nx.Braga,Nx.Salamanca],cost:19},{nodes:[Nx.Salamanca,Nx.Valladolid],cost:7},{nodes:[Nx.Valladolid,Nx.Madrid],cost:13},{nodes:[Nx.Madrid,Nx.Zaragoza],cost:19},{nodes:[Nx.Zaragoza,Nx.Lerida],cost:8},{nodes:[Nx.Lerida,Nx.Tarragona],cost:6},{nodes:[Nx.Tarragona,Nx.Barcelona],cost:6},{nodes:[Nx.Lerida,Nx.Castellondelaplana],cost:13},{nodes:[Nx.Castellondelaplana,Nx.Zaragoza],cost:15},{nodes:[Nx.Zaragoza,Nx.Cuenca],cost:16},{nodes:[Nx.Braga,Nx.Valladolid],cost:24},{nodes:[Nx.Lerida,Nx.Barcelona],cost:10},{nodes:[Nx.Barcelona,Nx.Gerona],cost:6},{nodes:[Nx.Gerona,Nx.Lerida],cost:13},{nodes:[Nx.Lerida,Nx.Pamplona],cost:17},{nodes:[Nx.Pamplona,Nx.Zaragoza],cost:11},{nodes:[Nx.Zaragoza,Nx.Logrono],cost:11},{nodes:[Nx.Logrono,Nx.Madrid],cost:18},{nodes:[Nx.Santiagodecompostela,Nx.Braga],cost:11},{nodes:[Nx.Braga,Nx.Orense],cost:9},{nodes:[Nx.Orense,Nx.Santiagodecompostela],cost:7},{nodes:[Nx.Santiagodecompostela,Nx.Lacoruna],cost:4},{nodes:[Nx.Lacoruna,Nx.Gijon],cost:9},{nodes:[Nx.Gijon,Nx.Santander],cost:11},{nodes:[Nx.Santander,Nx.Bilbao],cost:6},{nodes:[Nx.Bilbao,Nx.Sansebastian],cost:5},{nodes:[Nx.Sansebastian,Nx.Pamplona],cost:6},{nodes:[Nx.Pamplona,Nx.Logrono],cost:7},{nodes:[Nx.Logrono,Nx.Sansebastian],cost:9},{nodes:[Nx.Bilbao,Nx.Logrono],cost:9},{nodes:[Nx.Logrono,Nx.Santander],cost:13},{nodes:[Nx.Santander,Nx.Valladolid],cost:16},{nodes:[Nx.Valladolid,Nx.Logrono],cost:15},{nodes:[Nx.Leon,Nx.Santander],cost:13},{nodes:[Nx.Gijon,Nx.Leon],cost:9},{nodes:[Nx.Leon,Nx.Valladolid],cost:9},{nodes:[Nx.Valladolid,Nx.Orense],cost:22},{nodes:[Nx.Orense,Nx.Leon],cost:14},{nodes:[Nx.Gijon,Nx.Orense],cost:10},{nodes:[Nx.Orense,Nx.Lacoruna],cost:6}],layout:"Portrait",adjustRatio:[.315,.315],mapPosition:[-135,60],resupply:[[[3,4,2],[4,5,2],[4,6,3],[4,7,3],[6,8,4]],[[2,3,5],[2,4,5],[3,5,6],[4,6,7],[5,7,9]],[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],[[0,2,1],[0,2,1],[0,4,1],[0,5,1],[0,5,2]]],startingResources:[24,18,9,8],setupDeck:function(e,n,t){var r,o,i=Object(Qw["cloneDeep"])(yk);if(i=i.filter((function(e){return![18,22,27].includes(e.number)})),"original"==n){i=i.slice(8);var a=i.splice(2,1)[0],c=i.pop();i=uk(i,t()+""),2==e||3==e?i=i.slice(8):4==e&&(i=i.slice(4)),i.unshift(a),i.push(c),r=[j_(3),j_(4),j_(5),j_(6)],o=[j_(7),j_(8),j_(9),j_(10)]}else{var u=uk(i.splice(0,13),t()+""),s=u.splice(0,8);s=s.sort((function(e,n){return e.number-n.number})),r=s.slice(0,4),o=s.slice(4);var l=u.shift(),d=i.pop();i=uk(i,t()+""),2==e?(u=u.slice(1),i=uk(i.slice(5).concat(u),t()+"")):3==e?(u=u.slice(2),i=uk(i.slice(6).concat(u),t()+"")):4==e?(u=u.slice(1),i=uk(i.slice(3).concat(u),t()+"")):i=uk(i.concat(u),t()+""),i.unshift(l),i.push(d)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:i}},mapSpecificRules:"You cannot buy a nuclear power plant if you only have cities in Portugal.\n",deckBuild:"power plants 18, 22 and 27 are set aside at setup; when Step 2 begins they are placed on top of the deck (18 topmost, then 22, then 27)."};(function(e){e["Red"]="red",e["Pink"]="pink",e["Yellow"]="yellow",e["Brown"]="brown",e["Orange"]="orange",e["Green"]="green"})(jx||(jx={})),function(e){e["Norwich"]="Norwich",e["London1"]="London 1",e["London2"]="London 2",e["Brighton"]="Brighton",e["Southampton"]="Southampton",e["Plymouth"]="Plymouth",e["Leicester"]="Leicester",e["Bristol"]="Bristol",e["Newcastleupontyne"]="Newcastle Upon Tyne",e["Leeds"]="Leeds",e["Sheffield"]="Sheffield",e["Nottingham"]="Nottingham",e["Birmingham"]="Birmingham",e["Manchester"]="Manchester",e["Liverpool"]="Liverpool",e["Newportcasnewydd"]="Newport Casnewydd",e["Bangor"]="Bangor",e["Aberystwyth"]="Aberystwyth",e["Swanseaabertawe"]="Swansea Abertawe",e["Cardiffcaerdydd"]="Cardiff Caerdydd",e["Haverfordwesthwlffordd"]="Haverfordwest Hwlffordd",e["Invernessinbhirnis"]="Inverness Inbhir Nis",e["Aberdeenobardheathain"]="Aberdeen Obar Dheathain",e["Dundeedundeach"]="Dundee Dun Deach",e["Perthpeairt"]="Perth Peairt",e["Edinburgh"]="Edinburgh",e["Dumfries"]="Dumfries",e["Glasgow"]="Glasgow",e["Coleraine"]="Coleraine",e["Derry"]="Derry",e["Belfast"]="Belfast",e["Newry"]="Newry",e["Omagh"]="Omagh",e["Sligo"]="Sligo",e["Dublin"]="Dublin",e["Waterford"]="Waterford",e["Cork"]="Cork",e["Athlone"]="Athlone",e["Galway"]="Galway",e["Limerick"]="Limerick"}(Lx||(Lx={}));var Rx={name:"UK & Ireland",noUraniumRegions:[jx.Green],cities:[{name:Lx.Norwich,region:jx.Red,island:"gb",x:646,y:702},{name:Lx.London1,region:jx.Red,island:"gb",x:554,y:756},{name:Lx.London2,region:jx.Red,island:"gb",x:550,y:780},{name:Lx.Brighton,region:jx.Red,island:"gb",x:537,y:837},{name:Lx.Southampton,region:jx.Red,island:"gb",x:451,y:805},{name:Lx.Plymouth,region:jx.Red,island:"gb",x:312,y:814},{name:Lx.Leicester,region:jx.Red,island:"gb",x:540,y:680},{name:Lx.Bristol,region:jx.Red,island:"gb",x:425,y:762},{name:Lx.Newcastleupontyne,region:jx.Pink,island:"gb",x:550,y:414},{name:Lx.Leeds,region:jx.Pink,island:"gb",x:559,y:541},{name:Lx.Sheffield,region:jx.Pink,island:"gb",x:530,y:590},{name:Lx.Nottingham,region:jx.Pink,island:"gb",x:531,y:632},{name:Lx.Birmingham,region:jx.Pink,island:"gb",x:465,y:663},{name:Lx.Manchester,region:jx.Pink,island:"gb",x:479,y:543},{name:Lx.Liverpool,region:jx.Pink,island:"gb",x:433,y:576},{name:Lx.Newportcasnewydd,region:jx.Yellow,island:"gb",x:425,y:722},{name:Lx.Bangor,region:jx.Yellow,island:"gb",x:348,y:574},{name:Lx.Aberystwyth,region:jx.Yellow,island:"gb",x:357,y:639},{name:Lx.Swanseaabertawe,region:jx.Yellow,island:"gb",x:346,y:706},{name:Lx.Cardiffcaerdydd,region:jx.Yellow,island:"gb",x:357,y:761},{name:Lx.Haverfordwesthwlffordd,region:jx.Yellow,island:"gb",x:303,y:673},{name:Lx.Invernessinbhirnis,region:jx.Brown,island:"gb",x:479,y:208},{name:Lx.Aberdeenobardheathain,region:jx.Brown,island:"gb",x:588,y:245},{name:Lx.Dundeedundeach,region:jx.Brown,island:"gb",x:552,y:286},{name:Lx.Perthpeairt,region:jx.Brown,island:"gb",x:489,y:307},{name:Lx.Edinburgh,region:jx.Brown,island:"gb",x:494,y:375},{name:Lx.Dumfries,region:jx.Brown,island:"gb",x:441,y:417},{name:Lx.Glasgow,region:jx.Brown,island:"gb",x:422,y:335},{name:Lx.Coleraine,region:jx.Orange,island:"ie",x:330,y:367},{name:Lx.Derry,region:jx.Orange,island:"ie",x:256,y:362},{name:Lx.Belfast,region:jx.Orange,island:"ie",x:342,y:421},{name:Lx.Newry,region:jx.Orange,island:"ie",x:298,y:462},{name:Lx.Omagh,region:jx.Orange,island:"ie",x:260,y:403},{name:Lx.Sligo,region:jx.Green,island:"ie",x:181,y:411},{name:Lx.Dublin,region:jx.Green,island:"ie",x:274,y:530},{name:Lx.Waterford,region:jx.Green,island:"ie",x:210,y:611},{name:Lx.Cork,region:jx.Green,island:"ie",x:114,y:626},{name:Lx.Athlone,region:jx.Green,island:"ie",x:200,y:489},{name:Lx.Galway,region:jx.Green,island:"ie",x:112,y:486},{name:Lx.Limerick,region:jx.Green,island:"ie",x:122,y:546}],connections:[{nodes:[Lx.Nottingham,Lx.Leicester],cost:4},{nodes:[Lx.London1,Lx.London2],cost:0},{nodes:[Lx.London2,Lx.Brighton],cost:6},{nodes:[Lx.Brighton,Lx.Southampton],cost:7},{nodes:[Lx.Southampton,Lx.Plymouth],cost:19},{nodes:[Lx.Plymouth,Lx.Bristol],cost:14},{nodes:[Lx.Bristol,Lx.Newportcasnewydd],cost:7},{nodes:[Lx.Cardiffcaerdydd,Lx.Swanseaabertawe],cost:7},{nodes:[Lx.Swanseaabertawe,Lx.Newportcasnewydd],cost:8},{nodes:[Lx.Newportcasnewydd,Lx.Cardiffcaerdydd],cost:3},{nodes:[Lx.Bristol,Lx.Southampton],cost:11},{nodes:[Lx.Southampton,Lx.London2],cost:9},{nodes:[Lx.London2,Lx.Bristol],cost:14},{nodes:[Lx.London1,Lx.Newportcasnewydd],cost:16},{nodes:[Lx.Haverfordwesthwlffordd,Lx.Aberystwyth],cost:9},{nodes:[Lx.Haverfordwesthwlffordd,Lx.Swanseaabertawe],cost:8},{nodes:[Lx.Swanseaabertawe,Lx.Aberystwyth],cost:11},{nodes:[Lx.Aberystwyth,Lx.Bangor],cost:11},{nodes:[Lx.Bangor,Lx.Liverpool],cost:9},{nodes:[Lx.Liverpool,Lx.Aberystwyth],cost:16},{nodes:[Lx.Aberystwyth,Lx.Newportcasnewydd],cost:14},{nodes:[Lx.Aberystwyth,Lx.Birmingham],cost:16},{nodes:[Lx.Birmingham,Lx.Liverpool],cost:12},{nodes:[Lx.Birmingham,Lx.Newportcasnewydd],cost:9},{nodes:[Lx.London1,Lx.Norwich],cost:11},{nodes:[Lx.Norwich,Lx.Leicester],cost:12},{nodes:[Lx.Leicester,Lx.London1],cost:10},{nodes:[Lx.London1,Lx.Birmingham],cost:13},{nodes:[Lx.Birmingham,Lx.Leicester],cost:6},{nodes:[Lx.Birmingham,Lx.Nottingham],cost:7},{nodes:[Lx.Nottingham,Lx.Sheffield],cost:6},{nodes:[Lx.Sheffield,Lx.Leeds],cost:5},{nodes:[Lx.Leeds,Lx.Manchester],cost:8},{nodes:[Lx.Manchester,Lx.Sheffield],cost:8},{nodes:[Lx.Sheffield,Lx.Liverpool],cost:12},{nodes:[Lx.Liverpool,Lx.Nottingham],cost:15},{nodes:[Lx.Manchester,Lx.Dumfries],cost:18},{nodes:[Lx.Manchester,Lx.Newcastleupontyne],cost:15},{nodes:[Lx.Newcastleupontyne,Lx.Dumfries],cost:12},{nodes:[Lx.Dumfries,Lx.Edinburgh],cost:12},{nodes:[Lx.Edinburgh,Lx.Newcastleupontyne],cost:13},{nodes:[Lx.Newcastleupontyne,Lx.Leeds],cost:13},{nodes:[Lx.Dumfries,Lx.Glasgow],cost:11},{nodes:[Lx.Glasgow,Lx.Edinburgh],cost:7},{nodes:[Lx.Glasgow,Lx.Perthpeairt],cost:10},{nodes:[Lx.Perthpeairt,Lx.Dundeedundeach],cost:3},{nodes:[Lx.Glasgow,Lx.Invernessinbhirnis],cost:20},{nodes:[Lx.Invernessinbhirnis,Lx.Perthpeairt],cost:14},{nodes:[Lx.Invernessinbhirnis,Lx.Dundeedundeach],cost:14},{nodes:[Lx.Invernessinbhirnis,Lx.Aberdeenobardheathain],cost:15},{nodes:[Lx.Aberdeenobardheathain,Lx.Dundeedundeach],cost:10},{nodes:[Lx.Limerick,Lx.Cork],cost:12},{nodes:[Lx.Cork,Lx.Waterford],cost:8},{nodes:[Lx.Waterford,Lx.Limerick],cost:11},{nodes:[Lx.Limerick,Lx.Galway],cost:10},{nodes:[Lx.Galway,Lx.Sligo],cost:10},{nodes:[Lx.Sligo,Lx.Derry],cost:10},{nodes:[Lx.Derry,Lx.Coleraine],cost:6},{nodes:[Lx.Coleraine,Lx.Belfast],cost:8},{nodes:[Lx.Belfast,Lx.Newry],cost:6},{nodes:[Lx.Newry,Lx.Dublin],cost:10},{nodes:[Lx.Dublin,Lx.Waterford],cost:13},{nodes:[Lx.Galway,Lx.Athlone],cost:8},{nodes:[Lx.Athlone,Lx.Sligo],cost:9},{nodes:[Lx.Athlone,Lx.Limerick],cost:9},{nodes:[Lx.Limerick,Lx.Dublin],cost:16},{nodes:[Lx.Dublin,Lx.Athlone],cost:9},{nodes:[Lx.Athlone,Lx.Newry],cost:12},{nodes:[Lx.Athlone,Lx.Omagh],cost:14},{nodes:[Lx.Omagh,Lx.Newry],cost:8},{nodes:[Lx.Omagh,Lx.Belfast],cost:10},{nodes:[Lx.Belfast,Lx.Derry],cost:10},{nodes:[Lx.Omagh,Lx.Derry],cost:5},{nodes:[Lx.Omagh,Lx.Sligo],cost:10}],layout:"Portrait",adjustRatio:[1.1,1.1],mapPosition:[10,-75],mapRotation:0,resupply:[[[3,4,3],[3,5,3],[4,6,4],[4,7,5],[6,8,6]],[[2,3,2],[2,4,2],[3,5,3],[4,6,4],[5,7,5]],[[1,2,2],[1,2,2],[2,3,3],[3,3,5],[3,5,5]],[[1,1,1],[1,2,1],[1,3,1],[2,4,2],[2,4,3]]],startingResources:[24,18,12,0],startingSupply:[24,24,24,12],crossIslandSurcharge:20,setupDeck:function(e,n,t){var r,o,i=Object(Qw["cloneDeep"])(yk);if("original"==n){i=i.slice(8);var a=i.findIndex((function(e){return 13==e.number})),c=i.splice(a,1)[0],u=i.pop();i=uk(i,t()+""),2==e||3==e?i=i.slice(8):4==e&&(i=i.slice(4)),i.unshift(c),i.splice(i.length-2,0,u),r=[j_(3),j_(4),j_(5),j_(6)],o=[j_(7),j_(8),j_(9),j_(10)]}else{var s=uk(i.splice(0,13),t()+""),l=s.splice(0,8);l=l.sort((function(e,n){return e.number-n.number})),r=l.slice(0,4),o=l.slice(4);var d=s.shift(),f=i.pop();i=uk(i,t()+""),2==e?(s=s.slice(1),i=uk(i.slice(5).concat(s),t()+"")):3==e?(s=s.slice(2),i=uk(i.slice(6).concat(s),t()+"")):4==e?(s=s.slice(1),i=uk(i.slice(3).concat(s),t()+"")):i=uk(i.concat(s),t()+""),i.unshift(d),i.splice(i.length-2,0,f)}return{actualMarket:r,futureMarket:o,powerPlantsDeck:i}},mapSpecificRules:"Two networks: Ireland (Green and Orange regions) and Great Britain (Red, Pink, Yellow, Brown) have no sea connection. A player may run one network on each island. Starting a second network on the other island is only possible on an EMPTY spot and costs an extra 20 Elektro on top of the normal first-house cost($10). Nuclear restriction: a player whose network is entirely in the Republic of Ireland (Green region) cannot bid on or auction a nuclear power plant until they build a city in Scotland, Wales, England, or Northern Ireland. Early Step 3: the Step 3 card is placed 3rd from last in the deck (two plants below it). Step 2 begins when a player connects their 7th city (6th for 6 players).\n",deckBuild:"standard setup for both variants, except the Step 3 card is placed third from the bottom of the deck (two plants below it)."},Tx=[mk,Jk,Nk,Dx,$k,Qk,tx,Px,mx,Uk,Ck,Ox,Tk,Mk,_x,ux,Fk,wx,zx,Rx,xk,Lk,px,ix],Bx=[gk,Hk,Nk,Dx,$k,Qk,tx,Px,mx,Uk,Ck,Ox,Tk,Mk,_x,ux,Fk,wx,zx,Rx,xk,Lk,px,ax];const Ex=Math.pow(2,-52),Ux=new Uint32Array(512);class Gx{static from(e,n=qx,t=Xx){const r=e.length,o=new Float64Array(2*r);for(let i=0;i<r;i++){const r=e[i];o[2*i]=n(r),o[2*i+1]=t(r)}return new Gx(o)}constructor(e){const n=e.length>>1;if(n>0&&"number"!==typeof e[0])throw new Error("Expected coords to contain numbers.");this.coords=e;const t=Math.max(2*n-5,0);this._triangles=new Uint32Array(3*t),this._halfedges=new Int32Array(3*t),this._hashSize=Math.ceil(Math.sqrt(n)),this._hullPrev=new Uint32Array(n),this._hullNext=new Uint32Array(n),this._hullTri=new Uint32Array(n),this._hullHash=new Int32Array(this._hashSize).fill(-1),this._ids=new Uint32Array(n),this._dists=new Float64Array(n),this.update()}update(){const{coords:e,_hullPrev:n,_hullNext:t,_hullTri:r,_hullHash:o}=this,i=e.length>>1;let a=1/0,c=1/0,u=-1/0,s=-1/0;for(let M=0;M<i;M++){const n=e[2*M],t=e[2*M+1];n<a&&(a=n),t<c&&(c=t),n>u&&(u=n),t>s&&(s=t),this._ids[M]=M}const l=(a+u)/2,d=(c+s)/2;let f,p,v,h=1/0;for(let M=0;M<i;M++){const n=Fx(l,d,e[2*M],e[2*M+1]);n<h&&(f=M,h=n)}const m=e[2*f],g=e[2*f+1];h=1/0;for(let M=0;M<i;M++){if(M===f)continue;const n=Fx(m,g,e[2*M],e[2*M+1]);n<h&&n>0&&(p=M,h=n)}let y=e[2*p],b=e[2*p+1],w=1/0;for(let M=0;M<i;M++){if(M===f||M===p)continue;const n=Wx(m,g,y,b,e[2*M],e[2*M+1]);n<w&&(v=M,w=n)}let k=e[2*v],x=e[2*v+1];if(w===1/0){for(let r=0;r<i;r++)this._dists[r]=e[2*r]-e[0]||e[2*r+1]-e[1];Jx(this._ids,this._dists,0,i-1);const n=new Uint32Array(i);let t=0;for(let e=0,r=-1/0;e<i;e++){const o=this._ids[e];this._dists[o]>r&&(n[t++]=o,r=this._dists[o])}return this.hull=n.subarray(0,t),this.triangles=new Uint32Array(0),void(this.halfedges=new Uint32Array(0))}if(Vx(m,g,y,b,k,x)){const e=p,n=y,t=b;p=v,y=k,b=x,v=e,k=n,x=t}const _=Yx(m,g,y,b,k,x);this._cx=_.x,this._cy=_.y;for(let M=0;M<i;M++)this._dists[M]=Fx(e[2*M],e[2*M+1],_.x,_.y);Jx(this._ids,this._dists,0,i-1),this._hullStart=f;let S=3;t[f]=n[v]=p,t[p]=n[f]=v,t[v]=n[p]=f,r[f]=0,r[p]=1,r[v]=2,o.fill(-1),o[this._hashKey(m,g)]=f,o[this._hashKey(y,b)]=p,o[this._hashKey(k,x)]=v,this.trianglesLen=0,this._addTriangle(f,p,v,-1,-1,-1);for(let M,P,I=0;I<this._ids.length;I++){const i=this._ids[I],a=e[2*i],c=e[2*i+1];if(I>0&&Math.abs(a-M)<=Ex&&Math.abs(c-P)<=Ex)continue;if(M=a,P=c,i===f||i===p||i===v)continue;let u=0;for(let e=0,n=this._hashKey(a,c);e<this._hashSize;e++)if(u=o[(n+e)%this._hashSize],-1!==u&&u!==t[u])break;u=n[u];let s,l=u;while(s=t[l],!Vx(a,c,e[2*l],e[2*l+1],e[2*s],e[2*s+1]))if(l=s,l===u){l=-1;break}if(-1===l)continue;let d=this._addTriangle(l,i,t[l],-1,-1,r[l]);r[i]=this._legalize(d+2),r[l]=d,S++;let h=t[l];while(s=t[h],Vx(a,c,e[2*h],e[2*h+1],e[2*s],e[2*s+1]))d=this._addTriangle(h,i,s,r[i],-1,r[h]),r[i]=this._legalize(d+2),t[h]=h,S--,h=s;if(l===u)while(s=n[l],Vx(a,c,e[2*s],e[2*s+1],e[2*l],e[2*l+1]))d=this._addTriangle(s,i,l,-1,r[l],r[s]),this._legalize(d+2),r[s]=d,t[l]=l,S--,l=s;this._hullStart=n[i]=l,t[l]=n[h]=i,t[i]=h,o[this._hashKey(a,c)]=i,o[this._hashKey(e[2*l],e[2*l+1])]=l}this.hull=new Uint32Array(S);for(let M=0,P=this._hullStart;M<S;M++)this.hull[M]=P,P=t[P];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(e,n){return Math.floor(Zx(e-this._cx,n-this._cy)*this._hashSize)%this._hashSize}_legalize(e){const{_triangles:n,_halfedges:t,coords:r}=this;let o=0,i=0;while(1){const a=t[e],c=e-e%3;if(i=c+(e+2)%3,-1===a){if(0===o)break;e=Ux[--o];continue}const u=a-a%3,s=c+(e+1)%3,l=u+(a+2)%3,d=n[i],f=n[e],p=n[s],v=n[l],h=$x(r[2*d],r[2*d+1],r[2*f],r[2*f+1],r[2*p],r[2*p+1],r[2*v],r[2*v+1]);if(h){n[e]=v,n[a]=d;const r=t[l];if(-1===r){let n=this._hullStart;do{if(this._hullTri[n]===l){this._hullTri[n]=e;break}n=this._hullPrev[n]}while(n!==this._hullStart)}this._link(e,r),this._link(a,t[i]),this._link(i,l);const c=u+(a+1)%3;o<Ux.length&&(Ux[o++]=c)}else{if(0===o)break;e=Ux[--o]}}return i}_link(e,n){this._halfedges[e]=n,-1!==n&&(this._halfedges[n]=e)}_addTriangle(e,n,t,r,o,i){const a=this.trianglesLen;return this._triangles[a]=e,this._triangles[a+1]=n,this._triangles[a+2]=t,this._link(a,r),this._link(a+1,o),this._link(a+2,i),this.trianglesLen+=3,a}}function Zx(e,n){const t=e/(Math.abs(e)+Math.abs(n));return(n>0?3-t:1+t)/4}function Fx(e,n,t,r){const o=e-t,i=n-r;return o*o+i*i}function Kx(e,n,t,r,o,i){const a=(r-n)*(o-e),c=(t-e)*(i-n);return Math.abs(a-c)>=33306690738754716e-32*Math.abs(a+c)?a-c:0}function Vx(e,n,t,r,o,i){const a=Kx(o,i,e,n,t,r)||Kx(e,n,t,r,o,i)||Kx(t,r,o,i,e,n);return a<0}function $x(e,n,t,r,o,i,a,c){const u=e-a,s=n-c,l=t-a,d=r-c,f=o-a,p=i-c,v=u*u+s*s,h=l*l+d*d,m=f*f+p*p;return u*(d*m-h*p)-s*(l*m-h*f)+v*(l*p-d*f)<0}function Wx(e,n,t,r,o,i){const a=t-e,c=r-n,u=o-e,s=i-n,l=a*a+c*c,d=u*u+s*s,f=.5/(a*s-c*u),p=(s*l-c*d)*f,v=(a*d-u*l)*f;return p*p+v*v}function Yx(e,n,t,r,o,i){const a=t-e,c=r-n,u=o-e,s=i-n,l=a*a+c*c,d=u*u+s*s,f=.5/(a*s-c*u),p=e+(s*l-c*d)*f,v=n+(a*d-u*l)*f;return{x:p,y:v}}function Jx(e,n,t,r){if(r-t<=20)for(let o=t+1;o<=r;o++){const r=e[o],i=n[r];let a=o-1;while(a>=t&&n[e[a]]>i)e[a+1]=e[a--];e[a+1]=r}else{const o=t+r>>1;let i=t+1,a=r;Hx(e,o,i),n[e[t]]>n[e[r]]&&Hx(e,t,r),n[e[i]]>n[e[r]]&&Hx(e,i,r),n[e[t]]>n[e[i]]&&Hx(e,t,i);const c=e[i],u=n[c];while(1){do{i++}while(n[e[i]]<u);do{a--}while(n[e[a]]>u);if(a<i)break;Hx(e,i,a)}e[t+1]=e[a],e[a]=c,r-i+1>=a-t?(Jx(e,n,i,r),Jx(e,n,t,a-1)):(Jx(e,n,t,a-1),Jx(e,n,i,r))}}function Hx(e,n,t){const r=e[n];e[n]=e[t],e[t]=r}function qx(e){return e[0]}function Xx(e){return e[1]}function Qx(e,n,t){var r=P(new Set(e.cities.map((function(e){return e.region})))),o=Array(7*n).fill(0).map((function(e){return{name:"",region:"",x:0,y:0}})),i=[420,490,490],a=[490,560,700],c=i[n-3],u=a[n-3],s=70,l=Math.ceil(c/s),d=Math.ceil(u/s),f=l*d,p=Array(f).fill(-1);e.mapPosition=[100,200],e.layout="Portrait";var v=Array(f).fill(0).map((function(e,n){return n}));o.forEach((function(e,n){var r=v[Math.floor(t()*v.length)],o=Math.floor(r/l),i=r%l;e.x=Math.floor(2*i*s),e.y=Math.floor(o*s),o%2===0&&(e.x+=s);var a=2*t()*Math.PI,c=t()*s/2;e.x+=c*Math.cos(a),e.y+=c*Math.sin(a),v=v.filter((function(e){return e!==r})),p[r]=n}));for(var h=Array(o.length).fill(0).map((function(e){return Array(o.length).fill(0)})),m=Array(o.length).fill(0).map((function(e){return Array(o.length).fill(null)})),g=Gx.from(o,(function(e){return e.x}),(function(e){return e.y})),y=0;y<g.triangles.length;y+=3){var b=o[g.triangles[y]],w=o[g.triangles[y+1]],k=o[g.triangles[y+2]],x=h[g.triangles[y]][g.triangles[y+1]],_=x?Math.pow(x,2):Math.pow(b.x-w.x,2)+Math.pow(b.y-w.y,2),S=x||(h[g.triangles[y+1]][g.triangles[y]]=h[g.triangles[y]][g.triangles[y+1]]=Math.sqrt(_));x=h[g.triangles[y]][g.triangles[y+2]];var M=x?Math.pow(x,2):Math.pow(b.x-k.x,2)+Math.pow(b.y-k.y,2),I=x||(h[g.triangles[y+2]][g.triangles[y]]=h[g.triangles[y]][g.triangles[y+2]]=Math.sqrt(M));x=h[g.triangles[y+1]][g.triangles[y+2]];var C=x?Math.pow(x,2):Math.pow(w.x-k.x,2)+Math.pow(w.y-k.y,2),O=x||(h[g.triangles[y+2]][g.triangles[y+1]]=h[g.triangles[y+1]][g.triangles[y+2]]=Math.sqrt(C)),A=Math.acos((_+M-C)/(2*S*I)),N=Math.acos((_+C-M)/(2*S*O)),z=Math.PI-A-N,j=105*Math.PI/180;!1!==m[g.triangles[y]][g.triangles[y+1]]&&z<j?(m[g.triangles[y]][g.triangles[y+1]]=!0,m[g.triangles[y+1]][g.triangles[y]]=!0):(m[g.triangles[y]][g.triangles[y+1]]=!1,m[g.triangles[y+1]][g.triangles[y]]=!1),!1!==m[g.triangles[y]][g.triangles[y+2]]&&N<j?(m[g.triangles[y]][g.triangles[y+2]]=!0,m[g.triangles[y+2]][g.triangles[y]]=!0):(m[g.triangles[y]][g.triangles[y+2]]=!1,m[g.triangles[y+2]][g.triangles[y]]=!1),!1!==m[g.triangles[y+1]][g.triangles[y+2]]&&A<j?(m[g.triangles[y+1]][g.triangles[y+2]]=!0,m[g.triangles[y+2]][g.triangles[y+1]]=!0):(m[g.triangles[y+1]][g.triangles[y+2]]=!1,m[g.triangles[y+2]][g.triangles[y+1]]=!1)}for(var L=0,D=1e3,R=0;R<o.length;R++)for(var T=0;T<R;T++)if(m[R][T]){var B=h[R][T];L=Math.max(L,B),D=Math.min(D,B)}var E=5===n?[[c/4,u/4],[c/4,3*u/4],[c/2,u/2],[3*c/4,u/4],[3*c/4,3*u/4]]:4===n?[[c/4,u/4],[c/4,3*u/4],[3*c/4,u/4],[3*c/4,3*u/4]]:[[c/4,u/4],[c/2,u/2],[3*c/4,3*u/4]],U=e_(o.map((function(e){return[e.x,e.y]})),n,E,m),G=Array(n).fill(0);o.forEach((function(e,n){e.region=r[U[n]],e.name=Object(Qw["upperFirst"])(e.region)+" "+(1+G[U[n]]++)}));for(var Z=[],F=0;F<o.length;F++)for(var K=0;K<F;K++)if(m[F][K]){var V=o[F],$=o[K],W=h[F][K];Z.push({nodes:[V.name,$.name],cost:Math.floor(5*W/s)})}return e.cities=o,e.connections=Z,e}function e_(e,n,t,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:100,i=Array(e.length).fill(0),a=Math.ceil(e.length/n),c=!1,u=function(){var r=Array(n).fill(0),u=Array(e.length).fill(0).map((function(e){return Array(n).fill(0)}));e.forEach((function(e,n){var o=null,c=0;t.forEach((function(t,i){var s=n_(e,t);(null===o||s<o)&&r[i]<a&&(o=s,c=i),u[n][i]=s})),i[n]=c,r[c]++}));var s=Array(t.length).fill(0).map((function(e){return[0,0]})),l=Array(t.length).fill(0);e.forEach((function(e,n){s[i[n]][0]+=e[0],s[i[n]][1]+=e[1],l[i[n]]++})),c=!0,t.forEach((function(e,n){s[n][0]=s[n][0]/l[n],s[n][1]=s[n][1]/l[n],e[0]===s[n][0]&&e[1]===s[n][1]||(c=!1)})),t=s,console.log("iterations",o),console.log("centroids",t),c=c||0===--o};do{u()}while(!c);var s=10;do{console.log("Refining"),c=!0,e.forEach((function(n,o){var a=i[o],u=r[o].some((function(e,n){return e&&a===i[n]}));if(!u){var s=t[a],l=null,d=null;r[o].forEach((function(n,t){if(n){var r=e[t],o=n_(r,s);(null===l||o<l)&&(l=o,d=t)}})),i[o]=i[d],i[d]=a,c=!1}})),c=c||0===--s}while(!c);return i}function n_(e,n){return(e[0]-n[0])*(e[0]-n[0])+(e[1]-n[1])*(e[1]-n[1])}var t_=[10,7,7,7,6],r_=[9,6,6,6,5],o_=[10,7,7,7,6],i_=[21,17,17,15,14],a_=[18,17,17,15,14],c_=[5,5,5,5,4],u_=[13,13,13,12,11],s_=[18,17,17,15,14],l_=[10,22,33,44,54,64,73,82,90,98,105,112,118,124,129,134,138,142,145,148,150,150],d_=[3,3,4,5,5];function f_(e,n,t,r){var o,i,a=Object(Qw["cloneDeep"])(yk);if("original"==n){a=a.slice(8);var c=a.splice(2,1)[0],u=a.pop();a=uk(a,t()+""),2==e||3==e?a=a.slice(8):4==e&&(a=a.slice(4)),a.unshift(c),a.push(u),o=[j_(3),j_(4),j_(5),j_(6)],i=[j_(7),j_(8),j_(9),j_(10)]}else{var s=uk(a.splice(0,13),t()+""),l=s.splice(0,8);l=l.sort((function(e,n){return e.number-n.number})),o=l.slice(0,4),i=l.slice(4);var d=s.shift(),f=a.pop();a=uk(a,t()+""),2==e?(s=s.slice(1),a=uk(a.slice(5).concat(s),t()+"")):3==e?(s=s.slice(2),a=uk(a.slice(6).concat(s),t()+"")):4==e?(s=s.slice(1),a=uk(a.slice(3).concat(s),t()+"")):r&&(a=uk(a.concat(s),t()+"")),a.unshift(d),a.push(f)}return{actualMarket:o,futureMarket:i,powerPlantsDeck:a}}function p_(e,n,t,r,o){var i,a,c,u,s,l,d,f,p=n.fastBid,v=void 0!==p&&p,h=n.map,m=void 0===h?"USA":h,g=n.variant,y=void 0===g?"original":g,b=n.showMoney,k=void 0!==b&&b,x=n.useNewRechargedSetup,_=void 0===x||x,S=n.trackTotalSpent,M=void 0===S||S,I=n.randomizeMap,C=void 0!==I&&I,O=n.chooseRegions,A=void 0!==O&&O,N=n.chooseColors,z=void 0!==N&&N;t=null!==(i=t)&&void 0!==i?i:Math.random().toString();var j=nk()(t),L="original"==y?Tx.find((function(e){return e.name==m})):Bx.find((function(e){return e.name==m}));if(!L)throw new Error('Map "'.concat(m,'" not found for variant "').concat(y,'"'));var D,R,T,B=Object(Qw["cloneDeep"])(L);if(r)T=r,D=T.splice(0,4),R=T.splice(0,4);else if(B.setupDeck){var E=B.setupDeck(e,y,j);D=E.actualMarket,R=E.futureMarket,T=E.powerPlantsDeck}else{var U=f_(e,y,j,_);D=U.actualMarket,R=U.futureMarket,T=U.powerPlantsDeck}var G,Z,F,K,V,$,W,Y,J,H=Object(Qw["range"])(e).map((function(e){return{id:e,powerPlants:[],coalCapacity:0,coalLeft:0,oilCapacity:0,oilLeft:0,garbageCapacity:0,garbageLeft:0,uraniumCapacity:0,uraniumLeft:0,hybridCapacity:0,hybridLeft:0,money:50,housesLeft:22,cities:[],powerPlantsNotUsed:[],availableMoves:null,lastMove:null,isDropped:!1,isAI:!1,bid:0,passed:!1,skipAuction:!1,citiesPowered:0,resourcesUsed:[],totalIncome:0,totalSpentCities:0,totalSpentConnections:0,totalSpentPlants:0,totalSpentResources:0,usedFreeJump:!1,totalTimeUsed:0}})),q=H.length-2,X=Object(Qw["range"])(e),Q=X[0];if(B.resupplyNorth&&(V=B.resupplyNorth[0],$=B.resupplyNorth[1],W=B.resupplyNorth[2]),B.resupply?(G=B.resupply[0],Z=B.resupply[1],F=B.resupply[2],K=B.resupply[3]):(G=[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],Z=[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],F=[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],K=[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]),"Portrait"==B.layout||C){var ee="USA"===B.name&&"recharged"===y;B.viewBox=B.viewBox||[1480,1060],B.adjustRatio=B.adjustRatio||[1,1],B.playerOrderPosition=B.playerOrderPosition||[1160,160],B.cityCountPosition=B.cityCountPosition||[0,0],B.powerPlantMarketPosition=B.powerPlantMarketPosition||[745,0],B.actualMarketWidth=B.actualMarketWidth||430,B.mapPosition=B.mapPosition||[0,0],B.buttonsPosition=B.buttonsPosition||[1305,0],B.playerBoardsPosition=B.playerBoardsPosition||[1105,240],B.roundInfoPosition=B.roundInfoPosition||[20,920],B.supplyPosition=B.supplyPosition||[ee?480:675,920]}else B.viewBox=B.viewBox||[1465,860],B.adjustRatio=B.adjustRatio||[1,1],B.playerOrderPosition=B.playerOrderPosition||[1160,140],B.cityCountPosition=B.cityCountPosition||[0,0],B.powerPlantMarketPosition=B.powerPlantMarketPosition||[745,0],B.actualMarketWidth=B.actualMarketWidth||430,B.mapPosition=B.mapPosition||[-10,0],B.buttonsPosition=B.buttonsPosition||[1305,0],B.playerBoardsPosition=B.playerBoardsPosition||[1105,200],B.roundInfoPosition=B.roundInfoPosition||[20,590],B.supplyPosition=B.supplyPosition||[0,720];if(C)Y=Qx(B,d_[q],j);else{B.cities=B.cities.map((function(e){return w(w({},e),{},{x:e.x*B.adjustRatio[0],y:e.y*B.adjustRatio[1]})}));var ne=dk(B),te=ne.regions,re=Math.min(d_[q],te.length);if(A&&te.length>re)Y=B,J={regionsNeeded:re,picked:[]};else{var oe=new Set;while(oe.size!=re){var ie=te[Math.floor(j()*te.length)];fk(B.name,ne,P(oe),ie)&&(oe.add(ie),"Italy"===B.name&&oe.has("red")&&oe.has("green")&&oe.has("blue")&&oe.clear())}Y=v_(B,oe),h_(B,oe,D,R,T)}}var ae=B.startingResources?B.startingResources[0]:24,ce=B.startingResources?B.startingResources[1]:18,ue=B.startingResources?B.startingResources[2]:"original"==y?6:9,se=B.startingResources?B.startingResources[3]:2,le=B.startingSupply?B.startingSupply[0]:24,de=B.startingSupply?B.startingSupply[1]:24,fe=B.startingSupply?B.startingSupply[2]:24,pe=B.startingSupply?B.startingSupply[3]:12,ve=null===(a=B.startingResourcesNorth)||void 0===a?void 0:a[0],he=null===(c=B.startingResourcesNorth)||void 0===c?void 0:c[1],me=null===(u=B.startingResourcesNorth)||void 0===u?void 0:u[2],ge=le-ae-(null!==ve&&void 0!==ve?ve:0),ye=de-ce-(null!==he&&void 0!==he?he:0),be=fe-ue-(null!==me&&void 0!==me?me:0),we=pe-se,ke=Object(Qw["cloneDeep"])(null!==(s=B.coalPrices)&&void 0!==s?s:ik.coal),xe=Object(Qw["cloneDeep"])(null!==(l=B.oilPrices)&&void 0!==l?l:ik.oil),_e=Object(Qw["cloneDeep"])(null!==(d=B.garbagePrices)&&void 0!==d?d:ik.garbage),Se=Object(Qw["cloneDeep"])(null!==(f=B.uraniumPrices)&&void 0!==f?f:ik.uranium),Me=B.coalPricesNorth?Object(Qw["cloneDeep"])(B.coalPricesNorth):void 0,Pe=B.oilPricesNorth?Object(Qw["cloneDeep"])(B.oilPricesNorth):void 0,Ie=B.garbagePricesNorth?Object(Qw["cloneDeep"])(B.garbagePricesNorth):void 0,Ce="South Africa"==(o||Y).name,Oe={map:o||Y,players:H,playerOrder:X,currentPlayers:[Q],powerPlantsDeck:T,coalSupply:ge,oilSupply:ye,garbageSupply:be,uraniumSupply:we,coalStorage:Ce?0:void 0,coalResupply:G,oilResupply:Z,garbageResupply:F,uraniumResupply:K,coalMarket:ae,oilMarket:ce,garbageMarket:ue,uraniumMarket:se,uraniumMineMarket:"Australia"==(o||Y).name?[2,2,2,2,2,2]:void 0,coalPrices:ke,oilPrices:xe,garbagePrices:_e,uraniumPrices:Se,coalMarketNorth:ve,oilMarketNorth:he,garbageMarketNorth:me,coalResupplyNorth:V,oilResupplyNorth:$,garbageResupplyNorth:W,coalPricesNorth:Me,oilPricesNorth:Pe,garbagePricesNorth:Ie,actualMarket:D,futureMarket:R,chosenPowerPlant:void 0,currentBid:void 0,highestBidders:[],auctioningPlayer:void 0,step:1,phase:Iw.Auction,options:{fastBid:v,map:m,variant:y,showMoney:k,useNewRechargedSetup:_,trackTotalSpent:M,chooseRegions:A,chooseColors:z},log:[],hiddenLog:[],seed:t,round:1,newTurn:!0,auctionSkips:0,citiesToStep2:"Baden-Württemberg"==(o||Y).name?r_[e-2]:"UK & Ireland"==(o||Y).name?o_[e-2]:"Bremen"==(o||Y).name?c_[e-2]:t_[e-2],citiesToEndGame:"South Africa"==(o||Y).name?a_[e-2]:"UK & Ireland"==(o||Y).name&&2==e?Math.min(i_[e-2],(o||Y).cities.length):"Bremen"==(o||Y).name?u_[e-2]:"Manhattan"==(o||Y).name?s_[e-2]:i_[e-2],resourceResupply:["[".concat(G[q][0],", ").concat(Z[q][0],", ").concat(F[q][0],", ").concat(K[q][0],"]"),"[".concat(G[q][1],", ").concat(Z[q][1],", ").concat(F[q][1],", ").concat(K[q][1],"]"),"[".concat(G[q][2],", ").concat(Z[q][2],", ").concat(F[q][2],", ").concat(K[q][2],"]")],resourceResupplyNorth:V&&$&&W?["[".concat(V[q][0],", ").concat($[q][0],", ").concat(W[q][0],"]"),"[".concat(V[q][1],", ").concat($[q][1],", ").concat(W[q][1],"]"),"[".concat(V[q][2],", ").concat($[q][2],", ").concat(W[q][2],"]")]:void 0,paymentTable:l_,variant:y,minimunBid:0,plantDiscountActive:"recharged"==y&&"China"!=(o||Y).name&&"Russia"!=(o||Y).name&&"Baden-Württemberg"!=(o||Y).name,discardSmallestPlant:!1,cardsLeft:T.length,nextCardWeak:"recharged"==y,card39Bought:!1,knownPowerPlantDeck:D.concat(R),knownPowerPlantDeckStep3:[],powerPlantDeckAfterStep3:void 0};return Oe.log.push({type:"event",event:"Game Start!"}),"Middle East"==Oe.map.name&&P_(Oe),J&&(Oe.phase=Iw.RegionSelection,Oe.regionDraft=J),z&&(Oe.phase=Iw.ColorSelection,Oe.colorDraft={picked:[]}),Oe.map.blockSpaces&&(Oe.blockedCities=Oe.map.blockSpaces(e,Oe.map.cities,j),Oe.blockedCities.length>0&&Oe.log.push({type:"event",event:"".concat(Oe.blockedCities.length," building spaces are blocked for ").concat(e," players.")})),Oe.players[Q].availableMoves=lk(Oe,Oe.players[Q]),Oe}function v_(e,n){var t=Object(Qw["cloneDeep"])(e);return t.cities=t.cities.filter((function(e){return n.has(e.region)})),t.connections=t.connections.filter((function(t){return t.nodes.map((function(n){return e.cities.find((function(e){return e.name==n})).region})).every((function(e){return n.has(e)}))})),t}function h_(e,n,t,r,o){if(e.regionalPowerPlants){var i,a=I(n);try{for(a.s();!(i=a.n()).done;){var c=i.value,u=e.regionalPowerPlants[c];if(u){var s,l=I(u);try{var d=function(){var e=s.value,n=function(n){var t=n.findIndex((function(n){return n.number===e.number}));-1!==t&&(n[t]=w({},e))};n(t),n(r),n(o)};for(l.s();!(s=l.n()).done;)d()}catch(f){l.e(f)}finally{l.f()}}}}catch(f){a.e(f)}finally{a.f()}}}function m_(e){var n=new Set(e.regionDraft.picked),t=e.map;e.map=v_(t,n),h_(t,n,e.actualMarket,e.futureMarket,e.powerPlantsDeck),e.knownPowerPlantDeck=e.actualMarket.concat(e.futureMarket),"UK & Ireland"==e.map.name&&2==e.players.length&&(e.citiesToEndGame=Math.min(i_[e.players.length-2],e.map.cities.length)),e.regionDraft=void 0,e.phase=Iw.Auction,e.currentPlayers=[e.playerOrder[0]]}function g_(e){e.colorDraft=void 0,e.currentPlayers=[e.playerOrder[0]],e.regionDraft?e.phase=Iw.RegionSelection:e.phase=Iw.Auction}function y_(e,n,t){var r,o,i=e.players[t],a=null===(r=i.availableMoves)||void 0===r?void 0:r[n.name];switch(Y_(e),Xw()(e.currentPlayers.includes(t),"It is not your turn!"),Xw()(a,"You are not allowed to run the command "+n.name),Xw()(a.some((function(e){return Object(Qw["isEqual"])(e,n.data)})),"Wrong argument for the command "+n.name),n.name){case Vw.ChoosePowerPlant:ak(n),e.chosenPowerPlant=e.actualMarket.find((function(e){return e.number===n.data})),e.auctioningPlayer=i.id,39==n.data&&(e.card39Bought=!0),"recharged"==e.options.variant&&e.plantDiscountActive&&e.chosenPowerPlant.number==e.actualMarket[0].number?(e.minimunBid=1,e.plantDiscountActive=!1,n.usedPlantDiscount=!0):e.minimunBid=n.data;var c=e.players.filter((function(e){return!e.skipAuction&&!e.isDropped}));if(1==c.length){e.log.push({type:"move",player:t,move:n,simple:"".concat(i.name," chooses Power Plant ").concat(n.data,"."),pretty:"".concat(D_(i)," chooses Power Plant <b>").concat(n.data,"</b>.")});var u=c[0];if(G_(e,u,e.minimunBid),void 0!=e.discountBonusPlayer){var s=Nw(e,u)>4||e.players.length>2&&Nw(e,u)>3;s||N_(e),F_(e,e.discountBonusPlayer)}else(Nw(e,u)<=3||2==e.players.length&&4==Nw(e,u))&&(N_(e),U_(e))}else e.log.push({type:"move",player:t,move:n,simple:"".concat(i.name," chooses Power Plant ").concat(n.data," to initiate an auction."),pretty:"".concat(D_(i)," chooses Power Plant <b>").concat(n.data,"</b> to initiate an auction.")}),e.options.fastBid&&(e.currentPlayers=e.playerOrder.filter((function(n){return!e.players[n].skipAuction&&!e.players[n].isDropped})));break;case Vw.Bid:ak(n),e.options.fastBid?(e.hiddenLog.push({type:"move",player:t,move:n,simple:"".concat(i.name," bids $").concat(n.data,"."),pretty:"".concat(D_(i),' bids <span style="color: green">$').concat(n.data,"</span>.")}),J_(e,i,n.data)):(e.currentBid=i.bid=n.data,e.log.push({type:"move",player:t,move:n,simple:"".concat(i.name," bids $").concat(n.data,"."),pretty:"".concat(D_(i),' bids <span style="color: green">$').concat(n.data,"</span>.")}),V_(e));break;case Vw.ChooseRegion:if(ak(n),e.regionDraft.picked.push(n.data),e.log.push({type:"move",player:t,move:n,simple:"".concat(i.name," chooses region ").concat(n.data,"."),pretty:"".concat(D_(i)," chooses region <b>").concat(n.data,"</b>.")}),e.regionDraft.picked.length>=e.regionDraft.regionsNeeded)m_(e);else{var l=e.playerOrder;e.currentPlayers=[l[(l.indexOf(t)+1)%l.length]]}break;case Vw.ChooseColor:ak(n),i.color=n.data,e.colorDraft.picked.push(n.data),e.log.push({type:"move",player:t,move:n,simple:"".concat(i.name," chooses ").concat(n.data,"."),pretty:"".concat(D_(i)," chooses <b>").concat(n.data,"</b>.")}),e.colorDraft.picked.length>=e.players.length?g_(e):e.currentPlayers=[e.playerOrder[e.colorDraft.picked.length]];break;case Vw.Pass:switch(ak(n),e.options.fastBid&&e.phase==Iw.Auction&&e.chosenPowerPlant||e.log.push({type:"move",player:t,move:n,simple:"".concat(i.name," passes."),pretty:"".concat(D_(i)," passes.")}),e.phase){case Iw.Auction:var d;if(void 0==e.chosenPowerPlant)if(i.skipAuction=!0,e.discountBonusPlayer==i.id&&(e.discountBonusPlayer=void 0),e.auctionSkips++,1==e.auctionSkips&&"Russia"==e.map.name&&(null===(d=e.actualMarket)||void 0===d?void 0:d.length)>0&&(e.log.push({type:"event",event:"First pass, removing lowest numbered Power Plant (".concat(e.actualMarket[0].number,").")}),e.actualMarket.shift(),__(e)),e.players.some((function(e){return!e.skipAuction&&!e.isDropped})))W_(e);else{if(e.auctionSkips==e.players.length&&"Baden-Württemberg"==e.map.name){for(var f=[],p=0;p<2&&e.actualMarket.length>0;p++)f.push(e.actualMarket[0].number),e.actualMarket.shift(),__(e);e.log.push({type:"event",event:"Everyone passed, removing the two lowest numbered Power Plants (".concat(f.join(", "),").")})}else e.auctionSkips==e.players.length&&"original"==e.options.variant&&"China"!=e.map.name&&"Russia"!=e.map.name&&(e.log.push({type:"event",event:"Everyone passed, removing lowest numbered Power Plant (".concat(e.actualMarket[0].number,").")}),e.actualMarket.shift(),__(e));U_(e)}else if(e.options.fastBid)e.hiddenLog.push({type:"move",player:t,move:n,simple:"".concat(i.name," passes."),pretty:"".concat(D_(i)," passes.")}),J_(e,i,0);else{i.passed=!0;var v=e.players.filter((function(e){return!e.passed&&!e.skipAuction&&!e.isDropped}));if(1==v.length){var h=v[0];G_(e,h,h.bid),(Nw(e,h)>4||e.players.length>2&&Nw(e,h)>3)&&!h.isDropped?F_(e,h.id):(N_(e),e.players.some((function(e){return!e.skipAuction&&!e.isDropped}))?(e.players.forEach((function(e){e.bid=0,e.passed=e.isDropped})),W_(e,!0)):U_(e))}else V_(e)}break;case Iw.Resources:if("India"==e.map.name&&e.chosenResource?e.chosenResource=void 0:i.passed=!0,"Korea"==e.map.name&&(e.chosenSide=void 0),0==e.players.filter((function(e){return!e.passed&&!e.isDropped})).length?(e.players.forEach((function(e){e.passed=e.isDropped})),e.phase=Iw.Building,"India"==e.map.name&&(e.citiesBuiltInCurrentRound=0),F_(e,e.playerOrder[e.players.length-1]),e.players[e.currentPlayers[0]].isDropped&&e.players.some((function(e){return!e.isDropped}))&&(e.players[e.currentPlayers[0]].passed=!0,$_(e))):$_(e),"India"==e.map.name)while(e.players[e.currentPlayers[0]].passed)$_(e);break;case Iw.Building:if(i.passed=!0,0==e.players.filter((function(e){return!e.passed&&!e.isDropped})).length){var m=Math.max.apply(Math,P(e.players.map((function(e){return e.cities.length}))));if(1==e.step){var g=e.players.reduce((function(e,n){return e+n.cities.length}),0),y=g>=e.map.cities.length;if((m>=e.citiesToStep2||y)&&"Middle East"!=e.map.name&&"Manhattan"!=e.map.name){var b=e.actualMarket.shift();if(e.log.push({type:"event",event:"Starting Step 2, Power Plant ".concat(null===b||void 0===b?void 0:b.number," discarded.")}),e.step=2,"Spain & Portugal"==e.map.name&&(e.powerPlantsDeck.find((function(e){return 18==e.number}))||(e.powerPlantsDeck.unshift(j_(27)),e.powerPlantsDeck.unshift(j_(22)),e.powerPlantsDeck.unshift(j_(18)))),"Europe"==e.map.name){var w=[].concat(P(e.actualMarket),P(e.futureMarket));w.sort((function(e,n){return e.number-n.number})),e.actualMarket=w.slice(0,4),e.futureMarket=w.slice(4)}else __(e)}}m>=e.citiesToEndGame?(e.phase=Iw.GameEnd,e.currentPlayers=[],T_(e),"India"==e.map.name&&e.citiesBuiltInCurrentRound>2*e.players.length&&e.players.forEach((function(n){var t=e.paymentTable[n.citiesPowered]-3*n.cities.length;n.money+=Math.max(t,0),n.totalIncome+=Math.max(t,0)})),e.uraniumMineMarket&&P(e.playerOrder).reverse().forEach((function(n){var t=e.players[n],r=Lw(e,t);if(r.mines>0&&r.income>0){var o,i=null!==(o=t.name)&&void 0!==o?o:"Player ".concat(t.id);e.log.push({type:"event",event:"".concat(i," sells uranium for ").concat(r.income," Elektro (").concat(r.cities," cities × $").concat(r.price,", ").concat(r.mines," mine(s)).")})}})),e.log.push({type:"event",event:"Game Ended!"})):(e.players.forEach((function(e){e.passed=e.isDropped,e.powerPlantsNotUsed=e.powerPlants.map((function(e){return e.number}))})),e.phase=Iw.Bureaucracy,e.currentPlayers=e.playerOrder.filter((function(n){return!e.players[n].passed&&!e.players[n].isDropped})),"India"==e.map.name&&(e.players.forEach((function(n){return n.targetCitiesPowered=B_(e,n)})),e.citiesBuiltInCurrentRound>2*e.players.length&&e.log.push({type:"event",event:"Power outage! ".concat(e.citiesBuiltInCurrentRound," built this round, which is more than twice the number of players.")})),"China"==e.map.name&&e.step<=2?O_(e):0==e.futureMarket.length&&"Manhattan"!=e.map.name&&(e.step=3,C_(e)))}else $_(e);break;case Iw.Bureaucracy:i.passed=!0;var k=Math.min(i.cities.length,i.citiesPowered),x=e.paymentTable[k];if("India"==e.map.name&&e.citiesBuiltInCurrentRound>2*e.players.length&&(x-=3*i.cities.length,x=Math.max(x,0)),i.money+=x,e.options.trackTotalSpent&&(i.totalIncome+=x),i.citiesPowered=0,"India"==e.map.name&&(i.targetCitiesPowered=0),0==e.players.filter((function(e){return!e.passed&&!e.isDropped})).length){var _,S,M,I,C,O,A,N;if(e.uraniumMineMarket){P(e.playerOrder).reverse().forEach((function(n){var t=e.players[n],r=Lw(e,t);if(r.mines>0){var o,i=null!==(o=t.name)&&void 0!==o?o:"Player ".concat(t.id);e.log.push({type:"event",event:r.income>0?"".concat(i," sells uranium for ").concat(r.income," Elektro (").concat(r.cities," cities × $").concat(r.price,", ").concat(r.mines," mine(s))."):"".concat(i,"'s uranium mines earn nothing (market full).")})}}));var z=Dw(e,e.map.uraniumMineResupply[e.players.length-2][e.step-1]);z>0&&e.log.push({type:"event",event:"Removing ".concat(z," uranium from the mine market (cheapest slots).")})}var j,L,D=(null!==(_=null===(S=e.coalPrices)||void 0===S?void 0:S.length)&&void 0!==_?_:ik[Mw.Coal].length)-e.coalMarket,R=(null!==(M=null===(I=e.oilPrices)||void 0===I?void 0:I.length)&&void 0!==M?M:ik[Mw.Oil].length)-e.oilMarket,T=(null!==(C=null===(O=e.garbagePrices)||void 0===O?void 0:O.length)&&void 0!==C?C:ik[Mw.Garbage].length)-e.garbageMarket,B=(null!==(A=null===(N=e.uraniumPrices)||void 0===N?void 0:N.length)&&void 0!==A?A:ik[Mw.Uranium].length)-e.uraniumMarket,E=0,U=0,G=0;if(e.coalResupplyNorth){var Z=e.coalPricesNorth.length-e.coalMarketNorth,F=e.oilPricesNorth.length-e.oilMarketNorth,K=e.garbagePricesNorth.length-e.garbageMarketNorth;E=Math.min(e.coalSupply,e.coalResupplyNorth[e.players.length-2][e.step-1],Z),e.coalMarketNorth+=E,e.coalSupply-=E,U=Math.min(e.oilSupply,e.oilResupplyNorth[e.players.length-2][e.step-1],F),e.oilMarketNorth+=U,e.oilSupply-=U,G=Math.min(e.garbageSupply,e.garbageResupplyNorth[e.players.length-2][e.step-1],K),e.garbageMarketNorth+=G,e.garbageSupply-=G}if(void 0!==e.coalStorage){var V=Math.min(e.coalResupply[e.players.length-2][e.step-1],D),$=Math.min(e.coalStorage,V),W=Math.min(e.coalSupply,V-$);j=$+W,e.coalMarket+=j,e.coalStorage-=$,e.coalSupply-=W}else j=Math.min(e.coalSupply,e.coalResupply[e.players.length-2][e.step-1],D),e.coalMarket+=j,e.coalSupply-=j;if("Middle East"==e.map.name){0==e.oilMarket&&(e.oilPrices=ik[Mw.Oil]),L=e.oilResupply[e.players.length-2][e.step-1];for(var Y=0;Y<L;Y++)e.oilSupply>0?(e.oilMarket++,e.oilSupply--):(e.oilPrices.pop(),e.oilPrices.unshift(1))}else L=Math.min(e.oilSupply,e.oilResupply[e.players.length-2][e.step-1],R),e.oilMarket+=L,e.oilSupply-=L;var J=Math.min(e.garbageSupply,e.garbageResupply[e.players.length-2][e.step-1],T);e.garbageMarket+=J,e.garbageSupply-=J;var H=0;if(("recharged"!=e.options.variant||"Germany"!=e.options.map&&"Italy"!=e.options.map||!e.card39Bought)&&(H=Math.min(e.uraniumSupply,e.uraniumResupply[e.players.length-2][e.step-1],B),e.uraniumMarket+=H,e.uraniumSupply-=H),e.coalResupplyNorth?e.log.push({type:"event",event:"Resupplying resources — North: [".concat(E,", ").concat(U,", ").concat(G,"], South: [").concat(j,", ").concat(L,", ").concat(J,", ").concat(H,"].")}):e.log.push({type:"event",event:"Resupplying resources: [".concat(j,", ").concat(L,", ").concat(J,", ").concat(H,"].")}),"Manhattan"==e.map.name)S_(e);else if("Middle East"==e.map.name&&2==e.step&&e.futureMarket.length>0){var q=e.futureMarket.pop();e.log.push({type:"event",event:"Putting Power Plant ".concat(q.number," on the bottom of the deck.")}),e.powerPlantsDeck.push(q),__(e),q=e.futureMarket.length?e.futureMarket.pop():e.actualMarket.pop(),e.log.push({type:"event",event:"Putting Power Plant ".concat(q.number," on the bottom of the deck.")}),e.powerPlantsDeck.push(q),__(e)}else if(e.futureMarket.length>0){if("Benelux"==e.map.name&&("original"==e.options.variant||e.discardSmallestPlant)){var X=e.actualMarket[0];e.log.push({type:"event",event:"Removing smallest plant, Power Plant ".concat(X.number,".")}),e.actualMarket.shift(),__(e),e.discardSmallestPlant=!1}var Q;if("Quebec"==e.map.name){var ee=e.futureMarket.filter((function(e){return e.type!=Pw.Wind}));if(Q=ee.pop(),Q)e.futureMarket=e.futureMarket.filter((function(e){var n;return e.number!=(null===(n=Q)||void 0===n?void 0:n.number)}));else{var ne=e.actualMarket.filter((function(e){return e.type!=Pw.Wind}));Q=ne.pop(),Q&&(e.actualMarket=e.actualMarket.filter((function(e){var n;return e.number!=(null===(n=Q)||void 0===n?void 0:n.number)})))}}else Q=e.futureMarket.pop();Q&&(e.log.push({type:"event",event:"Putting Power Plant ".concat(Q.number," on the bottom of the deck.")}),e.powerPlantsDeck.push(Q),__(e))}else e.actualMarket.length>0&&("China"!=e.map.name||3==e.step)&&(e.log.push({type:"event",event:"Discarding Power Plant ".concat(e.actualMarket[0].number,".")}),e.actualMarket.shift(),__(e));e.round++,"Baden-Württemberg"!=e.map.name&&Z_(e),e.players.forEach((function(e){e.passed=e.isDropped})),e.auctionSkips=0,e.actualMarket.length>0?(e.phase=Iw.Auction,0==e.futureMarket.length&&"China"!=e.map.name&&"Manhattan"!=e.map.name&&(e.step=3,C_(e)),e.plantDiscountActive="recharged"==e.options.variant&&"China"!=e.map.name&&"Russia"!=e.map.name&&"Baden-Württemberg"!=e.map.name,F_(e,e.playerOrder[0])):U_(e)}else e.currentPlayers=e.playerOrder.filter((function(n){return!e.players[n].passed&&!e.players[n].isDropped}));break}break;case Vw.DiscardPowerPlant:ak(n),n.extra||e.log.push({type:"move",player:t,move:n,simple:"".concat(i.name," discards Power Plant ").concat(n.data,"."),pretty:"".concat(D_(i)," discards Power Plant <b>").concat(n.data,"</b>.")});var te=i.powerPlants.find((function(e){return e.number==n.data}));if(i.powerPlants=i.powerPlants.filter((function(e){return e.number!=n.data})),x_(i),n.extra){var re=[];switch(te.type){case Pw.Coal:e.coalSupply+=n.extra[0],i.coalLeft-=n.extra[0],re.push(n.extra[0]+" Coal");break;case Pw.Oil:e.oilSupply+=n.extra[0],i.oilLeft-=n.extra[0],re.push(n.extra[0]+" Oil");break;case Pw.Garbage:e.garbageSupply+=n.extra[0],i.garbageLeft-=n.extra[0],re.push(n.extra[0]+" Garbage");break;case Pw.Uranium:e.uraniumSupply+=n.extra[0],i.uraniumLeft-=n.extra[0],re.push(n.extra[0]+" Uranium");break;case Pw.Hybrid:n.extra[0]>0&&(e.coalSupply+=n.extra[0],i.coalLeft-=n.extra[0],re.push(n.extra[0]+" Coal")),n.extra[1]>0&&(e.oilSupply+=n.extra[1],i.oilLeft-=n.extra[1],re.push(n.extra[1]+" Oil"));break}e.log.push({type:"move",player:t,move:n,simple:"".concat(i.name," discards Power Plant ").concat(n.data," and ").concat(re.join(", "),"."),pretty:"".concat(D_(i)," discards Power Plant <b>").concat(n.data,"</b> and ").concat(re.join(", "),".")}),N_(e),e.players.forEach((function(e){e.bid=0,e.passed=e.isDropped})),e.players.some((function(e){return!e.skipAuction&&!e.isDropped}))?W_(e,!0):U_(e)}else{var oe=sk(i);i.garbageLeft>i.garbageCapacity&&(e.garbageSupply+=i.garbageLeft-i.garbageCapacity,i.garbageLeft=i.garbageCapacity),i.uraniumLeft>i.uraniumCapacity&&(e.uraniumSupply+=i.uraniumLeft-i.uraniumCapacity,i.uraniumLeft=i.uraniumCapacity),1==oe.length&&(A_(e,i,oe[0]),oe.pop()),0==oe.length&&(N_(e),e.players.forEach((function(e){e.bid=0,e.passed=e.isDropped})),e.players.some((function(e){return!e.skipAuction&&!e.isDropped}))?W_(e,!0):U_(e))}break;case Vw.DiscardResources:ak(n),e.log.push({type:"move",player:t,move:n,simple:"".concat(i.name," discarded a ").concat(n.data,"."),pretty:"".concat(D_(i)," discarded a <b>").concat(n.data,"</b>.")}),n.data==Mw.Coal?(i.coalLeft--,e.coalSupply++):n.data==Mw.Oil&&(i.oilLeft--,e.oilSupply++);var ie=sk(i);1==ie.length&&(A_(e,i,ie[0]),ie.pop()),0==ie.length&&(N_(e),e.players.forEach((function(e){e.bid=0,e.passed=e.isDropped})),e.players.some((function(e){return!e.skipAuction&&!e.isDropped}))?W_(e,!0):U_(e));break;case Vw.BuyResource:ak(n),e.chosenResource=n.data.resource,n.data.side&&(e.chosenSide=n.data.side);var ae,ce="north"===n.data.side;switch(n.data.resource){case Mw.Coal:if(ce){var ue=e.coalPricesNorth;ae=ue[ue.length-e.coalMarketNorth],i.coalLeft++,e.coalMarketNorth--}else if(n.data.fromStorage)ae=8,i.coalLeft++,e.coalStorage--;else if(0==e.coalMarket)ae=8,i.coalLeft++,e.coalSupply--,n.fromSupply=!0;else{var se,le=null!==(se=e.coalPrices)&&void 0!==se?se:ik[Mw.Coal];ae=le[le.length-e.coalMarket],i.coalLeft++,e.coalMarket--}break;case Mw.Oil:if(ce){var de=e.oilPricesNorth;ae=de[de.length-e.oilMarketNorth],i.oilLeft++,e.oilMarketNorth--}else{var fe,pe=null!==(fe=e.oilPrices)&&void 0!==fe?fe:ik[Mw.Oil];ae=pe[pe.length-e.oilMarket],i.oilLeft++,e.oilMarket--}break;case Mw.Garbage:if(ce){var ve=e.garbagePricesNorth;ae=ve[ve.length-e.garbageMarketNorth],i.garbageLeft++,e.garbageMarketNorth--}else{var he,me=null!==(he=e.garbagePrices)&&void 0!==he?he:ik[Mw.Garbage];if(ae=me[me.length-e.garbageMarket],"Central Europe"==e.map.name){var ge=i.cities.filter((function(e){return"Wien"==e.name}));(null===ge||void 0===ge?void 0:ge.length)>0&&ae--}i.garbageLeft++,e.garbageMarket--}break;case Mw.Uranium:var ye,be=null!==(ye=e.uraniumPrices)&&void 0!==ye?ye:ik[Mw.Uranium];ae=be[be.length-e.uraniumMarket],i.uraniumLeft++,e.uraniumMarket--;break}i.money-=ae,e.options.trackTotalSpent&&(i.totalSpentResources+=ae),e.log.push({type:"move",player:t,move:n,simple:"".concat(i.name," buys ").concat(n.data.resource," for $").concat(ae,"."),pretty:"".concat(D_(i)," buys <b>").concat(n.data.resource,'</b> for <span style="color: green">$').concat(ae,"</span>.")});break;case Vw.Build:ak(n);var we=!1;if("Japan"===e.map.name&&!i.usedFreeJump&&i.cities.length>=1)if(1===e.round&&e.map.startingCities){var ke=new Set(e.map.startingCities);ke.has(n.data.name)&&(we=!0)}else n.data.freeJump&&(we=!0);var xe=e.players.filter((function(e){return e.cities.find((function(e){return e.name==n.data.name}))})).length;if(i.cities.push({name:n.data.name,position:xe}),i.money-=n.data.price,e.options.trackTotalSpent){var _e=e.map.cities.find((function(e){return e.name==n.data.name}));_e.singleOccupancy?i.totalSpentConnections+=n.data.price:(i.totalSpentCities+=10+5*xe,i.totalSpentConnections+=n.data.price-(10+5*xe))}e.log.push({type:"move",player:t,move:n,simple:"".concat(i.name," builds on ").concat(n.data.name," for $").concat(n.data.price,"."),pretty:"".concat(D_(i)," builds on <b>").concat(n.data.name,'</b> for <span style="color: green">$').concat(n.data.price,"</span>.")}),we&&(i.usedFreeJump=!0),"India"==e.map.name&&e.citiesBuiltInCurrentRound++,"original"==e.options.variant&&e.actualMarket.length>0&&i.cities.length>=e.actualMarket[0].number&&"China"!=e.map.name&&"Russia"!=e.map.name&&"Baden-Württemberg"!=e.map.name&&(e.actualMarket.shift(),__(e));break;case Vw.UsePowerPlant:ak(n),i.powerPlantsNotUsed=i.powerPlantsNotUsed.filter((function(e){return e!=n.data.powerPlant})),n.data.resourcesSpent.forEach((function(n){switch(n){case Mw.Coal:i.coalLeft--,void 0!==e.coalStorage?e.coalStorage++:e.coalSupply++;break;case Mw.Oil:i.oilLeft--,e.oilSupply++;break;case Mw.Garbage:i.garbageLeft--,e.garbageSupply++;break;case Mw.Uranium:i.uraniumLeft--,e.uraniumSupply++;break}})),i.citiesPowered+=n.data.citiesPowered,e.log.push({type:"move",player:t,move:n,simple:"".concat(i.name," uses Power Plant ").concat(n.data.powerPlant,"."),pretty:"".concat(D_(i)," uses Power Plant <b>").concat(n.data.powerPlant,"</b>.")});break}i.availableMoves=null,i.lastMove=n,e.cardsLeft=e.powerPlantsDeck.length,e.nextCardWeak="recharged"==e.options.variant&&e.cardsLeft>0&&e.powerPlantsDeck[0].number<=15,b_(e,n.time),e.currentPlayers.forEach((function(n){return e.players[n].availableMoves=lk(e,e.players[n])}));var Se=e.log[e.log.length-1];return e.newTurn=!("move"===(null===Se||void 0===Se?void 0:Se.type)&&Se.player===t&&e.currentPlayers.includes(t)&&(null===(o=i.lastMove)||void 0===o?void 0:o.name)!==Vw.Pass),e}function b_(e,n){if(void 0!=n){var t,r=I(e.players);try{for(r.s();!(t=r.n()).done;){var o,i=t.value,a=e.currentPlayers.includes(i.id);if(a||void 0==i.clockStartedAt)a&&void 0==i.clockStartedAt&&(i.clockStartedAt=n);else i.totalTimeUsed=(null!==(o=i.totalTimeUsed)&&void 0!==o?o:0)+Math.max(0,n-i.clockStartedAt),i.clockStartedAt=void 0}}catch(c){r.e(c)}finally{r.f()}}}function w_(e){return e.phase==Iw.GameEnd}function k_(e,n){var t=L_(e),r=Object(Qw["cloneDeep"])(t);if(void 0!=n&&"secret"==e.seed&&e.knownPowerPlantDeck){r.map=e.map,r.powerPlantsDeck=Object(Qw["cloneDeep"])(e.knownPowerPlantDeck);var o=t.actualMarket.length,i=t.futureMarket.length;r.actualMarket=r.powerPlantsDeck.splice(0,o),r.futureMarket=r.powerPlantsDeck.splice(0,i),r.players[r.currentPlayers[0]].availableMoves=lk(r,r.players[r.currentPlayers[0]]),r.powerPlantDeckAfterStep3=Object(Qw["cloneDeep"])(e.knownPowerPlantDeckStep3),r.knownPowerPlantDeck=r.actualMarket.concat(r.futureMarket)}var a,c=null!=n?e.log.slice(0,n):e.log,u=I(c);try{for(u.s();!(a=u.n()).done;){var s=a.value;switch(s.type){case"event":if(s.event.endsWith("was dropped")){var l=+s.event.split(" ")[1];r.players[l].isDropped=!0}break;case"move":y_(r,s.move,s.player);break}}}catch(d){u.e(d)}finally{u.f()}return r}function x_(e){e.coalCapacity=e.oilCapacity=e.garbageCapacity=e.uraniumCapacity=e.hybridCapacity=0,e.powerPlants.forEach((function(n){switch(n.type){case Pw.Coal:e.coalCapacity+=2*n.cost;break;case Pw.Oil:e.oilCapacity+=2*n.cost;break;case Pw.Garbage:n.storage?e.garbageCapacity+=n.storage:e.garbageCapacity+=2*n.cost;break;case Pw.Uranium:e.uraniumCapacity+=2*n.cost;break;case Pw.Hybrid:e.hybridCapacity+=2*n.cost;break}}))}function __(e){"Manhattan"==e.map.name&&0==e.powerPlantsDeck.length&&M_(e);var n=e.powerPlantsDeck.shift();if(n){if(3==e.step?e.knownPowerPlantDeckStep3&&e.knownPowerPlantDeckStep3.push(n):e.knownPowerPlantDeck&&e.knownPowerPlantDeck.push(n),"original"==e.options.variant&&"China"!=e.map.name){var t=Math.max.apply(Math,P(e.players.map((function(e){return e.cities.length}))));while(n.number<=t){var r;if(e.log.push({type:"event",event:"Power plant ".concat(null===(r=n)||void 0===r?void 0:r.number," discarded.")}),!(e.powerPlantsDeck.length>0))break;n=e.powerPlantsDeck.shift(),3==e.step?e.knownPowerPlantDeckStep3&&e.knownPowerPlantDeckStep3.push(n):e.knownPowerPlantDeck&&e.knownPowerPlantDeck.push(n)}}var o=!1;if(99==n.number){if(e.powerPlantDeckAfterStep3?e.powerPlantsDeck=e.powerPlantDeckAfterStep3:"China"==e.map.name?e.step=3:e.powerPlantsDeck=uk(e.powerPlantsDeck,e.seed),e.phase!=Iw.Auction)if("Middle East"==e.map.name&&1==e.step){var i=[].concat(P(e.actualMarket),P(e.futureMarket),[n]);i.sort((function(e,n){return e.number-n.number})),e.actualMarket=i.slice(0,4),e.futureMarket=i.slice(4),I_(e),o=!0}else{"UK & Ireland"==e.map.name&&1==e.step&&(e.log.push({type:"event",event:"Starting Step 2 (Step 3 card drawn before Step 2 threshold)."}),e.step=2);var a=e.actualMarket.shift();e.log.push({type:"event",event:"Step 3 will begin next phase, Power Plant ".concat(null===a||void 0===a?void 0:a.number," discarded.")});var c=[].concat(P(e.actualMarket),P(e.futureMarket));c.sort((function(e,n){return e.number-n.number})),e.actualMarket=c,e.futureMarket=[]}}else{if(e.plantDiscountActive&&n.number<e.actualMarket[0].number)return e.log.push({type:"event",event:"Power Plant ".concat(n.number," drawn from the deck and discarded.")}),e.plantDiscountActive=!1,void __(e);e.log.push({type:"event",event:"Power Plant ".concat(n.number," drawn from the deck.")})}if("China"==e.map.name&&n.type!=Pw.Step3){var u=[].concat(P(e.actualMarket),[n]);u.sort((function(e,n){return e.number-n.number})),e.actualMarket=u}else if(!o){var s=[].concat(P(e.actualMarket),P(e.futureMarket),[n]);s.sort((function(e,n){return e.number-n.number})),0==e.futureMarket.length?"Russia"==e.map.name?(e.actualMarket=s.slice(0,4),e.futureMarket=[]):(e.actualMarket=s.slice(0,6),e.futureMarket=[]):"Russia"==e.map.name?(e.actualMarket=s.slice(0,3),e.futureMarket=s.slice(3)):"Benelux"==e.map.name&&s[4].type==Pw.Wind?(e.actualMarket=s.slice(0,5),e.futureMarket=s.slice(5)):(e.actualMarket=s.slice(0,4),e.futureMarket=s.slice(4)),"Middle East"==e.map.name&&1==e.step&&P_(e)}}}function S_(e){var n,t;null!==(n=e.manhattanRecyclePile)&&void 0!==n||(e.manhattanRecyclePile=[]),null!==(t=e.manhattanDepletion)&&void 0!==t||(e.manhattanDepletion=0);var r=function(){if(0!=e.futureMarket.length)return e.futureMarket.sort((function(e,n){return e.number-n.number})),e.futureMarket.pop()},o=function(n){while(e.actualMarket.length+e.futureMarket.length<n&&e.powerPlantsDeck.length>0){var t=e.powerPlantsDeck.shift();e.knownPowerPlantDeck&&e.knownPowerPlantDeck.push(t),e.log.push({type:"event",event:"Power Plant ".concat(t.number," drawn from the deck.")}),e.futureMarket.push(t)}var r=[].concat(P(e.actualMarket),P(e.futureMarket)).sort((function(e,n){return e.number-n.number}));e.actualMarket=r.slice(0,4),e.futureMarket=r.slice(4)};if(0==e.manhattanDepletion){for(var i=0;i<2;i++){var a=r();if(!a)break;e.manhattanRecyclePile.push(a),e.log.push({type:"event",event:"Setting Power Plant ".concat(a.number," aside on the recycle pile.")})}o(8),0==e.powerPlantsDeck.length&&e.manhattanRecyclePile.length>0&&(e.powerPlantsDeck=uk(e.manhattanRecyclePile,e.seed+":manhattan-depletion-1"),e.manhattanRecyclePile=[],e.manhattanDepletion=1,e.log.push({type:"event",event:"The draw deck is empty — reshuffling the recycle pile into a new deck."}),o(8))}else if(1==e.manhattanDepletion){var c=r();if(c&&(e.powerPlantsDeck.push(c),e.log.push({type:"event",event:"Putting Power Plant ".concat(c.number," on the bottom of the deck.")})),o(8),0==e.powerPlantsDeck.length){e.manhattanDepletion=2;var u=[].concat(P(e.actualMarket),P(e.futureMarket)).sort((function(e,n){return e.number-n.number}));e.actualMarket=u,e.futureMarket=[],e.log.push({type:"event",event:"The deck is empty for the second time — the entire market is now buyable."})}}else{if(e.futureMarket.length>0){var s=[].concat(P(e.actualMarket),P(e.futureMarket)).sort((function(e,n){return e.number-n.number}));e.actualMarket=s,e.futureMarket=[]}if(e.actualMarket.length>0){var l=e.actualMarket.shift();e.log.push({type:"event",event:"Removing the smallest plant, Power Plant ".concat(l.number,", from the game.")})}}}function M_(e){var n,t;if(!("Manhattan"!=e.map.name||e.powerPlantsDeck.length>0))if(null!==(n=e.manhattanRecyclePile)&&void 0!==n||(e.manhattanRecyclePile=[]),null!==(t=e.manhattanDepletion)&&void 0!==t||(e.manhattanDepletion=0),0==e.manhattanDepletion&&e.manhattanRecyclePile.length>0)e.powerPlantsDeck=uk(e.manhattanRecyclePile,e.seed+":manhattan-depletion-1"),e.manhattanRecyclePile=[],e.manhattanDepletion=1,e.log.push({type:"event",event:"The draw deck is empty — reshuffling the recycle pile into a new deck."});else if(1==e.manhattanDepletion){e.manhattanDepletion=2;var r=[].concat(P(e.actualMarket),P(e.futureMarket)).sort((function(e,n){return e.number-n.number}));e.actualMarket=r,e.futureMarket=[],e.log.push({type:"event",event:"The deck is empty for the second time — the entire market is now buyable."})}}function P_(e){var n=e.actualMarket.find((function(e){return e.type==Pw.Garbage||e.type==Pw.Uranium})),t=function(){z_(e,n),[6,11,14].includes(n.number)?e.log.push({type:"event",event:"Removing Power Plant ".concat(n.number," from game.")}):(e.powerPlantsDeck.push(n),e.log.push({type:"event",event:"Sending Power Plant ".concat(n.number," to the bottom of the deck.")}));var t=e.futureMarket.filter((function(e){return e.type!=Pw.Garbage&&e.type!=Pw.Uranium})),r=t.length>0?t[0].number:100;if(0==e.powerPlantsDeck.filter((function(e){return e.type!=Pw.Garbage&&e.type!=Pw.Uranium||e.number>r})).length)return e.log.push({type:"event",event:"No suitable power plants available to draw."}),"break";__(e),n=e.actualMarket.find((function(e){return e.type==Pw.Garbage||e.type==Pw.Uranium}))};while(n){var r=t();if("break"===r)break}}function I_(e){var n=e.futureMarket.pop();e.powerPlantsDeck=uk(e.powerPlantsDeck,e.seed),e.powerPlantsDeck.push(n),__(e),e.log.push({type:"event",event:"Step 2 will begin next phase, discarding two power plants."}),e.step=2;var t=e.actualMarket.shift();t&&(e.log.push({type:"event",event:"Power Plant ".concat(t.number," discarded to start step 2.")}),__(e));var r=e.actualMarket.shift();r&&(e.log.push({type:"event",event:"Power Plant ".concat(r.number," discarded to start step 2.")}),__(e))}function C_(e){if("Australia"===e.map.name&&(!e.coalPrices||3!==e.coalPrices[0])){var n=[3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,9,9,9,10,10,10];e.coalPrices=[].concat(n),e.oilPrices=[].concat(n),e.garbagePrices=[].concat(n),e.log.push({type:"event",event:"CO2 tax (Step 3): the $1 and $2 resource spaces close; the six cheapest tokens of each resource move to the new $9 and $10 spaces."})}}function O_(e){var n=0;2==e.players.length||3==e.players.length?n=1:4==e.players.length||5==e.players.length?n=2:6==e.players.length&&(n=3);for(var t=e.actualMarket.length,r=e.players.length-1,o=Math.max(n,r-t),i=0;i<o;i++){if(3==e.step)break;__(e)}while(2==e.players.length&&e.actualMarket.length<2&&3!=e.step)__(e);if(3==e.step){e.actualMarket=e.actualMarket.filter((function(e){return e.type!=Pw.Step3}));while(e.actualMarket.length>4)e.actualMarket.shift();while(e.actualMarket.length<4&&e.powerPlantsDeck.length>0)__(e)}else{var a=Math.max(2,e.players.length-1);while(e.actualMarket.length>a)e.actualMarket.shift()}}function A_(e,n,t){t==Mw.Coal?(e.coalSupply+=Math.max(0,n.coalLeft-n.coalCapacity),n.coalLeft=Math.min(n.coalLeft,n.coalCapacity)):t==Mw.Oil&&(e.oilSupply+=Math.max(0,n.oilLeft-n.oilCapacity),n.oilLeft=Math.min(n.oilLeft,n.oilCapacity))}function N_(e){e.pendingMarketRefill&&(e.pendingMarketRefill=!1,"China"==e.map.name&&3!=e.step||__(e))}function z_(e,n){e.actualMarket.splice(e.actualMarket.findIndex((function(e){return e.number==n.number})),1)}function j_(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return"India"==n?bk.find((function(n){return n.number==e})):yk.find((function(n){return n.number==e}))}function L_(e){var n=p_(e.players.length,e.options,e.seed);return n.players.forEach((function(n,t){n.name=e.players[t].name,n.isAI=e.players[t].isAI})),n}function D_(e){var n;return'<span style="background-color: '.concat(null!==(n=e.color)&&void 0!==n?n:Cw[e.id],'; font-weight: bold; padding: 0 3px;">').concat(e.name,"</span>")}function R_(e){return Object(Qw["cloneDeep"])(e.players).sort((function(e,n){return e.citiesPowered==n.citiesPowered?e.money==n.money?e.cities.length-n.cities.length:e.money-n.money:e.citiesPowered-n.citiesPowered})).reverse()}function T_(e){e.players.forEach((function(n){n.citiesPowered=B_(e,n)}))}function B_(e,n){for(var t=n.powerPlants.filter((function(n){return!Ow(e,n)})),r=[],o=function(e){var n=[];t.forEach((function(t,r){e&Math.pow(2,r)&&n.push(t)})),r.push(n)},i=0;i<Math.pow(2,t.length);i++)o(i);var a=0;return r.forEach((function(e){if(E_(n,e)){var t=e.map((function(e){return e.citiesPowered})).reduce((function(e,n){return e+n}),0);a=Math.max(a,t)}})),Math.min(n.cities.length,a)}function E_(e,n){var t=n.filter((function(e){return e.type==Pw.Coal})).map((function(e){return e.cost})).reduce((function(e,n){return e+n}),0),r=n.filter((function(e){return e.type==Pw.Oil})).map((function(e){return e.cost})).reduce((function(e,n){return e+n}),0),o=n.filter((function(e){return e.type==Pw.Garbage})).map((function(e){return e.cost})).reduce((function(e,n){return e+n}),0),i=n.filter((function(e){return e.type==Pw.Uranium})).map((function(e){return e.cost})).reduce((function(e,n){return e+n}),0),a=n.filter((function(e){return e.type==Pw.Hybrid})).map((function(e){return e.cost})).reduce((function(e,n){return e+n}),0);return!(t>e.coalLeft||r>e.oilLeft||o>e.garbageLeft||i>e.uraniumLeft)&&!(a>e.coalLeft-t+e.oilLeft-r)}function U_(e){if(("Baden-Württemberg"==e.map.name||1==e.round)&&Z_(e),e.players.forEach((function(e){e.bid=0,e.passed=e.isDropped})),e.players.forEach((function(e){e.skipAuction=!1})),e.discountBonusPlayer=void 0,"recharged"==e.options.variant&&(e.plantDiscountActive?(e.plantDiscountActive=!1,e.actualMarket.length>0&&(e.log.push({type:"event",event:"Discarding Power Plant ".concat(e.actualMarket[0].number,".")}),e.actualMarket.shift(),__(e))):"Benelux"==e.map.name&&(e.discardSmallestPlant=!0)),e.futureMarket.find((function(e){return 99==e.number})))if("Middle East"==e.map.name&&1==e.step)I_(e);else{var n=e.actualMarket.shift();e.futureMarket.pop(),e.log.push({type:"event",event:"Starting Step 3, Power Plant ".concat(null===n||void 0===n?void 0:n.number," discarded.")}),e.step=3,C_(e),e.actualMarket=[].concat(P(e.actualMarket),P(e.futureMarket)),e.futureMarket=[]}e.phase=Iw.Resources,F_(e,e.playerOrder[e.players.length-1])}function G_(e,n,t){n.powerPlants.push(e.chosenPowerPlant),n.money-=t,e.options.trackTotalSpent&&(n.totalSpentPlants+=t),"Manhattan"!=e.map.name||"recharged"!=e.options.variant||1!=e.minimunBid||n.isDropped?(n.skipAuction=!0,e.discountBonusPlayer==n.id&&(e.discountBonusPlayer=void 0)):e.discountBonusPlayer=n.id,x_(n),e.log.push({type:"event",event:"".concat(n.name," wins the bid and pays ").concat(t,"."),pretty:"".concat(D_(n),' wins the bid and pays <span style="color: green">$').concat(t,"</span>.")}),z_(e,e.chosenPowerPlant),e.chosenPowerPlant=e.currentBid=void 0,e.pendingMarketRefill=!0}function Z_(e){e.playerOrder=Object(Qw["cloneDeep"])(e.players).sort((function(e,n){var t=e.cities.length,r=n.cities.length;return t==r?Math.max.apply(Math,P(e.powerPlants.map((function(e){return e.number}))))-Math.max.apply(Math,P(n.powerPlants.map((function(e){return e.number})))):t-r})).map((function(e){return e.id})).reverse()}function F_(e,n){e.currentPlayers=[n],e.players[n].isDropped&&e.players.some((function(e){return!e.isDropped}))&&(e.players[n].passed=!0,K_(e))}function K_(e){e.phase==Iw.Auction?void 0==e.chosenPowerPlant?W_(e):V_(e):$_(e)}function V_(e){var n=e.currentPlayers[0];e.currentPlayers=[(n+1)%e.players.length],e.players[e.currentPlayers[0]].isDropped&&e.players.some((function(e){return!e.isDropped}))&&(e.players[e.currentPlayers[0]].passed=!0,e.players[e.currentPlayers[0]].skipAuction=!0,V_(e)),(e.players[e.currentPlayers[0]].skipAuction||e.players[e.currentPlayers[0]].passed)&&e.players.some((function(e){return!e.skipAuction&&!e.passed&&!e.isDropped}))&&V_(e)}function $_(e){var n=e.playerOrder.indexOf(e.currentPlayers[0]);e.currentPlayers=[e.playerOrder[(n-1+e.players.length)%e.players.length]],e.players[e.currentPlayers[0]].isDropped&&e.players.some((function(e){return!e.isDropped}))&&(e.players[e.currentPlayers[0]].passed=!0,$_(e))}function W_(e){var n,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t)n=e.playerOrder[0];else{var r=e.playerOrder.indexOf(e.currentPlayers[0]);n=e.playerOrder[(r+1)%e.players.length]}e.currentPlayers=[n];var o=e.players[n];o.isDropped&&(o.passed=!0,o.skipAuction=!0),(o.skipAuction||o.passed)&&e.players.some((function(e){return!e.skipAuction&&!e.passed&&!e.isDropped}))&&W_(e)}function Y_(e){if(!e.coalResupply){var n=Tx.find((function(n){return n.name===e.map.name}));null!==n&&void 0!==n&&n.resupply?(e.coalResupply=n.resupply[0],e.oilResupply=n.resupply[1],e.garbageResupply=n.resupply[2],e.uraniumResupply=n.resupply[3]):(e.coalResupply=[[3,4,3],[4,5,3],[5,6,4],[5,7,5],[7,9,6]],e.oilResupply=[[2,2,4],[2,3,4],[3,4,5],[4,5,6],[5,6,7]],e.garbageResupply=[[1,2,3],[1,2,3],[2,3,4],[3,3,5],[3,5,6]],e.uraniumResupply=[[1,1,1],[1,1,1],[1,2,2],[2,3,2],[2,3,3]]);var t=e.players.length-2;e.resourceResupply=["[".concat(e.coalResupply[t][0],", ").concat(e.oilResupply[t][0],", ").concat(e.garbageResupply[t][0],", ").concat(e.uraniumResupply[t][0],"]"),"[".concat(e.coalResupply[t][1],", ").concat(e.oilResupply[t][1],", ").concat(e.garbageResupply[t][1],", ").concat(e.uraniumResupply[t][1],"]"),"[".concat(e.coalResupply[t][2],", ").concat(e.oilResupply[t][2],", ").concat(e.garbageResupply[t][2],", ").concat(e.uraniumResupply[t][2],"]")],e.coalResupplyNorth&&e.oilResupplyNorth&&e.garbageResupplyNorth&&(e.resourceResupplyNorth=["[".concat(e.coalResupplyNorth[t][0],", ").concat(e.oilResupplyNorth[t][0],", ").concat(e.garbageResupplyNorth[t][0],"]"),"[".concat(e.coalResupplyNorth[t][1],", ").concat(e.oilResupplyNorth[t][1],", ").concat(e.garbageResupplyNorth[t][1],"]"),"[".concat(e.coalResupplyNorth[t][2],", ").concat(e.oilResupplyNorth[t][2],", ").concat(e.garbageResupplyNorth[t][2],"]")])}}function J_(e,n,t){if(n.bid=t,e.currentPlayers=e.currentPlayers.filter((function(e){return e!==n.id})),0===e.currentPlayers.length){var r;(r=e.log).push.apply(r,P(e.hiddenLog)),e.hiddenLog=[];var o=e.players.map((function(e){return e.bid})).filter((function(e){return e>0})),i=e.minimunBid,a=Math.max.apply(Math,P(o)),c=e.players.filter((function(e){return!e.isDropped&&e.bid===a})),u=c[0].id;if(o.length>1){o.splice(o.indexOf(a),1);var s=Math.max.apply(Math,P(o));if(c.length>1)(function(){var n=e.auctioningPlayer;while(!c.find((function(e){return e.id==n})))n=(n+1)%e.players.length;i=s,u=n})();else{var l=e.auctioningPlayer;i=0;while(0==i)c[0].id==l?i=s:e.players[l].bid==s&&(i=s+1),l=(l+1)%e.players.length}}var d=e.players[u];G_(e,d,i),(Nw(e,d)>4||e.players.length>2&&Nw(e,d)>3)&&!d.isDropped?F_(e,d.id):(N_(e),e.players.some((function(e){return!e.skipAuction&&!e.isDropped}))?(e.players.forEach((function(e){e.bid=0,e.passed=e.isDropped})),W_(e,!0)):U_(e))}}var H_=function(e){T(t,e);var n=Z(t);function t(){var e;return C(this,t),e=n.apply(this,arguments),e.follow=!0,e}return A(t,[{key:"illustratedEntries",get:function(){var e=this;return this.entries.map((function(n){var t,r=[],o=/Power Plant\s+(?:<b>)?(\d+)(?:<\/b>)?/gi,i=0;while(t=o.exec(n)){var a=j_(Number(t[1]),e.mapName);a&&(r.push({html:n.slice(i,t.index)},{plant:a}),i=t.index+t[0].length)}return r.push({html:n.slice(i)}),r}))}},{key:"plantLabel",value:function(e){return"Power plant ".concat(e.number,": ").concat(e.cost?"".concat(e.cost," ").concat(e.type):"no fuel"," → ").concat(e.citiesPowered," cities")}},{key:"mounted",value:function(){var e=this;this.feedObserver=new ResizeObserver((function(){e.follow&&e.scrollToLatest()})),this.feedObserver.observe(this.$refs.feed),this.scrollToLatest()}},{key:"beforeDestroy",value:function(){var e;null===(e=this.feedObserver)||void 0===e||e.disconnect()}},{key:"changed",value:function(){this.follow&&this.$nextTick(this.scrollToLatest)}},{key:"scrollToLatest",value:function(){var e=this.$refs.feed;null!==e&&void 0!==e&&e.clientHeight&&(e.scrollTop=e.scrollHeight)}},{key:"onScroll",value:function(){var e=this.$refs.feed;e.clientHeight&&(this.follow=e.scrollHeight-e.scrollTop-e.clientHeight<32)}}]),t}(Rb.a);Eb([gw({default:function(){return[]}})],H_.prototype,"entries",void 0),Eb([gw({default:""})],H_.prototype,"mapName",void 0),Eb([kw("entries")],H_.prototype,"changed",null),H_=Eb([uw({components:{Card:Hw}})],H_);var q_=H_,X_=q_,Q_=(t("9a1f"),Gw(X_,Ub,Gb,!1,null,"2f8b51a2",null)),eS=Q_.exports,nS=t("bcba");function tS(e){return!!e&&!1===e.newTurn}function rS(e,n){return!!n&&e.name===n.name&&e.time===n.time&&Object(nS["isEqual"])(e.data,n.data)}function oS(e,n,t,r){if(!n)return!1;var o=n.log.length;return e.log.length===o+t.length&&e.log.slice(o).every((function(e,n){return"move"===e.type&&e.player===r&&rS(e.move,t[n])}))}function iS(e,n,t,r){if(!n||e.log.length<n.length)return[];var o=e.log.slice(n.length).filter((function(e){return"move"===e.type&&e.player===r})).map((function(e){return e.move}));if(!o.every((function(e,n){return rS(e,t[n])})))return[];var i=t.slice(o.length);return i.length>0&&(void 0===r||!e.currentPlayers.includes(r))?[]:i}function aS(e,n,t){var r,o,i=JSON.parse(JSON.stringify(e)),a=[],c=I(n);try{for(c.s();!(o=c.n()).done;){var u=o.value;try{i=y_(i,u,t)}catch(s){console.error("dropping turn-buffer tail no longer legal on the committed state",u,s),r=s;break}a.push(u)}}catch(s){c.e(s)}finally{c.f()}return{state:i,applied:a,failure:r}}function cS(e){if(!e)return!1;var n=e;return"AssertionError"===n.name||"ERR_ASSERTION"===n.code}function uS(e){return"".concat(e.resource,"|").concat(e.side||"","|").concat(e.fromStorage?"storage":"")}function sS(e,n){var t=e.data;return e.name===Vw.BuyResource&&!!t&&t.resource===n.resource&&(t.side||"")===(n.side||"")&&!!t.fromStorage===!!n.fromStorage}function lS(e){var n,t={},r=I(e);try{for(r.s();!(n=r.n()).done;){var o=n.value;if(o.name===Vw.BuyResource&&o.data){var i=uS(o.data);t[i]=(t[i]||0)+1}}}catch(a){r.e(a)}finally{r.f()}return t}function dS(e,n){for(var t=e.length-1;t>=0;t--)if(sS(e[t],n))return t;return-1}var fS=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:[{canClick:e.canClick}],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+") scale("+e.scale+")",opacity:e.pieceOpacity},on:{click:function(n){e.canClick&&e.$emit("click")}}},[t("path",{attrs:{d:"M136.8 21.2L43.1001 48.9L43.2001 167.2L135.2 210.3L228.8 174V55.7L136.8 21.2Z",fill:"#5a2d0c",stroke:"black","stroke-width":"20","stroke-miterlimit":"10"}}),t("path",{attrs:{d:"M135.2 210.3L43.2001 167.2L43.1001 48.8999L135.1 83.4999L135.2 210.3Z",fill:"#70380f"}}),t("path",{attrs:{d:"M135.1 83.5L43.1001 48.9L136.8 21.2L228.8 55.7L135.1 83.5Z",fill:"#8b4513"}}),t("path",{attrs:{d:"M228.8 55.7V174L135.2 210.3L135.1 83.5L228.8 55.7Z",fill:"#5a2d0c"}}),t("title",[e._v("Coal")])])},pS=[],vS=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(ew(Fw));Eb([gw()],vS.prototype,"canClick",void 0),Eb([gw({default:.08})],vS.prototype,"scale",void 0),vS=Eb([uw({created:function(){this.pieceType=xw.Coal}})],vS);var hS=vS,mS=hS,gS=Gw(mS,fS,pS,!1,null,null,null),yS=gS.exports,bS=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:[{canClick:e.canClick}],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+") scale("+e.scale+")",opacity:e.pieceOpacity},on:{click:function(n){e.canClick&&e.$emit("click")}}},[t("path",{attrs:{d:"M2,5 A9,5,0 0,1 18,5 L18,15 A9,5 0 0,1 2,15Z",fill:"none",stroke:"black","stroke-miterlimit":"0"}}),t("path",{attrs:{d:"M2,5 A9,5 0 0,0 18,5 A9,5 0 0,0 2,5",fill:"#FF0"}}),t("path",{attrs:{d:"M2,5 A9,5 0 0,0 2,5 L2,15 A9,5,0 0,0 18,15 L18,5 A9,5 0 0,1 2,5",fill:"url(#garbage-linear)"}}),t("title",[e._v("Garbage")]),t("defs",[t("linearGradient",{attrs:{id:"garbage-linear",x1:"0",y1:"10",x2:"20",y2:"10",gradientUnits:"userSpaceOnUse"}},[t("stop",{attrs:{"stop-color":"#DD0"}}),t("stop",{attrs:{offset:"1","stop-color":"#AA0"}})],1)],1)])},wS=[],kS=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(ew(Fw));Eb([gw()],kS.prototype,"canClick",void 0),Eb([gw({default:1})],kS.prototype,"scale",void 0),kS=Eb([uw({created:function(){this.pieceType=xw.Garbage}})],kS);var xS=kS,_S=xS,SS=Gw(_S,bS,wS,!1,null,null,null),MS=SS.exports,PS=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:["piece"],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+") scale("+e.scale+")"}},[t("path",{attrs:{d:"M187.698 263.636V456.017L3 341.204V169.522L80.8579 108.141L187.698 263.636Z",fill:e.color,stroke:"#010101","stroke-width":"12","stroke-miterlimit":"10"}}),t("path",{attrs:{d:"M395.724 136.361V300.164L187.698 456.017V263.636L395.724 136.361Z",fill:e.color,stroke:"#010101","stroke-width":"12","stroke-miterlimit":"10"}}),t("path",{attrs:{d:"M395.724 136.361L187.698 263.636L80.8579 108.141L304.771 4L395.724 136.361Z",fill:e.color,stroke:"#010101","stroke-width":"12","stroke-miterlimit":"10"}}),t("title",[e._v(e._s(e.ownerName)+"'s House")])])},IS=[],CS=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(ew(Fw));Eb([vw()],CS.prototype,"player",void 0),Eb([gw()],CS.prototype,"color",void 0),Eb([gw({default:.035})],CS.prototype,"scale",void 0),Eb([gw()],CS.prototype,"owner",void 0),Eb([gw()],CS.prototype,"ownerName",void 0),CS=Eb([uw({created:function(){this.pieceType=xw.House}})],CS);var OS=CS,AS=OS,NS=Gw(AS,PS,IS,!1,null,null,null),zS=NS.exports,jS=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:["piece"],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+")"}},[t("g",{attrs:{transform:"scale(0.08)"}},[t("path",{attrs:{d:"M136.8 21.2L43.1001 48.9L43.2001 167.2L135.2 210.3L228.8 174V55.7L136.8 21.2Z",fill:"#5a2d0c",stroke:"black","stroke-width":"20","stroke-miterlimit":"10"}}),t("path",{attrs:{d:"M135.2 210.3L43.2001 167.2L43.1001 48.8999L135.1 83.4999L135.2 210.3Z",fill:"#70380f"}}),t("path",{attrs:{d:"M135.1 83.5L43.1001 48.9L136.8 21.2L228.8 55.7L135.1 83.5Z",fill:"#8b4513"}}),t("path",{attrs:{d:"M228.8 55.7V174L135.2 210.3L135.1 83.5L228.8 55.7Z",fill:"#5a2d0c"}})]),t("g",{attrs:{transform:"translate(5, 0)"}},[t("path",{attrs:{d:"M6,4 A6,4,0 0,1 14,4 L14,16 A6,4 0 0,1 6,16Z",fill:"none",stroke:"black"}}),t("path",{attrs:{d:"M6,4 A6,4 0 0,0 14,4 A6,4 0 0,0 6,4",fill:"#556"}}),t("path",{attrs:{d:"M6,4 A6,4 0 0,0 6,4 L6,16 A6,4,0 0,0 14,16 L14,4 A6,4 0 0,1 6,4",fill:"url(#oil-linear)"}})]),t("title",[e._v("Coal/Oil")])])},LS=[],DS=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(ew(Fw));DS=Eb([uw({created:function(){this.pieceType=xw.Hybrid}})],DS);var RS=DS,TS=RS,BS=Gw(TS,jS,LS,!1,null,null,null),ES=(BS.exports,function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:[{canClick:e.canClick}],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+") scale("+e.scale+")",opacity:e.pieceOpacity},on:{click:function(n){e.canClick&&e.$emit("click")}}},[t("path",{attrs:{d:"M6,4 A6,4,0 0,1 14,4 L14,16 A6,4 0 0,1 6,16Z",fill:"none",stroke:"black"}}),t("path",{attrs:{d:"M6,4 A6,4 0 0,0 14,4 A6,4 0 0,0 6,4",fill:"#556"}}),t("path",{attrs:{d:"M6,4 A6,4 0 0,0 6,4 L6,16 A6,4,0 0,0 14,16 L14,4 A6,4 0 0,1 6,4",fill:"url(#oil-linear)"}}),t("title",[e._v("Oil")]),t("defs",[t("linearGradient",{attrs:{id:"oil-linear",x1:"0",y1:"10",x2:"20",y2:"10",gradientUnits:"userSpaceOnUse"}},[t("stop",{attrs:{"stop-color":"#445"}}),t("stop",{attrs:{offset:"1","stop-color":"#223"}})],1)],1)])}),US=[],GS=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(ew(Fw));Eb([gw()],GS.prototype,"canClick",void 0),Eb([gw({default:1})],GS.prototype,"scale",void 0),GS=Eb([uw({created:function(){this.pieceType=xw.Oil}})],GS);var ZS=GS,FS=ZS,KS=Gw(FS,ES,US,!1,null,null,null),VS=KS.exports,$S=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:[{canClick:e.canClick}],attrs:{id:e.elId,transform:"translate("+e.currentX+", "+e.currentY+")",opacity:e.pieceOpacity},on:{click:function(n){e.canClick&&e.$emit("click")}}},[t("path",{attrs:{d:"M3,3 l4,-2 l6,0 l4,2 l0,11 l-4,2 l-6,0 l-4,-2Z",fill:"#F00",stroke:"black"}}),t("path",{attrs:{d:"M3,3 l4,-2 l6,0 l4,2 l0,2.1 l-4,2 l-6,0 l-4,-2 l0,-2.1",fill:"#F00"}}),t("path",{attrs:{d:"M3,5 l0,9 l4.1,2 l0,-9 l-4.1,-2",fill:"#e60000"}}),t("path",{attrs:{d:"M7,7 l6.1,0 l0,9 l-6.1,0 l0,-9",fill:"#cc0000"}}),t("path",{attrs:{d:"M13,7 l4.1,-2 l0,9 l-4.1,2 l0,-9",fill:"#b30000"}}),t("title",[e._v("Uranium")])])},WS=[],YS=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(ew(Fw));Eb([gw()],YS.prototype,"canClick",void 0),YS=Eb([uw({created:function(){this.pieceType=xw.Uranium}})],YS);var JS=YS,HS=JS,qS=Gw(HS,$S,WS,!1,null,null,null),XS=qS.exports,QS=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{class:["button",{enabled:e.enabled}],on:{click:function(n){e.enabled&&e.$emit("click")}}},[t("rect",{attrs:{width:e.width,height:"30",fill:"gainsboro",stroke:"black",rx:"2"}}),t("text",{attrs:{"text-anchor":"middle",fill:"black",x:e.width/2,y:"16"}},[e._v(e._s(e.getText()))]),t("title",[e._v(e._s(e.text))])])},eM=[],nM=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return A(t,[{key:"getText",value:function(){var e;return this.text.length>15?null===(e=this.text)||void 0===e?void 0:e.substring(0,12).concat("..."):this.text}}]),t}(Rb.a);Eb([gw()],nM.prototype,"text",void 0),Eb([gw()],nM.prototype,"width",void 0),Eb([gw({default:!0})],nM.prototype,"enabled",void 0),nM=Eb([uw],nM);var tM=nM,rM=tM,oM=Gw(rM,QS,eM,!1,null,null,null),iM=oM.exports,aM=function(){var e=this,n=e.$createElement,r=e._self._c||n;return r("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("click")}}},[r("circle",{attrs:{cx:"15",cy:"15",r:"15",fill:"gainsboro",stroke:"black","stroke-width":"2px"}}),r("image",{attrs:{x:"5",y:"5",width:"20",height:"20",href:t("997e")}}),e.isOn?e._e():r("line",{attrs:{x1:"5",y1:"25",x2:"25",y2:"5",stroke:"black","stroke-width":"3px","stroke-linecap":"round"}}),e.isOn?r("title",[e._v("Help off")]):r("title",[e._v("Help on")])])},cM=[],uM=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(Rb.a);Eb([gw()],uM.prototype,"isOn",void 0),uM=Eb([uw],uM);var sM=uM,lM=sM,dM=Gw(lM,aM,cM,!1,null,null,null),fM=dM.exports,pM=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("click")}}},[t("circle",{attrs:{cx:"15",cy:"15",r:"15",fill:"gainsboro",stroke:"black","stroke-width":"2px"}}),e.isOn?[t("rect",{attrs:{x:"6",y:"7",width:"18",height:"4",rx:"1",fill:"black"}}),t("rect",{attrs:{x:"6",y:"13",width:"18",height:"4",rx:"1",fill:"black"}}),t("rect",{attrs:{x:"6",y:"19",width:"18",height:"4",rx:"1",fill:"black"}})]:[t("rect",{attrs:{x:"6",y:"7",width:"10",height:"16",rx:"1",fill:"black"}}),t("rect",{attrs:{x:"18",y:"7",width:"6",height:"7",rx:"1",fill:"black"}}),t("rect",{attrs:{x:"18",y:"16",width:"6",height:"7",rx:"1",fill:"black"}})],e.isOn?t("title",[e._v("Switch to the full board layout")]):t("title",[e._v("Stack the board into rows")])],2)},vM=[],hM=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(Rb.a);Eb([gw()],hM.prototype,"isOn",void 0),hM=Eb([uw],hM);var mM=hM,gM=mM,yM=Gw(gM,pM,vM,!1,null,null,null),bM=yM.exports,wM=function(){var e=this,n=e.$createElement,r=e._self._c||n;return r("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("click")}}},[r("rect",{attrs:{width:"80",height:"26",fill:"gainsboro",stroke:"black",rx:"2"}}),r("image",{attrs:{x:"11",y:"5",width:"16",height:"16",href:t("b67b")}}),r("text",{attrs:{"text-anchor":"middle",fill:"black",x:"47",y:"13"}},[e._v("Log")]),r("title",[e._v("Show log")])])},kM=[],xM=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(Rb.a);xM=Eb([uw],xM);var _M=xM,SM=_M,MM=Gw(SM,wM,kM,!1,null,null,null),PM=MM.exports,IM=function(){var e=this,n=e.$createElement,r=e._self._c||n;return r("g",{class:["button",{enabled:e.enabled,highlightButton:e.highlightButton}],on:{click:function(n){e.enabled&&e.$emit("click")}}},[r("rect",{attrs:{width:"80",height:"26",fill:"gainsboro",stroke:"black",rx:"2"}}),r("image",{attrs:{x:"15",y:"8",width:"10",height:"10",href:t("fd65")}}),r("text",{attrs:{"text-anchor":"middle",fill:"black",x:"47",y:"13"}},[e._v(e._s(e.text))]),r("title",[e._v("Pass turn")])])},CM=[],OM=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(Rb.a);Eb([gw()],OM.prototype,"enabled",void 0),Eb([gw()],OM.prototype,"highlightButton",void 0),Eb([gw()],OM.prototype,"text",void 0),OM=Eb([uw],OM);var AM=OM,NM=AM,zM=Gw(NM,IM,CM,!1,null,null,null),jM=zM.exports,LM=function(){var e=this,n=e.$createElement,r=e._self._c||n;return r("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("click")}}},[r("circle",{attrs:{cx:"15",cy:"15",r:"15",fill:"gainsboro",stroke:"black","stroke-width":"2px"}}),e.isOn?r("image",{attrs:{x:"5",y:"5",width:"20",height:"20",href:t("9fd9")}}):r("image",{attrs:{x:"5",y:"5",width:"20",height:"20",href:t("2044")}}),e.isOn?r("title",[e._v("Sound off")]):r("title",[e._v("Sound on")])])},DM=[],RM=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(Rb.a);Eb([gw()],RM.prototype,"isOn",void 0),RM=Eb([uw],RM);var TM=RM,BM=TM,EM=Gw(BM,LM,DM,!1,null,null,null),UM=EM.exports,GM=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{staticClass:"resourceView"},[t("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("select",!1)}}},[t("rect",{attrs:{x:"0",y:"0",width:"306",height:"72",rx:"6",fill:e.showTrack?"gainsboro":"#333",stroke:"black","stroke-width":"3"}}),t("text",{staticStyle:{"font-size":"30px"},attrs:{x:"153",y:"47","text-anchor":"middle","font-weight":"700",fill:e.showTrack?"black":"white"}},[e._v(" Buy boxes ")]),t("title",[e._v("One box per buyable source: the price you pay, and the whole box is the tap target")])]),t("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("select",!0)}}},[t("rect",{attrs:{x:"314",y:"0",width:"306",height:"72",rx:"6",fill:e.showTrack?"#333":"gainsboro",stroke:"black","stroke-width":"3"}}),t("text",{staticStyle:{"font-size":"30px"},attrs:{x:"467",y:"47","text-anchor":"middle","font-weight":"700",fill:e.showTrack?"white":"black"}},[e._v(" Price track ")]),t("title",[e._v("The printed market board, so the whole price track is visible at once")])])])},ZM=[],FM=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(Rb.a);Eb([gw()],FM.prototype,"showTrack",void 0),FM=Eb([uw],FM);var KM=FM,VM=KM,$M=Gw(VM,GM,ZM,!1,null,null,null),WM=$M.exports,YM=function(){var e=this,n=e.$createElement,r=e._self._c||n;return r("g",{staticClass:"button enabled",on:{click:function(n){return e.$emit("click")}}},[r("circle",{attrs:{cx:"15",cy:"15",r:"15",fill:"gainsboro",stroke:"black","stroke-width":"2px"}}),r("image",{attrs:{x:"5",y:"5",width:"20",height:"20",href:t("b85b")}}),r("title",[e._v("Rules")])])},JM=[],HM=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(Rb.a);HM=Eb([uw],HM);var qM=HM,XM=qM,QM=Gw(XM,YM,JM,!1,null,null,null),eP=QM.exports,nP=function(){var e=this,n=e.$createElement,r=e._self._c||n;return r("g",{class:["button",{enabled:e.enabled,highlightButton:e.highlightButton}],on:{click:function(n){e.enabled&&e.$emit("click")}}},[r("rect",{attrs:{width:"80",height:"26",fill:"gainsboro",stroke:"black",rx:"2"}}),r("image",{attrs:{x:"11",y:"4",width:"16",height:"16",href:t("92cf")}}),r("text",{attrs:{"text-anchor":"middle",fill:"black",x:"47",y:"13"}},[e._v("Undo")]),r("title",[e._v("Undo last move")])])},tP=[],rP=function(e){T(t,e);var n=Z(t);function t(){return C(this,t),n.apply(this,arguments)}return t}(Rb.a);Eb([gw()],rP.prototype,"enabled",void 0),Eb([gw()],rP.prototype,"highlightButton",void 0),rP=Eb([uw],rP);var oP=rP,iP=oP,aP=Gw(iP,nP,tP,!1,null,null,null),cP=aP.exports,uP=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{staticClass:"player-board"},[t("rect",{attrs:{width:"350",height:"100",x:"0",y:"0",fill:"gold",stroke:e.color}}),t("rect",{attrs:{width:"350",height:"25",x:"0",y:"0",fill:e.color}}),t("foreignObject",{attrs:{height:"30",width:"30",x:"-30",y:"-5"}},[t("img",{staticStyle:{"border-radius":"50%"},attrs:{src:e.avatar||"https://avatars.dicebear.com/api/pixel-art/"+e.player.name+".svg",width:"100%",height:"100%"}})]),t("text",{attrs:{x:"5",y:"13","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.getPlayerName())+" ")]),e.showMoney?t("text",{attrs:{x:"250",y:"13","font-weight":"600",fill:"black"}},[e._v("Money: $"+e._s(e.player.money))]):e._e(),e._l(e.player.powerPlants,(function(n,r){return t("Card",{key:"powerPlant_"+n.number,attrs:{targetState:{x:e.cardX(r),y:30},owner:e.owner,powerPlant:n,canClick:e.canUse(n)},on:{click:function(t){return e.powerPlantClick(n)}}})})),e._l(e.player.powerPlants,(function(n,r){return[e.isMine(n)?t("g",{key:"mine_"+n.number},[t("rect",{attrs:{x:e.cardX(r),y:"30",width:"60",height:"40",fill:"none",stroke:"#2e8b3d","stroke-width":"3px",rx:"3px"}}),t("circle",{attrs:{cx:e.cardX(r)+51,cy:"37",r:"8",fill:"#46c655",stroke:"#1f5c25","stroke-width":"1.5"}}),t("text",{staticStyle:{"font-size":"9px","font-weight":"700"},attrs:{x:e.cardX(r)+51,y:"40","text-anchor":"middle",fill:"white"}},[e._v(" U ")])]):e._e()]})),e.preferences.disableHelp?e._e():[e._l(e.player.powerPlants,(function(n,r){return[e.canUse(n)?t("rect",{key:r+"_"+r+"_helper",attrs:{x:e.cardX(r),y:30,width:"60",height:"40",fill:"none",stroke:"blue","stroke-width":"4px",rx:"2px"}}):e._e()]}))],e.canClickResources?t("g",[t("rect",{attrs:{width:"30",height:"30",x:"0",y:"71",fill:"none",stroke:"blue","stroke-width":"2px",rx:"2px"}}),t("rect",{attrs:{width:"30",height:"30",x:"70",y:"71",fill:"none",stroke:"blue","stroke-width":"2px",rx:"2px"}})]):e._e(),t("Coal",{attrs:{pieceId:"Coal"+e.player.id,targetState:{x:5,y:76},canClick:e.canClickResources},on:{click:function(n){return e.clickResource("coal")}}}),t("text",{attrs:{"text-anchor":"middle",x:"40",y:"85",fill:"black"}},[e._v(e._s(e.player.coalLeft))]),t("Oil",{attrs:{pieceId:"Oil"+e.player.id,targetState:{x:75,y:76},canClick:e.canClickResources},on:{click:function(n){return e.clickResource("oil")}}}),t("text",{attrs:{"text-anchor":"middle",x:"110",y:"85",fill:"black"}},[e._v(e._s(e.player.oilLeft))]),t("Garbage",{attrs:{pieceId:"Garbage"+e.player.id,targetState:{x:145,y:76}}}),t("text",{attrs:{"text-anchor":"middle",x:"180",y:"85",fill:"black"}},[e._v(e._s(e.player.garbageLeft))]),t("Uranium",{attrs:{pieceId:"Uranium"+e.player.id,targetState:{x:215,y:76}}}),t("text",{attrs:{"text-anchor":"middle",x:"250",y:"85",fill:"black"}},[e._v(e._s(e.player.uraniumLeft))]),t("text",{staticStyle:{"font-size":"13px"},attrs:{"text-anchor":"end",x:"345",y:"85",fill:"black","font-weight":e.isCurrentPlayer?700:400}},[e._v(" "+e._s(e.timeUsed)+" ")])],2)},sP=[];function lP(e){if(!e||e<0)return"0s";var n=Math.floor(e/1e3),t=Math.floor(n/60),r=Math.floor(t/60),o=Math.floor(r/24);return o>0?"".concat(o,"d ").concat(r%24,"h"):r>0?"".concat(r,"h ").concat(t%60,"m"):t>0?"".concat(t,"m ").concat(n%60,"s"):"".concat(n,"s")}var dP=function(e){T(t,e);var n=Z(t);function t(){var e;return C(this,t),e=n.apply(this,arguments),e.now=Date.now(),e}return A(t,[{key:"mounted",value:function(){var e=this;this.clockTimer=window.setInterval((function(){return e.now=Date.now()}),1e3)}},{key:"beforeDestroy",value:function(){void 0!=this.clockTimer&&window.clearInterval(this.clockTimer)}},{key:"timeUsed",get:function(){return lP(Aw(this.player,this.now))}},{key:"cardX",value:function(e){var n=this.player.powerPlants.length;return n<5?20+80*e:5+Math.min(70,280/(n-1))*e}},{key:"isMine",value:function(e){return!0===this.isAustralia&&e.type===Pw.Uranium}},{key:"getPlayerName",value:function(){var e="";if(this.isCurrentPlayer&&(e+="• "),e+=this.player.name,this.ended)switch(this.ranking){case 1:e+=" (1st)";break;case 2:e+=" (2nd)";break;case 3:e+=" (3rd)";break;case 4:case 5:case 6:e+=" (".concat(this.ranking,"th)");break}else this.player.skipAuction?e+=" (Skipping)":this.player.passed?e+=" (Passed)":this.player.bid&&!this.isCurrentPlayer&&this.showBid&&(e+=" (Bid: $"+this.player.bid+")");return e}},{key:"canUse",value:function(e){var n,t;if(!this.isCurrentPlayer)return!1;if(null!==(n=this.player.availableMoves)&&void 0!==n&&n[Vw.DiscardPowerPlant])return e.number!==this.player.powerPlants[this.player.powerPlants.length-1].number;if(null===(t=this.player.availableMoves)||void 0===t||!t[Vw.UsePowerPlant])return!1;if(!this.player.powerPlantsNotUsed.includes(e.number)||this.player.resourcesUsed.length>0)return!1;switch(e.type){case Pw.Coal:return this.player.coalLeft>=e.cost;case Pw.Oil:return this.player.oilLeft>=e.cost;case Pw.Garbage:return this.player.garbageLeft>=e.cost;case Pw.Uranium:return this.player.uraniumLeft>=e.cost;case Pw.Hybrid:return this.player.coalLeft+this.player.oilLeft>=e.cost;case Pw.Wind:case Pw.Nuclear:return this.player.coalLeft+this.player.oilLeft>=e.cost}}},{key:"powerPlantClick",value:function(e){this.phase==Iw.Bureaucracy&&e.type==Pw.Hybrid?0==this.player.coalLeft||0==this.player.oilLeft||this.player.coalLeft+this.player.oilLeft==e.cost?(this.player.resourcesUsed=Array(Math.min(e.cost,this.player.coalLeft)).fill(Mw.Coal).concat(Array(e.cost-Math.min(e.cost,this.player.coalLeft)).fill(Mw.Oil)),this.$emit("powerPlantClick",e)):(this.powerPlantClicked=e,this.player.resourcesUsed=Array(e.cost).fill(null)):this.$emit("powerPlantClick",e)}},{key:"canClickResources",get:function(){return this.player.availableMoves&&this.player.availableMoves["DiscardResources"]||this.player.resourcesUsed.some((function(e){return null==e}))}},{key:"clickResource",value:function(e){if(this.player.availableMoves&&this.player.availableMoves["DiscardResources"])this.$emit("discardResource",e);else if(this.player.resourcesUsed.some((function(e){return null==e}))){var n=this.player.resourcesUsed.findIndex((function(e){return null==e}));this.player.resourcesUsed[n]=e,"coal"==e?this.player.coalLeft--:"oil"==e&&this.player.oilLeft--,this.player.resourcesUsed.some((function(e){return null==e}))||this.$emit("powerPlantClick",this.powerPlantClicked)}}}]),t}(Rb.a);Eb([gw()],dP.prototype,"color",void 0),Eb([gw()],dP.prototype,"avatar",void 0),Eb([gw()],dP.prototype,"player",void 0),Eb([gw()],dP.prototype,"isCurrentPlayer",void 0),Eb([gw()],dP.prototype,"owner",void 0),Eb([gw()],dP.prototype,"ended",void 0),Eb([gw()],dP.prototype,"isPlayer",void 0),Eb([gw()],dP.prototype,"ranking",void 0),Eb([gw()],dP.prototype,"showMoney",void 0),Eb([gw()],dP.prototype,"showBid",void 0),Eb([gw()],dP.prototype,"phase",void 0),Eb([gw()],dP.prototype,"isAustralia",void 0),Eb([sw()],dP.prototype,"preferences",void 0),dP=Eb([uw({components:{Coal:yS,Oil:VS,Garbage:MS,Uranium:XS,Card:Hw}})],dP);var fP=dP,pP=fP,vP=Gw(pP,uP,sP,!1,null,null,null),hP=vP.exports,mP=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{staticClass:"calculator"},[t("rect",{attrs:{width:"125",height:"50",rx:"4"}}),t("rect",{attrs:{x:"10",y:"10",width:"30",height:"30",fill:"lime",rx:"2"}}),t("text",{staticClass:"visor",attrs:{x:"25",y:"25",fill:"black","text-anchor":"middle"}},[e._v(e._s(e.value))]),t("g",{style:e.value<e.maxValue?"cursor: pointer":"",on:{click:function(n){return e.add()}}},[t("rect",{attrs:{x:"48",y:"7",width:"24",height:"15",fill:"gray",stroke:"gray",rx:"2"}}),t("path",{attrs:{d:"M52,17 l8,-6 l8,6",fill:"none",stroke:"white","stroke-width":"3"}})]),t("g",{style:e.value>e.minValue?"cursor: pointer":"",on:{click:function(n){return e.sub()}}},[t("rect",{attrs:{x:"48",y:"28",width:"24",height:"15",fill:"gray",stroke:"gray",rx:"2"}}),t("path",{attrs:{d:"M52,32 l8,6 l8,-6",fill:"none",stroke:"white","stroke-width":"3"}})]),t("g",{staticStyle:{cursor:"pointer"},on:{click:function(n){return e.bid()}}},[t("rect",{staticClass:"button",attrs:{x:"80",y:"7",width:"36",height:"36",fill:"gray",rx:"2"}}),t("text",{attrs:{x:"97",y:"25",fill:"white","text-anchor":"middle"}},[e._v("OK")])])])},gP=[],yP=function(e){T(t,e);var n=Z(t);function t(){var e;return C(this,t),e=n.apply(this,arguments),e.value=0,e}return A(t,[{key:"onMinValueChanged",value:function(){this.value=Math.max(this.value,this.minValue)}},{key:"add",value:function(){this.value=Math.min(this.maxValue,this.value+1)}},{key:"sub",value:function(){this.value=Math.max(this.minValue,this.value-1)}},{key:"bid",value:function(){this.$emit("bid",this.value)}}]),t}(Rb.a);Eb([gw()],yP.prototype,"minValue",void 0),Eb([gw()],yP.prototype,"maxValue",void 0),Eb([kw("minValue")],yP.prototype,"onMinValueChanged",null),yP=Eb([uw({created:function(){this.value=this.minValue}})],yP);var bP=yP,wP=bP,kP=(t("85cf"),Gw(wP,mP,gP,!1,null,null,null)),xP=kP.exports,_P=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",[t("text",{attrs:{x:"165",y:"14","font-weight":"600",fill:"black"}},[e._v("Actual Market:")]),e._l(e.actualMarketCards,(function(n,r){return[t("Card",{key:n.id,attrs:{targetState:{x:n.x,y:n.y},powerPlant:n.powerPlant,canClick:e.chooseablePowerPlants&&e.chooseablePowerPlants.includes(n.powerPlant.number),hasDiscount:e.plantDiscountActive&&0==r},on:{click:function(t){return e.choosePowerPlant(n.powerPlant)}}})]})),e.futureMarketCards.length>0?[t("text",{attrs:{x:"165",y:"80","font-weight":"600",fill:"black"}},[e._v("Future Market:")]),e._l(e.futureMarketCards,(function(e){return[t("Card",{key:e.id,attrs:{targetState:{x:e.x,y:e.y},powerPlant:e.powerPlant}})]}))]:e._e(),e.chosenPowerPlant?[t("text",{attrs:{x:e.actualMarketWidth,y:"14","font-weight":"600",fill:"black"}},[e._v("Current Auction:")]),t("Card",{key:e.chosenPowerPlant.id,attrs:{targetState:{x:e.chosenPowerPlant.x,y:e.chosenPowerPlant.y},powerPlant:e.chosenPowerPlant.powerPlant}}),e.canBid?t("Calculator",{key:"calc"+e.chosenPowerPlant.powerPlant.number,attrs:{transform:"translate("+e.actualMarketWidth+", 80)",minValue:e.minBid,maxValue:e.maxBid},on:{bid:function(n){return e.bid(n)}}}):e._e()]:e._e(),e.preferences.disableHelp?e._e():[e.canChoose?t("g",[e.futureMarketCards.length>0?t("rect",{attrs:{x:"160",y:"5",width:65*e.actualMarketCards.length+5,height:"65",fill:"none",stroke:"blue","stroke-width":"2px",rx:"2px"}}):t("rect",{attrs:{x:"160",y:"5",width:e.actualMarketHighlightWidth,height:"120",fill:"none",stroke:"blue","stroke-width":"2px",rx:"2px"}})]):e._e()]],2)},SP=[],MP=function(e){T(t,e);var n=Z(t);function t(){var e;return C(this,t),e=n.apply(this,arguments),e.actualMarketCards=[],e.futureMarketCards=[],e.chosenPowerPlant=null,e.actualMarketWidth=430,e.actualMarketHighlightWidth=200,e}return A(t,[{key:"createPieces",value:function(e){var n,t=this;this.actualMarketWidth=null!==(n=e.map.actualMarketWidth)&&void 0!==n?n:430,this.actualMarketCards=[];var r=e.actualMarket.length>6?4:3;this.actualMarketHighlightWidth=65*Math.min(e.actualMarket.length,r)+5,e.actualMarket.forEach((function(n,o){var i,a;e.futureMarket.length>0?n.number!=(null===(i=e.chosenPowerPlant)||void 0===i?void 0:i.number)&&t.actualMarketCards.push({id:"actual_"+o,x:165+65*o,y:24,powerPlant:n}):n.number!=(null===(a=e.chosenPowerPlant)||void 0===a?void 0:a.number)&&t.actualMarketCards.push({id:"actual_"+o,x:165+o%r*65,y:24+56*Math.floor(o/r),powerPlant:n})})),this.futureMarketCards=[],e.futureMarket.forEach((function(n,r){var o;n.number!=(null===(o=e.chosenPowerPlant)||void 0===o?void 0:o.number)&&t.futureMarketCards.push({id:"future_"+r,x:165+r%4*65,y:90+50*Math.floor(r/4),powerPlant:n})})),e.chosenPowerPlant?this.chosenPowerPlant={id:"chosen",x:this.actualMarketWidth+30,y:30,powerPlant:e.chosenPowerPlant}:this.chosenPowerPlant=null}},{key:"choosePowerPlant",value:function(e){this.$emit("choosePowerPlant",e)}},{key:"bid",value:function(e){this.$emit("bid",e)}}]),t}(Rb.a);Eb([gw()],MP.prototype,"cardsLeft",void 0),Eb([gw()],MP.prototype,"nextCardWeak",void 0),Eb([gw()],MP.prototype,"plantDiscountActive",void 0),Eb([gw()],MP.prototype,"canBid",void 0),Eb([gw()],MP.prototype,"canChoose",void 0),Eb([gw()],MP.prototype,"chooseablePowerPlants",void 0),Eb([gw()],MP.prototype,"minBid",void 0),Eb([gw()],MP.prototype,"maxBid",void 0),Eb([sw()],MP.prototype,"preferences",void 0),MP=Eb([uw({components:{Card:Hw,Calculator:xP}})],MP);var PP=MP,IP=PP,CP=Gw(IP,_P,SP,!1,null,null,null),OP=CP.exports,AP=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",[t("rect",{attrs:{x:"10",y:"10",width:"185",height:"40",rx:"3",fill:"goldenrod"}}),e._l(6,(function(n){return[t("rect",{key:"playerOrder"+n,attrs:{x:15+30*(n-1),y:"15",width:"24",height:"30",rx:"2",fill:"darkgoldenrod"}}),t("text",{key:"playerOrderText"+n,staticStyle:{"font-size":"32px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:27+30*(n-1),y:"30",fill:"gold"}},[e._v(" "+e._s(n)+" ")])]})),e._l(e.houses,(function(e){return[t("House",{key:e.id,attrs:{pieceId:e.id,targetState:{x:e.x,y:e.y},owner:e.owner,ownerName:e.ownerName,color:e.color}})]}))],2)},NP=[],zP=function(e){T(t,e);var n=Z(t);function t(){var e;return C(this,t),e=n.apply(this,arguments),e.houses=[],e}return A(t,[{key:"createPieces",value:function(e){var n=this;this.houses=[],e.playerOrder.forEach((function(t,r){n.houses.push({id:t+"_order",x:20+30*r,y:22,color:n.playerColors[t],owner:t,ownerName:e.players[t].name})}))}}]),t}(Rb.a);Eb([gw()],zP.prototype,"playerColors",void 0),zP=Eb([uw({components:{House:zS}})],zP);var jP=zP,LP=jP,DP=Gw(LP,AP,NP,!1,null,null,null),RP=DP.exports,TP=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",[t("rect",{attrs:{width:"730",height:"50",x:"10",y:"10",rx:"3",fill:"goldenrod"}}),e._l(21,(function(n){return[t("rect",{key:"playerCityCount"+n,attrs:{width:"28",height:"38",x:46+33*(n-1),y:"16",rx:"2",fill:"darkgoldenrod",stroke:n==e.citiesToStep2||n==e.citiesToEndGame?"#916a08":"darkgoldenrod","stroke-width":"2px"}}),t("text",{key:"playerCityCountText"+n,staticStyle:{"font-size":"24px","font-family":"monospace"},attrs:{"text-anchor":"middle","letter-spacing":"-2",x:59+33*(n-1),y:"35",fill:"gold"}},[e._v(" "+e._s(n)+" ")])]})),e._l(e.houses,(function(e){return[t("House",{key:e.id,attrs:{pieceId:e.id,targetState:{x:e.x,y:e.y},owner:e.owner,ownerName:e.ownerName,color:e.color}})]}))],2)},BP=[],EP=function(e){T(t,e);var n=Z(t);function t(){var e;return C(this,t),e=n.apply(this,arguments),e.houses=[],e}return A(t,[{key:"createPieces",value:function(e){var n=this;this.houses=[];for(var t=[],r=0;r<22;r++)t[r]=[];e.players.forEach((function(e,n){return t[e.cities.length].push(n)})),e.players.forEach((function(e,r){var o=(1==t[e.cities.length].length?23:20)+33*e.cities.length;o+=t[e.cities.length].indexOf(r)%2*6,n.houses.push({id:r+"_cityCount",x:o,y:15+30*t[e.cities.length].indexOf(r)/t[e.cities.length].length,color:n.playerColors[r],owner:r})}))}}]),t}(Rb.a);Eb([gw()],EP.prototype,"citiesToStep2",void 0),Eb([gw()],EP.prototype,"citiesToEndGame",void 0),Eb([gw()],EP.prototype,"playerColors",void 0),EP=Eb([uw({components:{House:zS}})],EP);var UP=EP,GP=UP,ZP=Gw(GP,TP,BP,!1,null,null,null),FP=ZP.exports,KP=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",{on:{click:e.onPickCoord}},[e.devBackdrop?t("image",{attrs:{href:e.devBackdrop.src,x:"0",y:"0",width:e.devBackdrop.width,height:e.devBackdrop.height,opacity:null!=e.devBackdrop.opacity?e.devBackdrop.opacity:.5}}):e._e(),e._l(e.cities,(function(n){return[null==n.connectionCost?t("circle",{key:n.name+"_region",attrs:{r:"25",cx:n.x,cy:n.y,fill:n.region,stroke:"black"}},[t("title",[e._v(e._s(n.name))])]):e._e(),null==n.connectionCost?t("circle",{key:n.name+"_circle",attrs:{r:"20",cx:n.x,cy:n.y,fill:"gray",stroke:"black"}},[t("title",[e._v(e._s(n.name))])]):e._e(),n.singleOccupancy?t("g",{key:n.name+"_flag"},[t("line",{attrs:{x1:n.x+12,y1:n.y-12,x2:n.x+12,y2:n.y-32,stroke:"black","stroke-width":"1.5"}}),t("polygon",{attrs:{points:n.x+12+","+(n.y-32)+" "+(n.x+26)+","+(n.y-28)+" "+(n.x+12)+","+(n.y-24),fill:"red",stroke:"black","stroke-width":"1"}}),t("title",[e._v(e._s(n.name)+" — cross-border space (1 house max, 30 Elektro total cost)")])]):e._e()]})),e._l(e.connections,(function(n){return[t("line",{key:n.nodes[0]+"_"+n.nodes[1]+"_line1",attrs:{x1:e.getX1(n),y1:e.getY1(n),x2:e.getX2(n),y2:e.getY2(n),"stroke-width":"10",stroke:"black"}}),t("line",{key:n.nodes[0]+"_"+n.nodes[1]+"_line2",attrs:{x1:e.getX1(n),y1:e.getY1(n),x2:e.getX2(n),y2:e.getY2(n),"stroke-width":"9",stroke:"gray"}})]})),e._l(e.cities,(function(n){return[null!=n.connectionCost&&n.slotCosts&&n.slotCosts.length>=2?t("g",{key:n.name+"_tile"},[t("rect",{class:[{canClick:e.canBuild(n)||e.canPickRegion(n)}],attrs:{x:n.x-23,y:n.y-23,width:"46",height:"46",rx:"7",fill:"gray",stroke:n.region,"stroke-width":"4",transform:"rotate(45, "+n.x+", "+n.y+")"},on:{click:function(t){return e.onCityClick(n)}}},[t("title",[e._v(e._s(n.name)+" — connect for "+e._s(n.connectionCost)+" (entry) + house")])]),e._l(n.slotCosts,(function(r,o){return[t("rect",{key:n.name+"_slot"+o,attrs:{x:n.x+e.nodeSlotPos(o).dx-6.5,y:n.y+e.nodeSlotPos(o).dy-6.5,width:"13",height:"13",rx:"1",fill:"gray",stroke:"black","stroke-width":"1",transform:"rotate(45, "+(n.x+e.nodeSlotPos(o).dx)+", "+(n.y+e.nodeSlotPos(o).dy)+")"}}),t("text",{key:n.name+"_slotlbl"+o,attrs:{x:n.x+e.nodeSlotPos(o).dx,y:n.y+e.nodeSlotPos(o).dy,"font-size":"10","text-anchor":"middle","dominant-baseline":"central",fill:"black",transform:e.mapRotation?"rotate("+-e.mapRotation+", "+(n.x+e.nodeSlotPos(o).dx)+", "+(n.y+e.nodeSlotPos(o).dy)+")":void 0}},[e._v(" "+e._s(r)+" ")])]}))],2):e._e()]})),e._l(e.cities,(function(n){return[null!=n.connectionCost&&n.slotCosts&&1===n.slotCosts.length?t("g",{key:n.name+"_mtile"},[t("rect",{class:[{canClick:e.canBuild(n)}],attrs:{x:n.x-13,y:n.y-13,width:"26",height:"26",rx:"5",fill:e.isBlocked(n)?"#555555":"white","fill-opacity":e.isBlocked(n)?.88:.82,stroke:"black","stroke-width":"1.5"},on:{click:function(t){e.canBuild(n)&&e.build(n)}}},[t("title",[e._v(" "+e._s(n.name)),e.isBlocked(n)?[e._v(" — blocked for this player count (transit only)")]:e.buildCostLabel(n)?[e._v(e._s(e.buildCostLabel(n)))]:[e._v(" — build for "+e._s(n.slotCosts[0])+" (+ flat 5 per transited space)")]],2)]),t("text",{attrs:{x:n.x,y:n.y,"font-size":"17","font-weight":"bold","text-anchor":"middle","dominant-baseline":"central",fill:e.isBlocked(n)?"#dddddd":"black"}},[e._v(" "+e._s(n.slotCosts[0])+" ")])]):e._e()]})),e._l(e.cities,(function(n){return[null==n.connectionCost?t("circle",{key:n.name+"_circle2",class:[{canClick:e.canBuild(n)||e.canPickRegion(n)}],attrs:{r:"20",cx:n.x,cy:n.y,fill:"gray"},on:{click:function(t){return e.onCityClick(n)}}},[t("title",[e._v(e._s(n.name))])]):e._e()]})),e._l(e.connections,(function(n){return[n.cost>0?t("circle",{key:n.nodes[0]+"_"+n.nodes[1]+"_border",attrs:{stroke:"black",r:10+10*n.cost/28,cx:(e.getX1(n)+e.getX2(n))/2,cy:(e.getY1(n)+e.getY2(n))/2,fill:n.cost>15?"gold":n.cost>10?"lightgray":"tan"}}):e._e(),n.cost>0?t("circle",{key:n.nodes[0]+"_"+n.nodes[1]+"_circle",attrs:{r:6+10*n.cost/28,cx:(e.getX1(n)+e.getX2(n))/2,cy:(e.getY1(n)+e.getY2(n))/2,fill:"gray",stroke:"black"}}):e._e(),n.cost>0?t("text",{key:n.nodes[0]+"_"+n.nodes[1]+"_text",style:"font-size: "+(12+6*n.cost/28)+"px",attrs:{"text-anchor":"middle",fill:"black",x:(e.getX1(n)+e.getX2(n))/2,y:(e.getY1(n)+e.getY2(n))/2,transform:e.mapRotation?"rotate("+-e.mapRotation+", "+(e.getX1(n)+e.getX2(n))/2+", "+(e.getY1(n)+e.getY2(n))/2+")":void 0}},[e._v(" "+e._s(n.cost)+" ")]):e._e()]})),e._l(e.houses,(function(e){return[t("House",{key:e.id,attrs:{pieceId:e.id,targetState:{x:e.x,y:e.y},owner:e.owner,ownerName:e.ownerName,color:e.color,scale:e.scale}})]})),e._l(e.cities,(function(n){return[null!=n.connectionCost&&n.slotCosts&&n.slotCosts.length>=2?t("g",{key:n.name+"_cc"},[t("circle",{attrs:{cx:n.x,cy:n.y+15,r:"11",fill:"goldenrod",stroke:"darkgoldenrod","stroke-width":"2"}}),t("circle",{attrs:{cx:n.x,cy:n.y+15,r:"7.5",fill:"gray",stroke:"darkgoldenrod","stroke-width":"1"}}),t("text",{attrs:{x:n.x,y:n.y+15,"font-size":"11","font-weight":"bold","text-anchor":"middle","dominant-baseline":"central",fill:"black",transform:e.mapRotation?"rotate("+-e.mapRotation+", "+n.x+", "+(n.y+15)+")":void 0}},[e._v(" "+e._s(n.connectionCost)+" ")])]):e._e()]})),e._l(e.cities,(function(n){return[n.slotCosts&&2===n.slotCosts.length&&10===n.slotCosts[0]?[t("line",{key:n.name+"_x1",attrs:{x1:n.x+10,y1:n.y+10,x2:n.x+19,y2:n.y+19,stroke:"black","stroke-width":"3","stroke-linecap":"round"}}),t("line",{key:n.name+"_x2",attrs:{x1:n.x+19,y1:n.y+10,x2:n.x+10,y2:n.y+19,stroke:"black","stroke-width":"3","stroke-linecap":"round"}})]:e._e(),n.slotCosts&&3===n.slotCosts.length&&10===n.slotCosts[0]&&10===n.slotCosts[1]?t("text",{key:n.name+"_10label",attrs:{x:n.x-20,y:n.y+19,"font-size":"17","font-weight":"bold",fill:"black","text-anchor":"middle",transform:e.mapRotation?"rotate("+-e.mapRotation+", "+(n.x-20)+", "+(n.y+19)+")":void 0}},[e._v("10")]):e._e(),n.slotCosts&&2===n.slotCosts.length&&15===n.slotCosts[0]?[t("line",{key:n.name+"_x1",attrs:{x1:n.x-5,y1:n.y-21,x2:n.x+5,y2:n.y-11,stroke:"black","stroke-width":"3","stroke-linecap":"round"}}),t("line",{key:n.name+"_x2",attrs:{x1:n.x+5,y1:n.y-21,x2:n.x-5,y2:n.y-11,stroke:"black","stroke-width":"3","stroke-linecap":"round"}})]:e._e()]})),e.preferences.disableHelp?e._e():[e._l(e.cities,(function(n){return[e.canBuild(n)?t("circle",{key:n.name+"_circleHelp",class:[{canClick:e.canBuild(n)}],attrs:{r:"18",cx:n.x,cy:n.y,fill:"none",stroke:"blue","stroke-width":"4px"}}):e._e()]}))],e._l(e.cities,(function(n){return[e.canPickRegion(n)?t("circle",{key:n.name+"_pickRegion",staticClass:"canClick",attrs:{r:"18",cx:n.x,cy:n.y,fill:"none",stroke:"gold","stroke-width":"5px"},on:{click:function(t){return e.onCityClick(n)}}}):e._e()]})),e._l(e.cities,(function(n){return[null==n.connectionCost&&(e.canBuild(n)||e.canPickRegion(n))?t("circle",{key:n.name+"_tap",staticClass:"canClick",attrs:{r:e.tapRadius(n),cx:n.x,cy:n.y,fill:"none","pointer-events":"all"},on:{click:function(t){return e.onCityClick(n)}}},[t("title",[e._v(e._s(n.name)+e._s(e.buildCostLabel(n)))])]):e._e(),e.isNodeTile(n)&&(e.canBuild(n)||e.canPickRegion(n))?t("rect",{key:n.name+"_tapTile",staticClass:"canClick",attrs:{x:n.x-23,y:n.y-23,width:"46",height:"46",rx:"7",fill:"none","pointer-events":"all",transform:"rotate(45, "+n.x+", "+n.y+")"},on:{click:function(t){return e.onCityClick(n)}}},[t("title",[e._v(e._s(n.name)+e._s(e.buildCostLabel(n)))])]):e._e()]})),e._l(e.noUraniumMarkers,(function(e){return t("g",{key:"noUranium_"+e.region,attrs:{transform:"translate("+e.x+", "+e.y+")"}},[t("rect",{attrs:{x:"-15",y:"-11",width:"30",height:"22",rx:"3",fill:"#4a4a4a",stroke:"black","stroke-width":"1.5"}}),t("g",{attrs:{transform:"translate(-9, -7) scale(1.2)"}},[t("path",{attrs:{d:"M1,2 l4,-2 l6,0 l4,2 l0,11 l-4,2 l-6,0 l-4,-2Z",fill:"#ef3b3b"}})]),t("circle",{attrs:{cx:"0",cy:"0",r:"20",fill:"none",stroke:e.region,"stroke-width":"4.5"}}),t("line",{attrs:{x1:"-14.1",y1:"-14.1",x2:"14.1",y2:"14.1",stroke:e.region,"stroke-width":"4.5","stroke-linecap":"round"}})])}))],2)},VP=[],$P=(t("5efb"),20),WP=25,YP=function(e){T(t,e);var n=Z(t);function t(){var e;return C(this,t),e=n.apply(this,arguments),e.houses=[],e}return A(t,[{key:"createPieces",value:function(e){var n=this;this.houses=[],e.players.forEach((function(t,r){t.cities.forEach((function(t){var o,i,a,c,u,s=e.map.cities.find((function(e){return e.name==t.name})),l=null!=s.connectionCost,d=l&&1===(null===(o=s.slotCosts)||void 0===o?void 0:o.length),f=2===(null===(i=s.slotCosts)||void 0===i?void 0:i.length)&&15===s.slotCosts[0];if(d)u=.085,a=-199*u,c=-230*u;else if(l){var p=n.nodeSlotPos(t.position);a=p.dx-7,c=p.dy-8}else f?0==t.position?(a=-15,c=-4):(a=1,c=-4):0==t.position?(a=-6,c=-18):1==t.position?(a=-15,c=-4):(a=1,c=-4);n.houses.push({id:r+"_"+t.name,x:s.x+a,y:s.y+c,color:n.playerColors[r],owner:r,scale:u})}))}))}},{key:"getX1",value:function(e){var n=this.cities.find((function(n){return n.name==e.nodes[0]}));return n.x}},{key:"getY1",value:function(e){var n=this.cities.find((function(n){return n.name==e.nodes[0]}));return n.y}},{key:"getX2",value:function(e){var n=this.cities.find((function(n){return n.name==e.nodes[1]}));return n.x}},{key:"getY2",value:function(e){var n=this.cities.find((function(n){return n.name==e.nodes[1]}));return n.y}},{key:"nodeSlotPos",value:function(e){return 0===e?{dx:0,dy:-15}:1===e?{dx:-15,dy:0}:{dx:15,dy:0}}},{key:"noUraniumMarkers",get:function(){var e;if(!this.noUraniumRegions||!this.cities||0===this.cities.length)return[];var n,t=this.cities,r=t.map((function(e){return{x:e.x,y:e.y}})),o=I(null!==(e=this.connections)&&void 0!==e?e:[]);try{var i=function(){var e=n.value;if(!e.cost||e.cost<=0)return"continue";var o=t.find((function(n){return n.name===e.nodes[0]})),i=t.find((function(n){return n.name===e.nodes[1]}));o&&i&&r.push({x:(o.x+i.x)/2,y:(o.y+i.y)/2})};for(o.s();!(n=o.n()).done;)i()}catch(d){o.e(d)}finally{o.f()}var a,c=function(e,n,t){var r,o=1/0,i=I(t);try{for(i.s();!(r=i.n()).done;){var a=r.value,c=Math.hypot(a.x-e,a.y-n);c<o&&(o=c)}}catch(d){i.e(d)}finally{i.f()}return o},u=[],s=I(this.noUraniumRegions);try{var l=function(){var e,n=a.value,o=t.filter((function(e){return e.region===n}));if(0===o.length)return"continue";for(var i=o.map((function(e){return e.x})),s=o.map((function(e){return e.y})),l={x:i.reduce((function(e,n){return e+n}),0)/i.length,y:s.reduce((function(e,n){return e+n}),0)/s.length},f=44,p=void 0,v=void 0,h=10,m=Math.min.apply(Math,P(i));m<=Math.max.apply(Math,P(i));m+=h)for(var g=Math.min.apply(Math,P(s));g<=Math.max.apply(Math,P(s));g+=h){var y,b=o[0],w=1/0,k=I(t);try{for(k.s();!(y=k.n()).done;){var x=y.value,_=Math.hypot(x.x-m,x.y-g);_<w&&(w=_,b=x)}}catch(d){k.e(d)}finally{k.f()}if(b.region===n){var S=c(m,g,r);if((!v||S>v.clearance)&&(v={x:m,y:g,clearance:S}),S>=f){var M=Math.hypot(m-l.x,g-l.y);(!p||M<p.distToCentroid)&&(p={x:m,y:g,distToCentroid:M})}}}var C=null!==(e=p)&&void 0!==e?e:v;u.push({region:n,x:C?C.x:l.x,y:C?C.y:l.y})};for(s.s();!(a=s.n()).done;)l()}catch(d){s.e(d)}finally{s.f()}return u}},{key:"nearestCityDistance",get:function(){var e,n,t={},r=null!==(e=this.cities)&&void 0!==e?e:[],o=I(r);try{for(o.s();!(n=o.n()).done;){var i,a=n.value,c=1/0,u=I(r);try{for(u.s();!(i=u.n()).done;){var s=i.value;if(s!==a){var l=Math.hypot(s.x-a.x,s.y-a.y);l<c&&(c=l)}}}catch(d){u.e(d)}finally{u.f()}t[a.name]=c}}catch(d){o.e(d)}finally{o.f()}return t}},{key:"tapRadius",value:function(e){var n,t=(null!==(n=this.nearestCityDistance[e.name])&&void 0!==n?n:1/0)/2;return Math.max($P,Math.min(WP,t))}},{key:"isNodeTile",value:function(e){return null!=e.connectionCost&&!!e.slotCosts&&e.slotCosts.length>=2}},{key:"canBuild",value:function(e){return!!this.buildableCities.find((function(n){return n==e.name}))}},{key:"buildCostLabel",value:function(e){var n=this.buildPrices&&this.buildPrices[e.name];return n?null!=n.price&&null!=n.jumpPrice?" — build for ".concat(n.price,", or ").concat(n.jumpPrice," using your free jump"):null!=n.price?" — build for ".concat(n.price):null!=n.jumpPrice?" — build for ".concat(n.jumpPrice,", using your free jump"):"":""}},{key:"isBlocked",value:function(e){return!!this.blockedCities&&this.blockedCities.includes(e.name)}},{key:"build",value:function(e){this.$emit("build",e)}},{key:"canPickRegion",value:function(e){return!!this.pickableRegions&&this.pickableRegions.includes(e.region)}},{key:"pickRegion",value:function(e){this.$emit("pickRegion",e.region)}},{key:"onCityClick",value:function(e){this.canBuild(e)?this.build(e):this.canPickRegion(e)&&this.pickRegion(e)}},{key:"onPickCoord",value:function(e){if(this.devBackdrop){var n=e.currentTarget,t=n.getScreenCTM();if(t){var r=new DOMPoint(e.clientX,e.clientY).matrixTransform(t.inverse());console.log("{ name: Cities.TODO, region: Regions.TODO, x: ".concat(Math.round(r.x),", y: ").concat(Math.round(r.y)," },"))}}}}]),t}(Rb.a);Eb([gw()],YP.prototype,"polygons",void 0),Eb([gw()],YP.prototype,"cities",void 0),Eb([gw()],YP.prototype,"connections",void 0),Eb([gw()],YP.prototype,"playerColors",void 0),Eb([gw()],YP.prototype,"buildableCities",void 0),Eb([gw()],YP.prototype,"buildPrices",void 0),Eb([gw()],YP.prototype,"blockedCities",void 0),Eb([gw()],YP.prototype,"pickableRegions",void 0),Eb([gw()],YP.prototype,"noUraniumRegions",void 0),Eb([gw()],YP.prototype,"devBackdrop",void 0),Eb([gw({default:0})],YP.prototype,"mapRotation",void 0),Eb([sw()],YP.prototype,"preferences",void 0),YP=Eb([uw({components:{House:zS}})],YP);var JP=YP,HP=JP,qP=Gw(HP,KP,VP,!1,null,null,null),XP=qP.exports,QP=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",[e._l(e.blocks,(function(n,r){return[t("g",{key:"block"+r,attrs:{transform:"translate(0, "+n.y+")"}},[n.title?t("text",{staticStyle:{"font-size":"26px"},attrs:{x:"4",y:"16","font-weight":"700",fill:"black"}},[e._v(" "+e._s(n.title)+" ")]):e._e(),n.restock?t("text",{staticStyle:{"font-size":"24px"},attrs:{x:e.BOX_W-4,y:"16","text-anchor":"end","font-weight":"600",fill:"#3a2c08"}},[e._v(" Restock "+e._s(n.restock)+" ")]):e._e(),t("text",{staticStyle:{"font-size":"24px","letter-spacing":"1px"},attrs:{x:"4",y:"42",fill:"#3a2c08"}},[e._v("CURRENT PRICE")]),t("text",{staticStyle:{"font-size":"24px","letter-spacing":"1px"},attrs:{x:e.CUBE_BAND_CENTRE,y:"42","text-anchor":"middle",fill:"#3a2c08"}},[e._v(" AT THIS PRICE ")]),t("text",{staticStyle:{"font-size":"24px","letter-spacing":"1px"},attrs:{x:e.BOX_W-4,y:"42","text-anchor":"end",fill:"#3a2c08"}},[e._v(" CUBES LEFT ")]),e._l(n.rows,(function(n,r){return t("g",{key:"row"+r,class:[{canClick:n.buyable}],attrs:{transform:"translate(0, "+(e.HEAD_H+r*(e.BOX_H+e.BOX_GAP))+")"},on:{click:function(t){n.buyable&&e.$emit("buyResource",n.move)}}},[t("rect",{attrs:{width:e.BOX_W,height:e.BOX_H,rx:"6",fill:n.cubes>0?"darkgoldenrod":"#9c8236",stroke:n.buyable?"#1e63d0":"#6b5312","stroke-width":n.buyable?5:2,opacity:n.cubes>0?1:.55}}),n.buyable?t("rect",{attrs:{width:e.BOX_W,height:e.BOX_H,rx:"6",fill:"transparent","pointer-events":"all"}}):e._e(),t("text",{staticStyle:{"font-size":"22px","letter-spacing":"1px"},attrs:{x:"18",y:"26","font-weight":"700",fill:"black"}},[e._v(" "+e._s(n.label)+" ")]),null!=n.price?[t("text",{staticStyle:{"font-size":"26px"},attrs:{x:"18",y:"80","font-weight":"700",fill:"black"}},[e._v("$")]),t("text",{staticStyle:{"font-size":"46px"},attrs:{x:"40",y:"84","font-weight":"700",fill:"black"}},[e._v(" "+e._s(n.price)+" ")]),null!=n.next?t("text",{staticStyle:{"font-size":"22px"},attrs:{x:"132",y:"80",fill:"#3a2c08"}},[e._v(" then $"+e._s(n.next)+" ")]):e._e()]:t("text",{staticStyle:{"font-size":"28px"},attrs:{x:"18",y:"78","font-weight":"700",fill:"black"}},[e._v("out")]),e._l(n.atPrice,(function(r){return t("circle",{key:"cube"+r,attrs:{cx:e.cubeX(n.atPrice,r),cy:58,r:"17",fill:n.color,stroke:"black","stroke-width":"2"}})})),n.flat&&n.cubes>0?t("text",{staticStyle:{"font-size":"22px"},attrs:{x:"300",y:"66",fill:"#3a2c08"}},[e._v(" every cube at this price ")]):e._e(),t("text",{staticStyle:{"font-size":"40px"},attrs:{x:e.BOX_W-18,y:"68","text-anchor":"end","font-weight":"700",fill:"black"}},[e._v(" "+e._s(n.cubes)+" ")]),t("text",{staticStyle:{"font-size":"20px"},attrs:{x:e.BOX_W-18,y:"90","text-anchor":"end",fill:"#3a2c08"}},[e._v("LEFT")]),n.capped?t("text",{staticStyle:{"font-size":"20px"},attrs:{x:"130",y:"96",fill:"#7a1d12","font-weight":"600"}},[e._v(" step "+e._s(e.step)+" sells to $"+e._s(e.maxPrice)+" ")]):e._e(),e.canUnbuy(n)?t("g",{staticClass:"canClick",on:{click:function(t){return t.stopPropagation(),e.$emit("unbuyResource",n.move)}}},[t("rect",{attrs:{x:e.chipBox(n).hx,y:e.chipBox(n).hy,width:e.chipBox(n).hw,height:e.chipBox(n).hh,fill:"transparent","pointer-events":"all"}}),t("rect",{attrs:{x:e.chipBox(n).x,y:e.chipBox(n).y,width:e.chipBox(n).w,height:e.chipBox(n).h,rx:"10",fill:"#f0e6c8",stroke:"#6b5312","stroke-width":"2"}}),t("text",{style:"font-size: "+e.chipBox(n).fontSize+"px",attrs:{x:e.chipBox(n).x+e.chipBox(n).w/2,y:e.chipBox(n).y+e.chipBox(n).h/2+8,"text-anchor":"middle","font-weight":"700",fill:"#3a2c08"}},[e._v(" − take back ")])]):e._e(),t("title",[e._v(e._s(n.title))])],2)}))],2)]}))],2)},eI=[],nI={coal:"#6b2028",oil:"#15130f",garbage:"#f2d024",uranium:"#dc2626"},tI={coal:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8],oil:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8],garbage:[1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8],uranium:[1,2,3,4,5,6,7,8,10,12,14,16]},rI=8;function oI(e){return e[0].toUpperCase()+e.slice(1)}function iI(e){return void 0!==e.coalPricesNorth}function aI(e){var n=e.map.maxPriceAvailable;return n?n[e.step-1]:16}function cI(e,n,t){var r=e,o=r[n+"Prices"+(t?"North":"")];return void 0!==o?o:tI[n]}function uI(e,n,t){var r=e,o=r[n+"Market"+(t?"North":"")];return void 0===o?0:o}function sI(e,n){return e.resource===n.resource&&e.side===n.side&&!!e.fromStorage===!!n.fromStorage}function lI(e,n,t){if("garbage"!==n||"Central Europe"!==e.map.name||void 0===t)return 0;var r=e.players[t];return r&&r.cities.some((function(e){return"Wien"===e.name}))?1:0}function dI(e,n,t,r){var o=cI(e,n,t),i=uI(e,n,t),a=Math.max(0,o.length-i),c=null,u=0,s=null;if(i>0){c=o[a]-(t?0:lI(e,n,r.player));for(var l=a;l<o.length&&o[l]===o[a];l++)u++;for(var d=a;d<o.length;d++)if(o[d]!==o[a]){s=o[d]-(t?0:lI(e,n,r.player));break}}var f=iI(e)?{resource:n,side:t?"north":"south"}:{resource:n};return{label:oI(n),color:nI[n],move:f,price:c,next:s,atPrice:u,cubes:i,buyable:!!r.buyable&&r.buyable.some((function(e){return sI(e,f)})),capped:null!==c&&c>aI(e),flat:!1,title:i>0?"".concat(oI(n)," — $").concat(c," each, ").concat(u," at that price, ").concat(i," left"):"".concat(oI(n)," — market empty")}}function fI(e,n,t,r,o){var i=t?{resource:"coal",fromStorage:!0}:{resource:"coal"};return{label:r,color:nI.coal,move:i,price:n>0?rI:null,next:null,atPrice:0,cubes:n,buyable:!!o.buyable&&o.buyable.some((function(e){return sI(e,i)})),capped:n>0&&rI>aI(e),flat:!0,title:"".concat(r," — $").concat(rI," each, ").concat(n," left")}}function pI(e){return"Australia"!==e.map.name&&"Bremen"!==e.map.name}function vI(e,n,t){var r=[];return!n&&t.isUsaRecharged&&0===e.coalMarket&&e.coalSupply>0?r.push(fI(e,e.coalSupply,!1,"Coal (from supply)",t)):r.push(dI(e,"coal",n,t)),n||void 0===e.coalStorage||r.push(fI(e,e.coalStorage,!0,"Coal (from storage)",t)),r.push(dI(e,"oil",n,t)),r.push(dI(e,"garbage",n,t)),!n&&pI(e)&&r.push(dI(e,"uranium",n,t)),r}function hI(e,n){if(e){var t=n.filter((function(e){return!e.flat})).map((function(n,t){return e[t]}));return t.every((function(e){return void 0===e}))?void 0:t.filter((function(e){return void 0!==e})).join(" / ")}}function mI(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=[];if(iI(e)){var r=vI(e,!0,n);t.push({title:"North Market",restock:hI(n.resupplyNorth,r),rows:r})}var o=vI(e,!1,n);return t.push({title:iI(e)?"South Market":void 0,restock:hI(n.resupply,o),rows:o}),t}var gI=700,yI=104,bI=8,wI=62,kI=30,xI=44,_I=420,SI=function(e){T(t,e);var n=Z(t);function t(){var e;return C(this,t),e=n.apply(this,arguments),e.BOX_W=gI,e.BOX_H=yI,e.BOX_GAP=bI,e.HEAD_H=wI,e.CUBE_BAND_CENTRE=_I,e}return A(t,[{key:"chipBox",value:function(e){var n=e.label.length>8;return n?{x:130,y:36,w:140,h:52,hx:120,hy:32,hw:164,hh:60,fontSize:22}:{x:130,y:6,w:140,h:52,hx:120,hy:2,hw:164,hh:60,fontSize:22}}},{key:"canUnbuy",value:function(e){return!!this.bufferedBuys&&!!this.bufferedBuys[uS(e.move)]}},{key:"cubeX",value:function(e,n){return _I-(e-1)*xI/2+(n-1)*xI}},{key:"step",get:function(){return this.gameState.step}},{key:"maxPrice",get:function(){var e=this.gameState.map.maxPriceAvailable;return e?e[this.gameState.step-1]:16}},{key:"blocks",get:function(){var e=0;return mI(this.gameState,{player:this.player,buyable:this.buyableResources,resupply:this.resourceResupply,resupplyNorth:this.resourceResupplyNorth,isUsaRecharged:this.isUsaRecharged}).map((function(n){var t=w(w({},n),{},{y:e});return e+=wI+n.rows.length*(yI+bI)-bI+kI,t}))}}]),t}(Rb.a);Eb([gw()],SI.prototype,"gameState",void 0),Eb([gw()],SI.prototype,"buyableResources",void 0),Eb([gw()],SI.prototype,"resourceResupply",void 0),Eb([gw()],SI.prototype,"resourceResupplyNorth",void 0),Eb([gw()],SI.prototype,"isUsaRecharged",void 0),Eb([gw()],SI.prototype,"player",void 0),Eb([gw()],SI.prototype,"bufferedBuys",void 0),SI=Eb([uw],SI);var MI=SI,PI=MI,II=(t("3c12"),Gw(PI,QP,eI,!1,null,"a8c53bc0",null)),CI=II.exports,OI=function(){var e=this,n=e.$createElement,t=e._self._c||n;return t("g",[e.isKorea?[e.resourceResupplyNorth?[e.resourceResupplyNorth[0]<10?t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"30",y:"-125","font-weight":"600",fill:"black"}},[e._v("Resource Resupply:")]):t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"20",y:"-125","font-weight":"600",fill:"black"}},[e._v("Resource Resupply:")]),e.resourceResupplyNorth[0]<10?t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"276",y:"-125","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupplyNorth[0])+" ")]):t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"262",y:"-125","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupplyNorth[0])+" ")]),t("Coal",{attrs:{pieceId:-1,targetState:{x:288,y:-133},canClick:!1,transparent:!1}}),t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"321",y:"-125","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupplyNorth[1])+" ")]),t("Oil",{attrs:{pieceId:-1,targetState:{x:331,y:-134},canClick:!1,transparent:!1}}),t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"368",y:"-125","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupplyNorth[2])+" ")]),t("Garbage",{attrs:{pieceId:-1,targetState:{x:382,y:-134},canClick:!1,transparent:!1}})]:e._e(),t("text",{staticStyle:{"font-size":"22px"},attrs:{x:"20",y:"-110","font-weight":"700",fill:"black"}},[e._v("North Market")]),t("rect",{attrs:{width:"760",height:"80",x:"20",y:"-100",rx:"3",fill:"#c89c3a"}}),e._l(8,(function(n){return[t("rect",{key:"north_resources"+n,attrs:{width:"70",height:"70",x:25+85*(n-1),y:"-95",rx:"2",fill:"darkgoldenrod"}}),t("circle",{key:"north_resourcesCircle"+n,attrs:{r:"10",cx:92+85*(n-1),cy:"-92",fill:"yellow"}}),t("text",{key:"north_resourcesText"+n,staticStyle:{"font-size":"16px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:92+85*(n-1),y:"-92",fill:"darkgoldenrod"}},[e._v(" "+e._s(n)+" ")])]})),e._l(e.coalsNorth,(function(n){return[t("Coal",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("coal",n):e.canBuyResource("coal",n.side,n.fromStorage),transparent:n.transparent,restorable:e.canUnbuy("coal",n),scale:.08},on:{click:function(t){return e.clickResource("coal",n)}}})]})),e._l(e.oilsNorth,(function(n){return[t("Oil",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("oil",n):e.canBuyResource("oil",n.side),transparent:n.transparent,restorable:e.canUnbuy("oil",n)},on:{click:function(t){return e.clickResource("oil",n)}}})]})),e._l(e.garbagesNorth,(function(n){return[t("Garbage",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("garbage",n):e.canBuyResource("garbage",n.side),transparent:n.transparent,restorable:e.canUnbuy("garbage",n)},on:{click:function(t){return e.clickResource("garbage",n)}}})]})),t("text",{staticStyle:{"font-size":"22px"},attrs:{x:"20",y:"35","font-weight":"700",fill:"black"}},[e._v("South Market")])]:e._e(),e.resourceResupply[0]<10?t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"30",y:"20","font-weight":"600",fill:"black"}},[e._v("Resource Resupply:")]):t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"20",y:"20","font-weight":"600",fill:"black"}},[e._v("Resource Resupply:")]),e.resourceResupply[0]<10?t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"276",y:"20","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupply[0])+" ")]):t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"262",y:"20","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupply[0])+" ")]),t("Coal",{attrs:{pieceId:-1,targetState:{x:288,y:12},canClick:!1,transparent:!1}}),t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"321",y:"20","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupply[1])+" ")]),t("Oil",{attrs:{pieceId:-1,targetState:{x:331,y:11},canClick:!1,transparent:!1}}),t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"368",y:"20","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupply[2])+" ")]),t("Garbage",{attrs:{pieceId:-1,targetState:{x:382,y:11},canClick:!1,transparent:!1}}),e.isAustraliaMarket||e.isBremenMarket?e._e():[t("text",{staticStyle:{"font-size":"24px"},attrs:{x:"414",y:"20","font-weight":"600",fill:"black"}},[e._v(" "+e._s(e.resourceResupply[3])+" ")]),t("Uranium",{attrs:{pieceId:-1,targetState:{x:428,y:12},canClick:!1,transparent:!1}})],e.isIndiaResourceMarket||e.isNinePriceMarket||e.isAustraliaMarket?e._e():t("rect",{attrs:{width:"760",height:"80",x:"20",y:"40",rx:"3",fill:"goldenrod"}}),e.isNinePriceMarket?t("rect",{attrs:{width:"780",height:"80",x:"20",y:"40",rx:"3",fill:"goldenrod"}}):e._e(),e.isAustraliaMarket?t("rect",{attrs:{width:"870",height:"80",x:"20",y:"40",rx:"3",fill:"goldenrod"}}):e._e(),e.isIndiaResourceMarket?t("rect",{attrs:{width:"680",height:"80",x:"20",y:"40",rx:"3",fill:"goldenrod"}}):e._e(),e._l(e.isNinePriceMarket?9:e.isAustraliaMarket?10:8,(function(n){return[t("rect",{key:"resources"+n,attrs:{width:"70",height:"70",x:25+85*(n-1),y:"45",rx:"2",fill:"darkgoldenrod"}}),t("circle",{key:"resourcesCircle"+n,attrs:{r:"10",cx:92+85*(n-1),cy:"48",fill:"yellow"}}),t("text",{key:"resourcesText"+n,staticStyle:{"font-size":"16px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:92+85*(n-1),y:"48",fill:"darkgoldenrod"}},[e._v(" "+e._s(n)+" ")]),e.isIndiaResourceMarket||e.isNinePriceMarket||e.isAustraliaMarket||e.isBremenMarket?e._e():t("g",{key:"lines"+n},[t("line",{attrs:{x1:25+85*(n-1),y1:"68",x2:95+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:25+85*(n-1),y1:"92",x2:95+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:48+85*(n-1),y1:"40",x2:48+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:72+85*(n-1),y1:"40",x2:72+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:42+85*(n-1),y1:"68",x2:42+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:58+85*(n-1),y1:"68",x2:58+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:74+85*(n-1),y1:"68",x2:74+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:48+85*(n-1),y1:"92",x2:48+85*(n-1),y2:"120",stroke:"goldenrod"}}),t("line",{attrs:{x1:72+85*(n-1),y1:"92",x2:72+85*(n-1),y2:"120",stroke:"goldenrod"}})]),e.isIndiaResourceMarket?t("g",{key:"lines"+n},[t("line",{attrs:{x1:25+85*(n-1),y1:"68",x2:95+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:25+85*(n-1),y1:"92",x2:95+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:42+85*(n-1),y1:"40",x2:42+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:59+85*(n-1),y1:"40",x2:59+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:76+85*(n-1),y1:"40",x2:76+85*(n-1),y2:"68",stroke:"goldenrod"}}),t("line",{attrs:{x1:42+85*(n-1),y1:"68",x2:42+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:58+85*(n-1),y1:"68",x2:58+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:74+85*(n-1),y1:"68",x2:74+85*(n-1),y2:"92",stroke:"goldenrod"}}),t("line",{attrs:{x1:42+85*(n-1),y1:"92",x2:42+85*(n-1),y2:"120",stroke:"goldenrod"}}),t("line",{attrs:{x1:59+85*(n-1),y1:"92",x2:59+85*(n-1),y2:"120",stroke:"goldenrod"}}),t("line",{attrs:{x1:76+85*(n-1),y1:"92",x2:76+85*(n-1),y2:"120",stroke:"goldenrod"}})]):e._e()]})),e.isAustraliaMarket&&e.co2TaxActive?[t("rect",{attrs:{width:"160",height:"70",x:"24",y:"45",rx:"2",fill:"black",opacity:"0.55"}}),t("text",{staticStyle:{"font-size":"12px","font-family":"monospace","font-weight":"700"},attrs:{"text-anchor":"middle",x:"104",y:"84",fill:"white"}},[e._v(" CO₂ closed ")])]:e._e(),e.isIndiaResourceMarket?[t("g",{key:"separators"},[t("line",{attrs:{x1:"275",y1:"40",x2:"275",y2:"140",stroke:"red"}}),t("line",{attrs:{x1:"445",y1:"40",x2:"445",y2:"140",stroke:"red"}}),t("text",{attrs:{x:"220",y:"130",stroke:"red"}},[e._v("Step 1")]),t("text",{attrs:{x:"390",y:"130",stroke:"red"}},[e._v("Step 2")])])]:e._e(),e.isIndiaResourceMarket||e.isNinePriceMarket||e.isAustraliaMarket||e.isBremenMarket?e._e():[t("rect",{attrs:{width:"30",height:"30",x:"705",y:"45",rx:"2",fill:"darkgoldenrod"}}),t("circle",{attrs:{r:"10",cx:"732",cy:"48",fill:"yellow"}}),t("text",{staticStyle:{"font-size":"12px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"732",y:"48",fill:"darkgoldenrod"}},[e._v(" 10 ")]),t("rect",{attrs:{width:"30",height:"30",x:"745",y:"45",rx:"2",fill:"darkgoldenrod"}}),t("circle",{attrs:{r:"10",cx:"772",cy:"48",fill:"yellow"}}),t("text",{staticStyle:{"font-size":"12px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"772",y:"48",fill:"darkgoldenrod"}},[e._v(" 12 ")]),t("rect",{attrs:{width:"30",height:"30",x:"705",y:"85",rx:"2",fill:"darkgoldenrod"}}),t("circle",{attrs:{r:"10",cx:"732",cy:"88",fill:"yellow"}}),t("text",{staticStyle:{"font-size":"12px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"732",y:"88",fill:"darkgoldenrod"}},[e._v(" 14 ")]),t("rect",{attrs:{width:"30",height:"30",x:"745",y:"85",rx:"2",fill:"darkgoldenrod"}}),t("circle",{attrs:{r:"10",cx:"772",cy:"88",fill:"yellow"}}),t("text",{staticStyle:{"font-size":"12px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"772",y:"88",fill:"darkgoldenrod"}},[e._v(" 16 ")])],e.isUsaRecharged?[t("rect",{attrs:{width:"180",height:"70",x:"795",y:"45",rx:"2",fill:"chocolate",stroke:"sandybrown","stroke-width":"4px"}}),t("circle",{attrs:{r:"10",cx:"973",cy:"45",fill:"yellow"}}),t("text",{staticStyle:{"font-size":"16px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"973",y:"45",fill:"darkgoldenrod"}},[e._v(" 8 ")]),t("Coal",{attrs:{pieceId:-1,targetState:{x:858,y:57},canClick:!1,transparent:!0,scale:.2}})]:e._e(),void 0!==e.coalStorage?[t("rect",{attrs:{width:"180",height:"70",x:"795",y:"45",rx:"2",fill:"chocolate",stroke:"sandybrown","stroke-width":"4px"}}),t("circle",{attrs:{r:"10",cx:"973",cy:"45",fill:"yellow"}}),t("text",{staticStyle:{"font-size":"16px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"973",y:"45",fill:"darkgoldenrod"}},[e._v(" 8 ")]),t("text",{staticStyle:{"font-size":"11px","font-family":"monospace"},attrs:{"text-anchor":"start",x:"800",y:"42",fill:"black"}},[e._v(" Coal storage ")])]:e._e(),e._l(e.coals,(function(n){return[t("Coal",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("coal",n):e.canBuyResource("coal",n.side,n.fromStorage),transparent:n.transparent,restorable:e.canUnbuy("coal",n),scale:e.isIndiaResourceMarket?.06:.08},on:{click:function(t){return e.clickResource("coal",n)}}})]})),e._l(e.oils,(function(n){return[t("Oil",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("oil",n):e.canBuyResource("oil",n.side),transparent:n.transparent,restorable:e.canUnbuy("oil",n)},on:{click:function(t){return e.clickResource("oil",n)}}})]})),e._l(e.garbages,(function(n){return[t("Garbage",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("garbage",n):e.canBuyResource("garbage",n.side),transparent:n.transparent,restorable:e.canUnbuy("garbage",n),scale:e.isIndiaResourceMarket?.8:1},on:{click:function(t){return e.clickResource("garbage",n)}}})]})),e._l(e.uraniums,(function(n){return[t("Uranium",{key:n.id,attrs:{pieceId:n.id,targetState:{x:n.x,y:n.y},canClick:n.transparent?e.canUnbuy("uranium",n):e.canBuyResource("uranium",n.side),transparent:n.transparent,restorable:e.canUnbuy("uranium",n)},on:{click:function(t){return e.clickResource("uranium",n)}}})]})),e.isMiddleEast?[t("rect",{attrs:{width:"80",height:"50",x:"20",y:"70",rx:"2",fill:"gray",stroke:"darkgray","stroke-width":"4px"}}),t("Oil",{attrs:{pieceId:-1,targetState:{x:35,y:80},scale:1.5,canClick:e.availableSurplusOil>0&&e.canBuyResource("oil"),transparent:0==e.availableSurplusOil},on:{click:function(n){return e.buyResource("oil")}}}),t("text",{staticStyle:{"font-size":"16px","font-family":"monospace"},attrs:{"text-anchor":"middle",x:"70",y:"93.5"}},[e._v(" x"+e._s(e.availableSurplusOil)+" ")])]:e._e(),e.preferences.disableHelp?e._e():[!e.isKorea&&e.buyableResources.length>0?t("rect",{attrs:{x:"15",y:"35",width:e.isAustraliaMarket?880:770,height:"90",rx:"2",fill:"none",stroke:"blue","stroke-width":"2px"}}):e._e(),e.isKorea&&e.hasBuyableNorth?t("rect",{attrs:{x:"15",y:"-105",width:"770",height:"90",rx:"2",fill:"none",stroke:"blue","stroke-width":"2px"}}):e._e(),e.isKorea&&e.hasBuyableSouth?t("rect",{attrs:{x:"15",y:"35",width:"770",height:"90",rx:"2",fill:"none",stroke:"blue","stroke-width":"2px"}}):e._e()]],2)},AI=[],NI=function(e){T(t,e);var n=Z(t);function t(){var e;return C(this,t),e=n.apply(this,arguments),e.coals=[],e.oils=[],e.garbages=[],e.uraniums=[],e.isKorea=!1,e.coalComesFromSupply=!1,e.isNinePriceMarket=!1,e.isAustraliaMarket=!1,e.isBremenMarket=!1,e.co2TaxActive=!1,e.coalsNorth=[],e.oilsNorth=[],e.garbagesNorth=[],e}return A(t,[{key:"buildMainRowPieces",value:function(e,n,t,r){var o,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},a=null!==(o=i.maxPrice)&&void 0!==o?o:8,c=[];e.forEach((function(e,n){if(!(e>a)){var t=c[c.length-1];t&&t.price===e?t.slots++:c.push({price:e,slots:1,firstIdx:n})}}));var u=[],s=64;return c.forEach((function(o){for(var a=60+85*(o.price-1),c=0;c<o.slots;c++){var l=o.firstIdx+c,d=1===o.slots?a:a-s/2+s*(c+.5)/o.slots;u.push({id:"".concat(t,"_").concat(l),x:d,y:r,transparent:l<e.length-n,ghostRank:e.length-n-l,side:i.side})}})),u}},{key:"createPieces",value:function(e){var n,t,r,o,i=this;if(e){this.coalComesFromSupply=!!this.isUsaRecharged&&0===e.coalMarket&&e.coalSupply>0,this.isAustraliaMarket="Australia"===(null===(n=e.map)||void 0===n?void 0:n.name),this.co2TaxActive=this.isAustraliaMarket&&e.step>=3,this.isBremenMarket="Bremen"===(null===(t=e.map)||void 0===t?void 0:t.name);var a,c,u,s,l,d=void 0!==e.coalMarketNorth;if(this.isKorea=d,d){this.coals=this.buildMainRowPieces(e.coalPrices,e.coalMarket,"coal",48,{side:"south"}),this.oils=this.buildMainRowPieces(e.oilPrices,e.oilMarket,"oil",70,{side:"south"}),this.garbages=this.buildMainRowPieces(e.garbagePrices,e.garbageMarket,"garbage",94,{side:"south"}),this.uraniums=[];var f=e.uraniumPrices;return f.forEach((function(n,t){var r,o;if(n<=8)r=60+85*(n-1),o=85;else{var a=10===n||14===n?710:750,c=10===n||12===n?52:91;r=a,o=c}i.uraniums.push({id:"uranium_".concat(t),x:r,y:o,transparent:t<f.length-e.uraniumMarket,ghostRank:f.length-e.uraniumMarket-t,side:"south"})})),this.coalsNorth=this.buildMainRowPieces(e.coalPricesNorth,e.coalMarketNorth,"coal_north",-92,{side:"north"}),this.oilsNorth=this.buildMainRowPieces(e.oilPricesNorth,e.oilMarketNorth,"oil_north",-70,{side:"north"}),void(this.garbagesNorth=this.buildMainRowPieces(e.garbagePricesNorth,e.garbageMarketNorth,"garbage_north",-46,{side:"north"}))}if("Europe"===(null===(r=e.map)||void 0===r?void 0:r.name)||"North America"===(null===(o=e.map)||void 0===o?void 0:o.name))return this.isNinePriceMarket=!0,this.coals=this.buildMainRowPieces(e.coalPrices,e.coalMarket,"coal",48,{maxPrice:9}),this.oils=this.buildMainRowPieces(e.oilPrices,e.oilMarket,"oil",70,{maxPrice:9}),this.uraniums=this.buildMainRowPieces(e.uraniumPrices,e.uraniumMarket,"uranium",92,{maxPrice:9}),void(this.garbages=this.buildMainRowPieces(e.garbagePrices,e.garbageMarket,"garbage",106,{maxPrice:9}));if(this.isAustraliaMarket)return this.coals=this.buildMainRowPieces(e.coalPrices,e.coalMarket,"coal",48,{maxPrice:10}),this.oils=this.buildMainRowPieces(e.oilPrices,e.oilMarket,"oil",70,{maxPrice:10}),this.garbages=this.buildMainRowPieces(e.garbagePrices,e.garbageMarket,"garbage",94,{maxPrice:10}),this.uraniums=[],this.coalsNorth=[],this.oilsNorth=[],void(this.garbagesNorth=[]);if(this.isBremenMarket)return this.coals=this.buildMainRowPieces(e.coalPrices,e.coalMarket,"coal",48),this.oils=this.buildMainRowPieces(e.oilPrices,e.oilMarket,"oil",70),this.garbages=this.buildMainRowPieces(e.garbagePrices,e.garbageMarket,"garbage",94),this.uraniums=[],this.coalsNorth=[],this.oilsNorth=[],void(this.garbagesNorth=[]);if(this.isNinePriceMarket=!1,this.coalsNorth=[],this.oilsNorth=[],this.garbagesNorth=[],this.coals=[],"India"==(null===(a=e.map)||void 0===a?void 0:a.name)?Array(24).fill(0).forEach((function(n,t){var r=t;t>=0&&(r+=2),t>=2&&(r+=2),t>=4&&r++,t>=7&&r++,t>=10&&r++,t>=13&&r++,i.coals.push({id:"coal_"+t,x:672-17*r-17*Math.floor(r/4),y:48,transparent:t>=e.coalMarket,ghostRank:t-e.coalMarket+1})})):Array(24).fill(0).forEach((function(n,t){i.coals.push({id:"coal_"+t,x:668-23.5*t-14.5*Math.floor(t/3),y:48,transparent:t>=e.coalMarket,ghostRank:t-e.coalMarket+1})})),"recharged"==e.options.variant&&"USA"==(null===(c=e.map)||void 0===c?void 0:c.name)&&Object(nS["range"])(e.coalSupply).forEach((function(e){i.coals.push({id:"coal_supply_"+e,x:800+e%8*20+(e>=8&&e<16?10:0),y:50+20*Math.floor(e/8),transparent:!1})})),void 0!==e.coalStorage&&Object(nS["range"])(e.coalStorage).forEach((function(e){i.coals.push({id:"coal_storage_"+e,x:800+e%8*20+(e>=8&&e<16?10:0),y:50+20*Math.floor(e/8),transparent:!1,fromStorage:!0})})),this.oils=[],"Middle East"==(null===(u=e.map)||void 0===u?void 0:u.name)){var p=e.oilPrices.filter((function(e){return e>1})).length,v=e.oilPrices.filter((function(e){return 1==e})).length,h=Math.min(p,e.oilMarket);Array(p).fill(0).forEach((function(e,n){var t=n+(v-3);i.oils.push({id:"normal_oil_"+t,x:651-16*t-37*Math.floor(t/3),y:70,transparent:n>=h,ghostRank:n-h+1})}))}else Array(24).fill(0).forEach((function(n,t){i.oils.push({id:"oil_"+t,x:651-16*t-37*Math.floor(t/3),y:70,transparent:t>=e.oilMarket,ghostRank:t-e.oilMarket+1})}));this.garbages=[],"India"==(null===(s=e.map)||void 0===s?void 0:s.name)?Array(24).fill(0).forEach((function(n,t){var r=t+8;i.garbages.push({id:"garbage_"+t,x:672-17*r-17*Math.floor(r/4),y:94,transparent:t>=e.garbageMarket,ghostRank:t-e.garbageMarket+1})})):Array(24).fill(0).forEach((function(n,t){i.garbages.push({id:"garbage_"+t,x:668-23.5*t-14.5*Math.floor(t/3),y:94,transparent:t>=e.garbageMarket,ghostRank:t-e.garbageMarket+1})})),this.uraniums=[],"India"==(null===(l=e.map)||void 0===l?void 0:l.name)?Array(8).fill(0).forEach((function(n,t){i.uraniums.push({id:"uranium_"+t,x:670-85*t,y:72,transparent:t>=e.uraniumMarket,ghostRank:t-e.uraniumMarket+1})})):Array(12).fill(0).forEach((function(n,t){0==t?i.uraniums.push({id:"uranium_"+t,x:750,y:91,transparent:t>=e.uraniumMarket,ghostRank:t-e.uraniumMarket+1}):1==t?i.uraniums.push({id:"uranium_"+t,x:710,y:91,transparent:t>=e.uraniumMarket,ghostRank:t-e.uraniumMarket+1}):2==t?i.uraniums.push({id:"uranium_"+t,x:750,y:52,transparent:t>=e.uraniumMarket,ghostRank:t-e.uraniumMarket+1}):3==t?i.uraniums.push({id:"uranium_"+t,x:710,y:52,transparent:t>=e.uraniumMarket,ghostRank:t-e.uraniumMarket+1}):i.uraniums.push({id:"uranium_"+t,x:1010-85*t,y:72,transparent:t>=e.uraniumMarket,ghostRank:t-e.uraniumMarket+1})}))}}},{key:"canBuyResource",value:function(e,n,t){return!!this.buyableResources.find((function(r){return r.resource==e&&r.side==n&&!!r.fromStorage==!!t}))}},{key:"hasBuyableNorth",get:function(){var e;return!(null===(e=this.buyableResources)||void 0===e||!e.some((function(e){return"north"===e.side})))}},{key:"hasBuyableSouth",get:function(){var e;return!(null===(e=this.buyableResources)||void 0===e||!e.some((function(e){return"south"===e.side})))}},{key:"buyResource",value:function(e,n,t){this.$emit("buyResource",{resource:e,side:n,fromStorage:t})}},{key:"canUnbuy",value:function(e,n){if(!n.transparent||!n.ghostRank||!this.bufferedBuys)return!1;if(this.coalComesFromSupply&&"coal"===e&&!n.fromStorage)return!1;var t=this.bufferedBuys[uS({resource:e,side:n.side,fromStorage:n.fromStorage})];return!!t&&n.ghostRank<=t}},{key:"clickResource",value:function(e,n){n.transparent?this.$emit("unbuyResource",{resource:e,side:n.side,fromStorage:n.fromStorage}):this.buyResource(e,n.side,n.fromStorage)}}]),t}(Rb.a);Eb([gw()],NI.prototype,"resourceResupply",void 0),Eb([gw()],NI.prototype,"resourceResupplyNorth",void 0),Eb([gw()],NI.prototype,"isUsaRecharged",void 0),Eb([gw()],NI.prototype,"isMiddleEast",void 0),Eb([gw()],NI.prototype,"isIndiaResourceMarket",void 0),Eb([gw()],NI.prototype,"availableSurplusOil",void 0),Eb([gw()],NI.prototype,"buyableResources",void 0),Eb([gw()],NI.prototype,"coalStorage",void 0),Eb([gw()],NI.prototype,"bufferedBuys",void 0),Eb([sw()],NI.prototype,"preferences",void 0),NI=Eb([uw({components:{Coal:yS,Oil:VS,Garbage:MS,Uranium:XS}})],NI);var zI=NI,jI=zI,LI=Gw(jI,OI,AI,!1,null,null,null),DI=LI.exports;function RI(e,n){return e?n?e.phase==Iw.Auction?P(e.playerOrder):P(e.playerOrder).reverse():e.players.map((function(e,n){return n})):[]}var TI=[["cityCount","playerOrder"],["map"],["buttons","roundInfo","powerPlantDeck"],["powerPlantMarket"],["resourceView"],["resources"],["uraniumMines"],["freeJump"],["playerBoards"]],BI=1465,EI=16,UI=28,GI=4,ZI=.72,FI={roundInfo:1.9,playerOrder:2.5},KI={powerPlantMarket:.88,resources:.94,resourceView:.94},VI={recharged:'Shuffle the 13 low power plants — the "plug plants" (3-15), named for the plug on the back of the printed cards. Draw 8 and sort them ascending: the 4 cheapest form the current market, the next 4 the future market. One of the remaining low plants goes face down on top of the draw deck. Player-count removal: 2 players remove 1 low + 5 higher plants; 3 players remove 2 low + 6 higher; 4 players remove 1 low + 3 higher; 5-6 players remove none. The leftover low plants are shuffled into the deck, with the Step 3 card on the bottom.',original:"The market is fixed: power plants 3, 4, 5, 6 are the current market and 7, 8, 9, 10 the future market. Power plant 13 and the Step 3 card are set aside and the rest of the deck is shuffled, then 8 random plants are removed for 2-3 players, 4 for 4 players, and none for 5-6 players. Power plant 13 goes on top of the deck and the Step 3 card on the bottom."},$I=function(e){return"slot".concat(e[0].toUpperCase()).concat(e.slice(1))},WI=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return Number(e.toFixed(n))},YI=function(e){T(t,e);var n=Z(t);function t(){var e;return C(this,t),e=n.apply(this,arguments),e.ui={waitingAnimations:0},e.paused=!1,e.gameIsOver=!1,e.communicator=new Lb["EventEmitter"],e.G=null,e.defaultPlayerColors=["limegreen","mediumorchid","red","dodgerblue","yellow","brown"],e.animationQueue=[],e.logVisible=!1,e.endScoreVisible=!1,e.spendingVisible=!1,e.rulesVisible=!1,e.totalBid=0,e.confirmMessage="",e.confirmVisible=!1,e.discardedPowerPlant=null,e.discardVisible=!1,e.resourcesToDiscard=[],e.freeJumpCity=null,e.freeJumpNormalPrice=null,e.freeJumpSlotPrice=0,e.freeJumpVisible=!1,e.soleBuyerPlant=null,e.disablePass=!1,e.turnMoves=[],e.committedState=null,e.stacked=!1,e.portraitViewport=!1,e.lastViewport="",e.viewportObserver=null,e.stackHeight=BI,e.slotTransforms={},e.onViewportResize=function(){var n="".concat(window.innerWidth,"x").concat(window.innerHeight);n!==e.lastViewport&&(e.lastViewport=n,e.scheduleRelayout())},e}return A(t,[{key:"playerColors",get:function(){var e=P(this.defaultPlayerColors);if(this.G){var n,t=I(this.G.players);try{for(t.s();!(n=t.n()).done;){var r=n.value;r.color&&(e[r.id]=r.color)}}catch(o){t.e(o)}finally{t.f()}}return e}},{key:"onStateChanged",value:function(e){if(e&&!1!==e.newTurn){var n=this.committedState?this.committedState.log:null;if(this.committedState=JSON.parse(JSON.stringify(e)),this.turnMoves.length>0&&(this.turnMoves=iS(this.committedState,n,this.turnMoves,this.player)),this.turnMoves.length>0){var t=this.replayTurnBuffer();if(this.turnMoves.length>0&&(this.emitter.emit("move",P(this.turnMoves)),!1===t.newTurn))return this._futureState=e,void this.replaceState(t,!1)}}else if(e&&!oS(e,this.committedState,this.turnMoves,this.player))return;this.replaceState(e)}},{key:"replayTurnBuffer",value:function(){var e=aS(this.committedState,this.turnMoves,this.player),n=e.state,t=e.applied,r=e.failure;return this.turnMoves=t,this.lastReplayFailure=r,n}},{key:"replaceState",value:function(e){var n,t=this,r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];r&&(this._futureState=e),r&&e&&w_(e)&&(this.gameIsOver=!0),null!=this.player&&this.G&&this.G.players&&this.G.players[this.player].resourcesUsed.some((function(e){return null==e}))&&(n={coalLeft:this.G.players[this.player].coalLeft,oilLeft:this.G.players[this.player].oilLeft,resourcesUsed:this.G.players[this.player].resourcesUsed}),this.G=JSON.parse(JSON.stringify(e)),n&&Object.assign(this.G.players[this.player],n),this.G&&this.$nextTick((function(){var e;t.powerPlantMarket.createPieces(t.G),t.playerOrder.createPieces(t.G),t.cityCount.createPieces(t.G),t.map.createPieces(t.G),null===(e=t.resources)||void 0===e||e.createPieces(t.G),t.scheduleRelayout()}))}},{key:"updateUI",value:function(){var e=this;if(!(this.ui.waitingAnimations>0))return this.animationQueue.length>0?(this.animationQueue.shift()(),void setTimeout((function(){return e.updateUI()}))):void this.scheduleRelayout()}},{key:"checkPass",value:function(){if(this.G&&null!=this.player&&!this.G.chosenPowerPlant){var e=this.G.players[this.player];if(e&&e.availableMoves&&Object.keys(e.availableMoves).length>1){if(this.G.phase==Iw.Bureaucracy&&e.powerPlantsNotUsed.length>0&&Object.keys(e.availableMoves).includes("UsePowerPlant")&&!this.canPowerAllCitiesWithUsedPlants(e))return this.confirmMessage="Are you sure you want to pass? You have unused power plants!",void(this.confirmVisible=!0);if(this.G.phase==Iw.Resources&&!this.canPowerAllPlants(e)&&("India"!==this.G.map.name||!this.playerBoughtResourceThisTurn()))return this.confirmMessage="Are you sure you want to skip buying resources without enough to power all your plants?",void(this.confirmVisible=!0);if(this.G.phase!=Iw.Bureaucracy||e.powerPlantsNotUsed.length==e.powerPlants.length){var n=this.G.log[this.G.log.length-1];if(n.player!=this.player||n.move.name==Vw.Pass){switch(this.G.phase){case Iw.Auction:this.confirmMessage="Are you sure you want to skip auctions?";break;case Iw.Resources:this.confirmMessage="Are you sure you want to skip buying resources?";break;case Iw.Building:this.confirmMessage="Are you sure you want to skip building?";break;case Iw.Bureaucracy:this.confirmMessage="Are you sure you want to pass? You didn't use any power plant!";break;default:this.confirmMessage="Are you sure you want to pass?"}return void(this.confirmVisible=!0)}}}}this.pass()}},{key:"confirmPass",value:function(){this.confirmVisible=!1,this.pass()}},{key:"pass",value:function(){this.sendMove({name:Vw.Pass,data:!0})}},{key:"undo",value:function(){if(!this.paused&&0!==this.turnMoves.length&&this.committedState)if(this.preferences.undoWholeTurn?this.turnMoves=[]:this.turnMoves.pop(),this.turnMoves.length>0){var e=this.replayTurnBuffer();this.emitter.emit("move",P(this.turnMoves)),this.replaceState(e,!1)}else this.replaceState(this.committedState,!1)}},{key:"choosePowerPlant",value:function(e){var n=this.G.players[this.player],t=n.availableMoves;t.ChoosePowerPlant&&t.ChoosePowerPlant.includes(e.number)&&(this.isSoleBuyer()?this.soleBuyerPlant=e:this.sendMove({name:Vw.ChoosePowerPlant,data:e.number}))}},{key:"isSoleBuyer",value:function(){if(!this.canMove()||this.G.phase!==Iw.Auction||this.G.chosenPowerPlant||!this.canChoose())return!1;var e=this.G.players.filter((function(e){return!e.skipAuction&&!e.isDropped}));return 1===e.length&&e[0].id===this.player}},{key:"soleBuyerPrice",value:function(){var e;if(!this.soleBuyerPlant)return 0;var n="recharged"===this.G.options.variant&&this.G.plantDiscountActive&&(null===(e=this.G.actualMarket[0])||void 0===e?void 0:e.number)===this.soleBuyerPlant.number;return n?1:this.soleBuyerPlant.number}},{key:"confirmSoleBuyerPurchase",value:function(){this.soleBuyerPlant&&this.sendMove({name:Vw.ChoosePowerPlant,data:this.soleBuyerPlant.number}),this.soleBuyerPlant=null}},{key:"buyResource",value:function(e){var n={resource:e.resource};e.side&&(n.side=e.side),e.fromStorage&&(n.fromStorage=e.fromStorage),this.sendMove({name:Vw.BuyResource,data:n})}},{key:"unbuyResource",value:function(e){if(!this.paused&&this.committedState){var n=dS(this.turnMoves,e);if(!(n<0))if(this.turnMoves.splice(n,1),this.turnMoves.length>0){var t=this.replayTurnBuffer();this.emitter.emit("move",P(this.turnMoves)),this.replaceState(t,!1)}else this.replaceState(this.committedState,!1)}}},{key:"bufferedBuys",get:function(){return lS(this.turnMoves)}},{key:"bid",value:function(e){this.sendMove({name:Vw.Bid,data:e})}},{key:"build",value:function(e){var n=this.G.players[this.player],t=n.availableMoves,r=t[Vw.Build],o=r.find((function(n){return n.name===e.name&&n.freeJump})),i=r.find((function(n){return n.name===e.name&&!n.freeJump}));o&&i?(this.freeJumpCity=e,this.freeJumpSlotPrice=o.price,this.freeJumpNormalPrice=i.price,this.freeJumpVisible=!0):o&&!i?(this.freeJumpCity=e,this.freeJumpSlotPrice=o.price,this.freeJumpNormalPrice=null,this.freeJumpVisible=!0):this.sendMove({name:Vw.Build,data:{name:e.name,price:i.price}})}},{key:"confirmFreeJump",value:function(e){var n=this.freeJumpCity,t=this.G.players[this.player],r=t.availableMoves[Vw.Build];if(this.freeJumpVisible=!1,this.freeJumpCity=null,e){var o=r.find((function(e){return e.name===n.name&&e.freeJump}));this.sendMove({name:Vw.Build,data:{name:n.name,price:o.price,freeJump:!0}})}else{var i=r.find((function(e){return e.name===n.name&&!e.freeJump}));this.sendMove({name:Vw.Build,data:{name:n.name,price:i.price}})}}},{key:"confirmDiscard",value:function(){var e=this.resourcesToDiscard.map((function(e){return parseInt(e.value)}));e.reduce((function(e,n){return e+n}),0)>0?this.sendMove({name:Vw.DiscardPowerPlant,data:this.discardedPowerPlant.number,extra:e}):this.sendMove({name:Vw.DiscardPowerPlant,data:this.discardedPowerPlant.number}),this.discardedPowerPlant=null,this.discardVisible=!1}},{key:"discardInvalid",value:function(){var e,n=this.G.players[this.player];switch(this.discardedPowerPlant.type){case Pw.Coal:return e=n.hybridCapacity-2*this.discardedPowerPlant.cost>0?Math.max(0,n.oilLeft-n.oilCapacity):0,n.coalCapacity+n.hybridCapacity-2*this.discardedPowerPlant.cost+parseInt(this.resourcesToDiscard[0].value)<n.coalLeft+e;case Pw.Oil:return e=n.hybridCapacity-2*this.discardedPowerPlant.cost>0?Math.max(0,n.coalLeft-n.coalCapacity):0,n.oilCapacity+n.hybridCapacity-2*this.discardedPowerPlant.cost+parseInt(this.resourcesToDiscard[0].value)<n.oilLeft+e;case Pw.Garbage:return n.garbageCapacity-2*this.discardedPowerPlant.cost-n.garbageLeft+parseInt(this.resourcesToDiscard[0].value)<0;case Pw.Uranium:return n.uraniumCapacity-2*this.discardedPowerPlant.cost-n.uraniumLeft+parseInt(this.resourcesToDiscard[0].value)<0;case Pw.Hybrid:var t=parseInt(this.resourcesToDiscard[0].value),r=parseInt(this.resourcesToDiscard[1].value),o=n.hybridCapacity-2*this.discardedPowerPlant.cost,i=Math.max(0,n.coalLeft-n.coalCapacity-t),a=Math.max(0,n.oilLeft-n.oilCapacity-r);return o<i+a}return!0}},{key:"powerPlantClick",value:function(e){var n,t,r=this;if((null===(n=this.G)||void 0===n?void 0:n.phase)==Iw.Auction)if(e.type==Pw.Wind||e.type==Pw.Nuclear)this.sendMove({name:Vw.DiscardPowerPlant,data:e.number});else{var o=this.G.players[this.player];switch(e.type){case Pw.Coal:if(o.powerPlants.filter((function(n){return n.type==e.type})).length+o.powerPlants.filter((function(e){return e.type==Pw.Hybrid})).length==1)return void this.sendMove({name:Vw.DiscardPowerPlant,data:e.number});if(0==o.coalLeft)return void this.sendMove({name:Vw.DiscardPowerPlant,data:e.number});this.resourcesToDiscard=[{name:"Coal",value:"0",max:o.coalLeft}];break;case Pw.Oil:if(o.powerPlants.filter((function(n){return n.type==e.type})).length+o.powerPlants.filter((function(e){return e.type==Pw.Hybrid})).length==1)return void this.sendMove({name:Vw.DiscardPowerPlant,data:e.number});if(0==o.oilLeft)return void this.sendMove({name:Vw.DiscardPowerPlant,data:e.number});this.resourcesToDiscard=[{name:"Oil",value:"0",max:o.oilLeft}];break;case Pw.Garbage:if(1==o.powerPlants.filter((function(n){return n.type==e.type})).length)return void this.sendMove({name:Vw.DiscardPowerPlant,data:e.number});if(0==o.garbageLeft)return void this.sendMove({name:Vw.DiscardPowerPlant,data:e.number});this.resourcesToDiscard=[{name:"Garbage",value:"0",max:o.garbageLeft}];break;case Pw.Uranium:if(1==o.powerPlants.filter((function(n){return n.type==e.type})).length)return void this.sendMove({name:Vw.DiscardPowerPlant,data:e.number});if(0==o.uraniumLeft)return void this.sendMove({name:Vw.DiscardPowerPlant,data:e.number});this.resourcesToDiscard=[{name:"Uranium",value:"0",max:o.uraniumLeft}];break;case Pw.Hybrid:if(o.powerPlants.filter((function(n){return n.type==e.type})).length+o.powerPlants.filter((function(e){return e.type==Pw.Coal})).length+o.powerPlants.filter((function(e){return e.type==Pw.Oil})).length==1)return void this.sendMove({name:Vw.DiscardPowerPlant,data:e.number});if(o.coalLeft+o.oilLeft==0)return void this.sendMove({name:Vw.DiscardPowerPlant,data:e.number});this.resourcesToDiscard=[{name:"Coal",value:"0",max:o.coalLeft},{name:"Oil",value:"0",max:o.oilLeft}];break}this.discardedPowerPlant=e,this.discardVisible=!0}else if((null===(t=this.G)||void 0===t?void 0:t.phase)==Iw.Bureaucracy){var i=[];switch(e.type){case Pw.Coal:i=Array(e.cost).fill(Mw.Coal);break;case Pw.Oil:i=Array(e.cost).fill(Mw.Oil);break;case Pw.Garbage:i=Array(e.cost).fill(Mw.Garbage);break;case Pw.Uranium:i=Array(e.cost).fill(Mw.Uranium);break;case Pw.Hybrid:var a=this.G.players[this.player];i=a.resourcesUsed,i.sort(),a.resourcesUsed=[],a.powerPlantsNotUsed=a.powerPlantsNotUsed.filter((function(n){return n!=e.number}));break}this.sendMove({name:Vw.UsePowerPlant,data:{powerPlant:e.number,resourcesSpent:i,citiesPowered:e.citiesPowered}}),this.disablePass=!0,setTimeout((function(){return r.disablePass=!1}),1e3)}}},{key:"discardResource",value:function(e){this.sendMove({name:Vw.DiscardResources,data:e})}},{key:"sendMove",value:function(e){if(!this.paused){var n=void 0!=this.player&&this.G&&this.G.players[this.player]?this.G.players[this.player].availableMoves:void 0,t=!!n&&!!n[e.name],r=w(w({},e),{},{time:Date.now()});this.turnMoves.push(r);var o=null;if(this.committedState&&void 0!=this.player){var i=this.turnMoves.length;if(o=this.replayTurnBuffer(),this.turnMoves.length<i){var a=this.turnMoves.length===i-1;if(cS(this.lastReplayFailure)||!t||!a)return;this.turnMoves.push(r),o=null}}this.emitter.emit("move",P(this.turnMoves)),o&&!1===o.newTurn&&this.replaceState(o,!1,!1)}}},{key:"gameEnded",value:function(e){return w_(e)}},{key:"moneyIsPublic",get:function(){return!!this.G&&(!!this.G.options.showMoney||this.gameIsOver||w_(this.G))}},{key:"canMove",value:function(){return void 0!=this.player&&this.G&&this.G.currentPlayers.includes(this.player)&&this.G.players[this.player]&&this.G.players[this.player].availableMoves}},{key:"canPass",value:function(){if(!this.canMove())return!1;if(this.disablePass)return!1;var e=this.G.players[this.player],n=e.availableMoves;return!!n[Vw.Pass]}},{key:"canUndo",value:function(){return!!this.canMove()&&this.turnMoves.length>0}},{key:"canBid",value:function(){if(!this.canMove())return!1;var e=this.G.players[this.player],n=e.availableMoves;return!!n[Vw.Bid]}},{key:"canChoose",value:function(){if(!this.canMove())return!1;var e=this.G.players[this.player],n=e.availableMoves;return!!n[Vw.ChoosePowerPlant]}},{key:"buyableResources",value:function(){if(!this.canMove())return[];var e=this.G.players[this.player],n=e.availableMoves;return n[Vw.BuyResource]||[]}},{key:"canBuyResource",value:function(e){if(!this.canMove())return!1;var n=this.G.players[this.player],t=n.availableMoves;return e?!!t[Vw.BuyResource]&&t[Vw.BuyResource].find((function(n){return n.resource==e})):!!t[Vw.BuyResource]}},{key:"getChooseablePowerPlants",value:function(){if(!this.canMove())return[];var e=this.G.players[this.player],n=e.availableMoves;return n[Vw.ChoosePowerPlant]}},{key:"getBuildableCities",value:function(){if(!this.canMove())return[];var e=this.G.players[this.player],n=e.availableMoves;return n[Vw.Build]&&n[Vw.Build].map((function(e){return e.name}))||[]}},{key:"getBuildableCityPrices",value:function(){if(!this.canMove())return{};var e=this.G.players[this.player].availableMoves[Vw.Build];if(!e)return{};var n,t={},r=I(e);try{for(r.s();!(n=r.n()).done;){var o=n.value;t[o.name]||(t[o.name]={}),o.freeJump?t[o.name].jumpPrice=o.price:t[o.name].price=o.price}}catch(i){r.e(i)}finally{r.f()}return t}},{key:"getPickableRegions",value:function(){if(!this.canMove())return[];var e=this.G.players[this.player],n=e.availableMoves;return n[Vw.ChooseRegion]||[]}},{key:"pickRegion",value:function(e){this.sendMove({name:Vw.ChooseRegion,data:e})}},{key:"canChooseColor",value:function(){if(!this.canMove())return!1;var e=this.G.players[this.player];return!!e.availableMoves[Vw.ChooseColor]}},{key:"getChooseableColors",value:function(){if(!this.canMove())return[];var e=this.G.players[this.player];return e.availableMoves[Vw.ChooseColor]||[]}},{key:"chooseColor",value:function(e){this.sendMove({name:Vw.ChooseColor,data:e})}},{key:"playerHasUsedFreeJump",value:function(e){var n,t,r=null===(n=this.G)||void 0===n?void 0:n.players[e];if(!r)return!1;if(r.usedFreeJump)return!0;if(null!==(t=this.G)&&void 0!==t&&t.log){var o,i=I(this.G.log);try{for(i.s();!(o=i.n()).done;){var a=o.value;if("move"===a.type&&a.player===e){var c,u=a.move;if((null===u||void 0===u?void 0:u.name)===Vw.Build&&!0===(null===u||void 0===u||null===(c=u.data)||void 0===c?void 0:c.freeJump))return!0}}}catch(s){i.e(s)}finally{i.f()}}return!1}},{key:"canBuild",value:function(e){if(!this.canMove())return!1;var n=this.G.players[this.player],t=n.availableMoves;return!!t[Vw.Build]&&t[Vw.Build].find((function(n){return n.name==e.name}))}},{key:"canUsePowerPlant",value:function(e){var n,t;if(!this.canMove())return!1;var r=this.G.players[this.player],o=r.availableMoves;return!(r.resourcesUsed.length>0)&&((null===(n=this.G)||void 0===n?void 0:n.phase)==Iw.Bureaucracy?!!o[Vw.UsePowerPlant]&&o[Vw.UsePowerPlant].find((function(n){return n.powerPlant==e.number})):(null===(t=this.G)||void 0===t?void 0:t.phase)==Iw.Auction?!!o[Vw.DiscardPowerPlant]&&o[Vw.DiscardPowerPlant].find((function(n){return n==e.number})):void 0)}},{key:"canPowerAllCitiesWithUsedPlants",value:function(e){var n=e.powerPlants.filter((function(n){return!e.powerPlantsNotUsed.includes(n.number)}));return n.reduce((function(e,n){return e+n.citiesPowered}),0)>=e.cities.length}},{key:"canPowerAllPlants",value:function(e){var n,t=0,r=0,o=0,i=0,a=0,c=I(e.powerPlants);try{for(c.s();!(n=c.n()).done;){var u=n.value;switch(u.type){case Pw.Coal:t+=u.cost;break;case Pw.Oil:r+=u.cost;break;case Pw.Garbage:o+=u.cost;break;case Pw.Uranium:i+=u.cost;break;case Pw.Hybrid:a+=u.cost;break}}}catch(d){c.e(d)}finally{c.f()}if(t>e.coalLeft||r>e.oilLeft||o>e.garbageLeft||i>e.uraniumLeft)return!1;var s=e.coalLeft-t,l=e.oilLeft-r;return!(a>s+l)}},{key:"playerBoughtResourceThisTurn",value:function(){for(var e=this.G.log,n=e.length-1;n>=0;n--){var t=e[n];if("move"!==t.type||t.player!==this.player)return!1;if(t.move.name===Vw.BuyResource)return!0}return!1}},{key:"toggleSound",value:function(){var e=!this.preferences.sound;this.emitter.emit("update:preference",{name:"sound",value:e}),this.preferences.sound=e}},{key:"toggleHelp",value:function(){var e=!this.preferences.disableHelp;this.emitter.emit("update:preference",{name:"disableHelp",value:e}),this.preferences.disableHelp=e}},{key:"showLog",value:function(){this.logVisible=!0}},{key:"getStatusMessage",value:function(){var e;if(this.G&&this.G.phase==Iw.ColorSelection&&void 0!==this.player&&this.G.currentPlayers.includes(this.player))return"Choose your color.";if(this.G&&this.G.phase==Iw.RegionSelection&&void 0!==this.player&&this.G.currentPlayers.includes(this.player)){var n=this.G.regionDraft;return n?"Choose a region to play in (".concat(n.picked.length+1," of ").concat(n.regionsNeeded,")."):"Choose a region to play in."}if(!this.G||1==this.G.log.length)return"Game Start!";if(0===this.G.currentPlayers.length)return"Game ended!";if(void 0!==this.player&&null!==(e=this.G)&&void 0!==e&&e.currentPlayers.includes(this.player)){var t=this.G.players[this.player];return t.availableMoves[Vw.ChoosePowerPlant]?t.availableMoves[Vw.Pass]?"Choose a Power Plant to start an auction, or pass.":"Choose a Power Plant to start an auction.":t.availableMoves[Vw.Bid]?"It's your turn to bid!":t.availableMoves[Vw.BuyResource]?"Buy resources on the market, or pass.":t.availableMoves[Vw.Build]?"Build a new city, or pass.":t.availableMoves[Vw.UsePowerPlant]?0!=t.resourcesUsed.length?"Choose which resources to spend.":"Choose which Power Plant to use.":t.availableMoves[Vw.DiscardPowerPlant]?"Choose which Power Plant to discard.":t.availableMoves[Vw.DiscardResources]?"Choose which resources to discard.":"It's your turn!"}var r=this.G.log[this.G.log.length-1];return"move"==r.type?r.simple:"event"==r.type?r.event:void 0}},{key:"isCurrentPlayer",value:function(e){return this.G&&this.G.currentPlayers.includes(e)}},{key:"logReversed",get:function(){var e=[];return this.G&&this.G.log&&(this.G.log.forEach((function(n){"event"==n.type?e.push(n.pretty||n.event):"move"==n.type&&e.push(n.pretty)})),e.reverse()),e}},{key:"logReversedSimple",get:function(){var e=[];return this.G&&this.G.log&&(this.G.log.forEach((function(n){"event"==n.type?e.push(n.event):"move"==n.type&&e.push(n.simple)})),e.reverse()),e}},{key:"onLogChanged",value:function(){this.emitter.emit("replaceLog",P(this.logReversedSimple).reverse())}},{key:"sortedPlayers",get:function(){return R_(this.G)}},{key:"spendingRows",get:function(){return[{label:"Income",value:function(e){return e.totalIncome}},{label:"Spending: Cities",value:function(e){return e.totalSpentCities}},{label:"Spending: Connections",value:function(e){return e.totalSpentConnections}},{label:"Cost per City",value:function(e){return e.cities.length?((e.totalSpentCities+e.totalSpentConnections)/e.cities.length).toFixed(1):"-"}},{label:"Spending: Plants",value:function(e){return e.totalSpentPlants}},{label:"Spending: Resources",value:function(e){return e.totalSpentResources}},{label:"Time Used",value:function(e){return lP(Aw(e))}}]}},{key:"standardDeckBuild",get:function(){var e,n,t;return null!==(e=VI[null!==(n=null===(t=this.G)||void 0===t?void 0:t.options.variant)&&void 0!==n?n:"recharged"])&&void 0!==e?e:VI.recharged}},{key:"mapDeckBuild",get:function(){var e,n,t,r=null===(e=this.G)||void 0===e?void 0:e.map.deckBuild;return r?"string"===typeof r?r:null!==(n=r[null!==(t=this.G.options.variant)&&void 0!==t?t:"recharged"])&&void 0!==n?n:"":""}},{key:"mapTransform",get:function(){var e;if(null===(e=this.G)||void 0===e||!e.map)return"";var n=W(this.G.map.mapPosition,2),t=n[0],r=n[1],o=this.G.map.mapRotation;if(!o)return"translate(".concat(t,", ").concat(r,")");var i=this.G.map.cities,a=i.map((function(e){return e.x})),c=i.map((function(e){return e.y})),u=(Math.min.apply(Math,P(a))+Math.max.apply(Math,P(a)))/2,s=(Math.min.apply(Math,P(c))+Math.max.apply(Math,P(c)))/2;return"translate(".concat(t,", ").concat(r,") rotate(").concat(o,", ").concat(u,", ").concat(s,")")}},{key:"sceneViewBox",get:function(){var e,n;return this.stacked?"0 0 ".concat(BI," ").concat(this.stackHeight):null!==(e=this.G)&&void 0!==e&&null!==(n=e.map)&&void 0!==n&&n.viewBox?"0 0 ".concat(this.G.map.viewBox[0]," ").concat(this.G.map.viewBox[1]):"0 0 1500 800"}},{key:"slotT",value:function(e){return this.slotTransforms[e]}},{key:"iconButton",value:function(e){return this.portraitViewport?"translate(110, ".concat(13+30*e,") scale(").concat(WI(26/30,4),")"):"translate(110, ".concat(13+41*e,")")}},{key:"isPortraitViewport",value:function(){return window.innerWidth<900&&window.innerHeight>1.1*window.innerWidth}},{key:"viewportIsMeasurable",value:function(){return window.innerWidth>0&&window.innerHeight>0}},{key:"shouldStack",value:function(){return this.isPortraitViewport()&&!1!==this.preferences.stackOnPortrait}},{key:"toggleStackLayout",value:function(){var e=!this.stacked;this.emitter.emit("update:preference",{name:"stackOnPortrait",value:e}),this.preferences.stackOnPortrait=e,this.relayout()}},{key:"showResourceTrack",get:function(){return!0===this.preferences.portraitResourceTrack}},{key:"setResourceView",value:function(e){e!==this.showResourceTrack&&(this.emitter.emit("update:preference",{name:"portraitResourceTrack",value:e}),this.preferences.portraitResourceTrack=e)}},{key:"onResourceViewChanged",value:function(){var e=this;this.$nextTick((function(){var n;e.G&&(null===(n=e.resources)||void 0===n||n.createPieces(e.G));e.scheduleRelayout()}))}},{key:"relayout",value:function(){if(this.viewportIsMeasurable())if(this.portraitViewport=this.isPortraitViewport(),this.shouldStack()){var e,n={},t=I(TI.flat());try{for(t.s();!(e=t.n()).done;){var r=e.value,o=this.$refs[$I(r)];if(o&&"function"===typeof o.getBBox)try{var i=o.getBBox();i.width>0&&i.height>0&&(n[r]={x:i.x,y:i.y,width:i.width,height:i.height})}catch(p){}}}catch(v){t.e(v)}finally{t.f()}var a,c=ZI*window.innerHeight*BI/window.innerWidth,u=function(e){return c/e},s={},l=EI,d=I(TI);try{var f=function(){var e=a.value,t=e.filter((function(e){return n[e]}));if(!t.length)return"continue";for(var r=UI*(t.length-1),o=BI-2*EI-r,i=t.reduce((function(e,t){return e+n[t].width}),0),c=function(e){var t,r;return Math.min(null!==(t=FI[e])&&void 0!==t?t:1/0,(null!==(r=KI[e])&&void 0!==r?r:1/0)*o/n[e].width,u(n[e].height),GI)},d=Math.min(o/i,GI),f=0;f<t.length;f++){var p,h=0,m=0,g=I(t);try{for(g.s();!(p=g.n()).done;){var y=p.value,b=c(y);b<d?h+=n[y].width*b:m+=n[y].width}}catch(v){g.e(v)}finally{g.f()}if(!m)break;var w=Math.min((o-h)/m,GI);if(w<=d+1e-4)break;d=w}var k,x=function(e){return Math.min(d,c(e))},_=t.reduce((function(e,t){return e+n[t].width*x(t)}),0),S=Math.max.apply(Math,P(t.map((function(e){return n[e].height*x(e)})))),M=(BI-(_+r))/2,C=I(t);try{for(C.s();!(k=C.n()).done;){var O=k.value,A=n[O],N=x(O),z=l+(S-A.height*N)/2;s[O]="translate(".concat(WI(M-A.x*N),", ").concat(WI(z-A.y*N),") scale(").concat(WI(N,4),")"),M+=A.width*N+UI}}catch(v){C.e(v)}finally{C.f()}l+=S+UI};for(d.s();!(a=d.n()).done;)f()}catch(v){d.e(v)}finally{d.f()}this.stackHeight=Math.round(l+EI-UI),this.slotTransforms=s,this.stacked=!0}else this.stacked&&(this.stacked=!1,this.slotTransforms={})}},{key:"onStackedChanged",value:function(){this.scheduleRelayout()}},{key:"scheduleRelayout",value:function(){var e=this;this.$nextTick((function(){return e.relayout()}))}},{key:"mounted",value:function(){window.addEventListener("resize",this.onViewportResize),window.addEventListener("orientationchange",this.onViewportResize),window.addEventListener("load",this.onViewportResize),window.visualViewport&&window.visualViewport.addEventListener("resize",this.onViewportResize),"undefined"!==typeof ResizeObserver&&(this.viewportObserver=new ResizeObserver(this.onViewportResize),this.viewportObserver.observe(document.documentElement)),this.scheduleRelayout()}},{key:"beforeDestroy",value:function(){window.removeEventListener("resize",this.onViewportResize),window.removeEventListener("orientationchange",this.onViewportResize),window.removeEventListener("load",this.onViewportResize),window.visualViewport&&window.visualViewport.removeEventListener("resize",this.onViewportResize),this.viewportObserver&&(this.viewportObserver.disconnect(),this.viewportObserver=null)}},{key:"onSceneContentChanged",value:function(){this.scheduleRelayout()}},{key:"adjustedPlayerOrder",get:function(){return RI(this.G,this.preferences.adjustPlayerOrder)}},{key:"getResourceResupply",value:function(){if(this.G){var e=this.G.resourceResupply[this.G.step-1];return e=e.substr(1,e.length-2),e.split(",")}return[0,0,0,0]}},{key:"getResourceResupplyNorth",value:function(){if(this.G&&this.G.resourceResupplyNorth){var e=this.G.resourceResupplyNorth[this.G.step-1];return e=e.substr(1,e.length-2),e.split(",")}return null}}]),t}(Rb.a);Eb([gw()],YI.prototype,"state",void 0),Eb([gw(),bw()],YI.prototype,"player",void 0),Eb([gw()],YI.prototype,"emitter",void 0),Eb([gw()],YI.prototype,"avatars",void 0),Eb([gw(),bw()],YI.prototype,"preferences",void 0),Eb([yw()],YI.prototype,"ui",void 0),Eb([yw()],YI.prototype,"communicator",void 0),Eb([bw()],YI.prototype,"G",void 0),Eb([ww()],YI.prototype,"powerPlantMarket",void 0),Eb([ww()],YI.prototype,"playerOrder",void 0),Eb([ww()],YI.prototype,"cityCount",void 0),Eb([ww()],YI.prototype,"map",void 0),Eb([ww()],YI.prototype,"resources",void 0),Eb([kw("state",{immediate:!0})],YI.prototype,"onStateChanged",null),Eb([kw("ui.waitingAnimations")],YI.prototype,"updateUI",null),Eb([kw("G.log")],YI.prototype,"onLogChanged",null),Eb([kw("showResourceTrack")],YI.prototype,"onResourceViewChanged",null),Eb([kw("stacked")],YI.prototype,"onStackedChanged",null),Eb([kw("G")],YI.prototype,"onSceneContentChanged",null),YI=Eb([uw({created:function(){var e=this;this.emitter.on("replayStart",(function(){e.paused=!0,e.emitter.emit("replay:info",{start:1,current:e.G.log.filter((function(e){return"move"==e.type})).length,end:e._futureState.log.filter((function(e){return"move"==e.type})).length})})),this.emitter.on("replayTo",(function(n){var t=e._futureState.log.map((function(e,n){return w({index:n},e)})).filter((function(e){return"move"==e.type}));n=t[n-1].index,e.replaceState(k_(e._futureState,n+1),!1),e.emitter.emit("replay:info",{start:1,current:e.G.log.filter((function(e){return"move"==e.type})).length+e.G.hiddenLog.length,end:e._futureState.log.filter((function(e){return"move"==e.type})).length})})),this.emitter.on("replayEnd",(function(){e.paused=!1,e.emitter.emit("fetchState")}))},components:{InlineLog:eS,PlayerBoard:hP,Card:Hw,House:zS,Coal:yS,Oil:VS,Garbage:MS,Uranium:XS,PassButton:jM,UndoButton:cP,LogButton:PM,SoundButton:UM,HelpButton:fM,RulesButton:eP,LayoutButton:bM,ResourceViewButton:WM,Button:iM,Calculator:xP,PowerPlantMarket:OP,PlayerOrder:RP,CityCount:FP,Map:XP,Resources:DI,ResourceBoxes:CI}})],YI);var JI=YI,HI=JI,qI=(t("bb9a"),t("7339"),Gw(HI,Tb,Bb,!1,null,null,null)),XI=qI.exports,QI=(t("c6a8"),/^[A-Za-z0-9_.-]+$/);function eC(e){return!QI.test(e)}function nC(e,n){var t=e.lastIndexOf('@"',n),r=t>=0?e.indexOf('"',t+2):-2;if(t>=0&&(-1===r||r>=n))return t>0&&/\S/.test(e[t-1])?null:{query:e.slice(t+2,n),start:t,end:n,quoted:!0};var o=n;while(o>0&&QI.test(e[o-1]))o--;if(o===n&&o>0&&"@"===e[o-1])return{query:"",start:o-1,end:n,quoted:!1};if(0===o||"@"!==e[o-1])return null;var i=o-1;return i>0&&/\S/.test(e[i-1])?null:{query:e.slice(i+1,n),start:i,end:n,quoted:!1}}function tC(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:8,r=n.toLowerCase();return e.filter((function(e){return e.name.toLowerCase().startsWith(r)})).toSorted((function(e,n){var t=e.name.toLowerCase(),o=n.name.toLowerCase();return t===r?-1:o===r?1:t<o?-1:t>o?1:0})).slice(0,t)}function rC(e,n,t){var r=eC(t)?'@"'.concat(t,'"'):"@".concat(t),o=e.slice(0,n.start)+r+" "+e.slice(n.end);return{text:o,caret:n.start+r.length}}var oC=function(){function e(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};C(this,e),y(this,"state",{enabled:!1,mentions:[],open:!0,messages:[],canSend:!1,disabled:!1,reason:"",draft:"",error:"",pending:"",unreadIds:[]}),y(this,"listeners",new Set),y(this,"sequence",0),y(this,"sent",""),y(this,"newestRead",""),y(this,"timer",void 0),y(this,"readTimer",void 0),y(this,"disposed",!1),y(this,"send",(function(){})),y(this,"read",(function(){})),y(this,"options",void 0),this.options=n}return A(e,[{key:"snapshot",get:function(){return this.state}},{key:"unread",get:function(){return this.state.unreadIds.length}},{key:"subscribe",value:function(e){var n=this;return this.listeners.add(e),e(this.state),function(){n.listeners.delete(e)}}},{key:"change",value:function(e){if(!this.disposed){this.state=w(w({},this.state),e);var n,t=I(this.listeners);try{for(t.s();!(n=t.n()).done;){var r=n.value;r(this.state)}}catch(o){t.e(o)}finally{t.f()}}}},{key:"setDraft",value:function(e){this.change({draft:e})}},{key:"setOpen",value:function(e){this.change({open:e})}},{key:"setPlayer",value:function(e){this.change({playerIndex:e})}},{key:"setDisabled",value:function(e){this.change({disabled:e})}},{key:"setState",value:function(e){var n,t;this.change({enabled:!0,canSend:e.canSend,reason:null!==(n=e.reason)&&void 0!==n?n:"",mentions:null!==(t=e.mentions)&&void 0!==t?t:[]})}},{key:"suggestions",value:function(e){var n=this;return tC(this.state.mentions.filter((function(e){return void 0===n.state.playerIndex||e.playerIndex!==n.state.playerIndex})),e)}},{key:"replace",value:function(e){var n=new Set(e.map((function(e){return e._id})));this.change({enabled:!0,messages:this.unique(e),unreadIds:this.state.unreadIds.filter((function(e){return n.has(e)}))})}},{key:"unique",value:function(e){var n=new Set;return e.filter((function(e){return!e._id||!n.has(e._id)&&(n.add(e._id),!0)}))}},{key:"append",value:function(e){var n=this,t=new Set(this.state.messages.map((function(e){return e._id}))),r=this.unique(e).filter((function(e){return!e._id||!t.has(e._id)}));this.change({messages:[].concat(P(this.state.messages),P(r)),unreadIds:[].concat(P(this.state.unreadIds),P(r.filter((function(e){return e._id&&(void 0===e.playerIndex||e.playerIndex!==n.state.playerIndex)})).map((function(e){return e._id}))))})}},{key:"update",value:function(e){var n=new Map(e.filter((function(e){return e._id})).map((function(e){return[e._id,e]})));this.change({messages:this.state.messages.map((function(e){var t;return null!==(t=n.get(e._id))&&void 0!==t?t:e}))})}},{key:"delete",value:function(e){var n=new Set(e);this.change({messages:this.state.messages.filter((function(e){return!e._id||!n.has(e._id)})),unreadIds:this.state.unreadIds.filter((function(e){return!n.has(e)}))})}},{key:"markRead",value:function(e){var n,t=this,r=this.state.messages.findIndex((function(n){return n._id===e}));if(!(r<0)&&/^[0-9a-f]{24}$/i.test(e)){var o=new Set(this.state.messages.slice(0,r+1).map((function(e){return e._id}))),i=this.state.unreadIds.filter((function(e){return!o.has(e)}));i.length!==this.state.unreadIds.length&&this.change({unreadIds:i});var a=e.toLowerCase();a<=this.newestRead||this.disposed||(this.newestRead=a,this.readTimer||(this.readTimer=setTimeout((function(){t.readTimer=void 0,t.read(t.newestRead)}),null!==(n=this.options.readDelayMs)&&void 0!==n?n:500)))}}},{key:"submit",value:function(){var e,n=this,t=this.state,r=t.canSend,o=t.disabled,i=t.pending,a=t.draft;if(!this.disposed&&r&&!o&&!i&&a.trim()){this.sent=a;var c="bgs-chat-".concat(Date.now(),"-").concat(++this.sequence);this.change({error:"",pending:c}),this.timer=setTimeout((function(){return n.change({pending:"",error:"Delivery could not be confirmed. Check the chat before retrying."})}),null!==(e=this.options.sendTimeoutMs)&&void 0!==e?e:2e4);try{this.send({text:a.trim(),requestId:c})}catch(u){this.result({requestId:c,ok:!1,error:"Message could not be sent. Please try again."})}}}},{key:"result",value:function(e){e.requestId!==this.state.pending||this.disposed||(clearTimeout(this.timer),this.change(w({pending:""},e.ok?{draft:this.state.draft===this.sent?"":this.state.draft}:{error:e.error||"Message could not be sent. Please try again."})))}},{key:"destroy",value:function(){this.disposed=!0,clearTimeout(this.timer),clearTimeout(this.readTimer),this.listeners.clear()}}]),e}();function iC(e,n){var t=new Intl.DateTimeFormat(n,{year:"numeric",month:"long",day:"numeric"}),r="";return e.map((function(e){var n,o=new Date(null!==(n=e.createdAt)&&void 0!==n?n:"");if(!Number.isNaN(o.getTime())){var i="".concat(o.getFullYear(),"-").concat(String(o.getMonth()+1).padStart(2,"0"),"-").concat(String(o.getDate()).padStart(2,"0"));if(i!==r)return r=i,{dateTime:i,label:t.format(o)}}}))}function aC(e,n){var t=n.chat,r=[],o=0,i=null,a=!0,c=!1,u=!1;function s(){var c,s;i=a||u||e.disabled?null:nC(e.value,null!==(c=e.selectionStart)&&void 0!==c?c:e.value.length),r=i?t.suggestions(i.query).slice(0,null!==(s=n.maxSuggestions)&&void 0!==s?s:6):[],o=Math.min(o,Math.max(0,r.length-1)),n.onSuggestions({candidates:r,selected:o})}function l(n){var o=r[n];if(!c&&!e.disabled&&i&&o){var u=rC(e.value,i,o.name);a=!0,t.setDraft(u.text),e.focus({preventScroll:!0}),e.setSelectionRange(u.caret+1,u.caret+1),s()}}function d(){a=!1,o=0,t.setDraft(e.value),s()}function f(){a=!1,s()}function p(n){u||n.isComposing||e.disabled||(r.length&&["ArrowDown","ArrowUp","Enter","Tab","Escape"].includes(n.key)?(n.preventDefault(),n.stopPropagation(),"Escape"===n.key?(a=!0,s()):"Enter"===n.key||"Tab"===n.key?l(o):(o=(o+("ArrowDown"===n.key?1:r.length-1))%r.length,s())):"Enter"!==n.key||n.shiftKey||(n.preventDefault(),n.stopPropagation(),t.submit()))}function v(e){["ArrowLeft","ArrowRight","Home","End"].includes(e.key)&&f()}function h(){u=!0,s()}function m(){u=!1,d()}var g=t.subscribe((function(n){e.value!==n.draft&&(e.value=n.draft),e.disabled=!n.canSend||n.disabled,s()}));return e.addEventListener("input",d),e.addEventListener("click",f),e.addEventListener("keydown",p),e.addEventListener("keyup",v),e.addEventListener("compositionstart",h),e.addEventListener("compositionend",m),{choose:l,destroy:function(){c=!0,g(),e.removeEventListener("input",d),e.removeEventListener("click",f),e.removeEventListener("keydown",p),e.removeEventListener("keyup",v),e.removeEventListener("compositionstart",h),e.removeEventListener("compositionend",m)}}}function cC(e,n){var t,r,o,i,a,c,u,s=n.chat,l=e.ownerDocument,d=l.defaultView,f=!1,p=!0,v=!1,h=-1,m=!1,g=new Map,y=new Set;function b(){var e,t,r,o,i,a,c,u,s,l,f,p,v=d.visualViewport,h=null!==(e=null===(t=n.viewport)||void 0===t?void 0:t.call(n))&&void 0!==e?e:{};return{top:Math.max(null!==(r=null===v||void 0===v?void 0:v.offsetTop)&&void 0!==r?r:0,null!==(o=h.top)&&void 0!==o?o:0),left:Math.max(null!==(i=null===v||void 0===v?void 0:v.offsetLeft)&&void 0!==i?i:0,null!==(a=h.left)&&void 0!==a?a:0),bottom:Math.min((null!==(c=null===v||void 0===v?void 0:v.offsetTop)&&void 0!==c?c:0)+(null!==(u=null===v||void 0===v?void 0:v.height)&&void 0!==u?u:d.innerHeight),null!==(s=h.bottom)&&void 0!==s?s:1/0),right:Math.min((null!==(l=null===v||void 0===v?void 0:v.offsetLeft)&&void 0!==l?l:0)+(null!==(f=null===v||void 0===v?void 0:v.width)&&void 0!==f?f:d.innerWidth),null!==(p=h.right)&&void 0!==p?p:1/0)}}function w(){for(var n=b(),t=e;t;t=t.parentElement){var r=d.getComputedStyle(t),o=t.getBoundingClientRect();(t===e||/auto|scroll|hidden|clip/.test(r.overflowY))&&(n.top=Math.max(n.top,o.top),n.bottom=Math.min(n.bottom,o.bottom)),(t===e||/auto|scroll|hidden|clip/.test(r.overflowX))&&(n.left=Math.max(n.left,o.left),n.right=Math.min(n.right,o.right))}return n}function k(){return Array.from(e.querySelectorAll("[data-message-id]"))}function x(){var t,r,o,i,a,d=e.getBoundingClientRect(),f=w(),p=s.snapshot.open&&(null===(t=null===(r=n.isVisible)||void 0===r?void 0:r.call(n))||void 0===t||t)&&e.checkVisibility({opacityProperty:!0,visibilityProperty:!0})&&d.height>0,v=p&&f.right>f.left&&Math.min(f.bottom-f.top,null!==(o=null===(i=u)||void 0===i?void 0:i.intersectionRect.height)&&void 0!==o?o:0)>=Math.min(80,d.height);v!==c&&(c=v,null===(a=n.onVisibilityChange)||void 0===a||a.call(n,v));if(!(!p||f.right<=f.left||f.bottom<=f.top||"visible"!==l.visibilityState)){var h=k().findLast((function(e){var n=e.getBoundingClientRect();return y.has(g.get(e))&&n.width>0&&n.bottom<=f.bottom+1&&n.bottom>f.top&&(n.top>=f.top-1||n.height>f.bottom-f.top)&&n.left<f.right&&n.right>f.left}));null!==h&&void 0!==h&&h.dataset.messageId&&s.markRead(h.dataset.messageId)}}function _(){f||void 0!==a||(a=d.requestAnimationFrame((function(){var t,r;if(a=void 0,e.clientHeight&&s.snapshot.open&&(null===(t=null===(r=n.isVisible)||void 0===r?void 0:r.call(n))||void 0===t||t)){if(m){var o=k().find((function(e){var n;return s.snapshot.unreadIds.includes(null!==(n=e.dataset.messageId)&&void 0!==n?n:"")}));o?(e.scrollTop+=o.getBoundingClientRect().top-e.getBoundingClientRect().top,p=e.scrollHeight-e.scrollTop-e.clientHeight<32):p=!0,m=!1}p&&(e.scrollTop=e.scrollHeight),h=e.scrollTop,v||(v=s.snapshot.messages.length>0)}O(),x()})))}function S(){e.clientHeight&&v&&e.scrollTop!==h&&(p=e.scrollHeight-e.scrollTop-e.clientHeight<32),_()}var M=new ResizeObserver(_);M.observe(e),M.observe(null!==(t=n.contents)&&void 0!==t?t:e);var P=new MutationObserver(_);P.observe(null!==(r=n.contents)&&void 0!==r?r:e,{childList:!0,subtree:!0,characterData:!0});var C=new IntersectionObserver((function(n){var t,r=I(n);try{for(r.s();!(t=r.n()).done;){var o=t.value;o.target===e?u=o:o.isIntersecting?y.add(o.target):y.delete(o.target)}}catch(i){r.e(i)}finally{r.f()}_()}),{threshold:[0,.25,.5,.75,1]});function O(){var e,n=new Set(k()),t=I(g);try{for(t.s();!(e=t.n()).done;){var r=W(e.value,2),o=r[0],i=r[1];n.has(o)&&o.contains(i)||(C.unobserve(i),y.delete(i),g.delete(o),i.remove())}}catch(d){t.e(d)}finally{t.f()}var a,c=I(n);try{for(c.s();!(a=c.n()).done;){var u=a.value;if(!g.has(u)){var s=l.createElement("span");s.setAttribute("aria-hidden","true"),s.style.cssText="display:block;width:100%;height:0;pointer-events:none",u.append(s),g.set(u,s),C.observe(s)}}}catch(d){c.e(d)}finally{c.f()}}C.observe(e);var A=s.subscribe(_);return e.addEventListener("scroll",S,{passive:!0}),l.addEventListener("scroll",_,{passive:!0,capture:!0}),l.addEventListener("visibilitychange",_),d.addEventListener("scroll",_,{passive:!0}),d.addEventListener("focus",_),d.addEventListener("resize",_),null===(o=d.visualViewport)||void 0===o||o.addEventListener("resize",_),null===(i=d.visualViewport)||void 0===i||i.addEventListener("scroll",_),{refresh:_,bounds:b,open:function(){f||(s.setOpen(!0),m=!0,_())},destroy:function(){var n,t;f=!0,void 0!==a&&d.cancelAnimationFrame(a),A(),M.disconnect(),P.disconnect(),C.disconnect();var r,o=I(g.values());try{for(o.s();!(r=o.n()).done;){var i=r.value;i.remove()}}catch(c){o.e(c)}finally{o.f()}g.clear(),y.clear(),e.removeEventListener("scroll",S),l.removeEventListener("scroll",_,!0),l.removeEventListener("visibilitychange",_),d.removeEventListener("scroll",_),d.removeEventListener("focus",_),d.removeEventListener("resize",_),null===(n=d.visualViewport)||void 0===n||n.removeEventListener("resize",_),null===(t=d.visualViewport)||void 0===t||t.removeEventListener("scroll",_)}}}var uC=0,sC={title:"Chat",message:"Chat message",placeholder:"Message…",suggestions:"Mention suggestions",send:"Send",sending:"Sending…",empty:"No messages yet",edited:"edited",game:"Game",date:function(e){return e.toLocaleDateString([],{year:"numeric",month:"long",day:"numeric"})},unread:function(e){return"".concat(e," unread")},status:function(e){var n={"not-logged-in":"Sign in to chat","not-confirmed":"Confirm your account to chat","not-a-player":"Only players can send messages","chat-disabled":"Chat disabled","no-game":"Chat will be available when the game starts"};return e.disabled?"Chat disabled":e.enabled?e.canSend?"":n[e.reason]||"Chat is read-only":"Chat is connecting…"}},lC='\n.bgs-game-chat{box-sizing:border-box;min-width:0;font:inherit;line-height:1.4;border:1px solid var(--chat-border,#9eb4b5);border-radius:3px;padding:8px 12px;background:var(--chat-background,#e5eeea);color:var(--chat-color,#203a45)}\n.bgs-game-chat summary{cursor:pointer;font-weight:600}\n.bgs-game-chat .chat-messages{max-height:var(--chat-height,250px);overflow:auto;overflow-anchor:none;margin:6px 0 8px}\n.bgs-game-chat article{padding:5px 0;border-bottom:1px solid var(--chat-border,#9eb4b5);white-space:pre-wrap;overflow-wrap:anywhere}\n.bgs-game-chat time,.bgs-game-chat .chat-edited{font-size:.85em;opacity:.75;margin-left:8px;white-space:nowrap}\n.bgs-game-chat .chat-day{display:flex;align-items:center;gap:8px;margin:12px 0 6px;font-size:.85em;opacity:.8}\n.bgs-game-chat .chat-day::before,.bgs-game-chat .chat-day::after{content:"";flex:1;border-top:1px solid var(--chat-border,#9eb4b5)}\n.bgs-game-chat .chat-day time{margin:0;opacity:1}\n.bgs-game-chat .chat-composer{display:flex;gap:6px;align-items:center}\n.bgs-game-chat input{flex:1;min-width:0;box-sizing:border-box;height:30px;padding:4px 7px;border:1px solid var(--chat-border,#9eb4b5);border-radius:2px;background:var(--chat-input-background,#f2f4ee);color:inherit;font:inherit}\n.bgs-game-chat button{box-sizing:border-box;min-height:30px;padding:3px 10px;border:1px solid var(--chat-border,#9eb4b5);border-radius:2px;background:var(--chat-button-background,#dddeda);color:inherit;font:inherit;cursor:pointer}\n.bgs-game-chat button:disabled{opacity:.6;cursor:default}\n.bgs-game-chat .chat-author,.bgs-game-chat .chat-mention{min-height:0;padding:0;border:0;background:transparent;font-weight:600;color:inherit}\n.bgs-game-chat article a,.bgs-game-chat .chat-mention{text-decoration:underline;color:var(--chat-link-color,inherit)}\n.bgs-game-chat :focus-visible,.bgs-game-chat .chat-suggestions button[aria-pressed="true"]{outline:2px solid var(--chat-accent,#247d8c);outline-offset:2px}\n.bgs-game-chat .chat-suggestions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}\n.bgs-game-chat .chat-status{font-size:.9em;margin-top:6px}\n.bgs-game-chat .chat-suggestions:empty,.bgs-game-chat .chat-status:empty{display:none}\n';function dC(e,n){var t,r=n.chat,o=w(w({},sC),n.labels),i=e.ownerDocument,a=i.defaultView,c=new AbortController,u={signal:c.signal},s=new AbortController,l=new AbortController,d=i.createElement("details");d.className="bgs-game-chat";var f=i.createElement("summary"),p=i.createElement("div");p.className="chat-messages",p.setAttribute("role","log"),p.setAttribute("aria-label",o.title),p.tabIndex=0;var v=i.createElement("div");v.className="chat-contents",p.append(v);var h=i.createElement("div");h.className="chat-composer";var m=i.createElement("input");m.type="text",m.autocomplete="off",m.placeholder=o.placeholder,m.setAttribute("aria-label",o.message);var g=i.createElement("button");g.type="button",h.append(m,g);var y=i.createElement("div");y.className="chat-suggestions",y.id="bgs-chat-mentions-".concat(++uC),y.setAttribute("role","listbox"),m.setAttribute("role","combobox"),m.setAttribute("aria-autocomplete","list"),m.setAttribute("aria-controls",y.id),y.setAttribute("aria-label",o.suggestions);var b=i.createElement("div");if(b.className="chat-status",b.setAttribute("role","status"),d.append(f,p,h,y,b),!1!==n.styles){var k=i.createElement("style");k.textContent=lC,d.append(k)}e.append(d);var x,_,S=!1,M=r.snapshot.mentions;function P(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=i.createElement("a");return r.textContent=e,r.href=n,r.target="_blank",r.rel="noopener noreferrer",r.className=t,r}function C(e,t){var o,a,c=I(null!==(o=t.segments)&&void 0!==o?o:[{kind:"text",text:t.text}]);try{var u=function(){var t=a.value;if("link"===t.kind&&/^https?:\/\//i.test(t.url))e.append(P(t.text,t.url));else if("mention"===t.kind){var o,c=null===(o=r.snapshot.mentions.find((function(e){return e.id===t.id})))||void 0===o?void 0:o.playerIndex;if(void 0!==c&&n.openPlayer){var u=i.createElement("button");u.type="button",u.className="chat-mention",u.textContent="@".concat(t.name),u.addEventListener("click",(function(){var e;return null===(e=n.openPlayer)||void 0===e?void 0:e.call(n,c)}),{signal:s.signal}),e.append(u)}else e.append(P("@".concat(t.name),"https://boardgamers.space/user/".concat(encodeURIComponent(t.name)),"chat-mention"))}else e.append(i.createTextNode(t.text))};for(c.s();!(a=c.n()).done;)u()}catch(l){c.e(l)}finally{c.f()}}function O(){if(!S){s.abort(),s=new AbortController;var e,t=i.createDocumentFragment(),c=iC(r.snapshot.messages),u=I(r.snapshot.messages.entries());try{var l=function(){var r,u,l=W(e.value,2),d=l[0],f=l[1],p=c[d];if(p){var v=i.createElement("div");v.className="chat-day";var h=i.createElement("time");h.dateTime=p.dateTime,h.textContent=o.date(new Date(f.createdAt)),v.append(h),t.append(v)}var m=i.createElement("article");m.dataset.messageId=null!==(r=f._id)&&void 0!==r?r:"",m.classList.toggle("system","system"===f.type);var g=null===(u=n.renderAuthor)||void 0===u?void 0:u.call(n,f);if(!g){var y,b=i.createElement(void 0!==f.playerIndex&&n.openPlayer?"button":"strong");b.className="chat-author",b.textContent=null!==(y=f.author)&&void 0!==y?y:o.game,b instanceof a.HTMLButtonElement&&(b.type="button",b.addEventListener("click",(function(){var e;return null===(e=n.openPlayer)||void 0===e?void 0:e.call(n,f.playerIndex)}),{signal:s.signal})),g=b}if(m.append(g,i.createTextNode(" ")),C(m,f),f.createdAt&&!Number.isNaN(new Date(f.createdAt).getTime())){var w=i.createElement("time"),k=new Date(f.createdAt);w.dateTime=f.createdAt,w.textContent=k.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),w.title=k.toLocaleString(),m.append(w)}if(f.editedAt){var x=i.createElement("span");x.className="chat-edited",x.textContent=" (".concat(o.edited,")"),x.title=f.editedAt,m.append(x)}t.append(m)};for(u.s();!(e=u.n()).done;)l()}catch(f){u.e(f)}finally{u.f()}if(!t.childNodes.length){var d=i.createElement("p");d.className="chat-empty",d.textContent=o.empty,t.append(d)}v.replaceChildren(t)}}var A=aC(m,{chat:r,onSuggestions:function(e){var n=e.candidates,t=e.selected;l.abort(),l=new AbortController,y.replaceChildren(),m.setAttribute("aria-expanded",String(n.length>0)),n.length?m.setAttribute("aria-activedescendant","".concat(y.id,"-").concat(t)):m.removeAttribute("aria-activedescendant"),n.forEach((function(e,n){var r=i.createElement("button");r.type="button",r.textContent="@".concat(e.name),r.id="".concat(y.id,"-").concat(n),r.setAttribute("role","option"),r.setAttribute("aria-selected",String(t===n)),r.setAttribute("aria-pressed",String(t===n)),r.addEventListener("mousedown",(function(e){return e.preventDefault()}),{signal:l.signal}),r.addEventListener("click",(function(){return A.choose(n)}),{signal:l.signal}),y.append(r)}))}}),N=cC(p,{chat:r,contents:v,viewport:n.viewport,onVisibilityChange:n.onVisibilityChange});function z(){if(i.activeElement===m){var e=m.getBoundingClientRect(),n=N.bounds();e.bottom>n.bottom-8?a.scrollBy({top:e.bottom-n.bottom+8}):e.top<n.top+8&&a.scrollBy({top:e.top-n.top-8})}}var j=r.subscribe((function(e){d.open=e.open,f.textContent=e.unreadIds.length?"".concat(o.title," · ").concat(o.unread(e.unreadIds.length)):o.title,g.textContent=e.pending?o.sending:o.send,g.disabled=!e.canSend||e.disabled||!!e.pending||!e.draft.trim(),b.textContent=e.error||(e.pending?o.sending:o.status(e)),e.messages===_&&e.mentions===M||(_=e.messages,M=e.mentions,O())}));return g.addEventListener("click",(function(){return r.submit()}),u),d.addEventListener("toggle",(function(){r.snapshot.open!==d.open&&r.setOpen(d.open),N.refresh()}),u),m.addEventListener("focus",z),a.addEventListener("resize",z),null===(t=a.visualViewport)||void 0===t||t.addEventListener("resize",z),{element:d,refresh:function(){O(),N.refresh(),z()},open:function(){S||(N.open(),void 0!==x&&a.cancelAnimationFrame(x),x=a.requestAnimationFrame((function(){x=void 0;var e=d.getBoundingClientRect(),n=N.bounds();a.scrollBy({top:e.top-Math.max(n.top+8,(n.bottom+n.top-e.height)/2)}),f.focus({preventScroll:!0}),N.refresh()})))},destroy:function(){var e;S=!0,void 0!==x&&a.cancelAnimationFrame(x),c.abort(),s.abort(),l.abort(),j(),A.destroy(),N.destroy(),m.removeEventListener("focus",z),a.removeEventListener("resize",z),null===(e=a.visualViewport)||void 0===e||e.removeEventListener("resize",z),d.remove()}}}function fC(e,n){var t,r=new oC,o=Ab(e,r),i=n.querySelector(".chat-host")||document.createElement("div");i.parentElement||n.insertAdjacentElement("afterend",i);var a=document.createElement("style");a.textContent='\n.bgs-game-chat{box-sizing:border-box;font:14px/1.4 Arial,sans-serif;border:1px solid #a2aa82;border-radius:3px;margin:8px 0;padding:8px 12px;background:#f3f0dc;color:#263521}\n.bgs-game-chat summary{cursor:pointer;font-weight:650;border-radius:3px;width:fit-content;padding:2px 4px;margin:-2px -4px}\n.bgs-game-chat summary:hover{color:#126778}\n.bgs-game-chat summary:focus-visible,.bgs-game-chat button:focus-visible{outline:2px solid #247d8c;outline-offset:3px}\n.bgs-game-chat .chat-day{display:flex;align-items:center;gap:8px;margin:12px 0 6px;font-size:.85em;opacity:.8}\n.bgs-game-chat .chat-day::before,.bgs-game-chat .chat-day::after{content:"";flex:1;border-top:1px solid currentColor;opacity:.3}\n.bgs-game-chat .chat-day time{margin:0;color:inherit;font-size:inherit}\n.bgs-game-chat .chat-messages{max-height:250px;overflow:auto;overscroll-behavior:auto;margin:6px 0 8px}\n.bgs-game-chat article{padding:5px 0;border-bottom:1px solid #75818d26;white-space:pre-wrap;overflow-wrap:anywhere}\n.bgs-game-chat article strong{padding:0 3px;font-weight:bold}\n.bgs-game-chat article:last-child{border-bottom:0}\n.bgs-game-chat time{font-size:12px;color:#536e77;margin-left:8px;white-space:nowrap}\n.bgs-game-chat .chat-composer{display:flex;gap:6px;align-items:center;margin:0}\n.bgs-game-chat input{flex:1;min-width:0;box-sizing:border-box;height:30px;background:#f3f5eb;color:#263521;border:1px solid #899997;border-radius:2px;padding:4px 7px;font:14px Arial,sans-serif}\n.bgs-game-chat input::placeholder{color:#637477}\n.bgs-game-chat input:focus{outline:2px solid #527f89;outline-offset:1px}\n.bgs-game-chat button{box-sizing:border-box;height:30px;cursor:pointer;border:1px solid #7f8c8d;border-radius:3px;background:#dddeda;color:#172d34;padding:3px 12px;font:14px Arial,sans-serif}\n.bgs-game-chat button:hover:not(:disabled){background:#c8d3d0}\n.bgs-game-chat button:disabled{color:#788786;border-color:#b0bcb8;background:#dce3df;cursor:default}\n.bgs-game-chat .chat-mention{height:auto;padding:0 2px;border:0;background:transparent;color:inherit;font:inherit;font-weight:bold;text-decoration:underline}\n.bgs-game-chat article a{color:inherit;text-decoration:underline}\n.chat-suggestions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}\n.chat-suggestions:empty{display:none}\n.chat-suggestions button[aria-pressed="true"]{outline:2px solid #527f89}\n.bgs-game-chat .chat-status{font-size:12px;margin-top:6px}\n.bgs-game-chat .chat-status:empty{display:none}\n.chat-shortcut{position:fixed;right:89px;bottom:max(17px,env(safe-area-inset-bottom));z-index:900;display:inline-flex;align-items:center;gap:7px;box-sizing:border-box;height:40px;padding:0 10px 0 13px;border:1px solid #6a8589;border-radius:20px;background:#263521;color:#fff;font:600 14px Arial,sans-serif;cursor:pointer;box-shadow:0 2px 6px #0003}\n.chat-shortcut[hidden]{display:none}\n.chat-shortcut svg{flex:none}\n.chat-shortcut-count{box-sizing:border-box;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#f2c230;color:#172d34;font:700 12px/22px Arial,sans-serif;text-align:center}\n.game-feed-tabs{display:none}\n@media(max-width:700px){\n.game-feed-tabs{display:flex;gap:4px;margin-top:8px}\n.game-feed-tabs button{border:1px solid #a2aa82;border-radius:3px 3px 0 0;padding:7px 14px;background:#e7ead7;color:#263521;font:600 14px Arial,sans-serif;cursor:pointer}\n.game-feed-tabs button[aria-pressed="true"]{background:#f3f0dc;border-bottom:3px solid #526f32}\n.game-feed-tabs button:focus-visible{outline:2px solid #247d8c;outline-offset:2px}\n.journal-and-chat[data-feed="chat"]>.inline-game-log,.journal-and-chat[data-feed="journal"]>.chat-host{display:none}\n}\n.chat-shortcut:hover{background:#315966}\n.chat-shortcut:focus-visible{outline:2px solid #fff;outline-offset:2px}\n\n',i.append(a);var c,u=[],s=!1,l=document.createElement("button");l.type="button",l.className="chat-shortcut",l.hidden=!0,l.innerHTML='<svg width="16" height="16" viewBox="0 0 16 16" aria-hidden="true"><path fill="currentColor" d="M3.5 1.5h9A1.5 1.5 0 0 1 14 3v6.5A1.5 1.5 0 0 1 12.5 11H6.6l-3.3 2.8a.5.5 0 0 1-.8-.4V11A1.5 1.5 0 0 1 2 9.5V3a1.5 1.5 0 0 1 1.5-1.5z"/></svg><span>Chat</span>';var d=document.createElement("span");d.className="chat-shortcut-count",l.append(d),(n.querySelector(".chat-tabs-host")||i).append(l);var f=n.querySelector(".journal-and-chat"),p=document.createElement("nav");p.className="game-feed-tabs",p.setAttribute("aria-label","Chat and journal");var v=document.createElement("button"),h=document.createElement("button");function m(e){f&&(f.dataset.feed=e),v.setAttribute("aria-pressed",String("chat"===e)),h.setAttribute("aria-pressed",String("journal"===e))}v.type=h.type="button",h.textContent="Journal",p.append(v,h),null===(t=n.querySelector(".chat-tabs-host"))||void 0===t||t.append(p),m("chat");var g=dC(i,{chat:r,styles:!1,openPlayer:function(n){return e.emit("player:clicked",{index:n})},renderAuthor:y,onVisibilityChange:function(e){s=e,b()}});function y(e){var n,t,r=document.createElement("strong");r.textContent=e.author||"Game";var o,i=null!==(n=e.playerIndex)&&void 0!==n?n:"You"===e.author?c:null===(t=u.find((function(n){return n.name===e.author})))||void 0===t?void 0:t.id;void 0!==i&&Cw[i]&&(r.style.backgroundColor=(null===(o=u.find((function(e){return e.id===i})))||void 0===o?void 0:o.color)||Cw[i],r.style.color="brown"===r.style.backgroundColor?"#fff":"#111");return r}function b(){var e=r.unread,n=e?"Chat · ".concat(e," unread"):"Chat";d.textContent=String(e),l.hidden=s||!e,l.setAttribute("aria-label","Open ".concat(n)),v.textContent=n}l.onclick=function(){m("chat"),g.open()};var k=[o,r.subscribe(b),e.on("state",(function(e){u=((null===e||void 0===e?void 0:e.players)||[]).map((function(e,n){return w(w({},e),{},{id:n})})),g.refresh()})),e.on("gamelog",(function(e){var n=e.data;null!==n&&void 0!==n&&n.state&&(u=(n.state.players||[]).map((function(e,n){return w(w({},e),{},{id:n})})),g.refresh())})),e.on("player",(function(e){c=null===e||void 0===e?void 0:e.index,g.refresh()}))];return v.onclick=function(){m("chat"),r.setOpen(!0),g.refresh()},h.onclick=function(){m("journal"),g.refresh()},k.push((function(){return p.remove()})),function(){k.forEach((function(e){return e()})),g.destroy(),l.remove(),a.remove()}}var pC,vC,hC={build:{label:"Connect a city",notes:[[0,.1,0,.12,1500],[.08,.25,95,.1,45],[.18,.14,360,.05,500]]},fuel:{label:"Buy fuel",notes:[[0,.12,0,.1,1100],[.1,.13,0,.08,600],[.12,.16,120,.06,65]]},bid:{label:"Auction bid",notes:[[0,.08,400,.07,550]]},plant:{label:"Power plant",notes:[[0,.15,110,.09],[.07,.23,220,.07,330]]},power:{label:"Generate electricity",notes:[[0,.45,60,.09,120],[.05,.4,121,.05,240],[.1,.35,0,.04,1300]]}},mC=!0;function gC(e){mC=e}function yC(e){if(mC&&hC[e]&&"undefined"!==typeof window){if("undefined"!==typeof navigator){var n=navigator.userActivation;if(n&&!n.hasBeenActive)return}var t=window.AudioContext;if(t){pC=pC||new t;var r=pC;r.resume().then((function(){if(mC&&"running"===r.state){var n,t=I(hC[e].notes);try{for(t.s();!(n=t.n()).done;){var o=W(n.value,5),i=o[0],a=o[1],c=o[2],u=o[3],s=o[4],l=r.currentTime+i,d=r.createGain();if(d.gain.setValueAtTime(1e-4,l),d.gain.exponentialRampToValueAtTime(u,l+.008),d.gain.exponentialRampToValueAtTime(1e-4,l+a),d.connect(r.destination),0===c){for(var f=r.createBuffer(1,Math.ceil(r.sampleRate*a),r.sampleRate),p=f.getChannelData(0),v=0;v<p.length;v++)p[v]=2*Math.random()-1;var h=r.createBufferSource();h.buffer=f;var m=r.createBiquadFilter();m.type="lowpass",m.frequency.value=s||900,h.connect(m),m.connect(d),h.start(l),h.stop(l+a)}else{var g=r.createOscillator();g.type="sine",g.frequency.setValueAtTime(c,l),g.frequency.exponentialRampToValueAtTime(s||c,l+a),g.connect(d),g.start(l),g.stop(l+a)}}}catch(y){t.e(y)}finally{t.f()}}})).catch((function(){}))}}}function bC(e){var n,t=!1;e.on("update:preference",(function(e){"sound"===(null===e||void 0===e?void 0:e.name)&&gC(e.value)})),e.on("preferences",(function(e){"boolean"===typeof(null===e||void 0===e?void 0:e.sound)&&gC(e.sound)})),e.on("replay:start",(function(){t=!0})),e.on("replay:end",(function(){t=!1,n=void 0}));var r=function(e){var r,o=(null===e||void 0===e?void 0:e.log)||[],i=o.map((function(e){return JSON.stringify(e)})),a=n&&n.length<i.length&&n.every((function(e,n){return e===i[n]})),c=(null===(r=n)||void 0===r?void 0:r.length)||0;if(n=i,a&&!t){var u=o.slice(c).map((function(e){return wC(e)})).filter(Boolean),s=u[u.length-1];s&&yC(s)}};e.on("state",r),e.on("gamelog",(function(e){var n=null===e||void 0===e?void 0:e.data;null!==n&&void 0!==n&&n.state&&r(n.state)}))}function wC(e){var n;return{Build:"build",BuyResource:"fuel",Bid:"bid",ChoosePowerPlant:"plant",UsePowerPlant:"power"}[null===(n=e.move)||void 0===n?void 0:n.name]}function kC(e){var n,t=document.querySelector(e);if(!t)throw new Error("Viewer mount point not found: ".concat(e));null===(n=vC)||void 0===n||n();var r=document.createElement("div");t.append(r);var o={state:null,emitter:new Lb["EventEmitter"],preferences:Rb.a.observable({sound:!0,disableHelp:!1,adjustPlayerOrder:!1,undoWholeTurn:!0,fitToScreen:!0,stackOnPortrait:!0,portraitResourceTrack:!1}),avatars:[]},i=new Rb.a({render:function(e){return e(XI,{props:o},[])}}).$mount(r),a=!1,c=zb({onState:function(e){return g(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:return o.state=e,i.$forceUpdate(),n.next=4,i.$nextTick();case 4:case"end":return n.stop()}}),n)})))()},onPlayer:function(e){o.player=e.index,i.$forceUpdate()},onPreferences:function(e){Object.assign(o.preferences,e),i.$forceUpdate()},onAvatars:function(e){o.avatars=e,i.$forceUpdate()},onUpdate:function(){a||c.fetchState()},onLog:function(e){return g(regeneratorRuntime.mark((function n(){var t;return regeneratorRuntime.wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(!a){n.next=2;break}return n.abrupt("return");case 2:if(t=e.data,!tS(null===t||void 0===t?void 0:t.state)){n.next=10;break}return o.state=t.state,i.$forceUpdate(),n.next=8,i.$nextTick();case 8:n.next=11;break;case 10:c.fetchState();case 11:case"end":return n.stop()}}),n)})))()},onReplayStart:function(){a=!0,o.emitter.emit("replayStart")},onReplayTo:function(e){o.emitter.emit("replayTo",e)},onReplayEnd:function(){o.emitter.emit("replayEnd"),a=!1,c.fetchState()}}),u=c.emitter;o.emitter.on("move",(function(e){return c.move(e)})),o.emitter.on("fetchState",(function(){return c.fetchState()})),o.emitter.on("addLog",(function(e){return c.addLog(e)})),o.emitter.on("replaceLog",(function(e){return c.replaceLog(e)})),o.emitter.on("replay:info",(function(e){return c.setReplayInfo(e)})),o.emitter.on("update:preference",(function(e){var n=e.name,t=e.value;return c.updatePreference(n,t)})),bC(u);var s=fC(u,i.$el);return i.$once("hook:beforeDestroy",(function(){s(),c.destroy(),o.emitter.removeAllListeners()})),vC=function(){i.$destroy(),t.replaceChildren()},u}var xC=kC;"undefined"!==typeof window&&(window.powergrid={launch:xC});var _C=xC;n["default"]=_C},c678:function(e,n){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},c698:function(e,n,t){var r=t("57ac"),o=t("1947"),i=t("fd86"),a=i("species");e.exports=function(e,n){var t,i=r(e).constructor;return void 0===i||void 0==(t=r(i)[a])?n:o(t)}},c6a8:function(e,n,t){"use strict";var r=t("7f82"),o=t("70f8"),i=t("c678"),a=t("43b7"),c=t("1947"),u=t("57ac"),s=t("8911"),l=t("0540"),d=t("9807"),f=t("ff46"),p=t("ac27"),v=t("fd86"),h=t("c698"),m=t("7743"),g=t("2673"),y=t("bd5a"),b=v("matchAll"),w="RegExp String",k=w+" Iterator",x=g.set,_=g.getterFor(k),S=RegExp.prototype,M=S.exec,P="".matchAll,I=!!P&&!p((function(){"a".matchAll(/./)})),C=function(e,n){var t,r=e.exec;if("function"==typeof r){if(t=r.call(e,n),"object"!=typeof t)throw TypeError("Incorrect exec result");return t}return M.call(e,n)},O=o((function(e,n,t,r){x(this,{type:k,regexp:e,string:n,global:t,unicode:r,done:!1})}),w,(function(){var e=_(this);if(e.done)return{value:void 0,done:!0};var n=e.regexp,t=e.string,r=C(n,t);return null===r?{value:void 0,done:e.done=!0}:e.global?(""==String(r[0])&&(n.lastIndex=m(t,a(n.lastIndex),e.unicode)),{value:r,done:!1}):(e.done=!0,{value:r,done:!1})})),A=function(e){var n,t,r,o,i,c,s=u(this),l=String(e);return n=h(s,RegExp),t=s.flags,void 0===t&&s instanceof RegExp&&!("flags"in S)&&(t=d.call(s)),r=void 0===t?"":String(t),o=new n(n===RegExp?s.source:s,r),i=!!~r.indexOf("g"),c=!!~r.indexOf("u"),o.lastIndex=a(s.lastIndex),new O(o,l,i,c)};r({target:"String",proto:!0,forced:I},{matchAll:function(e){var n,t,r,o,a=i(this);if(null!=e){if(l(e)&&(n=String(i("flags"in S?e.flags:d.call(e))),!~n.indexOf("g")))throw TypeError("`.matchAll` does not allow non-global regexes");if(I)return P.apply(a,arguments);if(r=e[b],void 0===r&&y&&"RegExp"==s(e)&&(r=A),null!=r)return c(r).call(e,a)}else if(I)return P.apply(a,arguments);return t=String(a),o=new RegExp(e,"g"),y?A.call(o,t):o[b](t)}}),y||b in S||f(S,b,A)},c88a:function(e,n,t){"use strict";var r=t("ce17"),o=t("ac27"),i=t("ba28"),a=t("3df7"),c=t("0ff2"),u=t("f246"),s=t("2153"),l=Object.assign,d=Object.defineProperty;e.exports=!l||o((function(){if(r&&1!==l({b:1},l(d({},"a",{enumerable:!0,get:function(){d(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},n={},t=Symbol(),o="abcdefghijklmnopqrst";return e[t]=7,o.split("").forEach((function(e){n[e]=e})),7!=l({},e)[t]||i(l({},n)).join("")!=o}))?function(e,n){var t=u(e),o=arguments.length,l=1,d=a.f,f=c.f;while(o>l){var p,v=s(arguments[l++]),h=d?i(v).concat(d(v)):i(v),m=h.length,g=0;while(m>g)p=h[g++],r&&!f.call(v,p)||(t[p]=v[p])}return t}:l},c944:function(e,n,t){var r=t("fd86"),o=r("toStringTag"),i={};i[o]="z",e.exports="[object z]"===String(i)},c981:function(e,n,t){var r=t("c944"),o=t("fd84"),i=t("5116");r||o(Object.prototype,"toString",i,{unsafe:!0})},ca24:function(e,n,t){var r=t("1061"),o=t("8dac"),i=t("129e"),a=t("41d6").f,c=t("ddc5"),u=t("9200"),s=c("meta"),l=0,d=Object.isExtensible||function(){return!0},f=function(e){a(e,s,{value:{objectID:"O"+ ++l,weakData:{}}})},p=function(e,n){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!i(e,s)){if(!d(e))return"F";if(!n)return"E";f(e)}return e[s].objectID},v=function(e,n){if(!i(e,s)){if(!d(e))return!0;if(!n)return!1;f(e)}return e[s].weakData},h=function(e){return u&&m.REQUIRED&&d(e)&&!i(e,s)&&f(e),e},m=e.exports={REQUIRED:!1,fastKey:p,getWeakData:v,onFreeze:h};r[s]=!0},ca80:function(e,n,t){"use strict";var r=t("9c0c"),o=t("d684"),i=t("4037"),a=t("2673"),c=t("4116"),u="Array Iterator",s=a.set,l=a.getterFor(u);e.exports=c(Array,"Array",(function(e,n){s(this,{type:u,target:r(e),index:0,kind:n})}),(function(){var e=l(this),n=e.target,t=e.kind,r=e.index++;return!n||r>=n.length?(e.target=void 0,{value:void 0,done:!0}):"keys"==t?{value:r,done:!1}:"values"==t?{value:n[r],done:!1}:{value:[r,n[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},cad9:function(e,n,t){(function(e){function t(e,n){for(var t=0,r=e.length-1;r>=0;r--){var o=e[r];"."===o?e.splice(r,1):".."===o?(e.splice(r,1),t++):t&&(e.splice(r,1),t--)}if(n)for(;t--;t)e.unshift("..");return e}function r(e){"string"!==typeof e&&(e+="");var n,t=0,r=-1,o=!0;for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!o){t=n+1;break}}else-1===r&&(o=!1,r=n+1);return-1===r?"":e.slice(t,r)}function o(e,n){if(e.filter)return e.filter(n);for(var t=[],r=0;r<e.length;r++)n(e[r],r,e)&&t.push(e[r]);return t}n.resolve=function(){for(var n="",r=!1,i=arguments.length-1;i>=-1&&!r;i--){var a=i>=0?arguments[i]:e.cwd();if("string"!==typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(n=a+"/"+n,r="/"===a.charAt(0))}return n=t(o(n.split("/"),(function(e){return!!e})),!r).join("/"),(r?"/":"")+n||"."},n.normalize=function(e){var r=n.isAbsolute(e),a="/"===i(e,-1);return e=t(o(e.split("/"),(function(e){return!!e})),!r).join("/"),e||r||(e="."),e&&a&&(e+="/"),(r?"/":"")+e},n.isAbsolute=function(e){return"/"===e.charAt(0)},n.join=function(){var e=Array.prototype.slice.call(arguments,0);return n.normalize(o(e,(function(e,n){if("string"!==typeof e)throw new TypeError("Arguments to path.join must be strings");return e})).join("/"))},n.relative=function(e,t){function r(e){for(var n=0;n<e.length;n++)if(""!==e[n])break;for(var t=e.length-1;t>=0;t--)if(""!==e[t])break;return n>t?[]:e.slice(n,t-n+1)}e=n.resolve(e).substr(1),t=n.resolve(t).substr(1);for(var o=r(e.split("/")),i=r(t.split("/")),a=Math.min(o.length,i.length),c=a,u=0;u<a;u++)if(o[u]!==i[u]){c=u;break}var s=[];for(u=c;u<o.length;u++)s.push("..");return s=s.concat(i.slice(c)),s.join("/")},n.sep="/",n.delimiter=":",n.dirname=function(e){if("string"!==typeof e&&(e+=""),0===e.length)return".";for(var n=e.charCodeAt(0),t=47===n,r=-1,o=!0,i=e.length-1;i>=1;--i)if(n=e.charCodeAt(i),47===n){if(!o){r=i;break}}else o=!1;return-1===r?t?"/":".":t&&1===r?"/":e.slice(0,r)},n.basename=function(e,n){var t=r(e);return n&&t.substr(-1*n.length)===n&&(t=t.substr(0,t.length-n.length)),t},n.extname=function(e){"string"!==typeof e&&(e+="");for(var n=-1,t=0,r=-1,o=!0,i=0,a=e.length-1;a>=0;--a){var c=e.charCodeAt(a);if(47!==c)-1===r&&(o=!1,r=a+1),46===c?-1===n?n=a:1!==i&&(i=1):-1!==n&&(i=-1);else if(!o){t=a+1;break}}return-1===n||-1===r||0===i||1===i&&n===r-1&&n===t+1?"":e.slice(n,r)};var i="b"==="ab".substr(-1)?function(e,n,t){return e.substr(n,t)}:function(e,n,t){return n<0&&(n=e.length+n),e.substr(n,t)}}).call(this,t("0418"))},cba7:function(e,n,t){"use strict";var r=t("a9eb"),o=t("41d6"),i=t("9f69");e.exports=function(e,n,t){var a=r(n);a in e?o.f(e,a,i(0,t)):e[a]=t}},cbdb:function(e,n,t){"use strict";t("4f51");var r=t("fd84"),o=t("8bc5"),i=t("ac27"),a=t("fd86"),c=t("ff46"),u=a("species"),s=RegExp.prototype,l=!i((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")})),d=function(){return"$0"==="a".replace(/./,"$0")}(),f=a("replace"),p=function(){return!!/./[f]&&""===/./[f]("a","$0")}(),v=!i((function(){var e=/(?:)/,n=e.exec;e.exec=function(){return n.apply(this,arguments)};var t="ab".split(e);return 2!==t.length||"a"!==t[0]||"b"!==t[1]}));e.exports=function(e,n,t,f){var h=a(e),m=!i((function(){var n={};return n[h]=function(){return 7},7!=""[e](n)})),g=m&&!i((function(){var n=!1,t=/a/;return"split"===e&&(t={},t.constructor={},t.constructor[u]=function(){return t},t.flags="",t[h]=/./[h]),t.exec=function(){return n=!0,null},t[h](""),!n}));if(!m||!g||"replace"===e&&(!l||!d||p)||"split"===e&&!v){var y=/./[h],b=t(h,""[e],(function(e,n,t,r,i){var a=n.exec;return a===o||a===s.exec?m&&!i?{done:!0,value:y.call(n,t,r)}:{done:!0,value:e.call(t,n,r)}:{done:!1}}),{REPLACE_KEEPS_$0:d,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:p}),w=b[0],k=b[1];r(String.prototype,e,w),r(s,h,2==n?function(e,n){return k.call(e,this,n)}:function(e){return k.call(e,this)})}f&&c(s[h],"sham",!0)}},cbe1:function(e,n,t){var r=t("8dac"),o=t("9ebe"),i=t("fd86"),a=i("species");e.exports=function(e,n){var t;return o(e)&&(t=e.constructor,"function"!=typeof t||t!==Array&&!o(t.prototype)?r(t)&&(t=t[a],null===t&&(t=void 0)):t=void 0),new(void 0===t?Array:t)(0===n?0:n)}},cd16:function(e,n,t){var r=t("9c0c"),o=t("43b7"),i=t("12aa"),a=function(e){return function(n,t,a){var c,u=r(n),s=o(u.length),l=i(a,s);if(e&&t!=t){while(s>l)if(c=u[l++],c!=c)return!0}else for(;s>l;l++)if((e||l in u)&&u[l]===t)return e||l||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},ce15:function(e,n,t){var r=t("7f82"),o=t("129a");r({target:"Number",stat:!0},{isFinite:o})},ce17:function(e,n,t){var r=t("ac27");e.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},ced6:function(e,n){var t=Math.abs,r=Math.pow,o=Math.floor,i=Math.log,a=Math.LN2,c=function(e,n,c){var u,s,l,d=new Array(c),f=8*c-n-1,p=(1<<f)-1,v=p>>1,h=23===n?r(2,-24)-r(2,-77):0,m=e<0||0===e&&1/e<0?1:0,g=0;for(e=t(e),e!=e||e===1/0?(s=e!=e?1:0,u=p):(u=o(i(e)/a),e*(l=r(2,-u))<1&&(u--,l*=2),e+=u+v>=1?h/l:h*r(2,1-v),e*l>=2&&(u++,l/=2),u+v>=p?(s=0,u=p):u+v>=1?(s=(e*l-1)*r(2,n),u+=v):(s=e*r(2,v-1)*r(2,n),u=0));n>=8;d[g++]=255&s,s/=256,n-=8);for(u=u<<n|s,f+=n;f>0;d[g++]=255&u,u/=256,f-=8);return d[--g]|=128*m,d},u=function(e,n){var t,o=e.length,i=8*o-n-1,a=(1<<i)-1,c=a>>1,u=i-7,s=o-1,l=e[s--],d=127&l;for(l>>=7;u>0;d=256*d+e[s],s--,u-=8);for(t=d&(1<<-u)-1,d>>=-u,u+=n;u>0;t=256*t+e[s],s--,u-=8);if(0===d)d=1-c;else{if(d===a)return t?NaN:l?-1/0:1/0;t+=r(2,n),d-=c}return(l?-1:1)*t*r(2,d-n)};e.exports={pack:c,unpack:u}},d0b1:function(e,n,t){"use strict";var r=t("ac27");e.exports=function(e,n){var t=[][e];return!!t&&r((function(){t.call(null,n||function(){throw 1},1)}))}},d22c:function(e,n,t){"use strict";var r=t("f246"),o=t("12aa"),i=t("43b7");e.exports=function(e){var n=r(this),t=i(n.length),a=arguments.length,c=o(a>1?arguments[1]:void 0,t),u=a>2?arguments[2]:void 0,s=void 0===u?t:o(u,t);while(s>c)n[c++]=e;return n}},d2ad:function(e,n,t){"use strict";var r=t("7f82"),o=t("68de"),i=t("ce17"),a=t("8307"),c=t("2411"),u=t("e7f5"),s=t("191b"),l=t("9f69"),d=t("ff46"),f=t("43b7"),p=t("ddd3"),v=t("f615"),h=t("a9eb"),m=t("129e"),g=t("38b4"),y=t("8dac"),b=t("e3d0"),w=t("1c11"),k=t("97cc").f,x=t("f139"),_=t("b222").forEach,S=t("a1a4"),M=t("41d6"),P=t("22b8"),I=t("2673"),C=t("6034"),O=I.get,A=I.set,N=M.f,z=P.f,j=Math.round,L=o.RangeError,D=u.ArrayBuffer,R=u.DataView,T=c.NATIVE_ARRAY_BUFFER_VIEWS,B=c.TYPED_ARRAY_TAG,E=c.TypedArray,U=c.TypedArrayPrototype,G=c.aTypedArrayConstructor,Z=c.isTypedArray,F="BYTES_PER_ELEMENT",K="Wrong length",V=function(e,n){var t=0,r=n.length,o=new(G(e))(r);while(r>t)o[t]=n[t++];return o},$=function(e,n){N(e,n,{get:function(){return O(this)[n]}})},W=function(e){var n;return e instanceof D||"ArrayBuffer"==(n=g(e))||"SharedArrayBuffer"==n},Y=function(e,n){return Z(e)&&"symbol"!=typeof n&&n in e&&String(+n)==String(n)},J=function(e,n){return Y(e,n=h(n,!0))?l(2,e[n]):z(e,n)},H=function(e,n,t){return!(Y(e,n=h(n,!0))&&y(t)&&m(t,"value"))||m(t,"get")||m(t,"set")||t.configurable||m(t,"writable")&&!t.writable||m(t,"enumerable")&&!t.enumerable?N(e,n,t):(e[n]=t.value,e)};i?(T||(P.f=J,M.f=H,$(U,"buffer"),$(U,"byteOffset"),$(U,"byteLength"),$(U,"length")),r({target:"Object",stat:!0,forced:!T},{getOwnPropertyDescriptor:J,defineProperty:H}),e.exports=function(e,n,t){var i=e.match(/\d+$/)[0]/8,c=e+(t?"Clamped":"")+"Array",u="get"+e,l="set"+e,h=o[c],m=h,g=m&&m.prototype,M={},P=function(e,n){var t=O(e);return t.view[u](n*i+t.byteOffset,!0)},I=function(e,n,r){var o=O(e);t&&(r=(r=j(r))<0?0:r>255?255:255&r),o.view[l](n*i+o.byteOffset,r,!0)},z=function(e,n){N(e,n,{get:function(){return P(this,n)},set:function(e){return I(this,n,e)},enumerable:!0})};T?a&&(m=n((function(e,n,t,r){return s(e,m,c),C(function(){return y(n)?W(n)?void 0!==r?new h(n,v(t,i),r):void 0!==t?new h(n,v(t,i)):new h(n):Z(n)?V(m,n):x.call(m,n):new h(p(n))}(),e,m)})),w&&w(m,E),_(k(h),(function(e){e in m||d(m,e,h[e])})),m.prototype=g):(m=n((function(e,n,t,r){s(e,m,c);var o,a,u,l=0,d=0;if(y(n)){if(!W(n))return Z(n)?V(m,n):x.call(m,n);o=n,d=v(t,i);var h=n.byteLength;if(void 0===r){if(h%i)throw L(K);if(a=h-d,a<0)throw L(K)}else if(a=f(r)*i,a+d>h)throw L(K);u=a/i}else u=p(n),a=u*i,o=new D(a);A(e,{buffer:o,byteOffset:d,byteLength:a,length:u,view:new R(o)});while(l<u)z(e,l++)})),w&&w(m,E),g=m.prototype=b(U)),g.constructor!==m&&d(g,"constructor",m),B&&d(g,B,c),M[c]=m,r({global:!0,forced:m!=h,sham:!T},M),F in m||d(m,F,i),F in g||d(g,F,i),S(c)}):e.exports=function(){}},d351:function(e,n,t){var r=t("2411").aTypedArrayConstructor,o=t("c698");e.exports=function(e,n){var t=o(e,e.constructor),i=0,a=n.length,c=new(r(t))(a);while(a>i)c[i]=n[i++];return c}},d4b6:function(e,n,t){var r=t("7f82"),o=t("7160").entries;r({target:"Object",stat:!0},{entries:function(e){return o(e)}})},d551:function(e,n,t){var r=t("7f82");r({target:"Reflect",stat:!0},{has:function(e,n){return n in e}})},d56e:function(e,n,t){var r=t("1947"),o=t("f246"),i=t("2153"),a=t("43b7"),c=function(e){return function(n,t,c,u){r(t);var s=o(n),l=i(s),d=a(s.length),f=e?d-1:0,p=e?-1:1;if(c<2)while(1){if(f in l){u=l[f],f+=p;break}if(f+=p,e?f<0:d<=f)throw TypeError("Reduce of empty array with no initial value")}for(;e?f>=0:d>f;f+=p)f in l&&(u=t(u,l[f],f,s));return u}};e.exports={left:c(!1),right:c(!0)}},d5b1:function(e,n,t){var r=t("ac27");e.exports=!r((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype}))},d684:function(e,n,t){var r=t("fd86"),o=t("e3d0"),i=t("41d6"),a=r("unscopables"),c=Array.prototype;void 0==c[a]&&i.f(c,a,{configurable:!0,value:o(null)}),e.exports=function(e){c[a][e]=!0}},d82d:function(e,n,t){"use strict";var r=t("2411"),o=t("d56e").right,i=r.aTypedArray,a=r.exportTypedArrayMethod;a("reduceRight",(function(e){return o(i(this),e,arguments.length,arguments.length>1?arguments[1]:void 0)}))},d863:function(e,n,t){"use strict";var r=t("41d6").f,o=t("e3d0"),i=t("392e"),a=t("6e4e"),c=t("191b"),u=t("5c27"),s=t("4116"),l=t("a1a4"),d=t("ce17"),f=t("ca24").fastKey,p=t("2673"),v=p.set,h=p.getterFor;e.exports={getConstructor:function(e,n,t,s){var l=e((function(e,r){c(e,l,n),v(e,{type:n,index:o(null),first:void 0,last:void 0,size:0}),d||(e.size=0),void 0!=r&&u(r,e[s],{that:e,AS_ENTRIES:t})})),p=h(n),m=function(e,n,t){var r,o,i=p(e),a=g(e,n);return a?a.value=t:(i.last=a={index:o=f(n,!0),key:n,value:t,previous:r=i.last,next:void 0,removed:!1},i.first||(i.first=a),r&&(r.next=a),d?i.size++:e.size++,"F"!==o&&(i.index[o]=a)),e},g=function(e,n){var t,r=p(e),o=f(n);if("F"!==o)return r.index[o];for(t=r.first;t;t=t.next)if(t.key==n)return t};return i(l.prototype,{clear:function(){var e=this,n=p(e),t=n.index,r=n.first;while(r)r.removed=!0,r.previous&&(r.previous=r.previous.next=void 0),delete t[r.index],r=r.next;n.first=n.last=void 0,d?n.size=0:e.size=0},delete:function(e){var n=this,t=p(n),r=g(n,e);if(r){var o=r.next,i=r.previous;delete t.index[r.index],r.removed=!0,i&&(i.next=o),o&&(o.previous=i),t.first==r&&(t.first=o),t.last==r&&(t.last=i),d?t.size--:n.size--}return!!r},forEach:function(e){var n,t=p(this),r=a(e,arguments.length>1?arguments[1]:void 0,3);while(n=n?n.next:t.first){r(n.value,n.key,this);while(n&&n.removed)n=n.previous}},has:function(e){return!!g(this,e)}}),i(l.prototype,t?{get:function(e){var n=g(this,e);return n&&n.value},set:function(e,n){return m(this,0===e?0:e,n)}}:{add:function(e){return m(this,e=0===e?0:e,e)}}),d&&r(l.prototype,"size",{get:function(){return p(this).size}}),l},setStrong:function(e,n,t){var r=n+" Iterator",o=h(n),i=h(r);s(e,n,(function(e,n){v(this,{type:r,target:e,state:o(e),kind:n,last:void 0})}),(function(){var e=i(this),n=e.kind,t=e.last;while(t&&t.removed)t=t.previous;return e.target&&(e.last=t=t?t.next:e.state.first)?"keys"==n?{value:t.key,done:!1}:"values"==n?{value:t.value,done:!1}:{value:[t.key,t.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),t?"entries":"values",!t,!0),l(n)}}},d8fc:function(e,n){var t;t=function(){return this}();try{t=t||new Function("return this")()}catch(r){"object"===typeof window&&(t=window)}e.exports=t},da71:function(e,n,t){"use strict";var r=t("7f82"),o=t("2153"),i=t("9c0c"),a=t("d0b1"),c=[].join,u=o!=Object,s=a("join",",");r({target:"Array",proto:!0,forced:u||!s},{join:function(e){return c.call(i(this),void 0===e?",":e)}})},dbf5:function(e,n,t){var r=t("38b4"),o=t("4037"),i=t("fd86"),a=i("iterator");e.exports=function(e){if(void 0!=e)return e[a]||e["@@iterator"]||o[r(e)]}},dd2b:function(e,n,t){(function(e){var r;(function(e,o,i){function a(e){var n=this,t=s();n.next=function(){var e=2091639*n.s0+2.3283064365386963e-10*n.c;return n.s0=n.s1,n.s1=n.s2,n.s2=e-(n.c=0|e)},n.c=1,n.s0=t(" "),n.s1=t(" "),n.s2=t(" "),n.s0-=t(e),n.s0<0&&(n.s0+=1),n.s1-=t(e),n.s1<0&&(n.s1+=1),n.s2-=t(e),n.s2<0&&(n.s2+=1),t=null}function c(e,n){return n.c=e.c,n.s0=e.s0,n.s1=e.s1,n.s2=e.s2,n}function u(e,n){var t=new a(e),r=n&&n.state,o=t.next;return o.int32=function(){return 4294967296*t.next()|0},o.double=function(){return o()+11102230246251565e-32*(2097152*o()|0)},o.quick=o,r&&("object"==typeof r&&c(r,t),o.state=function(){return c(t,{})}),o}function s(){var e=4022871197,n=function(n){n=String(n);for(var t=0;t<n.length;t++){e+=n.charCodeAt(t);var r=.02519603282416938*e;e=r>>>0,r-=e,r*=e,e=r>>>0,r-=e,e+=4294967296*r}return 2.3283064365386963e-10*(e>>>0)};return n}o&&o.exports?o.exports=u:t("f9ad")&&t("ba96")?(r=function(){return u}.call(n,t,n,o),void 0===r||(o.exports=r)):this.alea=u})(0,e,t("f9ad"))}).call(this,t("e55b")(e))},dd7c:function(e,n,t){var r=t("28b5"),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(e){return o.call(e)}),e.exports=r.inspectSource},ddc5:function(e,n){var t=0,r=Math.random();e.exports=function(e){return"Symbol("+String(void 0===e?"":e)+")_"+(++t+r).toString(36)}},ddd3:function(e,n,t){var r=t("b42f"),o=t("43b7");e.exports=function(e){if(void 0===e)return 0;var n=r(e),t=o(n);if(n!==t)throw RangeError("Wrong length or index");return t}},df11:function(e,n,t){var r=t("68de"),o=t("60cb"),i=t("9daf"),a=t("ff46");for(var c in o){var u=r[c],s=u&&u.prototype;if(s&&s.forEach!==i)try{a(s,"forEach",i)}catch(l){s.forEach=i}}},dfa6:function(e,n,t){var r=t("7f82");r({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},dfc3:function(e,n,t){var r=t("7f82");r({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)})},dff1:function(e,n,t){"use strict";var r=t("2411"),o=t("b222").forEach,i=r.aTypedArray,a=r.exportTypedArrayMethod;a("forEach",(function(e){o(i(this),e,arguments.length>1?arguments[1]:void 0)}))},e08f:function(e,n,t){"use strict";var r=t("ce17"),o=t("68de"),i=t("0015"),a=t("fd84"),c=t("129e"),u=t("8911"),s=t("6034"),l=t("a9eb"),d=t("ac27"),f=t("e3d0"),p=t("97cc").f,v=t("22b8").f,h=t("41d6").f,m=t("54e0").trim,g="Number",y=o[g],b=y.prototype,w=u(f(b))==g,k=function(e){var n,t,r,o,i,a,c,u,s=l(e,!1);if("string"==typeof s&&s.length>2)if(s=m(s),n=s.charCodeAt(0),43===n||45===n){if(t=s.charCodeAt(2),88===t||120===t)return NaN}else if(48===n){switch(s.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+s}for(i=s.slice(2),a=i.length,c=0;c<a;c++)if(u=i.charCodeAt(c),u<48||u>o)return NaN;return parseInt(i,r)}return+s};if(i(g,!y(" 0o1")||!y("0b1")||y("+0x1"))){for(var x,_=function(e){var n=arguments.length<1?0:e,t=this;return t instanceof _&&(w?d((function(){b.valueOf.call(t)})):u(t)!=g)?s(new y(k(n)),t,_):k(n)},S=r?p(y):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,fromString,range".split(","),M=0;S.length>M;M++)c(y,x=S[M])&&!c(_,x)&&h(_,x,v(y,x));_.prototype=b,b.constructor=_,a(o,g,_)}},e2f4:function(e,n,t){"use strict";var r=t("7f82"),o=t("2398").start,i=t("6e53");r({target:"String",proto:!0,forced:i},{padStart:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}})},e3d0:function(e,n,t){var r,o=t("57ac"),i=t("727c"),a=t("338e"),c=t("1061"),u=t("0716"),s=t("77cc"),l=t("71d2"),d=">",f="<",p="prototype",v="script",h=l("IE_PROTO"),m=function(){},g=function(e){return f+v+d+e+f+"/"+v+d},y=function(e){e.write(g("")),e.close();var n=e.parentWindow.Object;return e=null,n},b=function(){var e,n=s("iframe"),t="java"+v+":";return n.style.display="none",u.appendChild(n),n.src=String(t),e=n.contentWindow.document,e.open(),e.write(g("document.F=Object")),e.close(),e.F},w=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(n){}w=r?y(r):b();var e=a.length;while(e--)delete w[p][a[e]];return w()};c[h]=!0,e.exports=Object.create||function(e,n){var t;return null!==e?(m[p]=o(e),t=new m,m[p]=null,t[h]=e):t=w(),void 0===n?t:i(t,n)}},e4a4:function(e,n,t){var r=t("57ac"),o=t("8dac"),i=t("bc3b");e.exports=function(e,n){if(r(e),o(n)&&n.constructor===e)return n;var t=i.f(e),a=t.resolve;return a(n),t.promise}},e55b:function(e,n){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},e67a:function(e,n,t){"use strict";var r=t("8dac"),o=t("41d6"),i=t("9220"),a=t("fd86"),c=a("hasInstance"),u=Function.prototype;c in u||o.f(u,c,{value:function(e){if("function"!=typeof this||!r(e))return!1;if(!r(this.prototype))return e instanceof this;while(e=i(e))if(this.prototype===e)return!0;return!1}})},e69b:function(e,n,t){var r=t("8911");e.exports=function(e){if("number"!=typeof e&&"Number"!=r(e))throw TypeError("Incorrect invocation");return+e}},e710:function(e,n,t){},e727:function(e,n,t){var r=t("7f82"),o=t("9200"),i=t("ac27"),a=t("8dac"),c=t("ca24").onFreeze,u=Object.freeze,s=i((function(){u(1)}));r({target:"Object",stat:!0,forced:s,sham:!o},{freeze:function(e){return u&&a(e)?u(c(e)):e}})},e7f5:function(e,n,t){"use strict";var r=t("68de"),o=t("ce17"),i=t("f896"),a=t("ff46"),c=t("392e"),u=t("ac27"),s=t("191b"),l=t("b42f"),d=t("43b7"),f=t("ddd3"),p=t("ced6"),v=t("9220"),h=t("1c11"),m=t("97cc").f,g=t("41d6").f,y=t("d22c"),b=t("660e"),w=t("2673"),k=w.get,x=w.set,_="ArrayBuffer",S="DataView",M="prototype",P="Wrong length",I="Wrong index",C=r[_],O=C,A=r[S],N=A&&A[M],z=Object.prototype,j=r.RangeError,L=p.pack,D=p.unpack,R=function(e){return[255&e]},T=function(e){return[255&e,e>>8&255]},B=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},E=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},U=function(e){return L(e,23,4)},G=function(e){return L(e,52,8)},Z=function(e,n){g(e[M],n,{get:function(){return k(this)[n]}})},F=function(e,n,t,r){var o=f(t),i=k(e);if(o+n>i.byteLength)throw j(I);var a=k(i.buffer).bytes,c=o+i.byteOffset,u=a.slice(c,c+n);return r?u:u.reverse()},K=function(e,n,t,r,o,i){var a=f(t),c=k(e);if(a+n>c.byteLength)throw j(I);for(var u=k(c.buffer).bytes,s=a+c.byteOffset,l=r(+o),d=0;d<n;d++)u[s+d]=l[i?d:n-d-1]};if(i){if(!u((function(){C(1)}))||!u((function(){new C(-1)}))||u((function(){return new C,new C(1.5),new C(NaN),C.name!=_}))){O=function(e){return s(this,O),new C(f(e))};for(var V,$=O[M]=C[M],W=m(C),Y=0;W.length>Y;)(V=W[Y++])in O||a(O,V,C[V]);$.constructor=O}h&&v(N)!==z&&h(N,z);var J=new A(new O(2)),H=N.setInt8;J.setInt8(0,2147483648),J.setInt8(1,2147483649),!J.getInt8(0)&&J.getInt8(1)||c(N,{setInt8:function(e,n){H.call(this,e,n<<24>>24)},setUint8:function(e,n){H.call(this,e,n<<24>>24)}},{unsafe:!0})}else O=function(e){s(this,O,_);var n=f(e);x(this,{bytes:y.call(new Array(n),0),byteLength:n}),o||(this.byteLength=n)},A=function(e,n,t){s(this,A,S),s(e,O,S);var r=k(e).byteLength,i=l(n);if(i<0||i>r)throw j("Wrong offset");if(t=void 0===t?r-i:d(t),i+t>r)throw j(P);x(this,{buffer:e,byteLength:t,byteOffset:i}),o||(this.buffer=e,this.byteLength=t,this.byteOffset=i)},o&&(Z(O,"byteLength"),Z(A,"buffer"),Z(A,"byteLength"),Z(A,"byteOffset")),c(A[M],{getInt8:function(e){return F(this,1,e)[0]<<24>>24},getUint8:function(e){return F(this,1,e)[0]},getInt16:function(e){var n=F(this,2,e,arguments.length>1?arguments[1]:void 0);return(n[1]<<8|n[0])<<16>>16},getUint16:function(e){var n=F(this,2,e,arguments.length>1?arguments[1]:void 0);return n[1]<<8|n[0]},getInt32:function(e){return E(F(this,4,e,arguments.length>1?arguments[1]:void 0))},getUint32:function(e){return E(F(this,4,e,arguments.length>1?arguments[1]:void 0))>>>0},getFloat32:function(e){return D(F(this,4,e,arguments.length>1?arguments[1]:void 0),23)},getFloat64:function(e){return D(F(this,8,e,arguments.length>1?arguments[1]:void 0),52)},setInt8:function(e,n){K(this,1,e,R,n)},setUint8:function(e,n){K(this,1,e,R,n)},setInt16:function(e,n){K(this,2,e,T,n,arguments.length>2?arguments[2]:void 0)},setUint16:function(e,n){K(this,2,e,T,n,arguments.length>2?arguments[2]:void 0)},setInt32:function(e,n){K(this,4,e,B,n,arguments.length>2?arguments[2]:void 0)},setUint32:function(e,n){K(this,4,e,B,n,arguments.length>2?arguments[2]:void 0)},setFloat32:function(e,n){K(this,4,e,U,n,arguments.length>2?arguments[2]:void 0)},setFloat64:function(e,n){K(this,8,e,G,n,arguments.length>2?arguments[2]:void 0)}});b(O,_),b(A,S),e.exports={ArrayBuffer:O,DataView:A}},e839:function(e,n,t){"use strict";var r=t("5229"),o=t("3e18");r("WeakSet",(function(e){return function(){return e(this,arguments.length?arguments[0]:void 0)}}),o)},e908:function(e,n,t){(function(e){var r=Object.getOwnPropertyDescriptors||function(e){for(var n=Object.keys(e),t={},r=0;r<n.length;r++)t[n[r]]=Object.getOwnPropertyDescriptor(e,n[r]);return t},o=/%[sdj%]/g;n.format=function(e){if(!x(e)){for(var n=[],t=0;t<arguments.length;t++)n.push(c(arguments[t]));return n.join(" ")}t=1;for(var r=arguments,i=r.length,a=String(e).replace(o,(function(e){if("%%"===e)return"%";if(t>=i)return e;switch(e){case"%s":return String(r[t++]);case"%d":return Number(r[t++]);case"%j":try{return JSON.stringify(r[t++])}catch(n){return"[Circular]"}default:return e}})),u=r[t];t<i;u=r[++t])b(u)||!P(u)?a+=" "+u:a+=" "+c(u);return a},n.deprecate=function(t,r){if("undefined"!==typeof e&&!0===e.noDeprecation)return t;if("undefined"===typeof e)return function(){return n.deprecate(t,r).apply(this,arguments)};var o=!1;function i(){if(!o){if(e.throwDeprecation)throw new Error(r);e.traceDeprecation?console.trace(r):console.error(r),o=!0}return t.apply(this,arguments)}return i};var i,a={};function c(e,t){var r={seen:[],stylize:s};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),y(t)?r.showHidden=t:t&&n._extend(r,t),S(r.showHidden)&&(r.showHidden=!1),S(r.depth)&&(r.depth=2),S(r.colors)&&(r.colors=!1),S(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=u),d(r,e,r.depth)}function u(e,n){var t=c.styles[n];return t?"["+c.colors[t][0]+"m"+e+"["+c.colors[t][1]+"m":e}function s(e,n){return e}function l(e){var n={};return e.forEach((function(e,t){n[e]=!0})),n}function d(e,t,r){if(e.customInspect&&t&&O(t.inspect)&&t.inspect!==n.inspect&&(!t.constructor||t.constructor.prototype!==t)){var o=t.inspect(r,e);return x(o)||(o=d(e,o,r)),o}var i=f(e,t);if(i)return i;var a=Object.keys(t),c=l(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(t)),C(t)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return p(t);if(0===a.length){if(O(t)){var u=t.name?": "+t.name:"";return e.stylize("[Function"+u+"]","special")}if(M(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(I(t))return e.stylize(Date.prototype.toString.call(t),"date");if(C(t))return p(t)}var s,y="",b=!1,w=["{","}"];if(g(t)&&(b=!0,w=["[","]"]),O(t)){var k=t.name?": "+t.name:"";y=" [Function"+k+"]"}return M(t)&&(y=" "+RegExp.prototype.toString.call(t)),I(t)&&(y=" "+Date.prototype.toUTCString.call(t)),C(t)&&(y=" "+p(t)),0!==a.length||b&&0!=t.length?r<0?M(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),s=b?v(e,t,r,c,a):a.map((function(n){return h(e,t,r,c,n,b)})),e.seen.pop(),m(s,y,w)):w[0]+y+w[1]}function f(e,n){if(S(n))return e.stylize("undefined","undefined");if(x(n)){var t="'"+JSON.stringify(n).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(t,"string")}return k(n)?e.stylize(""+n,"number"):y(n)?e.stylize(""+n,"boolean"):b(n)?e.stylize("null","null"):void 0}function p(e){return"["+Error.prototype.toString.call(e)+"]"}function v(e,n,t,r,o){for(var i=[],a=0,c=n.length;a<c;++a)D(n,String(a))?i.push(h(e,n,t,r,String(a),!0)):i.push("");return o.forEach((function(o){o.match(/^\d+$/)||i.push(h(e,n,t,r,o,!0))})),i}function h(e,n,t,r,o,i){var a,c,u;if(u=Object.getOwnPropertyDescriptor(n,o)||{value:n[o]},u.get?c=u.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):u.set&&(c=e.stylize("[Setter]","special")),D(r,o)||(a="["+o+"]"),c||(e.seen.indexOf(u.value)<0?(c=b(t)?d(e,u.value,null):d(e,u.value,t-1),c.indexOf("\n")>-1&&(c=i?c.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+c.split("\n").map((function(e){return" "+e})).join("\n"))):c=e.stylize("[Circular]","special")),S(a)){if(i&&o.match(/^\d+$/))return c;a=JSON.stringify(""+o),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+c}function m(e,n,t){var r=e.reduce((function(e,n){return n.indexOf("\n")>=0&&0,e+n.replace(/\u001b\[\d\d?m/g,"").length+1}),0);return r>60?t[0]+(""===n?"":n+"\n ")+" "+e.join(",\n ")+" "+t[1]:t[0]+n+" "+e.join(", ")+" "+t[1]}function g(e){return Array.isArray(e)}function y(e){return"boolean"===typeof e}function b(e){return null===e}function w(e){return null==e}function k(e){return"number"===typeof e}function x(e){return"string"===typeof e}function _(e){return"symbol"===typeof e}function S(e){return void 0===e}function M(e){return P(e)&&"[object RegExp]"===N(e)}function P(e){return"object"===typeof e&&null!==e}function I(e){return P(e)&&"[object Date]"===N(e)}function C(e){return P(e)&&("[object Error]"===N(e)||e instanceof Error)}function O(e){return"function"===typeof e}function A(e){return null===e||"boolean"===typeof e||"number"===typeof e||"string"===typeof e||"symbol"===typeof e||"undefined"===typeof e}function N(e){return Object.prototype.toString.call(e)}function z(e){return e<10?"0"+e.toString(10):e.toString(10)}n.debuglog=function(t){if(S(i)&&(i=Object({NODE_ENV:"production",BASE_URL:"/"}).NODE_DEBUG||""),t=t.toUpperCase(),!a[t])if(new RegExp("\\b"+t+"\\b","i").test(i)){var r=e.pid;a[t]=function(){var e=n.format.apply(n,arguments);console.error("%s %d: %s",t,r,e)}}else a[t]=function(){};return a[t]},n.inspect=c,c.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},c.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},n.isArray=g,n.isBoolean=y,n.isNull=b,n.isNullOrUndefined=w,n.isNumber=k,n.isString=x,n.isSymbol=_,n.isUndefined=S,n.isRegExp=M,n.isObject=P,n.isDate=I,n.isError=C,n.isFunction=O,n.isPrimitive=A,n.isBuffer=t("3e17");var j=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function L(){var e=new Date,n=[z(e.getHours()),z(e.getMinutes()),z(e.getSeconds())].join(":");return[e.getDate(),j[e.getMonth()],n].join(" ")}function D(e,n){return Object.prototype.hasOwnProperty.call(e,n)}n.log=function(){console.log("%s - %s",L(),n.format.apply(n,arguments))},n.inherits=t("9416"),n._extend=function(e,n){if(!n||!P(n))return e;var t=Object.keys(n),r=t.length;while(r--)e[t[r]]=n[t[r]];return e};var R="undefined"!==typeof Symbol?Symbol("util.promisify.custom"):void 0;function T(e,n){if(!e){var t=new Error("Promise was rejected with a falsy value");t.reason=e,e=t}return n(e)}function B(n){if("function"!==typeof n)throw new TypeError('The "original" argument must be of type Function');function t(){for(var t=[],r=0;r<arguments.length;r++)t.push(arguments[r]);var o=t.pop();if("function"!==typeof o)throw new TypeError("The last argument must be of type Function");var i=this,a=function(){return o.apply(i,arguments)};n.apply(this,t).then((function(n){e.nextTick(a,null,n)}),(function(n){e.nextTick(T,n,a)}))}return Object.setPrototypeOf(t,Object.getPrototypeOf(n)),Object.defineProperties(t,r(n)),t}n.promisify=function(e){if("function"!==typeof e)throw new TypeError('The "original" argument must be of type Function');if(R&&e[R]){var n=e[R];if("function"!==typeof n)throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(n,R,{value:n,enumerable:!1,writable:!1,configurable:!0}),n}function n(){for(var n,t,r=new Promise((function(e,r){n=e,t=r})),o=[],i=0;i<arguments.length;i++)o.push(arguments[i]);o.push((function(e,r){e?t(e):n(r)}));try{e.apply(this,o)}catch(a){t(a)}return r}return Object.setPrototypeOf(n,Object.getPrototypeOf(e)),R&&Object.defineProperty(n,R,{value:n,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(n,r(e))},n.promisify.custom=R,n.callbackify=B}).call(this,t("0418"))},eab8:function(e,n){e.exports=function(e){try{return{error:!1,value:e()}}catch(n){return{error:!0,value:n}}}},ec9f:function(e,n,t){"use strict";var r=t("7f82"),o=t("b222").findIndex,i=t("d684"),a="findIndex",c=!0;a in[]&&Array(1)[a]((function(){c=!1})),r({target:"Array",proto:!0,forced:c},{findIndex:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),i(a)},efd2:function(e,n,t){var r=t("57ac"),o=t("dbf5");e.exports=function(e){var n=o(e);if("function"!=typeof n)throw TypeError(String(e)+" is not iterable");return r(n.call(e))}},f124:function(e,n,t){(function(e){var r;(function(e,o,i){function a(e){var n=this,t="";n.next=function(){var e=n.x^n.x>>>2;return n.x=n.y,n.y=n.z,n.z=n.w,n.w=n.v,(n.d=n.d+362437|0)+(n.v=n.v^n.v<<4^e^e<<1)|0},n.x=0,n.y=0,n.z=0,n.w=0,n.v=0,e===(0|e)?n.x=e:t+=e;for(var r=0;r<t.length+64;r++)n.x^=0|t.charCodeAt(r),r==t.length&&(n.d=n.x<<10^n.x>>>4),n.next()}function c(e,n){return n.x=e.x,n.y=e.y,n.z=e.z,n.w=e.w,n.v=e.v,n.d=e.d,n}function u(e,n){var t=new a(e),r=n&&n.state,o=function(){return(t.next()>>>0)/4294967296};return o.double=function(){do{var e=t.next()>>>11,n=(t.next()>>>0)/4294967296,r=(e+n)/(1<<21)}while(0===r);return r},o.int32=t.next,o.quick=o,r&&("object"==typeof r&&c(r,t),o.state=function(){return c(t,{})}),o}o&&o.exports?o.exports=u:t("f9ad")&&t("ba96")?(r=function(){return u}.call(n,t,n,o),void 0===r||(o.exports=r)):this.xorwow=u})(0,e,t("f9ad"))}).call(this,t("e55b")(e))},f139:function(e,n,t){var r=t("f246"),o=t("43b7"),i=t("dbf5"),a=t("6e92"),c=t("6e4e"),u=t("2411").aTypedArrayConstructor;e.exports=function(e){var n,t,s,l,d,f,p=r(e),v=arguments.length,h=v>1?arguments[1]:void 0,m=void 0!==h,g=i(p);if(void 0!=g&&!a(g)){d=g.call(p),f=d.next,p=[];while(!(l=f.call(d)).done)p.push(l.value)}for(m&&v>2&&(h=c(h,arguments[2],2)),t=o(p.length),s=new(u(this))(t),n=0;t>n;n++)s[n]=m?h(p[n],n):p[n];return s}},f246:function(e,n,t){var r=t("c678");e.exports=function(e){return Object(r(e))}},f2b3:function(e,n,t){var r=t("fd70");e.exports=/(?:iphone|ipod|ipad).*applewebkit/i.test(r)},f320:function(e,n,t){var r=t("57ac"),o=t("5b4c");e.exports=function(e,n,t,i){try{return i?n(r(t)[0],t[1]):n(t)}catch(a){throw o(e),a}}},f615:function(e,n,t){var r=t("3189");e.exports=function(e,n){var t=r(e);if(t%n)throw RangeError("Wrong offset");return t}},f688:function(e,n,t){var r=t("7f82"),o=t("87ee"),i=t("220a"),a=!i((function(e){Array.from(e)}));r({target:"Array",stat:!0,forced:a},{from:o})},f896:function(e,n){e.exports="undefined"!==typeof ArrayBuffer&&"undefined"!==typeof DataView},f9ad:function(e,n){e.exports=function(){throw new Error("define cannot be used indirect")}},fbdc:function(e,n,t){var r=t("a768"),o=t("97cc"),i=t("3df7"),a=t("57ac");e.exports=r("Reflect","ownKeys")||function(e){var n=o.f(a(e)),t=i.f;return t?n.concat(t(e)):n}},fc75:function(e,n,t){},fd65:function(e,n){e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8cGF0aCBkPSJNMCAwIEwyMCAyMCBMMCA0MCBaIE0yMCAwIEw0MCAyMCBMMjAgNDAgWiIgLz4KPC9zdmc+Cg=="},fd70:function(e,n,t){var r=t("a768");e.exports=r("navigator","userAgent")||""},fd84:function(e,n,t){var r=t("68de"),o=t("ff46"),i=t("129e"),a=t("853a"),c=t("dd7c"),u=t("2673"),s=u.get,l=u.enforce,d=String(String).split("String");(e.exports=function(e,n,t,c){var u,s=!!c&&!!c.unsafe,f=!!c&&!!c.enumerable,p=!!c&&!!c.noTargetGet;"function"==typeof t&&("string"!=typeof n||i(t,"name")||o(t,"name",n),u=l(t),u.source||(u.source=d.join("string"==typeof n?n:""))),e!==r?(s?!p&&e[n]&&(f=!0):delete e[n],f?e[n]=t:o(e,n,t)):f?e[n]=t:a(n,t)})(Function.prototype,"toString",(function(){return"function"==typeof this&&s(this).source||c(this)}))},fd86:function(e,n,t){var r=t("68de"),o=t("448a"),i=t("129e"),a=t("ddc5"),c=t("5a40"),u=t("7a4c"),s=o("wks"),l=r.Symbol,d=u?l:l&&l.withoutSetter||a;e.exports=function(e){return i(s,e)&&(c||"string"==typeof s[e])||(c&&i(l,e)?s[e]=l[e]:s[e]=d("Symbol."+e)),s[e]}},ff3f:function(e,n,t){var r=t("fd86"),o=r("match");e.exports=function(e){var n=/./;try{"/./"[e](n)}catch(t){try{return n[o]=!1,"/./"[e](n)}catch(r){}}return!1}},ff41:function(e,n,t){var r=t("0540");e.exports=function(e){if(r(e))throw TypeError("The method doesn't accept regular expressions");return e}},ff46:function(e,n,t){var r=t("ce17"),o=t("41d6"),i=t("9f69");e.exports=r?function(e,n,t){return o.f(e,n,i(1,t))}:function(e,n,t){return e[n]=t,e}}})}));
|
|
35
35
|
//# sourceMappingURL=powergrid-viewer.umd.min.js.map
|