<commit_before>'use strict';

/* __        __   __  ___  __       ___  __
  /__` |__| /  \ |__)  |  /  ` |  |  |  /__`
  .__/ |  | \__/ |  \  |  \__, \__/  |  .__/ */
const l = console.log;

/* __        __   __                __   __        ___  __  ___  __
  / _` |    /  \ |__)  /\  |       /  \ |__)    | |__  /  `  |  /__`    .
  \__> |___ \__/ |__) /~~\ |___    \__/ |__) \__/ |___ \__,  |  .__/    .*/

// Global managers.
var MANAGER_AUDIO        = null;
var MANAGER_COOKIES      = null;
var MANAGER_WORLD        = null;
var MANAGER_ENTITY       = null;
var MANAGER_MULTIPLAYER  = null;
var MANAGER_SHADER       = null;
var MANAGER_RENDERER     = null;
var MANAGER_INPUT        = null;
var MANAGER_POINTER_LOCK = null;
var MANAGER_DATA_DISPLAY = null;
var MANAGER_LOADING      = null;

// Global objects.
var CURRENT_PLAYER = null;
var ENTITY_OWNER   = null;

// Global gui objects.
var GUI_PAUSED_MENU      = null;
var GUI_TYPING_INTERFACE = null;

/* __        __   __                          __          __        ___  __
  / _` |    /  \ |__)  /\  |       \  /  /\  |__) |  /\  |__) |    |__  /__`
  \__> |___ \__/ |__) /~~\ |___     \/  /~~\ |  \ | /~~\ |__) |___ |___ .__/ */

// World math constants.
const DIAGONAL_PENALTY = Math.sqrt(.5);
const GROUND_NORMAL    = new THREE.Vector3(0, 1, 0);
const ONE_THIRD        = 1 / 3;
const TWO_THIRDS       = 2 / 3;

// Logical constants.
const NOT_FOUND = -1;

// Math constants.
const HALF_PIE = Math.PI / 2.0;
const PIE = Math.PI;
const TWO_PIE = Math.PI * 2.0;

// UNIVERSAL_CONSTANTS_START : Web socket message types.
const WEB_SOCKET_MESSAGE_TYPE_ALL_PLAYERS                 = '|A|';
const WEB_SOCKET_MESSAGE_TYPE_CONNECTION                  = '|C|';
const WEB_SOCKET_MESSAGE_TYPE_DISCONNECTED                = '|D|';
const WEB_SOCKET_MESSAGE_TYPE_CHAT_MESSAGE                = '|M|';
const WEB_SOCKET_MESSAGE_TYPE_LOOK_AT_UPDATE              = '|L|';
const WEB_SOCKET_MESSAGE_TYPE_POSITION_UPDATE             = '|P|';
const WEB_SOCKET_MESSAGE_TYPE_POSITION_AND_LOOK_AT_UPDATE = '|U|';
// UNIVERSAL_CONSTANTS_END

// UNIVERSAL_CONSTANTS_START : Entity types.
const ENTITY_TYPE_BASE          = 'Entity';
const ENTITY_TYPE_TASK          = 'EntityTask';
const ENTITY_TYPE_TIME          = 'EntityTime';
const ENTITY_TYPE_WALL          = 'EntityWall';
const ENTITY_TYPE_OWNER         = 'EntityOwner';
const ENTITY_TYPE_TEXT_REMINDER = 'EntityTextReminder';
const ENTITY_TYPE_ALL           = [ENTITY_TYPE_BASE, ENTITY_TYPE_TASK, ENTITY_TYPE_TIME, ENTITY_TYPE_WALL, ENTITY_TYPE_OWNER, ENTITY_TYPE_TEXT_REMINDER];
// UNIVERSAL_CONSTANTS_END

// UNIVERSAL_CONSTANTS_START : Entity property keys.
const ENTITY_PROPERTY_START_TOKEN         = 'ep_';
const ENTITY_PROPERTY_PUBLIC              = ENTITY_PROPERTY_START_TOKEN + 'public';
const ENTITY_PROPERTY_OWNER               = ENTITY_PROPERTY_START_TOKEN + 'owner';
const ENTITY_PROPERTY_PASSWORD            = ENTITY_PROPERTY_START_TOKEN + 'password';
const ENTITY_PROPERTY_USERNAME            = ENTITY_PROPERTY_START_TOKEN + 'username';
const ENTITY_PROPERTY_EMAIL               = ENTITY_PROPERTY_START_TOKEN + 'email';
const ENTITY_PROPERTY_NAME                = ENTITY_PROPERTY_START_TOKEN + 'name';
const ENTITY_PROPERTY_POSITION            = ENTITY_PROPERTY_START_TOKEN + 'position';
const ENTITY_PROPERTY_WIDTH               = ENTITY_PROPERTY_START_TOKEN + 'width';
const ENTITY_PROPERTY_HEIGHT              = ENTITY_PROPERTY_START_TOKEN + 'height';
const ENTITY_PROPERTY_NORMAL              = ENTITY_PROPERTY_START_TOKEN + 'normal';
const ENTITY_PROPERTY_NORMAL_DEPTH        = ENTITY_PROPERTY_START_TOKEN + 'normal_depth';
const ENTITY_PROPERTY_HORIZONTAL_OFFSET   = ENTITY_PROPERTY_START_TOKEN + 'horizontal_offset';
const ENTITY_PROPERTY_VERTICAL_OFFSET     = ENTITY_PROPERTY_START_TOKEN + 'vertical_offset';
const ENTITY_PROPERTY_COMPLETED           = ENTITY_PROPERTY_START_TOKEN + 'completed';
const ENTITY_PROPERTY_PHONE_NUMBER        = ENTITY_PROPERTY_START_TOKEN + 'phone_number';
const ENTITY_PROPERTY_PHONE_CARRIER       = ENTITY_PROPERTY_START_TOKEN + 'phone_carrier';
const ENTITY_PROPERTY_CREATED_AT_DATE     = ENTITY_PROPERTY_START_TOKEN + 'created_at_date';
const ENTITY_PROPERTY_DUE_DATE            = ENTITY_PROPERTY_START_TOKEN + 'due_date';
const ENTITY_PROPERTY_TEXT_CONTENTS       = ENTITY_PROPERTY_START_TOKEN + 'text_contents';
const ENTITY_PROPERTY_DUE_TIME            = ENTITY_PROPERTY_START_TOKEN + 'due_time';
const ENTITY_PROPERTY_EXECUTE_DATE        = ENTITY_PROPERTY_START_TOKEN + 'execute_date';
const ENTITY_PROPERTY_EXECUTE_TIME        = ENTITY_PROPERTY_START_TOKEN + 'execute_time';
const ENTITY_PROPERTY_SERVER_ID           = ENTITY_PROPERTY_START_TOKEN + '_id';
const ENTITY_PROPERTY_IMPORTANCE          = ENTITY_PROPERTY_START_TOKEN + 'importance';
// UNIVERSAL_CONSTANTS_END

// UNIVERSAL_CONSTANTS_START : Entity default property keys.
const ENTITY_DEFAULT_PROPERTY_TYPE        = ENTITY_PROPERTY_START_TOKEN + 'type';
const ENTITY_DEFAULT_PROPERTY_CHILD_IDS   = ENTITY_PROPERTY_START_TOKEN + 'child_ids';
const ENTITY_DEFAULT_PROPERTY_PARENT_IDS  = ENTITY_PROPERTY_START_TOKEN + 'parent_ids';
const ENTITY_DEFAULT_PROPERTY_RELATIVE_ID = ENTITY_PROPERTY_START_TOKEN + 'relative_id';
// UNIVERSAL_CONSTANTS_END

// UNIVERSAL_CONSTANTS_START : Entity POST keys.
const ENTITY_POST_SAVE_DATA = 'save_data';
// UNIVERSAL_CONSTANTS_END

// UNIVERSAL_CONSTANTS_START : POST URLs for client-server communication.
const POST_URL_DELETE_ENTITY         = '/delete_entity';
const POST_URL_SAVE_ENTITY           = '/save_entity';
const POST_URL_GET_USER_ENTITIES     = '/get_user_entities';
const POST_URL_CREATE_ACCOUNT        = '/create_account';
const POST_URL_LOGIN                 = '/login';
const POST_URL_ENTITY_MANAGER_STATUS = '/server_side_print_entity_manager_status';
const POST_URL_GET_DATABASE_DATA     = '/get_database_data';
const POST_URL_GET_ALL_SERVER_CACHE  = '/get_all_server_cache';
const POST_URL_GET_SERVER_LOGS       = '/get_server_logs';
// UNIVERSAL_CONSTANTS_END

// Cookie keys.
const COOKIE_SHOULD_REMEMBER_USERNAME = 'should_remember_username';
const COOKIE_REMEMBERED_USERNAME      = 'remembered_username';

// UNIVERSAL_CONSTANTS_START : Floating text types.
const TYPE_INPUT_PASSWORD         = '<PASSWORD>';
const TYPE_INPUT_REGULAR          = 'input_regular';
const TYPE_LABEL                  = 'label';
const TYPE_BUTTON                 = 'button';
const TYPE_STATUS                 = 'status';
const TYPE_TITLE                  = 'title';
const TYPE_TITLE_CONSTANT         = 'title_constant';
const TYPE_SUPER_TITLE_CONSTANT   = 'super_title_constant';
const TYPE_CHECK_BOX              = 'check_box';
const TYPE_SUPER_TITLE            = 'super_title';
const TYPE_CONSTANT_TEXT          = 'constant_text';
const TYPE_SLIDER                 = 'slider';
const TYPE_TWO_DIRECTIONAL_SLIDER = 'two_directional_slider';
// UNIVERSAL_CONSTANTS_END

// UNIVERSAL_CONSTANTS_START : Server reply message.
const SERVER_REPLY_INVALID_POST_DATA_ERROR                = 'Invalid POST data!';
const SERVER_REPLY_INVALID_NUMBER_OF_POST_ARGUMENTS_ERROR = 'Invalid number of POST arguments!';
const SERVER_REPLY_GENERIC_NO                             = 'n';
const SERVER_REPLY_GENERIC_YES                            = 'y';
const SERVER_REPLY_GENERIC_SERVER_ERROR                   = 'Server Error!';
// UNIVERSAL_CONSTANTS_END

const BACKGROUND_COLOR_DEFAULT = '#000000';
const BACKGROUND_COLOR_FOCUS   = '#264241';
const BACKGROUND_COLOR_ERROR   = '#390006';
const BACKGROUND_COLOR_SUCCESS = '#1e3f1e';

// UNIVERSAL_CONSTANTS_START : Colors and utility indexes.
const COLOR_STRING_INDEX            = 1;
const COLOR_HEX_INDEX               = 0;
const COLOR_HIGHLIGHT               = [0xD4FF93, '#D4FF93'];
const COLOR_PLANET                  = [0xAFE0FF, '#AFE0FF'];
const COLOR_TEXT_DEFAULT            = [0x67ffbf, '#67ffbf'];
const COLOR_TEXT_BUTTON             = [0x60d6ff, '#60d6ff'];
const COLOR_RED                     = [0xff5e33, '#ff5e33'];
const COLOR_ORANGE                  = [0xFF7F00, '#FF7F00'];
const COLOR_GREEN                   = [0x6cff61, '#6cff61'];
const COLOR_BLUE                    = [0x2a33ff, '#2a33ff'];
const COLOR_DARK_PURPLE             = [0x4B0082, '#4B0082'];
const COLOR_LIGHT_PURPLE            = [0x8F00FF, '#8F00FF'];
const COLOR_TEXT_CONSTANT           = [0x7e58b0, '#7e58b0'];
const COLOR_WHITE                   = [0xffffff, '#ffffff'];
const COLOR_BLACK                   = [0x000000, '#000000'];
const COLOR_SCHEDULE_PAST           = [0x0b3162, '#09254b'];
const COLOR_SCHEDULE_PRESENT        = [0x8effae, '#4dff78'];
const COLOR_SCHEDULE_FUTURE         = [0x000b1c, '#d58900'];
const COLOR_FLOATING_WALL_BASE      = [0x151515, '#151515'];
const COLOR_FLOATING_WALL_TOP       = [0xacdfbc, '#acdfbc'];
const COLOR_FLOATING_WALL_HIGHLIGHT = [0x152319, '#001f23'];
const COLOR_FLOATING_WALL_SUCCESS   = [0x092300, '#092300'];
const COLOR_FLOATING_WALL_ERROR     = [0x230002, '#230002'];
const COLOR_TRANSPARENT             = 'rgba(255, 255, 255, 0.0)';
// UNIVERSAL_CONSTANTS_END

// UNIVERSAL_CONSTANTS_START : Texture types.
const TEXTURE_GROUP_SKYBOX = 'skybox/';
const TEXTURE_GROUP_CURSOR = 'cursors/';
const TEXTURE_GROUP_ICONS  = 'icons/';
// UNIVERSAL_CONSTANTS_END

// UNIVERSAL_CONSTANTS_START : Textures for icons.
const ICON_EXIT         = 'exit.png';
const ICON_SETTINGS     = 'gear.png';
const ICON_MULTIPLAYER  = 'multiplayer.png.png';
const ICON_HOME         = 'home.png';
const ICON_SAVE         = 'save.png';
const ICON_ENTITY_GROUP = 'share.png';
const ICON_FULLSCREEN   = 'larger.png';
const ICON_LEFT         = 'arrow_left.png';
const ICON_RIGHT        = 'arrow_right.png';
const ICON_CROSS        = 'cross.png';<commit_msg>general updating 61<commit_after>'use strict';

/* __        __   __  ___  __       ___  __
  /__` |__| /  \ |__)  |  /  ` |  |  |  /__`
  .__/ |  | \__/ |  \  |  \__, \__/  |  .__/ */
const l = console.log;

/* __        __   __                __   __        ___  __  ___  __
  / _` |    /  \ |__)  /\  |       /  \ |__)    | |__  /  `  |  /__`    .
  \__> |___ \__/ |__) /~~\ |___    \__/ |__) \__/ |___ \__,  |  .__/    .*/

// Global managers.
var MANAGER_AUDIO        = null;
var MANAGER_COOKIES      = null;
var MANAGER_WORLD        = null;
var MANAGER_ENTITY       = null;
var MANAGER_MULTIPLAYER  = null;
var MANAGER_SHADER       = null;
var MANAGER_RENDERER     = null;
var MANAGER_INPUT        = null;
var MANAGER_POINTER_LOCK = null;
var MANAGER_DATA_DISPLAY = null;
var MANAGER_LOADING      = null;

// Global objects.
var CURRENT_PLAYER = null;
var ENTITY_OWNER   = null;

// Global gui objects.
var GUI_PAUSED_MENU      = null;
var GUI_TYPING_INTERFACE = null;

/* __        __   __                          __          __        ___  __
  / _` |    /  \ |__)  /\  |       \  /  /\  |__) |  /\  |__) |    |__  /__`
  \__> |___ \__/ |__) /~~\ |___     \/  /~~\ |  \ | /~~\ |__) |___ |___ .__/ */

// World math constants.
const DIAGONAL_PENALTY = Math.sqrt(.5);
const GROUND_NORMAL    = new THREE.Vector3(0, 1, 0);
const ONE_THIRD        = 1 / 3;
const TWO_THIRDS       = 2 / 3;

// Logical constants.
const NOT_FOUND = -1;

// Math constants.
const HALF_PIE = Math.PI / 2.0;
const PIE = Math.PI;
const TWO_PIE = Math.PI * 2.0;

// UNIVERSAL_CONSTANTS_START : Web socket message types.
const WEB_SOCKET_MESSAGE_TYPE_ALL_PLAYERS                 = '|A|';
const WEB_SOCKET_MESSAGE_TYPE_CONNECTION                  = '|C|';
const WEB_SOCKET_MESSAGE_TYPE_DISCONNECTED                = '|D|';
const WEB_SOCKET_MESSAGE_TYPE_CHAT_MESSAGE                = '|M|';
const WEB_SOCKET_MESSAGE_TYPE_LOOK_AT_UPDATE              = '|L|';
const WEB_SOCKET_MESSAGE_TYPE_POSITION_UPDATE             = '|P|';
const WEB_SOCKET_MESSAGE_TYPE_POSITION_AND_LOOK_AT_UPDATE = '|U|';
// UNIVERSAL_CONSTANTS_END

// UNIVERSAL_CONSTANTS_START : Entity types.
const ENTITY_TYPE_BASE          = 'Entity';
const ENTITY_TYPE_TASK          = 'EntityTask';
const ENTITY_TYPE_TIME          = 'EntityTime';
const ENTITY_TYPE_WALL          = 'EntityWall';
const ENTITY_TYPE_OWNER         = 'EntityOwner';
const ENTITY_TYPE_TEXT_REMINDER = 'EntityTextReminder';
const ENTITY_TYPE_ALL           = [ENTITY_TYPE_BASE, ENTITY_TYPE_TASK, ENTITY_TYPE_TIME, ENTITY_TYPE_WALL, ENTITY_TYPE_OWNER, ENTITY_TYPE_TEXT_REMINDER];
// UNIVERSAL_CONSTANTS_END

// UNIVERSAL_CONSTANTS_START : Entity property keys.
const ENTITY_PROPERTY_START_TOKEN         = 'ep_';
const ENTITY_PROPERTY_PUBLIC              = ENTITY_PROPERTY_START_TOKEN + 'public';
const ENTITY_PROPERTY_OWNER               = ENTITY_PROPERTY_START_TOKEN + 'owner';
const ENTITY_PROPERTY_PASSWORD            = ENTITY_PROPERTY_START_TOKEN + 'password';
const ENTITY_PROPERTY_USERNAME            = ENTITY_PROPERTY_START_TOKEN + 'username';
const ENTITY_PROPERTY_EMAIL               = ENTITY_PROPERTY_START_TOKEN + 'email';
const ENTITY_PROPERTY_NAME                = ENTITY_PROPERTY_START_TOKEN + 'name';
const ENTITY_PROPERTY_POSITION            = ENTITY_PROPERTY_START_TOKEN + 'position';
const ENTITY_PROPERTY_WIDTH               = ENTITY_PROPERTY_START_TOKEN + 'width';
const ENTITY_PROPERTY_HEIGHT              = ENTITY_PROPERTY_START_TOKEN + 'height';
const ENTITY_PROPERTY_NORMAL              = ENTITY_PROPERTY_START_TOKEN + 'normal';
const ENTITY_PROPERTY_NORMAL_DEPTH        = ENTITY_PROPERTY_START_TOKEN + 'normal_depth';
const ENTITY_PROPERTY_HORIZONTAL_OFFSET   = ENTITY_PROPERTY_START_TOKEN + 'horizontal_offset';
const ENTITY_PROPERTY_VERTICAL_OFFSET     = ENTITY_PROPERTY_START_TOKEN + 'vertical_offset';
const ENTITY_PROPERTY_COMPLETED           = ENTITY_PROPERTY_START_TOKEN + 'completed';
const ENTITY_PROPERTY_PHONE_NUMBER        = ENTITY_PROPERTY_START_TOKEN + 'phone_number';
const ENTITY_PROPERTY_PHONE_CARRIER       = ENTITY_PROPERTY_START_TOKEN + 'phone_carrier';
const ENTITY_PROPERTY_CREATED_AT_DATE     = ENTITY_PROPERTY_START_TOKEN + 'created_at_date';
const ENTITY_PROPERTY_DUE_DATE            = ENTITY_PROPERTY_START_TOKEN + 'due_date';
const ENTITY_PROPERTY_TEXT_CONTENTS       = ENTITY_PROPERTY_START_TOKEN + 'text_contents';
const ENTITY_PROPERTY_DUE_TIME            = ENTITY_PROPERTY_START_TOKEN + 'due_time';
const ENTITY_PROPERTY_EXECUTE_DATE        = ENTITY_PROPERTY_START_TOKEN + 'execute_date';
const ENTITY_PROPERTY_EXECUTE_TIME        = ENTITY_PROPERTY_START_TOKEN + 'execute_time';
const ENTITY_PROPERTY_SERVER_ID           = ENTITY_PROPERTY_START_TOKEN + '_id';
const ENTITY_PROPERTY_IMPORTANCE          = ENTITY_PROPERTY_START_TOKEN + 'importance';
// UNIVERSAL_CONSTANTS_END

// UNIVERSAL_CONSTANTS_START : Entity default property keys.
const ENTITY_DEFAULT_PROPERTY_TYPE        = ENTITY_PROPERTY_START_TOKEN + 'type';
const ENTITY_DEFAULT_PROPERTY_CHILD_IDS   = ENTITY_PROPERTY_START_TOKEN + 'child_ids';
const ENTITY_DEFAULT_PROPERTY_PARENT_IDS  = ENTITY_PROPERTY_START_TOKEN + 'parent_ids';
const ENTITY_DEFAULT_PROPERTY_RELATIVE_ID = ENTITY_PROPERTY_START_TOKEN + 'relative_id';
// UNIVERSAL_CONSTANTS_END

// UNIVERSAL_CONSTANTS_START : Entity POST keys.
const ENTITY_POST_SAVE_DATA = 'save_data';
// UNIVERSAL_CONSTANTS_END

// UNIVERSAL_CONSTANTS_START : POST URLs for client-server communication.
const POST_URL_DELETE_ENTITY         = '/delete_entity';
const POST_URL_SAVE_ENTITY           = '/save_entity';
const POST_URL_GET_USER_ENTITIES     = '/get_user_entities';
const POST_URL_CREATE_ACCOUNT        = '/create_account';
const POST_URL_LOGIN                 = '/login';
const POST_URL_ENTITY_MANAGER_STATUS = '/server_side_print_entity_manager_status';
const POST_URL_GET_DATABASE_DATA     = '/get_database_data';
const POST_URL_GET_ALL_SERVER_CACHE  = '/get_all_server_cache';
const POST_URL_GET_SERVER_LOGS       = '/get_server_logs';
// UNIVERSAL_CONSTANTS_END

// Cookie keys.
const COOKIE_SHOULD_REMEMBER_USERNAME = 'should_remember_username';
const COOKIE_REMEMBERED_USERNAME      = 'remembered_username';

// UNIVERSAL_CONSTANTS_START : Floating text types.
const TYPE_INPUT_PASSWORD         = '<PASSWORD>';
const TYPE_INPUT_REGULAR          = 'input_regular';
const TYPE_LABEL                  = 'label';
const TYPE_BUTTON                 = 'button';
const TYPE_STATUS                 = 'status';
const TYPE_TITLE                  = 'title';
const TYPE_TITLE_CONSTANT         = 'title_constant';
const TYPE_SUPER_TITLE_CONSTANT   = 'super_title_constant';
const TYPE_CHECK_BOX              = 'check_box';
const TYPE_SUPER_TITLE            = 'super_title';
const TYPE_CONSTANT_TEXT          = 'constant_text';
const TYPE_SLIDER                 = 'slider';
const TYPE_TWO_DIRECTIONAL_SLIDER = 'two_directional_slider';
// UNIVERSAL_CONSTANTS_END

// UNIVERSAL_CONSTANTS_START : Server reply message.
const SERVER_REPLY_INVALID_POST_DATA_ERROR                = 'Invalid POST data!';
const SERVER_REPLY_INVALID_NUMBER_OF_POST_ARGUMENTS_ERROR = 'Invalid number of POST arguments!';
const SERVER_REPLY_GENERIC_NO                             = 'n';
const SERVER_REPLY_GENERIC_YES                            = 'y';
const SERVER_REPLY_GENERIC_SERVER_ERROR                   = 'Server Error!';
// UNIVERSAL_CONSTANTS_END

const BACKGROUND_COLOR_DEFAULT = '#000000';
const BACKGROUND_COLOR_FOCUS   = '#264241';
const BACKGROUND_COLOR_ERROR   = '#390006';
const BACKGROUND_COLOR_SUCCESS = '#1e3f1e';

// UNIVERSAL_CONSTANTS_START : Colors and utility indexes.
const COLOR_STRING_INDEX            = 1;
const COLOR_HEX_INDEX               = 0;
const COLOR_HIGHLIGHT               = [0xD4FF93, '#D4FF93'];
const COLOR_PLANET                  = [0xAFE0FF, '#AFE0FF'];
const COLOR_TEXT_DEFAULT            = [0x67ffbf, '#67ffbf'];
const COLOR_TEXT_BUTTON             = [0x60d6ff, '#60d6ff'];
const COLOR_RED                     = [0xff5e33, '#ff5e33'];
const COLOR_ORANGE                  = [0xFF7F00, '#FF7F00'];
const COLOR_GREEN                   = [0x6cff61, '#6cff61'];
const COLOR_BLUE                    = [0x2a33ff, '#2a33ff'];
const COLOR_DARK_PURPLE             = [0x4B0082, '#4B0082'];
const COLOR_LIGHT_PURPLE            = [0x8F00FF, '#8F00FF'];
const COLOR_TEXT_CONSTANT           = [0x7e58b0, '#7e58b0'];
const COLOR_WHITE                   = [0xffffff, '#ffffff'];
const COLOR_BLACK                   = [0x000000, '#000000'];
const COLOR_SCHEDULE_PAST           = [0x0b3162, '#09254b'];
const COLOR_SCHEDULE_PRESENT        = [0x8effae, '#4dff78'];
const COLOR_SCHEDULE_FUTURE         = [0x000b1c, '#d58900'];
const COLOR_FLOATING_WALL_BASE      = [0x151515, '#151515'];
const COLOR_FLOATING_WALL_TOP       = [0xacdfbc, '#acdfbc'];
const COLOR_FLOATING_WALL_HIGHLIGHT = [0x152319, '#001f23'];
const COLOR_FLOATING_WALL_SUCCESS   = [0x092300, '#092300'];
const COLOR_FLOATING_WALL_ERROR     = [0x230002, '#230002'];
const COLOR_TRANSPARENT             = 'rgba(255, 255, 255, 0.0)';
// UNIVERSAL_CONSTANTS_END

// UNIVERSAL_CONSTANTS_START : Texture types.
const TEXTURE_GROUP_SKYBOX = 'skybox/';
const TEXTURE_GROUP_CURSOR = 'cursors/';
const TEXTURE_GROUP_ICONS  = 'icons/';
// UNIVERSAL_CONSTANTS_END

// UNIVERSAL_CONSTANTS_START : Textures for icons.
const ICON_EXIT         = 'exit.png';
const ICON_SETTINGS     = 'gear.png';
const ICON_MULTIPLAYER  = 'multiplayer.png';
const ICON_HOME         = 'home.png';
const ICON_SAVE         = 'save.png';
const ICON_ENTITY_GROUP = 'share.png';
const ICON_FULLSCREEN   = 'larger.png';
const ICON_LEFT         = 'arrow_left.png';
const ICON_RIGHT        = 'arrow_right.png';
const ICON_CROSS        = 'cross.png';
{'fraction_non_alphanumeric': 0.09523565047746176, 'fraction_numerical': 0.022384228360201253, 'mean_word_length': 3.11992385786802, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1695950', 'n_tokens_mistral': 7263, 'n_tokens_neox': 7060, 'n_words': 1121}