Êþº¾Eh  net/minecraft/stats/StatType getRegistry()Lnet/minecraft/core/Registry;   net/minecraft/core/Registry byNameCodec"()Lcom/mojang/serialization/Codec;  java/util/ObjectsrequireNonNull&(Ljava/lang/Object;)Ljava/lang/Object; apply=(Lnet/minecraft/stats/StatType;)Ljava/util/function/Function;  com/mojang/serialization/Codec flatComapMap\(Ljava/util/function/Function;Ljava/util/function/Function;)Lcom/mojang/serialization/Codec;  !INT0Lcom/mojang/serialization/codecs/PrimitiveCodec; # $% unboundedMapu(Lcom/mojang/serialization/Codec;Lcom/mojang/serialization/Codec;)Lcom/mojang/serialization/codecs/UnboundedMapCodec; '() *+ net/minecraft/stats/StatsCounter()V -./ 01com/google/common/collect/Sets newHashSet()Ljava/util/HashSet; 345 67&net/minecraft/stats/ServerStatsCounterdirtyLjava/util/Set; 39 :;fileLjava/nio/file/Path;=java/nio/file/LinkOption ?@A BCjava/nio/file/Files isRegularFile2(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z EFG HI!java/nio/charset/StandardCharsetsUTF_8Ljava/nio/charset/Charset; ?K LMnewBufferedReaderH(Ljava/nio/file/Path;Ljava/nio/charset/Charset;)Ljava/io/BufferedReader; OPQ RS#net/minecraft/util/StrictJsonParserparse/(Ljava/io/Reader;)Lcom/google/gson/JsonElement; UVW XY$net/minecraft/server/MinecraftServer getFixerUpper#()Lcom/mojang/datafixers/DataFixer; 3[ R\A(Lcom/mojang/datafixers/DataFixer;Lcom/google/gson/JsonElement;)V ^_` a+java/io/Readerclosecjava/lang/Throwable be fg addSuppressed(Ljava/lang/Throwable;)Vijava/io/IOException 3k lmLOGGERLorg/slf4j/Logger;o Couldn't read statistics file {} qrs tuorg/slf4j/Loggererror9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Vw"com/google/gson/JsonParseExceptiony!Couldn't parse statistics file {} {|} ~java/nio/file/Path getParent()Ljava/nio/file/Path; �‚ƒ „…net/minecraft/util/FileUtilcreateDirectoriesSafe(Ljava/nio/file/Path;)V‡java/nio/file/OpenOption ?‰ Š‹newBufferedWriterc(Ljava/nio/file/Path;Ljava/nio/charset/Charset;[Ljava/nio/file/OpenOption;)Ljava/io/BufferedWriter; 3� Ž�GSONLcom/google/gson/Gson; 3‘ ’“toJson()Lcom/google/gson/JsonElement; •–— ˜™com/google/gson/Gson newJsonWriter5(Ljava/io/Writer;)Lcom/google/gson/stream/JsonWriter; •› ’œC(Lcom/google/gson/JsonElement;Lcom/google/gson/stream/JsonWriter;)V ž_Ÿjava/io/Writer¡com/google/gson/JsonIOException£Couldn't save stats to {} '¥ ¦§setValueH(Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/stats/Stat;I)V ©ª« ¬­ java/util/Setadd(Ljava/lang/Object;)Z -¯ 0°)(Ljava/lang/Iterable;)Ljava/util/HashSet; ©² ³+clearµ com/mojang/serialization/Dynamic ·¸¹ º» com/mojang/serialization/JsonOpsINSTANCE"Lcom/mojang/serialization/JsonOps; ´½ *¾:(Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)V ÀÁ ÃÄ'net/minecraft/util/datafix/DataFixTypesSTATS)Lnet/minecraft/util/datafix/DataFixTypes; ÆÇÈ ÉÊnet/minecraft/nbt/NbtUtilsgetDataVersion&(Lcom/mojang/serialization/Dynamic;I)I ÀÌ ÍÎupdateToCurrentVersionh(Lcom/mojang/datafixers/DataFixer;Lcom/mojang/serialization/Dynamic;I)Lcom/mojang/serialization/Dynamic; 3Ð ÑÒstats-Lit/unimi/dsi/fastutil/objects/Object2IntMap; 3Ô ÕÖ STATS_CODEC Lcom/mojang/serialization/Codec;Ñ ´Ù ÚÛget>(Ljava/lang/String;)Lcom/mojang/serialization/OptionalDynamic; ÝÞß àá(com/mojang/serialization/OptionalDynamicorElseEmptyMap$()Lcom/mojang/serialization/Dynamic; ã RäI(Lcom/mojang/serialization/Dynamic;)Lcom/mojang/serialization/DataResult;æ çèacceptG(Lnet/minecraft/stats/ServerStatsCounter;)Ljava/util/function/Consumer; êëì íî#com/mojang/serialization/DataResultresultOrPartial3(Ljava/util/function/Consumer;)Ljava/util/Optional; ðñò óô java/util/Mapof()Ljava/util/Map; ö÷ø ùjava/util/OptionalorElse ûüý þÿ+it/unimi/dsi/fastutil/objects/Object2IntMapputAll(Ljava/util/Map;)Vcom/google/gson/JsonObject (   encodeStart^(Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult; ê    getOrThrow()Ljava/lang/Object; com/google/gson/JsonElement  ¬2(Ljava/lang/String;Lcom/google/gson/JsonElement;)Vnet/minecraft/SharedConstants DataVersion  getCurrentVersion()Lnet/minecraft/WorldVersion;  net/minecraft/WorldVersion dataVersion1()Lnet/minecraft/world/level/storage/DataVersion;  ! "#-net/minecraft/world/level/storage/DataVersionversion()I %&' ()java/lang/IntegervalueOf(I)Ljava/lang/Integer; + ,- addProperty'(Ljava/lang/String;Ljava/lang/Number;)V û/ 01keySet+()Lit/unimi/dsi/fastutil/objects/ObjectSet; ©3 45addAll(Ljava/util/Collection;)Z73it/unimi/dsi/fastutil/objects/Object2IntOpenHashMap 6( 3: ;<getDirty()Ljava/util/Set; ©> ?@iterator()Ljava/util/Iterator; BCD EFjava/util/IteratorhasNext()Z BH I nextKnet/minecraft/stats/Stat 3M NOgetValue(Lnet/minecraft/stats/Stat;)I ûQ RSput(Ljava/lang/Object;I)I UVW XY'net/minecraft/server/level/ServerPlayer connection;Lnet/minecraft/server/network/ServerGamePacketListenerImpl;[?net/minecraft/network/protocol/game/ClientboundAwardStatsPacket Z] *^0(Lit/unimi/dsi/fastutil/objects/Object2IntMap;)V `ab cd9net/minecraft/server/network/ServerGamePacketListenerImplsend*(Lnet/minecraft/network/protocol/Packet;)Vf%Failed to parse statistics for {}: {} Jh ijgetType ()Lnet/minecraft/stats/StatType; Jl N ên opsuccess9(Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;r ÚsW(Lnet/minecraft/stats/StatType;Lnet/minecraft/stats/Stat;)Ljava/util/function/Supplier; êu tvD(Ljava/util/function/Supplier;)Lcom/mojang/serialization/DataResult; xyz ({java/lang/String&(Ljava/lang/Object;)Ljava/lang/String;} ~makeConcatWithConstants8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; ð� ‚<entrySet ©„ …†stream()Ljava/util/stream/Stream;ˆ ‰()Ljava/util/function/Function; ‹Œ� Ž�net/minecraft/util/UtiltoMap()Ljava/util/stream/Collector; ‘’“ ”•java/util/stream/Collectors groupingByW(Ljava/util/function/Function;Ljava/util/stream/Collector;)Ljava/util/stream/Collector; —˜™ š›java/util/stream/Streamcollect0(Ljava/util/stream/Collector;)Ljava/lang/Object; �žŸ   java/util/Map$EntrygetKey¢java/util/HashMap ¡(¥ ç¦0(Ljava/util/Map;)Ljava/util/function/BiConsumer; 𨠩ªforEach"(Ljava/util/function/BiConsumer;)V ðü­com/google/gson/GsonBuilder ¬( ¬° ±²setPrettyPrinting()Lcom/google/gson/GsonBuilder; ¬´ µ¶create()Lcom/google/gson/Gson; ¸¹º »¼com/mojang/logging/LogUtils getLogger()Lorg/slf4j/Logger; ¾¿À ÁÂ/net/minecraft/core/registries/BuiltInRegistries STAT_TYPELnet/minecraft/core/Registry;ˆ ‹Å ÆÇmemoize<(Ljava/util/function/Function;)Ljava/util/function/Function; É ÊË dispatchedMap_(Lcom/mojang/serialization/Codec;Ljava/util/function/Function;)Lcom/mojang/serialization/Codec;ˆ ˆ Ï Ðxmap SignaturecLcom/mojang/serialization/Codec;Ljava/lang/Integer;>;>;.Ljava/util/Set;>;createTypedStatsCodec@(Lnet/minecraft/stats/StatType;)Lcom/mojang/serialization/Codec;CodeLineNumberTableLocalVariableTabletypeLnet/minecraft/stats/StatType; valueCodec statCodecLocalVariableTypeTable#Lnet/minecraft/stats/StatType;%Lcom/mojang/serialization/Codec;?Lcom/mojang/serialization/Codec;>;MethodParametersž(Lnet/minecraft/stats/StatType;)Lcom/mojang/serialization/Codec;Ljava/lang/Integer;>;>;=(Lnet/minecraft/server/MinecraftServer;Ljava/nio/file/Path;)VelementLcom/google/gson/JsonElement;readerLjava/io/Reader;eLjava/io/IOException;$Lcom/google/gson/JsonParseException;this(Lnet/minecraft/stats/ServerStatsCounter;server&Lnet/minecraft/server/MinecraftServer; StackMapTablesavewriterLjava/io/Writer;Ljava/lang/Exception;õjava/lang/Exceptionplayer*Lnet/minecraft/world/entity/player/Player;statLnet/minecraft/stats/Stat;countILnet/minecraft/stats/Stat<*>;K(Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/stats/Stat<*>;I)Vresult0()Ljava/util/Set;>; fixerUpper!Lcom/mojang/datafixers/DataFixer;data"Lcom/mojang/serialization/Dynamic;ALcom/mojang/serialization/Dynamic;Lcom/google/gson/JsonObject; markAllDirty sendStats,(Lnet/minecraft/server/level/ServerPlayer;)V)Lnet/minecraft/server/level/ServerPlayer; statsToSendLLit/unimi/dsi/fastutil/objects/Object2IntMap;>;lambda$parse$0(Ljava/lang/String;)VLjava/lang/String;lambda$createTypedStatsCodec$0_(Lnet/minecraft/stats/StatType;Lnet/minecraft/stats/Stat;)Lcom/mojang/serialization/DataResult;lambda$createTypedStatsCodec$1L(Lnet/minecraft/stats/StatType;Lnet/minecraft/stats/Stat;)Ljava/lang/String;lambda$static$2 (Ljava/util/Map;)Ljava/util/Map;mapLjava/util/Map;lambda$static$35(Ljava/util/Map$Entry;)Lnet/minecraft/stats/StatType;entryLjava/util/Map$Entry;lambda$static$0 groupedStatsALjava/util/Map;Ljava/lang/Integer;>;lambda$static$1?(Ljava/util/Map;Lnet/minecraft/stats/StatType;Ljava/util/Map;)Vvalues SourceFileServerStatsCounter.javaBootstrapMethods' ( Ú).(Ljava/lang/Object;)Lnet/minecraft/stats/Stat;), 3- /A(Lnet/minecraft/stats/Stat;)Lcom/mojang/serialization/DataResult;1(Ljava/lang/Object;)V3 34     8 39 ;()Ljava/lang/String;=Expected type , but got ? 3@ C'(Ljava/lang/Object;Ljava/lang/Object;)VE 3F H0(Lnet/minecraft/stats/StatType;Ljava/util/Map;)VJ 3K ÔÕÕN 3O R 3S U VWX YZ"java/lang/invoke/LambdaMetafactory metafactoryÌ(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;\ ]^_ ~`$java/lang/invoke/StringConcatFactory˜(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; InnerClassesEntryd%java/lang/invoke/MethodHandles$Lookupfjava/lang/invoke/MethodHandlesLookup!3'Ž�lmÕÖÑÒ:;67ÑÓ ÔÕÖ–**¶¹L+*Y¸ Wº*º¹M,²¸"°×C D"KØ *ÙÚ ÛÖ"ÜÖÝ *ÙÞ Ûß"ÜàáÙÑâ*ãÖ~x*·&*¸,µ2*,µ8,½<¸>™_,²D¸JN-¸N:*+¶T¶Z-Æ#-¶]§:-Æ-¶]§ :¶d¿§ N²jn,-¹p§N²jx,-¹p±#3>bDHKbWZhWjv×BQO RST#U)V3W>TW[ZW[Xg[jYkZw]ØH) äå#4æç[ èék èêxëìxíîx:;ï>ÿ>3U{^bÿ 3U{^bbùBhOv á í:ð+Ö_*´8¹z¸€*´8²D½†¸ˆL²Œ*¶�²Œ+¶”¶š+Æ+¶�§M+Æ+¶�§ N,-¶d,¿§L²j¢*´8+¹p±,7b<@CbKNhKN ×& a bc,d7bKgNeOf^hØ 0ñòOèó_ëìï.ÿ73žbÿ 3žbbùBô¦§Öu*+,·¤*´2,¹¨W±×lmnØ*ëìö÷øùúûÝ øüá öøúÑý;<Öa*´2¸®L*´2¹±+°×qrsØëì þ7Ý  þÓÑÿR\Ö½K»´Y²¶,·¼N²¿+--?¸Å¶ËN*´Ï²Ó-׶ضܹâ*ºå¹é¸ï¶õÀð¹ú±×w y{7|<}E{JØ*KëìKKäå ?Ý  ?á ä’“Ö|<»Y·L+ײӲ¶*´Ï¹¹À ¶ +¸¹¶¸$¶*+°×‚ƒ%„:…Ø<ëì4þ+ÖB*´2*´Ï¹.¹2W±× ‰ŠØ ëìÖÔH»6Y·8M*¶9¹=N-¹A™ -¹GÀJ:,*¶L¹PW§ÿÝ+´T»ZY,·\¶_±×��&�5‘8“G”Ø*&øùHëìHö @ ÒÝ&øü@  ïýûBú%áö  ÖE²je*´8+¹p±×|Øëìt Ö`+¶g*¦ +¶k¸m°*+ºq¸t°×EFHØÙÚøùï ÖE*¸w+¶g¸wº|°×HØÙÚøù ÖU*¹€¹ƒº‡¸Џ�¹–Àð°×;:=;Ø  Ö7 *¹œÀJ¶g°×<Ø   Öd»¡Y·£L*+º¤¹§+°×678ØÑÝ Ñ ÖF*,¹«±×7Ø ÑÙÚ !+Öx<»¬Y·®¶¯¶³³Œ¸·³j²½¹ºøĸȺ̺͹γӱ×* +, -/12#3&134;1"#$b T%&*T%+.T025T67:[<T%>ATBDGT%ILT%MPT%QPa�ðb ceg