All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.jackrabbit.oak.segment.SegmentNodeStoreService.class Maven / Gradle / Ivy

There is a newer version: 1.9.6
Show newest version
????3?9org/apache/jackrabbit/oak/segment/SegmentNodeStoreService2org/apache/jackrabbit/oak/spi/state/ProxyNodeStore/org/apache/jackrabbit/oak/spi/commit/Observable6org/apache/jackrabbit/oak/segment/SegmentStoreProviderSegmentNodeStoreService.java,Lorg/apache/felix/scr/annotations/Component;policy6Lorg/apache/felix/scr/annotations/ConfigurationPolicy;REQUIREmetatypelabel/Apache Jackrabbit Oak Segment NodeStore Servicedescription?NodeStore implementation based on Segment model. For configuration option refer to http://jackrabbit.apache.org/oak/docs/osgi_config.html#SegmentNodeStore. Note that for system stability purpose it is advisable to not change these settings at runtime. Instead the config change should be done via file system based config file and this view should ONLY be used to determine which options are supportedJorg/apache/jackrabbit/oak/segment/SegmentNodeStore$SegmentNodeStoreBuilder2org/apache/jackrabbit/oak/segment/SegmentNodeStoreSegmentNodeStoreBuilder[org/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreUtils$SharedStoreRecordTypeEorg/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreUtilsSharedStoreRecordTypeNAMELjava/lang/String;name 	DIRECTORYrepository.home#+Lorg/apache/felix/scr/annotations/Property;	Directory?Directory location used to store the segment tar files. If not specified then looks for framework property 'repository.home' otherwise use a subdirectory with name 'tarmk'MODE
tarmk.mode)Mode=TarMK mode (64 for memory mapping, 32 for normal file access)SIZE
tarmk.size.intValueMaximum Tar File Size (MB)TarMK maximum file size (MB)SEGMENT_CACHE_SIZEsegmentCache.size5Segment cache size (MB)2Cache size for storing most recently used segmentsSTRING_CACHE_SIZEstringCache.size:String cache size (MB)1Cache size for storing most recently used stringsTEMPLATE_CACHE_SIZEtemplateCache.size?@Template cache size (MB)3Cache size for storing most recently used templatesSTRING_DEDUPLICATION_CACHE_SIZEstringDeduplicationCache.sizeE:?(String deduplication cache size (#items)Maximum number of templates to keep in the deduplication cacheNODE_DEDUPLICATION_CACHE_SIZEnodeDeduplicationCache.sizeQ?&Node deduplication cache size (#items)?Maximum number of node to keep in the deduplication cache. If the supplied value is not a power of 2, it will be rounded up to the next power of 2.COMPACTION_GAIN_THRESHOLDcompaction.gainThresholdW	byteValue
Compaction gain threshold?TarMK compaction gain threshold. The gain estimation prevents compaction from running if the provided threshold is not met. Value represents a percentage so an input between 0 and 100 is expected.PAUSE_COMPACTIONpauseCompaction^	boolValuePause Compaction.When enabled compaction would not be performedCOMPACTION_RETRY_COUNTcompaction.retryCounteCompaction RetriesQNumber of tries to compact concurrent commits on top of already compacted commitsCOMPACTION_FORCE_TIMEOUTcompaction.force.timeoutk<Force Compaction Timeout?Number of seconds to attempt to force compact concurrent commits on top of already compacted commits after the maximum number of retries has been reached. Forced compaction tries to acquire an exclusive write lock on the node store. COMPACTION_SIZE_DELTA_ESTIMATIONcompaction.sizeDeltaEstimationq	longValue???????? Compaction Repository Size DeltaJAmount of increase in repository size that will trigger compaction (bytes)STANDBYstandbyyStandby ModedFlag indicating that this component will not register as a NodeStore but just as a NodeStoreProviderCUSTOM_BLOB_STOREcustomBlobStore~Custom BlobStore?Boolean value indicating that a custom BlobStore is to be used. By default large binary content would be stored within segment tar fileslogLorg/slf4j/Logger;store2Lorg/apache/jackrabbit/oak/segment/file/FileStore;segmentNodeStore4Lorg/apache/jackrabbit/oak/segment/SegmentNodeStore;observerTracker0Lorg/apache/jackrabbit/oak/osgi/ObserverTracker;	gcMonitor3Lorg/apache/jackrabbit/oak/spi/gc/GCMonitorTracker;context-Lorg/osgi/service/component/ComponentContext;	blobStore.Lorg/apache/jackrabbit/oak/spi/blob/BlobStore;,Lorg/apache/felix/scr/annotations/Reference;cardinality7Lorg/apache/felix/scr/annotations/ReferenceCardinality;OPTIONAL_UNARY2Lorg/apache/felix/scr/annotations/ReferencePolicy;DYNAMICtarget3(&(!(split.blobstore=old))(!(split.blobstore=new)))statisticsProvider4Lorg/apache/jackrabbit/oak/stats/StatisticsProvider;storeRegistration(Lorg/osgi/framework/ServiceRegistration;providerRegistration
registrationsLjava/util/List;ILjava/util/List;executor=Lorg/apache/jackrabbit/oak/spi/whiteboard/WhiteboardExecutor;ZDEFAULT_BLOB_GC_MAX_AGEJQ?PROP_BLOB_GC_MAX_AGEblobGcMaxAgeInSecs?Blob GC Max Age (in secs)Blob Garbage Collector (GC) logic will only consider those blobs for GC which are not accessed recently (currentTime - lastModifiedTime > blobGcMaxAgeInSecs). For example as per default only those blobs which have been created 24 hrs ago will be considered for GCDEFAULT_BLOB_SNAPSHOT_INTERVAL??PROP_BLOB_SNAPSHOT_INTERVALblobTrackSnapshotIntervalInSecs?)Blob tracking snapshot interval (in secs)?This is the default interval in which the snapshots of locally tracked blob ids willbe taken and synchronized with the blob store()V??
?java/lang/Object?getClass()Ljava/lang/Class;??
??org/slf4j/LoggerFactory?	getLogger%(Ljava/lang/Class;)Lorg/slf4j/Logger;??
????	?2org/apache/jackrabbit/oak/stats/StatisticsProvider?NOOP??	????	?java/util/ArrayList?
????	?this;Lorg/apache/jackrabbit/oak/segment/SegmentNodeStoreService;getNodeStore6()Lorg/apache/jackrabbit/oak/segment/SegmentNodeStore;??	?#service must be activated when used?$com/google/common/base/Preconditions?
checkState(ZLjava/lang/Object;)V??
??activate0(Lorg/osgi/service/component/ComponentContext;)Vjava/io/IOException?+Lorg/apache/felix/scr/annotations/Activate;??	?property&(Ljava/lang/String;)Ljava/lang/String;??
?java/lang/Boolean?parseBoolean(Ljava/lang/String;)Z??
??~?	???	?^BlobStore use enabled. SegmentNodeStore would be initialized when BlobStore would be available?org/slf4j/Logger?info(Ljava/lang/String;)V????registerNodeStore??
?
bindBlobStore1(Lorg/apache/jackrabbit/oak/spi/blob/BlobStore;)VunbindBlobStoreunregisterNodeStore?

deactivate-Lorg/apache/felix/scr/annotations/Deactivate;??	.org/apache/jackrabbit/oak/osgi/ObserverTracker
stop?

??	1org/apache/jackrabbit/oak/spi/gc/GCMonitorTracker

??	0org/apache/jackrabbit/oak/segment/file/FileStoreclose?
java/lang/ThrowableregisterSegmentStore()Z
0org/apache/jackrabbit/oak/commons/PropertiesUtil!	toBoolean(Ljava/lang/Object;Z)Z#$
"%registerSegmentNodeStore'
(java/util/Hashtable*
+?service.pid-java/lang/Class/getName()Ljava/lang/String;12
03java/util/Dictionary5put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;78
69oak.nodestore.description;java/lang/String=nodeStoreType=segment?+org/osgi/service/component/ComponentContextAgetBundleContext$()Lorg/osgi/framework/BundleContext;CDBE-org/apache/jackrabbit/oak/spi/state/NodeStoreG org/osgi/framework/BundleContextIregisterServiced(Ljava/lang/String;Ljava/lang/Object;Ljava/util/Dictionary;)Lorg/osgi/framework/ServiceRegistration;KLJM??	Oprops;Ljava/util/Dictionary;Gorg/apache/jackrabbit/oak/segment/file/InvalidFileStoreVersionExceptionT?Component still not activated. Ignoring the initialization callV-org/apache/jackrabbit/oak/osgi/OsgiWhiteboardX%(Lorg/osgi/framework/BundleContext;)V?Z
Y[
?start8(Lorg/apache/jackrabbit/oak/spi/whiteboard/Whiteboard;)V^_
`newGCOptionsA()Lorg/apache/jackrabbit/oak/segment/compaction/SegmentGCOptions;bc
dgetDirectory()Ljava/io/File;fg
h7org/apache/jackrabbit/oak/segment/file/FileStoreBuilderjfileStoreBuilderI(Ljava/io/File;)Lorg/apache/jackrabbit/oak/segment/file/FileStoreBuilder;lm
kngetSegmentCacheSize()Ipq
rwithSegmentCacheSize<(I)Lorg/apache/jackrabbit/oak/segment/file/FileStoreBuilder;tu
kvgetStringCacheSizexq
ywithStringCacheSize{u
k|getTemplateCacheSize~q
withTemplateCacheSize?u
k?getStringDeduplicationCacheSize?q
? withStringDeduplicationCacheSize?u
k?!getTemplateDeduplicationCacheSize?q
?"withTemplateDeduplicationCacheSize?u
k?getNodeDeduplicationCacheSize?q
?withNodeDeduplicationCacheSize?u
k?getMaxFileSize?q
?withMaxFileSize?u
k?getMode?2
?64?equals(Ljava/lang/Object;)Z??
>?withMemoryMapping<(Z)Lorg/apache/jackrabbit/oak/segment/file/FileStoreBuilder;??
k?
withGCMonitorg(Lorg/apache/jackrabbit/oak/spi/gc/GCMonitor;)Lorg/apache/jackrabbit/oak/segment/file/FileStoreBuilder;??
k?withStatisticsProvidero(Lorg/apache/jackrabbit/oak/stats/StatisticsProvider;)Lorg/apache/jackrabbit/oak/segment/file/FileStoreBuilder;??
k?
withGCOptionsz(Lorg/apache/jackrabbit/oak/segment/compaction/SegmentGCOptions;)Lorg/apache/jackrabbit/oak/segment/file/FileStoreBuilder;??
k?1Initializing SegmentNodeStore with BlobStore [{}]?'(Ljava/lang/String;Ljava/lang/Object;)V????
withBlobStorei(Lorg/apache/jackrabbit/oak/spi/blob/BlobStore;)Lorg/apache/jackrabbit/oak/segment/file/FileStoreBuilder;??
k?build4()Lorg/apache/jackrabbit/oak/segment/file/FileStore;??
k??The segment store data is not compatible with the current version. Please use oak-segment or a different version of oak-segment-tar.?error????>org/apache/jackrabbit/oak/segment/compaction/SegmentRevisionGC?Corg/apache/jackrabbit/oak/segment/compaction/SegmentRevisionGCMBean?B(Lorg/apache/jackrabbit/oak/segment/compaction/SegmentGCOptions;)V??
?? SegmentRevisionGarbageCollection?Segment node store gc options?8org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardUtils?
registerMBean?(Lorg/apache/jackrabbit/oak/spi/whiteboard/Whiteboard;Ljava/lang/Class;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Lorg/apache/jackrabbit/oak/spi/whiteboard/Registration;??
??java/util/List?add????getSegmentCacheStats5()Lorg/apache/jackrabbit/oak/api/jmx/CacheStatsMBean;??
?1org/apache/jackrabbit/oak/api/jmx/CacheStatsMBean?
CacheStats??3getStringCacheStats??
?getTemplateCacheStats??
? getStringDeduplicationCacheStats??
?"getTemplateDeduplicationCacheStats??
?getNodeDeduplicationCacheStats??
?;org/apache/jackrabbit/oak/spi/whiteboard/WhiteboardExecutor?
????	?
?`3org/apache/jackrabbit/oak/spi/state/RevisionGCMBean?.org/apache/jackrabbit/oak/spi/state/RevisionGC?getGCRunner()Ljava/lang/Runnable;?
6(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V?
?RevisionGarbageCollection.Segment node store revision garbage collection:org/apache/jackrabbit/oak/segment/file/FileStoreStatsMBean
getStats9()Lorg/apache/jackrabbit/oak/segment/file/FileStoreStats;
FileStoreStatsFileStore statistics9org/apache/jackrabbit/oak/segment/file/FileStoreGCMonitor%org/apache/jackrabbit/oak/stats/ClockSIMPLE'Lorg/apache/jackrabbit/oak/stats/Clock;	*(Lorg/apache/jackrabbit/oak/stats/Clock;)V?
>org/apache/jackrabbit/oak/spi/whiteboard/CompositeRegistration5org/apache/jackrabbit/oak/spi/whiteboard/Registration!*org/apache/jackrabbit/oak/spi/gc/GCMonitor#java/util/Collections%emptyMap()Ljava/util/Map;'(
&)registerk(Ljava/lang/Class;Ljava/lang/Object;Ljava/util/Map;)Lorg/apache/jackrabbit/oak/spi/whiteboard/Registration;+,
Y-5org/apache/jackrabbit/oak/segment/file/GCMonitorMBean/
GC Monitor1%File Store garbage collection monitor3;([Lorg/apache/jackrabbit/oak/spi/whiteboard/Registration;)V?5
 6??	8eILorg/apache/jackrabbit/oak/segment/file/InvalidFileStoreVersionException;
whiteboard/Lorg/apache/jackrabbit/oak/osgi/OsgiWhiteboard;	gcOptions?Lorg/apache/jackrabbit/oak/segment/compaction/SegmentGCOptions;builder9Lorg/apache/jackrabbit/oak/segment/file/FileStoreBuilder;segmentCacheStats3Lorg/apache/jackrabbit/oak/api/jmx/CacheStatsMBean;stringCacheStatstemplateCacheStatsstringDeduplicationCacheStatstemplateDeduplicationCacheStatsnodeDeduplicationCacheStatsfsgcm;Lorg/apache/jackrabbit/oak/segment/file/FileStoreGCMonitor;=org/apache/jackrabbit/oak/segment/compaction/SegmentGCOptionsK	toInteger(Ljava/lang/Object;I)IMN
"OgetGainThreshold()BQR
StoLong(Ljava/lang/Object;J)JUV
"W(ZIII)V?Y
LZsetGcSizeDeltaEstimationB(J)Lorg/apache/jackrabbit/oak/segment/compaction/SegmentGCOptions;\]
L^
retryCountIforceTimeout
gainThresholdBsizeDeltaEstimationjava/lang/Exceptionf
getProperties()Ljava/util/Dictionary;hiBjget&(Ljava/lang/Object;)Ljava/lang/Object;lm
6nvalueOf&(Ljava/lang/Object;)Ljava/lang/String;pq
>r 	t:org/apache/jackrabbit/oak/segment/SegmentNodeStoreBuildersv?(Lorg/apache/jackrabbit/oak/segment/file/FileStore;)Lorg/apache/jackrabbit/oak/segment/SegmentNodeStore$SegmentNodeStoreBuilder;@x
wy??
{4(Lorg/apache/jackrabbit/oak/spi/commit/Observable;)V?}
~^Z
?1org/apache/jackrabbit/oak/api/jmx/CheckpointMBean?8org/apache/jackrabbit/oak/segment/SegmentCheckpointMBean?7(Lorg/apache/jackrabbit/oak/segment/SegmentNodeStore;)V??
??CheckpointManger?(Segment node store checkpoint management?1org/apache/jackrabbit/oak/util/GenericDescriptors?
??
oak.clusterid?0org/apache/jackrabbit/commons/SimpleValueFactory?
??Borg/apache/jackrabbit/oak/plugins/identifier/ClusterRepositoryInfo?
getOrCreateIdC(Lorg/apache/jackrabbit/oak/spi/state/NodeStore;)Ljava/lang/String;??
??createValue%(Ljava/lang/String;)Ljavax/jcr/Value;??
??Z(Ljava/lang/String;Ljavax/jcr/Value;ZZ)Lorg/apache/jackrabbit/oak/util/GenericDescriptors;7?
??)org/apache/jackrabbit/oak/api/Descriptors?Aorg/apache/jackrabbit/oak/segment/SegmentDiscoveryLiteDescriptors?2(Lorg/apache/jackrabbit/oak/spi/state/NodeStore;)V??
???isShared1(Lorg/apache/jackrabbit/oak/spi/blob/BlobStore;)Z??
?6org/apache/jackrabbit/oak/plugins/blob/SharedDataStore?java/io/ByteArrayInputStream?([B)V??
??
REPOSITORY]Lorg/apache/jackrabbit/oak/plugins/blob/datastore/SharedDataStoreUtils$SharedStoreRecordType;??	?
getNameFromId??
?addMetadataRecord*(Ljava/io/InputStream;Ljava/lang/String;)V????(Could not register a unique repositoryId?*(Ljava/lang/String;Ljava/lang/Throwable;)V??
??8org/apache/jackrabbit/oak/plugins/blob/BlobTrackingStore?com/google/common/base/Strings?
isNullOrEmpty??
??
repository?
getTracker@()Lorg/apache/jackrabbit/oak/plugins/blob/datastore/BlobTracker;????org/apache/jackrabbit/oak/plugins/blob/datastore/BlobIdTracker?`(Ljava/lang/String;Ljava/lang/String;JLorg/apache/jackrabbit/oak/plugins/blob/SharedDataStore;)V??
??
addTrackerA(Lorg/apache/jackrabbit/oak/plugins/blob/datastore/BlobTracker;)V????getBlobStore0()Lorg/apache/jackrabbit/oak/spi/blob/BlobStore;??
?>org/apache/jackrabbit/oak/spi/blob/GarbageCollectableBlobStore?@org/apache/jackrabbit/oak/plugins/blob/MarkSweepGarbageCollector??org/apache/jackrabbit/oak/segment/SegmentBlobReferenceRetriever?5(Lorg/apache/jackrabbit/oak/segment/file/FileStore;)V??
??java/util/concurrent/TimeUnit?SECONDSLjava/util/concurrent/TimeUnit;??	??toMillis(J)J??
???(Lorg/apache/jackrabbit/oak/plugins/blob/BlobReferenceRetriever;Lorg/apache/jackrabbit/oak/spi/blob/GarbageCollectableBlobStore;Ljava/util/concurrent/Executor;JLjava/lang/String;)V??
??2org/apache/jackrabbit/oak/plugins/blob/BlobGCMBean?-org/apache/jackrabbit/oak/plugins/blob/BlobGC?_(Lorg/apache/jackrabbit/oak/plugins/blob/BlobGarbageCollector;Ljava/util/concurrent/Executor;)V??
??BlobGarbageCollection*Segment node store blob garbage collectionSegmentNodeStore initializedLjava/lang/Exception;trackSnapshotIntervalroot
trackingStore:Lorg/apache/jackrabbit/oak/plugins/blob/BlobTrackingStore;gc=Lorg/apache/jackrabbit/oak/plugins/blob/BlobGarbageCollector;
propertiesLjava/util/Dictionary<**>;
clusterIdDesc3Lorg/apache/jackrabbit/oak/util/GenericDescriptors;repoId(Ljava/util/List;)V?
 
unregister?
 &org/osgi/framework/ServiceRegistration
?
getBaseDirectoryjava/io/File??
tarmk!	directoryg
$segmentstore&#(Ljava/io/File;Ljava/lang/String;)V?(
)sun.arch.data.model+32-java/lang/System/getProperty8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;12
03modegetCacheSize1?
07propertyName	cacheSize6?
;java/lang/Integer=parseInt(Ljava/lang/String;)I?@
>Ajava/lang/MathCmax(II)IEF
DGnumberOfLeadingZeros(I)IIJ
>KsizegetMaxFileSizeProperty256ON2
Qjava/lang/ByteS$(Ljava/lang/String;)Ljava/lang/Byte;pU
TVYR
TXgt'org/apache/jackrabbit/oak/osgi/OsgiUtil[ lookupConfigurationThenFrameworkS(Lorg/osgi/service/component/ComponentContext;Ljava/lang/String;)Ljava/lang/String;]^
\_getSegmentStore2()Lorg/apache/jackrabbit/oak/segment/SegmentStore;addObserverD(Lorg/apache/jackrabbit/oak/spi/commit/Observer;)Ljava/io/Closeable;??
ecd
gobserver/Lorg/apache/jackrabbit/oak/spi/commit/Observer;toStringjava/lang/StringBuilderl
m?append-(Ljava/lang/String;)Ljava/lang/StringBuilder;op
mq: s-(Ljava/lang/Object;)Ljava/lang/StringBuilder;ou
mvk2
mx1()Lorg/apache/jackrabbit/oak/spi/state/NodeStore;bindStatisticsProvider7(Lorg/apache/jackrabbit/oak/stats/StatisticsProvider;)VunbindStatisticsProvider
ConstantValueRuntimeInvisibleAnnotations	SignatureCodeLocalVariableTableLineNumberTable
StackMapTable
ExceptionsLocalVariableTypeTable
SourceFileInnerClasses!#~!"~$%s&s'(~*%s+s,-~/%0[I1s2s34~6%0[I1s7s89~;%0[I1s<s=>~@%0[IAsBsCD~F%0[IGsHsIJ~L%0[IMsNsOP~R%0[ISsTsUV~X%Y[BZs[s\]~_%`[Zasbscd~f%0[Igshsij~l%0[Imsnsop~r%s[Jtsvswx~z%`[Zas{s|}~%`[Zas?s??? ??B????????B????e??e???s??????????????~???~??~?%s[J?s?s???~??~?%s[J?s?s????X"*??**???õ?*?ʵ?*??Y?ϵѱ?"???t????O*????ٸ?*?װ????
$%?@????3*+??**????*???*??*??????*????3??3???*+- ..022?.????F
*+??*????
??
???56	7???F
*??*???
??
???:;	<???G*?*YL?*?	?
*?	?*??
*??*??*??*??*?+çM+?,??>AADA?G???2@BCDFG$I)K0L7M<OFP??
D"????^*? ?Y*z???&??*?)?D?+Y?,L+.?4?:W+<?>Y@S?:W**??FH?4*+?N?P??$9QS^???$9QR?&	STUXY$Z1[C\]_??G?????*???*??W????YY*??F?\L*?Y?]?*?+?a*?eM*?i?o*?s?w*?z?}*????*????*????*????*????*???????*???*?̶?,??N*??*???*????-*????W*-????:*??ù??*??+Ȼ?Y,???Ѹ׹?W*???:*??+?????׹?W*???:*??+?????׹?W*???:*??+?????׹?W*???:? *??+?????׹?W*???:? *??+?????׹?W*???:		? *??+?	?	???׹?W*??Y????*??+??*??+???Y*??*???	?׹?W*??+*???׹?W?Y??:
*?ѻ Y?"Y+$
?*?.SY+0
24??S?7??W**??F?4*?N?9????U?z?:;???&t<=>\>??@A??BC{DCEUECk/FC?GC??HC	IQIJ
?Fbcdg&k1l9o>rFsMtTu[vbwixpywz?{?|?}??????????????????????
???.?3?<?E?T?Y?b?k?p?????????????????????????????????+?4?=?I?]?r?y????????YLkJU??YLk?????*??*???bc??H*_???&<*f???P=*l??*?T6*r??t?X7?LY?[?_??>H??=^?2`a"&ba( cd6e?????"(6D'??*??kL*+!?o?s?u*?????XA?YY*??F?\:**??z?|??*?Y*?׷?	*?	*??F??*?????Y*?׷????׹?W??Y??:???Y??*?׸?????W*????*?.??W*?????Y*?׷??*?.??W?:*??????*?׸?:*??????Y??????????:??Y??ſ*???Ǚe*?????X7*$??:		?̙?:	*????:

???
????*???ǻ?Y	*?????ڹ?*?????S??Y??Y*???*?????*???? ????:*?????Y*?????׹?W*??????g?p
:BT?JL	`6	

?%??
?
S$???6?<=?r??
?
??,	

$6DSc???????!??%?(?%?,?-?/?010423*647B9J:R;W>`?j@vB?H?I?K?M?Q?Z?[?0?6Y?>g?,>????\?????L? Y*?ѷ?*?9?*?9?*?9*?P?*?P?*?P*???*???*????L???._`ab#d*e3f8h?iFjKl?#g?m*$??L+??Y+? ??Y"? ????#?oqru??>fg?9?Y*?%'?*?????y?2?j**??L+?+?*,.?4?4????5?}?
???
>6??i*+??M,?,?+?8?? ??9:???
????>pq?4
*6??q?2*?R?B??????QR?d*X??L+?
?+?W?Y????Z???????>???=	*??+?`??	??	 ??ab?/*???????cd?=	*?f+?h??	??	ij??k2?I?mY?n*?u?rt?r*?׶w?y??????D?z?/*?f?????k{|?*+?̱}|?#*??+?*?̱?
?	?	@
e
Zss




© 2015 - 2025 Weber Informatics LLC | Privacy Policy