J̶̨̡̨̨̧̧̧̧̨̢̢̢̧̡̨̢̨̢̢̧̧̢̡̡̧̨̤̩̱̗̣̗̱̮͇͇̻͕͉͇̗̭͕̻̝̼̻̤̞͍̫̣͔̗̠̠̪͕̮̙̤͓̯̦̙̬̫͙̖̙͙̬̜̗̙̬̩͔̹̱̠̩͎̞̪͖̯̹̲͙̥͈͕̼̜̪̙͔̖͈̞̣̝̦̤̺̺͓̮͓̮̝̤͙̗͉̗̞̟͈̞̼͕̩̻̥͖̤͇̪̪͍̗̥̼̲̝͇̜̥͚͍͕̞̝̖͔̜̦̮̫͍̜̬̥̲̮̜͈̠͙̭̱͇̥͈͇̩͖̝̱̪̹̜͕͈̫̦̭͉̞̪̤̗͙͚̰̙̝͚̹̝̫̪̤͇̠̮̤̜̭̰̞͚̝̫̭͉͕̠̻̤͕̫̳͓̳̯͍̣̭̘̤͚̯̖͓̼͕̥̞̘̤̣͔̥̮͉͍̝̣͇̳͇͎͈͖̤͎̯̬̬̭̗̫͚̹̫͉̮͋̕͜͜ͅͅͅu̶̢̡̢̧̧̡̡̨̡̧̢̧̨̢̢̧̧͚̟̥̘̭͇͈̳͔̠͓͔͉̱͙͓̪̱͚͉̬͎͉͚̹̩̪̥̤͍̖̜̼̦͍͎̫͇͉͔͔̙̪̝̱̥̭̠̭͈̙̗͓̲͙̰̻̲̬̪͖̤̹̘̬̻̜͙̫͇͎͚̺̩̬̬̰̬̣̲̯͓̝̝̹͖̼͓̹̺̯̱͚̗̩̱̠̠̺͎̮̮̪̤̝͇͚̫̹̼̗̺̻̗͓̠͕̯̯̱̘͎̳̱͉̙̪͇͓̼̯̙̘̪̲̳̭̝̹̦̮̳̗͔͈̪̰͇̖̥͕͓̺͇͔̝̲̫͉̣̭̥̹̼͖̺̰̳̪̠͕͉͚͎̪̪͎̪̩͍͛̊̈́̾͒̈̂͐̑̿͑̀̾̎̋͗̒͋̄̑͐͗́̈́̎̆̉͛̎̋̐͗͒̄̑͌͆̀̉̐̓͐̆͂̂̿̓̇̽͒̀̀̍̓͒͛͆̇̂͒́̄̔͛̎́̓͆̈͐͒͛̽̕͘͘̚̚̕͘̕͘͜͜͜͝͠͠͝͝͠͝͠͠͠ͅͅͅͅͅͅͅͅͅs̷̡̧̨̡̢̢̨̧̨̧̢̢̡̨̡̧̢̨̢̡̨̢̢̨̧̡̛̛̛̛̛̛̛̥̹̳̬͚̠̼̲̬̞̺̤͈̪̲͓̣̤̬̘̰̮̪̟͍̪̗̦̲̺͉̦̤̟̖̲̲̠͉̙̜͇̞͓̻̣̞͉̝̪̺̰͓̝̥͙̘͎̘̭͎̺̮̼̥̩͓̘̠̺̪͚̝̯͈͚̬̦̯̦͕͖̰̭̠͇̣̙͉̻̘̜̟̤͔̳̣̖̻͚͚̻̺̦̳̣̘̣̩͉͈̳͎̫̯͕̪̠͕̲͚̜̗̗̫̫̱͎̯̙̣̗̫̭͎̩̫̟͚̦̟̙̤͉̜͔͙̙͙̫̣̮̱͙̳̺̺̗̼̻͍̣͍͙̯̝̼͕̭̦͖̻̝͍̝̪̮͇̯͔̼̣̩͕͕̘̭͕̖͓̭̉͒̂̌̐̂͑̋͂͋̈͐̈́̄̂̅͗͋̾̓͌̈̀̇̂̇̃̉̎́̀̏̐̐̽̿̏̈́͗͑̓̇̊̊̇̓̈́̒̀̅̈͗̓̌̄͂̽͆̇̓̄̿̃̀͛͊̽̉̑̉̑̆̅̽̎͒̔̔̒̍͆̑̐̽̄͛̐̀́̓̈́͋̍̿́͂͊̃͐͐͋̊̌̒̾͗̓͊͐̋́̔̍́̐̑̌̏̆̓͋̐͗̀͋̆̓̃̇͂͗̎̅̈́͒͗͗̔̆̈̃͋̆̒̇̄͗̋̓̔͛̉̈́̑̂̉̐̋̎̅̅̆͒̈̀͂̾̂̐̂̊͋͋̔̃͋͆̑̇̂̾̆̎̈́̉̍̽͊͊̏̎̏͐͋͂́̾̀̓̽̐̀̓̉͂̅̂̋̅̇̚̚͘̕̕͘̚̚̚͘͘̕͜͜͜͜͜͜͜͜͜͜͝͝͝͠͝͝͝͠͝͠͠͝͝ͅͅͅt̵̡̧̛̛̛̛̛͙͉͍̱̰̘͍̻̬̝̦͎̣̖̙̠̬̻̝͔̣̲̩͍̱̑͒̍͊̊̎́̊̂̂̄̽̿̀̍͌̏̽̿́̍̆͆͗̔̈́́͊͂̆̾̿̐̓̈́̓͑̑̋͗̀͐͛̐͐́́̒͂̆̒̉͌̇̄̀̃̆̂͛̽͐͌̓͗̾̔̊͐̎͐̄͌͋̐̅͋͋͒̋̊̊̀͂̇͛̅̂̐̀͒̒̉̇̃̒̔̔̍͌̒̌̌͊͐͂̑͒̾̽͊̈́͑̐̈̑̉̽̇̆̓͂̋͌́̿̓̇̀̏̾̈́̏̌̔̉̐̽̃̿̈̈̉̈͌͐̊́̾̊̔̉͆̄͆̈́̈́̍̈̃̽̊̉͌̆͑͆̊̽̽̒̒̿̏͋́̀̅̍̏̑̈̿̋̃̈̄̏̋̋̈́̎͆̍͛̀̈̂̀̀̀̈́̐͑͌͑͒́̀̎͛̒̍͗̊̉̒͋͋͒͐̌̏̆̑̓̈́̾̒͂̆͌͆̀͊̐̎̂̅̾̋̔̂̀̍̏̓́̇̽̾̅̚̚̚̚̕̚̚̕̕͘̕̚̚͘̕͘͘̚̕͘̚̚̚͜͜͝͝͝͝͝͠͝͝͝͠͠͝͠͠͠͝͝͝ͅ ̸̡̧̡̡̧̧̧̧̡̨̡̨̨̧̧̢̛̛̛̛̛̛̘̰͓̼͍̗̥̮͕̝̞̟͇̞̙̻͙̯͕̗̺̠̺̗̭̰̗̺̗̲̥̯͎̫̻͔͓̩̜̦̘͓̬̳̟̻͈͔̯̩͕̙̩̝̬͇̣͓͇̱̹̼̹̹̩̰̣̹͈͈̬̜̳̪̹̠͓̥͎̩̥̥̳̱̩̹̝̘͕̗̘̲͓̺̱̹̫̱̟̜̺̹̥͎̳̺̹̘̞̼̟̪͉̝̼̣̤͓̮̩͍̜͍͖̻̺͈̤̹̙͇͙̭̙̜̰̻͙̣͕̼̘̠͓͉̲̻̟̻̦̺͕͍̦̩͖̰̥̩̱̱͚̩̹̰̹̙̫̟̣̗̝̹̝͉̻͉̟̗̙̫͖͈͖̬̜̬̞͍̭̻̤̣̪̭͍̗̠̬̘͕̠͈̖̥̓̀̈̉́̆̌̅̈͊̊̔͗̀͆͒̓͗̽͋̉̒̈́̃͛̾̄̄̀̍̑̀͗͋͛̓̈́̓̈̓̊̅̔̀̓̾̄̈̓̂͊͛́̾̉̉̎̍̆̅͆̀̇̈́͆̌̔̓̈́͌̄̈́̋͌̍̅̓̈͐́̉̀̓̊̍̽͗̂͑̐̔̅͆̀̎̓͊̽̔͑̽̂̓̇̓͐̎͑͛̽̄̈́̉̾͒̍̑̀̐̓̀̇̿̈́̎̊͂͑̇̎͆̇̄͒͋̀̿̓̐͆̈́̂̿̏͂̍̈͌̏̆̿͋̈͂́͗̎͊͒̅̈́̋̃̉̽̀̿̎̈̅̇̽̒́̐̈́̎̑̄̂͗͛̌̄͊̀̓͋͘̕̕͘̚͘͘̕̕̚̕̕̚͘̚͜͜͜͜͜͝͝͠͝͠͠͝͠͝͠͝͝͝͝͠͠͝͝͝͠͠͝͝͠͝͝ͅͅͅͅͅͅͅF̷̢̨̧̨̡̧̢̛̛̛̛͓͈̱̯̬̭͖̫̞̻͖̲̭̝͕̤̤̜̬̖̺̹͎̺͚͎͙̮̟̖̗̻͚͕̙̦̱͚̝̯̜̙̩͈̱̙͖̞̞̰̳͕̦̬̙̉̏̈́̑̎͛͑̆̆̽̉͂̏̑̅̌̿̔͛̿͌̏̿͋̈̐̾̃̈́̾̃̃̀͒̈́͋̅̇̐͒͆̿̄͋̉̋̏́̅͊͑̆̔̽͌͗̒̀̽̍͗́͋̔͆̎͊̊͌͑̾̈̂̑̿͆͛̅̒̇̈́̆́̉͊̆͐̀̋̊͛̌͌̈́͑̿̓̐̈́̅͌̑̅̒͋̒̈́̈́̃̈́̃̂̍̐̏̾͒̀̉̌̀́̂͐̌̒̇̉̅͗̓̈́̽̍̇̂̉̅̿̒̓̾͂̾̿̈́̂̔͋̆̈́̈͌̃̍̈́̎̈̑͆̅̓͗͆͋̈́̂̀́̏͑̃̂̍̐̃͆̓̕̕̕̕̕̕͘̕͘̕̕͘͘͜͜͜͜͝͠͝͝͝͝͝͠͝͝͝͝͝ͅͅͅi̵̢̧̢̨̢̨̧̛̛̛̥̣͕̤̤̥̺̪̝͖̫̪̻̠̲̹̞̟͖̲͕͓̝̲͉͇̙̻̞̤̩̟̣͈̜̞͈̠͇͈͍̜͔̙̦͚͔̣̙̪͙̩̝̮͇̪͙͉͖̪͈͖͖̳̗̯̠͉̭̋͗̄̾̂͆̆̐͛͗́͆͌̃̉̂̋̓̇͑̈́̓̊̀̂͆̒̾͛͗̉̌̍̅̑̀͊͑͛̐͋͆̽̎̑̂̎͑̑̌̓́̈́̒̂͌͛͐̐̿̽̈́̐̀́͆̐̌͊͊́͒̌̂͑̏̔̎͂̍̏͑̇̍̑͊͊̀̂͂̈́̎̅̔̍̅̑̅̽̃͑͒͗̿̑̔̒̑͋͂̂̑̍̄̇͒̐̌̽̀͊̔̊͋͒̾̂̿̏́̀̃̇͐̔̈́́̊̽̄̉̅̓̈̾̀̓̄͂͛̂́̍̉͆͂̓̀̂̓̎̉̎̔̓̐̂̂́̌̕̚̕̕̚̚͘͘͘̚̕̚̚͘͘̚͜͜͝͝͝͝͝͝͝͝͝͝͠ͅͅͅx̶̢̨̢̧̧̧̨̧̧̢̧̧̨̛̛̛̛̛̛̮͎̜̳̻͕̥̰͇̺̝̤͖̬̲͓̫̗͇͎̻̯͍͙̺͉̱͔̤̫̻͚̣̹̥̰̼̫̱̫͖̱̙͓̭̞͇̪̯̘̠̯̩͙͕̙̼̣̪̻̻̥̹͍̹̭̫͓̱̻̖̮̹̮̥̥͕̲͉̝͈̥̗̪̥͚͚͚͕̺̠̹͔̫̤̰̘̯͕̳͈̭͖̣͖̹͖̩̼͙̯̭̣͈̣͇͈̘̫̖̠̞͍̬̫̲̳̻̹̱̳̞͙͔̠̱͕̮̯͉̩̪͎̯̪̻̜͒̇̋̂̋̽͗̔́̐̂̂̾͆̑͗̏̐̈́̃͐̊͌̓̓̐̌̈̇̽̋͛̐͋̄̏͑͋̿̿͆̈́̐̾̈́͗͌́͑́͗̍͒̌̒̅̇͌̽̊̈́̾̒͒͒͆̅̾͌̑͛͑͒́̍̉̏̊́͂̌̇̔͛̾̾̓̽̑̌̾̏̔͋̾̈̊̑̎͋̈́̄̾̄̅͋͐̿̆̋̈̄̐͊̆͋̋̽̂̌́͆͆̎̇̄̃͊̈́̉̔̍̓͆͑̃̋͂̀̉̏̉̓͊̽́͊̓̈́͑̂̑̎̉́̈̈̋̂̈́̒̽̓̑̐́̇͒̊̿̎̔̑͊̿̈̀̈̅̈́̑̊͒̎̏̄͆̈́̇̄́̈́̑̓͗̒̃͒̀̈́̅́̑͑̂̃̂̿̆͌̎͆͌͋̅͑͋͊̈́̓̾̂̏̀̾̔̅̐́̏̓̈͊͋̇͐̅̽͌̂̀̓̏̒̿͌̿͗͗̎̾̀̈́̓̈́̊̚̚͘̚̚̚̚̚͘̕̚̚̚͘̚͜͜͜͜͜͜͜͠͝͝͝͠͝͝͝͠͝͠͝͝͠͝͝͠͝ͅͅͅͅͅͅͅͅ ̸̡̨̧̢̧̢̢̨̧̢̡̢̧̧̨̡̧̨̛̪̜̼̟̤͚̯͓̪̦̥͎̯͕̟͍͚̼̩̩̤̖̥̤̤̳̻͕̼̣͍̜͙̙̭͙̗͇̣͎̦̭͔͙̥̯̬̭̯̞̼͓̳͙͉̲͍͚̲̺͕͕̟̼̻͇͔̺̼͙̦̣̝̖͍̻͍͎̣̹̻̯̲̗̝̤̞̗͍̭̮̮͕̣̗͋̅́̍̍͌̉̊̃̓̓̂̈́͐̓̇̉̋͋̅̊̔͆͗̅̑̓̀̂̍̆̈́̈́̉̃̃̾̏̀͗́̒̌̈͌̅̿̏͆͒̌̀͛̓̐̋̾̀̈́́̾̇̈́̿̀̈́̊́́͛̽̀͌̔̈͆̉͌͋̑̌̈́̽̈́̉̀͛̓͋͗̚͘̚̚͜͜͜͠͝͝͝͠͝͠͠ͅT̴̢̢̡̢̨̡̧̡̢̧̧̡̡̡̨̨̛̛̛̛̛͖̻̯̼̗̫͕̥̝̦̹̪̙̖̩̯̮̦̗̤͚͙͙̬̣̙͈̥͓̬̰̗̤̞͖̞̪̣͎̬͈̹͕͔̦̤̙̝̣̗̜̘͎͙͕͇̟̟̠̮̹̪͖̟͎̼̯̻̮̭͕̬̖͖̼̺̟̠̫̳̖̜̳̖͕̫͔̺̼̯̫̯̫̘̙͔̰͍͎̜̭͎̖͎͚̬̘͔̯̞̝̞̜̣̥̼̙͔̤̦̭̲͍̝̩̼̦̣͇̘̟̦̳͚͔͔̟̣̼̺͎̮̟̖̠̞̗͍̪̯̠̱̭̬̰͍͓̝̲̯̙̭̯̤͕͓̲̹̣̼̦̳̝̞̰͔͍͂̿̓̔͗͌̋̆̓̋̈́̽͑͒̓̈̎̇͗͂̒͐̅̽͗͂̂̇̓̀̍̈́͗̐͂̇̇̽͑̾̏̊̑̓̋̒̒̿͐̐̿̓̅͋̑̋͛͋͗͌̌̑͂̐̏̇̽̑͛̓͗̓̃̂̈́͛̈́̆̌̆̓̋̆̏̊̾́͊̀̐͛̿̅̃̑͑̔̀͂̾̇͑̿̎̐͌͌͌̿̈̽̃́̃̆̆̈̋͑͊̍̈͛͊̐̐̀̍́͊̿̂̌͗͑̃̐̍̊̐̑̈́͛̔̏́̋̈́̑̔͆̎͋̏̒͗̍͗̋͑͂͑̐̑̏̿̃̅͆͒̽̈́͋̋̀̈́̽̑͗̂̿̑̓͐́̊͋̾̄͑̂͐͗̓͛͆̀̏̈́̊́̈́̍̈́̽̂̊̈́̆͊͗̽̈́̓͊̂̅́͗͌́̾̑̀̊͋̀͘̚̚͘̕̚͘̕̚̕̕̕̚̚͘̕͘̚̚͘͜͜͜͜͜͜͜͝͠͠͠͠͝͠͝͠͝͝͝͝͝͠͠͝͝ͅͅͅͅͅͅḧ̵̢̨̨̡̢̡̡̢̡̨̧̡̨̡̢̧̧̨̨̧̢̨̛̛̛̛̛̛̹̞̥͇̘̰̭͖͙͖̥̙̗̹̘͔̞̬̟̠͓͔̪͇̗͈̠̭̱̘̘͎̲̭̼̯̺̘̤̖̲̜̪͔̻̘͕̞͙̜̻͙̦̞̰͉͓̖̞̖͇̺̗̜̩̩̪̺̣̹̺̥͇̘͍͎̫̦͇̻͓̲̗̼͖̙͍̪̙͉̬͓̝̹̳͈̠͎̤̥̯̩̬͙̫̮͕̦͕̻̫̞̙̲͈̤͉͙̤͔̰̗̜̲̹͔̫͈̜̲̦̮͎̗͔̥̤̣̯͈̲͇̝͎͔̺̙̗̲̫̭̟̓̏͋̎̑̂̈́̀̄̉̾͋̍̒̑́̐̈͊͗͊̾̾͛̽̎̊͒̑̈́̀̑͌̌͗̑͋̍̔̎̍͋͗͂́̌̆̏͊͌͒͐͊̈́́͋̈́̒̅͒́̓̉̓́͌̐̓̎̀͂̄̉͌͂̍̌̒́̌͌̃̀̇̂̒̓́́́̃̾̉́̒̆̈̒͒̌͛͋̋̂̒̈͊͐̀͐̾͐̄͋͌̈̐̓͑̍̅͋́̀͂͛͐̉̿͒͌̈́̅̈́̆̉͊̑͊̈́͒͐̌̆́̈́̔͐͋́͐́̆͌͂͂͗̀̋͊̎̏̑̑͛͋̈́̌̿̾̂͋́̅͂̌͌̅́̄͌̎̇͋̾̀̓̀̑̚̕͘̕͘̕̕͘̕̕͜͜͜͠͝͝͝͝͝͝͝͝͝͠͝͠͝͝͠͠͠͠͝͝ͅͅͅͅͅȩ̸̢̢̡̧̨̡̡̨̨̡̛̛̛̛̛̩̪̫̲̣̹̦̝̠̺̬͖̥̬̝̞̥̦̣̤͍̘͈͉̤̘̬͉̖̫̼̘̬͕̗̲̞̟͈͖̥͖̞͔̞̣̘̙̙͖̱̮̙͉̬̤͎̲̙̦̲̱̹͓͉͕̞̰̳̤̰͍̠̻͕̥̺͙̹͇̳͈̻͌́́̀̋͂͒͗̉̏̌̆̒͒͆͒͋͌̀͒͆̂̔́̈̈́͂̾͂̓͗̓͒̆͋̏͛͒̐̈́̋̐̈́͛̉́͆̅͆̾̂̉̄͊̓͆̊͑͐̔̒͂̒̏̆̀̌̉̓̃̔̈̓͛͗̍́̀̉̅͌̀͋͋̒̿̍̒̍̈́̆̐̐͋͆̉̆͒͑̉̅͂̓̿͛́̌͊̍̊̽̽́̓̈́̿̍͑̔́̑̆͗̎͛̅̐̿̑͆͌̉̓̊̑̈́̋́̎̇͂͒̑̇̾͆͘̚͘̕̕̕̕͘͝͠͠͝͝͝ͅͅͅ ̴̡̡̨̨̧̧̢̡̧̡̡̢̡̡̢̡̨̧̧̡̢̛̛̛̛͔̝̦͉̜̭̹̫͕̻̫̳̩̰̖̤̮̮̬̱̖̱͕͙̲̹̞͎͚̻͎͎̜̗̻̪̥̥͈̖͖̖̗͎̖̼̺͖̫̪͙̻͚̱͙͚̤̞̮̯͉̲̰̼̥̙͔̱̹̭̗͙͖̥̥͕̙͎̖̮̼̤̻̙̟̹̣̞̼̫̗̳͇̖̮͍̪̹̞̦̙̹̮̭̫͍̭̹̯̗͍̣͕̱̭͓̩̗̭͍̰̱̦̮̤͓̲̮̞̖̘̲͚̗̜̲̯̱̠͍̠̺̰̳̙͎͉͉̟̮̲̩̖̤͙̰̖̙̤̹͙̭͎̹̺͙̼̠̻͉̯̪̪̫̳̰͇̘̣̻̪̙̗̠̝̤̩̤̣͚̦̹͖͚͖̜̳̦̝̺̳̻̼̩̹͖̥̞̗̥̩̱͐̓̂̊́̄̃̈́̏͋̿̿͂̐̎̈́͊̈̌͒̇͐͊̆̽̅̔̓̎̃̀͗̾̓͋͆̃̌̀̾̋̽̇͛̿̀͒̄́̉́̀̉͛̅̎̀̽͋͑͋͗̊̀͋̾͛̈́̇̐̓̏̄̂̅͘͘̚̚͘̕̕͘͜͠͠͠͝͠͝͝͝ͅͅB̴̨̧̨̢̡̨̨̨̡̨̧̡̡̢̢̡̡̛̛̲͕̹̠̮̠͖͇̮̩̰͎̱͕̳͈̱̫̹̮̗̠̙͓̮̖̻̫̟̣̗͕̫͇̗̥͔͔̩̳̥͙͔͙̥̻͙͉̣̯̮̰̩̹̼͎͓̜͈̜̖̰̣̹͕͚͔̜̹̭̗̖͍̪͔̙̭͖̹̹̮̜̮̤̜͔̜̺͕̮̯̦̣̱̖͍̭͎̦̣͎͔͚̙̩͇͓̫͎̼̻͖̼̮͖͓̼͈̞̘̤͇͈̺̞̗͔̩̮̪̱̠̬̼̺̬̲̤̖͕͍̣̤̦̘̻̹̠̘͖̥̜̮̤̰̬̖͈̤̀̈́̉̇̑̇̈̄̑̀͊̓̈́͌̾̀͊̾̀͆͑́̂͛̋̓̅͌̆̓̌̇̈͒̾̾̽̇̈̅͛̐͊̓̉̌͂̂̅͗̆͛̀̋͋̂̌͛̈͌͊͆̀͐̊̑͒̃͂̌̾̏̂͛̉͌̉̄̈́̄̀̈́̉̌͋̈́̅̀̐̀̾̈́̓̽͑̃̏͒̄̓̍̌́̀̿̐̿͒̈́̌̃̏̈́̏̈́̅͗̂̾́̆͌̏͒́̈́́̑̾̆͒̄̓̈́́̈́̀̇̒̒͋̇̈̔́̀̽̎͌̎̌̊̚̚̚͘̚̚̚̕̕͘͜͜͜͜͝͠͝͝͝͝͠͠͝͠͠͠͝͠͝͠͠͠ͅͅͅͅư̵̢̧̡̨̡̢̡̧̨̢̧̡̡̨̡̛̛̛̛̛̭̮͕̳̜̬̠̟͎͎̘̜̹̣̥̦͎̰̺̼̹̣͕̰̖͔̣̳͉͙͚̫͎̹̫͍̟̫̺͈̫͔̺̗̬̖̳̖̯͖̲̤̦̙̹̠̬̭̺̥̲̦͇̳͖̤͖͉̮͉͇̟͍͔̟͍͕͍͕̙̱̘̜̺̲̠̞̹̟͚̦͈̘̦̼̠̟̳̳̝͎̟̟̣̮̙͚̱̱̝͈̭͍̟͐̑͋̍̂̆͂̓̽̈́́̈́̑̅͊̔͑͐̓͋͆̄̅̔͒̇̋̒̓́̏̀̉̒̀̿̐̈́͗̃̏̅̾͊͗̎̏̀͆̄̈́̇̈̔̔̏̇́̀̈́̒͐̑̏̾̌̐̉̒̏̏͌̄̒̇̍̃̊̏̅̓̃͐͗̓̽̌͌͌̌̓̑̓́̂̽̓͛̂̀͌̾̄͆̀̅̌̒̆͗̐̊͆͒̀̔͆̔̏̀͒̍͋̀̅͛̒̂͂̅̉͋̿̿͌͛̍͗͑́̀̃̀̏͋̃̓̿̆̈́͘̚͘̕͘͘͘̕̚͜͜͠͝͠͝͝͝͝͝͠͝͝͠ͅͅͅį̵̛̛̛̲̫̯̟͔͖̟͇̦̠͓̘̪̻͋̾̀̿̌̀̑̿̍̈́͋̒̔̄̑̏̄̏̒͐͋̏̍̏̋̈́̃́̇̋̀̃̆̈́͒̒̅͑̈́͑̈̾̌̀̒̾̈́̊͂̅͋̃̽̃̑͋̄̍̎̑̃͒̐͂̋̊͒̌̋͌̈́̂̇̋̑͆̄͒̀͑̿͐͗̈͑̈̇̓̇̈́͋̌̄̉̂̀̀̈́̀͂̆̆͗̋̄̅̈́̔́̀̂̾̇̊͗̿͊̀̋̾̎͐̑̉͛̉̓̾̐͌̊̆̍͆̈́̆͊͂́͊̒̀͆́̌̋̾͛̈́̾̍͋̍̉͛̽̽͆̊̀̄͗̃͒͆̐̓̈͐̔̓̅̓͌̋̕̚̚̕͘̕̚̕͘̚̚͘͜͝͝͝͝͠͝͠͝͝͝͠͝͝͝͠͝͠͝͝l̸̢̨̨̧̢̢̨̡̧̧̨̢̡̢̡̡̡̢̡̡̡̨̨̛̛̛̝̰̜͎̹͉͔͓̹̱̞̥̦̘̯̩̣͈̤̙̘͈̗͖̺͇̳͙͔̩̯̱͍̱̝͖̮̭̼̬̬̙̘̜̼͉̺͔͔͇̜͖̞͔̱̱̱̘̝̦̻̘͚̤̤͈̞̟̟͚̠̯̪͖͉͖̪͔̻̖͍͖̘̟͖̳̦̻͖̮͍̬̥͚̼͔̩̯̳̯̗͚̭͚̤̩͖͍̱̻̮̦͈̪̱̹͇̬͕͉̬̦̝̜̳̣͉̘̑͐͐̅́̾͌̄͋̋̀̊͒̓̅̑̿͑͗͌̃̈́́̑̔̀̑͆͛̆̐͛͊͆̍̐͋̔̋͋̈͗̃̃̓͊̀̆͆͒̀̑̒̃́̅̆̒̈́̽̈́̒̽͌̐̌́̓̽̾͑̓̅̂̇̐̊̈́̏̾̾̀̉͒̃̾͛͐͊͆̇͌̅̈́̔͛͐̄̈̊̓̋̈́̾͑̈́̀̆̎͑́͊̀̎̐͌̋̋̅͒̒͆͋́́̈́̏̔̾͋͂̄̕̚̕̚͜͜͜͜͝͝͝͝͝͠͠͝͠͠ͅͅd̴̢̢̡̛̛̛̛̛̛̛̛̪͔̖͇͚͓̩̪͔̜͓̣͍̫̳̺̳͇̖͖̟͉̹̟̪̫̖̜̩͙̗͕̳̹̥̭̩̙̹͔͙̟͔̥̰̙̆̂̈́̍̔̌̈́̃̿̒̏̓͐͆̎̎́͗̈̽͌̆̆̑͂͛̃̆̈́͗̇͐̿̈́͒̽̌͗̾̌̐̓̈́̽͗̾̇̑̔̂́̓̓͛͋̏́̏̑̓̍̑̓̃̂̀̀̏̆͋̉̇̀͂͗̄͐̊̈̓͊̈́̽͑́̽̅̽̓̑̈́̂̈́͋́͗̑̇͋̒̋̎͛̈́̿̃̔̐͂̍̀̃̔̀̏͂̅͋̆͆̇͒̈́̾̽͂̎͊̀̄͛́́͋̉͗̓͒͌̈́̏͑̆͒̏̓̃̓͐̏̈́̋͛́́̂̈́̓̋̐̅̏͗̓̓̅͋̔́͋̏͑̑̀̓͐͒͌̀͛̔̐̓̈́̉̈̈́̍̋̄̈́͋̇̆͑̂͗̾̂̒̉̍̈̐̐͑͑̂̾͋̀̐͆̔̌̆̍̽̅͆̓͋̀̽̔̈̽̀̃͑̉̂̈̄͆̌͗̃̎̈́̇̓̍̈́̌̃̋̚̚̕̕̕̕̚̕̕̕͘̕͘̕̕̚̚̚̕̕͘͜͠͝͝͝͝͝͠͝͝͝͠͝͝͝͠͠͝͝͝͠͠͝ͅ ̵̡̨̨̧̨̧̧̨̛̛̛̪͍͖̜̟̫̬͚̦̮̪͚͓͈͙͕̺̮̬͍̯̼̞̤̙̬͚͚̖̳̹̙̤̦͙̖̼̜̫̟̘̺͖͖̰̗̦͔̫̟̗̞̹͇̣͕̫͇͔̪̬̯̩̥̭̗̫̤͉̖̻̳͔͎̤̪̻̜̦̬̫̩̟͚̺̼̩͎̖͚̩̫͖̰͐͋͑̎̎́̊͒̈́͗͆͗͑̀͌̐̎͂̑̏̾̈̈́̈́̃͌́̄̈̿̍̊͊̉̇̀̾͌͐̐̄̐̂̈́̏̒̈̀̀̎̊͋͐̈̏̅̾̈̎̆̂̍̅̈̀͌̒͌̈́̇͑̇͌͂̅̈́͐́̇͌̓͊͑̃͐̓̉̈́̊̒̀̎̔̾̉̌̓̊͌̓͋͒̏̒̀̈́͒́̓̂̂̌̄̈́̀̊̐̈́͂̓̈́͊͛̃̾̈̿̆̿̍̔̈́̽͌̊̅͆̎̊͑̉́͛̌͑̏̒̈́̈̍̔̿̊̀̂̊̾̌̃́̈̈́̐̃͆̽̒̅͊̓̿́͋̀͊́̂̍̿̐̀͋̀̂̈͑̄̍̔͌́̆͑̑̎̌̊̈́͊̿̈́́̂̇̉̋̆̌̕͘͘͘͘̚͘͘̕̚̚̕̕͜͜͜͝͠͝͠͝͝͠͝͝͝͝͠ͅͅ(̴̢̧̡̧̛̘̭̗̥̙͉̮̯͉̦̯̦̫̙̹͚̜̜̥͙̰̯͇̖̩̼̲̙͚̣͍̳̲̬͖̜̼͙̤͓̫̟̺̻̹̲̖̗̺̥̫̘͓̻̗͎̪͎̖̩̩̦̦͈̣̣̺͉̺̥͎̠̯̦͚̝͈̬̲̭̻͍͚̲̯̍̈́̈͊̾͗̊̀̓͌͌̒̎́̒̎́̅̓̅̅̈́͆̃̄̊̊́͂͒̈́̒̉̓̓̾͗̑̔̐̈́̇͗͐̈́́̅̈̄̓̓̎́̓̂̋͆̈́̂̑̑̽̈́͆͛̒̅̑̊̋̔́̎͂̈̔͋̈́̃̀̑̒̍̆̌̎͋̀͒͒͊̈̂͐̈́̽̀͌̆͐͌̈́͆͂̆̐̓͂̈̌̀́͐̑̅̋̈͐̽̂̐̇̏̐͐̄̅̔̚͘̚̚̚͘̚̕͜͜͜͝͝͝͝͠͝͠͠͝ͅͅH̵̡̢̡̧̛̛͖̤͈̣̺͉̳͈̖̜̘͖̪̼̣͇̮̜́̆̐͌̓͗̾̇̈́̏̎̊̋͑̍̌̒̉̐̐̄̓͂̽̐̅̑̀̅͗̅̀̓̓͐̅̌̉͛̀̐̓̈́̔͌̉͌̽̉͆̿̊͊̓̈́͋̓̀̇̓̂̒̓̉̀̆̊͛͆̽̽͐͐͛̇́́̀̐̓̄̾̉̎͋̑̿̐͋́́͐̿̈́̍͋͂͑̀̒͛͋̐́̿͛̓̋̏̓̓̋̎̽̉̔̈́̓̒͋͐̄͗̈̊̀̇̑͋͒̾͊̈̄́̽͘̕̕͘̕̕͘̚̚̕̚͘̚͜͠͝͝͝͠͝ͅǫ̵̡̢̨̧̧̧̨̨̧̨̧̨̡̧̧̧̨̡̧̡̨̨̡̛̛̛̛̫͇͓̗̠͈̬̼̖̗̤͕͈̠̙̼͕̪̮̜̠̻̲̺̯̣͎͙̥̯̖̳̤̞̮̞͕̭̮͓̻͕͖̝͈̟̰̱̪̤̣̰̤͉̠̰͚͇̼̯̫͍̣͚͎̭͙͍̱̳̪͈̞͈̹͚̲̞͔̙̪̞̗͈̩̹͇̠͇̩̲̟̳̖̻͍̤̜̙̜̥̪͕̤͔̮̤̗̜̪̺̺̙͕̜̞̘̳̪̹̰̺̠̩̻̤̤͍̦͚͖̩̟̖̻͕͇͕͇̲̘͎͈̪̬̜̻̜͓͓͚̮̠͚̠̼̳͎̖̜̣̘̙̹͓̮̗͕̟̭̘͉̥̩̳̱͚̣̣̱̗̩̭̦̗̦̞̦̱͙͍̰̟̱̩̠͖̮̟̱͖̰͈̖̺̣̮̗͇̦̣̬͓̳͙̰͉̖̹͖̜̫̭̥̗̦͍̘̫̯̯̗̼̩̮̟͔͖͍̞̽̅̓́̈̀̂͛̈̑̂͋̒̆̌͂̀̎̋̋͌̌́̀̌͊͊̏͋̃́̋́̈̎̎̒̌́̒͋̾̈́͊̃̃́̍͛̄̾̐̆̅͐͗͒́͋͛̌̅́͌̀́͒̇̔͂̌͗̐͛̽̀̀͗̾̂͂̃̈̐͋̒͐̐͗͗̍̿̏̀̈̾́͌̔͌̃̅̄̀̈̂̍͒̈͊̂̾́̈̋̈́͌̐͊̈̓́̒̓́̍͊̾̾̂͂̍́͌͛̆͐̓̈́́̽́̂̂͗͛͌͆̀̍̑̊̿̋̏͛͗̍̀̆͆̀̐̈́̀̒̎̐́̽͊̃̏͊͊̋͒͆̈̅̀͒̕̚̕̕͘̚̕͘͘̕̕̕͜͜͜͜͜͜͜͜͝͠͝͝͠͝͝͝͝͝͝͝͝͠͠͝͠͠ͅͅͅͅͅp̵̧̢̧̢̨̛̛̛̝̻̗̳̝̜͈̖͎̠̩̳̝̺͕̫̯͖̱͙̦̦͚͕̘̖̺̠̠̩͙̜̪͇̼̺̖̆̎̾̽̑̉̽͐͒͌͌͐̀́̿͗͊̒̇̿̇͛͂̀̊͆̈́̂́̒͑͛͂̇̃̑̉̈́͊̈́̌͌̽́́̃͊̂̓̓̐̽̊͌̈̈́͌͑͛̍͂̏͑̎̉̀̍̾͒͂̉̉͊̇͌̓̈́̀̅̇́̿͌̈́̉̂͌͌̐͑̐̐́̔̽̋̀̔͗̽͑̏̊̔̈̀͗̈̓̒̍̏͑̒͑̉̆̊̈́̈́̈́̈́̈́̓̈́̎̾̈́̂̆̊̆̏̀̄͐͒̉̈̈́̚̚̕͘͘̚̚̕͘͠͠͝͠͝͝͠ͅͅę̷̧̡̢̨̢̨̧̢̢̡̛̛̛̛̛͚̩̙̠͇͕̲͇̗͕̤͓̘͚̬̣͖̞͖̬̪͕̼̪͈̺̙̼̳̩̰̪̥̭̼̠̩͓̗͉͖̦͎̮̱̰̺̙̯̯̺̣̲͙͉̘͍͇͕̻͉͇͕̪̥̳̦̼̜̥̟̖͚͖̼͎̦̺̖̲̯͍͓̯̣̪͓̝͉̦̗̬̦̩̜͎͉̗̗͍̜͓͚̲̤̩̖̳͖͔̜̝̰͕̹̻̤̖̮͎͎̱͉̮̗͕̙̞̘͎̰͎̣̗̼̬̻͓̺̬̟̬͓̥͉̱̖̤̣͕̰̱́̾̎̉͆̆̀͛̈́̉͐̅̆̋̾̌̋́̅̊͂̀͒̓̿̆͊͐̈́̐́̎̃̔͆̈́̒̒̋̓̓̐̽̔̌̈͒͒̐̀͊̇͂͂̈̓͊̽̎̅̐̈̔̒̌̅͑̒͗̔́͛̃̈́̊͛̈́̾̅̓͑͗͐̀̌̇̈̾͌̌̄̃̈́̐͗̅̈́̈́̾̈́̓̊̃̿̆̀͐̒͆̃̂̀͗̈̈̍̿͒̉̉̒̅̇̅̄͌͂̀͋̑͂̍̊̔̌͌̈́̓̄̋̔̃̍̿͑̉̿̾̍̄͛̈̀̇̐́̅̈́͆̎̈́̂̽̂̑̏̃̏͂͌́͌́̿̀̒̂́̅́̓͂̂̈́͋̏̇́̈́̄̽̉͛̂̽̀̈̍̀̀̐̉͌̇̑̓̆̇̍̄̐̊́̅̊̈́̿̀̍̑́̇̾͒͌͂̎͆͐͗̆̇̇̄̅̀͘͘̚̚̚͘̕̚̕̕̚̚̕̚͘̚̕̚͘̚͜͜͜͜͝͝͠͠͝͠͠͝͝͝͝͠͝͝͠͠ͅͅͅͅͅf̸̢̡̡̨̢̢̢̡̧̢̢̡̢̢̨̡̢̢̢̨̢̧̧̨̛̛̛̛̛̤̭͖͇̯͍̣̜̖̟̭̭͍̰͙̯̥̱͕̤͕͇̯̩̫͈̯͚̗͇̘̦̠̦̻̟̗̳̩̥̜̱͓̬̺̦̭̥͕̖̪̻͖̳̭̮̠̘̜͈͙̤͉͚̬̞̲̳͖̦̯̞͚̜̘̯̭̥̹̯͕̱̞͙̝̳̗̰͓͙̲͇̹͍͚̣̺̮̖̤͇͉̫͉͙͇̺̦̳͉̟̫̘̹̦̮͈̟͕̫͚̤̫̱̙͍̫̲͎̪̙͔̣̮̺͉̳̫̪͇̹̜̹̺͍̟̜̼̩͇̮͍͙͙̫͕̳̣͖̬̟͓̙̗̟̪͖͕̜̰̳̼̱͈̳̩͓͙͍̖̼͔͔̬̼͓͖̯͉͖͎̻̘͙̤̯͇̠̗͈̦̈́́̐͂̀̐̆̌̇̂̊̑̅̈͐̆͗̒̑͋̅͊͂͛̀́͐̌̍͐͆̋́̏̍̓̒̎̎̍̉͂͐̐͗̀͒͆̈́͆͋̈̍̐̆̿̔̉́̀̾̃͂͗͑̋̈́̽͆͋̽̔̔͛̈̊̿̔͗̂͛͗̉̈́̉̀͊̓̒̆̔́̓̐̎̀̂͌̎̈́̀̓̀͒̈́͑͒̿̏̑͒̉̍͗̓̌̋̋͗̈̿̇̐̈́̇̍̂̓̊́̊̈́̈́̒͋̈́͆͋̽̔̓̅͂̇̽͑̃̅̀̓͗̌̐͛̓̊̀̉͛̽̅͒̌̀́̽̋̄̈̏̽̕̕̕̚̚̚̕͘̕̕͘̕͘̕͘͜͜͜͜͜͜͜͠͠͝͝͝͠͝͠͝͠͝͝͝͝͠͝͝͝͝͝ͅͅͅͅͅͅͅͅͅͅų̷̡̨̡̡̡̫̣̜̬̮͇͖̙͎͖̣͙̻̹̼̭̣̜͉̥̩͚̩̲̼̼̩̣̳͓̣͎̩̼͔̬̤̣̩̘̤̱̟̭̘̙̪̫̞͕̘̤̩̥̹̣̱̾̌͂͊̋̃̒͗́͊̈͑̒͋͘͜͠ͅͅl̸̢̢̨̡̢̡̧̡̛̛̛̛̛̛̛̛̥̯̳̬̥̺͙̰͎̭̞̘̫̼͉̫̜͖͕͔͚͇̯̮̪͖͓̥̺̦̟̪̠̣̻̣̗͖̻̲͚̮͕͈̹̺̣̮̣̘̠̜̻̘̬̹̘̠̼̳̬͕͍͇͉̲̞̪̦̰͚̘̙̺̫̻͎̦̟̹̣̠͍̭̗̖̤̫̣̣̞̱̦͇̫͚͚͇͖̯̬̤͕̪͇͈̳̠̣̻͍͖̼̹̱͕̹̟̀͂̎̈́̑͋͋̇͊͛͑̎̈̐͌͆̐̊̀̅̂̾̄͛̐̽̔́̏̀̈́̿͆̇͊̓̎̈̎̎͐̈̾̌̄̐̃̋̈̇̅͗̑̊̈́̽̌̃̈́̽̋̊̆̅̽̍̔̇̉̒̊͂́̇̃̒͆͊̌̓͌̅͊̄͆̅̂̈́͆̄̈̀̊͗̎̉͌̿͛́̂̌̊̎̎͒͊͛͗̍̀̋́̇̎͛̈́͂͐̂̆͒̈̆̑͐̾͗̆̊͐͊́̓̔͐̅̋̐̈͆͐̓̆̑̑̌̄͋̿̀͋͋̽̄͒̾͌̅͛͊̒͌͂̎̃͌̇̃̿͆̉̇͂̀͆͗̎̊͌́̀͗̽̚͘̚͘̕͘̚̕̚̚̕̚̚̕̕̕̕̚͜͜͜͠͝͝͝͝͠͝͝͠͠͝͝͠͠͝ͅͅl̶̡̧̧̧̧̡̡̨̨̨̢̢̢̡̧̨̢̧̨̡̨̡̢̛̜̳̩̪͈̰̣̤͓̙͔̗̣̗̹͉̞͉̠͖̪̭̗̲̰͇̠̱̯̟͖̯̝̠̳͍̬̳̬͔̠̟͍̬͓̜̪̭͚̟̝̺̫̩͈̩̼͕̘̜͔̹͇͙͍̪̪͔͇̩̠̟̲̝͕̖̥̣̣͕̮̣̤̙̥̼̫͓͍̥̘̩͍̯̺͍̪̠̮̟͔̠̟̮̣̞̻̥̠̯̣̯̮̬̘̦̖̝̩̥̝̪̫̱͍̥̺͙̺̹̱̤͇͕̜̻̮̞̫͖̠̳͚̪̘̖̟̭͔͙͈̜̟̰͖̪͚̖̤͕͓̘̮͚̼̰̜̺̪͖̥̠̮̯͉̙͕̹̙̲͈̫̮͓͍̣̥̥͉̹͎̥̣̫͉̞͍̲͔̣̰̳̠͈̤̣͔̠̥̥̓̆̊͋̔̆͋̊̾̃͒̉̀͛̾̍̃̋̈́̎̚͜͜͜͜͜͜͜͝ͅy̴̨̢̡̧̧̢̨̡̛̭̲͎̜̯̪̳͔͔̳̳̠͚̼͙̰̥͙̟̳͈͚͚͚̟̜̥̣̠͇̳̬͍͔͚͕͙͇͍͈͎̖̟̭̝͈͈͔͍̞͈͈͉̮̙̥͖̖̣̤͈̘̲͈͆͒͊̄̓̓͆́͛̇̍́͂́̒̿̈́͐̄̀̽͗̅̑̀͆̊̀͋̀͐̆̒͌͑̀̃͗͑̀̔̌͆̓͛̾̌̂̃̓̃̓͂̀͋̆͊̊͌̊̈́͋͐͆̾͐͛̏̏͂̀̀͐͋̇̎͗̑͛̅́́̈́̊͆̑̽̀͗̂͂̇́̎̈́̎̎́̌͐̋͋̑̎̀̐̐̐̀̉̈́̍̅̌̀̑̊̈́̍̏̾̀̊̐͊̄̅̌̅̈́̑̔̒̌̈́̄͆͒̇̒̍̓͊̀̎́̐̎̎̓̉̋̉̍̾̏͗̾̿̓̎̾̏͊̆̓̋̽̊̉̐̈̔́̈́̿͌͐̓̄̽́̓͒̀̃̀̄̇͒́̅̀̊̓̌̅͌͒̓̀̀͗̂̓̆̇͒̂̇͗̿̉́̃̉̈́͌͊̔́̽̍́̓̇̽̓̅̏̒̍̚̕͘̕̚̚̚̚͘͘͘͘͜͝͝͠͠͠͝͠͠͝͠͠͝͠͝͝͝͝͝͠͝͠͝͝ͅͅͅ)̴̨̧̡̢̢̢̢̡̡̨̢̧̢̨̨̡̡̧̰̠̣̤͕͕̳͓̲͉͎̮̳̼̟͇̲̳̺̳͚̟̙̫͈̱̮̲͈̬͓̝͙͖̝͚͕̟͎͎̪̱̹̗̼̹͙̫̰̬̮̥̦̻̪͍̮̝͓̪̤̜̹̹̝̻͓̠̗̪͚̜̭̝͉̜̣͈̹͉̪͎̜͙̗̫̺̘͙̘̼̜͕̰̠̟̮͓̳͚̬̝̼͖͕̘͚̱̜͓͉͉̮̟͕̰̮̩̬̩͓̪͓̪͓͎̻̲̙͉͚̺̻̩̮̟̬̗̖̩̝̮͖͖̺̩̝̙͓̜̪̺̩͚͓͕̙̭̯͇̪̣̭̦̼̥̥̱͔̹̤̝̗͉̙͖͕͈̪̟̗̟̞̣͖̤̪̮̹͈̰̱̬͔̗͓̫͎̦͍̬̭̲̩͉͍̺̱͇̻̟̥̞̼̫̜̯̮̗̣͙͈͛̒͋̿̾̃̾͐̓̓̌̇́̋̀͒̂͌̓͋́̂̓͜͝͝͝͝ͅͅͅͅͅ ̶̧̧̨̧̧̨̨̛̛̗̘̝̼̙͍̖̗̼̪̠͙̜̺̰̼͖̬͉̥̺͔̖͖̯̜̬͕̖̭̭̭̯̖̝̜̱͉͕̩͚̥̪̥̮̼̦̫͓̣̱̬̖̼͓͚̳͇̗̞͚̞͖̗̳͎͉̠͚̥̝͔͈̬̖͔͍̠̗̟̥̳͕͍̺͙̖̯̯̗̙̼̘͇͖͚͍̩̱͈̙̫̻̝͉̤̻̼̪̯̈́̈́̌̀͂̈́͌̋͛͋̏̿̀́̈̿̄̀͛͆̑́́͑̑͑͛͌͊̕͘͜͜͜͜͜͝ͅͅͅͅͅ(̷̢̨̢̨̢̧̡̡̡̨̟̗̖̯͕̞̞̭̰̮̫̘͓̼͇̻̝͚̬̤̻̱̫͇̳̪̼̫̼͈̮̹̮̱̗̖͇̤̱̠͙̼͚̻̞̣̳͎̩͍̭̖̩̫̖̭̬̰͚̖͓̝̟̦̫͎̩̖̩̬̖̝̬̦͚̹̞̪̪͇̭̯̘̝̹̞͉̖̘̱̣̤̖͊͌͐̔̏͛̓͆͆͐̄̑̾̌̇̆̉̌̊͆̂̅͛̀̄̇̽̋͊͒͆̐̀̾̓̌̾̑͊̌̒͗̾̈͛̍͂̈̓͘͘͘͘͘̕̕͜͠͝͝͝ͅM̴̡̨̧̨̧̡̡̨̧̧̧̛̛̛̛̛̛̛̫͇̘̬̥͎̘͓͓̮̦̗̹̭̼̭̟̩̝̣͓͚̘̥͔̲͙͈̖̤͔̯͉͕̬̰͈͍̰̭͍̗͇̦̟̙͉̦͕͍̤̯̼̹͖̜͕͉͖͔̩̝̠̘̪̠͕̯̪̲̘̭͓̬̮̰̙̥̰̝͈͍̩̜͍̥̘̮̯̞̠̲̲̯̬̝̥͎͇̼̝͇̜̰̳̯̝͖̫̪͔̝͖̯̩͕͕̮̬̠͇̻̗͉͔̖̟̙̬̞̪͇͇̠͇͚̫̯̖̝̝̱͖͉̣̙͎̥̯̗̺̜̖̜̭͚͇͈͉̖͋̎͒̈́̍̄̊̈́̒̿͊̀̔͑̈͂̉̍͛̏͗̈́̐̃̐͂̀͊̊̑̈́͌͋͆̆̆̒͋̋̊͆͌͂̇̅̽̐̀̿͋͋̌͒̓͒̈́̾͂̂͗̔́̓̋̈́͑̏̎͛̊̈́̓͋͑͛͒̌́̀̀̽̈̌̍̀̆̋̌̇͆̀́́̊̿́́̎̀̇͛̌̊̆́̌͋̅͒͂͋͑̇͌͛̈́͌͗̀͂͑͂̄͐̿͌̈́̒̐̃̄̃͂͂͛̀͌̉̍͊͊͐̊̚͘̕̕̚̚̕̕͘̚̚̚͘͜͜͜͜͜͠͠͠͝͠͝͝͠͝͝͠͝͠͠ͅͅǎ̵̡̢̧̡̧̧̧̨̢̡̨̧̨̢̡̡̨̨̢̢̧̢̛̛̛̛̛̛̪̭͙̩̥͔̪̞̣̘̩͈͎̲̹͇̟̰̖͇̙̩̹̣͎̜͕̣̙͇̲̙͇̯̖̺̘͇̹̝̪̱̭͚̜̻̻̳̹͇̺̰̬̠̞͓̟̥̣͇̗̮͈̜͈̰̲͉̰̩̩̯̯̻̻̣͈͙̜̙͙̜̝̻̼̪̳͇̲̥̞͎͉͈̙̣͕̗̩̼͎̦̹͚̣̥̲͙̣̦̤̳̮̹͔̤̝̩̜̰̤̺͓̮͔͉̞͇̣̞̪̞̫̘̻̫͚̳̤̙̜̩̦͔̘̪̠̺̪̼̤̫͎͚̳̪̥̗̰͇̻̺͕̦͖͈̤̗̭̜͔̘̝͚͔̥̹̫̻̩͈̫͔͍̲̬̲̻̦̼̮̜͕̬͖̹͎͖̭̝͍͕͓̤͈̠̹̪̣̰̟̬̖͍͖͍̥̘̰̦͚̤̙͔͕̱͚̩̫̙̳̗̣̺͚̹̜͖͉̬͙͔̎̌̊͆̃̀͗͊̂̉͂̈̍̄̏͛̾͂̊̍͑̌͌̈́̈́͂̇̀̾̋̑͑̏̈́̅̐͑̑̂̈́̒͊̿̇̈́̅́̓̎̐͌̓̀̓̾͆̉̄̑̇̈̓̋́̿́̏̈́̽͗́͗̾̌̂͊̂̈́͛͂͆̈̒̂̂̔͂̓̈́͗͒̐̾͐͌̋̐͐́̋̎̃̀́̑̅̾̇͑̽́̄̃̉́͌͆́͗͑͐͛̉̓̓̌̈́̓̔̀̍̌̃͗͗͐̂͐͊̇̈́̆͑̓͋̀́̈́̾̂̔̈̑͊͑̍́̈͗̉̋͂̍̀̔̑͆̃̔͑̍̅̄̒͒̂̐̐̈̿̑͛̄̍̒̈́̔͋̈́̚̕͘̚͘͘̚̚̕̚̕͘̚̚̚͜͜͜͜͜͜͜͜͜͜͜͠͝͠͝͝͠͝͝͝͝͠͝͝͠͠͝ͅͅͅͅͅỳ̵̧̡̧̨̡̧̧̢̢̡̧̡̢̡̡̡̨̡̧̢̧̛͉͉͕̘̳̲͚̘͙̬͓͙͎̺̗̺̘̬̠̲̳͔̥͎̟̯̮̦̰̯͔͈̮̤̗͖̩̣̥̻̹̱̟͖̥̱̰̗͓͉̟̤̰̠͓̺̘͈̻͎̜͍̞̗̫̫̼̤̤̤̮̤̮̥̳̫̝̫̞̗̲̹͈̫̼̮̬̯̻̼̖̣̺̳͇̲̠̥̳͔͖͇̟̣̩̭̥͚̟̖̯̠̥͉̭̫̹̖͇̩͉̥͉͇̪̱̠͔̟̗̞͔̙͍̙͙̺̰̖͍̱̹̦̬̳̠͇̙͉͕̗̤͕̦̯̳̘̘̖̙̺̫̝͔̱̘͍͚͎͕͔͕̹̩̼̳̝̮̤͎̪͉̫̺̪̼̠̦͚͈̿͆͐̿̊͒͋̒͗̓̀̓̾̂̏̈̊̆̎̑͊̊̽͐̄̊͌̑̽̇͗̂̋̔́͒̄͆̈́͛̃̂̎͂̈́̋͋̎́̚͘̕̚͜͜͜͜͜͜͜͜͜͜ͅͅͅb̶̡̧̧̨̨̡̡̧̧̢̧̡̢̧̡̧̧̢̢̨̢̧̡̨̛͈̘͙͙̦̘̙̞͙͉͎̱̱̹̭͈̘͚̰̠͕̦̣͇͇̠̘̘̭͓̠̻͈̙͚͔̟͚̟̪̲͇̳̼̮̤̫͉̭̬̬̺̼̼͍͓͕̱͓̝͙̺̞̯̳̣̩̯̺̙͇̣̩̣͉͔͙̗̪̺͔͓͈̮̜̱̭̩̼͉̠̹͓͕̬̳̻̱̥̦̖̯̻͔̟̻̤̞̼͎͇̲̩̻̣̠̤͙̝͎̘͇͚̗̗̞͕̼͔̮͕̥̖̹̮͎̱͎̰͙͖̤͖̝̳͉͎̪̖̬̙̖̯̖̫̝͇̣̱̩̝̲̪̺̭͎͖̫͍̯̱̥̤̪̣̫͖̞̠̖̩̞̝̟͉̠̲̦̭͖͓͈̣̳̮̟͙̯͇̹̮͍̙̩̖͚̬̺͎̬̙̜̺̞͕͙͖̬̬̖͍̝͍͈̗̘̰̪͓̣̳̱̺͇̾͛̾̏͆̇̒̈̂͛̐̀̀͂̈̍̋́̌͑̌̿̂́̆͒͋͒͐̽̈́̐̒̀͐͂̈́̾̍̇́̾̚̚͜͜͜͜͜͝͝ͅͅͅͅͅͅͅͅͅͅͅͅͅě̴̡̧̨̡̨̨̡̢̡̢̛̛̛̛̥̗͈̘̬̙̺̥̞͔̹̱̬̙̹̠͖̙̫͈̖̳̪̙͙̼͎̮̗͙̹̙̯͈̞̲̩̮̞̠̲͔̝͓̥̟̮̪̘̥͕̠̲̯̫͓͍̻͎̠̞̟̤͓͍̥͙̙̯̯̮̳̹͍̼̪̗̀͒̾̋͌̀̀͗͂͌̏̄̓͗̓͐̔̏̓̅̾͂̓̂͌̌̉̂̍̽͌̓̓͛̔̓͂͒̂͋̅̾̀̍̅͑̇̽̋̔̉̑́͗̓̂̔̄̿̾̈́̀̓͑̈́͂̾̓́̈̎̇̿̈́͋̀̀͋̎̈̀̎̈́̏͐͌̄̀̈́̾̌́͗̀͊̒̑̾̐̈́̒̊̐̍̾̏́̇͌͑̔̇̿͋̃͒́̑̆̀́̑̏̎̄̃́̋̄͑͂̈́͆̆̓̏̋̒̀̑̑̀́̈́̿̑̑̓̃̆̇͆͛̽̑̍̅̔̊͊̅̀̅́̈́̎̑̈́̈̕̚͘̕̚͘̕͘̕̚̕̚̕̕͘͜͝͝͝͝͝͝͝͝͝͝͝͝͝͠͝͝ͅͅ)̸̨̡̨̨̢̧̢̡̧̡̧̨̡̡̛̛̛̛̛̛̛̛̺̪̱̬͇̣͇̬̟͇̖̣͎̙͕̯̫͈̫̘̦͖̹̱̼̮̟̯̙͚̮̲̖̬̲̗̩̩͉̯̘̻̙̞̳̝̜̝̙̳̱͙̲͚̞̫̝̜̭͙̘̟̱͈͎̹̪̰͓͈̹̩̜̘̱̦̮̲̰̻̜̭̗̘̣̙̳͖͍̦̣̙̜̯̙͎̥̯̹̣͎̲̙̲͖̻̺̲̪͙̗̻̱̰͕̳̤͖̝̫̦̣͍̮͍̺̻͚̮̙͉͙͚̜̥̭̠̘̫͎̜̯̺͎͖͖͇̪̼͈͙̰̖̜͇̼̣̝̮̮̺̝̬̫̮͎̩̘̭͈͔̞̤͇̥̤͕̄͌̏̾̉̍̔͑͑̔̔͑̀̎́̽̀͑̽̀̍̃̇̅͆̈́̈́́̌̂̐̇̎̍̀̆̏̓̈́̀̓͛̾͋̃͊̿̉̀̄̀̎̓̅̍͆͒̈̿̀̐̏̍̀́̔̇̑̏͗̽͂̑̆̌̎́̉̋̎̈́͗̑̊́̑̈́̒͊̀̀͋͂͒̔̃̋̋̊͗̉̈́͛͗̇̋̐̔͆́́́̈́̈́͂̎̏́͒̾͗͊̑̑̆͒̂̽͛̏́̊̑̄̍̈̈́̍̔̽͛̋́̒̓̀̋͐̓͌̅̿̍͂̎̈́̀̍̆͒̀́͒͂͊̌́̆̓̊̀͆̈́͗͛̓͒̑̓͐̋͌͑́͐͒̊̋̈͆̕͘̚̕̕͘̚̚̕̕̚̕̕͘͜͜͜͜͜͜͝͝͠͝͝͝͠͠͝͝͝͝͠͝͝͝͝͝ͅͅͅͅͅͅ

This commit is contained in:
TheBrokenRail 2023-11-13 10:25:57 -05:00
parent 0f9da6148b
commit 80c0f24a5d
4 changed files with 12 additions and 15 deletions

View File

@ -17,10 +17,7 @@ install(DIRECTORY "include/" DESTINATION "${MCPI_SDK_INCLUDE_DIR}/mods")
add_library(compat SHARED src/compat/compat.c src/compat/egl.c src/compat/x11.c src/compat/bcm_host.c) add_library(compat SHARED src/compat/compat.c src/compat/egl.c src/compat/x11.c src/compat/bcm_host.c)
target_link_libraries(compat mods-headers reborn-patch media-layer-core) target_link_libraries(compat mods-headers reborn-patch media-layer-core)
if(NOT MCPI_HEADLESS_MODE) if(NOT MCPI_HEADLESS_MODE)
target_link_libraries(compat screenshot) target_link_libraries(compat screenshot input sign chat home dl)
endif()
if(NOT MCPI_SERVER_MODE)
target_link_libraries(compat input sign chat home dl)
endif() endif()
add_library(readdir SHARED src/readdir/readdir.c) add_library(readdir SHARED src/readdir/readdir.c)
@ -33,7 +30,7 @@ target_link_libraries(version mods-headers reborn-patch symbols)
add_library(chat SHARED src/chat/chat.cpp src/chat/ui.c) add_library(chat SHARED src/chat/chat.cpp src/chat/ui.c)
target_link_libraries(chat mods-headers reborn-patch symbols feature) target_link_libraries(chat mods-headers reborn-patch symbols feature)
if(NOT MCPI_SERVER_MODE) if(NOT MCPI_HEADLESS_MODE)
target_link_libraries(chat input media-layer-core pthread) target_link_libraries(chat input media-layer-core pthread)
endif() endif()

View File

@ -5,18 +5,18 @@
#include <cstring> #include <cstring>
#include <cstdio> #include <cstdio>
#include <vector> #include <vector>
#ifndef MCPI_SERVER_MODE #ifndef MCPI_HEADLESS_MODE
#include <pthread.h> #include <pthread.h>
#endif #endif
#include <symbols/minecraft.h> #include <symbols/minecraft.h>
#ifndef MCPI_SERVER_MODE #ifndef MCPI_HEADLESS_MODE
#include <media-layer/core.h> #include <media-layer/core.h>
#endif #endif
#include <mods/init/init.h> #include <mods/init/init.h>
#include <mods/feature/feature.h> #include <mods/feature/feature.h>
#ifndef MCPI_SERVER_MODE #ifndef MCPI_HEADLESS_MODE
#include <mods/input/input.h> #include <mods/input/input.h>
#endif #endif
#include "chat-internal.h" #include "chat-internal.h"
@ -42,7 +42,7 @@ std::string chat_send_api_command(unsigned char *minecraft, char *str) {
} }
} }
#ifndef MCPI_SERVER_MODE #ifndef MCPI_HEADLESS_MODE
// Send API Chat Command // Send API Chat Command
static void send_api_chat_command(unsigned char *minecraft, char *str) { static void send_api_chat_command(unsigned char *minecraft, char *str) {
char *command = NULL; char *command = NULL;
@ -95,7 +95,7 @@ static void ServerSideNetworkHandler_handle_ChatPacket_injection(unsigned char *
} }
} }
#ifndef MCPI_SERVER_MODE #ifndef MCPI_HEADLESS_MODE
// Message Queue // Message Queue
static pthread_mutex_t queue_mutex = PTHREAD_MUTEX_INITIALIZER; static pthread_mutex_t queue_mutex = PTHREAD_MUTEX_INITIALIZER;
static std::vector<std::string> queue; static std::vector<std::string> queue;
@ -144,7 +144,7 @@ void init_chat() {
// Re-Broadcast ChatPacket // Re-Broadcast ChatPacket
patch_address(ServerSideNetworkHandler_handle_ChatPacket_vtable_addr, (void *) ServerSideNetworkHandler_handle_ChatPacket_injection); patch_address(ServerSideNetworkHandler_handle_ChatPacket_vtable_addr, (void *) ServerSideNetworkHandler_handle_ChatPacket_injection);
// Send Messages On Input Tick // Send Messages On Input Tick
#ifndef MCPI_SERVER_MODE #ifndef MCPI_HEADLESS_MODE
input_run_on_tick(send_queued_messages); input_run_on_tick(send_queued_messages);
#endif #endif
} }

View File

@ -2,7 +2,7 @@
#include <libreborn/libreborn.h> #include <libreborn/libreborn.h>
// Chat UI Code Is Useless In Headless Mode // Chat UI Code Is Useless In Headless Mode
#ifndef MCPI_SERVER_MODE #ifndef MCPI_HEADLESS_MODE
#include <stdio.h> #include <stdio.h>
#include <pthread.h> #include <pthread.h>

View File

@ -25,7 +25,7 @@ HOOK(SDL_ShowCursor, int, (int toggle)) {
} }
#endif #endif
#ifndef MCPI_SERVER_MODE #ifndef MCPI_HEADLESS_MODE
#include <media-layer/core.h> #include <media-layer/core.h>
#include <mods/input/input.h> #include <mods/input/input.h>
@ -37,12 +37,14 @@ HOOK(SDL_ShowCursor, int, (int toggle)) {
HOOK(SDL_PollEvent, int, (SDL_Event *event)) { HOOK(SDL_PollEvent, int, (SDL_Event *event)) {
// In Server Mode, Exit Requests Are Handled In src/server/server.cpp // In Server Mode, Exit Requests Are Handled In src/server/server.cpp
// Check If Exit Is Requested // Check If Exit Is Requested
#ifndef MCPI_SERVER_MODE
if (compat_check_exit_requested()) { if (compat_check_exit_requested()) {
// Send SDL_QUIT // Send SDL_QUIT
SDL_Event new_event; SDL_Event new_event;
new_event.type = SDL_QUIT; new_event.type = SDL_QUIT;
SDL_PushEvent(&new_event); SDL_PushEvent(&new_event);
} }
#endif
// Poll Events // Poll Events
ensure_SDL_PollEvent(); ensure_SDL_PollEvent();
@ -59,9 +61,7 @@ HOOK(SDL_PollEvent, int, (SDL_Event *event)) {
media_toggle_fullscreen(); media_toggle_fullscreen();
handled = 1; handled = 1;
} else if (event->key.keysym.sym == SDLK_F2) { } else if (event->key.keysym.sym == SDLK_F2) {
#ifndef MCPI_HEADLESS_MODE
screenshot_take(home_get()); screenshot_take(home_get());
#endif
handled = 1; handled = 1;
} else if (event->key.keysym.sym == SDLK_F1) { } else if (event->key.keysym.sym == SDLK_F1) {
input_hide_gui(); input_hide_gui();