IntToIntFunction interface

Пакет: com.hypixel.fastutil.ints

Файл: com/hypixel/fastutil/ints/Int2ObjectConcurrentHashMap.java

Методы (1)

МодификаторыВозвратСигнатура
abstract int applyAsIntint applyAsInt(int var1)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.fastutil.ints;

class="kw">import com.hypixel.fastutil.FastCollection;
class="kw">import com.hypixel.fastutil.util.SneakyThrow;
class="kw">import com.hypixel.fastutil.util.TLRUtil;
class="kw">import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
class="kw">import it.unimi.dsi.fastutil.ints.IntCollection;
class="kw">import it.unimi.dsi.fastutil.ints.IntIterator;
class="kw">import it.unimi.dsi.fastutil.ints.IntSet;
class="kw">import it.unimi.dsi.fastutil.ints.IntSpliterator;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectCollection;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectIterator;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectSet;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectSpliterator;
class="kw">import java.io.Serializable;
class="kw">import java.lang.reflect.Array;
class="kw">import java.lang.reflect.Field;
class="kw">import java.util.Arrays;
class="kw">import java.util.Collection;
class="kw">import java.util.Enumeration;
class="kw">import java.util.Iterator;
class="kw">import java.util.Map;
class="kw">import java.util.NoSuchElementException;
class="kw">import java.util.Set;
class="kw">import java.util.concurrent.CountedCompleter;
class="kw">import java.util.concurrent.ForkJoinPool;
class="kw">import java.util.concurrent.atomic.AtomicReference;
class="kw">import java.util.concurrent.locks.LockSupport;
class="kw">import java.util.concurrent.locks.ReentrantLock;
class="kw">import java.util.function.BiFunction;
class="kw">import java.util.function.Consumer;
class="kw">import java.util.function.DoubleBinaryOperator;
class="kw">import java.util.function.Function;
class="kw">import java.util.function.IntBinaryOperator;
class="kw">import java.util.function.IntConsumer;
class="kw">import java.util.function.LongBinaryOperator;
class="kw">import java.util.function.Predicate;
class="kw">import java.util.function.ToDoubleFunction;
class="kw">import java.util.function.ToLongFunction;
class="kw">import sun.misc.Unsafe;

class="kw">public class Int2ObjectConcurrentHashMap<V> {
   class="kw">protected class="kw">static class="kw">final long serialVersionUID = 7249069246763182397L;
   class="kw">protected class="kw">static class="kw">final int MAXIMUM_CAPACITY = 1073741824;
   class="kw">protected class="kw">static class="kw">final int DEFAULT_CAPACITY = 16;
   class="kw">protected class="kw">static class="kw">final int MAX_ARRAY_SIZE = 2147483639;
   class="kw">protected class="kw">static class="kw">final int DEFAULT_CONCURRENCY_LEVEL = 16;
   class="kw">protected class="kw">static class="kw">final float LOAD_FACTOR = 0.75F;
   class="kw">protected class="kw">static class="kw">final int TREEIFY_THRESHOLD = 8;
   class="kw">protected class="kw">static class="kw">final int UNTREEIFY_THRESHOLD = 6;
   class="kw">protected class="kw">static class="kw">final int MIN_TREEIFY_CAPACITY = 64;
   class="kw">protected class="kw">static class="kw">final int MIN_TRANSFER_STRIDE = 16;
   class="kw">protected class="kw">static int RESIZE_STAMP_BITS = 16;
   class="kw">protected class="kw">static class="kw">final int MAX_RESIZERS = (1 << 32 - RESIZE_STAMP_BITS) - 1;
   class="kw">protected class="kw">static class="kw">final int RESIZE_STAMP_SHIFT = 32 - RESIZE_STAMP_BITS;
   class="kw">protected class="kw">static class="kw">final int MOVED = -1;
   class="kw">protected class="kw">static class="kw">final int TREEBIN = -2;
   class="kw">protected class="kw">static class="kw">final int RESERVED = -3;
   class="kw">protected class="kw">static class="kw">final int HASH_BITS = Integer.MAX_VALUE;
   class="kw">protected class="kw">static class="kw">final int NCPU = Runtime.getRuntime().availableProcessors();
   class="kw">protected class="kw">transient class="kw">volatile Int2ObjectConcurrentHashMap.Node<V>[] table;
   class="kw">protected class="kw">transient class="kw">volatile Int2ObjectConcurrentHashMap.Node<V>[] nextTable;
   class="kw">protected class="kw">transient class="kw">volatile long baseCount;
   class="kw">protected class="kw">transient class="kw">volatile int sizeCtl;
   class="kw">protected class="kw">transient class="kw">volatile int transferIndex;
   class="kw">protected class="kw">transient class="kw">volatile int cellsBusy;
   class="kw">protected class="kw">transient class="kw">volatile Int2ObjectConcurrentHashMap.CounterCell[] counterCells;
   class="kw">protected class="kw">transient Int2ObjectConcurrentHashMap.KeySetView<V> keySet;
   class="kw">protected class="kw">transient Int2ObjectConcurrentHashMap.ValuesView<V> values;
   class="kw">protected class="kw">transient Int2ObjectConcurrentHashMap.EntrySetView<V> entrySet;
   class="kw">protected class="kw">final int EMPTY;
   class="kw">protected class="kw">static class="kw">final Unsafe U;
   class="kw">protected class="kw">static class="kw">final long SIZECTL;
   class="kw">protected class="kw">static class="kw">final long TRANSFERINDEX;
   class="kw">protected class="kw">static class="kw">final long BASECOUNT;
   class="kw">protected class="kw">static class="kw">final long CELLSBUSY;
   class="kw">protected class="kw">static class="kw">final long CELLVALUE;
   class="kw">protected class="kw">static class="kw">final long ABASE;
   class="kw">protected class="kw">static class="kw">final int ASHIFT;

   class="kw">protected class="kw">static class="kw">final int spread(int var0) {
      class="kw">return (var0 ^ var0 >>> 16) & 2147483647;
   }

   class="kw">protected class="kw">static class="kw">final int tableSizeFor(int var0) {
      int var1 = var0 - 1;
      var1 |= var1 >>> 1;
      var1 |= var1 >>> 2;
      var1 |= var1 >>> 4;
      var1 |= var1 >>> 8;
      var1 |= var1 >>> 16;
      class="kw">return var1 < 0 ? 1 : (var1 >= 1073741824 ? 1073741824 : var1 + 1);
   }

   class="kw">protected class="kw">static class="kw">final <V> Int2ObjectConcurrentHashMap.Node<V> tabAt(Int2ObjectConcurrentHashMap.Node<V>[] var0, int var1) {
      class="kw">return (Int2ObjectConcurrentHashMap.Node<V>)U.getObjectVolatile(var0, ((long)var1 << ASHIFT) + ABASE);
   }

   class="kw">protected class="kw">static class="kw">final <V> boolean casTabAt(
      Int2ObjectConcurrentHashMap.Node<V>[] var0, int var1, Int2ObjectConcurrentHashMap.Node<V> var2, Int2ObjectConcurrentHashMap.Node<V> var3
   ) {
      class="kw">return U.compareAndSwapObject(var0, ((long)var1 << ASHIFT) + ABASE, var2, var3);
   }

   class="kw">protected class="kw">static class="kw">final <V> void setTabAt(Int2ObjectConcurrentHashMap.Node<V>[] var0, int var1, Int2ObjectConcurrentHashMap.Node<V> var2) {
      U.putObjectVolatile(var0, ((long)var1 << ASHIFT) + ABASE, var2);
   }

   class="kw">public Int2ObjectConcurrentHashMap() {
      this.EMPTY = -1;
   }

   class="kw">public Int2ObjectConcurrentHashMap(boolean var1, int var2) {
      this.EMPTY = var2;
   }

   class="kw">public Int2ObjectConcurrentHashMap(int var1) {
      this(var1, true, -1);
   }

   class="kw">public Int2ObjectConcurrentHashMap(int var1, boolean var2, int var3) {
      if (var1 < 0) {
         throw new IllegalArgumentException();
      }

      int var4 = var1 >= 536870912 ? 1073741824 : tableSizeFor(var1 + (var1 >>> 1) + 1);
      this.sizeCtl = var4;
      this.EMPTY = var3;
   }

   class="kw">public Int2ObjectConcurrentHashMap(Map<? class="kw">extends Integer, ? class="kw">extends V> var1, int var2) {
      this.sizeCtl = 16;
      this.EMPTY = var2;
      this.putAll(var1);
   }

   class="kw">public Int2ObjectConcurrentHashMap(Int2ObjectConcurrentHashMap<? class="kw">extends V> var1) {
      this.sizeCtl = 16;
      this.EMPTY = var1.EMPTY;
      this.putAll(var1);
   }

   class="kw">public Int2ObjectConcurrentHashMap(Int2ObjectMap<V> var1) {
      this.sizeCtl = 16;
      this.EMPTY = -1;
      this.putAll(var1);
   }

   class="kw">public Int2ObjectConcurrentHashMap(Int2ObjectMap<V> var1, int var2) {
      this.sizeCtl = 16;
      this.EMPTY = var2;
      this.putAll(var1);
   }

   class="kw">public Int2ObjectConcurrentHashMap(int var1, float var2) {
      this(var1, var2, 1, -1);
   }

   class="kw">public Int2ObjectConcurrentHashMap(int var1, float var2, int var3, int var4) {
      if (var2 > 0.0F && var1 >= 0 && var3 > 0) {
         if (var1 < var3) {
            var1 = var3;
         }

         long var5 = (long)(1.0 + (float)var1 / var2);
         int var7 = var5 >= 1073741824L ? 1073741824 : tableSizeFor((int)var5);
         this.sizeCtl = var7;
         this.EMPTY = var4;
      } else {
         throw new IllegalArgumentException();
      }
   }

   class="kw">public int size() {
      long var1 = this.sumCount();
      class="kw">return var1 < 0L ? 0 : (var1 > 2147483647L ? Integer.MAX_VALUE : (int)var1);
   }

   class="kw">public boolean isEmpty() {
      class="kw">return this.sumCount() <= 0L;
   }

   class="kw">public V get(int var1) {
      if (var1 == this.EMPTY) {
         throw new IllegalArgumentException("Key is EMPTY: " + this.EMPTY);
      }

      int var8 = spread(Integer.hashCode(var1));
      Int2ObjectConcurrentHashMap.Node[] var2 = this.table;
      Int2ObjectConcurrentHashMap.Node var3;
      int var5;
      if (this.table != null && (var5 = var2.length) > 0 && (var3 = tabAt(var2, var5 - 1 & var8)) != null) {
         int var6 = var3.hash;
         if (var3.hash == var8) {
            int var7 = var3.key;
            if (var3.key == var1 || var7 != this.EMPTY && var1 == var7) {
               class="kw">return var3.val;
            }
         } else if (var6 < 0) {
            Int2ObjectConcurrentHashMap.Node var4;
            class="kw">return (var4 = var3.find(var8, var1)) != null ? var4.val : null;
         }

         while ((var3 = var3.next) != null) {
            if (var3.hash == var8) {
               int var9 = var3.key;
               if (var3.key == var1 || var9 != this.EMPTY && var1 == var9) {
                  class="kw">return var3.val;
               }
            }
         }
      }

      class="kw">return null;
   }

   class="kw">public boolean containsKey(int var1) {
      class="kw">return this.get(var1) != null;
   }

   class="kw">public boolean containsValue(Object var1) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      Int2ObjectConcurrentHashMap.Node[] var2 = this.table;
      if (this.table != null) {
         Int2ObjectConcurrentHashMap.Node[] var3 = var2;
         Int2ObjectConcurrentHashMap.Node var4 = null;
         Int2ObjectConcurrentHashMap.TableStack var5 = null;
         Int2ObjectConcurrentHashMap.TableStack var6 = null;
         int var7 = 0;
         int var8 = 0;
         int var9 = var2.length;
         int var10 = var2.length;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var11 = null;
            var11 = var4;
            if (var4 != null) {
               var11 = var11.next;
            }

            label85:
            while (true) {
               if (var11 != null) {
                  var4 = var11;
                  break;
               }

               if (var8 < var9) {
                  Int2ObjectConcurrentHashMap.Node[] var12 = var3;
                  if (var3 != null) {
                     int var14;
                     int var10000 = var14 = var12.length;
                     int var13 = var7;
                     if (var10000 > var7 && var13 >= 0) {
                        if ((var11 = tabAt(var12, var13)) != null && var11.hash < 0) {
                           if (var11 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                              var3 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var11).nextTable;
                              var11 = null;
                              Int2ObjectConcurrentHashMap.TableStack var20 = var6;
                              if (var20 != null) {
                                 var6 = var20.next;
                              } else {
                                 var20 = new Int2ObjectConcurrentHashMap.TableStack<>();
                              }

                              var20.tab = var12;
                              var20.length = var14;
                              var20.index = var13;
                              var20.next = var5;
                              var5 = var20;
                              class="kw">continue;
                           }

                           if (var11 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                              var11 = ((Int2ObjectConcurrentHashMap.TreeBin)var11).first;
                           } else {
                              var11 = null;
                           }
                        }

                        if (var5 == null) {
                           if ((var7 = var13 + var10) >= var14) {
                              var7 = ++var8;
                           }
                           class="kw">continue;
                        }

                        while (true) {
                           Int2ObjectConcurrentHashMap.TableStack var15 = var5;
                           if (var5 != null) {
                              int var16 = var15.length;
                              if ((var7 += var15.length) >= var14) {
                                 var14 = var16;
                                 var7 = var15.index;
                                 var3 = var15.tab;
                                 var15.tab = null;
                                 Int2ObjectConcurrentHashMap.TableStack var17 = var15.next;
                                 var15.next = var6;
                                 var5 = var17;
                                 var6 = var15;
                                 class="kw">continue;
                              }
                           }

                           if (var15 == null && (var7 += var10) >= var14) {
                              var7 = ++var8;
                           }
                           class="kw">continue label85;
                        }
                     }
                  }
               }

               var4 = null;
               break;
            }

            if (var11 == null) {
               break;
            }

            Object var19 = var11.val;
            if (var11.val == var1 || var19 != null && var1.equals(var19)) {
               class="kw">return true;
            }
         }
      }

      class="kw">return false;
   }

   class="kw">public V put(int var1, V var2) {
      class="kw">return this.putVal(var1, var2, false);
   }

   class="kw">protected class="kw">final V putVal(int var1, V var2, boolean var3) {
      if (var1 == this.EMPTY) {
         throw new IllegalArgumentException("Key is EMPTY: " + this.EMPTY);
      }

      if (var2 == null) {
         throw new NullPointerException();
      }

      int var4 = spread(Integer.hashCode(var1));
      int var5 = 0;
      Int2ObjectConcurrentHashMap.Node[] var6 = this.table;

      while (true) {
         int var8;
         while (var6 == null || (var8 = var6.length) == 0) {
            var6 = this.initTable();
         }

         Int2ObjectConcurrentHashMap.Node var7;
         int var9;
         if ((var7 = tabAt(var6, var9 = var8 - 1 & var4)) == null) {
            if (casTabAt(var6, var9, null, new Int2ObjectConcurrentHashMap.Node<>(this.EMPTY, var4, var1, var2, null))) {
               break;
            }
         } else {
            int var10 = var7.hash;
            if (var7.hash == -1) {
               var6 = this.helpTransfer(var6, var7);
            } else {
               Object var11 = null;
               class="kw">synchronized (var7) {
                  if (tabAt(var6, var9) == var7) {
                     if (var10 < 0) {
                        if (var7 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                           var5 = 2;
                           Int2ObjectConcurrentHashMap.Node var18;
                           if ((var18 = ((Int2ObjectConcurrentHashMap.TreeBin)var7).putTreeVal(var4, var1, var2)) != null) {
                              var11 = var18.val;
                              if (!var3) {
                                 var18.val = var2;
                              }
                           }
                        }
                     } else {
                        var5 = 1;
                        Int2ObjectConcurrentHashMap.Node var13 = var7;

                        while (true) {
                           if (var13.hash == var4) {
                              int var14 = var13.key;
                              if (var13.key == var1 || var14 != this.EMPTY && var1 == var14) {
                                 var11 = var13.val;
                                 if (!var3) {
                                    var13.val = var2;
                                 }
                                 break;
                              }
                           }

                           Int2ObjectConcurrentHashMap.Node var15 = var13;
                           if ((var13 = var13.next) == null) {
                              var15.next = new Int2ObjectConcurrentHashMap.Node<>(this.EMPTY, var4, var1, var2, null);
                              break;
                           }

                           var5++;
                        }
                     }
                  }
               }

               if (var5 != 0) {
                  if (var5 >= 8) {
                     this.treeifyBin(var6, var9);
                  }

                  if (var11 != null) {
                     class="kw">return var11;
                  }
                  break;
               }
            }
         }
      }

      this.addCount(1L, var5);
      class="kw">return null;
   }

   class="kw">public void putAll(Map<? class="kw">extends Integer, ? class="kw">extends V> var1) {
      this.tryPresize(var1.size());

      for (Map.Entry var3 : var1.entrySet()) {
         this.putVal(var3.getKey(), (V)var3.getValue(), false);
      }
   }

   class="kw">public void putAll(Int2ObjectConcurrentHashMap<? class="kw">extends V> var1) {
      this.tryPresize(var1.size());
      ObjectIterator var2 = var1.int2ObjectEntrySet().iterator();

      while (var2.hasNext()) {
         it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry var3 = (it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry<? class="kw">extends V>)var2.next();
         this.putVal(var3.getIntKey(), (V)var3.getValue(), false);
      }
   }

   class="kw">public void putAll(Int2ObjectMap<V> var1) {
      this.tryPresize(var1.size());
      ObjectIterator var2 = var1.int2ObjectEntrySet().iterator();

      while (var2.hasNext()) {
         it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry var3 = (it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry<? class="kw">extends V>)var2.next();
         this.putVal(var3.getIntKey(), (V)var3.getValue(), false);
      }
   }

   class="kw">public V remove(int var1) {
      class="kw">return this.replaceNode(var1, null, null);
   }

   @Deprecated
   class="kw">public V remove(Integer var1) {
      class="kw">return this.replaceNode(var1, null, null);
   }

   @Deprecated
   class="kw">public V remove(Object var1) {
      class="kw">return this.remove((Integer)var1);
   }

   class="kw">protected class="kw">final V replaceNode(int var1, V var2, Object var3) {
      if (var1 == this.EMPTY) {
         throw new IllegalArgumentException("Key is EMPTY: " + this.EMPTY);
      }

      int var4 = spread(Integer.hashCode(var1));
      Int2ObjectConcurrentHashMap.Node[] var5 = this.table;

      Int2ObjectConcurrentHashMap.Node var6;
      int var7;
      int var8;
      while (var5 != null && (var7 = var5.length) != 0 && (var6 = tabAt(var5, var8 = var7 - 1 & var4)) != null) {
         int var9 = var6.hash;
         if (var6.hash == -1) {
            var5 = this.helpTransfer(var5, var6);
         } else {
            Object var10 = null;
            boolean var11 = false;
            class="kw">synchronized (var6) {
               if (tabAt(var5, var8) == var6) {
                  if (var9 < 0) {
                     if (var6 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var11 = true;
                        Int2ObjectConcurrentHashMap.TreeBin var19 = (Int2ObjectConcurrentHashMap.TreeBin<V>)var6;
                        Int2ObjectConcurrentHashMap.TreeNode var20 = var19.root;
                        Int2ObjectConcurrentHashMap.TreeNode var21;
                        if (var19.root != null && (var21 = var20.findTreeNode(var4, var1, null)) != null) {
                           Object var22 = var21.val;
                           if (var3 == null || var3 == var22 || var22 != null && var3.equals(var22)) {
                              var10 = var22;
                              if (var2 != null) {
                                 var21.val = var2;
                              } else if (var19.removeTreeNode(var21)) {
                                 setTabAt(var5, var8, this.untreeify(var19.first));
                              }
                           }
                        }
                     }
                  } else {
                     var11 = true;
                     Int2ObjectConcurrentHashMap.Node var13 = var6;
                     Int2ObjectConcurrentHashMap.Node var14 = null;

                     do {
                        if (var13.hash == var4) {
                           int var15 = var13.key;
                           if (var13.key == var1 || var15 != this.EMPTY && var1 == var15) {
                              Object var16 = var13.val;
                              if (var3 == null || var3 == var16 || var16 != null && var3.equals(var16)) {
                                 var10 = var16;
                                 if (var2 != null) {
                                    var13.val = var2;
                                 } else if (var14 != null) {
                                    var14.next = var13.next;
                                 } else {
                                    setTabAt(var5, var8, var13.next);
                                 }
                              }
                              break;
                           }
                        }

                        var14 = var13;
                     } while ((var13 = var13.next) != null);
                  }
               }
            }

            if (var11) {
               if (var10 != null) {
                  if (var2 == null) {
                     this.addCount(-1L, -1);
                  }

                  class="kw">return var10;
               }
               break;
            }
         }
      }

      class="kw">return null;
   }

   class="kw">public void clear() {
      long var1 = 0L;
      int var3 = 0;
      Int2ObjectConcurrentHashMap.Node[] var4 = this.table;

      while (var4 != null && var3 < var4.length) {
         Int2ObjectConcurrentHashMap.Node var6 = tabAt(var4, var3);
         if (var6 == null) {
            var3++;
         } else {
            int var5 = var6.hash;
            if (var6.hash == -1) {
               var4 = this.helpTransfer(var4, var6);
               var3 = 0;
            } else {
               class="kw">synchronized (var6) {
                  if (tabAt(var4, var3) == var6) {
                     for (Int2ObjectConcurrentHashMap.Node var8 = var5 >= 0
                           ? var6
                           : (var6 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin ? ((Int2ObjectConcurrentHashMap.TreeBin)var6).first : null);
                        var8 != null;
                        var8 = var8.next
                     ) {
                        var1--;
                     }

                     setTabAt(var4, var3++, null);
                  }
               }
            }
         }
      }

      if (var1 != 0L) {
         this.addCount(var1, -1);
      }
   }

   class="kw">public Int2ObjectConcurrentHashMap.KeySetView<V> keySet() {
      Int2ObjectConcurrentHashMap.KeySetView var1 = this.keySet;
      class="kw">return this.keySet != null ? var1 : (this.keySet = this.buildKeySetView());
   }

   class="kw">protected Int2ObjectConcurrentHashMap.KeySetView<V> buildKeySetView() {
      class="kw">return new Int2ObjectConcurrentHashMap.KeySetView<>(this, null);
   }

   class="kw">public FastCollection<V> values() {
      Int2ObjectConcurrentHashMap.ValuesView var1 = this.values;
      class="kw">return this.values != null ? var1 : (this.values = this.buildValuesView());
   }

   class="kw">protected Int2ObjectConcurrentHashMap.ValuesView<V> buildValuesView() {
      class="kw">return new Int2ObjectConcurrentHashMap.ValuesView<>(this);
   }

   class="kw">public ObjectSet<it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry<V>> int2ObjectEntrySet() {
      Int2ObjectConcurrentHashMap.EntrySetView var1 = this.entrySet;
      class="kw">return this.entrySet != null ? var1 : (this.entrySet = this.buildEntrySetView());
   }

   @Deprecated
   class="kw">public ObjectSet<Map.Entry<Integer, V>> entrySet() {
      class="kw">return this.int2ObjectEntrySet();
   }

   class="kw">protected Int2ObjectConcurrentHashMap.EntrySetView<V> buildEntrySetView() {
      class="kw">return new Int2ObjectConcurrentHashMap.EntrySetView<>(this);
   }

   @Override
   class="kw">public int hashCode() {
      int var1 = 0;
      Int2ObjectConcurrentHashMap.Node[] var2 = this.table;
      if (this.table != null) {
         Int2ObjectConcurrentHashMap.Node[] var3 = var2;
         Int2ObjectConcurrentHashMap.Node var4 = null;
         Int2ObjectConcurrentHashMap.TableStack var5 = null;
         Int2ObjectConcurrentHashMap.TableStack var6 = null;
         int var7 = 0;
         int var8 = 0;
         int var9 = var2.length;
         int var10 = var2.length;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var11 = null;
            var11 = var4;
            if (var4 != null) {
               var11 = var11.next;
            }

            label75: {
               while (true) {
                  if (var11 != null) {
                     var4 = var11;
                     break label75;
                  }

                  if (var8 >= var9) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var12 = var3;
                  if (var3 == null) {
                     break;
                  }

                  int var14;
                  int var10000 = var14 = var12.length;
                  int var13 = var7;
                  if (var10000 <= var7 || var13 < 0) {
                     break;
                  }

                  if ((var11 = tabAt(var12, var13)) != null && var11.hash < 0) {
                     if (var11 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                        var3 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var11).nextTable;
                        var11 = null;
                        Int2ObjectConcurrentHashMap.TableStack var19 = var6;
                        if (var19 != null) {
                           var6 = var19.next;
                        } else {
                           var19 = new Int2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var19.tab = var12;
                        var19.length = var14;
                        var19.index = var13;
                        var19.next = var5;
                        var5 = var19;
                        class="kw">continue;
                     }

                     if (var11 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var11 = ((Int2ObjectConcurrentHashMap.TreeBin)var11).first;
                     } else {
                        var11 = null;
                     }
                  }

                  if (var5 == null) {
                     if ((var7 = var13 + var10) >= var14) {
                        var7 = ++var8;
                     }
                  } else {
                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var15 = var5;
                        if (var5 != null) {
                           int var16 = var15.length;
                           if ((var7 += var15.length) >= var14) {
                              var14 = var16;
                              var7 = var15.index;
                              var3 = var15.tab;
                              var15.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var17 = var15.next;
                              var15.next = var6;
                              var5 = var17;
                              var6 = var15;
                              class="kw">continue;
                           }
                        }

                        if (var15 == null && (var7 += var10) >= var14) {
                           var7 = ++var8;
                        }
                        break;
                     }
                  }
               }

               var4 = null;
            }

            if (var11 == null) {
               break;
            }

            var1 += Integer.hashCode(var11.key) ^ var11.val.hashCode();
         }
      }

      class="kw">return var1;
   }

   @Override
   class="kw">public String toString() {
      Int2ObjectConcurrentHashMap.Node[] var1 = this.table;
      int var2 = this.table == null ? 0 : var1.length;
      Int2ObjectConcurrentHashMap.Traverser var3 = new Int2ObjectConcurrentHashMap.Traverser<>(var1, var2, 0, var2);
      StringBuilder var4 = new StringBuilder();
      var4.append('{');
      Int2ObjectConcurrentHashMap.Node var5;
      if ((var5 = var3.advance()) != null) {
         while (true) {
            int var6 = var5.key;
            Object var7 = var5.val;
            var4.append(var6);
            var4.append('=');
            var4.append(var7 == this ? "(this Map)" : var7);
            if ((var5 = var3.advance()) == null) {
               break;
            }

            var4.append(',').append(' ');
         }
      }

      class="kw">return var4.append('}').toString();
   }

   @Override
   class="kw">public boolean equals(Object var1) {
      if (var1 != this) {
         if (!(var1 class="kw">instanceof Int2ObjectConcurrentHashMap var2)) {
            class="kw">return false;
         }

         Int2ObjectConcurrentHashMap.Node[] var3 = this.table;
         int var4 = this.table == null ? 0 : var3.length;
         Int2ObjectConcurrentHashMap.Traverser var5 = new Int2ObjectConcurrentHashMap.Traverser<>(var3, var4, 0, var4);

         Int2ObjectConcurrentHashMap.Node var6;
         while ((var6 = var5.advance()) != null) {
            Object var7 = var6.val;
            Object var8 = var2.get(var6.key);
            if (var8 == null || var8 != var7 && !var8.equals(var7)) {
               class="kw">return false;
            }
         }

         ObjectIterator var11 = var2.int2ObjectEntrySet().iterator();

         while (var11.hasNext()) {
            it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry var12 = (it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry<?>)var11.next();
            Object var9;
            Object var10;
            int var13;
            if ((var13 = var12.getIntKey()) == var2.EMPTY
               || (var9 = var12.getValue()) == null
               || (var10 = this.get(var13)) == null
               || var9 != var10 && !var9.equals(var10)) {
               class="kw">return false;
            }
         }
      }

      class="kw">return true;
   }

   class="kw">public V putIfAbsent(int var1, V var2) {
      class="kw">return this.putVal(var1, var2, true);
   }

   class="kw">public boolean remove(int var1, Object var2) {
      if (var1 == this.EMPTY) {
         throw new IllegalArgumentException("Key is EMPTY: " + this.EMPTY);
      } else {
         class="kw">return var2 != null && this.replaceNode(var1, null, var2) != null;
      }
   }

   class="kw">public boolean replace(int var1, V var2, V var3) {
      if (var1 == this.EMPTY) {
         throw new IllegalArgumentException("Key is EMPTY: " + this.EMPTY);
      } else if (var2 != null && var3 != null) {
         class="kw">return this.replaceNode(var1, var3, var2) != null;
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public V replace(int var1, V var2) {
      if (var1 == this.EMPTY) {
         throw new IllegalArgumentException("Key is EMPTY: " + this.EMPTY);
      } else if (var2 == null) {
         throw new NullPointerException();
      } else {
         class="kw">return this.replaceNode(var1, var2, null);
      }
   }

   class="kw">public V getOrDefault(int var1, V var2) {
      Object var3;
      class="kw">return (var3 = this.get(var1)) == null ? var2 : var3;
   }

   class="kw">public int forEach(Int2ObjectConcurrentHashMap.IntObjConsumer<? super V> var1) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var2 = 0;
      Int2ObjectConcurrentHashMap.Node[] var3 = this.table;
      if (this.table != null) {
         Int2ObjectConcurrentHashMap.Node[] var4 = var3;
         Int2ObjectConcurrentHashMap.Node var5 = null;
         Int2ObjectConcurrentHashMap.TableStack var6 = null;
         Int2ObjectConcurrentHashMap.TableStack var7 = null;
         int var8 = 0;
         int var9 = 0;
         int var10 = var3.length;
         int var11 = var3.length;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var12 = null;
            var12 = var5;
            if (var5 != null) {
               var12 = var12.next;
            }

            label78: {
               while (true) {
                  if (var12 != null) {
                     var5 = var12;
                     break label78;
                  }

                  if (var9 >= var10) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var13 = var4;
                  if (var4 == null) {
                     break;
                  }

                  int var15;
                  int var10000 = var15 = var13.length;
                  int var14 = var8;
                  if (var10000 <= var8 || var14 < 0) {
                     break;
                  }

                  if ((var12 = tabAt(var13, var14)) != null && var12.hash < 0) {
                     if (var12 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                        var4 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var12).nextTable;
                        var12 = null;
                        Int2ObjectConcurrentHashMap.TableStack var20 = var7;
                        if (var20 != null) {
                           var7 = var20.next;
                        } else {
                           var20 = new Int2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var20.tab = var13;
                        var20.length = var15;
                        var20.index = var14;
                        var20.next = var6;
                        var6 = var20;
                        class="kw">continue;
                     }

                     if (var12 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var12 = ((Int2ObjectConcurrentHashMap.TreeBin)var12).first;
                     } else {
                        var12 = null;
                     }
                  }

                  if (var6 == null) {
                     if ((var8 = var14 + var11) >= var15) {
                        var8 = ++var9;
                     }
                  } else {
                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var16 = var6;
                        if (var6 != null) {
                           int var17 = var16.length;
                           if ((var8 += var16.length) >= var15) {
                              var15 = var17;
                              var8 = var16.index;
                              var4 = var16.tab;
                              var16.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var18 = var16.next;
                              var16.next = var7;
                              var6 = var18;
                              var7 = var16;
                              class="kw">continue;
                           }
                        }

                        if (var16 == null && (var8 += var11) >= var15) {
                           var8 = ++var9;
                        }
                        break;
                     }
                  }
               }

               var5 = null;
            }

            if (var12 == null) {
               break;
            }

            var1.accept(var12.key, var12.val);
            var2++;
         }
      }

      class="kw">return var2;
   }

   class="kw">public <X> int forEach(Int2ObjectConcurrentHashMap.IntBiObjConsumer<? super V, X> var1, X var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var3 = 0;
      Int2ObjectConcurrentHashMap.Node[] var4 = this.table;
      if (this.table != null) {
         Int2ObjectConcurrentHashMap.Node[] var5 = var4;
         Int2ObjectConcurrentHashMap.Node var6 = null;
         Int2ObjectConcurrentHashMap.TableStack var7 = null;
         Int2ObjectConcurrentHashMap.TableStack var8 = null;
         int var9 = 0;
         int var10 = 0;
         int var11 = var4.length;
         int var12 = var4.length;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var13 = null;
            var13 = var6;
            if (var6 != null) {
               var13 = var13.next;
            }

            label78: {
               while (true) {
                  if (var13 != null) {
                     var6 = var13;
                     break label78;
                  }

                  if (var10 >= var11) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var14 = var5;
                  if (var5 == null) {
                     break;
                  }

                  int var16;
                  int var10000 = var16 = var14.length;
                  int var15 = var9;
                  if (var10000 <= var9 || var15 < 0) {
                     break;
                  }

                  if ((var13 = tabAt(var14, var15)) != null && var13.hash < 0) {
                     if (var13 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                        var5 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var13).nextTable;
                        var13 = null;
                        Int2ObjectConcurrentHashMap.TableStack var21 = var8;
                        if (var21 != null) {
                           var8 = var21.next;
                        } else {
                           var21 = new Int2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var21.tab = var14;
                        var21.length = var16;
                        var21.index = var15;
                        var21.next = var7;
                        var7 = var21;
                        class="kw">continue;
                     }

                     if (var13 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var13 = ((Int2ObjectConcurrentHashMap.TreeBin)var13).first;
                     } else {
                        var13 = null;
                     }
                  }

                  if (var7 == null) {
                     if ((var9 = var15 + var12) >= var16) {
                        var9 = ++var10;
                     }
                  } else {
                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var17 = var7;
                        if (var7 != null) {
                           int var18 = var17.length;
                           if ((var9 += var17.length) >= var16) {
                              var16 = var18;
                              var9 = var17.index;
                              var5 = var17.tab;
                              var17.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var19 = var17.next;
                              var17.next = var8;
                              var7 = var19;
                              var8 = var17;
                              class="kw">continue;
                           }
                        }

                        if (var17 == null && (var9 += var12) >= var16) {
                           var9 = ++var10;
                        }
                        break;
                     }
                  }
               }

               var6 = null;
            }

            if (var13 == null) {
               break;
            }

            var1.accept(var13.key, var13.val, var2);
            var3++;
         }
      }

      class="kw">return var3;
   }

   class="kw">public <X, Y> int forEach(Int2ObjectConcurrentHashMap.IntTriObjConsumer<? super V, X, Y> var1, X var2, Y var3) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var4 = 0;
      Int2ObjectConcurrentHashMap.Node[] var5 = this.table;
      if (this.table != null) {
         Int2ObjectConcurrentHashMap.Node[] var6 = var5;
         Int2ObjectConcurrentHashMap.Node var7 = null;
         Int2ObjectConcurrentHashMap.TableStack var8 = null;
         Int2ObjectConcurrentHashMap.TableStack var9 = null;
         int var10 = 0;
         int var11 = 0;
         int var12 = var5.length;
         int var13 = var5.length;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var14 = null;
            var14 = var7;
            if (var7 != null) {
               var14 = var14.next;
            }

            label78: {
               while (true) {
                  if (var14 != null) {
                     var7 = var14;
                     break label78;
                  }

                  if (var11 >= var12) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var15 = var6;
                  if (var6 == null) {
                     break;
                  }

                  int var17;
                  int var10000 = var17 = var15.length;
                  int var16 = var10;
                  if (var10000 <= var10 || var16 < 0) {
                     break;
                  }

                  if ((var14 = tabAt(var15, var16)) != null && var14.hash < 0) {
                     if (var14 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                        var6 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var14).nextTable;
                        var14 = null;
                        Int2ObjectConcurrentHashMap.TableStack var22 = var9;
                        if (var22 != null) {
                           var9 = var22.next;
                        } else {
                           var22 = new Int2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var22.tab = var15;
                        var22.length = var17;
                        var22.index = var16;
                        var22.next = var8;
                        var8 = var22;
                        class="kw">continue;
                     }

                     if (var14 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var14 = ((Int2ObjectConcurrentHashMap.TreeBin)var14).first;
                     } else {
                        var14 = null;
                     }
                  }

                  if (var8 == null) {
                     if ((var10 = var16 + var13) >= var17) {
                        var10 = ++var11;
                     }
                  } else {
                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var18 = var8;
                        if (var8 != null) {
                           int var19 = var18.length;
                           if ((var10 += var18.length) >= var17) {
                              var17 = var19;
                              var10 = var18.index;
                              var6 = var18.tab;
                              var18.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var20 = var18.next;
                              var18.next = var9;
                              var8 = var20;
                              var9 = var18;
                              class="kw">continue;
                           }
                        }

                        if (var18 == null && (var10 += var13) >= var17) {
                           var10 = ++var11;
                        }
                        break;
                     }
                  }
               }

               var7 = null;
            }

            if (var14 == null) {
               break;
            }

            var1.accept(var14.key, var14.val, var2, var3);
            var4++;
         }
      }

      class="kw">return var4;
   }

   class="kw">public int forEachWithByte(Int2ObjectConcurrentHashMap.IntObjByteConsumer<? super V> var1, byte var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var3 = 0;
      Int2ObjectConcurrentHashMap.Node[] var4 = this.table;
      if (this.table != null) {
         Int2ObjectConcurrentHashMap.Node[] var5 = var4;
         Int2ObjectConcurrentHashMap.Node var6 = null;
         Int2ObjectConcurrentHashMap.TableStack var7 = null;
         Int2ObjectConcurrentHashMap.TableStack var8 = null;
         int var9 = 0;
         int var10 = 0;
         int var11 = var4.length;
         int var12 = var4.length;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var13 = null;
            var13 = var6;
            if (var6 != null) {
               var13 = var13.next;
            }

            label78: {
               while (true) {
                  if (var13 != null) {
                     var6 = var13;
                     break label78;
                  }

                  if (var10 >= var11) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var14 = var5;
                  if (var5 == null) {
                     break;
                  }

                  int var16;
                  int var10000 = var16 = var14.length;
                  int var15 = var9;
                  if (var10000 <= var9 || var15 < 0) {
                     break;
                  }

                  if ((var13 = tabAt(var14, var15)) != null && var13.hash < 0) {
                     if (var13 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                        var5 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var13).nextTable;
                        var13 = null;
                        Int2ObjectConcurrentHashMap.TableStack var21 = var8;
                        if (var21 != null) {
                           var8 = var21.next;
                        } else {
                           var21 = new Int2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var21.tab = var14;
                        var21.length = var16;
                        var21.index = var15;
                        var21.next = var7;
                        var7 = var21;
                        class="kw">continue;
                     }

                     if (var13 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var13 = ((Int2ObjectConcurrentHashMap.TreeBin)var13).first;
                     } else {
                        var13 = null;
                     }
                  }

                  if (var7 == null) {
                     if ((var9 = var15 + var12) >= var16) {
                        var9 = ++var10;
                     }
                  } else {
                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var17 = var7;
                        if (var7 != null) {
                           int var18 = var17.length;
                           if ((var9 += var17.length) >= var16) {
                              var16 = var18;
                              var9 = var17.index;
                              var5 = var17.tab;
                              var17.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var19 = var17.next;
                              var17.next = var8;
                              var7 = var19;
                              var8 = var17;
                              class="kw">continue;
                           }
                        }

                        if (var17 == null && (var9 += var12) >= var16) {
                           var9 = ++var10;
                        }
                        break;
                     }
                  }
               }

               var6 = null;
            }

            if (var13 == null) {
               break;
            }

            var1.accept(var13.key, var13.val, var2);
            var3++;
         }
      }

      class="kw">return var3;
   }

   class="kw">public int forEachWithShort(Int2ObjectConcurrentHashMap.IntObjShortConsumer<? super V> var1, short var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var3 = 0;
      Int2ObjectConcurrentHashMap.Node[] var4 = this.table;
      if (this.table != null) {
         Int2ObjectConcurrentHashMap.Node[] var5 = var4;
         Int2ObjectConcurrentHashMap.Node var6 = null;
         Int2ObjectConcurrentHashMap.TableStack var7 = null;
         Int2ObjectConcurrentHashMap.TableStack var8 = null;
         int var9 = 0;
         int var10 = 0;
         int var11 = var4.length;
         int var12 = var4.length;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var13 = null;
            var13 = var6;
            if (var6 != null) {
               var13 = var13.next;
            }

            label78: {
               while (true) {
                  if (var13 != null) {
                     var6 = var13;
                     break label78;
                  }

                  if (var10 >= var11) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var14 = var5;
                  if (var5 == null) {
                     break;
                  }

                  int var16;
                  int var10000 = var16 = var14.length;
                  int var15 = var9;
                  if (var10000 <= var9 || var15 < 0) {
                     break;
                  }

                  if ((var13 = tabAt(var14, var15)) != null && var13.hash < 0) {
                     if (var13 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                        var5 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var13).nextTable;
                        var13 = null;
                        Int2ObjectConcurrentHashMap.TableStack var21 = var8;
                        if (var21 != null) {
                           var8 = var21.next;
                        } else {
                           var21 = new Int2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var21.tab = var14;
                        var21.length = var16;
                        var21.index = var15;
                        var21.next = var7;
                        var7 = var21;
                        class="kw">continue;
                     }

                     if (var13 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var13 = ((Int2ObjectConcurrentHashMap.TreeBin)var13).first;
                     } else {
                        var13 = null;
                     }
                  }

                  if (var7 == null) {
                     if ((var9 = var15 + var12) >= var16) {
                        var9 = ++var10;
                     }
                  } else {
                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var17 = var7;
                        if (var7 != null) {
                           int var18 = var17.length;
                           if ((var9 += var17.length) >= var16) {
                              var16 = var18;
                              var9 = var17.index;
                              var5 = var17.tab;
                              var17.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var19 = var17.next;
                              var17.next = var8;
                              var7 = var19;
                              var8 = var17;
                              class="kw">continue;
                           }
                        }

                        if (var17 == null && (var9 += var12) >= var16) {
                           var9 = ++var10;
                        }
                        break;
                     }
                  }
               }

               var6 = null;
            }

            if (var13 == null) {
               break;
            }

            var1.accept(var13.key, var13.val, var2);
            var3++;
         }
      }

      class="kw">return var3;
   }

   class="kw">public int forEachWithInt(Int2ObjectConcurrentHashMap.IntObjIntConsumer<? super V> var1, int var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var3 = 0;
      Int2ObjectConcurrentHashMap.Node[] var4 = this.table;
      if (this.table != null) {
         Int2ObjectConcurrentHashMap.Node[] var5 = var4;
         Int2ObjectConcurrentHashMap.Node var6 = null;
         Int2ObjectConcurrentHashMap.TableStack var7 = null;
         Int2ObjectConcurrentHashMap.TableStack var8 = null;
         int var9 = 0;
         int var10 = 0;
         int var11 = var4.length;
         int var12 = var4.length;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var13 = null;
            var13 = var6;
            if (var6 != null) {
               var13 = var13.next;
            }

            label78: {
               while (true) {
                  if (var13 != null) {
                     var6 = var13;
                     break label78;
                  }

                  if (var10 >= var11) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var14 = var5;
                  if (var5 == null) {
                     break;
                  }

                  int var16;
                  int var10000 = var16 = var14.length;
                  int var15 = var9;
                  if (var10000 <= var9 || var15 < 0) {
                     break;
                  }

                  if ((var13 = tabAt(var14, var15)) != null && var13.hash < 0) {
                     if (var13 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                        var5 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var13).nextTable;
                        var13 = null;
                        Int2ObjectConcurrentHashMap.TableStack var21 = var8;
                        if (var21 != null) {
                           var8 = var21.next;
                        } else {
                           var21 = new Int2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var21.tab = var14;
                        var21.length = var16;
                        var21.index = var15;
                        var21.next = var7;
                        var7 = var21;
                        class="kw">continue;
                     }

                     if (var13 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var13 = ((Int2ObjectConcurrentHashMap.TreeBin)var13).first;
                     } else {
                        var13 = null;
                     }
                  }

                  if (var7 == null) {
                     if ((var9 = var15 + var12) >= var16) {
                        var9 = ++var10;
                     }
                  } else {
                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var17 = var7;
                        if (var7 != null) {
                           int var18 = var17.length;
                           if ((var9 += var17.length) >= var16) {
                              var16 = var18;
                              var9 = var17.index;
                              var5 = var17.tab;
                              var17.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var19 = var17.next;
                              var17.next = var8;
                              var7 = var19;
                              var8 = var17;
                              class="kw">continue;
                           }
                        }

                        if (var17 == null && (var9 += var12) >= var16) {
                           var9 = ++var10;
                        }
                        break;
                     }
                  }
               }

               var6 = null;
            }

            if (var13 == null) {
               break;
            }

            var1.accept(var13.key, var13.val, var2);
            var3++;
         }
      }

      class="kw">return var3;
   }

   class="kw">public int forEachWithLong(Int2ObjectConcurrentHashMap.IntObjLongConsumer<? super V> var1, long var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var4 = 0;
      Int2ObjectConcurrentHashMap.Node[] var5 = this.table;
      if (this.table != null) {
         Int2ObjectConcurrentHashMap.Node[] var6 = var5;
         Int2ObjectConcurrentHashMap.Node var7 = null;
         Int2ObjectConcurrentHashMap.TableStack var8 = null;
         Int2ObjectConcurrentHashMap.TableStack var9 = null;
         int var10 = 0;
         int var11 = 0;
         int var12 = var5.length;
         int var13 = var5.length;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var14 = null;
            var14 = var7;
            if (var7 != null) {
               var14 = var14.next;
            }

            label78: {
               while (true) {
                  if (var14 != null) {
                     var7 = var14;
                     break label78;
                  }

                  if (var11 >= var12) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var15 = var6;
                  if (var6 == null) {
                     break;
                  }

                  int var17;
                  int var10000 = var17 = var15.length;
                  int var16 = var10;
                  if (var10000 <= var10 || var16 < 0) {
                     break;
                  }

                  if ((var14 = tabAt(var15, var16)) != null && var14.hash < 0) {
                     if (var14 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                        var6 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var14).nextTable;
                        var14 = null;
                        Int2ObjectConcurrentHashMap.TableStack var22 = var9;
                        if (var22 != null) {
                           var9 = var22.next;
                        } else {
                           var22 = new Int2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var22.tab = var15;
                        var22.length = var17;
                        var22.index = var16;
                        var22.next = var8;
                        var8 = var22;
                        class="kw">continue;
                     }

                     if (var14 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var14 = ((Int2ObjectConcurrentHashMap.TreeBin)var14).first;
                     } else {
                        var14 = null;
                     }
                  }

                  if (var8 == null) {
                     if ((var10 = var16 + var13) >= var17) {
                        var10 = ++var11;
                     }
                  } else {
                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var18 = var8;
                        if (var8 != null) {
                           int var19 = var18.length;
                           if ((var10 += var18.length) >= var17) {
                              var17 = var19;
                              var10 = var18.index;
                              var6 = var18.tab;
                              var18.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var20 = var18.next;
                              var18.next = var9;
                              var8 = var20;
                              var9 = var18;
                              class="kw">continue;
                           }
                        }

                        if (var18 == null && (var10 += var13) >= var17) {
                           var10 = ++var11;
                        }
                        break;
                     }
                  }
               }

               var7 = null;
            }

            if (var14 == null) {
               break;
            }

            var1.accept(var14.key, var14.val, var2);
            var4++;
         }
      }

      class="kw">return var4;
   }

   class="kw">public int forEachWithFloat(Int2ObjectConcurrentHashMap.IntObjFloatConsumer<? super V> var1, float var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var3 = 0;
      Int2ObjectConcurrentHashMap.Node[] var4 = this.table;
      if (this.table != null) {
         Int2ObjectConcurrentHashMap.Node[] var5 = var4;
         Int2ObjectConcurrentHashMap.Node var6 = null;
         Int2ObjectConcurrentHashMap.TableStack var7 = null;
         Int2ObjectConcurrentHashMap.TableStack var8 = null;
         int var9 = 0;
         int var10 = 0;
         int var11 = var4.length;
         int var12 = var4.length;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var13 = null;
            var13 = var6;
            if (var6 != null) {
               var13 = var13.next;
            }

            label78: {
               while (true) {
                  if (var13 != null) {
                     var6 = var13;
                     break label78;
                  }

                  if (var10 >= var11) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var14 = var5;
                  if (var5 == null) {
                     break;
                  }

                  int var16;
                  int var10000 = var16 = var14.length;
                  int var15 = var9;
                  if (var10000 <= var9 || var15 < 0) {
                     break;
                  }

                  if ((var13 = tabAt(var14, var15)) != null && var13.hash < 0) {
                     if (var13 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                        var5 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var13).nextTable;
                        var13 = null;
                        Int2ObjectConcurrentHashMap.TableStack var21 = var8;
                        if (var21 != null) {
                           var8 = var21.next;
                        } else {
                           var21 = new Int2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var21.tab = var14;
                        var21.length = var16;
                        var21.index = var15;
                        var21.next = var7;
                        var7 = var21;
                        class="kw">continue;
                     }

                     if (var13 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var13 = ((Int2ObjectConcurrentHashMap.TreeBin)var13).first;
                     } else {
                        var13 = null;
                     }
                  }

                  if (var7 == null) {
                     if ((var9 = var15 + var12) >= var16) {
                        var9 = ++var10;
                     }
                  } else {
                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var17 = var7;
                        if (var7 != null) {
                           int var18 = var17.length;
                           if ((var9 += var17.length) >= var16) {
                              var16 = var18;
                              var9 = var17.index;
                              var5 = var17.tab;
                              var17.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var19 = var17.next;
                              var17.next = var8;
                              var7 = var19;
                              var8 = var17;
                              class="kw">continue;
                           }
                        }

                        if (var17 == null && (var9 += var12) >= var16) {
                           var9 = ++var10;
                        }
                        break;
                     }
                  }
               }

               var6 = null;
            }

            if (var13 == null) {
               break;
            }

            var1.accept(var13.key, var13.val, var2);
            var3++;
         }
      }

      class="kw">return var3;
   }

   class="kw">public int forEachWithDouble(Int2ObjectConcurrentHashMap.IntObjDoubleConsumer<? super V> var1, double var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var4 = 0;
      Int2ObjectConcurrentHashMap.Node[] var5 = this.table;
      if (this.table != null) {
         Int2ObjectConcurrentHashMap.Node[] var6 = var5;
         Int2ObjectConcurrentHashMap.Node var7 = null;
         Int2ObjectConcurrentHashMap.TableStack var8 = null;
         Int2ObjectConcurrentHashMap.TableStack var9 = null;
         int var10 = 0;
         int var11 = 0;
         int var12 = var5.length;
         int var13 = var5.length;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var14 = null;
            var14 = var7;
            if (var7 != null) {
               var14 = var14.next;
            }

            label78: {
               while (true) {
                  if (var14 != null) {
                     var7 = var14;
                     break label78;
                  }

                  if (var11 >= var12) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var15 = var6;
                  if (var6 == null) {
                     break;
                  }

                  int var17;
                  int var10000 = var17 = var15.length;
                  int var16 = var10;
                  if (var10000 <= var10 || var16 < 0) {
                     break;
                  }

                  if ((var14 = tabAt(var15, var16)) != null && var14.hash < 0) {
                     if (var14 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                        var6 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var14).nextTable;
                        var14 = null;
                        Int2ObjectConcurrentHashMap.TableStack var22 = var9;
                        if (var22 != null) {
                           var9 = var22.next;
                        } else {
                           var22 = new Int2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var22.tab = var15;
                        var22.length = var17;
                        var22.index = var16;
                        var22.next = var8;
                        var8 = var22;
                        class="kw">continue;
                     }

                     if (var14 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var14 = ((Int2ObjectConcurrentHashMap.TreeBin)var14).first;
                     } else {
                        var14 = null;
                     }
                  }

                  if (var8 == null) {
                     if ((var10 = var16 + var13) >= var17) {
                        var10 = ++var11;
                     }
                  } else {
                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var18 = var8;
                        if (var8 != null) {
                           int var19 = var18.length;
                           if ((var10 += var18.length) >= var17) {
                              var17 = var19;
                              var10 = var18.index;
                              var6 = var18.tab;
                              var18.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var20 = var18.next;
                              var18.next = var9;
                              var8 = var20;
                              var9 = var18;
                              class="kw">continue;
                           }
                        }

                        if (var18 == null && (var10 += var13) >= var17) {
                           var10 = ++var11;
                        }
                        break;
                     }
                  }
               }

               var7 = null;
            }

            if (var14 == null) {
               break;
            }

            var1.accept(var14.key, var14.val, var2);
            var4++;
         }
      }

      class="kw">return var4;
   }

   class="kw">public <X> int forEachWithByte(Int2ObjectConcurrentHashMap.IntBiObjByteConsumer<? super V, X> var1, byte var2, X var3) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var4 = 0;
      Int2ObjectConcurrentHashMap.Node[] var5 = this.table;
      if (this.table != null) {
         Int2ObjectConcurrentHashMap.Node[] var6 = var5;
         Int2ObjectConcurrentHashMap.Node var7 = null;
         Int2ObjectConcurrentHashMap.TableStack var8 = null;
         Int2ObjectConcurrentHashMap.TableStack var9 = null;
         int var10 = 0;
         int var11 = 0;
         int var12 = var5.length;
         int var13 = var5.length;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var14 = null;
            var14 = var7;
            if (var7 != null) {
               var14 = var14.next;
            }

            label78: {
               while (true) {
                  if (var14 != null) {
                     var7 = var14;
                     break label78;
                  }

                  if (var11 >= var12) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var15 = var6;
                  if (var6 == null) {
                     break;
                  }

                  int var17;
                  int var10000 = var17 = var15.length;
                  int var16 = var10;
                  if (var10000 <= var10 || var16 < 0) {
                     break;
                  }

                  if ((var14 = tabAt(var15, var16)) != null && var14.hash < 0) {
                     if (var14 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                        var6 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var14).nextTable;
                        var14 = null;
                        Int2ObjectConcurrentHashMap.TableStack var22 = var9;
                        if (var22 != null) {
                           var9 = var22.next;
                        } else {
                           var22 = new Int2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var22.tab = var15;
                        var22.length = var17;
                        var22.index = var16;
                        var22.next = var8;
                        var8 = var22;
                        class="kw">continue;
                     }

                     if (var14 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var14 = ((Int2ObjectConcurrentHashMap.TreeBin)var14).first;
                     } else {
                        var14 = null;
                     }
                  }

                  if (var8 == null) {
                     if ((var10 = var16 + var13) >= var17) {
                        var10 = ++var11;
                     }
                  } else {
                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var18 = var8;
                        if (var8 != null) {
                           int var19 = var18.length;
                           if ((var10 += var18.length) >= var17) {
                              var17 = var19;
                              var10 = var18.index;
                              var6 = var18.tab;
                              var18.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var20 = var18.next;
                              var18.next = var9;
                              var8 = var20;
                              var9 = var18;
                              class="kw">continue;
                           }
                        }

                        if (var18 == null && (var10 += var13) >= var17) {
                           var10 = ++var11;
                        }
                        break;
                     }
                  }
               }

               var7 = null;
            }

            if (var14 == null) {
               break;
            }

            var1.accept(var14.key, var14.val, var2, var3);
            var4++;
         }
      }

      class="kw">return var4;
   }

   class="kw">public <X> int forEachWithShort(Int2ObjectConcurrentHashMap.IntBiObjShortConsumer<? super V, X> var1, short var2, X var3) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var4 = 0;
      Int2ObjectConcurrentHashMap.Node[] var5 = this.table;
      if (this.table != null) {
         Int2ObjectConcurrentHashMap.Node[] var6 = var5;
         Int2ObjectConcurrentHashMap.Node var7 = null;
         Int2ObjectConcurrentHashMap.TableStack var8 = null;
         Int2ObjectConcurrentHashMap.TableStack var9 = null;
         int var10 = 0;
         int var11 = 0;
         int var12 = var5.length;
         int var13 = var5.length;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var14 = null;
            var14 = var7;
            if (var7 != null) {
               var14 = var14.next;
            }

            label78: {
               while (true) {
                  if (var14 != null) {
                     var7 = var14;
                     break label78;
                  }

                  if (var11 >= var12) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var15 = var6;
                  if (var6 == null) {
                     break;
                  }

                  int var17;
                  int var10000 = var17 = var15.length;
                  int var16 = var10;
                  if (var10000 <= var10 || var16 < 0) {
                     break;
                  }

                  if ((var14 = tabAt(var15, var16)) != null && var14.hash < 0) {
                     if (var14 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                        var6 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var14).nextTable;
                        var14 = null;
                        Int2ObjectConcurrentHashMap.TableStack var22 = var9;
                        if (var22 != null) {
                           var9 = var22.next;
                        } else {
                           var22 = new Int2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var22.tab = var15;
                        var22.length = var17;
                        var22.index = var16;
                        var22.next = var8;
                        var8 = var22;
                        class="kw">continue;
                     }

                     if (var14 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var14 = ((Int2ObjectConcurrentHashMap.TreeBin)var14).first;
                     } else {
                        var14 = null;
                     }
                  }

                  if (var8 == null) {
                     if ((var10 = var16 + var13) >= var17) {
                        var10 = ++var11;
                     }
                  } else {
                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var18 = var8;
                        if (var8 != null) {
                           int var19 = var18.length;
                           if ((var10 += var18.length) >= var17) {
                              var17 = var19;
                              var10 = var18.index;
                              var6 = var18.tab;
                              var18.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var20 = var18.next;
                              var18.next = var9;
                              var8 = var20;
                              var9 = var18;
                              class="kw">continue;
                           }
                        }

                        if (var18 == null && (var10 += var13) >= var17) {
                           var10 = ++var11;
                        }
                        break;
                     }
                  }
               }

               var7 = null;
            }

            if (var14 == null) {
               break;
            }

            var1.accept(var14.key, var14.val, var2, var3);
            var4++;
         }
      }

      class="kw">return var4;
   }

   class="kw">public <X> int forEachWithInt(Int2ObjectConcurrentHashMap.IntBiObjIntConsumer<? super V, X> var1, int var2, X var3) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var4 = 0;
      Int2ObjectConcurrentHashMap.Node[] var5 = this.table;
      if (this.table != null) {
         Int2ObjectConcurrentHashMap.Node[] var6 = var5;
         Int2ObjectConcurrentHashMap.Node var7 = null;
         Int2ObjectConcurrentHashMap.TableStack var8 = null;
         Int2ObjectConcurrentHashMap.TableStack var9 = null;
         int var10 = 0;
         int var11 = 0;
         int var12 = var5.length;
         int var13 = var5.length;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var14 = null;
            var14 = var7;
            if (var7 != null) {
               var14 = var14.next;
            }

            label78: {
               while (true) {
                  if (var14 != null) {
                     var7 = var14;
                     break label78;
                  }

                  if (var11 >= var12) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var15 = var6;
                  if (var6 == null) {
                     break;
                  }

                  int var17;
                  int var10000 = var17 = var15.length;
                  int var16 = var10;
                  if (var10000 <= var10 || var16 < 0) {
                     break;
                  }

                  if ((var14 = tabAt(var15, var16)) != null && var14.hash < 0) {
                     if (var14 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                        var6 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var14).nextTable;
                        var14 = null;
                        Int2ObjectConcurrentHashMap.TableStack var22 = var9;
                        if (var22 != null) {
                           var9 = var22.next;
                        } else {
                           var22 = new Int2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var22.tab = var15;
                        var22.length = var17;
                        var22.index = var16;
                        var22.next = var8;
                        var8 = var22;
                        class="kw">continue;
                     }

                     if (var14 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var14 = ((Int2ObjectConcurrentHashMap.TreeBin)var14).first;
                     } else {
                        var14 = null;
                     }
                  }

                  if (var8 == null) {
                     if ((var10 = var16 + var13) >= var17) {
                        var10 = ++var11;
                     }
                  } else {
                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var18 = var8;
                        if (var8 != null) {
                           int var19 = var18.length;
                           if ((var10 += var18.length) >= var17) {
                              var17 = var19;
                              var10 = var18.index;
                              var6 = var18.tab;
                              var18.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var20 = var18.next;
                              var18.next = var9;
                              var8 = var20;
                              var9 = var18;
                              class="kw">continue;
                           }
                        }

                        if (var18 == null && (var10 += var13) >= var17) {
                           var10 = ++var11;
                        }
                        break;
                     }
                  }
               }

               var7 = null;
            }

            if (var14 == null) {
               break;
            }

            var1.accept(var14.key, var14.val, var2, var3);
            var4++;
         }
      }

      class="kw">return var4;
   }

   class="kw">public <X> int forEachWithLong(Int2ObjectConcurrentHashMap.IntBiObjLongConsumer<? super V, X> var1, long var2, X var4) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var5 = 0;
      Int2ObjectConcurrentHashMap.Node[] var6 = this.table;
      if (this.table != null) {
         Int2ObjectConcurrentHashMap.Node[] var7 = var6;
         Int2ObjectConcurrentHashMap.Node var8 = null;
         Int2ObjectConcurrentHashMap.TableStack var9 = null;
         Int2ObjectConcurrentHashMap.TableStack var10 = null;
         int var11 = 0;
         int var12 = 0;
         int var13 = var6.length;
         int var14 = var6.length;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var15 = null;
            var15 = var8;
            if (var8 != null) {
               var15 = var15.next;
            }

            label78: {
               while (true) {
                  if (var15 != null) {
                     var8 = var15;
                     break label78;
                  }

                  if (var12 >= var13) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var16 = var7;
                  if (var7 == null) {
                     break;
                  }

                  int var18;
                  int var10000 = var18 = var16.length;
                  int var17 = var11;
                  if (var10000 <= var11 || var17 < 0) {
                     break;
                  }

                  if ((var15 = tabAt(var16, var17)) != null && var15.hash < 0) {
                     if (var15 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                        var7 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var15).nextTable;
                        var15 = null;
                        Int2ObjectConcurrentHashMap.TableStack var23 = var10;
                        if (var23 != null) {
                           var10 = var23.next;
                        } else {
                           var23 = new Int2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var23.tab = var16;
                        var23.length = var18;
                        var23.index = var17;
                        var23.next = var9;
                        var9 = var23;
                        class="kw">continue;
                     }

                     if (var15 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var15 = ((Int2ObjectConcurrentHashMap.TreeBin)var15).first;
                     } else {
                        var15 = null;
                     }
                  }

                  if (var9 == null) {
                     if ((var11 = var17 + var14) >= var18) {
                        var11 = ++var12;
                     }
                  } else {
                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var19 = var9;
                        if (var9 != null) {
                           int var20 = var19.length;
                           if ((var11 += var19.length) >= var18) {
                              var18 = var20;
                              var11 = var19.index;
                              var7 = var19.tab;
                              var19.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var21 = var19.next;
                              var19.next = var10;
                              var9 = var21;
                              var10 = var19;
                              class="kw">continue;
                           }
                        }

                        if (var19 == null && (var11 += var14) >= var18) {
                           var11 = ++var12;
                        }
                        break;
                     }
                  }
               }

               var8 = null;
            }

            if (var15 == null) {
               break;
            }

            var1.accept(var15.key, var15.val, var2, var4);
            var5++;
         }
      }

      class="kw">return var5;
   }

   class="kw">public <X> int forEachWithFloat(Int2ObjectConcurrentHashMap.IntBiObjFloatConsumer<? super V, X> var1, float var2, X var3) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var4 = 0;
      Int2ObjectConcurrentHashMap.Node[] var5 = this.table;
      if (this.table != null) {
         Int2ObjectConcurrentHashMap.Node[] var6 = var5;
         Int2ObjectConcurrentHashMap.Node var7 = null;
         Int2ObjectConcurrentHashMap.TableStack var8 = null;
         Int2ObjectConcurrentHashMap.TableStack var9 = null;
         int var10 = 0;
         int var11 = 0;
         int var12 = var5.length;
         int var13 = var5.length;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var14 = null;
            var14 = var7;
            if (var7 != null) {
               var14 = var14.next;
            }

            label78: {
               while (true) {
                  if (var14 != null) {
                     var7 = var14;
                     break label78;
                  }

                  if (var11 >= var12) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var15 = var6;
                  if (var6 == null) {
                     break;
                  }

                  int var17;
                  int var10000 = var17 = var15.length;
                  int var16 = var10;
                  if (var10000 <= var10 || var16 < 0) {
                     break;
                  }

                  if ((var14 = tabAt(var15, var16)) != null && var14.hash < 0) {
                     if (var14 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                        var6 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var14).nextTable;
                        var14 = null;
                        Int2ObjectConcurrentHashMap.TableStack var22 = var9;
                        if (var22 != null) {
                           var9 = var22.next;
                        } else {
                           var22 = new Int2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var22.tab = var15;
                        var22.length = var17;
                        var22.index = var16;
                        var22.next = var8;
                        var8 = var22;
                        class="kw">continue;
                     }

                     if (var14 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var14 = ((Int2ObjectConcurrentHashMap.TreeBin)var14).first;
                     } else {
                        var14 = null;
                     }
                  }

                  if (var8 == null) {
                     if ((var10 = var16 + var13) >= var17) {
                        var10 = ++var11;
                     }
                  } else {
                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var18 = var8;
                        if (var8 != null) {
                           int var19 = var18.length;
                           if ((var10 += var18.length) >= var17) {
                              var17 = var19;
                              var10 = var18.index;
                              var6 = var18.tab;
                              var18.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var20 = var18.next;
                              var18.next = var9;
                              var8 = var20;
                              var9 = var18;
                              class="kw">continue;
                           }
                        }

                        if (var18 == null && (var10 += var13) >= var17) {
                           var10 = ++var11;
                        }
                        break;
                     }
                  }
               }

               var7 = null;
            }

            if (var14 == null) {
               break;
            }

            var1.accept(var14.key, var14.val, var2, var3);
            var4++;
         }
      }

      class="kw">return var4;
   }

   class="kw">public <X> int forEachWithDouble(Int2ObjectConcurrentHashMap.IntBiObjDoubleConsumer<? super V, X> var1, double var2, X var4) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      int var5 = 0;
      Int2ObjectConcurrentHashMap.Node[] var6 = this.table;
      if (this.table != null) {
         Int2ObjectConcurrentHashMap.Node[] var7 = var6;
         Int2ObjectConcurrentHashMap.Node var8 = null;
         Int2ObjectConcurrentHashMap.TableStack var9 = null;
         Int2ObjectConcurrentHashMap.TableStack var10 = null;
         int var11 = 0;
         int var12 = 0;
         int var13 = var6.length;
         int var14 = var6.length;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var15 = null;
            var15 = var8;
            if (var8 != null) {
               var15 = var15.next;
            }

            label78: {
               while (true) {
                  if (var15 != null) {
                     var8 = var15;
                     break label78;
                  }

                  if (var12 >= var13) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var16 = var7;
                  if (var7 == null) {
                     break;
                  }

                  int var18;
                  int var10000 = var18 = var16.length;
                  int var17 = var11;
                  if (var10000 <= var11 || var17 < 0) {
                     break;
                  }

                  if ((var15 = tabAt(var16, var17)) != null && var15.hash < 0) {
                     if (var15 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                        var7 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var15).nextTable;
                        var15 = null;
                        Int2ObjectConcurrentHashMap.TableStack var23 = var10;
                        if (var23 != null) {
                           var10 = var23.next;
                        } else {
                           var23 = new Int2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var23.tab = var16;
                        var23.length = var18;
                        var23.index = var17;
                        var23.next = var9;
                        var9 = var23;
                        class="kw">continue;
                     }

                     if (var15 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var15 = ((Int2ObjectConcurrentHashMap.TreeBin)var15).first;
                     } else {
                        var15 = null;
                     }
                  }

                  if (var9 == null) {
                     if ((var11 = var17 + var14) >= var18) {
                        var11 = ++var12;
                     }
                  } else {
                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var19 = var9;
                        if (var9 != null) {
                           int var20 = var19.length;
                           if ((var11 += var19.length) >= var18) {
                              var18 = var20;
                              var11 = var19.index;
                              var7 = var19.tab;
                              var19.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var21 = var19.next;
                              var19.next = var10;
                              var9 = var21;
                              var10 = var19;
                              class="kw">continue;
                           }
                        }

                        if (var19 == null && (var11 += var14) >= var18) {
                           var11 = ++var12;
                        }
                        break;
                     }
                  }
               }

               var8 = null;
            }

            if (var15 == null) {
               break;
            }

            var1.accept(var15.key, var15.val, var2, var4);
            var5++;
         }
      }

      class="kw">return var5;
   }

   class="kw">public void replaceAll(Int2ObjectOperator<V> var1) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      Int2ObjectConcurrentHashMap.Node[] var2 = this.table;
      if (this.table != null) {
         Int2ObjectConcurrentHashMap.Node[] var3 = var2;
         Int2ObjectConcurrentHashMap.Node var4 = null;
         Int2ObjectConcurrentHashMap.TableStack var5 = null;
         Int2ObjectConcurrentHashMap.TableStack var6 = null;
         int var7 = 0;
         int var8 = 0;
         int var9 = var2.length;
         int var10 = var2.length;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var11 = null;
            var11 = var4;
            if (var4 != null) {
               var11 = var11.next;
            }

            label86: {
               while (true) {
                  if (var11 != null) {
                     var4 = var11;
                     break label86;
                  }

                  if (var8 >= var9) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var12 = var3;
                  if (var3 == null) {
                     break;
                  }

                  int var14;
                  int var10000 = var14 = var12.length;
                  int var13 = var7;
                  if (var10000 <= var7 || var13 < 0) {
                     break;
                  }

                  if ((var11 = tabAt(var12, var13)) != null && var11.hash < 0) {
                     if (var11 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                        var3 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var11).nextTable;
                        var11 = null;
                        Int2ObjectConcurrentHashMap.TableStack var22 = var6;
                        if (var22 != null) {
                           var6 = var22.next;
                        } else {
                           var22 = new Int2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var22.tab = var12;
                        var22.length = var14;
                        var22.index = var13;
                        var22.next = var5;
                        var5 = var22;
                        class="kw">continue;
                     }

                     if (var11 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var11 = ((Int2ObjectConcurrentHashMap.TreeBin)var11).first;
                     } else {
                        var11 = null;
                     }
                  }

                  if (var5 == null) {
                     if ((var7 = var13 + var10) >= var14) {
                        var7 = ++var8;
                     }
                  } else {
                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var15 = var5;
                        if (var5 != null) {
                           int var16 = var15.length;
                           if ((var7 += var15.length) >= var14) {
                              var14 = var16;
                              var7 = var15.index;
                              var3 = var15.tab;
                              var15.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var17 = var15.next;
                              var15.next = var6;
                              var5 = var17;
                              var6 = var15;
                              class="kw">continue;
                           }
                        }

                        if (var15 == null && (var7 += var10) >= var14) {
                           var7 = ++var8;
                        }
                        break;
                     }
                  }
               }

               var4 = null;
            }

            if (var11 == null) {
               break;
            }

            Object var19 = var11.val;
            int var20 = var11.key;

            Object var21;
            do {
               var21 = var1.apply(var20, var19);
               if (var21 == null) {
                  throw new NullPointerException();
               }
            } while (this.replaceNode(var20, var21, var19) == null && (var19 = this.get(var20)) != null);
         }
      }
   }

   class="kw">public V computeIfAbsent(int var1, Int2ObjectConcurrentHashMap.IntFunction<? class="kw">extends V> var2) {
      if (var1 == this.EMPTY) {
         throw new IllegalArgumentException("Key is EMPTY: " + this.EMPTY);
      }

      if (var2 == null) {
         throw new NullPointerException();
      }

      int var3 = spread(Integer.hashCode(var1));
      Object var4 = null;
      int var5 = 0;
      Int2ObjectConcurrentHashMap.Node[] var6 = this.table;

      while (true) {
         int var8;
         while (var6 == null || (var8 = var6.length) == 0) {
            var6 = this.initTable();
         }

         Int2ObjectConcurrentHashMap.Node var7;
         int var9;
         if ((var7 = tabAt(var6, var9 = var8 - 1 & var3)) == null) {
            Int2ObjectConcurrentHashMap.Node var24 = new Int2ObjectConcurrentHashMap.ReservationNode<>(this.EMPTY);
            class="kw">synchronized (var24) {
               if (casTabAt(var6, var9, null, var24)) {
                  var5 = 1;
                  Int2ObjectConcurrentHashMap.Node var26 = null;

                  try {
                     if ((var4 = (V)var2.apply(var1)) != null) {
                        var26 = new Int2ObjectConcurrentHashMap.Node<>(this.EMPTY, var3, var1, var4, null);
                     }
                  } class="kw">finally {
                     setTabAt(var6, var9, var26);
                  }
               }
            }

            if (var5 != 0) {
               break;
            }
         } else {
            int var10 = var7.hash;
            if (var7.hash == -1) {
               var6 = this.helpTransfer(var6, var7);
            } else {
               boolean var11 = false;
               class="kw">synchronized (var7) {
                  if (tabAt(var6, var9) == var7) {
                     if (var10 < 0) {
                        if (var7 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                           var5 = 2;
                           Int2ObjectConcurrentHashMap.TreeBin var25 = (Int2ObjectConcurrentHashMap.TreeBin<V>)var7;
                           Int2ObjectConcurrentHashMap.TreeNode var27 = var25.root;
                           Int2ObjectConcurrentHashMap.TreeNode var15;
                           if (var25.root != null && (var15 = var27.findTreeNode(var3, var1, null)) != null) {
                              var4 = var15.val;
                           } else if ((var4 = (V)var2.apply(var1)) != null) {
                              var11 = true;
                              var25.putTreeVal(var3, var1, var4);
                           }
                        }
                     } else {
                        var5 = 1;
                        Int2ObjectConcurrentHashMap.Node var13 = var7;

                        while (true) {
                           if (var13.hash == var3) {
                              int var14 = var13.key;
                              if (var13.key == var1 || var14 != this.EMPTY && var1 == var14) {
                                 var4 = var13.val;
                                 break;
                              }
                           }

                           Int2ObjectConcurrentHashMap.Node var16 = var13;
                           if ((var13 = var13.next) == null) {
                              if ((var4 = (V)var2.apply(var1)) != null) {
                                 var11 = true;
                                 var16.next = new Int2ObjectConcurrentHashMap.Node<>(this.EMPTY, var3, var1, var4, null);
                              }
                              break;
                           }

                           var5++;
                        }
                     }
                  }
               }

               if (var5 != 0) {
                  if (var5 >= 8) {
                     this.treeifyBin(var6, var9);
                  }

                  if (!var11) {
                     class="kw">return var4;
                  }
                  break;
               }
            }
         }
      }

      if (var4 != null) {
         this.addCount(1L, var5);
      }

      class="kw">return var4;
   }

   class="kw">public V computeIfPresent(int var1, Int2ObjectConcurrentHashMap.IntObjFunction<? super V, ? class="kw">extends V> var2) {
      if (var1 == this.EMPTY) {
         throw new IllegalArgumentException("Key is EMPTY: " + this.EMPTY);
      }

      if (var2 == null) {
         throw new NullPointerException();
      }

      int var3 = spread(Integer.hashCode(var1));
      Object var4 = null;
      int var5 = 0;
      int var6 = 0;
      Int2ObjectConcurrentHashMap.Node[] var7 = this.table;

      while (true) {
         int var9;
         while (var7 == null || (var9 = var7.length) == 0) {
            var7 = this.initTable();
         }

         Int2ObjectConcurrentHashMap.Node var8;
         int var10;
         if ((var8 = tabAt(var7, var10 = var9 - 1 & var3)) == null) {
            break;
         }

         int var11 = var8.hash;
         if (var8.hash == -1) {
            var7 = this.helpTransfer(var7, var8);
         } else {
            class="kw">synchronized (var8) {
               if (tabAt(var7, var10) == var8) {
                  if (var11 < 0) {
                     if (var8 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var6 = 2;
                        Int2ObjectConcurrentHashMap.TreeBin var19 = (Int2ObjectConcurrentHashMap.TreeBin<V>)var8;
                        Int2ObjectConcurrentHashMap.TreeNode var20 = var19.root;
                        Int2ObjectConcurrentHashMap.TreeNode var21;
                        if (var19.root != null && (var21 = var20.findTreeNode(var3, var1, null)) != null) {
                           var4 = (V)var2.apply(var1, var21.val);
                           if (var4 != null) {
                              var21.val = var4;
                           } else {
                              var5 = -1;
                              if (var19.removeTreeNode(var21)) {
                                 setTabAt(var7, var10, this.untreeify(var19.first));
                              }
                           }
                        }
                     }
                  } else {
                     var6 = 1;
                     Int2ObjectConcurrentHashMap.Node var13 = var8;
                     Int2ObjectConcurrentHashMap.Node var14 = null;

                     while (true) {
                        if (var13.hash == var3) {
                           int var15 = var13.key;
                           if (var13.key == var1 || var15 != this.EMPTY && var1 == var15) {
                              var4 = (V)var2.apply(var1, var13.val);
                              if (var4 != null) {
                                 var13.val = var4;
                              } else {
                                 var5 = -1;
                                 Int2ObjectConcurrentHashMap.Node var16 = var13.next;
                                 if (var14 != null) {
                                    var14.next = var16;
                                 } else {
                                    setTabAt(var7, var10, var16);
                                 }
                              }
                              break;
                           }
                        }

                        var14 = var13;
                        if ((var13 = var13.next) == null) {
                           break;
                        }

                        var6++;
                     }
                  }
               }
            }

            if (var6 != 0) {
               break;
            }
         }
      }

      if (var5 != 0) {
         this.addCount(var5, var6);
      }

      class="kw">return var4;
   }

   class="kw">public V compute(int var1, Int2ObjectConcurrentHashMap.IntObjFunction<? super V, ? class="kw">extends V> var2) {
      if (var1 == this.EMPTY) {
         throw new IllegalArgumentException("Key is EMPTY: " + this.EMPTY);
      }

      if (var2 == null) {
         throw new NullPointerException();
      }

      int var3 = spread(Integer.hashCode(var1));
      Object var4 = null;
      int var5 = 0;
      int var6 = 0;
      Int2ObjectConcurrentHashMap.Node[] var7 = this.table;

      while (true) {
         int var9;
         while (var7 == null || (var9 = var7.length) == 0) {
            var7 = this.initTable();
         }

         Int2ObjectConcurrentHashMap.Node var8;
         int var10;
         if ((var8 = tabAt(var7, var10 = var9 - 1 & var3)) == null) {
            Int2ObjectConcurrentHashMap.Node var12 = new Int2ObjectConcurrentHashMap.ReservationNode<>(this.EMPTY);
            class="kw">synchronized (var12) {
               if (casTabAt(var7, var10, null, var12)) {
                  var6 = 1;
                  Int2ObjectConcurrentHashMap.Node var26 = null;

                  try {
                     if ((var4 = (V)var2.apply(var1, null)) != null) {
                        var5 = 1;
                        var26 = new Int2ObjectConcurrentHashMap.Node<>(this.EMPTY, var3, var1, var4, null);
                     }
                  } class="kw">finally {
                     setTabAt(var7, var10, var26);
                  }
               }
            }

            if (var6 != 0) {
               break;
            }
         } else {
            int var11 = var8.hash;
            if (var8.hash == -1) {
               var7 = this.helpTransfer(var7, var8);
            } else {
               class="kw">synchronized (var8) {
                  if (tabAt(var7, var10) == var8) {
                     if (var11 < 0) {
                        if (var8 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                           var6 = 1;
                           Int2ObjectConcurrentHashMap.TreeBin var24 = (Int2ObjectConcurrentHashMap.TreeBin<V>)var8;
                           Int2ObjectConcurrentHashMap.TreeNode var25 = var24.root;
                           Int2ObjectConcurrentHashMap.TreeNode var27;
                           if (var24.root != null) {
                              var27 = var25.findTreeNode(var3, var1, null);
                           } else {
                              var27 = null;
                           }

                           Object var28 = var27 == null ? null : var27.val;
                           var4 = (V)var2.apply(var1, var28);
                           if (var4 != null) {
                              if (var27 != null) {
                                 var27.val = var4;
                              } else {
                                 var5 = 1;
                                 var24.putTreeVal(var3, var1, var4);
                              }
                           } else if (var27 != null) {
                              var5 = -1;
                              if (var24.removeTreeNode(var27)) {
                                 setTabAt(var7, var10, this.untreeify(var24.first));
                              }
                           }
                        }
                     } else {
                        var6 = 1;
                        Int2ObjectConcurrentHashMap.Node var13 = var8;
                        Int2ObjectConcurrentHashMap.Node var14 = null;

                        while (true) {
                           if (var13.hash == var3) {
                              int var15 = var13.key;
                              if (var13.key == var1 || var15 != this.EMPTY && var1 == var15) {
                                 var4 = (V)var2.apply(var1, var13.val);
                                 if (var4 != null) {
                                    var13.val = var4;
                                 } else {
                                    var5 = -1;
                                    Int2ObjectConcurrentHashMap.Node var16 = var13.next;
                                    if (var14 != null) {
                                       var14.next = var16;
                                    } else {
                                       setTabAt(var7, var10, var16);
                                    }
                                 }
                                 break;
                              }
                           }

                           var14 = var13;
                           if ((var13 = var13.next) == null) {
                              var4 = (V)var2.apply(var1, null);
                              if (var4 != null) {
                                 var5 = 1;
                                 var14.next = new Int2ObjectConcurrentHashMap.Node<>(this.EMPTY, var3, var1, var4, null);
                              }
                              break;
                           }

                           var6++;
                        }
                     }
                  }
               }

               if (var6 != 0) {
                  if (var6 >= 8) {
                     this.treeifyBin(var7, var10);
                  }
                  break;
               }
            }
         }
      }

      if (var5 != 0) {
         this.addCount(var5, var6);
      }

      class="kw">return var4;
   }

   class="kw">public V merge(int var1, V var2, BiFunction<? super V, ? super V, ? class="kw">extends V> var3) {
      if (var1 == this.EMPTY) {
         throw new IllegalArgumentException("Key is EMPTY: " + this.EMPTY);
      }

      if (var2 != null && var3 != null) {
         int var4 = spread(Integer.hashCode(var1));
         Object var5 = null;
         int var6 = 0;
         int var7 = 0;
         Int2ObjectConcurrentHashMap.Node[] var8 = this.table;

         while (true) {
            int var10;
            while (var8 == null || (var10 = var8.length) == 0) {
               var8 = this.initTable();
            }

            Int2ObjectConcurrentHashMap.Node var9;
            int var11;
            if ((var9 = tabAt(var8, var11 = var10 - 1 & var4)) == null) {
               if (casTabAt(var8, var11, null, new Int2ObjectConcurrentHashMap.Node<>(this.EMPTY, var4, var1, var2, null))) {
                  var6 = 1;
                  var5 = var2;
                  break;
               }
            } else {
               int var12 = var9.hash;
               if (var9.hash == -1) {
                  var8 = this.helpTransfer(var8, var9);
               } else {
                  class="kw">synchronized (var9) {
                     if (tabAt(var8, var11) == var9) {
                        if (var12 < 0) {
                           if (var9 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                              var7 = 2;
                              Int2ObjectConcurrentHashMap.TreeBin var20 = (Int2ObjectConcurrentHashMap.TreeBin<V>)var9;
                              Int2ObjectConcurrentHashMap.TreeNode var21 = var20.root;
                              Int2ObjectConcurrentHashMap.TreeNode var22 = var21 == null ? null : var21.findTreeNode(var4, var1, null);
                              var5 = var22 == null ? var2 : var3.apply(var22.val, var2);
                              if (var5 != null) {
                                 if (var22 != null) {
                                    var22.val = var5;
                                 } else {
                                    var6 = 1;
                                    var20.putTreeVal(var4, var1, var5);
                                 }
                              } else if (var22 != null) {
                                 var6 = -1;
                                 if (var20.removeTreeNode(var22)) {
                                    setTabAt(var8, var11, this.untreeify(var20.first));
                                 }
                              }
                           }
                        } else {
                           var7 = 1;
                           Int2ObjectConcurrentHashMap.Node var14 = var9;
                           Int2ObjectConcurrentHashMap.Node var15 = null;

                           while (true) {
                              if (var14.hash == var4) {
                                 int var16 = var14.key;
                                 if (var14.key == var1 || var16 != this.EMPTY && var1 == var16) {
                                    var5 = (V)var3.apply(var14.val, var2);
                                    if (var5 != null) {
                                       var14.val = var5;
                                    } else {
                                       var6 = -1;
                                       Int2ObjectConcurrentHashMap.Node var17 = var14.next;
                                       if (var15 != null) {
                                          var15.next = var17;
                                       } else {
                                          setTabAt(var8, var11, var17);
                                       }
                                    }
                                    break;
                                 }
                              }

                              var15 = var14;
                              if ((var14 = var14.next) == null) {
                                 var6 = 1;
                                 var5 = var2;
                                 var15.next = new Int2ObjectConcurrentHashMap.Node<>(this.EMPTY, var4, var1, var5, null);
                                 break;
                              }

                              var7++;
                           }
                        }
                     }
                  }

                  if (var7 != 0) {
                     if (var7 >= 8) {
                        this.treeifyBin(var8, var11);
                     }
                     break;
                  }
               }
            }
         }

         if (var6 != 0) {
            this.addCount(var6, var7);
         }

         class="kw">return var5;
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public long mappingCount() {
      long var1 = this.sumCount();
      class="kw">return var1 < 0L ? 0L : var1;
   }

   class="kw">public class="kw">static IntSet newKeySet() {
      class="kw">return new Int2ObjectConcurrentHashMap.KeySetView<>(new Int2ObjectConcurrentHashMap<>(), Boolean.TRUE);
   }

   class="kw">public class="kw">static Int2ObjectConcurrentHashMap.KeySetView<Boolean> newKeySet(int var0) {
      class="kw">return new Int2ObjectConcurrentHashMap.KeySetView<>(new Int2ObjectConcurrentHashMap<>(var0), Boolean.TRUE);
   }

   class="kw">public Int2ObjectConcurrentHashMap.KeySetView<V> keySet(V var1) {
      if (var1 == null) {
         throw new NullPointerException();
      } else {
         class="kw">return new Int2ObjectConcurrentHashMap.KeySetView<>(this, var1);
      }
   }

   class="kw">protected class="kw">static class="kw">final int resizeStamp(int var0) {
      class="kw">return Integer.numberOfLeadingZeros(var0) | 1 << RESIZE_STAMP_BITS - 1;
   }

   class="kw">protected class="kw">final Int2ObjectConcurrentHashMap.Node<V>[] initTable() {
      Int2ObjectConcurrentHashMap.Node[] var1;
      while (true) {
         var1 = this.table;
         if (this.table != null && var1.length != 0) {
            break;
         }

         int var2 = this.sizeCtl;
         if (this.sizeCtl < 0) {
            Thread.yield();
         } else if (U.compareAndSwapInt(this, SIZECTL, var2, -1)) {
            try {
               var1 = this.table;
               if (this.table == null || var1.length == 0) {
                  int var3 = var2 > 0 ? var2 : 16;
                  Int2ObjectConcurrentHashMap.Node[] var4 = new Int2ObjectConcurrentHashMap.Node[var3];
                  var1 = var4;
                  this.table = var4;
                  var2 = var3 - (var3 >>> 2);
               }
               break;
            } class="kw">finally {
               this.sizeCtl = var2;
            }
         }
      }

      class="kw">return var1;
   }

   class="kw">protected class="kw">final void addCount(long var1, int var3) {
      int var13;
      label77: {
         long var7;
         label74: {
            Int2ObjectConcurrentHashMap.CounterCell[] var4 = this.counterCells;
            if (this.counterCells == null) {
               long var5 = this.baseCount;
               if (U.compareAndSwapLong(this, BASECOUNT, this.baseCount, var7 = var5 + var1)) {
                  break label74;
               }
            }

            var13 = (boolean)1;
            Int2ObjectConcurrentHashMap.CounterCell var9;
            int var12;
            if (var4 == null || (var12 = var4.length - 1) < 0 || (var9 = var4[TLRUtil.getProbe() & var12]) == null) {
               break label77;
            }

            long var10 = var9.value;
            if (!(var13 = U.compareAndSwapLong(var9, CELLVALUE, var9.value, var10 + var1))) {
               break label77;
            }

            if (var3 <= 1) {
               class="kw">return;
            }

            var7 = this.sumCount();
         }

         if (var3 >= 0) {
            while (true) {
               int var16 = this.sizeCtl;
               if (var7 < this.sizeCtl) {
                  break;
               }

               Int2ObjectConcurrentHashMap.Node[] var14 = this.table;
               int var11;
               if (this.table == null || (var11 = var14.length) >= 1073741824) {
                  break;
               }

               var13 = (boolean)resizeStamp(var11);
               if (var16 < 0) {
                  if (var16 >>> RESIZE_STAMP_SHIFT != var13 || var16 == var13 + 1 || var16 == var13 + MAX_RESIZERS) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var15 = this.nextTable;
                  if (this.nextTable == null || this.transferIndex <= 0) {
                     break;
                  }

                  if (U.compareAndSwapInt(this, SIZECTL, var16, var16 + 1)) {
                     this.transfer(var14, var15);
                  }
               } else if (U.compareAndSwapInt(this, SIZECTL, var16, (var13 << RESIZE_STAMP_SHIFT) + 2)) {
                  this.transfer(var14, null);
               }

               var7 = this.sumCount();
            }
         }

         class="kw">return;
      }

      this.fullAddCount(var1, var13);
   }

   class="kw">protected class="kw">final Int2ObjectConcurrentHashMap.Node<V>[] helpTransfer(Int2ObjectConcurrentHashMap.Node<V>[] var1, Int2ObjectConcurrentHashMap.Node<V> var2) {
      if (var1 != null && var2 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
         Int2ObjectConcurrentHashMap.Node[] var3 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var2).nextTable;
         if (((Int2ObjectConcurrentHashMap.ForwardingNode)var2).nextTable != null) {
            int var5 = resizeStamp(var1.length);

            while (var3 == this.nextTable && this.table == var1) {
               int var4 = this.sizeCtl;
               if (this.sizeCtl >= 0 || var4 >>> RESIZE_STAMP_SHIFT != var5 || var4 == var5 + 1 || var4 == var5 + MAX_RESIZERS || this.transferIndex <= 0) {
                  break;
               }

               if (U.compareAndSwapInt(this, SIZECTL, var4, var4 + 1)) {
                  this.transfer(var1, var3);
                  break;
               }
            }

            class="kw">return var3;
         }
      }

      class="kw">return this.table;
   }

   class="kw">protected class="kw">final void tryPresize(int var1) {
      int var2 = var1 >= 536870912 ? 1073741824 : tableSizeFor(var1 + (var1 >>> 1) + 1);

      while (true) {
         int var3 = this.sizeCtl;
         if (this.sizeCtl < 0) {
            break;
         }

         Int2ObjectConcurrentHashMap.Node[] var4 = this.table;
         int var5;
         if (var4 != null && (var5 = var4.length) != 0) {
            if (var2 <= var3 || var5 >= 1073741824) {
               break;
            }

            if (var4 == this.table) {
               int var11 = resizeStamp(var5);
               if (var3 < 0) {
                  if (var3 >>> RESIZE_STAMP_SHIFT != var11 || var3 == var11 + 1 || var3 == var11 + MAX_RESIZERS) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var7 = this.nextTable;
                  if (this.nextTable == null || this.transferIndex <= 0) {
                     break;
                  }

                  if (U.compareAndSwapInt(this, SIZECTL, var3, var3 + 1)) {
                     this.transfer(var4, var7);
                  }
               } else if (U.compareAndSwapInt(this, SIZECTL, var3, (var11 << RESIZE_STAMP_SHIFT) + 2)) {
                  this.transfer(var4, null);
               }
            }
         } else {
            var5 = var3 > var2 ? var3 : var2;
            if (U.compareAndSwapInt(this, SIZECTL, var3, -1)) {
               try {
                  if (this.table == var4) {
                     Int2ObjectConcurrentHashMap.Node[] var6 = new Int2ObjectConcurrentHashMap.Node[var5];
                     this.table = var6;
                     var3 = var5 - (var5 >>> 2);
                  }
               } class="kw">finally {
                  this.sizeCtl = var3;
               }
            }
         }
      }
   }

   class="kw">protected class="kw">final void transfer(Int2ObjectConcurrentHashMap.Node<V>[] var1, Int2ObjectConcurrentHashMap.Node<V>[] var2) {
      int var3 = var1.length;
      int var4;
      if ((var4 = NCPU > 1 ? (var3 >>> 3) / NCPU : var3) < 16) {
         var4 = 16;
      }

      if (var2 == null) {
         try {
            Int2ObjectConcurrentHashMap.Node[] var5 = new Int2ObjectConcurrentHashMap.Node[var3 << 1];
            var2 = var5;
         } catch (Throwable var27) {
            this.sizeCtl = Integer.MAX_VALUE;
            class="kw">return;
         }

         this.nextTable = var2;
         this.transferIndex = var3;
      }

      int var29 = var2.length;
      Int2ObjectConcurrentHashMap.ForwardingNode var6 = new Int2ObjectConcurrentHashMap.ForwardingNode<>(this.EMPTY, var2);
      boolean var7 = true;
      boolean var8 = false;
      int var9 = 0;
      int var10 = 0;

      while (true) {
         while (!var7) {
            if (var9 >= 0 && var9 < var3 && var9 + var3 < var29) {
               Int2ObjectConcurrentHashMap.Node var11;
               if ((var11 = tabAt(var1, var9)) == null) {
                  var7 = casTabAt(var1, var9, null, var6);
               } else {
                  int var12 = var11.hash;
                  if (var11.hash == -1) {
                     var7 = true;
                  } else {
                     class="kw">synchronized (var11) {
                        if (tabAt(var1, var9) == var11) {
                           if (var12 >= 0) {
                              int var16 = var12 & var3;
                              Int2ObjectConcurrentHashMap.Node var17 = var11;

                              for (Int2ObjectConcurrentHashMap.Node var18 = var11.next; var18 != null; var18 = var18.next) {
                                 int var19 = var18.hash & var3;
                                 if (var19 != var16) {
                                    var16 = var19;
                                    var17 = var18;
                                 }
                              }

                              Int2ObjectConcurrentHashMap.Node var14;
                              Int2ObjectConcurrentHashMap.Node var15;
                              if (var16 == 0) {
                                 var14 = var17;
                                 var15 = null;
                              } else {
                                 var15 = var17;
                                 var14 = null;
                              }

                              for (Int2ObjectConcurrentHashMap.Node var36 = var11; var36 != var17; var36 = var36.next) {
                                 int var38 = var36.hash;
                                 int var20 = var36.key;
                                 Object var21 = var36.val;
                                 if ((var38 & var3) == 0) {
                                    var14 = new Int2ObjectConcurrentHashMap.Node<>(this.EMPTY, var38, var20, var21, var14);
                                 } else {
                                    var15 = new Int2ObjectConcurrentHashMap.Node<>(this.EMPTY, var38, var20, var21, var15);
                                 }
                              }

                              setTabAt(var2, var9, var14);
                              setTabAt(var2, var9 + var3, var15);
                              setTabAt(var1, var9, var6);
                              var7 = true;
                           } else if (var11 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin var34) {
                              Int2ObjectConcurrentHashMap.TreeNode var35 = null;
                              Int2ObjectConcurrentHashMap.TreeNode var37 = null;
                              Int2ObjectConcurrentHashMap.TreeNode var39 = null;
                              Int2ObjectConcurrentHashMap.TreeNode var40 = null;
                              int var41 = 0;
                              int var22 = 0;

                              for (Int2ObjectConcurrentHashMap.Node var23 = var34.first; var23 != null; var23 = var23.next) {
                                 int var24 = var23.hash;
                                 Int2ObjectConcurrentHashMap.TreeNode var25 = new Int2ObjectConcurrentHashMap.TreeNode<>(
                                    this.EMPTY, var24, var23.key, var23.val, null, null
                                 );
                                 if ((var24 & var3) == 0) {
                                    if ((var25.prev = var37) == null) {
                                       var35 = var25;
                                    } else {
                                       var37.next = var25;
                                    }

                                    var37 = var25;
                                    var41++;
                                 } else {
                                    if ((var25.prev = var40) == null) {
                                       var39 = var25;
                                    } else {
                                       var40.next = var25;
                                    }

                                    var40 = var25;
                                    var22++;
                                 }
                              }

                              Int2ObjectConcurrentHashMap.Node var31 = var41 <= 6
                                 ? this.untreeify(var35)
                                 : (var22 != 0 ? new Int2ObjectConcurrentHashMap.TreeBin<>(this.EMPTY, var35) : var34);
                              Int2ObjectConcurrentHashMap.Node var33 = var22 <= 6
                                 ? this.untreeify(var39)
                                 : (var41 != 0 ? new Int2ObjectConcurrentHashMap.TreeBin<>(this.EMPTY, var39) : var34);
                              setTabAt(var2, var9, var31);
                              setTabAt(var2, var9 + var3, var33);
                              setTabAt(var1, var9, var6);
                              var7 = true;
                           }
                        }
                     }
                  }
               }
            } else {
               if (var8) {
                  this.nextTable = null;
                  this.table = var2;
                  this.sizeCtl = (var3 << 1) - (var3 >>> 1);
                  class="kw">return;
               }

               int var13 = this.sizeCtl;
               if (U.compareAndSwapInt(this, SIZECTL, this.sizeCtl, var13 - 1)) {
                  if (var13 - 2 != resizeStamp(var3) << RESIZE_STAMP_SHIFT) {
                     class="kw">return;
                  }

                  var7 = true;
                  var8 = true;
                  var9 = var3;
               }
            }
         }

         if (--var9 < var10 && !var8) {
            int var30 = this.transferIndex;
            if (this.transferIndex <= 0) {
               var9 = -1;
               var7 = false;
            } else {
               int var32;
               if (U.compareAndSwapInt(this, TRANSFERINDEX, var30, var32 = var30 > var4 ? var30 - var4 : 0)) {
                  var10 = var32;
                  var9 = var30 - 1;
                  var7 = false;
               }
            }
         } else {
            var7 = false;
         }
      }
   }

   class="kw">protected class="kw">final long sumCount() {
      Int2ObjectConcurrentHashMap.CounterCell[] var1 = this.counterCells;
      long var3 = this.baseCount;
      if (var1 != null) {
         for (int var5 = 0; var5 < var1.length; var5++) {
            Int2ObjectConcurrentHashMap.CounterCell var2;
            if ((var2 = var1[var5]) != null) {
               var3 += var2.value;
            }
         }
      }

      class="kw">return var3;
   }

   class="kw">protected class="kw">final void fullAddCount(long var1, boolean var3) {
      int var4;
      if ((var4 = TLRUtil.getProbe()) == 0) {
         TLRUtil.localInit();
         var4 = TLRUtil.getProbe();
         var3 = true;
      }

      boolean var5 = false;

      while (true) {
         Int2ObjectConcurrentHashMap.CounterCell[] var6 = this.counterCells;
         int var8;
         if (this.counterCells != null && (var8 = var6.length) > 0) {
            Int2ObjectConcurrentHashMap.CounterCell var7;
            if ((var7 = var6[var8 - 1 & var4]) == null) {
               if (this.cellsBusy == 0) {
                  Int2ObjectConcurrentHashMap.CounterCell var32 = new Int2ObjectConcurrentHashMap.CounterCell(var1);
                  if (this.cellsBusy == 0 && U.compareAndSwapInt(this, CELLSBUSY, 0, 1)) {
                     boolean var34 = false;

                     try {
                        Int2ObjectConcurrentHashMap.CounterCell[] var13 = this.counterCells;
                        int var14;
                        int var15;
                        if (this.counterCells != null && (var14 = var13.length) > 0 && var13[var15 = var14 - 1 & var4] == null) {
                           var13[var15] = var32;
                           var34 = true;
                        }
                     } class="kw">finally {
                        this.cellsBusy = 0;
                     }

                     if (var34) {
                        break;
                     }
                     class="kw">continue;
                  }
               }

               var5 = false;
            } else if (!var3) {
               var3 = true;
            } else {
               long var31 = var7.value;
               if (U.compareAndSwapLong(var7, CELLVALUE, var7.value, var31 + var1)) {
                  break;
               }

               if (this.counterCells != var6 || var8 >= NCPU) {
                  var5 = false;
               } else if (!var5) {
                  var5 = true;
               } else if (this.cellsBusy == 0 && U.compareAndSwapInt(this, CELLSBUSY, 0, 1)) {
                  try {
                     if (this.counterCells == var6) {
                        Int2ObjectConcurrentHashMap.CounterCell[] var33 = new Int2ObjectConcurrentHashMap.CounterCell[var8 << 1];

                        for (int var35 = 0; var35 < var8; var35++) {
                           var33[var35] = var6[var35];
                        }

                        this.counterCells = var33;
                     }
                  } class="kw">finally {
                     this.cellsBusy = 0;
                  }

                  var5 = false;
                  class="kw">continue;
               }
            }

            var4 = TLRUtil.advanceProbe(var4);
         } else if (this.cellsBusy == 0 && this.counterCells == var6 && U.compareAndSwapInt(this, CELLSBUSY, 0, 1)) {
            boolean var11 = false;

            try {
               if (this.counterCells == var6) {
                  Int2ObjectConcurrentHashMap.CounterCell[] var12 = new Int2ObjectConcurrentHashMap.CounterCell[2];
                  var12[var4 & 1] = new Int2ObjectConcurrentHashMap.CounterCell(var1);
                  this.counterCells = var12;
                  var11 = true;
               }
            } class="kw">finally {
               this.cellsBusy = 0;
            }

            if (var11) {
               break;
            }
         } else {
            long var9 = this.baseCount;
            if (U.compareAndSwapLong(this, BASECOUNT, this.baseCount, var9 + var1)) {
               break;
            }
         }
      }
   }

   class="kw">protected class="kw">final void treeifyBin(Int2ObjectConcurrentHashMap.Node<V>[] var1, int var2) {
      if (var1 != null) {
         int var4;
         if ((var4 = var1.length) < 64) {
            this.tryPresize(var4 << 1);
         } else {
            Int2ObjectConcurrentHashMap.Node var3;
            if ((var3 = tabAt(var1, var2)) != null && var3.hash >= 0) {
               class="kw">synchronized (var3) {
                  if (tabAt(var1, var2) == var3) {
                     Int2ObjectConcurrentHashMap.TreeNode var7 = null;
                     Int2ObjectConcurrentHashMap.TreeNode var8 = null;

                     for (Int2ObjectConcurrentHashMap.Node var9 = var3; var9 != null; var9 = var9.next) {
                        Int2ObjectConcurrentHashMap.TreeNode var10 = new Int2ObjectConcurrentHashMap.TreeNode<>(
                           this.EMPTY, var9.hash, var9.key, var9.val, null, null
                        );
                        if ((var10.prev = var8) == null) {
                           var7 = var10;
                        } else {
                           var8.next = var10;
                        }

                        var8 = var10;
                     }

                     setTabAt(var1, var2, new Int2ObjectConcurrentHashMap.TreeBin<>(this.EMPTY, var7));
                  }
               }
            }
         }
      }
   }

   class="kw">protected <V> Int2ObjectConcurrentHashMap.Node<V> untreeify(Int2ObjectConcurrentHashMap.Node<V> var1) {
      Int2ObjectConcurrentHashMap.Node var2 = null;
      Int2ObjectConcurrentHashMap.Node var3 = null;

      for (Int2ObjectConcurrentHashMap.Node var4 = var1; var4 != null; var4 = var4.next) {
         Int2ObjectConcurrentHashMap.Node var5 = new Int2ObjectConcurrentHashMap.Node<>(this.EMPTY, var4.hash, var4.key, var4.val, null);
         if (var3 == null) {
            var2 = var5;
         } else {
            var3.next = var5;
         }

         var3 = var5;
      }

      class="kw">return var2;
   }

   class="kw">protected class="kw">final int batchFor(long var1) {
      long var3;
      if (var1 != Long.MAX_VALUE && (var3 = this.sumCount()) > 1L && var3 >= var1) {
         int var5 = ForkJoinPool.getCommonPoolParallelism() << 2;
         long var6;
         class="kw">return var1 > 0L && (var6 = var3 / var1) < var5 ? (int)var6 : var5;
      } else {
         class="kw">return 0;
      }
   }

   class="kw">public void forEach(long var1, Int2ObjectConcurrentHashMap.IntObjConsumer<? super V> var3) {
      if (var3 == null) {
         throw new NullPointerException();
      }

      new Int2ObjectConcurrentHashMap.ForEachMappingTask<>(null, this.batchFor(var1), 0, 0, this.table, var3).invoke();
   }

   class="kw">public <U> void forEach(long var1, Int2ObjectConcurrentHashMap.IntObjFunction<? super V, ? class="kw">extends U> var3, Consumer<? super U> var4) {
      if (var3 != null && var4 != null) {
         new Int2ObjectConcurrentHashMap.ForEachTransformedMappingTask<>(null, this.batchFor(var1), 0, 0, this.table, var3, var4).invoke();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public <U> U search(long var1, Int2ObjectConcurrentHashMap.IntObjFunction<? super V, ? class="kw">extends U> var3) {
      if (var3 == null) {
         throw new NullPointerException();
      } else {
         class="kw">return new Int2ObjectConcurrentHashMap.SearchMappingsTask<>(null, this.batchFor(var1), 0, 0, this.table, var3, new AtomicReference()).invoke();
      }
   }

   class="kw">public <U> U search(Int2ObjectConcurrentHashMap.IntObjFunction<? super V, ? class="kw">extends U> var1) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      Int2ObjectConcurrentHashMap.Node[] var2 = this.table;
      if (this.table != null) {
         Int2ObjectConcurrentHashMap.Node[] var3 = var2;
         Int2ObjectConcurrentHashMap.Node var4 = null;
         Int2ObjectConcurrentHashMap.TableStack var5 = null;
         Int2ObjectConcurrentHashMap.TableStack var6 = null;
         int var7 = 0;
         int var8 = 0;
         int var9 = var2.length;
         int var10 = var2.length;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var11 = null;
            var11 = var4;
            if (var4 != null) {
               var11 = var11.next;
            }

            label81: {
               while (true) {
                  if (var11 != null) {
                     var4 = var11;
                     break label81;
                  }

                  if (var8 >= var9) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var12 = var3;
                  if (var3 == null) {
                     break;
                  }

                  int var14;
                  int var10000 = var14 = var12.length;
                  int var13 = var7;
                  if (var10000 <= var7 || var13 < 0) {
                     break;
                  }

                  if ((var11 = tabAt(var12, var13)) != null && var11.hash < 0) {
                     if (var11 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                        var3 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var11).nextTable;
                        var11 = null;
                        Int2ObjectConcurrentHashMap.TableStack var20 = var6;
                        if (var20 != null) {
                           var6 = var20.next;
                        } else {
                           var20 = new Int2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var20.tab = var12;
                        var20.length = var14;
                        var20.index = var13;
                        var20.next = var5;
                        var5 = var20;
                        class="kw">continue;
                     }

                     if (var11 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var11 = ((Int2ObjectConcurrentHashMap.TreeBin)var11).first;
                     } else {
                        var11 = null;
                     }
                  }

                  if (var5 == null) {
                     if ((var7 = var13 + var10) >= var14) {
                        var7 = ++var8;
                     }
                  } else {
                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var15 = var5;
                        if (var5 != null) {
                           int var16 = var15.length;
                           if ((var7 += var15.length) >= var14) {
                              var14 = var16;
                              var7 = var15.index;
                              var3 = var15.tab;
                              var15.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var17 = var15.next;
                              var15.next = var6;
                              var5 = var17;
                              var6 = var15;
                              class="kw">continue;
                           }
                        }

                        if (var15 == null && (var7 += var10) >= var14) {
                           var7 = ++var8;
                        }
                        break;
                     }
                  }
               }

               var4 = null;
            }

            if (var11 == null) {
               break;
            }

            Object var19 = (U)var1.apply(var11.key, var11.val);
            if (var19 != null) {
               class="kw">return var19;
            }
         }
      }

      class="kw">return null;
   }

   class="kw">public <U, X> U search(Int2ObjectConcurrentHashMap.IntBiObjFunction<? super V, X, ? class="kw">extends U> var1, X var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      Int2ObjectConcurrentHashMap.Node[] var3 = this.table;
      if (this.table != null) {
         Int2ObjectConcurrentHashMap.Node[] var4 = var3;
         Int2ObjectConcurrentHashMap.Node var5 = null;
         Int2ObjectConcurrentHashMap.TableStack var6 = null;
         Int2ObjectConcurrentHashMap.TableStack var7 = null;
         int var8 = 0;
         int var9 = 0;
         int var10 = var3.length;
         int var11 = var3.length;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var12 = null;
            var12 = var5;
            if (var5 != null) {
               var12 = var12.next;
            }

            label81: {
               while (true) {
                  if (var12 != null) {
                     var5 = var12;
                     break label81;
                  }

                  if (var9 >= var10) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var13 = var4;
                  if (var4 == null) {
                     break;
                  }

                  int var15;
                  int var10000 = var15 = var13.length;
                  int var14 = var8;
                  if (var10000 <= var8 || var14 < 0) {
                     break;
                  }

                  if ((var12 = tabAt(var13, var14)) != null && var12.hash < 0) {
                     if (var12 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                        var4 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var12).nextTable;
                        var12 = null;
                        Int2ObjectConcurrentHashMap.TableStack var21 = var7;
                        if (var21 != null) {
                           var7 = var21.next;
                        } else {
                           var21 = new Int2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var21.tab = var13;
                        var21.length = var15;
                        var21.index = var14;
                        var21.next = var6;
                        var6 = var21;
                        class="kw">continue;
                     }

                     if (var12 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var12 = ((Int2ObjectConcurrentHashMap.TreeBin)var12).first;
                     } else {
                        var12 = null;
                     }
                  }

                  if (var6 == null) {
                     if ((var8 = var14 + var11) >= var15) {
                        var8 = ++var9;
                     }
                  } else {
                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var16 = var6;
                        if (var6 != null) {
                           int var17 = var16.length;
                           if ((var8 += var16.length) >= var15) {
                              var15 = var17;
                              var8 = var16.index;
                              var4 = var16.tab;
                              var16.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var18 = var16.next;
                              var16.next = var7;
                              var6 = var18;
                              var7 = var16;
                              class="kw">continue;
                           }
                        }

                        if (var16 == null && (var8 += var11) >= var15) {
                           var8 = ++var9;
                        }
                        break;
                     }
                  }
               }

               var5 = null;
            }

            if (var12 == null) {
               break;
            }

            Object var20 = (U)var1.apply(var12.key, var12.val, var2);
            if (var20 != null) {
               class="kw">return var20;
            }
         }
      }

      class="kw">return null;
   }

   class="kw">public <U> U searchWithByte(Int2ObjectConcurrentHashMap.IntObjByteFunction<? super V, ? class="kw">extends U> var1, byte var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      Int2ObjectConcurrentHashMap.Node[] var3 = this.table;
      if (this.table != null) {
         Int2ObjectConcurrentHashMap.Node[] var4 = var3;
         Int2ObjectConcurrentHashMap.Node var5 = null;
         Int2ObjectConcurrentHashMap.TableStack var6 = null;
         Int2ObjectConcurrentHashMap.TableStack var7 = null;
         int var8 = 0;
         int var9 = 0;
         int var10 = var3.length;
         int var11 = var3.length;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var12 = null;
            var12 = var5;
            if (var5 != null) {
               var12 = var12.next;
            }

            label81: {
               while (true) {
                  if (var12 != null) {
                     var5 = var12;
                     break label81;
                  }

                  if (var9 >= var10) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var13 = var4;
                  if (var4 == null) {
                     break;
                  }

                  int var15;
                  int var10000 = var15 = var13.length;
                  int var14 = var8;
                  if (var10000 <= var8 || var14 < 0) {
                     break;
                  }

                  if ((var12 = tabAt(var13, var14)) != null && var12.hash < 0) {
                     if (var12 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                        var4 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var12).nextTable;
                        var12 = null;
                        Int2ObjectConcurrentHashMap.TableStack var21 = var7;
                        if (var21 != null) {
                           var7 = var21.next;
                        } else {
                           var21 = new Int2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var21.tab = var13;
                        var21.length = var15;
                        var21.index = var14;
                        var21.next = var6;
                        var6 = var21;
                        class="kw">continue;
                     }

                     if (var12 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var12 = ((Int2ObjectConcurrentHashMap.TreeBin)var12).first;
                     } else {
                        var12 = null;
                     }
                  }

                  if (var6 == null) {
                     if ((var8 = var14 + var11) >= var15) {
                        var8 = ++var9;
                     }
                  } else {
                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var16 = var6;
                        if (var6 != null) {
                           int var17 = var16.length;
                           if ((var8 += var16.length) >= var15) {
                              var15 = var17;
                              var8 = var16.index;
                              var4 = var16.tab;
                              var16.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var18 = var16.next;
                              var16.next = var7;
                              var6 = var18;
                              var7 = var16;
                              class="kw">continue;
                           }
                        }

                        if (var16 == null && (var8 += var11) >= var15) {
                           var8 = ++var9;
                        }
                        break;
                     }
                  }
               }

               var5 = null;
            }

            if (var12 == null) {
               break;
            }

            Object var20 = (U)var1.apply(var12.key, var12.val, var2);
            if (var20 != null) {
               class="kw">return var20;
            }
         }
      }

      class="kw">return null;
   }

   class="kw">public <U> U searchWithShort(Int2ObjectConcurrentHashMap.IntObjShortFunction<? super V, ? class="kw">extends U> var1, short var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      Int2ObjectConcurrentHashMap.Node[] var3 = this.table;
      if (this.table != null) {
         Int2ObjectConcurrentHashMap.Node[] var4 = var3;
         Int2ObjectConcurrentHashMap.Node var5 = null;
         Int2ObjectConcurrentHashMap.TableStack var6 = null;
         Int2ObjectConcurrentHashMap.TableStack var7 = null;
         int var8 = 0;
         int var9 = 0;
         int var10 = var3.length;
         int var11 = var3.length;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var12 = null;
            var12 = var5;
            if (var5 != null) {
               var12 = var12.next;
            }

            label81: {
               while (true) {
                  if (var12 != null) {
                     var5 = var12;
                     break label81;
                  }

                  if (var9 >= var10) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var13 = var4;
                  if (var4 == null) {
                     break;
                  }

                  int var15;
                  int var10000 = var15 = var13.length;
                  int var14 = var8;
                  if (var10000 <= var8 || var14 < 0) {
                     break;
                  }

                  if ((var12 = tabAt(var13, var14)) != null && var12.hash < 0) {
                     if (var12 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                        var4 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var12).nextTable;
                        var12 = null;
                        Int2ObjectConcurrentHashMap.TableStack var21 = var7;
                        if (var21 != null) {
                           var7 = var21.next;
                        } else {
                           var21 = new Int2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var21.tab = var13;
                        var21.length = var15;
                        var21.index = var14;
                        var21.next = var6;
                        var6 = var21;
                        class="kw">continue;
                     }

                     if (var12 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var12 = ((Int2ObjectConcurrentHashMap.TreeBin)var12).first;
                     } else {
                        var12 = null;
                     }
                  }

                  if (var6 == null) {
                     if ((var8 = var14 + var11) >= var15) {
                        var8 = ++var9;
                     }
                  } else {
                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var16 = var6;
                        if (var6 != null) {
                           int var17 = var16.length;
                           if ((var8 += var16.length) >= var15) {
                              var15 = var17;
                              var8 = var16.index;
                              var4 = var16.tab;
                              var16.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var18 = var16.next;
                              var16.next = var7;
                              var6 = var18;
                              var7 = var16;
                              class="kw">continue;
                           }
                        }

                        if (var16 == null && (var8 += var11) >= var15) {
                           var8 = ++var9;
                        }
                        break;
                     }
                  }
               }

               var5 = null;
            }

            if (var12 == null) {
               break;
            }

            Object var20 = (U)var1.apply(var12.key, var12.val, var2);
            if (var20 != null) {
               class="kw">return var20;
            }
         }
      }

      class="kw">return null;
   }

   class="kw">public <U> U searchWithInt(Int2ObjectConcurrentHashMap.IntObjIntFunction<? super V, ? class="kw">extends U> var1, int var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      Int2ObjectConcurrentHashMap.Node[] var3 = this.table;
      if (this.table != null) {
         Int2ObjectConcurrentHashMap.Node[] var4 = var3;
         Int2ObjectConcurrentHashMap.Node var5 = null;
         Int2ObjectConcurrentHashMap.TableStack var6 = null;
         Int2ObjectConcurrentHashMap.TableStack var7 = null;
         int var8 = 0;
         int var9 = 0;
         int var10 = var3.length;
         int var11 = var3.length;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var12 = null;
            var12 = var5;
            if (var5 != null) {
               var12 = var12.next;
            }

            label81: {
               while (true) {
                  if (var12 != null) {
                     var5 = var12;
                     break label81;
                  }

                  if (var9 >= var10) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var13 = var4;
                  if (var4 == null) {
                     break;
                  }

                  int var15;
                  int var10000 = var15 = var13.length;
                  int var14 = var8;
                  if (var10000 <= var8 || var14 < 0) {
                     break;
                  }

                  if ((var12 = tabAt(var13, var14)) != null && var12.hash < 0) {
                     if (var12 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                        var4 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var12).nextTable;
                        var12 = null;
                        Int2ObjectConcurrentHashMap.TableStack var21 = var7;
                        if (var21 != null) {
                           var7 = var21.next;
                        } else {
                           var21 = new Int2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var21.tab = var13;
                        var21.length = var15;
                        var21.index = var14;
                        var21.next = var6;
                        var6 = var21;
                        class="kw">continue;
                     }

                     if (var12 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var12 = ((Int2ObjectConcurrentHashMap.TreeBin)var12).first;
                     } else {
                        var12 = null;
                     }
                  }

                  if (var6 == null) {
                     if ((var8 = var14 + var11) >= var15) {
                        var8 = ++var9;
                     }
                  } else {
                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var16 = var6;
                        if (var6 != null) {
                           int var17 = var16.length;
                           if ((var8 += var16.length) >= var15) {
                              var15 = var17;
                              var8 = var16.index;
                              var4 = var16.tab;
                              var16.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var18 = var16.next;
                              var16.next = var7;
                              var6 = var18;
                              var7 = var16;
                              class="kw">continue;
                           }
                        }

                        if (var16 == null && (var8 += var11) >= var15) {
                           var8 = ++var9;
                        }
                        break;
                     }
                  }
               }

               var5 = null;
            }

            if (var12 == null) {
               break;
            }

            Object var20 = (U)var1.apply(var12.key, var12.val, var2);
            if (var20 != null) {
               class="kw">return var20;
            }
         }
      }

      class="kw">return null;
   }

   class="kw">public <U> U searchWithLong(Int2ObjectConcurrentHashMap.IntObjLongFunction<? super V, ? class="kw">extends U> var1, long var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      Int2ObjectConcurrentHashMap.Node[] var4 = this.table;
      if (this.table != null) {
         Int2ObjectConcurrentHashMap.Node[] var5 = var4;
         Int2ObjectConcurrentHashMap.Node var6 = null;
         Int2ObjectConcurrentHashMap.TableStack var7 = null;
         Int2ObjectConcurrentHashMap.TableStack var8 = null;
         int var9 = 0;
         int var10 = 0;
         int var11 = var4.length;
         int var12 = var4.length;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var13 = null;
            var13 = var6;
            if (var6 != null) {
               var13 = var13.next;
            }

            label81: {
               while (true) {
                  if (var13 != null) {
                     var6 = var13;
                     break label81;
                  }

                  if (var10 >= var11) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var14 = var5;
                  if (var5 == null) {
                     break;
                  }

                  int var16;
                  int var10000 = var16 = var14.length;
                  int var15 = var9;
                  if (var10000 <= var9 || var15 < 0) {
                     break;
                  }

                  if ((var13 = tabAt(var14, var15)) != null && var13.hash < 0) {
                     if (var13 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                        var5 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var13).nextTable;
                        var13 = null;
                        Int2ObjectConcurrentHashMap.TableStack var22 = var8;
                        if (var22 != null) {
                           var8 = var22.next;
                        } else {
                           var22 = new Int2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var22.tab = var14;
                        var22.length = var16;
                        var22.index = var15;
                        var22.next = var7;
                        var7 = var22;
                        class="kw">continue;
                     }

                     if (var13 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var13 = ((Int2ObjectConcurrentHashMap.TreeBin)var13).first;
                     } else {
                        var13 = null;
                     }
                  }

                  if (var7 == null) {
                     if ((var9 = var15 + var12) >= var16) {
                        var9 = ++var10;
                     }
                  } else {
                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var17 = var7;
                        if (var7 != null) {
                           int var18 = var17.length;
                           if ((var9 += var17.length) >= var16) {
                              var16 = var18;
                              var9 = var17.index;
                              var5 = var17.tab;
                              var17.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var19 = var17.next;
                              var17.next = var8;
                              var7 = var19;
                              var8 = var17;
                              class="kw">continue;
                           }
                        }

                        if (var17 == null && (var9 += var12) >= var16) {
                           var9 = ++var10;
                        }
                        break;
                     }
                  }
               }

               var6 = null;
            }

            if (var13 == null) {
               break;
            }

            Object var21 = (U)var1.apply(var13.key, var13.val, var2);
            if (var21 != null) {
               class="kw">return var21;
            }
         }
      }

      class="kw">return null;
   }

   class="kw">public <U> U searchWithFloat(Int2ObjectConcurrentHashMap.IntObjFloatFunction<? super V, ? class="kw">extends U> var1, float var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      Int2ObjectConcurrentHashMap.Node[] var3 = this.table;
      if (this.table != null) {
         Int2ObjectConcurrentHashMap.Node[] var4 = var3;
         Int2ObjectConcurrentHashMap.Node var5 = null;
         Int2ObjectConcurrentHashMap.TableStack var6 = null;
         Int2ObjectConcurrentHashMap.TableStack var7 = null;
         int var8 = 0;
         int var9 = 0;
         int var10 = var3.length;
         int var11 = var3.length;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var12 = null;
            var12 = var5;
            if (var5 != null) {
               var12 = var12.next;
            }

            label81: {
               while (true) {
                  if (var12 != null) {
                     var5 = var12;
                     break label81;
                  }

                  if (var9 >= var10) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var13 = var4;
                  if (var4 == null) {
                     break;
                  }

                  int var15;
                  int var10000 = var15 = var13.length;
                  int var14 = var8;
                  if (var10000 <= var8 || var14 < 0) {
                     break;
                  }

                  if ((var12 = tabAt(var13, var14)) != null && var12.hash < 0) {
                     if (var12 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                        var4 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var12).nextTable;
                        var12 = null;
                        Int2ObjectConcurrentHashMap.TableStack var21 = var7;
                        if (var21 != null) {
                           var7 = var21.next;
                        } else {
                           var21 = new Int2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var21.tab = var13;
                        var21.length = var15;
                        var21.index = var14;
                        var21.next = var6;
                        var6 = var21;
                        class="kw">continue;
                     }

                     if (var12 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var12 = ((Int2ObjectConcurrentHashMap.TreeBin)var12).first;
                     } else {
                        var12 = null;
                     }
                  }

                  if (var6 == null) {
                     if ((var8 = var14 + var11) >= var15) {
                        var8 = ++var9;
                     }
                  } else {
                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var16 = var6;
                        if (var6 != null) {
                           int var17 = var16.length;
                           if ((var8 += var16.length) >= var15) {
                              var15 = var17;
                              var8 = var16.index;
                              var4 = var16.tab;
                              var16.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var18 = var16.next;
                              var16.next = var7;
                              var6 = var18;
                              var7 = var16;
                              class="kw">continue;
                           }
                        }

                        if (var16 == null && (var8 += var11) >= var15) {
                           var8 = ++var9;
                        }
                        break;
                     }
                  }
               }

               var5 = null;
            }

            if (var12 == null) {
               break;
            }

            Object var20 = (U)var1.apply(var12.key, var12.val, var2);
            if (var20 != null) {
               class="kw">return var20;
            }
         }
      }

      class="kw">return null;
   }

   class="kw">public <U> U searchWithDouble(Int2ObjectConcurrentHashMap.IntObjDoubleFunction<? super V, ? class="kw">extends U> var1, double var2) {
      if (var1 == null) {
         throw new NullPointerException();
      }

      Int2ObjectConcurrentHashMap.Node[] var4 = this.table;
      if (this.table != null) {
         Int2ObjectConcurrentHashMap.Node[] var5 = var4;
         Int2ObjectConcurrentHashMap.Node var6 = null;
         Int2ObjectConcurrentHashMap.TableStack var7 = null;
         Int2ObjectConcurrentHashMap.TableStack var8 = null;
         int var9 = 0;
         int var10 = 0;
         int var11 = var4.length;
         int var12 = var4.length;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var13 = null;
            var13 = var6;
            if (var6 != null) {
               var13 = var13.next;
            }

            label81: {
               while (true) {
                  if (var13 != null) {
                     var6 = var13;
                     break label81;
                  }

                  if (var10 >= var11) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var14 = var5;
                  if (var5 == null) {
                     break;
                  }

                  int var16;
                  int var10000 = var16 = var14.length;
                  int var15 = var9;
                  if (var10000 <= var9 || var15 < 0) {
                     break;
                  }

                  if ((var13 = tabAt(var14, var15)) != null && var13.hash < 0) {
                     if (var13 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                        var5 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var13).nextTable;
                        var13 = null;
                        Int2ObjectConcurrentHashMap.TableStack var22 = var8;
                        if (var22 != null) {
                           var8 = var22.next;
                        } else {
                           var22 = new Int2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var22.tab = var14;
                        var22.length = var16;
                        var22.index = var15;
                        var22.next = var7;
                        var7 = var22;
                        class="kw">continue;
                     }

                     if (var13 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var13 = ((Int2ObjectConcurrentHashMap.TreeBin)var13).first;
                     } else {
                        var13 = null;
                     }
                  }

                  if (var7 == null) {
                     if ((var9 = var15 + var12) >= var16) {
                        var9 = ++var10;
                     }
                  } else {
                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var17 = var7;
                        if (var7 != null) {
                           int var18 = var17.length;
                           if ((var9 += var17.length) >= var16) {
                              var16 = var18;
                              var9 = var17.index;
                              var5 = var17.tab;
                              var17.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var19 = var17.next;
                              var17.next = var8;
                              var7 = var19;
                              var8 = var17;
                              class="kw">continue;
                           }
                        }

                        if (var17 == null && (var9 += var12) >= var16) {
                           var9 = ++var10;
                        }
                        break;
                     }
                  }
               }

               var6 = null;
            }

            if (var13 == null) {
               break;
            }

            Object var21 = (U)var1.apply(var13.key, var13.val, var2);
            if (var21 != null) {
               class="kw">return var21;
            }
         }
      }

      class="kw">return null;
   }

   class="kw">public <U> U reduce(long var1, Int2ObjectConcurrentHashMap.IntObjFunction<? super V, ? class="kw">extends U> var3, BiFunction<? super U, ? super U, ? class="kw">extends U> var4) {
      if (var3 != null && var4 != null) {
         class="kw">return new Int2ObjectConcurrentHashMap.MapReduceMappingsTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4).invoke();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public <U> U reduce(Int2ObjectConcurrentHashMap.IntObjFunction<? super V, ? class="kw">extends U> var1, BiFunction<? super U, ? super U, ? class="kw">extends U> var2) {
      if (var1 != null && var2 != null) {
         Int2ObjectConcurrentHashMap.Node[] var3 = this.table;
         if (this.table == null) {
            class="kw">return null;
         }

         Int2ObjectConcurrentHashMap.Node[] var4 = var3;
         Int2ObjectConcurrentHashMap.Node var5 = null;
         Int2ObjectConcurrentHashMap.TableStack var6 = null;
         Int2ObjectConcurrentHashMap.TableStack var7 = null;
         int var8 = 0;
         int var9 = 0;
         int var10 = var3.length;
         int var11 = var3.length;
         Object var12 = null;

         while (true) {
            Int2ObjectConcurrentHashMap.Node var13 = null;
            var13 = var5;
            if (var5 != null) {
               var13 = var13.next;
            }

            label88: {
               while (true) {
                  if (var13 != null) {
                     var5 = var13;
                     break label88;
                  }

                  if (var9 >= var10) {
                     break;
                  }

                  Int2ObjectConcurrentHashMap.Node[] var14 = var4;
                  if (var4 == null) {
                     break;
                  }

                  int var16;
                  int var10000 = var16 = var14.length;
                  int var15 = var8;
                  if (var10000 <= var8 || var15 < 0) {
                     break;
                  }

                  if ((var13 = tabAt(var14, var15)) != null && var13.hash < 0) {
                     if (var13 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                        var4 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var13).nextTable;
                        var13 = null;
                        Int2ObjectConcurrentHashMap.TableStack var22 = var7;
                        if (var22 != null) {
                           var7 = var22.next;
                        } else {
                           var22 = new Int2ObjectConcurrentHashMap.TableStack<>();
                        }

                        var22.tab = var14;
                        var22.length = var16;
                        var22.index = var15;
                        var22.next = var6;
                        var6 = var22;
                        class="kw">continue;
                     }

                     if (var13 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                        var13 = ((Int2ObjectConcurrentHashMap.TreeBin)var13).first;
                     } else {
                        var13 = null;
                     }
                  }

                  if (var6 == null) {
                     if ((var8 = var15 + var11) >= var16) {
                        var8 = ++var9;
                     }
                  } else {
                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var17 = var6;
                        if (var6 != null) {
                           int var18 = var17.length;
                           if ((var8 += var17.length) >= var16) {
                              var16 = var18;
                              var8 = var17.index;
                              var4 = var17.tab;
                              var17.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var19 = var17.next;
                              var17.next = var7;
                              var6 = var19;
                              var7 = var17;
                              class="kw">continue;
                           }
                        }

                        if (var17 == null && (var8 += var11) >= var16) {
                           var8 = ++var9;
                        }
                        break;
                     }
                  }
               }

               var5 = null;
            }

            if (var13 == null) {
               class="kw">return var12;
            }

            Object var21;
            if ((var21 = (U)var1.apply(var13.key, var13.val)) != null) {
               var12 = var12 == null ? var21 : var2.apply(var12, var21);
            }
         }
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public double reduceToDouble(long var1, Int2ObjectConcurrentHashMap.ToDoubleIntObjFunction<? super V> var3, double var4, DoubleBinaryOperator var6) {
      if (var3 != null && var6 != null) {
         class="kw">return new Int2ObjectConcurrentHashMap.MapReduceMappingsToDoubleTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4, var6).invoke0();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public long reduceToLong(long var1, Int2ObjectConcurrentHashMap.ToLongIntObjFunction<? super V> var3, long var4, LongBinaryOperator var6) {
      if (var3 != null && var6 != null) {
         class="kw">return new Int2ObjectConcurrentHashMap.MapReduceMappingsToLongTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4, var6).invoke0();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public int reduceToInt(long var1, Int2ObjectConcurrentHashMap.ToIntIntObjFunction<? super V> var3, int var4, IntBinaryOperator var5) {
      if (var3 != null && var5 != null) {
         class="kw">return new Int2ObjectConcurrentHashMap.MapReduceMappingsToIntTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4, var5).invoke0();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public void forEachKey(long var1, IntConsumer var3) {
      if (var3 == null) {
         throw new NullPointerException();
      }

      new Int2ObjectConcurrentHashMap.ForEachKeyTask<>(null, this.batchFor(var1), 0, 0, this.table, var3).invoke();
   }

   class="kw">public <U> void forEachKey(long var1, Int2ObjectConcurrentHashMap.IntFunction<? class="kw">extends U> var3, Consumer<? super U> var4) {
      if (var3 != null && var4 != null) {
         new Int2ObjectConcurrentHashMap.ForEachTransformedKeyTask<>(null, this.batchFor(var1), 0, 0, this.table, var3, var4).invoke();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public <U> U searchKeys(long var1, Int2ObjectConcurrentHashMap.IntFunction<? class="kw">extends U> var3) {
      if (var3 == null) {
         throw new NullPointerException();
      } else {
         class="kw">return new Int2ObjectConcurrentHashMap.SearchKeysTask<>(null, this.batchFor(var1), 0, 0, this.table, var3, new AtomicReference()).invoke();
      }
   }

   class="kw">public int reduceKeys(long var1, Int2ObjectConcurrentHashMap.IntegerReduceTaskOperator var3) {
      if (var3 == null) {
         throw new NullPointerException();
      } else {
         class="kw">return new Int2ObjectConcurrentHashMap.ReduceKeysTask<>(this.EMPTY, null, this.batchFor(var1), 0, 0, this.table, null, var3).invoke0();
      }
   }

   class="kw">public <U> U reduceKeys(long var1, Int2ObjectConcurrentHashMap.IntFunction<? class="kw">extends U> var3, BiFunction<? super U, ? super U, ? class="kw">extends U> var4) {
      if (var3 != null && var4 != null) {
         class="kw">return new Int2ObjectConcurrentHashMap.MapReduceKeysTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4).invoke();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public double reduceKeysToDouble(long var1, Int2ObjectConcurrentHashMap.IntToDoubleFunction var3, double var4, DoubleBinaryOperator var6) {
      if (var3 != null && var6 != null) {
         class="kw">return new Int2ObjectConcurrentHashMap.MapReduceKeysToDoubleTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4, var6).invoke0();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public long reduceKeysToLong(long var1, Int2ObjectConcurrentHashMap.IntToLongFunction var3, long var4, LongBinaryOperator var6) {
      if (var3 != null && var6 != null) {
         class="kw">return new Int2ObjectConcurrentHashMap.MapReduceKeysToLongTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4, var6).invoke0();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public int reduceKeysToInt(long var1, Int2ObjectConcurrentHashMap.IntToIntFunction var3, int var4, IntBinaryOperator var5) {
      if (var3 != null && var5 != null) {
         class="kw">return new Int2ObjectConcurrentHashMap.MapReduceKeysToIntTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4, var5).invoke0();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public void forEachValue(long var1, Consumer<? super V> var3) {
      if (var3 == null) {
         throw new NullPointerException();
      }

      new Int2ObjectConcurrentHashMap.ForEachValueTask<>(null, this.batchFor(var1), 0, 0, this.table, var3).invoke();
   }

   class="kw">public <U> void forEachValue(long var1, Function<? super V, ? class="kw">extends U> var3, Consumer<? super U> var4) {
      if (var3 != null && var4 != null) {
         new Int2ObjectConcurrentHashMap.ForEachTransformedValueTask<>(null, this.batchFor(var1), 0, 0, this.table, var3, var4).invoke();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public <U> U searchValues(long var1, Function<? super V, ? class="kw">extends U> var3) {
      if (var3 == null) {
         throw new NullPointerException();
      } else {
         class="kw">return new Int2ObjectConcurrentHashMap.SearchValuesTask<>(null, this.batchFor(var1), 0, 0, this.table, var3, new AtomicReference()).invoke();
      }
   }

   class="kw">public V reduceValues(long var1, BiFunction<? super V, ? super V, ? class="kw">extends V> var3) {
      if (var3 == null) {
         throw new NullPointerException();
      } else {
         class="kw">return new Int2ObjectConcurrentHashMap.ReduceValuesTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3).invoke();
      }
   }

   class="kw">public <U> U reduceValues(long var1, Function<? super V, ? class="kw">extends U> var3, BiFunction<? super U, ? super U, ? class="kw">extends U> var4) {
      if (var3 != null && var4 != null) {
         class="kw">return new Int2ObjectConcurrentHashMap.MapReduceValuesTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4).invoke();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public double reduceValuesToDouble(long var1, ToDoubleFunction<? super V> var3, double var4, DoubleBinaryOperator var6) {
      if (var3 != null && var6 != null) {
         class="kw">return new Int2ObjectConcurrentHashMap.MapReduceValuesToDoubleTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4, var6).invoke0();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public long reduceValuesToLong(long var1, ToLongFunction<? super V> var3, long var4, LongBinaryOperator var6) {
      if (var3 != null && var6 != null) {
         class="kw">return new Int2ObjectConcurrentHashMap.MapReduceValuesToLongTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4, var6).invoke0();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public int reduceValuesToInt(long var1, Int2ObjectConcurrentHashMap.ToIntFunction<? super V> var3, int var4, IntBinaryOperator var5) {
      if (var3 != null && var5 != null) {
         class="kw">return new Int2ObjectConcurrentHashMap.MapReduceValuesToIntTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4, var5).invoke0();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public void forEachEntry(long var1, Consumer<? super Int2ObjectConcurrentHashMap.Entry<V>> var3) {
      if (var3 == null) {
         throw new NullPointerException();
      }

      new Int2ObjectConcurrentHashMap.ForEachEntryTask<>(null, this.batchFor(var1), 0, 0, this.table, var3).invoke();
   }

   class="kw">public <U> void forEachEntry(long var1, Function<Int2ObjectConcurrentHashMap.Entry<V>, ? class="kw">extends U> var3, Consumer<? super U> var4) {
      if (var3 != null && var4 != null) {
         new Int2ObjectConcurrentHashMap.ForEachTransformedEntryTask<>(null, this.batchFor(var1), 0, 0, this.table, var3, var4).invoke();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public <U> U searchEntries(long var1, Function<Int2ObjectConcurrentHashMap.Entry<V>, ? class="kw">extends U> var3) {
      if (var3 == null) {
         throw new NullPointerException();
      } else {
         class="kw">return new Int2ObjectConcurrentHashMap.SearchEntriesTask<>(null, this.batchFor(var1), 0, 0, this.table, var3, new AtomicReference()).invoke();
      }
   }

   class="kw">public Int2ObjectConcurrentHashMap.Entry<V> reduceEntries(
      long var1, BiFunction<Int2ObjectConcurrentHashMap.Entry<V>, Int2ObjectConcurrentHashMap.Entry<V>, ? class="kw">extends Int2ObjectConcurrentHashMap.Entry<V>> var3
   ) {
      if (var3 == null) {
         throw new NullPointerException();
      } else {
         class="kw">return new Int2ObjectConcurrentHashMap.ReduceEntriesTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3).invoke();
      }
   }

   class="kw">public <U> U reduceEntries(long var1, Function<Int2ObjectConcurrentHashMap.Entry<V>, ? class="kw">extends U> var3, BiFunction<? super U, ? super U, ? class="kw">extends U> var4) {
      if (var3 != null && var4 != null) {
         class="kw">return new Int2ObjectConcurrentHashMap.MapReduceEntriesTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4).invoke();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public double reduceEntriesToDouble(long var1, ToDoubleFunction<Int2ObjectConcurrentHashMap.Entry<V>> var3, double var4, DoubleBinaryOperator var6) {
      if (var3 != null && var6 != null) {
         class="kw">return new Int2ObjectConcurrentHashMap.MapReduceEntriesToDoubleTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4, var6).invoke0();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public long reduceEntriesToLong(long var1, ToLongFunction<Int2ObjectConcurrentHashMap.Entry<V>> var3, long var4, LongBinaryOperator var6) {
      if (var3 != null && var6 != null) {
         class="kw">return new Int2ObjectConcurrentHashMap.MapReduceEntriesToLongTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4, var6).invoke0();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public int reduceEntriesToInt(
      long var1, Int2ObjectConcurrentHashMap.ToIntFunction<Int2ObjectConcurrentHashMap.Entry<V>> var3, int var4, IntBinaryOperator var5
   ) {
      if (var3 != null && var5 != null) {
         class="kw">return new Int2ObjectConcurrentHashMap.MapReduceEntriesToIntTask<>(null, this.batchFor(var1), 0, 0, this.table, null, var3, var4, var5).invoke0();
      } else {
         throw new NullPointerException();
      }
   }

   class="kw">public V valueMatching(Predicate<V> var1) {
      Int2ObjectConcurrentHashMap.Node var3 = null;
      Int2ObjectConcurrentHashMap.TableStack var4 = null;
      Int2ObjectConcurrentHashMap.TableStack var5 = null;
      int var6 = 0;
      int var7 = 0;
      Int2ObjectConcurrentHashMap.Node[] var2 = this.table;
      int var8 = this.table == null ? 0 : var2.length;
      int var9 = var8;
      int var10 = var8;
      boolean var11 = false;

      label80:
      while (var3 != null || !var11) {
         var11 |= true;
         Int2ObjectConcurrentHashMap.Node var12 = var3;
         if (var3 != null) {
            var12 = var12.next;
         }

         label76:
         while (var12 == null) {
            if (var7 < var9) {
               Int2ObjectConcurrentHashMap.Node[] var13 = var2;
               if (var2 != null) {
                  int var15;
                  int var10000 = var15 = var13.length;
                  int var14 = var6;
                  if (var10000 > var6 && var14 >= 0) {
                     if ((var12 = tabAt(var13, var14)) != null && var12.hash < 0) {
                        if (var12 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                           var2 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var12).nextTable;
                           var12 = null;
                           Int2ObjectConcurrentHashMap.TableStack var19 = var5;
                           if (var19 != null) {
                              var5 = var19.next;
                           } else {
                              var19 = new Int2ObjectConcurrentHashMap.TableStack<>();
                           }

                           var19.tab = var13;
                           var19.length = var15;
                           var19.index = var14;
                           var19.next = var4;
                           var4 = var19;
                           class="kw">continue;
                        }

                        if (var12 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                           var12 = ((Int2ObjectConcurrentHashMap.TreeBin)var12).first;
                        } else {
                           var12 = null;
                        }
                     }

                     if (var4 == null) {
                        if ((var6 = var14 + var10) >= var15) {
                           var6 = ++var7;
                        }
                        class="kw">continue;
                     }

                     while (true) {
                        Int2ObjectConcurrentHashMap.TableStack var16 = var4;
                        if (var4 != null) {
                           int var17 = var16.length;
                           if ((var6 += var16.length) >= var15) {
                              var15 = var17;
                              var6 = var16.index;
                              var2 = var16.tab;
                              var16.tab = null;
                              Int2ObjectConcurrentHashMap.TableStack var18 = var16.next;
                              var16.next = var5;
                              var4 = var18;
                              var5 = var16;
                              class="kw">continue;
                           }
                        }

                        if (var16 == null && (var6 += var10) >= var15) {
                           var6 = ++var7;
                        }
                        class="kw">continue label76;
                     }
                  }
               }
            }

            var3 = null;
            class="kw">continue label80;
         }

         var3 = var12;
         Int2ObjectConcurrentHashMap.Node var20 = var12;
         if (var1.test(var20.val)) {
            class="kw">return var12.val;
         }
      }

      class="kw">return null;
   }

   class="kw">static {
      try {
         Field var0 = Unsafe.class.getDeclaredField("theUnsafe");
         var0.setAccessible(true);
         U = (Unsafe)var0.get(null);
         Class var1 = Int2ObjectConcurrentHashMap.class;
         SIZECTL = U.objectFieldOffset(var1.getDeclaredField("sizeCtl"));
         TRANSFERINDEX = U.objectFieldOffset(var1.getDeclaredField("transferIndex"));
         BASECOUNT = U.objectFieldOffset(var1.getDeclaredField("baseCount"));
         CELLSBUSY = U.objectFieldOffset(var1.getDeclaredField("cellsBusy"));
         Class var2 = Int2ObjectConcurrentHashMap.CounterCell.class;
         CELLVALUE = U.objectFieldOffset(var2.getDeclaredField("value"));
         Class var3 = Int2ObjectConcurrentHashMap.Node[].class;
         ABASE = U.arrayBaseOffset(var3);
         int var4 = U.arrayIndexScale(var3);
         if ((var4 & var4 - 1) != 0) {
            throw new Error("data type scale not a power of two");
         }

         ASHIFT = 31 - Integer.numberOfLeadingZeros(var4);
      } catch (Exception var5) {
         throw new Error(var5);
      }
   }

   class="kw">protected class="kw">static class BaseIterator<V> class="kw">extends Int2ObjectConcurrentHashMap.Traverser<V> {
      class="kw">public class="kw">final Int2ObjectConcurrentHashMap<V> map;
      class="kw">public Int2ObjectConcurrentHashMap.Node<V> lastReturned;

      class="kw">public BaseIterator(Int2ObjectConcurrentHashMap.Node<V>[] var1, int var2, int var3, int var4, Int2ObjectConcurrentHashMap<V> var5) {
         super(var1, var2, var3, var4);
         this.map = var5;
         this.advance();
      }

      class="kw">public class="kw">final boolean hasNext() {
         class="kw">return this.next != null;
      }

      class="kw">public class="kw">final boolean hasMoreElements() {
         class="kw">return this.next != null;
      }

      class="kw">public class="kw">final void remove() {
         Int2ObjectConcurrentHashMap.Node var1 = this.lastReturned;
         if (this.lastReturned == null) {
            throw new IllegalStateException();
         }

         this.lastReturned = null;
         this.map.replaceNode(var1.key, null, null);
      }
   }

   class="kw">protected class="kw">abstract class="kw">static class BulkTask<V, R> class="kw">extends CountedCompleter<R> {
      class="kw">public Int2ObjectConcurrentHashMap.Node<V>[] tab;
      class="kw">public Int2ObjectConcurrentHashMap.Node<V> next;
      class="kw">public Int2ObjectConcurrentHashMap.TableStack<V> stack;
      class="kw">public Int2ObjectConcurrentHashMap.TableStack<V> spare;
      class="kw">public int index;
      class="kw">public int baseIndex;
      class="kw">public int baseLimit;
      class="kw">public class="kw">final int baseSize;
      class="kw">public int batch;

      class="kw">protected BulkTask(Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1, int var2, int var3, int var4, Int2ObjectConcurrentHashMap.Node<V>[] var5) {
         super(var1);
         this.batch = var2;
         this.index = this.baseIndex = var3;
         if ((this.tab = var5) == null) {
            this.baseSize = this.baseLimit = 0;
         } else if (var1 == null) {
            this.baseSize = this.baseLimit = var5.length;
         } else {
            this.baseLimit = var4;
            this.baseSize = var1.baseSize;
         }
      }

      class="kw">protected class="kw">final Int2ObjectConcurrentHashMap.Node<V> advance() {
         Int2ObjectConcurrentHashMap.Node var1 = this.next;
         if (this.next != null) {
            var1 = var1.next;
         }

         while (true) {
            if (var1 != null) {
               class="kw">return this.next = var1;
            }

            if (this.baseIndex >= this.baseLimit) {
               break;
            }

            Int2ObjectConcurrentHashMap.Node[] var2 = this.tab;
            if (this.tab == null) {
               break;
            }

            int var4;
            int var10000 = var4 = var2.length;
            int var3 = this.index;
            if (var10000 <= this.index || var3 < 0) {
               break;
            }

            if ((var1 = Int2ObjectConcurrentHashMap.tabAt(var2, var3)) != null && var1.hash < 0) {
               if (var1 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                  this.tab = ((Int2ObjectConcurrentHashMap.ForwardingNode)var1).nextTable;
                  var1 = null;
                  this.pushState(var2, var3, var4);
                  class="kw">continue;
               }

               if (var1 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                  var1 = ((Int2ObjectConcurrentHashMap.TreeBin)var1).first;
               } else {
                  var1 = null;
               }
            }

            if (this.stack != null) {
               this.recoverState(var4);
            } else if ((this.index = var3 + this.baseSize) >= var4) {
               this.index = ++this.baseIndex;
            }
         }

         class="kw">return this.next = null;
      }

      class="kw">protected void pushState(Int2ObjectConcurrentHashMap.Node<V>[] var1, int var2, int var3) {
         Int2ObjectConcurrentHashMap.TableStack var4 = this.spare;
         if (var4 != null) {
            this.spare = var4.next;
         } else {
            var4 = new Int2ObjectConcurrentHashMap.TableStack<>();
         }

         var4.tab = var1;
         var4.length = var3;
         var4.index = var2;
         var4.next = this.stack;
         this.stack = var4;
      }

      class="kw">protected void recoverState(int var1) {
         while (true) {
            Int2ObjectConcurrentHashMap.TableStack var2 = this.stack;
            if (this.stack != null) {
               int var3 = var2.length;
               if ((this.index = this.index + var2.length) >= var1) {
                  var1 = var3;
                  this.index = var2.index;
                  this.tab = var2.tab;
                  var2.tab = null;
                  Int2ObjectConcurrentHashMap.TableStack var4 = var2.next;
                  var2.next = this.spare;
                  this.stack = var4;
                  this.spare = var2;
                  class="kw">continue;
               }
            }

            if (var2 == null && (this.index = this.index + this.baseSize) >= var1) {
               this.index = ++this.baseIndex;
            }

            class="kw">return;
         }
      }
   }

   class="kw">protected class="kw">abstract class="kw">static class CollectionView<K, E> class="kw">implements ObjectCollection<E>, Serializable {
      class="kw">public class="kw">static class="kw">final long serialVersionUID = 7249069246763182397L;
      class="kw">public class="kw">final Int2ObjectConcurrentHashMap<K> map;
      class="kw">protected class="kw">static class="kw">final String oomeMsg = "Required array size too large";

      class="kw">public CollectionView(Int2ObjectConcurrentHashMap<K> var1) {
         this.map = var1;
      }

      class="kw">public Int2ObjectConcurrentHashMap<K> getMap() {
         class="kw">return this.map;
      }

      class="kw">public class="kw">final void clear() {
         this.map.clear();
      }

      class="kw">public class="kw">final int size() {
         class="kw">return this.map.size();
      }

      class="kw">public class="kw">final boolean isEmpty() {
         class="kw">return this.map.isEmpty();
      }

      class="kw">public class="kw">abstract ObjectIterator<E> iterator();

      class="kw">public class="kw">abstract boolean contains(Object var1);

      class="kw">public class="kw">abstract boolean remove(Object var1);

      class="kw">public class="kw">final Object[] toArray() {
         long var1 = this.map.mappingCount();
         if (var1 > 2147483639L) {
            throw new OutOfMemoryError("Required array size too large");
         }

         int var3 = (int)var1;
         Object[] var4 = new Object[var3];
         int var5 = 0;
         ObjectIterator var6 = this.iterator();

         while (var6.hasNext()) {
            Object var7 = (E)var6.next();
            if (var5 == var3) {
               if (var3 >= 2147483639) {
                  throw new OutOfMemoryError("Required array size too large");
               }

               if (var3 >= 1073741819) {
                  var3 = 2147483639;
               } else {
                  var3 += (var3 >>> 1) + 1;
               }

               var4 = Arrays.copyOf(var4, var3);
            }

            var4[var5++] = var7;
         }

         class="kw">return var5 == var3 ? var4 : Arrays.copyOf(var4, var5);
      }

      class="kw">public class="kw">final <T> T[] toArray(T[] var1) {
         long var2 = this.map.mappingCount();
         if (var2 > 2147483639L) {
            throw new OutOfMemoryError("Required array size too large");
         }

         int var4 = (int)var2;
         Object[] var5 = (T[])(var1.length >= var4 ? var1 : (Object[])Array.newInstance(var1.getClass().getComponentType(), var4));
         int var6 = var5.length;
         int var7 = 0;
         ObjectIterator var8 = this.iterator();

         while (var8.hasNext()) {
            Object var9 = (E)var8.next();
            if (var7 == var6) {
               if (var6 >= 2147483639) {
                  throw new OutOfMemoryError("Required array size too large");
               }

               if (var6 >= 1073741819) {
                  var6 = 2147483639;
               } else {
                  var6 += (var6 >>> 1) + 1;
               }

               var5 = (T[])Arrays.copyOf(var5, var6);
            }

            var5[var7++] = (T)var9;
         }

         if (var1 == var5 && var7 < var6) {
            var5[var7] = null;
            class="kw">return var5;
         } else {
            class="kw">return (T[])(var7 == var6 ? var5 : Arrays.copyOf(var5, var7));
         }
      }

      @Override
      class="kw">public class="kw">final String toString() {
         StringBuilder var1 = new StringBuilder();
         var1.append('[');
         Iterator var2 = this.iterator();
         if (var2.hasNext()) {
            while (true) {
               Object var3 = var2.next();
               var1.append(var3 == this ? "(this Collection)" : var3);
               if (!var2.hasNext()) {
                  break;
               }

               var1.append(',').append(' ');
            }
         }

         class="kw">return var1.append(']').toString();
      }

      class="kw">public class="kw">final boolean containsAll(Collection<?> var1) {
         if (var1 != this) {
            for (Object var3 : var1) {
               if (var3 == null || !this.contains(var3)) {
                  class="kw">return false;
               }
            }
         }

         class="kw">return true;
      }

      class="kw">public class="kw">final boolean removeAll(Collection<?> var1) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         boolean var2 = false;
         Iterator var3 = this.iterator();

         while (var3.hasNext()) {
            if (var1.contains(var3.next())) {
               var3.remove();
               var2 = true;
            }
         }

         class="kw">return var2;
      }

      class="kw">public class="kw">final boolean retainAll(Collection<?> var1) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         boolean var2 = false;
         Iterator var3 = this.iterator();

         while (var3.hasNext()) {
            if (!var1.contains(var3.next())) {
               var3.remove();
               var2 = true;
            }
         }

         class="kw">return var2;
      }
   }

   class="kw">protected class="kw">static class="kw">final class CounterCell {
      class="kw">public class="kw">volatile long value;

      class="kw">public CounterCell(long var1) {
         this.value = var1;
      }
   }

   class="kw">protected class="kw">abstract class="kw">static class DoubleReturningBulkTask<V> class="kw">extends Int2ObjectConcurrentHashMap.BulkTask<V, Double> {
      class="kw">public double result;

      class="kw">public DoubleReturningBulkTask(Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1, int var2, int var3, int var4, Int2ObjectConcurrentHashMap.Node<V>[] var5) {
         super(var1, var2, var3, var4, var5);
      }

      class="kw">protected double invoke0() {
         this.quietlyInvoke();
         Throwable var2 = this.getException();
         if (var2 != null) {
            throw SneakyThrow.sneakyThrow(var2);
         } else {
            class="kw">return this.result;
         }
      }
   }

   class="kw">public class="kw">interface Entry<V> class="kw">extends it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry<V> {
      boolean isEmpty();

      @Deprecated
      Integer getKey();

      int getIntKey();

      V getValue();

      @Override
      int hashCode();

      @Override
      String toString();

      @Override
      boolean equals(Object var1);

      V setValue(V var1);
   }

   class="kw">protected class="kw">static class="kw">final class EntryIterator<V>
      class="kw">extends Int2ObjectConcurrentHashMap.BaseIterator<V>
      class="kw">implements ObjectIterator<it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry<V>> {
      class="kw">public EntryIterator(Int2ObjectConcurrentHashMap.Node<V>[] var1, int var2, int var3, int var4, Int2ObjectConcurrentHashMap<V> var5) {
         super(var1, var2, var3, var4, var5);
      }

      class="kw">public class="kw">final Int2ObjectConcurrentHashMap.Entry<V> next() {
         Int2ObjectConcurrentHashMap.Node var1 = this.next;
         if (this.next == null) {
            throw new NoSuchElementException();
         }

         int var2 = var1.key;
         Object var3 = var1.val;
         this.lastReturned = var1;
         this.advance();
         class="kw">return new Int2ObjectConcurrentHashMap.MapEntry<>(var1.isEmpty(), var2, var3, this.map);
      }
   }

   class="kw">protected class="kw">static class="kw">final class EntrySetView<V>
      class="kw">extends Int2ObjectConcurrentHashMap.CollectionView<V, it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry<V>>
      class="kw">implements ObjectSet<it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry<V>>,
      Serializable {
      class="kw">public class="kw">static class="kw">final long serialVersionUID = 2249069246763182397L;

      class="kw">public EntrySetView(Int2ObjectConcurrentHashMap<V> var1) {
         super(var1);
      }

      @Override
      class="kw">public boolean contains(Object var1) {
         if (var1 class="kw">instanceof it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry) {
            it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry var5;
            int var2 = (var5 = (it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry<?>)var1).getIntKey();
            if (!((Int2ObjectConcurrentHashMap.Entry)var1).isEmpty()) {
               Object var3;
               Object var4;
               class="kw">return (var4 = this.map.get(var2)) != null && (var3 = var5.getValue()) != null && (var3 == var4 || var3.equals(var4));
            }
         }

         class="kw">return false;
      }

      @Override
      class="kw">public boolean remove(Object var1) {
         if (var1 class="kw">instanceof it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry) {
            it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry var4;
            int var2 = (var4 = (it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry<?>)var1).getIntKey();
            if (!((Int2ObjectConcurrentHashMap.Entry)var1).isEmpty()) {
               Object var3;
               class="kw">return (var3 = var4.getValue()) != null && this.map.remove(var2, var3);
            }
         }

         class="kw">return false;
      }

      @Override
      class="kw">public ObjectIterator<it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry<V>> iterator() {
         Int2ObjectConcurrentHashMap var1 = this.map;
         Int2ObjectConcurrentHashMap.Node[] var2 = var1.table;
         int var3 = var1.table == null ? 0 : var2.length;
         class="kw">return new Int2ObjectConcurrentHashMap.EntryIterator<>(var2, var3, 0, var3, var1);
      }

      class="kw">public boolean add(it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry<V> var1) {
         class="kw">return this.map.putVal(var1.getIntKey(), (V)var1.getValue(), false) == null;
      }

      class="kw">public boolean addAll(Collection<? class="kw">extends it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry<V>> var1) {
         boolean var2 = false;

         for (it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry var4 : var1) {
            if (this.add(var4)) {
               var2 = true;
            }
         }

         class="kw">return var2;
      }

      @Override
      class="kw">public class="kw">final int hashCode() {
         int var1 = 0;
         Int2ObjectConcurrentHashMap.Node[] var2 = this.map.table;
         if (this.map.table != null) {
            Int2ObjectConcurrentHashMap.Traverser var3 = new Int2ObjectConcurrentHashMap.Traverser<>(var2, var2.length, 0, var2.length);

            Int2ObjectConcurrentHashMap.Node var4;
            while ((var4 = var3.advance()) != null) {
               var1 += var4.hashCode();
            }
         }

         class="kw">return var1;
      }

      @Override
      class="kw">public class="kw">final boolean equals(Object var1) {
         Set var2;
         class="kw">return var1 class="kw">instanceof Set && ((var2 = (Set<?>)var1) == this || this.containsAll(var2) && var2.containsAll(this));
      }

      class="kw">public ObjectSpliterator<it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry<V>> spliterator() {
         Int2ObjectConcurrentHashMap var2 = this.map;
         long var3 = var2.sumCount();
         Int2ObjectConcurrentHashMap.Node[] var1 = var2.table;
         int var5 = var2.table == null ? 0 : var1.length;
         class="kw">return new Int2ObjectConcurrentHashMap.EntrySpliterator<>(var1, var5, 0, var5, var3 < 0L ? 0L : var3, var2);
      }

      class="kw">public void forEach(Consumer<? super it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry<V>> var1) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Int2ObjectConcurrentHashMap.Node[] var2 = this.map.table;
         if (this.map.table != null) {
            Int2ObjectConcurrentHashMap.Traverser var3 = new Int2ObjectConcurrentHashMap.Traverser<>(var2, var2.length, 0, var2.length);

            Int2ObjectConcurrentHashMap.Node var4;
            while ((var4 = var3.advance()) != null) {
               var1.accept(new Int2ObjectConcurrentHashMap.MapEntry<>(var4.isEmpty(), var4.key, var4.val, this.map));
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class EntrySpliterator<V>
      class="kw">extends Int2ObjectConcurrentHashMap.Traverser<V>
      class="kw">implements ObjectSpliterator<it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry<V>> {
      class="kw">public class="kw">final Int2ObjectConcurrentHashMap<V> map;
      class="kw">public long est;

      class="kw">public EntrySpliterator(Int2ObjectConcurrentHashMap.Node<V>[] var1, int var2, int var3, int var4, long var5, Int2ObjectConcurrentHashMap<V> var7) {
         super(var1, var2, var3, var4);
         this.map = var7;
         this.est = var5;
      }

      class="kw">public ObjectSpliterator<it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry<V>> trySplit() {
         int var1 = this.baseIndex;
         int var2 = this.baseLimit;
         int var3;
         class="kw">return (var3 = this.baseIndex + this.baseLimit >>> 1) <= var1
            ? null
            : new Int2ObjectConcurrentHashMap.EntrySpliterator<>(this.tab, this.baseSize, this.baseLimit = var3, var2, this.est >>>= 1, this.map);
      }

      class="kw">public void forEachRemaining(Consumer<? super it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry<V>> var1) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Int2ObjectConcurrentHashMap.Node var2;
         while ((var2 = this.advance()) != null) {
            var1.accept(new Int2ObjectConcurrentHashMap.MapEntry<>(var2.isEmpty(), var2.key, var2.val, this.map));
         }
      }

      class="kw">public boolean tryAdvance(Consumer<? super it.unimi.dsi.fastutil.ints.Int2ObjectMap.Entry<V>> var1) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Int2ObjectConcurrentHashMap.Node var2;
         if ((var2 = this.advance()) == null) {
            class="kw">return false;
         }

         var1.accept(new Int2ObjectConcurrentHashMap.MapEntry<>(var2.isEmpty(), var2.key, var2.val, this.map));
         class="kw">return true;
      }

      class="kw">public long estimateSize() {
         class="kw">return this.est;
      }

      class="kw">public int characteristics() {
         class="kw">return 4353;
      }
   }

   class="kw">protected class="kw">static class="kw">final class ForEachEntryTask<V> class="kw">extends Int2ObjectConcurrentHashMap.BulkTask<V, Void> {
      class="kw">public class="kw">final Consumer<? super Int2ObjectConcurrentHashMap.Entry<V>> action;

      class="kw">public ForEachEntryTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Consumer<? super Int2ObjectConcurrentHashMap.Entry<V>> var6
      ) {
         super(var1, var2, var3, var4, var5);
         this.action = var6;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Consumer var1 = this.action;
         if (this.action != null) {
            int var2 = this.baseIndex;

            while (this.batch > 0) {
               int var3 = this.baseLimit;
               int var4;
               if ((var4 = this.baseLimit + var2 >>> 1) <= var2) {
                  break;
               }

               this.addToPendingCount(1);
               new Int2ObjectConcurrentHashMap.ForEachEntryTask<>(this, this.batch >>>= 1, this.baseLimit = var4, var3, this.tab, var1).fork();
            }

            while ((var5 = this.advance()) != null) {
               var1.accept(var5);
            }

            this.propagateCompletion();
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class ForEachKeyTask<V> class="kw">extends Int2ObjectConcurrentHashMap.BulkTask<V, Void> {
      class="kw">public class="kw">final IntConsumer action;

      class="kw">public ForEachKeyTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1, int var2, int var3, int var4, Int2ObjectConcurrentHashMap.Node<V>[] var5, IntConsumer var6
      ) {
         super(var1, var2, var3, var4, var5);
         this.action = var6;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         IntConsumer var1 = this.action;
         if (this.action != null) {
            int var2 = this.baseIndex;

            while (this.batch > 0) {
               int var3 = this.baseLimit;
               int var4;
               if ((var4 = this.baseLimit + var2 >>> 1) <= var2) {
                  break;
               }

               this.addToPendingCount(1);
               new Int2ObjectConcurrentHashMap.ForEachKeyTask<>(this, this.batch >>>= 1, this.baseLimit = var4, var3, this.tab, var1).fork();
            }

            while ((var5 = this.advance()) != null) {
               var1.accept(var5.key);
            }

            this.propagateCompletion();
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class ForEachMappingTask<V> class="kw">extends Int2ObjectConcurrentHashMap.BulkTask<V, Void> {
      class="kw">public class="kw">final Int2ObjectConcurrentHashMap.IntObjConsumer<? super V> action;

      class="kw">public ForEachMappingTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Int2ObjectConcurrentHashMap.IntObjConsumer<? super V> var6
      ) {
         super(var1, var2, var3, var4, var5);
         this.action = var6;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Int2ObjectConcurrentHashMap.IntObjConsumer var1 = this.action;
         if (this.action != null) {
            int var2 = this.baseIndex;

            while (this.batch > 0) {
               int var3 = this.baseLimit;
               int var4;
               if ((var4 = this.baseLimit + var2 >>> 1) <= var2) {
                  break;
               }

               this.addToPendingCount(1);
               new Int2ObjectConcurrentHashMap.ForEachMappingTask<>(this, this.batch >>>= 1, this.baseLimit = var4, var3, this.tab, var1).fork();
            }

            while ((var5 = this.advance()) != null) {
               var1.accept(var5.key, var5.val);
            }

            this.propagateCompletion();
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class ForEachTransformedEntryTask<V, U> class="kw">extends Int2ObjectConcurrentHashMap.BulkTask<V, Void> {
      class="kw">public class="kw">final Function<Int2ObjectConcurrentHashMap.Entry<V>, ? class="kw">extends U> transformer;
      class="kw">public class="kw">final Consumer<? super U> action;

      class="kw">public ForEachTransformedEntryTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Function<Int2ObjectConcurrentHashMap.Entry<V>, ? class="kw">extends U> var6,
         Consumer<? super U> var7
      ) {
         super(var1, var2, var3, var4, var5);
         this.transformer = var6;
         this.action = var7;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Function var1 = this.transformer;
         if (this.transformer != null) {
            Consumer var2 = this.action;
            if (this.action != null) {
               int var3 = this.baseIndex;

               while (this.batch > 0) {
                  int var4 = this.baseLimit;
                  int var5;
                  if ((var5 = this.baseLimit + var3 >>> 1) <= var3) {
                     break;
                  }

                  this.addToPendingCount(1);
                  new Int2ObjectConcurrentHashMap.ForEachTransformedEntryTask<>(this, this.batch >>>= 1, this.baseLimit = var5, var4, this.tab, var1, var2)
                     .fork();
               }

               while ((var6 = this.advance()) != null) {
                  Object var7;
                  if ((var7 = (U)var1.apply(var6)) != null) {
                     var2.accept(var7);
                  }
               }

               this.propagateCompletion();
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class ForEachTransformedKeyTask<V, U> class="kw">extends Int2ObjectConcurrentHashMap.BulkTask<V, Void> {
      class="kw">public class="kw">final Int2ObjectConcurrentHashMap.IntFunction<? class="kw">extends U> transformer;
      class="kw">public class="kw">final Consumer<? super U> action;

      class="kw">public ForEachTransformedKeyTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Int2ObjectConcurrentHashMap.IntFunction<? class="kw">extends U> var6,
         Consumer<? super U> var7
      ) {
         super(var1, var2, var3, var4, var5);
         this.transformer = var6;
         this.action = var7;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Int2ObjectConcurrentHashMap.IntFunction var1 = this.transformer;
         if (this.transformer != null) {
            Consumer var2 = this.action;
            if (this.action != null) {
               int var3 = this.baseIndex;

               while (this.batch > 0) {
                  int var4 = this.baseLimit;
                  int var5;
                  if ((var5 = this.baseLimit + var3 >>> 1) <= var3) {
                     break;
                  }

                  this.addToPendingCount(1);
                  new Int2ObjectConcurrentHashMap.ForEachTransformedKeyTask<>(this, this.batch >>>= 1, this.baseLimit = var5, var4, this.tab, var1, var2)
                     .fork();
               }

               while ((var6 = this.advance()) != null) {
                  Object var7;
                  if ((var7 = (U)var1.apply(var6.key)) != null) {
                     var2.accept(var7);
                  }
               }

               this.propagateCompletion();
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class ForEachTransformedMappingTask<V, U> class="kw">extends Int2ObjectConcurrentHashMap.BulkTask<V, Void> {
      class="kw">public class="kw">final Int2ObjectConcurrentHashMap.IntObjFunction<? super V, ? class="kw">extends U> transformer;
      class="kw">public class="kw">final Consumer<? super U> action;

      class="kw">public ForEachTransformedMappingTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Int2ObjectConcurrentHashMap.IntObjFunction<? super V, ? class="kw">extends U> var6,
         Consumer<? super U> var7
      ) {
         super(var1, var2, var3, var4, var5);
         this.transformer = var6;
         this.action = var7;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Int2ObjectConcurrentHashMap.IntObjFunction var1 = this.transformer;
         if (this.transformer != null) {
            Consumer var2 = this.action;
            if (this.action != null) {
               int var3 = this.baseIndex;

               while (this.batch > 0) {
                  int var4 = this.baseLimit;
                  int var5;
                  if ((var5 = this.baseLimit + var3 >>> 1) <= var3) {
                     break;
                  }

                  this.addToPendingCount(1);
                  new Int2ObjectConcurrentHashMap.ForEachTransformedMappingTask<>(this, this.batch >>>= 1, this.baseLimit = var5, var4, this.tab, var1, var2)
                     .fork();
               }

               while ((var6 = this.advance()) != null) {
                  Object var7;
                  if ((var7 = (U)var1.apply(var6.key, var6.val)) != null) {
                     var2.accept(var7);
                  }
               }

               this.propagateCompletion();
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class ForEachTransformedValueTask<V, U> class="kw">extends Int2ObjectConcurrentHashMap.BulkTask<V, Void> {
      class="kw">public class="kw">final Function<? super V, ? class="kw">extends U> transformer;
      class="kw">public class="kw">final Consumer<? super U> action;

      class="kw">public ForEachTransformedValueTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Function<? super V, ? class="kw">extends U> var6,
         Consumer<? super U> var7
      ) {
         super(var1, var2, var3, var4, var5);
         this.transformer = var6;
         this.action = var7;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Function var1 = this.transformer;
         if (this.transformer != null) {
            Consumer var2 = this.action;
            if (this.action != null) {
               int var3 = this.baseIndex;

               while (this.batch > 0) {
                  int var4 = this.baseLimit;
                  int var5;
                  if ((var5 = this.baseLimit + var3 >>> 1) <= var3) {
                     break;
                  }

                  this.addToPendingCount(1);
                  new Int2ObjectConcurrentHashMap.ForEachTransformedValueTask<>(this, this.batch >>>= 1, this.baseLimit = var5, var4, this.tab, var1, var2)
                     .fork();
               }

               while ((var6 = this.advance()) != null) {
                  Object var7;
                  if ((var7 = (U)var1.apply(var6.val)) != null) {
                     var2.accept(var7);
                  }
               }

               this.propagateCompletion();
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class ForEachValueTask<V> class="kw">extends Int2ObjectConcurrentHashMap.BulkTask<V, Void> {
      class="kw">public class="kw">final Consumer<? super V> action;

      class="kw">public ForEachValueTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1, int var2, int var3, int var4, Int2ObjectConcurrentHashMap.Node<V>[] var5, Consumer<? super V> var6
      ) {
         super(var1, var2, var3, var4, var5);
         this.action = var6;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Consumer var1 = this.action;
         if (this.action != null) {
            int var2 = this.baseIndex;

            while (this.batch > 0) {
               int var3 = this.baseLimit;
               int var4;
               if ((var4 = this.baseLimit + var2 >>> 1) <= var2) {
                  break;
               }

               this.addToPendingCount(1);
               new Int2ObjectConcurrentHashMap.ForEachValueTask<>(this, this.batch >>>= 1, this.baseLimit = var4, var3, this.tab, var1).fork();
            }

            while ((var5 = this.advance()) != null) {
               var1.accept(var5.val);
            }

            this.propagateCompletion();
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class ForwardingNode<V> class="kw">extends Int2ObjectConcurrentHashMap.Node<V> {
      class="kw">public class="kw">final Int2ObjectConcurrentHashMap.Node<V>[] nextTable;

      class="kw">public ForwardingNode(int var1, Int2ObjectConcurrentHashMap.Node<V>[] var2) {
         super(var1, -1, var1, null, null);
         this.nextTable = var2;
      }

      @Override
      class="kw">protected Int2ObjectConcurrentHashMap.Node<V> find(int var1, int var2) {
         Int2ObjectConcurrentHashMap.Node[] var3 = this.nextTable;

         Int2ObjectConcurrentHashMap.Node var4;
         int var5;
         label41:
         while (var2 != this.EMPTY && var3 != null && (var5 = var3.length) != 0 && (var4 = Int2ObjectConcurrentHashMap.tabAt(var3, var5 - 1 & var1)) != null) {
            do {
               int var6 = var4.hash;
               if (var4.hash == var1) {
                  int var7 = var4.key;
                  if (var4.key == var2 || var7 != this.EMPTY && var2 == var7) {
                     class="kw">return var4;
                  }
               }

               if (var6 < 0) {
                  if (!(var4 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode)) {
                     class="kw">return var4.find(var1, var2);
                  }

                  var3 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var4).nextTable;
                  class="kw">continue label41;
               }
            } while ((var4 = var4.next) != null);

            class="kw">return null;
         }

         class="kw">return null;
      }
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntBiObjByteConsumer<V, X> {
      void accept(int var1, V var2, byte var3, X var4);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntBiObjConsumer<V, X> {
      void accept(int var1, V var2, X var3);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntBiObjDoubleConsumer<V, X> {
      void accept(int var1, V var2, double var3, X var5);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntBiObjFloatConsumer<V, X> {
      void accept(int var1, V var2, float var3, X var4);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntBiObjFunction<V, X, J> {
      J apply(int var1, V var2, X var3);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntBiObjIntConsumer<V, X> {
      void accept(int var1, V var2, int var3, X var4);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntBiObjLongConsumer<V, X> {
      void accept(int var1, V var2, long var3, X var5);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntBiObjShortConsumer<V, X> {
      void accept(int var1, V var2, short var3, X var4);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntFunction<R> {
      R apply(int var1);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntObjByteConsumer<V> {
      void accept(int var1, V var2, byte var3);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntObjByteFunction<V, J> {
      J apply(int var1, V var2, byte var3);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntObjConsumer<V> {
      void accept(int var1, V var2);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntObjDoubleConsumer<V> {
      void accept(int var1, V var2, double var3);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntObjDoubleFunction<V, J> {
      J apply(int var1, V var2, double var3);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntObjFloatConsumer<V> {
      void accept(int var1, V var2, float var3);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntObjFloatFunction<V, J> {
      J apply(int var1, V var2, float var3);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntObjFunction<V, J> {
      J apply(int var1, V var2);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntObjIntConsumer<V> {
      void accept(int var1, V var2, int var3);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntObjIntFunction<V, J> {
      J apply(int var1, V var2, int var3);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntObjLongConsumer<V> {
      void accept(int var1, V var2, long var3);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntObjLongFunction<V, J> {
      J apply(int var1, V var2, long var3);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntObjShortConsumer<V> {
      void accept(int var1, V var2, short var3);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntObjShortFunction<V, J> {
      J apply(int var1, V var2, short var3);
   }

   class="kw">protected class="kw">abstract class="kw">static class IntReturningBulkTask<V> class="kw">extends Int2ObjectConcurrentHashMap.BulkTask<V, Integer> {
      class="kw">public int result;

      class="kw">public IntReturningBulkTask(Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1, int var2, int var3, int var4, Int2ObjectConcurrentHashMap.Node<V>[] var5) {
         super(var1, var2, var3, var4, var5);
      }

      class="kw">protected int invoke0() {
         this.quietlyInvoke();
         Throwable var2 = this.getException();
         if (var2 != null) {
            throw SneakyThrow.sneakyThrow(var2);
         } else {
            class="kw">return this.result;
         }
      }
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntToDoubleFunction {
      double applyAsDouble(int var1);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntToIntFunction {
      int applyAsInt(int var1);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntToLongFunction {
      long applyAsLong(int var1);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntTriObjConsumer<V, X, Y> {
      void accept(int var1, V var2, X var3, Y var4);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface IntegerReduceTaskOperator {
      int reduce(int var1, int var2, int var3);
   }

   class="kw">protected class="kw">abstract class="kw">static class IntegerReturningBulkTask2<V> class="kw">extends Int2ObjectConcurrentHashMap.BulkTask<V, Integer> {
      class="kw">public int result;

      class="kw">public IntegerReturningBulkTask2(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1, int var2, int var3, int var4, Int2ObjectConcurrentHashMap.Node<V>[] var5
      ) {
         super(var1, var2, var3, var4, var5);
      }

      class="kw">protected int invoke0() {
         this.quietlyInvoke();
         Throwable var2 = this.getException();
         if (var2 != null) {
            throw SneakyThrow.sneakyThrow(var2);
         } else {
            class="kw">return this.result;
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class KeyIterator<V> class="kw">implements IntIterator {
      class="kw">public Int2ObjectConcurrentHashMap.Node<V>[] tab;
      class="kw">public Int2ObjectConcurrentHashMap.Node<V> next;
      class="kw">public Int2ObjectConcurrentHashMap.TableStack<V> stack;
      class="kw">public Int2ObjectConcurrentHashMap.TableStack<V> spare;
      class="kw">public int index;
      class="kw">public int baseIndex;
      class="kw">public int baseLimit;
      class="kw">public class="kw">final int baseSize;
      class="kw">public class="kw">final Int2ObjectConcurrentHashMap<V> map;
      class="kw">public Int2ObjectConcurrentHashMap.Node<V> lastReturned;

      class="kw">public KeyIterator(Int2ObjectConcurrentHashMap.Node<V>[] var1, int var2, int var3, int var4, Int2ObjectConcurrentHashMap<V> var5) {
         this.tab = var1;
         this.baseSize = var2;
         this.baseIndex = this.index = var3;
         this.baseLimit = var4;
         this.next = null;
         this.map = var5;
         this.advance();
      }

      class="kw">protected class="kw">final Int2ObjectConcurrentHashMap.Node<V> advance() {
         Int2ObjectConcurrentHashMap.Node var1 = this.next;
         if (this.next != null) {
            var1 = var1.next;
         }

         while (true) {
            if (var1 != null) {
               class="kw">return this.next = var1;
            }

            if (this.baseIndex >= this.baseLimit) {
               break;
            }

            Int2ObjectConcurrentHashMap.Node[] var2 = this.tab;
            if (this.tab == null) {
               break;
            }

            int var4;
            int var10000 = var4 = var2.length;
            int var3 = this.index;
            if (var10000 <= this.index || var3 < 0) {
               break;
            }

            if ((var1 = Int2ObjectConcurrentHashMap.tabAt(var2, var3)) != null && var1.hash < 0) {
               if (var1 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                  this.tab = ((Int2ObjectConcurrentHashMap.ForwardingNode)var1).nextTable;
                  var1 = null;
                  this.pushState(var2, var3, var4);
                  class="kw">continue;
               }

               if (var1 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                  var1 = ((Int2ObjectConcurrentHashMap.TreeBin)var1).first;
               } else {
                  var1 = null;
               }
            }

            if (this.stack != null) {
               this.recoverState(var4);
            } else if ((this.index = var3 + this.baseSize) >= var4) {
               this.index = ++this.baseIndex;
            }
         }

         class="kw">return this.next = null;
      }

      class="kw">protected void pushState(Int2ObjectConcurrentHashMap.Node<V>[] var1, int var2, int var3) {
         Int2ObjectConcurrentHashMap.TableStack var4 = this.spare;
         if (var4 != null) {
            this.spare = var4.next;
         } else {
            var4 = new Int2ObjectConcurrentHashMap.TableStack<>();
         }

         var4.tab = var1;
         var4.length = var3;
         var4.index = var2;
         var4.next = this.stack;
         this.stack = var4;
      }

      class="kw">protected void recoverState(int var1) {
         while (true) {
            Int2ObjectConcurrentHashMap.TableStack var2 = this.stack;
            if (this.stack != null) {
               int var3 = var2.length;
               if ((this.index = this.index + var2.length) >= var1) {
                  var1 = var3;
                  this.index = var2.index;
                  this.tab = var2.tab;
                  var2.tab = null;
                  Int2ObjectConcurrentHashMap.TableStack var4 = var2.next;
                  var2.next = this.spare;
                  this.stack = var4;
                  this.spare = var2;
                  class="kw">continue;
               }
            }

            if (var2 == null && (this.index = this.index + this.baseSize) >= var1) {
               this.index = ++this.baseIndex;
            }

            class="kw">return;
         }
      }

      class="kw">public class="kw">final boolean hasNext() {
         class="kw">return this.next != null;
      }

      class="kw">public class="kw">final boolean hasMoreElements() {
         class="kw">return this.next != null;
      }

      class="kw">public class="kw">final void remove() {
         Int2ObjectConcurrentHashMap.Node var1 = this.lastReturned;
         if (this.lastReturned == null) {
            throw new IllegalStateException();
         }

         this.lastReturned = null;
         this.map.replaceNode(var1.key, null, null);
      }

      class="kw">public class="kw">final int nextInt() {
         Int2ObjectConcurrentHashMap.Node var1 = this.next;
         if (this.next == null) {
            throw new NoSuchElementException();
         }

         int var2 = var1.key;
         this.lastReturned = var1;
         this.advance();
         class="kw">return var2;
      }
   }

   class="kw">public class="kw">static class KeySetView<V> class="kw">implements IntSet {
      class="kw">public class="kw">static class="kw">final long serialVersionUID = 7249069246763182397L;
      class="kw">public class="kw">final Int2ObjectConcurrentHashMap<V> map;
      class="kw">public class="kw">final V value;

      class="kw">public KeySetView(Int2ObjectConcurrentHashMap<V> var1, V var2) {
         this.map = var1;
         this.value = var2;
      }

      class="kw">public V getMappedValue() {
         class="kw">return this.value;
      }

      class="kw">public boolean contains(int var1) {
         class="kw">return this.map.containsKey(var1);
      }

      class="kw">public boolean remove(int var1) {
         class="kw">return this.map.remove(var1) != null;
      }

      class="kw">public IntIterator iterator() {
         Int2ObjectConcurrentHashMap var2 = this.map;
         Int2ObjectConcurrentHashMap.Node[] var1 = var2.table;
         int var3 = var2.table == null ? 0 : var1.length;
         class="kw">return new Int2ObjectConcurrentHashMap.KeyIterator<>(var1, var3, 0, var3, var2);
      }

      class="kw">public boolean add(int var1) {
         Object var2 = this.value;
         if (this.value == null) {
            throw new UnsupportedOperationException();
         } else {
            class="kw">return this.map.putVal(var1, var2, true) == null;
         }
      }

      class="kw">public boolean addAll(IntCollection var1) {
         boolean var2 = false;
         Object var3 = this.value;
         if (this.value == null) {
            throw new UnsupportedOperationException();
         }

         IntIterator var4 = var1.iterator();

         while (var4.hasNext()) {
            int var5 = var4.nextInt();
            if (this.map.putVal(var5, var3, true) == null) {
               var2 = true;
            }
         }

         class="kw">return var2;
      }

      @Override
      class="kw">public int hashCode() {
         int var1 = 0;
         IntIterator var2 = this.iterator();

         while (var2.hasNext()) {
            var1 += Integer.hashCode(var2.nextInt());
         }

         class="kw">return var1;
      }

      @Override
      class="kw">public boolean equals(Object var1) {
         IntSet var2;
         class="kw">return var1 class="kw">instanceof IntSet && ((var2 = (IntSet)var1) == this || this.containsAll(var2) && var2.containsAll(this));
      }

      class="kw">public int getNoEntryValue() {
         class="kw">return this.map.EMPTY;
      }

      class="kw">public int size() {
         class="kw">return this.map.size();
      }

      class="kw">public boolean isEmpty() {
         class="kw">return this.map.isEmpty();
      }

      class="kw">public Object[] toArray() {
         Object[] var1 = new Integer[this.size()];
         IntIterator var2 = this.iterator();

         int var3;
         for (var3 = 0; var3 < var1.length && var2.hasNext(); var3++) {
            var1[var3] = var2.nextInt();
         }

         if (var1.length > var3 + 1) {
            var1[var3] = this.map.EMPTY;
         }

         class="kw">return var1;
      }

      class="kw">public Object[] toArray(Object[] var1) {
         IntIterator var2 = this.iterator();

         int var3;
         for (var3 = 0; var3 < var1.length && var2.hasNext() && var3 <= var1.length; var3++) {
            var1[var3] = var2.next();
         }

         if (var1.length > var3 + 1) {
            var1[var3] = this.map.EMPTY;
         }

         class="kw">return var1;
      }

      class="kw">public int[] toIntArray() {
         int[] var1 = new int[this.size()];
         IntIterator var2 = this.iterator();

         int var3;
         for (var3 = 0; var3 < var1.length && var2.hasNext(); var3++) {
            var1[var3] = var2.next();
         }

         if (var1.length > var3 + 1) {
            var1[var3] = this.map.EMPTY;
         }

         class="kw">return var1;
      }

      class="kw">public int[] toArray(int[] var1) {
         IntIterator var2 = this.iterator();

         int var3;
         for (var3 = 0; var3 < var1.length && var2.hasNext() && var3 <= var1.length; var3++) {
            var1[var3] = var2.next();
         }

         if (var1.length > var3 + 1) {
            var1[var3] = this.map.EMPTY;
         }

         class="kw">return var1;
      }

      class="kw">public int[] toIntArray(int[] var1) {
         class="kw">return this.toArray(var1);
      }

      class="kw">public boolean containsAll(Collection<?> var1) {
         for (Object var3 : var1) {
            if (!(var3 class="kw">instanceof Long)) {
               class="kw">return false;
            }

            int var4 = (Integer)var3;
            if (!this.contains(var4)) {
               class="kw">return false;
            }
         }

         class="kw">return true;
      }

      class="kw">public boolean containsAll(IntCollection var1) {
         IntIterator var2 = var1.iterator();

         while (var2.hasNext()) {
            int var3 = var2.next();
            if (!this.contains(var3)) {
               class="kw">return false;
            }
         }

         class="kw">return true;
      }

      class="kw">public boolean containsAll(int[] var1) {
         int var2 = var1.length;

         while (var2-- > 0) {
            if (!this.contains(var1[var2])) {
               class="kw">return false;
            }
         }

         class="kw">return true;
      }

      class="kw">public boolean addAll(Collection<? class="kw">extends Integer> var1) {
         boolean var2 = false;

         for (Integer var4 : var1) {
            int var5 = var4;
            if (this.add(var5)) {
               var2 = true;
            }
         }

         class="kw">return var2;
      }

      class="kw">public boolean addAll(int[] var1) {
         boolean var2 = false;
         int var3 = var1.length;

         while (var3-- > 0) {
            if (this.add(var1[var3])) {
               var2 = true;
            }
         }

         class="kw">return var2;
      }

      class="kw">public boolean retainAll(Collection<?> var1) {
         boolean var2 = false;
         IntIterator var3 = this.iterator();

         while (var3.hasNext()) {
            if (!var1.contains(var3.next())) {
               var3.remove();
               var2 = true;
            }
         }

         class="kw">return var2;
      }

      class="kw">public boolean retainAll(IntCollection var1) {
         if (this == var1) {
            class="kw">return false;
         }

         boolean var2 = false;
         IntIterator var3 = this.iterator();

         while (var3.hasNext()) {
            if (!var1.contains(var3.next())) {
               var3.remove();
               var2 = true;
            }
         }

         class="kw">return var2;
      }

      class="kw">public boolean retainAll(int[] var1) {
         boolean var2 = false;
         IntIterator var3 = this.iterator();

         while (var3.hasNext()) {
            if (Arrays.binarySearch(var1, var3.next().intValue()) < 0) {
               var3.remove();
               var2 = true;
            }
         }

         class="kw">return var2;
      }

      class="kw">public boolean removeAll(Collection<?> var1) {
         boolean var2 = false;

         for (Object var4 : var1) {
            if (var4 class="kw">instanceof Integer) {
               int var5 = (Integer)var4;
               if (this.remove(var5)) {
                  var2 = true;
               }
            }
         }

         class="kw">return var2;
      }

      class="kw">public boolean removeAll(IntCollection var1) {
         boolean var2 = false;
         IntIterator var3 = var1.iterator();

         while (var3.hasNext()) {
            int var4 = var3.next();
            if (this.remove(var4)) {
               var2 = true;
            }
         }

         class="kw">return var2;
      }

      class="kw">public boolean removeAll(int[] var1) {
         boolean var2 = false;
         int var3 = var1.length;

         while (var3-- > 0) {
            if (this.remove(var1[var3])) {
               var2 = true;
            }
         }

         class="kw">return var2;
      }

      class="kw">public void clear() {
         this.map.clear();
      }

      class="kw">public IntSpliterator spliterator() {
         Int2ObjectConcurrentHashMap var2 = this.map;
         long var3 = var2.sumCount();
         Int2ObjectConcurrentHashMap.Node[] var1 = var2.table;
         int var5 = var2.table == null ? 0 : var1.length;
         class="kw">return new Int2ObjectConcurrentHashMap.KeySpliterator<>(var1, var5, 0, var5, var3 < 0L ? 0L : var3);
      }
   }

   class="kw">protected class="kw">static class="kw">final class KeySpliterator<V> class="kw">extends Int2ObjectConcurrentHashMap.Traverser<V> class="kw">implements IntSpliterator {
      class="kw">public long est;

      class="kw">public KeySpliterator(Int2ObjectConcurrentHashMap.Node<V>[] var1, int var2, int var3, int var4, long var5) {
         super(var1, var2, var3, var4);
         this.est = var5;
      }

      class="kw">public IntSpliterator trySplit() {
         int var1 = this.baseIndex;
         int var2 = this.baseLimit;
         int var3;
         class="kw">return (var3 = this.baseIndex + this.baseLimit >>> 1) <= var1
            ? null
            : new Int2ObjectConcurrentHashMap.KeySpliterator<>(this.tab, this.baseSize, this.baseLimit = var3, var2, this.est >>>= 1);
      }

      class="kw">public boolean tryAdvance(Consumer<? super Integer> var1) {
         class="kw">return var1 class="kw">instanceof IntConsumer ? this.tryAdvance((IntConsumer)var1) : this.tryAdvance(var1x -> var1.accept(var1x));
      }

      class="kw">public void forEachRemaining(IntConsumer var1) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Int2ObjectConcurrentHashMap.Node var2;
         while ((var2 = this.advance()) != null) {
            var1.accept(var2.key);
         }
      }

      class="kw">public boolean tryAdvance(IntConsumer var1) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Int2ObjectConcurrentHashMap.Node var2;
         if ((var2 = this.advance()) == null) {
            class="kw">return false;
         }

         var1.accept(var2.key);
         class="kw">return true;
      }

      class="kw">public long estimateSize() {
         class="kw">return this.est;
      }

      class="kw">public int characteristics() {
         class="kw">return 4353;
      }
   }

   class="kw">protected class="kw">abstract class="kw">static class LongReturningBulkTask<V> class="kw">extends Int2ObjectConcurrentHashMap.BulkTask<V, Long> {
      class="kw">public long result;

      class="kw">public LongReturningBulkTask(Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1, int var2, int var3, int var4, Int2ObjectConcurrentHashMap.Node<V>[] var5) {
         super(var1, var2, var3, var4, var5);
      }

      class="kw">protected long invoke0() {
         this.quietlyInvoke();
         Throwable var2 = this.getException();
         if (var2 != null) {
            throw SneakyThrow.sneakyThrow(var2);
         } else {
            class="kw">return this.result;
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapEntry<V> class="kw">implements Int2ObjectConcurrentHashMap.Entry<V> {
      class="kw">public class="kw">final boolean empty;
      class="kw">public class="kw">final int key;
      class="kw">public V val;
      class="kw">public class="kw">final Int2ObjectConcurrentHashMap<V> map;

      class="kw">public MapEntry(boolean var1, int var2, V var3, Int2ObjectConcurrentHashMap<V> var4) {
         this.empty = var1;
         this.key = var2;
         this.val = var3;
         this.map = var4;
      }

      @Override
      class="kw">public boolean isEmpty() {
         class="kw">return this.empty;
      }

      @Override
      class="kw">public Integer getKey() {
         class="kw">return this.key;
      }

      @Override
      class="kw">public int getIntKey() {
         class="kw">return this.key;
      }

      @Override
      class="kw">public V getValue() {
         class="kw">return this.val;
      }

      @Override
      class="kw">public String toString() {
         class="kw">return this.empty ? "EMPTY=" + this.val : this.key + "=" + this.val;
      }

      @Override
      class="kw">public boolean equals(Object var1) {
         if (this == var1) {
            class="kw">return true;
         }

         if (var1 class="kw">instanceof Int2ObjectConcurrentHashMap.Entry) {
            if (this.empty != ((Int2ObjectConcurrentHashMap.Entry)var1).isEmpty()) {
               class="kw">return false;
            } else {
               class="kw">return !this.empty && this.key != ((Int2ObjectConcurrentHashMap.Entry)var1).getIntKey()
                  ? false
                  : this.val.equals(((Int2ObjectConcurrentHashMap.Entry)var1).getValue());
            }
         } else {
            class="kw">return false;
         }
      }

      @Override
      class="kw">public int hashCode() {
         int var1 = this.empty ? 1 : 0;
         var1 = 31 * var1 + Integer.hashCode(this.key);
         class="kw">return 31 * var1 + this.val.hashCode();
      }

      @Override
      class="kw">public V setValue(V var1) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Object var2 = this.val;
         this.val = var1;
         this.map.put(this.key, var1);
         class="kw">return var2;
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceEntriesTask<V, U> class="kw">extends Int2ObjectConcurrentHashMap.BulkTask<V, U> {
      class="kw">public class="kw">final Function<Int2ObjectConcurrentHashMap.Entry<V>, ? class="kw">extends U> transformer;
      class="kw">public class="kw">final BiFunction<? super U, ? super U, ? class="kw">extends U> reducer;
      class="kw">public U result;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceEntriesTask<V, U> rights;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceEntriesTask<V, U> nextRight;

      class="kw">public MapReduceEntriesTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Int2ObjectConcurrentHashMap.MapReduceEntriesTask<V, U> var6,
         Function<Int2ObjectConcurrentHashMap.Entry<V>, ? class="kw">extends U> var7,
         BiFunction<? super U, ? super U, ? class="kw">extends U> var8
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.reducer = var8;
      }

      @Override
      class="kw">public class="kw">final U getRawResult() {
         class="kw">return this.result;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Function var1 = this.transformer;
         if (this.transformer != null) {
            BiFunction var2 = this.reducer;
            if (this.reducer != null) {
               int var3 = this.baseIndex;

               while (this.batch > 0) {
                  int var4 = this.baseLimit;
                  int var5;
                  if ((var5 = this.baseLimit + var3 >>> 1) <= var3) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Int2ObjectConcurrentHashMap.MapReduceEntriesTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var5, var4, this.tab, this.rights, var1, var2
                     ))
                     .fork();
               }

               Object var9 = null;

               Int2ObjectConcurrentHashMap.Node var10;
               while ((var10 = this.advance()) != null) {
                  Object var12;
                  if ((var12 = (U)var1.apply(var10)) != null) {
                     var9 = var9 == null ? var12 : var2.apply(var9, var12);
                  }
               }

               this.result = var9;

               for (CountedCompleter var11 = this.firstComplete(); var11 != null; var11 = var11.nextComplete()) {
                  Int2ObjectConcurrentHashMap.MapReduceEntriesTask var13 = (Int2ObjectConcurrentHashMap.MapReduceEntriesTask<V, U>)var11;

                  for (Int2ObjectConcurrentHashMap.MapReduceEntriesTask var6 = var13.rights; var6 != null; var6 = var13.rights = var6.nextRight) {
                     Object var8 = var6.result;
                     if (var6.result != null) {
                        Object var7 = var13.result;
                        var13.result = var13.result == null ? var8 : var2.apply(var7, var8);
                     }
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceEntriesToDoubleTask<V> class="kw">extends Int2ObjectConcurrentHashMap.DoubleReturningBulkTask<V> {
      class="kw">public class="kw">final ToDoubleFunction<Int2ObjectConcurrentHashMap.Entry<V>> transformer;
      class="kw">public class="kw">final DoubleBinaryOperator reducer;
      class="kw">public class="kw">final double basis;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceEntriesToDoubleTask<V> rights;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceEntriesToDoubleTask<V> nextRight;

      class="kw">public MapReduceEntriesToDoubleTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Int2ObjectConcurrentHashMap.MapReduceEntriesToDoubleTask<V> var6,
         ToDoubleFunction<Int2ObjectConcurrentHashMap.Entry<V>> var7,
         double var8,
         DoubleBinaryOperator var10
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.basis = var8;
         this.reducer = var10;
      }

      class="kw">public class="kw">final Double getRawResult() {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         ToDoubleFunction var1 = this.transformer;
         if (this.transformer != null) {
            DoubleBinaryOperator var2 = this.reducer;
            if (this.reducer != null) {
               double var3 = this.basis;
               int var5 = this.baseIndex;

               while (this.batch > 0) {
                  int var6 = this.baseLimit;
                  int var7;
                  if ((var7 = this.baseLimit + var5 >>> 1) <= var5) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Int2ObjectConcurrentHashMap.MapReduceEntriesToDoubleTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var7, var6, this.tab, this.rights, var1, var3, var2
                     ))
                     .fork();
               }

               while ((var8 = this.advance()) != null) {
                  var3 = var2.applyAsDouble(var3, var1.applyAsDouble(var8));
               }

               this.result = var3;

               for (CountedCompleter var9 = this.firstComplete(); var9 != null; var9 = var9.nextComplete()) {
                  Int2ObjectConcurrentHashMap.MapReduceEntriesToDoubleTask var10 = (Int2ObjectConcurrentHashMap.MapReduceEntriesToDoubleTask<V>)var9;

                  for (Int2ObjectConcurrentHashMap.MapReduceEntriesToDoubleTask var11 = var10.rights; var11 != null; var11 = var10.rights = var11.nextRight) {
                     var10.result = var2.applyAsDouble(var10.result, var11.result);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceEntriesToIntTask<V> class="kw">extends Int2ObjectConcurrentHashMap.IntReturningBulkTask<V> {
      class="kw">public class="kw">final Int2ObjectConcurrentHashMap.ToIntFunction<Int2ObjectConcurrentHashMap.Entry<V>> transformer;
      class="kw">public class="kw">final IntBinaryOperator reducer;
      class="kw">public class="kw">final int basis;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceEntriesToIntTask<V> rights;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceEntriesToIntTask<V> nextRight;

      class="kw">public MapReduceEntriesToIntTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Int2ObjectConcurrentHashMap.MapReduceEntriesToIntTask<V> var6,
         Int2ObjectConcurrentHashMap.ToIntFunction<Int2ObjectConcurrentHashMap.Entry<V>> var7,
         int var8,
         IntBinaryOperator var9
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.basis = var8;
         this.reducer = var9;
      }

      class="kw">public class="kw">final Integer getRawResult() {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Int2ObjectConcurrentHashMap.ToIntFunction var1 = this.transformer;
         if (this.transformer != null) {
            IntBinaryOperator var2 = this.reducer;
            if (this.reducer != null) {
               int var3 = this.basis;
               int var4 = this.baseIndex;

               while (this.batch > 0) {
                  int var5 = this.baseLimit;
                  int var6;
                  if ((var6 = this.baseLimit + var4 >>> 1) <= var4) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Int2ObjectConcurrentHashMap.MapReduceEntriesToIntTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var6, var5, this.tab, this.rights, var1, var3, var2
                     ))
                     .fork();
               }

               while ((var7 = this.advance()) != null) {
                  var3 = var2.applyAsInt(var3, var1.applyAsInt(var7));
               }

               this.result = var3;

               for (CountedCompleter var8 = this.firstComplete(); var8 != null; var8 = var8.nextComplete()) {
                  Int2ObjectConcurrentHashMap.MapReduceEntriesToIntTask var9 = (Int2ObjectConcurrentHashMap.MapReduceEntriesToIntTask<V>)var8;

                  for (Int2ObjectConcurrentHashMap.MapReduceEntriesToIntTask var10 = var9.rights; var10 != null; var10 = var9.rights = var10.nextRight) {
                     var9.result = var2.applyAsInt(var9.result, var10.result);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceEntriesToLongTask<V> class="kw">extends Int2ObjectConcurrentHashMap.LongReturningBulkTask<V> {
      class="kw">public class="kw">final ToLongFunction<Int2ObjectConcurrentHashMap.Entry<V>> transformer;
      class="kw">public class="kw">final LongBinaryOperator reducer;
      class="kw">public class="kw">final long basis;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceEntriesToLongTask<V> rights;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceEntriesToLongTask<V> nextRight;

      class="kw">public MapReduceEntriesToLongTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Int2ObjectConcurrentHashMap.MapReduceEntriesToLongTask<V> var6,
         ToLongFunction<Int2ObjectConcurrentHashMap.Entry<V>> var7,
         long var8,
         LongBinaryOperator var10
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.basis = var8;
         this.reducer = var10;
      }

      class="kw">public class="kw">final Long getRawResult() {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         ToLongFunction var1 = this.transformer;
         if (this.transformer != null) {
            LongBinaryOperator var2 = this.reducer;
            if (this.reducer != null) {
               long var3 = this.basis;
               int var5 = this.baseIndex;

               while (this.batch > 0) {
                  int var6 = this.baseLimit;
                  int var7;
                  if ((var7 = this.baseLimit + var5 >>> 1) <= var5) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Int2ObjectConcurrentHashMap.MapReduceEntriesToLongTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var7, var6, this.tab, this.rights, var1, var3, var2
                     ))
                     .fork();
               }

               while ((var8 = this.advance()) != null) {
                  var3 = var2.applyAsLong(var3, var1.applyAsLong(var8));
               }

               this.result = var3;

               for (CountedCompleter var9 = this.firstComplete(); var9 != null; var9 = var9.nextComplete()) {
                  Int2ObjectConcurrentHashMap.MapReduceEntriesToLongTask var10 = (Int2ObjectConcurrentHashMap.MapReduceEntriesToLongTask<V>)var9;

                  for (Int2ObjectConcurrentHashMap.MapReduceEntriesToLongTask var11 = var10.rights; var11 != null; var11 = var10.rights = var11.nextRight) {
                     var10.result = var2.applyAsLong(var10.result, var11.result);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceKeysTask<V, U> class="kw">extends Int2ObjectConcurrentHashMap.BulkTask<V, U> {
      class="kw">public class="kw">final Int2ObjectConcurrentHashMap.IntFunction<? class="kw">extends U> transformer;
      class="kw">public class="kw">final BiFunction<? super U, ? super U, ? class="kw">extends U> reducer;
      class="kw">public U result;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceKeysTask<V, U> rights;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceKeysTask<V, U> nextRight;

      class="kw">public MapReduceKeysTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Int2ObjectConcurrentHashMap.MapReduceKeysTask<V, U> var6,
         Int2ObjectConcurrentHashMap.IntFunction<? class="kw">extends U> var7,
         BiFunction<? super U, ? super U, ? class="kw">extends U> var8
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.reducer = var8;
      }

      @Override
      class="kw">public class="kw">final U getRawResult() {
         class="kw">return this.result;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Int2ObjectConcurrentHashMap.IntFunction var1 = this.transformer;
         if (this.transformer != null) {
            BiFunction var2 = this.reducer;
            if (this.reducer != null) {
               int var3 = this.baseIndex;

               while (this.batch > 0) {
                  int var4 = this.baseLimit;
                  int var5;
                  if ((var5 = this.baseLimit + var3 >>> 1) <= var3) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Int2ObjectConcurrentHashMap.MapReduceKeysTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var5, var4, this.tab, this.rights, var1, var2
                     ))
                     .fork();
               }

               Object var9 = null;

               Int2ObjectConcurrentHashMap.Node var10;
               while ((var10 = this.advance()) != null) {
                  Object var12;
                  if ((var12 = (U)var1.apply(var10.key)) != null) {
                     var9 = var9 == null ? var12 : var2.apply(var9, var12);
                  }
               }

               this.result = var9;

               for (CountedCompleter var11 = this.firstComplete(); var11 != null; var11 = var11.nextComplete()) {
                  Int2ObjectConcurrentHashMap.MapReduceKeysTask var13 = (Int2ObjectConcurrentHashMap.MapReduceKeysTask<V, U>)var11;

                  for (Int2ObjectConcurrentHashMap.MapReduceKeysTask var6 = var13.rights; var6 != null; var6 = var13.rights = var6.nextRight) {
                     Object var8 = var6.result;
                     if (var6.result != null) {
                        Object var7 = var13.result;
                        var13.result = var13.result == null ? var8 : var2.apply(var7, var8);
                     }
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceKeysToDoubleTask<V> class="kw">extends Int2ObjectConcurrentHashMap.DoubleReturningBulkTask<V> {
      class="kw">public class="kw">final Int2ObjectConcurrentHashMap.IntToDoubleFunction transformer;
      class="kw">public class="kw">final DoubleBinaryOperator reducer;
      class="kw">public class="kw">final double basis;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceKeysToDoubleTask<V> rights;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceKeysToDoubleTask<V> nextRight;

      class="kw">public MapReduceKeysToDoubleTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Int2ObjectConcurrentHashMap.MapReduceKeysToDoubleTask<V> var6,
         Int2ObjectConcurrentHashMap.IntToDoubleFunction var7,
         double var8,
         DoubleBinaryOperator var10
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.basis = var8;
         this.reducer = var10;
      }

      class="kw">public class="kw">final Double getRawResult() {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Int2ObjectConcurrentHashMap.IntToDoubleFunction var1 = this.transformer;
         if (this.transformer != null) {
            DoubleBinaryOperator var2 = this.reducer;
            if (this.reducer != null) {
               double var3 = this.basis;
               int var5 = this.baseIndex;

               while (this.batch > 0) {
                  int var6 = this.baseLimit;
                  int var7;
                  if ((var7 = this.baseLimit + var5 >>> 1) <= var5) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Int2ObjectConcurrentHashMap.MapReduceKeysToDoubleTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var7, var6, this.tab, this.rights, var1, var3, var2
                     ))
                     .fork();
               }

               while ((var8 = this.advance()) != null) {
                  var3 = var2.applyAsDouble(var3, var1.applyAsDouble(var8.key));
               }

               this.result = var3;

               for (CountedCompleter var9 = this.firstComplete(); var9 != null; var9 = var9.nextComplete()) {
                  Int2ObjectConcurrentHashMap.MapReduceKeysToDoubleTask var10 = (Int2ObjectConcurrentHashMap.MapReduceKeysToDoubleTask<V>)var9;

                  for (Int2ObjectConcurrentHashMap.MapReduceKeysToDoubleTask var11 = var10.rights; var11 != null; var11 = var10.rights = var11.nextRight) {
                     var10.result = var2.applyAsDouble(var10.result, var11.result);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceKeysToIntTask<V> class="kw">extends Int2ObjectConcurrentHashMap.IntReturningBulkTask<V> {
      class="kw">public class="kw">final Int2ObjectConcurrentHashMap.IntToIntFunction transformer;
      class="kw">public class="kw">final IntBinaryOperator reducer;
      class="kw">public class="kw">final int basis;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceKeysToIntTask<V> rights;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceKeysToIntTask<V> nextRight;

      class="kw">public MapReduceKeysToIntTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Int2ObjectConcurrentHashMap.MapReduceKeysToIntTask<V> var6,
         Int2ObjectConcurrentHashMap.IntToIntFunction var7,
         int var8,
         IntBinaryOperator var9
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.basis = var8;
         this.reducer = var9;
      }

      class="kw">public class="kw">final Integer getRawResult() {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Int2ObjectConcurrentHashMap.IntToIntFunction var1 = this.transformer;
         if (this.transformer != null) {
            IntBinaryOperator var2 = this.reducer;
            if (this.reducer != null) {
               int var3 = this.basis;
               int var4 = this.baseIndex;

               while (this.batch > 0) {
                  int var5 = this.baseLimit;
                  int var6;
                  if ((var6 = this.baseLimit + var4 >>> 1) <= var4) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Int2ObjectConcurrentHashMap.MapReduceKeysToIntTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var6, var5, this.tab, this.rights, var1, var3, var2
                     ))
                     .fork();
               }

               while ((var7 = this.advance()) != null) {
                  var3 = var2.applyAsInt(var3, var1.applyAsInt(var7.key));
               }

               this.result = var3;

               for (CountedCompleter var8 = this.firstComplete(); var8 != null; var8 = var8.nextComplete()) {
                  Int2ObjectConcurrentHashMap.MapReduceKeysToIntTask var9 = (Int2ObjectConcurrentHashMap.MapReduceKeysToIntTask<V>)var8;

                  for (Int2ObjectConcurrentHashMap.MapReduceKeysToIntTask var10 = var9.rights; var10 != null; var10 = var9.rights = var10.nextRight) {
                     var9.result = var2.applyAsInt(var9.result, var10.result);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceKeysToLongTask<V> class="kw">extends Int2ObjectConcurrentHashMap.LongReturningBulkTask<V> {
      class="kw">public class="kw">final Int2ObjectConcurrentHashMap.IntToLongFunction transformer;
      class="kw">public class="kw">final LongBinaryOperator reducer;
      class="kw">public class="kw">final long basis;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceKeysToLongTask<V> rights;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceKeysToLongTask<V> nextRight;

      class="kw">public MapReduceKeysToLongTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Int2ObjectConcurrentHashMap.MapReduceKeysToLongTask<V> var6,
         Int2ObjectConcurrentHashMap.IntToLongFunction var7,
         long var8,
         LongBinaryOperator var10
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.basis = var8;
         this.reducer = var10;
      }

      class="kw">public class="kw">final Long getRawResult() {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Int2ObjectConcurrentHashMap.IntToLongFunction var1 = this.transformer;
         if (this.transformer != null) {
            LongBinaryOperator var2 = this.reducer;
            if (this.reducer != null) {
               long var3 = this.basis;
               int var5 = this.baseIndex;

               while (this.batch > 0) {
                  int var6 = this.baseLimit;
                  int var7;
                  if ((var7 = this.baseLimit + var5 >>> 1) <= var5) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Int2ObjectConcurrentHashMap.MapReduceKeysToLongTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var7, var6, this.tab, this.rights, var1, var3, var2
                     ))
                     .fork();
               }

               while ((var8 = this.advance()) != null) {
                  var3 = var2.applyAsLong(var3, var1.applyAsLong(var8.key));
               }

               this.result = var3;

               for (CountedCompleter var9 = this.firstComplete(); var9 != null; var9 = var9.nextComplete()) {
                  Int2ObjectConcurrentHashMap.MapReduceKeysToLongTask var10 = (Int2ObjectConcurrentHashMap.MapReduceKeysToLongTask<V>)var9;

                  for (Int2ObjectConcurrentHashMap.MapReduceKeysToLongTask var11 = var10.rights; var11 != null; var11 = var10.rights = var11.nextRight) {
                     var10.result = var2.applyAsLong(var10.result, var11.result);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceMappingsTask<V, U> class="kw">extends Int2ObjectConcurrentHashMap.BulkTask<V, U> {
      class="kw">public class="kw">final Int2ObjectConcurrentHashMap.IntObjFunction<? super V, ? class="kw">extends U> transformer;
      class="kw">public class="kw">final BiFunction<? super U, ? super U, ? class="kw">extends U> reducer;
      class="kw">public U result;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceMappingsTask<V, U> rights;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceMappingsTask<V, U> nextRight;

      class="kw">public MapReduceMappingsTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Int2ObjectConcurrentHashMap.MapReduceMappingsTask<V, U> var6,
         Int2ObjectConcurrentHashMap.IntObjFunction<? super V, ? class="kw">extends U> var7,
         BiFunction<? super U, ? super U, ? class="kw">extends U> var8
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.reducer = var8;
      }

      @Override
      class="kw">public class="kw">final U getRawResult() {
         class="kw">return this.result;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Int2ObjectConcurrentHashMap.IntObjFunction var1 = this.transformer;
         if (this.transformer != null) {
            BiFunction var2 = this.reducer;
            if (this.reducer != null) {
               int var3 = this.baseIndex;

               while (this.batch > 0) {
                  int var4 = this.baseLimit;
                  int var5;
                  if ((var5 = this.baseLimit + var3 >>> 1) <= var3) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Int2ObjectConcurrentHashMap.MapReduceMappingsTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var5, var4, this.tab, this.rights, var1, var2
                     ))
                     .fork();
               }

               Object var9 = null;

               Int2ObjectConcurrentHashMap.Node var10;
               while ((var10 = this.advance()) != null) {
                  Object var12;
                  if ((var12 = (U)var1.apply(var10.key, var10.val)) != null) {
                     var9 = var9 == null ? var12 : var2.apply(var9, var12);
                  }
               }

               this.result = var9;

               for (CountedCompleter var11 = this.firstComplete(); var11 != null; var11 = var11.nextComplete()) {
                  Int2ObjectConcurrentHashMap.MapReduceMappingsTask var13 = (Int2ObjectConcurrentHashMap.MapReduceMappingsTask<V, U>)var11;

                  for (Int2ObjectConcurrentHashMap.MapReduceMappingsTask var6 = var13.rights; var6 != null; var6 = var13.rights = var6.nextRight) {
                     Object var8 = var6.result;
                     if (var6.result != null) {
                        Object var7 = var13.result;
                        var13.result = var13.result == null ? var8 : var2.apply(var7, var8);
                     }
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceMappingsToDoubleTask<V> class="kw">extends Int2ObjectConcurrentHashMap.DoubleReturningBulkTask<V> {
      class="kw">public class="kw">final Int2ObjectConcurrentHashMap.ToDoubleIntObjFunction<? super V> transformer;
      class="kw">public class="kw">final DoubleBinaryOperator reducer;
      class="kw">public class="kw">final double basis;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceMappingsToDoubleTask<V> rights;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceMappingsToDoubleTask<V> nextRight;

      class="kw">public MapReduceMappingsToDoubleTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Int2ObjectConcurrentHashMap.MapReduceMappingsToDoubleTask<V> var6,
         Int2ObjectConcurrentHashMap.ToDoubleIntObjFunction<? super V> var7,
         double var8,
         DoubleBinaryOperator var10
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.basis = var8;
         this.reducer = var10;
      }

      class="kw">public class="kw">final Double getRawResult() {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Int2ObjectConcurrentHashMap.ToDoubleIntObjFunction var1 = this.transformer;
         if (this.transformer != null) {
            DoubleBinaryOperator var2 = this.reducer;
            if (this.reducer != null) {
               double var3 = this.basis;
               int var5 = this.baseIndex;

               while (this.batch > 0) {
                  int var6 = this.baseLimit;
                  int var7;
                  if ((var7 = this.baseLimit + var5 >>> 1) <= var5) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Int2ObjectConcurrentHashMap.MapReduceMappingsToDoubleTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var7, var6, this.tab, this.rights, var1, var3, var2
                     ))
                     .fork();
               }

               while ((var8 = this.advance()) != null) {
                  var3 = var2.applyAsDouble(var3, var1.applyAsDouble(var8.key, var8.val));
               }

               this.result = var3;

               for (CountedCompleter var9 = this.firstComplete(); var9 != null; var9 = var9.nextComplete()) {
                  Int2ObjectConcurrentHashMap.MapReduceMappingsToDoubleTask var10 = (Int2ObjectConcurrentHashMap.MapReduceMappingsToDoubleTask<V>)var9;

                  for (Int2ObjectConcurrentHashMap.MapReduceMappingsToDoubleTask var11 = var10.rights; var11 != null; var11 = var10.rights = var11.nextRight) {
                     var10.result = var2.applyAsDouble(var10.result, var11.result);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceMappingsToIntTask<V> class="kw">extends Int2ObjectConcurrentHashMap.IntReturningBulkTask<V> {
      class="kw">public class="kw">final Int2ObjectConcurrentHashMap.ToIntIntObjFunction<? super V> transformer;
      class="kw">public class="kw">final IntBinaryOperator reducer;
      class="kw">public class="kw">final int basis;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceMappingsToIntTask<V> rights;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceMappingsToIntTask<V> nextRight;

      class="kw">public MapReduceMappingsToIntTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Int2ObjectConcurrentHashMap.MapReduceMappingsToIntTask<V> var6,
         Int2ObjectConcurrentHashMap.ToIntIntObjFunction<? super V> var7,
         int var8,
         IntBinaryOperator var9
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.basis = var8;
         this.reducer = var9;
      }

      class="kw">public class="kw">final Integer getRawResult() {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Int2ObjectConcurrentHashMap.ToIntIntObjFunction var1 = this.transformer;
         if (this.transformer != null) {
            IntBinaryOperator var2 = this.reducer;
            if (this.reducer != null) {
               int var3 = this.basis;
               int var4 = this.baseIndex;

               while (this.batch > 0) {
                  int var5 = this.baseLimit;
                  int var6;
                  if ((var6 = this.baseLimit + var4 >>> 1) <= var4) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Int2ObjectConcurrentHashMap.MapReduceMappingsToIntTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var6, var5, this.tab, this.rights, var1, var3, var2
                     ))
                     .fork();
               }

               while ((var7 = this.advance()) != null) {
                  var3 = var2.applyAsInt(var3, var1.applyAsInt(var7.key, var7.val));
               }

               this.result = var3;

               for (CountedCompleter var8 = this.firstComplete(); var8 != null; var8 = var8.nextComplete()) {
                  Int2ObjectConcurrentHashMap.MapReduceMappingsToIntTask var9 = (Int2ObjectConcurrentHashMap.MapReduceMappingsToIntTask<V>)var8;

                  for (Int2ObjectConcurrentHashMap.MapReduceMappingsToIntTask var10 = var9.rights; var10 != null; var10 = var9.rights = var10.nextRight) {
                     var9.result = var2.applyAsInt(var9.result, var10.result);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceMappingsToLongTask<V> class="kw">extends Int2ObjectConcurrentHashMap.LongReturningBulkTask<V> {
      class="kw">public class="kw">final Int2ObjectConcurrentHashMap.ToLongIntObjFunction<? super V> transformer;
      class="kw">public class="kw">final LongBinaryOperator reducer;
      class="kw">public class="kw">final long basis;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceMappingsToLongTask<V> rights;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceMappingsToLongTask<V> nextRight;

      class="kw">public MapReduceMappingsToLongTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Int2ObjectConcurrentHashMap.MapReduceMappingsToLongTask<V> var6,
         Int2ObjectConcurrentHashMap.ToLongIntObjFunction<? super V> var7,
         long var8,
         LongBinaryOperator var10
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.basis = var8;
         this.reducer = var10;
      }

      class="kw">public class="kw">final Long getRawResult() {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Int2ObjectConcurrentHashMap.ToLongIntObjFunction var1 = this.transformer;
         if (this.transformer != null) {
            LongBinaryOperator var2 = this.reducer;
            if (this.reducer != null) {
               long var3 = this.basis;
               int var5 = this.baseIndex;

               while (this.batch > 0) {
                  int var6 = this.baseLimit;
                  int var7;
                  if ((var7 = this.baseLimit + var5 >>> 1) <= var5) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Int2ObjectConcurrentHashMap.MapReduceMappingsToLongTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var7, var6, this.tab, this.rights, var1, var3, var2
                     ))
                     .fork();
               }

               while ((var8 = this.advance()) != null) {
                  var3 = var2.applyAsLong(var3, var1.applyAsLong(var8.key, var8.val));
               }

               this.result = var3;

               for (CountedCompleter var9 = this.firstComplete(); var9 != null; var9 = var9.nextComplete()) {
                  Int2ObjectConcurrentHashMap.MapReduceMappingsToLongTask var10 = (Int2ObjectConcurrentHashMap.MapReduceMappingsToLongTask<V>)var9;

                  for (Int2ObjectConcurrentHashMap.MapReduceMappingsToLongTask var11 = var10.rights; var11 != null; var11 = var10.rights = var11.nextRight) {
                     var10.result = var2.applyAsLong(var10.result, var11.result);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceValuesTask<V, U> class="kw">extends Int2ObjectConcurrentHashMap.BulkTask<V, U> {
      class="kw">public class="kw">final Function<? super V, ? class="kw">extends U> transformer;
      class="kw">public class="kw">final BiFunction<? super U, ? super U, ? class="kw">extends U> reducer;
      class="kw">public U result;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceValuesTask<V, U> rights;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceValuesTask<V, U> nextRight;

      class="kw">public MapReduceValuesTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Int2ObjectConcurrentHashMap.MapReduceValuesTask<V, U> var6,
         Function<? super V, ? class="kw">extends U> var7,
         BiFunction<? super U, ? super U, ? class="kw">extends U> var8
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.reducer = var8;
      }

      @Override
      class="kw">public class="kw">final U getRawResult() {
         class="kw">return this.result;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Function var1 = this.transformer;
         if (this.transformer != null) {
            BiFunction var2 = this.reducer;
            if (this.reducer != null) {
               int var3 = this.baseIndex;

               while (this.batch > 0) {
                  int var4 = this.baseLimit;
                  int var5;
                  if ((var5 = this.baseLimit + var3 >>> 1) <= var3) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Int2ObjectConcurrentHashMap.MapReduceValuesTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var5, var4, this.tab, this.rights, var1, var2
                     ))
                     .fork();
               }

               Object var9 = null;

               Int2ObjectConcurrentHashMap.Node var10;
               while ((var10 = this.advance()) != null) {
                  Object var12;
                  if ((var12 = (U)var1.apply(var10.val)) != null) {
                     var9 = var9 == null ? var12 : var2.apply(var9, var12);
                  }
               }

               this.result = var9;

               for (CountedCompleter var11 = this.firstComplete(); var11 != null; var11 = var11.nextComplete()) {
                  Int2ObjectConcurrentHashMap.MapReduceValuesTask var13 = (Int2ObjectConcurrentHashMap.MapReduceValuesTask<V, U>)var11;

                  for (Int2ObjectConcurrentHashMap.MapReduceValuesTask var6 = var13.rights; var6 != null; var6 = var13.rights = var6.nextRight) {
                     Object var8 = var6.result;
                     if (var6.result != null) {
                        Object var7 = var13.result;
                        var13.result = var13.result == null ? var8 : var2.apply(var7, var8);
                     }
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceValuesToDoubleTask<V> class="kw">extends Int2ObjectConcurrentHashMap.DoubleReturningBulkTask<V> {
      class="kw">public class="kw">final ToDoubleFunction<? super V> transformer;
      class="kw">public class="kw">final DoubleBinaryOperator reducer;
      class="kw">public class="kw">final double basis;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceValuesToDoubleTask<V> rights;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceValuesToDoubleTask<V> nextRight;

      class="kw">public MapReduceValuesToDoubleTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Int2ObjectConcurrentHashMap.MapReduceValuesToDoubleTask<V> var6,
         ToDoubleFunction<? super V> var7,
         double var8,
         DoubleBinaryOperator var10
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.basis = var8;
         this.reducer = var10;
      }

      class="kw">public class="kw">final Double getRawResult() {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         ToDoubleFunction var1 = this.transformer;
         if (this.transformer != null) {
            DoubleBinaryOperator var2 = this.reducer;
            if (this.reducer != null) {
               double var3 = this.basis;
               int var5 = this.baseIndex;

               while (this.batch > 0) {
                  int var6 = this.baseLimit;
                  int var7;
                  if ((var7 = this.baseLimit + var5 >>> 1) <= var5) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Int2ObjectConcurrentHashMap.MapReduceValuesToDoubleTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var7, var6, this.tab, this.rights, var1, var3, var2
                     ))
                     .fork();
               }

               while ((var8 = this.advance()) != null) {
                  var3 = var2.applyAsDouble(var3, var1.applyAsDouble(var8.val));
               }

               this.result = var3;

               for (CountedCompleter var9 = this.firstComplete(); var9 != null; var9 = var9.nextComplete()) {
                  Int2ObjectConcurrentHashMap.MapReduceValuesToDoubleTask var10 = (Int2ObjectConcurrentHashMap.MapReduceValuesToDoubleTask<V>)var9;

                  for (Int2ObjectConcurrentHashMap.MapReduceValuesToDoubleTask var11 = var10.rights; var11 != null; var11 = var10.rights = var11.nextRight) {
                     var10.result = var2.applyAsDouble(var10.result, var11.result);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceValuesToIntTask<V> class="kw">extends Int2ObjectConcurrentHashMap.IntReturningBulkTask<V> {
      class="kw">public class="kw">final Int2ObjectConcurrentHashMap.ToIntFunction<? super V> transformer;
      class="kw">public class="kw">final IntBinaryOperator reducer;
      class="kw">public class="kw">final int basis;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceValuesToIntTask<V> rights;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceValuesToIntTask<V> nextRight;

      class="kw">public MapReduceValuesToIntTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Int2ObjectConcurrentHashMap.MapReduceValuesToIntTask<V> var6,
         Int2ObjectConcurrentHashMap.ToIntFunction<? super V> var7,
         int var8,
         IntBinaryOperator var9
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.basis = var8;
         this.reducer = var9;
      }

      class="kw">public class="kw">final Integer getRawResult() {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Int2ObjectConcurrentHashMap.ToIntFunction var1 = this.transformer;
         if (this.transformer != null) {
            IntBinaryOperator var2 = this.reducer;
            if (this.reducer != null) {
               int var3 = this.basis;
               int var4 = this.baseIndex;

               while (this.batch > 0) {
                  int var5 = this.baseLimit;
                  int var6;
                  if ((var6 = this.baseLimit + var4 >>> 1) <= var4) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Int2ObjectConcurrentHashMap.MapReduceValuesToIntTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var6, var5, this.tab, this.rights, var1, var3, var2
                     ))
                     .fork();
               }

               while ((var7 = this.advance()) != null) {
                  var3 = var2.applyAsInt(var3, var1.applyAsInt(var7.val));
               }

               this.result = var3;

               for (CountedCompleter var8 = this.firstComplete(); var8 != null; var8 = var8.nextComplete()) {
                  Int2ObjectConcurrentHashMap.MapReduceValuesToIntTask var9 = (Int2ObjectConcurrentHashMap.MapReduceValuesToIntTask<V>)var8;

                  for (Int2ObjectConcurrentHashMap.MapReduceValuesToIntTask var10 = var9.rights; var10 != null; var10 = var9.rights = var10.nextRight) {
                     var9.result = var2.applyAsInt(var9.result, var10.result);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class MapReduceValuesToLongTask<V> class="kw">extends Int2ObjectConcurrentHashMap.LongReturningBulkTask<V> {
      class="kw">public class="kw">final ToLongFunction<? super V> transformer;
      class="kw">public class="kw">final LongBinaryOperator reducer;
      class="kw">public class="kw">final long basis;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceValuesToLongTask<V> rights;
      class="kw">public Int2ObjectConcurrentHashMap.MapReduceValuesToLongTask<V> nextRight;

      class="kw">public MapReduceValuesToLongTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Int2ObjectConcurrentHashMap.MapReduceValuesToLongTask<V> var6,
         ToLongFunction<? super V> var7,
         long var8,
         LongBinaryOperator var10
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.transformer = var7;
         this.basis = var8;
         this.reducer = var10;
      }

      class="kw">public class="kw">final Long getRawResult() {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         ToLongFunction var1 = this.transformer;
         if (this.transformer != null) {
            LongBinaryOperator var2 = this.reducer;
            if (this.reducer != null) {
               long var3 = this.basis;
               int var5 = this.baseIndex;

               while (this.batch > 0) {
                  int var6 = this.baseLimit;
                  int var7;
                  if ((var7 = this.baseLimit + var5 >>> 1) <= var5) {
                     break;
                  }

                  this.addToPendingCount(1);
                  (this.rights = new Int2ObjectConcurrentHashMap.MapReduceValuesToLongTask<>(
                        this, this.batch >>>= 1, this.baseLimit = var7, var6, this.tab, this.rights, var1, var3, var2
                     ))
                     .fork();
               }

               while ((var8 = this.advance()) != null) {
                  var3 = var2.applyAsLong(var3, var1.applyAsLong(var8.val));
               }

               this.result = var3;

               for (CountedCompleter var9 = this.firstComplete(); var9 != null; var9 = var9.nextComplete()) {
                  Int2ObjectConcurrentHashMap.MapReduceValuesToLongTask var10 = (Int2ObjectConcurrentHashMap.MapReduceValuesToLongTask<V>)var9;

                  for (Int2ObjectConcurrentHashMap.MapReduceValuesToLongTask var11 = var10.rights; var11 != null; var11 = var10.rights = var11.nextRight) {
                     var10.result = var2.applyAsLong(var10.result, var11.result);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class Node<V> class="kw">implements Int2ObjectConcurrentHashMap.Entry<V> {
      class="kw">public class="kw">final int EMPTY;
      class="kw">public class="kw">final int hash;
      class="kw">public class="kw">final int key;
      class="kw">public class="kw">volatile V val;
      class="kw">public class="kw">volatile Int2ObjectConcurrentHashMap.Node<V> next;

      class="kw">public Node(int var1, int var2, int var3, V var4, Int2ObjectConcurrentHashMap.Node<V> var5) {
         this.EMPTY = var1;
         this.hash = var2;
         this.key = var3;
         this.val = var4;
         this.next = var5;
      }

      @Override
      class="kw">public class="kw">final boolean isEmpty() {
         class="kw">return this.key == this.EMPTY;
      }

      @Override
      class="kw">public class="kw">final Integer getKey() {
         class="kw">return this.key;
      }

      @Override
      class="kw">public class="kw">final int getIntKey() {
         class="kw">return this.key;
      }

      @Override
      class="kw">public class="kw">final V getValue() {
         class="kw">return this.val;
      }

      @Override
      class="kw">public class="kw">final int hashCode() {
         class="kw">return Integer.hashCode(this.key) ^ this.val.hashCode();
      }

      @Override
      class="kw">public class="kw">final String toString() {
         class="kw">return this.isEmpty() ? "EMPTY=" + this.val : this.key + "=" + this.val;
      }

      @Override
      class="kw">public class="kw">final V setValue(V var1) {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final boolean equals(Object var1) {
         boolean var2 = this.isEmpty();
         if (var1 class="kw">instanceof Int2ObjectConcurrentHashMap.Entry) {
            if (var2 != ((Int2ObjectConcurrentHashMap.Entry)var1).isEmpty()) {
               class="kw">return false;
            } else {
               class="kw">return !var2 && this.key != ((Int2ObjectConcurrentHashMap.Entry)var1).getIntKey()
                  ? false
                  : this.val.equals(((Int2ObjectConcurrentHashMap.Entry)var1).getValue());
            }
         } else {
            class="kw">return false;
         }
      }

      class="kw">protected Int2ObjectConcurrentHashMap.Node<V> find(int var1, int var2) {
         Int2ObjectConcurrentHashMap.Node var3 = this;
         if (var2 != this.EMPTY) {
            do {
               if (var3.hash == var1) {
                  int var4 = var3.key;
                  if (var3.key == var2 || var4 != this.EMPTY && var2 == var4) {
                     class="kw">return var3;
                  }
               }
            } while ((var3 = var3.next) != null);
         }

         class="kw">return null;
      }
   }

   class="kw">protected class="kw">static class="kw">final class ReduceEntriesTask<V> class="kw">extends Int2ObjectConcurrentHashMap.BulkTask<V, Int2ObjectConcurrentHashMap.Entry<V>> {
      class="kw">public class="kw">final BiFunction<Int2ObjectConcurrentHashMap.Entry<V>, Int2ObjectConcurrentHashMap.Entry<V>, ? class="kw">extends Int2ObjectConcurrentHashMap.Entry<V>> reducer;
      class="kw">public Int2ObjectConcurrentHashMap.Entry<V> result;
      class="kw">public Int2ObjectConcurrentHashMap.ReduceEntriesTask<V> rights;
      class="kw">public Int2ObjectConcurrentHashMap.ReduceEntriesTask<V> nextRight;

      class="kw">public ReduceEntriesTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Int2ObjectConcurrentHashMap.ReduceEntriesTask<V> var6,
         BiFunction<Int2ObjectConcurrentHashMap.Entry<V>, Int2ObjectConcurrentHashMap.Entry<V>, ? class="kw">extends Int2ObjectConcurrentHashMap.Entry<V>> var7
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.reducer = var7;
      }

      class="kw">public class="kw">final Int2ObjectConcurrentHashMap.Entry<V> getRawResult() {
         class="kw">return this.result;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         BiFunction var1 = this.reducer;
         if (this.reducer != null) {
            int var2 = this.baseIndex;

            while (this.batch > 0) {
               int var3 = this.baseLimit;
               int var4;
               if ((var4 = this.baseLimit + var2 >>> 1) <= var2) {
                  break;
               }

               this.addToPendingCount(1);
               (this.rights = new Int2ObjectConcurrentHashMap.ReduceEntriesTask<>(
                     this, this.batch >>>= 1, this.baseLimit = var4, var3, this.tab, this.rights, var1
                  ))
                  .fork();
            }

            Int2ObjectConcurrentHashMap.Entry var8 = null;

            Int2ObjectConcurrentHashMap.Node var9;
            while ((var9 = this.advance()) != null) {
               var8 = var8 == null ? var9 : var1.apply(var8, var9);
            }

            this.result = var8;

            for (CountedCompleter var10 = this.firstComplete(); var10 != null; var10 = var10.nextComplete()) {
               Int2ObjectConcurrentHashMap.ReduceEntriesTask var11 = (Int2ObjectConcurrentHashMap.ReduceEntriesTask<V>)var10;

               for (Int2ObjectConcurrentHashMap.ReduceEntriesTask var5 = var11.rights; var5 != null; var5 = var11.rights = var5.nextRight) {
                  Int2ObjectConcurrentHashMap.Entry var7 = var5.result;
                  if (var5.result != null) {
                     Int2ObjectConcurrentHashMap.Entry var6 = var11.result;
                     var11.result = var11.result == null ? var7 : var1.apply(var6, var7);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class ReduceKeysTask<V> class="kw">extends Int2ObjectConcurrentHashMap.IntegerReturningBulkTask2<V> {
      class="kw">public class="kw">final int EMPTY;
      class="kw">public class="kw">final Int2ObjectConcurrentHashMap.IntegerReduceTaskOperator reducer;
      class="kw">public Int2ObjectConcurrentHashMap.ReduceKeysTask<V> rights;
      class="kw">public Int2ObjectConcurrentHashMap.ReduceKeysTask<V> nextRight;

      class="kw">public ReduceKeysTask(
         int var1,
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var2,
         int var3,
         int var4,
         int var5,
         Int2ObjectConcurrentHashMap.Node<V>[] var6,
         Int2ObjectConcurrentHashMap.ReduceKeysTask<V> var7,
         Int2ObjectConcurrentHashMap.IntegerReduceTaskOperator var8
      ) {
         super(var2, var3, var4, var5, var6);
         this.nextRight = var7;
         this.EMPTY = var1;
         this.reducer = var8;
      }

      class="kw">public class="kw">final Integer getRawResult() {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Int2ObjectConcurrentHashMap.IntegerReduceTaskOperator var1 = this.reducer;
         if (this.reducer != null) {
            int var2 = this.baseIndex;

            while (this.batch > 0) {
               int var3 = this.baseLimit;
               int var4;
               if ((var4 = this.baseLimit + var2 >>> 1) <= var2) {
                  break;
               }

               this.addToPendingCount(1);
               (this.rights = new Int2ObjectConcurrentHashMap.ReduceKeysTask<>(
                     this.EMPTY, this, this.batch >>>= 1, this.baseLimit = var4, var3, this.tab, this.rights, var1
                  ))
                  .fork();
            }

            boolean var9 = false;
            int var10 = this.EMPTY;

            Int2ObjectConcurrentHashMap.Node var11;
            while ((var11 = this.advance()) != null) {
               int var5 = var11.key;
               if (!var9) {
                  var9 = true;
                  var10 = var5;
               } else if (!var11.isEmpty()) {
                  var9 = true;
                  var10 = var1.reduce(this.EMPTY, var10, var5);
               }
            }

            this.result = var10;

            for (CountedCompleter var12 = this.firstComplete(); var12 != null; var12 = var12.nextComplete()) {
               Int2ObjectConcurrentHashMap.ReduceKeysTask var13 = (Int2ObjectConcurrentHashMap.ReduceKeysTask<V>)var12;

               for (Int2ObjectConcurrentHashMap.ReduceKeysTask var6 = var13.rights; var6 != null; var6 = var13.rights = var6.nextRight) {
                  int var8 = var6.result;
                  if (var6.result != this.EMPTY) {
                     int var7 = var13.result;
                     var13.result = var13.result == this.EMPTY ? var8 : var1.reduce(this.EMPTY, var7, var8);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class ReduceValuesTask<V> class="kw">extends Int2ObjectConcurrentHashMap.BulkTask<V, V> {
      class="kw">public class="kw">final BiFunction<? super V, ? super V, ? class="kw">extends V> reducer;
      class="kw">public V result;
      class="kw">public Int2ObjectConcurrentHashMap.ReduceValuesTask<V> rights;
      class="kw">public Int2ObjectConcurrentHashMap.ReduceValuesTask<V> nextRight;

      class="kw">public ReduceValuesTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Int2ObjectConcurrentHashMap.ReduceValuesTask<V> var6,
         BiFunction<? super V, ? super V, ? class="kw">extends V> var7
      ) {
         super(var1, var2, var3, var4, var5);
         this.nextRight = var6;
         this.reducer = var7;
      }

      @Override
      class="kw">public class="kw">final V getRawResult() {
         class="kw">return this.result;
      }

      @Override
      class="kw">public class="kw">final void compute() {
         BiFunction var1 = this.reducer;
         if (this.reducer != null) {
            int var2 = this.baseIndex;

            while (this.batch > 0) {
               int var3 = this.baseLimit;
               int var4;
               if ((var4 = this.baseLimit + var2 >>> 1) <= var2) {
                  break;
               }

               this.addToPendingCount(1);
               (this.rights = new Int2ObjectConcurrentHashMap.ReduceValuesTask<>(
                     this, this.batch >>>= 1, this.baseLimit = var4, var3, this.tab, this.rights, var1
                  ))
                  .fork();
            }

            Object var8 = null;

            Int2ObjectConcurrentHashMap.Node var9;
            while ((var9 = this.advance()) != null) {
               Object var11 = var9.val;
               var8 = var8 == null ? var11 : var1.apply(var8, var11);
            }

            this.result = var8;

            for (CountedCompleter var10 = this.firstComplete(); var10 != null; var10 = var10.nextComplete()) {
               Int2ObjectConcurrentHashMap.ReduceValuesTask var12 = (Int2ObjectConcurrentHashMap.ReduceValuesTask<V>)var10;

               for (Int2ObjectConcurrentHashMap.ReduceValuesTask var5 = var12.rights; var5 != null; var5 = var12.rights = var5.nextRight) {
                  Object var7 = var5.result;
                  if (var5.result != null) {
                     Object var6 = var12.result;
                     var12.result = var12.result == null ? var7 : var1.apply(var6, var7);
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class ReservationNode<V> class="kw">extends Int2ObjectConcurrentHashMap.Node<V> {
      class="kw">public ReservationNode(int var1) {
         super(var1, -3, var1, null, null);
      }

      @Override
      class="kw">protected Int2ObjectConcurrentHashMap.Node<V> find(int var1, int var2) {
         class="kw">return null;
      }
   }

   class="kw">protected class="kw">static class="kw">final class SearchEntriesTask<V, U> class="kw">extends Int2ObjectConcurrentHashMap.BulkTask<V, U> {
      class="kw">public class="kw">final Function<Int2ObjectConcurrentHashMap.Entry<V>, ? class="kw">extends U> searchFunction;
      class="kw">public class="kw">final AtomicReference<U> result;

      class="kw">public SearchEntriesTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Function<Int2ObjectConcurrentHashMap.Entry<V>, ? class="kw">extends U> var6,
         AtomicReference<U> var7
      ) {
         super(var1, var2, var3, var4, var5);
         this.searchFunction = var6;
         this.result = var7;
      }

      @Override
      class="kw">public class="kw">final U getRawResult() {
         class="kw">return this.result.get();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Function var1 = this.searchFunction;
         if (this.searchFunction != null) {
            AtomicReference var2 = this.result;
            if (this.result != null) {
               int var3 = this.baseIndex;

               while (this.batch > 0) {
                  int var4 = this.baseLimit;
                  int var5;
                  if ((var5 = this.baseLimit + var3 >>> 1) <= var3) {
                     break;
                  }

                  if (var2.get() != null) {
                     class="kw">return;
                  }

                  this.addToPendingCount(1);
                  new Int2ObjectConcurrentHashMap.SearchEntriesTask<>(this, this.batch >>>= 1, this.baseLimit = var5, var4, this.tab, var1, var2).fork();
               }

               while (var2.get() == null) {
                  Int2ObjectConcurrentHashMap.Node var7;
                  if ((var7 = this.advance()) == null) {
                     this.propagateCompletion();
                     break;
                  }

                  Object var6;
                  if ((var6 = (U)var1.apply(var7)) != null) {
                     if (var2.compareAndSet(null, var6)) {
                        this.quietlyCompleteRoot();
                     }

                     class="kw">return;
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class SearchKeysTask<V, U> class="kw">extends Int2ObjectConcurrentHashMap.BulkTask<V, U> {
      class="kw">public class="kw">final Int2ObjectConcurrentHashMap.IntFunction<? class="kw">extends U> searchFunction;
      class="kw">public class="kw">final AtomicReference<U> result;

      class="kw">public SearchKeysTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Int2ObjectConcurrentHashMap.IntFunction<? class="kw">extends U> var6,
         AtomicReference<U> var7
      ) {
         super(var1, var2, var3, var4, var5);
         this.searchFunction = var6;
         this.result = var7;
      }

      @Override
      class="kw">public class="kw">final U getRawResult() {
         class="kw">return this.result.get();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Int2ObjectConcurrentHashMap.IntFunction var1 = this.searchFunction;
         if (this.searchFunction != null) {
            AtomicReference var2 = this.result;
            if (this.result != null) {
               int var3 = this.baseIndex;

               while (this.batch > 0) {
                  int var4 = this.baseLimit;
                  int var5;
                  if ((var5 = this.baseLimit + var3 >>> 1) <= var3) {
                     break;
                  }

                  if (var2.get() != null) {
                     class="kw">return;
                  }

                  this.addToPendingCount(1);
                  new Int2ObjectConcurrentHashMap.SearchKeysTask<>(this, this.batch >>>= 1, this.baseLimit = var5, var4, this.tab, var1, var2).fork();
               }

               while (var2.get() == null) {
                  Int2ObjectConcurrentHashMap.Node var7;
                  if ((var7 = this.advance()) == null) {
                     this.propagateCompletion();
                     break;
                  }

                  Object var6;
                  if ((var6 = (U)var1.apply(var7.key)) != null) {
                     if (var2.compareAndSet(null, var6)) {
                        this.quietlyCompleteRoot();
                     }
                     break;
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class SearchMappingsTask<V, U> class="kw">extends Int2ObjectConcurrentHashMap.BulkTask<V, U> {
      class="kw">public class="kw">final Int2ObjectConcurrentHashMap.IntObjFunction<? super V, ? class="kw">extends U> searchFunction;
      class="kw">public class="kw">final AtomicReference<U> result;

      class="kw">public SearchMappingsTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Int2ObjectConcurrentHashMap.IntObjFunction<? super V, ? class="kw">extends U> var6,
         AtomicReference<U> var7
      ) {
         super(var1, var2, var3, var4, var5);
         this.searchFunction = var6;
         this.result = var7;
      }

      @Override
      class="kw">public class="kw">final U getRawResult() {
         class="kw">return this.result.get();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Int2ObjectConcurrentHashMap.IntObjFunction var1 = this.searchFunction;
         if (this.searchFunction != null) {
            AtomicReference var2 = this.result;
            if (this.result != null) {
               int var3 = this.baseIndex;

               while (this.batch > 0) {
                  int var4 = this.baseLimit;
                  int var5;
                  if ((var5 = this.baseLimit + var3 >>> 1) <= var3) {
                     break;
                  }

                  if (var2.get() != null) {
                     class="kw">return;
                  }

                  this.addToPendingCount(1);
                  new Int2ObjectConcurrentHashMap.SearchMappingsTask<>(this, this.batch >>>= 1, this.baseLimit = var5, var4, this.tab, var1, var2).fork();
               }

               while (var2.get() == null) {
                  Int2ObjectConcurrentHashMap.Node var7;
                  if ((var7 = this.advance()) == null) {
                     this.propagateCompletion();
                     break;
                  }

                  Object var6;
                  if ((var6 = (U)var1.apply(var7.key, var7.val)) != null) {
                     if (var2.compareAndSet(null, var6)) {
                        this.quietlyCompleteRoot();
                     }
                     break;
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class SearchValuesTask<V, U> class="kw">extends Int2ObjectConcurrentHashMap.BulkTask<V, U> {
      class="kw">public class="kw">final Function<? super V, ? class="kw">extends U> searchFunction;
      class="kw">public class="kw">final AtomicReference<U> result;

      class="kw">public SearchValuesTask(
         Int2ObjectConcurrentHashMap.BulkTask<V, ?> var1,
         int var2,
         int var3,
         int var4,
         Int2ObjectConcurrentHashMap.Node<V>[] var5,
         Function<? super V, ? class="kw">extends U> var6,
         AtomicReference<U> var7
      ) {
         super(var1, var2, var3, var4, var5);
         this.searchFunction = var6;
         this.result = var7;
      }

      @Override
      class="kw">public class="kw">final U getRawResult() {
         class="kw">return this.result.get();
      }

      @Override
      class="kw">public class="kw">final void compute() {
         Function var1 = this.searchFunction;
         if (this.searchFunction != null) {
            AtomicReference var2 = this.result;
            if (this.result != null) {
               int var3 = this.baseIndex;

               while (this.batch > 0) {
                  int var4 = this.baseLimit;
                  int var5;
                  if ((var5 = this.baseLimit + var3 >>> 1) <= var3) {
                     break;
                  }

                  if (var2.get() != null) {
                     class="kw">return;
                  }

                  this.addToPendingCount(1);
                  new Int2ObjectConcurrentHashMap.SearchValuesTask<>(this, this.batch >>>= 1, this.baseLimit = var5, var4, this.tab, var1, var2).fork();
               }

               while (var2.get() == null) {
                  Int2ObjectConcurrentHashMap.Node var7;
                  if ((var7 = this.advance()) == null) {
                     this.propagateCompletion();
                     break;
                  }

                  Object var6;
                  if ((var6 = (U)var1.apply(var7.val)) != null) {
                     if (var2.compareAndSet(null, var6)) {
                        this.quietlyCompleteRoot();
                     }
                     break;
                  }
               }
            }
         }
      }
   }

   class="kw">protected class="kw">static class Segment<V> class="kw">extends ReentrantLock class="kw">implements Serializable {
      class="kw">public class="kw">static class="kw">final long serialVersionUID = 2249069246763182397L;
      class="kw">public class="kw">final float loadFactor;

      class="kw">public Segment(float var1) {
         this.loadFactor = var1;
      }
   }

   class="kw">protected class="kw">static class="kw">final class TableStack<V> {
      class="kw">public int length;
      class="kw">public int index;
      class="kw">public Int2ObjectConcurrentHashMap.Node<V>[] tab;
      class="kw">public Int2ObjectConcurrentHashMap.TableStack<V> next;

      class="kw">public TableStack() {
      }
   }

   @FunctionalInterface
   class="kw">public class="kw">interface ToDoubleIntObjFunction<V> {
      double applyAsDouble(int var1, V var2);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface ToIntFunction<T> {
      int applyAsInt(T var1);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface ToIntIntObjFunction<V> {
      int applyAsInt(int var1, V var2);
   }

   @FunctionalInterface
   class="kw">public class="kw">interface ToLongIntObjFunction<V> {
      long applyAsLong(int var1, V var2);
   }

   class="kw">protected class="kw">static class Traverser<V> {
      class="kw">public Int2ObjectConcurrentHashMap.Node<V>[] tab;
      class="kw">public Int2ObjectConcurrentHashMap.Node<V> next;
      class="kw">public Int2ObjectConcurrentHashMap.TableStack<V> stack;
      class="kw">public Int2ObjectConcurrentHashMap.TableStack<V> spare;
      class="kw">public int index;
      class="kw">public int baseIndex;
      class="kw">public int baseLimit;
      class="kw">public class="kw">final int baseSize;

      class="kw">public Traverser(Int2ObjectConcurrentHashMap.Node<V>[] var1, int var2, int var3, int var4) {
         this.tab = var1;
         this.baseSize = var2;
         this.baseIndex = this.index = var3;
         this.baseLimit = var4;
         this.next = null;
      }

      class="kw">protected class="kw">final Int2ObjectConcurrentHashMap.Node<V> advance() {
         Int2ObjectConcurrentHashMap.Node var1 = this.next;
         if (this.next != null) {
            var1 = var1.next;
         }

         while (true) {
            if (var1 != null) {
               class="kw">return this.next = var1;
            }

            if (this.baseIndex >= this.baseLimit) {
               break;
            }

            Int2ObjectConcurrentHashMap.Node[] var2 = this.tab;
            if (this.tab == null) {
               break;
            }

            int var4;
            int var10000 = var4 = var2.length;
            int var3 = this.index;
            if (var10000 <= this.index || var3 < 0) {
               break;
            }

            if ((var1 = Int2ObjectConcurrentHashMap.tabAt(var2, var3)) != null && var1.hash < 0) {
               if (var1 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                  this.tab = ((Int2ObjectConcurrentHashMap.ForwardingNode)var1).nextTable;
                  var1 = null;
                  this.pushState(var2, var3, var4);
                  class="kw">continue;
               }

               if (var1 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                  var1 = ((Int2ObjectConcurrentHashMap.TreeBin)var1).first;
               } else {
                  var1 = null;
               }
            }

            if (this.stack != null) {
               this.recoverState(var4);
            } else if ((this.index = var3 + this.baseSize) >= var4) {
               this.index = ++this.baseIndex;
            }
         }

         class="kw">return this.next = null;
      }

      class="kw">protected void pushState(Int2ObjectConcurrentHashMap.Node<V>[] var1, int var2, int var3) {
         Int2ObjectConcurrentHashMap.TableStack var4 = this.spare;
         if (var4 != null) {
            this.spare = var4.next;
         } else {
            var4 = new Int2ObjectConcurrentHashMap.TableStack<>();
         }

         var4.tab = var1;
         var4.length = var3;
         var4.index = var2;
         var4.next = this.stack;
         this.stack = var4;
      }

      class="kw">protected void recoverState(int var1) {
         while (true) {
            Int2ObjectConcurrentHashMap.TableStack var2 = this.stack;
            if (this.stack != null) {
               int var3 = var2.length;
               if ((this.index = this.index + var2.length) >= var1) {
                  var1 = var3;
                  this.index = var2.index;
                  this.tab = var2.tab;
                  var2.tab = null;
                  Int2ObjectConcurrentHashMap.TableStack var4 = var2.next;
                  var2.next = this.spare;
                  this.stack = var4;
                  this.spare = var2;
                  class="kw">continue;
               }
            }

            if (var2 == null && (this.index = this.index + this.baseSize) >= var1) {
               this.index = ++this.baseIndex;
            }

            class="kw">return;
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class TreeBin<V> class="kw">extends Int2ObjectConcurrentHashMap.Node<V> {
      class="kw">public Int2ObjectConcurrentHashMap.TreeNode<V> root;
      class="kw">public class="kw">volatile Int2ObjectConcurrentHashMap.TreeNode<V> first;
      class="kw">public class="kw">volatile Thread waiter;
      class="kw">public class="kw">volatile int lockState;
      class="kw">public class="kw">static class="kw">final int WRITER = 1;
      class="kw">public class="kw">static class="kw">final int WAITER = 2;
      class="kw">public class="kw">static class="kw">final int READER = 4;
      class="kw">protected class="kw">static class="kw">final Unsafe U;
      class="kw">protected class="kw">static class="kw">final long LOCKSTATE;

      class="kw">protected int tieBreakOrder(int var1, int var2) {
         int var3 = Integer.compare(var1, var2);
         class="kw">return var3 > 0 ? 1 : -1;
      }

      class="kw">public TreeBin(int var1, Int2ObjectConcurrentHashMap.TreeNode<V> var2) {
         super(var1, -2, var1, null, null);
         this.first = var2;
         Int2ObjectConcurrentHashMap.TreeNode var3 = null;
         Int2ObjectConcurrentHashMap.TreeNode var4 = var2;

         while (var4 != null) {
            Int2ObjectConcurrentHashMap.TreeNode var5 = (Int2ObjectConcurrentHashMap.TreeNode<V>)var4.next;
            var4.left = var4.right = null;
            if (var3 == null) {
               var4.parent = null;
               var4.red = false;
               var3 = var4;
            } else {
               int var6 = var4.key;
               int var7 = var4.hash;
               Class var8 = null;
               Int2ObjectConcurrentHashMap.TreeNode var9 = var3;

               int var10;
               Int2ObjectConcurrentHashMap.TreeNode var13;
               do {
                  int var12 = var9.key;
                  int var11 = var9.hash;
                  if (var9.hash > var7) {
                     var10 = -1;
                  } else if (var11 < var7) {
                     var10 = 1;
                  } else if ((var10 = Integer.compare(var6, var12)) == 0) {
                     var10 = this.tieBreakOrder(var6, var12);
                  }

                  var13 = var9;
               } while ((var9 = var10 <= 0 ? var9.left : var9.right) != null);

               var4.parent = var13;
               if (var10 <= 0) {
                  var13.left = var4;
               } else {
                  var13.right = var4;
               }

               var3 = this.balanceInsertion(var3, var4);
            }

            var4 = var5;
         }

         this.root = var3;
         assert this.checkInvariants(this.root);
      }

      class="kw">protected class="kw">final void lockRoot() {
         if (!U.compareAndSwapInt(this, LOCKSTATE, 0, 1)) {
            this.contendedLock();
         }
      }

      class="kw">protected class="kw">final void unlockRoot() {
         this.lockState = 0;
      }

      class="kw">protected class="kw">final void contendedLock() {
         boolean var1 = false;

         while (true) {
            int var2 = this.lockState;
            if ((this.lockState & -3) == 0) {
               if (U.compareAndSwapInt(this, LOCKSTATE, var2, 1)) {
                  if (var1) {
                     this.waiter = null;
                  }

                  class="kw">return;
               }
            } else if ((var2 & 2) == 0) {
               if (U.compareAndSwapInt(this, LOCKSTATE, var2, var2 | 2)) {
                  var1 = true;
                  this.waiter = Thread.currentThread();
               }
            } else if (var1) {
               LockSupport.park(this);
            }
         }
      }

      @Override
      class="kw">protected class="kw">final Int2ObjectConcurrentHashMap.Node<V> find(int var1, int var2) {
         if (var2 != this.EMPTY) {
            Int2ObjectConcurrentHashMap.Node var3 = this.first;

            while (var3 != null) {
               int var4 = this.lockState;
               if ((this.lockState & 3) != 0) {
                  if (var3.hash == var1) {
                     int var5 = var3.key;
                     if (var3.key == var2 || var5 != this.EMPTY && var2 == var5) {
                        class="kw">return var3;
                     }
                  }

                  var3 = var3.next;
               } else if (U.compareAndSwapInt(this, LOCKSTATE, var4, var4 + 4)) {
                  Int2ObjectConcurrentHashMap.TreeNode var7;
                  try {
                     Int2ObjectConcurrentHashMap.TreeNode var6 = this.root;
                     var7 = this.root == null ? null : var6.findTreeNode(var1, var2, null);
                  } class="kw">finally {
                     if (U.getAndAddInt(this, LOCKSTATE, -4) == 6) {
                        Thread var10 = this.waiter;
                        if (this.waiter != null) {
                           LockSupport.unpark(var10);
                        }
                     }
                  }

                  class="kw">return var7;
               }
            }
         }

         class="kw">return null;
      }

      class="kw">protected class="kw">final Int2ObjectConcurrentHashMap.TreeNode<V> putTreeVal(int var1, int var2, V var3) {
         Class var4 = null;
         boolean var5 = false;
         Int2ObjectConcurrentHashMap.TreeNode var6 = this.root;

         while (true) {
            if (var6 == null) {
               this.first = this.root = new Int2ObjectConcurrentHashMap.TreeNode<>(this.EMPTY, var1, var2, var3, null, null);
            } else {
               int var8 = var6.hash;
               int var7;
               if (var6.hash > var1) {
                  var7 = -1;
               } else if (var8 < var1) {
                  var7 = 1;
               } else {
                  int var9 = var6.key;
                  if (var6.key == var2 || var9 != this.EMPTY && var2 == var9) {
                     class="kw">return var6;
                  }

                  if ((var7 = Integer.compare(var2, var9)) == 0) {
                     if (!var5) {
                        var5 = true;
                        Int2ObjectConcurrentHashMap.TreeNode var11 = var6.left;
                        Int2ObjectConcurrentHashMap.TreeNode var10;
                        if (var6.left != null && (var10 = var11.findTreeNode(var1, var2, var4)) != null) {
                           class="kw">return var10;
                        }

                        var11 = var6.right;
                        if (var6.right != null && (var10 = var11.findTreeNode(var1, var2, var4)) != null) {
                           class="kw">return var10;
                        }
                     }

                     var7 = this.tieBreakOrder(var2, var9);
                  }
               }

               Int2ObjectConcurrentHashMap.TreeNode var16 = var6;
               if ((var6 = var7 <= 0 ? var6.left : var6.right) != null) {
                  class="kw">continue;
               }

               Int2ObjectConcurrentHashMap.TreeNode var12 = this.first;
               Int2ObjectConcurrentHashMap.TreeNode var18;
               this.first = var18 = new Int2ObjectConcurrentHashMap.TreeNode<>(this.EMPTY, var1, var2, var3, var12, var16);
               if (var12 != null) {
                  var12.prev = var18;
               }

               if (var7 <= 0) {
                  var16.left = var18;
               } else {
                  var16.right = var18;
               }

               if (!var16.red) {
                  var18.red = true;
               } else {
                  this.lockRoot();

                  try {
                     this.root = this.balanceInsertion(this.root, var18);
                  } class="kw">finally {
                     this.unlockRoot();
                  }
               }
            }

            assert this.checkInvariants(this.root);
            class="kw">return null;
         }
      }

      class="kw">protected class="kw">final boolean removeTreeNode(Int2ObjectConcurrentHashMap.TreeNode<V> var1) {
         Int2ObjectConcurrentHashMap.TreeNode var2 = (Int2ObjectConcurrentHashMap.TreeNode<V>)var1.next;
         Int2ObjectConcurrentHashMap.TreeNode var3 = var1.prev;
         if (var3 == null) {
            this.first = var2;
         } else {
            var3.next = var2;
         }

         if (var2 != null) {
            var2.prev = var3;
         }

         if (this.first == null) {
            this.root = null;
            class="kw">return true;
         }

         Int2ObjectConcurrentHashMap.TreeNode var4 = this.root;
         if (this.root != null && var4.right != null) {
            Int2ObjectConcurrentHashMap.TreeNode var5 = var4.left;
            if (var4.left != null && var5.left != null) {
               this.lockRoot();

               try {
                  Int2ObjectConcurrentHashMap.TreeNode var7 = var1.left;
                  Int2ObjectConcurrentHashMap.TreeNode var8 = var1.right;
                  Int2ObjectConcurrentHashMap.TreeNode var6;
                  if (var7 != null && var8 != null) {
                     Int2ObjectConcurrentHashMap.TreeNode var9 = var8;

                     while (true) {
                        Int2ObjectConcurrentHashMap.TreeNode var10 = var9.left;
                        if (var9.left == null) {
                           boolean var11 = var9.red;
                           var9.red = var1.red;
                           var1.red = var11;
                           Int2ObjectConcurrentHashMap.TreeNode var12 = var9.right;
                           Int2ObjectConcurrentHashMap.TreeNode var13 = var1.parent;
                           if (var9 == var8) {
                              var1.parent = var9;
                              var9.right = var1;
                           } else {
                              Int2ObjectConcurrentHashMap.TreeNode var14 = var9.parent;
                              if ((var1.parent = var14) != null) {
                                 if (var9 == var14.left) {
                                    var14.left = var1;
                                 } else {
                                    var14.right = var1;
                                 }
                              }

                              if ((var9.right = var8) != null) {
                                 var8.parent = var9;
                              }
                           }

                           var1.left = null;
                           if ((var1.right = var12) != null) {
                              var12.parent = var1;
                           }

                           if ((var9.left = var7) != null) {
                              var7.parent = var9;
                           }

                           if ((var9.parent = var13) == null) {
                              var4 = var9;
                           } else if (var1 == var13.left) {
                              var13.left = var9;
                           } else {
                              var13.right = var9;
                           }

                           if (var12 != null) {
                              var6 = var12;
                           } else {
                              var6 = var1;
                           }
                           break;
                        }

                        var9 = var10;
                     }
                  } else if (var7 != null) {
                     var6 = var7;
                  } else if (var8 != null) {
                     var6 = var8;
                  } else {
                     var6 = var1;
                  }

                  if (var6 != var1) {
                     Int2ObjectConcurrentHashMap.TreeNode var18 = var6.parent = var1.parent;
                     if (var18 == null) {
                        var4 = var6;
                     } else if (var1 == var18.left) {
                        var18.left = var6;
                     } else {
                        var18.right = var6;
                     }

                     var1.left = var1.right = var1.parent = null;
                  }

                  this.root = var1.red ? var4 : this.balanceDeletion(var4, var6);
                  if (var1 == var6) {
                     Int2ObjectConcurrentHashMap.TreeNode var19 = var1.parent;
                     if (var1.parent != null) {
                        if (var1 == var19.left) {
                           var19.left = null;
                        } else if (var1 == var19.right) {
                           var19.right = null;
                        }

                        var1.parent = null;
                     }
                  }
               } class="kw">finally {
                  this.unlockRoot();
               }

               assert this.checkInvariants(this.root);
               class="kw">return false;
            }
         }

         class="kw">return true;
      }

      class="kw">protected <V> Int2ObjectConcurrentHashMap.TreeNode<V> rotateLeft(
         Int2ObjectConcurrentHashMap.TreeNode<V> var1, Int2ObjectConcurrentHashMap.TreeNode<V> var2
      ) {
         if (var2 != null) {
            Int2ObjectConcurrentHashMap.TreeNode var3 = var2.right;
            if (var2.right != null) {
               Int2ObjectConcurrentHashMap.TreeNode var5;
               if ((var5 = var2.right = var3.left) != null) {
                  var5.parent = var2;
               }

               Int2ObjectConcurrentHashMap.TreeNode var4;
               if ((var4 = var3.parent = var2.parent) == null) {
                  var1 = var3;
                  var3.red = false;
               } else if (var4.left == var2) {
                  var4.left = var3;
               } else {
                  var4.right = var3;
               }

               var3.left = var2;
               var2.parent = var3;
            }
         }

         class="kw">return var1;
      }

      class="kw">protected <V> Int2ObjectConcurrentHashMap.TreeNode<V> rotateRight(
         Int2ObjectConcurrentHashMap.TreeNode<V> var1, Int2ObjectConcurrentHashMap.TreeNode<V> var2
      ) {
         if (var2 != null) {
            Int2ObjectConcurrentHashMap.TreeNode var3 = var2.left;
            if (var2.left != null) {
               Int2ObjectConcurrentHashMap.TreeNode var5;
               if ((var5 = var2.left = var3.right) != null) {
                  var5.parent = var2;
               }

               Int2ObjectConcurrentHashMap.TreeNode var4;
               if ((var4 = var3.parent = var2.parent) == null) {
                  var1 = var3;
                  var3.red = false;
               } else if (var4.right == var2) {
                  var4.right = var3;
               } else {
                  var4.left = var3;
               }

               var3.right = var2;
               var2.parent = var3;
            }
         }

         class="kw">return var1;
      }

      class="kw">protected <V> Int2ObjectConcurrentHashMap.TreeNode<V> balanceInsertion(
         Int2ObjectConcurrentHashMap.TreeNode<V> var1, Int2ObjectConcurrentHashMap.TreeNode<V> var2
      ) {
         var2.red = true;

         while (true) {
            Int2ObjectConcurrentHashMap.TreeNode var3 = var2.parent;
            if (var2.parent == null) {
               var2.red = false;
               class="kw">return var2;
            }

            if (!var3.red) {
               break;
            }

            Int2ObjectConcurrentHashMap.TreeNode var4 = var3.parent;
            if (var3.parent == null) {
               break;
            }

            Int2ObjectConcurrentHashMap.TreeNode var5 = var4.left;
            if (var3 == var4.left) {
               Int2ObjectConcurrentHashMap.TreeNode var6 = var4.right;
               if (var4.right != null && var6.red) {
                  var6.red = false;
                  var3.red = false;
                  var4.red = true;
                  var2 = var4;
               } else {
                  if (var2 == var3.right) {
                     var2 = var3;
                     var1 = this.rotateLeft(var1, var3);
                     var3 = var2.parent;
                     var4 = var2.parent == null ? null : var3.parent;
                  }

                  if (var3 != null) {
                     var3.red = false;
                     if (var4 != null) {
                        var4.red = true;
                        var1 = this.rotateRight(var1, var4);
                     }
                  }
               }
            } else if (var5 != null && var5.red) {
               var5.red = false;
               var3.red = false;
               var4.red = true;
               var2 = var4;
            } else {
               if (var2 == var3.left) {
                  var2 = var3;
                  var1 = this.rotateRight(var1, var3);
                  var3 = var2.parent;
                  var4 = var2.parent == null ? null : var3.parent;
               }

               if (var3 != null) {
                  var3.red = false;
                  if (var4 != null) {
                     var4.red = true;
                     var1 = this.rotateLeft(var1, var4);
                  }
               }
            }
         }

         class="kw">return var1;
      }

      class="kw">protected <V> Int2ObjectConcurrentHashMap.TreeNode<V> balanceDeletion(
         Int2ObjectConcurrentHashMap.TreeNode<V> var1, Int2ObjectConcurrentHashMap.TreeNode<V> var2
      ) {
         while (var2 != null && var2 != var1) {
            Int2ObjectConcurrentHashMap.TreeNode var3 = var2.parent;
            if (var2.parent == null) {
               var2.red = false;
               class="kw">return var2;
            }

            if (var2.red) {
               var2.red = false;
               class="kw">return var1;
            }

            Int2ObjectConcurrentHashMap.TreeNode var4 = var3.left;
            if (var3.left == var2) {
               Int2ObjectConcurrentHashMap.TreeNode var5 = var3.right;
               if (var3.right != null && var5.red) {
                  var5.red = false;
                  var3.red = true;
                  var1 = this.rotateLeft(var1, var3);
                  var3 = var2.parent;
                  var5 = var2.parent == null ? null : var3.right;
               }

               if (var5 == null) {
                  var2 = var3;
               } else {
                  Int2ObjectConcurrentHashMap.TreeNode var9 = var5.left;
                  Int2ObjectConcurrentHashMap.TreeNode var10 = var5.right;
                  if (var10 != null && var10.red || var9 != null && var9.red) {
                     if (var10 == null || !var10.red) {
                        if (var9 != null) {
                           var9.red = false;
                        }

                        var5.red = true;
                        var1 = this.rotateRight(var1, var5);
                        var3 = var2.parent;
                        var5 = var2.parent == null ? null : var3.right;
                     }

                     if (var5 != null) {
                        var5.red = var3 == null ? false : var3.red;
                        var10 = var5.right;
                        if (var5.right != null) {
                           var10.red = false;
                        }
                     }

                     if (var3 != null) {
                        var3.red = false;
                        var1 = this.rotateLeft(var1, var3);
                     }

                     var2 = var1;
                  } else {
                     var5.red = true;
                     var2 = var3;
                  }
               }
            } else {
               if (var4 != null && var4.red) {
                  var4.red = false;
                  var3.red = true;
                  var1 = this.rotateRight(var1, var3);
                  var3 = var2.parent;
                  var4 = var2.parent == null ? null : var3.left;
               }

               if (var4 == null) {
                  var2 = var3;
               } else {
                  Int2ObjectConcurrentHashMap.TreeNode var6 = var4.left;
                  Int2ObjectConcurrentHashMap.TreeNode var7 = var4.right;
                  if (var6 != null && var6.red || var7 != null && var7.red) {
                     if (var6 == null || !var6.red) {
                        if (var7 != null) {
                           var7.red = false;
                        }

                        var4.red = true;
                        var1 = this.rotateLeft(var1, var4);
                        var3 = var2.parent;
                        var4 = var2.parent == null ? null : var3.left;
                     }

                     if (var4 != null) {
                        var4.red = var3 == null ? false : var3.red;
                        var6 = var4.left;
                        if (var4.left != null) {
                           var6.red = false;
                        }
                     }

                     if (var3 != null) {
                        var3.red = false;
                        var1 = this.rotateRight(var1, var3);
                     }

                     var2 = var1;
                  } else {
                     var4.red = true;
                     var2 = var3;
                  }
               }
            }
         }

         class="kw">return var1;
      }

      class="kw">protected <V> boolean checkInvariants(Int2ObjectConcurrentHashMap.TreeNode<V> var1) {
         Int2ObjectConcurrentHashMap.TreeNode var2 = var1.parent;
         Int2ObjectConcurrentHashMap.TreeNode var3 = var1.left;
         Int2ObjectConcurrentHashMap.TreeNode var4 = var1.right;
         Int2ObjectConcurrentHashMap.TreeNode var5 = var1.prev;
         Int2ObjectConcurrentHashMap.TreeNode var6 = (Int2ObjectConcurrentHashMap.TreeNode<V>)var1.next;
         if (var5 != null && var5.next != var1) {
            class="kw">return false;
         }

         if (var6 != null && var6.prev != var1) {
            class="kw">return false;
         }

         if (var2 != null && var1 != var2.left && var1 != var2.right) {
            class="kw">return false;
         }

         if (var3 == null || var3.parent == var1 && var3.hash <= var1.hash) {
            if (var4 == null || var4.parent == var1 && var4.hash >= var1.hash) {
               if (var1.red && var3 != null && var3.red && var4 != null && var4.red) {
                  class="kw">return false;
               } else {
                  class="kw">return var3 != null && !this.checkInvariants(var3) ? false : var4 == null || this.checkInvariants(var4);
               }
            } else {
               class="kw">return false;
            }
         } else {
            class="kw">return false;
         }
      }

      class="kw">static {
         try {
            Field var0 = Unsafe.class.getDeclaredField("theUnsafe");
            var0.setAccessible(true);
            U = (Unsafe)var0.get(null);
            Class var1 = Int2ObjectConcurrentHashMap.TreeBin.class;
            LOCKSTATE = U.objectFieldOffset(var1.getDeclaredField("lockState"));
         } catch (Exception var2) {
            throw new Error(var2);
         }
      }
   }

   class="kw">protected class="kw">static class="kw">final class TreeNode<V> class="kw">extends Int2ObjectConcurrentHashMap.Node<V> {
      class="kw">public Int2ObjectConcurrentHashMap.TreeNode<V> parent;
      class="kw">public Int2ObjectConcurrentHashMap.TreeNode<V> left;
      class="kw">public Int2ObjectConcurrentHashMap.TreeNode<V> right;
      class="kw">public Int2ObjectConcurrentHashMap.TreeNode<V> prev;
      class="kw">public boolean red;

      class="kw">public TreeNode(int var1, int var2, int var3, V var4, Int2ObjectConcurrentHashMap.Node<V> var5, Int2ObjectConcurrentHashMap.TreeNode<V> var6) {
         super(var1, var2, var3, var4, var5);
         this.parent = var6;
      }

      @Override
      class="kw">protected Int2ObjectConcurrentHashMap.Node<V> find(int var1, int var2) {
         class="kw">return this.findTreeNode(var1, var2, null);
      }

      class="kw">protected class="kw">final Int2ObjectConcurrentHashMap.TreeNode<V> findTreeNode(int var1, int var2, Class<?> var3) {
         if (var2 != this.EMPTY) {
            Int2ObjectConcurrentHashMap.TreeNode var4 = this;

            do {
               Int2ObjectConcurrentHashMap.TreeNode var9 = var4.left;
               Int2ObjectConcurrentHashMap.TreeNode var10 = var4.right;
               int var5 = var4.hash;
               if (var4.hash > var1) {
                  var4 = var9;
               } else if (var5 < var1) {
                  var4 = var10;
               } else {
                  int var7 = var4.key;
                  if (var4.key == var2 || var7 != this.EMPTY && var2 == var7) {
                     class="kw">return var4;
                  }

                  if (var9 == null) {
                     var4 = var10;
                  } else if (var10 == null) {
                     var4 = var9;
                  } else {
                     int var6;
                     if ((var6 = Integer.compare(var2, var7)) != 0) {
                        var4 = var6 < 0 ? var9 : var10;
                     } else {
                        Int2ObjectConcurrentHashMap.TreeNode var8;
                        if ((var8 = var10.findTreeNode(var1, var2, var3)) != null) {
                           class="kw">return var8;
                        }

                        var4 = var9;
                     }
                  }
               }
            } while (var4 != null);
         }

         class="kw">return null;
      }
   }

   class="kw">protected class="kw">static class="kw">final class ValueIterator<V> class="kw">extends Int2ObjectConcurrentHashMap.BaseIterator<V> class="kw">implements ObjectIterator<V>, Enumeration<V> {
      class="kw">public ValueIterator(Int2ObjectConcurrentHashMap.Node<V>[] var1, int var2, int var3, int var4, Int2ObjectConcurrentHashMap<V> var5) {
         super(var1, var2, var3, var4, var5);
      }

      class="kw">public class="kw">final V next() {
         Int2ObjectConcurrentHashMap.Node var1 = this.next;
         if (this.next == null) {
            throw new NoSuchElementException();
         }

         Object var2 = var1.val;
         this.lastReturned = var1;
         this.advance();
         class="kw">return var2;
      }

      @Override
      class="kw">public class="kw">final V nextElement() {
         class="kw">return this.next();
      }
   }

   class="kw">protected class="kw">static class="kw">final class ValueSpliterator<V> class="kw">extends Int2ObjectConcurrentHashMap.Traverser<V> class="kw">implements ObjectSpliterator<V> {
      class="kw">public long est;

      class="kw">public ValueSpliterator(Int2ObjectConcurrentHashMap.Node<V>[] var1, int var2, int var3, int var4, long var5) {
         super(var1, var2, var3, var4);
         this.est = var5;
      }

      class="kw">public ObjectSpliterator<V> trySplit() {
         int var1 = this.baseIndex;
         int var2 = this.baseLimit;
         int var3;
         class="kw">return (var3 = this.baseIndex + this.baseLimit >>> 1) <= var1
            ? null
            : new Int2ObjectConcurrentHashMap.ValueSpliterator<>(this.tab, this.baseSize, this.baseLimit = var3, var2, this.est >>>= 1);
      }

      class="kw">public void forEachRemaining(Consumer<? super V> var1) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Int2ObjectConcurrentHashMap.Node var2;
         while ((var2 = this.advance()) != null) {
            var1.accept(var2.val);
         }
      }

      class="kw">public boolean tryAdvance(Consumer<? super V> var1) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Int2ObjectConcurrentHashMap.Node var2;
         if ((var2 = this.advance()) == null) {
            class="kw">return false;
         }

         var1.accept(var2.val);
         class="kw">return true;
      }

      class="kw">public long estimateSize() {
         class="kw">return this.est;
      }

      class="kw">public int characteristics() {
         class="kw">return 4352;
      }
   }

   class="kw">protected class="kw">static class="kw">final class ValuesView<V> class="kw">extends Int2ObjectConcurrentHashMap.CollectionView<V, V> class="kw">implements FastCollection<V>, Serializable {
      class="kw">public class="kw">static class="kw">final long serialVersionUID = 2249069246763182397L;

      class="kw">public ValuesView(Int2ObjectConcurrentHashMap<V> var1) {
         super(var1);
      }

      @Override
      class="kw">public class="kw">final boolean contains(Object var1) {
         class="kw">return this.map.containsValue(var1);
      }

      @Override
      class="kw">public class="kw">final boolean remove(Object var1) {
         if (var1 != null) {
            Iterator var2 = this.iterator();

            while (var2.hasNext()) {
               if (var1.equals(var2.next())) {
                  var2.remove();
                  class="kw">return true;
               }
            }
         }

         class="kw">return false;
      }

      @Override
      class="kw">public class="kw">final ObjectIterator<V> iterator() {
         Int2ObjectConcurrentHashMap var1 = this.map;
         Int2ObjectConcurrentHashMap.Node[] var2 = var1.table;
         int var3 = var1.table == null ? 0 : var2.length;
         class="kw">return new Int2ObjectConcurrentHashMap.ValueIterator<>(var2, var3, 0, var3, var1);
      }

      @Override
      class="kw">public class="kw">final boolean add(V var1) {
         throw new UnsupportedOperationException();
      }

      @Override
      class="kw">public class="kw">final boolean addAll(Collection<? class="kw">extends V> var1) {
         throw new UnsupportedOperationException();
      }

      class="kw">public ObjectSpliterator<V> spliterator() {
         Int2ObjectConcurrentHashMap var2 = this.map;
         long var3 = var2.sumCount();
         Int2ObjectConcurrentHashMap.Node[] var1 = var2.table;
         int var5 = var2.table == null ? 0 : var1.length;
         class="kw">return new Int2ObjectConcurrentHashMap.ValueSpliterator<>(var1, var5, 0, var5, var3 < 0L ? 0L : var3);
      }

      @Override
      class="kw">public void forEach(Consumer<? super V> var1) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Int2ObjectConcurrentHashMap.Node[] var2 = this.map.table;
         if (this.map.table != null) {
            Int2ObjectConcurrentHashMap.Node[] var3 = var2;
            Int2ObjectConcurrentHashMap.Node var4 = null;
            Int2ObjectConcurrentHashMap.TableStack var5 = null;
            Int2ObjectConcurrentHashMap.TableStack var6 = null;
            int var7 = 0;
            int var8 = 0;
            int var9 = var2.length;
            int var10 = var2.length;

            while (true) {
               Int2ObjectConcurrentHashMap.Node var11 = null;
               var11 = var4;
               if (var4 != null) {
                  var11 = var11.next;
               }

               label78: {
                  while (true) {
                     if (var11 != null) {
                        var4 = var11;
                        break label78;
                     }

                     if (var8 >= var9) {
                        break;
                     }

                     Int2ObjectConcurrentHashMap.Node[] var12 = var3;
                     if (var3 == null) {
                        break;
                     }

                     int var14;
                     int var10000 = var14 = var12.length;
                     int var13 = var7;
                     if (var10000 <= var7 || var13 < 0) {
                        break;
                     }

                     if ((var11 = Int2ObjectConcurrentHashMap.tabAt(var12, var13)) != null && var11.hash < 0) {
                        if (var11 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                           var3 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var11).nextTable;
                           var11 = null;
                           Int2ObjectConcurrentHashMap.TableStack var19 = var6;
                           if (var19 != null) {
                              var6 = var19.next;
                           } else {
                              var19 = new Int2ObjectConcurrentHashMap.TableStack<>();
                           }

                           var19.tab = var12;
                           var19.length = var14;
                           var19.index = var13;
                           var19.next = var5;
                           var5 = var19;
                           class="kw">continue;
                        }

                        if (var11 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                           var11 = ((Int2ObjectConcurrentHashMap.TreeBin)var11).first;
                        } else {
                           var11 = null;
                        }
                     }

                     if (var5 == null) {
                        if ((var7 = var13 + var10) >= var14) {
                           var7 = ++var8;
                        }
                     } else {
                        while (true) {
                           Int2ObjectConcurrentHashMap.TableStack var15 = var5;
                           if (var5 != null) {
                              int var16 = var15.length;
                              if ((var7 += var15.length) >= var14) {
                                 var14 = var16;
                                 var7 = var15.index;
                                 var3 = var15.tab;
                                 var15.tab = null;
                                 Int2ObjectConcurrentHashMap.TableStack var17 = var15.next;
                                 var15.next = var6;
                                 var5 = var17;
                                 var6 = var15;
                                 class="kw">continue;
                              }
                           }

                           if (var15 == null && (var7 += var10) >= var14) {
                              var7 = ++var8;
                           }
                           break;
                        }
                     }
                  }

                  var4 = null;
               }

               if (var11 == null) {
                  break;
               }

               var1.accept(var11.val);
            }
         }
      }

      @Override
      class="kw">public <A, B, C, D> void forEach(
         FastCollection.FastConsumerD9<? super V, A, B, C, D> var1,
         A var2,
         double var3,
         double var5,
         double var7,
         double var9,
         double var11,
         double var13,
         double var15,
         double var17,
         double var19,
         B var21,
         C var22,
         D var23
      ) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Int2ObjectConcurrentHashMap.Node[] var24 = this.map.table;
         if (this.map.table != null) {
            Int2ObjectConcurrentHashMap.Node[] var25 = var24;
            Int2ObjectConcurrentHashMap.Node var26 = null;
            Int2ObjectConcurrentHashMap.TableStack var27 = null;
            Int2ObjectConcurrentHashMap.TableStack var28 = null;
            int var29 = 0;
            int var30 = 0;
            int var31 = var24.length;
            int var32 = var24.length;

            while (true) {
               Int2ObjectConcurrentHashMap.Node var33 = null;
               var33 = var26;
               if (var26 != null) {
                  var33 = var33.next;
               }

               label78: {
                  while (true) {
                     if (var33 != null) {
                        var26 = var33;
                        break label78;
                     }

                     if (var30 >= var31) {
                        break;
                     }

                     Int2ObjectConcurrentHashMap.Node[] var34 = var25;
                     if (var25 == null) {
                        break;
                     }

                     int var36;
                     int var10000 = var36 = var34.length;
                     int var35 = var29;
                     if (var10000 <= var29 || var35 < 0) {
                        break;
                     }

                     if ((var33 = Int2ObjectConcurrentHashMap.tabAt(var34, var35)) != null && var33.hash < 0) {
                        if (var33 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                           var25 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var33).nextTable;
                           var33 = null;
                           Int2ObjectConcurrentHashMap.TableStack var41 = var28;
                           if (var41 != null) {
                              var28 = var41.next;
                           } else {
                              var41 = new Int2ObjectConcurrentHashMap.TableStack<>();
                           }

                           var41.tab = var34;
                           var41.length = var36;
                           var41.index = var35;
                           var41.next = var27;
                           var27 = var41;
                           class="kw">continue;
                        }

                        if (var33 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                           var33 = ((Int2ObjectConcurrentHashMap.TreeBin)var33).first;
                        } else {
                           var33 = null;
                        }
                     }

                     if (var27 == null) {
                        if ((var29 = var35 + var32) >= var36) {
                           var29 = ++var30;
                        }
                     } else {
                        while (true) {
                           Int2ObjectConcurrentHashMap.TableStack var37 = var27;
                           if (var27 != null) {
                              int var38 = var37.length;
                              if ((var29 += var37.length) >= var36) {
                                 var36 = var38;
                                 var29 = var37.index;
                                 var25 = var37.tab;
                                 var37.tab = null;
                                 Int2ObjectConcurrentHashMap.TableStack var39 = var37.next;
                                 var37.next = var28;
                                 var27 = var39;
                                 var28 = var37;
                                 class="kw">continue;
                              }
                           }

                           if (var37 == null && (var29 += var32) >= var36) {
                              var29 = ++var30;
                           }
                           break;
                        }
                     }
                  }

                  var26 = null;
               }

               if (var33 == null) {
                  break;
               }

               var1.accept(var33.val, var2, var3, var5, var7, var9, var11, var13, var15, var17, var19, var21, var22, var23);
            }
         }
      }

      @Override
      class="kw">public <A, B, C, D> void forEach(
         FastCollection.FastConsumerD6<? super V, A, B, C, D> var1,
         A var2,
         double var3,
         double var5,
         double var7,
         double var9,
         double var11,
         double var13,
         B var15,
         C var16,
         D var17
      ) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Int2ObjectConcurrentHashMap.Node[] var18 = this.map.table;
         if (this.map.table != null) {
            Int2ObjectConcurrentHashMap.Node[] var19 = var18;
            Int2ObjectConcurrentHashMap.Node var20 = null;
            Int2ObjectConcurrentHashMap.TableStack var21 = null;
            Int2ObjectConcurrentHashMap.TableStack var22 = null;
            int var23 = 0;
            int var24 = 0;
            int var25 = var18.length;
            int var26 = var18.length;

            while (true) {
               Int2ObjectConcurrentHashMap.Node var27 = null;
               var27 = var20;
               if (var20 != null) {
                  var27 = var27.next;
               }

               label78: {
                  while (true) {
                     if (var27 != null) {
                        var20 = var27;
                        break label78;
                     }

                     if (var24 >= var25) {
                        break;
                     }

                     Int2ObjectConcurrentHashMap.Node[] var28 = var19;
                     if (var19 == null) {
                        break;
                     }

                     int var30;
                     int var10000 = var30 = var28.length;
                     int var29 = var23;
                     if (var10000 <= var23 || var29 < 0) {
                        break;
                     }

                     if ((var27 = Int2ObjectConcurrentHashMap.tabAt(var28, var29)) != null && var27.hash < 0) {
                        if (var27 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                           var19 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var27).nextTable;
                           var27 = null;
                           Int2ObjectConcurrentHashMap.TableStack var35 = var22;
                           if (var35 != null) {
                              var22 = var35.next;
                           } else {
                              var35 = new Int2ObjectConcurrentHashMap.TableStack<>();
                           }

                           var35.tab = var28;
                           var35.length = var30;
                           var35.index = var29;
                           var35.next = var21;
                           var21 = var35;
                           class="kw">continue;
                        }

                        if (var27 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                           var27 = ((Int2ObjectConcurrentHashMap.TreeBin)var27).first;
                        } else {
                           var27 = null;
                        }
                     }

                     if (var21 == null) {
                        if ((var23 = var29 + var26) >= var30) {
                           var23 = ++var24;
                        }
                     } else {
                        while (true) {
                           Int2ObjectConcurrentHashMap.TableStack var31 = var21;
                           if (var21 != null) {
                              int var32 = var31.length;
                              if ((var23 += var31.length) >= var30) {
                                 var30 = var32;
                                 var23 = var31.index;
                                 var19 = var31.tab;
                                 var31.tab = null;
                                 Int2ObjectConcurrentHashMap.TableStack var33 = var31.next;
                                 var31.next = var22;
                                 var21 = var33;
                                 var22 = var31;
                                 class="kw">continue;
                              }
                           }

                           if (var31 == null && (var23 += var26) >= var30) {
                              var23 = ++var24;
                           }
                           break;
                        }
                     }
                  }

                  var20 = null;
               }

               if (var27 == null) {
                  break;
               }

               var1.accept(var27.val, var2, var3, var5, var7, var9, var11, var13, var15, var16, var17);
            }
         }
      }

      @Override
      class="kw">public void forEachWithFloat(FastCollection.FastConsumerF<? super V> var1, float var2) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Int2ObjectConcurrentHashMap.Node[] var3 = this.map.table;
         if (this.map.table != null) {
            Int2ObjectConcurrentHashMap.Node[] var4 = var3;
            Int2ObjectConcurrentHashMap.Node var5 = null;
            Int2ObjectConcurrentHashMap.TableStack var6 = null;
            Int2ObjectConcurrentHashMap.TableStack var7 = null;
            int var8 = 0;
            int var9 = 0;
            int var10 = var3.length;
            int var11 = var3.length;

            while (true) {
               Int2ObjectConcurrentHashMap.Node var12 = null;
               var12 = var5;
               if (var5 != null) {
                  var12 = var12.next;
               }

               label78: {
                  while (true) {
                     if (var12 != null) {
                        var5 = var12;
                        break label78;
                     }

                     if (var9 >= var10) {
                        break;
                     }

                     Int2ObjectConcurrentHashMap.Node[] var13 = var4;
                     if (var4 == null) {
                        break;
                     }

                     int var15;
                     int var10000 = var15 = var13.length;
                     int var14 = var8;
                     if (var10000 <= var8 || var14 < 0) {
                        break;
                     }

                     if ((var12 = Int2ObjectConcurrentHashMap.tabAt(var13, var14)) != null && var12.hash < 0) {
                        if (var12 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                           var4 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var12).nextTable;
                           var12 = null;
                           Int2ObjectConcurrentHashMap.TableStack var20 = var7;
                           if (var20 != null) {
                              var7 = var20.next;
                           } else {
                              var20 = new Int2ObjectConcurrentHashMap.TableStack<>();
                           }

                           var20.tab = var13;
                           var20.length = var15;
                           var20.index = var14;
                           var20.next = var6;
                           var6 = var20;
                           class="kw">continue;
                        }

                        if (var12 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                           var12 = ((Int2ObjectConcurrentHashMap.TreeBin)var12).first;
                        } else {
                           var12 = null;
                        }
                     }

                     if (var6 == null) {
                        if ((var8 = var14 + var11) >= var15) {
                           var8 = ++var9;
                        }
                     } else {
                        while (true) {
                           Int2ObjectConcurrentHashMap.TableStack var16 = var6;
                           if (var6 != null) {
                              int var17 = var16.length;
                              if ((var8 += var16.length) >= var15) {
                                 var15 = var17;
                                 var8 = var16.index;
                                 var4 = var16.tab;
                                 var16.tab = null;
                                 Int2ObjectConcurrentHashMap.TableStack var18 = var16.next;
                                 var16.next = var7;
                                 var6 = var18;
                                 var7 = var16;
                                 class="kw">continue;
                              }
                           }

                           if (var16 == null && (var8 += var11) >= var15) {
                              var8 = ++var9;
                           }
                           break;
                        }
                     }
                  }

                  var5 = null;
               }

               if (var12 == null) {
                  break;
               }

               var1.accept(var12.val, var2);
            }
         }
      }

      @Override
      class="kw">public void forEachWithInt(FastCollection.FastConsumerI<? super V> var1, int var2) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Int2ObjectConcurrentHashMap.Node[] var3 = this.map.table;
         if (this.map.table != null) {
            Int2ObjectConcurrentHashMap.Node[] var4 = var3;
            Int2ObjectConcurrentHashMap.Node var5 = null;
            Int2ObjectConcurrentHashMap.TableStack var6 = null;
            Int2ObjectConcurrentHashMap.TableStack var7 = null;
            int var8 = 0;
            int var9 = 0;
            int var10 = var3.length;
            int var11 = var3.length;

            while (true) {
               Int2ObjectConcurrentHashMap.Node var12 = null;
               var12 = var5;
               if (var5 != null) {
                  var12 = var12.next;
               }

               label78: {
                  while (true) {
                     if (var12 != null) {
                        var5 = var12;
                        break label78;
                     }

                     if (var9 >= var10) {
                        break;
                     }

                     Int2ObjectConcurrentHashMap.Node[] var13 = var4;
                     if (var4 == null) {
                        break;
                     }

                     int var15;
                     int var10000 = var15 = var13.length;
                     int var14 = var8;
                     if (var10000 <= var8 || var14 < 0) {
                        break;
                     }

                     if ((var12 = Int2ObjectConcurrentHashMap.tabAt(var13, var14)) != null && var12.hash < 0) {
                        if (var12 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                           var4 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var12).nextTable;
                           var12 = null;
                           Int2ObjectConcurrentHashMap.TableStack var20 = var7;
                           if (var20 != null) {
                              var7 = var20.next;
                           } else {
                              var20 = new Int2ObjectConcurrentHashMap.TableStack<>();
                           }

                           var20.tab = var13;
                           var20.length = var15;
                           var20.index = var14;
                           var20.next = var6;
                           var6 = var20;
                           class="kw">continue;
                        }

                        if (var12 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                           var12 = ((Int2ObjectConcurrentHashMap.TreeBin)var12).first;
                        } else {
                           var12 = null;
                        }
                     }

                     if (var6 == null) {
                        if ((var8 = var14 + var11) >= var15) {
                           var8 = ++var9;
                        }
                     } else {
                        while (true) {
                           Int2ObjectConcurrentHashMap.TableStack var16 = var6;
                           if (var6 != null) {
                              int var17 = var16.length;
                              if ((var8 += var16.length) >= var15) {
                                 var15 = var17;
                                 var8 = var16.index;
                                 var4 = var16.tab;
                                 var16.tab = null;
                                 Int2ObjectConcurrentHashMap.TableStack var18 = var16.next;
                                 var16.next = var7;
                                 var6 = var18;
                                 var7 = var16;
                                 class="kw">continue;
                              }
                           }

                           if (var16 == null && (var8 += var11) >= var15) {
                              var8 = ++var9;
                           }
                           break;
                        }
                     }
                  }

                  var5 = null;
               }

               if (var12 == null) {
                  break;
               }

               var1.accept(var12.val, var2);
            }
         }
      }

      @Override
      class="kw">public void forEachWithLong(FastCollection.FastConsumerL<? super V> var1, long var2) {
         if (var1 == null) {
            throw new NullPointerException();
         }

         Int2ObjectConcurrentHashMap.Node[] var4 = this.map.table;
         if (this.map.table != null) {
            Int2ObjectConcurrentHashMap.Node[] var5 = var4;
            Int2ObjectConcurrentHashMap.Node var6 = null;
            Int2ObjectConcurrentHashMap.TableStack var7 = null;
            Int2ObjectConcurrentHashMap.TableStack var8 = null;
            int var9 = 0;
            int var10 = 0;
            int var11 = var4.length;
            int var12 = var4.length;

            while (true) {
               Int2ObjectConcurrentHashMap.Node var13 = null;
               var13 = var6;
               if (var6 != null) {
                  var13 = var13.next;
               }

               label78: {
                  while (true) {
                     if (var13 != null) {
                        var6 = var13;
                        break label78;
                     }

                     if (var10 >= var11) {
                        break;
                     }

                     Int2ObjectConcurrentHashMap.Node[] var14 = var5;
                     if (var5 == null) {
                        break;
                     }

                     int var16;
                     int var10000 = var16 = var14.length;
                     int var15 = var9;
                     if (var10000 <= var9 || var15 < 0) {
                        break;
                     }

                     if ((var13 = Int2ObjectConcurrentHashMap.tabAt(var14, var15)) != null && var13.hash < 0) {
                        if (var13 class="kw">instanceof Int2ObjectConcurrentHashMap.ForwardingNode) {
                           var5 = ((Int2ObjectConcurrentHashMap.ForwardingNode)var13).nextTable;
                           var13 = null;
                           Int2ObjectConcurrentHashMap.TableStack var21 = var8;
                           if (var21 != null) {
                              var8 = var21.next;
                           } else {
                              var21 = new Int2ObjectConcurrentHashMap.TableStack<>();
                           }

                           var21.tab = var14;
                           var21.length = var16;
                           var21.index = var15;
                           var21.next = var7;
                           var7 = var21;
                           class="kw">continue;
                        }

                        if (var13 class="kw">instanceof Int2ObjectConcurrentHashMap.TreeBin) {
                           var13 = ((Int2ObjectConcurrentHashMap.TreeBin)var13).first;
                        } else {
                           var13 = null;
                        }
                     }

                     if (var7 == null) {
                        if ((var9 = var15 + var12) >= var16) {
                           var9 = ++var10;
                        }
                     } else {
                        while (true) {
                           Int2ObjectConcurrentHashMap.TableStack var17 = var7;
                           if (var7 != null) {
                              int var18 = var17.length;
                              if ((var9 += var17.length) >= var16) {
                                 var16 = var18;
                                 var9 = var17.index;
                                 var5 = var17.tab;
                                 var17.tab = null;
                                 Int2ObjectConcurrentHashMap.TableStack var19 = var17.next;
                                 var17.next = var8;
                                 var7 = var19;
                                 var8 = var17;
                                 class="kw">continue;
                              }
                           }

                           if (var17 == null && (var9 += var12) >= var16) {
                              var9 = ++var10;
                           }
                           break;
                        }
                     }
                  }

                  var6 = null;
               }

               if (var13 == null) {
                  break;
               }

               var1.accept(var13.val, var2);
            }
         }
      }
   }
}