OpenJDK / jdk / jdk
changeset 3166:db3342c67a1c
Merge
author | xdono |
---|---|
date | Mon, 29 Jun 2009 22:13:31 -0700 |
parents | 0fa59fd2b694 dfd8506f74c3 |
children | 9fba5ea83d28 |
files | README-builds.html jdk/src/share/classes/sun/nio/cs/ext/DBCSDecoderMapping.java jdk/src/share/classes/sun/nio/cs/ext/DBCS_IBM_ASCII_Decoder.java jdk/src/share/classes/sun/nio/cs/ext/DBCS_IBM_ASCII_Encoder.java jdk/src/share/classes/sun/nio/cs/ext/DBCS_IBM_EBCDIC_Decoder.java jdk/src/share/classes/sun/nio/cs/ext/DBCS_IBM_EBCDIC_Encoder.java jdk/src/share/classes/sun/nio/cs/ext/DBCS_ONLY_IBM_EBCDIC_Decoder.java jdk/src/share/classes/sun/nio/cs/ext/IBM1381.java jdk/src/share/classes/sun/nio/cs/ext/IBM1383.java jdk/src/share/classes/sun/nio/cs/ext/IBM930.java jdk/src/share/classes/sun/nio/cs/ext/IBM933.java jdk/src/share/classes/sun/nio/cs/ext/IBM935.java jdk/src/share/classes/sun/nio/cs/ext/IBM937.java jdk/src/share/classes/sun/nio/cs/ext/IBM939.java jdk/src/share/classes/sun/nio/cs/ext/IBM942.java jdk/src/share/classes/sun/nio/cs/ext/IBM943.java jdk/src/share/classes/sun/nio/cs/ext/IBM948.java jdk/src/share/classes/sun/nio/cs/ext/IBM949.java jdk/src/share/classes/sun/nio/cs/ext/IBM950.java jdk/src/share/classes/sun/nio/cs/ext/IBM970.java jdk/src/share/classes/sun/nio/cs/ext/SimpleEUCDecoder.java jdk/src/share/native/sun/font/bidi/cmemory.h jdk/src/share/native/sun/font/bidi/jbidi.c jdk/src/share/native/sun/font/bidi/jbidi.h jdk/src/share/native/sun/font/bidi/ubidi.c jdk/src/share/native/sun/font/bidi/ubidi.h jdk/src/share/native/sun/font/bidi/ubidiimp.h jdk/src/share/native/sun/font/bidi/ubidiln.c jdk/src/share/native/sun/font/bidi/uchardir.c jdk/src/share/native/sun/font/bidi/uchardir.h jdk/src/share/native/sun/font/bidi/utypes.h langtools/src/share/classes/sun/tools/javap/AttrData.java langtools/src/share/classes/sun/tools/javap/CPX.java langtools/src/share/classes/sun/tools/javap/CPX2.java langtools/src/share/classes/sun/tools/javap/ClassData.java langtools/src/share/classes/sun/tools/javap/Constants.java langtools/src/share/classes/sun/tools/javap/FieldData.java langtools/src/share/classes/sun/tools/javap/InnerClassData.java langtools/src/share/classes/sun/tools/javap/JavapEnvironment.java langtools/src/share/classes/sun/tools/javap/JavapPrinter.java langtools/src/share/classes/sun/tools/javap/LineNumData.java langtools/src/share/classes/sun/tools/javap/LocVarData.java langtools/src/share/classes/sun/tools/javap/Main.java langtools/src/share/classes/sun/tools/javap/MethodData.java langtools/src/share/classes/sun/tools/javap/RuntimeConstants.java langtools/src/share/classes/sun/tools/javap/StackMapData.java langtools/src/share/classes/sun/tools/javap/StackMapTableData.java langtools/src/share/classes/sun/tools/javap/Tables.java langtools/src/share/classes/sun/tools/javap/TrapData.java langtools/src/share/classes/sun/tools/javap/TypeSignature.java langtools/test/tools/javac/code/ArrayClone.sh langtools/test/tools/javap/ListTest.java langtools/test/tools/javap/OptionTest.java |
diffstat | 840 files changed, 336244 insertions(+), 111868 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgtags Mon Jun 22 10:13:20 2009 -0700 +++ b/.hgtags Mon Jun 29 22:13:31 2009 -0700 @@ -35,3 +35,5 @@ d60a9ce3c3eabf28f5d50ae839d18be04a551bc2 jdk7-b58 c33e7d38c9210741dbc285507403a4b20bd802a0 jdk7-b59 5a10e4d0b14d7beac53a7b2213ae6864afe1fd3e jdk7-b60 +dbb955b1ee59b876dd1f133952b557b48b1d7732 jdk7-b61 +6107cbff3130c747d243c25a7874cd59db5744a8 jdk7-b62
--- a/.hgtags-top-repo Mon Jun 22 10:13:20 2009 -0700 +++ b/.hgtags-top-repo Mon Jun 29 22:13:31 2009 -0700 @@ -36,3 +36,4 @@ 030142474602b4a067662fffc0c8e541de5a78df jdk7-b59 39565502682c7085369bd09e51640919dc741097 jdk7-b60 472c21584cfd7e9c0229ad6a100366a5c03d2976 jdk7-b61 +c7ed15ab92ce36a09d264a5e34025884b2d7607f jdk7-b62
--- a/README-builds.html Mon Jun 22 10:13:20 2009 -0700 +++ b/README-builds.html Mon Jun 29 22:13:31 2009 -0700 @@ -72,6 +72,7 @@ <li>Linux and Solaris: <ul> <li><a href="#cups">CUPS Include files</a> </li> + <li><a href="#xrender">XRender Include files</a></li> </ul> </li> <li>Linux only: @@ -666,6 +667,9 @@ <tt><a href="#ALT_CUPS_HEADERS_PATH">ALT_CUPS_HEADERS_PATH</a></tt>. </li> <li> + Install the <a href="#xrender">XRender Include files</a>. + </li> + <li> Install the <a href="#jibx">JIBX Libraries</a>, set <tt><a href="#ALT_JIBX_LIBS_PATH">ALT_JIBX_LIBS_PATH</a></tt>. @@ -1041,6 +1045,27 @@ CUPS Header files. </blockquote> <!-- ------------------------------------------------------ --> + <h4><a name="xrender">XRender Extension Headers (Solaris & Linux)</a></h4> + <blockquote> + <p> + <strong>Solaris:</strong> + XRender header files are required for building the + OpenJDK on Solaris. + The XRender header file is included with the other X11 header files + in the package <strong>SFWxwinc</strong> on new enough versions of + Solaris and will be installed in + <tt>/usr/X11/include/X11/extensions/Xrender.h</tt> + </p><p> + <strong>Linux:</strong> + XRender header files are required for building the + OpenJDK on Linux. + The Linux header files are usually available from a "Xrender" + development package, it's recommended that you try and use + the package provided by the particular distribution of Linux that + you are using. + </p> + </blockquote> + <!-- ------------------------------------------------------ --> <h4><a name="freetype">FreeType 2</a></h4> <blockquote> Version 2.3 or newer of FreeType is required for building the OpenJDK.
--- a/corba/.hgtags Mon Jun 22 10:13:20 2009 -0700 +++ b/corba/.hgtags Mon Jun 29 22:13:31 2009 -0700 @@ -35,3 +35,5 @@ 2e3b8edab3ef55406494d3dd562e06882e6fc15e jdk7-b58 7e6b2b55c00cc523b468272353ada3979adbbf16 jdk7-b59 f1e1cccbd13aa96d2d8bd872782ff764010bc22c jdk7-b60 +e906b16a12a9a63b615898afa5d9673cbd1c5ab8 jdk7-b61 +65b66117dbd70a493e9644aeb4033cf95a4e3c99 jdk7-b62
--- a/corba/make/Makefile Mon Jun 22 10:13:20 2009 -0700 +++ b/corba/make/Makefile Mon Jun 29 22:13:31 2009 -0700 @@ -106,7 +106,12 @@ SOURCE_LEVEL = 5 BOOTSTRAP_TARGET_LEVEL = 5 -TARGET_LEVEL = 6 + +ifdef TARGET_CLASS_VERSION + TARGET_LEVEL = $(TARGET_CLASS_VERSION) +else + TARGET_LEVEL = 6 +endif ifndef TARGET_JAVA TARGET_JAVA = java
--- a/hotspot/.hgtags Mon Jun 22 10:13:20 2009 -0700 +++ b/hotspot/.hgtags Mon Jun 29 22:13:31 2009 -0700 @@ -35,3 +35,5 @@ 53d9bf689e80fcc76b221bbe6c5d58e08b80cbc6 jdk7-b58 c55be0c7bd32c016c52218eb4c8b5da8a75450b5 jdk7-b59 a77eddcd510c3972717c025cfcef9a60bfa4ecac jdk7-b60 +27b728fd1281ab62e9d7e4424f8bbb6ca438d803 jdk7-b61 +a88386380bdaaa5ab4ffbedf22c57bac5dbec034 jdk7-b62
--- a/hotspot/make/hotspot_version Mon Jun 22 10:13:20 2009 -0700 +++ b/hotspot/make/hotspot_version Mon Jun 29 22:13:31 2009 -0700 @@ -35,7 +35,7 @@ HS_MAJOR_VER=16 HS_MINOR_VER=0 -HS_BUILD_NUMBER=04 +HS_BUILD_NUMBER=05 JDK_MAJOR_VER=1 JDK_MINOR_VER=7
--- a/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp Mon Jun 22 10:13:20 2009 -0700 +++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp Mon Jun 29 22:13:31 2009 -0700 @@ -1157,6 +1157,13 @@ } else { // We're done with marking. JavaThread::satb_mark_queue_set().set_active_all_threads(false); + + if (VerifyDuringGC) { + g1h->prepare_for_verify(); + g1h->verify(/* allow_dirty */ true, + /* silent */ false, + /* use_prev_marking */ false); + } } #if VERIFY_OBJS_PROCESSED @@ -1747,12 +1754,12 @@ // races with it goes around and waits for completeCleanup to finish. g1h->increment_total_collections(); -#ifndef PRODUCT if (VerifyDuringGC) { - G1CollectedHeap::heap()->prepare_for_verify(); - G1CollectedHeap::heap()->verify(true,false); + g1h->prepare_for_verify(); + g1h->verify(/* allow_dirty */ true, + /* silent */ false, + /* use_prev_marking */ true); } -#endif } void ConcurrentMark::completeCleanup() {
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Mon Jun 22 10:13:20 2009 -0700 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp Mon Jun 29 22:13:31 2009 -0700 @@ -1535,6 +1535,15 @@ guarantee(_hrs != NULL, "Couldn't allocate HeapRegionSeq"); guarantee(_cur_alloc_region == NULL, "from constructor"); + // 6843694 - ensure that the maximum region index can fit + // in the remembered set structures. + const size_t max_region_idx = ((size_t)1 << (sizeof(RegionIdx_t)*BitsPerByte-1)) - 1; + guarantee((max_regions() - 1) <= max_region_idx, "too many regions"); + + const size_t cards_per_region = HeapRegion::GrainBytes >> CardTableModRefBS::card_shift; + size_t max_cards_per_region = ((size_t)1 << (sizeof(CardIdx_t)*BitsPerByte-1)) - 1; + guarantee(cards_per_region < max_cards_per_region, "too many cards per region"); + _bot_shared = new G1BlockOffsetSharedArray(_reserved, heap_word_size(init_byte_size)); @@ -2127,17 +2136,22 @@ }; class VerifyObjsInRegionClosure: public ObjectClosure { +private: G1CollectedHeap* _g1h; size_t _live_bytes; HeapRegion *_hr; + bool _use_prev_marking; public: - VerifyObjsInRegionClosure(HeapRegion *hr) : _live_bytes(0), _hr(hr) { + // use_prev_marking == true -> use "prev" marking information, + // use_prev_marking == false -> use "next" marking information + VerifyObjsInRegionClosure(HeapRegion *hr, bool use_prev_marking) + : _live_bytes(0), _hr(hr), _use_prev_marking(use_prev_marking) { _g1h = G1CollectedHeap::heap(); } void do_object(oop o) { VerifyLivenessOopClosure isLive(_g1h); assert(o != NULL, "Huh?"); - if (!_g1h->is_obj_dead(o)) { + if (!_g1h->is_obj_dead_cond(o, _use_prev_marking)) { o->oop_iterate(&isLive); if (!_hr->obj_allocated_since_prev_marking(o)) _live_bytes += (o->size() * HeapWordSize); @@ -2176,17 +2190,22 @@ }; class VerifyRegionClosure: public HeapRegionClosure { -public: +private: bool _allow_dirty; bool _par; - VerifyRegionClosure(bool allow_dirty, bool par = false) - : _allow_dirty(allow_dirty), _par(par) {} + bool _use_prev_marking; +public: + // use_prev_marking == true -> use "prev" marking information, + // use_prev_marking == false -> use "next" marking information + VerifyRegionClosure(bool allow_dirty, bool par, bool use_prev_marking) + : _allow_dirty(allow_dirty), _par(par), + _use_prev_marking(use_prev_marking) {} bool doHeapRegion(HeapRegion* r) { guarantee(_par || r->claim_value() == HeapRegion::InitialClaimValue, "Should be unclaimed at verify points."); if (!r->continuesHumongous()) { - VerifyObjsInRegionClosure not_dead_yet_cl(r); - r->verify(_allow_dirty); + VerifyObjsInRegionClosure not_dead_yet_cl(r, _use_prev_marking); + r->verify(_allow_dirty, _use_prev_marking); r->object_iterate(¬_dead_yet_cl); guarantee(r->max_live_bytes() >= not_dead_yet_cl.live_bytes(), "More live objects than counted in last complete marking."); @@ -2199,10 +2218,13 @@ private: G1CollectedHeap* _g1h; bool _failures; - + bool _use_prev_marking; public: - VerifyRootsClosure() : - _g1h(G1CollectedHeap::heap()), _failures(false) { } + // use_prev_marking == true -> use "prev" marking information, + // use_prev_marking == false -> use "next" marking information + VerifyRootsClosure(bool use_prev_marking) : + _g1h(G1CollectedHeap::heap()), _failures(false), + _use_prev_marking(use_prev_marking) { } bool failures() { return _failures; } @@ -2213,7 +2235,7 @@ void do_oop(oop* p) { oop obj = *p; if (obj != NULL) { - if (_g1h->is_obj_dead(obj)) { + if (_g1h->is_obj_dead_cond(obj, _use_prev_marking)) { gclog_or_tty->print_cr("Root location "PTR_FORMAT" " "points to dead obj "PTR_FORMAT, p, (void*) obj); obj->print_on(gclog_or_tty); @@ -2229,24 +2251,35 @@ private: G1CollectedHeap* _g1h; bool _allow_dirty; + bool _use_prev_marking; public: - G1ParVerifyTask(G1CollectedHeap* g1h, bool allow_dirty) : + // use_prev_marking == true -> use "prev" marking information, + // use_prev_marking == false -> use "next" marking information + G1ParVerifyTask(G1CollectedHeap* g1h, bool allow_dirty, + bool use_prev_marking) : AbstractGangTask("Parallel verify task"), - _g1h(g1h), _allow_dirty(allow_dirty) { } + _g1h(g1h), _allow_dirty(allow_dirty), + _use_prev_marking(use_prev_marking) { } void work(int worker_i) { HandleMark hm; - VerifyRegionClosure blk(_allow_dirty, true); + VerifyRegionClosure blk(_allow_dirty, true, _use_prev_marking); _g1h->heap_region_par_iterate_chunked(&blk, worker_i, HeapRegion::ParVerifyClaimValue); } }; void G1CollectedHeap::verify(bool allow_dirty, bool silent) { + verify(allow_dirty, silent, /* use_prev_marking */ true); +} + +void G1CollectedHeap::verify(bool allow_dirty, + bool silent, + bool use_prev_marking) { if (SafepointSynchronize::is_at_safepoint() || ! UseTLAB) { if (!silent) { gclog_or_tty->print("roots "); } - VerifyRootsClosure rootsCl; + VerifyRootsClosure rootsCl(use_prev_marking); process_strong_roots(false, SharedHeap::SO_AllClasses, &rootsCl, @@ -2257,7 +2290,7 @@ assert(check_heap_region_claim_values(HeapRegion::InitialClaimValue), "sanity check"); - G1ParVerifyTask task(this, allow_dirty); + G1ParVerifyTask task(this, allow_dirty, use_prev_marking); int n_workers = workers()->total_workers(); set_par_threads(n_workers); workers()->run_task(&task); @@ -2271,7 +2304,7 @@ assert(check_heap_region_claim_values(HeapRegion::InitialClaimValue), "sanity check"); } else { - VerifyRegionClosure blk(allow_dirty); + VerifyRegionClosure blk(allow_dirty, false, use_prev_marking); _hrs->iterate(&blk); } if (!silent) gclog_or_tty->print("remset ");
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Mon Jun 22 10:13:20 2009 -0700 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Mon Jun 29 22:13:31 2009 -0700 @@ -59,6 +59,9 @@ typedef GenericTaskQueue<oop*> RefToScanQueue; typedef GenericTaskQueueSet<oop*> RefToScanQueueSet; +typedef int RegionIdx_t; // needs to hold [ 0..max_regions() ) +typedef int CardIdx_t; // needs to hold [ 0..CardsPerRegion ) + enum G1GCThreadGroups { G1CRGroup = 0, G1ZFGroup = 1, @@ -1046,6 +1049,17 @@ virtual void prepare_for_verify(); // Perform verification. + + // use_prev_marking == true -> use "prev" marking information, + // use_prev_marking == false -> use "next" marking information + // NOTE: Only the "prev" marking information is guaranteed to be + // consistent most of the time, so most calls to this should use + // use_prev_marking == true. Currently, there is only one case where + // this is called with use_prev_marking == false, which is to verify + // the "next" marking information at the end of remark. + void verify(bool allow_dirty, bool silent, bool use_prev_marking); + + // Override; it uses the "prev" marking information virtual void verify(bool allow_dirty, bool silent); virtual void print() const; virtual void print_on(outputStream* st) const; @@ -1122,6 +1136,18 @@ bool isMarkedPrev(oop obj) const; bool isMarkedNext(oop obj) const; + // use_prev_marking == true -> use "prev" marking information, + // use_prev_marking == false -> use "next" marking information + bool is_obj_dead_cond(const oop obj, + const HeapRegion* hr, + const bool use_prev_marking) const { + if (use_prev_marking) { + return is_obj_dead(obj, hr); + } else { + return is_obj_ill(obj, hr); + } + } + // Determine if an object is dead, given the object and also // the region to which the object belongs. An object is dead // iff a) it was not allocated since the last mark and b) it @@ -1159,8 +1185,19 @@ // Added if it is in permanent gen it isn't dead. // Added if it is NULL it isn't dead. - bool is_obj_dead(oop obj) { - HeapRegion* hr = heap_region_containing(obj); + // use_prev_marking == true -> use "prev" marking information, + // use_prev_marking == false -> use "next" marking information + bool is_obj_dead_cond(const oop obj, + const bool use_prev_marking) { + if (use_prev_marking) { + return is_obj_dead(obj); + } else { + return is_obj_ill(obj); + } + } + + bool is_obj_dead(const oop obj) { + const HeapRegion* hr = heap_region_containing(obj); if (hr == NULL) { if (Universe::heap()->is_in_permanent(obj)) return false; @@ -1170,8 +1207,8 @@ else return is_obj_dead(obj, hr); } - bool is_obj_ill(oop obj) { - HeapRegion* hr = heap_region_containing(obj); + bool is_obj_ill(const oop obj) { + const HeapRegion* hr = heap_region_containing(obj); if (hr == NULL) { if (Universe::heap()->is_in_permanent(obj)) return false;
--- a/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp Mon Jun 22 10:13:20 2009 -0700 +++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp Mon Jun 29 22:13:31 2009 -0700 @@ -40,15 +40,19 @@ {} class VerifyLiveClosure: public OopClosure { +private: G1CollectedHeap* _g1h; CardTableModRefBS* _bs; oop _containing_obj; bool _failures; int _n_failures; + bool _use_prev_marking; public: - VerifyLiveClosure(G1CollectedHeap* g1h) : + // use_prev_marking == true -> use "prev" marking information, + // use_prev_marking == false -> use "next" marking information + VerifyLiveClosure(G1CollectedHeap* g1h, bool use_prev_marking) : _g1h(g1h), _bs(NULL), _containing_obj(NULL), - _failures(false), _n_failures(0) + _failures(false), _n_failures(0), _use_prev_marking(use_prev_marking) { BarrierSet* bs = _g1h->barrier_set(); if (bs->is_a(BarrierSet::CardTableModRef)) @@ -68,11 +72,13 @@ void do_oop(oop* p) { assert(_containing_obj != NULL, "Precondition"); - assert(!_g1h->is_obj_dead(_containing_obj), "Precondition"); + assert(!_g1h->is_obj_dead_cond(_containing_obj, _use_prev_marking), + "Precondition"); oop obj = *p; if (obj != NULL) { bool failed = false; - if (!_g1h->is_in_closed_subset(obj) || _g1h->is_obj_dead(obj)) { + if (!_g1h->is_in_closed_subset(obj) || + _g1h->is_obj_dead_cond(obj, _use_prev_marking)) { if (!_failures) { gclog_or_tty->print_cr(""); gclog_or_tty->print_cr("----------"); @@ -647,19 +653,23 @@ G1OffsetTableContigSpace::print_on(st); } +void HeapRegion::verify(bool allow_dirty) const { + verify(allow_dirty, /* use_prev_marking */ true); +} + #define OBJ_SAMPLE_INTERVAL 0 #define BLOCK_SAMPLE_INTERVAL 100 // This really ought to be commoned up into OffsetTableContigSpace somehow. // We would need a mechanism to make that code skip dead objects. -void HeapRegion::verify(bool allow_dirty) const { +void HeapRegion::verify(bool allow_dirty, bool use_prev_marking) const { G1CollectedHeap* g1 = G1CollectedHeap::heap(); HeapWord* p = bottom(); HeapWord* prev_p = NULL; int objs = 0; int blocks = 0; - VerifyLiveClosure vl_cl(g1); + VerifyLiveClosure vl_cl(g1, use_prev_marking); while (p < top()) { size_t size = oop(p)->size(); if (blocks == BLOCK_SAMPLE_INTERVAL) { @@ -671,7 +681,7 @@ } if (objs == OBJ_SAMPLE_INTERVAL) { oop obj = oop(p); - if (!g1->is_obj_dead(obj, this)) { + if (!g1->is_obj_dead_cond(obj, this, use_prev_marking)) { obj->verify(); vl_cl.set_containing_obj(obj); obj->oop_iterate(&vl_cl);
--- a/hotspot/src/share/vm/gc_implementation/g1/heapRegion.hpp Mon Jun 22 10:13:20 2009 -0700 +++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegion.hpp Mon Jun 29 22:13:31 2009 -0700 @@ -782,7 +782,16 @@ void print() const; void print_on(outputStream* st) const; - // Override + // use_prev_marking == true -> use "prev" marking information, + // use_prev_marking == false -> use "next" marking information + // NOTE: Only the "prev" marking information is guaranteed to be + // consistent most of the time, so most calls to this should use + // use_prev_marking == true. Currently, there is only one case where + // this is called with use_prev_marking == false, which is to verify + // the "next" marking information at the end of remark. + void verify(bool allow_dirty, bool use_prev_marking) const; + + // Override; it uses the "prev" marking information virtual void verify(bool allow_dirty) const; #ifdef DEBUG
--- a/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp Mon Jun 22 10:13:20 2009 -0700 +++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp Mon Jun 29 22:13:31 2009 -0700 @@ -109,7 +109,7 @@ return new PerRegionTable(hr); } - void add_card_work(short from_card, bool par) { + void add_card_work(CardIdx_t from_card, bool par) { if (!_bm.at(from_card)) { if (par) { if (_bm.par_at_put(from_card, 1)) { @@ -141,11 +141,11 @@ // and adding a bit to the new table is never incorrect. if (loc_hr->is_in_reserved(from)) { size_t hw_offset = pointer_delta((HeapWord*)from, loc_hr->bottom()); - size_t from_card = - hw_offset >> - (CardTableModRefBS::card_shift - LogHeapWordSize); + CardIdx_t from_card = (CardIdx_t) + hw_offset >> (CardTableModRefBS::card_shift - LogHeapWordSize); - add_card_work((short) from_card, par); + assert(0 <= from_card && from_card < CardsPerRegion, "Must be in range."); + add_card_work(from_card, par); } } @@ -190,11 +190,11 @@ #endif } - void add_card(short from_card_index) { + void add_card(CardIdx_t from_card_index) { add_card_work(from_card_index, /*parallel*/ true); } - void seq_add_card(short from_card_index) { + void seq_add_card(CardIdx_t from_card_index) { add_card_work(from_card_index, /*parallel*/ false); } @@ -604,7 +604,7 @@ // Note that this may be a continued H region. HeapRegion* from_hr = _g1h->heap_region_containing_raw(from); - size_t from_hrs_ind = (size_t)from_hr->hrs_index(); + RegionIdx_t from_hrs_ind = (RegionIdx_t) from_hr->hrs_index(); // If the region is already coarsened, return. if (_coarse_map.at(from_hrs_ind)) { @@ -627,11 +627,11 @@ uintptr_t from_hr_bot_card_index = uintptr_t(from_hr->bottom()) >> CardTableModRefBS::card_shift; - int card_index = from_card - from_hr_bot_card_index; + CardIdx_t card_index = from_card - from_hr_bot_card_index; assert(0 <= card_index && card_index < PosParPRT::CardsPerRegion, "Must be in range."); if (G1HRRSUseSparseTable && - _sparse_table.add_card((short) from_hrs_ind, card_index)) { + _sparse_table.add_card(from_hrs_ind, card_index)) { if (G1RecordHRRSOops) { HeapRegionRemSet::record(hr(), from); #if HRRS_VERBOSE @@ -656,9 +656,9 @@ } // Otherwise, transfer from sparse to fine-grain. - short cards[SparsePRTEntry::CardsPerEntry]; + CardIdx_t cards[SparsePRTEntry::CardsPerEntry]; if (G1HRRSUseSparseTable) { - bool res = _sparse_table.get_cards((short) from_hrs_ind, &cards[0]); + bool res = _sparse_table.get_cards(from_hrs_ind, &cards[0]); assert(res, "There should have been an entry"); } @@ -679,13 +679,13 @@ // Add in the cards from the sparse table. if (G1HRRSUseSparseTable) { for (int i = 0; i < SparsePRTEntry::CardsPerEntry; i++) { - short c = cards[i]; + CardIdx_t c = cards[i]; if (c != SparsePRTEntry::NullEntry) { prt->add_card(c); } } // Now we can delete the sparse entry. - bool res = _sparse_table.delete_entry((short) from_hrs_ind); + bool res = _sparse_table.delete_entry(from_hrs_ind); assert(res, "It should have been there."); } } @@ -1030,7 +1030,7 @@ bool OtherRegionsTable::contains_reference_locked(oop* from) const { HeapRegion* hr = _g1h->heap_region_containing_raw(from); if (hr == NULL) return false; - size_t hr_ind = hr->hrs_index(); + RegionIdx_t hr_ind = (RegionIdx_t) hr->hrs_index(); // Is this region in the coarse map? if (_coarse_map.at(hr_ind)) return true; @@ -1045,8 +1045,9 @@ uintptr_t hr_bot_card_index = uintptr_t(hr->bottom()) >> CardTableModRefBS::card_shift; assert(from_card >= hr_bot_card_index, "Inv"); - int card_index = from_card - hr_bot_card_index; - return _sparse_table.contains_card((short)hr_ind, card_index); + CardIdx_t card_index = from_card - hr_bot_card_index; + assert(0 <= card_index && card_index < PosParPRT::CardsPerRegion, "Must be in range."); + return _sparse_table.contains_card(hr_ind, card_index); }
--- a/hotspot/src/share/vm/gc_implementation/g1/sparsePRT.cpp Mon Jun 22 10:13:20 2009 -0700 +++ b/hotspot/src/share/vm/gc_implementation/g1/sparsePRT.cpp Mon Jun 29 22:13:31 2009 -0700 @@ -33,7 +33,7 @@ sprt_iter->init(this); } -void SparsePRTEntry::init(short region_ind) { +void SparsePRTEntry::init(RegionIdx_t region_ind) { _region_ind = region_ind; _next_index = NullEntry; #if UNROLL_CARD_LOOPS @@ -43,11 +43,12 @@ _cards[2] = NullEntry; _cards[3] = NullEntry; #else - for (int i = 0; i < CardsPerEntry; i++) _cards[i] = NullEntry; + for (int i = 0; i < CardsPerEntry; i++) + _cards[i] = NullEntry; #endif } -bool SparsePRTEntry::contains_card(short card_index) const { +bool SparsePRTEntry::contains_card(CardIdx_t card_index) const { #if UNROLL_CARD_LOOPS assert(CardsPerEntry == 4, "Assumption. If changes, un-unroll."); if (_cards[0] == card_index) return true; @@ -80,10 +81,10 @@ return sum; } -SparsePRTEntry::AddCardResult SparsePRTEntry::add_card(short card_index) { +SparsePRTEntry::AddCardResult SparsePRTEntry::add_card(CardIdx_t card_index) { #if UNROLL_CARD_LOOPS assert(CardsPerEntry == 4, "Assumption. If changes, un-unroll."); - short c = _cards[0]; + CardIdx_t c = _cards[0]; if (c == card_index) return found; if (c == NullEntry) { _cards[0] = card_index; return added; } c = _cards[1]; @@ -97,16 +98,19 @@ if (c == NullEntry) { _cards[3] = card_index; return added; } #else for (int i = 0; i < CardsPerEntry; i++) { - short c = _cards[i]; + CardIdx_t c = _cards[i]; if (c == card_index) return found; - if (c == NullEntry) { _cards[i] = card_index; return added; } + if (c == NullEntry) { + _cards[i] = card_index; + return added; + } } #endif // Otherwise, we're full. return overflow; } -void SparsePRTEntry::copy_cards(short* cards) const { +void SparsePRTEntry::copy_cards(CardIdx_t* cards) const { #if UNROLL_CARD_LOOPS assert(CardsPerEntry == 4, "Assumption. If changes, un-unroll."); cards[0] = _cards[0]; @@ -130,7 +134,7 @@ _capacity(capacity), _capacity_mask(capacity-1), _occupied_entries(0), _occupied_cards(0), _entries(NEW_C_HEAP_ARRAY(SparsePRTEntry, capacity)), - _buckets(NEW_C_HEAP_ARRAY(short, capacity)), + _buckets(NEW_C_HEAP_ARRAY(int, capacity)), _next_deleted(NULL), _deleted(false), _free_list(NullEntry), _free_region(0) { @@ -143,7 +147,7 @@ _entries = NULL; } if (_buckets != NULL) { - FREE_C_HEAP_ARRAY(short, _buckets); + FREE_C_HEAP_ARRAY(int, _buckets); _buckets = NULL; } } @@ -153,14 +157,18 @@ _occupied_cards = 0; guarantee(_entries != NULL, "INV"); guarantee(_buckets != NULL, "INV"); + + guarantee(_capacity <= ((size_t)1 << (sizeof(int)*BitsPerByte-1)) - 1, + "_capacity too large"); + // This will put -1 == NullEntry in the key field of all entries. memset(_entries, -1, _capacity * sizeof(SparsePRTEntry)); - memset(_buckets, -1, _capacity * sizeof(short)); + memset(_buckets, -1, _capacity * sizeof(int)); _free_list = NullEntry; _free_region = 0; } -bool RSHashTable::add_card(short region_ind, short card_index) { +bool RSHashTable::add_card(RegionIdx_t region_ind, CardIdx_t card_index) { SparsePRTEntry* e = entry_for_region_ind_create(region_ind); assert(e != NULL && e->r_ind() == region_ind, "Postcondition of call above."); @@ -175,9 +183,9 @@ return res != SparsePRTEntry::overflow; } -bool RSHashTable::get_cards(short region_ind, short* cards) { - short ind = (short) (region_ind & capacity_mask()); - short cur_ind = _buckets[ind]; +bool RSHashTable::get_cards(RegionIdx_t region_ind, CardIdx_t* cards) { + int ind = (int) (region_ind & capacity_mask()); + int cur_ind = _buckets[ind]; SparsePRTEntry* cur; while (cur_ind != NullEntry && (cur = entry(cur_ind))->r_ind() != region_ind) { @@ -192,10 +200,10 @@ return true; } -bool RSHashTable::delete_entry(short region_ind) { - short ind = (short) (region_ind & capacity_mask()); - short* prev_loc = &_buckets[ind]; - short cur_ind = *prev_loc; +bool RSHashTable::delete_entry(RegionIdx_t region_ind) { + int ind = (int) (region_ind & capacity_mask()); + int* prev_loc = &_buckets[ind]; + int cur_ind = *prev_loc; SparsePRTEntry* cur; while (cur_ind != NullEntry && (cur = entry(cur_ind))->r_ind() != region_ind) { @@ -212,10 +220,11 @@ return true; } -SparsePRTEntry* RSHashTable::entry_for_region_ind(short region_ind) const { +SparsePRTEntry* +RSHashTable::entry_for_region_ind(RegionIdx_t region_ind) const { assert(occupied_entries() < capacity(), "Precondition"); - short ind = (short) (region_ind & capacity_mask()); - short cur_ind = _buckets[ind]; + int ind = (int) (region_ind & capacity_mask()); + int cur_ind = _buckets[ind]; SparsePRTEntry* cur; // XXX // int k = 0; @@ -242,15 +251,16 @@ } } -SparsePRTEntry* RSHashTable::entry_for_region_ind_create(short region_ind) { +SparsePRTEntry* +RSHashTable::entry_for_region_ind_create(RegionIdx_t region_ind) { SparsePRTEntry* res = entry_for_region_ind(region_ind); if (res == NULL) { - short new_ind = alloc_entry(); + int new_ind = alloc_entry(); assert(0 <= new_ind && (size_t)new_ind < capacity(), "There should be room."); res = entry(new_ind); res->init(region_ind); // Insert at front. - short ind = (short) (region_ind & capacity_mask()); + int ind = (int) (region_ind & capacity_mask()); res->set_next_index(_buckets[ind]); _buckets[ind] = new_ind; _occupied_entries++; @@ -258,8 +268,8 @@ return res; } -short RSHashTable::alloc_entry() { - short res; +int RSHashTable::alloc_entry() { + int res; if (_free_list != NullEntry) { res = _free_list; _free_list = entry(res)->next_index(); @@ -273,13 +283,11 @@ } } - -void RSHashTable::free_entry(short fi) { +void RSHashTable::free_entry(int fi) { entry(fi)->set_next_index(_free_list); _free_list = fi; } - void RSHashTable::add_entry(SparsePRTEntry* e) { assert(e->num_valid_cards() > 0, "Precondition."); SparsePRTEntry* e2 = entry_for_region_ind_create(e->r_ind()); @@ -322,8 +330,8 @@ return NULL; } -short /* RSHashTable:: */ RSHashTableIter::find_first_card_in_list() { - short res; +CardIdx_t /* RSHashTable:: */ RSHashTableIter::find_first_card_in_list() { + CardIdx_t res; while (_bl_ind != RSHashTable::NullEntry) { res = _rsht->entry(_bl_ind)->card(0); if (res != SparsePRTEntry::NullEntry) { @@ -336,7 +344,7 @@ return SparsePRTEntry::NullEntry; } -size_t /* RSHashTable:: */ RSHashTableIter::compute_card_ind(short ci) { +size_t /* RSHashTable:: */ RSHashTableIter::compute_card_ind(CardIdx_t ci) { return _heap_bot_card_ind + (_rsht->entry(_bl_ind)->r_ind() * CardsPerRegion) @@ -345,7 +353,7 @@ bool /* RSHashTable:: */ RSHashTableIter::has_next(size_t& card_index) { _card_ind++; - short ci; + CardIdx_t ci; if (_card_ind < SparsePRTEntry::CardsPerEntry && ((ci = _rsht->entry(_bl_ind)->card(_card_ind)) != SparsePRTEntry::NullEntry)) { @@ -379,16 +387,16 @@ return false; } -bool RSHashTable::contains_card(short region_index, short card_index) const { +bool RSHashTable::contains_card(RegionIdx_t region_index, CardIdx_t card_index) const { SparsePRTEntry* e = entry_for_region_ind(region_index); return (e != NULL && e->contains_card(card_index)); } size_t RSHashTable::mem_size() const { - return sizeof(this) + capacity() * (sizeof(SparsePRTEntry) + sizeof(short)); + return sizeof(this) + + capacity() * (sizeof(SparsePRTEntry) + sizeof(int)); } - // ---------------------------------------------------------------------- SparsePRT* SparsePRT::_head_expanded_list = NULL; @@ -408,6 +416,7 @@ } } + SparsePRT* SparsePRT::get_from_expanded_list() { SparsePRT* hd = _head_expanded_list; while (hd != NULL) { @@ -452,6 +461,7 @@ _next = _cur; } + SparsePRT::~SparsePRT() { assert(_next != NULL && _cur != NULL, "Inv"); if (_cur != _next) { delete _cur; } @@ -465,7 +475,7 @@ return sizeof(this) + _next->mem_size(); } -bool SparsePRT::add_card(short region_id, short card_index) { +bool SparsePRT::add_card(RegionIdx_t region_id, CardIdx_t card_index) { #if SPARSE_PRT_VERBOSE gclog_or_tty->print_cr(" Adding card %d from region %d to region %d sparse.", card_index, region_id, _hr->hrs_index()); @@ -476,11 +486,11 @@ return _next->add_card(region_id, card_index); } -bool SparsePRT::get_cards(short region_id, short* cards) { +bool SparsePRT::get_cards(RegionIdx_t region_id, CardIdx_t* cards) { return _next->get_cards(region_id, cards); } -bool SparsePRT::delete_entry(short region_id) { +bool SparsePRT::delete_entry(RegionIdx_t region_id) { return _next->delete_entry(region_id); }
--- a/hotspot/src/share/vm/gc_implementation/g1/sparsePRT.hpp Mon Jun 22 10:13:20 2009 -0700 +++ b/hotspot/src/share/vm/gc_implementation/g1/sparsePRT.hpp Mon Jun 29 22:13:31 2009 -0700 @@ -35,32 +35,32 @@ class SparsePRTEntry: public CHeapObj { public: + enum SomePublicConstants { - CardsPerEntry = (short)4, - NullEntry = (short)-1, - DeletedEntry = (short)-2 + CardsPerEntry = 4, + NullEntry = -1 }; private: - short _region_ind; - short _next_index; - short _cards[CardsPerEntry]; + RegionIdx_t _region_ind; + int _next_index; + CardIdx_t _cards[CardsPerEntry]; public: // Set the region_ind to the given value, and delete all cards. - inline void init(short region_ind); + inline void init(RegionIdx_t region_ind); - short r_ind() const { return _region_ind; } + RegionIdx_t r_ind() const { return _region_ind; } bool valid_entry() const { return r_ind() >= 0; } - void set_r_ind(short rind) { _region_ind = rind; } + void set_r_ind(RegionIdx_t rind) { _region_ind = rind; } - short next_index() const { return _next_index; } - short* next_index_addr() { return &_next_index; } - void set_next_index(short ni) { _next_index = ni; } + int next_index() const { return _next_index; } + int* next_index_addr() { return &_next_index; } + void set_next_index(int ni) { _next_index = ni; } // Returns "true" iff the entry contains the given card index. - inline bool contains_card(short card_index) const; + inline bool contains_card(CardIdx_t card_index) const; // Returns the number of non-NULL card entries. inline int num_valid_cards() const; @@ -73,14 +73,14 @@ found, added }; - inline AddCardResult add_card(short card_index); + inline AddCardResult add_card(CardIdx_t card_index); // Copy the current entry's cards into "cards". - inline void copy_cards(short* cards) const; + inline void copy_cards(CardIdx_t* cards) const; // Copy the current entry's cards into the "_card" array of "e." inline void copy_cards(SparsePRTEntry* e) const; - inline short card(int i) const { return _cards[i]; } + inline CardIdx_t card(int i) const { return _cards[i]; } }; @@ -98,9 +98,9 @@ size_t _occupied_cards; SparsePRTEntry* _entries; - short* _buckets; - short _free_region; - short _free_list; + int* _buckets; + int _free_region; + int _free_list; static RSHashTable* _head_deleted_list; RSHashTable* _next_deleted; @@ -113,20 +113,20 @@ // operations, and that the the table be less than completely full. If // an entry for "region_ind" is already in the table, finds it and // returns its address; otherwise returns "NULL." - SparsePRTEntry* entry_for_region_ind(short region_ind) const; + SparsePRTEntry* entry_for_region_ind(RegionIdx_t region_ind) const; // Requires that the caller hold a lock preventing parallel modifying // operations, and that the the table be less than completely full. If // an entry for "region_ind" is already in the table, finds it and // returns its address; otherwise allocates, initializes, inserts and // returns a new entry for "region_ind". - SparsePRTEntry* entry_for_region_ind_create(short region_ind); + SparsePRTEntry* entry_for_region_ind_create(RegionIdx_t region_ind); // Returns the index of the next free entry in "_entries". - short alloc_entry(); + int alloc_entry(); // Declares the entry "fi" to be free. (It must have already been // deleted from any bucket lists. - void free_entry(short fi); + void free_entry(int fi); public: RSHashTable(size_t capacity); @@ -138,12 +138,12 @@ // Otherwise, returns "false" to indicate that the addition would // overflow the entry for the region. The caller must transfer these // entries to a larger-capacity representation. - bool add_card(short region_id, short card_index); + bool add_card(RegionIdx_t region_id, CardIdx_t card_index); - bool get_cards(short region_id, short* cards); - bool delete_entry(short region_id); + bool get_cards(RegionIdx_t region_id, CardIdx_t* cards); + bool delete_entry(RegionIdx_t region_id); - bool contains_card(short region_id, short card_index) const; + bool contains_card(RegionIdx_t region_id, CardIdx_t card_index) const; void add_entry(SparsePRTEntry* e); @@ -162,51 +162,49 @@ static void add_to_deleted_list(RSHashTable* rsht); static RSHashTable* get_from_deleted_list(); - - }; - // ValueObj because will be embedded in HRRS iterator. +// ValueObj because will be embedded in HRRS iterator. class RSHashTableIter VALUE_OBJ_CLASS_SPEC { - short _tbl_ind; - short _bl_ind; - short _card_ind; - RSHashTable* _rsht; - size_t _heap_bot_card_ind; + int _tbl_ind; // [-1, 0.._rsht->_capacity) + int _bl_ind; // [-1, 0.._rsht->_capacity) + short _card_ind; // [0..CardsPerEntry) + RSHashTable* _rsht; + size_t _heap_bot_card_ind; - enum SomePrivateConstants { - CardsPerRegion = HeapRegion::GrainBytes >> CardTableModRefBS::card_shift - }; + enum SomePrivateConstants { + CardsPerRegion = HeapRegion::GrainBytes >> CardTableModRefBS::card_shift + }; + + // If the bucket list pointed to by _bl_ind contains a card, sets + // _bl_ind to the index of that entry, and returns the card. + // Otherwise, returns SparseEntry::NullEntry. + CardIdx_t find_first_card_in_list(); - // If the bucket list pointed to by _bl_ind contains a card, sets - // _bl_ind to the index of that entry, and returns the card. - // Otherwise, returns SparseEntry::NullEnty. - short find_first_card_in_list(); - // Computes the proper card index for the card whose offset in the - // current region (as indicated by _bl_ind) is "ci". - // This is subject to errors when there is iteration concurrent with - // modification, but these errors should be benign. - size_t compute_card_ind(short ci); + // Computes the proper card index for the card whose offset in the + // current region (as indicated by _bl_ind) is "ci". + // This is subject to errors when there is iteration concurrent with + // modification, but these errors should be benign. + size_t compute_card_ind(CardIdx_t ci); - public: - RSHashTableIter(size_t heap_bot_card_ind) : - _tbl_ind(RSHashTable::NullEntry), - _bl_ind(RSHashTable::NullEntry), - _card_ind((SparsePRTEntry::CardsPerEntry-1)), - _rsht(NULL), - _heap_bot_card_ind(heap_bot_card_ind) - {} +public: + RSHashTableIter(size_t heap_bot_card_ind) : + _tbl_ind(RSHashTable::NullEntry), + _bl_ind(RSHashTable::NullEntry), + _card_ind((SparsePRTEntry::CardsPerEntry-1)), + _rsht(NULL), + _heap_bot_card_ind(heap_bot_card_ind) + {} - void init(RSHashTable* rsht) { - _rsht = rsht; - _tbl_ind = -1; // So that first increment gets to 0. - _bl_ind = RSHashTable::NullEntry; - _card_ind = (SparsePRTEntry::CardsPerEntry-1); - } + void init(RSHashTable* rsht) { + _rsht = rsht; + _tbl_ind = -1; // So that first increment gets to 0. + _bl_ind = RSHashTable::NullEntry; + _card_ind = (SparsePRTEntry::CardsPerEntry-1); + } - bool has_next(size_t& card_index); - - }; + bool has_next(size_t& card_index); +}; // Concurrent accesss to a SparsePRT must be serialized by some external // mutex. @@ -238,7 +236,6 @@ SparsePRT* next_expanded() { return _next_expanded; } void set_next_expanded(SparsePRT* nxt) { _next_expanded = nxt; } - static SparsePRT* _head_expanded_list; public: @@ -255,16 +252,16 @@ // Otherwise, returns "false" to indicate that the addition would // overflow the entry for the region. The caller must transfer these // entries to a larger-capacity representation. - bool add_card(short region_id, short card_index); + bool add_card(RegionIdx_t region_id, CardIdx_t card_index); // If the table hold an entry for "region_ind", Copies its // cards into "cards", which must be an array of length at least // "CardsPerEntry", and returns "true"; otherwise, returns "false". - bool get_cards(short region_ind, short* cards); + bool get_cards(RegionIdx_t region_ind, CardIdx_t* cards); // If there is an entry for "region_ind", removes it and return "true"; // otherwise returns "false." - bool delete_entry(short region_ind); + bool delete_entry(RegionIdx_t region_ind); // Clear the table, and reinitialize to initial capacity. void clear(); @@ -276,13 +273,12 @@ static void cleanup_all(); RSHashTable* cur() const { return _cur; } - void init_iterator(SparsePRTIter* sprt_iter); static void add_to_expanded_list(SparsePRT* sprt); static SparsePRT* get_from_expanded_list(); - bool contains_card(short region_id, short card_index) const { + bool contains_card(RegionIdx_t region_id, CardIdx_t card_index) const { return _next->contains_card(region_id, card_index); }
--- a/hotspot/src/share/vm/gc_implementation/includeDB_gc_g1 Mon Jun 22 10:13:20 2009 -0700 +++ b/hotspot/src/share/vm/gc_implementation/includeDB_gc_g1 Mon Jun 29 22:13:31 2009 -0700 @@ -51,7 +51,6 @@ concurrentG1Refine.hpp allocation.hpp concurrentG1Refine.hpp thread.hpp - concurrentG1RefineThread.cpp concurrentG1Refine.hpp concurrentG1RefineThread.cpp concurrentG1RefineThread.hpp concurrentG1RefineThread.cpp g1CollectedHeap.inline.hpp @@ -334,6 +333,7 @@ sparsePRT.hpp allocation.hpp sparsePRT.hpp cardTableModRefBS.hpp sparsePRT.hpp globalDefinitions.hpp +sparsePRT.hpp g1CollectedHeap.inline.hpp sparsePRT.hpp heapRegion.hpp sparsePRT.hpp mutex.hpp
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.hpp Mon Jun 22 10:13:20 2009 -0700 +++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.hpp Mon Jun 29 22:13:31 2009 -0700 @@ -177,6 +177,7 @@ // are double-word aligned in 32-bit VMs, but not in 64-bit VMs, so the 32-bit // granularity is 2, 64-bit is 1. static inline size_t obj_granularity() { return size_t(MinObjAlignment); } + static inline int obj_granularity_shift() { return LogMinObjAlignment; } HeapWord* _region_start; size_t _region_size; @@ -299,13 +300,13 @@ inline size_t ParMarkBitMap::bits_to_words(idx_t bits) { - return bits * obj_granularity(); + return bits << obj_granularity_shift(); } inline ParMarkBitMap::idx_t ParMarkBitMap::words_to_bits(size_t words) { - return words / obj_granularity(); + return words >> obj_granularity_shift(); } inline size_t ParMarkBitMap::obj_size(idx_t beg_bit, idx_t end_bit) const
--- a/hotspot/src/share/vm/includeDB_compiler1 Mon Jun 22 10:13:20 2009 -0700 +++ b/hotspot/src/share/vm/includeDB_compiler1 Mon Jun 29 22:13:31 2009 -0700 @@ -387,7 +387,7 @@ c1_ValueSet.cpp c1_ValueSet.hpp c1_ValueSet.hpp allocation.hpp -c1_ValueSet.hpp bitMap.hpp +c1_ValueSet.hpp bitMap.inline.hpp c1_ValueSet.hpp c1_Instruction.hpp c1_ValueStack.cpp c1_IR.hpp
--- a/hotspot/src/share/vm/memory/gcLocker.hpp Mon Jun 22 10:13:20 2009 -0700 +++ b/hotspot/src/share/vm/memory/gcLocker.hpp Mon Jun 29 22:13:31 2009 -0700 @@ -242,6 +242,31 @@ #endif }; +// A SkipGCALot object is used to elide the usual effect of gc-a-lot +// over a section of execution by a thread. Currently, it's used only to +// prevent re-entrant calls to GC. +class SkipGCALot : public StackObj { + private: + bool _saved; + Thread* _t; + + public: +#ifdef ASSERT + SkipGCALot(Thread* t) : _t(t) { + _saved = _t->skip_gcalot(); + _t->set_skip_gcalot(true); + } + + ~SkipGCALot() { + assert(_t->skip_gcalot(), "Save-restore protocol invariant"); + _t->set_skip_gcalot(_saved); + } +#else + SkipGCALot(Thread* t) { } + ~SkipGCALot() { } +#endif +}; + // JRT_LEAF currently can be called from either _thread_in_Java or // _thread_in_native mode. In _thread_in_native, it is ok // for another thread to trigger GC. The rest of the JRT_LEAF
--- a/hotspot/src/share/vm/runtime/interfaceSupport.cpp Mon Jun 22 10:13:20 2009 -0700 +++ b/hotspot/src/share/vm/runtime/interfaceSupport.cpp Mon Jun 29 22:13:31 2009 -0700 @@ -66,11 +66,14 @@ void InterfaceSupport::gc_alot() { Thread *thread = Thread::current(); - if (thread->is_VM_thread()) return; // Avoid concurrent calls + if (!thread->is_Java_thread()) return; // Avoid concurrent calls // Check for new, not quite initialized thread. A thread in new mode cannot initiate a GC. JavaThread *current_thread = (JavaThread *)thread; if (current_thread->active_handles() == NULL) return; + // Short-circuit any possible re-entrant gc-a-lot attempt + if (thread->skip_gcalot()) return; + if (is_init_completed()) { if (++_fullgc_alot_invocation < FullGCALotStart) {
--- a/hotspot/src/share/vm/runtime/thread.cpp Mon Jun 22 10:13:20 2009 -0700 +++ b/hotspot/src/share/vm/runtime/thread.cpp Mon Jun 29 22:13:31 2009 -0700 @@ -127,6 +127,7 @@ debug_only(_owned_locks = NULL;) debug_only(_allow_allocation_count = 0;) NOT_PRODUCT(_allow_safepoint_count = 0;) + NOT_PRODUCT(_skip_gcalot = false;) CHECK_UNHANDLED_OOPS_ONLY(_gc_locked_out_count = 0;) _jvmti_env_iteration_count = 0; _vm_operation_started_count = 0; @@ -784,7 +785,6 @@ // We could enter a safepoint here and thus have a gc InterfaceSupport::check_gc_alot(); } - #endif } #endif
--- a/hotspot/src/share/vm/runtime/thread.hpp Mon Jun 22 10:13:20 2009 -0700 +++ b/hotspot/src/share/vm/runtime/thread.hpp Mon Jun 29 22:13:31 2009 -0700 @@ -191,6 +191,9 @@ NOT_PRODUCT(int _allow_safepoint_count;) // If 0, thread allow a safepoint to happen debug_only (int _allow_allocation_count;) // If 0, the thread is allowed to allocate oops. + // Used by SkipGCALot class. + NOT_PRODUCT(bool _skip_gcalot;) // Should we elide gc-a-lot? + // Record when GC is locked out via the GC_locker mechanism CHECK_UNHANDLED_OOPS_ONLY(int _gc_locked_out_count;) @@ -308,6 +311,11 @@ bool is_gc_locked_out() { return _gc_locked_out_count > 0; } #endif // CHECK_UNHANDLED_OOPS +#ifndef PRODUCT + bool skip_gcalot() { return _skip_gcalot; } + void set_skip_gcalot(bool v) { _skip_gcalot = v; } +#endif + public: // Installs a pending exception to be inserted later static void send_async_exception(oop thread_oop, oop java_throwable);
--- a/hotspot/src/share/vm/runtime/vmThread.cpp Mon Jun 22 10:13:20 2009 -0700 +++ b/hotspot/src/share/vm/runtime/vmThread.cpp Mon Jun 29 22:13:31 2009 -0700 @@ -531,6 +531,7 @@ Thread* t = Thread::current(); if (!t->is_VM_thread()) { + SkipGCALot sgcalot(t); // avoid re-entrant attempts to gc-a-lot // JavaThread or WatcherThread t->check_for_valid_safepoint_state(true);
--- a/hotspot/src/share/vm/utilities/bitMap.cpp Mon Jun 22 10:13:20 2009 -0700 +++ b/hotspot/src/share/vm/utilities/bitMap.cpp Mon Jun 29 22:13:31 2009 -0700 @@ -41,19 +41,6 @@ resize(size_in_bits, in_resource_area); } - -void BitMap::verify_index(idx_t index) const { - assert(index < _size, "BitMap index out of bounds"); -} - -void BitMap::verify_range(idx_t beg_index, idx_t end_index) const { -#ifdef ASSERT - assert(beg_index <= end_index, "BitMap range error"); - // Note that [0,0) and [size,size) are both valid ranges. - if (end_index != _size) verify_index(end_index); -#endif -} - void BitMap::resize(idx_t size_in_bits, bool in_resource_area) { assert(size_in_bits >= 0, "just checking"); idx_t old_size_in_words = size_in_words();
--- a/hotspot/src/share/vm/utilities/bitMap.hpp Mon Jun 22 10:13:20 2009 -0700 +++ b/hotspot/src/share/vm/utilities/bitMap.hpp Mon Jun 29 22:13:31 2009 -0700 @@ -93,10 +93,12 @@ // The index of the first full word in a range. idx_t word_index_round_up(idx_t bit) const; - // Verification, statistics. - void verify_index(idx_t index) const; - void verify_range(idx_t beg_index, idx_t end_index) const; + // Verification. + inline void verify_index(idx_t index) const NOT_DEBUG_RETURN; + inline void verify_range(idx_t beg_index, idx_t end_index) const + NOT_DEBUG_RETURN; + // Statistics. static idx_t* _pop_count_table; static void init_pop_count_table(); static idx_t num_set_bits(bm_word_t w); @@ -287,7 +289,6 @@ #endif }; - // Convenience class wrapping BitMap which provides multiple bits per slot. class BitMap2D VALUE_OBJ_CLASS_SPEC { public:
--- a/hotspot/src/share/vm/utilities/bitMap.inline.hpp Mon Jun 22 10:13:20 2009 -0700 +++ b/hotspot/src/share/vm/utilities/bitMap.inline.hpp Mon Jun 29 22:13:31 2009 -0700 @@ -22,6 +22,17 @@ * */ +#ifdef ASSERT +inline void BitMap::verify_index(idx_t index) const { + assert(index < _size, "BitMap index out of bounds"); +} + +inline void BitMap::verify_range(idx_t beg_index, idx_t end_index) const { + assert(beg_index <= end_index, "BitMap range error"); + // Note that [0,0) and [size,size) are both valid ranges. + if (end_index != _size) verify_index(end_index); +} +#endif // #ifdef ASSERT inline void BitMap::set_bit(idx_t bit) { verify_index(bit);
--- a/hotspot/src/share/vm/utilities/macros.hpp Mon Jun 22 10:13:20 2009 -0700 +++ b/hotspot/src/share/vm/utilities/macros.hpp Mon Jun 29 22:13:31 2009 -0700 @@ -106,11 +106,13 @@ #ifdef ASSERT #define DEBUG_ONLY(code) code #define NOT_DEBUG(code) +#define NOT_DEBUG_RETURN /*next token must be ;*/ // Historical. #define debug_only(code) code #else // ASSERT #define DEBUG_ONLY(code) #define NOT_DEBUG(code) code +#define NOT_DEBUG_RETURN {} #define debug_only(code) #endif // ASSERT
--- a/jaxp/.hgtags Mon Jun 22 10:13:20 2009 -0700 +++ b/jaxp/.hgtags Mon Jun 29 22:13:31 2009 -0700 @@ -35,3 +35,5 @@ 13bf67d8c6341b841d268985cabaf747f2652bc8 jdk7-b58 75113d7ce083048e7576b9d0d60a4e80db6b181f jdk7-b59 259aef5045a155eb6a2f8dd0e2429c6dbe0f652f jdk7-b60 +f1ac756616eaaad795f77f7f5e7f7c7bfdc9c1de jdk7-b61 +a97dd57a62604c35c79bc2fa77a612ed547f6135 jdk7-b62
--- a/jaxp/make/Makefile Mon Jun 22 10:13:20 2009 -0700 +++ b/jaxp/make/Makefile Mon Jun 29 22:13:31 2009 -0700 @@ -81,7 +81,15 @@ ifdef JAVAC_TARGET_ARG ANT_OPTIONS += -Djavac.target=$(JAVAC_TARGET_ARG) endif -endif +endif + +ifdef SOURCE_LANGUAGE_VERSION + ANT_OPTIONS += -Djavac.source=$(SOURCE_LANGUAGE_VERSION) +else + ifdef JAVAC_SOURCE_ARG + ANT_OPTIONS += -Djavac.source=$(JAVAC_SOURCE_ARG) + endif +endif ifdef ALT_BOOTDIR ANT_JAVA_HOME = JAVA_HOME=$(ALT_BOOTDIR)
--- a/jaxp/make/build.properties Mon Jun 22 10:13:20 2009 -0700 +++ b/jaxp/make/build.properties Mon Jun 29 22:13:31 2009 -0700 @@ -30,6 +30,7 @@ # one of the standard user build.properties files (see build.xml) # options for the <javac> tasks used to compile the tools +javac.source = 5 javac.target = 5 javac.debug = true javac.no.jdk.warnings = -XDignore.symbol.file=true
--- a/jaxp/make/build.xml Mon Jun 22 10:13:20 2009 -0700 +++ b/jaxp/make/build.xml Mon Jun 29 22:13:31 2009 -0700 @@ -85,6 +85,7 @@ destdir="${build.classes.dir}" memoryInitialSize="${javac.memoryInitialSize}" memoryMaximumSize="${javac.memoryMaximumSize}" + source="${javac.source}" debug="${javac.debug}" target="${javac.target}"> <compilerarg value="-J-Xbootclasspath/p:${bootstrap.dir}/lib/javac.jar"/>
--- a/jaxws/.hgtags Mon Jun 22 10:13:20 2009 -0700 +++ b/jaxws/.hgtags Mon Jun 29 22:13:31 2009 -0700 @@ -35,3 +35,5 @@ 5fb4fbea81c3609916da00417fdd15dbd9e39e97 jdk7-b58 f64566bf4c2bc92e65ab2b9fab51b119f0d493d1 jdk7-b59 3b054db3e277ca224fe6576c59ed6f4ab5ed0bb5 jdk7-b60 +aeabf802f2a1ca72b87d7397c5ece58058e000a9 jdk7-b61 +75c801c13ea1ddebc58b1a8c8da9318d72750e62 jdk7-b62
--- a/jaxws/make/Makefile Mon Jun 22 10:13:20 2009 -0700 +++ b/jaxws/make/Makefile Mon Jun 29 22:13:31 2009 -0700 @@ -83,6 +83,14 @@ endif endif +ifdef SOURCE_LANGUAGE_VERSION + ANT_OPTIONS += -Djavac.source=$(SOURCE_LANGUAGE_VERSION) +else + ifdef JAVAC_SOURCE_ARG + ANT_OPTIONS += -Djavac.source=$(JAVAC_SOURCE_ARG) + endif +endif + ifdef ALT_BOOTDIR ANT_JAVA_HOME = JAVA_HOME=$(ALT_BOOTDIR) endif
--- a/jaxws/make/build.properties Mon Jun 22 10:13:20 2009 -0700 +++ b/jaxws/make/build.properties Mon Jun 29 22:13:31 2009 -0700 @@ -30,6 +30,7 @@ # one of the standard user build.properties files (see build.xml) # options for the <javac> tasks used to compile the tools +javac.source = 5 javac.target = 5 javac.debug = true javac.no.jdk.warnings = -XDignore.symbol.file=true
--- a/jaxws/make/build.xml Mon Jun 22 10:13:20 2009 -0700 +++ b/jaxws/make/build.xml Mon Jun 29 22:13:31 2009 -0700 @@ -107,6 +107,7 @@ destdir="${build.classes.dir}" memoryInitialSize="${javac.memoryInitialSize}" memoryMaximumSize="${javac.memoryMaximumSize}" + source="${javac.source}" debug="${javac.debug}" target="${javac.target}" excludes="com/sun/tools/internal/txw2/**">
--- a/jdk/.hgtags Mon Jun 22 10:13:20 2009 -0700 +++ b/jdk/.hgtags Mon Jun 29 22:13:31 2009 -0700 @@ -35,3 +35,5 @@ 9ba256e2e5c161b89e638390f998baa175ec9abe jdk7-b58 2a5a1b269e89f27ebe419ef4cf6e66a3face0df1 jdk7-b59 0c3ef2d612a47667829eb17a192decef23f1c536 jdk7-b60 +f72c0dc047b9b2e797beee68ae0b50decb1f020d jdk7-b61 +12e11fab9a839a9666a996a8f9a02fd8fa03aab6 jdk7-b62
--- a/jdk/make/common/Release.gmk Mon Jun 22 10:13:20 2009 -0700 +++ b/jdk/make/common/Release.gmk Mon Jun 29 22:13:31 2009 -0700 @@ -345,7 +345,6 @@ sun/tools/jar \ sun/tools/java \ sun/tools/javac \ - sun/tools/javap \ sun/tools/jps \ sun/tools/jstat \ sun/tools/jstatd \ @@ -570,7 +569,6 @@ $(ECHO) "sun/tools/asm/" >> $@ $(ECHO) "sun/tools/java/" >> $@ $(ECHO) "sun/tools/javac/" >> $@ - $(ECHO) "sun/tools/javap/" >> $@ $(ECHO) "com/sun/tools/classfile/" >> $@ $(ECHO) "com/sun/tools/javap/" >> $@ $(ECHO) "sun/tools/jconsole/" >> $@
--- a/jdk/make/common/internal/Defs-langtools.gmk Mon Jun 22 10:13:20 2009 -0700 +++ b/jdk/make/common/internal/Defs-langtools.gmk Mon Jun 29 22:13:31 2009 -0700 @@ -40,6 +40,5 @@ com/sun/tools/javac \ com/sun/tools/javadoc \ com/sun/tools/javah \ - com/sun/tools/javap \ - sun/tools/javap + com/sun/tools/javap
--- a/jdk/make/common/shared/Defs-control.gmk Mon Jun 22 10:13:20 2009 -0700 +++ b/jdk/make/common/shared/Defs-control.gmk Mon Jun 29 22:13:31 2009 -0700 @@ -91,6 +91,8 @@ dummy := $(shell $(MKDIR) -p $(TEMP_DIR)) +# The language version we want for this jdk build +SOURCE_LANGUAGE_VERSION=5 # The class version we want for this jdk build TARGET_CLASS_VERSION=5
--- a/jdk/make/common/shared/Defs-java.gmk Mon Jun 22 10:13:20 2009 -0700 +++ b/jdk/make/common/shared/Defs-java.gmk Mon Jun 29 22:13:31 2009 -0700 @@ -123,7 +123,8 @@ endif # Add the source level (currently all source is 1.5, should this be 1.6?) -LANGUAGE_VERSION = -source 1.5 +SOURCE_LANGUAGE_VERSION = 5 +LANGUAGE_VERSION = -source $(SOURCE_LANGUAGE_VERSION) JAVACFLAGS += $(LANGUAGE_VERSION) # Add the class version we want (currently this is 5, should it be 6 or even 7?)
--- a/jdk/make/docs/Makefile Mon Jun 22 10:13:20 2009 -0700 +++ b/jdk/make/docs/Makefile Mon Jun 29 22:13:31 2009 -0700 @@ -645,7 +645,7 @@ @# ######## api-tracing ############################ $(RM) -r $(TRACING_DOCDIR) $(MKDIR) -p $(TRACING_DOCDIR) - $(JAVADOC) $(TRACING_JAVADOCFLAGS) \ + $(JAVADOC_CMD) $(TRACING_JAVADOCFLAGS) \ $(TRACING_PKGS) .PHONY: httpserverdocs
--- a/jdk/make/java/nio/Makefile Mon Jun 22 10:13:20 2009 -0700 +++ b/jdk/make/java/nio/Makefile Mon Jun 29 22:13:31 2009 -0700 @@ -827,8 +827,7 @@ $(FILES_gensbcs_out): $(GENCSSRC)/SingleByte-X.java $(GENCSSRC)/sbcs @$(prep-target) - $(BOOT_JAVA_CMD) -cp $(CHARSETMAPPING_JARFILE) build.tools.charsetmapping.GenerateSBCS \ - $(GENCSSRC) $(SCS_GEN) sbcs + $(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) $(GENCSSRC) $(SCS_GEN) sbcs # # Generated file system implementation classes (Unix only)
--- a/jdk/make/java/text/FILES_java.gmk Mon Jun 22 10:13:20 2009 -0700 +++ b/jdk/make/java/text/FILES_java.gmk Mon Jun 29 22:13:31 2009 -0700 @@ -76,6 +76,10 @@ sun/text/Normalizer.java \ sun/text/SupplementaryCharacterData.java \ sun/text/UCompactIntArray.java \ + sun/text/bidi/BidiBase.java \ + sun/text/bidi/BidiLine.java \ + sun/text/bidi/BidiRun.java \ + \ sun/text/normalizer/CharTrie.java \ sun/text/normalizer/CharacterIteratorWrapper.java \ sun/text/normalizer/ICUBinary.java \
--- a/jdk/make/javax/swing/beaninfo/SwingBeans.gmk Mon Jun 22 10:13:20 2009 -0700 +++ b/jdk/make/javax/swing/beaninfo/SwingBeans.gmk Mon Jun 29 22:13:31 2009 -0700 @@ -50,6 +50,8 @@ JAVADOCFLAGS = $(NO_PROPRIETARY_API_WARNINGS) $(LANGUAGE_VERSION) SWINGPKG = javax/swing LOCAL_JAVAC_FLAGS = $(OTHER_JAVACFLAGS) +# since LOCAL_JAVADOC runs on ALT_BOOTDIR, the doclet and all its classes must be compiled to match +DOCLET_JAVAC_FLAGS = -source 6 -target 6 include FILES.gmk include $(BUILDDIR)/common/Release.gmk @@ -86,7 +88,7 @@ @$(MKDIR) -p $@ $(DOCLETDST)/%.class: $(DOCLETSRC)/%.java - $(JAVAC_CMD) $(LOCAL_JAVAC_FLAGS) -classpath "$(CLASSBINDIR)$(CLASSPATH_SEPARATOR)$(DOCLETSRC)" -d $(DOCLETDST) $? + $(JAVAC_CMD) $(LOCAL_JAVAC_FLAGS) $(DOCLET_JAVAC_FLAGS) -classpath "$(CLASSBINDIR)$(CLASSPATH_SEPARATOR)$(DOCLETSRC)" -d $(DOCLETDST) $? @$(java-vm-cleanup) # To run, the doclet needs SwingBeanInfoBase class. Also Notice the lie @@ -95,11 +97,11 @@ .SwingBeanInfo: $(OBJDIR) $(BEANCLASSDIR) $(BEANSRCDIR) $(SWINGPKG)/BeanInfoUtils.class $(SWINGPKG)/SwingBeanInfoBase.class $(SWINGPKG)/BeanInfoUtils.class: $(BEANSRCDIR)/BeanInfoUtils.java - $(JAVAC_CMD) $(LOCAL_JAVAC_FLAGS) -d $(BEANCLASSDIR) $< + $(JAVAC_CMD) $(LOCAL_JAVAC_FLAGS) $(DOCLET_JAVAC_FLAGS) -d $(BEANCLASSDIR) $< @$(java-vm-cleanup) $(SWINGPKG)/SwingBeanInfoBase.class: $(BEANSRCDIR)/SwingBeanInfoBase.java $(BEANSRCDIR)/BeanInfoUtils.java - $(JAVAC_CMD) $(LOCAL_JAVAC_FLAGS) -classpath $(BEANCLASSDIR) -d $(BEANCLASSDIR) $< + $(JAVAC_CMD) $(LOCAL_JAVAC_FLAGS) $(DOCLET_JAVAC_FLAGS) -classpath $(BEANCLASSDIR) -d $(BEANCLASSDIR) $< @$(java-vm-cleanup) #
--- a/jdk/make/launchers/Makefile Mon Jun 22 10:13:20 2009 -0700 +++ b/jdk/make/launchers/Makefile Mon Jun 29 22:13:31 2009 -0700 @@ -66,7 +66,7 @@ $(call make-launcher, javac, com.sun.tools.javac.Main, , ) $(call make-launcher, javadoc, com.sun.tools.javadoc.Main, , ) $(call make-launcher, javah, com.sun.tools.javah.Main, , ) -$(call make-launcher, javap, sun.tools.javap.Main, , ) +$(call make-launcher, javap, com.sun.tools.javap.Main, , ) $(call make-launcher, jconsole, sun.tools.jconsole.JConsole, \ -J-Djconsole.showOutputViewer, ) $(call make-launcher, jdb, com.sun.tools.example.debug.tty.TTY, , )
--- a/jdk/make/sun/Makefile Mon Jun 22 10:13:20 2009 -0700 +++ b/jdk/make/sun/Makefile Mon Jun 29 22:13:31 2009 -0700 @@ -58,11 +58,12 @@ else RENDER_SUBDIR = dcpr endif +# nio need to be compiled before awt to have all charsets ready SUBDIRS = jar security javazic misc net audio $(RENDER_SUBDIR) image \ - awt splashscreen $(XAWT_SUBDIR) \ + nio awt splashscreen $(XAWT_SUBDIR) \ $(HEADLESS_SUBDIR) $(DGA_SUBDIR) \ font jpeg cmm applet rmi beans $(JDBC_SUBDIR) \ - jawt text nio launcher management $(ORG_SUBDIR) \ + jawt text launcher management $(ORG_SUBDIR) \ native2ascii serialver tools jconsole tracing all build clean clobber::
--- a/jdk/make/sun/font/FILES_c.gmk Mon Jun 22 10:13:20 2009 -0700 +++ b/jdk/make/sun/font/FILES_c.gmk Mon Jun 29 22:13:31 2009 -0700 @@ -24,10 +24,6 @@ # FILES_c_shared = \ - jbidi.c \ - ubidi.c \ - ubidiln.c \ - uchardir.c \ DrawGlyphList.c \ sunFont.c
--- a/jdk/make/sun/font/Makefile Mon Jun 22 10:13:20 2009 -0700 +++ b/jdk/make/sun/font/Makefile Mon Jun 29 22:13:31 2009 -0700 @@ -145,7 +145,6 @@ # Add to the ambient vpath to pick up files in subdirectories # vpath %.c $(PLATFORM_SRC)/native/$(PKGDIR) -vpath %.c $(SHARE_SRC)/native/$(PKGDIR)/bidi vpath %.cpp $(SHARE_SRC)/native/$(PKGDIR)/layout vpath %.cpp $(SHARE_SRC)/native/$(PKGDIR) @@ -187,7 +186,6 @@ CPPFLAGS += -I$(SHARE_SRC)/native/$(PKGDIR) \ -I$(SHARE_SRC)/native/$(PKGDIR)/layout \ - -I$(SHARE_SRC)/native/$(PKGDIR)/bidi \ -I$(SHARE_SRC)/native/sun/awt/image/cvutils \ -I$(PLATFORM_SRC)/native/sun/awt \ -I$(SHARE_SRC)/native/sun/awt/debug \
--- a/jdk/make/sun/font/mapfile-vers Mon Jun 22 10:13:20 2009 -0700 +++ b/jdk/make/sun/font/mapfile-vers Mon Jun 29 22:13:31 2009 -0700 @@ -31,8 +31,6 @@ newLayoutTableCache; freeLayoutTableCache; isNullScalerContext; - Java_java_text_Bidi_nativeBidiChars; - Java_java_text_Bidi_nativeGetDirectionCode; Java_sun_font_NullFontScaler_getNullScalerContext; Java_sun_font_NullFontScaler_getGlyphImage; Java_sun_font_FontManager_getPlatformFontVar;
--- a/jdk/make/sun/font/mapfile-vers.openjdk Mon Jun 22 10:13:20 2009 -0700 +++ b/jdk/make/sun/font/mapfile-vers.openjdk Mon Jun 29 22:13:31 2009 -0700 @@ -33,8 +33,6 @@ newLayoutTableCache; freeLayoutTableCache; isNullScalerContext; - Java_java_text_Bidi_nativeBidiChars; - Java_java_text_Bidi_nativeGetDirectionCode; Java_sun_font_NullFontScaler_getNullScalerContext; Java_sun_font_NullFontScaler_getGlyphImage; Java_sun_font_FontManager_getPlatformFontVar;
--- a/jdk/make/sun/nio/FILES_java.gmk Mon Jun 22 10:13:20 2009 -0700 +++ b/jdk/make/sun/nio/FILES_java.gmk Mon Jun 29 22:13:31 2009 -0700 @@ -304,7 +304,7 @@ sun/io/CharToByteMacUkraine.java \ sun/io/CharToByteTIS620.java -FILES_gen_extsbcs = \ +FILES_gen_extcs = \ sun/nio/cs/ext/IBM037.java \ sun/nio/cs/ext/IBM1006.java \ sun/nio/cs/ext/IBM1025.java \ @@ -374,6 +374,21 @@ sun/nio/cs/ext/MacThai.java \ sun/nio/cs/ext/MacTurkish.java \ sun/nio/cs/ext/MacUkraine.java \ - sun/nio/cs/ext/TIS_620.java + sun/nio/cs/ext/TIS_620.java \ + sun/nio/cs/ext/EUC_TWMapping.java \ + sun/nio/cs/ext/IBM1381.java \ + sun/nio/cs/ext/IBM1383.java \ + sun/nio/cs/ext/IBM930.java \ + sun/nio/cs/ext/IBM933.java \ + sun/nio/cs/ext/IBM935.java \ + sun/nio/cs/ext/IBM937.java \ + sun/nio/cs/ext/IBM939.java \ + sun/nio/cs/ext/IBM942.java \ + sun/nio/cs/ext/IBM943.java \ + sun/nio/cs/ext/IBM948.java \ + sun/nio/cs/ext/IBM949.java \ + sun/nio/cs/ext/IBM950.java \ + sun/nio/cs/ext/IBM970.java -FILES_java = $(FILES_src) $(FILES_gen_extsbcs) \ No newline at end of file +FILES_java = $(FILES_src) $(FILES_gen_extcs) +
--- a/jdk/make/sun/nio/Makefile Mon Jun 22 10:13:20 2009 -0700 +++ b/jdk/make/sun/nio/Makefile Mon Jun 29 22:13:31 2009 -0700 @@ -60,15 +60,15 @@ # this define is for the rule: CHARSETS_JAR = $(LIBDIR)/charsets.jar -# extsbcs -FILES_genout_extsbcs = $(FILES_gen_extsbcs:%.java=$(GENSRCDIR)/%.java) +# extcs +FILES_genout_extcs = $(FILES_gen_extcs:%.java=$(GENSRCDIR)/%.java) # # Rules # include $(BUILDDIR)/common/Classes.gmk -build: $(FILES_genout_extsbcs) $(CHARSETS_JAR) +build: $(FILES_genout_extcs) $(CHARSETS_JAR) # # Extra rules to build character converters. @@ -77,6 +77,7 @@ SERVICE_DESCRIPTION_PATH = META-INF/services/$(SERVICE_DESCRIPTION) GENCSDATASRC = $(BUILDDIR)/tools/CharsetMapping +GENCSSRCDIR = $(BUILDDIR)/tools/src/build/tools/charsetmapping GENCSEXT = $(GENSRCDIR)/sun/nio/cs/ext FILES_MAP = $(GENCSDATASRC)/sjis0213.map @@ -86,16 +87,18 @@ $(FILES_DAT): $(FILES_MAP) @$(prep-target) $(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) \ - $(FILES_MAP) $(FILES_DAT) + $(FILES_MAP) $(FILES_DAT) sjis0213 -$(FILES_genout_extsbcs): $(GENCSDATASRC)/SingleByte-X.java $(GENCSDATASRC)/extsbcs +$(FILES_genout_extcs): $(GENCSDATASRC)/SingleByte-X.java $(GENCSDATASRC)/DoubleByte-X.java \ + $(GENCSDATASRC)/extsbcs $(GENCSDATASRC)/dbcs @$(prep-target) $(RM) -r $(GENCSEXT) $(MKDIR) -p $(GENCSEXT) - $(BOOT_JAVA_CMD) -cp $(CHARSETMAPPING_JARFILE) build.tools.charsetmapping.GenerateSBCS \ - $(GENCSDATASRC) $(GENCSEXT) extsbcs - + $(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) $(GENCSDATASRC) $(GENCSEXT) extsbcs + $(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) $(GENCSDATASRC) $(GENCSEXT) euctw \ + $(GENCSSRCDIR)/GenerateEUC_TW.java + $(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) $(GENCSDATASRC) $(GENCSEXT) dbcs $(CLASSDESTDIR)/$(SERVICE_DESCRIPTION_PATH): \ $(SHARE_SRC)/classes/sun/nio/cs/ext/$(SERVICE_DESCRIPTION_PATH)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/DoubleByte-X.java Mon Jun 29 22:13:31 2009 -0700 @@ -0,0 +1,100 @@ +/* + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Sun designates this + * particular file as subject to the "Classpath" exception as provided + * by Sun in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +// -- This file was mechanically generated: Do not edit! -- // + +package $PACKAGE$; + +import java.nio.charset.Charset; +import java.nio.charset.CharsetDecoder; +import java.nio.charset.CharsetEncoder; +import java.util.Arrays; +import sun.nio.cs.HistoricallyNamedCharset; +import sun.nio.cs.ext.DoubleByte; + +public class $NAME_CLZ$ extends Charset + $IMPLEMENTS$ +{ + public $NAME_CLZ$() { + super("$NAME_CS$", $NAME_ALIASES$); + } + + $HISTORICALNAME$ + + public boolean contains(Charset cs) { + $CONTAINS$ + } + + public CharsetDecoder newDecoder() { + initb2c(); + return new DoubleByte.Decoder$DECTYPE$(this, b2c, b2cSB, $B2MIN$, $B2MAX$); + } + + public CharsetEncoder newEncoder() { + initc2b(); + return new DoubleByte.Encoder$ENCTYPE$(this, c2b, c2bIndex); + } + + $B2C$ + static char[][] b2c = new char[b2cStr.length][]; + static char[] b2cSB; + private static volatile boolean b2cInitialized = false; + + static void initb2c() { + if (b2cInitialized) + return; + synchronized (b2c) { + if (b2cInitialized) + return; + for (int i = 0; i < b2cStr.length; i++) { + if (b2cStr[i] == null) + b2c[i] = DoubleByte.B2C_UNMAPPABLE; + else + b2c[i] = b2cStr[i].toCharArray(); + } + b2cSB = b2cSBStr.toCharArray(); + b2cInitialized = true; + } + } + + static char[] c2b = new char[$C2BLENGTH$]; + static char[] c2bIndex = new char[0x100]; + private static volatile boolean c2bInitialized = false; + + static void initc2b() { + if (c2bInitialized) + return; + synchronized (c2b) { + if (c2bInitialized) + return; + $NONROUNDTRIP_B2C$ + $NONROUNDTRIP_C2B$ + DoubleByte.Encoder.initC2B(b2cStr, b2cSBStr, b2cNR, c2bNR, + $B2MIN$, $B2MAX$, + c2b, c2bIndex); + c2bInitialized = true; + } + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1381.c2b Mon Jun 29 22:13:31 2009 -0700 @@ -0,0 +1,4 @@ +# See 4201529/4296969 +A1AA 2014 +A1A4 00B7 +A1A4 7AC2 \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/make/tools/CharsetMapping/IBM1381.map Mon Jun 29 22:13:31 2009 -0700 @@ -0,0 +1,9500 @@ +# +# souce: Cp1381.b2c +# +# The map at cdctables.zip/Package2.zip/IBM-1364.zip has different entries +# +# 1A 001C +# 1C 007F +# 7F 001A +# 8CEE FFE5 +# 8CF4 4EDD +# +00 0000 +01 0001 +02 0002 +03 0003 +04 0004 +05 0005 +06 0006 +07 0007 +08 0008 +09 0009 +0A 000A +0B 000B +0C 000C +0D 000D +0E 000E +0F 000F +10 0010 +11 0011 +12 0012 +13 0013 +14 0014 +15 0015 +16 0016 +17 0017 +18 0018 +19 0019 +1A 001A +1B 001B +1C 001C +1D 001D +1E 001E +1F 001F +20 0020 +21 0021 +22 0022 +23 0023 +24 0024 +25 0025 +26 0026 +27 0027 +28 0028 +29 0029 +2A 002A +2B 002B +2C 002C +2D 002D +2E 002E +2F 002F +30 0030 +31 0031 +32 0032 +33 0033 +34 0034 +35 0035 +36 0036 +37 0037 +38 0038 +39 0039 +3A 003A +3B 003B +3C 003C +3D 003D +3E 003E +3F 003F +40 0040 +41 0041 +42 0042 +43 0043 +44 0044 +45 0045 +46 0046 +47 0047 +48 0048 +49 0049 +4A 004A +4B 004B +4C 004C +4D 004D +4E 004E +4F 004F +50 0050 +51 0051 +52 0052 +53 0053 +54 0054 +55 0055 +56 0056 +57 0057 +58 0058 +59 0059 +5A 005A +5B 005B +5C 005C +5D 005D +5E 005E +5F 005F +60 0060 +61 0061 +62 0062 +63 0063 +64 0064 +65 0065 +66 0066 +67 0067 +68 0068 +69 0069 +6A 006A +6B 006B +6C 006C +6D 006D +6E 006E +6F 006F +70 0070 +71 0071 +72 0072 +73 0073 +74 0074 +75 0075 +76 0076 +77 0077 +78 0078 +79 0079 +7A 007A +7B 007B +7C 007C +7D 007D +7E 007E +7F 007F +80 00A3 +81 00AC +82 00A5 +83 203E +84 00A6 +8CE0 2170 +8CE1 2171 +8CE2 2172 +8CE3 2173 +8CE4 2174 +8CE5 2175 +8CE6 2176 +8CE7 2177 +8CE8 2178 +8CE9 2179 +8CEA FFE2 +8CEB FFE4 +8CEC FF07 +8CED 30FC +8CEE F83D +8CEF 309B +8CF0 309C +8CF1 30FD +8CF2 30FE +8CF3 2010 +8CF4 F83E +8CF5 3006 +8CF6 3007 +8CF7 3012 +8CF8 3231 +8CF9 2121 +8CFA 2025 +8CFB 309D +8CFC 309E +8CFD 25BD +8CFE 25BC +8DA1 E000 +8DA2 E001 +8DA3 E002 +8DA4 E003 +8DA5 E004 +8DA6 E005 +8DA7 E006 +8DA8 E007 +8DA9 E008 +8DAA E009 +8DAB E00A +8DAC E00B +8DAD E00C +8DAE E00D +8DAF E00E +8DB0 E00F +8DB1 E010 +8DB2 E011 +8DB3 E012 +8DB4 E013 +8DB5 E014 +8DB6 E015 +8DB7 E016 +8DB8 E017 +8DB9 E018 +8DBA E019 +8DBB E01A +8DBC E01B +8DBD E01C +8DBE E01D +8DBF E01E +8DC0 E01F +8DC1 E020 +8DC2 E021 +8DC3 E022 +8DC4 E023 +8DC5 E024 +8DC6 E025 +8DC7 E026 +8DC8 E027 +8DC9 E028 +8DCA E029 +8DCB E02A +8DCC E02B +8DCD E02C +8DCE E02D +8DCF E02E +8DD0 E02F +8DD1 E030 +8DD2 E031 +8DD3 E032 +8DD4 E033 +8DD5 E034 +8DD6 E035 +8DD7 E036 +8DD8 E037 +8DD9 E038 +8DDA E039 +8DDB E03A +8DDC E03B +8DDD E03C +8DDE E03D +8DDF E03E +8DE0 E03F +8DE1 E040 +8DE2 E041 +8DE3 E042 +8DE4 E043 +8DE5 E044 +8DE6 E045 +8DE7 E046 +8DE8 E047 +8DE9 E048 +8DEA E049 +8DEB E04A +8DEC E04B +8DED E04C +8DEE E04D +8DEF E04E +8DF0 E04F +8DF1 E050 +8DF2 E051 +8DF3 E052 +8DF4 E053 +8DF5 E054 +8DF6 E055 +8DF7 E056 +8DF8 E057 +8DF9 E058 +8DFA E059 +8DFB E05A +8DFC E05B +8DFD E05C +8DFE E05D +8EA1 E05E +8EA2 E05F +8EA3 E060 +8EA4 E061 +8EA5 E062 +8EA6 E063 +8EA7 E064 +8EA8 E065 +8EA9 E066 +8EAA E067 +8EAB E068 +8EAC E069 +8EAD E06A +8EAE E06B +8EAF E06C +8EB0 E06D +8EB1 E06E +8EB2 E06F +8EB3 E070 +8EB4 E071 +8EB5 E072 +8EB6 E073 +8EB7 E074 +8EB8 E075 +8EB9 E076 +8EBA E077 +8EBB E078 +8EBC E079 +8EBD E07A +8EBE E07B +8EBF E07C +8EC0 E07D +8EC1 E07E +8EC2 E07F +8EC3 E080 +8EC4 E081 +8EC5 E082 +8EC6 E083 +8EC7 E084 +8EC8 E085 +8EC9 E086 +8ECA E087 +8ECB E088 +8ECC E089 +8ECD E08A +8ECE E08B +8ECF E08C +8ED0 E08D +8ED1 E08E +8ED2 E08F +8ED3 E090 +8ED4 E091 +8ED5 E092 +8ED6 E093 +8ED7 E094 +8ED8 E095 +8ED9 E096 +8EDA E097 +8EDB E098 +8EDC E099 +8EDD E09A +8EDE E09B +8EDF E09C +8EE0 E09D +8EE1 E09E +8EE2 E09F +8EE3 E0A0 +8EE4 E0A1 +8EE5 E0A2 +8EE6 E0A3 +8EE7 E0A4 +8EE8 E0A5 +8EE9 E0A6 +8EEA E0A7 +8EEB E0A8 +8EEC E0A9 +8EED E0AA +8EEE E0AB +8EEF E0AC +8EF0 E0AD +8EF1 E0AE +8EF2 E0AF +8EF3 E0B0 +8EF4 E0B1 +8EF5 E0B2 +8EF6 E0B3 +8EF7 E0B4 +8EF8 E0B5 +8EF9 E0B6 +8EFA E0B7 +8EFB E0B8 +8EFC E0B9 +8EFD E0BA +8EFE E0BB +8FA1 E0BC +8FA2 E0BD +8FA3 E0BE +8FA4 E0BF +8FA5 E0C0 +8FA6 E0C1 +8FA7 E0C2 +8FA8 E0C3 +8FA9 E0C4 +8FAA E0C5 +8FAB E0C6 +8FAC E0C7 +8FAD E0C8 +8FAE E0C9 +8FAF E0CA +8FB0 E0CB +8FB1 E0CC +8FB2 E0CD +8FB3 E0CE +8FB4 E0CF +8FB5 E0D0 +8FB6 E0D1 +8FB7 E0D2 +8FB8 E0D3 +8FB9 E0D4 +8FBA E0D5 +8FBB E0D6 +8FBC E0D7 +8FBD E0D8 +8FBE E0D9 +8FBF E0DA +8FC0 E0DB +8FC1 E0DC +8FC2 E0DD +8FC3 E0DE +8FC4 E0DF +8FC5 E0E0 +8FC6 E0E1 +8FC7 E0E2 +8FC8 E0E3 +8FC9 E0E4 +8FCA E0E5 +8FCB E0E6 +8FCC E0E7 +8FCD E0E8 +8FCE E0E9 +8FCF E0EA +8FD0 E0EB +8FD1 E0EC +8FD2 E0ED +8FD3 E0EE +8FD4 E0EF +8FD5 E0F0 +8FD6 E0F1 +8FD7 E0F2 +8FD8 E0F3 +8FD9 E0F4 +8FDA E0F5 +8FDB E0F6 +8FDC E0F7 +8FDD E0F8 +8FDE E0F9 +8FDF E0FA +8FE0 E0FB +8FE1 E0FC +8FE2 E0FD +8FE3 E0FE +8FE4 E0FF +8FE5 E100 +8FE6 E101 +8FE7 E102 +8FE8 E103 +8FE9 E104 +8FEA E105 +8FEB E106 +8FEC E107 +8FED E108 +8FEE E109 +8FEF E10A +8FF0 E10B +8FF1 E10C +8FF2 E10D +8FF3 E10E +8FF4 E10F +8FF5 E110 +8FF6 E111 +8FF7 E112 +8FF8 E113 +8FF9 E114 +8FFA E115 +8FFB E116 +8FFC E117 +8FFD E118 +8FFE E119 +90A1 E11A +90A2 E11B +90A3 E11C +90A4 E11D +90A5 E11E +90A6 E11F +90A7 E120 +90A8 E121 +90A9 E122 +90AA E123 +90AB E124 +90AC E125 +90AD E126 +90AE E127 +90AF E128 +90B0 E129 +90B1 E12A +90B2 E12B +90B3 E12C +90B4 E12D +90B5 E12E +90B6 E12F +90B7 E130 +90B8 E131 +90B9 E132 +90BA E133 +90BB E134 +90BC E135 +90BD E136 +90BE E137 +90BF E138 +90C0 E139 +90C1 E13A +90C2 E13B +90C3 E13C +90C4 E13D +90C5 E13E +90C6 E13F +90C7 E140 +90C8 E141 +90C9 E142 +90CA E143 +90CB E144 +90CC E145 +90CD E146 +90CE E147 +90CF E148 +90D0 E149 +90D1 E14A +90D2 E14B +90D3 E14C +90D4 E14D +90D5 E14E +90D6 E14F +90D7 E150 +90D8 E151 +90D9 E152 +90DA E153 +90DB E154 +90DC E155 +90DD E156 +90DE E157 +90DF E158 +90E0 E159 +90E1 E15A +90E2 E15B +90E3 E15C +90E4 E15D +90E5 E15E +90E6 E15F +90E7 E160 +90E8 E161 +90E9 E162 +90EA E163 +90EB E164 +90EC E165 +90ED E166 +90EE E167 +90EF E168 +90F0 E169 +90F1 E16A +90F2 E16B +90F3 E16C +90F4 E16D +90F5 E16E +90F6 E16F +90F7 E170 +90F8 E171 +90F9 E172 +90FA E173 +90FB E174 +90FC E175 +90FD E176 +90FE E177 +91A1 E178 +91A2 E179 +91A3 E17A +91A4 E17B +91A5 E17C +91A6 E17D +91A7 E17E +91A8 E17F +91A9 E180 +91AA E181 +91AB E182 +91AC E183 +91AD E184 +91AE E185 +91AF E186 +91B0 E187 +91B1 E188 +91B2 E189 +91B3 E18A +91B4 E18B +91B5 E18C +91B6 E18D +91B7 E18E +91B8 E18F +91B9 E190 +91BA E191 +91BB E192 +91BC E193 +91BD E194 +91BE E195 +91BF E196 +91C0 E197 +91C1 E198 +91C2 E199 +91C3 E19A +91C4 E19B +91C5 E19C +91C6 E19D +91C7 E19E +91C8 E19F +91C9 E1A0 +91CA E1A1 +91CB E1A2 +91CC E1A3 +91CD E1A4 +91CE E1A5 +91CF E1A6 +91D0 E1A7 +91D1 E1A8 +91D2 E1A9 +91D3 E1AA +91D4 E1AB +91D5 E1AC +91D6 E1AD +91D7 E1AE +91D8 E1AF +91D9 E1B0 +91DA E1B1 +91DB E1B2 +91DC E1B3 +91DD E1B4 +91DE E1B5 +91DF E1B6 +91E0 E1B7 +91E1 E1B8 +91E2 E1B9 +91E3 E1BA +91E4 E1BB +91E5 E1BC +91E6 E1BD +91E7 E1BE +91E8 E1BF +91E9 E1C0 +91EA E1C1 +91EB E1C2 +91EC E1C3 +91ED E1C4 +91EE E1C5 +91EF E1C6 +91F0 E1C7 +91F1 E1C8 +91F2 E1C9 +91F3 E1CA +91F4 E1CB +91F5 E1CC +91F6 E1CD +91F7 E1CE +91F8 E1CF +91F9 E1D0 +91FA E1D1 +91FB E1D2 +91FC E1D3 +91FD E1D4 +91FE E1D5 +92A1 E1D6 +92A2 E1D7 +92A3 E1D8 +92A4 E1D9 +92A5 E1DA +92A6 E1DB +92A7 E1DC +92A8 E1DD +92A9 E1DE +92AA E1DF +92AB E1E0 +92AC E1E1 +92AD E1E2 +92AE E1E3 +92AF E1E4 +92B0 E1E5 +92B1 E1E6 +92B2 E1E7 +92B3 E1E8 +92B4 E1E9 +92B5 E1EA +92B6 E1EB +92B7 E1EC +92B8 E1ED +92B9 E1EE +92BA E1EF +92BB E1F0 +92BC E1F1 +92BD E1F2 +92BE E1F3 +92BF E1F4 +92C0 E1F5 +92C1 E1F6 +92C2 E1F7 +92C3 E1F8 +92C4 E1F9 +92C5 E1FA +92C6 E1FB +92C7 E1FC +92C8 E1FD +92C9 E1FE +92CA E1FF +92CB E200 +92CC E201 +92CD E202 +92CE E203 +92CF E204 +92D0 E205 +92D1 E206 +92D2 E207 +92D3 E208 +92D4 E209 +92D5 E20A +92D6 E20B +92D7 E20C +92D8 E20D +92D9 E20E +92DA E20F +92DB E210 +92DC E211 +92DD E212 +92DE E213 +92DF E214 +92E0 E215 +92E1 E216 +92E2 E217 +92E3 E218 +92E4 E219 +92E5 E21A +92E6 E21B +92E7 E21C +92E8 E21D +92E9 E21E +92EA E21F +92EB E220 +92EC E221 +92ED E222 +92EE E223 +92EF E224 +92F0 E225 +92F1 E226 +92F2 E227 +92F3 E228 +92F4 E229 +92F5 E22A +92F6 E22B +92F7 E22C +92F8 E22D +92F9 E22E +92FA E22F +92FB E230 +92FC E231 +92FD E232 +92FE E233 +93A1 E234 +93A2 E235 +93A3 E236 +93A4 E237 +93A5 E238 +93A6 E239 +93A7 E23A +93A8 E23B +93A9 E23C +93AA E23D +93AB E23E +93AC E23F +93AD E240 +93AE E241 +93AF E242 +93B0 E243 +93B1 E244 +93B2 E245 +93B3 E246 +93B4 E247 +93B5 E248 +93B6 E249 +93B7 E24A +93B8 E24B +93B9 E24C +93BA E24D +93BB E24E +93BC E24F +93BD E250 +93BE E251 +93BF E252 +93C0 E253 +93C1 E254 +93C2 E255 +93C3 E256 +93C4 E257 +93C5 E258 +93C6 E259 +93C7 E25A +93C8 E25B +93C9 E25C +93CA E25D +93CB E25E +93CC E25F +93CD E260 +93CE E261 +93CF E262 +93D0 E263 +93D1 E264 +93D2 E265 +93D3 E266 +93D4 E267 +93D5 E268 +93D6 E269 +93D7 E26A +93D8 E26B +93D9 E26C +93DA E26D +93DB E26E +93DC E26F +93DD E270 +93DE E271 +93DF E272 +93E0 E273 +93E1 E274 +93E2 E275 +93E3 E276 +93E4 E277 +93E5 E278 +93E6 E279 +93E7 E27A +93E8 E27B +93E9 E27C +93EA E27D +93EB E27E +93EC E27F +93ED E280 +93EE E281 +93EF E282 +93F0 E283 +93F1 E284 +93F2 E285 +93F3 E286 +93F4 E287 +93F5 E288 +93F6 E289 +93F7 E28A +93F8 E28B +93F9 E28C +93FA E28D +93FB E28E +93FC E28F +93FD E290 +93FE E291 +94A1 E292 +94A2 E293 +94A3 E294 +94A4 E295 +94A5 E296 +94A6 E297 +94A7 E298 +94A8 E299 +94A9 E29A +94AA E29B +94AB E29C +94AC E29D +94AD E29E +94AE E29F +94AF E2A0 +94B0 E2A1 +94B1 E2A2 +94B2 E2A3 +94B3 E2A4 +94B4 E2A5 +94B5 E2A6 +94B6 E2A7 +94B7 E2A8 +94B8 E2A9 +94B9 E2AA +94BA E2AB +94BB E2AC +94BC E2AD +94BD E2AE +94BE E2AF +94BF E2B0 +94C0 E2B1 +94C1 E2B2 +94C2 E2B3 +94C3 E2B4 +94C4 E2B5 +94C5 E2B6 +94C6 E2B7 +94C7 E2B8 +94C8 E2B9 +94C9 E2BA +94CA E2BB +94CB E2BC +94CC E2BD +94CD E2BE +94CE E2BF +94CF E2C0 +94D0 E2C1 +94D1 E2C2 +94D2 E2C3 +94D3 E2C4 +94D4 E2C5 +94D5 E2C6 +94D6 E2C7 +94D7 E2C8 +94D8 E2C9 +94D9 E2CA +94DA E2CB +94DB E2CC +94DC E2CD +94DD E2CE +94DE E2CF +94DF E2D0 +94E0 E2D1 +94E1 E2D2 +94E2 E2D3 +94E3 E2D4 +94E4 E2D5 +94E5 E2D6 +94E6 E2D7 +94E7 E2D8 +94E8 E2D9 +94E9 E2DA +94EA E2DB +94EB E2DC +94EC E2DD +94ED E2DE +94EE E2DF +94EF E2E0 +94F0 E2E1 +94F1 E2E2 +94F2 E2E3 +94F3 E2E4 +94F4 E2E5 +94F5 E2E6 +94F6 E2E7 +94F7 E2E8 +94F8 E2E9 +94F9 E2EA +94FA E2EB +94FB E2EC +94FC E2ED +94FD E2EE +94FE E2EF +95A1 E2F0 +95A2 E2F1 +95A3 E2F2 +95A4 E2F3 +95A5 E2F4 +95A6 E2F5 +95A7 E2F6 +95A8 E2F7 +95A9 E2F8 +95AA E2F9 +95AB E2FA +95AC E2FB +95AD E2FC +95AE E2FD +95AF E2FE +95B0 E2FF +95B1 E300 +95B2 E301 +95B3 E302 +95B4 E303 +95B5 E304 +95B6 E305 +95B7 E306 +95B8 E307 +95B9 E308 +95BA E309 +95BB E30A +95BC E30B +95BD E30C +95BE E30D +95BF E30E +95C0 E30F +95C1 E310 +95C2 E311 +95C3 E312 +95C4 E313 +95C5 E314 +95C6 E315 +95C7 E316 +95C8 E317 +95C9 E318 +95CA E319 +95CB E31A +95CC E31B +95CD E31C +95CE E31D +95CF E31E +95D0 E31F +95D1 E320 +95D2 E321 +95D3 E322 +95D4 E323 +95D5 E324 +95D6 E325 +95D7 E326 +95D8 E327 +95D9 E328 +95DA E329 +95DB E32A +95DC E32B +95DD E32C +95DE E32D +95DF E32E +95E0 E32F +95E1 E330 +95E2 E331 +95E3 E332 +95E4 E333 +95E5 E334 +95E6 E335 +95E7 E336 +95E8 E337 +95E9 E338 +95EA E339 +95EB E33A +95EC E33B +95ED E33C +95EE E33D +95EF E33E +95F0 E33F +95F1 E340 +95F2 E341 +95F3 E342 +95F4 E343 +95F5 E344 +95F6 E345 +95F7 E346 +95F8 E347 +95F9 E348 +95FA E349 +95FB E34A +95FC E34B +95FD E34C +95FE E34D +96A1 E34E +96A2 E34F +96A3 E350 +96A4 E351 +96A5 E352 +96A6 E353 +96A7 E354 +96A8 E355 +96A9 E356 +96AA E357 +96AB E358 +96AC E359 +96AD E35A +96AE E35B +96AF E35C +96B0 E35D +96B1 E35E +96B2 E35F +96B3 E360 +96B4 E361 +96B5 E362 +96B6 E363 +96B7 E364 +96B8 E365 +96B9 E366 +96BA E367 +96BB E368 +96BC E369 +96BD E36A +96BE E36B +96BF E36C +96C0 E36D +96C1 E36E +96C2 E36F +96C3 E370 +96C4 E371 +96C5 E372 +96C6 E373 +96C7 E374 +96C8 E375 +96C9 E376 +96CA E377 +96CB E378 +96CC E379 +96CD E37A +96CE E37B +96CF E37C +96D0 E37D +96D1 E37E +96D2 E37F +96D3 E380 +96D4 E381 +96D5 E382 +96D6 E383 +96D7 E384 +96D8 E385 +96D9 E386 +96DA E387 +96DB E388 +96DC E389 +96DD E38A +96DE E38B +96DF E38C +96E0 E38D +96E1 E38E +96E2 E38F +96E3 E390 +96E4 E391 +96E5 E392 +96E6 E393 +96E7 E394 +96E8 E395 +96E9 E396 +96EA E397 +96EB E398 +96EC E399 +96ED E39A +96EE E39B +96EF E39C +96F0 E39D +96F1 E39E +96F2 E39F +96F3 E3A0 +96F4 E3A1 +96F5 E3A2 +96F6 E3A3 +96F7 E3A4 +96F8 E3A5 +96F9 E3A6 +96FA E3A7 +96FB E3A8 +96FC E3A9 +96FD E3AA +96FE E3AB +97A1 E3AC +97A2 E3AD +97A3 E3AE +97A4 E3AF +97A5 E3B0 +97A6 E3B1 +97A7 E3B2 +97A8 E3B3 +97A9 E3B4 +97AA E3B5 +97AB E3B6 +97AC E3B7 +97AD E3B8 +97AE E3B9 +97AF E3BA +97B0 E3BB +97B1 E3BC +97B2 E3BD +97B3 E3BE +97B4 E3BF +97B5 E3C0 +97B6 E3C1 +97B7 E3C2 +97B8 E3C3 +97B9 E3C4 +97BA E3C5 +97BB E3C6 +97BC E3C7 +97BD E3C8 +97BE E3C9 +97BF E3CA +97C0 E3CB +97C1 E3CC +97C2 E3CD +97C3 E3CE +97C4 E3CF +97C5 E3D0 +97C6 E3D1 +97C7 E3D2 +97C8 E3D3 +97C9 E3D4 +97CA E3D5 +97CB E3D6 +97CC E3D7 +97CD E3D8 +97CE E3D9 +97CF E3DA +97D0 E3DB +97D1 E3DC +97D2 E3DD +97D3 E3DE +97D4 E3DF +97D5 E3E0 +97D6 E3E1 +97D7 E3E2 +97D8 E3E3 +97D9 E3E4 +97DA E3E5 +97DB E3E6 +97DC E3E7 +97DD E3E8 +97DE E3E9 +97DF E3EA +97E0 E3EB +97E1 E3EC +97E2 E3ED +97E3 E3EE +97E4 E3EF +97E5 E3F0 +97E6 E3F1 +97E7 E3F2 +97E8 E3F3 +97E9 E3F4 +97EA E3F5 +97EB E3F6 +97EC E3F7 +97ED E3F8 +97EE E3F9 +97EF E3FA +97F0 E3FB +97F1 E3FC +97F2 E3FD +97F3 E3FE +97F4 E3FF +97F5 E400 +97F6 E401 +97F7 E402 +97F8 E403 +97F9 E404 +97FA E405 +97FB E406 +97FC E407 +97FD E408 +97FE E409 +98A1 E40A +98A2 E40B +98A3 E40C +98A4 E40D +98A5 E40E +98A6 E40F +98A7 E410 +98A8 E411 +98A9 E412 +98AA E413 +98AB E414 +98AC E415 +98AD E416 +98AE E417 +98AF E418 +98B0 E419 +98B1 E41A +98B2 E41B +98B3 E41C +98B4 E41D +98B5 E41E +98B6 E41F +98B7 E420 +98B8 E421 +98B9 E422 +98BA E423 +98BB E424 +98BC E425 +98BD E426 +98BE E427 +98BF E428 +98C0 E429 +98C1 E42A +98C2 E42B +98C3 E42C +98C4 E42D +98C5 E42E +98C6 E42F +98C7 E430 +98C8 E431 +98C9 E432 +98CA E433 +98CB E434 +98CC E435 +98CD E436 +98CE E437 +98CF E438 +98D0 E439 +98D1 E43A +98D2 E43B +98D3 E43C +98D4 E43D +98D5 E43E +98D6 E43F +98D7 E440 +98D8 E441 +98D9 E442 +98DA E443 +98DB E444 +98DC E445 +98DD E446 +98DE E447 +98DF E448 +98E0 E449 +98E1 E44A +98E2 E44B +98E3 E44C +98E4 E44D +98E5 E44E +98E6 E44F +98E7 E450 +98E8 E451 +98E9 E452 +98EA E453 +98EB E454 +98EC E455 +98ED E456 +98EE E457 +98EF E458 +98F0 E459 +98F1 E45A +98F2 E45B +98F3 E45C +98F4 E45D +98F5 E45E +98F6 E45F +98F7 E460 +98F8 E461 +98F9 E462 +98FA E463 +98FB E464 +98FC E465 +98FD E466 +98FE E467 +99A1 E468 +99A2 E469 +99A3 E46A +99A4 E46B +99A5 E46C +99A6 E46D +99A7 E46E +99A8 E46F +99A9 E470 +99AA E471 +99AB E472 +99AC E473 +99AD E474 +99AE E475 +99AF E476 +99B0 E477 +99B1 E478 +99B2 E479 +99B3 E47A +99B4 E47B +99B5 E47C +99B6 E47D +99B7 E47E +99B8 E47F +99B9 E480 +99BA E481 +99BB E482 +99BC E483 +99BD E484 +99BE E485 +99BF E486 +99C0 E487 +99C1 E488 +99C2 E489 +99C3 E48A +99C4 E48B +99C5 E48C +99C6 E48D +99C7 E48E +99C8 E48F +99C9 E490 +99CA E491 +99CB E492 +99CC E493 +99CD E494 +99CE E495 +99CF E496 +99D0 E497 +99D1 E498 +99D2 E499 +99D3 E49A +99D4 E49B +99D5 E49C +99D6 E49D +99D7 E49E +99D8 E49F +99D9 E4A0 +99DA E4A1 +99DB E4A2 +99DC E4A3 +99DD E4A4 +99DE E4A5 +99DF E4A6 +99E0 E4A7 +99E1 E4A8 +99E2 E4A9 +99E3 E4AA +99E4 E4AB +99E5 E4AC +99E6 E4AD +99E7 E4AE +99E8 E4AF +99E9 E4B0 +99EA E4B1 +99EB E4B2 +99EC E4B3 +99ED E4B4 +99EE E4B5 +99EF E4B6 +99F0 E4B7 +99F1 E4B8 +99F2 E4B9 +99F3 E4BA +99F4 E4BB +99F5 E4BC +99F6 E4BD +99F7 E4BE +99F8 E4BF +99F9 E4C0 +99FA E4C1 +99FB E4C2 +99FC E4C3 +99FD E4C4 +99FE E4C5 +9AA1 E4C6 +9AA2 E4C7 +9AA3 E4C8 +9AA4 E4C9 +9AA5 E4CA +9AA6 E4CB +9AA7 E4CC +9AA8 E4CD +9AA9 E4CE +9AAA E4CF +9AAB E4D0 +9AAC E4D1 +9AAD E4D2 +9AAE E4D3 +9AAF E4D4 +9AB0 E4D5 +9AB1 E4D6 +9AB2 E4D7 +9AB3 E4D8 +9AB4 E4D9 +9AB5 E4DA +9AB6 E4DB +9AB7 E4DC +9AB8 E4DD +9AB9 E4DE +9ABA E4DF +9ABB E4E0 +9ABC E4E1 +9ABD E4E2 +9ABE E4E3 +9ABF E4E4 +9AC0 E4E5 +9AC1 E4E6 +9AC2 E4E7 +9AC3 E4E8 +9AC4 E4E9 +9AC5 E4EA +9AC6 E4EB +9AC7 E4EC +9AC8 E4ED +9AC9 E4EE +9ACA E4EF +9ACB E4F0 +9ACC E4F1 +9ACD E4F2 +9ACE E4F3 +9ACF E4F4 +9AD0 E4F5 +9AD1 E4F6 +9AD2 E4F7 +9AD3 E4F8 +9AD4 E4F9 +9AD5 E4FA +9AD6 E4FB +9AD7 E4FC +9AD8 E4FD +9AD9 E4FE +9ADA E4FF +9ADB E500 +9ADC E501 +9ADD E502 +9ADE E503 +9ADF E504 +9AE0 E505 +9AE1 E506 +9AE2 E507 +9AE3 E508 +9AE4 E509 +9AE5 E50A +9AE6 E50B +9AE7 E50C +9AE8 E50D +9AE9 E50E +9AEA E50F +9AEB E510 +9AEC E511 +9AED E512 +9AEE E513 +9AEF E514 +9AF0 E515 +9AF1 E516 +9AF2 E517 +9AF3 E518 +9AF4 E519 +9AF5 E51A +9AF6 E51B +9AF7 E51C +9AF8 E51D +9AF9 E51E +9AFA E51F +9AFB E520 +9AFC E521 +9AFD E522 +9AFE E523 +9BA1 E524 +9BA2 E525 +9BA3 E526 +9BA4 E527 +9BA5 E528 +9BA6 E529 +9BA7 E52A +9BA8 E52B +9BA9 E52C +9BAA E52D +9BAB E52E +9BAC E52F +9BAD E530 +9BAE E531 +9BAF E532 +9BB0 E533 +9BB1 E534 +9BB2 E535 +9BB3 E536 +9BB4 E537 +9BB5 E538 +9BB6 E539 +9BB7 E53A +9BB8 E53B +9BB9 E53C +9BBA E53D +9BBB E53E +9BBC E53F +9BBD E540 +9BBE E541 +9BBF E542 +9BC0 E543 +9BC1 E544 +9BC2 E545 +9BC3 E546 +9BC4 E547 +9BC5 E548 +9BC6 E549 +9BC7 E54A +9BC8 E54B +9BC9 E54C +9BCA E54D +9BCB E54E +9BCC E54F +9BCD E550 +9BCE E551 +9BCF E552 +9BD0 E553 +9BD1 E554 +9BD2 E555 +9BD3 E556 +9BD4 E557 +9BD5 E558 +9BD6 E559 +9BD7 E55A +9BD8 E55B +9BD9 E55C +9BDA E55D +9BDB E55E +9BDC E55F +9BDD E560 +9BDE E561 +9BDF E562 +9BE0 E563 +9BE1 E564 +9BE2 E565 +9BE3 E566 +9BE4 E567 +9BE5 E568 +9BE6 E569 +9BE7 E56A +9BE8 E56B +9BE9 E56C +9BEA E56D +9BEB E56E +9BEC E56F +9BED E570 +9BEE E571 +9BEF E572 +9BF0 E573 +9BF1 E574 +9BF2 E575 +9BF3 E576 +9BF4 E577 +9BF5 E578 +9BF6 E579 +9BF7 E57A +9BF8 E57B +9BF9 E57C +9BFA E57D +9BFB E57E +9BFC E57F +9BFD E580 +9BFE E581 +9CA1 E582 +9CA2 E583 +9CA3 E584 +9CA4 E585 +9CA5 E586 +9CA6 E587 +9CA7 E588 +9CA8 E589 +9CA9 E58A +9CAA E58B +9CAB E58C +9CAC E58D +9CAD E58E +9CAE E58F +9CAF E590 +9CB0 E591 +9CB1 E592 +9CB2 E593 +9CB3 E594 +9CB4 E595 +9CB5 E596 +9CB6 E597 +9CB7 E598 +9CB8 E599 +9CB9 E59A +9CBA E59B +9CBB E59C +9CBC E59D +9CBD E59E +9CBE E59F +9CBF E5A0 +9CC0 E5A1 +9CC1 E5A2 +9CC2 E5A3 +9CC3 E5A4 +9CC4 E5A5 +9CC5 E5A6 +9CC6 E5A7 +9CC7 E5A8 +9CC8 E5A9 +9CC9 E5AA +9CCA E5AB +9CCB E5AC +9CCC E5AD +9CCD E5AE +9CCE E5AF +9CCF E5B0 +9CD0 E5B1 +9CD1 E5B2 +9CD2 E5B3 +9CD3 E5B4 +9CD4 E5B5 +9CD5 E5B6 +9CD6 E5B7 +9CD7 E5B8 +9CD8 E5B9 +9CD9 E5BA +9CDA E5BB +9CDB E5BC +9CDC E5BD +9CDD E5BE +9CDE E5BF +9CDF E5C0 +9CE0 E5C1 +9CE1 E5C2 +9CE2 E5C3 +9CE3 E5C4 +9CE4 E5C5 +9CE5 E5C6 +9CE6 E5C7 +9CE7 E5C8 +9CE8 E5C9 +9CE9 E5CA +9CEA E5CB +9CEB E5CC +9CEC E5CD +9CED E5CE +9CEE E5CF +9CEF E5D0 +9CF0 E5D1 +9CF1 E5D2 +9CF2 E5D3 +9CF3 E5D4 +9CF4 E5D5 +9CF5 E5D6 +9CF6 E5D7 +9CF7 E5D8 +9CF8 E5D9 +9CF9 E5DA +9CFA E5DB +9CFB E5DC +9CFC E5DD +9CFD E5DE +9CFE E5DF +9DA1 E5E0 +9DA2 E5E1 +9DA3 E5E2 +9DA4 E5E3 +9DA5 E5E4 +9DA6 E5E5 +9DA7 E5E6 +9DA8 E5E7 +9DA9 E5E8 +9DAA E5E9 +9DAB E5EA +9DAC E5EB +9DAD E5EC +9DAE E5ED +9DAF E5EE +9DB0 E5EF +9DB1 E5F0 +9DB2 E5F1 +9DB3 E5F2 +9DB4 E5F3 +9DB5 E5F4 +9DB6 E5F5 +9DB7 E5F6 +9DB8 E5F7 +9DB9 E5F8 +9DBA E5F9 +9DBB E5FA +9DBC E5FB +9DBD E5FC +9DBE E5FD +9DBF E5FE +9DC0 E5FF +9DC1 E600 +9DC2 E601 +9DC3 E602 +9DC4 E603 +9DC5 E604 +9DC6 E605 +9DC7 E606 +9DC8 E607 +9DC9 E608 +9DCA E609 +9DCB E60A +9DCC E60B +9DCD E60C +9DCE E60D +9DCF E60E +9DD0 E60F +9DD1 E610 +9DD2 E611 +9DD3 E612 +9DD4 E613 +9DD5 E614 +9DD6 E615 +9DD7 E616 +9DD8 E617 +9DD9 E618 +9DDA E619 +9DDB E61A +9DDC E61B +9DDD E61C +9DDE E61D +9DDF E61E +9DE0 E61F +9DE1 E620 +9DE2 E621 +9DE3 E622 +9DE4 E623 +9DE5 E624 +9DE6 E625 +9DE7 E626 +9DE8 E627 +9DE9 E628 +9DEA E629 +9DEB E62A +9DEC E62B +9DED E62C +9DEE E62D +9DEF E62E +9DF0 E62F +9DF1 E630 +9DF2 E631 +9DF3 E632 +9DF4 E633 +9DF5 E634 +9DF6 E635 +9DF7 E636 +9DF8 E637 +9DF9 E638 +9DFA E639 +9DFB E63A +9DFC E63B +9DFD E63C +9DFE E63D +9EA1 E63E +9EA2 E63F +9EA3 E640 +9EA4 E641 +9EA5 E642 +9EA6 E643 +9EA7 E644 +9EA8 E645 +9EA9 E646 +9EAA E647 +9EAB E648 +9EAC E649 +9EAD E64A +9EAE E64B +9EAF E64C +9EB0 E64D +9EB1 E64E +9EB2 E64F +9EB3 E650 +9EB4 E651 +9EB5 E652 +9EB6 E653 +9EB7 E654 +9EB8 E655 +9EB9 E656 +9EBA E657 +9EBB E658 +9EBC E659 +9EBD E65A +9EBE E65B +9EBF E65C +9EC0 E65D +9EC1 E65E +9EC2 E65F +9EC3 E660 +9EC4 E661 +9EC5 E662 +9EC6 E663 +9EC7 E664 +9EC8 E665 +9EC9 E666 +9ECA E667 +9ECB E668 +9ECC E669 +9ECD E66A +9ECE E66B +9ECF E66C +9ED0 E66D +9ED1 E66E +9ED2 E66F +9ED3 E670 +9ED4 E671 +9ED5 E672 +9ED6 E673 +9ED7 E674 +9ED8 E675 +9ED9 E676 +9EDA E677 +9EDB E678 +9EDC E679 +9EDD E67A +9EDE E67B +9EDF E67C +9EE0 E67D +9EE1 E67E +9EE2 E67F +9EE3 E680 +9EE4 E681 +9EE5 E682 +9EE6 E683 +9EE7 E684 +9EE8 E685 +9EE9 E686 +9EEA E687 +9EEB E688 +9EEC E689 +9EED E68A +9EEE E68B +9EEF E68C +9EF0 E68D +9EF1 E68E +9EF2 E68F +9EF3 E690 +9EF4 E691 +9EF5 E692 +9EF6 E693 +9EF7 E694 +9EF8 E695 +9EF9 E696 +9EFA E697 +9EFB E698 +9EFC E699 +9EFD E69A +9EFE E69B +9FA1 E69C +9FA2 E69D +9FA3 E69E +9FA4 E69F +9FA5 E6A0 +9FA6 E6A1 +9FA7 E6A2 +9FA8 E6A3 +9FA9 E6A4 +9FAA E6A5 +9FAB E6A6 +9FAC E6A7 +9FAD E6A8 +9FAE E6A9 +9FAF E6AA +9FB0 E6AB +9FB1 E6AC +9FB2 E6AD +9FB3 E6AE +9FB4 E6AF +9FB5 E6B0 +9FB6 E6B1 +9FB7 E6B2 +9FB8 E6B3 +9FB9 E6B4 +9FBA E6B5 +9FBB E6B6 +9FBC E6B7 +9FBD E6B8 +9FBE E6B9 +9FBF E6BA +9FC0 E6BB +9FC1 E6BC +9FC2 E6BD +9FC3 E6BE +9FC4 E6BF +9FC5 E6C0 +9FC6 E6C1 +9FC7 E6C2 +9FC8 E6C3 +9FC9 E6C4 +9FCA E6C5 +9FCB E6C6 +9FCC E6C7 +9FCD E6C8 +9FCE E6C9 +9FCF E6CA +9FD0 E6CB +9FD1 E6CC +9FD2 E6CD +9FD3 E6CE +9FD4 E6CF +9FD5 E6D0 +9FD6 E6D1 +9FD7 E6D2 +9FD8 E6D3 +9FD9 E6D4 +9FDA E6D5 +9FDB E6D6 +9FDC E6D7 +9FDD E6D8 +9FDE E6D9 +9FDF E6DA +9FE0 E6DB +9FE1 E6DC +9FE2 E6DD +9FE3 E6DE +9FE4 E6DF +9FE5 E6E0 +9FE6 E6E1 +9FE7 E6E2 +9FE8 E6E3 +9FE9 E6E4 +9FEA E6E5 +9FEB E6E6 +9FEC E6E7 +9FED E6E8 +9FEE E6E9 +9FEF E6EA +9FF0 E6EB +9FF1 E6EC +9FF2 E6ED +9FF3 E6EE +9FF4 E6EF +9FF5 E6F0 +9FF6 E6F1 +9FF7 E6F2 +9FF8 E6F3 +9FF9 E6F4 +9FFA E6F5 +9FFB E6F6 +9FFC E6F7 +9FFD E6F8 +9FFE E6F9 +A0A1 E6FA +A0A2 E6FB +A0A3 E6FC +A0A4 E6FD +A0A5 E6FE +A0A6 E6FF +A0A7 E700 +A0A8 E701 +A0A9 E702 +A0AA E703 +A0AB E704 +A0AC E705 +A0AD E706 +A0AE E707 +A0AF E708 +A0B0 E709 +A0B1 E70A +A0B2 E70B +A0B3 E70C +A0B4 E70D +A0B5 E70E +A0B6 E70F +A0B7 E710 +A0B8 E711 +A0B9 E712 +A0BA E713 +A0BB E714 +A0BC E715 +A0BD E716 +A0BE E717 +A0BF E718 +A0C0 E719 +A0C1 E71A +A0C2 E71B +A0C3 E71C +A0C4 E71D +A0C5 E71E +A0C6 E71F +A0C7 E720 +A0C8 E721 +A0C9 E722 +A0CA E723 +A0CB E724 +A0CC E725 +A0CD E726 +A0CE E727 +A0CF E728 +A0D0 E729 +A0D1 E72A +A0D2 E72B +A0D3 E72C +A0D4 E72D +A0D5 E72E +A0D6 E72F +A0D7 E730 +A0D8 E731 +A0D9 E732 +A0DA E733 +A0DB E734 +A0DC E735 +A0DD E736 +A0DE E737 +A0DF E738 +A0E0 E739 +A0E1 E73A +A0E2 E73B +A0E3 E73C +A0E4 E73D +A0E5 E73E +A0E6 E73F +A0E7 E740 +A0E8 E741 +A0E9 E742 +A0EA E743 +A0EB E744 +A0EC E745 +A0ED E746 +A0EE E747 +A0EF E748 +A0F0 E749 +A0F1 E74A +A0F2 E74B +A0F3 E74C +A0F4 E74D +A0F5 E74E +A0F6 E74F +A0F7 E750 +A0F8 E751 +A0F9 E752 +A0FA E753 +A0FB E754 +A0FC E755 +A0FD E756 +A0FE E757 +A1A1 3000 +A1A2 3001 +A1A3 3002 +A1A4 30FB +A1A5 02C9 +A1A6 02C7 +A1A7 00A8 +A1A8 3003 +A1A9 3005 +A1AA 2015 +A1AB FF5E +A1AC 2016 +A1AD 2026 +A1AE 2018 +A1AF 2019 +A1B0 201C +A1B1 201D +A1B2 3014 +A1B3 3015 +A1B4 3008 +A1B5 3009 +A1B6 300A +A1B7 300B +A1B8 300C +A1B9 300D +A1BA 300E +A1BB 300F +A1BC 3016 +A1BD 3017 +A1BE 3010 +A1BF 3011 +A1C0 00B1 +A1C1 00D7 +A1C2 00F7 +A1C3 2236 +A1C4 2227 +A1C5 2228 +A1C6 2211 +A1C7 220F +A1C8 222A +A1C9 2229 +A1CA 2208 +A1CB 2237 +A1CC 221A +A1CD 22A5 +A1CE 2225 +A1CF 2220 +A1D0 2312 +A1D1 2299 +A1D2 222B +A1D3 222E +A1D4 2261 +A1D5 224C +A1D6 2248 +A1D7 223D +A1D8 221D +A1D9 2260 +A1DA 226E +A1DB 226F +A1DC 2264 +A1DD 2265 +A1DE 221E +A1DF 2235 +A1E0 2234 +A1E1 2642 +A1E2 2640 +A1E3 00B0 +A1E4 2032 +A1E5 2033 +A1E6 2103 +A1E7 FF04 +A1E8 00A4 +A1E9 FFE0 +A1EA FFE1 +A1EB 2030 +A1EC 00A7 +A1ED 2116 +A1EE 2606 +A1EF 2605 +A1F0 25CB +A1F1 25CF +A1F2 25CE +A1F3 25C7 +A1F4 25C6 +A1F5 25A1 +A1F6 25A0 +A1F7 25B3 +A1F8 25B2 +A1F9 203B +A1FA 2192 +A1FB 2190 +A1FC 2191 +A1FD 2193 +A1FE 3013 +A2B1 2488 +A2B2 2489 +A2B3 248A +A2B4 248B +A2B5 248C +A2B6 248D +A2B7 248E +A2B8 248F +A2B9 2490 +A2BA 2491 +A2BB 2492 +A2BC 2493 +A2BD 2494 +A2BE 2495 +A2BF 2496 +A2C0 2497 +A2C1 2498 +A2C2 2499 +A2C3 249A +A2C4 249B +A2C5 2474 +A2C6 2475 +A2C7 2476 +A2C8 2477 +A2C9 2478 +A2CA 2479 +A2CB 247A +A2CC 247B +A2CD 247C +A2CE 247D +A2CF 247E +A2D0 247F +A2D1 2480 +A2D2 2481 +A2D3 2482 +A2D4 2483 +A2D5 2484 +A2D6 2485 +A2D7 2486 +A2D8 2487 +A2D9 2460 +A2DA 2461 +A2DB 2462 +A2DC 2463 +A2DD 2464 +A2DE 2465 +A2DF 2466 +A2E0 2467 +A2E1 2468 +A2E2 2469 +A2E5 3220 +A2E6 3221 +A2E7 3222 +A2E8 3223 +A2E9 3224 +A2EA 3225 +A2EB 3226 +A2EC 3227 +A2ED 3228 +A2EE 3229 +A2F1 2160 +A2F2 2161 +A2F3 2162 +A2F4 2163 +A2F5 2164 +A2F6 2165 +A2F7 2166 +A2F8 2167 +A2F9 2168 +A2FA 2169 +A2FB 216A +A2FC 216B +A3A1 FF01 +A3A2 FF02 +A3A3 FF03 +A3A4 FFE5 +A3A5 FF05 +A3A6 FF06 +A3A7 00B4 +A3A8 FF08 +A3A9 FF09 +A3AA FF0A +A3AB FF0B +A3AC FF0C +A3AD FF0D +A3AE FF0E +A3AF FF0F +A3B0 FF10 +A3B1 FF11 +A3B2 FF12 +A3B3 FF13 +A3B4 FF14 +A3B5 FF15 +A3B6 FF16 +A3B7 FF17 +A3B8 FF18 +A3B9 FF19 +A3BA FF1A +A3BB FF1B +A3BC FF1C +A3BD FF1D +A3BE FF1E +A3BF FF1F +A3C0 FF20 +A3C1 FF21 +A3C2 FF22 +A3C3 FF23 +A3C4 FF24 +A3C5 FF25 +A3C6 FF26 +A3C7 FF27 +A3C8 FF28 +A3C9 FF29 +A3CA FF2A +A3CB FF2B +A3CC FF2C +A3CD FF2D +A3CE FF2E +A3CF FF2F +A3D0 FF30 +A3D1 FF31 +A3D2 FF32 +A3D3 FF33 +A3D4 FF34 +A3D5 FF35 +A3D6 FF36 +A3D7 FF37 +A3D8 FF38 +A3D9 FF39 +A3DA FF3A +A3DB FF3B +A3DC FF3C +A3DD FF3D +A3DE FF3E +A3DF FF3F +A3E0 FF40 +A3E1 FF41 +A3E2 FF42 +A3E3 FF43 +A3E4 FF44 +A3E5 FF45 +A3E6 FF46 +A3E7 FF47 +A3E8 FF48 +A3E9 FF49 +A3EA FF4A +A3EB FF4B +A3EC FF4C +A3ED FF4D +A3EE FF4E +A3EF FF4F +A3F0 FF50 +A3F1 FF51 +A3F2 FF52 +A3F3 FF53 +A3F4 FF54 +A3F5 FF55 +A3F6 FF56 +A3F7 FF57 +A3F8 FF58 +A3F9 FF59 +A3FA FF5A +A3FB FF5B +A3FC FF5C +A3FD FF5D +A3FE FFE3 +A4A1 3041 +A4A2 3042 +A4A3 3043 +A4A4 3044 +A4A5 3045 +A4A6 3046 +A4A7 3047 +A4A8 3048 +A4A9 3049 +A4AA 304A +A4AB 304B +A4AC 304C +A4AD 304D +A4AE 304E +A4AF 304F +A4B0 3050 +A4B1 3051 +A4B2 3052 +A4B3 3053 +A4B4 3054 +A4B5 3055 +A4B6 3056 +A4B7 3057 +A4B8 3058 +A4B9 3059 +A4BA 305A +A4BB 305B +A4BC 305C +A4BD 305D +A4BE 305E +A4BF 305F +A4C0 3060 +A4C1 3061 +A4C2 3062 +A4C3 3063 +A4C4 3064 +A4C5 3065 +A4C6 3066 +A4C7 3067 +A4C8 3068 +A4C9 3069 +A4CA 306A +A4CB 306B +A4CC 306C +A4CD 306D +A4CE 306E +A4CF 306F +A4D0 3070 +A4D1 3071 +A4D2 3072 +A4D3 3073 +A4D4 3074 +A4D5 3075 +A4D6 3076 +A4D7 3077 +A4D8 3078 +A4D9 3079 +A4DA 307A +A4DB 307B +A4DC 307C +A4DD 307D +A4DE 307E +A4DF 307F +A4E0 3080 +A4E1 3081 +A4E2 3082 +A4E3 3083 +A4E4 3084 +A4E5 3085 +A4E6 3086 +A4E7 3087 +A4E8 3088 +A4E9 3089 +A4EA 308A +A4EB 308B +A4EC 308C +A4ED 308D +A4EE 308E +A4EF 308F +A4F0 3090 +A4F1 3091 +A4F2 3092 +A4F3 3093 +A5A1 30A1 +A5A2 30A2 +A5A3 30A3 +A5A4 30A4 +A5A5 30A5 +A5A6 30A6 +A5A7 30A7 +A5A8 30A8 +A5A9 30A9 +A5AA 30AA +A5AB 30AB +A5AC 30AC +A5AD 30AD +A5AE 30AE +A5AF 30AF +A5B0 30B0 +A5B1 30B1 +A5B2 30B2 +A5B3 30B3 +A5B4 30B4 +A5B5 30B5 +A5B6 30B6 +A5B7 30B7 +A5B8 30B8 +A5B9 30B9 +A5BA 30BA +A5BB 30BB +A5BC 30BC +A5BD 30BD +A5BE 30BE +A5BF 30BF +A5C0 30C0 +A5C1 30C1 +A5C2 30C2 +A5C3 30C3 +A5C4 30C4 +A5C5 30C5 +A5C6 30C6 +A5C7 30C7 +A5C8 30C8 +A5C9 30C9 +A5CA 30CA +A5CB 30CB +A5CC 30CC +A5CD 30CD +A5CE 30CE +A5CF 30CF +A5D0 30D0 +A5D1 30D1 +A5D2 30D2 +A5D3 30D3 +A5D4 30D4 +A5D5 30D5 +A5D6 30D6 +A5D7 30D7 +A5D8 30D8 +A5D9 30D9 +A5DA 30DA +A5DB 30DB +A5DC 30DC +A5DD 30DD +A5DE 30DE +A5DF 30DF +A5E0 30E0 +A5E1 30E1 +A5E2 30E2 +A5E3 30E3 +A5E4 30E4 +A5E5 30E5 +A5E6 30E6 +A5E7 30E7 +A5E8 30E8 +A5E9 30E9 +A5EA 30EA +A5EB 30EB +A5EC 30EC +A5ED 30ED +A5EE 30EE +A5EF 30EF +A5F0 30F0 +A5F1 30F1 +A5F2 30F2 +A5F3 30F3 +A5F4 30F4 +A5F5 30F5 +A5F6 30F6 +A6A1 0391 +A6A2 0392 +A6A3 0393 +A6A4 0394 +A6A5 0395 +A6A6 0396 +A6A7 0397 +A6A8 0398 +A6A9 0399 +A6AA 039A +A6AB 039B +A6AC 039C +A6AD 039D +A6AE 039E +A6AF 039F +A6B0 03A0 +A6B1 03A1 +A6B2 03A3 +A6B3 03A4 +A6B4 03A5 +A6B5 03A6 +A6B6 03A7 +A6B7 03A8 +A6B8 03A9 +A6C1 03B1 +A6C2 03B2 +A6C3 03B3 +A6C4 03B4 +A6C5 03B5 +A6C6 03B6 +A6C7 03B7 +A6C8 03B8 +A6C9 03B9 +A6CA 03BA +A6CB 03BB +A6CC 03BC +A6CD 03BD +A6CE 03BE +A6CF 03BF +A6D0 03C0 +A6D1 03C1 +A6D2 03C3 +A6D3 03C4 +A6D4 03C5 +A6D5 03C6 +A6D6 03C7 +A6D7 03C8 +A6D8 03C9 +A7A1 0410 +A7A2 0411 +A7A3 0412 +A7A4 0413 +A7A5 0414 +A7A6 0415 +A7A7 0401 +A7A8 0416 +A7A9 0417 +A7AA 0418 +A7AB 0419 +A7AC 041A +A7AD 041B +A7AE 041C +A7AF 041D +A7B0 041E +A7B1 041F +A7B2 0420 +A7B3 0421 +A7B4 0422 +A7B5 0423 +A7B6 0424 +A7B7 0425 +A7B8 0426 +A7B9 0427 +A7BA 0428 +A7BB 0429 +A7BC 042A +A7BD 042B +A7BE 042C +A7BF 042D +A7C0 042E +A7C1 042F +A7D1 0430 +A7D2 0431 +A7D3 0432 +A7D4 0433 +A7D5 0434 +A7D6 0435 +A7D7 0451 +A7D8 0436 +A7D9 0437 +A7DA 0438 +A7DB 0439 +A7DC 043A +A7DD 043B +A7DE 043C +A7DF 043D +A7E0 043E +A7E1 043F +A7E2 0440 +A7E3 0441 +A7E4 0442 +A7E5 0443 +A7E6 0444 +A7E7 0445 +A7E8 0446 +A7E9 0447 +A7EA 0448 +A7EB 0449 +A7EC 044A +A7ED 044B +A7EE 044C +A7EF 044D +A7F0 044E +A7F1 044F +A8A1 0101 +A8A2 00E1 +A8A3 01CE +A8A4 00E0 +A8A5 0113 +A8A6 00E9 +A8A7 011B +A8A8 00E8 +A8A9 012B +A8AA 00ED +A8AB 01D0 +A8AC 00EC +A8AD 014D +A8AE 00F3 +A8AF 01D2 +A8B0 00F2 +A8B1 016B +A8B2 00FA +A8B3 01D4 +A8B4 00F9 +A8B5 01D6 +A8B6 01D8 +A8B7 01DA +A8B8 01DC +A8B9 00FC +A8BA 00EA +A8C5 3105 +A8C6 3106 +A8C7 3107 +A8C8 3108 +A8C9 3109 +A8CA 310A +A8CB 310B +A8CC 310C +A8CD 310D +A8CE 310E +A8CF 310F +A8D0 3110 +A8D1 3111 +A8D2 3112 +A8D3 3113 +A8D4 3114 +A8D5 3115 +A8D6 3116 +A8D7 3117 +A8D8 3118 +A8D9 3119 +A8DA 311A +A8DB 311B +A8DC 311C +A8DD 311D +A8DE 311E +A8DF 311F +A8E0 3120 +A8E1 3121 +A8E2 3122 +A8E3 3123 +A8E4 3124 +A8E5 3125 +A8E6 3126 +A8E7 3127 +A8E8 3128 +A8E9 3129 +A9A4 2500 +A9A5 2501 +A9A6 2502 +A9A7 2503 +A9A8 2504 +A9A9 2505 +A9AA 2506 +A9AB 2507 +A9AC 2508 +A9AD 2509 +A9AE 250A +A9AF 250B +A9B0 250C +A9B1 250D +A9B2 250E +A9B3 250F +A9B4 2510 +A9B5 2511 +A9B6 2512 +A9B7 2513 +A9B8 2514 +A9B9 2515 +A9BA 2516 +A9BB 2517 +A9BC 2518 +A9BD 2519 +A9BE 251A +A9BF 251B +A9C0 251C +A9C1 251D +A9C2 251E +A9C3 251F +A9C4 2520 +A9C5 2521 +A9C6 2522 +A9C7 2523 +A9C8 2524 +A9C9 2525 +A9CA 2526 +A9CB 2527 +A9CC 2528 +A9CD 2529 +A9CE 252A +A9CF 252B +A9D0 252C +A9D1 252D +A9D2 252E +A9D3 252F +A9D4 2530 +A9D5 2531 +A9D6 2532 +A9D7 2533 +A9D8 2534 +A9D9 2535 +A9DA 2536 +A9DB 2537 +A9DC 2538 +A9DD 2539 +A9DE 253A +A9DF 253B +A9E0 253C +A9E1 253D +A9E2 253E +A9E3 253F +A9E4 2540 +A9E5 2541 +A9E6 2542 +A9E7 2543 +A9E8 2544 +A9E9 2545 +A9EA 2546 +A9EB 2547 +A9EC 2548 +A9ED 2549 +A9EE 254A +A9EF 254B +B0A1 554A +B0A2 963F +B0A3 57C3 +B0A4 6328 +B0A5 54CE +B0A6 5509 +B0A7 54C0 +B0A8 7691 +B0A9 764C +B0AA 853C +B0AB 77EE +B0AC 827E +B0AD 788D +B0AE 7231 +B0AF 9698 +B0B0 978D +B0B1 6C28 +B0B2 5B89 +B0B3 4FFA +B0B4 6309 +B0B5 6697 +B0B6 5CB8 +B0B7 80FA +B0B8 6848 +B0B9 80AE +B0BA 6602 +B0BB 76CE +B0BC 51F9 +B0BD 6556 +B0BE 71AC +B0BF 7FF1 +B0C0 8884 +B0C1 50B2 +B0C2 5965 +B0C3 61CA +B0C4 6FB3 +B0C5 82AD +B0C6 634C +B0C7 6252 +B0C8 53ED +B0C9 5427 +B0CA 7B06 +B0CB 516B +B0CC 75A4 +B0CD 5DF4 +B0CE 62D4 +B0CF 8DCB +B0D0 9776 +B0D1 628A +B0D2 8019 +B0D3 575D +B0D4 9738 +B0D5 7F62 +B0D6 7238 +B0D7 767D +B0D8 67CF +B0D9 767E +B0DA 6446 +B0DB 4F70 +B0DC 8D25 +B0DD 62DC +B0DE 7A17 +B0DF 6591 +B0E0 73ED +B0E1 642C +B0E2 6273 +B0E3 822C +B0E4 9881 +B0E5 677F +B0E6 7248 +B0E7 626E +B0E8 62CC +B0E9 4F34 +B0EA 74E3 +B0EB 534A +B0EC 529E +B0ED 7ECA +B0EE 90A6 +B0EF 5E2E +B0F0 6886 +B0F1 699C +B0F2 8180 +B0F3 7ED1 +B0F4 68D2 +B0F5 78C5 +B0F6 868C +B0F7 9551 +B0F8 508D +B0F9 8C24 +B0FA 82DE +B0FB 80DE +B0FC 5305 +B0FD 8912 +B0FE 5265 +B1A1 8584 +B1A2 96F9 +B1A3 4FDD +B1A4 5821 +B1A5 9971 +B1A6 5B9D +B1A7 62B1 +B1A8 62A5 +B1A9 66B4 +B1AA 8C79 +B1AB 9C8D +B1AC 7206 +B1AD 676F +B1AE 7891 +B1AF 60B2 +B1B0 5351 +B1B1 5317 +B1B2 8F88 +B1B3 80CC +B1B4 8D1D +B1B5 94A1 +B1B6 500D +B1B7 72C8 +B1B8 5907 +B1B9 60EB +B1BA 7119 +B1BB 88AB +B1BC 5954 +B1BD 82EF +B1BE 672C +B1BF 7B28 +B1C0 5D29 +B1C1 7EF7 +B1C2 752D +B1C3 6CF5 +B1C4 8E66 +B1C5 8FF8 +B1C6 903C +B1C7 9F3B +B1C8 6BD4 +B1C9 9119 +B1CA 7B14 +B1CB 5F7C +B1CC 78A7 +B1CD 84D6 +B1CE 853D +B1CF 6BD5 +B1D0 6BD9 +B1D1 6BD6 +B1D2 5E01 +B1D3 5E87 +B1D4 75F9 +B1D5 95ED +B1D6 655D +B1D7 5F0A +B1D8 5FC5 +B1D9 8F9F +B1DA 58C1 +B1DB 81C2 +B1DC 907F +B1DD 965B +B1DE 97AD +B1DF 8FB9 +B1E0 7F16 +B1E1 8D2C +B1E2 6241 +B1E3 4FBF +B1E4 53D8 +B1E5 535E +B1E6 8FA8 +B1E7 8FA9 +B1E8 8FAB +B1E9 904D +B1EA 6807 +B1EB 5F6A +B1EC 8198 +B1ED 8868 +B1EE 9CD6 +B1EF 618B +B1F0 522B +B1F1 762A +B1F2 5F6C +B1F3 658C +B1F4 6FD2 +B1F5 6EE8 +B1F6 5BBE +B1F7 6448 +B1F8 5175 +B1F9 51B0 +B1FA 67C4 +B1FB 4E19 +B1FC 79C9 +B1FD 997C +B1FE 70B3 +B2A1 75C5 +B2A2 5E76 +B2A3 73BB +B2A4 83E0 +B2A5 64AD +B2A6 62E8 +B2A7 94B5 +B2A8 6CE2 +B2A9 535A +B2AA 52C3 +B2AB 640F +B2AC 94C2 +B2AD 7B94 +B2AE 4F2F +B2AF 5E1B +B2B0 8236 +B2B1 8116 +B2B2 818A +B2B3 6E24 +B2B4 6CCA +B2B5 9A73 +B2B6 6355 +B2B7 535C +B2B8 54FA +B2B9 8865 +B2BA 57E0 +B2BB 4E0D +B2BC 5E03 +B2BD 6B65 +B2BE 7C3F +B2BF 90E8 +B2C0 6016 +B2C1 64E6 +B2C2 731C +B2C3 88C1 +B2C4 6750 +B2C5 624D +B2C6 8D22 +B2C7 776C +B2C8 8E29 +B2C9 91C7 +B2CA 5F69 +B2CB 83DC +B2CC 8521 +B2CD 9910 +B2CE 53C2 +B2CF 8695 +B2D0 6B8B +B2D1 60ED +B2D2 60E8 +B2D3 707F +B2D4 82CD +B2D5 8231 +B2D6 4ED3 +B2D7 6CA7 +B2D8 85CF +B2D9 64CD +B2DA 7CD9 +B2DB 69FD +B2DC 66F9 +B2DD 8349 +B2DE 5395 +B2DF 7B56 +B2E0 4FA7 +B2E1 518C +B2E2 6D4B +B2E3 5C42 +B2E4 8E6D +B2E5 63D2 +B2E6 53C9 +B2E7 832C +B2E8 8336 +B2E9 67E5 +B2EA 78B4 +B2EB 643D +B2EC 5BDF +B2ED 5C94 +B2EE 5DEE +B2EF 8BE7 +B2F0 62C6 +B2F1 67F4 +B2F2 8C7A +B2F3 6400 +B2F4 63BA +B2F5 8749 +B2F6 998B +B2F7 8C17 +B2F8 7F20 +B2F9 94F2 +B2FA 4EA7 +B2FB 9610 +B2FC 98A4 +B2FD 660C +B2FE 7316 +B3A1 573A +B3A2 5C1D +B3A3 5E38 +B3A4 957F +B3A5 507F +B3A6 80A0 +B3A7 5382 +B3A8 655E +B3A9 7545 +B3AA 5531 +B3AB 5021 +B3AC 8D85 +B3AD 6284 +B3AE 949E +B3AF 671D +B3B0 5632 +B3B1 6F6E +B3B2 5DE2 +B3B3 5435 +B3B4 7092 +B3B5 8F66 +B3B6 626F +B3B7 64A4 +B3B8 63A3 +B3B9 5F7B +B3BA 6F88 +B3BB 90F4 +B3BC 81E3 +B3BD 8FB0 +B3BE 5C18 +B3BF 6668 +B3C0 5FF1 +B3C1 6C89 +B3C2 9648 +B3C3 8D81 +B3C4 886C +B3C5 6491 +B3C6 79F0 +B3C7 57CE +B3C8 6A59 +B3C9 6210 +B3CA 5448 +B3CB 4E58 +B3CC 7A0B +B3CD 60E9 +B3CE 6F84 +B3CF 8BDA +B3D0 627F +B3D1 901E +B3D2 9A8B +B3D3 79E4 +B3D4 5403 +B3D5 75F4 +B3D6 6301 +B3D7 5319 +B3D8 6C60 +B3D9 8FDF +B3DA 5F1B +B3DB 9A70 +B3DC 803B +B3DD 9F7F +B3DE 4F88 +B3DF 5C3A +B3E0 8D64 +B3E1 7FC5 +B3E2 65A5 +B3E3 70BD +B3E4 5145 +B3E5 51B2 +B3E6 866B +B3E7 5D07 +B3E8 5BA0 +B3E9 62BD +B3EA 916C +B3EB 7574 +B3EC 8E0C +B3ED 7A20 +B3EE 6101 +B3EF 7B79 +B3F0 4EC7 +B3F1 7EF8 +B3F2 7785 +B3F3 4E11 +B3F4 81ED +B3F5 521D +B3F6 51FA +B3F7 6A71 +B3F8 53A8 +B3F9 8E87 +B3FA 9504 +B3FB 96CF +B3FC 6EC1 +B3FD 9664 +B3FE 695A +B4A1 7840 +B4A2 50A8 +B4A3 77D7 +B4A4 6410 +B4A5 89E6 +B4A6 5904 +B4A7 63E3 +B4A8 5DDD +B4A9 7A7F +B4AA 693D +B4AB 4F20 +B4AC 8239 +B4AD 5598 +B4AE 4E32 +B4AF 75AE +B4B0 7A97 +B4B1 5E62 +B4B2 5E8A +B4B3 95EF +B4B4 521B +B4B5 5439 +B4B6 708A +B4B7 6376 +B4B8 9524 +B4B9 5782 +B4BA 6625 +B4BB 693F +B4BC 9187 +B4BD 5507 +B4BE 6DF3 +B4BF 7EAF +B4C0 8822 +B4C1 6233 +B4C2 7EF0 +B4C3 75B5 +B4C4 8328 +B4C5 78C1 +B4C6 96CC +B4C7 8F9E +B4C8 6148 +B4C9 74F7 +B4CA 8BCD +B4CB 6B64 +B4CC 523A +B4CD 8D50 +B4CE 6B21 +B4CF 806A +B4D0 8471 +B4D1 56F1 +B4D2 5306 +B4D3 4ECE +B4D4 4E1B +B4D5 51D1 +B4D6 7C97 +B4D7 918B +B4D8 7C07 +B4D9 4FC3 +B4DA 8E7F +B4DB 7BE1 +B4DC 7A9C +B4DD 6467 +B4DE 5D14 +B4DF 50AC +B4E0 8106 +B4E1 7601 +B4E2 7CB9 +B4E3 6DEC +B4E4 7FE0 +B4E5 6751 +B4E6 5B58 +B4E7 5BF8 +B4E8 78CB +B4E9 64AE +B4EA 6413 +B4EB 63AA +B4EC 632B +B4ED 9519 +B4EE 642D +B4EF 8FBE +B4F0 7B54 +B4F1 7629 +B4F2 6253 +B4F3 5927 +B4F4 5446 +B4F5 6B79 +B4F6 50A3 +B4F7 6234 +B4F8 5E26 +B4F9 6B86 +B4FA 4EE3 +B4FB 8D37 +B4FC 888B +B4FD 5F85 +B4FE 902E +B5A1 6020 +B5A2 803D +B5A3 62C5 +B5A4 4E39 +B5A5 5355 +B5A6 90F8 +B5A7 63B8 +B5A8 80C6 +B5A9 65E6 +B5AA 6C2E +B5AB 4F46 +B5AC 60EE +B5AD 6DE1 +B5AE 8BDE +B5AF 5F39 +B5B0 86CB +B5B1 5F53 +B5B2 6321 +B5B3 515A +B5B4 8361 +B5B5 6863 +B5B6 5200 +B5B7 6363 +B5B8 8E48 +B5B9 5012 +B5BA 5C9B +B5BB 7977 +B5BC 5BFC +B5BD 5230 +B5BE 7A3B +B5BF 60BC +B5C0 9053 +B5C1 76D7 +B5C2 5FB7 +B5C3 5F97 +B5C4 7684 +B5C5 8E6C +B5C6 706F +B5C7 767B +B5C8 7B49 +B5C9 77AA +B5CA 51F3 +B5CB 9093 +B5CC 5824 +B5CD 4F4E +B5CE 6EF4 +B5CF 8FEA +B5D0 654C +B5D1 7B1B +B5D2 72C4 +B5D3 6DA4 +B5D4 7FDF +B5D5 5AE1 +B5D6 62B5 +B5D7 5E95 +B5D8 5730 +B5D9 8482 +B5DA 7B2C +B5DB 5E1D +B5DC 5F1F +B5DD 9012 +B5DE 7F14 +B5DF 98A0 +B5E0 6382 +B5E1 6EC7 +B5E2 7898 +B5E3 70B9 +B5E4 5178 +B5E5 975B +B5E6 57AB +B5E7 7535 +B5E8 4F43 +B5E9 7538 +B5EA 5E97 +B5EB 60E6 +B5EC 5960 +B5ED 6DC0 +B5EE 6BBF +B5EF 7889 +B5F0 53FC +B5F1 96D5 +B5F2 51CB +B5F3 5201 +B5F4 6389 +B5F5 540A +B5F6 9493 +B5F7 8C03 +B5F8 8DCC +B5F9 7239 +B5FA 789F +B5FB 8776 +B5FC 8FED +B5FD 8C0D +B5FE 53E0 +B6A1 4E01 +B6A2 76EF +B6A3 53EE +B6A4 9489 +B6A5 9876 +B6A6 9F0E +B6A7 952D +B6A8 5B9A +B6A9 8BA2 +B6AA 4E22 +B6AB 4E1C +B6AC 51AC +B6AD 8463 +B6AE 61C2 +B6AF 52A8 +B6B0 680B +B6B1 4F97 +B6B2 606B +B6B3 51BB +B6B4 6D1E +B6B5 515C +B6B6 6296 +B6B7 6597 +B6B8 9661 +B6B9 8C46 +B6BA 9017 +B6BB 75D8 +B6BC 90FD +B6BD 7763 +B6BE 6BD2 +B6BF 728A +B6C0 72EC +B6C1 8BFB +B6C2 5835 +B6C3 7779 +B6C4 8D4C +B6C5 675C +B6C6 9540 +B6C7 809A +B6C8 5EA6 +B6C9 6E21 +B6CA 5992 +B6CB 7AEF +B6CC 77ED +B6CD 953B +B6CE 6BB5 +B6CF 65AD +B6D0 7F0E +B6D1 5806 +B6D2 5151 +B6D3 961F +B6D4 5BF9 +B6D5 58A9 +B6D6 5428 +B6D7 8E72 +B6D8 6566 +B6D9 987F +B6DA 56E4 +B6DB 949D +B6DC 76FE +B6DD 9041 +B6DE 6387 +B6DF 54C6 +B6E0 591A +B6E1 593A +B6E2 579B +B6E3 8EB2 +B6E4 6735 +B6E5 8DFA +B6E6 8235 +B6E7 5241 +B6E8 60F0 +B6E9 5815 +B6EA 86FE +B6EB 5CE8 +B6EC 9E45 +B6ED 4FC4 +B6EE 989D +B6EF 8BB9 +B6F0 5A25 +B6F1 6076 +B6F2 5384 +B6F3 627C +B6F4 904F +B6F5 9102 +B6F6 997F +B6F7 6069 +B6F8 800C +B6F9 513F +B6FA 8033 +B6FB 5C14 +B6FC 9975 +B6FD 6D31 +B6FE 4E8C +B7A1 8D30 +B7A2 53D1 +B7A3 7F5A +B7A4 7B4F +B7A5 4F10 +B7A6 4E4F +B7A7 9600 +B7A8 6CD5 +B7A9 73D0 +B7AA 85E9 +B7AB 5E06 +B7AC 756A +B7AD 7FFB +B7AE 6A0A +B7AF 77FE +B7B0 9492 +B7B1 7E41 +B7B2 51E1 +B7B3 70E6 +B7B4 53CD +B7B5 8FD4 +B7B6 8303 +B7B7 8D29 +B7B8 72AF +B7B9 996D +B7BA 6CDB +B7BB 574A +B7BC 82B3 +B7BD 65B9 +B7BE 80AA +B7BF 623F +B7C0 9632 +B7C1 59A8 +B7C2 4EFF +B7C3 8BBF +B7C4 7EBA +B7C5 653E +B7C6 83F2 +B7C7 975E +B7C8 5561 +B7C9 98DE +B7CA 80A5 +B7CB 532A +B7CC 8BFD +B7CD 5420 +B7CE 80BA +B7CF 5E9F +B7D0 6CB8 +B7D1 8D39 +B7D2 82AC +B7D3 915A +B7D4 5429 +B7D5 6C1B +B7D6 5206 +B7D7 7EB7 +B7D8 575F +B7D9 711A +B7DA 6C7E +B7DB 7C89 +B7DC 594B +B7DD 4EFD +B7DE 5FFF +B7DF 6124 +B7E0 7CAA +B7E1 4E30 +B7E2 5C01 +B7E3 67AB +B7E4 8702 +B7E5 5CF0 +B7E6 950B +B7E7 98CE +B7E8 75AF +B7E9 70FD +B7EA 9022 +B7EB 51AF +B7EC 7F1D +B7ED 8BBD +B7EE 5949 +B7EF 51E4 +B7F0 4F5B +B7F1 5426 +B7F2 592B +B7F3 6577 +B7F4 80A4 +B7F5 5B75 +B7F6 6276 +B7F7 62C2 +B7F8 8F90 +B7F9 5E45 +B7FA 6C1F +B7FB 7B26 +B7FC 4F0F +B7FD 4FD8 +B7FE 670D +B8A1 6D6E +B8A2 6DAA +B8A3 798F +B8A4 88B1 +B8A5 5F17 +B8A6 752B +B8A7 629A +B8A8 8F85 +B8A9 4FEF +B8AA 91DC +B8AB 65A7 +B8AC 812F +B8AD 8151 +B8AE 5E9C +B8AF 8150 +B8B0 8D74 +B8B1 526F +B8B2 8986 +B8B3 8D4B +B8B4 590D +B8B5 5085 +B8B6 4ED8 +B8B7 961C +B8B8 7236 +B8B9 8179 +B8BA 8D1F +B8BB 5BCC +B8BC 8BA3 +B8BD 9644 +B8BE 5987 +B8BF 7F1A +B8C0 5490 +B8C1 5676 +B8C2 560E +B8C3 8BE5 +B8C4 6539 +B8C5 6982 +B8C6 9499 +B8C7 76D6 +B8C8 6E89 +B8C9 5E72 +B8CA 7518 +B8CB 6746 +B8CC 67D1 +B8CD 7AFF +B8CE 809D +B8CF 8D76 +B8D0 611F +B8D1 79C6 +B8D2 6562 +B8D3 8D63 +B8D4 5188 +B8D5 521A +B8D6 94A2 +B8D7 7F38 +B8D8 809B +B8D9 7EB2 +B8DA 5C97 +B8DB 6E2F +B8DC 6760 +B8DD 7BD9 +B8DE 768B +B8DF 9AD8 +B8E0 818F +B8E1 7F94 +B8E2 7CD5 +B8E3 641E +B8E4 9550 +B8E5 7A3F +B8E6 544A +B8E7 54E5 +B8E8 6B4C +B8E9 6401 +B8EA 6208 +B8EB 9E3D +B8EC 80F3 +B8ED 7599 +B8EE 5272 +B8EF 9769 +B8F0 845B +B8F1 683C +B8F2 86E4 +B8F3 9601 +B8F4 9694 +B8F5 94EC +B8F6 4E2A +B8F7 5404 +B8F8 7ED9 +B8F9 6839 +B8FA 8DDF +B8FB 8015 +B8FC 66F4 +B8FD 5E9A +B8FE 7FB9 +B9A1 57C2 +B9A2 803F +B9A3 6897 +B9A4 5DE5 +B9A5 653B +B9A6 529F +B9A7 606D +B9A8 9F9A +B9A9 4F9B +B9AA 8EAC +B9AB 516C +B9AC 5BAB +B9AD 5F13 +B9AE 5DE9 +B9AF 6C5E +B9B0 62F1 +B9B1 8D21 +B9B2 5171 +B9B3 94A9 +B9B4 52FE +B9B5 6C9F +B9B6 82DF +B9B7 72D7 +B9B8 57A2 +B9B9 6784 +B9BA 8D2D +B9BB 591F +B9BC 8F9C +B9BD 83C7 +B9BE 5495 +B9BF 7B8D +B9C0 4F30 +B9C1 6CBD +B9C2 5B64 +B9C3 59D1 +B9C4 9F13 +B9C5 53E4 +B9C6 86CA +B9C7 9AA8 +B9C8 8C37 +B9C9 80A1 +B9CA 6545 +B9CB 987E +B9CC 56FA +B9CD 96C7 +B9CE 522E +B9CF 74DC +B9D0 5250 +B9D1 5BE1 +B9D2 6302 +B9D3 8902 +B9D4 4E56 +B9D5 62D0 +B9D6 602A +B9D7 68FA +B9D8 5173 +B9D9 5B98 +B9DA 51A0 +B9DB 89C2 +B9DC 7BA1 +B9DD 9986 +B9DE 7F50 +B9DF 60EF +B9E0 704C +B9E1 8D2F +B9E2 5149 +B9E3 5E7F +B9E4 901B +B9E5 7470 +B9E6 89C4 +B9E7 572D +B9E8 7845 +B9E9 5F52 +B9EA 9F9F +B9EB 95FA +B9EC 8F68 +B9ED 9B3C +B9EE 8BE1 +B9EF 7678 +B9F0 6842 +B9F1 67DC +B9F2 8DEA +B9F3 8D35 +B9F4 523D +B9F5 8F8A +B9F6 6EDA +B9F7 68CD +B9F8 9505 +B9F9 90ED +B9FA 56FD +B9FB 679C +B9FC 88F9 +B9FD 8FC7 +B9FE 54C8 +BAA1 9AB8 +BAA2 5B69 +BAA3 6D77 +BAA4 6C26 +BAA5 4EA5 +BAA6 5BB3 +BAA7 9A87 +BAA8 9163 +BAA9 61A8 +BAAA 90AF +BAAB 97E9 +BAAC 542B +BAAD 6DB5 +BAAE 5BD2 +BAAF 51FD +BAB0 558A +BAB1 7F55 +BAB2 7FF0 +BAB3 64BC +BAB4 634D +BAB5 65F1 +BAB6 61BE +BAB7 608D +BAB8 710A +BAB9 6C57 +BABA 6C49 +BABB 592F +BABC 676D +BABD 822A +BABE 58D5 +BABF 568E +BAC0 8C6A +BAC1 6BEB +BAC2 90DD +BAC3 597D +BAC4 8017 +BAC5 53F7 +BAC6 6D69 +BAC7 5475 +BAC8 559D +BAC9 8377 +BACA 83CF +BACB 6838 +BACC 79BE +BACD 548C +BACE 4F55 +BACF 5408 +BAD0 76D2 +BAD1 8C89 +BAD2 9602 +BAD3 6CB3 +BAD4 6DB8 +BAD5 8D6B +BAD6 8910 +BAD7 9E64 +BAD8 8D3A +BAD9 563F +BADA 9ED1 +BADB 75D5 +BADC 5F88 +BADD 72E0 +BADE 6068 +BADF 54FC +BAE0 4EA8 +BAE1 6A2A +BAE2 8861 +BAE3 6052 +BAE4 8F70 +BAE5 54C4 +BAE6 70D8 +BAE7 8679 +BAE8 9E3F +BAE9 6D2A +BAEA 5B8F +BAEB 5F18 +BAEC 7EA2 +BAED 5589 +BAEE 4FAF +BAEF 7334 +BAF0 543C +BAF1 539A +BAF2 5019 +BAF3 540E +BAF4 547C +BAF5 4E4E +BAF6 5FFD +BAF7 745A +BAF8 58F6 +BAF9 846B +BAFA 80E1 +BAFB 8774 +BAFC 72D0 +BAFD 7CCA +BAFE 6E56 +BBA1 5F27 +BBA2 864E +BBA3 552C +BBA4 62A4 +BBA5 4E92 +BBA6 6CAA +BBA7 6237 +BBA8 82B1 +BBA9 54D7 +BBAA 534E +BBAB 733E +BBAC 6ED1 +BBAD 753B +BBAE 5212 +BBAF 5316 +BBB0 8BDD +BBB1 69D0 +BBB2 5F8A +BBB3 6000 +BBB4 6DEE +BBB5 574F +BBB6 6B22 +BBB7 73AF +BBB8 6853 +BBB9 8FD8 +BBBA 7F13 +BBBB 6362 +BBBC 60A3 +BBBD 5524 +BBBE 75EA +BBBF 8C62 +BBC0 7115 +BBC1 6DA3 +BBC2 5BA6 +BBC3 5E7B +BBC4 8352 +BBC5 614C +BBC6 9EC4 +BBC7 78FA +BBC8 8757 +BBC9 7C27 +BBCA 7687 +BBCB 51F0 +BBCC 60F6 +BBCD 714C +BBCE 6643 +BBCF 5E4C +BBD0 604D +BBD1 8C0E +BBD2 7070 +BBD3 6325 +BBD4 8F89 +BBD5 5FBD +BBD6 6062 +BBD7 86D4 +BBD8 56DE +BBD9 6BC1 +BBDA 6094 +BBDB 6167 +BBDC 5349 +BBDD 60E0 +BBDE 6666 +BBDF 8D3F +BBE0 79FD +BBE1 4F1A +BBE2 70E9 +BBE3 6C47 +BBE4 8BB3 +BBE5 8BF2 +BBE6 7ED8 +BBE7 8364 +BBE8 660F +BBE9 5A5A +BBEA 9B42 +BBEB 6D51 +BBEC 6DF7 +BBED 8C41 +BBEE 6D3B +BBEF 4F19 +BBF0 706B +BBF1 83B7 +BBF2 6216 +BBF3 60D1 +BBF4 970D +BBF5 8D27 +BBF6 7978 +BBF7 51FB +BBF8 573E +BBF9 57FA +BBFA 673A +BBFB 7578 +BBFC 7A3D +BBFD 79EF +BBFE 7B95 +BCA1 808C +BCA2 9965 +BCA3 8FF9 +BCA4 6FC0 +BCA5 8BA5 +BCA6 9E21 +BCA7 59EC +BCA8 7EE9 +BCA9 7F09 +BCAA 5409 +BCAB 6781 +BCAC 68D8 +BCAD 8F91 +BCAE 7C4D +BCAF 96C6 +BCB0 53CA +BCB1 6025 +BCB2 75BE +BCB3 6C72 +BCB4 5373 +BCB5 5AC9 +BCB6 7EA7 +BCB7 6324 +BCB8 51E0 +BCB9 810A +BCBA 5DF1 +BCBB 84DF +BCBC 6280 +BCBD 5180 +BCBE 5B63 +BCBF 4F0E +BCC0 796D +BCC1 5242 +BCC2 60B8 +BCC3 6D4E +BCC4 5BC4 +BCC5 5BC2 +BCC6 8BA1 +BCC7 8BB0 +BCC8 65E2 +BCC9 5FCC +BCCA 9645 +BCCB 5993 +BCCC 7EE7 +BCCD 7EAA +BCCE 5609 +BCCF 67B7 +BCD0 5939 +BCD1 4F73 +BCD2 5BB6 +BCD3 52A0 +BCD4 835A +BCD5 988A +BCD6 8D3E +BCD7 7532 +BCD8 94BE +BCD9 5047 +BCDA 7A3C +BCDB 4EF7 +BCDC 67B6 +BCDD 9A7E +BCDE 5AC1 +BCDF 6B7C +BCE0 76D1 +BCE1 575A +BCE2 5C16 +BCE3 7B3A +BCE4 95F4 +BCE5 714E +BCE6 517C +BCE7 80A9 +BCE8 8270 +BCE9 5978 +BCEA 7F04 +BCEB 8327 +BCEC 68C0 +BCED 67EC +BCEE 78B1 +BCEF 7877 +BCF0 62E3 +BCF1 6361 +BCF2 7B80 +BCF3 4FED +BCF4 526A +BCF5 51CF +BCF6 8350 +BCF7 69DB +BCF8 9274 +BCF9 8DF5 +BCFA 8D31 +BCFB 89C1 +BCFC 952E +BCFD 7BAD +BCFE 4EF6 +BDA1 5065 +BDA2 8230 +BDA3 5251 +BDA4 996F +BDA5 6E10 +BDA6 6E85 +BDA7 6DA7 +BDA8 5EFA +BDA9 50F5 +BDAA 59DC +BDAB 5C06 +BDAC 6D46 +BDAD 6C5F +BDAE 7586 +BDAF 848B +BDB0 6868 +BDB1 5956 +BDB2 8BB2 +BDB3 5320 +BDB4 9171 +BDB5 964D +BDB6 8549 +BDB7 6912 +BDB8 7901 +BDB9 7126 +BDBA 80F6 +BDBB 4EA4 +BDBC 90CA +BDBD 6D47 +BDBE 9A84 +BDBF 5A07 +BDC0 56BC +BDC1 6405 +BDC2 94F0 +BDC3 77EB +BDC4 4FA5 +BDC5 811A +BDC6 72E1 +BDC7 89D2 +BDC8 997A +BDC9 7F34 +BDCA 7EDE +BDCB 527F +BDCC 6559 +BDCD 9175 +BDCE 8F7F +BDCF 8F83 +BDD0 53EB +BDD1 7A96 +BDD2 63ED +BDD3 63A5 +BDD4 7686 +BDD5 79F8 +BDD6 8857 +BDD7 9636 +BDD8 622A +BDD9 52AB +BDDA 8282 +BDDB 6854 +BDDC 6770 +BDDD 6377 +BDDE 776B +BDDF 7AED +BDE0 6D01 +BDE1 7ED3 +BDE2 89E3 +BDE3 59D0 +BDE4 6212 +BDE5 85C9 +BDE6 82A5 +BDE7 754C +BDE8 501F +BDE9 4ECB +BDEA 75A5 +BDEB 8BEB +BDEC 5C4A +BDED 5DFE +BDEE 7B4B +BDEF 65A4 +BDF0 91D1 +BDF1 4ECA +BDF2 6D25 +BDF3 895F +BDF4 7D27 +BDF5 9526 +BDF6 4EC5 +BDF7 8C28 +BDF8 8FDB +BDF9 9773 +BDFA 664B +BDFB 7981 +BDFC 8FD1 +BDFD 70EC +BDFE 6D78 +BEA1 5C3D +BEA2 52B2 +BEA3 8346 +BEA4 5162 +BEA5 830E +BEA6 775B +BEA7 6676 +BEA8 9CB8 +BEA9 4EAC +BEAA 60CA +BEAB 7CBE +BEAC 7CB3 +BEAD 7ECF +BEAE 4E95 +BEAF 8B66 +BEB0 666F +BEB1 9888 +BEB2 9759 +BEB3 5883 +BEB4 656C +BEB5 955C +BEB6 5F84 +BEB7 75C9 +BEB8 9756 +BEB9 7ADF +BEBA 7ADE +BEBB 51C0 +BEBC 70AF +BEBD 7A98 +BEBE 63EA +BEBF 7A76 +BEC0 7EA0 +BEC1 7396 +BEC2 97ED +BEC3 4E45 +BEC4 7078 +BEC5 4E5D +BEC6 9152 +BEC7 53A9 +BEC8 6551 +BEC9 65E7 +BECA 81FC +BECB 8205 +BECC 548E +BECD 5C31 +BECE 759A +BECF 97A0 +BED0 62D8 +BED1 72D9 +BED2 75BD +BED3 5C45 +BED4 9A79 +BED5 83CA +BED6 5C40 +BED7 5480 +BED8 77E9 +BED9 4E3E +BEDA 6CAE +BEDB 805A +BEDC 62D2 +BEDD 636E +BEDE 5DE8 +BEDF 5177 +BEE0 8DDD +BEE1 8E1E +BEE2 952F +BEE3 4FF1 +BEE4 53E5 +BEE5 60E7 +BEE6 70AC +BEE7 5267 +BEE8 6350 +BEE9 9E43 +BEEA 5A1F +BEEB 5026 +BEEC 7737 +BEED 5377 +BEEE 7EE2 +BEEF 6485 +BEF0 652B +BEF1 6289 +BEF2 6398 +BEF3 5014 +BEF4 7235 +BEF5 89C9 +BEF6 51B3 +BEF7 8BC0 +BEF8 7EDD +BEF9 5747 +BEFA 83CC +BEFB 94A7 +BEFC 519B +BEFD 541B +BEFE 5CFB +BFA1 4FCA +BFA2 7AE3 +BFA3 6D5A +BFA4 90E1 +BFA5 9A8F +BFA6 5580 +BFA7 5496 +BFA8 5361 +BFA9 54AF +BFAA 5F00 +BFAB 63E9 +BFAC 6977 +BFAD 51EF +BFAE 6168 +BFAF 520A +BFB0 582A +BFB1 52D8 +BFB2 574E +BFB3 780D +BFB4 770B +BFB5 5EB7 +BFB6 6177 +BFB7 7CE0 +BFB8 625B +BFB9 6297 +BFBA 4EA2 +BFBB 7095 +BFBC 8003 +BFBD 62F7 +BFBE 70E4 +BFBF 9760 +BFC0 5777 +BFC1 82DB +BFC2 67EF +BFC3 68F5 +BFC4 78D5 +BFC5 9897 +BFC6 79D1 +BFC7 58F3 +BFC8 54B3 +BFC9 53EF +BFCA 6E34 +BFCB 514B +BFCC 523B +BFCD 5BA2 +BFCE 8BFE +BFCF 80AF +BFD0 5543 +BFD1 57A6 +BFD2 6073 +BFD3 5751 +BFD4 542D +BFD5 7A7A +BFD6 6050 +BFD7 5B54 +BFD8 63A7 +BFD9 62A0 +BFDA 53E3 +BFDB 6263 +BFDC 5BC7 +BFDD 67AF +BFDE 54ED +BFDF 7A9F +BFE0 82E6 +BFE1 9177 +BFE2 5E93 +BFE3 88E4 +BFE4 5938 +BFE5 57AE +BFE6 630E +BFE7 8DE8 +BFE8 80EF +BFE9 5757 +BFEA 7B77 +BFEB 4FA9 +BFEC 5FEB +BFED 5BBD +BFEE 6B3E +BFEF 5321 +BFF0 7B50 +BFF1 72C2 +BFF2 6846 +BFF3 77FF +BFF4 7736 +BFF5 65F7 +BFF6 51B5 +BFF7 4E8F +BFF8 76D4 +BFF9 5CBF +BFFA 7AA5 +BFFB 8475 +BFFC 594E +BFFD 9B41 +BFFE 5080 +C0A1 9988 +C0A2 6127 +C0A3 6E83 +C0A4 5764 +C0A5 6606 +C0A6 6346 +C0A7 56F0 +C0A8 62EC +C0A9 6269 +C0AA 5ED3 +C0AB 9614 +C0AC 5783 +C0AD 62C9 +C0AE 5587 +C0AF 8721 +C0B0 814A +C0B1 8FA3 +C0B2 5566 +C0B3 83B1 +C0B4 6765 +C0B5 8D56 +C0B6 84DD +C0B7 5A6A +C0B8 680F +C0B9 62E6 +C0BA 7BEE +C0BB 9611 +C0BC 5170 +C0BD 6F9C +C0BE 8C30 +C0BF 63FD +C0C0 89C8 +C0C1 61D2 +C0C2 7F06 +C0C3 70C2 +C0C4 6EE5 +C0C5 7405 +C0C6 6994 +C0C7 72FC +C0C8 5ECA +C0C9 90CE +C0CA 6717 +C0CB 6D6A +C0CC 635E +C0CD 52B3 +C0CE 7262 +C0CF 8001 +C0D0 4F6C +C0D1 59E5 +C0D2 916A +C0D3 70D9 +C0D4 6D9D +C0D5 52D2 +C0D6 4E50 +C0D7 96F7 +C0D8 956D +C0D9 857E +C0DA 78CA +C0DB 7D2F +C0DC 5121 +C0DD 5792 +C0DE 64C2 +C0DF 808B +C0E0 7C7B +C0E1 6CEA +C0E2 68F1 +C0E3 695E +C0E4 51B7 +C0E5 5398 +C0E6 68A8 +C0E7 7281 +C0E8 9ECE +C0E9 7BF1 +C0EA 72F8 +C0EB 79BB +C0EC 6F13 +C0ED 7406 +C0EE 674E +C0EF 91CC +C0F0 9CA4 +C0F1 793C +C0F2 8389 +C0F3 8354 +C0F4 540F +C0F5 6817 +C0F6 4E3D +C0F7 5389 +C0F8 52B1 +C0F9 783E +C0FA 5386 +C0FB 5229 +C0FC 5088 +C0FD 4F8B +C0FE 4FD0 +C1A1 75E2 +C1A2 7ACB +C1A3 7C92 +C1A4 6CA5 +C1A5 96B6 +C1A6 529B +C1A7 7483 +C1A8 54E9 +C1A9 4FE9 +C1AA 8054 +C1AB 83B2 +C1AC 8FDE +C1AD 9570 +C1AE 5EC9 +C1AF 601C +C1B0 6D9F +C1B1 5E18 +C1B2 655B +C1B3 8138 +C1B4 94FE +C1B5 604B +C1B6 70BC +C1B7 7EC3 +C1B8 7CAE +C1B9 51C9 +C1BA 6881 +C1BB 7CB1 +C1BC 826F +C1BD 4E24 +C1BE 8F86 +C1BF 91CF +C1C0 667E +C1C1 4EAE +C1C2 8C05 +C1C3 64A9 +C1C4 804A +C1C5 50DA +C1C6 7597 +C1C7 71CE +C1C8 5BE5 +C1C9 8FBD +C1CA 6F66 +C1CB 4E86 +C1CC 6482 +C1CD 9563 +C1CE 5ED6 +C1CF 6599 +C1D0 5217 +C1D1 88C2 +C1D2 70C8 +C1D3 52A3 +C1D4 730E +C1D5 7433 +C1D6 6797 +C1D7 78F7 +C1D8 9716 +C1D9 4E34 +C1DA 90BB +C1DB 9CDE +C1DC 6DCB +C1DD 51DB +C1DE 8D41 +C1DF 541D +C1E0 62CE +C1E1 73B2 +C1E2 83F1 +C1E3 96F6 +C1E4 9F84 +C1E5 94C3 +C1E6 4F36 +C1E7 7F9A +C1E8 51CC +C1E9 7075 +C1EA 9675 +C1EB 5CAD +C1EC 9886 +C1ED 53E6 +C1EE 4EE4 +C1EF 6E9C +C1F0 7409 +C1F1 69B4 +C1F2 786B +C1F3 998F +C1F4 7559 +C1F5 5218 +C1F6 7624 +C1F7 6D41 +C1F8 67F3 +C1F9 516D +C1FA 9F99 +C1FB 804B +C1FC 5499 +C1FD 7B3C +C1FE 7ABF +C2A1 9686 +C2A2 5784 +C2A3 62E2 +C2A4 9647 +C2A5 697C +C2A6 5A04 +C2A7 6402 +C2A8 7BD3 +C2A9 6F0F +C2AA 964B +C2AB 82A6 +C2AC 5362 +C2AD 9885 +C2AE 5E90 +C2AF 7089 +C2B0 63B3 +C2B1 5364 +C2B2 864F +C2B3 9C81 +C2B4 9E93 +C2B5 788C +C2B6 9732 +C2B7 8DEF +C2B8 8D42 +C2B9 9E7F +C2BA 6F5E +C2BB 7984 +C2BC 5F55 +C2BD 9646 +C2BE 622E +C2BF 9A74 +C2C0 5415 +C2C1 94DD +C2C2 4FA3 +C2C3 65C5 +C2C4 5C65 +C2C5 5C61 +C2C6 7F15 +C2C7 8651 +C2C8 6C2F +C2C9 5F8B +C2CA 7387 +C2CB 6EE4 +C2CC 7EFF +C2CD 5CE6 +C2CE 631B +C2CF 5B6A +C2D0 6EE6 +C2D1 5375 +C2D2 4E71 +C2D3 63A0 +C2D4 7565 +C2D5 62A1 +C2D6 8F6E +C2D7 4F26 +C2D8 4ED1 +C2D9 6CA6 +C2DA 7EB6 +C2DB 8BBA +C2DC 841D +C2DD 87BA +C2DE 7F57 +C2DF 903B +C2E0 9523 +C2E1 7BA9 +C2E2 9AA1 +C2E3 88F8 +C2E4 843D +C2E5 6D1B +C2E6 9A86 +C2E7 7EDC +C2E8 5988 +C2E9 9EBB +C2EA 739B +C2EB 7801 +C2EC 8682 +C2ED 9A6C +C2EE 9A82 +C2EF 561B +C2F0 5417 +C2F1 57CB +C2F2 4E70 +C2F3 9EA6 +C2F4 5356 +C2F5 8FC8 +C2F6 8109 +C2F7 7792 +C2F8 9992 +C2F9 86EE +C2FA 6EE1 +C2FB 8513 +C2FC 66FC +C2FD 6162 +C2FE 6F2B +C3A1 8C29 +C3A2 8292 +C3A3 832B +C3A4 76F2 +C3A5 6C13 +C3A6 5FD9 +C3A7 83BD +C3A8 732B +C3A9 8305 +C3AA 951A +C3AB 6BDB +C3AC 77DB +C3AD 94C6 +C3AE 536F +C3AF 8302 +C3B0 5192 +C3B1 5E3D +C3B2 8C8C +C3B3 8D38 +C3B4 4E48 +C3B5 73AB +C3B6 679A +C3B7 6885 +C3B8 9176 +C3B9 9709 +C3BA 7164 +C3BB 6CA1 +C3BC 7709 +C3BD 5A92 +C3BE 9541 +C3BF 6BCF +C3C0 7F8E +C3C1 6627 +C3C2 5BD0 +C3C3 59B9 +C3C4 5A9A +C3C5 95E8 +C3C6 95F7 +C3C7 4EEC +C3C8 840C +C3C9 8499 +C3CA 6AAC +C3CB 76DF +C3CC 9530 +C3CD 731B +C3CE 68A6 +C3CF 5B5F +C3D0 772F +C3D1 919A +C3D2 9761 +C3D3 7CDC +C3D4 8FF7 +C3D5 8C1C +C3D6 5F25 +C3D7 7C73 +C3D8 79D8 +C3D9 89C5 +C3DA 6CCC +C3DB 871C +C3DC 5BC6 +C3DD 5E42 +C3DE 68C9 +C3DF 7720 +C3E0 7EF5 +C3E1 5195 +C3E2 514D +C3E3 52C9 +C3E4 5A29 +C3E5 7F05 +C3E6 9762 +C3E7 82D7 +C3E8 63CF +C3E9 7784 +C3EA 85D0 +C3EB 79D2 +C3EC 6E3A +C3ED 5E99 +C3EE 5999 +C3EF 8511 +C3F0 706D +C3F1 6C11 +C3F2 62BF +C3F3 76BF +C3F4 654F +C3F5 60AF +C3F6 95FD +C3F7 660E +C3F8 879F +C3F9 9E23 +C3FA 94ED +C3FB 540D +C3FC 547D +C3FD 8C2C +C3FE 6478 +C4A1 6479 +C4A2 8611 +C4A3 6A21 +C4A4 819C +C4A5 78E8 +C4A6 6469 +C4A7 9B54 +C4A8 62B9 +C4A9 672B +C4AA 83AB +C4AB 58A8 +C4AC 9ED8 +C4AD 6CAB +C4AE 6F20 +C4AF 5BDE +C4B0 964C +C4B1 8C0B +C4B2 725F +C4B3 67D0 +C4B4 62C7 +C4B5 7261 +C4B6 4EA9 +C4B7 59C6 +C4B8 6BCD +C4B9 5893 +C4BA 66AE +C4BB 5E55 +C4BC 52DF +C4BD 6155 +C4BE 6728 +C4BF 76EE +C4C0 7766 +C4C1 7267 +C4C2 7A46 +C4C3 62FF +C4C4 54EA +C4C5 5450 +C4C6 94A0 +C4C7 90A3 +C4C8 5A1C +C4C9 7EB3 +C4CA 6C16 +C4CB 4E43 +C4CC 5976 +C4CD 8010 +C4CE 5948 +C4CF 5357 +C4D0 7537 +C4D1 96BE +C4D2 56CA +C4D3 6320 +C4D4 8111 +C4D5 607C +C4D6 95F9 +C4D7 6DD6 +C4D8 5462 +C4D9 9981 +C4DA 5185 +C4DB 5AE9 +C4DC 80FD +C4DD 59AE +C4DE 9713 +C4DF 502A +C4E0 6CE5 +C4E1 5C3C +C4E2 62DF +C4E3 4F60 +C4E4 533F +C4E5 817B +C4E6 9006 +C4E7 6EBA +C4E8 852B +C4E9 62C8 +C4EA 5E74 +C4EB 78BE +C4EC 64B5 +C4ED 637B +C4EE 5FF5 +C4EF 5A18 +C4F0 917F +C4F1 9E1F +C4F2 5C3F +C4F3 634F +C4F4 8042 +C4F5 5B7D +C4F6 556E +C4F7 954A +C4F8 954D +C4F9 6D85 +C4FA 60A8 +C4FB 67E0 +C4FC 72DE +C4FD 51DD +C4FE 5B81 +C5A1 62E7 +C5A2 6CDE +C5A3 725B +C5A4 626D +C5A5 94AE +C5A6 7EBD +C5A7 8113 +C5A8 6D53 +C5A9 519C +C5AA 5F04 +C5AB 5974 +C5AC 52AA +C5AD 6012 +C5AE 5973 +C5AF 6696 +C5B0 8650 +C5B1 759F +C5B2 632A +C5B3 61E6 +C5B4 7CEF +C5B5 8BFA +C5B6 54E6 +C5B7 6B27 +C5B8 9E25 +C5B9 6BB4 +C5BA 85D5 +C5BB 5455 +C5BC 5076 +C5BD 6CA4 +C5BE 556A +C5BF 8DB4 +C5C0 722C +C5C1 5E15 +C5C2 6015 +C5C3 7436 +C5C4 62CD +C5C5 6392 +C5C6 724C +C5C7 5F98 +C5C8 6E43 +C5C9 6D3E +C5CA 6500 +C5CB 6F58 +C5CC 76D8 +C5CD 78D0 +C5CE 76FC +C5CF 7554 +C5D0 5224 +C5D1 53DB +C5D2 4E53 +C5D3 5E9E +C5D4 65C1 +C5D5 802A +C5D6 80D6 +C5D7 629B +C5D8 5486 +C5D9 5228 +C5DA 70AE +C5DB 888D +C5DC 8DD1 +C5DD 6CE1 +C5DE 5478 +C5DF 80DA +C5E0 57F9 +C5E1 88F4 +C5E2 8D54 +C5E3 966A +C5E4 914D +C5E5 4F69 +C5E6 6C9B +C5E7 55B7 +C5E8 76C6 +C5E9 7830 +C5EA 62A8 +C5EB 70F9 +C5EC 6F8E +C5ED 5F6D +C5EE 84EC +C5EF 68DA +C5F0 787C +C5F1 7BF7 +C5F2 81A8 +C5F3 670B +C5F4 9E4F +C5F5 6367 +C5F6 78B0 +C5F7 576F +C5F8 7812 +C5F9 9739 +C5FA 6279 +C5FB 62AB +C5FC 5288 +C5FD 7435 +C5FE 6BD7 +C6A1 5564 +C6A2 813E +C6A3 75B2 +C6A4 76AE +C6A5 5339 +C6A6 75DE +C6A7 50FB +C6A8 5C41 +C6A9 8B6C +C6AA 7BC7 +C6AB 504F +C6AC 7247 +C6AD 9A97 +C6AE 98D8 +C6AF 6F02 +C6B0 74E2 +C6B1 7968 +C6B2 6487 +C6B3 77A5 +C6B4 62FC +C6B5 9891 +C6B6 8D2B +C6B7 54C1 +C6B8 8058 +C6B9 4E52 +C6BA 576A +C6BB 82F9 +C6BC 840D +C6BD 5E73 +C6BE 51ED +C6BF 74F6 +C6C0 8BC4 +C6C1 5C4F +C6C2 5761 +C6C3 6CFC +C6C4 9887 +C6C5 5A46 +C6C6 7834 +C6C7 9B44 +C6C8 8FEB +C6C9 7C95 +C6CA 5256 +C6CB 6251 +C6CC 94FA +C6CD 4EC6 +C6CE 8386 +C6CF 8461 +C6D0 83E9 +C6D1 84B2 +C6D2 57D4 +C6D3 6734 +C6D4 5703 +C6D5 666E +C6D6 6D66 +C6D7 8C31 +C6D8 66DD +C6D9 7011 +C6DA 671F +C6DB 6B3A +C6DC 6816 +C6DD 621A +C6DE 59BB +C6DF 4E03 +C6E0 51C4 +C6E1 6F06 +C6E2 67D2 +C6E3 6C8F +C6E4 5176 +C6E5 68CB +C6E6 5947 +C6E7 6B67 +C6E8 7566 +C6E9 5D0E +C6EA 8110 +C6EB 9F50 +C6EC 65D7 +C6ED 7948 +C6EE 7941 +C6EF 9A91 +C6F0 8D77 +C6F1 5C82 +C6F2 4E5E +C6F3 4F01 +C6F4 542F +C6F5 5951 +C6F6 780C +C6F7 5668 +C6F8 6C14 +C6F9 8FC4 +C6FA 5F03 +C6FB 6C7D +C6FC 6CE3 +C6FD 8BAB +C6FE 6390 +C7A1 6070 +C7A2 6D3D +C7A3 7275 +C7A4 6266 +C7A5 948E +C7A6 94C5 +C7A7 5343 +C7A8 8FC1 +C7A9 7B7E +C7AA 4EDF +C7AB 8C26 +C7AC 4E7E +C7AD 9ED4 +C7AE 94B1 +C7AF 94B3 +C7B0 524D +C7B1 6F5C +C7B2 9063 +C7B3 6D45 +C7B4 8C34 +C7B5 5811 +C7B6 5D4C +C7B7 6B20 +C7B8 6B49 +C7B9 67AA +C7BA 545B +C7BB 8154 +C7BC 7F8C +C7BD 5899 +C7BE 8537 +C7BF 5F3A +C7C0 62A2 +C7C1 6A47 +C7C2 9539 +C7C3 6572 +C7C4 6084 +C7C5 6865 +C7C6 77A7 +C7C7 4E54 +C7C8 4FA8 +C7C9 5DE7 +C7CA 9798 +C7CB 64AC +C7CC 7FD8 +C7CD 5CED +C7CE 4FCF +C7CF 7A8D +C7D0 5207 +C7D1 8304 +C7D2 4E14 +C7D3 602F +C7D4 7A83 +C7D5 94A6 +C7D6 4FB5 +C7D7 4EB2 +C7D8 79E6 +C7D9 7434 +C7DA 52E4 +C7DB 82B9 +C7DC 64D2 +C7DD 79BD +C7DE 5BDD +C7DF 6C81 +C7E0 9752 +C7E1 8F7B +C7E2 6C22 +C7E3 503E +C7E4 537F +C7E5 6E05 +C7E6 64CE +C7E7 6674 +C7E8 6C30 +C7E9 60C5 +C7EA 9877 +C7EB 8BF7 +C7EC 5E86 +C7ED 743C +C7EE 7A77 +C7EF 79CB +C7F0 4E18 +C7F1 90B1 +C7F2 7403 +C7F3 6C42 +C7F4 56DA +C7F5 914B +C7F6 6CC5 +C7F7 8D8B +C7F8 533A +C7F9 86C6 +C7FA 66F2 +C7FB 8EAF +C7FC 5C48 +C7FD 9A71 +C7FE 6E20 +C8A1 53D6 +C8A2 5A36 +C8A3 9F8B +C8A4 8DA3 +C8A5 53BB +C8A6 5708 +C8A7 98A7 +C8A8 6743 +C8A9 919B +C8AA 6CC9 +C8AB 5168 +C8AC 75CA +C8AD 62F3 +C8AE 72AC +C8AF 5238 +C8B0 529D +C8B1 7F3A +C8B2 7094 +C8B3 7638 +C8B4 5374 +C8B5 9E4A +C8B6 69B7 +C8B7 786E +C8B8 96C0 +C8B9 88D9 +C8BA 7FA4 +C8BB 7136 +C8BC 71C3 +C8BD 5189 +C8BE 67D3 +C8BF 74E4 +C8C0 58E4 +C8C1 6518 +C8C2 56B7 +C8C3 8BA9 +C8C4 9976 +C8C5 6270 +C8C6 7ED5 +C8C7 60F9 +C8C8 70ED +C8C9 58EC +C8CA 4EC1 +C8CB 4EBA +C8CC 5FCD +C8CD 97E7 +C8CE 4EFB +C8CF 8BA4 +C8D0 5203 +C8D1 598A +C8D2 7EAB +C8D3 6254 +C8D4 4ECD +C8D5 65E5 +C8D6 620E +C8D7 8338 +C8D8 84C9 +C8D9 8363 +C8DA 878D +C8DB 7194 +C8DC 6EB6 +C8DD 5BB9 +C8DE 7ED2 +C8DF 5197 +C8E0 63C9 +C8E1 67D4 +C8E2 8089 +C8E3 8339 +C8E4 8815 +C8E5 5112 +C8E6 5B7A +C8E7 5982 +C8E8 8FB1 +C8E9 4E73 +C8EA 6C5D +C8EB 5165 +C8EC 8925 +C8ED 8F6F +C8EE 962E +C8EF 854A +C8F0 745E +C8F1 9510 +C8F2 95F0 +C8F3 6DA6 +C8F4 82E5 +C8F5 5F31 +C8F6 6492 +C8F7 6D12 +C8F8 8428 +C8F9 816E +C8FA 9CC3 +C8FB 585E +C8FC 8D5B +C8FD 4E09 +C8FE 53C1 +C9A1 4F1E +C9A2 6563 +C9A3 6851 +C9A4 55D3 +C9A5 4E27 +C9A6 6414 +C9A7 9A9A +C9A8 626B +C9A9 5AC2 +C9AA 745F +C9AB 8272 +C9AC 6DA9 +C9AD 68EE +C9AE 50E7 +C9AF 838E +C9B0 7802 +C9B1 6740 +C9B2 5239 +C9B3 6C99 +C9B4 7EB1 +C9B5 50BB +C9B6 5565 +C9B7 715E +C9B8 7B5B +C9B9 6652 +C9BA 73CA +C9BB 82EB +C9BC 6749 +C9BD 5C71 +C9BE 5220 +C9BF 717D +C9C0 886B +C9C1 95EA +C9C2 9655 +C9C3 64C5 +C9C4 8D61 +C9C5 81B3 +C9C6 5584 +C9C7 6C55 +C9C8 6247 +C9C9 7F2E +C9CA 5892 +C9CB 4F24 +C9CC 5546 +C9CD 8D4F +C9CE 664C +C9CF 4E0A +C9D0 5C1A +C9D1 88F3 +C9D2 68A2 +C9D3 634E +C9D4 7A0D +C9D5 70E7 +C9D6 828D +C9D7 52FA +C9D8 97F6 +C9D9 5C11 +C9DA 54E8 +C9DB 90B5 +C9DC 7ECD +C9DD 5962 +C9DE 8D4A +C9DF 86C7 +C9E0 820C +C9E1 820D +C9E2 8D66 +C9E3 6444 +C9E4 5C04 +C9E5 6151 +C9E6 6D89 +C9E7 793E +C9E8 8BBE +C9E9 7837 +C9EA 7533 +C9EB 547B +C9EC 4F38 +C9ED 8EAB +C9EE 6DF1 +C9EF 5A20 +C9F0 7EC5 +C9F1 795E +C9F2 6C88 +C9F3 5BA1 +C9F4 5A76 +C9F5 751A +C9F6 80BE +C9F7 614E +C9F8 6E17 +C9F9 58F0 +C9FA 751F +C9FB 7525 +C9FC 7272 +C9FD 5347 +C9FE 7EF3 +CAA1 7701 +CAA2 76DB +CAA3 5269 +CAA4 80DC +CAA5 5723 +CAA6 5E08 +CAA7 5931 +CAA8 72EE +CAA9 65BD +CAAA 6E7F +CAAB 8BD7 +CAAC 5C38 +CAAD 8671 +CAAE 5341 +CAAF 77F3 +CAB0 62FE +CAB1 65F6 +CAB2 4EC0 +CAB3 98DF +CAB4 8680 +CAB5 5B9E +CAB6 8BC6 +CAB7 53F2 +CAB8 77E2 +CAB9 4F7F +CABA 5C4E +CABB 9A76 +CABC 59CB +CABD 5F0F +CABE 793A +CABF 58EB +CAC0 4E16 +CAC1 67FF +CAC2 4E8B +CAC3 62ED +CAC4 8A93 +CAC5 901D +CAC6 52BF +CAC7 662F +CAC8 55DC +CAC9 566C +CACA 9002 +CACB 4ED5 +CACC 4F8D +CACD 91CA +CACE 9970 +CACF 6C0F +CAD0 5E02 +CAD1 6043 +CAD2 5BA4 +CAD3 89C6 +CAD4 8BD5 +CAD5 6536 +CAD6 624B +CAD7 9996 +CAD8 5B88 +CAD9 5BFF +CADA 6388 +CADB 552E +CADC 53D7 +CADD 7626 +CADE 517D +CADF 852C +CAE0 67A2 +CAE1 68B3 +CAE2 6B8A +CAE3 6292 +CAE4 8F93 +CAE5 53D4 +CAE6 8212 +CAE7 6DD1 +CAE8 758F +CAE9 4E66 +CAEA 8D4E +CAEB 5B70 +CAEC 719F +CAED 85AF +CAEE 6691 +CAEF 66D9 +CAF0 7F72 +CAF1 8700 +CAF2 9ECD +CAF3 9F20 +CAF4 5C5E +CAF5 672F +CAF6 8FF0 +CAF7 6811 +CAF8 675F +CAF9 620D +CAFA 7AD6 +CAFB 5885 +CAFC 5EB6 +CAFD 6570 +CAFE 6F31 +CBA1 6055 +CBA2 5237 +CBA3 800D +CBA4 6454 +CBA5 8870 +CBA6 7529 +CBA7 5E05 +CBA8 6813 +CBA9 62F4 +CBAA 971C +CBAB 53CC +CBAC 723D +CBAD 8C01 +CBAE 6C34 +CBAF 7761 +CBB0 7A0E +CBB1 542E +CBB2 77AC +CBB3 987A +CBB4 821C +CBB5 8BF4 +CBB6 7855 +CBB7 6714 +CBB8 70C1 +CBB9 65AF +CBBA 6495 +CBBB 5636 +CBBC 601D +CBBD 79C1 +CBBE 53F8 +CBBF 4E1D +CBC0 6B7B +CBC1 8086 +CBC2 5BFA +CBC3 55E3 +CBC4 56DB +CBC5 4F3A +CBC6 4F3C +CBC7 9972 +CBC8 5DF3 +CBC9 677E +CBCA 8038 +CBCB 6002 +CBCC 9882 +CBCD 9001 +CBCE 5B8B +CBCF 8BBC +CBD0 8BF5 +CBD1 641C +CBD2 8258 +CBD3 64DE +CBD4 55FD +CBD5 82CF +CBD6 9165 +CBD7 4FD7 +CBD8 7D20 +CBD9 901F +CBDA 7C9F +CBDB 50F3 +CBDC 5851 +CBDD 6EAF +CBDE 5BBF +CBDF 8BC9 +CBE0 8083 +CBE1 9178 +CBE2 849C +CBE3 7B97 +CBE4 867D +CBE5 968B +CBE6 968F +CBE7 7EE5 +CBE8 9AD3 +CBE9 788E +CBEA 5C81 +CBEB 7A57 +CBEC 9042 +CBED 96A7 +CBEE 795F +CBEF 5B59 +CBF0 635F +CBF1 7B0B +CBF2 84D1 +CBF3 68AD +CBF4 5506 +CBF5 7F29 +CBF6 7410 +CBF7 7D22 +CBF8 9501 +CBF9 6240 +CBFA 584C +CBFB 4ED6 +CBFC 5B83 +CBFD 5979 +CBFE 5854 +CCA1 736D +CCA2 631E +CCA3 8E4B +CCA4 8E0F +CCA5 80CE +CCA6 82D4 +CCA7 62AC +CCA8 53F0 +CCA9 6CF0 +CCAA 915E +CCAB 592A +CCAC 6001 +CCAD 6C70 +CCAE 574D +CCAF 644A +CCB0 8D2A +CCB1 762B +CCB2 6EE9 +CCB3 575B +CCB4 6A80 +CCB5 75F0 +CCB6 6F6D +CCB7 8C2D +CCB8 8C08 +CCB9 5766 +CCBA 6BEF +CCBB 8892 +CCBC 78B3 +CCBD 63A2 +CCBE 53F9 +CCBF 70AD +CCC0 6C64 +CCC1 5858 +CCC2 642A +CCC3 5802 +CCC4 68E0 +CCC5 819B +CCC6 5510 +CCC7 7CD6 +CCC8 5018 +CCC9 8EBA +CCCA 6DCC +CCCB 8D9F +CCCC 70EB +CCCD 638F +CCCE 6D9B +CCCF 6ED4 +CCD0 7EE6 +CCD1 8404 +CCD2 6843 +CCD3 9003 +CCD4 6DD8 +CCD5 9676 +CCD6 8BA8 +CCD7 5957 +CCD8 7279 +CCD9 85E4 +CCDA 817E +CCDB 75BC +CCDC 8A8A +CCDD 68AF +CCDE 5254 +CCDF 8E22 +CCE0 9511 +CCE1 63D0 +CCE2 9898 +CCE3 8E44 +CCE4 557C +CCE5 4F53 +CCE6 66FF +CCE7 568F +CCE8 60D5 +CCE9 6D95 +CCEA 5243 +CCEB 5C49 +CCEC 5929 +CCED 6DFB +CCEE 586B +CCEF 7530 +CCF0 751C +CCF1 606C +CCF2 8214 +CCF3 8146 +CCF4 6311 +CCF5 6761 +CCF6 8FE2 +CCF7 773A +CCF8 8DF3 +CCF9 8D34 +CCFA 94C1 +CCFB 5E16 +CCFC 5385 +CCFD 542C +CCFE 70C3 +CDA1 6C40 +CDA2 5EF7 +CDA3 505C +CDA4 4EAD +CDA5 5EAD +CDA6 633A +CDA7 8247 +CDA8 901A +CDA9 6850 +CDAA 916E +CDAB 77B3 +CDAC 540C +CDAD 94DC +CDAE 5F64 +CDAF 7AE5 +CDB0 6876 +CDB1 6345 +CDB2 7B52 +CDB3 7EDF +CDB4 75DB +CDB5 5077 +CDB6 6295 +CDB7 5934 +CDB8 900F +CDB9 51F8 +CDBA 79C3 +CDBB 7A81 +CDBC 56FE +CDBD 5F92 +CDBE 9014 +CDBF 6D82 +CDC0 5C60 +CDC1 571F +CDC2 5410 +CDC3 5154 +CDC4 6E4D +CDC5 56E2 +CDC6 63A8 +CDC7 9893 +CDC8 817F +CDC9 8715 +CDCA 892A +CDCB 9000 +CDCC 541E +CDCD 5C6F +CDCE 81C0 +CDCF 62D6 +CDD0 6258 +CDD1 8131 +CDD2 9E35 +CDD3 9640 +CDD4 9A6E +CDD5 9A7C +CDD6 692D +CDD7 59A5 +CDD8 62D3 +CDD9 553E +CDDA 6316 +CDDB 54C7 +CDDC 86D9 +CDDD 6D3C +CDDE 5A03 +CDDF 74E6 +CDE0 889C +CDE1 6B6A +CDE2 5916 +CDE3 8C4C +CDE4 5F2F +CDE5 6E7E +CDE6 73A9 +CDE7 987D +CDE8 4E38 +CDE9 70F7 +CDEA 5B8C +CDEB 7897 +CDEC 633D +CDED 665A +CDEE 7696 +CDEF 60CB +CDF0 5B9B +CDF1 5A49 +CDF2 4E07 +CDF3 8155 +CDF4 6C6A +CDF5 738B +CDF6 4EA1 +CDF7 6789 +CDF8 7F51 +CDF9 5F80 +CDFA 65FA +CDFB 671B +CDFC 5FD8 +CDFD 5984 +CDFE 5A01 +CEA1 5DCD +CEA2 5FAE +CEA3 5371 +CEA4 97E6 +CEA5 8FDD +CEA6 6845 +CEA7 56F4 +CEA8 552F +CEA9 60DF +CEAA 4E3A +CEAB 6F4D +CEAC 7EF4 +CEAD 82C7 +CEAE 840E +CEAF 59D4 +CEB0 4F1F +CEB1 4F2A +CEB2 5C3E +CEB3 7EAC +CEB4 672A +CEB5 851A +CEB6 5473 +CEB7 754F +CEB8 80C3 +CEB9 5582 +CEBA 9B4F +CEBB 4F4D +CEBC 6E2D +CEBD 8C13 +CEBE 5C09 +CEBF 6170 +CEC0 536B +CEC1 761F +CEC2 6E29 +CEC3 868A +CEC4 6587 +CEC5 95FB +CEC6 7EB9 +CEC7 543B +CEC8 7A33 +CEC9 7D0A +CECA 95EE +CECB 55E1 +CECC 7FC1 +CECD 74EE +CECE 631D +CECF 8717 +CED0 6DA1 +CED1 7A9D +CED2 6211 +CED3 65A1 +CED4 5367 +CED5 63E1 +CED6 6C83 +CED7 5DEB +CED8 545C +CED9 94A8 +CEDA 4E4C +CEDB 6C61 +CEDC 8BEC +CEDD 5C4B +CEDE 65E0 +CEDF 829C +CEE0 68A7 +CEE1 543E +CEE2 5434 +CEE3 6BCB +CEE4 6B66 +CEE5 4E94 +CEE6 6342 +CEE7 5348 +CEE8 821E +CEE9 4F0D +CEEA 4FAE +CEEB 575E +CEEC 620A +CEED 96FE +CEEE 6664 +CEEF 7269 +CEF0 52FF +CEF1 52A1 +CEF2 609F +CEF3 8BEF +CEF4 6614 +CEF5 7199 +CEF6 6790 +CEF7 897F +CEF8 7852 +CEF9 77FD +CEFA 6670 +CEFB 563B +CEFC 5438 +CEFD 9521 +CEFE 727A +CFA1 7A00 +CFA2 606F +CFA3 5E0C +CFA4 6089 +CFA5 819D +CFA6 5915 +CFA7 60DC +CFA8 7184 +CFA9 70EF +CFAA 6EAA +CFAB 6C50 +CFAC 7280 +CFAD 6A84 +CFAE 88AD +CFAF 5E2D +CFB0 4E60 +CFB1 5AB3 +CFB2 559C +CFB3 94E3 +CFB4 6D17 +CFB5 7CFB +CFB6 9699 +CFB7 620F +CFB8 7EC6 +CFB9 778E +CFBA 867E +CFBB 5323 +CFBC 971E +CFBD 8F96 +CFBE 6687 +CFBF 5CE1 +CFC0 4FA0 +CFC1 72ED +CFC2 4E0B +CFC3 53A6 +CFC4 590F +CFC5 5413 +CFC6 6380 +CFC7 9528 +CFC8 5148 +CFC9 4ED9 +CFCA 9C9C +CFCB 7EA4 +CFCC 54B8 +CFCD 8D24 +CFCE 8854 +CFCF 8237 +CFD0 95F2 +CFD1 6D8E +CFD2 5F26 +CFD3 5ACC +CFD4 663E +CFD5 9669 +CFD6 73B0 +CFD7 732E +CFD8 53BF +CFD9 817A +CFDA 9985 +CFDB 7FA1 +CFDC 5BAA +CFDD 9677 +CFDE 9650 +CFDF 7EBF +CFE0 76F8 +CFE1 53A2 +CFE2 9576 +CFE3 9999 +CFE4 7BB1 +CFE5 8944 +CFE6 6E58 +CFE7 4E61 +CFE8 7FD4 +CFE9 7965 +CFEA 8BE6 +CFEB 60F3 +CFEC 54CD +CFED 4EAB +CFEE 9879 +CFEF 5DF7 +CFF0 6A61 +CFF1 50CF +CFF2 5411 +CFF3 8C61 +CFF4 8427 +CFF5 785D +CFF6 9704 +CFF7 524A +CFF8 54EE +CFF9 56A3 +CFFA 9500 +CFFB 6D88 +CFFC 5BB5 +CFFD 6DC6 +CFFE 6653 +D0A1 5C0F +D0A2 5B5D +D0A3 6821 +D0A4 8096 +D0A5 5578 +D0A6 7B11 +D0A7 6548 +D0A8 6954 +D0A9 4E9B +D0AA 6B47 +D0AB 874E +D0AC 978B +D0AD 534F +D0AE 631F +D0AF 643A +D0B0 90AA +D0B1 659C +D0B2 80C1 +D0B3 8C10 +D0B4 5199 +D0B5 68B0 +D0B6 5378 +D0B7 87F9 +D0B8 61C8 +D0B9 6CC4 +D0BA 6CFB +D0BB 8C22 +D0BC 5C51 +D0BD 85AA +D0BE 82AF +D0BF 950C +D0C0 6B23 +D0C1 8F9B +D0C2 65B0 +D0C3 5FFB +D0C4 5FC3 +D0C5 4FE1 +D0C6 8845 +D0C7 661F +D0C8 8165 +D0C9 7329 +D0CA 60FA +D0CB 5174 +D0CC 5211 +D0CD 578B +D0CE 5F62 +D0CF 90A2 +D0D0 884C +D0D1 9192 +D0D2 5E78 +D0D3 674F +D0D4 6027 +D0D5 59D3 +D0D6 5144 +D0D7 51F6 +D0D8 80F8 +D0D9 5308 +D0DA 6C79 +D0DB 96C4 +D0DC 718A +D0DD 4F11 +D0DE 4FEE +D0DF 7F9E +D0E0 673D +D0E1 55C5 +D0E2 9508 +D0E3 79C0 +D0E4 8896 +D0E5 7EE3 +D0E6 589F +D0E7 620C +D0E8 9700 +D0E9 865A +D0EA 5618 +D0EB 987B +D0EC 5F90 +D0ED 8BB8 +D0EE 84C4 +D0EF 9157 +D0F0 53D9 +D0F1 65ED +D0F2 5E8F +D0F3 755C +D0F4 6064 +D0F5 7D6E +D0F6 5A7F +D0F7 7EEA +D0F8 7EED +D0F9 8F69 +D0FA 55A7 +D0FB 5BA3 +D0FC 60AC +D0FD 65CB +D0FE 7384 +D1A1 9009 +D1A2 7663 +D1A3 7729 +D1A4 7EDA +D1A5 9774 +D1A6 859B +D1A7 5B66 +D1A8 7A74 +D1A9 96EA +D1AA 8840 +D1AB 52CB +D1AC 718F +D1AD 5FAA +D1AE 65EC +D1AF 8BE2 +D1B0 5BFB +D1B1 9A6F +D1B2 5DE1 +D1B3 6B89 +D1B4 6C5B +D1B5 8BAD +D1B6 8BAF +D1B7 900A +D1B8 8FC5 +D1B9 538B +D1BA 62BC +D1BB 9E26 +D1BC 9E2D +D1BD 5440 +D1BE 4E2B +D1BF 82BD +D1C0 7259 +D1C1 869C +D1C2 5D16 +D1C3 8859 +D1C4 6DAF +D1C5 96C5 +D1C6 54D1 +D1C7 4E9A +D1C8 8BB6 +D1C9 7109 +D1CA 54BD +D1CB 9609 +D1CC 70DF +D1CD 6DF9 +D1CE 76D0 +D1CF 4E25 +D1D0 7814 +D1D1 8712 +D1D2 5CA9 +D1D3 5EF6 +D1D4 8A00 +D1D5 989C +D1D6 960E +D1D7 708E +D1D8 6CBF +D1D9 5944 +D1DA 63A9 +D1DB 773C +D1DC 884D +D1DD 6F14 +D1DE 8273 +D1DF 5830 +D1E0 71D5 +D1E1 538C +D1E2 781A +D1E3 96C1 +D1E4 5501 +D1E5 5F66 +D1E6 7130 +D1E7 5BB4 +D1E8 8C1A +D1E9 9A8C +D1EA 6B83 +D1EB 592E +D1EC 9E2F +D1ED 79E7 +D1EE 6768 +D1EF 626C +D1F0 4F6F +D1F1 75A1 +D1F2 7F8A +D1F3 6D0B +D1F4 9633 +D1F5 6C27 +D1F6 4EF0 +D1F7 75D2 +D1F8 517B +D1F9 6837 +D1FA 6F3E +D1FB 9080 +D1FC 8170 +D1FD 5996 +D1FE 7476 +D2A1 6447 +D2A2 5C27 +D2A3 9065 +D2A4 7A91 +D2A5 8C23 +D2A6 59DA +D2A7 54AC +D2A8 8200 +D2A9 836F +D2AA 8981 +D2AB 8000 +D2AC 6930 +D2AD 564E +D2AE 8036 +D2AF 7237 +D2B0 91CE +D2B1 51B6 +D2B2 4E5F +D2B3 9875 +D2B4 6396 +D2B5 4E1A +D2B6 53F6 +D2B7 66F3 +D2B8 814B +D2B9 591C +D2BA 6DB2 +D2BB 4E00 +D2BC 58F9 +D2BD 533B +D2BE 63D6 +D2BF 94F1 +D2C0 4F9D +D2C1 4F0A +D2C2 8863 +D2C3 9890 +D2C4 5937 +D2C5 9057 +D2C6 79FB +D2C7 4EEA +D2C8 80F0 +D2C9 7591 +D2CA 6C82 +D2CB 5B9C +D2CC 59E8 +D2CD 5F5D +D2CE 6905 +D2CF 8681 +D2D0 501A +D2D1 5DF2 +D2D2 4E59 +D2D3 77E3 +D2D4 4EE5 +D2D5 827A +D2D6 6291 +D2D7 6613 +D2D8 9091 +D2D9 5C79 +D2DA 4EBF +D2DB 5F79 +D2DC 81C6 +D2DD 9038 +D2DE 8084 +D2DF 75AB +D2E0 4EA6 +D2E1 88D4 +D2E2 610F +D2E3 6BC5 +D2E4 5FC6 +D2E5 4E49 +D2E6 76CA +D2E7 6EA2 +D2E8 8BE3 +D2E9 8BAE +D2EA 8C0A +D2EB 8BD1 +D2EC 5F02 +D2ED 7FFC +D2EE 7FCC +D2EF 7ECE +D2F0 8335 +D2F1 836B +D2F2 56E0 +D2F3 6BB7 +D2F4 97F3 +D2F5 9634 +D2F6 59FB +D2F7 541F +D2F8 94F6 +D2F9 6DEB +D2FA 5BC5 +D2FB 996E +D2FC 5C39 +D2FD 5F15 +D2FE 9690 +D3A1 5370 +D3A2 82F1 +D3A3 6A31 +D3A4 5A74 +D3A5 9E70 +D3A6 5E94 +D3A7 7F28 +D3A8 83B9 +D3A9 8424 +D3AA 8425 +D3AB 8367 +D3AC 8747 +D3AD 8FCE +D3AE 8D62 +D3AF 76C8 +D3B0 5F71 +D3B1 9896 +D3B2 786C +D3B3 6620 +D3B4 54DF +D3B5 62E5 +D3B6 4F63 +D3B7 81C3 +D3B8 75C8 +D3B9 5EB8 +D3BA 96CD +D3BB 8E0A +D3BC 86F9 +D3BD 548F +D3BE 6CF3 +D3BF 6D8C +D3C0 6C38 +D3C1 607F +D3C2 52C7 +D3C3 7528 +D3C4 5E7D +D3C5 4F18 +D3C6 60A0 +D3C7 5FE7 +D3C8 5C24 +D3C9 7531 +D3CA 90AE +D3CB 94C0 +D3CC 72B9 +D3CD 6CB9 +D3CE 6E38 +D3CF 9149 +D3D0 6709 +D3D1 53CB +D3D2 53F3 +D3D3 4F51 +D3D4 91C9 +D3D5 8BF1 +D3D6 53C8 +D3D7 5E7C +D3D8 8FC2 +D3D9 6DE4 +D3DA 4E8E +D3DB 76C2 +D3DC 6986 +D3DD 865E +D3DE 611A +D3DF 8206 +D3E0 4F59 +D3E1 4FDE +D3E2 903E +D3E3 9C7C +D3E4 6109 +D3E5 6E1D +D3E6 6E14 +D3E7 9685 +D3E8 4E88 +D3E9 5A31 +D3EA 96E8 +D3EB 4E0E +D3EC 5C7F +D3ED 79B9 +D3EE 5B87 +D3EF 8BED +D3F0 7FBD +D3F1 7389 +D3F2 57DF +D3F3 828B +D3F4 90C1 +D3F5 5401 +D3F6 9047 +D3F7 55BB +D3F8 5CEA +D3F9 5FA1 +D3FA 6108 +D3FB 6B32 +D3FC 72F1 +D3FD 80B2 +D3FE 8A89 +D4A1 6D74 +D4A2 5BD3 +D4A3 88D5 +D4A4 9884 +D4A5 8C6B +D4A6 9A6D +D4A7 9E33 +D4A8 6E0A +D4A9 51A4 +D4AA 5143 +D4AB 57A3 +D4AC 8881 +D4AD 539F +D4AE 63F4 +D4AF 8F95 +D4B0 56ED +D4B1 5458 +D4B2 5706 +D4B3 733F +D4B4 6E90 +D4B5 7F18 +D4B6 8FDC +D4B7 82D1 +D4B8 613F +D4B9 6028 +D4BA 9662 +D4BB 66F0 +D4BC 7EA6 +D4BD 8D8A +D4BE 8DC3 +D4BF 94A5 +D4C0 5CB3 +D4C1 7CA4 +D4C2 6708 +D4C3 60A6 +D4C4 9605 +D4C5 8018 +D4C6 4E91 +D4C7 90E7 +D4C8 5300 +D4C9 9668 +D4CA 5141 +D4CB 8FD0 +D4CC 8574 +D4CD 915D +D4CE 6655 +D4CF 97F5 +D4D0 5B55 +D4D1 531D +D4D2 7838 +D4D3 6742 +D4D4 683D +D4D5 54C9 +D4D6 707E +D4D7 5BB0 +D4D8 8F7D +D4D9 518D +D4DA 5728 +D4DB 54B1 +D4DC 6512 +D4DD 6682 +D4DE 8D5E +D4DF 8D43 +D4E0 810F +D4E1 846C +D4E2 906D +D4E3 7CDF +D4E4 51FF +D4E5 85FB +D4E6 67A3 +D4E7 65E9 +D4E8 6FA1 +D4E9 86A4 +D4EA 8E81 +D4EB 566A +D4EC 9020 +D4ED 7682 +D4EE 7076 +D4EF 71E5 +D4F0 8D23 +D4F1 62E9 +D4F2 5219 +D4F3 6CFD +D4F4 8D3C +D4F5 600E +D4F6 589E +D4F7 618E +D4F8 66FE +D4F9 8D60 +D4FA 624E +D4FB 55B3 +D4FC 6E23 +D4FD 672D +D4FE 8F67 +D5A1 94E1 +D5A2 95F8 +D5A3 7728 +D5A4 6805 +D5A5 69A8 +D5A6 548B +D5A7 4E4D +D5A8 70B8 +D5A9 8BC8 +D5AA 6458 +D5AB 658B +D5AC 5B85 +D5AD 7A84 +D5AE 503A +D5AF 5BE8 +D5B0 77BB +D5B1 6BE1 +D5B2 8A79 +D5B3 7C98 +D5B4 6CBE +D5B5 76CF +D5B6 65A9 +D5B7 8F97 +D5B8 5D2D +D5B9 5C55 +D5BA 8638 +D5BB 6808 +D5BC 5360 +D5BD 6218 +D5BE 7AD9 +D5BF 6E5B +D5C0 7EFD +D5C1 6A1F +D5C2 7AE0 +D5C3 5F70 +D5C4 6F33 +D5C5 5F20 +D5C6 638C +D5C7 6DA8 +D5C8 6756 +D5C9 4E08 +D5CA 5E10 +D5CB 8D26 +D5CC 4ED7 +D5CD 80C0 +D5CE 7634 +D5CF 969C +D5D0 62DB +D5D1 662D +D5D2 627E +D5D3 6CBC +D5D4 8D75 +D5D5 7167 +D5D6 7F69 +D5D7 5146 +D5D8 8087 +D5D9 53EC +D5DA 906E +D5DB 6298 +D5DC 54F2 +D5DD 86F0 +D5DE 8F99 +D5DF 8005 +D5E0 9517 +D5E1 8517 +D5E2 8FD9 +D5E3 6D59 +D5E4 73CD +D5E5 659F +D5E6 771F +D5E7 7504 +D5E8 7827 +D5E9 81FB +D5EA 8D1E +D5EB 9488 +D5EC 4FA6 +D5ED 6795 +D5EE 75B9 +D5EF 8BCA +D5F0 9707 +D5F1 632F +D5F2 9547 +D5F3 9635 +D5F4 84B8 +D5F5 6323 +D5F6 7741 +D5F7 5F81 +D5F8 72F0 +D5F9 4E89 +D5FA 6014 +D5FB 6574 +D5FC 62EF +D5FD 6B63 +D5FE 653F +D6A1 5E27 +D6A2 75C7 +D6A3 90D1 +D6A4 8BC1 +D6A5 829D +D6A6 679D +D6A7 652F +D6A8 5431 +D6A9 8718 +D6AA 77E5 +D6AB 80A2 +D6AC 8102 +D6AD 6C41 +D6AE 4E4B +D6AF 7EC7 +D6B0 804C +D6B1 76F4 +D6B2 690D +D6B3 6B96 +D6B4 6267 +D6B5 503C +D6B6 4F84 +D6B7 5740 +D6B8 6307 +D6B9 6B62 +D6BA 8DBE +D6BB 53EA +D6BC 65E8 +D6BD 7EB8 +D6BE 5FD7 +D6BF 631A +D6C0 63B7 +D6C1 81F3 +D6C2 81F4 +D6C3 7F6E +D6C4 5E1C +D6C5 5CD9 +D6C6 5236 +D6C7 667A +D6C8 79E9 +D6C9 7A1A +D6CA 8D28 +D6CB 7099 +D6CC 75D4 +D6CD 6EDE +D6CE 6CBB +D6CF 7A92 +D6D0 4E2D +D6D1 76C5 +D6D2 5FE0 +D6D3 949F +D6D4 8877 +D6D5 7EC8 +D6D6 79CD +D6D7 80BF +D6D8 91CD +D6D9 4EF2 +D6DA 4F17 +D6DB 821F +D6DC 5468 +D6DD 5DDE +D6DE 6D32 +D6DF 8BCC +D6E0 7CA5 +D6E1 8F74 +D6E2 8098 +D6E3 5E1A +D6E4 5492 +D6E5 76B1 +D6E6 5B99 +D6E7 663C +D6E8 9AA4 +D6E9 73E0 +D6EA 682A +D6EB 86DB +D6EC 6731 +D6ED 732A +D6EE 8BF8 +D6EF 8BDB +D6F0 9010 +D6F1 7AF9 +D6F2 70DB +D6F3 716E +D6F4 62C4 +D6F5 77A9 +D6F6 5631 +D6F7 4E3B +D6F8 8457 +D6F9 67F1 +D6FA 52A9 +D6FB 86C0 +D6FC 8D2E +D6FD 94F8 +D6FE 7B51 +D7A1 4F4F +D7A2 6CE8 +D7A3 795D +D7A4 9A7B +D7A5 6293 +D7A6 722A +D7A7 62FD +D7A8 4E13 +D7A9 7816 +D7AA 8F6C +D7AB 64B0 +D7AC 8D5A +D7AD 7BC6 +D7AE 6869 +D7AF 5E84 +D7B0 88C5 +D7B1 5986 +D7B2 649E +D7B3 58EE +D7B4 72B6 +D7B5 690E +D7B6 9525 +D7B7 8FFD +D7B8 8D58 +D7B9 5760 +D7BA 7F00 +D7BB 8C06 +D7BC 51C6 +D7BD 6349 +D7BE 62D9 +D7BF 5353 +D7C0 684C +D7C1 7422 +D7C2 8301 +D7C3 914C +D7C4 5544 +D7C5 7740 +D7C6 707C +D7C7 6D4A +D7C8 5179 +D7C9 54A8 +D7CA 8D44 +D7CB 59FF +D7CC 6ECB +D7CD 6DC4 +D7CE 5B5C +D7CF 7D2B +D7D0 4ED4 +D7D1 7C7D +D7D2 6ED3 +D7D3 5B50 +D7D4 81EA +D7D5 6E0D +D7D6 5B57 +D7D7 9B03 +D7D8 68D5 +D7D9 8E2A +D7DA 5B97 +D7DB 7EFC +D7DC 603B +D7DD 7EB5 +D7DE 90B9 +D7DF 8D70 +D7E0 594F +D7E1 63CD +D7E2 79DF +D7E3 8DB3 +D7E4 5352 +D7E5 65CF +D7E6 7956 +D7E7 8BC5 +D7E8 963B +D7E9 7EC4 +D7EA 94BB +D7EB 7E82 +D7EC 5634 +D7ED 9189 +D7EE 6700 +D7EF 7F6A +D7F0 5C0A +D7F1 9075 +D7F2 6628 +D7F3 5DE6 +D7F4 4F50 +D7F5 67DE +D7F6 505A +D7F7 4F5C +D7F8 5750 +D7F9 5EA7 +D8A1 4E8D +D8A2 4E0C +D8A3 5140 +D8A4 4E10 +D8A5 5EFF +D8A6 5345 +D8A7 4E15 +D8A8 4E98 +D8A9 4E1E +D8AA 9B32 +D8AB 5B6C +D8AC 5669 +D8AD 4E28 +D8AE 79BA +D8AF 4E3F +D8B0 5315 +D8B1 4E47 +D8B2 592D +D8B3 723B +D8B4 536E +D8B5 6C10 +D8B6 56DF +D8B7 80E4 +D8B8 9997 +D8B9 6BD3 +D8BA 777E +D8BB 9F17 +D8BC 4E36 +D8BD 4E9F +D8BE 9F10 +D8BF 4E5C +D8C0 4E69 +D8C1 4E93 +D8C2 8288 +D8C3 5B5B +D8C4 556C +D8C5 560F +D8C6 4EC4 +D8C7 538D +D8C8 539D +D8C9 53A3 +D8CA 53A5 +D8CB 53AE +D8CC 9765 +D8CD 8D5D +D8CE 531A +D8CF 53F5 +D8D0 5326 +D8D1 532E +D8D2 533E +D8D3 8D5C +D8D4 5366 +D8D5 5363 +D8D6 5202 +D8D7 5208 +D8D8 520E +D8D9 522D +D8DA 5233 +D8DB 523F +D8DC 5240 +D8DD 524C +D8DE 525E +D8DF 5261 +D8E0 525C +D8E1 84AF +D8E2 527D +D8E3 5282 +D8E4 5281 +D8E5 5290 +D8E6 5293 +D8E7 5182 +D8E8 7F54 +D8E9 4EBB +D8EA 4EC3 +D8EB 4EC9 +D8EC 4EC2 +D8ED 4EE8 +D8EE 4EE1 +D8EF 4EEB +D8F0 4EDE +D8F1 4F1B +D8F2 4EF3 +D8F3 4F22 +D8F4 4F64 +D8F5 4EF5 +D8F6 4F25 +D8F7 4F27 +D8F8 4F09 +D8F9 4F2B +D8FA 4F5E +D8FB 4F67 +D8FC 6538 +D8FD 4F5A +D8FE 4F5D +D9A1 4F5F +D9A2 4F57 +D9A3 4F32 +D9A4 4F3D +D9A5 4F76 +D9A6 4F74 +D9A7 4F91 +D9A8 4F89 +D9A9 4F83 +D9AA 4F8F +D9AB 4F7E +D9AC 4F7B +D9AD 4FAA +D9AE 4F7C +D9AF 4FAC +D9B0 4F94 +D9B1 4FE6 +D9B2 4FE8 +D9B3 4FEA +D9B4 4FC5 +D9B5 4FDA +D9B6 4FE3 +D9B7 4FDC +D9B8 4FD1 +D9B9 4FDF +D9BA 4FF8 +D9BB 5029 +D9BC 504C +D9BD 4FF3 +D9BE 502C +D9BF 500F +D9C0 502E +D9C1 502D +D9C2 4FFE +D9C3 501C +D9C4 500C +D9C5 5025 +D9C6 5028 +D9C7 507E +D9C8 5043 +D9C9 5055 +D9CA 5048 +D9CB 504E +D9CC 506C +D9CD 507B +D9CE 50A5 +D9CF 50A7 +D9D0 50A9 +D9D1 50BA +D9D2 50D6 +D9D3 5106 +D9D4 50ED +D9D5 50EC +D9D6 50E6 +D9D7 50EE +D9D8 5107 +D9D9 510B +D9DA 4EDD +D9DB 6C3D +D9DC 4F58 +D9DD 4F65 +D9DE 4FCE +D9DF 9FA0 +D9E0 6C46 +D9E1 7C74 +D9E2 516E +D9E3 5DFD +D9E4 9EC9 +D9E5 9998 +D9E6 5181 +D9E7 5914 +D9E8 52F9 +D9E9 530D +D9EA 8A07 +D9EB 5310 +D9EC 51EB +D9ED 5919 +D9EE 5155 +D9EF 4EA0 +D9F0 5156 +D9F1 4EB3 +D9F2 886E +D9F3 88A4 +D9F4 4EB5 +D9F5 8114 +D9F6 88D2 +D9F7 7980 +D9F8 5B34 +D9F9 8803 +D9FA 7FB8 +D9FB 51AB +D9FC 51B1 +D9FD 51BD +D9FE 51BC +DAA1 51C7 +DAA2 5196 +DAA3 51A2 +DAA4 51A5 +DAA5 8BA0 +DAA6 8BA6 +DAA7 8BA7 +DAA8 8BAA +DAA9 8BB4 +DAAA 8BB5 +DAAB 8BB7 +DAAC 8BC2 +DAAD 8BC3 +DAAE 8BCB +DAAF 8BCF +DAB0 8BCE +DAB1 8BD2 +DAB2 8BD3 +DAB3 8BD4 +DAB4 8BD6 +DAB5 8BD8 +DAB6 8BD9 +DAB7 8BDC +DAB8 8BDF +DAB9 8BE0 +DABA 8BE4 +DABB 8BE8 +DABC 8BE9 +DABD 8BEE +DABE 8BF0 +DABF 8BF3 +DAC0 8BF6 +DAC1 8BF9 +DAC2 8BFC +DAC3 8BFF +DAC4 8C00 +DAC5 8C02 +DAC6 8C04 +DAC7 8C07 +DAC8 8C0C +DAC9 8C0F +DACA 8C11 +DACB 8C12 +DACC 8C14 +DACD 8C15 +DACE 8C16 +DACF 8C19 +DAD0 8C1B +DAD1 8C18 +DAD2 8C1D +DAD3 8C1F +DAD4 8C20 +DAD5 8C21 +DAD6 8C25 +DAD7 8C27 +DAD8 8C2A +DAD9 8C2B +DADA 8C2E +DADB 8C2F +DADC 8C32 +DADD 8C33 +DADE 8C35 +DADF 8C36 +DAE0 5369 +DAE1 537A +DAE2 961D +DAE3 9622 +DAE4 9621 +DAE5 9631 +DAE6 962A +DAE7 963D +DAE8 963C +DAE9 9642 +DAEA 9649 +DAEB 9654 +DAEC 965F +DAED 9667 +DAEE 966C +DAEF 9672 +DAF0 9674 +DAF1 9688 +DAF2 968D +DAF3 9697 +DAF4 96B0 +DAF5 9097 +DAF6 909B +DAF7 909D +DAF8 9099 +DAF9 90AC +DAFA 90A1 +DAFB 90B4 +DAFC 90B3 +DAFD 90B6 +DAFE 90BA +DBA1 90B8 +DBA2 90B0 +DBA3 90CF +DBA4 90C5 +DBA5 90BE +DBA6 90D0 +DBA7 90C4 +DBA8 90C7 +DBA9 90D3 +DBAA 90E6 +DBAB 90E2 +DBAC 90DC +DBAD 90D7 +DBAE 90DB +DBAF 90EB +DBB0 90EF +DBB1 90FE +DBB2 9104 +DBB3 9122 +DBB4 911E +DBB5 9123 +DBB6 9131 +DBB7 912F +DBB8 9139 +DBB9 9143 +DBBA 9146 +DBBB 520D +DBBC 5942 +DBBD 52A2 +DBBE 52AC +DBBF 52AD +DBC0 52BE +DBC1 54FF +DBC2 52D0 +DBC3 52D6 +DBC4 52F0 +DBC5 53DF +DBC6 71EE +DBC7 77CD +DBC8 5EF4 +DBC9 51F5 +DBCA 51FC +DBCB 9B2F +DBCC 53B6 +DBCD 5F01 +DBCE 755A +DBCF 5DEF +DBD0 574C +DBD1 57A9 +DBD2 57A1 +DBD3 587E +DBD4 58BC +DBD5 58C5 +DBD6 58D1 +DBD7 5729 +DBD8 572C +DBD9 572A +DBDA 5733 +DBDB 5739 +DBDC 572E +DBDD 572F +DBDE 575C +DBDF 573B +DBE0 5742 +DBE1 5769 +DBE2 5785 +DBE3 576B +DBE4 5786 +DBE5 577C +DBE6 577B +DBE7 5768 +DBE8 576D +DBE9 5776 +DBEA 5773 +DBEB 57AD +DBEC 57A4 +DBED 578C +DBEE 57B2 +DBEF 57CF +DBF0 57A7 +DBF1 57B4 +DBF2 5793 +DBF3 57A0 +DBF4 57D5 +DBF5 57D8 +DBF6 57DA +DBF7 57D9 +DBF8 57D2 +DBF9 57B8 +DBFA 57F4 +DBFB 57EF +DBFC 57F8 +DBFD 57E4 +DBFE 57DD +DCA1 580B +DCA2 580D +DCA3 57FD +DCA4 57ED +DCA5 5800 +DCA6 581E +DCA7 5819 +DCA8 5844 +DCA9 5820 +DCAA 5865 +DCAB 586C +DCAC 5881 +DCAD 5889 +DCAE 589A +DCAF 5880 +DCB0 99A8 +DCB1 9F19 +DCB2 61FF +DCB3 8279 +DCB4 827D +DCB5 827F +DCB6 828F +DCB7 828A +DCB8 82A8 +DCB9 8284 +DCBA 828E +DCBB 8291 +DCBC 8297 +DCBD 8299 +DCBE 82AB +DCBF 82B8 +DCC0 82BE +DCC1 82B0 +DCC2 82C8 +DCC3 82CA +DCC4 82E3 +DCC5 8298 +DCC6 82B7 +DCC7 82AE +DCC8 82CB +DCC9 82CC +DCCA 82C1 +DCCB 82A9 +DCCC 82B4 +DCCD 82A1 +DCCE 82AA +DCCF 829F +DCD0 82C4 +DCD1 82CE +DCD2 82A4 +DCD3 82E1 +DCD4 8309 +DCD5 82F7 +DCD6 82E4 +DCD7 830F +DCD8 8307 +DCD9 82DC +DCDA 82F4 +DCDB 82D2 +DCDC 82D8 +DCDD 830C +DCDE 82FB +DCDF 82D3 +DCE0 8311 +DCE1 831A +DCE2 8306 +DCE3 8314