╔══╦══╦═══╗╔══╗╔═══╦══╦══╗─╔══╦═══╦╗╔══╗
║╔╗║╔╗╠══╗║║╔╗║║╔═╗║╔╗║╔╗║─║╔╗║╔═╗║║║╔╗║
║║║║║║║╔═╝║║║║║║╚═╝║╚╝║╚╝╚╗║║║║╚═╝║╚╝║║║
║║║║║║║╚═╗║║║║║║╔══╣╔╗║╔═╗║║║║╠╗╔╗║╔╗║║║
║║║║╚╝╠══╝╠╝╚╝╚╣║──║║║║╚═╝╠╝║║║║║║║║║╚╝║
╚╝╚╩══╩═══╩════╩╝──╚╝╚╩═══╩═╝╚╝╚╝╚╩╝╚══╝