From bdab7c2f4b74e44c862f61470a68089cab2ae22f Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Tue, 19 Jan 2021 03:30:18 -0700
Subject: [PATCH 01/56] Update species.dm
---
code/modules/mob/living/carbon/human/species.dm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index 94d7e84c6b..4fdd48b506 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -1434,7 +1434,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
if(!SEND_SIGNAL(target, COMSIG_COMBAT_MODE_CHECK, COMBAT_MODE_INACTIVE))
damage *= 1.2
if(!CHECK_MOBILITY(user, MOBILITY_STAND))
- damage *= 0.8
+ damage *= 0.65
if(SEND_SIGNAL(user, COMSIG_COMBAT_MODE_CHECK, COMBAT_MODE_INACTIVE))
damage *= 0.8
//END OF CITADEL CHANGES
@@ -1456,7 +1456,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
else if(HAS_TRAIT(user, TRAIT_PUGILIST)) //pugilists, being good at Punching People, also never miss
miss_chance = 0
else
- miss_chance = min(10 + max(puncherstam * 0.5, puncherbrute * 0.5), 100) //probability of miss has a base of 10, and modified based on half brute total. Capped at max 100 to prevent weirdness in prob()
+ miss_chance = min(5 + max(puncherstam * 0.15, puncherbrute * 0.15), 100) //probability of miss has a base of 10, and modified based on half brute total. Capped at max 100 to prevent weirdness in prob()
if(!damage || !affecting || prob(miss_chance))//future-proofing for species that have 0 damage/weird cases where no zone is targeted
playsound(target.loc, user.dna.species.miss_sound, 25, TRUE, -1)
From e514db4bbbb8258ccb26fbf90fa9978aad9d4d82 Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Tue, 19 Jan 2021 03:33:31 -0700
Subject: [PATCH 02/56] Update species.dm
---
code/modules/mob/living/carbon/human/species.dm | 16 +---------------
1 file changed, 1 insertion(+), 15 deletions(-)
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index 4fdd48b506..9c36a7a2bc 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -1425,8 +1425,6 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
var/damage = rand(user.dna.species.punchdamagelow, user.dna.species.punchdamagehigh)
var/punchwoundbonus = user.dna.species.punchwoundbonus
- var/puncherstam = user.getStaminaLoss()
- var/puncherbrute = user.getBruteLoss()
var/punchedstam = target.getStaminaLoss()
var/punchedbrute = target.getBruteLoss()
@@ -1446,19 +1444,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
if(!affecting) //Maybe the bodypart is missing? Or things just went wrong..
affecting = target.get_bodypart(BODY_ZONE_CHEST) //target chest instead, as failsafe. Or hugbox? You decide.
- var/miss_chance = 100//calculate the odds that a punch misses entirely. considers stamina and brute damage of the puncher. punches miss by default to prevent weird cases
- if(attackchain_flags & ATTACK_IS_PARRY_COUNTERATTACK)
- miss_chance = 0
- else
- if(user.dna.species.punchdamagelow)
- if(atk_verb == ATTACK_EFFECT_KICK) //kicks never miss (provided your species deals more than 0 damage)
- miss_chance = 0
- else if(HAS_TRAIT(user, TRAIT_PUGILIST)) //pugilists, being good at Punching People, also never miss
- miss_chance = 0
- else
- miss_chance = min(5 + max(puncherstam * 0.15, puncherbrute * 0.15), 100) //probability of miss has a base of 10, and modified based on half brute total. Capped at max 100 to prevent weirdness in prob()
-
- if(!damage || !affecting || prob(miss_chance))//future-proofing for species that have 0 damage/weird cases where no zone is targeted
+ if(!damage || !affecting)//future-proofing for species that have 0 damage/weird cases where no zone is targeted
playsound(target.loc, user.dna.species.miss_sound, 25, TRUE, -1)
target.visible_message("[user]'s [atk_verb] misses [target]!", \
"You avoid [user]'s [atk_verb]!", "You hear a swoosh!", null, COMBAT_MESSAGE_RANGE, null, \
From d8da062ce80f1b1e07347fc92bbd3ba93e420a76 Mon Sep 17 00:00:00 2001
From: silicons <2003111+silicons@users.noreply.github.com>
Date: Tue, 26 Jan 2021 07:25:52 -0700
Subject: [PATCH 03/56] fix
---
tgui/packages/tgui-panel/chat/renderer.js | 2 +-
tgui/public/tgui-panel.bundle.js | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/tgui/packages/tgui-panel/chat/renderer.js b/tgui/packages/tgui-panel/chat/renderer.js
index 10b1c6e024..f16ed9046a 100644
--- a/tgui/packages/tgui-panel/chat/renderer.js
+++ b/tgui/packages/tgui-panel/chat/renderer.js
@@ -176,7 +176,7 @@ class ChatRenderer {
this.highlightColor = null;
return;
}
- const allowedRegex = /^[a-z0-9_\-\s]+$/ig;
+ const allowedRegex = /^[a-z0-9_\-\s]+$/i; // citadel update - ig changed to i for flags, to fix issues with highlighting only working for every other word.
const lines = String(text)
.split(',')
.map(str => str.trim())
diff --git a/tgui/public/tgui-panel.bundle.js b/tgui/public/tgui-panel.bundle.js
index b1e3955f8b..1969b65f42 100644
--- a/tgui/public/tgui-panel.bundle.js
+++ b/tgui/public/tgui-panel.bundle.js
@@ -1 +1 @@
-!function(e){function t(t){for(var o,a,c=t[0],s=t[1],l=t[2],d=0,g=[];d=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n=a.IMAGE_RETRY_LIMIT)d.error("failed to load an image after "+n+" attempts");else{var o=t.src;t.src=null,t.src=o+"#"+n,t.setAttribute("data-reload-n",n+1)}}),a.IMAGE_RETRY_DELAY)},m=function(e){var t=e.node,n=e.times;if(t&&n){var o=t.querySelector(".Chat__badge"),i=o||document.createElement("div");i.textContent=n,i.className=(0,r.classes)(["Chat__badge","Chat__badge--animate"]),requestAnimationFrame((function(){i.className="Chat__badge"})),o||t.appendChild(i)}},v=function(){function t(){var e=this;this.loaded=!1,this.rootNode=null,this.queue=[],this.messages=[],this.visibleMessages=[],this.page=null,this.events=new o.EventEmitter,this.scrollNode=null,this.scrollTracking=!0,this.handleScroll=function(t){var n=e.scrollNode,o=n.scrollHeight,r=n.scrollTop+n.offsetHeight,i=Math.abs(o-r)<24;i!==e.scrollTracking&&(e.scrollTracking=i,e.events.emit("scrollTrackingChanged",i),d.debug("tracking",e.scrollTracking))},this.ensureScrollTracking=function(){e.scrollTracking&&e.scrollToBottom()},setInterval((function(){return e.pruneMessages()}),a.MESSAGE_PRUNE_INTERVAL)}var n=t.prototype;return n.isReady=function(){return this.loaded&&this.rootNode&&this.page},n.mount=function(t){var n=this;this.rootNode?t.appendChild(this.rootNode):this.rootNode=t,this.scrollNode=function(e){for(var t=document.body,n=e;n&&n!==t;){if(n.scrollWidth0&&(this.processBatch(this.queue),this.queue=[])},n.assignStyle=function(e){void 0===e&&(e={});for(var t=0,n=Object.keys(e);t1&&n.test(e)}));if(0===o.length)return this.highlightRegex=null,void(this.highlightColor=null);this.highlightRegex=new RegExp("("+o.join("|")+")","gi"),this.highlightColor=t},n.scrollToBottom=function(){this.scrollNode.scrollTop=this.scrollNode.scrollHeight},n.changePage=function(e){if(!this.isReady())return this.page=e,void this.tryFlushQueue();this.page=e,this.rootNode.textContent="",this.visibleMessages=[];for(var t,n,o=document.createDocumentFragment(),r=l(this.messages);!(n=r()).done;){var i=n.value;(0,c.canPageAcceptType)(e,i.type)&&(t=i.node,o.appendChild(t),this.visibleMessages.push(i))}t&&(this.rootNode.appendChild(o),t.scrollIntoView())},n.getCombinableMessage=function(e){for(var t=Date.now(),n=this.visibleMessages.length,o=n-1,r=Math.max(0,n-a.COMBINE_MAX_MESSAGES),i=o;i>=r;i--){var s=this.visibleMessages[i];if(!s.type.startsWith(a.MESSAGE_TYPE_INTERNAL)&&(0,c.isSameMessage)(s,e)&&t0){this.visibleMessages=e.slice(t);for(var n=0;n0&&(this.messages=this.messages.slice(r),d.log("pruned "+r+" stored messages"))}else d.debug("pruning delayed")},n.rebuildChat=function(){if(this.isReady()){for(var e,t=Math.max(0,this.messages.length-a.MAX_PERSISTED_MESSAGES),n=this.messages.slice(t),o=l(n);!(e=o()).done;)e.value.node=undefined;this.rootNode.textContent="",this.messages=[],this.visibleMessages=[],this.processBatch(n,{notifyListeners:!1})}},n.saveToDisk=function(){if(!Byond.IS_LTE_IE10){for(var e="",t=document.styleSheets,n=0;n\n\n\nSS13 Chat Log\n\n\n\n\n'+a+"
\n\n\n"]),d=(new Date).toISOString().substring(0,19).replace(/[-:]/g,"").replace("T","-");window.navigator.msSaveBlob(u,"ss13-chatlog-"+d+".html")}},t}();window.__chatRenderer__||(window.__chatRenderer__=new v);var E=window.__chatRenderer__;t.chatRenderer=E}).call(this,n(101).setImmediate)},217:function(e,t,n){"use strict";t.__esModule=!0,t.gameReducer=t.gameMiddleware=t.useGame=void 0;var o=n(687);t.useGame=o.useGame;var r=n(688);t.gameMiddleware=r.gameMiddleware;var i=n(690);t.gameReducer=i.gameReducer},218:function(e,t,n){"use strict";t.__esModule=!0,t.selectGame=void 0;t.selectGame=function(e){return e.game}},219:function(e,t,n){"use strict";t.__esModule=!0,t.connectionRestored=t.connectionLost=t.roundRestarted=void 0;var o=n(22),r=(0,o.createAction)("roundrestart");t.roundRestarted=r;var i=(0,o.createAction)("game/connectionLost");t.connectionLost=i;var a=(0,o.createAction)("game/connectionRestored");t.connectionRestored=a},220:function(e,t,n){"use strict";t.__esModule=!0,t.pingReducer=t.PingIndicator=t.pingMiddleware=void 0;var o=n(692);t.pingMiddleware=o.pingMiddleware;var r=n(693);t.PingIndicator=r.PingIndicator;var i=n(696);t.pingReducer=i.pingReducer},221:function(e,t,n){"use strict";t.__esModule=!0,t.PING_ROUNDTRIP_WORST=t.PING_ROUNDTRIP_BEST=t.PING_QUEUE_SIZE=t.PING_MAX_FAILS=t.PING_TIMEOUT=t.PING_INTERVAL=void 0;t.PING_INTERVAL=2500;t.PING_TIMEOUT=2e3;t.PING_MAX_FAILS=3;t.PING_QUEUE_SIZE=8;t.PING_ROUNDTRIP_BEST=50;t.PING_ROUNDTRIP_WORST=200},65:function(e,t,n){"use strict";t.__esModule=!0,t.openChatSettings=t.toggleSettings=t.changeSettingsTab=t.loadSettings=t.updateSettings=void 0;var o=n(22),r=(0,o.createAction)("settings/update");t.updateSettings=r;var i=(0,o.createAction)("settings/load");t.loadSettings=i;var a=(0,o.createAction)("settings/changeTab");t.changeSettingsTab=a;var c=(0,o.createAction)("settings/toggle");t.toggleSettings=c;var s=(0,o.createAction)("settings/openChatTab");t.openChatSettings=s},668:function(e,t,n){n(148),e.exports=n(669)},669:function(e,t,n){"use strict";var o=n(0);n(670),n(671);var r,i,a=n(99),c=n(22),s=(n(100),n(57)),l=n(186),u=n(136),d=n(187),g=n(212),p=n(145),h=n(217),f=n(691),m=n(220),v=n(144),E=n(697);function y(e,t,n,o,r,i,a){try{var c=e[i](a),s=c.value}catch(l){return void n(l)}c.done?t(s):Promise.resolve(s).then(o,r)}a.perf.mark("inception",null==(r=window.performance)||null==(i=r.timing)?void 0:i.navigationStart),a.perf.mark("init");var b=(0,d.configureStore)({reducer:(0,c.combineReducers)({audio:g.audioReducer,chat:p.chatReducer,game:h.gameReducer,ping:m.pingReducer,settings:v.settingsReducer}),middleware:{pre:[p.chatMiddleware,m.pingMiddleware,E.telemetryMiddleware,v.settingsMiddleware,g.audioMiddleware,h.gameMiddleware]}}),S=(0,u.createRenderer)((function(){var e=n(698).Panel;return(0,o.createComponentVNode)(2,d.StoreProvider,{store:b,children:(0,o.createComponentVNode)(2,e)})})),_=function(){var e,t=(e=regeneratorRuntime.mark((function n(e){var t;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return void 0===e&&(e="output"),n.next=3,Byond.winget(e);case 3:t=n.sent,Byond.winset("browseroutput",{size:t.size});case 5:case"end":return n.stop()}}),n)})),function(){var t=this,n=arguments;return new Promise((function(o,r){var i=e.apply(t,n);function a(e){y(i,o,r,a,c,"next",e)}function c(e){y(i,o,r,a,c,"throw",e)}a(undefined)}))});return function(e){return t.apply(this,arguments)}}();!function C(){if("loading"!==document.readyState){for((0,s.setupGlobalEvents)({ignoreWindowFocus:!0}),(0,f.setupPanelFocusHacks)(),(0,l.captureExternalLinks)(),b.subscribe(S),window.update=function(e){return b.dispatch(Byond.parseJson(e))};;){var e=window.__updateQueue__.shift();if(!e)break;window.update(e)}Byond.winset("output",{"is-visible":!1}),Byond.winset("browseroutput",{"is-visible":!0,"is-disabled":!1,pos:"0x0",size:"0x0"}),_()}else document.addEventListener("DOMContentLoaded",C)}()},670:function(e,t,n){},671:function(e,t,n){},672:function(e,t,n){"use strict";t.__esModule=!0,t.useAudio=void 0;var o=n(22),r=n(213);t.useAudio=function(e){var t=(0,o.useSelector)(e,r.selectAudio),n=(0,o.useDispatch)(e);return Object.assign({},t,{toggle:function(){return n({type:"audio/toggle"})}})}},673:function(e,t,n){"use strict";t.__esModule=!0,t.audioMiddleware=void 0;var o=n(674);t.audioMiddleware=function(e){var t=new o.AudioPlayer;return t.onPlay((function(){e.dispatch({type:"audio/playing"})})),t.onStop((function(){e.dispatch({type:"audio/stopped"})})),function(e){return function(n){var o=n.type,r=n.payload;if("audio/playMusic"===o){var i=r.url,a=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(r,["url"]);return t.play(i,a),e(n)}if("audio/stopMusic"===o)return t.stop(),e(n);if("settings/update"===o||"settings/load"===o){var c=null==r?void 0:r.adminMusicVolume;return"number"==typeof c&&t.setVolume(c),e(n)}return e(n)}}}},674:function(e,t,n){"use strict";function o(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n0&&e.node.currentTime>=e.options.end&&e.stop())}),1e3))}var t=e.prototype;return t.destroy=function(){this.node&&(this.node.stop(),document.removeChild(this.node),clearInterval(this.playbackInterval))},t.play=function(e,t){void 0===t&&(t={}),this.node&&(i.log("playing",e,t),this.options=t,this.node.src=e)},t.stop=function(){if(this.node){if(this.playing)for(var e,t=o(this.onStopSubscribers);!(e=t()).done;)(0,e.value)();i.log("stopping"),this.playing=!1,this.node.src=""}},t.setVolume=function(e){this.node&&(this.volume=e,this.node.volume=e)},t.onPlay=function(e){this.node&&this.onPlaySubscribers.push(e)},t.onStop=function(e){this.node&&this.onStopSubscribers.push(e)},e}();t.AudioPlayer=a},675:function(e,t,n){"use strict";t.__esModule=!0,t.NowPlayingWidget=void 0;var o=n(0),r=n(9),i=n(22),a=n(1),c=n(144),s=n(213);t.NowPlayingWidget=function(e,t){var n,l=(0,i.useSelector)(t,s.selectAudio),u=(0,i.useDispatch)(t),d=(0,c.useSettings)(t),g=null==(n=l.meta)?void 0:n.title;return(0,o.createComponentVNode)(2,a.Flex,{align:"center",children:[l.playing&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Flex.Item,{shrink:0,mx:.5,color:"label",children:"Now playing:"}),(0,o.createComponentVNode)(2,a.Flex.Item,{mx:.5,grow:1,style:{"white-space":"nowrap",overflow:"hidden","text-overflow":"ellipsis"},children:g||"Unknown Track"})],4)||(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,color:"label",children:"Nothing to play."}),l.playing&&(0,o.createComponentVNode)(2,a.Flex.Item,{mx:.5,fontSize:"0.9em",children:(0,o.createComponentVNode)(2,a.Button,{tooltip:"Stop",icon:"stop",onClick:function(){return u({type:"audio/stopMusic"})}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{mx:.5,fontSize:"0.9em",children:(0,o.createComponentVNode)(2,a.Knob,{minValue:0,maxValue:1,value:d.adminMusicVolume,step:.0025,stepPixelSize:1,format:function(e){return(0,r.toFixed)(100*e)+"%"},onDrag:function(e,t){return d.update({adminMusicVolume:t})}})})]})}},676:function(e,t,n){"use strict";t.__esModule=!0,t.useSettings=void 0;var o=n(22),r=n(65),i=n(104);t.useSettings=function(e){var t=(0,o.useSelector)(e,i.selectSettings),n=(0,o.useDispatch)(e);return Object.assign({},t,{visible:t.view.visible,toggle:function(){return n((0,r.toggleSettings)())},update:function(e){return n((0,r.updateSettings)(e))}})}},677:function(e,t,n){"use strict";t.__esModule=!0,t.settingsMiddleware=void 0;var o=n(79),r=n(214),i=n(65),a=n(104);t.settingsMiddleware=function(e){var t=!1;return function(n){return function(c){var s,l=c.type,u=c.payload;if(t||(t=!0,o.storage.get("panel-settings").then((function(t){e.dispatch((0,i.loadSettings)(t))}))),l===i.updateSettings.type||l===i.loadSettings.type){var d=null==u?void 0:u.theme;d&&(0,r.setClientTheme)(d),n(c);var g=(0,a.selectSettings)(e.getState());return s=g.fontSize,document.documentElement.style.setProperty("font-size",s+"px"),document.body.style.setProperty("font-size",s+"px"),void o.storage.set("panel-settings",g)}return n(c)}}}},678:function(e,t,n){"use strict";t.__esModule=!0,t.settingsReducer=void 0;var o=n(65),r={version:1,fontSize:13,lineHeight:1.2,theme:"default",adminMusicVolume:.5,highlightText:"",highlightColor:"#ffdd44",view:{visible:!1,activeTab:n(215).SETTINGS_TABS[0].id}};t.settingsReducer=function(e,t){void 0===e&&(e=r);var n=t.type,i=t.payload;if(n===o.updateSettings.type)return Object.assign({},e,i);if(n===o.loadSettings.type)return(null==i?void 0:i.version)?(delete i.view,Object.assign({},e,i)):e;if(n===o.toggleSettings.type)return Object.assign({},e,{view:Object.assign({},e.view,{visible:!e.view.visible})});if(n===o.openChatSettings.type)return Object.assign({},e,{view:Object.assign({},e.view,{visible:!0,activeTab:"chatPage"})});if(n===o.changeSettingsTab.type){var a=i.tabId;return Object.assign({},e,{view:Object.assign({},e.view,{activeTab:a})})}return e}},679:function(e,t,n){"use strict";t.__esModule=!0,t.SettingsGeneral=t.SettingsPanel=void 0;var o=n(0),r=n(9),i=n(22),a=n(1),c=n(145),s=n(80),l=n(214),u=n(65),d=n(215),g=n(104);t.SettingsPanel=function(e,t){var n=(0,i.useSelector)(t,g.selectActiveTab),r=(0,i.useDispatch)(t);return(0,o.createComponentVNode)(2,a.Flex,{children:[(0,o.createComponentVNode)(2,a.Flex.Item,{mr:1,children:(0,o.createComponentVNode)(2,a.Section,{fitted:!0,fill:!0,minHeight:"8em",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:d.SETTINGS_TABS.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:e.id===n,onClick:function(){return r((0,u.changeSettingsTab)({tabId:e.id}))},children:e.name},e.id)}))})})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,basis:0,children:["general"===n&&(0,o.createComponentVNode)(2,p),"chatPage"===n&&(0,o.createComponentVNode)(2,c.ChatPageSettings)]})]})};var p=function(e,t){var n=(0,i.useSelector)(t,g.selectSettings),c=n.theme,d=n.fontSize,p=n.lineHeight,h=n.highlightText,f=n.highlightColor,m=(0,i.useDispatch)(t);return(0,o.createComponentVNode)(2,a.Section,{fill:!0,children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Theme",children:(0,o.createComponentVNode)(2,a.Dropdown,{selected:c,options:l.THEMES,onSelected:function(e){return m((0,u.updateSettings)({theme:e}))}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Font size",children:(0,o.createComponentVNode)(2,a.NumberInput,{width:"4em",step:1,stepPixelSize:10,minValue:8,maxValue:32,value:d,unit:"px",format:function(e){return(0,r.toFixed)(e)},onChange:function(e,t){return m((0,u.updateSettings)({fontSize:t}))}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Line height",children:(0,o.createComponentVNode)(2,a.NumberInput,{width:"4em",step:.01,stepPixelSize:2,minValue:.8,maxValue:5,value:p,format:function(e){return(0,r.toFixed)(e,2)},onDrag:function(e,t){return m((0,u.updateSettings)({lineHeight:t}))}})})]}),(0,o.createComponentVNode)(2,a.Divider),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Flex,{mb:1,color:"label",align:"baseline",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:"Highlight words (comma separated):"}),(0,o.createComponentVNode)(2,a.Flex.Item,{shrink:0,children:[(0,o.createComponentVNode)(2,a.ColorBox,{mr:1,color:f}),(0,o.createComponentVNode)(2,a.Input,{width:"5em",monospace:!0,placeholder:"#ffffff",value:f,onInput:function(e,t){return m((0,u.updateSettings)({highlightColor:t}))}})]})]}),(0,o.createComponentVNode)(2,a.TextArea,{height:"3em",value:h,onChange:function(e,t){return m((0,u.updateSettings)({highlightText:t}))}})]}),(0,o.createComponentVNode)(2,a.Divider),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"check",onClick:function(){return m((0,s.rebuildChat)())},children:"Apply now"}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,fontSize:"0.9em",ml:1,color:"label",children:"Can freeze the chat for a while."})]}),(0,o.createComponentVNode)(2,a.Divider),(0,o.createComponentVNode)(2,a.Button,{icon:"save",onClick:function(){return m((0,s.saveChatToDisk)())},children:"Save chat log"})]})};t.SettingsGeneral=p},680:function(e,t,n){"use strict";t.__esModule=!0,t.ChatPageSettings=void 0;var o=n(0),r=n(22),i=n(1),a=n(80),c=n(106),s=n(146);t.ChatPageSettings=function(e,t){var n=(0,r.useSelector)(t,s.selectCurrentChatPage),l=(0,r.useDispatch)(t);return(0,o.createComponentVNode)(2,i.Section,{fill:!0,children:[(0,o.createComponentVNode)(2,i.Flex,{mx:-.5,align:"center",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{mx:.5,grow:1,children:(0,o.createComponentVNode)(2,i.Input,{fluid:!0,value:n.name,onChange:function(e,t){return l((0,a.updateChatPage)({pageId:n.id,name:t}))}})}),(0,o.createComponentVNode)(2,i.Flex.Item,{mx:.5,children:(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"red",onClick:function(){return l((0,a.removeChatPage)({pageId:n.id}))},children:"Remove"})})]}),(0,o.createComponentVNode)(2,i.Divider),(0,o.createComponentVNode)(2,i.Section,{title:"Messages to display",level:2,children:[c.MESSAGE_TYPES.filter((function(e){return!e.important&&!e.admin})).map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:n.acceptedTypes[e.type],onClick:function(){return l((0,a.toggleAcceptedType)({pageId:n.id,type:e.type}))},children:e.name},e.type)})),(0,o.createComponentVNode)(2,i.Collapsible,{mt:1,color:"transparent",title:"Admin stuff",children:c.MESSAGE_TYPES.filter((function(e){return!e.important&&e.admin})).map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:n.acceptedTypes[e.type],onClick:function(){return l((0,a.toggleAcceptedType)({pageId:n.id,type:e.type}))},children:e.name},e.type)}))})]})]})}},681:function(e,t,n){"use strict";t.__esModule=!0,t.ChatPanel=void 0;var o=n(0),r=n(6),i=n(1),a=n(216);var c=function(e){var t,n;function c(){var t;return(t=e.call(this)||this).ref=(0,o.createRef)(),t.state={scrollTracking:!0},t.handleScrollTrackingChange=function(e){return t.setState({scrollTracking:e})},t}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var s=c.prototype;return s.componentDidMount=function(){a.chatRenderer.mount(this.ref.current),a.chatRenderer.events.on("scrollTrackingChanged",this.handleScrollTrackingChange),this.componentDidUpdate()},s.componentWillUnmount=function(){a.chatRenderer.events.off("scrollTrackingChanged",this.handleScrollTrackingChange)},s.componentDidUpdate=function(e){requestAnimationFrame((function(){a.chatRenderer.ensureScrollTracking()})),(!e||(0,r.shallowDiffers)(this.props,e))&&a.chatRenderer.assignStyle({width:"100%","white-space":"pre-wrap","font-size":this.props.fontSize,"line-height":this.props.lineHeight})},s.render=function(){var e=this.state.scrollTracking;return(0,o.createFragment)([(0,o.createVNode)(1,"div","Chat",null,1,null,null,this.ref),!e&&(0,o.createComponentVNode)(2,i.Button,{className:"Chat__scrollButton",icon:"arrow-down",onClick:function(){return a.chatRenderer.scrollToBottom()},children:"Scroll to bottom"})],0)},c}(o.Component);t.ChatPanel=c},682:function(e,t,n){"use strict";t.__esModule=!0,t.linkifyNode=t.highlightNode=t.replaceInTextNode=void 0;var o=function(e,t){return function(n){for(var o,r,i=n.textContent,a=i.length,c=0,s=0;o=e.exec(i);){s+=1,r||(r=document.createDocumentFragment());var l=o[0],u=l.length,d=o.index;c0&&(0,o.createComponentVNode)(2,l,{value:e.unreadCount}),onClick:function(){return d((0,a.changeChatPage)({pageId:e.id}))},children:e.name},e.id)}))})}),(0,o.createComponentVNode)(2,i.Flex.Item,{ml:1,children:(0,o.createComponentVNode)(2,i.Button,{color:"transparent",icon:"plus",onClick:function(){d((0,a.addChatPage)()),d((0,s.openChatSettings)())}})})]})}},684:function(e,t,n){"use strict";t.__esModule=!0,t.chatMiddleware=void 0;var o=n(79),r=n(65),i=n(104),a=n(80),c=n(106),s=n(105),l=n(216),u=n(146);n(29);function d(e,t,n,o,r,i,a){try{var c=e[i](a),s=c.value}catch(l){return void n(l)}c.done?t(s):Promise.resolve(s).then(o,r)}function g(e){return function(){var t=this,n=arguments;return new Promise((function(o,r){var i=e.apply(t,n);function a(e){d(i,o,r,a,c,"next",e)}function c(e){d(i,o,r,a,c,"throw",e)}a(undefined)}))}}var p=function(){var e=g(regeneratorRuntime.mark((function t(e){var n,r,i;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=(0,u.selectChat)(e.getState()),r=Math.max(0,l.chatRenderer.messages.length-c.MAX_PERSISTED_MESSAGES),i=l.chatRenderer.messages.slice(r).map((function(e){return(0,s.serializeMessage)(e)})),o.storage.set("chat-state",n),o.storage.set("chat-messages",i);case 5:case"end":return t.stop()}}),t)})));return function(t){return e.apply(this,arguments)}}(),h=function(){var e=g(regeneratorRuntime.mark((function t(e){var n,r,i,c;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Promise.all([o.storage.get("chat-state"),o.storage.get("chat-messages")]);case 2:if(n=t.sent,r=n[0],i=n[1],!(r&&r.version<=4)){t.next=8;break}return e.dispatch((0,a.loadChat)()),t.abrupt("return");case 8:i&&(c=[].concat(i,[(0,s.createMessage)({type:"internal/reconnected"})]),l.chatRenderer.processBatch(c,{prepend:!0})),e.dispatch((0,a.loadChat)(r));case 10:case"end":return t.stop()}}),t)})));return function(t){return e.apply(this,arguments)}}();t.chatMiddleware=function(e){var t=!1,n=!1;return l.chatRenderer.events.on("batchProcessed",(function(t){n&&e.dispatch((0,a.updateMessageCount)(t))})),l.chatRenderer.events.on("scrollTrackingChanged",(function(t){e.dispatch((0,a.changeScrollTracking)(t))})),setInterval((function(){return p(e)}),c.MESSAGE_SAVE_INTERVAL),function(o){return function(c){var s=c.type,d=c.payload;if(t||(t=!0,h(e)),"chat/message"!==s){if(s===a.loadChat.type){o(c);var g=(0,u.selectCurrentChatPage)(e.getState());return l.chatRenderer.changePage(g),l.chatRenderer.onStateLoaded(),void(n=!0)}if(s!==a.changeChatPage.type&&s!==a.addChatPage.type&&s!==a.removeChatPage.type&&s!==a.toggleAcceptedType.type){if(s===a.rebuildChat.type)return l.chatRenderer.rebuildChat(),o(c);if(s!==r.updateSettings.type&&s!==r.loadSettings.type){if("roundrestart"===s)return p(e),o(c);if(s!==a.saveChatToDisk.type)return o(c);l.chatRenderer.saveToDisk()}else{o(c);var f=(0,i.selectSettings)(e.getState());l.chatRenderer.setHighlight(f.highlightText,f.highlightColor)}}else{o(c);var m=(0,u.selectCurrentChatPage)(e.getState());l.chatRenderer.changePage(m)}}else{var v=Array.isArray(d)?d:[d];l.chatRenderer.processBatch(v)}}}}},685:function(e,t,n){"use strict";t.__esModule=!0,t.chatReducer=t.initialState=void 0;var o,r=n(80),i=n(105);function a(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n0&&(_[A.id]=Object.assign({},A,{unreadCount:A.unreadCount+M}))}return Object.assign({},e,{pageById:_})}if(o===r.addChatPage.type)return Object.assign({},e,{currentPageId:c.id,pages:[].concat(e.pages,[c.id]),pageById:Object.assign({},e.pageById,(n={},n[c.id]=c,n))});if(o===r.changeChatPage.type){var I,P=c.pageId,x=Object.assign({},e.pageById[P],{unreadCount:0});return Object.assign({},e,{currentPageId:P,pageById:Object.assign({},e.pageById,(I={},I[P]=x,I))})}if(o===r.updateChatPage.type){var k,R=c.pageId,O=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(c,["pageId"]),V=Object.assign({},e.pageById[R],O);return Object.assign({},e,{pageById:Object.assign({},e.pageById,(k={},k[R]=V,k))})}if(o===r.toggleAcceptedType.type){var G,B=c.pageId,L=c.type,D=Object.assign({},e.pageById[B]);return D.acceptedTypes=Object.assign({},D.acceptedTypes),D.acceptedTypes[L]=!D.acceptedTypes[L],Object.assign({},e,{pageById:Object.assign({},e.pageById,(G={},G[B]=D,G))})}if(o===r.removeChatPage.type){var F=c.pageId,j=Object.assign({},e,{pages:[].concat(e.pages),pageById:Object.assign({},e.pageById)});return delete j.pageById[F],j.pages=j.pages.filter((function(e){return e!==F})),0===j.pages.length&&(j.pages.push(s.id),j.pageById[s.id]=s,j.currentPageId=s.id),j.currentPageId&&j.currentPageId!==F||(j.currentPageId=j.pages[0]),j}return e}},686:function(e,t,n){"use strict";t.__esModule=!0,t.audioReducer=void 0;var o={visible:!1,playing:!1,track:null};t.audioReducer=function(e,t){void 0===e&&(e=o);var n=t.type,r=t.payload;return"audio/playing"===n?Object.assign({},e,{visible:!0,playing:!0}):"audio/stopped"===n?Object.assign({},e,{visible:!1,playing:!1}):"audio/playMusic"===n?Object.assign({},e,{meta:r}):"audio/stopMusic"===n?Object.assign({},e,{visible:!1,playing:!1,meta:null}):"audio/toggle"===n?Object.assign({},e,{visible:!e.visible}):e}},687:function(e,t,n){"use strict";t.__esModule=!0,t.useGame=void 0;var o=n(22),r=n(218);t.useGame=function(e){return(0,o.useSelector)(e,r.selectGame)}},688:function(e,t,n){"use strict";t.__esModule=!0,t.gameMiddleware=void 0;var o=n(147),r=n(219),i=n(218),a=n(689),c=function(e){return Object.assign({},e,{meta:Object.assign({},e.meta,{now:Date.now()})})};t.gameMiddleware=function(e){var t;return setInterval((function(){var n=e.getState();if(n){var o=(0,i.selectGame)(n),s=t&&Date.now()>=t+a.CONNECTION_LOST_AFTER;!o.connectionLostAt&&s&&e.dispatch(c((0,r.connectionLost)())),o.connectionLostAt&&!s&&e.dispatch(c((0,r.connectionRestored)()))}}),1e3),function(e){return function(n){var i=n.type,a=(n.payload,n.meta);return i===o.pingSuccess.type?(t=a.now,e(n)):i===r.roundRestarted.type?e(c(n)):e(n)}}}},689:function(e,t,n){"use strict";t.__esModule=!0,t.CONNECTION_LOST_AFTER=void 0;t.CONNECTION_LOST_AFTER=15e3},690:function(e,t,n){"use strict";t.__esModule=!0,t.gameReducer=void 0;var o=n(219),r={roundId:null,roundTime:null,roundRestartedAt:null,connectionLostAt:null};t.gameReducer=function(e,t){void 0===e&&(e=r);var n=t.type,i=(t.payload,t.meta);return"roundrestart"===n?Object.assign({},e,{roundRestartedAt:i.now}):n===o.connectionLost.type?Object.assign({},e,{connectionLostAt:i.now}):n===o.connectionRestored.type?Object.assign({},e,{connectionLostAt:null}):e}},691:function(e,t,n){"use strict";(function(e){t.__esModule=!0,t.setupPanelFocusHacks=void 0;var o=n(102),r=n(57),i=n(189),a=function(){return e((function(){return(0,i.focusMap)()}))};t.setupPanelFocusHacks=function(){var e=!1,t=null;window.addEventListener("focusin",(function(t){e=(0,r.canStealFocus)(t.target)})),window.addEventListener("mousedown",(function(e){t=[e.screenX,e.screenY]})),window.addEventListener("mouseup",(function(n){if(t){var r=[n.screenX,n.screenY];(0,o.vecLength)((0,o.vecSubtract)(r,t))>=10&&(e=!0)}e||a()})),r.globalEvents.on("keydown",(function(e){e.isModifierKey()||a()}))}}).call(this,n(101).setImmediate)},692:function(e,t,n){"use strict";t.__esModule=!0,t.pingMiddleware=void 0;var o=n(2),r=n(147),i=n(221);t.pingMiddleware=function(e){var t=!1,n=0,a=[],c=function(){for(var t=0;ti.PING_TIMEOUT&&(a[t]=null,e.dispatch((0,r.pingFail)()))}var s={index:n,sentAt:Date.now()};a[n]=s,(0,o.sendMessage)({type:"ping",payload:{index:n}}),n=(n+1)%i.PING_QUEUE_SIZE};return function(e){return function(n){var o=n.type,s=n.payload;if(t||(t=!0,setInterval(c,i.PING_INTERVAL),c()),"pingReply"===o){var l=s.index,u=a[l];if(!u)return;return a[l]=null,e((0,r.pingSuccess)(u))}return e(n)}}}},693:function(e,t,n){"use strict";t.__esModule=!0,t.PingIndicator=void 0;var o=n(0),r=n(694),i=n(9),a=n(22),c=n(1),s=n(695);t.PingIndicator=function(e,t){var n=(0,a.useSelector)(t,s.selectPing),l=r.Color.lookup(n.networkQuality,[new r.Color(220,40,40),new r.Color(220,200,40),new r.Color(60,220,40)]),u=n.roundtrip?(0,i.toFixed)(n.roundtrip):"--";return(0,o.createVNode)(1,"div","Ping",[(0,o.createComponentVNode)(2,c.Box,{className:"Ping__indicator",backgroundColor:l}),u],0)}},694:function(e,t,n){"use strict";t.__esModule=!0,t.Color=void 0;var o=function(){function e(e,t,n,o){void 0===e&&(e=0),void 0===t&&(t=0),void 0===n&&(n=0),void 0===o&&(o=1),this.r=e,this.g=t,this.b=n,this.a=o}return e.prototype.toString=function(){return"rgba("+(0|this.r)+", "+(0|this.g)+", "+(0|this.b)+", "+(0|this.a)+")"},e}();t.Color=o,o.fromHex=function(e){return new o(parseInt(e.substr(1,2),16),parseInt(e.substr(3,2),16),parseInt(e.substr(5,2),16))},o.lerp=function(e,t,n){return new o((t.r-e.r)*n+e.r,(t.g-e.g)*n+e.g,(t.b-e.b)*n+e.b,(t.a-e.a)*n+e.a)},o.lookup=function(e,t){void 0===t&&(t=[]);var n=t.length;if(n<2)throw new Error("Needs at least two colors!");var r=e*(n-1);if(e<1e-4)return t[0];if(e>=.9999)return t[n-1];var i=r%1,a=0|r;return o.lerp(t[a],t[a+1],i)}},695:function(e,t,n){"use strict";t.__esModule=!0,t.selectPing=void 0;t.selectPing=function(e){return e.ping}},696:function(e,t,n){"use strict";t.__esModule=!0,t.pingReducer=void 0;var o=n(9),r=n(147),i=n(221);t.pingReducer=function(e,t){void 0===e&&(e={});var n=t.type,a=t.payload;if(n===r.pingSuccess.type){var c=a.roundtrip,s=e.roundtripAvg||c,l=Math.round(.4*s+.6*c);return{roundtrip:c,roundtripAvg:l,failCount:0,networkQuality:1-(0,o.scale)(l,i.PING_ROUNDTRIP_BEST,i.PING_ROUNDTRIP_WORST)}}if(n===r.pingFail.type){var u=e.failCount,d=void 0===u?0:u,g=(0,o.clamp01)(e.networkQuality-d/i.PING_MAX_FAILS),p=Object.assign({},e,{failCount:d+1,networkQuality:g});return d>i.PING_MAX_FAILS&&(p.roundtrip=undefined,p.roundtripAvg=undefined),p}return e}},697:function(e,t,n){"use strict";t.__esModule=!0,t.telemetryMiddleware=void 0;var o=n(2),r=n(79);function i(e,t,n,o,r,i,a){try{var c=e[i](a),s=c.value}catch(l){return void n(l)}c.done?t(s):Promise.resolve(s).then(o,r)}var a=(0,n(29).createLogger)("telemetry");t.telemetryMiddleware=function(e){var t,n;return function(c){return function(s){var l,u=s.type,d=s.payload;if("telemetry/request"!==u)return"backend/update"===u?(c(s),void(l=regeneratorRuntime.mark((function h(){var o,i,c,s;return regeneratorRuntime.wrap((function(l){for(;;)switch(l.prev=l.next){case 0:if(i=null==d||null==(o=d.config)?void 0:o.client){l.next=4;break}return a.error("backend/update payload is missing client data!"),l.abrupt("return");case 4:if(t){l.next=13;break}return l.next=7,r.storage.get("telemetry");case 7:if(l.t0=l.sent,l.t0){l.next=10;break}l.t0={};case 10:(t=l.t0).connections||(t.connections=[]),a.debug("retrieved telemetry from storage",t);case 13:c=!1,t.connections.find((function(e){return n=i,(t=e).ckey===n.ckey&&t.address===n.address&&t.computer_id===n.computer_id;var t,n}))||(c=!0,t.connections.unshift(i),t.connections.length>10&&t.connections.pop()),c&&(a.debug("saving telemetry to storage",t),r.storage.set("telemetry",t)),n&&(s=n,n=null,e.dispatch({type:"telemetry/request",payload:s}));case 18:case"end":return l.stop()}}),h)})),function(){var e=this,t=arguments;return new Promise((function(n,o){var r=l.apply(e,t);function a(e){i(r,n,o,a,c,"next",e)}function c(e){i(r,n,o,a,c,"throw",e)}a(undefined)}))})()):c(s);if(!t)return a.debug("deferred"),void(n=d);a.debug("sending");var g=(null==d?void 0:d.limits)||{},p=t.connections.slice(0,g.connections);(0,o.sendMessage)({type:"telemetry",payload:{connections:p}})}}}},698:function(e,t,n){"use strict";t.__esModule=!0,t.Panel=void 0;var o=n(0),r=n(1),i=n(3),a=n(212),c=n(145),s=n(217),l=n(699),u=n(220),d=n(144);t.Panel=function(e,t){if(Byond.IS_LTE_IE10)return(0,o.createComponentVNode)(2,g);var n=(0,a.useAudio)(t),p=(0,d.useSettings)(t),h=(0,s.useGame)(t);return(0,o.createComponentVNode)(2,i.Pane,{theme:"default"===p.theme?"light":p.theme,children:(0,o.createComponentVNode)(2,r.Flex,{direction:"column",height:"100%",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{children:(0,o.createComponentVNode)(2,r.Section,{fitted:!0,children:(0,o.createComponentVNode)(2,r.Flex,{mx:.5,align:"center",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{mx:.5,grow:1,overflowX:"auto",children:(0,o.createComponentVNode)(2,c.ChatTabs)}),(0,o.createComponentVNode)(2,r.Flex.Item,{mx:.5,children:(0,o.createComponentVNode)(2,u.PingIndicator)}),(0,o.createComponentVNode)(2,r.Flex.Item,{mx:.5,children:(0,o.createComponentVNode)(2,r.Button,{color:"grey",selected:n.visible,icon:"music",tooltip:"Music player",tooltipPosition:"bottom-left",onClick:function(){return n.toggle()}})}),(0,o.createComponentVNode)(2,r.Flex.Item,{mx:.5,children:(0,o.createComponentVNode)(2,r.Button,{icon:p.visible?"times":"cog",selected:p.visible,tooltip:p.visible?"Close settings":"Open settings",tooltipPosition:"bottom-left",onClick:function(){return p.toggle()}})})]})})}),n.visible&&(0,o.createComponentVNode)(2,r.Flex.Item,{mt:1,children:(0,o.createComponentVNode)(2,r.Section,{children:(0,o.createComponentVNode)(2,a.NowPlayingWidget)})}),p.visible&&(0,o.createComponentVNode)(2,r.Flex.Item,{mt:1,children:(0,o.createComponentVNode)(2,d.SettingsPanel)}),(0,o.createComponentVNode)(2,r.Flex.Item,{mt:1,grow:1,children:(0,o.createComponentVNode)(2,r.Section,{fill:!0,fitted:!0,position:"relative",children:[(0,o.createComponentVNode)(2,i.Pane.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c.ChatPanel,{lineHeight:p.lineHeight})}),(0,o.createComponentVNode)(2,l.Notifications,{children:[h.connectionLostAt&&(0,o.createComponentVNode)(2,l.Notifications.Item,{rightSlot:(0,o.createComponentVNode)(2,r.Button,{color:"white",onClick:function(){return Byond.command(".reconnect")},children:"Reconnect"}),children:"You are either AFK, experiencing lag or the connection has closed."}),h.roundRestartedAt&&(0,o.createComponentVNode)(2,l.Notifications.Item,{children:"The connection has been closed because the server is restarting. Please wait while you automatically reconnect."})]})]})})]})})};var g=function(e,t){var n=(0,d.useSettings)(t);return(0,o.createComponentVNode)(2,i.Pane,{theme:"default"===n.theme?"light":n.theme,children:(0,o.createComponentVNode)(2,i.Pane.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,r.Button,{style:{position:"fixed",top:"1em",right:"2em","z-index":1e3},selected:n.visible,onClick:function(){return n.toggle()},children:"Settings"}),n.visible&&(0,o.createComponentVNode)(2,r.Flex.Item,{mt:1,children:(0,o.createComponentVNode)(2,d.SettingsPanel)})||(0,o.createComponentVNode)(2,c.ChatPanel,{lineHeight:n.lineHeight})]})})}},699:function(e,t,n){"use strict";t.__esModule=!0,t.Notifications=void 0;var o=n(0),r=n(1),i=function(e){var t=e.children;return(0,o.createVNode)(1,"div","Notifications",t,0)};t.Notifications=i;i.Item=function(e){var t=e.rightSlot,n=e.children;return(0,o.createComponentVNode)(2,r.Flex,{align:"center",className:"Notification",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{className:"Notification__content",grow:1,children:n}),t&&(0,o.createComponentVNode)(2,r.Flex.Item,{className:"Notification__rightSlot",children:t})]})}},80:function(e,t,n){"use strict";t.__esModule=!0,t.saveChatToDisk=t.changeScrollTracking=t.removeChatPage=t.toggleAcceptedType=t.updateChatPage=t.changeChatPage=t.addChatPage=t.updateMessageCount=t.rebuildChat=t.loadChat=void 0;var o=n(22),r=n(105),i=(0,o.createAction)("chat/load");t.loadChat=i;var a=(0,o.createAction)("chat/rebuild");t.rebuildChat=a;var c=(0,o.createAction)("chat/updateMessageCount");t.updateMessageCount=c;var s=(0,o.createAction)("chat/addPage",(function(){return{payload:(0,r.createPage)()}}));t.addChatPage=s;var l=(0,o.createAction)("chat/changePage");t.changeChatPage=l;var u=(0,o.createAction)("chat/updatePage");t.updateChatPage=u;var d=(0,o.createAction)("chat/toggleAcceptedType");t.toggleAcceptedType=d;var g=(0,o.createAction)("chat/removePage");t.removeChatPage=g;var p=(0,o.createAction)("chat/changeScrollTracking");t.changeScrollTracking=p;var h=(0,o.createAction)("chat/saveToDisk");t.saveChatToDisk=h}});
\ No newline at end of file
+!function(e){function t(t){for(var o,a,c=t[0],s=t[1],l=t[2],d=0,g=[];d=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function a(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n=a.IMAGE_RETRY_LIMIT)d.error("failed to load an image after "+n+" attempts");else{var o=t.src;t.src=null,t.src=o+"#"+n,t.setAttribute("data-reload-n",n+1)}}),a.IMAGE_RETRY_DELAY)},m=function(e){var t=e.node,n=e.times;if(t&&n){var o=t.querySelector(".Chat__badge"),i=o||document.createElement("div");i.textContent=n,i.className=(0,r.classes)(["Chat__badge","Chat__badge--animate"]),requestAnimationFrame((function(){i.className="Chat__badge"})),o||t.appendChild(i)}},v=function(){function t(){var e=this;this.loaded=!1,this.rootNode=null,this.queue=[],this.messages=[],this.visibleMessages=[],this.page=null,this.events=new o.EventEmitter,this.scrollNode=null,this.scrollTracking=!0,this.handleScroll=function(t){var n=e.scrollNode,o=n.scrollHeight,r=n.scrollTop+n.offsetHeight,i=Math.abs(o-r)<24;i!==e.scrollTracking&&(e.scrollTracking=i,e.events.emit("scrollTrackingChanged",i),d.debug("tracking",e.scrollTracking))},this.ensureScrollTracking=function(){e.scrollTracking&&e.scrollToBottom()},setInterval((function(){return e.pruneMessages()}),a.MESSAGE_PRUNE_INTERVAL)}var n=t.prototype;return n.isReady=function(){return this.loaded&&this.rootNode&&this.page},n.mount=function(t){var n=this;this.rootNode?t.appendChild(this.rootNode):this.rootNode=t,this.scrollNode=function(e){for(var t=document.body,n=e;n&&n!==t;){if(n.scrollWidth0&&(this.processBatch(this.queue),this.queue=[])},n.assignStyle=function(e){void 0===e&&(e={});for(var t=0,n=Object.keys(e);t1&&n.test(e)}));if(0===o.length)return this.highlightRegex=null,void(this.highlightColor=null);this.highlightRegex=new RegExp("("+o.join("|")+")","gi"),this.highlightColor=t},n.scrollToBottom=function(){this.scrollNode.scrollTop=this.scrollNode.scrollHeight},n.changePage=function(e){if(!this.isReady())return this.page=e,void this.tryFlushQueue();this.page=e,this.rootNode.textContent="",this.visibleMessages=[];for(var t,n,o=document.createDocumentFragment(),r=l(this.messages);!(n=r()).done;){var i=n.value;(0,c.canPageAcceptType)(e,i.type)&&(t=i.node,o.appendChild(t),this.visibleMessages.push(i))}t&&(this.rootNode.appendChild(o),t.scrollIntoView())},n.getCombinableMessage=function(e){for(var t=Date.now(),n=this.visibleMessages.length,o=n-1,r=Math.max(0,n-a.COMBINE_MAX_MESSAGES),i=o;i>=r;i--){var s=this.visibleMessages[i];if(!s.type.startsWith(a.MESSAGE_TYPE_INTERNAL)&&(0,c.isSameMessage)(s,e)&&t0){this.visibleMessages=e.slice(t);for(var n=0;n0&&(this.messages=this.messages.slice(r),d.log("pruned "+r+" stored messages"))}else d.debug("pruning delayed")},n.rebuildChat=function(){if(this.isReady()){for(var e,t=Math.max(0,this.messages.length-a.MAX_PERSISTED_MESSAGES),n=this.messages.slice(t),o=l(n);!(e=o()).done;)e.value.node=undefined;this.rootNode.textContent="",this.messages=[],this.visibleMessages=[],this.processBatch(n,{notifyListeners:!1})}},n.saveToDisk=function(){if(!Byond.IS_LTE_IE10){for(var e="",t=document.styleSheets,n=0;n\n\n\nSS13 Chat Log\n\n\n\n\n'+a+"
\n\n\n"]),d=(new Date).toISOString().substring(0,19).replace(/[-:]/g,"").replace("T","-");window.navigator.msSaveBlob(u,"ss13-chatlog-"+d+".html")}},t}();window.__chatRenderer__||(window.__chatRenderer__=new v);var E=window.__chatRenderer__;t.chatRenderer=E}).call(this,n(101).setImmediate)},217:function(e,t,n){"use strict";t.__esModule=!0,t.gameReducer=t.gameMiddleware=t.useGame=void 0;var o=n(687);t.useGame=o.useGame;var r=n(688);t.gameMiddleware=r.gameMiddleware;var i=n(690);t.gameReducer=i.gameReducer},218:function(e,t,n){"use strict";t.__esModule=!0,t.selectGame=void 0;t.selectGame=function(e){return e.game}},219:function(e,t,n){"use strict";t.__esModule=!0,t.connectionRestored=t.connectionLost=t.roundRestarted=void 0;var o=n(22),r=(0,o.createAction)("roundrestart");t.roundRestarted=r;var i=(0,o.createAction)("game/connectionLost");t.connectionLost=i;var a=(0,o.createAction)("game/connectionRestored");t.connectionRestored=a},220:function(e,t,n){"use strict";t.__esModule=!0,t.pingReducer=t.PingIndicator=t.pingMiddleware=void 0;var o=n(692);t.pingMiddleware=o.pingMiddleware;var r=n(693);t.PingIndicator=r.PingIndicator;var i=n(696);t.pingReducer=i.pingReducer},221:function(e,t,n){"use strict";t.__esModule=!0,t.PING_ROUNDTRIP_WORST=t.PING_ROUNDTRIP_BEST=t.PING_QUEUE_SIZE=t.PING_MAX_FAILS=t.PING_TIMEOUT=t.PING_INTERVAL=void 0;t.PING_INTERVAL=2500;t.PING_TIMEOUT=2e3;t.PING_MAX_FAILS=3;t.PING_QUEUE_SIZE=8;t.PING_ROUNDTRIP_BEST=50;t.PING_ROUNDTRIP_WORST=200},65:function(e,t,n){"use strict";t.__esModule=!0,t.openChatSettings=t.toggleSettings=t.changeSettingsTab=t.loadSettings=t.updateSettings=void 0;var o=n(22),r=(0,o.createAction)("settings/update");t.updateSettings=r;var i=(0,o.createAction)("settings/load");t.loadSettings=i;var a=(0,o.createAction)("settings/changeTab");t.changeSettingsTab=a;var c=(0,o.createAction)("settings/toggle");t.toggleSettings=c;var s=(0,o.createAction)("settings/openChatTab");t.openChatSettings=s},668:function(e,t,n){n(148),e.exports=n(669)},669:function(e,t,n){"use strict";var o=n(0);n(670),n(671);var r,i,a=n(99),c=n(22),s=(n(100),n(57)),l=n(186),u=n(136),d=n(187),g=n(212),p=n(145),h=n(217),f=n(691),m=n(220),v=n(144),E=n(697);function y(e,t,n,o,r,i,a){try{var c=e[i](a),s=c.value}catch(l){return void n(l)}c.done?t(s):Promise.resolve(s).then(o,r)}a.perf.mark("inception",null==(r=window.performance)||null==(i=r.timing)?void 0:i.navigationStart),a.perf.mark("init");var b=(0,d.configureStore)({reducer:(0,c.combineReducers)({audio:g.audioReducer,chat:p.chatReducer,game:h.gameReducer,ping:m.pingReducer,settings:v.settingsReducer}),middleware:{pre:[p.chatMiddleware,m.pingMiddleware,E.telemetryMiddleware,v.settingsMiddleware,g.audioMiddleware,h.gameMiddleware]}}),S=(0,u.createRenderer)((function(){var e=n(698).Panel;return(0,o.createComponentVNode)(2,d.StoreProvider,{store:b,children:(0,o.createComponentVNode)(2,e)})})),_=function(){var e,t=(e=regeneratorRuntime.mark((function n(e){var t;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return void 0===e&&(e="output"),n.next=3,Byond.winget(e);case 3:t=n.sent,Byond.winset("browseroutput",{size:t.size});case 5:case"end":return n.stop()}}),n)})),function(){var t=this,n=arguments;return new Promise((function(o,r){var i=e.apply(t,n);function a(e){y(i,o,r,a,c,"next",e)}function c(e){y(i,o,r,a,c,"throw",e)}a(undefined)}))});return function(e){return t.apply(this,arguments)}}();!function C(){if("loading"!==document.readyState){for((0,s.setupGlobalEvents)({ignoreWindowFocus:!0}),(0,f.setupPanelFocusHacks)(),(0,l.captureExternalLinks)(),b.subscribe(S),window.update=function(e){return b.dispatch(Byond.parseJson(e))};;){var e=window.__updateQueue__.shift();if(!e)break;window.update(e)}Byond.winset("output",{"is-visible":!1}),Byond.winset("browseroutput",{"is-visible":!0,"is-disabled":!1,pos:"0x0",size:"0x0"}),_()}else document.addEventListener("DOMContentLoaded",C)}()},670:function(e,t,n){},671:function(e,t,n){},672:function(e,t,n){"use strict";t.__esModule=!0,t.useAudio=void 0;var o=n(22),r=n(213);t.useAudio=function(e){var t=(0,o.useSelector)(e,r.selectAudio),n=(0,o.useDispatch)(e);return Object.assign({},t,{toggle:function(){return n({type:"audio/toggle"})}})}},673:function(e,t,n){"use strict";t.__esModule=!0,t.audioMiddleware=void 0;var o=n(674);t.audioMiddleware=function(e){var t=new o.AudioPlayer;return t.onPlay((function(){e.dispatch({type:"audio/playing"})})),t.onStop((function(){e.dispatch({type:"audio/stopped"})})),function(e){return function(n){var o=n.type,r=n.payload;if("audio/playMusic"===o){var i=r.url,a=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(r,["url"]);return t.play(i,a),e(n)}if("audio/stopMusic"===o)return t.stop(),e(n);if("settings/update"===o||"settings/load"===o){var c=null==r?void 0:r.adminMusicVolume;return"number"==typeof c&&t.setVolume(c),e(n)}return e(n)}}}},674:function(e,t,n){"use strict";function o(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n0&&e.node.currentTime>=e.options.end&&e.stop())}),1e3))}var t=e.prototype;return t.destroy=function(){this.node&&(this.node.stop(),document.removeChild(this.node),clearInterval(this.playbackInterval))},t.play=function(e,t){void 0===t&&(t={}),this.node&&(i.log("playing",e,t),this.options=t,this.node.src=e)},t.stop=function(){if(this.node){if(this.playing)for(var e,t=o(this.onStopSubscribers);!(e=t()).done;)(0,e.value)();i.log("stopping"),this.playing=!1,this.node.src=""}},t.setVolume=function(e){this.node&&(this.volume=e,this.node.volume=e)},t.onPlay=function(e){this.node&&this.onPlaySubscribers.push(e)},t.onStop=function(e){this.node&&this.onStopSubscribers.push(e)},e}();t.AudioPlayer=a},675:function(e,t,n){"use strict";t.__esModule=!0,t.NowPlayingWidget=void 0;var o=n(0),r=n(9),i=n(22),a=n(1),c=n(144),s=n(213);t.NowPlayingWidget=function(e,t){var n,l=(0,i.useSelector)(t,s.selectAudio),u=(0,i.useDispatch)(t),d=(0,c.useSettings)(t),g=null==(n=l.meta)?void 0:n.title;return(0,o.createComponentVNode)(2,a.Flex,{align:"center",children:[l.playing&&(0,o.createFragment)([(0,o.createComponentVNode)(2,a.Flex.Item,{shrink:0,mx:.5,color:"label",children:"Now playing:"}),(0,o.createComponentVNode)(2,a.Flex.Item,{mx:.5,grow:1,style:{"white-space":"nowrap",overflow:"hidden","text-overflow":"ellipsis"},children:g||"Unknown Track"})],4)||(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,color:"label",children:"Nothing to play."}),l.playing&&(0,o.createComponentVNode)(2,a.Flex.Item,{mx:.5,fontSize:"0.9em",children:(0,o.createComponentVNode)(2,a.Button,{tooltip:"Stop",icon:"stop",onClick:function(){return u({type:"audio/stopMusic"})}})}),(0,o.createComponentVNode)(2,a.Flex.Item,{mx:.5,fontSize:"0.9em",children:(0,o.createComponentVNode)(2,a.Knob,{minValue:0,maxValue:1,value:d.adminMusicVolume,step:.0025,stepPixelSize:1,format:function(e){return(0,r.toFixed)(100*e)+"%"},onDrag:function(e,t){return d.update({adminMusicVolume:t})}})})]})}},676:function(e,t,n){"use strict";t.__esModule=!0,t.useSettings=void 0;var o=n(22),r=n(65),i=n(104);t.useSettings=function(e){var t=(0,o.useSelector)(e,i.selectSettings),n=(0,o.useDispatch)(e);return Object.assign({},t,{visible:t.view.visible,toggle:function(){return n((0,r.toggleSettings)())},update:function(e){return n((0,r.updateSettings)(e))}})}},677:function(e,t,n){"use strict";t.__esModule=!0,t.settingsMiddleware=void 0;var o=n(79),r=n(214),i=n(65),a=n(104);t.settingsMiddleware=function(e){var t=!1;return function(n){return function(c){var s,l=c.type,u=c.payload;if(t||(t=!0,o.storage.get("panel-settings").then((function(t){e.dispatch((0,i.loadSettings)(t))}))),l===i.updateSettings.type||l===i.loadSettings.type){var d=null==u?void 0:u.theme;d&&(0,r.setClientTheme)(d),n(c);var g=(0,a.selectSettings)(e.getState());return s=g.fontSize,document.documentElement.style.setProperty("font-size",s+"px"),document.body.style.setProperty("font-size",s+"px"),void o.storage.set("panel-settings",g)}return n(c)}}}},678:function(e,t,n){"use strict";t.__esModule=!0,t.settingsReducer=void 0;var o=n(65),r={version:1,fontSize:13,lineHeight:1.2,theme:"default",adminMusicVolume:.5,highlightText:"",highlightColor:"#ffdd44",view:{visible:!1,activeTab:n(215).SETTINGS_TABS[0].id}};t.settingsReducer=function(e,t){void 0===e&&(e=r);var n=t.type,i=t.payload;if(n===o.updateSettings.type)return Object.assign({},e,i);if(n===o.loadSettings.type)return(null==i?void 0:i.version)?(delete i.view,Object.assign({},e,i)):e;if(n===o.toggleSettings.type)return Object.assign({},e,{view:Object.assign({},e.view,{visible:!e.view.visible})});if(n===o.openChatSettings.type)return Object.assign({},e,{view:Object.assign({},e.view,{visible:!0,activeTab:"chatPage"})});if(n===o.changeSettingsTab.type){var a=i.tabId;return Object.assign({},e,{view:Object.assign({},e.view,{activeTab:a})})}return e}},679:function(e,t,n){"use strict";t.__esModule=!0,t.SettingsGeneral=t.SettingsPanel=void 0;var o=n(0),r=n(9),i=n(22),a=n(1),c=n(145),s=n(80),l=n(214),u=n(65),d=n(215),g=n(104);t.SettingsPanel=function(e,t){var n=(0,i.useSelector)(t,g.selectActiveTab),r=(0,i.useDispatch)(t);return(0,o.createComponentVNode)(2,a.Flex,{children:[(0,o.createComponentVNode)(2,a.Flex.Item,{mr:1,children:(0,o.createComponentVNode)(2,a.Section,{fitted:!0,fill:!0,minHeight:"8em",children:(0,o.createComponentVNode)(2,a.Tabs,{vertical:!0,children:d.SETTINGS_TABS.map((function(e){return(0,o.createComponentVNode)(2,a.Tabs.Tab,{selected:e.id===n,onClick:function(){return r((0,u.changeSettingsTab)({tabId:e.id}))},children:e.name},e.id)}))})})}),(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,basis:0,children:["general"===n&&(0,o.createComponentVNode)(2,p),"chatPage"===n&&(0,o.createComponentVNode)(2,c.ChatPageSettings)]})]})};var p=function(e,t){var n=(0,i.useSelector)(t,g.selectSettings),c=n.theme,d=n.fontSize,p=n.lineHeight,h=n.highlightText,f=n.highlightColor,m=(0,i.useDispatch)(t);return(0,o.createComponentVNode)(2,a.Section,{fill:!0,children:[(0,o.createComponentVNode)(2,a.LabeledList,{children:[(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Theme",children:(0,o.createComponentVNode)(2,a.Dropdown,{selected:c,options:l.THEMES,onSelected:function(e){return m((0,u.updateSettings)({theme:e}))}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Font size",children:(0,o.createComponentVNode)(2,a.NumberInput,{width:"4em",step:1,stepPixelSize:10,minValue:8,maxValue:32,value:d,unit:"px",format:function(e){return(0,r.toFixed)(e)},onChange:function(e,t){return m((0,u.updateSettings)({fontSize:t}))}})}),(0,o.createComponentVNode)(2,a.LabeledList.Item,{label:"Line height",children:(0,o.createComponentVNode)(2,a.NumberInput,{width:"4em",step:.01,stepPixelSize:2,minValue:.8,maxValue:5,value:p,format:function(e){return(0,r.toFixed)(e,2)},onDrag:function(e,t){return m((0,u.updateSettings)({lineHeight:t}))}})})]}),(0,o.createComponentVNode)(2,a.Divider),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Flex,{mb:1,color:"label",align:"baseline",children:[(0,o.createComponentVNode)(2,a.Flex.Item,{grow:1,children:"Highlight words (comma separated):"}),(0,o.createComponentVNode)(2,a.Flex.Item,{shrink:0,children:[(0,o.createComponentVNode)(2,a.ColorBox,{mr:1,color:f}),(0,o.createComponentVNode)(2,a.Input,{width:"5em",monospace:!0,placeholder:"#ffffff",value:f,onInput:function(e,t){return m((0,u.updateSettings)({highlightColor:t}))}})]})]}),(0,o.createComponentVNode)(2,a.TextArea,{height:"3em",value:h,onChange:function(e,t){return m((0,u.updateSettings)({highlightText:t}))}})]}),(0,o.createComponentVNode)(2,a.Divider),(0,o.createComponentVNode)(2,a.Box,{children:[(0,o.createComponentVNode)(2,a.Button,{icon:"check",onClick:function(){return m((0,s.rebuildChat)())},children:"Apply now"}),(0,o.createComponentVNode)(2,a.Box,{inline:!0,fontSize:"0.9em",ml:1,color:"label",children:"Can freeze the chat for a while."})]}),(0,o.createComponentVNode)(2,a.Divider),(0,o.createComponentVNode)(2,a.Button,{icon:"save",onClick:function(){return m((0,s.saveChatToDisk)())},children:"Save chat log"})]})};t.SettingsGeneral=p},680:function(e,t,n){"use strict";t.__esModule=!0,t.ChatPageSettings=void 0;var o=n(0),r=n(22),i=n(1),a=n(80),c=n(106),s=n(146);t.ChatPageSettings=function(e,t){var n=(0,r.useSelector)(t,s.selectCurrentChatPage),l=(0,r.useDispatch)(t);return(0,o.createComponentVNode)(2,i.Section,{fill:!0,children:[(0,o.createComponentVNode)(2,i.Flex,{mx:-.5,align:"center",children:[(0,o.createComponentVNode)(2,i.Flex.Item,{mx:.5,grow:1,children:(0,o.createComponentVNode)(2,i.Input,{fluid:!0,value:n.name,onChange:function(e,t){return l((0,a.updateChatPage)({pageId:n.id,name:t}))}})}),(0,o.createComponentVNode)(2,i.Flex.Item,{mx:.5,children:(0,o.createComponentVNode)(2,i.Button,{icon:"times",color:"red",onClick:function(){return l((0,a.removeChatPage)({pageId:n.id}))},children:"Remove"})})]}),(0,o.createComponentVNode)(2,i.Divider),(0,o.createComponentVNode)(2,i.Section,{title:"Messages to display",level:2,children:[c.MESSAGE_TYPES.filter((function(e){return!e.important&&!e.admin})).map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:n.acceptedTypes[e.type],onClick:function(){return l((0,a.toggleAcceptedType)({pageId:n.id,type:e.type}))},children:e.name},e.type)})),(0,o.createComponentVNode)(2,i.Collapsible,{mt:1,color:"transparent",title:"Admin stuff",children:c.MESSAGE_TYPES.filter((function(e){return!e.important&&e.admin})).map((function(e){return(0,o.createComponentVNode)(2,i.Button.Checkbox,{checked:n.acceptedTypes[e.type],onClick:function(){return l((0,a.toggleAcceptedType)({pageId:n.id,type:e.type}))},children:e.name},e.type)}))})]})]})}},681:function(e,t,n){"use strict";t.__esModule=!0,t.ChatPanel=void 0;var o=n(0),r=n(6),i=n(1),a=n(216);var c=function(e){var t,n;function c(){var t;return(t=e.call(this)||this).ref=(0,o.createRef)(),t.state={scrollTracking:!0},t.handleScrollTrackingChange=function(e){return t.setState({scrollTracking:e})},t}n=e,(t=c).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n;var s=c.prototype;return s.componentDidMount=function(){a.chatRenderer.mount(this.ref.current),a.chatRenderer.events.on("scrollTrackingChanged",this.handleScrollTrackingChange),this.componentDidUpdate()},s.componentWillUnmount=function(){a.chatRenderer.events.off("scrollTrackingChanged",this.handleScrollTrackingChange)},s.componentDidUpdate=function(e){requestAnimationFrame((function(){a.chatRenderer.ensureScrollTracking()})),(!e||(0,r.shallowDiffers)(this.props,e))&&a.chatRenderer.assignStyle({width:"100%","white-space":"pre-wrap","font-size":this.props.fontSize,"line-height":this.props.lineHeight})},s.render=function(){var e=this.state.scrollTracking;return(0,o.createFragment)([(0,o.createVNode)(1,"div","Chat",null,1,null,null,this.ref),!e&&(0,o.createComponentVNode)(2,i.Button,{className:"Chat__scrollButton",icon:"arrow-down",onClick:function(){return a.chatRenderer.scrollToBottom()},children:"Scroll to bottom"})],0)},c}(o.Component);t.ChatPanel=c},682:function(e,t,n){"use strict";t.__esModule=!0,t.linkifyNode=t.highlightNode=t.replaceInTextNode=void 0;var o=function(e,t){return function(n){for(var o,r,i=n.textContent,a=i.length,c=0,s=0;o=e.exec(i);){s+=1,r||(r=document.createDocumentFragment());var l=o[0],u=l.length,d=o.index;c0&&(0,o.createComponentVNode)(2,l,{value:e.unreadCount}),onClick:function(){return d((0,a.changeChatPage)({pageId:e.id}))},children:e.name},e.id)}))})}),(0,o.createComponentVNode)(2,i.Flex.Item,{ml:1,children:(0,o.createComponentVNode)(2,i.Button,{color:"transparent",icon:"plus",onClick:function(){d((0,a.addChatPage)()),d((0,s.openChatSettings)())}})})]})}},684:function(e,t,n){"use strict";t.__esModule=!0,t.chatMiddleware=void 0;var o=n(79),r=n(65),i=n(104),a=n(80),c=n(106),s=n(105),l=n(216),u=n(146);n(29);function d(e,t,n,o,r,i,a){try{var c=e[i](a),s=c.value}catch(l){return void n(l)}c.done?t(s):Promise.resolve(s).then(o,r)}function g(e){return function(){var t=this,n=arguments;return new Promise((function(o,r){var i=e.apply(t,n);function a(e){d(i,o,r,a,c,"next",e)}function c(e){d(i,o,r,a,c,"throw",e)}a(undefined)}))}}var p=function(){var e=g(regeneratorRuntime.mark((function t(e){var n,r,i;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=(0,u.selectChat)(e.getState()),r=Math.max(0,l.chatRenderer.messages.length-c.MAX_PERSISTED_MESSAGES),i=l.chatRenderer.messages.slice(r).map((function(e){return(0,s.serializeMessage)(e)})),o.storage.set("chat-state",n),o.storage.set("chat-messages",i);case 5:case"end":return t.stop()}}),t)})));return function(t){return e.apply(this,arguments)}}(),h=function(){var e=g(regeneratorRuntime.mark((function t(e){var n,r,i,c;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Promise.all([o.storage.get("chat-state"),o.storage.get("chat-messages")]);case 2:if(n=t.sent,r=n[0],i=n[1],!(r&&r.version<=4)){t.next=8;break}return e.dispatch((0,a.loadChat)()),t.abrupt("return");case 8:i&&(c=[].concat(i,[(0,s.createMessage)({type:"internal/reconnected"})]),l.chatRenderer.processBatch(c,{prepend:!0})),e.dispatch((0,a.loadChat)(r));case 10:case"end":return t.stop()}}),t)})));return function(t){return e.apply(this,arguments)}}();t.chatMiddleware=function(e){var t=!1,n=!1;return l.chatRenderer.events.on("batchProcessed",(function(t){n&&e.dispatch((0,a.updateMessageCount)(t))})),l.chatRenderer.events.on("scrollTrackingChanged",(function(t){e.dispatch((0,a.changeScrollTracking)(t))})),setInterval((function(){return p(e)}),c.MESSAGE_SAVE_INTERVAL),function(o){return function(c){var s=c.type,d=c.payload;if(t||(t=!0,h(e)),"chat/message"!==s){if(s===a.loadChat.type){o(c);var g=(0,u.selectCurrentChatPage)(e.getState());return l.chatRenderer.changePage(g),l.chatRenderer.onStateLoaded(),void(n=!0)}if(s!==a.changeChatPage.type&&s!==a.addChatPage.type&&s!==a.removeChatPage.type&&s!==a.toggleAcceptedType.type){if(s===a.rebuildChat.type)return l.chatRenderer.rebuildChat(),o(c);if(s!==r.updateSettings.type&&s!==r.loadSettings.type){if("roundrestart"===s)return p(e),o(c);if(s!==a.saveChatToDisk.type)return o(c);l.chatRenderer.saveToDisk()}else{o(c);var f=(0,i.selectSettings)(e.getState());l.chatRenderer.setHighlight(f.highlightText,f.highlightColor)}}else{o(c);var m=(0,u.selectCurrentChatPage)(e.getState());l.chatRenderer.changePage(m)}}else{var v=Array.isArray(d)?d:[d];l.chatRenderer.processBatch(v)}}}}},685:function(e,t,n){"use strict";t.__esModule=!0,t.chatReducer=t.initialState=void 0;var o,r=n(80),i=n(105);function a(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(!e)return;if("string"==typeof e)return c(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return c(e,t)}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var o=0;return function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}function c(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n0&&(_[A.id]=Object.assign({},A,{unreadCount:A.unreadCount+M}))}return Object.assign({},e,{pageById:_})}if(o===r.addChatPage.type)return Object.assign({},e,{currentPageId:c.id,pages:[].concat(e.pages,[c.id]),pageById:Object.assign({},e.pageById,(n={},n[c.id]=c,n))});if(o===r.changeChatPage.type){var I,P=c.pageId,x=Object.assign({},e.pageById[P],{unreadCount:0});return Object.assign({},e,{currentPageId:P,pageById:Object.assign({},e.pageById,(I={},I[P]=x,I))})}if(o===r.updateChatPage.type){var k,R=c.pageId,O=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(c,["pageId"]),V=Object.assign({},e.pageById[R],O);return Object.assign({},e,{pageById:Object.assign({},e.pageById,(k={},k[R]=V,k))})}if(o===r.toggleAcceptedType.type){var G,B=c.pageId,L=c.type,D=Object.assign({},e.pageById[B]);return D.acceptedTypes=Object.assign({},D.acceptedTypes),D.acceptedTypes[L]=!D.acceptedTypes[L],Object.assign({},e,{pageById:Object.assign({},e.pageById,(G={},G[B]=D,G))})}if(o===r.removeChatPage.type){var F=c.pageId,j=Object.assign({},e,{pages:[].concat(e.pages),pageById:Object.assign({},e.pageById)});return delete j.pageById[F],j.pages=j.pages.filter((function(e){return e!==F})),0===j.pages.length&&(j.pages.push(s.id),j.pageById[s.id]=s,j.currentPageId=s.id),j.currentPageId&&j.currentPageId!==F||(j.currentPageId=j.pages[0]),j}return e}},686:function(e,t,n){"use strict";t.__esModule=!0,t.audioReducer=void 0;var o={visible:!1,playing:!1,track:null};t.audioReducer=function(e,t){void 0===e&&(e=o);var n=t.type,r=t.payload;return"audio/playing"===n?Object.assign({},e,{visible:!0,playing:!0}):"audio/stopped"===n?Object.assign({},e,{visible:!1,playing:!1}):"audio/playMusic"===n?Object.assign({},e,{meta:r}):"audio/stopMusic"===n?Object.assign({},e,{visible:!1,playing:!1,meta:null}):"audio/toggle"===n?Object.assign({},e,{visible:!e.visible}):e}},687:function(e,t,n){"use strict";t.__esModule=!0,t.useGame=void 0;var o=n(22),r=n(218);t.useGame=function(e){return(0,o.useSelector)(e,r.selectGame)}},688:function(e,t,n){"use strict";t.__esModule=!0,t.gameMiddleware=void 0;var o=n(147),r=n(219),i=n(218),a=n(689),c=function(e){return Object.assign({},e,{meta:Object.assign({},e.meta,{now:Date.now()})})};t.gameMiddleware=function(e){var t;return setInterval((function(){var n=e.getState();if(n){var o=(0,i.selectGame)(n),s=t&&Date.now()>=t+a.CONNECTION_LOST_AFTER;!o.connectionLostAt&&s&&e.dispatch(c((0,r.connectionLost)())),o.connectionLostAt&&!s&&e.dispatch(c((0,r.connectionRestored)()))}}),1e3),function(e){return function(n){var i=n.type,a=(n.payload,n.meta);return i===o.pingSuccess.type?(t=a.now,e(n)):i===r.roundRestarted.type?e(c(n)):e(n)}}}},689:function(e,t,n){"use strict";t.__esModule=!0,t.CONNECTION_LOST_AFTER=void 0;t.CONNECTION_LOST_AFTER=15e3},690:function(e,t,n){"use strict";t.__esModule=!0,t.gameReducer=void 0;var o=n(219),r={roundId:null,roundTime:null,roundRestartedAt:null,connectionLostAt:null};t.gameReducer=function(e,t){void 0===e&&(e=r);var n=t.type,i=(t.payload,t.meta);return"roundrestart"===n?Object.assign({},e,{roundRestartedAt:i.now}):n===o.connectionLost.type?Object.assign({},e,{connectionLostAt:i.now}):n===o.connectionRestored.type?Object.assign({},e,{connectionLostAt:null}):e}},691:function(e,t,n){"use strict";(function(e){t.__esModule=!0,t.setupPanelFocusHacks=void 0;var o=n(102),r=n(57),i=n(189),a=function(){return e((function(){return(0,i.focusMap)()}))};t.setupPanelFocusHacks=function(){var e=!1,t=null;window.addEventListener("focusin",(function(t){e=(0,r.canStealFocus)(t.target)})),window.addEventListener("mousedown",(function(e){t=[e.screenX,e.screenY]})),window.addEventListener("mouseup",(function(n){if(t){var r=[n.screenX,n.screenY];(0,o.vecLength)((0,o.vecSubtract)(r,t))>=10&&(e=!0)}e||a()})),r.globalEvents.on("keydown",(function(e){e.isModifierKey()||a()}))}}).call(this,n(101).setImmediate)},692:function(e,t,n){"use strict";t.__esModule=!0,t.pingMiddleware=void 0;var o=n(2),r=n(147),i=n(221);t.pingMiddleware=function(e){var t=!1,n=0,a=[],c=function(){for(var t=0;ti.PING_TIMEOUT&&(a[t]=null,e.dispatch((0,r.pingFail)()))}var s={index:n,sentAt:Date.now()};a[n]=s,(0,o.sendMessage)({type:"ping",payload:{index:n}}),n=(n+1)%i.PING_QUEUE_SIZE};return function(e){return function(n){var o=n.type,s=n.payload;if(t||(t=!0,setInterval(c,i.PING_INTERVAL),c()),"pingReply"===o){var l=s.index,u=a[l];if(!u)return;return a[l]=null,e((0,r.pingSuccess)(u))}return e(n)}}}},693:function(e,t,n){"use strict";t.__esModule=!0,t.PingIndicator=void 0;var o=n(0),r=n(694),i=n(9),a=n(22),c=n(1),s=n(695);t.PingIndicator=function(e,t){var n=(0,a.useSelector)(t,s.selectPing),l=r.Color.lookup(n.networkQuality,[new r.Color(220,40,40),new r.Color(220,200,40),new r.Color(60,220,40)]),u=n.roundtrip?(0,i.toFixed)(n.roundtrip):"--";return(0,o.createVNode)(1,"div","Ping",[(0,o.createComponentVNode)(2,c.Box,{className:"Ping__indicator",backgroundColor:l}),u],0)}},694:function(e,t,n){"use strict";t.__esModule=!0,t.Color=void 0;var o=function(){function e(e,t,n,o){void 0===e&&(e=0),void 0===t&&(t=0),void 0===n&&(n=0),void 0===o&&(o=1),this.r=e,this.g=t,this.b=n,this.a=o}return e.prototype.toString=function(){return"rgba("+(0|this.r)+", "+(0|this.g)+", "+(0|this.b)+", "+(0|this.a)+")"},e}();t.Color=o,o.fromHex=function(e){return new o(parseInt(e.substr(1,2),16),parseInt(e.substr(3,2),16),parseInt(e.substr(5,2),16))},o.lerp=function(e,t,n){return new o((t.r-e.r)*n+e.r,(t.g-e.g)*n+e.g,(t.b-e.b)*n+e.b,(t.a-e.a)*n+e.a)},o.lookup=function(e,t){void 0===t&&(t=[]);var n=t.length;if(n<2)throw new Error("Needs at least two colors!");var r=e*(n-1);if(e<1e-4)return t[0];if(e>=.9999)return t[n-1];var i=r%1,a=0|r;return o.lerp(t[a],t[a+1],i)}},695:function(e,t,n){"use strict";t.__esModule=!0,t.selectPing=void 0;t.selectPing=function(e){return e.ping}},696:function(e,t,n){"use strict";t.__esModule=!0,t.pingReducer=void 0;var o=n(9),r=n(147),i=n(221);t.pingReducer=function(e,t){void 0===e&&(e={});var n=t.type,a=t.payload;if(n===r.pingSuccess.type){var c=a.roundtrip,s=e.roundtripAvg||c,l=Math.round(.4*s+.6*c);return{roundtrip:c,roundtripAvg:l,failCount:0,networkQuality:1-(0,o.scale)(l,i.PING_ROUNDTRIP_BEST,i.PING_ROUNDTRIP_WORST)}}if(n===r.pingFail.type){var u=e.failCount,d=void 0===u?0:u,g=(0,o.clamp01)(e.networkQuality-d/i.PING_MAX_FAILS),p=Object.assign({},e,{failCount:d+1,networkQuality:g});return d>i.PING_MAX_FAILS&&(p.roundtrip=undefined,p.roundtripAvg=undefined),p}return e}},697:function(e,t,n){"use strict";t.__esModule=!0,t.telemetryMiddleware=void 0;var o=n(2),r=n(79);function i(e,t,n,o,r,i,a){try{var c=e[i](a),s=c.value}catch(l){return void n(l)}c.done?t(s):Promise.resolve(s).then(o,r)}var a=(0,n(29).createLogger)("telemetry");t.telemetryMiddleware=function(e){var t,n;return function(c){return function(s){var l,u=s.type,d=s.payload;if("telemetry/request"!==u)return"backend/update"===u?(c(s),void(l=regeneratorRuntime.mark((function h(){var o,i,c,s;return regeneratorRuntime.wrap((function(l){for(;;)switch(l.prev=l.next){case 0:if(i=null==d||null==(o=d.config)?void 0:o.client){l.next=4;break}return a.error("backend/update payload is missing client data!"),l.abrupt("return");case 4:if(t){l.next=13;break}return l.next=7,r.storage.get("telemetry");case 7:if(l.t0=l.sent,l.t0){l.next=10;break}l.t0={};case 10:(t=l.t0).connections||(t.connections=[]),a.debug("retrieved telemetry from storage",t);case 13:c=!1,t.connections.find((function(e){return n=i,(t=e).ckey===n.ckey&&t.address===n.address&&t.computer_id===n.computer_id;var t,n}))||(c=!0,t.connections.unshift(i),t.connections.length>10&&t.connections.pop()),c&&(a.debug("saving telemetry to storage",t),r.storage.set("telemetry",t)),n&&(s=n,n=null,e.dispatch({type:"telemetry/request",payload:s}));case 18:case"end":return l.stop()}}),h)})),function(){var e=this,t=arguments;return new Promise((function(n,o){var r=l.apply(e,t);function a(e){i(r,n,o,a,c,"next",e)}function c(e){i(r,n,o,a,c,"throw",e)}a(undefined)}))})()):c(s);if(!t)return a.debug("deferred"),void(n=d);a.debug("sending");var g=(null==d?void 0:d.limits)||{},p=t.connections.slice(0,g.connections);(0,o.sendMessage)({type:"telemetry",payload:{connections:p}})}}}},698:function(e,t,n){"use strict";t.__esModule=!0,t.Panel=void 0;var o=n(0),r=n(1),i=n(3),a=n(212),c=n(145),s=n(217),l=n(699),u=n(220),d=n(144);t.Panel=function(e,t){if(Byond.IS_LTE_IE10)return(0,o.createComponentVNode)(2,g);var n=(0,a.useAudio)(t),p=(0,d.useSettings)(t),h=(0,s.useGame)(t);return(0,o.createComponentVNode)(2,i.Pane,{theme:"default"===p.theme?"light":p.theme,children:(0,o.createComponentVNode)(2,r.Flex,{direction:"column",height:"100%",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{children:(0,o.createComponentVNode)(2,r.Section,{fitted:!0,children:(0,o.createComponentVNode)(2,r.Flex,{mx:.5,align:"center",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{mx:.5,grow:1,overflowX:"auto",children:(0,o.createComponentVNode)(2,c.ChatTabs)}),(0,o.createComponentVNode)(2,r.Flex.Item,{mx:.5,children:(0,o.createComponentVNode)(2,u.PingIndicator)}),(0,o.createComponentVNode)(2,r.Flex.Item,{mx:.5,children:(0,o.createComponentVNode)(2,r.Button,{color:"grey",selected:n.visible,icon:"music",tooltip:"Music player",tooltipPosition:"bottom-left",onClick:function(){return n.toggle()}})}),(0,o.createComponentVNode)(2,r.Flex.Item,{mx:.5,children:(0,o.createComponentVNode)(2,r.Button,{icon:p.visible?"times":"cog",selected:p.visible,tooltip:p.visible?"Close settings":"Open settings",tooltipPosition:"bottom-left",onClick:function(){return p.toggle()}})})]})})}),n.visible&&(0,o.createComponentVNode)(2,r.Flex.Item,{mt:1,children:(0,o.createComponentVNode)(2,r.Section,{children:(0,o.createComponentVNode)(2,a.NowPlayingWidget)})}),p.visible&&(0,o.createComponentVNode)(2,r.Flex.Item,{mt:1,children:(0,o.createComponentVNode)(2,d.SettingsPanel)}),(0,o.createComponentVNode)(2,r.Flex.Item,{mt:1,grow:1,children:(0,o.createComponentVNode)(2,r.Section,{fill:!0,fitted:!0,position:"relative",children:[(0,o.createComponentVNode)(2,i.Pane.Content,{scrollable:!0,children:(0,o.createComponentVNode)(2,c.ChatPanel,{lineHeight:p.lineHeight})}),(0,o.createComponentVNode)(2,l.Notifications,{children:[h.connectionLostAt&&(0,o.createComponentVNode)(2,l.Notifications.Item,{rightSlot:(0,o.createComponentVNode)(2,r.Button,{color:"white",onClick:function(){return Byond.command(".reconnect")},children:"Reconnect"}),children:"You are either AFK, experiencing lag or the connection has closed."}),h.roundRestartedAt&&(0,o.createComponentVNode)(2,l.Notifications.Item,{children:"The connection has been closed because the server is restarting. Please wait while you automatically reconnect."})]})]})})]})})};var g=function(e,t){var n=(0,d.useSettings)(t);return(0,o.createComponentVNode)(2,i.Pane,{theme:"default"===n.theme?"light":n.theme,children:(0,o.createComponentVNode)(2,i.Pane.Content,{scrollable:!0,children:[(0,o.createComponentVNode)(2,r.Button,{style:{position:"fixed",top:"1em",right:"2em","z-index":1e3},selected:n.visible,onClick:function(){return n.toggle()},children:"Settings"}),n.visible&&(0,o.createComponentVNode)(2,r.Flex.Item,{mt:1,children:(0,o.createComponentVNode)(2,d.SettingsPanel)})||(0,o.createComponentVNode)(2,c.ChatPanel,{lineHeight:n.lineHeight})]})})}},699:function(e,t,n){"use strict";t.__esModule=!0,t.Notifications=void 0;var o=n(0),r=n(1),i=function(e){var t=e.children;return(0,o.createVNode)(1,"div","Notifications",t,0)};t.Notifications=i;i.Item=function(e){var t=e.rightSlot,n=e.children;return(0,o.createComponentVNode)(2,r.Flex,{align:"center",className:"Notification",children:[(0,o.createComponentVNode)(2,r.Flex.Item,{className:"Notification__content",grow:1,children:n}),t&&(0,o.createComponentVNode)(2,r.Flex.Item,{className:"Notification__rightSlot",children:t})]})}},80:function(e,t,n){"use strict";t.__esModule=!0,t.saveChatToDisk=t.changeScrollTracking=t.removeChatPage=t.toggleAcceptedType=t.updateChatPage=t.changeChatPage=t.addChatPage=t.updateMessageCount=t.rebuildChat=t.loadChat=void 0;var o=n(22),r=n(105),i=(0,o.createAction)("chat/load");t.loadChat=i;var a=(0,o.createAction)("chat/rebuild");t.rebuildChat=a;var c=(0,o.createAction)("chat/updateMessageCount");t.updateMessageCount=c;var s=(0,o.createAction)("chat/addPage",(function(){return{payload:(0,r.createPage)()}}));t.addChatPage=s;var l=(0,o.createAction)("chat/changePage");t.changeChatPage=l;var u=(0,o.createAction)("chat/updatePage");t.updateChatPage=u;var d=(0,o.createAction)("chat/toggleAcceptedType");t.toggleAcceptedType=d;var g=(0,o.createAction)("chat/removePage");t.removeChatPage=g;var p=(0,o.createAction)("chat/changeScrollTracking");t.changeScrollTracking=p;var h=(0,o.createAction)("chat/saveToDisk");t.saveChatToDisk=h}});
\ No newline at end of file
From 82920c588f84d2b68b67c3a8f6ed432874b0d49b Mon Sep 17 00:00:00 2001
From: Changelogs
Date: Wed, 3 Feb 2021 00:02:06 +0000
Subject: [PATCH 04/56] Automatic changelog compile [ci skip]
---
html/changelog.html | 6 ++++++
html/changelogs/.all_changelog.yml | 3 +++
html/changelogs/AutoChangeLog-pr-14184.yml | 4 ----
3 files changed, 9 insertions(+), 4 deletions(-)
delete mode 100644 html/changelogs/AutoChangeLog-pr-14184.yml
diff --git a/html/changelog.html b/html/changelog.html
index 8a9bedea7c..bf38e39d2e 100644
--- a/html/changelog.html
+++ b/html/changelog.html
@@ -50,6 +50,12 @@
-->
+
03 February 2021
+
Hatterhat updated:
+
+ - The green energy sabre's sprite now respects proper handedness.
+
+
02 February 2021
silicons updated:
diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml
index b1958aa814..6db77b0bb0 100644
--- a/html/changelogs/.all_changelog.yml
+++ b/html/changelogs/.all_changelog.yml
@@ -28365,3 +28365,6 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
silicons:
- rscadd: pais can now be carried around piggybacking/fireman
- balance: Meth and Nuka Cola once again, speed you up.
+2021-02-03:
+ Hatterhat:
+ - bugfix: The green energy sabre's sprite now respects proper handedness.
diff --git a/html/changelogs/AutoChangeLog-pr-14184.yml b/html/changelogs/AutoChangeLog-pr-14184.yml
deleted file mode 100644
index d08581bcef..0000000000
--- a/html/changelogs/AutoChangeLog-pr-14184.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-author: "Hatterhat"
-delete-after: True
-changes:
- - bugfix: "The green energy sabre's sprite now respects proper handedness."
From 80b607f7bd555e1d1bcdd3c147d31bae2cad5717 Mon Sep 17 00:00:00 2001
From: dzahlus
Date: Thu, 4 Feb 2021 19:59:57 +0100
Subject: [PATCH 05/56] *pain
AAWHG! Adds pain emote and respective sounds for male and female
---
.../code/modules/mob/cit_emotes.dm | 21 ++++++++++++++++++
.../sound/voice/human_female_pain_1.ogg | Bin 0 -> 12831 bytes
.../sound/voice/human_female_pain_2.ogg | Bin 0 -> 12600 bytes
.../sound/voice/human_female_pain_3.ogg | Bin 0 -> 11713 bytes
.../sound/voice/human_male_pain_1.ogg | Bin 0 -> 15956 bytes
.../sound/voice/human_male_pain_2.ogg | Bin 0 -> 12868 bytes
.../sound/voice/human_male_pain_3.ogg | Bin 0 -> 8959 bytes
.../sound/voice/human_male_pain_rare.ogg | Bin 0 -> 17007 bytes
8 files changed, 21 insertions(+)
create mode 100644 modular_citadel/sound/voice/human_female_pain_1.ogg
create mode 100644 modular_citadel/sound/voice/human_female_pain_2.ogg
create mode 100644 modular_citadel/sound/voice/human_female_pain_3.ogg
create mode 100644 modular_citadel/sound/voice/human_male_pain_1.ogg
create mode 100644 modular_citadel/sound/voice/human_male_pain_2.ogg
create mode 100644 modular_citadel/sound/voice/human_male_pain_3.ogg
create mode 100644 modular_citadel/sound/voice/human_male_pain_rare.ogg
diff --git a/modular_citadel/code/modules/mob/cit_emotes.dm b/modular_citadel/code/modules/mob/cit_emotes.dm
index f7911def84..07a8331698 100644
--- a/modular_citadel/code/modules/mob/cit_emotes.dm
+++ b/modular_citadel/code/modules/mob/cit_emotes.dm
@@ -300,3 +300,24 @@
user.nextsoundemote = world.time + 7
var/sound = pick('sound/voice/slime_squish.ogg')
playsound(user, sound, 50, 1, -1)
+
+/datum/emote/living/pain
+ key = "pain"
+ key_third_person = "cries out in pain!"
+ message = "cries out in pain!"
+ emote_type = EMOTE_AUDIBLE
+ muzzle_ignore = FALSE
+ restraint_check = FALSE
+
+/datum/emote/living/pain/run_emote(mob/living/user, params)
+ if(!(. = ..()))
+ return
+ if(user.nextsoundemote >= world.time)
+ return
+ user.nextsoundemote = world.time + 7
+ var/sound
+ if(user.gender == MALE)
+ sound = pick('modular_citadel/sound/voice/human_male_pain_1.ogg', 'modular_citadel/sound/voice/human_male_pain_2.ogg', 'modular_citadel/sound/voice/human_male_pain_3.ogg', 'modular_citadel/sound/voice/human_male_pain_rare.ogg')
+ else
+ sound = pick('modular_citadel/sound/voice/human_female_pain_1.ogg', 'modular_citadel/sound/voice/human_female_pain_2.ogg', 'modular_citadel/sound/voice/human_female_pain_3.ogg')
+ playsound(user, sound, 50, 0, 0)
\ No newline at end of file
diff --git a/modular_citadel/sound/voice/human_female_pain_1.ogg b/modular_citadel/sound/voice/human_female_pain_1.ogg
new file mode 100644
index 0000000000000000000000000000000000000000..f697996e567dc3823be4c53f61052e032f4f5d6c
GIT binary patch
literal 12831
zcmcI~bzD?mxAz%x=uQDasiCB$yPJUlL6PomB!`re?ogx~q){o6loTmRl~PIsL8*Dq
z=<|E-^WOXU-1o0{&z?Q|>|Seq*V=3EGrIQn1^@=|ub}*0o(rA5yA@3bVS@O%ds#Vp
zqYEHPwdfxJXsm<$`R#z{qI>>3pnIZgf|yUoN##)gSJ=e-I}j0AuVv|HCvulhM3hf}
zpC8@fCit~=vv#+!^^yiFt-(rBVX#tw*~QW7Z$Ak3-(Q%5q7ejuf*l03mSXg`Of==nB+v??+7vJh`zrNZFUxINgMO8_$y@X3?2WF&I|#H
zZi{Dqffe7PFa9iEj2RVEivif6S;CB$b_h8{=cJ~!!Q>h2l8^rlVQk{RT<7YKIC%`b^$uI(P1I|0+C1UI?J@2hO53&Nyk^en}|G^7L
z2uq<|mJ<>xlw$dZEl6-!+UHP3!oM?t4Pu{fFy~F>9gm9>=WP~MQRdI|#Tn*vbXMi$
z|B;}}1l<=fuh{0Jnsp0!o0G-xku#rxOG+U!7{q-0^&hBOR$~e`#jvL#d~01
zlc~I|%1%l!7nhOG(b{SFcf5bWqUvG6M4$L4ut(g-eCJL)Gcfntrr=;44_)@(;Ufpi
z&2oWuurPu-BniiglBJv_oyjMeIK4<<7*@*kBuPc1DpC(l$5G}J@rQC|0Ei;}gW`XZ
zKT!UQ;?lHuu2IhBF~N5{=%luPLSnbEpHz`h07Nm52#De*ty@pM>&4Za%Ub75xyv%(
z8nCjz8U+fK*(OCEhwhJ(#N>F5!YV+m_)o!oXPqQtoc@nEdBmVk&IZP5L0$tPX@nud
z*w57@+jprw+HAphZ9Zge{)stF%zp>gzcmK{l_u(sPG(po3JeuQ>L}p-74Scr<4HM`
z$}p13s@cS<{hnw1hp_Ik@HB<8zOc3dmDx0v?+mrAfvDMxi0ur*cGk~!vCZ~=dx%Nf
zzZB-L+N{m{{)gtERpgd<(igQftpC!SBF?1GVoA5v(^yT?*dJxt$K_S!KK)u%jQ`&>
z$05EVC%z&!emgdaGcL<9F0Z*k!bS_vQaH{#$cYy;#8rYL2oO>wjoYuKZ45ap8^1Y-V{R3KXybP&N~YinT7Kr45j~fjR9+Cg|%mdLB?hR0384*
zO5@N4lM+XgYPw51;0xf^{j`wBDcfL(8X#3nR41YLnNrsfcSsc9VAxm}faY39cs>zO
zeNT$5FjS;pUW5ypJuE;U0FVNM0&i)(Ce%lYlqLl53NwbqIm*)CtHXG+XoX;G<>b~I
z1tss*M@lnjHRB6Q$*tq+z)k=z_$7Egl|luPqXYmeLO4DwIs-ld+e(3t3T!gKHN-0l
z3?{^(j8X9dIE9ga3fnFk
zBFtzIvu(CZ)S<>8Y=pEIsS&et+Ow^`^I0KgZLVfH!sEi|p|mLxvp$F=QLwRyz7Ikl
zVQXTDFfp=SoI@DTg=kVD<_)wLsSt=Z#Ntm^M3(QG58}SDtqF~h33VuF&DZ8aN-C?{
z++Nl<)HLl~G`Zb)wSS?OXP1}9SzXN@U+q*~?V4Zhyp#n#R#rFd3?O&Foefdm3}YUCCH8n}#^WAf^3Wpf(pFuMu$ugs+%bN@mxRKi;id#-Em@{D0e`mA#ykE0i*h4t
zkaG0onF|W)=*eAq2mhHIHb{NHj(5=1Kttfqss>D*_d8oZdO7jVQCov^m|E9$4bcbj
zfIitDMT-*Da~ReDnDGH5vl48(R2VA0#ZZRDvQHK`S$LS!O5QQmpifVxwZ2tfrl!5x||iW0p|Q(A*7DDaLK7)0;dTVNs&WkFXkM@@-?)`(PL
zr@)&S+`oJ##Bo`oNF}xlB0(Pz^fal&z&(9|vq`*9P477iHv}mKLY%g&AW~1GgwmQ+
zL%j-|4kXD?9QQfMq8fCCMx8IZqLo$>toUG>SeAj_5a;zYGO6Y{+p{pKcdUD
z|5W_{PkcP)E{Y^p=+E#*JLOTN^ySPMVsehM|OZ@GN9_pW*p2j~pQU%U`RgnLa%OF+2d;YgET!ZsD_y{)E
z11)b99E5Q=+ESDGr0Ls|iRO8Hf`D5v8z6@RAmyHjoKid6WO$`$ykk?)5Qn|U)_`p?
zx6lifflBT)LJJz3xXvhISZQh2lz3T+eg<5VEea~{C_YFlIS7Cj0SlmwP05uj0`LiK
zfL@3~1SOz%&tiv`4+Fysj}99r+WL+7*B0>Ls9+PLro@92hc_#yFTe=!@bPb8%Eb(-
zd>p{`p<9pOJCGn%AdMgetqs0fZy(-WsiPQ<<#nvWVmR)fLoX5lNC032hm?$LoI&;R
z5UyJ6FjPHm1WyB81{ff{xPV+5hLVz!(9ra!BMA8|K?SR|NUrYB0sZ0yP8-=mR$v
z)}IqJ7UPpYMF9E)jV^CNP}7L2t81vD02CIA1VxS_K;eTQEEFyZ>-*m2(LM@-!bXu^
z?_FQ*eLg~ApX?v(tV~W11VJ9)VUt~)e3B*115jI}s!l!gm-XGY0|(+WCg`{5{3jDeV8<2TrZ)OwsQ7rj*u>JLsR}DT+0fbJiajj>R8Jkz(
zEP;F5Wh>mH&RQ53Wwe*^s#(3Cl
zY@+IX7usYXF;|?U&2=v49KKcp=GR;0j|WZP-Q@CohiMh`>kd$K-kp8ZiNxpgoBO$v
zY{8+CQmA)(;-_4)RgYsV0f#rshDMn8CC+1vGYA2npB)Y6jCYKfqM45B-4u>|+?E!X
z4pd|?f_uYi>dNz~0TTPQ?}IN|R=;nX>o^AeT%oyYzu9$`pN$FLO60gaG75aa2LLa#
z48wnRJw=@bNJ;JK&9gZDKJIeyXIzm@_L7_PB=FeSRqWy?w1M130Ln9qq?C8$@5m7W
z9nT!h%Ie*ZraYz2zfQR`pa
zkwI8TZYr_br#0Wx%n1Unvc0Pw=?brbK6@B8P;t7en-tvao7oj(E)*9cBzB@jSchq4
z=WxA^zHaGhpT8%2RHraJnN9~>OHG&ol$vj^zSC+Ain!y4=~y?!-vEHsQwHSD>v|N2
z&$DxS#tJ1#nLPkFDH4MW=67*K0%@aUs~pVnT_YLTMs~`Z6yQb<*@p59!#1nV8!Ojk
z6#RBwOV3cb@nko@fr_vyzt3}GQdf&IPBP|ZRsYPu
z*7GH&0UJHziLiZZ#3vv1LL2}de>fJ=Y~eIq3@~4_qvGSyYAoZod=Ge<@T)?Xq;rz~
z0rz6oq!cmGyCo|qfXN_=AtwPN4}p}b(rPl}_u`!!U^|1i4nY3}yS&rI04hwUXQe-$
z>3Wl???Q_JBG>FV@2#^zL6F`P`mqu)RP(j;m%^nSUZ&mS=B3SheQ@xsAT6esmER(^
z^~LDC?O9ux5QifFF2BGk)*K
z@|-OF%62tgF5eC55ztjypa0eySxelDX%+Jfr~D*cov1R_ud&DnDmW2bBnQr
zL?SIF_@P%y!O$MHwX!QLy!XMBoN``dw9?RGq!sZS=4Qo3KYUF}e7&A;wrfomP;6Al
zh(VPBjtE{PP#>0+!Ig_Dz;jXV&GZ&Yn-8~w`93Z#BsKtNRV3I^|7
ziN%E60G{F!@k;P*s5;5K)Im)~yA;`z?E!K{@@rZY#6dWW_W+6a6r*^(^9>ZG{TpCU
zQb1>$=&h9C#u1NeO5ckNmwH6}$K4>^nK7h#jCD>ufub=lI|`|5jHg)12?Znb$Y@6}GV5)0nHb`ew<*YH00yiZb
z@8d$`Mg8@Uu=Kh27=VS_4-Nfq$v5K%W!N!OXi7x!0AV=S^##?%4~gpQ&9Lg1o(l|H
z66{EjD2dm>8w5-at&alCeyr(tWKq1w;yPlG1OPZuOdKXI1u&!{$JikOoWDK14NyVG
zG7NdsQ-e$JrWBpq@6jQkt%sY!*G*
zko$fKvccL_)0)lu_0i(QIuJ4DzPh-XGOODr7;*sYLwsamXvl8hq4ZkZqU`l>%m*ZA
zDpAv*?e;B1ij-#NVC{u#y=LEAm|i<^&?9~kj@barqY9ciB|@M_9d1xQxujvWM;t}o5CPqM8*
zOoFJaOc-vjcRip0t}BRKyVQ@?#!_Zaw>ci?z$4!gKB@=k!?N
zbN+nAck-v+T8h0l@@NZEs%ORGq~fw<#RKlWD6uWCIAe1!oGbN(L<9xv8@EyGBi7g&
zMBD1fed8a@T2GA(?9SH-f*F7PC*kDaFr-vb=
z$QYJ?iN~*xd^jC*cLCHc1>}{tFz_0o>R^6mLbdD1F|nhjX%~(j~!P!j1oouSl0+n;e`f3cl!g48ua;=^^VHq#hQY{Lgb^|?kB=DOXv6w-s
zihi1pQ{+}}?9|oXdkmqJ1HCYI#k)o{ZZX}e`#xm-AoIUf$Fr}59&%m&!c%-$Fw}3+
zD)OsvHk0hvN2_@HxEF5pj*}(oHEuresL9l#ueW#aQ4H^Yd3HE1Y>N%#I5gxzm!6>(
zAtboTVgX{nbvDtyQQdF4aQZN;8{6%;pett)PJfd#9GeLUZUPrHCC&t#d?p#X2?Qd%
z_~3vZHqr+G)TqCU5(DL#kxb1?%5U?Ww+-3~Z1MGL4r_nL4F%qHEVH?utAQhVl^o>u
z`b<=vjc1dXt2WRtH=fJiuX#k$y5d_+6D--gYTUmP5y!nde5G64(H>6;Et=!atWCS=
zVWa@g4HEx(V%&V*9_c*x0fP|iEk~2}e(mB^i-7s`Y}!ur%6UA{&+Pi#{CdQEcm{?3KP;bEkJZ9d)xu;tIoRj5-oeJdC
z5!RRB*Dio}_{yTapYehq{WPGTOUtUEI1bb`Z0seiqm9(BRxxq%u&8<=jwmd41
z3Z8k{w%vG}M=MwqDMp8HX;qlBsM4O`FjUHf_T*dV)Hge2C;MrdDPfVW3kNM%
z;vue3usVU}?WZ*uge)Yx(_k33?fn{h;^$qc;oty{`n
zM$hX%@42gocpQ85;bTpub5h<}VW{Ut5FAd_dc3uG+j`g49Q6R#iTEC7ef33;Ma^1K
z*1e0g(9T3>dK2L1E1sE8T$81!8?2^x&GM+>z%VLIzrwBOY;8wBHv{HNLGQsvzeo=V
z^L`l^D#Qi4a}WWG4WcM*#T9wA0_!CRQbm)wn)Un$0+feC&H(T#S}F>G#ov$9^d5?j
zb54W}$laYniD+L7&n%^-yA_Zf`=?q7?97v&S>&dCK&p9+m%reH+cEp1K7@)4k->y>
zO&M1jKc^eC9&YYgK}%D6f#N0YA}GQ|%2n7&!%Q}q{dhJ!h&7=_=Y~Lnl#z7$cYUu5
z>uyt$5zyYyz1$O({gw?~{0aJ|I6>PS+1cAtYhsoMO*N|Sm-R}-w04mvcyoJup9>);
z`{$3EmT`m_^{&j=6-?hSX$(>VinW1z-(G4ey~%q@deYu^;kJ8uT-wtH;JG+r}
zjLBpUN^Is$w*u8$%B?5MqmOViiiEQ6FRx9ue+)NEW>x&)TAgqCF`(-Olf;~|5ht^~
zap+Yb;;fNp@gr^PJLTaiA$#(V){Iu8O4oHXoGXG5^N#9NK?W>RuXemUqG5T#uh!o4
zaa?)lcq*E!#FPtBG%FM}7&_wjL=x3A3qp&d+>_6Di{n%e=|wXVs+#z@F;7{?
z9cEM(;oXzb`ufHI=mmfPiw_7hTm{`cTFb`bv(%4R%yCpN9$P&j2usTAdGd)6Q%w%>
zY5Y#p52>T(Bri@1lS(u5BN@%TS66ojLLi0w_k(k*!u;|v@moToskMqj&fPD6|JHXI
z+ryX5jAErhuC-c*j;psUu3;Irnj*M?c<}+Ln69Ta*e@-B(SpWHAb-0PILS3&=?+tp&BuXnpq!UjSfO
zeYHMj^mC_Q)JFfjJ#ebg@sa0gL)25hvk&T3Lv2&r*z&idy~I6bZ?Xh(v7EJdhQ4W>
zLoP8AJT@1J`gr8rN!w1>M+YRXO9oBV@R*UjqSK`#l#4DHJ*C{-uiiw>|Gs-rY!kGr
z6%MRtw>YTANtnt~=U-Dd-`x9R-&>~AJHCuUmOBdIo|?($UoCDiCdtM@4z}0mq;xB$
zuQRgvdZjU$bE6_mY}`G?&6cB^K6u!GZ;Iq5cQa9lM+Uwc(%AONy!zIcJ)rRhEaqg^
zFjnmuX)`Xit`GGPT?V|*rQz@EM|K|dsswr5P<5y1#mE7CupZLk$(1$CUk`7Ae|IRy
zd7#sK$&vG7d2>+7@7+e%$X)-adft{5N%2?GylbJia_>?56vaL-GV(Ok&j0*&P(aSi
zwa+XpewbO{>q~PxWRBoZg*7vpuJiD-H;WikjMdn{`swwHGuN5B?eXrv0f;_HI=h5P
zhw0>S%WLu`oVz$1Ve}TyPK#B!4+_&;D+FGC1^lmLXVVt<_m{)OyJc4|Zs})#YHO>>
zrPTF%NPY85o4#PmozlYRQO+T7CY7$4>74e*CFa8OOamQX*LZ~$QLIAO=!y%P#R
z!yqypjP%ta&SAYmaLJ5NvhSz!lw0#(9^qriOXFHV66G|r$cuEoaYq(oe|MoCgX@tQzgod^9=m#+`S0-?{q9%A&uwO-VY^*{nSAt3cnG4W?vNQ|_7S
zp=Oe?AroG-Qt*o|W51^*dL*8MOrMZC1!3GyU^`lOmuEH&WDoXalI)gh;ODwCD11rz_(lLiEYy$clqWj;(l_v<{;|B<$_Am)|KFP?RgVK-n~
z;`$;Nd5Bti#R4_~o*FZXz8+IKf=udamYmZEqiXSjUZ3k99>4Z92IBF!F}s|xX6`^g
z!#vQ(8!=G_(k{>J`4eel9mDb{aTa{;!)JTF!Z%5n%FA2fihkCWL8UPQX6r%{lW%eF*=6Pm>
z&1`VD-{ze*{#ZRW+pbUH%-hnP@@9*t`~has7;OUQ#cCVkOPe<81kZG
zC2f_+eDx7i;KYPUwq(?MGRSDYgy!Jz#Wg~eMV=~gxa||yqukCTi3SfZ=U6CHgWbxS
z{|ipPUCbVdtp0Xw^Sg^d8mURmhs&!Z9~e{ox=OVa9NotDXb_$VSJEc$>yHMp0k-wT
z4!{J*ons4xDJzlJobu|W37wh7+Dt)$8J^c7pr`cvR$$dr3}o{rM^|8C57CCAGg_fl+NDbes)PY9e2@SV2v?lbH%1lwv4
zw-yMF-@*4>s%zC*Y#}>LVi3HsqFiX~lNL^=(#ddn`YuJY(TetxkP^A=h#Akkct)Z0
zyhIK2dK`hO#l4_VwwMZ|P7!VlaRjY-_s&LVTEaf|{B;rMV+?%IWj%w0$Clp#uBdNA
z%wn;NW(W!EF#+(P8cj65u#vp6?XMIZ=cZbK-zvaEArGU3Bo&2cxJhfzSEr>ed^Dti
zd~#>mb@0hLx^B#~IqrYIV}TjAuPUBD;LQ>>$XUi`U;NPjv<843F%uPEa+_v|nUpI@O9wk1b-JW-&RP
zO`V)HK$DG-VeU+cAp5TuHabKH_lv)7yO$0|sDP3e8K)0Sjz(gqRJlmp*l_`Xi=PQf
z#p5f@pFfrS>N>ndQW%vw_Tq`>@B8igmc-Z*f}9YKh4uP-4-e{yoE>IG7)n>a>8E5~
zhZ*Z+NYM;rdx)+D55D~{X1dO@|4K*ykdyQIV%mOxzxh$!=6PEF(ARbnwaXR)9uL0x
z*Hk{~^qxs$6aCc`H^tdBHHXDSJ&)WPvt)FOK8-LpTE
zwq~SqlXH&nwXeOx7kdr@H4WLH0xWtECk8&V(bDNg)qOZtn-&%w&
z%YQy0J@y#G<8#q363rXGv}fcaw*_AiB2^Uq&R06~8=^77(SYCi-Sbo@6z@uL)c?Wv
zEmI+Xn=|;s=H#=Ch#9Fq?VhAxfzRa1x|b;`&)=%dP)%ND-plioL^kGfe|G4eku7TV
zV$2CS9>JO5Cvy#s#zMfqDF>P*cXAgxe;Eri#lQqwKK&>Q*^eea2AISM9mYiMwWc)-
zAKcxarr7$7Grr7u_x)E)q-^*QkYoi+=?b5)a6V)Nm}NqBr%HlNmYy*)9&W}B{0P`B
zbRW!b^`gR8lAaNpwO$I2R;AF=*$E)@I0>aEd%?2k)b>F$JgFL(Fz
zK0-y9NpafOdS00mVgsBN-)!Q4COh#zJECxCeK*ziIFfYJ{ap%PBvi|m{3IYD%%i^O
zvtm3$S91w@Ul~Dnn(%tEnXutWPD-BZ-tpz?(ZLiN*Z}gUd4s*~kKeRU4Kb`PJ8E~QlXYCW>>r1~Wl9}@ulTvz#bYL>uv?kDqMKRDcdfoojC)=Bo;q(2^y
z%uD9iKY7CtMlE~}Gy+_YafbWrN~s{EQNa2HpPgOXYnJg7&8cNd
zr+wB^so5p;%6nT7=sh`fkJoih>bWc-1Rmm!L8zOsVBLv7vUX(GN+wC6qFIR-5}Fpa
z4EKQFSR^aM<3&`KL;&*ssrHiDbUHLs%`l)0_j=ZEFy`p=?xJVTw&$A%5f`Zq3Ti7x
zj;_=0@NRpp>PRt@omk|DrL0Q#E-kS;r<6tEK~5h$VWaOSCX#f=uy@{HpG@On30X{#
z;nf5xK{X#bot{znmkrxxa`{k^(6uTmzSHBV_N_d}u~XNsSfK7~aJd(xfTPQT>G0my
zZ~egWaqDK>K0k8mrp)W^diD}yx5y8~>`!uEdC+6-jEXQ!PZI-L#(PXxAuJv0g5>7E
zZ>NLA5^_$6+JEGVP71EWkS%`_{hV4Ve02#c+$})kHmy8l2aCBZS5#;+ypwO`_p6Hr
zlb#D_tOJ@{Xez(fH4DERSeko5#%cS?$5^-V34V0IOe5hcfg}SyMXqjtNZ!)S
zTCcB?fwk~NyMwklbK7g#GzP?aiO`Qgk_-)J)HM#u@67L;ZgZyaDE%YY>+#bW+U*~C
zgk)7XVjo>^JhX((_=YwIwG!lfZg^4_rqM?-003i4I3TqxUC#9}auv}e3CCf^OKgu`
ztDTf0*xhuSnIZ^*#vt9O(1{m&~w&m#aIvj$eAGyHQKrtk@dkg+Cbzj;_AkdwL!F
zKvR*3QVhG0>PoSdH;-KTO?x_}<0q$`fj7MqWtw-c=eafH@7^HPa$A*JrwTu{+jTzr
zreAkjFNGIz=AJ!MdaQ)_m5BKGDB?=>in`@BLvS|F9NJtj1+S?wtF^_0ZQ5p>BSF2-twmvywhvoh5(Cc>4FT_-O`~}CgTVVS0BMat
zeH+=ojRQOtH8iO;{vulo|5fO+WvDVV@*HlgxWcZ|3+*LbuhbsD1s=&OP)|$n?0wwL
z1A=L;X^amVz8E}AH7@=jUy40;hrqo&b5~8#VW*5A@r)+iX1UxM_PeCQD}4l~3M0zk
zt7Y|+DNJjUXg}o{%Rnn)=b^#EZLu)CW=^_@>WkBCKkmUeOR>032II!{OGj^oJThKgdbx0PI~{$>r9v)Aw5@oz(Ecs5>&s-ywSV}STOkvd5nXGXd
z@r)CL`~3U#ZR`+b6ZW$&f^+ukIVul0PlpCBE9uShSRX%%nwuNTT45FAQ~4*@SW^RSE+8Zr%w^35+ifF)yClR58*Sj9m)lXsf~MoYPht%M|wo8xU?
zxYju{>NnFdP~@LDpj;=8=ZOK3cZ>M&)g@SZ#(AeQAl&YXh8i8<-Y(*heqcTW#W2GF
zrUEBhu3lxEk%v|w7=NDqFrzSd)h$NhKNze%53%RERXLE9>?;=8WW`fCYj%DMD@=Sa
zxzB2tJ0+?@mC;jTL0|cJCR&T^7HpixGR-@jKy6&N$HGDSYaj6y;zbb!Z)?&+nmhZp
zN7I$IJ)Wnx3QU=TwXI(6mf$>SqOfN!N$HhrF|s+s;+Id(#?PDRfc|<`Lv+t7HL2@1
zcB%J%mE3QqEh=mPDK7T%==@7nL>b0Ik>#a8yUl@t)3E{lD;gy_NY%jRRZ(FNM`%5B*Tts3mx859uRrI$$^GTp%@Pn;R^
z!x{4TiHG9mZ}6RnHfj7|t~gTfr{Xhb$$tKPjQgAA0}rQh2jAtiTNd47
zeSy5*W*G`Qad+F76X@f4UpCQHBENAhATKZ4N$hH?7I{he17nHj0Y
zXH~;n$~y4uJ!Q?rxM4!~=&?TBM}AQyN4{x*J49P)fQa6oGG}
z@9(|ucklDu@2_v3Idj&YH8X2gPVB8|Z?6MDfqy03=&0UX@PNf!140k+ardxt^t`Qr
z$XDF{0l?cz$e;gah~{n2f2Z4?w;0!hU_C;aoBu1Vqx>BR55%im`q&AJ+!elmm;c_q
z+YSui&(_V_-Nx2K5=2^q$ooPdlAqDV(dutM2-@F&PPvDA5C9YGz^~5Oi=2pq0{|fa
zSg>;9C)lZQ7AEF$_@yK&-$K3jB2p3~dMT}=`TPDU7=>)e000$0a$v>gZ>TtpiP=-K
z$9m+5IX)6CX2gipUJ=9kaC*nut*E}p*=>xI4HM504FH8Bqs$aW3cD?=!kJ!Bg2hW(
zj{&CQ3=eFslAK^{fdR%4b%Cvdgh%3ACHb-9+Z^>1ayY#8Q>yCxvwGH5ZRn=YJ;%g0
zGyYXz{o#WVoQoVfl?|aB=I!v|oJA=f;81_rVg!&Nn}E`5Qk5Fg;Tqb}Nmk8c9&Hlg
zNkIi2T@5&xyiN6eZ0CKv=Y0@{DPhLV2*c(u{{ZCjGV66QfJQ#l@JOF??m4Wf}dI%|b3iW$R
zfLX~)elSse^oKgZKT5b&I{?V=)Al~09R#HTp*7ua0_tcmNMR6;U|2+l$u@{gL
zrcAqJCnTm|oaG;}Ai-fNb1@&{{-p#q2+v((Oq)nM85P4%ThA#aO`qzoI|O-IjIwAo?|MwX@!3wKjL(Z%F-#Yj%qUlzmLiiZ09(YhEcj;0QNPU
zNZTlBAqAm`#B}zC7Tv$&{mU#$%`(Qi#J++(B0i-%w_urq&`+C;{ZXvjy8muIGN9fp
zKT`H(1~VdJ(XB|CikK4UyaLxz-p@e^|_@CmB
zDgU+Ng7`?TA&$BcfnlE8qN00DeCKU9;X_=0(29A4K`V}F*vRs%5>s|AY?w3RE=+`}
zau)veC{U@4HgU4(RDYc0MT*A|XEEp%|Eah`)^Q@b$^XdXN3`0+Y+#-g;MEb7gzLif
zeOwLScrP}EnSS(Mo<}Ut$Cy*R`0s}GZ_fchrwRSzlZjT*{QVgrkL0laD)=AIc|zL%
zns)Ftt6D9q#uU%!v5@A8&?Je1wvdJnndu~%_cXb!&VAEqVcTiA?W~XOLZhv56T-0Z
zUk>xvZIizXe^6LJgZ^+9lvDzh_uqwtgX^K?EmID
z4w1zvk;UPWo8hq>5y_4bX=N>WE<;s2@BW|p-=3r7!3t*3a}+#S|HE@S`Dq`5-c-w@
zaq^c($w^S4UJ4ZdsQ>`zjKfv?6GyaRyt6RjSr{)|SMq=N7!W%vq%kc73N{G;zzdKb+i&I5LO~DF9gE!mv5R5@BPU8*#89{&iZIs#tM`
z&X^b`U1%gfdS(bAXCbZ580RK!=!ookM#zLL2LLd3LcpIKhmef|K*$cP#L
zsgWpXlG@IbXy_*kjgks$>%vD#;Iq2$MRE;zBbx?^hT0EZIEezB3_hK#0dKG!7qVT@
zg_}~qXB%x7$piF3vk}x-AcxP+Y0Nfw&nF{H8(mFPghqvKhteR0&w9ZZ?}LqnwY}il
za9cxNxS^iy!W>+G4xvU0pV!e?AcMmj;R~m(@MQ00FSxP3ts#Y;A$b58&6np8`6XqI
zZttq9%WHQpYu#vC_b!#w?9$RW%F6CUmN}J`xu%ynFD8SJC1tg{sb$Hq
z@tnZ*&%zcdxLOZr6#mdam^av3e?%<%`dAJ&xLP(N=oaRZ+K<*Q`z9M)zqTOE9WU>1
zK7A1?ZVTEp5(SV!V%g^WF^UWT2#NEIGSi)h(j3@w3%v%hUhjT+bTh
z{FZpqM>&;S;;y`X{}AWwBR8((?K9F*<^MCQUL)tdmWEFrPP}vE)*uZd>&mu%YJVPZ
zPxi;rLIt!O22=q?Yyin9&$(G3gekT`TZqcEk&&+}hMpUm%(cN78gI0j5t?kZOAA6E
z19Mgt4T*_H(GBDPptS;S@GL@#dcFZ+FDg)hJn+$)&wpW36vKQCiw0E;
zi{#%du!$98XDW;q+ssKMl>;@NEQeWGkZ1(%GSTqCE$n>2@|3ioZg87s)aqo){3P)dREano{4g*RE5OWj{Nz$R=71_(D4B$ooo#{{I(1oO>7w@+Krku!1#{EEb*ORt}gL01$0CBD5CNV`!0{^ooKTVz!BK9Z22g`8{C(8cF=)VJ5m7*f
z^`mIF>XhMEhsS^HAr7<;raxx&9ke6P-do+=nhUkKuVphQABtlYniVX7Rt
z;3L>r3yi#>Fwl&HZX-33SG=|@(fzc?Um@TU%m&Dy14x+|;WKh)n?#Q|)nPU{RWZ(*
zH>#ZLjP=xlg`kr=4N`)^CZZ)2pR=GKc|xo(PCF5%#ukbx>nPSo`JfK~BLXTw86KA^
zlLKJm+5nvpxnNR2%fRA0nT@Z7z(
zh9dK#Pw`VPnithd@ZEiJLOH@=nwbZ~_;ct*0ssL345AYf
z5slI+z3j(O4j;f&i5SFE1*ZWfNGAp$6AzV_mly1x{CWf-W)_fxS$PB#|3!l(Dk|t9
zV7fhUqoV#fL8Gp^|EU6QPtdpZN_3}inEbxnaK{x;Q@kx;Qi1
z2Z68>34g(S{EmPjqk5_Q;E9XCM7jP@4qj+E9EoR3@k;R9=$EGMCig72yEhH(=9+r$
z8CiPi9@>O-#cc<};fYD5JVXEw5yEPfI^e86JBL-%qx2#(KYvTqcWZXvZ}sH^^qgh(
zuXM$|DPYEJEMI*R2`Rj)v7~F{q8LB^#eX)cG5}*d7>+?
ziIXLy#+QQqsI5lU^FD!oW`aX1-fc_wn)}WMFczFK!^u$kQzE;-WUCTK)$g*d=CgEdRn)_yS4d9
zc!)g8K0Po>!uwu(IqtJhpT3V0E$ZavL4oF<0ZVPTX2J7gEbnc})!s{RQs77`L$
z^X-0uKfh#~BfJ}0aP4pbcq*mQkAP)TfB)G;;EZDQI5g10Zl)rDS8PVbiIpV4f57;d
zZO>C@XJ{6WtLe-sC#wjBcitVft)ru8IVjdjvO^0V8}%3dPr49K{rPrE
zUxc=vic;@2z5nc*(Bk)2TF`y>JZ&tCa=w$s*DItN;1;~VV$3*M3K$83m_HrrhMhz{>0|rS
za(Y@Z@=hG0f^r)a2Ub^y-v~?obS&*9PJgpfGF$nLj277{h@93!2YyRF4P)Gux*z>=
zJdycJ2GRlf(5Iz$Gx@&+Lo8H+!>-_O#?w&&RG+7NAvGt@BlbRC
zSG{BAuV3+dNiKjV(DEXGN&BT>uMxV(@d3V6&L>;V0@ItHNyBUat5e&3rdGe_EJKqN
zYi-9vPW+K8y{Nj(!2PF0!X+}#l1cVIxZ!eJQXp$c=MtE0A?hBdqdHXSVTxYMci%8P
z-94yK_ggWaU3q1%`igj*LRKXww<}6r@m)gRMEUt0&b`7HDsv;gcThiart?%~5W**a
zWbSa10Dut8d%-hno51tYCD%UpD;???Yz4Gy69&~GsKj%!6^3$bnX}VWAyVnHUpgP|
z=m^SAZHkX~)}=yuUA}zMc7PDD32pPD0UjlIhD5R!n+^?{gi@Y4rBTIn;L`IA--0Q3
zsgN4@1>Fvp+l&SrA#3uGFOuJF+1?T%0OZ~$LgAT!Vp3D?!C&oUX5RxX;*H=Hl?`Xs
zgP+Oxp-{ZZD??fRx|3LSn-C~9Tr&c*z{%;|ukE~-29Gn9?iULl&5VSU%QY-yzGp3V
zJz?X^=pbz#yh>RTr#caDek7BU_R!6Rqm}m#J3ITWqOa`+50frjB#lG*Uc?_cdR0r+
zl%{&lUInt&T_P?&r;hDwav`RUou3vTLIv#+nUxH}r}To$Dax&uVOeh<#8yDP5VoW|
zm89rMlyy&Cem?xqZ{Qg*Wj*&h{ZWAWR>An@{T(;1J3-Hne{Fn{TOw{1g%gqBTTsJN(gH62*;kLv0ZEGT~E4{KFhL$!4kZRh}CTP>9|Tvi!QZB_9)>0g2j?tg^#zZM&N=X
z?(K2A4#jaOat9TRD+@6xFL8Hq>UWI?%PV=qlQCRiI2m+}lPj_HP`$_QX9QHc3UUn4
znx8d*)3=Q>$l|9qO5y~$4G|kz#-B*6`!<^*+=NI99KZ&KlSx-A~;
zyL^B1+E%Ngr$eQgwCRc8?_$*KGf$L~F=xfTBENEKVMDSTdR~!t>cmDI*NL@rES@#2
zSd97vavem0yyP~|8unkiSo7^i;J;P>-EO|RtWX+$L8WA-LUUxi1=#$#E
zNpSIRL~Yc>o0jN##ih%#dhhe*V(_Tw-r(~9UeDS_!+%SdH)dq`Bg2Okem(4LRYgM7
z)7qo%c`mgVO-}3f6or%zQeiPBU1G&>XE#0mrkBC+&7eUD&~-!1k{DcOS0p!oKL}h^
zO4@@Bj^DlED+x~T;=$aR9;s=fr)=19S;d}x+k_EPzErmLUI645!x!68k%U2CxZCjen-pt<#&9gw=llhJ&q*SgFvZ($AMDDZ+;UWsGdo#
z;rxWS`U~IauoC0khoiWRuNcluS$T=FEPxtTe-@Q4dF)H8!h5+{v~H+C^X>y3B~top
zE8xq!Ko@I;%}6VQQ(5o>lMw=l``*+rgMFR{w9NwZ_JP)_>r0D2TlKt}oh&ArM;9@Z
zX&EB4TuSa!GnVJSG>lOM?@LJ)hydMywsZ{faW}&fp?%2Rp<)LTpslmzMECqtfPJ-w
z7L}HkTW>mL<`NDan~FtZd559uMs0(F1ve*AdW_}2rKI75
zhP3p}d-(moM-GllwY1jlfpdKphkIs3Qud-FYuj_JPhk(%!bwPTRv>Z!va$!490)aP
z=(bxjEn-GzLoDwYYbv@&+#H|qag}fdeMHlh8D-S_Tf6JV!*nk0vESaCoZ8wv=)uGf
z<;P9c%j;3PVQF7{L>|arn(ZnfG>HiwP7QX#COzcta6)&r`2ZI)Vf$?6&7ba5n_1Pz
zsS}R)nQQB#*_(IBNy#oQz74;UVH;>q`TUeds~Fu}kk@lVK7zwjvF`|h2j%#hl8_h2
z(SwhW%_-poex)?PnYKPXWjuTmcHkoFn3neIK;3d&S~ecJQb?JkL8bKk53nG-KK*o2n4jxa?}0^3LNh{H@vuw;S({
zPqYVAxVHx>q2%=!9r~^ao?o<%U03DjjZvQ{pkHb&FTm9N1`^Id26XB-%X7n!B
zqYy_cFE6eS{Bvdu&rYELaaV!ku%85h&kGZaT-RM`aqkSx&2TwKo>YV}Q6IS5~Wy+2nr$?ypD
z$U7*IQ{XK?{F43y+T)dDV~{!12S)uKf@i+dMj3OMJ}2IqN`TB(x7k6P0IaZQHeOmf
z5~zubG#8GDO*%
zGe~k|Qs+flqvb=f0@^O_;ymL>6Fzb0!jl||ayRcK&)Ew8@}@52RsMg?Ffgx+
zDgjX{RNU*$a2yk4`aD}~C986~egr8z+XFR34kiFsRPCep&DLQQWH2eiBzb+J&b+K4
z)Hz^AVAnC`gQC*nC=713h5(GO$6s=-b6q!{%u!hYz{CT_FUhHk`pnChMbKlRjD=?fU*fwv7
z^u7-OM+>EqDK7z0zeA_G%YYezKiE=7@$%DUiTAokPd1nzBx_H
zsXrh<2^{_IQ#1>VoDxq0nb7SV-okfB31u{l+j`YwD6~>sTbY$jb(WK>`Y!t;1$Dj5
z2lTmG01)vmPHiZF<_&r1suQv442{wvgPjLF_f8g-v1#BeL-J{F!Xv|nSk892Kdu(b
zu12fVGd-KK#g9p3H^~Q?
z9oR_F6SO^iicwRMOr!jGDDR*{x2nrpc5yVJxiQsW)V3m+^VqDsy7y)Sx=x>`}wj^EEo4)BcWc
zY1c-|Ab>>6VPUieN|d3>cH+uJr1vZs5de@?+&Lc+Q)@j`jc}XrYiSMWkhB7JD)h>M
zRP`Zts5;BGR*VIaUyfRQ*HuKwp2YSeI@x#MjK(5%R@sw8wNZ;*D~ui`-GKu4KJCYl
z#h#hFjVs(~NCadyHM7k)H9SUNR@W7rs`s+vTv0Nx6maL!%z{y7OIz5o+>>i4c_U!fz8x+aoIUcg>
z)Sy?CHYdO`-mggxAlC@5%odrfmr)-_y;A`NK`%;Ymnsm^tF|nW(J6
zD{p4b;4e{pStz>hW5D2hhw
z9C3kXf!@Yer2KEQ6X{N_e|eduOwk9Ql&iIxd;;ZwGzt8m>_eFk@1YzH69achz(jAP5=j!A^LlGhVbNa^J*)3Nc=|VW&NMh24
zyDsIOq(TR5p7tsN2M9Wx;tQMcpN&>l;6xaaa=BL{-?Ajl&mXkgqiJoJx-9d`A63?A
zvuOA;*t+r2xA@=mHy!Y(XZx+g%2{%;uMxeTPuy3g#4dEtT9e{Z@c|?g)2a21J$vFS
z({=b^QIq714M0e;`Kycid(P$iibbf!^_63N&D|ufMDLypWt4rQ1-(~JmdE+l3t^$)
zy(>H2$iZ8S&v%ASTz01}yZl;k0ntF5JK*~e7XgLUh)Ev9qfT?$ui0OHJhC*ew%4Fw31>6gT`oaKgJVjQ3Rv^j`s(AinS)WlfFiDhImLtV?
zGLDuyi=jOE4NDqp-056}d|i9c0UYR5Cu1z72WbIF@Qn-Lav!Iet_O}6wbZnDlAFxY
z>3>JHwcj%{A*l&j|3qgN6}adOY6}p4oB2d1dfXk_%wD%iY;yN%;^9!oBMjET8}nEc
z4qB1JXwMRh)1A#+Zmc3S2CX=$frsK{dV?SlN{~o@MEJUf0=dckC}d{z=9|09@n19*
z#${GDfL9K7ax~LR3vH^bj|^}Khz$3EBLgcGu4FIeOR-t{=EnpPRW|=I8I?kjv7R&f8!`35
z&gnb
zklaEM`tE5Fj9#V2S`7t|yE?A#est>^vpy}Ia7DaS3I4RA9e&g#<)grbYeqoy)9F11
zz)?J^wkeQCyL=sxZOWguCV*P?G?(|M??W!m$^c1~YUdN^)*H3>{Z$4^AL(@03CDSV
zDW}cKsQH}8V5+95_{5^(Zc~%;_j&=r0v{D0sfvpb*0Y$fz|Ch8hZ;xJnd+F66=BrE
zc!!Cfv+K?H8Oe?=rhW|0+^TYhUh?=9rRAs{I=XRA&dfL;2d!MjxdWg1dPN}gN8BbO8WxR(P2g~rK
zN_738ZL~C{Mi_Oab66eA5FnbwTkZq4%s~T*(?IAB5iy?(2JqAzgF4hZsOdb-4KJTR
z+6JT0SDK*Yh^admi^DF=Fp_zZu=gBiz9oQZ_uc2yK`0V1G?dNaFV&rX$tR+)E1R=s
zdVTg(EQzhvFu>V0quOn)GDYydJJ#D&;L)E%*lI7v6%V&uKWg^NgMJ!HT^f=~Ib}Jp4{}Jmj
zh3g4%1WSIofAIdClWa8d1NB1tlLJkvRwHc_%e-^5RzOBuqocrP+W`ITCZJ)w<$vSo
zM-GEh?hQXp>d5>6l?umI#(J}hq~GRoTLl1dJd{p0U?2bh${`s*Dq2pq(pw%GHsHci
znHpy7aj+cWy;YuDxlFFCXbBsY;kJ4CpmXPeNR(I-GamCVEqwA8r%EzBC6Cn14Q%er
z>GBBL=qh(lnt{Gos@jtyk&EgJm!Sm9?
zqvgaZzYXMK^JbNVDNZ}XBuk5BuO%WcFq{h%jtclN*D_sB)Kd-BKT+G1T~{!dou*
zuHtl>!g5RB^SaR~0~S#mm)kF&&n?baHKp)-xHTfi&kT${BCAk;Zx}7Js$_O2g@~QA
zs7D^gOn1#vm|$91@g8Ndp4GlRpbJ9>Uj+tdeV<;we!ewva?vR`Qi;F@%pBGrol5j?
z=*h|go_}w8MD8sZOF?iYg#(Q9YRgQog70o$rI6x--y=EOt
zv}?&a6{TxfD+4_cL2O|XD_+s&8pEyApB=;Ho6`GOQMjOhH1uDFpG>SIn|+vLcadyW
zn;lJ-`c@^~)Q}y&;D``ZuWlAk`26|eW4)rT@UwFJz+%UfOvkpN$FwmH>h}3$A-=ET
z+&%{+ZQy@JL8hT^t5wpSibyXu(q5-OQgYd>*QzBh>p!JgqvZ)YApkl}j#{fvE=hsi
zo0_^6bSVy9j@Pb=7BxB5XU|g(Byw#hX1n9rkgV07nG3=gvL$t;A6CFmcHWTsgsZ%{
z;_~(RO#J(3Hy{2nrG=Yf_^bqsb~C77=Rvd_-k9aoKD2{;Q600+t{#PQ`qDG0lx*
zN6O8eEmu7u{nM(lqF7ND>etrBupDcu#XS#AIb<2kk?s>Jm*nVkpG{I50V?mCeDO!C
z+v*A>rH#5jdXK|QiMG&^j6WFmO(Gu99rsTgwiR+Q=JLyoQe&+yNzK2`IjGqSW&dsC
zo~8a`ZFH+Td3CPw*ZWIK4gIv9??SHy8RmHbK&GJTCMW}v*2=dGzxKh#k%R7>s{=ryDcrJouIDSlc#bJv|D9{D)M
z4cQPa&u37zh+q}GX3@cX`NFn-~hiJw+NV&nr
zY*qr)6UQZ%;npTKlBRC9V}OOG&O9YBr$l6iG2)z2DdCcb@nrOZUenhe1($#?1^C5^
zq^~+4CPs_iD+OQeAm#fC-w&3)p4@sBW9PK8GdMFi-OsjnU!3kCby{KvxvG8jS0n%T@v2Mz2@DC(?^+rJ^7~vD%Cip!=?e?%gy3O>E8FY
zes(lu$9ZwvNhD#I
zFL1}&afNBEsnoWXVUdbdX4~V!ySy>z*Y4$2JL|-xMUVICPQ(+E*6jimA<@zZ_S69(
zvd%i3ii>nI+rEeU@?>yf59X)Lo!sJC?{D~0I?*tWMe}}};faFxFWl(G>sI@QZG=)O
z(hq*!ND@^GXY$jMWL*R$&o<*CnxX|Cte*w)y06cRyTtVv#08aSu5N`VVXe#)#x>qO
zM>3s^kW}}Lb0Hh|n>M`Bdzu+{JM=}SzIGi}u8ey}q?Zoz##Rik
z&)HR;TNc^~jv^`zEWA)kF!ZMmdCY8%{i1ex@?K$)zHS(!^?>m=%o)&sI{seIAjNCH
zd7#RT^)ZbYZP#gAUHYY?R0`W2wiMp0D=&n5*+WNl!KI})VQhh$X3)=HX?>PEd4j|k
zyIp=O7Kn|oH=WyYrQeg#5`Y<|=8e^d0!Rt#&kEf#1r?1{9|(N`GvNZemSY!UsnCxL
z$#q7)_A`SUTin<`+Bq20JTOst&;k4Y4lA;`)0k_IV%zc!$s>W*?>&1{SgoI_yZ6aS
zpEoTvW7z;6((oBy2hj?YA4R
z4dV1ue2w<&A`5|ZOV=~M*rJRIw0sj+VUWi+#fziRWI4I9-uL2%ot|DTkYa-Ck4xei
jEZC)nU+V*zt
literal 0
HcmV?d00001
diff --git a/modular_citadel/sound/voice/human_female_pain_3.ogg b/modular_citadel/sound/voice/human_female_pain_3.ogg
new file mode 100644
index 0000000000000000000000000000000000000000..c21d462ba5801051c481db886b009079105402f6
GIT binary patch
literal 11713
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
CG1dD3
literal 0
HcmV?d00001
diff --git a/modular_citadel/sound/voice/human_male_pain_1.ogg b/modular_citadel/sound/voice/human_male_pain_1.ogg
new file mode 100644
index 0000000000000000000000000000000000000000..0dbedfe7e8d75f16c1a833d325a01cf413143a1d
GIT binary patch
literal 15956
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