4J-com/hazelcast/crdt/pncounter/PNCounterService0Ljava/lang/Object;Lcom/hazelcast/spi/ManagedService;Lcom/hazelcast/spi/RemoteService;Lcom/hazelcast/crdt/CRDTReplicationAwareService;Lcom/hazelcast/spi/QuorumAwareService;Lcom/hazelcast/spi/StatisticsAwareService;java/lang/Object com/hazelcast/spi/ManagedServicecom/hazelcast/spi/RemoteService.com/hazelcast/crdt/CRDTReplicationAwareService $com/hazelcast/spi/QuorumAwareService (com/hazelcast/spi/StatisticsAwareServicePNCounterService.java/com/hazelcast/crdt/pncounter/PNCounterService$3/com/hazelcast/crdt/pncounter/PNCounterService$2/com/hazelcast/crdt/pncounter/PNCounterService$1java/util/Map$Entry java/util/MapEntry SERVICE_NAMELjava/lang/String;hz:impl:PNCounterServicecounters$Ljava/util/concurrent/ConcurrentMap;dLjava/util/concurrent/ConcurrentMap;counterConstructorFn(Lcom/hazelcast/util/ConstructorFunction;hLcom/hazelcast/util/ConstructorFunction;quorumConfigCache&Lcom/hazelcast/internal/util/Memoizer;LLcom/hazelcast/internal/util/Memoizer;statsMaplLjava/util/concurrent/ConcurrentMap;unmodifiableStatsMapLjava/util/Map;statsConstructorFunctionpLcom/hazelcast/util/ConstructorFunction;newCounterCreationMutexLjava/lang/Object;isShuttingDownZ nodeEngineLcom/hazelcast/spi/NodeEngine;()V 56 7&java/util/concurrent/ConcurrentHashMap9 :7 ! <2(Lcom/hazelcast/crdt/pncounter/PNCounterService;)V 5> ? #$ A$com/hazelcast/internal/util/MemoizerC ?+(Lcom/hazelcast/util/ConstructorFunction;)V 5F DG &' I )! Kjava/util/CollectionsMunmodifiableMap (Ljava/util/Map;)Ljava/util/Map; OP NQ +, S ? -$ V /0 Xthis/Lcom/hazelcast/crdt/pncounter/PNCounterService; getCounter@(Ljava/lang/String;)Lcom/hazelcast/crdt/pncounter/PNCounterImpl;"com/hazelcast/util/ConcurrencyUtil^getOrPutSynchronized(Ljava/util/concurrent/ConcurrentMap;Ljava/lang/Object;Ljava/lang/Object;Lcom/hazelcast/util/ConstructorFunction;)Ljava/lang/Object; `a _b*com/hazelcast/crdt/pncounter/PNCounterImpldnamecontainsCounter(Ljava/lang/String;)Z"java/util/concurrent/ConcurrentMapi containsKey(Ljava/lang/Object;)Z kl jmgetLocalPNCounterStatsH(Ljava/lang/String;)Lcom/hazelcast/monitor/impl/LocalPNCounterStatsImpl;2com/hazelcast/monitor/impl/LocalPNCounterStatsImplqinit7(Lcom/hazelcast/spi/NodeEngine;Ljava/util/Properties;)V 34 u propertiesLjava/util/Properties;resetshutdown(Z)Vclear |6 j} terminatecreateDistributedObjectA(Ljava/lang/String;)Lcom/hazelcast/crdt/pncounter/PNCounterProxy;+com/hazelcast/crdt/pncounter/PNCounterProxyb(Ljava/lang/String;Lcom/hazelcast/spi/NodeEngine;Lcom/hazelcast/crdt/pncounter/PNCounterService;)V 5  objectNamedestroyDistributedObject(Ljava/lang/String;)Vremove&(Ljava/lang/Object;)Ljava/lang/Object; j(Ljava/lang/Object;)V DprepareReplicationOperation?(Ljava/util/Map;I)Lcom/hazelcast/crdt/CRDTReplicationContainer;{(Ljava/util/Map;I)Lcom/hazelcast/crdt/CRDTReplicationContainer;java/util/HashMap 7com/hazelcast/spi/NodeEngine getConfig()Lcom/hazelcast/config/Config; entrySet()Ljava/util/Set; j java/util/Setiterator()Ljava/util/Iterator; com/hazelcast/config/Configjava/util/IteratorhasNext()Z next()Ljava/lang/Object; getKey java/lang/StringgetValue findPNCounterConfig:(Ljava/lang/String;)Lcom/hazelcast/config/PNCounterConfig; $com/hazelcast/config/PNCounterConfiggetReplicaCount()I getCurrentVectorClock*()Lcom/hazelcast/cluster/impl/VectorClock; eget &com/hazelcast/cluster/impl/VectorClockisAfter+(Lcom/hazelcast/cluster/impl/VectorClock;)Z put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; isEmpty +com/hazelcast/crdt/CRDTReplicationContainer:com/hazelcast/crdt/pncounter/PNCounterReplicationOperation(Ljava/util/Map;)V 5 /(Lcom/hazelcast/spi/Operation;Ljava/util/Map;)V 5  counterNamecounter,Lcom/hazelcast/crdt/pncounter/PNCounterImpl;counterCurrentVectorClock(Lcom/hazelcast/cluster/impl/VectorClock;counterPreviousVectorClock counterEntryULjava/util/Map$Entry;Ljava/util/Map$Entry; previouslyReplicatedVectorClocksKLjava/util/Map; targetIndexIcurrentVectorClocksOLjava/util/HashMap;Ljava/util/HashMap;SLjava/util/HashMap;configLcom/hazelcast/config/Config;getName()Ljava/lang/String;mergeA(Ljava/lang/String;Lcom/hazelcast/crdt/pncounter/PNCounterImpl;)V \] /(Lcom/hazelcast/crdt/pncounter/PNCounterImpl;)V eg(Lcom/hazelcast/cluster/impl/VectorClock;)Lcom/hazelcast/crdt/pncounter/operations/CRDTTimestampedLong; e;com/hazelcast/crdt/pncounter/operations/CRDTTimestampedLong()J   op setValue(J)V   r value counterValueJprepareMigrationOperation0(I)Lcom/hazelcast/crdt/CRDTReplicationContainer;maxConfiguredReplicaCountclearCRDTState(Ljava/util/Map;)ZN(Ljava/util/Map;)Z  j markMigrated  e vectorClockvectorClockEntryQLjava/util/Map$Entry; vectorClocks allClearedprepareToSafeShutdown 12 !java/lang/Throwable#values()Ljava/util/Collection; %& j'java/util/Collection) * 6 e, getQuorumName&(Ljava/lang/String;)Ljava/lang/String;getOrCalculate 0 D1getStats()Ljava/util/Map;P()Ljava/util/Map;:(Ljava/lang/String;)Lcom/hazelcast/core/DistributedObject; 7'(Ljava/lang/String;Ljava/lang/Object;)V : access$0002(Lcom/hazelcast/crdt/pncounter/PNCounterService;)Zx0 access$100O(Lcom/hazelcast/crdt/pncounter/PNCounterService;)Lcom/hazelcast/spi/NodeEngine; ConstantValue SignatureCodeLineNumberTableLocalVariableTable StackMapTableLocalVariableTypeTable InnerClasses SourceFile!  A !B"#$B%&'B()!B*+,-$B./0B123456C\*8*:Y;=*Y*@B*DYY*EHJ*:Y;L**LRT*Y*UW*Y8YD"1;>K.V9YD\PdE \Z[\]CH*=+*Y*BceDrEZ[fghC? *=+nD|E Z[ fopCH*L+*L*WcrDEZ[fstCH*+vD E Z[34wxy6C+DE Z[z{CO*=~*L~D EZ[2CBY+*v*DEZ[C_*=+W*L+W*J+D EZ[C  »YNY:*v:*=:q::e: ġ : +:    љ  W- WؙYY-FN,>e"  PD>BNZhkrEp NSZG r/ " B_Z[, G*B_ BC-DE Z[C *+N-,-7*+ D E4 Z[ f   C YMYN*v:*=:P::e:-W,ȶW-ؙYY-,F>+>e OD2 AMYgjsERM2Y&A>Z[ G A> Cq~=+N-h-:::*=e:*=W*LW=F;Ce$D6 ".:JOR\hwy|EH.K:?J/"W~Z[~,|2G"W~B 6C@*YYL*"+çM+,*=(+L++eM,-F$D 8<?E8@Z[./C@ *J+2DE Z[ f34C/*TDE Z[B5A6C0*+8D1E Z[A9C4 *+,e;D1E  Z[<=C/*"D1E >[?@C/*vD1E >[H" BI