From 58a2c6c11a08d5563dc27b76472281fadf8e60ac Mon Sep 17 00:00:00 2001 From: david Date: Sun, 5 Jul 2026 14:18:39 -0300 Subject: started sorting it --- .gitignore | 2 + "teto/(42) teto bread \302\267 chat _ osu!.html" | 1781 ++++++++++++++++++++ ...b477aa77335ba9facf82c652332dd36f69e31_LWMq.png" | Bin 0 -> 1976334 bytes .../12862514_LWMq.png" | Bin 0 -> 46224 bytes .../app.0808274b_LWMq.css" | 89 + .../app.46ed236c_LWMq.js" | 2 + .../commons.0819ae77_LWMq.js" | 2 + .../en-gb.22ed6c6e_LWMq.js" | 2 + .../en.c68d4dc4_LWMq.js" | 1 + .../profile_LWMq.svg" | 12 + .../runtime.18c87bdd_LWMq.js" | 2 + .../vendor.75a92909_LWMq.js" | 26 + teto/PEARFROMTKMIZ.jpg | Bin 0 -> 367949 bytes teto/birthdaytetoholdinghands.jpg | Bin 0 -> 334330 bytes teto/coolultratrailerteto.jpg | Bin 0 -> 289470 bytes teto/cutetetoback.jpg | Bin 0 -> 174273 bytes teto/cutetetoeyes.jpg | Bin 0 -> 444561 bytes teto/cutetetoicecream.jpg | Bin 0 -> 70307 bytes teto/cutetetolooksatyou.jpg | Bin 0 -> 127228 bytes teto/cutevppencil.jpg | Bin 0 -> 466482 bytes teto/fourtetoscute.jpg | Bin 0 -> 830820 bytes teto/hearttricktetocute.jpg | Bin 0 -> 261519 bytes teto/maidmikutetoomurice.jpg | Bin 0 -> 138930 bytes teto/maidtetomimicutecutecute.jpg | Bin 0 -> 250587 bytes teto/mesmerizermikueatsteto.jpg | Bin 0 -> 86337 bytes teto/mikutetorape.jpg | Bin 0 -> 170048 bytes teto/mikutetoselfie.jpg | Bin 0 -> 1061447 bytes teto/mikutetoswapcute.jpg | Bin 0 -> 415529 bytes teto/nendoroidopoint.jpg | Bin 0 -> 131155 bytes teto/sciencetetohappysad.jpg | Bin 0 -> 296618 bytes teto/shinytetoschool.jpg | Bin 0 -> 70573 bytes teto/smallcutetetomaid.jpg | Bin 0 -> 570526 bytes teto/smalltetocheer.jpg | Bin 0 -> 154457 bytes teto/smoltetobangcute.jpg | Bin 0 -> 243435 bytes teto/tetoaura.jpg | Bin 0 -> 157281 bytes teto/tetobigboobseating.jpg | Bin 0 -> 264832 bytes teto/tetoblehhfromheindcute.jpg | Bin 0 -> 175833 bytes teto/tetobweghsimple.jpg | Bin 0 -> 100265 bytes teto/tetochip.jpg | Bin 0 -> 214977 bytes teto/tetocoolmeow.jpg | Bin 0 -> 379744 bytes teto/tetocoolpeacepeace.jpg | Bin 0 -> 248961 bytes teto/tetocrazyidk.jpg | Bin 0 -> 308510 bytes teto/tetocreaturemlem.jpg | Bin 0 -> 157173 bytes teto/tetocutecrouch.jpg | Bin 0 -> 214209 bytes teto/tetocutelookingup.png | Bin 0 -> 435647 bytes teto/tetocutelooksatyouportrait.jpg | Bin 0 -> 359378 bytes teto/tetocutemaid.jpg | Bin 0 -> 128932 bytes teto/tetocutemaidbroom.jpg | Bin 0 -> 630058 bytes teto/tetocutenightgrocerystore.jpg | Bin 0 -> 203643 bytes teto/tetocutepeacepeacelookingatyou.jpg | Bin 0 -> 129343 bytes teto/tetocutepixelsmall.png | Bin 0 -> 33657 bytes teto/tetocutesciencepeace.png | Bin 0 -> 162065 bytes teto/tetocuteshineineye.jpg | Bin 0 -> 284935 bytes teto/tetocutesittingsex.jpg | Bin 0 -> 116025 bytes teto/tetocutesmall.jpg | Bin 0 -> 101429 bytes teto/tetocutestars.jpg | Bin 0 -> 643234 bytes teto/tetodevilcute.jpg | Bin 0 -> 629137 bytes teto/tetodrawcute.jpg | Bin 0 -> 154194 bytes teto/tetodrilljobtoher.jpg | Bin 0 -> 167493 bytes teto/tetodrinkingteacute.jpg | Bin 0 -> 2459564 bytes teto/tetoeating.jpg | Bin 0 -> 46577 bytes teto/tetoeatthings.jpg | Bin 0 -> 320622 bytes teto/tetoevilcute.jpg | Bin 0 -> 896915 bytes teto/tetoguitarcool.jpg | Bin 0 -> 203653 bytes teto/tetohairdowncutemikutoo.jpg | Bin 0 -> 1326408 bytes teto/tetohairdowntwocute.jpg | Bin 0 -> 262634 bytes teto/tetohallowheenhot.jpg | Bin 0 -> 258617 bytes teto/tetohotlollipop.jpg | Bin 0 -> 211130 bytes teto/tetohotyoshirawa.jpg | Bin 0 -> 588995 bytes teto/tetoimgonnarapeyou.jpg | Bin 0 -> 716367 bytes teto/tetolegshotthisisamazig i lovethis waow.jpg | Bin 0 -> 240784 bytes teto/tetolookingatyoucute.jpg | Bin 0 -> 74245 bytes teto/tetolookslikeacat.jpg | Bin 0 -> 117406 bytes teto/tetomaidcutecute.jpg | Bin 0 -> 241229 bytes teto/tetomaidcutecutenails.jpg | Bin 0 -> 848861 bytes teto/tetomaidsidecute.jpg | Bin 0 -> 628433 bytes teto/tetomikutetoannoyedmikujappy.jpg | Bin 0 -> 444005 bytes teto/tetomixedinteresting.jpg | Bin 0 -> 163112 bytes teto/tetomodernartbreadyum.jpg | Bin 0 -> 267882 bytes teto/tetonightcitycute.jpg | Bin 0 -> 505457 bytes teto/tetooverrideandmezmerizer.jpg | Bin 0 -> 147722 bytes teto/tetopancakes.jpg | Bin 0 -> 57504 bytes teto/tetopeacepan.jpg | Bin 0 -> 566840 bytes teto/tetopeacetwo.jpg | Bin 0 -> 400338 bytes teto/tetopluslowquality.jpg | Bin 0 -> 129513 bytes teto/tetopointsupcute.jpg | Bin 0 -> 474591 bytes teto/tetoquestionwhatcute.jpg | Bin 0 -> 65765 bytes teto/tetorapecute.jpg | Bin 0 -> 286998 bytes teto/tetoreadingannoyed.png | Bin 0 -> 14941 bytes teto/tetorisonblock.jpg | Bin 0 -> 145487 bytes teto/tetosadris.jpg | Bin 0 -> 372700 bytes teto/tetoscarfnose.jpg | Bin 0 -> 256791 bytes teto/tetoscientistglassescute.jpg | Bin 0 -> 98723 bytes teto/tetoscientistscrazyspiral.jpg | Bin 0 -> 431532 bytes teto/tetoshycute.jpg | Bin 0 -> 51096 bytes teto/tetosingincute.jpg | Bin 0 -> 125275 bytes teto/tetosmallinbox.png | Bin 0 -> 331074 bytes teto/tetosmallsadcute.jpg | Bin 0 -> 72343 bytes teto/tetosmuggg.jpg | Bin 0 -> 178093 bytes teto/tetosnowpossiblyrussia.jpg | Bin 0 -> 298190 bytes teto/tetosoda.jpg | Bin 0 -> 162853 bytes teto/tetosonicdesign.jpg | Bin 0 -> 316046 bytes teto/tetostickerscute.jpg | Bin 0 -> 468451 bytes teto/tetothings.png | Bin 0 -> 572844 bytes teto/tetotouchingmikuannoyed.jpg | Bin 0 -> 485292 bytes teto/tetotouchinherdrill.jpg | Bin 0 -> 240166 bytes teto/tetotroubledcute.jpg | Bin 0 -> 251907 bytes teto/tetoyawncutebelly.jpg | Bin 0 -> 377429 bytes teto/tripletetopencute.jpg | Bin 0 -> 182870 bytes teto/twotetoslookingateachothercte.jpg | Bin 0 -> 319814 bytes teto/vptetoangy.jpg | Bin 0 -> 21192 bytes ...0_ONIBI-20260607-031731-2063505614161277228.jpg | Bin 0 -> 202822 bytes ...0hituzi-20260610-005944-2064558104273109331.jpg | Bin 0 -> 617089 bytes ...EnAmA-20250418-060004-1913155558691029324-1.jpg | Bin 431532 -> 0 bytes ...1kg_5mm-20250701-100412-1940033697866187151.png | Bin 89244 -> 0 bytes ...ku20290-20251017-072004-1979130282654732535.jpg | Bin 174273 -> 0 bytes ...eu5ECRC-20260606-033630-2063148004467679353.jpg | Bin 0 -> 117903 bytes ...9mo2339-20250322-172025-1903542302792196384.jpg | Bin 248961 -> 0 bytes ...anda_BA-20250226-061957-1894678782054932606.jpg | Bin 1106674 -> 0 bytes ...am34098-20251203-055347-1996140798136799686.jpg | Bin 896915 -> 0 bytes ...Jadeori-20250303-200923-1896699452095881445.jpg | Bin 71424 -> 0 bytes ...ka_Plus-20260204-042926-2018950006607356217.jpg | Bin 162853 -> 0 bytes ..._Momiji-20250802-070002-1951583762984177941.jpg | Bin 98723 -> 0 bytes ...ao0127_-20250607-124350-1931376562877964602.jpg | Bin 296618 -> 0 bytes ...Cii0831-20260608-074712-2063935872857436553.jpg | Bin 0 -> 183562 bytes ...onx2fox-20260402-025810-2039583148217143612.jpg | Bin 128932 -> 0 bytes ...tchison-20251207-135454-1997711426119663631.jpg | Bin 308510 -> 0 bytes ...Tohsaka-20241217-105416-1869018277068128601.jpg | Bin 594573 -> 0 bytes ...EREN_PR-20241222-060000-1870756163119104193.jpg | Bin 481973 -> 0 bytes ...isettei-20251021-202117-1980776432990400924.jpg | Bin 70573 -> 0 bytes ...isettei-20260101-213830-2006887792744481164.jpg | Bin 127228 -> 0 bytes ...ler_Art-20250506-091743-1919728278887084500.jpg | Bin 630058 -> 0 bytes ...Bla18-20241217-083429-1868983100442866036-1.jpg | Bin 87984 -> 0 bytes ...u303019-20260608-061203-2063911927282278541.jpg | Bin 0 -> 143771 bytes ...nosKe39-20251103-065733-1985285208011354570.png | Bin 331074 -> 0 bytes ...ve2Slip-20241217-183049-1869133170630955100.jpg | Bin 426094 -> 0 bytes ..._set999-20251023-014230-1981219658192867444.jpg | Bin 379744 -> 0 bytes ...9373883-20260409-164112-2042326986953986369.jpg | Bin 65765 -> 0 bytes ..._Jo2NG7-20251130-094910-1995112869428449625.jpg | Bin 372700 -> 0 bytes ...geMochi-20250515-131407-1923049265028341881.jpg | Bin 466482 -> 0 bytes ...n915908-20260403-091429-2040040237641105542.jpg | Bin 848861 -> 0 bytes ...OUWUWOW-20250401-220437-1907237702879105348.png | Bin 162065 -> 0 bytes ...monTree-20250504-033855-1918918243281932594.jpg | Bin 75641 -> 0 bytes ...monTree-20250812-113314-1955276396663652509.jpg | Bin 157173 -> 0 bytes ...yParnar-20241219-114145-1869755003801674053.jpg | Bin 38417 -> 0 bytes ...VOLTAGE-20250331-221104-1906876935671853446.jpg | Bin 316046 -> 0 bytes ...amie_li-20250420-120612-1913972473361764448.jpg | Bin 211130 -> 0 bytes ...on_Cola-20260609-070201-2064286888165527557.jpg | Bin 0 -> 111615 bytes ...ey_KR-20250401-051813-1906984432013107339-0.jpg | Bin 57504 -> 0 bytes ...baTyaya-20251205-070843-1996884433413300286.jpg | Bin 1061447 -> 0 bytes ...RuXer_s-20250606-010824-1930839164867563852.png | Bin 206109 -> 0 bytes ...anTweet-20260401-011728-2039195418945376726.jpg | Bin 474591 -> 0 bytes ...5742636-20250607-083330-1931313564578709822.jpg | Bin 1326408 -> 0 bytes ...brsilon-20250419-233557-1913783669640335498.jpg | Bin 163112 -> 0 bytes ...anyy_28-20250823-075129-1959206854560735716.jpg | Bin 628433 -> 0 bytes ...@Vzor61-20260607-080107-2063576985025323043.jpg | Bin 0 -> 863140 bytes ...ASALMON-20250819-095524-1957788490285875394.jpg | Bin 154457 -> 0 bytes ...IGA_144-20260121-103654-2013969051186532788.png | Bin 33657 -> 0 bytes ...Yeraru_-20250422-193646-1914810637621883051.jpg | Bin 182870 -> 0 bytes ...u_TT096-20260104-042527-2007714981962494049.jpg | Bin 261519 -> 0 bytes ...ime0807-20260416-191720-2044902992948985874.jpg | Bin 32896 -> 0 bytes ...ui1102_-20260403-072032-2040011563407728988.jpg | Bin 284935 -> 0 bytes ...XK22155-20250429-070944-1917159356464079041.jpg | Bin 138930 -> 0 bytes ...XK22155-20250808-092805-1953795347265789982.jpg | Bin 629137 -> 0 bytes ...-@_3tch-20250331-200720-1906845798098518187.png | Bin 572844 -> 0 bytes ...__TKMYY-20250509-060722-1920767540516589784.jpg | Bin 203653 -> 0 bytes ...amode-20250718-150119-1946269066215473302-1.jpg | Bin 178093 -> 0 bytes ...s_smile-20250412-070002-1910996322347614300.png | Bin 435647 -> 0 bytes ...ayuuu65-20250417-110211-1912869201817354538.jpg | Bin 117406 -> 0 bytes ...ayuuu65-20250707-102925-1942214372203651475.jpg | Bin 643234 -> 0 bytes ...hpuzzle-20250417-095859-1912853297796362391.jpg | Bin 267882 -> 0 bytes ...hpuzzle-20251108-203804-1987303638742802688.jpg | Bin 298190 -> 0 bytes ...hpuzzle-20260130-195109-2017370023862362530.png | Bin 14941 -> 0 bytes ...pagne_9-20260208-011001-2020349371901231557.jpg | Bin 240784 -> 0 bytes ...8illust-20260609-061231-2064274431724441700.jpg | Bin 0 -> 237302 bytes ...dadaggn-20241220-092956-1870084218807824545.jpg | Bin 50364 -> 0 bytes ...ki_0000-20250711-081330-1943629717825065280.jpg | Bin 444005 -> 0 bytes ...niikiru-20260526-052708-2059189579111166019.jpg | Bin 716367 -> 0 bytes ...l_conoe-20250508-070002-1920418407431938267.jpg | Bin 206316 -> 0 bytes ...ngi1829-20250331-123739-1906732633834557561.jpg | Bin 319814 -> 0 bytes ...@eruart-20241122-114416-1859971161045782897.jpg | Bin 681064 -> 0 bytes ...ruri252-20250717-065827-1945785158495609057.jpg | Bin 485292 -> 0 bytes ...loosamu-20250812-083500-1955231540683690185.jpg | Bin 264832 -> 0 bytes ...grimruu-20250731-230000-1951100570976260173.jpg | Bin 125275 -> 0 bytes ...sann125-20250331-191424-1906832477098041638.jpg | Bin 359378 -> 0 bytes ...eong21m-20260514-133100-2054962693891916236.jpg | Bin 243435 -> 0 bytes ...kenyo-20250624-050327-1937421298675908789-1.jpg | Bin 289470 -> 0 bytes ...noa_771-20260607-000000-2063455908051722597.jpg | Bin 0 -> 565053 bytes ..._083100-20250428-065857-1916794255030489220.jpg | Bin 51096 -> 0 bytes ...wa_nayu-20250331-120245-1906723848281845776.jpg | Bin 334330 -> 0 bytes ...wii6325-20250729-102848-1950186749201691019.jpg | Bin 167493 -> 0 bytes ...wii6325-20260405-094000-2040771434696368144.jpg | Bin 377429 -> 0 bytes ...wii6325-20260517-094515-2055993045854961674.jpg | Bin 262634 -> 0 bytes ...wii6325-20260607-095557-2063605883679236577.jpg | Bin 0 -> 525598 bytes ..._water_-20250419-084025-1913558301184319504.jpg | Bin 101289 -> 0 bytes ...oui0621-20241220-234558-1870299645752275445.jpg | Bin 92626 -> 0 bytes ...liijili-20250827-052853-1960620519893688501.jpg | Bin 367949 -> 0 bytes ...ions256-20250327-102715-1905250264325759179.jpg | Bin 72343 -> 0 bytes ...2124280-20260412-045042-2043235344708198495.jpg | Bin 116025 -> 0 bytes ...y0217st-20250329-004807-1905829294514815406.jpg | Bin 129513 -> 0 bytes ...efanfan-20250320-123717-1902746273155100957.jpg | Bin 470763 -> 0 bytes ...kames14-20250409-093121-1909947236857135127.jpg | Bin 286998 -> 0 bytes ...han1007-20250404-095443-1908141181223281019.jpg | Bin 157281 -> 0 bytes ...atsu169-20250222-034957-1893191479994261695.jpg | Bin 135604 -> 0 bytes ...haakaka-20250323-085036-1903776389326942698.jpg | Bin 46577 -> 0 bytes ...otasuta-20251208-101713-1998019031144825035.jpg | Bin 505457 -> 0 bytes ...@mp777B-20241111-023634-1855847062228885562.jpg | Bin 145487 -> 0 bytes ...@mp777B-20260516-043140-2055551744298606953.jpg | Bin 70307 -> 0 bytes ...shisawa-20250613-141133-1933572963481366622.jpg | Bin 258617 -> 0 bytes ...nomono1-20260501-123753-2050238283536560294.jpg | Bin 100265 -> 0 bytes ...o_purin-20241214-060000-1867857057719763021.jpg | Bin 109789 -> 0 bytes ...huhnaur-20250311-115718-1899474719000453143.jpg | Bin 86337 -> 0 bytes ...iyagi-20250401-011750-1906923936555925627-1.jpg | Bin 21192 -> 0 bytes ...no_negi-20251026-085330-1982415285211767153.jpg | Bin 566840 -> 0 bytes ...isensei-20251129-165722-1994858241390776557.jpg | Bin 129343 -> 0 bytes ...ides111-20260607-093641-2063601035055452315.jpg | Bin 0 -> 135706 bytes ..._hanasi-20250402-140530-1907479515867336939.jpg | Bin 352613 -> 0 bytes ...nfinity-20260417-202124-2045281501978497224.jpg | Bin 240166 -> 0 bytes ...rinmayu-20260529-101052-2060348148938383674.jpg | Bin 74245 -> 0 bytes ...irurima-20260524-194221-2058680027244556613.jpg | Bin 214977 -> 0 bytes ...ki_art_-20260523-071917-2058130641129267351.jpg | Bin 320622 -> 0 bytes ...u_nasan-20250828-055702-1960989993981313113.jpg | Bin 250587 -> 0 bytes ...ni_0406-20250824-103355-1959610122629706051.jpg | Bin 444561 -> 0 bytes ...betaina-20260516-210335-2055801368234057973.jpg | Bin 830820 -> 0 bytes ...ya22554-20251122-085031-1992199007641456758.jpg | Bin 154194 -> 0 bytes ...e_metro-20260331-125657-2039009060142629271.jpg | Bin 175833 -> 0 bytes ...ame_art-20260525-121646-2058930279058964833.jpg | Bin 2459564 -> 0 bytes ...@t2e1o1-20250507-065835-1920055653407556020.jpg | Bin 170048 -> 0 bytes ...tknknym-20250212-080001-1889630534042616242.jpg | Bin 240930 -> 0 bytes ...iko0214-20251010-010050-1976498129345351865.jpg | Bin 101429 -> 0 bytes ...te_fish-20251006-064911-1975136243861373406.jpg | Bin 241229 -> 0 bytes ...ima_009-20250602-101014-1929525969771282455.jpg | Bin 468451 -> 0 bytes ...10_uran-20260210-061404-2021150663544086756.jpg | Bin 251907 -> 0 bytes ...st_v16v-20250819-030304-1957684723423289579.jpg | Bin 147722 -> 0 bytes ...st_v16v-20260610-080010-2064663909139964334.jpg | Bin 0 -> 126483 bytes ...@uzsgsg-20260227-132654-2027420183497969873.jpg | Bin 214209 -> 0 bytes ...@uzsgsg-20260607-101111-2063609716379722226.jpg | Bin 0 -> 334132 bytes ...@uzsgsg-20260608-044418-2063889844875800784.jpg | Bin 0 -> 304915 bytes ...@uzsgsg-20260609-044040-2064251316726313267.jpg | Bin 0 -> 162976 bytes ...5811942-20260607-005147-2063468939456524716.jpg | Bin 0 -> 75169 bytes ...5811942-20260608-083218-2063947220349845543.jpg | Bin 0 -> 185730 bytes ...5811942-20260608-084651-2063950884376342528.jpg | Bin 0 -> 182252 bytes ...2843619-20260605-235258-2063091751515295967.jpg | Bin 0 -> 740866 bytes ...an_nemu-20251116-031732-1989940881017999501.jpg | Bin 256791 -> 0 bytes ...ispy903-20250723-042357-1947920604566589730.jpg | Bin 265672 -> 0 bytes ...aaamoto-20260410-082603-2042564765785215168.jpg | Bin 131155 -> 0 bytes ...ng69835-20250523-075645-1925868499093627022.jpg | Bin 588995 -> 0 bytes ..._qianye-20250822-230435-1959074259361300924.jpg | Bin 570526 -> 0 bytes ...uispink-20250626-201117-1938374535767888312.jpg | Bin 102123 -> 0 bytes ...yuy_oO_-20250329-153537-1906052644436926840.jpg | Bin 400338 -> 0 bytes ...-@z50eu-20250815-065000-1956292280111054953.jpg | Bin 415529 -> 0 bytes 251 files changed, 1919 insertions(+) create mode 100644 .gitignore create mode 100644 "teto/(42) teto bread \302\267 chat _ osu!.html" create mode 100644 "teto/(42) teto bread \302\267 chat _ osu!_files/11b45cb1d156fe1945b477aa77335ba9facf82c652332dd36f69e31_LWMq.png" create mode 100644 "teto/(42) teto bread \302\267 chat _ osu!_files/12862514_LWMq.png" create mode 100644 "teto/(42) teto bread \302\267 chat _ osu!_files/app.0808274b_LWMq.css" create mode 100644 "teto/(42) teto bread \302\267 chat _ osu!_files/app.46ed236c_LWMq.js" create mode 100644 "teto/(42) teto bread \302\267 chat _ osu!_files/commons.0819ae77_LWMq.js" create mode 100644 "teto/(42) teto bread \302\267 chat _ osu!_files/en-gb.22ed6c6e_LWMq.js" create mode 100644 "teto/(42) teto bread \302\267 chat _ osu!_files/en.c68d4dc4_LWMq.js" create mode 100644 "teto/(42) teto bread \302\267 chat _ osu!_files/profile_LWMq.svg" create mode 100644 "teto/(42) teto bread \302\267 chat _ osu!_files/runtime.18c87bdd_LWMq.js" create mode 100644 "teto/(42) teto bread \302\267 chat _ osu!_files/vendor.75a92909_LWMq.js" create mode 100644 teto/PEARFROMTKMIZ.jpg create mode 100644 teto/birthdaytetoholdinghands.jpg create mode 100644 teto/coolultratrailerteto.jpg create mode 100644 teto/cutetetoback.jpg create mode 100644 teto/cutetetoeyes.jpg create mode 100644 teto/cutetetoicecream.jpg create mode 100644 teto/cutetetolooksatyou.jpg create mode 100644 teto/cutevppencil.jpg create mode 100644 teto/fourtetoscute.jpg create mode 100644 teto/hearttricktetocute.jpg create mode 100644 teto/maidmikutetoomurice.jpg create mode 100644 teto/maidtetomimicutecutecute.jpg create mode 100644 teto/mesmerizermikueatsteto.jpg create mode 100644 teto/mikutetorape.jpg create mode 100644 teto/mikutetoselfie.jpg create mode 100644 teto/mikutetoswapcute.jpg create mode 100644 teto/nendoroidopoint.jpg create mode 100644 teto/sciencetetohappysad.jpg create mode 100644 teto/shinytetoschool.jpg create mode 100644 teto/smallcutetetomaid.jpg create mode 100644 teto/smalltetocheer.jpg create mode 100644 teto/smoltetobangcute.jpg create mode 100644 teto/tetoaura.jpg create mode 100644 teto/tetobigboobseating.jpg create mode 100644 teto/tetoblehhfromheindcute.jpg create mode 100644 teto/tetobweghsimple.jpg create mode 100644 teto/tetochip.jpg create mode 100644 teto/tetocoolmeow.jpg create mode 100644 teto/tetocoolpeacepeace.jpg create mode 100644 teto/tetocrazyidk.jpg create mode 100644 teto/tetocreaturemlem.jpg create mode 100644 teto/tetocutecrouch.jpg create mode 100644 teto/tetocutelookingup.png create mode 100644 teto/tetocutelooksatyouportrait.jpg create mode 100644 teto/tetocutemaid.jpg create mode 100644 teto/tetocutemaidbroom.jpg create mode 100644 teto/tetocutenightgrocerystore.jpg create mode 100644 teto/tetocutepeacepeacelookingatyou.jpg create mode 100644 teto/tetocutepixelsmall.png create mode 100644 teto/tetocutesciencepeace.png create mode 100644 teto/tetocuteshineineye.jpg create mode 100644 teto/tetocutesittingsex.jpg create mode 100644 teto/tetocutesmall.jpg create mode 100644 teto/tetocutestars.jpg create mode 100644 teto/tetodevilcute.jpg create mode 100644 teto/tetodrawcute.jpg create mode 100644 teto/tetodrilljobtoher.jpg create mode 100644 teto/tetodrinkingteacute.jpg create mode 100644 teto/tetoeating.jpg create mode 100644 teto/tetoeatthings.jpg create mode 100644 teto/tetoevilcute.jpg create mode 100644 teto/tetoguitarcool.jpg create mode 100644 teto/tetohairdowncutemikutoo.jpg create mode 100644 teto/tetohairdowntwocute.jpg create mode 100644 teto/tetohallowheenhot.jpg create mode 100644 teto/tetohotlollipop.jpg create mode 100644 teto/tetohotyoshirawa.jpg create mode 100644 teto/tetoimgonnarapeyou.jpg create mode 100644 teto/tetolegshotthisisamazig i lovethis waow.jpg create mode 100644 teto/tetolookingatyoucute.jpg create mode 100644 teto/tetolookslikeacat.jpg create mode 100644 teto/tetomaidcutecute.jpg create mode 100644 teto/tetomaidcutecutenails.jpg create mode 100644 teto/tetomaidsidecute.jpg create mode 100644 teto/tetomikutetoannoyedmikujappy.jpg create mode 100644 teto/tetomixedinteresting.jpg create mode 100644 teto/tetomodernartbreadyum.jpg create mode 100644 teto/tetonightcitycute.jpg create mode 100644 teto/tetooverrideandmezmerizer.jpg create mode 100644 teto/tetopancakes.jpg create mode 100644 teto/tetopeacepan.jpg create mode 100644 teto/tetopeacetwo.jpg create mode 100644 teto/tetopluslowquality.jpg create mode 100644 teto/tetopointsupcute.jpg create mode 100644 teto/tetoquestionwhatcute.jpg create mode 100644 teto/tetorapecute.jpg create mode 100644 teto/tetoreadingannoyed.png create mode 100644 teto/tetorisonblock.jpg create mode 100644 teto/tetosadris.jpg create mode 100644 teto/tetoscarfnose.jpg create mode 100644 teto/tetoscientistglassescute.jpg create mode 100644 teto/tetoscientistscrazyspiral.jpg create mode 100644 teto/tetoshycute.jpg create mode 100644 teto/tetosingincute.jpg create mode 100644 teto/tetosmallinbox.png create mode 100644 teto/tetosmallsadcute.jpg create mode 100644 teto/tetosmuggg.jpg create mode 100644 teto/tetosnowpossiblyrussia.jpg create mode 100644 teto/tetosoda.jpg create mode 100644 teto/tetosonicdesign.jpg create mode 100644 teto/tetostickerscute.jpg create mode 100644 teto/tetothings.png create mode 100644 teto/tetotouchingmikuannoyed.jpg create mode 100644 teto/tetotouchinherdrill.jpg create mode 100644 teto/tetotroubledcute.jpg create mode 100644 teto/tetoyawncutebelly.jpg create mode 100644 teto/tripletetopencute.jpg create mode 100644 teto/twotetoslookingateachothercte.jpg create mode 100644 teto/vptetoangy.jpg create mode 100644 unnamed /twitter-@0_ONIBI-20260607-031731-2063505614161277228.jpg create mode 100644 unnamed /twitter-@100hituzi-20260610-005944-2064558104273109331.jpg delete mode 100644 unnamed /twitter-@10EnAmA-20250418-060004-1913155558691029324-1.jpg delete mode 100644 unnamed /twitter-@1kg_5mm-20250701-100412-1940033697866187151.png delete mode 100644 unnamed /twitter-@2iNiUuatku20290-20251017-072004-1979130282654732535.jpg create mode 100644 unnamed /twitter-@2uxlCfBYeu5ECRC-20260606-033630-2063148004467679353.jpg delete mode 100644 unnamed /twitter-@9mo2339-20250322-172025-1903542302792196384.jpg delete mode 100644 unnamed /twitter-@AB_Panda_BA-20250226-061957-1894678782054932606.jpg delete mode 100644 unnamed /twitter-@AartiPham34098-20251203-055347-1996140798136799686.jpg delete mode 100644 unnamed /twitter-@AnotherJadeori-20250303-200923-1896699452095881445.jpg delete mode 100644 unnamed /twitter-@Ataka_Plus-20260204-042926-2018950006607356217.jpg delete mode 100644 unnamed /twitter-@Awaaki_Momiji-20250802-070002-1951583762984177941.jpg delete mode 100644 unnamed /twitter-@Azhao0127_-20250607-124350-1931376562877964602.jpg create mode 100644 unnamed /twitter-@CoCii0831-20260608-074712-2063935872857436553.jpg delete mode 100644 unnamed /twitter-@Conx2fox-20260402-025810-2039583148217143612.jpg delete mode 100644 unnamed /twitter-@CxDotchison-20251207-135454-1997711426119663631.jpg delete mode 100644 unnamed /twitter-@DailyRinTohsaka-20241217-105416-1869018277068128601.jpg delete mode 100644 unnamed /twitter-@FRIEREN_PR-20241222-060000-1870756163119104193.jpg delete mode 100644 unnamed /twitter-@Gennzaimisettei-20251021-202117-1980776432990400924.jpg delete mode 100644 unnamed /twitter-@Gennzaimisettei-20260101-213830-2006887792744481164.jpg delete mode 100644 unnamed /twitter-@Ghuler_Art-20250506-091743-1919728278887084500.jpg delete mode 100644 unnamed /twitter-@HeartUnderBla18-20241217-083429-1868983100442866036-1.jpg create mode 100644 unnamed /twitter-@Kantou303019-20260608-061203-2063911927282278541.jpg delete mode 100644 unnamed /twitter-@KinosKe39-20251103-065733-1985285208011354570.png delete mode 100644 unnamed /twitter-@Love2Slip-20241217-183049-1869133170630955100.jpg delete mode 100644 unnamed /twitter-@M_set999-20251023-014230-1981219658192867444.jpg delete mode 100644 unnamed /twitter-@Mike9373883-20260409-164112-2042326986953986369.jpg delete mode 100644 unnamed /twitter-@Mo_Jo2NG7-20251130-094910-1995112869428449625.jpg delete mode 100644 unnamed /twitter-@MogeMochi-20250515-131407-1923049265028341881.jpg delete mode 100644 unnamed /twitter-@Nunn915908-20260403-091429-2040040237641105542.jpg delete mode 100644 unnamed /twitter-@OWOUWUWOW-20250401-220437-1907237702879105348.png delete mode 100644 unnamed /twitter-@PainLemonTree-20250504-033855-1918918243281932594.jpg delete mode 100644 unnamed /twitter-@PainLemonTree-20250812-113314-1955276396663652509.jpg delete mode 100644 unnamed /twitter-@ParlyParnar-20241219-114145-1869755003801674053.jpg delete mode 100644 unnamed /twitter-@PokeMikuVOLTAGE-20250331-221104-1906876935671853446.jpg delete mode 100644 unnamed /twitter-@Ramie_li-20250420-120612-1913972473361764448.jpg create mode 100644 unnamed /twitter-@Remon_Cola-20260609-070201-2064286888165527557.jpg delete mode 100644 unnamed /twitter-@Rhyley_KR-20250401-051813-1906984432013107339-0.jpg delete mode 100644 unnamed /twitter-@RokubaTyaya-20251205-070843-1996884433413300286.jpg delete mode 100644 unnamed /twitter-@RuXer_s-20250606-010824-1930839164867563852.png delete mode 100644 unnamed /twitter-@SkellyChanTweet-20260401-011728-2039195418945376726.jpg delete mode 100644 unnamed /twitter-@T6819115742636-20250607-083330-1931313564578709822.jpg delete mode 100644 unnamed /twitter-@Tabrsilon-20250419-233557-1913783669640335498.jpg delete mode 100644 unnamed /twitter-@Vanyy_28-20250823-075129-1959206854560735716.jpg create mode 100644 unnamed /twitter-@Vzor61-20260607-080107-2063576985025323043.jpg delete mode 100644 unnamed /twitter-@YAITASALMON-20250819-095524-1957788490285875394.jpg delete mode 100644 unnamed /twitter-@YUIGA_144-20260121-103654-2013969051186532788.png delete mode 100644 unnamed /twitter-@Yeraru_-20250422-193646-1914810637621883051.jpg delete mode 100644 unnamed /twitter-@Yu_TT096-20260104-042527-2007714981962494049.jpg delete mode 100644 unnamed /twitter-@Yu_anime0807-20260416-191720-2044902992948985874.jpg delete mode 100644 unnamed /twitter-@Yui1102_-20260403-072032-2040011563407728988.jpg delete mode 100644 unnamed /twitter-@Zar6VNFfXK22155-20250429-070944-1917159356464079041.jpg delete mode 100644 unnamed /twitter-@Zar6VNFfXK22155-20250808-092805-1953795347265789982.jpg delete mode 100644 unnamed /twitter-@_3tch-20250331-200720-1906845798098518187.png delete mode 100644 unnamed /twitter-@__TKMYY-20250509-060722-1920767540516589784.jpg delete mode 100644 unnamed /twitter-@adamadamode-20250718-150119-1946269066215473302-1.jpg delete mode 100644 unnamed /twitter-@aus_smile-20250412-070002-1910996322347614300.png delete mode 100644 unnamed /twitter-@ayuuu65-20250417-110211-1912869201817354538.jpg delete mode 100644 unnamed /twitter-@ayuuu65-20250707-102925-1942214372203651475.jpg delete mode 100644 unnamed /twitter-@branchpuzzle-20250417-095859-1912853297796362391.jpg delete mode 100644 unnamed /twitter-@branchpuzzle-20251108-203804-1987303638742802688.jpg delete mode 100644 unnamed /twitter-@branchpuzzle-20260130-195109-2017370023862362530.png delete mode 100644 unnamed /twitter-@campagne_9-20260208-011001-2020349371901231557.jpg create mode 100644 unnamed /twitter-@croom_788illust-20260609-061231-2064274431724441700.jpg delete mode 100644 unnamed /twitter-@dadaggn-20241220-092956-1870084218807824545.jpg delete mode 100644 unnamed /twitter-@daitiki_0000-20250711-081330-1943629717825065280.jpg delete mode 100644 unnamed /twitter-@darakuniikiru-20260526-052708-2059189579111166019.jpg delete mode 100644 unnamed /twitter-@del_conoe-20250508-070002-1920418407431938267.jpg delete mode 100644 unnamed /twitter-@eringi1829-20250331-123739-1906732633834557561.jpg delete mode 100644 unnamed /twitter-@eruart-20241122-114416-1859971161045782897.jpg delete mode 100644 unnamed /twitter-@fenruri252-20250717-065827-1945785158495609057.jpg delete mode 100644 unnamed /twitter-@fuloosamu-20250812-083500-1955231540683690185.jpg delete mode 100644 unnamed /twitter-@grimruu-20250731-230000-1951100570976260173.jpg delete mode 100644 unnamed /twitter-@hakkousann125-20250331-191424-1906832477098041638.jpg delete mode 100644 unnamed /twitter-@hayeong21m-20260514-133100-2054962693891916236.jpg delete mode 100644 unnamed /twitter-@imadakenyo-20250624-050327-1937421298675908789-1.jpg create mode 100644 unnamed /twitter-@inoa_771-20260607-000000-2063455908051722597.jpg delete mode 100644 unnamed /twitter-@kamedayo_083100-20250428-065857-1916794255030489220.jpg delete mode 100644 unnamed /twitter-@kamogawa_nayu-20250331-120245-1906723848281845776.jpg delete mode 100644 unnamed /twitter-@kh0KM4Owii6325-20250729-102848-1950186749201691019.jpg delete mode 100644 unnamed /twitter-@kh0KM4Owii6325-20260405-094000-2040771434696368144.jpg delete mode 100644 unnamed /twitter-@kh0KM4Owii6325-20260517-094515-2055993045854961674.jpg create mode 100644 unnamed /twitter-@kh0KM4Owii6325-20260607-095557-2063605883679236577.jpg delete mode 100644 unnamed /twitter-@koi_water_-20250419-084025-1913558301184319504.jpg delete mode 100644 unnamed /twitter-@koui0621-20241220-234558-1870299645752275445.jpg delete mode 100644 unnamed /twitter-@lililjiliijili-20250827-052853-1960620519893688501.jpg delete mode 100644 unnamed /twitter-@lions256-20250327-102715-1905250264325759179.jpg delete mode 100644 unnamed /twitter-@ls6812124280-20260412-045042-2043235344708198495.jpg delete mode 100644 unnamed /twitter-@lyy0217st-20250329-004807-1905829294514815406.jpg delete mode 100644 unnamed /twitter-@mamaeefanfan-20250320-123717-1902746273155100957.jpg delete mode 100644 unnamed /twitter-@midorikames14-20250409-093121-1909947236857135127.jpg delete mode 100644 unnamed /twitter-@minocchan1007-20250404-095443-1908141181223281019.jpg delete mode 100644 unnamed /twitter-@miratsu169-20250222-034957-1893191479994261695.jpg delete mode 100644 unnamed /twitter-@moochaakaka-20250323-085036-1903776389326942698.jpg delete mode 100644 unnamed /twitter-@motasuta-20251208-101713-1998019031144825035.jpg delete mode 100644 unnamed /twitter-@mp777B-20241111-023634-1855847062228885562.jpg delete mode 100644 unnamed /twitter-@mp777B-20260516-043140-2055551744298606953.jpg delete mode 100644 unnamed /twitter-@mushisawa-20250613-141133-1933572963481366622.jpg delete mode 100644 unnamed /twitter-@naagasonomono1-20260501-123753-2050238283536560294.jpg delete mode 100644 unnamed /twitter-@nago_purin-20241214-060000-1867857057719763021.jpg delete mode 100644 unnamed /twitter-@nahuhnaur-20250311-115718-1899474719000453143.jpg delete mode 100644 unnamed /twitter-@noreiyagi-20250401-011750-1906923936555925627-1.jpg delete mode 100644 unnamed /twitter-@nunono_negi-20251026-085330-1982415285211767153.jpg delete mode 100644 unnamed /twitter-@nyanzaisensei-20251129-165722-1994858241390776557.jpg create mode 100644 unnamed /twitter-@nymphoides111-20260607-093641-2063601035055452315.jpg delete mode 100644 unnamed /twitter-@otogino_hanasi-20250402-140530-1907479515867336939.jpg delete mode 100644 unnamed /twitter-@poccheinfinity-20260417-202124-2045281501978497224.jpg delete mode 100644 unnamed /twitter-@rierinmayu-20260529-101052-2060348148938383674.jpg delete mode 100644 unnamed /twitter-@rirurima-20260524-194221-2058680027244556613.jpg delete mode 100644 unnamed /twitter-@ruki_art_-20260523-071917-2058130641129267351.jpg delete mode 100644 unnamed /twitter-@runaru_nasan-20250828-055702-1960989993981313113.jpg delete mode 100644 unnamed /twitter-@sahuni_0406-20250824-103355-1959610122629706051.jpg delete mode 100644 unnamed /twitter-@saladtabetaina-20260516-210335-2055801368234057973.jpg delete mode 100644 unnamed /twitter-@sanpuyouya22554-20251122-085031-1992199007641456758.jpg delete mode 100644 unnamed /twitter-@seaside_metro-20260331-125657-2039009060142629271.jpg delete mode 100644 unnamed /twitter-@soraame_art-20260525-121646-2058930279058964833.jpg delete mode 100644 unnamed /twitter-@t2e1o1-20250507-065835-1920055653407556020.jpg delete mode 100644 unnamed /twitter-@tknknym-20250212-080001-1889630534042616242.jpg delete mode 100644 unnamed /twitter-@tochiko0214-20251010-010050-1976498129345351865.jpg delete mode 100644 unnamed /twitter-@toretate_fish-20251006-064911-1975136243861373406.jpg delete mode 100644 unnamed /twitter-@tsushima_009-20250602-101014-1929525969771282455.jpg delete mode 100644 unnamed /twitter-@uranium10_uran-20260210-061404-2021150663544086756.jpg delete mode 100644 unnamed /twitter-@uwa_illust_v16v-20250819-030304-1957684723423289579.jpg create mode 100644 unnamed /twitter-@uwa_illust_v16v-20260610-080010-2064663909139964334.jpg delete mode 100644 unnamed /twitter-@uzsgsg-20260227-132654-2027420183497969873.jpg create mode 100644 unnamed /twitter-@uzsgsg-20260607-101111-2063609716379722226.jpg create mode 100644 unnamed /twitter-@uzsgsg-20260608-044418-2063889844875800784.jpg create mode 100644 unnamed /twitter-@uzsgsg-20260609-044040-2064251316726313267.jpg create mode 100644 unnamed /twitter-@w85811942-20260607-005147-2063468939456524716.jpg create mode 100644 unnamed /twitter-@w85811942-20260608-083218-2063947220349845543.jpg create mode 100644 unnamed /twitter-@w85811942-20260608-084651-2063950884376342528.jpg create mode 100644 unnamed /twitter-@wBXUiIOY2843619-20260605-235258-2063091751515295967.jpg delete mode 100644 unnamed /twitter-@wanwan_nemu-20251116-031732-1989940881017999501.jpg delete mode 100644 unnamed /twitter-@xispy903-20250723-042357-1947920604566589730.jpg delete mode 100644 unnamed /twitter-@yaaaaaaaaaamoto-20260410-082603-2042564765785215168.jpg delete mode 100644 unnamed /twitter-@yjngshdsng69835-20250523-075645-1925868499093627022.jpg delete mode 100644 unnamed /twitter-@yue_qianye-20250822-230435-1959074259361300924.jpg delete mode 100644 unnamed /twitter-@yunayuispink-20250626-201117-1938374535767888312.jpg delete mode 100644 unnamed /twitter-@yuy_oO_-20250329-153537-1906052644436926840.jpg delete mode 100644 unnamed /twitter-@z50eu-20250815-065000-1956292280111054953.jpg diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3a736c7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +unnamed /delete/ +unnamed\ /other/ diff --git "a/teto/(42) teto bread \302\267 chat _ osu!.html" "b/teto/(42) teto bread \302\267 chat _ osu!.html" new file mode 100644 index 0000000..094a65c --- /dev/null +++ "b/teto/(42) teto bread \302\267 chat _ osu!.html" @@ -0,0 +1,1781 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + (42) teto bread · chat | osu! + + + +
+ + +
+ + + + +
+
+
+ + + + + + + david_eldios_ + + + + + + + + 0 + + 42 +
+ +
+ +
+ +
+ + + + + + + + + +
+ + + +

No notifications

+ +
Beatmap status changed
"Elite Beat Agents Compilation" has been disqualified
New comment
Zeskky replied "decoren abendregen" on "Shuu no Hazama"
Beatmap status changed
"MYxFLAVORxDAYS! feat. GUMI (Short Ver.)" has been disqualified
Beatmap status changed
"STUDYxSTUDY (TV Size)" has been disqualified
Qualified Beatmap problem
Reported by Buster on "Elite Beat Agents Compilation": "should've widescreen support be t..."
Beatmap status changed
"Ricochet Love" has been disqualified
Beatmap status changed
"Otoichie" has been disqualified
Beatmap status changed
"Re: End of a Dream" has been disqualified
Beatmap status changed
"Natsu no Owari" has been disqualified
Beatmap status changed
"Ringo Uri no Utakata Shoujo" has been disqualified
Beatmap status changed
"Propose" has been disqualified
Beatmap status changed
"Hybris (The one who shattered)" has been disqualified
Beatmap status changed
"Kara Kara Kara no Kara" has been disqualified
Beatmap status changed
"White Noise (TV Size)" has been disqualified
Beatmap status changed
"Scorpion Hill" has been disqualified
Qualified Beatmap problem
Encore Dance
Qualified Beatmap problem
Reported by Greenshell on "Toki to Uta (Short Ver.)": "not rankable cause of dmca im 99%..."
Beatmap status changed
"LittlE HearTs" has been disqualified
Qualified Beatmap problem
Six Seven
Beatmap status changed
"Sousei (Driving style)" has been disqualified
Beatmap status changed
"overture" has been disqualified
Beatmap status changed
"Six Seven" has been disqualified
Beatmap status changed
1116
Beatmap status changed
"Miracle" has been disqualified
Beatmap status changed
"Everything will be broken." has been disqualified
Qualified Beatmap problem
Reported by Recent on "1116": "Howdy, + +GDer chromw is missing fr..."
Beatmap status changed
"My Heart Will Go On" has been disqualified
Beatmap status changed
"ikasu" has been disqualified
Beatmap status changed
"dogdog" has been disqualified
Beatmap status changed
Escape With The Clouds
Beatmap status changed
"Everlasting Eternity" has been disqualified
Beatmap status changed
"One More Wish" has been disqualified
Beatmap status changed
"Endless Tears feat. Nakamura Maiko" has been disqualified
Beatmap status changed
"ReDreaming Angel" has been disqualified
New medal
Unlocked "Courier Catapult"!
Beatmap status changed
"Rakuenzu - Rose ver. -" has been disqualified
Team join request
You're now member of team teto bread
Qualified Beatmap problem
Reported by App on "Escape With The Clouds": "Yo, the artist is actually `Boxpl..."
+
+
+
+ + + + +
+
+
+
chat
Channels
Team
Direct messages
talking in teto bread
6 March 2025
Alex51962010

yooo

we have team chat

lol

we are only three in this chat

16:22

cool

btw TETO WORLD DOMINATION!!!!!!!!!!!!!!!!!!!

16:23
7 March 2025
naria

tetotetotetotetoteto

03:36

whats ur fav teto song

13:09
13 May 2025
Ikuhmasik3

Hi

17:46

I love Teto

17:47
14 May 2025
Jennifer

Wait what the Teto chat

What the handsome

01:20

if there are teto maps you like, you maybe let me know and I will rank them!

01:21
Ikuhmasik3

oki

11:27
28 May 2025
niikupture

Thanks for adding me (:

11:35
Ikuhmasik3

Welcome niikupture

12:30
24 June 2025
Danielsito72XD

hiiiiii

21:39
26 June 2025
naria

what up gamers welcome

15:48
Killazin

heyo

17:06
27 June 2025
Astolfo lover

Hi

15:19
pete231

TETO!

18:18
30 June 2025
Danielsito72XD

tetoo

04:18
17 July 2025
MaktheYak

tetotetotetotetoteto

12:18
Uim_old_4

tetoooo

12:26
18 July 2025
naria

teto song of the day https://youtu.be/OU42psOG-kA

16:09
19 July 2025
pete231

real!

06:20
MaktheYak

yo keep these coming 🔥🔥🔥

07:29
naria

teto song of the day 2 https://youtu.be/ZgKmIidNO0s

15:03
PowerUnleashed

heya

16:55
20 July 2025
naria
21 July 2025
MaktheYak

my teto song dealer back at it again

06:31
naria

teto song of the day 4 https://youtu.be/lRT0tMqx7BQ

11:32
Uim_old_4

woohoo

19:49
22 July 2025
naria

teto song of the day 5 https://youtu.be/j9RGt9Z_UeE

13:39
pete231

fire!

23:05
23 July 2025
naria

teto song of the day 6 https://youtu.be/nvOHyTucpdg

16:51
24 July 2025
naria

teto song of the day 7 https://youtu.be/YLaCs9hP5jU

15:15
27 July 2025
MaktheYak

no song of the day 😰

04:30
Uim_old_4

😰😰😰

13:33
naria

i forgor

teto song of the day 8 https://youtu.be/K7GFH7Jnw0s

13:38
pete231

yay, teto song of the day :D

21:54
28 July 2025
naria

teto song of the day 9 https://youtu.be/3M08u53BcTk

18:05
29 July 2025
naria

teto song of the day 10 https://youtu.be/3Lfit_ZA-tM 🔥

16:39
pete231

🔥🔥🔥🔥🔥

20:49
30 July 2025
naria

teto song of the day 11 https://youtu.be/PzOEdrBojAg

14:23
31 July 2025
Uim_old_4

👍

14:39
naria

teto song of the day 12 https://youtu.be/bCaAM9rOKuc

20:48
1 August 2025
naria

teto song of the day 13 https://youtu.be/c5_0NPftdlY

15:30
2 August 2025
naria

teto song of the day 14 https://youtu.be/LvYL8u4p-aM

16:19
3 August 2025
naria

teto song of the day 15 https://youtu.be/m-bvW4pKT68

16:33
pete231

YESSSSSSS I LOVE THAT SONG

21:39
4 August 2025
naria

teto song of the day 16 https://youtu.be/cq8WquQioXY

15:26
6 August 2025
naria

teto song of the day 17 https://youtu.be/zgW6XggBkyw

02:21

teto song of the day 18 https://youtu.be/cknsKkzA2lM

17:48
7 August 2025
naria

teto song of the day 19 https://youtu.be/n5Q3yjLirUk

19:05
8 August 2025
naria

teto song of the day 20 https://youtu.be/Whg4j8VzGn8

19:00
9 August 2025
naria

teto song of the day 21 https://youtu.be/Soy4jGPHr3g

21:31
10 August 2025
naria

teto song of the day 22 https://youtu.be/X2yPo4stVX0

20:39
11 August 2025
naria

teto song of the day 23 https://youtu.be/F38EuG2dAyM

21:08
13 August 2025
naria

teto song of the day 24 https://youtu.be/JALbemLw3G4

08:21
14 August 2025
pete231

classic !

03:00
naria

teto song of the day 25 https://youtu.be/5hgSET4bpbk

03:17
15 August 2025
naria

teto song of the day 26 https://youtu.be/-65x3ENVGKU

06:53
16 August 2025
naria

teto song of the day 27 https://youtu.be/yzWO9sAM8PM

00:41
17 August 2025
naria

teto song of the day 28 https://youtu.be/mTVV2OZM_eA

08:03
18 August 2025
naria

teto song of the day 29 https://youtu.be/LLjfal8jCYI

00:14
19 August 2025
naria

teto song of the day 30 https://youtu.be/GX-5ZicvLxA

01:21
20 August 2025
naria

teto song of the day 31 https://youtu.be/UHbmkxv-874

03:28
pete231

1 month of teto song of the day :D

03:35
21 August 2025
naria

teto song of the day 32 https://youtu.be/SKF26EudiZg

01:02
22 August 2025
naria

teto song of the day 33 https://youtu.be/OrnL2Nmgdgg

01:50
23 August 2025
naria

teto song of the day 34 https://youtu.be/klIxS5o65C4

00:25
24 August 2025
naria

teto song of the day 35 https://youtu.be/JeE-HbQ2h9E

00:32

teto song of the day 36 https://youtu.be/TC80uw4HgCw

22:34
25 August 2025
naria

teto song of the day 37 https://youtu.be/19y8YTbvri8

23:00
26 August 2025
naria

teto song of the day 38 https://youtu.be/_VYsCybhn0s

23:59
27 August 2025
naria

teto song of the day 39 https://youtu.be/jOZdf62hb64

23:40
28 August 2025
naria

teto song of the day 40 https://youtu.be/YcO-MxPf_Vg

23:39
29 August 2025
naria

teto song of the day 41 https://youtu.be/PKXJWt0Pcfs

23:26
31 August 2025
naria

teto song of the day 42 https://youtu.be/PJ9qXL6p8cc

00:42
1 September 2025
naria

teto song of the day 43 https://youtu.be/4e2XnoNEsdE

10:42
2 September 2025
naria

teto song of the day 44 https://youtu.be/rF-5ttpWxvQ

00:48
3 September 2025
naria

teto song of the day 45 https://youtu.be/8QAEYauWBGc

03:40

teto song of the day 46 https://youtu.be/I6U-Xjv-XL4

23:11
4 September 2025
naria

teto song of the day 47 https://youtu.be/i7HgXE61_N4

happy silksong day

22:34
5 September 2025
naria

teto song of the day 48 https://youtu.be/whCO3zbIEAY

23:21
7 September 2025
naria

teto song of the day 49 https://youtu.be/6cDSJs-b_Us

04:34
8 September 2025
naria

teto song of the day 50 https://youtu.be/kmLmkt7yMig

00:36
9 September 2025
naria

teto song of the day 51 https://youtu.be/jWX-Udu1f54

03:39
10 September 2025
naria

teto song of the day 52 https://youtu.be/xSfIAqxG1OM

01:16
11 September 2025
naria

teto song of the day 53 https://youtu.be/yfAMmf9OM4Q

10:16
12 September 2025
naria

teto song of the day 54 https://youtu.be/QOLojJ1NbCs

02:51
13 September 2025
naria

teto song of the day 55 https://youtu.be/HYYrzdW9zFc

01:36
15 September 2025
naria

teto song of the day 56 https://youtu.be/HTxwOxFt5d4

teto song of the day 57 https://youtu.be/DiELZpStYxA

13:34
16 September 2025
naria

teto song of the day 58 https://youtu.be/uOaMP1ZgwYg

14:56
17 September 2025
MaktheYak

damn i have been gone a bit and its good to see the teto song of the days still going strong

teto supremacy

05:18
18 September 2025
naria

teto song of the day 59 https://youtu.be/ITRT9zXCc0k

12:36
19 September 2025
naria

teto song of the day 60 https://youtu.be/jneo_p9h6WI

04:10
20 September 2025
naria

teto song of the day 61 https://youtu.be/9HUMT9F7baM

04:35
21 September 2025
naria

teto song of the day 62 https://youtu.be/ATUpo33OvdA

04:52
22 September 2025
naria

teto song of the day 63 https://youtu.be/0iVlSNpq8i8

21:38
23 September 2025
naria

teto song of the day 64 https://youtu.be/yr3k-Ok9GE4

20:35
24 September 2025
naria

teto song of the day 65 https://youtu.be/GVyT5IrajG0

15:18
Uim_old_4

true teto fan

22:42
26 September 2025
naria

teto song of the day 66 https://youtu.be/TlgxSeGJvew

14:37
PowerUnleashed

bangers

19:01
27 September 2025
naria

teto song of the day 67 https://youtu.be/CH_vQVVCDxo

14:21
tetoteto

what day.

15:36
SoLivaya

Where is my favorite artist's song of the day?

22:53
28 September 2025
naria

teto song of the day 68 ! https://youtu.be/ApjsDbdI1WQ

13:30
29 September 2025
naria

teto song of the day 69 ★ https://youtu.be/ij6u5h-oVBM

14:14
pete231

😳

22:01
30 September 2025
tetoteto

erm...

00:35
naria

teto song of the day 70 ツ https://youtu.be/c5_0NPftdlY

22:13
1 October 2025
naria

teto song of the day 71 https://youtu.be/8Cm-7oCq9HA

22:50
2 October 2025
naria

teto song of the day 72(7) https://youtu.be/_J_hTrOT8LA

20:30
3 October 2025
Uim_old_4

😮

23:04
4 October 2025
naria

teto song of the day 73 https://youtu.be/sqK-jh4TDXo

03:16
5 October 2025
naria

teto song of the day 74 https://youtu.be/vCjlEhftOXk

06:49

teto song of the day 75 https://youtu.be/g2NljzsI9lE

23:37
7 October 2025
naria

teto song of the day 76 https://youtu.be/QQdddUKUkko

00:42
SoLivaya

HELL YEAH ITS PEEK SONG

06:00
8 October 2025
naria

teto song of the day 77 https://youtu.be/dGJoTxcZFvg

01:21

teto song of the day 78 https://youtu.be/OqiGgSxJu-o

23:58
9 October 2025
naria
08:57

teto song of the day 79 https://youtu.be/EsZKJD-6S4k

happy teto day 10/10

23:47
10 October 2025
Uim_old_4

teto my goat

14:49
naria

teto song of the day 80 https://youtu.be/jDnhp2irTrM

23:12
11 October 2025
naria

teto song of the day 81 https://youtu.be/vET9_UNBrUU

23:52
13 October 2025
naria

teto song of the day 82 https://youtu.be/FMlOnbD8FR8

00:52
14 October 2025
naria

teto song of the day 83 https://youtu.be/Z9zxLFiu9JQ

00:53
15 October 2025
naria

teto song of the day 84 https://youtu.be/3-kI9rDwQ8E

00:51
16 October 2025
naria

teto song of the day 85 https://youtu.be/qKOJ5_IkUXY

01:20
17 October 2025
naria

teto song of the day 86 https://youtu.be/uDnKy_FYgvA

01:06
18 October 2025
naria

teto song of the day 87 https://youtu.be/XKqUsbYyLk4

03:31
19 October 2025
naria

teto song of the day 88 https://youtu.be/bI3542HJRzY

02:26
20 October 2025
naria

teto song of the day 89 https://youtu.be/sjvON0W7BZQ

00:48
21 October 2025
naria

teto song of the day 90 https://youtu.be/pER24jTrGA0

03:01
Uim_old_4

i didnt even know there were this many

20:08
22 October 2025
naria

teto song of the day 91 https://youtu.be/mu68XYPCMtw

03:38
23 October 2025
naria

teto song of the day 92 https://youtu.be/cLC_EQsiulI

05:18
24 October 2025
naria

teto song of the day 93 https://youtu.be/l_Ade5khbCs

02:01
25 October 2025
naria

teto song of the day 94 https://youtu.be/nlbHqUQghzg

01:13

teto song of the day 95 https://youtu.be/_AjJZEcMdww

22:41
27 October 2025
naria

teto song of the day 96 https://youtu.be/_0PfrgKHI6U

00:16
28 October 2025
naria

teto song of the day 97 https://youtu.be/OzeDUhUdm6s

02:08
29 October 2025
naria

teto song of the day 98 https://youtu.be/b-lg99jzkII

02:01
30 October 2025
naria

teto song of the day 99 https://youtu.be/iNbtAOS_qZM

04:02
31 October 2025
naria

teto song of the day 100 https://youtu.be/v1TaIfKctPo

04:12
pete231

100!!!!!

04:38
naria

🥳

04:58
1 November 2025
naria

teto song of the day 101 https://youtu.be/DDZtUUVJ0yc

05:16
2 November 2025
naria

teto song of the day 102 https://youtu.be/uWMr16O_Aso

10:51
3 November 2025
naria

teto song of the day 103 https://youtu.be/d_T1StgldnM

11:42
4 November 2025
naria

teto song of the day 104 https://youtu.be/Sb8J7NzwOKw

09:06
5 November 2025
naria

teto song of the day 105 https://youtu.be/KyUBjHteQ_E

11:24
6 November 2025
naria

teto song of the day 106 https://youtu.be/Vj9ao9y4YX0

08:47
7 November 2025
naria

teto song of the day 107 https://youtu.be/sDe64wHdQOk

10:50
8 November 2025
naria

teto song of the day 108 https://youtu.be/bV-Q9KtDW84

12:36
9 November 2025
naria

teto song of the day 109 https://youtu.be/oG4-Sa87tFQ

13:55
22:25
10 November 2025
naria

teto song of the day 110 https://youtu.be/ISOjYRxSHBI

18:23
11 November 2025
naria

teto song of the day 111 https://youtu.be/Fhg3KsDkMJM

16:13
13 November 2025
naria

teto song of the day 112 https://youtu.be/KOcReuSy67Y

02:21

teto song of the day 113 https://youtu.be/En0S5tGLhr4

20:27
14 November 2025
naria

teto song of the day 114 https://youtu.be/UIQLrKUgPoE

19:56
15 November 2025
naria

teto song of the day 115 https://youtu.be/69jtB1k0lQE

21:19
16 November 2025
naria

teto song of the day 116 https://youtu.be/DrHYYX9E5JA

21:54
17 November 2025
naria

teto song of the day 117 https://youtu.be/JULQTPds8H8

22:30
18 November 2025
naria

teto song of the day 118 https://youtu.be/mjWqXU6z2vM

21:29
19 November 2025
naria

teto song of the day 119 https://youtu.be/uRjI2ve5v2A

22:45
20 November 2025
naria

teto song of the day 120 https://youtu.be/xumhFodCj0A

22:19
21 November 2025
naria

teto song of the day 121 https://youtu.be/q_mvEsO_yiM

23:43
23 November 2025
naria

teto song of the day 122 https://youtu.be/WXh9MBd3YLU

00:51
24 November 2025
naria

teto song of the day 123 https://youtu.be/hHrvYRics5E

00:18
25 November 2025
naria

teto song of the day 124 https://youtu.be/lFQMMS6cCCU

01:49
26 November 2025
naria

teto song of the day 125 https://youtu.be/SenKPa-iSvw

02:40
27 November 2025
naria

teto song of the day 126 https://youtu.be/l8fi_NywoO8

02:14
28 November 2025
naria

teto song of the day 127 https://youtu.be/b-Fi0XkN5uI

01:28
29 November 2025
naria

teto song of the day 128 https://youtu.be/-eSIEQMduUY

03:27
30 November 2025
naria

teto song of the day 129 https://youtu.be/b5b49Vu-9SM

03:25
1 December 2025
naria

teto song of the day 130 https://youtu.be/pvRvrXoYNc0

04:31
Uim_old_4

december 1

!!!

18:32
2 December 2025
naria

teto song of the day 131 https://youtu.be/aF2Ws_2-meQ

05:42
manners

day 129 is a banger!

12:49
3 December 2025
naria

teto song of the day 132 https://youtu.be/NxXIm8IbeVk

05:03
08:44
4 December 2025
naria

teto song of the day 133 https://youtu.be/sFw1SzdrLMw

06:02
5 December 2025
naria

teto song of the day 134 https://youtu.be/4peROn0bCAQ

04:59
manners

thanks for playlist, you're doing the community a great service 🙏

14:46
naria

🫡

14:51
6 December 2025
pete231

o7

00:16
naria

teto song of the day 135 https://youtu.be/VS5SaZAxH7A

04:45
7 December 2025
naria

teto song of the day 136 https://youtu.be/MFRaF2llgzE

01:03
8 December 2025
naria

teto song of the day 137 https://youtu.be/0_lNYHowLLw

03:25
9 December 2025
naria

teto song of the day 138 https://youtu.be/IqqSkonAR7k

02:45
10 December 2025
naria

teto song of the day 139 https://youtu.be/M40MIxGK3is

06:14
11 December 2025
naria

teto song of the day 140 https://youtu.be/Rj-7bKAsNfk

07:06
12 December 2025
naria

teto song of the day 141 https://youtu.be/Pea-FqG0IbY

07:15
13 December 2025
naria

teto song of the day 142 https://youtu.be/0qQJOwEKuu8

04:17
14 December 2025
naria

teto song of the day 143 https://youtu.be/AkcjeRdY-9Y

09:33
15 December 2025
naria

teto song of the day 144 https://youtu.be/z13hzDHruo8

09:45
16 December 2025
naria

teto song of the day 145 https://youtu.be/riaRzUVHEfU

11:28
17 December 2025
naria

teto song of the day 146 https://youtu.be/A0ih5EaG4yw

04:36

teto song of the day 147 https://youtu.be/QmjXCCW15So

16:15
18 December 2025
naria

teto song of the day 148 https://youtu.be/bvp81ejDlTU

17:15
19 December 2025
naria

teto song of the day 149 https://youtu.be/VkWhbmeeTXs

17:41
20 December 2025
naria

teto song of the day 150 https://youtu.be/I0CBrq1hpIg

17:46
21 December 2025
naria

teto song of the day 151 https://youtu.be/1U6qefKcOrg

21:16
22 December 2025
manners

jamie paige mentioned!!

00:02
naria

teto song of the day 152 https://youtu.be/ETAf16zh_Q4

19:30
23 December 2025
naria

teto song of the day 153 https://youtu.be/YreLAuvJdN0

21:20
24 December 2025
naria

teto song of the day 154 https://youtu.be/3TulscdSlWo

21:19
25 December 2025
naria

teto song of the day 155 https://youtu.be/1tovyFnPX7E

22:09
26 December 2025
naria

teto song of the day 156 https://youtu.be/Dz5rALpx06M

22:39
27 December 2025
naria

teto song of the day 157 https://youtu.be/36h1nhV_klE

23:34
29 December 2025
naria

teto song of the day 158 https://youtu.be/OoDNRyDJW58

00:02
30 December 2025
naria

teto song of the day 159 https://youtu.be/r4JnO-uZ918

00:01
31 December 2025
naria

teto song of the day 160 https://youtu.be/CQBbYjMWorc

00:36
manners

jamie paige mentioned once again

happy new year everyone

i got my first and second 200pp plays yesterday :)

17:23
Imagine Breaker

congrats

happy new year guys!!

17:35
Uim_old_4

happy new year!

21:33
1 January 2026
pete231

yippee!!!

00:03
flo2323

Happy new year teto lovers!

00:11
naria

happy new year!

00:28

teto song of the day 161 https://youtu.be/cF4QpfW_zKg

00:29
2 January 2026
naria

teto song of the day 162 https://youtu.be/OU19WH7A8S8

00:46
3 January 2026
naria

teto song of the day 163 https://youtu.be/yDA8KWj5ef8

01:20
4 January 2026
naria

teto song of the day 164 https://youtu.be/NV_TJLo_KW0

02:08
5 January 2026
naria

teto song of the day 165 https://youtu.be/GS1aAYpG_sg

03:04
6 January 2026
naria

teto song of the day 166 https://youtu.be/3GOpO9uUk5E

05:41
7 January 2026
naria

teto song of the day 167 https://youtu.be/a3CtrLTq-7U

05:17
8 January 2026
naria

teto song of the day 168 https://youtu.be/aDA1B_We5w8

06:18
9 January 2026
naria

teto song of the day 169 https://youtu.be/rdCujGW6Qas

08:54
10 January 2026
naria

teto song of the day 170 https://youtu.be/arX83q0oJhM

07:59
11 January 2026
naria

teto song of the day 171 https://youtu.be/uoYegcqyfxE

09:05
12 January 2026
naria

teto song of the day 172 https://youtu.be/5uTsdOc05-c

13:40
13 January 2026
naria

teto song of the day 173 https://youtu.be/A1AIYGVtG44

14:45
14 January 2026
naria

teto song of the day 174 https://youtu.be/tBZV63um9Is

16:07
15 January 2026
naria

teto song of the day 175 https://youtu.be/WpJqpR-hSNE

16:25
16 January 2026
naria

teto song of the day 176 https://youtu.be/p44etbxZk0M

18:11
17 January 2026
naria

teto song of the day 177 https://youtu.be/-bBvDZvoWjs

19:37
18 January 2026
naria

teto song of the day 178 https://youtu.be/QVjog7bDZrE

19:54
19 January 2026
naria

teto song of the day 179 https://youtu.be/LtVzbvZ9om0

20:45
20 January 2026
SoLivaya

day 179 placed in A rank waitin when sm1 map it

14:18
naria

osu needs more teto

teto song of the day 180 https://youtu.be/K3sD87WZvqI

20:36
21 January 2026
naria

teto song of the day 181 https://youtu.be/XxjbN9VEGXY

22:23
22 January 2026
naria

teto song of the day 182 https://youtu.be/HUjsOxIHARc

21:12
24 January 2026
naria

teto song of the day 183 https://youtu.be/lfs7mBYz9gA

00:46

teto song of the day 184 https://youtu.be/dHo5bqtnJEI

22:18
26 January 2026
naria

teto song of the day 185 https://youtu.be/IxSvgPhdc8c

00:15
27 January 2026
naria

teto song of the day 186 https://youtu.be/PqpCRSOUuIE

00:35
28 January 2026
naria

teto song of the day 187 https://youtu.be/Z3K-PrMXFRc

00:31
29 January 2026
naria

teto song of the day 188 https://youtu.be/IuXu3iqHPt0

01:51
30 January 2026
naria

teto song of the day 189 https://youtu.be/vk13PteZiTY

00:29

teto song of the day 190 https://youtu.be/xpCwtcNNr2o

23:36
1 February 2026
naria

teto song of the day 191 https://youtu.be/A606n6l1Mxw

01:41

teto song of the day 192 https://youtu.be/w44WoaDCFJQ

22:04
2 February 2026
naria

teto song of the day 193 https://youtu.be/OSeSYGiDf9w

22:23
3 February 2026
naria

teto song of the day 194 https://youtu.be/TyF94hsf8Og

22:49
4 February 2026
naria

teto song of the day 195 https://youtu.be/A1daFFLsUhU

23:34
5 February 2026
naria

teto song of the day 196 https://youtu.be/5fECpa2tuzE

23:23
6 February 2026
naria

teto song of the day 197 https://youtu.be/I4ME8iID7Bk

23:21
7 February 2026
naria

teto song of the day 198 https://youtu.be/-TqGiS4E610

23:19
8 February 2026
naria

teto song of the day 199 https://youtu.be/-Bzi0IS_WSU

22:48
9 February 2026
naria

teto song of the day 200 https://youtu.be/yJ1hNjuAKtM

23:33
10 February 2026
manners

day 200🎉🎉

01:35
Uim_old_4

yayyy

21:50

naria strongest person in the world

21:51
naria

🥳

teto song of the day 201 https://youtu.be/-2FCAZLhh-Y

22:53
12 February 2026
naria

teto song of the day 202 https://youtu.be/scd8VvOm_Qc

00:24
13 February 2026
naria

teto song of the day 203 https://youtu.be/Xn-JobZlsQo

00:03
14 February 2026
naria

teto song of the day 204 https://youtu.be/vCEnbvwSGQc

00:16
15 February 2026
naria

teto song of the day 205 https://youtu.be/YcxhmHEykPg

01:13

teto song of the day 206 https://youtu.be/R401j1QAvEg

22:49
17 February 2026
naria

teto song of the day 207 https://youtu.be/JZaFgVQwXmA

02:32
18 February 2026
naria

teto song of the day 208 https://youtu.be/q_MokwclZF8

01:04
19 February 2026
naria

teto song of the day 209 https://youtu.be/ZxTEWHyQRcs

00:36
20 February 2026
naria

teto song of the day 210 https://youtu.be/RscSqhRzWNk

00:36
22 February 2026
naria

teto song of the day 211 https://youtu.be/KjLrOcITegs

04:41
23 February 2026
naria

teto song of the day 212 https://youtu.be/TXmounoL4MU

06:23
24 February 2026
naria

teto song of the day 213 https://youtu.be/SEkmoMGa2qA

02:15
25 February 2026
naria

teto song of the day 214 https://youtu.be/nzMKs_Xh1Co

02:24
MaktheYak

holy its still going

the commitment is insane

04:28
26 February 2026
naria

teto song of the day 215 https://youtu.be/lsIeftIIvMo

02:50
27 February 2026
naria

teto song of the day 216 https://youtu.be/UsjsYMo3O1Q

03:51
28 February 2026
naria

teto song of the day 217 https://youtu.be/-ktXa1X9jho

01:49
SoLivaya

naria, teto bless u

19:52
1 March 2026
naria

teto song of the day 218 https://youtu.be/n1nKVZPd_x4

00:46

teto song of the day 219 https://youtu.be/QzyRrsDuajc

22:32
2 March 2026
naria

teto song of the day 220 https://youtu.be/Dw2sfatB90o

23:15
4 March 2026
naria

teto song of the day 221 https://youtu.be/SsRtQ9pocQg

03:47

teto song of the day 222 https://youtu.be/m_MWbmhW7Vc

22:55
6 March 2026
naria

teto song of the day 223 https://youtu.be/6GEyymRihHI

00:32
7 March 2026
naria

teto song of the day 224 https://youtu.be/N6zwAjyqySA

01:59
8 March 2026
naria

teto song of the day 225 https://youtu.be/97YEaK5uxak

04:31
9 March 2026
naria

teto song of the day 226 https://youtu.be/LsO7S50JNTc

00:49

teto song of the day 227 https://youtu.be/VXA0PEjkIGU

23:32
11 March 2026
naria

teto song of the day 228 https://youtu.be/a-P7uFGhJN0

02:02

teto song of the day 229 https://youtu.be/-mwXL4Lt_f0

22:22
12 March 2026
naria

teto song of the day 230 https://youtu.be/6qYajKd1lgI

23:45
14 March 2026
naria

teto song of the day 231 https://youtu.be/ZVkYW4-o0ao

02:09
15 March 2026
naria

teto song of the day 232 https://youtu.be/CDRJB9Kbhvo

03:03
16 March 2026
naria

teto song of the day 233 https://youtu.be/CgxOQjYBmss

02:38
17 March 2026
naria

teto song of the day 234 https://youtu.be/NIlhW3-C_tc

02:41
18 March 2026
naria

teto song of the day 235 https://youtu.be/cqmHCKDrRCM

02:37
19 March 2026
naria

teto song of the day 236 https://youtu.be/d43Jg6cKuig

02:27
20 March 2026
naria

teto song of the day 237 https://youtu.be/mcjUyl7GTFA

04:16
21 March 2026
naria

teto song of the day 238 https://youtu.be/upLdWOTcv4Y

04:20
22 March 2026
naria

teto song of the day 239 https://youtu.be/C1FnUXjmi6s

06:47
23 March 2026
naria

teto song of the day 240 https://youtu.be/IFxuI5qvpBI

07:16
24 March 2026
naria

teto song of the day 241 https://youtu.be/x3gMpPogRvE

15:04
25 March 2026
naria

teto song of the day 242 https://youtu.be/s-pjUcMV6SY

15:40
26 March 2026
Uim_old_4

stay strong naria

02:41
naria

💪

teto song of the day 243 https://youtu.be/A17IrR1FNtQ

17:12
27 March 2026
naria

teto song of the day 244 https://youtu.be/3e8tdT92KKI

16:31
28 March 2026
naria

teto song of the day 245 https://youtu.be/xAwnI9AraXs

18:47
29 March 2026
naria

teto song of the day 246 https://youtu.be/3hwqgzqa178

19:51
30 March 2026
naria

teto song of the day 247 https://youtu.be/T7t4aFaolSA

19:54
31 March 2026
naria

teto song of the day 248 https://youtu.be/uvxoNlMqilg

Happy Birthday Teto 🥳🥳🥳

20:28
Uim_old_4

HAPPY BIRTHDAY TETO

20:36
manners

happy birthday teto!!

20:39
Imagine Breaker

happy birthday teto!

22:08
1 April 2026
flo2323

happy birthday teto!!

09:14
pete231

🥳

10:14
2 April 2026
naria

teto song of the day 249 https://youtu.be/hrBjKBPNi1c

01:30

teto song of the day 250 https://youtu.be/ilLCnXYzl84

22:39
4 April 2026
naria

teto song of the day 251 https://youtu.be/awZvRkk8hwE

01:24

teto song of the day 252 https://youtu.be/CrfRliqxuYc

22:12
5 April 2026
naria

teto song of the day 253 https://youtu.be/V4elF7---KQ

21:45
7 April 2026
naria

teto song of the day 254 https://youtu.be/mo3mYgFElJQ

07:48
8 April 2026
naria

teto song of the day 255 https://youtu.be/AkGSGwRHV_0

05:27

teto song of the day 256 https://youtu.be/04DkRYxo3gE

22:12
9 April 2026
naria

teto song of the day 257 https://youtu.be/sBnTfLWNJck

22:59
10 April 2026
naria

teto song of the day 258 https://youtu.be/egHUgS6T-Yg

23:35
12 April 2026
naria

teto song of the day 259 https://youtu.be/csnaIVrVRQk

06:02
13 April 2026
naria

teto song of the day 260 https://youtu.be/-aAwyllZUrk

00:51
14 April 2026
naria

teto song of the day 261 https://youtu.be/LxVv4QneUuU

02:51

teto song of the day 262 https://youtu.be/ZSC93Rji0vE

23:36
16 April 2026
naria

teto song of the day 263 https://youtu.be/wJoPYIHUmUU

05:05
17 April 2026
naria

teto song of the day 264 https://youtu.be/F4sZdL2FrTU

10:20
18 April 2026
naria

teto song of the day 265 https://youtu.be/lv1M-a8baCQ

01:58
19 April 2026
naria

teto song of the day 266 https://youtu.be/G3AmvjKvEbQ

11:39
20 April 2026
naria

teto song of the day 267 https://youtu.be/tjL4KK2RWgQ

15:20
21 April 2026
naria

teto song of the day 268 https://youtu.be/0EnAPvoIoXM

03:29
22 April 2026
naria

teto song of the day 269 https://youtu.be/n87PL8pwMfw

00:07
23 April 2026
naria

teto song of the day 270 https://youtu.be/_vV0w9-zBnc

01:53
24 April 2026
naria

teto song of the day 271 https://youtu.be/eQsg69cWaac

01:01
25 April 2026
naria

teto song of the day 272 https://youtu.be/0X8_GV352Jk

03:39
26 April 2026
naria

teto song of the day 273 https://youtu.be/1EevjGF2nuU

04:18
27 April 2026
naria

teto song of the day 274 https://youtu.be/7sCShDOphHI

05:29
28 April 2026
naria

teto song of the day 275 https://youtu.be/KppmzNyIEh4

03:19
29 April 2026
naria

teto song of the day 276 https://youtu.be/eN8v1mDWwYM

04:02
30 April 2026
naria

teto song of the day 277 https://youtu.be/5hCYtcAsChU

03:25
1 May 2026
naria

teto song of the day 278 https://youtu.be/XfwhVfaTikE

03:18
2 May 2026
naria

teto song of the day 279 https://youtu.be/nNNuCmPF98g

08:11
3 May 2026
naria

teto song of the day 280 https://youtu.be/jLNOhPRCpT8

04:03
4 May 2026
naria

teto song of the day 281 https://youtu.be/YSBZFVSvqL0

04:03
Uim_old_4

KEEP GOINGGG

16:40
5 May 2026
naria

teto song of the day 282 https://youtu.be/6fcTlkzpf7o

06:05
6 May 2026
naria

teto song of the day 283 https://youtu.be/sPLvt4nPuwo

05:56
7 May 2026
bandabuice

same thing tommorrow?

15:38
8 May 2026
naria

teto song of the day 284 https://youtu.be/G3eFI29xvJQ

02:53

teto song of the day 285 https://youtu.be/1zpRpiau-Zg

18:12
10 May 2026
naria

teto song of the day 286 https://youtu.be/Ch5uw25xx10

10:51
11 May 2026
naria

teto song of the day 287 https://youtu.be/hbGFPAF9-_Q

10:56
12 May 2026
naria

teto song of the day 288 https://youtu.be/foHVL5Sa79Q

11:41
13 May 2026
naria

teto song of the day 289 https://youtu.be/_p6MmJ-eZKg

13:38
14 May 2026
naria

teto song of the day 290 https://youtu.be/a5rmeuxzckU

14:47
15 May 2026
naria

teto song of the day 291 https://youtu.be/qiWBI_m8QvU

16:25
16 May 2026
naria

teto song of the day 292 https://youtu.be/gMYfc1Gk5oU

19:01
17 May 2026
naria

teto song of the day 293 https://youtu.be/j2CC_4aOjfU

20:19
18 May 2026
naria

teto song of the day 294 https://youtu.be/_8e3RNFH33w

22:29
19 May 2026
naria

teto song of the day 295 https://youtu.be/_oWnDC_ydMY

23:04
20 May 2026
naria

teto song of the day 296 https://youtu.be/oyOsks6pEBk

23:54
22 May 2026
naria

teto song of the day 297 https://youtu.be/ba7YbGO2aq4

00:15
23 May 2026
naria

teto song of the day 298 https://youtu.be/-G5yfooGBS4

00:18
24 May 2026
naria

teto song of the day 299 https://youtu.be/_ZyDkp9LfuU

00:33

teto song of the day 300 https://youtu.be/yZkPe7TEuyk

22:21
manners

300!! 🎉🎉🎉

nearly a year of Teto

22:30
25 May 2026
pete231

🎉🎉🎉

09:50
naria

🥳

12:46

teto song of the day 301 https://youtu.be/rqG7tQeW06o

23:37
26 May 2026
naria

teto song of the day 302 https://youtu.be/T24rF_x0TmQ

23:37
28 May 2026
naria

teto song of the day 303 https://youtu.be/EKF7prCwFZ4

18:42
30 May 2026
naria

teto song of the day 304 https://youtu.be/OlvLa43oMIE

05:56
1 June 2026
naria

teto song of the day 305 https://youtu.be/SpEwrd8PV3c

01:17
2 June 2026
naria

teto song of the day 306 https://youtu.be/gcn19MYiKC4

09:43
Uim_old_4

almost a year

11:38
3 June 2026
naria

teto song of the day 307 https://youtu.be/XKZIQlqVjjk

02:20
4 June 2026
naria

teto song of the day 308 https://youtu.be/YWhhJpB-uTA

04:24
5 June 2026
naria

teto song of the day 309 https://youtu.be/1xEfMnXyGkA

02:17
6 June 2026
naria

teto song of the day 310 https://youtu.be/2HRW4aNgx6U

02:11
7 June 2026
naria

teto song of the day 311 https://youtu.be/5lK9z88taP8

02:48
9 June 2026
naria

teto song of the day 312 https://youtu.be/RmyIX28sGAI

02:53
10 June 2026
naria

teto song of the day 313 https://youtu.be/ENq3maK7kDA

02:59
manners

sounds like a halloween song

kind of a banger

17:36
11 June 2026
naria

teto song of the day 314 https://youtu.be/f8HHPph7LMU

08:19
12 June 2026
naria

teto song of the day 315 https://youtu.be/wI3nPWGj5xY

03:04
13 June 2026
naria

teto song of the day 316 https://youtu.be/vx8MTnsQdDY

03:05
14 June 2026
naria

teto song of the day 317 https://youtu.be/QQpKpQSriSQ

04:02
manners

toro is number 1!!

07:50

welcome to the newer era

until rework

07:57
naria

cellar of ghosts moment

13:19
pete231

yea crazy, and ivaxa got a 2k too, so much is happening in osu today lol

19:39
15 June 2026
naria

teto song of the day 318 https://youtu.be/_jDwAXx2AV4

03:56
16 June 2026
naria

teto song of the day 319 https://youtu.be/_IFFmF8wE20

03:01
manners

i've trained my algorithm well

all these are already in my playlist

17:27
+
+ + + + + + +
+
+ + + + + + +
+
+
+ +
+
+
/
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+

banger

+
+
+ + + + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git "a/teto/(42) teto bread \302\267 chat _ osu!_files/11b45cb1d156fe1945b477aa77335ba9facf82c652332dd36f69e31_LWMq.png" "b/teto/(42) teto bread \302\267 chat _ osu!_files/11b45cb1d156fe1945b477aa77335ba9facf82c652332dd36f69e31_LWMq.png" new file mode 100644 index 0000000..1c519da Binary files /dev/null and "b/teto/(42) teto bread \302\267 chat _ osu!_files/11b45cb1d156fe1945b477aa77335ba9facf82c652332dd36f69e31_LWMq.png" differ diff --git "a/teto/(42) teto bread \302\267 chat _ osu!_files/12862514_LWMq.png" "b/teto/(42) teto bread \302\267 chat _ osu!_files/12862514_LWMq.png" new file mode 100644 index 0000000..09b0693 Binary files /dev/null and "b/teto/(42) teto bread \302\267 chat _ osu!_files/12862514_LWMq.png" differ diff --git "a/teto/(42) teto bread \302\267 chat _ osu!_files/app.0808274b_LWMq.css" "b/teto/(42) teto bread \302\267 chat _ osu!_files/app.0808274b_LWMq.css" new file mode 100644 index 0000000..d62b022 --- /dev/null +++ "b/teto/(42) teto bread \302\267 chat _ osu!_files/app.0808274b_LWMq.css" @@ -0,0 +1,89 @@ +@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:100;src:url(/assets/fonts/Inter-Thin.fff2a096.woff2) format("woff2"),url(/assets/fonts/Inter-Thin.29b9c616.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:italic;font-weight:100;src:url(/assets/fonts/Inter-ThinItalic.bf213704.woff2) format("woff2"),url(/assets/fonts/Inter-ThinItalic.bae95eb2.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:200;src:url(/assets/fonts/Inter-ExtraLight.72505e6a.woff2) format("woff2"),url(/assets/fonts/Inter-ExtraLight.c4248615.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:italic;font-weight:200;src:url(/assets/fonts/Inter-ExtraLightItalic.5c7d7d6d.woff2) format("woff2"),url(/assets/fonts/Inter-ExtraLightItalic.170dddfc.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:300;src:url(/assets/fonts/Inter-Light.2d519882.woff2) format("woff2"),url(/assets/fonts/Inter-Light.994e3445.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:italic;font-weight:300;src:url(/assets/fonts/Inter-LightItalic.f8695226.woff2) format("woff2"),url(/assets/fonts/Inter-LightItalic.ef9f65d9.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(/assets/fonts/Inter-Regular.c8ba52b0.woff2) format("woff2"),url(/assets/fonts/Inter-Regular.8c206db9.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:italic;font-weight:400;src:url(/assets/fonts/Inter-Italic.cb10ffd7.woff2) format("woff2"),url(/assets/fonts/Inter-Italic.890025e7.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:500;src:url(/assets/fonts/Inter-Medium.293fd13d.woff2) format("woff2"),url(/assets/fonts/Inter-Medium.9053572c.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:italic;font-weight:500;src:url(/assets/fonts/Inter-MediumItalic.085cb93e.woff2) format("woff2"),url(/assets/fonts/Inter-MediumItalic.3d0107dd.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(/assets/fonts/Inter-SemiBold.b5f0f109.woff2) format("woff2"),url(/assets/fonts/Inter-SemiBold.cca62d21.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:italic;font-weight:600;src:url(/assets/fonts/Inter-SemiBoldItalic.d9467ee3.woff2) format("woff2"),url(/assets/fonts/Inter-SemiBoldItalic.463bdbfb.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:700;src:url(/assets/fonts/Inter-Bold.ec64ea57.woff2) format("woff2"),url(/assets/fonts/Inter-Bold.93c1301b.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:italic;font-weight:700;src:url(/assets/fonts/Inter-BoldItalic.2d26c56a.woff2) format("woff2"),url(/assets/fonts/Inter-BoldItalic.b3768850.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:800;src:url(/assets/fonts/Inter-ExtraBold.cbe0ae49.woff2) format("woff2"),url(/assets/fonts/Inter-ExtraBold.d0fa3bb2.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:italic;font-weight:800;src:url(/assets/fonts/Inter-ExtraBoldItalic.535a6cf6.woff2) format("woff2"),url(/assets/fonts/Inter-ExtraBoldItalic.6ab17abe.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:900;src:url(/assets/fonts/Inter-Black.15ca31c0.woff2) format("woff2"),url(/assets/fonts/Inter-Black.c6938660.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:italic;font-weight:900;src:url(/assets/fonts/Inter-BlackItalic.cb2a7335.woff2) format("woff2"),url(/assets/fonts/Inter-BlackItalic.ca1e738e.woff) format("woff")}@font-face{font-family:Inter var;font-style:normal;font-weight:100 900;font-named-instance:"Regular";font-display:swap;src:url(/assets/fonts/Inter-roman.var.ba4caefc.woff2) format("woff2 supports variations(gvar)"),url(/assets/fonts/Inter-roman.var.ba4caefc.woff2) format("woff2-variations"),url(/assets/fonts/Inter-roman.var.ba4caefc.woff2) format("woff2")}@font-face{font-family:Inter var;font-style:italic;font-weight:100 900;font-named-instance:"Italic";font-display:swap;src:url(/assets/fonts/Inter-italic.var.30807be7.woff2) format("woff2 supports variations(gvar)"),url(/assets/fonts/Inter-italic.var.30807be7.woff2) format("woff2-variations"),url(/assets/fonts/Inter-italic.var.30807be7.woff2) format("woff2")}@font-face{font-display:swap;font-family:Inter var experimental;font-style:oblique 0deg 10deg;font-weight:100 900;src:url(/assets/fonts/Inter.var.c2fe3cb2.woff2) format("woff2-variations"),url(/assets/fonts/Inter.var.c2fe3cb2.woff2) format("woff2")}.qtip{box-shadow:none;direction:ltr;display:none;font-size:10.5px;left:-28000px;line-height:12px;max-width:280px;min-width:50px;padding:0;position:absolute;top:-28000px}.qtip-content{padding:5px 9px;text-align:left;word-wrap:break-word}.qtip-content,.qtip-titlebar{overflow:hidden;position:relative}.qtip-titlebar{border-width:0 0 1px;font-weight:700;padding:5px 35px 5px 10px}.qtip-titlebar+.qtip-content{border-top-width:0!important}.qtip-close{border:1px solid transparent;cursor:pointer;outline:medium none;position:absolute;right:-9px;top:-9px;z-index:11}.qtip-titlebar .qtip-close{margin-top:-9px;right:4px;top:50%}* html .qtip-titlebar .qtip-close{top:16px}.qtip-icon .ui-icon,.qtip-titlebar .ui-icon{direction:ltr;display:block;text-indent:-1000em}.qtip-icon,.qtip-icon .ui-icon{border-radius:3px;text-decoration:none}.qtip-icon .ui-icon{background:transparent none no-repeat -100em -100em;color:inherit;height:14px;line-height:14px;font:normal 700 10px/13px Tahoma,sans-serif;text-align:center;text-indent:0;width:18px}.qtip-default{background-color:#ffffa3;border:1px solid #f1d031;color:#555}.qtip-default .qtip-titlebar{background-color:#ffef93}.qtip-default .qtip-icon{background:#f1f1f1;border-color:#ccc;color:#777}.qtip-default .qtip-titlebar .qtip-close{border-color:#aaa;color:#111} + + +/*! Light tooltip style */.qtip-light{background-color:#fff;border-color:#e2e2e2;color:#454545}.qtip-light .qtip-titlebar{background-color:#f1f1f1} + + +/*! Dark tooltip style */.qtip-dark{background-color:#505050;border-color:#303030;color:#f3f3f3}.qtip-dark .qtip-titlebar{background-color:#404040}.qtip-dark .qtip-icon{border-color:#444}.qtip-dark .qtip-titlebar .ui-state-hover{border-color:#303030} + + +/*! Cream tooltip style */.qtip-cream{background-color:#fbf7aa;border-color:#f9e98e;color:#a27d35}.qtip-cream .qtip-titlebar{background-color:#f0de7d}.qtip-cream .qtip-close .qtip-icon{background-position:-82px 0} + + +/*! Red tooltip style */.qtip-red{background-color:#f78b83;border-color:#d95252;color:#912323}.qtip-red .qtip-titlebar{background-color:#f06d65}.qtip-red .qtip-close .qtip-icon{background-position:-102px 0}.qtip-red .qtip-icon,.qtip-red .qtip-titlebar .ui-state-hover{border-color:#d95252} + + +/*! Green tooltip style */.qtip-green{background-color:#caed9e;border-color:#90d93f;color:#3f6219}.qtip-green .qtip-titlebar{background-color:#b0de78}.qtip-green .qtip-close .qtip-icon{background-position:-42px 0} + + +/*! Blue tooltip style */.qtip-blue{background-color:#e5f6fe;border-color:#add9ed;color:#5e99bd}.qtip-blue .qtip-titlebar{background-color:#d0e9f5}.qtip-blue .qtip-close .qtip-icon{background-position:-2px 0}.qtip-shadow{box-shadow:1px 1px 3px 1px rgba(0,0,0,.15)}.qtip-bootstrap,.qtip-rounded,.qtip-tipsy{border-radius:5px}.qtip-rounded .qtip-titlebar{border-radius:4px 4px 0 0}.qtip-youtube{background:#4a4a4a;background-image:-o-linear-gradient(top,#4a4a4a 0,#000 100%);border:0 solid transparent;border-radius:2px;box-shadow:0 0 3px #333;color:#fff}.qtip-youtube .qtip-titlebar{background-color:#4a4a4a;background-color:transparent}.qtip-youtube .qtip-content{filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);-ms-filter:"progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4a4a4a,EndColorStr=#000000);";font:12px arial,sans-serif;padding:.75em}.qtip-youtube .qtip-icon{border-color:#222}.qtip-youtube .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-jtools{background:#232323;background:rgba(0,0,0,.7);background-image:-o-linear-gradient(top,#717171,#232323);border:2px solid #f1f1f1;border-radius:2px;box-shadow:0 0 12px #333}.qtip-jtools .qtip-titlebar{background-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#717171,endColorstr=#4A4A4A)"}.qtip-jtools .qtip-content{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#4A4A4A,endColorstr=#232323)"}.qtip-jtools .qtip-content,.qtip-jtools .qtip-titlebar{background:transparent;border:0 dashed transparent;color:#fff}.qtip-jtools .qtip-icon{border-color:#555}.qtip-jtools .qtip-titlebar .ui-state-hover{border-color:#333}.qtip-cluetip{background-color:#d9d9c2;border:0 dashed transparent;box-shadow:4px 4px 5px rgba(0,0,0,.4);color:#111}.qtip-cluetip .qtip-titlebar{background-color:#87876a;border:0 dashed transparent;color:#fff}.qtip-cluetip .qtip-icon{border-color:#808064}.qtip-cluetip .qtip-titlebar .ui-state-hover{border-color:#696952;color:#696952}.qtip-tipsy{background:#000;background:rgba(0,0,0,.87);border:0 solid transparent;color:#fff;font-family:Lucida Grande,sans-serif;font-size:11px;font-weight:700;line-height:16px;text-shadow:0 1px #000}.qtip-tipsy .qtip-titlebar{background-color:transparent;padding:6px 35px 0 10px}.qtip-tipsy .qtip-content{padding:6px 10px}.qtip-tipsy .qtip-icon{border-color:#222;text-shadow:none}.qtip-tipsy .qtip-titlebar .ui-state-hover{border-color:#303030}.qtip-tipped{background-color:#f9f9f9;border:3px solid #959fa9;border-radius:3px;color:#454545;font-family:serif;font-weight:400}.qtip-tipped .qtip-titlebar{background:#3a79b8;background-image:-o-linear-gradient(top,#3a79b8,#2e629d);border-bottom-width:0;color:#fff;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D);-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr=#3A79B8,endColorstr=#2E629D)"}.qtip-tipped .qtip-icon{background:#285589;border:2px solid #285589}.qtip-tipped .qtip-icon .ui-icon{background-color:#fbfbfb;color:#555}.qtip-bootstrap{-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 5px 10px rgba(0,0,0,.2);color:#333;font-size:14px;line-height:20px;padding:1px}.qtip-bootstrap .qtip-titlebar{background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0;font-size:14px;font-weight:400;line-height:18px;margin:0;padding:8px 14px}.qtip-bootstrap .qtip-titlebar .qtip-close{border-style:none;right:11px;top:45%}.qtip-bootstrap .qtip-content{padding:9px 14px}.qtip-bootstrap .qtip-icon{background:transparent}.qtip-bootstrap .qtip-icon .ui-icon{color:#000;filter:alpha(opacity=20);float:right;font-size:20px;font-weight:700;height:auto;line-height:18px;opacity:.2;text-shadow:0 1px 0 #fff;width:auto}.qtip-bootstrap .qtip-icon .ui-icon:hover{color:#000;cursor:pointer;filter:alpha(opacity=40);opacity:.4;text-decoration:none}.qtip:not(.ie9haxors) div.qtip-content,.qtip:not(.ie9haxors) div.qtip-titlebar{filter:none;-ms-filter:none}.qtip .qtip-tip{margin:0 auto;overflow:hidden;z-index:10}.qtip .qtip-tip,x:-o-prefocus{visibility:hidden}.qtip .qtip-tip,.qtip .qtip-tip .qtip-vml,.qtip .qtip-tip canvas{background:transparent;border:0 dashed transparent;color:#123456;position:absolute}.qtip .qtip-tip canvas{left:0;top:0}.qtip .qtip-tip .qtip-vml{behavior:url(#default#VML);display:inline-block;visibility:visible}#qtip-overlay{height:100%;left:0;position:fixed;top:0;width:100%}#qtip-overlay.blurs{cursor:pointer}#qtip-overlay div{background-color:#000;filter:alpha(opacity=70);-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";height:100%;left:0;opacity:.7;position:absolute;top:0;width:100%}.qtipmodal-ie6fix{position:absolute!important} + +/*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */.pswp{display:none;height:100%;left:0;overflow:hidden;position:absolute;top:0;touch-action:none;width:100%;z-index:1500;-webkit-text-size-adjust:100%;-webkit-backface-visibility:hidden;outline:none}.pswp *{box-sizing:border-box}.pswp img{max-width:none}.pswp--animate_opacity{opacity:.001;transition:opacity 333ms cubic-bezier(.4,0,.22,1);will-change:opacity}.pswp--open{display:block}.pswp--zoom-allowed .pswp__img{cursor:-webkit-zoom-in;cursor:-moz-zoom-in;cursor:zoom-in}.pswp--zoomed-in .pswp__img{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.pswp--dragging .pswp__img{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.pswp__bg{-webkit-backface-visibility:hidden;background:#000;opacity:0;transform:translateZ(0)}.pswp__bg,.pswp__scroll-wrap{height:100%;left:0;position:absolute;top:0;width:100%}.pswp__scroll-wrap{overflow:hidden}.pswp__container,.pswp__zoom-wrap{bottom:0;left:0;position:absolute;right:0;top:0;touch-action:none}.pswp__container,.pswp__img{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.pswp__zoom-wrap{position:absolute;transform-origin:left top;transition:transform 333ms cubic-bezier(.4,0,.22,1);width:100%}.pswp__bg{transition:opacity 333ms cubic-bezier(.4,0,.22,1);will-change:opacity}.pswp--animated-in .pswp__bg,.pswp--animated-in .pswp__zoom-wrap{transition:none}.pswp__container,.pswp__zoom-wrap{-webkit-backface-visibility:hidden}.pswp__item{bottom:0;overflow:hidden;right:0}.pswp__img,.pswp__item{left:0;position:absolute;top:0}.pswp__img{height:auto;width:auto}.pswp__img--placeholder{-webkit-backface-visibility:hidden}.pswp__img--placeholder--blank{background:#222}.pswp--ie .pswp__img{height:auto!important;left:0;top:0;width:100%!important}.pswp__error-msg{color:#ccc;font-size:14px;left:0;line-height:16px;margin-top:-8px;position:absolute;text-align:center;top:50%;width:100%}.pswp__error-msg a{color:#ccc;text-decoration:underline} + +/*! PhotoSwipe Default UI CSS by Dmitry Semenov | photoswipe.com | MIT license */.pswp__button{-webkit-appearance:none;background:none;border:0;box-shadow:none;cursor:pointer;display:block;float:right;height:44px;margin:0;overflow:visible;padding:0;position:relative;transition:opacity .2s;width:44px}.pswp__button:focus,.pswp__button:hover{opacity:1}.pswp__button:active{opacity:.9;outline:none}.pswp__button::-moz-focus-inner{border:0;padding:0}.pswp__ui--over-close .pswp__button--close{opacity:1}.pswp__button,.pswp__button--arrow--left:before,.pswp__button--arrow--right:before{background:url(/assets/images/default-skin.0ff4d621.png) 0 0 no-repeat;background-size:264px 88px;height:44px;width:44px}@media (min-resolution:1.1dppx),(min-resolution:105dpi){.pswp--svg .pswp__button,.pswp--svg .pswp__button--arrow--left:before,.pswp--svg .pswp__button--arrow--right:before{background-image:url(/assets/images/default-skin.f64c3af3.svg)}.pswp--svg .pswp__button--arrow--left,.pswp--svg .pswp__button--arrow--right{background:none}}.pswp__button--close{background-position:0 -44px}.pswp__button--share{background-position:-44px -44px}.pswp__button--fs{display:none}.pswp--supports-fs .pswp__button--fs{display:block}.pswp--fs .pswp__button--fs{background-position:-44px 0}.pswp__button--zoom{background-position:-88px 0;display:none}.pswp--zoom-allowed .pswp__button--zoom{display:block}.pswp--zoomed-in .pswp__button--zoom{background-position:-132px 0}.pswp--touch .pswp__button--arrow--left,.pswp--touch .pswp__button--arrow--right{visibility:hidden}.pswp__button--arrow--left,.pswp__button--arrow--right{background:none;height:100px;margin-top:-50px;position:absolute;top:50%;width:70px}.pswp__button--arrow--left{left:0}.pswp__button--arrow--right{right:0}.pswp__button--arrow--left:before,.pswp__button--arrow--right:before{background-color:rgba(0,0,0,.3);content:"";height:30px;position:absolute;top:35px;width:32px}.pswp__button--arrow--left:before{background-position:-138px -44px;left:6px}.pswp__button--arrow--right:before{background-position:-94px -44px;right:6px}.pswp__counter,.pswp__share-modal{-webkit-user-select:none;-moz-user-select:none;user-select:none}.pswp__share-modal{-webkit-backface-visibility:hidden;background:rgba(0,0,0,.5);display:block;height:100%;left:0;opacity:0;padding:10px;position:absolute;top:0;transition:opacity .25s ease-out;width:100%;will-change:opacity;z-index:1600}.pswp__share-modal--hidden{display:none}.pswp__share-tooltip{-webkit-backface-visibility:hidden;background:#fff;border-radius:2px;box-shadow:0 2px 5px rgba(0,0,0,.25);display:block;position:absolute;right:44px;top:56px;transform:translateY(6px);transition:transform .25s;width:auto;will-change:transform;z-index:1620}.pswp__share-tooltip a{display:block;font-size:14px;line-height:18px;padding:8px 12px}.pswp__share-tooltip a,.pswp__share-tooltip a:hover{color:#000;text-decoration:none}.pswp__share-tooltip a:first-child{border-radius:2px 2px 0 0}.pswp__share-tooltip a:last-child{border-radius:0 0 2px 2px}.pswp__share-modal--fade-in{opacity:1}.pswp__share-modal--fade-in .pswp__share-tooltip{transform:translateY(0)}.pswp--touch .pswp__share-tooltip a{padding:16px 12px}a.pswp__share--facebook:before{border:6px solid transparent;border-bottom-color:#fff;content:"";display:block;height:0;-webkit-pointer-events:none;-moz-pointer-events:none;pointer-events:none;position:absolute;right:15px;top:-12px;width:0}a.pswp__share--facebook:hover{background:#3e5c9a;color:#fff}a.pswp__share--facebook:hover:before{border-bottom-color:#3e5c9a}a.pswp__share--twitter:hover{background:#55acee;color:#fff}a.pswp__share--pinterest:hover{background:#ccc;color:#ce272d}a.pswp__share--download:hover{background:#ddd}.pswp__counter{color:#fff;font-size:13px;height:44px;left:0;line-height:44px;opacity:.75;padding:0 10px;position:absolute;top:0}.pswp__caption{bottom:0;left:0;min-height:44px;position:absolute;width:100%}.pswp__caption small{color:#bbb;font-size:11px}.pswp__caption__center{color:#ccc;font-size:13px;line-height:20px;margin:0 auto;max-width:420px;padding:10px;text-align:left}.pswp__caption--empty{display:none}.pswp__caption--fake{visibility:hidden}.pswp__preloader{direction:ltr;height:44px;left:50%;margin-left:-22px;opacity:0;position:absolute;top:0;transition:opacity .25s ease-out;width:44px;will-change:opacity}.pswp__preloader__icn{height:20px;margin:12px;width:20px}.pswp__preloader--active{opacity:1}.pswp__preloader--active .pswp__preloader__icn{background:url(/assets/images/preloader.14d740b6.gif) 0 0 no-repeat}.pswp--css_animation .pswp__preloader--active{opacity:1}.pswp--css_animation .pswp__preloader--active .pswp__preloader__icn{animation:clockwise .5s linear infinite}.pswp--css_animation .pswp__preloader--active .pswp__preloader__donut{animation:donut-rotate 1s cubic-bezier(.4,0,.22,1) infinite}.pswp--css_animation .pswp__preloader__icn{background:none;height:14px;left:15px;margin:0;opacity:.75;position:absolute;top:15px;width:14px}.pswp--css_animation .pswp__preloader__cut{height:14px;overflow:hidden;position:relative;width:7px}.pswp--css_animation .pswp__preloader__donut{background:none;border-color:#fff #fff transparent transparent;border-radius:50%;border-style:solid;border-width:2px;box-sizing:border-box;height:14px;left:0;margin:0;position:absolute;top:0;width:14px}@media screen and (max-width:1024px){.pswp__preloader{float:right;left:auto;margin:0;position:relative;top:auto}}@keyframes clockwise{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes donut-rotate{0%{transform:rotate(0)}50%{transform:rotate(-140deg)}to{transform:rotate(0)}}.pswp__ui{-webkit-font-smoothing:auto;opacity:1;visibility:visible;z-index:1550}.pswp__top-bar{height:44px;left:0;position:absolute;top:0;width:100%}.pswp--has_mouse .pswp__button--arrow--left,.pswp--has_mouse .pswp__button--arrow--right,.pswp__caption,.pswp__top-bar{-webkit-backface-visibility:hidden;transition:opacity 333ms cubic-bezier(.4,0,.22,1);will-change:opacity}.pswp--has_mouse .pswp__button--arrow--left,.pswp--has_mouse .pswp__button--arrow--right{visibility:visible}.pswp__caption,.pswp__top-bar{background-color:rgba(0,0,0,.5)}.pswp__ui--fit .pswp__caption,.pswp__ui--fit .pswp__top-bar{background-color:rgba(0,0,0,.3)}.pswp__ui--idle .pswp__button--arrow--left,.pswp__ui--idle .pswp__button--arrow--right,.pswp__ui--idle .pswp__top-bar{opacity:0}.pswp__ui--hidden .pswp__button--arrow--left,.pswp__ui--hidden .pswp__button--arrow--right,.pswp__ui--hidden .pswp__caption,.pswp__ui--hidden .pswp__top-bar{opacity:.001}.pswp__ui--one-slide .pswp__button--arrow--left,.pswp__ui--one-slide .pswp__button--arrow--right,.pswp__ui--one-slide .pswp__counter{display:none}.pswp__element--disabled{display:none!important}.pswp--minimal--dark .pswp__top-bar{background:none} + +/*! + * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;line-height:inherit;position:absolute;text-align:center;width:2em}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s linear infinite}.fa-pulse{animation:fa-spin 1s steps(8) infinite}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hive:before{content:"\e07f"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-innosoft:before{content:"\e080"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-perbyte:before{content:"\e083"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-uncharted:before{content:"\e084"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-watchman-monitoring:before{content:"\e087"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"} +/*! + * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */@font-face{font-display:block;font-family:Font Awesome\ 5 Free;font-style:normal;font-weight:900;src:url(/assets/fonts/fa-solid-900.9bbb245e.eot);src:url(/assets/fonts/fa-solid-900.9bbb245e.eot?#iefix) format("embedded-opentype"),url(/assets/fonts/fa-solid-900.1551f4f6.woff2) format("woff2"),url(/assets/fonts/fa-solid-900.eeccf4f6.woff) format("woff"),url(/assets/fonts/fa-solid-900.be9ee23c.ttf) format("truetype"),url(/assets/fonts/fa-solid-900.7a8b4f13.svg#fontawesome) format("svg")}.fa,.fas{font-weight:900} +/*! + * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */@font-face{font-display:block;font-family:Font Awesome\ 5 Free;font-style:normal;font-weight:400;src:url(/assets/fonts/fa-regular-400.77206a6b.eot);src:url(/assets/fonts/fa-regular-400.77206a6b.eot?#iefix) format("embedded-opentype"),url(/assets/fonts/fa-regular-400.7a333762.woff2) format("woff2"),url(/assets/fonts/fa-regular-400.bb58e57c.woff) format("woff"),url(/assets/fonts/fa-regular-400.491974d1.ttf) format("truetype"),url(/assets/fonts/fa-regular-400.4689f52c.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:Font Awesome\ 5 Free} +/*! + * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */@font-face{font-display:block;font-family:Font Awesome\ 5 Brands;font-style:normal;font-weight:400;src:url(/assets/fonts/fa-brands-400.23f19bb0.eot);src:url(/assets/fonts/fa-brands-400.23f19bb0.eot?#iefix) format("embedded-opentype"),url(/assets/fonts/fa-brands-400.d878b0a6.woff2) format("woff2"),url(/assets/fonts/fa-brands-400.2285773e.woff) format("woff"),url(/assets/fonts/fa-brands-400.527940b1.ttf) format("truetype"),url(/assets/fonts/fa-brands-400.2f517e09.svg#fontawesome) format("svg")}.fab,.far{font-weight:400}.fab{font-family:Font Awesome\ 5 Brands} +/*! + * Bootstrap v3.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0} +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{background:transparent!important;box-shadow:none!important;color:#000!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:Glyphicons Halflings;src:url(/assets/fonts/glyphicons-halflings-regular.5be1347c.eot);src:url(/assets/fonts/glyphicons-halflings-regular.5be1347c.eot?#iefix) format("embedded-opentype"),url(/assets/fonts/glyphicons-halflings-regular.be810be3.woff2) format("woff2"),url(/assets/fonts/glyphicons-halflings-regular.82b1212e.woff) format("woff"),url(/assets/fonts/glyphicons-halflings-regular.4692b9ec.ttf) format("truetype"),url(/assets/fonts/glyphicons-halflings-regular.060b2710.svg#glyphicons_halflingsregular) format("svg")}.glyphicon{display:inline-block;font-family:Glyphicons Halflings;font-style:normal;font-weight:400;line-height:1;position:relative;top:1px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before,.glyphicon-btc:before,.glyphicon-xbt:before{content:"\e227"}.glyphicon-jpy:before,.glyphicon-yen:before{content:"\00a5"}.glyphicon-rub:before,.glyphicon-ruble:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*,:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{background-color:#fff;color:#fff;font-family:Torus,Inter,Helvetica Neue,Tahoma,Arial,Hiragino Kaku Gothic ProN,Meiryo,Microsoft YaHei,Apple SD Gothic Neo,sans-serif;font-size:16px;line-height:1.25}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#29b}a:focus,a:hover{color:#6cf;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;height:auto;max-width:100%}.img-rounded{border-radius:6px}.img-thumbnail{background-color:#fff;border:1px solid #ddd;border-radius:4px;display:inline-block;height:auto;line-height:1.25;max-width:100%;padding:4px;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{border:0;border-top:1px solid #eee;margin-bottom:20px;margin-top:20px}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{height:auto;margin:0;overflow:visible;position:static;width:auto;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{color:#cc5288;font-family:inherit;font-weight:500;line-height:1.1}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{color:#777;font-weight:400;line-height:1}.h1,.h2,.h3,h1,h2,h3{margin-bottom:10px;margin-top:20px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-bottom:10px;margin-top:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:41px}.h2,h2{font-size:34px}.h3,h3{font-size:28px}.h4,h4{font-size:20px}.h5,h5{font-size:16px}.h6,h6{font-size:14px}p{margin:0 0 10px}.lead{font-size:18px;font-weight:300;line-height:1.4;margin-bottom:20px}@media (min-width:900px){.lead{font-size:24px}}.small,small{font-size:87%}.mark,mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#f6a}a.text-primary:focus,a.text-primary:hover{color:#ff338e}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{background-color:#f6a;color:#fff}a.bg-primary:focus,a.bg-primary:hover{background-color:#ff338e}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{border-bottom:1px solid #eee;margin:40px 0 20px;padding-bottom:9px}ol,ul{margin-bottom:10px;margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-inline,.list-unstyled{list-style:none;padding-left:0}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-bottom:20px;margin-top:0}dd,dt{line-height:1.25}dt{font-weight:700}dd{margin-left:0}@media (min-width:900px){.dl-horizontal dt{clear:left;float:left;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap;width:160px}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help}.initialism{font-size:90%;text-transform:uppercase}blockquote{border-left:5px solid #eee;font-size:20px;margin:0 0 20px;padding:10px 20px}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{color:#777;display:block;font-size:80%;line-height:1.25}blockquote .small:before,blockquote footer:before,blockquote small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{border-left:0;border-right:5px solid #eee;padding-left:0;padding-right:15px;text-align:right}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:""}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:"\00A0 \2014"}address{font-style:normal;line-height:1.25;margin-bottom:20px}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,Courier New,monospace}code{background-color:#f9f2f4;border-radius:4px;color:#c7254e}code,kbd{font-size:90%;padding:2px 4px}kbd{background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);color:#fff}kbd kbd{box-shadow:none;font-size:100%;font-weight:700;padding:0}pre{color:#1a1a1a;display:block;font-size:15px;line-height:1.25;margin:0 0 10px;padding:9.5px;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{background-color:transparent;border-radius:0;color:inherit;font-size:inherit;padding:0;white-space:pre-wrap}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-left:auto;margin-right:auto;padding-left:10px;padding-right:10px}@media (min-width:900px){.container{width:1000px}}@media (min-width:1300px){.container{width:1000px}}.container-fluid{margin-left:auto;margin-right:auto;padding-left:10px;padding-right:10px}.row{margin-left:-10px;margin-right:-10px}.row-no-gutters{margin-left:0;margin-right:0}.row-no-gutters [class*=col-]{padding-left:0;padding-right:0}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{min-height:1px;padding-left:10px;padding-right:10px;position:relative}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:900px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1300px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}table col[class*=col-]{display:table-column;float:none;position:static}table td[class*=col-],table th[class*=col-]{display:table-cell;float:none;position:static}caption{color:#777;padding-bottom:8px;padding-top:8px}caption,th{text-align:left}.table{margin-bottom:20px;max-width:100%;width:100%}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{border-top:1px solid #ddd;line-height:1.25;padding:8px;vertical-align:top}.table>thead>tr>th{border-bottom:2px solid #ddd;vertical-align:bottom}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:899px){.table-responsive{margin-bottom:15px;overflow-y:hidden;width:100%;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{margin:0;min-width:0}fieldset,legend{border:0;padding:0}legend{border-bottom:1px solid #e5e5e5;color:#1a1a1a;display:block;font-size:24px;line-height:inherit;margin-bottom:20px;width:100%}label{display:inline-block;font-weight:700;margin-bottom:5px;max-width:100%}input[type=search]{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box}input[type=checkbox],input[type=radio]{line-height:normal;margin:4px 0 0;margin-top:1px\9}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{padding-top:6px}.form-control,output{color:#1a1a1a;display:block;font-size:16px;line-height:1.25}.form-control{background-color:#fff;background-image:none;border:1px solid #ccc;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);height:32px;padding:5px 10px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.form-control:focus{border-color:#f6a;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(255,102,170,.6);outline:0}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:32px}.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:33px}.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:49px}}.form-group{margin-bottom:15px}.checkbox,.radio{display:block;margin-bottom:10px;margin-top:10px;position:relative}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.checkbox label,.radio label{cursor:pointer;font-weight:400;margin-bottom:0;min-height:20px;padding-left:20px}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{margin-left:-20px;margin-top:4px\9;position:absolute}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{cursor:pointer;display:inline-block;font-weight:400;margin-bottom:0;padding-left:20px;position:relative;vertical-align:middle}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-left:10px;margin-top:0}.form-control-static{margin-bottom:0;min-height:36px;padding-bottom:6px;padding-top:6px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{border-radius:3px;font-size:14px;height:33px;line-height:1.5;padding:5px 10px}select.input-sm{height:33px;line-height:33px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{border-radius:3px;font-size:14px;height:33px;line-height:1.5;padding:5px 10px}.form-group-sm select.form-control{height:33px;line-height:33px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{font-size:14px;height:33px;line-height:1.5;min-height:34px;padding:6px 10px}.input-lg{border-radius:6px;font-size:20px;height:49px;line-height:1.3333333;padding:10px 15px}select.input-lg{height:49px;line-height:49px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{border-radius:6px;font-size:20px;height:49px;line-height:1.3333333;padding:10px 15px}.form-group-lg select.form-control{height:49px;line-height:49px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{font-size:20px;height:49px;line-height:1.3333333;min-height:40px;padding:11px 15px}.has-feedback{position:relative}.has-feedback .form-control{padding-right:40px}.form-control-feedback{display:block;height:32px;line-height:32px;pointer-events:none;position:absolute;right:0;text-align:center;top:0;width:32px;z-index:2}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{height:49px;line-height:49px;width:49px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{height:33px;line-height:33px;width:33px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{background-color:#dff0d8;border-color:#3c763d;color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{background-color:#fcf8e3;border-color:#8a6d3b;color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{background-color:#f2dede;border-color:#a94442;color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{color:#fff;display:block;margin-bottom:10px;margin-top:5px}@media (min-width:900px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;vertical-align:middle;width:auto}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-bottom:0;margin-top:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{margin-left:0;position:relative}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-bottom:0;margin-top:0;padding-top:6px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:26px}.form-horizontal .form-group{margin-left:-10px;margin-right:-10px}@media (min-width:900px){.form-horizontal .control-label{margin-bottom:0;padding-top:6px;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:10px}@media (min-width:900px){.form-horizontal .form-group-lg .control-label{font-size:20px;padding-top:11px}.form-horizontal .form-group-sm .control-label{font-size:14px;padding-top:6px}}.btn{background-image:none;border:1px solid transparent;border-radius:4px;cursor:pointer;display:inline-block;font-size:16px;font-weight:400;line-height:1.25;margin-bottom:0;padding:5px 10px;text-align:center;touch-action:manipulation;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;box-shadow:inset 0 3px 5px rgba(0,0,0,.125);outline:0}.btn.disabled,.btn[disabled],a[disabled],fieldset[disabled] .btn{box-shadow:none;cursor:not-allowed;filter:alpha(opacity=65);opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{background-color:#fff;border-color:#ccc;color:#333}.btn-default.focus,.btn-default:focus{background-color:#e6e6e6;border-color:#8c8c8c;color:#333}.btn-default:hover{background-color:#e6e6e6;border-color:#adadad;color:#333}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-color:#e6e6e6;background-image:none;border-color:#adadad;color:#333}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{background-color:#d4d4d4;border-color:#8c8c8c;color:#333}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{background-color:#333;color:#fff}.btn-primary{background-color:#f6a;border-color:#ff4c9c;color:#fff}.btn-primary.focus,.btn-primary:focus{background-color:#ff338e;border-color:#cc005b;color:#fff}.btn-primary:hover{background-color:#ff338e;border-color:#ff0f7a;color:#fff}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-color:#ff338e;background-image:none;border-color:#ff0f7a;color:#fff}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{background-color:#ff0f7a;border-color:#cc005b;color:#fff}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#f6a;border-color:#ff4c9c}.btn-primary .badge{background-color:#fff;color:#f6a}.btn-success{background-color:#88b300;border-color:#759a00;color:#fff}.btn-success.focus,.btn-success:focus{background-color:#618000;border-color:#141a00;color:#fff}.btn-success:hover{background-color:#618000;border-color:#465c00;color:#fff}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-color:#618000;background-image:none;border-color:#465c00;color:#fff}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{background-color:#465c00;border-color:#141a00;color:#fff}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#88b300;border-color:#759a00}.btn-success .badge{background-color:#fff;color:#88b300}.btn-info{background-color:#6cf;border-color:#4cc4ff;color:#fff}.btn-info.focus,.btn-info:focus{background-color:#3bf;border-color:#08c;color:#fff}.btn-info:hover{background-color:#3bf;border-color:#0fafff;color:#fff}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-color:#3bf;background-image:none;border-color:#0fafff;color:#fff}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{background-color:#0fafff;border-color:#08c;color:#fff}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#6cf;border-color:#4cc4ff}.btn-info .badge{background-color:#fff;color:#6cf}.btn-warning{background-color:#fc2;border-color:#ffc608;color:#fff}.btn-warning.focus,.btn-warning:focus{background-color:#eeb700;border-color:#886900;color:#fff}.btn-warning:hover{background-color:#eeb700;border-color:#ca9c00;color:#fff}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-color:#eeb700;background-image:none;border-color:#ca9c00;color:#fff}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{background-color:#ca9c00;border-color:#886900;color:#fff}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#fc2;border-color:#ffc608}.btn-warning .badge{background-color:#fff;color:#fc2}.btn-danger{background-color:#ed1221;border-color:#d5101e;color:#fff}.btn-danger.focus,.btn-danger:focus{background-color:#be0e1a;border-color:#5f070d;color:#fff}.btn-danger:hover{background-color:#be0e1a;border-color:#9c0c16;color:#fff}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-color:#be0e1a;background-image:none;border-color:#9c0c16;color:#fff}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{background-color:#9c0c16;border-color:#5f070d;color:#fff}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#ed1221;border-color:#d5101e}.btn-danger .badge{background-color:#fff;color:#ed1221}.btn-link{border-radius:0;color:#29b;font-weight:400}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{background-color:transparent;color:#6cf;text-decoration:underline}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{border-radius:6px;font-size:20px;line-height:1.3333333;padding:10px 15px}.btn-group-sm>.btn,.btn-sm{border-radius:3px;font-size:14px;line-height:1.5;padding:5px 10px}.btn-group-xs>.btn,.btn-xs{border-radius:3px;font-size:14px;line-height:1.5;padding:0 5px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{height:0;overflow:hidden;position:relative;transition-duration:.35s;transition-property:height,visibility;transition-timing-function:ease}.caret{border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px dashed;border-top:4px solid\9;display:inline-block;height:0;margin-left:2px;vertical-align:middle;width:0}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{background-clip:padding-box;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,.175);display:none;float:left;font-size:16px;left:0;list-style:none;margin:2px 0 0;min-width:160px;padding:5px 0;position:absolute;text-align:left;top:100%;z-index:1000}.dropdown-menu.pull-right{left:auto;right:0}.dropdown-menu .divider{background-color:#e5e5e5;height:1px;margin:9px 0;overflow:hidden}.dropdown-menu>li>a{clear:both;color:#1a1a1a;display:block;font-weight:400;line-height:1.25;padding:3px 20px;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#f5f5f5;color:#0d0d0d;text-decoration:none}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#f6a;color:#fff;outline:0;text-decoration:none}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{background-color:transparent;background-image:none;cursor:not-allowed;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);text-decoration:none}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{color:#777;display:block;font-size:14px;line-height:1.25;padding:3px 20px;white-space:nowrap}.dropdown-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:990}.pull-right>.dropdown-menu{left:auto;right:0}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-bottom:4px dashed;border-bottom:4px solid\9;border-top:0;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{bottom:100%;margin-bottom:2px;top:auto}@media (min-width:900px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{display:inline-block;position:relative;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{float:left;position:relative}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;max-width:100%;width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-left:0;margin-top:-1px}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top-left-radius:0;border-top-right-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-left-radius:0;border-bottom-right-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{border-collapse:separate;display:table;table-layout:fixed;width:100%}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{border-collapse:separate;display:table;position:relative}.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{float:left;margin-bottom:0;position:relative;width:100%;z-index:2}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{border-radius:6px;font-size:20px;height:49px;line-height:1.3333333;padding:10px 15px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:49px;line-height:49px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{border-radius:3px;font-size:14px;height:33px;line-height:1.5;padding:5px 10px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:33px;line-height:33px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{vertical-align:middle;white-space:nowrap;width:1%}.input-group-addon{background-color:#eee;border:1px solid #ccc;border-radius:4px;color:#1a1a1a;font-size:16px;font-weight:400;line-height:1;padding:5px 10px;text-align:center}.input-group-addon.input-sm{border-radius:3px;font-size:14px;padding:5px 10px}.input-group-addon.input-lg{border-radius:6px;font-size:20px;padding:10px 15px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{font-size:0;white-space:nowrap}.input-group-btn,.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px;z-index:2}.nav{list-style:none;margin-bottom:0;padding-left:0}.nav>li,.nav>li>a{display:block;position:relative}.nav>li>a{padding:10px}.nav>li>a:focus,.nav>li>a:hover{background-color:transparent;text-decoration:none}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{background-color:transparent;color:#777;cursor:not-allowed;text-decoration:none}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:transparent;border-color:#29b}.nav .nav-divider{background-color:#e5e5e5;height:1px;margin:9px 0;overflow:hidden}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{border:1px solid transparent;border-radius:4px 4px 0 0;line-height:1.25;margin-right:2px}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{background-color:#fff;border:1px solid;border-color:#ddd #ddd transparent;color:#262626;cursor:default}.nav-tabs.nav-justified{border-bottom:0;width:100%}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{left:auto;top:auto}@media (min-width:900px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{border-radius:4px;margin-right:0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:900px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{background-color:#f6a;color:#fff}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-left:0;margin-top:2px}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{left:auto;top:auto}@media (min-width:900px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{border-radius:4px;margin-right:0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:900px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}.navbar{border:1px solid transparent;margin-bottom:20px;min-height:50px;position:relative}@media (min-width:900px){.navbar{border-radius:4px}.navbar-header{float:left}}.navbar-collapse{border-top:1px solid transparent;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1);overflow-x:visible;padding-left:10px;padding-right:10px;-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:900px){.navbar-collapse{border-top:0;box-shadow:none;width:auto}.navbar-collapse.collapse{display:block!important;height:auto!important;overflow:visible!important;padding-bottom:0}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-bottom,.navbar-fixed-top{left:0;position:fixed;right:0;z-index:1030}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}@media (min-width:900px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{border-width:0 0 1px;top:0}.navbar-fixed-bottom{border-width:1px 0 0;bottom:0;margin-bottom:0}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-left:-10px;margin-right:-10px}@media (min-width:900px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-left:0;margin-right:0}}.navbar-static-top{border-width:0 0 1px;z-index:1000}@media (min-width:900px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;font-size:20px;height:50px;line-height:20px;padding:10px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:900px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-10px}}.navbar-toggle{background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px;float:right;margin-bottom:8px;margin-right:10px;margin-top:8px;padding:9px 10px;position:relative}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{border-radius:1px;display:block;height:2px;width:22px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:900px){.navbar-toggle{display:none}}.navbar-nav{margin:5px -10px}.navbar-nav>li>a{line-height:20px;padding-bottom:10px;padding-top:10px}@media (max-width:899px){.navbar-nav .open .dropdown-menu{background-color:transparent;border:0;box-shadow:none;float:none;margin-top:0;position:static;width:auto}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:900px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-bottom:10px;padding-top:10px}}.navbar-form{border-bottom:1px solid transparent;border-top:1px solid transparent;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1);margin:9px -10px;padding:10px}@media (min-width:900px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;vertical-align:middle;width:auto}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-bottom:0;margin-top:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{margin-left:0;position:relative}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:899px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:900px){.navbar-form{border:0;box-shadow:none;margin-left:0;margin-right:0;padding-bottom:0;padding-top:0;width:auto}}.navbar-nav>li>.dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:4px;border-top-right-radius:4px;margin-bottom:0}.navbar-btn{margin-bottom:9px;margin-top:9px}.navbar-btn.btn-sm{margin-bottom:8.5px;margin-top:8.5px}.navbar-btn.btn-xs{margin-bottom:14px;margin-top:14px}.navbar-text{margin-bottom:15px;margin-top:15px}@media (min-width:900px){.navbar-text{float:left;margin-left:10px;margin-right:10px}.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-10px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{background-color:transparent;color:#5e5e5e}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{background-color:transparent;color:#333}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{background-color:#e7e7e7;color:#555}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{background-color:transparent;color:#ccc}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:#e7e7e7;color:#555}@media (max-width:899px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{background-color:transparent;color:#333}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#e7e7e7;color:#555}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{background-color:transparent;color:#ccc}}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{background-color:transparent;color:#fff}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{background-color:transparent;color:#fff}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{background-color:#080808;color:#fff}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{background-color:transparent;color:#444}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#080808;color:#fff}@media (max-width:899px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{background-color:transparent;color:#fff}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{background-color:#080808;color:#fff}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{background-color:transparent;color:#444}}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{background-color:#f5f5f5;border-radius:4px;list-style:none;margin-bottom:20px;padding:8px 15px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{color:#ccc;content:"/\00a0";padding:0 5px}.breadcrumb>.active{color:#777}.pagination{border-radius:4px;display:inline-block;margin:20px 0;padding-left:0}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{background-color:#fff;border:1px solid #ddd;color:#29b;float:left;line-height:1.25;margin-left:-1px;padding:5px 10px;position:relative;text-decoration:none}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{background-color:#eee;border-color:#ddd;color:#6cf;z-index:2}.pagination>li:first-child>a,.pagination>li:first-child>span{border-bottom-left-radius:4px;border-top-left-radius:4px;margin-left:0}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{background-color:#f6a;border-color:#f6a;color:#fff;cursor:default;z-index:3}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{background-color:#fff;border-color:#ddd;color:#777;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{font-size:20px;line-height:1.3333333;padding:10px 15px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{font-size:14px;line-height:1.5;padding:5px 10px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{list-style:none;margin:20px 0;padding-left:0;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{background-color:#fff;border:1px solid #ddd;border-radius:15px;display:inline-block;padding:5px 14px}.pager li>a:focus,.pager li>a:hover{background-color:#eee;text-decoration:none}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{background-color:#fff;color:#777;cursor:not-allowed}.label{border-radius:.25em;color:#fff;display:inline;font-size:75%;font-weight:700;line-height:1;padding:.2em .6em .3em;text-align:center;vertical-align:baseline;white-space:nowrap}a.label:focus,a.label:hover{color:#fff;cursor:pointer;text-decoration:none}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#f6a}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#ff338e}.label-success{background-color:#88b300}.label-success[href]:focus,.label-success[href]:hover{background-color:#618000}.label-info{background-color:#6cf}.label-info[href]:focus,.label-info[href]:hover{background-color:#3bf}.label-warning{background-color:#fc2}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#eeb700}.label-danger{background-color:#ed1221}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#be0e1a}.badge{background-color:#fff;border-radius:10px;color:#418;display:inline-block;font-size:14px;font-weight:700;line-height:1;min-width:10px;padding:3px 7px;text-align:center;vertical-align:middle;white-space:nowrap}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{padding:1px 5px;top:0}a.badge:focus,a.badge:hover{color:#cc5288;cursor:pointer;text-decoration:none}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{background-color:#fff;color:#29b}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{background-color:#eee;margin-bottom:30px;padding-bottom:30px;padding-top:30px}.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{font-size:24px;font-weight:200;margin-bottom:15px}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px;padding-left:10px;padding-right:10px}.jumbotron .container{max-width:100%}@media screen and (min-width:900px){.jumbotron{padding-bottom:48px;padding-top:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron .h1,.jumbotron h1{font-size:72px}}.thumbnail{background-color:#fff;border:1px solid #ddd;border-radius:4px;display:block;line-height:1.25;margin-bottom:20px;padding:4px;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-left:auto;margin-right:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#29b}.thumbnail .caption{color:#fff;padding:9px}.alert{border:1px solid transparent;border-radius:4px;margin-bottom:20px;padding:15px}.alert h4{color:inherit;margin-top:0}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{color:inherit;position:relative;right:-21px;top:-2px}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}.progress{background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);height:20px;margin-bottom:20px;overflow:hidden}.progress-bar{background-color:#f6a;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);color:#fff;float:left;font-size:14px;height:100%;line-height:20px;text-align:center;transition:width .6s ease;width:0}.progress-bar-striped,.progress-striped .progress-bar{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#88b300}.progress-striped .progress-bar-success{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-info{background-color:#6cf}.progress-striped .progress-bar-info{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-warning{background-color:#fc2}.progress-striped .progress-bar-warning{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-danger{background-color:#ed1221}.progress-striped .progress-bar-danger{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-bottom:5px;margin-top:0}.media-list{list-style:none;padding-left:0}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{background-color:#fff;border:1px solid #ddd;display:block;margin-bottom:-1px;padding:10px 15px;position:relative}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;margin-bottom:0}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{background-color:#f6a;border-color:#f6a;color:#fff;z-index:2}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#fff}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{background-color:#f5f5f5;color:#555;text-decoration:none}button.list-group-item{text-align:left;width:100%}.list-group-item-success{background-color:#dff0d8;color:#3c763d}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{background-color:#d0e9c6;color:#3c763d}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{background-color:#3c763d;border-color:#3c763d;color:#fff}.list-group-item-info{background-color:#d9edf7;color:#31708f}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{background-color:#c4e3f3;color:#31708f}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{background-color:#31708f;border-color:#31708f;color:#fff}.list-group-item-warning{background-color:#fcf8e3;color:#8a6d3b}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{background-color:#faf2cc;color:#8a6d3b}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{background-color:#8a6d3b;border-color:#8a6d3b;color:#fff}.list-group-item-danger{background-color:#f2dede;color:#a94442}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{background-color:#ebcccc;color:#a94442}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{background-color:#a94442;border-color:#a94442;color:#fff}.list-group-item-heading{margin-bottom:5px;margin-top:0}.list-group-item-text{line-height:1.3;margin-bottom:0}.panel{background-color:#fff;border:1px solid transparent;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,.05);margin-bottom:20px}.panel-body{padding:15px}.panel-heading{border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px;padding:10px 15px}.panel-heading>.dropdown .dropdown-toggle,.panel-title{color:inherit}.panel-title{font-size:18px;margin-bottom:0;margin-top:0}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{background-color:#f5f5f5;border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top:1px solid #ddd;padding:10px 15px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-radius:0;border-width:1px 0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-left:15px;padding-right:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{border-radius:4px;margin-bottom:0}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{background-color:#f5f5f5;border-color:#ddd;color:#1a1a1a}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{background-color:#1a1a1a;color:#f5f5f5}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#f6a}.panel-primary>.panel-heading{background-color:#f6a;border-color:#f6a;color:#fff}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#f6a}.panel-primary>.panel-heading .badge{background-color:#fff;color:#f6a}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#f6a}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{background-color:#3c763d;color:#dff0d8}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{background-color:#31708f;color:#d9edf7}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{background-color:#8a6d3b;color:#fcf8e3}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{background-color:#a94442;color:#f2dede}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{display:block;height:0;overflow:hidden;padding:0;position:relative}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{border:0;bottom:0;height:100%;left:0;position:absolute;top:0;width:100%}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{background-color:#eee;border:1px solid #ddd;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.05);margin-bottom:20px;min-height:20px;padding:19px}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{border-radius:6px;padding:24px}.well-sm{border-radius:3px;padding:9px}.close{color:#000;filter:alpha(opacity=20);float:right;font-size:24px;font-weight:700;line-height:1;opacity:.2;text-shadow:0 1px 0 #fff}.close:focus,.close:hover{color:#000;cursor:pointer;filter:alpha(opacity=50);opacity:.5;text-decoration:none}button.close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;cursor:pointer;padding:0}.modal,.modal-open{overflow:hidden}.modal{bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{transform:translateY(-25%);transition:transform .3s ease-out}.modal.in .modal-dialog{transform:translate(0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{margin:10px;position:relative;width:auto}.modal-content{background-clip:padding-box;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0;position:relative}.modal-backdrop{background-color:#000;bottom:0;left:0;position:fixed;right:0;top:0;z-index:1040}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{border-bottom:1px solid #e5e5e5;padding:15px}.modal-header .close{margin-top:-2px}.modal-title{line-height:1.25;margin:0}.modal-body{padding:15px;position:relative}.modal-footer{border-top:1px solid #e5e5e5;padding:15px;text-align:right}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{height:50px;overflow:scroll;position:absolute;top:-9999px;width:50px}@media (min-width:900px){.modal-dialog{margin:30px auto;width:600px}.modal-content{box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}.modal-lg{width:900px}}.tooltip{display:block;font-family:Torus,Inter,Helvetica Neue,Tahoma,Arial,Hiragino Kaku Gothic ProN,Meiryo,Microsoft YaHei,Apple SD Gothic Neo,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.25;position:absolute;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;word-break:normal;word-spacing:normal;z-index:1070;word-wrap:normal;filter:alpha(opacity=0);font-size:14px;opacity:0;white-space:normal}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip.top .tooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;left:50%;margin-left:-5px}.tooltip.top-left .tooltip-arrow{right:5px}.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{border-top-color:#000;border-width:5px 5px 0;bottom:0;margin-bottom:-5px}.tooltip.top-right .tooltip-arrow{left:5px}.tooltip.right .tooltip-arrow{border-right-color:#000;border-width:5px 5px 5px 0;left:0;margin-top:-5px;top:50%}.tooltip.left .tooltip-arrow{border-left-color:#000;border-width:5px 0 5px 5px;margin-top:-5px;right:0;top:50%}.tooltip.bottom .tooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;left:50%;margin-left:-5px;top:0}.tooltip.bottom-left .tooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;margin-top:-5px;right:5px;top:0}.tooltip.bottom-right .tooltip-arrow{border-bottom-color:#000;border-width:0 5px 5px;left:5px;margin-top:-5px;top:0}.tooltip-inner{background-color:#000;border-radius:4px;color:#fff;max-width:200px;padding:3px 8px;text-align:center}.tooltip-arrow{border-color:transparent;border-style:solid;height:0;position:absolute;width:0}.popover{display:none;font-family:Torus,Inter,Helvetica Neue,Tahoma,Arial,Hiragino Kaku Gothic ProN,Meiryo,Microsoft YaHei,Apple SD Gothic Neo,sans-serif;font-style:normal;font-weight:400;left:0;letter-spacing:normal;line-break:auto;line-height:1.25;max-width:276px;padding:1px;position:absolute;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;top:0;word-break:normal;word-spacing:normal;z-index:1060;word-wrap:normal;background-clip:padding-box;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 5px 10px rgba(0,0,0,.2);font-size:16px;white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover>.arrow{border-width:11px}.popover>.arrow,.popover>.arrow:after{border-color:transparent;border-style:solid;display:block;height:0;position:absolute;width:0}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px;left:50%;margin-left:-11px}.popover.top>.arrow:after{border-bottom-width:0;border-top-color:#fff;bottom:1px;content:" ";margin-left:-10px}.popover.right>.arrow{border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25);left:-11px;margin-top:-11px;top:50%}.popover.right>.arrow:after{border-left-width:0;border-right-color:#fff;bottom:-10px;content:" ";left:1px}.popover.bottom>.arrow{border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);border-top-width:0;left:50%;margin-left:-11px;top:-11px}.popover.bottom>.arrow:after{border-bottom-color:#fff;border-top-width:0;content:" ";margin-left:-10px;top:1px}.popover.left>.arrow{border-left-color:#999;border-left-color:rgba(0,0,0,.25);border-right-width:0;margin-top:-11px;right:-11px;top:50%}.popover.left>.arrow:after{border-left-color:#fff;border-right-width:0;bottom:-10px;content:" ";right:1px}.popover-title{background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0;font-size:16px;margin:0;padding:8px 14px}.popover-content{padding:9px 14px}.carousel,.carousel-inner{position:relative}.carousel-inner{overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;transition:left .6s ease-in-out}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media (-webkit-transform-3d),(transform-3d){.carousel-inner>.item{backface-visibility:hidden;perspective:1000px;transition:transform .6s ease-in-out}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;transform:translateZ(0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{background-color:transparent;bottom:0;color:#fff;filter:alpha(opacity=50);font-size:20px;left:0;opacity:.5;position:absolute;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);top:0;width:15%}.carousel-control.left{background-image:linear-gradient(90deg,rgba(0,0,0,.5) 0,transparent);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#80000000",endColorstr="#00000000",GradientType=1)}.carousel-control.right{background-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.5));background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#00000000",endColorstr="#80000000",GradientType=1);left:auto;right:0}.carousel-control:focus,.carousel-control:hover{color:#fff;filter:alpha(opacity=90);opacity:.9;outline:0;text-decoration:none}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{display:inline-block;margin-top:-10px;position:absolute;top:50%;z-index:5}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px;right:50%}.carousel-control .icon-next,.carousel-control .icon-prev{font-family:serif;height:20px;line-height:1;width:20px}.carousel-control .icon-prev:before{content:"\2039"}.carousel-control .icon-next:before{content:"\203a"}.carousel-indicators{bottom:10px;left:50%;list-style:none;margin-left:-30%;padding-left:0;position:absolute;text-align:center;width:60%;z-index:15}.carousel-indicators li{background-color:#000\9;background-color:transparent;border:1px solid #fff;border-radius:10px;cursor:pointer;display:inline-block;height:10px;margin:1px;text-indent:-999px;width:10px}.carousel-indicators .active{background-color:#fff;height:12px;margin:0;width:12px}.carousel-caption{bottom:20px;color:#fff;left:15%;padding-bottom:20px;padding-top:20px;position:absolute;right:15%;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);z-index:10}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:900px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{font-size:30px;height:30px;margin-top:-10px;width:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{left:20%;padding-bottom:30px;right:20%}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{content:" ";display:table}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{background-color:transparent;border:0;color:transparent;font:0/0 a;text-shadow:none}.hidden{display:none!important}.affix{position:fixed}.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:899px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}.visible-xs-block{display:block!important}.visible-xs-inline{display:inline!important}.visible-xs-inline-block{display:inline-block!important}}@media (min-width:900px) and (max-width:899px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}.visible-sm-block{display:block!important}.visible-sm-inline{display:inline!important}.visible-sm-inline-block{display:inline-block!important}}@media (min-width:900px) and (max-width:1299px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}.visible-md-block{display:block!important}.visible-md-inline{display:inline!important}.visible-md-inline-block{display:inline-block!important}}@media (min-width:1300px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}.visible-lg-block{display:block!important}.visible-lg-inline{display:inline!important}.visible-lg-inline-block{display:inline-block!important}}@media (max-width:899px){.hidden-xs{display:none!important}}@media (min-width:900px) and (max-width:899px){.hidden-sm{display:none!important}}@media (min-width:900px) and (max-width:1299px){.hidden-md{display:none!important}}@media (min-width:1300px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}.hidden-print{display:none!important}}.modal.fade .modal-dialog{transition-timing-function:cubic-bezier(0,0,0,1)}.pswp{z-index:9000}.pswp__bg{background:rgba(0,0,0,.8)}.pswp__button{color:#fff;opacity:.75}.pswp__button--contest-vote.pswp__button--contest-vote{background-image:none}.pswp__button--contest-vote-active{color:orange;opacity:.9}.pswp__button--vote-progress{align-items:center;cursor:default;display:flex;justify-content:center;opacity:1}.pswp__button--vote-progress.pswp__button--vote-progress{background-image:none}.pswp__button--disabled{cursor:default}.pswp__button--disabled:active,.pswp__button--disabled:focus,.pswp__button--disabled:hover{opacity:.75} +/*! + * jQuery UI Slider 1.8.23 + * + * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Slider#theming + */.ui-slider{cursor:pointer;position:relative;text-align:left}.ui-slider .ui-slider-handle{background-color:#b17;border-radius:30px;cursor:pointer;height:20px;outline:none;position:absolute;width:10px;z-index:2}.ui-slider .ui-slider-range{background-position:0 0;border:0;display:block;position:absolute;z-index:1}.ui-slider-horizontal{height:10px}.ui-slider-horizontal .ui-slider-handle{margin-left:-5px;top:-5px}.ui-slider-horizontal .ui-slider-range{height:100%;top:0}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0} +/*! + * jQuery UI CSS Framework 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/category/theming/ + * + * To view and modify this theme, visit http://jqueryui.com/themeroller/ + */.ui-corner-all{border-radius:6px}@font-face{font-family:Venera;font-weight:500;src:url(/assets/fonts/Venera-500.2deb39f9.otf)}@font-face{font-family:Torus;font-weight:100;src:url(/assets/fonts/Torus-Thin.daca2c7e.otf)}@font-face{font-family:Torus;font-weight:600;src:url(/assets/fonts/Torus-SemiBold.d263d500.otf)}@font-face{font-family:Torus;font-weight:700;src:url(/assets/fonts/Torus-SemiBold.d263d500.otf)}@font-face{font-family:Torus;font-weight:400;src:url(/assets/fonts/Torus-Regular.734ed3ae.otf)}@font-face{font-family:Torus;font-weight:300;src:url(/assets/fonts/Torus-Light.8d3ecae8.otf)}@font-face{font-family:Torus;font-weight:900;src:url(/assets/fonts/Torus-Heavy.7dc2d96b.otf)}@font-face{font-family:Torus;font-weight:800;src:url(/assets/fonts/Torus-Bold.c233ce17.otf)}blockquote{border-left:2px solid hsl(var(--hsl-c2));font-size:inherit}h1{font-size:30px;margin:0 0 20px}h1,h2{font-weight:400}h2{margin:10px 0 0}h1,h2,h3,h4,h5,h6{color:hsl(var(--hsl-c1))}a{color:hsl(var(--hsl-l2));outline-style:none;text-decoration:none;transition:color 80ms linear}a:active,a:focus,a:hover{color:hsl(var(--hsl-l1))}a:active,a:hover,a:link,a:visited{outline-style:none}a:hover{text-decoration:underline}code{background:none;border-radius:0;color:inherit;font-size:inherit;padding:0}@font-face{font-family:FontAwesomeExtra;font-style:normal;font-weight:400;src:url(/assets/fonts/extra.3045b5fb.eot);src:url(/assets/fonts/extra.3045b5fb.eot#iefix) format("embedded-opentype"),url(/assets/fonts/extra.96448ca7.woff2) format("woff2"),url(/assets/fonts/extra.e5688ff6.woff) format("woff"),url(/assets/fonts/extra.3271f4c4.ttf) format("truetype"),url(/assets/fonts/extra.9482c771.svg#extra) format("svg")}.clear{clear:both}.large{font-size:120%}.form-control{border:none;border-radius:4px;box-shadow:inset 0 1px 3px rgba(0,0,0,.3);font-size:14px}.form-control[type=password],.form-control[type=text]{-webkit-appearance:none}.form-control:focus{box-shadow:inset 0 1px 3px rgba(0,0,0,.3)}select.form-control{font-weight:700}select.form-control,select.form-control:focus{box-shadow:0 1px 3px rgba(0,0,0,.25)}iframe{border:none}label{font-size:12px;font-weight:600}input[type=checkbox],input[type=radio]{margin:2px 0 0}.clickable-row{cursor:pointer}[data-visibility]{transition:opacity .12s;will-change:opacity}[data-visibility][data-visibility=hidden]{opacity:0;pointer-events:none}[data-visibility][data-visibility-animation=none]{transition:none;will-change:unset}@keyframes spinner-sk-cubemove{25%{transform:translateX(42px) rotate(-90deg) scale(.5)}50%{transform:translateX(42px) translateY(42px) rotate(-179deg)}50.1%{transform:translateX(42px) translateY(42px) rotate(-180deg)}75%{transform:translateX(0) translateY(42px) rotate(-270deg) scale(.5)}to{transform:rotate(-1turn)}}@keyframes spin-w-easing{to{transform:rotate(1turn)}}@keyframes grow-and-shrink{0%{transform:scale(.8)}20%{transform:scale(1)}to{transform:scale(.8)}}@keyframes fade-in-out{0%{opacity:0}20%{opacity:1}to{opacity:0}}@keyframes glow-pulse{0%{opacity:.5}10%{opacity:1}20%{opacity:.5}30%{opacity:1}70%{opacity:.5}90%{opacity:.3}}*,:after,:before{box-sizing:border-box}::-moz-selection{background-color:hsl(var(--hsl-h2));color:#fff}::selection{background-color:hsl(var(--hsl-h2));color:#fff}::-moz-placeholder{color:inherit;opacity:.54}::placeholder{color:inherit;opacity:.54}:root{--bg-default-0:url(/assets/images/0.b3bb5a86.jpg);--bg-default-1:url(/assets/images/1.5f98695d.jpg);--bg-default-2:url(/assets/images/2.b1cc230d.jpg);--bg-default-3:url(/assets/images/3.e324329d.jpg);--bg-default-4:url(/assets/images/4.96855f05.jpg);--bg-default-5:url(/assets/images/5.a8262d19.jpg);--font-default:Torus,Inter,"Helvetica Neue",Tahoma,Arial,"Hiragino Kaku Gothic ProN",Meiryo,"Microsoft YaHei","Apple SD Gothic Neo",sans-serif;--font-default-vi:Quicksand,Torus,Inter,"Helvetica Neue",Tahoma,Arial,"PingFang TC","Microsoft JhengHei","Apple SD Gothic Neo",system-ui,sans-serif;--font-default-zh:Torus,Inter,"Helvetica Neue",Tahoma,Arial,"Hiragino Sans GB","Microsoft YaHei","Apple SD Gothic Neo",system-ui,sans-serif;--font-default-th:Torus,Inter,"Helvetica Neue","Prompt",Tahoma,Arial,"Hiragino Kaku Gothic ProN",Meiryo,"Microsoft YaHei","Apple SD Gothic Neo",sans-serif;--font-default-zh-tw:Torus,Inter,"Helvetica Neue",Tahoma,Arial,"PingFang TC","Microsoft JhengHei","Apple SD Gothic Neo",system-ui,sans-serif;--font-content:Inter,sans-serif;--navbar-height:50px;--scroll-padding-top:calc(var(--navbar-height) + 1em + var(--scroll-padding-top-extra, 0px));--page-gutter:10px}@media (min-width:900px){:root{--navbar-height:50px;--page-gutter:50px}}body,html{height:100%}html{scroll-padding-bottom:1em;scroll-padding-top:var(--scroll-padding-top)}body{font-family:var(--font-default-override,var(--font-default));-ms-overflow-style:scrollbar;overflow-y:scroll;position:static;--z-index--nav-bar-mobile:509;--header-pinned-animation-duration:0ms;--beatmapset-status-colour-default:var(--hsl-b3);--beatmapset-graveyard-bg-hsl:0,0%,0%;--beatmapset-graveyard-colour:hsl(var(--hsl-b1));--beatmapset-wip-bg-hsl:var(--hsl-darkorange-1);--beatmapset-wip-colour:hsl(var(--beatmapset-status-colour-default));--beatmapset-pending-bg-hsl:var(--hsl-orange-1);--beatmapset-pending-colour:hsl(var(--beatmapset-status-colour-default));--beatmapset-qualified-bg-hsl:var(--hsl-blue-1);--beatmapset-qualified-colour:hsl(var(--beatmapset-status-colour-default));--beatmapset-approved-bg-hsl:var(--hsl-lime-1);--beatmapset-approved-colour:hsl(var(--beatmapset-status-colour-default));--beatmapset-ranked-bg-hsl:var(--hsl-lime-1);--beatmapset-ranked-colour:hsl(var(--beatmapset-status-colour-default));--beatmapset-loved-bg-hsl:var(--hsl-pink-1);--beatmapset-loved-colour:hsl(var(--beatmapset-status-colour-default));--beatmapset-discussion-colour--hype:hsl(var(--hsl-blue-3));--beatmapset-discussion-colour--mapper_note:hsl(var(--hsl-purple-1));--beatmapset-discussion-colour--praise:hsl(var(--hsl-blue-3));--beatmapset-discussion-colour--problem:hsl(var(--hsl-red-3));--beatmapset-discussion-colour--resolved:hsl(var(--hsl-lime-3));--beatmapset-discussion-colour--review:hsl(var(--hsl-c2));--beatmapset-discussion-colour--suggestion:hsl(var(--hsl-orange-3));--forum-bg:hsl(var(--hsl-h1));--forum-text:#29b;--forum-text:#6cf;--forum-item-background-color:hsl(var(--hsl-b4));--forum-item-background-color-hover:hsl(var(--hsl-b3));--base-hue:var(--base-hue-override,var(--base-hue-default));--base-hue-deg:calc(var(--base-hue)*1deg);--level-tier-iron:#bab3ab,#bab3ab;--level-tier-bronze:#b88f7a,#855c47;--level-tier-silver:#e0e0eb,#a3a3c2;--level-tier-gold:#f0e4a8,#e0c952;--level-tier-platinum:#a8f0ef,#52e0df;--level-tier-rhodium:#d9f8d3,#a0cf96;--level-tier-radiant:#97dcff,#ed82ff;--level-tier-lustrous:#ffe600,#ed82ff}body.js-nav2--active{--z-index--nav-bar-mobile:511}body.js-animate-nav{--header-pinned-animation-duration:300ms}#popup-container{backface-visibility:hidden;pointer-events:none;position:fixed;top:155px;width:100%;z-index:9999}#popup-container .alert{border:none;box-shadow:0 1px 3px rgba(0,0,0,.25);pointer-events:auto}#popup-container .popup-text{font-weight:700;vertical-align:middle}.bbcode{font-family:var(--font-content-override,var(--font-content));line-height:1.35;--list-style-position:outside;--list-padding-left:20px;line-height:1.5;overflow-wrap:anywhere;text-align:left}.bbcode code{background-color:hsl(var(--hsl-b5));border-radius:4px;padding:1px 4px}.bbcode h2,.bbcode h4{font-style:normal;font-weight:700}.bbcode h2{color:hsl(var(--hsl-l1));font-size:1.5em}.bbcode blockquote{border:none;color:hsl(var(--hsl-c2));font-size:inherit;padding:0 0 0 20px;position:relative}.bbcode blockquote:before{background-color:hsl(var(--hsl-c2));border-radius:10000px;content:"";height:100%;left:0;position:absolute;top:0;width:2px}.bbcode blockquote h4{color:hsl(var(--hsl-c1));font-size:inherit;margin:0 0 10px}.bbcode blockquote blockquote{font-size:.9em}.bbcode blockquote blockquote:before{display:none}.bbcode blockquote blockquote h4{color:inherit}.bbcode blockquote blockquote blockquote blockquote blockquote{font-size:1em;padding-left:0}.bbcode img{max-width:100%}.bbcode ol,.bbcode ul{list-style-position:var(--list-style-position);padding-left:var(--list-padding-left)}.bbcode pre{background-color:hsl(var(--hsl-b5));border:none;border-radius:4px;color:inherit;font-size:inherit;padding:10px;white-space:pre-wrap}.bbcode .unordered{list-style-type:disc}.bbcode .spoiler{background-color:#000!important;color:#000!important}.bbcode .well{background:hsl(var(--hsl-b5));border:2px solid hsl(var(--hsl-b1));margin:0}.bbcode--normal-line-height{line-height:inherit}.bbcode__list-title{list-style:none;margin:0}.bbcode__align-centre{--list-style-position:inside;--list-padding-left:0;text-align:center}.bbcode__align-left{--list-style-position:outside;--list-padding-left:20px;text-align:left}.bbcode__align-right{--list-style-position:inside;--list-padding-left:0;text-align:right}.t-section .u-section--bg-normal{background-color:hsl(var(--hsl-h1))!important}.t-section .u-section--color-hover:active,.t-section .u-section--color-hover:focus,.t-section .u-section--color-hover:hover{color:hsl(var(--hsl-l1))!important}.t-section .u-section--gradient-down{background-image:linear-gradient(hsla(var(--hsl-h2),.9) 0,hsl(var(--hsl-h2)) 37.5%,hsl(var(--hsl-h2)) 50%,hsl(var(--hsl-h2)) 50%,hsl(var(--hsl-h2)) 100%);background-size:200% 200%}.u-section--bg{background-color:hsl(var(--hsl-h2))}.u-section-beatmaps--before-bg-normal:before,.u-section-beatmapsets--before-bg-normal:before{background-color:hsl(var(--hsl-blue-1))!important}.u-section-community--before-bg-normal:before,.u-section-error--before-bg-normal:before{background-color:hsl(var(--hsl-pink-1))!important}.u-section-help--before-bg-normal:before{background-color:hsl(var(--hsl-orange-1))!important}.u-section-home--before-bg-normal:before{background-color:hsl(var(--hsl-purple-1))!important}.u-section-multiplayer--before-bg-normal:before{background-color:hsl(var(--hsl-pink-1))!important}.u-section-rankings--before-bg-normal:before{background-color:hsl(var(--hsl-green-1))!important}.u-section-store--before-bg-normal:before{background-color:hsl(var(--hsl-darkorange-1))!important}.t-changelog-stream--beta40 .u-changelog-stream--bg{background-color:#fd5}.t-changelog-stream--beta40 .u-changelog-stream--text{color:#fd5}.t-changelog-stream--cuttingedge .u-changelog-stream--bg{background-color:#ea0}.t-changelog-stream--cuttingedge .u-changelog-stream--text{color:#ea0}.t-changelog-stream--lazer .u-changelog-stream--bg{background-color:#ed1221}.t-changelog-stream--lazer .u-changelog-stream--text{color:#ed1221}.t-changelog-stream--stable40 .u-changelog-stream--bg{background-color:#6cf}.t-changelog-stream--stable40 .u-changelog-stream--text{color:#6cf}.t-changelog-stream--tachyon .u-changelog-stream--bg{background-color:#ce00ff}.t-changelog-stream--tachyon .u-changelog-stream--text{color:#ce00ff}.t-changelog-stream--web .u-changelog-stream--bg{background-color:#86e}.t-changelog-stream--web .u-changelog-stream--text{color:#86e}.t-changelog-stream--all .u-changelog-stream--bg{background-color:#fff}.t-changelog-stream--all .u-changelog-stream--text{color:#fff}.t-changelog-stream--online .u-changelog-stream--bg{background-color:#b3d944}.t-changelog-stream--online .u-changelog-stream--text{color:#b3d944}.t-changelog-stream--offline .u-changelog-stream--bg{background-color:#000}.t-changelog-stream--offline .u-changelog-stream--text{color:#000}.t-forum-category-beatmaps{--forum-bg:#86e;--forum-text:#418;--forum-text-hover:#86e;--forum-cover:url(/assets/images/forum-cover-category-beatmaps.4ca83c82.jpg);--forum-cover-2x:url(/assets/images/forum-cover-category-beatmaps@2x.4333f9be.jpg)}.t-forum-category-language-specific{--forum-bg:#fc2;--forum-text:#c60;--forum-text-hover:#ea0;--forum-cover:url(/assets/images/forum-cover-category-language-specific.98877694.jpg);--forum-cover-2x:url(/assets/images/forum-cover-category-language-specific@2x.9e5942bf.jpg)}.t-forum-category-management{--forum-bg:#777;--forum-text:#0e0e0e;--forum-text-hover:#262626;--forum-cover:url(/assets/images/forum-cover-category-management.8abef404.jpg);--forum-cover-2x:url(/assets/images/forum-cover-category-management@2x.9a09b114.jpg)}.t-forum-category-osu{--forum-bg:#f6a;--forum-text:#cc5288;--forum-text-hover:#f6a;--forum-cover:url(/assets/images/forum-cover-category-osu.e4db1419.jpg);--forum-cover-2x:url(/assets/images/forum-cover-category-osu@2x.266ab03e.jpg)}.t-forum-category-other{--forum-bg:#88b300;--forum-text:#450;--forum-text-hover:#88b300;--forum-cover:url(/assets/images/forum-cover-category-other.b4801060.jpg);--forum-cover-2x:url(/assets/images/forum-cover-category-other@2x.4b21abff.jpg)} +/*! + * Load Awesome v1.1.0-osu (http://github.danielcardoso.net/load-awesome/) + * Copyright 2015 Daniel Cardoso <@DanielCardoso> + * Copyright 2018 ppy Pty. Ltd. + * Licensed under MIT + * + * Changelogs for -osu: + * - main container changes: + * - set display to inline-flex + * - set width and height to 1em + * - remove font-size + * - remove color + * - content divs: + * - moved as ::before of the parent + * - set width and height to 90% + * - set border to 0.18em + * - remove display, float + * - remove variations (.la-dark, .la-) + * - remove prefixes + */.la-ball-clip-rotate{display:inline-block;height:1em;position:relative;width:1em}.la-ball-clip-rotate:before{animation:ball-clip-rotate .75s linear infinite;background:transparent;border:.18em solid;border-bottom:.18em solid transparent;border-radius:100%;content:"";height:100%;left:0;position:absolute;top:0;width:100%}.la-ball-clip-rotate--loaded.la-ball-clip-rotate:before{animation-iteration-count:1}.la-ball-clip-rotate--center-inline,.la-ball-clip-rotate--comment-editor{bottom:-.1em}.la-ball-clip-rotate--self-center{align-self:center}@keyframes ball-clip-rotate{0%{transform:rotate(0deg)}50%{transform:rotate(180deg)}to{transform:rotate(1turn)}}.fab,.fal,.far,.fas{flex:none}[class*=" fa-extra-"],[class^=fa-extra-]{font-family:FontAwesomeExtra;font-weight:400}.fa-extra-mode-osu:before{content:"\e800"}.fa-extra-mode-fruits:before{content:"\e801"}.fa-extra-mode-mania:before{content:"\e802"}.fa-extra-mode-taiko:before{content:"\e803"}.fa-extra-team-leader:before{content:"\e806"}.fa-extra-osu:before{content:"\e805"}@media print{.no-print,.no-print *{display:none!important}}.u-blackout-visible{z-index:512!important}@media (max-width:899px){.u-chat{position:fixed;width:100%}}.u-contents{display:contents!important}.u-current-user-avatar{background-image:var(--current-user-avatar)!important}.u-current-user-cover{background-image:var(--current-user-cover)!important}.u-ellipsis-overflow{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}@media (min-width:900px){.u-ellipsis-overflow-desktop{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}}.u-ellipsis-pre-overflow{overflow:hidden!important;text-overflow:ellipsis!important;white-space:pre!important}.u-embed-wide{aspect-ratio:16/9;display:block;width:100%}.u-embed-wide--bbcode{display:inline-block;max-width:425px}.u-fancy-scrollbar{scrollbar-color:hsla(0,0%,100%,.5) hsla(0,0%,100%,.025)}.u-fancy-scrollbar,.u-fancy-scrollbar *{scrollbar-width:thin}.u-fancy-scrollbar ::-webkit-scrollbar{background-color:hsla(0,0%,100%,.025);-webkit-border-radius:100px;width:10px}.u-fancy-scrollbar ::-webkit-scrollbar:hover{background-color:rgba(0,0,0,.09)}.u-fancy-scrollbar ::-webkit-scrollbar:horizontal{height:10px}.u-fancy-scrollbar ::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.5);background-clip:padding-box;border:2px solid hsla(0,0%,100%,0);-webkit-border-radius:100px;min-height:10px}.u-fancy-scrollbar ::-webkit-scrollbar-thumb:active{background:hsla(0,0%,100%,.61);-webkit-border-radius:100px}.u-focus-hides-placeholder:focus::-moz-placeholder{opacity:0}.u-focus-hides-placeholder:focus::placeholder{opacity:0}.u-full-size{height:100%;left:0;position:absolute;top:0;width:100%}.u-group-colour{color:var(--group-colour)}.u-hidden{display:none!important}@media (min-width:900px){.u-hidden-desktop{display:none!important}}@media (max-width:479px){.u-hidden-narrow{display:none!important}}.u-hover{pointer-events:auto!important}.u-hover-none{pointer-events:none!important}.u-invisible{opacity:0;pointer-events:none;position:absolute}.u-nav-float{z-index:999!important}.u-relative{position:relative}.u-uppercase{text-transform:uppercase}.account-edit{background-color:hsl(var(--hsl-b5));box-shadow:0 1px 3px rgba(0,0,0,.25);color:#fff;display:flex;flex-direction:column;font-size:12px}@media (min-width:900px){.account-edit{flex-direction:row}}.account-edit--first{position:relative}.account-edit--first:after{box-shadow:inset 0 2px 3px -1px rgba(0,0,0,.25);content:"";height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.account-edit__input-group{background-color:hsl(var(--hsl-b4));padding:10px}.account-edit__input-group+.account-edit__input-group{margin-top:1px}.account-edit__input-groups{flex:1}.account-edit__section{flex:none;padding:20px 20px 20px 10px;width:250px}@media (min-width:900px){.account-edit__section{padding-bottom:0;padding-left:50px}}.account-edit__section-title{color:#fff;font-size:20px;margin:0;overflow-wrap:break-word}.account-edit-entry{align-items:center;display:flex;flex-wrap:wrap;margin:0;padding:10px 0;text-transform:none}.account-edit-entry--block{display:block}@media (min-width:900px){.account-edit-entry--block,.account-edit-entry--no-label{padding-left:160px}}.account-edit-entry.js-account-edit-avatar--start{position:relative}.account-edit-entry.js-account-edit-avatar--start:after{content:"";height:100%;left:0;position:absolute;top:0;width:100%}.account-edit-entry__avatar{border-radius:4px;height:128px;margin-bottom:10px;overflow:hidden;transform:translateZ(0);width:128px}.account-edit-entry__button{margin-left:10px}@media (max-width:899px){.account-edit-entry__button{margin-left:5px}}.account-edit-entry__checkbox{align-items:baseline;cursor:pointer;display:flex;flex-wrap:wrap;margin:0;text-transform:inherit}@media (min-width:900px){.account-edit-entry__checkbox{flex-wrap:nowrap;position:relative}}.account-edit-entry__checkbox--grid{display:flex;justify-content:center}.account-edit-entry__checkbox--no-wrap{flex-wrap:nowrap}.account-edit-entry__checkbox-label{font-weight:600;margin-bottom:5px;order:-1;width:100%}.account-edit-entry__checkbox-label--grid{margin-bottom:0;order:0}@media (min-width:900px){.account-edit-entry__checkbox-label{margin-bottom:0;order:0;width:auto}}.account-edit-entry__checkbox-label-info{display:block;font-weight:400;margin-top:5px}.account-edit-entry__checkbox-status{align-items:baseline;display:flex;pointer-events:none;width:-moz-max-content;width:max-content}@media (min-width:900px){.account-edit-entry__checkbox-status{height:100%;position:absolute;right:100%}}.account-edit-entry__checkboxes{display:flex;flex-wrap:wrap;gap:10px}@media (min-width:900px){.account-edit-entry__checkboxes{position:relative}}.account-edit-entry__checkboxes--grid{display:grid;grid-template-columns:auto auto}.account-edit-entry__checkboxes--vertical{flex-direction:column}.account-edit-entry__checkboxes-label{margin-bottom:10px;width:100%}.account-edit-entry__rules{margin-top:10px}.account-edit-entry__drop-overlay{align-items:center;background-color:rgba(0,0,0,var(--bg-opacity));color:#fff;display:inline-flex;height:100%;justify-content:center;left:0;opacity:0;padding:10px;position:absolute;text-align:center;top:0;transition:all .12s;width:100%;--bg-opacity:0}.account-edit-entry.js-account-edit-avatar--start .account-edit-entry__drop-overlay{opacity:1;--bg-opacity:0.5}.account-edit-entry.js-account-edit-avatar--hover .account-edit-entry__drop-overlay{--bg-opacity:0.7}.account-edit-entry__error{color:hsl(var(--hsl-h1));display:none;margin-top:5px;padding-left:10px;width:100%}@media (min-width:900px){.account-edit-entry__error{padding-left:170px}}.account-edit-entry[data-form-error-state=error] .account-edit-entry__error{display:block}.account-edit-entry__delivery-options{display:grid;grid-template-columns:auto auto 1fr;grid-gap:5px}.account-edit-entry__group{flex:1}.account-edit-entry__input{align-self:stretch;-webkit-appearance:none;-moz-appearance:none;background:none;background-color:hsl(var(--hsl-b3));border:2px solid transparent;border-radius:4px;color:#fff;flex:1;font-weight:400;margin:0;max-width:250px;outline:none;padding:5px}@media (max-width:899px){.account-edit-entry__input{font-size:16px}}.account-edit-entry--read-only .account-edit-entry__input{background:none}.account-edit-entry__input:focus{border-color:hsl(var(--hsl-l1))}.account-edit-entry[data-form-error-state=error] .account-edit-entry__input{border-color:#ed1221}.account-edit-entry--wide .account-edit-entry__input{max-width:100%}.account-edit-entry__label{color:hsl(var(--hsl-f1));flex:none;font-weight:700;order:-1;padding-bottom:5px;width:100%}@media (min-width:900px){.account-edit-entry__label{align-self:center;padding-bottom:0;padding-right:10px;text-align:right;width:160px}}.account-edit-entry__label--top-pinned{align-self:flex-start}:focus~.account-edit-entry__label{color:hsl(var(--hsl-l1))}.account-edit-entry__misc-info{display:block;max-width:250px}.account-edit-entry__misc-info--signature-preview{max-height:150px;overflow:hidden}.account-edit-entry--wide .account-edit-entry__misc-info{max-width:100%}.account-edit-entry__overlay-spinner{align-items:center;background-color:rgba(0,0,0,.75);display:inline-flex;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;transition:all .12s;width:100%}.account-edit-entry.js-account-edit-avatar--saving .account-edit-entry__overlay-spinner{opacity:1}.account-edit-status{display:flex;font-weight:700;margin-left:10px}.account-edit-status__content{opacity:0;padding-right:10px;transition:all .12s ease-in-out}.account-edit-status__content--saved{color:#88b300}[data-account-edit-state=saved] .account-edit-status__content--saved{opacity:1}.account-edit-status__content--saving{position:absolute}@media (min-width:900px){.account-edit-status--left .account-edit-status__content--saving{right:0;top:2px}}[data-account-edit-state=saving] .account-edit-status__content--saving{opacity:1}.account-verification-message{text-align:center}.account-verification-message__icon{color:#88b300;font-size:60px}.account-verification-message__text{font-size:12px}.account-verification-message__title{margin:10px 0}.address{margin-bottom:20px;overflow-wrap:break-word}.admin-contest{display:flex;flex-direction:column;gap:15px}.admin-contest__description{background-color:hsl(var(--hsl-b4));font-size:14px;padding:10px}.admin-contest__description--judges{display:grid;gap:0 5px;grid-template-columns:auto 1fr}@media (min-width:480px){.admin-contest__description{padding:20px}}.admin-contest__meta-title{color:hsl(var(--hsl-f1));font-weight:700}@media (min-width:480px){.admin-contest__meta-title{justify-self:flex-end}}.admin-contest__meta{display:grid;gap:5px 10px;grid-template-columns:auto}@media (min-width:480px){.admin-contest__meta{grid-template-columns:auto 1fr}}.admin-contest__table{table-layout:fixed;word-wrap:break-word}.admin-contest__table-column--username{width:150px}.admin-contest__table-column--filesize{width:70px}.admin-contest__table-column--button{width:50px}.admin-contest__title{color:hsl(var(--hsl-f1));font-weight:700;margin-bottom:5px}.admin-contest__toolbar{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}.admin-contest__vote-count{color:hsl(var(--hsl-red-2))}.admin-contest__vote-count--complete{color:hsl(var(--hsl-green-2))}.admin-contest-entry__deleted{opacity:.25}.admin-contest-entry__thumbnail{max-height:400px}.admin-contest-entry__user-column{padding-left:10px;width:250px}.admin-contest-entry__avatar{display:inline-block;margin-right:5px;width:32px}.admin-contest-entry__preview{padding:20px}.admin-contest-entry__user-link{align-items:center;display:flex}.admin-contest-entry__username{margin-bottom:10px}.admin-contest-entry__column.admin-contest-entry__column{vertical-align:middle}.admin-contest-entry__column--button{text-align:center}.admin-menu{bottom:0;color:#fff;left:0;opacity:0;padding:20px 20px 50px 50px;position:fixed;z-index:499}.admin-menu:hover{opacity:1}.admin-menu__button{align-items:center;-webkit-appearance:none;-moz-appearance:none;background:none;background-color:#333;border:none;border-radius:10000px;display:flex;flex-direction:column;margin:0;outline:none;padding:10px 0;width:50px}.admin-menu__button.js-menu--active,.admin-menu__button:hover{background-color:#29b}.admin-menu__button-arrow{font-size:12px}.admin-menu__button-icon{font-size:24px;margin-top:10px}.admin-menu__menu{bottom:100%;left:0;margin-bottom:-20px;margin-left:50px;padding-bottom:10px;position:absolute}.admin-menu-item{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:#fff;display:block;margin:10px 0 0;outline:none;padding:0}.admin-menu-item,.admin-menu-item:active,.admin-menu-item:focus,.admin-menu-item:hover{text-decoration:none}.admin-menu-item:active,.admin-menu-item:focus,.admin-menu-item:hover{color:#fff}.admin-menu-item__content{align-items:center;display:flex}.admin-menu-item__label{background-color:#333;flex:none}.admin-menu-item:hover .admin-menu-item__label{background-color:#29b}.admin-menu-item__label--icon{align-items:center;border-radius:50%;display:inline-flex;font-size:24px;height:50px;justify-content:center;margin-right:10px;width:50px}.admin-menu-item__label--text{border-radius:4px;font-size:14px;padding:5px 10px}.artist__admin-note{background-color:hsl(var(--hsl-h2));color:#000;font-weight:700;margin-bottom:10px;padding:20px;text-align:center}@media (min-width:900px){.artist__admin-note{box-shadow:0 1px 3px rgba(0,0,0,.25)}}.artist__badge-wrapper{pointer-events:none;position:absolute;right:10px;top:10px}.artist__box{align-items:center;display:flex;flex-direction:column;margin:10px;width:200px}.artist__box--hidden{opacity:.25}.artist__description{background-color:hsl(var(--hsl-b5));box-shadow:0 1px 3px rgba(0,0,0,.25);font-size:14px;padding:20px 10px}@media (min-width:900px){.artist__description{margin-bottom:10px;padding-left:50px;padding-right:50px}}.artist__description h2,.artist__description h3,.artist__description h4,.artist__description h5,.artist__description h6,.artist__description>h1{color:#fff}@media (min-width:900px){.artist__description--index{margin-bottom:0}}.artist__index{background-color:hsl(var(--hsl-b4));box-shadow:0 1px 3px rgba(0,0,0,.25);display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-around;overflow:hidden;padding:10px}.artist__label-overlay{background-image:-webkit-image-set(var(--artist-label-overlay) 1x,var(--artist-label-overlay-2x) 2x);background-image:image-set(var(--artist-label-overlay) 1x,var(--artist-label-overlay-2x) 2x);background-size:cover;border-radius:4px 0 3px 0;bottom:0;height:64px;position:absolute;right:0;width:64px}.artist__links-area{margin:0 auto 10px;padding:10px;width:270px}@media (min-width:900px){.artist__links-area{background:hsl(var(--hsl-b5));box-shadow:0 1px 3px rgba(0,0,0,.25)}}.artist__links-area--albums{align-items:center;display:flex;flex-direction:column;overflow:hidden}@media (max-width:899px){.artist__links-area--albums{display:none}}.artist__name{color:hsl(var(--hsl-l1));display:block;font-size:16px;font-weight:700;margin-top:5px;white-space:nowrap}.artist__name:hover{color:#fff}.artist__portrait{--artist-portrait-with-fallback:var(--artist-portrait,url(/assets/images/artist-noavatar.29940f4f.jpg));--artist-portrait-with-fallback-2x:var(--artist-portrait-2x,url(/assets/images/artist-noavatar@2x.1500726c.jpg));background-image:-webkit-image-set(var(--artist-portrait-with-fallback) 1x,var(--artist-portrait-with-fallback-2x) 2x);background-image:image-set(var(--artist-portrait-with-fallback) 1x,var(--artist-portrait-with-fallback-2x) 2x);background-position:50%;background-size:cover;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.25);display:block;height:250px;margin:10px auto;position:relative;width:250px}@media (min-width:900px){.artist__portrait{margin-top:-113px}}.artist__portrait--index{height:200px;margin:0;width:200px}@media (min-width:900px){.artist__portrait--index{margin:0}}.artist__portrait--new{box-shadow:25px -10px 50px hsla(var(--hsl-orange-1),.2)}.artist__portrait-wrapper{height:200px;position:relative;width:200px}.artist__track-count{color:hsl(var(--hsl-f1));font-size:12px;text-align:center}.artist__video{aspect-ratio:16/9;border-radius:6px;margin-top:20px;overflow:hidden;width:100%}.artist__white-link{color:#fff;text-decoration:none}.artist__white-link:active,.artist__white-link:focus,.artist__white-link:hover{color:#fff;text-decoration:none}.artist-album{align-items:center;background-color:hsl(var(--hsl-b5));box-shadow:0 1px 3px rgba(0,0,0,.25);overflow:hidden;padding:20px}.artist-album__badge{margin-left:auto;position:relative}.artist-album__cover{border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.25);height:64px;position:relative;width:64px}.artist-album__header{align-items:center;display:flex;margin-bottom:20px;position:relative}.artist-album__header-overlay{background-position:50%;background-size:cover;filter:blur(20px);-webkit-filter:blur(20px);height:100%;opacity:.5;position:absolute;top:0;width:100%}.artist-album__header-overlay--new:after{background:linear-gradient(to left,hsl(var(--hsl-orange-1)) 0,transparent 30%);content:"";height:100%;left:0;position:absolute;top:0;width:100%}.artist-album__title{font-size:2em;padding:10px;position:relative}.artist-album__title,.artist-link-button{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.75)}.artist-link-button{align-items:center;background:hsl(var(--hsl-b4));border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.25);display:flex;font-size:16px;height:40px;margin-bottom:5px;padding:6px 10px;transition:.1s ease-out;-webkit-user-select:none;-moz-user-select:none;user-select:none}.artist-link-button .artist-link-button__lightbar{background:#fff}.artist-link-button .artist-link-button__chevron{color:#fff}.artist-link-button:hover .artist-link-button__lightbar{background:#fff;box-shadow:0 0 5px #fff}.artist-link-button:hover .artist-link-button__chevron{color:#fff;text-shadow:0 0 10px #fff}.artist-link-button:focus,.artist-link-button:hover{color:#fff;text-decoration:none}.artist-link-button:hover{background:hsl(var(--hsl-b6))}.artist-link-button:hover .artist-link-button__chevron{right:-5px}.artist-link-button__lightbar{border-radius:7px;box-shadow:0 1px 3px rgba(0,0,0,.25);height:100%;margin-right:15px;transition:.1s ease-out;width:7px}.artist-link-button__text{flex-basis:100%;font-weight:600;padding-left:20px;text-align:left}.artist-link-button__chevron{font-size:14px;right:0;transition:.1s ease-out}.artist-link-button--twitter .artist-link-button__lightbar{background:#1d9bf0}.artist-link-button--twitter .artist-link-button__chevron{color:#1d9bf0}.artist-link-button--twitter:hover .artist-link-button__lightbar{background:#4db0f3;box-shadow:0 0 5px #65bbf5}.artist-link-button--twitter:hover .artist-link-button__chevron{color:#4db0f3;text-shadow:0 0 10px #65bbf5}.artist-link-button--facebook .artist-link-button__lightbar{background:#3b5998}.artist-link-button--facebook .artist-link-button__chevron{color:#3b5998}.artist-link-button--facebook:hover .artist-link-button__lightbar{background:#4c70ba;box-shadow:0 0 5px #5f7ec1}.artist-link-button--facebook:hover .artist-link-button__chevron{color:#4c70ba;text-shadow:0 0 10px #5f7ec1}.artist-link-button--soundcloud .artist-link-button__lightbar{background:#f50}.artist-link-button--soundcloud .artist-link-button__chevron{color:#f50}.artist-link-button--soundcloud:hover .artist-link-button__lightbar{background:#f73;box-shadow:0 0 5px #ff884d}.artist-link-button--soundcloud:hover .artist-link-button__chevron{color:#f73;text-shadow:0 0 10px #ff884d}.artist-link-button--bandcamp .artist-link-button__lightbar{background:#61929c}.artist-link-button--bandcamp .artist-link-button__chevron{color:#61929c}.artist-link-button--bandcamp:hover .artist-link-button__lightbar{background:#80a8b0;box-shadow:0 0 5px #90b3ba}.artist-link-button--bandcamp:hover .artist-link-button__chevron{color:#80a8b0;text-shadow:0 0 10px #90b3ba}.artist-link-button--osu{background-color:#b17}.artist-link-button--osu .artist-link-button__lightbar{background:#000}.artist-link-button--osu .artist-link-button__chevron{color:#000}.artist-link-button--osu:hover{background:#d21386}.artist-link-button--osu:hover .artist-link-button__lightbar{background:#fff;box-shadow:0 0 5px #fff}.artist-link-button--osu:hover .artist-link-button__chevron{color:#fff;text-shadow:0 0 10px #fff}.artist-link-button--patreon .artist-link-button__lightbar{background:#e6461a}.artist-link-button--patreon .artist-link-button__chevron{color:#e6461a}.artist-link-button--patreon:hover .artist-link-button__lightbar{background:#eb6b48;box-shadow:0 0 5px #ee7e5f}.artist-link-button--patreon:hover .artist-link-button__chevron{color:#eb6b48;text-shadow:0 0 10px #ee7e5f}.artist-link-button--spotify .artist-link-button__lightbar{background:#1db954}.artist-link-button--spotify .artist-link-button__chevron{color:#1db954}.artist-link-button--spotify:hover .artist-link-button__lightbar{background:#2bde6a;box-shadow:0 0 5px #41e17a}.artist-link-button--spotify:hover .artist-link-button__chevron{color:#2bde6a;text-shadow:0 0 10px #41e17a}.artist-link-button--youtube .artist-link-button__lightbar{background:red}.artist-link-button--youtube .artist-link-button__chevron{color:red}.artist-link-button--youtube:hover .artist-link-button__lightbar{background:#f33;box-shadow:0 0 5px #ff4d4d}.artist-link-button--youtube:hover .artist-link-button__chevron{color:#f33;text-shadow:0 0 10px #ff4d4d}.artist-sidebar-album{align-items:center;color:#fff;display:flex;flex-direction:column;margin:20px;text-align:center}.artist-sidebar-album:active,.artist-sidebar-album:hover{color:#fff;text-decoration:none}.artist-sidebar-album:hover .artist-sidebar-album__glow{opacity:.4}.artist-sidebar-album__badge-wrapper{position:absolute;right:10px;top:10px}.artist-sidebar-album__cover{box-shadow:0 1px 3px rgba(0,0,0,.25);height:128px;width:128px}.artist-sidebar-album--new .artist-sidebar-album__cover{box-shadow:15px -10px 50px hsla(var(--hsl-orange-1),.2)}.artist-sidebar-album__cover-wrapper{height:128px;position:relative;width:128px}.artist-sidebar-album__glow{background-position:50%;background-size:cover;filter:blur(20px);height:100%;left:0;opacity:0;position:absolute;top:0;transition:1s ease-in-out;width:100%}.artist-sidebar-album__title{color:#fff;font-size:14px;margin-top:5px;text-shadow:0 1px 3px rgba(0,0,0,.75)}.artist-track{--bg-hover:hsl(var(--hsl-b3));--cover-play-opacity:0;--cover-size:35px;align-items:center;background-color:hsl(var(--hsl-b4));border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.25);display:grid;font-size:12px;gap:5px;grid-template-columns:auto 1fr auto auto auto auto;padding:5px;width:100%}@media (min-width:900px){.artist-track{--cover-size:40px;gap:0}}.artist-track:hover{background-color:var(--bg-hover)}.artist-track:hover,.artist-track[data-audio-state=loading],.artist-track[data-audio-state=playing]{--cover-play-opacity:1}@media (min-width:900px){.artist-track--large{--cover-size:60px}}.artist-track--original{background-image:linear-gradient(to right,hsla(var(--hsl-pink-1),.2),hsla(var(--hsl-pink-1),0) 50%)}.artist-track--search{background-color:hsl(var(--hsl-b5))}.artist-track__button{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:#fff;font-size:18px;margin:0;outline:none;padding:0;text-decoration:none}.artist-track__button:active,.artist-track__button:focus,.artist-track__button:hover{color:#fff;color:hsl(var(--hsl-orange-1));text-decoration:none}.artist-track__button--play{background:hsla(var(--hsl-b6),.8);border-radius:inherit;font-size:14px;height:100%;left:0;opacity:var(--cover-play-opacity);position:absolute;top:0;width:100%}@media (min-width:900px){.artist-track__col{margin:0 10px}}.artist-track__col--badges{align-items:flex-end;display:flex;flex-direction:column;gap:2px}@media (min-width:900px){.artist-track__col--badges{margin:0}.artist-track__col--buttons{margin:0 5px}}.artist-track__col--details{align-items:center;display:grid;grid-template:"length" auto "genre" auto "bpm" auto;width:60px}@media (min-width:900px){.artist-track__col--details{grid-template:"genre genre" auto "length bpm" auto/35px 1fr;width:100px}}.artist-track__col--names{min-width:0}@media (min-width:900px){.artist-track__col--names{margin-left:20px}}.artist-track__col--preview{background-position:50%;background-size:cover;border-radius:4px;height:var(--cover-size);margin:0;position:relative;width:var(--cover-size)}.artist-track__detail{color:hsl(var(--hsl-c2))}.artist-track__detail--bpm{grid-area:bpm}.artist-track__detail--genre{grid-area:genre}.artist-track__detail--length{color:hsl(var(--hsl-c1));grid-area:length}.artist-track__info{color:hsl(var(--hsl-c2))}.artist-track__title{font-size:16px}.artist-track__version{color:hsl(var(--hsl-c2));font-size:12px}.artist-track-search-form{background-color:hsl(var(--hsl-b4))}.artist-track-search-form__advanced{display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}@media (min-width:900px){.artist-track-search-form__advanced{grid-template-columns:repeat(4,1fr)}}.artist-track-search-form__content{--vertical-gutter:20px;padding-bottom:var(--vertical-gutter);padding-left:10px;padding-right:10px;padding-top:var(--vertical-gutter)}@media (min-width:900px){.artist-track-search-form__content{padding-left:50px;padding-right:50px}}.artist-track-search-form__content--buttons{--vertical-gutter:10px;background-color:hsl(var(--hsl-b3));display:flex;gap:5px;justify-content:center}.artist-track-search-form-switches{display:grid;gap:5px;grid-template-columns:repeat(auto-fill,minmax(125px,1fr))}.artist-track-search-form-switches__link{background:hsl(var(--hsl-b3));border-radius:10000px;color:hsl(var(--hsl-c1));font-size:12px;font-weight:700;padding:2px 15px 3px;text-align:center;text-decoration:none;transition:none;white-space:nowrap}.artist-track-search-form-switches__link:active,.artist-track-search-form-switches__link:focus,.artist-track-search-form-switches__link:hover{text-decoration:none}.artist-track-search-form-switches__link:active,.artist-track-search-form-switches__link:focus{color:hsl(var(--hsl-c1))}.artist-track-search-form-switches__link:hover{background:hsl(var(--hsl-l1));color:hsl(var(--hsl-b6))}.artist-track-search-form-switches__link--active{background:hsl(var(--hsl-b1))}.artist-track-search-sort{padding:0 0 10px}.artist-track-search-sort__desktop{display:none}@media (min-width:900px){.artist-track-search-sort__desktop{display:block}}.artist-track-search-sort__mobile{display:block}@media (min-width:900px){.artist-track-search-sort__mobile{display:none}}.audio-player{--current-time:"0:00";--duration:"0:00";--progress:0;align-items:center;background-color:hsl(var(--hsl-b2));display:flex;font-family:Torus,Inter,Helvetica Neue,Tahoma,Arial,Hiragino Kaku Gothic ProN,Meiryo,Microsoft YaHei,Apple SD Gothic Neo,sans-serif;height:40px;max-width:520px;padding:5px 10px;pointer-events:auto;position:relative;text-align:left;width:100%}.audio-player--bbcode{display:inline-flex}.audio-player--main{bottom:-40px;margin-left:auto;opacity:0;transition:bottom .12s,opacity .12s}.audio-player--main[data-audio-visible="1"]{bottom:0;opacity:1}.audio-player__autoplay-button{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-appearance:none;-moz-appearance:none;background:none;border:none;display:inline-block;flex:none;font-family:Font Awesome\ 5 Free;font-style:normal;font-variant:normal;font-weight:900;line-height:1;margin:0;opacity:.5;outline:none;padding:0;text-align:center;text-rendering:auto;width:1.25em}.audio-player__autoplay-button.fa-pull-left{margin-right:.3em}.audio-player__autoplay-button.fa-pull-right{margin-left:.3em}.audio-player__autoplay-button:hover{color:hsl(var(--hsl-l1))}.audio-player__autoplay-button:before{content:"\f01e"}.audio-player[data-audio-autoplay="1"] .audio-player__autoplay-button{opacity:1}.audio-player__button{align-items:center;-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:hsl(var(--hsl-c1));display:inline-flex;flex:none;font-size:14px;justify-content:center;margin:0;outline:none;padding:5px}.audio-player__button:hover{color:hsl(var(--hsl-l1))}.audio-player__button--prev{opacity:.5;pointer-events:none}.audio-player[data-audio-has-prev="1"] .audio-player__button--prev{opacity:1;pointer-events:auto}.audio-player__button--play{font-size:16px}.audio-player__button--next{opacity:.5;pointer-events:none}.audio-player[data-audio-has-next="1"] .audio-player__button--next{opacity:1;pointer-events:auto}.audio-player__current-time:before{content:var(--current-time)}.audio-player__bar{background-color:hsl(var(--hsl-b6));border-radius:10000px;cursor:pointer;flex:1;height:2px;margin:0 5px 0 10px;--current-head-opacity:0;--bar:0;position:relative;transition:height .1s,opacity .1s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.audio-player__bar:before{bottom:-10px;content:"";display:block;left:-5px;position:absolute;right:-5px;top:-10px}.audio-player__bar:hover,.audio-player__bar[data-audio-dragging="1"]{height:6px;--current-head-opacity:1}.audio-player__bar--progress{--bar:var(--progress)}.audio-player__bar--volume{--bar:var(--volume);flex:none;width:50px}.audio-player[data-audio-volume-bar-visible="0"] .audio-player__bar--volume{display:none}.audio-player__bar-current{background-color:hsl(var(--hsl-h1));border-radius:inherit;height:100%;pointer-events:none;position:relative;width:calc(var(--bar)*100%)}.audio-player__bar-current:after{background-color:hsl(var(--hsl-h1));border-radius:50%;content:"";display:block;height:14px;opacity:var(--current-head-opacity);position:absolute;right:-7px;top:calc(50% - 7px);transition:inherit;width:14px}.audio-player__timestamps{display:flex;font-size:12px;font-variant-numeric:tabular-nums}.audio-player__timestamp{margin:0 5px;min-width:33px;text-align:right}.audio-player__timestamp:before{content:var(--timestamp,"")}.audio-player[data-audio-time-format=minute] .audio-player__timestamp{min-width:42px}.audio-player[data-audio-time-format=hour_minimal] .audio-player__timestamp{min-width:57px}.audio-player[data-audio-time-format=hour] .audio-player__timestamp{min-width:66px}.audio-player__timestamp--current{display:none}.audio-player[data-audio-has-duration="1"] .audio-player__timestamp--current{display:block;--timestamp:var(--current-time)}.audio-player__timestamp--total{color:hsl(var(--hsl-c2));--timestamp:"--:--"}.audio-player[data-audio-has-duration="1"] .audio-player__timestamp--total{--timestamp:var(--duration)}.audio-player__timestamp-separator{display:none}.audio-player[data-audio-has-duration="1"] .audio-player__timestamp-separator{display:block}.audio-player__volume-button{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-appearance:none;-moz-appearance:none;background:none;border:none;display:inline-block;flex:none;font-family:Font Awesome\ 5 Free;font-style:normal;font-variant:normal;font-weight:900;line-height:1;margin:0;outline:none;padding:0;text-align:center;text-rendering:auto;width:1.25em;--icon:"\f028"}.audio-player__volume-button.fa-pull-left{margin-right:.3em}.audio-player__volume-button.fa-pull-right{margin-left:.3em}.audio-player__volume-button:hover{color:hsl(var(--hsl-l1))}.audio-player__volume-button:before{content:var(--icon)}.audio-player[data-audio-volume=muted] .audio-player__volume-button{--icon:"\f6a9"}.audio-player[data-audio-volume=silent] .audio-player__volume-button{--icon:"\f026"}.audio-player[data-audio-volume=quiet] .audio-player__volume-button{--icon:"\f027"}.audio-player__volume-control{align-items:center;display:flex}.audio-player-floating{bottom:0;pointer-events:none;position:fixed;right:0;width:100%;z-index:501}.avatar{-webkit-appearance:none;-moz-appearance:none;background:none;background-color:#333;background-position:50%;background-repeat:no-repeat;background-size:contain;border:none;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.25);display:block;flex:none;height:70px;margin:0;outline:none;padding:0;width:70px}.avatar--beatmapset{border-radius:4px;height:50px;margin-right:5px;width:50px}.avatar--centered{margin-left:auto;margin-right:auto}.avatar--dynamic-size{height:1em;width:1em}.avatar--forum{border-radius:20px;box-shadow:none;height:0;padding-bottom:100%;width:100%}.avatar--forum-reply{align-self:flex-end;border:3px solid #fff;height:60px;margin-right:10px;width:60px}.avatar--forum-small{box-shadow:none;flex:none;height:50px;width:50px}.avatar--full{border-radius:0}.avatar--full,.avatar--full-circle{box-shadow:none;height:0;padding-bottom:100%;width:100%}.avatar--full-circle{border-radius:50%}.avatar--full-rounded{box-shadow:none;height:0;padding-bottom:100%;width:100%}.avatar--guest{background-image:-webkit-image-set(url(/assets/images/avatar-guest.8a2df920.png) 1x,url(/assets/images/avatar-guest@2x.01495bc4.png) 2x);background-image:image-set(url(/assets/images/avatar-guest.8a2df920.png) 1x,url(/assets/images/avatar-guest@2x.01495bc4.png) 2x)}.avatar--join-channel{align-items:center;border-radius:50%;box-shadow:none;display:inline-flex;height:100%;justify-content:center;padding:0;width:100%}.avatar--nav2{border-radius:50%;box-shadow:none;height:60px;overflow:hidden;position:relative;transition:width var(--header-pinned-animation-duration),height var(--header-pinned-animation-duration);width:60px}.js-header-is-pinned .avatar--nav2{height:40px;width:40px}.avatar--nav2.js-click-menu--active,.avatar--nav2:hover{box-shadow:inset 0 0 0 3px hsl(var(--hsl-c1))}.avatar--navbar-mobile{height:30px;margin-right:10px;width:30px}.avatar--profile{height:120px;width:120px}.avatar--restricted:before{background-color:rgba(0,0,0,.6);background-image:url(/assets/images/exclamation-icon.0db8a908.svg);background-position:50%;background-repeat:no-repeat;background-size:60%;content:"";height:100%;left:0;position:absolute;top:0;width:100%}.avatar--wrapped{border-radius:var(--border-radius,20px);box-shadow:none;height:0;padding-bottom:100%;width:100%}.badge-achievement{text-align:center;vertical-align:middle}.badge-achievement--dynamic-height{flex:none;height:1em;width:.93220339em}.badge-achievement--listing{width:70px}.badge-achievement--recent{margin-bottom:10px;min-width:65px;width:25%}.badge-achievement--recent-activity{height:100%}.badge-achievement__image{max-width:100%}.badge-achievement__image--big{height:118px;width:110px}.badge-achievement--dynamic-height .badge-achievement__image{vertical-align:baseline}.badge-achievement--recent .badge-achievement__image{max-width:55px}.badge-achievement--recent-activity .badge-achievement__image{height:100%}.badge-achievement--locked .badge-achievement__image{filter:saturate(0);opacity:.25}.bar{--fill:0%;background-color:#fc2;display:block;height:3px;position:relative;width:100%}.bar--beatmap-rating{background-color:#88b300;height:5px}.bar--beatmap-stats,.bar--beatmap-success-rate{background-color:hsl(var(--hsl-b6));height:5px}.bar--beatmap-success-rate{margin:5px 0 2px}.bar--double{height:6px}.bar--forum-poll{background-color:hsl(var(--hsl-b3));border-radius:10000px;height:6px}.bar--locale{background-color:#86e}.bar--user-profile{background-color:hsl(var(--hsl-b6));border-radius:10000px;height:6px}.bar__fill{height:100%;width:var(--fill)}.bar--beatmap-rating .bar__fill{background-color:#ea0}.bar--beatmap-stats .bar__fill{background-color:#fff;transition:width .25s cubic-bezier(.645,.045,.355,1)}.bar--beatmap-stats-stars .bar__fill{background-color:#fc2}.bar--beatmap-success-rate .bar__fill{background-color:#88b300;transition:width .25s cubic-bezier(.645,.045,.355,1)}.bar--forum-poll .bar__fill{background-color:hsl(var(--hsl-h1));border-radius:10000px;opacity:.5}.bar--forum-poll-voted .bar__fill{opacity:1}.bar--user-profile .bar__fill{background-color:hsl(var(--hsl-h1));border-radius:10000px}.bar__text{margin-top:2px;position:absolute;top:100%}.bar--user-profile .bar__text{right:0}.bbcode-editor{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;scrollbar-color:hsla(0,0%,100%,.5) hsla(0,0%,100%,.025)}.bbcode-editor,.bbcode-editor *{scrollbar-width:thin}.bbcode-editor ::-webkit-scrollbar{background-color:hsla(0,0%,100%,.025);-webkit-border-radius:100px;width:10px}.bbcode-editor ::-webkit-scrollbar:hover{background-color:rgba(0,0,0,.09)}.bbcode-editor ::-webkit-scrollbar:horizontal{height:10px}.bbcode-editor ::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.5);background-clip:padding-box;border:2px solid hsla(0,0%,100%,0);-webkit-border-radius:100px;min-height:10px}.bbcode-editor ::-webkit-scrollbar-thumb:active{background:hsla(0,0%,100%,.61);-webkit-border-radius:100px}.bbcode-editor--create{background-color:hsl(var(--hsl-b2));padding:15px 10px}@media (min-width:900px){.bbcode-editor--create{padding-left:50px;padding-right:50px}}.bbcode-editor--beatmapset-description-editor{background-color:hsl(var(--hsl-b2));border-radius:6px;max-height:calc(100vh - 20px);padding:15px 10px}@media (min-width:900px){.bbcode-editor--beatmapset-description-editor{padding-left:50px;padding-right:50px}}.bbcode-editor--profile-page{padding-right:var(--inner-gutter)}.bbcode-editor__body{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;flex:1 0 auto;font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-size:16px;margin:0;min-height:150px;outline:none;padding:0;resize:vertical;width:100%}.bbcode-editor__body:invalid{box-shadow:none}@media (min-width:900px){.bbcode-editor__body{font-size:14px;min-height:300px}}.bbcode-editor[data-state=preview] .bbcode-editor__body{display:none}.bbcode-editor[data-state=loading-preview] .bbcode-editor__body{opacity:.5;pointer-events:none}.bbcode-editor--beatmapset-description-editor .bbcode-editor__body{max-height:calc(80vh - 80px - 3em)}.bbcode-editor__button{margin:5px}.bbcode-editor__button--deactivate{display:none}.js-forum-topic-reply[data-state=stick] .bbcode-editor__button--deactivate{display:block}.bbcode-editor[data-state=loading-preview] .bbcode-editor__button--hide-on-preview,.bbcode-editor[data-state=preview] .bbcode-editor__button--hide-on-preview,.bbcode-editor[data-state=write] .bbcode-editor__button--hide-on-write{display:none}.bbcode-editor__buttons{display:flex;margin:5px}.bbcode-editor__buttons--actions{flex:1;justify-content:flex-end;margin:0}.bbcode-editor[data-state=loading-preview] .bbcode-editor__buttons--toolbar,.bbcode-editor[data-state=preview] .bbcode-editor__buttons--toolbar{display:none}.bbcode-editor__buttons-bar{align-items:center;display:flex;flex-direction:column;margin:auto -5px -5px}@media (min-width:900px){.bbcode-editor__buttons-bar{flex-direction:row}}.bbcode-editor__content{background-color:hsl(var(--hsl-b3));border-radius:6px;display:flex;flex:1;flex-direction:column;min-height:0;padding:10px}.bbcode-editor--create .bbcode-editor__content{padding:20px 20px 10px}.bbcode-editor--profile-page .bbcode-editor__content{background-color:transparent;padding:0 0 var(--padding-vertical)}.bbcode-editor__header{align-items:center;display:flex;margin-bottom:10px;margin-left:10px}.bbcode-editor__input-title{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;font-size:24px;margin:0 0 10px;outline:none;padding:0}.bbcode-editor__preview{display:none}.bbcode-editor[data-state=preview] .bbcode-editor__preview{display:block;margin-bottom:5px;min-height:0;overflow-y:auto}.bbcode-editor__title{color:hsl(var(--hsl-c1));flex:1;font-size:14px;font-style:normal;margin:0;padding:0}.bbcode-size-select{align-items:center;background-color:hsl(var(--hsl-b2));border-radius:10000px;box-shadow:0 1px 3px rgba(0,0,0,.25);color:hsl(var(--hsl-c1));display:inline-flex;font-size:12px;font-weight:400;height:30px;justify-content:center;margin:2px;padding:5px 10px;position:relative;text-shadow:none;text-transform:none}.bbcode-size-select__label{margin-right:10px}.bbcode-size-select__select{color:initial;cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.bbcode-spoilerbox{--link-icon:"\f105"}.bbcode-spoilerbox.js-spoilerbox--open{--link-icon:"\f107"}.bbcode-spoilerbox__body{display:none;margin-top:10px;padding-left:20px}.bbcode-spoilerbox__link{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:hsl(var(--hsl-l2));display:inline-flex;flex-wrap:wrap;font-weight:700;margin:0;max-width:100%;outline:none;overflow-wrap:anywhere;padding:0;width:-moz-max-content;width:max-content}.bbcode-spoilerbox__link:active,.bbcode-spoilerbox__link:focus,.bbcode-spoilerbox__link:hover{color:hsl(var(--hsl-l1))}.bbcode-spoilerbox__link:hover{text-decoration:underline}.bbcode-spoilerbox__link-icon{display:block;flex:none;text-align:left;width:20px}.bbcode-spoilerbox__link-icon:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:hsl(var(--hsl-c1));content:var(--link-icon);display:inline-block;flex:none;font-family:Font Awesome\ 5 Free;font-style:normal;font-variant:normal;font-weight:900;line-height:1;text-align:left;text-rendering:auto}.bbcode-spoilerbox__link-icon:before.fa-pull-left{margin-right:.3em}.bbcode-spoilerbox__link-icon:before.fa-pull-right{margin-left:.3em}.bbcode-spoilerbox__link-text{flex:1}.beatmap-basic-stats{color:#fd5;display:flex;font-size:12px;font-weight:600;gap:10px;justify-content:space-between}.beatmap-basic-stats__entry{align-items:center;display:flex;flex:none}.beatmap-basic-stats__entry-icon{background-size:contain;height:24px;margin-right:3px;width:24px}.beatmap-discussion{--base-bg:hsl(var(--hsl-b4));display:flex;transform:translateZ(0)}.beatmap-discussion--deleted{opacity:.5}.beatmap-discussion--modding-profile{--base-bg:hsl(var(--hsl-b3))}.beatmap-discussion--preview{flex-grow:1;overflow:hidden}.beatmap-discussion__actions{align-items:center;display:flex;gap:10px}.beatmap-discussion__action{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;display:flex;margin:0;outline:none;padding:0}.beatmap-discussion__action--with-line{position:relative}.beatmap-discussion__action--with-line:before{background-image:linear-gradient(to bottom,hsla(var(--hsl-b1),0),hsl(var(--hsl-b1)) 50%,hsla(var(--hsl-b1),0));content:"";height:100%;left:0;position:absolute;right:100%;top:0;width:100%;width:1px}.beatmap-discussion__discussion{background-color:var(--base-bg);box-shadow:0 1px 3px rgba(0,0,0,.25);display:flex;flex:1;flex-direction:column;margin:5px 0;min-width:0;overflow:hidden;position:relative}@media (max-width:899px){.beatmap-discussion__discussion:before{background-color:var(--discussion-colour);content:"";height:100%;overflow-anchor:none;position:absolute;right:0;top:0;width:3px}}.beatmap-discussion--highlighted .beatmap-discussion__discussion{box-shadow:0 10px 20px rgba(0,0,0,.25)}.beatmap-discussion--highlighted .beatmap-discussion__discussion:after{animation:flash .5s;background:hsla(0,0%,100%,.15);content:"";height:100%;left:0;opacity:.5;pointer-events:none;position:absolute;top:0;width:100%}@keyframes flash{0%{opacity:1}to{opacity:.5}}@media (min-width:900px){.beatmap-discussion__discussion{border-radius:4px}}.beatmap-discussion__expanded{display:flex;flex-direction:column}.beatmap-discussion__info{color:hsl(var(--hsl-f1));font-size:12px;padding:10px 60px}.beatmap-discussion__line{height:100%;left:0;position:absolute;top:0;width:5px}@media (min-width:900px){.beatmap-discussion__line{border-radius:4px 0 0 4px}}.beatmap-discussion__line--resolved{background-color:hsl(var(--hsl-lime-3))}.beatmap-discussion__link-to-parent{color:hsl(var(--hsl-f1));margin:10px 15px 10px 10px;text-decoration:none}.beatmap-discussion__link-to-parent:active,.beatmap-discussion__link-to-parent:focus,.beatmap-discussion__link-to-parent:hover{color:hsl(var(--hsl-c1));text-decoration:none}.beatmap-discussion__replies{box-shadow:inset 0 2px 3px -1px rgba(0,0,0,.25);display:flex;flex-direction:column}.beatmap-discussion__resolved{color:#680;font-size:12px;font-weight:700;margin:5px 0;text-align:center;text-transform:lowercase}.beatmap-discussion__timestamp{flex:none;overflow-anchor:none;width:50px}.beatmap-discussion--preview .beatmap-discussion__timestamp,.beatmap-discussion--timeline .beatmap-discussion__timestamp{width:110px}.beatmap-discussion__top{background-color:hsl(var(--hsl-b3));display:grid;gap:10px;grid-template-areas:"user actions" "message message";grid-template-columns:1fr auto}@media (min-width:900px){.beatmap-discussion--horizontal-desktop .beatmap-discussion__top{grid-template-areas:"user message actions";grid-template-columns:auto 1fr auto}}.beatmap-discussion--unread .beatmap-discussion__top:before{background-color:#29b;content:"";height:100%;left:0;position:absolute;top:0;width:100%;width:5px}.beatmap-discussion--review .beatmap-discussion__top{border-top:2px solid var(--group-colour,transparent)}.beatmap-discussion--single .beatmap-discussion__top{display:block;padding:10px 15px}.beatmap-discussion__top-actions{align-items:center;display:flex;grid-area:actions;height:40px}.beatmap-discussion__top-message{grid-area:message;margin:0 15px 10px}@media (min-width:900px){.beatmap-discussion--horizontal-desktop .beatmap-discussion__top-message{margin:10px 0}}.beatmap-discussion__top-user{margin-left:15px;margin-top:10px}@media (min-width:900px){.beatmap-discussion--horizontal-desktop .beatmap-discussion__top-user{border-right:2px solid var(--group-colour,hsl(var(--hsl-b5)));margin-bottom:10px}}.beatmap-discussion-editor{background-color:hsl(var(--hsl-b4));display:flex;flex-direction:column;scrollbar-color:hsla(0,0%,100%,.5) hsla(0,0%,100%,.025);scrollbar-width:thin}.beatmap-discussion-editor *{scrollbar-width:thin}.beatmap-discussion-editor ::-webkit-scrollbar{background-color:hsla(0,0%,100%,.025);-webkit-border-radius:100px;width:10px}.beatmap-discussion-editor ::-webkit-scrollbar:hover{background-color:rgba(0,0,0,.09)}.beatmap-discussion-editor ::-webkit-scrollbar:horizontal{height:10px}.beatmap-discussion-editor ::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.5);background-clip:padding-box;border:2px solid hsla(0,0%,100%,0);-webkit-border-radius:100px;min-height:10px}.beatmap-discussion-editor ::-webkit-scrollbar-thumb:active{background:hsla(0,0%,100%,.61);-webkit-border-radius:100px}.beatmap-discussion-editor--edit-mode{margin-bottom:10px}.beatmap-discussion-editor__block{position:relative}.beatmap-discussion-editor--readonly .beatmap-discussion-editor__block:hover .beatmap-discussion-editor__hover-menu{display:none}.beatmap-discussion-editor__block:hover .beatmap-discussion-editor__hover-menu{display:block}.beatmap-discussion-editor__block-count{margin-right:10px}.beatmap-discussion-editor__hover-menu{bottom:-10px;display:none;margin-left:-15px;position:absolute;text-shadow:0 1px 3px rgba(0,0,0,.75);-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:512}.beatmap-discussion-editor__button-bar{align-items:center;background:hsl(var(--hsl-b6));border-radius:0 0 4px 4px;display:flex;flex-direction:row;justify-content:space-between;padding:15px}.beatmap-discussion-editor__content{background:hsl(var(--hsl-b5));border-radius:4px;color:#fff;display:flex;flex-direction:column;margin:0 15px 15px}.beatmap-discussion-editor--edit-mode .beatmap-discussion-editor__content{border:2px solid #39c;margin:0 -15px}@media (max-width:899px){.beatmap-discussion-editor__content{margin:0}}.beatmap-discussion-editor__inner-block-count{display:flex;justify-content:flex-end;margin:-31px 10px 10px;pointer-events:none}.beatmap-discussion-editor__input-area{font-family:var(--font-content-override,var(--font-content));line-height:1.35;max-height:calc(var(--vh, 1vh)*50);overflow-y:auto;-webkit-overflow-scrolling:touch}.beatmap-discussion-editor__input-area>div{padding:15px}.beatmap-discussion-editor--edit-mode .beatmap-discussion-editor__input-area>div{padding-bottom:46px}.beatmap-discussion-editor--edit-mode .beatmap-discussion-editor__input-area{max-height:unset}.beatmap-discussion-editor--readonly .beatmap-discussion-editor__input-area{opacity:.5}.beatmap-discussion-editor__menu{color:#fff;font-size:16px}.beatmap-discussion-editor-insertion-menu{display:none;justify-content:center;pointer-events:none;position:fixed;width:100%;z-index:100}.beatmap-discussion-editor-insertion-menu:before{background:hsl(var(--hsl-b3));border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.25);content:"";height:3px;position:absolute;top:9px;width:100%}.beatmap-discussion-editor-insertion-menu__body{align-items:center;background:hsl(var(--hsl-b6));border-radius:20px;box-shadow:0 1px 3px rgba(0,0,0,.25);color:hsl(var(--hsl-f1));display:flex;font-size:12px;height:20px;justify-content:center;overflow:hidden;pointer-events:auto;position:relative;text-align:center;transition:.1s ease-in-out;width:100px;will-change:width,height}.beatmap-discussion-editor-insertion-menu__body:hover{height:30px;margin-top:-5px;width:150px}@media (max-width:899px){.beatmap-discussion-editor-insertion-menu__body{height:30px;margin-top:-5px;width:150px}}.beatmap-discussion-editor-insertion-menu__buttons{background:hsl(var(--hsl-b6));opacity:0;position:absolute;transition:opacity .1s ease-in-out;white-space:nowrap}.beatmap-discussion-editor-insertion-menu__body:hover .beatmap-discussion-editor-insertion-menu__buttons{opacity:1}@media (max-width:899px){.beatmap-discussion-editor-insertion-menu__buttons{opacity:1}}.beatmap-discussion-editor-insertion-menu__menu-button{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:hsl(var(--hsl-f1));filter:grayscale(1);margin:0;outline:none;padding:5px 10px}.beatmap-discussion-editor-insertion-menu__menu-button:hover{filter:none}.beatmap-discussion-editor-insertion-menu__menu-button--paragraph:hover{color:hsl(var(--hsl-c1))}.beatmap-discussion-editor-insertion-menu__menu-button--praise:hover{color:hsl(var(--hsl-blue-3))}.beatmap-discussion-editor-insertion-menu__menu-button--problem:hover{color:hsl(var(--hsl-red-3))}.beatmap-discussion-editor-insertion-menu__menu-button--suggestion:hover{color:hsl(var(--hsl-orange-3))}.beatmap-discussion-editor-toolbar{background-color:hsl(var(--hsl-b6));border-radius:4px;display:none;left:-10000px;position:fixed;top:-10000px;z-index:1}.beatmap-discussion-editor-toolbar__button{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:hsl(var(--hsl-f1));height:32px;margin:0;outline:none;padding:0;width:32px}.beatmap-discussion-editor-toolbar__button:hover{color:hsl(var(--hsl-c1))}.beatmap-discussion-editor-toolbar__button--active{color:hsl(var(--hsl-c2))}.beatmap-discussion-editor-toolbar__popup-tail{border-color:hsl(var(--hsl-b6)) transparent transparent transparent;border-style:solid;border-width:5px;height:0;left:calc(50% - 5px);position:absolute;width:0}.beatmap-discussion-expand{align-items:center;color:hsl(var(--hsl-b1));display:flex;font-size:15px;justify-content:center;padding:0 20px;transition:transform .2s}@media (max-width:899px){.beatmap-discussion-expand{padding:0 15px}}.beatmap-discussion-expand--expanded{transform:rotate(180deg)}.beatmap-discussion-new{background-color:hsl(var(--hsl-b4));box-shadow:0 1px 3px rgba(0,0,0,.25);display:flex;flex-direction:column}.beatmap-discussion-new__avatar{flex:none;height:45px;width:45px}.beatmap-discussion-new__content{display:flex;padding:0 20px 10px}.beatmap-discussion-new__footer{background-color:hsl(var(--hsl-b5));display:flex;flex-wrap:wrap;gap:5px;justify-content:space-between;padding:10px 20px}@media (max-width:899px){.beatmap-discussion-new__footer{flex-direction:column}}.beatmap-discussion-new__footer-content{display:flex;min-height:2em}.beatmap-discussion-new__footer-content--right{flex:1 0 auto;flex-wrap:wrap;gap:5px;justify-content:flex-end}.beatmap-discussion-new__footer-message{align-items:center;background-color:hsl(var(--hsl-b3));border-radius:0 4px 4px 0;color:#fff;display:flex;font-size:11px;padding:5px 10px;text-shadow:0 1px 3px rgba(0,0,0,.75)}.beatmap-discussion-new__footer-message--label{background-color:hsl(var(--hsl-b6));border-radius:4px 0 0 4px;flex-grow:0}.beatmap-discussion-new__login-required{padding:0 20px 20px}.beatmap-discussion-new__login-required,.beatmap-discussion-new__message{color:hsl(var(--hsl-f1));font-family:var(--font-content-override,var(--font-content));font-size:15px;line-height:1.35}.beatmap-discussion-new__message{display:flex;flex:1;flex-direction:column;padding-left:10px}.beatmap-discussion-new__message-area{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:#fff;margin:0;max-height:calc(var(--vh, 1vh)*50);min-height:3em;outline:none;padding:0;resize:vertical;width:100%;-webkit-overflow-scrolling:touch;flex:1 0 auto;font-size:16px}@media (max-width:899px){.beatmap-discussion-new__message-area{max-height:calc(var(--vh, 1vh)*40)}}.beatmap-discussion-new__message-area::-moz-placeholder{color:hsl(var(--hsl-b1))}.beatmap-discussion-new__message-area::placeholder{color:hsl(var(--hsl-b1))}@media (min-width:900px){.beatmap-discussion-new__message-area{font-size:inherit}}.beatmap-discussion-new__message-counter{font-size:12px;margin-top:5px;text-align:right}.beatmap-discussion-new__message-counter--almost-over{color:#ea0}.beatmap-discussion-new__message-counter--over{color:#ed1221;font-weight:700}.beatmap-discussion-new__notice{background-color:hsl(var(--hsl-b5));color:#fff;font-size:12px;padding:5px 20px}.beatmap-discussion-new__notice-checkbox{font-weight:400;margin:5px 0 0;text-transform:none}.beatmap-discussion-new__type{color:#999;margin:0 5px}.beatmap-discussion-new__type--active{color:#fff}.beatmap-discussion-new__types{display:flex;justify-content:center;margin-bottom:5px}.beatmap-discussion-new-float{margin-bottom:10px;pointer-events:none}.beatmap-discussion-new-float--pinned{position:sticky;z-index:1}.beatmap-discussion-new-float__content{pointer-events:auto}.beatmap-discussion-new-float__floatable{transform:translateZ(0);width:100%}.beatmap-discussion-nominations{background-color:hsl(var(--hsl-b4));color:#fff;display:flex;flex-direction:column;height:100%;padding:10px}.beatmap-discussion-nominations__discrete-bar-group{display:flex;gap:5px;margin:5px 0;min-height:5px}.beatmap-discussion-nominations__discrete-bar-group--hybrid{min-height:20px}.beatmap-discussion-nominations__header{display:flex;font-size:11px;justify-content:space-between}.beatmap-discussion-nominations__item{margin:var(--item-margin)}.beatmap-discussion-nominations__item:empty{display:none}.beatmap-discussion-nominations__items--buttons .beatmap-discussion-nominations__item{flex:none}.beatmap-discussion-nominations__item--nominators{align-items:flex-end;display:flex;flex:1 0 auto;justify-content:flex-end}.beatmap-discussion-nominations__items{--item-margin:10px;display:flex;font-size:12px;margin:calc(var(--item-margin)*-1)}.beatmap-discussion-nominations__items--buttons{--item-margin:2px;flex-wrap:wrap;justify-content:space-between;margin-top:10px}.beatmap-discussion-nominations__items--messages{flex:1 0 auto;flex-direction:column}.beatmap-discussion-nominations__items-grouping{display:flex;flex-wrap:wrap;margin-top:5px}.beatmap-discussion-nominations__title{font-weight:600}.beatmap-discussion-nominations__problems{color:hsl(var(--hsl-orange-2))}.beatmap-discussion-post{margin:10px 0;transition:background-color .1s ease-in-out}.beatmap-discussion-post--deleted{opacity:.5}.beatmap-discussion-post--discussion{margin:0;min-width:0}@media (min-width:900px){.beatmap-discussion-post--discussion{flex:1}}.beatmap-discussion-post--new-reply{background-color:hsl(var(--hsl-b5));border-radius:0 0 4px 4px;margin:0}.beatmap-discussion-post--new-reply-placeholder{background-color:transparent;display:flex;justify-content:flex-end;padding:10px}.beatmap-discussion-post--unread{position:relative}.beatmap-discussion-post--unread:before{background-color:hsl(var(--hsl-blue-3));content:"";height:100%;left:0;position:absolute;top:0;width:100%;width:5px}.beatmap-discussion-post__action{margin:0 5px;text-transform:lowercase}.beatmap-discussion-post__action--button{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:hsl(var(--hsl-l2));font-size:10px;margin:0 5px;outline:none;padding:0;text-decoration:none}.beatmap-discussion-post__action--button:active,.beatmap-discussion-post__action--button:focus,.beatmap-discussion-post__action--button:hover{color:hsl(var(--hsl-l1));text-decoration:none}.beatmap-discussion-post__action--cancel{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:hsl(var(--hsl-f1));height:60px;margin:0;outline:none;padding:0;position:absolute;right:0;width:60px}.beatmap-discussion-post__actions{display:flex}.beatmap-discussion-post--editing .beatmap-discussion-post__actions,.beatmap-discussion-post--new-reply .beatmap-discussion-post__actions{justify-content:flex-end}.beatmap-discussion-post--editing.beatmap-discussion-post--reply .beatmap-discussion-post__actions{margin-top:5px}.beatmap-discussion-post__actions-group{align-items:center;display:flex;margin:0 -5px}.beatmap-discussion-post__avatar{flex:none;height:40px;margin-bottom:5px;width:40px}@media (min-width:900px){.beatmap-discussion-post__avatar{margin-bottom:0;margin-right:10px}}.beatmap-discussion-post__content{display:flex;flex:none;flex-direction:column;min-width:0;overflow-anchor:none;padding:0 15px}@media (min-width:900px){.beatmap-discussion-post__content{flex:1;flex-direction:row}}.beatmap-discussion-post--discussion .beatmap-discussion-post__content{padding:0}.beatmap-discussion--preview .beatmap-discussion-post--reply .beatmap-discussion-post__content,.beatmap-discussion-review-post-embed .beatmap-discussion-post--reply .beatmap-discussion-post__content{padding:10px 15px}@media (min-width:900px){.beatmap-discussion-post--reply .beatmap-discussion-post__content{padding-left:60px;padding-right:60px}}.beatmap-discussion-post--new-reply .beatmap-discussion-post__content{padding-bottom:0;padding-top:10px}.beatmap-discussion-post__footer{padding:10px}.beatmap-discussion-post__footer--notice{align-items:flex-end;color:hsl(var(--hsl-f1));display:flex;font-size:12px;justify-content:space-between;padding-bottom:0;padding-top:0}.beatmap-discussion-post--reply .beatmap-discussion-post__footer{padding-left:15px;padding-right:15px}@media (min-width:900px){.beatmap-discussion-post--reply .beatmap-discussion-post__footer{padding-left:60px;padding-right:60px}}.beatmap-discussion-post__info{color:hsl(var(--hsl-f1));font-size:10px;margin-right:10px}.beatmap-discussion-post__info-container{display:flex;flex-wrap:wrap}.beatmap-discussion-post--reply .beatmap-discussion-post__info-container:after{align-self:center;content:"";flex:1;height:1px}.beatmap-discussion-post__info-user{font-weight:600;opacity:.5}.beatmap-discussion-post__message{color:#fff;font-family:var(--font-content-override,var(--font-content));line-height:1.35;margin-bottom:10px;word-break:break-word}.beatmap-discussion-post--discussion .beatmap-discussion-post__message{font-size:15px}.beatmap-discussion-post--reply .beatmap-discussion-post__message{font-size:13px}.beatmap-discussion-post__message::-moz-placeholder{color:hsl(var(--hsl-f1))}.beatmap-discussion-post__message::placeholder{color:hsl(var(--hsl-f1))}.beatmap-discussion-post__message--editor{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;margin:0;min-height:3em;outline:none;padding:0;resize:vertical;width:100%}.beatmap-discussion-post--reply .beatmap-discussion-post__message--editor,.beatmap-discussion-post__message--editor{font-size:16px}@media (min-width:900px){.beatmap-discussion-post--reply .beatmap-discussion-post__message--editor,.beatmap-discussion-post__message--editor{font-size:13px}}.beatmap-discussion-post__message-container{display:flex;flex:none;flex-direction:column;min-width:0}@media (min-width:900px){.beatmap-discussion-post__message-container{flex:1}}.beatmap-discussion-review-post__block{white-space:pre-wrap}.beatmap-discussion-review-post-embed-preview{--stripe-colour:hsl(var(--hsl-b5));background-color:hsl(var(--hsl-b4));border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.25);display:flex;flex:1;flex-direction:column;margin:5px 0;min-width:0;overflow:hidden;padding:5px 10px}.beatmap-discussion-review-post-embed-preview--lighter{--stripe-colour:hsl(var(--hsl-b4))}.beatmap-discussion-review-post-embed-preview--praise{--stripe-colour:hsl(var(--hsl-blue-3))}.beatmap-discussion-review-post-embed-preview--resolved{--stripe-colour:hsl(var(--hsl-lime-3))}.beatmap-discussion-review-post-embed-preview__content{align-items:flex-start;display:flex}@media (max-width:899px){.beatmap-discussion-review-post-embed-preview__content{flex-direction:column}}.beatmap-discussion-review-post-embed-preview__delete{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:hsl(var(--hsl-f1));height:32px;margin:10px 0 0 10px;opacity:.5;outline:none;padding:5px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.beatmap-discussion-review-post-embed-preview__delete:hover{opacity:1}.beatmap-discussion-review-post-embed-preview__indicator{align-self:center;color:hsl(var(--hsl-blue-3));margin-left:10px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.beatmap-discussion-review-post-embed-preview__indicator--warning{color:hsl(var(--hsl-orange-3))}@media (min-width:900px){.beatmap-discussion-review-post-embed-preview__selectors>.beatmap-discussion-review-post-embed-preview__indicator{display:none}}@media (max-width:899px){.beatmap-discussion-review-post-embed-preview__content>.beatmap-discussion-review-post-embed-preview__indicator{display:none}}.beatmap-discussion-review-post-embed-preview__link{padding:5px}@media (min-width:900px){.beatmap-discussion-review-post-embed-preview__selectors>.beatmap-discussion-review-post-embed-preview__link{display:none}}@media (max-width:899px){.beatmap-discussion-review-post-embed-preview__content>.beatmap-discussion-review-post-embed-preview__link{display:none}}.beatmap-discussion-review-post-embed-preview__link-text{color:hsl(var(--hsl-f1));text-decoration:none}.beatmap-discussion-review-post-embed-preview__link-text:active,.beatmap-discussion-review-post-embed-preview__link-text:focus,.beatmap-discussion-review-post-embed-preview__link-text:hover{color:hsl(var(--hsl-c1));text-decoration:none}.beatmap-discussion-review-post-embed-preview__message-container{flex:1;margin:5px 0;word-break:break-word}.beatmap-discussion-review-post-embed-preview__missing{color:hsl(var(--hsl-f1));flex:1;margin:10px;text-align:center}.beatmap-discussion-review-post-embed-preview__selectors{align-items:center;display:flex;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (min-width:900px){.beatmap-discussion-review-post-embed-preview__selectors{width:130px}}@media (max-width:899px){.beatmap-discussion-review-post-embed-preview__selectors{width:100%}}.beatmap-discussion-review-post-embed-preview__stripe{align-self:stretch;background-color:var(--stripe-colour);border-radius:5px;display:flex;margin:0 15px;padding:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:2px}@media (min-width:900px){.beatmap-discussion-review-post-embed-preview__selectors>.beatmap-discussion-review-post-embed-preview__stripe{display:none}}@media (max-width:899px){.beatmap-discussion-review-post-embed-preview__content>.beatmap-discussion-review-post-embed-preview__stripe{display:none}}.beatmap-discussion-review-post-embed-preview__timestamp{color:hsl(var(--hsl-f1));flex-grow:1;font-size:9px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.beatmap-discussion-system-post{font-size:10px;margin:15px}@media (min-width:900px){.beatmap-discussion-system-post{margin-left:60px;margin-right:60px}}.beatmap-discussion-system-post--resolved{color:hsl(var(--hsl-lime-3));display:flex}.beatmap-discussion-system-post--resolved:after{align-self:center;background-color:hsl(var(--hsl-lime-3));content:"";flex:1;height:1px;margin-left:10px}.beatmap-discussion-system-post--deleted{opacity:.5}.beatmap-discussion-system-post__user{color:#fff}.beatmap-discussion-system-post__user:active,.beatmap-discussion-system-post__user:focus,.beatmap-discussion-system-post__user:hover{color:hsl(var(--hsl-l1))}.beatmap-discussion-timestamp{align-items:center;display:flex;height:70px}.beatmap-discussion-timestamp--sticky{position:sticky;top:calc(var(--navbar-height) + 36px)}.beatmap-discussion-timestamp__icons{display:flex;gap:5px}.beatmap-discussion-timestamp__icons-container{margin-left:5px}.beatmap-discussion-timestamp__text{color:hsl(var(--hsl-f1));font-size:9px;height:0}.beatmap-discussion-timestamp__point{background-color:hsl(var(--hsl-b6));border-radius:50%;height:7px;margin:0 4px;width:7px}.beatmap-discussion-timestamp-decoration{background-color:hsl(var(--hsl-b6));border-radius:6px;color:hsl(var(--hsl-f1));display:inline-block;font-size:85%;font-weight:600;padding:1px 5px;text-decoration:none}.beatmap-discussion-timestamp-decoration:active,.beatmap-discussion-timestamp-decoration:focus,.beatmap-discussion-timestamp-decoration:hover{background-color:hsl(var(--hsl-b5));color:hsl(var(--hsl-l1));text-decoration:none}.beatmap-discussion-user-card{align-items:flex-start;display:flex;flex:none;margin-bottom:5px}@media (min-width:900px){.beatmap-discussion-user-card{margin-bottom:0;margin-right:10px}}.beatmap-discussion-user-card__avatar{flex:none;height:40px;width:40px}.beatmap-discussion-user-card--new-reply .beatmap-discussion-user-card__avatar{margin-bottom:5px}@media (min-width:900px){.beatmap-discussion-user-card--new-reply .beatmap-discussion-user-card__avatar{margin-bottom:0;margin-right:10px}}.beatmap-discussion-user-card__user{align-items:flex-start;display:flex;flex:1;flex-direction:column;justify-content:center;margin:0 5px}@media (min-width:900px){.beatmap-discussion-user-card__user{flex:none;min-width:150px}}.beatmap-discussion-user-card__user-badge{margin-top:2px;min-height:16px}.beatmap-discussion-user-card__user-link{color:#fff;display:flex;font-size:13px;font-weight:600;max-width:120px}.beatmap-discussion-user-card__user-link:active,.beatmap-discussion-user-card__user-link:focus,.beatmap-discussion-user-card__user-link:hover{color:#fff}.beatmap-discussion-user-card__user-modding-history-link{color:#fff;color:hsl(var(--hsl-l1));font-size:10px;margin-left:5px}.beatmap-discussion-user-card__user-modding-history-link:active,.beatmap-discussion-user-card__user-modding-history-link:focus,.beatmap-discussion-user-card__user-modding-history-link:hover{color:hsl(var(--hsl-l1))}.beatmap-discussion-user-card__user-row{align-items:baseline;display:flex}.beatmap-discussion-user-card__user-stripe{align-self:stretch;background-color:var(--group-colour,hsl(var(--hsl-b5)));border-radius:1px;flex:none;width:2px}@media (max-width:899px){.beatmap-discussion-post--discussion .beatmap-discussion-user-card__user-stripe{display:none}}.beatmap-discussion-vote{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;display:flex;font-size:12px;margin:0;outline:none;padding:0;transition:all .1s ease-in-out}.beatmap-discussion-vote--up,.beatmap-discussion-vote--up:hover{color:hsl(var(--hsl-lime-3))}.beatmap-discussion-vote--down,.beatmap-discussion-vote--down:hover{color:hsl(var(--hsl-orange-2))}.beatmap-discussion-vote--inactive{color:hsl(var(--hsl-f1))}.beatmap-discussion-vote[disabled]{background-color:hsl(var(--hsl-b3));color:hsl(var(--hsl-b1));cursor:default}.beatmap-discussion-vote[disabled]:hover{color:hsl(var(--hsl-b1))}.beatmap-discussion-vote__count{color:#fff;padding-left:5px}.beatmap-discussion-vote--inactive .beatmap-discussion-vote__count{color:hsl(var(--hsl-f1))}.beatmap-discussion-vote[disabled] .beatmap-discussion-vote__count{color:hsl(var(--hsl-b1))}.beatmap-discussions{background-color:hsl(var(--hsl-b4));box-shadow:0 1px 3px rgba(0,0,0,.25);display:flex;flex-direction:column}.beatmap-discussions__discussions{background-color:hsl(var(--hsl-b5));padding:10px 20px;position:relative}.beatmap-discussions__discussions--empty{font-size:12px}@media (max-width:899px){.beatmap-discussions__discussions{padding:10px 0}}.beatmap-discussions__mode{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;display:block;margin:0;outline:none;padding:0}.beatmap-discussions__mode-container{align-items:center;display:flex;padding:5px 0}.beatmap-discussions__mode-circle{background-color:hsl(var(--hsl-b6));border-radius:50%;height:15px;overflow-anchor:none;width:15px}.beatmap-discussions__mode-text{font-size:10px}.beatmap-discussions__timeline-line{background-color:hsl(var(--hsl-b6));height:calc(100% - 35px);left:20px;margin:0 6px;overflow-anchor:none;position:absolute;top:17.5px;width:3px}.beatmap-discussions__timeline-line--half{height:50%}.beatmap-discussions__timeline-line--bottom{top:50%}.beatmap-discussions__toolbar{display:flex;flex-direction:column;padding:0 15px}@media (min-width:900px){.beatmap-discussions__toolbar{flex-direction:row}}.beatmap-discussions__toolbar-content{display:flex}.beatmap-discussions__toolbar-content--right{flex:1;justify-content:flex-end}.beatmap-discussions__toolbar-item{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;margin:5px;outline:none;padding:0}.beatmap-discussions__toolbar-item--link{border-radius:4px;color:#fff;font-size:12px;padding:5px 10px;text-decoration:none}.beatmap-discussions__toolbar-item--link:active,.beatmap-discussions__toolbar-item--link:focus,.beatmap-discussions__toolbar-item--link:hover{text-decoration:none}.beatmap-discussions__toolbar-item--link:hover{background-color:hsl(var(--hsl-b3))}.beatmap-discussions__toolbar-link-content+.beatmap-discussions__toolbar-link-content{margin-left:5px}.beatmap-discussions-header-bottom{box-shadow:0 1px 3px rgba(0,0,0,.25),inset 0 2px 3px -1px rgba(0,0,0,.25);--gutter:10px;background-color:hsl(var(--hsl-b5));display:flex;flex-direction:column;margin-bottom:10px;padding:0 var(--gutter)}@media (min-width:900px){.beatmap-discussions-header-bottom{--gutter:20px;align-items:stretch;flex-direction:row}.beatmap-discussions-header-bottom__content{flex:1}}.beatmap-discussions-header-bottom__content--details{display:flex;flex-direction:column;margin:-5px;padding:20px 10px 10px 0}@media (max-width:899px){.beatmap-discussions-header-bottom__content--details{align-self:center;padding:15px 5px 5px}}.beatmap-discussions-header-bottom__content--nomination{margin-top:10px;min-width:0}@media (min-width:900px){.beatmap-discussions-header-bottom__content--nomination{flex-basis:30%}}.beatmap-discussions-header-bottom__details{display:flex;flex:none;margin:5px}.beatmap-discussions-header-bottom__details--full{flex:1}.beatmap-discussions-header-top{background-color:hsl(var(--hsl-b2));box-shadow:0 1px 3px rgba(0,0,0,.25);--box-height:50px;--gutter:10px}@media (min-width:900px){.beatmap-discussions-header-top{--gutter:40px}}.beatmap-discussions-header-top__basic-stats{grid-area:stats;padding:10px 10px 0}.beatmap-discussions-header-top__beatmap-stats{background-color:hsl(var(--hsl-b4));display:grid;grid-template-areas:"owners stats" "chart chart";grid-template-columns:1fr auto;position:relative}@media (max-width:479px){.beatmap-discussions-header-top__beatmap-stats{grid-template-areas:"stats" "owners" "chart"}}.beatmap-discussions-header-top__chart{grid-area:chart}.beatmap-discussions-header-top__content{padding:70px var(--gutter) 0;position:relative}.beatmap-discussions-header-top__cover{--border-radius:0}.beatmap-discussions-header-top__cover:after{background-color:hsla(var(--hsl-b5),60%);content:"";height:100%;left:0;position:absolute;top:0;width:100%}.beatmap-discussions-header-top__title-container{align-items:flex-start;display:inline-flex;flex-direction:column;position:relative;text-shadow:0 1px 3px rgba(0,0,0,.75)}.beatmap-discussions-header-top__filter-group{flex:1 1 auto;min-width:0}.beatmap-discussions-header-top__filter-group+.beatmap-discussions-header-top__filter-group{margin-top:10px}@media (min-width:900px){.beatmap-discussions-header-top__filter-group{align-self:flex-end}.beatmap-discussions-header-top__filter-group+.beatmap-discussions-header-top__filter-group{margin-top:0}.beatmap-discussions-header-top__filter-group--stats{align-items:flex-end;display:flex;flex:none;flex-direction:column}}.beatmap-discussions-header-top__filters{display:flex;flex-direction:column;margin:10px 0;position:relative}@media (min-width:900px){.beatmap-discussions-header-top__filters{flex-direction:row;justify-content:space-between}}.beatmap-discussions-header-top__owners{font-size:14px;grid-area:owners;overflow-wrap:anywhere;padding:10px 10px 0}.beatmap-discussions-header-top__stats{display:flex;flex:none;flex-wrap:wrap;margin:5px -5px}@media (min-width:900px){.beatmap-discussions-header-top__stats{margin-bottom:-5px;margin-left:5px}}.beatmap-discussions-header-top__title{color:inherit;font-size:24px;font-weight:600;margin:0}.beatmap-discussions-header-top__title--artist{font-size:15px;font-weight:400}.beatmap-icon{color:var(--diff);display:flex;font-size:22px}.beatmap-icon--beatmapset{font-size:24px;position:relative}.beatmap-list{color:#fff;min-width:0;position:relative}.beatmap-list--selecting{z-index:512}.beatmap-list__body{height:var(--box-height);min-width:0}.beatmap-list__item{align-items:center;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:10px;padding:3px 10px;text-align:left}.beatmap-list__item,.beatmap-list__item:active,.beatmap-list__item:focus,.beatmap-list__item:hover{text-decoration:none}.beatmap-list__item:active,.beatmap-list__item:focus,.beatmap-list__item:hover{color:#fff}.beatmap-list__item:hover{background-color:hsl(var(--hsl-b6))}.beatmap-list__item--selected{background-color:hsl(var(--hsl-b5));border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.25);box-shadow:0 0 0 2px rgba(0,0,0,.25);font-size:inherit;height:100%;min-width:0;padding-bottom:10px;padding-top:10px}.beatmap-list__item--current,.beatmap-list__item--selected:hover{background-color:hsl(var(--hsl-b6))}.beatmap-list__item-count{background-color:hsl(var(--hsl-b2));border-radius:4px;color:hsl(var(--hsl-b5));font-size:.7em;font-weight:700;margin-left:10px;padding:2px 5px}.beatmap-list__item-selector-button{margin-left:auto}.beatmap-list__selector{display:flex;flex-direction:column;max-height:70vh;overflow-y:scroll}.beatmap-list__selector-container{background-color:hsl(var(--hsl-b5));border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.25);display:none;left:0;margin-top:5px;max-width:min(max(90vw,100%),1000px);min-width:100%;padding:10px 0;position:absolute;scrollbar-color:hsla(0,0%,100%,.5) hsla(0,0%,100%,.025);scrollbar-width:thin;top:100%;width:-moz-max-content;width:max-content}.beatmap-list__selector-container *{scrollbar-width:thin}.beatmap-list__selector-container ::-webkit-scrollbar{background-color:hsla(0,0%,100%,.025);-webkit-border-radius:100px;width:10px}.beatmap-list__selector-container ::-webkit-scrollbar:hover{background-color:rgba(0,0,0,.09)}.beatmap-list__selector-container ::-webkit-scrollbar:horizontal{height:10px}.beatmap-list__selector-container ::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.5);background-clip:padding-box;border:2px solid hsla(0,0%,100%,0);-webkit-border-radius:100px;min-height:10px}.beatmap-list__selector-container ::-webkit-scrollbar-thumb:active{background:hsla(0,0%,100%,.61);-webkit-border-radius:100px}.beatmap-list--selecting .beatmap-list__selector-container{display:grid}.beatmap-list-item{display:grid;gap:.4em;grid-template-columns:auto auto 1fr;min-width:0;--difficulty-badge-width:max-content;--main-width:0}.beatmap-list-item--deleted{opacity:.5}.beatmap-list-item--inline{display:inline-grid}.beatmap-list-item--full-width{--main-width:auto}.beatmap-list-item__col--icon{align-items:center;display:inline-flex;font-size:1.25em;justify-content:center;width:1em}.beatmap-list-item__col--main{align-self:baseline;min-width:var(--main-width);white-space:nowrap}.beatmap-list-item__mapper{color:hsl(var(--hsl-c2));font-size:.87em}.beatmap-list-item__version{-webkit-text-decoration:var(--version-text-decoration,none);text-decoration:var(--version-text-decoration,none)}.beatmap-list-item__version-link{color:#fff;text-decoration:none}.beatmap-list-item__version-link:active,.beatmap-list-item__version-link:focus,.beatmap-list-item__version-link:hover{color:#fff;text-decoration:none}.beatmap-owner{background-color:hsla(var(--hsl-b5),.8);border-radius:6px;display:flex;gap:2px}.beatmap-owner__avatar{height:20px;width:20px}.beatmap-owner__remove{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;border-radius:50%;display:flex;margin:2px;opacity:.7;outline:none;padding:0 .3em;place-items:center;visibility:hidden}.beatmap-owner__remove:active,.beatmap-owner__remove:focus,.beatmap-owner__remove:hover{background-color:hsl(var(--hsl-b1));opacity:1}.beatmap-owner__remove--editing{visibility:visible}.beatmap-owner__user{align-items:center;display:flex;gap:5px}.beatmap-owner-editor{display:contents}.beatmap-owner-editor__avatar{height:20px;width:20px}.beatmap-owner-editor__col{align-items:center;display:flex;gap:5px}.beatmap-owner-editor__col--buttons{display:flex;justify-content:flex-end}.beatmap-owner-editor__col--version{margin-right:5px}@media (min-width:900px){.beatmap-owner-editor__col--version{margin-right:20px}}.beatmap-owner-editor__button{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:hsl(var(--hsl-l2));margin:0;outline:none;padding:0}.beatmap-owner-editor__button:active,.beatmap-owner-editor__button:focus,.beatmap-owner-editor__button:hover{color:hsl(var(--hsl-l1))}.beatmap-owner-editor__button[disabled]{opacity:.5}.beatmap-owner-editor__user{align-items:center;display:flex;gap:5px}.beatmap-owner-editor-owners{border-radius:6px;display:flex;flex-direction:row;flex-wrap:wrap;gap:2px;padding:var(--input-padding)}.beatmap-owner-editor-owners--editing{background:var(--input-bg);box-shadow:inset 0 0 0 2px var(--input-border-colour)}.beatmap-pack{box-shadow:0 1px 3px rgba(0,0,0,.25);color:#fff;margin:2px 0;width:100%}.beatmap-pack--expanded,.beatmap-pack.js-accordion__item--expanded{box-shadow:0 10px 20px rgba(0,0,0,.25);z-index:1}.beatmap-pack__body{background-color:hsl(var(--hsl-b3))}.beatmap-pack__date{font-size:90%}.beatmap-pack__details{color:hsl(var(--hsl-c1));justify-content:flex-end;margin-left:auto;padding-left:20px;text-align:right}.beatmap-pack__header{background-color:hsl(var(--hsl-b3));color:#fff;display:flex;padding:15px 20px;text-decoration:none}.beatmap-pack__header:active,.beatmap-pack__header:focus,.beatmap-pack__header:hover{color:#fff;text-decoration:none}.beatmap-pack--expanded .beatmap-pack__header,.beatmap-pack__header:hover,.js-accordion__item--expanded .beatmap-pack__header{background-color:hsl(var(--hsl-b2))}.beatmap-pack--expanded .beatmap-pack__name,.js-accordion__item--expanded .beatmap-pack__name{font-weight:600}.beatmap-pack-description{border-bottom:1px solid hsl(var(--hsl-b4));line-height:1.75;padding:20px}.beatmap-pack-description__link{font-size:120%;font-weight:700}.beatmap-pack-items{line-height:1.5;margin:0;padding:20px}.beatmap-pack-items__artist{font-weight:600;margin-left:8px}.beatmap-pack-items__icon{color:hsl(var(--hsl-b5))}.beatmap-pack-items__icon--cleared{color:hsl(var(--hsl-l1))}.beatmap-pack-items__link{color:#fff}.beatmap-pack-items__link:active,.beatmap-pack-items__link:focus,.beatmap-pack-items__link:hover{color:hsl(var(--hsl-l1))}.beatmap-pack-items__set{list-style:none}.beatmap-packs{background-color:hsl(var(--hsl-b4));padding:20px}.beatmap-packs-header{background-color:hsl(var(--hsl-d3));color:hsl(var(--hsl-c1));font-size:14px;font-weight:300;line-height:1.3;padding:20px 40px;text-align:center}.beatmap-packs-header__important{font-size:110%;font-weight:600;letter-spacing:.1em}.beatmap-playcount{--border-radius:6px 0 0 6px;background-color:#000;border-radius:6px;color:#fff;display:flex;line-height:normal;margin-bottom:2px}.beatmap-playcount__artist{margin-right:10px}@media (min-width:900px){.beatmap-playcount__artist{display:none}}.beatmap-playcount__count{align-items:center;color:#fc2;display:flex;font-size:20px}.beatmap-playcount__count-icon{font-size:.6em;margin-right:5px;margin-top:.2em}.beatmap-playcount__cover{background-position:50%;background-repeat:no-repeat;background-size:cover;flex:none;height:60px;position:relative;width:70px}.beatmap-playcount__cover-count{align-items:center;background-color:rgba(0,0,0,.75);border-radius:var(--border-radius);display:inline-flex;height:100%;justify-content:center;left:0;padding-right:6px;position:absolute;top:0;width:100%}@media (min-width:900px){.beatmap-playcount__cover-count{display:none}}.beatmap-playcount__detail{align-items:center;background-color:hsl(var(--hsl-b3));border-radius:6px;display:flex;flex:1;margin-left:-6px;min-width:0;padding:0 10px;position:relative}.beatmap-playcount:hover .beatmap-playcount__detail{background-color:hsl(var(--hsl-b2))}.beatmap-playcount__detail-count{align-items:center;display:none}@media (min-width:900px){.beatmap-playcount__detail-count{display:flex}}.beatmap-playcount__info{flex:1;min-width:0}.beatmap-playcount__info-row{font-size:12px}.beatmap-playcount__mapper{color:hsl(var(--hsl-f1))}.beatmap-playcount__mapper-link{color:hsl(var(--hsl-f1));font-weight:700}.beatmap-playcount__mapper-link:active,.beatmap-playcount__mapper-link:focus,.beatmap-playcount__mapper-link:hover{color:hsl(var(--hsl-l1))}.beatmap-playcount__title{color:#fff;font-size:16px;font-weight:700;min-width:0}.beatmap-playcount__title:active,.beatmap-playcount__title:focus,.beatmap-playcount__title:hover{color:#fff}.beatmap-playcount__title-artist{display:none;font-weight:400}@media (min-width:900px){.beatmap-playcount__title-artist{display:inline}}.beatmap-score-top{display:flex;flex-direction:column;position:relative}.beatmap-score-top__achieved{font-size:10px;margin-bottom:2px}.beatmap-score-top__avatar{flex:none;margin:0 10px}.beatmap-score-top__flags{display:flex;font-size:20px;gap:5px}.beatmap-score-top__link-container{height:100%;left:0;position:absolute;top:0;width:100%}.beatmap-score-top__position{font-size:18px;font-weight:700;line-height:1;text-align:right}.beatmap-score-top__position-number{color:#fff;display:block;padding-bottom:5px;text-decoration:none}.beatmap-score-top__position-number:active,.beatmap-score-top__position-number:focus,.beatmap-score-top__position-number:hover{color:#fff;text-decoration:none}.beatmap-score-top__section{align-items:center;background-color:hsl(var(--hsl-b3));border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.25);display:flex;justify-content:space-between;padding:10px;pointer-events:none;position:relative;width:100%}@media (max-width:899px){.beatmap-score-top__section{flex-direction:column}}.beatmap-score-top__stat{display:flex;flex-direction:column;margin-right:10px}@media (max-width:899px){.beatmap-score-top__stat{margin-bottom:10px;margin-top:10px}}.beatmap-score-top__stat-header{border-bottom:2px solid hsl(var(--hsl-b3));color:hsl(var(--hsl-f1));font-size:10px;font-weight:700;min-width:50px;padding-bottom:2px;text-transform:uppercase;white-space:nowrap}.beatmap-score-top__stat-header--wider{min-width:80px;width:100%}.beatmap-score-top__stat-header--mods{min-width:30px;width:100%}.beatmap-score-top__stat-value{color:#fff;font-size:22px;font-weight:300;line-height:.9;margin-top:4px}.beatmap-score-top__stat-value--mods{display:flex;--mod-height:18px}.beatmap-score-top__stat-value--perfect{color:hsl(var(--hsl-lime-1))}.beatmap-score-top__stat-value--smaller{font-size:16px;font-weight:500}.beatmap-score-top__stats{display:flex;flex-shrink:1;justify-content:space-around}@media (min-width:900px){.beatmap-score-top__stats{justify-content:flex-end;margin:5px 10px 5px 0}}.beatmap-score-top__stats--wrappable{flex-wrap:wrap}.beatmap-score-top__user-box{display:grid;flex:none;gap:4px}@media (min-width:900px){.beatmap-score-top__user-box{margin-right:10px}}.beatmap-score-top__username{color:#fff;display:block;font-size:18px;font-weight:700}.beatmap-score-top__username:active,.beatmap-score-top__username:focus,.beatmap-score-top__username:hover{color:hsl(var(--hsl-l1))}.beatmap-score-top__wrapping-container{align-items:center;display:flex;flex-direction:row}.beatmap-score-top__wrapping-container--left{flex-shrink:0}.beatmap-score-top__wrapping-container--right{align-items:flex-start;flex-wrap:wrap;justify-content:flex-end;width:100%}@media (max-width:899px){.beatmap-score-top__wrapping-container--right{justify-content:space-around}}.beatmap-scoreboard-mod{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;cursor:pointer;margin:2px;opacity:var(--scoreboard-mod-opacity,.5);outline:none;padding:0}.beatmap-scoreboard-mod--enabled,.beatmap-scoreboard-mod:hover{--scoreboard-mod-opacity:1}.beatmap-scoreboard-table{--default-color:#fff;--padding-h:4px;--perfect-color:hsl(var(--hsl-lime-1));--row-background-color:hsl(var(--hsl-b4));--row-background-color-highlight:hsl(var(--hsl-b2));--zero-color:hsla(0,0%,100%,.4);margin-right:-16px;overflow-x:auto;transform:translateZ(0)}@media (max-width:899px){.beatmap-scoreboard-table{margin-right:0}}.beatmap-scoreboard-table__table{font-size:12px;min-width:800px;width:100%}.beatmap-scoreboard-table__header{color:hsl(var(--hsl-f1));font-size:10px;font-weight:700;padding:0 var(--padding-h) 5px;text-transform:uppercase}.beatmap-scoreboard-table__header--rank{text-align:right;width:40px}.beatmap-scoreboard-table__header--accuracy,.beatmap-scoreboard-table__header--grade,.beatmap-scoreboard-table__header--score{width:70px}.beatmap-scoreboard-table__header--flag{width:25px}.beatmap-scoreboard-table__header--player{width:180px}.beatmap-scoreboard-table__header--maxcombo{width:100px}.beatmap-scoreboard-table__header--hitstat{max-width:55px;min-width:30px;white-space:nowrap}.beatmap-scoreboard-table__header--hitstat-miss,.beatmap-scoreboard-table__header--pp{width:50px}.beatmap-scoreboard-table__header--mods{min-width:50px;padding-left:5px}.beatmap-scoreboard-table__header--popup-menu{width:16px}.beatmap-scoreboard-table__body-row:nth-child(odd){--row-background-color:hsl(var(--hsl-b3))}.beatmap-scoreboard-table__body-row--menu-active,.beatmap-scoreboard-table__body-row:hover{--zero-color:#fff}.beatmap-scoreboard-table--menu-active .beatmap-scoreboard-table__body-row--highlightable{pointer-events:none}.beatmap-scoreboard-table__body-row.beatmap-scoreboard-table__body-row--friend{--row-background-color:rgba(238,170,0,.2);--row-background-color-highlight:rgba(255,206,85,.2)}.beatmap-scoreboard-table__body-row.beatmap-scoreboard-table__body-row--self{--row-background-color:rgba(102,136,0,.3);--row-background-color-highlight:rgba(179,238,0,.3)}.beatmap-scoreboard-table__cell{background-color:var(--row-background-color)}.beatmap-scoreboard-table__body-row--menu-active .beatmap-scoreboard-table__cell,.beatmap-scoreboard-table__body-row:hover .beatmap-scoreboard-table__cell{background-color:var(--row-background-color-highlight)}.beatmap-scoreboard-table__cell:first-child{border-bottom-left-radius:5px;border-top-left-radius:5px}.beatmap-scoreboard-table__cell:nth-last-child(2){border-bottom-right-radius:5px;border-top-right-radius:5px;width:1%}.beatmap-scoreboard-table__cell--player{max-width:200px}.beatmap-scoreboard-table__cell-content{align-items:center;color:var(--default-color);display:flex;gap:5px;height:1.8em;padding:0 var(--padding-h);position:relative;text-decoration:none}.beatmap-scoreboard-table__cell-content:active,.beatmap-scoreboard-table__cell-content:focus,.beatmap-scoreboard-table__cell-content:hover{color:var(--default-color);text-decoration:none}.beatmap-scoreboard-table__cell-content--bg-link{inset:0;position:absolute}.beatmap-scoreboard-table__cell-content--grade{justify-content:center}.beatmap-scoreboard-table__cell-content--mods{padding-right:10px}.beatmap-scoreboard-table__cell-content--perfect{--default-color:var(--perfect-color)}.beatmap-scoreboard-table__cell-content--rank{font-weight:700;justify-content:flex-end}.beatmap-scoreboard-table__body-row--first .beatmap-scoreboard-table__cell-content--score{font-weight:700}.beatmap-scoreboard-table__cell-content--time{white-space:nowrap}.beatmap-scoreboard-table__cell-content--zero{--default-color:var(--zero-color)}.beatmap-scoreboard-table__mods{display:flex;position:relative;width:-moz-max-content;width:max-content;--mod-height:18px}.beatmap-scoreboard-table__popup-menu{position:relative}.beatmap-scoreboard-table__body-row--menu-active .beatmap-scoreboard-table__popup-menu{opacity:1}.beatmap-scoreboard-table__body-row--highlightable .beatmap-scoreboard-table__popup-menu{opacity:0}@media (max-width:899px){.beatmap-scoreboard-table__body-row--highlightable .beatmap-scoreboard-table__popup-menu{opacity:1}}.beatmap-scoreboard-table__body-row--highlightable:hover .beatmap-scoreboard-table__popup-menu{opacity:1}.beatmap-scoreboard-table__user-link{color:#fff;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.beatmap-scoreboard-table__user-link:active,.beatmap-scoreboard-table__user-link:focus,.beatmap-scoreboard-table__user-link:hover{color:hsl(var(--hsl-l1));text-decoration:underline}.beatmap-scoreboard-top{display:flex;flex-wrap:wrap;margin:15px 0}.beatmap-scoreboard-top__item{margin:5px 0;width:100%}.beatmap-scoreboard-top__title{font-size:15px;margin:0 15px 15px}.beatmap-stats-table{text-align:center;width:100%}.beatmap-stats-table__bar{padding:0 10px;width:100%}.beatmap-stats-table__label{font-weight:400;padding:2.5px 0;white-space:nowrap}.beatmap-stats-table__value{min-width:25px;text-align:center}.beatmap-success-rate{background-color:hsl(var(--hsl-b3));display:flex;flex-direction:column;font-size:12px;height:100%;padding:0 15px;text-align:center}.beatmap-success-rate__chart{flex:none;height:60px;line-height:0;margin-top:20px}@media (min-width:900px){.beatmap-success-rate__chart{flex:1;height:auto;min-height:0}}.beatmap-success-rate__empty{align-items:center;display:inline-flex;flex:1;justify-content:center;margin:20px 0}.beatmap-success-rate__header{color:inherit;font-size:inherit;font-style:normal;font-weight:400;margin:20px 0 0}.beatmap-success-rate__percentage{display:flex;justify-content:center;transition:margin-left .25s cubic-bezier(.645,.045,.355,1);width:0}.beatmaps-owner-editor{background-color:hsl(var(--hsl-b5));border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.25);margin:auto;max-width:1000px;padding-bottom:10px;padding-top:10px;width:100%;width:auto}@media (min-width:900px){.beatmaps-owner-editor{max-width:1000px;width:calc(100% - 40px);width:auto}}.beatmaps-owner-editor__row{padding:10px}@media (min-width:900px){.beatmaps-owner-editor__row{padding-left:50px;padding-right:50px}}.beatmaps-owner-editor__row--content{display:grid;grid-gap:5px;align-items:center;font-size:12px;grid-template-columns:auto minmax(20px,auto) minmax(20px,300px) 70px;max-height:calc(var(--vh)*60);overflow-y:auto}.beatmaps-owner-editor__row--footer{display:flex;justify-content:flex-end}.beatmaps-popup{background-color:hsl(var(--hsl-b2));border-radius:0 0 10px 10px;padding:5px 0 10px;pointer-events:auto;position:absolute;scrollbar-color:hsla(0,0%,100%,.5) hsla(0,0%,100%,.025);top:100%;transition:opacity .15s ease-in-out;width:100%;z-index:4;--panel-height:120px}.beatmaps-popup,.beatmaps-popup *{scrollbar-width:thin}.beatmaps-popup ::-webkit-scrollbar{background-color:hsla(0,0%,100%,.025);-webkit-border-radius:100px;width:10px}.beatmaps-popup ::-webkit-scrollbar:hover{background-color:rgba(0,0,0,.09)}.beatmaps-popup ::-webkit-scrollbar:horizontal{height:10px}.beatmaps-popup ::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.5);background-clip:padding-box;border:2px solid hsla(0,0%,100%,0);-webkit-border-radius:100px;min-height:10px}.beatmaps-popup ::-webkit-scrollbar-thumb:active{background:hsla(0,0%,100%,.61);-webkit-border-radius:100px}@media (min-width:900px){.beatmaps-popup{padding-top:10px;--panel-height:100px}}.beatmaps-popup:before{border:2px solid hsl(var(--hsl-h1));border-radius:10px;bottom:0;box-shadow:0 2px 10px rgba(0,0,0,.5);content:"";height:calc(100% + var(--panel-height));left:0;pointer-events:none;position:absolute;width:100%}@media (min-width:900px){.beatmaps-popup--size-extra{--panel-height:140px}}.beatmaps-popup__content{display:grid;max-height:50vh;overflow:auto;padding:2px 5px;grid-gap:10px}.beatmaps-popup__group{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:2px}.beatmaps-popup-item{display:grid;font-size:12px;grid-gap:4px;align-items:center;color:hsl(var(--hsl-c1));max-width:100%;width:-moz-max-content;width:max-content;--version-text-decoration:none}.beatmaps-popup-item:active,.beatmaps-popup-item:focus,.beatmaps-popup-item:hover{--version-text-decoration:underline;color:hsl(var(--hsl-c1));text-decoration:none}.beatmapset-activities,.beatmapset-activities h2,.beatmapset-activities h3{color:#fff}.beatmapset-activities__post-grow{flex-grow:1}.beatmapset-activities__discussion-post{display:flex;margin-bottom:10px}.beatmapset-activities__spinner{display:flex;flex:1;justify-content:center;padding:20px}.beatmapset-activities__timeline-icon-margin{margin:10px!important}.beatmapset-activities__user-upvote-list{display:flex;flex-wrap:wrap}.beatmapset-activities__user-upvote-panel{display:flex;margin:10px;width:200px}.beatmapset-activities__vote-icon-spacer{margin:10px 5px 10px 0}.beatmapset-activities__vote-link{pointer-events:auto}.beatmapset-activities__vote-user-panel{flex-shrink:0;width:50px}.beatmapset-activities .js-usercard{pointer-events:auto}.beatmapset-badge{background-color:hsl(var(--hsl-b5));border-radius:10000px;font-size:10px;margin-left:10px;padding:.2em 1em;text-transform:uppercase;vertical-align:middle;white-space:nowrap;--colour:hsl(var(--hsl-c1));--colour-hover:var(--colour);color:var(--colour)}.beatmapset-badge,.beatmapset-badge:active,.beatmapset-badge:focus,.beatmapset-badge:hover{text-decoration:none}.beatmapset-badge:active,.beatmapset-badge:focus,.beatmapset-badge:hover{color:var(--colour-hover)}.beatmapset-badge--featured_artist{--colour:hsl(var(--hsl-blue-2));--colour-hover:hsl(var(--hsl-blue-1))}.beatmapset-badge--nsfw{--colour:hsl(var(--hsl-orange-2))}.beatmapset-badge--panel{margin-left:5px}.beatmapset-badge--spotlight{--colour:hsl(var(--hsl-green-2));--colour-hover:hsl(var(--hsl-green-1))}.beatmapset-beatmap-picker{background-color:hsla(var(--hsl-b3),70%);border-radius:10px;display:flex;flex-wrap:wrap;margin:0 -7px 10px;max-width:100%;width:-moz-fit-content;width:fit-content}.beatmapset-beatmap-picker__beatmap{height:38px;opacity:.7;padding:7px;text-decoration:none;transform:translateZ(0);transition:all .1s ease-in-out;width:38px}.beatmapset-beatmap-picker__beatmap:active,.beatmapset-beatmap-picker__beatmap:focus,.beatmapset-beatmap-picker__beatmap:hover{text-decoration:none}.beatmapset-beatmap-picker__beatmap:hover{opacity:1}.beatmapset-beatmap-picker__beatmap:before{background-color:hsla(var(--hsl-b6),.5);border:2px solid;border-radius:10px;content:"";height:100%;height:calc(100% - 2px);left:0;left:1px;opacity:0;position:absolute;top:0;top:1px;width:100%;width:calc(100% - 2px)}.beatmapset-beatmap-picker__beatmap--active,.beatmapset-beatmap-picker__beatmap:hover:before{opacity:1}.beatmapset-beatmap-picker__beatmap--active:before{background-color:hsla(var(--hsl-b6),.5);opacity:1}.beatmapset-cover{align-items:center;display:inline-flex;justify-content:center;--bg-default:var(--bg-default-0);background-image:var(--bg-default);background-position:50%;background-size:cover;border-radius:var(--border-radius,6px);flex:none;height:30px;position:relative;vertical-align:middle;width:45px}.beatmapset-cover:before{background-image:-webkit-image-set(var(--bg) 1x,var(--bg-2x,var(--bg)) 2x);background-image:image-set(var(--bg) 1x,var(--bg-2x,var(--bg)) 2x);background-position:50%;background-size:cover;border-radius:inherit;content:""}.beatmapset-cover--full,.beatmapset-cover:before{height:100%;left:0;position:absolute;top:0;width:100%}.beatmapset-cover--home{height:60px;width:70px}.beatmapset-cover--search{height:50px;width:50px}.beatmapset-cover-admin__img{max-width:100%}.beatmapset-discussion-image-link{display:inline-flex;min-height:1em;min-width:1em;position:relative}.beatmapset-discussion-image-link__spinner{align-items:center;display:inline-flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.beatmapset-discussions-chart{--icon-area-height:30px;height:115px;padding:0 40px;position:relative}.beatmapset-discussions-chart:before{--border-size:2px;background-color:hsl(var(--hsl-b6));border-top:var(--border-size) solid hsl(var(--hsl-b3));bottom:0;content:"";height:calc(var(--border-size) + var(--icon-area-height));left:0;position:absolute;width:100%}.beatmapset-discussions-chart__container{height:100%;position:relative;width:100%}.beatmapset-discussions-chart__item{align-items:center;bottom:0;display:flex;flex-direction:column;height:100%;position:absolute;text-decoration:none;transform:translateX(-3px);width:6px;--line-scale:1}.beatmapset-discussions-chart__item:active,.beatmapset-discussions-chart__item:focus,.beatmapset-discussions-chart__item:hover{text-decoration:none}.beatmapset-discussions-chart__item:before{background-image:linear-gradient(to top,hsl(var(--hsl-c1)),hsl(var(--hsl-c1)) 14%,hsla(var(--hsl-c1),0) 98%);content:"";display:block;flex:1;transform:scaleX(var(--line-scale));width:1px}.beatmapset-discussions-chart__item:after{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;align-items:center;color:var(--icon-colour);content:var(--icon,"");display:inline-block;display:flex;flex:none;font-family:Font Awesome\ 5 Free;font-size:12px;font-style:normal;font-variant:normal;font-weight:900;font-weight:var(--icon-weight);height:var(--icon-area-height);line-height:1;text-rendering:auto}.beatmapset-discussions-chart__item:after.fa-pull-left{margin-right:.3em}.beatmapset-discussions-chart__item:after.fa-pull-right{margin-left:.3em}.beatmapset-discussions-chart__item:hover{--line-scale:2}.beatmapset-discussions-chart__item--deleted{opacity:.5}.beatmapset-discussions-chart__item--mapper-note{--icon-colour:var(--beatmapset-discussion-colour--mapper_note);--icon:"\f249";--icon-weight:400}.beatmapset-discussions-chart__item--praise{--icon-colour:var(--beatmapset-discussion-colour--praise);--icon:"\f004";--icon-weight:900}.beatmapset-discussions-chart__item--problem{--icon-colour:var(--beatmapset-discussion-colour--problem);--icon:"\f06a";--icon-weight:900}.beatmapset-discussions-chart__item--resolved{--icon-colour:var(--beatmapset-discussion-colour--resolved);--icon:"\f058";--icon-weight:400}.beatmapset-discussions-chart__item--suggestion{--icon-colour:var(--beatmapset-discussion-colour--suggestion);--icon:"\f111";--icon-weight:400}.beatmapset-discussions-toolbar{background-color:hsl(var(--hsl-b4));display:flex;flex-direction:column;gap:10px;padding:10px}.beatmapset-discussions-toolbar__group{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.beatmapset-discussions-toolbar__group--filters{flex-direction:column;flex-wrap:nowrap}@media (min-width:900px){.beatmapset-discussions-toolbar__group--filters{flex-direction:row}}.beatmapset-discussions-toolbar__item{align-items:center;-webkit-appearance:none;-moz-appearance:none;background:none;border:none;border-radius:4px;color:#fff;display:flex;flex:none;font-size:12px;gap:5px;margin:0;outline:none;padding:5px 10px;text-decoration:none}.beatmapset-discussions-toolbar__item:active,.beatmapset-discussions-toolbar__item:focus,.beatmapset-discussions-toolbar__item:hover{text-decoration:none}.beatmapset-discussions-toolbar__item:hover{background-color:hsl(var(--hsl-b3))}.beatmapset-discussions-toolbar__type-filters{display:flex;flex-wrap:wrap;gap:10px}.beatmapset-event{align-items:baseline;display:flex;font-size:12px;padding:2px 0}.beatmapset-event__content{word-wrap:break-word;min-width:0}.beatmapset-event__icon{align-self:stretch;background-color:var(--bg,transparent);border-radius:3px;flex:none;width:8px;--bg-approve:#6cf;--bg-beatmap-owner-change:#6cf;--bg-discussion-delete:#fc2;--bg-discussion-lock:#ed1221;--bg-discussion-post-delete:#fc2;--bg-discussion-post-restore:#6cf;--bg-discussion-restore:#6cf;--bg-discussion-unlock:#88b300;--bg-disqualify:#ed1221;--bg-genre-edit:#6cf;--bg-issue-reopen:#fc2;--bg-issue-resolve:#88b300;--bg-kudosu-allow:#6cf;--bg-kudosu-deny:#ed1221;--bg-kudosu-gain:#6cf;--bg-kudosu-lost:#ed1221;--bg-kudosu-recalculate:#ccc;--bg-language-edit:#6cf;--bg-love:#f6a;--bg-nominate:#6cf;--bg-nomination-reset:#ed1221;--bg-nomination-reset-received:#ed1221;--bg-nsfw-toggle:#6cf;--bg-offset-edit:#6cf;--bg-tags-edit:#6cf;--bg-qualify:#6cf;--bg-rank:#88b300;--bg-remove-from-loved:#ed1221}.beatmapset-event__icon--beatmapset-activities{margin:0 10px}.beatmapset-event__time{flex:none;padding:0 10px;width:80px}.beatmapset-events{background-color:hsl(var(--hsl-b5));display:flex;flex-direction:column;padding:20px 10px}@media (min-width:900px){.beatmapset-events{padding-left:50px;padding-right:50px}}.beatmapset-events__empty{display:flex;font-size:12px}.beatmapset-events__title{color:hsl(var(--hsl-l1));font-size:15px;margin:20px 0 5px}.beatmapset-events__title:first-child{margin-top:0}.beatmapset-header{display:grid;gap:20px;min-height:350px;padding:10px 10px 0;position:relative}@media (min-width:900px){.beatmapset-header{grid-template-columns:1fr 275px;padding:20px 40px 0}}.beatmapset-header__box{display:flex;flex-direction:column;position:relative}@media (min-width:900px){.beatmapset-header__box--main{padding-bottom:25px}}.beatmapset-header__box--stats{justify-content:space-between}.beatmapset-header__beatmap-picker-box{flex:1 0 auto}.beatmapset-header__buttons{display:flex;flex-wrap:wrap;margin-top:10px}.beatmapset-header__availability-info{background:rgba(0,0,0,.5);color:#ea0;font-size:14px;margin-top:10px;padding:10px}.beatmapset-header__availability-link{font-size:10px;padding-top:10px}.beatmapset-header__cover{--border-radius:0;display:contents}.beatmapset-header__cover:after{background-color:hsla(var(--hsl-b5),60%);content:"";height:100%;left:0;position:absolute;top:0;width:100%}.beatmapset-header__details-text{max-width:100%;word-break:break-word}.beatmapset-header__details-text--artist{font-size:20px;font-weight:500;padding-bottom:20px}.beatmapset-header__details-text--title{font-size:30px;font-weight:600;line-height:1;margin-bottom:5px;margin-top:10px}.beatmapset-header__details-text-link{color:#fff;text-decoration:none;text-shadow:0 1px 3px rgba(0,0,0,.75)}.beatmapset-header__details-text-link:active,.beatmapset-header__details-text-link:focus,.beatmapset-header__details-text-link:hover{color:#fff;text-decoration:none}.beatmapset-header__diff-extra{font-size:11px;font-weight:600;margin-left:5px}.beatmapset-header__diff-extra--star-difficulty{color:#fc2}.beatmapset-header__diff-name{color:hsl(var(--hsl-c1));font-size:17px;font-weight:600;overflow-wrap:anywhere;text-shadow:0 1px 3px rgba(0,0,0,.75)}.beatmapset-header__more{align-items:center;display:inline-flex;height:45px;justify-content:center;position:relative;width:45px}.beatmapset-header__status{display:flex;font-size:14px;height:38px;margin:-5px -5px 5px auto}.beatmapset-header__value{color:#fff;font-size:12px;font-weight:500;margin-right:10px;text-shadow:0 1px 3px rgba(0,0,0,.75)}.beatmapset-header__value--has-favourites{background:hsla(var(--hsl-b6),.25);border-radius:4px;padding:2px 5px}.beatmapset-header__value--has-favourites:hover{background:hsla(var(--hsl-b6),.5)}.beatmapset-header__value-icon{color:#fff;padding-right:2px}.beatmapset-header__value-icon--favourites:active,.beatmapset-header__value-icon--favourites:hover,.beatmapset-header__value-icon--favourites:link,.beatmapset-header__value-icon--favourites:visited{color:#fff;text-decoration:none}.beatmapset-header__value-icon--favourites:hover{color:#cc5288}.beatmapset-header__value-icon--favourited:hover,.beatmapset-header__value-icon--favourited:link{color:#b17}.beatmapset-hype{color:#fff;display:flex;flex-direction:column;font-size:12px;padding:0 20px}@media (min-width:900px){.beatmapset-hype{flex-direction:row}}.beatmapset-hype__box{display:flex;flex-direction:column;padding:15px 0}@media (min-width:900px){.beatmapset-hype__box{flex:1;margin:0 10px}}.beatmapset-hype__box--float{display:grid;grid-gap:5px;background-color:hsl(var(--hsl-b3));padding-left:15px;padding-right:15px}@media (min-width:900px){.beatmapset-hype__box--float{flex:none;width:275px}}.beatmapset-hype__button{display:flex}.beatmapset-hype__description-row--action{margin-bottom:0}.beatmapset-hype__description-row--current{font-weight:700;margin-bottom:5px}.beatmapset-hype__description-row--status{align-self:flex-start;margin-bottom:10px}.beatmapset-hype__lights-header{display:flex;justify-content:space-between}.beatmapset-hype__lights-title{font-weight:700}.beatmapset-info{background-color:hsl(var(--hsl-b4));display:grid;font-size:12px;gap:20px;padding:10px 10px 0;-webkit-overflow-scrolling:touch}@media (min-width:900px){.beatmapset-info{grid-template-columns:1fr 175px 275px;padding:15px 40px 0}}.beatmapset-info__box{display:flex;flex-direction:column;min-width:0;padding-top:10px;position:relative}@media (min-width:900px){.beatmapset-info__box{max-height:300px;min-height:200px}}.beatmapset-info__edit-button{opacity:0;position:absolute;right:0;top:5px;transition:opacity .12s;z-index:1}.beatmapset-info__box:hover .beatmapset-info__edit-button{opacity:1}.beatmapset-info__row{display:flex;flex-direction:column;padding-bottom:10px}.beatmapset-info__row--half{flex-direction:row}.beatmapset-info__half-entry{flex:none;width:50%}.beatmapset-info__header{font-size:14px;font-style:normal;font-weight:700;margin:0;padding:5px 0}.beatmapset-info__header--sticky{background-image:linear-gradient(to top,hsla(var(--hsl-b4),0),hsl(var(--hsl-b4)) 5px);position:sticky;top:0;z-index:1}.beatmapset-info__link{overflow-wrap:break-word}.beatmapset-info__scrollable{overflow-y:auto}.beatmapset-info__scrollable:after{background-image:linear-gradient(to bottom,hsla(var(--hsl-b4),0),hsl(var(--hsl-b4)));bottom:0;content:"";height:10px;left:0;pointer-events:none;position:absolute;width:100%}.beatmapset-list-view{--border-radius:6px;background-color:hsl(var(--hsl-b3));border-radius:var(--border-radius);color:inherit;display:flex;height:40px;width:100%}.beatmapset-list-view:active,.beatmapset-list-view:focus,.beatmapset-list-view:hover{background-color:hsl(var(--hsl-b1));color:inherit;text-decoration:inherit}.beatmapset-list-view__artist{font-size:14px;margin-left:5px}.beatmapset-list-view__cover-container{flex:none;position:relative;width:80px}.beatmapset-list-view__cover-container--blank{background-image:none}.beatmapset-list-view__content{display:flex;flex:1;flex-direction:column;justify-content:center;min-width:0;padding:0 10px}.beatmapset-list-view__title{font-size:16px;font-weight:600}.beatmapset-mapping{align-items:flex-start;color:#fff;display:flex;font-size:11px;text-shadow:0 1px 3px rgba(0,0,0,.75)}.beatmapset-mapping__content{display:flex;flex-direction:column;justify-content:center}.beatmapset-mapping__mapper{margin-bottom:5px}.beatmapset-mapping__user{color:#fff;font-weight:600;white-space:pre}.beatmapset-mapping__user:active,.beatmapset-mapping__user:focus,.beatmapset-mapping__user:hover{color:#fff;text-decoration:none}.beatmapset-panel{--border-cover-opacity:0;--global-beatmap-link-pointer-events:none;--info-bg:transparent;--main-height:100px;--menu-bg:transparent;--menu-container-width:0;--menu-opacity:0;--mobile-extra-bar-height:calc(var(--panel-height) - var(--main-height));--panel-height:120px;--progress:0;--play-bg:transparent;--play-icon-opacity:0;--play-width:80px;--source-display:flex;--stats-grid-template:"hype nominations play-count favourite-count date"/auto auto auto auto auto;--stats-opacity:1;--transition:all 150ms ease-in-out;background-color:hsl(var(--hsl-b2));border-radius:10px;font-size:12px;height:var(--panel-height);min-width:0;position:relative;transform:translateZ(0)}@media (min-width:900px){.beatmapset-panel{--global-beatmap-link-pointer-events:auto;--info-bg:linear-gradient(0.25turn,hsl(var(--hsl-b2)),hsla(var(--hsl-b2),0.8));--menu-bg:hsl(var(--hsl-b3));--menu-container-width:10px;--main-height:100%;--panel-height:100px;--play-width:90px;--stats-opacity:0}.beatmapset-panel:hover{--info-bg:linear-gradient(0.25turn,hsl(var(--hsl-b4)),hsla(var(--hsl-b4),0.8));--menu-opacity:1;--menu-container-width:30px;--play-bg:hsla(var(--hsl-b6),0.8);--play-icon-opacity:1;--stats-opacity:1}}.beatmapset-panel:before{background-color:inherit;bottom:0;content:"";height:10px;left:0;opacity:var(--border-cover-opacity);position:absolute;transition:var(--transition);transition-duration:var(--beatmaps-popup-transition-duration);width:100%}.beatmapset-panel[data-audio-state=loading],.beatmapset-panel[data-audio-state=playing]{--play-bg:hsla(var(--hsl-b6),0.8);--play-icon-opacity:1}.beatmapset-panel--beatmaps-popup-visible{--border-cover-opacity:1}@media (min-width:900px){.beatmapset-panel--beatmaps-popup-visible{--info-bg:linear-gradient(0.25turn,hsl(var(--hsl-b4)),hsla(var(--hsl-b4),0.8));--menu-opacity:1;--menu-container-width:30px;--play-bg:hsla(var(--hsl-b6),0.8);--play-icon-opacity:1;--stats-opacity:1}}@media (max-width:899px){.beatmapset-panel--mobile-expanded{--menu-opacity:1;--menu-container-width:30px;--play-bg:hsla(var(--hsl-b6),0.8);--play-icon-opacity:1;--stats-opacity:1}}@media (min-width:900px){.beatmapset-panel--size-extra{--panel-height:140px;--stats-grid-template:"hype play-count date" "nominations favourite-count ."/auto auto auto;--stats-opacity:1;--play-width:140px}.beatmapset-panel--size-normal{--source-display:none}}.beatmapset-panel__badge-container{bottom:.2em;flex-shrink:0;margin-left:auto;position:relative}.beatmapset-panel__beatmap-count{font-weight:600}.beatmapset-panel__beatmap-dot{background-color:var(--bg);border-radius:10000px;height:12px;margin-right:1px;width:6px}.beatmapset-panel__beatmap-icon{display:flex;font-size:14px;margin-right:2px}.beatmapset-panel__content{display:flex;height:var(--main-height);pointer-events:none;position:relative;width:100%}.beatmapset-panel__cover-col{position:relative;--border-radius:0}.beatmapset-panel__cover-col--play{--border-radius:10px 0 0 10px;flex:none;width:calc(var(--play-width) + 10px)}.beatmapset-panel__cover-col--info{flex:1;margin-right:10px}.beatmapset-panel__cover-container{display:flex;height:100%;height:var(--main-height);left:0;pointer-events:var(--global-beatmap-link-pointer-events);position:absolute;top:0;width:100%}.beatmapset-panel__cover-container:after{background-color:hsl(var(--hsl-b3));border-radius:9px;content:"";display:block;height:100%;position:absolute;right:0;top:0;width:calc(100% - var(--play-width))}@media (min-width:900px){.beatmapset-panel__cover-container:after{display:none}}.beatmapset-panel__extra-item{display:flex;margin:0 var(--gutter)}.beatmapset-panel__extra-item--dots{align-items:center}.beatmapset-panel__info{background:var(--info-bg);border-radius:9px 0 0 9px;display:flex;flex:1;flex-direction:column;min-width:10px;padding:4px 10px 6px;position:relative}.beatmapset-panel__info-row{align-items:baseline;display:flex;margin:0;padding:0;position:relative}.beatmapset-panel__info-row--artist{font-size:14px;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.75)}.beatmapset-panel__info-row--extra{color:#fff;text-decoration:none;--gutter:3px;align-items:center;margin:0 calc(var(--gutter)*-1);pointer-events:var(--global-beatmap-link-pointer-events)}.beatmapset-panel__info-row--extra:active,.beatmapset-panel__info-row--extra:focus,.beatmapset-panel__info-row--extra:hover{color:#fff;text-decoration:none}@media (max-width:899px){.beatmapset-panel__info-row--extra{height:var(--mobile-extra-bar-height);left:calc(var(--play-width)*-1);padding:0 30px 0 5px;position:absolute;top:100%;width:calc(100% + var(--play-width) + var(--gutter)*2)}}.beatmapset-panel__info-row--mapper{color:hsl(var(--hsl-c2));font-weight:600;margin-top:auto}.beatmapset-panel__info-row--source{color:hsl(var(--hsl-c2));display:var(--source-display);font-weight:700}.beatmapset-panel__info-row--source:after{content:"\a0"}.beatmapset-panel__info-row--stats{display:grid;grid-template:var(--stats-grid-template);max-width:100%;opacity:var(--stats-opacity);overflow:hidden;white-space:nowrap;width:-moz-max-content;width:max-content}@media (min-width:900px){.beatmapset-panel__info-row--stats{margin-bottom:2px}}.beatmapset-panel__info-row--title{font-size:18px;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.75)}.beatmapset-panel__main-link{color:#fff;pointer-events:auto;text-decoration:none}.beatmapset-panel__main-link:active,.beatmapset-panel__main-link:focus,.beatmapset-panel__main-link:hover{color:#fff;text-decoration:none}.beatmapset-panel__menu{align-items:center;color:hsl(var(--hsl-c2));display:flex;flex-direction:column;font-size:12px;height:100%;justify-content:space-evenly;left:0;opacity:var(--menu-opacity);overflow:hidden;pointer-events:auto;position:absolute;top:0;transition:var(--transition);width:100%}.beatmapset-panel__menu-container{background-color:var(--menu-bg);border-radius:0 10px 10px 0;flex:none;overflow:hidden;position:relative;transition:var(--transition);width:var(--menu-container-width)}@media (min-width:900px){.beatmapset-panel__menu-container{overflow:visible}}.beatmapset-panel__menu-container:after,.beatmapset-panel__menu-container:before{background-color:inherit;content:"";height:10px;position:absolute;right:100%;width:10px}.beatmapset-panel__menu-container:before{clip-path:path("M11 -1 L11 10 L10 10 A10 10 0 0 0 0 0 L0 -1 Z");top:0}.beatmapset-panel__menu-container:after{bottom:0;clip-path:path("M11 11 L11 0 L10 0 A10 10 0 0 1 0 10 L 0 11 Z")}.beatmapset-panel__menu-item{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:hsl(var(--hsl-l1));margin:0;outline:none;padding:3px 0;text-align:center;width:20px}.beatmapset-panel__menu-item:active,.beatmapset-panel__menu-item:focus,.beatmapset-panel__menu-item:hover{color:hsl(var(--hsl-c1))}.beatmapset-panel__menu-item--disabled:active,.beatmapset-panel__menu-item--disabled:focus,.beatmapset-panel__menu-item--disabled:hover{color:hsl(var(--hsl-l1))}.beatmapset-panel__mobile-expand{align-items:center;-webkit-appearance:none;-moz-appearance:none;background:none;border:none;bottom:0;color:hsl(var(--hsl-c2));display:flex;height:var(--mobile-extra-bar-height);justify-content:flex-end;margin:0;outline:none;padding:0 10px 0 0;pointer-events:auto;position:absolute;right:0;width:100%}@media (min-width:900px){.beatmapset-panel__mobile-expand{display:none}}.beatmapset-panel__play{align-items:center;-webkit-appearance:none;-moz-appearance:none;background:none;border:none;display:inline-flex;font-size:14px;height:100%;justify-content:center;left:0;margin:0;opacity:var(--play-icon-opacity);outline:none;padding:15px;pointer-events:auto;position:absolute;top:0;width:100%}.beatmapset-panel__play:hover{color:hsl(var(--hsl-orange-1))}@media (max-width:899px){.beatmapset-panel__play{transition:var(--transition)}}.beatmapset-panel__play-container{background-color:var(--play-bg);border-radius:9px 0 0 9px;flex:none;position:relative;width:var(--play-width)}.beatmapset-panel__play-container:after,.beatmapset-panel__play-container:before{background-color:inherit;content:"";height:10px;left:100%;position:absolute;width:10px}.beatmapset-panel__play-container:before{clip-path:path("M-1 -1 L-1 10 L0 10 A10 10 0 0 1 10 0 L10 -1 Z");top:0}.beatmapset-panel__play-container:after{bottom:0;clip-path:path("M-1 11 L-1 0 L0 0 A10 10 0 0 0 10 10 L10 11 Z")}.beatmapset-panel__play-icon{align-items:center;background:hsla(var(--hsl-b6),.5);border-radius:50%;display:inline-flex;font-size:10px;height:20px;justify-content:center;margin:1px;padding-top:1px;pointer-events:auto;width:20px}.beatmapset-panel__play-icons{display:flex;left:4px;position:absolute;top:4px}.beatmapset-panel__play-progress{align-items:center;display:inline-flex;height:100%;justify-content:center;left:0;opacity:var(--play-icon-opacity);position:absolute;top:0;width:100%}.beatmapset-panel__stats-item{align-items:center;display:flex;margin-right:10px;pointer-events:auto}.beatmapset-panel__stats-item--date{grid-area:date}.beatmapset-panel__stats-item--favourite-count{grid-area:favourite-count}.beatmapset-panel__stats-item--hype{grid-area:hype}.beatmapset-panel__stats-item--nominations{grid-area:nominations}.beatmapset-panel__stats-item--play-count{grid-area:play-count}.beatmapset-panel__stats-item-icon{color:hsl(var(--hsl-c2));font-size:8px;margin-right:4px}.beatmapset-scoreboard{color:hsl(var(--hsl-c1))}.beatmapset-scoreboard__mods{display:flex;flex-wrap:wrap;justify-content:center;margin:20px auto 0;max-width:100%;width:-moz-max-content;width:max-content}.beatmapset-scoreboard__mods--initial{--scoreboard-mod-opacity:1}.beatmapset-scoreboard__mods--initial:hover{--scoreboard-mod-opacity:0.5}.beatmapset-scoreboard__main--loading{opacity:.5}.beatmapset-scoreboard__notice{font-size:14px;padding-top:10px;text-align:center}.beatmapset-scoreboard__supporter-text{font-weight:600;padding-bottom:10px}.beatmapset-scoreboard__supporter-text--small{font-size:80%;font-weight:400;padding:0}.beatmapset-search-card{background-color:hsl(var(--hsl-b4));border-radius:6px;display:flex;font-size:12px;line-height:normal;min-height:40px;text-decoration:none;transition:all .12s ease-in-out}.beatmapset-search-card:active,.beatmapset-search-card:focus,.beatmapset-search-card:hover{text-decoration:none}.beatmapset-search-card--active{background-color:hsl(var(--hsl-b3))}.beatmapset-search-card__details{display:flex;flex-direction:column;justify-content:center;padding:2px 10px}.beatmapset-search-card__title{color:hsl(var(--hsl-c1));font-size:16px}.beatmapset-search-card__title-artist{font-size:12px}.beatmapset-search-card__extra{color:hsl(var(--hsl-c2));font-size:12px}.beatmapset-stats{font-size:12px}.beatmapset-stats__elapsed-bar{background-color:#fc2;bottom:0;height:3px;left:0;position:absolute;width:calc(var(--progress)*100%)}.beatmapset-stats__icon{background-size:contain;height:15px;margin-right:5px;width:15px}.beatmapset-stats__rating-chart{height:25px}.beatmapset-stats__rating-header{padding-bottom:5px;text-align:center}.beatmapset-stats__rating-values{display:flex;justify-content:space-between;padding-bottom:10px}.beatmapset-stats__row{-webkit-appearance:none;-moz-appearance:none;background:none;background-color:hsla(var(--hsl-b4),.8);border:none;display:flex;flex-direction:column;margin:1px 0 0;outline:none;padding:7.5px 15px;width:100%}.beatmapset-stats__row--basic{padding-bottom:10px;padding-top:10px}.beatmapset-stats__row--preview{align-items:center;color:#fff;display:flex;justify-content:center;text-decoration:none;--progress:0;cursor:pointer;font-size:18px;padding:10px;position:relative}.beatmapset-stats__row--preview:active,.beatmapset-stats__row--preview:focus,.beatmapset-stats__row--preview:hover{color:#fff;text-decoration:none}.beatmapset-stats__row--preview:hover{background-color:hsla(var(--hsl-b6),.75)}.beatmapset-stats__row--rating{padding-bottom:0;padding-top:10px}.beatmapset-status{background-color:hsla(var(--hsl-b4),.7);border-radius:10000px;color:hsl(var(--hsl-c1));font-size:12px;font-style:normal;font-weight:600;padding:6px 15px;text-transform:uppercase;transition:all .12s ease-in-out}.beatmapset-status--hype{background-color:hsl(var(--hsl-b3))}.beatmapset-status--list-view{background-color:hsla(var(--hsl-b6),.5);font-size:10px;margin-top:2px;padding:2px 8px;width:-moz-max-content;width:max-content}.beatmapset-status--panel{background-color:hsl(var(--bg-hsl));color:var(--colour);font-weight:800;line-height:14px;padding:0 5px}.beatmapset-status--show{height:100%;padding:0 35px}.beatmapset-status--show,.beatmapset-status--show-icon{align-items:center;display:inline-flex;font-size:inherit;justify-content:center;margin:5px}.beatmapset-status--show-icon{border-radius:50%;height:38px;padding:0;width:38px}.beatmapset-versions{display:grid;font-size:12px;gap:4px 0;grid-template-columns:auto 1fr;list-style:none;padding:0}.beatmapset-versions__change{align-items:center;display:flex;gap:0 16px}.beatmapset-versions__changes{display:grid;font-size:14px;gap:4px;grid-column:1/-1;list-style:none;padding:0}.beatmapset-versions__entry{align-items:baseline;background:hsl(var(--hsl-b4));border-radius:10px;display:grid;gap:10px 8px;grid-column:1/-1;grid-template-columns:subgrid;padding:8px}.beatmapset-versions__icon{display:flex;font-size:16px}.beatmapset-versions__icon--removed{color:hsl(var(--hsl-red-1))}.beatmapset-versions__icon--updated{color:hsl(var(--hsl-blue-1))}.beatmapset-versions__icon--added{color:hsl(var(--hsl-green-1))}.beatmapset-versions__number{background:hsl(var(--hsl-b2));border-radius:4px;color:#fff;line-height:1;padding:4px 8px;text-align:center;text-decoration:none;text-transform:uppercase}.beatmapset-versions__number:active,.beatmapset-versions__number:focus,.beatmapset-versions__number:hover{background:hsl(var(--hsl-b1));color:#fff;text-decoration:none}.beatmapset-watches{font-size:14px;margin-top:10px}.beatmapset-watches__table-container{overflow-x:auto}.beatmapset-watches__col.beatmapset-watches__col{border-top:2px solid hsl(var(--hsl-b4));vertical-align:middle}.beatmapset-watches__col.beatmapset-watches__col--cover{padding:0;width:70px}.beatmapset-watches__cover{background-position:50%;background-size:cover;border-radius:4px;height:50px;overflow:hidden;width:50px}.beatmapset-watches__description{margin-bottom:10px}.beatmapset-watches__heading{border-top:none!important}.beatmapset-watches__link{color:hsl(var(--hsl-l1))}.beatmapset-watches__link:active,.beatmapset-watches__link:focus,.beatmapset-watches__link:hover{color:#fff}.beatmapsets{background-color:hsl(var(--hsl-b5));color:#fff}.beatmapsets__content{padding:5px 15px}.beatmapsets--dimmed .beatmapsets__content{opacity:.2}.beatmapsets__empty{align-items:center;display:flex;justify-content:center;margin:10px 0 -5px;width:100%}.beatmapsets__item{flex:none;margin:5px;width:calc(100% - 10px)}@media (min-width:900px){.beatmapsets__item{width:calc(50% - 10px)}}.beatmapsets__items{display:flex;flex-wrap:wrap}.beatmapsets__items-row{display:flex;width:100%}.beatmapsets__paginator{display:flex;justify-content:center}.beatmapsets__toolbar{align-items:center;background-color:hsl(var(--hsl-b4));display:flex;justify-content:space-between;padding:0 20px}.beatmapsets-search{background-color:hsl(var(--hsl-b6));box-shadow:0 1px 3px rgba(0,0,0,.25);font-size:13px;padding:10px;position:relative}@media (min-width:900px){.beatmapsets-search{padding-left:50px;padding-right:50px}}.beatmapsets-search--sticky{background-color:transparent;box-shadow:none;margin:0;padding:0}.beatmapsets-search__advanced{display:none}.beatmapsets-search--expanded .beatmapsets-search__advanced{display:contents}.beatmapsets-search__cover{height:100%;left:0;opacity:.5;position:absolute;top:0;width:100%;--border-radius:0}.beatmapsets-search__cover:after{background-color:hsla(var(--hsl-b1),80%);content:"";height:100%;left:0;position:absolute;top:0;width:100%}.beatmapsets-search__expand-link{color:hsl(var(--hsl-c1));display:block;font-size:10px;grid-column:1/span 2;margin-top:10px;text-align:center;width:100%}.beatmapsets-search__expand-link:active,.beatmapsets-search__expand-link:focus,.beatmapsets-search__expand-link:hover{color:#fff}.beatmapsets-search--expanded .beatmapsets-search__expand-link{display:none}.beatmapsets-search__filter-grid{align-items:baseline;display:flex;flex-direction:column;position:relative}@media (min-width:900px){.beatmapsets-search__filter-grid{display:grid;gap:0 10px;grid-template-columns:auto 1fr}}.beatmapsets-search__filters{display:flex;justify-content:space-between}.beatmapsets-search__icon{align-items:center;display:flex;justify-content:center;width:45px}.beatmapsets-search--sticky .beatmapsets-search__icon{width:38px}.beatmapsets-search__icon--tags{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;cursor:pointer;margin:0;outline:none;padding:0}.beatmapsets-search__icon--active,.beatmapsets-search__icon--tags:hover{color:hsl(var(--hsl-c1))}.beatmapsets-search__input{background-color:transparent;border:none;color:hsl(var(--hsl-c1));flex-grow:1;outline:none;padding:10px}.beatmapsets-search--sticky .beatmapsets-search__input{padding:5px 43px 5px 5px}.beatmapsets-search__input-container{background-color:hsl(var(--hsl-b2));border:1px solid hsl(var(--hsl-b4));color:hsl(var(--hsl-l1));display:flex;font-size:20px;margin:20px 0;position:relative}.beatmapsets-search__input-container:has(.beatmapsets-search__input:focus){border-color:hsl(var(--hsl-c1));box-shadow:0 0 10px hsl(var(--hsl-l1))}@media (min-width:900px){.beatmapsets-search__input-container{margin-left:-10px;margin-right:-10px}}.beatmapsets-search--sticky .beatmapsets-search__input-container{font-size:13px;margin:5px 0}.beatmapsets-search-filter{align-items:baseline;display:flex;flex-wrap:wrap;margin:2px;position:relative}.beatmapsets-search-filter--grid{display:contents}.beatmapsets-search-filter__header{color:hsl(var(--hsl-c1));display:block;margin:15px 0 5px}@media (min-width:900px){.beatmapsets-search-filter__header{margin-top:5px}}.beatmapsets-search-filter__item{--colour:hsl(var(--hsl-l2));--colour-hover:hsl(var(--hsl-l1));color:var(--colour)}.beatmapsets-search-filter__item--active{font-weight:600;--colour:hsl(var(--hsl-c1));--colour-hover:var(--colour)}.beatmapsets-search-filter__item--featured-artists{--colour:hsl(var(--hsl-orange-1));--colour-hover:var(--colour)}.beatmapsets-search-filter__item:focus{color:var(--colour)}.beatmapsets-search-filter__item:active,.beatmapsets-search-filter__item:hover{color:var(--colour-hover)}.beatmapsets-search-filter__items{align-items:baseline;display:flex;flex:1;flex-wrap:wrap;gap:2px 10px}.blackout{backface-visibility:hidden;background-color:#000;height:100%;height:100lvh;left:0;opacity:.5;position:absolute;position:fixed;top:0;width:100%;z-index:510}.blackout--overlay{opacity:.4;z-index:9990}.block-list{align-self:flex-start;flex-grow:1}.block-list__toggle{color:#fff}.block-list__toggle:active,.block-list__toggle:focus,.block-list__toggle:hover{color:hsl(var(--hsl-l1))}.block-list__content{max-width:250px}.block-list-item{align-items:center;background:hsl(var(--hsl-b2));border-radius:4px;display:flex;justify-content:space-between;margin:5px 0;padding:2px 10px;transition:.1s ease-in-out}.block-list-item:hover{background:hsl(var(--hsl-b1))}.block-list-item__link{align-items:center;color:#ccc;display:flex;text-decoration:none}.block-list-item__link:active,.block-list-item__link:focus,.block-list-item__link:hover{color:#eee;text-decoration:none}.modal-body{border-radius:0 0 5px 5px;padding:10px}.modal-body--no-rounding{border-radius:0}.modal-body--compartimentalized{display:flex;padding:0}.modal-body--user-dropdown{background-color:#fff}.modal-body--page{background-color:hsl(var(--hsl-b2));border-radius:4px;color:hsl(var(--hsl-c1))}.modal-body__compartment{display:flex;padding:10px}.modal-body__compartment--left{border-radius:0 0 0 5px;flex:1 0 auto;flex-flow:column nowrap}.modal-body__compartment--right{background-color:#eee;border-radius:0 0 5px;flex:none;justify-content:flex-end;padding:0}.modal-body__form{align-items:stretch;display:flex;flex-wrap:wrap;margin:10px 0 0}@media (min-width:900px){.modal-body__form{flex-wrap:nowrap}}.modal-body__paragraph{display:block;font-size:12px;margin:10px 0 0}.modal-body__title{color:hsl(var(--hsl-c1));font-size:18px;font-style:normal;margin:10px 0}.modal-content{background:none;border:none}.modal-content--no-shadow{box-shadow:none!important}@media (min-width:900px){.modal-dialog\@sm{margin-top:90px}}.modal-dialog--full{margin:0;width:100%}.btn-circle{--transition:all 120ms ease-in-out;--bg:hsl(var(--hsl-l4));--bg-hover:hsl(var(--hsl-l3));--bg-disabled:#333;--colour:hsl(var(--hsl-c1));--colour-hover:hsl(var(--hsl-c1));-webkit-appearance:none;-moz-appearance:none;background:none;background-color:var(--bg);border:none;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.25);color:var(--colour);cursor:pointer;display:inline-block;flex:none;font-size:14px;height:30px;margin:0;outline:none;padding:0;text-shadow:inherit;transition:var(--transition);width:30px}.btn-circle:active,.btn-circle:focus,.btn-circle:hover{background-color:var(--bg-hover);box-shadow:0 5px 15px rgba(0,0,0,.4);color:var(--colour-hover);text-decoration:none}.btn-circle--bbcode{background-color:transparent;box-shadow:none;font-size:13px;text-shadow:0 1px 3px rgba(0,0,0,.75)}.btn-circle--bbcode:active,.btn-circle--bbcode:focus,.btn-circle--bbcode:hover{background-color:hsl(var(--hsl-l3))}.btn-circle--blank{cursor:default;opacity:.7}.btn-circle--blank,.btn-circle--blank:active,.btn-circle--blank:focus,.btn-circle--blank:hover{background-color:transparent;box-shadow:none}.btn-circle--follow{--bg:hsl(var(--hsl-b3));--bg-hover:hsl(var(--hsl-b1));--bg-disabled:hsl(var(--hsl-b3));--colour:hsl(var(--hsl-l1));--colour-hover:hsl(var(--hsl-c1));border-radius:50%;font-size:12px;height:40px;width:40px}.btn-circle--follow-small{--bg:transparent;--bg-hover:transparent;--bg-disabled:transparent;--colour:hsl(var(--hsl-l1));--colour-hover:hsl(var(--hsl-c1));border-radius:0;font-size:12px;height:1em;padding:0;vertical-align:middle;width:1em}.btn-circle--page-toggle{--bg:hsl(var(--hsl-b2));--bg-hover:hsl(var(--hsl-b1));align-items:center;box-shadow:none;color:#fff;display:inline-flex;font-size:12px;justify-content:center;position:relative;text-decoration:none}.btn-circle--page-toggle:active,.btn-circle--page-toggle:focus,.btn-circle--page-toggle:hover{box-shadow:none;color:#fff;text-decoration:none}.btn-circle--page-toggle-detail{border-radius:50%;height:40px;width:40px}.btn-circle--page-toggle-team-card{border-radius:10000px;padding:10px;width:auto;--bg:transparent}.btn-circle--topic-entry{border-radius:50%;box-shadow:none;font-size:14px;height:30px;margin:2.5px;width:30px}.btn-circle--topic-entry:active,.btn-circle--topic-entry:focus,.btn-circle--topic-entry:hover{box-shadow:0 1px 3px rgba(0,0,0,.25)}.btn-circle--topic-nav{margin:2px}@media (min-width:900px){.btn-circle--topic-nav{margin:0 3px}}.btn-circle--activated,.btn-circle.js-activated{background-color:hsl(var(--hsl-h2));color:hsl(var(--hsl-b5))}.btn-circle--activated:active,.btn-circle--activated:focus,.btn-circle--activated:hover,.btn-circle.js-activated:active,.btn-circle.js-activated:focus,.btn-circle.js-activated:hover{background-color:hsl(var(--hsl-l3));color:hsl(var(--hsl-b5))}.btn-circle--purple{background-color:#64c}.btn-circle--purple:active,.btn-circle--purple:focus,.btn-circle--purple:hover{background-color:#86e}.btn-circle--purple.btn-circle--activated{background-color:#a8f}.btn-circle--purple.btn-circle--activated:active,.btn-circle--purple.btn-circle--activated:focus,.btn-circle--purple.btn-circle--activated:hover{background-color:#eef}.btn-circle--yellow{background-color:#ea0}.btn-circle--yellow:active,.btn-circle--yellow:focus,.btn-circle--yellow:hover{background-color:#fc2}.btn-circle--yellow.btn-circle--activated{background-color:#fd5}.btn-circle--yellow.btn-circle--activated:active,.btn-circle--yellow.btn-circle--activated:focus,.btn-circle--yellow.btn-circle--activated:hover{background-color:#ffd}.btn-circle--disabled,.btn-circle.js-disabled,.btn-circle[disabled]{background-color:var(--bg-disabled);cursor:not-allowed}.btn-circle__content{position:relative}.btn-circle__content,.btn-circle__icon{align-items:center;display:inline-flex;height:100%;justify-content:center;width:100%}.btn-circle__icon{left:0;position:absolute;top:0;--normal-opacity:1;--hover-opacity:1;opacity:var(--normal-opacity);transition:var(--transition)}.btn-circle:active .btn-circle__icon,.btn-circle:hover .btn-circle__icon{opacity:var(--hover-opacity)}.btn-circle__icon--hover-hide{--normal-opacity:1;--hover-opacity:0}.btn-circle__icon--hover-show{--normal-opacity:0;--hover-opacity:1}.btn-home{align-items:center;background-image:url(/assets/images/button.16de7c2c.svg);background-position:50%;background-size:175%;border-radius:6px;color:#fff;display:flex;font-size:14px;font-weight:700;margin-bottom:var(--border-size);padding:10px 20px;transform:translateZ(0);transition:all .12s ease-in-out;--colour-h:var(--colour-blue-hue);--colour-s:var(--c-saturation-3);--colour-l:var(--c-lightness-3);--bg-l-adjust:0%;--bg-move:0px;--border-size:3px;--move:0px;--inset-colour:hsl(var(--colour-h),var(--colour-s),calc(var(--colour-l) - 10%));background-color:hsl(var(--colour-h),var(--colour-s),calc(var(--colour-l) + var(--bg-l-adjust)));background-position:calc(50% + var(--bg-move)) 50%;box-shadow:0 calc(var(--border-size) - var(--move)) var(--inset-colour),0 calc(var(--border-size) + 1px - var(--move)) 3px rgba(0,0,0,.25);transform:translateY(var(--move))}.btn-home,.btn-home:active,.btn-home:focus,.btn-home:hover{text-decoration:none}.btn-home:active,.btn-home:focus,.btn-home:hover{color:#fff}.btn-home:focus{--bg-move:-10px;--bg-l-adjust:5%}.btn-home:hover{--bg-move:-20px;--bg-l-adjust:10%}.btn-home:active{--move:2px}.btn-home--c-darkorange{--colour-h:var(--colour-darkorange-hue)}.btn-home--c-pink-darker{--colour-h:var(--colour-pink-hue)}.btn-home__text{flex:1}.btn-home__icon{flex:none;font-size:150%}.btn-osu-big{--active-bg:var(--hover-bg);--active-colour:var(--hover-colour);--bg:hsl(var(--hsl-h2));--colour:hsl(var(--hsl-c1));--disabled-bg:hsl(var(--hsl-b3));--disabled-colour:hsl(var(--hsl-f1));--disabled-opacity:1;--focus-bg:var(--hover-bg);--focus-colour:var(--hover-colour);--hover-bg:hsl(var(--hsl-h1));--hover-colour:hsl(var(--hsl-c1));-webkit-appearance:none;-moz-appearance:none;background:none;background:var(--bg);border:none;border-radius:4px;color:var(--colour);cursor:pointer;display:inline-block;font-size:12px;font-weight:600;margin:0;outline:none;overflow:hidden;padding:5px;text-transform:none;transition:background-color .12s;vertical-align:middle;white-space:nowrap}.btn-osu-big,.btn-osu-big:active,.btn-osu-big:focus,.btn-osu-big:hover{text-decoration:none}.btn-osu-big:focus{background:var(--focus-bg);color:var(--focus-colour)}.btn-osu-big:hover{background:var(--hover-bg);color:var(--hover-colour)}.btn-osu-big:active{background:var(--active-bg);color:var(--active-colour)}.btn-osu-big--disabled,.btn-osu-big[disabled]{cursor:default;opacity:var(--disabled-opacity)}.btn-osu-big--disabled,.btn-osu-big--disabled:active,.btn-osu-big--disabled:focus,.btn-osu-big--disabled:hover,.btn-osu-big[disabled],.btn-osu-big[disabled]:active,.btn-osu-big[disabled]:focus,.btn-osu-big[disabled]:hover{background:var(--disabled-bg);color:var(--disabled-colour)}.btn-osu-big--account-edit{min-width:128px;overflow:hidden;padding:7px 10px;position:relative;text-align:left}.btn-osu-big--account-edit-small{min-width:70px}.btn-osu-big--artist-track-search{--disabled-bg:hsl(var(--hsl-b2))}.btn-osu-big--beatmapset-header{height:45px;margin:0 5px 5px 0;min-width:120px}.btn-osu-big--beatmapset-header-square{height:45px;margin:0 5px 5px 0;width:45px}.btn-osu-big--comment-editor{border-radius:10000px;min-width:80px;padding:5px;--disabled-bg:hsl(var(--hsl-b5));--disabled-colour:hsl(var(--hsl-f1))}.btn-osu-big--chat-send{align-self:flex-end;border-radius:10000px;min-width:80px;padding:10px;--bg:hsl(var(--hsl-h2));--hover-bg:hsl(var(--hsl-h1))}@media (min-width:900px){.btn-osu-big--chat-send{min-width:130px;padding:10px 20px}}.btn-osu-big--contest-download{height:45px;margin:0 5px 5px 0;width:300px}.btn-osu-big--contest-download:hover{background-position:calc(50% - 18px) 50%}.btn-osu-big--contest-entries-toolbar{font-size:inherit;line-height:normal;margin:0 10px;padding:5px 10px;text-transform:uppercase;transition:none;--bg:transparent;--colour:hsl(var(--hsl-f1));--hover-bg:hsl(var(--hsl-b3))}.btn-osu-big--danger{--bg:hsl(var(--hsl-red-3));--hover-bg:hsl(var(--hsl-red-2))}.btn-osu-big--download{--bg:var(--cookie) right 15% center no-repeat,linear-gradient(var(--overlay-colour),var(--overlay-colour)) padding-box,linear-gradient(to bottom,var(--overlay-colour),hsla(var(--bg-colour),0.8),hsla(var(--bg-colour),0.9)) border-box;--hover-bg:var(--cookie) right 15% center no-repeat,linear-gradient(hsla(var(--bg-colour),0.5),hsla(var(--bg-colour),0.5)) padding-box,linear-gradient(to bottom,hsla(var(--bg-colour),0.5),hsla(var(--bg-colour),0.8),hsla(var(--bg-colour),0.9)) border-box;--bg-colour:var(--hsl-pink-1);--cookie:url(/assets/images/cookie_v3.04cbf647.svg);--overlay-colour:rgba(0,0,0,.75);border:2px solid transparent;border-radius:20px;display:flex;flex-direction:column;padding:20px;text-shadow:0 1px 3px rgba(0,0,0,.75);width:100%}.btn-osu-big--download-landing{box-shadow:0 1px 3px rgba(0,0,0,.25);font-size:14px;padding:10px 5px;text-shadow:0 1px 3px rgba(0,0,0,.75)}.btn-osu-big--download-stable{--bg-colour:var(--hsl-orange-1);--cookie:url(/assets/images/cookie_v2.a87b336f.svg);--overlay-colour:hsla(var(--hsl-b5),0.75)}.btn-osu-big--fileupload{overflow:hidden;position:relative}.btn-osu-big--mega{align-items:center;display:inline-flex;font-size:18px;height:50px;justify-content:center;width:100%}.btn-osu-big--forum-button{border-radius:10000px;vertical-align:middle;--active-bg:hsl(var(--hsl-blue-3));--bg:hsl(var(--hsl-blue-3));--hover-bg:hsl(var(--hsl-blue-2))}.btn-osu-big--forum-button,.btn-osu-big--forum-cover{font-weight:400;padding:8px 15px;text-shadow:0 1px 3px rgba(0,0,0,.75)}.btn-osu-big--forum-cover{border-radius:100000px;position:relative;--bg:hsl(var(--hsl-orange-3));--colour:hsl(var(--hsl-c1));--disabled-bg:hsl(var(--hsl-orange-3));--disabled-colour:hsl(var(--hsl-c1));--disabled-opacity:0.5;--hover-bg:hsl(var(--hsl-orange-2))}.btn-osu-big--forum-cover-edit{margin:10px 15px;min-width:135px}.btn-osu-big--forum-primary{border-radius:10000px;font-weight:400;padding:8px 20px;text-shadow:0 1px 3px rgba(0,0,0,.75);--bg:hsl(var(--hsl-lime-3));--disabled-bg:hsl(var(--hsl-lime-3));--disabled-colour:hsl(var(--hsl-c1));--disabled-opacity:0.5;--hover-bg:hsl(var(--hsl-lime-2))}.btn-osu-big--forum-reply{border-radius:10000px;height:30px;margin:0 3px;padding:0 10px;--bg:hsl(var(--hsl-l4));--focus-bg:hsl(var(--hsl-l4));--hover-bg:hsl(var(--hsl-l3))}.btn-osu-big--forum-secondary{border-radius:10000px;font-weight:400;padding:8px 20px;text-shadow:0 1px 3px rgba(0,0,0,.75);--bg:hsl(var(--hsl-blue-3));--disabled-bg:hsl(var(--hsl-blue-3));--disabled-colour:hsl(var(--hsl-c1));--disabled-opacity:0.5;--hover-bg:hsl(var(--hsl-blue-2))}.btn-osu-big--full{width:100%}.btn-osu-big--nav-popup{height:35px;padding:7px 10px;text-align:left;width:120px}.btn-osu-big--password-reset{border-radius:10000px;padding:10px;text-align:center}.btn-osu-big--pink{--bg:hsl(var(--hsl-pink-3));--hover-bg:hsl(var(--hsl-pink-2))}.btn-osu-big--quick-search-close{border-radius:10000px;flex:none;font-size:16px;line-height:normal;margin-left:20px;padding:10px 30px;text-shadow:0 1px 3px rgba(0,0,0,.75)}.btn-osu-big--rounded{border-radius:100000px;padding:10px 15px}.btn-osu-big--rounded-small{border-radius:100000px;padding:4px 10px}.btn-osu-big--rounded-thin{border-radius:100000px;padding:8px 15px}.btn-osu-big--rounded-thin-wide{border-radius:100000px;padding:8px 40px}.btn-osu-big--store-action{border-radius:10000px;display:block;font-size:14px;line-height:normal;margin:0 auto;max-width:100%;padding:10px 50px;text-align:center;width:-moz-max-content;width:max-content}.btn-osu-big--store-cart{border-radius:10000px;margin:10px 0;padding:5px 15px;width:100%}@media (min-width:900px){.btn-osu-big--store-cart{margin:0 0 0 auto;width:auto}}.btn-osu-big--store-cart-delete{font-size:16px;line-height:normal;padding:5px 10px;--bg:none;--disabled-bg:none;--hover-bg:none}.btn-osu-big--tournament-info{border-radius:10000px;font-size:16px;padding:10px 30px}.btn-osu-big--tournament-register{border-radius:10000px;font-size:16px;margin-top:10px;padding:10px 40px}.btn-osu-big--user-page-edit{border-radius:10000px;padding:5px 10px;width:140px}.btn-osu-big--warning{--bg:hsl(var(--hsl-orange-3));--hover-bg:hsl(var(--hsl-orange-2))}.btn-osu-big--wrap-text{white-space:normal}.btn-osu-big--activated,.btn-osu-big.js-activated{--bg:hsl(var(--hsl-h2));--colour:hsl(var(--hsl-c1));--hover-colour:hsl(var(--hsl-c1))}.btn-osu-big.js-click-menu--active{--bg:var(--hover-bg);--colour:var(--hover-colour)}.btn-osu-big__content{align-items:center;display:flex;height:100%;justify-content:space-between;width:100%}.btn-osu-big__content--center{justify-content:center}.btn-osu-big--account-edit .btn-osu-big__content{margin:0 -5px;width:auto}.btn-osu-big--forum-reply .btn-osu-big__content{top:-1px}.btn-osu-big--nav-popup .btn-osu-big__content{margin:0 -5px;width:auto}.btn-osu-big__icon{flex:none;font-size:150%;margin:0 5px}.btn-osu-big--account-edit .btn-osu-big__icon{display:flex;flex-direction:column;height:0;justify-content:center}.btn-osu-big--chat-send .btn-osu-big__icon,.btn-osu-big__icon .btn-osu-big--comment-editor{font-size:120%}.btn-osu-big--download .btn-osu-big__icon{display:flex;font-size:24px;margin:0}.btn-osu-big--download-landing .btn-osu-big__icon{align-items:center;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 10px rgba(0,0,0,.5);display:inline-flex;font-size:20px;height:40px;justify-content:center;margin-left:20px;width:40px}.btn-osu-big--nav-popup .btn-osu-big__icon{display:flex;flex-direction:column;height:0;justify-content:center}.btn-osu-big--forum-reply .btn-osu-big__icon{margin-right:0}.btn-osu-big__icon-inline{--margin:5px}.btn-osu-big__icon-inline--left{margin-right:var(--margin)}.btn-osu-big__icon-inline--right{margin-left:var(--margin)}.btn-osu-big__left{display:flex;flex-direction:column;justify-content:center;margin:0 5px;text-align:left}.btn-osu-big--beatmap-discussion-reply-open .btn-osu-big__left{margin-right:20px}.btn-osu-big--download .btn-osu-big__left{gap:10px;margin:0}.btn-osu-big__loading-spinner{opacity:0;position:absolute;right:10px}.btn-osu-big[data-state=loading] .btn-osu-big__loading-spinner{opacity:1}.btn-osu-big__text-top--download{font-size:20px;font-weight:700}.btn-osu-big__text-bottom{font-size:10px}.btn-osu-big__text-bottom--download{font-weight:300}.btn-osu-big__toggle{color:hsl(var(--hsl-d1));margin:0 5px}.btn-osu-big.js-activated .btn-osu-big__toggle{color:hsl(var(--hsl-c1));text-shadow:0 0 10px hsl(var(--hsl-c2))}.build{color:#fff}.build__changelog-entries-category{font-size:18px;font-weight:700;padding:35px 0 15px}.build__date{color:hsl(var(--hsl-l1));font-size:14px;font-weight:300;padding-top:5px;text-align:center}.build__stream{font-weight:500}.build__version{display:flex;font-size:18px;font-weight:300;justify-content:center;padding:20px 0 0}.build--build .build__version{font-size:24px}.build__version-link{color:#fff;display:inline-block;margin:0 10px;padding:0 10px;text-align:center;text-decoration:none}.build__version-link:active,.build__version-link:focus,.build__version-link:hover{color:#fff;text-decoration:none}.build__version-link--disabled{opacity:.5}.build__video{border-radius:6px;margin:20px auto 0;max-width:95%;overflow:hidden}.builds__date{color:#fff;font-size:24px;font-weight:300;padding:20px 0 0;text-align:center}.builds__group{padding:0 10px}@media (min-width:900px){.builds__group{padding-left:50px;padding-right:50px}}.builds__group+.builds__group{border-top:2px solid #111}.builds__group--discussions{padding:0}.builds__item{padding:0 0 30px}.builds__item+.builds__item{border-top:1px solid hsl(var(--hsl-b6))}.cart-items{display:grid;gap:5px;list-style:none;padding:0}@media (min-width:480px){.cart-items{grid-template-columns:1fr auto minmax(100px,auto) auto}}.cart-items__item{display:contents}.changelog-chart{height:100px;position:relative}.changelog-chart__area--beta40,.changelog-chart__area--beta40-build-0{fill:#fd5;stroke:#fd5}.changelog-chart__area--beta40-build-1{fill:#ffe788;stroke:#ffe788}.changelog-chart__area--beta40-build-2{fill:#fff1bb;stroke:#fff1bb}.changelog-chart__area--beta40-build-3{fill:#fffcee;stroke:#fffcee}.changelog-chart__area--beta40-build-4,.changelog-chart__area--beta40-build-5,.changelog-chart__area--beta40-build-6{fill:#fff;stroke:#fff}.changelog-chart__area--cuttingedge,.changelog-chart__area--cuttingedge-build-0{fill:#ea0;stroke:#ea0}.changelog-chart__area--cuttingedge-build-1{fill:#ffc022;stroke:#ffc022}.changelog-chart__area--cuttingedge-build-2{fill:#ffce55;stroke:#ffce55}.changelog-chart__area--cuttingedge-build-3{fill:#fd8;stroke:#fd8}.changelog-chart__area--cuttingedge-build-4{fill:#ffecbb;stroke:#ffecbb}.changelog-chart__area--cuttingedge-build-5{fill:#fffaee;stroke:#fffaee}.changelog-chart__area--cuttingedge-build-6{fill:#fff;stroke:#fff}.changelog-chart__area--lazer,.changelog-chart__area--lazer-build-0{fill:#ed1221;stroke:#ed1221}.changelog-chart__area--lazer-build-1{fill:#f1414d;stroke:#f1414d}.changelog-chart__area--lazer-build-2{fill:#f4717a;stroke:#f4717a}.changelog-chart__area--lazer-build-3{fill:#f8a0a6;stroke:#f8a0a6}.changelog-chart__area--lazer-build-4{fill:#fbd0d3;stroke:#fbd0d3}.changelog-chart__area--lazer-build-5,.changelog-chart__area--lazer-build-6{fill:#fff;stroke:#fff}.changelog-chart__area--stable40,.changelog-chart__area--stable40-build-0{fill:#6cf;stroke:#6cf}.changelog-chart__area--stable40-build-1{fill:#9df;stroke:#9df}.changelog-chart__area--stable40-build-2{fill:#cef;stroke:#cef}.changelog-chart__area--stable40-build-3,.changelog-chart__area--stable40-build-4,.changelog-chart__area--stable40-build-5,.changelog-chart__area--stable40-build-6{fill:#fff;stroke:#fff}.changelog-chart__area--tachyon,.changelog-chart__area--tachyon-build-0{fill:#ce00ff;stroke:#ce00ff}.changelog-chart__area--tachyon-build-1{fill:#d833ff;stroke:#d833ff}.changelog-chart__area--tachyon-build-2{fill:#e266ff;stroke:#e266ff}.changelog-chart__area--tachyon-build-3{fill:#eb99ff;stroke:#eb99ff}.changelog-chart__area--tachyon-build-4{fill:#f5ccff;stroke:#f5ccff}.changelog-chart__area--tachyon-build-5,.changelog-chart__area--tachyon-build-6{fill:#fff;stroke:#fff}.changelog-chart__hover-area{fill:none;pointer-events:all}.changelog-chart__tooltip-area{bottom:0;display:flex;left:0;pointer-events:none;position:absolute;right:0;top:0}.changelog-chart__tooltip-container{align-items:flex-start;display:flex;flex-direction:column;height:100%}.changelog-chart__tooltip{background:rgba(0,0,0,.5);border-radius:4px;display:flex;flex-direction:column;justify-content:space-between;padding:5px 8px;text-align:center}.changelog-chart__text--name{font-size:14px;font-weight:500}.changelog-chart__text--user-count{color:#fff;font-size:15px;font-weight:500}.changelog-chart__text--date{color:#fff;font-size:10px;font-weight:700}.changelog-chart__text--beta40,.changelog-chart__text--beta40-build-0{color:#fd5}.changelog-chart__text--beta40-build-1{color:#ffe788}.changelog-chart__text--beta40-build-2{color:#fff1bb}.changelog-chart__text--beta40-build-3{color:#fffcee}.changelog-chart__text--beta40-build-4,.changelog-chart__text--beta40-build-5,.changelog-chart__text--beta40-build-6{color:#fff}.changelog-chart__text--cuttingedge,.changelog-chart__text--cuttingedge-build-0{color:#ea0}.changelog-chart__text--cuttingedge-build-1{color:#ffc022}.changelog-chart__text--cuttingedge-build-2{color:#ffce55}.changelog-chart__text--cuttingedge-build-3{color:#fd8}.changelog-chart__text--cuttingedge-build-4{color:#ffecbb}.changelog-chart__text--cuttingedge-build-5{color:#fffaee}.changelog-chart__text--cuttingedge-build-6{color:#fff}.changelog-chart__text--lazer,.changelog-chart__text--lazer-build-0{color:#ed1221}.changelog-chart__text--lazer-build-1{color:#f1414d}.changelog-chart__text--lazer-build-2{color:#f4717a}.changelog-chart__text--lazer-build-3{color:#f8a0a6}.changelog-chart__text--lazer-build-4{color:#fbd0d3}.changelog-chart__text--lazer-build-5,.changelog-chart__text--lazer-build-6{color:#fff}.changelog-chart__text--stable40,.changelog-chart__text--stable40-build-0{color:#6cf}.changelog-chart__text--stable40-build-1{color:#9df}.changelog-chart__text--stable40-build-2{color:#cef}.changelog-chart__text--stable40-build-3,.changelog-chart__text--stable40-build-4,.changelog-chart__text--stable40-build-5,.changelog-chart__text--stable40-build-6{color:#fff}.changelog-chart__text--tachyon,.changelog-chart__text--tachyon-build-0{color:#ce00ff}.changelog-chart__text--tachyon-build-1{color:#d833ff}.changelog-chart__text--tachyon-build-2{color:#e266ff}.changelog-chart__text--tachyon-build-3{color:#eb99ff}.changelog-chart__text--tachyon-build-4{color:#f5ccff}.changelog-chart__text--tachyon-build-5,.changelog-chart__text--tachyon-build-6{color:#fff}.changelog-chart__tooltip-line{background-color:#fff;flex-grow:1;width:1px}.changelog-entry{display:flex;flex-direction:column;font-size:16px;padding:5px 0 5px 1em}@media (min-width:900px){.changelog-entry{padding-left:0}}.changelog-entry__icon{font-size:.7em;opacity:.5}.changelog-entry__row{word-wrap:break-word}.changelog-entry__row--message{margin-top:8px}.changelog-entry__title--major{color:#fc2}.changelog-entry__title code{background-color:hsl(var(--hsl-b5));border-radius:4px;padding:1px 4px}.changelog-entry__title-icon{margin-left:-1em;position:absolute}.changelog-entry__user{font-size:12px;padding-left:10px}.changelog-entry__user-link{font-weight:700}.changelog-md{font-family:var(--font-content-override,var(--font-content));font-size:12px;line-height:1.35}.changelog-md img{max-width:100%}.changelog-md__header{color:inherit;font-size:14px;font-style:normal;font-weight:700;margin:5px 0}.changelog-md__header--1{font-size:16px}.changelog-md__list{padding-left:20px}.changelog-md__table{margin-bottom:20px;overflow-x:auto}.changelog-md__table-data{border-top:1px solid hsl(var(--hsl-b3));min-width:30px;padding:5px}.changelog-md__table-data--center{text-align:center}.changelog-md__table-data--header{border-bottom:2px solid hsl(var(--hsl-b2));border-top:none;font-weight:700}.changelog-md__table-data--left{text-align:left}.changelog-md__table-data--right{text-align:right}.chat{font-size:14px;width:100%}@media (max-width:899px){.chat{flex-direction:column}}.chat-conversation{background:hsl(var(--hsl-b4));flex:1;flex-direction:column;overflow-y:auto;padding:10px 20px;-webkit-overflow-scrolling:touch}.chat-conversation:after{content:"";display:block;padding-bottom:80px}.chat-conversation--no-input.chat-conversation:after{display:none}@media (max-width:899px){.chat-conversation{padding:10px 0}}.chat-conversation__chat-label{color:#fff;font-size:10px;font-weight:700;margin:0 20px;overflow-wrap:break-word;text-align:center;text-transform:uppercase}.chat-conversation__new-chat-avatar{align-items:center;display:inline-flex;justify-content:center;margin:10px 0;width:100%}.chat-conversation__day-divider{color:hsl(var(--hsl-l1));font-size:10px;font-weight:700;padding-top:20px;text-align:center;text-transform:uppercase}.chat-conversation__cannot-message{color:hsl(var(--hsl-l1));font-size:10px;margin-top:10px;padding:5px;text-align:center}.chat-conversation__limitation-notice{color:hsl(var(--hsl-f1));font-size:14px;margin-top:10px;padding:5px;text-align:center}.chat-conversation__more-users{display:flex;justify-content:center;width:100%}.chat-conversation__unread-marker{border:0;color:hsl(var(--hsl-h1));font-size:10px;height:1.5em;line-height:1em;margin:5px 100px;outline:0;position:relative;text-align:center}.chat-conversation__unread-marker:before{background:hsl(var(--hsl-h1));content:"";height:1px;left:0;position:absolute;top:50%;width:100%}.chat-conversation__unread-marker:after{background-color:hsl(var(--hsl-b4));color:hsl(var(--hsl-h1));content:attr(data-content);display:inline-block;line-height:1.5em;padding:0 .5em;position:relative}.chat-conversation__users{align-content:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:center}.chat-conversation__users--loading{gap:5px}.chat-conversation__users-container{background-color:hsl(var(--hsl-b5));border-radius:4px;display:grid;gap:5px;margin:10px;padding:5px}.chat-conversation-list{overflow-y:auto;width:270px;-webkit-overflow-scrolling:touch}@media (min-width:900px){.chat-conversation-list{padding:0 0 10px}}@media (max-width:899px){.chat-conversation-list{display:flex;overflow-x:auto;width:100vw}.chat-conversation-list__group{display:flex}}.chat-conversation-list__header{background:hsl(var(--hsl-b5));color:hsl(var(--hsl-c1));display:flex;font-size:12px;gap:5px;left:0;padding:10px 30px;position:sticky;top:0;z-index:1}@media (max-width:899px){.chat-conversation-list__header{padding:5px}}.chat-conversation-list__header-text{text-transform:uppercase}@media (max-width:899px){.chat-conversation-list__header-text{display:none}.chat-conversation-list__header-icon{align-self:center}}.chat-conversation-list__layer{transform:translateZ(0)}@media (max-width:899px){.chat-conversation-list__layer{display:flex;flex-direction:row}}.chat-conversation-list-item{align-items:center;color:#fff;display:flex;font-size:14px;height:40px;margin-left:10px;padding-left:10px;position:relative}@media (min-width:900px){.chat-conversation-list-item:hover{background:linear-gradient(to right,hsl(var(--hsl-b5)) 10px,hsl(var(--hsl-b3)) 33%,hsl(var(--hsl-b3)) 100%)}}@media (max-width:899px){.chat-conversation-list-item{margin-left:0;padding-left:0}}.chat-conversation-list-item--selected{background:linear-gradient(to right,hsl(var(--hsl-b5)) 10px,hsl(var(--hsl-b4)) 33%,hsl(var(--hsl-b4)) 100%);color:#fff}@media (max-width:899px){.chat-conversation-list-item--selected{background:hsl(var(--hsl-b4))}}.chat-conversation-list-item__close-button{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:hsla(0,0%,100%,.5);margin:0;outline:none;padding:5px}.chat-conversation-list-item__close-button:hover{color:#fff}@media (min-width:900px){.chat-conversation-list-item__close-button{height:100%;margin-left:-10px;opacity:0;position:absolute}.chat-conversation-list-item:hover .chat-conversation-list-item__close-button{opacity:1}}@media (max-width:899px){.chat-conversation-list-item__close-button{display:none}.chat-conversation-list-item--selected .chat-conversation-list-item__close-button{display:block;margin-left:5px}}.chat-conversation-list-item__tile{align-items:center;align-self:stretch;-webkit-appearance:none;-moz-appearance:none;background:none;border:none;display:flex;flex:1;margin:0 0 0 10px;min-width:0;outline:none;padding:0}@media (max-width:899px){.chat-conversation-list-item__tile{margin-left:4px}}.chat-conversation-list-item__unread-indicator{background:#88b300;border-radius:1px;height:10px;pointer-events:none;position:absolute;width:2px}.chat-conversation-list-item__unread-indicator:after{animation:glow-pulse 2s infinite;border-radius:1px;box-shadow:0 0 5px #afe600;content:"";height:100%;left:0;opacity:.5;position:absolute;top:0;width:100%}@media (min-width:900px){.chat-conversation-list-item__unread-indicator{margin-left:-2px}.chat-conversation-list-item:hover .chat-conversation-list-item__unread-indicator{opacity:0}}@media (max-width:899px){.chat-conversation-list-item__unread-indicator{margin-left:2px}}.chat-conversation-list-item__name{flex:1;text-align:left}@media (max-width:899px){.chat-conversation-list-item__name{display:none}.chat-conversation-list-item--selected .chat-conversation-list-item__name{display:block;padding-right:10px}}.chat-conversation-list-item__chevron{color:#fff;margin-right:10px;opacity:0}.chat-conversation-list-item--selected .chat-conversation-list-item__chevron{opacity:1}@media (max-width:899px){.chat-conversation-list-item__chevron{display:none}}.chat-conversation-list-item__avatar{flex-shrink:0;height:30px;margin-right:10px;width:30px}@media (max-width:899px){.chat-conversation-list-item__avatar{margin:0 5px}}.chat-conversation-list-separator{background:hsl(var(--hsl-l1));border-radius:1px;flex-shrink:0}@media (min-width:900px){.chat-conversation-list-separator{display:none}}@media (max-width:899px){.chat-conversation-list-separator{align-self:center;height:20px;margin:0 5px;width:2px}}.chat-conversation-list-separator:last-child{display:none}.chat-conversation-panel{display:flex;flex:1;flex-direction:column;position:relative}@media (max-width:899px){.chat-conversation-panel{overflow-y:hidden}}.chat-conversation-panel__instructions{margin-top:10px}.chat-conversation-panel__no-channel{align-items:center;color:hsl(var(--hsl-l1));display:inline-flex;flex-direction:column;height:100%;justify-content:center;min-height:250px;padding:20px;width:100%}.chat-conversation-panel__title{color:#fff;font-size:26px;font-weight:300;text-shadow:0 1px 3px rgba(0,0,0,.75)}.chat-form{background:hsl(var(--hsl-b4));display:flex;flex:1;flex-direction:column}.chat-form__button-bar{display:flex;justify-content:flex-end}.chat-form__fields{display:flex;flex:1;flex-direction:column;font-size:16px;gap:10px;padding:20px 20px 10px}.chat-form__title{font-size:24px}.chat-form-users{display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-start;min-width:0}.chat-input{align-items:center;background:linear-gradient(to bottom,hsla(var(--hsl-b4),0),hsla(var(--hsl-b4),.95) 40%,hsla(var(--hsl-b4),.95) 100%);bottom:0;color:#fff;display:flex;gap:10px;padding:10px 30px 15px 50px;position:absolute;width:calc(100% - 20px)}@media (max-width:899px){.chat-input{font-size:16px;padding-left:20px;padding-right:0;position:fixed}}.chat-input__box{-webkit-appearance:none;-moz-appearance:none;background:none;background:hsl(var(--hsl-b6));border:none;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.25);font-family:Inter,sans-serif;margin:0;outline:none;padding:10px;resize:none}.chat-input__box::-moz-placeholder{color:hsl(var(--hsl-f1))}.chat-input__box::placeholder{color:hsl(var(--hsl-f1))}.chat-input__box--disabled{opacity:.8}.chat-input__box-container{display:grid;flex:1;max-height:100%;max-width:100%;min-width:0;position:relative}.chat-join-channel{background:hsl(var(--hsl-b4));display:flex;flex-direction:column;height:100%}.chat-join-channel__channel{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:hsl(var(--hsl-l3));display:grid;grid-column:span 3;grid-template-columns:subgrid;margin:0;outline:none;padding:5px 10px;text-align:left;text-decoration:none}.chat-join-channel__channel:active,.chat-join-channel__channel:focus,.chat-join-channel__channel:hover{background-color:hsl(var(--hsl-b3));color:hsl(var(--hsl-c1));text-decoration:none}.chat-join-channel__channel--joined{color:hsl(var(--hsl-c1))}.chat-join-channel__channels{-moz-column-gap:10px;column-gap:10px;display:grid;grid-template-columns:minmax(14px,max-content) auto 1fr;overflow-wrap:anywhere;overflow-y:auto}.chat-join-channel__loading{align-items:center;display:inline-flex;flex:1;flex-direction:column;justify-content:center}.chat-mention-completion-box{background-color:hsl(var(--hsl-b6));border-radius:4px;bottom:calc(100% + 10px);box-shadow:0 1px 3px rgba(0,0,0,.25);display:grid;font-size:14px;left:0;padding:10px;position:absolute;right:0}.chat-mention-completion-box__searching{align-items:center;display:grid;gap:5px;grid-template-columns:auto 1fr}.chat-mention-completion-box-entry{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;border-radius:4px;margin:0;outline:none;--bg:transparent;--bg-hover:hsl(var(--hsl-b2));align-items:center;background:var(--bg);display:grid;gap:5px;grid-template-columns:1.5em 1fr;padding:5px;text-align:start}.chat-mention-completion-box-entry:hover{background:var(--bg-hover)}.chat-mention-completion-box-entry--active{--bg:hsl(var(--hsl-b3))}.chat-mention-completion-box-entry__avatar{aspect-ratio:1}.chat-message-group{color:#fff;display:flex;margin:10px 120px 10px 0}.chat-message-group--own{flex-direction:row-reverse;margin-left:120px;margin-right:0}.chat-message-group__avatar{height:35px;margin-bottom:5px;width:35px}.chat-message-group__bubble{background:hsl(var(--hsl-b6));border-radius:4px;max-width:400px;overflow-x:auto;padding:5px 8px}.chat-conversation--ANNOUNCE .chat-message-group__bubble{max-width:unset}.chat-message-group__sender{align-items:center;color:#fff;display:flex;flex-direction:column;flex-shrink:0;font-size:10px;width:80px}.chat-message-group__timestamp{color:hsl(var(--hsl-f1));font-family:Inter,sans-serif;font-size:10px;margin:5px}.chat-message-group__username{max-width:60px}.chat-message-item{margin:5px}.chat-message-item--sending{opacity:.2}.chat-message-item__entry{display:flex;justify-content:space-between}.chat-message-item__status{color:hsla(var(--hsl-h1),.5);margin-left:10px}.chat-message-item__status--errored{color:red}.circular-progress{background-color:hsl(var(--hsl-b4));border-radius:50%;float:left;font-size:31px;height:1em;pointer-events:auto;width:1em;--circle-center-fill:hsl(var(--hsl-b6));--circle-transform:rotate(0turn);--circle-fill-transform:rotate(0turn);--slice-clip:rect(0em,1em,1em,0.5em);--circle-border-colour:hsl(var(--hsl-h1));--label-colour:hsl(var(--hsl-h1));--label-display:block}.circular-progress--warn{--circle-border-colour:hsl(var(--hsl-orange-2));--label-colour:hsl(var(--hsl-orange-2))}.circular-progress--over{--circle-border-colour:hsl(var(--hsl-red-2));--label-colour:hsl(var(--hsl-red-2))}.circular-progress--lighter{background-color:hsl(var(--hsl-b3));--circle-center-fill:hsl(var(--hsl-b5))}.circular-progress--over50{--circle-fill-transform:rotate(0.5turn);--slice-clip:rect(auto,auto,auto,auto)}.circular-progress--beatmapset-panel{background-color:transparent;font-size:50px;pointer-events:none;--circle-center-fill:transparent;--label-display:none;--circle-transform:rotate(calc(var(--progress)*1turn))}[data-audio-over50="1"] .circular-progress--beatmapset-panel{--circle-fill-transform:rotate(0.5turn);--slice-clip:rect(auto,auto,auto,auto)}.circular-progress--gallery-contest{--circle-border-colour:#fff;--label-colour:#fff}.circular-progress:after{background-color:var(--circle-center-fill);border-radius:50%;content:"";display:block;height:.8em;margin-left:.1em;margin-top:.1em;position:absolute;width:.8em}.circular-progress__label{color:var(--label-colour);display:var(--label-display);font-size:.4em;line-height:2.5em;position:absolute;text-align:center;white-space:nowrap;width:2.5em;z-index:1}.circular-progress__circle{border:.1em solid var(--circle-border-colour);height:1em;position:absolute;width:1em;clip:rect(0,.5em,1em,0);border-radius:50%;transform:var(--circle-transform)}.circular-progress__circle--fill{transform:var(--circle-fill-transform)}.circular-progress__slice{height:1em;position:absolute;width:1em;clip:var(--slice-clip)}.click-to-copy__icon{color:#999;cursor:pointer;opacity:0;padding-left:5px}.click-to-copy:hover .click-to-copy__icon{opacity:1}.comment{border-bottom:0 solid var(--comments-separator-bg);font-size:13px;margin-top:10px;position:relative}.comment--top{border-bottom-width:1px;margin-top:0;padding:15px 10px}.comment--single.comment--top,.comment--top:last-of-type{border-bottom-width:0}@media (min-width:900px){.comment--top{padding-left:50px;padding-right:50px}}.comment__action{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:hsl(var(--hsl-l2));color:hsl(var(--hsl-f1));margin:0;outline:none;padding:0;text-transform:lowercase}.comment__action:active,.comment__action:focus,.comment__action:hover{color:hsl(var(--hsl-l1));color:#fff}.comment__action:hover{text-decoration:underline}.comment__action--active{color:hsl(var(--hsl-l1))}.comment__avatar{flex:none;height:40px;margin-right:10px;width:40px}.comment__commentable-meta{align-items:baseline;display:flex;font-size:11px;margin-bottom:5px;margin-left:50px}.comment--single .comment__commentable-meta{flex-direction:column;font-size:24px;margin-bottom:30px;margin-left:0}.comment__commentable-meta-icon{font-size:.9em;margin-right:5px}.comment__commentable-meta-type{background-color:hsl(var(--hsl-b6));border-radius:10000px;font-size:12px;margin-right:5px;padding:5px 15px}.comment--single .comment__commentable-meta-type{margin-bottom:10px}.comment__container{display:flex;flex:1;flex-direction:column;min-width:0}.comment__deleted{font-weight:700;margin:10px 0}.comment__editor{padding:10px 0}.comment__float-container{align-items:center;display:flex;height:40px;padding:0 5px;position:absolute;top:0}.comment__float-container--left{justify-content:flex-end;left:-50px;width:50px}.comment--top>.comment__float-container--left{left:0}.comment__float-container--right{justify-content:flex-start;right:-50px;width:50px}.comment--top>.comment__float-container--right{right:0}.comment__main{display:flex;position:relative}.comment__main--deleted{opacity:.5}.comment__message{margin:2px 0}.comment__main--clip .comment__message{height:calc(var(--line-height)*var(--clip-lines));overflow:hidden;position:relative}.comment__main--clip .comment__message:after{background-image:linear-gradient(to bottom,hsla(var(--comments-bg-hsl),0),hsl(var(--comments-bg-hsl)));bottom:0;content:"";display:block;height:calc(var(--line-height)*3);left:0;pointer-events:none;position:absolute;width:100%}.comment__owner-badge{background-color:hsl(var(--hsl-l1));border-radius:10000px;bottom:2px;color:hsl(var(--hsl-b6));font-size:10px;font-weight:700;padding:2px 5px}.comment__replies{margin-top:10px}.comment__replies--hidden{display:none}.comment__replies--indented{padding-left:0}@media (min-width:900px){.comment__replies--indented{padding-left:20px}}.comment__reply-box{padding-top:10px}.comment__row{align-items:baseline;display:flex;flex-wrap:wrap;font-weight:600;gap:4px}.comment__row--footer{-moz-column-gap:10px;column-gap:10px;font-size:12px}.comment__row--footer,.comment__row--footer a{color:hsl(var(--hsl-f1))}.comment__row--footer a:active,.comment__row--footer a:focus,.comment__row--footer a:hover{color:#fff}.comment__row--header{font-size:14px}.comment__row-item--info{font-weight:400}.comment__row-item--pinned .fa{vertical-align:middle}.comment__row-item--replies{width:100%}.comment__toggle-clip{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:hsl(var(--hsl-l2));margin:0;outline:none;padding:5px 0;width:-moz-max-content;width:max-content}.comment__toggle-clip:active,.comment__toggle-clip:focus,.comment__toggle-clip:hover{color:hsl(var(--hsl-l1))}.comment__toolbar{display:flex;justify-content:flex-end;margin:10px 0}.comment__top-show-replies{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:hsl(var(--hsl-f1));display:none;font-size:18px;margin:0;outline:none;padding:0;width:40px}@media (min-width:900px){.comment__top-show-replies{display:block}.comment--single .comment__top-show-replies{display:none}}.comment-editor{--bg:hsl(var(--hsl-b3));background:var(--bg);border-radius:6px;display:flex;flex-direction:column;position:relative}@media (min-width:900px){.comment-editor--fancy{margin-left:60px}}.comment-editor__avatar{display:none;height:50px;margin-right:10px;position:absolute;right:100%;width:50px}@media (min-width:900px){.comment-editor__avatar{display:block}}.comment-editor__footer{border-radius:0 0 6px 6px;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:0 8px}.comment-editor__footer-item{color:#fff;flex:none;font-size:12px;margin:5px 2px}.comment-editor__footer-item--notice{align-self:center;flex:1}.comment-editor__message{-webkit-appearance:none;-moz-appearance:none;background:none;background-color:hsl(var(--hsl-b5));border:none;border:2px solid var(--bg);border-bottom:none;border-radius:6px 6px 0 0;font-family:var(--font-content-override,var(--font-content));font-size:16px;line-height:1.35;margin:0;min-height:3em;outline:none;padding:10px;resize:none}@media (min-width:900px){.comment-editor__message{font-size:inherit}}.comment-editor__message::-moz-placeholder{color:hsl(var(--hsl-f1))}.comment-editor__message::placeholder{color:hsl(var(--hsl-f1))}.comment-show-more{display:block;font-size:12px}.comment-show-more--top{padding:10px}@media (min-width:900px){.comment-show-more--top{padding-left:50px;padding-right:50px}}.comment-show-more__link{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:hsl(var(--hsl-l2));margin:0;outline:none;padding:0}.comment-show-more__link:active,.comment-show-more__link:focus,.comment-show-more__link:hover{color:hsl(var(--hsl-l1))}.comment-vote{align-items:center;-webkit-appearance:none;-moz-appearance:none;background:none;background-color:hsl(var(--hsl-b6));border:2px solid transparent;border-radius:100000px;display:flex;font-size:12px;justify-content:center;margin:0;outline:none;padding:2px 10px;position:relative}.comment-vote:not([disabled]):hover{border-color:#b3d944}.comment-vote--disabled{background-color:transparent}.comment-vote--inline{display:inline-flex;font-size:inherit;padding:0 8px}.comment-vote--on{background-color:#b3d944;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.75)}.comment-vote--on:not([disabled]):hover{background-color:rgba(179,217,68,.5)}.comment-vote__hover{bottom:100%;color:#88b300;display:flex;font-size:14px;justify-content:center;left:0;margin-bottom:2px;opacity:0;padding-right:5px;position:absolute;text-shadow:none;width:100%;will-change:opacity}.comment-vote:not([disabled]):hover .comment-vote__hover{opacity:1}.comment-vote__spinner{align-items:center;display:inline-flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.comment-vote--posting .comment-vote__text{opacity:0}.comments{--comments-bg-hsl:var(--hsl-b5);--comments-fg:hsl(var(--hsl-c1));--comments-pinned-bg-hsl:var(--hsl-b4);--comments-separator-bg:hsl(var(--hsl-b6));--comments-toolbar-bg:hsl(var(--hsl-b4));background-color:hsl(var(--comments-bg-hsl));color:var(--comments-fg);display:flex;flex-direction:column}.comments--page-extra{--comments-bg-hsl:var(--hsl-b4);--comments-pinned-bg-hsl:var(--hsl-b3);--comments-separator-bg:hsl(var(--hsl-b5));--comments-toolbar-bg:hsl(var(--hsl-b3));background-color:transparent}@media (min-width:900px){.comments--page-extra{margin-bottom:0}}.comments__count{background-color:hsl(var(--hsl-b6));border-radius:10000px;color:hsl(var(--hsl-f1));font-size:80%;font-weight:700;margin-left:5px;padding:5px 10px}.comments__items{padding:10px 0}.comments__items--empty{padding:40px 10px}@media (min-width:900px){.comments__items--empty{padding-left:50px;padding-right:50px}}.comments__items--loading{opacity:.5}.comments__items--toolbar{background-color:var(--comments-toolbar-bg);display:flex;justify-content:space-between;padding-left:10px;padding-right:10px}@media (min-width:900px){.comments__items--toolbar{padding-left:50px;padding-right:50px}}.comments__items--pinned{margin-top:20px;--comments-bg-hsl:var(--comments-pinned-bg-hsl);background-color:hsl(var(--comments-bg-hsl))}.comments__new{padding:20px 10px}@media (min-width:900px){.comments__new{padding-left:50px;padding-right:50px}}.comments__title{color:hsl(var(--hsl-l1));font-size:18px;font-style:normal;margin:0;padding:20px 10px 0}@media (min-width:900px){.comments__title{padding-left:50px;padding-right:50px}}.contest{background-color:hsl(var(--hsl-b5));color:hsl(var(--hsl-c1))}.contest__description{background-color:hsl(var(--hsl-b4));font-family:var(--font-content-override,var(--font-content));font-size:14px;line-height:1.35;padding:20px 10px}@media (min-width:900px){.contest__description{padding-left:50px;padding-right:50px}}.contest__description h2,.contest__description h3,.contest__description h4,.contest__description h5,.contest__description h6,.contest__description>h1{color:hsl(var(--hsl-c1))}.contest__countdown-timer{background-color:hsl(var(--hsl-b4));margin-top:-10px;padding-bottom:20px}.contest__voting-notice{color:#fff;padding:20px;text-align:center}.contest__accordion{background:hsl(var(--hsl-b5));padding:20px}.contest__group{background:hsl(var(--hsl-b4));border:none;box-shadow:0 1px 3px rgba(0,0,0,.25);margin:10px auto;max-width:600px}.contest__art-list{padding:0 20px}.contest__group-heading{color:#fff;display:flex;justify-content:space-between;padding:10px}.contest__group-heading:active,.contest__group-heading:hover,.contest__group-heading:link,.contest__group-heading:visited{color:#fff;text-decoration:none}.contest__section-toggle{transform:rotate(0deg);transition:all .3s}.contest__group-heading[aria-expanded=true] .contest__section-toggle{transform:rotate(180deg)}.contest__buttons{padding:20px 0;text-align:center}.contest__vote-summary--art{align-items:center;display:flex;font-size:10px;justify-content:flex-end;margin-bottom:5px;padding-top:10px;text-align:right}.contest__vote-summary-text{align-items:center;color:hsl(var(--hsl-f1));display:flex;float:right;font-weight:700;height:16px;text-transform:uppercase;width:32px}.contest__vote-summary-text--art{margin-right:10px;width:inherit}.contest__vote-count{align-items:center;background-color:hsl(var(--hsl-b6));display:flex;flex:0 0 110px;font-size:11px;justify-content:flex-end;padding-right:5px;text-align:right}.contest__vote-count--no-percentages{flex:0 0 70px}.contest__voting-star{align-items:center;color:rgba(1,1,1,.5);display:flex;display:inline-flex;flex:0 0 32px;justify-content:center;margin-left:auto}.contest__voting-star:focus,.contest__voting-star:hover{color:rgba(1,1,1,.75);font-size:inherit;text-decoration:none}.contest__voting-star--art{flex:none;margin:auto 0 0 auto;padding:10%;position:relative}.contest__voting-star--dark-bg{background-color:hsl(var(--hsl-b6))}.contest__voting-star--selected{color:orange;font-size:inherit}.contest__voting-star--selected:focus,.contest__voting-star--selected:hover{color:rgba(255,165,0,.75)}.contest__voting-star--selected-art{color:#fff;font-size:inherit}.contest__voting-star--selected-art:focus,.contest__voting-star--selected-art:hover{color:hsla(0,0%,100%,.5)}.contest__voting-star--smaller{height:16px;width:16px}.contest__voting-star--float-right{float:right}.contest__voting-star--spin{animation:spin-w-easing 1s ease-in-out infinite}.contest-art-entry{--thumbnail-border-colour:transparent;--thumbnail-height-multiplier:1;--thumbnail-scale:1;--thumbnail-size:256px;--thumbnail-width-multiplier:1;--trophy-colour:#d2691e;--vote-link-banner-bg:hsl(var(--hsl-b2));--vote-link-banner-scale:1;margin:10px;transform:translateZ(0);width:calc(var(--thumbnail-size)*var(--thumbnail-scale)*var(--thumbnail-width-multiplier))}.contest-art-entry--placed-1{--thumbnail-scale:1;--trophy-colour:gold;--vote-link-banner-scale:1}.contest-art-entry--placed-2{--thumbnail-scale:0.75;--trophy-colour:silver;--vote-link-banner-scale:1}.contest-art-entry--placed-3{--thumbnail-scale:0.5;--vote-link-banner-scale:0.5}.contest-art-entry--portrait{--thumbnail-width-multiplier:0.75}.contest-art-entry--landscape{--thumbnail-height-multiplier:0.5625}.contest-art-entry--selected{--thumbnail-border-colour:orange;--vote-link-banner-bg:var(--thumbnail-border-colour)}.contest-art-entry--smaller{--thumbnail-scale:0.5;--vote-link-banner-scale:0.5}.contest-art-entry__entrant{color:#fff;font-size:12px;overflow:hidden;text-align:right;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.contest-art-entry__entrant:active,.contest-art-entry__entrant:focus,.contest-art-entry__entrant:hover{color:#fff}.contest-art-entry--placed .contest-art-entry__entrant{font-size:14px;overflow:visible}.contest-art-entry__result{margin-top:10px;text-align:center}.contest-art-entry__result-name{display:block}.contest-art-entry__result-place{padding-right:5px}.contest-art-entry--placed .contest-art-entry__result-place{font-size:20px;white-space:nowrap}.contest-art-entry__result-ranking{align-items:baseline;display:flex;justify-content:center}.contest-art-entry__result-votes{color:hsl(var(--hsl-f1));font-size:10px}.contest-art-entry__thumbnail{background-position:top;background-size:cover;box-shadow:0 1px 3px rgba(0,0,0,.25);height:calc(var(--thumbnail-size)*var(--thumbnail-scale)*var(--thumbnail-height-multiplier));margin:auto;position:relative;width:100%}.contest-art-entry__thumbnail-link{border:4px solid var(--thumbnail-border-colour);display:block;height:100%;width:100%}.contest-art-entry__trophy{color:var(--trophy-colour)}.contest-art-entry__vote-link-banner{--base-size:calc(var(--thumbnail-size)*0.25*var(--vote-link-banner-scale));align-items:center;bottom:0;display:flex;font-size:calc(20px*var(--vote-link-banner-scale));height:var(--base-size);justify-content:center;position:absolute;right:0;width:var(--base-size)}.contest-art-entry__vote-link-banner:before{border-color:transparent transparent var(--vote-link-banner-bg) transparent;border-style:solid;border-width:0 0 var(--base-size) var(--base-size);content:"";height:100%;position:absolute;width:100%}.contest-art-list{align-items:flex-start;display:flex;flex-wrap:wrap;justify-content:space-around}.contest-art-list--top3{align-items:baseline}.contest-judge{background-color:hsl(var(--hsl-b5));display:flex;flex-direction:column;font-size:14px;gap:15px}.contest-judge__header{background-color:hsl(var(--hsl-d3));padding:15px 10px}@media (min-width:900px){.contest-judge__header{padding-left:50px;padding-right:50px}}.contest-judge__items{flex-direction:column;gap:20px;margin-bottom:20px;padding-left:10px;padding-right:10px}@media (min-width:900px){.contest-judge__items{padding-left:50px;padding-right:50px}}.contest-judge__switch{font-weight:400;margin:0}.contest-judge-entry__button{display:flex;justify-content:flex-end;text-transform:lowercase}.contest-judge-entry__categories{max-width:500px}.contest-judge-entry__categories,.contest-judge-entry__category{display:flex;flex-direction:column;gap:10px}.contest-judge-entry__label{display:flex;font-size:12px;font-weight:700;gap:5px}.contest-judge-entry__slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer}.contest-judge-entry__slider::-webkit-slider-runnable-track{background:hsla(var(--hsl-pink-1),50%);border-radius:4px;height:8px}.contest-judge-entry__slider::-moz-range-track{background:hsla(var(--hsl-pink-1),50%);border-radius:4px;height:8px}.contest-judge-entry__slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background-color:hsl(var(--hsl-pink-1));border-radius:9999px;height:16px;margin-top:-4px;width:16px}.contest-judge-entry__slider::-moz-range-thumb{background-color:hsl(var(--hsl-pink-1));border:none;border-radius:9999px;height:16px;width:16px}.contest-judge-entry__title{color:hsl(var(--hsl-l1));font-size:20px;font-weight:700;margin-bottom:10px}.contest-judge-entry__value{color:hsl(var(--hsl-c2));display:flex;font-size:14px;justify-content:flex-end}.contest-judge-entry__voted-icon{color:hsl(var(--hsl-lime-1));margin-right:5px}.contest-judge-results{background-color:hsl(var(--hsl-b5));display:grid;font-size:12px;gap:30px;padding:20px 10px}@media (min-width:900px){.contest-judge-results{padding-left:50px;padding-right:50px}}.contest-judge-results-header{background-color:hsl(var(--hsl-d3));display:flex;flex-direction:column;gap:20px;padding:20px 10px}@media (min-width:900px){.contest-judge-results-header{padding-left:50px;padding-right:50px}}.contest-judge-results-header__values{display:flex;flex-wrap:wrap;gap:20px}.contest-judge-results-scores{align-items:center;display:grid;gap:5px;grid-template-columns:minmax(auto,max-content) auto;margin-top:10px}.contest-judge-results-scores__col{align-items:center;display:flex;flex-wrap:nowrap;gap:5px;min-width:0}.contest-judge-results-scores__col--score{color:hsl(var(--hsl-c2))}.contest-judge-results-scores__row{display:contents}.contest-judge-results-vote__avatar{height:30px;width:30px}.contest-judge-results-vote__user{align-items:center;display:flex;font-size:16px}.contest-judge-results-vote__username{margin-left:10px}.contest-judge-results-vote__comment{margin-top:15px;overflow-wrap:anywhere;white-space:break-spaces}.contest-judge-results-vote__scores-header{display:flex;gap:10px;margin-top:10px}.contest-list{background-color:hsl(var(--hsl-b5));color:#fff;font-size:14px;padding:5px 10px}@media (min-width:900px){.contest-list{padding-left:50px;padding-right:50px}}.contest-list-item{background-color:hsl(var(--hsl-b4));border-right:5px solid hsl(var(--hsl-b4));box-shadow:0 1px 3px rgba(0,0,0,.25);color:#fff;display:block;height:70px;margin:5px 0;transition:.1s ease-in-out}@media (max-width:899px){.contest-list-item{height:90px}}.contest-list-item:active,.contest-list-item:focus,.contest-list-item:hover{color:#fff;text-decoration:none}.contest-list-item:hover{background-color:hsl(var(--hsl-b3));border-color:hsl(var(--hsl-b3))}@media (min-width:900px){.contest-list-item:hover .contest-list-item__image{width:160px}}.contest-list-item--entry{border-color:#f6a}.contest-list-item--entry:hover{border-color:#ff80b8}.contest-list-item--hidden{opacity:.5}.contest-list-item--results{border-color:#88b300}.contest-list-item--results:hover{border-color:#9bcc00}.contest-list-item--voting{border-color:#6cf}.contest-list-item--voting:hover{border-color:#80d5ff}.contest-list-item__container{display:flex;justify-content:space-between}.contest-list-item__date{color:hsl(var(--hsl-f1));font-size:12px}@media (max-width:899px){.contest-list-item__date{font-size:10px}}.contest-list-item__image{background-position:50%;background-size:cover;float:left;height:70px;transition:.2s ease-in-out;width:80px}@media (max-width:899px){.contest-list-item__image{height:90px;width:50px}}.contest-list-item__left-content{float:left;overflow:hidden;padding:10px 15px 15px}@media (max-width:899px){.contest-list-item__left-content{padding-right:0}}.contest-list-item__name{font-size:14px;font-weight:700;padding-bottom:5px}@media (min-width:900px){.contest-list-item__name{font-size:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.contest-list-item__right-content{flex-shrink:0;float:right;padding:10px}.contest-list-item__type{color:hsl(var(--hsl-f1));font-size:15px;text-transform:capitalize}@media (max-width:899px){.contest-list-item__type{font-size:13px}}.contest-list-legend{display:flex;justify-content:flex-end;margin:0 -5px}.contest-list-legend__item{background:hsl(var(--hsl-b4));border-right:5px solid hsl(var(--hsl-b4));display:inline-block;height:30px;margin:5px;padding:5px 10px}@media (max-width:899px){.contest-list-legend__item{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contest-list-legend__item:hover{flex:none}}.contest-list-legend__item--entry{border-color:#f6a}.contest-list-legend__item--voting{border-color:#6cf}.contest-list-legend__item--results{border-color:#88b300}.contest-userentry{background:hsl(var(--hsl-b4));box-shadow:0 1px 3px rgba(0,0,0,.25);display:flex;flex-direction:column;margin:10px;min-height:150px;position:relative;transition:.2s cubic-bezier(.68,-.55,.27,1.55);width:calc(50% - 20px)}.contest-userentry--disabled{display:none}.contest-userentry--dragndrop-active{background-color:hsl(var(--hsl-b3))}.contest-userentry--dragndrop-hover.contest-userentry--new,.contest-userentry--new:hover{background-color:hsl(var(--hsl-b3));transform:scale(1.01)}.contest-userentry--new:active{transform:scale(.99)}.contest-userentry--ok{border-bottom:5px solid hsl(var(--hsl-green-3))}.contest-userentry__delete{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:hsl(var(--hsl-c1));margin:0;outline:none;padding:5px 10px;position:absolute;right:0}.contest-userentry__fileicon{font-size:32px;margin-top:25px}.contest-userentry__filename{font-size:15px;font-weight:lighter;margin-top:10px;padding:0 10px}.contest-userentry__filesize{color:hsl(var(--hsl-f1));font-size:12px}.contest-userentry__icon{font-size:16px;padding-bottom:20px}.contest-userentry__uploader{display:flex;flex:1;flex-direction:column;justify-content:center;padding:10px}.contest-userentry__info{color:hsl(var(--hsl-f1));font-size:12px;font-weight:300;line-height:1.4;margin-top:10px;text-align:center}.contest-userentry__spinner{align-items:center;color:hsl(var(--hsl-c1));display:flex;font-size:24px;justify-content:center}.contest-userentry-list{color:#fff;display:flex;flex-wrap:wrap;padding:10px;text-align:center}.contest-voting-list__table{margin:0 auto;max-width:640px;padding:20px;width:100%}.contest-voting-list__rank{align-items:center;background:hsl(var(--hsl-b6));display:flex;flex:0 0 32px;font-weight:100;justify-content:center}.contest-voting-list__rank--blank{background-color:transparent}.contest-voting-list__trophy--1{color:gold}.contest-voting-list__trophy--2{color:silver}.contest-voting-list__trophy--3{color:#d2691e}.contest-voting-list__row{background-color:hsl(var(--hsl-b4));border-bottom:2px solid hsl(var(--hsl-b6));color:hsl(var(--hsl-f1));display:flex;font-size:12px;transition:.1s}.contest-voting-list__row--selected,.contest-voting-list__row:hover{background-color:hsl(var(--hsl-b3))}.contest-voting-list__row:first-child{border-radius:4px 4px 0 0;overflow:hidden}.contest-voting-list__row:last-child{border-bottom:none;border-radius:0 0 4px 4px;overflow:hidden}.contest-voting-list__header{color:hsl(var(--hsl-f1));display:flex;font-size:10px;line-height:32px;text-transform:uppercase}.contest-voting-list__header-wrapper{display:flex;width:100%}.contest-voting-list__icon{align-items:center;display:flex;display:inline-flex;flex:0 0 32px;justify-content:center}.contest-voting-list__icon--bg{background:rgba(0,0,0,.75)}.contest-voting-list__icon--judge-results{background-color:hsl(var(--hsl-b6))}.contest-voting-list__icon--submitted-beatmaps{background-size:cover;flex:0 0 50px}.contest-voting-list__header-title{margin-right:auto;padding-left:10px}.contest-voting-list__header-voted-toggle-button{align-self:center}.contest-voting-list__header-votesummary{align-items:center;display:flex}.contest-voting-list__preview{align-items:center;background:#000;display:inline-flex;justify-content:center}.contest-voting-list__title{color:#fff;font-family:var(--font-content-override,var(--font-content));line-height:1.35;overflow:hidden;padding:8px;transform:translate(0)}.contest-voting-list__title--show-votes{padding:2px 10px;width:100%}.contest-voting-list__title-link{color:#fff;display:block}.contest-voting-list__title-link:active,.contest-voting-list__title-link:focus,.contest-voting-list__title-link:hover{color:#fff}.contest-voting-list__votes-bar{background-color:hsl(var(--hsl-b2));height:100%;left:0;position:absolute;top:0}.contest-voting-list__entrant{font-size:10px;position:relative}.contest-voting-list__link{color:#fff;text-decoration:none}.contest-voting-list__link:active,.contest-voting-list__link:focus,.contest-voting-list__link:hover{color:#fff;text-decoration:none}.contest-voting-list__link--shadowed{text-shadow:0 1px 3px rgba(0,0,0,.75)}.countdown-timer{text-align:center}.countdown-timer__header{color:#fff;margin:0 auto;padding-bottom:10px;text-align:center}.countdown-timer__field{border:5px solid hsl(var(--hsl-b5));border-radius:5px;box-shadow:0 1px 3px rgba(0,0,0,.25);color:#fff;display:inline-block;margin:0 5px;text-align:center;width:70px}.countdown-timer__digit{background:hsl(var(--hsl-b6));font-size:24px;line-height:50px}.countdown-timer__label{background:hsl(var(--hsl-b5));color:hsl(var(--hsl-f1));font-size:12px;line-height:14px}.counter-box{--counter-box-border-colour:hsla(var(--hsl-b5),0.25);--counter-box-title-font-weight:600;--counter-box-title-margin-right:30px;--line-colour:initial;background-color:hsl(var(--hsl-b5));border-radius:4px;box-shadow:0 0 0 2px var(--counter-box-border-colour);color:hsl(var(--hsl-c1));display:inline-flex;justify-content:space-between;padding:7.5px}.counter-box--deleted{--line-colour:#000}.counter-box--deleted.js-active,.counter-box--deleted:active,.counter-box--deleted:focus,.counter-box--deleted:hover{--counter-box-border-colour:#000}.counter-box--pending{--line-colour:#b17}.counter-box--pending.js-active,.counter-box--pending:active,.counter-box--pending:focus,.counter-box--pending:hover{--counter-box-border-colour:#b17}.counter-box--praises{--line-colour:#29b}.counter-box--praises.js-active,.counter-box--praises:active,.counter-box--praises:focus,.counter-box--praises:hover{--counter-box-border-colour:#29b}.counter-box--mapper-notes{--line-colour:var(--beatmapset-discussion-colour--mapper_note)}.counter-box--mapper-notes.js-active,.counter-box--mapper-notes:active,.counter-box--mapper-notes:focus,.counter-box--mapper-notes:hover{--counter-box-border-colour:var(--beatmapset-discussion-colour--mapper_note)}.counter-box--mine{--line-colour:#c60}.counter-box--mine.js-active,.counter-box--mine:active,.counter-box--mine:focus,.counter-box--mine:hover{--counter-box-border-colour:#c60}.counter-box--resolved{--line-colour:#88b300}.counter-box--resolved.js-active,.counter-box--resolved:active,.counter-box--resolved:focus,.counter-box--resolved:hover{--counter-box-border-colour:#88b300}.counter-box--total{--line-colour:#fff}.counter-box--total.js-active,.counter-box--total:active,.counter-box--total:focus,.counter-box--total:hover{--counter-box-border-colour:#fff}.counter-box:active,.counter-box:focus,.counter-box:hover{color:hsl(var(--hsl-c1));text-decoration:none}.counter-box--beatmap-discussions{--counter-box-title-margin-right:0;min-width:60px}.counter-box--info{--counter-box-title-font-weight:normal;--counter-box-title-margin-right:0;padding:10px 0}.counter-box--info,.counter-box--ranking{background-color:transparent;border:none;box-shadow:none;flex-direction:column}.counter-box--ranking{padding:0}.counter-box__content{line-height:1;min-width:0}.counter-box__count{font-size:20px;font-weight:300}.counter-box--info .counter-box__count{color:hsl(var(--hsl-c2))}.counter-box__line{background-color:var(--line-colour);border-radius:4px;margin-left:10px;width:2px}.counter-box__title{font-size:10px;font-weight:var(--counter-box-title-font-weight);margin-right:var(--counter-box-title-margin-right);white-space:nowrap}.daily-challenge{align-items:center;background:hsl(var(--hsl-b4));border:2px solid transparent;border-radius:6px;display:flex;min-width:0;padding:1px;position:relative}.daily-challenge--played-today{border-color:hsl(var(--hsl-lime-1))}.daily-challenge--played-today:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;align-items:center;background-color:hsl(var(--hsl-lime-1));border-radius:50%;color:hsl(var(--hsl-b6));content:"\f00c";display:inline-block;display:inline-flex;flex:none;font-family:Font Awesome\ 5 Free;font-size:8px;font-style:normal;font-variant:normal;font-weight:900;height:16px;justify-content:center;line-height:1;position:absolute;right:0;text-rendering:auto;top:0;transform:translate(50%,-50%);width:16px}.daily-challenge--played-today:before.fa-pull-left{margin-right:.3em}.daily-challenge--played-today:before.fa-pull-right{margin-left:.3em}.daily-challenge__name{font-size:12px;padding:0 5px}.daily-challenge__value{-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(var(--colour));color:transparent;--colour:hsl(var(--hsl-c2))}.daily-challenge__value-box{background:hsl(var(--hsl-b6));border-radius:3px;padding:5px 10px}.daily-challenge-date{background-color:hsl(var(--hsl-d4));border-radius:6px;display:grid;gap:10px;padding:10px}.daily-challenge-date__header{align-items:center;display:grid;gap:10px;grid-template-columns:auto auto auto minmax(100px,150px) auto auto;justify-content:center}.daily-challenge-date__header-arrow{color:hsl(var(--hsl-l1));font-size:1.5em;padding:5px}.daily-challenge-date__header-arrow:active,.daily-challenge-date__header-arrow:focus,.daily-challenge-date__header-arrow:hover{color:hsl(var(--hsl-l3));text-decoration:none}.daily-challenge-date__header-arrow--disabled{opacity:.5;pointer-events:none}.daily-challenge-date__days{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,40px);justify-content:center}.daily-challenge-day{--border-colour:transparent;--completed-opacity:0;background-color:hsla(var(--hsl-b6),.6);border:2px solid var(--border-colour);border-radius:6px;display:grid;gap:4px;line-height:1;padding:4px;text-align:center}.daily-challenge-day:active,.daily-challenge-day:focus,.daily-challenge-day:hover{--border-colour:currentColor;text-decoration:none}.daily-challenge-day--active{--border-colour:currentColor}.daily-challenge-day--completed{--completed-opacity:1}.daily-challenge-day--extra{opacity:.6}.daily-challenge-day__completed{background-color:hsl(var(--hsl-b3));border-radius:inherit;font-size:.6em;opacity:var(--completed-opacity);padding:2px}.daily-challenge-popup{background:hsl(var(--hsl-b4));border-radius:20px;font-size:12px}.daily-challenge-popup__content{display:grid;gap:10px;padding:15px}.daily-challenge-popup__content--main{grid-template-columns:1fr auto}.daily-challenge-popup__content--top{background:hsl(var(--hsl-b5));border-top-left-radius:inherit;border-top-right-radius:inherit;display:grid;grid-template-columns:1fr 1fr 1fr}.daily-challenge-popup__row{display:contents}.daily-challenge-popup__value{color:hsl(var(--hsl-c2));--colour:hsl(var(--hsl-c2))}.daily-challenge-popup__value--fancy{-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(var(--colour));color:transparent}.daily-challenge-popup__value--top{font-size:40px;font-weight:300}.deleted-comments-count{font-size:14px;padding-top:10px}.deleted-comments-count--top{padding-bottom:10px;padding-left:10px;padding-right:10px}@media (min-width:900px){.deleted-comments-count--top{padding-left:50px;padding-right:50px}}.deleted-comments-count__icon{margin-right:5px}.development-deploy-footer{background:hsl(var(--hsl-red-3));font-weight:700;padding:10px;text-align:center;width:100%}@media (max-width:899px){.development-deploy-footer{font-size:14px}}.development-deploy-footer__link{color:hsl(var(--hsl-c2))}.dialog-form{display:inline-flex;display:flex;flex:1 0 auto;padding:10px;width:100%}.dialog-form,.dialog-form__button{align-items:center;color:#fff;justify-content:center}.dialog-form__button{-webkit-appearance:none;-moz-appearance:none;background:none;background-color:var(--bg);border:none;border-radius:10000px;display:inline-flex;flex:none;margin:5px;min-width:160px;outline:none;padding:10px 20px;text-decoration:none;text-shadow:0 1px 3px rgba(0,0,0,.75);--bg:hsl(var(--hsl-blue-3));--bg-hover:hsl(var(--hsl-blue-2))}.dialog-form__button:active,.dialog-form__button:focus,.dialog-form__button:hover{background-color:var(--bg-hover);color:#fff;text-decoration:none}.dialog-form__button--cancel{--bg:hsl(var(--hsl-red-3));--bg-hover:hsl(var(--hsl-red-2))}.dialog-form__button[disabled]{color:hsl(var(--hsl-f1));--bg:hsl(var(--hsl-b3));--bg-hover:var(--bg)}.dialog-form__client-name{color:inherit;font-size:32px;font-style:normal;margin:0}.dialog-form__client-request{font-size:16px;margin:0}.dialog-form__dialog{background-color:hsl(var(--hsl-b4));border-radius:6px;display:flex;flex-direction:column;max-width:100%;width:500px}.dialog-form__extra-link{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:hsl(var(--hsl-l2));cursor:pointer;display:inline;margin:0;outline:none;padding:0}.dialog-form__extra-link:active,.dialog-form__extra-link:focus,.dialog-form__extra-link:hover{color:hsl(var(--hsl-l1));text-decoration:underline}.dialog-form__extra-link--small{font-size:12px}.dialog-form__header-overlay{background-color:rgba(0,0,0,.75);border-radius:6px 6px 0 0;height:100%;left:0;position:absolute;top:0;width:100%}.dialog-form__input{-webkit-appearance:none;-moz-appearance:none;background:none;background-color:hsl(var(--hsl-b5));border:none;border-radius:4px;font-size:16px;margin:0;outline:none;padding:15px 20px;width:100%}.dialog-form__input::-moz-placeholder{color:hsl(var(--hsl-b1));opacity:1}.dialog-form__input::placeholder{color:hsl(var(--hsl-b1));opacity:1}.dialog-form__logo{background-image:url(/assets/images/osu-logo-white.59d385da.svg);background-position:contain;flex:none;height:50px;margin-right:10px;width:50px}.dialog-form__row{display:flex;margin:5px 30px}.dialog-form__row--buttons{flex-wrap:wrap;justify-content:center;margin-bottom:25px;margin-top:25px}.dialog-form__row--client-verification-completed{display:block;margin-bottom:0;margin-top:-20px}.dialog-form__row--client-verification-completed-buttons{align-items:center;display:flex;flex-direction:column;margin-bottom:30px;margin-top:20px}.dialog-form__row--error{color:#a8f}.dialog-form__row--error:after{content:"\a0"}.dialog-form__row--extra-link{display:block;font-size:12px}.dialog-form__row--header{align-items:center;background-image:-webkit-image-set(url(/assets/images/oauth-login.0e8030e7.jpg) 1x,url(/assets/images/oauth-login@2x.39d9b777.jpg) 2x);background-image:image-set(url(/assets/images/oauth-login.0e8030e7.jpg) 1x,url(/assets/images/oauth-login@2x.39d9b777.jpg) 2x);background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:6px 6px 0 0;display:inline-flex;height:200px;justify-content:center;margin-left:0;margin-right:0;margin-top:0;position:relative}.dialog-form__row--label{flex-direction:column;margin-bottom:10px}.dialog-form__row--scopes{flex-direction:column}.dialog-form__row--title{align-items:center;margin-bottom:25px}.dialog-form__row--verification-completed{display:block;margin-bottom:50px;margin-top:-20px}.dialog-form__row--verification-invalid{display:block;margin-bottom:50px}.dialog-form__row--wrong-user{display:block;font-size:12px}.dialog-form__title{color:#fff;font-size:14px;font-style:normal;font-weight:700;margin:0 0 0 auto;text-transform:uppercase}.dialog-form__user-avatar{height:120px;margin-bottom:5px;width:120px}.dialog-form__user-header{align-items:center;color:#fff;display:inline-flex;flex-direction:column;font-size:24px;justify-content:center;position:relative;text-decoration:none}.dialog-form__user-header:active,.dialog-form__user-header:focus,.dialog-form__user-header:hover{color:#fff;text-decoration:none}.difficulty-badge{align-items:center;background-color:var(--bg);border-radius:10000px;display:flex;font-size:max(.82em,12px);font-weight:800;height:100%;padding:0 .5em}.difficulty-badge__icon{font-size:.6em;margin-right:.4em}.difficulty-badge__rating{min-width:2.26em}.discrete-bar{display:flex;flex:1;gap:5px;min-height:3px}.discrete-bar--contents{display:contents}.discrete-bar__item{align-items:center;background:hsl(var(--hsl-b6));border-radius:10000px;color:hsl(var(--hsl-f1));display:inline-flex;flex:1;justify-content:center}.discrete-bar__item--on{background:hsl(var(--hsl-lime-3));color:hsl(var(--hsl-b6))}.download-page{--content-margin:40px;display:flex;flex-direction:column;gap:10px;margin-bottom:10px}@media (max-width:479px){.download-page{--content-margin:20px}}.download-page__banner{border-radius:0 0 20px 20px;display:flex;justify-content:flex-end;min-height:420px;position:relative}.download-page__banner-content{background:hsla(var(--hsl-b5),.5);display:flex;flex:1;flex-direction:column;margin:var(--content-margin);max-width:440px;padding:10px;position:relative}.download-page__banner-content--main{align-items:flex-end;border-radius:20px;gap:10px}.download-page__banner-content--tail{margin-bottom:0;margin-top:0;padding-bottom:20px;padding-top:20px;width:100%}.download-page__banner-tail{display:flex;justify-content:flex-end}.download-page__banner-video{border-radius:0 0 20px 20px;height:100%;left:0;-o-object-fit:cover;object-fit:cover;-o-object-position:left;object-position:left;position:absolute;top:0;width:100%}.download-page__example{background:hsl(var(--hsl-b3));border-radius:20px;height:120px;max-width:280px;-o-object-fit:cover;object-fit:cover}.download-page__extra-link{color:#fff;font-size:14px}.download-page__extra-link:active,.download-page__extra-link:focus,.download-page__extra-link:hover{color:#fff}.download-page__extra-link--separator:before{content:"•"}.download-page__extra-links{display:flex;flex:none;gap:10px;justify-content:center}.download-page__guide{background:hsl(var(--hsl-b4));border-radius:20px;box-shadow:0 1px 3px rgba(0,0,0,.25);display:flex;flex-direction:column;gap:10px;margin:0 10px}.download-page__guide-content{padding:20px}.download-page__header{background:hsl(var(--hsl-b4));border-radius:0 0 20px 20px;box-shadow:0 1px 3px rgba(0,0,0,.25);display:flex;flex-direction:column}.download-page__help{font-size:12px;padding-top:20px}.download-page__tagline{display:flex;flex-direction:column;font-size:24px;line-height:1;padding:40px 0}@media (min-width:900px){.download-page__tagline{padding:40px}}.download-page__tagline-1{margin-right:110px}.download-page__tagline-2{align-self:flex-end;font-size:50px}.download-page__video{background:hsl(var(--hsl-b6));border-radius:20px}.download-page__step{display:flex;flex-direction:column;gap:10px}.download-page__steps{display:grid;gap:40px;grid-auto-flow:row}@media (min-width:900px){.download-page__steps{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;justify-content:space-between}}.download-page__step-number{align-items:center;border:2px solid;border-radius:24px;display:inline-flex;font-weight:700;height:24px;justify-content:center;padding-bottom:2px;width:60px}.download-page__text{font-size:12px}.download-page__text--description{color:hsl(var(--hsl-c2))}.download-page__text--download-stable{align-self:center;margin-bottom:5px;text-align:center}.download-page__text--title{font-size:18px}.estimate-min-lines{height:0;overflow:hidden;position:absolute;transform:translateZ(0);width:0}.estimate-min-lines__content{width:1000px}.estimate-min-lines__content img{height:1em!important}.fake-bold:after,.fake-bold:before{content:attr(data-content);display:block;font-weight:700;height:0;opacity:0;pointer-events:none}.fake-bold:before{font-weight:400}.fancy-graph{color:hsl(var(--hsl-h1))}.fancy-graph__circle{fill:currentColor}.fancy-graph__line{fill:none;stroke:currentColor;stroke-width:1px}.fileupload{cursor:pointer;height:100%;opacity:0;position:absolute;right:0;top:0;width:100%}.fileupload[disabled]{cursor:not-allowed}.fixed-bar{backface-visibility:hidden;bottom:0;display:flex;flex-direction:column;max-height:100%;position:fixed;width:100%;z-index:502}.flag-country{--height:1em;--width-height-ratio:1.38889;background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:3px;display:block;filter:saturate(1.1);height:var(--height);position:relative;transform:translateZ(0);width:calc(var(--height)*var(--width-height-ratio))}.flag-country:after{background:inherit;border-radius:inherit;content:"";filter:contrast(0) brightness(2);height:100%;left:0;opacity:.25;position:absolute;top:0;width:100%}.flag-country--flat{box-shadow:none}.flag-country--medium{--height:20px}.flag-country--large{--height:40px}.flag-country--small{--height:13px}.flag-country--wiki{border-radius:unset;bottom:-.1em;display:inline-block}.flag-team{background-color:#333;background-position:50%;background-repeat:no-repeat;background-size:contain;border-radius:min(.25em,6px);display:inline-block;flex:none;height:1em;width:2em}.flag-team--full{border-radius:0;box-shadow:none;height:100%;width:100%}.floating-toolbar{bottom:40px;display:flex;flex-direction:column;gap:5px;position:fixed;right:20px;z-index:500}@media (max-width:899px){.floating-toolbar{bottom:10px;right:10px}}.floating-toolbar-button{--circle-size:50px;align-items:center;-webkit-appearance:none;-moz-appearance:none;background:none;background-color:hsl(var(--hsl-b5));border:none;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.25);display:inline-flex;font-size:calc(var(--circle-size)*.48);height:var(--circle-size);justify-content:center;margin:0;outline:none;padding:0;width:var(--circle-size)}@media (max-width:899px){.floating-toolbar-button{--circle-size:40px}}.floating-toolbar-button--updates:before{background:hsl(var(--hsl-h1));border-radius:50%;content:"";display:block;height:calc(var(--circle-size)*.2);position:absolute;right:0;top:0;width:calc(var(--circle-size)*.2)}.follow-mapper{align-items:center;display:flex;max-width:100%}.follow-mapper__avatar{flex:none;height:40px;margin-right:10px;width:40px}.follows-table{font-size:14px;margin:-2px -5px;width:100%}.follows-table--mapping{margin:-5px 0}@media (min-width:480px){.follows-table--mapping{margin:-2px 0}}.follows-table__data{padding:2px 5px}.follows-table__data--beatmapset{grid-area:beatmapset;min-width:0}.follows-table__data--toggle{grid-area:toggle}.follows-table__data--user{grid-area:user}.follows-table--mapping .follows-table__data{display:flex;padding:0}.follows-table--mapping .follows-table__row{display:grid;gap:5px;grid-template:"user toggle" "beatmapset beatmapset"/1fr auto;padding:5px 0}@media (min-width:480px){.follows-table--mapping .follows-table__row{gap:0 5px;grid-template:"user beatmapset toggle"/200px 1fr auto;padding:2px 0}}.footer{background-color:hsl(var(--hsl-b5));color:hsl(var(--hsl-f1));display:flex;flex:none;flex-direction:column;font-size:10px;padding:10px 0 5px}.footer--landing{background:transparent;color:#fff;font-size:12px;font-weight:600;padding:20px 0}.footer__row{display:flex;flex-wrap:wrap;justify-content:center;margin-bottom:5px}.footer__link{color:#fff;font-weight:700;margin:0 10px}.footer__link,.footer__link:active,.footer__link:focus,.footer__link:hover{text-decoration:none}@media (max-width:899px){.footer__link{margin-bottom:5px;margin-top:5px}}.footer__link:active,.footer__link:focus,.footer__link:hover{color:hsl(var(--hsl-l1))}.footer--landing .footer__link{font-weight:inherit}@media (max-width:899px){.u-chat .footer{display:none}}.form{align-items:stretch;display:flex;flex-wrap:wrap;margin:10px 0 0}.form__input-group{flex:0 1 100%}.form__button{flex:1 0 105px;margin-top:5px}@media (min-width:900px){.form__button{margin-left:10px;margin-top:0}}.form-select{align-items:baseline;background-color:hsl(var(--hsl-b6));border-radius:4px;color:hsl(var(--hsl-c1));display:flex;font-size:16px;font-weight:400;line-height:normal;margin:0;min-width:0;position:relative;text-transform:none}@media (min-width:900px){.form-select{font-size:inherit}}.form-select:after{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;align-items:center;background-color:inherit;border-radius:inherit;content:"\f078";display:inline-block;display:inline-flex;flex:none;font-family:Font Awesome\ 5 Free;font-style:normal;font-variant:normal;font-weight:900;height:100%;justify-content:center;line-height:1;padding:0 10px;pointer-events:none;position:absolute;right:0;text-rendering:auto}.form-select:after.fa-pull-left{margin-right:.3em}.form-select:after.fa-pull-right{margin-left:.3em}.form-select--full{flex:1}.form-select--group-history{background-color:inherit;font-size:16px;margin:-5px}.form-select--simple-form{background-color:hsl(var(--hsl-b4));color:hsl(var(--hsl-c1))}.form-select__input{-webkit-appearance:none;-moz-appearance:none;background:none;background-color:inherit;border:none;border-radius:inherit;flex:1;margin:0;max-width:100%;outline:none;padding:5px calc(20px + 1em) 5px 5px;text-overflow:ellipsis}.form-select--group-history .form-select__input{width:100%}.form-text{-webkit-appearance:none;-moz-appearance:none;background:none;background-color:hsl(var(--hsl-b6));border:none;border-radius:4px;color:hsl(var(--hsl-c1));font-size:16px;margin:0;outline:none;padding:5px;width:100%}@media (min-width:900px){.form-text{font-size:12px}}.form-text--username-change{margin:5px 0;padding:10px}@media (min-width:900px){.form-text--username-change{font-size:14px}}.forum-cover-admin-item{background-color:hsl(var(--hsl-b4));border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.25);color:#fff;margin-bottom:10px;padding:10px}.forum-cover-admin-item__cover-image{background-position:50%;background-repeat:no-repeat;background-size:cover;padding-bottom:14.81481481%;width:100%}.forum-cover-edit{background-color:hsl(var(--hsl-b2));border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.25);font-size:12px;margin-top:5px;max-width:80vh;position:absolute;right:0;text-align:center;top:100%;width:350px;z-index:101}.forum-cover-edit__buttons{display:flex;flex-wrap:wrap;justify-content:center}.forum-cover-edit__cover{background-image:-webkit-image-set(url(/assets/images/forum-cover-category-osu.e4db1419.jpg) 1x,url(/assets/images/forum-cover-category-osu@2x.266ab03e.jpg) 2x);background-image:image-set(url(/assets/images/forum-cover-category-osu.e4db1419.jpg) 1x,url(/assets/images/forum-cover-category-osu@2x.266ab03e.jpg) 2x);background-size:cover;border-radius:6px;height:0;padding-bottom:24.16666667%;width:100%}.forum-cover-edit__info{margin:0;padding:0 20px 15px}.forum-cover-edit__overlay{align-items:center;background-color:hsla(var(--hsl-b6),.5);border-radius:6px;display:inline-flex;height:100%;justify-content:center;left:0;position:absolute;top:0;transition:all .12s;width:100%}.forum-cover-edit__overlay[data-state=hidden]{opacity:0;pointer-events:none}.forum-cover-edit__overlay[data-state=hover]{background-color:hsla(var(--hsl-b6),.8)}.forum-issue-icon{align-items:center;background-image:url(/assets/images/button.16de7c2c.svg);background-position:50% 50%;background-size:200px;background-size:cover;border-radius:50%;color:#fff;display:inline-flex;font-size:10px;height:20px;justify-content:center;text-shadow:0 0 2px #000;width:20px;--platform-tag:hsl(var(--hsl-darkorange-1));margin:0 5px}.forum-issue-icon--added{background-color:#cc5288}.forum-issue-icon--archived{background-color:hsl(var(--hsl-b1))}.forum-issue-icon--assigned{background-color:#64c}.forum-issue-icon--confirmed{background-color:#4ad}.forum-issue-icon--duplicate{background-color:#ea0}.forum-issue-icon--invalid{background-color:#8e0b14}.forum-issue-icon--resolved{background-color:#680}.forum-issue-icon--osulazer,.forum-issue-icon--osustable,.forum-issue-icon--osuweb{background-color:var(--platform-tag)}.forum-item{background-color:var(--forum-item-background-color);border-radius:4px;display:flex;font-size:12px;margin:2px -8px;padding:5px 3px;position:relative;transition:all .12s;--latest-post-colour:hsl(var(--hsl-c2))}.forum-item:hover{background-color:var(--forum-item-background-color-hover)}@media (min-width:900px){.forum-item{margin-left:-30px;margin-right:-30px;padding-left:25px;padding-right:25px}}.forum-item--header{background:initial;padding-bottom:0;padding-top:0;--latest-post-colour:inherit}.forum-item--header:hover{background:initial}.forum-item__arrow{align-self:center;flex:none;font-size:14px;margin:5px}@media (min-width:900px){.forum-item__arrow{display:none}}.forum-item__description{color:hsl(var(--hsl-c2))}.forum-item__details{display:flex;flex:1;flex-direction:column;justify-content:center;margin:5px;position:relative}@media (min-width:900px){.forum-item__details{transform:all .12s;will-change:transform}}.forum-item__latest-post{color:var(--latest-post-colour);display:none;flex:none;flex-direction:column;justify-content:center;margin:5px;width:300px}@media (min-width:900px){.forum-item__latest-post{display:flex}}.forum-item__name{font-size:18px;font-weight:400;max-width:100%;width:-moz-max-content;width:max-content}.forum-item__name,.forum-item__name:active,.forum-item__name:focus,.forum-item__name:hover{color:hsl(var(--hsl-c1))}.forum-item__subforum{margin:2px 10px;white-space:nowrap}.forum-item__subforum-icon{margin-right:2px}.forum-item__subforums{display:none;flex-wrap:wrap;list-style:none;margin:8px -10px -2px;padding:0}@media (min-width:900px){.forum-item__subforums{display:flex}}.forum-item-stripe{--width:7px;--width-desktop:9px;--arrow-opacity:0;align-items:center;background-color:inherit;display:inline-flex;inset:0 auto 0 0;justify-content:center;padding-right:4px;position:absolute;transition:all .12s;width:var(--width)}.forum-item-stripe:after{background-color:inherit;inset:0 0 0 auto;width:4px}.forum-item-stripe:after,.forum-item-stripe:before{border-radius:4px 0 0 4px;content:"";position:absolute}.forum-item-stripe:before{background-color:var(--forum-bg);height:100%;left:0;top:0;width:100%}.forum-item:hover .forum-item-stripe,.forum-topic-entry:hover .forum-item-stripe{--width-desktop:24px;--arrow-opacity:1}@media (min-width:900px){.forum-item-stripe{width:var(--width-desktop)}}.forum-item-stripe__arrow{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--forum-item-background-color-hover);display:inline-block;display:none;flex:none;font-family:Font Awesome\ 5 Free;font-style:normal;font-variant:normal;font-weight:900;line-height:1;opacity:var(--arrow-opacity);position:relative;text-rendering:auto}.forum-item-stripe__arrow.fa-pull-left{margin-right:.3em}.forum-item-stripe__arrow.fa-pull-right{margin-left:.3em}.forum-item-stripe__arrow:before{content:"\f105"}@media (min-width:900px){.forum-item-stripe__arrow{display:block}}.forum-list{padding:10px}@media (min-width:900px){.forum-list{padding-left:50px;padding-right:50px}}.forum-list--compact{padding:0}@media (min-width:900px){.forum-list--compact{padding:0}}.forum-list__button{flex:none;margin:2px 5px}.forum-list__buttons{display:none;flex:wrap;margin:-2px -5px}@media (min-width:900px){.forum-list__buttons{display:flex}}.forum-list__menu{margin-left:auto;position:relative}@media (min-width:900px){.forum-list__menu{display:none}}.forum-list__menu-button{align-items:center;-webkit-appearance:none;-moz-appearance:none;background:none;background-color:hsl(var(--hsl-blue-2));border:none;border-radius:50%;display:inline-flex;height:30px;justify-content:center;margin:0;outline:none;padding:0;text-shadow:0 1px 3px rgba(0,0,0,.75);width:30px}.forum-list__header{align-items:flex-end;display:flex;margin-bottom:10px}.forum-list__items{list-style:none;margin-top:10px;padding:0}.forum-poll{background-color:hsl(var(--hsl-b2));box-shadow:0 1px 3px rgba(0,0,0,.25);color:hsl(var(--hsl-c1));display:flex;flex-direction:column;font-size:14px;padding:10px}@media (min-width:900px){.forum-poll{padding-left:50px;padding-right:50px}}.forum-poll__actions{align-items:center;bottom:20px;display:flex;flex-direction:column;justify-content:center;position:absolute;right:30px;transition:opacity .12s ease-in-out}@media (min-width:900px){.forum-poll__actions{justify-content:flex-start;opacity:0;right:0;top:20px;width:0}.forum-poll:hover .forum-poll__actions{opacity:1}}.forum-poll__button{margin:5px}.forum-poll__detail{margin:2px 0}.forum-poll__detail--sub{color:hsl(var(--hsl-c2));font-size:10px}.forum-poll__row{display:flex;flex-direction:column;margin:5px 0}.forum-poll__row--buttons{flex-flow:row wrap;margin:0 -5px}.forum-poll__row--details{margin-bottom:3px;margin-top:3px}.forum-poll__row--title{margin-bottom:10px}.forum-poll__title{color:inherit;font-size:18px;font-style:normal;margin:0}.forum-poll__warning{color:hsl(var(--hsl-c2))}.forum-poll-container__content{display:none}.forum-poll-container[data-edit="1"] .forum-poll-container__content--edit,.forum-poll-container[data-page=form][data-edit="0"] .forum-poll-container__content--form,.forum-poll-container[data-page=results][data-edit="0"] .forum-poll-container__content--results{display:block}.forum-poll-option{cursor:pointer;display:flex;font-size:14px;font-weight:400;margin:5px 0;max-width:100%;text-transform:none;width:-moz-max-content;width:max-content}.forum-poll-option__input{margin-right:10px}.forum-poll-row{display:flex;flex-direction:column;margin:3px 0}.forum-poll-row__row{display:flex;flex-wrap:wrap;margin:2px 0}.forum-poll-row__text{flex:1}.forum-poll-row__result{flex:none;min-width:60px;padding-right:5px}@media (min-width:900px){.forum-poll-row__result{padding-left:5px;padding-right:0;text-align:right}}.forum-post{border-bottom:1px solid hsl(var(--hsl-b1));display:flex;padding:0}.forum-post.js-forum-post--hidden{opacity:.5}.forum-post.js-forum-post--highlighted{background-color:hsl(var(--hsl-b3))}.forum-post__actions{display:none;position:absolute;right:10px;top:10px;transition:opacity .12s ease-in-out;will-change:opacity}@media (min-width:900px){.forum-post__actions{display:flex;gap:5px;opacity:0;right:50px}.forum-post:hover .forum-post__actions{opacity:1}}.forum-post__body{display:flex;flex:1;flex-direction:column;min-width:0;position:relative}.forum-post__content{flex:none;font-size:11px;padding:0 10px 20px 20px}@media (min-width:900px){.forum-post__content{font-size:12px;padding-right:50px}}.forum-post__content--blocked{font-size:14px;padding-top:20px}.forum-post__content--footer{color:hsl(var(--hsl-c2))}.forum-post__content--header{align-items:baseline;display:flex;font-size:10px;padding-top:10px}@media (min-width:900px){.forum-post__content--header{font-size:12px;padding-top:20px}}.forum-post__content--main{flex:1 0 auto}.forum-post__content--signature{border-top:1px solid hsl(var(--hsl-b1));color:hsl(var(--hsl-c2));display:none;font-family:var(--font-content-override,var(--font-content));line-height:1.35;margin:0 10px 20px 20px;max-height:170px;overflow:hidden;padding:10px 0 0}@media (min-width:900px){.forum-post__content--signature{display:block;margin-right:50px}}.forum-post__header-content{display:flex;flex-direction:column;margin:-5px -2px}@media (min-width:900px){.forum-post__header-content{flex-direction:row}}.forum-post__header-content-item{margin:5px 2px}.forum-post__menu{margin-left:auto;position:relative}@media (min-width:900px){.forum-post__menu{display:none}}.forum-post__menu-button{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;margin:0;outline:none;padding:5px}.forum-post__user{font-size:14px;font-weight:600}@media (min-width:900px){.forum-post__user{display:none}}.forum-post-content{font-family:var(--font-content-override,var(--font-content));line-height:1.35;word-wrap:break-word;color:hsl(var(--hsl-c1));font-size:12px}@media (min-width:900px){.forum-post-content{font-size:14px}}.forum-post-content--edit{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;margin:0;min-height:150px;outline:none;padding:0;resize:vertical;width:100%}@media (min-width:900px){.forum-post-content--edit{min-height:300px}.forum-post-content--reply-preview{max-height:calc(100vh - 300px);min-height:150px;overflow-y:auto}}.forum-post-content[disabled]{opacity:.8}.forum-post-edit-box{background-color:hsl(var(--hsl-b2));display:flex;height:100%;padding:10px}@media (min-width:900px){.forum-post-edit-box{padding-right:50px}}.forum-post-info{align-items:center;background-color:hsl(var(--hsl-b5));display:flex;flex:none;flex-direction:column;padding:5px;text-align:center;width:45px}@media (min-width:900px){.forum-post-info{padding:10px;width:180px}}.forum-post-info__row{display:none;margin:5px 0}@media (min-width:900px){.forum-post-info__row{display:block}}.forum-post-info__row--avatar{display:block;width:100%}@media (min-width:900px){.forum-post-info__row--avatar{padding:0 40px}}.forum-post-info__row--flag{display:flex;font-size:20px;justify-content:center;width:100%}.forum-post-info__row--group-badge{display:block;width:100%}.forum-post-info__row--group-badge-playmodes{display:none}@media (max-width:899px){.forum-post-info__row--group-badge-playmodes{display:flex;flex-wrap:wrap;font-size:12px;justify-content:center}}.forum-post-info__row--posts,.forum-post-info__row--registration{font-size:12px}.forum-post-info__row--registration strong{font-weight:600}.forum-post-info__row--support-level{align-items:center;background-color:hsl(var(--hsl-pink-1));border-radius:10000px;display:inline-flex;font-size:6px;justify-content:center;padding:2px 5px;width:100%}@media (min-width:900px){.forum-post-info__row--support-level{font-size:8px;min-width:50px;width:auto}}.forum-post-info__row--title{color:hsl(var(--hsl-c1));font-size:11px}.forum-post-info__row--title:active,.forum-post-info__row--title:focus,.forum-post-info__row--title:hover{color:hsl(var(--hsl-c1))}.forum-post-info__row--username{color:hsl(var(--hsl-c1));font-size:16px;word-break:break-word}.forum-post-info__row--username:active,.forum-post-info__row--username:focus,.forum-post-info__row--username:hover{color:hsl(var(--hsl-c1))}.forum-post-preview{padding:10px}@media (min-width:900px){.forum-post-preview{padding-left:50px;padding-right:50px}}.forum-post-preview__title{margin-bottom:10px}.forum-title{flex:1}.forum-title:before{background-color:hsl(var(--hsl-p));border-radius:10000px;content:"";display:none;height:80%;left:-10px;position:absolute;top:15%;width:3px}@media (min-width:900px){.forum-title:before{display:block}}.forum-title--forum{margin:10px}@media (min-width:900px){.forum-title--forum{margin:20px 50px}}.forum-title__description{color:hsl(var(--hsl-c2));font-size:12px;margin:0;padding:0}@media (min-width:900px){.forum-title__description{font-size:14px}}.forum-title__name{color:hsl(var(--hsl-c1));font-size:18px;font-style:normal;font-weight:400;margin:0;padding:0}@media (min-width:900px){.forum-title__name{font-size:30px}}.forum-topic-entry{background-color:var(--forum-item-background-color);border-radius:4px;color:hsl(var(--hsl-c2));display:flex;font-size:12px;margin:2px -8px;padding:7px 0 7px 8px;position:relative;transition:all .12s}.forum-topic-entry:hover{background-color:var(--forum-item-background-color-hover)}@media (min-width:900px){.forum-topic-entry{margin-left:-30px;margin-right:-30px;padding-left:30px}}.forum-topic-entry--old{opacity:.7}.forum-topic-entry--deleted{--forum-item-background-color:hsl(var(--hsl-red-4));--forum-item-background-color-hover:hsl(var(--hsl-red-3));opacity:.5}.forum-topic-entry__col{align-items:center;display:inline-flex;flex:none;justify-content:center}.forum-topic-entry__col--buttons{margin:-2px 18px -2px -2px}.forum-topic-entry__col--icon{align-items:center;align-self:center;display:flex;flex-direction:column;position:relative}.forum-topic-entry__col--last-link{font-size:14px;text-decoration:none;width:30px}.forum-topic-entry__col--last-link:active,.forum-topic-entry__col--last-link:focus,.forum-topic-entry__col--last-link:hover{text-decoration:none}.forum-topic-entry__col--main{align-items:normal;display:flex;flex:1;flex-direction:column;min-width:0;word-break:break-word}@media (min-width:900px){.forum-topic-entry__col--main{align-items:center;flex-direction:row}}.forum-topic-entry__content{flex:none;padding:0 10px}.forum-topic-entry__content--counts{min-width:150px;white-space:nowrap}.forum-topic-entry__content--left{flex:1;min-width:0}.forum-topic-entry__content--right{margin-top:10px;width:100%}@media (min-width:900px){.forum-topic-entry__content--right{margin-top:0;width:200px}}.forum-topic-entry__count{font-weight:600}.forum-topic-entry__detail+.forum-topic-entry__detail{padding-left:10px}.forum-topic-entry__icon{align-items:center;background-color:hsl(var(--hsl-b6));border-radius:10000px;color:hsl(var(--hsl-c1));display:inline-flex;font-size:14px;height:36px;justify-content:center;min-width:46px}.forum-topic-entry__icon:active,.forum-topic-entry__icon:focus,.forum-topic-entry__icon:hover{color:hsl(var(--hsl-c1));text-decoration:none}@media (min-width:900px){.forum-topic-entry__icon{align-self:center}}.forum-topic-entry__icon--small{font-size:12px}.forum-topic-entry__icon--unread{border:2px solid var(--forum-bg)}.forum-topic-entry__issue-icons{display:flex;flex:none;order:1;padding:5px 5px 0}@media (min-width:900px){.forum-topic-entry__issue-icons{align-self:center;order:0;padding-top:0}}.forum-topic-entry__lock{color:hsl(var(--hsl-c2));font-size:10px;margin-top:5px}@media (min-width:900px){.forum-topic-entry__lock{margin-right:5px;margin-top:0;position:absolute;right:100%;top:0}}.forum-topic-entry__replied{--diameter:6px;background-color:var(--forum-bg);border-radius:50%;height:var(--diameter);position:absolute;right:calc(50% - var(--diameter)/2);top:calc(100% + 2px);width:var(--diameter)}@media (min-width:900px){.forum-topic-entry__replied{right:calc(100% + 2px);top:calc(50% - var(--diameter)/2)}}.forum-topic-entry__title{color:hsl(var(--hsl-c1));display:block;font-size:14px;max-width:100%;width:-moz-max-content;width:max-content;word-wrap:break-word}.forum-topic-entry__title:active,.forum-topic-entry__title:focus,.forum-topic-entry__title:hover{color:hsl(var(--hsl-c1))}.forum-topic-feature-vote{background-color:hsl(var(--hsl-b2));line-height:normal;padding:10px;text-align:center}@media (min-width:900px){.forum-topic-feature-vote{padding-left:50px;padding-right:50px}}.forum-topic-feature-vote__button{margin:5px}.forum-topic-feature-vote__info{font-size:14px;margin-bottom:20px}.forum-topic-feature-vote__remaining{font-size:14px}.forum-topic-feature-vote__star{color:#fd5;margin-right:-.9em;opacity:.6}.forum-topic-feature-vote__star:last-child{color:#fc2;margin-right:0;opacity:1}.forum-topic-feature-vote__votes{margin:5px .9em 5px 0;text-align:center}.forum-topic-feature-vote__votes--small{font-size:.8em}.forum-topic-floating-header{color:#fff;flex:none;font-size:15px;font-style:normal;line-height:1.2;margin:0;padding:0}.forum-topic-floating-header__title-link{color:#fff;text-decoration:none}.forum-topic-floating-header__title-link:active,.forum-topic-floating-header__title-link:focus,.forum-topic-floating-header__title-link:hover{color:#fff;text-decoration:none}@media (min-width:900px){.forum-topic-header-padding{margin-top:51px}}.forum-topic-logs-table__body{font-size:14px}.forum-topic-logs-table__col{padding-right:40px;white-space:nowrap}.forum-topic-logs-table__col--action{width:100%}.forum-topic-logs-table__col--date{color:hsl(var(--hsl-f1))}.forum-topic-logs-table__header{border-bottom:2px solid hsl(var(--hsl-c1));font-size:10px;padding-bottom:5px;text-transform:uppercase}.forum-topic-logs-table__log-data{color:hsl(var(--hsl-f1));font-size:11px}.forum-topic-logs-table__row{border-top:2px solid hsl(var(--hsl-b4));height:50px;padding-bottom:2px}.forum-topic-nav{background-color:hsl(var(--hsl-d4));height:var(--main-height);position:relative;width:100%;--main-height:40px}@media (min-width:900px){.forum-topic-nav{--main-height:50px}}.forum-topic-nav__content{align-items:center;bottom:0;display:flex;height:var(--main-height);justify-content:space-between;left:0;padding:0 2px;position:absolute;width:100%}@media (min-width:900px){.forum-topic-nav__content{padding:0 5px}}.forum-topic-nav__counter{width:40px}@media (min-width:900px){.forum-topic-nav__counter{width:50px}}.forum-topic-nav__counter--input{-webkit-appearance:none;-moz-appearance:none;background:none;border:0;color:#fff;display:none;margin:0;outline:none;padding:0}.forum-topic-nav__counter--left{text-align:right}.forum-topic-nav__counter--middle{margin:0 10px;text-align:center;width:auto}.forum-topic-nav__counter-cover{cursor:pointer;height:100%;left:0;position:absolute;top:0;width:100%}.forum-topic-nav__counter-container{align-items:center;-webkit-appearance:none;-moz-appearance:none;background:none;background-color:#111;border:2px solid transparent;border-radius:10000px;color:hsl(var(--hsl-c1));display:inline-flex;font-size:12px;justify-content:center;margin:0 auto;outline:none;padding:0;position:relative;text-decoration:none}@media (min-width:900px){.forum-topic-nav__counter-container{font-size:16px;margin:0 3px}}.forum-topic-nav__counter-container.js-forum-topic-post-jump--container-focus{border-color:#c60}.forum-topic-nav__group{display:flex;flex:1}.forum-topic-nav__group--desktop{display:none}@media (min-width:900px){.forum-topic-nav__group--desktop{display:flex}.forum-topic-nav__group--main{flex:none}}.forum-topic-nav__group--mobile{flex:none}@media (min-width:900px){.forum-topic-nav__group--mobile{display:none}}.forum-topic-nav__group--right{justify-content:flex-end}[data-topic-lock="0"] .forum-topic-nav__lock-or-reply--lock,[data-topic-lock="1"] .forum-topic-nav__lock-or-reply--reply{display:none}.forum-topic-nav__mobile-float{bottom:100%;display:flex;flex-direction:row;margin-bottom:15px;position:absolute}@media (min-width:900px){.forum-topic-nav__mobile-float{display:none}}.forum-topic-nav__mobile-float--right{right:2px}.forum-topic-nav__seek-bar{backface-visibility:hidden;background-color:var(--forum-bg);bottom:100%;cursor:pointer;height:10px;left:0;position:absolute;transition:width .5s ease-out,height .12s ease-out}@media (min-width:900px){.forum-topic-nav__seek-bar{height:5px}}.forum-topic-nav__seek-bar:after{background-color:transparent;bottom:100%;content:"";height:10px;left:0;position:absolute;width:100%}@media (min-width:900px){.forum-topic-nav:hover .forum-topic-nav__seek-bar{height:15px}}.forum-topic-nav__seek-bar--all{opacity:.5;width:100%}@media (min-width:900px){.forum-topic-nav__seek-bar--all{opacity:.01}.forum-topic-nav__seek-bar--all:before{display:none}}.forum-topic-nav:hover .forum-topic-nav__seek-bar--all{opacity:.5}.forum-topic-nav__seek-bar-container{bottom:0;height:var(--main-height);left:0;position:absolute;width:100%}.forum-topic-nav__seek-tooltip{bottom:calc(var(--main-height) + 25px);display:flex;justify-content:center;position:absolute;width:0;will-change:opacity,transform}.forum-topic-nav__seek-tooltip-number{background-color:#1a1a1a;border-radius:4px;color:#fff;flex:none;padding:5px 20px}.forum-topic-nav__seek-tooltip-number:before{border-color:#1a1a1a transparent transparent;border-style:solid;border-width:10px 8px 0;content:"";left:50%;margin-left:-8px;position:absolute;top:100%}.forum-topic-title{background-color:hsl(var(--hsl-b4));display:flex;flex-direction:column;padding:5px}@media (min-width:900px){.forum-topic-title{flex-direction:row;padding-left:45px;padding-right:45px}}.forum-topic-title__item{margin:5px}.forum-topic-title__item--counters{flex:none}.forum-topic-title__item--main{flex:1}.forum-topic-title__title{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;border-bottom:1px solid transparent;color:hsl(var(--hsl-c1));font-size:24px;font-style:normal;line-height:normal;margin:0;outline:none;overflow-wrap:anywhere;padding:0}.forum-topic-title__title-container[data-title-edit="1"] .forum-topic-title__title--display{opacity:0}.forum-topic-title__title--edit{border-bottom-color:hsl(var(--hsl-d1));bottom:0;display:none;left:0;position:absolute;width:100%}.forum-topic-title__title-container[data-title-edit="1"] .forum-topic-title__title--edit{display:block}.forum-topic-title__title-container{margin-bottom:5px;position:relative}.forum-topic-title__post-time{color:hsl(var(--hsl-c2));font-size:12px}.forum-topic-toolbar{background-color:hsl(var(--hsl-b3));display:flex;justify-content:flex-end;padding:5px}@media (min-width:900px){.forum-topic-toolbar{padding-left:45px;padding-right:45px}}.forum-topic-toolbar__item{display:flex;margin:5px}.forum-topic-toolbar[data-title-edit="1"] .forum-topic-toolbar__item,.forum-topic-toolbar__item--title-edit{display:none}.forum-topic-toolbar[data-title-edit="1"] .forum-topic-toolbar__item--title-edit{display:flex}.forum-user-badge{background-color:hsl(var(--hsl-b6));border-radius:10000px;color:hsl(var(--hsl-lime-2));font-size:8px;font-weight:600;padding:2px 10px;text-transform:uppercase}@media (min-width:900px){.forum-user-badge{font-size:10px}}.forum-user-icon{background-color:#29b;border-radius:10000px;display:inline-block;height:.6em;margin-right:2px;width:.6em}.gallery-previews{height:390px;margin:0;padding:0;position:relative}.gallery-previews__item{background-position:50%;background-repeat:no-repeat;background-size:contain;display:block;height:100%;left:0;position:absolute;top:0;transition:all .5s ease-in-out;width:100%}.gallery-previews__item.js-gallery{cursor:zoom-in;will-change:opacity}.gallery-thumbnails{display:flex;flex-wrap:wrap;margin:5px -5px;padding:0}.gallery-thumbnails__item{background-position:50%;background-size:cover;display:inline-block;flex:none;height:50px;margin:5px;opacity:.5;transition:all .5s ease-in-out;width:50px}.gallery-thumbnails__item.js-gallery-thumbnail--active,.gallery-thumbnails__item:hover{opacity:1}.game-mode{align-items:center;display:flex;font-size:14px;gap:10px 20px;height:100%;line-height:normal;list-style:none;margin:0;padding:0;position:absolute;right:10px;top:0}@media (min-width:900px){.game-mode{right:50px}}.game-mode--beatmapset{right:10px}@media (min-width:900px){.game-mode--beatmapset{right:40px}}.game-mode-link{align-items:center;color:hsl(var(--hsl-h1));display:flex;font-size:20px;gap:4px;padding:0;text-shadow:0 1px 3px rgba(0,0,0,.75)}.game-mode-link,.game-mode-link:active,.game-mode-link:focus,.game-mode-link:hover{text-decoration:none}.game-mode-link:active,.game-mode-link:focus,.game-mode-link:hover{color:#fff}.game-mode-link--active{color:#fff;font-weight:700}.game-mode-link--disabled{color:hsl(var(--hsl-f1));cursor:default}.game-mode-link--disabled:active,.game-mode-link--disabled:focus,.game-mode-link--disabled:hover,.game-mode-link__badge{color:hsl(var(--hsl-f1))}.game-mode-link__badge{background-color:hsl(var(--hsl-b6));border-radius:4px;font-size:.6em;font-weight:700;padding:2px 5px}.game-mode-link__icon{font-size:.6em}.github-user{align-items:center;display:flex;justify-content:space-between}.github-user__name{font-size:16px}.grid-items{display:flex;flex-wrap:wrap;gap:20px;margin:0}.grid-items--2{gap:2px}.grid-items--fade-out{opacity:.5}.grid-items--notification-banner-buttons{gap:10px;justify-content:center}.grid-items--ranking-filter{flex-direction:column;gap:10px 20px}@media (min-width:900px){.grid-items--ranking-filter{align-items:center;flex-direction:row;justify-content:flex-end}}.grid-items--ranking-info-bar{gap:20px;width:100%}@media (min-width:900px){.grid-items--ranking-info-bar{align-items:flex-end}}.grid-items__item--spotlight-user-filter{width:100%}@media (min-width:900px){.grid-items__item--spotlight-user-filter{margin-left:auto;width:auto}}.group-history--events{display:flex;flex-direction:column;gap:10px}.group-history--none{font-size:16px;margin:0;text-align:center}.group-history-event{align-items:center;display:flex;font-size:14px;gap:15px}.group-history-event--group_add{--icon:"\f0c0";--message-weight:bold}.group-history-event--group_remove{--icon:"\e073";--message-weight:bold}.group-history-event--group_rename{--icon:"\f509";--message-weight:bold}.group-history-event--user_add{--icon:"\f234";--message-weight:normal}.group-history-event--user_add_playmodes{--icon:"\f507";--message-weight:normal}.group-history-event--user_remove{--icon:"\f503";--message-weight:normal}.group-history-event--user_remove_playmodes{--icon:"\f507";--message-weight:normal}.group-history-event--user_set_default{--icon:"\f4fe";--message-weight:normal}.group-history-event__icon{background-color:var(--group-colour,hsl(var(--hsl-b1)));border-radius:10000px;color:hsl(var(--hsl-b6));line-height:1;padding:3px 6px}.group-history-event__icon:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;content:var(--icon);display:inline-block;flex:none;font-family:Font Awesome\ 5 Free;font-style:normal;font-variant:normal;font-weight:900;line-height:1;text-align:center;text-rendering:auto;width:1.25em}.group-history-event__icon:before.fa-pull-left{margin-right:.3em}.group-history-event__icon:before.fa-pull-right{margin-left:.3em}.group-history-event__info{align-items:flex-end;color:hsl(var(--hsl-f1));-moz-column-gap:15px;column-gap:15px;display:flex;flex-direction:column;flex-shrink:0;font-size:12px}@media (min-width:900px){.group-history-event__info{flex-direction:row-reverse}}.group-history-event__message{flex-grow:1;font-weight:var(--message-weight)}.group-history-search-form{--input-bg:hsl(var(--hsl-b5));--input-border-radius:10px;background:hsl(var(--hsl-b4))}.group-history-search-form__content{padding:20px 10px}@media (min-width:900px){.group-history-search-form__content{padding-left:50px;padding-right:50px}}.group-history-search-form__content--buttons{background-color:hsl(var(--hsl-b3));display:flex;gap:10px;justify-content:center;padding-bottom:10px;padding-top:10px}.group-history-search-form__content--inputs{color-scheme:dark;display:grid;gap:10px;grid-template-columns:repeat(2,1fr) repeat(2,180px)}@media (max-width:899px){.group-history-search-form__content--inputs{grid-template-columns:repeat(2,1fr)}}.group-history-search-form__input{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;font-size:16px;margin:0;outline:none;padding:0;width:100%}.group-history-search-form__label{color:var(--label-colour);padding-bottom:5px}.header-buttons{display:flex;margin:0 -5px 0 auto}.header-buttons__item{display:flex;margin:5px;position:relative}.header-nav-item-count{background:var(--header-nav-count-bg,hsl(var(--hsl-red-2)));border-radius:6px;color:hsl(var(--hsl-c1));font-size:.7em;font-weight:400;padding:.21428571em 10px}.header-nav-mobile{font-size:14px;position:relative;width:100%}@media (min-width:900px){.header-nav-mobile{display:none}}.header-nav-mobile__menu{background-color:hsl(var(--hsl-d5));display:grid;left:0;list-style:none;margin:0 -10px;padding:0;position:absolute;right:0;top:100%;z-index:101}.header-nav-mobile__toggle{color:#fff;display:block;max-width:100%;padding:10px 0;position:relative;text-decoration:none;width:-moz-max-content;width:max-content}.header-nav-mobile__toggle:active,.header-nav-mobile__toggle:focus,.header-nav-mobile__toggle:hover{color:#fff;text-decoration:none}.header-nav-mobile__toggle:before{background-color:hsl(var(--hsl-h1));border-radius:10000px;bottom:-2px;content:"";display:block;height:4px;left:0;position:absolute;width:100%;z-index:102}.header-nav-mobile__toggle-icon{align-items:center;display:flex;font-size:.8em;height:100%;left:100%;padding-left:10px;position:absolute;top:0}.js-click-menu--active>.header-nav-mobile__toggle-icon{transform:rotateX(.5turn)}.header-nav-mobile__item{color:#fff;display:block;padding:10px;text-decoration:none}@media (min-width:900px){.header-nav-mobile__item{padding-left:50px;padding-right:50px}}.header-nav-mobile__item:active,.header-nav-mobile__item:focus,.header-nav-mobile__item:hover{background-color:hsl(var(--hsl-d3));color:#fff;text-decoration:none}.header-nav-v4{--header-nav-item-padding-y:10px;display:none;flex-wrap:wrap;font-size:12px;gap:10px;list-style:none;margin:0;padding:0;position:relative}@media (min-width:900px){.header-nav-v4{--header-nav-item-padding-y:15px;display:flex;font-size:14px}}.header-nav-v4--breadcrumb{display:flex}.header-nav-v4--list{gap:20px}.header-nav-v4--list:before{background-color:hsl(var(--hsl-h1));bottom:0;content:"";height:1px;position:absolute;width:100%}.header-nav-v4__item{align-items:baseline;display:flex}.header-nav-v4--breadcrumb .header-nav-v4__item+.header-nav-v4__item:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;content:"\f105";display:inline-block;flex:none;font-family:Font Awesome\ 5 Free;font-style:normal;font-variant:normal;font-weight:900;line-height:1;padding-right:10px;text-rendering:auto}.header-nav-v4--breadcrumb .header-nav-v4__item+.header-nav-v4__item:before.fa-pull-left{margin-right:.3em}.header-nav-v4--breadcrumb .header-nav-v4__item+.header-nav-v4__item:before.fa-pull-right{margin-left:.3em}.header-nav-v4__link{align-items:baseline;display:flex;gap:2px 5px;padding:var(--header-nav-item-padding-y) 0;position:relative}.header-nav-v4__link:before{display:none;transform:scaleY(0)}@media (min-width:900px){.header-nav-v4__link:before{background-color:hsl(var(--hsl-h1));border-radius:10000px;bottom:-2px;content:"";display:block;height:5px;position:absolute;transition:inherit;width:100%;z-index:1}}.header-nav-v4__link--active{color:#fff;text-decoration:none}.header-nav-v4__link--active:active,.header-nav-v4__link--active:focus,.header-nav-v4__link--active:hover{color:#fff;text-decoration:none}.header-nav-v4--list .header-nav-v4__link,.header-nav-v4--list .header-nav-v4__link:active,.header-nav-v4--list .header-nav-v4__link:focus,.header-nav-v4--list .header-nav-v4__link:hover{text-decoration:none}.header-nav-v4--list .header-nav-v4__link:hover:before{transform:scaleY(1)}.header-nav-v4--list .header-nav-v4__link--active{font-weight:700}.header-nav-v4--list .header-nav-v4__link--active:before{transform:scaleY(1)}.header-nav-v4__text{padding:var(--header-nav-item-padding-y) 0}@media print{.header-v4{display:none}}.header-v4--beatmapset{--header-nav-count-bg:hsl(var(--hsl-b2))}.header-v4__bg{background-position:50%;background-repeat:no-repeat;background-size:cover;display:flex;height:100%;justify-content:center;margin:auto;max-width:1200px;opacity:.7;overflow:hidden;width:100%;--header-bg-with-fallback:var(--header-bg,url(/assets/images/generic.4dc91de4.jpg));--header-bg-with-fallback-2x:var(--header-bg-2x,url(/assets/images/generic@2x.ef7ea3b5.jpg));background-image:-webkit-image-set(var(--header-bg-with-fallback) 1x,var(--header-bg-with-fallback-2x) 2x);background-image:image-set(var(--header-bg-with-fallback) 1x,var(--header-bg-with-fallback-2x) 2x)}.header-v4__bg:before{background-image:linear-gradient(to right,hsl(var(--hsl-d5)),transparent 200px,transparent 1000px,hsl(var(--hsl-d5)) 1200px);background-position:50%;content:"";display:block;flex:none;height:100%;width:1200px}.header-v4--artists .header-v4__bg{background-image:-webkit-image-set(url(/assets/images/featured-artists.3330ad1a.jpg) 1x,url(/assets/images/featured-artists@2x.60360d8b.jpg) 2x);background-image:image-set(url(/assets/images/featured-artists.3330ad1a.jpg) 1x,url(/assets/images/featured-artists@2x.60360d8b.jpg) 2x)}.header-v4--beatmappacks .header-v4__bg{background-image:-webkit-image-set(url(/assets/images/beatmappacks.5534d5af.jpg) 1x,url(/assets/images/beatmappacks@2x.ff3e0bec.jpg) 2x);background-image:image-set(url(/assets/images/beatmappacks.5534d5af.jpg) 1x,url(/assets/images/beatmappacks@2x.ff3e0bec.jpg) 2x)}.header-v4--changelog .header-v4__bg{background-image:-webkit-image-set(url(/assets/images/changelog.a52af208.jpg) 1x,url(/assets/images/changelog@2x.a639bfa0.jpg) 2x);background-image:image-set(url(/assets/images/changelog.a52af208.jpg) 1x,url(/assets/images/changelog@2x.a639bfa0.jpg) 2x)}.header-v4--chat .header-v4__bg{background-image:-webkit-image-set(url(/assets/images/chat.063c451b.jpg) 1x,url(/assets/images/chat@2x.c6d0eec3.jpg) 2x);background-image:image-set(url(/assets/images/chat.063c451b.jpg) 1x,url(/assets/images/chat@2x.c6d0eec3.jpg) 2x);filter:hue-rotate(115deg)}.header-v4--chat .header-v4__bg:before{filter:hue-rotate(-115deg)}.header-v4--contests .header-v4__bg{--header-bg-with-fallback:var(--header-bg,url(/assets/images/contest.7280a17b.jpg));--header-bg-with-fallback-2x:var(--header-bg-2x,url(/assets/images/contest@2x.f6928cfa.jpg));background-image:-webkit-image-set(var(--header-bg-with-fallback) 1x,var(--header-bg-with-fallback-2x) 2x);background-image:image-set(var(--header-bg-with-fallback) 1x,var(--header-bg-with-fallback-2x) 2x)}.header-v4--forum .header-v4__bg{background-image:-webkit-image-set(var(--forum-cover) 1x,var(--forum-cover-2x) 2x);background-image:image-set(var(--forum-cover) 1x,var(--forum-cover-2x) 2x)}.header-v4--forums-index .header-v4__bg{background-image:-webkit-image-set(url(/assets/images/forum-index.30398d92.jpg) 1x,url(/assets/images/forum-index@2x.985164d3.jpg) 2x);background-image:image-set(url(/assets/images/forum-index.30398d92.jpg) 1x,url(/assets/images/forum-index@2x.985164d3.jpg) 2x)}.header-v4--help .header-v4__bg{background-image:-webkit-image-set(url(/assets/images/wiki.967bda5a.jpg) 1x,url(/assets/images/wiki@2x.745f9fc2.jpg) 2x);background-image:image-set(url(/assets/images/wiki.967bda5a.jpg) 1x,url(/assets/images/wiki@2x.745f9fc2.jpg) 2x)}.header-v4--mp-history .header-v4__bg{background-image:-webkit-image-set(url(/assets/images/mp-history.67640e99.jpg) 1x,url(/assets/images/mp-history@2x.42a7dda3.jpg) 2x);background-image:image-set(url(/assets/images/mp-history.67640e99.jpg) 1x,url(/assets/images/mp-history@2x.42a7dda3.jpg) 2x)}.header-v4--news .header-v4__bg{background-image:-webkit-image-set(url(/assets/images/news.ecb6aa6d.png) 1x,url(/assets/images/news@2x.38852ee9.png) 2x);background-image:image-set(url(/assets/images/news.ecb6aa6d.png) 1x,url(/assets/images/news@2x.38852ee9.png) 2x)}.header-v4--password-reset .header-v4__bg{background-image:-webkit-image-set(url(/assets/images/password-reset.bc6cb6e6.jpg) 1x,url(/assets/images/password-reset@2x.93c148c2.jpg) 2x);background-image:image-set(url(/assets/images/password-reset.bc6cb6e6.jpg) 1x,url(/assets/images/password-reset@2x.93c148c2.jpg) 2x)}.header-v4--rankings .header-v4__bg{background-image:-webkit-image-set(url(/assets/images/rankings.44275dac.jpg) 1x,url(/assets/images/rankings@2x.02b01f98.jpg) 2x);background-image:image-set(url(/assets/images/rankings.44275dac.jpg) 1x,url(/assets/images/rankings@2x.02b01f98.jpg) 2x)}.header-v4--search .header-v4__bg{background-image:-webkit-image-set(url(/assets/images/search.b24a3b21.jpg) 1x,url(/assets/images/search@2x.9c06570d.jpg) 2x);background-image:image-set(url(/assets/images/search.b24a3b21.jpg) 1x,url(/assets/images/search@2x.9c06570d.jpg) 2x)}.header-v4--store .header-v4__bg{background-image:-webkit-image-set(url(/assets/images/store.927376e6.png) 1x,url(/assets/images/store@2x.e571a361.png) 2x);background-image:image-set(url(/assets/images/store.927376e6.png) 1x,url(/assets/images/store@2x.e571a361.png) 2x);opacity:.7}.header-v4--supporter .header-v4__bg{background-image:-webkit-image-set(url(/assets/images/supporter.f6911397.jpg) 1x,url(/assets/images/supporter@2x.f6911397.jpg) 2x);background-image:image-set(url(/assets/images/supporter.f6911397.jpg) 1x,url(/assets/images/supporter@2x.f6911397.jpg) 2x);opacity:.2}.header-v4--tournaments .header-v4__bg{background-image:-webkit-image-set(url(/assets/images/tournament-v2.578032f2.jpg) 1x,url(/assets/images/tournament-v2@2x.c759060a.jpg) 2x);background-image:image-set(url(/assets/images/tournament-v2.578032f2.jpg) 1x,url(/assets/images/tournament-v2@2x.c759060a.jpg) 2x)}.header-v4--team .header-v4__bg,.header-v4--users .header-v4__bg{filter:blur(50px);opacity:.25}.header-v4__bg-container{background-color:hsl(var(--hsl-d5));height:100%;left:0;position:absolute;top:0;width:100%}.header-v4__container{align-items:center;display:flex;flex-direction:column;justify-content:flex-end;position:relative}@media (min-width:900px){.header-v4__container--main{min-height:160px;padding-top:105px}.header-v4--supporter .header-v4__container--main{min-height:450px}}.header-v4__content{color:hsl(var(--hsl-c1));max-width:1000px;position:relative;width:100%}@media (min-width:900px){.header-v4__content{max-width:1000px;width:calc(100% - 40px)}}.header-v4__icon{align-self:stretch;background-image:url(/assets/images/home.03d09fb9.svg);background-position:50%;background-repeat:no-repeat;background-size:75%;flex:none;margin-right:10px;width:40px}.header-v4--artist .header-v4__icon,.header-v4--artists .header-v4__icon{background-image:url(/assets/images/artists.b3ab6083.svg)}.header-v4--beatmappacks .header-v4__icon{background-image:url(/assets/images/beatmappacks.7d843dc2.svg)}.header-v4--beatmapset .header-v4__icon,.header-v4--beatmapsets .header-v4__icon{background-image:url(/assets/images/beatmapsets.d82379a6.svg)}.header-v4--changelog .header-v4__icon{background-image:url(/assets/images/changelog.8a893cfc.svg)}.header-v4--chat .header-v4__icon,.header-v4--comments .header-v4__icon{background-image:url(/assets/images/chat.3830b873.svg)}.header-v4--contests .header-v4__icon{background-image:url(/assets/images/contests.a420f096.svg)}.header-v4--error .header-v4__icon{background-image:url(/assets/images/notifications.01fd9e7f.svg)}.header-v4--forum .header-v4__icon,.header-v4--forums-index .header-v4__icon{background-image:url(/assets/images/forum.19afb43f.svg)}.header-v4--friends .header-v4__icon{background-image:url(/assets/images/friends.99553fda.svg)}.header-v4--help .header-v4__icon{background-image:url(/assets/images/help.fbda55b5.svg)}.header-v4--home .header-v4__icon{background-image:url(/assets/images/home.03d09fb9.svg)}.header-v4--livestreams .header-v4__icon{background-image:url(/assets/images/forum.19afb43f.svg)}.header-v4--news .header-v4__icon{background-image:url(/assets/images/news.3ef043dc.svg)}.header-v4--notifications .header-v4__icon{background-image:url(/assets/images/notifications.01fd9e7f.svg)}.header-v4--password-reset .header-v4__icon{background-image:url(/assets/images/settings.70bf1e88.svg)}.header-v4--rankings .header-v4__icon{background-image:url(/assets/images/rankings.ccc9ea7c.svg)}.header-v4--search .header-v4__icon{background-image:url(/assets/images/search.23934b8d.svg)}.header-v4--settings .header-v4__icon{background-image:url(/assets/images/settings.70bf1e88.svg)}.header-v4--store .header-v4__icon{background-image:url(/assets/images/store.1794c8b8.svg)}.header-v4--tournaments .header-v4__icon{background-image:url(/assets/images/tournaments.41f25285.svg)}.header-v4--users .header-v4__icon{background-image:url(/assets/images/profile.c681ffeb.svg)}.header-v4__row{align-items:center;display:flex;flex-wrap:wrap;padding:0 10px}@media (min-width:900px){.header-v4__row{padding-left:50px;padding-right:50px}}.header-v4__row--bar{background-color:hsl(var(--hsl-d4))}.header-v4__row--title{background-color:hsl(var(--hsl-d5));font-size:14px}@media (min-width:900px){.header-v4__row--title{font-size:20px;height:55px}.header-v4--beatmapset .header-v4__row{padding-left:40px;padding-right:40px}}.header-v4__title{display:none}@media (min-width:900px){.header-v4__title{display:flex}}.icon-dropdown-menu{align-items:center;background-color:hsl(var(--hsl-b5));border-radius:4px;cursor:pointer;display:flex;height:32px;justify-content:center;margin-right:10px;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:32px;z-index:512}.icon-dropdown-menu,.icon-dropdown-menu:active,.icon-dropdown-menu:focus,.icon-dropdown-menu:hover{text-decoration:none}.icon-dropdown-menu:after{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;align-items:center;background-color:hsla(var(--hsl-b6),.5);content:"\f078";display:inline-block;display:flex;flex:none;font-family:Font Awesome\ 5 Free;font-style:normal;font-variant:normal;font-weight:900;height:100%;justify-content:center;left:0;line-height:1;opacity:0;position:absolute;text-rendering:auto;top:0;width:100%}.icon-dropdown-menu:after.fa-pull-left{margin-right:.3em}.icon-dropdown-menu:after.fa-pull-right{margin-left:.3em}.icon-dropdown-menu:hover:after{opacity:1}.icon-dropdown-menu--disabled{background-color:transparent;cursor:default}.icon-dropdown-menu--disabled:after{display:none}.icon-stack{position:relative}.icon-stack__base{opacity:0}.icon-stack__icon{left:0;position:absolute}.icon-stack__icon--bottom{top:.2em}.icon-stack__icon--top{top:-.2em}.imagemap{display:inline-block;max-width:-moz-max-content;max-width:max-content;overflow:hidden;position:relative}.imagemap__image{height:auto;max-width:100%;-o-object-fit:contain;object-fit:contain;width:auto}.imagemap__link{display:block;position:absolute}.input-container{--label-font-size:12px;--label-line-height:1.25;--label-height:calc(var(--label-font-size)*var(--label-line-height) + var(--label-padding)*2);--label-colour:hsl(var(--hsl-c2));--label-padding:5px;--label-pointer-events:auto;--input-bg:hsl(var(--hsl-b6));--input-border-colour:var(--input-border-base-colour);--input-border-base-colour:transparent;--input-border-hover-colour:hsl(var(--hsl-l3));--input-border-focus-colour:hsl(var(--hsl-l1));--input-border-error-colour:hsl(var(--hsl-red-2));--input-border-error-focus-colour:hsl(var(--hsl-red-3));--input-padding:var(--label-height) var(--input-padding-right) var(--input-padding-base) var(--input-padding-base);--input-padding-base:10px;--input-padding-right:var(--input-padding-base);display:grid;font-size:inherit;font-weight:400;margin:0;position:relative;text-transform:none;width:100%}.input-container:focus-within{--input-border-colour:var(--input-border-focus-colour)}.input-container:hover{--input-border-colour:var(--input-border-hover-colour)}.input-container--2,.input-container--4{grid-column-end:span 2}@media (min-width:900px){.input-container--4{grid-column-end:span 4}}.input-container--beatmap-owner-editor{--input-bg:hsl(var(--hsl-b6));--input-padding:5px}.input-container--error{--input-border-colour:var(--input-border-error-colour);--input-border-focus-colour:var(--input-border-error-focus-colour);--input-border-hover-colour:var(--input-border-error-focus-colour)}.input-container--fill{flex:1;min-height:150px}.input-container--genre{--label-colour:hsl(var(--hsl-c1));--input-bg:transparent;--input-border-hover-colour:transparent;--input-border-focus-colour:transparent;--input-border-error-colour:transparent}@media (max-width:899px){.input-container--group-history-wide{grid-column-end:span 2}}.input-container--judging{margin:20px 0}.input-container--search-box{font-size:18px;--input-padding:15px var(--input-padding-base)}.input-container--select{--arrow-width:calc(var(--input-padding-base)*2 + 1em);--input-padding-right:var(--arrow-width);--label-pointer-events:none}.input-container--select:after{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;align-items:center;bottom:0;content:"\f078";display:inline-block;display:inline-flex;flex:none;font-family:Font Awesome\ 5 Free;font-style:normal;font-variant:normal;font-weight:900;height:100%;justify-content:center;line-height:1;pointer-events:none;position:absolute;right:0;text-rendering:auto;width:var(--arrow-width)}.input-container--select:after.fa-pull-left{margin-right:.3em}.input-container--select:after.fa-pull-right{margin-left:.3em}.input-container__label{color:var(--label-colour);display:flex;font-size:var(--label-font-size);justify-content:space-between;line-height:var(--label-line-height);margin:0;padding:var(--label-padding) var(--input-padding-base) 0;pointer-events:var(--label-pointer-events);position:absolute;width:100%}.input-text{-webkit-appearance:none;-moz-appearance:none;background:none;background:var(--input-bg);border:none;border-radius:6px;box-shadow:inset 0 0 0 2px var(--input-border-colour);color:hsl(var(--hsl-c1));margin:0;outline:none;padding:0;padding:var(--input-padding);resize:none;width:100%}.input-text--bbcode{display:grid;gap:5px;grid-template-rows:1fr auto;scrollbar-color:hsla(0,0%,100%,.5) hsla(0,0%,100%,.025)}.input-text--bbcode,.input-text--bbcode *{scrollbar-width:thin}.input-text--bbcode ::-webkit-scrollbar{background-color:hsla(0,0%,100%,.025);-webkit-border-radius:100px;width:10px}.input-text--bbcode ::-webkit-scrollbar:hover{background-color:rgba(0,0,0,.09)}.input-text--bbcode ::-webkit-scrollbar:horizontal{height:10px}.input-text--bbcode ::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.5);background-clip:padding-box;border:2px solid hsla(0,0%,100%,0);-webkit-border-radius:100px;min-height:10px}.input-text--bbcode ::-webkit-scrollbar-thumb:active{background:hsla(0,0%,100%,.61);-webkit-border-radius:100px}.input-text__bbcode-textarea{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;margin:0;outline:none;padding:0;resize:none}.js-accordion{display:flex;flex-direction:column;transform:translateZ(0);-moz-transform:none;-webkit-font-smoothing:antialiased}.js-accordion__item-body{overflow:hidden;transition:height .3s ease-in-out}.js-flash-border{border:1px solid transparent;transition:border .2s}.js-flash-border--on{animation:js-flash-border .4s 2}@keyframes js-flash-border{50%{border-color:#fc2}}.js-react-modal{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:512}.kudosu-box{display:flex;gap:4px}.label-toggle__checkbox{display:none}.label-toggle__label--check{display:block}.label-toggle__checkbox:checked~.label-toggle__label--check,.label-toggle__label--uncheck{display:none}.label-toggle__checkbox:checked~.label-toggle__label--uncheck{display:block}.landing-footer-social{text-align:center;transform:translateZ(0)}.landing-footer-social__icon{align-items:center;border:3px solid #fff;border-radius:50%;color:#fff;display:inline-flex;font-size:16px;height:40px;justify-content:center;margin:0 5px;text-decoration:none;width:40px}.landing-footer-social__icon:active,.landing-footer-social__icon:focus,.landing-footer-social__icon:hover{color:#fff;text-decoration:none}.landing-footer-social__icon--support:focus,.landing-footer-social__icon--support:hover{color:#f6a}.landing-footer-social__icon--twitter:focus,.landing-footer-social__icon--twitter:hover{color:#1d9bf0}.landing-graph{height:100%;width:100%}.landing-graph__area{fill:#b17}.landing-graph__circle{fill:none;stroke-width:2;stroke:#fff}.landing-graph__text{font-size:10px;text-shadow:0 1px 3px rgba(0,0,0,.75);fill:#fff;pointer-events:none}.landing-hero{align-items:center;background-color:#333;box-shadow:0 1px 3px rgba(0,0,0,.25);display:flex;height:450px;justify-content:flex-end;position:relative}.landing-hero__bg{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.landing-hero__bg-container,.landing-hero__bg-container:after{height:100%;left:0;position:absolute;top:0;width:100%}.landing-hero__bg-container:after{background-color:hsla(var(--hsl-b6),.5);content:""}.landing-hero__graph{bottom:0;height:70px;left:0;position:absolute;width:100%}.landing-hero__info{color:#fff;font-size:12px;left:0;padding:30px 50px;position:absolute;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.75);top:0;width:100%}@media (min-width:900px){.landing-hero__info{text-align:right}}.landing-hero__logo{background-image:-webkit-image-set(url(/assets/images/osu-logo.90f2a9c6.png) 1x,url(/assets/images/osu-logo@2x.67e32479.png) 2x);background-image:image-set(url(/assets/images/osu-logo.90f2a9c6.png) 1x,url(/assets/images/osu-logo@2x.67e32479.png) 2x);background-size:contain;flex:none;height:100px;margin-bottom:-3px;transition:all 1s;width:100px;will-change:opacity}@media (min-width:900px){.landing-hero__logo{opacity:0}}.landing-hero__message-extra{align-items:center;display:flex;flex-direction:column;position:absolute;width:100%}@media (min-width:900px){.landing-hero__message-extra{align-items:flex-end}}.landing-hero__message-extra--bottom{margin-top:20px;top:100%}.landing-hero__message-extra--top{bottom:100%;margin-bottom:20px}.landing-hero__message-extra-container{height:0;position:relative}.landing-hero__messages{padding:0 50px;position:relative;text-align:center;width:100%}@media (min-width:900px){.landing-hero__messages{text-align:right}}.landing-hero__pippi{background-image:-webkit-image-set(url(/assets/images/pippi.452b13ba.png) 1x,url(/assets/images/pippi@2x.404e8d76.png) 2x);background-image:image-set(url(/assets/images/pippi.452b13ba.png) 1x,url(/assets/images/pippi@2x.404e8d76.png) 2x);background-size:contain;bottom:1px;height:466px;left:0;margin-left:50px;max-width:328px;position:absolute;transform:translateZ(0);transition:all 1s;width:calc(100% - 50px)}@media (max-width:899px){.landing-hero__pippi{opacity:0}}.landing-hero__pippi-logo{background-image:-webkit-image-set(url(/assets/images/logo.a0baa79a.png) 1x,url(/assets/images/logo@2x.61bb4a3e.png) 2x);background-image:image-set(url(/assets/images/logo.a0baa79a.png) 1x,url(/assets/images/logo@2x.61bb4a3e.png) 2x);background-size:contain;height:100%;width:100%}.landing-hero__slogan-main{color:#fff;font-size:24px;margin:0 0 5px;padding:0;text-shadow:0 1px 3px rgba(0,0,0,.75)}.landing-hero__slogan-sub{color:#f9c;font-size:16px;margin:0;padding:0;text-shadow:0 1px 3px rgba(0,0,0,.75)}.landing-nav{display:flex;font-size:12px;justify-content:space-between;padding:30px 20px 20px}.landing-nav__section{display:flex;margin:0 -12px}.landing-nav__link{align-items:center;color:#fff;cursor:pointer;display:flex;margin:0 12px;text-transform:lowercase;white-space:nowrap}.landing-nav__link,.landing-nav__link:active,.landing-nav__link:focus,.landing-nav__link:hover{text-decoration:none}.landing-nav__link:focus,.landing-nav__link:hover{color:#f6a}.landing-nav__link--bold{font-weight:700}.landing-nav__link--locale{color:#86e;margin:0;padding:5px 0}.landing-nav__locale-button:focus .landing-nav__link--locale,.landing-nav__locale-button:hover .landing-nav__link--locale{color:#fff}.landing-nav__locale-button{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;margin:0;outline:none;padding:0 10px 0 0}.landing-nav__locale-flag{margin-right:5px}.landing-nav__locale-link-pointer{color:#aaa;font-size:75%;margin-right:5px;opacity:0;text-align:right;transform:translateZ(0);width:10px}.landing-nav__locale-button:hover .landing-nav__locale-link-pointer{opacity:1}.landing-nav__locale-menu{background-color:#333;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.25);display:flex;flex-direction:column;left:0;margin-left:-8px;margin-top:10px;padding:5px 10px 5px 5px;position:absolute;top:100%;z-index:999}.landing-nav__locale-menu:before{bottom:100%;content:"";display:block;height:10px;left:0;opacity:0;position:absolute;width:100%}.landing-nav__locale-menu-link{display:flex;position:relative}.landing-news{padding:10px 0}.landing-news__posts{display:flex;flex-direction:column}@media (min-width:900px){.landing-news__posts{flex-direction:row;margin:0 -10px}}.landing-news__link{display:flex;justify-content:center;padding:10px;width:100%}.landing-sitemap{display:grid;grid-gap:10px;margin:35px auto;max-width:800px}@media (min-width:900px){.landing-sitemap{grid-template-columns:repeat(3,1fr)}}@media (max-width:899px){.landing-sitemap{text-align:center}}.landing-sitemap__header{color:#fff;font-size:13px;font-weight:700}.landing-sitemap__link{color:#fde;font-size:12px}.landing-sitemap__link:focus,.landing-sitemap__link:hover{color:#fff;text-decoration:none}.landing-sitemap__list{list-style-type:none;margin:0;padding:0}.lazy-load{min-height:150px}.lazy-load--loading{align-items:center;display:flex;justify-content:center}.lazy-load__button{text-align:center}.lazy-load__error{color:hsl(var(--hsl-f1));display:flex;flex-direction:column}.legacy-api-details{display:grid;gap:10px;grid-template-columns:1fr auto}.legacy-api-details__actions{display:flex;flex-direction:column;gap:10px}@media (min-width:900px){.legacy-api-details__actions{align-items:baseline;flex-direction:row}}.legacy-api-details__content{display:flex;flex-direction:column;gap:10px;overflow-wrap:anywhere}.legacy-api-details__entry{overflow-wrap:anywhere}.legacy-api-details__label{color:hsl(var(--hsl-c2));font-size:12px}.legacy-api-details__value{font-size:14px}.legacy-rank{background-position:50%;background-repeat:no-repeat;background-size:contain;height:160px;margin:20px 0;width:200px}.legacy-rank--XH{background-image:-webkit-image-set(url(/assets/images/legacy-ranking-XH.73a2abc5.png) 1x,url(/assets/images/legacy-ranking-XH@2x.3490f938.png) 2x);background-image:image-set(url(/assets/images/legacy-ranking-XH.73a2abc5.png) 1x,url(/assets/images/legacy-ranking-XH@2x.3490f938.png) 2x)}.legacy-rank--X{background-image:-webkit-image-set(url(/assets/images/legacy-ranking-X.07fe0863.png) 1x,url(/assets/images/legacy-ranking-X@2x.41e2bb6d.png) 2x);background-image:image-set(url(/assets/images/legacy-ranking-X.07fe0863.png) 1x,url(/assets/images/legacy-ranking-X@2x.41e2bb6d.png) 2x)}.legacy-rank--SH{background-image:-webkit-image-set(url(/assets/images/legacy-ranking-SH.68c3a84f.png) 1x,url(/assets/images/legacy-ranking-SH@2x.93a7be01.png) 2x);background-image:image-set(url(/assets/images/legacy-ranking-SH.68c3a84f.png) 1x,url(/assets/images/legacy-ranking-SH@2x.93a7be01.png) 2x)}.legacy-rank--S{background-image:-webkit-image-set(url(/assets/images/legacy-ranking-S.9f5f307b.png) 1x,url(/assets/images/legacy-ranking-S@2x.4c57b6fd.png) 2x);background-image:image-set(url(/assets/images/legacy-ranking-S.9f5f307b.png) 1x,url(/assets/images/legacy-ranking-S@2x.4c57b6fd.png) 2x)}.legacy-rank--A{background-image:-webkit-image-set(url(/assets/images/legacy-ranking-A.ca98a855.png) 1x,url(/assets/images/legacy-ranking-A@2x.bb4bf3e3.png) 2x);background-image:image-set(url(/assets/images/legacy-ranking-A.ca98a855.png) 1x,url(/assets/images/legacy-ranking-A@2x.bb4bf3e3.png) 2x)}.legacy-rank--B{background-image:-webkit-image-set(url(/assets/images/legacy-ranking-B.468389d9.png) 1x,url(/assets/images/legacy-ranking-B@2x.bc1fb703.png) 2x);background-image:image-set(url(/assets/images/legacy-ranking-B.468389d9.png) 1x,url(/assets/images/legacy-ranking-B@2x.bc1fb703.png) 2x)}.legacy-rank--C{background-image:-webkit-image-set(url(/assets/images/legacy-ranking-C.c3d813f9.png) 1x,url(/assets/images/legacy-ranking-C@2x.2792720d.png) 2x);background-image:image-set(url(/assets/images/legacy-ranking-C.c3d813f9.png) 1x,url(/assets/images/legacy-ranking-C@2x.2792720d.png) 2x)}.legacy-rank--D{background-image:-webkit-image-set(url(/assets/images/legacy-ranking-D.ec80672a.png) 1x,url(/assets/images/legacy-ranking-D@2x.44493b82.png) 2x);background-image:image-set(url(/assets/images/legacy-ranking-D.ec80672a.png) 1x,url(/assets/images/legacy-ranking-D@2x.44493b82.png) 2x)}.line-chart{height:100%;left:0;position:absolute;top:0;width:100%}.line-chart__axis{font-family:inherit;font-size:inherit}.line-chart__hover{pointer-events:none;position:relative}.line-chart__hover-area{display:grid;position:absolute}.line-chart__hover-circle{background-color:#fff;border:3px solid #b17;border-radius:50%;height:12px;left:-6px;position:relative;top:-6px;width:12px}.line-chart--profile-page .line-chart__hover-circle{background-color:hsl(var(--hsl-b5));border-color:#fc2;border-radius:50%;border-width:4px;height:20px;left:-10px;top:-10px;width:20px}.line-chart__hover-line{background-color:#b17;height:100%;left:-1.5px;position:absolute;top:0;width:3px}.line-chart--profile-page .line-chart__hover-line{background-color:#fc2;left:-1px;width:2px}.line-chart__hover-info-box{background-color:hsl(var(--hsl-b6));border-radius:10px;display:flex;flex-direction:column;font-size:12px;left:0;margin:5px;padding:10px;position:absolute;top:0}.line-chart__hover-info-box[data-float=right]{left:auto;right:0}.line-chart__hover-info-box-text{white-space:nowrap}.line-chart--profile-page .line-chart__hover-info-box-text--x{color:hsl(var(--hsl-l1));order:1}.line-chart--profile-page .line-chart__hover-info-box-text--y{color:#fff}.line-chart__line{fill:none;stroke:#b17;stroke-width:3px}.line-chart--profile-page .line-chart__line{stroke:#fc2;stroke-width:2px}.line-chart__tick-gradient--end{stop-color:#ccc}.line-chart__tick-gradient--start{stop-color:#fff}.line-chart__tick-line{fill:none;stroke-width:1px;shape-rendering:crispEdges}.line-chart__tick-line--default{stroke:#ccc}.line-chart--profile-page .line-chart__tick-line--default{stroke:hsl(var(--hsl-b6))}.line-chart__tick-text{fill:#fff;font-size:12px}.line-chart__tick-text--strong{font-weight:700}.line-chart--profile-page .line-chart__tick-text{fill:hsl(var(--hsl-f1))}.link--white,.link--white:active,.link--white:focus,.link--white:hover{color:#fff}.link--no-underline,.link--no-underline:active,.link--no-underline:focus,.link--no-underline:hover{text-decoration:none}.livestream-featured{--actions-opacity:0;aspect-ratio:16/9;position:relative}.livestream-featured:hover{--actions-opacity:1}.livestream-featured__actions{bottom:30px;display:flex;justify-content:center;opacity:var(--actions-opacity);position:absolute;right:0;width:0;will-change:opacity}.livestream-item{position:relative}.livestream-item__actions{display:flex;justify-content:center;opacity:0;position:absolute;right:0;top:10px;width:0;will-change:opacity}.livestream-item:hover .livestream-item__actions{opacity:1}.livestream-item__content:link{text-decoration:none}.livestream-item__image{background-size:cover;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.25);padding-top:56.25%;width:100%}.livestream-item:hover .livestream-item__image{box-shadow:0 10px 20px rgba(0,0,0,.25)}.livestream-item__text{font-weight:600;margin:5px 0 0;text-align:center}.livestream-item__text--detail{color:hsl(var(--hsl-f1));font-size:10px}.livestream-item__text--name{color:hsl(var(--hsl-l1));font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.livestream-page{background-color:hsl(var(--hsl-b5));padding:20px 10px}@media (min-width:900px){.livestream-page{padding-left:50px;padding-right:50px}}.livestream-page__header{color:hsl(var(--hsl-l1));font-size:15px;margin:0}.livestream-page__item{margin:10px;width:calc(100% - 20px)}@media (min-width:900px){.livestream-page__item{width:calc(50% - 20px)}}.livestream-page__items{display:flex;flex-wrap:wrap;margin-left:-10px;margin-right:-10px}.loading-overlay{align-items:center;backface-visibility:hidden;display:flex;justify-content:center;opacity:0;pointer-events:none;position:fixed;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:9998}.loading-overlay,.loading-overlay:before{height:100%;left:0;top:0;width:100%;will-change:opacity}.loading-overlay:before{background-color:#000;content:"";position:absolute}.loading-overlay--visible{opacity:1;pointer-events:auto}.loading-overlay--visible:before{animation:loading-overlay--background-color 10s linear 1;animation-fill-mode:forwards}.loading-overlay__container{height:64px;position:relative;width:256px}.loading-overlay__circle{animation-duration:1.6s;animation-fill-mode:both;animation-iteration-count:infinite;animation-timing-function:linear;border:3px solid #fff;height:64px;position:absolute;width:64px;will-change:transform,opacity}.loading-overlay__circle--1{background-color:#86e;border-color:#86e;left:0;top:0}.loading-overlay__circle--2{animation-delay:.4s;background-color:#f5c;border-color:#f5c;left:25%;top:100%}.loading-overlay__circle--3{animation-delay:.8s;background-color:#6cf;border-color:#6cf;left:50%;top:0}.loading-overlay__circle--4{animation-delay:1.2s;background-color:#fc2;border-color:#fc2;left:75%;top:100%}.loading-overlay__circle--approach{background-color:transparent;border-radius:100%}.loading-overlay--visible .loading-overlay__circle--approach{animation-name:loading-overlay--circle-approach}.loading-overlay__circle--hit{border-color:#fff;border-radius:100%;box-shadow:0 0 10px rgba(0,0,0,.2)}.loading-overlay--visible .loading-overlay__circle--hit{animation-name:loading-overlay--circle-burst}.loading-overlay__follow-point{align-items:center;animation-duration:1.6s;animation-fill-mode:forwards;animation-iteration-count:infinite;animation-timing-function:linear;color:#fff;display:flex;font-size:24px;font-weight:700;height:0;justify-content:center;opacity:0;position:absolute;top:100%;width:0;will-change:opacity}.loading-overlay--visible .loading-overlay__follow-point{animation-name:loading-overlay--follow-point}.loading-overlay__follow-point--1{animation-delay:.05s;left:25%;transform:rotate(45deg)}.loading-overlay__follow-point--2{animation-delay:.45s;left:50%;transform:rotate(-45deg)}.loading-overlay__follow-point--3{animation-delay:.85s;left:75%;transform:rotate(45deg)}.loading-overlay__follow-point--4{display:none}@keyframes loading-overlay--circle-approach{0%{opacity:0;transform:scale(1)}20%{opacity:1;transform:scale(.5)}20.1%,to{opacity:0;transform:scale(.5)}}@keyframes loading-overlay--circle-burst{0%{opacity:0;transform:scale(.5)}20%{opacity:1;transform:scale(.5)}40%,to{opacity:0;transform:scale(1)}}@keyframes loading-overlay--background-color{0%{opacity:0}10%{opacity:.5}to{opacity:.7}}@keyframes loading-overlay--follow-point{10%{opacity:.8}40%{opacity:.8}50%{opacity:0}}.login-box{position:fixed;top:50px;width:100%;z-index:999}@media (min-width:900px){.login-box{top:90px;transition:top var(--header-pinned-animation-duration)}.js-header-is-pinned .login-box{top:50px}.login-box--landing{position:relative;top:0}}.login-box__content{box-shadow:0 1px 3px rgba(0,0,0,.25);color:#999;display:flex;flex-direction:column;font-size:12px;overflow:hidden;position:absolute;top:0;transform:translateZ(0);transition:none;width:100%}@media (min-width:900px){.login-box__content{border-radius:4px;margin-top:5px;width:300px}.login-box__content--captcha{width:342px}}.login-box__action{margin:5px}.login-box__form-input{background-color:#222;border:none;border-radius:4px;font-size:16px;margin-bottom:5px;outline:none;padding:10px 5px}@media (min-width:900px){.login-box__form-input{font-size:inherit}}.login-box__form-input::-moz-placeholder{color:#777}.login-box__form-input::placeholder{color:#777}.login-box__link{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:#fc2;font-size:14px;margin:0;outline:none;padding:0}.login-box__link:focus,.login-box__link:hover{color:#fff;text-decoration:none}.login-box__row{display:flex;flex:none;margin:0 0 10px}.login-box__row--actions{align-items:center;justify-content:flex-end;margin:-5px -5px 5px;white-space:nowrap}.login-box__row--error{color:#a8f}.login-box__row--error:empty{display:none}.login-box__row--inputs{flex-direction:column;margin-bottom:5px}.login-box__row--title{color:#fff;font-size:15px;font-style:normal;margin-bottom:20px}.login-box__section{display:flex;flex:none;flex-direction:column;padding:20px 20px 0}.login-box__section--login{background-color:#333}.login-box__section--register{background-color:#444}.logo{display:flex;height:100px;width:100px}.logo__main{background-image:-webkit-image-set(url(/assets/images/osu-logo.90f2a9c6.png) 1x,url(/assets/images/osu-logo@2x.67e32479.png) 2x);background-image:image-set(url(/assets/images/osu-logo.90f2a9c6.png) 1x,url(/assets/images/osu-logo@2x.67e32479.png) 2x);background-size:contain;height:100%;position:absolute;width:100%}.love-beatmap-dialog{background-color:hsl(var(--hsl-b5));border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.25);display:grid;grid-template-rows:auto 1fr auto;margin:10px;max-height:80vh;max-width:1000px;padding-bottom:20px;padding-top:20px;width:100%}@media (min-width:900px){.love-beatmap-dialog{margin:20px;max-width:1000px;width:calc(100% - 40px);width:auto}}.love-beatmap-dialog__diff-list{list-style:none;padding:0}.love-beatmap-dialog__diff-list-item{margin-bottom:5px}.love-beatmap-dialog__diff-mode{position:relative}@media (min-width:900px){.love-beatmap-dialog__diff-mode{overflow-y:auto}}.love-beatmap-dialog__diff-mode-title{background-color:hsl(var(--hsl-b5));border-bottom:1px solid #fff;margin-bottom:5px;padding-bottom:5px;position:sticky;top:0}.love-beatmap-dialog__diff-mode-title-label{font-size:14px}.love-beatmap-dialog__row{padding-left:10px;padding-right:10px}@media (min-width:900px){.love-beatmap-dialog__row{padding-left:50px;padding-right:50px}}.love-beatmap-dialog__row--content{-moz-column-gap:10px;column-gap:10px;display:grid;font-size:12px;grid-template-columns:1fr;overflow-y:auto}@media (min-width:900px){.love-beatmap-dialog__row--content{grid-auto-columns:1fr;grid-auto-flow:column;overflow-y:hidden}}.love-beatmap-dialog__row--footer{-moz-column-gap:5px;column-gap:5px;display:flex;justify-content:flex-end;margin-top:20px}.love-beatmap-dialog__row--title{font-size:16px;margin-bottom:20px}.love-beatmap-dialog__switch{align-items:baseline;cursor:pointer;display:flex;font-size:inherit;font-weight:400;margin:0;text-transform:none}.matchmaking-popup{background:hsl(var(--hsl-b4));border-radius:20px;display:grid;font-size:12px;gap:10px;grid-template-columns:1fr auto auto auto auto;padding:15px}.matchmaking-popup__row{display:contents}.matchmaking-popup__value{color:hsl(var(--hsl-c2))}.medals-group{display:grid;gap:20px}@media (min-width:900px){.medals-group{gap:40px}}.medals-group__group{border-radius:4px;display:grid;gap:10px}.medals-group__medals{display:flex;flex-wrap:wrap;gap:10px 20px}.medals-group__title{color:#fff;font-size:14px;font-style:normal;font-weight:700;margin:0;padding:10px 0 0;position:relative}.medals-group__title:before{background-color:hsl(var(--hsl-h1));border-radius:10000px;content:"";height:2px;left:0;position:absolute;top:0;width:100%}.menu-image{--index:0;height:100%;left:calc(100%*var(--index));position:absolute;width:100%}.menu-image__image{display:block;height:100%;margin:auto;max-width:100%;-o-object-fit:contain;object-fit:contain}.menu-images{--arrow-opacity-desktop:0;--indicators-opacity:1;position:relative}.menu-images:hover{--arrow-opacity-desktop:1}.menu-images--placeholder{--indicators-opacity:0}.menu-images__arrow{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;margin:0;outline:none;padding:0;transition:all .12s ease-in-out;--padding:10px;height:100%;padding:var(--padding) calc(var(--page-gutter) + var(--padding));position:absolute;top:0}@media (min-width:900px){.menu-images__arrow{opacity:var(--arrow-opacity-desktop)}}.menu-images__arrow:hover{color:hsl(var(--hsl-l1))}.menu-images__arrow--left{--icon:"\f053";left:0;padding-right:var(--padding)}.menu-images__arrow--right{--icon:"\f054";padding-left:var(--padding);right:0}.menu-images__arrow:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;content:var(--icon);display:inline-block;flex:none;font-family:Font Awesome\ 5 Free;font-style:normal;font-variant:normal;font-weight:900;line-height:1;text-rendering:auto;text-shadow:0 1px 3px rgba(0,0,0,.75)}.menu-images__arrow:before.fa-pull-left{margin-right:.3em}.menu-images__arrow:before.fa-pull-right{margin-left:.3em}.menu-images__blur{transition:opacity .6s;will-change:opacity}.menu-images__blur:before{background:var(--url);background-position:50%;background-size:cover;filter:blur(50px)}.menu-images__blur:after,.menu-images__blur:before{content:"";height:100%;left:0;position:absolute;top:0;width:100%}.menu-images__blur:after{background-image:linear-gradient(to top,hsla(var(--hsl-b5),0%),hsl(var(--hsl-b5)))}.menu-images__container{display:flex;height:100%;transform:translateX(calc(-100%*var(--index, 0)));width:100%}.menu-images__container--transition{transition:transform .3s ease-in-out}.menu-images__images{align-items:center;display:inline-flex;display:flex;height:120px;justify-content:center;overflow:hidden;position:relative}.menu-images__indicator{align-items:center;-webkit-appearance:none;-moz-appearance:none;background:none;border:none;display:flex;height:16px;margin:0;outline:none;padding:5px;width:40px;--content-height:2px;--content-opacity:0.5}.menu-images__indicator:before{background:hsl(var(--hsl-h1));border-radius:10000px;content:"";height:var(--content-height);opacity:var(--content-opacity);transition:.1s ease-out;transition-property:height,opacity;width:100%}.menu-images__indicator:hover{--content-height:100%}.menu-images__indicator--active{--content-height:100%;--content-opacity:1}.menu-images__indicators{align-items:center;bottom:0;display:flex;flex-wrap:wrap;justify-content:center;opacity:var(--indicators-opacity);padding:0 var(--page-gutter);position:absolute;transform:translateY(50%);width:100%}.message-length-counter{color:hsl(var(--hsl-f1));font-size:12px;text-align:right}.message-length-counter--almost-over{color:#ea0}.message-length-counter--discussion{margin-top:5px}.message-length-counter--over{color:#ed1221;font-weight:700}.mobile-menu{display:none;position:fixed;top:50px;width:100%;z-index:var(--z-index--nav-bar-mobile)}.mobile-menu,.mobile-menu:active,.mobile-menu:focus,.mobile-menu:hover{color:hsl(var(--hsl-c1))}.mobile-menu__content{-webkit-overflow-scrolling:touch;background-color:hsl(var(--hsl-b5));display:grid;grid-template-rows:auto 1fr;max-height:calc(var(--vh, 1vh)*100 - 50px)}.mobile-menu__item{display:none;overflow-y:scroll}.mobile-menu__item--search{overflow-y:auto}.mobile-menu__item.js-click-menu--active{display:flex;flex:1;flex-direction:column}.mobile-menu__tabs{background-color:hsl(var(--hsl-d4));display:flex}.mobile-menu-tab{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;margin:0;outline:none;padding:0;--height:40px;color:hsl(var(--hsl-l3));flex:none;height:var(--height);position:relative;width:var(--height);--hover-line-margin:25%}.mobile-menu-tab,.mobile-menu-tab:active,.mobile-menu-tab:focus,.mobile-menu-tab:hover{text-decoration:none}.mobile-menu-tab--link-button{align-items:center;display:inline-flex;display:flex;justify-content:center}.mobile-menu-tab--user{--avatar-spacing:8px;align-items:center;display:flex;flex:1;margin-right:auto;max-width:-moz-max-content;max-width:max-content;min-width:0;padding:var(--avatar-spacing);--hover-line-margin:var(--avatar-spacing)}.mobile-menu-tab--wrapped-first{animation:glow-pulse 2s infinite,grow-and-shrink 2s infinite}.mobile-menu-tab.js-click-menu--active,.mobile-menu-tab:hover{color:hsl(var(--hsl-c1))}.mobile-menu-tab.js-click-menu--active:before,.mobile-menu-tab:hover:before{background-color:hsl(var(--hsl-h1));border-radius:10000px;bottom:-2px;content:"";display:block;height:4px;left:var(--hover-line-margin);position:absolute;right:var(--hover-line-margin);z-index:1}.mobile-menu-tab__avatar{flex:none;height:calc(var(--height) - var(--avatar-spacing)*2);margin-right:var(--avatar-spacing);position:relative;width:calc(var(--height) - var(--avatar-spacing)*2)}.mod{font-size:var(--mod-height,22px);--icon-width:1.42em;display:flex;height:1em;position:relative}.mod--type-Automation{--type-bg-colour:hsl(var(--hsl-blue-1));--type-fg-colour:color-mix(in srgb-linear,#000,hsl(var(--hsl-blue-1)) 10%);--type-extender-colour:color-mix(in srgb,#000,hsl(var(--hsl-blue-1)) 26.3%)}.mod--type-Conversion{--type-bg-colour:hsl(var(--hsl-purple-1));--type-fg-colour:color-mix(in srgb-linear,#000,hsl(var(--hsl-purple-1)) 10%);--type-extender-colour:color-mix(in srgb,#000,hsl(var(--hsl-purple-1)) 26.3%)}.mod--type-DifficultyIncrease{--type-bg-colour:hsl(var(--hsl-red-1));--type-fg-colour:color-mix(in srgb-linear,#000,hsl(var(--hsl-red-1)) 10%);--type-extender-colour:color-mix(in srgb,#000,hsl(var(--hsl-red-1)) 26.3%)}.mod--type-DifficultyReduction{--type-bg-colour:hsl(var(--hsl-lime-1));--type-fg-colour:color-mix(in srgb-linear,#000,hsl(var(--hsl-lime-1)) 10%);--type-extender-colour:color-mix(in srgb,#000,hsl(var(--hsl-lime-1)) 26.3%)}.mod--type-Fun{--type-bg-colour:hsl(var(--hsl-pink-1));--type-fg-colour:color-mix(in srgb-linear,#000,hsl(var(--hsl-pink-1)) 10%);--type-extender-colour:color-mix(in srgb,#000,hsl(var(--hsl-pink-1)) 26.3%)}.mod--type-System{--type-bg-colour:#fc2;--type-fg-colour:color-mix(in srgb-linear,#000,#fc2 10%);--type-extender-colour:color-mix(in srgb,#000,#fc2 26.3%)}.mod__icon{background-position:50%;background-repeat:no-repeat;background-size:contain;position:relative;width:var(--icon-width)}.mod__icon:before{background-color:var(--type-bg-colour);content:"";-webkit-mask-image:url(/assets/images/mod-icon.dacd6669.svg);mask-image:url(/assets/images/mod-icon.dacd6669.svg);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon:after,.mod__icon:before{display:flex;height:100%;left:0;position:absolute;top:0;width:100%}.mod__icon:after{align-items:center;color:var(--type-fg-colour);content:attr(data-acronym);font-family:Venera,sans-serif;font-size:.4em;font-weight:900;justify-content:center}.mod__icon--NM:after{-webkit-mask-image:url(/assets/images/mod-no-mod.3634af18.svg);mask-image:url(/assets/images/mod-no-mod.3634af18.svg)}.mod__icon--10K:after,.mod__icon--NM:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--10K:after{-webkit-mask-image:url(/assets/images/mod-ten-keys.0ad4c248.svg);mask-image:url(/assets/images/mod-ten-keys.0ad4c248.svg)}.mod__icon--1K:after{-webkit-mask-image:url(/assets/images/mod-one-key.c3d1684a.svg);mask-image:url(/assets/images/mod-one-key.c3d1684a.svg)}.mod__icon--1K:after,.mod__icon--2K:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--2K:after{-webkit-mask-image:url(/assets/images/mod-two-keys.3c9d8d70.svg);mask-image:url(/assets/images/mod-two-keys.3c9d8d70.svg)}.mod__icon--3K:after{-webkit-mask-image:url(/assets/images/mod-three-keys.2524ff92.svg);mask-image:url(/assets/images/mod-three-keys.2524ff92.svg)}.mod__icon--3K:after,.mod__icon--4K:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--4K:after{-webkit-mask-image:url(/assets/images/mod-four-keys.783e4b6f.svg);mask-image:url(/assets/images/mod-four-keys.783e4b6f.svg)}.mod__icon--5K:after{-webkit-mask-image:url(/assets/images/mod-five-keys.33cca380.svg);mask-image:url(/assets/images/mod-five-keys.33cca380.svg)}.mod__icon--5K:after,.mod__icon--6K:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--6K:after{-webkit-mask-image:url(/assets/images/mod-six-keys.89a09c08.svg);mask-image:url(/assets/images/mod-six-keys.89a09c08.svg)}.mod__icon--7K:after{-webkit-mask-image:url(/assets/images/mod-seven-keys.852f514c.svg);mask-image:url(/assets/images/mod-seven-keys.852f514c.svg)}.mod__icon--7K:after,.mod__icon--8K:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--8K:after{-webkit-mask-image:url(/assets/images/mod-eight-keys.f258013a.svg);mask-image:url(/assets/images/mod-eight-keys.f258013a.svg)}.mod__icon--9K:after{-webkit-mask-image:url(/assets/images/mod-nine-keys.e892c9df.svg);mask-image:url(/assets/images/mod-nine-keys.e892c9df.svg)}.mod__icon--9K:after,.mod__icon--AC:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--AC:after{-webkit-mask-image:url(/assets/images/mod-accuracy-challenge.74b68b1a.svg);mask-image:url(/assets/images/mod-accuracy-challenge.74b68b1a.svg)}.mod__icon--AD:after{-webkit-mask-image:url(/assets/images/mod-approach-different.30320c23.svg);mask-image:url(/assets/images/mod-approach-different.30320c23.svg)}.mod__icon--AD:after,.mod__icon--AL:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--AL:after{-webkit-mask-image:url(/assets/images/mod-alternate.b7f824fd.svg);mask-image:url(/assets/images/mod-alternate.b7f824fd.svg)}.mod__icon--AP:after{-webkit-mask-image:url(/assets/images/mod-autopilot.4d43baa9.svg);mask-image:url(/assets/images/mod-autopilot.4d43baa9.svg)}.mod__icon--AP:after,.mod__icon--AS:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--AS:after{-webkit-mask-image:url(/assets/images/mod-adaptive-speed.ea159754.svg);mask-image:url(/assets/images/mod-adaptive-speed.ea159754.svg)}.mod__icon--AT:after{-webkit-mask-image:url(/assets/images/mod-autoplay.d3a03a1b.svg);mask-image:url(/assets/images/mod-autoplay.d3a03a1b.svg)}.mod__icon--AT:after,.mod__icon--BL:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--BL:after{-webkit-mask-image:url(/assets/images/mod-blinds.88a04b37.svg);mask-image:url(/assets/images/mod-blinds.88a04b37.svg)}.mod__icon--BM:after{-webkit-mask-image:url(/assets/images/mod-bloom.a02383c1.svg);mask-image:url(/assets/images/mod-bloom.a02383c1.svg)}.mod__icon--BM:after,.mod__icon--BR:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--BR:after{-webkit-mask-image:url(/assets/images/mod-barrel-roll.05dda62a.svg);mask-image:url(/assets/images/mod-barrel-roll.05dda62a.svg)}.mod__icon--BU:after{-webkit-mask-image:url(/assets/images/mod-bubbles.055f75af.svg);mask-image:url(/assets/images/mod-bubbles.055f75af.svg)}.mod__icon--BU:after,.mod__icon--CL:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--CL:after{-webkit-mask-image:url(/assets/images/mod-classic.f5f25b6c.svg);mask-image:url(/assets/images/mod-classic.f5f25b6c.svg)}.mod__icon--CN:after{-webkit-mask-image:url(/assets/images/mod-cinema.9be1b593.svg);mask-image:url(/assets/images/mod-cinema.9be1b593.svg)}.mod__icon--CN:after,.mod__icon--CO:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--CO:after{-webkit-mask-image:url(/assets/images/mod-cover.0cced4be.svg);mask-image:url(/assets/images/mod-cover.0cced4be.svg)}.mod__icon--CS:after{-webkit-mask-image:url(/assets/images/mod-constant-speed.098561a6.svg);mask-image:url(/assets/images/mod-constant-speed.098561a6.svg)}.mod__icon--CS:after,.mod__icon--DA:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--DA:after{-webkit-mask-image:url(/assets/images/mod-difficulty-adjust.141b8620.svg);mask-image:url(/assets/images/mod-difficulty-adjust.141b8620.svg)}.mod__icon--DC:after{-webkit-mask-image:url(/assets/images/mod-daycore.9c82ffc8.svg);mask-image:url(/assets/images/mod-daycore.9c82ffc8.svg)}.mod__icon--DC:after,.mod__icon--DF:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--DF:after{-webkit-mask-image:url(/assets/images/mod-deflate.e1bc9923.svg);mask-image:url(/assets/images/mod-deflate.e1bc9923.svg)}.mod__icon--DP:after{-webkit-mask-image:url(/assets/images/mod-depth.0cfcae1d.svg);mask-image:url(/assets/images/mod-depth.0cfcae1d.svg)}.mod__icon--DP:after,.mod__icon--DS:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--DS:after{-webkit-mask-image:url(/assets/images/mod-dual-stages.da84c99f.svg);mask-image:url(/assets/images/mod-dual-stages.da84c99f.svg)}.mod__icon--DT:after{-webkit-mask-image:url(/assets/images/mod-double-time.895bdda1.svg);mask-image:url(/assets/images/mod-double-time.895bdda1.svg)}.mod__icon--DT:after,.mod__icon--EZ:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--EZ:after{-webkit-mask-image:url(/assets/images/mod-easy.92150de2.svg);mask-image:url(/assets/images/mod-easy.92150de2.svg)}.mod__icon--FF:after{-webkit-mask-image:url(/assets/images/mod-floating-fruits.d96f3839.svg);mask-image:url(/assets/images/mod-floating-fruits.d96f3839.svg)}.mod__icon--FF:after,.mod__icon--FI:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--FI:after{-webkit-mask-image:url(/assets/images/mod-fade-in.9bce8333.svg);mask-image:url(/assets/images/mod-fade-in.9bce8333.svg)}.mod__icon--FL:after{-webkit-mask-image:url(/assets/images/mod-flashlight.de7d21b1.svg);mask-image:url(/assets/images/mod-flashlight.de7d21b1.svg)}.mod__icon--FL:after,.mod__icon--FR:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--FR:after{-webkit-mask-image:url(/assets/images/mod-freeze-frame.12116f6c.svg);mask-image:url(/assets/images/mod-freeze-frame.12116f6c.svg)}.mod__icon--GR:after{-webkit-mask-image:url(/assets/images/mod-grow.102b93f9.svg);mask-image:url(/assets/images/mod-grow.102b93f9.svg)}.mod__icon--GR:after,.mod__icon--HD:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--HD:after{-webkit-mask-image:url(/assets/images/mod-hidden.823bd26e.svg);mask-image:url(/assets/images/mod-hidden.823bd26e.svg)}.mod__icon--HO:after{-webkit-mask-image:url(/assets/images/mod-hold-off.f252a967.svg);mask-image:url(/assets/images/mod-hold-off.f252a967.svg)}.mod__icon--HO:after,.mod__icon--HR:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--HR:after{-webkit-mask-image:url(/assets/images/mod-hard-rock.46546bbc.svg);mask-image:url(/assets/images/mod-hard-rock.46546bbc.svg)}.mod__icon--HT:after{-webkit-mask-image:url(/assets/images/mod-half-time.680aa75e.svg);mask-image:url(/assets/images/mod-half-time.680aa75e.svg)}.mod__icon--HT:after,.mod__icon--IN:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--IN:after{-webkit-mask-image:url(/assets/images/mod-invert.386f6d38.svg);mask-image:url(/assets/images/mod-invert.386f6d38.svg)}.mod__icon--MF:after{-webkit-mask-image:url(/assets/images/mod-moving-fast.277f0b3b.svg);mask-image:url(/assets/images/mod-moving-fast.277f0b3b.svg)}.mod__icon--MF:after,.mod__icon--MG:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--MG:after{-webkit-mask-image:url(/assets/images/mod-magnetised.8ed278d7.svg);mask-image:url(/assets/images/mod-magnetised.8ed278d7.svg)}.mod__icon--MR:after{-webkit-mask-image:url(/assets/images/mod-mirror.c4cf36ba.svg);mask-image:url(/assets/images/mod-mirror.c4cf36ba.svg)}.mod__icon--MR:after,.mod__icon--MU:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--MU:after{-webkit-mask-image:url(/assets/images/mod-muted.04898964.svg);mask-image:url(/assets/images/mod-muted.04898964.svg)}.mod__icon--NC:after{-webkit-mask-image:url(/assets/images/mod-nightcore.d992ee1a.svg);mask-image:url(/assets/images/mod-nightcore.d992ee1a.svg)}.mod__icon--NC:after,.mod__icon--NF:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--NF:after{-webkit-mask-image:url(/assets/images/mod-no-fail.325de5a8.svg);mask-image:url(/assets/images/mod-no-fail.325de5a8.svg)}.mod__icon--NR:after{-webkit-mask-image:url(/assets/images/mod-no-release.deef64b1.svg);mask-image:url(/assets/images/mod-no-release.deef64b1.svg)}.mod__icon--NR:after,.mod__icon--NS:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--NS:after{-webkit-mask-image:url(/assets/images/mod-no-scope.4113573e.svg);mask-image:url(/assets/images/mod-no-scope.4113573e.svg)}.mod__icon--PF:after{-webkit-mask-image:url(/assets/images/mod-perfect.8c11b369.svg);mask-image:url(/assets/images/mod-perfect.8c11b369.svg)}.mod__icon--PF:after,.mod__icon--RD:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--RD:after{-webkit-mask-image:url(/assets/images/mod-random.9db2b428.svg);mask-image:url(/assets/images/mod-random.9db2b428.svg)}.mod__icon--RP:after{-webkit-mask-image:url(/assets/images/mod-repel.d7444b42.svg);mask-image:url(/assets/images/mod-repel.d7444b42.svg)}.mod__icon--RP:after,.mod__icon--RX:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--RX:after{-webkit-mask-image:url(/assets/images/mod-relax.931824f3.svg);mask-image:url(/assets/images/mod-relax.931824f3.svg)}.mod__icon--SD:after{-webkit-mask-image:url(/assets/images/mod-sudden-death.93286ad6.svg);mask-image:url(/assets/images/mod-sudden-death.93286ad6.svg)}.mod__icon--SD:after,.mod__icon--SG:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--SG:after{-webkit-mask-image:url(/assets/images/mod-single-tap.4f3cc54d.svg);mask-image:url(/assets/images/mod-single-tap.4f3cc54d.svg)}.mod__icon--SI:after{-webkit-mask-image:url(/assets/images/mod-spin-in.6385bf5d.svg);mask-image:url(/assets/images/mod-spin-in.6385bf5d.svg)}.mod__icon--SI:after,.mod__icon--SO:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--SO:after{-webkit-mask-image:url(/assets/images/mod-spun-out.b62218a0.svg);mask-image:url(/assets/images/mod-spun-out.b62218a0.svg)}.mod__icon--SR:after{-webkit-mask-image:url(/assets/images/mod-simplified-rhythm.615acc0e.svg);mask-image:url(/assets/images/mod-simplified-rhythm.615acc0e.svg)}.mod__icon--SR:after,.mod__icon--ST:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--ST:after{-webkit-mask-image:url(/assets/images/mod-strict-tracking.f4d72427.svg);mask-image:url(/assets/images/mod-strict-tracking.f4d72427.svg)}.mod__icon--SV2:after{-webkit-mask-image:url(/assets/images/mod-score-v2.76cf32aa.svg);mask-image:url(/assets/images/mod-score-v2.76cf32aa.svg)}.mod__icon--SV2:after,.mod__icon--SW:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--SW:after{-webkit-mask-image:url(/assets/images/mod-swap.07e43d05.svg);mask-image:url(/assets/images/mod-swap.07e43d05.svg)}.mod__icon--SY:after{-webkit-mask-image:url(/assets/images/mod-synesthesia.0283311f.svg);mask-image:url(/assets/images/mod-synesthesia.0283311f.svg)}.mod__icon--SY:after,.mod__icon--TC:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--TC:after{-webkit-mask-image:url(/assets/images/mod-traceable.7e0d7ee4.svg);mask-image:url(/assets/images/mod-traceable.7e0d7ee4.svg)}.mod__icon--TD:after{-webkit-mask-image:url(/assets/images/mod-touch-device.ceb86291.svg);mask-image:url(/assets/images/mod-touch-device.ceb86291.svg)}.mod__icon--TD:after,.mod__icon--TP:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--TP:after{-webkit-mask-image:url(/assets/images/mod-target-practice.aaa2dd92.svg);mask-image:url(/assets/images/mod-target-practice.aaa2dd92.svg)}.mod__icon--TR:after{-webkit-mask-image:url(/assets/images/mod-transform.db3daacc.svg);mask-image:url(/assets/images/mod-transform.db3daacc.svg)}.mod__icon--TR:after,.mod__icon--WD:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--WD:after{-webkit-mask-image:url(/assets/images/mod-wind-down.be29a432.svg);mask-image:url(/assets/images/mod-wind-down.be29a432.svg)}.mod__icon--WG:after{-webkit-mask-image:url(/assets/images/mod-wiggle.9a6ac38c.svg);mask-image:url(/assets/images/mod-wiggle.9a6ac38c.svg)}.mod__icon--WG:after,.mod__icon--WU:after{background-color:var(--type-fg-colour);content:"";margin:0;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}.mod__icon--WU:after{-webkit-mask-image:url(/assets/images/mod-wind-up.84949cad.svg);mask-image:url(/assets/images/mod-wind-up.84949cad.svg)}.mod__customised-indicator{display:grid;height:calc(var(--icon-width)/2);left:0;pointer-events:none;position:absolute;top:calc((1em - var(--icon-width))/2);width:var(--icon-width)}.mod__extender{align-items:center;background-color:var(--type-extender-colour);color:var(--type-bg-colour);display:flex;font-weight:700;justify-content:center;margin-left:-.5em;-webkit-mask-image:url(/assets/images/mod-icon-extender.969b5233.svg);mask-image:url(/assets/images/mod-icon-extender.969b5233.svg);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;padding-bottom:1px;padding-left:.5em;padding-right:3px;width:2.2em}.mod__extender span{font-size:.5em}.modding-profile-list--votes{display:flex;flex-wrap:wrap}.modding-profile-list__thumbnail{margin:20px 10px}.modding-profile-list__empty{color:hsl(var(--hsl-f1));margin-bottom:10px}.modding-profile-list--index .modding-profile-list__empty{margin-top:20px;text-align:center}.modding-profile-list__row{display:flex}.modding-profile-list__show-more{color:hsl(var(--hsl-f1));display:block;font-size:12px;margin-top:20px;text-align:center;text-decoration:none}.modding-profile-list__show-more:active,.modding-profile-list__show-more:focus,.modding-profile-list__show-more:hover{text-decoration:none}.modding-profile-list__timestamp{flex-shrink:0;width:110px}.modding-profile-vote-card{align-items:center;background:hsl(var(--hsl-b3));border-radius:4px;display:flex;flex:none;margin:5px;min-width:275px;overflow:hidden;padding:10px}.modding-profile-vote-card__avatar{flex:none;height:40px;width:40px}.modding-profile-vote-card__content{display:flex;flex:none;flex-direction:column;min-width:0;padding:10px 15px}@media (min-width:900px){.modding-profile-vote-card__content{flex:1;flex-direction:row}.modding-profile-vote-card--reply .modding-profile-vote-card__content{padding-left:60px;padding-right:60px}}.modding-profile-vote-card--new-reply .modding-profile-vote-card__content{padding-bottom:0}.modding-profile-vote-card__user{align-items:flex-start;display:flex;flex:1;flex-direction:column;height:40px;justify-content:center;margin:0 5px}.modding-profile-vote-card__user-badge{margin-top:5px;min-height:16px}.modding-profile-vote-card__user-link{color:hsl(var(--hsl-c1))}.modding-profile-vote-card__user-row{align-items:baseline;display:flex}.modding-profile-vote-card__user-stripe{align-self:stretch;background-color:var(--group-colour,hsl(var(--hsl-b5)));border-radius:1px;flex:none;width:2px}.modding-profile-vote-card__user-text{font-size:13px;font-weight:700;max-width:120px}.modding-profile-vote-card__votes-container{align-items:center;display:flex;flex-direction:column;margin-left:5px;width:50px}.modding-profile-vote-card__score{font-size:18px}.modding-profile-vote-card__count{color:hsl(var(--hsl-f1));font-size:9px}.mods{display:flex;font-size:var(--mod-height,22px)}.mods--dynamic{--mod-height:1em}.mods__over{align-self:center;background:hsl(var(--hsl-b1));border-radius:10000px;font-size:.6em;line-height:1;margin-left:2px;padding:2px 6px}.mods-overflow-tooltip{background:hsl(var(--hsl-b5));border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.25);display:grid;gap:5px;padding:10px 0}.mods-overflow-tooltip__content{max-height:70vh;overflow-y:auto;padding:0 10px;scrollbar-color:hsla(0,0%,100%,.5) hsla(0,0%,100%,.025);scrollbar-width:thin}.mods-overflow-tooltip__content *{scrollbar-width:thin}.mods-overflow-tooltip__content ::-webkit-scrollbar{background-color:hsla(0,0%,100%,.025);-webkit-border-radius:100px;width:10px}.mods-overflow-tooltip__content ::-webkit-scrollbar:hover{background-color:rgba(0,0,0,.09)}.mods-overflow-tooltip__content ::-webkit-scrollbar:horizontal{height:10px}.mods-overflow-tooltip__content ::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.5);background-clip:padding-box;border:2px solid hsla(0,0%,100%,0);-webkit-border-radius:100px;min-height:10px}.mods-overflow-tooltip__content ::-webkit-scrollbar-thumb:active{background:hsla(0,0%,100%,.61);-webkit-border-radius:100px}.mods-overflow-tooltip__item{align-items:center;display:flex;gap:5px}.mp-history-content{display:flex;flex-direction:column;margin:-10px 0}.mp-history-content__autoload-label{margin-bottom:5px}.mp-history-content__item{margin:10px 0}.mp-history-content__item--event{align-self:center;background-color:hsl(var(--hsl-b4));margin:0;max-width:640px;padding:2px 0;width:100%}.mp-history-content__item--event-open{border-radius:4px 4px 0 0;margin-top:10px;padding-top:15px}.mp-history-content__item--event-close{border-radius:0 0 4px 4px;margin-bottom:10px;padding-bottom:15px}.mp-history-content__item--more{align-items:center;display:flex;flex-direction:column;font-size:12px}.mp-history-event{align-items:center;display:flex}.mp-history-event__time{color:hsl(var(--hsl-c2));font-size:10px;font-weight:700;margin-right:10px;text-align:right;width:65px}@media (min-width:900px){.mp-history-event__time{width:85px}}.mp-history-event__type{align-items:center;display:flex;font-size:12px;justify-content:space-around;margin-right:10px;width:25px}.mp-history-event__type--game_aborted{color:hsl(var(--hsl-orange-3))}.mp-history-event__type--game_completed,.mp-history-event__type--host_changed,.mp-history-event__type--player_joined{color:hsl(var(--hsl-green-3))}.mp-history-event__type--player_kicked,.mp-history-event__type--player_left{color:hsl(var(--hsl-orange-3))}.mp-history-event__type--room_created{color:hsl(var(--hsl-green-3))}.mp-history-event__type--room_disbanded{color:hsl(var(--hsl-orange-3))}.mp-history-event__text{color:hsl(var(--hsl-c1));flex:1;font-size:12px;padding-right:20px}.mp-history-event__username{font-weight:700}.mp-history-game{border-radius:4px;width:100%}.mp-history-game__header{--border-radius:4px 4px 0 0;border-radius:var(--border-radius);display:block;height:100px;position:relative;width:100%}@media (min-width:900px){.mp-history-game__header{height:150px}}.mp-history-game__header-overlay{background-color:#000;border-radius:4px 4px 0 0;height:100%;opacity:.5;width:100%}.mp-history-game__stats-box{display:flex;flex-direction:column;left:10px;position:absolute;top:10px}@media (min-width:900px){.mp-history-game__stats-box{flex-direction:row}}.mp-history-game__stat{color:hsl(var(--hsl-c1));font-size:10px;padding-right:15px;text-shadow:0 1px 3px rgba(0,0,0,.75)}@media (min-width:900px){.mp-history-game__stat{font-size:14px}}.mp-history-game__metadata-box{bottom:10px;left:10px;position:absolute;width:calc(100% - 70px)}.mp-history-game__metadata{color:hsl(var(--hsl-c1));margin:0;text-shadow:0 1px 3px rgba(0,0,0,.75)}.mp-history-game__metadata--title{font-size:16px;line-height:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width:900px){.mp-history-game__metadata--title{font-size:20px}}.mp-history-game__metadata--artist{font-size:14px}.mp-history-game__mods{display:flex;position:absolute;right:10px;top:10px;--mod-height:32px}.mp-history-game__team-type{background-size:contain;bottom:10px;height:40px;position:absolute;right:10px;width:40px}.mp-history-game__player-scores{--shape-size:0;background-color:hsl(var(--hsl-b3));border-radius:0 0 4px 4px;display:grid;gap:5px;padding:10px}@media (min-width:900px){.mp-history-game__player-scores{-moz-column-gap:0;column-gap:0;grid-template-columns:var(--shape-size) 1fr auto auto auto auto auto}}.mp-history-game__player-scores--teams{--shape-size:50px;border-radius:0}.mp-history-game__team-scores{background-color:hsl(var(--hsl-b3));display:flex;flex-direction:row;width:100%}@media (min-width:900px){.mp-history-game__team-scores{height:90px;justify-content:space-between}}.mp-history-game__team-scores:last-child{border-radius:0 0 4px 4px}.mp-history-game__team-score{align-items:center;display:flex;flex-direction:column;padding:20px;width:50%}@media (min-width:900px){.mp-history-game__team-score{width:unset}.mp-history-game__team-score--blue{align-items:flex-start}.mp-history-game__team-score--red{align-items:flex-end}}.mp-history-game__team-score-text{text-align:center}@media (min-width:900px){.mp-history-game__team-score-text{text-align:left}}.mp-history-game__team-score-text--name{color:hsl(var(--hsl-c1));font-size:15px;font-weight:600}.mp-history-game__team-score-text--score{color:hsl(var(--hsl-c2));font-size:26px}@media (min-width:900px){.mp-history-game__team-score-text--score{font-size:30px}}.mp-history-game__results{align-items:center;background-color:hsl(var(--hsl-b4));border-radius:0 0 4px 4px;display:flex;justify-content:center;min-height:45px;padding:0 20px}.mp-history-game__results-text{color:hsl(var(--hsl-c1));font-size:18px}@media (min-width:900px){.mp-history-game__results-text{font-size:20px}}.mp-history-player-score{border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.25);--padding-h:20px;--padding-left-desktop:var(--padding-h);--shapes-display:none;--shapes-size:0;background-color:hsl(var(--hsl-b2));display:grid;grid-template-columns:var(--shapes-size) 1fr}.mp-history-player-score--team{--padding-left-desktop:0;--shapes-display:block;--shapes-size:10px}@media (min-width:900px){.mp-history-player-score{grid-column:1/-1;grid-template-columns:subgrid}}.mp-history-player-score__beatmap-version{display:flex;font-size:14px}.mp-history-player-score__country-flag{align-self:center}.mp-history-player-score__shapes{background-image:var(--bg);background-size:cover;border-radius:4px 0 0 4px;display:var(--shapes-display);width:auto}@media (min-width:900px){.mp-history-player-score__shapes{background-position:0 100%;background-repeat:no-repeat;background-size:contain}}.mp-history-player-score__shapes--blue{--bg:url(/assets/images/shapes-team-blue.0a7f2a29.svg)}.mp-history-player-score__shapes--red{--bg:url(/assets/images/shapes-team-red.e6359892.svg)}.mp-history-player-score__main{display:grid;gap:5px;grid-column:2/-1;grid-template-columns:1fr auto;padding:10px 20px}@media (min-width:900px){.mp-history-player-score__main{align-items:center;display:grid;gap:0;grid-template-columns:subgrid;padding-left:var(--padding-left-desktop);padding-right:var(--padding-h)}}.mp-history-player-score__info-box{display:flex;grid-column:1/-1}@media (min-width:900px){.mp-history-player-score__info-box{grid-column:initial;padding:0 10px}}.mp-history-player-score__info-box--mods{flex-wrap:wrap;grid-column:1/2;max-width:144px;order:1}@media (min-width:900px){.mp-history-player-score__info-box--mods{grid-column:initial;order:0}}.mp-history-player-score__info-box--rank{grid-column:2/3;order:1}@media (min-width:900px){.mp-history-player-score__info-box--rank{grid-column:initial;order:0;padding-right:0}}.mp-history-player-score__info-box--stats{align-items:baseline;flex-direction:row-reverse;gap:2px}@media (min-width:900px){.mp-history-player-score__info-box--stats{align-items:center;display:grid;gap:3px 0;grid-column:3/6;grid-template-columns:subgrid}}.mp-history-player-score__info-box--user{flex-direction:column;gap:5px;justify-content:center;min-width:0}@media (min-width:900px){.mp-history-player-score__info-box--user{padding-left:0}}.mp-history-player-score__username{font-size:18px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-history-player-score__username-box{display:flex;gap:5px}.mp-history-player-score__stat-row{align-items:baseline;display:flex;flex:1;flex-direction:column;gap:3px;justify-content:flex-end}@media (min-width:900px){.mp-history-player-score__stat-row{flex-direction:row;gap:20px;grid-column:1/-1}}.mp-history-player-score__stat-row--first{flex-direction:column-reverse}@media (min-width:900px){.mp-history-player-score__stat-row--first{display:grid;gap:40px;grid-template-columns:subgrid}}.mp-history-player-score__mods{--mod-height:22px;display:flex;height:var(--mod-height)}.mp-history-player-score__stat{align-items:baseline;display:flex;justify-content:flex-end}.mp-history-player-score__stat--small{flex:none}.mp-history-player-score__stat-label{color:hsl(var(--hsl-c2));font-size:10px;padding-right:3px;text-transform:uppercase}.mp-history-player-score__stat-number{color:hsl(var(--hsl-c1));font-weight:700;line-height:1}.mp-history-player-score__stat-number--small{font-size:12px}.mp-history-player-score__stat-number--medium{font-size:14px}.mp-history-player-score__stat-number--large{color:hsl(var(--hsl-pink-1));font-size:20px}@media (min-width:900px){.mp-history-player-score__stat-number--large{font-size:25px}}.mp-history-player-score__value--perfect{color:hsl(var(--hsl-lime-1))}.multiplayer-room{--bg:hsla(var(--hsl-b6),0.75);--border-radius:10px;--room-bg:linear-gradient(0.25turn,hsl(var(--hsl-b2)),hsla(var(--hsl-b2),0.8));color:hsl(var(--hsl-c1));display:flex;font-size:12px;position:relative}.multiplayer-room:active,.multiplayer-room:focus,.multiplayer-room:hover{--room-bg:linear-gradient(0.25turn,hsl(var(--hsl-b4)),hsla(var(--hsl-b4),0.8))}.multiplayer-room__chat-button{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;margin:0;outline:none;padding:0}.multiplayer-room__content{background:var(--room-bg);border-radius:var(--border-radius);display:flex;flex-direction:column;margin-left:20px;padding:6px 20px;pointer-events:none;position:relative;width:calc(100% - 20px)}.multiplayer-room__cover-container{display:flex;height:100%;left:0;position:absolute;top:0;width:100%}.multiplayer-room__details{display:flex;flex:1;flex-wrap:wrap;justify-content:space-between}.multiplayer-room__badge-container{align-items:center;display:flex}.multiplayer-room__badge{background-color:var(--bg);border-radius:10000px;color:hsl(var(--hsl-b6));font-weight:600;margin-right:5px;padding:0 10px}.multiplayer-room__badge--active{--bg:hsl(var(--hsl-lime-2))}.multiplayer-room__badge--ended{color:hsl(var(--hsl-c1))}.multiplayer-room__badge--soon{--bg:hsl(var(--hsl-orange-2))}.multiplayer-room__badge--map-count{color:hsl(var(--hsl-c1))}.multiplayer-room__difficulty{background:linear-gradient(0deg,var(--max-difficulty) 50%,var(--min-difficulty) 50%);border-radius:10000px;display:flex}.multiplayer-room__members{display:flex;flex:1 1 auto;justify-content:flex-end}.multiplayer-room__name{font-size:24px;word-break:break-word}.multiplayer-room__host{white-space:pre}.multiplayer-room__host,.multiplayer-room__participants{align-items:center;display:flex;padding:5px}.nav-button{align-items:center;-webkit-appearance:none;-moz-appearance:none;background:none;border:none;border-radius:10000px;color:hsl(var(--hsl-c1));display:inline-flex;justify-content:center;margin:0;outline:none;padding:10px;transition:none}.nav-button,.nav-button:active,.nav-button:focus,.nav-button:hover{text-decoration:none}.nav-button.js-click-menu--active,.nav-button:hover{background-color:hsla(var(--hsl-c1),.2)}.nav-button--mobile{border:none;border-radius:4px;margin:0 10px 0 0}.nav-button--notifications{padding:7px 10px}.nav-button--support:hover{color:#f6a}.nav-button--twitter:hover{color:hsl(var(--hsl-c1))}.nav-button--wrapped:hover{color:#f6a}.nav-button--wrapped-first{animation:glow-pulse 2s infinite,grow-and-shrink 2s infinite}.nav-click-popup{height:0;margin-top:-5px;position:absolute;right:0;top:100%}.nav-click-popup--user{margin-top:5px}.nav2{display:flex;font-size:14px;font-weight:500;height:90px;transform:translateZ(0);transition:height var(--header-pinned-animation-duration);width:100%}.js-header-is-pinned .nav2{height:50px}.nav2__col{align-items:center;display:flex;flex:none}.nav2__col--avatar{margin-left:6px}.nav2__col--logo{margin-right:10px}.nav2__col--menu{align-items:stretch;position:relative}.nav2__col--notifications{margin-left:6px}.nav2__colgroup{display:flex;flex:none}.nav2__colgroup--menu{margin-right:auto}.nav2__logo{background-image:var(--nav-logo);background-repeat:no-repeat;background-size:contain;height:100%;left:0;position:absolute;top:0;transition:all .1s ease-in-out;width:100%}.nav2__logo-link:hover .nav2__logo{transform:scale(1.11)}.nav2__logo--bg{background-image:var(--nav-logo-bg);opacity:0}.nav2__logo-link:hover .nav2__logo--bg{opacity:1}.nav2__logo-link{height:70px;margin:-5px;position:relative;transition:width var(--header-pinned-animation-duration),height var(--header-pinned-animation-duration);width:70px}.js-header-is-pinned .nav2__logo-link{height:40px;width:40px}.nav2__menu-link{color:#f9c;line-height:1;padding:6px 10px}.nav2__menu-link,.nav2__menu-link:active,.nav2__menu-link:focus,.nav2__menu-link:hover{text-decoration:none}.nav2__menu-link:after{background-color:#fc2;border-radius:10px;content:"";height:calc(100% - 16px);opacity:0;position:absolute;right:100%;top:8px;width:3px;will-change:opacity}.nav2__menu-link:hover{color:#fff}.nav2__menu-link:hover:after{opacity:1}.nav2__menu-link:active{color:#fff}.nav2__menu-link-main{align-items:center;color:#fff;display:flex;padding:10px;text-decoration:none}.nav2__menu-link-main:active,.nav2__menu-link-main:focus,.nav2__menu-link-main:hover{color:#fff;text-decoration:none}.nav2__colgroup:hover .nav2__menu-link-main{color:hsla(0,0%,100%,.7)}.nav2__colgroup:hover .nav2__menu-link-main.js-menu--active,.nav2__colgroup:hover .nav2__menu-link-main:hover{color:#fff}.nav2__menu-link-main--search{align-items:center;align-self:center;border-radius:50%;display:inline-flex;height:40px;justify-content:center;padding:0;width:40px}.nav2__menu-link-main--search:hover{background-color:hsl(var(--hsl-h1))}.nav2__menu-link-bar{border-radius:10px;display:block;height:3px;margin-top:5px;position:absolute;top:100%;width:100%}.nav2__menu-popup{display:flex;flex-direction:column;height:0;left:10px;margin-top:-20px;position:absolute;top:100%;transition:margin-top var(--header-pinned-animation-duration);white-space:nowrap}.js-header-is-pinned .nav2__menu-popup{margin-top:-5px}.nav2__notification-container{border:2px solid hsl(var(--hsl-c1));border-radius:30px;display:flex;padding:2px}.nav2-header{position:fixed;top:0;width:100%;z-index:509}.nav2-header__body{position:relative;width:100%;z-index:1}.nav2-header__menu-bg{background-color:hsla(0,0%,7%,.9);border-bottom:1px solid hsl(var(--hsl-h1));height:100%;height:308px;left:0;position:absolute;top:0;transition-duration:0s;width:100%}.nav2-header__menu-bg[data-visibility=hidden]{transition-duration:.25s}.nav2-header__transition-overlay{background-color:hsl(var(--hsl-h2));height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity var(--header-pinned-animation-duration);width:100%}.js-header-is-pinned .nav2-header__transition-overlay{opacity:1}.nav2-header__triangles{background-image:url(/assets/images/nav2-background-hue0.1aba1596.png);background-position:bottom;background-repeat:repeat-x;filter:hue-rotate(var(--base-hue-deg)) saturate(.6);height:100%;left:0;position:absolute;top:0;width:100%}.nav2-locale-item{align-items:center;display:flex;padding:2px 0}.nav2-locale-item--no-padding{padding:0}.nav2-locale-item__flag{margin-right:1em}.navbar-mobile{align-items:center;background-color:hsl(var(--hsl-h2));color:#fff;display:flex;height:50px;padding:0 10px;position:fixed;top:0;width:100%;z-index:var(--z-index--nav-bar-mobile)}.navbar-mobile__brand{font-size:14px;min-width:0;padding:0 10px}.navbar-mobile__header-section{align-items:center;display:flex;flex:1;min-width:0}.navbar-mobile__header-section--buttons{flex:none}.navbar-mobile__logo{background-image:var(--nav-logo);background-position:50%;background-repeat:no-repeat;background-size:contain;display:block;flex:none;height:40px;margin:-5px;width:40px}.navbar-mobile__toggle{-webkit-appearance:none;-moz-appearance:none;background:none;border:2px;color:hsl(var(--hsl-c1));display:block;flex:none;height:30px;margin:0;outline:none;padding:0;width:30px}.navbar-mobile__toggle:hover{color:hsl(var(--hsl-l1))}.navbar-mobile__toggle.js-click-menu--active{transform:rotateX(.5turn)}.navbar-mobile__toggle-icon{align-items:center;display:flex;justify-content:center}.navbar-mobile-before{padding-top:50px}.navbar-mobile-item{display:flex;flex:none;flex-direction:column}.navbar-mobile-item--user{align-items:center;background-color:hsl(var(--hsl-b4));flex-direction:row}.navbar-mobile-item__icon{margin-right:10px;text-align:center;width:30px}.navbar-mobile-item__icon--closed{display:inline-block}.navbar-mobile-item__icon--opened,.navbar-mobile-item__main.js-click-menu--active>.navbar-mobile-item__icon--closed{display:none}.navbar-mobile-item__main.js-click-menu--active>.navbar-mobile-item__icon--opened{display:inline-block}.navbar-mobile-item__locale-flag{display:inline-block;margin-right:5px}.navbar-mobile-item__main{align-items:center;-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:hsla(var(--hsl-c1),50%);display:flex;margin:0;outline:none;padding:10px;text-decoration:none}.navbar-mobile-item__main:active,.navbar-mobile-item__main:focus,.navbar-mobile-item__main:hover{text-decoration:none}.navbar-mobile-item__main:focus{color:hsla(var(--hsl-c1),50%)}.navbar-mobile-item__main.js-click-menu--active,.navbar-mobile-item__main:active,.navbar-mobile-item__main:hover{color:hsl(var(--hsl-c1))}.navbar-mobile-item__submenu{display:none;list-style:none;padding:0}.navbar-mobile-item__submenu.js-click-menu--active{display:block}.navbar-mobile-item__submenu-item{align-items:center;color:hsl(var(--hsl-c2));display:flex;padding:5px 10px 5px 60px;text-decoration:none}.navbar-mobile-item__submenu-item:active,.navbar-mobile-item__submenu-item:focus,.navbar-mobile-item__submenu-item:hover{text-decoration:none}.navbar-mobile-item__submenu-item:hover{background-color:hsl(var(--hsl-b3))}.navbar-mobile-item__submenu-item:active,.navbar-mobile-item__submenu-item:focus,.navbar-mobile-item__submenu-item:hover{color:hsl(var(--hsl-c2))}.news-card{background-color:hsl(var(--hsl-b4));border-radius:4px;border-radius:6px;color:#fff;display:block;min-width:0}.news-card,.news-card:active,.news-card:focus,.news-card:hover{text-decoration:none}.news-card:active,.news-card:focus,.news-card:hover{color:#fff}.news-card:hover{background-color:hsl(var(--hsl-b3))}.news-card--landing{flex:1;margin:10px}.news-card__cover{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.news-card__cover-container{background-image:-webkit-image-set(url(/assets/images/news-show-default.78f23cb7.jpg) 1x,url(/assets/images/news-show-default@2x.92423d4a.jpg) 2x);background-image:image-set(url(/assets/images/news-show-default.78f23cb7.jpg) 1x,url(/assets/images/news-show-default@2x.92423d4a.jpg) 2x);background-repeat:no-repeat;background-size:cover;border-radius:6px;height:160px;overflow:hidden;position:relative}.news-card--show .news-card__cover-container{height:200px}.news-card__main{padding:10px 15px}.news-card--show .news-card__main{display:none}.news-card__time{align-self:flex-end;background-color:hsla(var(--hsl-b6),.5);border-radius:10000px;font-size:10px;font-weight:600;padding:5px 20px;position:absolute;right:15px;text-transform:uppercase;top:10px}.news-card__row{font-size:12px}.news-card__row--author strong{font-weight:600}.news-card__row--preview{color:inherit;font-family:var(--font-content-override,var(--font-content));line-height:1.35}.news-card--landing .news-card__row--preview{display:none}.news-card__row--title{font-weight:600}.news-card--index .news-card__row--title{font-size:20px}.news-card--landing .news-card__row--title{font-size:14px}.news-index{display:grid;grid-gap:10px}.news-index__item--more{display:flex;height:auto;justify-content:center;padding-top:15px}.news-post-preview{box-shadow:0 1px 3px rgba(0,0,0,.25);margin-bottom:5px}.news-post-preview--collapsed{box-shadow:none;margin-bottom:0}.news-post-preview__body{background:hsl(var(--hsl-b4));display:flex}.news-post-preview__image{background-color:hsl(var(--hsl-b6));background-image:-webkit-image-set(var(--bg) 1x,var(--bg-2x) 2x);background-image:image-set(var(--bg) 1x,var(--bg-2x) 2x);background-position:50%;background-size:cover;display:block;height:130px;width:100%}.news-post-preview--collapsed .news-post-preview__image{display:none}.news-post-preview__post-date{align-items:flex-end;border-right:1px solid hsl(var(--hsl-l1));color:hsl(var(--hsl-l1));display:flex;flex:none;flex-direction:column;margin:10px;padding-right:10px;text-align:right;width:70px}.news-post-preview--collapsed .news-post-preview__post-date{align-items:baseline;flex-direction:row;justify-content:flex-end;margin:0 10px;padding:5px 10px 5px 0}.news-post-preview__date{font-size:16px;font-weight:800}.news-post-preview--collapsed .news-post-preview__date{font-size:14px;font-weight:700}.news-post-preview__month-year{font-size:11px}.news-post-preview--collapsed .news-post-preview__month-year{font-size:14px}.news-post-preview__post-right{margin-right:10px}.news-post-preview--collapsed .news-post-preview__post-right{align-items:center;display:flex}.news-post-preview__post-title{color:#fff;display:block;font-size:16px;font-weight:700;margin:5px 0 10px}.news-post-preview__post-title:active,.news-post-preview__post-title:focus,.news-post-preview__post-title:hover{color:#fff}.news-post-preview--collapsed .news-post-preview__post-title{font-size:14px;margin:0}.news-post-preview__post-content{font-family:var(--font-content-override,var(--font-content));font-size:12px;line-height:1.35}.news-post-preview--collapsed .news-post-preview__post-content{display:none}.news-show__info{margin:20px 0}.news-show__nav{margin-bottom:-20px;margin-top:40px}.news-show__title{color:inherit;font-size:35px;font-style:normal;font-weight:600;margin:0;padding:0}.news-sidebar-month{font-size:12px;margin-bottom:10px}.news-sidebar-month__item--active{color:#fff;text-decoration:none}.news-sidebar-month__item--active:active,.news-sidebar-month__item--active:focus,.news-sidebar-month__item--active:hover{color:#fff;text-decoration:none}.news-sidebar-month__items{display:grid;list-style:none;margin:5px 0 0;padding:0;grid-gap:5px}.news-sidebar-month__toggle{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;display:flex;font-weight:700;margin:0;outline:none;padding:0;width:100%}.news-sidebar-month__toggle-icon{margin-left:auto}.news-sidebar-years{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:20px;grid-gap:5px;background-color:hsl(var(--hsl-b3));border-radius:6px;font-size:12px;padding:5px;text-align:center}.news-sidebar-years__item--active{color:hsl(var(--hsl-c1));font-weight:600;text-decoration:none}.news-sidebar-years__item--active:active,.news-sidebar-years__item--active:focus,.news-sidebar-years__item--active:hover{color:hsl(var(--hsl-c1));text-decoration:none}.nomination-dialog{background-color:hsl(var(--hsl-b4));border-radius:4px;color:hsl(var(--hsl-c1));display:flex;flex:1;flex-direction:column;font-size:14px;max-width:480px;min-width:320px;padding:20px}.nomination-dialog__buttons{align-self:flex-end;display:flex;grid-gap:10px;margin-top:20px}.nomination-dialog__checkboxes{display:flex;margin:10px 0;grid-gap:10px}.nomination-dialog__header{font-size:24px;margin-bottom:20px}.nomination-dialog__label{color:hsl(var(--hsl-f1));padding-left:5px}.nomination-dialog__label--disabled{opacity:.5}.nomination-dialog__warn{color:hsl(var(--hsl-orange-1));padding:10px 0}.notification-action-button{align-items:center;-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:hsl(var(--hsl-f1));display:inline-flex;height:100%;justify-content:center;margin:0;outline:none;padding:0;pointer-events:auto}.notification-action-button:hover{color:#fff}.notification-action-button--fancy{border-radius:0 6px 6px 0;padding-left:6px;position:relative}.notification-action-button--fancy:hover{background-color:rgba(0,0,0,.15)}.notification-action-button--fancy:before{background-color:transparent;border-radius:0 6px 6px 0;content:"";height:100%;left:0;position:absolute;top:0;width:100%;width:6px}.notification-popup-item:hover .notification-action-button--fancy:before{background-color:hsl(var(--hsl-b1))}.notification-popup-item--compact:hover .notification-action-button--fancy:before{background-color:hsl(var(--hsl-b4))}.notification-popup-item--group:hover .notification-action-button--fancy:before{background-color:hsl(var(--hsl-b2))}.notification-action-button__icon{align-items:center;display:inline-flex;height:100%;justify-content:center;width:32px}.notification-banner-v2{background-color:rgba(135,0,0,.4);color:#fff;display:flex;flex-direction:column;font-size:12px;padding:5px;position:relative;text-align:center;z-index:1;--divider-colour:#ed1221;--icon:url(/assets/images/exclamation-icon.0db8a908.svg)}@media (min-width:900px){.notification-banner-v2{border-radius:40px;flex-direction:row;text-align:left}}.notification-banner-v2--info{background-color:hsla(var(--hsl-blue-3),.2);--divider-colour:hsl(var(--hsl-blue-2))}.notification-banner-v2__col{margin:5px}.notification-banner-v2__col--icon{background-image:var(--icon);background-position:50%;background-repeat:no-repeat;flex:none;height:30px}@media (min-width:900px){.notification-banner-v2__col--icon{height:auto;width:30px}}.notification-banner-v2__col--label{display:flex;flex:none;flex-direction:column;justify-content:center;padding-bottom:13px;position:relative}@media (min-width:900px){.notification-banner-v2__col--label{padding-bottom:0;padding-right:18px}}.notification-banner-v2__col--label:after{background-color:var(--divider-colour);border-radius:10px;bottom:0;content:"";height:3px;left:0;position:absolute;right:0}@media (min-width:900px){.notification-banner-v2__col--label:after{height:auto;left:auto;top:0;width:3px}}.notification-banner-v2__type{font-weight:700;text-transform:capitalize}.notification-banner-v2__text a{color:#fc2}.notification-banner-v2__text a:active,.notification-banner-v2__text a:focus,.notification-banner-v2__text a:hover{color:#fd5}.notification-icon{align-items:center;color:#fff;display:inline-flex;display:flex;justify-content:center;text-decoration:none}.notification-icon:active,.notification-icon:focus,.notification-icon:hover{color:#fff;text-decoration:none}.notification-icon--glow{text-shadow:0 0 10px hsla(0,0%,100%,.5)}.notification-icon--mobile{color:inherit;flex-direction:column;height:100%}.notification-icon__count{font-size:13px;font-weight:500;margin-left:5px}.notification-icon--mobile .notification-icon__count{background-color:hsl(var(--hsl-d3));border-radius:10000px;bottom:2px;color:hsl(var(--hsl-c1));font-size:10px;margin-left:0;padding:2px 5px;position:absolute;right:2px}.notification-icon--mobile .notification-icon__inbox{padding-bottom:2px}.notification-index{display:grid;margin:10px 0;grid-gap:10px}@media (min-width:900px){.notification-index{margin:10px 50px}}.notification-index__actions{font-size:12px;margin-left:auto}.notification-popup{background-color:hsl(var(--hsl-b4));color:hsl(var(--hsl-c1));padding:10px}@media (min-width:900px){.notification-popup{border:1px solid hsl(var(--hsl-b3));border-radius:6px;box-shadow:0 2px 10px rgba(0,0,0,.5);margin-top:0;max-width:400px;padding:15px 10px;width:90vw}}.notification-popup__buttons{display:flex}.notification-popup__clear-button{display:inline-block;margin-left:auto}.notification-popup__scroll-container{display:grid;grid-gap:10px}@media (min-width:900px){.notification-popup__scroll-container{-webkit-overflow-scrolling:touch;max-height:calc(var(--vh, 1vh)*100 - 120px);overflow:auto;padding:0 5px}}.notification-popup__filters{display:grid;grid-gap:5px;grid-template-columns:repeat(2,1fr)}.notification-popup__filter{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:hsl(var(--hsl-l2));margin:0;outline:none;padding:0;text-align:left}.notification-popup__filter--active,.notification-popup__filter:active,.notification-popup__filter:focus,.notification-popup__filter:hover{color:hsl(var(--hsl-c1))}.notification-popup__filter-count{background-color:hsl(var(--hsl-b2));border-radius:10000px;color:hsl(var(--hsl-c2));font-size:smaller;margin-right:5px;padding:2px 10px}.notification-popup__empty-with-more{margin-top:-5px}.notification-popup__empty{margin:10px 0 5px;white-space:nowrap}.notification-popup__item+.notification-popup__item{margin-top:10px}.notification-popup-item{background-color:hsl(var(--hsl-b3));border-radius:6px;display:flex;position:relative;width:100%}.notification-popup-item:hover{background-color:hsl(var(--hsl-b1))}.notification-popup-item--compact{background-color:transparent;margin-left:10px;width:calc(100% - 10px)}.notification-popup-item--compact:hover{background-color:hsl(var(--hsl-b4))}.notification-popup-item--group{background-color:hsl(var(--hsl-b3))}.notification-popup-item--group:hover{background-color:hsl(var(--hsl-b2))}.notification-popup-item__content{display:flex;flex:1;flex-direction:column;justify-content:center;min-height:36px;min-width:0;padding:3px 0 3px 10px}.notification-popup-item__cover{background-color:hsl(var(--hsl-b2));background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:6px 0 0 6px;flex:none;pointer-events:none;position:relative;width:60px}.notification-popup-item--compact .notification-popup-item__cover{width:50px}.notification-popup-item--user_achievement_unlock .notification-popup-item__cover{background-size:70%}.notification-popup-item--group.notification-popup-item--user_achievement_unlock .notification-popup-item__cover{background-size:0}.notification-popup-item__cover-icon{margin:0 1px}.notification-popup-item__cover-overlay{align-items:center;background-color:rgba(0,0,0,.6);border-radius:6px 0 0 6px;display:inline-flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.notification-popup-item--compact.notification-popup-item--user_achievement_unlock .notification-popup-item__cover-overlay{background-color:transparent}.notification-popup-item__link{height:100%;left:0;position:absolute;top:0;width:100%}.notification-popup-item__main{border-radius:0 6px 6px 0;display:flex;flex:1;min-width:0;pointer-events:none;position:relative}.notification-popup-item__row{margin:2px 0}.notification-popup-item__row--category{font-size:10px;font-weight:700;text-transform:uppercase}.notification-popup-item__row--expand{margin-top:10px}.notification-popup-item__row--message{color:#fff;font-size:14px;text-decoration:none;word-wrap:break-word}.notification-popup-item__row--message:active,.notification-popup-item__row--message:focus,.notification-popup-item__row--message:hover{color:#fff;text-decoration:none}.notification-popup-item__row--time{color:hsl(var(--hsl-f1));font-size:10px;text-decoration:none}.notification-popup-item__row--time:active,.notification-popup-item__row--time:focus,.notification-popup-item__row--time:hover{color:hsl(var(--hsl-f1));text-decoration:none}.notification-popup-item:hover .notification-popup-item__row .show-more-link{background-color:hsl(var(--hsl-b1))}.notification-popup-item:hover .notification-popup-item__row .show-more-link:hover{background-color:hsl(var(--hsl-b3))}.notification-popup-item__unread-stripe{border-radius:6px 0 0 6px;box-shadow:inset 2px 0 hsl(var(--hsl-h1));height:100%;pointer-events:none;position:absolute;width:6px}.notification-popup-item-group{background-color:hsl(var(--hsl-b5));border-radius:16px 16px 6px 6px;display:flex;flex-direction:column}.notification-popup-item-group__collapse{display:flex;flex-direction:row}.notification-popup-item-group__expand{margin-left:10px}.notification-popup-item-group__item{margin:1px 0}.notification-popup-item-group__items{display:flex;flex-direction:column;padding:9px 0}.notification-popup-item-group__show-more{display:flex;flex-direction:row;font-size:smaller;justify-content:space-between;margin-top:10px}.notification-stacks{display:grid;grid-gap:2px;grid-template-columns:minmax(0,1fr)}.nsfw-warning{display:grid;font-size:14px;text-align:center;grid-gap:10px}.nsfw-warning__button{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:#fff;outline:none;text-decoration:none;text-shadow:0 1px 3px rgba(0,0,0,.75);--bg:hsl(var(--hsl-blue-2));--bg-hover:hsl(var(--hsl-blue-3));background-color:var(--bg);border-radius:150px;flex:none;font-weight:600;margin:5px;max-width:100%;padding:10px;width:200px}.nsfw-warning__button:active,.nsfw-warning__button:focus,.nsfw-warning__button:hover{background-color:var(--bg-hover);color:#fff;text-decoration:none}@media (min-width:480px){.nsfw-warning__button{max-width:none;width:150px}}.nsfw-warning__button--show{--bg:hsl(var(--hsl-red-2));--bg-hover:hsl(var(--hsl-red-3))}.nsfw-warning__row{display:flex;justify-content:center}.nsfw-warning__row--buttons{align-items:center;flex-direction:column;margin:0 -5px -5px}@media (min-width:480px){.nsfw-warning__row--buttons{align-items:stretch;flex-direction:row}}.nsfw-warning__row--icon{font-size:35px}.nsfw-warning__row--title{font-size:24px;font-weight:300}.oauth-client{color:hsl(var(--hsl-c1));display:flex;flex-direction:row;font-size:14px;gap:10px;justify-content:space-between}.oauth-client__actions{align-items:stretch;display:flex;flex:none;flex-direction:column;gap:5px 10px}@media (min-width:900px){.oauth-client__actions{align-items:baseline;flex-direction:row}}.oauth-client__details{overflow-wrap:anywhere}.oauth-client__details--button{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;margin:0;outline:none;padding:0;text-align:left}.oauth-client__name{margin-bottom:5px}.oauth-client__redirect{color:hsl(var(--hsl-c2))}.oauth-client__scopes{margin-top:12px}.oauth-client-details{background-color:hsl(var(--hsl-b4));border-radius:4px;color:hsl(var(--hsl-c1));display:flex;flex:1;flex-direction:column;font-size:14px;max-width:480px;min-width:320px;padding:20px}.oauth-client-details__buttons{display:grid;grid-gap:5px;align-self:center;margin:10px 0;min-width:200px}.oauth-client-details__content{display:flex;flex-direction:column}.oauth-client-details__error{color:hsl(var(--hsl-red-1));margin-top:5px;padding-left:10px}.oauth-client-details__group{display:inline-flex;flex-direction:column;margin:10px 0;scrollbar-color:hsla(0,0%,100%,.5) hsla(0,0%,100%,.025);scrollbar-width:thin}.oauth-client-details__group *{scrollbar-width:thin}.oauth-client-details__group ::-webkit-scrollbar{background-color:hsla(0,0%,100%,.025);-webkit-border-radius:100px;width:10px}.oauth-client-details__group ::-webkit-scrollbar:hover{background-color:rgba(0,0,0,.09)}.oauth-client-details__group ::-webkit-scrollbar:horizontal{height:10px}.oauth-client-details__group ::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.5);background-clip:padding-box;border:2px solid hsla(0,0%,100%,0);-webkit-border-radius:100px;min-height:10px}.oauth-client-details__group ::-webkit-scrollbar-thumb:active{background:hsla(0,0%,100%,.61);-webkit-border-radius:100px}.oauth-client-details__header{font-size:24px;margin-bottom:10px}.oauth-client-details__input{-webkit-appearance:none;-moz-appearance:none;background:none;background-color:hsl(var(--hsl-b3));border:2px solid transparent;border-radius:4px;font-size:16px;font-weight:400;margin:5px 0 0;outline:none;padding:5px}@media (min-width:900px){.oauth-client-details__input{font-size:14px}}.oauth-client-details__input:focus{border-color:hsl(var(--hsl-l1))}.oauth-client-details__input--has-error{border-color:hsl(var(--hsl-red-1))}.oauth-client-details__input--textarea{max-height:50vh;min-height:5em;resize:none}.oauth-client-details__label{color:hsl(var(--hsl-f1));font-size:12px;font-weight:600}.oauth-clients__client{border-bottom:1px solid hsl(var(--hsl-b5));margin-bottom:10px;padding-bottom:10px}.oauth-scopes{list-style:none;margin:0;padding:0 0 0 20px}.oauth-scopes--oauth-form{font-size:14px}.oauth-scopes__icon{color:#88b300;display:inline-block;font-size:12px;margin-left:-20px;width:20px}.order-line-items{list-style:none;padding:0}.order-line-items__data{font-size:14px}@media (min-width:900px){.order-line-items__data{font-size:inherit}}.order-line-items__data--name{grid-area:name}.order-line-items__data--quantity{grid-area:quantity}.order-line-items__data--value{grid-area:value;text-align:right}.order-line-items__data--weight{grid-area:weight}.order-line-items__item{display:grid;padding:5px 10px;grid-gap:5px 10px}.order-line-items__item--main{grid-template-areas:"name name name name" ". weight quantity value";grid-template-columns:1fr repeat(3,minmax(50px,max-content))}@media (min-width:480px){.order-line-items__item--main{grid-template-areas:"name weight quantity value";grid-template-columns:1fr repeat(3,minmax(100px,max-content));grid-template-rows:auto}}.order-line-items__item--main:nth-child(odd){background-color:hsl(var(--hsl-b4))}.order-line-items__item--footer{grid-template:"name value"/1fr 100px}.order-line-items__item--footer-total{background-color:hsla(var(--hsl-orange-2),25%)}.order-line-items--checkout .order-line-items__item--footer-total{display:none}.order-line-items__subtext{color:hsl(var(--hsl-c2));font-size:80%}.osu-layout{display:flex;flex-direction:column;transition:filter .2s ease-in-out,opacity .2s ease-in-out}.osu-layout--body{--nav-logo:url(/assets/images/osu-logo-white.59d385da.svg);--nav-logo-bg:url(/assets/images/osu-logo-triangles.b1e57c37.svg)}.osu-layout--body,.osu-layout--body-landing{background-color:hsl(var(--hsl-b6))}.osu-layout--body-landing:before{backface-visibility:hidden;background-image:-webkit-image-set(url(/assets/images/page-dark.4726cb09.png) 1x,url(/assets/images/page-dark@2x.0043cfcc.png) 2x);background-image:image-set(url(/assets/images/page-dark.4726cb09.png) 1x,url(/assets/images/page-dark@2x.0043cfcc.png) 2x);content:"";height:100%;left:0;opacity:.25;position:fixed;top:0;width:100%;z-index:-1}.osu-layout--body-lazer{--nav-logo:url(/assets/images/osu-lazer-logo-white.62cae952.svg);--nav-logo-bg:url(/assets/images/osu-lazer-logo-triangles.d78e5cd6.svg)}.osu-layout--full{flex:1 0 auto;width:100%}.osu-layout--masked{backface-visibility:hidden;filter:brightness(0);opacity:.8;pointer-events:none;position:absolute}@media screen and (-ms-high-contrast:active),screen and (-ms-high-contrast:none){.osu-layout--masked{opacity:0}}.osu-layout--wrapped{background-color:hsl(var(--hsl-pink-4))}.osu-layout__no-scroll{flex:1 0 auto;overflow:hidden;position:relative}.osu-layout__section{display:flex;flex-direction:column;margin-bottom:10px}.osu-layout__section--full{flex:1 0 auto}.osu-layout--wrapped .osu-layout__section--full{margin-bottom:0}.osu-layout__section--landing-footer{background-image:-webkit-image-set(url(/assets/images/page-000.f28663df.png) 1x,url(/assets/images/page-000@2x.50383762.png) 2x);background-image:image-set(url(/assets/images/page-000.f28663df.png) 1x,url(/assets/images/page-000@2x.50383762.png) 2x);flex:none;margin-bottom:0;margin-top:auto}.osu-md{color:inherit;font-family:var(--font-content-override,var(--font-content));font-size:14px;line-height:1.35;word-wrap:break-word;--code-background-colour:hsl(var(--hsl-b6));--paragraph-space:1.5em}.osu-md code{background-color:var(--code-background-colour);border-radius:4px;color:hsl(var(--hsl-l1));padding:1px 4px}.osu-md hr{border-color:hsl(var(--hsl-b3))}.osu-md iframe,.osu-md img{max-width:100%}.osu-md--comment.osu-md img{max-height:6em;min-height:1em;-o-object-fit:contain;object-fit:contain}.osu-md--discussions.osu-md img{max-height:480px;min-height:1em;-o-object-fit:contain;object-fit:contain}.osu-md video{max-width:100%}.osu-md pre{background-color:var(--code-background-colour);border:none;border-radius:0;color:hsl(var(--hsl-l1))}.osu-md pre>code{border:none;padding:0}.osu-md>:last-child{margin-bottom:0}.osu-md--chat{--code-background-colour:hsl(var(--hsl-b3));flex:1;overflow-wrap:anywhere}.osu-md--chat h1,.osu-md--chat h2,.osu-md--chat h3,.osu-md--chat h4,.osu-md--chat h5,.osu-md--chat h6{border-bottom:1px solid hsl(var(--hsl-b3));font-size:revert}.osu-md--chat-action{color:hsl(var(--hsl-l1));font-style:italic}.osu-md--chat-action:before{content:"* "}.osu-md--chat-action:after{content:" *"}.osu-md--chat-plain p{display:inline}.osu-md--discussions{font:inherit;font-size:inherit}.osu-md--group{--paragraph-space:10px}.osu-md--news{color:hsl(var(--hsl-c1));font-size:14px;padding:0}.osu-md--store-product{font-family:var(--font-default-override,var(--font-default));font-size:18px;text-shadow:0 1px 3px rgba(0,0,0,.75)}.osu-md__figure-caption{display:inline-block;font-style:normal;margin-top:5px}.osu-md__figure-container{margin:var(--paragraph-space) 0;text-align:center}.osu-md--comment .osu-md__figure-container{text-align:inherit}.osu-md__figure-image{display:block;margin:0 auto}.osu-md__figure-image--gallery{cursor:pointer}.osu-md--comment .osu-md__figure-image{margin:0}.osu-md__footnote-container>ol{counter-reset:c 0;list-style:none;padding-left:0}.osu-md__header{clear:both;color:hsl(var(--hsl-c1));font-family:var(--font-default-override,var(--font-default));font-style:normal;font-weight:700}.osu-md__header:first-child{margin-top:0}.osu-md__header--1{font-weight:600;margin-top:40px}.osu-md--comment .osu-md__header--1{font-size:1.2em}.osu-md--store-product .osu-md__header--1{font-size:40px;font-weight:200;margin:0}.osu-md--store-product-small .osu-md__header--1{font-size:32px}.osu-md--wiki .osu-md__header--1{border-bottom:1px solid hsl(var(--hsl-b3));margin-bottom:10px;margin-right:0;padding-bottom:5px}.osu-md__header--2{font-size:26px;font-weight:600;margin:20px 0 10px}.osu-md--comment .osu-md__header--2{font-size:1.1em}.osu-md--news .osu-md__header--2{font-size:24px}.osu-md--news .osu-md__header--2,.osu-md--wiki .osu-md__header--2{border-bottom:1px solid hsl(var(--hsl-b3));padding-bottom:5px}.osu-md__header--3{font-size:20px;margin:30px 0 10px}.osu-md--comment .osu-md__header--3{font-size:1em}.osu-md--news .osu-md__header--3{font-size:18px}.osu-md__header--4{font-size:18px;margin:30px 0 10px}.osu-md--comment .osu-md__header--4{font-size:1em}.osu-md--news .osu-md__header--4{color:inherit;font-size:inherit}.osu-md__header--5{font-size:16px;margin-top:20px}.osu-md--comment .osu-md__header--5{font-size:1em}.osu-md__header--6{font-size:14px;margin-top:20px}.osu-md--comment .osu-md__header--6{font-size:1em}.osu-md__infobox{border:1px solid hsl(var(--hsl-b4));border-radius:4px;margin:var(--paragraph-space) 0;padding:10px;text-align:center}@media (min-width:620px){.osu-md__infobox{clear:right;float:right;margin:0 0 5px 10px;max-width:300px;width:50%}}.osu-md__infobox>:first-child{margin-top:0}.osu-md__infobox>:last-child{margin-bottom:0}.osu-md__infobox thead{display:none}.osu-md__infobox tbody>tr:first-child>td{border-top:none}.osu-md__infobox td{vertical-align:top}.osu-md__link--footnote-ref{font-size:11px}.osu-md__link--footnote-ref:after{content:"]"}.osu-md__link--footnote-ref:before{content:"["}.osu-md__list{padding-left:20px}.osu-md__list--ordered{counter-reset:c var(--list-start);list-style:none;padding-left:0}.osu-md__list-item{margin:5px 0}.osu-md--store .osu-md__list-item{margin-left:10px}.osu-md__footnote-container .osu-md__list-item,.osu-md__list--ordered>.osu-md__list-item{counter-increment:c;display:flex}.osu-md__footnote-container .osu-md__list-item:before,.osu-md__list--ordered>.osu-md__list-item:before{content:counter(c) ". ";flex:none;min-width:30px;padding-right:5px}.osu-md__footnote-container .osu-md__list-item>div,.osu-md__list--ordered>.osu-md__list-item>div{flex:1;min-width:0}.osu-md__paragraph{line-height:1.5;margin-bottom:var(--paragraph-space)}.osu-md--store .osu-md__paragraph{margin-bottom:10px}.osu-md--store-product-small .osu-md__paragraph{display:none}.osu-md__list-item--footnote .osu-md__paragraph{flex:1;line-height:inherit;margin-bottom:0;min-width:0}.osu-md__table{margin-bottom:20px;overflow-x:auto}.osu-md--store .osu-md__table table{width:100%}.osu-md__table-data{border-top:1px solid hsl(var(--hsl-b4));min-width:30px;padding:5px}.osu-md__table-data--center{text-align:center}.osu-md__table-data--header{border-bottom:2px solid hsl(var(--hsl-b3));border-top:none;font-family:var(--font-default-override,var(--font-default));font-weight:700}.osu-md__table-data--left{text-align:left}.osu-md__table-data--right{text-align:right}.osu-page{align-self:center;flex:none;margin-left:auto;margin-right:auto;max-width:1000px;width:100%}.osu-page .default{background-color:hsl(var(--hsl-b5));box-shadow:0 1px 3px rgba(0,0,0,.25);color:hsl(var(--hsl-c1))}@media (min-width:900px){.osu-page{max-width:1000px;width:calc(100% - 40px)}}.osu-page--account-edit{display:flex;flex-direction:column;gap:5px}.osu-page--account-edit-header,.osu-page--admin{box-shadow:0 1px 3px rgba(0,0,0,.25)}.osu-page--admin{background-color:hsl(var(--hsl-b5));color:hsl(var(--hsl-c1));padding:20px 10px}@media (min-width:900px){.osu-page--admin{padding-left:50px;padding-right:50px}}.osu-page--admin h1,.osu-page--admin h3,.osu-page--admin h4{color:#fff;font-style:normal}.osu-page--admin h1{font-size:28px}.osu-page--admin h3{font-size:14px}.osu-page--admin h4{font-size:12px}.osu-page--admin ul{list-style:none;padding:0}.osu-page--admin pre{background-color:hsl(var(--hsl-b6));border:none;color:#fff}.osu-page--admin small{color:hsl(var(--hsl-f1))}.osu-page--admin .label-default{background-color:hsl(var(--hsl-b6));color:hsl(var(--hsl-f1))}@media (min-width:900px){.osu-page--artist{margin-top:10px}}.osu-page--artist-track-search-result{background-color:hsl(var(--hsl-b5));box-shadow:0 1px 3px rgba(0,0,0,.25);color:hsl(var(--hsl-c1));padding:10px}@media (min-width:900px){.osu-page--artist-track-search-result{padding-left:50px;padding-right:50px}}.osu-page--beatmapset{background-color:hsl(var(--hsl-b5));box-shadow:0 1px 3px rgba(0,0,0,.25);color:hsl(var(--hsl-c1));--padding-x:10px;padding:20px var(--padding-x)}@media (min-width:900px){.osu-page--beatmapset{--padding-x:40px}}.osu-page--beatmapsets-search-header{box-shadow:0 1px 3px rgba(0,0,0,.25)}.osu-page--changelog{background-color:hsl(var(--hsl-b5));background-color:hsl(var(--hsl-b4));display:flex;flex-direction:column}.osu-page--changelog,.osu-page--comment{box-shadow:0 1px 3px rgba(0,0,0,.25);color:hsl(var(--hsl-c1))}.osu-page--comment{color:var(--comments-fg);padding:10px 0 0}.osu-page--comment,.osu-page--comments{background-color:hsl(var(--hsl-b5));--comments-bg-hsl:var(--hsl-b5);--comments-fg:hsl(var(--hsl-c1));background-color:hsl(var(--comments-bg-hsl))}.osu-page--comments{box-shadow:0 1px 3px rgba(0,0,0,.25);color:hsl(var(--hsl-c1));color:var(--comments-fg);padding:10px 0}.osu-page--contests{background-color:hsl(var(--hsl-b5));box-shadow:0 1px 3px rgba(0,0,0,.25);color:hsl(var(--hsl-c1))}.osu-page--description{background-color:hsl(var(--hsl-d3));color:hsl(var(--hsl-c1));font-size:14px;padding:20px 10px}@media (min-width:900px){.osu-page--description{padding-left:50px;padding-right:50px}}.osu-page--forum{background-color:hsl(var(--hsl-b5));color:hsl(var(--hsl-c1))}.osu-page--forum-topic{background-color:hsl(var(--hsl-b4));color:hsl(var(--hsl-c1))}.osu-page--forum-topic-reply{background-color:hsl(var(--hsl-b2));color:hsl(var(--hsl-c1));display:flex;flex-direction:column;padding:10px 15px}.osu-page--forum-topic-reply.js-forum-topic-reply-flash{animation:forum-topic-reply-flash .5s ease-in-out}@keyframes forum-topic-reply-flash{50%{background-color:hsl(var(--hsl-b1))}}.osu-page--forum-topic-reply[data-state=stick]{bottom:0;height:calc(var(--vh, 1vh)*100 - 50px);position:fixed;z-index:1}@media (min-width:900px){.osu-page--forum-topic-reply[data-state=stick]{height:auto;position:relative;top:auto;z-index:auto}}.osu-page--full{flex:1 0 auto}.osu-page--generic{background-color:hsl(var(--hsl-b5));box-shadow:0 1px 3px rgba(0,0,0,.25);color:hsl(var(--hsl-c1));padding:20px 10px}@media (min-width:900px){.osu-page--generic{padding-left:50px;padding-right:50px}}.osu-page--generic-compact,.osu-page--group-history-footer{background-color:hsl(var(--hsl-b5));box-shadow:0 1px 3px rgba(0,0,0,.25);color:hsl(var(--hsl-c1))}.osu-page--group-history-footer{background-color:hsl(var(--hsl-b4));font-size:12px;padding:10px;text-align:center}@media (min-width:900px){.osu-page--group-history-footer{padding-left:50px;padding-right:50px}}.osu-page--info-bar{background-color:hsl(var(--hsl-d3));display:flex;padding:5px 10px}@media (min-width:900px){.osu-page--info-bar{padding-left:50px;padding-right:50px}.osu-page--notification-banners{display:grid;gap:4px;position:absolute;top:100px}}.osu-page--ranking-info{background-color:hsl(var(--hsl-d3));display:grid;font-size:14px;gap:20px;padding:20px 10px}@media (min-width:900px){.osu-page--ranking-info{padding-left:50px;padding-right:50px}}.osu-page--ranking-info-extra{padding-top:0}@media (min-width:900px){.osu-page--small{max-width:960px;width:calc(100% - 80px)}}.osu-page--store,.osu-page--supporter{background-color:hsl(var(--hsl-b5));box-shadow:0 1px 3px rgba(0,0,0,.25);color:hsl(var(--hsl-c1))}.osu-page--supporter{display:flex;flex-direction:column}.osu-page--wiki{background-color:hsl(var(--hsl-b5));box-shadow:0 1px 3px rgba(0,0,0,.25);color:hsl(var(--hsl-c1));font-size:14px}.osu-page--wiki-main{padding:20px 10px}@media (min-width:900px){.osu-page--wiki-main{padding-left:50px;padding-right:50px}}.osu-page--chat{background-color:hsl(var(--hsl-b5));box-shadow:0 1px 3px rgba(0,0,0,.25);color:hsl(var(--hsl-c1));display:flex;flex:1 0 auto;height:calc(var(--vh, 1vh)*100 - 220px)}@media (max-width:899px){.osu-page--chat{height:calc(var(--vh, 1vh)*100 - var(--navbar-height))}}.osu-switch-v2{align-items:baseline;cursor:pointer;display:inline-flex;flex:none;font-size:inherit;margin:0 5px 0 0;text-transform:none}.osu-switch-v2--grid{margin:0}.osu-switch-v2__input{height:0;opacity:0;overflow:hidden;pointer-events:none;position:absolute;width:0}.osu-switch-v2__content{align-items:center;border:2px solid;color:hsla(var(--hsl-h1),.5);display:inline-flex;display:flex;height:1.5em;justify-content:center;width:1.5em}.osu-switch-v2__content:after{opacity:0}.osu-switch-v2--disabled .osu-switch-v2__content{opacity:.5}.osu-switch-v2__input:checked+.osu-switch-v2__content{color:hsl(var(--hsl-h1))}.osu-switch-v2__input:checked+.osu-switch-v2__content:after{opacity:1}.osu-switch-v2__input[type=checkbox]+.osu-switch-v2__content{border-radius:.5em}.osu-switch-v2__input[type=checkbox]+.osu-switch-v2__content:after{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;content:"\f00c";display:inline-block;flex:none;font-family:Font Awesome\ 5 Free;font-style:normal;font-variant:normal;font-weight:900;line-height:1;text-rendering:auto}.osu-switch-v2__input[type=checkbox]+.osu-switch-v2__content:after.fa-pull-left{margin-right:.3em}.osu-switch-v2__input[type=checkbox]+.osu-switch-v2__content:after.fa-pull-right{margin-left:.3em}.osu-switch-v2__input[type=checkbox][data-indeterminate=true]+.osu-switch-v2__content{color:hsl(var(--hsl-h1))}.osu-switch-v2__input[type=checkbox][data-indeterminate=true]+.osu-switch-v2__content:after{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;content:"\f068";display:inline-block;flex:none;font-family:Font Awesome\ 5 Free;font-style:normal;font-variant:normal;font-weight:900;line-height:1;opacity:1;text-rendering:auto}.osu-switch-v2__input[type=checkbox][data-indeterminate=true]+.osu-switch-v2__content:after.fa-pull-left{margin-right:.3em}.osu-switch-v2__input[type=checkbox][data-indeterminate=true]+.osu-switch-v2__content:after.fa-pull-right{margin-left:.3em}.osu-switch-v2__input[type=radio]+.osu-switch-v2__content{border-radius:50%}.osu-switch-v2__input[type=radio]+.osu-switch-v2__content:after{background-color:currentColor;border-radius:50%;content:"";height:calc(100% - 6px);width:calc(100% - 6px)}.osu-table{color:hsl(var(--hsl-f1));overflow-x:auto}.osu-table__table{font-size:12px;min-width:800px;width:100%}.osu-table__header{font-size:10px;font-weight:700;padding-bottom:5px;text-transform:uppercase}.osu-table__body-row{height:1.8em}.osu-table--taller-rows .osu-table__body-row{height:3em}.osu-table--menu-active .osu-table__body-row--highlightable{pointer-events:none}.osu-table__cell:first-child{border-bottom-left-radius:5px;border-top-left-radius:5px}.osu-table--with-handle .osu-table__cell:nth-last-child(2),:not(.osu-table--with-handle) .osu-table__cell:last-child{border-bottom-right-radius:5px;border-top-right-radius:5px}.osu-table__body-row--highlightable .osu-table__cell{background-color:hsl(var(--hsl-b5))}.osu-table__body-row--highlightable:nth-child(odd) .osu-table__cell{background-color:hsl(var(--hsl-b4))}.osu-table__body-row--highlightable:hover .osu-table__cell{background-color:hsl(var(--hsl-b3));color:#fff}.osu-table__body-row--highlightable:hover:nth-child(odd) .osu-table__cell{background-color:hsl(var(--hsl-b3))}.page-contents{display:flex;flex:1 0 auto;flex-direction:column;font-size:14px;width:100%}@media (min-width:900px){.page-contents{flex-direction:row}}.page-contents--artist{background-color:hsl(var(--hsl-b5));flex-direction:column-reverse}@media (min-width:900px){.page-contents--artist{background:none;flex-direction:row}}.page-contents__artist-left{flex:1}.page-contents__content{padding:20px 20px 10px}@media (min-width:900px){.page-contents__content{flex-basis:33.33333333%;max-width:33.33333333%}.page-contents__content+.page-contents__content{-o-border-image:linear-gradient(0deg,#ccc,transparent 80%) 1;border-image:linear-gradient(0deg,#ccc,transparent 80%) 1;border-style:solid;border-width:0 0 0 1px}}.page-contents__row{margin-bottom:10px;padding:0 10px}.page-contents__row--top{margin-bottom:20px}@media (min-width:900px){.page-contents__sidebar{height:100%;margin-left:10px}}.page-extra{--dragdrop-margin:0;--gutter-desktop:50px;--gutter:10px;--inner-gutter:calc(var(--gutter) - var(--outer-gutter));--outer-gutter-desktop:10px;--outer-gutter:2px;--padding-vertical:20px;background-color:hsl(var(--hsl-b4));border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.25);font-size:14px;margin:0 var(--outer-gutter);padding:var(--padding-vertical) var(--inner-gutter);position:relative;transform:translateZ(0)}@media (min-width:900px){.page-extra{--gutter:var(--gutter-desktop);--outer-gutter:var(--outer-gutter-desktop)}}.page-extra--compact{padding:0}.page-extra--userpage{padding-bottom:0;padding-right:0;--dragdrop-margin:var(--inner-gutter)}.page-extra__actions{align-items:center;display:flex;flex-direction:column;position:absolute;right:var(--inner-gutter);top:var(--padding-vertical);width:auto}@media (min-width:900px){.page-extra__actions{right:0;width:var(--inner-gutter)}}.page-extra__alert{border-radius:40px;margin-bottom:5px;min-height:30px;padding:5px 20px;width:100%}.page-extra__alert--info{background-color:#fc2;color:#000}.page-extra__alert--warning{background-color:#ba0011;color:#fff}.page-extra__beatmapsets{display:grid;gap:10px}@media (min-width:900px){.page-extra__beatmapsets{grid-template-columns:1fr 1fr}}.page-extra__chart{height:250px;position:relative;width:100%}.page-extra__content-overflow-wrapper-inner{max-height:400px;overflow-y:auto;padding-bottom:20px;padding-right:var(--gutter);-webkit-overflow-scrolling:touch}.page-extra__content-overflow-wrapper-outer{max-height:400px}.page-extra__recent-medals{display:flex;flex-wrap:wrap;font-size:90px;gap:10px;height:1em;overflow:hidden}.page-extra__recent-medals-box{background-color:hsl(var(--hsl-b3));margin:0 calc(var(--inner-gutter)*-1) 20px;padding:0 var(--inner-gutter) 20px}.page-extra__user-multiplayer-rooms{display:grid;gap:20px}.page-image{align-items:center;background-color:hsl(var(--hsl-b4));display:flex;flex-direction:column;padding:20px 10px;text-align:center}@media (min-width:900px){.page-image{padding-left:50px;padding-right:50px}}.page-image__image{border-radius:6px;flex:none;max-width:100%}.page-image__title{color:hsl(var(--hsl-c1));flex:none;font-size:24px;font-style:normal;margin:20px 0 0;padding:0}.page-mode{background-color:hsl(var(--hsl-b5));color:#ccc;display:block;font-size:15px;list-style:none;margin:0;overflow:hidden;padding:20px 10px 0;text-align:center}@media (max-width:899px){.page-mode{font-size:12px;padding:5px 0 0}}.page-mode--sticky-toolbar{border-bottom:1px solid hsl(var(--hsl-h1));padding-top:5px}@media (max-width:899px){.page-mode--sticky-toolbar{align-items:center;display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch}}.page-mode--profile-page-extra{align-items:center;display:flex;font-size:14px;gap:20px;overflow-x:auto;padding:10px}@media (min-width:900px){.page-mode--profile-page-extra{padding-left:50px;padding-right:50px}}.page-mode--ranking{background-color:transparent;font-size:inherit;padding:0;text-align:inherit}.page-mode--search{background:transparent;border-bottom:1px solid;-o-border-image:linear-gradient(90deg,transparent,#fff,transparent) 1;border-image:linear-gradient(90deg,transparent,#fff,transparent) 1;border-top-width:0;margin:10px 0;padding-top:0}.page-mode__item{display:inline-flex;line-height:1;margin:0 10px;vertical-align:bottom}.page-mode__item,.page-mode__item:active,.page-mode__item:focus,.page-mode__item:hover{text-decoration:none}.page-mode--breadcrumb .page-mode__item{margin-left:5px;margin-right:5px}.page-mode--breadcrumb .page-mode__item+.page-mode__item:before{content:"»";margin-right:10px;margin-top:5px;vertical-align:middle}.page-mode--profile-page-extra .page-mode__item{margin:0}@media (max-width:899px){.page-mode__item:last-child{padding-right:10px}}.page-mode__item-icon{font-size:89%}.page-mode__underline{background-image:linear-gradient(to right,transparent,hsl(var(--hsl-b6)),transparent);border:0;height:1px;margin-top:0}.page-mode-link{color:#ccc;display:flex;padding:5px 0 10px;position:relative}.page-mode-link,.page-mode-link:active,.page-mode-link:focus,.page-mode-link:hover{text-decoration:none}.page-mode-link:active,.page-mode-link:focus,.page-mode-link:hover{color:#eee}@media (max-width:899px){.page-mode-link{white-space:nowrap}}.page-mode-link--is-active,.page-mode-link.js-is-active{color:#fff;font-weight:600}.page-mode-link--is-active.page-mode-link--profile-page,.page-mode-link.js-is-active.page-mode-link--profile-page{color:hsl(var(--hsl-c1))}.page-mode-link--white,.page-mode-link--white:active,.page-mode-link--white:focus,.page-mode-link--white:hover{color:#fff}.page-mode-link--is-disabled{color:hsl(var(--hsl-f1));cursor:default}.page-mode-link--is-disabled:active,.page-mode-link--is-disabled:focus,.page-mode-link--is-disabled:hover{color:hsl(var(--hsl-f1))}.page-mode-link--is-disabled.page-mode-link--white{color:#fff;opacity:.5}.page-mode-link--is-disabled.page-mode-link--white:active,.page-mode-link--is-disabled.page-mode-link--white:focus,.page-mode-link--is-disabled.page-mode-link--white:hover{color:#fff}.page-mode-link--profile-page{color:hsl(var(--hsl-l2));margin:0;padding:0}.page-mode-link--profile-page:active,.page-mode-link--profile-page:focus,.page-mode-link--profile-page:hover{color:hsl(var(--hsl-l1))}.page-mode-link__badge{background-color:hsl(var(--hsl-b6));border-radius:4px;color:hsl(var(--hsl-f1));font-size:80%;font-weight:700;margin-left:5px;padding:2px 5px}.page-mode-link__stripe{background-color:hsl(var(--hsl-h1));bottom:0;display:block;height:5px;left:0;position:absolute;transform:translateY(5px) scaleY(0);transition:transform .12s ease-in-out;width:100%}.page-mode-link__stripe--black{background-color:hsl(var(--hsl-b6))}.page-mode-link--profile-page .page-mode-link__stripe{background-color:hsl(var(--hsl-h1));border-radius:10000px;bottom:-6px;height:10px;transform:translateY(0) scaleY(0)}.page-mode-link--is-active .page-mode-link__stripe,.page-mode-link.js-is-active .page-mode-link__stripe,.page-mode-link:hover .page-mode-link__stripe{transform:translateY(0) scaleY(1)}.page-mode-link--is-disabled .page-mode-link__stripe{opacity:0}.page-mode-link__subtitle{font-size:11px}.page-nav{display:flex;flex-wrap:wrap;justify-content:center}.page-nav__item{align-items:center;display:flex;padding:20px 10px}@media (min-width:900px){.page-nav__item{flex:1}.page-nav__item--left{justify-content:flex-end}}.page-nav__label{padding:0 10px}.page-nav-fancy{--bg-with-fallback:var(--bg,url(/assets/images/news-show-default.78f23cb7.jpg));--bg-with-fallback-2x:var(--bg-2x,url(/assets/images/news-show-default@2x.92423d4a.jpg));align-items:center;background-image:-webkit-image-set(var(--bg-with-fallback) 1x,var(--bg-with-fallback-2x) 2x);background-image:image-set(var(--bg-with-fallback) 1x,var(--bg-with-fallback-2x) 2x);background-position:50%;background-repeat:no-repeat;background-size:cover;color:#fff;display:flex;justify-content:space-between;margin:0 -10px;padding:20px 10px;position:relative}.page-nav-fancy,.page-nav-fancy:active,.page-nav-fancy:focus,.page-nav-fancy:hover{text-decoration:none}.page-nav-fancy:active,.page-nav-fancy:focus,.page-nav-fancy:hover{color:#fff}@media (min-width:900px){.page-nav-fancy{margin-left:-30px;margin-right:-50px;padding-left:30px;padding-right:50px}}.page-nav-fancy:before{background-color:hsl(var(--hsl-b6));content:"";height:100%;left:0;opacity:.75;position:absolute;top:0;transition:all .12s ease-in-out;width:100%;will-change:opacity}.page-nav-fancy:hover:before{opacity:.6}.page-nav-fancy__label{order:1;position:relative}.page-nav-fancy--prev .page-nav-fancy__label{text-align:right}.page-nav-fancy__subtitle{font-size:12px;font-weight:600}.page-nav-fancy__icon{order:1;position:relative}.page-nav-fancy--prev .page-nav-fancy__icon{order:0;transform:rotate(.5turn)}.page-tabs{--border-size:5px;--tab-hover-border-colour:transparent;--tab-active-border-colour:hsl(var(--hsl-h1));display:flex;gap:20px;justify-content:center;margin-bottom:1px;position:relative;width:100%}.page-tabs:before{background-image:linear-gradient(to left,transparent 10%,hsl(var(--hsl-b1)) 50%,transparent 90%);content:"";height:1px;left:0;position:absolute;top:100%;width:100%}.page-tabs--follows{margin:0 0 10px;max-width:-moz-max-content;max-width:max-content;--border-size:2px;--tab-hover-border-colour:var(--tab-active-border-colour)}.page-tabs--follows:before{background-color:hsl(var(--hsl-d2));background-image:none;height:var(--border-size);top:calc(100% - var(--border-size));width:100%}.page-tabs__tab{border-bottom:var(--border-size) solid transparent;color:#fff;cursor:pointer;font-size:14px;margin:0;padding:5px 0;position:relative}.page-tabs__tab:active,.page-tabs__tab:focus,.page-tabs__tab:hover{border-bottom-color:var(--tab-hover-border-colour);color:hsl(var(--hsl-l1));text-decoration:none}.page-tabs__tab--active{border-bottom-color:var(--tab-active-border-colour);font-weight:700;--tab-hover-border-colour:var(--tab-active-border-colour)}.page-tabs__tab--disabled{color:#ccc;cursor:default}.page-tabs__tab--disabled:active,.page-tabs__tab--disabled:focus,.page-tabs__tab--disabled:hover{color:#ccc;text-decoration:none}.page-title{color:hsl(var(--hsl-l1));font-size:15px;padding:20px;position:relative}.page-title--lighter{color:hsl(var(--hsl-l1));font-weight:100}.page-title__button{align-items:center;display:flex;height:100%;position:absolute;right:20px;top:0}.pagination-v2{align-items:center;color:hsl(var(--hsl-l2));display:flex;font-size:12px;justify-content:center;padding:10px 0;--active-bg:hsl(var(--hsl-h1))}@media (min-width:900px){.pagination-v2{padding-left:10px;padding-right:10px}}.pagination-v2--forum{--active-bg:var(--forum-bg);margin-bottom:-2px}.pagination-v2__col{display:flex;margin:2px}.pagination-v2__col--pages{flex-wrap:wrap;list-style:none;margin:-2px;padding:0}.pagination-v2__item{margin:2px}.pagination-v2__link{border-radius:10000px;display:block;padding:4px 10px;text-decoration:none}.pagination-v2__link:active,.pagination-v2__link:focus,.pagination-v2__link:hover{text-decoration:none}.pagination-v2__link--active{background-color:var(--active-bg);color:hsl(var(--hsl-b5));font-weight:600}.pagination-v2__link--disabled{opacity:.5}.pagination-v2__link--quick{background-color:hsl(var(--hsl-b4));padding-left:15px;padding-right:15px;text-transform:uppercase;white-space:nowrap}.password-reset{color:#fff;font-size:12px;margin:0 auto;max-width:300px;padding:20px;width:100%}.password-reset__error{color:#fc2;display:none;margin-top:5px}[data-form-error-state=error] .password-reset__error{display:block}.password-reset__input{-webkit-appearance:none;-moz-appearance:none;background:none;background-color:#111;border:2px solid transparent;border-radius:4px;margin:5px 0 0;outline:none;padding:5px}.password-reset__input:focus{border-color:#fc2}[data-form-error-state=error] .password-reset__input{border-color:#ed1221}.password-reset__input-group{display:flex;flex-direction:column;font-weight:400;margin:10px 0;text-transform:none}.pill-badge{background:hsl(var(--hsl-b6));border-radius:10000px;color:hsl(var(--hsl-f1));font-size:10px;font-weight:700;padding:2px 8px}.pill-badge--pink{background:hsl(var(--hsl-pink-1));color:hsl(var(--hsl-b6))}.pill-badge--with-shadow{box-shadow:0 1px 3px rgba(0,0,0,.25)}.pill-badge--yellow{background:hsl(var(--hsl-orange-1));color:hsl(var(--hsl-b6))}.plain-text-preview{display:inline}.play-button{--icon:"\f04b";-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;flex:none;font-family:Font Awesome\ 5 Free;font-style:normal;font-variant:normal;font-weight:900;line-height:1;position:relative;text-rendering:auto}.play-button.fa-pull-left{margin-right:.3em}.play-button.fa-pull-right{margin-left:.3em}[data-audio-state=loading] .play-button,[data-audio-state=playing] .play-button{--icon:"\f04c"}.play-button:before{content:var(--icon)}.play-detail{--border-radius:10px;--bg:hsl(var(--hsl-b3));--bg-main:hsl(var(--hsl-b2));--pin-sortable-handle-width:20px;background-color:var(--bg);border-radius:var(--border-radius);color:#fff;font-size:12px;line-height:normal;margin:2px 0;min-height:60px;position:relative}@media (min-width:900px){.play-detail{background-color:transparent;display:flex;min-height:auto}.play-detail--active,.play-detail:hover{--bg:hsl(var(--hsl-b2));--bg-main:hsl(var(--hsl-b1))}}.play-detail-list--menu-active .play-detail--highlightable{pointer-events:none}@media (min-width:900px){.play-detail--pin-sortable{margin-left:calc(var(--pin-sortable-handle-width)*-1)}}.play-detail__accuracy{color:#fc2;display:inline-block;min-width:60px}.play-detail__accuracy-and-weighted-pp{font-size:14px;font-weight:600}.play-detail__artist{display:block}@media (min-width:900px){.play-detail__artist{display:inline}}.play-detail__beatmap{color:#ea0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.play-detail__beatmap-and-time{display:flex;gap:15px;margin-top:2px;white-space:nowrap}.play-detail__detail{display:flex;flex:1;flex-direction:column;min-width:0}.play-detail__group{padding:10px 20px}.play-detail__group--bottom{position:relative}@media (min-width:900px){.play-detail__group--bottom{display:flex;padding:0}}.play-detail__group--top{align-items:center;background-color:var(--bg-main);border-radius:var(--border-radius);display:flex;min-width:0}@media (min-width:900px){.play-detail__group--top{border-radius:var(--border-radius) 0 0 var(--border-radius);flex:1;padding-bottom:5px;padding-right:0;padding-top:5px}}.play-detail__icon{flex:none;min-height:30px;position:relative;width:60px}@media (min-width:900px){.play-detail__icon--extra{display:none}}.play-detail__icon--main{display:none;margin-right:10px;position:relative}@media (min-width:900px){.play-detail__icon--main{display:block;height:20px;width:40px}}.play-detail__mods{display:flex;flex-wrap:wrap;margin-top:10px}@media (min-width:900px){.play-detail__mods{align-items:center;background-color:var(--bg-main);margin-top:0;max-width:400px;order:-1;padding:5px 10px}}.play-detail__mods-pp{display:flex;gap:5px;justify-content:space-between}@media (min-width:900px){.play-detail__mods-pp{display:contents}}.play-detail__more{align-items:center;display:inline-flex;height:30px;justify-content:center;position:absolute;right:0;top:10px;width:40px}@media (min-width:900px){.play-detail__more{height:100%;left:100%;top:0;width:var(--inner-gutter)}}.play-detail__pp{--desktop-width:110px;align-content:flex-end;color:hsl(var(--hsl-h1));flex:none;font-size:16px;font-weight:700}@media (min-width:900px){.play-detail__pp{align-items:center;background:var(--bg);border-radius:0 var(--border-radius) var(--border-radius) 0;bottom:auto;display:inline-flex;flex:none;justify-content:center;min-width:var(--desktop-width);padding:5px 20px 5px 30px;position:relative;right:auto}.play-detail__pp:before{background-color:var(--bg-main);clip-path:polygon(0 0,100% 50%,0 100%);content:"";height:100%;left:0;position:absolute;top:0;width:10px}}.play-detail__pp--watch-count{--desktop-width:130px}.play-detail__pp-unit{color:hsl(var(--hsl-l3));font-size:12px}.play-detail__score-detail{align-items:center;display:flex;height:30px}@media (min-width:900px){.play-detail__score-detail{background-color:var(--bg-main);height:auto;padding:5px 10px}}.play-detail__score-detail-top-right{margin-left:10px}.play-detail__time{color:hsl(var(--hsl-f1));flex:none}.play-detail__title{align-self:flex-start;color:#fff;display:block;font-size:14px;max-width:100%}.play-detail__title:active,.play-detail__title:focus,.play-detail__title:hover{color:#fff}.play-detail__weighted-pp{display:inline-block;margin-left:10px;min-width:60px}.play-detail__weight{font-size:12px}.popup-menu{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;height:100%;left:0;margin:0;outline:none;padding:0;width:100%}.popup-menu,.popup-menu-float{position:absolute;top:0}.popup-menu-float--left{right:0}.popup-menu-float--right{left:0}.post-box-toolbar{display:flex;flex-wrap:wrap;gap:2px;justify-content:center}.post-box-toolbar--disabled{pointer-events:none}@media (min-width:900px){.post-box-toolbar{justify-content:flex-start}}.post-box-toolbar__help{align-self:center;font-size:14px;margin:0 10px}.product-box{background-color:hsla(var(--hsl-b4),.25);background-position:50%;background-size:cover;color:#fff;display:block;position:relative;text-decoration:none}.product-box:active,.product-box:focus,.product-box:hover{color:#fff;text-decoration:none}.product-box:before{background-color:rgba(0,0,0,.5);box-shadow:0 1px 3px rgba(0,0,0,.25)}.product-box:hover:before{opacity:0}.product-box:after{box-shadow:0 10px 20px rgba(0,0,0,.25);opacity:0}.product-box:hover:after{opacity:1}.product-box--card{padding:20px}.product-box--card:after,.product-box--card:before{content:"";height:100%;left:0;pointer-events:none;position:absolute;top:0;transition:opacity .12s;width:100%;will-change:opacity}.product-box--card-large{grid-column-end:-1;grid-column-start:1;height:300px;order:-1}.product-box--card-small{height:200px}.product-box--header{height:300px;padding:20px 10px;width:100%}@media (min-width:900px){.product-box--header{padding-left:50px;padding-right:50px}}.product-box--oos{order:1}.product-box__text{will-change:opacity}.product-box:hover .product-box__text{opacity:0}.product-box__oos-bar{background-image:-webkit-image-set(url(/assets/images/store-out-of-stock-bar.0ab52ecc.png) 1x,url(/assets/images/store-out-of-stock-bar@2x.d738b76d.png) 2x);background-image:image-set(url(/assets/images/store-out-of-stock-bar.0ab52ecc.png) 1x,url(/assets/images/store-out-of-stock-bar@2x.d738b76d.png) 2x);background-size:contain;bottom:0;display:none;height:136px;margin:0;position:absolute;right:0;width:233px}.product-box--oos .product-box__oos-bar{display:block}.profile-badges{box-shadow:inset 0 2px 3px -1px rgba(0,0,0,.25);--gutter:10px;background-color:hsl(var(--hsl-b4));display:flex;flex-wrap:wrap;gap:10px;padding:10px var(--gutter)}@media (min-width:900px){.profile-badges{--gutter:50px}}.profile-badges--multiplayer{background-color:hsl(var(--hsl-b5))}.profile-badges__badge{height:40px;-o-object-fit:contain;object-fit:contain;width:86px}.profile-badges__date{color:hsl(var(--hsl-l1));margin-top:5px}.profile-cover-change-popup{display:grid;font-size:10px;gap:10px;position:relative;text-align:center}.profile-cover-change-popup__defaults{display:grid;gap:4px;grid-template-columns:1fr 1fr}.profile-cover-change-popup__selections-info{grid-column:1/3;margin:10px 0 0}.profile-cover-change-popup__drop-overlay{align-items:center;background-color:rgba(0,0,0,.5);border-radius:4px;display:flex;font-size:24px;height:100%;justify-content:center;left:0;padding:20px;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.profile-cover-change-popup__drop-overlay--hover{background-color:rgba(0,0,0,.7)}.profile-cover-change-popup__drop-overlay:after{content:"";height:100%;left:0;position:absolute;top:0;width:100%}.profile-cover-selection{-webkit-appearance:none;-moz-appearance:none;background:none;background-color:rgba(0,0,0,.25);background-position:50%;background-size:cover;border:none;cursor:pointer;margin:0;min-height:45px;outline:none;padding:0 0 26.66666667%;position:relative;width:100%}.profile-cover-selection__selected{bottom:10px;color:#fff;font-size:24px;left:10px;position:absolute;text-shadow:0 1px 3px rgba(0,0,0,.75)}.profile-cover-uploader{border-top:1px solid hsl(var(--hsl-b5));display:flex;flex-direction:column;padding-top:10px}.profile-cover-uploader__button{margin-top:10px}.profile-cover-uploader__info{margin-bottom:-10px;padding:10px}.profile-cover-uploader__info-entry{margin-bottom:5px}.profile-detail{--gutter:10px;background-color:hsl(var(--hsl-b5));display:grid;gap:10px;padding:10px var(--gutter)}.profile-detail:empty{display:none}.profile-info+.profile-detail{box-shadow:inset 0 2px 3px -1px rgba(0,0,0,.25)}@media (min-width:900px){.profile-detail{--gutter:50px}}.profile-detail__chart{align-items:center;display:inline-flex;display:flex;font-size:12px;height:90px;justify-content:center;position:relative}@media (min-width:900px){.profile-detail__chart{margin:0 -15px}}.profile-detail__chart-numbers{display:flex;flex-direction:column;gap:10px;--align-items-desktop:flex-end}.profile-detail__chart-numbers--top{--align-items-desktop:flex-start}@media (min-width:900px){.profile-detail__chart-numbers{align-items:var(--align-items-desktop);flex-direction:row;justify-content:space-between}}.profile-detail__separator{--separator-size:2px;background-color:hsl(var(--hsl-b6));height:var(--separator-size);width:100%}@media (min-width:900px){.profile-detail__separator{height:100%;width:var(--separator-size)}}.profile-detail__stats{align-items:start;display:grid;gap:15px}@media (min-width:900px){.profile-detail__stats{grid-template-columns:1fr auto auto}}.profile-detail__values{display:flex;gap:20px}.profile-detail__values--grid{display:grid;grid-template-columns:repeat(4,1fr)}.profile-detail-bar{--padding:10px;--vertical-padding:10px;--item-height:40px;background-color:hsl(var(--hsl-b3));display:flex;flex:none;flex-wrap:wrap;gap:10px;padding:10px var(--padding);position:relative;width:100%}@media (min-width:900px){.profile-detail-bar{--padding:50px}}.profile-detail-bar--team{justify-content:end}.profile-detail-bar__level{align-items:center;display:flex;font-size:12px;font-weight:700;gap:10px;height:var(--item-height);margin-left:auto}.profile-detail-bar__level-bar{display:none}@media (min-width:900px){.profile-detail-bar__level-bar{display:flex;width:200px}}.profile-edit-popup{background:hsl(var(--hsl-b6));border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.25);display:grid;gap:10px;max-width:calc(100vw - 50px);padding:10px;position:absolute;right:100%;top:0;width:400px;z-index:100}.profile-extra-entries{display:flex;flex-direction:column;list-style:none;margin:-2px 0;padding:0}.profile-extra-entries--kudosu{margin-top:20px}.profile-extra-entries__item{align-items:baseline;display:flex;justify-content:space-between;line-height:22px;margin:2px 0}.profile-extra-entries__item--top-ranks{border-bottom:1px solid #eee;height:auto;margin:0;padding:10px 0}.profile-extra-entries__item--top-ranks:before{background-color:#eee;box-shadow:0 1px 3px rgba(0,0,0,.25);content:"";height:100%;left:0;margin:0 -10px;opacity:0;pointer-events:none;position:absolute;top:0;transition:all 25ms ease-out;width:100%;width:calc(100% + 20px);will-change:opacity}.profile-extra-entries__item--top-ranks:hover:before{opacity:1;transition:all 50ms ease-out}.profile-extra-entries__kudosu-amount{color:hsl(var(--hsl-l1));font-weight:inherit}.profile-extra-entries__detail{align-items:baseline;display:flex;flex:1;min-width:0}.profile-extra-entries__detail--vertical{align-items:stretch;flex-direction:column}.profile-extra-entries__detail-column{flex:none;overflow:hidden;text-overflow:ellipsis}.profile-extra-entries__detail-column--full{flex:1;min-width:0}.profile-extra-entries__text{margin-right:20px;overflow:hidden;text-overflow:ellipsis}.profile-extra-entries__text em{font-style:normal}.profile-extra-entries__icon{align-items:center;align-self:flex-start;display:inline-flex;flex:none;font-size:14px;height:22px;justify-content:center;margin-right:5px;width:28px}.profile-extra-entries__icon--ranked{color:hsl(var(--beatmapset-ranked-bg-hsl))}.profile-extra-entries__icon--qualified{color:hsl(var(--beatmapset-qualified-bg-hsl))}.profile-extra-entries__icon--loved{color:hsl(var(--beatmapset-loved-bg-hsl))}.profile-extra-entries__icon--approved{color:hsl(var(--beatmapset-approved-bg-hsl))}.profile-extra-entries__icon--danger{color:hsl(var(--hsl-red-1))}.profile-extra-entries__icon--green{color:hsl(var(--hsl-green-1))}.profile-extra-entries__icon--orange{color:hsl(var(--hsl-orange-1))}.profile-extra-entries__icon--pink{color:hsl(var(--hsl-pink-1))}.profile-extra-entries__time{color:hsl(var(--hsl-f1))}.profile-extra-recent-infringements{line-height:normal;overflow-x:auto}.profile-extra-recent-infringements__action{border-radius:20px;margin:-2px -10px;padding:2px 10px;width:100%}.profile-extra-recent-infringements__action--note{background-color:hsl(var(--hsl-blue-1));color:#000}.profile-extra-recent-infringements__action--restriction{background-color:hsl(var(--hsl-red-3));color:#fff}.profile-extra-recent-infringements__action--silence{background-color:hsl(var(--hsl-orange-2));color:#000}.profile-extra-recent-infringements__action--tournament-ban{background-color:hsl(var(--hsl-red-3));color:#fff}.profile-extra-recent-infringements__table{margin:0 -5px;min-width:800px;width:100%}@media (min-width:900px){.profile-extra-recent-infringements__table{min-width:auto}}.profile-extra-recent-infringements__table-cell{padding:5px;vertical-align:baseline}.profile-extra-recent-infringements__table-cell--action{width:140px}.profile-extra-recent-infringements__table-cell--date{color:hsl(var(--hsl-f1));padding-right:20px;width:160px}.profile-extra-recent-infringements__table-cell--length{padding-right:40px;width:145px}.profile-extra-recent-infringements__table-cell--header{color:#fff;font-size:10px;font-weight:900;text-transform:uppercase}.profile-extra-recent-infringements__actor{color:hsl(var(--hsl-l1))}.profile-extra-user-page--new{align-items:center;display:flex;flex-direction:column}.profile-extra-user-page__new-content{margin-bottom:40px}.profile-extra-user-page__new-content--icon{font-size:125px}.profile-hue{display:grid;gap:10px}.profile-hue__buttons{display:grid;gap:inherit;grid-template-columns:1fr 1fr}.profile-hue__info{font-size:10px;font-weight:700;text-align:center}.profile-hue-selector{display:grid;height:36px;margin:0 9px;position:relative}.profile-hue-selector.ui-slider-disabled{opacity:.6}.profile-hue-selector__handle{--border-colour:hsl(var(--hsl-c1));border:2px solid var(--border-colour)}.profile-hue-selector__handle--default{--border-colour:hsl(var(--hsl-b1))}.ui-slider .profile-hue-selector__handle.ui-slider-handle{background-color:hsl(var(--hue),var(--c-saturation-2),var(--c-lightness-2));border-radius:4px;height:100%;margin-left:-9px;top:0;width:18px}.profile-hue-selector__range{border-radius:4px;margin:7px 0;--start-colour:hsl(0,var(--c-saturation-3),var(--c-lightness-3));background:linear-gradient(to right in hsl longer hue,var(--start-colour),var(--start-colour))}.profile-info{--avatar-radius-extended-desktop:40px;--avatar-radius-extended:20px;--avatar-radius:20px;--avatar-size-extended-desktop:120px;--avatar-size-extended:var(--content-height);--avatar-size:var(--content-height);--avatar-height:var(--avatar-size);--avatar-width:var(--avatar-size);--bg:none;--content-height:65px;--vertical-padding:10px;--info-margin-extended-desktop:20px;--info-margin-extended:10px;--info-margin:10px;background-color:hsl(var(--hsl-b3));display:flex;flex:none;flex-direction:column;width:100%}.profile-info--cover{--avatar-radius:var(--avatar-radius-extended);--avatar-size:var(--avatar-size-extended);--info-margin:var(--info-margin-extended)}.profile-info--multiplayer,.profile-info--team{background-color:hsl(var(--hsl-b4))}.profile-info--team{--avatar-width:calc(var(--avatar-height)*2);--bg:url(/assets/images/generic.4dc91de4.jpg)}@media (min-width:900px){.profile-info{--avatar-radius-extended:var(--avatar-radius-extended-desktop);--avatar-size-extended:var(--avatar-size-extended-desktop);--info-margin-extended:var(--info-margin-extended-desktop)}}.profile-info__avatar{align-self:flex-start;border-radius:var(--avatar-radius);box-shadow:0 1px 3px rgba(0,0,0,.25);flex:none;height:var(--avatar-height);overflow:hidden;transform:translateZ(0);width:var(--avatar-width)}@media (min-width:900px){.profile-info__avatar{align-self:flex-end;margin-bottom:var(--vertical-padding)}}.profile-info__bg{background-image:var(--bg);background-position:50%;background-size:cover;height:100px;position:relative}@media (min-width:900px){.profile-info__bg{height:250px}}.profile-info__cover-toggle{align-items:center;display:inline-flex;height:100%;justify-content:center;position:absolute;right:var(--gutter-size);top:0}@media (min-width:900px){.profile-info__cover-toggle{right:0;width:var(--gutter-size)}}.profile-info__details{--gutter-size:10px;--gutter-size-desktop:50px;--details-vertical-padding:var(--vertical-padding);align-items:center;display:flex;padding:var(--details-vertical-padding) var(--gutter-size);position:relative}@media (min-width:900px){.profile-info__details{--gutter-size:var(--gutter-size-desktop);--details-vertical-padding:0;height:calc(var(--content-height) + var(--vertical-padding)*2)}}.profile-info__flag{align-items:center;color:#fff;display:grid;gap:4px}.profile-info__flag,.profile-info__flag:active,.profile-info__flag:focus,.profile-info__flag:hover{text-decoration:none}.profile-info__flag:active,.profile-info__flag:focus,.profile-info__flag:hover{color:#fff}@media (min-width:900px){.profile-info__flag{grid-template-columns:auto 1fr}}.profile-info__flag-text{display:none;font-size:14px}@media (min-width:900px){.profile-info__flag-text{display:block}}.profile-info__flags{display:flex;flex-wrap:wrap;font-size:15px;gap:5px;margin-top:10px}@media (min-width:900px){.profile-info__flags{flex-wrap:nowrap;font-size:20px;gap:10px;margin-top:5px}}.profile-info__icon{color:hsl(var(--hsl-c1));display:flex;font-size:.75em;height:1.33333333em;text-shadow:none}.profile-info__icon--supporter{align-items:center;background-color:hsl(var(--hsl-pink-1));border-radius:10000px;color:#fff;display:inline-flex;justify-content:center;padding:0 10px;text-decoration:none}.profile-info__icon--supporter:active,.profile-info__icon--supporter:focus,.profile-info__icon--supporter:hover{color:#fff;text-decoration:none}.profile-info__icons--flag-inline{display:contents}@media (min-width:900px){.profile-info__icons--flag-inline{display:none}}.profile-info__icons--name-inline{align-items:baseline;display:none;font-size:15px;gap:2px;margin-left:5px}@media (min-width:900px){.profile-info__icons--name-inline{display:flex}}.profile-info__info{align-items:flex-start;display:flex;flex:1;flex-direction:column;margin-left:var(--info-margin);min-width:0;text-shadow:0 1px 3px rgba(0,0,0,.75)}.profile-info__level{flex:none}.profile-info__name{align-items:center;display:flex;font-size:20px;font-style:normal;font-weight:400;line-height:normal;margin:-5px 0 0;max-width:100%;padding:0;position:relative}@media (min-width:900px){.profile-info__name{font-size:24px}}.profile-info__previous-usernames{display:inline-block;pointer-events:none;transform:translateY(-.3em)}@media (min-width:900px){.profile-info__previous-usernames{left:100%;position:absolute;top:-16px;transform:translateY(0)}.profile-info__previous-usernames:hover{z-index:10}}.profile-info__spinner{display:none}@media (min-width:900px){.profile-info__spinner{align-items:center;background-color:hsla(var(--hsl-b6),.5);display:inline-flex;font-size:60px;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}}.profile-info__title{color:#fff;font-size:14px;line-height:normal}.profile-info__title:active,.profile-info__title:focus,.profile-info__title:hover{color:#fff}@media (min-width:900px){.profile-info__title{font-size:16px}}.profile-links{background-color:hsl(var(--hsl-b4));box-shadow:inset 0 2px 3px -1px rgba(0,0,0,.25);display:flex;flex-direction:column;font-size:12px;justify-content:center;min-height:50px;padding:10px var(--gutter);position:relative;--gutter:10px}@media (min-width:900px){.profile-links{--gutter:50px}}.profile-links__edit{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:var(--gutter);top:0}@media (min-width:900px){.profile-links__edit{right:0;width:var(--gutter)}}.profile-links__icon{color:hsl(var(--hsl-f1));margin-right:2px}.profile-links__item{margin:2px 5px;min-width:0}.profile-links__row{display:flex;flex-wrap:wrap;margin:-2px -5px}.profile-links__row--0+.profile-links__row{margin-top:10px}.profile-links__value{font-weight:600;word-wrap:break-word}.profile-page-button{display:none}@media (min-width:900px){.profile-page-button{align-items:center;bottom:100%;display:flex;height:55px;position:absolute;right:50px}}.profile-page-button__button{-webkit-appearance:none;-moz-appearance:none;background:none;background-color:hsl(var(--hsl-b3));border:none;border-radius:10000px;color:hsl(var(--hsl-c1));font-size:12px;margin:0;outline:none;padding:5px 20px}.profile-page-button__button:hover{background-color:hsl(var(--hsl-b2))}.profile-page-button__button[disabled]{opacity:.5;pointer-events:none}.profile-page-cover-editor-button{bottom:10px;display:grid;gap:10px;justify-content:center;position:absolute;right:10px}@media (min-width:900px){.profile-page-cover-editor-button{right:0;width:50px}}.profile-previous-usernames{align-items:baseline;border-radius:6px;display:flex;text-shadow:none;transition:all .2s cubic-bezier(.22,.61,.36,1)}@media (min-width:900px){.profile-previous-usernames{margin:5px;pointer-events:none;width:300px}.profile-previous-usernames:hover{background-color:hsl(var(--hsl-b6));pointer-events:auto;transform:translateY(-14px)}}.profile-previous-usernames__content{display:none;opacity:0;padding-left:0;transition:inherit;will-change:opacity}@media (min-width:900px){.profile-previous-usernames__content{display:block;padding:10px}}.profile-previous-usernames:hover .profile-previous-usernames__content{opacity:1}.profile-previous-usernames__icon{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:#fff;flex:none;font-size:14px;margin:0;outline:none;padding:0;pointer-events:auto;text-decoration:none}.profile-previous-usernames__icon:active,.profile-previous-usernames__icon:focus,.profile-previous-usernames__icon:hover{color:#fff;text-decoration:none}.profile-previous-usernames__icon--plain{display:none;padding:10px}@media (min-width:900px){.profile-previous-usernames__icon--plain{display:block}}.profile-previous-usernames__icon--with-title{margin-left:10px}@media (min-width:900px){.profile-previous-usernames__icon--with-title{display:none}}.profile-previous-usernames__names{font-size:12px;font-weight:700;line-height:1.2;margin-top:0;white-space:pre-wrap}.profile-previous-usernames__title{font-size:10px}.profile-rank-count{display:flex;flex-wrap:wrap;font-size:12px;font-weight:700;gap:4px;justify-content:center;margin:auto;text-align:center}@media (min-width:900px){.profile-rank-count{font-size:12px;margin:0}}.profile-rank-count--team{gap:10px;padding-top:10px}.profile-stats{align-self:center;display:grid;font-size:12px;gap:4px 20px;grid-template-columns:1fr 1fr}@media (min-width:900px){.profile-stats{grid-template-columns:auto auto}}.profile-stats--modding{max-width:-moz-max-content;max-width:max-content}.profile-stats__entry{display:contents}.profile-stats__key{font-weight:400}.profile-tournament-banner{display:block}.profile-tournament-banner__image{max-height:200px;width:100%}.qr-svg>svg{aspect-ratio:1;height:auto;width:100%}.qr-svg--user-totp{margin-bottom:10px}.qtip{color:hsl(var(--hsl-c1))}.qtip--achievement{box-shadow:0 1px 3px rgba(0,0,0,.25);--border-radius:32px;background-color:hsl(var(--hsl-b6));border:0 solid transparent;border-radius:var(--border-radius);width:200px}.qtip--achievement .qtip-content{overflow:visible;padding:0}.qtip--daily-challenge{background:transparent;border:none;line-height:normal;max-width:none;min-width:300px}.qtip--daily-challenge .qtip-content{padding:0 0 5px}.qtip--tooltip-beatmap{background-color:hsl(var(--hsl-b6));border:0 solid transparent;border-radius:4px;max-width:none;min-width:110px}.qtip--tooltip-beatmap .qtip-content{padding:0}.qtip--user-card{font-size:unset;line-height:unset;min-width:unset}.qtip--user-card,.qtip--user-list{max-width:unset;z-index:512!important}.qtip--user-list{padding:5px}.qtip--user-list>.qtip-content{overflow:unset;padding:0}.quick-search{background-color:hsl(var(--hsl-b5));color:hsl(var(--hsl-c1));display:flex;flex-direction:column;max-height:100%;max-width:1000px;overflow:hidden;width:100%}@media (min-width:900px){.quick-search{border-radius:6px;max-height:calc(100% - 40px);max-width:980px;width:calc(100% - 60px)}}.quick-search-input{background-color:hsl(var(--hsl-b3));display:flex;flex:none;padding:10px}@media (min-width:900px){.quick-search-input{padding-bottom:25px;padding-left:50px;padding-right:50px;padding-top:25px}}.quick-search-input__field{align-items:flex-end;border-bottom:2px solid hsl(var(--hsl-b1));display:flex;flex:1;font-size:16px;padding-bottom:5px}@media (min-width:900px){.quick-search-input__field{font-size:24px}}.quick-search-input__icon{margin-right:10px}.quick-search-input__input{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;flex:1;margin:0;outline:none;padding:0}.quick-search-input__input::-moz-placeholder{color:hsl(var(--hsl-c2));opacity:.7}.quick-search-input__input::placeholder{color:hsl(var(--hsl-c2));opacity:.7}.quick-search-items{--quick-search-items-badge-margin:20px;display:flex;flex-direction:column;margin:9px -1px -1px}@media (max-width:479px){.quick-search-items{--quick-search-items-badge-margin:10px}}.quick-search-items__item{margin:1px 0}.quick-search-result{display:flex;flex:1;flex-direction:column;overflow-y:auto;padding:10px}@media (min-width:900px){.quick-search-result{padding-bottom:25px;padding-left:50px;padding-right:50px;padding-top:25px}}.quick-search-result__item{display:flex;flex:none;flex-direction:column;margin:15px 0}.rank-value{--colour:hsl(var(--hsl-c2)),hsl(var(--hsl-c2));--font-weight:bold;-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(var(--colour));color:transparent;font-weight:var(--font-weight)}.rank-value--base,.rank-value--iron{--font-weight:400}.ranking-filter{align-items:center;display:flex;flex:1;--title-margin-bottom-mobile:0}@media (min-width:900px){.ranking-filter{display:block;flex:none}}.ranking-filter--full{display:block;--title-margin-bottom-mobile:10px}@media (min-width:900px){.ranking-filter--full{flex:1}}.ranking-filter__title{font-size:12px;font-weight:700;margin-bottom:10px;margin-right:15px;text-transform:uppercase}@media (max-width:899px){.ranking-filter__title{margin-bottom:var(--title-margin-bottom-mobile)}}.ranking-page{color:#fff;font-size:12px;overflow-x:auto}.ranking-page-grid{--item-padding:6px 6px 6px 20px;display:grid;gap:3px 10px;grid-template-columns:auto 1fr auto auto auto auto auto auto auto auto}.ranking-page-grid--matchmaking{--item-padding:6px 20px;grid-template-columns:auto 10fr 1fr 1fr 1fr}.ranking-page-grid-item{--bg:hsl(var(--hsl-b4));--bg-hover:hsl(var(--hsl-b3));background-color:var(--bg);border-radius:4px;display:grid;grid-column:1/-1;grid-template-columns:subgrid;padding:var(--item-padding);position:relative}.ranking-page-grid-item:hover{--bg:var(--bg-hover)}.ranking-page-grid-item--header{--bg:transparent;--bg-hover:transparent;color:hsl(var(--hsl-f1))}.ranking-page-grid-item__col{align-items:center;display:flex}.ranking-page-grid-item__col--beatmap{max-width:300px;min-width:100px;overflow:hidden}.ranking-page-grid-item__col--header{justify-content:center}.ranking-page-grid-item__col--main{width:-moz-max-content;width:max-content}.ranking-page-grid-item__col--menu{border-radius:6px;position:relative;width:30px}.ranking-page-grid-item__col--menu:hover{background-color:hsl(var(--hsl-b2))}.ranking-page-grid-item__col--number{color:hsl(var(--hsl-f1))}.ranking-page-grid-item__col--number-focus{color:hsl(var(--hsl-c1))}.ranking-page-grid-item__content{display:grid;grid-column:1/-1;grid-template-columns:subgrid;pointer-events:none;position:relative}.ranking-page-grid-item__icons{display:flex;font-size:20px;height:1em;max-width:10em;overflow:hidden}.ranking-page-grid-item__link-bg{inset:0;position:absolute}.ranking-page-grid-item__value--perfect{color:hsla(var(--hsl-lime-1),90%)}.ranking-page-table{border-collapse:separate;border-spacing:0 3px;text-align:center;transform:translateZ(0);white-space:nowrap;width:100%;--grade-min-width:0px}.ranking-page-table--kudosu{--grade-min-width:120px}.ranking-page-table__column{background:var(--bg);padding:6px 5px}.ranking-page-table__column--dimmed{color:hsl(var(--hsl-f1))}.ranking-page-table__column--rank-change-down{--icon:"\f063";color:hsl(var(--hsl-red-1))}.ranking-page-table__column--rank-change-none{--icon:"";color:hsl(var(--hsl-f1))}.ranking-page-table__column--rank-change-pending{--icon:"\f141";color:hsl(var(--hsl-f1))}.ranking-page-table__column--rank-change-up{--icon:"\f062";color:hsl(var(--hsl-lime-1))}.ranking-page-table__column--rank-change{text-align:start}.ranking-page-table__column--rank-change:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;content:var(--icon);display:inline-block;flex:none;font-family:Font Awesome\ 5 Free;font-style:normal;font-variant:normal;font-weight:900;line-height:1;text-align:center;text-rendering:auto;width:1.25em}.ranking-page-table__column--rank-change:before.fa-pull-left{margin-right:.3em}.ranking-page-table__column--rank-change:before.fa-pull-right{margin-left:.3em}.ranking-page-table__column--main{max-width:500px;min-width:200px}.ranking-page-table__column:first-child{border-bottom-left-radius:4px;border-top-left-radius:4px;padding-left:10px}.ranking-page-table__column:last-child{border-bottom-right-radius:4px;border-top-right-radius:4px;padding-right:10px}.ranking-page-table__heading{color:hsl(var(--hsl-f1));font-weight:400;padding:6px 5px;text-align:center}.ranking-page-table__heading:first-child{padding-left:10px}.ranking-page-table__heading:last-child{padding-right:10px}.ranking-page-table__heading--focused{color:hsl(var(--hsl-c1))}.ranking-page-table__heading--grade{padding-left:20px;padding-right:20px}@media (min-width:900px){.ranking-page-table__heading--grade{min-width:var(--grade-min-width)}}.ranking-page-table__heading--main{width:100%}.ranking-page-table__row{--bg:hsl(var(--hsl-b4))}.ranking-page-table__row--inactive{opacity:.5}.ranking-page-table__row:hover{--bg:hsl(var(--hsl-b3))}.ranking-page-table__value--perfect{color:hsl(var(--hsl-lime-1))}.ranking-page-table-main{align-items:center;display:grid;gap:10px;grid-auto-flow:column;width:-moz-fit-content;width:fit-content}.ranking-page-table-main__flag{display:contents;font-size:20px}.ranking-page-table-main__link{align-items:center;display:flex;gap:inherit;min-width:0}.rankings-beatmapsets{display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:10px;margin-top:40px}.rankings-beatmapsets--daily-challenge{margin-top:0}.rankings-beatmapsets--single{grid-template-columns:1fr}.report-form{background-color:hsl(var(--hsl-b4));border-radius:4px;color:#fff;display:flex;flex:0 1 400px;flex-direction:column;font-size:14px;padding:30px 15px 15px}@media (max-width:899px){.report-form{max-width:100vw}}.report-form__button{-webkit-appearance:none;-moz-appearance:none;background:none;background-color:hsl(var(--hsl-b5));border:none;border-radius:200px;font-weight:600;margin:0;outline:none;padding:15px;position:relative;text-shadow:0 1px 3px rgba(0,0,0,.75);width:200px}.report-form__button[disabled]:before{background-color:rgba(0,0,0,.5);border-radius:inherit;content:"";height:100%;left:0;position:absolute;top:0;width:100%}.report-form__button:active,.report-form__button:focus,.report-form__button:hover{background-color:hsl(var(--hsl-b6))}.report-form__button+.report-form__button{margin-top:8px}.report-form__button--report{background-color:#ba0011}.report-form__button--report:active,.report-form__button--report:focus,.report-form__button--report:hover{background-color:#ed1221}.report-form__header{font-size:24px;margin-bottom:10px}.report-form__row{display:flex;justify-content:center}.report-form__row+.report-form__row{margin-top:10px}.report-form__row+.report-form__row--buttons{margin-top:15px}.report-form__row--buttons{align-items:center;flex-direction:column}.report-form__row--exclamation{font-size:35px}.report-form__row--title{font-weight:300}.report-form__textarea{-webkit-appearance:none;-moz-appearance:none;background:none;background-color:hsl(var(--hsl-b5));border:none;border-radius:4px;font-size:12px;height:200px;margin:0;max-height:400px;min-height:100px;outline:none;padding:15px;resize:vertical;width:100%}.report-form__textarea::-moz-placeholder{color:hsl(var(--hsl-f1))}.report-form__textarea::placeholder{color:hsl(var(--hsl-f1))}.room-list{display:grid;grid-gap:10px}.score-beatmap{background-color:hsl(var(--hsl-b4));padding:10px}@media (min-width:900px){.score-beatmap{padding-left:50px;padding-right:50px}}.score-beatmap__artist{font-size:20px}.score-beatmap__detail{align-items:baseline;display:flex;font-size:16px;gap:10px}.score-beatmap__detail-item{margin:5px}.score-beatmap__detail-item--difficulty{background-color:hsl(var(--hsl-b5));border-radius:10000px;flex:none;font-size:12px;padding:2px 8px}.score-beatmap__link-plain{color:#fff;text-decoration:none}.score-beatmap__link-plain:active,.score-beatmap__link-plain:focus,.score-beatmap__link-plain:hover{color:#fff;text-decoration:none}.score-beatmap__star{color:var(--diff);font-size:.8em;margin-right:5px}.score-beatmap__title{font-size:24px;margin:0 0 10px}.score-buttons{display:flex;gap:10px}.score-buttons__menu{background-color:hsla(var(--hsl-b6),.75);border-radius:50%;height:35px;position:relative;transition:background-color .12s ease-in-out;width:35px}.score-buttons__menu:active,.score-buttons__menu:focus,.score-buttons__menu:hover{background-color:hsl(var(--hsl-l1))}.score-dial{align-items:center;display:inline-flex;height:200px;justify-content:center;width:200px}.score-dial__layer{height:100%;left:0;position:absolute;top:0;width:100%}.score-dial__layer--grade{align-items:center;display:inline-flex;font-family:Venera,sans-serif;font-size:50px;justify-content:center;padding-top:.15em;text-shadow:0 0 10px hsl(var(--hsl-c1))}.score-dial__inner{stroke:none}.score-dial__inner--0{fill:#ff5a5a}.score-dial__inner--1{fill:#ff8e5d}.score-dial__inner--2{fill:#e3b130}.score-dial__inner--3{fill:#88da20}.score-dial__inner--4{fill:#02b5c3}.score-dial__inner--5{fill:#de31ae}.score-dial__outer{stroke:none}.score-dial__outer--0{fill:url(#dial-outer)}.score-dial__outer--1{fill:hsl(var(--hsl-b6))}.score-dial__outer-gradient--end{stop-color:hsl(var(--hsl-lime-1))}.score-dial__outer-gradient--start{stop-color:hsl(var(--hsl-blue-1))}.score-info{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;display:flex;flex-direction:column;min-height:240px;padding:10px 0;position:relative}@media (min-width:900px){.score-info{flex-direction:row;padding-left:40px;padding-right:40px}}.score-info__item{flex:1;margin:10px;position:relative}@media (min-width:900px){.score-info__item{flex:none}.score-info__item--buttons{bottom:20px;margin:0;position:absolute;right:50px}}.score-info__item--dial{display:flex;margin:0 15px}@media (min-width:900px){.score-info__item--player{flex:1}}.score-info__cover{--border-radius:0}.score-info__cover:after{background-color:hsla(var(--hsl-b6),.75);content:"";height:100%;left:0;position:absolute;top:0;width:100%}.score-player{max-width:100%;width:250px}@media (min-width:900px){.score-player{width:auto}}.score-player__mods{display:flex;flex-wrap:wrap;font-size:22px;gap:2px}.score-player__row--player{display:grid;font-size:12px;grid-template-columns:auto 1fr;grid-gap:2px 10px;margin:15px 0}.score-player__row--rank{display:grid;grid-template-columns:max-content;grid-gap:0 10px}.score-player__row--score{display:grid}.score-player__rank{padding:0 10px}.score-player__rank--label{background-color:hsl(var(--hsl-b6));border-radius:10000px;font-size:12px;padding-right:30px;text-transform:uppercase}.score-player__rank--value{font-size:20px}.score-player__score{font-size:50px;font-weight:300;line-height:1}@media (min-width:900px){.score-player__score{font-size:70px}}.score-rank{background-position:50%;background-repeat:no-repeat;background-size:100%;background-size:contain;height:1em;width:2em}.score-rank--XH{background-image:url(/assets/images/GradeSmall-SS-Silver.6681366c.svg)}.score-rank--X{background-image:url(/assets/images/GradeSmall-SS.a21de890.svg)}.score-rank--SH{background-image:url(/assets/images/GradeSmall-S-Silver.811ae28c.svg)}.score-rank--S{background-image:url(/assets/images/GradeSmall-S.3b4498a9.svg)}.score-rank--A{background-image:url(/assets/images/GradeSmall-A.d785e824.svg)}.score-rank--B{background-image:url(/assets/images/GradeSmall-B.e19fc91b.svg)}.score-rank--C{background-image:url(/assets/images/GradeSmall-C.6bb75adc.svg)}.score-rank--D{background-image:url(/assets/images/GradeSmall-D.6b170c4c.svg)}.score-rank--F{background-image:url(/assets/images/GradeSmall-F.9a26ed95.svg)}.score-rank--rank-ssh{background-image:url(/assets/images/GradeSmall-SS-Silver.6681366c.svg)}.score-rank--rank-ss{background-image:url(/assets/images/GradeSmall-SS.a21de890.svg)}.score-rank--rank-sh{background-image:url(/assets/images/GradeSmall-S-Silver.811ae28c.svg)}.score-rank--rank-s{background-image:url(/assets/images/GradeSmall-S.3b4498a9.svg)}.score-rank--rank-a{background-image:url(/assets/images/GradeSmall-A.d785e824.svg)}.score-rank--daily-challenge{display:inline-block;font-size:16px}.score-rank--full{height:100%;left:0;position:absolute;top:0;width:100%}.score-rank--profile-page{font-size:22px}.score-rank--tiny{font-size:14px}.score-stats{display:flex;flex-direction:column;padding:20px 10px}@media (min-width:900px){.score-stats{flex-direction:row;margin:-5px;padding-left:50px;padding-right:50px}}.score-stats__group{display:grid;margin:5px;grid-gap:10px}@media (min-width:900px){.score-stats__group--stats{margin-left:auto}.score-stats__group--user-card{width:360px}}.score-stats__group--stats .score-stats__group-row{display:grid;grid-auto-columns:1fr;grid-auto-flow:column;grid-gap:2px}.score-stats__stat{display:flex;flex-direction:column;text-align:center}.score-stats__stat-row{font-size:20px;line-height:normal;padding:0 10px}.score-stats__stat-row--label{background-color:hsl(var(--hsl-b6));border-radius:10000px;font-size:12px;text-transform:uppercase;white-space:nowrap}.score-stats__stat-row--perfect{color:hsl(var(--hsl-lime-1))}.score-stats__stat-row--maximum{font-size:12px}.score-tower{display:flex;flex-direction:row-reverse;margin:-5px}@media (min-width:900px){.score-tower{flex-direction:column}}.score-tower__item{margin:5px}.score-tower__item--missed{filter:grayscale(1);opacity:.1}.score-tower__item--passed{opacity:.4}.search{box-shadow:0 1px 3px rgba(0,0,0,.25);padding:10px 0}.search,.search-entry{background-color:hsl(var(--hsl-b5));display:flex;flex-direction:column}.search-entry{border-radius:4px;box-shadow:inset 0 0 0 var(--border-size) var(--border-colour);min-width:0;padding:10px 10px 15px;position:relative;--border-colour:hsl(var(--hsl-l1));--border-size:0}.search-entry,.search-entry:active,.search-entry:focus,.search-entry:hover{text-decoration:none}.search-result--forum_post .search-entry{--border-colour:#ea0}.search-result--wiki_page .search-entry{--border-colour:#64c}.search-entry--deleted{opacity:.5}.search-entry:hover{--border-size:2px}.search-forum-options{display:grid;gap:10px;margin:0 auto 10px;max-width:400px;width:100%}.search-forum-options__buttons{display:grid;gap:inherit;grid-template-columns:1fr 1fr}@media (min-width:900px){.search-forum-options__buttons{padding:0 40px}}.search-forum-options__checkbox{font-weight:400;margin:0}.search-forum-post{display:flex;flex-direction:row;flex-wrap:wrap;word-wrap:break-word;line-height:1.5;pointer-events:none}.search-forum-post__avatar{flex:none;height:50px;margin:5px;pointer-events:auto;position:relative;width:50px}.search-forum-post__avatar-image{border-radius:50%;height:100%;left:0;position:absolute;top:0;width:100%}.search-forum-post__content{flex:1;margin-left:5px;min-width:0}.search-forum-post__link{height:100%;left:0;pointer-events:auto;position:absolute;top:0;width:100%}.search-forum-post__more{display:flex}.search-forum-post__poster{color:hsl(var(--hsl-f1));display:inline-block;margin-right:1em}@media (max-width:899px){.search-forum-post__poster{display:block}}.search-forum-post__sub-link{font-weight:700;pointer-events:auto;position:relative}.search-forum-post__text{color:#fff}.search-forum-post__text--excerpt{font-family:var(--font-content-override,var(--font-content));font-size:11px;line-height:1.35}.search-forum-post__text--footer{color:hsl(var(--hsl-f1));font-size:10px}.search-forum-post__text--title{font-size:15px;margin-bottom:5px}.search-forum-post__time{display:inline-block;pointer-events:auto;position:relative}@media (max-width:899px){.search-forum-post__time{display:block}}.search-forum-post__url{display:inline-block;margin-right:1em}@media (max-width:899px){.search-forum-post__url{display:none}}.search-header{background-color:hsl(var(--hsl-b4));color:hsl(var(--hsl-c1));display:flex;flex-direction:column;padding:20px 10px}@media (min-width:900px){.search-header{padding-left:50px;padding-right:50px}}.search-header__box{position:relative;width:100%}.search-header__icon{align-items:center;-webkit-appearance:none;-moz-appearance:none;background:none;border:none;display:inline-flex;font-size:15px;height:100%;justify-content:center;left:0;margin:0;outline:none;padding:0;position:absolute;top:0;width:40px}:-webkit-autofill~.search-header__icon{color:#000}.search-header.js-search--searching .search-header__icon--normal,.search-header__icon--searching{display:none}.search-header.js-search--searching .search-header__icon--searching{display:inline-flex}.search-header__input{-webkit-appearance:none;-moz-appearance:none;background:none;background-color:hsla(var(--hsl-b6),.5);border:none;border-radius:4px;display:flex;font-size:16px;font-weight:400;margin:0;min-width:0;outline:none;padding:20px 10px 20px 40px;width:100%}.search-header__input::-moz-placeholder{color:hsl(var(--hsl-f1))}.search-header__input::placeholder{color:hsl(var(--hsl-f1))}@media (min-width:900px){.search-header__input{font-size:inherit}}.search-header__title{align-self:center;font-size:35px;font-weight:300;margin-bottom:10px;text-align:center}.search-highlight em{color:hsl(var(--hsl-l1));font-style:inherit;font-weight:700}.search-result{border-radius:4px;box-shadow:0 10px 20px rgba(0,0,0,.25);--search-accent:transparent;background-color:hsl(var(--hsl-b4));margin:10px 0;padding:10px 0 10px 20px;position:relative}.search-result:before{background-color:var(--search-accent);border-bottom-left-radius:4px;border-top-left-radius:4px;content:"";height:100%;left:0;position:absolute;top:0;width:100%;width:5px}.search-result--artist_track{--search-accent:hsl(var(--hsl-lime-1))}.search-result--beatmapset{--search-accent:#cc5288}.search-result--forum_post{--search-accent:#ea0}.search-result--team{--search-accent:hsl(var(--hsl-green-1))}.search-result--user{--search-accent:#4ad}.search-result--wiki_page{--search-accent:#64c}.search-result__entries{display:grid;flex:1;gap:10px;grid-template-columns:1fr}@media (min-width:900px){.search-result--beatmapset .search-result__entries,.search-result--team .search-result__entries{grid-template-columns:1fr 1fr}}.search-result--user .search-result__entries{display:block}.search-result__more-button{align-items:center;color:hsl(var(--hsl-f1));display:inline-flex;flex:none;font-size:20px;justify-content:center;padding:5px;text-decoration:none;width:30px}.search-result__more-button:active,.search-result__more-button:focus,.search-result__more-button:hover{text-decoration:none}.search-result__more-button--hidden{opacity:0;padding:0;pointer-events:none;width:20px}.search-result__row{padding:5px 0}.search-result__row--entries-container{display:flex}.search-result__row--notice{font-size:14px;text-align:center}.search-result__row--more{color:hsl(var(--hsl-f1));display:block;font-size:12px;text-align:center;text-decoration:none}.search-result__row--more:active,.search-result__row--more:focus,.search-result__row--more:hover{text-decoration:none}.search-result__row--paginator{padding:0}.search-result-more{align-items:center;background-color:hsl(var(--hsl-b4));border-radius:6px;color:hsl(var(--hsl-c1));display:flex;font-size:12px;min-height:40px;padding:2px 10px;transition:all .12s ease-in-out}.search-result-more,.search-result-more:active,.search-result-more:focus,.search-result-more:hover{text-decoration:none}@media (min-width:900px){.search-result-more{font-size:16px;padding-left:20px;padding-right:20px}}.search-result-more--active{background-color:hsl(var(--hsl-b2));color:hsl(var(--hsl-c1))}.search-result-more:active,.search-result-more:focus,.search-result-more:hover{color:hsl(var(--hsl-c1))}.search-result-more__arrow{flex:none}.search-result-more__content{flex:1}.search-result-more__count{background-color:hsl(var(--hsl-b3));border-radius:10000px;font-size:12px;margin-left:var(--quick-search-items-badge-margin);padding:2px 10px}.search-wiki-page{align-items:center;display:flex;justify-content:space-between}.search-wiki-page__content{min-width:0}.search-wiki-page__row{line-height:1.5;margin:5px 0;padding:0;word-wrap:break-word;color:#fff}.search-wiki-page__row--title{font-size:15px;margin-top:0}.search-wiki-page__row--excerpt{font-family:var(--font-content-override,var(--font-content));font-size:11px;line-height:1.35}.search-wiki-page__row--footer{color:hsl(var(--hsl-f1));font-size:10px}.search-wiki-page__more,.search-wiki-page__more:active,.search-wiki-page__more:focus,.search-wiki-page__more:hover{color:hsl(var(--hsl-f1))}.season-stats{background:hsl(var(--hsl-b4));border-radius:6px;display:flex;gap:5px;padding:5px;position:absolute;right:50px}@media (max-width:899px){.season-stats{padding:5px}}.season-stats__division{border-radius:3px;height:40px}.season-stats__line{background:linear-gradient(var(--colour));border-radius:3px;width:4px;--colour:hsl(var(--hsl-c2))}.season-stats__name{align-self:center;font-size:12px;margin:0 3px}@media (max-width:899px){.season-stats__name{display:none}}.season-stats-popup{background:hsl(var(--hsl-b4));border-radius:20px;font-size:12px}.season-stats-popup__content{display:grid;gap:10px;padding:15px}.season-stats-popup__content--stats{grid-template-columns:1fr auto}.season-stats-popup__content--top{background:hsl(var(--hsl-b5));border-top-left-radius:inherit;border-top-right-radius:inherit}.season-stats-popup__division{align-items:center;display:flex;flex-direction:column;justify-content:center}.season-stats-popup__img{border-radius:3px;height:40px}.season-stats-popup__line{background:linear-gradient(var(--colour));border-radius:3px;width:3px;--colour:hsl(var(--hsl-c2))}.season-stats-popup__main{display:grid;gap:15px;grid-template-columns:auto auto 1fr}.season-stats-popup__name{color:hsl(var(--hsl-c2));font-size:14px;margin-top:5px}.season-stats-popup__rank{align-self:center;color:hsl(var(--hsl-c2));font-size:24px}.season-stats-popup__season{margin:auto}.season-stats-popup__threshold{font-size:10px;margin-top:3px}.season-stats-popup__value{color:hsl(var(--hsl-c2))}.select-options{--decoration-colour:inherit;--option-hover-bg:hsl(var(--hsl-b4));--option-padding:5px 10px;--option-select-padding:15px 10px;--selector-display:none;--selector-max-height:400px;--selector-overflow-y:auto}.select-options--beatmap-discussions-user-filter{flex:1;min-width:0}.select-options--download{--option-padding:10px 20px;--option-select-padding:5px 20px}.select-options--ranking{--option-select-padding:5px 10px}.select-options--report{--selector-max-height:auto;width:100%}.select-options--selecting{position:relative;z-index:512;--selector-display:block}.select-options__checkmark{color:var(--decoration-colour);width:1em}.select-options__decoration{align-self:center;color:var(--decoration-colour);margin-left:10px}.select-options__option{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;margin:0;outline:none;padding:0;text-decoration:none;--colour:hsl(var(--hsl-c1));color:var(--colour);display:flex;gap:5px;padding:var(--option-padding);white-space:nowrap}.select-options__option:active,.select-options__option:focus,.select-options__option:hover{text-decoration:none}.select-options__option--selected{background-color:hsl(var(--hsl-b3))}.select-options__option--selector{justify-content:space-between}.select-options__option:active,.select-options__option:focus,.select-options__option:hover{background-color:var(--option-hover-bg);color:var(--colour)}.select-options__select{background-color:hsla(var(--hsl-b6),.5);border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.25);box-shadow:0 0 0 2px rgba(0,0,0,.25);font-size:15px;overflow:hidden;--option-hover-bg:hsla(var(--hsl-b6),0.6);--option-padding:var(--option-select-padding)}.select-options--download .select-options__select{border-radius:20px;font-size:12px;min-width:180px}.select-options__selector{background-color:hsl(var(--hsl-b5));box-shadow:0 1px 3px rgba(0,0,0,.25);display:var(--selector-display);font-size:12px;left:0;margin-top:5px;max-height:var(--selector-max-height);overflow-y:var(--selector-overflow-y);position:absolute;top:100%;width:100%}.select-options--download .select-options__selector{border-radius:20px;left:auto;right:0;width:auto}.show-more-link{align-self:center;-webkit-appearance:none;-moz-appearance:none;background:none;background-color:hsl(var(--hsl-b2));border:none;border-radius:10000px;color:#fff;cursor:pointer;display:block;font-size:12px;justify-self:center;line-height:normal;margin:0;outline:none;padding:5px 20px;position:relative;text-align:center;width:-moz-max-content;width:max-content}.show-more-link,.show-more-link:active,.show-more-link:focus,.show-more-link:hover{text-decoration:none}.show-more-link:active,.show-more-link:focus,.show-more-link:hover{background-color:hsl(var(--hsl-b1));color:#fff}.show-more-link--beatmapsets{margin-bottom:10px}.show-more-link--centre-10{margin:10px auto 0}.show-more-link--changelog-index{margin:40px 0}.show-more-link--chat-conversation-earlier-messages,.show-more-link--group-history{margin:20px auto 0}.show-more-link--comment-replies{font-weight:400;justify-self:start;padding-left:10px;padding-right:10px;text-align:left}.show-more-link--comments{margin:10px auto}.show-more-link--forum-topic{margin:5px auto}.show-more-link--forum-topic:active,.show-more-link--forum-topic:focus,.show-more-link--forum-topic:hover{background-color:hsl(var(--hsl-b3))}.show-more-link--notification-group{font-size:10px}.show-more-link--notification-list{margin:8px auto 0}.show-more-link--profile-page{bottom:5px;box-shadow:0 1px 3px rgba(0,0,0,.25);margin:5px auto 0;position:sticky}.show-more-link--profile-page-beatmapsets{margin-top:0}@media (min-width:900px){.show-more-link--profile-page-beatmapsets{grid-column:span 2}}.show-more-link.js-disabled,.show-more-link[data-disabled="1"]{background-color:hsl(var(--hsl-b2))}.show-more-link__spinner{align-items:center;display:inline-flex;display:none;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.show-more-link.js-disabled .show-more-link__spinner,.show-more-link[data-disabled="1"] .show-more-link__spinner{display:flex}.show-more-link__label{align-items:center;display:flex;margin:0 -5px;opacity:1}.show-more-link.js-disabled .show-more-link__label,.show-more-link[data-disabled="1"] .show-more-link__label{opacity:0}.show-more-link__label-icon{color:hsl(var(--hsl-f1));margin:0 5px}.show-more-link:hover .show-more-link__label-icon{color:hsl(var(--hsl-l1))}.show-more-link--notification-group .show-more-link__label-icon{color:#fff}.show-more-link--comment-replies .show-more-link__label-icon--left,.show-more-link--no-icon .show-more-link__label-icon{display:none}.show-more-link__label-text{margin:0 5px;text-transform:uppercase}.show-more-link--comment-replies .show-more-link__label-text{padding-right:10px;text-transform:none}.sidebar__mobile-toggle{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;display:flex;justify-content:space-between;margin:0;outline:none;padding:0;text-align:inherit;width:100%}@media (min-width:900px){.sidebar__mobile-toggle{cursor:default;margin-bottom:5px}}@media (max-width:899px){.sidebar__mobile-toggle.js-mobile-toggle--active{margin-bottom:10px}}@media (min-width:900px){.sidebar__mobile-toggle--mobile-only{display:none}}.sidebar__mobile-toggle-icon{font-size:12px}.js-mobile-toggle--active .sidebar__mobile-toggle-icon{transform:rotateX(.5turn)}.sidebar__title{color:#fff;font-size:12px;font-style:normal;font-weight:700;margin:0;padding:0;text-transform:uppercase}.simple-form{display:flex;flex-wrap:wrap;font-size:12px;--input-bg:hsl(var(--hsl-b4))}.simple-form--modal{background-color:hsl(var(--hsl-b5));border-radius:4px;max-width:400px;padding:20px 20px 10px;--input-bg:hsl(var(--hsl-b6))}.simple-form--search-box{background-color:hsl(var(--hsl-b2));border-radius:4px;margin:10px 0;padding:10px 10px 0}.simple-form--user-create{margin:auto;max-width:500px}.simple-form__buttons{display:flex;margin:-5px}.simple-form__button{flex:none;margin:5px}.simple-form__captcha{min-height:78px}.simple-form__captcha:empty:before{content:"\a0"}.simple-form__checkbox{cursor:pointer;font-weight:400;margin:0;text-transform:none}.simple-form__checkbox--inline{flex:none;margin:5px 10px}.simple-form__checkbox--overflow{padding:5px 10px}.simple-form__checkbox-overflow-container{flex:none;width:100%}@media (min-width:900px){.simple-form__checkbox-overflow-container{width:33%}}.simple-form__checkboxes-inline{display:flex;flex-wrap:wrap;margin:-5px -10px}.simple-form__checkboxes-overflow{max-height:300px;overflow-y:auto;-webkit-overflow-scrolling:touch;margin:-5px -10px;width:100%}@media (min-width:900px){.simple-form__checkboxes-overflow{display:flex;flex-wrap:wrap}}.simple-form__error{color:hsl(var(--hsl-red-1));margin-top:5px;width:100%}.simple-form__error:empty:before{content:"\a0"}@media (min-width:900px){.simple-form__error{padding-left:150px}}.simple-form__info{color:hsl(var(--hsl-c2));font-weight:400;margin:0}.simple-form__input{background-color:var(--input-bg);border:none;border-radius:4px;color:hsl(var(--hsl-c1));display:inline-flex;flex:1 0 auto;font-size:16px;font-weight:400;outline:none;padding:5px 10px;resize:vertical;width:100%}@media (min-width:900px){.simple-form__input{font-size:inherit;width:auto}}.simple-form__input:focus{border:none;outline:none}.simple-form__input[type=date]{resize:none}.simple-form__input--equal-width{flex:1}.simple-form__input--small{max-width:75px}.simple-form__input--full-height{align-self:stretch}.simple-form__input-arrow-next{display:inline-block;padding:10px;text-align:center;width:100%}@media (min-width:900px){.simple-form__input-arrow-next{padding-bottom:0;padding-top:0;transform:rotate(-90deg);width:auto}}.simple-form__input-group{align-items:center;display:flex}.simple-form__input-group-label{font-weight:400}.simple-form__input-group-label--suffix{margin-left:5px}.simple-form__label{flex:none;font-weight:400;margin:0 0 10px;width:150px}@media (min-width:900px){.simple-form__label{margin:0;padding-right:10px}}.simple-form__label--full{width:auto}.simple-form__row{display:flex;flex:1 0 auto;flex-direction:column;margin-bottom:10px;text-transform:none;width:100%}@media (min-width:900px){.simple-form__row{align-items:baseline;flex-direction:row}}.simple-form__row--no-label{margin-top:10px}@media (min-width:900px){.simple-form__row--no-label{margin-top:0;padding-left:150px}}.simple-form__row--half{flex:50%}.simple-form__row--title{color:inherit;font-size:15px;font-style:normal;font-weight:400}.simple-form__row.js-form-error--field{flex-wrap:wrap}.simple-form__select{min-width:200px}.simple-menu{--border-radius:6px;--item-colour:inherit;--item-hover-bg:hsl(var(--hsl-b5));--item-hover-colour:var(--item-colour);--stripe-bg:hsl(var(--hsl-h1));background-color:hsl(var(--hsl-b6));border-radius:var(--border-radius);box-shadow:0 1px 3px rgba(0,0,0,.25);color:hsl(var(--hsl-c1));display:flex;flex:none;flex-direction:column;font-size:14px;min-width:150px;padding:10px 5px;position:relative;transform:translateZ(0);z-index:101}.simple-menu--forum-list{margin-top:5px;position:absolute;right:0;top:100%}.simple-menu--forum-topic-moderation{padding-left:10px;padding-right:10px;right:0}.simple-menu--forum-topic-moderation,.simple-menu--forum-topic-tag-editor,.simple-menu--forum-topic-watch{bottom:100%;margin-bottom:10px;position:absolute}.simple-menu--forum-topic-tag-editor:after,.simple-menu--forum-topic-watch:after{content:"";display:block;height:10px;left:0;position:absolute;top:100%;width:100%}@media (max-width:899px){.simple-menu--forum-topic-tag-editor{right:0}}.simple-menu--nav2{position:relative;transform:translateZ(0);transition:none;will-change:transform,opacity}.simple-menu--nav2-left-aligned{left:-30px}.simple-menu--nav2-transparent{--item-hover-bg:hsl(var(--hsl-b6));background-color:transparent;box-shadow:none}.simple-menu--profile-page-bar{margin-top:5px;position:absolute;right:0;top:100%}@media (min-width:900px){.simple-menu--profile-page-bar{left:0;right:auto}}.simple-menu--wiki-locales{margin-top:20px;position:absolute;right:0;top:100%;--item-hover-bg:hsl(var(--hsl-h1));--item-hover-colour:hsl(var(--hsl-b6));--stripe-bg:hsl(var(--hsl-b6));background-color:hsl(var(--hsl-h2));color:hsl(var(--hsl-c1));padding:10px}.simple-menu__content{display:flex;flex-direction:column;margin:0 -5px;padding:0 5px}.simple-menu--forum-topic-moderation .simple-menu__content{display:grid;grid-template-columns:repeat(auto-fit,30px);grid-template-rows:30px;max-width:calc(100vw - 49px);width:-moz-max-content;width:max-content;grid-gap:4px}.simple-menu--nav2 .simple-menu__content{max-height:calc(100vh - 110px);min-height:100px;overflow-y:auto}.simple-menu--nav2-locales .simple-menu__content{flex-direction:row;flex-wrap:wrap;width:440px}.simple-menu__extra{background-color:hsl(var(--hsl-b5));display:flex;flex-direction:column;margin:-10px -5px 10px;padding:10px 5px}.simple-menu__form{margin:-10px -5px}.simple-menu__header{align-items:center;background-position:50%;background-size:cover;border-radius:var(--border-radius) var(--border-radius) 0 0;color:#fff;display:flex;flex-direction:column;margin:-10px -5px 10px;min-height:100px;overflow:hidden;padding:20px;position:relative}.simple-menu__header:before{background-color:rgba(0,0,0,.5);content:"";height:100%;left:0;position:absolute;top:0;width:100%}.simple-menu__header--link{color:#fff;text-decoration:none}.simple-menu__header--link:active,.simple-menu__header--link:focus,.simple-menu__header--link:hover{color:#fff;text-decoration:none}.simple-menu__header-icon{padding:10px 0;position:relative;width:40px}.simple-menu__heading{color:#fff;font-size:12px;font-weight:900;padding:5px;text-transform:uppercase}.simple-menu__item{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;border-radius:4px;color:#fff;color:var(--item-colour);cursor:pointer;flex:none;margin:0;outline:none;padding:5px 25px;position:relative;text-align:left;text-decoration:none;transition:none;white-space:nowrap}.simple-menu__item:active,.simple-menu__item:focus,.simple-menu__item:hover{color:#fff;text-decoration:none}.simple-menu__item:hover{background-color:var(--item-hover-bg);color:var(--item-hover-colour)}.simple-menu__item--active:before,.simple-menu__item:hover:before{background-color:var(--stripe-bg);border-radius:10px;content:"";height:calc(100% - 14px);left:10px;position:absolute;top:7px;width:3px}.simple-menu--nav2-locales .simple-menu__item{width:50%}.simple-menu--forum-topic-tag-editor .simple-menu__item{align-items:center;display:grid;font-size:inherit;font-weight:inherit;grid-template-columns:min-content 35px min-content min-content}.simple-menu--popup-menu-compact .simple-menu__item{align-items:center;display:flex;padding:5px 10px}.simple-menu--popup-menu-compact .simple-menu__item:before{display:none}.simple-menu--popup-menu-compact .simple-menu__item--active{background:hsl(var(--hsl-b5))}.simple-menu--popup-menu-compact .simple-menu__item--active:hover{background:hsl(var(--hsl-b4))}.simple-menu__item--disabled,.simple-menu__item[disabled]{color:#999;pointer-events:none}.simple-menu__item-icon{align-items:center;display:inline-flex;justify-content:center}.simple-menu__item-icon--icon-dropdown-menu{width:22px}.simple-menu__item-loading-spinner{margin-left:5px;opacity:0;will-change:opacity}.js-forum-topic-watch-ajax--loading .simple-menu__item-loading-spinner{opacity:1}.simple-menu__label{padding-left:5px}.sort{--item-button-colour:hsl(var(--hsl-l1));--item-hover-bg:hsl(var(--hsl-b3));display:flex;font-size:12px}.sort,.sort--beatmapset-discussions{padding:0}.sort--beatmapsets{padding:10px 0}.sort--default-padding{padding-left:10px;padding-right:10px}@media (min-width:900px){.sort--default-padding{padding-left:50px;padding-right:50px}}.sort--forum-topics{margin-top:10px}.sort--page-extra{--item-hover-bg:hsl(var(--hsl-b2))}.sort--ranking-header{--item-hover-bg:hsl(var(--hsl-b4))}.sort--user-list{padding:0}.sort__item{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;border-radius:4px;margin:5px;outline:none;padding:5px 10px}.sort__item--button{color:var(--item-button-colour)}.sort__item--button,.sort__item--button:active,.sort__item--button:focus,.sort__item--button:hover{text-decoration:none}.sort__item--button:active,.sort__item--button:focus,.sort__item--button:hover{background-color:var(--item-hover-bg);color:var(--item-button-colour)}.sort__item--title{padding:0}.sort__item--active{--item-button-colour:hsl(var(--hsl-c1));background-color:var(--item-hover-bg);font-weight:600}.sort__item-arrow{margin-left:5px;opacity:0}.sort__item--active .sort__item-arrow,.sort__item:hover .sort__item-arrow{opacity:1}.sort__item-icon{margin-right:5px}.sort__items{align-items:center;display:flex;flex-wrap:wrap;margin:-5px}.sort-mobile{display:grid;gap:5px;grid-template-columns:1fr auto auto}.sort-mobile__item{font-size:12px}.sort-mobile__item--title{align-self:center;color:hsl(var(--hsl-c2))}.sort-mobile__order{align-items:center;color:#fff;display:flex;height:100%;padding:0 5px;text-decoration:none}.sort-mobile__order:active,.sort-mobile__order:focus,.sort-mobile__order:hover{color:#fff;text-decoration:none}.sortable-handle{cursor:move}.sortable-handle--profile-page-extra{font-size:18px;margin-right:var(--dragdrop-margin);position:absolute;right:0;top:0}.sortable-handle--score-pin{display:none}@media (min-width:900px){.sortable-handle--score-pin{align-items:center;display:flex;width:var(--pin-sortable-handle-width)}}.play-detail-list--menu-active .sortable-handle--score-pin{pointer-events:none}.stacked-bar-chart{display:flex;height:100%;width:100%}.stacked-bar-chart--beatmap-fail-rate{--colour-0:#fc2;--colour-1:#c60}.stacked-bar-chart__col{display:flex;flex:1;flex-direction:column;justify-content:flex-end}.stacked-bar-chart__entry{background:#4ad;flex:none;transition:all .12s}.stacked-bar-chart__entry--0{background:var(--colour-0)}.stacked-bar-chart__entry--1{background:var(--colour-1)}.sticky-header{position:absolute;width:100%}.sticky-header__body{background-color:hsl(var(--hsl-d4));padding:10px;width:100%}.sticky-header__breadcrumbs{margin-bottom:5px}.sticky-header__content{margin-top:5px}.sticky-header-breadcrumbs{color:#fff;display:inline-flex;flex-wrap:wrap;font-size:12px;margin:0;padding:0}.sticky-header-breadcrumbs__item{align-items:baseline;display:flex;margin:0}.sticky-header-breadcrumbs__item+.sticky-header-breadcrumbs__item:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;content:"\f105";display:inline-block;flex:none;font-family:Font Awesome\ 5 Free;font-style:normal;font-variant:normal;font-weight:900;line-height:1;margin:0 10px;text-rendering:auto}.sticky-header-breadcrumbs__item+.sticky-header-breadcrumbs__item:before.fa-pull-left{margin-right:.3em}.sticky-header-breadcrumbs__item+.sticky-header-breadcrumbs__item:before.fa-pull-right{margin-left:.3em}.sticky-header-breadcrumbs__link--is-active{font-weight:600}.sticky-toolbar{position:sticky;top:var(--navbar-height);z-index:99}.sticky-toolbar-before{background-color:hsl(var(--hsl-b5));height:15px;margin:0 auto}.store-cart-footer{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.store-cart-footer__info-box{flex:1;width:100%}@media (min-width:900px){.store-cart-footer__info-box{width:auto}}.store-cart-footer__total-box{flex:none;width:100%}@media (min-width:900px){.store-cart-footer__total-box{width:auto}}.store-cart-footer__total-box--full{padding:10px}@media (min-width:900px){.store-cart-footer__total-box--full{width:100%}.store-cart-footer__total-box--padded{padding-right:55px}}.store-cart-footer__text{margin:0;text-align:right}.store-cart-footer__text--amount{color:hsl(var(--hsl-h1));font-size:140%}.store-cart-footer__text--shipping{color:hsl(var(--hsl-f1));font-size:90%}.store-notice{align-items:center;background-color:hsl(var(--hsl-b4));color:hsl(var(--hsl-c1));display:flex;flex-direction:column;font-size:15px;padding:10px;text-align:center}@media (min-width:900px){.store-notice{padding-left:50px;padding-right:50px}}.store-notice--important{background-color:#fc2;background-image:url(/assets/images/button.16de7c2c.svg);background-position:50%;background-size:1000px;color:hsl(var(--hsl-b6));padding-bottom:5px;padding-top:5px}.store-notice__title{color:inherit;font-size:13px;font-style:normal;font-weight:600;margin:10px 0 5px;text-transform:uppercase}.store-notification-requested-alert{text-align:center}.store-notification-requested-alert__text{font-size:18px;margin:0}.store-notification-requested-alert__icon{color:#88b300;font-size:24px}.store-order{background-color:hsl(var(--hsl-b4));border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.25);margin-bottom:10px;padding:10px 20px;position:relative}.store-order--status-cancelled:before{background-color:#777}.store-order--status-cancelled .store-order__status{color:#777}.store-order--status-checkout:before{background-color:#c60}.store-order--status-checkout .store-order__status{color:#c60}.store-order--status-delivered:before{background-color:#680}.store-order--status-delivered .store-order__status{color:#680}.store-order--status-paid:before{background-color:#4ad}.store-order--status-paid .store-order__status{color:#4ad}.store-order--status-processing:before{background-color:#ea0}.store-order--status-processing .store-order__status{color:#ea0}.store-order--status-shipped:before{background-color:#680}.store-order--status-shipped .store-order__status{color:#680}.store-order:before{border-radius:4px 0 0 4px;content:"";height:100%;left:0;position:absolute;top:0;width:4px}.store-order__amount{font-size:14px}.store-order__header{display:flex;font-size:20px;justify-content:space-between;line-height:1.5}.store-order__header-left{align-items:flex-start;display:flex;flex-direction:column}.store-order__header-right{align-items:flex-end;display:flex;flex-direction:column}.store-order__header-subtext{font-size:12px}.store-order__items{font-size:12px;list-style:none;margin:10px 0}.store-order__item-quantity{color:#ccc;margin-left:4px}.store-order-item{align-items:baseline;background-color:hsl(var(--hsl-b4));border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.25);display:grid;font-size:14px;gap:10px;grid-template-areas:"name name" "quantity delete" "subtotal subtotal";grid-template-columns:1fr auto;padding:10px}@media (min-width:480px){.store-order-item{grid-column:1/-1;grid-template-areas:"name quantity subtotal delete";grid-template-columns:subgrid;grid-template-rows:auto}}@media (min-width:900px){.store-order-item{font-size:inherit}}.store-order-item__errors{color:#ed1221;grid-column-end:-1;grid-column-start:1;list-style:none;order:10}.store-order-item__delete{grid-area:delete;text-align:right}.store-order-item__quantity{grid-area:quantity}.store-order-item__name{grid-area:name}.store-order-item__subtext{color:hsl(var(--hsl-c2));font-size:80%}.store-order-item__subtotal{grid-area:subtotal}@media (min-width:900px){.store-order-item__subtotal{text-align:right}}.store-page{font-size:14px;padding:20px 10px}@media (min-width:900px){.store-page{padding-left:50px;padding-right:50px}}.store-page+.store-page{box-shadow:inset 0 2px 3px -1px rgba(0,0,0,.25)}.store-page--footer{background-color:hsl(var(--hsl-b4))}@media (min-width:480px){.store-page__address{display:grid;gap:33%;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}}.store-page__option{margin:0;text-transform:inherit}.store-page__alert{background-color:hsla(var(--hsl-red-2),30%);border-radius:6px;color:hsl(var(--hsl-c1));display:grid;list-style:none;margin:0;padding:10px;grid-gap:5px}.store-page__alert--with-margin-bottom{margin-bottom:20px}.store-page__invoice-header{display:flex;gap:10px;justify-content:space-between}@media (min-width:900px){.store-page__product{display:grid;gap:40px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}}.store-payment-button{align-items:center;-webkit-appearance:none;-moz-appearance:none;background:none;background-color:hsl(var(--hsl-c1));background-position:50%;background-repeat:no-repeat;background-size:100px;border:none;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.25);cursor:pointer;display:flex;height:150px;margin:0;outline:none;padding:0;text-align:center;width:100%}.store-payment-button:hover{box-shadow:0 1px 3px rgba(0,0,0,.25);box-shadow:0 0 0 3px hsl(var(--hsl-l4))}.store-payment-button--paypal{background-image:url(/assets/images/paypal.6356a6db.png)}.store-payment-button--xsolla{background-image:url(/assets/images/xsolla.088cca41.png)}.store-payment-method{display:grid;grid-gap:5px 20px;margin-bottom:20px}@media (min-width:900px){.store-payment-method{grid-template-columns:1fr 1fr}}.store-payment-method__cell{text-align:center}@media (min-width:900px){.store-payment-method__cell{text-align:start}}.store-payment-method__provider{height:20px;margin:4px 4px 4px 0}.store-payment-method__provider:last-child{margin-right:0}.store-payment-method__provider--light{background-color:hsl(var(--hsl-c1));border-radius:6px;height:30px;padding:5px 10px}.store-payment-method__provider--tall{height:30px}.store-products{display:grid;grid-gap:10px;padding:10px 10px 0}@media (min-width:900px){.store-products{grid-template-columns:1fr 1fr;padding-left:0;padding-right:0}}.store-slider{padding:0 56px}@media (min-width:900px){.store-slider{padding:0 32px}}.store-slider__bigtext{font-size:20px;font-weight:600}.store-slider__fake-callout{bottom:calc(100% + 2px);left:5px;padding-bottom:12px;position:absolute;transform:translateX(-50%)}.store-slider__callout{background-color:hsl(var(--hsl-b3));border-radius:10px;color:hsl(var(--hsl-c1));font-size:12px;padding:6px;position:relative;text-align:center;width:128px}@media (min-width:900px){.store-slider__callout{width:160px}}.store-slider__callout:after,.store-slider__callout:before{border:solid transparent;content:"";height:0;left:50%;pointer-events:none;position:absolute;top:100%;transform:scaleX(.5);width:0}.store-slider__callout:after{border-top-color:hsl(var(--hsl-b3));border-width:12px;margin-left:-12px}.store-slider__preset{background-color:hsl(var(--hsl-b3));border-radius:10px;color:#fff;cursor:pointer;height:20px;line-height:19px;margin:4px;text-align:center;width:36px}.store-slider__preset--active{background-color:hsl(var(--hsl-pink-1))}.store-slider__preset--disabled{background-color:hsl(var(--hsl-b1));cursor:default;pointer-events:none}.store-slider__presets{align-items:center;display:flex;font-size:12px;justify-content:flex-end}.store-slider__presets-blurb{margin:0 4px}.store-slider__subtext{color:hsl(var(--hsl-c2));margin-top:2px}.store-slider .ui-slider{background-color:hsl(var(--hsl-b3))}.store-slider .ui-slider .ui-slider-handle,.store-slider .ui-slider .ui-slider-range{background-color:hsl(var(--hsl-pink-1))}.store-slider .ui-slider--disabled .ui-slider-handle,.store-slider .ui-slider--disabled .ui-slider-range{background-color:hsl(var(--hsl-b1))}.store-supporter-tag__input{-webkit-appearance:none;-moz-appearance:none;background:none;background-color:hsl(var(--hsl-b3));border:none;border-radius:4px;color:hsl(var(--hsl-c1));margin:0;outline:none;padding:4px 8px;text-align:center;width:100%}.store-supporter-tag__input--message{resize:none}.store-supporter-tag__user-search{display:grid;grid-gap:5px;grid-template-columns:minmax(0,420px);justify-content:center}.store-supporter-tag .ui-slider{margin:105px 4px 24px}.store-text--block{font-size:12px;margin:.5em 0}.store-text--block:last-child{margin-bottom:0}.store-text--emphasis{font-style:normal;font-weight:600}.store-text--header{color:hsl(var(--hsl-h1));margin-top:8px}.store-text--options{display:grid;gap:10px}.store-text--price{color:hsl(var(--hsl-h1));font-size:24px;font-weight:600;margin-bottom:0}.store-text--price-note{font-weight:600}.store-text--title{color:hsl(var(--hsl-h1));font-size:24px;font-style:normal;font-weight:400;margin:0 0 20px}.store-text--title-small{font-size:20px}.store-transaction-info{display:grid;grid-template-columns:auto 1fr;margin-top:40px}@media (min-width:900px){.store-transaction-info{grid-auto-flow:column;grid-template-columns:none;grid-template-rows:auto auto}}.store-transaction-info__entry{padding:5px 10px}.store-transaction-info__entry--term{background-color:hsl(var(--hsl-b3));font-weight:600}.store-xsolla{align-items:center;background-color:hsla(var(--hsl-b6),.5);color:hsl(var(--hsl-c1));display:flex;flex:none;font-family:var(--font-default-torus);font-size:11px;margin-left:-10px;order:-1;text-align:right;width:calc(100% + 20px)}@media (min-width:900px){.store-xsolla{display:flex;margin-left:auto;order:0;width:auto}}.store-xsolla__icon{background-image:url(/assets/images/xsolla.d08493f2.png);background-size:contain;height:40px;width:40px}.store-xsolla__text{flex:1;padding:0 10px}.supporter__block{background-color:hsl(var(--hsl-b5))}.supporter__block--bg-0{background-color:hsl(var(--hsl-b4))}.supporter__block--bg-1{background-color:hsl(var(--hsl-b3))}.supporter__title{color:hsl(var(--hsl-orange-1));font-size:24px;line-height:normal;margin:0;padding:20px 20px 10px;text-align:center}.supporter-eyecatch{background-image:-webkit-image-set(url(/assets/images/banner-bg.34b7429c.jpg) 1x,url(/assets/images/banner-bg@2x.de79d56e.jpg) 2x);background-image:image-set(url(/assets/images/banner-bg.34b7429c.jpg) 1x,url(/assets/images/banner-bg@2x.de79d56e.jpg) 2x);background-position:50%;background-size:cover;height:480px;padding:30px;position:relative;width:auto}.supporter-eyecatch:before{background:linear-gradient(to bottom,hsla(var(--hsl-b5),1) 4%,hsla(var(--hsl-b5),0) 100%)}.supporter-eyecatch:after,.supporter-eyecatch:before{content:"";height:100%;left:0;position:absolute;top:0;width:100%}.supporter-eyecatch:after{background-image:-webkit-image-set(url(/assets/images/banner-fg.5c691d3a.png) 1x,url(/assets/images/banner-fg@2x.80607c7a.png) 2x);background-image:image-set(url(/assets/images/banner-fg.5c691d3a.png) 1x,url(/assets/images/banner-fg@2x.80607c7a.png) 2x);background-position:50%;background-size:cover;pointer-events:none}.supporter-eyecatch__box{background:hsl(var(--hsl-b4));border-radius:15px;height:100%;margin:10px 0;padding:50px;position:relative;text-align:center;width:350px}@media (max-width:899px){.supporter-eyecatch__box{background:hsla(var(--hsl-b4),.9);width:100%;z-index:1}}.supporter-eyecatch__link,.supporter-eyecatch__link:active,.supporter-eyecatch__link:focus,.supporter-eyecatch__link:hover{text-decoration:none}.supporter-eyecatch__text{color:hsl(var(--hsl-l1));font-size:16px;margin:10px 0 0}.supporter-eyecatch__text--main{font-size:26px;font-weight:400}@media (min-width:900px){.supporter-eyecatch__text--main{margin-top:40px}}.supporter-eyecatch__text--sub-1{color:hsl(var(--hsl-f1));margin-top:0}.supporter-eyecatch__text--sub-2{margin-top:40px}.supporter-heart{align-items:center;background-color:hsl(var(--hsl-b6));background-image:url(/assets/images/button.16de7c2c.svg);background-position:50% 50%;background-position:50% 0;background-size:200px;border:10px solid #fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.25);color:#fff;display:inline-flex;flex-shrink:0;font-size:50px;height:130px;justify-content:center;margin-top:-20px;opacity:.5;padding:8px 5px 5px;transform:translateZ(0);width:130px;will-change:box-shadow,transform;z-index:1}@keyframes support-circle-pulsate{0%{transform:scale(.9)}20%{transform:scale(1)}to{transform:scale(.9)}}@keyframes support-circle-glow{0%{box-shadow:0 1px 3px rgba(0,0,0,.25),inset 0 0 0 #fff}20%{box-shadow:0 1px 3px hsla(0,0%,70%,.25),inset 0 0 5px #fff}80%{box-shadow:0 1px 3px rgba(0,0,0,.25),inset 0 0 0 #fff}}@keyframes support-heart-pulsate{0%{transform:scale(1)}20%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes support-heart-glow{0%{text-shadow:0 0 0 #fff}20%{text-shadow:0 0 10px #fff}80%{text-shadow:0 0 0 #fff}}.supporter-heart--larger{border-radius:50%;height:150px;width:150px}.supporter-heart--larger:after{font-size:60px}@media (max-width:899px){.supporter-heart{margin-top:30px}}.supporter-heart:after{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;content:"\f004";display:inline-block;flex:none;font-family:Font Awesome\ 5 Free;font-style:normal;font-variant:normal;font-weight:900;line-height:1;text-rendering:auto;transform:translateZ(0);will-change:text-shadow,transform}.supporter-heart:after.fa-pull-left{margin-right:.3em}.supporter-heart:after.fa-pull-right{margin-left:.3em}.supporter-heart--active{animation:support-circle-pulsate .9375s ease-in-out infinite,support-circle-glow .9375s ease-in-out infinite;animation-fill-mode:none;background-color:hsl(var(--hsl-pink-1));opacity:1}.supporter-heart--active:after{animation:support-heart-pulsate .9375s ease-in-out infinite,support-heart-glow .9375s ease-in-out infinite}.supporter-icon{align-items:center;background-color:hsl(var(--hsl-pink-1));border-radius:10000px;color:#fff;display:inline-flex;font-size:12px;height:20px;justify-content:center;line-height:normal;padding:0 10px}.supporter-icon--dynamic{font-size:.6em;height:1.67em}.supporter-icon--quick-search{font-size:8px;height:100%}.supporter-icon--user-card{border-radius:50%;font-size:13px;height:26px;padding:1px 0 0;width:26px}.supporter-icon--user-list{font-size:12px;height:20px}.supporter-perk-list{padding:20px}@media (max-width:899px){.supporter-perk-list{padding:15px}}.supporter-perk-list__list{display:flex;flex-wrap:wrap;justify-content:center}.supporter-perk-list-group{color:#fff;flex:none;font-size:14px;margin-bottom:20px;overflow:hidden;width:calc(33% - 10px)}@media (max-width:899px){.supporter-perk-list-group{align-items:center;display:flex;width:calc(100% - 10px)}}.supporter-perk-list-group--image{align-items:center;display:flex;flex-direction:row-reverse;margin-bottom:5px;text-align:right;width:100%}@media (max-width:899px){.supporter-perk-list-group--image{align-items:flex-start;flex-direction:column-reverse;margin-bottom:10px;text-align:left}}.supporter-perk-list-group__content{margin:0}.supporter-perk-list-group__image{border-radius:10px;flex-shrink:0;height:100px;-o-object-fit:cover;object-fit:cover;width:500px}@media (max-width:899px){.supporter-perk-list-group__image{align-self:center;flex-shrink:1;margin-top:10px;max-width:calc(100% - 40px)}}.supporter-perk-list-group__icon{color:#fff;font-size:26px;padding:0 20px}@media (min-width:900px){.supporter-perk-list-group--image .supporter-perk-list-group__icon{margin-right:-45px}}.supporter-perk-list-group__icon-bg{color:hsl(var(--hsl-lime-3))}.supporter-perk-list-group--why-support .supporter-perk-list-group__icon-bg{color:hsl(var(--hsl-blue-3))}.supporter-perk-list-group__link{display:block;margin-top:10px}.supporter-perk-list-group--image .supporter-perk-list-group__meta{align-items:center;display:flex;flex-direction:row-reverse}@media (max-width:899px){.supporter-perk-list-group--image .supporter-perk-list-group__meta{flex-direction:row}}.supporter-perk-list-group__text{color:hsl(var(--hsl-f1));padding:10px}.supporter-perk-list-group__title{color:#fff;font-size:120%;margin:0 0 10px}.supporter-perk-list-hero{display:flex;height:500px;justify-content:flex-end;padding:20px;position:relative}@media (max-width:899px){.supporter-perk-list-hero{height:300px;justify-content:center}}.supporter-perk-list-hero__content{margin:0}.supporter-perk-list-hero__icon{color:#fff;font-size:26px;margin-bottom:-50px;margin-left:250px;margin-top:-50px;padding:20px}.supporter-perk-list-hero__icon-bg{color:hsl(var(--hsl-blue-3))}.supporter-perk-list-hero__image{height:100%;left:0;-o-object-fit:cover;object-fit:cover;position:absolute;top:0;width:100%}.supporter-perk-list-hero__meta{align-self:center;background-color:hsla(var(--hsl-b4),.95);border-radius:10px;padding:10px;position:relative;width:350px}@media (min-width:900px){.supporter-perk-list-hero__meta{margin-top:-50px}}.supporter-perk-list-hero__text{color:hsl(var(--hsl-f1));padding:10px}.supporter-perk-list-hero__title{color:#fff;font-size:120%;margin:0 0 10px}.supporter-perk-list-image{display:flex;padding:20px}@media (max-width:899px){.supporter-perk-list-image{flex-direction:column-reverse;padding-top:0}}.supporter-perk-list-image--flipped{flex-direction:row-reverse}@media (max-width:899px){.supporter-perk-list-image--flipped{flex-direction:column-reverse}}.supporter-perk-list-image__content{margin:0}.supporter-perk-list-image__image{border-radius:10px;display:inline-block;height:320px;overflow:hidden;width:1050px}@media (max-width:899px){.supporter-perk-list-image__image{width:100%}}.supporter-perk-list-image__icon{color:#fff;font-size:26px;margin-left:-45px;margin-top:10px;padding:0 20px}@media (max-width:899px){.supporter-perk-list-image__icon{margin-left:0;margin-top:0}}.supporter-perk-list-image--flipped .supporter-perk-list-image__icon{margin-left:0;margin-right:-45px}@media (max-width:899px){.supporter-perk-list-image--flipped .supporter-perk-list-image__icon{margin-right:0}}.supporter-perk-list-image__icon-bg{color:hsl(var(--hsl-lime-3))}.supporter-perk-list-image__meta{display:flex;margin:10px 0}@media (max-width:899px){.supporter-perk-list-image__meta{align-items:center}}.supporter-perk-list-image--flipped .supporter-perk-list-image__meta{display:flex;flex-direction:row-reverse}@media (max-width:899px){.supporter-perk-list-image--flipped .supporter-perk-list-image__meta{flex-direction:row}}.supporter-perk-list-image__text{color:hsl(var(--hsl-f1));margin-left:-20px;margin-top:30px;padding:10px}@media (max-width:899px){.supporter-perk-list-image__text{margin-left:0;margin-top:0}}.supporter-perk-list-image--flipped .supporter-perk-list-image__text{margin-left:0;margin-top:30px}@media (max-width:899px){.supporter-perk-list-image--flipped .supporter-perk-list-image__text{margin-top:0}}.supporter-perk-list-image__title{color:#fff;font-size:120%;margin:0 0 10px}.supporter-promo{align-items:center;background-color:rgba(0,0,0,.3);border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.25);display:flex;flex-direction:column;margin:20px 0;padding:20px 60px}@media (min-width:900px){.supporter-promo{align-items:stretch;flex-direction:row;height:200px;margin:20px 0;padding:0 75px}}.supporter-promo__text-box{display:flex;flex-direction:column;justify-content:space-between}@media (min-width:900px){.supporter-promo__text-box{height:100%;justify-content:center;padding-right:50px}}@media (max-width:899px){.supporter-promo__text-box{text-align:center}}.supporter-promo__heading{color:#fff;font-size:20px;font-weight:300;margin:0 0 20px}.supporter-promo__heart{background-image:-webkit-image-set(url(/assets/images/heart.cf74109b.png) 1x,url(/assets/images/heart@2x.acd35ac1.png) 2x);background-image:image-set(url(/assets/images/heart.cf74109b.png) 1x,url(/assets/images/heart@2x.acd35ac1.png) 2x);background-size:75px 75px;border-radius:50%;box-shadow:0 0 10px 3px #f6a;height:75px;margin-top:98px;width:75px}@media (min-width:900px){.supporter-promo__heart{margin-top:70px}}.supporter-promo__pippi{align-items:center;background-image:-webkit-image-set(url(/assets/images/pippi.452b13ba.png) 1x,url(/assets/images/pippi@2x.404e8d76.png) 2x);background-image:image-set(url(/assets/images/pippi.452b13ba.png) 1x,url(/assets/images/pippi@2x.404e8d76.png) 2x);background-size:164px 234px;display:flex;flex-direction:column;height:234px;width:164px}@media (min-width:900px){.supporter-promo__pippi{background-position-y:-28px;background-size:164px;flex:none;height:auto;order:1}}.supporter-promo__text{color:#fde;font-size:14px;margin:0}.supporter-promo__text+.supporter-promo__text{margin-top:10px}.supporter-promo__text--small{font-size:12px}.supporter-promo__link{color:#cc5288;font-weight:700;text-decoration:none}.supporter-promo__link:active,.supporter-promo__link:focus,.supporter-promo__link:hover{text-decoration:none}.supporter-promo__link:active,.supporter-promo__link:hover{color:#fff}.supporter-quote{background-color:hsl(var(--hsl-b4));box-shadow:0 1px 3px rgba(0,0,0,.25),inset 0 2px 3px -1px rgba(0,0,0,.25);color:#fff;font-size:14px;padding:30px}.supporter-quote__body{display:flex}@media (max-width:899px){.supporter-quote__body{flex-direction:column}}.supporter-quote__content{border:none;margin:0;padding:0;position:relative}.supporter-quote__quote-mark{color:hsl(var(--hsl-b3));font-size:50px}.supporter-quote__quote-mark--left{align-self:flex-start;padding-right:20px}@media (max-width:899px){.supporter-quote__quote-mark--left{margin-top:-20px}}.supporter-quote__quote-mark--right{align-self:flex-end;padding-left:20px}@media (max-width:899px){.supporter-quote__quote-mark--right{margin-top:-40px}}.supporter-quote__signature{margin-top:10px;text-align:right}.supporter-status{align-items:flex-end;color:#fff;display:flex;flex-direction:row;justify-content:space-between}@keyframes support-fill-pour{0%{width:0}}@media (max-width:899px){.supporter-status{align-items:center;background:hsl(var(--hsl-b5));flex-direction:column-reverse}}.supporter-status__flex-container{align-items:flex-end;display:flex;flex-direction:column;flex-grow:1;margin-bottom:30px;margin-left:30px}@media (max-width:899px){.supporter-status__flex-container{align-items:center;flex-direction:column;margin-right:30px}}.supporter-status__flex-container-inner{display:flex;flex-direction:column;margin-top:30px;width:100%}.supporter-status__pippi{background-image:-webkit-image-set(url(/assets/images/header-pippi.6222e29a.png) 1x,url(/assets/images/header-pippi@2x.923b2827.png) 2x);background-image:image-set(url(/assets/images/header-pippi.6222e29a.png) 1x,url(/assets/images/header-pippi@2x.923b2827.png) 2x);background-position:bottom;background-repeat:no-repeat;background-size:contain;flex:none;height:348px;max-width:100%;width:375px}.supporter-status__progress-bar{background:hsla(var(--hsl-b6),.8);border-radius:25px;height:25px;margin-bottom:10px;opacity:.5;overflow:hidden;transform:translateZ(0);width:100%}.supporter-status__progress-bar--active{opacity:1}.supporter-status__progress-bar-fill{background-color:hsl(var(--hsl-pink-1));background-size:40px 40px;border-radius:25px;height:100%;opacity:0}.supporter-status__progress-bar-fill--active{animation:support-fill-pour .9375s ease-in-out;opacity:1}.supporter-status__text{font-size:14px}.supporter-status__text--first{margin-bottom:10px}.svg-icon{background-color:currentColor;display:inline-block;height:1em;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1em}.svg-icon--arrow-cycle{-webkit-mask-image:url(/assets/images/arrow-cycle.fc01f0de.svg);mask-image:url(/assets/images/arrow-cycle.fc01f0de.svg)}.svg-icon--download{-webkit-mask-image:url(/assets/images/download.19e35ea4.svg);mask-image:url(/assets/images/download.19e35ea4.svg)}.svg-icon--plus{-webkit-mask-image:url(/assets/images/plus.d3071330.svg);mask-image:url(/assets/images/plus.d3071330.svg)}.svg-icon--trash{-webkit-mask-image:url(/assets/images/trash.32c8b8dd.svg);mask-image:url(/assets/images/trash.32c8b8dd.svg)}.team-action-button{align-items:center;-webkit-appearance:none;-moz-appearance:none;background:none;background:var(--bg);border:none;border-radius:10000px;color:#fff;display:inline-flex;display:flex;font-size:14px;font-weight:700;height:var(--item-height);justify-content:center;margin:0;outline:none;padding:10px 30px;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.75);width:auto;--bg:hsl(var(--hsl-b5));--bg-hover:hsl(var(--hsl-b6))}.team-action-button,.team-action-button:active,.team-action-button:focus,.team-action-button:hover{text-decoration:none}.team-action-button:active,.team-action-button:focus,.team-action-button:hover{color:#fff}.team-action-button:hover{background:var(--bg-hover)}.team-action-button--join{--bg:hsl(var(--hsl-blue-3));--bg-hover:hsl(var(--hsl-blue-2))}.team-action-button--join-cancel,.team-action-button--part{--bg:hsl(var(--hsl-red-3));--bg-hover:hsl(var(--hsl-red-2))}.team-action-button[disabled]{opacity:.7;pointer-events:none}.team-card{align-items:center;background-position:50%;background-size:cover;border-radius:10px;display:grid;gap:10px;grid-template-columns:auto 1fr auto;overflow:hidden;padding:4px;position:relative}.team-card:before{background:hsla(var(--hsl-b6),.75);content:"";height:100%;left:0;position:absolute;top:0;width:100%}.team-card--search{outline:2px solid transparent}.team-card--search:hover{outline-color:var(--search-accent)}.team-card__col{pointer-events:none;position:relative}.team-card__col--content{color:hsl(var(--hsl-c2));display:grid;font-size:12px}.team-card__col--flag{display:flex;font-size:64px}.team-card__col--sidebar{align-items:center;display:flex;gap:2px;position:relative}.team-card__default-ruleset{font-size:24px}.team-card__leader-box{align-items:center;color:inherit;display:grid;gap:5px;grid-template-columns:auto 1fr;width:-moz-max-content;width:max-content}.team-card__leader-box:active,.team-card__leader-box:focus,.team-card__leader-box:hover{color:inherit}.team-card__leader-icon{font-size:20px;line-height:0}.team-card__link-bg{height:100%;left:0;position:absolute;top:0;width:100%}.team-card__name{align-items:baseline;color:hsl(var(--hsl-c1));display:grid;font-size:16px;gap:5px;grid-template-columns:auto 1fr;margin:0;padding:0}.team-card__name-short{color:inherit;font-size:12px}.team-info{align-items:start;display:grid;gap:20px}@media (min-width:900px){.team-info{grid-template-columns:1fr auto 2fr}}.team-info__entries{display:grid;gap:10px 20px;grid-template-columns:1fr 1fr}.team-info__separator{--size:2px;background-color:hsl(var(--hsl-b6));height:var(--size)}@media (min-width:900px){.team-info__separator{height:100%;width:var(--size)}}.team-info-entries{display:grid;gap:10px}.team-info-entry{display:grid}.team-info-entry__value{color:hsl(var(--hsl-c2));min-width:0}.team-info-entry__value--large{font-size:2em}.team-members{display:grid;gap:10px}.team-members__type{background-color:hsl(var(--hsl-b2));border-radius:10px;display:grid;gap:5px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding:5px}.team-members__type--owner{background-color:hsl(var(--hsl-orange-1));color:hsl(var(--hsl-orange-4));grid-template-columns:1fr}.team-members__meta{display:grid;font-weight:600;grid-column:1/-1;grid-template-columns:1fr auto;padding:0 10px}.team-members-manage{display:grid;font-size:14px;gap:2px 10px;grid-template-columns:1fr auto auto auto auto;list-style-type:none;margin:0;padding:0}.team-members-manage--applications{grid-template-columns:1fr auto auto auto}.team-members-manage__avatar{border-radius:4px;height:20px;overflow:hidden;width:20px}.team-members-manage__item{--bg:hsl(var(--hsl-b3));--bg-hover:hsl(var(--hsl-b2));align-items:center;background:var(--bg);border-radius:4px;display:grid;grid-column:1/-1;grid-template-columns:subgrid;padding:3px 10px}.team-members-manage__item:hover{background:var(--bg-hover)}.team-members-manage__item--header{--bg:none;--bg-hover:var(--bg);font-weight:600}.team-members-manage__username{align-items:center;display:flex;gap:10px;width:-moz-max-content;width:max-content}.team-settings{display:grid;gap:15px 5px}@media (min-width:900px){.team-settings{gap:5px}}.team-settings__buttons{display:flex;gap:10px}.team-settings__description-preview{--padding:10px;background-color:hsl(var(--hsl-b3));border-radius:6px;padding:var(--padding) 0}.team-settings__errors{color:hsl(var(--hsl-red-1));margin-top:1em;padding:0 0 0 2em}.team-settings__help{color:hsl(var(--hsl-c2));font-size:12px}.team-settings__image{border-radius:6px;max-width:100%;min-width:0;-o-object-fit:contain;object-fit:contain}.team-settings__item{--align-items-desktop:start;--grid-rows:none;--grid-rows-desktop:none;--grid-columns:1fr;--grid-columns-desktop:2fr 1fr;display:grid;gap:5px 15px;grid-template-columns:var(--grid-columns);grid-template-rows:var(--grid-rows)}.team-settings__item--buttons{--grid-columns-desktop:1fr auto}.team-settings__item--description{--align-items-desktop:stretch;--grid-columns-desktop:1fr 1fr;--grid-rows:calc(var(--vh, 1vh)*70) auto}@media (min-width:900px){.team-settings__item{--grid-columns:var(--grid-columns-desktop);--grid-rows:var(--grid-rows-desktop);align-items:var(--align-items-desktop)}}.team-settings-description-preview{padding:0 var(--padding)}@media (min-width:900px){.team-settings-description-preview{height:calc(var(--vh)*70);overflow-y:scroll}}.textual-button{align-items:center;-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:#ccc;display:inline-flex;font-size:12px;justify-content:center;margin:0;outline:none;padding:0}.textual-button,.textual-button:active,.textual-button:focus,.textual-button:hover{text-decoration:none}.textual-button:active,.textual-button:focus,.textual-button:hover{color:#eee}.textual-button--block{margin-right:10px}.textual-button--inline{color:inherit;display:inline;font-size:inherit}.textual-button__icon{display:inline-block;font-size:.85em}.title{border-bottom:2px solid hsl(var(--hsl-h1));color:hsl(var(--hsl-c1));font-size:16px;font-style:normal;margin:0 0 10px;max-width:100%;padding-bottom:5px;width:-moz-max-content;width:max-content}.title--artist-track-search-advanced{border:none;margin:15px 0;padding:0}.title--forum{border-bottom-color:var(--forum-bg);margin-bottom:0}.title--page-extra{display:inline-block;font-weight:700;margin-bottom:20px}.title--page-extra-small{border-bottom:none;font-size:14px;font-weight:700;margin:0;padding:10px 0}.title--page-extra-small:before{background-color:hsl(var(--hsl-h1));border-radius:10000px;content:"";height:.65em;margin-left:-6px;margin-top:.3em;position:absolute;width:3px}@media (min-width:900px){.title--page-extra-small:before{margin-left:-10px}}.title--profile-edit-popup{margin:0}.title--page-extra-small-top{padding-top:0}.title__count{background-color:hsl(var(--hsl-b6));border-radius:10000px;color:hsl(var(--hsl-f1));margin-left:10px;padding:5px 10px}.title--page-extra-small .title__count{font-size:.8em;padding-bottom:1px;padding-top:0}.tooltip-achievement{--padding-x:16px;font-size:12px;line-height:1;text-align:center;width:100%}.tooltip-achievement__achieved{display:grid;gap:8px;padding:16px var(--padding-x)}.tooltip-achievement__badge{align-items:center;display:inline-flex;font-size:72px;justify-content:center}.tooltip-achievement__date{color:hsl(var(--hsl-c2));opacity:.5}.tooltip-achievement__description{color:hsl(var(--hsl-c2));font-size:14px}.tooltip-achievement__detail{display:grid;gap:16px;grid-area:content;min-height:90px;overflow-wrap:anywhere;transition:opacity .5s}.tooltip-achievement__detail--hover{opacity:var(--opacity-detail-hover);pointer-events:var(--pointer-events-detail-hover)}.tooltip-achievement__detail--normal{opacity:var(--opacity-detail-normal);pointer-events:var(--pointer-events-detail-normal)}.tooltip-achievement__detail-container{display:grid;grid-template-areas:"content";line-height:normal}.tooltip-achievement__grouping{color:hsl(var(--hsl-c2));padding:8px var(--padding-x)}.tooltip-achievement__instructions{color:hsl(var(--hsl-l1));font-size:14px;font-weight:300}.tooltip-achievement__instructions a,.tooltip-achievement__instructions a:active,.tooltip-achievement__instructions a:focus,.tooltip-achievement__instructions a:hover{color:#fff}.tooltip-achievement__instructions i{font-style:normal}.tooltip-achievement__middle{background:hsl(var(--hsl-b5));border-radius:var(--border-radius);display:grid;gap:16px;padding:16px var(--padding-x)}.tooltip-achievement__middle--hoverable{--opacity-detail-hover:0;--opacity-detail-normal:1;--pointer-events-detail-hover:none;--pointer-events-detail-normal:auto}.tooltip-achievement__middle--hoverable:hover{--opacity-detail-hover:1;--opacity-detail-normal:0;--pointer-events-detail-hover:auto;--pointer-events-detail-normal:none}.tooltip-achievement__name{font-size:24px;font-weight:400}.tooltip-achievement__rarity{background:linear-gradient(var(--bg));border-radius:10000px;color:hsl(var(--hsl-b6));font-weight:700;letter-spacing:.2em;margin:0 auto;padding:4px calc(16px - .2em) 4px 16px;text-transform:uppercase;width:-moz-max-content;width:max-content}.tooltip-beatmap{color:hsl(var(--hsl-c1));font-size:14px;font-weight:700;height:100%}.tooltip-beatmap__content{align-items:center;display:flex;flex-direction:column;gap:6px;padding:6px 10px}.tooltip-default{background-color:hsl(var(--hsl-b6));border:0 solid transparent;border-radius:4px;color:#fff;font-size:12px;line-height:1.1;padding:2px 10px;pointer-events:none;text-align:center}.tooltip-default--extra-padding{padding:7px 10px}.tooltip-default--fixed{position:fixed}.tooltip-default--interactable{pointer-events:auto}.tooltip-default .qtip-content{text-align:inherit}.tooltip-default__time{color:hsl(var(--hsl-l1))}.tournament{background-color:hsl(var(--hsl-b5))}.tournament__banner{background-image:-webkit-image-set(var(--tournament-header-banner) 1x,var(--tournament-header-banner-2x) 2x);background-image:image-set(var(--tournament-header-banner) 1x,var(--tournament-header-banner-2x) 2x)}.tournament__body{align-items:center;color:#fff;display:inline-flex;display:flex;flex-direction:column;justify-content:center;padding:20px 10px}@media (min-width:900px){.tournament__body{padding-left:50px;padding-right:50px}}.tournament__countdown-timer{background:hsl(var(--hsl-b4));margin-top:-10px;padding-bottom:20px}.tournament__description{font-family:var(--font-content-override,var(--font-content));font-size:14px;line-height:1.35}.tournament__description h2,.tournament__description h3,.tournament__description h4,.tournament__description h5,.tournament__description h6,.tournament__description>h1{color:#fff}.tournament__description a{color:hsl(var(--hsl-l1))}.tournament__description-md-extra{margin-top:1.5em}.tournament__banner{background-position:50%;background-size:cover;height:450px}.tournament__links{margin-bottom:20px;text-align:center}.tournament__page{background-color:hsl(var(--hsl-b4));box-shadow:0 1px 3px rgba(0,0,0,.25);padding:20px 10px}@media (min-width:900px){.tournament__page{padding-left:50px;padding-right:50px}}.tournament-list{background-color:hsl(var(--hsl-b5));font-weight:300;padding:20px 10px}@media (min-width:900px){.tournament-list{padding-left:50px;padding-right:50px}}.tournament-list__heading{color:#fff;margin:0;padding:10px 0}.tournament-list__group{display:grid;grid-gap:10px;margin-bottom:10px}.tournament-list__group--old{grid-template-columns:1fr 1fr}.tournament-list__none-running{color:hsl(var(--hsl-l1));margin-left:10px}.tournament-list-item{background-color:hsl(var(--hsl-b4));box-shadow:0 1px 3px rgba(0,0,0,.25);color:#fff;display:flex;flex-direction:column;text-decoration:none;transition:50ms ease-in-out}.tournament-list-item:active,.tournament-list-item:focus,.tournament-list-item:hover{color:#fff;text-decoration:none}.tournament-list-item:hover{background-color:hsl(var(--hsl-b3))}@media (min-width:900px){.tournament-list-item:hover .tournament-list-item__image{transform:scale(1.02)}}.tournament-list-item__metadata{display:flex;justify-content:space-between}@media (max-width:899px){.tournament-list-item__metadata{align-items:center}}.tournament-list-item__metadata-left{padding:10px 15px 15px}.tournament-list-item__metadata-right{padding:10px}.tournament-list-item__tournament-date{font-size:18px;font-weight:700;padding-bottom:5px}@media (max-width:899px){.tournament-list-item__tournament-date{font-size:12px}}.tournament-list-item__registration-date{color:hsl(var(--hsl-f1));font-size:12px}@media (max-width:899px){.tournament-list-item__registration-date{font-size:9px}}.tournament-list-item__registrations{font-size:15px}@media (max-width:899px){.tournament-list-item__registrations{align-items:center;display:flex;flex-direction:column-reverse;font-size:12px}}.tournament-list-item__image-wrapper{overflow:hidden}.tournament-list-item__image{height:510px;-o-object-fit:cover;object-fit:cover;transition:50ms ease-in-out;width:100%;will-change:transform,filter,opacity}.tournament-list-item--old .tournament-list-item__image{filter:grayscale();height:210px;opacity:.75}.tournament-list-item--old:hover .tournament-list-item__image{filter:none;opacity:1}.track-cover-preview{align-items:center;-webkit-appearance:none;-moz-appearance:none;background:none;background-position:50%;background-size:cover;border:none;color:hsl(var(--hsl-b1));display:inline-flex;height:32px;justify-content:center;margin:0;outline:none;padding:0;position:relative;text-decoration:none;width:32px}.track-cover-preview:active,.track-cover-preview:focus,.track-cover-preview:hover{color:hsl(var(--hsl-c1));text-decoration:none}.track-cover-preview:before{background-color:rgba(0,0,0,.75);content:"";height:100%;left:0;position:absolute;top:0;width:100%}.turbo-progress-bar{background-color:#fc2}.update-streams-v2{background-color:hsl(var(--hsl-b5));padding:20px 5px}@media (min-width:900px){.update-streams-v2{padding-left:45px;padding-right:45px}}.update-streams-v2__container{display:flex;flex-wrap:wrap;max-width:100%;width:-moz-max-content;width:max-content}.update-streams-v2__item{color:#fff;display:block;padding:5px;text-decoration:none;width:100px;will-change:opacity}.update-streams-v2__item:active,.update-streams-v2__item:focus,.update-streams-v2__item:hover{color:#fff;text-decoration:none}.update-streams-v2__item--featured{width:200px}.update-streams-v2__bar{border-radius:400px;display:block;height:4px;margin-bottom:5px;width:100%;will-change:transform}.update-streams-v2--with-active .update-streams-v2__bar,.update-streams-v2__container:hover .update-streams-v2__bar{opacity:.5;transform:scaleY(.5)}.update-streams-v2__container:hover .update-streams-v2__item--active .update-streams-v2__bar,.update-streams-v2__item--active .update-streams-v2__bar,.update-streams-v2__item:hover .update-streams-v2__bar{opacity:1;transform:scaleY(1)}.update-streams-v2__row{margin:0}.update-streams-v2__row--name{font-size:12px;font-weight:700}.update-streams-v2__row--users{color:hsl(var(--hsl-f1));font-size:10px}.update-streams-v2__row--version{font-size:16px;font-weight:300}.update-streams-v2--with-active .update-streams-v2__row,.update-streams-v2__container:hover .update-streams-v2__row{opacity:.5}.update-streams-v2__item--active .update-streams-v2__row,.update-streams-v2__item:hover .update-streams-v2__row{opacity:1}.user-action-button{align-items:center;-webkit-appearance:none;-moz-appearance:none;background:none;background:hsl(var(--hsl-b6));border:none;border-radius:10px;color:#fff;display:inline-flex;display:flex;font-size:14px;height:20px;justify-content:center;margin:0;outline:none;padding:0;text-align:center;width:50px}.user-action-button,.user-action-button:active,.user-action-button:focus,.user-action-button:hover{text-decoration:none}.user-action-button:active,.user-action-button:focus,.user-action-button:hover{color:#fff}.user-action-button:hover{background:hsl(var(--hsl-b5))}.user-action-button--message:hover{background:rgba(34,153,187,.7)}.user-action-button--mutual{background:rgba(255,102,170,.7)}.user-action-button--mutual:hover{background:rgba(255,128,184,.7)}.user-action-button--friend{background:rgba(136,179,0,.7)}.user-action-button--friend:hover{background:rgba(155,204,0,.7)}.user-action-button--dynamic{font-size:.6em;height:1.67em;width:2.505em}.user-action-button--profile-page{border-radius:10000px;font-weight:700;height:var(--item-height);min-width:80px;padding:10px;text-shadow:0 1px 3px rgba(0,0,0,.75);width:auto}.user-action-button--quick-search{border-radius:10000px;font-size:8px;height:100%;width:30px}.user-action-button--right-margin{margin-right:10px}.user-action-button--user-card{border-radius:50%;font-size:13px;height:26px;width:26px}.user-action-button--user-list{font-size:12px;height:20px;width:30px}.user-action-button[disabled]{pointer-events:none}.user-action-button__counter{padding-right:10px}.user-action-button__icon{align-items:center;display:inline-flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%;will-change:opacity}.user-card .user-action-button__icon{will-change:unset}.user-action-button__icon--hover-hidden{opacity:1}.user-action-button:hover .user-action-button__icon--hover-hidden,.user-action-button__icon--hover-visible{opacity:0}.user-action-button:hover .user-action-button__icon--hover-visible{opacity:1}.user-action-button__icon-container{align-items:center;display:inline-flex;justify-content:center;position:relative;width:50px}.user-action-button--quick-search .user-action-button__icon-container{width:100%}.user-card{--avatar-size:60px;--card-item-spacing:10px;--icon-gutter:6px;--status-icon-margin:10px;background-color:hsl(var(--hsl-b4));border-radius:10px;display:inline-block;font-family:var(--font-default);height:120px;overflow:hidden;position:relative;width:100%}.user-card--list{--avatar-size:40px;border-radius:6px;height:var(--avatar-size)}@media (max-width:479px){.user-card--list{--card-item-spacing:6px;--icon-gutter:4px;--status-icon-margin:0}}.qtip--user-card .user-card{width:290px}.user-card--active.user-card--has-outline:after,.user-card:hover.user-card--has-outline:after{border:2px solid hsl(var(--hsl-l1));border-radius:10px;content:"";height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.search-result--user .user-card--active.user-card--has-outline:after,.search-result--user .user-card:hover.user-card--has-outline:after{border-color:#4ad}.user-card--list.user-card--active.user-card--has-outline:after,.user-card--list.user-card:hover.user-card--has-outline:after{border-radius:6px}.user-cards--menu-active .user-card--highlightable{pointer-events:none}.user-card__avatar{background-color:hsl(var(--hsl-b4));border-radius:6px;height:100%;left:0;-o-object-fit:contain;object-fit:contain;opacity:0;position:absolute;top:0;transition:opacity .22s ease-in-out;width:100%}.user-card__avatar--loaded{opacity:1}.user-card--list .user-card__avatar{border-radius:6px 0 0 6px}.user-card__avatar-space{flex:none;height:var(--avatar-size);position:relative;width:var(--avatar-size)}.user-card__avatar-spinner{align-items:center;background:hsla(0,0%,100%,.1);border-radius:6px;color:#fff;display:inline-flex;font-size:14px;height:100%;justify-content:center;left:0;opacity:.25;position:absolute;top:0;transition:opacity .22s ease-in-out;width:100%}.user-card__avatar-spinner--loaded{opacity:0}.user-card__background{border-radius:10px;height:100%;left:0;-o-object-fit:cover;object-fit:cover;position:absolute;top:0;transition:opacity .22s ease-in-out;width:100%}.user-card__background--loading{opacity:0}.user-card--list .user-card__background{border-radius:6px;left:unset;position:absolute;right:0;width:50%}.user-card__background-container{height:100%;left:0;position:absolute;top:0;width:100%}.user-card--active .user-card__background-container{pointer-events:none}.user-card__background-overlay{background:hsla(var(--hsl-b5),.7);border-radius:10px;height:100%;left:0;position:absolute;top:0;width:100%}.user-card__background-overlay--online{background:hsla(var(--hsl-b5),.6)}.user-card--list .user-card__background-overlay{background:linear-gradient(to right,hsl(var(--hsl-b5)) 50%,hsla(var(--hsl-b5),.7));border-radius:6px}.user-card--list .user-card__background-overlay--online{background:linear-gradient(to right,hsl(var(--hsl-b5)) 50%,hsla(var(--hsl-b5),.6))}.user-card__card{color:#fff;display:flex;flex-direction:column;height:100%;justify-content:space-between;pointer-events:none;position:relative;text-decoration:none}.user-card__card:active,.user-card__card:focus,.user-card__card:hover{color:#fff;text-decoration:none}.user-card--list .user-card__card{flex-direction:row}.user-card__content{padding:var(--card-item-spacing)}.user-card__content--details{display:grid;grid-template-columns:minmax(min-content,auto) 1fr}.user-card__content--status{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding-top:0}.user-card--list .user-card__content{padding:0}.user-card__details{display:grid;grid-template-rows:26px 1fr;margin-left:var(--card-item-spacing)}.user-card--list .user-card__details{grid-gap:var(--card-item-spacing);grid-template-columns:auto repeat(2,min-content);grid-template-rows:unset}.user-card__group-badge{margin-left:2px}.user-card__group-badges{margin-left:3px}.user-card__group-badges,.user-card__icon{display:flex;pointer-events:auto}a.user-card__icon,a.user-card__icon:active,a.user-card__icon:focus,a.user-card__icon:hover{text-decoration:none}.user-card__icon+.user-card__icon{margin-left:var(--icon-gutter)}.user-cards--menu-active .user-card__icon{pointer-events:none}.user-card__icon:empty{display:none}.user-card__icon--flag{font-size:26px}.user-card__icon--menu{background-color:hsl(var(--hsl-b6));border-radius:50%;font-size:10px;height:25px;opacity:0;position:relative;transition:background-color .12s ease-in-out;width:25px}.user-card:hover .user-card__icon--menu{opacity:1}.user-card:hover .user-card__icon--menu:hover{background-color:hsl(var(--hsl-l1))}.user-card--active .user-card__icon--menu.user-card__icon--menu{background-color:hsl(var(--hsl-l1));opacity:1}.user-card--list .user-card__icon--menu{background-color:transparent;border-radius:0 10px 10px 0;height:var(--avatar-size);opacity:1;transition:none;width:20px}.user-card__icons{display:flex;flex:none}@media (max-width:479px){.user-card--list .user-card__icons--card{display:none}}.user-card--list .user-card__icons{align-items:center}.user-card__status{align-items:center;display:flex;min-width:0}.user-card__status-icon{border:4px solid #000;border-radius:50%;height:25px;width:25px}.user-card__status-icon--online{border:4px solid #b3d944}.user-card__status-icon-container{align-items:center;display:inline-flex;flex:none;justify-content:center;width:var(--avatar-size)}.user-card--list .user-card__status-icon-container{margin:0 var(--status-icon-margin);order:1;width:unset}.user-card__status-message--sub{font-size:12px}@media (max-width:899px){.user-card__status-message{display:none}}.user-card__status-messages{display:flex;flex-direction:column;font-size:14px;margin-left:var(--card-item-spacing);min-width:0}.user-card--list .user-card__status-messages{text-align:right}@media (max-width:479px){.user-card__status-messages{display:none}}.user-card__user{align-items:center;display:flex;height:var(--avatar-size);min-width:0}.user-card__username{color:#fff;pointer-events:auto;text-decoration:none}.user-card__username:active,.user-card__username:focus,.user-card__username:hover{color:#fff;text-decoration:none}.user-card__username-row{align-items:center;display:flex;font-weight:600;min-width:0}.user-card-brick{--border-colour:transparent;align-items:center;background-color:hsla(var(--hsl-b2),.8);border-radius:6px;box-shadow:inset 0 0 0 2px var(--border-colour);display:flex;max-width:100%;padding:1px 3px;width:-moz-min-content;width:min-content}.user-card-brick--friend{--border-colour:hsl(var(--hsl-green-2))}.user-card-brick--mutual{--border-colour:hsl(var(--hsl-pink-2))}.user-card-brick__group-bar{background-color:var(--group-colour,#0087ca);border-radius:10000px;height:1em;margin:0 5px;width:4px}.user-card-brick__link{align-items:center;color:#fff;display:flex;height:100%;overflow:hidden;padding:2px 8px 2px 3px;text-decoration:none}.user-card-brick__link:active,.user-card-brick__link:focus,.user-card-brick__link:hover{color:#fff;text-decoration:none}.user-card-brick__remove{-webkit-appearance:none;-moz-appearance:none;aspect-ratio:1;background:none;border:none;border-radius:50%;display:flex;margin:2px 2px 2px 0;opacity:.7;outline:none;padding:0 .3em;place-items:center}.user-card-brick__remove:active,.user-card-brick__remove:focus,.user-card-brick__remove:hover{background-color:hsl(var(--hsl-b1));opacity:1}.user-card-brick__username{font-weight:700;padding-bottom:1px}.user-cards{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));justify-content:center;transform:translateZ(0)}.search-result--user .user-cards{gap:5px}.user-cards--list{gap:2px;grid-template-columns:1fr}.user-cards--brick{display:flex;flex-wrap:wrap;font-size:13px;gap:4px;justify-content:flex-start}.user-cover-preset-replace{border-top:1px solid hsl(var(--hsl-b1));display:grid;gap:10px;margin-top:10px;padding-top:10px}.user-cover-preset-replace__input{width:100%}.user-cover-preset-table{display:grid;grid-template-columns:auto 150px 1fr}.user-cover-preset-table__image{width:100%}.user-cover-preset-table__toolbar{grid-column-end:4;grid-column-start:2}.user-cover-preset-table__row{display:grid;gap:10px;grid-column:1/4;grid-template-columns:subgrid;padding:10px}.user-cover-preset-table__row--item{background:var(--row-bg);--row-bg:hsl(var(--hsl-b4))}.user-cover-preset-table__row--item:hover{background:hsl(var(--hsl-b2))}.user-cover-preset-table__row--item:nth-child(2n){--row-bg:hsl(var(--hsl-b3))}.user-group-badge{align-items:center;background-color:hsla(var(--hsl-b6),.75);border-radius:20px;color:var(--group-colour,hsl(var(--hsl-c1)));display:flex;font-size:10px;font-weight:600;justify-content:center;padding:2px 10px}a.user-group-badge{text-decoration:none}a.user-group-badge:active,a.user-group-badge:focus,a.user-group-badge:hover{color:var(--group-colour,hsl(var(--hsl-c1)));text-decoration:none}.user-group-badge:before{content:attr(data-label)}.user-group-badge--t-forum{font-size:8px;padding-left:0;padding-right:0;width:100%}@media (min-width:900px){.user-group-badge--t-forum{font-size:10px;margin:auto;padding-left:20px;padding-right:20px;width:-moz-min-content;width:min-content}}.user-group-badge--owner{background-color:hsl(var(--hsl-l1));color:hsl(var(--hsl-b6))}.user-group-badge--profile-page{font-size:inherit}.user-group-badge--probationary{background-color:hsl(var(--hsl-b6));opacity:.6}.user-group-badge__modes{color:#fff;display:flex;padding-left:5px}@media (max-width:899px){.user-group-badge--t-forum .user-group-badge__modes{display:none}}.user-group-badge__modes>i{padding:1px}.user-home{background:hsl(var(--hsl-b5));box-shadow:0 1px 3px rgba(0,0,0,.25);display:flex;flex-direction:column}@media (min-width:900px){.user-home{align-items:flex-start;flex-direction:row;padding:0 50px}}.user-home__beatmap-list-title{color:hsl(var(--hsl-l1));font-size:16px;font-weight:700;margin:0;padding:20px 0 10px}.user-home__beatmapsets{display:grid;font-size:12px;gap:10px}.user-home__buttons{display:grid;gap:10px}.user-home__left-section{flex:none;padding-bottom:20px;width:100%}@media (min-width:900px){.user-home__left-section{margin-right:10px;width:calc(60% - 10px)}}.user-home__left-title{align-items:flex-end;color:hsl(var(--hsl-l1));display:flex;font-size:20px;font-weight:700;margin:0;padding:20px 0 10px 10px}@media (min-width:900px){.user-home__left-title{padding-left:0}}.user-home__news-posts-group{background-color:hsl(var(--hsl-b4));box-shadow:0 1px 3px rgba(0,0,0,.25);display:block;margin-bottom:5px;padding:5px 0}.user-home__news-posts-group--more{color:hsl(var(--hsl-l1));padding:20px;text-align:center;text-decoration:none}.user-home__news-posts-group--more:active,.user-home__news-posts-group--more:focus,.user-home__news-posts-group--more:hover{color:#fff;text-decoration:none}.user-home__right-sidebar{--padding-x:20px;background-color:hsl(var(--hsl-b4));margin:0;padding:20px var(--padding-x);width:100%}@media (min-width:900px){.user-home__right-sidebar{box-shadow:0 1px 3px rgba(0,0,0,.25);--padding-x:10px;margin-bottom:10px;margin-left:10px;padding-bottom:10px;width:calc(40% - 10px)}}.user-home__status-box{padding-bottom:20px}.user-home-beatmapset{color:hsl(var(--hsl-f1));display:grid;gap:10px;grid-template-columns:auto 1fr auto;margin:0 calc(var(--padding-x)*-1);padding:0 var(--padding-x);text-decoration:none;transform:translateZ(0);transition:.1s}.user-home-beatmapset:active,.user-home-beatmapset:focus,.user-home-beatmapset:hover{text-decoration:none}.user-home-beatmapset:hover{background-color:hsl(var(--hsl-b3))}.user-home-beatmapset__artist{font-size:12px;margin-top:-3px}.user-home-beatmapset__chevron{align-items:center;display:inline-flex;justify-content:center}.user-home-beatmapset__creator{font-size:10px;margin-top:2px}.user-home-beatmapset__meta{color:#fff;display:flex;flex-direction:column;font-weight:400;justify-content:center;min-width:0}.user-home-beatmapset__playcount{color:hsl(var(--hsl-f1))}.user-home-beatmapset__playmode-icon{font-size:13px;margin-right:2px}.user-home-beatmapset__title{font-size:16px;margin-top:-2px}.user-home-beatmapset__title-container{display:inline-flex}.user-home-livestream{aspect-ratio:16/9;background-color:hsl(var(--hsl-b4));background-size:cover;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.25);box-sizing:border-box;display:block;overflow:hidden;position:relative;width:100%}.user-home-livestream:link{text-decoration:none}.user-home-livestream:hover{box-shadow:0 10px 20px rgba(0,0,0,.25)}.user-home-livestream__info{background-image:linear-gradient(transparent,#000);bottom:0;display:grid;gap:6px;left:0;padding:18px 24px;position:absolute;width:100%}.user-home-livestream__text{color:hsl(var(--hsl-c2));font-size:14px;margin:0;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.user-home-livestream__text--name{font-size:20px;text-shadow:0 1px 3px rgba(0,0,0,.75)}.user-level{align-items:center;display:inline-flex;justify-content:center;--bg:hsl(var(--hsl-c1));font-size:20px;height:50px;position:relative;width:50px}.user-level__icon{background:linear-gradient(var(--bg));clip-path:path("m 25,2.7 a 9.3,9.3 0 0 1 4.7,1.2 l 11.3,6.5 a 9.3,9.3 0 0 1 4.6,8.1 v 13.0 a 9.3,9.3 0 0 1 -4.6,8.1 L 29.7,46.1 a 9.3,9.3 0 0 1 -9.3,0 L 9.1,39.6 A 9.3,9.3 0 0 1 4.4,31.5 v -13.0 A 9.3,9.3 0 0 1 9.1,10.4 L 20.4,3.9 A 9.3,9.3 0 0 1 25,2.7 M 25,0.0 A 11.9,11.9 0 0 0 19.0,1.6 L 7.7,8.1 A 12.0,12.0 0 0 0 1.7,18.5 v 13.0 a 12.0,12.0 0 0 0 6.0,10.4 l 11.3,6.5 a 12.0,12.0 0 0 0 12.0,0 l 11.3,-6.5 a 12.0,12.0 0 0 0 6.0,-10.4 v -13.0 A 12.0,12.0 0 0 0 42.3,8.1 L 31.0,1.6 A 11.9,11.9 0 0 0 25.0,0 Z");height:100%;left:0;position:absolute;top:0;width:100%}.user-level__level{position:absolute}.user-list{background-color:hsl(var(--hsl-b4));color:hsl(var(--hsl-c1));padding:0 0 20px}.user-list__description{margin-top:10px;padding-left:10px;padding-right:10px}@media (min-width:900px){.user-list__description{padding-left:50px;padding-right:50px}}.user-list__items{padding-left:10px;padding-right:10px}@media (min-width:900px){.user-list__items{padding-left:50px;padding-right:50px}}.user-list__title{align-items:flex-end;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin:0;padding:20px 10px 0}@media (min-width:900px){.user-list__title{padding-left:50px;padding-right:50px}}.user-list__toolbar{font-size:14px;padding:20px 10px}@media (min-width:900px){.user-list__toolbar{padding-left:50px;padding-right:50px}}.user-list__toolbar-row{display:flex;justify-content:flex-end}@media (max-width:899px){.user-list__toolbar-row{align-items:center;flex-direction:column}}.user-list__toolbar-item+.user-list__toolbar-item{margin-left:10px}.user-list__view-mode{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;border-radius:4px;margin:0;outline:none;padding:5px}.user-list__view-mode--active,.user-list__view-mode:hover{color:hsl(var(--hsl-l1))}.user-list__view-mode-title{margin-right:10px}.user-list-popup{background-color:hsla(var(--hsl-b6),.75);color:hsl(var(--hsl-c1));display:grid;font-size:12px;gap:10px;padding:5px 10px;--columns:5;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.25)}@media (min-width:900px){.user-list-popup{--columns:10}}.user-list-popup__user{border-radius:4px;height:32px;overflow:hidden;width:32px}.user-list-popup__users{display:grid;gap:2px;grid-template-columns:repeat(var(--columns),auto)}.user-list-popup__remainder-count{text-align:right}.user-name{font-weight:700}.user-online-status{display:grid;gap:20px;grid-template-columns:auto auto 1fr}.user-online-status__chart{grid-column:1/-1;height:50px}.user-online-status__label{font-size:10px;font-weight:400}.user-online-status__value{color:hsl(var(--hsl-l1));font-size:15px}.user-profile-pages{--vertical-gutter-top-desktop:0;--vertical-gutter-top:var(--vertical-gutter);--vertical-gutter:10px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr);padding:var(--vertical-gutter-top) 0 var(--vertical-gutter);position:relative}@media (min-width:900px){.user-profile-pages{--vertical-gutter-top:var(--vertical-gutter-top-desktop)}}.user-profile-pages--no-tabs{--vertical-gutter-top-desktop:var(--vertical-gutter)}.user-search-card{--avatar-aspect:1;--height:40px;background-color:hsl(var(--hsl-b4));border-radius:6px;font-size:12px;line-height:normal;min-height:var(--height);position:relative;transition:all .12s ease-in-out}.user-search-card--active{background-color:hsl(var(--hsl-b2))}.user-search-card--team{--avatar-aspect:2}.user-search-card__avatar-container{aspect-ratio:var(--avatar-aspect);background-size:cover;border-radius:6px;flex:none;height:var(--height);overflow:hidden}.user-search-card__background-container{height:100%;left:0;position:absolute;top:0;width:100%}.user-search-card__container{display:flex;pointer-events:none;position:relative}.user-search-card__details{align-items:center;color:hsl(var(--hsl-c1));display:flex;line-height:normal;min-width:0;padding:2px 5px}.user-search-card__col{display:flex;flex:none;margin:0 5px;pointer-events:auto}.user-search-card__col:empty{display:none}.user-search-card__col--flag{font-size:14px}.user-search-card__col--icon{height:18px}.user-search-card__col--support{font-size:8px}.user-search-card__col--username{color:inherit;display:block;flex:1;font-size:16px;margin-right:var(--quick-search-items-badge-margin);text-decoration:none}.user-search-card__col--username:active,.user-search-card__col--username:focus,.user-search-card__col--username:hover{color:inherit;text-decoration:none}.user-session-list{display:flex;flex:1;flex-direction:column}.user-session-list-session{flex-direction:row;margin-bottom:10px}.user-session-list-session__header{align-items:center;color:#fff;display:inline-flex;font-size:14px;justify-content:center;margin-bottom:5px}.user-session-list-session__current-badge{background:hsl(var(--hsl-b6));border-radius:13px;color:hsl(var(--hsl-f1));font-size:10px;margin-left:5px;padding:2px 8px;text-transform:uppercase}.user-session-list-session__icon{margin-right:5px;width:20px}.user-session-list-session__details{border-bottom:1px solid hsl(var(--hsl-b5));display:flex;flex-direction:row;flex-grow:1;justify-content:space-between}@media (min-width:900px){.user-session-list-session__details{align-items:center;padding:0 5px 10px}}@media (max-width:899px){.user-session-list-session__details{align-items:flex-start;flex-wrap:wrap;padding:0 0 10px}}.user-session-list-session__ip{align-items:center;display:inline-flex;justify-content:center}@media (max-width:899px){.user-session-list-session__ip{margin-bottom:5px}}.user-session-list-session__last-active{color:hsl(var(--hsl-f1))}@media (min-width:900px){.user-session-list-session__last-active{padding-left:20px;width:50%}}@media (max-width:899px){.user-session-list-session__last-active{flex-basis:100%;margin-bottom:5px}}.user-session-list-session__logout{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:#fff;flex-shrink:0;margin:0 5px 0 0;outline:none;padding:0}.user-session-list-session__logout:active,.user-session-list-session__logout:focus,.user-session-list-session__logout:hover{color:hsl(var(--hsl-l1))}@media (max-width:899px){.user-session-list-session__logout{align-self:flex-end;margin-bottom:5px}}.user-session-list-session__logout-icon{margin-left:5px}.user-tag-picker{background-color:hsl(var(--hsl-b4));border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.25);color:hsl(var(--hsl-c1));display:grid;gap:10px;grid-template-rows:min-content auto;height:400px;max-width:500px;padding:20px 0;width:calc(100vw - 66px)}.user-tag-picker__search{background-color:hsl(var(--hsl-b5));border:none;border-radius:4px;font-size:16px;margin:0 20px;outline:none;padding:8px 5px}@media (min-width:900px){.user-tag-picker__search{font-size:14px}}.user-tag-picker__scroll-area{overflow-y:scroll;overscroll-behavior:contain}.user-tag-picker__list{display:grid;gap:5px;grid-auto-rows:auto;padding:0 20px}.user-tag-picker__category{background-color:hsl(var(--hsl-b4));font-size:18px;font-weight:600;padding-bottom:5px;position:sticky;top:0}.user-tag-picker__category:before{background-color:hsl(var(--hsl-h1));border-radius:3px;content:"";display:inline-block;height:12px;margin-right:5px;width:6px}.user-tag-picker__tag{align-items:center;background-color:hsl(var(--hsl-b3));border-radius:4px;cursor:pointer;display:grid;gap:10px;grid-template-columns:100px 1fr;padding:5px 10px;transition:background-color .12s;width:100%}.user-tag-picker__tag:hover{background-color:hsl(var(--hsl-b2))}.user-tag-picker__tag--active{background-color:hsl(var(--hsl-h2))}.user-tag-picker__tag--active:hover{background-color:hsl(var(--hsl-h1))}.user-tag-picker__tag-info{font-size:14px}.user-tag-picker__tag-info--name{font-weight:700}.user-tag-picker__tag-info--description{font-size:12px;font-weight:500}.user-verification{background-color:rgba(0,0,0,.75);color:#fff;font-size:14px;font-weight:400;padding:70px 40px;text-align:center}.user-verification__key{background-color:rgba(0,0,0,.5);border-radius:4px;font-family:Menlo,Monaco,Consolas,Courier New,monospace;padding:10px;text-align:center;width:75%}@media (max-width:899px){.user-verification__key{font-size:16px}}.user-verification__key,.user-verification__key:focus{border:2px solid #fc2;outline:none}.user-verification__link{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:#fd5;margin:0;outline:none;padding:0}.user-verification__link:focus,.user-verification__link:hover{color:#fc2;text-decoration:underline}.user-verification__message{color:#fd5;font-weight:700;margin-top:10px;position:absolute;width:100%}.user-verification__message-spinner{margin-right:5px}.user-verification__row{margin:10px 0}.user-verification__row--key{margin-bottom:60px;margin-top:40px;position:relative}.user-verification__row--title{color:#fd5;font-size:20px;margin-bottom:20px}.user-verification-popup{background-image:-webkit-image-set(url(/assets/images/user-verification.5b4e6b96.jpg) 1x,url(/assets/images/user-verification@2x.6c6f29b4.jpg) 2x);background-image:image-set(url(/assets/images/user-verification.5b4e6b96.jpg) 1x,url(/assets/images/user-verification@2x.6c6f29b4.jpg) 2x);background-position:center 0;background-size:cover;box-shadow:0 1px 3px rgba(0,0,0,.25);display:grid;height:100%;justify-content:flex-start;padding:0 20px;width:100%}.js-user-verification--center .user-verification-popup{justify-content:center}@media (min-width:900px){.user-verification-popup{grid-template-columns:1fr 1fr}.username-change{display:grid;gap:40px;grid-template-columns:auto repeat(2,minmax(0,1fr))}}.username-input{display:flex;flex:1;flex-wrap:wrap;gap:2px;justify-content:flex-start;min-width:0}.username-input--beatmap-owner-editor{min-height:20px}.username-input__input{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:hsl(var(--hsl-c1));flex:1;margin:0;min-width:40px;order:1;outline:none;padding:0}.username-input__spinner{align-items:center;display:inline-flex;min-width:1em;order:2}.value-display{--label-font-size-desktop:12px;--label-font-size:16px;--label-font-weight:bold;--value-color:hsl(var(--hsl-c1));--value-font-size-desktop:18px;--value-font-size:24px;--value-margin-top:0;display:flex;flex:1;flex-direction:column;min-width:60px}.value-display--judge-results{flex:none}.value-display--kudosu{--value-font-size-desktop:40px;--value-font-size:40px}.value-display--plain{--label-font-size-desktop:12px;--label-font-size:12px;--label-font-weight:normal;--value-color:hsl(var(--hsl-c2));--value-font-size-desktop:16px;--value-font-size:16px}.value-display--plain-wide{grid-column-end:span 2}.value-display--rank{--label-font-size-desktop:12px;--label-font-size:10px;--label-font-weight:normal;--value-color:hsl(var(--hsl-c2));--value-font-size-desktop:30px;--value-font-size:20px;--value-margin-top:-0.1em}@media (min-width:900px){.value-display--rank{flex:none}}.value-display--select-option{--label-font-size-desktop:inherit;--label-font-size:inherit;--label-font-weight:normal;--value-font-size-desktop:0.8em;--value-font-size:0.8em}.value-display--score{--label-font-size:12px;--value-color:hsl(var(--hsl-c2));--value-font-size-desktop:30px;--value-font-size:30px;flex:none}@media (min-width:900px){.value-display{--value-font-size:var(--value-font-size-desktop);--label-font-size:var(--label-font-size-desktop)}}.value-display__description{color:hsl(var(--hsl-c1));font-size:14px;margin-top:.1em}.value-display__label{font-size:var(--label-font-size);font-weight:var(--label-font-weight)}.value-display__value{color:var(--value-color);font-size:var(--value-font-size);font-weight:300;margin-top:var(--value-margin-top)}.warning-box{align-items:center;background-color:hsl(var(--hsl-b4));border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.25);color:hsl(var(--hsl-c1));display:flex;font-size:13px;margin-bottom:10px}.warning-box__content{padding:10px}.warning-box__icon{align-items:center;align-self:stretch;background-color:#c60;border-radius:6px 0 0 6px;display:flex;font-size:20px;justify-content:center;padding:15px}.wiki-main-page__blurb{color:hsl(var(--hsl-c1));font-family:var(--font-content-override,var(--font-content));font-size:12px;font-weight:300;line-height:1.35;padding-top:30px;text-align:center}.wiki-main-page__panels{display:grid;grid-gap:7px;padding-top:45px}@media (min-width:900px){.wiki-main-page__panels{grid-template-columns:1fr 1fr}}.wiki-main-page__heading{color:hsl(var(--hsl-c1));font-size:20px;font-style:normal;font-weight:300}.wiki-main-page-panel .wiki-main-page__heading{margin-bottom:40px}.wiki-main-page-panel--full .wiki-main-page__heading{font-size:30px}.wiki-main-page__paragraph{color:hsl(var(--hsl-c1));font-size:13px;font-weight:700}.wiki-main-page-panel{background:hsl(var(--hsl-b4));border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.25);min-height:150px;padding:30px;text-align:center}@media (min-width:900px){.wiki-main-page-panel--full{grid-column:1/span 2}}.wiki-notice{background-color:hsl(var(--hsl-b4));color:hsl(var(--hsl-orange-1));margin-bottom:10px;padding:10px 15px;width:100%}.wiki-notice--beatmapset-search{background-color:hsl(var(--hsl-b3));border-radius:6px;color:hsl(var(--hsl-c1));font-size:12px;margin:5px;width:calc(100% - 10px)}.wiki-notice--important{font-weight:700}.wiki-notice--score{font-size:14px;margin:0 var(--page-gutter) 20px;width:auto}.wiki-notice--profile-page-extra{background-color:hsl(var(--hsl-b3))}.wiki-notice__markdown-inline-content{display:inline}.wiki-notice__markdown-inline-content p{display:inline;margin:0}.wiki-page{display:grid;scrollbar-color:hsla(0,0%,100%,.5) hsla(0,0%,100%,.025)}.wiki-page,.wiki-page *{scrollbar-width:thin}.wiki-page ::-webkit-scrollbar{background-color:hsla(0,0%,100%,.025);-webkit-border-radius:100px;width:10px}.wiki-page ::-webkit-scrollbar:hover{background-color:rgba(0,0,0,.09)}.wiki-page ::-webkit-scrollbar:horizontal{height:10px}.wiki-page ::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.5);background-clip:padding-box;border:2px solid hsla(0,0%,100%,0);-webkit-border-radius:100px;min-height:10px}.wiki-page ::-webkit-scrollbar-thumb:active{background:hsla(0,0%,100%,.61);-webkit-border-radius:100px}@media (min-width:900px){.wiki-page{grid-template-columns:250px 1fr}}.wiki-page__content{min-width:0;padding:20px 10px}@media (min-width:900px){.wiki-page__content{padding-left:30px;padding-right:50px}}.wiki-page__toc{background-color:hsl(var(--hsl-b4));border-radius:6px;margin:10px;padding:10px}@media (min-width:900px){.wiki-page__toc{border-radius:0;margin:0;max-height:calc(100vh - 50px);overflow-y:scroll;padding:20px 30px 20px 50px;position:sticky;top:50px}}.wiki-search{padding-top:10px;position:relative;z-index:1}.wiki-search__bar{background-color:hsl(var(--hsl-b6));border:1px solid hsl(var(--hsl-b6));display:flex;flex-direction:row;font-size:18px}.wiki-search__bar:focus-within{border:1px solid hsl(var(--hsl-h2));box-shadow:0 0 10px hsl(var(--hsl-h2))}.wiki-search__input{-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:hsl(var(--hsl-c1));flex:1;margin:0;outline:none;padding:13px 0 13px 20px}.wiki-search__input::-moz-placeholder{color:hsl(var(--hsl-c2))}.wiki-search__input::placeholder{color:hsl(var(--hsl-c2))}.wiki-search__button{align-items:center;-webkit-appearance:none;-moz-appearance:none;background:none;border:none;color:hsl(var(--hsl-c1));display:inline-flex;justify-content:center;margin:0 20px 0 10px;outline:none;padding:0}.wiki-search__suggestion{color:hsl(var(--hsl-c1));padding:5px 20px;position:relative;text-decoration:none}.wiki-search__suggestion:active,.wiki-search__suggestion:focus,.wiki-search__suggestion:hover{background-color:hsl(var(--hsl-b3));color:hsl(var(--hsl-c1));text-decoration:none}.wiki-search__suggestion em{color:hsl(var(--hsl-l2));font-style:normal;font-weight:700}.wiki-search__suggestion--active{background-color:hsl(var(--hsl-b3))}.wiki-search__suggestion--active:before{background-color:hsl(var(--hsl-l2));border-radius:0 3px 3px 0;content:"";height:100%;left:0;position:absolute;top:0;width:3px}.wiki-search__suggestions{background-color:hsl(var(--hsl-b6));border-radius:0 0 6px 6px;color:hsl(var(--hsl-c1));display:flex;flex:1;flex-direction:column;left:1px;max-height:500px;overflow-y:auto;position:absolute;width:calc(100% - 2px)}.wiki-toc-list{font-size:15px;list-style:none;margin:0 0 10px;padding:0 0 0 10px}.wiki-toc-list--top{margin-bottom:0;padding-left:0}.wiki-toc-list--top>.wiki-toc-list__item{margin-bottom:5px}.wiki-toc-list__link{display:inline-block;margin-bottom:2px;text-decoration:none}.wiki-toc-list__link:active,.wiki-toc-list__link:focus,.wiki-toc-list__link:hover{text-decoration:none}.wiki-toc-list__link--small{font-size:12px}.wrapped{--bg-gradient:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,.9));--content-left:200px;--favourite-mapper-avatar-size:60px;--gap:80px;--gap-mid:40px;--gap-inner:20px;--header-height:70px;--list-item-height:140px;--list-item-width:140px;--list-item-selected-width:140px;--mark-offset:-100px;--mark-opacity:1;--page-mark-height:68px;--page-mark-top:100px;--stat-title-size:20px;--stat-value-size:52px;--selected-gradient:linear-gradient(235.9deg,#fff 23.33%,#ffe599 67.87%);--switcher-icon-border:8px;--switcher-icon-height:40px;--switcher-icon-height-active:80px;--switcher-icon-width-active:120px;--summary-mobile-pos:none;--text-title-size:24px;--text-regular-size:20px;--top-summary:40px;--avatar-padding:5px;--user-height:var(--header-height);background-color:hsl(var(--hsl-pink-4));display:flex;flex-direction:column;height:100%;min-height:600px;position:relative;width:100%}.wrapped--favourite_mappers{--bg-filter:blur(8px)}.wrapped--statistics{--bg-filter:blur(2px)}.wrapped--summary{--avatar-padding:8px;--bg-gradient:linear-gradient(180deg,rgba(0,0,0,.7),rgba(0,0,0,.9));--header-height:115px;--mark-offset:-300px;--mark-opacity:0;--page-mark-top:0}@media (max-width:899px){.wrapped{--avatar-padding:5px;--content-left:10px;--gap:40px;--header-height:70px;--mark-offset:var(--content-left)}}@media (max-width:479px){.wrapped{--avatar-padding:0px;--favourite-mapper-avatar-size:42px;--gap-mid:20px;--stat-title-size:16px;--stat-value-size:40px;--summary-mobile-pos:flex;--switcher-icon-border:2px;--switcher-icon-width-active:60px;--switcher-icon-height-active:40px;--switcher-icon-height:40px;--text-title-size:16px;--text-regular-size:16px;--user-height:32px;margin-bottom:0;margin-top:10px}}.wrapped__save{bottom:0;position:fixed}.wrapped__background{backdrop-filter:var(--bg-filter,initial);background-color:#333;height:100%;left:0;-o-object-fit:cover;object-fit:cover;opacity:0;position:fixed;top:0;transition:opacity 1s ease-in-out;width:100%;will-change:opacity}.wrapped__background--gradient{background:var(--bg-gradient);opacity:1}.wrapped__background--loaded{opacity:1}.wrapped__container{flex:1;position:relative}.wrapped__content{--content-padding-right:20px;display:grid;gap:var(--gap-inner);padding:0 var(--content-padding-right) calc(var(--gap-mid) + var(--switcher-icon-height-active)) var(--content-left);position:relative;width:100%}.wrapped__content--summary{display:grid;gap:var(--gap-mid);grid-template-rows:auto auto}@media (max-width:479px){.wrapped__content{padding-right:var(--content-left);--content-padding-right:var(--content-left)}}.wrapped__difficulty-badge{height:var(--text-regular-size)}.wrapped__header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-top:calc(var(--header-height)/2);padding:0 var(--content-left);position:relative;transition:all .2s ease-in-out;width:100%}@media (max-width:479px){.wrapped__header{flex-direction:row-reverse;margin-top:0}.wrapped__header--summary{display:none}}.wrapped__header--summary-mobile{align-items:flex-start;display:var(--summary-mobile-pos);flex-direction:column;margin-bottom:var(--gap)}.wrapped__header-logo{aspect-ratio:1;height:calc(var(--user-height) - var(--avatar-padding)*2);transform:scale(1.1);--bg-opacity:0}.wrapped__header-logo:after{background-image:url(/assets/images/osu-lazer-logo-white.62cae952.svg)}.wrapped__header-logo:after,.wrapped__header-logo:before{background-size:contain;content:"";height:100%;left:0;position:absolute;top:0;width:100%}.wrapped__header-logo:before{background-image:url(/assets/images/osu-lazer-logo-triangles.d78e5cd6.svg);opacity:var(--bg-opacity);transition:all .1s ease-in-out}.wrapped__header-logo:hover{--bg-opacity:1}.wrapped__list{display:flex;flex-direction:row;gap:6px;padding-left:var(--content-left);padding-right:var(--gap)}@media (max-width:479px){.wrapped__list{gap:4px}}.wrapped__list-container{margin-left:calc(var(--content-left)*-1);margin-right:calc(var(--content-padding-right)*-1);overflow-x:scroll;padding:4px 4px 40px;position:relative;scrollbar-color:hsla(0,0%,100%,.5) hsla(0,0%,100%,.025);scrollbar-width:thin;transform:translateZ(0)}.wrapped__list-container *{scrollbar-width:thin}.wrapped__list-container ::-webkit-scrollbar{background-color:hsla(0,0%,100%,.025);-webkit-border-radius:100px;width:10px}.wrapped__list-container ::-webkit-scrollbar:hover{background-color:rgba(0,0,0,.09)}.wrapped__list-container ::-webkit-scrollbar:horizontal{height:10px}.wrapped__list-container ::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.5);background-clip:padding-box;border:2px solid hsla(0,0%,100%,0);-webkit-border-radius:100px;min-height:10px}.wrapped__list-container ::-webkit-scrollbar-thumb:active{background:hsla(0,0%,100%,.61);-webkit-border-radius:100px}@media (max-width:479px){.wrapped__list-container{padding:2px 2px 20px}}.wrapped__list-details-title{display:flex;margin-bottom:var(--gap-mid);position:relative}.wrapped__list-details-title--centred{align-items:center}.wrapped__list-item{--border-radius:20px;--list-item-height:140px;--list-item-width:140px;--list-item-selected-width:140px;border-radius:var(--border-radius);box-shadow:0 2px 4px 0 rgba(0,0,0,.25),0 8px 16px 0 rgba(0,0,0,.25);flex:none;height:var(--list-item-height);position:relative;transform-style:preserve-3d;width:var(--list-item-width)}.wrapped__list-item--beatmap{--list-item-selected-width:280px}@media (max-width:479px){.wrapped__list-item--beatmap{--list-item-selected-width:140px}}.wrapped__list-item--link{cursor:pointer}.wrapped__list-item--selected{box-shadow:none;width:var(--list-item-selected-width)}.wrapped__list-item--selected:before{background:var(--selected-gradient);border-radius:inherit;box-shadow:0 2px 4px 0 rgba(0,0,0,.25),0 8px 16px 0 rgba(0,0,0,.25);content:"";filter:blur(0);inset:-4px -4px -20px -4px;pointer-events:none;position:absolute;transform:translateZ(-1px)}@media (max-width:479px){.wrapped__list-item--selected:before{box-shadow:0 1px 2px 0 rgba(0,0,0,.25),0 4px 8px 0 rgba(0,0,0,.25);inset:-2px -2px -10px -2px}.wrapped__list-item{--border-radius:10px;--list-item-height:80px;--list-item-width:80px;--list-item-selected-width:80px}}.wrapped__list-item--summary-beatmap{--list-item-height:60px;--list-item-width:260px}@media (max-width:479px){.wrapped__list-item--summary-beatmap{--border-radius:8px;--list-item-height:42px;--list-item-width:140px}}.wrapped__page-mark{display:flex;flex-direction:column;margin-bottom:10px;margin-left:var(--mark-offset);margin-top:var(--page-mark-top);opacity:var(--mark-opacity);pointer-events:none;position:relative}@media (min-width:900px){.wrapped__page-mark{background-image:url(/assets/images/thing.8ec4cd2c.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;flex-wrap:nowrap;height:68px;margin-bottom:0;transition:all .2s ease-in-out;width:286px}}@media (min-width:480px){.wrapped__page-mark{align-items:center;flex-direction:row;gap:10px}}@media (max-width:479px){.wrapped__page-mark--summary{display:none}}.wrapped__page-number{align-items:center;background-image:url(/assets/images/circle.63079796.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;display:inline-flex;flex:none;font-size:24px;font-weight:700;height:50px;justify-content:center;position:relative;text-shadow:0 1px 3px rgba(0,0,0,.75);width:50px}@media (min-width:900px){.wrapped__page-number{background-image:none;bottom:10px;left:227px;position:absolute}}.wrapped__page-title{font-size:52px;font-weight:700;position:relative;text-shadow:0 1px 3px rgba(0,0,0,.75)}@media (min-width:900px){.wrapped__page-title{align-items:center;display:inline-flex;justify-content:center;left:calc(var(--content-left) + 100px);position:absolute;top:-3px;white-space:nowrap}}.wrapped__favourite-mapper{color:#fff;display:flex;gap:var(--gap-inner)}.wrapped__favourite-mapper:active,.wrapped__favourite-mapper:focus,.wrapped__favourite-mapper:hover{color:#fff}.wrapped__favourite-mapper-avatar{width:var(--favourite-mapper-avatar-size)}@media (max-width:899px){.wrapped__share-label{display:none}}.wrapped__summary-list-item-text{display:flex;flex-direction:column;justify-content:center;min-width:0}.wrapped__summary-list-item-title{font-size:var(--text-title-size);font-weight:700}.wrapped__summary-list-item-value{align-items:center;display:flex;font-size:var(--text-regular-size);gap:calc(var(--text-regular-size)/2)}.wrapped__summary-logo{position:relative}@media (min-width:480px){.wrapped__summary-logo{display:none}}.wrapped__stat{color:#000;display:flex;flex-direction:column;transform:translateZ(0);white-space:nowrap}.wrapped__stats{display:grid;gap:var(--gap-inner);grid-template-columns:repeat(auto-fill,300px)}.wrapped__stats--dense{grid-template-columns:repeat(auto-fill,250px)}.wrapped__stat-items{color:#fff;display:flex;flex-direction:column;gap:var(--gap-inner);margin-top:var(--gap-inner)}.wrapped__stat-items--summary{display:grid;gap:10px var(--gap-inner);grid-template-columns:repeat(auto-fill,minmax(480px,1fr))}@media (max-width:479px){.wrapped__stat-items--summary{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}.wrapped__stat-title{color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5));font-size:20px;font-weight:700;line-height:1;white-space:nowrap}@media (min-width:480px){.wrapped__stat-title--fancy{background:var(--selected-gradient),#d9d9d9;border-radius:100px;color:#000;filter:none;font-size:24px;padding:8px 16px;width:-moz-fit-content;width:fit-content}}.wrapped__stat-value{background:var(--selected-gradient);-webkit-background-clip:text;background-clip:text;color:#fff;display:inline-block;font-size:var(--stat-value-size);-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}@media (min-width:480px){.wrapped__stat-value--fancy{margin-left:16px}}.wrapped__stat-value--fancy:active,.wrapped__stat-value--fancy:focus,.wrapped__stat-value--fancy:hover{color:#fff}.wrapped__stat-value-icon{display:flex;font-size:.8em;margin-top:.4em;--mod-height:1em}.wrapped__stat-value-link,.wrapped__stat-value-link:active,.wrapped__stat-value-link:focus,.wrapped__stat-value-link:hover{color:#ffe599}.wrapped__text{color:#fff;font-size:32px;font-weight:700;overflow-wrap:anywhere}.wrapped__text--artist{font-size:20px;font-weight:400}.wrapped__text--beatmap-line{align-items:center}.wrapped__text--bottom{display:flex;font-size:14px;font-weight:400;gap:5px}.wrapped__text--container{display:flex;flex-direction:column;justify-content:space-between;text-decoration:none}.wrapped__text--container:active,.wrapped__text--container:focus,.wrapped__text--container:hover{text-decoration:none}.wrapped__text--difficulty{font-size:inherit;font-weight:700}.wrapped__text--top{font-size:24px}@media (max-width:479px){.wrapped__text--top{display:flex;flex-direction:column}}.wrapped__rank{--rank-colour:#fff;align-items:center;background:linear-gradient(235.9deg,#fff 23.33%,var(--rank-colour) 67.87%);border-radius:100px;color:#000;display:inline-flex;flex:none;font-size:40px;font-weight:700;height:48px;justify-content:center;margin-left:-120px;margin-right:20px;position:relative;width:100px}@media (max-width:899px){.wrapped__rank{margin-left:0;margin-right:10px}}@media (max-width:479px){.wrapped__rank{font-size:20px;height:24px;width:50px}}.wrapped__switcher{align-items:center;background:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.5) 38%,hsl(var(--hsl-pink-4)) 38%,hsl(var(--hsl-pink-4)) 100%);bottom:0;display:flex;gap:20px;height:var(--switcher-icon-height-active);justify-content:center;padding-bottom:20px;position:fixed;transform:translateZ(0);width:100%}@media (max-width:479px){.wrapped__switcher{gap:6px;padding-bottom:10px}}.wrapped__switcher-item{background-image:-webkit-image-set(url(/assets/images/default-bg.7594e945.png) 1x,url(/assets/images/default-bg@2x.4043b8f4.png) 2x);background-image:image-set(url(/assets/images/default-bg.7594e945.png) 1x,url(/assets/images/default-bg@2x.4043b8f4.png) 2x);border-radius:var(--switcher-icon-height);box-shadow:0 2px 4px 0 rgba(0,0,0,.25);cursor:pointer;filter:brightness(.5);height:var(--switcher-icon-height);overflow:hidden;position:relative;width:var(--switcher-icon-height)}.wrapped__switcher-item--active{border:var(--switcher-icon-border) solid #fff;filter:none;height:var(--switcher-icon-height-active);width:var(--switcher-icon-width-active)}.wrapped__switcher-item--share-link{align-items:center;background:hsl(var(--hsl-b5));color:hsl(var(--hsl-c1));display:flex;filter:none;font-size:.8em;gap:5px;padding-left:15px;padding-right:15px;text-decoration:none;width:auto}.wrapped__switcher-item--share-link:active,.wrapped__switcher-item--share-link:focus,.wrapped__switcher-item--share-link:hover{text-decoration:none}.wrapped__switcher-item:before{background-image:var(--bg);background-position:50%;background-size:cover;content:"";height:100%;left:0;position:absolute;top:0;width:100%}.wrapped__top-plays{color:#fff;display:flex;flex-direction:row;gap:20px}.wrapped__top-plays:active,.wrapped__top-plays:focus,.wrapped__top-plays:hover{color:#fff}@media (max-width:479px){.wrapped__top-plays{gap:10px}}.wrapped__top-stats{display:flex;flex-wrap:wrap;gap:var(--gap-inner) var(--gap);padding-bottom:var(--gap-mid);position:relative}@media (min-width:480px){.wrapped__top-stats:after{background:#ff99c7;bottom:0;content:"";height:4px;left:calc(var(--content-left)*-1);position:absolute;right:calc(var(--content-padding-right)*-1)}}.wrapped__bottom-stats{display:flex;flex-direction:column;gap:var(--gap-mid)}@media (max-width:479px){.wrapped__bottom-stats{flex-direction:column}}.wrapped__logo{height:70px;margin-left:auto}@media (max-width:479px){.wrapped__logo{height:50px;margin-left:0}}.wrapped__user{align-items:center;background:rgba(0,0,0,.3);border-radius:var(--user-height);display:flex;gap:15px;height:var(--user-height);padding:0 calc(var(--user-height)/3) 0 var(--avatar-padding);transition:all .2s ease-in-out}@media (max-width:479px){.wrapped__user{flex-direction:row-reverse;padding:0 var(--avatar-padding) 0 calc(var(--user-height)/3)}}.wrapped__user--summary-mobile{--user-height:42px;display:inline-flex;flex-direction:row;padding:0 calc(var(--user-height)/3) 0 var(--avatar-padding)}.wrapped__user-avatar{background-color:#333;background-position:50%;background-repeat:no-repeat;background-size:contain;border-radius:50%;display:block;height:calc(var(--user-height) - var(--avatar-padding)*2);transition:all .2s ease-in-out;width:calc(var(--user-height) - var(--avatar-padding)*2)}@media (max-width:479px){.wrapped__user-flag{display:none}}.wrapped__username,.wrapped__username:active,.wrapped__username:focus,.wrapped__username:hover{color:#fff}@media (min-width:480px){.wrapped__username--summary{font-size:32px;font-weight:700}}body{--hsl-p:var(--base-hue),100%,50%;--hsl-h1:var(--base-hue),100%,70%;--hsl-h2:var(--base-hue),50%,45%;--hsl-c1:var(--base-hue),40%,100%;--hsl-c2:var(--base-hue),40%,90%;--hsl-l1:var(--base-hue),40%,80%;--hsl-l2:var(--base-hue),40%,75%;--hsl-l3:var(--base-hue),40%,70%;--hsl-l4:var(--base-hue),40%,50%;--hsl-d1:var(--base-hue),20%,35%;--hsl-d2:var(--base-hue),20%,30%;--hsl-d3:var(--base-hue),20%,25%;--hsl-d4:var(--base-hue),20%,20%;--hsl-d5:var(--base-hue),20%,15%;--hsl-d6:var(--base-hue),20%,10%;--hsl-f1:var(--base-hue),10%,60%;--hsl-b1:var(--base-hue),10%,40%;--hsl-b2:var(--base-hue),10%,30%;--hsl-b3:var(--base-hue),10%,25%;--hsl-b4:var(--base-hue),10%,20%;--hsl-b5:var(--base-hue),10%,15%;--hsl-b6:var(--base-hue),10%,10%;--c-saturation-1:100%;--c-saturation-2:80%;--c-saturation-3:60%;--c-saturation-4:40%;--c-lightness-1:70%;--c-lightness-2:60%;--c-lightness-3:50%;--c-lightness-4:30%;--colour-pink-hue:333;--hsl-pink-1:var(--colour-pink-hue),var(--c-saturation-1),var(--c-lightness-1);--hsl-pink-2:var(--colour-pink-hue),var(--c-saturation-2),var(--c-lightness-2);--hsl-pink-3:var(--colour-pink-hue),var(--c-saturation-3),var(--c-lightness-3);--hsl-pink-4:var(--colour-pink-hue),var(--c-saturation-4),var(--c-lightness-4);--colour-purple-hue:255;--hsl-purple-1:var(--colour-purple-hue),var(--c-saturation-1),var(--c-lightness-1);--hsl-purple-2:var(--colour-purple-hue),var(--c-saturation-2),var(--c-lightness-2);--hsl-purple-3:var(--colour-purple-hue),var(--c-saturation-3),var(--c-lightness-3);--hsl-purple-4:var(--colour-purple-hue),var(--c-saturation-4),var(--c-lightness-4);--colour-blue-hue:200;--hsl-blue-1:var(--colour-blue-hue),var(--c-saturation-1),var(--c-lightness-1);--hsl-blue-2:var(--colour-blue-hue),var(--c-saturation-2),var(--c-lightness-2);--hsl-blue-3:var(--colour-blue-hue),var(--c-saturation-3),var(--c-lightness-3);--hsl-blue-4:var(--colour-blue-hue),var(--c-saturation-4),var(--c-lightness-4);--colour-green-hue:125;--hsl-green-1:var(--colour-green-hue),var(--c-saturation-1),var(--c-lightness-1);--hsl-green-2:var(--colour-green-hue),var(--c-saturation-2),var(--c-lightness-2);--hsl-green-3:var(--colour-green-hue),var(--c-saturation-3),var(--c-lightness-3);--hsl-green-4:var(--colour-green-hue),var(--c-saturation-4),var(--c-lightness-4);--colour-lime-hue:90;--hsl-lime-1:var(--colour-lime-hue),var(--c-saturation-1),var(--c-lightness-1);--hsl-lime-2:var(--colour-lime-hue),var(--c-saturation-2),var(--c-lightness-2);--hsl-lime-3:var(--colour-lime-hue),var(--c-saturation-3),var(--c-lightness-3);--hsl-lime-4:var(--colour-lime-hue),var(--c-saturation-4),var(--c-lightness-4);--colour-orange-hue:45;--hsl-orange-1:var(--colour-orange-hue),var(--c-saturation-1),var(--c-lightness-1);--hsl-orange-2:var(--colour-orange-hue),var(--c-saturation-2),var(--c-lightness-2);--hsl-orange-3:var(--colour-orange-hue),var(--c-saturation-3),var(--c-lightness-3);--hsl-orange-4:var(--colour-orange-hue),var(--c-saturation-4),var(--c-lightness-4);--colour-red-hue:360;--hsl-red-1:var(--colour-red-hue),var(--c-saturation-1),var(--c-lightness-1);--hsl-red-2:var(--colour-red-hue),var(--c-saturation-2),var(--c-lightness-2);--hsl-red-3:var(--colour-red-hue),var(--c-saturation-3),var(--c-lightness-3);--hsl-red-4:var(--colour-red-hue),var(--c-saturation-4),var(--c-lightness-4);--colour-darkorange-hue:20;--hsl-darkorange-1:var(--colour-darkorange-hue),var(--c-saturation-1),var(--c-lightness-1);--hsl-darkorange-2:var(--colour-darkorange-hue),var(--c-saturation-2),var(--c-lightness-2);--hsl-darkorange-3:var(--colour-darkorange-hue),var(--c-saturation-3),var(--c-lightness-3);--hsl-darkorange-4:var(--colour-darkorange-hue),var(--c-saturation-4),var(--c-lightness-4)} +/*# sourceMappingURL=app.0808274b.css.map*/ \ No newline at end of file diff --git "a/teto/(42) teto bread \302\267 chat _ osu!_files/app.46ed236c_LWMq.js" "b/teto/(42) teto bread \302\267 chat _ osu!_files/app.46ed236c_LWMq.js" new file mode 100644 index 0000000..39f55f0 --- /dev/null +++ "b/teto/(42) teto bread \302\267 chat _ osu!_files/app.46ed236c_LWMq.js" @@ -0,0 +1,2 @@ +(self.webpackChunk=self.webpackChunk||[]).push([[524],{1461(){window.Timeout=function(){function e(){}return e.clear=function(e){return clearTimeout(e)},e.set=function(e,t){return setTimeout(t,e)},e}()},1816(e,t,r){var n,i=r(4692);n=i({}),i.subscribe=n.on.bind(n),i.unsubscribe=n.off.bind(n),i.publish=n.trigger.bind(n)},3177(e,t,r){"use strict";r(89);var n=r(6588),i=r(3944);Turbo.config.drive.progressBarDelay=0,document.addEventListener("turbo:visit",n.MB),document.addEventListener("turbo:before-cache",n.vV),document.addEventListener("turbo:load",n.vV),document.addEventListener("turbo:submit-start",e=>{"0"!==e.detail.formSubmission.formElement.dataset.loadingOverlay&&(0,n.MB)()}),document.addEventListener("turbo:submit-end",n.vV),document.addEventListener("turbo:submit-end",e=>{e.detail.success&&"1"===e.detail.formSubmission.formElement.dataset.reloadOnSuccess&&(0,i.T8)()}),document.addEventListener("turbo:before-fetch-response",e=>{"redirect"===e.detail.fetchResponse.header("x-turbo-action")&&(e.preventDefault(),e.detail.fetchResponse.responseText.then(e=>{const[t,r]=[document.location.href,e].map(e=>e.replace(/#.*/,""));t===r?Turbo.visit(e,{action:"replace"}):Turbo.visit(e)}))}),document.addEventListener("turbo:click",e=>{const t=document.location.href,r=e.detail.url;if(t===r)return;if(t.replace(/#.*/,"")===r.replace(/#.*/,""))return void e.preventDefault();const n=new URL(r);n.origin===Turbo.session.navigator.rootLocation.origin&&null===n.pathname.match(/^\/(?:(?:api|d|osu|p|ss|web)\/|(?:beatmapsets|scores(?:\/[^\d]+)?)\/\d+\/download(?:\?|$))/)||e.preventDefault()});var s=r(4692),o=r.n(s);r(2125),r(5475),r(1426),r(8255),r(9983),r(4720),r(5285),r(8497),r(7249);window.$=window.jQuery=o();r(7766);function a(e,t){return"pt-br"===t&&(t="pt"),this._origGetPluralForm(e,t)}var l,u=r(1035),c=r.n(u),h=r(7813),d=r(5093),p=r(3135);null!==(l=window.LangMessages)&&void 0!==l||(window.LangMessages={}),window.Lang=function(e){return e._origGetPluralForm=e._getPluralForm,e._getPluralForm=a,e}(new(c())({fallback:window.fallbackLocale,locale:window.currentLocale,messages:window.LangMessages})),window.moment=d,window.popup=p.l,window.reloadPage=i.T8,window._styles={header:{height:90,heightMobile:50,heightSticky:50}},(0,h.jK)({computedRequiresReaction:!0});r(1816),r(1461);var m=r(9981),f=r(1883);function g(e){const t=window.newBody;if(null==t)return;const r=t.querySelector(".js-store-add-to-cart");null!=r&&(r.disabled=!e)}var v,b,y,w=r(4692),k=r(2543);y=function(){return g(!1),w("#username-check-price").text("")},v=function(){var e,t;return e=w("#username-check-status"),t=w(".js-username-change-input").val(),w.post((0,m.w)("users.check-username-availability"),{username:t}).done(function(t){if(t.username===w(".js-username-change-input").val())return t.available?(g(!0),w("#username-check-price").text(t.costString),w("#username-form-price").val(t.cost)):y(),e.html(t.message),e.toggleClass("green-dark",t.available),e.toggleClass("pink-dark",!t.available)}).fail(function(e,t){return w(".js-username-change-input").trigger("ajax:error",[e,t]).one("click",v)})},b=k.debounce(v,300),w(document).on("input",".js-username-change-input",function(e){var t,r,n;return r=e.currentTarget,t=w("#username-check-status"),n=r.value,t.removeClass("green-dark"),t.removeClass("pink-dark"),y(),0===n.length?t.text((0,f.pw)("store.username_change.check")):(t.text((0,f.pw)("store.username_change.checking",{username:n})),b())}),w(document).on("turbo:load",function(){if(0!==w(".js-username-change-input").length)return y()});r(7674);var j=r(6407),E=r(4692),_=r(2543);E(document).on("ajax:before",function(){return(0,n.MB)(),E(document).one("ajax:complete.ujsHideLoadingOverlay",n.vV)}),E(document).on("ajax:success",function(e,t){var r,n;return n=function(){if(!_.isEmpty(null!=t?t.message:void 0))return(0,p.l)(t.message,"success")},"1"===e.target.getAttribute("data-reload-on-success")?(r="1"===e.target.getAttribute("data-reload-reset-scroll"),E(document).one("turbo:load",n),(0,i.T8)(!r)):n()}),E(document).on("ajax:error",function(e,t){if("1"!==e.target.dataset.skipAjaxErrorPopup&&401!==t.status)return(0,j.S5)(t)});r(3724);var x=r(256),P=r(4692);P(document).on("keypress",".js-auto-submit",function(e){if(13===e.which)return e.preventDefault(),P(e.target).trigger("change")}),P(document).on("change",".js-auto-submit",function(e){var t;if((t=P(e.target)).val()!==t.data("last-submitted-value"))return t.data("last-submitted-value",t.val()),t.parents("form").submit()}),P(document).on("keypress",".content-editable-submit",function(e){if(13===e.which)return e.preventDefault(),P(e.target).trigger("blur")}),P(document).on("blur",".content-editable-submit",function(e){var t,r,n;if((r=P(e.target)).html()!==r.data("last-submitted-value"))return r.data("last-submitted-value",r.html()),t=r.parents("form"),(n=P(document.createElement("input"))).attr("type","hidden"),n.attr("name",r.attr("data-name")),n.attr("value",r.html()),t.append(n),t.submit(),n.remove()}),P(document).on("turbo:load",function(){return P(".content-editable-submit").each(function(e,t){var r;return(r=P(t)).data("last-submitted-value",r.html())})}),P(document).on("click","#popup-container, #overlay",function(e){var t;return P("#overlay").fadeOut(),(t=P(".popup-active")).fadeOut(null,function(){return t.remove()})}),P(document).on("click",".clickable-row",function(e){var t,r,n;if(n=e.target,!(0,x.JD)(n))return(r=e.currentTarget).classList.contains("clickable-row-link")?r.click():null!=(t=r.getElementsByClassName("clickable-row-link")[0])?t.click():void 0}),P(document).on("keydown",".js-quick-submit",function(e){if((e.ctrlKey||e.metaKey)&&"Enter"===e.key)return e.preventDefault(),P(e.target).closest("form").submit()}),P(document).on("ajax:beforeSend",function(e){var t,r,n,i,s,o;if((r=e.target)._submitting)return!1;for(r._submitting=!0,r._ujsSubmitDisabled=[],o=[],n=0,i=(s=r.querySelectorAll(".js-ujs-submit-disable")).length;ni.max}},e}();var D=r(9365),B=r(2543),q=function(e,t){return function(){return e.apply(t,arguments)}};const F=function(){function e(e){var t;this.resize=q(this.resize,this),this.recalc=q(this.recalc,this),this.reveal=q(this.reveal,this),this.drawLine=q(this.drawLine,this),this.setSvgSize=q(this.setSvgSize,this),this.setLineSize=q(this.setLineSize,this),this.setScalesRange=q(this.setScalesRange,this),this.setDimensions=q(this.setDimensions,this),this.loadData=q(this.loadData,this),this.hide=q(this.hide,this),this.options={scales:{x:D.scaleLinear(),y:D.scaleLinear()}},this.margin=3,this.area=D.select(e),this.area.selectAll(".fancy-graph").remove(),this.svg=this.area.append("svg").classed("fancy-graph",!0),this.svgWrapper=this.svg.append("g"),this.svgLine=this.svgWrapper.append("path").classed("fancy-graph__line",!0).attr("opacity",0),this.line=D.line().curve(D.curveMonotoneX),this.svgEndCircle=this.svgWrapper.append("circle").classed("fancy-graph__circle",!0).attr("r",3).attr("opacity",0),t=JSON.parse(e.dataset.chartData),this.loadData(t)}return e.prototype.hide=function(){return this.svgEndCircle.attr("opacity",0),this.svgLine.attr("opacity",0)},e.prototype.loadData=function(e){if(!B.isEqual(e,this.data))return this.data=null!=e?e:[],this.svgLine.datum(this.data),this.reveal()},e.prototype.setDimensions=function(){var e;return e=this.area.node().getBoundingClientRect(),this.width=e.width,this.height=e.height},e.prototype.setScalesRange=function(){var e,t,r,n;return this.options.scales.x.range([0,this.width-this.margin]).domain(null!=(e=null!=(t=this.options.domains)?t.x:void 0)?e:D.extent(this.data,function(e){return e.x})),this.options.scales.y.range([this.height-this.margin,this.margin]).domain(null!=(r=null!=(n=this.options.domains)?n.y:void 0)?r:D.extent(this.data,function(e){return e.y}))},e.prototype.setLineSize=function(){var e,t;if(this.line.x((t=this,function(e){return t.options.scales.x(e.x)})).y(function(e){return function(t){return e.options.scales.y(t.y)}}(this)),null!=(e=B.last(this.data)))return this.svgEndCircle.attr("cx",Math.round(this.options.scales.x(e.x))).attr("cy",Math.round(this.options.scales.y(e.y)))},e.prototype.setSvgSize=function(){return this.svg.attr("width",this.width).attr("height",this.height)},e.prototype.drawLine=function(){return this.svgLine.attr("stroke-dasharray",0).attr("d",this.line)},e.prototype.reveal=function(){var e;return null==this.data[0]?this.hide():(this.recalc(),this.svgLine.attr("d",this.line),e=this.svgLine.node().getTotalLength(),this.svgEndCircle.attr("opacity",0),this.svgLine.attr("stroke-dasharray",e).attr("stroke-dashoffset",e).transition().delay(400).duration(1e3).ease(D.easeSinOut).attr("stroke-dashoffset",0).attr("opacity",1),this.svgEndCircle.transition().delay(1300).duration(300).ease(D.easeSinOut).attr("opacity",1))},e.prototype.recalc=function(){return this.setDimensions(),this.setScalesRange(),this.setSvgSize(),this.setLineSize()},e.prototype.resize=function(){return this.recalc(),this.drawLine()},e}();var U=r(4692),V=function(e,t){return function(){return e.apply(t,arguments)}};const z=function(){function e(){this.resize=V(this.resize,this),this.initialize=V(this.initialize,this),U(window).on("resize",this.resize),U(document).on("turbo:load",this.initialize)}return e.prototype.container=document.getElementsByClassName("js-fancy-graph"),e.prototype.initialize=function(){var e;if(null!=this.container[0])return null!=(e=this.container[0])._chart?e._chart:e._chart=new F(this.container[0])},e.prototype.resize=function(){var e;if(null!=this.container[0])return null!=(e=this.container[0]._chart)?e.resize():void 0},e}();var $=r(4692);const W=function(){function e(){$(document).on("ajax:success",".js-form-clear",this.clear)}return e.prototype.clear=function(e){return e.currentTarget.reset()},e}();var X=r(4692),H=r(2543),G=function(e,t){return function(){return e.apply(t,arguments)}};const Z=function(){function e(e){this.formError=e,this.onInput=G(this.onInput,this),this.boot=G(this.boot,this),X(document).on("input",".js-form-confirmation",this.onInput)}return e.prototype.boot=function(e){var t,r,n;if(null==e.formConfirmation)return r={},H.endsWith(e.name,"_confirmation")||H.endsWith(e.name,"_confirmation]")?(n=e.name.replace(/_confirmation(]?)$/,"$1"),r.confirmation=e,r.main=X(e).closest("form").find("[name='"+n+"']")[0]):(t=e.name.replace(/(]?)$/,"_confirmation$1"),r.main=e,r.confirmation=X(e).closest("form").find("[name='"+t+"']")[0]),r.main.formConfirmation=r,r.confirmation.formConfirmation=r},e.prototype.onInput=function(e){var t,r,n,i;return t=e.currentTarget,this.boot(t),i=(r=t.formConfirmation).main.value,n=r.confirmation.value,0===i.length||0===n.length||i===n?this.formError.setOneError(r.confirmation,[]):this.formError.setOneError(r.confirmation,[(0,f.pw)("model_validation.wrong_confirmation")])},e}();var K=r(2599),J=r(4692),Q=function(e,t){return function(){return e.apply(t,arguments)}};const Y=function(){function e(){this.setOneError=Q(this.setOneError,this),this.setError=Q(this.setError,this),this.showError=Q(this.showError,this),this.clearError=Q(this.clearError,this),J(document).on("ajax:error",".js-form-error",this.showError),J(document).on("ajax:success",".js-form-error",this.clearError)}return e.prototype.clearError=function(e){return this.setError(e.target)},e.prototype.showError=function(e,t){var r,n;return null==(r=null!=(n=t.responseJSON)?n.form_error:void 0)?(0,j.S5)(t):this.setError(e.target,(0,K.FI)(r))},e.prototype.setError=function(e,t){return J(e).find("[name]").each((r=this,function(e,n){return r.setOneError(n,null!=t?t.get(n.name):void 0)}));var r},e.prototype.setOneError=function(e,t){var r;return null==t&&(t=[]),r=t.length>0?"error":"",J(e).closest("label, .js-form-error--field").attr("data-form-error-state",r).find(".js-form-error--error").text(t.join(" "))},e}();var ee=r(4692),te=function(e,t){return function(){return e.apply(t,arguments)}};const re=function(){function e(){this.sync=te(this.sync,this),this.onChange=te(this.onChange,this),addEventListener("turbo:load",this.sync),ee(document).on("change",".js-form-toggle--input",this.onChange)}return e.prototype.onChange=function(e){return this.toggle(e.currentTarget)},e.prototype.sync=function(){var e,t,r,n,i;for(i=[],e=0,n=(r=document.getElementsByClassName("js-form-toggle--input")).length;ethis.totalPosts()&&this.setTotalPosts(this.currentPostPosition),ne(this.postUrlN(this.currentPostPosition)),this._postsCounter[0].textContent=(0,x.ZV)(this.currentPostPosition),this._postsProgress[0].style.width=100*this.currentPostPosition/this.totalPosts()+"%"},e.prototype.endPost=function(){return this.posts[this.posts.length-1]},e.prototype.startingPostLoaded=function(){var e,t;return(t="1"===(e=document.querySelector(".js-forum__posts-show-more--previous")).dataset.noMore)||(t=this.postId(this.posts[0])<=this.firstPostId())&&(e.dataset.noMore="1"),t},e.prototype.lastPostLoaded=function(){var e,t;return(e="1"===(t=document.querySelector(".js-forum__posts-show-more--next")).dataset.noMore)||(e=this.postPosition(this.endPost())>=this.totalPosts())&&(t.dataset.noMore="1"),e},e.prototype.refreshLoadMoreLinks=function(){var e,t;if(this.loadMoreLinks.length)return t=this.startingPostLoaded(),ae(".js-header--main").toggleClass("hidden",!t),ae(".js-header--alt").toggleClass("hidden",t),e=this.lastPostLoaded(),ae(".js-forum__posts-show-more--next").toggleClass("hidden",e),this.userCanModerate()||ae(".js-post-delete-toggle").hide(),e?ae(this.endPost()).find(".js-post-delete-toggle").css({display:""}):void 0},e.prototype.refreshCounter=function(){var e,t,r,n,i,s,o;if(!this.refreshCounterPaused&&0!==this._postsCounter.length){if(e=null,(0,x.rJ)())e=this.posts[this.posts.length-1];else for(o=T.A.stickyHeader.scrollOffsetValue,t=0,r=(s=this.posts).length;tdocument.documentElement.clientHeight+this._triggerDistance))return this.commonClick(this.nextLink)},e.prototype.onLoad=function(){if(window.removeEventListener("scroll",this.throttledOnScroll),this.nextLink=document.querySelector(".js-forum__posts-show-more--next"),this.previousLink=document.querySelector(".js-forum__posts-show-more--previous"),null!=this.nextLink&&null!=this.previousLink)return this.throttledOnScroll(),window.addEventListener("scroll",this.throttledOnScroll)},e.prototype.onScroll=function(){return this.previousClick(),this.nextClick()},e.prototype.previousClick=function(){if(null!=this.previousLink&&!(this.previousLink.getBoundingClientRect().top<-this._triggerDistance))return this.commonClick(this.previousLink)},e}();var me=r(7634),fe=r(4692),ge=function(e,t){return function(){return e.apply(t,arguments)}};const ve=function(){function e(){var e;this.refresh=ge(this.refresh,this),this.remove=ge(this.remove,this),this.updateOptions=ge(this.updateOptions,this),this.update=ge(this.update,this),this.setOverlay=ge(this.setOverlay,this),this.initFileupload=ge(this.initFileupload,this),this.isModalOpen=ge(this.isModalOpen,this),this.hasCoverEditor=ge(this.hasCoverEditor,this),this.hasCover=ge(this.hasCover,this),this.checkModal=ge(this.checkModal,this),this.$uploadButton=ge(this.$uploadButton,this),this.header=document.getElementsByClassName("js-forum-cover--header"),this.uploadButton=document.getElementsByClassName("js-forum-cover--upload-button"),this.removeButton=document.getElementsByClassName("js-forum-cover--remove-button"),this.overlay=document.getElementsByClassName("js-forum-cover--overlay"),this.loading=document.getElementsByClassName("js-forum-cover--loading"),this.modal=document.getElementsByClassName("js-forum-cover--modal"),fe.subscribe("click-menu:current",this.checkModal),fe(document).on("click",".js-forum-cover--remove-button",this.remove),fe.subscribe("dragenterGlobal",(e=this,function(){return e.setOverlay("active")})),fe.subscribe("dragendGlobal",function(e){return function(){return e.setOverlay("hidden")}}(this)),fe(document).on("dragenter",".js-forum-cover--overlay",function(e){return function(){return e.setOverlay("hover")}}(this)),fe(document).on("dragleave",".js-forum-cover--overlay",function(e){return function(){return e.setOverlay("active")}}(this)),fe(document).on("turbo:load",this.refresh)}return e.prototype.$uploadButton=function(){return fe(this.uploadButton[0])},e.prototype.checkModal=function(e,t){if("forum-cover-edit"===t.target)return this.initFileupload()},e.prototype.hasCover=function(){return"post"!==this.uploadButton[0].dataset.customMethod},e.prototype.hasCoverEditor=function(){return this.uploadButton.length>0},e.prototype.isModalOpen=function(e){var t;return!!this.hasCoverEditor()&&"hidden"!==(null!=(t=this.modal[0])?t.dataset.visibility:void 0)},e.prototype.initFileupload=function(){var e,t;if(this.isModalOpen()&&!this.uploadButton[0]._initialized)return this.uploadButton[0]._initialized=!0,e=fe(".js-forum-cover--modal"),this.$uploadButton().fileupload({method:"POST",paramName:"cover_file",dataType:"json",dropZone:e,submit:(t=this,function(){return t.uploadButton[0].dataset.state="loading"}),done:function(e){return function(t,r){return e.update(r.result)}}(this),fail:j.ho,complete:function(e){return function(t,r){return e.uploadButton[0].dataset.state=""}}(this)}),this.updateOptions()},e.prototype.setOverlay=function(e){if(this.hasCoverEditor()&&e!==this.overlay[0].getAttribute("data-state"))return this.overlay[0].setAttribute("data-state",e)},e.prototype.update=function(e){return fe(".js-forum-cover--input").val(e.id),this.uploadButton[0].dataset.url=e.url,this.uploadButton[0].dataset.customMethod=e.method,this.uploadButton[0].dataset.fileUrl=e.fileUrl||"",this.updateOptions(),this.refresh()},e.prototype.updateOptions=function(){if(this.uploadButton[0]._initialized)return this.$uploadButton().fileupload("option",{url:this.uploadButton[0].dataset.url,formData:{_method:this.uploadButton[0].dataset.customMethod}})},e.prototype.remove=function(e){var t;if((e.preventDefault(),this.hasCover())&&confirm(e.currentTarget.dataset.destroyConfirm))return this.removeButton[0].dataset.state="loading",fe.ajax({url:this.uploadButton[0].dataset.url,method:"delete"}).done((t=this,function(e){return t.update(e)})).always(function(e){return function(){return e.removeButton[0].dataset.state=""}}(this))},e.prototype.refresh=function(){var e,t;if(this.hasCoverEditor())return e=this.uploadButton[0].dataset.fileUrl||this.uploadButton[0].dataset.defaultFileUrl,fe(this.header).css({backgroundImage:null!=(t=(0,me.NZ)(e))?t:""}),this.removeButton[0].disabled=!this.hasCover(),this.initFileupload()},e}();var be=r(1491),ye=r(4692),we=function(e,t){return function(){return e.apply(t,arguments)}};const ke=function(){function e(e){this.forum=e,this.setPostPosition=we(this.setPostPosition,this),this.reset=we(this.reset,this),this.jump=we(this.jump,this),this.click=we(this.click,this),this.move=we(this.move,this),this.hideTooltip=we(this.hideTooltip,this),this.tooltip=document.getElementsByClassName("js-forum-posts-seek--tooltip"),this.tooltipNumber=document.getElementsByClassName("js-forum-posts-seek-tooltip-number"),this.seekbar=document.getElementsByClassName("js-forum__posts-seek"),ye(document).on("mousemove",".js-forum__posts-seek",this.move),ye(document).on("mouseleave",".js-forum__posts-seek",this.hideTooltip),ye(document).on("click",".js-forum__posts-seek",this.click),ye(document).on("click",".js-forum-posts-seek--jump",this.jump),addEventListener("turbo:before-cache",this.reset)}return e.prototype.hideTooltip=function(){if(0!==this.tooltip.length)return(0,be.Xn)(this.tooltip[0])},e.prototype.move=function(e){return e.preventDefault(),e.stopPropagation(),this.setPostPosition(e.clientX),(0,be.qG)(this.tooltip[0]),Timeout.clear(this._autohide),this._autohide=Timeout.set(1e3,this.hideTooltip)},e.prototype.click=function(){return this.forum.jumpTo(this.postPosition)},e.prototype.jump=function(e){var t,r,n,i,s,o,a,l;return e.preventDefault(),r=this.forum.currentPostPosition,l=this.forum.totalPosts(),t=ye(e.currentTarget),i=t.attr("data-jump-target"),a=function(){switch(i){case"first":return 1;case"last":return l;case"previous":return n=r-10,o=this.forum.postPosition(this.forum.posts[0]),Math.max(n,o);case"next":return n=r+10,s=this.forum.postPosition(this.forum.endPost()),Math.min(n,s)}}.call(this),t.blur(),this.forum.jumpTo(a)},e.prototype.reset=function(){return Timeout.clear(this._autohide),this.hideTooltip()},e.prototype.setPostPosition=function(e){var t,r,n;return t=e/this.seekbar[0].offsetWidth,n=this.forum.totalPosts(),r=Math.ceil(t*this.forum.totalPosts()),r=Math.min(r,n),this.postPosition=Math.max(r,1),this.tooltip[0].style.transform="translateX("+e+"px)",this.tooltipNumber[0].textContent=this.postPosition},e}();var je=r(4692),Ee=function(e,t){return function(){return e.apply(t,arguments)}};const _e=function(){function e(e){this.forum=e,this.start=Ee(this.start,this),this.keyup=Ee(this.keyup,this),this.end=Ee(this.end,this),je(document).on("click",".js-forum-topic-post-jump--cover",this.start),je(document).on("blur",".js-forum-topic-post-jump--input",this.end),je(document).on("keyup",".js-forum-topic-post-jump--input",this.keyup),je.subscribe("forum:topic:jumpTo",this.end)}return e.prototype.end=function(){return je(".js-forum-topic-post-jump--container").removeClass("js-forum-topic-post-jump--container-focus"),je(".js-forum-topic-post-jump--cover").show(),je(".js-forum-topic-post-jump--counter").show(),je(".js-forum-topic-post-jump--input").hide()},e.prototype.keyup=function(e){var t,r,n;if("Escape"!==e.key){if(r=(n=(t=e.currentTarget).value).replace(/\D/g,""),n!==r)return t.value=r}else je(e.currentTarget).blur()},e.prototype.start=function(){var e;return je(".js-forum-topic-post-jump--container").addClass("js-forum-topic-post-jump--container-focus"),je(".js-forum-topic-post-jump--cover").hide(),je(".js-forum-topic-post-jump--counter").hide(),(e=je(".js-forum-topic-post-jump--input").val(this.forum.currentPostPosition).show().focus())[0].selectionStart=0,e[0].selectionEnd=e.val().length},e}();var xe=r(4692),Pe=function(e,t){return function(){return e.apply(t,arguments)}};const Te=function(){function e(e){this.bbcodePreview=e.bbcodePreview,this.forum=e.forum,this.stickyFooter=e.stickyFooter,this.toggleStick=Pe(this.toggleStick,this),this.toggleDeactivate=Pe(this.toggleDeactivate,this),this.toggle=Pe(this.toggle,this),this.stickOrUnstick=Pe(this.stickOrUnstick,this),this.posted=Pe(this.posted,this),this.enableFlash=Pe(this.enableFlash,this),this.deactivateOnEscape=Pe(this.deactivateOnEscape,this),this.deactivate=Pe(this.deactivate,this),this.activateWithReply=Pe(this.activateWithReply,this),this.activate=Pe(this.activate,this),this.setState=Pe(this.setState,this),this.getState=Pe(this.getState,this),this.deleteState=Pe(this.deleteState,this),this.available=Pe(this.available,this),this.initialize=Pe(this.initialize,this),this.container=document.getElementsByClassName("js-forum-topic-reply--container"),this.box=document.getElementsByClassName("js-forum-topic-reply"),this.block=document.getElementsByClassName("js-forum-topic-reply--block"),this.input=document.getElementsByClassName("js-forum-topic-reply--input"),this.toggleButtons=document.getElementsByClassName("js-forum-topic-reply--toggle"),this.fixedBar=document.getElementsByClassName("js-sticky-footer--fixed-bar"),xe(document).on("ajax:success",".js-forum-topic-reply",this.posted),xe(document).on("click",".js-forum-topic-reply--deactivate",this.toggleDeactivate),xe(document).on("click",".js-forum-topic-reply--toggle",this.toggle),xe(document).on("ajax:success",".js-forum-topic-reply--quote",this.activateWithReply),xe(document).on("focus",".js-forum-topic-reply--input",this.activate),document.addEventListener("keyup",this.deactivateOnEscape),xe.subscribe("stickyFooter",this.stickOrUnstick),xe(document).on("turbo:load",this.initialize)}return e.prototype.marker=function(){return document.querySelector('.js-sticky-footer[data-sticky-footer-target="forum-topic-reply"]')},e.prototype.$input=function(){return xe(".js-forum-topic-reply--input")},e.prototype.initialize=function(){if(this.available())return this.deleteState("sticking"),"1"===this.getState("active")?this.activate():void 0},e.prototype.available=function(){return this.block.length},e.prototype.deleteState=function(e){return localStorage.removeItem("forum-topic-reply--"+(0,i.bS)().pathname+"--"+e)},e.prototype.getState=function(e){return localStorage.getItem("forum-topic-reply--"+(0,i.bS)().pathname+"--"+e)},e.prototype.setState=function(e,t){return localStorage.setItem("forum-topic-reply--"+(0,i.bS)().pathname+"--"+e,t)},e.prototype.activate=function(){var e,t,r,n;for(this.setState("active","1"),this.stickyFooter.markerEnable(this.marker()),xe.publish("stickyFooter:check"),e=0,t=(r=this.toggleButtons).length;e{const e=this.button();return null!=e&&null!=e.dataset.contestVoteMeta?JSON.parse(e.dataset.contestVoteMeta):{hasVote:!1,isLoading:!1,isSelected:!1,votingOver:!1}}}),Object.defineProperty(this,"buttonTitle",{enumerable:!0,configurable:!0,writable:!0,value:()=>{if(!this.state.isLoading&&!this.state.button.votingOver)return this.state.button.isSelected?(0,f.pw)("contest.voting.button.remove"):this.state.button.hasVote?(0,f.pw)("contest.voting.button.add"):(0,f.pw)("contest.voting.button.used_up")}}),Object.defineProperty(this,"isDisabled",{enumerable:!0,configurable:!0,writable:!0,value:()=>this.state.isLoading||this.state.button.votingOver||!this.state.button.isSelected&&!this.state.button.hasVote}),Object.defineProperty(this,"loadingEnd",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.setState({isLoading:!1}),this.syncState()}}),Object.defineProperty(this,"loadingStart",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.setState({isLoading:!0})}}),Object.defineProperty(this,"mainClass",{enumerable:!0,configurable:!0,writable:!0,value:()=>{let e="pswp__button pswp__button--contest-vote js-gallery-extra";return this.state.button.isSelected&&(e+=" pswp__button--contest-vote-active"),this.isDisabled()&&(e+=" pswp__button--disabled"),e}}),Object.defineProperty(this,"resetTooltip",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const e=this.mainRef.current;null!=e&&tooltipDefault.remove(e)}}),Object.defineProperty(this,"syncState",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.setState({button:this.buttonState()})}}),Object.defineProperty(this,"vote",{enumerable:!0,configurable:!0,writable:!0,value:()=>{if(this.isDisabled())return;const e=this.button();null!=e&&e.click()}}),this.state={button:this.buttonState(),isLoading:!1}}componentDidMount(){Re.subscribe(`contest:vote:click.${this.eventId}`,this.loadingStart),Re.subscribe(`contest:vote:end.${this.eventId}`,this.loadingEnd),this.props.pswp.listen("afterChange",this.syncState)}componentDidUpdate(){this.resetTooltip()}componentWillUnmount(){Re.unsubscribe(`.${this.eventId}`)}render(){return Ae.createElement("button",{ref:this.mainRef,className:this.mainClass(),onClick:this.vote,title:this.buttonTitle()},Ae.createElement("span",{className:this.iconClass()}))}button(){if(null==this.props.pswp.currItem)return;const e=this.props.pswp.currItem.element.dataset.buttonId;return document.querySelector(`.js-contest-vote-button[data-button-id='${e}']`)}iconClass(){return this.state.isLoading?"fas fa-sync fa-spin":"fas fa-star"}}var Be=r(5325),qe=r(4692);class Fe extends Ae.PureComponent{constructor(e){super(e),Object.defineProperty(this,"getVoteState",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e;return JSON.parse(null!==(e=this.voteSummary().dataset.contestVoteSummary)&&void 0!==e?e:"")}}),Object.defineProperty(this,"syncState",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.setState(this.getVoteState())}}),Object.defineProperty(this,"voteSummary",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const e=document.querySelector(".js-contest-vote-summary");if(e instanceof HTMLElement)return e;throw new Error(".js-contest-vote-summary is not HTMLElement")}}),this.state=this.getVoteState()}componentDidMount(){qe.subscribe("contest:vote:end",this.syncState)}componentWillUnmount(){qe.unsubscribe("contest:vote:end",this.syncState)}render(){return Ae.createElement("div",{className:"pswp__button pswp__button--vote-progress"},Ae.createElement(Be.P,{current:this.state.voteCount,max:this.state.maxVotes,theme:"gallery-contest",tooltip:(0,f.pw)("contest.voting.progress._",{max:this.state.maxVotes,used:this.state.voteCount})}))}}var Ue=r(961),Ve=r(4692);class ze{constructor(e,t){Object.defineProperty(this,"eventId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"root",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"destroy",{enumerable:!0,configurable:!0,writable:!0,value:()=>{(0,Ue.unmountComponentAtNode)(this.root),Ve(document).off(`.${this.eventId}`)}}),this.root=e.querySelector(".js-pswp-buttons"),(0,Ue.render)(Ae.createElement(Ae.Fragment,null,Ae.createElement(De,{pswp:t}),Ae.createElement(Fe,null)),this.root),this.eventId=`gallery-contest-${(0,Ie.L)()}`,Ve(document).on(`turbo:before-cache.${this.eventId}`,this.destroy),t.listen("destroy",this.destroy)}}var $e=r(5388),We=r.n($e),Xe=r(7855),He=r.n(Xe),Ge=r(4692),Ze=r(2543),Ke=function(e,t){return function(){return e.apply(t,arguments)}};const Je=function(){function e(){this.switchPreview=Ke(this.switchPreview,this),this.thumbBoundsFn=Ke(this.thumbBoundsFn,this),this.open=Ke(this.open,this),this.initiateOpen=Ke(this.initiateOpen,this),this.container=document.getElementsByClassName("pswp"),Ge(document).on("click",".js-gallery",this.initiateOpen),Ge(document).on("click",".js-gallery-thumbnail",this.switchPreview),Ge(document).on("turbo:before-cache",function(){return Ge(".js-gallery--container").remove()})}return e.prototype.initiateOpen=function(e){var t,r,n;if(!(t=Ge(e.currentTarget)).parents("a").length)return e.preventDefault(),n=parseInt(t.attr("data-index"),10),r=t.attr("data-gallery-id"),this.open({galleryId:r,index:n})},e.prototype.open=function(e){var t,r,n,i;return r=e.galleryId,n=e.index,(t=this.container[0].cloneNode(!0)).classList.add("js-gallery--container"),document.body.appendChild(t),i=new(We())(t,He(),this.data(r),{showHideOpacity:!0,getThumbBoundsFn:this.thumbBoundsFn(r),index:n,history:!1,timeToIdle:null}),Ze.startsWith(r,"contest-")&&new ze(t,i),i.init(),Ge(document).one("gallery:close",function(){try{return i.close()}catch(e){}})},e.prototype.data=function(e){var t,r,n,i,s,o,a;for(o=[],r=0,n=(i=document.querySelectorAll(".js-gallery[data-gallery-id='"+e+"']")).length;r{0!==this.data.length&&(this.width=parseInt(this.svgContainerOuter.style("width"),10)-it-st,this.height=parseInt(this.svgContainerOuter.style("height"),10)-ot-nt,this.scaleX.range([0,this.width]),this.scaleY.range([this.height,0]),this.svgContainerInner.attr("width",this.width+it+st).attr("height",this.height+ot+nt),this.svgArea.datum(this.data).attr("d",this.area),this.svgPeakCircle.attr("cx",this.scaleX(this.maxElem.x)),this.svgPeakText.attr("x",()=>{const e=this.scaleX(this.maxElem.x)+10;return this.peakTextLength+e>this.width?this.scaleX(this.maxElem.x)-(this.peakTextLength+10):e}))}}),this.svgContainerOuter=tt.select(".js-landing-graph"),this.svgContainerOuter.selectAll("svg").remove(),this.svgContainerInner=this.svgContainerOuter.append("svg").attr("class","landing-graph"),this.svg=this.svgContainerInner.append("g").attr("transform",`translate(${it}, ${ot+1})`),this.svgArea=this.svg.append("path").attr("class","landing-graph__area"),this.svgPeakText=this.svg.append("text").attr("class","landing-graph__text").attr("y",-10),this.svgPeakCircle=this.svg.append("circle").attr("class","landing-graph__circle").attr("cy",0).attr("r",5),this.area=tt.area().curve(tt.curveBasis).x(e=>this.scaleX(e.x)).y0(()=>this.height).y1(e=>this.scaleY(e.y)),this.loadData(),this.resize()}loadData(){var e,t,r;if(this.data=(0,K.qF)("json-stats"),0===this.data.length)return;this.maxElem=null!==(e=(0,rt.maxBy)(this.data,e=>e.y))&&void 0!==e?e:this.data[0];const n=tt.extent(this.data,e=>e.x);this.scaleX.domain([null!==(t=n[0])&&void 0!==t?t:0,null!==(r=n[1])&&void 0!==r?r:0]),this.scaleY.domain([0,this.maxElem.y]),this.svgPeakText.text((0,f.pw)("home.landing.peak",{count:(0,x.ZV)(this.maxElem.y)}));const i=this.svgPeakText.node();if(null==i)throw new Error("peak text node is missing");this.peakTextLength=i.getComputedTextLength()}}var lt=r(4692),ut=function(e,t){return function(){return e.apply(t,arguments)}};const ct=function(){function e(){this.resize=ut(this.resize,this),this.initialize=ut(this.initialize,this),lt(window).on("resize",this.resize),lt(document).on("turbo:load",this.initialize)}return e.prototype.container=document.getElementsByClassName("js-landing-graph"),e.prototype.initialize=function(){var e;if(null!=this.container[0])return null!=(e=this.container[0])._chart?e._chart:e._chart=new at},e.prototype.resize=function(){var e;if(null!=this.container[0])return null!=(e=this.container[0]._chart)?e.resize():void 0},e}();var ht=r(4692),dt=function(e,t){return function(){return e.apply(t,arguments)}};const pt=function(){function e(){this.setMenu=dt(this.setMenu,this),this.refresh=dt(this.refresh,this),this.hideMenu=dt(this.hideMenu,this),this.onMouseLeave=dt(this.onMouseLeave,this),this.onMouseEnter=dt(this.onMouseEnter,this),this.onTouchStart=dt(this.onTouchStart,this),this.onGlobalTouchstart=dt(this.onGlobalTouchstart,this),this.onDocumentReady=dt(this.onDocumentReady,this),this.currentTree=dt(this.currentTree,this),this.defaultMenu=dt(this.defaultMenu,this),this.menuTimeout=150,ht(document).on("touchstart",".js-menu",this.onTouchStart),ht(document).on("mouseenter",".js-menu",this.onMouseEnter),ht(document).on("mouseleave",".js-menu",this.onMouseLeave),ht(document).on("touchstart",this.onGlobalTouchstart),ht(document).on("turbo:load",this.onDocumentReady)}return e.prototype.$menuLink=function(e){return ht(".js-menu[data-menu-target"+(e?"='"+e+"'":"")+"]")},e.prototype.closestMenuId=function(e){return e.closest("[data-menu-id]").attr("data-menu-id")},e.prototype.defaultMenu=function(){var e,t;return null!=(e=document.querySelector('.js-menu[data-menu-default="1"]'))&&null!=(t=e.dataset)?t.menuTarget:void 0},e.prototype.parentsMenuId=function(e){return e.parents("[data-menu-id]").attr("data-menu-id")},e.prototype.currentTree=function(){var e,t;if(!this.currentMenu)return[];for(e=[t=this.currentMenu];t=this.closestMenuId(this.$menuLink(t));)e.push(t);return e},e.prototype.onDocumentReady=function(){return this.refresh(),this.setMenu(null,(e=this,function(){return e.closestMenuId(ht(":hover").last())}));var e},e.prototype.onGlobalTouchstart=function(e){if(this.currentMenu&&null==e.target.closest(".js-menu"))return this.hideMenu()},e.prototype.onTouchStart=function(e){var t,r,n,i,s,o;if(r=e.currentTarget,null!=(i=r.dataset.menuTarget))return t=ht(i),e.preventDefault(),s=parseInt(null!=(n=r.dataset.menuShowDelay)?n:this.menuTimeout,10),this.setMenu(s,(o=this,function(){return o.currentMenu===i?o.closestMenuId(t):i}))},e.prototype.onMouseEnter=function(e){var t,r,n,i;return t=e.currentTarget,n=parseInt(null!=(r=t.dataset.menuShowDelay)?r:this.menuTimeout,10),this.setMenu(n,(i=this,function(){var e;return null!=(e=t.dataset.menuTarget)?e:i.closestMenuId(ht(t))}))},e.prototype.onMouseLeave=function(e){var t,r;return t=ht(e.currentTarget),this.setMenu(null,(r=this,function(){return r.parentsMenuId(t)}))},e.prototype.hideMenu=function(){return this.setMenu()},e.prototype.refresh=function(){var e,t,r,n,i,s,o;for(null==this.currentMenu&&(this.currentMenu=this.defaultMenu()),s=document.querySelectorAll(".js-menu[data-menu-id]"),e=this.currentTree(),ht.publish("menu:current",this.currentMenu),o=[],t=0,r=s.length;t=t)return}},e}();var vt=r(4692),bt=r(2543),yt=function(e,t){return function(){return e.apply(t,arguments)}};const wt=function(){function e(e,t){this.clickMenu=e,this.captcha=t,this.showMenuBg=yt(this.showMenuBg,this),this.loginBoxVisible=yt(this.loginBoxVisible,this),this.autoMobileNav=yt(this.autoMobileNav,this),this.autoCenterPopup=yt(this.autoCenterPopup,this),this.menuBg=document.getElementsByClassName("js-nav2--menu-bg"),vt.subscribe("click-menu:current",this.autoCenterPopup),vt.subscribe("click-menu:current",this.autoMobileNav),vt.subscribe("menu:current",this.showMenuBg)}return e.prototype.autoCenterPopup=function(e,t){var r,n,i,s,o,a,l,u,c,h,d;for(h=t.target,this.currentMenu=h,vt(window).off("resize.nav2-center-popup"),s=0,o=(u=document.querySelectorAll(".js-nav2--centered-popup")).length;s0?a-c:a),n=Math.floor(n),e.style.transform="translateX("+n+"px)"},e.prototype.loginBoxVisible=function(){return"nav2-login-box"===this.currentMenu},e.prototype.showMenuBg=function(e,t){var r;return r=bt.startsWith(t,"nav2-menu-popup-"),(0,be.j6)(this.menuBg[0],r)},e}();var kt=r(2543),jt=r(4692),Et=function(e,t){return function(){return e.apply(t,arguments)}};const _t=function(){function e(){this.restoreFocus=Et(this.restoreFocus,this),this.searchingToggle=Et(this.searchingToggle,this),this.submit=Et(this.submit,this),this.submitForm=Et(this.submitForm,this),this.submitInput=Et(this.submitInput,this),this.maybeSubmitInput=Et(this.maybeSubmitInput,this),this.forumPostReset=Et(this.forumPostReset,this),this.debouncedSubmitInput=kt.debounce(this.submitInput,500),jt(document).on("click",".js-search--forum-options-reset",this.forumPostReset),jt(document).on("input",".js-search--input",this.debouncedSubmitInput),jt(document).on("keydown",".js-search--input",this.maybeSubmitInput),jt(document).on("submit",".js-search",this.submitForm),addEventListener("turbo:load",this.restoreFocus)}return e.prototype.forumPostReset=function(){var e;return(e=jt(".js-search")).find("[name=username], [name=forum_id]").val(""),e.find("[name=forum_children]").prop("checked",!1)},e.prototype.maybeSubmitInput=function(e){if("Enter"===e.key)return e.preventDefault(),e.target.blur(),this.submitInput(e)},e.prototype.submitInput=function(e){var t,r,n;if((n=(t=e.currentTarget).value.trim())!==(null!=(r=t.dataset.searchCurrent)?r.trim():void 0))return t.dataset.searchCurrent=n,this.submit()},e.prototype.submitForm=function(e){return e.preventDefault(),this.submit()},e.prototype.submit=function(){var e,t;return this.searchingToggle(!0),e=jt(".js-search").serialize(),jt(document).one("turbo:before-cache",(t=this,function(){return t.activeElement=document.activeElement,t.searchingToggle(!1)})),Turbo.visit("?"+e)},e.prototype.searchingToggle=function(e){return jt(".js-search--header").toggleClass("js-search--searching",e)},e.prototype.restoreFocus=function(){var e;return null!=(e=this.activeElement)&&e.focus(),this.activeElement=null},e}();var xt=r(4692),Pt=function(){function e(){}return e.fetchApprovalLink=function(e){return new Promise(function(t,r){return xt.post((0,m.w)("payments.paypal.create"),{order_id:e}).done(t).fail(function(e){return r({xhr:e})})})},e}(),Tt=r(4692),Ct=function(){function e(){}return e.promiseInit=function(t){return Promise.all([e.fetchToken(t),e.fetchScript()]).then(function(r){return e.onXsollaReady(t),XPayStationWidget.init(r[0])})},e.fetchScript=function(){return T.A.turbolinksReload.load("https://static.xsolla.com/embed/paystation/1.0.7/widget.min.js")},e.fetchToken=function(e){return new Promise(function(t,r){return Tt.post((0,m.w)("payments.xsolla.token"),{orderNumber:e}).done(function(e){return t(e)}).fail(function(e){return r({xhr:e})})})},e.onXsollaReady=function(e){var t;return t=!1,XPayStationWidget.on(XPayStationWidget.eventTypes.STATUS_DONE,function(){return t=!0}),XPayStationWidget.on(XPayStationWidget.eventTypes.CLOSE,function(){if(t)return(0,n.MB)(),n.MB.flush(),window.location=(0,m.w)("payments.xsolla.completed",{foreignInvoice:e})})},e}(),St=r(4692),Ot=r(2543),Mt=function(){function e(){}return e.CHECKOUT_SELECTOR=".js-store-checkout-button",e.initialize=function(){var t,r,i,s,o,a,l;for(i={},r=0,s=(l=document.querySelectorAll(e.CHECKOUT_SELECTOR)).length;r").text(u),!i._tooltip)return i._tooltip=!0,r=null!=(l=i.dataset.tooltipPosition)?l:"top center",function(){switch(r){case"top center":return"bottom center";case"left center":return"right center";case"right center":return"left center";case"bottom center":return"top center";case"bottom left":return"top left"}}(),o="1"===i.dataset.tooltipHoverable,n="qtip tooltip-default","fixed"===i.dataset.tooltipFloat&&(n+=" tooltip-default--fixed"),null!=i.dataset.tooltipModifiers&&(n+=" tooltip-default--"+i.dataset.tooltipModifiers),o&&(n+=" u-hover"),a={overwrite:!1,content:t,position:(0,Nt.g)(r),show:{event:e.type,ready:!0},hide:{event:"click mouseleave"},style:{classes:n,tip:{width:10,height:8}}},"touchstart"===e.type&&(a.hide={inactive:3e3,event:"unfocus"}),i.dataset.tooltipPinPosition&&(a.position.effect=!1),i.dataset.tooltipHideEvents&&(a.hide.event=i.dataset.tooltipHideEvents),o&&(a.hide.delay=200,a.hide.fixed=!0),i.dataset.origTitle=u,Lt(i).qtip(a,e);Lt(i).qtip("set",{"content.text":t})}},e.prototype.autoAddTooltip=function(e){var t,r,n;if("0"!==(n=e.currentTarget).dataset.ellipsisTooltip)return r=(t=Lt(n)).qtip("api"),n.offsetWidth").text(o.format("LL")),n=Lt("").addClass("tooltip-default__time").text(o.format("LTS")+" "+this.tzString(o)),Lt("").append(r).append(" ").append(n)},e.prototype.tzString=function(e){var t;return"UTC"+((t=e.utcOffset())%60==0?(t>=0?"+":"")+t/60:e.format("Z"))},e}();var Bt=r(5093),qt=r(4692),Ft=r(4692);Bt.relativeTimeThreshold("ss",44),Bt.relativeTimeThreshold("s",120),Bt.relativeTimeThreshold("m",120),Bt.relativeTimeThreshold("h",48),Bt.relativeTimeThreshold("d",62),Bt.relativeTimeThreshold("M",24),qt.timeago.inWords=function(e){return Bt.duration(-1*e).humanize(!0)},Ft(document).on("turbo:load",function(){return A.initialize(),Mt.initialize()}),null==window.bbcodePreview&&(window.bbcodePreview=new M),null==window.checkboxValidation&&(window.checkboxValidation=new R),null==window.fancyGraph&&(window.fancyGraph=new z),null==window.formClear&&(window.formClear=new W),null==window.formError&&(window.formError=new Y),null==window.formToggle&&(window.formToggle=new re),null==window.forum&&(window.forum=new ue),null==window.forumAutoClick&&(window.forumAutoClick=new pe),null==window.forumCover&&(window.forumCover=new ve),null==window.forumTopicTitle&&(window.forumTopicTitle=new Oe),null==window.forumTopicWatchAjax&&(window.forumTopicWatchAjax=new Le),null==window.gallery&&(window.gallery=new Je),null==window.globalDrag&&(window.globalDrag=new et),null==window.landingGraph&&(window.landingGraph=new ct),null==window.menu&&(window.menu=new pt),null==window.navButton&&(window.navButton=new gt),null==window.search&&(window.search=new _t),null==window.tooltipDefault&&(window.tooltipDefault=new Dt),null==window.formConfirmation&&(window.formConfirmation=new Z(window.formError)),null==window.forumPostsSeek&&(window.forumPostsSeek=new ke(window.forum)),null==window.forumTopicPostJump&&(window.forumTopicPostJump=new _e(window.forum)),null==window.forumTopicReply&&(window.forumTopicReply=new Te({bbcodePreview:window.bbcodePreview,forum:window.forum,stickyFooter:osuCore.stickyFooter})),null==window.nav2&&(window.nav2=new wt(osuCore.clickMenu,osuCore.captcha)),Ft(document).on("change",".js-url-selector",function(e){return(0,i.oo)(e.target.value,"1"===e.target.dataset.keepScroll)}),Ft(document).on("keydown",function(e){if("Escape"===e.key)return Ft.publish("key:esc")});var Ut=r(2385),Vt=r(3672),zt=r(7508),$t=r(2370),Wt=r(1370);function Xt(e){const t={glow:e.count>0,mobile:"mobile"===e.type};return Ae.createElement("span",{className:(0,me.Zt)("notification-icon",t)},Ae.createElement("i",{className:e.iconClassName}),Ae.createElement("span",{className:"notification-icon__count"},e.ready?(0,x.ZV)(e.count):"..."))}var Ht=function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o};let Gt=class extends Ae.Component{get unreadCount(){return T.A.dataStore.notificationStore.unreadStacks.getOrCreateType({objectType:"channel"}).total}constructor(e){super(e),(0,h.Gn)(this)}render(){return Ae.createElement(Xt,{count:this.unreadCount,iconClassName:"fas fa-comment-alt",ready:T.A.notificationsWorker.hasData,type:this.props.type})}};Ht([h.EW],Gt.prototype,"unreadCount",null),Gt=Ht([Wt.PA],Gt);const Zt=Gt;var Kt=r(1556),Jt=function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o};const Qt="countdown-timer";let Yt=class extends Ae.Component{get deadline(){return d(this.props.deadline).valueOf()}get diff(){return Math.max(this.deadline-(new Date).valueOf(),0)/1e3}constructor(e){super(e),Object.defineProperty(this,"timer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),(0,h.Gn)(this)}componentWillUnmount(){window.clearTimeout(this.timer)}render(){const e=this.diff,t={days:Math.floor(e/86400),hours:Math.floor(e/3600%24),minutes:Math.floor(e/60%60),seconds:Math.floor(e%60)};return 0!==e&&this.setTimeout(),Ae.createElement("div",{className:Qt},Ae.createElement("div",{className:`${Qt}__header`},`${(0,f.pw)("common.time.remaining")}:`),Object.entries(t).map(([e,t])=>Ae.createElement("div",{key:e,className:`${Qt}__field`},Ae.createElement("div",{className:`${Qt}__digit`},t<10?`0${t}`:t),Ae.createElement("div",{className:`${Qt}__label`},(0,f.pw)(`common.countdown.${e}`)))))}setTimeout(){this.timer=window.setTimeout(()=>this.forceUpdate(),1e3)}};Jt([h.EW],Yt.prototype,"deadline",null),Yt=Jt([Wt.PA],Yt);const er=Yt;var tr=r(4620),rr=r(8102);function nr({posts:e}){return Ae.createElement("div",{className:"landing-news"},e.length>0&&Ae.createElement(Ae.Fragment,null,Ae.createElement("div",{className:"landing-news__posts"},Ae.createElement(tr.A,{modifiers:"landing hover",post:e[0]})),Ae.createElement("div",{className:"landing-news__posts"},rt.slice(e,1).map((e,t)=>Ae.createElement(tr.A,{key:t,modifiers:"landing hover",post:e}))),Ae.createElement("div",{className:"landing-news__link"},Ae.createElement(rr.A,{hasMore:!0,label:(0,f.pw)("home.landing.see_more_news"),loading:!1,modifiers:"no-icon",url:(0,m.w)("news.index")}))))}var ir=r(9328),sr=function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o};let or=class extends Ae.Component{get unreadCount(){return ir.DK.filter(e=>!(null==e||"channel"===e)).reduce((e,t)=>e+T.A.dataStore.notificationStore.unreadStacks.getOrCreateType({objectType:t}).total,0)}constructor(e){super(e),(0,h.Gn)(this)}render(){return Ae.createElement(Xt,{count:this.unreadCount,iconClassName:"fas fa-bell",ready:T.A.notificationsWorker.hasData,type:this.props.type})}};sr([h.EW],or.prototype,"unreadCount",null),or=sr([Wt.PA],or);const ar=or;var lr=r(723);const ur="menu-image";function cr({image:e,index:t}){return Ae.createElement("div",{className:ur,style:{"--index":t}},Ae.createElement("a",{className:"u-contents",href:e.url},Ae.createElement("img",{className:`${ur}__image`,src:e.image_url})))}var hr=function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o};const dr="menu-images";let pr=class extends Ae.Component{get length(){return this.images.length}get maxIndex(){return Math.max(this.length-1,this.index)}get minIndex(){return Math.min(0,this.index)}get images(){return(0,rt.shuffle)(this.props.images)}constructor(e){super(e),Object.defineProperty(this,"autoRotateTimerId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"index",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"transition",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"clearAutoRotateTimer",{enumerable:!0,configurable:!0,writable:!0,value:()=>{window.clearInterval(this.autoRotateTimerId)}}),Object.defineProperty(this,"handleArrowClick",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t;this.setIndex(this.index+parseInt(null!==(t=e.currentTarget.dataset.increment)&&void 0!==t?t:"",10))}}),Object.defineProperty(this,"handleIndicatorClick",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t;this.setIndex(this.index+parseInt(null!==(t=e.currentTarget.dataset.index)&&void 0!==t?t:"",10)-(0,lr.x)(this.index,this.length))}}),Object.defineProperty(this,"handlePageVisibilityChange",{enumerable:!0,configurable:!0,writable:!0,value:()=>{document.hidden?this.clearAutoRotateTimer():this.setAutoRotateTimer()}}),Object.defineProperty(this,"handleTransitionEnd",{enumerable:!0,configurable:!0,writable:!0,value:e=>{"transform"===e.propertyName&&e.currentTarget===e.target&&this.setIndex((0,lr.x)(this.index,this.length),!1)}}),Object.defineProperty(this,"setAutoRotateTimer",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.clearAutoRotateTimer(),this.autoRotateTimerId=window.setInterval(()=>this.setIndex(this.index+1),6e3)}}),(0,h.Gn)(this)}componentDidMount(){this.setAutoRotateTimer(),document.addEventListener("visibilitychange",this.handlePageVisibilityChange)}componentWillUnmount(){this.clearAutoRotateTimer(),document.removeEventListener("visibilitychange",this.handlePageVisibilityChange)}render(){if(0===this.length)return null;if(1===this.length)return Ae.createElement("div",{className:dr},Ae.createElement("div",{className:`${dr}__blur`,style:{"--url":(0,me.NZ)(this.images[0].image_url)}}),Ae.createElement("div",{className:`${dr}__images`},Ae.createElement("div",{className:`${dr}__container`},Ae.createElement(cr,{image:this.images[0]}))));const e=(0,lr.x)(this.index,this.length);return Ae.createElement("div",{className:dr,onMouseEnter:this.clearAutoRotateTimer,onMouseLeave:this.setAutoRotateTimer},this.images.map((t,r)=>Ae.createElement("div",{key:t.image_url,className:`${dr}__blur`,style:{"--url":(0,me.NZ)(t.image_url),opacity:r===e?1:0}})),Ae.createElement("div",{className:`${dr}__images`},Ae.createElement("div",{className:(0,me.Zt)(`${dr}__container`,{transition:this.transition}),onTransitionEnd:this.handleTransitionEnd,style:{"--index":this.index}},(0,rt.range)(this.minIndex,this.maxIndex+1).map(e=>Ae.createElement(cr,{key:e,image:this.images[(0,lr.x)(e,this.length)],index:e}))),this.renderArrows()),this.renderIndicators())}renderArrows(){return Ae.createElement(Ae.Fragment,null,Ae.createElement("button",{className:`${dr}__arrow ${dr}__arrow--left`,"data-increment":-1,onClick:this.handleArrowClick}),Ae.createElement("button",{className:`${dr}__arrow ${dr}__arrow--right`,"data-increment":1,onClick:this.handleArrowClick}))}renderIndicators(){return Ae.createElement("div",{className:`${dr}__indicators`},this.images.map((e,t)=>Ae.createElement("button",{key:t,className:(0,me.Zt)(`${dr}__indicator`,{active:t===(0,lr.x)(this.index,this.length)}),"data-index":t,onClick:this.handleIndicatorClick})))}setIndex(e,t=!0){this.index!==e&&(this.index=e,this.transition=t)}};hr([h.sH],pr.prototype,"index",void 0),hr([h.sH],pr.prototype,"transition",void 0),hr([h.EW],pr.prototype,"images",null),hr([h.XI],pr.prototype,"handleTransitionEnd",void 0),hr([h.XI],pr.prototype,"setIndex",null),pr=hr([Wt.PA],pr);const mr=pr;var fr=r(8623),gr=r(3358),vr=r(7482),br=r(9232);function yr({beatmapset:e,modifiers:t}){const r=(0,m.w)("beatmapsets.show",{beatmapset:e.id});return Ae.createElement("a",{className:(0,me.Zt)("beatmapset-search-card",t),href:r},Ae.createElement(vr.A,{beatmapset:e,modifiers:"search",size:"list"}),Ae.createElement("div",{className:"beatmapset-search-card__details"},Ae.createElement("div",{className:"beatmapset-search-card__title"},`${(0,br.LK)(e)} `,Ae.createElement("span",{className:"beatmapset-search-card__title-artist"},(0,f.pw)("users.show.extra.beatmaps.by_artist",{artist:(0,br.wp)(e)}))),Ae.createElement("div",{className:"beatmapset-search-card__extra"},(0,f.pw)("beatmapsets.show.details.mapped_by",{mapper:e.creator}))))}function wr({team:e,modifiers:t}){const r=(0,m.w)("teams.show",{team:e.id});return Ae.createElement("div",{className:(0,me.Zt)("user-search-card","team",t)},Ae.createElement("a",{className:"user-search-card__background-container",href:r}),Ae.createElement("div",{className:"user-search-card__container"},Ae.createElement("a",{className:"user-search-card__avatar-container",href:r},Ae.createElement("div",{className:"flag-team flag-team--full",style:{backgroundImage:(0,me.NZ)(e.flag_url)}})),Ae.createElement("div",{className:"user-search-card__details"},Ae.createElement("a",{className:"user-search-card__col user-search-card__col--username u-ellipsis-pre-overflow",href:r},e.name))))}var kr=r(8789),jr=r(5820),Er=r(4617),_r=r(368),xr=r(4944);function Pr({modifiers:e,user:t}){const r=(0,m.w)("users.show",{user:t.id});return Ae.createElement("div",{className:(0,me.Zt)("user-search-card",e)},Ae.createElement("a",{className:"user-search-card__background-container",href:r}),Ae.createElement("div",{className:"user-search-card__container"},Ae.createElement("a",{className:"user-search-card__avatar-container",href:r},Ae.createElement("div",{className:"avatar avatar--full",style:{backgroundImage:(0,me.NZ)(t.avatar_url)}})),Ae.createElement("div",{className:"user-search-card__details"},Ae.createElement("div",{className:"user-search-card__col user-search-card__col--flag"},Ae.createElement(kr.A,{country:t.country})),null!=t.team&&Ae.createElement("div",{className:"user-search-card__col user-search-card__col--flag"},Ae.createElement(jr.A,{team:t.team})),Ae.createElement("a",{className:"user-search-card__col user-search-card__col--username u-ellipsis-pre-overflow",href:r},t.username),t.is_supporter?Ae.createElement("div",{className:"user-search-card__col user-search-card__col--icon u-hidden-narrow"},Ae.createElement(_r.A,{level:t.support_level,modifiers:"quick-search"})):null,Ae.createElement(xr.A,{groups:t.groups,short:!0,wrapper:"user-search-card__col user-search-card__col--icon"}),Ae.createElement("div",{className:"user-search-card__col user-search-card__col--icon"},Ae.createElement(Er.A,{modifiers:"quick-search",userId:t.id})))))}var Tr=r(4692),Cr=function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o};const Sr=["beatmapset","beatmapset_others","user","user_others","team","team_others","others"],Or=["artist_track","forum_post","wiki_page"];class Mr{constructor(){Object.defineProperty(this,"debouncedSearch",{enumerable:!0,configurable:!0,writable:!0,value:(0,rt.debounce)(()=>this.search(),500)}),Object.defineProperty(this,"query",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"searching",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"searchResult",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"selected",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"xhr",{enumerable:!0,configurable:!0,writable:!0,value:null}),(0,h.Gn)(this)}cycleSelectedItem(e){let t;if(this.selected)t=Object.assign({},this.selected),t.index+=e;else if(e>0)t={index:0,section:0};else{const e=Sr.length-1,r=Sr[e];t={index:this.sectionLength(r)-1,section:e}}if(t.index<0||t.index>=this.sectionLength(Sr[t.section])){let r=t.section;do{if(r=(r+e)%Sr.length,r<0&&(r=Sr.length+r),r===t.section)return}while(0===this.sectionLength(Sr[r]));t={index:e>0?0:this.sectionLength(Sr[r])-1,section:r}}this.selected=t}get currentSection(){if(this.selected)return Sr[this.selected.section]}get selectedURL(){var e,t,r;const n=this.searchResult;if(this.selected&&n)switch(Sr[this.selected.section]){case"team":{const t=null===(e=n.team.items[this.selected.index])||void 0===e?void 0:e.id;return null==t?void 0:(0,m.w)("teams.show",{team:t})}case"team_others":return(0,m.w)("search",{mode:"team",query:this.query});case"user":{const e=null===(t=n.user.items[this.selected.index])||void 0===t?void 0:t.id;return e?(0,m.w)("users.show",{user:e}):void 0}case"user_others":return(0,m.w)("search",{mode:"user",query:this.query});case"beatmapset":{const e=null===(r=n.beatmapset.items[this.selected.index])||void 0===r?void 0:r.id;return e?(0,m.w)("beatmapsets.show",{beatmapset:e}):void 0}case"beatmapset_others":return(0,m.w)("search",{mode:"beatmapset",query:this.query});case"others":{const e=Or.filter(e=>n[e].total>0)[this.selected.index];return(0,m.w)("search",{mode:e,query:this.query})}}}search(){const e=this.query.trim();0!==e.length?(this.searching=!0,this.xhr=Tr.get((0,m.w)("quick-search"),{query:e}).done((0,h.XI)(e=>{this.searchResult=e,this.selected=null})).always((0,h.XI)(()=>{this.searching=!1}))):this.reset()}selectNone(){this.selected=null}setSelected(e,t){this.selected={index:t,section:Sr.indexOf(e)}}updateQuery(e){this.query=e,this.selected=null,this.debouncedSearch()}reset(){this.debouncedSearch.cancel(),null!=this.xhr&&this.xhr.abort(),this.searching=!1,this.searchResult=null,this.selected=null}sectionLength(e){const t=this.searchResult;if(!t)return 0;switch(e){case"team":return t.team.items.length;case"team_others":case"user_others":case"beatmapset_others":return 1;case"user":return t.user.items.length;case"beatmapset":return t.beatmapset.items.length;case"others":return Or.length}return 0}}Cr([h.sH],Mr.prototype,"query",void 0),Cr([h.sH],Mr.prototype,"searching",void 0),Cr([h.sH],Mr.prototype,"searchResult",void 0),Cr([h.sH],Mr.prototype,"selected",void 0),Cr([h.XI],Mr.prototype,"cycleSelectedItem",null),Cr([h.EW],Mr.prototype,"currentSection",null),Cr([h.EW],Mr.prototype,"selectedURL",null),Cr([h.XI],Mr.prototype,"search",null),Cr([h.XI],Mr.prototype,"selectNone",null),Cr([h.XI],Mr.prototype,"setSelected",null),Cr([h.XI],Mr.prototype,"updateQuery",null),Cr([h.XI],Mr.prototype,"reset",null);var Nr=function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o};let Lr=class extends Ae.Component{constructor(){super(...arguments),Object.defineProperty(this,"inputRef",{enumerable:!0,configurable:!0,writable:!0,value:Ae.createRef()}),Object.defineProperty(this,"focus",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e;null!=this.inputRef.current&&(this.inputRef.current.selectionStart=0,this.inputRef.current.selectionEnd=this.inputRef.current.value.length,this.props.worker.selectNone(),null===(e=this.inputRef.current)||void 0===e||e.focus())}}),Object.defineProperty(this,"onInputKeyDown",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t;const r=e.key;"Enter"===r&&(null===(t=(0,x.e0)(e.target))||void 0===t||t.blur(),this.props.worker.debouncedSearch.flush(),this.navigateToSelected()),"ArrowUp"!==r&&"ArrowDown"!==r||this.props.worker.cycleSelectedItem("ArrowDown"===r?1:-1)}}),Object.defineProperty(this,"onMouseEnter",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t;const r=e.currentTarget.dataset.section,n=parseInt(null!==(t=e.currentTarget.dataset.index)&&void 0!==t?t:"0",10);this.selectBox(r,n)}}),Object.defineProperty(this,"onMouseLeave",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.props.worker.selectNone()}}),Object.defineProperty(this,"updateQuery",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.props.worker.updateQuery(e.currentTarget.value)}})}render(){let e=(0,me.Zt)("quick-search",this.props.modifiers);return e+=" u-fancy-scrollbar",Ae.createElement("div",{className:e},Ae.createElement("div",{className:"quick-search-input"},Ae.createElement("div",{className:"quick-search-input__field"},Ae.createElement("span",{className:"quick-search-input__icon"},this.props.worker.searching?Ae.createElement(fr.y,null):Ae.createElement("span",{className:"fas fa-search"})),Ae.createElement("input",{ref:this.inputRef,className:"quick-search-input__input js-click-menu--autofocus",onChange:this.updateQuery,onKeyDown:this.onInputKeyDown,placeholder:(0,f.pw)("home.search.placeholder"),type:"search",value:this.props.worker.query})),null!=this.props.onClose&&Ae.createElement("button",{className:"btn-osu-big btn-osu-big--quick-search-close",onClick:this.props.onClose,type:"button"},(0,f.pw)("common.buttons.close"))),this.renderResult())}boxIsActive(e,t){var r;const n=this.props.worker;return n.currentSection===e&&(null===(r=n.selected)||void 0===r?void 0:r.index)===t}count(e){return null===this.props.worker.searchResult?0:this.props.worker.searchResult[e].total}navigateToSelected(){const e=this.props.worker.selectedURL;null!=e&&(0,i.oo)(e,!1)}renderBeatmapsets(){return null===this.props.worker.searchResult?null:Ae.createElement("div",{className:"quick-search-items"},this.props.worker.searchResult.beatmapset.items.map((e,t)=>Ae.createElement("div",{key:e.id,className:"quick-search-items__item","data-index":t,"data-section":"beatmapset",onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave},Ae.createElement(yr,{beatmapset:e,modifiers:this.boxIsActive("beatmapset",t)?"active":null}))),Ae.createElement("div",{className:"quick-search-items__item","data-section":"beatmapset_others",onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave},this.renderResultLink("beatmapset",this.boxIsActive("beatmapset_others",0))))}renderOthers(){return Ae.createElement("div",{className:"quick-search-items"},Or.map((e,t)=>Ae.createElement("div",{key:e,className:"quick-search-items__item","data-index":t,"data-section":"others",onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave},this.renderResultLink(e,this.boxIsActive("others",t)))))}renderResult(){return null==this.props.worker.searchResult?null:Ae.createElement("div",{className:"quick-search-result"},Ae.createElement("div",{className:"quick-search-result__item"},this.renderTitle("beatmapset"),this.renderBeatmapsets()),Ae.createElement("div",{className:"quick-search-result__item"},this.renderTitle("user"),this.renderUsers()),Ae.createElement("div",{className:"quick-search-result__item"},this.renderTitle("team"),this.renderTeams()),Ae.createElement("div",{className:"quick-search-result__item"},this.renderTitle("other"),this.renderOthers()))}renderResultLink(e,t=!1){const r=this.count(e),n="quick_search.result";let i;if(0===r)i=(0,f.pw)(`${n}.no_results._`,{mode:(0,f.pw)(`quick_search.result.no_results.${e}`)});else{const t=`${n}.${Or.includes(e)?"title":"more"}`;i=(0,f.pw)(t,{mode:(0,f.pw)(`quick_search.mode.${e}`)})}return Ae.createElement("a",{className:(0,me.Zt)("search-result-more",t?["active"]:[]),href:(0,m.w)("search",{mode:e,query:this.props.worker.query})},Ae.createElement("div",{className:"search-result-more__content"},i,Ae.createElement("span",{className:"search-result-more__count"},(0,x.ZV)(r))),Ae.createElement("div",{className:"search-result-more__arrow"},Ae.createElement("span",{className:"fas fa-angle-right"})))}renderTeams(){return null===this.props.worker.searchResult?null:Ae.createElement("div",{className:"quick-search-items"},this.props.worker.searchResult.team.items.map((e,t)=>Ae.createElement("div",{key:e.id,className:"quick-search-items__item","data-index":t,"data-section":"team",onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave},Ae.createElement(wr,{modifiers:this.boxIsActive("team",t)?"active":null,team:e}))),Ae.createElement("div",{className:"quick-search-items__item","data-section":"team_others",onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave},this.renderResultLink("team",this.boxIsActive("team_others",0))))}renderTitle(e){return Ae.createElement("h2",{className:"title"},Ae.createElement(gr.A,{mappings:{mode:Ae.createElement("strong",null,(0,f.pw)(`quick_search.mode.${e}`))},pattern:(0,f.pw)("quick_search.result.title")}))}renderUsers(){return null==this.props.worker.searchResult?null:Ae.createElement("div",{className:"quick-search-items"},this.props.worker.searchResult.user.items.map((e,t)=>Ae.createElement("div",{key:e.id,className:"quick-search-items__item","data-index":t,"data-section":"user",onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave},Ae.createElement(Pr,{modifiers:this.boxIsActive("user",t)?"active":null,user:e}))),Ae.createElement("div",{className:"quick-search-items__item","data-section":"user_others",onMouseEnter:this.onMouseEnter,onMouseLeave:this.onMouseLeave},this.renderResultLink("user",this.boxIsActive("user_others",0))))}selectBox(e,t=0){this.props.worker.setSelected(e,t)}};Lr=Nr([Wt.PA],Lr);const Ar=Lr;var Ir=r(6131),Rr=r(4692),Dr=function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o};let Br=class extends Ae.Component{constructor(){super(...arguments),Object.defineProperty(this,"formRef",{enumerable:!0,configurable:!0,writable:!0,value:Ae.createRef()}),Object.defineProperty(this,"searchPath",{enumerable:!0,configurable:!0,writable:!0,value:(0,m.w)("search",void 0,!1)}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:{open:!1}}),Object.defineProperty(this,"toggle",{enumerable:!0,configurable:!0,writable:!0,value:e=>{null!=T.A.currentUser&&(null!=e&&e.preventDefault(),this.isSearchPage?Rr(".js-search--input").focus():this.setState({open:!this.state.open}))}})}get isSearchPage(){return(0,i.bS)().pathname===this.searchPath}componentDidUpdate(e,t){var r;!t.open&&this.state.open&&(null===(r=this.formRef.current)||void 0===r||r.focus())}render(){let e="nav2__menu-link-main nav2__menu-link-main--search";return(this.state.open||(0,i.bS)().pathname===(0,m.w)("search",void 0,!1))&&(e+=" u-section--bg-normal"),Ae.createElement(Ae.Fragment,null,Ae.createElement("a",{accessKey:"f",className:e,href:(0,m.w)("search"),onClick:this.toggle},Ae.createElement("span",{className:"fas fa-search"})),this.renderModal())}renderModal(){return!this.state.open||this.isSearchPage?null:Ae.createElement(Ir.A,{onClose:this.toggle},Ae.createElement(Ar,{ref:this.formRef,onClose:this.toggle,worker:this.props.worker}))}};Br=Dr([Wt.PA],Br);const qr=Br;var Fr=r(4467),Ur=r(1980),Vr=function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o};const zr={id:null,text:(0,f.pw)("rankings.countries.all")};let $r=class extends Ae.Component{get options(){const e=[zr,...this.props.items.sort((e,t)=>{var r,n;return(null===(r=T.A.currentUser)||void 0===r?void 0:r.country_code)===e.id?-1:(null===(n=T.A.currentUser)||void 0===n?void 0:n.country_code)===t.id?1:e.text.localeCompare(t.text)})];return e.map(e=>({href:this.href(e.id),id:e.id,text:e.text}))}constructor(e){super(e),(0,h.Gn)(this)}render(){var e;const t=null!==(e=this.props.currentItem)&&void 0!==e?e:zr;return Ae.createElement("div",{className:"ranking-filter ranking-filter--full"},Ae.createElement("div",{className:"ranking-filter__title"},(0,f.pw)("rankings.countries.title")),Ae.createElement(Fr.A,{href:this.href(t.id),modifiers:"ranking",options:this.options,selected:t.id},t.text))}href(e){return(0,Ur.Ze)(null,{country:e,page:null})}};Vr([h.EW],$r.prototype,"options",null),$r=Vr([Wt.PA],$r);const Wr=$r;var Xr=r(6338);const Hr=["all","friends"];class Gr extends Ae.PureComponent{constructor(){super(...arguments),Object.defineProperty(this,"onChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{(0,i.oo)((0,Ur.Ze)(null,{filter:e.currentTarget.dataset.value,page:null}))}})}render(){var e;return Ae.createElement("div",{className:"ranking-filter"},Ae.createElement("div",{className:"ranking-filter__title"},(0,f.pw)("rankings.filter.title")),Ae.createElement(Xr.F,{currentValue:null!==(e=this.props.current)&&void 0!==e?e:"all",modifiers:"ranking-header",onChange:this.onChange,showTitle:!1,values:Hr}))}}class Zr extends Ae.PureComponent{constructor(){super(...arguments),Object.defineProperty(this,"onChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{(0,i.oo)((0,Ur.Ze)(null,{page:null,variant:e.currentTarget.dataset.value}))}})}render(){var e;return Ae.createElement("div",{className:"ranking-filter"},Ae.createElement("div",{className:"ranking-filter__title"},(0,f.pw)("rankings.filter.variant.title")),Ae.createElement(Xr.F,{currentValue:null!==(e=this.props.current)&&void 0!==e?e:"all",modifiers:"ranking-header",onChange:this.onChange,showTitle:!1,transPrefix:`beatmaps.variant.${this.props.current_ruleset}.`,values:this.props.items}))}}var Kr=function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o};const Jr={classic:"fas fa-check-square",standardised:"far fa-square"},Qr={classic:"standardised",standardised:"classic"};let Yr=class extends Ae.Component{render(){return Ae.createElement("button",{className:this.props.className,onClick:this.handleClick,title:(0,f.pw)("layout.popup_user.links.scoring_mode_toggle_tooltip"),type:"button"},Ae.createElement("span",null,Ae.createElement("span",{className:Jr[T.A.userPreferences.get("scoring_mode")]})," "+(0,f.pw)("layout.popup_user.links.scoring_mode_toggle")))}handleClick(){T.A.userPreferences.set("scoring_mode",Qr[T.A.userPreferences.get("scoring_mode")])}};Yr=Kr([Wt.PA],Yr);const en=Yr;var tn=r(6968),rn=r(5953);function nn(e){var t,r,n;if((null===(r=null===(t=T.A.currentUser)||void 0===t?void 0:t.team)||void 0===r?void 0:r.id)===e.teamId)return null;const i=null!==(n=e.modifiers)&&void 0!==n?n:["page-toggle","page-toggle-detail"];return Ae.createElement("div",{className:(0,me.Zt)("btn-circle",i),title:(0,f.pw)("common.buttons.show_more_options")},Ae.createElement(tn.A,null,t=>Ae.createElement("div",{className:"simple-menu"},Ae.createElement(rn.r,{className:"simple-menu__item",icon:!0,onFormOpen:t.dismiss,reportableId:e.teamId.toString(),reportableType:"team",user:{username:e.leaderUsername}}))))}var sn=r(799),on=r(7308),an=r(8443),ln=r(5848),un=r(5374),cn=r(4466),hn=r(4758),dn=r(4692),pn=function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o};const mn="qtip--user-card";let fn,gn=!1,vn=null;function bn(e){const t=e.dataset.userId;e._tooltip=t;const r=function(){if(null==fn){const e=document.createElement("div");e.innerHTML=(0,ln.renderToStaticMarkup)(Ae.createElement(on.q,null));const t=e.children[0];if(!(t instanceof HTMLElement))throw new Error("expected render of UserCard to be HTMLElement but got something else");fn=t}return fn}().cloneNode(!0);r.classList.add("js-user-card-tooltip"),r.classList.add("js-react"),r.dataset.react="user-card-tooltip",r.dataset.lookup=t;for(const[n,i]of Object.entries(e.dataset))r.dataset[n]=i;dn(e).qtip(function(e){var t;const r=null!==(t=e.dataset.tooltipPosition)&&void 0!==t?t:"right center";return{content:{text:e},events:{render:T.A.reactTurbolinks.boot,show:Pn},hide:{delay:220,effect:_n,fixed:!0},position:Object.assign(Object.assign({},(0,Nt.g)(r)),{adjust:{scroll:!1}}),show:{delay:200,effect:En,ready:!0},style:{classes:mn,def:!1,tip:!1}}}(r))}function yn(){gn=!1,vn=null}function wn(){gn=!0}function kn(){gn=!1}function jn(e){var t,r;if(null!=vn)return;if(T.A.windowSize.isMobile)return;const n=e.currentTarget,i=(0,C.I)(n.dataset.userId);if(null!=i&&!rt.find(null!==(r=null===(t=T.A.currentUser)||void 0===t?void 0:t.blocks)&&void 0!==r?r:[],{target_id:parseInt(i,10)})){if(null==n._tooltip)return bn(n);if(n._tooltip!==n.dataset.userId){const e=dn(n).qtip("api");if(null!=e){const t=e.tooltip;if(null!=t){const e=t.find(".js-user-card-tooltip")[0];null!=e&&(0,Ue.unmountComponentAtNode)(e)}e.destroy(),delete n._tooltip}}}}function En(){dn(this).fadeTo(110,1)}function _n(){dn(this).fadeTo(110,0)}function xn(e,t){if(null==t)return;const r=t.dataset.hasqtip;if(null==r)return;const n=document.getElementById(`qtip-${r}`);if(null==n)return;const i=dn(n).qtip("api");if(null!=i){const e=n.querySelector(".js-user-card-tooltip");null!=e&&(0,Ue.unmountComponentAtNode)(e),setTimeout(()=>{i.destroy(!0),delete t._tooltip},0)}}function Pn(e,t){if(null!=vn||T.A.windowSize.isMobile)return e.preventDefault();const r=t.target[0];r._tooltip!==r.dataset.userId&&(e.preventDefault(),dn(r).trigger("mouseover"))}let Tn=class extends Ae.PureComponent{get reportable(){const e=this.props.container.dataset.reportable;return null==e?void 0:JSON.parse(e)}constructor(e){super(e),Object.defineProperty(this,"activeKeyState",{enumerable:!0,configurable:!0,writable:!0,value:new un.VR}),Object.defineProperty(this,"disposer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"user",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"xhr",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),(0,h.Gn)(this);const t=T.A.currentUser;null!=t&&this.props.lookup===t.id.toString()?this.user=t:this.xhr=(0,hn.n)([this.props.lookup]).done(e=>(0,h.h5)(()=>{var t;this.user=null!==(t=e.users[0])&&void 0!==t?t:an.bs})).always(()=>{this.xhr=void 0}),this.disposer=(0,h.fm)(()=>{vn=this.activeKeyState.value,null!=this.activeKeyState.value||gn||dn(`.${mn}`).qtip("hide")})}componentWillUnmount(){var e,t;null===(e=this.xhr)||void 0===e||e.abort(),null===(t=this.disposer)||void 0===t||t.call(this)}render(){const e=this.activeKeyState.value===this.props.lookup;return Ae.createElement(cn.l.Provider,{value:this.props.container},Ae.createElement(un.Bz.Provider,{value:this.activeKeyState},Ae.createElement(un.tx.Provider,{value:this.props.lookup},Ae.createElement(on.q,{activated:e,reportable:this.reportable,user:this.user}))))}};pn([h.sH],Tn.prototype,"activeKeyState",void 0),pn([h.sH],Tn.prototype,"user",void 0),Tn=pn([Wt.PA],Tn);var Cn=r(1737),Sn=r(4692),On=function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o};class Mn{get isSuggestionsVisible(){return this.shouldShowSuggestions&&this.suggestions.length>0}get selectedItem(){return this.suggestions[this.selectedIndex]}get displayText(){return null==this.selectedItem?this.query:this.selectedItem.title}constructor(){Object.defineProperty(this,"selectedIndex",{enumerable:!0,configurable:!0,writable:!0,value:-1}),Object.defineProperty(this,"shouldShowSuggestions",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"suggestions",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"debouncedFetchSuggestions",{enumerable:!0,configurable:!0,writable:!0,value:(0,rt.debounce)(()=>this.fetchSuggestions(),200)}),Object.defineProperty(this,"query",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"xhr",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),(0,h.Gn)(this)}cancel(){var e;null===(e=this.xhr)||void 0===e||e.abort(),this.debouncedFetchSuggestions.cancel()}search(){const e=this.displayText.trim();e.length&&Turbo.visit((0,m.w)("search",{mode:"wiki_page",query:e}))}selectIndex(e){return e<-1?this.selectIndex(this.suggestions.length-1):e>=this.suggestions.length?this.selectIndex(-1):(this.selectedIndex=e,void(this.shouldShowSuggestions=!0))}shiftSelectedIndex(e){this.selectIndex(this.selectedIndex+e)}unselect(e){this.selectIndex(-1),this.shouldShowSuggestions=this.shouldShowSuggestions&&!e}updateQuery(e){var t;const r=e.trim(),n=this.query.trim();this.query=e,this.selectedIndex=-1,n!==r&&(null===(t=this.xhr)||void 0===t||t.abort(),r.length>1?this.debouncedFetchSuggestions():this.suggestions.length=0)}fetchSuggestions(){this.xhr=Sn.getJSON((0,m.w)("suggestions.wiki"),{query:this.query.trim()}).done((0,h.XI)(e=>{null!=e&&(this.suggestions=(0,h.sH)(e),this.shouldShowSuggestions=!0)}))}}On([h.sH],Mn.prototype,"selectedIndex",void 0),On([h.sH],Mn.prototype,"shouldShowSuggestions",void 0),On([h.sH],Mn.prototype,"suggestions",void 0),On([h.sH],Mn.prototype,"query",void 0),On([h.EW],Mn.prototype,"isSuggestionsVisible",null),On([h.EW],Mn.prototype,"selectedItem",null),On([h.EW],Mn.prototype,"displayText",null),On([h.XI],Mn.prototype,"cancel",null),On([h.XI],Mn.prototype,"search",null),On([h.XI],Mn.prototype,"selectIndex",null),On([h.XI],Mn.prototype,"shiftSelectedIndex",null),On([h.XI],Mn.prototype,"unselect",null),On([h.XI],Mn.prototype,"updateQuery",null),On([h.XI],Mn.prototype,"fetchSuggestions",null);var Nn=function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o};let Ln=class extends Ae.Component{constructor(){super(...arguments),Object.defineProperty(this,"controller",{enumerable:!0,configurable:!0,writable:!0,value:new Mn}),Object.defineProperty(this,"ref",{enumerable:!0,configurable:!0,writable:!0,value:Ae.createRef()}),Object.defineProperty(this,"selectedRef",{enumerable:!0,configurable:!0,writable:!0,value:Ae.createRef()}),Object.defineProperty(this,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.controller.updateQuery(e.target.value)}}),Object.defineProperty(this,"handleEsc",{enumerable:!0,configurable:!0,writable:!0,value:e=>{"Escape"===e.key&&this.controller.unselect(!0)}}),Object.defineProperty(this,"handleKeyDown",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=e.key;"Enter"===t?null==this.controller.selectedItem?this.handleSearch():(0,i.oo)((0,Ur.iD)(this.controller.selectedItem.path)):"ArrowUp"!==t&&"ArrowDown"!==t||(e.preventDefault(),this.controller.shiftSelectedIndex("ArrowDown"===t?1:-1))}}),Object.defineProperty(this,"handleMouseDown",{enumerable:!0,configurable:!0,writable:!0,value:e=>{null!=this.ref.current&&(e.composedPath().includes(this.ref.current)||this.controller.unselect(!0))}}),Object.defineProperty(this,"handleSearch",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.controller.search()}})}componentDidMount(){document.addEventListener("keydown",this.handleEsc),document.addEventListener("mousedown",this.handleMouseDown)}componentDidUpdate(){var e;null===(e=this.selectedRef.current)||void 0===e||e.scrollIntoView({block:"nearest",inline:"nearest"})}componentWillUnmount(){document.removeEventListener("keydown",this.handleEsc),document.removeEventListener("mousedown",this.handleMouseDown),this.controller.cancel()}render(){return Ae.createElement("div",{className:"wiki-search"},Ae.createElement("div",{className:"wiki-search__bar"},Ae.createElement("input",{autoFocus:!0,className:"wiki-search__input",onChange:this.handleChange,onKeyDown:this.handleKeyDown,placeholder:(0,f.pw)("common.input.search"),value:this.controller.displayText}),Ae.createElement("button",{className:"wiki-search__button",onClick:this.handleSearch},Ae.createElement("i",{className:"fa fa-search"}))),this.renderSuggestions())}renderSuggestions(){return this.controller.isSuggestionsVisible?Ae.createElement("div",{ref:this.ref,className:"wiki-search__suggestions u-fancy-scrollbar"},this.controller.suggestions.map((e,t)=>{const r=this.controller.selectedIndex===t;return Ae.createElement("a",{key:t,ref:r?this.selectedRef:void 0,className:(0,me.Zt)("wiki-search__suggestion",{active:r}),"data-index":t,href:(0,Ur.iD)(e.path)},Ae.createElement("span",{dangerouslySetInnerHTML:{__html:e.highlight}}))})):null}};Ln=Nn([Wt.PA],Ln);var An=r(9098),In=r(1113),Rn=r(9749),Dn=r(8395),Bn=function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o};let qn=class extends Ae.Component{get links(){return this.typeNames.map(e=>({title:(0,f.pw)(`notifications.filters.${null!=e?e:"_"}`),type:e}))}constructor(e){var t;super(e),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:{hasError:!1}}),Object.defineProperty(this,"controller",{enumerable:!0,configurable:!0,writable:!0,value:new An.A(T.A.dataStore.notificationStore,{excludes:this.props.excludes,isWidget:!0},null!==(t=this.props.only)&&void 0!==t?t:null)}),Object.defineProperty(this,"typeNames",{enumerable:!0,configurable:!0,writable:!0,value:ir.DK.filter(e=>!this.props.excludes.includes(e))}),Object.defineProperty(this,"handleFilterClick",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t;const r=null!==(t=e.currentTarget.dataset.type)&&void 0!==t?t:null;this.controller.navigateTo(r)}}),Object.defineProperty(this,"handleMarkAsRead",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.controller.markCurrentTypeAsRead()}}),Object.defineProperty(this,"handleShowMore",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.controller.loadMore()}}),Object.defineProperty(this,"renderFilter",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=this.controller.getType(e.type),r=e.type===this.controller.currentFilter;if(null!==t.name&&t.isEmpty&&!r)return null;const n={"data-type":e.type},i=r?["active"]:[];return Ae.createElement("button",Object.assign({key:e.title,className:(0,me.Zt)("notification-popup__filter",i),onClick:this.handleFilterClick},n),Ae.createElement("span",{className:"notification-popup__filter-count"},this.controller.getTotal(t)),Ae.createElement("span",null,e.title))}}),(0,h.Gn)(this)}static getDerivedStateFromError(e){return console.error(e),{hasError:!0}}render(){var e;const t=`notification-popup u-fancy-scrollbar ${null!==(e=this.props.extraClasses)&&void 0!==e?e:""}`;return Ae.createElement(Rn.V.Provider,{value:{excludes:this.props.excludes,isWidget:!0}},Ae.createElement("div",{className:t},Ae.createElement("div",{className:"notification-popup__scroll-container"},this.renderFilters(),Ae.createElement("div",{className:"notification-popup__buttons"},this.renderHistoryLink(),Ae.createElement("div",{className:"notification-popup__clear-button"},this.renderMarkAsReadButton())),Ae.createElement("div",{className:"notification-stacks"},this.renderStacks(),this.renderShowMore()))))}renderFilters(){return null==this.props.only&&T.A.notificationsWorker.hasData?Ae.createElement("div",{className:"notification-popup__filters"},this.links.map(this.renderFilter)):null}renderHistoryLink(){var e;const t="channel"===this.props.only?"chat.index":"notifications.index";return Ae.createElement("a",{className:"notification-popup__filter",href:(0,m.w)(t)},(0,f.pw)(`notifications.see_${null!==(e=this.props.only)&&void 0!==e?e:"all"}`))}renderMarkAsReadButton(){var e;const t=this.controller.type;return t.isEmpty?null:Ae.createElement(In.A,{isMarkingAsRead:this.controller.isMarkingCurrentTypeAsRead,onMarkAsRead:this.handleMarkAsRead,text:(0,f.pw)("notifications.mark_read",{type:(0,f.pw)(`notifications.action_type.${null!==(e=t.name)&&void 0!==e?e:"_"}`)})})}renderShowMore(){const e=this.controller.type;return Ae.createElement(rr.A,{callback:this.handleShowMore,hasMore:null==e?void 0:e.hasMore,loading:null==e?void 0:e.isLoading,modifiers:"notification-group notification-list"})}renderStacks(){if(this.state.hasError)return;const e=this.controller.stacks.map(e=>Ae.createElement(Dn.A,{key:e.id,stack:e}));if(0===e.length){let e="notifications.loading";return T.A.notificationsWorker.hasData?e=null==this.controller.currentFilter?"notifications.all_read":"notifications.none":T.A.notificationsWorker.waitingVerification&&(e="notifications.verifying"),Ae.createElement("p",{key:"empty",className:"notification-popup__empty"},(0,f.pw)(e))}return e}};Object.defineProperty(qn,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{excludes:[]}}),Bn([h.EW],qn.prototype,"links",null),qn=Bn([Wt.PA],qn);const Fn=qn;var Un=r(4692),Vn=function(e,t,r,n){var i,s=arguments.length,o=s<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(o=(s<3?i(o):s>3?i(t,r,o):i(t,r))||o);return s>3&&o&&Object.defineProperty(t,r,o),o};const zn="json-store-supporter-tag",$n=[1,2,4,6,12,18,24];let Wn=class extends Ae.Component{get cost(){return Math.floor(this.sliderValue)}get discount(){if(this.duration>=12)return 46;const e=100*(1-this.cost/this.duration/4);return Math.max(0,Math.round(e))}get duration(){switch(!0){case this.cost>=26:return Math.floor(this.cost/26*12);case this.cost>=24:return 10;case this.cost>=22:return 9;case this.cost>=20:return 8;case this.cost>=16:return 6;case this.cost>=12:return 4;case this.cost>=8:return 2;case this.cost>=4:return 1;default:return 0}}get durationInYears(){return{months:Math.floor(this.duration%12),years:Math.floor(this.duration/12)}}get durationText(){const e=this.durationInYears,t=[];return e.years>0&&t.push((0,f.Mq)("common.count.years",e.years)),e.months>0&&t.push((0,f.Mq)("common.count.months",e.months)),t.join(", ")}get isGiftingSelf(){var e;return null!=this.user&&this.user.id===(null===(e=T.A.currentUser)||void 0===e?void 0:e.id)}get isValidUser(){return null!=this.user&&Number.isFinite(this.user.id)&&this.user.id>0}constructor(e){var t;super(e),Object.defineProperty(this,"debouncedGetUser",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"disposers",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"giftMessageRef",{enumerable:!0,configurable:!0,writable:!0,value:Ae.createRef()}),Object.defineProperty(this,"savedGiftMessage",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"sliderRef",{enumerable:!0,configurable:!0,writable:!0,value:Ae.createRef()}),Object.defineProperty(this,"sliderValue",{enumerable:!0,configurable:!0,writable:!0,value:4}),Object.defineProperty(this,"user",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"username",{enumerable:!0,configurable:!0,writable:!0,value:null!==(t=(0,i.bN)().get("target"))&&void 0!==t?t:""}),Object.defineProperty(this,"xhr",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"getUser",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.xhr=(0,hn.n)([`@${e}`],!0),this.xhr.done(e=>(0,h.h5)(()=>{var t;this.user=null!==(t=e.users[0])&&void 0!==t?t:an.bs})).fail(j.S5).always(()=>{this.xhr=null})}}),Object.defineProperty(this,"handleBeforeCache",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e,t;(0,K.Qv)(zn,{savedGiftMessage:null!==(t=null===(e=this.giftMessageRef.current)||void 0===e?void 0:e.value)&&void 0!==t?t:"",sliderValue:this.sliderValue,username:this.username})}}),Object.defineProperty(this,"handlePresetClick",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t,r;const n=function(e){switch(!0){case e>=12:return Math.ceil(e/12*26);case 10===e:return 24;case 9===e:return 22;case 8===e:return 20;case 6===e:return 16;case 4===e:return 12;case 2===e:return 8;case 1===e:return 4}}(+(null!==(r=null===(t=e.currentTarget.dataset)||void 0===t?void 0:t.months)&&void 0!==r?r:0));null!=n&&null!=this.sliderRef.current&&Un(this.sliderRef.current).slider("value",n)}}),Object.defineProperty(this,"handleSliderValueChanged",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>{null!=t.value&&(this.sliderValue=t.value)}}),Object.defineProperty(this,"handleUsernameChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t;this.username=e.currentTarget.value,this.debouncedGetUser.cancel(),null===(t=this.xhr)||void 0===t||t.abort(),""===this.username?this.user=T.A.currentUserOrFail:(this.user=null,this.debouncedGetUser(this.username))}}),this.debouncedGetUser=(0,rt.debounce)(this.getUser,300),document.addEventListener("turbo:before-cache",this.handleBeforeCache),(0,h.Gn)(this);const r=(0,K.Do)(zn,!0);null!=r&&(this.savedGiftMessage=r.savedGiftMessage,this.sliderValue=r.sliderValue,this.username=r.username),""!==this.username?(this.user=null,this.debouncedGetUser(this.username)):this.user=T.A.currentUserOrFail,this.disposers.add(T.A.reactTurbolinks.runAfterPageLoad(()=>{this.disposers.add((0,h.fm)(()=>{g(this.isValidUser),null!=this.sliderRef.current&&Un(this.sliderRef.current).slider({disabled:!this.isValidUser})}))}))}componentDidMount(){this.disposers.add(T.A.reactTurbolinks.runAfterPageLoad(()=>{this.initializeSlider()}))}componentWillUnmount(){var e;document.removeEventListener("turbo:before-cache",this.handleBeforeCache),null===(e=this.xhr)||void 0===e||e.abort(),this.disposers.forEach(e=>null==e?void 0:e())}render(){var e;return Ae.createElement("div",{className:"store-supporter-tag"},Ae.createElement("input",{defaultValue:this.cost,id:"supporter-tag-form-price",name:"item[cost]",type:"hidden"}),Ae.createElement("input",{defaultValue:null===(e=this.user)||void 0===e?void 0:e.id,name:"item[extra_data][target_id]",type:"hidden"}),Ae.createElement("div",{className:"store-supporter-tag__user-search"},Ae.createElement(on.q,{user:this.user}),Ae.createElement("input",{autoComplete:"off",className:"store-supporter-tag__input",id:"username",name:"item[extra_data][username]",onChange:this.handleUsernameChange,placeholder:(0,f.pw)("store.supporter_tag.gift"),value:this.username}),Ae.createElement("div",{"data-visibility":!this.isValidUser||this.isGiftingSelf?"hidden":"visible"},Ae.createElement("textarea",{ref:this.giftMessageRef,className:"store-supporter-tag__input store-supporter-tag__input--message",defaultValue:this.savedGiftMessage,maxLength:this.props.maxMessageLength,name:"item[extra_data][message]",placeholder:(0,f.pw)("store.supporter_tag.gift_message",{length:this.props.maxMessageLength}),rows:3}))),Ae.createElement("div",{className:"store-slider"},Ae.createElement("div",{ref:this.sliderRef,className:`${(0,me.Zt)("ui-slider",{disabled:!this.isValidUser})} ui-slider-horizontal`},Ae.createElement("div",{className:"ui-slider-handle"},Ae.createElement("div",{className:"store-slider__fake-callout"},Ae.createElement("div",{className:"store-slider__callout"},Ae.createElement("div",{className:"store-slider__bigtext"},"USD ",this.cost),Ae.createElement("div",null,this.durationText),Ae.createElement("div",{className:"store-slider__subtext"},(0,f.pw)("store.discount",{percent:this.discount})))))),Ae.createElement("div",{className:"store-slider__presets"},Ae.createElement("span",{className:"store-slider__presets-blurb"},(0,f.pw)("supporter_tag.months")),$n.map(e=>Ae.createElement("div",{key:e,className:(0,me.Zt)("store-slider__preset",{active:this.duration>=e,disabled:!this.isValidUser}),"data-months":e,onClick:this.handlePresetClick},e)))))}initializeSlider(){const e=this.sliderRef.current;if(null!=e)return Un(e).slider({animate:!0,change:this.handleSliderValueChanged,max:52,min:4,range:"min",slide:this.handleSliderValueChanged,step:.125,value:this.sliderValue})}};Vn([h.sH],Wn.prototype,"sliderValue",void 0),Vn([h.sH],Wn.prototype,"user",void 0),Vn([h.sH],Wn.prototype,"username",void 0),Vn([h.EW],Wn.prototype,"cost",null),Vn([h.EW],Wn.prototype,"duration",null),Vn([h.XI],Wn.prototype,"getUser",void 0),Vn([h.XI],Wn.prototype,"handleSliderValueChanged",void 0),Vn([h.XI],Wn.prototype,"handleUsernameChange",void 0),Wn=Vn([Wt.PA],Wn);const Xn=Wn;var Hn=r(9979),Gn=r(4692);function Zn(e){return JSON.parse(null!=e?e:"")}function Kn(e){if(null==e)throw new Error("unexpected undefined value");return e}T.A.reactTurbolinks.register("artist-track",e=>Ae.createElement(sn.A,Object.assign({},Zn(e.dataset.props)))),T.A.reactTurbolinks.register("click-to-copy",e=>Ae.createElement(Kt.A,Object.assign({},Zn(e.dataset.props)))),T.A.reactTurbolinks.register("countdownTimer",e=>Ae.createElement(er,{deadline:Kn(e.dataset.deadline)})),T.A.reactTurbolinks.register("blockButton",e=>Ae.createElement($t.A,{userId:parseInt(Kn(e.dataset.target),10)})),T.A.reactTurbolinks.register("beatmap-discussion-events",()=>{const e={events:(0,K.qF)("json-events"),mode:"list",users:(0,Hn.E)((0,K.qF)("json-users"),"id")};return Ae.createElement(zt.A,Object.assign({},e))}),T.A.reactTurbolinks.register("beatmapset-panel",e=>{const t=Zn(e.dataset.beatmapsetPanel);return Ae.createElement(Ut.A,Object.assign({},(0,h.sH)(t)))}),T.A.reactTurbolinks.register("basic-select-options",e=>Ae.createElement(Vt.A,Object.assign({},Zn(e.dataset.basicSelectOptions)))),T.A.reactTurbolinks.register("chat-icon",e=>Ae.createElement(Zt,{type:e.dataset.type})),T.A.reactTurbolinks.register("main-notification-icon",e=>Ae.createElement(ar,{type:e.dataset.type})),T.A.reactTurbolinks.register("menu-images",()=>Ae.createElement(mr,{images:(0,h.sH)((0,K.qF)("json-menu-images"))})),T.A.reactTurbolinks.register("notification-widget",e=>Ae.createElement(Fn,Object.assign({},Zn(e.dataset.notificationWidget))));const Jn=new Mr;T.A.reactTurbolinks.register("quick-search",()=>Ae.createElement(Ar,{worker:Jn})),T.A.reactTurbolinks.register("quick-search-button",()=>Ae.createElement(qr,{worker:Jn})),T.A.reactTurbolinks.register("ranking-country-filter",()=>Ae.createElement(Wr,Object.assign({},(0,K.qF)("json-country-filter")))),T.A.reactTurbolinks.register("ranking-user-filter",()=>Ae.createElement(Gr,Object.assign({},(0,K.qF)("json-user-filter")))),T.A.reactTurbolinks.register("ranking-variant-filter",()=>Ae.createElement(Zr,Object.assign({},(0,K.qF)("json-variant-filter")))),T.A.reactTurbolinks.register("scoring-mode-toggle",e=>{var t;return Ae.createElement(en,{className:null!==(t=e.dataset.class)&&void 0!==t?t:""})}),T.A.reactTurbolinks.register("store-supporter-tag",e=>{const t=(0,lr.y)(e.dataset.maxMessageLength);if(null==t)throw new Error("missing maxMessageLength");return Ae.createElement(Xn,{maxMessageLength:t})}),T.A.reactTurbolinks.register("team-extra-menu",e=>Ae.createElement(nn,Object.assign({},Zn(e.dataset.props)))),T.A.reactTurbolinks.register("user-card",e=>{var t;return Ae.createElement(on.q,{modifiers:e.dataset.modifiers,user:"1"===e.dataset.isCurrentUser?T.A.currentUser:Zn(null!==(t=e.dataset.user)&&void 0!==t?t:"null")})}),T.A.reactTurbolinks.register("user-card-tooltip",e=>Ae.createElement(Tn,{container:e,lookup:Kn(e.dataset.lookup)})),Gn(document).ready(function(){dn(document).on("mouseover",".js-usercard",jn),dn(document).on("mouseenter",".js-user-card-tooltip",wn),dn(document).on("mouseleave",".js-user-card-tooltip",kn),dn(document).on("turbo:before-cache",yn),dn.subscribe("user-card:remove.tooltip",xn)}),T.A.reactTurbolinks.register("user-cards",e=>{var t;return Ae.createElement(Cn.L,{modifiers:e.dataset.modifiers,users:Zn(null!==(t=e.dataset.users)&&void 0!==t?t:"[]"),viewMode:"card"})}),T.A.reactTurbolinks.register("wiki-search",()=>Ae.createElement(Ln,null)),T.A.reactTurbolinks.register("landing-news",()=>Ae.createElement(nr,{posts:(0,K.qF)("json-posts")}))},3724(e,t,r){var n,i=r(4692);n=document.getElementsByClassName("js-fixed-element"),i(document).on("shown.bs.modal",".modal",function(e){return i(e.target).find(".modal-af").focus()}),i(document).on("hidden.bs.modal",".modal",function(){return i(".modal-backdrop").remove(),i("body, .js-fixed-element").css({paddingRight:""})}),i(document).on("show.bs.modal",".modal",function(){var e,t,r,s,o,a,l,u;for(Timeout.set(10,function(){return i(".modal-backdrop").trigger("bsTransitionEnd")}),e=[],r=s=0,a=n.length;s{var t=t=>e(e.s=t);e.O(0,[502,223],()=>(t(5974),t(3177)));e.O()}]); +//# sourceMappingURL=app.46ed236c.js.map \ No newline at end of file diff --git "a/teto/(42) teto bread \302\267 chat _ osu!_files/commons.0819ae77_LWMq.js" "b/teto/(42) teto bread \302\267 chat _ osu!_files/commons.0819ae77_LWMq.js" new file mode 100644 index 0000000..d45b05f --- /dev/null +++ "b/teto/(42) teto bread \302\267 chat _ osu!_files/commons.0819ae77_LWMq.js" @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[223],{42(e,t,s){s.d(t,{A:()=>l});var r=s(9981),a=s(6540),i=s(7634),n=s(1883),o=s(1980);function l(e){let t;switch(e.type){case"featured_artist":if(null==e.beatmapset.track_id)return null;t=(0,r.w)("tracks.show",{track:e.beatmapset.track_id});break;case"nsfw":if(!e.beatmapset.nsfw)return null;break;case"spotlight":if(!e.beatmapset.spotlight)return null;t=(0,o.iD)("Beatmap_Spotlights")}const s=(0,n.pw)(`beatmapsets.${e.type}_badge.label`),l=(0,i.Zt)("beatmapset-badge",e.modifiers,e.type);return null==t?a.createElement("span",{className:l},s):a.createElement("a",{className:l,href:t},s)}},46(e,t,s){s.d(t,{A:()=>l});var r=s(9981),a=s(1883),i=s(450);const n=["show","discussions","versions"];function o(e,t){switch(e){case"discussions":return(0,r.w)("beatmapsets.discussion",{beatmapset:t.id});case"show":if(null==t)throw new Error("can't make show url without beatmapset");return(0,r.w)("beatmapsets.show",{beatmapset:t.id});case"versions":if(null==t)throw new Error("can't make versions url without beatmapset");return 0===t.version_count?void 0:(0,r.w)("beatmapsets.versions",{beatmapset:t.id});default:return(0,i.J)(e),""}}function l(e,t){const s=[];for(const r of n){const i=o(r,t),n="versions"===r?t.version_count:void 0;null!=i&&s.push({active:r===e,count:n,title:(0,a.pw)(`layout.header.beatmapsets.${r}`),url:i})}return s}},241(e,t,s){s.d(t,{A:()=>i});var r=s(6540),a=s(7634);function i(e){var t;return r.createElement("span",{className:(0,a.Zt)("avatar","guest",e.modifiers),style:{backgroundImage:(0,a.NZ)(null===(t=e.user)||void 0===t?void 0:t.avatar_url)}})}},256(e,t,s){s.d(t,{B6:()=>E,Dk:()=>d,JD:()=>_,Kq:()=>O,Qz:()=>u,ZV:()=>f,a3:()=>h,b5:()=>P,bm:()=>v,e0:()=>w,h$:()=>y,rJ:()=>l,wM:()=>c,z3:()=>m});var r=s(2543),a=s(7634),i=s(4692);const n=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],o=1e3;function l(){return 0===c()}function c(){const e=document.documentElement;return e.scrollHeight-e.scrollTop-e.clientHeight}function u(e){if(e instanceof HTMLElement)return e instanceof HTMLFormElement?()=>i(e).submit():()=>e.click()}function d(e){if(null!=e)return{"--bg":(0,a.NZ)(e),"--bg-2x":(0,a.NZ)(P(e))}}function p(e){return(0,r.padStart)(e.toString(),2,"0")}function m(e,t=2){if(e0?`${r}:${p(s)}:${p(t)}`:`${s}:${p(t)}`}const b=new Intl.NumberFormat(window.currentLocale);function f(e,t,s,r){return null==t&&null==s&&null==r?b.format(e):(null!=s||(s={}),null!=t&&(s.minimumFractionDigits=t,s.maximumFractionDigits=t),e.toLocaleString(null!=r?r:window.currentLocale,s))}function v(e){return f((0,r.floor)(e,2),2)}const g=new Intl.NumberFormat(window.currentLocale,{maximumFractionDigits:1,minimumFractionDigits:0,notation:"compact"});function y(e){return null==e?void 0:g.format(e)}function w(e){return e instanceof HTMLElement?e:null}function _(e){const t=w(e);if(null==t)return!1;if(E(t)||["A","BUTTON"].includes(t.tagName))return!0;const s=w(t.parentNode);return null!=s&&_(s)}function E(e){return["INPUT","OPTION","SELECT","TEXTAREA"].includes(e.tagName)||e.isContentEditable}function P(e){if(null!=e)return e.replace(/(\.[^.]+)$/,"@2x$1")}function O(e){return e.replace(/<[^>]*>/g,"")}},368(e,t,s){s.d(t,{A:()=>o});var r=s(2543),a=s(6540),i=s(7634),n=s(1883);function o(e){var t;return a.createElement("span",{className:(0,i.Zt)("supporter-icon",e.modifiers),title:(0,n.pw)("users.show.is_supporter")},(0,r.times)(null!==(t=e.level)&&void 0!==t?t:1,e=>a.createElement("span",{key:e,className:"fas fa-heart"})))}},397(e,t,s){s.d(t,{d:()=>a,y:()=>r});const r=["hype","mapper_note","praise","problem","review","suggestion"],a={hype:"fas fa-bullhorn",mapper_note:"far fa-sticky-note",praise:"fas fa-heart",problem:"fas fa-exclamation-circle",resolved:"far fa-check-circle",review:"fas fa-tasks",suggestion:"far fa-circle"}},447(e,t,s){s.d(t,{u:()=>r});const r=["deleted","hype","mapperNotes","mine","pending","praises","resolved","total"]},450(e,t,s){function r(e){}s.d(t,{J:()=>r,n:()=>a});class a extends Error{constructor(e){super(`unhandled switch value: ${JSON.stringify(e)}`)}}},615(e,t,s){s.d(t,{A:()=>m});var r=s(1091),a=s(6540),i=s(746),n=s(8793),o=s(6978),l=s(5780),c=s(6606),u=s(5812);const d=Object.freeze({a:function(e){const t=(0,c.ML)(e.href);return null!=t.children?a.createElement("a",Object.assign({},t)):a.createElement(a.Fragment,null,e.children)},code:p,em:p,img:function(e){var t;return a.createElement(a.Fragment,null,null!==(t=(0,u.I)(e.alt))&&void 0!==t?t:"[image]")},p,pre:p,strong:p});function p(e){return a.createElement(a.Fragment,null,(0,r.I$)(e.children))}class m extends a.Component{render(){var e;return a.createElement(i.$,{className:"plain-text-preview",components:d,rehypePlugins:[[n.A,{maxChars:null!==(e=this.props.maxLength)&&void 0!==e?e:c.Y5}]],remarkPlugins:[o.A,[l.A,{type:this.props.type}]],transformLinkUri:r.lx,unwrapDisallowed:!0},this.props.markdown)}}},723(e,t,s){function r(e){if(Number.isInteger(e))return e;if("string"==typeof e){const t=parseInt(e,10);if(Number.isInteger(t))return t}}function a(e,t){return(e%t+t)%t}s.d(t,{x:()=>a,y:()=>r})},738(e,t,s){s.d(t,{A:()=>n});var r=s(4403),a=s(6540),i=s(6606);function n({message:e,isTimeline:t}){return t?a.createElement(r.A,{maxLength:i.yD,message:e,modifiers:"discussion"}):null}},799(e,t,s){s.d(t,{A:()=>u});var r=s(9981),a=s(6540),i=s(7634),n=s(256),o=s(1883),l=s(5812);class c extends a.PureComponent{get artist(){var e;return"artist"in this.props?null!==(e=this.props.track.artist)&&void 0!==e?e:this.props.artist:this.props.track.artist}render(){let e=(0,i.Zt)("artist-track",{original:this.props.track.exclusive},this.props.modifiers);return e+=" js-audio--player",a.createElement("div",{className:e,"data-audio-url":this.props.track.preview},a.createElement("div",{className:"artist-track__col artist-track__col--preview",style:{backgroundImage:(0,i.NZ)(this.props.track.cover_url)}},a.createElement("button",{className:"artist-track__button artist-track__button--play js-audio--play"},a.createElement("span",{className:"fa-fw play-button"}))),a.createElement("div",{className:"artist-track__col artist-track__col--names"},a.createElement("div",{className:"artist-track__title u-ellipsis-overflow"},this.props.track.title,(0,l.E)(this.props.track.version)&&a.createElement(a.Fragment,null," ",a.createElement("span",{className:"artist-track__version"},this.props.track.version))),a.createElement("div",{className:"artist-track__info"},a.createElement("a",{href:(0,r.w)("artists.show",{artist:this.artist.id})},this.artist.name)),this.props.showAlbum&&null!=this.props.track.album&&a.createElement("div",{className:"artist-track__info"},a.createElement("a",{href:`${(0,r.w)("artists.show",{artist:this.artist.id})}#album-${this.props.track.album_id}`},this.props.track.album.title))),a.createElement("div",{className:"artist-track__col artist-track__col--badges"},this.props.track.exclusive&&a.createElement("span",{className:"pill-badge pill-badge--pink pill-badge--with-shadow",title:(0,o.pw)("artist.songs.original")},(0,o.pw)("artist.songs.original_badge")),this.props.track.is_new&&a.createElement("span",{className:"pill-badge pill-badge--yellow pill-badge--with-shadow"},(0,o.pw)("common.badges.new"))),a.createElement("div",{className:"artist-track__col artist-track__col--details"},a.createElement("div",{className:"u-ellipsis-overflow artist-track__detail artist-track__detail--genre"},this.props.track.genre),a.createElement("div",{className:"artist-track__detail artist-track__detail--bpm"},(0,n.ZV)(this.props.track.bpm),"bpm"),a.createElement("div",{className:"artist-track__detail artist-track__detail--length"},this.props.track.length)),a.createElement("div",{className:"artist-track__col artist-track__col--buttons"},a.createElement("a",{className:"artist-track__button",href:this.props.track.osz,title:(0,o.pw)("artist.beatmaps.download")},a.createElement("span",{className:"fas fa-fw fa-download"}))))}}Object.defineProperty(c,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{showAlbum:!1}});const u=c},893(e,t,s){s.d(t,{A:()=>r});class r{}},903(e,t,s){s.d(t,{Cd:()=>v,Cg:()=>b,EC:()=>c,Es:()=>d,I_:()=>l,R$:()=>g,VL:()=>p,Wr:()=>m,_z:()=>y,aI:()=>f,c:()=>u,t3:()=>h});var r=s(9981),a=s(7813),i=s(1250),n=s(2853),o=s(4692);function l(e,t){return o.post((0,r.w)("chat.ack"),{history_since:t,since:e})}function c(e){return o.post((0,r.w)("chat.channels.store"),e)}function u(e){return o.get((0,r.w)("chat.channels.show",{channel:e})).then((0,a.XI)(e=>(n.A.dataStore.userStore.updateMany(e.users),e.channel)))}function d(e,t){return o.get((0,r.w)("chat.channels.users.index",{channel:e,cursor_string:t}))}function p(e,t){return o.get((0,r.w)("chat.channels.messages.index",Object.assign({channel:e,return_object:1},t))).then((0,a.XI)(e=>(n.A.dataStore.userStore.updateMany(e.users),e.messages.map(e=>i.A.fromJson(e)))))}function m(){return o.get((0,r.w)("chat.channels.index"))}function h(e,t){return o.get((0,r.w)("chat.updates"),{history_since:t,includes:["presence","silences"],since:e})}function b(e,t){return o.ajax({type:"PUT",url:(0,r.w)("chat.channels.join",{channel:e,user:t})})}function f(e,t){return o.ajax({type:"PUT",url:(0,r.w)("chat.channels.mark-as-read",{channel:e,message:t})})}function v(e,t){return o.post((0,r.w)("chat.new"),{is_action:t.isAction,message:t.content,target_id:e,uuid:t.uuid})}function g(e,t){return o.ajax((0,r.w)("chat.channels.part",{channel:e,user:t}),{method:"DELETE"})}function y(e){return o.post((0,r.w)("chat.channels.messages.store",{channel:e.channelId}),{is_action:e.isAction,message:e.content,target_id:e.channelId,target_type:"channel",uuid:e.uuid})}},963(e,t,s){s.d(t,{A:()=>r});const r=(0,s(6540).createContext)(null)},1091(e,t,s){s.d(t,{Ei:()=>c,I$:()=>u,K9:()=>l,lx:()=>d,s1:()=>o});var r=s(6540),a=s(2811),i=s(6606),n=s(1980);const o=r.createContext({inLink:!1});function l(e){return function(t){return r.createElement(e,null,u(t.children))}}function c(e){const t=(0,i.ML)(e.href),s=(0,n.Nd)(t.href),a=null==t.children||e.children instanceof Array&&e.children.length>0&&e.children[0]!==e.href?e.children:t.children;return r.createElement(o.Consumer,null,({inLink:e})=>r.createElement(o.Provider,{value:{inLink:!0}},e?a:r.createElement("a",Object.assign({},t,{href:s}),a)))}function u(e){var t;if("string"==typeof e){const s=[...e.matchAll(i.Fm)];if(s.length>0){let a=0;const i=[];for(const o of s){const s=null!==(t=o.index)&&void 0!==t?t:0,l=e.substring(a,s);i.push(l);const[,,,c,u,d,p]=o,m=`${c}:${u}:${d}${null!=p?p:""}`;i.push(r.createElement("a",{key:`timestamp-${s}`,className:"beatmap-discussion-timestamp-decoration",href:(0,n.Ir)(m)},m)),a=s+o[0].length}return i.push(e.substring(a,e.length)),i}}else if(Array.isArray(e))return e.map(u);return e}function d(e){return e.startsWith("osu://edit/")?e:(0,a.Q)(e)}},1113(e,t,s){s.d(t,{A:()=>c});var r=s(8623),a=s(1370),i=s(6540),n=s(7634),o=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let l=class extends i.Component{render(){return this.props.isMarkingAsRead?i.createElement("div",{className:(0,n.Zt)("notification-action-button",this.props.modifiers)},i.createElement("span",{className:"notification-action-button__text"},this.props.text),i.createElement("div",{className:"notification-action-button__icon"},i.createElement(r.y,null))):i.createElement("button",{className:(0,n.Zt)("notification-action-button",this.props.modifiers),onClick:this.props.onMarkAsRead,type:"button"},i.createElement("span",{className:"notification-action-button__text"},this.props.text),i.createElement("div",{className:"notification-action-button__icon"},i.createElement("span",{className:"fas fa-check"})))}};l=o([a.PA],l);const c=l},1198(e,t,s){s.d(t,{w:()=>w});var r=s(9981),a=s(8443),i=s(5093),n=s(2853),o=s(6540),l=s(7634),c=s(1883),u=s(3944),d=s(1980),p=s(4893),m=s(6338),h=s(7308),b=s(1737);const f=["all","online","offline"],v=["all","osu","taiko","fruits","mania"],g=["last_visit","rank","username"];function y(e,t){var s,r,a,i;return(null!==(r=null===(s=e.statistics)||void 0===s?void 0:s.global_rank)&&void 0!==r?r:Number.MAX_VALUE)-(null!==(i=null===(a=t.statistics)||void 0===a?void 0:a.global_rank)&&void 0!==i?i:Number.MAX_VALUE)}class w extends o.PureComponent{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:{filter:this.filterFromUrl,playMode:this.playmodeFromUrl,sortMode:this.sortFromUrl,viewMode:this.viewFromUrl}}),Object.defineProperty(this,"handleSortChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=e.currentTarget.dataset.value,s=(0,d.Ze)(null,{sort:t});(0,u.Al)(s,"push"),this.setState({sortMode:t},()=>{n.A.userPreferences.set("user_list_sort",this.state.sortMode)})}}),Object.defineProperty(this,"onViewSelected",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=e.currentTarget.dataset.value,s=(0,d.Ze)(null,{view:t});(0,u.Al)(s,"push"),this.setState({viewMode:t},()=>{n.A.userPreferences.set("user_list_view",this.state.viewMode)})}}),Object.defineProperty(this,"optionSelected",{enumerable:!0,configurable:!0,writable:!0,value:e=>{e.preventDefault();const t=e.currentTarget.dataset.key,s=(0,d.Ze)(null,{filter:t});(0,u.Al)(s,"push"),this.setState({filter:t},()=>{n.A.userPreferences.set("user_list_filter",this.state.filter)})}}),Object.defineProperty(this,"playmodeSelected",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=e.currentTarget.dataset.value,s=(0,d.Ze)(null,{mode:t});(0,u.Al)(s,"push"),this.setState({playMode:t})}})}get filterFromUrl(){return this.getAllowedQueryStringValue(f,(0,u.bN)().get("filter"),n.A.userPreferences.get("user_list_filter"))}get playmodeFromUrl(){return this.getAllowedQueryStringValue(v,(0,u.bN)().get("mode"),"all")}get sortedUsers(){const e=this.getFilteredUsers(this.state.filter).slice();switch(this.state.sortMode){case"rank":return e.sort(y);case"username":return e.sort(a.Vg);default:return e.sort((e,t)=>{var s,r;return e.is_online&&t.is_online?(0,a.Vg)(e,t):e.is_online||t.is_online?e.is_online?-1:1:i(null!==(s=t.last_visit)&&void 0!==s?s:0).diff(i(null!==(r=e.last_visit)&&void 0!==r?r:0))})}}get sortFromUrl(){return this.getAllowedQueryStringValue(g,(0,u.bN)().get("sort"),n.A.userPreferences.get("user_list_sort"))}get viewFromUrl(){return this.getAllowedQueryStringValue(h.g,(0,u.bN)().get("view"),n.A.userPreferences.get("user_list_view"))}render(){var e,t;return o.createElement(o.Fragment,null,this.renderSelections(),o.createElement("div",{className:"user-list"},null!=this.props.group&&o.createElement("h1",{className:"user-list__title"},this.props.group.name,o.createElement(p.A,{href:(0,r.w)("group-history.index",{group_id:this.props.group.id}),icon:"fas fa-history",modifiers:"rounded-thin",text:(0,c.pw)("group_history.view")})),null!=(null===(e=this.props.group)||void 0===e?void 0:e.description)&&o.createElement("div",{dangerouslySetInnerHTML:{__html:this.props.group.description.html},className:"user-list__description"}),o.createElement("div",{className:"user-list__toolbar"},(null===(t=this.props.group)||void 0===t?void 0:t.has_playmodes)&&o.createElement("div",{className:"user-list__toolbar-row"},o.createElement("div",{className:"user-list__toolbar-item"},this.renderPlaymodeFilter())),o.createElement("div",{className:"user-list__toolbar-row"},o.createElement("div",{className:"user-list__toolbar-item"},this.renderSorter()),o.createElement("div",{className:"user-list__toolbar-item"},this.renderViewMode()))),o.createElement("div",{className:"user-list__items"},o.createElement(b.L,{users:this.sortedUsers,viewMode:this.state.viewMode}))))}renderOption(e,t,s=!1){const r=s?["active"]:[];let a=(0,l.Zt)("update-streams-v2__item",r);return a+=` t-changelog-stream--${e}`,o.createElement("a",{key:e,className:a,"data-key":e,href:(0,d.Ze)(null,{filter:e}),onClick:this.optionSelected},o.createElement("div",{className:"update-streams-v2__bar u-changelog-stream--bg"}),o.createElement("p",{className:"update-streams-v2__row update-streams-v2__row--name"},(0,c.pw)(`users.status.${e}`)),o.createElement("p",{className:"update-streams-v2__row update-streams-v2__row--version"},t))}renderSelections(){return o.createElement("div",{className:"update-streams-v2 update-streams-v2--with-active update-streams-v2--user-list"},o.createElement("div",{className:"update-streams-v2__container"},f.map(e=>this.renderOption(e,this.getFilteredUsers(e).length,e===this.state.filter))))}renderSorter(){return o.createElement(m.F,{currentValue:this.state.sortMode,modifiers:"user-list",onChange:this.handleSortChange,values:g})}renderViewMode(){return o.createElement("div",{className:"user-list__view-modes"},o.createElement("button",{className:(0,l.Zt)("user-list__view-mode","card"===this.state.viewMode?["active"]:[]),"data-value":"card",onClick:this.onViewSelected,title:(0,c.pw)("users.view_mode.card")},o.createElement("span",{className:"fas fa-square"})),o.createElement("button",{className:(0,l.Zt)("user-list__view-mode","list"===this.state.viewMode?["active"]:[]),"data-value":"list",onClick:this.onViewSelected,title:(0,c.pw)("users.view_mode.list")},o.createElement("span",{className:"fas fa-bars"})),o.createElement("button",{className:(0,l.Zt)("user-list__view-mode","brick"===this.state.viewMode?["active"]:[]),"data-value":"brick",onClick:this.onViewSelected,title:(0,c.pw)("users.view_mode.brick")},o.createElement("span",{className:"fas fa-th"})))}getAllowedQueryStringValue(e,t,s){const r=t;if(e.indexOf(r)>-1)return r;const a=s;return e.indexOf(a)>-1?a:e[0]}getFilteredUsers(e){var t;let s=this.props.users.slice();const r=this.state.playMode;if("all"!==r&&(null===(t=this.props.group)||void 0===t?void 0:t.has_playmodes)){const e=this.props.group.id;s=s.filter(t=>{var s,a,i;return null===(i=null===(a=null===(s=t.groups)||void 0===s?void 0:s.find(t=>t.id===e))||void 0===a?void 0:a.playmodes)||void 0===i?void 0:i.includes(r)})}switch(e){case"online":return s.filter(e=>e.is_online);case"offline":return s.filter(e=>!e.is_online);default:return s}}renderPlaymodeFilter(){const e=v.map(e=>o.createElement("button",{key:e,className:(0,l.Zt)("user-list__view-mode",this.state.playMode===e?["active"]:[]),"data-value":e,onClick:this.playmodeSelected,title:(0,c.pw)(`beatmaps.mode.${e}`)},"all"===e?o.createElement("span",null,(0,c.pw)("beatmaps.mode.all")):o.createElement("span",{className:`fal fa-extra-mode-${e}`})));return o.createElement("div",{className:"user-list__view-modes"},o.createElement("span",{className:"user-list__view-mode-title"},(0,c.pw)("users.filtering.by_game_mode"))," ",e)}}},1250(e,t,s){s.d(t,{A:()=>c});var r=s(7813),a=s(8443),i=s(5093),n=s(2853),o=s(9612),l=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};class c{get sender(){var e;return null!==(e=n.A.dataStore.userStore.get(this.senderId))&&void 0!==e?e:new a.Ay(-1)}constructor(){Object.defineProperty(this,"channelId",{enumerable:!0,configurable:!0,writable:!0,value:-1}),Object.defineProperty(this,"content",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"errored",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"isAction",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"messageId",{enumerable:!0,configurable:!0,writable:!0,value:(0,o.A)()}),Object.defineProperty(this,"persisted",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"senderId",{enumerable:!0,configurable:!0,writable:!0,value:-1}),Object.defineProperty(this,"timestamp",{enumerable:!0,configurable:!0,writable:!0,value:i().toISOString()}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:"plain"}),Object.defineProperty(this,"uuid",{enumerable:!0,configurable:!0,writable:!0,value:this.messageId}),(0,r.Gn)(this)}static fromJson(e){var t;const s=new c;return s.channelId=e.channel_id,s.content=e.content,s.isAction=e.is_action,s.messageId=e.message_id,s.persisted=!0,s.senderId=e.sender_id,s.timestamp=e.timestamp,s.type=e.type,s.uuid=null!==(t=e.uuid)&&void 0!==t?t:s.uuid,s}persist(e){this.persisted||(this.content=e.content,this.messageId=e.message_id,this.timestamp=e.timestamp,this.persisted=!0)}}l([r.sH],c.prototype,"channelId",void 0),l([r.sH],c.prototype,"content",void 0),l([r.sH],c.prototype,"errored",void 0),l([r.sH],c.prototype,"isAction",void 0),l([r.sH],c.prototype,"messageId",void 0),l([r.sH],c.prototype,"persisted",void 0),l([r.sH],c.prototype,"senderId",void 0),l([r.sH],c.prototype,"timestamp",void 0),l([r.sH],c.prototype,"type",void 0),l([r.sH],c.prototype,"uuid",void 0),l([r.EW],c.prototype,"sender",null),l([r.XI],c.prototype,"persist",null)},1327(e,t,s){s.d(t,{A:()=>u});var r=s(7813),a=s(1370),i=s(6540),n=s(1883),o=s(4692),l=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let c=class extends i.Component{constructor(e){super(e),Object.defineProperty(this,"lastScrollY",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"observer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"reset",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.lastScrollY=null}}),Object.defineProperty(this,"onClick",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e,t,s;if(null==this.lastScrollY){const r=null==(null===(e=this.props.anchor)||void 0===e?void 0:e.current)?0:null!==(s=null===(t=o(this.props.anchor.current).offset())||void 0===t?void 0:t.top)&&void 0!==s?s:0;window.pageYOffset>r&&(this.lastScrollY=window.pageYOffset,window.scrollTo(window.pageXOffset,r),this.mountObserver())}else window.scrollTo(window.pageXOffset,this.lastScrollY),this.lastScrollY=null}}),Object.defineProperty(this,"onScroll",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.lastScrollY=null,document.removeEventListener("scroll",this.onScroll),this.removeObserver()}}),(0,r.Gn)(this)}componentWillUnmount(){document.removeEventListener("scroll",this.onScroll),this.removeObserver()}render(){return i.createElement("button",{className:"floating-toolbar-button","data-tooltip-float":"fixed",onClick:this.onClick,title:(0,n.pw)(null==this.lastScrollY?"common.buttons.back_to_top":"common.buttons.back_to_previous")},i.createElement("span",{className:null==this.lastScrollY?"fas fa-angle-up":"fas fa-angle-down"}))}mountObserver(){var e,t;const s=null!==(t=null===(e=this.props.anchor)||void 0===e?void 0:e.current)&&void 0!==t?t:document.body;this.observer=new IntersectionObserver(e=>{for(const t of e)if(t.target===s&&0===t.boundingClientRect.top){document.addEventListener("scroll",this.onScroll);break}}),this.observer.observe(s)}removeObserver(){null!=this.observer&&(this.observer.disconnect(),this.observer=null)}};l([r.sH],c.prototype,"lastScrollY",void 0),l([r.XI],c.prototype,"reset",void 0),l([r.XI],c.prototype,"onClick",void 0),l([r.XI],c.prototype,"onScroll",void 0),c=l([a.PA],c);const u=c},1491(e,t,s){function r(e){null==e||e.setAttribute("data-visibility","visible")}function a(e){null==e||e.setAttribute("data-visibility","hidden")}function i(e,t){if(null==e)return;const s=(null!=t?t:!function(e){return"hidden"!==(null==e?void 0:e.getAttribute("data-visibility"))}(e))?r:a;s(e)}s.d(t,{Xn:()=>a,j6:()=>i,qG:()=>r})},1518(e,t,s){s.d(t,{A:()=>n});var r=s(5093),a=s(6540),i=function(e,t){var s={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(s[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);ao});var r=s(2543),a=s(6540),i=s(7634),n=s(256);function o(e){var t;let s=null!==(t=e.value)&&void 0!==t?t:0===e.total?0:e.current/e.total;return s=(0,r.clamp)(s,0,1),a.createElement("div",{className:(0,i.Zt)("bar",e.modifiers),style:{"--fill":100*s+"%"},title:e.title},a.createElement("div",{className:"bar__fill"}),null!=e.textPrecision&&a.createElement("div",{className:"bar__text"},(0,n.ZV)(s,e.textPrecision,{style:"percent"})))}},1556(e,t,s){s.d(t,{A:()=>c});var r=s(2437),a=s(6540),i=s(1883),n=s(4692);const o="click-to-copy";class l extends a.Component{constructor(){super(...arguments),Object.defineProperty(this,"linkRef",{enumerable:!0,configurable:!0,writable:!0,value:a.createRef()}),Object.defineProperty(this,"timer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"titles",{enumerable:!0,configurable:!0,writable:!0,value:{default:(0,i.pw)("common.buttons.click_to_copy"),onClick:(0,i.pw)("common.buttons.click_to_copy_copied")}}),Object.defineProperty(this,"onClick",{enumerable:!0,configurable:!0,writable:!0,value:e=>{e.preventDefault(),r.x3(this.props.value);const t=this.api;null!=t&&(t.set("content.text",this.titles.onClick),window.clearTimeout(this.timer),this.timer=window.setTimeout(this.resetTooltip,1e3))}}),Object.defineProperty(this,"onMouseLeave",{enumerable:!0,configurable:!0,writable:!0,value:()=>{window.clearTimeout(this.timer),this.resetTooltip()}}),Object.defineProperty(this,"resetTooltip",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const e=this.api;null!=e&&(e.hide(),this.timer=window.setTimeout(()=>{e.set("content.text",this.titles.default)},100))}})}get api(){if(null!=this.linkRef.current)return n(this.linkRef.current).qtip("api")}componentWillUnmount(){window.clearTimeout(this.timer)}render(){var e,t,s;return this.props.value?a.createElement("a",{ref:this.linkRef,className:null!==(e=this.props.className)&&void 0!==e?e:o,"data-tooltip-hide-events":"mouseleave","data-tooltip-pin-position":!0,"data-tooltip-position":null!==(t=this.props.tooltipPosition)&&void 0!==t?t:"bottom center",href:this.props.valueAsUrl?this.props.value:"#",onClick:this.onClick,onMouseLeave:this.onMouseLeave,title:this.titles.default},null!==(s=this.props.label)&&void 0!==s?s:this.props.value,this.props.showIcon&&a.createElement("i",{className:`fas fa-paste ${o}__icon`})):a.createElement("span",null)}}Object.defineProperty(l,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{showIcon:!1,valueAsUrl:!1}});const c=l},1583(e,t,s){s.d(t,{A:()=>c});var r=s(2543),a=s(6540),i=s(7634),n=s(1883),o=s(1980);class l extends a.Component{constructor(){super(...arguments),Object.defineProperty(this,"bodyRef",{enumerable:!0,configurable:!0,writable:!0,value:a.createRef()}),Object.defineProperty(this,"sizeSelectRef",{enumerable:!0,configurable:!0,writable:!0,value:a.createRef()}),Object.defineProperty(this,"cancel",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t;((null===(t=this.bodyRef.current)||void 0===t?void 0:t.value)===this.props.rawValue||confirm((0,n.pw)("common.confirmation_unsaved")))&&(null!=this.bodyRef.current&&(this.bodyRef.current.value=this.props.rawValue),this.sendOnChange({event:e,type:"cancel"}))}}),Object.defineProperty(this,"onKeyDown",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.props.ignoreEsc||"Escape"!==e.key||this.cancel()}}),Object.defineProperty(this,"save",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.sendOnChange({event:e,type:"save"})}})}componentDidMount(){null!=this.sizeSelectRef.current&&(this.sizeSelectRef.current.value=""),null!=this.bodyRef.current&&(this.bodyRef.current.selectionEnd=0,this.bodyRef.current.focus())}render(){let e=(0,i.Zt)("bbcode-editor",this.props.modifiers);return e+=" js-bbcode-preview--form",a.createElement("form",{className:e,"data-state":"write"},a.createElement("div",{className:"bbcode-editor__content"},a.createElement("textarea",{ref:this.bodyRef,className:"bbcode-editor__body js-bbcode-preview--body",defaultValue:this.props.rawValue,disabled:this.props.disabled,name:"body",onKeyDown:this.onKeyDown,placeholder:this.props.placeholder}),a.createElement("div",{className:"bbcode-editor__preview"},a.createElement("div",{className:"forum-post-content js-bbcode-preview--preview"})),a.createElement("div",{className:"bbcode-editor__buttons-bar"},a.createElement("div",{className:"bbcode-editor__buttons bbcode-editor__buttons--toolbar"},this.renderToolbar()),a.createElement("div",{className:"bbcode-editor__buttons bbcode-editor__buttons--actions"},a.createElement("div",{className:"bbcode-editor__button bbcode-editor__button--cancel"},this.actionButton(this.cancel,(0,n.pw)("common.buttons.cancel"))),a.createElement("div",{className:"bbcode-editor__button bbcode-editor__button--hide-on-write"},this.renderPreviewHideButton()),a.createElement("div",{className:"bbcode-editor__button bbcode-editor__button--hide-on-preview"},this.renderPreviewShowButton()),a.createElement("div",{className:"bbcode-editor__button"},this.actionButton(this.save,(0,n.pw)("common.buttons.save"),"forum-primary"))))))}actionButton(e,t,s="forum-secondary"){return a.createElement("button",{className:(0,i.Zt)("btn-osu-big",s),disabled:this.props.disabled,onClick:e,type:"button"},t)}renderPreviewHideButton(){return a.createElement("button",{className:"js-bbcode-preview--hide btn-osu-big btn-osu-big--forum-secondary",disabled:this.props.disabled,type:"button"},(0,n.pw)("forum.topic.create.preview_hide"))}renderPreviewShowButton(){return a.createElement("button",{className:"js-bbcode-preview--show btn-osu-big btn-osu-big--forum-secondary",disabled:this.props.disabled,type:"button"},(0,n.pw)("forum.topic.create.preview"))}renderToolbar(){return a.createElement("div",{className:"post-box-toolbar"},this.toolbarButton("bold","fas fa-bold"),this.toolbarButton("italic","fas fa-italic"),this.toolbarButton("strikethrough","fas fa-strikethrough"),this.toolbarButton("heading","fas fa-heading"),this.toolbarButton("link","fas fa-link"),this.toolbarButton("spoilerbox","fas fa-barcode"),this.toolbarButton("list-numbered","fas fa-list-ol"),this.toolbarButton("list","fas fa-list"),this.toolbarButton("image","fas fa-image"),this.toolbarButton("imagemap","fas fa-map"),this.toolbarSizeSelect(),a.createElement("a",{className:"post-box-toolbar__help",href:(0,o.iD)("BBCode"),rel:"noreferrer",target:"_blank"},(0,n.pw)("bbcode.help")))}sendOnChange({event:e,type:t}){var s,r;this.props.onChange({event:e,hasChanged:(null===(s=this.bodyRef.current)||void 0===s?void 0:s.value)!==this.props.rawValue,type:t,value:null===(r=this.bodyRef.current)||void 0===r?void 0:r.value})}toolbarButton(e,t){return a.createElement("button",{className:`btn-circle btn-circle--bbcode js-bbcode-btn--${e}`,disabled:this.props.disabled,title:(0,n.pw)(`bbcode.${(0,r.snakeCase)(e)}`),type:"button"},a.createElement("span",{className:"btn-circle__content"},a.createElement("span",{className:t})))}toolbarSizeSelect(){return a.createElement("label",{className:"bbcode-size-select",title:(0,n.pw)("bbcode.size._")},a.createElement("span",{className:"bbcode-size-select__label"},(0,n.pw)("bbcode.size._")),a.createElement("i",{className:"fas fa-chevron-down"}),a.createElement("select",{ref:this.sizeSelectRef,className:"bbcode-size-select__select js-bbcode-btn--size",disabled:this.props.disabled},a.createElement("option",{value:"50"},(0,n.pw)("bbcode.size.tiny")),a.createElement("option",{value:"85"},(0,n.pw)("bbcode.size.small")),a.createElement("option",{value:"100"},(0,n.pw)("bbcode.size.normal")),a.createElement("option",{value:"150"},(0,n.pw)("bbcode.size.large"))))}}Object.defineProperty(l,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{disabled:!1,ignoreEsc:!1}});const c=l},1737(e,t,s){s.d(t,{L:()=>u});var r=s(7813),a=s(1370),i=s(6540),n=s(5374),o=s(7634),l=s(7308),c=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let u=class extends i.PureComponent{constructor(e){super(e),Object.defineProperty(this,"activeKeyState",{enumerable:!0,configurable:!0,writable:!0,value:new n.VR}),(0,r.Gn)(this)}render(){const e={"menu-active":null!=this.activeKeyState.value,[this.props.viewMode]:!0};return i.createElement(n.Bz.Provider,{value:this.activeKeyState},i.createElement("div",{className:(0,o.Zt)("user-cards",e)},this.props.users.map(e=>{const t=this.activeKeyState.value===e.id;return i.createElement(n.tx.Provider,{key:e.id,value:e.id},i.createElement(l.q,{activated:t,mode:this.props.viewMode,modifiers:(0,o.hL)("has-outline",this.props.modifiers),user:e}))})))}};c([r.sH],u.prototype,"activeKeyState",void 0),u=c([a.PA],u)},1807(e,t,s){s.d(t,{A:()=>n});var r=s(8994),a=s(6540),i=s(1883);class n extends a.PureComponent{render(){return(0,i.B_)(this.props.users.map(e=>a.createElement(r.A,{key:e.id,user:e})))}}},1831(e,t,s){s.d(t,{C:()=>d});var r=s(241),a=s(8994),i=s(7813),n=s(6540),o=s(5848),l=s(1883),c=s(6250),u=s(4692);function d(e,t,s){var r;return u(null!==(r=e())&&void 0!==r?r:[]).qtip({content:{text:"[placeholder]"},hide:{delay:500,effect(){u(this).fadeTo(250,0)},fixed:!0},position:(0,c.g)(s),show:{delay:100,effect(){u(this).fadeTo(110,1)},ready:!0},style:{classes:"qtip qtip--user-list",def:!1,tip:!1}}),(0,i.fm)(()=>{var s;const r=(0,o.renderToStaticMarkup)(n.createElement(p,Object.assign({},t())));u(null!==(s=e())&&void 0!==s?s:[]).qtip("set",{"content.text":r})})}function p(e){return n.createElement("div",{className:"user-list-popup"},e.title,e.users.length>0&&n.createElement("div",{className:"user-list-popup__users"},e.users.map(e=>n.createElement(a.A,{key:e.id,className:"user-list-popup__user",tooltipPosition:"top right",user:e},n.createElement(r.A,{modifiers:"full",user:e})))),e.count>e.users.length&&e.users.length>0&&n.createElement("div",{className:"user-list-popup__remainder-count"},(0,l.Mq)("common.count.plus_others",e.count-e.users.length)))}},1836(e,t,s){s.d(t,{A:()=>x});var r=s(9981),a=s(2543),i=s(7813),n=s(1370),o=s(9207),l=s(8443),c=s(2853),u=s(6540),d=s(7634);let p=null;function m(e){const t=function(){if(null==p&&(p=document.querySelector(".js-estimate-min-lines"),null==p))throw new Error("js-estimate-min-lines placeholder element is missing!");return p}();t.innerHTML=e;const s=t.firstChild;let r=t;s instanceof HTMLElement&&(r=s);const a=parseFloat(window.getComputedStyle(r).getPropertyValue("line-height")),i=t.scrollHeight;return{count:Math.ceil(i/a),height:i,lineHeight:a}}var h,b=s(256),f=s(1883),v=s(1556),g=s(4809),y=s(4691),w=s(4606),_=s(5953),E=s(8102),P=s(8623),O=s(3358),j=s(1518),k=s(241),S=s(8994),N=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let T=h=class extends u.Component{get hasVoted(){return this.props.controller.state.votedCommentIds.has(this.props.comment.id)}get isBlocked(){return null!=this.props.comment.userId&&c.A.currentUserModel.blocks.has(this.props.comment.userId)}get isLongContent(){return null!=this.lines&&this.lines.count>=9}get lines(){var e;return m(null!==(e=this.props.comment.messageHtml)&&void 0!==e?e:"")}get meta(){return this.props.controller.getCommentableMeta(this.props.comment)}get parentComment(){return null==this.props.comment.parentId?void 0:this.props.controller.state.comments[this.props.comment.parentId]}get parentPreview(){var e;const t=this.parentComment;if(null==t)throw new Error("trying to render parent preview without parent");return t.isDeleted?(0,f.pw)("comments.deleted"):null!=t.userId&&c.A.currentUserModel.blocks.has(t.userId)?(0,f.pw)("users.blocks.comment_text"):(0,a.truncate)((0,b.Kq)(null!==(e=t.messageHtml)&&void 0!==e?e:""),{length:100})}get postingVote(){return this.props.controller.isVoting(this.props.comment)}get replies(){return this.props.controller.getReplies(this.props.comment)}get shouldRender(){if(!this.props.comment.isDeleted)return!0;if(this.props.showToolbar)return!0;if((0,o.C)()&&c.A.userPreferences.get("comments_show_deleted"))return!0;return this.replies.some(e=>e.isVisible)}get shouldRenderContent(){return null!=this.props.comment.messageHtml&&(!(!(0,o.C)()||!c.A.userPreferences.get("comments_show_deleted"))||!this.props.comment.isDeleted)}get user(){return this.getCommentUser(this.props.comment)}constructor(e){if(super(e),Object.defineProperty(this,"clipped",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"editing",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"expandReplies",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"forceShow",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"showMoreRef",{enumerable:!0,configurable:!0,writable:!0,value:u.createRef()}),Object.defineProperty(this,"showNewReply",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"onCloseEdit",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.editing=!1}}),Object.defineProperty(this,"onCloseReplyBox",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.showNewReply=!1}}),Object.defineProperty(this,"onDelete",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.props.controller.apiDelete(this.props.comment)}}),Object.defineProperty(this,"onLoadReplies",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.props.controller.apiLoadMore(this.props.comment),this.onToggleReplies()}}),Object.defineProperty(this,"onReplyPosted",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.expandReplies="reply"===e}}),Object.defineProperty(this,"onRestore",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.props.controller.apiRestore(this.props.comment)}}),Object.defineProperty(this,"onShowDeletedToggleClick",{enumerable:!0,configurable:!0,writable:!0,value:()=>{c.A.userPreferences.set("comments_show_deleted",!c.A.userPreferences.get("comments_show_deleted"))}}),Object.defineProperty(this,"onToggleClip",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.clipped=!this.clipped}}),Object.defineProperty(this,"onToggleEdit",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.editing=!this.editing}}),Object.defineProperty(this,"onToggleForceShow",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.forceShow=!this.forceShow}}),Object.defineProperty(this,"onToggleNewReply",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.showNewReply=!this.showNewReply}}),Object.defineProperty(this,"onTogglePinned",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.props.controller.apiTogglePin(this.props.comment)}}),Object.defineProperty(this,"onToggleReplies",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.expandReplies=!this.expandReplies}}),Object.defineProperty(this,"onToggleVote",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.props.controller.apiToggleVote(this.props.comment)}}),Object.defineProperty(this,"renderComment",{enumerable:!0,configurable:!0,writable:!0,value:e=>u.createElement(h,{key:e.id,comment:e,controller:this.props.controller,depth:this.props.depth+1,expandReplies:this.props.expandReplies,modifiers:this.props.modifiers})}),c.A.windowSize.isMobile)this.expandReplies=!1;else if(this.props.comment.isDeleted)this.expandReplies=!1;else if(null!=this.props.expandReplies)this.expandReplies=this.props.expandReplies;else{const e=this.replies;this.expandReplies=!this.isBlocked&&(null==e?void 0:e.length)>0&&this.props.depth<6}(0,i.Gn)(this)}render(){return this.shouldRender?u.createElement("div",{className:(0,d.Zt)("comment",this.props.modifiers,{top:0===this.props.depth})},this.props.comment.isDeleted||!this.isBlocked||this.forceShow?this.renderMain():this.renderBlocked()):null}getCommentUser(e){var t;return null!==(t=this.getUser(e.userId))&&void 0!==t?t:null==e.legacyName?l.fc:{username:e.legacyName}}getUser(e){return this.props.controller.getUser(e)}renderBlocked(){return u.createElement("div",{className:(0,d.Zt)("comment__main","deleted")},u.createElement("span",{className:this.props.depth>0?"comment__avatar":void 0,style:{height:"auto"}}),u.createElement("div",{className:"comment__container"},u.createElement("div",{className:"comment__message"},u.createElement("p",{className:"osu-md osu-md--comment osu-md__paragraph"},(0,f.pw)("users.blocks.comment_text")," ",this.renderForceShowButton()))))}renderCommentableMeta(){if(!this.props.showCommentableMeta)return;const e=this.meta;return null!=e?u.createElement("div",{className:"comment__commentable-meta"},null!=this.props.comment.commentableType&&u.createElement("span",{className:"comment__commentable-meta-type"},u.createElement("span",{className:"comment__commentable-meta-icon fas fa-comment"})," ",(0,f.pw)(`comments.commentable_name.${this.props.comment.commentableType}`)),"url"in e?u.createElement("a",{className:"comment__link",href:e.url},e.title):u.createElement("span",null,e.title)):void 0}renderDelete(){if(!this.props.comment.isDeleted&&this.props.comment.canDelete)return u.createElement("div",{className:"comment__row-item"},u.createElement("button",{className:"comment__action",onClick:this.onDelete,type:"button"},(0,f.pw)("common.buttons.delete")))}renderDeletedBy(){var e;if(null!=this.props.comment.deletedAt&&this.props.comment.canModerate)return u.createElement("div",{className:"comment__row-item comment__row-item--info"},u.createElement(O.A,{mappings:{timeago:u.createElement(j.A,{dateTime:this.props.comment.deletedAt,relative:!0}),user:null==this.props.comment.deletedById?(0,f.pw)("comments.deleted_by_system"):u.createElement(S.A,{user:null!==(e=this.getUser(this.props.comment.deletedById))&&void 0!==e?e:l.fc})},pattern:(0,f.pw)("comments.deleted_by")}))}renderEdit(){if(this.props.comment.canEdit)return u.createElement("div",{className:"comment__row-item"},u.createElement("button",{className:(0,d.Zt)("comment__action",{active:this.editing}),onClick:this.onToggleEdit,type:"button"},(0,f.pw)("common.buttons.edit")))}renderEditedBy(){var e;if(null!=this.props.comment.editedAt&&!this.props.comment.isDeleted)return u.createElement("div",{className:"comment__row-item comment__row-item--info"},u.createElement(O.A,{mappings:{timeago:u.createElement(j.A,{dateTime:this.props.comment.editedAt,relative:!0}),user:u.createElement(S.A,{user:null!==(e=this.getUser(this.props.comment.editedById))&&void 0!==e?e:l.fc})},pattern:(0,f.pw)("comments.edited")}))}renderFooter(){return u.createElement("div",{className:"comment__row comment__row--footer"},this.props.comment.canHaveVote&&u.createElement("div",{className:"comment__row-item visible-xs"},this.renderVoteButton(!0)),u.createElement("div",{className:"comment__row-item comment__row-item--info"},u.createElement(j.A,{dateTime:this.props.comment.createdAt,relative:!0})),this.renderPermalink(),this.renderReplyButton(),this.renderEdit(),this.renderRestore(),this.renderDelete(),this.renderPin(),this.renderReport(),this.renderEditedBy(),this.renderDeletedBy(),this.renderForceShow(),this.renderRepliesText())}renderForceShow(){if(this.isBlocked&&!this.props.comment.isDeleted)return u.createElement("div",{className:"comment__row-item"},this.renderForceShowButton())}renderForceShowButton(){return u.createElement("button",{className:"comment__action",onClick:this.onToggleForceShow,type:"button"},this.forceShow?(0,f.pw)("users.blocks.hide_comment"):(0,f.pw)("users.blocks.show_comment"))}renderMain(){var e;return u.createElement(u.Fragment,null,this.renderRepliesToggle(),this.renderCommentableMeta(),this.renderToolbar(),u.createElement("div",{className:(0,d.Zt)("comment__main",{clip:this.clipped&&this.isLongContent,deleted:this.props.comment.isDeleted||this.isBlocked}),style:{"--clip-lines":7,"--line-height":null==this.lines?void 0:`${this.lines.lineHeight}px`}},this.props.comment.canHaveVote&&u.createElement("div",{className:"comment__float-container comment__float-container--left hidden-xs"},this.renderVoteButton(!1)),this.renderUserAvatar(),u.createElement("div",{className:"comment__container"},u.createElement("div",{className:"comment__row comment__row--header"},u.createElement(S.A,{className:"comment__row-item",user:this.user}),this.renderOwnerBadge(),this.props.comment.pinned&&u.createElement("span",{className:"comment__row-item comment__row-item--pinned"},u.createElement("span",{className:"fa fa-thumbtack"})," ",(0,f.pw)("comments.pinned")),this.renderParentLink(),this.props.comment.isDeleted&&u.createElement("span",{className:"comment__row-item comment__row-item--deleted"},(0,f.pw)("comments.deleted"))),this.editing?u.createElement("div",{className:"comment__editor"},u.createElement(g.A,{close:this.onCloseEdit,controller:this.props.controller,id:this.props.comment.id,message:this.props.comment.message,modifiers:this.props.modifiers})):this.shouldRenderContent&&u.createElement(u.Fragment,null,u.createElement("div",{dangerouslySetInnerHTML:{__html:null!==(e=this.props.comment.messageHtml)&&void 0!==e?e:""},className:"comment__message"}),this.isLongContent&&this.renderToggleClipButton()),this.renderFooter(),this.renderReplyBox())),this.props.comment.visibleReplyCount>0&&u.createElement("div",{className:(0,d.Zt)("comment__replies",{hidden:!this.expandReplies,indented:this.props.depth<6})},this.replies.map(this.renderComment),u.createElement(w.A,{comments:this.replies}),u.createElement(y.A,{ref:this.showMoreRef,comments:this.replies,controller:this.props.controller,label:0===this.replies.length?(0,f.pw)("comments.load_replies"):void 0,modifiers:this.props.modifiers,parent:this.props.comment,total:this.props.comment.visibleReplyCount})))}renderOwnerBadge(){const e=this.meta;if(null!=e&&"owner_id"in e&&null!=e.owner_id&&this.props.comment.userId===e.owner_id)return u.createElement("div",{className:"comment__row-item"},u.createElement("div",{className:"comment__owner-badge"},e.owner_title))}renderParentLink(){const e=this.parentComment;if(null==e)return;const t=this.getCommentUser(e),s=u.createElement(u.Fragment,null,u.createElement("span",{className:"fas fa-reply"}),` ${t.username}`);return u.createElement("span",{className:"comment__row-item comment__row-item--parent"},this.props.linkParent?u.createElement("a",{className:"comment__link",href:(0,r.w)("comments.show",{comment:e.id}),title:this.parentPreview},s):u.createElement("span",{title:this.parentPreview},s))}renderPermalink(){return u.createElement("div",{className:"comment__row-item"},u.createElement("span",{className:"comment__action comment__action--permalink"},u.createElement(v.A,{label:(0,f.pw)("common.buttons.permalink"),value:(0,r.w)("comments.show",{comment:this.props.comment.id}),valueAsUrl:!0})))}renderPin(){if(this.props.comment.canPin)return u.createElement("div",{className:"comment__row-item"},u.createElement("button",{className:"comment__action",onClick:this.onTogglePinned,type:"button"},(0,f.pw)("common.buttons."+(this.props.comment.pinned?"unpin":"pin"))))}renderRepliesText(){if(0===this.props.comment.visibleReplyCount)return;let e,t;return this.expandReplies||0!==this.replies.length?(t=this.onToggleReplies,e=(0,f.Mq)("comments.replies_count",this.props.comment.repliesCount)):(t=this.onLoadReplies,e=(0,f.pw)("comments.load_replies")),u.createElement("div",{className:"comment__row-item comment__row-item--replies"},u.createElement(E.A,{callback:t,direction:this.expandReplies?"up":"down",hasMore:!0,label:e,modifiers:"comment-replies"}))}renderRepliesToggle(){if(!(this.props.depth>0||0===this.replies.length))return u.createElement("div",{className:"comment__float-container comment__float-container--right"},u.createElement("button",{className:"comment__top-show-replies",onClick:this.onToggleReplies,type:"button"},u.createElement("span",{className:"fas "+(this.expandReplies?"fa-angle-up":"fa-angle-down")})))}renderReplyBox(){if(this.showNewReply)return u.createElement("div",{className:"comment__reply-box"},u.createElement(g.A,{close:this.onCloseReplyBox,commentableMeta:this.meta,controller:this.props.controller,modifiers:this.props.modifiers,onPosted:this.onReplyPosted,parent:this.props.comment}))}renderReplyButton(){if(this.props.comment.canReply)return u.createElement("div",{className:"comment__row-item"},u.createElement("button",{className:(0,d.Zt)("comment__action",{active:this.showNewReply}),onClick:this.onToggleNewReply,type:"button"},(0,f.pw)("common.buttons.reply")))}renderReport(){if(this.props.comment.canReport)return u.createElement("div",{className:"comment__row-item"},u.createElement(_.r,{className:"comment__action",reportableId:this.props.comment.id.toString(),reportableType:"comment",user:this.user}))}renderRestore(){if(this.props.comment.isDeleted&&this.props.comment.canRestore)return u.createElement("div",{className:"comment__row-item"},u.createElement("button",{className:"comment__action",onClick:this.onRestore,type:"button"},(0,f.pw)("common.buttons.restore")))}renderToggleClipButton(){return u.createElement("button",{className:"comment__toggle-clip",onClick:this.onToggleClip,type:"button"},(0,f.pw)("common.buttons."+(this.clipped?"read_more":"show_less")))}renderToolbar(){if(this.props.showToolbar&&(0,o.C)())return u.createElement("div",{className:"comment__toolbar"},u.createElement("div",{className:"sort"},u.createElement("div",{className:"sort__items"},u.createElement("button",{className:"sort__item sort__item--button",onClick:this.onShowDeletedToggleClick,type:"button"},u.createElement("span",{className:"sort__item-icon"},u.createElement("span",{className:c.A.userPreferences.get("comments_show_deleted")?"fas fa-check-square":"far fa-square"})),(0,f.pw)("common.buttons.show_deleted")))))}renderUserAvatar(){const e=this.user;return"id"in e?u.createElement("a",{className:"comment__avatar js-usercard","data-user-id":e.id,href:(0,r.w)("users.show",{user:e.id})},u.createElement(k.A,{modifiers:"full-circle",user:e})):u.createElement("span",{className:"comment__avatar"},u.createElement(k.A,{modifiers:"full-circle",user:Object.assign({avatar_url:void 0},e)}))}renderVoteButton(e){const t=this.hasVoted,s=(0,d.Zt)("comment-vote",this.props.modifiers,{disabled:!this.props.comment.canVote,inline:e,on:t,posting:this.postingVote}),r=e||t?null:u.createElement("div",{className:"comment-vote__hover"},"+1");return u.createElement("button",{className:s,disabled:this.postingVote||!this.props.comment.canVote,onClick:this.onToggleVote,type:"button"},u.createElement("span",{className:"comment-vote__text"},"+",(0,b.h$)(this.props.comment.votesCount)),this.postingVote&&u.createElement("span",{className:"comment-vote__spinner"},u.createElement(P.y,null)),r)}};Object.defineProperty(T,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{linkParent:!1,showCommentableMeta:!1,showToolbar:!1}}),N([i.sH],T.prototype,"clipped",void 0),N([i.sH],T.prototype,"editing",void 0),N([i.sH],T.prototype,"expandReplies",void 0),N([i.sH],T.prototype,"forceShow",void 0),N([i.sH],T.prototype,"showNewReply",void 0),N([i.EW],T.prototype,"isBlocked",null),N([i.EW],T.prototype,"lines",null),N([i.EW],T.prototype,"meta",null),N([i.EW],T.prototype,"parentComment",null),N([i.EW],T.prototype,"parentPreview",null),N([i.EW],T.prototype,"replies",null),N([i.EW],T.prototype,"shouldRender",null),N([i.EW],T.prototype,"shouldRenderContent",null),N([i.EW],T.prototype,"user",null),N([i.XI],T.prototype,"onCloseEdit",void 0),N([i.XI],T.prototype,"onCloseReplyBox",void 0),N([i.XI],T.prototype,"onReplyPosted",void 0),N([i.XI],T.prototype,"onToggleClip",void 0),N([i.XI],T.prototype,"onToggleEdit",void 0),N([i.XI],T.prototype,"onToggleForceShow",void 0),N([i.XI],T.prototype,"onToggleNewReply",void 0),N([i.XI],T.prototype,"onToggleReplies",void 0),T=h=N([n.PA],T);const x=T},1864(e,t,s){s.d(t,{A:()=>o});var r=s(9981),a=s(6540),i=s(7634),n=s(1883);function o(e){return a.createElement("div",{className:"page-tabs page-tabs--follows"},["comment","forum_topic","mapping","modding"].map(t=>a.createElement("a",{key:t,className:(0,i.Zt)("page-tabs__tab",{active:t===e.currentSubtype}),href:(0,r.w)("follows.index",{subtype:t})},(0,n.pw)(`follows.${t}.title`))))}},1883(e,t,s){s.d(t,{B_:()=>n,Mq:()=>c,fP:()=>u,pw:()=>o,sc:()=>l});s(1035);var r=s(6540),a=s(256),i=s(5812);function n(e,t="common.array_and"){const s=[];if(e.length>0&&(s.push(e[0]),e.length>1)){const a=e.length-1,i=o(1===a?`${t}.two_words_connector`:`${t}.last_word_connector`),n=o(`${t}.words_connector`);for(let t=1;tm});var r=s(2370),a=s(5472),i=s(7813),n=s(1370),o=s(2853),l=s(6540),c=s(7634),u=s(1883),d=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let p=class extends l.Component{get isBlocked(){return o.A.currentUserModel.blocks.has(this.props.user.id)}constructor(e){super(e),Object.defineProperty(this,"forceShow",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"handleClick",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.forceShow=!this.forceShow}}),(0,i.Gn)(this)}render(){const e=this.isBlocked&&!this.forceShow;return l.createElement("div",{className:e?"osu-layout__no-scroll":void 0},this.isBlocked&&this.renderBanner(),l.createElement("div",{className:(0,c.Zt)("osu-layout","full",{masked:e})},this.props.children))}renderBanner(){const e=l.createElement("div",{className:"grid-items grid-items--notification-banner-buttons"},l.createElement("div",null,l.createElement(r.A,{userId:this.props.user.id})),l.createElement("div",null,l.createElement("button",{className:"textual-button",onClick:this.handleClick,type:"button"},l.createElement("span",null,l.createElement("i",{className:"textual-button__icon fas fa-low-vision"})," ",this.forceShow?(0,u.pw)("users.blocks.hide_profile"):(0,u.pw)("users.blocks.show_profile")))));return l.createElement("div",{className:"osu-page"},l.createElement(a.A,{message:e,title:(0,u.pw)("users.blocks.banner_text"),type:"info"}))}};d([i.sH],p.prototype,"forceShow",void 0),d([i.EW],p.prototype,"isBlocked",null),d([i.XI],p.prototype,"handleClick",void 0),p=d([n.PA],p);const m=p},1980(e,t,s){s.d(t,{At:()=>l,Gs:()=>g,Ir:()=>m,Nd:()=>b,SS:()=>p,Ze:()=>f,eq:()=>h,h1:()=>d,iD:()=>v,ou:()=>c,sM:()=>u});var r=s(9981),a=s(2543),i=s(4920),n=s(3944),o=function(e,t){var s={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(s[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);ar});class r{constructor(e){Object.defineProperty(this,"userId",{enumerable:!0,configurable:!0,writable:!0,value:e})}}},2175(e,t,s){s.d(t,{A:()=>v});var r=s(9981),a=s(7813),i=s(1370),n=s(2853),o=s(6540),l=s(6407),c=s(7634),u=s(256),d=s(1883),p=s(8623),m=s(4692),h=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};const b="user-action-button";let f=class extends o.Component{get following(){return n.A.currentUserModel.followUserMapping.has(this.props.userId)}get followerCount(){return this.followerCountWithoutSelf+(this.following?1:0)}get loading(){return null!=this.xhr}constructor(e){var t;super(e),Object.defineProperty(this,"buttonRef",{enumerable:!0,configurable:!0,writable:!0,value:o.createRef()}),Object.defineProperty(this,"followerCountWithoutSelf",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"xhr",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onClick",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const e={data:{follow:{notifiable_id:this.props.userId,notifiable_type:"user",subtype:"mapping"}}};this.following?(e.type="DELETE",e.url=(0,r.w)("follows.destroy")):(e.type="POST",e.url=(0,r.w)("follows.store")),this.xhr=m.ajax(e).done(this.updateData).fail((0,l.uR)(this.buttonRef.current)).always((0,a.XI)(()=>this.xhr=void 0))}}),Object.defineProperty(this,"updateData",{enumerable:!0,configurable:!0,writable:!0,value:()=>{n.A.currentUserModel.updateFollowUserMapping(!this.following,this.props.userId)}}),(0,a.Gn)(this),this.props.showFollowerCounter&&(this.followerCountWithoutSelf=null!==(t=this.props.followers)&&void 0!==t?t:0,this.following&&(this.followerCountWithoutSelf-=1))}componentWillUnmount(){var e;null===(e=this.xhr)||void 0===e||e.abort()}render(){const e=!(null==n.A.currentUser||n.A.currentUser.id===this.props.userId);if(!e&&!this.props.alwaysVisible)return null;const t=e?(0,d.pw)("follows.mapping."+(this.following?"to_0":"to_1")):(0,d.pw)("follows.mapping.followers"),s=(0,c.Zt)(b,this.props.modifiers,{friend:this.following}),r=this.loading||!e;return o.createElement("div",{title:t},o.createElement("button",{ref:this.buttonRef,className:s,disabled:r,onClick:this.onClick},this.renderIcon(),this.renderCounter()))}renderCounter(){if(null!=this.props.showFollowerCounter&&null!=this.props.followers)return o.createElement("span",{className:`${b}__counter`},(0,u.ZV)(this.followerCount))}renderIcon(){const e=this.loading?o.createElement(p.y,null):o.createElement("i",{className:"fas fa-bell"});return o.createElement("span",{className:`${b}__icon-container`},e)}};h([a.sH],f.prototype,"xhr",void 0),h([a.EW],f.prototype,"followerCount",null),h([a.XI],f.prototype,"onClick",void 0),h([a.XI],f.prototype,"updateData",void 0),f=h([i.PA],f);const v=f},2355(e){e.exports=JSON.parse('{"DC":{"acronym":"DC","index":{"0":0,"1":0,"2":0,"3":0},"name":"Daycore","setting_labels":{"speed_change":"Speed decrease"},"type":"DifficultyReduction"},"EZ":{"acronym":"EZ","index":{"0":1,"1":1,"2":1,"3":1},"name":"Easy","setting_labels":{"retries":"Extra Lives"},"type":"DifficultyReduction"},"HT":{"acronym":"HT","index":{"0":2,"1":2,"2":2,"3":2},"name":"Half Time","setting_labels":{"speed_change":"Speed decrease","adjust_pitch":"Adjust pitch"},"type":"DifficultyReduction"},"NF":{"acronym":"NF","index":{"0":3,"1":3,"2":3,"3":3},"name":"No Fail","setting_labels":{},"type":"DifficultyReduction"},"AC":{"acronym":"AC","index":{"0":4,"1":5,"2":4,"3":5},"name":"Accuracy Challenge","setting_labels":{"minimum_accuracy":"Minimum accuracy","accuracy_judge_mode":"Accuracy mode","restart":"Restart on fail"},"type":"DifficultyIncrease"},"BL":{"acronym":"BL","index":{"0":5},"name":"Blinds","setting_labels":{},"type":"DifficultyIncrease"},"DT":{"acronym":"DT","index":{"0":6,"1":6,"2":5,"3":7},"name":"Double Time","setting_labels":{"speed_change":"Speed increase","adjust_pitch":"Adjust pitch"},"type":"DifficultyIncrease"},"FL":{"acronym":"FL","index":{"0":7,"1":7,"2":6,"3":9},"name":"Flashlight","setting_labels":{"follow_delay":"Follow delay","size_multiplier":"Flashlight size","combo_based_size":"Change size based on combo"},"type":"DifficultyIncrease"},"HD":{"acronym":"HD","index":{"0":8,"1":8,"2":7,"3":10},"name":"Hidden","setting_labels":{"only_fade_approach_circles":"Only fade approach circles"},"type":"DifficultyIncrease"},"HR":{"acronym":"HR","index":{"0":9,"1":9,"2":8,"3":11},"name":"Hard Rock","setting_labels":{},"type":"DifficultyIncrease"},"NC":{"acronym":"NC","index":{"0":10,"1":10,"2":9,"3":12},"name":"Nightcore","setting_labels":{"speed_change":"Speed increase"},"type":"DifficultyIncrease"},"PF":{"acronym":"PF","index":{"0":11,"1":11,"2":10,"3":13},"name":"Perfect","setting_labels":{"restart":"Restart on fail","require_perfect_hits":"Require perfect hits"},"type":"DifficultyIncrease"},"SD":{"acronym":"SD","index":{"0":12,"1":12,"2":11,"3":14},"name":"Sudden Death","setting_labels":{"fail_on_slider_tail":"Also fail when missing a slider tail","restart":"Restart on fail"},"type":"DifficultyIncrease"},"ST":{"acronym":"ST","index":{"0":13},"name":"Strict Tracking","setting_labels":{},"type":"DifficultyIncrease"},"TC":{"acronym":"TC","index":{"0":14},"name":"Traceable","setting_labels":{},"type":"DifficultyIncrease"},"AL":{"acronym":"AL","index":{"0":15},"name":"Alternate","setting_labels":{},"type":"Conversion"},"CL":{"acronym":"CL","index":{"0":16,"1":13,"2":12,"3":25},"name":"Classic","setting_labels":{"no_slider_head_accuracy":"No slider head accuracy requirement","classic_note_lock":"Apply classic note lock","always_play_tail_sample":"Always play a slider\'s tail sample","fade_hit_circle_early":"Fade out hit circles earlier","classic_health":"Classic health"},"type":"Conversion"},"DA":{"acronym":"DA","index":{"0":17,"1":15,"2":13,"3":27},"name":"Difficulty Adjust","setting_labels":{"circle_size":"Circle Size","approach_rate":"Approach Rate","drain_rate":"HP Drain","overall_difficulty":"Accuracy","extended_limits":"Extended Limits","scroll_speed":"Scroll Speed","hard_rock_offsets":"Spicy Patterns"},"type":"Conversion"},"MR":{"acronym":"MR","index":{"0":18,"2":14,"3":31},"name":"Mirror","setting_labels":{"reflection":"Flipped axes"},"type":"Conversion"},"RD":{"acronym":"RD","index":{"0":19,"1":16,"3":32},"name":"Random","setting_labels":{"angle_sharpness":"Angle sharpness","seed":"Seed"},"type":"Conversion"},"SG":{"acronym":"SG","index":{"0":20,"1":17},"name":"Single Tap","setting_labels":{},"type":"Conversion"},"TP":{"acronym":"TP","index":{"0":21},"name":"Target Practice","setting_labels":{"seed":"Seed","metronome":"Metronome ticks"},"type":"Conversion"},"AP":{"acronym":"AP","index":{"0":22},"name":"Autopilot","setting_labels":{},"type":"Automation"},"AT":{"acronym":"AT","index":{},"name":"Autoplay","setting_labels":{},"type":"Automation"},"CN":{"acronym":"CN","index":{},"name":"Cinema","setting_labels":{},"type":"Automation"},"RX":{"acronym":"RX","index":{"0":25,"1":21,"2":17},"name":"Relax","setting_labels":{},"type":"Automation"},"SO":{"acronym":"SO","index":{"0":26},"name":"Spun Out","setting_labels":{},"type":"Automation"},"AD":{"acronym":"AD","index":{"0":27},"name":"Approach Different","setting_labels":{"scale":"Initial size","style":"Style"},"type":"Fun"},"AS":{"acronym":"AS","index":{"0":28,"1":22,"3":35},"name":"Adaptive Speed","setting_labels":{"initial_rate":"Initial rate","adjust_pitch":"Adjust pitch"},"type":"Fun"},"BM":{"acronym":"BM","index":{"0":29},"name":"Bloom","setting_labels":{"max_size_combo_count":"Max size at combo","max_cursor_size":"Final size multiplier"},"type":"Fun"},"BR":{"acronym":"BR","index":{"0":30},"name":"Barrel Roll","setting_labels":{"spin_speed":"Roll speed","direction":"Direction"},"type":"Fun"},"BU":{"acronym":"BU","index":{"0":31},"name":"Bubbles","setting_labels":{},"type":"Fun"},"DF":{"acronym":"DF","index":{"0":32},"name":"Deflate","setting_labels":{"start_scale":"Starting Size"},"type":"Fun"},"DP":{"acronym":"DP","index":{"0":33},"name":"Depth","setting_labels":{"max_depth":"Maximum depth","show_approach_circles":"Show Approach Circles"},"type":"Fun"},"FR":{"acronym":"FR","index":{"0":34},"name":"Freeze Frame","setting_labels":{},"type":"Fun"},"GR":{"acronym":"GR","index":{"0":35},"name":"Grow","setting_labels":{"start_scale":"Starting Size"},"type":"Fun"},"MG":{"acronym":"MG","index":{"0":36},"name":"Magnetised","setting_labels":{"attraction_strength":"Attraction strength"},"type":"Fun"},"MU":{"acronym":"MU","index":{"0":37,"1":23,"2":20,"3":36},"name":"Muted","setting_labels":{"inverse_muting":"Start muted","enable_metronome":"Enable metronome","mute_combo_count":"Final volume at combo","affects_hit_sounds":"Mute hit sounds"},"type":"Fun"},"NS":{"acronym":"NS","index":{"0":38,"2":21},"name":"No Scope","setting_labels":{"hidden_combo_count":"Hidden at combo"},"type":"Fun"},"RP":{"acronym":"RP","index":{"0":39},"name":"Repel","setting_labels":{"repulsion_strength":"Repulsion strength"},"type":"Fun"},"SI":{"acronym":"SI","index":{"0":40},"name":"Spin In","setting_labels":{},"type":"Fun"},"SY":{"acronym":"SY","index":{"0":41,"2":22},"name":"Synesthesia","setting_labels":{},"type":"Fun"},"TR":{"acronym":"TR","index":{"0":42},"name":"Transform","setting_labels":{},"type":"Fun"},"WD":{"acronym":"WD","index":{"0":43,"1":24,"2":23,"3":37},"name":"Wind Down","setting_labels":{"initial_rate":"Initial rate","final_rate":"Final rate","adjust_pitch":"Adjust pitch"},"type":"Fun"},"WG":{"acronym":"WG","index":{"0":44},"name":"Wiggle","setting_labels":{"strength":"Strength"},"type":"Fun"},"WU":{"acronym":"WU","index":{"0":45,"1":25,"2":24,"3":38},"name":"Wind Up","setting_labels":{"initial_rate":"Initial rate","final_rate":"Final rate","adjust_pitch":"Adjust pitch"},"type":"Fun"},"SV2":{"acronym":"SV2","index":{},"name":"Score V2","setting_labels":{},"type":"System"},"TD":{"acronym":"TD","index":{"0":47},"name":"Touch Device","setting_labels":{},"type":"System"},"SR":{"acronym":"SR","index":{"1":4},"name":"Simplified Rhythm","setting_labels":{"one_third_conversion":"1/3 to 1/2 conversion","one_sixth_conversion":"1/6 to 1/4 conversion","one_eighth_conversion":"1/8 to 1/4 conversion"},"type":"DifficultyReduction"},"CS":{"acronym":"CS","index":{"1":14,"3":26},"name":"Constant Speed","setting_labels":{},"type":"Conversion"},"SW":{"acronym":"SW","index":{"1":18},"name":"Swap","setting_labels":{},"type":"Conversion"},"FF":{"acronym":"FF","index":{"2":18},"name":"Floating Fruits","setting_labels":{},"type":"Fun"},"MF":{"acronym":"MF","index":{"2":19},"name":"Moving Fast","setting_labels":{},"type":"Fun"},"NR":{"acronym":"NR","index":{"3":4},"name":"No Release","setting_labels":{},"type":"DifficultyReduction"},"CO":{"acronym":"CO","index":{"3":6},"name":"Cover","setting_labels":{"coverage":"Coverage","direction":"Direction"},"type":"DifficultyIncrease"},"FI":{"acronym":"FI","index":{"3":8},"name":"Fade In","setting_labels":{},"type":"DifficultyIncrease"},"1K":{"acronym":"1K","index":{"3":15},"name":"One Key","setting_labels":{},"type":"Conversion"},"2K":{"acronym":"2K","index":{"3":16},"name":"Two Keys","setting_labels":{},"type":"Conversion"},"3K":{"acronym":"3K","index":{"3":17},"name":"Three Keys","setting_labels":{},"type":"Conversion"},"4K":{"acronym":"4K","index":{"3":18},"name":"Four Keys","setting_labels":{},"type":"Conversion"},"5K":{"acronym":"5K","index":{"3":19},"name":"Five Keys","setting_labels":{},"type":"Conversion"},"6K":{"acronym":"6K","index":{"3":20},"name":"Six Keys","setting_labels":{},"type":"Conversion"},"7K":{"acronym":"7K","index":{"3":21},"name":"Seven Keys","setting_labels":{},"type":"Conversion"},"8K":{"acronym":"8K","index":{"3":22},"name":"Eight Keys","setting_labels":{},"type":"Conversion"},"9K":{"acronym":"9K","index":{"3":23},"name":"Nine Keys","setting_labels":{},"type":"Conversion"},"10K":{"acronym":"10K","index":{"3":24},"name":"Ten Keys","setting_labels":{},"type":"Conversion"},"DS":{"acronym":"DS","index":{"3":28},"name":"Dual Stages","setting_labels":{},"type":"Conversion"},"HO":{"acronym":"HO","index":{"3":29},"name":"Hold Off","setting_labels":{},"type":"Conversion"},"IN":{"acronym":"IN","index":{"3":30},"name":"Invert","setting_labels":{},"type":"Conversion"},"V2":{"acronym":"V2","index":{},"name":"Score V2","setting_labels":{},"type":"System"},"NM":{"acronym":"NM","index":{},"name":"No Mod","setting_labels":{},"type":"System"}}')},2370(e,t,s){s.d(t,{A:()=>f});var r=s(9981),a=s(7813),i=s(1370),n=s(2853),o=s(6540),l=s(6407),c=s(7634),u=s(1883),d=s(8623),p=s(4692),m=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};const h="textual-button";let b=class extends o.Component{get block(){var e;return null===(e=n.A.currentUser)||void 0===e?void 0:e.blocks.find(e=>e.target_id===this.props.userId)}constructor(e){super(e),Object.defineProperty(this,"loading",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"xhr",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"clicked",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e,t;confirm((0,u.pw)("common.confirmation"))?this.toggleBlock():null===(t=(e=this.props).onClick)||void 0===t||t.call(e)}}),Object.defineProperty(this,"toggleBlock",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.loading=!0,null==this.block?this.xhr=p.ajax((0,r.w)("blocks.store",{target:this.props.userId}),{type:"POST"}):this.xhr=p.ajax((0,r.w)("blocks.destroy",{block:this.props.userId}),{type:"DELETE"}),this.xhr.done(this.updateBlocks).fail((0,l.dI)(this.toggleBlock)).always((0,a.XI)(()=>this.loading=!1))}}),Object.defineProperty(this,"updateBlocks",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t,s;n.A.currentUserModel.updateUserRelation(null==e?void 0:e.user_relation,"blocks",this.props.userId),null===(s=(t=this.props).onClick)||void 0===s||s.call(t)}}),(0,a.Gn)(this)}get isVisible(){return null!=n.A.currentUser&&Number.isFinite(this.props.userId)&&this.props.userId!==n.A.currentUser.id}componentWillUnmount(){var e;null===(e=this.xhr)||void 0===e||e.abort()}render(){if(!this.isVisible)return null;const e=(0,c.Zt)(h,this.props.modifiers,"block");let t,s;return null==this.props.wrapperClass?s=e:(t=e,s=this.props.wrapperClass),o.createElement("button",{className:s,disabled:this.loading,onClick:this.clicked,type:"button"},o.createElement("span",{className:t},this.loading?o.createElement("span",{className:`${h}__icon fa-fw`},o.createElement(d.y,null)):o.createElement("span",{className:`${h}__icon fas fa-ban fa-fw`})," ",null==this.block?(0,u.pw)("users.blocks.button.block"):(0,u.pw)("users.blocks.button.unblock")))}};m([a.sH],b.prototype,"loading",void 0),m([a.EW],b.prototype,"block",null),m([a.EW],b.prototype,"isVisible",null),m([a.XI],b.prototype,"toggleBlock",void 0),m([a.XI],b.prototype,"updateBlocks",void 0),b=m([i.PA],b);const f=b},2385(e,t,s){s.d(t,{X:()=>I,A:()=>B});var r=s(42),a=s(7482),i=s(5325),n=s(3358),o=s(1518),l=s(8994),c=s(9981),u=s(2543),d=s(7813),p=s(1370),m=s(2853),h=s(6540),b=s(4351),f=s(8243),v=s(9232),g=s(7634),y=s(256),w=s(1883),_=s(1980),E=s(8645),P=s(8156),O=s(4692),j=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};const k={entered:{opacity:1},entering:{},exited:{},exiting:{},unmounted:{}},S=(0,p.PA)(({beatmaps:e})=>h.createElement("div",{className:"beatmaps-popup__group"},e.map(e=>h.createElement(N,{key:e.id,beatmap:e})))),N=(0,p.PA)(({beatmap:e})=>h.createElement("a",{className:"beatmaps-popup-item",href:(0,c.w)("beatmaps.show",{beatmap:e.id})},h.createElement(E.A,{beatmap:e,showOwners:!1})));let T=class extends h.Component{constructor(e){super(e),Object.defineProperty(this,"contentRef",{enumerable:!0,configurable:!0,writable:!0,value:h.createRef()}),Object.defineProperty(this,"position",{enumerable:!0,configurable:!0,writable:!0,value:{left:"0px",top:"0px",width:"0px"}}),Object.defineProperty(this,"updatePosition",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const e=this.props.parent;if(null==e)return;const t=e.getBoundingClientRect();this.position.top=`${window.scrollY+t.bottom}px`,this.position.left=`${window.scrollX+t.left}px`,this.position.width=`${t.width}px`}}),(0,d.Gn)(this)}componentDidMount(){O(window).on("resize",this.updatePosition)}componentWillUnmount(){O(window).off("resize",this.updatePosition)}render(){this.updatePosition();const e=Object.assign(Object.assign({opacity:0,transitionDuration:`${this.props.transitionDuration}ms`},k[this.props.state]),this.position);return h.createElement(P.A,null,h.createElement("div",{ref:this.contentRef,className:(0,g.Zt)("beatmaps-popup",[`size-${m.A.userPreferences.get("beatmapset_card_size")}`]),onMouseEnter:this.props.onMouseEnter,onMouseLeave:this.props.onMouseLeave,style:e},h.createElement("div",{className:"beatmaps-popup__content"},[...this.props.groupedBeatmaps].map(([e,t])=>t.length>0&&h.createElement(S,{key:e,beatmaps:t})))))}};j([d.sH],T.prototype,"position",void 0),j([d.XI],T.prototype,"updatePosition",void 0),T=j([p.PA],T);const x=T;var A=s(4692),C=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};const I=["normal","extra"],R={approved:"ranked_date",graveyard:"last_updated",loved:"ranked_date",pending:"last_updated",qualified:"ranked_date",ranked:"ranked_date",wip:"last_updated"},M=(0,p.PA)(({beatmap:e})=>h.createElement("div",{className:"beatmapset-panel__beatmap-dot",style:{"--bg":(0,f.ID)(e.difficulty_rating)}})),D=(0,p.PA)(({compact:e,beatmaps:t,mode:s})=>h.createElement("div",{className:"beatmapset-panel__extra-item beatmapset-panel__extra-item--dots"},h.createElement("div",{className:"beatmapset-panel__beatmap-icon",title:(0,w.pw)(`beatmaps.mode.${s}`)},h.createElement("i",{className:`fal fa-extra-mode-${s}`})),e?h.createElement("div",{className:"beatmapset-panel__beatmap-count"},t.length):t.map(e=>h.createElement(M,{key:e.id,beatmap:e})))),H=(0,p.PA)(({beatmapset:e})=>h.createElement(l.A,{className:"beatmapset-panel__mapper-link u-hover",user:{id:e.user_id,username:e.creator}})),L=({icon:e,titleVariant:t})=>h.createElement("div",{className:"beatmapset-panel__play-icon",title:(0,w.pw)(`beatmapsets.show.info.${t}`)},h.createElement("i",{className:e})),$=({icon:e,title:t,type:s,value:r})=>h.createElement("div",{className:`beatmapset-panel__stats-item beatmapset-panel__stats-item--${s}`,title:t},h.createElement("span",{className:"beatmapset-panel__stats-item-icon"},h.createElement("i",{className:`fa-fw ${e}`})),h.createElement("span",null,(0,y.h$)(r)));let U=class extends h.Component{get beatmapDotsCompact(){return null!=this.props.beatmapset.beatmaps&&this.props.beatmapset.beatmaps.length>12}get displayDate(){const e=R[this.props.beatmapset.status],t=this.props.beatmapset[e];if(null==t)throw Error("trying to display null date");return t}get downloadLink(){var e;if(null==m.A.currentUser)return{title:(0,w.pw)("beatmapsets.show.details.logged-out")};if(null===(e=this.props.beatmapset.availability)||void 0===e?void 0:e.download_disabled)return{title:(0,w.pw)("beatmapsets.availability.disabled")};let t,s,r=m.A.userPreferences.get("beatmapset_download");if("direct"!==r||m.A.currentUser.is_supporter||(r="all"),"direct"===r)t=(0,_.ou)(this.props.beatmapset.id),s="direct";else{const e={beatmapset:this.props.beatmapset.id};this.props.beatmapset.video?"no_video"===r?(e.noVideo=1,s="no_video"):s="video":s="all",t=(0,c.w)("beatmapsets.download",e)}return{title:(0,w.pw)(`beatmapsets.panel.download.${s}`),url:t}}get favourite(){return this.props.beatmapset.has_favourited?{icon:"fas fa-heart",toggleTitleVariant:"unfavourite"}:{icon:"far fa-heart",toggleTitleVariant:"favourite"}}get groupedBeatmaps(){return(0,f.Os)(this.props.beatmapset.beatmaps)}get isBeatmapsPopupVisible(){return this.beatmapsPopupHover||this.mobileExpanded}get nominations(){let e=0,t=0,s=0;if(null!=this.props.beatmapset.nominations_summary){const r=this.props.beatmapset.nominations_summary;e=r.current,t=r.required_meta.main_ruleset,s=r.required_meta.non_main_ruleset}else{if(null==this.props.beatmapset.nominations)return null;e=(0,u.sum)((0,u.values)(this.props.beatmapset.nominations.current)),t=this.props.beatmapset.nominations.required_meta.main_ruleset,s=this.props.beatmapset.nominations.required_meta.non_main_ruleset}const r=this.groupedBeatmaps,a=[];[...this.groupedBeatmaps.keys()].forEach(e=>{var t,s;(null!==(s=null===(t=r.get(e))||void 0===t?void 0:t.length)&&void 0!==s?s:0)>0&&a.push(e)});return{current:e,required:t+s*(a.length-1)}}get showHypeCounts(){return null!=this.props.beatmapset.hype}get showAudio(){return(0,v.cW)(this.props.beatmapset)}get url(){return(0,c.w)("beatmapsets.show",{beatmapset:this.props.beatmapset.id})}constructor(e){super(e),Object.defineProperty(this,"beatmapsPopupHover",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"beatmapsPopupRef",{enumerable:!0,configurable:!0,writable:!0,value:h.createRef()}),Object.defineProperty(this,"blockRef",{enumerable:!0,configurable:!0,writable:!0,value:h.createRef()}),Object.defineProperty(this,"mobileExpanded",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"timeouts",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"beatmapsPopupDelayedHide",{enumerable:!0,configurable:!0,writable:!0,value:()=>{window.clearTimeout(this.timeouts.beatmapsPopup),this.beatmapsPopupHover&&(this.timeouts.beatmapsPopup=window.setTimeout((0,d.XI)(()=>{this.beatmapsPopupHover=!1}),500))}}),Object.defineProperty(this,"beatmapsPopupDelayedShow",{enumerable:!0,configurable:!0,writable:!0,value:()=>{window.clearTimeout(this.timeouts.beatmapsPopup),this.beatmapsPopupHover||(this.timeouts.beatmapsPopup=window.setTimeout((0,d.XI)(()=>{this.beatmapsPopupHover=!0}),100))}}),Object.defineProperty(this,"beatmapsPopupHide",{enumerable:!0,configurable:!0,writable:!0,value:()=>{window.clearTimeout(this.timeouts.beatmapsPopup),this.beatmapsPopupHover=!1}}),Object.defineProperty(this,"beatmapsPopupKeep",{enumerable:!0,configurable:!0,writable:!0,value:()=>{window.clearTimeout(this.timeouts.beatmapsPopup),this.beatmapsPopupHover=!0}}),Object.defineProperty(this,"onBeatmapsPopupEnter",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.beatmapsPopupKeep()}}),Object.defineProperty(this,"onBeatmapsPopupLeave",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.beatmapsPopupDelayedHide()}}),Object.defineProperty(this,"onDocumentClick",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t,s,r;this.mobileExpanded&&((null===(t=this.blockRef.current)||void 0===t?void 0:t.contains(e.target))||(null===(r=null===(s=this.beatmapsPopupRef.current)||void 0===s?void 0:s.contentRef.current)||void 0===r?void 0:r.contains(e.target))||(A(document).off("click",this.onDocumentClick),this.mobileExpanded=!1))}}),Object.defineProperty(this,"onExtraRowEnter",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.beatmapsPopupDelayedShow()}}),Object.defineProperty(this,"onExtraRowLeave",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.beatmapsPopupDelayedHide()}}),Object.defineProperty(this,"onMobileExpandToggleClick",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.mobileExpanded=!this.mobileExpanded,this.mobileExpanded&&A(document).on("click",this.onDocumentClick)}}),Object.defineProperty(this,"toggleFavourite",{enumerable:!0,configurable:!0,writable:!0,value:()=>{(0,v.Mb)(this.props.beatmapset)}}),(0,d.Gn)(this)}componentWillUnmount(){A(document).off("click",this.onDocumentClick),Object.values(this.timeouts).forEach(e=>{window.clearTimeout(e)})}render(){let e=(0,g.Zt)("beatmapset-panel",{"beatmaps-popup-visible":this.isBeatmapsPopupVisible,"mobile-expanded":this.mobileExpanded,[`size-${m.A.userPreferences.get("beatmapset_card_size")}`]:!0,"with-hype-counts":this.showHypeCounts});return this.showAudio&&(e+=" js-audio--player"),h.createElement("div",{ref:this.blockRef,className:e,"data-audio-url":this.props.beatmapset.preview_url,onMouseLeave:this.beatmapsPopupHide,style:{"--beatmaps-popup-transition-duration":"150ms"}},this.renderBeatmapsPopup(),this.renderCover(),h.createElement("div",{className:"beatmapset-panel__content"},this.renderPlayArea(),this.renderInfoArea(),this.renderMenuArea()),h.createElement("button",{className:"beatmapset-panel__mobile-expand",onClick:this.onMobileExpandToggleClick,type:"button"},h.createElement("span",{className:"fas fa-angle-"+(this.mobileExpanded?"up":"down")})))}renderBeatmapsPopup(){return h.createElement(b.Ay,{in:this.isBeatmapsPopupVisible,mountOnEnter:!0,timeout:{enter:0,exit:150},unmountOnExit:!0},e=>h.createElement(x,{ref:this.beatmapsPopupRef,groupedBeatmaps:this.groupedBeatmaps,onMouseEnter:this.onBeatmapsPopupEnter,onMouseLeave:this.onBeatmapsPopupLeave,parent:this.blockRef.current,state:e,transitionDuration:150}))}renderCover(){return h.createElement("a",{className:"beatmapset-panel__cover-container",href:this.url},h.createElement("div",{className:"beatmapset-panel__cover-col beatmapset-panel__cover-col--play"},h.createElement(a.A,{beatmapset:this.props.beatmapset,modifiers:"full",size:"list"})),h.createElement("div",{className:"beatmapset-panel__cover-col beatmapset-panel__cover-col--info"},m.A.windowSize.isDesktop&&h.createElement(a.A,{beatmapset:this.props.beatmapset,modifiers:"full",size:"card"})))}renderInfoArea(){return h.createElement("div",{className:"beatmapset-panel__info"},h.createElement("div",{className:"beatmapset-panel__info-row beatmapset-panel__info-row--title"},h.createElement("a",{className:"beatmapset-panel__main-link u-ellipsis-overflow",href:this.url},(0,v.LK)(this.props.beatmapset)),h.createElement("div",{className:"beatmapset-panel__badge-container"},h.createElement(r.A,{beatmapset:this.props.beatmapset,type:"nsfw"}),h.createElement(r.A,{beatmapset:this.props.beatmapset,type:"spotlight"}))),h.createElement("div",{className:"beatmapset-panel__info-row beatmapset-panel__info-row--artist"},h.createElement("a",{className:"beatmapset-panel__main-link u-ellipsis-overflow",href:this.url},(0,w.pw)("beatmapsets.show.details.by_artist",{artist:(0,v.wp)(this.props.beatmapset)})),h.createElement("div",{className:"beatmapset-panel__badge-container"},h.createElement(r.A,{beatmapset:this.props.beatmapset,type:"featured_artist"}))),h.createElement("div",{className:"beatmapset-panel__info-row beatmapset-panel__info-row--source"},h.createElement("div",{className:"u-ellipsis-overflow"},this.props.beatmapset.source)),h.createElement("div",{className:"beatmapset-panel__info-row beatmapset-panel__info-row--mapper"},h.createElement("div",{className:"u-ellipsis-overflow"},h.createElement(n.A,{mappings:{mapper:h.createElement(H,{beatmapset:this.props.beatmapset})},pattern:(0,w.pw)("beatmapsets.show.details.mapped_by")}))),h.createElement("div",{className:"beatmapset-panel__info-row beatmapset-panel__info-row--stats"},this.showHypeCounts&&null!=this.props.beatmapset.hype&&h.createElement($,{icon:"fas fa-bullhorn",title:(0,w.pw)("beatmaps.hype.required_text",{current:(0,y.ZV)(this.props.beatmapset.hype.current),required:(0,y.ZV)(this.props.beatmapset.hype.required)}),type:"hype",value:this.props.beatmapset.hype.current}),this.showHypeCounts&&null!=this.nominations&&h.createElement($,{icon:"fas fa-thumbs-up",title:(0,w.pw)("beatmaps.nominations.required_text",{current:(0,y.ZV)(this.nominations.current),required:(0,y.ZV)(this.nominations.required)}),type:"nominations",value:this.nominations.current}),h.createElement($,{icon:"fas fa-play-circle",title:(0,w.pw)("beatmaps.panel.playcount",{count:(0,y.ZV)(this.props.beatmapset.play_count)}),type:"play-count",value:this.props.beatmapset.play_count}),h.createElement($,{icon:this.favourite.icon,title:(0,w.pw)("beatmaps.panel.favourites",{count:(0,y.ZV)(this.props.beatmapset.favourite_count)}),type:"favourite-count",value:this.props.beatmapset.favourite_count}),h.createElement("div",{className:"beatmapset-panel__stats-item beatmapset-panel__stats-item--date"},h.createElement("span",{className:"beatmapset-panel__stats-item-icon"},h.createElement("i",{className:"fa-fw fas fa-check-circle"})),h.createElement(o.A,{dateTime:this.displayDate}))),h.createElement("a",{className:"beatmapset-panel__info-row beatmapset-panel__info-row--extra",href:this.url,onMouseEnter:this.onExtraRowEnter,onMouseLeave:this.onExtraRowLeave},h.createElement("div",{className:"beatmapset-panel__extra-item"},h.createElement("div",{className:"beatmapset-status beatmapset-status--panel",style:{"--bg-hsl":`var(--beatmapset-${this.props.beatmapset.status}-bg-hsl)`,"--colour":`var(--beatmapset-${this.props.beatmapset.status}-colour)`}},(0,w.pw)(`beatmapsets.show.status.${this.props.beatmapset.status}`))),[...this.groupedBeatmaps].map(([e,t])=>t.length>0&&h.createElement(D,{key:e,beatmaps:t,compact:this.beatmapDotsCompact,mode:e}))))}renderMenuArea(){return h.createElement("div",{className:"beatmapset-panel__menu-container"},h.createElement("div",{className:"beatmapset-panel__menu"},null==m.A.currentUser?h.createElement("span",{className:"beatmapset-panel__menu-item beatmapset-panel__menu-item--disabled",title:(0,w.pw)("beatmapsets.show.details.favourite_login")},h.createElement("span",{className:this.favourite.icon})):h.createElement("button",{className:"beatmapset-panel__menu-item",onClick:this.toggleFavourite,title:(0,w.pw)(`beatmapsets.show.details.${this.favourite.toggleTitleVariant}`),type:"button"},h.createElement("span",{className:this.favourite.icon})),null==this.downloadLink.url?h.createElement("span",{className:"beatmapset-panel__menu-item beatmapset-panel__menu-item--disabled",title:this.downloadLink.title},h.createElement("span",{className:"fas fa-file-download"})):h.createElement("a",{className:"beatmapset-panel__menu-item",href:this.downloadLink.url,title:this.downloadLink.title},h.createElement("span",{className:"fas fa-file-download"}))))}renderPlayArea(){return h.createElement("div",{className:"beatmapset-panel__play-container"},this.showAudio&&h.createElement("button",{className:"beatmapset-panel__play js-audio--play",type:"button"},h.createElement("span",{className:"play-button"})),h.createElement("div",{className:"beatmapset-panel__play-progress"},h.createElement(i.P,{current:0,ignoreProgress:!0,max:1,onlyShowAsWarning:!1,theme:"beatmapset-panel"})),h.createElement("div",{className:"beatmapset-panel__play-icons"},this.props.beatmapset.video&&h.createElement(L,{icon:"fas fa-film",titleVariant:"video"}),this.props.beatmapset.storyboard&&h.createElement(L,{icon:"fas fa-image",titleVariant:"storyboard"})))}};C([d.sH],U.prototype,"beatmapsPopupHover",void 0),C([d.sH],U.prototype,"mobileExpanded",void 0),C([d.EW],U.prototype,"beatmapDotsCompact",null),C([d.EW],U.prototype,"displayDate",null),C([d.EW],U.prototype,"downloadLink",null),C([d.EW],U.prototype,"favourite",null),C([d.EW],U.prototype,"groupedBeatmaps",null),C([d.EW],U.prototype,"isBeatmapsPopupVisible",null),C([d.EW],U.prototype,"showHypeCounts",null),C([d.EW],U.prototype,"url",null),C([d.XI],U.prototype,"beatmapsPopupHide",void 0),C([d.XI],U.prototype,"beatmapsPopupKeep",void 0),C([d.XI],U.prototype,"onDocumentClick",void 0),C([d.XI],U.prototype,"onMobileExpandToggleClick",void 0),U=C([p.PA],U);const B=U},2513(e,t,s){s.d(t,{A:()=>o});var r=s(9981),a=s(6540),i=s(1883),n=s(3398);function o(e){const t=[{active:"index"===e.section,title:(0,i.pw)("news.index.title.info"),url:(0,r.w)("news.index")}];return"show"===e.section&&null!=e.post&&t.push({active:!0,title:e.post.title,url:(0,r.w)("news.show",{news:e.post.slug})}),a.createElement(n.A,{links:t,linksBreadcrumb:!0,theme:"news"})}},2550(e,t,s){s.d(t,{A:()=>o});var r=s(1370),a=s(6540),i=s(256),n=s(3431);const o=(0,r.PA)(({score:e})=>a.createElement(a.Fragment,null,(0,i.ZV)((0,n.bP)(e))))},2577(e,t,s){s.d(t,{U:()=>p,q:()=>u});var r=s(397),a=s(5810),i=s(6540),n=s(6606),o=s(7634),l=s(1883),c=s(8931);function u(e){return{deleted:null!=e.deleted_at,"general-all":null==e.beatmap_id,praise:"praise"===e.message_type,resolved:e.resolved&&"praise"!==e.message_type}}const d="beatmap-discussion-review-post-embed-preview",p=({data:e,store:t})=>{const s=t.beatmaps,p=t.discussions.get(e.discussion_id);if(null==p)return i.createElement("div",{className:(0,o.Zt)(d,["deleted","lighter"])},i.createElement("div",{className:`${d}__missing`},(0,l.pw)("beatmaps.discussions.review.embed.missing")));const m=(0,n.JL)(p);if(null==m||m.system)return console.error("embed starting post is missing or is system post",p.id),null;const h=null==p.beatmap_id?void 0:s.get(p.beatmap_id),b=()=>{if(null!=p.parent_id)return i.createElement("div",{className:`${d}__link`},i.createElement("a",{className:`${d}__link-text js-beatmap-discussion--jump`,href:(0,n.Gm)({discussion:p}),title:(0,l.pw)("beatmap_discussions.review.go_to_child")},i.createElement("i",{className:"fas fa-external-link-alt"})))};return i.createElement("div",{className:(0,o.Zt)(d,"lighter",u(p))},i.createElement("div",{className:`${d}__content`},i.createElement("div",{className:`${d}__selectors`},i.createElement("div",{className:"icon-dropdown-menu icon-dropdown-menu--disabled"},null!=h&&i.createElement(a.k,{beatmap:h,withTooltip:!0}),null==p.beatmap_id&&i.createElement("i",{className:"fas fa-fw fa-star-of-life",title:(0,l.pw)("beatmaps.discussions.mode.scopes.generalAll")})),i.createElement("div",{className:"icon-dropdown-menu icon-dropdown-menu--disabled"},(()=>{const e=p.message_type;return i.createElement("div",null,i.createElement("span",{className:r.d[e],style:{color:`var(--beatmapset-discussion-colour--${e})`},title:(0,l.pw)(`beatmaps.discussions.message_type.${e}`)}))})()),i.createElement("div",{className:`${d}__timestamp`},i.createElement("div",{className:`${d}__timestamp-text`},null!==p.timestamp?(0,n.Ey)(p.timestamp):(0,l.pw)("beatmap_discussions.timestamp_display.general"))),i.createElement("div",{className:`${d}__stripe`}),b()),i.createElement("div",{className:`${d}__stripe`}),i.createElement("div",{className:`${d}__message-container`},i.createElement("div",{className:`${d}__body`},i.createElement(c.A,{markdown:m.message}))),b()))}},2599(e,t,s){function r(e,t){return 0===e.length?t:`${e}[${t}]`}function a(e,t){let s="";for(const a of t)s=r(s,a);return r(s,e)}function i(e,t=[]){const s=new Map;for(const r of Object.keys(e)){const n=e[r];if(null!=n)if(Array.isArray(n))s.set(a(r,t),n);else for(const[e,a]of i(n,t.concat(r)))s.set(e,a)}return s}function n(e){return null!=e?JSON.parse(JSON.stringify(e)):e}function o(e,t=!1){const s=l(e,t);if(null==s)throw new Error(`script element ${e} is missing or contains nullish value.`);return s}function l(e,t=!1,s){var r;const a=(null!==(r=window.newBody)&&void 0!==r?r:document.body).querySelector(`#${e}`);if(!(a instanceof HTMLScriptElement))return;const i=JSON.parse(a.text,s);return t&&a.remove(),i}function c(e,t){const s=JSON.stringify(t),r=document.getElementById(e);let a;if(null==r)a=document.createElement("script"),a.id=e,a.type="application/json",document.body.appendChild(a);else{if(!(r instanceof HTMLScriptElement))throw new Error(`existing ${e} is not a script element.`);a=r}a.text=s}s.d(t,{Do:()=>l,FI:()=>i,KU:()=>n,Qv:()=>c,qF:()=>o})},2853(e,t,s){s.d(t,{A:()=>jr});var r=s(7813),a=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};class i{get hasMoreForPager(){return this.hasMore&&this.beatmapsetIds.sizei.CACHE_DURATION_MS}constructor(){Object.defineProperty(this,"beatmapsetIds",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"cursorString",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fetchedAt",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hasMore",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"total",{enumerable:!0,configurable:!0,writable:!0,value:0}),(0,r.Gn)(this)}append(e){for(const t of e.beatmapsets)this.beatmapsetIds.add(t.id);this.cursorString=e.cursor_string,this.fetchedAt=new Date,this.hasMore=null!==e.cursor_string,this.total=e.total}reset(){this.beatmapsetIds.clear(),this.fetchedAt=void 0,this.cursorString=void 0,this.hasMore=!1,this.total=0}}Object.defineProperty(i,"CACHE_DURATION_MS",{enumerable:!0,configurable:!0,writable:!0,value:6e4});const n=i;a([r.sH],i.prototype,"beatmapsetIds",void 0),a([r.sH],i.prototype,"hasMore",void 0),a([r.sH],i.prototype,"total",void 0),a([r.EW],i.prototype,"hasMoreForPager",null),a([r.EW],i.prototype,"isExpired",null),a([r.XI],i.prototype,"append",null),a([r.XI],i.prototype,"reset",null);var o=s(2543),l=s(5812),c=s(1980),u=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};const d={c:"general",e:"extra",g:"genre",l:"language",m:"mode",nsfw:"nsfw",played:"played",q:"query",r:"rank",s:"status",sort:"sort"},p=(0,o.invert)(d),m=["extra","general","genre","language","mode","nsfw","played","query","rank","sort","status"],h=["query","status"],b=["played","rank"];function f(e){const t=new URL(e).searchParams,s={};for(const[r,a]of Object.entries(d)){const e=t.get(r);null!=e&&0!==e.length&&(s[a]=e)}return s}class v{get displaySort(){return this.selectedValue("sort")}get queryParams(){const e={};for(const t of m){const s=this[t];e[p[t]]=s===this.getDefault(t)?null:s}return e}get searchSort(){var e;const[t,s]=(null!==(e=this.displaySort)&&void 0!==e?e:"").split("_");return{field:t,order:s}}get supporterRequired(){return m.filter(e=>null!=this[e]&&b.includes(e))}constructor(e){var t,s;Object.defineProperty(this,"extra",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"general",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"genre",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"language",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"mode",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"nsfw",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"played",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"query",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"queryRaw",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"rank",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"sort",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"status",{enumerable:!0,configurable:!0,writable:!0,value:null});const a=f(e);this.queryRaw=null!==(t=a.query)&&void 0!==t?t:"";for(const r of m){const e=null!==(s=a[r])&&void 0!==s?s:null;this[r]=this.sanitiseValue(r,e)}(0,r.Gn)(this)}getDefault(e){var t;switch(e){case"nsfw":return String(jr.userPreferences.get("beatmapset_show_nsfw"));case"played":return"any";case"status":return"leaderboard";case"sort":return(0,l.E)(this.query)?"relevance_desc":["pending","wip","graveyard","mine"].includes(null!==(t=this.status)&&void 0!==t?t:"")?"updated_desc":"ranked_desc"}return null}href(e,t){const s=t===this.getDefault(e)?null:t;return(0,c.Ze)(null,Object.assign(Object.assign({},this.queryParams),{[p[e]]:s}))}selectedValue(e){var t;return null!==(t=this[e])&&void 0!==t?t:this.getDefault(e)}tagAdd(e){const t=this.query,s=e.toQuery(),r=null!==t?`${t} ${s} `:`${s} `;this.update("query",r)}tagRemove(e){const t=this.query;if(null===t)return;const s=t.replace(e.toQuery(),"").replace(" "," ").trim();this.update("query",s)}toKeyString(){return m.map(e=>`${e}=${this.selectedValue(e)}`).join("&")}update(e,t){"query"===e&&(this.queryRaw=null!=t?t:""),(t=this.sanitiseValue(e,t))!==this[e]&&(h.includes(e)&&(this.sort=null),this[e]=t)}sanitiseValue(e,t){return"query"===e&&(t=(0,l.I)(null==t?void 0:t.trim())),t===this.getDefault(e)?null:t}}u([r.sH],v.prototype,"extra",void 0),u([r.sH],v.prototype,"general",void 0),u([r.sH],v.prototype,"genre",void 0),u([r.sH],v.prototype,"language",void 0),u([r.sH],v.prototype,"mode",void 0),u([r.sH],v.prototype,"nsfw",void 0),u([r.sH],v.prototype,"played",void 0),u([r.sH],v.prototype,"query",void 0),u([r.sH],v.prototype,"queryRaw",void 0),u([r.sH],v.prototype,"rank",void 0),u([r.sH],v.prototype,"sort",void 0),u([r.sH],v.prototype,"status",void 0),u([r.EW],v.prototype,"displaySort",null),u([r.EW],v.prototype,"queryParams",null),u([r.EW],v.prototype,"searchSort",null),u([r.EW],v.prototype,"supporterRequired",null),u([r.XI],v.prototype,"tagAdd",null),u([r.XI],v.prototype,"tagRemove",null),u([r.XI],v.prototype,"update",null);var g=s(9981),y=s(1883),w=s(3135),_=s(3944),E=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n},P=function(e,t,s,r){return new(s||(s=Promise))(function(a,i){function n(e){try{l(r.next(e))}catch(t){i(t)}}function o(e){try{l(r.throw(e))}catch(t){i(t)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof s?t:new s(function(e){e(t)})).then(n,o)}l((r=r.apply(e,t||[])).next())})};const O=["genre","language","extra","rank","played"];class j{constructor(e){Object.defineProperty(this,"beatmapsetSearch",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"advancedSearch",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"currentResultSet",{enumerable:!0,configurable:!0,writable:!0,value:new n}),Object.defineProperty(this,"filters",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isExpanded",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"searchStatus",{enumerable:!0,configurable:!0,writable:!0,value:{error:null,from:0,state:"completed"}}),Object.defineProperty(this,"debouncedFilterChangedSearch",{enumerable:!0,configurable:!0,writable:!0,value:(0,o.debounce)(()=>this.filterChangedSearch(),500)}),Object.defineProperty(this,"filtersObserver",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"initialErrorMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"filterChangedHandler",{enumerable:!0,configurable:!0,writable:!0,value:e=>{"queryRaw"!==e.name&&("update"===e.type&&e.oldValue===e.newValue||(this.searchStatus.state="input",this.debouncedFilterChangedSearch(),"query"!==e.name&&this.debouncedFilterChangedSearch.flush()))}}),(0,r.Gn)(this)}get currentBeatmapsetIds(){return[...this.currentResultSet.beatmapsetIds]}get error(){return this.searchStatus.error}get hasMore(){return this.currentResultSet.hasMoreForPager}get isBusy(){return"searching"===this.searchStatus.state||"input"===this.searchStatus.state}get isPaging(){return"paging"===this.searchStatus.state}get isSupporterMissing(){var e,t;return!(null!==(t=null===(e=jr.currentUser)||void 0===e?void 0:e.is_supporter)&&void 0!==t&&t)&&this.filters.supporterRequired.length>0}get recommendedDifficulty(){return this.beatmapsetSearch.recommendedDifficulties.get(this.filters.mode)}get supporterRequiredFilterText(){const e=this.filters.supporterRequired.map(e=>(0,y.pw)(`beatmaps.listing.search.filters.${e}`));return(0,y.sc)(e)}cancel(){this.debouncedFilterChangedSearch.cancel(),this.beatmapsetSearch.cancel()}getFilters(e){const t=this.filters.selectedValue(e);return null!=t?t.split("."):t}initialize(e){this.restoreStateFromUrl(),this.beatmapsetSearch.initialize(this.filters,e),this.initialErrorMessage=e.error}loadMore(){!this.isBusy&&this.hasMore&&this.search(this.currentResultSet.beatmapsetIds.size)}restoreTurbolinks(){this.restoreStateFromUrl(),this.search(0,!0),null!=this.initialErrorMessage&&((0,w.l)(this.initialErrorMessage,"danger"),delete this.initialErrorMessage)}search(){return P(this,arguments,void 0,function*(e=0,t=!1){if(this.isSupporterMissing||e<0)return void(this.searchStatus={error:null,from:e,restore:t,state:"completed"});let s;this.searchStatus={from:0,restore:t,state:0===e?"searching":"paging"};try{yield this.beatmapsetSearch.get(this.filters,e)}catch(a){s=0!==a.readyState?a:null}(0,r.h5)(()=>{this.searchStatus={error:s,from:e,restore:t,state:"completed"},this.currentResultSet=this.beatmapsetSearch.getResultSet(this.filters)})})}filterChangedSearch(){const e=(0,g.w)("beatmapsets.index",this.filters.queryParams);(0,_.Al)(e,"push"),this.search()}restoreStateFromUrl(){const e=(0,_.bS)().href;null!=this.filtersObserver&&this.filtersObserver(),this.filters=new v(e),(0,_.Al)((0,c.Ze)(null,Object.assign({},this.filters.queryParams)),"replace"),this.filtersObserver=(0,r.lB)(this.filters,this.filterChangedHandler),this.isExpanded=(0,o.intersection)(Object.keys(f(e)),O).length>0}}E([r.sH],j.prototype,"advancedSearch",void 0),E([r.sH],j.prototype,"currentResultSet",void 0),E([r.sH],j.prototype,"filters",void 0),E([r.sH],j.prototype,"isExpanded",void 0),E([r.sH],j.prototype,"searchStatus",void 0),E([r.EW],j.prototype,"currentBeatmapsetIds",null),E([r.EW],j.prototype,"hasMore",null),E([r.EW],j.prototype,"isBusy",null),E([r.EW],j.prototype,"isPaging",null),E([r.EW],j.prototype,"isSupporterMissing",null),E([r.EW],j.prototype,"recommendedDifficulty",null),E([r.EW],j.prototype,"supporterRequiredFilterText",null),E([r.XI],j.prototype,"cancel",null),E([r.XI],j.prototype,"loadMore",null),E([r.XI],j.prototype,"restoreTurbolinks",null),E([r.XI],j.prototype,"search",null),E([r.XI],j.prototype,"filterChangedHandler",void 0),E([r.XI],j.prototype,"restoreStateFromUrl",null);var k=s(7035);const S=["chat.channel.join","chat.channel.part"];var N=s(893);class T extends N.A{constructor(e){super(),Object.defineProperty(this,"message",{enumerable:!0,configurable:!0,writable:!0,value:e})}}class x extends N.A{constructor(e){super(),Object.defineProperty(this,"json",{enumerable:!0,configurable:!0,writable:!0,value:e})}}class A extends N.A{constructor(e){super(),Object.defineProperty(this,"channelId",{enumerable:!0,configurable:!0,writable:!0,value:e})}}class C extends N.A{constructor(e){super(),Object.defineProperty(this,"json",{enumerable:!0,configurable:!0,writable:!0,value:e})}}var I=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};function R(e){if("chat.message.new"===e.event)return new C(e.data);if(function(e){return null!=e.event&&S.includes(e.event)}(e))switch(e.event){case"chat.channel.join":return new x(e.data);case"chat.channel.part":return new A(e.data.channel_id)}}let M=class{handleDispatchAction(e){if(!(e instanceof T))return;const t=R(e.message);null!=t&&(0,k.JD)(t)}};M=I([k.D6],M);const D=M;var H=s(6407),L=s(4692);const $=".js-account-edit__input",U=new Set(["array","radio"]);class B{constructor(e,t){if(Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"core",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"debouncedUpdate",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"xhr",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"update",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e;this.xhr=L.ajax(null!==(e=this.dataset.url)&&void 0!==e?e:(0,g.w)("account.update"),{data:this.getData(),method:"PUT"}),this.xhr.done(e=>{"1"===this.dataset.userPreferencesUpdate&&null!=e&&this.core.setCurrentUser(e),this.saved()}).fail(e=>{this.clear(),(0,H.S5)(e)})}}),this.debouncedUpdate=(0,o.debounce)(this.update,1e3),U.has(this.dataset.accountEditType)&&null==this.dataset.field)throw new Error("data-field required")}get dataset(){return this.container.dataset}get fieldName(){if(null!=this.dataset.field)return this.dataset.field;const e=this.container.querySelector($);if(null==e)throw new Error("missing input name");return e.name}clear(){window.clearTimeout(this.timeout),this.dataset.accountEditState=""}onInput(){var e;null===(e=this.xhr)||void 0===e||e.abort(),this.saving(),this.debouncedUpdate()}saved(){window.clearTimeout(this.timeout),this.dataset.accountEditState="saved",this.timeout=window.setTimeout(()=>this.clear(),3e3)}saving(){window.clearTimeout(this.timeout),this.dataset.accountEditState="saving"}getData(){let e;switch(this.dataset.accountEditType){case"multi":{const e={};for(const t of this.container.querySelectorAll($))e[t.name]=t.checked;return e}case"array":e=[""];for(const t of this.container.querySelectorAll("input"))t.checked&&e.push(t.value);break;case"radio":for(const t of this.container.querySelectorAll('input[type="radio"]'))if(t.checked){e=t.value;break}if(null==e)throw new Error("missing radio value");break;default:{const t=this.container.querySelector($);if(null==t)throw new Error("missing input");e="checkbox"===t.type?String(t.checked):t.value}}return{[this.fieldName]:e}}}var F=s(4692);const G=".js-account-edit";class X{constructor(e){Object.defineProperty(this,"core",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"handleAjaxError",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.getState(e).clear()}}),Object.defineProperty(this,"handleAjaxSend",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.getState(e).saving()}}),Object.defineProperty(this,"handleAjaxSuccess",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.getState(e).saved()}}),Object.defineProperty(this,"handleInputChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.getState(e).onInput()}}),F(document).on("input change",".js-account-edit-auto-submit",this.handleInputChange),F(document).on("ajax:error",G,this.handleAjaxError),F(document).on("ajax:send",G,this.handleAjaxSend),F(document).on("ajax:success",G,this.handleAjaxSuccess)}getState(e){var t,s;return null!==(t=(s=e.currentTarget).state)&&void 0!==t?t:s.state=new B(e.currentTarget,this.core)}}var W=s(4692);const V="js-account-edit-avatar--hover",q="js-account-edit-avatar--saving",Z="js-account-edit-avatar--start";class z{constructor(e){Object.defineProperty(this,"core",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"dragging",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"element",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"overlayLeaveTimeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"initialize",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.element=document.querySelector(".js-account-edit-avatar");const e=this.element;null!=e&&(W(".js-account-edit-avatar__button").fileupload({always:()=>{e.classList.remove(q)},dataType:"json",done:(e,t)=>{this.core.setCurrentUser(t.result)},dropZone:W(e),fail:H.ho,submit:()=>{e.classList.add(q),W.publish("dragendGlobal")},url:(0,g.w)("account.avatar")}),W(".js-account-edit-avatar--reset").on("ajax:send",()=>{e.classList.add(q)}).on("ajax:complete",()=>{e.classList.remove(q)}).on("ajax:success",(e,t)=>{this.core.setCurrentUser(t)}))}}),Object.defineProperty(this,"overlayEnd",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e;null===(e=this.element)||void 0===e||e.classList.remove(Z)}}),Object.defineProperty(this,"overlayEnter",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.dragging=!0}}),Object.defineProperty(this,"overlayHover",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e;this.dragging&&(null===(e=this.element)||void 0===e||e.classList.add(V),window.clearTimeout(this.overlayLeaveTimeout),this.overlayLeaveTimeout=window.setTimeout(this.overlayLeave,100))}}),Object.defineProperty(this,"overlayLeave",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e;this.dragging=!1,null===(e=this.element)||void 0===e||e.classList.remove(V)}}),Object.defineProperty(this,"overlayStart",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e;null===(e=this.element)||void 0===e||e.classList.add(Z)}}),Object.defineProperty(this,"rollback",{enumerable:!0,configurable:!0,writable:!0,value:()=>{null!=this.element&&W(".js-account-edit-avatar__button").fileupload("destroy")}}),W(document).on("turbo:load",this.initialize),W(document).on("turbo:before-cache",this.rollback),W.subscribe("dragenterGlobal",this.overlayStart),W.subscribe("dragendGlobal",this.overlayEnd),W(document).on("dragenter",".js-account-edit-avatar",this.overlayEnter),W(document).on("dragover",".js-account-edit-avatar",this.overlayHover)}}var K=s(4692);const J=".js-account-edit-blocklist-content",Y=".js-account-edit-blocklist";class Q{constructor(e){Object.defineProperty(this,"core",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"toggle",{enumerable:!0,configurable:!0,writable:!0,value:e=>{e.preventDefault(),K(J).toggleClass("hidden");const t=K(J).hasClass("hidden")?(0,y.pw)("common.buttons.show"):(0,y.pw)("common.buttons.hide");K(Y).text(t)}}),Object.defineProperty(this,"updateBlockCount",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e;null!=this.core.currentUser&&K(".js-account-edit-blocklist-count").text((0,y.pw)("users.blocks.blocked_count",{count:null!==(e=this.core.currentUser.blocks.length)&&void 0!==e?e:0}))}}),K(document).on("click",Y,this.toggle),K(()=>(0,r.mJ)(()=>{var e;return null===(e=this.core.currentUser)||void 0===e?void 0:e.blocks},this.updateBlockCount))}}var ee=s(4692);class te{constructor(){ee(document).on("turbo:before-cache",()=>{document.body.classList.remove("js-animate-nav")}).on("turbo:load",()=>{window.setTimeout(()=>{document.body.classList.add("js-animate-nav")},0)})}}var se=s(8961),re=s(256),ae=s(4692);class ie{constructor(){Object.defineProperty(this,"debouncedLoadPreview",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"xhr",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"loadPreview",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t,s;const r=null!==(t=e.closest("form"))&&void 0!==t?t:(0,se.f)("form element is missing"),a=e.value,i=(0,re.e0)(r.querySelector(".js-post-preview--preview")),n=r.querySelector(".js-post-preview--box");if(null==i)return;if(null===(s=this.xhr.get(i))||void 0===s||s.abort(),""===a)return i.dataset.raw="",i.innerHTML="",void(null==n||n.classList.add("hidden"));if(i.dataset.raw===a)return void(null==n||n.classList.remove("hidden"));ae.post((0,g.w)("bbcode-preview"),{text:a}).done(e=>{i.dataset.raw=a,i.innerHTML=e,null==n||n.classList.remove("hidden")}).always(()=>{this.xhr.delete(i)})}}),Object.defineProperty(this,"onInput",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t;const s=null===(t=(0,re.e0)(e.target))||void 0===t?void 0:t.closest(".js-post-preview--auto");s instanceof HTMLTextAreaElement&&this.debouncedLoadPreview(s)}}),this.debouncedLoadPreview=(0,o.debounce)(this.loadPreview,500),document.addEventListener("input",this.onInput)}}function ne(){for(const e of document.querySelectorAll(".popup-active"))e instanceof HTMLElement&&(0,w.j)(e)}class oe{constructor(){document.addEventListener("turbo:load",ne)}}var le=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};class ce{set title(e){(0,r.h5)(()=>{this.customTitle=null!=e?`${e} | osu!`:e})}constructor(e){Object.defineProperty(this,"core",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"customTitle",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"disposer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"origTitle",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"resetTitle",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e;document.title=this.origTitle,null===(e=this.disposer)||void 0===e||e.call(this)}}),Object.defineProperty(this,"setTitle",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.origTitle=document.title,this.disposer=(0,r.fm)(()=>{var e;const t=this.core.dataStore.notificationStore.unreadStacks.total,s=0===t?"":`(${(0,re.ZV)(t)}) `;document.title=`${s}${null!==(e=this.customTitle)&&void 0!==e?e:this.origTitle}`})}}),(0,r.Gn)(this),document.addEventListener("turbo:load",this.setTitle),document.addEventListener("turbo:before-cache",this.resetTitle)}}le([r.sH],ce.prototype,"customTitle",void 0),le([r.sH],ce.prototype,"origTitle",void 0),le([r.XI],ce.prototype,"resetTitle",void 0),le([r.XI],ce.prototype,"setTitle",void 0);var ue=s(4692);class de{constructor(){Object.defineProperty(this,"sitekey",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"containers",{enumerable:!0,configurable:!0,writable:!0,value:()=>document.querySelectorAll(".js-captcha--container")}),Object.defineProperty(this,"disableSubmit",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=this.submitButton(e);null!=t&&(t.disabled=!0)}}),Object.defineProperty(this,"enableSubmit",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=this.submitButton(e);null!=t&&(t.disabled=!1)}}),Object.defineProperty(this,"findContainer",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t,s;return null===(s=(0,re.e0)(null===(t=(0,re.e0)(e))||void 0===t?void 0:t.closest("form")))||void 0===s?void 0:s.querySelector(".js-captcha--container")}}),Object.defineProperty(this,"init",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.sitekey=e,this.renderAll()}}),Object.defineProperty(this,"isEnabled",{enumerable:!0,configurable:!0,writable:!0,value:e=>this.isTriggered(e)&&"object"==typeof turnstile&&"function"==typeof turnstile.render&&""!==this.sitekey}),Object.defineProperty(this,"isLoaded",{enumerable:!0,configurable:!0,writable:!0,value:e=>""!==e.innerHTML}),Object.defineProperty(this,"isTriggered",{enumerable:!0,configurable:!0,writable:!0,value:e=>"1"===e.dataset.captchaTriggered}),Object.defineProperty(this,"render",{enumerable:!0,configurable:!0,writable:!0,value:e=>{if(function(e){const t=e.getBoundingClientRect();return(0!==t.x||0!==t.y||0!==t.width||0!==t.height)&&"none"!==window.getComputedStyle(e).pointerEvents}(e)&&this.isEnabled(e)&&!this.isLoaded(e)){const t=()=>this.disableSubmit(e),s=turnstile.render(e,{callback:()=>this.enableSubmit(e),"error-callback":t,"expired-callback":t,language:window.currentLocale,sitekey:this.sitekey,theme:"dark"});if(null==s)throw new Error("failed setting up turnstile widget");e.dataset.captchaId=s,ue(document).one("turbo:before-cache",()=>this.remove(e)),t()}}}),Object.defineProperty(this,"reset",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t;this.isEnabled(e)&&(turnstile.reset(null!==(t=e.dataset.captchaId)&&void 0!==t?t:""),this.disableSubmit(e))}}),Object.defineProperty(this,"submitButton",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t;return null===(t=e.closest("form"))||void 0===t?void 0:t.querySelector(".js-captcha--submit-button")}}),Object.defineProperty(this,"trigger",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.isTriggered(e)||(e.dataset.captchaTriggered="1",this.render(e))}}),Object.defineProperty(this,"remove",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=e.dataset.captchaId;delete e.dataset.captchaId,turnstile.remove(null!=t?t:"")}}),Object.defineProperty(this,"renderAll",{enumerable:!0,configurable:!0,writable:!0,value:()=>{for(const e of this.containers())this.render(e)}}),Object.defineProperty(this,"resetOnError",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=this.findContainer((0,re.e0)(e.target));null!=t&&this.reset(t)}}),ue(document).on("turbo:load",this.renderAll),ue(document).on("ajax:error",".js-captcha--reset-on-error",this.resetOnError)}}var pe=s(9365),me=s(5093),he=s.n(me),be=s(1491),fe=s(2599);class ve{get hasData(){return this.data.length>0}constructor(e){Object.defineProperty(this,"area",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"areaFunction",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"autoHideTooltip",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"chartData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"height",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"hoverArea",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"scales",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"svg",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"svgWrapper",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tooltip",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tooltipArea",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tooltipContainer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tooltipDate",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tooltipLine",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tooltipName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tooltipUserCount",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"width",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"x",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"y",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"tooltipHide",{enumerable:!0,configurable:!0,writable:!0,value:()=>(0,be.Xn)(this.tooltipContainer.node())}),Object.defineProperty(this,"tooltipMove",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=pe.pointer(e);this.x=this.scales.x.invert(t[0]),this.y=t[1]/this.height,this.tooltipShow(),clearTimeout(this.autoHideTooltip),this.autoHideTooltip=setTimeout(this.tooltipHide,3e3),this.tooltipPosition()}}),Object.defineProperty(this,"tooltipShow",{enumerable:!0,configurable:!0,writable:!0,value:()=>(0,be.qG)(this.tooltipContainer.node())}),this.scales={class:pe.scaleOrdinal(),x:pe.scaleTime(),y:pe.scaleLinear()},this.area=pe.select(e),this.area.classed("changelog-chart",!0),this.svg=this.area.append("svg"),this.svgWrapper=this.svg.append("g"),this.areaFunction=pe.area().curve(pe.curveMonotoneX).x(e=>this.scales.x(e.data.date)).y1(e=>this.scales.y(e[1])).y0(e=>this.scales.y(e[0])),this.hoverArea=this.svg.append("rect").classed("changelog-chart__hover-area",!0).on("mouseout",this.tooltipHide).on("mousemove",this.tooltipMove),this.tooltipArea=this.area.append("div").classed("changelog-chart__tooltip-area",!0),this.tooltipContainer=this.tooltipArea.append("div").classed("changelog-chart__tooltip-container",!0).attr("data-visibility","hidden"),this.tooltipContainer.append("div").classed("changelog-chart__tooltip-line",!0),this.tooltip=this.tooltipContainer.append("div").classed("changelog-chart__tooltip",!0),this.tooltipName=this.tooltip.append("div"),this.tooltipUserCount=this.tooltip.append("div").classed("changelog-chart__text changelog-chart__text--user-count",!0),this.tooltipDate=this.tooltip.append("div").classed("changelog-chart__text changelog-chart__text--date",!0),this.tooltipContainer.append("div").classed("changelog-chart__tooltip-line",!0),this.tooltipLine=this.tooltipContainer.selectAll(".changelog-chart__tooltip-line")}loadData(){this.chartData=(0,fe.qF)("json-chart-config");const e=this.normalizeData(this.chartData.build_history),t=pe.stack().keys(this.chartData.order).offset(pe.stackOffsetExpand).value((e,t)=>{var s,r;return null!==(r=null===(s=e.builds[t])||void 0===s?void 0:s.user_count)&&void 0!==r?r:0});this.data=t(e),this.resize()}resize(){this.area.classed("hidden",!this.hasData),this.hasData&&(this.setDimensions(),this.setScalesRange(),this.setSvgSize(),this.setHoverAreaSize(),this.drawLines(),this.tooltipPosition())}drawLines(){this.svgWrapper.selectAll("g").data(this.data).enter().append("path").attr("class",e=>`changelog-chart__area changelog-chart__area--${this.scales.class(e.key)}`).attr("d",this.areaFunction)}normalizeData(e){const t=(0,o.groupBy)(e,"created_at");return(0,o.map)(t,(e,t)=>{const s=he()(t);return{builds:(0,o.keyBy)(e,"label"),created_at:t,date:s.toDate(),date_formatted:s.format("YYYY/MM/DD")}})}setDimensions(){var e;const t=null===(e=this.area.node())||void 0===e?void 0:e.getBoundingClientRect();t&&(this.width=t.width,this.height=t.height)}setHoverAreaSize(){this.hoverArea.attr("width",this.width).attr("height",this.height)}setScalesRange(){var e,t,s,r;if(null==this.chartData)return;this.scales.x.range([0,this.width]).domain([null!==(t=null===(e=(0,o.first)(this.data[0]))||void 0===e?void 0:e.data.date)&&void 0!==t?t:0,null!==(r=null===(s=(0,o.last)(this.data[0]))||void 0===s?void 0:s.data.date)&&void 0!==r?r:0]),this.scales.y.range([0,this.height]).domain([0,1]);const a=this.chartData.stream_name;this.scales.class.range(null==a?this.chartData.order:this.chartData.order.map((e,t)=>`${a}-build-${t%7}`)).domain(this.chartData.order)}setSvgSize(){this.svg.attr("width",this.width).attr("height",this.height)}tooltipPosition(){var e,t,s,r,a,i;const{x:n,y:o}=this;if(null==n||null==o)return;const l=pe.bisector(e=>e.data.date).left(this.data[0],n);let c=null,u="",d="";for(const f of this.data)if(o<=f[l][1]&&null!=f[l].data.builds[f.key]){c=f[l].data,u=f.key,d=this.scales.class(u);break}const p=this.scales.x(n);this.tooltipName.attr("class",`changelog-chart__text changelog-chart__text--name changelog-chart__text--${d}`).text(null==(null===(e=this.chartData)||void 0===e?void 0:e.streams)?u:null!==(t=this.chartData.streams[u])&&void 0!==t?t:""),this.tooltipUserCount.text((0,re.ZV)(null!==(s=null==c?void 0:c.builds[u].user_count)&&void 0!==s?s:0)),this.tooltipDate.text(null!==(r=null==c?void 0:c.date_formatted)&&void 0!==r?r:"");const m=null!==(i=null===(a=this.tooltip.node())||void 0===a?void 0:a.getBoundingClientRect().width)&&void 0!==i?i:0,h=p-m/2,b=h<0?0:h+m>this.width?this.width-m:h;this.tooltip.style("transform",`translateX(${b}px)`),this.tooltipLine.style("transform",`translateX(${p}px)`)}}class ge{constructor(){Object.defineProperty(this,"chart",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"initialize",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const e=document.querySelector(".js-changelog-chart");e instanceof HTMLElement&&(e.innerHTML="",this.chart=new ve(e),this.chart.loadData(),window.addEventListener("resize",this.resize))}}),Object.defineProperty(this,"reset",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.chart=null,window.removeEventListener("resize",this.resize)}}),Object.defineProperty(this,"resize",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e;null===(e=this.chart)||void 0===e||e.resize()}}),document.addEventListener("turbo:load",this.initialize),document.addEventListener("turbo:before-cache",this.reset)}}var ye=s(2961),we=s(4692);class _e{constructor(){Object.defineProperty(this,"current",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"documentMouseEventTarget",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"close",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.show()}}),Object.defineProperty(this,"restoreSaved",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.show(document.body.dataset.clickMenuCurrent)}}),Object.defineProperty(this,"saveCurrent",{enumerable:!0,configurable:!0,writable:!0,value:()=>{null==this.current?delete document.body.dataset.clickMenuCurrent:document.body.dataset.clickMenuCurrent=this.current}}),Object.defineProperty(this,"show",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t,s;const r=this.tree();this.current=e;const a=this.tree(),i=document.querySelectorAll(".js-click-menu[data-click-menu-id]");let n=null,o=!1;for(const c of i){if(!(c instanceof HTMLElement))continue;const e=c.dataset.clickMenuId;null==e||-1===a.indexOf(e)?((0,be.Xn)(c),c.classList.remove("js-click-menu--active"),null===(t=this.menuLink(e))||void 0===t||t.classList.remove("js-click-menu--active")):((0,be.qG)(c),c.classList.add("js-click-menu--active"),null===(s=this.menuLink(e))||void 0===s||s.classList.add("js-click-menu--active"),o=!0,e===this.current&&(n=c))}o||(this.current=null),we.publish("click-menu:current",{previousTree:r,target:this.current,tree:a});const l=null==n?void 0:n.querySelector(".js-click-menu--autofocus");l instanceof HTMLElement&&l.focus()}}),Object.defineProperty(this,"toggle",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=e.currentTarget,s=this.tree();e.preventDefault();const r=t.dataset.clickMenuTarget;let a=r;if(null!=r){const e=s.indexOf(r);-1!==e&&(a=s[e+1])}this.show(a)}}),Object.defineProperty(this,"tree",{enumerable:!0,configurable:!0,writable:!0,value:()=>{if(null==this.current)return[];let e=this.current;const t=[e];for(;e=this.closestMenuId(this.menuLink(e)),null!=e;)t.push(e);return t}}),Object.defineProperty(this,"onDocumentMousedown",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.documentMouseEventTarget=0===e.button?e.target:null}}),Object.defineProperty(this,"onDocumentMouseup",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.documentMouseEventTarget===e.target&&0===e.button&&((0,ye.h)()||null!=this.current&&(we(e.target).closest(".js-click-menu").length>0||this.show()))}}),we(document).on("click",".js-click-menu--close",this.close),we(document).on("click",".js-click-menu[data-click-menu-target]",this.toggle),we(document).on("mousedown",this.onDocumentMousedown),we(document).on("mouseup",this.onDocumentMouseup),document.addEventListener("turbo:load",this.restoreSaved),document.addEventListener("turbo:before-cache",this.saveCurrent)}closestMenuId(e){if(null!=e)return we(e).parents("[data-click-menu-id]").attr("data-click-menu-id")}menu(e){return document.querySelector(`.js-click-menu[data-click-menu-id${null==e?"":`='${e}'`}]`)}menuLink(e){return document.querySelector(`.js-click-menu[data-click-menu-target${null==e?"":`='${e}'`}]`)}}var Ee=s(7634),Pe=s(4692);class Oe{get avatarUrl(){var e;return null===(e=this.core.currentUser)||void 0===e?void 0:e.avatar_url}get coverUrl(){var e;return null===(e=this.core.currentUser)||void 0===e?void 0:e.cover.url}constructor(e){Object.defineProperty(this,"core",{enumerable:!0,configurable:!0,writable:!0,value:e}),Pe(()=>{(0,r.mJ)(()=>this.avatarUrl,this.setAvatar),(0,r.mJ)(()=>this.coverUrl,this.setCover),(0,r.h5)(()=>{this.setAvatar(this.avatarUrl),this.setCover(this.coverUrl)})})}setAvatar(e){var t;document.documentElement.style.setProperty("--current-user-avatar",null!==(t=(0,Ee.NZ)(e))&&void 0!==t?t:"")}setCover(e){var t;document.documentElement.style.setProperty("--current-user-cover",null!==(t=(0,Ee.NZ)(e))&&void 0!==t?t:"")}}var je=s(4692);const ke="//platform.enchant.com";class Se{constructor(e){Object.defineProperty(this,"turbolinksReload",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"load",{enumerable:!0,configurable:!0,writable:!0,value:()=>{null!=document.querySelector(".enchant-help-center")&&(window.enchant=[],this.turbolinksReload.load(ke))}}),Object.defineProperty(this,"showMessageWindow",{enumerable:!0,configurable:!0,writable:!0,value:e=>{e.preventDefault(),null!=window.enchant&&null!=window.enchant.messenger&&"function"==typeof window.enchant.messenger.open&&window.enchant.messenger.open()}}),Object.defineProperty(this,"unload",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.turbolinksReload.forget(ke),je('[id^=enchant-], script[src^="//enchantwidgets-"]').remove(),document.querySelectorAll("style").forEach(e=>{const t=e.textContent;null!=t&&/#enchant-/.exec(t)&&je(e).remove()})}}),je(document).on("turbo:load",this.load),je(document).on("turbo:before-cache",this.unload),je(document).on("click",".js-enchant--show",this.showMessageWindow)}}var Ne=s(4692);class Te{constructor(){Object.defineProperty(this,"switchEdit",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=Ne(e.target).parents(".js-forum-poll--container");if("1"===t.attr("data-edit")){t.attr("data-edit","0");const s=Ne(e.target).closest("form")[0];null!=s&&s.reset()}else t.attr("data-edit","1")}}),Object.defineProperty(this,"switchPage",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=e.currentTarget;if(!(t instanceof HTMLElement))return;const s=t.dataset.targetPage;"string"==typeof s&&Ne(e.target).parents(".js-forum-poll--container").attr("data-page",s)}}),Ne(document).on("click",".js-forum-poll--switch-page",this.switchPage).on("click",".js-forum-poll--switch-edit",this.switchEdit)}}var xe=s(4692);class Ae{constructor(){Object.defineProperty(this,"handleCancel",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t;e.preventDefault(),xe.publish("forum-post-input:clear",[e.target]);const s=xe(e.target).parents(".js-forum-post-edit--container");s.html(null!==(t=s.attr("data-original-post"))&&void 0!==t?t:"").attr("data-original-post",null)}}),Object.defineProperty(this,"handleEditSaved",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>{const s=e.target;setTimeout(()=>{this.saved(s,t)})}}),Object.defineProperty(this,"handleEditStart",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>{const s=e.target;setTimeout(()=>{this.start(s,t)})}}),Object.defineProperty(this,"saved",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>{if(!(e instanceof HTMLElement))throw new Error("target must be instance of HTMLElement");xe(e).parents(".js-forum-post").replaceWith(t)}}),Object.defineProperty(this,"start",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>{if(!(e instanceof HTMLElement))throw new Error("target must be instance of HTMLElement");const s=xe(e).parents(".js-forum-post-edit--container");s.attr("data-original-post",s.html()).html(t).find("[name=body]").focus(),xe.publish("forum-post-input:restore",[s[0]])}}),xe(document).on("ajax:success",".js-edit-post-start",this.handleEditStart).on("click",".js-edit-post-cancel",this.handleCancel).on("ajax:success",".js-forum-post-edit",this.handleEditSaved)}}var Ce=s(4692);function Ie(e){var t;if(!(e instanceof HTMLElement))return;const s=null!==(t=e.closest(".js-forum-post"))&&void 0!==t?t:e.closest("form");if(!(s instanceof HTMLElement))return;const r=s.querySelector("[name=body]");return r instanceof HTMLTextAreaElement?r:void 0}class Re{constructor(){Object.defineProperty(this,"handleClear",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>{this.clearInput(Ie(t))}}),Object.defineProperty(this,"handlePageLoad",{enumerable:!0,configurable:!0,writable:!0,value:()=>{for(const e of document.querySelectorAll(".js-forum-post-input"))this.handleRestore(null,e)}}),Object.defineProperty(this,"handlePostSaved",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.clearInput(Ie(e.target))}}),Object.defineProperty(this,"handleRestore",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>{const s=Ie(t);if(null==s)return;const r=this.getKeyFromInput(s);if(null==r)return;const a=localStorage.getItem(r);if(null!=a&&(s.value=a),r.startsWith("forum-post-input:topic:")){const e=`forum-topic-reply--${(0,_.bS)().pathname}--text`,t=localStorage.getItem(e);null!=t&&(localStorage.removeItem(e),localStorage.setItem(r,t),s.value=t)}}}),Object.defineProperty(this,"onInput",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=e.currentTarget;if(!(t instanceof HTMLTextAreaElement))return;const s=this.getKeyFromInput(t);if(null==s)return;""===t.value?localStorage.removeItem(s):localStorage.setItem(s,t.value)}}),Ce(document).on("input change",".js-forum-post-input",this.onInput).on("turbo:load",this.handlePageLoad).on("ajax:success",".js-forum-post-input--form",this.handlePostSaved),Ce.subscribe("forum-post-input:restore",this.handleRestore),Ce.subscribe("forum-post-input:clear",this.handleClear)}clearInput(e){if(null==e)return;const t=this.getKeyFromInput(e);null!=t&&localStorage.removeItem(t)}getKeyFromInput(e){return this.prefixKey(e.dataset.forumPostInputId)}prefixKey(e){if(null!=e&&""!==e)return`forum-post-input:${e}`}}var Me=s(4681),De=s(4692);class He{constructor(){Object.defineProperty(this,"onClickReportButton",{enumerable:!0,configurable:!0,writable:!0,value:e=>{if(0!==e.button)return;const t=e.currentTarget.closest(".js-forum-post");if(null==t)return;const s=t.dataset.postId,r=t.dataset.postUsername;null!=s&&null!=r&&(0,Me.oF)({reportableId:s,reportableType:"forum_post",username:r})}}),De(document).on("click",".js-forum-post-report",this.onClickReportButton)}}var Le=s(4692);class $e{constructor(){Object.defineProperty(this,"debouncedUpdate",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"xhr",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t;const s=e.currentTarget,r=s.closest(".js-forum-topic-tag-editor");if(null==r)throw new Error("missing container");null===(t=this.xhr)||void 0===t||t.abort(),Le(`.js-forum-topic-tag-editor-checkbox[name="${s.name}"]`).prop("checked",s.checked),this.setLoading(),this.debouncedUpdate(r)}}),Object.defineProperty(this,"setComplete",{enumerable:!0,configurable:!0,writable:!0,value:()=>{Le(".js-forum-topic-tag-editor-button").html('')}}),Object.defineProperty(this,"setLoading",{enumerable:!0,configurable:!0,writable:!0,value:()=>{Le(".js-forum-topic-tag-editor-button").html('
')}}),Object.defineProperty(this,"update",{enumerable:!0,configurable:!0,writable:!0,value:e=>{if(!("topicId"in e.dataset))throw new Error("missing dataset-topic-id property on editor");this.xhr=Le.post((0,g.w)("forum.topics.issue-tag",{tags:this.getEnabledTags(e),topic:e.dataset.topicId})),this.xhr.done(this.setComplete).fail(H.S5)}}),this.debouncedUpdate=(0,o.debounce)(this.update,1e3),Le(document).on("change",".js-forum-topic-tag-editor-checkbox",this.onChange)}getEnabledTags(e){return[...e.querySelectorAll(".js-forum-topic-tag-editor-checkbox")].filter(e=>e.checked).map(e=>e.name)}}class Ue{constructor(){Object.defineProperty(this,"observer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"formatElem",{enumerable:!0,configurable:!0,writable:!0,value:e=>{"1"!==e.dataset.localtime&&(e.dataset.localtime="1",e.classList.add("js-tooltip-time"),e.title=e.dateTime,e.innerText=me(e.dateTime).format("LLL"))}}),Object.defineProperty(this,"formatElems",{enumerable:!0,configurable:!0,writable:!0,value:e=>(null==e&&(e=this.getElems(document.body)),e.map(this.formatElem))}),Object.defineProperty(this,"getElems",{enumerable:!0,configurable:!0,writable:!0,value:e=>e instanceof HTMLElement?e instanceof HTMLTimeElement&&e.classList.contains("js-localtime")?[e]:[...e.querySelectorAll("time.js-localtime")]:[]}),Object.defineProperty(this,"mutationHandler",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=[];e.forEach(e=>{e.addedNodes.forEach(e=>{t.push(...this.getElems(e))})}),this.formatElems(t)}}),this.observer=new MutationObserver(this.mutationHandler),this.observer.observe(document,{childList:!0,subtree:!0})}}var Be=s(4692);const Fe="js-mobile-toggle--active";class Ge{constructor(){Object.defineProperty(this,"toggle",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=e.currentTarget;if(!(t instanceof HTMLElement))return;const s=t.dataset.mobileToggleTarget;if(null==s)return;const r=document.querySelector(`.js-mobile-toggle[data-mobile-toggle-id=${s}]`);if(!(r instanceof HTMLElement))return;const a=!t.classList.contains(Fe);t.classList.toggle(Fe,a),r.classList.toggle("hidden-xs",!a)}}),Be(document).on("click",".js-mobile-toggle",this.toggle)}}var Xe=s(4692);const We=e=>{var t;return null!==(t=e.clientX)&&void 0!==t?t:e.touches[0].clientX};let Ve=null;class qe{constructor(e){Object.defineProperty(this,"active",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"bar",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"endCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"moveCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"percentage",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"end",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.active=!1,Xe(document).off("mousemove touchmove",this.onMove),Xe(document).off("mouseup touchend",this.end),Xe(window).off("blur",this.end),Xe(document).off("turbo:before-cache",this.end),null!=this.endCallback&&this.endCallback(this),this.bar.style.removeProperty("--bar"),this.bar.dataset.audioDragging="0",Ve=null}}),Object.defineProperty(this,"getPercentage",{enumerable:!0,configurable:!0,writable:!0,value:()=>this.percentage}),Object.defineProperty(this,"move",{enumerable:!0,configurable:!0,writable:!0,value:e=>{if(!this.active)return;const t=this.bar.getBoundingClientRect(),s=e-t.left,r=t.width;this.percentage=(0,o.clamp)(s/r,0,1),null!=this.moveCallback&&this.moveCallback(this),this.bar.style.setProperty("--bar",this.percentage.toString())}}),Object.defineProperty(this,"onMove",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=We(e);requestAnimationFrame(()=>{this.move(t)})}}),this.endCallback=e.endCallback,this.moveCallback=e.moveCallback,this.bar=e.bar,this.bar.dataset.audioDragging="1",this.move(We(e.initialEvent)),Xe(document).on("mousemove touchmove",this.onMove),Xe(document).on("mouseup touchend",this.end),Xe(window).on("blur",this.end),Xe(document).on("turbo:before-cache",this.end)}static start(e){if(0===e.initialEvent.which||1===e.initialEvent.which)return null!=Ve&&Ve.end(),Ve=new qe(e),Ve}}Object.defineProperty(qe,"startEvents",{enumerable:!0,configurable:!0,writable:!0,value:"mousedown touchstart"});const Ze=qe,ze=e=>e.toString().padStart(2,"0"),Ke={},Je=(e,t)=>{var s;const r=Math.floor(e);if(Ke.time!==r||Ke.format!==t){Ke.format=t,Ke.time=r;const e=r%60,s=Math.floor(r/60);if("minute_minimal"===t)Ke.formatted=`'${s}:${ze(e)}'`;else if("minute"===t)Ke.formatted=`'${ze(s)}:${ze(e)}'`;else{const r=s%60,a=Math.floor(s/60);Ke.formatted="hour_minimal"===t?`'${a}:${ze(r)}:${ze(e)}'`:`'${ze(a)}:${ze(r)}:${ze(e)}'`}}return null!==(s=Ke.formatted)&&void 0!==s?s:""};var Ye=s(4692),Qe=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};class et{constructor(e){Object.defineProperty(this,"userPreferences",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"audio",{enumerable:!0,configurable:!0,writable:!0,value:new Audio}),Object.defineProperty(this,"currentSlider",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"durationFormatted",{enumerable:!0,configurable:!0,writable:!0,value:"'0:00'"}),Object.defineProperty(this,"hasWorkingVolumeControl",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"hideMainPlayerTimeout",{enumerable:!0,configurable:!0,writable:!0,value:-1}),Object.defineProperty(this,"mainPlayer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"observer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pagePlayer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"playerNext",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"playerPrev",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"settingNavigation",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:"paused"}),Object.defineProperty(this,"timeFormat",{enumerable:!0,configurable:!0,writable:!0,value:"minute_minimal"}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"checkVolumeSettings",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const e=this.audio.volume,t=.1===e?.2:.1;this.audio.volume=t,setTimeout(()=>{this.hasWorkingVolumeControl=this.audio.volume===t,this.audio.volume=e,this.syncVolumeDisplay()},0)}}),Object.defineProperty(this,"ensurePagePlayerIsAttached",{enumerable:!0,configurable:!0,writable:!0,value:()=>{null==this.pagePlayer||document.body.contains(this.pagePlayer)||(this.pagePlayer=void 0)}}),Object.defineProperty(this,"load",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=e.dataset.audioUrl;if(null==t)throw new Error("Player is missing url");this.audio.paused||this.stop(),this.setTime(0),this.pagePlayer=e,this.url=t,this.audio.setAttribute("src",t),this.audio.currentTime=0,this.setState("loading");const s=this.audio.play();null==s||s.catch(e=>{if(et.ignoredErrors.includes(e.name))return console.error("playback failed:",e.name),void this.stop();throw e}),this.setNavigation()}}),Object.defineProperty(this,"nav",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=e.currentTarget;t instanceof HTMLElement&&("prev"===t.dataset.audioNav&&null!=this.playerPrev?this.load(this.playerPrev):"next"===t.dataset.audioNav&&null!=this.playerNext&&this.load(this.playerNext))}}),Object.defineProperty(this,"observePage",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.ensurePagePlayerIsAttached();const t=[],s=[],r=null==this.pagePlayer;e.forEach(e=>{e.addedNodes.forEach(e=>{if(e instanceof HTMLElement&&(e instanceof HTMLAudioElement?t.push(e):t.push(...e.querySelectorAll("audio")),r))if(e.classList.contains("js-audio--player"))s.push(e);else for(const t of e.querySelectorAll(".js-audio--player"))t instanceof HTMLElement&&s.push(t)})}),s.push(...this.replaceAudioElems(t)),this.reattachPagePlayer(s)}}),Object.defineProperty(this,"onClickPlay",{enumerable:!0,configurable:!0,writable:!0,value:e=>{e.preventDefault();const t=this.findPlayer(e.currentTarget);if(null==t)throw new Error("couldn't find pagePlayer of the play button");t===this.pagePlayer?this.togglePlay():this.load(t)}}),Object.defineProperty(this,"onDocumentReady",{enumerable:!0,configurable:!0,writable:!0,value:()=>{if(null==this.mainPlayer){const e=document.querySelector(".js-audio--main");if(null==e)return void console.error("page is missing main player placeholder");this.mainPlayer=(()=>{const e=document.createElement("div");return e.className="audio-player audio-player--main",e.innerHTML=`\n \n\n \n\n \n\n
\n
\n
\n\n
\n
\n
/
\n
\n
\n\n
\n \n
\n
\n
\n
\n\n
\n \n
\n `,e})(),e.replaceWith(this.mainPlayer),(0,r.fm)(()=>{this.audio.muted=this.userPreferences.get("audio_muted"),this.audio.volume=this.userPreferences.get("audio_volume");const e=this.userPreferences.get("audio_autoplay")?"1":"0";null!=this.mainPlayer&&(this.mainPlayer.dataset.audioAutoplay=e)}),this.checkVolumeSettings(),this.syncState()}null==this.observer&&(this.observer=new MutationObserver(this.observePage),this.observer.observe(document,{childList:!0,subtree:!0})),this.replaceAudioElems(),this.reattachPagePlayer()}}),Object.defineProperty(this,"onEnded",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.stop(),null!=this.playerNext&&this.userPreferences.get("audio_autoplay")&&this.load(this.playerNext)}}),Object.defineProperty(this,"onPause",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.setState("paused")}}),Object.defineProperty(this,"onPlaying",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.setTimeFormat(),this.durationFormatted=Je(this.audio.duration,this.timeFormat),this.setState("playing")}}),Object.defineProperty(this,"onSeekEnd",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.currentSlider=void 0;const t=1===e.getPercentage()?this.audio.duration-.01:this.audio.duration*e.getPercentage();this.setTime(t)}}),Object.defineProperty(this,"onSeekStart",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=e.currentTarget;t instanceof HTMLElement&&(null!=this.pagePlayer&&this.pagePlayer.contains(t)||null!=this.mainPlayer&&this.mainPlayer.contains(t))&&Number.isFinite(this.audio.duration)&&0!==this.audio.duration&&(this.currentSlider=Ze.start({bar:t,endCallback:this.onSeekEnd,initialEvent:e}))}}),Object.defineProperty(this,"onTimeupdate",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.audio.paused&&this.syncProgress()}}),Object.defineProperty(this,"onVolumeChangeEnd",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.currentSlider=void 0,this.userPreferences.set("audio_volume",this.audio.volume)}}),Object.defineProperty(this,"onVolumeChangeMove",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.audio.volume=e.getPercentage()}}),Object.defineProperty(this,"onVolumeChangeStart",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=e.currentTarget;t instanceof HTMLElement&&(this.currentSlider=Ze.start({bar:t,endCallback:this.onVolumeChangeEnd,initialEvent:e,moveCallback:this.onVolumeChangeMove}))}}),Object.defineProperty(this,"reattachPagePlayer",{enumerable:!0,configurable:!0,writable:!0,value:e=>{if(this.ensurePagePlayerIsAttached(),null!=this.url&&null==this.pagePlayer){null==e&&(e=[...document.querySelectorAll(".js-audio--player")]);for(const t of e)if(t instanceof HTMLElement&&t.dataset.audioUrl===this.url){this.pagePlayer=t,this.syncState();break}}this.setNavigation()}}),Object.defineProperty(this,"replaceAudioElem",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t,s;const r=null!==(t=(0,l.I)(e.src))&&void 0!==t?t:(0,l.I)(null===(s=e.querySelector("source"))||void 0===s?void 0:s.src);if(null==r)throw new Error("audio element is missing src");const a=(e=>{const t=document.createElement("div");return t.className=`${(0,Ee.Zt)("audio-player",e)} js-audio--player`,t.innerHTML='\n \n\n
\n
\n
\n\n
\n
\n
/
\n
\n
\n ',t})(e.dataset.modifiers);return a.dataset.audioUrl=r,a.dataset.audioState="paused",e.replaceWith(a),a}}),Object.defineProperty(this,"replaceAudioElems",{enumerable:!0,configurable:!0,writable:!0,value:e=>(null==e&&(e=[...document.querySelectorAll("audio")]),e.map(this.replaceAudioElem))}),Object.defineProperty(this,"setNavigation",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.settingNavigation||(this.settingNavigation=!0,window.setTimeout(()=>{var e;this.playerNext=void 0,this.playerPrev=void 0;const t=null===(e=this.pagePlayer)||void 0===e?void 0:e.closest(".js-audio--group");if(t instanceof HTMLElement){const e=t.querySelectorAll(".js-audio--player");for(let t=0;t0){const s=e[t-1];s instanceof HTMLElement&&(this.playerPrev=s)}const s=e[t+1];s instanceof HTMLElement&&(this.playerNext=s);break}}null!=this.mainPlayer&&(this.mainPlayer.dataset.audioHasPrev=null==this.playerPrev?"0":"1",this.mainPlayer.dataset.audioHasNext=null==this.playerNext?"0":"1"),this.settingNavigation=!1}))}}),Object.defineProperty(this,"setState",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.state=e,this.syncState(),window.clearTimeout(this.hideMainPlayerTimeout),"playing"===this.state||"loading"===this.state?null!=this.mainPlayer&&(this.mainPlayer.dataset.audioVisible="1"):this.hideMainPlayerTimeout=window.setTimeout(()=>{null!=this.mainPlayer&&(this.mainPlayer.dataset.audioVisible="0")},4e3)}}),Object.defineProperty(this,"setTime",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.audio.currentTime=e,this.syncProgress()}}),Object.defineProperty(this,"setTimeFormat",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.audio.duration<600?this.timeFormat="minute_minimal":this.audio.duration<3600?this.timeFormat="minute":this.audio.duration<36e3?this.timeFormat="hour_minimal":this.timeFormat="hour"}}),Object.defineProperty(this,"stop",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e;this.audio.pause(),null===(e=this.currentSlider)||void 0===e||e.end(),this.audio.currentTime=0,this.onPause()}}),Object.defineProperty(this,"syncProgress",{enumerable:!0,configurable:!0,writable:!0,value:()=>{if(this.audio.duration>0){const e=this.audio.currentTime/this.audio.duration,t=e>=.5?"1":"0",s=e.toString(),r=Je(this.audio.currentTime,this.timeFormat);this.updatePlayers(e=>{e.style.setProperty("--current-time",r),e.style.setProperty("--progress",s),e.dataset.audioOver50=t})}this.audio.paused||requestAnimationFrame(this.syncProgress)}}),Object.defineProperty(this,"syncState",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.updatePlayers(e=>{e.dataset.audioHasDuration=Number.isFinite(this.audio.duration)?"1":"0",e.dataset.audioState=this.state,e.dataset.audioTimeFormat=this.timeFormat,e.style.setProperty("--duration",this.durationFormatted)}),this.syncProgress(),this.syncVolumeDisplay()}}),Object.defineProperty(this,"syncVolumeDisplay",{enumerable:!0,configurable:!0,writable:!0,value:()=>{null!=this.mainPlayer&&(this.mainPlayer.dataset.audioVolumeBarVisible=this.hasWorkingVolumeControl?"1":"0",this.mainPlayer.dataset.audioVolume=this.volumeIcon(),this.mainPlayer.style.setProperty("--volume",this.audio.volume.toString()))}}),Object.defineProperty(this,"toggleAutoplay",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.userPreferences.set("audio_autoplay",!this.userPreferences.get("audio_autoplay"))}}),Object.defineProperty(this,"toggleMute",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.userPreferences.set("audio_muted",!this.userPreferences.get("audio_muted"))}}),Object.defineProperty(this,"togglePlay",{enumerable:!0,configurable:!0,writable:!0,value:()=>{null!=this.url&&(this.audio.paused?this.audio.play():this.audio.pause())}}),Object.defineProperty(this,"updatePlayers",{enumerable:!0,configurable:!0,writable:!0,value:e=>{[this.mainPlayer,this.pagePlayer].forEach(t=>{null!=t&&e(t)})}}),Object.defineProperty(this,"volumeIcon",{enumerable:!0,configurable:!0,writable:!0,value:()=>this.audio.muted?"muted":0===this.audio.volume?"silent":this.audio.volume<.4?"quiet":"normal"}),(0,r.Gn)(this),this.audio.volume=0,this.audio.addEventListener("pause",this.onPause),this.audio.addEventListener("playing",this.onPlaying),this.audio.addEventListener("ended",this.onEnded),this.audio.addEventListener("timeupdate",this.onTimeupdate),this.audio.addEventListener("volumechange",this.syncVolumeDisplay),Ye(document).on("click",".js-audio--play",this.onClickPlay).on("click",".js-audio--main-play",this.togglePlay).on(Ze.startEvents,".js-audio--seek",this.onSeekStart).on(Ze.startEvents,".js-audio--volume",this.onVolumeChangeStart).on("click",".js-audio--toggle-mute",this.toggleMute).on("click",".js-audio--toggle-autoplay",this.toggleAutoplay).on("click",".js-audio--nav",this.nav),document.addEventListener("turbo:load",this.onDocumentReady)}findPlayer(e){var t,s;const r=null!==(s=null===(t=this.mainPlayer)||void 0===t?void 0:t.contains(e))&&void 0!==s&&s?this.pagePlayer:e.closest(".js-audio--player");if(r instanceof HTMLElement)return r}}Object.defineProperty(et,"ignoredErrors",{enumerable:!0,configurable:!0,writable:!0,value:["AbortError","NotAllowedError","NotSupportedError"]});const tt=et;Qe([r.XI],et.prototype,"onEnded",void 0),Qe([r.XI],et.prototype,"onVolumeChangeEnd",void 0),Qe([r.XI],et.prototype,"toggleAutoplay",void 0),Qe([r.XI],et.prototype,"toggleMute",void 0);var st=s(8156),rt=s(961),at=s(4692);class it{constructor(e,t){Object.defineProperty(this,"core",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"turbolinksReload",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"components",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"newVisit",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"pageReady",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"renderedContainers",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"scrolled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"timeoutScroll",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"boot",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e;if(this.pageReady&&null!=window.newBody)for(const t of window.newBody.querySelectorAll(".js-react")){if(!(t instanceof HTMLElement))continue;const s=null!==(e=t.dataset.react)&&void 0!==e?e:"",a=this.components[s];null!=a&&(this.renderedContainers.has(t)||(this.renderedContainers.add(t),(0,r.h5)(()=>{rt.render(a(t),t)})))}}}),Object.defineProperty(this,"destroy",{enumerable:!0,configurable:!0,writable:!0,value:()=>{for(const e of this.renderedContainers.values())document.body.contains(e)||(rt.unmountComponentAtNode(e),this.renderedContainers.delete(e))}}),Object.defineProperty(this,"handleBeforeCache",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.pageReady=!1,window.clearTimeout(this.timeoutScroll)}}),Object.defineProperty(this,"handleBeforeRender",{enumerable:!0,configurable:!0,writable:!0,value:e=>{e.preventDefault(),window.newBody=e.detail.newBody,this.setNewUrl(),this.pageReady=!0,(0,st.e)(),this.core.updateCurrentUser(),this.loadScripts().then(()=>{this.boot(),e.detail.resume()})}}),Object.defineProperty(this,"handleBeforeVisit",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.newVisit=!0}}),Object.defineProperty(this,"handleLoad",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e;null!==(e=window.newBody)&&void 0!==e||(window.newBody=document.body),window.newUrl=null,this.pageReady=!0,this.scrolled=!1,at(window).off("scroll",this.handleWindowScroll),at(window).on("scroll",this.handleWindowScroll),window.setTimeout(()=>{this.destroy(),this.loadScripts().then(()=>{this.boot(),this.timeoutScroll=window.setTimeout(this.scrollOnNewVisit,100)})},1)}}),Object.defineProperty(this,"handleWindowScroll",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.scrolled=this.scrolled||0!==window.scrollX||0!==window.scrollY}}),Object.defineProperty(this,"scrollOnNewVisit",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e;at(window).off("scroll",this.handleWindowScroll);const t=this.newVisit;if(this.newVisit=!1,!t||this.scrolled)return;const s=decodeURIComponent((0,_.bS)().hash.substr(1));""!==s&&(null===(e=document.getElementById(s))||void 0===e||e.scrollIntoView())}}),at(document).on("turbo:before-cache",this.handleBeforeCache),at(document).on("turbo:before-visit",this.handleBeforeVisit),at(document).on("turbo:load",this.handleLoad),document.addEventListener("turbo:before-render",this.handleBeforeRender)}register(e,t){null==this.components[e]&&(this.components[e]=t,this.boot())}runAfterPageLoad(e){if(document.body!==window.newBody)return at(document).one("turbo:load",e),()=>{at(document).off("turbo:load",e)};e()}loadScripts(){const e=[];return null!=window.newBody&&window.newBody.querySelectorAll(".js-react-turbolinks--script").forEach(t=>{if(t instanceof HTMLDivElement){const s=t.dataset.src;null!=s&&e.push(this.turbolinksReload.load(s))}}),Promise.all(e)}setNewUrl(){var e,t,s,r;window.newUrl=null!==(r=null!==(t=null===(e=Turbo.session.navigator.currentVisit)||void 0===e?void 0:e.redirectedToLocation)&&void 0!==t?t:null===(s=Turbo.session.navigator.currentVisit)||void 0===s?void 0:s.location)&&void 0!==r?r:document.location}}var nt=s(4692);function ot(e){var t,s,r;e.stopPropagation(),e.preventDefault();const a=null!==(s=null===(t=(0,re.e0)(e.target))||void 0===t?void 0:t.closest(".js-spoilerbox"))&&void 0!==s?s:(0,se.f)("spoiler container is missing"),i=null!==(r=(0,re.e0)(a.querySelector(":scope > .js-spoilerbox__body")))&&void 0!==r?r:(0,se.f)("spoiler body is missing"),n=a.classList.toggle("js-spoilerbox--open")?"slideDown":"slideUp";nt(i).stop()[n]({complete(){nt.publish("sync-height:force"),i.style.height=""}})}class lt{constructor(){nt(document).on("click",".js-spoilerbox__link",ot)}}var ct=s(4692);class ut{constructor(){Object.defineProperty(this,"permanentFixedFooter",{enumerable:!0,configurable:!0,writable:!0,value:document.getElementsByClassName("js-permanent-fixed-footer")}),Object.defineProperty(this,"stickMarker",{enumerable:!0,configurable:!0,writable:!0,value:document.getElementsByClassName("js-sticky-footer")}),Object.defineProperty(this,"throttledStickOrUnstick",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"stickOrUnstick",{enumerable:!0,configurable:!0,writable:!0,value:()=>{if(0===this.stickMarker.length)return;const e=this.permanentFixedFooter[0];if(!(e instanceof HTMLElement))return;const t=window.innerHeight-e.offsetHeight;for(const s of this.stickMarker)if(s instanceof HTMLElement){if("1"===s.dataset.stickyFooterDisabled)continue;if(s.getBoundingClientRect().top>=t)return void ct.publish("stickyFooter",s.dataset.stickyFooterTarget)}ct.publish("stickyFooter")}}),this.throttledStickOrUnstick=(0,o.throttle)(this.stickOrUnstick,100),ct(window).on("scroll resize",this.stickOrUnstick),ct.subscribe("stickyFooter:check",this.throttledStickOrUnstick),ct(document).on("turbo:load",this.throttledStickOrUnstick)}markerDisable(e){e.dataset.stickyFooterDisabled="1"}markerEnable(e){e.dataset.stickyFooterDisabled=""}}var dt=s(4692);class pt{get breadcrumbsElement(){var e;return null===(e=window.newBody)||void 0===e?void 0:e.querySelector(".js-sticky-header-breadcrumbs")}get contentElement(){var e;return null===(e=window.newBody)||void 0===e?void 0:e.querySelector(".js-sticky-header-content")}get headerHeight(){const e=window._styles.header;return jr.windowSize.isMobile?e.heightMobile:e.heightSticky}get header(){return document.querySelector(".js-pinned-header")}get marker(){return document.querySelector(".js-sticky-header")}get pinnedSticky(){return document.querySelector(".js-pinned-header-sticky")}get scrollOffsetValue(){const e=this.pinnedSticky,t=null==e?0:e.getBoundingClientRect().height;return this.headerHeight+t}get shouldStick(){const e=this.marker,t=this.pinnedSticky;if(null==e||null==t)return;return e.getBoundingClientRect().top{this.pin(),this.stickOrUnstick()}}),Object.defineProperty(this,"stickOrUnstick",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const e=this.shouldStick;null!=e&&this.setVisible(e)}}),dt(window).on("scroll",this.onScroll),dt(document).on("turbo:load",this.onScroll),dt(window).on("resize",this.stickOrUnstick)}scrollOffset(e){return Math.max(0,e-this.scrollOffsetValue)}pin(){null!=this.header&&(this.shouldPin()?document.body.classList.add("js-header-is-pinned"):document.body.classList.remove("js-header-is-pinned"))}setVisible(e){(0,be.j6)((0,re.e0)(this.pinnedSticky),e),dt(document).trigger("sticky-header:sticking",[e])}shouldPin(e){return(null!=e?e:window.pageYOffset)>30||this.shouldStick}}var mt=s(4692);class ht{constructor(){Object.defineProperty(this,"observer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"references",{enumerable:!0,configurable:!0,writable:!0,value:document.getElementsByClassName("js-sync-height--reference")}),Object.defineProperty(this,"targets",{enumerable:!0,configurable:!0,writable:!0,value:document.getElementsByClassName("js-sync-height--target")}),Object.defineProperty(this,"onResize",{enumerable:!0,configurable:!0,writable:!0,value:e=>{for(const t of e)if(t.target instanceof HTMLTextAreaElement)return void this.sync()}}),Object.defineProperty(this,"sync",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const e={};for(const t of this.references){if(!(t instanceof HTMLElement))continue;const s=t.dataset.syncHeightTarget;null!=s&&(e[s]=t.offsetHeight)}for(const t of this.targets){if(!(t instanceof HTMLElement))continue;const s=t.dataset.syncHeightId;if(null!=s){const r=e[s];null!=r&&(t.style.minHeight=`${r}px`)}}}}),mt(document).on("turbo:load",this.sync),mt.subscribe("sync-height:force",this.sync),mt(window).on("resize",this.sync),this.observer=new MutationObserver(this.onResize),this.observer.observe(document,{attributes:!0,subtree:!0})}}var bt=s(4692);class ft{constructor(){Object.defineProperty(this,"observer",{enumerable:!0,configurable:!0,writable:!0,value:new MutationObserver(ft.handleMutations)}),this.observer.observe(document,{attributeFilter:["datetime"],attributeOldValue:!0,childList:!0,subtree:!0})}static handleMutation(e){switch(e.type){case"childList":bt(e.addedNodes).find(ft.searchQuery).addBack(ft.searchQuery).timeago();break;case"attributes":e.target instanceof HTMLTimeElement&&e.target.dateTime!==e.oldValue&&e.target.classList.contains(ft.className)&&bt(e.target).timeago("updateFromDOM")}}static handleMutations(e){null!=bt.fn.timeago&&e.forEach(ft.handleMutation)}}Object.defineProperty(ft,"className",{enumerable:!0,configurable:!0,writable:!0,value:"js-timeago"}),Object.defineProperty(ft,"searchQuery",{enumerable:!0,configurable:!0,writable:!0,value:`.${ft.className}`});const vt=ft;var gt=s(4692);class yt{constructor(){Object.defineProperty(this,"loaded",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"loading",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"abortLoading",{enumerable:!0,configurable:!0,writable:!0,value:()=>{for(const[,e]of this.loading.values())e()}}),Object.defineProperty(this,"forget",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t,s;this.loaded.delete(e),null===(s=null===(t=this.loading.get(e))||void 0===t?void 0:t[1])||void 0===s||s.call(t)}}),gt(document).on("turbo:before-cache",this.abortLoading)}load(e){var t,s;if(this.loaded.has(e)||this.loading.has(e))return null!==(s=null===(t=this.loading.get(e))||void 0===t?void 0:t[0])&&void 0!==s?s:Promise.resolve();const r=document.createElement("script"),a=new Promise((t,s)=>{r.addEventListener("load",t),r.addEventListener("error",s),r.src=e,document.head.append(r)}),i=()=>{r.remove()};return this.loading.set(e,[a,i]),a.then(()=>{this.loaded.add(e)}).finally(()=>{this.loading.delete(e),i()}),a}}class wt{constructor(e){Object.defineProperty(this,"turbolinksReload",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"startAll",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const e=document.querySelectorAll(".js-twitch-player");if(0!==e.length)if(null==window.Twitch)this.initializeEmbed();else for(const t of e)t instanceof HTMLElement&&this.start(t)}}),document.addEventListener("turbo:load",this.startAll)}initializeEmbed(){var e;null===(e=this.turbolinksReload.load("https://player.twitch.tv/js/embed/v1.js"))||void 0===e||e.then(this.startAll)}start(e){var t;null!=window.Twitch&&"true"!==e.dataset.twitchPlayerStarted&&(e.dataset.twitchPlayerStarted="true",new window.Twitch.Player(e.id,{autoplay:"true"===e.dataset.autoplay,channel:null!==(t=e.dataset.channel)&&void 0!==t?t:(0,se.f)(`twitch player ${e.id} is missing channel data`),height:"100%",width:"100%"}))}}var _t=s(4692),Et=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};class Pt{constructor(){Object.defineProperty(this,"pins",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),(0,r.Gn)(this)}apiPin(e,t){if(null==e.current_user_attributes.pin)throw new Error("can't pin score without current user attributes");return _t.ajax((0,g.w)("score-pins.store",{score:e.id}),{dataType:"json",method:t?"PUT":"DELETE"}).done((0,r.XI)(()=>{this.markPinned(e,t),_t.publish("score:pin",[t,e])}))}canBePinned(e){return null!=e.current_user_attributes.pin&&e.passed}isPinned(e){const t=e.current_user_attributes.pin;return null!=t&&(this.pins.has(t.score_id)||(0,r.h5)(()=>{this.pins.set(t.score_id,t.is_pinned)}),this.pins.get(t.score_id))}markPinned(e,t){const s=e.current_user_attributes.pin;null!=s&&this.pins.set(s.score_id,t)}}Et([r.sH],Pt.prototype,"pins",void 0),Et([r.XI],Pt.prototype,"markPinned",null);var Ot=s(4692);class jt{constructor(e){Object.defineProperty(this,"captcha",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"callback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"show",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.callback=e,window.setTimeout(()=>{var e;Ot(document).trigger("gallery:close"),null===(e=Ot(".js-user-login--menu")[0])||void 0===e||e.click()},0)}}),Object.defineProperty(this,"showIfGuest",{enumerable:!0,configurable:!0,writable:!0,value:e=>null==jr.currentUser&&(this.show(e),!0)}),Object.defineProperty(this,"showOnError",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>{var s;return 401===e.status&&"basic"===(null===(s=e.responseJSON)||void 0===s?void 0:s.authentication)&&(null!=jr.currentUser?(0,_.T8)():this.show(t),!0)}}),Object.defineProperty(this,"clearError",{enumerable:!0,configurable:!0,writable:!0,value:()=>{Ot(".js-login-form--error").text("")}}),Object.defineProperty(this,"loginError",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>{e.preventDefault(),e.stopPropagation(),Ot(".js-login-form--error").text((0,H.ER)(t));const s=this.captcha.findContainer(e.currentTarget);null!=s&&window.setTimeout(()=>{const e=t.responseJSON;var r;"object"==typeof(r=e)&&null!=r&&"captcha_triggered"in r&&e.captcha_triggered&&this.captcha.trigger(s),this.captcha.reset(s)},0)}}),Object.defineProperty(this,"loginSuccess",{enumerable:!0,configurable:!0,writable:!0,value:(e,t,s,r)=>{if("application/javascript"===r.getResponseHeader("content-type"))return;const a=this.callback;null!=a?(this.reset(),this.refreshToken(t.csrf_token),Ot.publish("user:update",t.user),window.setTimeout(()=>{var e;null===(e=Ot(".js-user-login--menu")[0])||void 0===e||e.click(),Ot(".js-user-header").replaceWith(t.header),Ot(".js-user-header-popup").html(t.header_popup),a()},0)):(0,_.T8)()}}),Object.defineProperty(this,"onError",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>{this.showOnError(t,(0,re.Qz)(e.target))}}),Object.defineProperty(this,"refreshToken",{enumerable:!0,configurable:!0,writable:!0,value:e=>{Ot('[name="_token"]').attr("value",e),Ot('[name="csrf-token"]').attr("content",e)}}),Object.defineProperty(this,"reset",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.callback=void 0}}),Object.defineProperty(this,"showOnClick",{enumerable:!0,configurable:!0,writable:!0,value:e=>{e.preventDefault(),this.show()}}),Object.defineProperty(this,"showOnLoad",{enumerable:!0,configurable:!0,writable:!0,value:()=>{window.showLoginModal&&(window.showLoginModal=void 0,this.show())}}),Object.defineProperty(this,"showToContinue",{enumerable:!0,configurable:!0,writable:!0,value:e=>{if(null!=jr.currentUser)return;e.preventDefault();const t=(0,re.Qz)(e.target);window.setTimeout(()=>{this.show(t)},0)}}),Ot(document).on("ajax:success",".js-login-form",this.loginSuccess).on("ajax:error",".js-login-form",this.loginError).on("submit",".js-login-form",this.clearError).on("input",".js-login-form-input",this.clearError).on("click",".js-user-link",this.showOnClick).on("click",".js-login-required--click",this.showToContinue).on("ajax:before",".js-login-required--click",()=>null!=jr.currentUser).on("ajax:error",this.onError).on("turbo:load",this.showOnLoad),Ot.subscribe("nav:popup:hidden",this.reset)}}class kt{}var St=s(4692);class Nt{constructor(){Object.defineProperty(this,"handleUserLogin",{enumerable:!0,configurable:!0,writable:!0,value:()=>{(0,k.JD)(new kt)}}),Object.defineProperty(this,"handleUserLogout",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=(0,l.E)(e.currentTarget.dataset.redirectHome);this.logout(t)}}),St(document).on("ajax:success",".js-logout-link",this.handleUserLogout).on("ajax:success",".js-login-form",this.handleUserLogin)}logout(e=!1){localStorage.clear(),e?location.href=(0,g.w)("home"):location.reload()}}var Tt=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};class xt{get blocks(){return null==this.core.currentUser?new Set:new Set(this.core.currentUser.blocks.map(e=>e.target_id))}get followUserMapping(){return null==this.core.currentUser?new Set:new Set(this.core.currentUser.follow_user_mapping)}get friends(){return null==this.core.currentUser?new Map:new Map(this.core.currentUser.friends.map(e=>[e.target_id,e]))}constructor(e){Object.defineProperty(this,"core",{enumerable:!0,configurable:!0,writable:!0,value:e}),(0,r.Gn)(this)}isFriendWith(e){return null!=this.friends.get(e)}updateFollowUserMapping(e,t){const s=this.core.currentUser;null!=s&&(e?s.follow_user_mapping.push(t):(0,o.pull)(s.follow_user_mapping,t))}updateUserRelation(e,t,s){var r;const a=null!==(r=this.core.currentUser)&&void 0!==r?r:(0,se.f)("trying to update user relation of guest user"),i=a[t];null==e?(0,o.remove)(i,e=>e.target_id===s):i.push(e);const n=a["blocks"===t?"friends":"blocks"];(0,o.remove)(n,e=>e.target_id===s)}}Tt([r.EW],xt.prototype,"blocks",null),Tt([r.EW],xt.prototype,"followUserMapping",null),Tt([r.EW],xt.prototype,"friends",null),Tt([r.XI],xt.prototype,"updateFollowUserMapping",null),Tt([r.XI],xt.prototype,"updateUserRelation",null);var At=s(4692),Ct=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};const It="userPreferences";class Rt{constructor(){Object.defineProperty(this,"current",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"updatingOptions",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"user",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"updateFromStorage",{enumerable:!0,configurable:!0,writable:!0,value:e=>{null!=e.key&&e.key!==It||(this.current=this.fromStorageWithDefaults())}}),this.current=this.fromStorageWithDefaults(),(0,r.Gn)(this),window.addEventListener("storage",this.updateFromStorage)}get(e){return this.current[e]}set(e,t){if(this.current[e]!==t&&(this.current[e]=t,this.updateStorage(),null!=this.user))return this.updatingOptions=!0,At.ajax((0,g.w)("account.options"),{data:{user_profile_customization:{[e]:t}},dataType:"JSON",method:"PUT"}).done(e=>{At.publish("user:update",e)}).fail((0,H.dI)()).always(()=>{this.updatingOptions=!1})}setUser(e){var t;this.user=e,null==e||this.updatingOptions||(this.current=null!==(t=e.user_preferences)&&void 0!==t?t:{audio_autoplay:!1,audio_muted:!1,audio_volume:.45,beatmapset_card_size:"normal",beatmapset_download:"all",beatmapset_show_anime_cover:!0,beatmapset_show_nsfw:!1,beatmapset_title_show_original:!1,comments_show_deleted:!1,comments_sort:"new",forum_posts_show_deleted:!0,legacy_score_only:!1,profile_cover_expanded:!0,scoring_mode:"standardised",user_list_filter:"all",user_list_sort:"last_visit",user_list_view:"card"},this.updateStorage())}fromStorage(){try{const e=localStorage.getItem(It);if(null!=e){const t=JSON.parse(e);if(null!=t&&"object"==typeof t)return t}}catch(e){}return{}}fromStorageWithDefaults(){return Object.assign({audio_autoplay:!1,audio_muted:!1,audio_volume:.45,beatmapset_card_size:"normal",beatmapset_download:"all",beatmapset_show_anime_cover:!0,beatmapset_show_nsfw:!1,beatmapset_title_show_original:!1,comments_show_deleted:!1,comments_sort:"new",forum_posts_show_deleted:!0,legacy_score_only:!1,profile_cover_expanded:!0,scoring_mode:"standardised",user_list_filter:"all",user_list_sort:"last_visit",user_list_view:"card"},this.fromStorage())}updateStorage(){localStorage[It]=JSON.stringify(this.current)}}Ct([r.sH],Rt.prototype,"current",void 0),Ct([r.XI],Rt.prototype,"set",null),Ct([r.XI],Rt.prototype,"setUser",null),Ct([r.XI],Rt.prototype,"updateFromStorage",void 0);var Mt=s(4692);function Dt(e){return 401===e.status&&function(e){return"object"==typeof e&&null!=e&&"authentication"in e&&"verify"===e.authentication&&"box"in e&&"string"==typeof e.box}(e.responseJSON)}class Ht{get inputBox(){return document.querySelector(".js-user-verification--input")}get message(){return document.querySelector(".js-user-verification--message")}get messageSpinner(){return document.querySelector(".js-user-verification--message-spinner")}get messageText(){return document.querySelector(".js-user-verification--message-text")}constructor(){Object.defineProperty(this,"callback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"delayShow",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"delayShowCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"modal",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"showOnError",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>!!Dt(e)&&(this.show(e.responseJSON.box,t),!0)}),Object.defineProperty(this,"autoSubmit",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e;const t=this.inputBox;if(null==t)return;const s=t.value.replace(/\s/g,""),r=t.dataset.lastKey,a=parseInt(null!==(e=t.dataset.verificationKeyLength)&&void 0!==e?e:"",10);0===s.length&&this.setMessage(),a===s.length&&s!==r&&(t.dataset.lastKey=s,this.prepareForRequest("verifying"),this.request=Mt.post((0,g.w)("account.verify"),{verification_key:s}).done(this.success).fail(this.error))}}),Object.defineProperty(this,"error",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t;if("session-verification-mail-fallback"===e.getResponseHeader("x-turbo-action")){const s=e.responseJSON,r=this.setBoxContent(s.box);null===(t=(0,re.e0)(null==r?void 0:r.querySelector(".modal-af")))||void 0===t||t.focus()}else this.setMessage((0,H.ER)(e))}}),Object.defineProperty(this,"isActive",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e;return null===(e=this.modal)||void 0===e?void 0:e.classList.contains("js-user-verification--active")}}),Object.defineProperty(this,"onError",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>this.showOnError(t,(0,re.Qz)(e.target))}),Object.defineProperty(this,"onErrorTurbo",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=e.detail.fetchResponse;if(null==t||"session-verification"!==t.header("x-turbo-action"))return;e.preventDefault();const s=e.detail.formSubmission.formElement;t.responseText.then(e=>{const t=JSON.parse(e);this.show(t.box,()=>{s.requestSubmit()})})}}),Object.defineProperty(this,"onMailFallbackMethod",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=e.detail.fetchResponse;"session-verification-mail-fallback"===t.header("x-turbo-action")&&(e.preventDefault(),t.responseText.then(e=>{var t;const s=JSON.parse(e),r=this.setBoxContent(s.box);null===(t=(0,re.e0)(null==r?void 0:r.querySelector(".modal-af")))||void 0===t||t.focus()}))}}),Object.defineProperty(this,"prepareForRequest",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t;null===(t=this.request)||void 0===t||t.abort(),this.setMessage((0,y.pw)(`user_verification.box.${e}`),!0)}}),Object.defineProperty(this,"reissue",{enumerable:!0,configurable:!0,writable:!0,value:e=>{e.preventDefault(),this.prepareForRequest("issuing"),this.request=Mt.post((0,g.w)("account.reissue-code")).done(e=>{this.setMessage(e.message)}).fail(this.error)}}),Object.defineProperty(this,"setDelayShow",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.delayShow=!0}}),Object.defineProperty(this,"setMessage",{enumerable:!0,configurable:!0,writable:!0,value:(e,t=!1)=>{const s=this.message;if(null==s)return;if(null==e||0===e.length)return void(0,be.Xn)(s);const r=this.messageText,a=this.messageSpinner;null!=r&&null!=a&&(r.textContent=e,(0,be.j6)(a,t),(0,be.qG)(s))}}),Object.defineProperty(this,"setModal",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const e=document.querySelector(".js-user-verification");this.modal=e instanceof HTMLElement?e:void 0}}),Object.defineProperty(this,"show",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>{this.delayShow?this.delayShowCallback=()=>this.show(e,t):(this.callback=t,null!=e&&this.setBoxContent(e),this.$modal().modal({backdrop:"static",keyboard:!1,show:!0}).addClass("js-user-verification--active"))}}),Object.defineProperty(this,"showOnLoad",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.delayShow=!1,null!=this.delayShowCallback?(this.delayShowCallback(),this.delayShowCallback=void 0):this.isVerificationPage()&&this.show()}}),Object.defineProperty(this,"success",{enumerable:!0,configurable:!0,writable:!0,value:()=>{if(!this.isActive()||null==this.modal)return;const e=this.inputBox;if(null==e)return;this.$modal().modal("hide"),this.modal.classList.remove("js-user-verification--active");const t=this.callback;if(this.callback=void 0,this.setMessage(),e.value="",e.dataset.lastKey="",this.isVerificationPage())return(0,_.T8)();null==t||t()}}),Mt(document).on("ajax:error",this.onError).on("turbo:load",this.setModal).on("turbo:load",this.showOnLoad).on("turbo:visit",this.setDelayShow).on("input",".js-user-verification--input",this.autoSubmit).on("click",".js-user-verification--reissue",this.reissue),Mt.subscribe("user-verification:success",this.success),document.addEventListener("turbo:submit-end",this.onErrorTurbo),document.addEventListener("turbo:before-fetch-response",this.onMailFallbackMethod)}$modal(){return Mt(".js-user-verification")}isVerificationPage(){return null!=document.querySelector(".js-user-verification--on-load")}setBoxContent(e){const t=(0,re.e0)(document.querySelector(".js-user-verification--box"));return null!=t&&(t.innerHTML=e),t}}var Lt=s(6250),$t=s(4692);class Ut{constructor(){Object.defineProperty(this,"createTooltip",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>{$t(e).qtip({content:{text:t},hide:{delay:200,effect(){$t(this).fadeTo(110,0)},fixed:!0},position:(0,Lt.g)("top center"),show:{delay:200,effect(){$t(this).fadeTo(110,1)},ready:!0},style:{classes:"tooltip-default tooltip-default--interactable"}})}}),Object.defineProperty(this,"showTooltip",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t,s;if(!(e.currentTarget instanceof HTMLAnchorElement))return;const r=e.currentTarget,a=r.getAttribute("href");if(null==a)return;const i=null===(s=null===(t=document.querySelector(a))||void 0===t?void 0:t.firstElementChild)||void 0===s?void 0:s.cloneNode(!0);if(i instanceof HTMLParagraphElement){i.querySelectorAll("*").forEach(e=>{"doc-backlink"===e.getAttribute("role")?e.remove():e.removeAttribute("class")});for(let e=i.childNodes.length-1;e>=0;e--){const t=i.childNodes[e];if(" "!==t.textContent)break;t.remove()}this.createTooltip(r,i)}}}),$t(document).on("mouseover",".js-reference-link",this.showTooltip)}}var Bt=s(4692),Ft=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};class Gt{constructor(){Object.defineProperty(this,"hasFocus",{enumerable:!0,configurable:!0,writable:!0,value:document.hasFocus()}),(0,r.Gn)(this),Bt(window).on("blur focus",(0,r.XI)(()=>this.hasFocus=document.hasFocus()))}}Ft([r.sH],Gt.prototype,"hasFocus",void 0);var Xt=s(4692),Wt=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};class Vt{get isDesktop(){return this.privateIsDesktop}get isMobile(){return!this.privateIsDesktop}constructor(){Object.defineProperty(this,"privateIsDesktop",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"handleResize",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.privateIsDesktop=window.matchMedia("(min-width: 900px)").matches;const e=.01*window.innerHeight;document.documentElement.style.setProperty("--vh",`${e}px`)}}),this.handleResize(),(0,r.Gn)(this),Xt(window).on("resize",this.handleResize)}}Wt([r.sH],Vt.prototype,"privateIsDesktop",void 0),Wt([r.XI],Vt.prototype,"handleResize",void 0);class qt{constructor(e=7500,t=18e5){Object.defineProperty(this,"initialDelay",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"maxDelay",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"current",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.current=Math.max(e,1)}get(){const e=this.current+(0,o.random)(5e3,2e4);return this.current=Math.min(2*this.current,this.maxDelay),e}reset(){this.current=this.initialDelay}}var Zt=s(8307),zt=s(4692),Kt=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let Jt=class{get hasData(){return null!=this.firstLoadedAt}constructor(e){Object.defineProperty(this,"socketWorker",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"waitingVerification",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"firstLoadedAt",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"retryDelay",{enumerable:!0,configurable:!0,writable:!0,value:new qt}),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"xhr",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"loadMore",{enumerable:!0,configurable:!0,writable:!0,value:()=>{null==this.xhr&&(window.clearTimeout(this.timeout),this.xhr=zt.ajax({dataType:"json",url:(0,g.w)("notifications.index",{unread:1})}),this.xhr.always(()=>{this.xhr=null}).done(e=>(0,r.h5)(()=>{this.waitingVerification=!1,this.loadBundle(e),this.retryDelay.reset()})).fail(e=>(0,r.h5)(()=>{Dt(e)?this.waitingVerification=!0:401!==e.status&&this.delayedRetryInitialLoadMore()})))}}),(0,r.lB)(this.socketWorker,"connectionStatus",e=>{"connected"===e.newValue&&this.loadMore()},!0),zt.subscribe("user-verification:success.notifications-worker",()=>{this.loadMore()}),(0,r.Gn)(this)}handleDispatchAction(e){if(!(e instanceof T))return;const t=e.message;if("delete"===t.event){const e=new Date(t.data.timestamp);null!=this.firstLoadedAt&&e>this.firstLoadedAt&&(0,k.JD)(Zt.zv.fromJson(t))}else if((e=>"new"===e.event)(t))(0,k.JD)(new Zt.kx(t.data));else if((e=>"read"===e.event)(t)){const e=new Date(t.data.timestamp);null!=this.firstLoadedAt&&e>this.firstLoadedAt&&(0,k.JD)(Zt.an.fromJson(t))}}delayedRetryInitialLoadMore(){this.timeout=window.setTimeout(this.loadMore,this.retryDelay.get())}loadBundle(e){(0,k.JD)(new Zt.yz(e,{isWidget:!0})),null==this.firstLoadedAt&&(this.firstLoadedAt=new Date(e.timestamp))}};Kt([r.sH],Jt.prototype,"waitingVerification",void 0),Kt([r.sH],Jt.prototype,"firstLoadedAt",void 0),Kt([r.EW],Jt.prototype,"hasData",null),Kt([r.XI],Jt.prototype,"loadBundle",null),Jt=Kt([k.D6],Jt);const Yt=Jt;class Qt{constructor(e){Object.defineProperty(this,"message",{enumerable:!0,configurable:!0,writable:!0,value:e})}}class es{constructor(e){Object.defineProperty(this,"connected",{enumerable:!0,configurable:!0,writable:!0,value:e})}}var ts=s(4692),ss=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let rs=class{get isConnected(){return"connected"===this.connectionStatus}constructor(){Object.defineProperty(this,"connectionStatus",{enumerable:!0,configurable:!0,writable:!0,value:"disconnected"}),Object.defineProperty(this,"hasConnectedOnce",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"userId",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"active",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"endpoint",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"retryDelay",{enumerable:!0,configurable:!0,writable:!0,value:new qt}),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"ws",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"xhr",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"handleNewEvent",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=this.parseMessageEvent(e);null!=t&&("connection.ready"===t.event?this.connected():"logout"===t.event?(this.destroy(),jr.userLoginObserver.logout()):(e=>"verified"===e.event)(t)?ts.publish("user-verification:success"):(0,k.JD)(new T(t)))}}),Object.defineProperty(this,"reconnectWebSocket",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.connectionStatus="disconnected",this.active&&(this.timeout.connectWebSocket=window.setTimeout((0,r.XI)(()=>{this.ws=null,this.connectWebSocket()}),this.retryDelay.get()))}}),Object.defineProperty(this,"startWebSocket",{enumerable:!0,configurable:!0,writable:!0,value:()=>{if(null!=this.endpoint)return this.connectWebSocket();null==this.xhr&&(window.clearTimeout(this.timeout.startWebSocket),this.xhr=ts.get((0,g.w)("notifications.endpoint")),this.xhr.always(()=>{this.xhr=null}).done(e=>{this.retryDelay.reset(),this.endpoint=e.url,this.connectWebSocket()}).fail(e=>{401!==e.status?this.timeout.startWebSocket=window.setTimeout(this.startWebSocket,this.retryDelay.get()):this.destroy()}))}}),(0,r.Gn)(this),(0,r.mJ)(()=>this.isConnected,e=>(0,k.JD)(new es(e)),{fireImmediately:!0})}boot(){this.active=null!=this.userId,this.active&&this.startWebSocket()}handleDispatchAction(e){var t,s;(null===(t=this.ws)||void 0===t?void 0:t.readyState)===WebSocket.OPEN&&e instanceof Qt&&(null===(s=this.ws)||void 0===s||s.send(JSON.stringify(e.message)))}setUserId(e){e!==this.userId&&(this.active&&this.destroy(),this.userId=e,this.boot())}connected(){this.retryDelay.reset(),this.connectionStatus="connected",this.hasConnectedOnce=!0}connectWebSocket(){if(!this.active||null==this.endpoint||null!=this.ws)return;this.connectionStatus="connecting",window.clearTimeout(this.timeout.connectWebSocket);const e=document.querySelector("meta[name=csrf-token]");if(null==e)return;const t=e.getAttribute("content");this.ws=new WebSocket(`${this.endpoint}?csrf=${t}`),this.ws.addEventListener("close",this.reconnectWebSocket),this.ws.addEventListener("message",this.handleNewEvent)}destroy(){var e;this.connectionStatus="disconnecting",this.userId=null,this.active=!1,null===(e=this.xhr)||void 0===e||e.abort(),(0,o.forEach)(this.timeout,e=>window.clearTimeout(e)),null!=this.ws&&(this.ws.close(),this.ws=null),this.connectionStatus="disconnected"}parseMessageEvent(e){try{const s=JSON.parse(e.data);if("object"==typeof(t=s)&&null!=t&&"event"in t)return s;console.error("message missing event type.")}catch(s){console.error("Failed parsing data:",e.data)}var t}};ss([r.sH],rs.prototype,"connectionStatus",void 0),ss([r.sH],rs.prototype,"hasConnectedOnce",void 0),ss([r.sH],rs.prototype,"active",void 0),ss([r.EW],rs.prototype,"isConnected",null),ss([r.XI],rs.prototype,"connected",null),ss([r.XI],rs.prototype,"connectWebSocket",null),ss([r.XI],rs.prototype,"destroy",null),ss([r.XI],rs.prototype,"reconnectWebSocket",void 0),rs=ss([k.D6],rs);const as=rs;var is=s(4692),ns=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let os=class{constructor(e){Object.defineProperty(this,"beatmapsetStore",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"recommendedDifficulties",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"resultSets",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"xhr",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),(0,r.Gn)(this)}cancel(){this.xhr&&this.xhr.abort()}get(e,t=0){if(t<0)throw Error("from must be > 0");const s=e.toKeyString(),a=this.getOrCreate(s);return t>0&&t(null!=s&&(0,r.h5)(()=>{0===t&&a.reset(),this.updateBeatmapsetStore(s),a.append(s),this.recommendedDifficulties.set(e.mode,s.recommended_difficulty)}),a))}getResultSet(e){const t=e.toKeyString();return this.getOrCreate(t)}handleDispatchAction(e){e instanceof kt&&this.clear()}initialize(e,t){this.updateBeatmapsetStore(t);const s=e.toKeyString(),r=this.getOrCreate(s);null==r.fetchedAt&&(r.append(t),this.recommendedDifficulties.set(e.mode,t.recommended_difficulty))}clear(){this.resultSets.clear(),this.recommendedDifficulties.clear()}fetch(e,t){this.cancel();const s=e.queryParams,r=e.toKeyString(),a=this.getOrCreate(r).cursorString;if(t>0)if(null!=a)s.cursor_string=a;else if(null===a)return Promise.resolve(null);const i=(0,g.w)("beatmapsets.search");return this.xhr=is.ajax(i,{data:s,dataType:"json",method:"get"}),this.xhr}getOrCreate(e){let t=this.resultSets.get(e);return null==t&&(t=new n,this.resultSets.set(e,t)),t}updateBeatmapsetStore(e){for(const t of e.beatmapsets)this.beatmapsetStore.update(t)}};ns([r.sH],os.prototype,"recommendedDifficulties",void 0),ns([r.sH],os.prototype,"resultSets",void 0),ns([r.XI],os.prototype,"get",null),ns([r.XI],os.prototype,"initialize",null),ns([r.XI],os.prototype,"clear",null),os=ns([k.D6],os);const ls=os;class cs{constructor(e){Object.defineProperty(this,"channelId",{enumerable:!0,configurable:!0,writable:!0,value:e})}}var us=s(2097),ds=s(6595),ps=s(3437),ms=s(6588),hs=s(723),bs=s(903);class fs{constructor(e){Object.defineProperty(this,"json",{enumerable:!0,configurable:!0,writable:!0,value:e})}}class vs{constructor(e){Object.defineProperty(this,"channelStore",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"lastHistoryId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"retryDelay",{enumerable:!0,configurable:!0,writable:!0,value:new qt(0,45e3)}),Object.defineProperty(this,"timerId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"xhr",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ping",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.xhr=(0,bs.I_)(this.channelStore.lastReceivedMessageId,this.lastHistoryId).done(e=>{var t;const s=null===(t=(0,o.maxBy)(e.silences,"id"))||void 0===t?void 0:t.id;null!=s&&(this.lastHistoryId=s),(0,k.JD)(new fs(e.silences)),this.retryDelay.reset(),this.scheduleNextPing()}).fail(e=>{401!==e.status&&this.scheduleNextPing()})}})}start(){null==this.timerId&&this.scheduleNextPing()}stop(){var e;null===(e=this.xhr)||void 0===e||e.abort(),this.retryDelay.reset(),null!=this.timerId&&(window.clearTimeout(this.timerId),this.timerId=void 0)}scheduleNextPing(){this.timerId=window.setTimeout(this.ping,this.retryDelay.get())}}var gs=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};class ys{constructor(){Object.defineProperty(this,"channels",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"error",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"xhr",{enumerable:!0,configurable:!0,writable:!0,value:null}),(0,r.Gn)(this)}load(){null==this.xhr&&(this.xhr=(0,bs.Wr)().done(e=>(0,r.h5)(()=>{this.channels=e})).fail((0,r.XI)(()=>{this.error=!0})).always((0,r.XI)(()=>{this.xhr=null})))}}gs([r.sH],ys.prototype,"channels",void 0),gs([r.sH],ys.prototype,"error",void 0),gs([r.sH],ys.prototype,"xhr",void 0),gs([r.XI],ys.prototype,"load",null);var ws=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n},_s=function(e,t,s,r){return new(s||(s=Promise))(function(a,i){function n(e){try{l(r.next(e))}catch(t){i(t)}}function o(e){try{l(r.throw(e))}catch(t){i(t)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof s?t:new s(function(e){e(t)})).then(n,o)}l((r=r.apply(e,t||[])).next())})};let Es=class{get isChatMounted(){return this.viewsMounted.size>0}get isAddingChannel(){return null!=this.waitAddChannelId}get joiningChannelId(){return"number"==typeof this.waitAddChannelId?this.waitAddChannelId:null}get joinedPublicChannelIds(){return new Set(this.channelStore.groupedChannels.PUBLIC.map(e=>e.channelId))}get selectedChannel(){return"number"==typeof this.selected?this.channelStore.get(this.selected):void 0}get selectedChannelOrType(){return"number"==typeof this.selected?this.channelStore.get(this.selected):this.selected}get channelList(){return ds.XB.flatMap(e=>this.channelStore.groupedChannels[e])}constructor(e){Object.defineProperty(this,"channelStore",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"canChatAnnounce",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"createAnnouncement",{enumerable:!0,configurable:!0,writable:!0,value:new ps.Ay}),Object.defineProperty(this,"isReady",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"offerJoinChannel",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"publicChannels",{enumerable:!0,configurable:!0,writable:!0,value:new ys}),Object.defineProperty(this,"skipRefresh",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"viewsMounted",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"isConnected",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"lastHistoryId",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"pingService",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"refocusToIndex",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"selected",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"waitAddChannelId",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"handleBeforeCache",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.waitAddChannelId=null}}),this.pingService=new vs(e),(0,r.Gn)(this),document.addEventListener("turbo:before-cache",this.handleBeforeCache),(0,r.lB)(e.channels,e=>{"delete"===e.type&&this.refocusSelectedChannel()}),(0,r.fm)(()=>{this.isReady&&this.isChatMounted?(this.pingService.start(),(0,k.JD)(new Qt({event:"chat.start"}))):(this.pingService.stop(),(0,k.JD)(new Qt({event:"chat.end"})),this.channelStore.channels.forEach(e=>e.needsRefresh=!0))}),(0,r.fm)(()=>_s(this,void 0,void 0,function*(){this.isConnected&&this.isChatMounted&&(this.skipRefresh?this.skipRefresh=!1:yield this.updateChannelList(),(0,r.h5)(()=>{this.isReady=!0}))})),(0,r.fm)(()=>{"join"!==this.selected||null!=this.publicChannels.channels||this.publicChannels.error||this.publicChannels.load()})}addChannel(e){return _s(this,void 0,void 0,function*(){if(!this.isAddingChannel)try{if(null!=e){if(this.channelStore.channels.has(e))return void this.selectChannel(e);this.waitAddChannelId=e,yield(0,bs.Cg)(e,jr.currentUserOrFail.id)}else{if(!this.createAnnouncement.isValid)return;const e=this.createAnnouncement.toJson();this.waitAddChannelId=e.uuid,yield(0,bs.EC)(e)}}catch(t){if((0,r.h5)(()=>{this.waitAddChannelId=null}),!(0,H.OL)(t))throw t;(0,H.S5)(t)}})}getOfferJoinChannel(){const e=(0,hs.y)((0,_.bN)().get("channel_id"));return null==e?void 0:this.offerJoinChannel.get(e)}handleDispatchAction(e){e instanceof x?this.handleChatChannelJoinEvent(e):e instanceof A?this.handleChatChannelPartEvent(e):e instanceof cs?this.handleChatNewConversationAdded(e):e instanceof us.A?this.handleFriendUpdated(e):e instanceof es&&this.handleSocketStateChanged(e)}selectChannel(e,t="push"){var s;if(this.waitAddChannelId=null,null===(s=this.selectedChannel)||void 0===s||s.throttledSendMarkAsRead(),this.selected=e,"string"==typeof e)return void this.updateUrl(e,t);if(null==e)return;const r=this.channelStore.get(e);null!=r&&(this.refocusToIndex=this.channelList.indexOf(r),r.load(),this.updateUrl(r,t))}selectFirst(){0!==this.channelList.length&&(this.selectChannel(this.channelList[0].channelId,null),(0,_.Al)((0,c.Ze)(null,{channel_id:null,sendto:null}),"replace"))}setOfferJoinChannel(e){this.offerJoinChannel.set(e.channel_id,e)}focusChannelAtIndex(e){if(0===this.channelList.length)return;const t=(0,o.clamp)(e,0,this.channelList.length-1),s=this.channelList[t];this.selectChannel(s.channelId)}handleChatChannelJoinEvent(e){const t=e.json;if(this.channelStore.update(t),"string"==typeof this.waitAddChannelId&&this.waitAddChannelId===t.uuid||"number"==typeof this.waitAddChannelId&&this.waitAddChannelId===t.channel_id)(0,ms.vV)(),this.selectChannel(t.channel_id),this.offerJoinChannel.delete(t.channel_id),this.waitAddChannelId=null,"ANNOUNCE"===t.type&&this.createAnnouncement.clear();else{const e=this.getOfferJoinChannel();(null==e?void 0:e.channel_id)===t.channel_id&&(this.selectChannel(t.channel_id),this.offerJoinChannel.delete(t.channel_id))}}handleChatChannelPartEvent(e){this.channelStore.partChannel(e.channelId,!1)}handleChatNewConversationAdded(e){this.selectChannel(e.channelId)}handleFriendUpdated(e){if(!this.isChatMounted)return;const t=this.channelStore.groupedChannels.PM.find(t=>t.pmTarget===e.userId);null==t||t.loadMetadata()}handleSocketStateChanged(e){this.isConnected=e.connected,e.connected||(this.isReady=!1)}refocusSelectedChannel(){"string"!=typeof this.selectedChannelOrType&&(null!=this.selectedChannelOrType?this.selectChannel(this.selectedChannelOrType.channelId):this.focusChannelAtIndex(this.refocusToIndex))}updateChannelList(){return _s(this,void 0,void 0,function*(){const e=yield(0,bs.t3)(this.channelStore.lastReceivedMessageId,this.lastHistoryId);(0,r.h5)(()=>{var t;const s=null===(t=(0,o.maxBy)(e.silences,"id"))||void 0===t?void 0:t.id;null!=s&&(this.lastHistoryId=s),this.channelStore.updateWithChatUpdates(e)})})}updateUrl(e,t){var s;if(null==t)return;let r="";const a={channel_id:null,sendto:null};"string"==typeof e?r=e:e.newPmChannel?a.sendto=null===(s=e.pmTarget)||void 0===s?void 0:s.toString():a.channel_id=e.channelId.toString(),(0,_.Al)((0,c.Ze)(null,a,r),t)}};ws([r.sH],Es.prototype,"canChatAnnounce",void 0),ws([r.sH],Es.prototype,"createAnnouncement",void 0),ws([r.sH],Es.prototype,"isReady",void 0),ws([r.sH],Es.prototype,"offerJoinChannel",void 0),ws([r.sH],Es.prototype,"viewsMounted",void 0),ws([r.sH],Es.prototype,"isConnected",void 0),ws([r.sH],Es.prototype,"selected",void 0),ws([r.sH],Es.prototype,"waitAddChannelId",void 0),ws([r.EW],Es.prototype,"joinedPublicChannelIds",null),ws([r.EW],Es.prototype,"selectedChannel",null),ws([r.EW],Es.prototype,"channelList",null),ws([r.XI],Es.prototype,"addChannel",null),ws([r.XI],Es.prototype,"selectChannel",null),ws([r.XI],Es.prototype,"selectFirst",null),ws([r.XI],Es.prototype,"setOfferJoinChannel",null),ws([r.XI],Es.prototype,"focusChannelAtIndex",null),ws([r.XI],Es.prototype,"handleBeforeCache",void 0),ws([r.XI],Es.prototype,"handleChatChannelJoinEvent",null),ws([r.XI],Es.prototype,"handleChatChannelPartEvent",null),ws([r.XI],Es.prototype,"handleChatNewConversationAdded",null),ws([r.XI],Es.prototype,"handleFriendUpdated",null),ws([r.XI],Es.prototype,"handleSocketStateChanged",null),ws([r.XI],Es.prototype,"refocusSelectedChannel",null),ws([r.XI],Es.prototype,"updateChannelList",null),Es=ws([k.D6],Es);const Ps=Es;var Os=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};class js{constructor(){Object.defineProperty(this,"beatmapsets",{enumerable:!0,configurable:!0,writable:!0,value:r.sH.map()}),(0,r.Gn)(this)}get(e){return this.beatmapsets.get(e)}handleDispatchAction(e){e instanceof kt&&this.flushStore()}update(e){this.beatmapsets.set(e.id,e)}flushStore(){this.beatmapsets.clear()}}Os([r.sH],js.prototype,"beatmapsets",void 0),Os([r.XI],js.prototype,"update",null),Os([r.XI],js.prototype,"flushStore",null);var ks=s(9833),Ss=s(7542),Ns=s(1250),Ts=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n},xs=function(e,t,s,r){return new(s||(s=Promise))(function(a,i){function n(e){try{l(r.next(e))}catch(t){i(t)}}function o(e){try{l(r.throw(e))}catch(t){i(t)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof s?t:new s(function(e){e(t)})).then(n,o)}l((r=r.apply(e,t||[])).next())})};function As(e,t){return e.name.localeCompare(t.name)}const Cs={ANNOUNCE:As,GROUP:As,PM:(e,t)=>e.newPmChannel?-1:t.newPmChannel?1:e.lastMessageId===t.lastMessageId?0:e.lastMessageId>t.lastMessageId?-1:1,PUBLIC:As,TEAM:As};let Is=class{get groupedChannels(){const e=function(){const e={};for(const t of ds.XB)e[t]=[];return e}();for(const t of this.channels.values())null!=t.supportedType&&e[t.supportedType].push(t);for(const t of ds.XB)e[t]=e[t].sort(Cs[t]);return e}constructor(){Object.defineProperty(this,"channels",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"lastReceivedMessageId",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"ignoredChannels",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),(0,r.Gn)(this)}addNewConversation(e,t){const s=this.update(e);return s.addMessages([Ns.A.fromJson(t)]),s}findPM(e){var t;if(e===(null===(t=jr.currentUser)||void 0===t?void 0:t.id))return null;for(const[,s]of this.channels)if("PM"===s.type&&s.userIds.includes(e))return s;return null}flushStore(){this.channels.clear()}get(e){return this.channels.get(e)}handleDispatchAction(e){e instanceof C?this.handleChatMessageNewEvent(e):e instanceof ks.u?this.handleChatMessageSendAction(e):e instanceof fs&&this.handleChatUpdateSilences(e)}loadChannelEarlierMessages(e){var t;null===(t=this.get(e))||void 0===t||t.loadEarlierMessages()}partChannel(e,t=!0){const s=this.get(e);null!=s&&(e>0&&t&&(s.isHideable||this.ignoredChannels.add(e),(0,bs.R$)(e,jr.currentUserOrFail.id).always(()=>this.ignoredChannels.delete(e))),"PUBLIC"===s.type&&jr.dataStore.chatState.setOfferJoinChannel({channel_id:s.channelId,description:s.description,message_length_limit:s.messageLengthLimit,name:s.name,type:s.type}),this.channels.delete(e))}update(e){const t=e.channel_id;let s=this.channels.get(t);return s||(s=new Ss.A(t),this.channels.set(t,s)),s.updateWithJson(e),this.ignoredChannels.delete(t),s}updateMany(e){this.ignoredChannels.clear(),(0,ds.$6)(e).forEach(e=>{this.update(e)}),this.channels.forEach(t=>{t.newPmChannel||e.find(e=>e.channel_id===t.channelId)||this.channels.delete(t.channelId)})}updateWithChatUpdates(e){var t;if(null!=e.presence&&this.updateMany(e.presence),null!=e.messages){this.updateLastReceivedMessageId(e.messages);const s=(0,o.groupBy)(e.messages,"channel_id");for(const e of Object.keys(s)){const r=parseInt(e,10),a=s[r].map(Ns.A.fromJson);null===(t=this.channels.get(r))||void 0===t||t.addMessages(a)}}null!=e.silences&&(0,k.JD)(new fs(e.silences))}handleChatMessageNewEvent(e){return xs(this,void 0,void 0,function*(){for(const s of e.json.messages){const e=this.channels.get(s.channel_id);if(null!=e)e.addMessage(s);else if(!this.ignoredChannels.has(s.channel_id))try{const e=yield(0,bs.c)(s.channel_id);this.update(e)}catch(t){if(!(0,H.OL)(t))throw t;404!==t.status&&(0,H.S5)(t)}}this.updateLastReceivedMessageId(e.json.messages)})}handleChatMessageSendAction(e){return xs(this,void 0,void 0,function*(){const t=e.message,s=this.get(t.channelId);if(null!=s){s.addSendingMessage(t);try{if(s.newPmChannel){const e=s.pmTarget;if(null==e)return void console.error("sendMessage:: userId not found?? this shouldn't happen");const a=yield(0,bs.Cd)(e,t);(0,r.h5)(()=>{this.channels.delete(t.channelId);const e=this.addNewConversation(a.channel,a.message);(0,k.JD)(new cs(e.channelId))})}else{const e=yield(0,bs._z)(t);s.afterSendMesssage(t,e)}}catch(a){if(s.afterSendMesssage(t,null),!(0,H.OL)(a))throw a;(0,H.S5)(a)}}else console.error("channel missing")})}handleChatUpdateSilences(e){const t=new Set(e.json.map(e=>e.user_id));this.removePublicMessagesFromUserIds(t)}removePublicMessagesFromUserIds(e){this.groupedChannels.PUBLIC.forEach(t=>{t.removeMessagesFromUserIds(e)})}updateLastReceivedMessageId(e){var t,s;null!=e&&(this.lastReceivedMessageId=null!==(s=null===(t=(0,o.maxBy)(e,"message_id"))||void 0===t?void 0:t.message_id)&&void 0!==s?s:this.lastReceivedMessageId)}};Ts([r.sH],Is.prototype,"channels",void 0),Ts([r.EW],Is.prototype,"groupedChannels",null),Ts([r.XI],Is.prototype,"addNewConversation",null),Ts([r.XI],Is.prototype,"flushStore",null),Ts([r.XI],Is.prototype,"loadChannelEarlierMessages",null),Ts([r.XI],Is.prototype,"partChannel",null),Ts([r.XI],Is.prototype,"update",null),Ts([r.XI],Is.prototype,"updateMany",null),Ts([r.XI],Is.prototype,"updateWithChatUpdates",null),Ts([r.XI],Is.prototype,"handleChatMessageNewEvent",null),Ts([r.XI],Is.prototype,"handleChatMessageSendAction",null),Ts([r.XI],Is.prototype,"handleChatUpdateSilences",null),Ts([r.XI],Is.prototype,"removePublicMessagesFromUserIds",null),Ts([r.XI],Is.prototype,"updateLastReceivedMessageId",null),Is=Ts([k.D6],Is);const Rs=Is;var Ms=s(4692),Ds=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};class Hs{constructor(e){Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isRevoking",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"revoked",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"scopes",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"user",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"userId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.id=e.id,this.name=e.name,this.scopes=new Set(e.scopes),this.userId=e.user_id,this.user=e.user,(0,r.Gn)(this)}revoke(){this.isRevoking=!0;const e=Ms.ajax({method:"DELETE",url:(0,g.w)("oauth.authorized-clients.destroy",{authorized_client:this.id})});return e.done((0,r.XI)(()=>{this.revoked=!0})).always((0,r.XI)(()=>{this.isRevoking=!1})),e}}Ds([r.sH],Hs.prototype,"isRevoking",void 0),Ds([r.sH],Hs.prototype,"revoked",void 0),Ds([r.sH],Hs.prototype,"scopes",void 0),Ds([r.XI],Hs.prototype,"revoke",null);var Ls=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};class $s{constructor(){Object.defineProperty(this,"clients",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),(0,r.Gn)(this)}handleDispatchAction(e){e instanceof kt&&this.flushStore()}initialize(e){for(const t of e){const e=new Hs(t);this.clients.set(e.id,e)}}flushStore(){this.clients.clear()}}Ls([r.sH],$s.prototype,"clients",void 0),Ls([r.XI],$s.prototype,"flushStore",null);var Us=s(7448),Bs=s(4179),Fs=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};class Gs{get canMarkAsRead(){for(const[,e]of this.notifications)if(e.canMarkRead)return!0;return!1}get first(){var e;return null!==(e=this.orderedNotifications[0])&&void 0!==e?e:this.lastNotification}get hasMore(){return!(this.notifications.size>=this.total||null==this.cursor)}get hasVisibleNotifications(){return this.notifications.size>0}get id(){return`${this.objectType}-${this.objectId}-${this.category}`}get identity(){return{category:this.category,objectId:this.objectId,objectType:this.objectType}}get isSingle(){return 1===this.total}get orderedNotifications(){return[...this.notifications.values()].sort((e,t)=>t.id-e.id)}get type(){return this.objectType}constructor(e,t,s,a){Object.defineProperty(this,"objectId",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"objectType",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"category",{enumerable:!0,configurable:!0,writable:!0,value:s}),Object.defineProperty(this,"resolver",{enumerable:!0,configurable:!0,writable:!0,value:a}),Object.defineProperty(this,"cursor",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"displayOrder",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"isDeleting",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"isLoading",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"isMarkingAsRead",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"notifications",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"total",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"lastNotification",{enumerable:!0,configurable:!0,writable:!0,value:null}),(0,r.Gn)(this)}static fromJson(e,t){const s=new Gs(e.object_id,e.object_type,e.category,t);return s.updateWithJson(e),s}add(e){this.notifications.set(e.id,e),this.displayOrder=Math.max(e.id,this.displayOrder)}delete(){this.resolver.delete(this)}deleteItem(e){null!=e&&this.notifications.has(e.id)&&this.resolver.delete(e)}loadMore(e){null!=this.cursor&&(this.isLoading=!0,this.resolver.loadMore(this.identity,e,this.cursor).always((0,r.XI)(()=>{this.isLoading=!1})))}markAsRead(e){null!=e&&this.notifications.has(e.id)&&this.resolver.queueMarkAsRead(e)}markStackAsRead(){this.resolver.queueMarkAsRead(this)}remove(e){1===this.notifications.size&&(this.lastNotification=this.notifications.values().next().value);const t=this.notifications.delete(e.id);return t&&this.total--,t}updateWithJson(e){this.cursor=e.cursor,this.total=e.total}}Fs([r.sH],Gs.prototype,"cursor",void 0),Fs([r.sH],Gs.prototype,"displayOrder",void 0),Fs([r.sH],Gs.prototype,"isDeleting",void 0),Fs([r.sH],Gs.prototype,"isLoading",void 0),Fs([r.sH],Gs.prototype,"isMarkingAsRead",void 0),Fs([r.sH],Gs.prototype,"notifications",void 0),Fs([r.sH],Gs.prototype,"total",void 0),Fs([r.sH],Gs.prototype,"lastNotification",void 0),Fs([r.EW],Gs.prototype,"canMarkAsRead",null),Fs([r.EW],Gs.prototype,"first",null),Fs([r.EW],Gs.prototype,"hasMore",null),Fs([r.EW],Gs.prototype,"hasVisibleNotifications",null),Fs([r.EW],Gs.prototype,"id",null),Fs([r.EW],Gs.prototype,"isSingle",null),Fs([r.EW],Gs.prototype,"orderedNotifications",null),Fs([r.XI],Gs.prototype,"add",null),Fs([r.XI],Gs.prototype,"delete",null),Fs([r.XI],Gs.prototype,"deleteItem",null),Fs([r.XI],Gs.prototype,"loadMore",null),Fs([r.XI],Gs.prototype,"markAsRead",null),Fs([r.XI],Gs.prototype,"markStackAsRead",null),Fs([r.XI],Gs.prototype,"remove",null),Fs([r.XI],Gs.prototype,"updateWithJson",null);var Xs=s(9328),Ws=s(6913),Vs=s(4692),qs=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};class Zs{constructor(){Object.defineProperty(this,"debouncedDeleteByIds",{enumerable:!0,configurable:!0,writable:!0,value:(0,o.debounce)(()=>this.deleteByIds(),500)}),Object.defineProperty(this,"debouncedSendQueuedMarkedAsRead",{enumerable:!0,configurable:!0,writable:!0,value:(0,o.debounce)(()=>this.sendQueuedMarkedAsRead(),500)}),Object.defineProperty(this,"deleteByIdsQueue",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"queuedMarkedAsRead",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"queuedMarkedAsReadIdentities",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),(0,r.Gn)(this)}delete(e){if(e.isDeleting=!0,e instanceof Bs.A)return this.deleteByIdsQueue.set(e.id,e),void this.debouncedDeleteByIds();Vs.ajax({data:{identities:[(0,Us.aB)(e.identity)]},dataType:"json",method:"DELETE",url:(0,g.w)("notifications.index")}).done((0,r.XI)(()=>{(0,k.JD)(new Zt.zv([e.identity],0))})).fail(H.S5).always((0,r.XI)(()=>e.isDeleting=!1))}loadMore(e,t,s){const r=(0,Us.aB)(e);delete r.id;const a=(0,g.w)("notifications.index",r),i={data:{cursor:s,unread:t.isWidget},dataType:"json",url:a};return Vs.ajax(i).then(e=>{(0,k.JD)(new Zt.yz(e,t))})}queueMarkAsRead(e){e.isMarkingAsRead=!0;const t=e.identity;"stack"!==(0,Us.bv)(t)?(e instanceof Bs.A&&e.canMarkRead?this.queuedMarkedAsRead.set(e.id,e):this.queuedMarkedAsReadIdentities.set((0,Us.dI)(t),e),this.debouncedSendQueuedMarkedAsRead()):this.sendMarkAsReadRequest({identities:[(0,Us.aB)(e.identity)]}).then((0,r.XI)(()=>{(0,k.JD)(new Zt.an([t],0))})).always((0,r.XI)(()=>e.isMarkingAsRead=!1))}deleteByIds(){if(0===this.deleteByIdsQueue.size)return;const e=[...this.deleteByIdsQueue.values()],t=e.map(e=>e.identity);this.deleteByIdsQueue.clear(),Vs.ajax({data:{notifications:t.map(Us.aB)},dataType:"json",method:"DELETE",url:(0,g.w)("notifications.index")}).then((0,r.XI)(()=>{(0,k.JD)(new Zt.zv(t,0))})).always((0,r.XI)(()=>e.forEach(e=>e.isDeleting=!1)))}sendMarkAsReadRequest(e){const t=Vs.ajax({data:e,dataType:"json",method:"POST",url:(0,g.w)("notifications.mark-read")});return t.fail(H.S5),t}sendQueuedMarkedAsRead(){if(this.queuedMarkedAsRead.size>0){const e=[...this.queuedMarkedAsRead.values()],t=e.map(e=>e.identity);this.queuedMarkedAsRead.clear(),this.sendMarkAsReadRequest({notifications:t.map(Us.aB)}).then((0,r.XI)(()=>{(0,k.JD)(new Zt.an(t,0))})).always((0,r.XI)(()=>e.forEach(e=>e.isMarkingAsRead=!1)))}if(this.queuedMarkedAsReadIdentities.size>0){const e=[...this.queuedMarkedAsReadIdentities.values()],t=e.map(e=>e.identity);this.queuedMarkedAsReadIdentities.clear(),this.sendMarkAsReadRequest({identities:t.map(Us.aB)}).then((0,r.XI)(()=>{(0,k.JD)(new Zt.an(t,0))})).always((0,r.XI)(()=>e.forEach(e=>e.isMarkingAsRead=!1)))}}}qs([r.XI],Zs.prototype,"delete",null),qs([r.XI],Zs.prototype,"loadMore",null),qs([r.XI],Zs.prototype,"queueMarkAsRead",null);var zs=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let Ks=class{get allStacks(){return this.allType.stacks}get allType(){return this.getOrCreateType({objectType:null})}get isEmpty(){return 1===this.types.size&&0===this.allStacks.size}get total(){return this.allType.total}set total(e){this.allType.total=e}constructor(e){Object.defineProperty(this,"notificationStore",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"types",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"deletedStacks",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"resolver",{enumerable:!0,configurable:!0,writable:!0,value:new Zs}),Object.defineProperty(this,"removeByNotification",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t,s;if(null==e.id)return;const r=this.getStack(e),a=this.getOrCreateType(e),i=null==r?void 0:r.notifications.get(e.id);null==i?null!=r&&e.id<(null!==(s=null===(t=r.cursor)||void 0===t?void 0:t.id)&&void 0!==s?s:0)&&(this.total--,r.total--,a.total--):(null==r||r.remove(i),a.total--,this.total--)}}),this.getOrCreateType({objectType:null}),(0,r.Gn)(this)}flushStore(){this.types.clear()}getOrCreateType(e){let t=this.types.get(e.objectType);return null==t&&(t=new Xs.Ay(e.objectType,this.resolver),this.types.set(t.name,t)),t}getStack(e){var t;return null===(t=this.types.get(e.objectType))||void 0===t?void 0:t.stacks.get((0,Us.UR)(e))}handleDispatchAction(e){e instanceof Zt.zv?this.handleNotificationEventDelete(e):e instanceof Zt.kx?this.handleNotificationEventNew(e):e instanceof Zt.yz?this.handleNotificationEventMoreLoaded(e):e instanceof Zt.an?this.handleNotificationEventRead(e):e instanceof kt&&this.flushStore()}handleNotificationEventDelete(e){this.removeByEvent(e)}handleNotificationEventMoreLoaded(e){e.context.isWidget||this.updateWithBundle(e.data)}handleNotificationEventNew(e){const t=e.data;let s=this.notificationStore.get(t.id);null==s?(s=Bs.A.fromJson(t),this.notificationStore.add(s)):s.updateFromJson(t);const r=s.identity,a=this.getOrCreateType(r);let i=this.getStack(r);null==i&&(i=new Gs(t.object_id,t.object_type,(0,Ws.cE)(t.name),this.resolver)),i.notifications.has(s.id)||(i.total++,a.total++,this.total++),i.add(s),a.stacks.set(i.id,i),this.allStacks.set(i.id,i)}handleNotificationEventRead(e){}orderedStacksOfType(e){return this.stacksOfType(e).sort((e,t)=>t.displayOrder-e.displayOrder)}removeByEvent(e){for(const t of e.data){switch((0,Us.bv)(t)){case"type":this.removeByType(t);break;case"stack":this.removeByStack(t,e.readCount);break;case"notification":this.removeByNotification(t)}}}stacksOfType(e){var t,s;const r=this.types.get(e),a=[];if(null==r)return a;const i=null!==(s=null===(t=r.cursor)||void 0===t?void 0:t.id)&&void 0!==s?s:0;for(const[,n]of r.stacks)void 0!==(null==r?void 0:r.cursor)&&n.displayOrder>=i&&a.push(n);return a}updateWithBundle(e){var t,s,r;null===(t=e.types)||void 0===t||t.forEach(e=>this.updateWithTypeJson(e)),null===(s=e.stacks)||void 0===s||s.forEach(e=>this.updateWithStackJson(e)),null===(r=e.notifications)||void 0===r||r.forEach(e=>this.updateWithNotificationJson(e))}removeByStack(e,t){const s=this.getStack(e),r=(0,Us.UR)(e);if(null==s)return void(this.deletedStacks.has(r)||(this.deletedStacks.add(r),this.total-=t));this.deletedStacks.add(r),this.allStacks.delete(r),this.total-=s.total;this.getOrCreateType(e).removeStack(s)}removeByType(e){const t=this.getOrCreateType(e);if(null===t.name){for(const[e,t]of this.types)null!==e&&this.removeType(t);t.total=0}else this.removeType(t)}removeType(e){e.stacks.forEach(e=>{this.allType.removeStack(e)}),e.total=0,this.types.delete(e.name)}updateWithNotificationJson(e){var t;let s=this.notificationStore.get(e.id);null==s?(s=Bs.A.fromJson(e),this.notificationStore.add(s)):s.updateFromJson(e);null===(t=this.getOrCreateType(s.identity).stacks.get(s.stackId))||void 0===t||t.add(s)}updateWithStackJson(e){const t=this.getOrCreateType((0,Us.Rf)(e));let s=t.stacks.get(function(e){return`${e.object_type}-${e.object_id}-${e.category}`}(e));null==s?(s=Gs.fromJson(e,this.resolver),t.stacks.set(s.id,s),this.allType.stacks.set(s.id,s)):s.updateWithJson(e)}updateWithTypeJson(e){this.getOrCreateType({objectType:e.name}).updateWithJson(e)}};zs([r.sH],Ks.prototype,"types",void 0),zs([r.EW],Ks.prototype,"total",null),zs([r.XI],Ks.prototype,"flushStore",null),zs([r.XI],Ks.prototype,"getOrCreateType",null),zs([r.XI],Ks.prototype,"handleDispatchAction",null),zs([r.XI],Ks.prototype,"handleNotificationEventDelete",null),zs([r.XI],Ks.prototype,"handleNotificationEventMoreLoaded",null),zs([r.XI],Ks.prototype,"handleNotificationEventNew",null),zs([r.XI],Ks.prototype,"handleNotificationEventRead",null),zs([r.XI],Ks.prototype,"removeByEvent",null),zs([r.XI],Ks.prototype,"updateWithBundle",null),Ks=zs([k.D6],Ks);const Js=Ks;var Ys=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let Qs=class extends Js{handleNotificationEventMoreLoaded(e){e.context.isWidget&&this.updateWithBundle(e.data)}handleNotificationEventNew(e){e.data.is_read||super.handleNotificationEventNew(e)}handleNotificationEventRead(e){this.removeByEvent(e)}updateWithBundle(e){super.updateWithBundle(e),null!=e.unread_count&&(this.total=e.unread_count)}};Ys([r.$Z],Qs.prototype,"handleNotificationEventMoreLoaded",null),Ys([r.$Z],Qs.prototype,"handleNotificationEventNew",null),Ys([r.$Z],Qs.prototype,"handleNotificationEventRead",null),Ys([r.$Z],Qs.prototype,"updateWithBundle",null),Qs=Ys([k.D6],Qs);const er=Qs;var tr=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let sr=class{constructor(){Object.defineProperty(this,"notifications",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"stacks",{enumerable:!0,configurable:!0,writable:!0,value:new Js(this)}),Object.defineProperty(this,"unreadStacks",{enumerable:!0,configurable:!0,writable:!0,value:new er(this)}),(0,r.Gn)(this)}add(e){this.notifications.set(e.id,e)}flushStore(){this.notifications.clear()}get(e){return this.notifications.get(e)}handleDispatchAction(e){e instanceof Zt.zv?this.handleNotificationEventDelete(e):e instanceof Zt.an?this.handleNotificationEventRead(e):e instanceof kt&&this.flushStore()}handleNotificationEventDelete(e){this.eachByEvent(e,e=>{this.notifications.delete(e.id)})}handleNotificationEventRead(e){this.eachByEvent(e,e=>{e.isRead=!0})}eachByEvent(e,t){for(const s of e.data){switch((0,Us.bv)(s)){case"type":this.eachByType(s,t);break;case"stack":this.eachByStack(s,t);break;case"notification":{if(null==s.id)return;const e=this.get(s.id);null!=e&&t(e);break}}}}eachByStack(e,t){const s=(0,Us.UR)(e);this.notifications.forEach(e=>{e.stackId===s&&t(e)})}eachByType(e,t){this.notifications.forEach(s=>{null!=e.objectType&&s.objectType!==e.objectType||t(s)})}};tr([r.sH],sr.prototype,"notifications",void 0),tr([r.XI],sr.prototype,"add",null),tr([r.XI],sr.prototype,"flushStore",null),tr([r.XI],sr.prototype,"handleDispatchAction",null),tr([r.XI],sr.prototype,"handleNotificationEventDelete",null),tr([r.XI],sr.prototype,"handleNotificationEventRead",null),sr=tr([k.D6],sr);const rr=sr;var ar=s(4692),ir=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};class nr extends Hs{get redirect(){return this.redirectOrig.replace(/,/g,"\r\n")}constructor(e){super(e),Object.defineProperty(this,"isResetting",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"isUpdating",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"secret",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"redirectOrig",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.redirectOrig=e.redirect,this.secret=e.secret,(0,r.Gn)(this)}delete(){this.isRevoking=!0;const e=ar.ajax({method:"DELETE",url:(0,g.w)("oauth.clients.destroy",{client:this.id})});return e.done((0,r.XI)(()=>{this.revoked=!0})).always((0,r.XI)(()=>{this.isRevoking=!1})),e}resetSecret(){this.isResetting=!0;const e=ar.ajax({method:"POST",url:(0,g.w)("oauth.clients.reset-secret",{client:this.id})});return e.done(e=>{this.updateFromJson(e)}).always((0,r.XI)(()=>{this.isResetting=!1})),e}updateFromJson(e){this.id=e.id,this.name=e.name,this.scopes=new Set(e.scopes),this.userId=e.user_id,this.user=e.user,this.redirectOrig=e.redirect,this.secret=e.secret}updateWith(e){const{redirect:t}=e;this.isUpdating=!0;const s=ar.ajax({data:{redirect:t},method:"PUT",url:(0,g.w)("oauth.clients.update",{client:this.id})});return s.done(e=>{this.updateFromJson(e)}).always((0,r.XI)(()=>{this.isUpdating=!1})),s}}ir([r.sH],nr.prototype,"isResetting",void 0),ir([r.sH],nr.prototype,"isUpdating",void 0),ir([r.sH],nr.prototype,"redirectOrig",void 0),ir([r.EW],nr.prototype,"redirect",null),ir([r.XI],nr.prototype,"delete",null),ir([r.XI],nr.prototype,"resetSecret",null),ir([r.XI],nr.prototype,"updateFromJson",null),ir([r.XI],nr.prototype,"updateWith",null);var or=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};class lr{constructor(){Object.defineProperty(this,"clients",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),(0,r.Gn)(this)}handleDispatchAction(e){e instanceof kt&&this.flushStore()}initialize(e){for(const t of e)this.updateWithJson(t)}updateWithJson(e){const t=new nr(e);return this.clients.set(t.id,t),t}flushStore(){this.clients.clear()}}or([r.sH],lr.prototype,"clients",void 0),or([r.XI],lr.prototype,"updateWithJson",null),or([r.XI],lr.prototype,"flushStore",null);var cr=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};class ur{constructor(){Object.defineProperty(this,"account",{enumerable:!0,configurable:!0,writable:!0,value:{client:null,isCreatingNewClient:!1,newClientVisible:!1}}),(0,r.Gn)(this)}}cr([r.sH],ur.prototype,"account",void 0);var dr=s(8443),pr=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let mr=class{constructor(){Object.defineProperty(this,"users",{enumerable:!0,configurable:!0,writable:!0,value:r.sH.map()}),(0,r.Gn)(this)}flushStore(){this.users=r.sH.map()}get(e){return this.users.get(e)}handleDispatchAction(e){e instanceof C&&this.updateMany(e.json.users)}update(e){const t=e.id;let s=this.users.get(t);return null==s&&(s=new dr.Ay(t),this.users.set(t,s)),s.updateWithJson(e),s}updateMany(e){if(null!=e)for(const t of e)this.update(t)}};pr([r.sH],mr.prototype,"users",void 0),pr([r.XI],mr.prototype,"flushStore",null),pr([r.XI],mr.prototype,"update",null),pr([r.XI],mr.prototype,"updateMany",null),mr=pr([k.D6],mr);const hr=mr;class br{constructor(){Object.defineProperty(this,"beatmapsetSearch",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"beatmapsetStore",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"channelStore",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"chatState",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"clientStore",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"notificationStore",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ownClientStore",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"uiState",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"userStore",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.beatmapsetStore=new js,this.beatmapsetSearch=new ls(this.beatmapsetStore),this.clientStore=new $s,this.notificationStore=new rr,this.ownClientStore=new lr,this.userStore=new hr,this.channelStore=new Rs,this.chatState=new Ps(this.channelStore),this.uiState=new ur}}var fr=s(3702);class vr{constructor(e){Object.defineProperty(this,"categoryName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"descriptionLowercase",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"nameLowercase",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"rulesetIds",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"tagName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.description=e.description,this.descriptionLowercase=e.description.toLowerCase(),this.id=e.id,this.name=e.name,this.nameLowercase=e.name.toLowerCase(),null!==e.ruleset_id&&this.rulesetIds.push(e.ruleset_id);const t=this.name.split("/");this.categoryName=t[0],this.tagName=t[1]}match(e,t){if(null!=t&&this.rulesetIds.length>0&&!this.rulesetIds.includes(t))return!1;for(const s of e)if(!this.nameLowercase.includes(s)&&!this.descriptionLowercase.includes(s))return!1;return!0}toQuery(){return`tag="${this.name}"`}}var gr=s(4692),yr=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};class wr{get rulesetId(){const e=jr.beatmapsetSearchController.filters.mode;if(null!==e)return(0,fr.sE)(e)}constructor(){Object.defineProperty(this,"query",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"tags",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"fetchTags",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.tags.length>0||gr.getJSON((0,g.w)("tags.index")).done((0,r.XI)(e=>this.tags=this.processTags(e.tags)))}}),(0,r.Gn)(this),(0,r.tC)(this,"tags",this.fetchTags)}get groups(){const e=this.query.trim().toLowerCase().split(/\s+/),t=this.tags.filter(t=>t.match(e,this.rulesetId)),s=(0,o.groupBy)(t,e=>e.categoryName);return Object.entries(s).map(([e,t])=>({name:e,tags:t}))}processTags(e){const t={};for(const r of e){const e=t[r.name];null==e?t[r.name]=new vr(r):null!==r.ruleset_id&&e.rulesetIds.push(r.ruleset_id)}const s=(0,o.sortBy)(Object.values(t),e=>e.name);for(const r of s)r.rulesetIds.sort();return s}}yr([r.sH],wr.prototype,"query",void 0),yr([r.sH],wr.prototype,"tags",void 0),yr([r.EW],wr.prototype,"rulesetId",null),yr([r.EW],wr.prototype,"groups",null),yr([r.XI],wr.prototype,"fetchTags",void 0);var _r=s(4692),Er=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};class Pr{get currentUserOrFail(){if(null==this.currentUser)throw new Error("current user is null");return this.currentUser}constructor(){Object.defineProperty(this,"accountEdit",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"accountEditAvatar",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"accountEditBlocklist",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"animateNav",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"bbcodeAutoPreview",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"beatmapsetSearchController",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"beatmapTagPickerController",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"bladePopup",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"browserTitleWithNotificationCount",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"captcha",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"changelogChartLoader",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"chatWorker",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"clickMenu",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"currentUser",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"currentUserModel",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"currentUserObserver",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"dataStore",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"enchant",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"firstCurrentUserSet",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"forumPoll",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"forumPostEdit",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"forumPostInput",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"forumPostReport",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"forumTopicTagEditor",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"localtime",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"mobileToggle",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"notificationsWorker",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"osuAudio",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"reactTurbolinks",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"referenceLinkTooltip",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"scorePins",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"socketWorker",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"spoilerbox",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"stickyFooter",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"stickyHeader",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"syncHeight",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"timeago",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"turbolinksReload",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"twitchPlayer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"userLogin",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"userLoginObserver",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"userPreferences",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"userVerification",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"windowFocusObserver",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"windowSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"setCurrentUser",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t;const s=null==e.id?void 0:e;null!=s&&this.dataStore.userStore.update(s),this.socketWorker.setUserId(null!==(t=null==s?void 0:s.id)&&void 0!==t?t:null),this.currentUser=s,window.currentUser=e,this.userPreferences.setUser(this.currentUser)}}),Object.defineProperty(this,"updateCurrentUser",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const e=(0,fe.Do)("json-current-user",!0);null!=e&&this.setCurrentUser(e)}}),Object.defineProperty(this,"onCurrentUserUpdate",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>{this.setCurrentUser(t)}}),_r.subscribe("user:update",this.onCurrentUserUpdate),this.animateNav=new te,this.bbcodeAutoPreview=new ie,this.bladePopup=new oe,this.captcha=new de,this.changelogChartLoader=new ge,this.chatWorker=new D,this.clickMenu=new _e,this.currentUserObserver=new Oe(this),this.currentUserModel=new xt(this),this.forumPoll=new Te,this.forumPostEdit=new Ae,this.forumPostInput=new Re,this.forumPostReport=new He,this.forumTopicTagEditor=new $e,this.localtime=new Ue,this.mobileToggle=new Ge,this.browserTitleWithNotificationCount=new ce(this),this.referenceLinkTooltip=new Ut,this.scorePins=new Pt,this.spoilerbox=new lt,this.stickyFooter=new ut,this.stickyHeader=new pt,this.syncHeight=new ht,this.timeago=new vt,this.turbolinksReload=new yt,this.userPreferences=new Rt,this.userVerification=new Ht,this.windowSize=new Vt,this.enchant=new Se(this.turbolinksReload),this.osuAudio=new tt(this.userPreferences),this.reactTurbolinks=new it(this,this.turbolinksReload),this.twitchPlayer=new wt(this.turbolinksReload),this.userLogin=new jt(this.captcha),this.dataStore=new br,this.accountEditBlocklist=new Q(this),this.accountEdit=new X(this),this.accountEditAvatar=new z(this),this.userLoginObserver=new Nt,this.windowFocusObserver=new Gt,this.beatmapsetSearchController=new j(this.dataStore.beatmapsetSearch),this.beatmapTagPickerController=new wr,this.socketWorker=new as,this.notificationsWorker=new Yt(this.socketWorker),(0,r.Gn)(this)}}Er([r.sH],Pr.prototype,"currentUser",void 0),Er([r.EW],Pr.prototype,"currentUserOrFail",null),Er([r.XI],Pr.prototype,"setCurrentUser",void 0);const Or=new Pr;window.osuCore=Or;const jr=Or},2961(e,t,s){s.d(t,{h:()=>i});var r=s(6131),a=s(4692);function i(){return(0,r.o)()||a("#overlay").is(":visible")||document.body.classList.contains("modal-open")}},2980(e,t,s){s.d(t,{A:()=>h});var r=s(9981),a=s(7813),i=s(1370),n=s(2853),o=s(6540),l=s(7634),c=s(2599),u=s(8623),d=s(4692),p=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let m=class extends o.PureComponent{get following(){return"mapping"===this.props.follow.subtype?n.A.currentUserModel.followUserMapping.has(this.props.follow.notifiable_id):this._following}get jsonId(){return`json-follow-toggle-${this.props.follow.subtype}-${this.props.follow.notifiable_type}-${this.props.follow.notifiable_id}`}get toggling(){return null!=this.xhr}constructor(e){var t,s;super(e),Object.defineProperty(this,"_following",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"xhr",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onClick",{enumerable:!0,configurable:!0,writable:!0,value:()=>{if(null!=this.xhr)return;const e={data:{follow:{notifiable_id:this.props.follow.notifiable_id,notifiable_type:this.props.follow.notifiable_type,subtype:this.props.follow.subtype}},method:this.following?"DELETE":"POST"};this.xhr=d.ajax((0,r.w)("follows.store"),e).done((0,a.XI)(()=>{"mapping"===this.props.follow.subtype?n.A.currentUserModel.updateFollowUserMapping(!this.following,this.props.follow.notifiable_id):(this._following=!this.following,(0,c.Qv)(this.jsonId,{following:this.following}))})).always((0,a.XI)(()=>{this.xhr=void 0}))}}),(0,a.Gn)(this),this._following=null===(s=null===(t=(0,c.Do)(this.jsonId,!0))||void 0===t?void 0:t.following)||void 0===s||s}render(){return o.createElement("button",{className:(0,l.Zt)("btn-circle",this.props.modifiers),disabled:this.toggling,onClick:this.onClick,type:"button"},o.createElement("span",{className:"btn-circle__content"},this.renderToggleIcon()))}renderToggleIcon(){if(this.toggling)return o.createElement("span",{className:"btn-circle__icon"},o.createElement(u.y,null));let e,t;return this.following?(t="fas fa-bell",e="fas fa-bell-slash"):(t="far fa-bell",e="fas fa-bell"),o.createElement(o.Fragment,null,o.createElement("span",{className:"btn-circle__icon btn-circle__icon--hover-show"},o.createElement("span",{className:e})),o.createElement("span",{className:"btn-circle__icon btn-circle__icon--hover-hide"},o.createElement("span",{className:t})))}};p([a.sH],m.prototype,"_following",void 0),p([a.sH],m.prototype,"xhr",void 0),p([a.XI],m.prototype,"onClick",void 0),m=p([i.PA],m);const h=m},3047(e,t,s){s.d(t,{F:()=>u});var r=s(6540),a=s(9918),i=s(7634),n=s(1883),o=s(1980),l=function(e,t){return function(){return e.apply(t,arguments)}},c={}.hasOwnProperty;r.createElement;var u=function(e){function t(){return this.renderHeaderStream=l(this.renderHeaderStream,this),this.render=l(this.render,this),t.__super__.constructor.apply(this,arguments)}return function(e,t){for(var s in t)c.call(t,s)&&(e[s]=t[s]);function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype}(t,e),t.prototype.render=function(){var e;return(0,a.div)({className:(0,i.Zt)("update-streams-v2",[null!=this.props.currentStreamId?"with-active":void 0])},(0,a.div)({className:"update-streams-v2__container"},function(){var t,s,r,a;for(a=[],t=0,s=(r=this.props.updateStreams).length;t0?(0,a.p)({className:"update-streams-v2__row update-streams-v2__row--users"},(0,n.Mq)("changelog.builds.users_online",s.user_count)):void 0)},t}(r.PureComponent)},3135(e,t,s){s.d(t,{j:()=>n,l:()=>o});var r=s(256),a=s(4692);const i=["alert-danger","alert-warning"];function n(e){var t;const s=a("#overlay");s.fadeIn();i.some(t=>e.classList.contains(t))||setTimeout(()=>{s.click()},5e3),null===(t=(0,r.e0)(document.activeElement))||void 0===t||t.blur()}function o(e,t="info"){const s=a("#popup-container"),r=a(".popup-clone").clone();r.addClass(`alert-${t} popup-active`).removeClass("popup-clone"),r.find(".popup-text").html(e),r.appendTo(s).fadeIn(),n(r[0])}},3138(e,t,s){s.d(t,{q:()=>d});var r=s(241),a=s(8547),i=s(8994),n=s(9981),o=s(6540),l=s(7634),c=s(1883);const u="beatmap-discussion-user-card";class d extends o.PureComponent{render(){return o.createElement("div",{className:u,style:(0,l.OS)(this.props.group)},o.createElement("div",{className:`${u}__avatar`},this.props.user.is_deleted?o.createElement("span",{className:`${u}__user-link`},o.createElement(r.A,{modifiers:"full-rounded",user:this.props.user})):o.createElement(i.A,{className:`${u}__user-link`,user:this.props.user},o.createElement(r.A,{modifiers:"full-rounded",user:this.props.user}))),o.createElement("div",{className:`${u}__user`},o.createElement("div",{className:`${u}__user-row`},this.props.user.is_deleted?o.createElement("span",{className:`${u}__user-link`},this.renderUsername()):o.createElement(i.A,{className:`${u}__user-link`,user:this.props.user},this.renderUsername()),!this.props.user.is_bot&&!this.props.user.is_deleted&&o.createElement("a",{className:`${u}__user-modding-history-link`,href:(0,n.w)("users.modding.index",{user:this.props.user.id}),title:(0,c.pw)("beatmap_discussion_posts.item.modding_history_link")},o.createElement("i",{className:"fas fa-align-left"}))),o.createElement("div",{className:`${u}__user-badge`},o.createElement(a.A,{group:this.props.group}))),!this.props.hideStripe&&o.createElement("div",{className:`${u}__user-stripe`}))}renderUsername(){return o.createElement("span",{className:"u-ellipsis-overflow"},this.props.user.username)}}Object.defineProperty(d,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{hideStripe:!1}})},3358(e,t,s){s.d(t,{A:()=>a});var r=s(6540);function a(e){const t=Object.keys(e.mappings).sort((e,t)=>e{const s=":"===t[0]?t.slice(1):null,a=null==s||null==e.mappings[s]?t:e.mappings[s];return"string"==typeof a?a:r.createElement(r.Fragment,{key:t},a)}))}},3368(e,t,s){s.d(t,{A:()=>n,Q:()=>i});var r=s(1491);const a=new Set;function i(e,t){var s;t?a.add(e):a.delete(e),(0,r.j6)(null===(s=window.newBody)||void 0===s?void 0:s.querySelector(".js-blackout"),n())}function n(){return a.size>0}},3398(e,t,s){s.d(t,{A:()=>m});var r=s(2853),a=s(6540),i=s(7634),n=s(256),o=s(2599),l=s(1883),c=s(5812),u=s(4692);const d={actionKey:{"forum.topic_watches_controller.index":"main.home_controller.index","main.account_controller.edit":"main.home_controller.index","main.beatmapset_watches_controller.index":"main.home_controller.index","main.follows_controller.index":"main.home_controller.index","main.friends_controller.index":"main.home_controller.index"},controllerKey:{"main.artist_tracks_controller._":"main.artists_controller._","main.store_controller._":"store._","multiplayer.rooms_controller._":"main.ranking_controller._","ranking.daily_challenge_controller._":"main.ranking_controller._","ranking.matchmaking_controller._":"main.ranking_controller._","ranking.top_plays_controller._":"main.ranking_controller._"},namespaceKey:{"admin_forum._":"admin._"}};class p extends a.Component{constructor(){super(...arguments),Object.defineProperty(this,"cancelSyncHeight",{enumerable:!0,configurable:!0,writable:!0,value:void 0})}componentDidMount(){this.cancelSyncHeight=r.A.reactTurbolinks.runAfterPageLoad(()=>{u.publish("sync-height:force")})}componentWillUnmount(){var e;null===(e=this.cancelSyncHeight)||void 0===e||e.call(this)}render(){const e=(0,i.Zt)("header-v4",(0,c.I)(this.props.theme),this.props.modifiers);return a.createElement("div",{className:e},a.createElement("div",{className:"header-v4__container header-v4__container--main"},a.createElement("div",{className:"header-v4__bg-container"},a.createElement("div",{className:`header-v4__bg ${this.props.backgroundExtraClass}`,style:{backgroundImage:(0,i.NZ)(this.props.backgroundImage)}})),a.createElement("div",{className:"hidden-xs js-sync-height--target","data-sync-height-id":"notification-banners"}),a.createElement("div",{className:"header-v4__content"},this.props.contentPrepend,a.createElement("div",{className:"header-v4__row header-v4__row--title"},a.createElement("div",{className:"header-v4__icon"}),a.createElement("div",{className:"header-v4__title"},this.title())),this.props.contentAppend)),this.props.links.length>0&&a.createElement("div",{className:"header-v4__container"},a.createElement("div",{className:"header-v4__content"},a.createElement("div",{className:"header-v4__row header-v4__row--bar"},this.renderLinks(),this.renderLinksMobile(),this.props.linksAppend))))}renderLinks(){const e=this.props.links.map(e=>a.createElement("li",{key:`${e.url}-${e.title}`,className:"header-nav-v4__item"},a.createElement("a",Object.assign({className:(0,i.Zt)("header-nav-v4__link",{active:e.active}),href:e.url,onClick:this.props.onLinkClick},e.data),a.createElement("span",{className:"fake-bold","data-content":e.title},e.title),null!=e.count&&a.createElement("span",{className:"header-nav-item-count"},(0,n.ZV)(e.count))))),t=this.props.linksBreadcrumb?"ol":"ul",s=[];return s.push(this.props.linksBreadcrumb?"breadcrumb":"list"),a.createElement(t,{className:(0,i.Zt)("header-nav-v4",s)},e)}renderLinksMobile(){var e;if(this.props.linksBreadcrumb)return null;if(0===this.props.links.length)return null;const t=null!==(e=this.props.links.find(e=>e.active))&&void 0!==e?e:this.props.links[0],s=this.props.links.map(e=>a.createElement("li",{key:`${e.url}-${e.title}`},a.createElement("a",Object.assign({className:"header-nav-mobile__item js-click-menu--close",href:e.url,onClick:this.props.onLinkClick},e.data),e.title," ",null!=e.count&&a.createElement("span",{className:"header-nav-item-count"},(0,n.ZV)(e.count)))));return a.createElement("div",{className:"header-nav-mobile"},a.createElement("a",{className:"header-nav-mobile__toggle js-click-menu","data-click-menu-target":"header-nav-mobile",href:t.url},t.title,a.createElement("span",{className:"header-nav-mobile__toggle-icon"},a.createElement("span",{className:"fas fa-chevron-down"}))),a.createElement("ul",{className:"header-nav-mobile__menu js-click-menu","data-click-menu-id":"header-nav-mobile","data-visibility":"hidden"},s))}title(){var e,t,s;const r=(0,o.qF)("json-route-section");let a=`${r.namespace}.${r.controller}.${r.action}`;a=null!==(e=d.actionKey[a])&&void 0!==e?e:a;let i=`${r.namespace}.${r.controller}._`;i=null!==(t=d.controllerKey[i])&&void 0!==t?t:i;let n=`${r.namespace}._`;n=null!==(s=d.namespaceKey[n])&&void 0!==s?s:n;const c=[`page_title.${a}`,`page_title.${i}`,`page_title.${n}`];for(const o of c)if((0,l.fP)(o,fallbackLocale))return(0,l.pw)(o);return"unknown"}}Object.defineProperty(p,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{links:[],linksBreadcrumb:!1}});const m=p},3431(e,t,s){s.d(t,{y2:()=>u,dP:()=>w,N3:()=>d,s9:()=>p,as:()=>m,mu:()=>h,gI:()=>b,YH:()=>f,xJ:()=>v,Tm:()=>_,CK:()=>O,mP:()=>E,$U:()=>j,W_:()=>y,bP:()=>S});var r=s(3702),a=s(2355),i=s(2853),n=s(1883);let o={};function l(e){return e.mods.some(e=>"FI"===e.acronym||"FL"===e.acronym||"HD"===e.acronym)}function c(e){var t,s,r,a,i,n,c,u,d,p,m,h;const b=`${e.type}:${e.id}`;let f=o[b];if(null==f){const v=null!==(t=e.statistics.miss)&&void 0!==t?t:0,g=null!==(s=e.statistics.great)&&void 0!==s?s:0;let y,w;switch(e.ruleset_id){case 0:{const t=null!==(r=e.statistics.meh)&&void 0!==r?r:0,s=null!==(a=e.statistics.ok)&&void 0!==a?a:0,i=t+s+g+v;y=i>0?(50*t+100*s+300*g)/(300*i):1;const n=i>0?g/i:1,o=i>0?t/i:1;w="F"===e.rank?"F":1===n?l(e)?"XH":"X":n>.9&&o<=.01&&0===v?l(e)?"SH":"S":n>.8&&0===v||n>.9?"A":n>.7&&0===v||n>.8?"B":n>.6?"C":"D";break}case 1:{const t=null!==(i=e.statistics.ok)&&void 0!==i?i:0,s=t+g+v;y=s>0?(150*t+300*g)/(300*s):1;const r=s>0?g/s:1;w="F"===e.rank?"F":1===r?l(e)?"XH":"X":r>.9&&0===v?l(e)?"SH":"S":r>.8&&0===v||r>.9?"A":r>.7&&0===v||r>.8?"B":r>.6?"C":"D";break}case 2:{const t=null!==(n=e.statistics.large_tick_hit)&&void 0!==n?n:0,s=null!==(c=e.statistics.small_tick_hit)&&void 0!==c?c:0,r=s+t+g+v+(null!==(u=e.statistics.small_tick_miss)&&void 0!==u?u:0);y=r>0?(s+t+g)/r:1,w="F"===e.rank?"F":1===y?l(e)?"XH":"X":y>.98?l(e)?"SH":"S":y>.94?"A":y>.9?"B":y>.85?"C":"D";break}case 3:{const t=null!==(d=e.statistics.perfect)&&void 0!==d?d:0,s=null!==(p=e.statistics.good)&&void 0!==p?p:0,r=null!==(m=e.statistics.ok)&&void 0!==m?m:0,a=null!==(h=e.statistics.meh)&&void 0!==h?h:0,i=t+s+r+a+g+v;y=i>0?(300*(g+t)+200*s+100*r+50*a)/(300*i):1,w="F"===e.rank?"F":1===y?l(e)?"XH":"X":y>.95?l(e)?"SH":"S":y>.9?"A":y>.8?"B":y>.7?"C":"D";break}default:throw new Error("unknown score ruleset")}f=o[b]={accuracy:y,rank:w}}return f}function u(e){const t=k(e)?c(e).accuracy:e.accuracy;return Math.floor(1e4*t)/1e4}function d(e){return"solo_score"===e.type&&null!=i.A.currentUser&&e.user_id!==i.A.currentUser.id}function p(e,t=!0){return(t&&k(e)?e.mods.filter(e=>"CL"!==e.acronym):e.mods).slice().sort((t,s)=>{var r,a;return(null!==(r=v(t).index[e.ruleset_id])&&void 0!==r?r:0)-(null!==(a=v(s).index[e.ruleset_id])&&void 0!==a?a:0)})}function m(e){return d(e)||h(e)||b(e)||i.A.scorePins.canBePinned(e)}function h(e){return e.has_replay}function b(e){return null!=e.best_id||"solo_score"===e.type}function f(e){return k(e)?e.legacy_perfect:e.is_perfect_combo}function v(e){var t;return null!==(t=a[e.acronym])&&void 0!==t?t:{acronym:e.acronym,index:{},name:"",setting_labels:{},type:"Fun"}}document.addEventListener("turbo:load",()=>{o={}});const g=(0,n.pw)("beatmapsets.show.scoreboard.headers.miss"),y={fruits:[{attributes:["great"],basic:!0,label:{long:"great",short:"great"},relevantTypes:["leaderboard","single"]},{attributes:["miss"],basic:!0,label:{long:g,short:g},relevantTypes:["single"]},{attributes:["large_tick_hit"],basic:!1,label:{long:"large droplet",short:"l drp"},relevantTypes:["leaderboard","single"]},{attributes:["small_tick_hit"],basic:!1,label:{long:"small droplet",short:"s drp"},relevantTypes:["single"]},{attributes:["small_tick_miss"],basic:!1,label:{long:"small droplet miss",short:"s drp miss"},relevantTypes:["leaderboard"]},{attributes:["miss","large_tick_miss"],basic:!1,label:{long:g,short:g},relevantTypes:["leaderboard"]},{attributes:["large_bonus"],basic:!1,label:{long:"banana",short:"banana"},relevantTypes:["single"]}],mania:[{attributes:["perfect"],basic:!0,label:{long:"perfect",short:"perfect"},relevantTypes:["leaderboard","single"]},{attributes:["great"],basic:!0,label:{long:"great",short:"great"},relevantTypes:["leaderboard","single"]},{attributes:["good"],basic:!0,label:{long:"good",short:"good"},relevantTypes:["leaderboard","single"]},{attributes:["ok"],basic:!0,label:{long:"ok",short:"ok"},relevantTypes:["leaderboard","single"]},{attributes:["meh"],basic:!0,label:{long:"meh",short:"meh"},relevantTypes:["leaderboard","single"]},{attributes:["miss"],basic:!0,label:{long:g,short:g},relevantTypes:["leaderboard","single"]}],osu:[{attributes:["great"],basic:!0,label:{long:"great",short:"great"},relevantTypes:["leaderboard","single"]},{attributes:["ok"],basic:!0,label:{long:"ok",short:"ok"},relevantTypes:["leaderboard","single"]},{attributes:["meh"],basic:!0,label:{long:"meh",short:"meh"},relevantTypes:["leaderboard","single"]},{attributes:["miss"],basic:!0,label:{long:g,short:g},relevantTypes:["leaderboard","single"]},{attributes:["large_tick_hit"],basic:!1,label:{long:"slider tick",short:"tick"},relevantTypes:["single"]},{attributes:["small_tick_hit","slider_tail_hit"],basic:!1,label:{long:"slider end",short:"end"},relevantTypes:["single"]},{attributes:["small_bonus"],basic:!1,label:{long:"spinner spin",short:"spin"},relevantTypes:["single"]},{attributes:["large_bonus"],basic:!1,label:{long:"spinner bonus",short:"bonus"},relevantTypes:["single"]}],taiko:[{attributes:["great"],basic:!0,label:{long:"great",short:"great"},relevantTypes:["leaderboard","single"]},{attributes:["ok"],basic:!0,label:{long:"ok",short:"ok"},relevantTypes:["leaderboard","single"]},{attributes:["miss"],basic:!0,label:{long:g,short:g},relevantTypes:["leaderboard","single"]},{attributes:["small_bonus"],basic:!1,label:{long:"drum tick",short:"tick"},relevantTypes:["single"]},{attributes:["large_bonus"],basic:!1,label:{long:"bonus",short:"bonus"},relevantTypes:["single"]}]};function w(e,t){return y[r.jS[e.ruleset_id]].filter(e=>e.relevantTypes.includes(t)).map(t=>({basic:t.basic,label:t.label,maximumValue:t.basic?void 0:t.attributes.reduce((t,s)=>{var r;return t+(null!==(r=e.maximum_statistics[s])&&void 0!==r?r:0)},0),value:t.attributes.reduce((t,s)=>{var r;return t+(null!==(r=e.statistics[s])&&void 0!==r?r:0)},0)}))}function _(e){return k(e)?c(e).rank:e.rank}const E={A:4,B:3,C:2,D:1,F:0,S:5,SH:5,X:6,XH:6},P={current:{[r.Bg.fruits]:[0,.85,.9,.94,.98,.99,1],[r.Bg.mania]:[0,.7,.8,.9,.95,.99,1],[r.Bg.osu]:[0,.7,.8,.9,.95,.99,1],[r.Bg.taiko]:[0,.7,.8,.9,.95,.99,1]},legacy:{[r.Bg.fruits]:[0,.8501,.9001,.9401,.9801,.99,1],[r.Bg.mania]:[0,.7,.8,.9,.95,.99,1],[r.Bg.osu]:[0,.6,.8,.867,.933,.99,1],[r.Bg.taiko]:[0,.6,.75,.833,.917,.99,1]}};function O(e){const t=k(e)?"legacy":"current";return P[t][e.ruleset_id]}function j(e){const t=O(e),s=[];for(let r=1;rp,Kd:()=>d});var r=s(7813),a=s(5812),i=s(9612),n=s(7542),o=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};const l=["description","message","name","users"],c="createAnnouncement",u=Object.freeze({description:255,message:n.s,name:50,users:void 0});function d(e){return l.includes(e)}class p{get errors(){return{description:!this.isValidLength("description",!0),message:!this.isValidLength("message"),name:!this.isValidLength("name"),users:0===this.validUsers.size||(0,a.E)(this.inputs.users.trim())}}get isValid(){return!Object.values(this.errors).some(Boolean)}get propsForUsernameInput(){return{initialUsers:[...this.validUsers.values()],initialValue:this.inputs.users}}constructor(){Object.defineProperty(this,"inputs",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"showError",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"validUsers",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"initialized",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"uuid",{enumerable:!0,configurable:!0,writable:!0,value:(0,i.A)()}),this.inputs=this.resetInputs(),this.showError=this.resetErrors(),(0,r.Gn)(this)}clear(){this.resetErrors(),this.resetInputs(),this.validUsers.clear()}initialize(){if(this.initialized)return;const e=localStorage.getItem(c);if(null!=e)try{const t=JSON.parse(e);this.inputs.description=t.description,this.inputs.message=t.message,this.inputs.name=t.name,this.inputs.users=[...t.validUsers,t.users].join(",")}catch(t){console.error("invalid json in localStorage"),localStorage.removeItem(c)}(0,r.fm)(()=>{const e=Object.assign(Object.assign({},this.inputs),{validUsers:[...this.validUsers.keys()]});localStorage.setItem(c,JSON.stringify(e))}),this.initialized=!0}inputContainerPropsFor(e){return{hasError:this.errors[e],input:this.inputs[e],maxLength:u[e],showError:this.showError[e]}}toJson(){const{description:e,message:t,name:s}=this.inputs;return{channel:{description:e,name:s},message:t,target_ids:[...this.validUsers.keys()],type:"ANNOUNCE",uuid:this.uuid}}isValidLength(e,t=!1){return(t||(0,a.E)(this.inputs[e]))&&this.inputs[e].length<=u[e]}resetErrors(){return this.showError={description:!1,message:!1,name:!1,users:!1}}resetInputs(){return this.inputs={description:"",message:"",name:"",users:""}}}o([r.sH],p.prototype,"inputs",void 0),o([r.sH],p.prototype,"showError",void 0),o([r.sH],p.prototype,"validUsers",void 0),o([r.EW],p.prototype,"errors",null),o([r.EW],p.prototype,"isValid",null),o([r.XI],p.prototype,"clear",null),o([r.XI],p.prototype,"initialize",null),o([r.XI],p.prototype,"resetErrors",null),o([r.XI],p.prototype,"resetInputs",null)},3652(e,t,s){s.d(t,{d:()=>G});var r=s(2543),a=s(7813),i=s(1370),n=s(8443),o=s(2853),l=s(6540),c=s(6606),u=s(9232),d=s(7634),p=s(1883),m=s(397),h=s(1831),b=s(9981),f=s(6407),v=s(6588),g=s(4692),y=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};const w=["up","down"];let _=class extends l.Component{constructor(e){super(e),Object.defineProperty(this,"tooltipDisposers",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"voteXhr",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"handleClick",{enumerable:!0,configurable:!0,writable:!0,value:e=>{null==this.voteXhr&&((0,v.MB)(),this.voteXhr=g.ajax((0,b.w)("beatmapsets.discussions.vote",{discussion:this.props.discussion.id}),{data:{beatmap_discussion_vote:{score:e.currentTarget.dataset.score}},method:"PUT"}),this.voteXhr.done(e=>this.props.discussionsState.update({beatmapset:e})).fail(f.S5).always((0,a.XI)(()=>{(0,v.vV)(),this.voteXhr=null})))}}),Object.defineProperty(this,"handleHover",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t,s;const r=e.currentTarget,a=r.dataset.type;null!==(t=(s=this.tooltipDisposers)[a])&&void 0!==t||(s[a]=(0,h.C)(()=>r,()=>{const e=this.props.discussion.votes[a];return{count:e,title:e<1?(0,p.pw)(`beatmaps.discussions.votes.none.${a}`):`${(0,p.pw)(`beatmaps.discussions.votes.latest.${a}`)}:`,users:this.props.discussion.votes.voters[a].map(e=>{var t;return null!==(t=this.props.users.get(e))&&void 0!==t?t:{id:e}})}},"top center"))}}),(0,a.Gn)(this)}componentWillUnmount(){var e;null===(e=this.voteXhr)||void 0===e||e.abort(),Object.values(this.tooltipDisposers).forEach(e=>null==e?void 0:e())}render(){return w.map(e=>l.createElement("div",{key:e,"data-type":e,onMouseOver:this.handleHover,onTouchStart:this.handleHover},this.renderVote(e)))}renderVote(e){var t;const[s,r]="up"===e?[1,"thumbs-up"]:[-1,"thumbs-down"],a=(null===(t=this.props.discussion.current_user_attributes)||void 0===t?void 0:t.vote_score)===s?0:s,i=null!=this.voteXhr||this.props.cannotVote;return l.createElement("button",{className:(0,d.Zt)("beatmap-discussion-vote",e,{inactive:0!==a}),"data-score":a,disabled:i,onClick:this.handleClick},l.createElement("i",{className:`fas fa-${r}`}),l.createElement("span",{className:"beatmap-discussion-vote__count"},this.props.discussion.votes[e]))}};y([a.sH],_.prototype,"voteXhr",void 0),y([a.XI],_.prototype,"handleClick",void 0),_=y([i.PA],_);const E=_;var P=s(4893),O=s(7833),j=s(241),k=s(7144),S=s(5812),N=s(738),T=s(4692),x=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};const A="beatmap-discussion-post",C={reply:"fas fa-reply",reply_reopen:"fas fa-exclamation-circle",reply_resolve:"fas fa-check"},I={reply_reopen:!1,reply_resolve:!0};let R=class extends l.Component{get canReopen(){var e,t;return this.props.discussion.can_be_resolved&&null!==(t=null===(e=this.props.discussion.current_user_attributes)||void 0===e?void 0:e.can_reopen)&&void 0!==t&&t}get canResolve(){var e,t;return this.props.discussion.can_be_resolved&&null!==(t=null===(e=this.props.discussion.current_user_attributes)||void 0===e?void 0:e.can_resolve)&&void 0!==t&&t}get isTimeline(){return null!=this.props.discussion.timestamp}get storageKey(){return`beatmapset-discussion:reply:${this.props.discussion.id}:message`}get storedMessage(){var e;return null!==(e=localStorage.getItem(this.storageKey))&&void 0!==e?e:""}get validPost(){return(0,c.as)(this.message,this.isTimeline)}constructor(e){super(e),Object.defineProperty(this,"box",{enumerable:!0,configurable:!0,writable:!0,value:l.createRef()}),Object.defineProperty(this,"editing",{enumerable:!0,configurable:!0,writable:!0,value:(0,S.E)(this.storedMessage)}),Object.defineProperty(this,"handleKeyDown",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"message",{enumerable:!0,configurable:!0,writable:!0,value:this.storedMessage}),Object.defineProperty(this,"posting",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"postXhr",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"startEditing",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"editStart",{enumerable:!0,configurable:!0,writable:!0,value:()=>{o.A.userLogin.showIfGuest(this.editStart)||(this.editing=!0,this.startEditing=!0)}}),Object.defineProperty(this,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.setMessage(e.target.value)}}),Object.defineProperty(this,"handleKeyDownCallback",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>{switch(e){case k.p.Cancel:this.editing=!1;break;case k.p.Submit:{const e=this.canResolve&&this.props.discussion.can_be_resolved&&t.ctrlKey?"reply_resolve":"reply";this.post(t,e);break}}}}),Object.defineProperty(this,"onCancelClick",{enumerable:!0,configurable:!0,writable:!0,value:()=>{(0,S.E)(this.message)&&!confirm((0,p.pw)("common.confirmation_unsaved"))||(this.editing=!1,this.setMessage(""))}}),Object.defineProperty(this,"post",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>{if(null!=t||(t=e.currentTarget.dataset.action),!this.validPost||null!=this.postXhr||null==t)return;(0,v.MB)(),this.posting=t;const s={beatmap_discussion:{resolved:I[t]},beatmap_discussion_id:this.props.discussion.id,beatmap_discussion_post:{message:this.message}};this.postXhr=T.ajax((0,b.w)("beatmapsets.discussions.posts.store"),{data:s,method:"POST"}),this.postXhr.done(e=>(0,a.h5)(()=>{this.editing=!1,this.setMessage(""),this.props.discussionsState.update(e)})).fail(f.S5).always((0,a.XI)(()=>{(0,v.vV)(),this.postXhr=null,this.posting=null}))}}),(0,a.Gn)(this),this.handleKeyDown=(0,k.R)(this.handleKeyDownCallback)}componentDidUpdate(e){var t;e.discussion.id===this.props.discussion.id?this.startEditing&&(this.startEditing=!1,null===(t=this.box.current)||void 0===t||t.focus()):this.message=this.storedMessage}componentWillUnmount(){var e;null===(e=this.postXhr)||void 0===e||e.abort()}render(){return this.editing?this.renderBox():this.renderPlaceholder()}renderBox(){return l.createElement("div",{className:`${A} ${A}--reply ${A}--new-reply`},this.renderCancelButton(),l.createElement("div",{className:`${A}__content`},l.createElement("div",{className:`${A}__avatar`},l.createElement(j.A,{modifiers:"full-rounded",user:o.A.currentUser})),l.createElement("div",{className:`${A}__message-container`},l.createElement(O.A,{className:`${A}__message ${A}__message--editor`,disabled:null!=this.posting,innerRef:this.box,onChange:this.handleChange,onKeyDown:this.handleKeyDown,placeholder:(0,p.pw)("beatmaps.discussions.reply_placeholder"),value:this.message}))),l.createElement("div",{className:`${A}__footer ${A}__footer--notice`},this.canResolve&&!this.props.discussion.resolved?(0,p.pw)("beatmaps.discussions.reply_resolve_notice"):(0,p.pw)("beatmaps.discussions.reply_notice"),l.createElement(N.A,{isTimeline:this.isTimeline,message:this.message})),l.createElement("div",{className:`${A}__footer`},l.createElement("div",{className:`${A}__actions`},l.createElement("div",{className:`${A}__actions-group`},this.canResolve&&!this.props.discussion.resolved&&this.renderReplyButton("reply_resolve"),this.canReopen&&this.props.discussion.resolved&&this.renderReplyButton("reply_reopen"),this.renderReplyButton("reply")))))}renderCancelButton(){return l.createElement("button",{className:`${A}__action ${A}__action--cancel`,disabled:null!=this.posting,onClick:this.onCancelClick},l.createElement("i",{className:"fas fa-times"}))}renderPlaceholder(){const[e,t,s]=null!=o.A.currentUser?[(0,p.pw)("beatmap_discussions.reply.open.user"),"fas fa-reply",o.A.currentUser.is_silenced]:[(0,p.pw)("beatmap_discussions.reply.open.guest"),"fas fa-sign-in-alt",!1];return l.createElement("div",{className:`${A} ${A}--reply ${A}--new-reply ${A}--new-reply-placeholder`},l.createElement(P.A,{disabled:s,icon:t,modifiers:"beatmap-discussion-reply-open",props:{onClick:this.editStart},text:e}))}renderReplyButton(e){return l.createElement("div",{className:`${A}__action`},l.createElement(P.A,{disabled:!this.validPost||null!=this.posting,icon:C[e],isBusy:this.posting===e,props:{"data-action":e,onClick:this.post},text:(0,p.pw)(`common.buttons.${e}`)}))}setMessage(e){this.message=e,(0,S.E)(this.message)?localStorage.setItem(this.storageKey,this.message):localStorage.removeItem(this.storageKey)}};x([a.sH],R.prototype,"box",void 0),x([a.sH],R.prototype,"editing",void 0),x([a.sH],R.prototype,"message",void 0),x([a.sH],R.prototype,"posting",void 0),x([a.XI],R.prototype,"componentDidUpdate",null),x([a.XI],R.prototype,"editStart",void 0),x([a.XI],R.prototype,"handleKeyDownCallback",void 0),x([a.XI],R.prototype,"onCancelClick",void 0),x([a.XI],R.prototype,"post",void 0),x([a.XI],R.prototype,"setMessage",null),R=x([i.PA],R);var M=s(5654),D=s(3358),H=s(450);function L({post:e,user:t}){"resolved"!==e.message.type&&(0,H.J)(e.message.type);const s=(0,d.Zt)("beatmap-discussion-system-post",e.message.type,{deleted:null!=e.deleted_at});return l.createElement("div",{className:s},l.createElement("div",{className:"beatmap-discussion-system-post__content"},l.createElement(D.A,{mappings:{user:l.createElement("a",{className:"beatmap-discussion-system-post__user",href:(0,b.w)("users.show",{user:t.id})},t.username)},pattern:(0,p.pw)(`beatmap_discussions.system.resolved.${e.message.value}`)})))}var $=s(3138),U=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};const B="beatmap-discussion";function F({type:e}){const t="resolved"===e?"beatmaps.discussions.resolved":`beatmaps.discussions.message_type.${e}`;return l.createElement("span",{className:m.d[e],style:{color:`var(--beatmapset-discussion-colour--${e})`},title:(0,p.pw)(t)})}let G=class extends l.Component{get beatmapset(){var e;return null===(e=this.props.discussionsState)||void 0===e?void 0:e.beatmapset}get currentBeatmap(){var e;return null===(e=this.props.discussionsState)||void 0===e?void 0:e.currentBeatmap}get canBeRepliedTo(){var e;return null!=this.beatmapset&&!(0,u.PR)(this.beatmapset)&&(!this.beatmapset.discussion_locked||(0,c.pd)())&&(null==this.props.discussion.beatmap_id||null==(null===(e=this.currentBeatmap)||void 0===e?void 0:e.deleted_at))}get collapsed(){var e,t,s,r;return null!==(r=null!==(t=null===(e=this.props.discussionsState)||void 0===e?void 0:e.discussionCollapsed.get(this.props.discussion.id))&&void 0!==t?t:null===(s=this.props.discussionsState)||void 0===s?void 0:s.discussionDefaultCollapsed)&&void 0!==r&&r}get highlighted(){var e;return(null===(e=this.props.discussionsState)||void 0===e?void 0:e.highlightedDiscussionId)===this.props.discussion.id}get readonly(){return null==this.props.discussionsState}get readPostIds(){var e;return null===(e=this.props.discussionsState)||void 0===e?void 0:e.readPostIds}get resolvedStateChangedPostId(){var e;if(null==this.props.discussionsState)return-1;const t=(0,r.findLast)(this.props.discussion.posts,e=>e.system&&"resolved"===e.message.type);return null!==(e=null==t?void 0:t.id)&&void 0!==e?e:-1}get showDeleted(){var e,t;return null===(t=null===(e=this.props.discussionsState)||void 0===e?void 0:e.showDeleted)||void 0===t||t}get replies(){return null!=this.props.discussionsState?this.props.discussion.posts.slice(1):[]}get users(){return this.props.store.users}get visibleReplies(){if(null==this.props.discussionsState||this.showDeleted&&(0===this.props.discussionsState.selectedUserIds.size||this.props.discussionsState.showOtherReplies))return this.replies;const e=[];for(const t of this.replies)(this.showDeleted||null==t.deleted_at)&&(t.system||this.props.discussionsState.showOtherReplies||this.props.discussionsState.selectedUserIds.has(t.user_id))&&e.push(t);return e}constructor(e){super(e),Object.defineProperty(this,"lastResolvedState",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"handleCollapseClick",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e;null===(e=this.props.discussionsState)||void 0===e||e.discussionCollapsed.set(this.props.discussion.id,!this.collapsed)}}),Object.defineProperty(this,"handleSetHighlight",{enumerable:!0,configurable:!0,writable:!0,value:e=>{e.defaultPrevented||null==this.props.discussionsState||(this.props.discussionsState.highlightedDiscussionId=this.props.discussion.id)}}),Object.defineProperty(this,"renderReply",{enumerable:!0,configurable:!0,writable:!0,value:e=>{if(e.system&&"resolved"===e.message.type){if(this.lastResolvedState===e.message.value)return null;this.lastResolvedState=e.message.value}return this.renderPost(e,"reply")}}),(0,a.Gn)(this)}render(){var e;if(!this.isVisible(this.props.discussion))return null;const t=(0,c.JL)(this.props.discussion);if(null==t)return null;const s=(0,d.Zt)(`${B}__line`,{resolved:this.props.discussion.resolved});this.lastResolvedState=!1;const r=null!==(e=this.users.get(this.props.discussion.user_id))&&void 0!==e?e:n.fc,a=(0,c.lz)({beatmapset:this.beatmapset,currentBeatmap:this.currentBeatmap,discussion:this.props.discussion,user:r}),i=(0,d.Zt)(B,{deleted:null!=this.props.discussion.deleted_at,highlighted:this.highlighted,"horizontal-desktop":"review"!==this.props.discussion.message_type,preview:this.readonly,review:"review"===this.props.discussion.message_type,timeline:null!=this.props.discussion.timestamp,unread:!this.isRead(t)});return l.createElement("div",{className:`${i}`,onClick:this.handleSetHighlight,style:{"--discussion-colour":`var(--beatmapset-discussion-colour--${this.props.discussion.message_type})`}},l.createElement("div",{className:`${B}__timestamp hidden-xs`},this.renderTimestamp()),l.createElement("div",{className:`${B}__discussion js-beatmap-discussion-jump`,"data-id":this.props.discussion.id},l.createElement("div",{className:`${B}__top`,style:(0,d.OS)(a)},l.createElement("div",{className:`${B}__top-user`},l.createElement($.q,{group:a,hideStripe:!0,user:r})),l.createElement("div",{className:`${B}__top-message`},this.renderPost(t,"discussion")),this.renderPostButtons()),this.renderReplies(),l.createElement("div",{className:s})))}isOwner(e){return null!=o.A.currentUser&&o.A.currentUser.id===e.user_id}isRead(e){var t;return(null===(t=this.readPostIds)||void 0===t?void 0:t.has(e.id))||this.isOwner(e)||this.readonly}isVisible(e){return null!=e&&(this.showDeleted||null==e.deleted_at)}renderPost(e,t){var s;const r=null!==(s=this.users.get(e.user_id))&&void 0!==s?s:n.fc;return e.system?l.createElement(L,{key:e.id,post:e,user:r}):l.createElement(M.A,{key:e.id,discussion:this.props.discussion,discussionsState:this.props.discussionsState,post:e,read:this.isRead(e),readonly:this.readonly,resolvedStateChangedPostId:this.resolvedStateChangedPostId,store:this.props.store,type:t,user:r})}renderPostButtons(){var e;if(null==this.props.discussionsState)return null;const t=this.props.store.users.get(this.props.discussion.user_id);return l.createElement("div",{className:`${B}__top-actions`},l.createElement("div",{className:`${B}__actions`},null!=this.props.parentDiscussion&&l.createElement("a",{className:`${B}__link-to-parent js-beatmap-discussion--jump`,href:(0,c.Gm)({discussion:this.props.parentDiscussion}),title:(0,p.pw)("beatmap_discussions.review.go_to_parent")},l.createElement("i",{className:"fas fa-tasks"})),l.createElement("span",{className:"visible-xs"},l.createElement(F,{type:this.props.discussion.message_type})),l.createElement(E,{cannotVote:this.isOwner(this.props.discussion)||null!==(e=null==t?void 0:t.is_bot)&&void 0!==e&&e||!this.canBeRepliedTo,discussion:this.props.discussion,discussionsState:this.props.discussionsState,users:this.users}),l.createElement("button",{className:`${B}__action ${B}__action--with-line`,onClick:this.handleCollapseClick},l.createElement("div",{className:(0,d.Zt)("beatmap-discussion-expand",{expanded:!this.collapsed})},l.createElement("i",{className:"fas fa-chevron-down"})))))}renderReplies(){if(null==this.props.discussionsState)return null;let e=`${B}__expanded`;this.collapsed&&(e+=" hidden");const t=this.replies.length-this.visibleReplies.length;return l.createElement("div",{className:e},l.createElement("div",{className:`${B}__replies`},t>0&&l.createElement("div",{className:`${B}__info`},(0,p.Mq)("beatmap_discussions.hidden_replies",t)),this.visibleReplies.map(this.renderReply)),null!=this.props.discussionsState&&this.canBeRepliedTo&&l.createElement(R,{discussion:this.props.discussion,discussionsState:this.props.discussionsState}))}renderTimestamp(){return l.createElement("div",{className:(0,d.Zt)("beatmap-discussion-timestamp",{sticky:this.props.isTimelineVisible})},null!=this.props.discussion.timestamp&&this.props.isTimelineVisible&&l.createElement("div",{className:"beatmap-discussion-timestamp__point"}),l.createElement("div",{className:"beatmap-discussion-timestamp__icons-container"},l.createElement("div",{className:"beatmap-discussion-timestamp__icons"},l.createElement(F,{type:this.props.discussion.message_type}),this.props.discussion.resolved&&l.createElement(F,{type:"resolved"})),null!=this.props.discussion.timestamp&&l.createElement("div",{className:"beatmap-discussion-timestamp__text"},(0,c.Ey)(this.props.discussion.timestamp))))}};U([a.EW],G.prototype,"canBeRepliedTo",null),U([a.EW],G.prototype,"collapsed",null),U([a.EW],G.prototype,"highlighted",null),U([a.EW],G.prototype,"resolvedStateChangedPostId",null),U([a.EW],G.prototype,"replies",null),U([a.EW],G.prototype,"visibleReplies",null),U([a.XI],G.prototype,"handleCollapseClick",void 0),U([a.XI],G.prototype,"handleSetHighlight",void 0),G=U([i.PA],G)},3672(e,t,s){s.d(t,{A:()=>l});var r=s(4467),a=s(9981),i=s(6540),n=s(8961),o=s(1980);class l extends i.PureComponent{get options(){return this.props.items.map(e=>Object.assign(Object.assign({},e),{href:this.href(e.id)}))}render(){return i.createElement(r.A,{href:this.href(this.props.currentItem.id),modifiers:this.props.modifiers,options:this.options,selected:this.props.currentItem.id},this.props.currentItem.text)}href(e){switch(this.props.type){case"daily_challenge":return(0,a.w)("daily-challenge.show",{daily_challenge:null!=e?e:(0,n.f)("missing id parameter")});case"download":return(0,a.w)("download",{platform:e});case"matchmaking":return(0,a.w)("rankings.matchmaking",{mode:this.props.ruleset,pool:e});case"multiplayer":return(0,a.w)("multiplayer.rooms.show",{room:null!=e?e:"latest"});case"seasons":return(0,a.w)("seasons.show",{season:null!=e?e:"latest"});case"spotlight":return(0,o.Ze)(null,{spotlight:null==e?void 0:e.toString()})}}}},3702(e,t,s){s.d(t,{Bg:()=>a,HQ:()=>o,T5:()=>c,gQ:()=>n,jS:()=>i,sE:()=>l});var r=s(2543);const a={fruits:2,mania:3,osu:0,taiko:1},i=(0,r.invert)(a),n=Object.values(i);function o(e){if(e in a)return e}function l(e){if("string"==typeof e&&(e=parseInt(e,10)),e in i)return e}const c={0:"",4:"4k",7:"7k"}},3757(e,t,s){s.d(t,{A:()=>n});var r=s(2853),a=s(6540),i=s(3938);class n extends a.PureComponent{constructor(){super(...arguments),Object.defineProperty(this,"eventId",{enumerable:!0,configurable:!0,writable:!0,value:`admin-menu-${(0,i.L)()}`})}render(){var e;if(!(null===(e=r.A.currentUser)||void 0===e?void 0:e.is_admin))return null;const t=this.props.items.map(e=>a.createElement(e.component,Object.assign({key:`${e.icon}-${e.text}`,className:"admin-menu-item"},e.props),a.createElement("span",{className:"admin-menu-item__content"},a.createElement("span",{className:"admin-menu-item__label admin-menu-item__label--icon"},a.createElement("span",{className:e.icon})),a.createElement("span",{className:"admin-menu-item__label admin-menu-item__label--text"},e.text))));return a.createElement("div",{className:"admin-menu"},a.createElement("button",{className:"admin-menu__button js-menu","data-menu-target":`admin-menu-${this.eventId}`},a.createElement("span",{className:"fas fa-angle-up"}),a.createElement("span",{className:"admin-menu__button-icon fas fa-tools"})),a.createElement("div",{className:"admin-menu__menu js-menu","data-menu-id":`admin-menu-${this.eventId}`,"data-visibility":"hidden"},t))}}},3816(e,t,s){s.d(t,{V:()=>n});var r=s(6968),a=s(6540),i=s(5374);function n(e){const t=a.useContext(i.Bz),s=a.useContext(i.tx),n=a.useCallback(()=>t.setValue(null),[t]),o=a.useCallback(()=>t.setValue(s),[t,s]);return a.useEffect(()=>()=>t.setValue(null),[t]),a.createElement(r.A,Object.assign({onHide:n,onShow:o},e))}},3863(e,t,s){s.d(t,{A:()=>r});const r=Object.freeze({colour:"hsl(var(--hsl-l1))",has_listing:!1,has_playmodes:!1,id:-1,identifier:"owner",is_probationary:!1,name:"Beatmap Mapper",short_name:"MAPPER"})},3887(e,t,s){s.d(t,{A:()=>n});var r=s(6540),a=s(8243),i=s(256);function n(e){return r.createElement("div",{className:"difficulty-badge",style:{"--bg":(0,a.ID)(e.rating),color:(0,a.tv)(e.rating)}},r.createElement("span",{className:"difficulty-badge__icon"},r.createElement("span",{className:"fas fa-star"})),r.createElement("span",{className:"difficulty-badge__rating"},(0,i.bm)(e.rating)))}},3925(e,t,s){s.d(t,{A:()=>y});var r=s(1547),a=s(2175),i=s(4617),n=s(6540),o=s(1883);function l({level:e}){let t="iron";return e>=110?t="lustrous":e>=105?t="radiant":e>=100?t="rhodium":e>=80?t="platinum":e>=60?t="gold":e>=40?t="silver":e>=20&&(t="bronze"),n.createElement("div",{className:"user-level",style:{"--bg":`var(--level-tier-${t})`},title:(0,o.pw)("users.show.stats.level",{level:e})},n.createElement("div",{className:"user-level__icon"}),n.createElement("span",{className:"user-level__level"},e))}var c=s(9981),u=s(1370),d=s(2853),p=s(2370),m=s(6968),h=s(5953),b=s(1980);function f(e){return n.createElement("div",{className:"btn-circle btn-circle--page-toggle btn-circle--page-toggle-detail",title:(0,o.pw)("common.buttons.show_more_options")},n.createElement(m.A,null,t=>n.createElement("div",{className:"simple-menu"},n.createElement("a",{className:"simple-menu__item",href:(0,b.SS)(e.user),onClick:t.dismiss},n.createElement("span",{className:"fas fa-gift"}),` ${(0,o.pw)("users.card.gift_supporter")}`),n.createElement(p.A,{modifiers:"inline",onClick:t.dismiss,userId:e.user.id,wrapperClass:"simple-menu__item"}),n.createElement(h.r,{className:"simple-menu__item",icon:!0,onFormOpen:t.dismiss,reportableId:e.user.id.toString(),reportableType:"user",user:e.user}))))}var v=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let g=class extends n.Component{get showMessageButton(){return null==d.A.currentUser||d.A.currentUser.id!==this.props.user.id&&!d.A.currentUserModel.blocks.has(this.props.user.id)}render(){var e;return n.createElement("div",{className:"profile-detail-bar"},n.createElement(i.A,{alwaysVisible:!0,blocked:null===(e=this.props.user.current_user_attributes)||void 0===e?void 0:e.has_blocked,followers:this.props.user.follower_count,modifiers:"profile-page",userId:this.props.user.id}),this.props.user.is_bot?this.renderMessageButton():this.renderNonBotButtons())}renderMessageButton(){return this.showMessageButton?n.createElement("div",null,n.createElement("a",{className:"user-action-button user-action-button--profile-page",href:(0,c.w)("messages.users.show",{user:this.props.user.id}),title:(0,o.pw)("users.card.send_message")},n.createElement("i",{className:"fas fa-envelope"}))):null}renderNonBotButtons(){return n.createElement(n.Fragment,null,n.createElement(a.A,{alwaysVisible:!0,followers:this.props.user.mapping_follower_count,modifiers:"profile-page",showFollowerCounter:!0,userId:this.props.user.id}),this.renderMessageButton(),(e=this.props.user,null!=d.A.currentUser&&d.A.currentUser.id!==e.id&&n.createElement(f,{user:this.props.user})),null!=this.props.user.statistics&&n.createElement("div",{className:"profile-detail-bar__level"},n.createElement("div",{className:"profile-detail-bar__level-bar"},n.createElement(r.A,{current:this.props.user.statistics.level.progress,modifiers:"user-profile",textPrecision:0,title:(0,o.pw)("users.show.stats.level_progress"),total:100})),n.createElement(l,{level:this.props.user.statistics.level.current})));var e}};g=v([u.PA],g);const y=g},3938(e,t,s){s.d(t,{L:()=>a});let r=0;function a(){return++r}},3944(e,t,s){s.d(t,{Al:()=>c,T8:()=>l,bN:()=>n,bS:()=>i,oo:()=>o});var r=s(9612),a=s(4692);function i(){var e;return null!==(e=window.newUrl)&&void 0!==e?e:document.location}function n(){const e=i();return e instanceof URL?e.searchParams:new URLSearchParams(e.search)}function o(e,t=!1,s){t&&function(){const{pageXOffset:e,pageYOffset:t}=window;a(document).one("turbo:load",()=>window.scrollTo(e,t))}(),Turbo.visit(e,s)}function l(e=!0){a(document).off(".ujsHideLoadingOverlay"),Turbo.cache.clear(),o(i().href,e,{action:"replace"})}function c(e,t){const s=i();if(e===s.href)return;"push"===t&&Turbo.session.view.snapshotCache.put(s,Turbo.session.view.snapshot.clone());const a=new URL(e,document.baseURI),n=()=>{Turbo.session.history[t](a,(0,r.A)()),Turbo.session.view.lastRenderedLocation=a};"replace"===t&&null==window.newUrl?window.setTimeout(n):n()}},4179(e,t,s){s.d(t,{A:()=>c});var r=s(7813),a=s(6913);var i=s(2853),n=s(1883),o=s(5812),l=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};class c{get canMarkRead(){return this.id>0&&!this.isRead}get category(){var e;return(0,a.cE)(null!==(e=this.name)&&void 0!==e?e:"")}get categoryGroupKey(){return(0,a.Lq)(this)}get displayType(){return function(e){if(null!=e.objectType&&null!=e.objectId)return"user_achievement_unlock"===e.name?"user_achievement":e.objectType}(this)}get formattedDetails(){const e=Object.assign(Object.assign({},this.details),{embeds:void 0,reply_to:void 0});return"news_post_new"!==this.name?e:Object.assign(Object.assign({},e),{series:(0,n.pw)(`news.series.${this.details.series}`)})}get identity(){return{category:this.category,id:this.id,objectId:this.objectId,objectType:this.objectType}}get stackId(){return`${this.objectType}-${this.objectId}-${this.category}`}get title(){var e,t,s;return i.A.userPreferences.get("beatmapset_title_show_original")?null!==(t=null!==(e=(0,o.I)(this.details.title_unicode))&&void 0!==e?e:this.details.title)&&void 0!==t?t:"":null!==(s=this.details.title)&&void 0!==s?s:""}constructor(e,t){Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"objectType",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"createdAtJson",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"isDeleting",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"isMarkingAsRead",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"isRead",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"objectId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sourceUserId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"updateFromJson",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t,s;return this.createdAtJson=e.created_at,this.isRead=e.is_read,this.name=e.name,this.objectId=e.object_id,this.sourceUserId=e.source_user_id,this.details=Object.assign(Object.assign({},this.details),e.details),"comment_new"===e.name&&(null===(t=e.details.reply_to)||void 0===t?void 0:t.user_id)===(null===(s=i.A.currentUser)||void 0===s?void 0:s.id)&&(this.name="comment_reply"),this}}),(0,r.Gn)(this)}static fromJson(e){return new c(e.id,e.object_type).updateFromJson(e)}}l([r.sH],c.prototype,"isDeleting",void 0),l([r.sH],c.prototype,"isMarkingAsRead",void 0),l([r.sH],c.prototype,"isRead",void 0),l([r.EW],c.prototype,"canMarkRead",null),l([r.EW],c.prototype,"category",null),l([r.EW],c.prototype,"categoryGroupKey",null),l([r.EW],c.prototype,"displayType",null),l([r.EW],c.prototype,"stackId",null),l([r.EW],c.prototype,"title",null)},4403(e,t,s){s.d(t,{A:()=>n});var r=s(6540),a=s(7634);function i(e,t){return e.length>t?"over":e.length>.95*t?"almost-over":null}function n({maxLength:e,message:t,modifiers:s}){return r.createElement("div",{className:(0,a.Zt)("message-length-counter",i(t,e),s)},`${t.length} / ${e}`)}},4466(e,t,s){s.d(t,{l:()=>r});const r=(0,s(6540).createContext)(void 0)},4467(e,t,s){s.d(t,{A:()=>d});var r=s(7813),a=s(1370),i=s(6540),n=s(3368),o=s(7634),l=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};const c="select-options";let u=class extends i.PureComponent{constructor(e){super(e),Object.defineProperty(this,"ref",{enumerable:!0,configurable:!0,writable:!0,value:i.createRef()}),Object.defineProperty(this,"showingSelector",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"hideSelector",{enumerable:!0,configurable:!0,writable:!0,value:e=>{0!==e.button||null==this.ref.current||e.composedPath().includes(this.ref.current)||(this.showingSelector=!1)}}),Object.defineProperty(this,"optionSelected",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t;if(0===e.button&&null!=this.props.onSelect){e.preventDefault();const s=e.currentTarget.dataset.id;this.showingSelector=null!==(t=this.props.onSelect(s))&&void 0!==t&&t,this.showingSelector&&e.currentTarget.blur()}}}),Object.defineProperty(this,"toggleSelector",{enumerable:!0,configurable:!0,writable:!0,value:e=>{0===e.button&&(e.preventDefault(),this.showingSelector=!this.showingSelector)}}),(0,r.Gn)(this),(0,a.bH)(this,(0,r.fm)(()=>{(0,n.Q)(this,this.props.blackout&&this.showingSelector)}))}componentDidMount(){document.addEventListener("click",this.hideSelector)}componentWillUnmount(){document.removeEventListener("click",this.hideSelector),(0,n.Q)(this,!1)}render(){const e=(0,o.Zt)(c,{selecting:this.showingSelector},this.props.modifiers);return i.createElement("div",{ref:this.ref,className:e},i.createElement("div",{className:`${c}__select`},i.createElement("a",{className:(0,o.Zt)(`${c}__option`,"selector"),href:this.props.href,onClick:this.toggleSelector},this.renderText(this.props.children),i.createElement("div",{className:`${c}__decoration`},i.createElement("span",{className:"fas fa-chevron-down"})))),i.createElement("div",{className:`${c}__selector`},[...this.renderOptions()]))}renderOption(e,t){var s;return i.createElement("a",{key:e.id,className:(0,o.Zt)(`${c}__option`,{selected:t}),"data-id":null!==(s=e.id)&&void 0!==s?s:void 0,href:e.href,onClick:this.optionSelected},this.props.useCheckmark&&i.createElement("span",{className:`${c}__checkmark`},t&&i.createElement("span",{className:"fas fa-check"})),this.renderText(e.text))}*renderOptions(){const e=this.props.selected instanceof Set||(0,r.sj)(this.props.selected);for(const t of this.props.options){const s=e?this.props.selected.has(t.id):this.props.selected===t.id;yield this.renderOption(t,s)}}renderText(e){return"string"==typeof e?i.createElement("div",{className:"u-ellipsis-overflow"},e):e}};Object.defineProperty(u,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{blackout:!0,useCheckmark:!1}}),l([r.sH],u.prototype,"showingSelector",void 0),l([r.XI],u.prototype,"hideSelector",void 0),l([r.XI],u.prototype,"optionSelected",void 0),l([r.XI],u.prototype,"toggleSelector",void 0),u=l([a.PA],u);const d=u},4606(e,t,s){s.d(t,{A:()=>o});var r=s(9207),a=s(6540),i=s(7634),n=s(1883);class o extends a.Component{render(){if(!(0,r.C)())return null;const e=this.props.comments.filter(e=>null!=e.deletedAt).length;return 0===e?null:a.createElement("div",{className:(0,i.Zt)("deleted-comments-count",this.props.modifiers)},a.createElement("span",{className:"deleted-comments-count__icon"},a.createElement("span",{className:"far fa-trash-alt"})),(0,n.Mq)("comments.deleted_count",e))}}},4617(e,t,s){s.d(t,{A:()=>y});var r=s(2097),a=s(7035),i=s(9981),n=s(7813),o=s(1370),l=s(2853),c=s(6540),u=s(6407),d=s(7634),p=s(256),m=s(1883),h=s(8623),b=s(4692),f=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};const v="user-action-button";let g=class extends c.Component{get followers(){return this.followersWithoutSelf+(null==this.friend?0:1)}get friend(){return l.A.currentUserModel.friends.get(this.props.userId)}get isFriendLimit(){return null==l.A.currentUser||l.A.currentUser.friends.length>=l.A.currentUser.max_friends}get isVisible(){return null!=l.A.currentUser&&Number.isFinite(this.props.userId)&&this.props.userId!==l.A.currentUser.id&&!l.A.currentUser.blocks.some(e=>e.target_id===this.props.userId)}get loading(){return null!=this.xhr}get showFollowerCounter(){return null!=this.props.followers}get title(){return this.props.blocked?(0,m.pw)("friends.blocked"):this.isVisible?null!=this.friend?(0,m.pw)("friends.buttons.remove"):this.isFriendLimit?(0,m.pw)("friends.too_many"):(0,m.pw)("friends.buttons.add"):(0,m.pw)("friends.buttons.disabled")}constructor(e){var t;super(e),Object.defineProperty(this,"followersWithoutSelf",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"xhr",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"clicked",{enumerable:!0,configurable:!0,writable:!0,value:()=>{null==this.xhr&&(this.xhr=null==this.friend?b.ajax((0,i.w)("friends.store",{target:this.props.userId}),{type:"POST"}):b.ajax((0,i.w)("friends.destroy",{friend:this.props.userId}),{type:"DELETE"}),this.xhr.done(this.updateFriends).fail((0,u.dI)(this.clicked)).always((0,n.XI)(()=>this.xhr=void 0)))}}),Object.defineProperty(this,"updateFriends",{enumerable:!0,configurable:!0,writable:!0,value:e=>{l.A.currentUserModel.updateUserRelation(null==e?void 0:e.user_relation,"friends",this.props.userId),(0,a.JD)(new r.A(this.props.userId))}}),this.followersWithoutSelf=null!==(t=this.props.followers)&&void 0!==t?t:0,(0,n.Gn)(this),(0,n.h5)(()=>{null!=this.friend&&(this.followersWithoutSelf-=1)})}componentWillUnmount(){var e;null===(e=this.xhr)||void 0===e||e.abort()}render(){if(!this.props.alwaysVisible&&!this.isVisible)return null;const e=null==this.friend||this.loading?null:this.friend.mutual?"mutual":"friend",t=(0,d.Zt)(v,this.props.modifiers,e),s=!this.isVisible||this.loading||this.props.blocked||this.isFriendLimit&&null==this.friend;return c.createElement("div",{title:this.title},c.createElement("button",{className:t,disabled:s,onClick:this.clicked,type:"button"},c.createElement("span",{className:`${v}__icon-container`},this.renderIcon()),this.renderCounter()))}renderCounter(){if(this.showFollowerCounter)return c.createElement("span",{className:`${v}__counter`},(0,p.ZV)(this.followers))}renderIcon(){return this.loading?c.createElement(h.y,null):this.isVisible?null!=this.friend?c.createElement(c.Fragment,null,c.createElement("span",{className:`${v}__icon ${v}__icon--hover-visible`},c.createElement("span",{className:"fas fa-user-times"})),this.friend.mutual?c.createElement("span",{className:`${v}__icon ${v}__icon--hover-hidden`},c.createElement("span",{className:"fas fa-user-friends"})):c.createElement("span",{className:`${v}__icon ${v}__icon--hover-hidden`},c.createElement("span",{className:"fas fa-user"}))):c.createElement("span",{className:this.isFriendLimit?"fas fa-user":"fas fa-user-plus"}):c.createElement("span",{className:"fas fa-user"})}};Object.defineProperty(g,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{alwaysVisible:!1}}),f([n.sH],g.prototype,"followersWithoutSelf",void 0),f([n.sH],g.prototype,"xhr",void 0),f([n.EW],g.prototype,"followers",null),f([n.EW],g.prototype,"friend",null),f([n.EW],g.prototype,"isFriendLimit",null),f([n.EW],g.prototype,"isVisible",null),f([n.EW],g.prototype,"title",null),f([n.XI],g.prototype,"clicked",void 0),f([n.XI],g.prototype,"updateFriends",void 0),g=f([o.PA],g);const y=g},4620(e,t,s){s.d(t,{A:()=>u});var r=s(5191),a=s(3358),i=s(9981),n=s(5093),o=s(6540),l=s(7634),c=s(1883);function u({modifiers:e,post:t}){let s;null!=t.first_image&&(s=o.createElement(r.A,{className:"news-card__cover",src:t.first_image,src2x:t["first_image@2x"]}));let u=t.preview;return null==u&&(u=""),o.createElement("a",{className:(0,l.Zt)("news-card",null!=e?e:["index","hover"]),href:(0,i.w)("news.show",{news:t.slug})},o.createElement("div",{className:"news-card__cover-container"},s,o.createElement("div",{className:"news-card__time js-tooltip-time",title:t.published_at},n.utc(t.published_at).format("ll"))),o.createElement("div",{className:"news-card__main"},o.createElement("div",{className:"news-card__row news-card__row--title"},t.title),o.createElement("div",{dangerouslySetInnerHTML:{__html:u},className:"news-card__row news-card__row--preview"}),o.createElement("div",{className:"news-card__row news-card__row--author"},o.createElement(a.A,{mappings:{user:o.createElement("strong",null,t.author)},pattern:(0,c.pw)("news.show.by")}))))}},4681(e,t,s){s.d(t,{aI:()=>v,oF:()=>f});var r=s(4467),a=s(9981),i=s(7813),n=s(1370),o=s(6540),l=s(961),c=s(6407),u=s(1883),d=s(6131),p=s(3358),m=s(4692),h=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};const b="report-form";function f(e){const t=document.createElement("div");(0,l.render)(o.createElement(_,{reportableId:e.reportableId,reportableType:e.reportableType,root:t,username:e.username}),t)}const v={beatmapset:"beatmapset",beatmapset_discussion_post:"beatmapset_discussion_post",comment:"comment",forum_post:"forum_post",message:"message",solo_score:"scores",team:"team",user:"user"},g={Cheating:(0,u.pw)("users.report.options.cheating"),CopyrightInfringement:(0,u.pw)("users.report.options.copyright_infringement"),MultipleAccounts:(0,u.pw)("users.report.options.multiple_accounts"),Insults:(0,u.pw)("users.report.options.insults"),Spam:(0,u.pw)("users.report.options.spam"),InappropriateChat:(0,u.pw)("users.report.options.inappropriate_chat"),UnwantedContent:(0,u.pw)("users.report.options.unwanted_content"),Nonsense:(0,u.pw)("users.report.options.nonsense"),Other:(0,u.pw)("users.report.options.other")},y={beatmapset:["UnwantedContent","CopyrightInfringement","Other"],post:["Insults","Spam","UnwantedContent","Nonsense","Other"],score:["Cheating","MultipleAccounts","Other"],team:["UnwantedContent","Other"],user:["Cheating","MultipleAccounts","InappropriateChat","UnwantedContent","Other"]},w={beatmapset:y.beatmapset,beatmapset_discussion_post:y.post,comment:y.post,forum_post:y.post,message:y.post,scores:y.score,team:y.team,user:y.user};let _=class extends o.Component{get canSubmit(){return!this.disabled&&(this.comments.length>0||"message"===this.props.reportableType)}get groupKey(){return v[this.props.reportableType]}get isDmca(){return"CopyrightInfringement"===this.selectedReasonKey}get options(){var e;return(null!==(e=w[this.groupKey])&&void 0!==e?e:Object.keys(g)).map(e=>({href:"#",id:e,text:g[e]}))}constructor(e){super(e),Object.defineProperty(this,"comments",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"completed",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"disabled",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"selectedReasonKey",{enumerable:!0,configurable:!0,writable:!0,value:this.options[0].id}),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"handleClose",{enumerable:!0,configurable:!0,writable:!0,value:()=>{(0,l.unmountComponentAtNode)(this.props.root)}}),Object.defineProperty(this,"handleCommentsChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.comments=e.target.value}}),Object.defineProperty(this,"handleReasonChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t;"string"==typeof(t=e)&&t in g&&(this.selectedReasonKey=e)}}),Object.defineProperty(this,"handleSubmit",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.disabled=!0;const e={data:{comments:this.comments,reason:this.selectedReasonKey,reportable_id:this.props.reportableId,reportable_type:this.props.reportableType},dataType:"json",type:"POST",url:(0,a.w)("reports.store")};m.ajax(e).done((0,i.XI)(()=>{this.timeout=window.setTimeout(this.handleClose,1e3),this.completed=!0})).fail((0,i.XI)(e=>{(0,c.S5)(e),this.disabled=!1}))}}),(0,i.Gn)(this)}componentDidMount(){m(document).on("turbo:before-cache",this.handleClose)}componentWillUnmount(){m(document).off("turbo:before-cache",this.handleClose),window.clearTimeout(this.timeout)}render(){return o.createElement(d.A,{onClose:this.handleClose},o.createElement("div",{className:b},o.createElement("div",{className:`${b}__header`},o.createElement("div",{className:`${b}__row ${b}__row--exclamation`},o.createElement("i",{className:"fas fa-exclamation-triangle"})),o.createElement("div",{className:`${b}__row ${b}__row--title`},o.createElement("span",null,this.renderTitle()))),!this.completed&&this.renderFormContent()))}renderDmcaInfo(){return o.createElement("div",null,o.createElement("p",null,o.createElement(p.A,{mappings:{mail:o.createElement("a",{href:"mailto:copyright@ppy.sh"},"copyright@ppy.sh"),policy:o.createElement("a",{href:(0,a.w)("legal",{locale:currentLocale,path:"Copyright"})},(0,u.pw)("users.report.dmca.message_1.policy"))},pattern:(0,u.pw)("users.report.dmca.message_1._")})),o.createElement("p",null,(0,u.pw)("users.report.dmca.message_2")))}renderFormContent(){return o.createElement("div",null,0!==this.options.length&&o.createElement(o.Fragment,null,o.createElement("div",{className:`${b}__row`},(0,u.pw)("users.report.reason")),o.createElement("div",{className:`${b}__row`},o.createElement(r.A,{blackout:!1,href:"#",modifiers:"report",onSelect:this.handleReasonChange,options:this.options,selected:this.selectedReasonKey},g[this.selectedReasonKey]))),this.isDmca?o.createElement("div",{className:`${b}__row`},this.renderDmcaInfo()):o.createElement(o.Fragment,null,o.createElement("div",{className:`${b}__row`},(0,u.pw)("users.report.comments")),o.createElement("div",{className:`${b}__row`},o.createElement("textarea",{className:`${b}__textarea`,maxLength:2e3,onChange:this.handleCommentsChange,placeholder:(0,u.pw)("users.report.placeholder"),value:this.comments}))),o.createElement("div",{className:`${b}__row ${b}__row--buttons`},!this.isDmca&&o.createElement("button",{className:`${b}__button ${b}__button--report`,disabled:!this.canSubmit,onClick:this.handleSubmit,type:"button"},(0,u.pw)("users.report.actions.send")),o.createElement("button",{className:`${b}__button`,disabled:this.disabled,onClick:this.handleClose,type:"button"},(0,u.pw)("users.report.actions.cancel"))))}renderTitle(){return this.completed?(0,u.pw)("users.report.thanks"):o.createElement(p.A,{mappings:{username:o.createElement("strong",null,this.props.username)},pattern:(0,u.pw)(`report.${this.groupKey}.title`)})}};h([i.sH],_.prototype,"comments",void 0),h([i.sH],_.prototype,"completed",void 0),h([i.sH],_.prototype,"disabled",void 0),h([i.sH],_.prototype,"selectedReasonKey",void 0),h([i.EW],_.prototype,"options",null),h([i.XI],_.prototype,"handleCommentsChange",void 0),h([i.XI],_.prototype,"handleReasonChange",void 0),h([i.XI],_.prototype,"handleSubmit",void 0),_=h([n.PA],_)},4691(e,t,s){s.d(t,{A:()=>p});var r=s(1370),a=s(6540),i=s(7634),n=s(1883),o=s(8102),l=s(8623),c=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};const u="comment-show-more";let d=class extends a.Component{constructor(){super(...arguments),Object.defineProperty(this,"load",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.props.controller.apiLoadMore(this.props.parent)}})}get loading(){return this.props.controller.isLoading(this.props.parent)}get hasMoreComments(){var e;return null==this.props.parent||null===(e=this.props.controller.state.hasMore[this.props.parent.id])||void 0===e||e}render(){var e,t;return this.props.comments.length>=this.props.total?null:this.hasMoreComments?null!==(e=this.props.top)&&void 0!==e&&e?a.createElement(o.A,{callback:this.load,hasMore:!0,loading:this.loading,modifiers:"comments",remaining:this.props.total-this.props.comments.length}):a.createElement("div",{className:(0,i.Zt)(u,this.props.modifiers)},this.loading?a.createElement(l.y,null):a.createElement("button",{className:`${u}__link`,onClick:this.load},null!==(t=this.props.label)&&void 0!==t?t:(0,n.pw)("common.buttons.show_more"))):null}};d=c([r.PA],d);const p=d},4758(e,t,s){s.d(t,{n:()=>i});var r=s(9981),a=s(4692);function i(e,t){return a.ajax((0,r.w)("users.lookup"),{data:{exclude_bots:t,ids:e},dataType:"json"})}},4809(e,t,s){s.d(t,{A:()=>g});var r=s(7833),a=s(7813),i=s(1370),n=s(2853),o=s(6540),l=s(7634),c=s(7144),u=s(1883),d=s(4893),p=s(8623),m=s(241),h=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};const b="comment-editor",f={edit:"save",new:"post",reply:"reply"};let v=class extends o.Component{get canComment(){return null!=n.A.currentUser&&("edit"===this.mode||null==this.canNewCommentReason)}get canNewCommentReason(){return null==this.props.commentableMeta?null:"current_user_attributes"in this.props.commentableMeta?this.props.commentableMeta.current_user_attributes.can_new_comment_reason:(0,u.pw)("authorization.comment.store.disabled")}get isValid(){return this.message.length>0}get initialMessage(){var e;return null!==(e=this.props.message)&&void 0!==e?e:""}get mode(){return null!=this.props.parent?"reply":null!=this.props.id?"edit":"new"}get placeholder(){var e;return this.canComment?(0,u.pw)(`comments.placeholder.${this.mode}`):null!==(e=this.canNewCommentReason)&&void 0!==e?e:void 0}constructor(e){super(e),Object.defineProperty(this,"handleKeyDown",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"message",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"posting",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"textarea",{enumerable:!0,configurable:!0,writable:!0,value:o.createRef()}),Object.defineProperty(this,"xhr",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"close",{enumerable:!0,configurable:!0,writable:!0,value:()=>{null!=this.props.close&&(this.initialMessage===this.message||confirm((0,u.pw)("common.confirmation_unsaved")))&&this.props.close()}}),Object.defineProperty(this,"handleKeyDownCallback",{enumerable:!0,configurable:!0,writable:!0,value:e=>{e===c.p.Cancel?this.close():e===c.p.Submit&&this.post()}}),Object.defineProperty(this,"onChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.message=e.currentTarget.value}}),Object.defineProperty(this,"post",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e,t,s,r;const i={commentableMeta:this.props.commentableMeta,id:this.props.id,message:this.message,mode:this.mode,parentId:null===(e=this.props.parent)||void 0===e?void 0:e.id};this.props.controller.isPosting(i)||("edit"!==this.mode||this.message!==(null!==(t=this.props.message)&&void 0!==t?t:"")?this.props.controller.apiPost(i,(0,a.XI)(()=>{var e,t,s,r;this.message="",null===(t=(e=this.props).onPosted)||void 0===t||t.call(e,this.mode),null===(r=(s=this.props).close)||void 0===r||r.call(s)})):null===(r=(s=this.props).close)||void 0===r||r.call(s))}}),this.handleKeyDown=(0,c.R)(this.handleKeyDownCallback),this.message=this.initialMessage,(0,a.Gn)(this)}componentDidMount(){var e;null!==(e=this.props.focus)&&void 0!==e&&!e||null==this.textarea.current||(this.textarea.current.selectionStart=-1,this.textarea.current.focus())}componentWillUnmount(){var e;null===(e=this.xhr)||void 0===e||e.abort()}render(){const e=(0,l.Zt)(b,this.props.modifiers,{fancy:"new"===this.mode});return o.createElement("div",{className:e},"new"===this.mode&&o.createElement("div",{className:`${b}__avatar`},o.createElement(m.A,{modifiers:"full-circle",user:n.A.currentUser})),o.createElement(r.A,{className:`${b}__message`,disabled:!this.canComment||this.posting,innerRef:this.textarea,onChange:this.onChange,onKeyDown:this.handleKeyDown,placeholder:this.placeholder,value:this.message}),o.createElement("div",{className:`${b}__footer`},o.createElement("div",{className:`${b}__footer-item ${b}__footer-item--notice hidden-xs`},this.canComment&&(0,u.pw)("comments.editor.textarea_hint._",{action:(0,u.pw)(`comments.editor.textarea_hint.${this.mode}`)})),null!=this.props.close&&o.createElement("div",{className:`${b}__footer-item`},o.createElement(d.A,{disabled:this.posting,modifiers:"comment-editor",props:{onClick:this.props.close},text:(0,u.pw)("common.buttons.cancel")})),null!=n.A.currentUser?o.createElement("div",{className:`${b}__footer-item`},o.createElement(d.A,{disabled:!this.isValid,isBusy:this.posting,modifiers:"comment-editor",props:{onClick:this.post},text:{top:this.posting?o.createElement(p.y,{modifiers:"center-inline"}):(0,u.pw)(`common.buttons.${f[this.mode]}`)}})):o.createElement("div",{className:`${b}__footer-item`},o.createElement(d.A,{extraClasses:["js-user-link"],modifiers:"comment-editor",text:(0,u.pw)(`comments.guest_button.${this.mode}`)}))))}};h([a.sH],v.prototype,"message",void 0),h([a.sH],v.prototype,"posting",void 0),h([a.EW],v.prototype,"canComment",null),h([a.EW],v.prototype,"mode",null),h([a.EW],v.prototype,"placeholder",null),h([a.XI],v.prototype,"onChange",void 0),h([a.XI],v.prototype,"post",void 0),v=h([i.PA],v);const g=v},4884(e,t,s){s.d(t,{A:()=>l});var r=s(5093),a=s(6540),i=s(1883);let n=!1;const o={d:"d",dd:"dd",h:"h",hh:"hh",m:"m",mm:"mm",month:"M",months:"MM",past:"past",s:"s",y:"y",yy:"yy"};function l(e){return function(){if(n)return;const e=r.locale(),t={future:""};for(const[s,r]of Object.entries(o))t[r]=(0,i.pw)(`common.scoreboard_time.${s}`);r.defineLocale("scoreboard",{relativeTime:t}),r.locale(e),n=!0}(),a.createElement("time",{className:"js-tooltip-time",title:e.dateTime},r(e.dateTime).locale("scoreboard").fromNow())}},4885(e,t,s){s.d(t,{A:()=>v});var r=s(9981),a=s(2543),i=s(7813),n=s(9207),o=s(2853),l=s(6407),c=s(1883),u=s(450),d=s(4692),p=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};function m(e){Object.values(e).forEach(e=>null==e?void 0:e.abort())}function h(){return{commentableMetaItems:{},commentIdsByParentId:{},comments:{},hasMore:{},isFollowing:!1,pinnedCommentIds:[],sort:"new",topLevelCount:0,total:0,users:{},votedCommentIds:new Set}}function b(e){return null!=e&&"id"in e?`${e.type}-${e.id}`:"null"}function f(e){var t,s;switch(e.mode){case"edit":return null!==(t=e.id)&&void 0!==t?t:0;case"new":return b(e.commentableMeta);case"reply":return null!==(s=e.parentId)&&void 0!==s?s:0;default:throw new u.n(e.mode)}}class v{get commentableMeta(){return this.state.commentableMetaItems[b(this.baseCommentableMeta)]}get pinnedComments(){return this.getComments(this.state.pinnedCommentIds)}get stateEl(){var e;const t=(null!==(e=window.newBody)&&void 0!==e?e:document.body).querySelector(this.stateSelector);if(t instanceof HTMLScriptElement)return t;throw new Error("missing state element")}get topLevelComments(){var e;return this.getComments(null!==(e=this.state.commentIdsByParentId[0])&&void 0!==e?e:[])}constructor(e,t){Object.defineProperty(this,"stateSelector",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"baseCommentableMeta",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"nextState",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"destroyed",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"xhr",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"destroy",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.destroyed||(document.removeEventListener("turbo:before-cache",this.destroy),m(this.xhr),this.stateStore(),this.destroyed=!0)}});const s=this.stateEl,r=s.dataset.savedState;if(null!=r)this.state=this.stateFromJson(JSON.parse(r));else{this.state=h();const e=JSON.parse(s.text);this.loadBundle(e,!0,!0)}(0,i.Gn)(this),document.addEventListener("turbo:before-cache",this.destroy)}apiDelete(e){var t;if(this.isDeleting(e)||!confirm((0,c.pw)("common.confirmation")))return;const s=`delete-${e.id}`;this.xhr[s]=d.ajax((0,r.w)("comments.destroy",{comment:e.id}),{method:"DELETE"}),null===(t=this.xhr[s])||void 0===t||t.done(e=>this.loadBundle(e)).fail(l.S5).always((0,i.XI)(()=>{delete this.xhr[s]}))}apiLoadMore(e){var t,s,n;if(this.isLoading(e))return;const o=null!==(t=null==e?void 0:e.id)&&void 0!==t?t:0,l={parent_id:o,sort:this.state.sort};null==e?null!=this.baseCommentableMeta&&(l.commentable_id=this.baseCommentableMeta.id,l.commentable_type=this.baseCommentableMeta.type):(l.commentable_id=e.commentableId,l.commentable_type=e.commentableType);const c=(0,a.last)(null!==(s=this.state.commentIdsByParentId[o])&&void 0!==s?s:[]);null!=c&&(l.after=c);const u=`load-${o}`;this.xhr[u]=d.ajax((0,r.w)("comments.index"),{data:l,dataType:"json"}),null===(n=this.xhr[u])||void 0===n||n.done(e=>this.loadBundle(e)).always((0,i.XI)(()=>{delete this.xhr[u]}))}apiPost(e,t){var s;if(this.isPosting(e))return;if(o.A.userLogin.showIfGuest(()=>this.apiPost(e,t)))return;const a={comment:{message:e.message}};let n=(0,r.w)("comments.store"),c="POST";switch(e.mode){case"edit":if(null==e.id)throw new Error("missing post id in edit mode");n=(0,r.w)("comments.update",{comment:e.id}),c="PUT";break;case"new":if(null==e.commentableMeta||!("id"in e.commentableMeta))throw new Error("missing commentable meta in new mode");a.comment.commentable_type=e.commentableMeta.type,a.comment.commentable_id=e.commentableMeta.id;break;case"reply":if(null==e.parentId)throw new Error("missing parent in reply mode");a.comment.parent_id=e.parentId;break;default:throw new u.n(e.mode)}const p=`${e.mode}-${f(e)}`;this.xhr[p]=d.ajax(n,{data:a,method:c}),null===(s=this.xhr[p])||void 0===s||s.always((0,i.XI)(()=>{delete this.xhr[p]})).done(e=>(0,i.h5)(()=>{t(),this.loadBundle(e,!1)})).fail(l.S5)}apiRestore(e){var t;if(this.isDeleting(e)||!confirm((0,c.pw)("common.confirmation")))return;const s=`delete-${e.id}`;this.xhr[s]=d.ajax((0,r.w)("comments.restore",{comment:e.id}),{method:"POST"}),null===(t=this.xhr[s])||void 0===t||t.done(e=>this.loadBundle(e)).fail(l.S5).always((0,i.XI)(()=>{delete this.xhr[s]}))}apiSetSort(e){if(null!=this.xhr.sort)return;this.nextState.sort=e;const t={parent_id:0,sort:e};null!=this.commentableMeta&&"id"in this.commentableMeta&&(t.commentable_id=this.commentableMeta.id,t.commentable_type=this.commentableMeta.type),this.xhr.sort=d.ajax((0,r.w)("comments.index"),{data:t,dataType:"json"}),this.xhr.sort.done(e=>(0,i.h5)(()=>{m(this.xhr),this.state=h(),this.nextState={},this.xhr={},this.loadBundle(e,!0,!0),o.A.userPreferences.set("comments_sort",this.state.sort)}))}apiToggleFollow(){if(null!=this.nextState.isFollowing)return;const e=this.commentableMeta;if(null==e||!("id"in e))return;const t=this.nextState.isFollowing=!this.state.isFollowing;this.xhr.follow=d.ajax((0,r.w)("follows.store"),{data:{follow:{notifiable_id:e.id,notifiable_type:e.type,subtype:"comment"}},dataType:"json",method:this.nextState.isFollowing?"POST":"DELETE"}),this.xhr.follow.always((0,i.XI)(()=>{delete this.xhr.follow,this.nextState.isFollowing=void 0})).done((0,i.XI)(()=>{this.state.isFollowing=t})).fail(l.S5)}apiTogglePin(e){var t;const s=`pin-${e.id}`;null==this.xhr[s]&&e.canPin&&(this.xhr[s]=d.ajax((0,r.w)("comments.pin",{comment:e.id}),{method:e.pinned?"DELETE":"POST"}),null===(t=this.xhr[s])||void 0===t||t.done(e=>this.loadBundle(e)).fail(l.S5).always((0,i.XI)(()=>{delete this.xhr[s]})))}apiToggleVote(e){var t;if(this.isVoting(e))return;if(o.A.userLogin.showIfGuest(()=>this.apiToggleVote(e)))return;let s,a;this.state.votedCommentIds.has(e.id)?(s="DELETE",a="delete"):(s="POST",a="add");const n=`vote-${e.id}`;this.xhr[n]=d.ajax((0,r.w)("comments.vote",{comment:e.id}),{method:s}),null===(t=this.xhr[n])||void 0===t||t.done(t=>(0,i.h5)(()=>{this.loadBundle(t),this.state.votedCommentIds[a](e.id)})).fail(l.S5).always((0,i.XI)(()=>{delete this.xhr[n]}))}getCommentableMeta(e){var t;return null!==(t=this.state.commentableMetaItems[`${e.commentableType}-${e.commentableId}`])&&void 0!==t?t:{title:""}}getComments(e){const t=[];for(const s of null!=e?e:[]){const e=this.state.comments[s];null!=e&&t.push(e)}return t}getReplies(e){const t=this.state.commentIdsByParentId[e.id];return this.getComments(t)}getUser(e){return null==e?void 0:this.state.users[e]}isLoading(e){var t;return null!=this.xhr[`load-${null!==(t=null==e?void 0:e.id)&&void 0!==t?t:0}`]}isPosting(e){return null!=this.xhr[`${e.mode}-${f(e)}`]}isVoting(e){return null!=this.xhr[`vote-${e.id}`]}addComment(e){var t;const s=e.id;(null===(t=this.state.comments[s])||void 0===t?void 0:t.updatedAt)!==e.updated_at&&(this.state.comments[s]=new n.A(e,this))}addCommentId(e,t){var s,r,a,i;const n=null!==(s=e.parent_id)&&void 0!==s?s:0;null!==(r=(i=this.state.commentIdsByParentId)[n])&&void 0!==r||(i[n]=[]);const o=null!==(a=this.state.commentIdsByParentId[n])&&void 0!==a?a:[],l=e.id;o.includes(l)||(t?o.push(l):o.unshift(l))}isDeleting(e){return null!=this.xhr[`delete-${e.id}`]}loadBundle(e,t=!0,s=!1){var r;s&&(this.state.commentIdsByParentId[-1]=e.comments.map(e=>e.id),this.state.sort=e.sort,t=!0),e.comments.forEach(e=>{this.addCommentId(e,t),this.addComment(e)}),e.included_comments.forEach(e=>{this.addCommentId(e,!0),this.addComment(e)}),this.state.pinnedCommentIds=[],(null!==(r=e.pinned_comments)&&void 0!==r?r:[]).forEach(e=>{this.state.pinnedCommentIds.push(e.id),this.addComment(e)}),e.user_votes.forEach(e=>this.state.votedCommentIds.add(e)),this.state.isFollowing=e.user_follow,this.state.hasMore[e.has_more_id]=e.has_more,null!=e.top_level_count&&null!=e.total&&(this.state.topLevelCount=e.top_level_count,this.state.total=e.total);for(const i of e.users){const e=i.id;(0,a.isEqual)(this.state.users[e],i)||(this.state.users[e]=i)}for(const i of e.commentable_meta){const e=b(i);(0,a.isEqual)(this.state.commentableMetaItems[e],i)||(this.state.commentableMetaItems[e]=i)}}stateFromJson(e){const t={};for(const s of e.comments)t[s.id]=new n.A(s,this);return{commentableMetaItems:e.commentableMetaItems,commentIdsByParentId:e.commentIdsByParentId,comments:t,hasMore:e.hasMore,isFollowing:e.isFollowing,pinnedCommentIds:e.pinnedCommentIds,sort:e.sort,topLevelCount:e.topLevelCount,total:e.total,users:e.users,votedCommentIds:new Set(e.votedCommentIds)}}stateStore(){const e=[];for(const s of Object.values(this.state.comments))null!=s&&e.push(s.toJson());const t={commentableMetaItems:this.state.commentableMetaItems,commentIdsByParentId:this.state.commentIdsByParentId,comments:e,hasMore:this.state.hasMore,isFollowing:this.state.isFollowing,pinnedCommentIds:this.state.pinnedCommentIds,sort:this.state.sort,topLevelCount:this.state.topLevelCount,total:this.state.total,users:this.state.users,votedCommentIds:[...this.state.votedCommentIds]};this.stateEl.dataset.savedState=JSON.stringify(t)}}p([i.sH],v.prototype,"nextState",void 0),p([i.sH],v.prototype,"state",void 0),p([i.sH],v.prototype,"xhr",void 0),p([i.XI],v.prototype,"apiDelete",null),p([i.XI],v.prototype,"apiLoadMore",null),p([i.XI],v.prototype,"apiPost",null),p([i.XI],v.prototype,"apiRestore",null),p([i.XI],v.prototype,"apiSetSort",null),p([i.XI],v.prototype,"apiToggleFollow",null),p([i.XI],v.prototype,"apiTogglePin",null),p([i.XI],v.prototype,"apiToggleVote",null),p([i.XI],v.prototype,"loadBundle",null),p([i.XI],v.prototype,"stateFromJson",null),p([i.XI],v.prototype,"stateStore",null)},4893(e,t,s){s.d(t,{A:()=>l});var r=s(6540),a=s(7634),i=s(5812),n=s(8623);class o extends r.Component{get disabled(){return this.props.disabled||this.props.isBusy}get text(){return null==this.props.text?null:"string"==typeof this.props.text?{top:this.props.text}:this.props.text}render(){let e=(0,a.Zt)("btn-osu-big",this.props.modifiers,{disabled:this.disabled});return null!=this.props.extraClasses&&(e+=` ${this.props.extraClasses.join(" ")}`),this.disabled?r.createElement("span",Object.assign({className:e},this.props.props,{onClick:void 0}),this.renderChildren()):(0,i.E)(this.props.href)?r.createElement("a",Object.assign({className:e,href:this.props.href},this.props.props),this.renderChildren()):r.createElement("button",Object.assign({className:e,type:this.props.isSubmit?"submit":"button"},this.props.props),this.renderChildren())}renderChildren(){const e=this.text;return r.createElement("span",{className:(0,a.Zt)("btn-osu-big__content",{center:null==e||null==this.props.icon})},null!=e&&r.createElement("span",{className:"btn-osu-big__left"},r.createElement("span",{className:"btn-osu-big__text-top"},e.top),"bottom"in e&&null!=e.bottom&&r.createElement("span",{className:"btn-osu-big__text-bottom"},e.bottom)),null!=this.props.icon&&r.createElement("span",{className:"btn-osu-big__icon"},r.createElement("span",{className:"fa fa-fw"},this.props.isBusy?r.createElement(n.y,{modifiers:"center-inline"}):r.createElement("span",{className:this.props.icon}))))}}Object.defineProperty(o,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{disabled:!1,extraClasses:[],isBusy:!1,isSubmit:!1,props:{}}});const l=o},4909(e,t,s){s.d(t,{A:()=>r});const r=(0,s(6540).createContext)({isFriendsPage:!1})},4920(e,t,s){s.d(t,{cM:()=>o,hd:()=>l,qg:()=>n});var r=s(3702),a=s(723),i=s(3944);function n(e){const[t,s]=e.slice(1).split("/");return{beatmapId:(0,a.y)(s),playmode:(0,r.HQ)(t)}}function o({beatmap:e,ruleset:t}){let s="";return null!=t||(t=null==e?void 0:e.mode),null!=t&&(s+=`#${t}`,null!=e&&(s+=`/${e.id}`)),s}function l(e){const t=(0,i.bS)().href,s=`${t.replace(/#.*/,"")}${e}`;s!==t&&history.replaceState(history.state,"",s)}},4944(e,t,s){s.d(t,{A:()=>i});var r=s(6540),a=s(8547);function i(e){const{groups:t=[],modifiers:s,short:i=!1,wrapper:n}=e;let o=!1;return r.createElement(r.Fragment,null,t.map(e=>{const t=i&&o?`${n} u-hidden-narrow`:n;return o=!0,r.createElement("span",{key:e.identifier,className:t},r.createElement(a.A,{group:e,modifiers:s}))}))}},4988(e,t,s){s.d(t,{A:()=>n});var r=s(6540),a=s(7634),i=s(1883);function n(e){const t=(0,a.Zt)("page-mode-link","profile-page",{"is-active":e.page===e.currentPage}),s=(0,i.pw)(`users.show.extra.${e.page}.title`);return r.createElement("span",{className:t},r.createElement("span",{className:"fake-bold","data-content":s},s))}},5191(e,t,s){s.d(t,{A:()=>n});var r=s(6540),a=s(256),i=function(e,t){var s={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(s[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);an});var r=s(6540),a=s(7634),i=s(5812);class n extends r.PureComponent{constructor(){super(...arguments),Object.defineProperty(this,"bn",{enumerable:!0,configurable:!0,writable:!0,value:"circular-progress"})}render(){var e;const t=this.bn,s=Math.min(1,this.props.current/this.props.max);if(this.props.onlyShowAsWarning&&s<.75)return null;const n=this.props.ignoreProgress?void 0:{transform:`rotate(${s}turn)`};return r.createElement("div",{className:(0,a.Zt)(t,{over:1===s,over50:s>.5,warn:s>=.75&&s<1,[this.props.theme]:(0,i.E)(this.props.theme)}),title:null!==(e=this.props.tooltip)&&void 0!==e?e:`${this.props.current} / ${this.props.max}`},r.createElement("div",{className:`${t}__label`},this.props.max-this.props.current),r.createElement("div",{className:`${t}__slice`},r.createElement("div",{className:`${t}__circle`,style:n}),r.createElement("div",{className:`${t}__circle ${t}__circle--fill`})))}}Object.defineProperty(n,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{ignoreProgress:!1,onlyShowAsWarning:!1,theme:""}})},5349(e,t,s){s.d(t,{A:()=>i});var r=s(9981),a=s(4692);function i(e,t,s){return a.ajax((0,r.w)("users.extra-page",{mode:s,page:t,user:e.id}))}},5374(e,t,s){s.d(t,{Bz:()=>o,VR:()=>n,tx:()=>l});var r=s(7813),a=s(6540),i=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};class n{constructor(){Object.defineProperty(this,"value",{enumerable:!0,configurable:!0,writable:!0,value:null}),(0,r.Gn)(this)}setValue(e){this.value=e}}i([r.sH],n.prototype,"value",void 0),i([r.XI],n.prototype,"setValue",null);const o=(0,a.createContext)(new n),l=(0,a.createContext)(null)},5472(e,t,s){s.d(t,{A:()=>o});var r=s(6540),a=s(8156),i=s(4692);const n="notification-banner-v2";class o extends r.PureComponent{constructor(e){var t;super(e),Object.defineProperty(this,"portalRoot",{enumerable:!0,configurable:!0,writable:!0,value:void 0});const s=(null!==(t=window.newBody)&&void 0!==t?t:document.body).querySelector(".js-notification-banners");if(null==s)throw new Error("Notification banner container is missing");this.portalRoot=s}componentDidMount(){this.notifySyncHeight()}componentWillUnmount(){window.setTimeout(this.notifySyncHeight)}render(){return r.createElement(a.A,{root:this.portalRoot},r.createElement("div",{className:`${n} ${n}--${this.props.type}`},r.createElement("div",{className:`${n}__col ${n}__col--icon`}),r.createElement("div",{className:`${n}__col ${n}__col--label`},r.createElement("div",{className:`${n}__type`},this.props.type),r.createElement("div",{className:`${n}__text`},this.props.title)),r.createElement("div",{className:`${n}__col`},r.createElement("div",{className:`${n}__text`},this.props.message))))}notifySyncHeight(){i.publish("sync-height:force")}}},5633(e,t,s){s.d(t,{A:()=>h});var r=s(7813),a=s(1370),i=s(6540),n=s(5848),o=s(7634),l=s(6250),c=s(3431),u=s(7612),d=s(4692),p=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let m=class extends i.Component{constructor(e){super(e),Object.defineProperty(this,"overflowMods",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"tooltipDisposer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"handleHoverShowMore",{enumerable:!0,configurable:!0,writable:!0,value:e=>{if(null!=this.tooltipDisposer)return;const t=()=>i.createElement("div",{className:"mods-overflow-tooltip"},i.createElement("div",{className:"mods-overflow-tooltip__content"},this.overflowMods.map(e=>{const t=(0,c.xJ)(e);return i.createElement("div",{key:e.acronym,className:"mods-overflow-tooltip__item"},i.createElement(u.A,{hideNameInTitle:!0,mod:e}),t.name)}))),s=e.currentTarget;d(s).qtip({content:{text:"[placeholder]"},hide:{delay:500,effect(){d(this).fadeTo(250,0)},fixed:!0},position:(0,l.g)("top center"),show:{delay:100,ready:!0},style:{classes:"qtip qtip--user-list",def:!1,tip:!1}}),this.tooltipDisposer=(0,r.fm)(()=>{const e=(0,n.renderToStaticMarkup)(t());d(s).qtip("set",{"content.text":e})})}}),(0,r.Gn)(this)}componentWillUnmount(){var e;null===(e=this.tooltipDisposer)||void 0===e||e.call(this)}render(){var e;const t=(null!==(e=this.props.maxIcons)&&void 0!==e?e:5)-1;let s=0;const r=[];this.overflowMods=[];for(let a=0;a0&&i.createElement("div",{className:"mods__over",onMouseOver:this.handleHoverShowMore,onTouchStart:this.handleHoverShowMore},`+${this.overflowMods.length}`))}};m=p([a.PA],m);const h=m},5646(e,t,s){s.d(t,{p:()=>m});var r=s(8064),a=s(9981),i=s(1370),n=s(2853),o=s(6540),l=s(1883),c=s(3431),u=s(3816),d=s(5953),p=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let m=class extends o.Component{render(){const{score:e,user:t}=this.props;return o.createElement(u.V,null,s=>o.createElement("div",{className:"simple-menu"},n.A.scorePins.canBePinned(e)&&o.createElement(r.A,{className:"simple-menu__item",onUpdate:s.dismiss,score:e}),(0,c.gI)(e)&&o.createElement("a",{className:"simple-menu__item",href:(0,a.w)("scores.show",{score:e.id})},(0,l.pw)("users.show.extra.top_ranks.view_details")),(0,c.mu)(e)&&o.createElement("a",{className:"simple-menu__item js-login-required--click",href:(0,a.w)("scores.download",{score:e.id}),onClick:s.dismiss},(0,l.pw)("users.show.extra.top_ranks.download_replay")),(0,c.N3)(e)&&o.createElement(d.r,{className:"simple-menu__item",onFormOpen:s.dismiss,reportableId:e.id.toString(),reportableType:e.type,user:t})))}};m=p([i.PA],m)},5647(e,t,s){s.d(t,{A:()=>g});var r=s(615),a=s(1807),i=s(7482),n=s(1518),o=s(9981),l=s(2543),c=s(8443),u=s(6540),d=s(6606),p=s(7634),m=s(256),h=s(1883),b=s(3358),f=s(8994);function v(e){return"string"==typeof e?e.toLowerCase().replace(/ /g,"-"):""}class g extends u.PureComponent{get beatmapsetId(){var e;return null===(e=this.props.event.beatmapset)||void 0===e?void 0:e.id}get discussionId(){const e=this.props.event.comment;if(null!=e&&"object"==typeof e&&"beatmap_discussion_id"in e)return e.beatmap_discussion_id}get discussion(){var e,t;return null!==(e=this.props.event.discussion)&&void 0!==e?e:null===(t=this.props.discussions)||void 0===t?void 0:t.get(this.discussionId)}get firstPost(){var e,t,s,r;const a=null!==(t=null===(e=this.discussion)||void 0===e?void 0:e.starting_post)&&void 0!==t?t:null===(r=null===(s=this.discussion)||void 0===s?void 0:s.posts)||void 0===r?void 0:r[0];return(null==a?void 0:a.system)?null:a}render(){return"discussions"===this.props.mode?this.renderDiscussionsVersion():this.renderProfileVersion()}renderDiscussionsVersion(){var e;const t=null!==(e=this.props.time)&&void 0!==e?e:this.props.event.created_at;return u.createElement("div",{className:"beatmapset-event"},u.createElement("div",{className:"beatmapset-event__icon",style:this.iconStyle()}),u.createElement("div",{className:"beatmapset-event__time"},u.createElement(n.A,{dateTime:t,format:"LT"})),u.createElement("div",{className:"beatmapset-event__content"},this.content()))}renderProfileVersion(){let e;return null!=this.beatmapsetId&&(e=(0,o.w)("beatmapsets.discussion",{beatmapset:this.beatmapsetId}),null!=this.discussionId&&(e=`${e}#/${this.discussionId}`)),u.createElement("div",{className:"beatmapset-event"},null!=e?u.createElement("a",{href:e},u.createElement(i.A,{beatmapset:this.props.event.beatmapset,size:"list"})):u.createElement(i.A,{isDeleted:!0}),u.createElement("div",{className:(0,p.Zt)("beatmapset-event__icon",["beatmapset-activities"]),style:this.iconStyle()}),u.createElement("div",null,u.createElement("div",{className:"beatmapset-event__content"},this.content()),u.createElement("div",{className:"beatmap-discussion-post__info"},u.createElement(n.A,{dateTime:this.props.event.created_at,relative:!0}))))}content(){var e,t,s,i,n;let l,p="",g="[unknown user]",y="",w="";if(null!=this.discussionId){if(null==this.discussion)w=(0,o.w)("beatmapsets.discussions.show",{discussion:this.discussionId}),y=(0,h.pw)("beatmapset_events.item.discussion_deleted");else{const s=null===(e=this.firstPost)||void 0===e?void 0:e.message;w=(0,d.Gm)({discussion:this.discussion}),y=null!=s?u.createElement(r.A,{markdown:s}):"[no preview]";const a=null!==(t=this.props.users.get(this.discussion.user_id))&&void 0!==t?t:c.fc;g=u.createElement(f.A,{user:a})}p=u.createElement("a",{className:"js-beatmap-discussion--jump",href:w},`#${this.discussionId}`)}else"string"==typeof this.props.event.comment&&(y=this.props.event.comment);if("discussion_lock"!==this.props.event.type&&"remove_from_loved"!==this.props.event.type||(y=this.props.event.comment.reason),null!=this.props.event.user_id){const e=this.props.users.get(this.props.event.user_id);l=null!=e?u.createElement(f.A,{user:e}):c.fd.username}const _={discussion:p,discussion_user:g,text:y,user:l};if(null!=this.props.event.comment&&"object"==typeof this.props.event.comment)for(const[r,a]of Object.entries(this.props.event.comment))"number"!=typeof a&&"string"!=typeof a||(_[r]=a);let E=this.props.event.type;switch(this.props.event.type){case"disqualify":"string"==typeof this.props.event.comment&&(E="disqualify_legacy");break;case"genre_edit":_.new=(0,h.pw)(`beatmaps.genre.${v(this.props.event.comment.new)}`),_.old=(0,h.pw)(`beatmaps.genre.${v(this.props.event.comment.old)}`);break;case"language_edit":_.new=(0,h.pw)(`beatmaps.language.${v(this.props.event.comment.new)}`),_.old=(0,h.pw)(`beatmaps.language.${v(this.props.event.comment.old)}`);break;case"nominate":{const e=null===(s=this.props.event.comment)||void 0===s?void 0:s.modes;if(null!=e&&e.length>0){E="nominate_modes";const t=e.map(e=>(0,h.pw)(`beatmaps.mode.${e}`));_.modes=(0,h.sc)(t)}break}case"nsfw_toggle":E+=`.${(null===(i=this.props.event.comment)||void 0===i?void 0:i.new)?"to_1":"to_0"}`;break;case"beatmap_owner_change":{const e=this.props.event.comment,t=null!==(n=e.new_users)&&void 0!==n?n:[{id:e.new_user_id,username:e.new_user_username}];_.beatmap=u.createElement("a",{href:(0,o.w)("beatmaps.show",{beatmap:e.beatmap_id})},e.beatmap_version),_.new_user=u.createElement(a.A,{users:t});break}case"nomination_reset_received":{const e=this.props.event.comment;"profile"===this.props.mode?(E+="_profile",_.user=u.createElement("a",{href:(0,o.w)("users.show",{user:e.source_user_id})},e.source_user_username)):_.source_user=u.createElement("a",{href:(0,o.w)("users.show",{user:e.source_user_id})},e.source_user_username);break}case"offset_edit":_.new=(0,m.ZV)(this.props.event.comment.new),_.old=(0,m.ZV)(this.props.event.comment.old)}const P=`beatmapset_events.event.${E}`;let O=(0,h.pw)(P);return null==l||(0,h.pw)(P).includes(":user")||(O+=" (:user)"),u.createElement(b.A,{mappings:_,pattern:O})}iconStyle(){return{"--bg":`var(--bg-${(0,l.kebabCase)(this.props.event.type)})`}}}},5654(e,t,s){s.d(t,{A:()=>I});var r=s(7013),a=s(6540),i=s(8931),n=s(2577);class o extends a.Component{render(){const e=[];try{JSON.parse(this.props.post.message).forEach((t,s)=>{switch(t.type){case"paragraph":{const r=""===t.text.trim()?" ":t.text;e.push(a.createElement(i.A,{key:s,markdown:r,type:"reviews"}));break}case"embed":t.discussion_id&&e.push(a.createElement(n.U,{key:s,data:{discussion_id:t.discussion_id},store:this.props.store}))}})}catch(t){e.push(a.createElement("div",{key:null},"[error parsing review]"))}return a.createElement("div",{className:"beatmap-discussion-review-post"},e)}}var l=s(4893),c=s(1556),u=s(5953),d=s(3358),p=s(7833),m=s(1518),h=s(8994),b=s(9981),f=s(2543),v=s(7813),g=s(1370),y=s(8443),w=s(2853),_=s(6407),E=s(6606),P=s(9232),O=s(7634),j=s(7144),k=s(1883),S=s(738),N=s(3138),T=s(4692),x=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};const A="beatmap-discussion-post";let C=class extends a.Component{get beatmap(){var e;return null===(e=this.props.discussionsState)||void 0===e?void 0:e.currentBeatmap}get beatmapset(){var e;return null===(e=this.props.discussionsState)||void 0===e?void 0:e.beatmapset}get users(){return this.props.store.users}get canEdit(){return null!=this.beatmapset&&(this.isAdmin||!(0,P.PR)(this.beatmapset)&&this.isOwn&&this.props.post.id>this.props.resolvedStateChangedPostId&&!this.beatmapset.discussion_locked)}get canDelete(){var e;return"discussion"===this.props.type?null===(e=this.props.discussion.current_user_attributes)||void 0===e?void 0:e.can_destroy:this.canModerate||this.canEdit}get canModerate(){return(0,E.pd)()}get canReport(){return null!=w.A.currentUser&&this.props.post.user_id!==w.A.currentUser.id}get deleteModel(){return"reply"===this.props.type?this.props.post:this.props.discussion}get isAdmin(){var e,t;return null!==(t=null===(e=w.A.currentUser)||void 0===e?void 0:e.is_admin)&&void 0!==t&&t}get isOwn(){return null!=w.A.currentUser&&w.A.currentUser.id===this.props.post.user_id}get isPosting(){return null!=this.xhr}get isReview(){return"review"===this.props.discussion.message_type&&"discussion"===this.props.type}get isTimeline(){return null!=this.props.discussion.timestamp}constructor(e){super(e),Object.defineProperty(this,"canSave",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"editing",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"handleTextareaKeyDown",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"message",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"messageBodyRef",{enumerable:!0,configurable:!0,writable:!0,value:a.createRef()}),Object.defineProperty(this,"reviewEditorRef",{enumerable:!0,configurable:!0,writable:!0,value:a.createRef()}),Object.defineProperty(this,"textareaMinHeight",{enumerable:!0,configurable:!0,writable:!0,value:"0"}),Object.defineProperty(this,"textareaRef",{enumerable:!0,configurable:!0,writable:!0,value:a.createRef()}),Object.defineProperty(this,"xhr",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"editCancel",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.editing=!1}}),Object.defineProperty(this,"editStart",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.textareaMinHeight=null!=this.messageBodyRef.current?`${this.messageBodyRef.current.getBoundingClientRect().height+50}px`:"0",this.editing=!0,this.message=this.props.post.message}}),Object.defineProperty(this,"handleEditorChange",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e,t;this.canSave=null!==(t=null===(e=this.reviewEditorRef.current)||void 0===e?void 0:e.canSave)&&void 0!==t&&t}}),Object.defineProperty(this,"handleMarkRead",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e;null===(e=this.props.discussionsState)||void 0===e||e.markAsRead(this.props.post.id)}}),Object.defineProperty(this,"handleTextareaChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.message=e.target.value,this.canSave=(0,E.as)(this.message,this.isTimeline)}}),Object.defineProperty(this,"handleTextareaKeyDownCallback",{enumerable:!0,configurable:!0,writable:!0,value:e=>{e===j.p.Submit&&this.updatePost()}}),Object.defineProperty(this,"updatePost",{enumerable:!0,configurable:!0,writable:!0,value:()=>{if(!this.isPosting){if(this.isReview){if(null==this.reviewEditorRef.current)return void console.error("reviewEditor is missing!");const e=this.reviewEditorRef.current.serialize();if((0,f.isEqual)(JSON.parse(this.props.post.message),JSON.parse(e)))return void(this.editing=!1);if(!this.reviewEditorRef.current.showConfirmationIfRequired())return;this.message=e}this.message!==this.props.post.message?(this.xhr=T.ajax((0,b.w)("beatmapsets.discussions.posts.update",{post:this.props.post.id}),{data:{beatmap_discussion_post:{message:this.message}},method:"PUT"}),this.xhr.done(e=>(0,v.h5)(()=>{var t;this.editing=!1,null===(t=this.props.discussionsState)||void 0===t||t.update({beatmapset:e})})).fail(_.S5).always((0,v.XI)(()=>this.xhr=null))):this.editing=!1}}}),(0,v.Gn)(this),this.handleTextareaKeyDown=(0,j.R)(this.handleTextareaKeyDownCallback),(0,g.bH)(this,(0,v.fm)(()=>{this.editing&&setTimeout(()=>{var e;return null===(e=this.textareaRef.current)||void 0===e?void 0:e.focus()},0)}))}componentWillUnmount(){var e;null===(e=this.xhr)||void 0===e||e.abort()}render(){const e=(0,O.Zt)(A,this.props.type,{deleted:null!=this.props.post.deleted_at,editing:this.editing,unread:!this.props.read&&"discussion"!==this.props.type});return a.createElement("div",{className:`${e} js-beatmap-discussion-jump`,"data-post-id":this.props.post.id,onClick:this.handleMarkRead},a.createElement("div",{className:`${A}__content`},"reply"===this.props.type&&a.createElement(N.q,{group:(0,E.lz)({beatmapset:this.beatmapset,currentBeatmap:this.beatmap,discussion:this.props.discussion,user:this.props.user}),user:this.props.user}),this.editing?this.renderMessageEditor():this.renderMessageViewer()))}deleteHref(e){const[t,s]="reply"===this.props.type?["beatmapsets.discussions.posts","post"]:["beatmapsets.discussions","discussion"];return(0,b.w)(`${t}.${e}`,{[s]:this.deleteModel.id})}renderDeletedBy(){var e;if(null==this.deleteModel.deleted_at)return null;const t=null!==(e=this.users.get(this.deleteModel.deleted_by_id))&&void 0!==e?e:y.fc;return a.createElement("span",{className:`${A}__info`},a.createElement(d.A,{mappings:{delete_time:a.createElement(m.A,{dateTime:this.deleteModel.deleted_at,relative:!0}),editor:a.createElement(h.A,{className:`${A}__info-user`,user:t})},pattern:(0,k.pw)("beatmaps.discussions.deleted")}))}renderEdited(){var e;if(null==this.props.post.last_editor_id||this.props.post.updated_at===this.props.post.created_at)return null;const t=null!==(e=this.users.get(this.props.post.last_editor_id))&&void 0!==e?e:y.fc;return a.createElement("span",{className:`${A}__info`},a.createElement(d.A,{mappings:{editor:a.createElement(h.A,{className:`${A}__info-user`,user:t}),update_time:a.createElement(m.A,{dateTime:this.props.post.updated_at,relative:!0})},pattern:(0,k.pw)("beatmaps.discussions.edited")}))}renderKudosuAction(e){return a.createElement("a",{className:`js-beatmapset-discussion-update ${A}__action ${A}__action--button`,"data-confirm":(0,k.pw)("common.confirmation"),"data-method":"POST","data-remote":!0,href:(0,b.w)(`beatmapsets.discussions.${e}-kudosu`,{discussion:this.props.discussion.id})},(0,k.pw)(`beatmaps.discussions.${e}_kudosu`))}renderMessageEditor(){if(null==this.props.discussionsState||!this.canEdit)return;const e=!this.isPosting&&this.canSave,t=this.props.post.message;return a.createElement("div",{className:`${A}__message-container`},this.isReview?a.createElement(r.A,{ref:this.reviewEditorRef,discussion:this.props.discussion,discussionsState:this.props.discussionsState,document:t,editing:this.editing,onChange:this.handleEditorChange,store:this.props.store}):a.createElement(a.Fragment,null,a.createElement(p.A,{className:`${A}__message ${A}__message--editor`,disabled:this.isPosting,innerRef:this.textareaRef,onChange:this.handleTextareaChange,onKeyDown:this.handleTextareaKeyDown,style:{minHeight:this.textareaMinHeight},value:this.message}),a.createElement(S.A,{isTimeline:this.isTimeline,message:this.message})),a.createElement("div",{className:`${A}__actions`},a.createElement("div",{className:`${A}__actions-group`},a.createElement("div",{className:`${A}__actions-group`},a.createElement("div",{className:`${A}__action`},a.createElement(l.A,{disabled:this.isPosting,props:{onClick:this.editCancel},text:(0,k.pw)("common.buttons.cancel")}))),a.createElement("div",{className:`${A}__action`},a.createElement(l.A,{disabled:!e,props:{onClick:this.updatePost},text:(0,k.pw)("common.buttons.save")})))))}renderMessageViewer(){return a.createElement("div",{className:`${A}__message-container`},this.isReview?a.createElement("div",{className:`${A}__message`},a.createElement(o,{post:this.props.post,store:this.props.store})):a.createElement("div",{ref:this.messageBodyRef,className:`${A}__message`},a.createElement(i.A,{markdown:this.props.post.message})),a.createElement("div",{className:`${A}__info-container`},a.createElement("span",{className:`${A}__info`},a.createElement(m.A,{dateTime:this.props.post.created_at,relative:!0})),this.renderDeletedBy(),this.renderEdited(),"discussion"===this.props.type&&this.props.discussion.kudosu_denied&&a.createElement("span",{className:`${A}__info`},(0,k.pw)("beatmaps.discussions.kudosu_denied"))),this.renderMessageViewerActions())}renderMessageViewerActions(){return a.createElement("div",{className:`${A}__actions`},a.createElement("div",{className:`${A}__actions-group`},a.createElement("span",{className:`${A}__action ${A}__action--button`},a.createElement(c.A,{label:(0,k.pw)("common.buttons.permalink"),value:(0,E.Gm)({discussion:this.props.discussion,post:"reply"===this.props.type?this.props.post:void 0}),valueAsUrl:!0})),this.renderMessageViewerEditingActions(),this.canReport&&a.createElement(u.r,{className:`${A}__action ${A}__action--button`,reportableId:this.props.post.id.toString(),reportableType:"beatmapset_discussion_post",user:this.props.user})))}renderMessageViewerEditingActions(){var e;if(!this.props.readonly&&null!=this.props.discussionsState)return a.createElement(a.Fragment,null,this.canEdit&&a.createElement("button",{className:`${A}__action ${A}__action--button`,onClick:this.editStart},(0,k.pw)("beatmaps.discussions.edit")),null==this.deleteModel.deleted_at&&this.canDelete&&a.createElement("a",{className:`js-beatmapset-discussion-update ${A}__action ${A}__action--button`,"data-confirm":(0,k.pw)("common.confirmation"),"data-method":"DELETE","data-remote":!0,href:this.deleteHref("destroy")},(0,k.pw)("beatmaps.discussions.delete")),null!=this.deleteModel.deleted_at&&this.canModerate&&a.createElement("a",{className:`js-beatmapset-discussion-update ${A}__action ${A}__action--button`,"data-confirm":(0,k.pw)("common.confirmation"),"data-method":"POST","data-remote":!0,href:this.deleteHref("restore")},(0,k.pw)("beatmaps.discussions.restore")),"discussion"===this.props.type&&(null===(e=this.props.discussion.current_user_attributes)||void 0===e?void 0:e.can_moderate_kudosu)&&(this.props.discussion.can_grant_kudosu?this.renderKudosuAction("deny"):this.props.discussion.kudosu_denied&&this.renderKudosuAction("allow")))}};Object.defineProperty(C,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{resolvedStateChangedPostId:-1}}),x([v.sH],C.prototype,"canSave",void 0),x([v.sH],C.prototype,"editing",void 0),x([v.sH],C.prototype,"message",void 0),x([v.sH],C.prototype,"textareaMinHeight",void 0),x([v.sH],C.prototype,"xhr",void 0),x([v.EW],C.prototype,"canEdit",null),x([v.EW],C.prototype,"canReport",null),x([v.EW],C.prototype,"deleteModel",null),x([v.EW],C.prototype,"isAdmin",null),x([v.EW],C.prototype,"isOwn",null),x([v.EW],C.prototype,"isPosting",null),x([v.EW],C.prototype,"isReview",null),x([v.EW],C.prototype,"isTimeline",null),x([v.XI],C.prototype,"editCancel",void 0),x([v.XI],C.prototype,"editStart",void 0),x([v.XI],C.prototype,"handleEditorChange",void 0),x([v.XI],C.prototype,"handleTextareaChange",void 0),x([v.XI],C.prototype,"updatePost",void 0),C=x([g.PA],C);const I=C},5780(e,t,s){s.d(t,{A:()=>c});var r=s(7290);const a=["attention","autolink","blankLine","blockQuote","characterReference","codeFenced","codeIndented","codeText","definition","hardBreakEscape","headingAtx","htmlFlow","htmlText","labelEnd","labelStartImage","labelStartLink","list","setextUnderline","thematicBreak"];const i=["autolink","definition","hardBreakEscape","headingAtx","htmlFlow","htmlText","setextUnderline","thematicBreak"],n=[...i,"blockQuote","codeFenced","codeIndented","codeText","list"],o={chat:["definition","htmlFlow","htmlText","labelStartImage","setextUnderline"],chatPlain:(l=["autolink","labelEnd","labelStartLink"],a.filter(e=>!l.includes(e))),default:i,editor:[...n,"codeFenced","codeIndented","codeText","labelEnd","labelStartImage","labelStartLink"],reviews:n};var l;function c(e){var t;(0,r.A)(this,"micromarkExtensions",[{disable:{null:o[null!==(t=null==e?void 0:e.type)&&void 0!==t?t:"default"]}}])}},5810(e,t,s){s.d(t,{k:()=>d});var r=s(6540),a=s(5848),i=s(8243),n=s(7634),o=s(6250),l=s(3938),c=s(3887),u=s(4692);class d extends r.Component{constructor(){super(...arguments),Object.defineProperty(this,"tooltipId",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"handleMouseOver",{enumerable:!0,configurable:!0,writable:!0,value:e=>{if(!this.props.withTooltip)return;const t=e.currentTarget;if(t._tooltip===this.tooltipId)return;const s=u((0,a.renderToStaticMarkup)(r.createElement("div",{className:"tooltip-beatmap"},r.createElement("div",{className:"tooltip-beatmap__content"},r.createElement("div",null,this.props.beatmap.version),r.createElement(c.A,{rating:this.props.beatmap.difficulty_rating})))));if(null!=t._tooltip)return t._tooltip=this.tooltipId,void u(t).qtip("set",{"content.text":s});t._tooltip=this.tooltipId;const i={content:s,hide:"touchstart"===e.type?{event:"touchstart unfocus",inactive:3e3}:{event:"click mouseleave"},overwrite:!1,position:(0,o.g)("top center"),show:{event:e.type,ready:!0},style:{classes:"qtip qtip--tooltip-beatmap",tip:{height:9,width:10}}};u(t).qtip(i,e)}})}render(){this.tooltipId=`beatmap-icon-${this.props.beatmap.id}-${(0,l.L)()}`;const e=this.props.beatmap.convert&&!this.props.showConvertMode?"osu":this.props.beatmap.mode,t=(0,n.Zt)("beatmap-icon",this.props.modifiers,{"with-hover":this.props.withTooltip}),s={"--diff":(0,i.ID)(this.props.beatmap.difficulty_rating)};return r.createElement("div",{className:t,onMouseOver:this.handleMouseOver,onTouchStart:this.handleMouseOver,style:s},r.createElement("i",{className:`fal fa-extra-mode-${e}`}))}}Object.defineProperty(d,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{showConvertMode:!1,withTooltip:!1}})},5812(e,t,s){function r(e){return null!=e&&""!==e?e:null}function a(e){return null!=r(e)}s.d(t,{E:()=>a,I:()=>r})},5820(e,t,s){s.d(t,{A:()=>i});var r=s(6540),a=s(7634);function i({team:e}){return r.createElement("span",{className:"flag-team",style:{backgroundImage:(0,a.NZ)(e.flag_url)},title:e.name})}},5953(e,t,s){s.d(t,{r:()=>o});var r=s(6540),a=s(1883),i=s(4681),n=function(e,t){var s={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(s[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a{0===e.button&&(this.props.onFormOpen(),(0,i.oF)({reportableId:this.props.reportableId,reportableType:this.props.reportableType,username:this.props.user.username}))}})}render(){const e=this.props,{icon:t,onFormOpen:s,reportableId:o,reportableType:l,user:c}=e,u=n(e,["icon","onFormOpen","reportableId","reportableType","user"]),d=i.aI[this.props.reportableType],p=(0,a.pw)(`report.${d}.button`);return r.createElement("button",Object.assign({onClick:this.onShowFormButtonClick,type:"button"},u),t?r.createElement("span",{className:"textual-button textual-button--inline"},r.createElement("i",{className:"textual-button__icon fas fa-exclamation-triangle"})," ",p):p)}}Object.defineProperty(o,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{icon:!1,onFormOpen:()=>{}}})},5993(e,t,s){s.d(t,{A:()=>E});var r=s(7813),a=s(1370),i=s(8293),n=s(5349),o=s(6540),l=s(256),c=s(2599),u=s(1883),d=s(6900),p=s(1980),m=s(6591),h=s(8102),b=s(3358),f=s(1518),v=s(7726),g=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};const y="json-kudosu";function w({kudosu:e}){const t={amount:o.createElement("strong",{className:"profile-extra-entries__kudosu-amount"},(0,u.pw)("users.show.extra.kudosu.entry.amount",{amount:(0,l.ZV)(Math.abs(e.amount))})),giver:null==e.giver?(0,u.pw)("users.deleted"):o.createElement("a",{href:e.giver.url},e.giver.username),post:null==e.post.url?e.post.title:o.createElement("a",{href:e.post.url},e.post.title)};return o.createElement("li",{className:"profile-extra-entries__item"},o.createElement("div",{className:"profile-extra-entries__detail"},o.createElement("div",{className:"profile-extra-entries__text"},o.createElement(b.A,{mappings:t,pattern:(0,u.pw)(`users.show.extra.kudosu.entry.${e.model}.${e.action}`)}))),o.createElement("div",{className:"profile-extra-entries__time"},o.createElement(f.A,{dateTime:e.created_at,relative:!0})))}let _=class extends o.Component{get hasData(){return null!=this.kudosu}constructor(e){var t;super(e),Object.defineProperty(this,"kudosu",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"showMoreXhr",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"xhr",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"handleOnLoad",{enumerable:!0,configurable:!0,writable:!0,value:()=>(this.xhr=(0,n.A)({id:this.props.userId},"kudosu"),this.xhr.done(e=>(0,r.h5)(()=>{this.kudosu=e,this.saveState()})),this.xhr)}),Object.defineProperty(this,"handleShowMore",{enumerable:!0,configurable:!0,writable:!0,value:()=>{null!=this.kudosu&&(this.showMoreXhr=(0,d.$7)(this.kudosu,this.props.userId).done(this.saveState))}}),Object.defineProperty(this,"saveState",{enumerable:!0,configurable:!0,writable:!0,value:()=>{(0,c.Qv)(y,this.kudosu)}}),this.kudosu=null!==(t=(0,c.Do)(y))&&void 0!==t?t:e.kudosu,(0,r.Gn)(this)}componentWillUnmount(){var e,t;null===(e=this.xhr)||void 0===e||e.abort(),null===(t=this.showMoreXhr)||void 0===t||t.abort()}render(){return o.createElement("div",{className:"page-extra"},o.createElement(i.A,{name:this.props.name,withEdit:this.props.withEdit}),o.createElement(m.A,{hasData:this.hasData,name:this.props.name,onLoad:this.handleOnLoad},o.createElement("div",{className:"kudosu-box"},o.createElement(v.A,{description:o.createElement(b.A,{mappings:{link:o.createElement("a",{href:(0,p.iD)("Kudosu")},(0,u.pw)("users.show.extra.kudosu.total_info.link"))},pattern:(0,u.pw)("users.show.extra.kudosu.total_info._")}),label:(0,u.pw)("users.show.extra.kudosu.total"),modifiers:"kudosu",value:(0,l.ZV)(this.props.total)})),this.renderEntries()))}renderEntries(){return null==this.kudosu?null:0===this.kudosu.items.length?o.createElement("div",{className:"profile-extra-entries profile-extra-entries--kudosu"},(0,u.pw)("users.show.extra.kudosu.entry.empty")):o.createElement("ul",{className:"profile-extra-entries profile-extra-entries--kudosu"},this.kudosu.items.map(e=>o.createElement(w,{key:e.id,kudosu:e})),o.createElement("li",{className:"profile-extra-entries__item u-contents"},o.createElement(h.A,Object.assign({},this.kudosu.pagination,{callback:this.handleShowMore,modifiers:"profile-page"}))))}};g([r.sH],_.prototype,"kudosu",void 0),g([r.EW],_.prototype,"hasData",null),g([r.XI],_.prototype,"handleOnLoad",void 0),g([r.XI],_.prototype,"handleShowMore",void 0),_=g([a.PA],_);const E=_},6100(e,t,s){s.d(t,{A:()=>n});var r=s(6540),a=s(7634),i=s(1883);class n extends r.Component{constructor(){super(...arguments),Object.defineProperty(this,"onClick",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t,s;const r=e.currentTarget.dataset.mode;this.props.currentMode===r?e.preventDefault():null===(s=(t=this.props).onClick)||void 0===s||s.call(t,e,r)}}),Object.defineProperty(this,"renderLink",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t;const s=r.createElement(r.Fragment,null,r.createElement("span",{className:`fal fa-extra-mode-${e.mode}`,title:e.disabled?void 0:(0,i.pw)(`beatmaps.mode.${e.mode}`)}),e.mode===this.props.defaultMode&&r.createElement("span",{className:"game-mode-link__icon",title:(0,i.pw)("users.show.edit.default_playmode.is_default_tooltip")},r.createElement("span",{className:"fas fa-star"})),null!=e.count&&r.createElement("span",{className:"game-mode-link__badge",title:e.countTooltip},e.count)),n=(0,a.Zt)("game-mode-link",{active:e.mode===this.props.currentMode,disabled:e.disabled});return r.createElement("li",{key:e.mode},e.disabled?r.createElement("span",{className:n},s):r.createElement("a",{className:n,"data-mode":e.mode,href:null!==(t=e.href)&&void 0!==t?t:"#",onClick:this.onClick},s))}})}render(){return r.createElement("ul",{className:(0,a.Zt)("game-mode",this.props.modifiers)},this.props.entries.map(this.renderLink))}}},6131(e,t,s){s.d(t,{A:()=>c,o:()=>o});var r=s(6540),a=s(3368),i=s(8156),n=s(4692);const o=()=>0!==l.size,l=new Set;class c extends r.PureComponent{constructor(){super(...arguments),Object.defineProperty(this,"clickEndTarget",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"clickStartTarget",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ref",{enumerable:!0,configurable:!0,writable:!0,value:r.createRef()}),Object.defineProperty(this,"close",{enumerable:!0,configurable:!0,writable:!0,value:()=>{l.delete(this),(0,a.Q)(this,!1)}}),Object.defineProperty(this,"handleBeforeCache",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.close()}}),Object.defineProperty(this,"handleEsc",{enumerable:!0,configurable:!0,writable:!0,value:e=>{null!=this.props.onClose&&"Escape"===e.key&&this.props.onClose()}}),Object.defineProperty(this,"handleMouseDown",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.clickStartTarget=e.target}}),Object.defineProperty(this,"handleMouseUp",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.clickEndTarget=e.target}}),Object.defineProperty(this,"hideModal",{enumerable:!0,configurable:!0,writable:!0,value:e=>{null!=this.props.onClose&&0===e.button&&e.target===this.ref.current&&this.clickEndTarget===this.clickStartTarget&&this.props.onClose()}}),Object.defineProperty(this,"open",{enumerable:!0,configurable:!0,writable:!0,value:()=>{l.add(this),(0,a.Q)(this,!0)}})}componentDidMount(){document.addEventListener("keydown",this.handleEsc),n(document).on("turbo:before-cache",this.handleBeforeCache),this.open()}componentWillUnmount(){this.close(),document.removeEventListener("keydown",this.handleEsc),n(document).off("turbo:before-cache",this.handleBeforeCache)}render(){return r.createElement(i.A,null,r.createElement("div",{ref:this.ref,className:"js-react-modal",onClick:this.hideModal,onMouseDown:this.handleMouseDown,onMouseUp:this.handleMouseUp},this.props.children))}}},6145(e,t,s){s.d(t,{A:()=>d});var r=s(1370),a=s(6540),i=s(256),n=s(1883),o=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};const l="beatmap-basic-stats",c=["total_length","bpm","count_circles","count_sliders"];let u=class extends a.Component{constructor(){super(...arguments),Object.defineProperty(this,"renderEntry",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t={};let s="";const r=this.props.beatmap[e];let o;switch(e){case"bpm":{r>1e3&&(o="∞");const e=this.props.beatmapset.offset;0!==e&&(s+=` (${(0,n.pw)("beatmapsets.show.stats.offset",{offset:(0,i.ZV)(e)})})`);break}case"total_length":o=(0,i.a3)(this.props.beatmap[e]),t.hit_length=(0,i.a3)(this.props.beatmap.hit_length)}return null!=o||(o=(0,i.ZV)(r)),a.createElement("div",{key:e,className:`${l}__entry`,title:`${(0,n.pw)(`beatmapsets.show.stats.${e}`,t)}${s}`},a.createElement("div",{className:`${l}__entry-icon`,style:{backgroundImage:`url(/images/layout/beatmapset-page/${e}.svg)`}}),a.createElement("span",null,o))}})}render(){return a.createElement("div",{className:l},c.map(this.renderEntry))}};u=o([r.PA],u);const d=u},6250(e,t,s){s.d(t,{g:()=>i});var r=s(4692);const a={"bottom center":"top center","bottom left":"top left","left center":"right center","right center":"left center","top center":"bottom center","top left":"bottom left","top right":"bottom left"};function i(e){var t;return{at:e,my:null!==(t=a[e])&&void 0!==t?t:"left center",viewport:r(window)}}},6288(e,t,s){s.d(t,{A:()=>i});var r=s(7813),a=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};class i{constructor(){Object.defineProperty(this,"cursorString",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"rooms",{enumerable:!0,configurable:!0,writable:!0,value:[]}),(0,r.Gn)(this)}updateWithJson(e){for(const t of e.rooms)this.rooms.push(t);this.cursorString=e.cursor_string}}a([r.sH],i.prototype,"cursorString",void 0),a([r.sH],i.prototype,"rooms",void 0),a([r.XI],i.prototype,"updateWithJson",null)},6338(e,t,s){s.d(t,{F:()=>o});var r=s(2853),a=s(6540),i=s(7634),n=s(1883);class o extends a.PureComponent{render(){var e;const t=this.props.values.map(e=>{var t,s;let i="sort__item sort__item--button";return this.props.currentValue===e&&(i+=" sort__item--active"),a.createElement("button",{key:e,className:i,"data-value":e,onClick:this.props.onChange},"rank"===e?a.createElement("span",null,a.createElement("i",{className:`fas fa-extra-mode-${null!==(s=null===(t=r.A.currentUser)||void 0===t?void 0:t.playmode)&&void 0!==s?s:"osu"}`})," ",(0,n.pw)("sort.rank")):(0,n.pw)(`${this.props.transPrefix}${e}`))});return a.createElement("div",{className:(0,i.Zt)("sort",this.props.modifiers)},a.createElement("div",{className:"sort__items"},this.props.showTitle&&a.createElement("span",{className:"sort__item sort__item--title"},null!==(e=this.props.title)&&void 0!==e?e:(0,n.pw)("sort._")),t))}}Object.defineProperty(o,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{showTitle:!0,transPrefix:"sort."}})},6407(e,t,s){s.d(t,{ER:()=>v,OL:()=>m,S5:()=>h,dI:()=>b,eO:()=>u,ho:()=>p,uR:()=>f,z3:()=>d});var r=s(2853),a=s(256),i=s(1883),n=s(3135),o=s(5812),l=s(4692);const c=["status","statusText","readyState"];function u(e=document.body){return(t,s,r)=>l(e).trigger("ajax:error",[t,s,r])}const d=(e,t,s)=>{"abort"!==t&&(r.A.userLogin.showOnError(e,s)||r.A.userVerification.showOnError(e,s)||(0,n.l)(v(e),"danger"))},p=(e,t)=>{d(t.jqXHR,t.textStatus,()=>{var e;null===(e=t.submit)||void 0===e||e.call(t)})};function m(e){return"object"==typeof e&&null!=e&&c.every(t=>t in e)}const h=e=>d(e,e.statusText),b=e=>(t,s)=>{d(t,s,e)},f=e=>b((0,a.Qz)(e));function v(e){var t,s;if(null==e||null==e.responseJSON)return(0,i.pw)("errors.unknown");const r=e.responseJSON;if(null!=r.validation_error)return`${r.validation_error.flatMap(e=>Object.values(e)).join(", ")}.`;let a=null!==(s=null!==(t=r.error)&&void 0!==t?t:r.message)&&void 0!==s?s:"";if(!(0,o.E)(a)){const t=`errors.codes.http-${e.status}`;a=(0,i.pw)(t),a===t&&(a=(0,i.pw)("errors.unknown"))}return a}},6420(e,t,s){s.d(t,{A:()=>n});var r=s(5191),a=s(9981),i=s(6540);function n({banner:e}){return null==e.image?null:i.createElement("a",{className:"profile-tournament-banner",href:(0,a.w)("tournaments.show",{tournament:e.tournament_id})},i.createElement(r.A,{className:"profile-tournament-banner__image",src:e.image,src2x:e["image@2x"]}))}},6426(e,t,s){s.d(t,{A:()=>u});var r=s(5093),a=s(6540),i=s(1883),n=s(9981),o=s(2853);class l extends a.Component{get stateRecordKey(){return this.props.date.format("YYYYMM")}get stateRecordValue(){return this.stateRecord instanceof HTMLElement&&null!=this.stateRecord.dataset[this.stateRecordKey]?"1"===this.stateRecord.dataset[this.stateRecordKey]:null}constructor(e){if(super(e),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:{expanded:!1}}),Object.defineProperty(this,"stateRecord",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"recordState",{enumerable:!0,configurable:!0,writable:!0,value:()=>{null!=this.stateRecord&&(this.stateRecord.dataset[this.stateRecordKey]=this.state.expanded?"1":"")}}),Object.defineProperty(this,"renderPost",{enumerable:!0,configurable:!0,writable:!0,value:e=>{let t="news-sidebar-month__item";return null!=this.props.currentPost&&this.props.currentPost.id===e.id&&(t+=" news-sidebar-month__item--active"),a.createElement("li",{key:e.id},a.createElement("a",{className:t,href:(0,n.w)("news.show",{news:e.slug})},e.title))}}),Object.defineProperty(this,"toggleExpand",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.setState({expanded:!this.state.expanded},this.recordState)}}),o.A.windowSize.isMobile)this.state.expanded=!1;else if(null==e.currentPost)this.state.expanded=e.initialExpand;else{const t=r.utc(e.currentPost.published_at);this.state.expanded=t.year()===e.date.year()&&t.month()===e.date.month()}const t=document.querySelector(".js-news-sidebar-record");t instanceof HTMLElement&&(this.stateRecord=t),null==this.stateRecordValue?this.recordState():this.state.expanded=this.stateRecordValue}render(){return a.createElement("div",{className:"news-sidebar-month"},a.createElement("button",{className:"news-sidebar-month__toggle",onClick:this.toggleExpand,type:"button"},this.props.date.format((0,i.pw)("common.datetime.year_month_short.moment")),a.createElement("span",{className:"news-sidebar-month__toggle-icon"},a.createElement("i",{className:this.state.expanded?"fas fa-chevron-up":"fas fa-chevron-down"}))),a.createElement("ul",{className:"news-sidebar-month__items "+(this.state.expanded?"":"hidden")},this.props.posts.map(this.renderPost)))}}function c(e){return a.createElement("div",{className:"news-sidebar-years"},e.years.map(t=>a.createElement("a",{key:t,className:"news-sidebar-years__item "+(t===e.currentYear?"news-sidebar-years__item--active":""),href:(0,n.w)("news.index",{year:t})},t)))}function u(e){var t;const s={},n={},o=new Set;for(const a of e.data.news_posts){const e=r.utc(a.published_at),i=e.format("YYYY-MM");(s[i]=null!==(t=s[i])&&void 0!==t?t:[]).push(a),n[i]=e,o.add(i)}const u=[...o].sort().reverse();let d=!0;return a.createElement("div",{className:"sidebar"},a.createElement("button",{className:"sidebar__mobile-toggle sidebar__mobile-toggle--mobile-only js-mobile-toggle","data-mobile-toggle-target":"news-archive",type:"button"},a.createElement("h2",{className:"sidebar__title"},(0,i.pw)("news.sidebar.archive")),a.createElement("div",{className:"sidebar__mobile-toggle-icon"},a.createElement("i",{className:"fas fa-chevron-down"}))),a.createElement("div",{className:"sidebar__content hidden-xs js-mobile-toggle","data-mobile-toggle-id":"news-archive"},a.createElement(c,{currentYear:e.data.current_year,years:e.data.years}),u.map(t=>{const r=n[t],i=s[t];if(null==i||null==r)return;const o=d;return d=!1,a.createElement(l,{key:t,currentPost:e.currentPost,date:r,initialExpand:o,posts:i})})))}},6568(e,t,s){s.d(t,{A:()=>i});var r=s(7813),a=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};class i{constructor(){Object.defineProperty(this,"active",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"buttonRefCurrent",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"dismiss",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.active=!1}}),Object.defineProperty(this,"setButtonRef",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.buttonRefCurrent=e}}),Object.defineProperty(this,"toggle",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.active=!this.active}}),(0,r.Gn)(this)}}a([r.sH],i.prototype,"active",void 0),a([r.XI],i.prototype,"dismiss",void 0),a([r.XI],i.prototype,"toggle",void 0)},6588(e,t,s){s.d(t,{MB:()=>n,vV:()=>o,zt:()=>i});var r=s(2543);function a(){const e=document.querySelector(".js-loading-overlay");if(e instanceof HTMLElement)return e}function i(){const e=a();null!=e&&e.classList.add("loading-overlay--visible")}const n=(0,r.debounce)(i,5e3,{maxWait:5e3});function o(){n.cancel();const e=a();null!=e&&e.classList.remove("loading-overlay--visible")}},6591(e,t,s){s.d(t,{A:()=>p});var r=s(8623),a=s(7813),i=s(1370),n=s(6540),o=s(7634),l=s(1883),c=s(963),u=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let d=class extends n.Component{get ready(){var e,t;return this.hasUpdated||this.skipLazyLoad||this.loaded&&!(null!==(t=null===(e=this.context)||void 0===e?void 0:e.scrolling)&&void 0!==t&&t)}constructor(e){var t;super(e),Object.defineProperty(this,"error",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"hasUpdated",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"loaded",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"observer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"ref",{enumerable:!0,configurable:!0,writable:!0,value:n.createRef()}),Object.defineProperty(this,"skipLazyLoad",{enumerable:!0,configurable:!0,writable:!0,value:null!==(t=this.props.hasData)&&void 0!==t&&t}),Object.defineProperty(this,"load",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e;this.error=!1,null===(e=this.observer)||void 0===e||e.disconnect(),this.props.onLoad().then((0,a.XI)(()=>{this.loaded=!0,this.error=!1})).catch((0,a.XI)(()=>this.error=!0))}}),this.loaded=this.skipLazyLoad,this.skipLazyLoad||(this.observer=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&this.load()},{rootMargin:"400px 0px 400px 0px"})),(0,a.Gn)(this)}componentDidMount(){var e;this.skipLazyLoad||null==this.ref.current||null===(e=this.observer)||void 0===e||e.observe(this.ref.current)}componentDidUpdate(e,t,s){if(!this.hasUpdated&&!this.skipLazyLoad&&this.loaded&&null!=s){if(null==this.context)throw new Error("LazyLoadContext is missing.");this.hasUpdated=!0,this.context.done(this.props.name,s)}}componentWillUnmount(){var e;null===(e=this.observer)||void 0===e||e.disconnect()}getSnapshotBeforeUpdate(){var e,t;return null!==(t=null===(e=this.context)||void 0===e?void 0:e.getSnapshot(this.props.name))&&void 0!==t?t:null}render(){return n.createElement("div",{ref:this.ref,className:(0,o.Zt)("lazy-load",{loading:!this.ready})},this.ready?this.renderLoaded():this.renderNotLoaded())}renderLoaded(){if(!this.skipLazyLoad&&null==this.context)throw new Error("LazyLoadContext is missing.");return this.props.children}renderNotLoaded(){return this.error?n.createElement("div",{className:"lazy-load__error"},n.createElement("p",null,(0,l.pw)("errors.load_failed")),n.createElement("div",{className:"lazy-load__button"},n.createElement("button",{className:"btn-osu-big btn-osu-big--rounded-thin",onClick:this.load,type:"button"},(0,l.pw)("common.buttons.retry")))):n.createElement(r.y,null)}};Object.defineProperty(d,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:c.A}),u([a.sH],d.prototype,"error",void 0),u([a.sH],d.prototype,"loaded",void 0),u([a.sH],d.prototype,"skipLazyLoad",void 0),u([a.EW],d.prototype,"ready",null),u([a.XI],d.prototype,"load",void 0),d=u([i.PA],d);const p=d},6595(e,t,s){s.d(t,{$6:()=>i,XB:()=>r,f4:()=>a});const r=["ANNOUNCE","PUBLIC","TEAM","GROUP","PM"],a=new Set(r);function i(e){return e.filter(e=>a.has(e.type))}},6606(e,t,s){s.d(t,{lz:()=>E,pd:()=>P,Ey:()=>k,k5:()=>T,Gm:()=>x,yD:()=>y,Y5:()=>w,F3:()=>A,EH:()=>I,Dl:()=>R,ML:()=>M,JL:()=>D,A2:()=>H,_R:()=>v,Fm:()=>g,as:()=>L});var r=s(447),a=s(6614);const i=Object.freeze({colour:"hsl(var(--hsl-l1))",has_listing:!1,has_playmodes:!1,id:-1,identifier:"guest",is_probationary:!1,name:"Difficulty Guest",short_name:"GUEST"});var n=s(3863),o=s(3702),l=s(9981),c=s(2543),u=s(5093),d=s(2853),p=s(3944),m=(s(1980),s(8243)),h=s(723);const b=new Set(r.u),f=new Set(["events","generalAll","reviews"]),v=/\b(((\d{2,}):([0-5]\d)[:.](\d{3}))(\s\((?:\d+[,|])*\d+\))?)/,g=new RegExp(v,"g"),y=750,w=100,_=new Set(["suggestion","problem"]);function E({beatmapset:e,currentBeatmap:t,discussion:s,user:r}){return null==r?null:r.id===(null==e?void 0:e.user_id)?n.A:null!=t&&s.beatmap_id===t.id&&(0,m.u8)(r.id,t)?i:null==r.groups||0===r.groups.length?null:r.groups[0]}function P(){const e=d.A.currentUser;return null!=e&&(e.is_admin||e.is_moderator)}function O(e){return null!=e&&"-"!==e?"timeline":"generalAll"}function j(e){return"review"===e.message_type?"reviews":null!=e.beatmap_id?null!=e.timestamp?"timeline":"general":"generalAll"}function k(e){const t=e%1e3,s=Math.floor(e/1e3)%60,r=Math.floor(e/1e3/60);return`${(0,c.padStart)(r.toString(),2,"0")}:${(0,c.padStart)(s.toString(),2,"0")}:${(0,c.padStart)(t.toString(),3,"0")}`}function S(e){return null==e.deleted_at&&null!=e.timestamp&&_.has(e.message_type)&&(e.user_id!==d.A.currentUserOrFail.id||u(e.updated_at).diff(u(),"hour")<=-24)}const N={nat:o.gQ};function T(e,t){return null!=e&&null!=e.groups&&e.groups.some(e=>{var s,r;if(null!=t){let a=null!==(s=e.playmodes)&&void 0!==s?s:[];return 0===a.length&&(a=null!==(r=N[e.identifier])&&void 0!==r?r:[]),("bng"===e.identifier||"nat"===e.identifier)&&a.includes(t)}return"bng"===e.identifier||"nat"===e.identifier})}function x(e){var t,s;const{beatmap:r,discussion:a,filter:i,post:n,users:o}=e;let{beatmapId:c,beatmapsetId:u,discussionId:d,mode:p,postId:m}=e;if(null!=r&&(u=r.beatmapset_id,c=r.id),null!=a){d=a.id;const e=H(a);null!=e&&(u=e.beatmapsetId,c=null!==(t=e.beatmapId)&&void 0!==t?t:void 0,p=e.mode)}m=null!==(s=null==n?void 0:n.id)&&void 0!==s?s:m;const h={beatmap:null==c||f.has(p)?"-":c,beatmapset:u,mode:null!=p?p:O(c)};null!=i&&"events"!==h.mode&&(h.filter=i);const b=new URL((0,l.w)("beatmapsets.discussion",h));if(null!=d&&(b.hash=`/${d}`,null!=m&&(b.hash+=`/${m}`)),null!=o){const e=[...new Set(o)].sort((e,t)=>e-t);for(const t of e)b.searchParams.append("users[]",t.toString())}return b.toString()}function A(e,t){var s,r,a,i,n,o;const l={};for(const c of e)if(S(c)){const e=C(Math.abs(c.timestamp-t));null!=e&&(null!==(s=l[e])&&void 0!==s||(l[e]=[]),null===(r=l[e])||void 0===r||r.push(c))}const u=null!==(o=null!==(n=null!==(i=null!==(a=l.d0)&&void 0!==a?a:l.d100)&&void 0!==i?i:l.d1000)&&void 0!==n?n:l.other)&&void 0!==o?o:[];return(0,c.sortBy)(u,"timestamp")}function C(e){return e>5e3?null:0===e?"d0":e<100?"d100":e<1e3?"d1000":"other"}function I(e){if(null==e)return null;const t=e.match(v);if(null==t)return null;const s=t.slice(1).map(e=>{var t;return null!==(t=(0,h.y)(e))&&void 0!==t?t:0});return 1e3*(60*s[2]+s[3])+s[4]}function R(e,t,s="total"){const r=new URL(null!=e?e:(0,p.bS)().href),[,i,n,o,l,u,d]=r.pathname.split(/\/+/),m=(0,h.y)(n);if("beatmapsets"!==i||"discussion"!==o||null==m)return null;const f=(0,h.y)(l),v=new Set(r.searchParams.getAll("users[]").map(h.y).filter(Number.isFinite)),g=(0,h.y)(r.searchParams.get("user"));null!=g&&v.add(g);const y={beatmapId:f,beatmapsetId:m,filter:(w=d,b.has(w)?d:s),mode:(0,a.u)(u)?u:O(f),users:v};var w;if("/"===r.hash[1]){const[e,s]=r.hash.split("/").slice(1,3).map(h.y);if(null!=e&&(y.discussionId=e,null!=s&&(y.postId=s),null!=t&&null!=e)){const r=t.find(t=>t.id===e);if(null!=r){if((0,c.assign)(y,H(r)),null!=r.posts){const e=r.posts.find(e=>e.id===s);null==e&&(y.postId=void 0)}}else y.discussionId=void 0,y.postId=void 0}}return y}function M(e=""){const t=R(),s={href:e,rel:"nofollow noreferrer",target:"_blank"};let r;try{r=new URL(e)}catch(a){}if(null!=r&&r.host===(0,p.bS)().host){const e=R(r.href);if(null!=(null==e?void 0:e.discussionId)&&null!=e.beatmapsetId){const r=[e.discussionId,e.postId].filter(Number.isFinite).join("/");(null==t?void 0:t.beatmapsetId)===e.beatmapsetId?(s.children=`#${r}`,s.className="js-beatmap-discussion--jump",s.target=void 0):s.children=`${e.beatmapsetId}#${r}`}}return s}function D(e){return"posts"in e&&null!=e.posts?e.posts[0]:e.starting_post}function H(e){return{beatmapId:e.beatmap_id,beatmapsetId:e.beatmapset_id,discussionId:e.id,mode:j(e)}}function L(e,t=!1){return null!=e&&0!==e.length&&(!t||e.length<=y)}},6614(e,t,s){s.d(t,{D:()=>r,u:()=>i});const r=["reviews","generalAll","general","timeline","events"],a=new Set(r);function i(e){return a.has(e)}},6646(e,t,s){s.d(t,{A:()=>E});var r=s(1370),a=s(9207),i=s(2853),n=s(6540),o=s(7634),l=s(256),c=s(1883),u=s(1836),d=s(4809),p=s(4691),m=s(4885),h=s(6338),b=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let f=class extends n.Component{constructor(){super(...arguments),Object.defineProperty(this,"handleChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t;this.props.controller.apiSetSort(null!==(t=e.currentTarget.dataset.value)&&void 0!==t?t:"")}})}render(){var e;return n.createElement(h.F,{currentValue:null!==(e=this.props.controller.nextState.sort)&&void 0!==e?e:this.props.controller.state.sort,modifiers:this.props.modifiers,onChange:this.handleChange,values:["new","old","top"]})}};f=b([r.PA],f);const v=f;var g=s(4606),y=s(8623),w=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let _=class extends n.Component{constructor(e){super(e),Object.defineProperty(this,"controller",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onToggleFollow",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.controller.apiToggleFollow()}}),this.controller=new m.A(this.props.controllerStateSelector,this.props.baseCommentableMeta)}componentWillUnmount(){this.controller.destroy()}render(){const e=this.controller.topLevelComments,t=e.filter(e=>!e.pinned),s=this.controller.pinnedComments;return n.createElement("div",{className:(0,o.Zt)("comments",this.props.modifiers),id:"comments"},n.createElement("h2",{className:"comments__title"},(0,c.pw)("comments.title"),n.createElement("span",{className:"comments__count"},(0,l.ZV)(this.controller.state.total))),s.length>0&&n.createElement("div",{className:"comments__items comments__items--pinned"},this.renderComments(s,!0)),n.createElement("div",{className:"comments__new"},n.createElement(d.A,{commentableMeta:this.controller.commentableMeta,controller:this.controller,focus:!1,modifiers:this.props.modifiers})),n.createElement("div",{className:"comments__items comments__items--toolbar"},n.createElement(v,{controller:this.controller,modifiers:this.props.modifiers}),n.createElement("div",{className:(0,o.Zt)("sort",this.props.modifiers)},n.createElement("div",{className:"sort__items"},this.renderFollowToggle(),this.renderShowDeletedToggle()))),0===t.length?n.createElement("div",{className:"comments__items comments__items--empty"},0===s.length?(0,c.pw)("comments.empty"):(0,c.pw)("comments.empty_other")):n.createElement("div",{className:(0,o.Zt)("comments__items",{loading:null!=this.controller.nextState.sort})},this.renderComments(t,!1),n.createElement(g.A,{comments:e,modifiers:"top"}),n.createElement(p.A,{comments:e,controller:this.controller,modifiers:(0,o.hL)("top",this.props.modifiers),top:!0,total:this.controller.state.topLevelCount})))}onToggleShowDeleted(){i.A.userPreferences.set("comments_show_deleted",!i.A.userPreferences.get("comments_show_deleted"))}renderComment(e,t){return n.createElement(u.A,{key:e.id,comment:e,controller:this.controller,depth:0,expandReplies:t,modifiers:this.props.modifiers})}renderComments(e,t){const s=!t&&void 0;return e.map(e=>this.renderComment(e,s))}renderFollowToggle(){let e,t;return null!=this.controller.nextState.isFollowing&&(e=n.createElement(y.y,{modifiers:"center-inline"})),this.controller.state.isFollowing?(null!=e||(e=n.createElement("span",{className:"fas fa-eye-slash"})),t=(0,c.pw)("common.buttons.watch.to_0")):(null!=e||(e=n.createElement("span",{className:"fas fa-eye"})),t=(0,c.pw)("common.buttons.watch.to_1")),n.createElement("button",{className:"sort__item sort__item--button",disabled:null!=this.controller.nextState.isFollowing,onClick:this.onToggleFollow,type:"button"},n.createElement("span",{className:"sort__item-icon"},e),t)}renderShowDeletedToggle(){if(!(0,a.C)())return null;const e=i.A.userPreferences.get("comments_show_deleted")?"fas fa-check-square":"far fa-square";return n.createElement("button",{className:"sort__item sort__item--button",onClick:this.onToggleShowDeleted,type:"button"},n.createElement("span",{className:"sort__item-icon"},n.createElement("span",{className:e})),(0,c.pw)("common.buttons.show_deleted"))}};_=w([r.PA],_);const E=_},6900(e,t,s){s.d(t,{$7:()=>l,un:()=>u,zi:()=>o});var r=s(9981),a=s(7813),i=s(723),n=s(4692);const o=(0,a.XI)((e,t,s)=>{var o;e.pagination.loading=!0;const l=(null!==(o=(0,i.y)(s.limit))&&void 0!==o?o:50)+1,u=Object.assign(Object.assign({},s),{limit:l,offset:e.items.length});return n.ajax((0,r.w)(t,u)).done(t=>{c(e,t,l)}).always((0,a.XI)(()=>{e.pagination.loading=!1}))}),l=(e,t)=>o(e,"users.kudosu",{user:t}),c=(0,a.XI)((e,t,s)=>{e.pagination.hasMore=u(s-1,t),e.items.push(...t)}),u=(0,a.XI)((e,t)=>{const s=t.length>e;return s&&t.pop(),s})},6913(e,t,s){function r(e){return null==e.objectId||null==e.name||null==e.category?null:"user_achievement_unlock"===e.name?`achievement:${e.id}`:`${e.category}:${e.objectId}`}function a(e){var t;return null!==(t=i[e])&&void 0!==t?t:e}s.d(t,{Lq:()=>r,cE:()=>a});const i={beatmap_owner_change:"beatmap_owner_change",beatmapset_discussion_lock:"beatmapset_discussion",beatmapset_discussion_post_new:"beatmapset_discussion",beatmapset_discussion_qualified_problem:"beatmapset_problem",beatmapset_discussion_review_new:"beatmapset_discussion",beatmapset_discussion_unlock:"beatmapset_discussion",beatmapset_disqualify:"beatmapset_state",beatmapset_love:"beatmapset_state",beatmapset_nominate:"beatmapset_state",beatmapset_qualify:"beatmapset_state",beatmapset_rank:"beatmapset_state",beatmapset_remove_from_loved:"beatmapset_state",beatmapset_reset_nominations:"beatmapset_state",channel_announcement:"announcement",channel_mention:"channel_mention",channel_message:"channel",channel_team:"channel_team",comment_new:"comment",comment_reply:"comment",forum_topic_reply:"forum_topic_reply",news_post_new:"news_post",team_application_accept:"team_application",team_application_reject:"team_application",team_application_store:"team_application",user_achievement_unlock:"user_achievement_unlock",user_beatmapset_new:"user_beatmapset_new",user_beatmapset_revive:"user_beatmapset_new"}},6968(e,t,s){s.d(t,{A:()=>b});var r=s(7813),a=s(1370),i=s(6540),n=s(4466),o=s(7634),l=s(2961),c=s(3938),u=s(6568),d=s(8156),p=s(4692),m=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let h=class extends i.PureComponent{get $tooltipElement(){const e=this.tooltipElement;return null==e?null:p(e)}get mobxState(){var e,t;return null!==(e=this.props.state)&&void 0!==e?e:null!==(t=this.fallbackMobxState)&&void 0!==t?t:this.fallbackMobxState=new u.A}get tooltipElement(){var e;return null===(e=this.context)||void 0===e?void 0:e.closest(".qtip")}constructor(e){super(e),Object.defineProperty(this,"activeStateUpdated",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"disposeActiveStateMonitor",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"eventId",{enumerable:!0,configurable:!0,writable:!0,value:`popup-menu-${(0,c.L)()}`}),Object.defineProperty(this,"fallbackMobxState",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"menuRef",{enumerable:!0,configurable:!0,writable:!0,value:i.createRef()}),Object.defineProperty(this,"menuRootRef",{enumerable:!0,configurable:!0,writable:!0,value:i.createRef()}),Object.defineProperty(this,"tooltipHideEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hide",{enumerable:!0,configurable:!0,writable:!0,value:e=>{if(!this.mobxState.active||(0,l.h)())return;const t=e.originalEvent;null!=t&&("key"in t&&"Escape"===t.key||"button"in t&&0===t.button&&!this.isMenuInPath(t.composedPath()))&&this.mobxState.dismiss()}}),Object.defineProperty(this,"resize",{enumerable:!0,configurable:!0,writable:!0,value:()=>{if(!this.mobxState.active)return;const e=this.mobxState.buttonRefCurrent,t=this.menuRef.current,s=this.menuRootRef.current;if(null==e||null==t||null==s)throw new Error("missing button and/or menu element");if(null==e.offsetParent)return void(s.style.display="none");const r=e.getBoundingClientRect(),a=t.getBoundingClientRect(),i=document.body.scrollWidth,{scrollX:n,scrollY:o}=window,l="left"===this.props.direction?Math.min(i,r.right+Math.max(0,a.width-r.right)):Math.max(0,r.x-Math.max(0,r.x+a.width-i));s.style.display="block",s.style.position="absolute",s.style.top=`${Math.floor(o+r.bottom+5)}px`,s.style.left=`${Math.floor(n+l)}px`;const c=this.tooltipElement;null!=c&&(s.style.zIndex=getComputedStyle(c).zIndex)}}),(0,r.Gn)(this),this.disposeActiveStateMonitor=(0,r.mJ)(()=>this.mobxState.active,()=>{this.activeStateUpdated=!0})}componentDidMount(){var e;this.tooltipHideEvent=null===(e=this.$tooltipElement)||void 0===e?void 0:e.qtip("option","hide.event"),p(window).on(`resize.${this.eventId}`,this.resize)}componentDidUpdate(){var e,t,s,r,a;if(this.activeStateUpdated)if(this.activeStateUpdated=!1,this.mobxState.active){this.resize();const s=this.$tooltipElement;null!=s&&(this.tooltipHideEvent=s.qtip("option","hide.event"),s.qtip("option","hide.event",!1)),p(document).on(`click.${this.eventId} keydown.${this.eventId}`,this.hide),null===(t=(e=this.props).onShow)||void 0===t||t.call(e)}else null===(s=this.$tooltipElement)||void 0===s||s.qtip("option","hide.event",this.tooltipHideEvent),p(document).off(`click.${this.eventId} keydown.${this.eventId}`,this.hide),null===(a=(r=this.props).onHide)||void 0===a||a.call(r)}componentWillUnmount(){p(document).off(`.${this.eventId}`),p(window).off(`.${this.eventId}`),this.disposeActiveStateMonitor()}render(){return this.props.skipButton?this.renderMenu():i.createElement(i.Fragment,null,i.createElement("button",{ref:this.mobxState.setButtonRef,className:"popup-menu",onClick:this.mobxState.toggle,type:"button"},i.createElement("span",{className:"fas fa-ellipsis-v"})),this.renderMenu())}isMenuInPath(e){for(const t of[this.menuRootRef.current,this.mobxState.buttonRefCurrent])if(null!=t&&e.includes(t))return!0;return!1}renderMenu(){return this.mobxState.active?i.createElement(d.A,null,i.createElement("div",{ref:this.menuRootRef},i.createElement("div",{ref:this.menuRef,className:(0,o.Zt)("popup-menu-float",this.props.direction)},this.props.children(this.mobxState)))):null}};Object.defineProperty(h,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:n.l}),Object.defineProperty(h,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{direction:"left",skipButton:!1}}),m([r.XI],h.prototype,"hide",void 0),h=m([a.PA],h);const b=h},6978(e,t,s){s.d(t,{A:()=>n});var r=s(5213),a=s(7419),i=s(7290);function n(){(0,i.A)(this,"micromarkExtensions",[a.$]),(0,i.A)(this,"fromMarkdownExtensions",[r.C])}},7013(e,t,s){s.d(t,{A:()=>fe});var r=s(5325),a=s(8623),i=s(7746),n=s(9981),o=s(1370),l=s(2853),c=s(6540),u=s(7752),d=s(9184),p=s(5786),m=s(6407),h=s(6606),b=s(7634),f=s(1883);const v=c.createContext([]);var g=s(3443),y=s(6250),w=s(1980),_=s(5810),E=s(8645),P=s(6968),O=s(6568);const j=c.createContext(null);class k extends c.Component{constructor(){super(...arguments),Object.defineProperty(this,"popupMenuState",{enumerable:!0,configurable:!0,writable:!0,value:new O.A}),Object.defineProperty(this,"renderMenuItem",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t;return c.createElement("button",{key:e.id,className:(0,b.Zt)("simple-menu__item",{active:e.id===this.props.selected}),"data-id":e.id,onClick:this.select},null===(t=e.renderIcon)||void 0===t||t?c.createElement(c.Fragment,null,c.createElement("div",{className:(0,b.Zt)("simple-menu__item-icon","icon-dropdown-menu")},e.icon),c.createElement("div",{className:"simple-menu__label"},e.label)):e.label)}}),Object.defineProperty(this,"select",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t;e.preventDefault();const s=e.currentTarget;null!=s&&this.props.onSelect(null!==(t=s.dataset.id)&&void 0!==t?t:"")}}),Object.defineProperty(this,"toggle",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.props.disabled||this.popupMenuState.toggle()}})}render(){var e;const t=null!==(e=this.props.menuOptions.find(e=>e.id===this.props.selected))&&void 0!==e?e:this.props.menuOptions[0];return c.createElement("div",{ref:this.popupMenuState.setButtonRef,className:(0,b.Zt)("icon-dropdown-menu",{disabled:this.props.disabled}),contentEditable:!1,onClick:this.toggle},t.icon,c.createElement(P.A,{direction:"right",skipButton:!0,state:this.popupMenuState},()=>c.createElement("div",{className:"simple-menu simple-menu--popup-menu-compact"},this.props.menuOptions.map(this.renderMenuItem))))}}Object.defineProperty(k,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:j});const S=k;class N extends c.Component{constructor(){super(...arguments),Object.defineProperty(this,"select",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t="all"!==e?parseInt(e,10):void 0,s=p.rL.findPath(this.context,this.props.element);u.gB.setNodes(this.context,{beatmapId:t},{at:s})}})}render(){var e;const t=[],s="full-width";return t.push({icon:c.createElement("i",{className:"fas fa-fw fa-star-of-life"}),id:"all",label:c.createElement("div",{className:(0,b.Zt)("beatmap-list-item",s)},c.createElement("div",{className:"beatmap-list-item__col beatmap-list-item__col--icon"},c.createElement("i",{className:"fas fa-xs fa-star-of-life"})),c.createElement("div",{className:"beatmap-list-item__col beatmap-list-item__col--main"},(0,f.pw)("beatmaps.discussions.mode.scopes.generalAll"))),renderIcon:!1}),this.props.beatmaps.forEach(e=>{null==e.deleted_at&&t.push({icon:c.createElement(_.k,{beatmap:e}),id:e.id.toString(),label:c.createElement(E.A,{beatmap:e,modifiers:s,showOwners:!1}),renderIcon:!1})}),c.createElement(S,{disabled:this.props.disabled,menuOptions:t,onSelect:this.select,selected:null===(e=this.props.element.beatmapId)||void 0===e?void 0:e.toString()})}}Object.defineProperty(N,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:j});const T=N;var x=s(397);const A=["praise","problem","suggestion"];class C extends c.Component{constructor(){super(...arguments),Object.defineProperty(this,"select",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=p.rL.findPath(this.context,this.props.element);u.gB.setNodes(this.context,{discussionType:e},{at:t})}})}render(){const e=A.map(e=>({icon:c.createElement("span",{className:x.d[e],style:{color:`var(--beatmapset-discussion-colour--${e})`}}),id:e,label:(0,f.pw)(`beatmaps.discussions.message_type.${e}`)}));return c.createElement(S,{disabled:this.props.disabled,menuOptions:e,onSelect:this.select,selected:this.props.element.discussionType})}}Object.defineProperty(C,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:j});const I=C;var R=s(2577),M=s(4692),D=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};const H="beatmap-discussion-review-post-embed-preview";let L=class extends c.Component{constructor(){super(...arguments),Object.defineProperty(this,"cache",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"tooltipContent",{enumerable:!0,configurable:!0,writable:!0,value:c.createRef()}),Object.defineProperty(this,"tooltipEl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"componentDidMount",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.editable()&&u.gB.setNodes(this.context,{timestamp:void 0},{at:this.path()})}}),Object.defineProperty(this,"componentDidUpdate",{enumerable:!0,configurable:!0,writable:!0,value:()=>{if(!this.editable())return;const e=this.path();let t=!1;if("embed"===this.props.element.type&&null!=this.props.element.beatmapId){const s=this.props.element.children[0].text,r=h._R.exec(s);let a;null!==r&&0===r.index&&(a=r[2]),a!==this.props.element.timestamp&&(t=!0),u.gB.setNodes(this.context,{timestamp:a},{at:e})}else u.gB.setNodes(this.context,{timestamp:void 0},{at:e}),t=!0;t&&(this.cache={},this.destroyTooltip())}}),Object.defineProperty(this,"createTooltip",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=this.timestamp();if(null==t)return;const s=e.currentTarget,r=`${this.selectedBeatmap()}-${t}`;this.tooltipEl&&this.tooltipEl._tooltip===r||(this.tooltipEl=s,s._tooltip=r,M(s).qtip({content:{text:()=>{var e;return null===(e=this.tooltipContent.current)||void 0===e?void 0:e.innerHTML}},hide:{delay:200,fixed:!0},position:(0,y.g)("top center"),show:{delay:200,ready:!0},style:{classes:"tooltip-default tooltip-default--interactable"}}),this.tooltipEl=s)}}),Object.defineProperty(this,"delete",{enumerable:!0,configurable:!0,writable:!0,value:()=>{window.setTimeout(()=>u.gB.delete(this.context,{at:this.path()}),0)}}),Object.defineProperty(this,"destroyTooltip",{enumerable:!0,configurable:!0,writable:!0,value:()=>{if(!this.tooltipEl)return;const e=M(this.tooltipEl).qtip("api");null!=e&&(e.destroy(),this.tooltipEl=void 0)}}),Object.defineProperty(this,"discussionType",{enumerable:!0,configurable:!0,writable:!0,value:()=>this.props.element.discussionType}),Object.defineProperty(this,"editable",{enumerable:!0,configurable:!0,writable:!0,value:()=>!(this.props.editMode&&null!=this.props.element.discussionId)}),Object.defineProperty(this,"isRelevantDiscussion",{enumerable:!0,configurable:!0,writable:!0,value:e=>null!=e&&e.beatmap_id===this.selectedBeatmap()}),Object.defineProperty(this,"nearbyDiscussions",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const e=this.timestamp(),t=this.selectedBeatmap();if(null==e||null==t)return[];if(null==this.cache.nearbyDiscussions||this.cache.nearbyDiscussions.timestamp!==e||this.cache.nearbyDiscussions.beatmap_id!==t){const s=[...this.discussions.values()].filter(this.isRelevantDiscussion);this.cache.nearbyDiscussions={beatmap_id:t,discussions:(0,h.F3)(s,e),timestamp:e}}return this.cache.nearbyDiscussions.discussions}}),Object.defineProperty(this,"nearbyDraftEmbeds",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=this.timestamp();if(null!=t&&0!==e.length)return e.filter(e=>{if(null==e.timestamp||e.beatmapId!==this.props.element.beatmapId)return!1;const s=(0,h.EH)(e.timestamp);return null!=s&&Math.abs(s-t)<=5e3})}}),Object.defineProperty(this,"nearbyIndicator",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t;if(!this.editable()||null==this.timestamp()||"praise"===this.discussionType())return null;const s=this.nearbyDiscussions(),r=null!==(t=this.nearbyDraftEmbeds(e))&&void 0!==t?t:[];if(s.length>0||r.length>1){const e=[];s.forEach(t=>{if(null==t.timestamp)return;const s=(0,h.Ey)(t.timestamp);e.push(this.props.editMode?s:(0,w.eq)((0,h.Gm)({discussion:t}),s,{classNames:["js-beatmap-discussion--jump"]}))}),r.length>1&&e.push((0,f.pw)("beatmap_discussions.nearby_posts.unsaved",{count:r.length-1}));const t=(0,f.sc)(e),a=(0,f.pw)("beatmap_discussions.nearby_posts.notice",{existing_timestamps:t,timestamp:this.props.element.timestamp});return c.createElement("div",{className:`${H}__indicator ${H}__indicator--warning`,contentEditable:!1,onMouseOver:this.createTooltip,onTouchStart:this.createTooltip},c.createElement("script",{dangerouslySetInnerHTML:{__html:a},ref:this.tooltipContent,type:"text/html"}),c.createElement("i",{className:"fas fa-exclamation-triangle"}))}return null}}),Object.defineProperty(this,"path",{enumerable:!0,configurable:!0,writable:!0,value:()=>p.rL.findPath(this.context,this.props.element)}),Object.defineProperty(this,"selectedBeatmap",{enumerable:!0,configurable:!0,writable:!0,value:()=>this.props.element.beatmapId}),Object.defineProperty(this,"timestamp",{enumerable:!0,configurable:!0,writable:!0,value:()=>(0,h.EH)(this.props.element.timestamp)})}get discussions(){return this.props.store.discussions}componentWillUnmount(){this.destroyTooltip()}render(){var e;const t=this.editable(),s=t?[]:["read-only"],r=null!=this.props.element.beatmapId?"diff":"all-diff",a=(0,f.pw)(`beatmaps.discussions.review.embed.timestamp.${r}`,{type:(0,f.pw)(`beatmaps.discussions.message_type.${this.discussionType()}`)}),i=c.createElement("button",{className:`${H}__delete`,contentEditable:!1,disabled:this.props.readOnly,onClick:this.delete,title:(0,f.pw)("beatmaps.discussions.review.embed."+(t?"delete":"unlink"))},c.createElement("i",{className:"fas fa-"+(t?"trash-alt":"link")})),n=c.createElement(v.Consumer,null,e=>c.createElement(g.nu,null,()=>this.nearbyIndicator(e))),o=this.props.editMode&&t?c.createElement("div",{className:`${H}__indicator`,contentEditable:!1,title:(0,f.pw)("beatmaps.discussions.review.embed.unsaved")},c.createElement("i",{className:"fas fa-pencil-alt"})):null,l=this.props.readOnly||!t,u=this.discussions.get(this.props.element.discussionId),d=null!=u?(0,R.q)(u):"praise"===this.discussionType()?"praise":null;return c.createElement("div",Object.assign({className:"beatmap-discussion beatmap-discussion--preview",contentEditable:t,suppressContentEditableWarning:!0},this.props.attributes),c.createElement("div",{className:(0,b.Zt)(H,s,d)},c.createElement("div",{className:`${H}__content`},c.createElement("div",{className:`${H}__selectors`,contentEditable:!1},c.createElement(T,{beatmaps:this.props.discussionsState.sortedBeatmaps,disabled:l,element:this.props.element}),c.createElement(I,{beatmaps:this.props.discussionsState.sortedBeatmaps,disabled:l,element:this.props.element}),c.createElement("div",{className:`${H}__timestamp`,contentEditable:!1},c.createElement("span",{title:t?a:""},null!==(e=this.props.element.timestamp)&&void 0!==e?e:(0,f.pw)("beatmap_discussions.timestamp_display.general"))),o,n),c.createElement("div",{className:`${H}__stripe`,contentEditable:!1},c.createElement("span",null)),c.createElement("div",{className:`${H}__message-container`},this.props.children),o,n)),i)}};Object.defineProperty(L,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:j}),L=D([o.PA],L);const $=L;var U=s(5812);const B=e=>e.length,F=e=>{const t=X(e);return null!=t&&("type"in t&&"embed"===t.type)},G=(e,t)=>{const[s]=u.KE.nodes(e,{match:e=>u.EY.isText(e)&&!0===e[t],mode:"all"});return null!=s},X=e=>{if(e.selection)return u.bP.parent(e,u.Q6.start(e.selection).path)},W=(e,t)=>{u.gB.setNodes(e,{[t]:!G(e,t)||null},{match:e=>u.EY.isText(e),split:!0})};function V(e,t){const s=e.trim();if(0===s.length)return;const r=`${t}${s}${t}`;return s===e?r:e.replace(s,r)}function q(e){return e.children.map(e=>{if(""!==e.text){const t=e.text.replace(/([*_\\])/g,"\\$1");return e.bold&&e.italic?V(t,"***"):e.bold?V(t,"**"):e.italic?V(t,"*"):t}}).join("")}const Z=e=>{const t=[];e.forEach(e=>{switch(e.type){case"paragraph":t.push({text:q(e),type:"paragraph"});break;case"embed":t.push(function(e){var t;return null!=e.discussionId?{discussion_id:e.discussionId,type:"embed"}:{beatmap_id:null!==(t=e.beatmapId)&&void 0!==t?t:null,discussion_type:e.discussionType,text:e.children[0].text,timestamp:(0,h.EH)(e.timestamp),type:"embed"}}(e))}});const s=t[t.length-1];return"paragraph"!==s.type||(0,U.E)(s.text)||t.pop(),JSON.stringify(t)};var z=s(8156),K=s(2543),J=s(3938),Y=s(4692);class Q extends c.Component{constructor(e){super(e),Object.defineProperty(this,"bn",{enumerable:!0,configurable:!0,writable:!0,value:"beatmap-discussion-editor-insertion-menu"}),Object.defineProperty(this,"eventId",{enumerable:!0,configurable:!0,writable:!0,value:`editor-insertion-menu-${(0,J.L)()}`}),Object.defineProperty(this,"hideInsertMenuTimer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"hoveredBlock",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"insertPosition",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"insertRef",{enumerable:!0,configurable:!0,writable:!0,value:c.createRef()}),Object.defineProperty(this,"mouseOver",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"scrollContainer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"throttledContainerMouseExit",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"throttledContainerMouseMove",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"throttledMenuMouseEnter",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"throttledMenuMouseExit",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"throttledScroll",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"containerMouseMove",{enumerable:!0,configurable:!0,writable:!0,value:e=>{if(!e.originalEvent)return;const t=e.originalEvent.clientY,s=this.scrollContainer.children[0].children;let r=0;for(const i of s){if(t0){const e=s[r-1];ta.top+a.height/2?this.insertPosition="below":this.insertPosition="above",this.updatePosition(),this.showMenu(),this.startHideTimer()}}),Object.defineProperty(this,"forceHideMenu",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.mouseOver=!1,this.hideMenu()}}),Object.defineProperty(this,"hideMenu",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.insertRef.current&&!this.mouseOver&&(this.insertRef.current.style.display="none")}}),Object.defineProperty(this,"insertBlock",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t,s,r,a,i,n;const o=this.context,l=null===(t=this.hoveredBlock)||void 0===t?void 0:t.lastChild,c=e.currentTarget.dataset.discussionType,d=null===(s=this.props.currentBeatmap)||void 0===s?void 0:s.id;let m;switch(c){case"suggestion":case"problem":case"praise":m={beatmapId:d,children:[{text:""}],discussionType:c,type:"embed"};break;case"paragraph":m={children:[{text:""}],type:"paragraph"}}if(!m||!l)return;let h,b=p.rL.toSlateNode(o,l);if(u.EY.isText(b)&&""===b.text||u.Hg.isElement(b)&&u.KE.isEmpty(o,b))if("above"===this.insertPosition){const e=null===(a=null===(r=this.hoveredBlock)||void 0===r?void 0:r.previousSibling)||void 0===a?void 0:a.lastChild;null!=e?(b=p.rL.toSlateNode(o,e),h=u.KE.end(o,p.rL.findPath(o,b))):h={offset:0,path:[]}}else{const e=null===(n=null===(i=this.hoveredBlock)||void 0===i?void 0:i.previousSibling)||void 0===n?void 0:n.lastChild;null!=e?(b=p.rL.toSlateNode(o,e),h=u.KE.start(o,p.rL.findPath(o,b))):h=u.KE.end(o,[])}else{const e=p.rL.findPath(o,b);h="above"===this.insertPosition?u.KE.start(o,e):u.KE.end(o,e)}u.gB.insertNodes(o,m,{at:h})}}),Object.defineProperty(this,"insertButton",{enumerable:!0,configurable:!0,writable:!0,value:e=>{let t="fas fa-question";switch(e){case"praise":case"problem":case"suggestion":t=x.d[e];break;case"paragraph":t="fas fa-indent"}return c.createElement("button",{className:`${this.bn}__menu-button ${this.bn}__menu-button--${e}`,"data-discussion-type":e,onClick:this.insertBlock,title:(0,f.pw)(`beatmaps.discussions.review.insert-block.${e}`),type:"button"},c.createElement("i",{className:t}))}}),Object.defineProperty(this,"menuMouseEnter",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.mouseOver=!0}}),Object.defineProperty(this,"menuMouseLeave",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.mouseOver=!1,this.startHideTimer()}}),this.throttledContainerMouseExit=(0,K.throttle)(()=>{setTimeout(this.hideMenu,100)},10),this.throttledContainerMouseMove=(0,K.throttle)(this.containerMouseMove,10),this.throttledMenuMouseEnter=(0,K.throttle)(this.menuMouseEnter,10),this.throttledMenuMouseExit=(0,K.throttle)(this.menuMouseLeave,10),this.throttledScroll=(0,K.throttle)(this.forceHideMenu,10)}componentDidMount(){this.insertRef.current&&(Y(this.insertRef.current).on(`mouseenter.${this.eventId}`,this.throttledMenuMouseEnter),Y(this.insertRef.current).on(`mouseleave.${this.eventId}`,this.throttledMenuMouseExit)),Y(window).on(`scroll.${this.eventId}`,this.throttledScroll)}componentDidUpdate(){this.forceHideMenu()}componentWillUnmount(){Y(window).off(`.${this.eventId}`),this.scrollContainer&&Y(this.scrollContainer).off(`.${this.eventId}`),this.insertRef.current&&Y(this.insertRef.current).off(`.${this.eventId}`)}render(){return c.createElement(z.A,null,c.createElement("div",{ref:this.insertRef,className:`${this.bn}`},c.createElement("div",{className:`${this.bn}__body`},c.createElement("i",{className:"fas fa-plus"}),c.createElement("div",{className:`${this.bn}__buttons`},this.insertButton("suggestion"),this.insertButton("problem"),this.insertButton("praise"),this.insertButton("paragraph")))))}setScrollContainer(e){this.scrollContainer&&Y(this.scrollContainer).off(`.${this.eventId}`),this.scrollContainer=e,Y(this.scrollContainer).on(`mousemove.${this.eventId}`,this.throttledContainerMouseMove),Y(this.scrollContainer).on(`mouseleave.${this.eventId}`,this.throttledContainerMouseExit),Y(this.scrollContainer).on(`scroll.${this.eventId}`,this.throttledScroll)}showMenu(){this.insertRef.current&&(this.insertRef.current.style.display="flex")}startHideTimer(){window.clearTimeout(this.hideInsertMenuTimer),this.hideInsertMenuTimer=window.setTimeout(this.hideMenu,2e3)}updatePosition(){if(!this.scrollContainer||!this.hoveredBlock||!this.insertRef.current)return;const e=this.hoveredBlock.getBoundingClientRect(),t=this.scrollContainer.getBoundingClientRect();this.insertRef.current.style.left=`${t.left+15}px`,this.insertRef.current.style.width=t.width-30+"px","above"===this.insertPosition?this.insertRef.current.style.top=e.top-10+"px":"below"===this.insertPosition&&(this.insertRef.current.style.top=e.top+e.height-10+"px")}}Object.defineProperty(Q,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:j});const ee=e=>{const t=c.useContext(j),s=c.useCallback(s=>{s.preventDefault(),W(t,e.format)},[t,e.format]);return c.createElement("button",{className:(0,b.Zt)("beatmap-discussion-editor-toolbar__button",{active:G(t,e.format)}),onMouseDown:s},c.createElement("i",{className:`fas fa-${e.format}`}))};var te=s(4692);const se="beatmap-discussion-editor-toolbar";class re extends c.Component{constructor(){super(...arguments),Object.defineProperty(this,"eventId",{enumerable:!0,configurable:!0,writable:!0,value:`editor-toolbar-${(0,J.L)()}`}),Object.defineProperty(this,"ref",{enumerable:!0,configurable:!0,writable:!0,value:c.createRef()}),Object.defineProperty(this,"scrollContainer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"scrollTimer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"throttledUpdate",{enumerable:!0,configurable:!0,writable:!0,value:(0,K.throttle)(()=>this.updatePosition(),100)})}get selectionRange(){const{selection:e}=this.context;if(!e||!p.rL.isFocused(this.context)||u.Q6.isCollapsed(e)||""===u.KE.string(this.context,e))return null;const t=window.getSelection();return null!=t&&t.rangeCount>0?t.getRangeAt(0):null}get visible(){return null!=this.selectionRange}componentDidMount(){te(window).on(`scroll.${this.eventId}`,this.throttledUpdate),this.throttledUpdate(),this.throttledUpdate.flush()}componentDidUpdate(){this.throttledUpdate()}componentWillUnmount(){te(window).off(`.${this.eventId}`),this.scrollContainer&&te(this.scrollContainer).off(`.${this.eventId}`),this.throttledUpdate.cancel()}hide(){const e=this.ref.current;e&&(e.style.display="none")}render(){return null!=this.context&&this.visible?c.createElement(z.A,null,c.createElement("div",{ref:this.ref,className:se},c.createElement(ee,{format:"bold"}),c.createElement(ee,{format:"italic"}),c.createElement("div",{className:`${se}__popup-tail`}))):null}setScrollContainer(e){this.scrollContainer&&te(this.scrollContainer).off(`.${this.eventId}`),this.scrollContainer=e,te(this.scrollContainer).on(`scroll.${this.eventId}`,this.throttledUpdate)}updatePosition(){const e=this.ref.current;e&&null!=this.context&&(window.clearTimeout(this.scrollTimer),this.scrollTimer=window.setTimeout(()=>{var t,s;const r=this.selectionRange;if(null==r)return this.hide();for(const e of u.KE.positions(this.context,{at:null!==(t=this.context.selection)&&void 0!==t?t:void 0,unit:"block"})){const t=u.bP.parent(this.context,e.path);if(u.Hg.isElement(t)&&"embed"===t.type)return this.hide()}const a=null===(s=this.scrollContainer)||void 0===s?void 0:s.getBoundingClientRect(),i=r.getBoundingClientRect();if(null!=a&&(i.topa.bottom))return this.hide();e.style.display="block",e.style.left=`${i.left+(window.pageXOffset-e.offsetWidth)/2+i.width/2}px`,e.style.top=i.top-e.clientHeight-10+"px"},10))}}Object.defineProperty(re,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:j});var ae=s(2182),ie=s(5780),ne=s(5795);function oe(e,t){let s;try{s=JSON.parse(e)}catch(i){return console.error("error parsing srcDoc"),[]}const r=(0,ne.l)().use(ae.A).use(ie.A,{type:"editor"}),a=[];return s.forEach(e=>{switch(e.type){case"paragraph":if((0,U.E)(e.text.trim())){const t=r.parse(e.text);if(null==t.children||t.children.length<1){console.error("children missing... ?");break}const s=le(t.children);s.length>0?a.push({children:s,type:"paragraph"}):a.push({children:[{text:""}],type:"paragraph"})}else a.push({children:[{text:""}],type:"paragraph"});break;case"embed":{const r=e,i=t.get(r.discussion_id);if(null==i){console.error("unknown/external discussion referenced",r.discussion_id);break}if(s=i.message_type,!A.includes(s)){console.error("unsupported embed type",i.message_type);break}const n=(0,h.JL)(i);if(null==n||n.system){console.error("embed starting post is missing or is system post",r.discussion_id);break}a.push({beatmapId:i.beatmap_id,children:[{text:n.message}],discussionId:i.id,discussionType:i.message_type,timestamp:null!=i.timestamp?(0,h.Ey)(i.timestamp):void 0,type:"embed"});break}default:console.error("unknown block encountered",e)}var s}),a}function le(e,t){let s=[];const r=null!=t?t:{bold:!1,italic:!1};return e.forEach(e=>{const t={bold:r.bold||"strong"===e.type,italic:r.italic||"emphasis"===e.type};var a;"children"in(a=e)&&Array.isArray(a.children)?s=s.concat(le(e.children,t)):function(e){return"text"===e.type}(e)&&s.push({bold:t.bold,italic:t.italic,text:e.value})}),s}var ce=s(9457),ue=s(4692),de=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n},pe=function(e,t){var s={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(s[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);ac.createElement("div",{className:`${this.bn}__block`},e)}),Object.defineProperty(this,"decorateTimestamps",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const[t,s]=e,r=[];if(!u.EY.isText(t))return r;const a=RegExp(h._R,"g");let i;for(;null!==(i=a.exec(t.text));)r.push({anchor:{offset:i.index,path:s},focus:{offset:i.index+i[0].length,path:s},timestamp:i[0]});return r}}),Object.defineProperty(this,"onChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{if(0===e.length&&(console.error("value is empty in Editor.onChange"),e=me),!this.editMode){const s=JSON.stringify(e);0===(t=e).length||1===t.length&&"paragraph"===t[0].type&&1===t[0].children.length&&""===t[0].children[0].text?localStorage.removeItem(this.localStorageKey):localStorage.setItem(this.localStorageKey,s)}var t;this.setState({blockCount:B(e),value:e},()=>{var e,t;p.rL.isFocused(this.slateEditor)&&this.props.onFocus&&this.props.onFocus(),null===(t=(e=this.props).onChange)||void 0===t||t.call(e)})}}),Object.defineProperty(this,"onKeyDown",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const t=e.nativeEvent;(0,i.Ay)("mod+b",t)?(e.preventDefault(),W(this.slateEditor,"bold")):(0,i.Ay)("mod+i",t)?(e.preventDefault(),W(this.slateEditor,"italic")):(0,i.Ay)("shift+enter",t)?F(this.slateEditor)&&(e.preventDefault(),this.slateEditor.insertText("\n")):((0,i.Ay)("delete",t)||(0,i.Ay)("backspace",t))&&(e=>{const t=X(e);return null!=t&&"type"in t&&u.KE.isEmpty(e,t)})(this.slateEditor)&&(e.preventDefault(),u.gB.removeNodes(this.slateEditor),0===this.slateEditor.children.length&&this.resetEditorValue())}}),Object.defineProperty(this,"post",{enumerable:!0,configurable:!0,writable:!0,value:()=>{null==this.xhr&&this.showConfirmationIfRequired()&&this.setState({posting:!0},()=>{this.xhr=ue.ajax((0,n.w)("beatmapsets.discussion.review",{beatmapset:this.beatmapset.id}),{data:{document:this.serialize()},method:"POST"}),this.xhr.done(e=>{this.props.discussionsState.update({beatmapset:e}),this.resetInput()}).fail(m.S5).always(()=>{this.xhr=null,this.setState({posting:!1})})})}}),Object.defineProperty(this,"renderBlockCount",{enumerable:!0,configurable:!0,writable:!0,value:e=>c.createElement(r.P,{current:this.state.blockCount,max:this.context.max_blocks,onlyShowAsWarning:!0,theme:e,tooltip:(0,f.pw)("beatmap_discussions.review.block_count",{max:this.context.max_blocks,used:this.state.blockCount})})}),Object.defineProperty(this,"renderElement",{enumerable:!0,configurable:!0,writable:!0,value:e=>{let t;switch(e.element.type){case"embed":{const{element:s}=e,r=pe(e,["element"]);t=c.createElement($,Object.assign({discussionsState:this.props.discussionsState,editMode:this.editMode,element:s,readOnly:this.state.posting,store:this.props.store},r));break}default:t=e.children}return this.blockWrapper(t)}}),Object.defineProperty(this,"renderLeaf",{enumerable:!0,configurable:!0,writable:!0,value:e=>{let t=e.children;return e.leaf.bold&&(t=c.createElement("strong",Object.assign({},e.attributes),t)),e.leaf.italic&&(t=c.createElement("em",Object.assign({},e.attributes),t)),null!=e.leaf.timestamp?c.createElement("span",Object.assign({className:"beatmap-discussion-timestamp-decoration"},e.attributes),t):c.createElement("span",Object.assign({},e.attributes),t)}}),Object.defineProperty(this,"resetInput",{enumerable:!0,configurable:!0,writable:!0,value:e=>{e&&(e.preventDefault(),!confirm((0,f.pw)("common.confirmation")))||this.resetEditorValue()}}),Object.defineProperty(this,"scrollSelectionIntoView",{enumerable:!0,configurable:!0,writable:!0,value:(e,t)=>{var s;null===(s=t.startContainer.parentElement)||void 0===s||s.scrollIntoView({block:"nearest",inline:"nearest"})}}),Object.defineProperty(this,"serialize",{enumerable:!0,configurable:!0,writable:!0,value:()=>Z(this.state.value)}),Object.defineProperty(this,"showConfirmationIfRequired",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const e=this.state.value.some(e=>"embed"===e.type&&"problem"===e.discussionType&&null==e.discussionId);const t=null!=l.A.currentUser&&(l.A.currentUser.is_admin||l.A.currentUser.is_moderator||l.A.currentUser.is_full_bn),s="qualified"===this.beatmapset.status&&e,r=null!=l.A.currentUser&&(l.A.currentUser.is_admin||l.A.currentUser.is_nat||l.A.currentUser.is_bng),a="pending"===this.beatmapset.status&&this.props.discussionsState.nominationsCount("current")>0&&e;return t&&s?confirm((0,f.pw)("beatmaps.nominations.reset_confirm.disqualify")):!r||!a||confirm((0,f.pw)("beatmaps.nominations.reset_confirm.nomination_reset"))}}),Object.defineProperty(this,"updateDrafts",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.cache.draftEmbeds=this.state.value.filter(he)}}),Object.defineProperty(this,"withNormalization",{enumerable:!0,configurable:!0,writable:!0,value:e=>{const{insertData:t,normalizeNode:s}=e;return e.insertData=s=>{F(this.slateEditor)?e.insertText(s.getData("text/plain")):t(s)},e.normalizeNode=t=>{const[r,a]=t;if(u.Hg.isElement(r)&&"embed"===r.type)for(const[s,i]of u.bP.children(e,a)){if(u.Hg.isElement(s)&&!e.isInline(s))return void u.gB.unwrapNodes(e,{at:i});if(u.EY.isText(s)&&(s.bold||s.italic))return void u.gB.unsetNodes(e,["bold","italic"],{at:i});if(null!=r.beatmapId){const t=this.beatmaps.get(r.beatmapId);null!=t&&null==t.deleted_at||u.gB.setNodes(e,{beatmapId:void 0},{at:a})}}s(t)},e}}),this.slateEditor=this.withNormalization((0,p.o$)((0,d.$k)((0,u.ie)()))),this.scrollContainerRef=c.createRef(),this.toolbarRef=c.createRef(),this.insertMenuRef=c.createRef(),this.localStorageKey=`newDiscussion-${this.beatmapset.id}`,this.editMode)this.initialValue=this.valueFromProps();else{const e=localStorage.getItem(this.localStorageKey);if(null!=e)try{this.initialValue=JSON.parse(e)}catch(t){console.error("invalid json in localStorage, ignoring"),localStorage.removeItem(this.localStorageKey)}}this.state={blockCount:B(this.initialValue),posting:!1,value:this.initialValue}}get canSave(){return!this.state.posting&&this.state.blockCount<=this.context.max_blocks}componentDidMount(){this.scrollContainerRef.current&&(this.toolbarRef.current&&this.toolbarRef.current.setScrollContainer(this.scrollContainerRef.current),this.insertMenuRef.current&&this.insertMenuRef.current.setScrollContainer(this.scrollContainerRef.current))}componentDidUpdate(e){if(this.props.document!==e.document){const e=this.valueFromProps();this.setState({blockCount:B(e),value:e})}}componentWillUnmount(){var e;null===(e=this.xhr)||void 0===e||e.abort()}render(){this.cache={};const e="beatmap-discussion-editor",t={"edit-mode":this.editMode,readonly:this.state.posting};return this.updateDrafts(),c.createElement("div",{className:(0,b.Zt)(e,t)},c.createElement("div",{className:`${e}__content`},c.createElement(j.Provider,{value:this.slateEditor},c.createElement(p.A,{editor:this.slateEditor,onChange:this.onChange,value:this.initialValue},c.createElement("div",{ref:this.scrollContainerRef,className:`${e}__input-area`},c.createElement(re,{ref:this.toolbarRef}),c.createElement(Q,{ref:this.insertMenuRef,currentBeatmap:this.props.discussionsState.currentBeatmap}),c.createElement(v.Provider,{value:this.cache.draftEmbeds||[]},c.createElement(p.Fo,{decorate:this.decorateTimestamps,onKeyDown:this.onKeyDown,placeholder:(0,f.pw)("beatmaps.discussions.message_placeholder.review"),readOnly:this.state.posting,renderElement:this.renderElement,renderLeaf:this.renderLeaf,scrollSelectionIntoView:this.scrollSelectionIntoView}))),this.editMode&&c.createElement("div",{className:`${e}__inner-block-count`},this.renderBlockCount("lighter")),!this.editMode&&c.createElement("div",{className:`${e}__button-bar`},c.createElement("button",{className:"btn-osu-big btn-osu-big--forum-secondary",disabled:this.state.posting,onClick:this.resetInput,type:"button"},(0,f.pw)("common.buttons.clear")),c.createElement("div",null,c.createElement("span",{className:`${e}__block-count`},this.renderBlockCount()),c.createElement("button",{className:"btn-osu-big btn-osu-big--forum-primary",disabled:!this.canSave,onClick:this.post,type:"submit"},this.state.posting?c.createElement(a.y,null):(0,f.pw)("common.buttons.post"))))))))}resetEditorValue(){u.gB.deselect(this.slateEditor),this.slateEditor.children=me,this.slateEditor.onChange()}valueFromProps(){return this.props.editing&&null!=this.props.document?oe(this.props.document,this.discussions):[]}};Object.defineProperty(be,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:ce.j}),Object.defineProperty(be,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{editing:!1}}),be=de([o.PA],be);const fe=be},7035(e,t,s){s.d(t,{JD:()=>a,D6:()=>i});const r=new class{constructor(){Object.defineProperty(this,"listeners",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"dispatch",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.listeners.forEach(t=>{t.handleDispatchAction(e)})}})}get size(){return this.listeners.size}clear(){this.listeners.clear()}has(e){return this.listeners.has(e)}register(e){this.listeners.add(e)}unregister(e){this.listeners.delete(e)}};const a=r.dispatch;function i(e){return class extends e{constructor(...e){var t;super(...e),"object"==typeof(t=this)&&null!=t&&"handleDispatchAction"in t&&r.register(this)}}}},7131(e,t,s){s.d(t,{A:()=>n});var r=s(2543),a=s(6540),i=s(7634);function n(e){const t=Math.max(0,e.current),s=Math.max(1,e.total);return a.createElement("div",{className:(0,i.Zt)("discrete-bar",e.modifiers)},(0,r.times)(s,s=>a.createElement("div",{key:s,className:(0,i.Zt)("discrete-bar__item",{on:si,p:()=>r});var r,a=s(2853);function i(e){return t=>{let s=null;"Escape"===t.key?s=r.Cancel:"Enter"===t.key&&!t.shiftKey&&a.A.windowSize.isDesktop&&(t.preventDefault(),s=r.Submit),e(s,t)}}!function(e){e.Cancel="cancel",e.Submit="submit"}(r||(r={}))},7290(e,t,s){function r(e,t,s){var r;const a=null!==(r=e.data(t))&&void 0!==r?r:[];e.data(t,[...a,...s])}s.d(t,{A:()=>r})},7308(e,t,s){s.d(t,{g:()=>N,q:()=>T});var r,a=s(2370),i=s(4617),n=s(9981),o=s(7813),l=s(1370),c=s(2853),u=s(6540),d=s(7634),p=s(1883),m=s(5812),h=s(1980),b=s(8789),f=s(5820),v=s(2175),g=s(3816),y=s(6568),w=s(5953),_=s(8623),E=s(3358),P=s(368),O=s(1518),j=s(8460),k=s(4944),S=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};const N=["card","list","brick"];let T=r=class extends u.PureComponent{get canMessage(){return!this.isSelf&&!c.A.currentUserModel.blocks.has(this.user.id)}get isOnline(){return this.user.is_online}get isSelf(){return null!=c.A.currentUser&&c.A.currentUser.id===this.user.id}get isUserLoaded(){return Number.isFinite(this.user.id)&&this.user.id>0}get isUserNotFound(){return-1===this.user.id}get isUserVisible(){return this.isUserLoaded&&!this.user.is_deleted}get user(){return this.props.user||r.userLoading}constructor(e){super(e),Object.defineProperty(this,"avatarLoaded",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"backgroundLoaded",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"popupMenuState",{enumerable:!0,configurable:!0,writable:!0,value:new y.A}),Object.defineProperty(this,"url",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"onAvatarLoad",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.avatarLoaded=!0}}),Object.defineProperty(this,"onBackgroundLoad",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.backgroundLoaded=!0}}),Object.defineProperty(this,"renderMenuItems",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e,t,s,r;return u.createElement("div",{className:"simple-menu"},this.canMessage&&u.createElement("a",{className:"simple-menu__item js-login-required--click",href:(0,n.w)("messages.users.show",{user:this.user.id}),onClick:this.popupMenuState.dismiss},u.createElement("span",{className:"fas fa-envelope"}),` ${(0,p.pw)("users.card.send_message")}`),u.createElement("a",{className:"simple-menu__item",href:(0,h.SS)(this.user),onClick:this.popupMenuState.dismiss},u.createElement("span",{className:"fas fa-gift"}),` ${(0,p.pw)("users.card.gift_supporter")}`),u.createElement(a.A,{modifiers:"inline",onClick:this.popupMenuState.dismiss,userId:this.user.id,wrapperClass:"simple-menu__item"}),u.createElement(w.r,{className:"simple-menu__item",icon:!0,onFormOpen:this.popupMenuState.dismiss,reportableId:null!==(t=null===(e=this.props.reportable)||void 0===e?void 0:e.id)&&void 0!==t?t:this.user.id.toString(),reportableType:null!==(r=null===(s=this.props.reportable)||void 0===s?void 0:s.type)&&void 0!==r?r:"user",user:this.user}))}}),(0,o.Gn)(this)}render(){if("brick"===this.props.mode)return null==this.props.user?null:u.createElement(j.A,Object.assign({},this.props,{user:this.props.user}));const e=(0,d.Zt)("user-card",this.props.modifiers,this.props.mode,this.popupMenuState.active||this.props.activated?"active":"highlightable");return this.url=this.isUserVisible?(0,n.w)("users.show",{user:this.user.id}):void 0,u.createElement("div",{className:e},this.renderBackground(),u.createElement("div",{className:"user-card__card"},u.createElement("div",{className:"user-card__content user-card__content--details"},u.createElement("div",{className:"user-card__user"},this.renderAvatar()),u.createElement("div",{className:"user-card__details"},this.renderIcons(),u.createElement("div",{className:"user-card__username-row"},this.renderUsername(),u.createElement("div",{className:"user-card__group-badges"},u.createElement(k.A,{groups:this.user.groups,short:!0,wrapper:"user-card__group-badge"}))),this.renderListModeIcons())),this.renderStatusBar()))}renderAvatar(){const e=this.avatarLoaded?"loaded":null,t=(0,m.E)(this.user.avatar_url)&&!this.isUserNotFound;return u.createElement("div",{className:"user-card__avatar-space"},u.createElement("div",{className:(0,d.Zt)("user-card__avatar-spinner",e)},t&&u.createElement(_.y,{modifiers:e})),this.isUserLoaded&&t&&u.createElement("img",{className:(0,d.Zt)("user-card__avatar",e),onError:this.onAvatarLoad,onLoad:this.onAvatarLoad,src:this.user.avatar_url}))}renderBackground(){var e;const t=u.createElement("div",{className:(0,d.Zt)("user-card__background-overlay",{online:this.isOnline})}),s=null==(null===(e=this.user.cover)||void 0===e?void 0:e.url)?t:u.createElement(u.Fragment,null,u.createElement("img",{className:(0,d.Zt)("user-card__background",{loading:!this.backgroundLoaded}),onLoad:this.onBackgroundLoad,src:this.user.cover.url}),t);return this.isUserVisible?u.createElement("a",{className:"user-card__background-container",href:this.url},s):s}renderIcons(){return this.isUserVisible?u.createElement("div",{className:"user-card__icons user-card__icons--card"},u.createElement("a",{className:"user-card__icon user-card__icon--flag",href:(0,n.w)("rankings",{country:this.user.country_code,mode:"osu",type:"performance"})},u.createElement(b.A,{country:this.user.country})),null!=this.user.team&&u.createElement("a",{className:"user-card__icon user-card__icon--flag",href:(0,n.w)("teams.show",{team:this.user.team.id})},u.createElement(f.A,{team:this.user.team})),"card"===this.props.mode&&u.createElement(u.Fragment,null,this.user.is_supporter&&u.createElement("a",{className:"user-card__icon",href:(0,n.w)("support-the-game")},u.createElement(P.A,{modifiers:"user-card"})),u.createElement("div",{className:"user-card__icon"},u.createElement(i.A,{modifiers:"user-card",userId:this.user.id})),!this.user.is_bot&&u.createElement("div",{className:"user-card__icon"},u.createElement(v.A,{modifiers:"user-card",userId:this.user.id})))):null}renderListModeIcons(){return"list"===this.props.mode&&this.isUserVisible?u.createElement("div",{className:"user-card__icons"},this.user.is_supporter&&u.createElement("a",{className:"user-card__icon",href:(0,n.w)("support-the-game")},u.createElement(P.A,{level:this.user.support_level,modifiers:"user-list"})),u.createElement("div",{className:"user-card__icon"},u.createElement(i.A,{modifiers:"user-list",userId:this.user.id})),!this.user.is_bot&&u.createElement("div",{className:"user-card__icon"},u.createElement(v.A,{modifiers:"user-list",userId:this.user.id}))):null}renderMenuButton(){return this.isSelf?null:u.createElement("div",{className:"user-card__icon user-card__icon--menu"},u.createElement(g.V,{state:this.popupMenuState},this.renderMenuItems))}renderStatusBar(){if(!this.isUserVisible)return null;const e=this.isOnline?(0,p.pw)("users.status.online"):(0,p.pw)("users.status.offline");return u.createElement("div",{className:"user-card__content user-card__content--status"},u.createElement("div",{className:"user-card__status"},this.renderStatusIcon(),u.createElement("div",{className:"user-card__status-messages"},u.createElement("span",{className:"user-card__status-message user-card__status-message--sub u-ellipsis-overflow"},!this.isOnline&&null!=this.user.last_visit&&u.createElement(E.A,{mappings:{date:u.createElement(O.A,{dateTime:this.user.last_visit,relative:!0})},pattern:(0,p.pw)("users.show.lastvisit")})),u.createElement("span",{className:"user-card__status-message u-ellipsis-overflow"},e))),u.createElement("div",{className:"user-card__icons user-card__icons--menu"},this.renderMenuButton()))}renderStatusIcon(){return this.isUserVisible?u.createElement("div",{className:"user-card__status-icon-container"},u.createElement("div",{className:"user-card__status-icon user-card__status-icon--"+(this.isOnline?"online":"offline")})):null}renderUsername(){const e=this.user.is_deleted?(0,p.pw)("users.deleted"):this.user.username;return null==this.url?u.createElement("div",{className:"user-card__username u-ellipsis-pre-overflow"},e):u.createElement("a",{className:"user-card__username u-ellipsis-pre-overflow",href:this.url},e)}};Object.defineProperty(T,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{activated:!1,mode:"card"}}),Object.defineProperty(T,"userLoading",{enumerable:!0,configurable:!0,writable:!0,value:{avatar_url:"",country_code:"",cover:{custom_url:null,id:null,url:null},default_group:"",id:0,is_active:!1,is_bot:!1,is_deleted:!1,is_online:!1,is_supporter:!1,last_visit:"",pm_friends_only:!0,profile_colour:"",username:(0,p.pw)("users.card.loading")}}),S([o.sH],T.prototype,"avatarLoaded",void 0),S([o.sH],T.prototype,"backgroundLoaded",void 0),S([o.XI],T.prototype,"onAvatarLoad",void 0),S([o.XI],T.prototype,"onBackgroundLoad",void 0),T=r=S([l.PA],T)},7442(e,t,s){s.d(t,{Ay:()=>R,ur:()=>A,Wm:()=>C});var r=s(8102),a=s(2543),i=s(7813),n=s(1370),o=s(6540),l=s(7634),c=s(256),u=s(1883),d=s(3358),p=s(1518),m=s(8994);const h={game_aborted:["fas fa-stop-circle"],game_completed:["fas fa-check-circle"],host_changed:["fas fa-exchange-alt"],player_joined:["fas fa-arrow-right","far fa-circle"],player_kicked:["fas fa-arrow-left","fas fa-ban"],player_left:["fas fa-arrow-left","far fa-circle"],room_created:["fas fa-plus"],room_disbanded:["fas fa-times"]},b=(0,n.PA)(function(e){const t=null!=e.event.user_id?e.users[e.event.user_id]:void 0,s=e.event.event_type;return"unknown"===s||"game_started"===s?null:o.createElement("div",{className:"mp-history-event"},o.createElement("div",{className:"mp-history-event__time"},o.createElement(p.A,{dateTime:e.event.created_at,format:"LTS"})),o.createElement("div",{className:(0,l.Zt)("mp-history-event__type",[s])},h[s].map(e=>o.createElement("i",{key:e,className:e}))),o.createElement("div",{className:"mp-history-event__text"},null==t?(0,u.pw)(`matches.match.events.${s}_no_user`):o.createElement(d.A,{mappings:{user:o.createElement(m.A,{className:"mp-history-event__username",user:t})},pattern:(0,u.pw)(`matches.match.events.${s}`)})))});var f=s(7482),v=s(7612);var g=s(3702),y=s(9981),w=s(9232);const _=(0,n.PA)(function(e){var t,s,r;const a=null!==(t=e.data.beatmaps[e.playlistItem.beatmap_id])&&void 0!==t?t:{beatmapset_id:0,difficulty_rating:0,id:0,mode:g.jS[e.playlistItem.ruleset_id],status:"",total_length:0,user_id:0,version:""};const i=null!==(s=e.data.beatmapsets[a.beatmapset_id])&&void 0!==s?s:{anime_cover:!1,artist:"",artist_unicode:"",covers:{card:"",cover:"",list:"",slimcover:""},creator:"",favourite_count:0,hype:null,id:0,nsfw:!1,offset:0,play_count:0,preview_url:"",source:"",spotlight:!1,status:"graveyard",title:(0,u.pw)("matches.match.beatmap-deleted"),title_unicode:"",track_id:null,user_id:0,video:!1};let n,c=(0,w.LK)(i);if(e.playlistItem.freestyle)0!==i.id&&(n=(0,y.w)("beatmapsets.show",{beatmapset:i.id}));else{0!==a.id&&(n=(0,y.w)("beatmaps.show",{beatmap:a.id}));const e=a.version;""!==e&&(c+=` [${e}]`)}const d=o.createElement(p.A,{dateTime:e.playlistItem.details.started_at,format:"LTS"}),m=e.playlistItem.expired&&null!=e.playlistItem.played_at?o.createElement(p.A,{dateTime:e.playlistItem.played_at,format:"LTS"}):null;return o.createElement("a",{className:"mp-history-game__header",href:n},o.createElement(f.A,{beatmapset:i,modifiers:"full",size:"cover"}),o.createElement("div",{className:"mp-history-game__header-overlay"}),o.createElement("div",{className:"mp-history-game__stats-box"},null!=m?o.createElement("span",{className:"mp-history-game__stat"},d," - ",m):o.createElement("span",{className:"mp-history-game__stat"},d," ",(0,u.pw)("matches.match.in-progress")),o.createElement("span",{className:"mp-history-game__stat"},e.playlistItem.freestyle?(0,u.pw)("matches.game.freestyle"):(0,u.pw)(`beatmaps.mode.${g.jS[e.playlistItem.ruleset_id]}`)),o.createElement("span",{className:"mp-history-game__stat"},(0,u.pw)(`matches.game.scoring-type.${null!==(r=e.playlistItem.legacy_scoring_type)&&void 0!==r?r:"score"}`))),o.createElement("div",{className:"mp-history-game__metadata-box"},o.createElement("h1",{className:(0,l.Zt)("mp-history-game__metadata",["title"])},c),o.createElement("h2",{className:(0,l.Zt)("mp-history-game__metadata",["artist"])},(0,w.wp)(i))),o.createElement("div",{className:"mp-history-game__mods"},e.playlistItem.required_mods.map(e=>o.createElement(v.A,{key:e.acronym,mod:e}))),o.createElement("div",{className:"mp-history-game__team-type",style:{backgroundImage:`url(/images/badges/team-types/${e.playlistItem.details.room_type}.svg)`},title:(0,u.pw)(`matches.match.team_types.${e.playlistItem.details.room_type}`)}))});var E=s(8789),P=s(5633),O=s(3431);const j=["combo","accuracy","score"];const k=(0,n.PA)(function(e){var t,s,r;const a=e.data.users[e.score.user_id];if(null==a)throw new Error("user for score is missing");const i=null!==(s=null===(t=e.playlistItem.details.teams)||void 0===t?void 0:t[e.score.user_id])&&void 0!==s?s:"blue";return o.createElement("div",{className:(0,l.Zt)("mp-history-player-score",{team:e.showTeam})},o.createElement("div",{className:(0,l.Zt)("mp-history-player-score__shapes",i)}),o.createElement("div",{className:"mp-history-player-score__main"},o.createElement("div",{className:(0,l.Zt)("mp-history-player-score__info-box",["user"])},o.createElement("div",{className:"mp-history-player-score__username-box"},o.createElement("a",{className:"mp-history-player-score__country-flag",href:(0,y.w)("rankings",{country:null===(r=a.country)||void 0===r?void 0:r.code,mode:g.jS[e.score.ruleset_id],type:"performance"})},o.createElement(E.A,{country:a.country,modifiers:"medium"})),o.createElement(m.A,{className:"mp-history-player-score__username",user:a})),e.playlistItem.freestyle&&o.createElement("span",{className:"mp-history-player-score__beatmap-version"},function(e){var t;const s=e.data.beatmaps[e.score.beatmap_id],r=null!==(t=null==s?void 0:s.version)&&void 0!==t?t:(0,u.pw)("matches.match.beatmap-deleted");return o.createElement("a",{href:(0,y.w)("beatmaps.show",{beatmap:e.score.beatmap_id})},o.createElement("span",{className:`fal fa-extra-mode-${g.jS[e.score.ruleset_id]}`})," ",r)}(e))),o.createElement("div",{className:(0,l.Zt)("mp-history-player-score__info-box","mods")},o.createElement(P.A,{mods:e.score.mods})),o.createElement("div",{className:(0,l.Zt)("mp-history-player-score__info-box","stats")},o.createElement("div",{className:(0,l.Zt)("mp-history-player-score__stat-row","first")},j.map(t=>{let s,r="medium";switch(t){case"combo":s=o.createElement("span",{className:(0,l.Zt)("mp-history-player-score__value",{perfect:e.score.is_perfect_combo})},(0,c.ZV)(e.score.max_combo));break;case"accuracy":s=o.createElement("span",{className:(0,l.Zt)("mp-history-player-score__value",{perfect:1===e.score.accuracy})},(0,c.ZV)(e.score.accuracy,2,{style:"percent"}));break;case"score":r="large",s=(0,c.ZV)(e.score.total_score)}return o.createElement("div",{key:t,className:(0,l.Zt)("mp-history-player-score__stat",[t])},o.createElement("span",{className:"mp-history-player-score__stat-label"},(0,u.pw)(`matches.match.score.stats.${t}`)),o.createElement("span",{className:(0,l.Zt)("mp-history-player-score__stat-number",[r])},s))})),o.createElement("div",{className:"mp-history-player-score__stat-row"},(0,O.dP)(e.score,"leaderboard").map(e=>o.createElement("div",{key:e.label.short,className:(0,l.Zt)("mp-history-player-score__stat","small")},o.createElement("span",{className:"mp-history-player-score__stat-label"},e.label.long),o.createElement("span",{className:(0,l.Zt)("mp-history-player-score__stat-number",["small"])},(0,c.ZV)(e.value)))))),o.createElement("div",{className:(0,l.Zt)("mp-history-player-score__info-box","rank")},o.createElement("div",{className:(0,l.Zt)("score-rank","profile-page",(0,O.Tm)(e.score))}))))}),S=(0,n.PA)(function(e){var t;const s="team_versus"===e.playlistItem.details.room_type||"tag_team_versus"===e.playlistItem.details.room_type,r=e.teamScores.blue>e.teamScores.red?"blue":"red",a=Math.abs(e.teamScores.blue-e.teamScores.red),i=null!==(t=e.playlistItem.details.teams)&&void 0!==t?t:{},n=e.playlistItem.scores.slice().sort((e,t)=>{var s,a;return(null!==(s=i[e.user_id])&&void 0!==s?s:"")!==(null!==(a=i[t.user_id])&&void 0!==a?a:"")?i[e.user_id]===r?-1:1:t.total_score-e.total_score});return o.createElement("div",{className:"mp-history-game"},o.createElement(_,{data:e.data,playlistItem:e.playlistItem}),o.createElement("div",{className:(0,l.Zt)("mp-history-game__player-scores",{teams:s})},n.map(t=>{var r,a;return o.createElement(k,{key:null!==(a=null===(r=t.match)||void 0===r?void 0:r.slot)&&void 0!==a?a:t.id,data:e.data,playlistItem:e.playlistItem,score:t,showTeam:s})})),s&&e.playlistItem.expired&&o.createElement("div",null,o.createElement("div",{className:"mp-history-game__team-scores"},["red","blue"].map(t=>o.createElement("div",{key:t,className:(0,l.Zt)("mp-history-game__team-score",[t])},o.createElement("span",{className:(0,l.Zt)("mp-history-game__team-score-text",["name"])},(0,u.pw)(`matches.match.teams.${t}`)),o.createElement("span",{className:(0,l.Zt)("mp-history-game__team-score-text",["score"])},(0,c.ZV)(e.teamScores[t]))))),o.createElement("div",{className:"mp-history-game__results"},o.createElement("span",{className:"mp-history-game__results-text"},o.createElement(d.A,{mappings:{difference:(0,c.ZV)(a),winner:o.createElement("strong",null,o.createElement(d.A,{mappings:{team:(0,u.pw)(`matches.match.teams.${r}`)},pattern:N()}))},pattern:(0,u.pw)("matches.match.winner_by")})))))});function N(){const e=(0,u.fP)("matches.match.winner_by")?void 0:fallbackLocale;return(0,u.pw)("matches.match.winner",{},e)}var T=s(4692),x=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};const A=100,C=500;let I=class extends o.PureComponent{get hasLatest(){const e=(0,a.last)(this.props.data.events);return null!=e&&e.id===this.props.data.lastEventId}get hasNext(){return this.isOngoing||!this.hasLatest}get hasPrevious(){const e=this.props.data.events[0];return null!=e&&e.id!==this.props.data.firstEventId}get isAutoloading(){return this.isOngoing&&this.hasLatest}get isOngoing(){return null==this.props.data.room.ends_at}constructor(e){super(e),Object.defineProperty(this,"autoloadTimeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"inEvent",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"lastRenderedGame",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"loadingNext",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"loadingPrevious",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"scoresCache",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"snapshot",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"snapshotReaction",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"autoload",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.isAutoloading&&this.loadNext()}}),Object.defineProperty(this,"loadNext",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.hasNext&&!this.loadingNext&&(clearTimeout(this.autoloadTimeout),this.loadingNext=!0,this.props.loadNext().always((0,i.XI)(()=>{this.loadingNext=!1,this.delayedAutoload()})))}}),Object.defineProperty(this,"loadPrevious",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.hasPrevious&&!this.loadingPrevious&&(this.loadingPrevious=!0,this.props.loadPrevious().always((0,i.XI)(()=>{this.loadingPrevious=!1})))}}),(0,i.Gn)(this),this.snapshotReaction=(0,i.mJ)(()=>{var e;return{firstEventId:null===(e=this.props.data.events[0])||void 0===e?void 0:e.id,isAutoloading:this.isAutoloading}},(e,t)=>{if(this.snapshot={scrollToLastEvent:t.isAutoloading&&e.isAutoloading&&(0,c.wM)()<10},!this.snapshot.scrollToLastEvent){const s=null!=t.firstEventId,r=null!=e.firstEventId;if(s&&r){let s;s=t.firstEventId>e.firstEventId?()=>document.body.scrollHeight:()=>0,this.snapshot.reference={fn:s,prev:s()}}}})}componentDidMount(){this.delayedAutoload()}componentDidUpdate(){var e,t;if(null===(e=this.snapshot)||void 0===e?void 0:e.scrollToLastEvent)T(window).stop().scrollTo(document.body.scrollHeight,500);else if(null===(t=this.snapshot)||void 0===t?void 0:t.reference){const e=this.snapshot.reference.fn(),t=window.scrollY+e-this.snapshot.reference.prev;window.scrollTo(window.scrollX,t)}this.snapshot=void 0}componentWillUnmount(){clearTimeout(this.autoloadTimeout),this.snapshotReaction()}render(){return this.inEvent=!1,this.lastRenderedGame=void 0,o.createElement("div",{className:"mp-history-content"},o.createElement("h3",{className:"mp-history-content__item"},this.props.data.room.name),this.hasPrevious&&o.createElement("div",{className:(0,l.Zt)("mp-history-content__item",["more"])},o.createElement(r.A,{callback:this.loadPrevious,direction:"up",hasMore:!0,loading:this.loadingPrevious})),this.props.data.events.map(e=>this.renderEvent(e)),this.closeEventsGroup(),this.hasNext&&o.createElement("div",{className:(0,l.Zt)("mp-history-content__item",["more"])},this.isAutoloading&&o.createElement("div",{className:"mp-history-content__autoload-label"},(0,u.pw)("matches.match.in_progress_spinner_label")),o.createElement(r.A,{callback:this.loadNext,hasMore:!0,loading:this.isAutoloading||this.loadingNext})))}closeEventsGroup(){if(this.inEvent)return this.inEvent=!1,o.createElement("div",{className:(0,l.Zt)("mp-history-content__item",["event","event-close"])})}delayedAutoload(){this.autoloadTimeout=setTimeout(this.autoload,1e4)}openEventsGroup(){if(!this.inEvent)return this.inEvent=!0,o.createElement("div",{className:(0,l.Zt)("mp-history-content__item",["event","event-open"])})}renderEvent(e){if("game_started"===e.event_type)return this.renderGame(e);{const t="game_completed"===e.event_type&&(null==this.lastRenderedGame&&!this.hasPrevious||null!=this.lastRenderedGame&&this.lastRenderedGame!==e.playlist_item_id);return o.createElement(o.Fragment,{key:e.id},t&&this.renderGame(e),this.openEventsGroup(),o.createElement("div",{className:(0,l.Zt)("mp-history-content__item",["event"])},o.createElement(b,{key:e.id,event:e,users:this.props.data.users})))}}renderGame(e){if(null==e.playlist_item_id)return null;const t=this.props.data.playlistItems[e.playlist_item_id];return null==t||!t.expired&&t.id!==this.props.data.currentPlaylistItemId?null:(this.lastRenderedGame=t.id,o.createElement(o.Fragment,{key:e.id},this.closeEventsGroup(),o.createElement("div",{className:"mp-history-content__item"},o.createElement(S,{data:this.props.data,playlistItem:t,teamScores:this.teamScores(t)}))))}teamScores(e){var t;const s=this.scoresCache[e.id];if(null!=s)return s;const r={blue:0,red:0};if(!e.expired)return r;for(const a of e.scores){if(!a.passed)continue;const s=null===(t=e.details.teams)||void 0===t?void 0:t[a.user_id];null!=s&&(r[s]+=a.total_score)}return this.scoresCache[e.id]=r}};x([i.sH],I.prototype,"loadingNext",void 0),x([i.sH],I.prototype,"loadingPrevious",void 0),x([i.XI],I.prototype,"loadNext",void 0),x([i.XI],I.prototype,"loadPrevious",void 0),I=x([n.PA],I);const R=I},7448(e,t,s){function r(e){return`${e.objectType}-${e.objectId}-${e.category}`}function a(e){return null!=e.objectId&&null!=e.category?null!=e.id?"notification":"stack":"type"}function i(e){return{category:e.category,id:e.id,objectId:e.object_id,objectType:e.object_type}}function n(e){return{category:e.category,id:e.id,object_id:e.objectId,object_type:e.objectType}}function o(e){return`${e.objectType}-${e.objectId}-${e.category}-${e.id}`}s.d(t,{Rf:()=>i,UR:()=>r,aB:()=>n,bv:()=>a,dI:()=>o})},7482(e,t,s){s.d(t,{A:()=>l});var r=s(6540),a=s(9232),i=s(7634),n=s(256),o=s(1883);function l(e){var t,s;const l=(0,i.Zt)("beatmapset-cover",e.modifiers);let c={"--bg-default":(0,i.an)(null===(t=e.beatmapset)||void 0===t?void 0:t.id)};if(null!==(s=e.isDeleted)&&void 0!==s&&s)return r.createElement("div",{className:l,style:c,title:(0,o.pw)("beatmapsets.cover.deleted")},r.createElement("span",{className:"fas fa-trash"}));if(null!=e.beatmapset&&(0,a.KY)(e.beatmapset,e.forceShowNsfw)){const t=e.beatmapset.covers[e.size];t.endsWith("?0")||(c=Object.assign(Object.assign({},c),(0,n.Dk)(t)))}return r.createElement("div",{className:l,style:c})}},7508(e,t,s){s.d(t,{A:()=>i});var r=s(5647),a=s(6540);class i extends a.PureComponent{render(){return this.props.events.map(e=>a.createElement(r.A,{key:e.id,event:e,mode:this.props.mode,users:this.props.users}))}}},7542(e,t,s){s.d(t,{A:()=>h,s:()=>p});var r=s(903),a=s(6595),i=s(2543),n=s(7813),o=s(2853),l=s(1250),c=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n},u=function(e,t,s,r){return new(s||(s=Promise))(function(a,i){function n(e){try{l(r.next(e))}catch(t){i(t)}}function o(e){try{l(r.throw(e))}catch(t){i(t)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof s?t:new s(function(e){e(t)})).then(n,o)}l((r=r.apply(e,t||[])).next())})};const d=new Set(["ANNOUNCE","PM"]),p=1024;class m{get canMessage(){return null==this.canMessageError}get firstMessage(){return this.messages.length>0?this.messages[0]:void 0}get hasEarlierMessages(){return this.firstMessageId!==this.minMessageId}get isDisplayable(){return this.name.length>0&&null!=this.icon}get isHideable(){return d.has(this.type)}get isUnread(){return null!=this.lastReadId?this.lastMessageId>this.lastReadId:this.lastMessageId>-1}get lastMessage(){return this.messages[this.messages.length-1]}get lastMessageId(){var e;for(let t=this.messages.length-1;t>=0;t--)if("number"==typeof this.messages[t].messageId)return this.messages[t].messageId;return null!==(e=this.serverLastMessageId)&&void 0!==e?e:-1}get messages(){return(0,i.sortBy)([...this.messagesMap.values()],["timestamp","channelId"])}get minMessageId(){const e=this.messages.length>0?this.messages[0].messageId:void 0;return"number"==typeof e?e:-1}get pmTarget(){if("PM"===this.type)return this.userIds.find(e=>e!==o.A.currentUserOrFail.id)}get supportedType(){return a.f4.has(this.type)?this.type:null}constructor(e){Object.defineProperty(this,"canListUsers",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"canMessageError",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"channelId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"description",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"firstMessageId",{enumerable:!0,configurable:!0,writable:!0,value:-1}),Object.defineProperty(this,"icon",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"inputText",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"lastReadId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"loadingEarlierMessages",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"loadingMessages",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"loadUsersXhr",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"messageLengthLimit",{enumerable:!0,configurable:!0,writable:!0,value:p}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"needsRefresh",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"newPmChannel",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"throttledSendMarkAsRead",{enumerable:!0,configurable:!0,writable:!0,value:(0,i.throttle)(()=>this.sendMarkAsRead(),1e3)}),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:"TEMPORARY"}),Object.defineProperty(this,"uiState",{enumerable:!0,configurable:!0,writable:!0,value:{autoScroll:!0,scrollY:0}}),Object.defineProperty(this,"userIds",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"users",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"usersCursor",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"markAsReadLastSent",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"messagesMap",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"serverLastMessageId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"loadUsers",{enumerable:!0,configurable:!0,writable:!0,value:()=>{if(!this.canListUsers)return this.users=[],void(this.usersCursor=null);null!=this.usersCursor&&null==this.loadUsersXhr&&(this.loadUsersXhr=(0,r.Es)(this.channelId,this.usersCursor).done(e=>(0,n.h5)(()=>{var t;this.users=[...null!==(t=this.users)&&void 0!==t?t:[],...e.users],this.usersCursor=e.cursor_string})).always((0,n.XI)(()=>{this.loadUsersXhr=void 0})))}}),this.channelId=e,(0,n.Gn)(this)}static newPM(e,t){const s=new m(null!=t?t:-1);return s.newPmChannel=null==t,s.type="PM",s.name=e.username,s.icon=e.avatarUrl,s.userIds=[o.A.currentUserOrFail.id,e.id],s}addMessage(e){var t;if(null!=e.uuid&&e.sender_id===(null===(t=o.A.currentUser)||void 0===t?void 0:t.id)){const t=this.messagesMap.get(e.uuid);if(null!=t)return this.persistMessage(t,e)}const s=l.A.fromJson(e);this.messagesMap.set(s.messageId,s)}addMessages(e){e.forEach(e=>this.messagesMap.set(e.messageId,e))}addSendingMessage(e){this.messagesMap.set(e.messageId,e),this.moveMarkAsReadMarker()}afterSendMesssage(e,t){null!=t?(this.persistMessage(e,t),this.setLastReadId(t.message_id)):e.errored=!0}load(){this.newPmChannel||(this.loadUsers(),this.loadRecentMessages())}loadEarlierMessages(){return u(this,void 0,void 0,function*(){if(!this.hasEarlierMessages||this.loadingEarlierMessages)return;let e;this.loadingEarlierMessages=!0,this.minMessageId>0&&(e=this.minMessageId);try{const t=yield(0,r.VL)(this.channelId,{until:e});(0,n.h5)(()=>{this.addMessages(t),0===t.length&&(this.firstMessageId=this.minMessageId)})}finally{(0,n.h5)(()=>{this.loadingEarlierMessages=!1})}})}loadMetadata(){(0,r.c)(this.channelId).done(e=>{(0,n.h5)(()=>{this.updateWithJson(e)})})}moveMarkAsReadMarker(){this.setLastReadId(this.lastMessageId)}removeMessagesFromUserIds(e){for(const[,t]of this.messagesMap)e.has(t.senderId)&&this.messagesMap.delete(t.messageId)}setInputText(e){this.inputText=e}updateWithJson(e){var t,s,r;if(this.name=e.name,this.description=e.description,this.type=e.type,this.icon=null!==(t=e.icon)&&void 0!==t?t:m.defaultIcon,this.messageLengthLimit=e.message_length_limit,this.userIds=null!==(s=e.users)&&void 0!==s?s:this.userIds,this.serverLastMessageId=e.last_message_id,null!=e.current_user_attributes){this.canListUsers=e.current_user_attributes.can_list_users,this.canMessageError=e.current_user_attributes.can_message_error;const t=null!==(r=e.current_user_attributes.last_read_id)&&void 0!==r?r:0;this.setLastReadId(t),t>this.markAsReadLastSent&&(this.markAsReadLastSent=t)}}loadRecentMessages(){return u(this,void 0,void 0,function*(){if(!this.needsRefresh||this.loadingMessages)return;let e;this.loadingMessages=!0,this.messages.length>0&&this.lastMessageId>0&&(e=this.lastMessageId);try{const t=yield(0,r.VL)(this.channelId);(0,n.h5)(()=>{const s=function(e){let t;for(const s of e)"number"==typeof s.messageId&&(null==t||s.messageIdthis.lastMessageId&&this.messagesMap.clear(),this.addMessages(t),this.needsRefresh=!1,this.loadingMessages=!1,0!==t.length||null!=e||(this.firstMessageId=this.minMessageId)})}catch(t){(0,n.h5)(()=>this.loadingMessages=!1)}})}persistMessage(e,t){null!=t.uuid&&this.messagesMap.delete(t.uuid),e.persist(t),this.messagesMap.set(e.messageId,e)}sendMarkAsRead(){var e;const t=null!==(e=this.lastReadId)&&void 0!==e?e:0;this.markAsReadLastSent>=t||(this.markAsReadLastSent=t,(0,r.aI)(this.channelId,t))}setLastReadId(e){var t;e>(null!==(t=this.lastReadId)&&void 0!==t?t:0)&&(this.lastReadId=e)}}Object.defineProperty(m,"defaultIcon",{enumerable:!0,configurable:!0,writable:!0,value:"/images/layout/chat/channel-default.png"});const h=m;c([n.sH],m.prototype,"canListUsers",void 0),c([n.sH],m.prototype,"canMessageError",void 0),c([n.sH],m.prototype,"channelId",void 0),c([n.sH],m.prototype,"description",void 0),c([n.sH],m.prototype,"firstMessageId",void 0),c([n.sH],m.prototype,"icon",void 0),c([n.sH],m.prototype,"inputText",void 0),c([n.sH],m.prototype,"lastReadId",void 0),c([n.sH],m.prototype,"loadingEarlierMessages",void 0),c([n.sH],m.prototype,"loadingMessages",void 0),c([n.sH],m.prototype,"loadUsersXhr",void 0),c([n.sH],m.prototype,"messageLengthLimit",void 0),c([n.sH],m.prototype,"name",void 0),c([n.sH],m.prototype,"newPmChannel",void 0),c([n.sH],m.prototype,"type",void 0),c([n.sH],m.prototype,"uiState",void 0),c([n.sH],m.prototype,"userIds",void 0),c([n.sH],m.prototype,"users",void 0),c([n.sH],m.prototype,"usersCursor",void 0),c([n.sH],m.prototype,"messagesMap",void 0),c([n.EW],m.prototype,"canMessage",null),c([n.EW],m.prototype,"firstMessage",null),c([n.EW],m.prototype,"hasEarlierMessages",null),c([n.EW],m.prototype,"isDisplayable",null),c([n.EW],m.prototype,"isUnread",null),c([n.EW],m.prototype,"lastMessage",null),c([n.EW],m.prototype,"lastMessageId",null),c([n.EW],m.prototype,"messages",null),c([n.EW],m.prototype,"minMessageId",null),c([n.EW],m.prototype,"pmTarget",null),c([n.EW],m.prototype,"supportedType",null),c([n.XI],m.prototype,"addMessage",null),c([n.XI],m.prototype,"addMessages",null),c([n.XI],m.prototype,"addSendingMessage",null),c([n.XI],m.prototype,"afterSendMesssage",null),c([n.XI],m.prototype,"load",null),c([n.XI],m.prototype,"loadEarlierMessages",null),c([n.XI],m.prototype,"loadMetadata",null),c([n.XI],m.prototype,"loadUsers",void 0),c([n.XI],m.prototype,"moveMarkAsReadMarker",null),c([n.XI],m.prototype,"removeMessagesFromUserIds",null),c([n.XI],m.prototype,"setInputText",null),c([n.XI],m.prototype,"updateWithJson",null),c([n.XI],m.prototype,"loadRecentMessages",null),c([n.XI],m.prototype,"persistMessage",null),c([n.XI],m.prototype,"sendMarkAsRead",null),c([n.XI],m.prototype,"setLastReadId",null)},7612(e,t,s){s.d(t,{A:()=>d,n:()=>u});const r=s.p+"images/mod-cog-badge.e2ff6737.svg";var a=s(6540),i=s(7634),n=s(3431);const o=new Intl.NumberFormat("en");function l(e){return"boolean"==typeof e?e?"on":"off":"number"==typeof e?o.format(e):String(e)}function c(e,t){return e.toLocaleString("en",{maximumFractionDigits:t,minimumFractionDigits:t})}function u(e){var t,s;switch(e.acronym){case"HT":case"DC":case"DT":case"NC":{const s=null===(t=e.settings)||void 0===t?void 0:t.speed_change;return null!=s?`${c(s,2)}×`:""}case"DA":{const t={approach_rate:{acronym:"AR",significantDigits:1},circle_size:{acronym:"CS",significantDigits:1},drain_rate:{acronym:"HP",significantDigits:1},overall_difficulty:{acronym:"OD",significantDigits:1},scroll_speed:{acronym:"SS",significantDigits:2}};let r,a;for(const[i,n]of Object.entries(t)){const t=null===(s=e.settings)||void 0===s?void 0:s[i];if("number"==typeof t){if(void 0!==r)return"";a=t,r=n}}return null!=r&&null!=a?`${r.acronym}${c(a,r.significantDigits)}`:""}default:return""}}function d({extendedContent:e,hideNameInTitle:t,mod:s}){var o;null!=t||(t=!1),null!=e||(e=u(s));const c=(0,n.xJ)(s);let d=function(e,t){var s;const r=[];for(const[a,i]of Object.entries(null!==(s=t.settings)&&void 0!==s?s:{}))if("speed_change"===a)r.push(`${l(i)}×`);else{const t=e.setting_labels[a];null!=t&&r.push(`${t}: ${l(i)}`)}return r}(c,s).join(", ");return t||(d=`${c.name}${""===d?"":` (${d})`}`),a.createElement("div",{className:(0,i.Zt)("mod",`type-${c.type}`),title:d},a.createElement("div",{className:(0,i.Zt)("mod__icon",s.acronym),"data-acronym":c.acronym}),""!==e&&a.createElement("div",{className:"mod__extender"},a.createElement("span",null,e)),Object.entries(null!==(o=s.settings)&&void 0!==o?o:{}).length>0&&a.createElement("div",{className:"mod__customised-indicator"},a.createElement("svg",{height:"100%",viewBox:"0 0 32 16",width:"100%"},a.createElement("use",{href:`${r}#icon`}))))}},7634(e,t,s){s.d(t,{NZ:()=>l,OS:()=>n,Zt:()=>i,an:()=>c,hL:()=>o});var r=s(5812);function*a(e){for(const t of e)if(null!=t)if(Array.isArray(t))for(const e of t)null!=e&&(yield e);else if("string"==typeof t)yield t;else for(const[e,s]of Object.entries(t))!0===s&&(yield e)}function i(e,...t){let s=e;for(const r of a(t))for(const t of r.split(" "))""!==t&&(s+=` ${e}--${t}`);return s}function n(e){var t;return{"--group-colour":null!==(t=null==e?void 0:e.colour)&&void 0!==t?t:"initial"}}function o(...e){return[...a(e)].join(" ")}function l(e){return(0,r.E)(e)?`url("${String(e).replace(/"/g,"%22")}")`:void 0}function c(e){return`var(--bg-default-${(null!=e?e:0)%6})`}},7655(e,t,s){s.d(t,{A:()=>k});var r=s(8789),a=s(5820),i=s(8623),n=s(241),o=s(4944),l=s(9981),c=s(2543),u=s(7813),d=s(1370),p=s(2853),m=s(6540),h=s(7634),b=s(1883),f=s(5191),v=s(5848),g=s(256),y=s(6250),w=s(4692);function _(e){return{"--colour":`var(--level-tier-${e})`}}class E extends m.Component{constructor(){super(...arguments),Object.defineProperty(this,"disposer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"valueRef",{enumerable:!0,configurable:!0,writable:!0,value:m.createRef()}),Object.defineProperty(this,"onMouseOver",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t;null==this.disposer&&(w(null!==(t=this.valueRef.current)&&void 0!==t?t:[]).qtip({content:"[placeholder]",hide:{delay:200,fixed:!0},overwrite:!1,position:Object.assign(Object.assign({},(0,y.g)("top center")),{adjust:{method:"shift flip",scroll:!1}}),show:{delay:200,event:e.type,ready:!0},style:{classes:"qtip qtip--daily-challenge",tip:!1}},e),this.disposer=(0,u.fm)(()=>{var e;const t=(0,v.renderToStaticMarkup)((s=this.props.stats,m.createElement("div",{className:"season-stats-popup"},m.createElement("div",{className:"season-stats-popup__content season-stats-popup__content--top"},m.createElement("div",{className:"season-stats-popup__main"},m.createElement("div",{className:"season-stats-popup__rank"},"#",(0,g.ZV)(s.rank)),m.createElement("div",{className:"season-stats-popup__line",style:_(s.division.colour_tier)}),m.createElement("div",{className:"season-stats-popup__division"},m.createElement(f.A,{className:"season-stats-popup__img",src:s.division.image_url}),m.createElement("div",{className:"season-stats-popup__name"},s.division.name),m.createElement("div",{className:"season-stats-popup__threshold"},(0,b.pw)("users.show.season_stats.division_top_percentage",{value:(0,g.ZV)(s.division.threshold,0,{style:"percent"})})))),m.createElement("a",{className:"season-stats-popup__season",href:(0,l.w)("seasons.show",{season:s.season.id})},s.season.name)),m.createElement("div",{className:"season-stats-popup__content season-stats-popup__content--stats"},m.createElement("div",{className:"season-stats-popup__key"},(0,b.pw)("users.show.season_stats.total_score")),m.createElement("div",{className:"season-stats-popup__value"},(0,g.ZV)(s.total_score))))));var s;w(null!==(e=this.valueRef.current)&&void 0!==e?e:[]).qtip("set",{"content.text":t})}))}})}componentWillUnmount(){var e;null===(e=this.disposer)||void 0===e||e.call(this)}render(){return m.createElement("div",{ref:this.valueRef,className:"season-stats",onMouseOver:this.onMouseOver},m.createElement("div",{className:"season-stats__line",style:_(this.props.stats.division.colour_tier)}),m.createElement(f.A,{className:"season-stats__division",src:this.props.stats.division.image_url}),m.createElement("div",{className:"season-stats__name"},this.props.stats.division.name))}}var P=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};function O(){}let j=class extends m.Component{get showCover(){return p.A.userPreferences.get("profile_cover_expanded")}constructor(e){super(e),Object.defineProperty(this,"onCoverExpandedToggle",{enumerable:!0,configurable:!0,writable:!0,value:()=>{p.A.userPreferences.set("profile_cover_expanded",!this.showCover)}}),(0,u.Gn)(this)}render(){var e,t;return m.createElement("div",{className:(0,h.Zt)("profile-info",this.props.modifiers,{cover:this.showCover})},this.showCover&&m.createElement("div",{className:"profile-info__bg",style:{backgroundImage:(0,h.NZ)(this.props.coverUrl)}},this.props.isUpdatingCover&&m.createElement("div",{className:"profile-info__spinner"},m.createElement(i.y,null)),this.props.editor),m.createElement("div",{className:"profile-info__details"},this.props.user.id===(null===(e=p.A.currentUser)||void 0===e?void 0:e.id)?m.createElement("a",{className:"profile-info__avatar",href:`${(0,l.w)("account.edit")}#avatar`,title:(0,b.pw)("users.show.change_avatar")},this.renderAvatar()):m.createElement("div",{className:"profile-info__avatar"},this.renderAvatar()),m.createElement("div",{className:"profile-info__info"},m.createElement("h1",{className:"profile-info__name"},m.createElement("span",{className:"u-ellipsis-pre-overflow"},this.props.user.username),m.createElement("div",{className:"profile-info__previous-usernames"},this.renderPreviousUsernames()),m.createElement("div",{className:"profile-info__icons profile-info__icons--name-inline"},this.renderIcons())),this.renderTitle(),m.createElement("div",{className:"profile-info__flags"},null!=(null===(t=this.props.user.country)||void 0===t?void 0:t.code)&&m.createElement("a",{className:"profile-info__flag",href:(0,l.w)("rankings",{country:this.props.user.country.code,mode:this.props.currentMode,type:"performance"})},m.createElement(r.A,{country:this.props.user.country}),m.createElement("span",{className:"profile-info__flag-text"},this.props.user.country.name)),null!=this.props.user.team&&m.createElement("a",{className:"profile-info__flag",href:(0,l.w)("teams.show",{team:this.props.user.team.id})},m.createElement(a.A,{team:this.props.user.team}),m.createElement("span",{className:"profile-info__flag-text u-ellipsis-overflow"},this.props.user.team.name)),m.createElement("div",{className:"profile-info__icons profile-info__icons--flag-inline"},this.renderIcons()))),this.props.user.current_season_stats&&m.createElement(E,{stats:this.props.user.current_season_stats}),m.createElement("div",{className:"profile-info__cover-toggle"},m.createElement("button",{className:"btn-circle btn-circle--page-toggle",onClick:this.onCoverExpandedToggle,title:(0,b.pw)("users.show.cover.to_"+(this.showCover?"0":"1")),type:"button"},m.createElement("span",{className:this.showCover?"fas fa-chevron-up":"fas fa-chevron-down"})))))}renderAvatar(){return m.createElement(n.A,{modifiers:"full",user:this.props.user})}renderIcons(){var e;return m.createElement(m.Fragment,null,this.props.user.is_supporter&&m.createElement("a",{className:"profile-info__icon profile-info__icon--supporter",href:(0,l.w)("support-the-game"),title:(0,b.pw)("users.show.is_supporter")},(0,c.times)(null!==(e=this.props.user.support_level)&&void 0!==e?e:0,e=>m.createElement("span",{key:e,className:"fas fa-heart"}))),m.createElement(o.A,{groups:this.props.user.groups,modifiers:"profile-page",wrapper:"profile-info__icon"}))}renderPreviousUsernames(){if(null==this.props.user.previous_usernames||0===this.props.user.previous_usernames.length)return null;const e=this.props.user.previous_usernames.join(", ");return m.createElement("div",{className:"profile-previous-usernames"},m.createElement("a",{className:"profile-previous-usernames__icon profile-previous-usernames__icon--with-title",onClick:O,title:`${(0,b.pw)("users.show.previous_usernames")}: ${e}`},m.createElement("span",{className:"fas fa-address-card"})),m.createElement("div",{className:"profile-previous-usernames__icon profile-previous-usernames__icon--plain"},m.createElement("span",{className:"fas fa-address-card"})),m.createElement("div",{className:"profile-previous-usernames__content"},m.createElement("div",{className:"profile-previous-usernames__title"},(0,b.pw)("users.show.previous_usernames")),m.createElement("div",{className:"profile-previous-usernames__names"},e)))}renderTitle(){var e;if(null==this.props.user.title)return null;const t={children:this.props.user.title,className:"profile-info__title",style:{color:null!==(e=this.props.user.profile_colour)&&void 0!==e?e:void 0}};return null!=this.props.user.title_url?m.createElement("a",Object.assign({href:this.props.user.title_url},t)):m.createElement("span",Object.assign({},t))}};P([u.EW],j.prototype,"showCover",null),j=P([d.PA],j);const k=j},7726(e,t,s){s.d(t,{A:()=>n});var r=s(6540),a=s(7634);const i="value-display";function n({description:e,label:t,modifiers:s,value:n}){return r.createElement("div",{className:(0,a.Zt)(i,s)},r.createElement("div",{className:`${i}__label u-ellipsis-overflow`},t),r.createElement("div",{className:`${i}__value u-ellipsis-overflow`},n),null!=e&&r.createElement("div",{className:`${i}__description`},e))}},7833(e,t,s){s.d(t,{A:()=>l});var r=s(1173),a=s(6540),i=s(5812),n=function(e,t){var s={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(s[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a{var t,s;this.shouldUpdate=!1,null===(s=(t=this.props).onInput)||void 0===s||s.call(t,e)}}),this.state={lineHeight:NaN}}componentDidMount(){var e;null!=this.ref.current&&(null!=this.props.maxRows||(0,i.E)(null===(e=this.props.value)||void 0===e?void 0:e.toString())?window.setTimeout(()=>{if(null!=this.ref.current){if(null!=this.props.maxRows){const e=Math.ceil(parseFloat(window.getComputedStyle(this.ref.current).getPropertyValue("line-height")));this.setState({lineHeight:e})}(0,r.A)(this.ref.current)}},0):(0,r.A)(this.ref.current))}componentDidUpdate(){null!=this.ref.current&&("hidden"!==this.ref.current.style.overflowX&&(this.ref.current.style.overflowX="hidden"),this.shouldUpdate?r.A.update(this.ref.current):this.shouldUpdate=!0)}componentWillUnmount(){null!=this.ref.current&&r.A.destroy(this.ref.current)}render(){const e=this.props,{innerRef:t,onInput:s,maxRows:r,style:i}=e,o=n(e,["innerRef","onInput","maxRows","style"]),l=this.maxHeight;return a.createElement("textarea",Object.assign({ref:this.ref,onInput:this.handleInput,style:null!=l?Object.assign(Object.assign({},i),{maxHeight:l}):i},o))}}Object.defineProperty(o,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{async:!1,rows:1}});const l=o},7838(e,t,s){s.d(t,{L:()=>_});var r,a,i,n,o=s(6540),l=s(9918),c=s(7634),u=s(1980),d=s(3358),p=s(8994),m=s(1883),h=s(2543);r=o.createElement,a={add:"fas fa-plus",fix:"fas fa-check",misc:"far fa-circle"},n="changelog-entry__user-link",i=function(e){return null!=e.osu_username?r(p.A,{className:n,user:{id:e.user_id,username:e.osu_username}}):null!=e.github_url?(0,l.a)({className:n,href:e.github_url},e.display_name):e.display_name};var b,f=function(e){var t,s;return t=e.entry,s=h.escape(t.title).replace(/(`+)([^`]+)\1/g,"$2"),(0,l.div)({className:"changelog-entry",key:t.id},(0,l.div)({className:"changelog-entry__row"},(0,l.div)({className:"changelog-entry__title "+(t.major?"changelog-entry__title--major":"")},(0,l.span)({className:"changelog-entry__title-icon"},(0,l.span)({className:"changelog-entry__icon "+a[t.type]})),null!=t.url?(0,l.a)({href:t.url,className:"changelog-entry__link",dangerouslySetInnerHTML:{__html:s}}):(0,l.span)({dangerouslySetInnerHTML:{__html:s}}),null!=t.github_url?(0,l.span)(null," (",(0,l.a)({className:"changelog-entry__link",href:t.github_url},t.repository.replace(/^.*\//,"")+"#"+t.github_pull_request_id),")"):void 0,(0,l.span)({className:"changelog-entry__user"},r(d.A,{mappings:{user:i(t.github_user)},pattern:(0,m.pw)("changelog.entry.by")})))),null!=t.message_html?(0,l.div)({className:"changelog-entry__row changelog-entry__row--message",dangerouslySetInnerHTML:{__html:t.message_html}}):void 0)},v=s(2543),g=s(5093),y=function(e,t){return function(){return e.apply(t,arguments)}},w={}.hasOwnProperty;b=o.createElement;var _=function(e){function t(){return this.renderNav=y(this.renderNav,this),this.render=y(this.render,this),t.__super__.constructor.apply(this,arguments)}return function(e,t){for(var s in t)w.call(t,s)&&(e[s]=t[s]);function r(){this.constructor=e}r.prototype=t.prototype,e.prototype=new r,e.__super__=t.prototype}(t,e),t.prototype.render=function(){var e,t,s,r,a,i,n;return e=(0,c.Zt)("build",this.props.modifiers),r=v.groupBy(this.props.build.changelog_entries,"category"),t=v(r).keys().sort().value(),(0,l.div)({className:e+" t-changelog-stream--"+this.props.build.update_stream.name},(0,l.div)({className:"build__version"},this.renderNav({version:"previous",icon:"fas fa-chevron-left"}),(0,l.a)({className:"build__version-link",href:(0,u.h1)(this.props.build)},(0,l.span)({className:"build__stream"},this.props.build.update_stream.display_name)," ",(0,l.span)({className:"u-changelog-stream--text"},this.props.build.display_version)),this.renderNav({version:"next",icon:"fas fa-chevron-right"})),null!=(i=this.props.showDate)&&i?(0,l.div)({className:"build__date"},g(this.props.build.created_at).format("LL")):void 0,null!=this.props.build.youtube_id&&null!=(n=this.props.showVideo)&&n?(0,l.div)({className:"build__video"},(0,l.iframe)({className:"u-embed-wide",allowFullScreen:!0,src:"https://www.youtube.com/embed/"+this.props.build.youtube_id+"?rel=0"})):void 0,function(){var e,i,n;for(n=[],e=0,i=t.length;en});var r=s(6540),a=s(256),i=s(1883);function n({score:e,suffix:t}){return"solo_score"!==e.type&&null==e.best_id?r.createElement("span",{title:(0,i.pw)("scores.status.non_best")},"-"):"solo_score"!==e.type||e.preserve&&e.ranked&&(null!=e.pp||!e.processed)?null==e.pp?r.createElement("span",{title:(0,i.pw)("scores.status.processing")},r.createElement("span",{className:"fas fa-sync"})):r.createElement("span",{title:(0,a.ZV)(e.pp)},(0,a.ZV)(Math.round(e.pp)),t):r.createElement("span",{title:(0,i.pw)("scores.status.no_pp")},"-")}},8064(e,t,s){s.d(t,{A:()=>p});var r=s(7813),a=s(1370),i=s(2853),n=s(6540),o=s(6407),l=s(1883),c=s(3135),u=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let d=class extends n.Component{get isPinned(){return i.A.scorePins.isPinned(this.props.score)}get label(){const e=this.isPinned?"0":"1";return(0,l.pw)(`users.show.extra.top_ranks.pin.to_${e}`)}constructor(e){super(e),Object.defineProperty(this,"onUpdateCallbacks",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"onClick",{enumerable:!0,configurable:!0,writable:!0,value:()=>{const e=this.isPinned?"0":"1";this.onUpdateCallbacks={done:this.props.onUpdate,fail:(0,o.dI)(this.onClick)},i.A.scorePins.apiPin(this.props.score,!this.isPinned).done(()=>{var t,s;(0,c.l)((0,l.pw)(`users.show.extra.top_ranks.pin.to_${e}_done`),"info"),null===(s=null===(t=this.onUpdateCallbacks)||void 0===t?void 0:t.done)||void 0===s||s.call(t)}).fail((e,t)=>{var s;return null===(s=this.onUpdateCallbacks)||void 0===s?void 0:s.fail(e,t)})}}),(0,r.Gn)(this)}componentWillUnmount(){this.onUpdateCallbacks=null}render(){return n.createElement("button",{className:this.props.className,onClick:this.onClick,type:"button"},this.label)}};u([r.EW],d.prototype,"isPinned",null),u([r.EW],d.prototype,"label",null),d=u([a.PA],d);const p=d},8102(e,t,s){s.d(t,{A:()=>u});var r=s(6540),a=s(7634),i=s(1883),n=s(8623),o=s(4692);const l="show-more-link";class c extends r.PureComponent{constructor(){super(...arguments),Object.defineProperty(this,"onClick",{enumerable:!0,configurable:!0,writable:!0,value:()=>{null==this.props.callback?null==this.props.url&&null!=this.props.event&&o.publish(this.props.event,this.props.data):this.props.callback(this.props.data)}})}render(){if(!this.props.hasMore&&!this.props.loading)return null;const e={children:this.children(),className:(0,a.Zt)(l,this.props.modifiers)};return this.props.loading?r.createElement("span",Object.assign({"data-disabled":"1"},e)):null==this.props.url?r.createElement("button",Object.assign({onClick:this.onClick,type:"button"},e)):r.createElement("a",Object.assign({href:this.props.url,onClick:this.onClick},e))}children(){var e,t;const s=r.createElement("span",{className:`fas fa-angle-${null!==(e=this.props.direction)&&void 0!==e?e:"down"}`});return r.createElement(r.Fragment,null,r.createElement("span",{className:`${l}__spinner`},r.createElement(n.y,null)),r.createElement("span",{className:`${l}__label`},r.createElement("span",{className:`${l}__label-icon ${l}__label-icon--left`},s),r.createElement("span",{className:`${l}__label-text`},null!==(t=this.props.label)&&void 0!==t?t:(0,i.pw)("common.buttons.show_more"),null!=this.props.remaining&&` (${this.props.remaining})`),r.createElement("span",{className:`${l}__label-icon ${l}__label-icon--right`},s)))}}Object.defineProperty(c,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{hasMore:!1,loading:!1}});const u=c},8156(e,t,s){s.d(t,{A:()=>o,e:()=>n});var r=s(6540),a=s(961);const i="js-portal";function n(){var e;for(const t of(null!==(e=window.newBody)&&void 0!==e?e:document.body).querySelectorAll(`.${i}`))t.remove()}class o extends r.PureComponent{constructor(e){super(e),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.container=document.createElement("div"),this.container.className=i}componentDidMount(){var e,t;(null!==(t=null!==(e=this.props.root)&&void 0!==e?e:window.newBody)&&void 0!==t?t:document.body).appendChild(this.container)}componentWillUnmount(){this.container.remove()}render(){return(0,a.createPortal)(this.props.children,this.container)}}},8243(e,t,s){s.d(t,{I6:()=>m,bE:()=>p,ID:()=>h,tv:()=>b,Os:()=>f,to:()=>v,u8:()=>g,tl:()=>y,U0:()=>w});var r=s(9365);var a=s(3702),i=s(2543),n=s(2853),o=s(2599),l=s(4692);function c(e){return null==e.accuracy||null==e.deleted_at&&!e.convert}const u=r.scaleLinear().domain([.1,1.25,2,2.5,3.3,4.2,4.9,5.8,6.7,7.7,9]).clamp(!0).range(["#4290FB","#4FC0FF","#4FFFD5","#7CFF4F","#F6F05C","#FF8068","#FF4E6F","#C645B8","#6563DE","#18158E","#000000"]).interpolate(r.interpolateRgb.gamma(2.2)),d=r.scaleLinear().domain([9,9.9,10.6,11.5,12.4]).clamp(!0).range(["#F6F05C","#FF8068","#FF4E6F","#C645B8","#6563DE","#18158E"]).interpolate(r.interpolateRgb.gamma(2.2));function p(e){var t;if(null!=e.items){if(0===e.items.length)return null;let t=null,s=null;const r=function(e){var t,s;null==E&&(E=null!==(t=(0,o.Do)("json-recommended-star-difficulty-all"))&&void 0!==t?t:{},l(document).one("turbo:before-cache",()=>{E=null}));return null!==(s=E[e])&&void 0!==s?s:1}(e.items[0].mode);for(const a of e.items){const e=Math.abs(a.difficulty_rating-r);c(a)&&(null==t||e!("convert"in e)||!0!==e.convert)});if(null!=r)return r}return null}function m(e){var t;const s=null==e.mode?_():[e.mode];for(const r of s){const s=null===(t=e.group.get(r))||void 0===t?void 0:t.find(t=>t.id===e.id);if(null!=s)return s}return null}function h(e){return e<.1?"#AAAAAA":e>=9?"#000000":u(e)}function b(e){return e<6.5?"#000000":e<9?"#F6F05C":d(e)}function f(e,t=!0){const s=i.groupBy(null!=e?e:[],"mode"),r=new Map;return a.gQ.forEach(e=>{const a=s[e];(null!=a||t)&&r.set(e,function(e){if(0===e.length)return[];if("mania"===e[0].mode)return i.orderBy(e,["convert","cs","difficulty_rating"],["desc","asc","asc"]);return i.orderBy(e,["convert","difficulty_rating"],["desc","asc"])}(null!=a?a:[]))}),r}function v(e,t){return e.owners.some(e=>e.id!==t.user_id)}function g(e,t){return t.owners.some(t=>t.id===e)}function y(e){return"ranked"===e.status||"approved"===e.status}function w(e){return[...f(e).values()].flat()}function _(){var e;const t=null===(e=n.A.currentUser)||void 0===e?void 0:e.playmode;if(null==t||!a.gQ.includes(t))return a.gQ;const s=i.without(a.gQ,t);return s.unshift(t),s}let E=null},8293(e,t,s){s.d(t,{A:()=>i});var r=s(6540),a=s(1883);function i(e){return r.createElement("div",{className:"u-relative"},r.createElement("h2",{className:"title title--page-extra"},(0,a.pw)(`users.show.extra.${e.name}.title`)),e.withEdit&&r.createElement("span",{className:"sortable-handle sortable-handle--profile-page-extra hidden-xs js-profile-page-extra--sortable-handle"},r.createElement("i",{className:"fas fa-bars"})))}},8305(e,t,s){s.d(t,{A:()=>n});var r=s(6540),a=s(256),i=s(1883);function n(e){return r.createElement("h3",{className:"title title--page-extra-small"},(0,i.pw)(e.titleKey),null!=e.count&&r.createElement("span",{className:"title__count"},(0,a.ZV)(e.count)))}},8307(e,t,s){s.d(t,{an:()=>l,kx:()=>n,yz:()=>i,zv:()=>o});var r=s(893),a=s(7448);class i extends r.A{constructor(e,t){super(),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"context",{enumerable:!0,configurable:!0,writable:!0,value:t})}}class n extends r.A{constructor(e){super(),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:e})}}class o extends r.A{constructor(e,t){super(),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"readCount",{enumerable:!0,configurable:!0,writable:!0,value:t})}static fromJson(e){const t=e.data.notifications.map(e=>(0,a.Rf)(e));return new o(t,e.data.read_count)}}class l extends r.A{constructor(e,t){super(),Object.defineProperty(this,"data",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"readCount",{enumerable:!0,configurable:!0,writable:!0,value:t})}static fromJson(e){const t=e.data.notifications.map(e=>(0,a.Rf)(e));return new l(t,e.data.read_count)}}},8395(e,t,s){s.d(t,{A:()=>L});var r=s(1370),a=s(6540),i=s(8102);const n={announcement:["fas fa-bullhorn"],beatmap_owner_change:["fas fa-drafting-compass","fas fa-user-friends"],beatmapset_discussion:["fas fa-drafting-compass","fas fa-comment"],beatmapset_problem:["fas fa-drafting-compass","fas fa-exclamation-circle"],beatmapset_state:["fas fa-drafting-compass"],channel:["fas fa-comments"],channel_mention:["fas fa-at"],channel_team:["fas fa-comments"],comment:["fas fa-comment"],forum_topic_reply:["fas fa-comment-medical"],team_application:["fas fa-users"],user_achievement_unlock:["fas fa-medal"],user_beatmapset_new:["fas fa-music"]},o={beatmap_owner_change:["fas fa-drafting-compass","fas fa-user-friends"],beatmapset_discussion_lock:["fas fa-drafting-compass","fas fa-lock"],beatmapset_discussion_post_new:["fas fa-drafting-compass","fas fa-comment-medical"],beatmapset_discussion_qualified_problem:["fas fa-drafting-compass","fas fa-exclamation-circle"],beatmapset_discussion_unlock:["fas fa-drafting-compass","fas fa-unlock"],beatmapset_disqualify:["fas fa-drafting-compass","far fa-times-circle"],beatmapset_love:["fas fa-drafting-compass","fas fa-heart"],beatmapset_nominate:["fas fa-drafting-compass","fas fa-vote-yea"],beatmapset_qualify:["fas fa-drafting-compass","fas fa-check"],beatmapset_rank:["fas fa-drafting-compass","fas fa-check-double"],beatmapset_remove_from_loved:["fas fa-drafting-compass","fas fa-heart-broken"],beatmapset_reset_nominations:["fas fa-drafting-compass","fas fa-undo"],channel_announcement:["fas fa-bullhorn"],channel_mention:["fas fa-at"],channel_message:["fas fa-comments"],channel_team:["fas fa-comments"],comment_new:["fas fa-comment"],comment_reply:["fas fa-reply"],forum_topic_reply:["fas fa-comment-medical"],team_application_accept:["fas fa-users","fas fa-check"],team_application_reject:["fas fa-users","fas fa-times"],team_application_store:["fas fa-users","fas fa-scroll"],user_achievement_unlock:["fas fa-trophy"],user_beatmapset_new:["fas fa-music"],user_beatmapset_revive:["fas fa-trash-restore"]},l={beatmap_owner_change:["fas fa-user-edit"],beatmapset_discussion_lock:["fas fa-lock"],beatmapset_discussion_post_new:["fas fa-comment-medical"],beatmapset_discussion_qualified_problem:["fas fa-exclamation-circle"],beatmapset_discussion_unlock:["fas fa-unlock"],beatmapset_disqualify:["far fa-times-circle"],beatmapset_love:["fas fa-heart"],beatmapset_nominate:["fas fa-vote-yea"],beatmapset_qualify:["fas fa-check"],beatmapset_rank:["fas fa-check-double"],beatmapset_remove_from_loved:["fas fa-heart-broken"],beatmapset_reset_nominations:["fas fa-undo"],channel_announcement:["fas fa-bullhorn"],channel_mention:["fas fa-at"],channel_message:["fas fa-comments"],channel_team:["fas fa-comments"],comment_new:["fas fa-comment"],comment_reply:["fas fa-reply"],forum_topic_reply:["fas fa-comment-medical"],team_application_accept:["fas fa-check"],team_application_reject:["fas fa-times"],team_application_store:["fas fa-scroll"],user_beatmapset_new:["fas fa-music"],user_beatmapset_revive:["fas fa-trash-restore"]};var c=s(4179);function u(e){return"beatmap_owner_change"===e.name}c.A;var d=s(1883);function p(e,t=!1){const s={content:e.details.content,name:e.details.name,title:e.title,username:e.details.username};u(e)&&(s.beatmap=e.details.version),"beatmapset_discussion_review_new"===e.name&&null!=e.details.embeds&&function(e,t){const s=[];for(const r of["praises","problems","suggestions"]){const a=e[r];a>0&&s.push((0,d.Mq)(`notifications.item.beatmapset.beatmapset_discussion.review_count.${r}`,a)),t[r]=a}0===s.length&&s.push((0,d.Mq)("notifications.item.beatmapset.beatmapset_discussion.review_count.problems",0)),t.review_counts=(0,d.sc)(s)}(e.details.embeds,s);let r=`notifications.item.${e.displayType}.${e.category}`;"channel"===e.objectType&&(r+=`.${e.details.type}`),r+=`.${e.name}`,t&&(r+="_compact");const a=`${r}_empty`;return null==e.details.content&&(0,d.fP)(a,window.fallbackLocale)&&(r=a),(0,d.pw)(r,s)}function m(e){if("channel"===e.objectType){const t={name:e.details.name,title:e.title,username:e.details.username},s=`notifications.item.${e.objectType}.${e.category}.${e.details.type}.${e.name}_group`;return(0,d.pw)(s,t)}if("user_achievement_unlock"===e.name){const t={username:e.details.username};return(0,d.pw)(`notifications.item.${e.displayType}.${e.category}.${e.name}_group`,t)}if("user_beatmapset_new"===e.category){const t={username:e.details.username};return(0,d.pw)(`notifications.item.${e.displayType}.${e.category}.${e.category}_group`,t)}return"team_application"===e.category?(0,d.pw)("notifications.item.team.team_application.team_application_group"):e.title}var h=s(9981),b=s(6606);function f(e){if(u(e))return(0,h.w)("beatmapsets.discussion",{beatmap:"-",beatmapset:e.objectId,mode:"events"});if("comment_new"===e.name||"comment_reply"===e.name)switch(e.objectType){case"beatmapset":return(0,h.w)("beatmapsets.show",{beatmapset:e.objectId});case"build":return(0,h.w)("changelog.show",{changelog:e.objectId,key:"id"})}else{if("user_achievement_unlock"===e.name)return g(e);if("user_beatmapset_new"===e.category)return`${(0,h.w)("users.show",{user:e.objectId})}#beatmaps`}switch(e.objectType){case"beatmapset":return(0,h.w)("beatmapsets.discussion",{beatmapset:e.objectId});case"channel":return(0,h.w)("chat.index",{channel_id:e.objectId});case"forum_topic":return(0,h.w)("forum.topics.show",{start:"unread",topic:e.objectId});case"news_post":return(0,h.w)("news.show",{key:"id",news:e.objectId});case"team":return(0,h.w)("teams.show",{team:e.objectId})}}function v(e){if(u(e))return(0,h.w)("beatmapsets.discussion",{beatmap:e.details.beatmapId,beatmapset:e.objectId});switch(e.name){case"beatmapset_discussion_lock":case"beatmapset_discussion_unlock":case"beatmapset_disqualify":case"beatmapset_love":case"beatmapset_nominate":case"beatmapset_qualify":case"beatmapset_remove_from_loved":case"beatmapset_reset_nominations":return(0,h.w)("beatmapsets.discussion",{beatmapset:e.objectId});case"beatmapset_discussion_post_new":case"beatmapset_discussion_qualified_problem":case"beatmapset_discussion_review_new":return(0,b.Gm)({beatmapId:e.details.beatmap_id,beatmapsetId:e.objectId,discussionId:e.details.discussion_id,postId:e.details.post_id});case"beatmapset_rank":return(0,h.w)("beatmapsets.show",{beatmapset:e.objectId});case"channel_announcement":case"channel_mention":case"channel_message":case"channel_team":return(0,h.w)("chat.index",{channel_id:e.objectId});case"comment_new":case"comment_reply":return(0,h.w)("comments.show",{comment:e.details.comment_id});case"forum_topic_reply":return(0,h.w)("forum.posts.show",{post:e.details.post_id});case"news_post_new":return(0,h.w)("news.show",{news:e.details.slug});case"team_application_accept":case"team_application_reject":case"team_application_store":return(0,h.w)("teams.show",{team:e.objectId});case"user_achievement_unlock":return g(e);case"user_beatmapset_new":case"user_beatmapset_revive":return(0,h.w)("beatmapsets.show",{beatmapset:e.details.beatmapset_id})}}function g(e){var t;const s={mode:null!==(t=e.details.achievement_mode)&&void 0!==t?t:void 0,user:e.details.user_id};return`${(0,h.w)("users.show",s)}#medals`}var y=s(9262),w=s(1113),_=s(9749),E=s(1518),P=s(7634),O=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let j=class extends a.Component{constructor(){super(...arguments),Object.defineProperty(this,"onLinkClick",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t,s;0!==e.button&&1!==e.button||null===(s=(t=this.props).markRead)||void 0===s||s.call(t)}})}get canMarkAsRead(){var e;return null!==(e=this.props.canMarkAsRead)&&void 0!==e?e:this.props.item.canMarkRead}render(){const e=(0,P.hL)(this.props.modifiers,this.props.item.category,{read:this.props.item.isRead&&!this.props.canMarkAsRead});return a.createElement("div",{className:(0,P.Zt)("notification-popup-item",e)},a.createElement("a",{className:"notification-popup-item__link",href:this.props.url,onAuxClick:this.onLinkClick,onClick:this.onLinkClick}),this.renderCover(),a.createElement("div",{className:"notification-popup-item__main"},a.createElement("div",{className:"notification-popup-item__content"},this.renderCategory(),this.renderMessage(),this.renderTime(),this.renderExpandButton()),this.renderMarkAsReadButton(),this.renderDeleteButton()),this.renderUnreadStripe())}renderCategory(){if(!this.props.withCategory)return null;const e=(0,d.pw)(`notifications.item.${this.props.item.displayType}.${this.props.item.category}._`,this.props.item.formattedDetails);return""===e?null:a.createElement("div",{className:"notification-popup-item__row notification-popup-item__row--category"},e)}renderCover(){const e=this.props.withCoverImage?this.props.item.details.cover_url:null;return a.createElement("div",{className:"notification-popup-item__cover",style:{backgroundImage:(0,P.NZ)(e)}},a.createElement("div",{className:"notification-popup-item__cover-overlay"},this.renderCoverIcons()))}renderCoverIcons(){return null==this.props.icons?null:this.props.icons.map(e=>a.createElement("div",{key:e,className:"notification-popup-item__cover-icon"},a.createElement("span",{className:e})))}renderDeleteButton(){var e;return this.context.isWidget?null:a.createElement(y.A,{isDeleting:null!==(e=this.props.isDeleting)&&void 0!==e?e:this.props.item.isDeleting,modifiers:"fancy",onDelete:this.props.delete})}renderExpandButton(){return null==this.props.expandButton?null:a.createElement("div",{className:"notification-popup-item__row notification-popup-item__row--expand"},this.props.expandButton)}renderMarkAsReadButton(){var e;return this.canMarkAsRead?a.createElement(w.A,{isMarkingAsRead:null!==(e=this.props.isMarkingAsRead)&&void 0!==e?e:this.props.item.isMarkingAsRead,modifiers:"fancy",onMarkAsRead:this.props.markRead}):null}renderMessage(){return a.createElement("div",{className:"notification-popup-item__row notification-popup-item__row--message"},this.props.message)}renderTime(){if(null!=this.props.item.createdAtJson)return a.createElement("a",{className:"notification-popup-item__row notification-popup-item__row--time u-hover",href:this.props.url,onAuxClick:this.onLinkClick,onClick:this.onLinkClick},a.createElement(E.A,{dateTime:this.props.item.createdAtJson,relative:!0}))}renderUnreadStripe(){return this.context.isWidget||!this.canMarkAsRead?null:a.createElement("span",{className:"notification-popup-item__unread-stripe"})}};Object.defineProperty(j,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:_.V}),j=O([r.PA],j);const k=j;var S=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let N=class extends a.Component{constructor(){super(...arguments),Object.defineProperty(this,"handleDelete",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.props.stack.deleteItem(this.props.item)}}),Object.defineProperty(this,"handleMarkAsRead",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.props.stack.markAsRead(this.props.item)}})}render(){var e;return a.createElement(k,{delete:this.handleDelete,icons:l[null!==(e=this.props.item.name)&&void 0!==e?e:""],item:this.props.item,markRead:this.handleMarkAsRead,message:p(this.props.item,!0),modifiers:"compact",url:v(this.props.item),withCategory:!1,withCoverImage:"user_achievement_unlock"===this.props.item.name||"user_beatmapset_new"===this.props.item.category})}};N=S([r.PA],N);const T=N;var x=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let A=class extends a.Component{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:{expanded:!1}}),Object.defineProperty(this,"handleDelete",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.props.stack.delete()}}),Object.defineProperty(this,"handleMarkAsRead",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.props.stack.markStackAsRead()}}),Object.defineProperty(this,"handleShowLess",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.setState({expanded:!1})}}),Object.defineProperty(this,"handleShowMore",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.props.stack.loadMore(this.context)}}),Object.defineProperty(this,"renderItem",{enumerable:!0,configurable:!0,writable:!0,value:e=>a.createElement("div",{key:e.id,className:"notification-popup-item-group__item"},a.createElement(T,{item:e,stack:this.props.stack}))}),Object.defineProperty(this,"toggleExpand",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.setState({expanded:!this.state.expanded})}})}render(){const e=this.props.stack.first;return null==e?null:a.createElement("div",{className:"notification-popup-item-group"},a.createElement(k,{canMarkAsRead:this.props.stack.canMarkAsRead,delete:this.handleDelete,expandButton:this.renderExpandButton(),icons:n[e.category],isDeleting:this.props.stack.isDeleting,isMarkingAsRead:this.props.stack.isMarkingAsRead,item:e,markRead:this.handleMarkAsRead,message:m(e),modifiers:"group",url:f(e),withCategory:!0,withCoverImage:!0}),this.renderItems())}renderExpandButton(){const e=this.props.stack.total,t=this.context.isWidget?"common.count.update":"common.count.notifications";return a.createElement("button",{className:"show-more-link show-more-link--notification-group u-hover",onClick:this.toggleExpand,type:"button"},a.createElement("span",{className:"show-more-link__label"},a.createElement("span",{className:"show-more-link__label-text"},(0,d.Mq)(t,e)),a.createElement("span",{className:"show-more-link__label-icon"},a.createElement("span",{className:"fas fa-angle-"+(this.state.expanded?"up":"down")}))))}renderItems(){return this.state.expanded?a.createElement("div",{className:"notification-popup-item-group__items"},this.props.stack.orderedNotifications.map(this.renderItem),a.createElement("div",{className:"notification-popup-item-group__show-more"},a.createElement("div",{className:"notification-popup-item-group__expand"},this.renderShowMore()),a.createElement("div",{className:"notification-popup-item-group__collapse"},this.renderShowLess(),this.props.stack.canMarkAsRead&&a.createElement(w.A,{isMarkingAsRead:this.props.stack.isMarkingAsRead,onMarkAsRead:this.handleMarkAsRead}),!this.context.isWidget&&a.createElement(y.A,{isDeleting:this.props.stack.isDeleting,onDelete:this.handleDelete})))):null}renderShowLess(){return a.createElement(i.A,{callback:this.handleShowLess,direction:"up",hasMore:!0,label:(0,d.pw)("common.buttons.show_less"),modifiers:"notification-group"})}renderShowMore(){const e=this.props.stack;return e.hasMore?a.createElement(i.A,{callback:this.handleShowMore,hasMore:null!=e.cursor,loading:e.isLoading,modifiers:"notification-group"}):null}};Object.defineProperty(A,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:_.V}),A=x([r.PA],A);const C=A;var I=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let R=class extends a.Component{constructor(){super(...arguments),Object.defineProperty(this,"handleDelete",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.props.stack.deleteItem(this.props.stack.first)}}),Object.defineProperty(this,"handleMarkAsRead",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.props.stack.markAsRead(this.props.stack.first)}})}render(){var e;const t=this.props.stack.first;return null==t?null:a.createElement(k,{delete:this.handleDelete,icons:o[null!==(e=t.name)&&void 0!==e?e:""],isDeleting:t.isDeleting,isMarkingAsRead:t.isMarkingAsRead,item:t,markRead:this.handleMarkAsRead,message:p(t),modifiers:"one",url:v(t),withCategory:!0,withCoverImage:!0})}};R=I([r.PA],R);const M=R;var D=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let H=class extends a.Component{render(){if(!this.props.stack.hasVisibleNotifications)return null;const e=this.props.stack.isSingle?M:C;return a.createElement(e,{key:this.props.stack.id,stack:this.props.stack})}};H=D([r.PA],H);const L=H},8443(e,t,s){s.d(t,{Ay:()=>l,Vg:()=>o,Vy:()=>n,bs:()=>p,fc:()=>u,fd:()=>c});var r=s(7813),a=s(1883),i=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};function n(e){return e.trim().toLowerCase()}function o(e,t){return e.username.localeCompare(t.username)}class l{constructor(e){Object.defineProperty(this,"avatarUrl",{enumerable:!0,configurable:!0,writable:!0,value:"/images/layout/avatar-guest@2x.png"}),Object.defineProperty(this,"countryCode",{enumerable:!0,configurable:!0,writable:!0,value:"XX"}),Object.defineProperty(this,"defaultGroup",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"groups",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isActive",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"isBot",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"isDeleted",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"isOnline",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"isSupporter",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"lastVisit",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"pmFriendsOnly",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"profileColour",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"username",{enumerable:!0,configurable:!0,writable:!0,value:""}),this.id=e,(0,r.Gn)(this)}is(e){return null!=e&&e.id===this.id}toJson(){return{avatar_url:this.avatarUrl,country_code:this.countryCode,default_group:this.defaultGroup,groups:this.groups,id:this.id,is_active:this.isActive,is_bot:this.isBot,is_deleted:this.isDeleted,is_online:this.isOnline,is_supporter:this.isSupporter,last_visit:this.lastVisit,pm_friends_only:this.pmFriendsOnly,profile_colour:this.profileColour,username:this.username}}updateWithJson(e){var t,s;this.avatarUrl=e.avatar_url,this.countryCode=e.country_code,this.defaultGroup=null!==(t=e.default_group)&&void 0!==t?t:"",this.isActive=e.is_active,this.isBot=e.is_bot,this.isOnline=e.is_online,this.isSupporter=e.is_supporter,this.pmFriendsOnly=e.pm_friends_only,this.profileColour=null!==(s=e.profile_colour)&&void 0!==s?s:"",this.username=e.username,null!=e.groups&&(this.groups=e.groups)}}i([r.sH],l.prototype,"avatarUrl",void 0),i([r.sH],l.prototype,"countryCode",void 0),i([r.sH],l.prototype,"defaultGroup",void 0),i([r.sH],l.prototype,"groups",void 0),i([r.sH],l.prototype,"id",void 0),i([r.sH],l.prototype,"isActive",void 0),i([r.sH],l.prototype,"isBot",void 0),i([r.sH],l.prototype,"isDeleted",void 0),i([r.sH],l.prototype,"isOnline",void 0),i([r.sH],l.prototype,"isSupporter",void 0),i([r.sH],l.prototype,"lastVisit",void 0),i([r.sH],l.prototype,"pmFriendsOnly",void 0),i([r.sH],l.prototype,"profileColour",void 0),i([r.sH],l.prototype,"username",void 0),i([r.XI],l.prototype,"updateWithJson",null);const c=new l(-1);c.isDeleted=!0,c.username=(0,a.pw)("users.deleted"),Object.freeze(c);const u=Object.freeze(c.toJson()),d=new l(-1);d.username=(0,a.pw)("supporter_tag.user_search.not_found"),Object.freeze(d);const p=Object.freeze(d.toJson())},8460(e,t,s){s.d(t,{A:()=>m});var r=s(9981),a=s(7813),i=s(1370),n=s(2853),o=s(6540),l=s(4909),c=s(7634),u=s(4692),d=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let p=class extends o.Component{get friendModifier(){var e;if(null==(null===(e=n.A.currentUser)||void 0===e?void 0:e.friends))return;const t=n.A.currentUser.friends.find(e=>e.target_id===this.props.user.id);if(null!=t){if(t.mutual)return"mutual";if(!this.context.isFriendsPage)return"friend"}}constructor(e){super(e),Object.defineProperty(this,"ref",{enumerable:!0,configurable:!0,writable:!0,value:o.createRef()}),Object.defineProperty(this,"handleRemoveClick",{enumerable:!0,configurable:!0,writable:!0,value:()=>{var e,t;null===(t=(e=this.props).onRemoveClick)||void 0===t||t.call(e,this.props.user)}}),(0,a.Gn)(this)}componentWillUnmount(){u.publish("user-card:remove",this.ref.current)}render(){const e=(0,c.Zt)("user-card-brick",this.props.modifiers,this.friendModifier),t=null!=this.props.user.groups&&this.props.user.groups.length>0?this.props.user.groups[0]:void 0;return o.createElement("div",{ref:this.ref,className:`js-usercard ${e}`,"data-user-id":this.props.user.id},o.createElement("a",{className:"user-card-brick__link",href:(0,r.w)("users.show",{user:this.props.user.id})},o.createElement("div",{className:"user-card-brick__group-bar",style:(0,c.OS)(t),title:null==t?void 0:t.name}),o.createElement("div",{className:"user-card-brick__username u-ellipsis-overflow"},this.props.user.username)),null!=this.props.onRemoveClick&&o.createElement("button",{className:"user-card-brick__remove",onClick:this.handleRemoveClick},o.createElement("span",{className:"fas fa-times"})))}};Object.defineProperty(p,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:l.A}),d([a.EW],p.prototype,"friendModifier",null),p=d([i.PA],p);const m=p},8476(e,t,s){s.d(t,{A:()=>i});var r=s(9981),a=s(1883);function i(e){return[{active:"home"===e,title:(0,a.pw)("home.user.title"),url:(0,r.w)("home")},{active:"friends.index"===e,title:(0,a.pw)("friends.title_compact"),url:(0,r.w)("friends.index")},{active:"follows.index"===e,title:(0,a.pw)("follows.index.title_compact"),url:(0,r.w)("follows.index",{subtype:"forum_topic"})},{active:"account.edit"===e,title:(0,a.pw)("accounts.edit.title_compact"),url:(0,r.w)("account.edit")}]}},8547(e,t,s){s.d(t,{A:()=>o});var r=s(9981),a=s(6540),i=s(7634),n=s(1883);function o({group:e,modifiers:t}){if(null==e)return null;let s,o=e.name;if(null!=e.playmodes&&e.playmodes.length>0){s=a.createElement("div",{className:"user-group-badge__modes"},e.playmodes.map(e=>a.createElement("i",{key:e,className:`fal fa-extra-mode-${e}`})));o+=` (${e.playmodes.map(e=>(0,n.pw)(`beatmaps.mode.${e}`)).join(", ")})`}const l={children:s,className:(0,i.Zt)("user-group-badge",{probationary:e.is_probationary},e.identifier,t),"data-label":e.short_name,style:(0,i.OS)(e),title:o};return e.has_listing?a.createElement("a",Object.assign({},l,{href:(0,r.w)("groups.show",{group:e.id})})):a.createElement("div",Object.assign({},l))}},8586(e,t,s){s.d(t,{A:()=>l});var r=s(9981),a=s(1883);const i=["modding","playlists","realtime","ranked-play"],n={modding:e=>(0,r.w)("users.modding.index",{user:e}),playlists:e=>(0,r.w)("users.multiplayer.index",{typeGroup:"playlists",user:e}),"ranked-play":e=>(0,r.w)("users.multiplayer.index",{typeGroup:"ranked-play",user:e}),realtime:e=>(0,r.w)("users.multiplayer.index",{typeGroup:"realtime",user:e}),show:e=>(0,r.w)("users.show",{user:e})};function o(e,t,s){return{active:t,title:(0,a.pw)(`layout.header.users.${e}`),url:n[e](s)}}function l(e,t){const s=[o("show","show"===t,e.id)];return e.is_bot||i.forEach(r=>{s.push(o(r,t===r,e.id))}),s}},8623(e,t,s){s.d(t,{y:()=>i});var r=s(6540),a=s(7634);function i(e){return r.createElement("span",{className:(0,a.Zt)("la-ball-clip-rotate",e.modifiers)})}},8645(e,t,s){s.d(t,{A:()=>u});var r=s(1807),a=s(3887);var i=s(6540),n=s(8243),o=s(7634),l=s(1883),c=s(3358);class u extends i.PureComponent{render(){const e="deleted_at"in this.props.beatmap&&null!==this.props.beatmap.deleted_at,t=`${this.props.beatmap.version}${e?` [${(0,l.pw)("beatmap_discussions.index.deleted_beatmap")}]`:""}`;return i.createElement("div",{className:(0,o.Zt)("beatmap-list-item",{deleted:e,inline:this.props.inline},this.props.modifiers)},i.createElement("div",{className:"beatmap-list-item__col beatmap-list-item__col--icon"},i.createElement("span",{className:`fal fa-extra-mode-${this.props.beatmap.mode}`})),i.createElement("div",{className:"beatmap-list-item__col"},i.createElement(a.A,{rating:this.props.beatmap.difficulty_rating})),i.createElement("div",{className:"beatmap-list-item__col beatmap-list-item__col--main"},i.createElement("div",{className:"beatmap-list-item__version "+(this.props.inline?"":"u-ellipsis-overflow")},null!=this.props.beatmapUrl?i.createElement("a",{className:"beatmap-list-item__version-link",href:this.props.beatmapUrl},t):t," ",i.createElement("span",{className:"beatmap-list-item__mapper"},this.renderOwners()))))}renderOwners(){if(!this.props.showOwners)return null;const e=this.props.beatmap.owners;if(null==e||0===e.length)return null;const t=this.props.beatmapset.user_id,s=this.props.showNonGuestOwner?e:e.filter(e=>e.id!==t);if(0===s.length)return null;const a=null!=this.props.beatmap.owners&&(0,n.to)(this.props.beatmap,this.props.beatmapset)?"mapped_by_guest":"mapped_by";return i.createElement(c.A,{mappings:{mapper:i.createElement(r.A,{users:s})},pattern:(0,l.pw)(`beatmapsets.show.details.${a}`)})}}},8789(e,t,s){s.d(t,{A:()=>i});var r=s(6540),a=s(7634);function i({country:e,modifiers:t}){return null==e||null==e.code?null:r.createElement("span",{className:(0,a.Zt)("flag-country",t),style:{backgroundImage:`url('${s=e.code,`/assets/images/flags/${s.split("").map(e=>(e.charCodeAt(0)+127397).toString(16)).join("-")}.svg`}')`},title:e.name});var s}},8837(e,t,s){s.d(t,{A:()=>c});var r=s(5191),a=s(5093),i=s(6540),n=s(7634),o=s(5812);class l extends i.PureComponent{render(){return 0===this.props.badges.length?null:i.createElement("div",{className:(0,n.Zt)("profile-badges",this.props.modifiers)},this.props.badges.map(e=>{const t=(0,o.E)(e.awarded_at)?`
${e.description}
\n
${a(e.awarded_at).format("LL")}
`:null,s=i.createElement(r.A,{className:"profile-badges__badge","data-html-title":t,src:e.image_url,title:e.description});return(0,o.E)(e.url)?i.createElement("a",{key:e.image_url,href:e.url},s):i.createElement("span",{key:e.image_url},s)}))}}Object.defineProperty(l,"defaultProps",{enumerable:!0,configurable:!0,writable:!0,value:{badges:[]}});const c=l},8857(e,t,s){s.d(t,{A:()=>d});var r=s(3358),a=s(1518),i=s(241),n=s(8994),o=s(5093),l=s(6540),c=s(1883);const u="beatmapset-mapping";class d extends l.PureComponent{render(){var e;const t={username:this.props.beatmapset.creator},s=null!==(e=this.props.user)&&void 0!==e?e:this.props.beatmapset.user;return null!=s&&(t.id=s.id,t.avatar_url=s.avatar_url),l.createElement("div",{className:u},l.createElement(n.A,{user:t},l.createElement(i.A,{modifiers:"beatmapset",user:t})),l.createElement("div",{className:`${u}__content`},l.createElement("div",{className:`${u}__mapper`},l.createElement(r.A,{mappings:{mapper:l.createElement(n.A,{className:`${u}__user`,user:t})},pattern:(0,c.pw)("beatmapsets.show.details.mapped_by")})),this.renderDate("submitted","submitted_date"),this.props.beatmapset.ranked>0?this.renderDate(this.props.beatmapset.status,"ranked_date"):this.renderDate("updated","last_updated")))}renderDate(e,t){const s=this.props.beatmapset[t];if(null==s)throw new Error(`beatmapset data is missing the expected date attribute: ${t}`);const i=Math.abs(o().diff(o(s),"weeks"))<4;return l.createElement("div",null,l.createElement(r.A,{mappings:{timeago:l.createElement("strong",null,l.createElement(a.A,{dateTime:s,relative:i}))},pattern:(0,c.pw)(`beatmapsets.show.details_date.${e}`)}))}}},8931(e,t,s){s.d(t,{A:()=>v});var r=s(1091),a=s(6540),i=s(746),n=s(887),o=s(6978),l=s(5780),c=s(8623),u=s(9981),d=s(7813),p=s(1370),m=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let h=class extends a.Component{constructor(e){super(e),Object.defineProperty(this,"loaded",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"handleOnLoad",{enumerable:!0,configurable:!0,writable:!0,value:()=>{this.loaded=!0}}),(0,d.Gn)(this)}render(){if(null==this.props.src)return null;const e=(0,u.w)("media-url",{url:this.props.src}),t=a.createElement(a.Fragment,null,!this.loaded&&this.renderSpinner(),a.createElement("img",Object.assign({},this.props.node.properties,{loading:"lazy",onLoad:this.handleOnLoad,src:e})));return a.createElement(r.s1.Consumer,null,({inLink:s})=>s?a.createElement("span",{className:"beatmapset-discussion-image-link"},t):a.createElement("a",{className:"beatmapset-discussion-image-link",href:e,rel:"nofollow noreferrer",target:"_blank"},t))}renderSpinner(){return a.createElement("span",{className:"beatmapset-discussion-image-link__spinner"},a.createElement(c.y,null))}};m([d.sH],h.prototype,"loaded",void 0),m([d.XI],h.prototype,"handleOnLoad",void 0),h=m([p.PA],h);const b=h,f=Object.freeze({a:r.Ei,em:(0,r.K9)("em"),img:b,li:(0,r.K9)("li"),p:(0,r.K9)("p"),strong:(0,r.K9)("strong")});class v extends a.Component{render(){return a.createElement(i.$,{className:"osu-md osu-md--discussions",components:f,remarkPlugins:[o.A,[l.A,{type:this.props.type}],n.A],transformLinkUri:r.lx,unwrapDisallowed:!0},this.props.markdown)}}},8961(e,t,s){function r(e){throw new Error(e)}s.d(t,{f:()=>r})},8994(e,t,s){s.d(t,{A:()=>i});var r=s(9981),a=s(6540);class i extends a.PureComponent{render(){var e,t;let s="js-usercard";null!=this.props.className&&(s+=` ${this.props.className}`);const i=(null!==(e=this.props.user.id)&&void 0!==e?e:-1)>0?(0,r.w)("users.show",{mode:this.props.mode,user:this.props.user.id}):void 0;return a.createElement("a",{className:s,"data-reportable":JSON.stringify(this.props.reportable),"data-tooltip-position":this.props.tooltipPosition,"data-user-id":this.props.user.id,href:i},null!==(t=this.props.children)&&void 0!==t?t:this.props.user.username)}}},9058(e,t,s){s.d(t,{A:()=>l});var r=s(1370),a=s(6540),i=s(7634),n=s(1883),o=s(4403);const l=(0,r.PA)(e=>{const t=e.hasError&&e.showError;return a.createElement("label",{className:(0,i.Zt)("input-container",{error:t},e.modifiers),htmlFor:e.for},null!=e.labelKey&&a.createElement("div",{className:"input-container__label"},(0,n.pw)(e.labelKey),null!=e.maxLength&&a.createElement(o.A,{maxLength:e.maxLength,message:e.input})),e.children)})},9098(e,t,s){s.d(t,{A:()=>l});var r=s(7813),a=s(9328),i=s(3944),n=s(1980),o=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};class l{get isMarkingCurrentTypeAsRead(){return this.getNonNullTypes(this.type).some(e=>e.isMarkingAsRead)}get stacks(){return this.store.orderedStacksOfType(this.currentFilter).filter(e=>e.hasVisibleNotifications&&!this.isExcluded(e.objectType))}get type(){return this.getType(this.currentFilter)}get typeNameFromUrl(){return(0,a.Ir)((0,i.bN)().get("type"))}constructor(e,t,s){Object.defineProperty(this,"notificationStore",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"contextType",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"currentFilter",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"store",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"typeNamesWithoutNull",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"getType",{enumerable:!0,configurable:!0,writable:!0,value:e=>this.store.getOrCreateType({objectType:e})}),this.typeNamesWithoutNull=a.DK.filter(e=>!(null==e||this.isExcluded(e))),this.currentFilter=void 0!==s?s:this.typeNameFromUrl,this.store=t.isWidget?e.unreadStacks:e.stacks,(0,r.Gn)(this)}getTotal(e){return this.getNonNullTypes(e).reduce((e,t)=>e+t.total,0)}loadMore(){var e;null===(e=this.type)||void 0===e||e.loadMore(this.contextType)}markCurrentTypeAsRead(){this.getNonNullTypes(this.type).forEach(e=>{e.markTypeAsRead()})}navigateTo(e){if(this.currentFilter=e,0===[...this.stacks].length&&this.loadMore(),!this.contextType.isWidget){let t;if(null==e){const e=new URL((0,i.bS)().href);e.searchParams.delete("type"),t=e.href}else t=(0,n.Ze)(null,{type:e});(0,i.Al)(t,"push")}}getNonNullTypes(e){return null!=e.name?[e]:this.typeNamesWithoutNull.map(this.getType)}isExcluded(e){return this.contextType.excludes.includes(e)}}o([r.sH],l.prototype,"currentFilter",void 0),o([r.EW],l.prototype,"isMarkingCurrentTypeAsRead",null),o([r.EW],l.prototype,"stacks",null),o([r.EW],l.prototype,"type",null),o([r.XI],l.prototype,"loadMore",null),o([r.XI],l.prototype,"markCurrentTypeAsRead",null),o([r.XI],l.prototype,"navigateTo",null)},9129(e,t,s){s.d(t,{A:()=>g});var r=s(2543),a=s(7813),i=s(1370),n=s(2853),o=s(6540),l=s(6407),c=s(7634),u=s(5812),d=s(4758),p=s(8623),m=s(8460),h=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n},b=function(e,t,s,r){return new(s||(s=Promise))(function(a,i){function n(e){try{l(r.next(e))}catch(t){i(t)}}function o(e){try{l(r.throw(e))}catch(t){i(t)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof s?t:new s(function(e){e(t)})).then(n,o)}l((r=r.apply(e,t||[])).next())})};const f=({busy:e})=>o.createElement("div",{className:"username-input__spinner"},e&&o.createElement(p.y,null));let v=class extends o.PureComponent{constructor(e){if(super(e),Object.defineProperty(this,"busy",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"debouncedLookupUsers",{enumerable:!0,configurable:!0,writable:!0,value:(0,r.debounce)(()=>this.lookupUsers(),1e3)}),Object.defineProperty(this,"input",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"validUsers",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"xhr",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"handleBlur",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t,s;null===(s=(t=this.props).onBlur)||void 0===s||s.call(t,e)}}),Object.defineProperty(this,"handleRemoveUser",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t,s;this.validUsers.delete(e.id),null===(s=(t=this.props).onValidUsersChanged)||void 0===s||s.call(t,this.validUsers)}}),Object.defineProperty(this,"handleUsersInputChange",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.updateUsers(e.currentTarget.value,!1)}}),Object.defineProperty(this,"handleUsersInputKeyDown",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t,s;const r=e.currentTarget;if("Backspace"===e.key&&0===r.selectionStart&&0===r.selectionEnd){const e=[...this.validUsers.keys()].pop();null!=e&&(this.validUsers.delete(e),null===(s=(t=this.props).onValidUsersChanged)||void 0===s||s.call(t,this.validUsers))}}}),Object.defineProperty(this,"handleUsersInputKeyUp",{enumerable:!0,configurable:!0,writable:!0,value:e=>{var t,s;"Enter"===e.key&&(null===(s=(t=this.props).onEnterPressed)||void 0===s||s.call(t))}}),Object.defineProperty(this,"handleUsersInputPaste",{enumerable:!0,configurable:!0,writable:!0,value:e=>{this.updateUsers(e.currentTarget.value,!0)}}),(0,a.Gn)(this),null!=this.props.initialUsers)for(const t of this.props.initialUsers)this.validUsers.set(t.id,t);null!=this.props.initialValue&&this.updateUsers(this.props.initialValue,!0)}componentWillUnmount(){var e;this.debouncedLookupUsers.cancel(),null===(e=this.xhr)||void 0===e||e.abort()}render(){return o.createElement("div",{className:(0,c.Zt)("username-input",this.props.modifiers)},o.createElement("input",{className:"username-input__input",id:this.props.id,name:this.props.name,onBlur:this.handleBlur,onChange:this.handleUsersInputChange,onKeyDown:this.handleUsersInputKeyDown,onKeyUp:this.handleUsersInputKeyUp,onPaste:this.handleUsersInputPaste,value:this.input}),this.renderValidUsers(),o.createElement(f,{busy:this.busy}))}extractValidUsers(e){var t,s,r,a,i;const o=this.input.split(",");for(const n of e)this.validUsers.set(n.id,n);const l=[];for(const n of o){const e=(0,u.I)(n.trim());this.validUsersContain(e)||l.push(n)}this.input=l.join(","),null!==(t=this.props.ignoreCurrentUser)&&void 0!==t&&t&&this.validUsers.delete(n.A.currentUserOrFail.id),null===(r=(s=this.props).onValueChanged)||void 0===r||r.call(s,this.input),null===(i=(a=this.props).onValidUsersChanged)||void 0===i||i.call(a,this.validUsers)}lookupUsers(){return b(this,void 0,void 0,function*(){var e;null===(e=this.xhr)||void 0===e||e.abort(),this.debouncedLookupUsers.cancel();const t=this.input.split(",").map(e=>(0,u.I)(e.trim())).filter(Boolean);if(0!==t.length)try{this.xhr=(0,d.n)(t,this.props.excludeBots);const e=yield this.xhr;this.extractValidUsers(e.users)}catch(s){if(!(0,l.OL)(s))throw s;(0,l.S5)(s)}finally{(0,a.h5)(()=>this.busy=!1)}else this.busy=!1})}renderValidUsers(){return[...this.validUsers.values()].map(e=>null==this.props.renderUser?o.createElement(m.A,{key:e.id,onRemoveClick:this.handleRemoveUser,user:e}):this.props.renderUser(e,this.handleRemoveUser))}updateUsers(e,t){var s,r,a;if(this.debouncedLookupUsers.cancel(),this.input=e,null===(r=(s=this.props).onValueChanged)||void 0===r||r.call(s,this.input),0===e.trim().length)return null===(a=this.xhr)||void 0===a||a.abort(),void(this.busy=!1);this.busy=!0,this.debouncedLookupUsers(),t&&this.debouncedLookupUsers.flush()}validUsersContain(e){return null!=e&&(this.validUsers.has(Number(e))||[...this.validUsers.values()].some(t=>{const s=t.username.toLowerCase();return[s,`@${s}`].includes(e.toLowerCase())}))}};h([a.sH],v.prototype,"busy",void 0),h([a.sH],v.prototype,"input",void 0),h([a.sH],v.prototype,"validUsers",void 0),h([a.XI],v.prototype,"extractValidUsers",null),h([a.XI],v.prototype,"handleBlur",void 0),h([a.XI],v.prototype,"handleRemoveUser",void 0),h([a.XI],v.prototype,"handleUsersInputChange",void 0),h([a.XI],v.prototype,"handleUsersInputKeyDown",void 0),h([a.XI],v.prototype,"handleUsersInputPaste",void 0),h([a.XI],v.prototype,"lookupUsers",null),h([a.XI],v.prototype,"updateUsers",null),v=h([i.PA],v);const g=v},9179(e,t,s){s.d(t,{A:()=>E});var r=s(8102),a=s(7813),i=s(1370),n=s(6540),o=s(7482),l=s(3887),c=s(3358),u=s(8994),d=s(9981),p=s(5093),m=s(8243),h=s(7634),b=s(1883),f=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let v=class extends n.Component{get playlistItemCount(){return this.props.room.active?this.props.room.playlist_item_stats.count_active:this.props.room.playlist_item_stats.count_total}get status(){if(!this.props.room.active)return"ended";if(null==this.props.room.ends_at)return"active";return new Date(this.props.room.ends_at).getTime()-(new Date).getTime()<36e5?"soon":"active"}constructor(e){super(e),(0,a.Gn)(this)}render(){const e=this.props.room.ends_at;return n.createElement("div",{className:"multiplayer-room"},this.renderCover(),n.createElement("div",{className:"multiplayer-room__content"},n.createElement("div",{className:"multiplayer-room__badge-container"},n.createElement("div",{className:(0,h.Zt)("multiplayer-room__badge",[this.status])},(0,b.pw)(`multiplayer.room.status.${this.status}`)),null!=e&&n.createElement("time",{className:"js-tooltip-time u-hover",title:e},"ended"===this.status?p(e).fromNow():(0,b.pw)("multiplayer.room.time_left",{time:p(e).fromNow(!0)}))),n.createElement("div",{className:"multiplayer-room__details"},n.createElement("div",{className:"multiplayer-room__name"},this.props.room.name),this.renderMembers()),n.createElement("div",{className:"multiplayer-room__badge-container multiplayer-room__badge-container--bottom"},n.createElement("div",{className:(0,h.Zt)("multiplayer-room__badge",["map-count"])},(0,b.Mq)("multiplayer.room.map_count",this.playlistItemCount)),n.createElement("div",{className:"multiplayer-room__difficulty",style:{"--max-difficulty":(0,m.ID)(this.props.room.difficulty_range.max),"--min-difficulty":(0,m.ID)(this.props.room.difficulty_range.min)}},n.createElement(l.A,{rating:this.props.room.difficulty_range.min}),this.props.room.difficulty_range.max!==this.props.room.difficulty_range.min&&n.createElement(l.A,{rating:this.props.room.difficulty_range.max})))))}renderCover(){var e,t;return n.createElement("a",{className:"multiplayer-room__cover-container",href:(0,d.w)("multiplayer.rooms.show",{room:this.props.room.id})},n.createElement(o.A,{beatmapset:null===(t=null===(e=this.props.room.current_playlist_item)||void 0===e?void 0:e.beatmap)||void 0===t?void 0:t.beatmapset,modifiers:"full",size:"cover"}))}renderHost(){return n.createElement("div",{className:"multiplayer-room__host"},n.createElement(c.A,{mappings:{user:n.createElement(u.A,{className:"u-hover",user:this.props.room.host})},pattern:(0,b.pw)("multiplayer.room.hosted_by")}))}renderMembers(){return n.createElement("div",{className:"multiplayer-room__members"},this.renderHost(),this.renderParticipants())}renderParticipants(){return n.createElement("div",{className:"multiplayer-room__participants"},(0,b.Mq)("multiplayer.room.player_count",this.props.room.participant_count))}};f([a.EW],v.prototype,"status",null),v=f([i.PA],v);const g=v;var y=s(4692),w=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let _=class extends n.Component{get hasMore(){return null!=this.props.store.cursorString}constructor(e){super(e),Object.defineProperty(this,"loading",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"handleShowMore",{enumerable:!0,configurable:!0,writable:!0,value:()=>{if(this.loading)return;this.loading=!0;const e=this.props.showMoreUrl;y.getJSON(e,{cursor_string:this.props.store.cursorString}).done((0,a.XI)(e=>{this.props.store.updateWithJson(e)})).always((0,a.XI)(()=>{this.loading=!1}))}}),(0,a.Gn)(this)}render(){return 0===this.props.store.rooms.length?n.createElement("div",{className:"room-list"},this.props.emptyMessage):n.createElement("div",{className:"room-list"},this.props.store.rooms.map(e=>n.createElement(g,{key:e.id,room:e})),n.createElement(r.A,{callback:this.handleShowMore,hasMore:this.hasMore,loading:this.loading}))}};w([a.sH],_.prototype,"loading",void 0),w([a.EW],_.prototype,"hasMore",null),w([a.XI],_.prototype,"handleShowMore",void 0),_=w([i.PA],_);const E=_},9207(e,t,s){s.d(t,{A:()=>o,C:()=>n});var r=s(7813),a=s(2853),i=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};function n(){return null!=a.A.currentUser&&(a.A.currentUser.is_admin||a.A.currentUser.is_moderator)}class o{constructor(e,t){Object.defineProperty(this,"controller",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"commentableId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"commentableType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"createdAt",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"deletedAt",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"deletedById",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"editedAt",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"editedById",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"legacyName",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"message",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"messageHtml",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"parentId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pinned",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"repliesCount",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"updatedAt",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"userId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"votesCount",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.commentableId=e.commentable_id,this.commentableType=e.commentable_type,this.createdAt=e.created_at,this.deletedAt=e.deleted_at,this.deletedById=e.deleted_by_id,this.editedAt=e.edited_at,this.editedById=e.edited_by_id,this.id=e.id,this.legacyName=e.legacy_name,this.message=e.message,this.messageHtml=e.message_html,this.parentId=e.parent_id,this.pinned=e.pinned,this.repliesCount=e.replies_count,this.updatedAt=e.updated_at,this.userId=e.user_id,this.votesCount=e.votes_count,(0,r.Gn)(this)}get canDelete(){return this.canModerate||this.isOwner}get canEdit(){return this.canModerate||this.isOwner&&!this.isDeleted}get canReply(){if(this.isDeleted)return!1;const e=this.controller.getCommentableMeta(this);return"locked"in e&&(null==e.current_user_attributes.can_new_comment_reason||!e.locked)}get canHaveVote(){return!this.isDeleted}get canModerate(){return n()}get canPin(){if(null==a.A.currentUser||null!=this.parentId&&!this.pinned)return!1;if(a.A.currentUser.is_admin)return!0;if("beatmapset"!==this.commentableType||!this.pinned&&this.controller.state.pinnedCommentIds.length>0)return!1;if(this.canModerate)return!0;if(!this.isOwner)return!1;const e=this.controller.getCommentableMeta(this);return null!=e&&"owner_id"in e&&e.owner_id===a.A.currentUser.id}get canReport(){return null!=a.A.currentUser&&this.userId!==a.A.currentUser.id}get canRestore(){return this.canModerate}get canVote(){return!this.isOwner}get isDeleted(){return null!=this.deletedAt}get isEdited(){return null!=this.editedAt}get isVisible(){return!this.isDeleted||this.visibleReplyCount>0}get isOwner(){return null!=a.A.currentUser&&this.userId===a.A.currentUser.id}get visibleReplyCount(){const e=this.repliesCount;if(n())return e;const t=this.controller.getReplies(this).filter(e=>!e.isVisible).length;return Math.max(0,e-t)}toJson(){return{commentable_id:this.commentableId,commentable_type:this.commentableType,created_at:this.createdAt,deleted_at:this.deletedAt,deleted_by_id:this.deletedById,edited_at:this.editedAt,edited_by_id:this.editedById,id:this.id,legacy_name:this.legacyName,message:this.message,message_html:this.messageHtml,parent_id:this.parentId,pinned:this.pinned,replies_count:this.repliesCount,updated_at:this.updatedAt,user_id:this.userId,votes_count:this.votesCount}}}i([r.EW],o.prototype,"canDelete",null),i([r.EW],o.prototype,"canEdit",null),i([r.EW],o.prototype,"canReply",null),i([r.EW],o.prototype,"canHaveVote",null),i([r.EW],o.prototype,"canModerate",null),i([r.EW],o.prototype,"canPin",null),i([r.EW],o.prototype,"canReport",null),i([r.EW],o.prototype,"canRestore",null),i([r.EW],o.prototype,"canVote",null),i([r.EW],o.prototype,"isDeleted",null),i([r.EW],o.prototype,"isEdited",null),i([r.EW],o.prototype,"isVisible",null),i([r.EW],o.prototype,"isOwner",null),i([r.EW],o.prototype,"visibleReplyCount",null)},9232(e,t,s){s.d(t,{KY:()=>m,LK:()=>u,Mb:()=>h,PR:()=>l,cW:()=>p,wX:()=>d,wp:()=>c});var r=s(9981),a=s(7813),i=s(2853),n=s(6407),o=s(4692);function l(e){return null==e.availability||e.availability.download_disabled||null!=e.availability.more_information}function c(e){return i.A.userPreferences.get("beatmapset_title_show_original")?e.artist_unicode:e.artist}function u(e){return i.A.userPreferences.get("beatmapset_title_show_original")?e.title_unicode:e.title}function d(e,t){return`${e}=""${t.replace(/"/g,'\\"')}""`}function p(e){return!e.nsfw||i.A.userPreferences.get("beatmapset_show_nsfw")}function m(e,t=!1){return(t||!e.nsfw||i.A.userPreferences.get("beatmapset_show_nsfw"))&&(!e.anime_cover||i.A.userPreferences.get("beatmapset_show_anime_cover"))}const h=(0,a.XI)(e=>{const t=()=>{h(e)};if(i.A.userLogin.showIfGuest(t))return;const s=!e.has_favourited;e.has_favourited=s,e.favourite_count+=s?1:-1;const l=o.ajax((0,r.w)("beatmapsets.favourites.store",{beatmapset:e.id}),{data:{action:s?"favourite":"unfavourite"},method:"POST"});return l.fail((r,i)=>(0,a.h5)(()=>{e.has_favourited=!s,e.favourite_count+=s?-1:1,(0,n.z3)(r,i,t)})).done(t=>(0,a.h5)(()=>{e.favourite_count=t.favourite_count})),l})},9262(e,t,s){s.d(t,{A:()=>c});var r=s(8623),a=s(1370),i=s(6540),n=s(7634),o=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};let l=class extends i.Component{render(){return this.props.isDeleting?i.createElement("div",{className:(0,n.Zt)("notification-action-button",this.props.modifiers)},i.createElement("span",{className:"notification-action-button__text"},this.props.text),i.createElement("div",{className:"notification-action-button__icon"},i.createElement(r.y,null))):i.createElement("button",{className:(0,n.Zt)("notification-action-button",this.props.modifiers),onClick:this.props.onDelete,type:"button"},i.createElement("span",{className:"notification-action-button__text"},this.props.text),i.createElement("div",{className:"notification-action-button__icon"},i.createElement("span",{className:"fas fa-trash"})))}};l=o([a.PA],l);const c=l},9328(e,t,s){s.d(t,{Ay:()=>o,DK:()=>i,Ir:()=>n});var r=s(7813),a=function(e,t,s,r){var a,i=arguments.length,n=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,s):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,s,r);else for(var o=e.length-1;o>=0;o--)(a=e[o])&&(n=(i<3?a(n):i>3?a(t,s,n):a(t,s))||n);return i>3&&n&&Object.defineProperty(t,s,n),n};const i=[null,"user","team","beatmapset","forum_topic","news_post","build","channel"];function n(e){const t=e;return i.indexOf(t)>-1?t:i[0]}class o{get hasMore(){return null!==this.cursor&&this.stackNotificationCount0&&this.stacks.size>0}get identity(){return{objectType:this.name}}get isEmpty(){return this.total<=0}get total(){return this._total>0?this._total:0}set total(e){this._total=e}get stackNotificationCount(){return[...this.stacks.values()].reduce((e,t)=>e+t.total,0)}constructor(e,t){Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"resolver",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"cursor",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isDeleting",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"isLoading",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"isMarkingAsRead",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"stacks",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"_total",{enumerable:!0,configurable:!0,writable:!0,value:0}),(0,r.Gn)(this)}static fromJson(e,t){const s=new o(e.name,t);return s.updateWithJson(e),s}delete(){this.resolver.delete(this)}loadMore(e){null!==this.cursor&&(this.isLoading=!0,this.resolver.loadMore(this.identity,e,this.cursor).always((0,r.XI)(()=>{this.isLoading=!1})))}markTypeAsRead(){this.resolver.queueMarkAsRead(this)}removeStack(e){const t=this.stacks.delete(e.id);return t&&(this.total-=e.total),t}updateWithJson(e){this.cursor=e.cursor,this.total=e.total}}a([r.sH],o.prototype,"cursor",void 0),a([r.sH],o.prototype,"isDeleting",void 0),a([r.sH],o.prototype,"isLoading",void 0),a([r.sH],o.prototype,"isMarkingAsRead",void 0),a([r.sH],o.prototype,"stacks",void 0),a([r.sH],o.prototype,"_total",void 0),a([r.EW],o.prototype,"hasMore",null),a([r.EW],o.prototype,"hasVisibleNotifications",null),a([r.EW],o.prototype,"isEmpty",null),a([r.EW],o.prototype,"total",null),a([r.EW],o.prototype,"stackNotificationCount",null),a([r.XI],o.prototype,"delete",null),a([r.XI],o.prototype,"loadMore",null),a([r.XI],o.prototype,"markTypeAsRead",null),a([r.XI],o.prototype,"removeStack",null),a([r.XI],o.prototype,"updateWithJson",null)},9457(e,t,s){s.d(t,{j:()=>r});const r=s(6540).createContext({max_blocks:0})},9749(e,t,s){s.d(t,{V:()=>r});const r=(0,s(6540).createContext)({excludes:[],isWidget:!1})},9833(e,t,s){s.d(t,{u:()=>r});class r{constructor(e){Object.defineProperty(this,"message",{enumerable:!0,configurable:!0,writable:!0,value:e})}}},9979(e,t,s){function r(e,t){const s=new Map;for(const r of e)s.set(r[t],r);return s}function a(e,t){const s=new Map;for(const r of e)s.set(r[t],r);return s}s.d(t,{E:()=>r,a:()=>a})},9981(e,t,s){s.d(t,{w:()=>l});var r=s(3944);const a={url:"https://osu.ppy.sh",port:null,defaults:{},routes:{"oauth.passport.token":{uri:"oauth/token",methods:["POST"]},"oauth.authorizations.authorize":{uri:"oauth/authorize",methods:["GET","HEAD"]},"oauth.":{uri:"oauth/authorize",methods:["DELETE"]},"wiki.image":{uri:"wiki/images/{path}",methods:["GET","HEAD"],wheres:{path:".+"},parameters:["path"]},"media-url":{uri:"media-url",methods:["GET","HEAD"]},"screenshots.show":{uri:"ss/{screenshot}/{hash?}",methods:["GET","HEAD"],parameters:["screenshot","hash"]},"admin.beatmapsets.covers":{uri:"admin/beatmapsets/{beatmapset}/covers",methods:["GET","HEAD"],parameters:["beatmapset"]},"admin.beatmapsets.covers.regenerate":{uri:"admin/beatmapsets/{beatmapset}/covers/regenerate",methods:["POST"],parameters:["beatmapset"]},"admin.beatmapsets.covers.remove":{uri:"admin/beatmapsets/{beatmapset}/covers/remove",methods:["POST"],parameters:["beatmapset"]},"admin.beatmapsets.show":{uri:"admin/beatmapsets/{beatmapset}",methods:["GET","HEAD"],parameters:["beatmapset"]},"admin.beatmapsets.update":{uri:"admin/beatmapsets/{beatmapset}",methods:["PUT","PATCH"],parameters:["beatmapset"]},"admin.contests.calculate":{uri:"admin/contests/{contest}/calculate",methods:["POST"],parameters:["contest"]},"admin.contests.get-zip":{uri:"admin/contests/{contest}/zip",methods:["POST"],parameters:["contest"]},"admin.contests.index":{uri:"admin/contests",methods:["GET","HEAD"]},"admin.contests.show":{uri:"admin/contests/{contest}",methods:["GET","HEAD"],parameters:["contest"]},"admin.user-contest-entries.destroy":{uri:"admin/user-contest-entries/{user_contest_entry}",methods:["DELETE"],parameters:["user_contest_entry"]},"admin.user-contest-entries.restore":{uri:"admin/user-contest-entries/{user_contest_entry}/restore",methods:["POST"],parameters:["user_contest_entry"]},"admin.logs.index":{uri:"admin/logs",methods:["GET","HEAD"]},"admin.root":{uri:"admin",methods:["GET","HEAD"]},"admin.forum.forum-covers.index":{uri:"admin/forum/forum-covers",methods:["GET","HEAD"]},"admin.forum.forum-covers.store":{uri:"admin/forum/forum-covers",methods:["POST"]},"admin.forum.forum-covers.update":{uri:"admin/forum/forum-covers/{forum_cover}",methods:["PUT","PATCH"],parameters:["forum_cover"]},"authenticator-app.create":{uri:"authenticator-app/create",methods:["GET","HEAD"]},"authenticator-app.store":{uri:"authenticator-app",methods:["POST"]},"authenticator-app.cancel-create":{uri:"authenticator-app/cancel-create",methods:["POST"]},"authenticator-app.edit":{uri:"authenticator-app/edit",methods:["GET","HEAD"]},"authenticator-app.destroy":{uri:"authenticator-app",methods:["DELETE"]},"authenticator-app.issue-uri":{uri:"authenticator-app/issue-uri",methods:["POST"]},"artists.tracks.index":{uri:"beatmaps/artists/tracks",methods:["GET","HEAD"]},"artists.index":{uri:"beatmaps/artists",methods:["GET","HEAD"]},"artists.show":{uri:"beatmaps/artists/{artist}",methods:["GET","HEAD"],parameters:["artist"]},"tracks.show":{uri:"beatmaps/artists/tracks/{track}",methods:["GET","HEAD"],parameters:["track"]},"packs.index":{uri:"beatmaps/packs",methods:["GET","HEAD"]},"packs.show":{uri:"beatmaps/packs/{pack}",methods:["GET","HEAD"],parameters:["pack"]},"beatmaps.scores":{uri:"beatmaps/{beatmap}/scores",methods:["GET","HEAD"],parameters:["beatmap"]},"beatmaps.solo-scores":{uri:"beatmaps/{beatmap}/solo-scores",methods:["GET","HEAD"],parameters:["beatmap"]},"beatmaps.update-owner":{uri:"beatmaps/{beatmap}/update-owner",methods:["POST"],parameters:["beatmap"]},"tags.index":{uri:"beatmaps/tags",methods:["GET","HEAD"]},"beatmaps.show":{uri:"beatmaps/{beatmap}",methods:["GET","HEAD"],parameters:["beatmap"]},"redirect:beatmapsets.discussions.index":{uri:"beatmapsets/beatmap-discussions",methods:["GET","HEAD"]},"redirect:beatmapsets.discussions.destroy":{uri:"beatmapsets/beatmap-discussions/{beatmap_discussion}",methods:["DELETE"],parameters:["beatmap_discussion"]},"redirect:beatmapsets.discussions.show":{uri:"beatmapsets/beatmap-discussions/{beatmap_discussion}",methods:["GET","HEAD"],parameters:["beatmap_discussion"]},"redirect:beatmapsets.discussions.vote":{uri:"beatmapsets/beatmap-discussions/{beatmap_discussion}/vote",methods:["PUT"],parameters:["beatmap_discussion"]},"redirect:beatmapsets.discussions.restore":{uri:"beatmapsets/beatmap-discussions/{beatmap_discussion}/restore",methods:["POST"],parameters:["beatmap_discussion"]},"redirect:beatmapsets.discussions.deny-kudosu":{uri:"beatmapsets/beatmap-discussions/{beatmap_discussion}/deny-kudosu",methods:["POST"],parameters:["beatmap_discussion"]},"redirect:beatmapsets.discussions.allow-kudosu":{uri:"beatmapsets/beatmap-discussions/{beatmap_discussion}/allow-kudosu",methods:["POST"],parameters:["beatmap_discussion"]},"redirect:beatmapsets.discussions.posts.destroy":{uri:"beatmapsets/beatmap-discussion-posts/{beatmap_discussion_post}",methods:["DELETE"],parameters:["beatmap_discussion_post"]},"redirect:beatmapsets.discussions.posts.store":{uri:"beatmapsets/beatmap-discussion-posts/{beatmap_discussion_post}",methods:["POST"],parameters:["beatmap_discussion_post"]},"redirect:beatmapsets.discussions.posts.update":{uri:"beatmapsets/beatmap-discussion-posts/{beatmap_discussion_post}",methods:["PUT"],parameters:["beatmap_discussion_post"]},"redirect:beatmapsets.discussions.posts.restore":{uri:"beatmapsets/beatmap-discussion-posts/{beatmap_discussion_post}/restore",methods:["POST"],parameters:["beatmap_discussion_post"]},"redirect:beatmapsets.discussions.posts.index":{uri:"beatmapsets/beatmap-discussion-posts",methods:["GET","HEAD"]},"beatmapset-version-files.download":{uri:"beatmapset-version-files/{beatmapset_version_file}/download",methods:["GET","HEAD"],parameters:["beatmapset_version_file"]},"beatmapsets.events.index":{uri:"beatmapsets/events",methods:["GET","HEAD"]},"beatmapsets.search":{uri:"beatmapsets/search",methods:["GET","HEAD"]},"beatmapsets.redirect:follows.index":{uri:"beatmapsets/watches",methods:["GET","HEAD"]},"beatmapsets.watches.update":{uri:"beatmapsets/watches/{watch}",methods:["PUT","PATCH"],parameters:["watch"]},"beatmapsets.watches.destroy":{uri:"beatmapsets/watches/{watch}",methods:["DELETE"],parameters:["watch"]},"beatmapsets.discussions.vote":{uri:"beatmapsets/discussions/{discussion}/vote",methods:["PUT"],parameters:["discussion"]},"beatmapsets.discussions.restore":{uri:"beatmapsets/discussions/{discussion}/restore",methods:["POST"],parameters:["discussion"]},"beatmapsets.discussions.deny-kudosu":{uri:"beatmapsets/discussions/{discussion}/deny-kudosu",methods:["POST"],parameters:["discussion"]},"beatmapsets.discussions.allow-kudosu":{uri:"beatmapsets/discussions/{discussion}/allow-kudosu",methods:["POST"],parameters:["discussion"]},"beatmapsets.discussions.posts.restore":{uri:"beatmapsets/discussions/posts/{post}/restore",methods:["POST"],parameters:["post"]},"beatmapsets.discussions.posts.index":{uri:"beatmapsets/discussions/posts",methods:["GET","HEAD"]},"beatmapsets.discussions.posts.store":{uri:"beatmapsets/discussions/posts",methods:["POST"]},"beatmapsets.discussions.posts.show":{uri:"beatmapsets/discussions/posts/{post}",methods:["GET","HEAD"],parameters:["post"]},"beatmapsets.discussions.posts.update":{uri:"beatmapsets/discussions/posts/{post}",methods:["PUT","PATCH"],parameters:["post"]},"beatmapsets.discussions.posts.destroy":{uri:"beatmapsets/discussions/posts/{post}",methods:["DELETE"],parameters:["post"]},"beatmapsets.discussions.votes.index":{uri:"beatmapsets/discussions/votes",methods:["GET","HEAD"]},"beatmapsets.discussions.index":{uri:"beatmapsets/discussions",methods:["GET","HEAD"]},"beatmapsets.discussions.show":{uri:"beatmapsets/discussions/{discussion}",methods:["GET","HEAD"],parameters:["discussion"]},"beatmapsets.discussions.destroy":{uri:"beatmapsets/discussions/{discussion}",methods:["DELETE"],parameters:["discussion"]},"beatmapsets.discussion":{uri:"beatmapsets/{beatmapset}/discussion/{beatmap?}/{mode?}/{filter?}",methods:["GET","HEAD"],parameters:["beatmapset","beatmap","mode","filter"]},"beatmapsets.discussion.review":{uri:"beatmapsets/{beatmapset}/discussion/review",methods:["POST"],parameters:["beatmapset"]},"beatmapsets.discussion-last-update":{uri:"beatmapsets/{beatmapset}/discussion-last-update",methods:["GET","HEAD"],parameters:["beatmapset"]},"beatmapsets.discussion-lock":{uri:"beatmapsets/{beatmapset}/discussion-lock",methods:["POST"],parameters:["beatmapset"]},"beatmapsets.discussion-unlock":{uri:"beatmapsets/{beatmapset}/discussion-unlock",methods:["POST"],parameters:["beatmapset"]},"beatmapsets.download":{uri:"beatmapsets/{beatmapset}/download",methods:["GET","HEAD"],parameters:["beatmapset"]},"beatmapsets.love":{uri:"beatmapsets/{beatmapset}/love",methods:["PUT"],parameters:["beatmapset"]},"beatmapsets.remove-from-loved":{uri:"beatmapsets/{beatmapset}/love",methods:["DELETE"],parameters:["beatmapset"]},"beatmapsets.nominate":{uri:"beatmapsets/{beatmapset}/nominate",methods:["PUT"],parameters:["beatmapset"]},"beatmapsets.versions":{uri:"beatmapsets/{beatmapset}/versions",methods:["GET","HEAD"],parameters:["beatmapset"]},"beatmapsets.favourites.store":{uri:"beatmapsets/{beatmapset}/favourites",methods:["POST"],parameters:["beatmapset"]},"beatmapsets.index":{uri:"beatmapsets",methods:["GET","HEAD"]},"beatmapsets.show":{uri:"beatmapsets/{beatmapset}",methods:["GET","HEAD"],parameters:["beatmapset"]},"beatmapsets.update":{uri:"beatmapsets/{beatmapset}",methods:["PUT","PATCH"],parameters:["beatmapset"]},"beatmapsets.destroy":{uri:"beatmapsets/{beatmapset}",methods:["DELETE"],parameters:["beatmapset"]},"scores.download":{uri:"scores/{score}/download",methods:["GET","HEAD"],parameters:["score"]},"scores.download-legacy":{uri:"scores/{ruleset}/{score}/download",methods:["GET","HEAD"],parameters:["ruleset","score"]},"scores.show-legacy":{uri:"scores/{ruleset}/{score}",methods:["GET","HEAD"],parameters:["ruleset","score"]},"scores.show":{uri:"scores/{score}",methods:["GET","HEAD"],parameters:["score"]},"score-pins.reorder":{uri:"score-pins/{score}/reorder",methods:["POST"],parameters:["score"]},"score-pins.destroy":{uri:"score-pins/{score}",methods:["DELETE"],parameters:["score"]},"score-pins.store":{uri:"score-pins/{score}",methods:["PUT"],parameters:["score"]},"client-verifications.create":{uri:"client-verifications/create",methods:["GET","HEAD"]},"client-verifications.store":{uri:"client-verifications",methods:["POST"]},"comments.index":{uri:"comments",methods:["GET","HEAD"]},"comments.store":{uri:"comments",methods:["POST"]},"comments.show":{uri:"comments/{comment}",methods:["GET","HEAD"],parameters:["comment"]},"comments.update":{uri:"comments/{comment}",methods:["PUT","PATCH"],parameters:["comment"]},"comments.destroy":{uri:"comments/{comment}",methods:["DELETE"],parameters:["comment"]},"comments.pin":{uri:"comments/{comment}/pin",methods:["POST"],parameters:["comment"]},"comments.restore":{uri:"comments/{comment}/restore",methods:["POST"],parameters:["comment"]},"comments.vote":{uri:"comments/{comment}/vote",methods:["POST"],parameters:["comment"]},"contests.index":{uri:"community/contests",methods:["GET","HEAD"]},"contests.show":{uri:"community/contests/{contest}",methods:["GET","HEAD"],parameters:["contest"]},"contests.judge":{uri:"community/contests/{contest}/judge",methods:["GET","HEAD"],parameters:["contest"]},"contests.entries.judge-results":{uri:"community/contests/{contest}/entries/{contest_entry}/results",methods:["GET","HEAD"],parameters:["contest","contest_entry"]},"contests.entries.judge-vote":{uri:"community/contests/{contest}/entries/{contest_entry}/judge-vote",methods:["PUT"],parameters:["contest","contest_entry"]},"contest-entries.vote":{uri:"community/contest-entries/{contest_entry}/vote",methods:["PUT"],parameters:["contest_entry"]},"contest-entries.store":{uri:"community/contest-entries",methods:["POST"]},"contest-entries.destroy":{uri:"community/contest-entries/{contest_entry}",methods:["DELETE"],parameters:["contest_entry"]},"livestreams.promote":{uri:"community/livestreams/promote",methods:["POST"]},"livestreams.index":{uri:"community/livestreams",methods:["GET","HEAD"]},"matches.show":{uri:"community/matches/{match}",methods:["GET","HEAD"],parameters:["match"]},"tournaments.unregister":{uri:"community/tournaments/{tournament}/unregister",methods:["POST"],parameters:["tournament"]},"tournaments.register":{uri:"community/tournaments/{tournament}/register",methods:["POST"],parameters:["tournament"]},"tournaments.index":{uri:"community/tournaments",methods:["GET","HEAD"]},"tournaments.show":{uri:"community/tournaments/{tournament}",methods:["GET","HEAD"],parameters:["tournament"]},"forum.forum-covers.store":{uri:"community/forums/forum-covers",methods:["POST"]},"forum.forum-covers.update":{uri:"community/forums/forum-covers/{forum_cover}",methods:["PUT","PATCH"],parameters:["forum_cover"]},"forum.forum-covers.destroy":{uri:"community/forums/forum-covers/{forum_cover}",methods:["DELETE"],parameters:["forum_cover"]},"forum.posts.raw":{uri:"community/forums/posts/{post}/raw",methods:["GET","HEAD"],parameters:["post"]},"forum.posts.restore":{uri:"community/forums/posts/{post}/restore",methods:["POST"],parameters:["post"]},"forum.posts.show":{uri:"community/forums/posts/{post}",methods:["GET","HEAD"],parameters:["post"]},"forum.posts.edit":{uri:"community/forums/posts/{post}/edit",methods:["GET","HEAD"],parameters:["post"]},"forum.posts.update":{uri:"community/forums/posts/{post}",methods:["PUT","PATCH"],parameters:["post"]},"forum.posts.destroy":{uri:"community/forums/posts/{post}",methods:["DELETE"],parameters:["post"]},"forum.topics.logs.index":{uri:"community/forums/topics/{topic}/logs",methods:["GET","HEAD"],parameters:["topic"]},"forum.topics.edit-poll.store":{uri:"community/forums/topics/{topic}/edit-poll",methods:["POST"],parameters:["topic"]},"forum.topics.edit-poll":{uri:"community/forums/topics/{topic}/edit-poll",methods:["GET","HEAD"],parameters:["topic"]},"forum.topics.issue-tag":{uri:"community/forums/topics/{topic}/issue-tag",methods:["POST"],parameters:["topic"]},"forum.topics.lock":{uri:"community/forums/topics/{topic}/lock",methods:["POST"],parameters:["topic"]},"forum.topics.move":{uri:"community/forums/topics/{topic}/move",methods:["POST"],parameters:["topic"]},"forum.topics.pin":{uri:"community/forums/topics/{topic}/pin",methods:["POST"],parameters:["topic"]},"forum.topics.reply":{uri:"community/forums/topics/{topic}/reply",methods:["POST"],parameters:["topic"]},"forum.topics.restore":{uri:"community/forums/topics/{topic}/restore",methods:["POST"],parameters:["topic"]},"forum.topics.vote":{uri:"community/forums/topics/{topic}/vote",methods:["POST"],parameters:["topic"]},"forum.topics.vote-feature":{uri:"community/forums/topics/{topic}/vote-feature",methods:["POST"],parameters:["topic"]},"forum.preview":{uri:"community/forums/topics/preview",methods:["POST"]},"forum.topics.create":{uri:"community/forums/topics/create",methods:["GET","HEAD"]},"forum.topics.store":{uri:"community/forums/topics",methods:["POST"]},"forum.topics.show":{uri:"community/forums/topics/{topic}",methods:["GET","HEAD"],parameters:["topic"]},"forum.topics.update":{uri:"community/forums/topics/{topic}",methods:["PUT","PATCH"],parameters:["topic"]},"forum.topics.destroy":{uri:"community/forums/topics/{topic}",methods:["DELETE"],parameters:["topic"]},"forum.topic-covers.store":{uri:"community/forums/topic-covers",methods:["POST"]},"forum.topic-covers.update":{uri:"community/forums/topic-covers/{topic_cover}",methods:["PUT","PATCH"],parameters:["topic_cover"]},"forum.topic-covers.destroy":{uri:"community/forums/topic-covers/{topic_cover}",methods:["DELETE"],parameters:["topic_cover"]},"forum.redirect:follows.index":{uri:"community/forums/topic-watches",methods:["GET","HEAD"]},"forum.topic-watches.update":{uri:"community/forums/topic-watches/{topic_watch}",methods:["PUT","PATCH"],parameters:["topic_watch"]},"forum.forums.mark-as-read":{uri:"community/forums/mark-as-read",methods:["POST"]},"forum.forums.index":{uri:"community/forums",methods:["GET","HEAD"]},"forum.forums.show":{uri:"community/forums/{forum}",methods:["GET","HEAD"],parameters:["forum"]},"chat.ack":{uri:"community/chat/ack",methods:["POST"]},"chat.new":{uri:"community/chat/new",methods:["POST"]},"chat.presence":{uri:"community/chat/presence",methods:["GET","HEAD"]},"chat.updates":{uri:"community/chat/updates",methods:["GET","HEAD"]},"chat.channels.messages.index":{uri:"community/chat/channels/{channel}/messages",methods:["GET","HEAD"],parameters:["channel"]},"chat.channels.messages.store":{uri:"community/chat/channels/{channel}/messages",methods:["POST"],parameters:["channel"]},"chat.channels.users.index":{uri:"community/chat/channels/{channel}/users",methods:["GET","HEAD"],parameters:["channel"]},"chat.channels.join":{uri:"community/chat/channels/{channel}/users/{user}",methods:["PUT"],parameters:["channel","user"]},"chat.channels.part":{uri:"community/chat/channels/{channel}/users/{user}",methods:["DELETE"],parameters:["channel","user"]},"chat.channels.mark-as-read":{uri:"community/chat/channels/{channel}/mark-as-read/{message}",methods:["PUT"],parameters:["channel","message"]},"chat.channels.index":{uri:"community/chat/channels",methods:["GET","HEAD"]},"chat.channels.store":{uri:"community/chat/channels",methods:["POST"]},"chat.channels.show":{uri:"community/chat/channels/{channel}",methods:["GET","HEAD"],parameters:["channel"]},"chat.index":{uri:"community/chat",methods:["GET","HEAD"]},"group-history.index":{uri:"groups/history",methods:["GET","HEAD"]},"groups.show":{uri:"groups/{group}",methods:["GET","HEAD"],parameters:["group"]},"account.edit":{uri:"home/account/edit",methods:["GET","HEAD"]},"account.avatar":{uri:"home/account/avatar",methods:["POST"]},"account.country":{uri:"home/account/country",methods:["PUT"]},"account.cover":{uri:"home/account/cover",methods:["POST"]},"account.email":{uri:"home/account/email",methods:["PUT"]},"account.notification-options":{uri:"home/account/notification-options",methods:["PUT"]},"account.options":{uri:"home/account/options",methods:["PUT"]},"account.password":{uri:"home/account/password",methods:["PUT"]},"account.reissue-code":{uri:"home/account/reissue-code",methods:["POST"]},"account.sessions.destroy":{uri:"home/account/sessions/{session}",methods:["DELETE"],parameters:["session"]},"account.":{uri:"home/account/verify",methods:["GET","HEAD"]},"account.verify":{uri:"home/account/verify",methods:["POST"]},"account.verify.mail-fallback":{uri:"home/account/verify/mail-fallback",methods:["POST"]},"account.update":{uri:"home/account",methods:["PUT"]},"account.github-users.callback":{uri:"home/account/github-users/callback",methods:["GET","HEAD"]},"account.github-users.create":{uri:"home/account/github-users/create",methods:["GET","HEAD"]},"account.github-users.destroy":{uri:"home/account/github-users",methods:["DELETE"]},"quick-search":{uri:"home/quick-search",methods:["GET","HEAD"]},search:{uri:"home/search",methods:["GET","HEAD"]},"bbcode-preview":{uri:"home/bbcode-preview",methods:["POST"]},"changelog.build":{uri:"home/changelog/{stream}/{build}",methods:["GET","HEAD"],parameters:["stream","build"]},"changelog.index":{uri:"home/changelog",methods:["GET","HEAD"]},"changelog.show":{uri:"home/changelog/{changelog}",methods:["GET","HEAD"],parameters:["changelog"]},download:{uri:"home/download",methods:["GET","HEAD"]},"set-locale":{uri:"home/set-locale",methods:["POST"]},"support-the-game":{uri:"home/support",methods:["GET","HEAD"]},testflight:{uri:"home/testflight",methods:["GET","HEAD"]},"password-reset":{uri:"home/password-reset",methods:["GET","HEAD"]},"password-reset.reset":{uri:"home/password-reset/reset",methods:["GET","HEAD"]},"password-reset.resend-mail":{uri:"home/password-reset/resend-mail",methods:["POST"]},"download-quota-check":{uri:"home/download-quota-check",methods:["GET","HEAD"]},"blocks.store":{uri:"home/blocks",methods:["POST"]},"blocks.destroy":{uri:"home/blocks/{block}",methods:["DELETE"],parameters:["block"]},"friends.index":{uri:"home/friends",methods:["GET","HEAD"]},"friends.store":{uri:"home/friends",methods:["POST"]},"friends.destroy":{uri:"home/friends/{friend}",methods:["DELETE"],parameters:["friend"]},"news.index":{uri:"home/news",methods:["GET","HEAD"]},"news.store":{uri:"home/news",methods:["POST"]},"news.show":{uri:"home/news/{news}",methods:["GET","HEAD"],parameters:["news"]},"news.update":{uri:"home/news/{news}",methods:["PUT","PATCH"],parameters:["news"]},"messages.users.show":{uri:"home/messages/users/{user}",methods:["GET","HEAD"],parameters:["user"]},"follows.store":{uri:"home/follows",methods:["POST"]},"follows.index":{uri:"home/follows/{subtype?}",methods:["GET","HEAD"],parameters:["subtype"]},"follows.destroy":{uri:"home/follows",methods:["DELETE"]},"legacy-api-key.store":{uri:"legacy-api-key",methods:["POST"]},"legacy-api-key.destroy":{uri:"legacy-api-key",methods:["DELETE"]},"legacy-irc-key.store":{uri:"legacy-irc-key",methods:["POST"]},"legacy-irc-key.destroy":{uri:"legacy-irc-key",methods:["DELETE"]},"notifications.index":{uri:"notifications",methods:["GET","HEAD"]},"notifications.endpoint":{uri:"notifications/endpoint",methods:["GET","HEAD"]},"notifications.mark-read":{uri:"notifications/mark-read",methods:["POST"]},legal:{uri:"legal/{locale?}/{path?}",methods:["GET","HEAD"],parameters:["locale","path"]},"multiplayer.rooms.events":{uri:"multiplayer/rooms/{room}/events",methods:["GET","HEAD"],parameters:["room"]},"multiplayer.rooms.show":{uri:"multiplayer/rooms/{room}",methods:["GET","HEAD"],parameters:["room"]},"oauth.authorized-clients.destroy":{uri:"oauth/authorized-clients/{authorized_client}",methods:["DELETE"],parameters:["authorized_client"]},"oauth.clients.index":{uri:"oauth/clients",methods:["GET","HEAD"]},"oauth.clients.store":{uri:"oauth/clients",methods:["POST"]},"oauth.clients.update":{uri:"oauth/clients/{client}",methods:["PUT","PATCH"],parameters:["client"]},"oauth.clients.destroy":{uri:"oauth/clients/{client}",methods:["DELETE"],parameters:["client"]},"oauth.clients.reset-secret":{uri:"oauth/clients/{client}/reset-secret",methods:["POST"],parameters:["client"]},"rankings.kudosu":{uri:"rankings/kudosu",methods:["GET","HEAD"]},"daily-challenge.index":{uri:"rankings/daily-challenge",methods:["GET","HEAD"]},"daily-challenge.show":{uri:"rankings/daily-challenge/{daily_challenge}",methods:["GET","HEAD"],parameters:["daily_challenge"]},"rankings.matchmaking":{uri:"rankings/ranked-play/{mode?}/{pool?}",methods:["GET","HEAD"],parameters:["mode","pool"]},"rankings.top-plays":{uri:"rankings/top-plays/{mode?}",methods:["GET","HEAD"],parameters:["mode"]},rankings:{uri:"rankings/{mode?}/{type?}/{sort?}",methods:["GET","HEAD"],parameters:["mode","type","sort"]},"reports.store":{uri:"reports",methods:["POST"]},"seasons.show":{uri:"seasons/{season}",methods:["GET","HEAD"],parameters:["season"]},"seasons.rooms":{uri:"seasons/{season}/rooms",methods:["GET","HEAD"],parameters:["season"]},login:{uri:"session",methods:["POST"]},logout:{uri:"session",methods:["DELETE"]},"suggestions.user":{uri:"suggestions/user",methods:["GET","HEAD"]},"suggestions.wiki":{uri:"suggestions/wiki",methods:["GET","HEAD"]},"user-cover-presets.batch-activate":{uri:"user-cover-presets/batch-activate",methods:["POST"]},"user-cover-presets.index":{uri:"user-cover-presets",methods:["GET","HEAD"]},"user-cover-presets.store":{uri:"user-cover-presets",methods:["POST"]},"user-cover-presets.update":{uri:"user-cover-presets/{user_cover_preset}",methods:["PUT","PATCH"],parameters:["user_cover_preset"]},"teams.applications.store":{uri:"teams/{team}/applications",methods:["POST"],parameters:["team"]},"teams.applications.destroy":{uri:"teams/{team}/applications/{application}",methods:["DELETE"],parameters:["team","application"]},"teams.applications.accept":{uri:"teams/{team}/applications/{application}/accept",methods:["POST"],parameters:["team","application"]},"teams.applications.reject":{uri:"teams/{team}/applications/{application}/reject",methods:["POST"],parameters:["team","application"]},"teams.leaderboard":{uri:"teams/{team}/leaderboard/{ruleset?}",methods:["GET","HEAD"],parameters:["team","ruleset"]},"teams.part":{uri:"teams/{team}/part",methods:["POST"],parameters:["team"]},"teams.members.index":{uri:"teams/{team}/members",methods:["GET","HEAD"],parameters:["team"]},"teams.members.destroy":{uri:"teams/{team}/members/{member}",methods:["DELETE"],parameters:["team","member"]},"teams.members.set-leader":{uri:"teams/{team}/members/{member}/set-leader",methods:["POST"],parameters:["team","member"]},"teams.create":{uri:"teams/create",methods:["GET","HEAD"]},"teams.store":{uri:"teams",methods:["POST"]},"teams.edit":{uri:"teams/{team}/edit",methods:["GET","HEAD"],parameters:["team"]},"teams.update":{uri:"teams/{team}",methods:["PUT","PATCH"],parameters:["team"]},"teams.destroy":{uri:"teams/{team}",methods:["DELETE"],parameters:["team"]},"teams.show":{uri:"teams/{team}/{ruleset?}",methods:["GET","HEAD"],parameters:["team","ruleset"]},"users.check-username-availability":{uri:"users/check-username-availability",methods:["POST"]},"users.lookup":{uri:"users/lookup",methods:["GET","HEAD"]},"users.disabled":{uri:"users/disabled",methods:["GET","HEAD"]},"users.create":{uri:"users/create",methods:["GET","HEAD"]},"users.store-web":{uri:"users/store-web",methods:["POST"]},"users.extra-page":{uri:"users/{user}/extra-pages/{page}",methods:["GET","HEAD"],parameters:["user","page"]},"users.page":{uri:"users/{user}/page",methods:["PUT"],parameters:["user"]},"users.multiplayer.index":{uri:"users/{user}/{typeGroup}",methods:["GET","HEAD"],wheres:{typeGroup:"multiplayer|playlists|ranked-play|realtime"},parameters:["user","typeGroup"]},"users.modding.index":{uri:"users/{user}/modding",methods:["GET","HEAD"],parameters:["user"]},"users.modding.posts":{uri:"users/{user}/modding/posts",methods:["GET","HEAD"],parameters:["user"]},"users.modding.votes-given":{uri:"users/{user}/modding/votes-given",methods:["GET","HEAD"],parameters:["user"]},"users.modding.votes-received":{uri:"users/{user}/modding/votes-received",methods:["GET","HEAD"],parameters:["user"]},"users.kudosu":{uri:"users/{user}/kudosu",methods:["GET","HEAD"],parameters:["user"]},"users.recent-activity":{uri:"users/{user}/recent_activity",methods:["GET","HEAD"],parameters:["user"]},"users.score-replay-stats":{uri:"users/{user}/score-replay-stats",methods:["GET","HEAD"],parameters:["user"]},"users.scores":{uri:"users/{user}/scores/{type}",methods:["GET","HEAD"],parameters:["user","type"]},"users.beatmapsets":{uri:"users/{user}/beatmapsets/{type}",methods:["GET","HEAD"],parameters:["user","type"]},"users.posts":{uri:"users/{user}/posts",methods:["GET","HEAD"],parameters:["user"]},"users.show":{uri:"users/{user}/{mode?}",methods:["GET","HEAD"],parameters:["user","mode"]},"users.store":{uri:"users",methods:["POST"]},"wiki.sitemap":{uri:"wiki/{locale}/Sitemap",methods:["GET","HEAD"],parameters:["locale"]},"wiki.show":{uri:"wiki/{locale?}/{path?}",methods:["GET","HEAD"],wheres:{path:".+"},parameters:["locale","path"]},"store.redirect:store.products.index":{uri:"store",methods:["GET","HEAD"]},"store.products.index":{uri:"store/listing",methods:["GET","HEAD"]},"store.invoice.show":{uri:"store/invoice/{invoice}",methods:["GET","HEAD"],parameters:["invoice"]},"store.notification-request":{uri:"store/products/{product}/notification-request",methods:["POST"],parameters:["product"]},"store.":{uri:"store/products/{product}/notification-request",methods:["DELETE"],parameters:["product"]},"store.cart.show":{uri:"store/cart",methods:["GET","HEAD"]},"store.cart.empty":{uri:"store/cart",methods:["DELETE"]},"store.cart.store":{uri:"store/cart",methods:["POST"]},"store.checkout.store":{uri:"store/checkout",methods:["POST"]},"store.checkout.show":{uri:"store/checkout/{checkout}",methods:["GET","HEAD"],parameters:["checkout"]},"store.orders.index":{uri:"store/orders",methods:["GET","HEAD"]},"store.orders.destroy":{uri:"store/orders/{order}",methods:["DELETE"],parameters:["order"]},"store.redirect:store.products.show":{uri:"store/product/{product}",methods:["GET","HEAD"],parameters:["product"]},"store.products.show":{uri:"store/products/{product}",methods:["GET","HEAD"],parameters:["product"]},"payments.paypal.approved":{uri:"payments/paypal/approved",methods:["GET","HEAD"]},"payments.paypal.declined":{uri:"payments/paypal/declined",methods:["GET","HEAD"]},"payments.paypal.create":{uri:"payments/paypal/create",methods:["POST"]},"payments.paypal.ipn":{uri:"payments/paypal/ipn",methods:["POST"]},"payments.xsolla.completed":{uri:"payments/xsolla/completed",methods:["GET","HEAD"]},"payments.xsolla.token":{uri:"payments/xsolla/token",methods:["POST"]},"payments.xsolla.callback":{uri:"payments/xsolla/callback",methods:["POST"]},"payments.shopify.callback":{uri:"payments/shopify/callback",methods:["POST"]},home:{uri:"/",methods:["GET","HEAD"]},wrapped:{uri:"wrapped/{user?}",methods:["GET","HEAD"],parameters:["user"]},"redirect:forum.posts.show":{uri:"forum/p/{post}",methods:["GET","HEAD"],parameters:["post"]},"redirect:forum.posts.show:":{uri:"po/{post}",methods:["GET","HEAD"],parameters:["post"]},"redirect:forum.topics.show":{uri:"forum/t/{topic}",methods:["GET","HEAD"],parameters:["topic"]},"redirect:forum.forums.show":{uri:"forum/{forum}",methods:["GET","HEAD"],parameters:["forum"]},"redirect:beatmaps.show":{uri:"b/{beatmap}",methods:["GET","HEAD"],parameters:["beatmap"]},"redirect:groups.show":{uri:"g/{group}",methods:["GET","HEAD"],parameters:["group"]},"redirect:beatmapsets.show":{uri:"s/{beatmapset}",methods:["GET","HEAD"],parameters:["beatmapset"]},"redirect:users.show":{uri:"u/{user}",methods:["GET","HEAD"],parameters:["user"]},"redirect:forum.forums.index":{uri:"forum",methods:["GET","HEAD"]},"redirect:matches.show":{uri:"mp/{match}",methods:["GET","HEAD"],parameters:["match"]},"redirect:wiki.show":{uri:"help/wiki/{path?}",methods:["GET","HEAD"],wheres:{path:".+"},parameters:["path"]},"api.verify":{uri:"api/v2/session/verify",methods:["POST"]},"api.verify.mail-fallback":{uri:"api/v2/session/verify/mail-fallback",methods:["POST"]},"api.verify.reissue":{uri:"api/v2/session/verify/reissue",methods:["POST"]},"api.beatmaps.lookup":{uri:"api/v2/beatmaps/lookup",methods:["GET","HEAD"]},"api.beatmaps.packs.index":{uri:"api/v2/beatmaps/packs",methods:["GET","HEAD"]},"api.beatmaps.packs.show":{uri:"api/v2/beatmaps/packs/{pack}",methods:["GET","HEAD"],parameters:["pack"]},"api.beatmaps.user.score":{uri:"api/v2/beatmaps/{beatmap}/scores/users/{user}",methods:["GET","HEAD"],parameters:["beatmap","user"]},"api.beatmaps.user.scores":{uri:"api/v2/beatmaps/{beatmap}/scores/users/{user}/all",methods:["GET","HEAD"],parameters:["beatmap","user"]},"api.beatmaps.scores":{uri:"api/v2/beatmaps/{beatmap}/scores",methods:["GET","HEAD"],parameters:["beatmap"]},"api.beatmaps.solo-scores":{uri:"api/v2/beatmaps/{beatmap}/solo-scores",methods:["GET","HEAD"],parameters:["beatmap"]},"api.beatmaps.solo.score-tokens.store":{uri:"api/v2/beatmaps/{beatmap}/solo/scores",methods:["POST"],parameters:["beatmap"]},"api.beatmaps.solo.scores.store":{uri:"api/v2/beatmaps/{beatmap}/solo/scores/{token}",methods:["PUT"],parameters:["beatmap","token"]},"api.beatmaps.tags.update":{uri:"api/v2/beatmaps/{beatmap}/tags/{tag}",methods:["PUT","PATCH"],parameters:["beatmap","tag"]},"api.beatmaps.tags.destroy":{uri:"api/v2/beatmaps/{beatmap}/tags/{tag}",methods:["DELETE"],parameters:["beatmap","tag"]},"api.beatmaps.index":{uri:"api/v2/beatmaps",methods:["GET","HEAD"]},"api.beatmaps.show":{uri:"api/v2/beatmaps/{beatmap}",methods:["GET","HEAD"],parameters:["beatmap"]},"api.beatmaps.attributes":{uri:"api/v2/beatmaps/{beatmap}/attributes",methods:["POST"],parameters:["beatmap"]},"api.beatmapsets.events.index":{uri:"api/v2/beatmapsets/events",methods:["GET","HEAD"]},"api.beatmapsets.discussions.posts.index":{uri:"api/v2/beatmapsets/discussions/posts",methods:["GET","HEAD"]},"api.beatmapsets.discussions.votes.index":{uri:"api/v2/beatmapsets/discussions/votes",methods:["GET","HEAD"]},"api.beatmapsets.discussions.index":{uri:"api/v2/beatmapsets/discussions",methods:["GET","HEAD"]},"api.beatmapsets.favourites.store":{uri:"api/v2/beatmapsets/{beatmapset}/favourites",methods:["POST"],parameters:["beatmapset"]},"api.blocks.index":{uri:"api/v2/blocks",methods:["GET","HEAD"]},"api.blocks.store":{uri:"api/v2/blocks",methods:["POST"]},"api.blocks.destroy":{uri:"api/v2/blocks/{block}",methods:["DELETE"],parameters:["block"]},"api.comments.index":{uri:"api/v2/comments",methods:["GET","HEAD"]},"api.comments.store":{uri:"api/v2/comments",methods:["POST"]},"api.comments.show":{uri:"api/v2/comments/{comment}",methods:["GET","HEAD"],parameters:["comment"]},"api.comments.update":{uri:"api/v2/comments/{comment}",methods:["PUT","PATCH"],parameters:["comment"]},"api.comments.destroy":{uri:"api/v2/comments/{comment}",methods:["DELETE"],parameters:["comment"]},"api.comments.vote":{uri:"api/v2/comments/{comment}/vote",methods:["POST"],parameters:["comment"]},"api.":{uri:"api/v2/beatmapsets/{beatmapset}/download",methods:["GET","HEAD"],parameters:["beatmapset"]},"api.chat.ack":{uri:"api/v2/chat/ack",methods:["POST"]},"api.chat.new":{uri:"api/v2/chat/new",methods:["POST"]},"api.chat.updates":{uri:"api/v2/chat/updates",methods:["GET","HEAD"]},"api.chat.presence":{uri:"api/v2/chat/presence",methods:["GET","HEAD"]},"api.chat.channels.messages.index":{uri:"api/v2/chat/channels/{channel}/messages",methods:["GET","HEAD"],parameters:["channel"]},"api.chat.channels.messages.store":{uri:"api/v2/chat/channels/{channel}/messages",methods:["POST"],parameters:["channel"]},"api.chat.channels.join":{uri:"api/v2/chat/channels/{channel}/users/{user}",methods:["PUT"],parameters:["channel","user"]},"api.chat.channels.part":{uri:"api/v2/chat/channels/{channel}/users/{user}",methods:["DELETE"],parameters:["channel","user"]},"api.chat.channels.mark-as-read":{uri:"api/v2/chat/channels/{channel}/mark-as-read/{message}",methods:["PUT"],parameters:["channel","message"]},"api.chat.channels.index":{uri:"api/v2/chat/channels",methods:["GET","HEAD"]},"api.chat.channels.store":{uri:"api/v2/chat/channels",methods:["POST"]},"api.chat.channels.show":{uri:"api/v2/chat/channels/{channel}",methods:["GET","HEAD"],parameters:["channel"]},"api.changelog.build":{uri:"api/v2/changelog/{stream}/{build}",methods:["GET","HEAD"],parameters:["stream","build"]},"api.changelog.index":{uri:"api/v2/changelog",methods:["GET","HEAD"]},"api.changelog.show":{uri:"api/v2/changelog/{changelog}",methods:["GET","HEAD"],parameters:["changelog"]},"api.events.index":{uri:"api/v2/events",methods:["GET","HEAD"]},"api.forum.topics.lock":{uri:"api/v2/forums/topics/{topic}/lock",methods:["POST"],parameters:["topic"]},"api.forum.topics.move":{uri:"api/v2/forums/topics/{topic}/move",methods:["POST"],parameters:["topic"]},"api.forum.topics.pin":{uri:"api/v2/forums/topics/{topic}/pin",methods:["POST"],parameters:["topic"]},"api.forum.topics.reply":{uri:"api/v2/forums/topics/{topic}/reply",methods:["POST"],parameters:["topic"]},"api.forum.topics.index":{uri:"api/v2/forums/topics",methods:["GET","HEAD"]},"api.forum.topics.store":{uri:"api/v2/forums/topics",methods:["POST"]},"api.forum.topics.show":{uri:"api/v2/forums/topics/{topic}",methods:["GET","HEAD"],parameters:["topic"]},"api.forum.topics.update":{uri:"api/v2/forums/topics/{topic}",methods:["PUT","PATCH"],parameters:["topic"]},"api.forum.posts.update":{uri:"api/v2/forums/posts/{post}",methods:["PUT","PATCH"],parameters:["post"]},"api.forum.forums.index":{uri:"api/v2/forums",methods:["GET","HEAD"]},"api.forum.forums.show":{uri:"api/v2/forums/{forum}",methods:["GET","HEAD"],parameters:["forum"]},"api.matches.index":{uri:"api/v2/matches",methods:["GET","HEAD"]},"api.matches.show":{uri:"api/v2/matches/{match}",methods:["GET","HEAD"],parameters:["match"]},"api.reports.store":{uri:"api/v2/reports",methods:["POST"]},"api.rooms.join":{uri:"api/v2/rooms/{room}/users/{user}",methods:["PUT"],parameters:["room","user"]},"api.rooms.part":{uri:"api/v2/rooms/{room}/users/{user}",methods:["DELETE"],parameters:["room","user"]},"api.rooms.":{uri:"api/v2/rooms/{room}/events",methods:["GET","HEAD"],parameters:["room"]},"api.rooms.playlist.":{uri:"api/v2/rooms/{room}/playlist/{playlist}/scores/users/{user}",methods:["GET","HEAD"],parameters:["room","playlist","user"]},"api.rooms.playlist.scores.index":{uri:"api/v2/rooms/{room}/playlist/{playlist}/scores",methods:["GET","HEAD"],parameters:["room","playlist"]},"api.rooms.playlist.scores.store":{uri:"api/v2/rooms/{room}/playlist/{playlist}/scores",methods:["POST"],parameters:["room","playlist"]},"api.rooms.playlist.scores.show":{uri:"api/v2/rooms/{room}/playlist/{playlist}/scores/{score}",methods:["GET","HEAD"],parameters:["room","playlist","score"]},"api.rooms.playlist.scores.update":{uri:"api/v2/rooms/{room}/playlist/{playlist}/scores/{score}",methods:["PUT","PATCH"],parameters:["room","playlist","score"]},"api.rooms.index":{uri:"api/v2/rooms",methods:["GET","HEAD"]},"api.rooms.store":{uri:"api/v2/rooms",methods:["POST"]},"api.rooms.show":{uri:"api/v2/rooms/{room}",methods:["GET","HEAD"],parameters:["room"]},"api.rooms.destroy":{uri:"api/v2/rooms/{room}",methods:["DELETE"],parameters:["room"]},"api.seasonal-backgrounds.index":{uri:"api/v2/seasonal-backgrounds",methods:["GET","HEAD"]},"api.scores.download":{uri:"api/v2/scores/{score}/download",methods:["GET","HEAD"],parameters:["score"]},"api.scores.download-legacy":{uri:"api/v2/scores/{ruleset}/{score}/download",methods:["GET","HEAD"],parameters:["ruleset","score"]},"api.scores.show-legacy":{uri:"api/v2/scores/{ruleset}/{score}",methods:["GET","HEAD"],parameters:["ruleset","score"]},"api.scores.show":{uri:"api/v2/scores/{score}",methods:["GET","HEAD"],parameters:["score"]},"api.scores.":{uri:"api/v2/scores",methods:["GET","HEAD"]},"api.score-pins.reorder":{uri:"api/v2/score-pins/{score}/reorder",methods:["POST"],parameters:["score"]},"api.score-pins.destroy":{uri:"api/v2/score-pins/{score}",methods:["DELETE"],parameters:["score"]},"api.score-pins.store":{uri:"api/v2/score-pins/{score}",methods:["PUT"],parameters:["score"]},"api.teams.show":{uri:"api/v2/teams/{team}/{ruleset?}",methods:["GET","HEAD"],parameters:["team","ruleset"]},"api.users.lookup":{uri:"api/v2/users/lookup",methods:["GET","HEAD"]},"api.users.":{uri:"api/v2/users/{user}/beatmaps-passed",methods:["GET","HEAD"],parameters:["user"]},"api.users.show":{uri:"api/v2/users/{user}/{mode?}",methods:["GET","HEAD"],parameters:["user","mode"]},"api.users.index":{uri:"api/v2/users",methods:["GET","HEAD"]},"api.beatmapsets.show":{uri:"api/v2/beatmapsets/{beatmapset}",methods:["GET","HEAD"],parameters:["beatmapset"]},"api.friends.index":{uri:"api/v2/friends",methods:["GET","HEAD"]},"api.friends.store":{uri:"api/v2/friends",methods:["POST"]},"api.friends.destroy":{uri:"api/v2/friends/{friend}",methods:["DELETE"],parameters:["friend"]},"api.download-quota-check":{uri:"api/v2/me/download-quota-check",methods:["GET","HEAD"]},"api.me":{uri:"api/v2/me/{mode?}",methods:["GET","HEAD"],parameters:["mode"]},"api.unlock-client-side-achievement":{uri:"api/v2/me/achievements/{achievementId}",methods:["PUT"],parameters:["achievementId"]},"api.oauth.tokens.current":{uri:"api/v2/oauth/tokens/current",methods:["DELETE"]},"api.news.index":{uri:"api/v2/news",methods:["GET","HEAD"]},"api.news.show":{uri:"api/v2/news/{news}",methods:["GET","HEAD"],parameters:["news"]},"api.notifications.index":{uri:"api/v2/notifications",methods:["GET","HEAD"]},"api.notifications.mark-read":{uri:"api/v2/notifications/mark-read",methods:["POST"]},"api.rankings":{uri:"api/v2/rankings/{mode}/{type}",methods:["GET","HEAD"],parameters:["mode","type"]},"api.spotlights.index":{uri:"api/v2/spotlights",methods:["GET","HEAD"]},"api.wiki.show":{uri:"api/v2/wiki/{locale}/{path}",methods:["GET","HEAD"],wheres:{path:".+"},parameters:["locale","path"]},"api.tags.index":{uri:"api/v2/tags",methods:["GET","HEAD"]},"api.screenshots.store":{uri:"api/v2/screenshots",methods:["POST"]},"interop.":{uri:"_lio/artist-tracks/reindex-all",methods:["POST"]},"interop.beatmapsets.broadcast-new":{uri:"_lio/beatmapsets/{beatmapset}/broadcast-new",methods:["POST"],parameters:["beatmapset"]},"interop.beatmapsets.broadcast-revive":{uri:"_lio/beatmapsets/{beatmapset}/broadcast-revive",methods:["POST"],parameters:["beatmapset"]},"interop.beatmapsets.broadcast-update":{uri:"_lio/beatmapsets/{beatmapset}/broadcast-update",methods:["POST"],parameters:["beatmapset"]},"interop.beatmapsets.disqualify":{uri:"_lio/beatmapsets/{beatmapset}/disqualify",methods:["POST"],parameters:["beatmapset"]},"interop.beatmapsets.destroy":{uri:"_lio/beatmapsets/{beatmapset}",methods:["DELETE"],parameters:["beatmapset"]},"interop.indexing.bulk.store":{uri:"_lio/indexing/bulk",methods:["POST"]},"interop.multiplayer.rooms.join":{uri:"_lio/multiplayer/rooms/{room}/users/{user}",methods:["PUT"],parameters:["room","user"]},"interop.multiplayer.rooms.part":{uri:"_lio/multiplayer/rooms/{room}/users/{user}",methods:["DELETE"],parameters:["room","user"]},"interop.multiplayer.rooms.store":{uri:"_lio/multiplayer/rooms",methods:["POST"]},"interop.teams.destroy":{uri:"_lio/teams/{team}",methods:["DELETE"],parameters:["team"]},"interop.users.achievement":{uri:"_lio/user-achievement/{user}/{achievement}/{beatmap?}",methods:["POST"],parameters:["user","achievement","beatmap"]},"interop.users.rank-achieved":{uri:"_lio/users/{user}/{beatmap}/{ruleset}/rank-achieved",methods:["POST"],parameters:["user","beatmap","ruleset"]},"interop.users.first-place-lost":{uri:"_lio/users/{user}/{beatmap}/{ruleset}/first-place-lost",methods:["POST"],parameters:["user","beatmap","ruleset"]},"interop.user-group.update":{uri:"_lio/users/{user}/groups/{group}",methods:["PUT"],parameters:["user","group"]},"interop.user-group.destroy":{uri:"_lio/users/{user}/groups/{group}",methods:["DELETE"],parameters:["user","group"]},"interop.user-group.set-default":{uri:"_lio/users/{user}/groups/{group}/default",methods:["POST"],parameters:["user","group"]},"interop.users.store":{uri:"_lio/users",methods:["POST"]}}};"undefined"!=typeof window&&void 0!==window.Ziggy&&Object.assign(a.routes,window.Ziggy.routes);var i=s(5948),n=s.n(i);const o=(0,r.bS)();function l(e,t,s){return n()(e,t,s,a)}a.port=+o.port||null,a.url=o.origin}}]); +//# sourceMappingURL=commons.0819ae77.js.map \ No newline at end of file diff --git "a/teto/(42) teto bread \302\267 chat _ osu!_files/en-gb.22ed6c6e_LWMq.js" "b/teto/(42) teto bread \302\267 chat _ osu!_files/en-gb.22ed6c6e_LWMq.js" new file mode 100644 index 0000000..cc6cfd6 --- /dev/null +++ "b/teto/(42) teto bread \302\267 chat _ osu!_files/en-gb.22ed6c6e_LWMq.js" @@ -0,0 +1,2 @@ +/*! For license information please see en-gb.22ed6c6e.js.LICENSE.txt */ +!function(e,a){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?a(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],a):a(e.moment)}(this,function(e){"use strict";return e.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}})}); \ No newline at end of file diff --git "a/teto/(42) teto bread \302\267 chat _ osu!_files/en.c68d4dc4_LWMq.js" "b/teto/(42) teto bread \302\267 chat _ osu!_files/en.c68d4dc4_LWMq.js" new file mode 100644 index 0000000..0bf9f3b --- /dev/null +++ "b/teto/(42) teto bread \302\267 chat _ osu!_files/en.c68d4dc4_LWMq.js" @@ -0,0 +1 @@ +!function(){"use strict";void 0===window.LangMessages&&(window.LangMessages={messages:{}}),Object.assign(LangMessages,{"en.accounts":{edit:{avatar:{reset:"reset",rules:"Please ensure your avatar adheres to :link.
This means it must be suitable for all ages. i.e. no nudity, offensive or suggestive content.",rules_link:"the Visual content considerations",title:"Avatar"},email:{locked:{_:"Please contact the :accounts if you need your email updated.",accounts:"account support team"},new:"new email",new_confirmation:"email confirmation",title:"Email"},legacy_api:{api:"api",irc:"irc",title:"Legacy API"},password:{current:"current password",new:"new password",new_confirmation:"password confirmation",title:"Password"},profile:{country:"country",country_change:{_:"It looks like your account country doesn't match your country of residence. :update_link.",update_link:"Update to :country"},title:"Profile",user:{user_discord:"discord",user_from:"current location",user_interests:"interests",user_occ:"occupation",user_twitter:"twitter",user_website:"website"}},signature:{title:"Signature",update:"update"},title_compact:"account settings",username:"username"},github_user:{error:{already_linked:"This GitHub account is already linked to a different user.",no_contribution:"Cannot link GitHub account without any contribution history in osu! repositories.",unverified_email:"Please verify your primary email on GitHub, then try linking your account again."},info:"If you're a contributor to osu!'s open-source repositories, linking your GitHub account here will associate your changelog entries with your osu! profile. GitHub accounts with no contribution history to osu! cannot be linked.",link:"Link GitHub Account",title:"GitHub",unlink:"Unlink GitHub Account"},notifications:{beatmapset_discussion_qualified_problem:"receive notifications for new problems on qualified beatmaps of the following modes",beatmapset_disqualify:"receive notifications for when beatmaps of the following modes are disqualified",comment_reply:"receive notifications for replies to your comments",news_post:"receive notifications for news posts",options:{_:"delivery options",beatmap_owner_change:"guest difficulty","beatmapset:modding":"beatmap modding",channel_mention:"chat mention",channel_message:"private chat messages",channel_team:"team chat messages",comment_new:"new comments",forum_topic_reply:"topic reply",mail:"mail",mapping:"beatmap mapper",news_post:"news posts",push:"push"},title:"Notifications",tooltips:{beatmap_owner_change:"when you are added as a guest mapper on a beatmap difficulty","beatmapset:modding":"when beatmap discussions you are watching receives updates, or there is a problem or suggestion on your own beatmap.",channel_mention:"when you are mentioned in a public channel",channel_message:"when you receive a new private message",channel_team:"when your team chat channel has a new message",comment_new:"when there is a new comment on an item you are following",forum_topic_reply:"when forum topics you are watching receive new replies",mapping:"when a mapper you are following uploads a beatmap",news_post:"when there are new news posts"},topic_auto_subscribe:"automatically enable notifications on new forum topics that you create or replied to"},oauth:{authorized_clients:"authorized clients",own_clients:"own clients",title:"OAuth"},options:{beatmapset_download:{_:"default beatmap download type",all:"with video if available",direct:"open in osu!direct",no_video:"without video"},beatmapset_show_anime_cover:"show anime style beatmap covers",beatmapset_show_nsfw:"hide warnings for explicit content in beatmaps",beatmapset_title_show_original:"show beatmap metadata in original language",title:"Options"},playstyles:{default_ruleset:"default game mode",keyboard:"keyboard",mouse:"mouse",tablet:"tablet",title:"Playstyles",touch:"touch"},privacy:{friends_only:"block private messages from people not on your friends list",hide_online:"hide your online presence",hide_online_info:'this maps to the "appear offline" mode in osu!lazer',title:"Privacy"},security:{current_session:"current",end_session:"End Session",end_session_confirmation:"This will immediately end your session on that device. Are you sure?",last_active:"Last active:",title:"Security",web_sessions:"web sessions"},update_email:{update:"update"},update_password:{update:"update"},user_totp:{button:{remove:"Remove",setup:"Add Authenticator App"},status:{label:"status",not_set:"Not configured",set:"Configured"},title:"Authenticator App",usage_note:"Use authenticator app instead of email for verification. Email verification will still be available as a fallback."},verification_completed:{text:"You can close this tab/window now",title:"Verification has been completed"},verification_invalid:{title:"Invalid or expired verification link"}},"en.admin":{beatmapsets:{covers:{regenerate:"Regenerate",regenerating:"Regenerating...",remove:"Remove",removing:"Removing...",title:"Beatmap covers"},show:{covers:"Manage Beatmap Covers"}},forum:{"forum-covers":{index:{delete:"Delete","forum-name":"Forum #:id: :name","no-cover":"No cover set",submit:{save:"Save",update:"Update"},title:"Forum Covers List","type-title":{"default-topic":"Default Topic Cover",main:"Forum Cover"}}}},logs:{index:{title:"Log Viewer"}},pages:{root:{sections:{beatmapsets:"Beatmaps",forum:"Forum",general:"General",users:{cover_presets:"Profile Cover Presets",header:"User"}}}},users:{restricted_banner:{message:"(only admins can see this)",title:"This user is currently restricted."}}},"en.api":{error:{chat:{empty:"Cannot send blank message.",limit_exceeded:"You are sending messages too quickly, please wait a bit before trying again.",too_long:"The message you are trying to send is too long."}},scopes:{bot:"Act as a chat bot.",chat:{read:"Read messages on your behalf.",write:"Send messages on your behalf.",write_manage:"Join and leave channels on your behalf."},forum:{write:"Create and edit forum topics and posts on your behalf.",write_manage:"Manage forum topics and posts on your behalf."},friends:{read:"See who you are following."},identify:"Identify you and read your public profile.",multiplayer:{write_manage:"Create and manage multiplayer rooms on your behalf."},public:"Read public data on your behalf."}},"en.artist":{admin:{hidden:"ARTIST IS CURRENTLY HIDDEN"},beatmaps:{_:"Beatmaps",download:"download beatmap template","download-na":"beatmap template not yet available"},index:{description:"Featured Artists are artists that we are working in collaboration with in order to bring new and original music to osu!. These artists and a selection of their tracks have been hand-picked by the osu! team as being awesomesauce and suitable for mapping. Some of these Featured Artists have also created exclusive new tracks for use in osu!.

All tracks in this section are provided as pre-timed .osz files and have been officially licensed for use in osu! and osu!-related content."},links:{beatmaps:"osu! Beatmaps",osu:"osu! Profile",site:"Official Website"},page_description:"Featured Artists on osu!",songs:{_:"Songs",count:":count_delimited song|:count_delimited songs",original:"osu! original",original_badge:"ORIGINAL"},title:"Featured Artists",tracklist:{bpm:"bpm",genre:"genre",length:"length",title:"title"},tracks:{index:{_:"track search",exclusive_only:{all:"All",exclusive_only:"osu! original"},form:{advanced:"Advanced Search",album:"Album",artist:"Artist",bpm_gte:"BPM Minimum",bpm_lte:"BPM Maximum",empty:"No tracks matching search criteria were found.",exclusive_only:"Type",genre:"Genre",genre_all:"All",length_gte:"Length Minimum",length_lte:"Length Maximum"}}}},"en.authorization":{beatmap_discussion:{destroy:{has_reply:"Can not delete discussion with replies",is_hype:"Can not undo hyping."},nominate:{exhausted:"You have reached your nomination limit for the day, please try again tomorrow.",incorrect_state:"Error performing that action, try refreshing the page.",owner:"Can't nominate own beatmap.",set_metadata:"You must set the genre and language before nominating."},resolve:{not_owner:"Only thread starter and beatmap owner can resolve a discussion."},store:{mapper_note_wrong_user:"Only beatmap owner or nominator/NAT group member can post mapper notes."},vote:{bot:"Can't vote on discussion made by bot",limit_exceeded:"Please wait a while before casting more votes",owner:"Can't vote on own discussion.",wrong_beatmapset_state:"Can only vote on discussions of pending beatmaps."}},beatmap_discussion_post:{destroy:{not_owner:"You can only delete your own posts.",resolved:"You can not delete a post of a resolved discussion.",system_generated:"Automatically generated post can not be deleted."},edit:{not_owner:"Only the poster can edit post.",resolved:"You can not edit a post of a resolved discussion.",system_generated:"Automatically generated post can not be edited."}},beatmap_tag:{store:{no_score:"You must set a score on a beatmap to add a tag."}},beatmapset:{discussion_locked:"This beatmap is locked for discussion.",metadata:{nominated:"You cannot change metadata of a nominated map. Contact a BN or NAT member if you think it is set incorrectly."}},chat:{blocked:"Cannot message a user that is blocking you or that you have blocked.",friends_only:"User is blocking messages from people not on their friends list.",moderated:"This channel is currently moderated.",no_access:"You do not have access to that channel.",no_announce:"You do not have permission to post announcement.",receive_friends_only:"The user may not be able to reply because you are only accepting messages from people on your friends list.",restricted:"You cannot send messages while silenced, restricted or banned.",silenced:"You cannot send messages while silenced, restricted or banned."},comment:{store:{disabled:"Comments are disabled"},update:{deleted:"Can't edit deleted post."}},contest:{entry:{limit_reached:"You have reached the entry limit for this contest",over:"Thank you for your entries! Submissions have closed for this contest and voting will open soon."},judging_not_active:"Judging for this contest isn't active.",voting_over:"You cannot change your vote after the voting period for this contest has ended."},forum:{moderate:{no_permission:"No permission to moderate this forum."},post:{delete:{locked:"Can not delete post of a locked topic.",no_forum_access:"Access to requested forum is required.",not_owner:"Only poster can delete the post.",only_last_post:"Only last post can be deleted."},edit:{deleted:"Can not edit deleted post.",locked:"The post is locked from editing.",no_forum_access:"Access to requested forum is required.",no_permission:"No permission to edit.",not_owner:"Only poster can edit the post.",topic_locked:"Can not edit post of a locked topic."},store:{play_more:"Try playing the game before posting on the forums, please! If you have a problem with playing, please post to the Help and Support forum.",too_many_help_posts:"You need to play the game more before you can make additional posts. If you're still having trouble playing the game, email support@ppy.sh"}},topic:{reply:{double_post:"Please edit your last post instead of posting again.",locked:"Can not reply to a locked thread.",no_forum_access:"Access to requested forum is required.",no_permission:"No permission to reply.",user:{require_login:"Please sign in to reply.",restricted:"Can't reply while restricted.",silenced:"Can't reply while silenced."}},store:{forum_closed:"Forum is closed and can not be posted to.",no_forum_access:"Access to requested forum is required.",no_permission:"No permission to create new topic."},vote:{no_forum_access:"Access to requested forum is required.",over:"Polling is over and can not be voted on anymore.",play_more:"You need to play more before voting on forum.",user:{require_login:"Please sign in to vote.",restricted:"Can't vote while restricted.",silenced:"Can't vote while silenced."},voted:"Changing vote is not allowed."},watch:{no_forum_access:"Access to requested forum is required."}},topic_cover:{edit:{not_owner:"Only owner can edit cover.",uneditable:"Invalid cover specified."},store:{forum_not_allowed:"This forum does not accept topic covers."}},view:{admin_only:"Only admin can view this forum."}},play_more:"How about playing some osu! instead?",require_login:"Please sign in to proceed.",require_verification:"Please verify to proceed.",restricted:"Can't do that while restricted.",room:{destroy:{not_owner:"Only room owner can close it."}},score:{pin:{disabled_type:"Can't pin this type of score",failed:"Can't pin non-passing score.",not_owner:"Only score owner can pin score.",too_many:"Pinned too many scores."}},silenced:"Can't do that while silenced.",team:{application:{store:{already_member:"You're already part of the team.",already_other_member:"You're already part of a different team.",currently_applying:"You have a pending team join request.",team_closed:"The team is currently not accepting any join requests.",team_full:"The team is full and can't accept any more members."}},part:{is_leader:"Team leader can't leave the team.",not_member:"Not a member of the team."},store:{require_supporter_tag:"osu!supporter tag is required to create team."}},unauthorized:"Access denied.",user:{page:{edit:{locked:"User page is locked.",not_owner:"Can only edit own user page.",require_supporter_tag:"osu!supporter tag is required."}},update_email:{locked:"email address is locked"}}},"en.bbcode":{bold:"Bold",heading:"Header",help:"Help",image:"Image",imagemap:"Image Map",italic:"Italic",link:"Link",list:"List",list_numbered:"Numbered List",size:{_:"Font Size",large:"Large",normal:"Normal",small:"Small",tiny:"Tiny"},spoilerbox:"Spoiler Box",strikethrough:"Strike Out"},"en.beatmap_discussion_posts":{index:{title:"Beatmap Discussion Posts"},item:{content:"Content",modding_history_link:"View modding history"}},"en.beatmap_discussions":{authorizations:{update:{null_user:"Must be signed in to edit.",system_generated:"System-generated post can not be edited.",wrong_user:"Must be owner of the post to edit."}},events:{empty:"Nothing has happened... yet."},hidden_replies:":count_delimited reply is hidden.|:count_delimited replies are hidden.",index:{deleted_beatmap:"deleted",form:{_:"Search",beatmapset_status:{_:"Beatmap Status",all:"All",disqualified:"Disqualified",never_qualified:"Never Qualified",qualified:"Qualified",ranked:"Ranked"},deleted:"Include deleted discussions",mode:"Beatmap mode",only_unresolved:"Show only unresolved discussions",show_review_embeds:"Show review posts",types:"Message types",user:{label:"User",overview:"Activities overview"},username:"Username"},none_found:"No discussions matching that search criteria were found.",title:"Beatmap Discussions"},item:{created_at:"Post date",deleted_at:"Deletion date",message_type:"Type",permalink:"Permalink"},nearby_posts:{confirm:"None of the posts address my concern",notice:"There are posts around :timestamp (:existing_timestamps). Please check them before posting.",unsaved:":count in this review"},owner_editor:{button:"Difficulty Owner",reset_confirm:"Reset owner for this difficulty?",user:"Owner",version:"Difficulty"},refresh:{checking:"Checking for updates...",has_updates:"The discussion has updates, click to refresh.",no_updates:"No updates.",updating:"Updating..."},reply:{open:{guest:"Sign in to Respond",user:"Respond"}},review:{block_count:":used / :max blocks used",go_to_child:"View Discussion",go_to_parent:"View Review Post",validation:{block_too_large:"each block may only contain up to :limit characters",external_references:"review contains references to issues that don't belong to this review",invalid_block_type:"invalid block type",invalid_discussion_type:"invalid discussion type",invalid_document:"invalid review",minimum_issues:"review must contain a minimum of :count issue|review must contain a minimum of :count issues",missing_text:"block is missing text",too_many_blocks:"reviews may only contain :count paragraph/issue|reviews may only contain up to :count paragraphs/issues"}},system:{resolved:{false:"Reopened by :user",true:"Marked as resolved by :user"}},timestamp_display:{general:"general",general_all:"general (all)"},user_filter:{everyone:"Everyone",label:"Filter by user",multiple:":count_delimited user selected|:count_delimited users selected"}},"en.beatmap_tags":{update:{invalid_ruleset:"This tag is not valid with this Beatmap."}},"en.beatmappacks":{index:{blurb:{important:"READ THIS BEFORE DOWNLOADING",install_instruction:"Installation: Once a pack has been downloaded, extract the contents of the pack into your osu! Songs directory and osu! will do the rest."},description:"Pre-packaged collections of beatmaps based around a common theme.",empty:"Coming soon!",nav_title:"listing",title:"Beatmap Packs"},mode:{artist:"Artist/Album",chart:"Spotlights",featured:"Featured Artist",loved:"Project Loved",standard:"Standard",theme:"Theme",tournament:"Tournament"},require_login:{_:"You need to be :link to download",link_text:"signed in"},show:{created_by:"by :author",download:"Download",item:{cleared:"cleared",not_cleared:"not cleared"},no_diff_reduction:{_:":link may not be used to clear this pack.",link:"Difficulty reduction mods"}}},"en.beatmaps":{change_owner:{too_many:"Too many guest mappers."},"discussion-votes":{update:{error:"Failed updating vote"}},discussions:{allow_kudosu:"allow kudosu",beatmap_information:"Beatmap Page",collapse:{"all-collapse":"Collapse all","all-expand":"Expand all"},delete:"delete",deleted:"Deleted by :editor :delete_time.",deny_kudosu:"deny kudosu",edit:"edit",edited:"Last edited by :editor :update_time.",empty:{empty:"No discussions yet!",hidden:"No discussion matches selected filter."},guest:"Guest difficulty by :user",include_replies:"Include replies",kudosu_denied:"Denied from obtaining kudosu.",lock:{button:{lock:"Lock discussion",unlock:"Unlock discussion"},prompt:{lock:"Reason for locking",unlock:"Are you sure to unlock?"}},message_hint:{in_general:"This post will go to general beatmap discussion. To mod this difficulty, start message with timestamp (e.g. 00:12:345).",in_timeline:"To mod multiple timestamps, post multiple times (one post per timestamp)."},message_placeholder:{general:"Type here to post to General (:version)",generalAll:"Type here to post to General (All difficulties)",review:"Type here to post a review",timeline:"Type here to post to Timeline (:version)"},message_placeholder_deleted_beatmap:"This difficulty has been deleted so it may no longer be discussed.",message_placeholder_locked:"Discussion for this beatmap has been disabled.",message_placeholder_silenced:"Can't post discussion while silenced.",message_type:{disqualify:"Disqualify",hype:"Hype!",mapper_note:"Note",nomination_reset:"Reset Nomination",praise:"Praise",problem:"Problem",problem_warning:"Report Problem",review:"Review",suggestion:"Suggestion"},message_type_select:"Select Comment Type",message_type_title:{disqualify:"Post Disqualification",hype:"Post Hype!",mapper_note:"Post Note",nomination_reset:"Remove all Nominations",praise:"Post Praise",problem:"Post Problem",problem_warning:"Post Problem",review:"Post Review",suggestion:"Post Suggestion"},mode:{events:"History",general:"General :scope",reviews:"Reviews",scopes:{general:"This difficulty",generalAll:"All difficulties"},timeline:"Timeline"},new:{pin:"Pin",timestamp:"Timestamp",timestamp_missing:"ctrl-c in edit mode and paste in your message to add a timestamp!",title:"New Discussion",unpin:"Unpin"},reply_notice:"Press enter to reply.",reply_placeholder:"Type your response here",reply_resolve_notice:"Press enter to reply. Press ctrl+enter to reply and resolve.","require-login":"Please sign in to post or reply",resolved:"Resolved",restore:"restore",review:{embed:{delete:"Delete",missing:"[DISCUSSION DELETED]",timestamp:{"all-diff":'Posts on "All difficulties" can\'t be timestamped.',diff:"If this post starts with a timestamp, it will be shown under Timeline."},unlink:"Unlink",unsaved:"Unsaved"},"insert-block":{paragraph:"insert paragraph",praise:"insert praise",problem:"insert problem",suggestion:"insert suggestion"},new:"New Review"},show:{title:":title mapped by :mapper"},show_deleted:"Show deleted",show_other_replies:"Show other replies",sort:{created_at:"Creation time",timeline:"Timeline",updated_at:"Last update"},stats:{deleted:"Deleted",mapper_notes:"Notes",mine:"Mine",pending:"Pending",praises:"Praises",resolved:"Resolved",total:"All"},"status-messages":{approved:"This beatmap was approved on :date!",graveyard:"This beatmap wasn't updated since :date so it was graveyarded...",loved:"This beatmap was added to loved on :date!",ranked:"This beatmap was ranked on :date!",wip:"Note: This beatmap is marked as a work-in-progress by the creator."},title:"Discussions",unresolved_count:":count_delimited unresolved issue|:count_delimited unresolved issues",votes:{latest:{down:"Latest downvotes",up:"Latest upvotes"},none:{down:"No downvotes yet",up:"No upvotes yet"}}},extra:{storyboard:"Has Storyboard",video:"Has Video"},feedback:{button:"Leave Feedback"},general:{converts:"Include converted beatmaps",featured_artists:"Featured Artists",follows:"Subscribed mappers",recommended:"Recommended difficulty",spotlights:"Spotlighted beatmaps"},genre:{anime:"Anime",any:"Any",classical:"Classical",electronic:"Electronic",folk:"Folk","hip-hop":"Hip Hop",jazz:"Jazz",metal:"Metal",novelty:"Novelty",other:"Other",pop:"Pop",rock:"Rock",unspecified:"Unspecified","video-game":"Video Game"},hype:{button:"Hype Beatmap!",button_done:"Already Hyped!",confirm:"Are you sure? This will use one out of your remaining :n hype and can't be undone.",explanation:"Hype this beatmap to make it more visible for nomination and ranking!",explanation_guest:"Sign in and hype this beatmap to make it more visible for nomination and ranking!",new_time:"You'll get another hype :new_time.",remaining:"You have :remaining hype left.",required_text:"Hype: :current/:required",section_title:"Hype Train",title:"Hype"},invalid_ruleset:"Invalid ruleset specified.",language:{any:"Any",chinese:"Chinese",english:"English",french:"French",german:"German",instrumental:"Instrumental",italian:"Italian",japanese:"Japanese",korean:"Korean",other:"Other",polish:"Polish",russian:"Russian",spanish:"Spanish",swedish:"Swedish",unspecified:"Unspecified"},listing:{search:{filters:{extra:"Extra",general:"General",genre:"Genre",language:"Language",mode:"Mode",nsfw:"Explicit Content",played:"Played",rank:"Rank Achieved",status:"Categories"},login_required:"Sign in to search.","not-found":"no results","not-found-quote":"... nope, nothing found.",options:"More Search Options",prompt:"type in keywords...",rank_filter_note:'Profile top rank counts and results shown on this page are based on your highest "standardised" (aka "lazer") scores on beatmaps.',sorting:{artist:"Artist",difficulty:"Difficulty",favourites:"Favourites",nominations:"Nominations",plays:"Plays",ranked:"Ranked",rating:"Rating",relevance:"Relevance",title:"Title",updated:"Updated"},supporter_filter:"Filtering by :filters requires an active osu!supporter tag",supporter_filter_quote:{_:"Filtering by :filters requires an active :link",link_text:"osu!supporter tag"},tag_picker:{prompt:"type to search",tooltip:"browse user tags"}}},mode:{all:"All",any:"Any",fruits:"osu!catch",mania:"osu!mania",osu:"osu!",taiko:"osu!taiko",undefined:"not set"},nominations:{already_nominated:"You've already nominated this beatmap.",cannot_nominate:"You cannot nominate this beatmap game mode.",delete:"Delete",delete_other_confirm:"Are you sure? The beatmap will be deleted and you will be redirected back to the user's profile.",delete_own_confirm:"Are you sure? The beatmap will be deleted and you will be redirected back to your profile.",disqualification_prompt:"Reason for disqualification?",disqualified_at:"Disqualified :time_ago (:reason).",disqualified_no_reason:"no reason specified",disqualify:"Disqualify",incorrect_state:"Error performing that action, try refreshing the page.",love:"Love",love_choose:"Choose difficulty for loved",love_confirm:"Love this beatmap?",nominate:"Nominate",nominate_confirm:"Nominate this beatmap?",nominated_by:"nominated by :users",not_enough_hype:"There isn't enough hype.",rank_estimate:{_:"This map is estimated to be ranked :date if no issues are found. It is #:position in the :queue.",on:"on :date",problems:"these problems",queue:"ranking queue",soon:"soon",unresolved_problems:"This map is currently blocked from leaving the Qualified section until :problems are resolved."},remove_from_loved:"Remove from Loved",remove_from_loved_prompt:"Reason for removing from Loved:",required_text:"Nominations: :current/:required",reset_at:{disqualify:"Disqualified :time_ago by :user with new problem :discussion (:message).",nomination_reset:"Nomination process reset :time_ago by :user with new problem :discussion (:message)."},reset_confirm:{disqualify:"Are you sure? This will remove the beatmap from qualifying and reset the nomination process.",nomination_reset:"Are you sure? Posting a new problem will reset the nomination process.",problem_warning:"Are you sure to report issue on this beatmap? This will alert Beatmap Nominators."},reset_message_deleted:"deleted",title:"Nomination Status",unresolved_issues:"There are still unresolved issues that must be addressed first."},nsfw:{exclude:"Hide",include:"Show"},panel:{favourites:"Favourites: :count",playcount:"Playcount: :count"},played:{any:"Any",played:"Played",unplayed:"Unplayed"},rank:{A:"A",B:"B",C:"C",D:"D",S:"S",SH:"Silver S",X:"SS",XH:"Silver SS",any:"Any"},status:{any:"Any",approved:"Approved",favourites:"Favourites",graveyard:"Graveyard",leaderboard:"Has Leaderboard",loved:"Loved",mine:"My Maps",pending:"Pending",qualified:"Qualified",ranked:"Ranked",wip:"WIP"},variant:{mania:{"4k":"4K","7k":"7K",all:"All"}}},"en.beatmapset_discussion_votes":{index:{title:"Beatmap Discussion Votes"},item:{score:"Score"}},"en.beatmapset_events":{event:{approve:"Approved.",beatmap_owner_change:"Owner of difficulty :beatmap changed to :new_user.",discussion_delete:"Moderator deleted discussion :discussion.",discussion_lock:"Discussion for this beatmap has been disabled. (:text)",discussion_post_delete:"Moderator deleted post from discussion :discussion.",discussion_post_restore:"Moderator restored post from discussion :discussion.",discussion_restore:"Moderator restored discussion :discussion.",discussion_unlock:"Discussion for this beatmap has been enabled.",disqualify:"Disqualified by :user. Reason: :discussion (:text).",disqualify_legacy:"Disqualified by :user. Reason: :text.",genre_edit:"Genre changed from :old to :new.",issue_reopen:"Resolved issue :discussion by :discussion_user reopened by :user.",issue_resolve:"Issue :discussion by :discussion_user marked as resolved by :user.",kudosu_allow:"Kudosu denial for discussion :discussion has been removed.",kudosu_deny:"Discussion :discussion denied for kudosu.",kudosu_gain:"Discussion :discussion by :user obtained enough votes for kudosu.",kudosu_lost:"Discussion :discussion by :user lost votes and granted kudosu has been removed.",kudosu_recalculate:"Discussion :discussion has had its kudosu grants recalculated.",language_edit:"Language changed from :old to :new.",love:"Loved by :user.",nominate:"Nominated by :user.",nominate_modes:"Nominated by :user (:modes).",nomination_reset:"New problem :discussion (:text) triggered a nomination reset.",nomination_reset_received:"Nomination by :user was reset by :source_user (:text)",nomination_reset_received_profile:"Nomination was reset by :user (:text)",nsfw_toggle:{to_0:"Removed explicit mark",to_1:"Marked as explicit"},offset_edit:"Online offset changed from :old to :new.",qualify:"This beatmap has reached the required number of nominations and has been qualified.",rank:"Ranked.",remove_from_loved:"Removed from Loved by :user. (:text)",tags_edit:'Tags changed from ":old" to ":new".'},index:{form:{period:"Period",types:"Types"},title:"Beatmapset Events"},item:{content:"Content",discussion_deleted:"[deleted]",type:"Type"},type:{approve:"Approval",beatmap_owner_change:"Difficulty owner change",discussion_delete:"Discussion deletion",discussion_post_delete:"Discussion reply deletion",discussion_post_restore:"Discussion reply restoration",discussion_restore:"Discussion restoration",disqualify:"Disqualification",genre_edit:"Genre edit",issue_reopen:"Discussion reopening",issue_resolve:"Discussion resolving",kudosu_allow:"Kudosu allowance",kudosu_deny:"Kudosu denial",kudosu_gain:"Kudosu gain",kudosu_lost:"Kudosu loss",kudosu_recalculate:"Kudosu recalculation",language_edit:"Language edit",love:"Love",nominate:"Nomination",nomination_reset:"Nomination resetting",nomination_reset_received:"Nomination reset received",nsfw_toggle:"Explicit mark",offset_edit:"Offset edit",qualify:"Qualification",rank:"Ranking",remove_from_loved:"Loved removal"}},"en.beatmapset_watches":{index:{counts:{total:"Beatmaps watched",unread:"Beatmaps with new activity"},description:"These are the beatmap discussions you are following. You will be notified when there are new posts or updates.",table:{empty:"No beatmap discussions watched.",last_update:"Last update",open_issues:"Open issues",state:"State",title:"Title"},title_compact:"beatmap discussion watchlist"},status:{read:"Read",unread:"Unread"}},"en.beatmapsets":{availability:{disabled:"This beatmap is currently not available for download.","more-info":"Check here for more information.","parts-removed":"Portions of this beatmap have been removed at the request of the creator or a third-party rights holder.",rule_violation:"Some assets contained within this map have been removed after being judged as not being suitable for use in osu!."},cover:{deleted:"Deleted beatmap"},download:{limit_exceeded:"Slow down, play more.",no_mirrors:"No download servers available."},featured_artist_badge:{label:"Featured Artist"},index:{guest_title:"Beatmaps",title:"Beatmaps Listing"},nominate:{bng_limited_too_many_rulesets:"Probationary nominators cannot nominate multiple rulesets.",dialog:{confirmation:"Are you sure you want to nominate this beatmap?",current_main_ruleset:"The main ruleset is currently: :ruleset",different_nominator_warning:"Qualifying this beatmap with different nominators will reset its qualification queue position.",header:"Nominate Beatmap",hybrid_warning:"note: you may only nominate once, so please ensure that you are nominating for all game modes you intend to",which_modes:"Nominate for which modes?"},full_nomination_required:"You must be a full nominator to perform the final nomination of a ruleset.",hybrid_requires_modes:"A hybrid beatmap requires you to select at least one playmode to nominate for.",incorrect_mode:"You do not have permission to nominate for mode: :mode",invalid_limited_nomination:"This beatmap has invalid nominations and cannot be qualified in this state.",invalid_ruleset:"This nomination has invalid rulesets.",too_many:"Nomination requirement already fulfilled.",too_many_non_main_ruleset:"Nomination requirement for non-main ruleset already fulfilled."},nsfw_badge:{label:"Explicit"},panel:{download:{all:"download",direct:"open in osu!direct",no_video:"download without video",video:"download with video"},empty:"no beatmaps"},show:{admin:{full_size_cover:"View full size cover image",page:"View admin page"},deleted_banner:{message:"(only moderators can see this)",title:"This beatmap has been deleted."},details:{by_artist:"by :artist",download:{_:"Download",direct:"osu!direct","no-video":"without Video",video:"with Video"},favourite:"favourite this beatmap",favourite_login:"sign in to favourite this beatmap","logged-out":"you need to sign in before downloading any beatmaps!",login_required:{bottom:"to access more features",top:"Sign In"},mapped_by:"mapped by :mapper",mapped_by_guest:"guest difficulty by :mapper",unfavourite:"unfavourite this beatmap",updated_timeago:"last updated :timeago"},details_date:{approved:"approved :timeago",loved:"loved :timeago",qualified:"qualified :timeago",ranked:"ranked :timeago",submitted:"submitted :timeago",updated:"last updated :timeago"},discussion:"Discussion",favourites:{limit_reached:"You have too many favourited beatmaps! Please unfavourite some before trying again."},hype:{action:"Hype this map if you enjoyed playing it to help it progress to Ranked status.",current:{_:"This map is currently :status.",status:{pending:"pending",qualified:"qualified",wip:"work in progress"}},disqualify:{_:"If you find an issue with this beatmap, please disqualify it :link."},report:{_:"If you find an issue with this beatmap, please report it :link to alert the team.",button:"Report Problem",link:"here"}},info:{description:"Description",genre:"Genre",language:"Language",mapper_tags:"Mapper Tags",no_scores:"Data still being calculated...",nominators:"Nominators",nsfw:"Explicit content",offset:"Online offset",pack_tags:"Beatmap Packs","points-of-failure":"Points of Failure",source:"Source",storyboard:"This beatmap contains storyboard","success-rate":"Success Rate",success_rate_plays:":passes of :count_delimited play|:passes of :count_delimited plays",user_tags:"User Tags",video:"This beatmap contains video"},nsfw_warning:{buttons:{disable:"Disable warning",listing:"Beatmap listing",show:"Show"},details:"This beatmap contains explicit, offensive, or disturbing content. Would you like to view it anyway?",title:"Explicit Content"},scoreboard:{achieved:"achieved :when",country:"Country Ranking",error:"Failed loading ranking",friend:"Friend Ranking",global:"Global Ranking",headers:{accuracy:"Accuracy",combo:"Max Combo",miss:"Miss",mods:"Mods",pin:"Pin",player:"Player",pp:"pp",rank:"Rank",score:"Score",score_total:"Total Score",time:"Time"},no_scores:{country:"No one from your country has set a score on this map yet!",friend:"None of your friends have set a score on this map yet!",global:"No scores yet. Maybe you should try setting some?",loading:"Loading scores...",team:"No one from your team has set a score on this map yet!",unranked:"Unranked beatmap."},score:{first:"In the Lead",own:"Your Best"},"supporter-link":'Click here to see all the fancy features that you get!',"supporter-only":"You need to be an osu!supporter to access the friend, country, or mod-specific rankings!",supporter_link:{_:"Click :here to see all the fancy features that you get!",here:"here"},team:"Team Ranking",title:"Scoreboard"},stats:{accuracy:"Accuracy",ar:"Approach Rate",bpm:"BPM",count_circles:"Circle Count",count_sliders:"Slider Count",cs:"Circle Size","cs-mania":"Key Count",drain:"HP Drain",favourites:"Favourites",no_favourites:"No favourites yet",nominations:"Nominations",offset:"Online offset: :offset",playcount:"Playcount","rating-spread":"Rating Spread",stars:"Star Rating",total_length:"Length (Drain length: :hit_length)","user-rating":"User Rating"},status:{approved:"Approved",graveyard:"Graveyard",loved:"Loved",pending:"Pending",qualified:"Qualified",ranked:"Ranked",wip:"WIP"}},spotlight_badge:{label:"Spotlight"}},"en.changelog":{build:{title:"changes in :version"},builds:{users_online:":count_delimited user online|:count_delimited users online"},entry:{by:"by :user"},generic:"Bug fixes and minor improvements",index:{page_title:{_:"changelog listing",_from:"changes since :from",_from_to:"changes between :from and :to",_stream:"changes in :stream",_stream_from:"changes in :stream since :from",_stream_from_to:"changes in :stream between :from and :to",_stream_to:"changes in :stream up to :to",_to:"changes up to :to"}},support:{heading:"Love this update?",text_1:"Support further development of osu! and :link today!",text_1_link:"become an osu!supporter",text_2:"Not only will you help speed development, but you will also get some extra features and customisations!"}},"en.chat":{cannot_send:{channel:"You cannot message this channel at this time.",user:"You cannot message this user at this time."},channels:{confirm_part:"Do you want to hide this channel? You will still receive messages from this channel.",create:"create announcement",join:"join channel",list:{title:{ANNOUNCE:"Announcements",GROUP:"Groups",PM:"Direct messages",PUBLIC:"Channels",TEAM:"Team"}},none:"no channel"},form:{labels:{description:"description",message:"message",name:"room name",users:"players to add"},title:{announcement:"Create New Announcement"}},input:{create:"Create",disabled:"unable to send message...",disconnected:"Disconnected",placeholder:"type message...",send:"Send"},join_channels:{loading:"Loading channel list..."},loading_users:"loading users...",not_found:{message:"There's nothing here, maybe you left the channel or it doesn't exist...",title:"channel not found"},not_joined:{join:"Join Channel",message:"Join the channel to view its messages."},searching_users:"searching for users...",talking_in:"talking in :channel",talking_with:"talking with :name",title_compact:"chat",unread_messages:"unread messages"},"en.client_verifications":{completed:{home:"Go to dashboard",logout:"Logout",text:"You can close this tab/window now",title:"osu! client verification has been completed"},create:{confirm:"Click on authorise button below to finish client verification.",title:"osu! client verification"}},"en.comments":{commentable_name:{_deleted:"Deleted Item",beatmapset:"Beatmap",build:"Changelog",news_post:"News"},deleted:"deleted",deleted_by:"deleted :timeago by :user",deleted_by_system:"system",deleted_count:":count_delimited deleted comment|:count_delimited deleted comments",edited:"edited :timeago by :user",editor:{textarea_hint:{_:"Press enter to :action. Use shift+enter for new line.",edit:"save",new:"post",reply:"reply"}},empty:"No comments yet.",empty_other:"No other comments yet.",guest_button:{new:"Sign in to comment",reply:"Sign in to reply"},index:{nav_comments:"comments",nav_title:"listing",no_comments:"no comments found..."},load_replies:"load replies",ogp:{title:"comment by :user"},pinned:"pinned",placeholder:{edit:"Edit the comment here",new:"Type new comment here",reply:"Type your response here"},replies_count:":count_delimited reply|:count_delimited replies",show:{nav_title:"comments"},title:"Comments"},"en.common":{array_and:{last_word_connector:", and ",two_words_connector:" and ",words_connector:", "},badges:{new:"NEW"},buttons:{authorise:"Authorise",authorising:"Authorising...",back:"Back",back_to_previous:"Return to previous position",back_to_top:"Back to top",cancel:"Cancel",change:"change",clear:"Clear",click_to_copy:"click to copy to clipboard",click_to_copy_copied:"copied to clipboard!",close:"Close",collapse:"collapse",delete:"Delete",edit:"Edit",expand:"expand",hide:"hide",permalink:"permalink",pin:"pin",post:"Post",read_more:"read more",refresh:"Refresh",reply:"Reply",reply_reopen:"Reply and Reopen",reply_resolve:"Reply and Resolve",reset:"Reset",restore:"Restore",retry:"Retry",save:"Save",saving:"Saving...",search:"Search",see_more:"see more",show:"show",show_deleted:"Show deleted",show_less:"show less",show_more:"show more",show_more_options:"show more options",submit:"Submit",unpin:"unpin",update:"Update",upload_image:"upload image",watch:{to_0:"Unwatch",to_1:"Watch"}},confirmation:"Are you sure?",confirmation_unsaved:"Unsaved changes will be lost. Are you sure?",count:{badges:":count_delimited badge|:count_delimited badges",days:":count_delimited day|:count_delimited days",hour_short_unit:"hr|hrs",hours:":count_delimited hour|:count_delimited hours",item:":count_delimited unit|:count_delimited units",minute_short_unit:"min|mins",minutes:":count_delimited minute|:count_delimited minutes",months:":count_delimited month|:count_delimited months",notifications:":count_delimited notification|:count_delimited notifications",player:":count_delimited player|:count_delimited players",plus_others:"+ :count_delimited other!|+ :count_delimited others!",post:":count_delimited post|:count_delimited posts",second_short_unit:"sec|secs",star_priority:":count_delimited star priority|:count_delimited star priorities",update:":count_delimited update|:count_delimited updates",view:":count_delimited view|:count_delimited views",years:":count_delimited year|:count_delimited years"},countdown:{days:"days",hours:"hours",minutes:"minutes",seconds:"seconds"},datetime:{month:{php:"m"},year:{php:"y"},year_month:{moment:"MMMM YYYY",php:"MMMM y"},year_month_short:{moment:"MMM YYYY"}},device:{keyboard:"Keyboard",mouse:"Mouse",tablet:"Tablet",touch:"Touch Screen"},dropzone:{target:"drop here to upload"},input:{search:"search..."},pagination:{next:"next",previous:"prev"},saved:"Saved",score_count:{count_100:"100",count_300:"300",count_50:"50",count_geki:"MAX",count_katu:"200",count_miss:"Miss"},scoreboard_time:{d:"%dd",dd:"%dd",h:"%dh",hh:"%dh",m:"now",mm:"now",month:"%dmo",months:"%dmo",past:"%s",s:"now",y:"%dy",yy:"%dy"},time:{days_ago:":count_delimited day ago|:count_delimited days ago",hours_ago:":count_delimited hour ago|:count_delimited hours ago",now:"now",remaining:"Time Remaining"},title:{notice:"Notice"},wrong_user:{_:"You're signed in as :user. :logout_link.",logout_link:"Click here to sign in as different user"}},"en.community":{support:{convinced:{gift:"or gift supporter to other players",instructions:"click the heart button to proceed to the osu!store",support:"support osu!",title:"I'm convinced! :D"},perks:{auto_downloads:{description:"Beatmaps will automatically download in multiplayer games, while spectating others, or when clicking relevant links in chat!",title:"Automatic Downloads"},beatmap_filters:{description:"Filter beatmap searches by played and unplayed maps, or by rank achieved.",title:"Beatmap Filters"},change_username:{description:"One free name change is included with your first supporter purchase.",title:"Change Username"},country_ranking:{description:"Conquer your country before you conquer the world.",title:"Country Ranking"},customisation:{description:"Stand out by uploading a custom cover image, creating a fully customizable 'me!' section, or even change the colour to any of your liking within your user profile.",title:"Customisation"},early_access:{description:"Gain early access to new releases with new features before they go public!

This includes early access to new features on the website too!",title:"Early Access"},feature_votes:{description:"Votes for feature requests. (2 per month)",title:"Feature Votes"},friend_filtering:{description:"Compete with your friends and see how you rank up against them!",title:"Friend Leaderboards"},friend_ranking:{description:"See how you stack up against your friends on a beatmap's leaderboard, both in-game and on the website.",title:"Friend Ranking"},mod_filtering:{description:"Associate only with people who play HDHR? No problem!",title:"Filter by Mods"},more_beatmaps:{description:"How many pending beatmaps you can have at once is calculated from a base value plus an additional bonus for each ranked beatmap you currently have (up to a limit).

Normally this is :base plus :bonus per ranked beatmap (up to :bonus_max). With supporter, this increases to :supporter_base plus :supporter_bonus per ranked beatmap (up to :supporter_bonus_max).",title:"Upload More Beatmaps"},more_favourites:{description:"The maximum number of beatmaps you can favourite is increased from :normally → :supporter",title:"More Favourites"},more_friends:{description:"The maximum number of friends you can have is increased from :normally → :supporter",title:"More Friends"},osu_direct:{description:"Gain quick and easy access to search for and download beatmaps without having to leave the game.",title:"osu!direct"},skinnables:{description:"Extra in-game skinnables, like the main menu background.",title:"Skinnables"},sort_options:{description:"The ability to view beatmap country / friend / mod-specific rankings in-game.",title:"Sort Options"},speedy_downloads:{description:"More lenient download restrictions, especially when using osu!direct.",title:"Speedy Downloads"},title:"Cool! What perks do I get?",upload_more:{description:"Additional pending beatmap slots (per ranked beatmap) up to a max of 10.",title:"Upload More"},yellow_fellow:{description:"Be recognised in-game with your new bright yellow chat username colour.",title:"Yellow Fellow"}},supporter_status:{contribution_with_duration:'Thank you for your ongoing support! So far, you\'ve contributed a total of :dollars, earning you the "Supporter" tag for :duration.',gifted:{_:"Out of your total contributions, you’ve gifted :dollars worth of tags to :users covering :duration. That’s incredibly generous!",users:":count_delimited other user|:count_delimited other users"},not_yet:"You haven't ever had an osu!supporter tag :(",valid_until:"Your current osu!supporter tag is valid until :date!",was_valid_until:"Your osu!supporter tag was valid until :date."},"why-support":{ads:{description:"Your contributions help keep the game independent and completely free from ads and outside sponsors.",title:"Keep osu! self-sustaining"},"bounty-program":{description:"Support the community contributors that have given their time and effort to help make osu! better.",link_text:"Find out more »",title:"Open Source Bounty Program"},"featured-artists":{description:"With your support, we can approach even more awesome artists and license more great music for use in osu!",link_text:"View the current roster »",title:"Featured Artists"},infra:{description:"Contributions go towards the servers for running the website, multiplayer services, online leaderboards, etc.",title:"Server Infrastructure"},team:{description:"A small team develops and runs osu!. Your support helps them to, you know... live.",title:"Support the Team"},title:"Why should I support osu!? Where does the money go?",tournaments:{description:"Help fund the running of (and the prizes for) the official osu! World Cup tournaments.",link_text:"Explore tournaments »",title:"Official Tournaments"}}}},"en.contest":{beatmaps:{download:"Download Entry"},dates:{ended:"Ended :date",ended_no_date:"Ended",starts:{_:"Starts :date",soon:"soon™"}},entry:{_:"entry",allowed_extensions:":types files are accepted",download:"Download .osz",drop_here:"Drop your entry here",login_required:"Please sign in to enter the contest.",max_size:"Max size: :limit",preparation:"We are currently preparing this contest. Please wait patiently!",required_dimensions:"Dimensions must be :widthx:height",silenced_or_restricted:"You cannot enter contests while restricted or silenced.",too_big:"Entries for this contest can only be up to :limit.",wrong_dimensions:"Entries for this contest must be :widthx:height",wrong_file_type:"Only :types files are accepted for this contest."},header:{large:"Community Contests",small:"Compete in more ways than just clicking circles."},index:{nav_title:"listing"},judge:{comments:"comments",hide_judged:"hide judged entries",nav_title:"judge",no_current_vote:"you didn't vote yet.",update:"update",validation:{contest_vote_judged:"can't vote in judged contests",missing_score:"missing score"},voted:"You already submitted a vote on this entry."},judge_results:{_:"Judging results",creator:"creator",score:"Score",score_std:"Standardised Score",total_score:"total score",total_score_std:"total standardised score"},show:{admin:{page:"View info and entries"}},states:{entry:"Entry Open",results:"Results Out",voting:"Voting Started"},vote:{count:":count_delimited vote|:count_delimited votes",list:"votes",points:":count_delimited point|:count_delimited points",points_float:":points points"},voting:{best_of:{none_played:"It doesn't look like you played any beatmaps that qualify for this contest!"},button:{add:"Vote",remove:"Remove vote",used_up:"You have used up all your votes"},judge_link:"You are a judge of this contest. Judge the entries here!",judged_notice:"This contest is using the judging system, the judges are currently processing the entries.",login_required:"Please sign in to vote.",over:"Voting for this contest has ended",progress:{_:":used / :max votes used"},requirement:{playlist_beatmapsets:{incomplete_play:"Must play all beatmaps in the specified playlists before voting"}},show_voted_only:"Show voted"}},"en.errors":{account:{"profile-order":{generic:"An error occured. Try refreshing the page."}},checkout:{generic:"An error occurred while preparing your checkout."},codes:{"http-401":"Please sign in to proceed.","http-403":"Access denied.","http-404":"Not found.","http-429":"Too many attempts. Try again later."},load_failed:"Failed to load data.",missing_route:"Invalid url or incorrect request method.",no_restricted_access:"You are not able to perform this action while your account is in a restricted state.",param_too_large:":name parameter has a maximum of :count_delimited item|:name parameter has a maximum of :count_delimited items",scores:{invalid_id:"Invalid score id."},search:{default:"Could not get any results, try again later.",invalid_cursor_exception:"Invalid cursor parameter specified.",operation_timeout_exception:"Search is currently busier than usual, try again later."},supporter_only:"You must be an osu!supporter to use this feature.",unknown:"Unknown error occurred.",user_report:{recently_reported:"You've already reported this recently."}},"en.events":{achievement:':user unlocked the ":achievement" medal!',beatmap_playcount:":beatmap has been played :count times!",beatmapset_approve:":beatmapset by :user has been :approval!",beatmapset_delete:":beatmapset has been deleted.",beatmapset_revive:":beatmapset has been revived from eternal slumber by :user.",beatmapset_status:{approved:"approved",loved:"loved",qualified:"qualified",ranked:"ranked"},beatmapset_update:':user has updated the beatmap ":beatmapset"',beatmapset_upload:':user has submitted a new beatmap ":beatmapset"',empty:"This user hasn't done anything notable recently!",rank:":user achieved :rank on :beatmap (:mode)",rank_lost:":user has lost first place on :beatmap (:mode)",user_support_again:":user has once again chosen to support osu! - thanks for your generosity!",user_support_first:":user has supported osu! - thanks for your generosity!",user_support_gift:":user has received the gift of osu!supporter!",username_change:":previousUsername has changed their username to :user!",value:{rank:"rank #:rank"}},"en.follows":{comment:{empty:"No comments watched.",page_title:"comment watchlist",table:{latest_comment_empty:"no comments",latest_comment_value:":time by :username"},title:"comment"},forum_topic:{title:"forum topic"},index:{title_compact:"watchlists"},mapping:{empty:"No mappers watched.",followers:"mapping subscribers",page_title:"mapper watchlist",title:"mapper",to_0:"stop notifying me when this user uploads a new beatmap",to_1:"notify me when this user uploads a new beatmap"},modding:{title:"beatmap discussion"},store:{too_many:"Follow limit reached."}},"en.forum":{covers:{create:{_:"Set cover image",button:"Upload cover",info:"Cover size should be at :dimensions. You can also drop your image here to upload."},destroy:{_:"Remove cover",confirm:"Are you sure you want to remove the cover image?"},edit:"Edit cover"},forums:{forums:"Forums",index:{title:"Forum Index"},latest_post:"Latest Post",topics:{empty:"No topics!"}},mark_as_read:{busy:"Marking as read...",forum:"Mark forum as read",forums:"Mark forums as read"},pinned_topics:"Pinned Topics",post:{actions:{destroy:"Delete post",edit:"Edit post",report:"Report post",restore:"Restore post"},confirm_destroy:"Are you sure you want to delete this post?",confirm_restore:"Are you sure you want to restore this post?",create:{title:{reply:"New reply"}},edited:"Last edited by :user :when, edited :count_delimited time in total.|Last edited by :user :when, edited :count_delimited times in total.",info:{post_count:":count_delimited post|:count_delimited posts",topic_starter:"Topic Starter"},posted_at:"posted :when",posted_by_in:"posted by :username in :forum"},search:{go_to_post:"Go to post",post_number_input:"enter post number",total_posts:":posts_count posts total"},slogan:"it's dangerous to play alone.",subforums:"Subforums",title:"Forums",topic:{actions:{destroy:"Delete topic",restore:"Restore topic"},confirm_destroy:"Are you sure you want to delete this topic?",confirm_restore:"Are you sure you want to restore this topic?",create:{close:"Close",necropost:{default:"This topic has been inactive for a while. Only post here if you have a specific reason to do so.",new_topic:{_:"This topic has been inactive for a while. If you don't have a specific reason to post here, please :create instead.",create:"create a new topic"}},placeholder:{body:"Type post content here",title:"Click here to set title"},preview:"Preview",preview_hide:"Edit",submit:"Post"},deleted:"deleted topic",go_to_latest:"view latest post",go_to_unread:"view first unread post",has_replied:"You have replied to this topic",in_forum:"in :forum",jump:{enter:"click to enter specific post number",first:"go to first post",last:"go to last post",next:"skip next 10 posts",previous:"go back 10 posts"},latest_post:":when by :user",latest_reply_by:"last reply by :user",logs:{_:"Topic logs",button:"Browse topic logs",columns:{action:"Action",date:"Date",user:"User"},data:{add_tag:'added ":tag" tag',announcement:"pinned topic and marked as announcement",edit_topic:"to :title",fork:"from :topic",pin:"pinned topic",post_operation:"posted by :username",remove_tag:'removed ":tag" tag',source_forum_operation:"from :forum",unpin:"unpinned topic"},no_results:"no logs found...",operations:{delete_post:"Deleted post",delete_topic:"Deleted topic",edit_poll:"Edited topic poll",edit_topic:"Changed topic title",fork:"Copied topic",issue_tag:"Issued tag",lock:"Locked topic",merge:"Merged posts into this topic",move:"Moved topic",pin:"Pinned topic",post_edited:"Edited post",restore_post:"Restored post",restore_topic:"Restored topic",split_destination:"Moved split posts",split_source:"Split posts",topic_type:"Set topic type",topic_type_changed:"Changed topic type",unlock:"Unlocked topic",unpin:"Unpinned topic",user_lock:"Locked own topic",user_unlock:"Unlocked own topic"}},new_topic:"New topic",new_topic_login:"Sign in to post new topic",post_edit:{cancel:"Cancel",post:"Save"},post_reply:"Post",reply_box_placeholder:"Type here to reply",reply_title_prefix:"Re",started_by:"by :user",started_by_verbose:"started by :user"},topic_watches:{index:{box:{total:"Topics subscribed",unread:"Topics with new replies"},info:{total:"You subscribed to :total topics.",unread:"You have :unread unread replies to subscribed topics."},title_compact:"forum topic watchlist"},topic_buttons:{remove:{confirmation:"Unsubscribe from topic?",title:"Unsubscribe"}}},topics:{_:"Topics",actions:{login_reply:"Sign in to Reply",reply:"Reply",reply_with_quote:"Quote post for reply",search:"Search"},create:{create_poll:"Poll Creation",create_poll_button:{add:"Create a poll",remove:"Cancel creating a poll"},poll:{hide_results:"Hide the results of the poll.",hide_results_info:"They will be shown only after the poll concludes.",length:"Run poll for",length_days_suffix:"days",length_info:"Leave blank for a never ending poll",max_options:"Options per user",max_options_info:"This is the number of options each user may select when voting.",options:"Options",options_info:"Place each options on a new line. You may enter up to 10 options.",title:"Question",vote_change:"Allow re-voting.",vote_change_info:"If enabled, users are able to change their vote."},preview:"Post Preview"},edit_title:{start:"Edit title"},index:{feature_votes:"star priority",replies:"replies",views:"views"},lock:{is_locked:"This topic is locked and can not be replied to",to_0:"Unlock topic",to_0_confirm:"Unlock topic?",to_0_done:"Topic has been unlocked",to_1:"Lock topic",to_1_confirm:"Lock topic?",to_1_done:"Topic has been locked"},moderate_move:{title:"Move to another forum"},moderate_pin:{to_0:"Unpin topic",to_0_confirm:"Unpin topic?",to_0_done:"Topic has been unpinned",to_1:"Pin topic",to_1_confirm:"Pin topic?",to_1_done:"Topic has been pinned",to_2:"Pin topic and mark as announcement",to_2_confirm:"Pin topic and mark as announcement?",to_2_done:"Topic has been pinned and marked as announcement"},moderate_toggle_deleted:{hide:"Hide deleted posts",show:"Show deleted posts"},show:{"deleted-posts":"Deleted Posts",feature_vote:{current:"Current Priority: +:count",do:"Promote this request",info:{_:"This is a :feature_request. Feature requests can be voted up by :supporters.",feature_request:"feature request",supporters:"supporters"},user:{count:"{0} no votes|{1} :count_delimited vote|[2,*] :count_delimited votes",current:"You have :votes remaining.",not_enough:"You don't have any more votes remaining"}},poll:{button:{change_vote:"Change vote",edit:"Edit poll",view_results:"Skip to results",vote:"Vote"},detail:{end_time:"Polling will end at :time",ended:"Polling ended :time",results_hidden:"Results will be shown after polling ends.",total:"Total votes: :count"},edit:"Poll Edit",edit_warning:"Editing a poll will remove the current results!",vote:"Vote"},total_posts:"Total Posts",total_watches:"Total Subscribers"},watch:{to_not_watching:"Not bookmarked",to_watching:"Bookmark",to_watching_mail:"Bookmark with notification",tooltip_mail_disable:"Notification is enabled. Click to disable",tooltip_mail_enable:"Notification is disabled. Click to enable"}}},"en.friends":{blocked:"You have been blocked by this user.",buttons:{add:"add friend",disabled:"followers",remove:"remove friend"},title_compact:"friends",too_many:"Friend limit reached"},"en.group_history":{event:{actor:"by :user",message:{group_add:":group created.",group_remove:":group deleted.",group_rename:":previous_group renamed to :group.",user_add:":user added to :group.",user_add_playmodes:":rulesets added to :user's :group membership.",user_add_with_playmodes:":user added to :group for :rulesets.",user_remove:":user removed from :group.",user_remove_playmodes:":rulesets removed from :user's :group membership.",user_set_default:":user's default group set to :group."}},form:{group:"Group",group_all:"All groups",max_date:"To",min_date:"From",user:"User",user_prompt:"Username or ID"},none:"No group history found!",staff_log:{_:"Older group history can be found in :wiki_articles.",wiki_articles:"the staff log wiki articles"},view:"View group history"},"en.help":[],"en.home":{download:{action_lazer_info:"check this page for more information",download:"Download",for_os:"for :os",help:{_:"if you have a problem starting the game or registering for an account, :help_forum_link or :support_button.",help_forum_link:"check the help forum",support_button:"contact support"},"macos-fallback":"macOS users",mirror:"mirror",or:"or",os:{linux:"for Linux",macos:"for macOS",windows:"for Windows"},os_version_or_later:":os_version or later",other_os:"other platforms",quick_start_guide:"quick start guide",stable_text:"if you're looking for the older one",steps:{beatmaps:{description:{_:":browse the vast library of user-created beatmaps and start playing!",browse:"browse"},title:"get beatmaps"},download:{description:"click the button above to download the installer, then run it!",title:"install the game"},register:{description:"follow the prompts when starting the game to sign in or make a new account",title:"get an account"}},tagline_1:"let's get you",tagline_2:"started!","video-guide":"video guide"},landing:{download:"Download now",online:":players currently online in :games games",peak:"Peak, :count online users",players:":count registered players",see_more_news:"see more news",slogan:{main:"the bestest free-to-win rhythm game",sub:"rhythm is just a click away"},title:"welcome"},search:{advanced_link:"Advanced search",artist_track:{more_simple:"See more featured artist track search results"},beatmapset:{login_required:"Sign in to search beatmaps",more:":count more beatmap search results",more_simple:"See more beatmap search results",title:"Beatmaps"},button:"Search",empty_result:"Nothing found!",forum_post:{all:"All forums",label:{forum:"search in forums",forum_children:"include subforums",include_deleted:"include deleted posts",topic_id:"topic #",username:"author"},link:"Search the forum",login_required:"Sign in to search the forum",more_simple:"See more forum search results",title:"Forum"},keyword_required:"A search keyword is required",mode:{all:"all",artist_track:"featured artist track",beatmapset:"beatmap",forum_post:"forum",team:"team",user:"player",wiki_page:"wiki"},placeholder:"type to search",team:{login_required:"Sign in to search teams",more_simple:"See more team search results"},title:"search",user:{login_required:"Sign in to search users",more:":count more player search results",more_hidden:"Player search is limited to :max players. Try refining search query.",more_simple:"See more player search results",title:"Players"},wiki_page:{link:"Search the wiki",more_simple:"See more wiki search results",title:"Wiki"}},user:{beatmaps:{by_user:"by :user",daily_challenge:"Daily Challenge Beatmap",new:"New Ranked Beatmaps",popular:"Popular Beatmaps",resets:"resets :ends"},buttons:{download:"Download osu!",store:"osu!store",support:"Support osu!"},header:{stats:{friends:"Online Friends",games:"Games",online:"Online Users"}},livestream:{title:"Featured Livestream"},news:{error:"Error loading news, try refreshing the page?...",title:"News"},show:{admin:{page:"Open admin console"}},title:"dashboard"}},"en.layout":{audio:{autoplay:"Play next track automatically"},defaults:{page_description:"osu! - Rhythm is just a *click* away! With Ouendan/EBA, Taiko and original gameplay modes, as well as a fully functional level editor."},errors:{400:{description:"",error:"Invalid request parameter"},401:{description:"You could try going back, though. Or maybe signing in.",error:"You shouldn't be here."},403:{description:"You could try going back, though.",error:"You shouldn't be here."},404:{description:"Sorry, but the page you requested isn't here!",error:"Page Missing"},405:{description:"Sorry, but the page you requested isn't here!",error:"Page Missing"},422:{description:"",error:"Invalid request parameter"},429:{description:"",error:"Rate limit exceeded"},500:{description:"We're automatically notified of every error.",error:"Oh no! Something broke! ;_;"},503:{description:"Maintenance usually takes anywhere from 5 seconds to 10 minutes. If we're down for longer, see :link for more information.",error:"Down for maintenance!",link:{href:"https://twitter.com/osustatus",text:"@osustatus"}},fatal:{description:"We're automatically notified of every error.",error:"Oh no! Something broke (badly)! ;_;"},reference:"Just in case, here's a code you can give to support!"},footer:{general:{_:"General",beatmaps:"Beatmap Listing","changelog-index":"Changelog",download:"Download osu!",home:"Home"},help:{_:"Help & Community",faq:"Frequently Asked Questions",forum:"Community Forums",livestreams:"Live Streams",report:"Report an Issue",wiki:"Wiki"},legal:{_:"Legal & Status",copyright:"Copyright (DMCA)",jp_sctl:"特定商取引法",privacy:"Privacy",rules:"Rules",server_status:"Server Status",source_code:"Source Code",terms:"Terms"}},gallery:{close:"Close (Esc)",fullscreen:"Toggle fullscreen",next:"Next (arrow right)",previous:"Previous (arrow left)",zoom:"Zoom in/out"},header:{admin:{beatmapset:"beatmapset",beatmapset_covers:"beatmapset covers",contest:"contest",contests:"contests",root:"console"},artists:{index:"listing"},beatmapsets:{discussions:"discussion",show:"info",versions:"version history"},changelog:{index:"listing"},help:{index:"index",sitemap:"Sitemap"},store:{cart:"cart",orders:"order history",products:"products"},tournaments:{index:"listing"},users:{modding:"modding",playlists:"playlists","ranked-play":"ranked play",realtime:"multiplayer",show:"info"}},menu:{beatmaps:{_:"beatmaps"},community:{_:"community",dev:"development"},help:{_:"help",getAbuse:"report abuse",getFaq:"faq",getRules:"rules",getSupport:"no, really, i need help!"},home:{_:"home",team:"team"},rankings:{_:"rankings"},store:{_:"store"}},popup_login:{button:"sign in / register",login:{error:{email:"Username or email address doesn't exist",password:"Incorrect password"},forgot:"I've forgotten my details",password:"password",title:"Sign In To Proceed",username:"username"},register:{download:"Download",info:"Download osu! to create your own account!",title:"Don't have an account?"}},popup_search:{initial:"Type to search!",retry:"Search failed. Click to retry."},popup_user:{links:{"account-edit":"Settings",create_team:"Create Team",follows:"Watchlists",friends:"Friends",legacy_score_only_toggle:"Lazer mode",legacy_score_only_toggle_tooltip:"Lazer mode shows scores set from lazer with a new scoring algorithm",logout:"Sign Out",profile:"My Profile",scoring_mode_toggle:"Classic scoring",scoring_mode_toggle_tooltip:"Adjust score values to feel more like classic uncapped scoring",team:"My Team"}}},"en.legacy_api_key":{docs:{_:"Documentation is available at :github.",github:"GitHub"},form:{create:"Create Key"},new:"New Legacy API Key",none:"No key.",view:{delete:"Delete",hide:"Hide Key",show:"Show Key"},warning:{line1:"Do not give this out to others.",line2:"It's equivalent to giving out your password.",line3:"Your account may be compromised."}},"en.legacy_irc_key":{confirm_new:"Create new IRC password?",form:{server_host:"server",server_port:"port",token:"server password",username:"username"},new:"New Legacy IRC Password",none:"IRC Password not set.",view:{delete:"Delete",hide:"Hide Password",show:"Show Password"}},"en.livestreams":{promote:{pin:"Are you sure you want to promote this livestream on the homepage?",unpin:"Are you sure you want to remove this livestream's promotion from the homepage?"},"top-headers":{description:"Data is fetched from twitch.tv every five minutes based on the directory listing. Feel free to start streaming and get yourself listed! For more information on how to get setup, please check out :link.",headline:"Live Streams",link:"the wiki page on live streaming"}},"en.matches":{game:{freestyle:"Freestyle","scoring-type":{accuracy:"Highest Accuracy",combo:"Highest Combo",score:"Highest Score",scorev2:"Score V2"}},match:{"beatmap-deleted":"deleted beatmap",events:{game_aborted:"the game was canceled",game_aborted_no_user:"the game was canceled",game_completed:"the game has ended",game_completed_no_user:"the game has ended",host_changed:":user became the host",host_changed_no_user:"the host was changed",player_joined:":user joined the match",player_joined_no_user:"a player joined the match",player_kicked:":user has been kicked from the match",player_kicked_no_user:"a player has been kicked from the match",player_left:":user left the match",player_left_no_user:"a player left the match",room_created:":user created the match",room_created_no_user:"the match was created",room_disbanded:"the match was disbanded",room_disbanded_no_user:"the match was disbanded"},failed:"FAILED",header:"Multi Matches","in-progress":"(match in progress)",in_progress_spinner_label:"match in progress","loading-events":"Loading events...",score:{stats:{accuracy:"Accuracy",combo:"Combo",score:"Score"}},team_types:{head_to_head:"Head-to-head",tag_coop:"Tag Co-op",tag_team_versus:"Tag Team VS",team_versus:"Team VS"},teams:{blue:"Blue Team",red:"Red Team"},winner:":team wins",winner_by:":winner by :difference"}},"en.model_validation":{beatmapset_discussion:{attributes:{message_type:"Message type",timestamp:"Timestamp"},beatmap_missing:"Timestamp is specified but beatmap difficulty is missing.",beatmapset_no_hype:"Beatmap can't be hyped.",hype:{discussion_locked:"This beatmap is currently locked for discussion and can't be hyped",guest:"Must be signed in to hype.",hyped:"You have already hyped this beatmap.",limit_exceeded:"You have used all your hype.",not_hypeable:"This beatmap can not be hyped",owner:"No hyping your own beatmap."},hype_requires_null_beatmap:"Hype must be done in the General (all difficulties) section.",invalid_beatmap_id:"Invalid difficulty specified.",invalid_beatmapset_id:"Invalid beatmap specified.",locked:"Discussion is locked.",timestamp:{exceeds_beatmapset_length:"Specified timestamp is beyond the length of the beatmap.",negative:"Timestamp can't be negative."}},beatmapset_discussion_post:{attributes:{message:"The message"},discussion_locked:"Discussion is locked.",first_post:"Can not delete starting post."},comment:{attributes:{message:"The message"},deleted_parent:"Replying to deleted comment is not allowed.",top_only:"Pinning comment reply is not allowed."},follow:{invalid:"Invalid :attribute specified."},forum:{feature_vote:{not_enough_feature_votes:"Not enough votes.",not_feature_topic:"Can only vote a feature request."},poll_vote:{invalid:"Invalid option specified."},post:{attributes:{post_text:"Post body"},beatmapset_post_no_delete:"Deleting beatmap metadata post is not allowed.",beatmapset_post_no_edit:"Editing beatmap metadata post is not allowed.",first_post_no_delete:"Can't delete starting post",missing_topic:"Post is missing topic",only_quote:"Your reply contains only a quote."},topic:{attributes:{topic_title:"Topic title"}},topic_poll:{attributes:{title:"Poll title"},duplicate_options:"Duplicated option is not allowed.",grace_period_expired:"Can't edit a poll after more than :limit hours.",hiding_results_forever:"Can't hide results of a poll that never ends.",invalid_max_options:"Option per user may not exceed the number of available options.",minimum_one_selection:"A minimum of one option per user is required.",minimum_two_options:"Need at least two options.",too_many_options:"Exceeded maximum number of allowed options."},topic_vote:{required:"Select an option when voting.",too_many:"Selected more options than allowed."}},invalid:"Invalid :attribute specified.",legacy_api_key:{attributes:{api_key:"api key",app_name:"application name",app_url:"application url"},exists:"Only one API key is provided per user for the moment."},not_negative:":attribute cannot be negative.",oauth:{client:{attributes:{name:"Application Name",redirect:"Application Callback URL"},too_many:"Exceeded maximum number of allowed OAuth applications.",url:"Please enter valid URLs."}},required:":attribute is required.",store:{order_item:{attributes:{cost:"Cost",quantity:"Quantity"}}},team:{attributes:{default_ruleset_id:"Default ruleset",is_open:"Team application",name:"Name",short_name:"Short name",url:"URL"},invalid_characters:"This :attribute contains invalid characters.",used:"This :attribute choice is already used.",word_not_allowed:"This :attribute choice is not allowed."},too_long:":attribute exceeded maximum length - can only be up to :limit characters.",url:"Please enter a valid URL.",user:{attributes:{password:"Password",user_email:"Email address",username:"Username"},change_username:{restricted:"You cannot change your username while restricted.",supporter_required:{_:"You must have :link to change your name!",link_text:"supported osu!"},username_is_same:"This is already your username, silly!"},contains_username:"Password may not contain username.",email_already_used:"Email address already used.",email_not_allowed:"Email address not allowed.",invalid_country:"Country not in database.",invalid_discord:"Discord username invalid.",invalid_email:"Doesn't seem to be a valid email address.",invalid_twitter:"Twitter username invalid.",too_long:"Exceeded maximum length - can only be up to :limit characters.",too_short:"New password is too short.",unknown_duplicate:"Username or email address already used.",username_available_in:"This username will be available for use in :duration.",username_available_soon:"This username will be available for use any minute now!",username_in_use:"Username is already in use!",username_invalid_characters:"The requested username contains invalid characters.",username_locked:"Username is already in use!",username_no_space_userscore_mix:"Please use either underscores or spaces, not both!",username_no_spaces:"Username can't start or end with spaces!",username_not_allowed:"This username choice is not allowed.",username_too_long:"The requested username is too long.",username_too_short:"The requested username is too short.",weak:"Blacklisted password.",wrong_current_password:"Current password is incorrect.",wrong_email_confirmation:"Email confirmation does not match.",wrong_password_confirmation:"Password confirmation does not match."},user_report:{in_team:"You're part of the team.",no_ranked_beatmapset:"Ranked beatmaps cannot be reported",not_in_channel:"You're not in this channel.",reason_not_valid:":reason is not valid for this report type.",self:"You can't report yourself!"},wrong_confirmation:"Confirmation does not match."},"en.model_validation.fulfillments":{supporter_tag:{insufficient_paid:"Donation is less than required for osu!supporter tag gift (:actual > :expected)"},username_change:{insufficient_paid:"Username change cost exceeds amount paid (:expected > :actual)",only_one:"only 1 username change allowed per order fulfillment.",reverting_username_mismatch:"Current username (:current) is not the same as change to revoke (:username)"}},"en.model_validation.payments":{notification_type:"notification_type is not valid :type",order:{invalid:"Order is not valid",items:{virtual_only:"`:provider` payment is not valid for physical items."},status:{not_checkout:"Trying to accept payment for an order in the wrong state `:state`.",not_paid:"Trying to refund payment for an order in the wrong state `:state`."}},order_number:{malformed:"Received order transaction id is malformed",user_id_mismatch:"external_id contains wrong user id"},param:{invalid:"`:param` param does not match"},paypal:{not_echeck:"Pending payment is not an echeck. (:actual)"},purchase:{checkout:{amount:"Payment amount does not match: :actual != :expected",currency:"Payment is not in USD. (:type)"}},signature:{not_match:"Signatures do not match"}},"en.model_validation.store.product":{insufficient_stock:"There is not enough of this item left!",must_separate:"This item has to be checked out separately from other items",not_available:"This item is not available.",too_many:"You can only order :count of this item per order."},"en.model_validation.token":{invalid_scope:{all_scope_no_client_credentials:"* is not allowed with Client Credentials",all_scope_no_mix:"* is not valid with other scopes",bot_only:"This scope is only available for bots or your own clients.",client_credentials_only:"This scope is only valid for client_credentials tokens.",client_missing_owner:"The client is missing owner.",client_unauthorized:"The client is not authorized.",delegate_bot_only:"Delegation with Client Credentials is only available to bots.",delegate_invalid_combination:"Delegation is not supported for this combination of scopes.",delegate_required:"delegate scope is required.",empty:"Tokens without scopes are not valid."}},"en.models":{name:{"App\\Models\\Beatmap":"beatmap difficulty","App\\Models\\Beatmapset":"beatmap"},not_found:"Specified :model couldn't be found."},"en.multiplayer":{empty:{active:"Not currently in any in-progress osu!(lazer) :type_group games!",ended:"Not in any completed osu!(lazer) :type_group games yet!",playlists:"playlist","ranked-play":"ranked play",realtime:"multiplayer"},room:{errors:{duration_too_long:"Duration is too long.",name_too_long:"Room name is too long.",too_many_playlist_items:"Too many playlist items."},hosted_by:"hosted by :user",invalid_password:"Invalid room password",map_count:":count_delimited map|:count_delimited maps",player_count:":count_delimited player|:count_delimited players",status:{active:"active",ended:"ended",soon:"ending soon"},time_left:":time left",view_history:"View History",view_summary:"View Summary"}},"en.news":{index:{nav:{newer:"Newer posts",older:"Older posts"},title:{_:"news",info:"frontpage"},title_page:"osu!news"},series:{beatmap_spotlights:"Beatmap Spotlights",community_contests:"community contests",community_tournaments:"community tournaments",fanart_contests:"art contests",featured_artists:"Featured Artist announcements",game_updates:"client and website updates",mappers_guild:"Mappers' Guild",merch_runs:"osu! merchandise",miscellaneous:"miscellaneous announcements",monthly_beatmapping_contest:"Monthly Beatmapping Contest",official_contests:"official contests",offline_events:"offline events",online_events:"online events",project_loved:"Project Loved",ranking_system_updates:"ranking system updates",world_cups:"osu! World Cups"},show:{by:"by :user",nav:{newer:"Newer post",older:"Older post"},title:{_:"news",info:"post"}},sidebar:{archive:"News Archive"},store:{button:"Update",ok:"Listing updated."},update:{button:"Update",ok:"Post updated."}},"en.notifications":{action_type:{_:"all",beatmapset:"beatmaps",build:"builds",channel:"chat",forum_topic:"forum",news_post:"news",team:"team",user:"profile"},all_read:"All notifications read!",delete:"Delete :type",filters:{_:"all",beatmapset:"beatmaps",build:"builds",channel:"chat",forum_topic:"forum",news_post:"news",team:"team",user:"profile"},item:{beatmapset:{_:"Beatmap",beatmap_owner_change:{_:"Guest difficulty",beatmap_owner_change:'You\'re now owner of difficulty ":beatmap" for beatmap ":title"',beatmap_owner_change_compact:'You\'re now owner of difficulty ":beatmap"'},beatmapset_discussion:{_:"Beatmap discussion",beatmapset_discussion_lock:'Discussion on ":title" has been locked',beatmapset_discussion_lock_compact:"Discussion was locked",beatmapset_discussion_post_new:'New post on ":title" by :username: ":content"',beatmapset_discussion_post_new_compact:'New post by :username: ":content"',beatmapset_discussion_post_new_compact_empty:"New post by :username",beatmapset_discussion_post_new_empty:'New post on ":title" by :username',beatmapset_discussion_review_new:'New review on ":title" by :username containing :review_counts',beatmapset_discussion_review_new_compact:"New review by :username containing :review_counts",beatmapset_discussion_unlock:'Discussion on ":title" has been unlocked',beatmapset_discussion_unlock_compact:"Discussion was unlocked",review_count:{praises:":count_delimited praise|:count_delimited praises",problems:":count_delimited problem|:count_delimited problems",suggestions:":count_delimited suggestion|:count_delimited suggestions"}},beatmapset_problem:{_:"Qualified Beatmap problem",beatmapset_discussion_qualified_problem:'Reported by :username on ":title": ":content"',beatmapset_discussion_qualified_problem_compact:'Reported by :username: ":content"',beatmapset_discussion_qualified_problem_compact_empty:"Reported by :username",beatmapset_discussion_qualified_problem_empty:'Reported by :username on ":title"'},beatmapset_state:{_:"Beatmap status changed",beatmapset_disqualify:'":title" has been disqualified',beatmapset_disqualify_compact:"Beatmap was disqualified",beatmapset_love:'":title" was promoted to loved',beatmapset_love_compact:"Beatmap was promoted to loved",beatmapset_nominate:'":title" has been nominated',beatmapset_nominate_compact:"Beatmap was nominated",beatmapset_qualify:'":title" has gained enough nominations and entered the ranking queue',beatmapset_qualify_compact:"Beatmap entered ranking queue",beatmapset_rank:'":title" has been ranked',beatmapset_rank_compact:"Beatmap was ranked",beatmapset_remove_from_loved:'":title" was removed from Loved',beatmapset_remove_from_loved_compact:"Beatmap was removed from Loved",beatmapset_reset_nominations:'Nomination of ":title" has been reset',beatmapset_reset_nominations_compact:"Nomination was reset"},comment:{_:"New comment",comment_new:':username commented ":content" on ":title"',comment_new_compact:':username commented ":content"',comment_reply:':username replied ":content" on ":title"',comment_reply_compact:':username replied ":content"'}},build:{_:"Changelog",comment:{_:"New comment",comment_new:':username commented ":content" on ":title"',comment_new_compact:':username commented ":content"',comment_reply:':username replied ":content" on ":title"',comment_reply_compact:':username replied ":content"'}},channel:{_:"Chat",announcement:{_:"New announcement",announce:{channel_announcement:':username says ":title"',channel_announcement_compact:":title",channel_announcement_group:"Announcement from :username"}},channel:{_:"New message",pm:{channel_message:':username says ":title"',channel_message_compact:":title",channel_message_group:"from :username"}},channel_mention:{_:"Chat mention",public:{channel_mention:':username mentioned you in :name ":title"',channel_mention_compact:':username ":title"',channel_mention_group:"mentioned in :name"}},channel_team:{_:"New team message",team:{channel_team:':username says ":title"',channel_team_compact:':username says ":title"',channel_team_group:':username says ":title"'}}},forum_topic:{_:"Forum topic",forum_topic_reply:{_:"New forum reply",forum_topic_reply:':username replied to ":title"',forum_topic_reply_compact:":username replied"}},news_post:{_:"News",comment:{_:"New comment",comment_new:':username commented ":content" on ":title"',comment_new_compact:':username commented ":content"',comment_reply:':username replied ":content" on ":title"',comment_reply_compact:':username replied ":content"'},news_post:{_:"News (:series)",news_post_new:":title",news_post_new_compact:":title"}},team:{team_application:{_:"Team join request",team_application_accept:"You're now member of team :title",team_application_accept_compact:"You're now member of team :title",team_application_group:"Team join request updates",team_application_reject:"Your request to join team :title has been declined",team_application_reject_compact:"Your request to join team :title has been declined",team_application_store:":title requested to join your team",team_application_store_compact:":title requested to join your team"}},user:{user_beatmapset_new:{_:"New beatmap",user_beatmapset_new:'New beatmap ":title" by :username',user_beatmapset_new_compact:'New beatmap ":title"',user_beatmapset_new_group:"New beatmaps by :username",user_beatmapset_revive:'Beatmap ":title" revived by :username',user_beatmapset_revive_compact:'Beatmap ":title" revived'}},user_achievement:{_:"Medals",user_achievement_unlock:{_:"New medal",user_achievement_unlock:'Unlocked ":title"!',user_achievement_unlock_compact:'Unlocked ":title"!',user_achievement_unlock_group:"Medals unlocked!"}}},loading:"Loading unread notifications...",mail:{beatmapset:{beatmap_owner_change:{beatmap_owner_change:'You\'re now guest of beatmap ":title"'},beatmapset_discussion:{beatmapset_discussion_lock:'The discussion on ":title" has been locked',beatmapset_discussion_post_new:'The discussion on ":title" has new updates',beatmapset_discussion_unlock:'The discussion on ":title" has been unlocked'},beatmapset_problem:{beatmapset_discussion_qualified_problem:'A new problem was reported on ":title"'},beatmapset_state:{beatmapset_disqualify:'":title" has been disqualified',beatmapset_love:'":title" was promoted to loved',beatmapset_nominate:'":title" has been nominated',beatmapset_qualify:'":title" has gained enough nominations and entered the ranking queue',beatmapset_rank:'":title" has been ranked',beatmapset_remove_from_loved:'":title" was removed from Loved',beatmapset_reset_nominations:'Nomination of ":title" has been reset'},comment:{comment_new:'Beatmap ":title" has new comments'}},build:{comment:{comment_new:'Changelog ":title" has new comments'}},channel:{announcement:{channel_announcement:'There is a new announcement in ":name"'},channel:{channel_message:"You've received a new message from :username"},channel_mention:{channel_mention:':username mentioned you in :name ":title"'},channel_team:{channel_team:'There is a new message in team ":name"'}},forum_topic:{forum_topic_reply:{forum_topic_reply:'There are new replies in ":title"'}},news:"News",news_post:{comment:{comment_new:'News ":title" has new comments'}},team:{team_application:{team_application_accept:"You're now member of team :title",team_application_reject:"Your request to join team :title has been declined",team_application_store:":title requested to join your team"}},user:{user_beatmapset_new:{user_beatmapset_new:":username has created new beatmaps",user_beatmapset_revive:":username has revived beatmaps"}}},mark_read:"Clear :type",none:"No notifications",see_all:"see all notifications",see_channel:"go to chat",verifying:"Please verify session to view notifications"},"en.oauth":{authorise:{app_owner:"an app by :owner",request:"is requesting permission to access your account.",scopes_title:"This application will be able to:",title:"Authorisation Request"},authorized_clients:{confirm_revoke:"Are you sure you want to revoke this client's permissions?",none:"No Clients",owned_by:"Owned by :user",revoked:{false:"Revoke Access",true:"Access Revoked"},scopes_title:"This application can:"},cancel:"Cancel",client:{id:"Client ID",name:"Application Name",redirect:"Application Callback URLs",reset:"Reset client secret",reset_failed:"Failed to reset client secret",secret:"Client Secret",secret_visible:{false:"Show client secret",true:"Hide client secret"}},new_client:{header:"Register a new OAuth application",register:"Register application",terms_of_use:{_:"By using the API you are agreeing to the :link.",link:"Terms of Use"}},own_clients:{confirm_delete:"Are you sure you want to delete this client?",confirm_reset:"Are you sure you want to reset the client secret? This will revoke all existing tokens.",new:"New OAuth Application",none:"No Clients",revoked:{false:"Delete",true:"Deleted"}}},"en.page_title":{admin:{_:"admin"},error:{error:{400:"invalid request",401:"unauthorized",403:"forbidden",404:"missing",405:"missing",422:"invalid request",429:"too many requests",500:"something broke",503:"maintenance","401-verification":"account verification"}},forum:{_:"forum",topic_logs_controller:{index:"topic logs"}},main:{account_controller:{verify_link:"account verification"},artists_controller:{_:"featured artists"},beatmap_discussion_posts_controller:{_:"beatmap discussion posts"},beatmap_discussions_controller:{_:"beatmap discussions"},beatmap_packs_controller:{_:"beatmap packs"},beatmapset_discussion_votes_controller:{_:"beatmap discussion votes"},beatmapset_events_controller:{_:"beatmap history"},beatmapsets_controller:{discussion:"beatmap discussion",index:"beatmap listing",show:"beatmap info",versions:"beatmap version history"},changelog_controller:{_:"changelog"},chat_controller:{_:"chat"},comments_controller:{_:"comments"},contest_entries_controller:{judge_results:"contest judging results"},contests_controller:{_:"contests",judge:"contest judging"},group_history_controller:{_:"group history"},groups_controller:{show:"groups"},home_controller:{get_download:"download",index:"dashboard",search:"search",support_the_game:"support the game",testflight:"testflight"},legacy_matches_controller:{_:"matches"},legal_controller:{_:"information"},livestreams_controller:{_:"live streams"},news_controller:{_:"news"},notifications_controller:{_:"notifications history"},password_reset_controller:{_:"password reset"},ranking_controller:{_:"rankings"},scores_controller:{_:"performance"},seasons_controller:{_:"rankings"},teams_controller:{_:"teams",create:"create team",edit:"team settings",leaderboard:"team leaderboard",show:"team info"},tournaments_controller:{_:"tournaments"},user_cover_presets_controller:{_:"user cover presets"},user_totp_controller:{_:"authenticator app"},users_controller:{_:"player info",create:"create account",disabled:"notice"},wiki_controller:{_:"wiki"}},multiplayer:{rooms_controller:{events:"room history"}},passport:{authorization_controller:{_:"authorize app"}},store:{_:"store"},teams:{members_controller:{index:"team members"}},users:{modding_history_controller:{_:"modder info"},multiplayer_controller:{_:"multiplayer history"}}},"en.password_reset":{button:{resend:"Resend verification email",set:"Set password",start:"Start"},error:{contact_support:"Please contact support to recover account.",expired:"Verification code has expired.",invalid:"Unexpected error in verification code.",is_privileged:"Please contact a high level admin to recover account.",missing_key:"Required.",too_many_requests:"Password reset request limit has been reached. Please contact support to recover account.",too_many_tries:"Too many failed attempts.",user_not_found:"Requested user does not exist.",wait_resend:"Please wait a few moments.",wrong_key:"Incorrect code."},notice:{saved:"New password saved!",sent:"Check your email for the verification code."},started:{password:"New password",password_confirmation:"Password confirmation",title:"Resetting password for account :username.",verification_key:"Verification code"},starting:{reason:{inactive_different_country:"Your account hasn't been used in a long time. To ensure your account security please reset your password."},support:{_:"Need further assistance? Contact us via our :button.",button:"support system"},username:"Enter email address or username"}},"en.paypal.errors":{instrument_declined:"The selected payment method was rejected by Paypal.",invalid_resource_id:"No payment information was found.",invalid_token:"There was an error in completing your payment.",old_format:"The payment link has expired, please try again.",resource_not_found:"No payment information was found.",unknown:"The payment was rejected, but we're not sure why."},"en.quick_search":{mode:{artist_track:"Featured Artist Track",beatmapset:"Beatmap",forum_post:"Forum",other:"Other",team:"Team",user:"Player",wiki_page:"Wiki"},result:{more:"More :mode Search Results",no_results:{_:"No results for :mode",artist_track:"Featured Artist Tracks",beatmapset:"Beatmaps",forum_post:"Forums",other:"Others",team:"Teams",user:"Players",wiki_page:"Wiki"},title:":mode Search Results"}},"en.rankings":{countries:{all:"All",title:"Country"},daily_challenge:{beatmap:"Difficulty",top_10p:"Top 10% Score",top_50p:"Top 50% Score",unavailable:{future:"No daily challenge at the specified date yet!",past:"No daily challenge at the specified date!"}},filter:{title:"Show",variant:{title:"Variant"}},kudosu:{available:"Available",total:"Earned",used:"Spent"},matchmaking:{plays:"Plays",points:"Points",provisional:"Provisional rating due to an insufficient number of recent matches",rating:"Rating",wins:"Wins"},multiplayer:{room_name:"Room Name"},performance:{insufficient_history:"This user has less than 30 days of recent ranking history."},playlists:{charts:"spotlights (old)",featured:"featured",season_room:"season room",seasons:"seasons"},seasons:{empty:"There are no rooms in this season yet.",ongoing:"This season is still ongoing (there will be more playlists added).",room_count:"Playlist count",summary:"View Season Summary",url:"Display more informations on that season.",validation:{not_enough_factors:"there is not enough score factors for proper calculation"}},spotlight:{end_date:"End Date",map_count:"Map Count",participants:"Participants",start_date:"Start Date"},stat:{a:"A",accuracy:"Accuracy",active_users:"Active Users",average_performance:"Avg. Perf.",average_score:"Avg. Score",country:"Country",division:"Division",members:"Members",performance:"Performance",play_count:"Play Count",ranked_score:"Ranked Score",s:"S",ss:"SS",total_score:"Total Score"},top_plays:{empty:"The data is being calculated...",last_updated:"Last updated"},type:{country:"country",daily_challenge:"daily challenge",global:"global",kudosu:"kudosu",matchmaking:"ranked play",playlists:"playlists",team:"team",top_plays:"top plays"}},"en.report":{beatmapset:{button:"Report",title:"Report :username's beatmap?"},beatmapset_discussion_post:{button:"Report",title:"Report :username's post?"},comment:{button:"Report",title:"Report :username's comment?"},forum_post:{button:"Report",title:"Report :username's post?"},message:{button:"Report Message",title:"Report :username's message?"},scores:{button:"Report Score",title:"Report :username's score?"},team:{button:"Report Team",title:"Report :username's team?"},user:{button:"Report",title:"Report :username?"}},"en.score_tokens":{create:{beatmap_hash_invalid:"invalid or missing beatmap_hash",submission_disabled:"score submission is disabled"}},"en.scores":{show:{beatmap:{by:"by :artist"},non_preserved:"This score is marked for deletion and will disappear soon.",player:{by:"Played by",played_on:"Played on",rank:{country:"Country Rank",global:"Global Rank"},submitted_on:"Submitted on",watched:"Watched",watched_count:":count_delimited time|:count_delimited times"},title:":username on :title [:version]"},status:{no_pp:"pp is not awarded for this score",no_rank:"This score has no rank as it is unranked or marked for deletion",non_best:"Only personal best scores award pp",processing:"This score is still being calculated and will be displayed soon"}},"en.sessions":{create:{download:"Click here to download the game and create an account",label:"First, let's sign into your account!",title:"Account Sign-in"}},"en.sort":{_:"Sort by",all:"All",artist_tracks:{album:"Album",artist:"Artist",bpm:"BPM",genre:"Genre",length:"Length",relevance:"Relevance",title:"Title",update:"Update"},forum_posts:{created:"Post time",relevance:"Relevance"},forum_topics:{created:"Created",feature_votes:"Star priority",new:"Last reply"},friends:"Friends",last_visit:"Recently active",new:"Recent",old:"Old",rank:"Rank",teams:{created:"Created",name:"Name",relevance:"Relevance","short-name":"Short Name"},top:"Top",username:"Username",users:{relevance:"Relevance",username:"Name"}},"en.store":{cart:{checkout:"Checkout",empty:{return_link:{_:"Return to the :link to find some goodies!",link_text:"store listing"},text:"Your cart is empty."},empty_cart:"Remove all items from cart",errors_no_checkout:{line_1:"Uh oh, there are problems with your cart preventing a checkout!",line_2:"Remove or update items above to continue."},info:":count_delimited item in cart ($:subtotal)|:count_delimited items in cart ($:subtotal)",more_goodies:"I want to check out more goodies before completing the order",shipping_fees:"shipping fees",title:"Shopping Cart",total:"total"},checkout:{cart_problems:"Uh oh, there are problems with your cart!",cart_problems_edit:"Click here to go edit it.",declined:"The payment was cancelled.",delayed_shipping:"We are currently overwhelmed with orders! You are welcome to place your order, but please expect an **additional 1-2 week delay** while we catch up with existing orders.",has_pending:{_:"You have incomplete checkouts, click :link to view them.",link_text:"here"},hide_from_activity:"Hide all osu!supporter tags in this order from my activity",old_cart:"Your cart appears to be out of date and has been reloaded, please try again.",pay:"Checkout with Paypal",pending_checkout:{line_1:"A previous checkout was started but did not finish.",line_2:"Resume your checkout by selecting a payment method."},title_compact:"checkout"},discount:"save :percent%",free:"free!",invoice:{contact:"Contact:",date:"Date:",echeck_delay:"As your payment was an eCheck, please allow up to 10 extra days for the payment to clear through PayPal!",echeck_denied:"The eCheck payment was rejected by PayPal.",hide_from_activity:"osu!supporter tags in this order are not displayed in your recent activities.",sent_via:"Sent Via:",shipping_to:"Shipping To:",status:{cancelled:{line_1:{_:"If you didn't request a cancellation please contact :link quoting your order number (#:order_number).",link_text:"osu!store support"},title:"Your order has been cancelled"},delivered:{line_1:{_:"If you have any issues with your purchase, please contact the :link.",link_text:"osu!store support"},title:"Your order has been delivered! We hope you are enjoying it!"},prepared:{line_1:"Please wait a bit longer for it to be shipped. Tracking information will appear here once the order has been processed and sent. This can take up to 5 days (but usually less!) depending on how busy we are.",line_2:"We send all orders from Japan using a variety of shipping services depending on the weight and value. This area will update with specifics once we have shipped the order.",title:"Your order is being prepared!"},processing:{line_1:"If you have already paid, we may still be waiting to receive confirmation of your payment. Please refresh this page in a minute or two!",line_2:{_:"If you encountered a problem during checkout, :link",link_text:"click here to resume your checkout"},title:"Your payment has not yet been confirmed!"},shipped:{no_tracking_details:{_:"We don't have tracking details as we sent your package via Air Mail, but you can expect to receive it within 1-3 weeks. For Europe, sometimes customs can delay the order out of our control. If you have any concerns, please reply to the order confirmation email you received (or :link).",link_text:"send us an email"},title:"Your order has been shipped!",tracking_details:"Tracking details follow:"}},title:"Invoice",title_compact:"invoice"},order:{cancel:"Cancel Order",cancel_confirm:"This order will be cancelled and payment will not be accepted for it. The payment provider might not release any reserved funds immediately. Are you sure?",cancel_not_allowed:"This order cannot be cancelled at this time.",details:{order_number:"Order #",payment_terms:"Payment Terms",salesperson:"Salesperson",shipping_method:"Shipping Method",shipping_terms:"Shipping Terms",title:"Order Details"},invoice:"View Invoice",item:{display_name:{supporter_tag:":name for :username (:duration)"},quantity:"quantity",subtext:{supporter_tag:"Message: :message"}},no_orders:"No orders to view.",not_modifiable_exception:{cancelled:"You cannot modify your order as it has been cancelled.",checkout:"You cannot modify your order while it is being processed.",default:"Order is not modifiable",delivered:"You cannot modify your order as it has already been delivered.",paid:"You cannot modify your order as it has already been paid for.",processing:"You cannot modify your order while it is being processed.",shipped:"You cannot modify your order as it has already been shipped."},paid_on:"Order placed :date",resume:"Resume Checkout",shipping_and_handling:"Shipping & Handling",shopify_expired:"The checkout link for this order has expired.",status:{cancelled:"Cancelled",checkout:"Preparing",delivered:"Delivered",paid:"Paid",processing:"Pending confirmation",shipped:"Shipped",title:"Order Status"},subtotal:"Subtotal",thanks:{line_1:{_:"You will receive a confirmation email soon. If you have any enquiries, please :link!",link_text:"contact us"},title:"Thanks for your order!"},total:"Total"},product:{add_to_cart:"Add to Cart",name:"Name",notification_in_stock:"This product is already in stock!",notification_remove_text:"here",notification_success:"you will be notified when we have new stock. click :link to cancel",notify:"Notify me when available!",out_of_stock:"Out of stock",stock:{out:"This item is currently out of stock. Check back later!",out_with_alternative:"Unfortunately this item is out of stock. Use the dropdown to choose a different type or check back later!"}},supporter_tag:{gift:"gift to player",gift_message:"add an optional message to your gift! (up to :length characters)",require_login:{_:"You need to be :link to get an osu!supporter tag!",link_text:"signed in"}},username_change:{check:"Enter a username to check availability!",checking:"Checking availability of :username...",current:'Your current username is ":username".',label:"New Username",placeholder:"Requested Username",require_login:{_:"You need to be :link to change your name!",link_text:"signed in"}},xsolla:{distributor:"Xsolla is an authorised
global distributor of osu!"}},"en.supporter_tag":{months:"months",user_search:{not_found:"This user doesn't exist",searching:"searching..."}},"en.teams":{applications:{accept:{ok:"Added user to team."},destroy:{ok:"Cancelled join request."},reject:{ok:"Rejected join request."},store:{ok:"Requested to join team."}},card:{members:":count_delimited member|:count_delimited members"},create:{form:{name_help:"Your team name. The name is permanent at the moment.",short_name_help:"Maximum 4 characters.",title:"Let's set up a new team"},intro:{description:"Play together with friends; existing or new. You're not currently in a team. Join an :search_link by visiting their team page or create your own team from this page.",search_link:"existing team",title:"Team!"},submit:"Create Team"},destroy:{ok:"Team removed."},edit:{description:{label:"Description",title:"Team Description"},flag:{label:"Team Flag",title:"Set Team Flag"},header:{label:"Header Image",title:"Set Header Image"},ok:"Settings saved successfully.",settings:{application_help:"Whether to allow people to apply for the team",application_state:{state_0:"Closed",state_1:"Open"},default_ruleset_help:"The ruleset to be selected by default when visiting the team page",flag_help:"Maximum size of :width×:height",header_help:"Maximum size of :width×:height",title:"Team Settings"},title:"Team Settings"},header_links:{edit:"settings",leaderboard:"leaderboard",members:{index:"manage members"},show:"info"},leaderboard:{global_rank:"Global Rank"},members:{destroy:{success:"Team member removed"},index:{applications:{accept_confirm:"Add user :user to team?",created_at:"Requested At",empty:"No join requests at the moment.",empty_slots:"Available slots",empty_slots_overflow:":count_delimited user overflow|:count_delimited users overflow",reject_confirm:"Deny join request from user :user?",title:"Join Requests"},status:{status_0:"Inactive",status_1:"Active"},table:{joined_at:"Join Date",remove:"Remove",remove_confirm:"Remove user :user from team?",set_leader:"Transfer team leadership",set_leader_confirm:"Transfer team leadership to user :user?",status:"Status",title:"Current Members"},title:"Manage Members"},set_leader:{success:"User :user is now the team leader."}},part:{ok:"Left the team ;_;"},show:{bar:{chat:"Team Chat",destroy:"Disband Team",join:"Request Join",join_cancel:"Cancel Join",part:"Leave Team"},info:{created:"Formed"},members:{members:"Team Members",owner:"Team Leader"},sections:{about:"About Us!",info:"Info",members:"Members"},statistics:{empty_slots:":count_delimited slot available|:count_delimited slots available",first_places:"First places",leader:"Team Leader",rank:"Rank",ranked_beatmapsets:"Ranked beatmaps"}},store:{ok:"Team created."}},"en.tournament":{index:{header:{title:"Community Tournaments"},item:{registered:"registered players"},none_running:"There are no tournaments running at the moment, please check back later!",registration_period:"Registration: :start to :end",state:{current:"Active Tournaments",previous:"Past Tournaments"}},show:{banner:"Support Your Team",button:{cancel:"Cancel Registration",register:"Sign me up!"},entered:"You are registered for this tournament.

Please note that this does not mean you have been assigned to a team.

Further instructions will be sent to you via email closer to the tournament date, so please ensure your osu! account's email address is valid!",info_page:"Information Page",login_to_register:"Please :login to view registration details!",not_yet_entered:"You are not registered for this tournament.",period:{end:"End",start:"Start"},rank_too_low:"Sorry, you do not meet the rank requirements for this tournament!",registration_ends:"Registrations close on :date",state:{before_registration:"Registration for this tournament has not yet opened.",ended:"This tournament has concluded. Check the information page for results.",registration_closed:"Registration for this tournament has closed. Check the information page for latest updates.",running:"This tournament is currently in progress. Check the information page for more details."}},tournament_period:":start to :end"},"en.user_cover_presets":{index:{batch_confirm:{_:":action :items?",disable:"Disable",enable:"Enable",items:":count_delimited cover|:count_delimited covers"},batch_disable:"Disable Selected",batch_enable:"Enable Selected",create_form:{files:"Files",submit:"Save",title:"Add New"},item:{click_to_disable:"Click to disable",click_to_enable:"Click to enable",disabled:"Disabled",enabled:"Enabled",image_store:"Set Image",image_update:"Replace Image"}},store:{failed:"Error occurred when creating cover: :error",ok:"Covers created"}},"en.user_totp":{create:{finish:"Finish",key:"Scan the QR code with the authenticator app and enter the verification key",key_copy:"Or click this link to copy the key for the authenticator app",key_link:"Use this link if you're using mobile phone",password:"To set up authenticator app verification, please enter your current password",start:"Continue"},destroy:{missing:"You don't have authenticator app verification set up.",ok:"Authenticator app verification removed."},edit:{password:"Please enter your current password to remove authenticator app verification.",start:"Remove"},store:{existing:"You already have authenticator app verification set up.",ok:"Authenticator app verification has been set up",restart:"Error occurred. Please restart the process."}},"en.user_verification":{box:{info:{check_spam:"Make sure to check your spam folder if you can't find the email.",logout_link:"sign out",recover:"If you can't access your email or have forgotten what you used, please follow the :link.",recover_link:"email recovery process here",reissue:"You can also :reissue_link or :logout_link.",reissue_link:"request another code"},issuing:"Issuing new code...",sent:"An email has been sent to :mail with a verification code. Enter the code.",title:"Account Verification",verifying:"Verifying..."},box_totp:{heading:"Please enter the code from your authenticator app.",info:{logout:{_:"You can also :link.",link:"sign out"},mail_fallback:{_:"If you can't access your app, :link.",link:"you can verify using email instead"}}},errors:{expired:"Verification code expired, new verification email sent.",incorrect_key:"Incorrect verification code.",reissued:"Verification code reissued, new verification email sent.",retries_exceeded:"Incorrect verification code. Retry limit exceeded, new verification email sent.",totp_gone:"Authentication token has been removed, switching to email verification. Verification email has been sent.",totp_used_key:"Verification code has already been used. Please wait and use a new one.",unknown:"Unknown problem occurred, new verification email sent."}},"en.users":{anonymous:{error:"You need to be signed in to do this.",login_link:"click to sign in",login_text:"sign in",username:"Guest"},beatmapset_activities:{discussions:{title_recent:"Recently started discussions"},events:{title_recent:"Recent events"},posts:{title_recent:"Recent posts"},title:":user's Modding History",title_compact:"Modding",votes_made:{title_most:"Most upvoted (last 3 months)"},votes_received:{title_most:"Most upvoted by (last 3 months)"}},blocks:{banner_text:"You have blocked this user.",blocked_count:"blocked users (:count)",button:{block:"Block",unblock:"Unblock"},comment_text:"This comment is hidden.",forum_post_text:"This post is hidden.",hide_comment:"hide",hide_profile:"Hide profile",not_blocked:"That user is not blocked.",show_comment:"show",show_profile:"Show profile",too_many:"Block limit reached."},card:{gift_supporter:"Gift supporter tag",loading:"Loading...",send_message:"Send message"},create:{form:{password:"password",password_confirmation:"password confirmation",submit:"create account",tos_notice:{_:"by creating account you agree to the :link",link:"terms of service"},user_email:"email",user_email_confirmation:"email confirmation",username:"username"}},deleted:"[deleted user]",disabled:{if_mistake:{_:'If you feel this is a mistake, you are welcome to contact us (via :email or by clicking the "?" in the bottom-right-hand corner of this page). Please note that we are always fully confident with our actions, as they are based on very solid data. We reserve the right to disregard your request should we feel you are being intentionally dishonest.',email:"email"},reasons:{compromised:"Your account has deemed to be compromised. It may be disabled temporarily while its identity is confirmed.",opening:"There are a number of reasons that can result in your account being disabled:",tos:{_:"You have broken one or more of our :community_rules or :tos.",community_rules:"community rules",tos:"terms of service"}},title:"Uh-oh! It looks like your account has been disabled.",warning:"In the case you have broken a rule, please note that there is generally a cool-down period of one month during which we will not consider any amnesty requests. After this period, you are free to contact us should you deem it necessary. Please note that creating new accounts after you have had one disabled will result in an extension of this one month cool-down. Please also note that for every account you create, you are further breaking rules. We highly suggest you don't go down this path!"},filtering:{by_game_mode:"Members by game mode"},force_reactivation:{reason:{inactive:"Your account hasn't been used in a long time.",inactive_different_country:"Your account hasn't been used in a long time."}},login:{_:"Sign in",beta:{main:"Beta access is currently restricted to privileged users.",small:"(osu!supporters will get in soon)"},button:"Sign in",button_posting:"Signing in...",email_login_disabled:"Signing in with email is currently disabled. Please use username instead.",failed:"Incorrect sign in",forgot:"Forgotten your password?",info:"Please sign in to continue",invalid_captcha:"Too many failed login attempts, please complete the captcha and try again. (Refresh page if captcha is not visible)",locked_ip:"Your IP address is locked. Please wait a few minutes.",password:"Password",register:"Don't have an osu! account? Make a new one",remember:"Remember this computer",title:"Please sign in to proceed",username:"Username"},logout_confirm:"Are you sure you want to sign out? :(",multiplayer:{index:{active:"Active",ended:"Ended"}},ogp:{description:{_:"Rank (:ruleset): :global | :country",country:"Country :rank",global:"Global :rank"},modding_description:"Beatmaps: :counts",modding_description_empty:"User doesn't have any beatmaps..."},posts:{title:":username's posts"},report:{actions:{cancel:"Cancel",send:"Send Report"},button_text:"Report",comments:"Comments",dmca:{message_1:{_:"Please report copyright infringement through a DMCA claim to :mail as per :policy.",policy:"the osu! copyright policy"},message_2:"This applies to cases where audio tracks, visual content or beatmap level content is used without correct permission."},options:{cheating:"Cheating",copyright_infringement:"Copyright infringement",inappropriate_chat:"Inappropriate chat behaviour",insults:"Insulting me / others",multiple_accounts:"Using multiple accounts",nonsense:"Nonsense",other:"Other (type below)",spam:"Spamming",unwanted_content:"Inappropriate content"},placeholder:"Please provide any information you believe could be useful.",reason:"Reason",thanks:"Thanks for your report!",title:"Report :username?"},restricted_banner:{message:"While restricted, you will be unable to interact with other players and your scores will only be visible to you. This is usually the result of an automated process and will usually be lifted within 24 hours. :link",message_link:"Check this page to learn more.",title:"Your account has been restricted!"},show:{age:":age years old",change_avatar:"change your avatar!",comments_count:{_:"Posted :link",count:":count_delimited comment|:count_delimited comments"},cover:{to_0:"Hide cover",to_1:"Show cover"},daily_challenge:{daily:"Daily Streak",daily_streak_best:"Best Daily Streak",daily_streak_current:"Current Daily Streak",playcount:"Total Participation",title:"Daily\\nChallenge",top_10p_placements:"Top 10% Placements",top_50p_placements:"Top 50% Placements",unit:{day:":valued",week:":valuew"},weekly:"Weekly Streak",weekly_streak_best:"Best Weekly Streak",weekly_streak_current:"Current Weekly Streak"},edit:{cover:{button:"Change Profile Cover",defaults_info:"More cover options will be available in the future",holdover_remove_confirm:"The previously selected cover is not available for selection anymore. You can't select it back after switching to a different cover. Proceed?",title:"Cover",upload:{broken_file:"Failed processing image. Verify uploaded image and try again.",button:"Upload image",dropzone:"Drop here to upload",dropzone_info:"You can also drop your image here to upload",restriction_info:{_:"Upload available for :link only",link:"osu!supporters"},size_info:"Cover size should be 2000x500",too_large:"Uploaded file is too large.",unsupported_format:"Unsupported format."}},default_playmode:{is_default_tooltip:"default game mode",set:"set :mode as profile default game mode"},hue:{reset_no_supporter:"Reset colour to default? Supporter tag will be required to change it to a different colour.",supporter:{_:"Custom colour themes available for :link only",link:"osu!supporters"},title:"Colour"}},extra:{account_standing:{bad_standing:":username's account is not in a good standing :(",recent_infringements:{action:"action",actions:{note:"Note",restriction:"Ban",silence:"Silence",tournament_ban:"Tournament ban"},actor:"by :username",date:"date",description:"description",length:"length",length_indefinite:"Indefinite",title:"Recent Infringements"},remaining_silence:":username will be able to speak again :duration.",title:"Account Standing"},achievements:{"achieved-on":"Achieved on :date",locked:"Locked",title:"Achievements"},beatmaps:{by_artist:"by :artist",favourite:{title:"Favourite Beatmaps"},graveyard:{title:"Graveyarded Beatmaps"},guest:{title:"Guest Participation Beatmaps"},loved:{title:"Loved Beatmaps"},nominated:{title:"Nominated Ranked Beatmaps"},pending:{title:"Pending Beatmaps"},ranked:{title:"Ranked Beatmaps"},title:"Beatmaps"},discussions:{show_more:"see more discussions",title:"Discussions",title_longer:"Recent Discussions"},events:{show_more:"see more events",title:"Events",title_longer:"Recent Events"},historical:{monthly_playcounts:{count_label:"Plays",title:"Play History"},most_played:{count:"times played",title:"Most Played Beatmaps"},recent_plays:{accuracy:"accuracy: :percentage",title:"Recent Plays (24h)"},replays_watched_counts:{count_label:"Replays Watched",title:"Replays Watched History"},score_replay_stats:{title:"Most Watched Replays"},title:"Historical"},kudosu:{entry:{amount:":amount kudosu",beatmap_discussion:{allow_kudosu:{give:"Received :amount from kudosu deny repeal of modding post :post"},delete:{reset:"Lost :amount from modding post deletion of :post"},deny_kudosu:{reset:"Denied :amount from modding post :post"},recalculate:{give:"Received :amount from votes recalculation in modding post of :post",reset:"Lost :amount from votes recalculation in modding post of :post"},restore:{give:"Received :amount from modding post restoration of :post"},vote:{give:"Received :amount from obtaining votes in modding post of :post",reset:"Lost :amount from losing votes in modding post of :post"}},empty:"This user hasn't received any kudosu!",forum_post:{give:"Received :amount from :giver for a post at :post",reset:"Kudosu reset by :giver for the post :post",revoke:"Denied kudosu by :giver for the post :post"}},recent_entries:"Recent Kudosu History",title:"Kudosu!",total:"Total Kudosu Earned",total_info:{_:"Based on how much of a contribution the user has made to beatmap moderation. See :link for more information.",link:"this page"}},me:{title:"me!"},medals:{empty:"This user hasn't gotten any yet. ;_;",recent:"Latest",title:"Medals"},none:"none",playlists:{title:"Playlist Games"},posts:{show_more:"see more posts",title:"Posts",title_longer:"Recent Posts"},"ranked-play":{title:"Ranked Play Matches"},realtime:{title:"Multiplayer Games"},recent_activity:{title:"Recent"},top_ranks:{best:{title:"Best Performance"},download_replay:"Download Replay",first:{title:"First Place Ranks"},not_ranked:"Only ranked beatmaps award pp",pin:{to_0:"Unpin",to_0_done:"Unpinned score",to_1:"Pin",to_1_done:"Pinned score"},pinned:{title:"Pinned Scores"},pp_weight:"weighted :percentage",title:"Ranks",view_details:"View Details"},unranked:"No recent plays",votes:{given:"Votes Given (last 3 months)",received:"Votes Received (last 3 months)",title:"Votes",title_longer:"Recent Votes",vote_count:":count_delimited vote|:count_delimited votes"}},first_members:"Here since the beginning",info:{discord:"Discord",interests:"Interests",location:"Current Location",occupation:"Occupation",twitter:"Twitter",website:"Website"},is_developer:"osu!developer",is_supporter:"osu!supporter",joined_at:"Joined :date",lastvisit:"Last seen :date",lastvisit_online:"Currently online",matchmaking:{title:"Ranked Play"},missingtext:"You might have made a typo! (or the user may have been banned)",not_found:{reason_1:"They may have changed their username.",reason_2:"The account may be temporarily unavailable due to security or abuse issues.",reason_3:"You may have made a typo!",reason_header:"There are a few possible reasons for this:",title:"User not found! ;_;"},origin_country:"From :country",page:{button:"edit profile page",description:"me! is a personal customisable area in your profile page.",edit_big:"Edit me!",placeholder:"Type page content here",restriction_info:{_:"You need to be an :link to unlock this feature.",link:"osu!supporter"}},plays_with:"Plays with :devices",post_count:{_:"Contributed :link",count:":count_delimited forum post|:count_delimited forum posts"},previous_usernames:"formerly known as",rank:{country:"Country rank for :mode",country_simple:"Country Ranking",global:"Global rank for :mode",global_simple:"Global Ranking",highest:"Highest rank: :rank on :date"},season_stats:{division_top_percentage:"Top :value",total_score:"Total score"},stats:{graveyard_beatmapset_count:"Graveyarded Beatmaps",hit_accuracy:"Hit Accuracy",hits_per_play:"Hits Per Play",level:"Level :level",level_progress:"progress to next level",loved_beatmapset_count:"Loved Beatmaps",maximum_combo:"Maximum Combo",medals:"Medals",pending_beatmapset_count:"Pending Beatmaps",play_count:"Play Count",play_time:"Total Play Time",ranked_beatmapset_count:"Ranked Beatmaps",ranked_score:"Ranked Score",replays_watched_by_others:"Replays Watched by Others",score_ranks:"Score Ranks",total_hits:"Total Hits",total_score:"Total Score"}},silenced_banner:{message:"Some actions may be unavailable.",title:"You are currently silenced."},status:{all:"All",offline:"Offline",online:"Online"},store:{from_client:"please register via the game client instead!",from_web:"please complete registration using the osu! website",saved:"User created"},verify:{title:"Account Verification"},view_mode:{brick:"Brick view",card:"Card view",list:"List view"}},"en.wiki":{show:{edit:{link:"Show on GitHub",refresh:"Refresh"},fallback_translation:"Requested page is not yet translated to the selected language (:language). Showing English version.",incomplete_or_outdated:"The content on this page is incomplete or outdated. If you are able to help out, please consider updating the article!",missing:'Requested page ":keyword" could not be found.',missing_title:"Not Found",missing_translation:"Requested page could not be found for currently selected language.",needs_cleanup_or_rewrite:"This page does not meet the standards of the osu! wiki and needs to be cleaned up or rewritten. If you are able to help out, please consider updating the article!",search:"Search existing pages for :link.",stub:"This article is incomplete and waiting on someone to expand it.",toc:"Contents",translation:{default:"English version",legal:"This translation is provided for convenience only. The original :default shall be the sole legally binding version of this text.",outdated:"This page contains an outdated translation of the original content. Please check the :default for the most accurate information (and consider updating the translation if you are able to help out)!"}}}})}(); \ No newline at end of file diff --git "a/teto/(42) teto bread \302\267 chat _ osu!_files/profile_LWMq.svg" "b/teto/(42) teto bread \302\267 chat _ osu!_files/profile_LWMq.svg" new file mode 100644 index 0000000..5ddc9fb --- /dev/null +++ "b/teto/(42) teto bread \302\267 chat _ osu!_files/profile_LWMq.svg" @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git "a/teto/(42) teto bread \302\267 chat _ osu!_files/runtime.18c87bdd_LWMq.js" "b/teto/(42) teto bread \302\267 chat _ osu!_files/runtime.18c87bdd_LWMq.js" new file mode 100644 index 0000000..490f7a1 --- /dev/null +++ "b/teto/(42) teto bread \302\267 chat _ osu!_files/runtime.18c87bdd_LWMq.js" @@ -0,0 +1,2 @@ +(()=>{"use strict";var e,r={},t={};function o(e){var n=t[e];if(void 0!==n)return n.exports;var i=t[e]={id:e,loaded:!1,exports:{}};return r[e].call(i.exports,i,i.exports,o),i.loaded=!0,i.exports}o.m=r,e=[],o.O=(r,t,n,i)=>{if(!t){var l=1/0;for(f=0;f=i)&&Object.keys(o.O).every(e=>o.O[e](t[u]))?t.splice(u--,1):(a=!1,i0&&e[f-1][2]>i;f--)e[f]=e[f-1];e[f]=[t,n,i]},o.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return o.d(r,{a:r}),r},o.d=(e,r)=>{for(var t in r)o.o(r,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),o.p="/assets/",(()=>{var e={121:0};o.O.j=r=>0===e[r];var r=(r,t)=>{var n,i,[l,a,u]=t,d=0;if(l.some(r=>0!==e[r])){for(n in a)o.o(a,n)&&(o.m[n]=a[n]);if(u)var f=u(o)}for(r&&r(t);drequestAnimationFrame(()=>e()))}function h(){return new Promise(e=>setTimeout(()=>e(),0))}function d(e=""){return(new DOMParser).parseFromString(e,"text/html")}function p(e,...t){const n=function(e,t){return e.reduce((e,n,r)=>e+n+(null==t[r]?"":t[r]),"")}(e,t).replace(/^\n/,"").split("\n"),r=n[0].match(/^\s+/),i=r?r[0].length:0;return n.map(e=>e.slice(i)).join("\n")}function m(){return Array.from({length:36}).map((e,t)=>8==t||13==t||18==t||23==t?"-":14==t?"4":19==t?(Math.floor(4*Math.random())+8).toString(16):Math.floor(16*Math.random()).toString(16)).join("")}function g(e,...t){for(const n of t.map(t=>t?.getAttribute(e)))if("string"==typeof n)return n;return null}function v(...e){for(const t of e)"turbo-frame"==t.localName&&t.setAttribute("busy",""),t.setAttribute("aria-busy","true")}function y(...e){for(const t of e)"turbo-frame"==t.localName&&t.removeAttribute("busy"),t.removeAttribute("aria-busy")}function b(e,t=2e3){return new Promise(n=>{const r=()=>{e.removeEventListener("error",r),e.removeEventListener("load",r),n()};e.addEventListener("load",r,{once:!0}),e.addEventListener("error",r,{once:!0}),setTimeout(n,t)})}function w(e){switch(e){case"replace":return history.replaceState;case"advance":case"restore":return history.pushState}}function _(...e){const t=g("data-turbo-action",...e);return function(e){return"advance"==e||"replace"==e||"restore"==e}(t)?t:null}function x(e){return document.querySelector(`meta[name="${e}"]`)}function C(e){const t=x(e);return t&&t.content}function E(){const e=x("csp-nonce");if(e){const{nonce:t,content:n}=e;return""==t?n:t}}function D(e,t){if(e instanceof Element)return e.closest(t)||D(e.assignedSlot||e.getRootNode()?.host,t)}function k(e){return!!e&&null==e.closest("[inert], :disabled, [hidden], details:not([open]), dialog:not([open])")&&"function"==typeof e.focus}function S(e){return Array.from(e.querySelectorAll("[autofocus]")).find(k)}function A(e){if("_blank"===e)return!1;if(e){for(const t of document.getElementsByName(e))if(t instanceof HTMLIFrameElement)return!1;return!0}return!0}function T(e){const t=D(e,"a[href], a[xlink\\:href]");if(!t)return null;if(t.href.startsWith("#"))return null;if(t.hasAttribute("download"))return null;const n=t.getAttribute("target");return n&&"_self"!==n?null:t}const O={"aria-disabled":{beforeSubmit:e=>{e.setAttribute("aria-disabled","true"),e.addEventListener("click",l)},afterSubmit:e=>{e.removeAttribute("aria-disabled"),e.removeEventListener("click",l)}},disabled:{beforeSubmit:e=>e.disabled=!0,afterSubmit:e=>e.disabled=!1}};const M=new class{#e=null;constructor(e){Object.assign(this,e)}get submitter(){return this.#e}set submitter(e){this.#e=O[e]||e}}({mode:"on",submitter:"disabled"}),F={drive:a,forms:M};function P(e){return new URL(e.toString(),document.baseURI)}function B(e){let t;return e.hash?e.hash.slice(1):(t=e.href.match(/#(.*)$/))?t[1]:void 0}function N(e,t){return P(t?.getAttribute("formaction")||e.getAttribute("action")||e.action)}function R(e){return(function(e){return function(e){return e.pathname.split("/").slice(1)}(e).slice(-1)[0]}(e).match(/\.[^.]*$/)||[])[0]||""}function I(e,t){return function(e,t){const n=H(t.origin+t.pathname);return H(e.href)===n||e.href.startsWith(n)}(e,t)&&!F.drive.unvisitableExtensions.has(R(e))}function L(e){return P(e.getAttribute("href")||"")}function j(e){return function(e){const t=B(e);return null!=t?e.href.slice(0,-(t.length+1)):e.href}(e)}function z(e,t){return P(e).href==P(t).href}function H(e){return e.endsWith("/")?e:e+"/"}class q{constructor(e){this.response=e}get succeeded(){return this.response.ok}get failed(){return!this.succeeded}get clientError(){return this.statusCode>=400&&this.statusCode<=499}get serverError(){return this.statusCode>=500&&this.statusCode<=599}get redirected(){return this.response.redirected}get location(){return P(this.response.url)}get isHTML(){return this.contentType&&this.contentType.match(/^(?:text\/([^\s;,]+\b)?html|application\/xhtml\+xml)\b/)}get statusCode(){return this.response.status}get contentType(){return this.header("Content-Type")}get responseText(){return this.response.clone().text()}get responseHTML(){return this.isHTML?this.response.clone().text():Promise.resolve(void 0)}header(e){return this.response.headers.get(e)}}class U extends Set{constructor(e){super(),this.maxSize=e}add(e){if(this.size>=this.maxSize){const e=this.values().next().value;this.delete(e)}super.add(e)}}const W=new U(20);function $(e,t={}){const n=new Headers(t.headers||{}),r=m();return W.add(r),n.append("X-Turbo-Request-Id",r),window.fetch(e,{...t,headers:n})}function V(e){switch(e.toLowerCase()){case"get":return Y.get;case"post":return Y.post;case"put":return Y.put;case"patch":return Y.patch;case"delete":return Y.delete}}const Y={get:"get",post:"post",put:"put",patch:"patch",delete:"delete"};const K={urlEncoded:"application/x-www-form-urlencoded",multipart:"multipart/form-data",plain:"text/plain"};class G{abortController=new AbortController;#t=e=>{};constructor(e,t,n,r=new URLSearchParams,i=null,o=K.urlEncoded){const[a,s]=X(P(n),t,r,o);this.delegate=e,this.url=a,this.target=i,this.fetchOptions={credentials:"same-origin",redirect:"follow",method:t.toUpperCase(),headers:{...this.defaultHeaders},body:s,signal:this.abortSignal,referrer:this.delegate.referrer?.href},this.enctype=o}get method(){return this.fetchOptions.method}set method(e){const t=this.isSafe?this.url.searchParams:this.fetchOptions.body||new FormData,n=V(e)||Y.get;this.url.search="";const[r,i]=X(this.url,n,t,this.enctype);this.url=r,this.fetchOptions.body=i,this.fetchOptions.method=n.toUpperCase()}get headers(){return this.fetchOptions.headers}set headers(e){this.fetchOptions.headers=e}get body(){return this.isSafe?this.url.searchParams:this.fetchOptions.body}set body(e){this.fetchOptions.body=e}get location(){return this.url}get params(){return this.url.searchParams}get entries(){return this.body?Array.from(this.body.entries()):[]}cancel(){this.abortController.abort()}async perform(){const{fetchOptions:e}=this;this.delegate.prepareRequest(this);const t=await this.#n(e);try{this.delegate.requestStarted(this),t.detail.fetchRequest?this.response=t.detail.fetchRequest.response:this.response=$(this.url.href,e);const n=await this.response;return await this.receive(n)}catch(n){if("AbortError"!==n.name)throw this.#r(n)&&this.delegate.requestErrored(this,n),n}finally{this.delegate.requestFinished(this)}}async receive(e){const t=new q(e);return u("turbo:before-fetch-response",{cancelable:!0,detail:{fetchResponse:t},target:this.target}).defaultPrevented?this.delegate.requestPreventedHandlingResponse(this,t):t.succeeded?this.delegate.requestSucceededWithResponse(this,t):this.delegate.requestFailedWithResponse(this,t),t}get defaultHeaders(){return{Accept:"text/html, application/xhtml+xml"}}get isSafe(){return Q(this.method)}get abortSignal(){return this.abortController.signal}acceptResponseType(e){this.headers.Accept=[e,this.headers.Accept].join(", ")}async#n(e){const t=new Promise(e=>this.#t=e),n=u("turbo:before-fetch-request",{cancelable:!0,detail:{fetchOptions:e,url:this.url,resume:this.#t},target:this.target});return this.url=n.detail.url,n.defaultPrevented&&await t,n}#r(e){return!u("turbo:fetch-request-error",{target:this.target,cancelable:!0,detail:{request:this,error:e}}).defaultPrevented}}function Q(e){return V(e)==Y.get}function X(e,t,n,r){const i=Array.from(n).length>0?new URLSearchParams(Z(n)):e.searchParams;return Q(t)?[J(e,i),null]:r==K.urlEncoded?[e,i]:[e,n]}function Z(e){const t=[];for(const[n,r]of e)r instanceof File||t.push([n,r]);return t}function J(e,t){const n=new URLSearchParams(Z(t));return e.search=n.toString(),e}class ee{started=!1;constructor(e,t){this.delegate=e,this.element=t,this.intersectionObserver=new IntersectionObserver(this.intersect)}start(){this.started||(this.started=!0,this.intersectionObserver.observe(this.element))}stop(){this.started&&(this.started=!1,this.intersectionObserver.unobserve(this.element))}intersect=e=>{const t=e.slice(-1)[0];t?.isIntersecting&&this.delegate.elementAppearedInViewport(this.element)}}class te{static contentType="text/vnd.turbo-stream.html";static wrap(e){return"string"==typeof e?new this(function(e){const t=document.createElement("template");return t.innerHTML=e,t.content}(e)):e}constructor(e){this.fragment=function(e){for(const t of e.querySelectorAll("turbo-stream")){const e=document.importNode(t,!0);for(const t of e.templateElement.content.querySelectorAll("script"))t.replaceWith(s(t));t.replaceWith(e)}return e}(e)}}const ne=e=>e;class re{keys=[];entries={};#i;constructor(e,t=ne){this.size=e,this.#i=t}has(e){return this.#i(e)in this.entries}get(e){if(this.has(e)){const t=this.read(e);return this.touch(e),t}}put(e,t){return this.write(e,t),this.touch(e),t}clear(){for(const e of Object.keys(this.entries))this.evict(e)}read(e){return this.entries[this.#i(e)]}write(e,t){this.entries[this.#i(e)]=t}touch(e){e=this.#i(e);const t=this.keys.indexOf(e);t>-1&&this.keys.splice(t,1),this.keys.unshift(e),this.trim()}trim(){for(const e of this.keys.splice(this.size))this.evict(e)}evict(e){delete this.entries[e]}}const ie=1e4,oe=new class extends re{#o=null;#a={};constructor(e=1,t=100){super(e,j),this.prefetchDelay=t}putLater(e,t,n){this.#o=setTimeout(()=>{t.perform(),this.put(e,t,n),this.#o=null},this.prefetchDelay)}put(e,t,n=ie){super.put(e,t),this.#a[j(e)]=new Date((new Date).getTime()+n)}clear(){super.clear(),this.#o&&clearTimeout(this.#o)}evict(e){super.evict(e),delete this.#a[e]}has(e){if(super.has(e)){const t=this.#a[j(e)];return t&&t>Date.now()}return!1}},ae={initialized:"initialized",requesting:"requesting",waiting:"waiting",receiving:"receiving",stopping:"stopping",stopped:"stopped"};class se{state=ae.initialized;static confirmMethod(e){return Promise.resolve(confirm(e))}constructor(e,t,n,r=!1){const i=function(e,t){const n=t?.getAttribute("formmethod")||e.getAttribute("method")||"";return V(n.toLowerCase())||Y.get}(t,n),o=function(e,t){const n=P(e);Q(t)&&(n.search="");return n}(function(e,t){const n="string"==typeof e.action?e.action:null;return t?.hasAttribute("formaction")?t.getAttribute("formaction")||"":e.getAttribute("action")||n||""}(t,n),i),a=function(e,t){const n=new FormData(e),r=t?.getAttribute("name"),i=t?.getAttribute("value");r&&n.append(r,i||"");return n}(t,n),s=function(e,t){return function(e){switch(e.toLowerCase()){case K.multipart:return K.multipart;case K.plain:return K.plain;default:return K.urlEncoded}}(t?.getAttribute("formenctype")||e.enctype)}(t,n);this.delegate=e,this.formElement=t,this.submitter=n,this.fetchRequest=new G(this,i,o,a,t,s),this.mustRedirect=r}get method(){return this.fetchRequest.method}set method(e){this.fetchRequest.method=e}get action(){return this.fetchRequest.url.toString()}set action(e){this.fetchRequest.url=P(e)}get body(){return this.fetchRequest.body}get enctype(){return this.fetchRequest.enctype}get isSafe(){return this.fetchRequest.isSafe}get location(){return this.fetchRequest.url}async start(){const{initialized:e,requesting:t}=ae,n=g("data-turbo-confirm",this.submitter,this.formElement);if("string"==typeof n){const e="function"==typeof F.forms.confirm?F.forms.confirm:se.confirmMethod;if(!(await e(n,this.formElement,this.submitter)))return}if(this.state==e)return this.state=t,this.fetchRequest.perform()}stop(){const{stopping:e,stopped:t}=ae;if(this.state!=e&&this.state!=t)return this.state=e,this.fetchRequest.cancel(),!0}prepareRequest(e){if(!e.isSafe){const t=function(e){if(null!=e){const t=(document.cookie?document.cookie.split("; "):[]).find(t=>t.startsWith(e));if(t){const e=t.split("=").slice(1).join("=");return e?decodeURIComponent(e):void 0}}}(C("csrf-param"))||C("csrf-token");t&&(e.headers["X-CSRF-Token"]=t)}this.requestAcceptsTurboStreamResponse(e)&&e.acceptResponseType(te.contentType)}requestStarted(e){this.state=ae.waiting,this.submitter&&F.forms.submitter.beforeSubmit(this.submitter),this.setSubmitsWith(),v(this.formElement),u("turbo:submit-start",{target:this.formElement,detail:{formSubmission:this}}),this.delegate.formSubmissionStarted(this)}requestPreventedHandlingResponse(e,t){oe.clear(),this.result={success:t.succeeded,fetchResponse:t}}requestSucceededWithResponse(e,t){if(t.clientError||t.serverError)this.delegate.formSubmissionFailedWithResponse(this,t);else if(oe.clear(),this.requestMustRedirect(e)&&function(e){return 200==e.statusCode&&!e.redirected}(t)){const e=new Error("Form responses must redirect to another location");this.delegate.formSubmissionErrored(this,e)}else this.state=ae.receiving,this.result={success:!0,fetchResponse:t},this.delegate.formSubmissionSucceededWithResponse(this,t)}requestFailedWithResponse(e,t){this.result={success:!1,fetchResponse:t},this.delegate.formSubmissionFailedWithResponse(this,t)}requestErrored(e,t){this.result={success:!1,error:t},this.delegate.formSubmissionErrored(this,t)}requestFinished(e){this.state=ae.stopped,this.submitter&&F.forms.submitter.afterSubmit(this.submitter),this.resetSubmitterText(),y(this.formElement),u("turbo:submit-end",{target:this.formElement,detail:{formSubmission:this,...this.result}}),this.delegate.formSubmissionFinished(this)}setSubmitsWith(){if(this.submitter&&this.submitsWith)if(this.submitter.matches("button"))this.originalSubmitText=this.submitter.innerHTML,this.submitter.innerHTML=this.submitsWith;else if(this.submitter.matches("input")){const e=this.submitter;this.originalSubmitText=e.value,e.value=this.submitsWith}}resetSubmitterText(){if(this.submitter&&this.originalSubmitText)if(this.submitter.matches("button"))this.submitter.innerHTML=this.originalSubmitText;else if(this.submitter.matches("input")){this.submitter.value=this.originalSubmitText}}requestMustRedirect(e){return!e.isSafe&&this.mustRedirect}requestAcceptsTurboStreamResponse(e){return!e.isSafe||function(e,...t){return t.some(t=>t&&t.hasAttribute(e))}("data-turbo-stream",this.submitter,this.formElement)}get submitsWith(){return this.submitter?.getAttribute("data-turbo-submits-with")}}class ue{constructor(e){this.element=e}get activeElement(){return this.element.ownerDocument.activeElement}get children(){return[...this.element.children]}hasAnchor(e){return null!=this.getElementForAnchor(e)}getElementForAnchor(e){return e?this.element.querySelector(`[id='${e}'], a[name='${e}']`):null}get isConnected(){return this.element.isConnected}get firstAutofocusableElement(){return S(this.element)}get permanentElements(){return ce(this.element)}getPermanentElementById(e){return le(this.element,e)}getPermanentElementMapForSnapshot(e){const t={};for(const n of this.permanentElements){const{id:r}=n,i=e.getPermanentElementById(r);i&&(t[r]=[n,i])}return t}}function le(e,t){return e.querySelector(`#${t}[data-turbo-permanent]`)}function ce(e){return e.querySelectorAll("[id][data-turbo-permanent]")}class fe{started=!1;constructor(e,t){this.delegate=e,this.eventTarget=t}start(){this.started||(this.eventTarget.addEventListener("submit",this.submitCaptured,!0),this.started=!0)}stop(){this.started&&(this.eventTarget.removeEventListener("submit",this.submitCaptured,!0),this.started=!1)}submitCaptured=()=>{this.eventTarget.removeEventListener("submit",this.submitBubbled,!1),this.eventTarget.addEventListener("submit",this.submitBubbled,!1)};submitBubbled=e=>{if(!e.defaultPrevented){const t=e.target instanceof HTMLFormElement?e.target:void 0,n=e.submitter||void 0;t&&function(e,t){const n=t?.getAttribute("formmethod")||e.getAttribute("method");return"dialog"!=n}(t,n)&&function(e,t){const n=t?.getAttribute("formtarget")||e.getAttribute("target");return A(n)}(t,n)&&this.delegate.willSubmitForm(t,n)&&(e.preventDefault(),e.stopImmediatePropagation(),this.delegate.formSubmitted(t,n))}}}class he{#s=e=>{};#u=e=>{};constructor(e,t){this.delegate=e,this.element=t}scrollToAnchor(e){const t=this.snapshot.getElementForAnchor(e);t?(this.focusElement(t),this.scrollToElement(t)):this.scrollToPosition({x:0,y:0})}scrollToAnchorFromLocation(e){this.scrollToAnchor(B(e))}scrollToElement(e){e.scrollIntoView()}focusElement(e){e instanceof HTMLElement&&(e.hasAttribute("tabindex")?e.focus():(e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")))}scrollToPosition({x:e,y:t}){this.scrollRoot.scrollTo(e,t)}scrollToTop(){this.scrollToPosition({x:0,y:0})}get scrollRoot(){return window}async render(e){const{isPreview:t,shouldRender:n,willRender:r,newSnapshot:i}=e,o=r;if(n)try{this.renderPromise=new Promise(e=>this.#s=e),this.renderer=e,await this.prepareToRenderSnapshot(e);const n=new Promise(e=>this.#u=e),r={resume:this.#u,render:this.renderer.renderElement,renderMethod:this.renderer.renderMethod};this.delegate.allowsImmediateRender(i,r)||await n,await this.renderSnapshot(e),this.delegate.viewRenderedSnapshot(i,t,this.renderer.renderMethod),this.delegate.preloadOnLoadLinksForView(this.element),this.finishRenderingSnapshot(e)}finally{delete this.renderer,this.#s(void 0),delete this.renderPromise}else o&&this.invalidate(e.reloadReason)}invalidate(e){this.delegate.viewInvalidated(e)}async prepareToRenderSnapshot(e){this.markAsPreview(e.isPreview),await e.prepareToRender()}markAsPreview(e){e?this.element.setAttribute("data-turbo-preview",""):this.element.removeAttribute("data-turbo-preview")}markVisitDirection(e){this.element.setAttribute("data-turbo-visit-direction",e)}unmarkVisitDirection(){this.element.removeAttribute("data-turbo-visit-direction")}async renderSnapshot(e){await e.render()}finishRenderingSnapshot(e){e.finishRendering()}}class de extends he{missing(){this.element.innerHTML='Content missing'}get snapshot(){return new ue(this.element)}}class pe{constructor(e,t){this.delegate=e,this.element=t}start(){this.element.addEventListener("click",this.clickBubbled),document.addEventListener("turbo:click",this.linkClicked),document.addEventListener("turbo:before-visit",this.willVisit)}stop(){this.element.removeEventListener("click",this.clickBubbled),document.removeEventListener("turbo:click",this.linkClicked),document.removeEventListener("turbo:before-visit",this.willVisit)}clickBubbled=e=>{this.clickEventIsSignificant(e)?this.clickEvent=e:delete this.clickEvent};linkClicked=e=>{this.clickEvent&&this.clickEventIsSignificant(e)&&this.delegate.shouldInterceptLinkClick(e.target,e.detail.url,e.detail.originalEvent)&&(this.clickEvent.preventDefault(),e.preventDefault(),this.delegate.linkClickIntercepted(e.target,e.detail.url,e.detail.originalEvent)),delete this.clickEvent};willVisit=e=>{delete this.clickEvent};clickEventIsSignificant(e){const t=e.composed?e.target?.parentElement:e.target,n=T(t)||t;return n instanceof Element&&n.closest("turbo-frame, html")==this.element}}class me{started=!1;constructor(e,t){this.delegate=e,this.eventTarget=t}start(){this.started||(this.eventTarget.addEventListener("click",this.clickCaptured,!0),this.started=!0)}stop(){this.started&&(this.eventTarget.removeEventListener("click",this.clickCaptured,!0),this.started=!1)}clickCaptured=()=>{this.eventTarget.removeEventListener("click",this.clickBubbled,!1),this.eventTarget.addEventListener("click",this.clickBubbled,!1)};clickBubbled=e=>{if(e instanceof MouseEvent&&this.clickEventIsSignificant(e)){const t=T(e.composedPath&&e.composedPath()[0]||e.target);if(t&&A(t.target)){const n=L(t);this.delegate.willFollowLinkToLocation(t,n,e)&&(e.preventDefault(),this.delegate.followedLinkToLocation(t,n))}}};clickEventIsSignificant(e){return!(e.target&&e.target.isContentEditable||e.defaultPrevented||e.which>1||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)}}class ge{constructor(e,t){this.delegate=e,this.linkInterceptor=new me(this,t)}start(){this.linkInterceptor.start()}stop(){this.linkInterceptor.stop()}canPrefetchRequestToLocation(e,t){return!1}prefetchAndCacheRequestToLocation(e,t){}willFollowLinkToLocation(e,t,n){return this.delegate.willSubmitFormLinkToLocation(e,t,n)&&(e.hasAttribute("data-turbo-method")||e.hasAttribute("data-turbo-stream"))}followedLinkToLocation(e,t){const n=document.createElement("form");for(const[u,l]of t.searchParams)n.append(Object.assign(document.createElement("input"),{type:"hidden",name:u,value:l}));const r=Object.assign(t,{search:""});n.setAttribute("data-turbo","true"),n.setAttribute("action",r.href),n.setAttribute("hidden","");const i=e.getAttribute("data-turbo-method");i&&n.setAttribute("method",i);const o=e.getAttribute("data-turbo-frame");o&&n.setAttribute("data-turbo-frame",o);const a=_(e);a&&n.setAttribute("data-turbo-action",a);const s=e.getAttribute("data-turbo-confirm");s&&n.setAttribute("data-turbo-confirm",s);e.hasAttribute("data-turbo-stream")&&n.setAttribute("data-turbo-stream",""),this.delegate.submittedFormLinkToLocation(e,t,n),document.body.appendChild(n),n.addEventListener("turbo:submit-end",()=>n.remove(),{once:!0}),requestAnimationFrame(()=>n.requestSubmit())}}class ve{static async preservingPermanentElements(e,t,n){const r=new this(e,t);r.enter(),await n(),r.leave()}constructor(e,t){this.delegate=e,this.permanentElementMap=t}enter(){for(const e in this.permanentElementMap){const[t,n]=this.permanentElementMap[e];this.delegate.enteringBardo(t,n),this.replaceNewPermanentElementWithPlaceholder(n)}}leave(){for(const e in this.permanentElementMap){const[t]=this.permanentElementMap[e];this.replaceCurrentPermanentElementWithClone(t),this.replacePlaceholderWithPermanentElement(t),this.delegate.leavingBardo(t)}}replaceNewPermanentElementWithPlaceholder(e){const t=function(e){const t=document.createElement("meta");return t.setAttribute("name","turbo-permanent-placeholder"),t.setAttribute("content",e.id),t}(e);e.replaceWith(t)}replaceCurrentPermanentElementWithClone(e){const t=e.cloneNode(!0);e.replaceWith(t)}replacePlaceholderWithPermanentElement(e){const t=this.getPlaceholderById(e.id);t?.replaceWith(e)}getPlaceholderById(e){return this.placeholders.find(t=>t.content==e)}get placeholders(){return[...document.querySelectorAll("meta[name=turbo-permanent-placeholder][content]")]}}class ye{#l=null;static renderElement(e,t){}constructor(e,t,n,r=!0){this.currentSnapshot=e,this.newSnapshot=t,this.isPreview=n,this.willRender=r,this.renderElement=this.constructor.renderElement,this.promise=new Promise((e,t)=>this.resolvingFunctions={resolve:e,reject:t})}get shouldRender(){return!0}get shouldAutofocus(){return!0}get reloadReason(){}prepareToRender(){}render(){}finishRendering(){this.resolvingFunctions&&(this.resolvingFunctions.resolve(),delete this.resolvingFunctions)}async preservingPermanentElements(e){await ve.preservingPermanentElements(this,this.permanentElementMap,e)}focusFirstAutofocusableElement(){if(this.shouldAutofocus){const e=this.connectedSnapshot.firstAutofocusableElement;e&&e.focus()}}enteringBardo(e){this.#l||e.contains(this.currentSnapshot.activeElement)&&(this.#l=this.currentSnapshot.activeElement)}leavingBardo(e){e.contains(this.#l)&&this.#l instanceof HTMLElement&&(this.#l.focus(),this.#l=null)}get connectedSnapshot(){return this.newSnapshot.isConnected?this.newSnapshot:this.currentSnapshot}get currentElement(){return this.currentSnapshot.element}get newElement(){return this.newSnapshot.element}get permanentElementMap(){return this.currentSnapshot.getPermanentElementMapForSnapshot(this.newSnapshot)}get renderMethod(){return"replace"}}class be extends ye{static renderElement(e,t){const n=document.createRange();n.selectNodeContents(e),n.deleteContents();const r=t,i=r.ownerDocument?.createRange();i&&(i.selectNodeContents(r),e.appendChild(i.extractContents()))}constructor(e,t,n,r,i,o=!0){super(t,n,r,i,o),this.delegate=e}get shouldRender(){return!0}async render(){await c(),this.preservingPermanentElements(()=>{this.loadFrameElement()}),this.scrollFrameIntoView(),await c(),this.focusFirstAutofocusableElement(),await c(),this.activateScriptElements()}loadFrameElement(){this.delegate.willRenderFrame(this.currentElement,this.newElement),this.renderElement(this.currentElement,this.newElement)}scrollFrameIntoView(){if(this.currentElement.autoscroll||this.newElement.autoscroll){const n=this.currentElement.firstElementChild,r=(e=this.currentElement.getAttribute("data-autoscroll-block"),t="end","end"==e||"start"==e||"center"==e||"nearest"==e?e:t),i=function(e,t){return"auto"==e||"smooth"==e?e:t}(this.currentElement.getAttribute("data-autoscroll-behavior"),"auto");if(n)return n.scrollIntoView({block:r,behavior:i}),!0}var e,t;return!1}activateScriptElements(){for(const e of this.newScriptElements){const t=s(e);e.replaceWith(t)}}get newScriptElements(){return this.currentElement.querySelectorAll("script")}}var we=function(){const e=()=>{},t={morphStyle:"outerHTML",callbacks:{beforeNodeAdded:e,afterNodeAdded:e,beforeNodeMorphed:e,afterNodeMorphed:e,beforeNodeRemoved:e,afterNodeRemoved:e,beforeAttributeUpdated:e},head:{style:"merge",shouldPreserve:e=>"true"===e.getAttribute("im-preserve"),shouldReAppend:e=>"true"===e.getAttribute("im-re-append"),shouldRemove:e,afterHeadMorphed:e},restoreFocus:!0};const n=function(){function e(e,t,n,i){if(!1===i.callbacks.beforeNodeAdded(t))return null;if(i.idMap.has(t)){const o=document.createElement(t.tagName);return e.insertBefore(o,n),r(o,t,i),i.callbacks.afterNodeAdded(o),o}{const r=document.importNode(t,!0);return e.insertBefore(r,n),i.callbacks.afterNodeAdded(r),r}}const t=function(){function e(e,t,n){let r=e.idMap.get(t),i=e.idMap.get(n);if(!i||!r)return!1;for(const o of r)if(i.has(o))return!0;return!1}function t(e,t){const n=e,r=t;return n.nodeType===r.nodeType&&n.tagName===r.tagName&&(!n.getAttribute?.("id")||n.getAttribute?.("id")===r.getAttribute?.("id"))}return function(n,r,i,o){let a=null,s=r.nextSibling,u=0,l=i;for(;l&&l!=o;){if(t(l,r)){if(e(n,l,r))return l;null===a&&(n.idMap.has(l)||(a=l))}if(null===a&&s&&t(l,s)&&(u++,s=s.nextSibling,u>=2&&(a=void 0)),n.activeElementAndParents.includes(l))break;l=l.nextSibling}return a||null}}();function n(e,t){if(e.idMap.has(t))a(e.pantry,t,null);else{if(!1===e.callbacks.beforeNodeRemoved(t))return;t.parentNode?.removeChild(t),e.callbacks.afterNodeRemoved(t)}}function i(e,t,r){let i=t;for(;i&&i!==r;){let t=i;i=i.nextSibling,n(e,t)}return i}function o(e,t,n,r){const i=r.target.getAttribute?.("id")===t&&r.target||r.target.querySelector(`[id="${t}"]`)||r.pantry.querySelector(`[id="${t}"]`);return function(e,t){const n=e.getAttribute("id");for(;e=e.parentNode;){let r=t.idMap.get(e);r&&(r.delete(n),r.size||t.idMap.delete(e))}}(i,r),a(e,i,n),i}function a(e,t,n){if(e.moveBefore)try{e.moveBefore(t,n)}catch(r){e.insertBefore(t,n)}else e.insertBefore(t,n)}return function(a,s,u,l=null,c=null){s instanceof HTMLTemplateElement&&u instanceof HTMLTemplateElement&&(s=s.content,u=u.content),l||=s.firstChild;for(const n of u.childNodes){if(l&&l!=c){const e=t(a,n,l,c);if(e){e!==l&&i(a,l,e),r(e,n,a),l=e.nextSibling;continue}}if(n instanceof Element){const e=n.getAttribute("id");if(a.persistentIds.has(e)){const t=o(s,e,l,a);r(t,n,a),l=t.nextSibling;continue}}const u=e(s,n,l,a);u&&(l=u.nextSibling)}for(;l&&l!=c;){const e=l;l=l.nextSibling,n(a,e)}}}(),r=function(){function e(e,n,r,i){const o=n[r];if(o!==e[r]){const a=t(r,e,"update",i);a||(e[r]=n[r]),o?a||e.setAttribute(r,""):t(r,e,"remove",i)||e.removeAttribute(r)}}function t(e,t,n,r){return!("value"!==e||!r.ignoreActiveValue||t!==document.activeElement)||!1===r.callbacks.beforeAttributeUpdated(e,t,n)}function r(e,t){return!!t.ignoreActiveValue&&e===document.activeElement&&e!==document.body}return function(o,a,s){return s.ignoreActive&&o===document.activeElement?null:(!1===s.callbacks.beforeNodeMorphed(o,a)||(o instanceof HTMLHeadElement&&s.head.ignore||(o instanceof HTMLHeadElement&&"morph"!==s.head.style?i(o,a,s):(!function(n,i,o){let a=i.nodeType;if(1===a){const a=n,s=i,u=a.attributes,l=s.attributes;for(const e of l)t(e.name,a,"update",o)||a.getAttribute(e.name)!==e.value&&a.setAttribute(e.name,e.value);for(let e=u.length-1;0<=e;e--){const n=u[e];if(n&&!s.hasAttribute(n.name)){if(t(n.name,a,"remove",o))continue;a.removeAttribute(n.name)}}r(a,o)||function(n,r,i){if(n instanceof HTMLInputElement&&r instanceof HTMLInputElement&&"file"!==r.type){let o=r.value,a=n.value;e(n,r,"checked",i),e(n,r,"disabled",i),r.hasAttribute("value")?a!==o&&(t("value",n,"update",i)||(n.setAttribute("value",o),n.value=o)):t("value",n,"remove",i)||(n.value="",n.removeAttribute("value"))}else if(n instanceof HTMLOptionElement&&r instanceof HTMLOptionElement)e(n,r,"selected",i);else if(n instanceof HTMLTextAreaElement&&r instanceof HTMLTextAreaElement){let e=r.value,o=n.value;if(t("value",n,"update",i))return;e!==o&&(n.value=e),n.firstChild&&n.firstChild.nodeValue!==e&&(n.firstChild.nodeValue=e)}}(a,s,o)}8!==a&&3!==a||n.nodeValue!==i.nodeValue&&(n.nodeValue=i.nodeValue)}(o,a,s),r(o,s)||n(s,o,a))),s.callbacks.afterNodeMorphed(o,a)),o)}}();function i(e,t,n){let r=[],i=[],o=[],a=[],s=new Map;for(const l of t.children)s.set(l.outerHTML,l);for(const l of e.children){let e=s.has(l.outerHTML),t=n.head.shouldReAppend(l),r=n.head.shouldPreserve(l);e||r?t?i.push(l):(s.delete(l.outerHTML),o.push(l)):"append"===n.head.style?t&&(i.push(l),a.push(l)):!1!==n.head.shouldRemove(l)&&i.push(l)}a.push(...s.values());let u=[];for(const l of a){let t=document.createRange().createContextualFragment(l.outerHTML).firstChild;if(!1!==n.callbacks.beforeNodeAdded(t)){if("href"in t&&t.href||"src"in t&&t.src){let e,n=new Promise(function(t){e=t});t.addEventListener("load",function(){e()}),u.push(n)}e.appendChild(t),n.callbacks.afterNodeAdded(t),r.push(t)}}for(const l of i)!1!==n.callbacks.beforeNodeRemoved(l)&&(e.removeChild(l),n.callbacks.afterNodeRemoved(l));return n.head.afterHeadMorphed(e,{added:r,kept:o,removed:i}),u}const o=function(){function e(){const e=document.createElement("div");return e.hidden=!0,document.body.insertAdjacentElement("afterend",e),e}function n(e){let t=[],n=document.activeElement;if("BODY"!==n?.tagName&&e.contains(n))for(;n&&(t.push(n),n!==e);)n=n.parentElement;return t}function r(e){let t=Array.from(e.querySelectorAll("[id]"));return e.getAttribute?.("id")&&t.push(e),t}function i(e,t,n,r){for(const i of r){const r=i.getAttribute("id");if(t.has(r)){let t=i;for(;t;){let i=e.get(t);if(null==i&&(i=new Set,e.set(t,i)),i.add(r),t===n)break;t=t.parentElement}}}}return function(o,a,s){const{persistentIds:u,idMap:l}=function(e,t){const n=r(e),o=r(t),a=function(e,t){let n=new Set,r=new Map;for(const{id:o,tagName:a}of e)r.has(o)?n.add(o):r.set(o,a);let i=new Set;for(const{id:o,tagName:a}of t)i.has(o)?n.add(o):r.get(o)===a&&i.add(o);for(const o of n)i.delete(o);return i}(n,o);let s=new Map;i(s,a,e,n);const u=t.__idiomorphRoot||t;return i(s,a,u,o),{persistentIds:a,idMap:s}}(o,a),c=function(e){let n=Object.assign({},t);return Object.assign(n,e),n.callbacks=Object.assign({},t.callbacks,e.callbacks),n.head=Object.assign({},t.head,e.head),n}(s),f=c.morphStyle||"outerHTML";if(!["innerHTML","outerHTML"].includes(f))throw`Do not understand how to morph style ${f}`;return{target:o,newContent:a,config:c,morphStyle:f,ignoreActive:c.ignoreActive,ignoreActiveValue:c.ignoreActiveValue,restoreFocus:c.restoreFocus,idMap:l,persistentIds:u,pantry:e(),activeElementAndParents:n(o),callbacks:c.callbacks,head:c.head}}}(),{normalizeElement:a,normalizeParent:s}=function(){const e=new WeakSet;class t{constructor(e){this.originalNode=e,this.realParentNode=e.parentNode,this.previousSibling=e.previousSibling,this.nextSibling=e.nextSibling}get childNodes(){const e=[];let t=this.previousSibling?this.previousSibling.nextSibling:this.realParentNode.firstChild;for(;t&&t!=this.nextSibling;)e.push(t),t=t.nextSibling;return e}querySelectorAll(e){return this.childNodes.reduce((t,n)=>{if(n instanceof Element){n.matches(e)&&t.push(n);const r=n.querySelectorAll(e);for(let e=0;e]*>|>)([\s\S]*?)<\/svg>/gim,"");if(r.match(/<\/html>/)||r.match(/<\/head>/)||r.match(/<\/body>/)){let i=n.parseFromString(t,"text/html");if(r.match(/<\/html>/))return e.add(i),i;{let t=i.firstChild;return t&&e.add(t),t}}{let r=n.parseFromString("","text/html").body.querySelector("template").content;return e.add(r),r}}(r));if(e.has(r))return r;if(r instanceof Node){if(r.parentNode)return new t(r);{const e=document.createElement("div");return e.append(r),e}}{const e=document.createElement("div");for(const t of[...r])e.append(t);return e}}}}();return{morph:function(e,t,r={}){e=a(e);const u=s(t),l=o(e,u,r),c=function(e,t){if(!e.config.restoreFocus)return t();let n=document.activeElement;if(!(n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement))return t();const{id:r,selectionStart:i,selectionEnd:o}=n,a=t();r&&r!==document.activeElement?.getAttribute("id")&&(n=e.target.querySelector(`[id="${r}"]`),n?.focus());n&&!n.selectionEnd&&o&&n.setSelectionRange(i,o);return a}(l,()=>function(e,t,n,r){if(e.head.block){const o=t.querySelector("head"),a=n.querySelector("head");if(o&&a){const t=i(o,a,e);return Promise.all(t).then(()=>{const t=Object.assign(e,{head:{block:!1,ignore:!0}});return r(t)})}}return r(e)}(l,e,u,t=>"innerHTML"===t.morphStyle?(n(t,e,u),Array.from(e.childNodes)):function(e,t,r){const i=s(t);return n(e,i,r,t,t.nextSibling),Array.from(i.childNodes)}(t,e,u)));return l.pantry.remove(),c},defaults:t}}();function _e(e,t,{callbacks:n,...r}={}){we.morph(e,t,{...r,callbacks:new De(n)})}function xe(e,t,n={}){_e(e,t.childNodes,{...n,morphStyle:"innerHTML"})}function Ce(e,t){return e instanceof o&&e.shouldReloadWithMorph&&(!t||function(e,t){return t instanceof Element&&"TURBO-FRAME"===t.nodeName&&e.id===t.id&&(!t.getAttribute("src")||z(e.src,t.getAttribute("src")))}(e,t))&&!e.closest("[data-turbo-permanent]")}function Ee(e){return e.parentElement.closest("turbo-frame[src][refresh=morph]")}class De{#c;constructor({beforeNodeMorphed:e}={}){this.#c=e||(()=>!0)}beforeNodeAdded=e=>!(e.id&&e.hasAttribute("data-turbo-permanent")&&document.getElementById(e.id));beforeNodeMorphed=(e,t)=>{if(e instanceof Element){if(!e.hasAttribute("data-turbo-permanent")&&this.#c(e,t)){return!u("turbo:before-morph-element",{cancelable:!0,target:e,detail:{currentElement:e,newElement:t}}).defaultPrevented}return!1}};beforeAttributeUpdated=(e,t,n)=>!u("turbo:before-morph-attribute",{cancelable:!0,target:t,detail:{attributeName:e,mutationType:n}}).defaultPrevented;beforeNodeRemoved=e=>this.beforeNodeMorphed(e);afterNodeMorphed=(e,t)=>{e instanceof Element&&u("turbo:morph-element",{target:e,detail:{currentElement:e,newElement:t}})}}class ke extends be{static renderElement(e,t){u("turbo:before-frame-morph",{target:e,detail:{currentElement:e,newElement:t}}),xe(e,t,{callbacks:{beforeNodeMorphed:(t,n)=>!Ce(t,n)||Ee(t)!==e||(t.reload(),!1)}})}async preservingPermanentElements(e){return await e()}}class Se{static animationDuration=300;static get defaultCSS(){return p` + .turbo-progress-bar { + position: fixed; + display: block; + top: 0; + left: 0; + height: 3px; + background: #0076ff; + z-index: 2147483647; + transition: + width ${Se.animationDuration}ms ease-out, + opacity ${Se.animationDuration/2}ms ${Se.animationDuration/2}ms ease-in; + transform: translate3d(0, 0, 0); + } + `}hiding=!1;value=0;visible=!1;constructor(){this.stylesheetElement=this.createStylesheetElement(),this.progressElement=this.createProgressElement(),this.installStylesheetElement(),this.setValue(0)}show(){this.visible||(this.visible=!0,this.installProgressElement(),this.startTrickling())}hide(){this.visible&&!this.hiding&&(this.hiding=!0,this.fadeProgressElement(()=>{this.uninstallProgressElement(),this.stopTrickling(),this.visible=!1,this.hiding=!1}))}setValue(e){this.value=e,this.refresh()}installStylesheetElement(){document.head.insertBefore(this.stylesheetElement,document.head.firstChild)}installProgressElement(){this.progressElement.style.width="0",this.progressElement.style.opacity="1",document.documentElement.insertBefore(this.progressElement,document.body),this.refresh()}fadeProgressElement(e){this.progressElement.style.opacity="0",setTimeout(e,1.5*Se.animationDuration)}uninstallProgressElement(){this.progressElement.parentNode&&document.documentElement.removeChild(this.progressElement)}startTrickling(){this.trickleInterval||(this.trickleInterval=window.setInterval(this.trickle,Se.animationDuration))}stopTrickling(){window.clearInterval(this.trickleInterval),delete this.trickleInterval}trickle=()=>{this.setValue(this.value+Math.random()/100)};refresh(){requestAnimationFrame(()=>{this.progressElement.style.width=10+90*this.value+"%"})}createStylesheetElement(){const e=document.createElement("style");e.type="text/css",e.textContent=Se.defaultCSS;const t=E();return t&&(e.nonce=t),e}createProgressElement(){const e=document.createElement("div");return e.className="turbo-progress-bar",e}}class Ae extends ue{detailsByOuterHTML=this.children.filter(e=>!function(e){const t=e.localName;return"noscript"==t}(e)).map(e=>function(e){e.hasAttribute("nonce")&&e.setAttribute("nonce","");return e}(e)).reduce((e,t)=>{const{outerHTML:n}=t,r=n in e?e[n]:{type:Te(t),tracked:Oe(t),elements:[]};return{...e,[n]:{...r,elements:[...r.elements,t]}}},{});get trackedElementSignature(){return Object.keys(this.detailsByOuterHTML).filter(e=>this.detailsByOuterHTML[e].tracked).join("")}getScriptElementsNotInSnapshot(e){return this.getElementsMatchingTypeNotInSnapshot("script",e)}getStylesheetElementsNotInSnapshot(e){return this.getElementsMatchingTypeNotInSnapshot("stylesheet",e)}getElementsMatchingTypeNotInSnapshot(e,t){return Object.keys(this.detailsByOuterHTML).filter(e=>!(e in t.detailsByOuterHTML)).map(e=>this.detailsByOuterHTML[e]).filter(({type:t})=>t==e).map(({elements:[e]})=>e)}get provisionalElements(){return Object.keys(this.detailsByOuterHTML).reduce((e,t)=>{const{type:n,tracked:r,elements:i}=this.detailsByOuterHTML[t];return null!=n||r?i.length>1?[...e,...i.slice(1)]:e:[...e,...i]},[])}getMetaValue(e){const t=this.findMetaElementByName(e);return t?t.getAttribute("content"):null}findMetaElementByName(e){return Object.keys(this.detailsByOuterHTML).reduce((t,n)=>{const{elements:[r]}=this.detailsByOuterHTML[n];return function(e,t){const n=e.localName;return"meta"==n&&e.getAttribute("name")==t}(r,e)?r:t},0)}}function Te(e){return function(e){const t=e.localName;return"script"==t}(e)?"script":function(e){const t=e.localName;return"style"==t||"link"==t&&"stylesheet"==e.getAttribute("rel")}(e)?"stylesheet":void 0}function Oe(e){return"reload"==e.getAttribute("data-turbo-track")}class Me extends ue{static fromHTMLString(e=""){return this.fromDocument(d(e))}static fromElement(e){return this.fromDocument(e.ownerDocument)}static fromDocument({documentElement:e,body:t,head:n}){return new this(e,t,new Ae(n))}constructor(e,t,n){super(t),this.documentElement=e,this.headSnapshot=n}clone(){const e=this.element.cloneNode(!0),t=this.element.querySelectorAll("select"),n=e.querySelectorAll("select");for(const[r,i]of t.entries()){const e=n[r];for(const t of e.selectedOptions)t.selected=!1;for(const t of i.selectedOptions)e.options[t.index].selected=!0}for(const r of e.querySelectorAll('input[type="password"]'))r.value="";for(const r of e.querySelectorAll("noscript"))r.remove();return new Me(this.documentElement,e,this.headSnapshot)}get lang(){return this.documentElement.getAttribute("lang")}get dir(){return this.documentElement.getAttribute("dir")}get headElement(){return this.headSnapshot.element}get rootLocation(){return P(this.getSetting("root")??"/")}get cacheControlValue(){return this.getSetting("cache-control")}get isPreviewable(){return"no-preview"!=this.cacheControlValue}get isCacheable(){return"no-cache"!=this.cacheControlValue}get isVisitable(){return"reload"!=this.getSetting("visit-control")}get prefersViewTransitions(){return("true"===this.getSetting("view-transition")||"same-origin"===this.headSnapshot.getMetaValue("view-transition"))&&!window.matchMedia("(prefers-reduced-motion: reduce)").matches}get refreshMethod(){return this.getSetting("refresh-method")}get refreshScroll(){return this.getSetting("refresh-scroll")}getSetting(e){return this.headSnapshot.getMetaValue(`turbo-${e}`)}}class Fe{#f=!1;#h=Promise.resolve();renderChange(e,t){return e&&this.viewTransitionsAvailable&&!this.#f?(this.#f=!0,this.#h=this.#h.then(async()=>{await document.startViewTransition(t).finished})):this.#h=this.#h.then(t),this.#h}get viewTransitionsAvailable(){return document.startViewTransition}}const Pe={action:"advance",historyChanged:!1,visitCachedSnapshot:()=>{},willRender:!0,updateHistory:!0,shouldCacheSnapshot:!0,acceptsStreamResponse:!1,refresh:{}},Be="visitStart",Ne="requestStart",Re="requestEnd",Ie="visitEnd",Le="initialized",je="started",ze="canceled",He="failed",qe="completed",Ue=0,We=-1,$e=-2,Ve={advance:"forward",restore:"back",replace:"none"};class Ye{identifier=m();timingMetrics={};followedRedirect=!1;historyChanged=!1;scrolled=!1;shouldCacheSnapshot=!0;acceptsStreamResponse=!1;snapshotCached=!1;state=Le;viewTransitioner=new Fe;constructor(e,t,n,r={}){this.delegate=e,this.location=t,this.restorationIdentifier=n||m();const{action:i,historyChanged:o,referrer:a,snapshot:s,snapshotHTML:u,response:l,visitCachedSnapshot:c,willRender:f,updateHistory:h,shouldCacheSnapshot:d,acceptsStreamResponse:p,direction:g,refresh:v}={...Pe,...r};this.action=i,this.historyChanged=o,this.referrer=a,this.snapshot=s,this.snapshotHTML=u,this.response=l,this.isPageRefresh=this.view.isPageRefresh(this),this.visitCachedSnapshot=c,this.willRender=f,this.updateHistory=h,this.scrolled=!f,this.shouldCacheSnapshot=d,this.acceptsStreamResponse=p,this.direction=g||Ve[i],this.refresh=v}get adapter(){return this.delegate.adapter}get view(){return this.delegate.view}get history(){return this.delegate.history}get restorationData(){return this.history.getRestorationDataForIdentifier(this.restorationIdentifier)}start(){this.state==Le&&(this.recordTimingMetric(Be),this.state=je,this.adapter.visitStarted(this),this.delegate.visitStarted(this))}cancel(){this.state==je&&(this.request&&this.request.cancel(),this.cancelRender(),this.state=ze)}complete(){this.state==je&&(this.recordTimingMetric(Ie),this.adapter.visitCompleted(this),this.state=qe,this.followRedirect(),this.followedRedirect||this.delegate.visitCompleted(this))}fail(){this.state==je&&(this.state=He,this.adapter.visitFailed(this),this.delegate.visitCompleted(this))}changeHistory(){if(!this.historyChanged&&this.updateHistory){const e=w(this.location.href===this.referrer?.href?"replace":this.action);this.history.update(e,this.location,this.restorationIdentifier),this.historyChanged=!0}}issueRequest(){this.hasPreloadedResponse()?this.simulateRequest():this.shouldIssueRequest()&&!this.request&&(this.request=new G(this,Y.get,this.location),this.request.perform())}simulateRequest(){this.response&&(this.startRequest(),this.recordResponse(),this.finishRequest())}startRequest(){this.recordTimingMetric(Ne),this.adapter.visitRequestStarted(this)}recordResponse(e=this.response){if(this.response=e,e){const{statusCode:t}=e;Ke(t)?this.adapter.visitRequestCompleted(this):this.adapter.visitRequestFailedWithStatusCode(this,t)}}finishRequest(){this.recordTimingMetric(Re),this.adapter.visitRequestFinished(this)}loadResponse(){if(this.response){const{statusCode:e,responseHTML:t}=this.response;this.render(async()=>{if(this.shouldCacheSnapshot&&this.cacheSnapshot(),this.view.renderPromise&&await this.view.renderPromise,Ke(e)&&null!=t){const e=Me.fromHTMLString(t);await this.renderPageSnapshot(e,!1),this.adapter.visitRendered(this),this.complete()}else await this.view.renderError(Me.fromHTMLString(t),this),this.adapter.visitRendered(this),this.fail()})}}getCachedSnapshot(){const e=this.view.getCachedSnapshotForLocation(this.location)||this.getPreloadedSnapshot();if(e&&(!B(this.location)||e.hasAnchor(B(this.location)))&&("restore"==this.action||e.isPreviewable))return e}getPreloadedSnapshot(){if(this.snapshotHTML)return Me.fromHTMLString(this.snapshotHTML)}hasCachedSnapshot(){return null!=this.getCachedSnapshot()}loadCachedSnapshot(){const e=this.getCachedSnapshot();if(e){const t=this.shouldIssueRequest();this.render(async()=>{this.cacheSnapshot(),this.isPageRefresh?this.adapter.visitRendered(this):(this.view.renderPromise&&await this.view.renderPromise,await this.renderPageSnapshot(e,t),this.adapter.visitRendered(this),t||this.complete())})}}followRedirect(){this.redirectedToLocation&&!this.followedRedirect&&this.response?.redirected&&(this.adapter.visitProposedToLocation(this.redirectedToLocation,{action:"replace",response:this.response,shouldCacheSnapshot:!1,willRender:!1}),this.followedRedirect=!0)}prepareRequest(e){this.acceptsStreamResponse&&e.acceptResponseType(te.contentType)}requestStarted(){this.startRequest()}requestPreventedHandlingResponse(e,t){}async requestSucceededWithResponse(e,t){const n=await t.responseHTML,{redirected:r,statusCode:i}=t;null==n?this.recordResponse({statusCode:$e,redirected:r}):(this.redirectedToLocation=t.redirected?t.location:void 0,this.recordResponse({statusCode:i,responseHTML:n,redirected:r}))}async requestFailedWithResponse(e,t){const n=await t.responseHTML,{redirected:r,statusCode:i}=t;null==n?this.recordResponse({statusCode:$e,redirected:r}):this.recordResponse({statusCode:i,responseHTML:n,redirected:r})}requestErrored(e,t){this.recordResponse({statusCode:Ue,redirected:!1})}requestFinished(){this.finishRequest()}performScroll(){this.scrolled||this.view.forceReloaded||this.view.shouldPreserveScrollPosition(this)||("restore"==this.action?this.scrollToRestoredPosition()||this.scrollToAnchor()||this.view.scrollToTop():this.scrollToAnchor()||this.view.scrollToTop(),this.scrolled=!0)}scrollToRestoredPosition(){const{scrollPosition:e}=this.restorationData;if(e)return this.view.scrollToPosition(e),!0}scrollToAnchor(){const e=B(this.location);if(null!=e)return this.view.scrollToAnchor(e),!0}recordTimingMetric(e){this.timingMetrics[e]=(new Date).getTime()}getTimingMetrics(){return{...this.timingMetrics}}hasPreloadedResponse(){return"object"==typeof this.response}shouldIssueRequest(){return"restore"==this.action?!this.hasCachedSnapshot():this.willRender}cacheSnapshot(){this.snapshotCached||(this.view.cacheSnapshot(this.snapshot).then(e=>e&&this.visitCachedSnapshot(e)),this.snapshotCached=!0)}async render(e){this.cancelRender(),await new Promise(e=>{this.frame="hidden"===document.visibilityState?setTimeout(()=>e(),0):requestAnimationFrame(()=>e())}),await e(),delete this.frame}async renderPageSnapshot(e,t){await this.viewTransitioner.renderChange(this.view.shouldTransitionTo(e),async()=>{await this.view.renderPage(e,t,this.willRender,this),this.performScroll()})}cancelRender(){this.frame&&(cancelAnimationFrame(this.frame),delete this.frame)}}function Ke(e){return e>=200&&e<300}class Ge{progressBar=new Se;constructor(e){this.session=e}visitProposedToLocation(e,t){I(e,this.navigator.rootLocation)?this.navigator.startVisit(e,t?.restorationIdentifier||m(),t):window.location.href=e.toString()}visitStarted(e){this.location=e.location,this.redirectedToLocation=null,e.loadCachedSnapshot(),e.issueRequest()}visitRequestStarted(e){this.progressBar.setValue(0),e.hasCachedSnapshot()||"restore"!=e.action?this.showVisitProgressBarAfterDelay():this.showProgressBar()}visitRequestCompleted(e){e.loadResponse(),e.response.redirected&&(this.redirectedToLocation=e.redirectedToLocation)}visitRequestFailedWithStatusCode(e,t){switch(t){case Ue:case We:case $e:return this.reload({reason:"request_failed",context:{statusCode:t}});default:return e.loadResponse()}}visitRequestFinished(e){}visitCompleted(e){this.progressBar.setValue(1),this.hideVisitProgressBar()}pageInvalidated(e){this.reload(e)}visitFailed(e){this.progressBar.setValue(1),this.hideVisitProgressBar()}visitRendered(e){}linkPrefetchingIsEnabledForLocation(e){return!0}formSubmissionStarted(e){this.progressBar.setValue(0),this.showFormProgressBarAfterDelay()}formSubmissionFinished(e){this.progressBar.setValue(1),this.hideFormProgressBar()}showVisitProgressBarAfterDelay(){this.visitProgressBarTimeout=window.setTimeout(this.showProgressBar,this.session.progressBarDelay)}hideVisitProgressBar(){this.progressBar.hide(),null!=this.visitProgressBarTimeout&&(window.clearTimeout(this.visitProgressBarTimeout),delete this.visitProgressBarTimeout)}showFormProgressBarAfterDelay(){null==this.formProgressBarTimeout&&(this.formProgressBarTimeout=window.setTimeout(this.showProgressBar,this.session.progressBarDelay))}hideFormProgressBar(){this.progressBar.hide(),null!=this.formProgressBarTimeout&&(window.clearTimeout(this.formProgressBarTimeout),delete this.formProgressBarTimeout)}showProgressBar=()=>{this.progressBar.show()};reload(e){u("turbo:reload",{detail:e}),window.location.href=(this.redirectedToLocation||this.location)?.toString()||window.location.href}get navigator(){return this.session.navigator}}class Qe{selector="[data-turbo-temporary]";started=!1;start(){this.started||(this.started=!0,addEventListener("turbo:before-cache",this.removeTemporaryElements,!1))}stop(){this.started&&(this.started=!1,removeEventListener("turbo:before-cache",this.removeTemporaryElements,!1))}removeTemporaryElements=e=>{for(const t of this.temporaryElements)t.remove()};get temporaryElements(){return[...document.querySelectorAll(this.selector)]}}class Xe{constructor(e,t){this.session=e,this.element=t,this.linkInterceptor=new pe(this,t),this.formSubmitObserver=new fe(this,t)}start(){this.linkInterceptor.start(),this.formSubmitObserver.start()}stop(){this.linkInterceptor.stop(),this.formSubmitObserver.stop()}shouldInterceptLinkClick(e,t,n){return this.#d(e)}linkClickIntercepted(e,t,n){const r=this.#p(e);r&&r.delegate.linkClickIntercepted(e,t,n)}willSubmitForm(e,t){return null==e.closest("turbo-frame")&&this.#m(e,t)&&this.#d(e,t)}formSubmitted(e,t){const n=this.#p(e,t);n&&n.delegate.formSubmitted(e,t)}#m(e,t){const n=N(e,t),r=this.element.ownerDocument.querySelector('meta[name="turbo-root"]'),i=P(r?.content??"/");return this.#d(e,t)&&I(n,i)}#d(e,t){if(e instanceof HTMLFormElement?this.session.submissionIsNavigatable(e,t):this.session.elementIsNavigatable(e)){const n=this.#p(e,t);return!!n&&n!=e.closest("turbo-frame")}return!1}#p(e,t){const n=t?.getAttribute("data-turbo-frame")||e.getAttribute("data-turbo-frame");if(n&&"_top"!=n){const e=this.element.querySelector(`#${n}:not([disabled])`);if(e instanceof o)return e}}}class Ze{location;restorationIdentifier=m();restorationData={};started=!1;currentIndex=0;constructor(e){this.delegate=e}start(){this.started||(addEventListener("popstate",this.onPopState,!1),this.currentIndex=history.state?.turbo?.restorationIndex||0,this.started=!0,this.replace(new URL(window.location.href)))}stop(){this.started&&(removeEventListener("popstate",this.onPopState,!1),this.started=!1)}push(e,t){this.update(history.pushState,e,t)}replace(e,t){this.update(history.replaceState,e,t)}update(e,t,n=m()){e===history.pushState&&++this.currentIndex;const r={turbo:{restorationIdentifier:n,restorationIndex:this.currentIndex}};e.call(history,r,"",t.href),this.location=t,this.restorationIdentifier=n}getRestorationDataForIdentifier(e){return this.restorationData[e]||{}}updateRestorationData(e){const{restorationIdentifier:t}=this,n=this.restorationData[t];this.restorationData[t]={...n,...e}}assumeControlOfScrollRestoration(){this.previousScrollRestoration||(this.previousScrollRestoration=history.scrollRestoration??"auto",history.scrollRestoration="manual")}relinquishControlOfScrollRestoration(){this.previousScrollRestoration&&(history.scrollRestoration=this.previousScrollRestoration,delete this.previousScrollRestoration)}onPopState=e=>{const{turbo:t}=e.state||{};if(this.location=new URL(window.location.href),t){const{restorationIdentifier:e,restorationIndex:n}=t;this.restorationIdentifier=e;const r=n>this.currentIndex?"forward":"back";this.delegate.historyPoppedToLocationWithRestorationIdentifierAndDirection(this.location,e,r),this.currentIndex=n}else this.currentIndex++,this.delegate.historyPoppedWithEmptyState(this.location)}}class Je{started=!1;#g=null;constructor(e,t){this.delegate=e,this.eventTarget=t}start(){this.started||("loading"===this.eventTarget.readyState?this.eventTarget.addEventListener("DOMContentLoaded",this.#v,{once:!0}):this.#v())}stop(){this.started&&(this.eventTarget.removeEventListener("mouseenter",this.#y,{capture:!0,passive:!0}),this.eventTarget.removeEventListener("mouseleave",this.#b,{capture:!0,passive:!0}),this.eventTarget.removeEventListener("turbo:before-fetch-request",this.#w,!0),this.started=!1)}#v=()=>{this.eventTarget.addEventListener("mouseenter",this.#y,{capture:!0,passive:!0}),this.eventTarget.addEventListener("mouseleave",this.#b,{capture:!0,passive:!0}),this.eventTarget.addEventListener("turbo:before-fetch-request",this.#w,!0),this.started=!0};#y=e=>{if("false"===C("turbo-prefetch"))return;const t=e.target;if(t.matches&&t.matches("a[href]:not([target^=_]):not([download])")&&this.#_(t)){const e=t,n=L(e);if(this.delegate.canPrefetchRequestToLocation(e,n)){this.#g=e;const r=new G(this,Y.get,n,new URLSearchParams,t);r.fetchOptions.priority="low",oe.putLater(n,r,this.#x)}}};#b=e=>{e.target===this.#g&&this.#C()};#C=()=>{oe.clear(),this.#g=null};#w=e=>{if("FORM"!==e.target.tagName&&"GET"===e.detail.fetchOptions.method){const t=oe.get(e.detail.url);t&&(e.detail.fetchRequest=t),oe.clear()}};prepareRequest(e){const t=e.target;e.headers["X-Sec-Purpose"]="prefetch";const n=t.closest("turbo-frame"),r=t.getAttribute("data-turbo-frame")||n?.getAttribute("target")||n?.id;r&&"_top"!==r&&(e.headers["Turbo-Frame"]=r)}requestSucceededWithResponse(){}requestStarted(e){}requestErrored(e){}requestFinished(e){}requestPreventedHandlingResponse(e,t){}requestFailedWithResponse(e,t){}get#x(){return Number(C("turbo-prefetch-cache-time"))||ie}#_(e){return!!e.getAttribute("href")&&(!et(e)&&(!tt(e)&&(!nt(e)&&(!rt(e)&&!ot(e)))))}}const et=e=>e.origin!==document.location.origin||!["http:","https:"].includes(e.protocol)||e.hasAttribute("target"),tt=e=>e.pathname+e.search===document.location.pathname+document.location.search||e.href.startsWith("#"),nt=e=>{if("false"===e.getAttribute("data-turbo-prefetch"))return!0;if("false"===e.getAttribute("data-turbo"))return!0;const t=D(e,"[data-turbo-prefetch]");return!(!t||"false"!==t.getAttribute("data-turbo-prefetch"))},rt=e=>{const t=e.getAttribute("data-turbo-method");return!(!t||"get"===t.toLowerCase())||(!!it(e)||(!!e.hasAttribute("data-turbo-confirm")||!!e.hasAttribute("data-turbo-stream")))},it=e=>e.hasAttribute("data-remote")||e.hasAttribute("data-behavior")||e.hasAttribute("data-confirm")||e.hasAttribute("data-method"),ot=e=>u("turbo:before-prefetch",{target:e,cancelable:!0}).defaultPrevented;class at{constructor(e){this.delegate=e}proposeVisit(e,t={}){this.delegate.allowsVisitingLocationWithAction(e,t.action)&&this.delegate.visitProposedToLocation(e,t)}startVisit(e,t,n={}){this.stop(),this.currentVisit=new Ye(this,P(e),t,{referrer:this.location,...n}),this.currentVisit.start()}submitForm(e,t){this.stop(),this.formSubmission=new se(this,e,t,!0),this.formSubmission.start()}stop(){this.formSubmission&&(this.formSubmission.stop(),delete this.formSubmission),this.currentVisit&&(this.currentVisit.cancel(),delete this.currentVisit)}get adapter(){return this.delegate.adapter}get view(){return this.delegate.view}get rootLocation(){return this.view.snapshot.rootLocation}get history(){return this.delegate.history}formSubmissionStarted(e){"function"==typeof this.adapter.formSubmissionStarted&&this.adapter.formSubmissionStarted(e)}async formSubmissionSucceededWithResponse(e,t){if(e==this.formSubmission){const n=await t.responseHTML;if(n){const r=e.isSafe;r||this.view.clearSnapshotCache();const{statusCode:i,redirected:o}=t,a={action:this.#E(e,t),shouldCacheSnapshot:r,response:{statusCode:i,responseHTML:n,redirected:o}};this.proposeVisit(t.location,a)}}}async formSubmissionFailedWithResponse(e,t){const n=await t.responseHTML;if(n){const e=Me.fromHTMLString(n);t.serverError?await this.view.renderError(e,this.currentVisit):await this.view.renderPage(e,!1,!0,this.currentVisit),"preserve"!==e.refreshScroll&&this.view.scrollToTop(),this.view.clearSnapshotCache()}}formSubmissionErrored(e,t){console.error(t)}formSubmissionFinished(e){"function"==typeof this.adapter.formSubmissionFinished&&this.adapter.formSubmissionFinished(e)}linkPrefetchingIsEnabledForLocation(e){return"function"!=typeof this.adapter.linkPrefetchingIsEnabledForLocation||this.adapter.linkPrefetchingIsEnabledForLocation(e)}visitStarted(e){this.delegate.visitStarted(e)}visitCompleted(e){this.delegate.visitCompleted(e),delete this.currentVisit}locationWithActionIsSamePage(e,t){return!1}get location(){return this.history.location}get restorationIdentifier(){return this.history.restorationIdentifier}#E(e,t){const{submitter:n,formElement:r}=e;return _(n,r)||this.#D(t)}#D(e){return e.redirected&&e.location.href===this.location?.href?"replace":"advance"}}const st=0,ut=1,lt=2,ct=3;class ft{stage=st;started=!1;constructor(e){this.delegate=e}start(){this.started||(this.stage==st&&(this.stage=ut),document.addEventListener("readystatechange",this.interpretReadyState,!1),addEventListener("pagehide",this.pageWillUnload,!1),this.started=!0)}stop(){this.started&&(document.removeEventListener("readystatechange",this.interpretReadyState,!1),removeEventListener("pagehide",this.pageWillUnload,!1),this.started=!1)}interpretReadyState=()=>{const{readyState:e}=this;"interactive"==e?this.pageIsInteractive():"complete"==e&&this.pageIsComplete()};pageIsInteractive(){this.stage==ut&&(this.stage=lt,this.delegate.pageBecameInteractive())}pageIsComplete(){this.pageIsInteractive(),this.stage==lt&&(this.stage=ct,this.delegate.pageLoaded())}pageWillUnload=()=>{this.delegate.pageWillUnload()};get readyState(){return document.readyState}}class ht{started=!1;constructor(e){this.delegate=e}start(){this.started||(addEventListener("scroll",this.onScroll,!1),this.onScroll(),this.started=!0)}stop(){this.started&&(removeEventListener("scroll",this.onScroll,!1),this.started=!1)}onScroll=()=>{this.updatePosition({x:window.pageXOffset,y:window.pageYOffset})};updatePosition(e){this.delegate.scrollPositionChanged(e)}}class dt{render({fragment:e}){ve.preservingPermanentElements(this,function(e){const t=ce(document.documentElement),n={};for(const r of t){const{id:t}=r;for(const i of e.querySelectorAll("turbo-stream")){const e=le(i.templateElement.content,t);e&&(n[t]=[r,e])}}return n}(e),()=>{!async function(e,t){const n=`turbo-stream-autofocus-${m()}`,r=e.querySelectorAll("turbo-stream"),i=function(e){for(const t of e){const e=S(t.templateElement.content);if(e)return e}return null}(r);let o=null;i&&(o=i.id?i.id:n,i.id=o);t(),await c();if((null==document.activeElement||document.activeElement==document.body)&&o){const e=document.getElementById(o);k(e)&&e.focus(),e&&e.id==n&&e.removeAttribute("id")}}(e,()=>{!async function(e){const[t,n]=await async function(e,t){const n=t();return e(),await f(),[n,t()]}(e,()=>document.activeElement),r=t&&t.id;if(r){const e=document.getElementById(r);k(e)&&e!=n&&e.focus()}}(()=>{document.documentElement.appendChild(e)})})})}enteringBardo(e,t){t.replaceWith(e.cloneNode(!0))}leavingBardo(){}}class pt{sources=new Set;#k=!1;constructor(e){this.delegate=e}start(){this.#k||(this.#k=!0,addEventListener("turbo:before-fetch-response",this.inspectFetchResponse,!1))}stop(){this.#k&&(this.#k=!1,removeEventListener("turbo:before-fetch-response",this.inspectFetchResponse,!1))}connectStreamSource(e){this.streamSourceIsConnected(e)||(this.sources.add(e),e.addEventListener("message",this.receiveMessageEvent,!1))}disconnectStreamSource(e){this.streamSourceIsConnected(e)&&(this.sources.delete(e),e.removeEventListener("message",this.receiveMessageEvent,!1))}streamSourceIsConnected(e){return this.sources.has(e)}inspectFetchResponse=e=>{const t=function(e){const t=e.detail?.fetchResponse;if(t instanceof q)return t}(e);t&&function(e){const t=e.contentType??"";return t.startsWith(te.contentType)}(t)&&(e.preventDefault(),this.receiveMessageResponse(t))};receiveMessageEvent=e=>{this.#k&&"string"==typeof e.data&&this.receiveMessageHTML(e.data)};async receiveMessageResponse(e){const t=await e.responseHTML;t&&this.receiveMessageHTML(t)}receiveMessageHTML(e){this.delegate.receivedMessageFromStream(te.wrap(e))}}class mt extends ye{static renderElement(e,t){const{documentElement:n,body:r}=document;n.replaceChild(t,r)}async render(){this.replaceHeadAndBody(),this.activateScriptElements()}replaceHeadAndBody(){const{documentElement:e,head:t}=document;e.replaceChild(this.newHead,t),this.renderElement(this.currentElement,this.newElement)}activateScriptElements(){for(const e of this.scriptElements){const t=e.parentNode;if(t){const n=s(e);t.replaceChild(n,e)}}}get newHead(){return this.newSnapshot.headSnapshot.element}get scriptElements(){return document.documentElement.querySelectorAll("script")}}class gt extends ye{static renderElement(e,t){document.body&&t instanceof HTMLBodyElement?document.body.replaceWith(t):document.documentElement.appendChild(t)}get shouldRender(){return this.newSnapshot.isVisitable&&this.trackedElementsAreIdentical}get reloadReason(){return this.newSnapshot.isVisitable?this.trackedElementsAreIdentical?void 0:{reason:"tracked_element_mismatch"}:{reason:"turbo_visit_control_is_reload"}}async prepareToRender(){this.#S(),await this.mergeHead()}async render(){this.willRender&&await this.replaceBody()}finishRendering(){super.finishRendering(),this.isPreview||this.focusFirstAutofocusableElement()}get currentHeadSnapshot(){return this.currentSnapshot.headSnapshot}get newHeadSnapshot(){return this.newSnapshot.headSnapshot}get newElement(){return this.newSnapshot.element}#S(){const{documentElement:e}=this.currentSnapshot,{dir:t,lang:n}=this.newSnapshot;n?e.setAttribute("lang",n):e.removeAttribute("lang"),t?e.setAttribute("dir",t):e.removeAttribute("dir")}async mergeHead(){const e=this.mergeProvisionalElements(),t=this.copyNewHeadStylesheetElements();this.copyNewHeadScriptElements(),await e,await t,this.willRender&&this.removeUnusedDynamicStylesheetElements()}async replaceBody(){await this.preservingPermanentElements(async()=>{this.activateNewBody(),await this.assignNewBody()})}get trackedElementsAreIdentical(){return this.currentHeadSnapshot.trackedElementSignature==this.newHeadSnapshot.trackedElementSignature}async copyNewHeadStylesheetElements(){const e=[];for(const t of this.newHeadStylesheetElements)e.push(b(t)),document.head.appendChild(t);await Promise.all(e)}copyNewHeadScriptElements(){for(const e of this.newHeadScriptElements)document.head.appendChild(s(e))}removeUnusedDynamicStylesheetElements(){for(const e of this.unusedDynamicStylesheetElements)document.head.removeChild(e)}async mergeProvisionalElements(){const e=[...this.newHeadProvisionalElements];for(const t of this.currentHeadProvisionalElements)this.isCurrentElementInElementList(t,e)||document.head.removeChild(t);for(const t of e)document.head.appendChild(t)}isCurrentElementInElementList(e,t){for(const[n,r]of t.entries()){if("TITLE"==e.tagName){if("TITLE"!=r.tagName)continue;if(e.innerHTML==r.innerHTML)return t.splice(n,1),!0}if(r.isEqualNode(e))return t.splice(n,1),!0}return!1}removeCurrentHeadProvisionalElements(){for(const e of this.currentHeadProvisionalElements)document.head.removeChild(e)}copyNewHeadProvisionalElements(){for(const e of this.newHeadProvisionalElements)document.head.appendChild(e)}activateNewBody(){document.adoptNode(this.newElement),this.removeNoscriptElements(),this.activateNewBodyScriptElements()}removeNoscriptElements(){for(const e of this.newElement.querySelectorAll("noscript"))e.remove()}activateNewBodyScriptElements(){for(const e of this.newBodyScriptElements){const t=s(e);e.replaceWith(t)}}async assignNewBody(){await this.renderElement(this.currentElement,this.newElement)}get unusedDynamicStylesheetElements(){return this.oldHeadStylesheetElements.filter(e=>"dynamic"===e.getAttribute("data-turbo-track"))}get oldHeadStylesheetElements(){return this.currentHeadSnapshot.getStylesheetElementsNotInSnapshot(this.newHeadSnapshot)}get newHeadStylesheetElements(){return this.newHeadSnapshot.getStylesheetElementsNotInSnapshot(this.currentHeadSnapshot)}get newHeadScriptElements(){return this.newHeadSnapshot.getScriptElementsNotInSnapshot(this.currentHeadSnapshot)}get currentHeadProvisionalElements(){return this.currentHeadSnapshot.provisionalElements}get newHeadProvisionalElements(){return this.newHeadSnapshot.provisionalElements}get newBodyScriptElements(){return this.newElement.querySelectorAll("script")}}class vt extends gt{static renderElement(e,t){_e(e,t,{callbacks:{beforeNodeMorphed:(e,t)=>!(Ce(e,t)&&!Ee(e))||(e.reload(),!1)}}),u("turbo:morph",{detail:{currentElement:e,newElement:t}})}async preservingPermanentElements(e){return await e()}get renderMethod(){return"morph"}get shouldAutofocus(){return!1}}class yt extends re{constructor(e){super(e,j)}get snapshots(){return this.entries}}class bt extends he{snapshotCache=new yt(10);lastRenderedLocation=new URL(location.href);forceReloaded=!1;shouldTransitionTo(e){return this.snapshot.prefersViewTransitions&&e.prefersViewTransitions}renderPage(e,t=!1,n=!0,r){const i=new(this.isPageRefresh(r)&&"morph"===(r?.refresh?.method||this.snapshot.refreshMethod)?vt:gt)(this.snapshot,e,t,n);return i.shouldRender?r?.changeHistory():this.forceReloaded=!0,this.render(i)}renderError(e,t){t?.changeHistory();const n=new mt(this.snapshot,e,!1);return this.render(n)}clearSnapshotCache(){this.snapshotCache.clear()}async cacheSnapshot(e=this.snapshot){if(e.isCacheable){this.delegate.viewWillCacheSnapshot();const{lastRenderedLocation:t}=this;await h();const n=e.clone();return this.snapshotCache.put(t,n),n}}getCachedSnapshotForLocation(e){return this.snapshotCache.get(e)}isPageRefresh(e){return!e||this.lastRenderedLocation.pathname===e.location.pathname&&"replace"===e.action}shouldPreserveScrollPosition(e){return this.isPageRefresh(e)&&"preserve"===(e?.refresh?.scroll||this.snapshot.refreshScroll)}get snapshot(){return Me.fromElement(this.element)}}class wt{selector="a[data-turbo-preload]";constructor(e,t){this.delegate=e,this.snapshotCache=t}start(){"loading"===document.readyState?document.addEventListener("DOMContentLoaded",this.#A):this.preloadOnLoadLinksForView(document.body)}stop(){document.removeEventListener("DOMContentLoaded",this.#A)}preloadOnLoadLinksForView(e){for(const t of e.querySelectorAll(this.selector))this.delegate.shouldPreloadLink(t)&&this.preloadURL(t)}async preloadURL(e){const t=new URL(e.href);if(this.snapshotCache.has(t))return;const n=new G(this,Y.get,t,new URLSearchParams,e);await n.perform()}prepareRequest(e){e.headers["X-Sec-Purpose"]="prefetch"}async requestSucceededWithResponse(e,t){try{const n=await t.responseHTML,r=Me.fromHTMLString(n);this.snapshotCache.put(e.url,r)}catch(n){}}requestStarted(e){}requestErrored(e){}requestFinished(e){}requestPreventedHandlingResponse(e,t){}requestFailedWithResponse(e,t){}#A=()=>{this.preloadOnLoadLinksForView(document.body)}}class _t{constructor(e){this.session=e}clear(){this.session.clearCache()}resetCacheControl(){this.#T("")}exemptPageFromCache(){this.#T("no-cache")}exemptPageFromPreview(){this.#T("no-preview")}#T(e){!function(e,t){let n=x(e);n||(n=document.createElement("meta"),n.setAttribute("name",e),document.head.appendChild(n)),n.setAttribute("content",t)}("turbo-cache-control",e)}}function xt(e){Object.defineProperties(e,Ct)}const Ct={absoluteURL:{get(){return this.toString()}}},Et=new class{navigator=new at(this);history=new Ze(this);view=new bt(this,document.documentElement);adapter=new Ge(this);pageObserver=new ft(this);cacheObserver=new Qe;linkPrefetchObserver=new Je(this,document);linkClickObserver=new me(this,window);formSubmitObserver=new fe(this,document);scrollObserver=new ht(this);streamObserver=new pt(this);formLinkClickObserver=new ge(this,document.documentElement);frameRedirector=new Xe(this,document.documentElement);streamMessageRenderer=new dt;cache=new _t(this);enabled=!0;started=!1;#O=150;constructor(e){this.recentRequests=e,this.preloader=new wt(this,this.view.snapshotCache),this.debouncedRefresh=this.refresh,this.pageRefreshDebouncePeriod=this.pageRefreshDebouncePeriod}start(){this.started||(this.pageObserver.start(),this.cacheObserver.start(),this.linkPrefetchObserver.start(),this.formLinkClickObserver.start(),this.linkClickObserver.start(),this.formSubmitObserver.start(),this.scrollObserver.start(),this.streamObserver.start(),this.frameRedirector.start(),this.history.start(),this.preloader.start(),this.started=!0,this.enabled=!0)}disable(){this.enabled=!1}stop(){this.started&&(this.pageObserver.stop(),this.cacheObserver.stop(),this.linkPrefetchObserver.stop(),this.formLinkClickObserver.stop(),this.linkClickObserver.stop(),this.formSubmitObserver.stop(),this.scrollObserver.stop(),this.streamObserver.stop(),this.frameRedirector.stop(),this.history.stop(),this.preloader.stop(),this.started=!1)}registerAdapter(e){this.adapter=e}visit(e,t={}){const n=t.frame?document.getElementById(t.frame):null;if(n instanceof o){const r=t.action||_(n);n.delegate.proposeVisitIfNavigatedWithAction(n,r),n.src=e.toString()}else this.navigator.proposeVisit(P(e),t)}refresh(e,t={}){t="string"==typeof t?{requestId:t}:t;const{method:n,requestId:r,scroll:i}=t,o=r&&this.recentRequests.has(r),a=e===document.baseURI;o||this.navigator.currentVisit||!a||this.visit(e,{action:"replace",shouldCacheSnapshot:!1,refresh:{method:n,scroll:i}})}connectStreamSource(e){this.streamObserver.connectStreamSource(e)}disconnectStreamSource(e){this.streamObserver.disconnectStreamSource(e)}renderStreamMessage(e){this.streamMessageRenderer.render(te.wrap(e))}clearCache(){this.view.clearSnapshotCache()}setProgressBarDelay(e){console.warn("Please replace `session.setProgressBarDelay(delay)` with `session.progressBarDelay = delay`. The function is deprecated and will be removed in a future version of Turbo.`"),this.progressBarDelay=e}set progressBarDelay(e){F.drive.progressBarDelay=e}get progressBarDelay(){return F.drive.progressBarDelay}set drive(e){F.drive.enabled=e}get drive(){return F.drive.enabled}set formMode(e){F.forms.mode=e}get formMode(){return F.forms.mode}get location(){return this.history.location}get restorationIdentifier(){return this.history.restorationIdentifier}get pageRefreshDebouncePeriod(){return this.#O}set pageRefreshDebouncePeriod(e){this.refresh=function(e,t){let n=null;return(...r)=>{clearTimeout(n),n=setTimeout(()=>e.apply(this,r),t)}}(this.debouncedRefresh.bind(this),e),this.#O=e}shouldPreloadLink(e){const t=e.hasAttribute("data-turbo-method"),n=e.hasAttribute("data-turbo-stream"),r=e.getAttribute("data-turbo-frame"),i="_top"==r?null:document.getElementById(r)||D(e,"turbo-frame:not([disabled])");if(t||n||i instanceof o)return!1;{const t=new URL(e.href);return this.elementIsNavigatable(e)&&I(t,this.snapshot.rootLocation)}}historyPoppedToLocationWithRestorationIdentifierAndDirection(e,t,n){this.enabled?this.navigator.startVisit(e,t,{action:"restore",historyChanged:!0,direction:n}):this.adapter.pageInvalidated({reason:"turbo_disabled"})}historyPoppedWithEmptyState(e){this.history.replace(e),this.view.lastRenderedLocation=e,this.view.cacheSnapshot()}scrollPositionChanged(e){this.history.updateRestorationData({scrollPosition:e})}willSubmitFormLinkToLocation(e,t){return this.elementIsNavigatable(e)&&I(t,this.snapshot.rootLocation)}submittedFormLinkToLocation(){}canPrefetchRequestToLocation(e,t){return this.elementIsNavigatable(e)&&I(t,this.snapshot.rootLocation)&&this.navigator.linkPrefetchingIsEnabledForLocation(t)}willFollowLinkToLocation(e,t,n){return this.elementIsNavigatable(e)&&I(t,this.snapshot.rootLocation)&&this.applicationAllowsFollowingLinkToLocation(e,t,n)}followedLinkToLocation(e,t){const n=this.getActionForLink(e),r=e.hasAttribute("data-turbo-stream");this.visit(t.href,{action:n,acceptsStreamResponse:r})}allowsVisitingLocationWithAction(e,t){return this.applicationAllowsVisitingLocation(e)}visitProposedToLocation(e,t){xt(e),this.adapter.visitProposedToLocation(e,t)}visitStarted(e){e.acceptsStreamResponse||(v(document.documentElement),this.view.markVisitDirection(e.direction)),xt(e.location),this.notifyApplicationAfterVisitingLocation(e.location,e.action)}visitCompleted(e){this.view.unmarkVisitDirection(),y(document.documentElement),this.notifyApplicationAfterPageLoad(e.getTimingMetrics())}willSubmitForm(e,t){const n=N(e,t);return this.submissionIsNavigatable(e,t)&&I(P(n),this.snapshot.rootLocation)}formSubmitted(e,t){this.navigator.submitForm(e,t)}pageBecameInteractive(){this.view.lastRenderedLocation=this.location,this.notifyApplicationAfterPageLoad()}pageLoaded(){this.history.assumeControlOfScrollRestoration()}pageWillUnload(){this.history.relinquishControlOfScrollRestoration()}receivedMessageFromStream(e){this.renderStreamMessage(e)}viewWillCacheSnapshot(){this.notifyApplicationBeforeCachingSnapshot()}allowsImmediateRender({element:e},t){const n=this.notifyApplicationBeforeRender(e,t),{defaultPrevented:r,detail:{render:i}}=n;return this.view.renderer&&i&&(this.view.renderer.renderElement=i),!r}viewRenderedSnapshot(e,t,n){this.view.lastRenderedLocation=this.history.location,this.notifyApplicationAfterRender(n)}preloadOnLoadLinksForView(e){this.preloader.preloadOnLoadLinksForView(e)}viewInvalidated(e){this.adapter.pageInvalidated(e)}frameLoaded(e){this.notifyApplicationAfterFrameLoad(e)}frameRendered(e,t){this.notifyApplicationAfterFrameRender(e,t)}applicationAllowsFollowingLinkToLocation(e,t,n){return!this.notifyApplicationAfterClickingLinkToLocation(e,t,n).defaultPrevented}applicationAllowsVisitingLocation(e){return!this.notifyApplicationBeforeVisitingLocation(e).defaultPrevented}notifyApplicationAfterClickingLinkToLocation(e,t,n){return u("turbo:click",{target:e,detail:{url:t.href,originalEvent:n},cancelable:!0})}notifyApplicationBeforeVisitingLocation(e){return u("turbo:before-visit",{detail:{url:e.href},cancelable:!0})}notifyApplicationAfterVisitingLocation(e,t){return u("turbo:visit",{detail:{url:e.href,action:t}})}notifyApplicationBeforeCachingSnapshot(){return u("turbo:before-cache")}notifyApplicationBeforeRender(e,t){return u("turbo:before-render",{detail:{newBody:e,...t},cancelable:!0})}notifyApplicationAfterRender(e){return u("turbo:render",{detail:{renderMethod:e}})}notifyApplicationAfterPageLoad(e={}){return u("turbo:load",{detail:{url:this.location.href,timing:e}})}notifyApplicationAfterFrameLoad(e){return u("turbo:frame-load",{target:e})}notifyApplicationAfterFrameRender(e,t){return u("turbo:frame-render",{detail:{fetchResponse:e},target:t,cancelable:!0})}submissionIsNavigatable(e,t){if("off"==F.forms.mode)return!1;{const n=!t||this.elementIsNavigatable(t);return"optin"==F.forms.mode?n&&null!=e.closest('[data-turbo="true"]'):n&&this.elementIsNavigatable(e)}}elementIsNavigatable(e){const t=D(e,"[data-turbo]"),n=D(e,"turbo-frame");return F.drive.enabled||n?!t||"false"!=t.getAttribute("data-turbo"):!!t&&"true"==t.getAttribute("data-turbo")}getActionForLink(e){return _(e)||"advance"}get snapshot(){return this.view.snapshot}}(W),{cache:Dt,navigator:kt}=Et;function St(){Et.start()}function At(e){Et.connectStreamSource(e)}function Tt(e){Et.disconnectStreamSource(e)}var Ot=Object.freeze({__proto__:null,navigator:kt,session:Et,cache:Dt,PageRenderer:gt,PageSnapshot:Me,FrameRenderer:be,fetch:$,config:F,start:St,registerAdapter:function(e){Et.registerAdapter(e)},visit:function(e,t){Et.visit(e,t)},connectStreamSource:At,disconnectStreamSource:Tt,renderStreamMessage:function(e){Et.renderStreamMessage(e)},setProgressBarDelay:function(e){console.warn("Please replace `Turbo.setProgressBarDelay(delay)` with `Turbo.config.drive.progressBarDelay = delay`. The top-level function is deprecated and will be removed in a future version of Turbo.`"),F.drive.progressBarDelay=e},setConfirmMethod:function(e){console.warn("Please replace `Turbo.setConfirmMethod(confirmMethod)` with `Turbo.config.forms.confirm = confirmMethod`. The top-level function is deprecated and will be removed in a future version of Turbo.`"),F.forms.confirm=e},setFormMode:function(e){console.warn("Please replace `Turbo.setFormMode(mode)` with `Turbo.config.forms.mode = mode`. The top-level function is deprecated and will be removed in a future version of Turbo.`"),F.forms.mode=e},morphBodyElements:function(e,t){vt.renderElement(e,t)},morphTurboFrameElements:function(e,t){ke.renderElement(e,t)},morphChildren:xe,morphElements:_e});class Mt extends Error{}function Ft(e,t){if(e){const n=e.getAttribute("src");if(null!=n&&null!=t&&z(n,t))throw new Error(`Matching element has a source URL which references itself`);if(e.ownerDocument!==document&&(e=document.importNode(e,!0)),e instanceof o)return e.connectedCallback(),e.disconnectedCallback(),e}}const Pt={after(){this.removeDuplicateTargetSiblings(),this.targetElements.forEach(e=>e.parentElement?.insertBefore(this.templateContent,e.nextSibling))},append(){this.removeDuplicateTargetChildren(),this.targetElements.forEach(e=>e.append(this.templateContent))},before(){this.removeDuplicateTargetSiblings(),this.targetElements.forEach(e=>e.parentElement?.insertBefore(this.templateContent,e))},prepend(){this.removeDuplicateTargetChildren(),this.targetElements.forEach(e=>e.prepend(this.templateContent))},remove(){this.targetElements.forEach(e=>e.remove())},replace(){const e=this.getAttribute("method");this.targetElements.forEach(t=>{"morph"===e?_e(t,this.templateContent):t.replaceWith(this.templateContent)})},update(){const e=this.getAttribute("method");this.targetElements.forEach(t=>{"morph"===e?xe(t,this.templateContent):(t.innerHTML="",t.append(this.templateContent))})},refresh(){const e=this.getAttribute("method"),t=this.requestId,n=this.getAttribute("scroll");Et.refresh(this.baseURI,{method:e,requestId:t,scroll:n})}};class Bt extends HTMLElement{static async renderElement(e){await e.performAction()}async connectedCallback(){try{await this.render()}catch(e){console.error(e)}finally{this.disconnect()}}async render(){return this.renderPromise??=(async()=>{const e=this.beforeRenderEvent;this.dispatchEvent(e)&&(await c(),await e.detail.render(this))})()}disconnect(){try{this.remove()}catch{}}removeDuplicateTargetChildren(){this.duplicateChildren.forEach(e=>e.remove())}get duplicateChildren(){const e=this.targetElements.flatMap(e=>[...e.children]).filter(e=>!!e.getAttribute("id")),t=[...this.templateContent?.children||[]].filter(e=>!!e.getAttribute("id")).map(e=>e.getAttribute("id"));return e.filter(e=>t.includes(e.getAttribute("id")))}removeDuplicateTargetSiblings(){this.duplicateSiblings.forEach(e=>e.remove())}get duplicateSiblings(){const e=this.targetElements.flatMap(e=>[...e.parentElement.children]).filter(e=>!!e.id),t=[...this.templateContent?.children||[]].filter(e=>!!e.id).map(e=>e.id);return e.filter(e=>t.includes(e.id))}get performAction(){if(this.action){const e=Pt[this.action];if(e)return e;this.#M("unknown action")}this.#M("action attribute is missing")}get targetElements(){return this.target?this.targetElementsById:this.targets?this.targetElementsByQuery:void this.#M("target or targets attribute is missing")}get templateContent(){return this.templateElement.content.cloneNode(!0)}get templateElement(){if(null===this.firstElementChild){const e=this.ownerDocument.createElement("template");return this.appendChild(e),e}if(this.firstElementChild instanceof HTMLTemplateElement)return this.firstElementChild;this.#M("first child element must be a