Commit Graph

1059 Commits

Author SHA1 Message Date
Shadowlight213 607809396f Fixes biogenerator (#26743) 2017-05-01 16:27:44 -06:00
Profakos e9eeadca1a Old ore processor cleanup (#26398)
* Processing machine cleanups, can smelt bluespace and titanium

* Another forceMove

* Lack of typing

* Rewrite using materials container, a target proc for container's release sheet procs

* Alloys

* The dme

* Nulls references on Destroy

* Makes the smelter infinitely large, like before
2017-04-29 20:45:32 +12:00
Leo e803369fd9 Merge pull request #26634 from Core0verload/tochat_master_race
Changes some << to to_chat
2017-04-28 08:14:09 -03:00
oranges 36ae39e4db Merge pull request #26368 from Sligneris/R&D-Console
Changes all instances of "RD Console" to "R&D Console"
2017-04-27 19:59:50 +12:00
oranges 0c4d50105f Merge pull request #26601 from bgobandit/cmobane
When jumpsuits take severe damage, their suit sensors break.
2017-04-27 19:32:23 +12:00
c0 ee049b38de Changes some << to to_chat 2017-04-27 04:20:26 +03:00
oranges d95e859e5d Merge pull request #26386 from ChangelingRain/initialnew
New() goes in the trash, we've gotta Initialize()
2017-04-27 10:15:10 +12:00
Cyberboss 729010bbb2 Unorphans the blackbox (#26129)
Moved sql_poll_population from server_maint to this new SS. Moved few remaining server_maint tasks to SSping and deleted it.
2017-04-27 10:04:57 +12:00
bgobandit 4f4405819f When jumpsuits take damage, their suit sensors break. Can be fixed with cable coil. Changes all suit sensor var references to defines. 2017-04-26 01:21:17 -04:00
Joan Lung 228df13447 Merge branch 'master' of https://github.com/tgstation/tgstation into initialnew
Conflicts:
	code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm
	code/modules/station_goals/bsa.dm
	code/modules/vehicles/atv.dm
2017-04-25 07:32:06 -04:00
MrPerson ff3f84ab81 Replaces /image with /mutable_appearance, where appropriate (#26518)
In cases where you're creating an image to use as an overlay, it makes more sense to use a mutable_appearance if you can. The image will create a static appearance for not just the image but also each intermediate step if you change vars along the way. The mutable appearance avoids this unnecessary and expensive process. The only situation that requires an image instead of a mutable_appearance is if the overlay is supposed to be directional. MA's ignore direction while images don't. I dunno why, probably another BYOND-ism.

I added a convenience function, mutable_appearance(), designed to emulate image(). Also went ahead and set the default plane of /mutable_appearance to FLOAT_PLANE because it's fucking 0 by default.

Several overlays that were image() calls were changed to just text strings when I could. overlays += "string" has the same result as overlays += image(icon, "string") and saves a proc call.
2017-04-25 12:15:16 +02:00
Joan Lung dc0e007a23 A bunch of Initialize()s now have return values (#26464) 2017-04-25 10:51:40 +02:00
Joan Lung db9d86a39e New() goes in the trash, we've gotta Initialize() 2017-04-19 18:22:26 -04:00
Sligneris c5aaa07949 Changes all instances of "RD Console" to "R&D Console" 2017-04-19 00:32:35 +02:00
Joan Lung 44b85bf82c Some more logging (#26139)
* Some more logging
And then you'll be a lumberjane!

* space

* beware the...

* hmph
2017-04-13 16:20:57 -06:00
Robustin 7db828644c EngiMarket Part Four - Ranged RCD and Rapid Lighting Device (RLD) (#25263)
Two new items, one brand new, the other an RCD that works at range without any other bells and whistles.

The RLD allows you to create floor and wall lighting along with temporary (they use fuel like flares) glowsticks at range. It can also deconstruct lights. The best part of this feature (besides the visual "ammo" updating icons) is the ability to select absolutely any color you desire.

🆑 Robustin
add: Ranged RCD added to the game
add: Rapid Lighting Device (also ranged) has been added. It can create wall, floor, and temporary lights of any color you desire.
/🆑
2017-04-14 09:31:43 +12:00
coiax de35ec5f67 Partial sparks boilerplate reduction (#26081)
* Partial sparks boilerplate reduction

- Lots of obects are making `/datum/effect_system/spark_spread`, setting
them up, firing them, and then not qdeling them afterwards.
- Makes a `do_sparks` global proc that takes the same arguments as `set_up`
and then calls `start` and then `qdel`
- Switches a bunch of things to use this proc
- Makes emitters keep their own spark_spread datum around, since they
spark so damn much.
- Also makes some things use timers and ports some things to Initialize.

* Compilation
2017-04-12 19:59:45 +02:00
Cyberboss 9e1ef0ffe2 Global variable wrappers (#25325)
* Add the system for managed global variables

* Travis ban old globals

* So you CAN inline proccall, that's neat

* Fix that

* master.dm

* Remove the hack procs

* Move InitGlobals to the proper spot

* configuration.dm

* Fix the missing pre-slash

* clockcult.dm

* This is probably for the best

* Doy

* Fix shit

* Rest of the DEFINES tree

* Fix

* Use global. for access

* Update find_references_in_globals

Always hated that proc

Whoever made it must've bee a r e a l idiot...

* __HELPERS tree

* Move global initialization to master.

Fix the declaration

* database.dm

* Dat newline

* I said DECLARATIVE order!

* Here's something you can chew on @Iamgoofball

* game_modes.dm

* Fix this

* genetics.dm

* flavor_misc.dm

* More stuff

* Do it mso's way. Keep the controllers as global

* Make master actually see it

* Fix

* Finish _globalvars/lists

* Finish the rest of the _globalvars tree

* This is weird

* Migrate the controllers

* SLOTH -> GLOB

* Lighting globals

* round_start_time -> ticker

* PAI card list -> pai SS

* record_id_num -> static

* Diseases list -> SSdisease

* More disease globals to the SS

* More disease stuff

* Emote list

* Better and better

* Bluh

* So much stuff

* Ahh

* Wires

* dview

* station_areas

* Teleportlocs

* blood_splatter_icons

* Stuff and such

* More stuff

* RAD IO

* More stuff and such

* Blob shit

* Changeling stuff

* Add "Balance" to changelogs

* Balance for changelog compiler + Auto Tagging

* Update the PR template

* hivemind_bank

* Bip

* sacrificed

* Good shit

* Better define

* More cult shit

* Devil shit

* Gang shit

* > borers

Fix shit

* Rename the define

* Nuke

* Objectives

* Sandbox

* Multiverse sword

* Announce systems

* Stuff and such

* TC con

* Airlock

* doppllllerrrrrr

* holopads

* Shut up byond you inconsistent fuck

* Sneaky fuck

* Burp

* Bip

* Fixnshit

* Port without regard

* askdlfjs;

* asdfjasoidojfi

* Protected globals and more

* SO MANY

* ajsimkvahsaoisd

* akfdsiaopwimfeoiwafaw

* gsdfigjosidjfgiosdg

* AHHHHHHHHHHHHHHHHHHHHHHH!!!!!

* facerolll

* ASDFASDFASDF

* Removes the unused parts of dmm_suite

* WIP

* Fix quote

* asdfjauwfnkjs

* afwlunhskjfda

* asfjlaiwuefhaf

* SO CLOSE

* wwwweeeeeewwwww

* agdgmoewranwg

* HOLY MOTHER OF FUCK AND THATS JUST HALF THE JOB?!?

* Fix syntax errors

* 100 errors

* Another 100

* So many...

* Ugh

* More shit

* kilme

* Stuuuuuufffff

* ajrgmrlshio;djfa;sdkl

* jkbhkhjbmjvjmh

* soi soi soi

* butt

* TODAY WE LEARNED THAT GLOBAL AND STATIC ARE THE EXACT SAME FUCKING THING

* lllllllllllllllllllllllllllllllllllllllllll

* afsdijfiawhnflnjhnwsdfs

* yugykihlugk,kj

* time to go

* STUFFF!!!

* AAAAAAAAAAAAAAAAAHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!!!!!!!!!!!!!!!!!

* ngoaijdjlfkamsdlkf

* Break time

* aufjsdklfalsjfi

* CONTROL KAY AND PRAY

* IT COMPILEELEELELAKLJFKLDAFJLKFDJLADKJHFLJKAJGAHIEJALDFJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

* Goteem

* Fix testing mode

* This does not belong in this PR

* Convert it to a controller

* Eh, fuck this option

* Revert controllerization Ill do it some other time

* Fix

* Working controllerization

* FOR THE LOVE OF CHRIST PROTECT THE LOGS

* Protect admins and deadmins

* Use the inbuilt proc
2017-04-06 23:26:13 -06:00
vcordie a85cbd6532 disables telesci (#25923)
* removes telesci

* comments out telesci
2017-04-07 10:37:29 +12:00
coiax 7554b5f454 Language datums; removes the talk wheel (#25333)
* Initial burst of languages

* Scratchings of beginnings

* Code review I

* Compilation!

* You can now understand your own speech

* Fixes whispering

* Gets typecaches working again

* Remie's `PASS`ing

* Back to pass() to stop the compiler whining

* Why can't drones check their languages

* Everyone speaks how they should

* Removes world string debug stuff

* Currently failing to massage radio code into working

* The radio transmits the languages!

* ,0 to talk common

* Replaces speech wheel with language menu

* Observers can speak all languages

* pAIs now speak languages FOREVER

* New action button for language menu

* pAIs have an action button to open their language menu

* AIs can talk and all that

* AIs have a language menu button

* Fixes supermatter making strange noises

* Fixes AI holopads

* Fixes request consoles

* Fixes bots making strange sounds

* Meaningless MMI change

* Some caching of datums

* Brains in MMIs speak common

* Ratvarian AIs can only speak Ratvarian

* Tables can speak common, apparently

* Removes var in args

* Fixes the (AI Eye) problem

Thanks to Shadowmobile for their help with this one.

* Fixes tape recorders

* Fixes humans being able to speak in languages they did not know

* Adds some new posibrain names

Honk.

* The voice analyzer replies in the language you spoke to it

* Gives swarmers only swarmer language

* `initial_languages` var.

* OMNITONGUE, clockwork restrictions

* Fixes barmaid and bardrone language abilities

* Code review I

* Omnitongue correction

* Code review II

* Removes force_compose var
2017-04-02 21:03:40 +02:00
Joan Lung ad1fb2c9b9 Makes a few things use admin macros 2017-03-30 14:58:05 -04:00
AnturK 4acca6a105 Advanced cam fixes (#25601) 2017-03-30 08:38:16 -03:00
XDTM 36ac1997d7 Refactors Golem Names (#25471) 2017-03-25 19:47:08 -03:00
kevinz000 e1fd0292c7 Update experimentor.dm (#25441) 2017-03-25 19:41:36 -03:00
GunHog ac4d69254b Revival of "Allows AIs to deploy to borgs" by Shadowlight213 (#25184)
The AI may now deploy to cyborgs prepared as AI shells. The module to do this may be research in the exosuit fabricator. Simply slot the module into a completed cyborg frame as with an MMI, or into a playerless (with no ckey) cyborg.
2017-03-24 21:42:48 -03:00
Fox McCloud 7db6a982d7 Modular Receiver in Autolathe (#25401)
* Modular Receiver in Autolathe

* forgot this
2017-03-25 09:21:50 +13:00
ExcessiveUseOfCobblestone c93b5e91fd It's an "upgrade", not a "potion" (#25379) 2017-03-23 07:35:15 -03:00
Joan Lung 942cc65ffe Merge pull request #25225 from ExcessiveUseOfCobblestone/forgive-me-gene-machine
Tasteful Botany Nerf
2017-03-19 16:30:08 -04:00
uraniummeltdown a307bffc7f fix monkey recycler board not showing up in imprinter (#25233) 2017-03-19 15:54:01 +01:00
ExcessiveUseOfCobblestone 65f3af3ec7 Gene Machine! 2017-03-18 00:18:17 -04:00
Xhuis 764ec63713 Adds the power flow control console (#25001)
* Adds the power flow control console

* Minor cleanup

* Adds some new stuff

* Tweaks sounds

* Added access requirements, admin logging, AI restriction

* Part 1: Remove dem consoles

* Put dem consoles back

* Small patch

* Some work I can't remember

* Sanity checkin'

* Maybe now!

* Sanity checks pass 3295912

* Sanity checks
2017-03-17 15:57:56 +01:00
Cyberboss 012eaec1b9 Mob Initialization (#24840)
* Mob Initialization

* new_player Repath

* Fix the dme

* Fix the shit

* Fix a loc

* Fix another loc

* But, in my haste, I forgot the cola!

* Another loc

* ANOTHER LOC

* Further docs

* Where'd that s come from

* Fix shit

* Better
2017-03-13 20:21:12 +01:00
Lzimann 5a618297ce Replaces the default output with the to_chat wrapper. 2017-03-10 01:32:05 -03:00
PJB3005 a63608d023 Merge remote-tracking branch 'upstream/master' into rebase-to-vg 2017-03-03 16:31:00 +01:00
XDTM 4206c96ed3 Fixes abductor surgery designs (#24593) 2017-03-03 09:30:51 +01:00
GunHog 55c173bea5 Allows more mobs to use advanced camera consoles (#24550)
* Allows more mobs to use advanced camera consoles

Lessend mob type restrictions on advanced camera consoles, specifically
affecting drones and cyborgs.

* Remove borg adjacency check + Restrict AI

- Uncomments to AI restriction
- Removed adjacency requirement for borgs.
2017-03-02 19:42:23 +13:00
vcordie 6da76d83fd Adds the mech tesla cannon (#24252)
* Adds the mech tesla cannon

* makes it not stun

* fixes a dumb

* fixes another dumb

* makes it not blow fucking doors up instantly

* corrects an oversight

* Revert "corrects an oversight"

This reverts commit 73c713a3649deee6945f005f3c14ec926c9559f2.
2017-02-24 09:53:35 +13:00
Cyberboss 56a6eaa8e6 Overlay queuing (#23922)
* Overlay queuing

* Fix SS flags

* Don't copy on assignment

* Flags processing

* Fix icon_smoothing

* MSO's helper proc

* Legacy detection

* Make it work

* Fixes shitcode

* Fix the flag

* |= -> +=

* OK, how did I fuck that up?

* shitcode

* Conditional assoc queue while initializing

* Cleanup everything

* Orange meme

* This isn't perfect, but its the best byond will give us.

* forgot about dir

* oh ya

* This was litterally the last thing i did last night before heading to bed

You can tell can't you?

* Fixes various shit

* Let's not ever pause

* Fix the flag

* Cleaned up some missing shit. Added image dummys

* Remove the one usage of FPRINT

* Jesus get rid of this
2017-02-22 21:44:55 +13:00
Pieter-Jan Briers 9b20c1e6c2 Merge remote-tracking branch 'upstream/master' into rebase-to-vg 2017-02-18 23:40:34 +01:00
Pieter-Jan Briers 180c566468 Fixes 2017-02-18 23:39:11 +01:00
XDTM ee84022d37 CRYSTALS ARE MADE OF CRYSTAL 2017-02-18 00:46:33 +01:00
XDTM 668c8b6bae Fixes a design 2017-02-17 08:30:22 +01:00
XDTM 6d1b976cbf Adds a bluespace crystal material, balances some R&D recipes around it. (#23984)
* Everything

* FAKE CRYSTALS

* make up your mind

* eat your bluespace, dear

* Reverts upload board cost, increases power of reaction_mob teleport
2017-02-17 09:50:49 +13:00
kevinz000 0ced9342b9 [READY]Aimable wizard lightning bolts (#23723)
* ZAP!

* YOU DID NOT SEE THAT

* YOU DI NOT SEE THAT 2

* object orientated pr

* gdi

* protection

* object orientated pr v2

* REEEE

* blacklists

* Update magicarp.dm
2017-02-08 18:31:52 +13:00
oranges e56743458e Merge pull request #23629 from XDTM/TheLAW
Adds a Law Removal Module, other minor law changes
2017-02-08 18:21:26 +13:00
Iamgoofball cc0a982573 Deepfrying : MAKE SPACE STATION 13 GREAT AGAIN (#23618)
* MAKE SPACE STATION 13 GREAT AGAIN

* MAP CHANGES

* '+++++'++;,...,':+##+@@#####@@@@@@@@@@@@@@@@@@@@##+'`..,,,'''''''''''+##++'',```..,:;+#######++++''++++;.....:+++##++''''''''''+'+'''+++++++#+++########################+';;:,,,,,,,::::::'++###########
+'++++'++;;`.,.;'+##########@@@@@@@@@@@@@@@@@@@@@+++;...,,+'''''''''''###+'''.```.,;#+#######+#+++++++:'.,...;:++###++'''''''''+'+''+++#++++#++++########################''';:,,,,,:::::::;'##+#########
++'++'';:.:`,..:;++#@########@@@@@@@@@@@@@@@@@@@@++#'....;''''''''''''+##++'':```.::+###########'+++++::.....;;+++###+''''''''''+'''+++++++++++++#########################+;'',,,,,,::::::::'##+########
+++++++::.,`..,.+++#########@@@@@#@@@@@@@@@@@@@@@@++;:..::'''''''''''''++++'',. .`.#+##+########+##++++,..`..,+++++##'+''''''''''+'+++++++++++#+++##+######################+;'',,,,,::::::::::+#+#######
++''++';:,..`.;'+++##########@@@@@#@@@@@@@@@@@@@@@+';:;,::+''''''+''''''#++'+,:+`::+++##+##########+++++...`.'++++++##:'''''''''''+'''++++++++++++#+#+#######################''',,::,:::::::::;;+#######
++++'+++:...``;+''++##########@@@@#@@#@@@#@@@@@@@@#;:++#::+''''''''''''''#+':,;'+,,+++###+##########+++''`...#+++++++##::;;;'''''''''''+'+++++++++++++###+####################';';,,,::::::::::;::+##+##
+++++'+++`..,`;++'++##########@@@@+#@#@##@@@@@@@@@@:'++'+,+'''''''''''''''++,+'''+,++++##############++'+`.``;++++++++#;::,,``..:'++''+'++++++++++++++##+######################+;;';;;:::::::::;:::;+###
++++++++':.,;:,'+++++##########@@@@'+@+++@@@@@@@@@@#+++'+#''''''''''''''''+++'''''+++++##############+'++:`.:;+++++++++#:::...``.` `,'+'''+++++++++++++##########################;;;;;;:::::::::;;:;;;##
'+++++'++,:'':,+++++++##########@@##+#'+++#@@@@@@@@##++#'''+'''''''''''''''+#''''''++++###############+'+:;:::+++++++++++:,...`.````````:+++++++++++++++##+#######################';;;;;;;:;;::;;;;;;;:'
'++++++'#:'+'+,+++++++############@@++';+++#@@@@@@@@#++++++++'+'''''''''''''+#'''''+'#+###############+':::+;:+'+++++++'+',,...```````.....:'+++++++++++++#########################'';;;;;;;;;;;;;;;;;;;
++++++++;+''++++++++++#############@@;':++#@@@@@@@@@@#+++++++'+''''''''''''''++'''''+'#+##############'+:;+'+:'+++++++++'+:':.``````````.`..,.;++++++++++#++########################';;;;;;;;;;;;;;;;;;;
#+++#+++'+'''+'++++++++############@##'+:##+#@@@@@@@@@#++++'+++''''''''''''''+++'''''++#+#############++;''''+,++++++++++'+:+;.``````````......,:'++++++++#+##########################;;;;;;;;;;;;;;;;;;
+++++++'+'+''+++++++++++##########@@#+#+''++##@@@@@@@@##+++'++''''''''''''''''+#''''++++#+############+'+'''''+++++++++++''+,':,`````````.....,,,,,;+++++++#+##########################';;;;;;;;;;;;;;;;
++#'+#+'++''''+'++++++++##############+#+;+#@@@@@@@@@@@#+++'+'+''''''''''''''''++''''+++####@##########''''''''+++++++++++''+;+:,`````````......,,,::;+++++#++##########################';;;;;;;;;;;;;;;
++#+++#+''+''''++++++++++#+##########@@#@+'@@@@@@@@@@@@##++++++'''''''''''''''''+#''''++##+############'''''''+++++++++++++'';++;.`````````.....,,:,,,,;++++++#+#########################';;;;;;;;;;;;;;
+++#++#++'+''''++++'++++++++########@@@#@@'#@@@@@@@@@@@@#+++'+''''''''+''''''''''++''++####+##########++'+'''+''++++++++++++++'++.,````````.....,,,,,,,.,:++++#++#########################+';;:;:;;;;;;;
+++##++++'''''''''+''+++++++########@@@@#@@+@@@@@@@@@@@@##++++''''';'''+'''''''''+++'+++####+#########++++''''''+++++++++++++++++',,.``````.....,,,.,,,,,:::+++++##########################+';::::::::;;
++++#+'+#+'''''''''+''++':+#+###@##@@@@@@@@#@@@@@@@@@@@@@##+++''''',:;''+'''''''''+++'++####'##########++''''''++++++++++++++++++#.,,.`````......,,,,,..,,::,,+#+#+##########################'':::::::::
+++++#+'+#+''''''+''+'+',,++#+#####@@@@@@@@@#@@@@@@@@@@@@@#+++'''';.`:''+''''''''''++'++##+;;+#########++++'''+++++++'+++++++#++++'.,..`````......,,,,.,,,,,,,,;++#++#########################'';:::::::
++++'##''++'''''''''''':.:';#+######@@@@@@@@@@@@@@@@@@@@@@##+++''', .,,,,'''''''''''+#:::+',::+########+++++''++++++++++++++++++++#.....````......,,,.,,,,,,,,,:::++++#########################'';::::::
+++'''++'+++''''''''+''.,::;+#######@@@@@@@@@@@@@@@@@@@@@@###+++',: ``.,+'''''''''''++#,;:;:;';#########++++'+'++++++++++++++++++++:,....````.........,,,,,,,,,,::,:#++#########################'';,::::
+++'+'+++''++'''''':,;`.,,:,'+#+#####@@@@@@@@@@@@@@@@@@@@@@###+,:.`` ``;'''''''''''''++;;,.;,;;'########+++++''++++++'+++''++++++++#`.....````...,..,,,,,,,,,,,,::,::'#++########################+''';::
;;++'''+#+''+''''+'':....,,::'#######@@@@@@@@@@@@@@@@@@@@@@@##+':`````,+''''''''''''''++:..,',;,#########+++++++#++''+++++''++++++++;.``..`````....,,,,,,,,,,,,,,::,::;'#+#+######################+;'';:
,.:'''''++''''''''+';,.`..,;:+####@@#@@@@@@@@@@@@@@@@@@@@@@@###+,`````'''''''''''''''''#+.,,:'::+#########+++++#+++'+++','+++++++++++`.```.`````...,,,,,,,,,,,,,,,::,:;;:+#+########################;'';
...;'''''++'''''''++',..`..''+####@@@@@@@@@@@@@@@@@@@@@@@@@@@#+++:```.:'''''''''''''+''+;;.,:;'++##########++++++++++++;.,:+''++++++++`.````````....,,,,,,,,,,,,,,::,::;;::##########################';'
...''':''+++'''''''+':.`,,.;#+####@@@@@@@@@@@@@@@@@@@@@@@@@@@##+'+ ``:,'''''''''''''+++';+++,:;#############++++###++';'.`:'''''+++++++..```````....,,,,,,,,,,,,,,:::::;;;;,++########################';
...`,:'+''+++'''''''#::+:,:;#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@++;:.,,,'''''''''''+'+++;'+++':'#############+++####;;+,:..,:++++++++++++:````````...,,,,,,,,,,,,,,::::::;:;;;:#########################+
....`:+''''+++''''''::'++;;;#######@@@@@@@@@@@@@@@@@@@@@@@@@@@@++:,;;,,''''''''''+'+++':+++++':#############++#####;:;`,,...;:+'+''++++++' ``````...,,,,,,,,,,,,,,,:::::;;;:,':+########################
...`:'''''''++'''''+:++++++:########@@@@@@@@@@@@@@@@@@@@@@@@@@@#':;+'',+''''''''''+++'+++++++#'##############+######:,...,:::;'++++'+++++++```````...,.,,,,,,,,,,:::::::::;::,;;'#######################
...`;''''''''++'''''+++++#++#########@@@@@@@@@@@#@@@@@@@@@@@@@@@;:+''''+'''''''''''+++'+++++++#+###################+#:::.```.......,:'++''++``````...,,,,,,,,,,,,:::::::::;::::::'######################
...`+'''''''''++'''''+++++#+###########@@@@@@@@@@+@@@#@@@@@@@@@@#++'+''''''''''''+'++++++'++++##+###############@#+',.`` `.````````....,'+++' `````..,,,,,,,,,,,,::::::::::;::,;:;;#####################
...:'''''''''''+'''''+++++##+############@@@@@##@###++#@@@@@@@@@@+++'+''''''''''''+'+'''+++'+++#################;.`  ``````````````````.`.;++;`..```,,,,,,,,,,,,,:::::::::::::::;;';+###################
`.::+'''''''''''''''''+++++#+############@@@@@##@@##+++@@@@@@@@@@#+++''''''''''''''+'+'''+'+++++++###########+. ` `````````````````````````.'+,`..``,,,,,,,,,,,:,,:::::::::::::,;:;;;+##################
++::''''''''''''''''''+++++++############@@@@@@###@++'++@@@@@@@@@@+++'''''''''''''''+''''''''++++##########+.  `  `.`````````````````````````:+``.``.,,,,:,,,,,:::,::::::::::::::;;;;;+#################
''+';''''''''''''''''''++++++############@@#@@@#####++###@@@@@@@@@#++'''''''''''''''''''''''''++++#######'.   `  ``.````````` ```  `````.```` `'...`.,,,,::,,,,::::::::::::::::;:;;;;;;'################
'''''''''''''''''''''''++++++############@@@@@@#####++####@@@@@@@@##+''''''''''''''''''''''''''++++####' `` ``  ````` ` ```````````````````.,:.``,,..,:,,,::,,,::::::::::::::::;::;;;;';'###############
'''''''''''''''''''''''+++++++###########@@@#@@@##########@@@@@@@@@#+'''''''''''''''''+'''''''''++++##:     `  ```` `` ``````````````````````.,,:`.:..,,,,:::,,,:::::::::::::::;;:;;;;;;''##############
''''''''''''''''''''''''++++++############@@##@@####@@+##@#@@@@@@@@#+'''''''''''''''''''''''''''+++++`  ` ``  ````   ````.```````````````...````````,,,:,,,::,,,:::::::::::::::;;;;;;;';';'#############
''''''''''''''''''''''''+++++++#######+####@######@@@@###@@@@@@@@@@@#''''''''''''''''''''''''''+'+++  `` ``  ` ```   ```.```` ```````` ```..``````````::::,::,,,::::::,,:::::;::;;;;;;;;''''############
'''''''''''''''''''''''''++++++#######++#########@#@@@@##@@@@@@@@@@@#+'''''''';`;'''''''''''''''+''  `` ``   `   ` ``````         ```````` ````````````,;:,,:,,,::::::,,,::::;;;;;;;;;;;'';;'###########
''''''''''''''''''''''''++++++++###++;'+#######@#@#@@@@@+@@@@@@@@@@@@+''''''';``:'''''''''''''''''```` `` ``  `  ` ```            ````````````.``````````;:,,:,,,:::::,,,:::::;;;;;;;;;;;''';'##########
''''''''''''''''''''''''''''+++++###;':'+####@##@@@@@@@@@@@@@@@@@@@@@#''''''':``:;':'''''''''''';````     `   ```                ````````````..,`.`````.``;:,::,,:::::,,,:::::;;;;;;;;;;;;;'';;#########
''''''''''''+:''''''''''''''++++'';,;;','########@@@@@@@@@@@@@@@@@@@@@+''''+',```.,;'''''''''''; `   `   `   ``                `` ````` ````..``,,.`````.``::,:,:::::,,,,:::::;;;;;;;;;;;;;;''''########
'''''''''''+,`;''''''''''''++'++#;',,:;':++#####@@@@@@@@@@@@@@@@@@@@@@#''':,``.`` ,'''''''''''' `` ``   `   `       `` ``        ```````..```,``.``.````````:::::::::,,,,,::::;;;;;;;;;;;;;;'''''#######
''''''''''':`.:';,''''''''''''+++'::,:'':'+######@@@@@@@@@@@@@@@@@@@@@@+''+.```.``+'''''''''''` ` ``   `   `           `      ```` ``````..``..````````````.`.;::::::,,,,,::::;;;;;;;;;;';;;''''';######
''''''''''':...`::''''''''''''''++':,,;'':+######@@@@@@@@@@@@@@@@@@@@@@@'''+`````''''''''''''' ``` `  `               ``         `    ```.,,,`....```````````.,;;:;::,,,:::::::;;;;;;;;;;;;;;''''';#####
''''+'''''``...`,'''''''''''''''+#;,:::;';#######@@@@@@@@@@@@@@@@@@@@@@@#''''` ``''''''''''''`````` ```                          `` `````..`,:,..````````````.`;;;:;,,,,,::::::;;;;;;;;;;;';;;;'';';####
'''''''+,,```..`+''''''''''''''+++'':::;'++#######@@@@@@@@@@@@@@@@@@@@@@@''''```,''''''''''';`````` `` `                            ````````.:;.````````````...`;+:::,,,::::::::;;;;;;;;;;;;;;;;;;'';###
'''++'+''`````.;'''''''''''''''+++'#'+;:'+#####@@#@@@@@@@@@@@@@@@@@@@@@@##''',` :'''''''''''```` ,`` ``` `          `   `     ` `````````````.::,`````````````,.`'++:;:,:::::;::;;;;;;;';';;;;;;;;''';##
+'+''++'+:`````''''''''''''''''++'####+'+#########@@@@@@@@@@@@@@@@@@@@@@@@+'+,:,,:''''''''',```````` `.``          ``    ```  ````..,,...`````....`````````.```.``++#':;;;:;;::,:;;;;;;;;;;;;;;'';'';';#
'++''+'''+ .``:'''''''''''''''''++#####''########@@@@@@@@@@@@@@@@@@@@@@@@@#'',:+.,'''''''''```.`. ``` ``  `          `..  `  ``..:;:.....:......`....```.`````.....++++';;:;;:::;;;;;;;;;;;;;;;;';;';'';
'+''++''''; `:,'''''''''''''''''+#######;##########@@@@@@@@@@@@@@@@@@@@@@@@';,+'+.'''''''':`.`.`. ````.   `        ``.`  `````.::,'':`.`.`,.......`,.`.`...`.`.`..`:++++#';;::;:;;;;;;;;;;;;;;;;;;;;;'''
+''++++'',,,+,:'''''''''''''''''###################@@@@@@@@@@@@@@@@@@@@@@@@#,'''''''''''''`... `.`````.``       ```````   ```,';;:`:+.,,```.,,,,...`......```.....``'++++##;;::;:;;;;;;;;;;;;;;;;'';;'''
++'+++'+',,+'+,''''''''''''''''+####################@@@@@@@@@@@@@@@@@@@@@@@@''''''''''''''`..``````````````     ` `````````:'+++'';:,:`,,.,..,,.,,..`....`..:,..`````++++#+#+;';;;;;;;;;;;;;;;;;;';';;''
''''+++'+,+'''+''''''''''''''''+####################@@@@@@@@@#@@@@@@@@@@@@##+'''''''''''';.,```. ``````` `     `  ```` ``.:###+#++';;;:,..,..,:,,,,.`.,,,....````````.++++++##+;;;;;;;;;;;;'';';;'';;;;'
''+''+++,+'''''''''''''''''''''+####################@@@@@@@@@@+@@#@@@@@@@@@#@'''''''''''',,.``.``````````` `   `````` `.::#++'++++'';;;;;,,,,,::::,....``......````.``'+++++####';;;;;;;;;;''';'';;;;;;;
''''''++++''''''''''''''''''''+++####################@@@@@@@@@#+###@@@@@@@@#@+''''''''''',..`,,.`.`.```````` ````.````,.'#++'+'##++';':;;;;;'';'''::,,...,:,...........+++########;;;;;;;;;';';;';;;;;;;
'''''''++'''''''''''''''''''''++#####################@@@@@@@@@@#++#@@@@@@@@@@@''''''''''':,`.::,..`:```.```````.```...:##++'''''#+''';;:'''':;:;:::::...,.,,,...`.....`'+##########;;;;;;;;';';;';;;;;;;
''''''''++''''''''''''''''''''++#####################@@@@@@#@@@#++#@@@@@@@@@#@+'''''''''',,.,,::,``;`...`````.....`,,;+#+'##+';;##+;;::;;:;:::,,,,,.....,,,,,`..```.``.`+###########+;;;;;;';;';;';;;;;;
'+'''''''''''''''''''''''''''''+######################@@@@@@#@@#++##@@@@@@@@@##'''''''''',::...,:.```.,`````.,,.::;'+##+++#`@';'##+::;'',,:,,.:,,,,::,,,,..,.....```.``.:#############'';;;;;'''';'';';;
+''''''''''''''''''''''''''''''+######################@@@@@@#########@@@@@@@@#@''''''''''::`````,,` ``....`.::;;;;'++##+++###+';+#+:::;;.:.::,,`,.;:.,..`.:,,....``.`.```+###########+#+';;';''''';';;';
++''''''''''''''''''''';''''''++#######################@@@@@@##@@####@@@@@@@@@@'''''''';;` `````.``` `.:`..:;''';'''###''+###;;;+#':,,'.,.,,,,.,.,,`:.,,,,.....,.```...`.;###############';;;'';'''';;;'
##+''''''''''''''''''''`,'''+'++#######################@@@@@@@#@@@+###@@@@@@@@@+''''''''.`` `````.```..:,:,;''';;'''###'''###;;;##::,::`,,:.,,,.,..,,,,...`.`.....````````################+;;''';'''';;;
#++'''''''''''''''''';`..;;,,'++##################+'####@@@@@@@@@@@+#@#@@@@@@@@#'''''''..````` ```.`...:;,;;';';;;;;+##+'';';;;;#+:::'.`,::,:...,.:.,...........```````.``:################+;''''''';';;
++++''''''''''''''''+,`.` :,+''++###########+####+:;:####@@@@@@@@@@##@@@@@@@@@@@+''';'.`````     ````.,::;;;;;';;;;;;+##''''';;+#;:,:;`.,.::,,,.,,..,..,........````.``..``#################+;''''''';;'
'++++'''''''''''''';.``..`.''''++############;;'+'.;;'####@@@@@@@@@@#@@@@@@@@@@@@''''.````      ``.`..,:::::;;';;:;;;;'##::;;:'#;:,,'.::.,..,,,,,.,,.,,,......`,,..`````,``'#################+;'''''';''
+''+++'''''''''''',:`````.:''''++###########++;;;:,,;++###@@@@@@@@@@@@@@@@@@@@@@@+'';`````    ````,.`..;::,:;;;;;::::'';##',;++;:,:;:,...,,,,,,,.,,,,,,,,,,...,,.`.```.`,.`,##################';'''''';'
++''+++'''''''''''',`````,+''''+++##########++';,:::,''+###@@@@@@@@@@@@@@@@@@@@@@#''.``````````.......`,:,,,::::::,::;';;'###+;;:,,:.`..,.,,.,..,:,...,......`.,,..````....`###################';'''''';
''++'+++''''''''''';.``` +''''''++##########+++;,,:,.''+#@#@@@@@@@@@@@@@@@@@@@@@@@';.`````````..```,...,:,,,:::,,::,,,''';;;;;;:;;:``..,,,,,.,,:,.,...,,,.....,.`..``````.:.'###################';''';''
++''''+++''''''''''+````,'''''''+++#########++++,.,::;''##@@@@@@@@@@@@@@@@@@@@@@@@+...````` `,,..``.....,,,,::,,::,:,.,;''';:,,;;:..:,:,..,,,,,..:,,,,,,.......,....``````:.:####################'''''''
++'++''+++'''''''''+:` :,'''''''+++#########+++;;.::;:+###@@@@@@@@@@@@@@@@@@@@@@@#:```` ````,..,..```,...,.,.,.,,,,....:;;;'+'';,....`,.:,.,,,..:,,.,,:,....`..,,....``````,.#####################''';;'
''''''''++''''''''';::#,:;'''''''+++#######++++;'+.;;:+###@@@@@@@@@@@@@@@@@@@@@@#;``  `````.``.:,,...,`.,.....`..,..`.,,,:,.``..`.,,,,,,,,,:..,;,,.,::,,......,,,:,.`.`````..+#####################'''''
'+'+'''''++'''''''+,,+'+,,'''''''+++#######+#+';'+#:;;####@@@@@@@@@@@@@@@@@@@@@@+```` ``..,;:,.,:,,....`......````.`.``.,..``...,,,,,,,,,,,,.,:,..,::::,....,....`...```````.'#####################+;';'
''''''''''++'''''';:+'''+:'''''''+++#########+''+#+#:'###@@@@@@@@@@@@@@@@@@@@@@#..``   ...###';,.,,...,.....``.`````.`....,.,..,..,...,,,:,,,,,..,,:::,,,,:,......,,`````````:######################+;''
+'''''''''''+'''''''+'''''''''''+++++########+++++#+#;###@@@@@@@@@@@@@@@@@@@@@@;.``    `..++##+;..,...`,.......`````.`.`..,.,.,..:,.,:,,:,,:,,,,,::::;:,,,,:,,,,,.`..````````.#######################+;'
'+'+''''''''''''''''''''''''''''+++++#######+++#++++##+##@@@@@@@@@@@@@@@@@@@@@#.```     ...,'+++.......`,...`.````.`...,,..,,,.,,..,..,,:,,,,,,.,,:;;;:,,........,,...```` ``.########################+;
'''''''''''''''''''''''''''''''''+'++##+##+++++#+++#+####@@@@@@@@@@@@@@@@@@@@@;.``````````   ..;:...```.````.`.`````.,..,.,,,,::,,,.,,,..,.,.,,,::::::,,,..,,,........````````;########################+
'+''''''''''''''''''''''''''''''''''+++++#++++'+#+++#####@@@@@@@@@@@@@@@@@@@@#.````````` ``  `  ,.....`.....``````...`...,:,:,,.,.,,,..,,,:,,:,,,,,::,,,..,,,,,..,...``` `````.#########################
''+''''''''''''''''''''''''+++++++++#++#++++++'+++'+######@@@@@@@@@@@@@@@@@@@;.`````````` `` `  `.,.``.``..`````.`...,.,.,::;;'';:::,:::::,,...,,,,,,..,,,,,,......,...````````#########################
+''''''''''''''''''+++';:.```.````..,,.:::;'+++++#++++#####@@@@@@@@@@@@@@@@@@.``````````  `.`   ``.`.``..``....,,,,.,::,,;;;;:,`.;:,,,:,,.,,,,,,,,,,,,,,,:,,,..........``````.`;########################
'''''''''''++++';:,.````.....``......,,,,.:,.,,...,,;'+#####@@@@@@@@@@@@@@@@+.`````````````.,,.`...``.``.....`,.,:,;,:,::,,.`````.,:,,...,,,:,,,,,,::,,,:,,,,,,,....```````````.########################
'''''''+++;.```.......```..`````.`...,,,..,,,,,..,.,,,,:;##@@@@@@@@@@@@@@+@@:.```````````````.,..,......,:::,::,,,,.` . `.`....,,``..`..,`,.,,,,,,,,,,,,,,:,,,,,.....``.`.````.`########################
'+#+;;,......`.``..```````.``````....,,.,..:,..,.,...,,,,:;#@@#@@@@@@@@@@###..``````````..``  `.`...`.,:,,...```````.,.,..,,:;;:``.``````..,.,:,,,,,,,,....,,,,,,,....````. ````'#######################
,.``,...,``..````..```````.```````....,,,...,........,,.,::;;@@@@@@@@@@@@@#'.``````````....`````....`....`` `..``.:'+++++++##;.``,.````...,,,,,,,,,,,,.,,,,,,,,,..,,.````.`,```.,#######################
.....,...`````````````````...````.....,,,...,,...`...,,,,:;:;:#@#@@@@@@@@@#:..````````....``````....``````..```,;+''''++++'.  ``,,```....,,...,,,,,,,,,,,,,.,,,,..``..`,.``.`````#######################
...`.....`````````.````````..`````...,,,,,..,,........,,,,:;;;;#@@@@@@@@@@@,.`````.``....``..`..`.`.```.````.:'++++++++':` ````,,``````,,,..,,,,,,,..,,:,:::,,,..,.``....````````#######################
``........`````````````````..`````...,,,,,,..,,........,,,:::;;;@@@@@@@@@@#,.`````.`.........````` ```````,;+++++###;. ``` ``.::``....,........,,,,,,,,,:,:::,,....,.`..`.`...```'######################
``......`.`````````````````...`````..,,,,,,..,,........,,,,:;;;;;@@@@@@@@@'..````............`.`````..``,'++#++++#'```   ``.,;:..`....`...,,,,,,,,,,,,,,,,,,....`...`.`.`..` ````:######################
```.......``````````````````..`````..,,,,,,,..,,.......,,,,::;;;;;@@@@@@@@:..```............`..```.,.`.;+####++#+.  ` ``..,;;:..`.......,.,,,,,,,,,,,:,,,,,,..,......``.`` ```````######################
```......```````````````````..`````...,,,,,,..,,........,,,::;;;;;'@@@@@@@:...````.`..........``.....,+#######+:   ```.,:;;:,...,.....,,,,:,,,,,..,,,,,:,,,,:,`.......````.`````` ;#####################
````......```````````````````..`````..,,,,,,...,........,,,::;;;;;;;#@@@@#,...``......,...`..``.,,.:'########:` ```,:::;;,,,..,,,,,,,,,,,:,::,,:::,:,,,,,:,,,::.....`````````.`````#####################
````......```````````````````..`````..,,,,,,,..,.........,,:::;;;;;;;+@@##,...```...,........`,:,:;+##++''+;`  ``.:;;::,,,,..`....,,.,::,::::::::::,,:,,:::,,,.,,.,..````` ` ` ```,+####################
``````.....```````````.``````...````..,,,,,,,............,,,::;;;;;;;;;@@+,........,,,,,,....,::;+#++'''':`  ```,';::,,:,,..,,,,,::,,:,,,::,:::;:::::,:::::::,,.,,,.,``````  ` ````.+###################
`````......```````````````````..`````..,,,,,,..`..`......,,,::;;;;;;;;;;+#,.......,,,,.,,,..,::+#+++''';`  ```.;:::,..,.....,,,,,,,::,,,:,,:::::::::,:,:::::::...,.,....`````     ``:###################
``````.....````````````.``````..`````..,,,,,,,............,,::;;;;;;;;;;;;,.......,,,,,,,,.,,:+++'''';.   ` `:;;::,,,.`...,..,,,,,,,,.,,,,,,,,,::::,:,,:,::,,::,....,,.``````.    ``.###################
``````......``````````.```````...`````..,,,,,,............,,:::;;;;;;;;;;;,,......,,,,,,,,,,,++'';;;,`````.,;;;:,:,,,......,,,,,,,,,.,,,,,,,,,,,,:::,,,,,.,,...,:,.```...`````.`   ``;##################
```````.....``````````.```````...`````..,,,,,,..`..........,:::;;;;;;;;;;;,,......,,.,.,,,,,'+';;;:`  ```,;;:;:;,,,,,...,.,,,,,,,,,.,,,,::,:,:,.,,,:::.,,...,...,,..` ```.,``` `. `` `+#################
`.`````......``````````.```````...`````..,,..,,............,:::;;;;;;;;;;;:,,,...,,,.,,,:::;+';;;.` ``..,;;::,:,:,::::,:,,,.,..,....,,,,,,:,,:,..:,,:,:......,,...,`..  ``.,```` ` ```:#################
...`````.....``````````..``````...`````..,,,.,,..`.........,,::;;;;;;;;;;;,,,,...,,:,,,:::;++'':````...:;::::,,:::;;;;::,..........,.,,,,,..,,,,,,,,,,.,......,,,....`..`````` `  ```` +################
..```````.....``````````..`````...`````...,,..,,...........,,::;;;;;;;;;;;:,,..,,,,::,,::;++'+:`.....,:;:,:;:,;:;;;;:...,..........,,,,,.....,,,,.:..,,.....,..,,.,.```..````       ```,+@##############
...``````.....``````.```..```.`...``````..,,..,,.``.........,:::;;;;;;;;;;:,,,..,,:,,,,:+++:,,`..,..,:;::::::::;;,...`.........`.,..,,...`.`..,,,..,..:.........,.,,..``.,` ``   `  ``` ++@#############
,,.``````.....```````.``...`````...`````...,,.,..``.........,,:;;;;;;;;;;;:,,,,,,,::,:'#++:,.`......,:::;::;:;:,..`...............,,,.....````...,,,,.,:,....,,....,,,,.`...`        `` ;+##############
,,..``````.....``````..```..````...`````...,,.....`.........,,;;;;;;;;;;;;:,,,,,,:;:;+##+;,......,,,:;;;;:;;,,...```.````````...,,,....`````````....,,,,:.....,`.....,,,,.`...        .`.''#############
,...``````.....``````..```..`````..`````....,,.,,.``........,,:;;;;;;;;;;;::,,,,,;::+#++',.....,,,,:;;;;;::::,:....`````````........`.`.`.`.........,,,.,,.`...,...``....,.`.``       `:`'++@###########
....```````....```````..`...`````...````....,,..,..`.........::;;;;;;;;;;;::,,,,,;:'#++',`....,,,:::;';;:,.`.,,:,,.````````..`.......`..`..```..``...,.,.,.`..,...`.``..``..``         ;;''++###########
....``````.....```````.....````......```...,.,...,..`.......,:::;;;;;;;;;;::,,,,::;+#++;`....,:,::;;;;:::,`.```.``.........`.......`..............``...,...`.``....```````````  `      `+'''+###########
.....``````.....```````...``.........``....,,,:,..,.......,.,,;:;;;;;;;;;;::,,,,::++'++,....,,,:;';;:;:::.,.````````........```.....`..........`..``.`.....`...`,..,..` ` `````       ` '++''+#@########
.....`````......``````....`..........,..`........,,,..,.,,,,,,:;:;;;;;;;;;;:,,,,::#+'+;.,..,,,:;;;;;:::,,..,,...```` `......`...```................``````````...`,...,``` ```           .'++''++@#######
..``..````.......`.``....,.``....,:;;;'''+'+'+++++'';::,,.,,,:;;;;;;;;;;;;;:,,,,:;#'+#:,..,,,:;;,`:::,::,:,,,,,....```````.......````...........`...```````````.......:..`   `         ` ''++''+'#######
......````.,..,..`````.,:;'+++'''''''''''''''+++++++'+'+'+++++';;:;;;;;;;;;:,,,,:'+'+'.,.,,,;;;.``.::::::,,,,,,,,.........`..`..`.``````.........`...``````.```..,.,`.,:.``              `''++''+'+@####
........`...``.,:;'+++'''''''''''''+''''''''''++++++++'++'+'+++##+';;;;;;;;::,,,:'++#;,,,,:;;;.````.::,,:,:,,,,,,,.......,..........````.......`.`..`..`````````..,,....,,`.`         ``  ;'+++'++''####
....,.`.,'+++++'''''''''''''''''+''+'''''''''++++++++++++++++++++##+;;;;;;;;:,,,:''++.,,,::;;:,`````,,,,::,:,,,,,,,,..,.,...`.....`````...`.......``.``.````..`...`,.``...,```     `    ` `''++''+'''#@#
...,;'++'''''''''''''''''''''''''+''+'''''''''++++++++++++++++++#####';;;;;;:,,,:''+,,:,::;;;:,`````:.,:,::::,:,,,,,.,,,``..........``````.``.......```..`..,.```..`..```````           `` ;''+++'+''''#
++++''''''''''+''''''''''''''''''+''++'''''''''++++++++++++++++++######;;;;;::,,:'+'::,::;;;;;..````,,`,::,::::,:,,,,.,,,.............```..`...`...``.``..``,..```.``.`.``               ` `''+++'''''''
+++'''''+'''''++''''''''''''''''''''++'''''''''++++++++++++++++++#######';;;::,,;'+:::::;;;;;;`.````.:``.:::,::::,,,,,.,,,,..............```..`...`...```,..`,,,```..`` .`               ```'''+++''''''
++''''''''''++'++''''''''''''''''''''+'''''''''++++++++++++++++++########+;;;,,,:;;;:::;;;;;;;,..````.```,,::,,::::.:,,,,,,,......,.......``.....,.``..``.,.`.,,,..`..    ``             `` ,'''+++'''''
++++'''''+''+++'+'''''''''''''''''+++''''''''''++++++++++++++++++##########;;:,,;;;:;;;;;;;;;;;`..````````,,,,,,,::,.,,,,,,,............,.`.``....,.`..```,:`...,.,``.`    ```           ````''''+++''''
++++''''''+'+++''+''''''''''''''''++'+''''''''''+++++++++++++++++##########+;;,,;;::;;;;;;;;;;;```````````...,,,,,::,,,,,:,,,..............`...,...,``..``.,,..,,,,.```.     ``` `     ``````''''+++''''
++++''''''++'+++'++'''''''''''''''+++'+'''''''''++++++++++++++++++##########+;:::;;;;;;;;;;;;;;`````..```````,,,,,,,,,,,..,,.,,....,...........,,...,``..``.,...,:,,.` `.       ``      ``````''''+++'''
++++''''''+++++++'+'++'+'''''''''''+++''''''''''++++++++++++++++++###########';,;;;;;;;;;;;;;;;:````...```.``..,.,,,,,,,...,,,,.....,,..........,,,.,.`...```:,..,,,,,`  `        ``    `````.;'''++++''
+++++'''''''++++++'+'++++''''''''''+++'''''''''''+++++++++++++++++############;;;;;;;;;;;;;;;;;;````....``..``.,.,,,,,,,....,,,,.,.,.,.......`..,,,,.,.```.`,.,...,,,,..                 `` `.,''''+++''
+#++++'''''''+++++'+++++++''''''''''+++'''''''''+++++++++++++++++++###########;;';;;;;;;;;;;;;;;````.....``.``,,..,,,,,,,,..,,,,,.,........`.``.,,,,....``..`.,,.,....,..                `` ``,''''+++''
##++++'''''''++++++++++++++'''''''''++++''''''''++++++++++++++++++++##########+;;';;;;;;;;;;;;;;```.......````,,..,,,,,,,,,..,:,,,.,..........`..,,,.,,...`...,.,`.,...``.                ```..,'+''+++'
##++++''''''+'++++++++'''++''''''''''+++''''''''+++++++++++++++++#++###########;;;;;;;;;;;;;;;;;:```.......``.,,..,,,,.,,,,,.,::,,,,.....,....``..,..,.,..`..`.,..```..`` ``              ```.,`:;'++++'
###+++''''''+++++++++++''++'''''''''''++''''''''++++++++++++++++++#+###########';;;;;;;;;;;;;;;;; ```.......`:,,,.,.,,,,,,,.:,,,:,....,........`..,.,,.,.,``....,`..``.``` ` `            ` .`:;,:;''++'
###+++'''''''+'++++++++'+'+'''''''''''+++'''''''++++++++++++++++++##############;;;;;;;;;;;;;;;;;.``.........;:,,,,,,,,.,,,:,,,,,,,....,.....`..`.,..,,,,,,.`.``.`  .``,`````              ` ..:;;:;++++
####+++'''''''+++++++++++''''''''''''''+++''''''++++++++++++++++++##############+;;;;;;;;;;;;;;;;,``.`......,;:,,,,,,,..,,,,,,,.,,,...,.......`.`.,`,,,,,...`..``.  `.  .``````            ```.:::::;'++
####+++'''''''+++++++++++'''''''''''''''++''''''++++++++++++++++++###############;;;;;;;;;;;;;;;;.```.`..,..,::,,,,,.,,,,,,,,,,,...,.................,:,.,.,......`   `  `` ````           ```..';::;;'+
####+++''''''+'+++++++''+'''''''''''''''+++'''''++++++++++++++++++################';;;;;;;;;;;;;;`.```.......::,.,,,,,,,.,,,,,,,,.,,,`.,.,.........,.,,:,,,.,.`..`,`         `` `    `       ``.`,:::;;'
#####++''''''+'+++++++'''''''''''''''''''++''''''+++++++++++++++++##################+';;;;;;;;;;;,..``....,..:,,.,,,,.,,,,:,,,,,.,..,.`.,,.,........,.,:::.,,.``....`        `````           ```.,:::;;;
#####+++''''''+'++++++'+''''''''''''''''''++'''''++++++++++++++++++##################@+;;;;;;;;;;;....`,...,.:.,,,,,,.,.,,,,,.,,.......`......,....,.,,,,:,,,..``..,.          ```            ``,,,:::;;
#####++''''''''+++++++++''''''''''''''''''++'''''++++++++++++++++++#####################+;;;;;;;;;,`...,,.,,,;`,,,,,..,.,,,,,,,.........`........,.,...:,,:,,,..`.,..``        ````           ```:,:::;;
######++'''''''++++'++++'''''''''''''''''''++'''++++++++++++++++++++############################+#'''';,,.,.::.,,,.,,.,,.,,,,,.,.......`........,..,,..,,,:,.,...`,:..``           ``        ```..:::::;
######++''''''''++'+++++'''''''''''''''''''++'''++++++++++++++++++++############################+#''+''++++';,`.,,,,,.,.,.,,,,,.,......``....,``....,`.,,,.,,.:,.``.:..`.`                     .`,,:::::
######++''''''''''++++++''''''''''''''''''''+''+++++++++++++++++++++#############################+''+'+++++''++:,,,,,.,,..,:..,.:.......``....`.....,.`..,,.,..,.``..,``.``             ` `  ``.,::,::::
#######+'''''+''''++++++'''''''''''''''''+'''++++++++++++++++++++++++#############################'''++++++''++:,,,,,.,...,:..:,.,..``..``...`.....,.,`.`....,..,` ...,..```              ``````,,::::::
#######+'+''+''''+++++++''''''''''''''''''+''++++++++++++++++++++++++#############################++'++++++'+++:,,,,,.....,:.....,..``..``.....`...,.,..`.....,,`. `.`.,.``              `    ``..:,::::
#######+++''+'''++++++++'''''''''''''''''+'''++'++++++++++++++++++++++############################+++'+++++++++:,,.,,,,....,,..,....``.`.`...........,.````....,.`` ``..,.```                  `:;:,,,::
########+++++++'+++++++++''''''''''''''''''''''+'+++++++++++++++++++#+#############################++++++++++++:,:.,,.,...,.:.,,....`....`....`.......,`````....,`.``` .`.` ``               ````;':,,::
#######+++++++++++++++++'''''''''''''''''''++++++++++++++++++++++++++++############################++++++++++++:,:.,,,,...,`:.......``...``.....`.....,``````````. ` `` ` ````            `   ````;,,,,:
;'#####++++++'++++++++++'''''''''''''''+++''::,,..,,,,::;''++++++++++#+############################+'++++++++++:,:.,,.,...,.,.......``..```..`.,...`..,.````````. ``   `   ````      `         ```:,,,,:
;';'+##++++'''++++++++'+'''''''''''+';:.````.`..,,..,.,,,,,,.,::;;++++++###########################++++++++++++:,:,,,.,,....,.......```...`..``,.`......`` ` ```````         ``   `` `        `````:,,,,
;;;'';;;'++++++++++++++++''';;:::,``````````````.......,.,,.,.,,,,,:,;'+###########################++++++++++++,,:.,,.......,.`.....```..``..`..`.....,., ``` `..```           `   `   `   ``  ````,,,,,
;;;;'';;;;:::;:,::,:,:,.,...,..`.```````````````........,...,,.:,,.,:,:,:;+#########################+++++++++++,,:,,,..,............````.```.`,......`.,``` `````````               `   `  ``` ```..,,,,
;;;;;'';;;::;:,:;,,:,,.........`````````````````....`...,,,..,..:,..,::::::,'#######################+++++++++++,,:.,,,.....`,.`......```````..,........,`, ```````````              ```  `````````..,,,,
;;;;;;;';::::,,:.,,,..........``````````````````.........,,...,.,,,.,:,:,:,::::######################++++++++++,,::,........,.`......````.`..........``.,. ````````````            `` ```````..```.:.,;;
;;;;;;';':;:,,,.,,,....```...``````````````````..........,,,..,,.,,..,,:,,:,:;:;'####################++++++++++,,:,,...,........,`..`````.``.........``..`.` ```````````            ``````````.``..;''''
;;;;;;;;;;:,,,,..,.....``....``````````````````......`...,,,...,.,,,.,::,,::::;:;;+##################++++++++++,,:,,...,....,.......``.``.`...`.`.......... ` `````````````         `` ```.````.`:':'+''
:;;;;;;;;;;,::.,......```...```````````````````.....,.....,,,..,.,,,..,:::,::::;:;:'##################+++++++++,,:,,,.,,.,..,...,`..````..```..,..,......`..``````````````````   `  ```````.`.`.,.'+++'+
::;;;;;;;;;::,,,,.....```....``````````````````......,..,.,,,..,,.,,,.,:::,,:::;;;;;'#################+++++++++,,,,,,.,,...,,.,.,....`.``.`.....``.....`.`.:```````````````````````````.`....`.,:.,+++'+
::;;;;;;;;;;,,,,...,..`.`.`..````````.`````````......,...,.,,,..,,,,,..,:::,::::;:;;;'#################++++++++,,,,,,..,..,,,......,...`..`.....```......``:`````````````````````````..,.......,'::'+'#+
:::;;;;;;;;;:,,,.......`.``..````````.`````````.......,....,,,..,,,,:,,,:::,,::::;;;;;'################+++++++':,,,,,..,..,,,...,..,.`.`..``....`........`.`;``.```````.`````````````..,,....,,,:+''+#++
:::;;;;;;;;;;,,,,.......``.```````.````````````......,,.....,,,..,,,,:..::::,::::;;;;;;+################++++++;:,,,,,..,..,,,,,...,,....`.``......`.....,..`;```,``````..```````````...,:....,:;'+++##++
::::;;;;;;;;;,,,,.......```````` ``````````````.......,....,,,,..,,,,:,,,::::::::;;;;;;;################++++++;;,,,,,.,,,,,,,,,...,,,..`..,`.....``.....,,.`.:```,``````...`````````...;::,,,.,++##+#+++
::::;;;;;;;;;:,,,......``````.`````````````````......,.,....,,,..,,,,::.,::::::::;;;;;;;;################+++++;;,,,,,.,,,.::,,,,..,,.,.``.,......`.`....,,..`,.`.`.`.````..`````````....;':,,,.,++++++++
:::::;;;;;;;;:,,,,.....`````````````.`````````.......,.,......,,..,,,,:,,,:::::::;;;;;;;;'################+++':;,,:::,,,,,:,,,,,,.,:,,..`.,..,....,`....,,:,..,``.,``..````````.````...,:';;:,:::;++++++
:::::;;;;;;;;::,,,.....`````.```````.``````.`........,,.......,,..,,,,::.,:::::::;;;;;;;;;+###############+++':;:::,:,,,,,:,:,,,,.,;:,,.`.,.,.....`.....,,:,..,`..`:.....`...``........,:+#';:;;;;++++++
::::::;;;;;;:;::,,.....```````````````````............,.,.....,,,..,,,,:,,,::::::;;;;;;;;;;################+'':;:::::,:,,,:::::,,,:::,,.`,,.,..,...:`...,,,:,...`...,.,................,;'+;:::;;'++++++
::::::;;;;;;;;:::,......```.````````..```.............,,......,,,..,,,,::,,:::::::;;;;;;;;;'###############+'':;::;::,:,:,::;::,,,::;,,..,,,,,.,,...``.,,,,,,.``.,.,.,,,,.`............,,;:;::;;''++++++
::::::::;;;;;;:::,,......`.`````````...``.............,,.......,,,..,,,,:,,:::::::;;;;;;;;;;###############+'':;::;;:::,:,,;'::,,::::,,,.:..,,,.,,..:`..,,,,,..`.,.;....,..............,:,:;;'''''++++++
:::::::;;;;;;;::::........``````````...`...........,...,,......,,,,.,:,.::,,:::::::;;;;;;;;;'###############'':;::;;::::,,::+;;,,;:;:,,,,:.,,,,.,,,.:`..,,,,,,...,.:.....,,.........,.,,,:;;;''''''+++++
::::::::;;;;;;;;::,......```````````....`..............,,,...,..,,,..:,,::,,:::::::;;;;;;;;;;+##############+':;::;::::,,::;#;;::':;:,,,,:.,:,,.::,.,.....,,,,,..,.:,,.....,......,.,,,:::;;;'''''++++++
:::::::;';;;;;;;;:,.......`````````.........,,......,,.,,,,...,.,,,,.,:,,::,,:::::;;;;;;;;;;;;##############+':;::;:;,;::;;+#;::;;:;;,,,,,,,,,,,,,,,.:`.,..,,,,.,,.::,,.....,,.,,,,,,,;;:;;';'''''++++++
:::::,:;;;;;;;;;;::,......`````````...,.....,.......,,..,,,,..,,,,:,..:,,::,,:::::;;;;;;;;;;;;'#############+;:;::;:;,;;;;:##;:,';;';,,:::,,,,,,.,:,.:..,..,..,,,,,.;,,,...,.,,.,,,,::;;;;;;;;;;''++++++
:::::,:';;;';;;;;;:,.....``````````.`,,,....,,.......,,.,,,,..,,,,,:,.,:,,::,:::;;;;;;;;;;;;;;;+############+;:;;,;:;,;;:':##';:;;';;,,:;,,:,,,,,:,,,.;..,.,.....:,.,:,,,.,,,,,:,,,,:;''':;;;'''''++++++
::::::;;;;;;;;;;;;,,.....```````````..,,.....,.....,.,,.,,,,,..,,,,::..::,::,,::;;;;;;;;;;;;;;;;''+########++;:::;;::,'':':##+;:''+';:::;,,,:,.,,,,::.:,,,,,...,,.,,,::,,.,,,,,,:,,,:;'';'''''''''++++++
:::::;;;;;;;;;;;;:,.,....``````````...,,......,..,..,.,,.,,,,,.,,,,,:,.,:,,:,,:::;;;;;;;;;;;;;;;';;;;;''+##++;::::;::,;+'+:###;;'++';:;:;:,::,,,,,:,:,,::,,...,,....,,;:,,,,,,,,:,,;;;';;'''''''''++++++
;;;:;;;;;';;;;;;;,,,,,...``````````...,,,..,..,..,,,,,,,.,,,,,.,,,,,::,.::,::,:::;;;;;;;;;;;;;;;;;;';'''';;;;:::::::,:;###;###':'#+';:;:;:::,,,,,,;:::,:;,.,,..,.,,,,,:;::,,:,:,,::';;;;;';;'''''+++++++
++'';;;;;;;;;;;;,,,,,....`````````.....,,......,..,,.,,,,.,,.,..,,,,,:,.::,,:,,::;;;;;;;;;;;;;;;;;;;';'''';;;:::,:,::;'###'####:+##'':',:::::,,:,,:,::,:;:,,,,,,,,,:,,,;::,,,:::::;'';'''';''''+'+++++++
#+####++';;;;;;:,,::,.,.`.``````..``.,,,,,..,,.,,,,,,,,,,,,,,,,.,,,,,,:,,::,::,:::;;;;;;;;;;;;;;;;;;;;''''';;::,,:,::;:+++'####'###+':',:;:::,,:,,:;::,,;;,,,,,,,,,,:,,:;::,::::::''+++''''+++'+++++++++
#######++#++'';:::::,,,....``.`......,,:,,,.,,,,,,,,,,,,,,,,,,,,,,,,,::,,::,,::::;;;;;;;;;;;;;;;;;;;;;''''';;::,:,,;:;:+++;++++++###';;,:::;:,,:,,:;,;,,;;:,,,,,,,,,,,,::;::::';:''++++'++++++'+++++++++
########+#++++++#+';;:,.,.......,..,.,:,,,:,,,,,,,,,,,,,,,,,,,,,,,:,::::,,::,::::;;;;;;;;;;;;;;;;;;;;;''''';;,:,::,:;::++''++++++++';:;::::;:,,:,::,;:::;;;,,,,,,,,,:,::::::::'';''+++''++++++'++##+++++
###########++++#+++++++''';;;'''''''+'+++++++++++++++++++++'+++'''';;:::::;;::;;:;;;;;;;;;;;;;;;;;;;;;''''''',;:,:::'::+'+;+++++++''':,.,,::,..,,:::',:::;;:,:,,,,,,:,::::;:::'+''+++'+''++++++++###++++
############+####+++++++'+'''++++++++++++++++++++++'++''+''''''''+++'+++++;;:::;:;;;;;;;;;;;;;;;;;;;;;;'''''':;:::':+;;+'';+'+'''+'+':.:,,::,..``.....,..,,:.``...,,:::::::;::'+''++'++++++++++++####+++
++################+++++++++'++++++++++##++#++++++++++''+'''++''+''++'++++++++++';;;;;;;;;;;;;;;;;;;;;;;'''''':;:::+:+':'++''''''''''+:,:.,,:,,.``.,..:.,..,:,````......,,::;;;;'+'+'+'+++++++++++#####++
#+##################+##++++++###++#++##+++#++++++++++'++'''++'+++++++++++++++++++#+';;;;;;;;;;;;;;;;;;'''''''::,,:+:++,''+''''''''''';,::,,;,,.`..,.,:,.,,.,:.`.......,,,,,,,,:'++'+++++'++++++++#####++
++######################++++############+###++++++++++++''++'++++++++++++++++++++#++##+';;;;;;;;;;;;;;;''''';:::::+;++,'''''''''''''':,::,:;:,.`.....:,`.,,,,,`......,.,,,,,,;:';;;''++++++++++++#####++
++########################################++++++++++++++''++''++++++++++++++++++++#+#####+;;;;;;;;;;;;;;'''';:::::+''+;''''''''''''''::,,:;;:,.`.......`..,...`....,.,.,,,,,,;;';;;;;;;'++++++++++#####+
+#+#################################+#++#++++++++++++++''+++''''++++++++++++++++++#########+;;;;;;;;;;;''''';:::::++'++;''''''''''''':,:,:;'::......`..`..,........:.,,.,,,,:''';:;;;';''';'++++++++####
##+##################################++++++++++++++++++'+++'''''+++++++++++++++++##+#########+;;;;;;;;;''''':::::;++;++:''''''''''''':,::;';::,..,..`...`.,........:.,,,,,,,,';;;;;;;;;''''';;'+++++++#+
##++################################+++++++++++++++++++++++'''''+++++++++++++++##+#############';;;;;;'''''';::;:;++'++''''''''''''''::,:'';;:,.,,.,...`.,,,.......:.,,,,,,,,';;;;:;;;;'''';;;;;;'+++++'
+##+##############+++##############++++++++++++++++++++++++''''''+++++++++++++##+################';;;;'''''';::;:;++'+++'+'''''''''''::,;'';;;:.:,,....`..,,,......;,,,,,,,:,;;;;;:;;;;'''';;;;;;;;;'+'+
#################+#+++++++++######++++++++++++++++++++++++''''''+++++++++++++++#+#################+;;''''''';::;:;+++++++++';'''';''':::;;'';;:,:,,.,.....,:,.,..,,,:,,,,,,:,';;;;;;;;;;;;;;;;;::;;;;:::
#################+#+++++++++++++++++++++++++++++++++++++++''''''+++++++++++++++#+###################'''''''';::;:'++++++++++''''';;;;:::;;;';;;,:,,,,..,..,:,,,..,,,;,,,,,:::;;;';:;;;;;;;;;;;;::,::;;;;
###################++++++++++++++++++++++++++++++++++++++'''''''+++++++++++++++######################+'''''';:;;:'+++++++++++'''';;;;:,;;;;';;::::,,,..,..,;::,,.,,,;,,,,,::;;;'';;;;;;;;;;;;;;:::,,,:;:
##################+++++++++++++++++++++++++++++++++++++++'''''''''+++++++++++++########################+''''':;;;'++++++++++++;;;'';;::;;;;;;;;::;:,,,.,..,:;:,,,,,;::,,,,:;;;;'';;;;;;;;;;;;;;::,,,,,::
##################++++++++++++++++++++++++++++++++++++++''''''''+++++++++++++++#########################+''';:;'';'++'+++++++++;;';;;::;;;;;;;;::;:,:,,,,,:;;;,,,,,;;:::,::;;;;';;;;;;;;;;;;;;;:::,,,,::
###################+++++++++++++++++++++++++++++++++++++''''''''+++++++++++++++#####################+#####'';;;'';+++''+++++++++;;;;;;:;;;;;;;;::;;,,:,,,,,;;;:,,,,;;;::::;;;;;';;;;;;;;';;;;;;:::,,,.,;
####################+++++++++++++++++++++++++++++++++++++''+'''''+'+++++++++++++###########################+;;;'';''''''+++'+'+++;;;;;;;;;;;;;;::;;:,,,,,,:;;;;,,,,;;;::::;;;;;'';;;;;;;;';;;;;::,,,,,,.
#####################++++++++++++++++++++++++++++++++++++'++'''''+++++++++++++++############################+;'''''''''''++'+''+++;;;;;;;;;;;;;:::;;:,,::,;;;;;::,:;:;::::;;;;;'';;;;;;;;;';;';;;,,,,,,.
######################++++++++++++++++++++++++++++++++++'+''''''''+++++++++++++##############################+'''''''''''++'+'+++++;;;';';;;;;;::;;;;:,,,,;;;;;;,,:;:::::::;;;;';;';;;';;;;;;;;;;,,,,,,.
######################++++++++++++++++++++++++++++++++++++''''''''++++++++++++++#############################+#+''''''''''''''''++'+;;'''';;;;;;;;;;;::,:,::;;;;,::;::::;;:;;;;;;;';;;';;;;;;;;;;:,,,,,.
+######################+++++++++++++++++++++++++++++++++++'''''''+++++++++++++++#################################'''''''''''''+''+''';;'''';;;;;;;''';:,:,::::;;::::::::;;;:;;;:;;';;;;;;;;;;;;;;:,,,,,.
+#######################++++++++++++++++++++++++++++++++++''''+''++++++++++++++++#################################+''''''''''''''''''';;''';;;;;;;'''';:::::::;;:,::::::;;;;;;;;;;;;;;;;;;;;;;;;;:,,,,,,
+########################+++++++++++++++++++++++++++++++''''''++++''++++++++++++####################################+'''''''''''''''''';'''';;;;;'''''';::::::::;::::::::;;;;;:;;;;;;;;;;;;;;;;;;::,,,,,
++########################+++++++++++++++++++++++++++++++''''+'+++''+++++++++++++#####################################'''''''''''''''''';''';;;;;;'''''';;;;;::::::::::::::::;;;;;;;;;;;;;;;;;;;;::,,,,,
+++######################+#++++++++++++++++++++++++++++''''''++++++'++++++++++++++######################################+''''''''''''''+;;'''';;'''''''''';'';;::::::::::::::;;;;;;;;;;;;;;;;;;;:::,,,,,
##########################+++++++++++++++++++++++++++++''''''++++++'+++++++++++++#########################################+'''''''''''''';''''+;;''''''''''';'';::::::::::::::;;;;;;;';;;;;;;;;;:::,,,,,
##########################+++++++++++++++++++++++++++++'''''+++++'''++++++++++++++##########################################+''''''''''''';+'''';;''''''''''''';';;;::::::::::;;;';;;;;;';;;;;;;;:::,,,,
++#######################+##+++++++++++++++++++++++++++'''''++++++''++++++++++++++#########################################++''''''''''''+':'+''';'''''''';'';'';;;:::::::::::;;;';;;;;;;;;;;;;;;:::,,,,

* fixes

* uiqwrhfhwfadkhfwrahbk
2017-02-06 00:26:29 +13:00
Joan Lung 246b1fd253 Merge pull request #23671 from KorPhaeron/eyes_as_organs
Eyes As Organs
2017-02-04 17:14:19 -05:00
KorPhaeron 6ad9b5abe1 Replaces cybernetic implants with cybernetic eyes 2017-02-03 18:47:49 -06:00
Joan Lung a6c8357801 Merge branch 'master' of https://github.com/tgstation/tgstation into blackboxed
Conflicts:
	code/orphaned_procs/statistics.dm
2017-02-03 10:10:52 -05:00
XDTM eb5086a307 Misc law changes 2017-02-02 12:18:49 +01:00