mtg-playerinfo 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/ci.yml +29 -3
- package/.github/workflows/update-test-data.yml +33 -0
- package/README.md +16 -11
- package/cli.js +30 -13
- package/package.json +21 -2
- package/scripts/update-test-data.js +29 -0
- package/src/fetchers/melee.js +26 -35
- package/src/fetchers/mtgElo.js +40 -40
- package/src/fetchers/topdeck.js +70 -67
- package/src/fetchers/unityLeague.js +45 -45
- package/src/fetchers/untapped.js +54 -0
- package/src/index.js +75 -42
- package/src/utils/httpClient.js +30 -30
- package/test/data/melee.html +77 -62
- package/test/data/mtgElo.html +8 -8
- package/test/data/topdeck.html +778 -662
- package/test/data/topdeck.json +1 -0
- package/test/data/unityLeague.html +1445 -1340
- package/test/data/untapped.json +104 -0
- package/test/edgeCases.test.js +128 -0
- package/test/melee.test.js +23 -23
- package/test/meleeEdgeCases.test.js +53 -0
- package/test/mtgElo.test.js +21 -21
- package/test/mtgEloEdgeCases.test.js +92 -0
- package/test/playerInfoManager.test.js +312 -0
- package/test/topdeck.test.js +42 -29
- package/test/unityLeague.test.js +24 -24
- package/test/unityLeagueEdgeCases.test.js +123 -0
- package/test/untapped.test.js +58 -0
- package/test/verboseLogging.test.js +215 -0
- package/test/winRatePrecision.test.js +25 -0
- package/.github/workflows/pull-player-data.yml +0 -27
package/test/data/melee.html
CHANGED
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/>
|
|
6
6
|
|
|
7
7
|
<title>Profile k0shiii | Melee</title>
|
|
8
|
-
<impact-site-verification value="
|
|
8
|
+
<impact-site-verification value="4c243f18-8267-493f-a951-c8659ec151bc"></impact-site-verification>
|
|
9
9
|
<meta content="@MeleePlatform" property="twitter:site"></meta>
|
|
10
|
-
<meta content="0.3.
|
|
10
|
+
<meta content="0.3.63.85" name="version"></meta>
|
|
11
11
|
<meta content="https://cdn.melee.gg/images/blankbrandimage.png" property="og:image"></meta>
|
|
12
12
|
<meta content="Melee.gg Logo" property="twitter:image:alt"></meta>
|
|
13
13
|
<meta content="https://melee.gg/" property="og:url"></meta>
|
|
@@ -36,18 +36,25 @@
|
|
|
36
36
|
<meta name="author" content="Keyrune Incorporated"/>
|
|
37
37
|
<meta property="og:site_name" content="Melee.gg"/>
|
|
38
38
|
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
|
|
39
|
-
<link href="https://cdn.melee.gg/content/site.dependencies.min.css?v=0.3.
|
|
40
|
-
|
|
41
|
-
<link href="/Content/site.min.css?v=0.3.62.22&lg=en" rel="stylesheet"/>
|
|
39
|
+
<link href="https://cdn.melee.gg/content/site.dependencies.min.css?v=0.3.63.85" rel="stylesheet"/>
|
|
42
40
|
|
|
41
|
+
<link href="/Content/site.min.css?v=0.3.63.85&lg=en" rel="stylesheet"/>
|
|
43
42
|
|
|
43
|
+
|
|
44
44
|
|
|
45
45
|
<script type="text/javascript">
|
|
46
46
|
const debug = { log: (message) => {
|
|
47
47
|
}}
|
|
48
48
|
</script>
|
|
49
49
|
|
|
50
|
-
<script id="data-tables-control-template" type="x-tmpl-mustache">
|
|
50
|
+
<script id="data-tables-control-template" type="x-tmpl-mustache">
|
|
51
|
+
{{#quickLookup}}
|
|
52
|
+
<div class="data-tables-quick-filter-input-wrapper">
|
|
53
|
+
<input id="{{tableId}}-quick-filter-input" class="form-control data-tables-quick-filter-input" placeholder="Quick search..." aria-quicksearch="{{tableId}}"/>
|
|
54
|
+
</div>
|
|
55
|
+
{{/quickLookup}}
|
|
56
|
+
|
|
57
|
+
<div class="data-tables-filter-input-wrapper">
|
|
51
58
|
<input id="{{tableId}}-filter-input" class="form-control data-tables-filter-input" placeholder="Search results..." aria-controls="{{tableId}}"/>
|
|
52
59
|
</div>
|
|
53
60
|
{{#useFilters}}
|
|
@@ -572,36 +579,36 @@
|
|
|
572
579
|
</div>
|
|
573
580
|
</script>
|
|
574
581
|
|
|
575
|
-
<script src="https://cdn.melee.gg/scripts/site.min.js?v=0.3.
|
|
576
|
-
<script src="https://cdn.melee.gg/scripts/font-awesome.min.js?v=0.3.
|
|
577
|
-
<script src="/Scripts/flattsware.core.min.js?v=0.3.
|
|
578
|
-
<script src="/Scripts/flattsware.filters.min.js?v=0.3.
|
|
579
|
-
<script src="/Scripts/flattsware.enums.min.js?v=0.3.
|
|
580
|
-
<script src="/Scripts/flattsware.standings.min.js?v=0.3.
|
|
581
|
-
<script src="/Scripts/flattsware.datatables.min.js?v=0.3.
|
|
582
|
-
<script src="/Scripts/flattsware.datetime.min.js?v=0.3.
|
|
583
|
-
<script src="/Scripts/flattsware.encode.min.js?v=0.3.
|
|
584
|
-
<script src="/Scripts/flattsware.regex.min.js?v=0.3.
|
|
585
|
-
<script src="/Scripts/flattsware.notify.min.js?v=0.3.
|
|
586
|
-
<script src="/Scripts/flattsware.spinner.min.js?v=0.3.
|
|
587
|
-
<script src="/Scripts/flattsware.forms.min.js?v=0.3.
|
|
588
|
-
<script src="/Scripts/flattsware.decklist.min.js?v=0.3.
|
|
589
|
-
<script src="/Scripts/flattsware.idle.min.js?v=0.3.
|
|
590
|
-
<script src="/Scripts/flattsware.hovercard.min.js?v=0.3.
|
|
591
|
-
<script src="/Scripts/flattsware.chart.min.js?v=0.3.
|
|
592
|
-
<script src="/Scripts/flattsware.formats.min.js?v=0.3.
|
|
593
|
-
<script src="/Scripts/flattsware.star-rating.min.js?v=0.3.
|
|
594
|
-
<script src="/Scripts/flattsware.progress.min.js?v=0.3.
|
|
595
|
-
<script src="/Scripts/flattsware.location.min.js?v=0.3.
|
|
596
|
-
<script src="/Scripts/flattsware.players.min.js?v=0.3.
|
|
597
|
-
<script src="/signalr/hubs?v=0.3.
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
<script src="/Scripts/wp-banners.min.js?v=0.3.
|
|
603
|
-
<script async src="https://www.googletagmanager.com/gtag/js?id
|
|
604
|
-
<script src="/Scripts/google-analytics.min.js?v=0.3.
|
|
582
|
+
<script src="https://cdn.melee.gg/scripts/site.min.js?v=0.3.63.85"></script>
|
|
583
|
+
<script src="https://cdn.melee.gg/scripts/font-awesome.min.js?v=0.3.63.85"></script>
|
|
584
|
+
<script src="/Scripts/flattsware.core.min.js?v=0.3.63.85&lg=en"></script>
|
|
585
|
+
<script src="/Scripts/flattsware.filters.min.js?v=0.3.63.85&lg=en"></script>
|
|
586
|
+
<script src="/Scripts/flattsware.enums.min.js?v=0.3.63.85&lg=en"></script>
|
|
587
|
+
<script src="/Scripts/flattsware.standings.min.js?v=0.3.63.85&lg=en"></script>
|
|
588
|
+
<script src="/Scripts/flattsware.datatables.min.js?v=0.3.63.85&lg=en"></script>
|
|
589
|
+
<script src="/Scripts/flattsware.datetime.min.js?v=0.3.63.85&lg=en"></script>
|
|
590
|
+
<script src="/Scripts/flattsware.encode.min.js?v=0.3.63.85&lg=en"></script>
|
|
591
|
+
<script src="/Scripts/flattsware.regex.min.js?v=0.3.63.85&lg=en"></script>
|
|
592
|
+
<script src="/Scripts/flattsware.notify.min.js?v=0.3.63.85&lg=en"></script>
|
|
593
|
+
<script src="/Scripts/flattsware.spinner.min.js?v=0.3.63.85&lg=en"></script>
|
|
594
|
+
<script src="/Scripts/flattsware.forms.min.js?v=0.3.63.85&lg=en"></script>
|
|
595
|
+
<script src="/Scripts/flattsware.decklist.min.js?v=0.3.63.85&lg=en"></script>
|
|
596
|
+
<script src="/Scripts/flattsware.idle.min.js?v=0.3.63.85&lg=en"></script>
|
|
597
|
+
<script src="/Scripts/flattsware.hovercard.min.js?v=0.3.63.85&lg=en"></script>
|
|
598
|
+
<script src="/Scripts/flattsware.chart.min.js?v=0.3.63.85&lg=en"></script>
|
|
599
|
+
<script src="/Scripts/flattsware.formats.min.js?v=0.3.63.85&lg=en"></script>
|
|
600
|
+
<script src="/Scripts/flattsware.star-rating.min.js?v=0.3.63.85&lg=en"></script>
|
|
601
|
+
<script src="/Scripts/flattsware.progress.min.js?v=0.3.63.85&lg=en"></script>
|
|
602
|
+
<script src="/Scripts/flattsware.location.min.js?v=0.3.63.85&lg=en"></script>
|
|
603
|
+
<script src="/Scripts/flattsware.players.min.js?v=0.3.63.85&lg=en"></script>
|
|
604
|
+
<script src="/signalr/hubs?v=0.3.63.85"></script>
|
|
605
|
+
|
|
606
|
+
|
|
607
|
+
|
|
608
|
+
|
|
609
|
+
<script src="/Scripts/wp-banners.min.js?v=0.3.63.85&lg=en"></script>
|
|
610
|
+
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-162951615-1"></script>
|
|
611
|
+
<script src="/Scripts/google-analytics.min.js?v=0.3.63.85&lg=en"></script>
|
|
605
612
|
|
|
606
613
|
<!-- Datadog RUM (CDN async) -->
|
|
607
614
|
<script>
|
|
@@ -610,7 +617,7 @@
|
|
|
610
617
|
d=o.createElement(u);d.async=1;d.src=n
|
|
611
618
|
n=o.getElementsByTagName(u)[0];n.parentNode.insertBefore(d,n)
|
|
612
619
|
})(window,document,'script','https://www.datadoghq-browser-agent.com/us5/v6/datadog-rum.js','DD_RUM')
|
|
613
|
-
window.DD_RUM.onReady(function() {
|
|
620
|
+
window.DD_RUM.onReady(function() {
|
|
614
621
|
window.DD_RUM.init({
|
|
615
622
|
clientToken: 'pub22e31ccd740f290ba9b4a07ad7565c22',
|
|
616
623
|
applicationId: '2e019cb6-dc4b-4076-b6e6-c2e701b2d0eb',
|
|
@@ -620,14 +627,14 @@
|
|
|
620
627
|
sessionSampleRate: 1,
|
|
621
628
|
sessionReplaySampleRate: 1,
|
|
622
629
|
trackInteractions: true,
|
|
623
|
-
defaultPrivacyLevel: 'mask-user-input',
|
|
630
|
+
defaultPrivacyLevel: 'mask-user-input',
|
|
624
631
|
debug: true
|
|
625
632
|
});
|
|
626
633
|
})
|
|
627
634
|
</script>
|
|
628
635
|
<!-- End Datadog RUM -->
|
|
629
636
|
|
|
630
|
-
|
|
637
|
+
|
|
631
638
|
</head>
|
|
632
639
|
<body>
|
|
633
640
|
|
|
@@ -655,7 +662,7 @@
|
|
|
655
662
|
Cookie Preferences
|
|
656
663
|
</button>
|
|
657
664
|
</li>
|
|
658
|
-
</ul>
|
|
665
|
+
</ul>
|
|
659
666
|
</div>
|
|
660
667
|
<div class="tab-content container" id="cookies__tab__content">
|
|
661
668
|
<div class="tab-pane fade show active" id="content" role="tabpanel" aria-labelledby="content-tab">
|
|
@@ -747,7 +754,7 @@
|
|
|
747
754
|
</div>
|
|
748
755
|
</div>
|
|
749
756
|
<div id="validationMessage" style="color: red;"></div>
|
|
750
|
-
</div>
|
|
757
|
+
</div>
|
|
751
758
|
<br />
|
|
752
759
|
<div class="col-md-12">
|
|
753
760
|
<div class="button__section btn-preference-group">
|
|
@@ -790,8 +797,8 @@
|
|
|
790
797
|
const customSave = $("#customSave");
|
|
791
798
|
const necessaryOnlyButton = $("#necessaryOnlyButton");
|
|
792
799
|
const functional_cookies = $("#functional_cookies");
|
|
793
|
-
const analytical_cookies = $("#analytical_cookies");
|
|
794
|
-
const essential_cookies = $("#essential_cookies");
|
|
800
|
+
const analytical_cookies = $("#analytical_cookies");
|
|
801
|
+
const essential_cookies = $("#essential_cookies");
|
|
795
802
|
const validationMessage = $("#validationMessage");
|
|
796
803
|
const customizeButton = $("#customizeButton");
|
|
797
804
|
const detailTabButton = $("#detail-tab");
|
|
@@ -801,18 +808,18 @@
|
|
|
801
808
|
});
|
|
802
809
|
|
|
803
810
|
allowAllButton.on("click", function () {
|
|
804
|
-
allowAllCookies();
|
|
811
|
+
allowAllCookies();
|
|
805
812
|
});
|
|
806
813
|
|
|
807
814
|
acceptAllCookie.on("click", function () {
|
|
808
|
-
allowAllCookies();
|
|
815
|
+
allowAllCookies();
|
|
809
816
|
});
|
|
810
817
|
|
|
811
818
|
if (false) {
|
|
812
819
|
functional_cookies.prop("checked", true);
|
|
813
820
|
}
|
|
814
821
|
else {
|
|
815
|
-
functional_cookies.prop("checked", false);
|
|
822
|
+
functional_cookies.prop("checked", false);
|
|
816
823
|
showValidationMessage();
|
|
817
824
|
}
|
|
818
825
|
if (false) {
|
|
@@ -823,18 +830,18 @@
|
|
|
823
830
|
|
|
824
831
|
analytical_cookies.on("click", hideValidationMessage);
|
|
825
832
|
functional_cookies.on("click", hideValidationMessage);
|
|
826
|
-
functional_cookies.on("change", function () {
|
|
833
|
+
functional_cookies.on("change", function () {
|
|
827
834
|
if (!functional_cookies.prop("checked")) {
|
|
828
835
|
showValidationMessage();
|
|
829
836
|
}
|
|
830
837
|
});
|
|
831
|
-
|
|
838
|
+
|
|
832
839
|
customSave.on("click", function () {
|
|
833
840
|
setCookies({
|
|
834
841
|
essentialCookie: essential_cookies.prop("checked"),
|
|
835
842
|
analyticalCookie: analytical_cookies.prop("checked"),
|
|
836
843
|
functionalCookie: functional_cookies.prop("checked")
|
|
837
|
-
});
|
|
844
|
+
});
|
|
838
845
|
});
|
|
839
846
|
|
|
840
847
|
necessaryOnlyButton.on("click", function () {
|
|
@@ -853,7 +860,7 @@
|
|
|
853
860
|
validationMessage.text(`To use Paypal services it is necessary to accept functional cookies.`);
|
|
854
861
|
}
|
|
855
862
|
|
|
856
|
-
function hideCookiesModal() {
|
|
863
|
+
function hideCookiesModal() {
|
|
857
864
|
$('.cookies__modal').modal('hide');
|
|
858
865
|
$('.modal-backdrop').hide();
|
|
859
866
|
location.reload();
|
|
@@ -861,8 +868,8 @@
|
|
|
861
868
|
|
|
862
869
|
function allowAllCookies() {
|
|
863
870
|
const currentPageUrl = window.location.pathname;
|
|
864
|
-
const url = `/Home/AllowAllCookies`;
|
|
865
|
-
const requestData = {
|
|
871
|
+
const url = `/Home/AllowAllCookies`;
|
|
872
|
+
const requestData = {
|
|
866
873
|
returnUrl: currentPageUrl
|
|
867
874
|
};
|
|
868
875
|
$.ajax({
|
|
@@ -870,7 +877,7 @@
|
|
|
870
877
|
method: "POST",
|
|
871
878
|
contentType: "application/json",
|
|
872
879
|
data: JSON.stringify(requestData),
|
|
873
|
-
success: function (data) {
|
|
880
|
+
success: function (data) {
|
|
874
881
|
hideCookiesModal();
|
|
875
882
|
}
|
|
876
883
|
});
|
|
@@ -878,7 +885,7 @@
|
|
|
878
885
|
|
|
879
886
|
function setCookies(cookieDto) {
|
|
880
887
|
const currentPageUrl = window.location.pathname;
|
|
881
|
-
const url = `/Home/SetCookies`;
|
|
888
|
+
const url = `/Home/SetCookies`;
|
|
882
889
|
const requestData = {
|
|
883
890
|
returnUrl: currentPageUrl,
|
|
884
891
|
cookiesDto: cookieDto
|
|
@@ -894,7 +901,7 @@
|
|
|
894
901
|
});
|
|
895
902
|
};
|
|
896
903
|
});
|
|
897
|
-
</script>
|
|
904
|
+
</script>
|
|
898
905
|
|
|
899
906
|
<span id="hovercard"></span>
|
|
900
907
|
|
|
@@ -1461,7 +1468,9 @@
|
|
|
1461
1468
|
<a class="mega-menu-dropdown-link" href="/Organization/Index"><i class="fas fa-caret-right"></i><span class="ml-3">All Organizers</span></a>
|
|
1462
1469
|
<a class="mega-menu-dropdown-link" href="/Profile/Organizations"><i class="fas fa-caret-right"></i><span class="ml-3">Your Organizations</span></a>
|
|
1463
1470
|
<a class="mega-menu-dropdown-link" href="/Organization/Dashboard"><i class="fas fa-caret-right"></i><span class="ml-3">Your Organizer Dashboard</span></a>
|
|
1464
|
-
<a class="mega-menu-dropdown-link
|
|
1471
|
+
<a class="mega-menu-dropdown-link tournament-create-modal" href="#">
|
|
1472
|
+
<i class="fas fa-caret-right"></i><span class="ml-3">Create a Tournament</span>
|
|
1473
|
+
</a>
|
|
1465
1474
|
<a class="mega-menu-dropdown-link" href="/TournamentHub/Edit"><i class="fas fa-caret-right"></i><span class="ml-3">Create a Tournament Hub</span></a>
|
|
1466
1475
|
</div>
|
|
1467
1476
|
</div>
|
|
@@ -1486,7 +1495,7 @@
|
|
|
1486
1495
|
</div>
|
|
1487
1496
|
</div>
|
|
1488
1497
|
</li>
|
|
1489
|
-
|
|
1498
|
+
|
|
1490
1499
|
<li class="nav-item dropdown">
|
|
1491
1500
|
<a id="language-dropdown-link" class="nav-link dropdown-toggle text-warning" data-toggle="dropdown" href="#" aria-expanded="false" aria-haspopup="true">
|
|
1492
1501
|
<i class="fa-duotone fa-globe mr-2" style="font-size: 20px"></i>Language
|
|
@@ -1508,7 +1517,7 @@
|
|
|
1508
1517
|
</div>
|
|
1509
1518
|
</li>
|
|
1510
1519
|
</ul>
|
|
1511
|
-
|
|
1520
|
+
|
|
1512
1521
|
<ul class="navbar-nav">
|
|
1513
1522
|
<li class="nav-item dropdown">
|
|
1514
1523
|
<a id="account-dropdown-link" class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" aria-expanded="false" aria-haspopup="true">
|
|
@@ -1529,7 +1538,7 @@
|
|
|
1529
1538
|
$(() => {
|
|
1530
1539
|
//selector needs to have no classes on them or the wont trigger
|
|
1531
1540
|
$('nav div li').on('click', function() {
|
|
1532
|
-
|
|
1541
|
+
|
|
1533
1542
|
if ($(this).parents('nav').hasClass('navbar-active')){
|
|
1534
1543
|
$('.navbar-collapse').collapse('hide');
|
|
1535
1544
|
|
|
@@ -1582,7 +1591,7 @@
|
|
|
1582
1591
|
</div>
|
|
1583
1592
|
|
|
1584
1593
|
<div class="profile-button-column flex-column">
|
|
1585
|
-
|
|
1594
|
+
|
|
1586
1595
|
<img class="m-auto" src="https://cdn.melee.gg/userphotos/userprofiles/e59718fe-23b6-475c-91b6-b393fc0f569d.jpg?v=1" alt="" style="height: 150px; width: 150px;" onerror="this.onerror=null;this.src='/images/blank-user-profile-photo.png';"/>
|
|
1587
1596
|
</div>
|
|
1588
1597
|
</div>
|
|
@@ -1781,7 +1790,7 @@ $(() => {
|
|
|
1781
1790
|
<div class="footer-corp">
|
|
1782
1791
|
<img width="40" height="54" src="/images/keyrune-logo.png"/>
|
|
1783
1792
|
<span>
|
|
1784
|
-
All original content on this page is © 2019-2026 Keyrune Incorporated, its licensors, or its partners and may not be used or reproduced without explicit permission. All trademarks are the property of their respective owners. v0.3.
|
|
1793
|
+
All original content on this page is © 2019-2026 Keyrune Incorporated, its licensors, or its partners and may not be used or reproduced without explicit permission. All trademarks are the property of their respective owners. v0.3.63.85
|
|
1785
1794
|
</span>
|
|
1786
1795
|
</div>
|
|
1787
1796
|
|
|
@@ -1800,6 +1809,12 @@ $(() => {
|
|
|
1800
1809
|
</div>
|
|
1801
1810
|
</div>
|
|
1802
1811
|
|
|
1812
|
+
<script>
|
|
1813
|
+
$(document).on('click', '.add-organization-modal, .tournament-create-modal', (e) => {
|
|
1814
|
+
e.preventDefault();
|
|
1815
|
+
window.location.href = '/Account/SignIn';
|
|
1816
|
+
});
|
|
1817
|
+
</script>
|
|
1803
1818
|
|
|
1804
1819
|
</footer>
|
|
1805
1820
|
|
|
@@ -1867,4 +1882,4 @@ $(() => {
|
|
|
1867
1882
|
</div>
|
|
1868
1883
|
</div>
|
|
1869
1884
|
</body>
|
|
1870
|
-
</html>
|
|
1885
|
+
</html>
|
package/test/data/mtgElo.html
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"> <head><link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Ubuntu:regular,bold&subset=Latin"><meta charset="UTF-8"><meta property="og:title" content="MTG Elo Project - MTG Elo Project - Bjoern Kimminich"><meta property="og:type" content="website"><meta property="og:url" content="https://www.mtgeloproject.net"><meta property="og:description" content="Stats and match history for Bjoern Kimminich"><meta name="twitter:card" content="summary"><meta name="twitter:title" content="MTG Elo Project - MTG Elo Project - Bjoern Kimminich"><meta name="twitter:description" content="Stats and match history for Bjoern Kimminich"><meta name="description" content="MTG Elo Project"><meta name="viewport" content="width=device-width"><meta name="generator" content="Astro v4.15.12"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><title>MTG Elo Project - Bjoern Kimminich</title><link rel="stylesheet" href="/_astro/_slug_php.CEHXRJOi.css">
|
|
2
|
-
<style>.dropdown-content{font-size:14px;position:absolute;background-color:#f9f9f9;right:0;box-shadow:0 8px 16px #0003;z-index:+1;cursor:pointer}.tournament-list,.year-list{list-style:none;padding:0;margin:0;flex-direction:column;display:inline-flex;max-width:400px}.dropdown-year{color:#000;padding:4px 24px;text-decoration:none;z-index:+1;display:flex;width:-moz-max-content;width:max-content;position:relative}.year-list>li>.year-events{display:none;flex-direction:column;list-style:none;padding:0;margin:0;position:absolute;right:100%;top:0;box-shadow:0 8px 16px #0003;text-align:left;z-index:2;background:#fff;max-width:400px}.dropdown-tournament{color:#000;padding:4px 8px 4px 4px;text-decoration:none;z-index:+2;display:block;white-space:nowrap;position:relative}.dropdown-tournament:hover{background:#f1f1f1}.year-list li:hover>.year-events{display:inline-flex}.year-list ul li:focus>.year-events{display:inline-flex}.summary>div{height:16px}
|
|
3
|
-
</style>
|
|
4
|
-
<link rel="stylesheet" href="/_astro/_slug_.D75Bqdw4.css"></head> <body class="w-[710px] lg:w-[100dvw] leading-tight p-2"> <div class="block mb-1"> <!-- <span class="block w-full lg:w-[860px] text-center text-[16px] py-1 bg-red-300">
|
|
5
|
-
Sep 5, 11pm Eastern: The site is being refreshed. Some data may be a little wonky. Thanks for your patience!
|
|
6
|
-
</span> --> <span class="block w-full lg:w-[860px] text-center text-[16px] py-1 bg-green-300">
|
|
7
|
-
Welcome to Elo 2.0! See the recent <a href="/blog/58" class="text-blink hover:underline">blog post</a> to learn more.
|
|
8
|
-
</span> </div> <div class="linkdiv hidden lg:block" data-astro-cid-lxcip4ca> <ul class="list-none w-[145px] text-[13pt]" data-astro-cid-lxcip4ca> <li data-astro-cid-lxcip4ca><a class="block py-[3px] px-1 hover:bg-gray" href="/" data-astro-cid-lxcip4ca>home</a></li> <li data-astro-cid-lxcip4ca><a class="block py-[3px] px-1 hover:bg-gray" href="/leaders/all" data-astro-cid-lxcip4ca>leaders</a></li> <li data-astro-cid-lxcip4ca><a class="block py-[3px] px-1 hover:bg-gray" href="/stats" data-astro-cid-lxcip4ca>statistics</a></li> <li data-astro-cid-lxcip4ca><a class="block py-[3px] px-1 hover:bg-gray" href="/headtohead" data-astro-cid-lxcip4ca>head to head</a></li> <!--<li><a href="proteams.php">pro teams</a></li>--> <!--<li><a href="team.php">custom team</a></li>--> <!--<li><a href="mplseason.php">MPL</a></li>--> <li data-astro-cid-lxcip4ca><a class="block py-[3px] px-1 hover:bg-gray" href="/faq" data-astro-cid-lxcip4ca>FAQ</a></li> <li data-astro-cid-lxcip4ca><a class="block py-[3px] px-1 hover:bg-gray" href="/blog" data-astro-cid-lxcip4ca>blog</a></li> <li data-astro-cid-lxcip4ca><a class="block py-[3px] px-1 hover:bg-gray" href="/links" data-astro-cid-lxcip4ca>links</a></li> <li data-astro-cid-lxcip4ca><a class="block py-[3px] px-1 hover:bg-gray" href="/contact" data-astro-cid-lxcip4ca>contact</a></li> <li class="block py-[3px] px-1 hover:bg-gray text-nines" data-astro-cid-lxcip4ca>events</li> <li class="block py-[3px] px-1 hover:bg-gray text-nines" data-astro-cid-lxcip4ca>coverage</li> <li class="block py-[3px] px-1 hover:bg-gray text-nines" data-astro-cid-lxcip4ca>custom team</li> <li data-astro-cid-lxcip4ca><a class="block py-[3px] px-1 hover:bg-gray" href="https://www.patreon.com/mtgeloproject" style="color:#060" data-astro-cid-lxcip4ca>Patreon</a></li> </ul> </div> <!-- <MobileMenu client:only /> --> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).load=e;window.dispatchEvent(new Event("astro:load"));})();;(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script><astro-island uid="12oLMo" prefix="r0" component-url="/_astro/Search.BA4QD767.js" component-export="default" renderer-url="/_astro/client.csHNARWA.js" props="{"first":[0],"last":[0]}" ssr="" client="load" opts="{"name":"Search","value":true}" await-children=""><div class="lg:block lg:w-auto w-full inline-flex flex-row justify-between"><div class="lg:hidden z-10 inline-block" data-headlessui-state=""><button class=" lg:hidden relative inline-flex items-center justify-center rounded-md p-2 hover:bg-white focus:outline-none focus:ring-2 focus:ring-inset focus:ring-gray-500" id="headlessui-disclosure-button-:r0R5:" type="button" aria-expanded="false" data-headlessui-state=""><span class="absolute -inset-0.5"></span><span class="sr-only">Open main menu</span><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon" class="block h-6 w-6"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5"></path></svg></button></div><form class="inline-flex flex-row gap-1 lg:inline-block lg:h-[80px] pt-[2px]" autoComplete="off"><input type="hidden" hidden="" readonly="" style="position:fixed;top:1px;left:1px;width:1px;height:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;display:none"/><input type="hidden" hidden="" readonly="" name="last_name[last]" style="position:fixed;top:1px;left:1px;width:1px;height:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;display:none" value=""/><input aria-label="Last Name" placeholder="last name" class="lg:mr-4 rounded-lg border border-cookie focus:bg-gray py-1.5 px-2" id="headlessui-combobox-input-:r0R1mm:" role="combobox" type="text" aria-expanded="false" aria-autocomplete="list" data-headlessui-state=""/><input type="hidden" hidden="" readonly="" style="position:fixed;top:1px;left:1px;width:1px;height:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;display:none"/><input type="hidden" hidden="" readonly="" name="first_name[first_name]" style="position:fixed;top:1px;left:1px;width:1px;height:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;display:none" value=""/><input aria-label="First Name" placeholder="first name" class="lg:mr-4 rounded-lg border border-cookie focus:bg-gray py-1.5 px-2" id="headlessui-combobox-input-:r0R1n6:" role="combobox" type="text" aria-expanded="false" aria-autocomplete="list" data-headlessui-state=""/><input type="submit" class="text-[14px] bg-gray border border-nines p-1 rounded-[5px] focus:bg-nuts hover:bg-nuts" value="Search"/></form></div><!--astro:end--></astro-island> <main class="mx-4 lg:mx-[150px]"> <div class="w-[710px] inline-block"> <script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event("astro:only"));})();</script><astro-island uid="
|
|
1
|
+
<!DOCTYPE html><html lang="en"> <head><link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Ubuntu:regular,bold&subset=Latin"><meta charset="UTF-8"><meta property="og:title" content="MTG Elo Project - MTG Elo Project - Bjoern Kimminich"><meta property="og:type" content="website"><meta property="og:url" content="https://www.mtgeloproject.net"><meta property="og:description" content="Stats and match history for Bjoern Kimminich"><meta name="twitter:card" content="summary"><meta name="twitter:title" content="MTG Elo Project - MTG Elo Project - Bjoern Kimminich"><meta name="twitter:description" content="Stats and match history for Bjoern Kimminich"><meta name="description" content="MTG Elo Project"><meta name="viewport" content="width=device-width"><meta name="generator" content="Astro v4.15.12"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><title>MTG Elo Project - Bjoern Kimminich</title><link rel="stylesheet" href="/_astro/_slug_php.CEHXRJOi.css">
|
|
2
|
+
<style>.dropdown-content{font-size:14px;position:absolute;background-color:#f9f9f9;right:0;box-shadow:0 8px 16px #0003;z-index:+1;cursor:pointer}.tournament-list,.year-list{list-style:none;padding:0;margin:0;flex-direction:column;display:inline-flex;max-width:400px}.dropdown-year{color:#000;padding:4px 24px;text-decoration:none;z-index:+1;display:flex;width:-moz-max-content;width:max-content;position:relative}.year-list>li>.year-events{display:none;flex-direction:column;list-style:none;padding:0;margin:0;position:absolute;right:100%;top:0;box-shadow:0 8px 16px #0003;text-align:left;z-index:2;background:#fff;max-width:400px}.dropdown-tournament{color:#000;padding:4px 8px 4px 4px;text-decoration:none;z-index:+2;display:block;white-space:nowrap;position:relative}.dropdown-tournament:hover{background:#f1f1f1}.year-list li:hover>.year-events{display:inline-flex}.year-list ul li:focus>.year-events{display:inline-flex}.summary>div{height:16px}
|
|
3
|
+
</style>
|
|
4
|
+
<link rel="stylesheet" href="/_astro/_slug_.D75Bqdw4.css"></head> <body class="w-[710px] lg:w-[100dvw] leading-tight p-2"> <div class="block mb-1"> <!-- <span class="block w-full lg:w-[860px] text-center text-[16px] py-1 bg-red-300">
|
|
5
|
+
Sep 5, 11pm Eastern: The site is being refreshed. Some data may be a little wonky. Thanks for your patience!
|
|
6
|
+
</span> --> <span class="block w-full lg:w-[860px] text-center text-[16px] py-1 bg-green-300">
|
|
7
|
+
Welcome to Elo 2.0! See the recent <a href="/blog/58" class="text-blink hover:underline">blog post</a> to learn more.
|
|
8
|
+
</span> </div> <div class="linkdiv hidden lg:block" data-astro-cid-lxcip4ca> <ul class="list-none w-[145px] text-[13pt]" data-astro-cid-lxcip4ca> <li data-astro-cid-lxcip4ca><a class="block py-[3px] px-1 hover:bg-gray" href="/" data-astro-cid-lxcip4ca>home</a></li> <li data-astro-cid-lxcip4ca><a class="block py-[3px] px-1 hover:bg-gray" href="/leaders/all" data-astro-cid-lxcip4ca>leaders</a></li> <li data-astro-cid-lxcip4ca><a class="block py-[3px] px-1 hover:bg-gray" href="/stats" data-astro-cid-lxcip4ca>statistics</a></li> <li data-astro-cid-lxcip4ca><a class="block py-[3px] px-1 hover:bg-gray" href="/headtohead" data-astro-cid-lxcip4ca>head to head</a></li> <!--<li><a href="proteams.php">pro teams</a></li>--> <!--<li><a href="team.php">custom team</a></li>--> <!--<li><a href="mplseason.php">MPL</a></li>--> <li data-astro-cid-lxcip4ca><a class="block py-[3px] px-1 hover:bg-gray" href="/faq" data-astro-cid-lxcip4ca>FAQ</a></li> <li data-astro-cid-lxcip4ca><a class="block py-[3px] px-1 hover:bg-gray" href="/blog" data-astro-cid-lxcip4ca>blog</a></li> <li data-astro-cid-lxcip4ca><a class="block py-[3px] px-1 hover:bg-gray" href="/links" data-astro-cid-lxcip4ca>links</a></li> <li data-astro-cid-lxcip4ca><a class="block py-[3px] px-1 hover:bg-gray" href="/contact" data-astro-cid-lxcip4ca>contact</a></li> <li class="block py-[3px] px-1 hover:bg-gray text-nines" data-astro-cid-lxcip4ca>events</li> <li class="block py-[3px] px-1 hover:bg-gray text-nines" data-astro-cid-lxcip4ca>coverage</li> <li class="block py-[3px] px-1 hover:bg-gray text-nines" data-astro-cid-lxcip4ca>custom team</li> <li data-astro-cid-lxcip4ca><a class="block py-[3px] px-1 hover:bg-gray" href="https://www.patreon.com/mtgeloproject" style="color:#060" data-astro-cid-lxcip4ca>Patreon</a></li> </ul> </div> <!-- <MobileMenu client:only /> --> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).load=e;window.dispatchEvent(new Event("astro:load"));})();;(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script><astro-island uid="12oLMo" prefix="r0" component-url="/_astro/Search.BA4QD767.js" component-export="default" renderer-url="/_astro/client.csHNARWA.js" props="{"first":[0],"last":[0]}" ssr="" client="load" opts="{"name":"Search","value":true}" await-children=""><div class="lg:block lg:w-auto w-full inline-flex flex-row justify-between"><div class="lg:hidden z-10 inline-block" data-headlessui-state=""><button class=" lg:hidden relative inline-flex items-center justify-center rounded-md p-2 hover:bg-white focus:outline-none focus:ring-2 focus:ring-inset focus:ring-gray-500" id="headlessui-disclosure-button-:r0R5:" type="button" aria-expanded="false" data-headlessui-state=""><span class="absolute -inset-0.5"></span><span class="sr-only">Open main menu</span><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon" class="block h-6 w-6"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5"></path></svg></button></div><form class="inline-flex flex-row gap-1 lg:inline-block lg:h-[80px] pt-[2px]" autoComplete="off"><input type="hidden" hidden="" readonly="" style="position:fixed;top:1px;left:1px;width:1px;height:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;display:none"/><input type="hidden" hidden="" readonly="" name="last_name[last]" style="position:fixed;top:1px;left:1px;width:1px;height:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;display:none" value=""/><input aria-label="Last Name" placeholder="last name" class="lg:mr-4 rounded-lg border border-cookie focus:bg-gray py-1.5 px-2" id="headlessui-combobox-input-:r0R1mm:" role="combobox" type="text" aria-expanded="false" aria-autocomplete="list" data-headlessui-state=""/><input type="hidden" hidden="" readonly="" style="position:fixed;top:1px;left:1px;width:1px;height:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;display:none"/><input type="hidden" hidden="" readonly="" name="first_name[first_name]" style="position:fixed;top:1px;left:1px;width:1px;height:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;display:none" value=""/><input aria-label="First Name" placeholder="first name" class="lg:mr-4 rounded-lg border border-cookie focus:bg-gray py-1.5 px-2" id="headlessui-combobox-input-:r0R1n6:" role="combobox" type="text" aria-expanded="false" aria-autocomplete="list" data-headlessui-state=""/><input type="submit" class="text-[14px] bg-gray border border-nines p-1 rounded-[5px] focus:bg-nuts hover:bg-nuts" value="Search"/></form></div><!--astro:end--></astro-island> <main class="mx-4 lg:mx-[150px]"> <div class="w-[710px] inline-block"> <script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event("astro:only"));})();</script><astro-island uid="Z1Nr0tb" component-url="/_astro/Profile.D6E0cspP.js" component-export="default" renderer-url="/_astro/client.csHNARWA.js" props="{"playerid":[0,"3irvwtmk"],"info":[0,{"id":[0,"3irvwtmk"],"first_name":[0,"Bjoern"],"last_name":[0,"Kimminich"],"record":[1,[[0,9],[0,12],[0,1]]],"pro_record":[1,[[0,null],[0,null],[0,null]]],"current_rating":[0,1465.76],"ranking":[0,161345],"active_ranking":[0,28491],"best_event":[0,"ssutr25"],"best_round":[0,"7"],"best_id":[0,3852351],"nakamura_number":[0,2],"nakamura_match_id":[0,3962471]}]}" ssr="" client="only" opts="{"name":"Profile","value":"react"}"></astro-island> </div> </main> </body></html>
|