diff --git a/libwvdrmengine/Android.mk b/libwvdrmengine/Android.mk index 1714936d..8e678010 100644 --- a/libwvdrmengine/Android.mk +++ b/libwvdrmengine/Android.mk @@ -63,6 +63,7 @@ LOCAL_SHARED_LIBRARIES := \ liblog \ libstlport \ libutils \ + libstagefright_foundation \ LOCAL_WHOLE_STATIC_LIBRARIES := \ cdm_protos diff --git a/libwvdrmengine/mediacrypto/Android.mk b/libwvdrmengine/mediacrypto/Android.mk index d21a567b..70563fda 100644 --- a/libwvdrmengine/mediacrypto/Android.mk +++ b/libwvdrmengine/mediacrypto/Android.mk @@ -7,6 +7,7 @@ LOCAL_SRC_FILES := \ LOCAL_C_INCLUDES := \ bionic \ external/stlport/stlport \ + external/openssl/include \ frameworks/av/include \ frameworks/native/include \ vendor/widevine/libwvdrmengine/cdm/core/include \ diff --git a/libwvdrmengine/mediacrypto/include/WVCryptoPlugin.h b/libwvdrmengine/mediacrypto/include/WVCryptoPlugin.h index 30ae514b..36222ef2 100644 --- a/libwvdrmengine/mediacrypto/include/WVCryptoPlugin.h +++ b/libwvdrmengine/mediacrypto/include/WVCryptoPlugin.h @@ -29,7 +29,8 @@ class WVCryptoPlugin : public android::CryptoPlugin { DISALLOW_EVIL_CONSTRUCTORS(WVCryptoPlugin); wvcdm::WvContentDecryptionModule* const mCDM; - const wvcdm::CdmSessionId mSessionId; + wvcdm::CdmSessionId mSessionId; + bool mTestMode; }; } // namespace wvdrm diff --git a/libwvdrmengine/mediacrypto/src/WVCryptoPlugin.cpp b/libwvdrmengine/mediacrypto/src/WVCryptoPlugin.cpp index 4f658bcb..57cdc1d2 100644 --- a/libwvdrmengine/mediacrypto/src/WVCryptoPlugin.cpp +++ b/libwvdrmengine/mediacrypto/src/WVCryptoPlugin.cpp @@ -10,9 +10,12 @@ #include #include +#include #include "utils/Errors.h" +#include "utils/String8.h" #include "wv_cdm_constants.h" +#include "media/stagefright/MediaErrors.h" namespace wvdrm { @@ -23,7 +26,14 @@ using namespace wvcdm; WVCryptoPlugin::WVCryptoPlugin(const void* data, size_t size, WvContentDecryptionModule* cdm) : mCDM(cdm), - mSessionId(static_cast(data), size) {} + mSessionId(static_cast(data), size), + mTestMode(false) { + size_t index = mSessionId.find("test_mode"); + if (index != string::npos) { + mSessionId = mSessionId.substr(0, index); + mTestMode = true; + } +} bool WVCryptoPlugin::requiresSecureDecoderComponent(const char *mime) const { // TODO: Determine if we are using L1 or L3 and return an appropriate value. @@ -100,6 +110,27 @@ ssize_t WVCryptoPlugin::decrypt(bool secure, const uint8_t key[KEY_ID_SIZE], } } + // In test mode, we return an error that causes a detailed error + // message string containing a SHA256 hash of the decrypted data + // to get passed to the java app via CryptoException. The test app + // can then use the hash to verify that decryption was successful. + + if (mTestMode) { + SHA256_CTX ctx; + uint8_t digest[SHA256_DIGEST_LENGTH]; + SHA256_Init(&ctx); + SHA256_Update(&ctx, dstPtr, offset); + SHA256_Final(digest, &ctx); + String8 buf; + for (size_t i = 0; i < sizeof(digest); i++) { + buf.appendFormat("%02x", digest[i]); + } + + *errorDetailMsg = AString(buf.string()); + return ERROR_DRM_VENDOR_MIN; + } + + return static_cast(offset); } diff --git a/libwvdrmengine/test/java/src/com/widevine/test/MediaDrmAPITest.java b/libwvdrmengine/test/java/src/com/widevine/test/MediaDrmAPITest.java index ce5e4c71..f5ae0825 100644 --- a/libwvdrmengine/test/java/src/com/widevine/test/MediaDrmAPITest.java +++ b/libwvdrmengine/test/java/src/com/widevine/test/MediaDrmAPITest.java @@ -8,14 +8,27 @@ import android.app.TabActivity; import android.os.Bundle; import android.os.AsyncTask; import android.media.MediaDrm; +import android.media.MediaCrypto; +import android.media.MediaCodec; +import android.media.MediaCodecList; +import android.media.MediaCodec.CryptoInfo; +import android.media.MediaCodecInfo; +import android.media.MediaFormat; +import android.media.MediaCryptoException; +import android.media.MediaCodec.CryptoException; import android.util.Log; import java.util.concurrent.TimeUnit; import java.util.UUID; import java.util.Arrays; +import java.util.LinkedList; +import java.util.ListIterator; import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; +import java.nio.ByteBuffer; +import java.lang.Exception; +import java.security.MessageDigest; import org.apache.http.client.methods.HttpPost; import org.apache.http.client.HttpClient; import org.apache.http.client.ClientProtocolException; @@ -79,7 +92,7 @@ public class MediaDrmAPITest extends TabActivity { return null; } - private static byte[] hexToByteArray(String s) { + private static byte[] hex2ba(String s) { int len = s.length(); byte[] data = new byte[len / 2]; for (int i = 0; i < len; i += 2) { @@ -125,12 +138,12 @@ public class MediaDrmAPITest extends TabActivity { static final String kServerUrl = "https://jmt17.google.com/video-dev/license/GetCencLicense"; static final String kPort = "80"; - static final byte[] kKeyId = hexToByteArray(// blob size and pssh - "000000347073736800000000" + - // Widevine system id - "edef8ba979d64acea3c827dcd51d21ed00000014" + - // pssh data - "08011210e02562e04cd55351b14b3d748d36ed8e"); + static final byte[] kKeyId = hex2ba(// blob size and pssh + "000000347073736800000000" + + // Widevine system id + "edef8ba979d64acea3c827dcd51d21ed00000014" + + // pssh data + "08011210e02562e04cd55351b14b3d748d36ed8e"); /** Called when the activity is first created. */ @Override @@ -138,36 +151,181 @@ public class MediaDrmAPITest extends TabActivity { super.onCreate(savedInstanceState); setContentView(R.layout.main); + + listDecoders(); + try { MediaDrm drm = new MediaDrm(kWidevineScheme); - byte[] sessionId = drm.openSession(); - MediaDrm.KeyRequest drmRequest; - drmRequest = drm.getKeyRequest(sessionId, kKeyId, "video/mp4", - MediaDrm.MEDIA_DRM_KEY_TYPE_STREAMING, null); - - PostRequestTask postTask = new PostRequestTask(drmRequest.data); - postTask.execute(kServerUrl + ":" + kPort + kClientAuth); - - // wait for post task to complete - byte[] responseBody; - long startTime = System.currentTimeMillis(); - do { - responseBody = postTask.getResponseBody(); - } while (responseBody == null && System.currentTimeMillis() - startTime < 5000); - - if (responseBody == null) { - Log.d(TAG, "No response from license server!"); - } else { - byte[] drmResponse = parseResponseBody(responseBody); - - drm.provideKeyResponse(sessionId, drmResponse); - drm.closeSession(sessionId); - } + doLicenseExchange(drm, sessionId); + testDecrypt(sessionId); + drm.closeSession(sessionId); } catch (Exception e) { e.printStackTrace(); } } + + public void doLicenseExchange(MediaDrm drm, byte[] sessionId) throws Exception { + MediaDrm.KeyRequest drmRequest; + drmRequest = drm.getKeyRequest(sessionId, kKeyId, "video/avc", + MediaDrm.MEDIA_DRM_KEY_TYPE_STREAMING, null); + + PostRequestTask postTask = new PostRequestTask(drmRequest.data); + postTask.execute(kServerUrl + ":" + kPort + kClientAuth); + + // wait for post task to complete + byte[] responseBody; + long startTime = System.currentTimeMillis(); + do { + responseBody = postTask.getResponseBody(); + } while (responseBody == null && System.currentTimeMillis() - startTime < 5000); + + if (responseBody == null) { + Log.d(TAG, "No response from license server!"); + } else { + byte[] drmResponse = parseResponseBody(responseBody); + + drm.provideKeyResponse(sessionId, drmResponse); + } + } + + + private byte[] getTestModeSessionId(byte[] sessionId) { + String testMode = new String("test_mode"); + byte[] testModeSessionId = new byte[sessionId.length + testMode.length()]; + for (int i = 0; i < sessionId.length; i++) { + testModeSessionId[i] = sessionId[i]; + } + for (int i = 0; i < testMode.length(); i++) { + testModeSessionId[sessionId.length + i] = (byte)testMode.charAt(i); + } + return testModeSessionId; + } + + // do minimal codec setup to pass an encrypted buffer down the stack to see if it gets + // decrypted correctly. + public void testDecrypt(byte[] sessionId) throws Exception { + + MediaCrypto crypto; + try { + crypto = new MediaCrypto(kWidevineScheme, getTestModeSessionId(sessionId)); + } catch (MediaCryptoException e) { + throw e; + } + + String mime = "video/avc"; + MediaCodec codec; + if (crypto.requiresSecureDecoderComponent(mime)) { + codec = MediaCodec.createByCodecName(getSecureDecoderNameForMime(mime)); + } else { + codec = MediaCodec.createDecoderByType(mime); + } + + MediaFormat format = MediaFormat.createVideoFormat(mime, 640, 480); + codec.configure(format, null, crypto, 0); + + codec.start(); + + ByteBuffer[] inputBuffers = codec.getInputBuffers(); + ByteBuffer[] outputBuffers = codec.getOutputBuffers(); + + + int index; + Log.i(TAG, "waiting for buffer..."); + while ((index = codec.dequeueInputBuffer(0 /* timeoutUs */)) < 0) { + Thread.sleep(10); + } + Log.i(TAG, "Got index " + index); + + LinkedList vectors = TestVectors.GetTestVectors(); + ListIterator iter = vectors.listIterator(0); + while (iter.hasNext()) { + TestVector tv = iter.next(); + + CryptoInfo info = new CryptoInfo(); + int clearSizes[] = { tv.mByteOffset }; + int encryptedSizes[] = { tv.mEncryptedBuf.length }; + + info.set(1, clearSizes, encryptedSizes, tv.mKeyID, tv.mIV, + MediaCodec.CRYPTO_MODE_AES_CTR); + + byte clearBuf[] = new byte[tv.mByteOffset]; + for (int i = 0; i < clearBuf.length; i++) { + clearBuf[i] = (byte)i; + } + + inputBuffers[index].clear(); + inputBuffers[index].put(clearBuf, 0, clearBuf.length); + inputBuffers[index].put(tv.mEncryptedBuf, 0, tv.mEncryptedBuf.length); + + try { + codec.queueSecureInputBuffer(index, 0 /* offset */, info, + 0 /* sampleTime */, 0 /* flags */); + } catch (CryptoException e) { + ByteBuffer refBuffer = ByteBuffer.allocate(clearBuf.length + tv.mClearBuf.length); + refBuffer.put(clearBuf, 0, clearBuf.length); + refBuffer.put(tv.mClearBuf, 0, tv.mClearBuf.length); + + // in test mode, the WV CryptoPlugin throws a CryptoException where the + // message string contains a SHA256 hash of the decrypted data, for verification + // purposes. + MessageDigest digest = MessageDigest.getInstance("SHA-256"); + byte[] sha256 = digest.digest(refBuffer.array()); + if (Arrays.equals(sha256, hex2ba(e.getMessage()))) { + Log.i(TAG, "sha256: " + e.getMessage() + " matches OK"); + } else { + Log.i(TAG, "MediaCrypto sha256: " + e.getMessage() + + "does not match test vector sha256: "); + for (int i = 0; i < sha256.length; i++) { + System.out.printf("%02x", sha256[i]); + } + } + } + } + + codec.stop(); + codec.release(); + Log.i(TAG, "all done!"); + } + + private String getSecureDecoderNameForMime(String mime) { + int n = MediaCodecList.getCodecCount(); + for (int i = 0; i < n; ++i) { + MediaCodecInfo info = MediaCodecList.getCodecInfoAt(i); + + if (info.isEncoder()) { + continue; + } + + String[] supportedTypes = info.getSupportedTypes(); + + for (int j = 0; j < supportedTypes.length; ++j) { + if (supportedTypes[j].equalsIgnoreCase(mime)) { + return info.getName() + ".secure"; + } + } + } + + return null; + } + + private void listDecoders() { + int n = MediaCodecList.getCodecCount(); + for (int i = 0; i < n; ++i) { + MediaCodecInfo info = MediaCodecList.getCodecInfoAt(i); + + if (info.isEncoder()) { + continue; + } + + String[] supportedTypes = info.getSupportedTypes(); + + Log.i(TAG, "codec: " + info.getName()); + for (int j = 0; j < supportedTypes.length; ++j) { + Log.i(TAG, " type: " + supportedTypes[j]); + } + } + } } diff --git a/libwvdrmengine/test/java/src/com/widevine/test/TestVector.java b/libwvdrmengine/test/java/src/com/widevine/test/TestVector.java new file mode 100644 index 00000000..30ffe629 --- /dev/null +++ b/libwvdrmengine/test/java/src/com/widevine/test/TestVector.java @@ -0,0 +1,39 @@ +/* + * (c)Copyright 2011 Widevine Technologies, Inc + */ + +package com.widevine.test; + +import java.util.LinkedList; +import android.util.Log; + +public class TestVector { + private final static String TAG = "CENC-TestVector"; + + public TestVector(String keyID, String iv, + String encBuf, String clrBuf, int offset) { + mKeyID = hex2ba(keyID); + mIV = hex2ba(iv); + mEncryptedBuf = hex2ba(encBuf); + mClearBuf = hex2ba(clrBuf); + mByteOffset = offset; + } + + public final byte[] mKeyID; + public final byte[] mIV; + public final byte[] mEncryptedBuf; + public final byte[] mClearBuf; + public final int mByteOffset; + + private static byte[] hex2ba(String s) { + int len = s.length(); + byte[] data = new byte[len / 2]; + for (int i = 0; i < len; i += 2) { + data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4) + + Character.digit(s.charAt(i+1), 16)); + } + return data; + } +}; + + diff --git a/libwvdrmengine/test/java/src/com/widevine/test/TestVectors.java b/libwvdrmengine/test/java/src/com/widevine/test/TestVectors.java new file mode 100644 index 00000000..188fd4be --- /dev/null +++ b/libwvdrmengine/test/java/src/com/widevine/test/TestVectors.java @@ -0,0 +1,613 @@ +package com.widevine.test; + +import java.util.LinkedList; +import android.util.Log; + +public class TestVectors { + private final static String TAG = "CENC-TestVectors"; + + public static final LinkedList GetTestVectors() { + LinkedList vectors = new LinkedList(); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09E950000000000000000", /* iv */ + "05", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09E950000000000000000", /* iv */ + "824C576ABFF7E79FD1F636EC993C96EEE01BD79D78", /* encrypted */ + "4D401EE8805017FCB0800001F480005DC0078B1689", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09E950000000000000001", /* iv */ + "D06060", /* encrypted */ + "EBAF20", /* clear */ + 6)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09E950000000000000001", /* iv */ + "0639208B1976BE0632F7EBE7CC24F0D1D4A5C73C6959BB3E214E5A8DBBD1313A90880AE4647F69356454617EBF1781167176C6FB6C5A6A12EC80B472C563FBE2C48A1D47C3751B904302C6955811A8EA9C3AE9B4E92CD4350C964574F2521E21D689B4F71F56ADFEB106D58D41D8AB72024C3DCC13FDA34A9442E473AD02206F31F3FBE38B6C547AA6E252EE8E876CFEBD5AD6D6E5A992F3117CD77658D6A59AF033D8C5932C4E105AB863D0DBCC1AFA897D34E94476D03DE8DC37E9569EBDC5F80C723BFA81084D8D19757FB5BF1FD75916AEE656F80CF5369E959EDEC92400A9CBA7667DE46FBE3BC836A2A9BC8FD699D0791A648C69692B77B9F893739FBC38A581832C03D271789A27F1F9EF53FC2CA8B0B1F1ADE5FAC5AC1CC44933B7B7C9DFBC6B835D9571DA50743D543F4E31BED8DBF233C5DEA705649AEEC07BD0AEEFD99200DCF7CC48252885939006F74D5ADAB6EE5DC524483030C497989D9B11158B8D8E02EF22BFEE1EDF96852FAC2569FA257E2FE795FCCEE6136DE519A88484F502DA768240B5BE4856D75963080C03A4C04FFF750DE00D67F5989B6AE900E73913D6C6199A78C56595857F231CA1900A083E109D3D48C02B27B74EFBFF70C1F0ED5594E20588949A1C4A4204D94E2895CDD619F3F6DB1E7F2224A2CECC9DA4B41D4D66B0D51BAF5E2BD422DA2E8CFBC45D86FD53BD7EBA438697109510CF4616719781ABEAB647D2123E783DF6A4264CD0CA8515CC27443CF3DDB8DEE5BFDE510BAFEF77A94E773992C26165B01B6A2ADEB5DFF8290E4FFC08E1F38A8F2077AA28AFF0FB850C9471BF0788480A23181F456F54028BA071B87086DD4E818FFBAC68747A597EF26B1FA4269CD9384BB26412EF04E39882CA730B50FF0550C36FE2495695EEB22E36497023182059CA09C0762388C10B8A827399618AB7BC86741C6A16A1436D6D8E6FEA80DF47BFDC85279B1DB1B291C7ADDF3B9956E7EF8BE2DD699F71225F824366C4C674929FF75FA549DC57419E6441657AF4D8DD4B4D7BE080D2AED4EE952C124D82A0432C211F19C9DF720F800DD038805CE0B458FA782ECFB4EDF9F557BE24707ABC6233D970C1595902C4BC1C3C5E605679B2D1CC0CF2CD45E5603E346AF0F2E08EA86E714668FF6ED8A2E00CDD96F55D70D2C13BD9209E03ED8C280971BE81182C6A1299BC54F7E497AE3A0EC69E48634B1AF52CF43F09739E105E77F2FC7EF24B7C620C4C738845DFBE0D5265556629A3B2D885DCD6871CC6C229C5373365D020E5CA6E606460106E2E5500BF8FBE10D6D35CFAD6E38DB7F9CC68AC3DAE353C295B7DE491C64916024A28F76E816615052669203E9E20063140787D71A209BE60FCDF2E6AB50D3EBB95B1A8B388E10731D39A1AF29593227E27B837FAEB69E059F6528BAE5B007B4737F9C2CEE25FE5585D622C57B78D729D11F284E4233AD40B04C6DBA486ACE827B8C63D1B5D565C18133AC5A831FC178629D1FA22ACEB5BFB995E4E344CA34CC4B21FAF541CC060AD2F27E7F56A8D33ECF86923E7355A79806E47D8015ADD61DC468A5FDE62D1F93451ED7C63CD5B01753E4DA7D30601876A10029B045F1E26D9D90F9A252B5BD8F2709CE68F394253227EFEB6A4CB5334B78011988F3046F2DF59AED1AA6E64CC5F46B5B4DB401B45174E5889E3CC670DE5CD6DA4468D885C1F5C685D066E0E9CABA6B9810F55C1135B2B2F827EB91954961A5DCC1DCBC27AE91F0C3CBED56F235B3896D2EB50BD7BF045F1B42ED2128B2D884C36A6F1F16661C26F6C46ED288FF6F45B12FBBBECED2092171BC82DF96A15200E1391230B3BF543F1E74E2488A5C1BDCF9C0BA42F99077DA6E16F3AA1CAB2CAC2674DDCFAEBB1CA658EE863759841A8D8DC4837829F850415E10E3E74327B3A19EE4660550A122D4F69901970CA5E2F03CBC636275F4425B76525945940B65D9C5A57F6DE67A37092A2D95B11D1943BD62CAF5497CF0D0F84115CE515906212E122A573243F72565A88E21C4EEDF41B077E0FFD992C41F306F4C3F51453D356D67D10B14CFD74E2A204B7DACA6535027AB185B22ADC9C6222D8450E44FAAF4D6A99CC077E0537D3674E70CFF6E9DCE3892E53329DE4EBFF58CAF60CBE7221F8C7DFC7BD4E49702682CA968CF88C8616A4BE714D015A6DF6B352B1FA2EFBE874D8A5AD2E918C7D980C9EA2FA35B89ABAC4890AE68D75D060B0F46FA70C0B0C6D9A21619021F88070A018055483B3664A894AD679C93DD0A0188E293438C37A9E754EFCE7DFDC5B511F296CA1B822927340F19F5DBB4C685D4B5076BFB11BAF79519FD05D45B0FDA0615694275A0A237FD900111CAE05A590BA0EADDCCFE3547C11805AE4C4259EE619924EEF5EB627553715CD671BDA8193547F8AAB8153A790A564E20F3538B3E70AF79EEFE6E5F2B39844378DEBF17F647E67C644C923022F6876394F06A3C0F5858098686D5DF9751B15A9AC333DD659B2DD4E5495F464BB23309C7FFF7B27EE6EDEC254DB359E1DDF14174DC9FF9147C5AECAEA059F879DE1FD5E4708605E8A35C60B4217904189BF4E0C2B199D0CF4F847434728A9E52EB008A5D993D05D8A441E4567A1E37814813B078D5AA39A6D70935AAF20167FE2FD027D5099F750CC46469EF0FECFBDCDE7290B298A8358ED08EBDCD114AAAC4AE8DB7B3A9CB7EE17D37DCF23F05800AA8667AF8D2C5D9EE908C92E6B67FB34D05E20BA52C7E351DCC5A13C73F0696BE8CF138EA156D0CC4341A69CFE9A30C2DE88B66A5F80E1C74E38DFDDBABCDDCEE4BBFD0D58692B0405EA69CF810DF3AC06DE7539294BB93326DE53BF3FBB1E4F40FC84F9E1DC778050A8402FE3F93E3339A253F9C358917C53465689ABB69DD22C26A4C81D8617C4F0D5D9BC94CFCA799E4EEBAC1EAC147BB8E9F025597101B3BDCDA876927F11F3288299C1E653A5D0BBCF8472DFB0118DB4CFD6020E4A84C696BDF6FECC1F5C203ED2DA349189384CBAC33FEAE5AC74AB82C9B66C817BD798C238D436B4F78FB9104BB2E93DA2ABACF668526280256F63462E5A760E7D15050D9E5CE97FE9A16B6F716008DBD5688FE3E82A24132C09C5390322AC17EAA4D9AD04879632DC32D7EA01F08B6F39DF9CA86EF25DDD2F607321E24DC8782C359170026FE952F4104DD09D2B3608B441388467E100B63425346FFE3960AEE04708D090B0E7D5C7951356C85F53A94B43D82BF9C620D5E4B809C0AE0072F712D4EB6B264526AB77C856D08EA3E4F1F87F68A2B20A4B6804AB783B165A96DE1942E90840EDBDF0C8DB5A2334353D5A4D34A3DF1D5FA08865A1DB3DF2CC868A3D455A6927C1E3EB859E669299AFAA62BAA175DBA4EE02BD2489B1ACC1C3D0B601ABEE56117A9719B0FD7F3D6B0434F8C9E8AC74CC6944C4A5934B8D852CA7CA8AE82CF5ED61B98025CA29D9CC7A446B133DA5D1E8BDAAB8492399B9DFAEBD99C20C6B43A7A10064FF3D587BCB9094C747B03B25B723BEA3BDE33F577920F68F0368BED77834964D4B591F49975B6A54EABCA5DB55B476543D14D1F44C87255265840B1EB82CB0164E530C23B20756AB1DA02D8909339E62B66E950875C1DCE122EDC1B2B46540116F56B2C2563F282995D2B5782243674BACFD301E6CDDB7E31C6400D1850D5272D320745E3DB6B18D45D9F7BA7BCE58153F3F659514329A4C0A20BF0995529FC2A34EECEE51DAEE3E31570E6B380B97024E599A64F443D754A7E85CE20CC1D57DABEAEE6AD98874CA7A2BEF8C99DA49F7C04740C454CAC63491B482AFBA6357DDDF7825AFE8B1FFC7B0C552FA213C9FA3D9DF28A0F9527AC5EF8003DCA1C7AC9F47691E48205DCB7A8142C67090398B0D21079485DE9A585D1911976BC9B37E506B3FC1168E6B0C29585B6A028F3FBDB7C9FE8E1AC31E56E788F246D9B91BA12EFCCBA0843D778CA197DF7B73D186EC05CB3AC2A0C18EBA87E6ACBAEB4440D2A50222756D861CFD1486DE3300CC784A42EFD93ADEBF3A6FDBD72F2C4ECCF117EC20BB0516AF75BCFF68A1953898E2EBC0CF681CF6BD855652E043E10118B1D3C799A41403277B065223DD37D678E9146EEBE701E5B78566CEA1237D58BD1A48E3440C667A1A2D4E7A84B1D1563FBB2C5D944D13A50332BEB4FB165E3F3AAD6B0B4144162D1A20A7C7AFED37DFDEDF2999098A92FDEC6835C6EADACC77D6562DA00FEC32EA52F866545DB97B58F94849BBA06329EDF154E7767D39196F055BAF0A92C0FC006E7F3DF9EC33FC8B6B3E2E2F00B80D719801E2BB4FC4A2298044E528AD7576779EFCA8CC2564C4E4F98B725CFCB79F44CE4A7BB9F853DFE426AB9ADD1FF30B542B527C6D944C12AA52E496F8DC8342545DF3E6B93426DEE63560F9E10FD89F04855EFC959F03E91813CD19BAF0B3F130B317190E809EE407610ECB3FEDE8BEEEB7FE0C15A5D9B9E5377BF50D89AEC376AB551924F725CE965C9068F848B8779B977EEFD8F5CA1DE673DF86408CD99BEC564991D247791897F91D07A80E7C0AA5A297D6F02F6BA5390B4ADAA7A8C439716E38535BC878D17FFF96C9FAC3BEFEAFB478DCE9CE3A3FDE74C09A24CBB6D26ACCA53B8CFD53A2EFF189B7228C86D182B59780B638CFCB731A099221A3D1809C3F38F2A2C6F0AF916F1EA3AFA0648A14065E444D46B0C90D8F3883D089AB85C6CF1C4AF6CA4BF3D1D86FEA4B78AA7FC1D30AB73A8498778C27AEE1E23F4E706B1D847AA17FD63016C1C15075D76AFE80094F5A8BCCE9958AD411DB71D8F6C6BB9E9D65906BB9513FDD4C4D37B9974C747B8CD46F107C2F1605F0A402CE65211BEB30A93DB0755E7E7B7537DFB37B4AF50B6548D8C732E8555B7503E398518BC87C1847345F83B70D21168EC7B8B03EEF4E91FC3713FC6A321225D85F57081D205CE4586ADA5AF29376497A4B1F5D3D72A981D2AA0870DDEC1DD054FA99674CC51D3524B64452A05747FB17E71AF644D06188A538270403923D3CCFAF314879ED831CEBBFEFAB453127ABF59564C7824D8381C62E6866B50D221F8858269FE01BDF60F3F9E72B6EB2CEA3E9C9FDA7BCF8FF4FFD0E8C24DEA40C5F347BDA604C05D66BBC614E83FA5558AA20340B9CF059F26CB9B3105D55E3AB9862ED24277CA5D79D6474642071E84320A46029B57938F29BEFDA960570B962A3B3F32A4F1A75C2650551268911BCC807B33091772E1DB6CBB22EB508ACA57E0B55A85EBD306C3A26E7B57F1FD73AE3BD6F453E8F91442BB2392B3A5F3EDCF2798C37F4D0EC4C8457EEBE885D7826C97217233AEC01F18402CB3FBBD2900C118DA0206ECB6C997C891F5AD5E9C004E8057FA35BC7A3B3F8F238EAC705307D1D5EADDE4ABC6C1156B383654ACD97CF52718354ED5D7AD6E872859EB6E2906F75CD7D1F23B72BBCE4104FDE6FBBE0A0335B7B362B61A5BC53521679343C677148FC6A68C912CB49F0F9E503529CF920CFB08F14A6A434337E321EEDE30F937C905A037F60FF5BAF69AD484C0211DE14A39C54153144CD41F8F1158EEA0C114725FDC1D89E7EAAB57F45D44A343DB66DEC3B6E14764913D596091294107E4319BC1734A52E6E503480D326B96B6402172546333308E9BD07A15AC6674004C3F838D3A6D82E8ED8134A93B89182B2749B8EDB6B1DF970BD7B3BF699FF7F3CD0FCE8C466144AB27DBB9DF0A06C5FD6D22865CF5183E45D31285C0CF8EC925BF52D1C6E96FEB5200ED6576040E9F3FB0D8450016DC326BAA66A52205C01A4A02268904ED716420FD1C503D260AEA3BF9B19B63A32212CFEB8F6F1DE12CCEFCA26B173D9AB004EBFD56FD43466043A20979796C973F77436099B83F6E8B3A2373F32D1B4058BEC86EC945216F5C43407B3735FC7DAC2A7B14D423B426A6A5D27CB673D05B0E74A098BAEEFBCFB94B3D0852D3E31018659AC2772B8681169B4C5E9A5AFF2847D0D7B43AB7EDDB766E5A6B2AF8EAA17303AC0762AAE3700F6A599172532F67F43DA7E50AEF00ED2BFE46F58D440473CD76DE501DBEC6A423FACBED6EEB24054AB4B9316A6CA865DEBBA53E64F98A2D39F85BAF90C5D12F4D2BB669D0AB87DED90C20C8939DA3BF5DADC33862696DD8B1B74B8D44C5E625A2D8E1DA8DC033D76068458239682EF8082705997DE586950641C5C785A1B7DCF8EB564C6AC23B1D987B17C7D5FFD9491465F193D5F2A1BD1FC5CFB631054D1D7573309EF3315E61EAFE321BDF7D057790181C248CDCF1F7E237025CCBCB3CDACCA52B0EB6DD9487B3010044E0BE44223E9CA4428A08BA0C12B47F210607697C1F5CCC00B8916669C959A8204A9027F9DE29BCF85ADA54B539EE67967C12B3C318600321A6B1C6EF48268BDBAB309AF3405B51731F16DAC2B032EE1F5BB48D0035EB18F183A19A107D5399877E3674B655C796DC5C466AA9462FDE6AA185415F4027C27910D31C0AF3A59D67931D93970BF2D33731401D3C60B4ADF2B00F276612C3DA5E7163DDEF93F2BAA3F615C6E7762097143C9A5B1D71D7245D6FABD7C57053D95A47BD702C204DB5F346D51CD95BD232DE05F843B8B87D78521BFEECF8EE62606E70E392875D67EA1B2F3D8BB7BEF4284EFF0B1662055989AD322D95DCC564C5D5731F9A7C204A7FA4EDB3468F3778E013B182F9C58B333E8CB0AB85D8099C132E02FFA89B501D1533EBC0D02237BB75C57B71CA7520D04486C7DA0B39A5A231721BF44D3CE4144CCC5D8D56FCD37498815961446EE9D08CE5FCE4B1D31186D973B9212B1AD672F83D40D9E3AE8B37E2CFCBD2F84AE47324B54C906A4A1C729F0B917611ABA1E967DBDBF337954EE87A6DB6B54710818796C6E2A2B87F689957E15D5C6FAC8C82A2C947620E3D46A2B69215EE3FE35FA6895F2034DEA637EF23FD08FC0113AE3307516D376616588D0079644B47FC4BDF710022600883907C063F93F7FAD76451E6FEB72D0ACCC62277FAF1367693D3D192D0F2BBD23781A1B0F6700EE5CC5EA9A98BC972A39208E9E400A0B729508B84D659A090DEEB48092356E9432BBDB9E2435C1E9B53A8701709636246AD3901612B9118CC22B39E2DDBB9BFCB743018170C5F66BC52E8E4200C6E30C7C409302AE76325BEA84C8A1B494D5F8BEF87CC8D769EABC60654FF024F09214797F760B2A349860612CE871716225D19352B24C49E4D707AEE2A88C972BE441234D38D7DFFC9826711FFB132AE4520C1052D152C6AEFAA847F11EC7BE355123C7EF98CEFADAD9452492E57F4CE55F4511979370C319ABDA2E17915759AE0C06872D852CBD649720F5B7AAB6F8F39D8ECBDC0B62B7DC8ACBCA42AEFDBB5666F386BF236EFC6EBE28F8EF0F2A1B73444869AC2432E8A1454FC50E897279263FEAD6036DFA8057D1F067C35C104442F598AB970428D4AABBBBFA940BECFC79236CB6C8AF16B8C133D1E61F2DF385250D622FDF9CCAAE62FC9BBFF1AA61FC2AB59E9483C3F670B407B4E1C4A3D4BE197B63299EE8627855BD8F34E478CF5F8AD632AA3E37CDF0C70840B6159CEFE2664DD51317DEF0E4F459548D0156D1A3338C35EA180597520D3CC5A0CE983F76998114AA238FF33FE1A26FF12B6895A0E63BCBD034BC4B9BEAA0D8A6E7F19F3F753F22DE71DF88C38F2FDC60EB13CA20D3AB1D6865AB41420ECF7530D5BAA0652399836F6062852DEF03249F977E9507B89AF3FA3FCA1CCD91ADEE69CE2BDE1E4FEB83C4F81BCBDAA2D19AF5F00A8F34FD41C103F299816AE663A7AAD66CD59B42792A7A5CA8ABFE559463F600BBFF7DE6431386DC6C106A0C7FAF83CD7EDC14A188D59981A87381F2E3A8254A962DC9849334BA93E8E31210364C49FF7341816DD10040C8093894ABDCA30F10A5C19C7C94A50EE76DCBBBD0FEDFFCF821FF0CE61451100F3F4030AED57DFDC967F8DBE9BB5BE39AEEC87E506FA0FE49F5FE0F4DCA3F383952E1317E371DCFA472D54CABF5EC04BDFC24E2687CC681B1ED78924F6BFF215278E6BE9312EBBE563687197AD3CDC479189D00A8F295194E34347AB67BBAD5113FBBCBF5DAE28C3B7173F2545555D21CCE63F26404E76513335FF4BA6CB6348900E7CFB2F903206D0475DA7F13298824D06097F1120ED3DCF2F05B5A8F0387DF258862027DCBD5B6E0D621557A0AFACBE399C0203DADF6E4F4A89072BE8356E9C231B1EFF29ABA6289F3C137A0C18D9DF4C7836560494D80BF969745FDA3A3D5D160CEF5DE0EEB004D5FD058D718591C51EE4D7117682D5C564770FF1D09706A5E03653EDD794159B893D6FFE1A6A060DE4292968873E7F5A14B573A8BDB258BBA86F2D431AC68D48EBCF7811E7FCD4F3DEF913EB26BF745549D796CAAF04E6DC2A0EADDE4DBD711403C7FF600BD7718E128339E07F1BFF821B707BE5C05DD967BE937429197E9587027C660D338F0ECB25E993711905E26791ADCCBDBBB3F1550ACEA3E7BAF8003628A54167735900F581D229A0C10953611863A7C47CC3363274B8789CAA8D46238B4324903365D8E6BBCA9EE68E3389968DCC97B4B825BDB7A46D7D845C584BFC60C165EEC53F0D006962B325A00D408C4932BC91EA78C970AF0BF47BE385AFF164A5A3EAA50753999E5E08DEAB3E189F4D38F48784A3F2A8B12C236B94EB0E9F8A7E3386C9E87F3A631782A9C6BD53750A60DBFC04B79BB570462B866CB2AEC50A3824FFAFA230528F894DAE675698463D821EF128BFB22C94AA74F74E2D1D7EC47787CDF1A00BE779EE3795280EF191ECC5388AA491E81C7BC2F8A7E498A28239CBC87737F72C4AEDF9E79A4E8F92F08337CDED5A87D2F29FB0B9DEB89E49CD5F6FE952B3EF7B84AEEE1F54DE9218CC07857DF62404AA4CC60234C377B90EBAD205A63E5BDB4DCA8C127541725B852C51630588094405FED219078980B3A37BB5840E2FE8531C829C9EE8CCD356BEA3C6F70850EA682B326BCFC26E1FE41A0C3A6458E11F0137EFDE51A5C8D58B0447460F6A1D1312C51D6D329CFA1279450A554E544B2022B11AF84A4404BFBDFB9C26B52E144EF98C2FAA74C9AD038E74E86423E9DCB227EDF6EC749C2DFC5708DF74519A153D21DF7DF8A80FCC7CA61D18F86D3E5575A6076B02471994E2B8FE1E98C17EFD463BAEEAC6A7D5AA1DE5D9C9D025A499286D5426AA8F72C72D6C605E16AAF2D1A1C73FC91545D9D87F4BFB14670AF6CFA44C94197F636FC35C0A9561162BE981A9F118E8507463688B4F3FB44243F99F5C271B33C30EC4EF1E8042C8C6329AC4E7E9D1F8586C6E20130CDBEFDC88D9BF7EFD8D4D542DFFCE3106F7B3E1BE27DAB1A6D4600FD6877AE2A7539BDA4CE7CBECEF47D6B7F32D735078288EC194A4FE55C71965D0275AA17ED45118A4036DA70CA217495A5EFE536F6B0EDBF29983C968FBAC7E5F3F42BE078EA7E6B8A4A408B2B461D9E369CBB837304D4FDBA1B33E185B55F48440356E95890DAAD9BC459D84E7C96EF512C15C58676AE3C85635865C0F8604A95463EEC7059DD25CF705339CE1EC1C6A744922FC5F140274B19C23284502D774267663CF6E9356CD47261F3B03D298B240AF4437A20D4F5350F6FB15613088D6B2FE615C20325920B351572482BF06978FAA478E6F2C50996DBB2154CE9E572E0A4A9B8720B1BDA15A2DF664067EC96EBAABFB6FA1C77413F357B59762243B991D67E48D8D08FB9A793831850DBF2BBD883EE5270395B944334461F9A6E0CCC8282844E6D95CB37137D33E8A171FDA1631A0A0C54B49EE095A3C6E02965A8F607F8A863BBFA391365F797EB34250E7501F9E267A510E021E7A1390555A153CA7A4C28C80C509C76A23593E9FCE2E7C0CE1205BA1F693F7E2A9A9294E46FB3BF3F8847DDC0CA6C19D8769DC0E2A064424C4E397CAA70D4B25B5A353655FEC04490BC21F93C067490AC30638FC3892914F1E5A0A72853413C597DD9E95A99ED1F3AC0A9E3E3B97DC3C1325D156AB1AFD28EA5909BCA76211B6CF9C7B3CA7BE1AFEA1BF6BAFE26ACAE13B99D74FEF7C4A739EA05B07E835ACD2BFB6E32943AE7DC328786D0F8133B247F606796FDFE6C352512640A72170C31A40FD836F7133E5A639B95133C5BC8DE2DBB2454AE89786FBDCCBD7EE2A9182990AF64939EC9E7FED656073E5619224316993E5D10600C608FFDCA6B6C5DFE186AE95279E4656886B02EB8B1F73EBCE2280ADFACE26C881610D6899A62055CC5A0EDDFBAACBB9D8E3D67D8AFEC74701290C84B5DAD87F7CAA62D48E05E67518911A6399701D1C220AECAAD220A10AFE8F4028126CF5C8971BBBEF013467BD977B0FBE40AE1EBBCA326C7559356AEDCE49CC477ACA8C426A2EDE7648EDDE55DC7B38C6EEC99291F81FFC0752BC187D4F9048D35DC7455EFD139883E74F03C72BAB079416B76AA53F5B26C3FC5DD0D5CEF0BA4E9D1BEBBEE18ADBE81B4B26F042AE06C4B6A75052600068F6807C04927E937836D5E2A2575093C2D5CC9446C3B2CBE87A8E058087E7BE24444D6850B02E213F7C06303AEA6E9174E40C3305057BAE15EFA0A3ED283634B31AB0AE39D061346E05B55D9FAF3DFEE07E615B20AB62A624C4A33A1A363F29245663BF5A1FF956EB49B956E0572CBF7369833E38D39B8EF6816ABA3E716B3E830021F6FD582A20BAB59230223BED6187F06CFB5B848BB4AA465736FEB0FB56B7172DA88D07F15041E7BA9D1D5C90B4D74CD4285D3BA1FE451A0FC6762BF162B178896F1FD08C9046AAD36F982532AD82B323A142D85544106FB5850CF329013A1A4918370615CF6B31E2F6C26D176E8334B4803A9839ABEA88FA70ACCD7E3623F555FAE1F3D1AD0D87C58DCD92D64D0FAB3F010307013270641F1102168C4A624DA559FDF9F8FE47ABC2E46F9EEB1175758D68C53C28A69C85833D875DBF6D6D40342847698B85C5D3D7994FF0AD909FB4357BB9372F78233DFBEEDB97DFD3A71AEBA96F2BF7DE1B183723EFC1B632AF504788AF20CFCD285D6ED50A84D515F522591361A5598C4037457CD9389582993B8CFB3C9C054800B5F4FE6982C355E1ED4B4762119E3AD3FE91833720BDAEBD14214DE650645EAB458DEA29EC8092FDC5D61EDD49F56BC31164D23BBFAFCF3FFFA0124EFC3439B0D6C46CBE4F9CF5146311F75802C727A379BE8F8EC4F6C0BEEDC69C9D4B087016AC2F962314571CDF89DB20145BEB6CF6C2E830CF2AE3040A48AD3CD7EE36AF73BB45519B9FDCE03249ECFAF1A71D284FA74736AD46CD267C6321948F2246432C2D127BB36D77473A6416FC46DD815499A8B4C25E97C9D64E2DCA1B3446BA9A3E7334A506D4CB8287F20F88D9F13DA13BA1C6592B6EE557070E7E7F19D1CB64DAE899F95E7D4E9204E4906F8DD094D5757D31988AED0747F532C10B104F2AB95837895457F4565FCB744B2747A614006437D8FD742CF0E0CF198A91FE4C22B7D23D16E300733EE3ED4AC493F2F1FCC0669C3093214EF5E6AA508C772EA45AEC2787F81C173DEEE52269029B1739DE5A06596E4FE2B946FD9BC5DD3DFDAA9B7572C639CD89B0C5EB389C12B4AF9DBCB31C34FD9E94E68A99E68B6939E8FFD79DA6858B8D19199393B7A81BD32C01EB0D0401BDCA2F524A93E2F52921E00C44178684BE9357B17A2CE6EE65AC33A48AF9E9BCE49968A07A2C5B6926BB8DD53A579E1D6ADE1E0D1E8FBDC7587C7AAC10EC1863ACF818D1BC7C7A54545F5FDC34C25422BF1A939D05880D5F1AA4EC5B8E1193C8C70C99B213C1FD048A2938A5E1CEC0833733E2F12B2F35199E81BDF962CD2EAA204C23089F9D7D16144B49A8C83350D451F3A27582AC35C6B8BA2B0E5487D74E22EFEA3E9958A25B4C8DE30DB4EE30D8B7D6289B0FA848A85AD2993D88EE7416BE12AD8376F16843394A44A54695214AA91B35AFC944E0D4121B3322817A46B2F88EF3433815751C2C08CB904262AB3D98C612F283297A78F5959184BC7B17DC4F5EB60337DA13F13EC758EEF0BC7633B36314C27D8D48603141BE9DA73FF31FE6BE7AA5E85DDA064CF0D135C503A5B9AC379913A876A9AF8E2F5E374DE32C537703E3053B209E401CB8945E292D2FBF8B0E55DC906E145D293C5915BDADBF210411EAAA308BEB8D6EB5BC9956A22DEADA30279D07DD307164B5871EF1BEFFFA2ADB28E51CC3015C7E7065F7FED2FF2D54E19D0DC3BBAC82130FB8C1EDFA2C42605E9E1059B6B85156CBACEC5D033941B3EF83D41E9DBE801467722B5E0BFE97AB2302A254100F3F8A19636235BDAF0362CE9DF0DBF597C142BC8BBD294410290A94BB4BA3E466E09F65014910A80B3BD6232B95BFD6F301D5456F9D89A1FBAC0872C8BDCC4C42E0A14DEC6C5C3EA256157B8F3E483AAC31C870392138B71E653727CF91F4C982BD12A4E7EEB7F37883CEC9C7C3F51E3108F9018F1A1645A851EE240D3ABF894E44147B2879DBB760B9A2050CDD79AB42BE54F8C0C91493012D129999BFE0F0CF62CC12A459AA05A76C016B844F1AE8BEDC4DBB880D2ECCDB82034FDCC9B64CC25EEE6985BE0A6D39CF849713F33ECC703A891922461A415A63949BAA276A15553C4E8C79FB47C2B9CC5CEB008F5B4F5DF55A507D481A9D501BA31C6B7A4593C9F852EE866205E68290A07B354FBE91736756FE3CD661904AF188DBE808224EA95E7CA45D39B9CA2DBA04056E5B9704790AFDFFA1DF79CB44205235C040C95AF68154607DE25FF91FBAA7CBCC62E4247EB43A6C2E34F73DDF0C24A64CF2E69A8C142C22CC8829A270DB6D22A8A5994BCA5E6ECF1B46675E579B27047521F2E3294711BA10782D54E3DD792A5438D744E35CFE898AF25250A65EFE69A226AE866C2F8697FC0EFA3183970A053E25FFEC2B98084055AC1B0ED6E52FD78B5B7C4C3C3F334F435FCB2DE80EDAF75E8B753B08D86F40D917F4103EFA0F1A6F2E0C7BAB04B709B4846D915114AF2BADFE61B4F937C65B980F20A92F5A65F225E0B4B38EF75602BED27D565A0AB68447D8FD3334CE10D79E5626377CC429CF218390C2B097F3927A564E22656957AADFDF58D29D91A26179C0DF0E6FE32C42D5C491064BE0F846D1EDE79FB2920D49E36FF72F3927DFC0D1D7B99182B15131B97D407201422F982592433671C8872591867B692E440685BE734A80EE9FBD5E7C38EC99D1E2684E257DEEA346E54FC48F1FEE003798B27D25F4B3ED56B6AE31C011CC515D85017FFE9BC704BD3D12A7BCEB0F3634DCF0AF7AF31802AE42353E6F2E190F4DC6A24EDDCFF0D2CF3E1EAF9522C443EC86D3844F4CB02A1C1DEEA8DA58665ADCF62A83BC23FD387275F8528E2AB799379E7DDE1A363F5665E9361C412C7DD7E8B0CB7B048B6AD68FCCA536A4AB0C9369F6FB99B91DD341E65494BB1B8B4CA247B52BE9C46E2B22541DC3AF08ECF5B929F4A831065B07DEF7D4BD9BD1D1B5687426C6D23EDF4672C60ED6EBD5E1699CC8F7C551167F1A11BB5E48E6D7FA920A669F6B8D0F4BD307F2270548EC0AA78C8711D94CDE03202175851E4944D75E4F8272765E74458006857B628B0071936D9CF9F0AAA002C296F5787475EDA3C43A572CAE0E736E3C12B035A08E8CAD4D7DC0957208D519144BE578AE3D72342426AE9D58C0EFF5176FCBA88DE2756C7E26850E6D6A3EA5C0A8F2F952710720000CF554AFD02A59A9AC7044DE112D34A6B4357FD9086DED44BD4CC2B64674156CBD6E9F9E8000A878D83212A42599BE4F60589D09AF8A6B394D456363CF6ECA4139C628302B7ACA249BC2685114383A94D3E432B7BCFFA7FEBFCB21E5C7CC84A749884E8FB976328FEBA380F30C92B6D6DC2A7093F690973373B84E65AF3DFC7497CE982B1AB8ECB6BDA4D5A05419BEFDF5B195B99FCA0EA606E69FB3DCDB59B80D11039D7674AC2788DC47AFAB7E1D0027DDF9185C112AA3D33A25660C1C63BA44DC76769643C5F662EE34C20F506BE5D8662C6DB86930B1369010DFF800F24B429439869CFF80AA913D4B635B7C667182B831DA1D092C50476B793969262A4970BF0B6D8F1D78476B1C4342488D83A7BE059CBBF5757E71C09BB089AA71809FC65C8A9B65BA872B318E9C91C1ED4A0CDEF9F48700F2095E56E578133C3A4AE3B1732C129288B9AD7DEC055BF242620E0F0A754366BA7929F4A3E7AC5E2D37D7EB103D8765D2A2D88D5E8DF7545E358EC9DF359B543D148C36838463C5B9C3A39C8975BBADE965A98D6B3096E480771F29636FD535276930E0830DBF3BEFF720D4B02B9DE2149A4AD10780AE624C7F792D5B54F2619251B3653AD57C66E889FBA07562113E5D35DF65ACFA7B1E32EF5CDD2C227EA5E129EDCBDF1E0FA01D6C32FE1F7349A2254CCDDDF0DD51773A4DD5AE1B2F4F1AC992B8C751B31C2FAF905A1B7998768CDF411FD9EABF1AD58C18947F2501F65BAB81AD016501C4E9314375D5D9ABD4803A8BEF05917D6600B4AA6471565682C4C112247A859832D68C2E3C55A99274FBC13DA97C19EB14BA7EA7E97A63D71E73014AE9535CDF762D00547C057AFFFA4326291B0B2F8C1B9E13197297A06D4A198237F7703AB9FD78DE13F49D3FE09CC692BE53FEACABCD38D20E1A70A9A5C57C525DF1F79683AB25F0B185C07DCD6BE00082811468AE96093A058B896FB1EF55983A3AE3BDE2328091CB3EFCD625140912F21660EAD995B1373FBA1D3400CBDFD4562EC4F5765E744FB0DA4F1D6E458A60A1E49293FF03D9735F0F22571C72D4E6EB1D96BD5194C7A9ABA45CD27C897FECD32523A44BBA7F97D54AAAAB3AEAE67F2546EFF05B16060C5BB9142DE01EEC9BD9DD17313B3C34254C8BC0A3CA32040EFC50E143E35CB7DF861906A285E6C3A7A1631279F610933F8CE4F3017FDEABD7C3A7DBF1157EA13500405ADFD530DC6C85CB2AE7C88417CDEEB01FE271C7A1DFCAA37E4A6A49609307B1C018D29718C30A7BE91785D596C6F603A75246118B8FA8EB801933B1F5D209C2D582C5A11A53EC8E58FFF5B30970361B39168B1F7B4F321AD72E7D3A0FB451B8167EDEC1D33B3F5F4A4C70BAAC3997E342D689660579799B33CD4F84ED3BAB7A4AC0FE714922423682246834F70A9F8CF627641750393CCF6E71EADB49C74D274A5542CB6F3FD5668A1A0C76A33BD8094085B6318DC24EB92F7E71F42D3ABE4DBDAEE95BB362EA26CE4A3859EA2DA24480C7750FEFD054C94511B78784C3DB0825136A2EEDCF1FD345CAE8DA4A37A74ACECE08EEBD42962B57737A0BF29A547395FC59B7DA31E44E721375CED5A4FE0ABC8DBE7CF198A0A7193004A5BF9A2FED16E64373BAB1478B71439A5B236D0BF5E777015A82195181BF40E5CECAE5AACCD5A66D6D2557B00B5557EAB8CED668A289A3AB88B438E9CDA0D01F349C3481AC186592AA98A72C687BE00F7D71002886ED9051380DA11C612F4F1AA406567941CCA50EC82A9E9EB8250A1BC758AACCBAD7EAF7FA5A1F94E115FB989077EBB6C5F2906AE93E3F7B70F0D4E1F60F04CBD54E590336C5A6274F97543B944875FB2FA2F8CA66C58ADE2214D1D5721BE992A2C93775C5762BEE3EAC34DC3E443793D88AE6C2DDD3380E1DDCCB39608958B315E8775CED09723BF6BD9BB787BA5B568B071698937101BA8049195C7433D0D5AFD4465A1F620A8CFF59C6B58E23FDDB9E472C4801F39A7CB1F2A234323DFD20BBE898972B928E87EA1D38771EACD912E7529AB1317FBEAD1BE867E9098995B134637F85F6B6E4696CEEAB8D25ED823A9E8801B11D0D6969B1929E00FD733884C6F6D68F7C6206FD596397FAF54B4F8D6C0730871F03514B2DE698F0AF6B7D17D5C9CA6FD7F3E751278930ACB05CBF7FFD1DAE8F05E228C6740A199EFC9286128869FAD33A0B2A95852FF5D32E75D50AF1AD560ACE40709BA0DF6019CA249251B8E255ACA112C2E6FC13B0DC7DA6E832BD110E375607AD21659378C8B62EF5B55F01C231B2A3B8D9D048370BEA45205EEB8F21FC7AB6671B1F6B154D9BB2C46423D2EC1DCA96B9C7F3FEBADB0D27E4FE09D54DEEB467F380F818EC86D67B1EFF12D9B07F83021C29D0282630A1D5E644C4A6522D9CA93CCCCA8A8E358C098CF91120A0B100EB746F968FF96AF888C78F6ED7B96EBE38225710B869BA49AFD6A9D46EA0084442F7101B9DA014FDED852DAA5D9ED323CDA1FE6FA32C55F96774C08EC22C3C926AAB9250BB6E0967CD939389BD40351224BC942D5D7AAACEF6768CE3E7696C70B575C777C0049604969D542CF20B7FC125BAD68DCB214CE36C6F9F6665633BB765D32F574111545AB91F487E2E35AD8F5C5CF5192E35C2527310C4655690EABE490F76A50E2CF12D35462A42C56CFBB1A4740D7A9C647D3F49310BAD045C7E700C3B85552EC3026BB58334B65E8CF2C2CD274E45E1533CF6448627795E2DCD5ED77F3EE1F3EF3D6389EE8327BD5766C541B740156A35E6F2AD71EBB3F6597EB5DC49E5B36389327765C30D4466ED9220AADD4AF353893AB806B94EAB33F3D850C6F9DB2BD10F027187DB7C2D5B1DC3EBA3DB7056D5A0301D079828F680792A8126DC4525D039513D2ED8CD98667FCBFA402E8B9FA4428387A3C99908BECA86259EA7A90C41FA1FB0052DF913F1FC7D3C64659A91D40D453AD4450029B043181B24321478192DD1C9068DF167C561B802A2DDC13C64C37F488B26479AFD14898112098F76308F45A9DA1BD4F14F53A6A99036EA57FCFAD9E357B3C8112B5CB361FC85A15CB61B658311D2FB061C6C6821880372FD147E84D9C80111E16871579ED02A98EA03844B10CB7F440FDDF7FF0747E0A7117845A595B45632D58E47742F767B425D3F1161D62D71168D719B2EF30392CB7515B43DEFA2DEF82BA6C53434A61D7B6DB7D4713D8624CB2DF68317F12991BA894942760946ED911EA4B4877D9966DD2F24FAAE0A8D42C0F8FB8AE8BF16730E60DD2C4025A4ACB6DF03F189814DF5AE41EA11230EB270FC63EFBDDE76B24865C9033698ED326E4C60CE99A081B72F8F9169D73B11438B462A8D27085A10EF1955AB0974F623A374F840715CFB17192A9FE0CA72484D37506AB1FEA457A0AE7A70F29B12EED7F483DC12CBD4769A77720B2B82B49DC1F20BCC0DA949D457A719DD998B18C5152E17FD42D48F2C408580B7AFC1A9C7B8BA004A0AA0EDCBDC17AA6D7B5C78EEC2B8734216ACC84698A2542B4421E1706B5AB25C666B320F13BF234A7C51B6F98AFC090F29828C9622BFB4947BFAE69CF07D0A5A9FC56D6A580DFDC9BD20A0E6ED6516DADDCF184C278BAB3BB711B76D89D9BC047C8DD16F67D046698661772BCCCDEBE40A37C161E1522AC0FB55457E394ABED276262A39E8A0FA17868841A4C162C3C6B53014ED6C16D2560B8AA7E756433A4833136908E09CFA8FAB380BED3E2C960150C419600072024C437B40F8878C4EF60D639BF9629C8C30767CCA7051E11868BE27B45FA80C8CFA08F9127AE1F3A9D8935A789551B638D0FF95A1CCA31821A5EE87382A827A0DDDFAF8F98B4BD137F16381BF4280587780986F78E98CA74CB60A6F0418A5190F30B7E5DF307E6239178D34722F31367942A4C1BB4958B0A3FAECD4DEF5FF895CE59B4A4EFD2F1C59685CA9044E4B80C720D5C48EE5674253F3BB4C9DE6B47F637D28D5297ECE76435D5CC7AAC2643BAD741696DA329D485C575B52AE91E7AB487BD2AC65BE34C3051D1BC6A8C605B3660A2C899933255AE7930A4BB353FAE9FA1E81B232FB695A79710A96D6C2D9B3943BE44E5C65F42AC1B308A4DFD04069E8F90555A55016079BBECD7922CDD177808E518601D31D77EB758FD58FF93E55B9189AF153BE11B489A4AD19198F59A6F1C7C235ED2A8090E23C302133787CA2B549C0F2A5731D05EC333AC45A32161FF2FE50877F5086862BF0FCCCD85F6FB2AAAE959753B8E5F8B9E22EDC586FAE16E92499DDA2AA16E220689EA5E9226A9BC2D27CC2816A6FEDBC7A65E49BF982B55311AD7AD55302AFCB18B8E327E70F1B92B11BF120D449AAE4B1C6A47B6C49DB2626AB2D5471BF30AC73F4DCB013338BD97BD67234D7B7EB955001B55335CFD997BF6B788E7AC43B5372F7D59E81606B8B36AA830AA3700D359A577226B4B407267A803C9E995608FC6B0EB9BCF9836C4CFF5955C2EB6802FC36AD1B0BFB048F484C9E1387A79424B51E9D346D30E41E0691C5AB9A3A33C48EDB0DAF64E3904D2090942ABFD87CBC9A5CFDC9BBAD0384AB521D4773FE8D99495D41C679EAF3DBD15C76EA57DC78B45C70E4A537EA2F3ACB5E0640081A33D6F8C3E66302DA3616AC09A0CE4F26B8D4082D71D29D90E53D9379BB981123B6857458951F878D81F335086F67C85760000382C5E4C209582549FFF1734CDBB6DED101D904FABB330A9A3D931179F5AEAEC2E70C5533208AF79E65AE34EBE13BEF70FD4693DE8395A967647C57FA813E7DEB04F8BE2FD84841A6478D1D4A31EAC0F5AC670FB88898B3E99805E1645BACF3011164FA19166B620072A4A6FEFA0CF1FDDAE8B501FF7277F70BEE967E972B86112BC5D876FB0742BB4F60EE58F9FA7A400DB1D53C10DF8FCB84523946A79E65580C5B57FF8D175752963E5FF2BF3A295BBF6EB3578E04E8F9C3F164D6050B8E4F3D3B35CA94B93E8F46B2AB8DE894354B50EA84123A84905CCFE4E8BA50E9BA437CAE7097023597B37C305B7EFB08820EE419037436B64B1A8E7D7F379B0434FC2C68C5EBC64D8FA1DA54ED84CC56548274D22F9D1EE24A1422069465BA350DF135EA828C0B908748BDE2BC85E7E485AE2E6A3FDD3603DA27140425EF30D734647D78332C7BA5BE56E7F62D7F9720781A4F6A2BCB4C1D512870CD5FE27038D357943F642755F7E0388756B2B91699607B27F18974425F6FA897F0F130F53B5DC229B6EBFA5E12CB3FD72742E68F53903A78214B8F0223543B4133B961587D4412327AABBD56F28D1B6DE624877847F6FB51CC7DBCD70205633D4AB377273753C9B11242F5CE427C5C797FD3C11AF037DFCE8AA5B00B1003DD76A3E1EDFE76F5D39298B006CF42A10DCE3BC83DC2BA1EDFBD76664D254DDE67969F679D84F95BB2B2FAE0A39297B4A3B47D245F0ACD7A3DCBE38A378B40DCA96753AAFF619637CB44714D1B7D332918B680156BEB58E07C0834E78D98AC60F7F1D296CDBD2C89476986B60D98F13D613CB3538102DDB6393BC4E124A56772CECDC9A3A2A138FBD7BC7DB625E2071AD683AB37CD769FF3A343DC95F63C87EE503663E273323DF354885939AAB59B84DD74C229A15439F7AA890734C3B52B1096464D7FA3B4AEBCB063EB8748B952C38284AA5DE2AD4490C53ACC8CE37F0B7F450F2AC0B4DDDAEC4F5C7EC386D9042F91EE505B591EFC4B4F409951A21A97FFCFCFA677CE68757CD5B6F2AFF126D2646192F2254079F978F00A1F50FCDA8EBB9C9470A35794B8A1718BDD56DD8202A42500DC9891EC1203079BDE39A50EA1A90B1FD8AB55A40368601EB7ECB90E740997889CF4274D7D2AF879F348EECB6A4864369D99B8771EE25C92966CDE430274D5DCB56329170BB47DE8289D118E1203D867C3FF6D7D7FCBDB99F6E3F0230CADEC485172F6160617AE417399206E2C042E2E681C19F5A294C0FD75252B36A7B31114AE91BB4286FD2F4AAAAE411832B4F46BFC2AB5B9768E6094BF28B16460AF75B26762D47958C8C351CB4038640EF4464F6CD84869B9A21AC9B47E55A5F6325826784CDD1F7ECDB87B0A501B55CBE9721C1355FBBC02E5F8294DCE32A9E15BCA624A6930437B8C963C8ABC70E4CEE90758E68E1AD806DA5534E3D711B60B718181E384B778CF0FA8CCC1BBCF6F446AC2E49AACA6D253486026141720E0529F4EF1F1C20D4531850B47060540582246F790E4B41815648091D817C64F9E23342141CCF929672E090596A2C8890D36BF3A861F57C70AC03464C5DAA1EA9705655E132BFF244583CDCBC3F9CECD9D67FF3F21CDFA95381AB470E8587E7BEFBE6D20F771B66B01ED158562CCBEFF3162B8BCFFE6797AF113F762B94332F272C120221E056C09BA3A51B0BE337FA31C32F0BD74F4D09D96BC943F668EEDE65CE89E7442F1BC4772B98401DE11DA6C63F399D47C5BC21FE5F82D2B49AEDD4A2EC4D7AA80DDA1C5508FFF6FEF0C361F1C6990D9BEA27E44009B3A3900A8E1C5B96DD76349850D027E114F139BB98C43DA1FCCBDECC81EF0C6600B1358C94EA169298FF0351AA9B4DBB088ECDB208867527CB4F672C1D225F7AAB0765FDD27253B860FE1655A6F0A3C54C04D6F0AEC4E707E2FC7B20B0DB1590EB6CB952D9A23B0BB07E6069B66F0DB47C36B03AFCDB92C2AFFCE10A55C7CFCE46396351CB52E8D0C5654E124AF21950D5017695AE1166D1EA90555E16B62B9B0905FA98447F6640BC200C2A35832BEE08558B9E90B3DF409721BD97F37B48D61A178DDE70140ED2807FD335B8B244847AC776BF75CBF7BB0C636EAA905BD86DAA8007DE2D5222B6D54A11C4712945F2CAD662A630D71AC65EB2710DCCDE288863B3E0D3FB4EA586A731814F0730CDC92888DB7345F02868BF03718ADE116B3223A61714BA2A4690A557D7EC088C1EDB1A986DCC42F59139453985EE5A4ABAC85B8AC3408F40EE4908CBE574ADEE24E44C5347744940A23AE7FBD7AC018ED13A58CA453298AA6414A77BEC3B97D107CF773AAD4F8133762D77193053D851D94A518D234FCD54F97E23D375FA132963EF943A691D229E6C396FF54B9FA3E1C66CF11A1296F2E6D298A921E58E4A9467679A3856573A8319A2AC2BA727F0C5CEE15035631B762FA0745395985465882385E340A1EF639FF20D967AD88874BF2B24496DE1983BBD3827B497539A6F27F9300A2CF9AF16965CF34CE150FBFCC75C78FB3769D8F1D372230A87482C756124A91CCA1FB2202EA620025723367A44238FE4941A14489E71398607158D2F85D3212A2178E130AE7DD53E4C876B933C95FD3ED17476659308E9821A06A6F0554D55C35A6BC05B4068996BA31E6F3FEC5E46A8AF8F1069A59A05C1A060D46C83B4289FBE313F28C0203B5D3270B14CC4C90F07F25D3679722D7FD9EACBDEA811CF8E35C20D0A824B0C14C051B1210514DB64A9778BA6A9BF4D10F7281D042D9027EB627DFE698D5B430CFFCD4D008580C749363D49A13B067564538A39D37A1755F93E91C41BC9155BF9C2E1B2A713399887E1D95B8F3BAA1CADD7CEB8B33768589408BF6A1E1EF651B19BC3A4B8E5CE69C029163F2F118FE5D12B0C717D663187F47D1E3327C3CDB0326A7A87FB41EA59B15062BE4F179121D52AE978E7B8E5A5BC4F743FEA6046E8F5E3F71481AB2FDF4AF166CC21F4057D40E960FA16A11DE4166C9BD45DE443C8693667A1B518473CA5AD5B815BD3CE10F5A71324FFB0BCF200FE0AB43341A4D1EE8901004B881FDA5F05E8C498CD8BEDD6FD491B6238F4936B3CFA217C00508F5C3CAABBBAAC46C00595E83C662A57B45437705008C62BE5F91DCDB1C0E53C7602AF93E89FB59EB07DE0072DDB44AB1EA3501093511EDB95C6155DEAD6159A44FDD0AC7260084C7931AD9846E611A89B382B0AA6AC7FE636B58CF5DC4B4197A89D70027E223C2AEE01FC61E3A27E6B31E459D1AADB1DA1469EA048DD5F5CBB847FB712F8ABF635A69D1A42A52EB4D7A63E751964390A9A0B0E77E8BAAF7BEC34E15FA95E26CE7DE0725BD6A9B03D89DC387474106642B1060325A4E5EC19E22F573D0DF46784A8FC86153785450B3F3A329B6823441C08A2430D3339F44C38AD980317E14E6107EFDF3FE181FCBF143B73629B6D2142BC5AA2EEE4363EED910BC0A6C158CC6606686AF6F4B912DE26439548ED7B487A24931BA29888D1400F0F26A682830C4E6175507480757DC51BB9289411DB6EBF6257720BF7ED8A5624AB477792C64F2645B53C0B49B62EA375475753A649A89991A51EC006FD37ADAB371EB4E823FE0B5E287CD823779CA9C8229A58CA4F16F88609302F527DEF5953FE6CA462A9EAFE18015641DFEF2435EA0928F3B5435C09FA9AF14081982835678B50E590D5169827FBFD4C3A6A99A79D7B8E09930222A1AB70B4C075A993CF46DB07C7A3427BF1C562AB345D5174A068DC02DB56C936528D90620F4BB96BAD5E58956BFC460850EE3178D5F1C872A51EA93E98B675A3EE6A2D6A117D90059753164330EA15F650EDCEF3607B0472A8470B79D8362322881C619108095C41064B7F2179564CBBCC2CE207AF54317E504BF9D8A9DAE909739B8934204CB3F6889026DC3D678B8188FDA85B966DEFA6BCF67BBE6325A0280201D8B1235EAD4092095613A9000D467B343F72BC1F10A2B9D6F957D29DD665C20C862E4D459A847BFD3AA747300FDFAAE91C4F0BC632AAB2C217FEBF27FF9E5B3EBBB7E24D97683D343100115E3049A814662AD4448CC83429850C2486D3AA6010F6E9148BD29AAD2F75A22BBCDD2EDF2F52C0ADDBA48BD09C4AD96D9264B96EA20571F8ADA754F8893E6B800D5AB74E22089D00FD46CC380FBBDBC1667DEEDA58E4F504B7740D6908CE58AB2A0D05A6BA9531F9FD05B9E4F57F89AEC55A12FF287B8D09D7B58C7109E6CA748577FFA77FB77DF9D665EE2D463B6D57CA4D74E18AE8A0C0F71A56D0D46800ECD67ABFC2A63558D8AECBBF3EFF522986F2B0D5738000BB9118D1805A0B069F8D7995255D1C4379ACFC2656B558A63E3031B5606DC4946B4646ACBE5AEE53B1351DD9786CE5CFE073CD8E8150854A66D6528F2668E05A89F0B00091D9C0E839B9B09BBCFEDED328A24DE5ECD522081FE0D96DEDCDD8ABB39A044428433EC7D59A4A2832B324D94ED0F97560F6642E79B1EB32E65426BCE6E36791F200B6F2AE02ED9ECF8151DB1DDA3937C5DCA62EF8DE7DEE126B3032D1947DF79CFFC046D7F1646A72D5F64B58301183D00C857B4C4C53F2C0D19B9A89E74BD08068D9FDA762A405A54B8DD19A2FA51549426DF378D898D8FD365EF5626501B31CC25C3E23F3923BF8D1D9551BEDEB032DA28C9D2740699B9365F3F9B0C0575251ABF58346B05A383A7633DDA553F002874C81A58A5B0735DD22F1C9EEA9CBB545F951CD9CA968A7EFD0D801C353595A1A46930FC27BF2C779A6DC5771311AD9DCF3BBA7441F1756B6CEA0E2B5A4FE2A799DDD455B2AA1ECAA70EA966E4DA9FBE5D8D928A0B88DCE61495AFE2F264259A117DEB57BC0FFD8F2890EFC51A05F99E18780876F027684C0946348F21248CB8528F68DCC257AA00281E43AE56072F2FB28BC877703C8DEF4147BB91D223CE3DA6FEF3E643F3B64DE2763FCF43ED24BB4A0366C2C644EF692268DD3F771A2739D3D09813EAFECB9A54078D48C1A5B6BF4FEA4FDD0917BF03048D7D12749BFC39380E195F1E0927E6B8D1412A4203EF32E23169C9FE13FD09FA2C3C3C1EC87287D93A32E3E2B257123CF14CB938A052F939FC230272687411FE894273EB6A74009A8BF00584CA16B1D40FF1102DCE4285F352902B7F38B489CB06E9C0B46D97F163598F06CA8E0305FE3D3370469035D6493BD74B57F7697A5E7A38C583C5863A2D92BD8B514E4F9686E209259A18541FBE41869534D8776F9A721A48E23F6AF9E678EF6FA819A4495BB4B68433F7A956C1BCAACB07175FD918F858958CD34F8631C055786A4136DE6153FA5D26AA47F7DA0F742A96F51A91E89D143AA44C0002D32D7E2C399708DE9CB46CC3EF0837B0B9A7F6B99DE9DBF3B8BBFDF2E7F58C497A813F05D88C9C86AC1E582E4E9DBA35043192E300CB00531282301DC95C56A475A5A9582E43C305ED15BB5CDBC933398E9B7CCCDFC9EDD803E9E7219A45E6397107A7D0DF6BB6DB3079DEEDEDFCF165FC5DCA852334CD04D61417B2039AC808418BB9C1204064A4F43AA0C73C75540AC8CF7D520498148C8C722D43673AAB7FC9A35CBDB6428FF65AAFE68734195164D42B3BCB2E2B3AABBE921210EF0906E4311309069CEF6E209F9DB5021F2A07B7A0E7FF0E2333E36A084AD8761AF6800888E53FF96F869C0B8CF2F8F4546BA780AC801FCFD9D4799B03F89FAF75744A25C79DF2041E66D01A0615063F03F453D1FC374DD639A5357DCC85BFD438339B9DC9A87E2DD3822D96EF032AC0655481B6174B0E8B1DA08B73837EC5A0223E5D2898638DFD073D5C86330222BB893CDF3E603E35C716949FCE21475C190E9E8A409DD487D77C907CB423F6B5066F5C0B693EFD086FB8D85E1F3C30AF1935B387949F4B540F5DF56C7D87D96E8DB2779E778E9B8ED00B0C93B23D4AB8C406609B8CF7B3F9B18E791E9B9CCA45270125ABB2CD17904692A99F1E612F531DC76010BDA10A862E350D47D5824EC219501BB98280BD99E6D8567BC8856F3E3FAA4012E5B639398792B220F02ADA912478AC87D9D2FBB28E97A256D86389797B318735F1606FA3D289EB4D04F22CDB6DD176793C66BF585359A3F3E76AC4A8C079AAA816331877B8463F446F7637F3C0F10E6ABE7EAABA1C5F43A5E5EB8FFBEF1FF539AE370DD76663FE79D91A3D8DC5032D7A399E0F067FFB25CCB3B10E3F6E6056E387C8FC583B1F591E35141A8C3AF1DC77BCC55F731697EC1D7BA70803A783720842342ED6B8A6F05C3F7A22E4DA6B48C55491CFA2860D807C2B3C49C43F9E92DD5ABC2416544A09F9E3C469286AEF513A471B20DEBF3DAD5F772FCCDC1E0F693F8F29873FAE656665B416935821015EFBD7C550D099EA44454E368DF2A6FB7B4AFE98B981DF5B3215CE3ABD1A4EABC8B8C11E223D100E52BDD475D0A30CA90608C22D77B18F3EF92B52B39C6ADE10F43EB05FA2B128F6256DEC3D2DB46D5E914F29132E8F9A44F2A4F40C62D160DF833FA8B0E599C918C7D47897E07F0F5083783F808CCC98F8CDCF87A0D04BA8BDE9CE4189F839C0EE39B3F0C4202336D07480014576953CE33EA23BAFB95B418E52D08C762BC3EE5F08B11A24E3221C0122B5256CD258BACB83F9BC33E5B21A9BE61359637CE1427776AC8502E9BE9277F66F3A2BDEEEE6756E9F7573C253DE054AFEDC22363B31166BAB58414241E8111CB720B6C7E88603EA662457794FEC3E54E2B6D988D0A9658ABAFF0E9C2CCEC6EAFD00D6F5CD7CE0C7A084E1AEE44722A1C9F4E67E4D55B69EEA759819007597044C738937DDE5A2EC33B634CE8518DA5CA3657F6C893A792D6FC17430147F8EE4C9EA4695000FA92164D833C71CB638BE56EA452601D5380CA376202F8C1AA0E975CFD08DD49062D6D919C653FC49DEA4FDB401E695406692E1240BB6426B59A576A619EF671FCD41B3C64BD84A3520E6778DF5C7958F45A46C763105910167E2E2CBEC1DA485821DC605F13485E527E593088C1CF6EFE7E131D55AA890ADB57F579F696036B8A5F56C2735D55C57298E95EAF88E34C79EA517B0C91334E517706A824C8B4005630E0886867F51E2AF5956C1BA28099D714FBFFD661F8E22D253504A5E879744BEED75569EE94C44BCCB039DA9F6078E4B1D2F10310C99880F7C3A1807A80353068608631F7739D3D3D5B975593CEC6EBA346171D594A366D93FB1D50D7B7345F6032FAA5F788F95C3F068B4E90E778ED985D20DF4E156B9A06F434E3132A732547FE817E503DAA6C80BE517EAD2CFA94006714EB803BF7FEE4645C827E3CC1E24F5DF4232FB3B1DB26A31B4B7165B0D0BD4442D3A8D8400F4221140CCFACCA0D54BFB308504A0C3AB1B3E81F0231C84744B31B268140EFBCB2B47607E5D2F65426BFCF151DEB7509DAFC9D3FA6CE52E2FD7C68C07AAFC1D6D5E1FC064150E44A2AFB008DC5E7D0E8ABD5E600A8E221797A19D80C73A289B9284AB92D22649257181F109CD59A1949504B1EEA393AF05BEF43EA3193215461AAAF6D7069802CE818CF4BE2D38707F86C0437FB95F35CE46089AABFC0E54934F3BA143AFCF43C48F2F79E1CE35420BA5BBC9001291EA1B615654DD6A242C1363E407242E5334416AF9610B8EE0E194CB1ADB82311D2498BCFA871656AB2628E3402180ED308F37FE32D1AD0A8BF91D94CB86DAAC0BF053B2F9D65595B2705D91A861579E317E9B6E3833D042034C5281E074302E10EEE59A51D115315D02C3C00C2E4E32A0B2C913D5195A9AE20AE5D6F76C3C917E40949654E6BDF01DEB8A8BDB3347C1A9827920B80C8C52903A7878C44DAE8257262AE57EA4F2682494B409E6252E54A93F4087879541D20457746AA6705A7FC7E7F41A1440620FD8113AC33BFEE247CE96AE681D3F7BC3DF475D362B06D0443225C118BB17D5C9F9790869A159382A8B8159AEE665414441CD9BE7543466BA1DF3C4F381C0AA5D18571FC7A6408DAEFFE289A307673B64F83579DA43D02169E4CCC19DACA2567AB25688C4684B05A0EB70899762E953FFB40AACF7F59E9A7A7878DA3A4FD6A458336EC0C7247B9CC2B165ECB33CECEA1E0F8D43177488B1582F25CA71C2C46CBAD45A835656BE0B9D390BCD1C8693E5DCABCB85D03B38DB7329636A5EE4D309A839ABB4D104D3FACCAC2C8C981A38EF00959E414B7B5E84F4839632D895EF66B6EE730A82FFBBDC806F799AD33D9334F3A670C110A570F6078F6E5A0D130A63CF7FAA17EE83DD776779810A7FAC0314E0C3790955BC40B7E26FBC3E9BD83CDA428FA84D2CAE3189883F56B780FFFDB8CC14CA6DA95B60DEBCB30DB744C4C1F49DAE17EB51A47B640643CB4BC13D51836EF9520BE235C3B3E19D299D9A58F99AC55751E95FB4F82E38B21B1FFF8EB3A6F40F3CAEDC1F69AB388A27F9D94558724EF3521857D3E4CE357C106B48C0F140F54B14956D81C2D6334BE6233BCA5618CF48AFC3A97C9BEEBB83A7084A379DD39CBCA9E83BD389E7DAAE72A80A18C4FE55ED3DB52CCC2B5AEBE444F767FA7345F13F91D7A8D8BA25139585A02FE91F2395A0C82BD5CBCAFC4C2C32DBB190237679E7B2ECC0C53FBEB7F944556E0E3AB8DE110C91736193CCE2BDAF86535E592B626D212FD2C6917AFFA08FBEF40E75F9B0716A2B30E5D402EC240EF8E1364746D893B8EF42D5FE6492E88804EA4CC8A00088EFDEF24CA0F7667F5A2A0B433E0EEC14842163772E3DC19BC910319F4EE87D6E0E2C832431604A565F3F5B0EB2D93316DD404377B5B5182F7B3BA6FA4ECA01B3D3F0D41419DC9EFF5C5DE7B841FE5473C859C811EAAB8C43BC8B886F3F89A031F387BB1E41C4B78D2D618471D4B3256D5124ACA9324FD2B76BB60C374F0D4D447C8458B18FA7E3FD49F9CAA45CF6A4381F43D49D1AAD58965230E304B78F717BF2D4A9CEE1D3A00F7A68BF0AF294CBD54BC865A5F3E7C372C282AE1E913D4D1E839A3D8167FA2DC62BD9C10662EDDD212BE7625FDB92FA921783446F2D1F3A1507454F40DBC1F719ECD59245B83E4453DFD641896BFA9D1055DD8A490B9A4D2E13E7D49111D924EECD62574DFC0A6326FDF99A724F9AF28007C83D1824EA09ECE44A6D59D32D54D1CF73F0DD521075FAC052185FA9625AF6F25D226D965FFA7DBA29655522014B119C0D108024EE76F3985D3CF90A59B0366C94A1AFFFD68B32D034448DEDCE834CACE7C738FD0D5AE4BBA19927D86520A1A94F73BF5719930A97F4826587B497DF14969BFE5838DF07D9547A35BC2F5F6A5377CB1097AE2F8F10340E3FBB4D82E64626E4EC281D2034D4CDED7C812C7E0E07297AE116B56E01BBB5CBB548C135876A3A3D0842EFE35F0B0F51842A052082044415F58D65628D512B755387628A78792AA82851C4613031B1D5AC5768D60978743F65936A7893B4E56A93454F6E188847CCF8FA624B2ADB30F3815F0E11981AFDEB4FFF5EB43B3C9B8ED0FADA6651715065B8D3D2FF2F1D8D756700B2DC87C83C1150FD793021A3265B22F3F13FE352CE7FDD2E4F497246BA16893D72B64029ECA02EFB22881D98B722E19F47D49C07E6752D6661381C72A8DA763889EE5FC1166AEDC72311B0F7CE75FED19092F6BF91ACC7F1C06B9C99A999EF6924F64B68103587FACAC30D9095060D7A66DAEE435C34737940A51504B66DE7DE52E5338DC806C02463443B3C897856E4D98AAAFCFD5B9D8C714056D086FF32ED7AB1CB5FD988FB4B9380B8CA8531BF05676612EF491CC6D767BF5531509EFE43D59D756B93065CB926B96A80BBAC93C96EABA63C378179FDD9C9A0EA89A941EA0B3185D505489C75D99B04D1255D33B7E2AE984334DD2420E2E051BDB80D720C52867E228CBA5B9CADE4C8A8AB518AB32DB10C2DE46717C51D0D14E3BA7B2EEC761AE39232F2E9318343362F2F4E92DF148E94C504006306BDFB4CC398637827B2FD3A6DAC4900AC5D365DB20A68CB2CF864DF20581FAD926EAC81452934279AEC64A3572AA39C4EF49095E2D4A9FFE949391400574B52C58D2B1027B5DFACEB3D87EFC43F144E23CE241C43DFB26038FF40018BEA1B866D90FCA14A42ACEC4600DEB2CE367DB203A5F3D6F9EA9CCC6395194823FDE61FF7E697ADD9335B53EE3316D8B1DF8FDB3DAFC538811291E221B2521E7536925ABFA991297707371A2743FCDAACA7BFE85981D1124D37085B4F6B21B51217607BCC9157ADB49B421A5C7B0CBF153B9812D42CE1D19A6B8D6A16ADE8FD5FACE5D4CD306687876D8BEF557818E80DFB61A11E3AB5F221CAE3C3E5846BC235C99F1613C3AA8E87FAF6B1346736E979B726089B5AD96C7703002B8805C85613782044AF3C9322E06ACBF2D0C2F104E7CCB2F022284D97514505AE9715FE96B5BD338F72CD213A43822E5564EFC946BB2002A1436B6A1A827BAB0538128FD1ADFB6FB512324A952FA3E385755B78243425519F43719DFEDD7D115DEDA91E8D026E2F17BA3F53083B1AAD8595261FEFF52029D9E24C6C92C651135AE8F48620C281B4EC48075E025F8F69C81AEED3E0A02089498E5F2E2151B0CF354282F95C3A9C9D8A4FF7FBDC9E90ECEE0EE96E6533AD48B69888E74BE64A6167C33995A8D582B948451AB4E56842DF725071A862EEDAB3909AEE6B46438935A0637522EE8D75DD031550A3FCE3EC4B1C37CC06866F6D18731FF1154F4AC5CE7AA2EE9223494BA256956EA67CF1CCA5BBFD3A26C271476EBD7CDD7C12DAAA95E3CF0CD8F27487D7BA39D258F093E4AF5E4F2987EAAC67437221EA1BE0DE44607978AA27BEC24F04D9737A7F7EEB5A2024562C24D37720A9E171662668247DAC578377085B9C94EEDE18CE908BEFDC601B5E079902016F4A01653E9FB06EEE7A688778C56EB375B8DD65A02E102EE19DE4E9F5A9314A66BEBD78873B79512AA1B2720B545820B9EC0656DE9DF256B80EA73392AD97A8D61486D04292C8D0E91B10B26DD32B73B845BAB3ED496DD9FB84935E90A155E225E611FBBB550B0C145E48E3A44649457D51A00AC42398851BA39782CF32B94A692379D11FCBB88F2FE7EC0A3483E70552C3D8DCC7F194870388E743C5015072ECF7201CAD2DAE2F728479052542CAE0224838379DAE2E634AF102C014C406016A6CEABC5EC15B30B90EF773BC0DF661F976B9B984C2FFD3D0526D36559C3F4E257DF989497C770C31CA9ADB0712B11A44423B9FC3D0054967FDDE4DEBCDC3578A24C15CBC29F064CCC66C2D2170E3F326065A811EDF609DCABD52CD65123F751DFFF14E71291A0E1DB60F41C803B9D92110B1991DDAA67DA311B875E0A0B43DA3AE5246473B761D0DFAE908DDB7D1C1D01E983DA1311700A9AB3FBDD693E763F1507E6A5A4942436EB16BA5A6A2E38DCC3CBF8AE2648758D1A3FC0AA76E31635D327A35AC493C887981E898C0A831CF41A8FAEE3B90ED6DDF9DB65E69A6A96D1FB411D4CD56828C68C8AE5322DCF21CBF60E099CD8AD652F013C2E7D4645953FE8785109406A72C93141BEDDB4102AAB26919AD6E49E2D11D2928547F191B0453B3682BD8F3C5850CD4649FF2BF2CD01D82A3412E8CEA55962778F955D13CAA4718853B161C99252CB10038A7B26AC01ABAA0A524E62D5AD17BF417F3438F97546EFE4B06F61C08FEA4D78D7E17817325849F2702D311123AB5C62E55BC105067F97B60C15D7208B0D9ADF70880ADB6E0F3A7A4B16C11D49342F8731F851A1572389993FD02CBD4D4D2FA9B26BF5177B77E8035E8B1AB6C7179AE33E23C45AFF891EEEE277B4E2F5310315057E645651480F25483D8CFDDBD6EE3597AC12C5950EDAC2F1EE00B5C76398924A66C62D31D32201DDF427FC7B9EDB060B294C4530BEDAD10419671F154F71DEA5ED9E59A17958A6B9F51BA6A0F9050C947665A577D5E0739C68E71BA6428FFD05A75C7422834E12E6CF413A5F710A4A51589AC1970B3BB46EFB03E0CB7487F08965A20039CDA986E46D2D3F3537F6328E79EA3EE80DAB0C5F06E07BAFB331A00BE13C37D2AD0941DBF368AFC0F281777B1912B049E874686AB84A9A23AE6D74F3DFB14023842A707BFDDC1FE6AF15E6D217D609E4F7C591516AA7FD397FEC59416AC525273DEEB60E0A99E504CA247EA778613CF58FA1F19A9937F5E207BEB3CBD7400BFE4A46377C2C392891E743E31CA78F67CE1BC179796648F640FB3F68ACC89E2DD531F9B57C42D0CBAA46B6B547640DFF31D2D2F82491055CFEFB1CB943836A2BAAE318D27073FCE6F3E2C42C4083D3A7F2C4A70AF0D2ADEB27FDA07D983688BBDE8595C8BDD44B3D698226AF9B3EBCEAA57F53E4A2301F69447F26C58FE85AB0F490446A441DB99864455DF71E65F6C3CCB6695F025014693D5714BD2B56A451BB5B89F6497EE9DA16E1D4D90C8DF428FE9E44E9F00E38E44D48C4BDF831940E5EE7934B5103832F58993A77114FFEEA46CB9950DC06CA6809FA72866B64760D939A4C708829C228278AC2357243A50A2F9A242EC9343C66826B4EED4279A684765BE5319653F9C95DFB2A08D8E60BDE0C687FBB854A9FF4C3C50EB14D835FE3C26C8C74E60F4DFA5CFC99EA448565187CA1E07B74404214EAE0B8CFF7DCE22EC84F0027BAA96766E29987C15EA66393408F3533C0AB60F26BCDA04048BB00C02F2A2987E932985481DAB7668A1F6A3C570BE98D7E58740DE6713CE0BDBE9E07C12CB42D90918E51B4E5D8139AAFD4CAD1D8EF54999D5B58670B7884B6E66196F2142045763EFFA6233A00144470266E52C419F8C7832603A31898B2938A06DB57F192538CB8D3C6CF5ECD714E41A8AA860CA52235298832B3BA6A310394E1B64CA2BB9F4C0190BC46688BA6E40D2E02766CC44FD0A2F3D4D8760AA67B60AD6E3FC9C2B6CFB98B4708E847CF232A089C2EE076EA1841EFF6811833A359B9B9C60D4B2DE2707C32C43B9725174D24C5987070133A7BEB97BE14799F93E3A2B9A558015A2722F06344BBB9960A788E96D0D05B67F8183162F813583554A3023DB8B6E7E62B313034212024D7FDAB22D2765762CC8C697F7CBE4E18A0AC1CC27E1CC216F86A778CC1AF0340B85D1CC582A618CC1E86FA019D5C6658761FEA6A8B86A23419FA5286B616D452DB0C9AFB166E33B2701FDF8C68859757862AC10D11581B24C570C3862C06A525CFEC7DAED11E1D3B27839C6BD4702AC18C627E9ED63175A75F78914ADCCB5C6C601D4338C98A2702EDC1447D56751CB54DE060ACFBBA2886B883CACE10F7F72C852B51F4D7EBD468F7DDD28C7B8B25014D72B63073A7167B3CC5A3F6A7F83687295F7B87F4852621FD6F913E7F13D76E7F3AF0C72611B832D366F95817E4095BCA6D27203606363CD31B286FBEDCA661C19358338AD6FDD4523027D6495E84C80599733B9ADFFC9A8034E57D56EC864DEE5355F9B241AEF21E190DABE6FF1821CB33D9188568091DB40CDABECDDD4AA42149F55E4D2DA6EFC77A1B58B49ED5D65A81FDC058C5B45F784AA452B055D9E70F95FDB304B2C37B992330C4A44AD789FAE3EA4D79228F136C60D29CDC97F475E91812914CB191BF41C60E1B4EA43113E0B6AC3B25E8E11FACBE3C6B8724F3658D65569381449B6ABB454030D0DFEA96B3D86438D22B8FDA884B79D25B06A8F5933E7CED2B648369683F32665D3EF9DDFFE3F23D70421DCF6920190FE8040909FA974FB37D1094CCA40F68E9EF9F6B914B0D52F518F2718D137112A48A13904F5EF573FB130BF174BDAB3317B97E83A93B528F3174E9EDDAF8EADB2197CC453CD4DF29A568A7188460FD8CFF5CA8930681948B00EDA819C81FF12156848AC405AE7A2A9D1DD81128861A9C6B9AC928A55DA8996BB18B1A83C63A307125D1EFCE652D7AAEA4F484F2D27E76D36BE203372DE39ACE35D59DC9D7552AD36566526D03A4CB3859BCF0442D751C55879AA29D62219C96EB524572D68E4992A92B2883E39EC345BBB21BE8907993428F7B9EAA8EAD5E13CA4048BB221420DEC92CDC868567BB53337B02254EA551968AB7F37641942BA187B4E06693171506C43C1BD31F916D7F5372940DB487BDA614AA216448CEDE702C6C7169EEB01FE35A60D26A52E6D93FC3BFD52814C821C07233707993244CEB60E2994FFF78A2803CDBB86A72A5B8B55EB8CF98732D0A86316519B7C18E593D360674039234C2913E02BFD3575AABFB65621416077244151B5614AC3E953C2A890DC004BBE61439819A476FD340722505C11D7B180058471FCA182C17E616036A7811843DFD84E1604400D7493E11A78B3EAFAB68D84BDF87A3EE0BB93B801ECB2F01181993975CCA32C0C2FF7D1B65C5359D42CA2A69FBFB86DA2B7E2EB160FCAD5EF7E307CE9C5332C5B596F5FD20643CAFAFC4503E2B9A1C4C24D9FDC675D84A72EB69E90159BBA212E39CC3320E8EFA36390C1D3518222954B001422053A27D12D96B286285EFE2D3FDEAEF2AE255AD5E6807F29FC182651DBB06AEE3E24E6421627CB9AEB2EF8CA723168741D2B16BC648F62E4862FE592B2C40C46391FCF9B90DD7BA0FCA1D4B3EE711F8B8A7FB4D3A4AA0C5EBF9DD36564E607E4D6BFC0D935985810FA30E4FF364CD021E827761038860B7374FED88F4C0033F78405F05AFE283D6D72B216B837A223906DD1C45A6482CE0FEEA64C9393E71A757BD8FCF2D82402C03254471810FA9B0A4BE0E0FAD710DC6160CBA94CA7F0331019541E7FC74F2FDB86E99E1A5CCA8B7CE16A9D2B411FE1D58678C286CEAD6D5C46E652F99CEA2B015FDEB0D6F5162BC8C1419F83DCA25D6085E034C092FF29D417589FB31948030E67F6920CDA9E4A896AD63B64CD19F29B0AFE36206AE98FDB6001CF04E30BD7F21D5D33C7E89025275AC2D3429E4A96CB7620BD62AE7107EA2B995916A4BA656066F9E9501AA4A87EAA8B66B0B463FCF84D1CC68320D74575FEBC0282472E1997844F4D1E3A7F4AEC134EA5A8EA6517884A046CC632D5346F4BBBEE3E5F1DC26E1785E05EA615ABEFDB7BFE6B3712D12E61DF29EE17E016F1EA7F9325D5D09D7F1B7B714AD8FA12BF754BFC8DF2D21FE4FBBCA92460DA978A2E57126A5ACD277C94403A513434D22C7093FBC319A383724443841514CCBB2F28BF5520D0E573F51B53290622B860642B2B7DA3719351AA9BE7D03D6AD9BD1AB290066E138B5608BF7F9BE1B2756B2318B383E340A5B8AEA57357D8D1CA050EB42F4A2FBD09F29028C53D1640868BB66FE499F42A15D31A50EBF5EEA5070075AAA40D2EECF312FAEAA3FD98790B95327524781DE49AE75DFB2B88A11B26E96D9F620A427E11FAB1C0037AA7E6EDBF2CAB0093969D94134CAE5C328514A2F8AF218D8CB782F1B9A57DAA5190F2DE9B93846E683C13B4DDB11C84550BC3A936413A775B0290E24556447B69A012DB66F015725E5E9C8B3C701965DDBA29FE49E75CAE7F3CAD67A6D9A3AC682618F683CB4DE9A8D8C0DC9FD8D18C529498C51D5E5F376A9DC40BCDD2784C2AABB3AE605E187D7263E05BF42ABB592DD3475D9CD598AFDD5CC42D5F8541E26335C50E0E7F3014D1882B8CDF868A9BB8A1F7FB9C16EF1C946B92C462313B52769A2FBA743094A092CBA5689096D5568A6838BB2F509D072F3781CC5C83F77CA79B95DA4BB923DEBE70F934B83673638C42B44124330828F7898DA18E2A2F2932149BB6BB84859B51CE51FB0DB532138B4ACF1480139E10BBE066DF2AEF229DBA32EE938D5AF032A29AE765C308D9DE8E5EBE7429434AD56CB5A2637671CF36771B48728E7D2730828D88951C75B87CF5307F32AC4AD9840307D100137344C60DE718948DED71C402BE5E6FBF4B2C2CEB2C22502E131000330F66BE79C7D325BAD92760FD24FF07370F164305C28E2501CDDEEC34F4E479D8BE5747EC27D998DA2B5931372A076195B56D2E5087B82F2F6F0BD42FD8A20B6391314A116D1125C19EFAA0BB30E57D8283A4BCE3FB4EA1C8BA84007A224D2EC642E00307A9B2D0DAD2F4D9041DF58A727AAB7159C575CDDF5A4A02952D6718A1A2274FB199D5ABCA0C527107ED0B184603361745E59778A9A9755A9DF2317827A84D4F629BF1872CEAEB79AACD111C11281F3E37A4B90DDEDEF61DFCA4778583B72EA662CECB6A04CA1AABEADD357BD4ADDCB6404C4C874DE25C97E75998F00F39B677E6384EB8C92266034802BA91F044CF8C9BCB4DF80C8868E6FA52A805432561923655CEE6D6A455BBAACBC382641B10A8644D0B4BA94DC462931EF65E3E45AD7530E9E53DF8733C6CB2B2E0EE097EB07FBE2ACEC2A7E9F91EF4D1D8D595B59AB1BA3052D45274D4817BB76902DB71BE9C234BCFD53DEA526B283D80681682961CF0068497B9EB64B3F7AC9111433981D3189BEE3FA8AFB87B0945DC7B5F7437086BBA3278AE7DE6CC8EE2C7403FBF46D8AF80AD515EE5F87F77DD85FBED095A576BA46E6C0E5612148D60165CFFDB4BA0B60C4EE19630E40D790F5F564C8DBA569EA68CF2E5191F6C1E42A010ED8AAC28F3BDAC72F618059C8E90DE6F84CEC4E665092BE0ABD6DE883436BC226E7E5838A6C1375471C778A154098D3D0451E3E91BA445EF4FA97077F87D29D24DF77E3538C026B21A8DDEA3C86A469F7C88BCB1A4D7CC36075E26E111AFE424C56D14637F62749BE3D6EECFA82902722D0BA7413A9FB8936A507ABDFD2655B228AD5CEA6724E624E93C34A0A2BFDC069662848F32817CFA0F2D4DDDD65FBD62D80BD35A2E76E095B5CB5061A7A622E607D50CA792B4E57025CE3B40463B2DE2D159C2D8275297CF265E078803A846E6FB19974F10B00C119C5484C04DFD2761C94EF6CA8357AFB5CCC6A6D95DEEEA67924BF046A2C814EF2501DE0FA868909F580033399E252903206450C7C59D3899303D696EB4C25B505566ACFE32D355C9D16005E523F746B55F6D7DF837DA7B34E3FE6D747D75BDF82E9E2A7F9C11BBD7D6B75CCF2F0EE6FC4AA23EC432B1D2ECCC5117AB67CA369BD47B484DB77A27F41CC93EDFC07AB6A492D8805094CC420D9BFD2A94A380D624554E85F6DE4F64F20768AA62D3EB207F8F9805E82FEA9A254BEAFA30E88AA7766F09A8B1E7B57730C7FBA14A15AD9F1344826E49C3859E1DBE37D2A75A7564EBA51EA212D11F6A62C25C3EB3894CEE563F6543C49A8AA0B032AFEDB136B9A170F4F40CBA0EC6A06EB190468E408F4E5D974D1BD007C18D9A25FE020DB22187F82C5A92C53C7D7ADB3A2C9933AE732D56A7D706713BC909E32C12741AC263017426572BAC5FEFD7214839CE8205D1D9AED102B4E484CEF7E59B5A49B803110E9692A2F80955C22F1E31DE51D68A97BE8DAC3748894161E2E1390EA15D0A28BA4B825A231AC3CC0038F5BDECB0CE699285FFB610F204CE38EA58CDAFD1DA1BF8ABF40AD4484A52BF56A377426A1D9778B9EA9288A74579E92E901B3C105BCFAE06D8F092664FC2A64E82CBBBA3E3DD9025F5DA9C23F861BBF2BD9ED9E8F20F58463F682F477674AA40DDCFC07E47FFA704887E5442AEFD120B04600F11D3226C4B6B327023F9A73C2E846DAFA8405476896C5243033E3BE4813454A40DEBD08B42D9AC19CA5462DA531CC9B048C0F0B06A2A73B0FB11BF0ABEBB105E2BE40417E3EEB073BB93A2A75AC500CA706337FAC82A0DD35A3CD03B6E715E48C58F640F81412E3AC8A4C842BC0C39DFABFA7B930E6BC887000C212403883CEB5F19C1C84049DC5E80CE90AFF191A869C825B4F5719331AAC7327DA3FDBD823C6C466D53C6DB802089F9D1180AD9315BA18D19D39096D83FA017336058C33073C89FC0C5360EAAB46BDAC44869415FA4EC152320C4E5DBDF82E6F24BC53F1D395840577649C353622C35B622972893739862F28E31AA76A2EAD636E447A2D20DA4CBB1FB70CE11CC527BD122119E2C9CF04D00177C200ADBC919308E10DB45633A8B990CF1734F97D7202DD7B24609CC422E1AB27516A8B3F9491C72F3925F42CFD1CC104A652BDED59CA4BFA7FE7D3F93B257429E2F08746DCED41DEE8E1D5D3D7A02BEF2CBD5D1FBFDBB0BCACEFE8DCDF615CC066A2B8538C51F85F1B64EF1C7258E7670F6F93DE7E4F2A11697E46F9D7C87C7DD80772E00EEBAC4589FD74A48BCD8B34419D644839FBF1AEF62A49C561EC98A3F49963FC99E9241948B04575855A034F105B53963560AD6BD89D5056DA730C6B02C390B48EB07B32B475BA2E032AEDCDA7CB33783B16C8A171263E90C8FD1179997C87AD3596DC0B6DDFCB3430545C1B6A92375D5E7943D2C5F8BFEE0B6578C0DC3CB2B2F61275AD37B2B0F30AB9D50FD200719ADA7701828F984D149EBC0C6DFBA6F06221BEC5833837DB065F0AFE9D4549244A150AF330CB7C271E29EAA74F39613D80D1107CDB25080FDBA981FE1A07C0E4DB93499298B1E678415895114AFD21A368EC7878AA53E252E5EBE118952373B4D728FB5B1124C56FD923E779CDE8673A4273BD23D7D2D73CE33ECACB3C127E86866C25C49E284C259D2C8B43E81C5E0F557F18708797104D8C03CF4935ABBE7DE2B1053F8AFA803B1FD4C9B5D55D9ABEFDF2680B3616FECB1BEA872E4F0B71A41139F2D9B0016C3C1B4776EB9BD5118CADEADD500ED1015AAC7EF09620C9F9D207CE89793415C25D24FF3F536A0F57DFFF62BBD978265C8C02FE31B9D69A1D62910DD74FC47DBD064162311E21A59EAA010C02EFB103126460B4D4A46D06C35721FCBD298C14127B26408A05ADDC3DE3CDA144C9A12743317FB54CEAC2875005E034F381D912C62FC2DAAFF7928F5E5573DA25E13ECF46A690A8E6A92A5287488C727D7B6706B3ED8930A50F5A64723E0A458C7CEF6C464A5CA6DD929838F1A836D232B98C36A56DD4269B5CE02E51BAB0D7AEAE859B43F09961F956BED7B8CD141470BA3C16B81DAF74DDF8ADF3548C907D8BB840D7546C05B8CB44F43768E5D6382B1B1BA4D8312325383DD4CE47A81A6720DC130F5E09782B28BE7CC49D92207EE913CC736B1C8CBE310C4021B39485381A8A1BBA4424D0938B961F0959DFCEC755F1C3257AC45E765116D4E993A67DA362C7BD6A37010441D7059AA77FC5094E6445BB5DC460A09F050DA61A45C86C6F568C300447CFC39B81BF8F8783AD65C60A296109A8A13D99713655CAEB97CC8B875E4CFEC1F4CD79ED50A5600F7104E79120230E90C15E1C94AA1A6DEA440D7637CD4DFB8491811FBB2CB5724ABCC8FE974E2CBC5026220A41EBAA2E94CF698B25F7C44986A972E87AA77908AC62B5154B658B97916009B1B6BA222DB30F8B1BE350954F73DA3194FEEEB3422835FD23A1D3277AD899FB6D615F44FF13DBCB8597AEF4C6CB03D817927286092261D84B33C7CB0A24E19507A76F83E5BB863699C232E93070CE82E6DF1B13FC56E2DC50D072F7C9D8D1980D7926278406F23F5CC105EE91DC23E7BAE84DEDAF2DCA2BB32E065F9864ECA4E761170B4645098B910F4DA2591D1EFB0C02E9273549B47C2D210C8621E4B489E78CB6035CEF5CAB5D797EC23C64E1D08EA8749F40C3D196F29965DF6A4848355CA9CC6953B0C6E76A136014CD97D7205B20F6E88BF9FD5DA086D6EEC11952AD3AA3F77CBFE309DB93F5C0CE84AAFF651559CFD834C074F6398BBC6EE22F94F0B0A1499FD7F8F583ED35AEF1CED6059E3B99FBA48EBA4535A6FEB80F6CA1F7C12D70DAC5047F7CC7087E0FA770087770E895B434B940F1B41E31A1D534E532402AF1B8299778B2F81B700AB44DF6EB112F87530FEB58895CD8AF4E476FE6EE9EAC60A69B13E12D8528AF13ECA07666E924A91E026AFD5F54FCC9203F2E5DCAF1BEF304284CBF8F49EA73A842A91026418D0A9AB35CD634000D53959E7C7CED7C752F794EF1DA67912DF08DF2158ECCC0B529C7D9C1C3A68A8ED1D8ADB9EAE8D27080850309F87DE00B1702606CC606644D99C6B8BF23065DC7FE34806BE9E21F55BD48B00E3224D6608BA762725A5642995F0E6552917A760ABAC75D379A0190E93E45A310FE249551FD1A27BAD511CECC1088D1FD4F3FCAC9F5C4600487AAA7FA67699356BF31C12B52D5BEED037A3F3CAAE030169D10AF392A5C6A3CBAE21CB1F7F74CE8199EB6CE32CA265E431171B06A98ADBEFA6482F2FE881D94CB2DC1AEEB4AC4ED19F96097368C5AA4A1A7BF65C675D6CCC7FC7BCB676C2B2CD6BDF074D3858CAB1C492553999AFAF47BA987D5F8BF279A6E58CCFEDDF88C0EC04473D895B4BA851509E4518D4C744182710A4A8E8DC6F527C22329D6845475488B8A624CA8D4C366022F4172292157CBF7D4E23D7E8DCEFBBA70579B29B4385C944CC89BCA7A4B288036398BEBEAA65FFD5A14F2DC16EA2A346F9B9C703451F97D409FF92903695B7D675BFAFA0C3784137290B6DB36A13F7ED7B7B6085A71353DCA10E4187A42C3E6C49A6CACB0CCCD576C1D77805B8A7DE1364319361B4B0DB2AFE0DB36B458EF061D96E88A049875EBCB5C270917385A3C751AB78BDCDA8039AC32F360E1FE63A8DC9881C198B1E819A37B201E153429534E494106A32EA3BBBB0D3BE22BE841E800BCB213F073AB553AA06F87D9AEEDF7B76FF4F06D9931F70AB9417F4D9639EFDEA472E9ECDD29708B5FA0F94D39769CC948000D866D95B3DA806ECCCAB909E4BDF55805780BB2A6F4A85E2A6C1A8CA12603D95950149C3E2780411019DB7380EF3C49285D09A6B6C6EDD3A55CA45B38C40550FC87EB0F9997D48CB0E4A6B46B1AB15731A4AADC2D7E2EBC937E398134040EC5AD205B28C72F3EC6EC4E81E7F06B37FFB5F9612F85ECBB2C78D4AB0B19D1479A31DED4749256DF8C8F42C63EC4C02CC561864E89A99B9DEF9CFD48C6A950F1C4DA467CA05807A255B2A266459B4B6588EB9000D24686F6EC16F885D90B7772BCA730A03C840C5A3A54D3A2FD0C0F33D27D98CB04733E2D8D40D27D88F630DE562870087AC53FC47CB732D23A73304C187BAFA704EDA843884BCB30643F03067E4D5A35CCEE3C316E2A6BB08CEA4EE5DA209B4B47E65C1389C2C8182DF81D1554E8907EC42CDAE5700170F46E2EE88E6B1850B977C1BEE86CE2C46AA24C2AEB3A96BC5C4DC97A95B34AD1BBBFF9F098A0AEBD5B16843611955471008F0FC7E86CE4BBD44E550490A2E94FAE2C5C25184AC1071128CC490699740DFC67FC282D462D8D1AAE886F56B4FDE15332BE2740AF449B2D7E4A6D1C2D67A02C64BC9201F13D46104DF238D63DF7A7846CB1D626A02542EB3A7CD170F6A32C801BC1F19487F892631DADEFDA5C3BCC68F0C127ED6A29E5ADC55CEF0EA0F57673E22F9B36A3E2223417CEC3DCE2A9C67E4F6782BFA87A0EDC0782472E5C84340F57F1768BA4CB5D0DD0705A2A226C3342C772A93FF3EFB105728ABD88094384EDD32022D8EFC46E1B3C4EC67435A5C90729C16B4D7BF22B18386753E8836B42D365DB40DB4A733EAD6A41791582C85EF5A383A51D0D2D4C8B9412299BAEE04FF0951E0ECA46E0AE4F6D183434012A655837047D568CBE321BB9EA903A08A8972761B5602E393A67584DE9B47E1338E465FE9EC98E68B39E985EA79E9C9C971F6EF1773CF5FD5767B27212581B114DC90AC43D0079E049EC427923FE86A7E921B23094E8659A333288D222E644DDD90E7BABE91C860F476938C82477C42CB34D32D0452C684897806B1349C913E63DD6C8894ADEAF8334C95CC68D7F83F781BD71150B66799425D5F92B7F20B25E1F8862373328E5AC6DD3CA5B7646EBEC2FEC750F9AA8638CE4079B7A6FAD96D059E8386B92F8A4D6B703F9F5BD935922D53E9C23165E6363AACB3A847AB60ECC1AEB50913B9A40EF0ACDAB9F71407222EDA16427BBE4FB9E63C2F73C4E7351EC6B7F99F3E709EBC028AC9BFE6A7D7281DD109B3E72C6A9BC439196A761FCFCB4719A47FAC01A982789A942EDC9708A6ED0220B3A4465E165493B9764AF83469AFF6955E3E1CCDFB55461203F898F9C00E2C71817C48DD71BEBE6F4F6CFA8F255C6C409796F621DD225E947FCC0B7E7989EF75097F56762C9416EEC02B551AA6C5B091607D17FE8CA167E4DB7F1AA0D50CD06F13AF15AE8CC0C3E483979AC184C9212463D258508DD450D040879EB143CDE1CE50099A3BE84CA7F99CAE611D72662F554C12119DBBC45C54519E02D49964CBA55EAE5EF1B3645B49EA60E3912E26925A3A91B762193698B18ECE8376B2723D679041DBE48B6652EBFA26F5624BC688A0CF8F895AA3C5322EEFD78B49007BC46E0A363EE2509626D8C06503DF62D853A0D", /* encrypted */ + "8884009FB6E38DB38EEF002A69C34CAC1370465517A025C139C453C487462A369665B2188B1AD1F299D16F4A9BD81EE860AFC280465FA4BD689833264195DCA03298BC3514051768216EBE3685C58C25CD6846732B545420CADDC02129AB263ED87F339E9A489A5CA55A212BA31A49D320B5E7F9E8182C8283D79C1B79D475C5DA79BBD92692E27895DE6C42729E7B0F6AA3F09E2A09CE40C60ED00F2A8FF3BAD7C82B07A350B2CDEAB1A0C264A25BB1513BAB4E3258244917BCC12D48827830D5893211A03C78DD987414D50CF9829F7AB7AD54E04C9B2DFD1AFF89EAF6AFD21374321D7F475C94F9FE23AC469405C5DB8CC99F2C451FED0E3FF122155597814029816EBDBB98574587DF17506546066DB49BA748A5723DCAC867605582FA896302A92A983709E3147ACBDAC2C5FEF2BC847FF4902F277CB1E0C9430A40B439682305B1CF8F8CAB64A9CB43C42CB4868C959A4246503EDE4A668A8413E7D799B92A7C2A6267BEC20E51EA2FED7105979435EC0E25043F8A298209A1178CFBF4BF42DB8D68A65AB45238BC98C3E1C0AD8B0C4A7A15D4653B42BE1FC4D365BAF6F9F03FCC8306BB3000B6AA2A757F302069C2516A5763B0F285AC34B1A89A9C3D4F9A2C58BA8E6167E1334E96FBCB554A492EB6D007C0B10842F440AE93C63E4BAE4CB6751AEC083DCFEA355537766FE60A69280788AEC506A7346054ADA3B91B16F095F1EAC491C19FAE0CA9EC98501930E27536FDCCD1B7BF247C918EC212FF1F4256CD0FEBC68A50BCA3E9992D7F640D26E6560A28C2641938A5B33252507B8708B1527B7370BF76DF94C94A38A69072F343CED8F1D471247B4551A3D05CDFFEA3557C0ADF3F01C6B0294FA18D6BFB9003B399798574076B8106C8A888564FB9C28CA599AF994B81FF5D5A4A2F4427B9ED1817E90D6B9D3EA77E1AE73242427C4E2526EA9C331B9617130B25ADB5AC8E42D4B2F59F5B6AD8FFBCBFD51F7C7D51BF28DF0E189FE61E7762335DA4CF88D542023FDBC3598435F1BC3977B77D89C466C5B9205E93D1D039E65770E5F279E3633CD3CBFDA0CF6E2FC6F5C7A3BD78CF0418553450AF3B5FC522D9273305DD672A2C25CB93C139E44B9D2EF8759A1A8D67E65225EF4712080BDEF46888F27C3B9CD56E0FE89A5B4864C39F627DFD00516C5FA1D74767ACDADA3993B426B8BBAC69842E95ACCBBEB2C71D22B0092D9F4EA822C978AFCEFC561D5560875447A4928A070C096C76618062EEAAB519E98E631686702FA4CF1360DF1BAD5710416B9A2511DEF06BA1071E7CF6D3316B96D16C8A4598C80E1B8567214CB4C009ABB839FD0518BF0ACBC5C619C798886774721A3C602622A426FCF484BFBBEB7A96E17FB353797193366DBD8215CFD528567FBCE86FA4B27A32B637A003E7D27E6DDB8AE5E1C41795CB8CE09476CC998080D54C12322AE7A31E8D4EB27249B0855403BFACE8561A10BA83B24BD1D4779613F7BFF0FF9549AD9B8BEB3DBAE463A785A60414A1168DC1072CD033F5F495681697238A1F7ADEAE2E49ECA338CCA0BD9DBECBF5B228F4AEB5195513EA74E4175DEDA286B1388239065F67BA2FF3F7F654730048FC8D6655F8C9F40EABFC2A3FDB10FC9DFD4D0C6ED935C4F3DFBA4794983F6E6F9BCCE898C3D02F71C0B6B3E4C2E4D4020B6C1D86D6CD23268207DE0A316445C6B0DB9CE95E6084D70B62A40BE23B45FCC0DE52EEA93924B8053EAADE59EBE86640FB08EE113520E2954542EA5D8BF4DAD87964DE18CE05D88BDB7C9729D12528EAB1D847FCE6B77A79423C69C6786A3D03D8D079BE34538BDAE0DE4FC132692D8D8443E35776AB194CC802BC93D5C61FB82AF14470FDF56C41E7CEC89B5A3B730C8FA81C362C98A501FFDFD6501FEB83740AC3035BA345023FC2348F31193CBCA5472E2055985AFC1FA08E165B2904F83F5B04CDAC8EB825BA22C93751E651D1660F6E6F3FF3EA617D3A575F3BD8A8E45D834F9950B39546390BFC7AB3E67D032FB9229DCAACD254A41F5FED8F41624D60C049F885406E72CE882895BDA3617BCE4A02D87636AD262BA20C2210B06CBB83580DCB4298A427C402402E90BDBFCE90351AA905EDBFDF9BC22E4396BA2C2E3EFEC5FF7B949D2B24ACC02C00D223851ACAE6A6856AD518C4FA563C5638408B712CC0B2539D4A1087C34E8332F2F2D9647665E75DE2763DD4A0A06AEFE202D1D8F7718E920FBBB6A031445F5711957C1FAF3B9F126C84B61EB033365AA4BB91A6BDD94A8A79261682A69BFAC61D73C6A18A702D3914930BA055A73E60BD792479617188513B7E8EA8ABBE5EAEFD1182EA2327EA62E34E2224001C70B1B7BB3FC51559D220D7EACB3537EE01B7C8D34F4C17489F0C9C51C06B2082EE938CAB81DD3B62A30DFEC15F6F30C42CFD2F6CA3D262CDA16A7F7526059FE4E033959E83B46B13E973A3A0AED50F6A4469929CA44F34BAA49C3121C999E6D85E07A49EA2838B4EAD1EC7F1BD31218C8EB7B7F5E88C3B862BCA782D3719078D48E3438E05E671E45FDE777CAE9B42209E87365FB24D1335759E430CAE18ADF23DA1F67421A10A185EEC08BD83A584582D238C08FA24017BE960C04641D1511F1841BDA8146A71CDF153EBFD1AD396B0FC4778F8DC332FB0A67B0FEDE0234F8A46F6AE14EADE6D8D444F5F89F6B795D1D336EC385FC8C4CA395664489BD99AEAFF8CFB04BC54764319D01A560E5F46D1FC9AD21D7E11F5B954F6285878612F6CF5E9E3609C567948F3AF5BD73CBEE96AF35930B157266A3E6F743BDB1204853DEB44261EEE44346BB7F04A3156480DDD7915DF8778FB69225F1E92AC587CB66F3B09FE181EF8EEF3B74915435D26F6709B513F5BA7FB5AE09AA2D9C13AF8D6DD00D37E81F929334AC023B7755247D54550CA61AFD30CB3054A566BD58D5EF56F47680F5323D6605A1E07CD25C85BF617A90D9B2EF8E92B05E33D9700CB04783B56CD0FCD16085D26A83D08408D875FB2FE45DA6E30ECD56D3DFC71A85F8F988055E92255F6EC2CC0B77477761A8D3E01E7EFAA78AE597D8D8D324FC9D745790F146C2E808F8E7C25039BCC56101796EF52DD1C21EFA7FAAE5523DAAD2A4C8AB0FA3F2849108A45BCE24D4FA6F22DD99A4319A106B91A5208C3CA5D34457325B94BB71FD3F2146ADACFFD1ED31201585E8CBCF61046B0C2A7BFDB19F03108A89C59668EC7616E4A76502FEB8039888CD008A51E9A11A9C3F0122EEBD81F4C33F2720AA9670001A47D9F3E56338BA58A16181A694009D0FCF270E96C54CE444764C185ACE335376C0A8BB26D4A186FEC8482E0CB5842B07527A4C2E1B0408E48CE965674FECFEAF1E7EDF30DD2406C2F55C3944C9E984EFB21B747CFEFB06131A5DA63984CD732A4F9008B0A2ABF88EE3C85E330EA774C7652AADCF2909C42F124702BD2AD6A68589A8553F1963A34ACA2ADFBA70E224DF68C6448B12470BD6B9C3A926C69665BA9204320278632E17CA0300C4860C5136B6C4FE1317AB73EAB446CE38F6AD90DB09FC6CACC02F346784079FD6B8950C0232B653D4CB7A0296984A2BA858718001DD791682F88D44BE07B7A4D7F2310974573ED92BA4CA2D7583E21B7C12ADBE75967797868214324691202A7B985C6640651FC729A7A9A908A00E54555E91006001A6DCC8D98BA016703B61367561EF5A8BA20058254E94F36AFF3696648622482499C5CA0BF8DC6348729AFE808EB803FDD8886461656F79D6F86020E6F97658FFB7C3BC6DFED3A097E69599CE07776FA32A82DFB3997CF3166033D34C18868CB5BE392EF537F969D8C81C3FA9FDD42C5A0CE86DA50EEE96B6E833B1C98F6D03A5CC16A5389CF19F3A139BDE5ADAA561BB755A4DE84E0C563643A096863E6EAC7A1C5E9D12B52727170326D3B4DE654D04BC80FFD01C62FAE54FAF24D418A83CE59D1AFF9CCAB07EA3BF6FB8AB4CEC9D732EAE836F1E1D0F52F741933AEAB501F4ED7A46CD7C7519102AD0D3AF668A110358C03CB3C3515981F3F7974F52D7E00793F2184CD735D75804FBE57FF6BCCB1B4F3CDB04BCFDB4F5C77FCEF57FB012CE200A667BAA0503350BE66F8C5A9EB75257E52AC0DC8D59FA7077BB7E006F65A8B3318909DCA0607AEA2B423138928F70A33E2C21BA73D0CA29ADFEED29F66E2CA8B68339F82ECBE8CC135D066FCD5FEF6EF6D6F2C92AFA03C2649A8DE40A75B58EE38B2CDF4CEAE24522443FDDFB7E7FFEC4ADF7D4796C652220A2E4310C39FC5821995D1C1BAF866D9A4719FF2596468F40F8F6EEB16B18AEF7B44B65E9B29C169DCB272F938C14B26F5FA8B8F06DEED59E595655BA03D4F3D741E34364F745B3F17E9581B964B4B481526A035A830B9838818EAF0E9BEA79BD133B61295BBA114C56F91D9396CBB923A36278DC481AF698F963BD4FBA01A2AA18396EB1BA6BE38C3B0D8E731E3D8504D51952151D8640D6C5ACB1C0E9C9E274BD5BAFA39732C58BAF65F31A9587E91DB2DE01240536313B5255E339D61BBDE1C3980BD5BF5DE3BE506C92963DE7E26515043036450C37C85A5F34AF66E97C902D6384EA809850935BAF877F7BEF8D8C538BCF84668FAA2089017762A9B0C1001F29264055B598970351644F137AE35A8749074754090AFC400A29B40686A9F0EEECCD6BFA3B6F5FD5716F26926E342972294A107546B6D253ED5297886CF7821789ACC2FDEF7B2CB8A6DC5B706A0F6CDDBC02F3DA1F332529D15BBD0B22A4F0D2AF68C125115D6F0850C11FC361073D86450730F26352F43450AD221396A1A5CDBF81B1A966B5799DD5E74FD175D1FB79A5CCEB06FFBD41419C9D0746FCA838FEDE4724B0A5D2B82155E12C9E2AFDFB92D422F778FA9935090B111621E07E03909866EC73FC65290C67465D7ECA9985C24C97D9C7ECB79BB5334A7F25792A9115BD5A47A5183DCB15BB95F7885E50F0520AAC3A6C37A9FC46DD2D9D423A995966A4FDDE1170BA3C5B3FAB6A036353DD5C112C353A5EDF09CEBC94E823CF4E261ECBC8F8AFD4B6FA88CF29AE23EC1871DBCA509191456556927AE9156CBAB41AA0C2D3DF96E34835F3450C88D940E510DCE2BFA0E989A23476B7FEFACEABF8B8FC05D19CC527ACA6A3606A2679064D9A22DF217F97C4361FF9AB36C280EC723574333729CFA0CF89B7E4923A0AB1571790627CB96D4A5B7E9DB9B0F2559D0506AD231564B1502F669A7F50F25FD034B300832DE058C67747F7E1DE93CD023C9CAC7535AF76F8352DD6EA4E277E1BF61B6B0E3780FFB6005BA38EA960EB6E0B6BE10215B86ED682FF87549AD244B8648F22A5FAADF915DDD13A19E7278F397C21BE549F6E50938F7336330C075DAB2567622958D8D63D4F28E001C42C199B92E27320BD95A5CF422710A18852165EC8FC57C5B13E5AE2826401C98742FEF481FA1EAD8D86002150A711CECCCDB3A5B6B0F5F84D24E74F4D0B879CD8E71D6FA712CDD30BF7C0C05ADC6AE96E75506E73B79FB557D2153387151B0C5B7202A2042CA7033C52633708B92CD7A9FD12709EA2EE399569577966CCEF5300B556C2ED1C46958F1751E39DB7B5A03F952F3882625EE121E2CE6426CD062CF971BEAA7993C299DB3CD59FA08C6ED9D8800DA1E0F931BA6D5404912B41261F852B589271948B11A31AE7B7236249E16E330DDFE4F617D6E438462133D3F64294D2CA3E495300D2F80E2B59C44353AEC585E4C42BADACF549BFA0C2FF2EBDD35207A9D294FF6B3FF3779A6CC915A25E47FA0A7097974986390DF28D75501AFDF5296E40E4FD1259D5F6683F915AFE3C4C42F6389917954E1CAD281985339C40A67C88E8EF116198602FF814C6ED7B509F0944BB2DBF6B6EFD3A84C07E3862F2D5AE1D3B172DF6FF4E4185BDDB1BA314A54F454D79FFA18E237D176F8CEF90E6B0C9008D6383FAAF1CAD4A0D668F02DAC1224613CB10F0ED6BAF147F0BD6F61F4126A2608F5E2E7348040AEF28170A8FFE8E26BBF6AB6D9978B61956AC71841B2CFEC4961AF60E9CBC0818EC7508BCCFA9983E111B0A7E7CABE6EAA4EA0A3D2B22CE5963BB626AD60C4136DA08ECDEDE9136539A3F41A1629A9C5E94552AECFBF48F45E2B85A6D4B1B46CD8137E6BA12A65C79491A073351D74F909E90997741C9D102B3E55E0C2F82CBC633C9421E4420E1B0F4AE4B562E65928DF5D06039786ACE7F06F59F4E8D322EF65AEF227F95567C90304896D6F6B9205C848072FF6A6C9310A6717C3F262E5152C188E3DC3B665C7AE9ECA12343317836D84D88E12C0C8C37B9A11CED7EED56B41AE751906095EBFFCDD1D6B797F2A0873E7C06135F882AC773100D431C8CE431456A11F1074C00F5974F0BAE16C8A1EF7F128024F66775576DF5D61B402B01B28AFC6BC3F68C13A6706B1E7BEDEF42485C47D60754C68919E3C39A1EA7D3AD332DE35B49403B7B28FFDD514A38196923EA8CF17F616334CB5FA28B456A31B09D4BCB0F5C77FFC9DF53F599A3AB2F9076BCBAB8A483D1D000B840DB6CE97A1AC3B225410A0480598260CC10D674D3EEEFCB5338E58A1904079F764B700A3DA39A3F13B12A1C1F55E7F3A10C24AC2E85BFA5C5CBE139E3DA7C75DF1219FC67C42ABD41DDB0AB889E2497E24C5CFBBC4CA00A2BDB4056E2AC428E3A40C8AC82C5F76C66797A8350CE4B20735C718B5849B0D482EED0BAE48785823091AEEDCADBE6C3FE3CFCB28B1B5AC5A2DF4087A9891859738297A34A5EBBC59941A343560F35D95F2653FDA704932A232912081623B402183D7AF358D127CE76CC46DFB6810ABDF215F56C3D41428799BD103E9E4F4E9A06112D2BB138940703ACB97EA6BFAFBCDE80508D205F34C5DB6922EC2052108214DA2FDCDCFEB17AAF25EA41F36CDAEC51D55825B35870D457367113B7CB57325B9A196493869D9249D89F25BBE0EE8D896C9A7C371FB589165CDCD4F948BEC7CA347D64094DDBD1D0D2361B4014B3CC94C6653C168A407BBE35B2693929102E09BBA8DA6C6DB2C0D4CABE3584DD8B404B0D94B0108F67DF17C994471357B943CC13279700AA0E58A2BAD698212E5A63D6BAE0ABD8E6A1078FD54D3B3D4479E3866F6E652BF5BDA9DF5801FD6467C0E87E7834F27CF3FA2D3BD5CDD5927EA1CF94B78C7A2E78CA47111C1F23F764368ED3D7FFE4F592EDEB44F6AC2CC1E280C93C61F4D78698FD545DF06E1FA121818C1790E774717468D4D51F57CAC2DF22D38ACE5EE72FE0DE827347FD7DF006364894C0B068B83A51584173C6C33746BE18924592228EA9B7A58D07B2780272A34C07AB1645D4F5FD2273F92344BD1F1C6A8854B58C376AFDB3C572E226E8BCF1DB705292E27834BB8F17BAC459EEEBCDEFF41B1C000ECDEFBA4C52F43FA2EA4D9572482BE60F19B5367960CF77B9A2A9B0BB49EF41B751B9AA36C3A2B099F1041A4376FB48C6C7C6A2D8E744B1D16694CBAE70240B6687F70C787DD36E34C7F2E6BE55E7A8EE23D2A650B379C4228DE067315A2393D7077732D39C5F650D3DC79C770B3D8DBB8D8B023BDC0ACAA6DA0E609698A0D41B5F3EEE25E88A68EE1214D0D1E5F0801C9F71F2EC65D01BE587D4055897FECDDAEDE8DFED4AB68E0BBF7F984C525DF6660FBCDCCD72FA3255D561EE4870FB4E365564D251F2A838C56CC290355C4F25EC1E74768352CC53001CF692B77E81B86CD4F93A86CE09F43BDED6177BFD0A042EF8CD06354CF65A7F4C861A1AAAD766FCD82C4CFA172379615C19B6A92D79806A2CE0E6884A9FFC698E0F8E12CB25758EC36F4845307F20231FADDC95337AD1282B6C86A8C5F99748036B46D05B4E2B72DED255EAF775F0F7757820D23A1B7F48D9D573BB5A347307FC363000994E00E8866E4E7911EF21C4EA9D59169402EEDBFF64D1D785B9BD6E5212CE9F0B4AA2AC5D771F373E84A09F5DEF81A7F8327846669B17847BD4C5CF3A5F62C2F358712FE93C643903405F745D4156A16DBBDFFBCCB095AF6E7E297C9A391426B93F145A291F44786619EE415A9A8EDE82409D01B740E36C0A6E4090229612D180D56EFF8BB8662EAA51023E081F6B3C4AE517B861C847B1BD3D3EECD8E705CED2E52826A69753A2D2DE9477F0A8B8077F79F0887036A7F088A5BAB048AF5A609BEB0EFEC6173D6A1F2C96D5A57FD396CCC6806D6113DD2F153969693228C4A1A2467DB19CBBF56F2BF63A82DFBFD10A2FE4DBE32DB5970F81B711987DAF8ED4E7C6852B3A7F72964DDC892347B0E56FFB08A2470A744736A9934F2B8AEFA319E75478BE95A706A8EB8FC7A3907AA81405822C8647A1B5CC8F635559BE35DF81F0F934E6A353DA84546013E0FBAFB4F71837DBF29A6F40D0A88D22CA001FB1DA538E12390084E4AECD62A707261FAA43E5521C2C0D3B6E0728BCEEF5ECDD7D4EEDF37757F12A1D4447AB4EBFBB13C2D180BCCD32CA187E0BB9DFBE0F50CE0C021B654D5156756F98769F2A761809A53166C83E3834328737FC1B9DBC98F415605F0846FC657B2493C5F24C31CB120AA997E92318645023FB25AE84063C056A378F91164208DC72C331A239AE9353D63319FCED19BD40CABD0989EA3F04C315833518A2C191B1BC4A6D76D17C561188998C74444D3A93F6F320115529CB7E76050A755F3077571D172DD3019C98EE35B9B7D32FB42EF56FF986AFCCDF260D5E55C6142DA30C68F15E4CE8CB3AAB703439059C692D93590217C8C8B7E2EC754DB341E85CBCF988068BA06540D090DFA002FB61ABE75BF679D30253EDEA92FF0F179349FB461586293BAE1FB56C904819B438C028224C9B5A8E47FD496320DF4D3855FEDCA7E456543FF166A1E3AA42BBD08FDF4A53AC1840069A3D4EB61C8B688DC2E8DAD335AABAF967F4CDADE343C4C7F653D3530B82482A7A12A6575255052526E482F7274E5C9095C6DE66347591EEF3DB9B3904EB5EF200175B33C73DC5B40D3A84D627F791E909B8D802D97EFAA9B73577AF514B4E3C4217E5461BEEE6E47612770DAF86428307FCA009819F37F19A46258477E783A4C69A548EC20367F0949236147078E3E35906262BFBFF2F56F1C6F6C339925AE48D882336D39AF80AEA71B160B295EF69D17ABB374FCBD55732C7AC71CA1FDDA2E554681C7DDA2EB7B5D53BA345CA3EE95ECF729618CC8D83FAE69BBAAFF5562443BE0B1BFCA0D9A8EF7755F6C9ED13B9C67DFD7AAD699F0CDB3E68882BBCA953370720824CB5E17013E5A40E1E8803E6EECF7B46C5B4565FDF567E0F698DD4610E3D15E7E4C317FF8FF9F0759A2EFB7C7CDD075298E398499756310FCB6748422D5B85F01FC335182278CEEF9E19E26B02FF468CAD2B72DFB9B4905D9467A023028D959F834F09E3898153D43373DBF62DE46B43FB4C305FC63F213F8E21B07B1AC0DBA29635778D474F46C42FEEDD2BC954A0C13F688308702E68BCDF543915734C8DD02AE7F084B04ECE685F500B2B740A206DF303665A59DEB0CD03894CBA82FF18C367A758593C23DBB734F92E7D6EEFAC04FC96D7A7CACA92F8CC0E7EE34FD8B75EB8630759D3ED38C207D7C714EF630376662628B86D3A21609378B4A659FC49E7DA5EA138D3EDDD6A14963075632EBDD51D8A1E3FD9AB07F1624ADEB3237D4D40FAD66BA0949A8CC042CF866A7FEB194CCAF9F45359A03FAEE1814663039BE47574B39D3F1C5041391FB70550DC4480B69D06EB52C40400803F64A5579B5924896DD973C2D0DF9C014550E918C8E3965CAFECC9F86E8354F3FBC485422FD9ADBEA96AE647440267478175667BE04D04DD6A15CAF92F5B5029ED83C5DA236338DD705F4C5A86A0AD556B871AE12CE9184B7E6ED85FA2865C645A917E64CBE281F828E6FCFF0252B1286A1BFA2B3A988219EED2BD9E4CBA5CAB8DFF40351309D55A28923D3B11145579D5F84FD173096F998559D9F277395DD490F143DB3392EA407BD0C74DD7C58CAF2465FE52CF1E942C71E08867B7EB1F5296A4742E8FA9A5D30A1C51A4357850ACDB44D8A4BE1E4C46CF4DB29EDDF6716057C41483B80BC1949E65C605B07EF57E2E3E2AB540667890FF8B3C019F8941D1761592477374B9874F0C325D38C75B4D28D75896339A5D12351147B6E841FD43C95DCBCD62185B822A13F2D1C7C3C765EDC5FB7C152B5A6559E416A66F68AA6F7D7FBD6BE7AC813507A5A0A27E69A7D5D5BBB5A98434582B64519FD727E72E52DFC7C9A2049B865316E8AAC2AE86E5C6C81EE76A3DC8A7313781945007E2FCC203C6B7A50C080CC75710D5FE8A09047326CE4BDF59F2D8AFFFFF85C2E19558F165AD2EF6376F9561E03273CDF3D14CCE9FFBED15D6AE1FB10F22B33C3EC6DCD8391F20ABD59959860C86ADE2929DCC85DC07F60D22C674177861D3BDAD60CA65B3CE3A6FF739978A5EEF39713EA1B8C96F51A9607CDC6B92365FD7DF6E053FC2074FD16C2766987F4B6948B450B5A9D756E3D602B9E9F2C7D2DE51F0F2909247E3A5392ACDCFCA155F2B63D08A06642BC83C8406CD6C775E9C8E770855F620B14F3F6D1501DB8ED2D797DFBB0F3665E116196DBDF86B8E8256AE979B72A30FFADDC9F8955A02ABB55AEC12843694999C8E775AAE3A018E555B7CB3C25D4699E7DEAD1D5FD9DA0F3F53929B1FB53951114DA28A4A0BF5DFE4182AF3C09045A67E6A86C861D9807CA1D57D3D65EAB3BF02FC384426E8E6EB531E9E2A3A2B888145680F0A5FC4E44E60F94A67E824431D2E63A5E283DAA4B7145E7333CDA74038329DA56FA36D1C72225981AD57EBE434FDFC0009F6BA8FB1FBA3E9D5D1E6F0A03E589259105504A5B1F2BB4C612B99467C88FCC7E8DA32FD2BBD6D13DD9177CC2AB73734C81C26E6C7D79A9AA8FBDA5DB2995E108B9020B96E80AD5686B20E1F0FFB627438958AB98753659F7D4CA3A05887FCEE6BD1C4597C65FEAF92A2CB523977C7CD1E9FBA95EE6D9CD52A5021E0B3139B68BB1D3AC82F31C8ED9F8241F903A182CD7E06F7F53DA057156F66541E0DBA429E58C6310E0FAAEC89FA2D19E08F12C601B91E03E2470C5D0A95329F4F1D7E61E1F3090D8550664A7C89B240240A29CF9F1A7120502E679C705825A3825BA8872A70F1C7A77F5E949805FB23BE80035E439EE50A694D95B42D452DCDCABB5E57839AA764C26D18E8E9A77C707674E804DEDE78A4E34D60288710B6FC899754DC476B3C075F8E251E588C61FB18677B59E6307D17652868FA00223F78796DBA8544E81C8B87B5A93BE57013B4B530B289A08A15B48CEB78C932976A7650A55F2B2D4F17E9150F016E32AC51DFD5D2F96089EB901CE58159B380ED16876FCC60CDC2CBD8FD46703B431D0696EDDEAEE9CDA42D104779B7340CC3E8AF108500A52155CB7E2CEF242B9F57E9DEF27F15296EFA9DE35CE8BE22D9599370B17C14FF99E6CA787D1D240E91F93159929D588C61706DBE3347A1B217246355E1BB7EFDE7C07B8E7856D724CC243FA0224E5CD81624AC7969DE805BC946576687CCA5D760CA5AF718DC295D09938A0EAF560723B46F9979821F1BE486DDE274E4686454F64955CEAF1AD4251D537198487926FC45D7C472F6660055F236DE268EBDBD2D5D7F39757E514752DCBD8567EDF6FB30639A59E2F09B9A8C337E3F7E4B702BCF117F2DF698EBA034EDA3D3F1F675D46374A735131D47ACB00DC11A9CA7325FD39F4AEFC6C8F46F88680F8A03AAF3D0F4256737569C450524044DF25B7258E5DA7689CE6C96D3D69540C96DB2B5B3DB8774F07FD265408C3F5EEDD5EAC5690612AD15B176B12D6AB67112136090A3BB05FEADF591EE3D618EECB5D8F8CAA97A81CFED15B3C8DC6E5BCB13117A5A69350F82409BBB61B887710BA0D7D55AED9C3373A65789FC826427739F643A517A1D5D17231D17132C146FFBD9833B4C0C88D5310038881BD9B52F55D81EA3EFE5F190D2759988532887329F4AB3E216880E819BC2FCC3C27DACF5458A6432A1C67618B5393A2101D9175AABBC7D78DFEA8B3AAC3FE56222D8B359B5DDE8B3B43C2C5E6007609821EA285DB2D57C7D1E406A80F5369FE5DDC2B20C4577B949C69452880515BAA1CDCBA8FDFF676DD8951068B6160F2CE543520A7EDD61A00106741038B4362D4DAF8437703483EC773FEE0556D0337E7F6CDCB8C0A00E183969CFF60AFC4E6E4283F73A0C60C3076227FD608EB27F2D6DB6CFD3E48134EC6CB28D1F079DBF709247C0261584AC7B0A1BA6C6772677BF55D83DA2F7E1DA49DD08A9C505EF7974F824732A7F332CCECE3F9116F6F4B71A082A66A402FCD0395B230D040A6571DAF46B54A06108CA16142B1C3728424BCD0AF78926DCA8D38BC116B4D090CED6A7ED5DFDD200010CA95A30A21F5ABDB0D3DFA66831BEA86BB421892FFB47DEC2ADD92969EC084CB88B892BABB0A2D42DB1B39CC7C9E6C924451319EFC2DF41E438C1BA2FFC1ED2F47141D81606262A4E84A84DAF1FEF503AB21AD6F60F4C3D7531C67677ACB49A61C64FECB814B7538058F74CA895C312C2817A537F79CE09A82F64D98E2F4A7F3CAF5F2945701534FC0F90BA516C9BA767A7F2FEB27C33B6865ED77BB584D2619C69F8906C41B2172D9A9D7BA4C4B6FF0D2270E9F6F4E34C66559EA0385CA70B26E31D819972028255423EF0BD26BD016FE199C0E74DAC3317679D9CB0599AF4BB6AA979719EDFB38BBF2330C2F012961809FF18609DCF08636388389A16E939A6D1E56D75565309813D5C0F5B4B41AAB65AB9D3D0FE81A4B2A6D098B03071C6C24003CC3C9A46403D2E239CFA95872ECB00C404779F411CDE44C88B8B9C6D4E6C6FF5D786FC411B353693A2FE00A65CD61F57A6AA4C69FD77272E5E0E5B2932A66F74C8399D8E15FCB4F2EFE1F6D4B1580ACE7D30024CE1B1F1D25AD321364C0344F7AB74630C62F7F8305490CC4AB4565B943761488343BBC76B8A1391B76FAB80FD0F0B6BCE5176326F764441EE6947B6B024EC255159CCF310CBD46889245A9F1AE10490FDADF6966CC3E8372F778D5DB1E385C9C4046B42CBB56595B84E77F34D34137A68EEFAEEAB89DC4EB3B690F6CC69D9BEA49AE82C93CB0AAE1C078C82FF85CABDBD4B6818C8D44579C41247F64E7EA4ADF2A1814B6A855D2CD21E721E7724FEA8008F15570FBD218A04F2D9A761DFD43EB7CAEA5005BC7F60A43171DCD6A1FCE10B19A180BF89A271D7ABFA2C90A079BA37289AB5F44434561318EE145657345F5DCEA0294110A653E5EC0C4ECA13ACDB9AED148BB87F3038741CC6F077493F884AE66D67B93AD5B2DD24C5E470ADDC63A700C071CF303362AD1572F79AF876F4324664679D58A07B195E4C6D407086127DC2571008BCDFFEE6C30E07DBEBC4EFACDC818239372449FD75B19090294ED0232C48B5413136547F5C292C04D109479EE258C793DF2BECB84D1FD1150F369DC0E4C3649B4951030980C0DB2DB05B6E5F21784CBE6610FC0C44E0D2DDB61E524E813717E49D8568E4502F8883B928BE3DD58C57F67CF2D1900C7E548913D778DB9080E67507470DDF4EC25FA256553C66A8DF1DEEC31FA9DE913D798F17D0194ABB13E592C494C8A8B556888E627E262DE791B039270BAEE65D22BA1294884CD907324AC528B2CA3C95724A855ED5E1D0D6419C295FD19E209DE26B8D98C78BE6EA304D3AA96F799C4970F56C0517E824256C60785DFF85655DA5979D0C22D7B2612550A8B7EDD15414F3E5145273E0D6B2285E67E9987B94DDDBF1070D7A98D5BB3A0EF510262F8FC252DAB438DFC0E50247854D4E64A0E027687B5A0F460F23659CF55B721EFA45A30CF750ABB5ADC6DB365BCD2B83217BAFE7AFE280195DFFEF651775A16D302246A8107CC4BAA36F620814639578A3477CEC71AA26E0BAC9917C584896B060526862C2F9AA14C13B4DB5D623150E8462D1A7BD5215B24B85180FB3DF4573F9732886942B1EAA26FD847EA633CAC9A1E6B5E8BB1BB61EEBE6E92CCB0432A4F5E63283658EB8551985F4D77FC595B834263C265F2413746A9AC3588740990D8A6684FB39C33600C044DF17F57509EDF729BA8928BC031116359CA26825353780EF3099E786C50A8CDD684EEFF43070F82C5DEAE1B768B6B53897FE22494787986B25DEC4315FA6A902FB2655D356CDA5639D4F12DED268F7268200A8EE59C150F51C96F8CC70A45CAC9FA215D5BFE29BA6277A4A2B9E2570F7D4440EF29D7C6026AB911DE2134A25F1372915FB6D1F0FE26840BFC3F4CBD3782F3BCD8DAAFC80443CFF32D9A2A936EC92AA90A3E4E6F7F173BE6B7E38B86D4D218B9EF3F7E298A2EF554A43ED57B936D4774EA976F790BB0080E52F67447FBA8267E596E8BCF334FDF3417A55C86652C5B9A972310906F56CD39713D232ED425DCC5827AA5A8A50BDBE57F65F3A3C7BE392889B93172F4DFDD3EA338EC6BF5ECFFAC0B31DBD8C88D12ED14D5DEA2A941E7886E9A5E0C4F6FADB940CFE7FB51C2314E7F2F3E22FF49BA2471BA762375E02F8F70F425850EDA4E658ECAF79595E482E40BFFBBA56BC10FBB018F4F31274799C660C93FEB5376516C1CFD89A12AC80333A62B33A7251FB12DA596FE361968C6DF55A23028595317B39F4CCFE29D91A07A1CD8E9F41C8450D1985BCC215C3DFEB65F61936EC23022861BDF9E8FD021558B4D608B887C42DB428CABFFEB3A30385C73F3707D81D06CBFED49E7C540C469A23D591AF55A446E96A78774EC0EDF009C6CD829072E1E47D0436F1105A5E760D31ADEC0DC229BA1FD788612D54B9B39B3B9AFC26A3F5DCAD48693609139A1682608DC312CE63B36B0248377ED0EEC85A524026D0DA779BC37E9E50FDF1E1C80E4CD8A0600D45D2A510E57D084591901B1637CAE9F65DDD452C3645738FE2242FD52C22BD5FBBF8B42B39E6FA32D64D303D4B6A2A931040066A5661BF6C7E8D498F4F13AD023EBCE7EC33999F6A8B50F7FAC0D93EC7D349625AE0D4D241520E85F882029497BF8AE1CAC532AFF1FCEC8B4A47A03C3B9B5C403AAD55DC80CA5F4EC6EE70C2C1501D9C040DC3B633E51993CA7234AC83F12044DC4DE2B46CF83D5E22F4C4DA2454B8CA6A40EBB0F768E728834A2D4A784369617E64B088DCFDF98DF87A506B36D3A21BDB4ABB45BCD51B1663910870651A63F52C8B0174FE6229183C26ACD98AEF5A47C9892CF77073FF3E84C4A07F9AC58C3AA3EF7919721201970E3E71FBE7502185AB94E60F64A9046C07D13E567B1FA50740BF4B4B3DAE95C3AF957FB297C87AF265B24D44A796BF26C9A230D44B99FC3738D0B37941F9995F299574ED9A5536FA1FB429D978291A99F6E864779193157627B72C71B18DA1CC9A3C121E527A8F9D24ECD719A5F86AC9C19ADF070F9A95945D968F47644F6B13DD5A8A63A5EC11D315CA8C50C85B951CB7E4181D599197AA1DC20E071CD50CF2E876A5B5B456D510AAE5E649AEAE8D660E0F12170B86D97712297B08400083E10566FCC02687C6DA592AC97F2715D0EF1501D6CAE65C26D5E863F0C8EEC7BE9963946922359BF8DB0F576BB9466868FB0EBFC05593247DCFAA4FD7090FC422E569551089201D20946F2DBAF1C7880CA65FFC07F5647F63C75B5E26ECECA6041D69A24FEB0365FC79CB5F07875434129583607724268A72F257633C2AB547C7B1CFA03794B38855EE3F538109BC9212114C93B1EF52C12CF580168514DB1A1EDAC201474FFAEC043C0128C0B293EA7594522170D4A09CEFBA46E8A8FB12F25F0F2CEA7BF98E5BDB1FF476AF6E50B9D71BD908E6CD6EB060D30AF152D622EF49D27E026EE87766A96D41436DD5FD8C90D09A38BFB29A53DAA413FE17378FD88C3B63ABA80EA203CFB5ACFFA6025FD2165714247AA471AA4212451667D1D131CBBCEC676DFF123A3F3E04EBAC742CC6FDBD2B4FA5621D2B2CE38486BE29A524219127454F2F0A3CE305B2D1892705FAB82CF475F2B5403BF581B2F445C3ECF57D6F0CAF3E8670B500A13DF353C1869B994185560C374609A805CE472366D7335F8E1E16541554DB3293FC3720AA48FDA621CBCFAB80B5DCCE5DD5C9D15C4CFC8E45322FC472C26353033F8570BB77A0CC7611797D5E00063CBE2E92DEACF749B89CD84D0CE01C55331BFBD57283DE3ACFB2C5B4E62B925645A73A46C13142E71AF6E5A2246430416483C647B82BBFDE10536DAEBE95DCBBF5012F5D78747A000D51D829BF313163DAB8447FE0E49D97C2F013A9D0ED7F75655B16AF04D8894B5AD82B6221D66C85A00B0F0FA8A554869AC4EB6F06667D5063E81B271A32C7366C60E753BBC3FEDF90DC0791A2848B2EA3D52466443B6673439481BEA4BCA0EE2262A7142A30E94A6445CD07DFDDCE3E2E205D1B8C583EB9D2A1831D8F54D47DCC88B8F34798DD0A3BD9B5E35774347391EE009AFB43D968D877BA6B9A0E086485E316F3EB9DCE27B6575039FE8E607AA3A2A9A0B970421AE58CA3FB745E6B3EF923DB04E32F9AD4F77869D7587DB6F8D2A1379B301053DD1C5C0F00A5280D2FD834EB1DBD200D590F062F9585AAD728C878B18EC6DEBCD58D632DC30273F16E766519ADC4C2CD08DD25CD5338CBFFFEA95E97D9BBEA61474CD22EC1A0333B68337F97659F54D87C37F4378D392E36C55C8E1D22AB5F8FD952305D8CB40C0517C6E7389FA2ACD6BCA5E738237752D58917F44BD5B74C7058D4CBDA49B406FC9944CA09848BD41470638DC6E30CFEE67D93DAB3C5501E81110BC02F3E4715D58BB6894C5A16EE79806AE9690B625188BFA7846CE35432401CD8F63FAA297D8AF54FC7DC728FD4069FE9EF6139A5EA5143F5888C1B8F144C55892815F8A90E9A27E779D21973F4187E81CF682EE3B49C342D7A7E82F505D5581A8749E53B73126542782B8402A9D824A8356F9CF2854755EF838D3F5136D05AD0194F88DCA47A17141B73A9E004CE3900D9A038BF86E05E00D4C8B3899C0E1150865F8B7F343766DA82B962F46D9E949CCD322EFDBEA739E2299EFEACDA42F23FB4982CBF6B743B861F78A39FA6F6A4602D7961E1A4E3BA7B763BE7E7B4224B11593D020CE781DDFCCC2DECCD8C762EF8163D14FEA3CC964BD607350B1F60DD47F47D2B23D0866830B8B4C3E6EA2D8CA3444B6C29747BE939686CED2D6E5E8841E966CE50365E9FB98F18ACCF9621E46DACD11B33EE11F03380CE641CEA7140C5E01F2F71026AEDB43DE5BD8A621518F5B6FE74230D46CB5EB8581868BFE54A3238CA9628BBB28C13C91F7D62CBA1EC0FF44BE294E9A99612BA8C2BB62AB19718CB4C264E72D85A1EDD638DDFE599D3342A8E25DC7CB0C2863EEDF484E2D5BE6D1736AC286B2ACC10117653C13F9C028D1DB28A944DE4BB3C1DC51367155ACFC8C57B2ECB313112161D6F3C6E6EB00430FB97A0E0653234E52969754B8DA89EB7C695C86B588E082C330B0C8D0F532B59601C2868DA96F27931EC4CD9DC5AB92A90617A2AF8FE2B8A7CABB1588A782E95E6CB6DC31E3A668019986B410BF9AC5650CB4CF58BA1F0FCC1418B44A711D264D909A27C3B48588AAAB6ABB6BB7C6EF22F4B72E4C1D87B4AE57C2E10E15889E76988740F87B2346994D530A56113DEB826C092B58C8E75F809577B58C5905137E93F4EA5F2915C7E245A08E5299966F70ACA158FBE9D6E17BB809750C6BC1367C148B314B34582EBAD2F61AD05C656F596B497105FA34C68EB79119EA3D2D9524303175E5000186CCE66B8185246B30F8DA26AB6063A1C924A702F0C06A9C7583F2EFBF5EF4B0B9EBBF28DFFD7075A44C93068F56516C059BCAB49481F644B853340D5D0238CD23564AECAC2B0E629D73CD031E0FB42E2EC5596DA20D9E606A4AA51B441EA340006C9A4F1260F6A2C88B7FE25E0091AF2BF155057C8C9E3E775B090AB9959B52DAADADC7F8909EAFB2BE5BBA036D68B30ECA17B50E9722D93931F34CB7DCC120FF13032EE59A297680FB3A834633600D885E747C4023A1C304B8D6DF1F53CDF108779795513B30ECCA966B5923183BC8EE28B5C1C5B2A321706A4A6986861EBC510E1B4756EAAD121FF700D973451C2507E37ED2BB3E1F386B8075369C76AB710BAEA03222CB886CD49137D17D80A2010BA5E4333E56C265AC5EF778717D69CDE05AF8C7A002A485CE8F23AD2C0C6CC241551B4FED1E7C67CEFBF50E088DEA1663A1E4E3C859977F0F41C71F652E111ABF324C89433EADCF37362E05795252A146BFBC9F72B83FDE4D3ED7F3F0E611C36B1DFF5164A5E0013769D266FE7AAF588B8B7B64723E90F4B16BF461735539401E9878A792F6CA941FF4D01C486EEFD13BC44EF3C18D4736FDA2C51574F0A0F5CA012187C2BB4C18670B56C0D62574EF67480155585B788C2398F8AC22A3D4C02D8EE1BFC34514224C0151B17E88AAACF386073E56A0A313750036CC8C5C2967ECEB6137995A6415D0D7BB4534A21CB95F8033DB45D124FEE4242C3F41C4D5409C90C2CF3727239ED6F0D62D1568F76D4CDA8C0B6199E58A4F198D218FBCFB4E249D8225FE918B8ADBEF399BC815B992D3F4253127045C18BC2C031F8E250E2D942EFAA5871B06514221D54B88392B5BBC2A85DB32C93C2004D1AD7DDD36FE61902F7E1689EA269AC24073F00599861FA4B563393797365BE8EC97CE86CE5E4E9FD8304A0C5CC1AD81AB8B8A1BFBDADC23E49E3AB3BEA3AA2392ABB6014E1144B2D38B0D441727E3D5028E3D19D8339EC29F52144A4FE563B0A53FAD2C48F1A8CCD1B3F9E863A801BBFBEE1F2299449777E61087021311926631064671A5D6F47B31C83035D3AF9385F7F6C20D0B3223621E2C33D008DA6997CA266A49E4BB6E1743F157E8CDA2FB4DB311D2BDFB7C7D33A443588A15DCDAB470FF1B5897286C1A759A15B2EAA86CBBE809A3866487834386A99FD2A58698BFC9348429170259D9F87B1B026CBB6C0E4915F34929D508057AB89B279441F4277E999B39FD0B044ADC46D4E007BF4BA7F29F56BB165DFCE7BD12ABCC6F2EB65E0EBE29A0E1E5A2D172A0783AF64B26F8D5045D2B2B64599A074C88684CE121176561DCDBFBE7897720FC366FB98AD117E19EF906380726F4D26A9E5DED4CAC1CDA4E016CC84BBE7A6869CC7B9FFD230F26BB0E7159D732DBDBAAA525305768874B0C2435A6EB638AD95A6573ACB2D96BA533CD911A58897E017F76C60AFEEEFD330BA514F3CE064BE1F7B356DAC752C93D0DED32EB7A70D795B9463A9F250D156A1E2200C586E4096E4BB6D5A61900879EBAA5209B503FA15AD07CF7966BB9A9E698FDF77FD067BB387C0716D90684C54E8B9CE6C28496D630D4A02B57517749BEE5B455948D2A3E1DCCB7D7AD0C79CD0083D4449F96C245B45FEB3657A3FC53C469DA3DBE813F08861090D5458D9D1887389CDAAD524619A0DB30231FBC2E6F31264B726EBA62A462060F3AAE921C1FBA9F468D2FFD58258C3ADDFB4A5D7CEFE00ECF89F557316D608843913BB7B0C078921C45CA19FD1282103F9514C1AF56C150575515A733300AC5E532E49B5644C93A6FADAA6EEE9080D05E0AEFF5E84EF71FDCB8B3512C8F6BA6E8320C2A7300C0753300CB3FBAA98076C8D91EB056D0075E4B000FBC819BE008DF9AE8C178D7001D9BAAD8F22E0184164A49C68D67AF50973CC60BBFCA038BA75BC9DA43EC540613E98BA0960637C4BE080482CDC189611B2B33CBB396A79B91B9D280C5BD6142B164E8238FCC5EF041AE5F7B2077781BF0C2D819B767B6E4C6C8908F4425D8A92D272C7FFE922B0EE7605B664464A7FD8679E498CC9FB4CAEF7F5F630B41302911019FC1536ACFA83B86B15C9A21E59142AAA0FE25586A8729FCAD7E6877005AFBE1CE0232C5A50873097EB9E5913D6AAB3345FBCA5F02C0FEECCBE51B1CFF98ACF93163B83679EF0C78C5C7FF31E083ED9E53836B796E3200DE9EE46B709C7C18BF80BC7312B56593EE83ACCD4201A362CC6EA73A433D91C50178391E4F3F69C2F9E08C01C091584D1F8202BBD8649B7CD7547F1DC1D3E6C54D50894A364E42373D8723C54EA82C7030F0E3F471E736F8D0AAC5F5BB482856476CBB90AC63CDB068F4CECE0F303C6813AE357DDABDD66924509830D8B001FEC09B2F9A0CB04926EFDDEA0366704E537AEA61473E402341358E7562CA405F610E2ADBC92CED229A7300790919CBF873E59101EBBD56B9419A58EFF272C2C36867934745A70728ADE4E16846F08197EDDC1687B19E865645528A79782119306730C27AEFD4D61299555FB06B06C984C2F1BC5D88AD271C98C3B1F2C45988EC146B75569B779E27B149A80ECA90294916C3C5E3720A7E22D56200821790375B67E934892AE5005E689670FD45AD34B57738161FE136F6D212DEE7D2DBC069C9F15FED605201131F37EDE139DFDB4CC2DBA77E142AB263328E66FDEEAD282733E1EAB2A94B9053CDA43F03C6A757434707EC6CDD685E783785272500EB2E311D68198AF45B27DEED21EB360CDB151E3F0B9920DE4EE40E440ECC4E8347F1893553232F5F6942EE0455B4E7B18099546F1FD99F69D1AAE0060B504FDF4730431DBCFFF6D25E6DEF090EF80F0D12BCE52737604D0F22746B514549DE9EA41DE56F35DDCE759E306C7C2B2648CF08B49B455341AD45690C62950B47EB73FD2E4F4FE852C5B800DF6A14250111EAC3EE60A47B97772416BC0C3F7D097A5342607382CBE472647A0E16D8505603C1804E4E1DFE04C67CB2BCA25E3FA9DBD983691678413D8FDD091617174802B8D4EC0CC08F1147FB501DC64A43C6EB55A81D36B77012BBC51685F93F1B6BA89EFC84B728981AF2BB1304D8DA220EB64D2C756DFF9065E4ABFC6E208609A0BB3037D8A0CDBF439AA7BF5B547C863286C1925671B445DA93A716D9CD9220CC32FCD22395B1030771D2A0CB6124C675B67F20B5551E892C30C508104ED50D4F0EEA4B76DC05E8C1F1BB7C325A9EEC45FA2E30AE5277AC6FDDB80AA940C98574CA5D78676B00AC1097F5F61F9BD0C6975D02DDBA21C3DAD284D2349B43F851893C36DCD018355C9DA22A3EEE044171788203E88AE4CD285597EC4AA1C0EC8457E94B4A78E16BE1954F1461DEB3A84F6FC14ACD21422912A256EFC1923F2ABC7A795B1A3FE1476E67238D46F79E856AFA97CABC4BD46C908C7A3B03C5F8A4956ADFF5DD6DFD92D9B1C8B1A0C6D82140351DF539E480B4AB79719EECD5DA35CB4EA177E91865FB0DDA544B49F87F006BC243D43FA9185131DDA208568937CB5F32AA817297EAA88B9E4E398DE2DE5106DF5E8D0EA697E054E62B410D3079C740AE6A8AA2CDEE77FCD9C82AF24C7068A6E604734AD6963272949856170A4C5A1A3DFEE3B0680E7BC82BF04DEF60BDA237089019B030F81D862E3C98459306B3E20AC005CC4059311DF7C46EC041B98B6315BAE32BE31A1EB7760605915F057B210D81E973655F2D9261B3AC213BFC3965B22D990A2F5CC63DBCAAA27E67CD763CE03E3C71CDEC73CF755318970DC9DB5B4B105857AD3AD46C899BDFBFC44AD12ED1EF13E720CAD6316C3F4B04F992B6A5A5AC8830450A947BFB83E96375FCA487B509C09E4C8CF897FA1B83CAB5EC40208C2A430CBDFC7A77D6883D74AA37EAD74EB411767E80937538D9AE222C010AD8AE30E3A1EF9C151C6610C0D3ECA892D13B8B9D88F0E1AD11213CD313EA5B65045FCD7C4AADF45440FA7586E515530B1CAD44F7F27B6E9E9CFAFD5D68431FD03F5E57F87FD5C90827920CFF83242A8AF16307CB4A004FD5ABF5BFEFE5A24AF3B5C02D928F157142273B534FA3FB87812AD30DCA816439F8FF0E57B86985E2CC175D307E21BA9238CAAAE9302BD85EABC0E0CC2F403F78B643E4EB499306D0904B607A2B1C9718417A4E4EB58AB98ED030AACA8A3C370E5CA35D6B17FCFF2E5C7870704B966D66DBF2C8BB116C18BD6C45674B586AFE6E6933B2930524A33FA7C4FD4F53833C7940FFACFED169BCDF633616D857BC2012FDCD71C7CF5EDAF0F134FC403FEF7DA75E4DDE33D0D51B8CD1EE1E9E9198251B4A2DE186ED0BF928995A1831AEA77F7C33858EAE07EC97555036418E6840544309DEDE065D145371E112348F7C5EE1A8F0EAB2425536E82D924B17C18C1960789CA00B18E2026919685932C5D5FD0AFB36DADF5B4A4B4C3D3ABCE19A6A1BCB9C40D695FB2032630ED48B4AFBD47C31B67EB44D58252819468888CB5EE72A7F83877F8B819367B28911ED66DDBF2690532E35EFD0AB2CB7092A07EE6EA330B447D489B0041ACC4F698BA316E73B94C9F37FE96CD26A7B88A269398D5EC881FFF05E5690D9F019A2A215F1CE4D593F9E7445065D5A7E8A4F4556DFEF564506C1732D598CD9582FFF6DC25257CC780C29E95EFC772F7A624A20C7861DE8A07309882A6AF22F1255FBBFD895FD62BF87A6F2359A04F4377626E91F0EB5F6755DDDD965E5074A9C9EABAD86096147A590E5DD2D7E25635706EAF1B1FC83A3312BD5F247E0E7A543D12AB250C09F8BC394DF939036E04CFF1C8D5DD3169768A3FB3B79D4853C055008FFDFD401CEAF47284897719006F81ABB8F699F343263849A59FB2E1BE3D30AEB7B3CF5CB6139F4A65C6B41EE377397C5B9458A03BBF6E2AACB0AE83E79F7D7C4CCA1455F402E81080C82A967CE17A60EF62AB90931B1B0395590FBE7719C814B7A6D969E9CFDF8C6F2ECA0434C117D66EA0E306E200CB88F88591F7500FBA7972AD4C82633EB5BB776AF4DA7ECB2629EE72C79F01B475E6E018186A99C76B90BCCDC2E8156595EBCC94AC05DB09E19F740DBB96A9DE012C972C2924B7AE297EBBE640A81A814B99B3EAEBDE4F7330468892A83B9B3890A64EEEF0AA094DA9BAD9BD38669426FF5002CB24EAE67F77E710D1841E4276684A291711CC1047075D62A1E241E46D0C6E91FF6FF206180C9C743069030A400ECBCDAEDD69F84EDEFF27088C806FA9DEB1794672BAE7BDB6DDEB5D040D0FAD711A8D9AE3F6102A8D85558E74FDDF0998B72ECC16B4066AED6756AB8DF7FF9F98A3F81B89FCBB24A2BC5941793166D81C0E8A51D0232D8597A9A9276E1D4D08E8FC201F9B2400F80EBE91C5631740395F9DE08FD9543CC31CC4773E49BB8C7C63668603717845F353E568B63B906169CC1DA2A5658E0C87C5169D4BA5E7F295EC7A394D2F47FF8E3F86FE16C91AAE92BF44570E4D1976AF4EF191BB098EBF5E0B8323176D637328553D2038064456CF38FF4BF1847A67042DD64DD266F6793EB654D64EB6DC7B378DE6C107C39BEE5075A7CB8CEBABD1C34EBF143EBD77621764B4346D56C0FAD11CFB4C8D1999E48DF967756DFFA26B7686DD6E8F476F08AD10DAAD0E3EAC41BAAB2ECC3C9C49791AA9AEFB4FD38A50E6A6458EED8B838616FB3B8F9F0434E5C35612681C6FFDCAA59ADE5EE63DB1BAF35C71B1C597ECF1807DA88AA203D3313DACF8D8FE2D9824CF930B07ABA2AD65130BA90D7B8819E36B02A9BAC9B18FDE14083DA886CE0096DCE1948D31400F6CE3150802F423546D712DEA26A99A15D28EA14F1F97467061B5113AA4ECB2A46018B56AD9C09B80D644B8E9A351D85DEA78B23C1AA3FA5F654709F32E70FA3FBD4CC7F76D758F6BF72BE5A89E4B7BC97055A4B3BD142DF7D579A6AB5E701E1E149FC5B4DF7CD0C6AD94DC8638B7B8AEFBD12023EA077E5F5D93BCD101194CB88A79B0CA36D5CCD08BF734395EBF4DC063C8A683F3496FD902143CB754195A5358056DC9CDC89C09A5727A5FB1A5EDF9D7659BBE80132DCA75EDA1CDA3EDCBD2E2A5A1679A95B13CEE3D12E977FF3AFBCB7BEEB8F5B27FE48B67B4DD1D3D9D19F68DE061DAE637E5BFCB93DC7D6848890EB94073EAA2B8E3D988D45292807E94A7A109E4C4B772FFF76FD67A1BC649A3F3D864504379E1CAA7FDC376D957A368CA1C325EAF6972A800CBE162D11250A1FBC162BB2400478C9378B4FB8093769352C94DDBD8796E494587D9E4B1EC5D380D4003B4A220D87C9D2EC80EA3DC4992B8B286D22271E148E6192219943C6EBC196FCBA9949738AEC53BE8A21AD30C9E471AC0A1B5788B86B042F1A1EAE4B37BA06872571D5DEB67A56789C504786FD4695717ECB3FB38CEBC85DDD2D0F89A15E2B5F08CF67CC930AD13F8661510DF0405B458453797DEEF0F6979BDC596548B3916FE8B9E00147042D7B0ADE32B6DDA77A9B80602C7893201CA60DBAE43BC81FE1DC6338F50EB119E4DDAC51D5F7704CF1BF4B25DA16DC201FC13FA12B3F9728943D5001D442E653857C17A334A5BB2A615CD99EBFB200459B081945B205E1EF07E5E026627ED203333F9D82546729478611A6C33650CEA4CC6E1B79D963A24CDA99F080DC0AB4C2D5C16E2139A30CBC9E0078249C674B0EAF9DF4F05F2469D1605796C70A8CF7D3377103713538BE2E9AB2BC4E2C9321CB0555D2AA13DE0810C4961AAFF55E03ABBE77573262374EDB37BE11ADD2B6D58EA891677223ED314F3E41E28952CABB46E26048C0AE98519D568E43D03BAB7A9053F1D8CC41A24D8A5F835804446FD9D2B00F4DC6512468621EE1E41F76A560859A4E0ECFCB3F8A284F8E27EF3EC030E3BD2F95334F0A9368F1D499B98F175EED4C199D44A3FF11C768B76432665DFF95744F7EB0FFA7376C5B0CBBFBF4DDFE42270E8756530FC3A16A27FA581356EC8E3D676837376DD97313E78CACA8B005D70107ED0EC76B2C1C93681F81545FB8371E1C26032FB86E2C43F4B828222008E8EE41B3BEA7CF0015A9FF660C68DBF037A79B39F0DBC900765867AC5F398F3BCFC06348D8A6A8448B7CACF139623D236FEB39C18683F4F9353B01BD8A97543B8918AB5D32CE1E8C05C036C64DF114B16670380AAE5DF27CD8E641EDCE558E4702E17B0023FB4185B3F0CBD5CD5A99BB86045D79CBE3977A8A61C11A5320793629014EDE85E23BD28A8BA2146E90353FCA2DE85D14DC48D0D2A61C12D279A12E8352397DA04F6C5E777111C17782F4B910E62208069B9C67620AA54E364CB6559CD9E4DD5E85918EB6EACEF1FD7DD5DA61FC78E41CC70AD91125AABFF4415F0017AEFE69CC94AA3E943E1E2EFC3045E3B99F15ADE9082FC7261EDA9A95D0A82D6002D639272C75CFD391648971DB3A25FCDC4E1FEEC9BD6481459B72F639D0470922509961EF703F2C664F3B8CB9BB49B98D49C229360CBFFFA41567555E38DE0A9213E879EC66DBECE801F0445EC0805983E519B874657A90F56FE1C9DBDF7CA3A3A656EB05EC5CE1534ECDDDF63B66D0059F0503C9FA931BBF555EAA51A34A8F08F5C70A95490C31DE657C83F66E32B62C7DD7B9ADB6F5449160580D3167E706AFBEA39D889975F35BBEA0E5EA9AD20D0788255F1755FDBF8309F7127CF89F5714EBA8C71F565E29E076D01B2A5C0E05D91322F9FBCDEFB9E6813DADA7083DF01EE57019063FFD6F39A3BF90C90142E8F55E5D768E3C441B5E3556573AFA12B415159AEC2165D2BBEE2F46A324EB3F9A47650B59370EDF2DD9DCB15D379461581AF9FC3DCA72937C3878E998D1EE5D9317A92EC41DDEACB62F1407C413D5FC65D12000F30A1471970F64B0611B6ABC34FBA58338A08C1AB99C2DCDDBCA93D21E4DA8252600DC6C1510C60E851A2420FCC5D81FC17B2F5FB96E9043756EA564CF977796EE8544C38AC69F933C21EAB539308945D3BD64E85CB8AB55E68956B069F341B837D53923566A2788B58DC6D946CB80B5547EEE3EBBF0B421E1593254D546417F9378363C29A94C99CEDB78193E305EFB55A017F3B6ECF315B387C2328597F4E9ED569F300F2DBC43AE66EDAE377C41B086E72D17FE75F30A1295CC05CC8E0B69B6F43627C917A17389CA111A4803B3C51C390D03BC5CC2357392C9C3FF02C5042975229D51725BD603567AEC83619012C3934C12EB19D390924803BA6BE1C65D0475FE2A7D3D8BEDF2F824F7E9AA3670941E856A510E468CE2BEA591B4CF2A48448ADF1A82BCA5778C93EB59D2DD1D006D55D3E1083F39F17A7ADB51D76F0976B438B0E9A6B6D62D45FC76675C73EA0ABAEC3886F489E70BDE3480D5878C7B25DA15EE565A27AD72BC7CBC3B92B85A1290CA9648A66848FBC36500085430FAE80015EF7563E50CCF1A27058047BE8CB888448FC4566F96C6612E7D0914589513E40401F2728450C96C4FB88F5E77CD71C6FC28631DB84EBCC7DB8D2C1F2EDF8B3F73290AC205BB18E126EA642BC01BE235A66B4782F05B86A851A65570A8774744A05DDF52EA1655DAC6C0F64CB779A555098FD0C89B1F5FF199ABBE568B6780FDA39ACB935E6A8D99663EFF44B717EC8941688B3998A2EABB119F8AD6E918967BA7C38200E8563105E29782F8B74915E65FEFBDF782B87F7CDF586D963F3B769A3C09A669F58AB3543B0DF308B7E572EDF2C3390C42703035B0CC5BBAB875ABFEE248016617194BB02E2F0C13946281D28B40A1C967EF8B71B47B833EF56D4A97E57406355E4F6EF52DC465C86B2936367CE8B0CADE24D234727092226AC595FB455A8D24A4D48D595D4082DC65BDE75B0AFEC3A7591F69226BB89AB2458C327398203D0362B87135931B36F557C7102D90B4D4664B9D0A80C098D949DCBAFEDD36326129E3696A95B422BB3998CDCBBF7AFAF821711FC02821103B2B61FD95ED54683EFD77FB45616A96CA902F69483309A5F80C8FE253D3E96A224699ECBA9CD632A3F2BCF926E0FCC2B8D22D7DAE760165D58D7BA4AC2B12AA1B6CED57329984E84CDA1DFB67E1EA6CE368027E9711DE9ED76ED7BF7F0832D77E2D5F25BFFA032B1DFB8F3AB99129ED45FDDF6A058EB4F003CDFFE0EAEF9D1002B95040D906B6475E279126461CCAC9FA275CB1536CD7B8680D728408EBB2EE008558F014425CB6DEADF5928573528E6C76781CFB87A372A1302C538C9EAAFA3FAB96D5C68D628547AA7A4CEEC4360D3863CE034DB091EA81F60862CDF69D56B0FD7E47D400ED8C38F17E8ABA55F5E76FB0B6B6D1B22FC01D1A3D8165B02EA2AB4D914B2CA0C78F429761D2880E97625D35522FFC129E003C259FB01F79847CE9F57D566E50A94FE6F4B4F56340331B9200E21E9B02660509D253949875CF6B22D223C2183F545281580BA13C62108A6FD090ED17C40CA9D2EC76875BF78B1138D46AD983574657B02F3F37E2A2A1791BEC82B546499912038A0B6805C75352A0CDF972EA58B98394E03C36B3C8773FCC010AAD6D33F4AD42ACB536CFA812D7986877E129730D537133C8CDC0CBC2E2096E69F75162304C8F358617F7E554E8FA9B98BE33DB9B09C7F4293165E9CB326BE4909C6E5C087B0F9E4CC1A8E5F60090285C4EFB5AE99CB355F8E2010EF8DB7691070029A0074C3F5F118E948207978F763E19782DA9AE8AC07B279246D1F7453E74FF0B2080F527F9DC094A64F80088DF059AC65884CF1240095ADE4EDC8F8248D8063A068748E7BF510F62418191E1050155454EA72A5EA94E3D687485E6E9BECC5588825A3157B6B3590C52C84CFD4F3B27CD33F2C03A8AF5A989C263A186DFCF43E63DFD68656EB35811DCAA41D6868AD93B6BEBBC23325BD5F4C35490737F760091B7B6B691FC3D8E1459747529183C78C3C736277B74770FA3BAF855D72F98906796F3FF11C1E78C15BD761566E66DFFDDF66BAAC7B9E98905260B974C75C2E83092F7A3A2E06E297F8FACBDDC4F1E4CC535BAC3434B46AA2BEA376CE63C81B55500A06084B0ADB7ED1C2EEAECFC16A22B580D91B23C398D5F829A4C7C832648FB49AE7E80BD7F71A811D6EE1B6D5B50A05AEE656D738F1172237269FAC1FDADD21A7785E150B83A67F82301036BD704F1F3561742F4D11B78B6B9C3D3BD9ED838C48E73716BF29AD2F3C5C7E7A3711A92ABA369BA75F3B92AD4649D8848198B448C603F9E497936EF81CE447B1BDB0E5B2AE5FEE5F50A5C21A6B257FA618A1EA2E667D8D8A88035AF4293206C4E0EB38773274DC2302ADD8220F4A86B759827DBE5FF238FF580F8595858FEC6A9E4551581131C398EFAA7FCC0DF9C16E4A291A06C0C9398DFA9AB0CFC62D693A787394B37661C6F962BE023A7DC12CF4209A1C7C3706C87A157569D4D660A146C7645C3837ABCA49C402160E3ED4F5DE8FCCF41C5CC45D9824A76D6BF797DB65A52DF37595DB7D494ACA08C4436BA87179D764021AFED0B6032F22869E4551C3CCE928F4B7F644AAA5AD7E101486509687ACCDB63EE2D83B03315BC3271E60E8FDD762BF4E529A370370C8D129EFBB9CAD456075C45ECE373CAAE6EF91ECAF1411E9184AB3FC6FD58980490AA90BC5B5512119086EA850B67ADB93BE477E0E4BA472253E289F92F24FB27630E16C497FB0B1A03A054E927B02AE0EB263D287C90F159140A588ADCB684BACF701845172C77CC585DF16D94FD4C622A291D7AE27C330ED5AF6BBDD65DC64458514AC3663BF33E7C6270A6A94078D435A8A4F84850E2BC265A66039E3005F081B24DC31AD89FA78CB0462FAC547236F7F7BA60E30E190CE8B2B2321027400F0A650B2A01625D5A711247FEAED55C64C7D97F041D90E3E9FA895CD93C2DC039919439036703CAB8E5AC174F54BC960FEAF932B0EA0B65EE5AF2AF04FFC124831D699629A464F36A7C6FF2AA1D0A36F510CB0B851FF6542C6BA878BEF1F077BF2F53FD773A02A792EAA6230E3305EE52000E8D18E4FEAAB6456BB912536A5488830A5E3F3AAB81A8DA1C5B55E4BF9E1E788F2DE2D65FD3EF9AF592AA26A567FF1EF2D7D15578B48E2D299952C53E0E92D298A972A1730B5E1833F18F20F4C589658658E95FD4E813BAC2A826440FADC7FEB0B2938E11F1C32BA897DAAE3EDF9679310AF4D8B7F6167341CD7B352C2ED7814532829DFFC029ED269974771EC7100348AF882B88C76E2B077C92C273886EC561EB9C05AC303CAFC1FC24BBB6E91270BCBAAAC704664646106936C220D73EFFA2002105F1A62BFDDC0DB99C87A554EDBFCD60CFD3F80F20CA556475CD4E5AF74CA32730B95A869CD7FFFC702F1837F5FCDBBE0B4559773FEDD4FDA4098B0F36E5BD966601DE023807227B299FCDB4E9789BC81B45472CC45EBD73B88EBC80D7C1174E18EDA070347878DD102A82113FB48530F8020C963FA16FA02519B1E69F08D436A130B7B00ED33BF3C76F72B1811A068DB79D072F354C1B87F4636A7E3C4B07C237DE4A517065DEF6885F81938928DA74D9C425B11FB03249EA31BF81ACCF931D32B5490E119F617DE8E4DA9917EB50A018E51AB369C42BA9192AD466B239466E5FA1FEA633AD1EDD0D3618098DC88AAAD033A2EB063AC3799E92B8A87DD0D7F307CD15BC1C9C9BD4DFC5519006154C536998357D93F3BAF40487ED06A51FBEA10AA6EADFD9D1EC035A9B48E3A3497DAF74E77D0E3807F49C3A0A7EE81B296D721CFE512CB076E90A36B19B997844D0BA452108C6AEEA0172C4068435790D30B0BBA5BE952AB56A6B4DEBB47081E870B1623C31DEE9DEF781EF8BD44330CAD59C19E7D7926A9B731E3BFA268310D1B171F50FF0F4EAF0C3CC203B8DE91DF1BC8B04D1417249C68C8C2F57F22D69207688DBCF3F20818D70EB7EA27B3F50D440D50BF606FC2BBD39E19EBD914EFB50F88D459FF359C352485595D2D79D6B79C316BD92BDD924F79FFF4062FDF299E972A6E8B7ECF430DA3EACA20581F6E9FB5B62B0E4C5CE3194C4EE44FAD5F2B6F6F073205B46ED73BA421675C518993D02C6D35CC0B4FDFD4767577916D50FA213CC91AF902C7A2A9EB0728B11EC488063ED2ABA6F7AE60199452467449041C710DEA1CA9841069C78D3F4BDE696ABDC7D8FCC1B21B9AC5926A978F1BBEDB8E143C64B08A572E739B031F565985E2307C60105BE3F597298550B1B4AD4F5082EDB483CB127787678B891B5C32D5B2EC4E7DE4AA4CB5A6D15644CC1AD92B9D56C0DD05142962BC89F239FBB57D200EB304D3D32DB21B7519C62B91B9FAE957829C234B19323F6A7F8DA249CDF8FE674C9E54A875649A03DA0A226B2CDEC66CE3A26FD6398F5FF6B9919BE386EDA3A9747BD2E4066F20DA9E68B9E3C7623C4D313B14ADCA70CC33EBF0E6DBFCE25C3F74836C4F29076360B9DA93E48FF5D2C2B159A90900704E94AC286E8C3AF9779F8C1FA1413605B17FA07F8F68BF3D042633B44A5953D38657049FD7B83FA2FD19B2ADD8929FC138E636B903BC0B34DF7C18EF499C1933BE261A4EF22FD80A706886BDAA99E11F868BB4B63A009FC6CEBF92AC0B754E2C997C01E097F6270A26AADDEECFFE8654D97F7A4E6D4207852BFAF028E274E70D63A1BD9216AA64EF5D5FFF72D3C4B99F516186A59CE714574B0594D17B1EB7AB28928A2E0724D764E47D9388EEB09689C535B66339FE603E8916ABE435F31249A7136AF21B4165F04B3643BE7ACE10BAB8AEE6A9F1BE62988F7CD4622CE01C403A86385CC48B7A18A483AB40736FAD1FE4E1B981F9FFE6B12C2F6420C2CF01A6B11655ED7EF9E3FF33F556739178A5F77DDFA415601BD3D36FBB75B3208D7EBF11A2E9172245C59F8E8690982B66E824814CD5A3428D5831E94FAC91408B85ECB4F55572DD38F2969EE4FBBAC448035FCD928BCFA2FE9D80DEBD43F025570A5A722B2AD21F08EBBCE8A3605C560EC9E7EDBBA62EE5B673E7C24F88485902034085B496AC66472F987E27A8CFF77D8FAD377ED7C7419B1204C561DC287303F021A04774327F2C67EEF55CBEEAFEB75076162CCFFFCD667F3A2F5DECE82EB3F0471164F2472B1EF6044C3321C2374F880694954287EA455D3245A261AB124E877814D391586E33A8BE61DF5A1DFFFE6AFC7D23B586933AF425498C8650DC2529D11DDD3B331538CA19B539EA34F852EB354CA3DB11C49FE3DD1974294E1776D73FAE181C41C3A7AE02C9BAEAEA2AF4F37F8B0B3FF4ECB7A9F1F8EE02B10AD193899418FC39660973361BE634975746286C21F3E300024CBF7A472429567194A1A3C8533CC5DEF7CAC86BADBEEC6CBDAA0F4E68343291EA7831C6EE28935327240825B73F9BBEFBA5CB948F8826A6F464A5C30C895ECA46FB7A84E59733D85B10FEFAF06910D988A4201E0D05D3F7DF4340DB2DE549A421D25FCE8D1732ECBBAFE00A7C1D29916E032F26DC9FE3CC3BB638D72AA3BCA5919007F82D73EAD3BE38F6DC339E34514B94BCB60F408B7CACD74B1364E2B6A17CB92E9F9B5B30220244D184F4A76EF2C9BBDB6C0BBF82AE8380DEAE1B9DE8E67F7EEBB35EDEBC9371B3DEF5AC73722147543FBC59B7A0198B9BE54E08BCDF4C69DBD3AD5345C5CC6E835848E8521DAD0F432632432914540F68A95B7063D65B6941D43FB9AD9A1090A236CA04061CD8CD891CF2782475B1878CE61424FB3F8D344488335325380002454E88F17CB8E4C9189D0C71A48EA28597A74E8B3A18DA142147FEB560E2B472B1238961A668FE78FFA93D37E68FB9B7D1EAD681422409D96A1CCC7016D8D926D0004779EDA82CBA9E9DADD5F1DB3072EE2177D5A79F9F7518FD8477013DF9E7673BDB949A59BA56E8FB727D89A18996D5F6A2307FAD34AFFE229D1F06AE0C818F2AAA03F8187985611AC607B9BCFA506AF79405C11A1627D1A120AFEAEB5A6FBFDD7C3C8105AB6F08176B7898B1D4E27E10E355A0B8858B1692BAAD3420275240D5938D8C1378BF4976AEA7EB879769D65080F4A07365673C128EC566925AC40D048B83BAF7A730F05583732E9507B5A0650F7A3B3AEA22F9D8CFD2DCAAF5BC27CFE297467D73F0250B435C44C891714656FA8FE296686C9DBD66C3E84BE934F08AE0135758BEEAC630821240C86D7F09E883DAEAE26D6176ED41EC5D60C1CE9B4BB3E36CCB10636F01F1A25E90F6A23EAC7EC5A261A4D7C3FF3F57880A5A129FF2864B6BE8D4450CF0E0598E3EC09CE57C7392F22C11BF51D09470F71F4CAC7D7E94AD41EB8F1EEDC95E6AE4DE49A50472EA04AA91874F8594AFD9C55216C29B56F4E16E7457FFB0E01A2992452CE58AC139C4B101356C7D6A4D49EB1E2893C7C63A566087A90CC947CA65844BAED97290C847CBFC9C5908C07695F26FB0F455C8EB8CCF40A220FF9A1B7210C4B7715EC8A7F6D975F5FF839AE2556AA7D1B4D0BDE5FAA24CE2A056200FA1C5150E1EF00867DB0B91E3991FC3E898882F7DE8F460F795AED9030D5C158575A2E7ABED80D901ABA7DCF0F7FB5E9E221A6B060DAAE80E46DF8AE0C9F7197015D61D1EC5A4BF4B57E5FE6B6FD14D04BA45C1E6DED1A5206CFF049AC3A8DA6D386D732F13E1D3005DEDF11FBE2E0B4440FE3C050A1EB470B8834DF79E1F350157C30ED8DE40593B0F9DBE18593A9518550BEBC4A4802E91B1B0FF0197B4D140671836E833DF7F9408332E523BAFABB7CE96EDFE420842652E74A2525A41B6F8682A6C507125C41741F8036974762D77E287C47CB6193686DA3E59D14746E0ED4A456371358BADD3EAF34773EDB24B5F41524A0A5A2CD93D4CD5B33FDF3E1432E1936764F00534FA7E1F0504706F106BDBC43C20685314823B5B520CD40F0D90A95B23981E9A6CE91B14390219A67A25F631D73941E48AC00B43475C28B2EE505A40D3AE8D5CF6195F5A69C2F3F568D7264CCB8FC7E9B5849B6BBE393F8290854C285E0C1F452A3F731DBFBAD3559CB4CB4DD75FA72F493DF2CD1BC75FB243C9BDBB21B234C5EBADF8B041D97476AE81CA9F5158C8B5F93A6B1DDC80DFBD905386ECFC3ACCA48E8A4B8F6510630AF38767A7D3ABB043E3E9BE91DA23DAA2F83CDA44B075F4FFD57A976272DE8F244EF027B3E7AF8A25F45079220BE6ECA4EF339C2DEF4448E00FCBFA4DAA639C9B637C913B22D69316892653924F6D613701AEE86DA0861F8B2BD0246C5AE08A2B5C573BFCE41FCF2FD4D1F1980F7512448495F0290252887314026452A1C3A85C7D9B2E3DA8A3863DEBA1674F10A9B02CA1483E639F6ABC18F54B6D83BB8C50432A7072F98B95D2F6D0B844F6706E9C62282D45F9159112512DDE3C7DC817D59A7E7E4DA6CC6906C3420188639C87524B916C29143D42DA36336D88E095B99733B0CCF340F3FF9B026338E43E18A830CF9242DA652E8B77AA6802B5EC6F10DCFFE3C0B32458CDEEC2D34BAB9F9E01B17F0F848779E6FFC64A57AA0F61C15259AD93CA50FCA602FAB2F50294D3264F0997A818E40593E90656E88560F2844AE076111AE829F01115DFBB11D7DCC28865FDA7C060CB9DB8D4A4304BFBD0E05C8F22FB3591E8239CAB90E21158BE49BD24141099014089987D927FE5C576EA41AD502F7B6FA2B657645A97B8DC17D28B37A2A847E1DDB7D63BED6299F9B331ABB9DBFB249829464B7349C5CEBF3CADD5917C1F587F56CD5A7350325477CB6C1263BC37717B99F7917D2018E3576EA28F2012729F4E35BAE10C32281881E275B9C1859C037CACCE92A3525E907D767814C0B516524AE14D4D1CAD16C575C54A3E03CCEB7A402F24563A87F264FBA2E41E4D62996243F2DE4EFB7A8A1ABF3C870E165B9D254CA6AC13E6C810859C5DBBB1BBE487AB0C8554B657BC6CC3A4844AABD1BEEC6A3A75DA799BAFE1EBE171B206F99D37066EA9ABC937CA7E893083DA230D3650B293ACF70C73399BA8D63DE9D130D9402FE826FECEBD964A669DED1018A38DA9782E5711E076D250A8E50AED0D70FB07E5EBA2DC54BDEFBADEE442E4B09841A6626438D3CA3DE49CE8A8585EA0D66731C82863BF3C8C56B6E0E01C97927185F970B860BD5479A598394A1209182FCD1B1D0953DA97A2C68ECF7E4D4223D511E8BDE1976775688F50113A0B51B98D50EE80067F84519B1633FC3A619BF53DB475D5E381EDBF57A6892C8B02BFC79ACE546E31DA5B2C481A62CA97887F9C913DD3341454D3BC211FA491F2002E4B67F04DC52406DCD4453B9744836C3BF591A5DF5449C07C653322762FE3AE90F887646C24E8E085FFC4AE26077BA604B5E5B8B8E84F173B87041569E93EDF5918C6B07828DFC4847655199AAD7C77D53E471EFBD712C78D264AF4A727DA6653ABA205EEC38E292B01D550BC98C14950A58F4EFDB5D94AC8BC6E2EA65D27667D015386D862BEFF8F2D36A54E452CFC3BF134A8A432A880A2DAA1F11420CCDA25608CB9283AA6DBAF8431973C9C6A6F88E261346C4DCC1E6A3B82338F4AC60E3F809F424ADA298F183CCD34449FFD7D6A30F53F20C932215B1FDBFECA75DFC784359883E097FDBB2522DE3BB3C7082EBD58C63917CC2B2684BD273306646A59C43EA02BDE1385517AB756D69F0B4BA4E91FCA3CC34B9FF0A59E4CA0E89FCB141EBC166FBA086086CDC3FE2B01810C85C7065568E25BDABD26C70F33117CAD9C52CE9CC6A694513CEA9BA30AB85A945AA8E7394F0D5BFE49B6689BA1E6D97788AC3FCEFCE291BE7EB034E50BF1C559537B27572030CF0DC5D499206AC3C702B3D7CB6E881C43EFCF0EFC5862D091A1848F8520AC49C09ACE8B2BD890609044FF9BDEFAECBA1CA5F36C84E1F94B0952189599A1DC95B6A8AD7AC04BA219C52D73C56BA06F3CDC28F07772F4F2917ABA045A1E05A1C1762B2BF3763479321A25EFE140D7FD5A7363B8C786E05E6A1DD373BB79E96E6053210115BE966C8ED6745A85F1AA373082B15B2C88995FBDA6A0F55A3441F3428127343F5ABABC58F8DC72F30EC692D0D623C20A5825200C19C11192599B42AFA73452BF0D0AA79C226C61930694B627CE13861E1717D6166BF5C6AED36CA0229A75FC00168EE319B10BA6620FC6EE0BB69A59E686DF9E3DEAD29E19BB4C2EF1F7D2E02E5D2F6C57D8310388737D79A293BE53C10674FEDDA524A0C38055BF6A17A504E71EDF73AA0A90CA7FAF35FDB9167CDAB31810851BB9728BDA65B960B2777B465345AFAD4DF5A3F944B244E29185560A87030558E301CB535B852A0736EC5BA8E1BCC5835BD16E4ED0F0345E439ED06D76D71E52BD7FDB9D080EBEC657DAAE876235DEB8E3AEBDFFFAE48CB74D8EADD48948459E93967CF4079FCFC343393630FB659DA553BFAC11453D62FB311F6EBD7676F548E9D17D319907654DC31E9B059F2CC52C5FC44F2CD30F11E0D01779CAF2ED01FD44921E9B3B531D637675D59DF9C73E27F8F44C738D63A795416329D83DAA5B560A98B2C129D19522692DFE8838CEC958E28DDA80F459A702050224585859B6AF957ECB0420112EA0F512C5B45ADA31F8D76C7C0DEE2EE4E60BED2E53F6BAD3328E82ED339CCDD3C0DC41672EF5690239A890F0E83A085F0A388BFEFD399F41DBF1B38CBF92C7EBF9AC296925BB448141C45EC108E702413236ED1048ADC1BD013A94E4446FCA0077B8AB9E9BDCE725F47FFD45D477061F992FE6E80F854F1C011653E96B72A6EAF51AB098103668DBF761922DAAA0F6298DE56D34D37566973A1CEC9E8E9D192EC969438DD1CDB375E1EA0BF5B0D263B25E1853F2BAA9D466583DE3F83EA1376AAA61FB964D9118AE3B1E4189CDCC45AF35455054E546E70726D0568DD4CA3AB072E14575CEF158599AE4936D1A23139B99BC66BE75B665CD71EE082DF6B1875C9424C9945D149376CF8C831D5E74F27D14A8BD76E8BBCDE193F2B3B51E3728EBA32BDCA6BED94124E127F4B1E3E66418589705104C9B18AED78FA28A5FCDD63E1CB1E87B523B420B511CF31E76D8AD00844AEFF169CA3CEDA2117E2A04DD963E1A636BDA193D129A531FAA068D7880CF3D41E510C3957A8953AD8B6D6D18F68EA4135661835821DA6C7618FB1F4D1DC5950D2C935527A9297DCF767CADBA4FCD084A2D3EE7D5DE00C23183510D60298331569360B3E8FAD2587200188733E4690E400D915BF208317D50CA071A900EF81C08D6F2E681276DA6A07D500D33736E0AB0BAD39969B965160381F1DE22D9A5A0D8673AB60DA71C3BEB4338CE7377C92C20A041B7691B17C4E11E9618A85D8DE8CFE5F7E9145E225D12172CA478426FA8D170725DCEB6F96E460BDC7FB71D5F962EFA290C4109FBADB012337887E763CE0C5DD2F940084A4F561FE43DC19886F91D9DB87E40F0185FA9BFF98910E1C529013574B6365FC3090E21D8DB074A8C375DF322D39C410C809E00A7973E3BF24A6A27418002EAE130BD122D3464BF522E504C9F890C6DAB44B5F64A50A43D67A8B0E95B79A5B3595A7921248C02DFF2D9570EF8CFAF4648391703211102C593ED7E8B00661362F5F6DDBF8001EC37034B53824770BC26A194931A0CCB04B2EC961F75B4DC89F15373B7B512BE81A86A5E04FFCB7F91594C7B5A7AF6C003DADD14B84967D76C98AB784404B97E1901470910FC5E75606EA7751581AC67E4802064FF63B9529F4B1F09447CAFBCB4F4AD586036ED5F017F4E2A80B63142ADF13B00A1E9DD74A5164107CEA75CF6C3A833D6D463F9B184113E12BFBD41F2F1317ABAAB8F71EE4331061CC3778040DACF80A3EABE806EA74579488ED792C7489EB0D4240562FAF09D47AF61FFF5C06F9A7B55C41588AEC2D5F46A0DDCA7BF071BC7F02BF14DFCA1B3B76C786FEDE0D0E2CFFCDE9D77EF68EA75B57E3942A8FA4F8846C6098FE751047AC45B74063201C8E6F33304908FDA80B8EDD98550E2F030B4CB87755B13F529EDCDDC483540E915899053F5B09936807B096778D5F91828914A35A91A416CBAF0C62B8A8D8CD5A430B628F90C2B3FB4E44DBF2C1175390AAD1B82177C6C2C34617D690B6BCABD4FCAA0454D5071E034AEBB46DF7DBEF60E35AFA4BC1E63B57B88992A6B687B2B07DFC9854D4BE3860F434DCD35D161663465902BFA367C9C44DF2CA46FE6ACD50577630FE56E1B69C9873CB0E3BECD4832B2921E3D7B065EBB2C0028C978BA47AB17178F21162E76C2543666813B30BD587C3508919EB1E6138411130F511C56C50B177E0FACCA65F704FE17F63975B862E918C3C346EACC804393B693B784D45FD8731806FAB9E49766ADBABD23CCE66FB19D16913199EA75402DBCDE8E0FFE7AACC6258D0F9DE248467F9A5A9784D401F83D961722B39EE706AEBFCE1FDF57319E0193F2221661975D7FF7139879C4A78C97A914A31A652C32A3528A566BBCEB8BB60549763B9EDB7F7961652E01233A925517068ADC0F32C4E8448D1FB71CA613BF33B861D0EF03126C1C52A62F0584069B25913E3B3093D36521509F37460191F450269654275317153E811141754844B8512BB091B6A309DFF3D3065237E4C2859678C1CB143C87A64BFCF04AC6549FA21252FF6C1D50CA795A86405FD69EF21990626AB424FD508A0151941662284B46E640E7E6E020AB69C280BA633A6BE09038B7571FE7F668B19DBEC5DDE30EF8812A6A369D7F54EE7D36E81FF915464EFA3A4E978E684A037CB31BDAE87A05C0B3C8E6EA804760555ACB6678F73922968A598F7B5D0C5F3DB7678C8A6500E07E83AD8F2FC171454CB729410FDFB57D6F7018168CD3B4CF328649282FED2FDBFB71202E4B231D86315811A55B5F035978222A2CD98FB7A6792C5CC18130FB849EC8936F85DAE72A7FBA8A475C3A71AAE3B33B708E06899DD54340627269B35C6B395E36B1071E8A7DDDBFDE6E5AAD1EB2CE3F5B1DAC86F7E72D85460FFA4660C6F761B65E8139311B55386F01182EE5B7797D885FB3E7C9626A9D667AD14C63FC64CD9E4AF06620050F90363BB60F6D3FFC964F8D791155453B66022287952847329C092B941C396D1BEBCB82E443A619415E939571D2B1AA09FA6423CD433EC28C1F0EF730A0D0B68764D8114585C1B7E6261732B66F094DBF209853166DA4A91E50ABAF8E6DCA289C2CFBBA86AC8FE6B488330CD67F57BB46E161B4455E5BD23915F1B757BCCB9C88D1266F71242C003684909DE4278F3889D2BDBF433D3FE900B2BC24EE192A819235D2DBDB7BFA65485973D4EBFB6A1E50570441405DE052C37D089EF8786C2A63EA7DBB721692471813BE2CCB581FA166B177FA84AB9BBBECFA444C9B4419834CEB5E79ECB996F1AFAD329E62CDC528BA1715EF0BE90641A9DBDFA7875A1C0A6F7DC10CFF9011CE7BF785E5BFFD5320622D0742B34B035C6706DBC090974B75E88960B2ADB74D9FA70889BEB700826AB5BCD605B441858F5873CB422D95D7BC3D05602DF91511E277393867FC897ECB2D7AE50EFE3BC5786846E446FDAAC76B50138BA430F915AEA218D04EE4D619E889B32878F0C6DD8DFD5621D12E65DFEB8F9BF928E1DF39718DCC69133C9288789CA84A8C33B19396D8FA515728ED45C9EDFD5AA3BCB89F27F6C20C34E2412CE970F7540CF504D2897CED46EA9EF9CC35FDEDC175513B07A49027621E75C96D9B0A1DC4EBD63C40CF359E60BD1872FEED5EF456E658F521B849C11A2C0489490C80FC713879BCE1983C1169CE210A4F8194302B120DEA5DA1A72434E56F58D632DF227265E4AE5758D18F96554209874E68340B3998CD7681D5A6A56E7F4C50F55B7E17CBBF2A8774BC3C6B8872B7B9695AFE67823AA97AF863A0344ED90729E66ADFFDD3FD728DAFE17DE2A5ACE880309F0724FA3F058839364C8276B4CB58A74DB87D55EF2DC1282CFFF7C1B35CA93147BD1ABF58AF69164ED43E64DFA07AB12850EE8712BA84EBD75198F2FD4958676B135E340F81780D7D3BE463C1672564D19207A0D18BDFF73F978C32C79BDF8557A32F1E1BDFE28A5FA7BFBD349234269825CF9689CD47AD692A1EF053BA9B9EF6FF673E2C53CA9B06AD8A7374122F1AC5C2A9819A3D38E17672DCD9568728275A7136F642249C4E1DE242D8F361F469AB114A78467CE7F7EEFFEB63BC8EA57DD2DC213C3987B09B75D2D0AD2EEA0DF6C77135243DF27878BEF72768D40AECBF3197A1DD049D40472E26B8B2258AC05EA9EB6799D44A289EDCE6CC2E756DC40E22591E8C7DED4FDDF48BC4BCE9CA43DEEB10F2313DA048FB0992881926A9057A93BA40BE4FBB5A5007CF25869A7C6932FC21957A0313775A08BC94641B2DE4EDFCC9491CD4FFB9DAF0FD53F296AB525D5AAF5C1EE4DA3D159CEAC23841A86E5FC27A171AD3636554F2FAD2C7691A4374FB579378F0A92C4D7A54B0C3C0EE098E24C639D4758CBC6FB83E0FC2833E9DA817BD3348C0778AE4385528D3860D231125FCD0703ADFDA95EDE6831B250AB976065FADC76D274B0DC3D4BC63341D8B3635E7FCB1F0B622B06835A41B0591548CA990E227470F1DF355B56736740FADCD87BD9FB994FEBCB8DA2EED8C6406AABD97AEB2EF5F06FCBFD7B2CEF7A45489718FC8B798C1192D206752670247A7FB4822F1A5A72BA641DCB377FBDC994B3B5A5507DF795509D7E857181DC428A908070FC6F333DB839A1A6B4A896364709836F877B3FB7E9AFE7148AEC1702BAB537614327BDEF0E07D1E56286F50E901386496E9369BBFB11FC42D7E7B308DABE8C3E293CC5BB23275334B405B7F6B92AD49092BB5372B8D7DCDE43C320010A1FEE4A424D4749AB1C86195EBB315965CE78870DD2C37F0413876AD1575AE5D197E52AC785D823F4A38E908D3B924524C48B5ACE9DFBAABBE328CB70D16DB52F0BE51DE58C72580D0E5888A7266C3483D12047B036EFC1E4BE8397D1C23824B7D9F2993CD710F5E3DDAD4CB0A92C3DCA86C01F040F4E0F90C2B632C12A326ED9BC2254FB414E363933388C57D5EEFA764338708F47C98EF37817C1A2148E39491228BEE660FF57ABAF1328736B7EA6B9FB1F56ECB2F2CAAE82832D04DE4EE387E806D3C1AAAB03F9B38B2FF802E8F54839D8B2F38A622CCCDF2E1F01E18FDFEE143F88CF99DDE885695A37F9FB899A8273A1560E2023742673CD99E9098AC92EC9EABDDBE632FCDBFD6CB8C2FB529BB85C0B6DDC8FA537DC8329A9912677C0EC279EE45BA91CF88D638D753E061EC7570136E513F9FB6B57BAB213E52BE93575EFFED21D600C9F3CD949C958D925E5763D0E6C206BD47BACAB4C7A5EE6E3DADB0C6B5B2799809B2675AF6D9FBB7675D6FE19882C15AC55699093A8F4872AC74574B306B2452D5455A55C669A3D3DEAD74756F4A6D746767AA8DC2EE9D1D1FDFBFF5D72967C643D23EE16B7284F1D4A17C3730A11C5453B691634AA247FC19E37FE9C955B9C3556552452B8CB59B0954923CDB6BEA5466C18F2D5BCC0C5005F104CED70C548D093E2DFCD49F7AFC651D6D15C4BD351E4F984281FDFC4EA9DB216F116DBEB87946D89188E4FD54D7B02E9F9B04F7031ECEBC95CD1C2EB659F95D1D18D86606336D1A9B14E86523E25D9E06F7B2FF00664F16A8C00F29431B2F3AAC736F51EA9B85FFB9DDF62DE5ECE95366CE7210C54E4A2963CE24FBBDC2E36DE01A108BDD6C4B8E2768AEC3B323C973548B5084D59E12B6D004934DAE3048B1B98D158B010D7555CA7EC0B98208E46E11B809C68749B6CA8987C6310FDD50C1571024290EFC1D24817D8243A7D67402DFE219D7EF70D0ECEE1EF7F1F229581A7FB49C25E2AFB0A53973285E3149FEE130A8694459A7CF86734FCF55C74F8F69BF35DA924DE201310BC1F283AF527247316DC648A1EAA249D1FE246BD6233626BB2E0FF2637D75C5293824DEEBE4312A9E0C9CC987E528228539D4A459988F5B78AA0727DFE3ED5147D44A304EACEB31EC52C5626C53D378B8C348DE81214C571FB27B8F5C87E1710A90DE1", /* clear */ + 9)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09E960000000000000000", /* iv */ + "A4", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09E960000000000000000", /* iv */ + "8C1250544CC3A06A645E7E4A9F018C0FF5A8A164022F35B3F56478CD489D045BE8A5FC43363C2A25CA675C4E8E11E7C0B6677159687D5B8FBCC3AC6AF576278A53F2662DFF3997CB8D8952E3069EE9FE1ED848D49D8D52805745331C52E89564E2145000FBB4F30FD072D7AA22C72F3503873EAC0831B967F99CFC9A1577BCE6ED8E8986551A0B43C032AB213FC3F687439E9C138654913052A9C4478A8774E2BC254CD6B9D080F2D2EC4C1B2131F7FA3F1DE10CC4F3B26BC85BDBFB9A90B2A50447CD0361AA998865C31D21EECEF36C92E663A7188C9AB1526C84AD8D67A220ACEA6781C2928AE8992DCCD32931EB31F90C29A6BD57722CA468E45905AE5C09603FBAFBE1810A56D6738EFA31D5A02BEBA535456E0162D9638B9F77FF315BCDD95118EAFD97EE646A7D5AB3577BEC7A449D0C0E98558A4263FE8AA592CBD82A6B881EF05AC5C32259FDEE5A978EDB16DD35F6C9FCCA69B1464A033B51209739AFA1818658310FF3F36E0E727CBEFD3B342B918DF6668B803E56AD02AAA7E0CA8FEFC36BB10993E5FEDC723FD2AB7161DF9FEDD67B29AB386B5A799093937F191360654A11FAC23F4B53310030DD047DE291C3A19A917875629A998C857B8E1CF662AE3199EB11EFFCF07D87515FE619700E0F9BF321EDCBD7B363371A630ABC713191D2A91CC5F83128CCAFF2E853C60FD344311CD5F4307D1501D3A7ED36EA878F1F5C5708138E6A63EA8C6CEB333E32120507FAA448C5E9F6D55F5A64FAF3F1EC289892449E2D6BE39D92C0FBBD2935663E38F4046911E6C475150D423DA6D363E4543AD75E0BCB7E4F2216C6EAF0F0887CDE5444AC1CAB4A7E837EF8868CA032145C2B803E19FAF8EDE6135074FE78C83F92D291F7E6B0E4AE71DD01756EC9AF0E488CB995BD1D175D5B71299EBB07026BBC131ED089C50E754E0207534D749BFCDC8E63A6BB8B3959900470FF2C67F53272390A709FD8F1D4E15F03BF9DD8C003D388197B2EABDC8FAAD1690C71CC4B2A576AB83F17E490D2947B74D1F99774AAAE7AC8A990B5650B1E1B0311890D7D251E492744EFD08799C8F5D4C8D96AD648294E0F2945028D109237B00E7C732CB56E2C4688BB9F2B804EBE01353793FC2F57916A959DD9A0C69FE5A3F9F186EAC2700945DDBC33B937891B73D4528301554B1FDDCBB1F218EE5D6AEA0B527D2B3E33F31E5440D43810B629C4FDA5C6D916A138A05AE4FBBA28EA99D3B5C92099A3A2681E1BBDCC0E54A50AA31278D3EF12557249A43EB80D9ABE498C04034247A1AC9BA73F405330C6BEC0278CAB55CC54A3FE3A7C7D7E60832BBE796306A529FB438B8B7836DBAD8A5EA023449C89F0CD111889279D5417D35039CE35D45E97C81E7C12E218F5C27212A73DCF9FAD7DCD42DE80EA88442045864BF871DEB6A6C4F6DA8A2C1D356995DC3805F958F04F301F1385340D7730AF7E81002BB8288EEFBB429CE8C2AA4997B8C13BA16371F5DFA612F031DA7ABFE8F30AD17ECBF29D1CB6B3277D98C8D45F1E351F4F1D30FB4BBB3F76BEDD6DC284C161C083BE0245D9C277FE5D4ED187257940B403320937D84F0E549B69D9D1A1D7D9D46BDF9790C7A1FA903D2B5CB4A428EA2782BDB4563235E9CE698E9160B031935590F89999EC406E0F198380AD1DFE1A1C9E5101B0F4A18812E04490049838664EB3780D8953545FBE915620FF2C4CD80B23450DACBC5FD2B02CC4AC26D0A6AF86F5F2737620A8A8774E2BA4F78369F7AA1E74FBFD375FAD6A6564D48B8B8F7F764373B9E481AA38706CB71E25A4DAB1CB9FFEA991A6B7D435A4DCB8558C1D7D5B25DA1DD938A1BDC5D77F443BA4CD20FD30E0CD31FE57FA5C7ABA31F21F2FF5D48FAB37B9078F607C5B3F4F5F8E6AABC46738FB4D5A7EBE21E247E585EA710E41C40D94520BC03AE867941BADD5368C59B69EAC5D0F7B511337F6C6803491FA73AAE88FEBE45608DA30E0208B280A8D97653E0E8BB2241377F2BF249AE83E1288CBD7D08A6D3E97312073576D514E4D04ED084D0A63B06CF1FDC7023D16F5E2F7C2F9E7B9EC44FE4EFE62FB7E07A327BA15C5FAD75C655CE22EAE1BFFE9568DEA15A6E1701BCBA85FB275F97CF764D942EC83554864E48BEEE4BDF146C5C53DFE1C390E932AD40BCE982DDC07001F4B2675EC4D3936EFEFFD8898EC4CA0A7A1F801527A940A018279A1790B95B60625201C93DC68B43CCFF7DE84B1B01C2803E4799D159A7F02EB4E030AA24F885C5E16EC58C8DFE360C55670164952F92E7F3C8D6F4640F52CCFBB244881F79B7EB8E95F117850E4302F3A7C56B7FC0CD5A4D02ADBCC6682F227A86A52D391BCA9CD8509755D", /* encrypted */ + "9A22CBFFBDBBF061D320BB2E4DB5C7E0FC743EB0B8B6B084C529FB553CC83897C921F2C0D9E0D2079E4300D888347B593B5C39F78F7EC8D0349B553CF045FA0825BC91EB5D2B87E3680A862BD7FEB69B2BD437FE10D5CC8A730C93B31B633EE9F5C37318B8ED15C806787A2C9A65A06CC56CF96678BD5A6AB5A649D9E59704792A752A5348EC2B7D13169465484DBBBDE28DCF722AF0EE83B0F642A6CE4FB6236DF9B6FE1C352F43BA3DA8AD8BBB39BF9AC87DCF330818008D66EDC9C0007E8A2C575F10C73FDF965FC312021B7A28914CC39B90FDD9EE0B9941FF094867E9FE73743800EC733E1BE91BAD26F2453706AEED99582522C9530E9BAA3660052FC0A9737E1DE6143AF06A70F9FF0F40D8526F68C4A479C8B50FBB7194D83D0B81A95FA7ED0BF50D3D9C5405006B4FDBBE34D4E58DC73A6A8814FCF7CD17F2A3C21B5C240D6EC36F5099CDAC9B5F599437A6DC1FE72EF631090F73EAE03F1469EB05C4C1AD18DB763AE850AA913D440F4CFBF190A16C099191046DD4FB1B9291C2B3B809019864DF10A2892EB149CAACF832865CA80FDAB10EDB21FD5AA9D96AE1EA986CBEBAB7F5E079B15B8A01459C26B5C8FD367C0E735DF99F292187B7F83AF721CFEE3E260CACF3306BC0075759C81A15F39E569DD0055384760EE1206A70A3B1DE47C8E920C19B6CC195A147220C8465D3AF1EFB8568EDFA6128D07CED7B71F3557A0E98E0BD79A278DA5DF271D2E8E36B995637B70D48AE8B21C87178880D3A25FCF14A883E7FB635F8595B6B3C6BF31EF63088D1F3108AC1F806D8758E0B5BC23DBED515A2A889F6458695706E412B9F439B328CC66D6888CB18068B5513CB30BE003BFEBC3C8D6DF6820F83855C55F16BCB1858475DC7B49B3AC9019574BD5C7BC6836E40C4F1508E4DDB4A84BB6909A8908422EE8D69657CA8510278CD39411931DD76B7C4D9CD8750CA6DD4D0DAF888AE0C929384FF1DFB652C655002445D963FE01AD442282BEC47FC30153C0336566632FA6F3D1110A751DDF4B8262B0DD8495C542AA74B5D01FE2A8D29ACE333D1701D093BA0E72BB7CFD5911DCB380B51E6C7D36F31DC553032FAD585803F024ECAA74EF3D22213DFBCC2DFADE0B4EE49E3C7EA51F54AF02255720900C8E09D9971FFB06F175EDDF30F30C4081EEEB033A7F2CDA724BE45C88E8A91D94F440FF12C77620C5C1E8A519EA583599B313218A6DA6122440D100345C73E320E13C5EC20D1C250D9C4C42C2F5A5E9AE84332D4ABDB3EF317BD93FB7ECD2D6237A9493E64892CE5DC9E588C371BC36A0A9D31C97DC6465203C424C75FCE9261908820B1EB0F0EA100ACE14D42D88BF10182C01201877CFA8FBE173042447B1D06B82D9B2EE0E0DDF16127F2F77D7AB801A64A8EE9DCC0B4073BB9A9EFCFA5FD79601330E75FE3E5B6ACE24CC7968324B1C1BD18B5E8F16C4AAF3D43C09B13294AB886A8598B74CBF7E047C585DB5700DDD00F60B4BC7300D0B4121F44EA31AFB9B25D799E80A1260C37D3072C7B4A43BD223C7AF7669303E11E9E85FD0AB81DF8AE6DDA52B47423FA421EC754C30D6E2C8522C753FE259B332F63D22C1B98C31167FA32268C8C70AA5481BEBDAD223FDD6A9AA7623D8A80219F5814A2731BAD6982EBF29B800B9AEF790B03D15B168BF8E9C9BDA4CFF572C40CF453812C1D6AC146F98AAA4E49009BC91A09F29DACE51C217A24BC13AB536B06285BB672C9C3E3B76DA5F4B0EB35EAD87E386F27373268F98217E85E34D13E780CC241FC329108DCF3AD23E2D10663D32F62BF78E3B657E52F93BF5C2D4B7946561167BF90F3EF2FE52C0FD8D80ECD4534B1C4B2698B3B6B55A208D50C8B6468E3D09E1D2E63C2661FD43A06AA29D4321F2F3C4731D9F38EDC5C59FEE78A4BFDF891217FF7911704FF495738692CB83ED39F1AE73862BD4005F3DDFFA9F652294D75E122789C6E6D6BBDB24C36B44B60B6A4A4CE78112C8EAF24D0240586CF7397E38E86173B0E8DDC350632835433D12A13851C2AD5427329AB1ECE124B3C10721C6F3E4113D242FFA59F4DDFF792A4BBB9FEAE8D155982352731B927426804326D319D03C589AD6CD5CFFE4F451C333A6EF5D678B99CC48A5EC578ADBBF65862DBB0A0F48813D558989D67EEF32F23F9EC4D057C46659014290E3EAD7AAC87789D029210F98C3D3B47388084E54A18F21E24F4BE1338D849F00DFED80285E5CB467F3F023C408EF30EEAEB3CF21ABFA1864A26B1EFD4A04F69BB42C99BD695802D54587A59E6BAAADFB55A4907C97E27101A4C053A957173639B298EDC5752538A2C2B5ED22E1E3D61F1CA016CC1F8984CDB8709E4096A", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09E970000000000000000", /* iv */ + "4B", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09E970000000000000000", /* iv */ + "8AB94523A82D8EB7D4A64E532CC455E4995C676D5D2DA09E9A33BD002C66060BDDF0112FBA34F28D23E5EFED25E2BF39D6865F5B466DB51EF1D21C9655C3CDE14FEB422380743A4791848D51B4F17AF33F21C087345194A211689F1C33E544674AE7C25B4A211DE28759D83A5279A5C1E7F21896623D709504AA11BF41A65C126B60E0691AD04D9AD04961C027547D4171A715EC7C4F39AE636378778D8A440B4D07BDE0122AE4CB0038470F570CBCB1CAB1812894974D103C7407BC4AE377DFF1C897EEDAD683430C08998C242FC2E9B48B25258C2C0CAC7B33360988418DA7313D7DD8B2E63FBF07470BEEE437EB6A6DE91E051D0DC1CC59427BB141BDF3C681736F9095C7068F02644AC5BECB9A3EB123118A02C2986424B4054CE99E19EDDA30B8AC662D0361AA48ABB370632EBEAE588E24487655C36CAC6E3463DD529A1E74E0312ADB819877FF6ED3ECDE60E4E28FF522C0171A418D9E479333CDD6F4D223F6CAE87B2A49D470180F8ADC4D664D998573A5E76BC98459A22B64C4FB697875BC978A599B877B0955124A6CAC1AC95671AB59FF5E88DA24B5C7BDB6D28DDDB6C1DB46A16C570AF10AB5F0EF7EEC4408F9813CE4F6D19503182035FA6E7A43BB6444037BF57AE012DB17C1FF8F83B6A58CC6A994E479D176990ACD2193EA102FF1F31BA0EF73C98264C953528EA738E28712F2703BE41BDB3C9EDF11DD1E21E79FE9CC4766AD7FEC10EB2158E8998F59C8A36BE9B2BA8294E321F1D367E57C8C184740FA20F9F50778CD97E142CA2B501CD3F8E2C860AEA50721D41031985C4A9BBC9B56F5EB2C1FE1470EA767163E0CDC7B3BE3A26A9E2708C94969BE4127B3D198C95FDA56BCDDAA19972AA20E9C8158A423380BFB01ED203DBD48C5887D868ACD662273996426FF2E4984C9801BE264E7EAC771C8E0C43ED0D8F44F9D0283B7B1C5A0809C8FFE532774F7110A0C64D2BA3AA0735E33079E788BD1A8469DDC5DDACC344E1AB012D3EDD5188AF20908A93B128F5ACB566127A5DC4CDB4A337ABE276460A8BD3DFF1843CB384085911F5630D35B674505519D4ED3F6C649525429EC166D8924FCAA0F9396B4BBDBC6CD5508A20D8E9835CD2E1E8ABAC838014BB697DF1D48071A9A83BCF6B8790CACBE6BBC690C11998BEA886BBE2AE3A343E27689FC245834901C6A953C7B7ECF8F6A17760A86FC39DE82332C46C6A3F478D29814851C0A0C289942DEE595A42B1AF4E73CAAB70DF3303CCA6EEFD80EB276BB1D60EA209EBC254F1CF270E737F989F4B7487036CF8F3D0A07A65B6DEA8A8C8CE832CB0B7B59B92729F31678DD62CEF63BE181D87BC42CD7DECD7061A1FECCFA68E5CF1B42800BC43D887C31D4376735565029E8941AD52E337ECB81089E8A1DF0D25B86F1341CADA11301AF0AA44D918B348391275A8D80754CB74EC3C9FAD6DC6AF323454285ED5AA97024BE06019D1997CAE4C64D27DAE4B8FEA6B61DE28823E8DB549366B693D7F771DD89B32C86A67D07AAC0D6725D9716A93380376C42D1B32CE02C4686DA13D968ED4DCF62D8AE8299358F3127A8489F8E4C53CD12C48EFB5FC015E9A3AE3017C486B1269DCAD3E7DCD87233ACD216C907F3EB7D6C111C4E93158F3C07F8650022BF5268005CF43AA10BA1EA396E9A899EB1AD8685A91342010CBC53F1FEF9E1149FE8EB1D72D398D8B4C79B6B4AFBDF8361EDFF4FFB1D1CE11343ACEAECB8E5EC13AB062FCD3EE6BA509AF96AE49DB48D7B5AE6D02C3CA96AAE32D5983B41BFBEA2D568F049C8A8DF78E3242E42B4ADC2D79A278B0BCC787EFFD192C0DF63F31C888695BA43717C523ABF1D9A0A6A24AB3104F9237AF57A28CB743BB028DEE661AA5D9AD51A09301EC6CBDACF8A87AAF923456AF6C5244241487FF2B3702D8ED12A5B1A3A6590E2DF1E7D1B18217CDDC325A601F0CC082FE0A506609402610C294EA9694903D291DA360BF3EA6D56A4DE4EDF4109EA9AC8BF1E6903D342AA83E1FEE6583922F61A3AF90EEF4C253E5C8422EDF545AECF77BB8D2C8C0D91E7A6779F035328C95A9B7D89C1A24122A600B853AA2F978A36CAA1F4A0C1D7E8DDDCE1CF4839B5B34BC974AF571B09DB19D410CEC21303F3CD6C106FC8DCEFB37B76918DE82CA46543D2EC371CE269D68FD8078DAE12D9F01E82D6B9CB0E1F1274814E4ED4EC6B6959B4F5BCEF2013548673178A4BC449FE33B75A504E9FB409759F9A21C3BC5FFEAB55E093C698EF12AA0437A1A23396525CB2D067027458627251E3B0A6E30F35F2817E01C873C152E3173EF9422BA5EB3D2AB00D0A49954B2A35A33B85B7A3BE0FE7B93E26F940C00E9B49A57583BBCECE3D6D116C8A0ECA5E2C84F176ABC64D3925239F0E9B797BD418BD69FAAFC4C6E33AD468725FC5F0ABCE68CCC82D0A58BC2B0F2D476B19E3C989B0DBDBB02DED7750007DFBE3F4640ADB409E17FCF83B55BD3F74D1EB31E8C871002F665FDCF4124BEA15C791750CD2CF9F66130EFE287F827D3D1A8DC37C51AE95BA94FB4BF77C5F714C39EC96A6F07BBDC9A3E5B8DC527237A8E0467B586DAAAC02FDFECE406F1536D55839887FCC094EAD2B9FB47EDC4D1E93C2D07E1A9DD9A984132E8066CCD3A4DFCBDA751DE313EC7CC0C241C487B25330A26CAEF7FE532695FEB7A04D8158EC0E267D890B86FC77ED93B45C69636CB6B00F19E46801099B347A548C8B3ADAB808724B161DC26697694FBA23D766239355812E00976CE6B6981A2BF51C82E4F9B946A4B0320B1C2AC9948B80974EF50D6B084E57C51FA46FEA3A84DFF008B083816182B87447AE60D80BB8E2446C60", /* encrypted */ + "9A44A2FF2829B8DEE45340C6C181FE3173321DA3DDF3458147CED74BCDE07AE9F6E2DEF7FB2BD7F9B2C872F3B5A3BDFD0636FE05F936EF10E4A07DBD947C6B4613D7CF08D81341B4BC7ACB46CB11CE649F96C3D309225B9D9535F5AD7CFC7B3C358DF903129B14231F86EF6F1DA3806AFECA676A2CF1802DF65A8AC73C9C75BB43AE5D4648CC4350198B10E97059AA313FA45B78F094932281C30840103545CEA24400877C009A0B9055FCDD58AAFE875C764A4FB7650D88F04703D21E7EB0054DD94EBF1D4F0E5DDCCE3B59BF49F3BFBF2A7B2DC7A324877740069BFA48F47D28F09B4BB07CCB1E13727A4A29E9128FDF9858E98D8CCE32026AF1274635F2F3E10A63386F3346F5158D8B9D6C90E1021D34C5D66D0CDABD12B09031821B6BD2CC1C1FBCC2958A06B197674C6AADEAB8D17847D4168DF9C266A4505AAABF2B474E468F32454C634B16C62AF00C048CBB2C6CAF3933A5DFE0E4064A3428B81FC00D290442F044FF2A42F3E428C5961808632089C9C2DB2C98922945D63FDE5E95FD422C8BCB0E00F3916926F36EAC3BF4DD446A12EC1EE4D8E91762E0AD93EC8CF2261E64B55CA4DEA27FEB19193D0A60682C6ACB8DC3896D20243E4483766C4AAC5A3969EE17678C1CD46D35CF0B14B7AF72785090F1203AEB7E9988B6C569EFB633A3E7E795D99C08626C9FEE6AD90C1C36E2EC134EE61C882F1C770FAD47918350CC8DD01C1023CBBA0222F583F6E708AEE9C00DC804754C0EA896F4AD85F9AC261E792E0E2652724D0AD78EF456D43CDA8A5C0717698C5916952A2540EBB3B0A2D7661C27F53F5892D5B88C68B90533A474DD96C1EBE2E435B3D657EBA3ADD3AAB1343F950C05EA8C0036B38C074169960AF5CDF712FF4ED2F550F638ECC3D788C2371C89B7993C3021DE4F4E34FDF8B3712331542289F1CFDC500AC58319E297F8FF1011A77C5050A9C883D3B37FD1C9C70C03C8068896FDAA61F8BF8859CC36290032A55000227B00B685E33D2F21143AAB93A726152437EE5664BC47099E4586C44FFF891C31BFCBB26DE8915406F306D43005282A1775935982DD45508F699E73A37ACD5BD90D40EECA0612C54184CE51886C77D36F9D083AC4C657E81838A6797230FC5AAD01B7616BAD02CC6E8FC02A12F2CBEB48DDF063B50E059B4F0B730672D7EDF1B0B9456AD670AA45CA57746438F251C3181FCB8F5B0CE5E10CFC847B2B0DBFB805E8BA05A425EDB1DB44A0774C0682124B023B0D3EEC0AF712828890403A8B16F839DA5290DA42246F3BE38D4254812323886B7BF27D2E9BAEEB716BF3BFEAFC7D5EA8DC2A19360592EF61487047FF1EB3BF7F111AFCA0E24BC54A0F1ADD361A4937BA63283234C09C4F2F6E2A62F5C6D02DF6F4B347BE7E8AC6EBED131D960D07C8D6CF698BB85135F41E44E9E0016E3FFA871DC15B150EAA04B11D84C2C8ABBF9309DAB38432AFBB046A35B20F4E43686C353091678A82894E0004D0824E882A94C85B0E4A7FEF4E10AB40678F3861CB525E0769E4D4268D5F7B876AF83E0D0D1FCAC5A49CA16756F94935FB5CAE01E4CEF38736B9264DF56169E626C115D9F8E0D1488445F2B2460E799F5E835D135CF8E805349F874A3C15B93D01C2007420297E1A63908FB0AD71CC9BBFBA23F622AE6BAB3E6C0E810AF872A4826EA46DC733C4F4DCB2B155C125A73488EEB181845C042BDC883CD008F06BFB369111B8E65C8F0FA738A84571C7A2E7091A4518310573D1F8E02124F05BDA1E68EB748D76044CCDE11DCC1D31FE71C0EFEA61BB0F5C21B03F54455463EBDF88C4750B57EDDAA6152962EAEBB275C547EB1F376EA7B47AFFDA91920BEEA3ADBD4A9798438EF7D52EA9666F688CC6B00509006D70DD8D8F1AF79098BC0CBBB5B4FE6DCEBA9967DF8E81AA051EA87DA54C727CBDE686359EC69880B400AA06BA253B38EBF7325E40FE1ECEE04AF9372CD6968A9A3BB7AAA0608C5D11AEFBD1A33C564911CCAFC40E23E3AFD2F275DEB493C0BA69AC9405237107A9AC34B91E662F522674E047C416EF57A1ADD6244125BF17DCE9EE2D8B6AC4369A2E64AB33CCC7E277B9BE755C7A0CE2663E12D6AA825F6FAA65EA5FBAFF6F954664F523D95F84BF6C68EE53F9AACAA644B2D96CE7A4B5BF9AAE60274117E1275B581BCB61BC9CD14C8D4BCDAECB1CEC393909C587151CE8D20D44F01C0214C52FC179F7A1341433AC0722306E86BC51695CDF5F946EB01B1E063A5B471E262C0FDDAFCC75C83B238899FA2F9883B66555F65093FD728A64E16A8B5A78132AE728352BF1A6448B420073E8FBBD419BE6A593A4BB3333C0C0EEDCC70B59D00B129006C9C9A90F4A2D572F13C8B55A5CA5DD7DCEA804D4551E28E72CFB1823724DB5FB0333D7ABBC6D109B15DA74C4DB4F99EF298C1F80E2DAA4243CC159B5F87A609EE90FA215330A1C05D4E31CC387A832426CF887AF69B2BD4C87DC4F97C4CC30DA2CE933212270A6CD032285954FA38342AD37F88AF1FD9441392C7740DBD45B28B1CAB32E2AE680D78A9C425E74F6E132B94F602843586673FE9D34282FC99CC114AD48310DA3F9F3BB0ABB9A933B460EE04258D4E5EDA8481561503979A0A3A371CBF1D2788D5765E7F3DC4978B25F8AB08DDE49C9BA2E59F5E76D04A819ED192A69CE8DCACBD0141CD5CBC12BB50511959EC9A87F09F099C6B2EEDD7BAE7AFB4286005BE091514168CF001C4318054EF590CC69EE2F6D1AED24F784E1F6DA7F2CF178C2C3E40ABB404F4506A7A9B93FAD3BD8F8A9B6915C4463CBC5CB8503481153A9588F933232EF3C64030A36DFC50D684C5D81", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09E980000000000000000", /* iv */ + "F8", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09E980000000000000000", /* iv */ + "9F9639C8E618CA9D5711A7EA4675EDAAB148C046011378FFAEAE0D86281B9CB15E51B928356283560801CE21395EA0A31A8E2E913237D797E771C5AECEC537059137F0195EA3325A758E8C52610EEAF68E92C9B10D92489E8239EA3F72A1C112505A151E5D4454F265D15CF32B7BDADBE57B12865C257E412093546A4099ED3CAD7E6BD3F08E80EB12F32EC8848B5C3A8316E9C86584994C8A8089D5A12CA3B65FFD84DD0D177E01C53A93A096EF8028D7EAFB584D534ADFAFC6891ECDC51EAF44B4DF785E62DE29CEA67CD1B67C9DC760C5DB346B97DDBC6B652DE3E7991C9C7E49ED5F68637942426D90A91B60344CB6154675DB91156B2190960D96D82E0061BA17CB665A60D8893892C2E81FE951BA6B7FC85B7C7A5D4F732B5D3BC2DF10AD5317640A0922F2D3D928C6235345DFE1C3FFA63013291B24175B0A6A14862B5DD7D6A2F75A2D60182D051DD6A38D8AFBD6FC5AC3C145FFB7B521069B4B22729AAB6FCE4981F1428EB4CA96AA19A1CEC94DC215A89611C1BCD27CD8C888E80C5127BE725727EE5197B20AC3715619928DD42D1D43A95AA7A183BA0A4578424645DE14962BD95DCF62E6341FD1046B17A946549E2CA7F6869D6D0E709D31CD7B43BAA7EB061D0382F65A54292BA9BA598A107F444BD7955FDF9B44DF43F15DB638BC40BADE8C254AC1E8FA7FFA2387272C7BCF506F4401803EEF05868862D29D62EC9500DB3A1B95C92E008ED1022CFE445493506A4E264BFEBEC4393BF7B6800B5F1A7881DD2EC7435EFB17DD7ED34BA23C0473E8441E760A055A65366075D0416FFDC4044FA6CF75C3A2A8BD15B53DF1C07D17A17AAEF1B2E3F74C206060D275A1031236224FC1494EFAD4A631115773FB34E5C5D8AE1CE47670338D753A6434575DFB6D3E7921AAB037800D956B317C5C882EAB66AAD00BD5812E6E62002ACC7B12DC0E9F395F296CAB264AFC73ACF9FB08FDB77FE7D49EDBED60405248D61702418AD53006D4663BE2719027FE9665C60519FE9E297FC706A8A4CE216045737C20A637A13E604B22D5D22CC77AB74D0F6139A13BB223042C123AB39C60A25B00B2D760E9ABE7AC829A485950700573EC5A9AFC4E86E02C599BAF9FCB81FDB62603645F4FB0984621749894964F49F652FCF3D92FFA5651EDB65324BFB3D29432D11D4F61C141B46602787F7C9908F33AFE0C3473793C0AD6D257760BC8E8C6219FE85DA0B371655150DEF0D79912472EF17AA041C0ABE50A12193A9193343800A6A5657EE948F1CE19C2229ADF3549146B2897CFF3C883F737396CF4640CDD1E53E9D2F96518CEB1ECFA81BA65017F1B61D84AC6401472FFC37F5F157E2E25C12DA8413A76766A3A86ABD55A408D5F0895D0D648E3C83D2749FD29D32A42539D57F11DBF9D42EFAD5F4A07F1EE950714267369E68705A8892C8442A4828407841D11BD5513ECB2B211FBCD3C5F71E96D9A7A1B3A33BE0526D05AB3B39399B288436CA76481C56586F738A81967F800B0263BA902E5C1A5C731E70C568671404B3E5EF6B3A62BFCDA33169F26BE1FFCB3BDB5072678F99088EE4535418C12C364D9C3918012483535AFB43D94486B94FE3B696545388E62D1C30987FC5F17618A5D194DD7A01EB05E265266AE312DB2435C36FAF365285AB68E04C3710FB4FBF42F9267298241D55E985BD14094D2C0EE3C62921B113D8F46674131EF61688CCB41B0504A45456D9EF51FDDCBCDFBCA8672B2CF774A7B3E8B0DD95F832EB5DD11CFEDCC2AA04098751619ABB9D223413C3CB7963D4373BFD701CED05DB2220C1273FFE02132DB680A26654D69728D590FF82269E3C3DFD22A6C5447906AC9F627070D6DBA6B9D3A22AD6990A8FECB86E4D72D713BA84F8100F0EDCE6A196E768DD475A2F839F9FF969B5ED325FE5F2E8A0D098F7560300EB5D36ADB680B400350ADE4C2721B60733459F7484596259C919B3C5B0AE2FD3AA3902FE74D4C22A54D866FFB4FE6948CF55B2A48FE48540A0D40C8A5DCDD6138B931AE992A09DF0203FCDFCBEFB3A6CDD7F84021205F3683D92772CDDDB6049137E4C67A825DD81337FAEC145843CC152D25D3FDB42894775C87564EE56B04D9490AA128681483B8099B3216198A67B79CA739934B88076DD3467BB4E3DABCA942027031DABA805AA408BD55B69E627AA3C47EAA58F0E52F02A4C2E29F110C2EB7CADCEE1216C796A5382B0AB690E9105AB829BE42E35516398975C4DD973DF840CD39A330FBA7CA0F61323D5B41B11C39E49DAD206A3E90EC0E1A71659A82E33CBFCF916B4942624A39C6A23825366F3F7C4487710BE4C50B07AA3618818206CC162B6C0EAFE05F2A11E9B1C113A2B410614EC3766FF3119390A2B5DE6A102BBF3DED7D3A9824D3F851B78EB1D6FBB1B35211E1CAD844F22A88C30A9EFF30A0EB8245669AB8031BA64072954FA732F3AD8B43B00913FBA2AFF873918CA26A2083FC75F22A7D104077CF9A5F42DC02C230CA7F2EDAE8E1BC3FA6742A348D20D3B2DC22744384B9B47CF39CEE7FEB0AB93346EAC2831BECD2333444CAF2E16477B5C25BA9A212D8C6D5905D24B9BB7D33EBB831FDFCD64931F25F505FBA34B79E1F16F3B70EA9367B6FD4BBC5B2651EA2B4E30CCCDA9833915F0B47AADD33985F542E2894978A4D31DC5DC8F0E2C05990818FC8391D94FBA6352C5FE21D8889BB902A1EA3138AF7281E1946CD21E229397CEC1B9311669B0097BDE61B57CD97B9F2B8BFB1C18908ED1E08C21A6E68295C8E67B9E161AA7B8E67456A6109A991B473E31F5FBDF186E260DB995832B18C515CE8AA65E66A30307EA9B524D8D20BA7D4A571974D683A4D74F5521F1166BC0FFB160543C6E3CB5FC9806D19F1F759CF6A285509A432E555C8C6834656ADB929A4A51E2FAD6498A565949E9B4F232D73AEB222FCEF2ED3893C770AE031E0BF18CF673C44DA2C14275A5D928D3DE4AFFEA89C37F1E77DF0CD597C548A0459DC3FD3CCE6D3D09EA2007602CA42CAE74A8B225081683CBC2E6BF10BF99C8F0B741889B9193D911D0F553AEC6514B8A51FEC917EAB572EE58FE1D5B4B957930DD18A658EE3EB9CD73BC9A32EB9B32F51C231F33F66758B60BAF513E882FE6087179EA0D11D2E2FA67F6502892FF96071C332667CD4EF0E6389528D9C02409B2A99C9403D45DC89281FD53ECA6DAF7B", /* encrypted */ + "9A667A522FFFB26610382735B2686A2BD0BF7E78D40F7066C1363DBAB38E113D748D809BF97F628758D12209CB5AAFF9CDEF33ECF4C4545D4B7B139903A35A8E19C4633100D87CD0327FE154DECCBF11AAE0581045ABD10FB8ED722CD4D738192DDB70F9F3C046032F2162F614A559359502C3DC91768DDBE034696C0C00C6EB86EB1BFF925832A59EB00E6DFEEB197A5217F90F37A2CC37B057C1E1FECE4036D23D006645E9087647E3E3BB6A3D76805DCFF2FBA1994B6F6071E55DE5A6347DA5935D439B05F173EABB0C13698FC6F6CD10E44EA8C0363D055F9A5AB76A36E1637A14A2DEA4C025CCB0B350F53F2912F4CD207F50C933E9DDE1BFD8D3C9BEFCC4BF9A2D952C0B548363548F1B9D3AA7193DF9C95E3762CDEA0B326BE31B20D9343FE4C0F668FF43B42AA0C8FEF6C32894729F7BDE519A62C73E9E24F2564887F6E77E5650EBDA71ED8D72FA6B0F46BE7FDB71BA4B96D6E5717156540EB7FAB5FCA7A0F56D0BCC5A3A57D747A1C6EBFE524E5758A135634F3771A18351216E44DB7E4C3FA4848C08DA716D4389DFE3155C38FF474FB1650514F7C2399463D6321577F67F3F9CB655E8FAB42319E961A2A02D6CD91C79E0341D4D2FF2CAD4268C10F84FC209E77BFBAD7252336A07255BA80DECEC2D5286B174529455021DBEB80B6E75AE0AAA5A9DE488D96746F35D1BA9E326074FA3B3BC7A1D888F5F2EC8C46FA7AF30380CA40EA3347583BCD6AF95D96144551F05A4FA821076E70CBE0F60814385B946670CD6B3CD7597E7123F816FC1E94E485559C6B1D01AFAC0CE15E0E83B1BC414FB447E7686C8D22ECCA42B788B3F13E2CB1689A8D86ABB65602AD502B57680EB17C130109E7456CBFDCADDC668F3E67208974BA8CB1D5B7A91BD39847553FC9973E2F97C03E59E0076396A47F67346EBAAA7B2EC373D0E53223B569EE2F45CE4266BD5B40F994F138E54CD26B475C72CAC1ADA76D992F0D849BA4C7F007FB0CE2A1428DB9B846462B7B1424F1862F8E07FE0D7A107DE369E5335A2716721F38C2575627F34524B0768E2FCE189A84D1DE028BBE9637D9C6F0B20EE252D8049868D51820F95D75F0350F04A8AF23BE6E6568A8AAB4EAA80F1AD872AEC949A38FF678DC12C78A47EE669D1891BD2CF54A2EAFE0B530D70D3971BDA60638A5AFD00A9B0F6924E777D686D2E11BBD6F5233518F9F0D1D62656654D3426BC37B1458E036AE5B7834E54FF1A93B178C25B70484556475814E3D763F59E6E4AA0E929371040333DED9EFC71A1AC78D29724A114DCF3CE0F56583CFE5BCCCC8F7343A15390F4A19C3B2C06FEDFB87EF08476EE20CBBE6B3F53067166086B3A71E0D214FB968B7F290EFCB44DFEA37F07AA12544BAD21D81E627FFC2B109ACC99CBA0AD34E7AF1B263CB069F340396A36B0FB3323C4A1F9D6980EA852D11F48A0703924138346B9D6CD3A8C1133946D6E1AE147980DAE0CB2F80099E5CB085A7F326B557154710D01BFC0F01B6FE72C0A5A3671164B4B87E68B869030A701C4C0FFAD569D54C54CFFC05ECD6DF4E93CEFF8BE1D357A9EEDEC5240788D185C39C91A1A6122A397E46F6FDAC1F82B6DA16677CD4B658634A033D18098C20CDFB5DDBC7591657100834157D9271FBDEB3A2F50C7FD2B11151389174872F23BD2C436720AC6F6BDE9B45C337C383BD8D22DFA5301A3A8DFFC1B3A28364468316863239C3A298C2D2C083430F008BE19ED4308D209A0B989D4AF3BEC31EC29AF66489BC011D9EB6C634D6AAA6FFCC6DC76D31E4925E291E64BB9A7B7160AE0F17D0FAA7A0DAD85FDFF29ADC512522E3A2AA65217F7523F410F8C227E32AFACAF3AA4800E21D6EEEBF8E6FAC170EFA7CDD7B636158657C15EA9CF952DB2D2749515A45C56BAF5395DED03A71375AEC982F1EF4D02D7D6F99A598C826339EC314B9707BEC432F46D708932684F4ECCED4737FB93E15B1966CC85E75FDE7BFBB6CABD76CD06A8BCE24FCE2F50BF2CE33E76FB7DAF9D2087FE44B8B8F4E17675BA569FE22B9CC4CF8751886AC9BE8272FB4F2F5F8B12623388AB5B02FCB96C01988E221D3B7C3037FB9F095BB48EB2D131EB4B8D18611C5D52FBDBD0FC20F7AD6C90BD8A04BA3AC4AC52005ACE8D620B6ABA002DAD46FDBF20F760A55D8D52A1C41E5CA1B6E9415F5B714013D96A230BDCD7560AD7B4DCC2B31DD77A5F7EEB93A0E05E5EC82CCB6E92EB6B0A6E4496ACDCAA124115919626B65BB67254E8F97A721C8DDA43514B0C9CFC3DA806791628C563F96135A01E2847AAADB9B60089536BC7C244CAB4C84B59E073132039C951D7B9AF8A4E562796A853E06800D7DC5A60DE97136E9EC627F1C84AEB6C2862CB078C3039B38C44EB927AA43B8744911A5FA72D9998DAA9ABA96B9FBFDB71EADECC28EAA30CDE8509F1232DD7F11038662C29F5FB68EB27BC0C5B58A45E0A16CD32C52A95A6067A3D5C51AF862881D0158431806C79520FD6C97573C0F01328F08278CA1C3B5FA3BAE145A9D3F058912F03C78F63222D5A62F66D9CB0054CAEA7E15FED4A782B7672D3228E8A32F3D4CFE4774D2B78092A88D7D682E3197069FBCEDAC54E4E216A209CA293F6FAB2CBBA8323E2D998B21F6FE892AAAE10EAFD082B5AFC228210762B9B8D34F712C62CAF8427B3C67D86C168F76E890703463C2762F77B9E21E50C81D9B1862D1B091EFF5D10813468BFEDEEC2E037884F545C88A932A49ADCE79A8F2142EFE9A606936EA4B94FCF780194C96FCA23318C5B6F0A522E590373D9670DA05FA5AA908356188AD6F68DEDF8F4DDB1909677D1B00F410BF75C1C193637E8DC56E0A88455579561B18DBDF5A1850A430E42746B89EE6B1FD25C0AA83BE3BF7D255E60C44F1C5EF7D8E7940DC590CB86C803E39F74BABD3B8BF55C67B4F9AF0080A6AA6F6C9E9EA846510424CFBBFCDD95F4E8A6256352AB6E3475D595265045D0FFFDD476906AF44328ED5A81C813A7C1407045820C634B219F7DCB33072FF2E4FF1F0485CD1C6957AF259BB80769481BCA531BC3883928AA6D4832A4F828ED7F337EBB685DC43F1D1CB9900D24423381AFC8A6B8786CE66FCD9C848C1C3F49B83B94651FD397C02EF0C46D2491F992AB61510A3893120BEB70F9F655BDFD8BC189BA49E33455CE60362FD416BCA79C6DF37D546A0C35596919B7A2689FE8D0EC", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09E990000000000000000", /* iv */ + "B6", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09E990000000000000000", /* iv */ + "2A405445E955EF19FDAD5EFC29047407C78F56BB8534433A40A812A0FF48C43B6C34831D47193C50E28D1F6775649547F626416F1127F14826763F580E96C13B78BB1FB1BF2B92216A8096826126A18222424ACF2DDC5DA793C9345FC106A44AB887F89DDA1087F9B6CC2D0642D5A75459A4E33BD40F5001E079D6C55C4DEE90B2F49770FAA58958626121C4D07BC04C54CEF0E10783C630857F88582206564EC76A39ECE74ADE26680F7559E7A01E00BCDCEB7D67F66274E79A0FC2626641CDE91A3E8FF8BDEA0011AD58D8ECE44BC2C191F00B946D49093CB04669DF252BB110A15C3F24B3A520D9D35A494210A01B9D3836215632E6C2462BC60C2BA71B0EEEAD7224DE92CC30B3788AFEDFA42CF092196E74AA05CFB493FB4DAEEA8FC7941B5B4061CBE0D6EED52EA4CF0262C4E010972976F51F18A3309F4C7A53CFDD23F16BE2167953000E0E0D503F8661D458DA37B238E3AA5D91CA25C2FF1FFFF0F9E7BBBF65A55FB6795224E47158E8EE3BE01E2DFAE7B12892A2D9A47DADB375F23C96A2F7AFFBAEA5DEA403317B93AB4BB3DDB775B123EB64836B533C195678C4AC5F3EBF0C4F7175BFA0AF1F8E9A48AFFE725EE81A8903DEC6778112E29D05082D2BFC1FB34668EFA4F820163B992332541CF767A15775DE290F4BAFDC32626433A56B3A02D68AB0F1649B546F290B5E8CB1FD0FCCA4B1B8EB68C0F9AE48D593BEA1C944BB3B41A58735E891483719A3EB98A44633D8164AD63ADB1963DF1574334D427A0FEC572C4730A6FA9EB88309BBD2A3BA476A0BEEC0C8670AF6B65D6307084A4A59411F52FEE3CE1A52C1084C004825CBAAA51432C1D32CCDEFD8EDFA373DE3E2E97DFD218870187FC4432923204E49EFB8B40B7697D251545A89304679B7F5E87D43189109CCA20E4306665A898553FA64FF67FE12A43CDD171B5C691C52BCE3D0EF2FA7464A73FB3EA2957677A6518DF844799D01F442238977685209B4F9B8867CB5672802B0B8D1DE9F3B8F684505D4946635242832FC4FCA5191B31511EA36EB714D7B1C2AA182035C10FBD081AD9F88D4EE2991EE0F258F06F32ECAE2711967A2FCE9AB99B07C366043914DA413D9F537F2562D1269F2F409305CFE470310AD19CDF0C5EDD9553FB6D4E294EEEF465ABAD62AA22D6562CE6C8B1A91DE3D8AEE25E8237C3E4266F9F58ACF724EF33F41B135FEE038950FF471C957C4CE010E87600EC58DF8889B0DE2D1C2D263A6E840F2E6F2E45A8B8E0E5DD76602A057D4AEDD3E18671B9B89698A2CF009FA5626043A7A5401B63F63852B7DEAAA14502798AA5A425A6ED17F8468FA1366C939820C1B9B27128BCAD9B9634BBDBAD8E73B48B8FA8D77368DFB8B60D633BCEC7D04E705D44126F53EEE14B83852040776ADA67F46C30B4AECF9B825C71096871F992A6E88880B4385CB90CC7923B14CBDF80D7A36C39EC40D3848439D28A2F87C7567D8E7B5CE912544D5D8E195D7E5747698B346092E3040E6167413881E797A4A74D3A5EC06CF60F31E5F79A620DDE64441417C4D81CD254F197132738E3E41C1102158BCB3EE997D37F767EAC44F0FFC5B14AB13C5D201F676FFB5C446B1F73A6BBEB562D66BFA52BB11991D007A31E2D178D10CF0EAF7DA12D6231E4BF2ACDC70C12169A01549E438F53745837A669DAB3D612A2B381A797CAAF705AC374C18287CB8F9149EA44A3CD089582AF47AFB0253456263ACAB903674EBB938CE9E55E52E4DA787A0D756F10DB4B3568D96854C87CA44C8D87F979330A5C511B9FA6EB5341210DC8FF6AB5BCE6B98C736A12F9A28A2C7FE25FF2785C696D39C03ACEA251751C03B5A436D8556BC867BAFFF5048E4D2C205C953483FEA4978A81F7226BA43526D4991DB0B3CA3E009A5A215899A15E2EF126C8D17CA8173FC4075E617A303C037021B236D346132DC1BCCA1A431069645C2AA082A4CC13F423A5B3E8E72B4AA911049DD185FA13D55826D1BC6065162C9527F22668D204BBB0D667AEF9E21417557E6064FFB772ED46A086DDC7306C2D7B75032E6B171DD013752F2AD02A0862118B3DF84A5B322029E32332F21C1245E157432CE9EC2D13DBC54641C5F085F42711859AD4B764FC4D6C749897AA674020BFC484A58CF5073865211B58D80755462225C4EE474602DBFB5CAB89D8459A8D5909AC348DDE2C2DA64DC8E53D30111518A09668DB93F41DEE9DF59481A01458373D43CDD9554DB89E4DC8EBC028EECDE11BA4AC41049D8CFFB13ACB345077EA332333443E68EB8B59FDAF9A74C025C05F8D45F0856DC10140D57C233C9E5A39548DD0069D05C0D7608F422D4A4CF6AD4329C8B482C08579BFDBAD2AF4CDEF267365D2CDD31DB5994AF4845BCD047B2684ADC7F05173B3DCB3D0D1DB0CC6E65879740F8E772135B6EC0854D461693BD6521DAB7456A31625E76B5EE68AA19AD436C652BCEF0F3FBA7AA1829B234017FA5B2D84701713CF7756EB5EFE614DE65ADE3A9814E9001090572311AB082C66B6F484D9859B2B36C54FBA517D912FF091804259DFB38634F48A5410E20965087ED6A1D25A5346B8C466F3577CA96FA7127AE27DA8D52B52C9E59A9F89536F52F4689244A7B6E429686B519237EBA4C6379F3707D591B07DBDF9C5F1CE3EACE58048E44FCBD2A045E6BBA6B1C6E264EBD1D77E2DD367B8D1515473A1655F2B8658D735649FD724CF615F62736564B248F856A41C546A5B38B2631B088486388C0356107E4C4A63344DB946E6FBF2EFDFEB8228B7BC21AC47D7743050C662CE942D46F39658A6D4C99B6D1D0D3C3BBD51698F2A506C50F934AE47D4FE39D0F9258B15A8AB681176F0FC0657CBDC15AF9BF5EF93F0106BF93F2B8B03113270BD1A1A9A21A9044BAEEF58D5238AD621814E5F5F1D956E852E02502AA68F6A4EFD3969E564EE9DEA4687A5C5542B2D96182DEBC7A2A52557DA625BB7F14F40E974FF9A1A8F80F9559AD20EB0EA3179A53612B0BCC1F43DD33507B201C6F9E8D8183A8171440B50733C0CC7747F481B3705C8F3EEFD170E096BA9D4959B878616B8EC077AA0D89E250C656A03BDCACBEF7EA0CE418F40A290FFAC0FD0556C4FA3251BD83078323A87E000C8C929F6D0CE5FA6ADB26FCCA475C8B61B2A3BB992527DE7971575145E641314AED0B4A777E52E622", /* encrypted */ + "9A887A522FFF7553885460E1240BD5D43CA6A1223ABCDA634CA9E17D8E8B48CB6C9A22109F44BBE0FA64E35197D3F965FC6D2047F0255D306EF7DFE9D225BEFE3D1E41512441B969DEE8356E47EB10515B456D2BADB93AD5ED148D60863742395B96DE4444783DBC0CBB6FA9D53A0C15E844B1F966C83EB81C1F3285BE727F79F39599D63572677B742D7D599FEF37BF966DC1B4EA20BF1050FB7ABD2691A386C01CEE13AFFC0F407C4069198DF3C9804C265E6AA8B9DC81885E13D176D8C2980BF64F6937C16B81658A69ACFE7E80816137196FA269354CC6879439CB6133D048E37C0FAC78EFE2AA57A93D601464EAE5AB6CF49BB82C82D82942A8456A79B3222878A4B39471CAEAD96FA7CA9436DC647A2625258843CA89D7994EF46E401F3C15013065037354143E51FAA4BF4F20CA7C2189F65D8C9C86137DE6CAE39C4E5EEAF6E4CAE81C5D9471CF1383957ACDB009BA1CBCE616FD957CB2037A652DAFD5A75544974E68A2EB8716CE53217583EC77F9CA613AAC3A4AD09663FF91072ECC3EE8C3878069AA2F1C78276E957430F828DD84D1804D9923F8CD81BBD60189EDDA51CEA2DA4C155C115226C931A0A37C16FE81D1D8DDE476F27E646B0D43FAED5F758CD3BD1440C2519E4D1F783CE0F494F06E8BC8E97B5B36BA3853DA08BEB80CEA68E8683A4E3F90D7426A1E036C5F2B8ED2B5C7F622E60329B0116250F8AF67342055A1AA0101B11357A34CF947EDC3E3888EAB4EF85AB972E7116BD1624650DF566EE1100EE8D699ACEB2E16F01BFD57C010C7EB4DB11293A5AF001F076BC6EB828DA848C417BEDFC0E415D6C3211E60E9E89275E495F6DC7CF6A8B87FCB498B5B520FD81B9EC85DA062A6CF89164B605337C7B0D9E9E0159EB6AA6D20F62E73D01073AFC4AF43E676EED75B0B081D4E7B824F9298FD9ED3D12D5BFA3705AB4122B50F7186EA11569F8E186D5D5B65161F5E7E551B30F2A796A405D17A31D9F3CD9C9FAC98EFCAA8D7AE78DAF971899B83BF96B5D1CA39AB7F78D6147198E9255C9640CB5387C784954D7B1C13902D47E37A4FF3FB2BF2A353E8CB0391E62DB8A98311F3F400DF89533FBA0BDEAB8F732F6A7F0C7FA0E30EA5A49B3C896E2ED9F80A2D064202A2C6BC3428DBC9095CB47EB76D74CDCF0F84A1FB8C8E17859E5846588A95E2B943A8629F0F21A472F2F8C575137107F6F7E80DF7A68E8CB2B1E1AA382CF5E502CC3A428E1F767F82446028A6D2F044C9EDAABD5C587D590F3865DF3611DE6C02626711BB444EE351C9319DDE77875362BE9E68F65D12F09AE70B52916F174733C01C0FACE0094E393C3187AFB697463C3683473FAF94E694832EBA00AB6BFEAEECBA19F003973C73689A79A6FF77912AC4B11F166539DFB4051462F533B154B1B6D4C23CF72AA458F67CFA52CDB9BB67D99E6C6EC2F0E8A6D3680E5C60B35511AFBFF56BD351ABA6CCD4ECEF9757B26A0CC393AECA0229A136B932084EC673A528BACBDAAD1C6ED5EB4370507CE518F48B0FA329DC65CABAF80468F50A6B0142B41E573BEA07FC7C8D126BD33793E50C5056446C5CB6B9EC74F59729DB1AD7126D6B0BA14F6803362835A2C0A40D7822459D5C7FA1BE406614F5242216252C8E013DD66DF90457FC159801E80E0E1530BE48B37C547F80B511BE005CBCD17D937F3BB1A6C35CE5D96F55B74C5797BC9D29F8C34591E6A9113091ABBFDEF5434BB7AB30EAECE42609E4E787D6B3F1070E93F85C5F630D76C60B69951230DD10BB1AA411C9222EDACE3F0E7A96CD55270390B671323576B62230F7C23A8CE54DB3E7BFEEC8AF49E3C77CAB720DC2A95F2CE8DDD3A3E02FE79AD051FF1EBF84CD42493D3A2FE578B551C10A57C4962C55EBCC3D9596D6CB1B5C85D7A7966F9551068AC2877477CA042D54D4859145474F24B6EE35F76226AF497B03E97D9F6D12ED55BE6AD590A80FCAF85AF26B09C850FF379B286F9E8501F6D3C4F8473971DC64C74B0F795B56CA488E33AB08CB33F80A90DB961F2942B1658125D2F28298080C3EDFB925634C0F83D52571BC3973B5D271F71E49EAECE013AA4E3DF62433536B6827B79BE71483CA060357162878B3A7AC4C61C8EEEC237D7C331E2BC706E18F72AD2AF8C8CDAA6B1ABBA377D281A494BB87C9F31AC58497C81566721A87E7E5886349D305096974D083DC97F6B28F8B6DFA4505BE9BCDB834F74DBFEC6296F4151D920A3E8E3A91B8172B35A6ED2DEBBE2C150DD169C822FEF6C72316608DE95F24FDDE0913BB1C6A562E06CE96203DF9E60CFC605590FD0688D9FBFB178DD3130D9C4C059049E8B79BE5EFDB611605FC5C8A143B57617976547CA2E1C46AAE70A9FA3A6C125F3D79FD328C0E1D14D87282CE6CCBC968E657C3B7A0D18A96874A178A478DFDCA13EFAEEB2EFAE14DEC5E406B1F3AF330152AE482EB85689F08C6D3E1B11E8E76A93882256BF90EB0971076A6741A01083898982D21BCA1C3CCB9A2100D4ED389FEA83621290C01AF9F72E4C7141AA54B0BBF88F30435E61E13AE26682956A5F8D4325706C53EE80E24F13EC58BE81B588B722D8F9DB27963F16CDA7FA8E013EACB7E70B49E162D2F89C97090BEFBFF47C0751ABA6155287A92DC8B814EB3235DCA8BACE9CE954423453B7F61BBD462227CA89737823DBD99A95B4A59C71B1C586A4D4EC6ACDC9ED5986F80EC3242C2F24F75D63405A2200A0D7721B1C49F4584D11B8311560FDBAF7C3301D4FBD3B20851E648B4671578F355F7C41D3338AEECA69A6E4D41E4BCBB518E4E9B740AEE9E01EA13DE98C44DC4601B71655C77B6AA890F2F1878B8B58858DDB1C75AE1F852820EF2AF19DD16DC04D80AE8C67A6FEAD376FF39792BE61E36B8E59E9D58D2B29EDD53741306A408485A9BC48D9C210EE54D9C7A4CB45BBABF3C796856A0E6EE57D0EF32861A51022F1422037A5AAD55C152D805C36E29027CA89F5BAFD8557D1412B7BD2E183F98906281E0304F0517DE4A23C91D3C18C328F9736E0A37E3841FBEFBF7C0A3AC5B69411264CC8001A69BB65A201EE46E0E8AD63FF145DB71C0633DC02C102F2C1CC50EA32FF5B9C85A841C771A38891B2D013212F024318720D0C72B081A2FC239C781EABD81C9D6255172F1E051C64116FACF83592FDE7417B950AEF122DF201451", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09E9A0000000000000000", /* iv */ + "B3", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09E9A0000000000000000", /* iv */ + "078A1C81EC2E05F40B67861ED25BE17B2D3457E45D69F898708F018FE49BF30C6C3F403BA19D5F82D1E2603FE7B390F78665973902E1AFC040541431DA7E10F570186A4FFD6B0FC4369459A76C8D3CCF752C37B674F32D726BE856EBCFF11F506BAEF3E51C08730EEC9F20936770DF072064EE768DCD28DF4F0EF09B1140E9E3C5B46A824A34384DD80EFEB58F0F55F68E6BF0385DB30171C0669B42949C6074495D6E0ED01B743A1D3063F1E1ADDEFECEDF1FC0B682011C0988A0321B5B2896704670FB16DE4E596958C480AFBD444B43D4DCEAA307B8F1D3F58297B50040409AD241BF28AF6D0F4E128778A7670A1BD5E1A5E2BA671FEF1C4B9C3EFD0EE51EBCF8C584B142751947659DAFA39C6DFB74E932DDEA1FA75F317C2A2EB10324C04FFB26936EAA43164B240BD7C65B962981B300E2A5E7290EDB69EDE4486C10F6055448B957A30E5E2B6C1E8B5A70C056B50ECE34824F1A722E6D6B5964BF3FDBE250EC989C142A728D250E1C3AF668F9626CB3B4FD386B917BABB4318A761A5D5575EE37FEB5B277F64358F43AC7BA92B30BC15D32B0E3EE416F0CD7D8336FABE777C0E0EB131959B297BFD399A39BF0C0643291A94318429AA9069587286A118B62A8F33973E6E4555F9A7B3609D5A495EADA3F0F94EBDBF894AEC049CB2F1D684643B5B99C884A87C3F7250C4429287E05F6FADA1E6F92B29B466FFD29887A115D8B1CA7BEF1E5A6418439A0D174E230ECFD906B149772EACE3B6281D4C8122E96619F092004AE981F740FD9F26266A8DA24CA74BE823B02350690E10BF1EA219D43DEE28F609D25E9A48E309FA2EA94ECA61246A3F6BAA799AAFDCA357A2194A57CDFE5E8537425BC3613FF24A6BBD34F091578D654EC464CBB0F1015944797318A92B872E827078520C658747E5696D71853F055318A9CB3CB88A4F82407BBCA226A9B8F5818CF5DB14D23598266C246DE62F0F2DB48214323DD180F3981B2AECACE21A54A8B19CC572E5A469CF30822BE8AD0EFE83472A143D9A099C9A8F3D924B2F438C34632085A12C90389F465DB7335DAB4C26D8A7C719E68972908BA2687844D3E5799F8B2BC8C33ED9419333C579BDA3EF7B2812DE7F6A9ACB79EABDEC4FD6C9D40D590EAA2FD86F94193E8D9E468110983EF18FBBA1C2206DE1709971C51662035F163639031B7D5E9075A9DBAEC4DD6D200FBC209F0D0CD58563C7C577EA21F9AD85BB0DEC45B5802883B31C9D0AE8347C4E626502460C97D8C1B50019537E0DF3177075234D3FF3C5EE97B5DF91607A70C04798F225A262794C1CC5048FC7EB1143A523D72EA8D5660504012465529F659B0E5816BE97598E9F74D41BF147B980812C90AC78198F1BC1AA0072C5B0F5D97325D20C71127CEE3BEEF07F7A29FB52AFFF12252B3DE662030BAAC4CAF0129F13CCEF138C5CF62B9DE45D821ECDEC2809D891871294EDC97208897917BC6FE0F6B7ED6F2D168CE150B92B6EAD0E1EE8F3827787675B94738D7C621EAA54AB5ADF7584D46432FA5243AADA760A28CBB1C23520322C59F10762CCB7716EB2877E620387D69D0429B15F2227F8A631574886BDBA60E85DA9A30F16348E8D9DF3361B79E9304403DA6F312D579D53A5E7335D5E0789D6315FA1D5F3E4B81A77B717BCE4CB1AC7E52B82E816A8D91E79883FA50E55A7CBB3AD31D4F7450D930E877133C124CB9A4A59089D0E1E14BE2E24398C4953090816E16107507B1F2555AED66A49DD8360DD105C870D9F0DDF816C9B863585F10ED9B2EF898E20A0311263987C2B1D91AA8FD349239F915E8716FDA0710FD83105DD2D187FCBFB02E3164B155B6D6DCAA7F6382223ED854F275DE854857350162283092F8FB23DCC9429734AF77756CF754702DD04B3AF1C1DD456C2B1F02B2DFD0744E10F121C1128AF8A365845B4038073F4A5D92BAEBB6AF7865576DE830FAEF6F5BC5B35F196DDEDD7FC31F41DADB4D1F4E4962819A4DE0F0B15306D27617F739F42709C3AA0FB8FE3910694E46E133CF1BBE084E48A5F2CBA9C344FEB2E87EA553C0ADD7A1938E2EF4FFB932B8D523BE2635209E690C610AEDABA181E89E274E2A10D124802A4630ABF19D190115AB4DF2266AEF1A5D9DEF7DF788A76A9E6C1BDD990314390B11C1FC99FC787307581386B8DE10FD50A4E3AF6AD3065D563F1D1127FA667B3744BBD2A1C89ABFE32542ACAC9B83CD302D82C17B77988576DEA812EB6CDFF3ED035C57261BFCC5D4E32AADBCEB8B1FF29C8C70B1D1C219C7A59B26FDF78BC7D96475465FDAEBD96A7CCEAC7A534327893137795942224AFF3755ABA6896DD5F2E66F8167ACB3A25B3F6991439C506E57571ECCEB97874731F2F5C68707004A7DE7C723DF07494D1704185FC2E87EF3EF0713697D05A378D95F23485F821AF89368D4398A4BB6C19D7F139749DC873776CD30B2068B24D874840A1FCE7877666DA7FFCC679E0A3384CE13186F2E7AF274787D2C84FBED6EBC35E267A76ABB7349502D625290B662D146896F751CAB3F4026CE212C965FD67AA3ECEF280DAA2AF49AC6B15F3E43D18D1A87F00929BD524CACB5BFD85BF03DB421918CCD96B345E1E240B40182542BE55EB0A7AABB84941E974A0B6F14FBE32ABC82DDA57F13AC4A422C7052EADD7B7DEAD838CB3EC53330A3877EDC8BE3BCD0209830E7546DA6A29E237297C352070EE950709A84CFFCAD13D8DEFEE220CE1569A1F29F78EA3516D1A85977F93514026739C7BA15D86B54DFCB14BF92460F5973DFF36B4E2381FEEA5651E6D1F1943D8B372A4AEC21E343D87B1D91407DFD5FAE5C327ECE2473227FBBC755B7CC949E4ACF95209F2B24FE7949A200B9A45FAC6C2BFE75D8E93B7C745E0C149307CE41445B5C63FECCC1EFD4ED86F276F2D50E5869A89C7A5F36D119F185BCCE426F6D76AD6A371282D5E8385BF62CA34479ECE19826F52766C7470A452DED65DA365B38CB7D96579A0E287986246E79A27BB94B913C04765518D87DDFA8B2FE1B12948826153638A2619A9F9747CC03DB2DB31E8CB4F46F98F71EBECA0C41DABF82792FC0CF844CA972743805923965F3E836A419F380EA4FB8D10CD4380B9693E8A059E0188D3450CB315EE958F36C5E885C19D402825C1C0EEBFB0D8405683062A1AFB1CAF9F5FAA49FCF209256ABF95D1793F888E8D47F26D72B0A7488D430AEF8BD96C9AD474DF8A7BF468E8D6FBB052F606E1EE5E8FEE8DFE472177101407CAA50CF6EBFF914E0C98ED2C809C43F33DFA2A9498E5B10BEC2668739FE4F94BFE8AA0353622D4982F9F58BF16815D83A6B2D3CAFCDF0A26D6FB4674CD59E3B6679FB107D7F3FBA379DEC528CB7F40A5073D37EE0B3A3B4EF2C96D3F695FFFABDCCD33C22465BD149B710B75E3549E3EB5B63788446AF65F163BF12DA7595F499FF09B2E4191F4FAFC5248A2544EE3555C609E5AFD4C0159CA303869A45", /* encrypted */ + "9AAA7A522FFFBEFD840E06D0AD196A6925E70CF84986CD02678F193CF47D87EED68EFEDB1C0434BC4265431C2AF3634E5BA0D8FF45324E33E0B6B653383FF97321273196A31A78E2C8F7C49A10E82A0296209539152AEAE0F9D07281EB4BFE106655363368D3B5D408B188AC517C061FEAE2C7FDCC02D5DF2A2E36710FB77101B3E92A91341AEC7BA3A6F6F412ADFA4F9F4165F929C0AA6FE1BEE9B40D55249ADFF931D0DB00F0496FBD5172BAA3CB8B88614479AB48DA615D6BC757B1DF3A024BF97960D4CEC47E0A56588678C8DFAD8BE5AC359440B749671307F82E67030B01B202E54C1D54F18A56CCFF857746610CCC1EC5D4ED191009A0A8CFAE12B8A8E86E6312D996DE9EE594B047A2FA5F7E63F5664E7DCC1090393996B5BA137630C06866C58C033321D87F259A213A2DA494465CA68645D4122723D5A8FDD584FE1082FF182D72E8D2D752BC2F576A2E248A7975D96BF637629224ACBFA426CCE435FD5F96113FA7059DD958229613D41EBC3D03A3B20DB2889E33B9DFBBB72E27CD03F8C54CE1F5207596C60F834A87667B428657EDFDC0BE5D171994775A75C6A5F4C741F7391E26D8F320E73407826C9A657A2EF1BBDDB08C63FC14B8CC012F4906E34AFE72A9D28872C4BDE114F1DC6D1607EE0098942CB92548AE19F0D023994A1C1C25B4974E6DB39E4C1107DC4ED524FBAB58845BC32CF0B900836A1219F0F44C7C87E38552AA53DCCB3FF1369154ADB3E7FC46D125475126BCF9269B9FE06F1733E375FF0B83F71D6CDA937E625BB40C386EA394B51976B6953C7903082F562D2AB54CEFAF03885EE7FF025D3B5FB19842E5CBE727471642D7543093C2B9AF27F8599BDD5564549977E12903B666166D2628F22B9FE1F502DE8E17EA394E252F5E29801CA6A264582A4412014C52C0BC67C96602E1BE7D31DE68B3683F71C272F050232BDB009FCC0A293DB92243F41FC83364C9A548A6E0FA1C298F9C82681BB13FDF6EC402A101E425B8A3DF9B78D6BAE41F300637391919D911A08AAC23A4124515C30F8E66EACF69C05BFC3771335565176E97A9AB79F583EF4ED8EAC499C15477712EFE59D3B4BF43585233CA7E57BB25A30BE593319A30AA05C262777ECFD3ED445BA0BA39AAEA203077D64DE6C291D56737658FE955739172109B24F7103E224A6257846C3A105F84F68239C59D1742B14BF72CF55D17870FF3AC512A63DF2BAFC455E88E54EB08677BBD8A02073BE90E834672C13771AE0CF55EFF3E7D869D8B1D8B3D3B7FC90C101B162A25B123CB142AADA95FB54F3D69B4BF2FF5400AD4B344E7533F15550C9FD584A64BCE26872D45C12A988BC5E2B9270335A7D27238920D75127865F2CB02D64A23796474127A256E14A628429EAE06A89326B8EBA187E604D4E2D346FD344483F0C41398E52224C943878EABA951D3BEEFFE00E403E7483681E2496DD7DEF867B72876C09CA9F82853705B1B3542F6709059BF65A92773633636F6EE1E0AA271E5C63F72183F821572C492B2DE6F2D2814D9ABE6071D1EB100EFBFD93CFC0DE3FBF22A4B3CAA5309C7D72533F230253F30A54B15F5F24120ECA5AE680DC7191BF623B401822D4D1D4F311445607F8451633F78C842F322F4D226E73C0A3AE1E086EE0C4D01E0B1132AA8652F8C3185BD22B8EE293C7757C373A1652CE1552FA22AA447F7E782B581E1048C444B27F32E07A0AEFCB97592BA9CF0A9EF5A6339E1BA0D4882DACC6AF923A12FD6B7DCB8FAB8EC086C27858A5378FFA1EA57B4F78DC6E5E8029C28C1227D441F3FB031ED60B996F119FF8B278B0983BA5B83E6F84C933E315513847B8B46D1AB23DB1E299FA0A84192D954059C20AB66614FD48D6C3A52DFB3C21BF9908848C94375A3DE431ECF68B50045E7083D2E12B55E35AAD10C3175A05D50B0CBFAE78930F9FC975640770A89677EC885B39BA29F5DC819C61E199E9C75E9DDDCC9829C0D90C542ED79FB21E87993C717CE2BD0CF8CB6B8E8A24F5268A3C47A8E6B45EBF0E8A908A1D27C3EFC8A67688166975EF5DFC3ED0BC9D8F8017C922816F52709652AE231DE8BFB049B0C6C0B9B119D89A1A81BB7495A996C2577CF65E882F4306C72F85CEA7EF39D4C5635367910943EC2B70165C508E913E7A26D0FF3BCDAB1116BBC15BB93A89D3B82E7C6A38CA040EBE2E4515D5CB2FC0CCF61593AA3BA3FC19AAB75D9D7D4ACDA944C3A49082061E34B56DAFE242D925D26C6BAFA83261F8881BD14C28E4E582881299500353B032AA54696FF14264A77EA283B377FEFFE7C9323D7C0F9B5AF157BC8E207E7AB40F4BA5B51795971A9B940D9C20BBFDC7AE68BA4E309563EA405DABB16C0F14327F79E0D28141CF2583888D6AE171A88EB3AC704E7899EDFB4FDADC07EBD15F64C30FA6A54DFFA26FD83448A64FBBFE75B6D3D1325DFF7A5DE6BC71B3BF1571881D450E86AE7C1B18DD2B5188B5F4B974D9D0FD2B2F5D8DEB6B0C688D8B1B041B2D6A68E01E1A053A4EF20E98A557451502A1FF3CCA11D1DFA1850382A9FA3BC9F60D2B5B53391B206FE3E88F30B31F75E6F4ECE5DBD65EC6FE48AF4CC55FAFCD0EB456656B678D14961A90ECB74879628DA499F2609932176F9818AF94C001B473FCDE58B19D3D1D837A53BEF415A67E3A9C869F723D5F3B330B77852C148198C1EE1654DC0BA00B516455593B5781987EC4848114810DF677E576C1EC8500782FD8E00BED2A60559A40A586393DEC226C9D4CA28D4161C8AE169757BCA1A09A5F196515FCB835B60FBECA3A37E7489EB68744825F05593EA65412ADDF06006351AEB8147A3940022CB5FCEC95A73428C0B6338731A9F4FA5D9455123D7B9C39D76CC35D0AD599BB72E8F987551A507B963C9F425F2B564086EC69E8759F7F0EFC9149B2C3949D9AA0B7876D52E198D8081CE93AD4EFE4B207FF2DD8D6D84987B30D0789D649FB647B7896BD6B8BDA9E8247808D686603D2DA0906A98058154E0A1F4257A273C0624B44841D8ABD6D0ABD7F3539865F9C034A19F14EF5B8741D14964C20F5C32C6CA27747AB325E3B5CE5F4BC2EA61805D5A9E4E89BFA71391CAF24CF8C7A140BA1ABBA64396F2DB04B2759329D8D642EE078A12CBEFE61FBE12869A9C55A2AA9D1AF8734E9757CDDDAD5C333346B1C80B90E81FB43F7970DDD865011F8339608EC7BAF1438CC1C6AABE64E1E17B1A6DC8A9D159F4E4B8C6C1663EC2CCD152C9EF4D78B28AF0DE99A15403F5F8E856D216E1C476447A76417E73F155B9480046EF4F69934199BB3EC3C188B2125943BEB1C2138659ABD02226BA7AFF33EF283E741736E71AE6AD1F46A7352A50E7FFA9629C5D490994E822B26320A61FE2D2C36710481548934EFC267363FD8237AF458D3EB1EA89F56A890AEE1D581FC0FFE17DB7F7F098B08AB3AF7DBBD82878EE162889373EDAF264B1A7EA2C75A6D8F3E4CF32EF7C0A33", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09E9B0000000000000000", /* iv */ + "FB", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09E9B0000000000000000", /* iv */ + "D9131E258CF8B6E24A15FAF07FB54B89E5924271537C3812A3936A88B48C18BBFA788A7831AA2638B825F7A0392CDCBAF9A0D1771C416D32C1968AF164D6107E85FB28E8973ACDEEC416DB155B69F874CD69E1291292CF52CDEF39EDDDDAF20545E6781E1AD972712DB2D159288D0A89355BF5F9E93833101CA27668796192351D01811B0E4B38BDB181F07DC7F91B2412AB59C9227502969056D420AB720EFEFD435D00950F5F5B38944998E65BA3C3FB1888377477DBF03CEA1D2A5F123843688C36E76FB403357D3C0A079611BB528BBD7793237ACABBCAC5EB8C533834EDE83ADA7AD08316ABD5D2DEF08A59DAEC3E05B6D1AFD2CEAE2D23A2E3DC382966209C7B23EF45D4C0389F15BCEFCF2F7783748CB6FAFB10B497124B314A93CD7E6B61B56D3637188A7E496E6FD0B0619106BC103DDE0E07310BE0FAA73D974E4B7AE3F84D2D72691D6B269AD55C9287D941CD25AC359BAC4398290604C9FBD9ACE4EB14C121CA4924335BDE13A00365AE2D72E23AA16F0BEF90E7B2C6D7C8B281DEFC91CCDBDACBA8498C46AFDD5FA76B07BD13210D586C369AD1143BEF92E07965A7B4531F9BA052770D7CAE7A72C09A77B8ED02D13B53727027F4725EF965A64F260728383A5C065A817572D7702DC8AAFEC48CCCA67BFDCAE06262CC709D5383E2A11F201F94E599784C5BF75584B3E3B7071376D8B6E3ED787CB7CBD071184E84661CF48AA1D61B4140855D27AEF015C49F765DFF9B35EA8A54BD31C3CC83672B1239E52433F621A1B5EE37F87ABBBAC1BDC531419ADBA23A3D13B70F023409BF3E9C74C93F1AFA7222F4907958719E8B7D032E587E020B1BE0EA7719ACBD99D62F9BCFD068CE60C2C5C6A9713BFEBDB9091187B9BB1D7E95745A605775DE60E62F109C14E53839E6CF0588CAF956C8D888DE44ED072EA5C9E8E83EEF0738D62600929DB2128597DE743F0FFAA6AC2151988F5BFF5139A04B165863F08D852E15E6B53DB6DE30CEA4138B1C8F2EF743CC7C3B9AFC89F2812230F604D05CE867B9353612C01CBE520044BF0ECDC2D4A2991BD21EB2B82BECD57F467AB01C53AB06DAB7B6C832EF8144AF4148A47B20F2B3C52E098BE91A19EB2473B8495921FB10E3E479BC0AE913C165D008D281250DFB693E0DD20A8312F91424BBB38D99D4A4DF2E707214B976FF312BAE83C5EC4651A1A309E82A6B5A27423A2FB8AFA4B76A129EB08C81D6F54A414C8D20E6D2034B0C817701556DE74E9FCB5EF3357DA3B6DD5B77E3996A94FE683D58E8461E7F0D453C2E181F57295A8AF3A17809AB1FAB7890A9F495198AAE1773412944ACAC078CD543BF94790BA7A3E317EF680882F6D5DAC03532F2C09C3E15B6F4FC8790C5048A2927272966D5E56754C483F675D60B25B16B9B39C5B02082D6C5B385464082B8D896019665CCE8926F924A82D863BA06EE05607334AA2FED4B9B5A7B689943C525B4B69A9ADA0F0A6C9124706CE230EEB15B8D92CCA59EDA8F447E555D8F2BFC75B009325439756507E5EA817E698E5FEED98F4F4A8F1438656366426825D2269BF8478C6A839D8B78B6FC69F46D30E587001A7B0160A24CB2361ED77C6F667734F27931D5F57CC304A46C5ABA1E824A3321D695D7955397AFE92C0F60204051F6F5217C802E8B9AB9629E2A4CFE2F88C8D3B8B453A5017B7C9D0379BC052B44AEB64BB2CB0C91870B5B6ACB51C73D76B4298B19BFDD9FA306A5B176DE4710DA95EB4A63E2F148FFB3DD09DFD7FC77A8F0AC52A19B3E9D9A882B8273537F937A64490B050ACC53922F7A3B0E1BD216E96A4C16A4266D009F99F0FFD2B41F0DC151DB6BFBAA8E99A2B08770911F80A22297346ED3B4AA7D8FBE6A24963F0DC413FF8D1FA0EB41A5CC6CF546BE94E0B17648F1EA246D5FA8B90A1679A64CC579C5D0D4FECF07DD231E2889D96A27C2A4FE87782494D5EF4D17131AE92E63639A7C1D0DD8DD526CB9F5964ED06043632F58FABC7355F1A14DEBCCC80F3BCF5407DA529CF5AD2C595A3C2CFAA8EBFFA7DB5F4F467AE654E84EF3CD3FEDC44D2E42B9D4DC47A21C2A6A0B40BFF800C4ABE20D879E8901AF95556D7EB036545C6B426D9A3CC3FA193973891635F54D3CAD579A36D5CA05C695A805B6D8942D2D25597B593CCE2A466E6975F4555E7C9CBA8E778C814EF92180D531D44BE66E053D71CB788E6D8C0CA8EBA8784A17DD554360292CD1D5E4390A68B094C1037705918DA7B7787BA45234844FEEF8F82D3788EA85A2B08A89DD6C7AED8E3A5B32E36DF938ECCCB45498E250B784DB091C0E51BFBB75152C4689BF15373E2A022933E112957E64EA2059F30EF7FD08448CD569B25D91256BB66C72239C8E3ACFF8A97501B5EBA0EBF9E4A3D903E9D19A5F6E1B91B4F1CE1431C58065104EA4FD1EEB09F2209708B09B98BC5505655E567EBE66722EF20E846F81F015583957F69ACA51BA0BBDFAE196F078BD78E7001630DA89EBB96F12A6B080157E260486867B48916A82C5D5368B6A47C941CFCC23EF1923A552ED36AA5213156306BC0102560425473A43B875874D2D058DDDD273C92380C2C3C7A836E8F028FE4D6911490272081B572950D07342DC68F9FCB7AFDF6B07FF367F0B92FB2BCDC91C67251FC945C06129ABAA27D412F12C1FF0A7C229B3A7E8362DAC9F1AFCC4844FC053C64DE8063592721FE86DC9A35E8C7F5A8954339D12A69B8E578F2C2143283F4064BCBE71D72801013C7079B9657BDC2E8F7F42334868C3947EF29CE3DCCD7B563D3EDCAFC6EBF856289934BED4EF2C8995FAFDE948DEDC939D69B38943667DECEAB06FEFF00245F84502A7E70C918F7DD19DCB9B97A5EAFF486BD88E43F3AE75611ABBB41129A02F8623693730B5F54B30EB8F0FF1A0402A53BA80CD2502BBBD737A010E402CDACDE7116B043608374B5EE83DB25EF239A0A667D86E96ED28329CD43919D45447DB93BD04ED2FDAE637CC8CC69E30D8FB4185EE5BDC2ADD29BD29CBBCE97A242C67BC696C8756C7A33766E0C17A3E1371D1D6D2E646E654AE5D03B070E3529FC17D2CAD3F4DF51F37C37ABD864F1956AB5F58212DC2B5AB5C3FA0000E0DB991A672D4481E605AC66CE8A6220D6F77AE86465F5F7C3EB0458390EF37C48B7F8331000933A3C12C700638EE343843239D3D1D978B15E83CADB4DB4F69D067BD4822F584553E571EBF97D703247022461E9398737A093B10709F7EBF3C07B9276D85BE87C13D8826345ECFAA73801E7A7076080C94C3F430AC3C0168CE4D481B76A30936A670B026A13810701DA6F1A602849EBF7117CDDBFD54B573BEF21966D05F189CDC694C9040686138EBDB7605BE1AFF1D0008633479C44EFE9FC1F9ABA030AF5C0BD9D804C53C0BD0191E25C27367C614A58B9C42AC645FA3309D72E9B70FFB3393769A3EAB2E3FC6EA17361F4F862BA1489266023F6B40134EA8C08322F638AB00EE6BBEF8242F0DDB1ABB217033F5C04335D578A466384A", /* encrypted */ + "9ACC7A522FFF0A080016A0A65BCAB07B9D9573A8D7B529362F53FA91E61ED50D3A2541E1D41523AFDF826C122761130315C657BE5562D1DD53E85C98E2DF3B23F65F69E787C8336FBBB02FDABEF87ABC0A01007E5A2014C656220CC8AF398AA91E1C782D47BD1AED1AA9F59F0CA6B865042609447CF2BDEB02225A4AB5BB34FD73F17DAF50653C12FE9B7824556B0EC7EDE1DF9D5619C321F8E5EF4ECBF509E8B32E98029595D043C434AC527AE5CE9BE8809DE132DC4FAF25C804848C0E52CB67DB34009DB66ACB9767576E69A761E2EC954B48674745BB521A640F326CB05385AB5A93D196E10A5F8D447F92D9BCEA7E40A4A0CB1C8AF52D9457308EE7EC6751526E78655DD1659E9EA7B4B5A7601A0D463BAEB046F4E11CE473CA1BD2477B5D48797D6EB948A777BD23648D60D34A590AA1734BC799E2E28B0F6CBB9C99F3A3E338D7A1F1CAB7E546104C4016275D590BFD8C6B4323F713EA0A2101C49F5AD753F4AEA65044D24C3A0F26EFBE79E05CAD27489BA037DBB6334F4A5C1021596F5F734F61DDBE92124F8EF37BE1A6A19EF709EEAC7A9E99E65E1DF95366E8441FD295C466A910A77969D591FCCA7E18B78E4094D2C2EE6858D4881A724C6F9187837C8AB28E4D25AEDCE1EC4B164B064794F6B5984C1FD8FB619D220AD16E192F58601905977639C0F7E29A2538F764D5B7803A4573A96FEFCE76DF8E9179CE1C91322DF70C714B6D9E82D5ED238278DCE449B3A274C1BE7FCAAB7478971B2434C8E99BE2C8D6CDF7E1DBBB2F8E7E36974E8B29A4F446B6760828FAB8662EE2FDFDFA30A546F2A93401A6ACDC1CBB065DD5269B8A9C31714C9DFB8ABC1C5D1EFBF88FFEB0DF162A2C58DBAE478FDB17CF34090313BA6787270512F0DF2EBE3A4C8CB148F80A6305D60EE099449FE728D6B97DE7DF684DB25F95221B5D12CA78EF70A1759CC691A591C1F289F1036E9F11F0803497B333603B3614DF3FAE08926F9CB793E9D773A210F0688ADD28B9EBB8B94C6C96B245076D07F6CCD20858ECEE41E8DCAEFFD595317C45D53AF8EF4A06454E03F587BFAA64AD0673384ADFE5083EEBAAD1A0203DC6AA4F4EC1A4B0BF4A3CCF101E1F778D772832E5CB1CBA7451DFF976C798064C453071EA19DB4201066BD3C6116F1ABEE85A5D6B159B28B5F60B2D0BF2CE09AAC3756C756E30F847368F52C6EE2A2CE3DF3FDF46D967492388B06FCEB39B96F81D6556754D6B17FC4E8C4CF105C291FAACB0A68BCAAC5544C34DE67B0D8C530C1C2A16E9D2D58C7F679F7608454A13E1C74DD8964BDAEEE12574C5812BB7F67F8426A7426A2CD441717AB5E6EC4C0B6DFB06F31DEBEACDCF353BA82D7618982BB5CEC9520C9BA9249EE541AEC5EFB91C01483F02DBDDBDFF36F6EA6B08B393874BF20FD1E20258D157191D6C06762B0A888DF1F66BC82F3F122647A5425076CF1852B7C926DB20D5058F4DA0DEE495FCB60671EAB7A75FC900B3D9C258F994C2A8E2C055FC4E3B6A0662EAD074AB07ED2983E85DC05C6DAAA7C530DEB6C81608B2B91740C9E4872160F24B22D140B3BCF206ADBE66E1A04FDF51F8E446DC7FA4B5BFB3B7F589F80A6B253A80252A3FC56617D751B67656F1F07158C5C7A1026006FFB5F43FE75E463945955C0F53348074E32327D069C05FCD264B29724443ED68E3CB87E40DF4EA1C3A2D3D1E0376248F15CF29A3FDA5BB1FCE3919BEC962084525A6AB580E64A7566261ABC05579D916D5AC7581A24BA0FB82B3E0CD4DB2CD100DC8477380AEB862133CDD937301AFD00FA6A6622F096AE3641CA3C5672CCFA7CAF8F290F43F47D5D6F12A6BE524A1653E5DA32DDA0DD1C1D61D061F4510B6DCF8F16041193296ECABB351D309AF0238AD2ECFD74F668DC907AE36DAF0ED451D96982762FD8B488A0864E7A4C1CA828DBE08EE29412143FADA1DAA6F61C9475F7B9FA865CBB1799ADF4848F60A5E50353E109A1FAA97F17C1207BBC110E64B4734BC552FD00D91738A42AAF1EC52A023E113E00FC3AE8D7568C36B5022324AF0D222EE89DC703C831962C3605766F2C8199EF57C67D3DF43C0FD8C55CD8E13785E65F718D6A64AB7F84FBE835F80226DE6C97EE2CDB5C51DCE7E649659A59D9CEC96B75FF2705FF4840D5C91ABD5957814A0E5A10010BD9466F78F3DB724D53D54DCBEB2C99FB460CA1CF991C6D533384B32FF7414666451022C50A384479D895BB2D4C83EB69950A7CCB29A32414E4606C3F83FC2D89DB31B09FDAC54D3B85707C34CEFDA8B7340EC9C3A43142353F892D7DBF816FE71B1D3E5C4029B7A511FD9E87BD4886FA1E82C6D13AC2CFB4F3337ABCCD025D85B3B89B86FD5592A1A3CA43CA60E74118F2917701AA6EE086265859FA0DE9BF8AC9FC26B550BA690273F3AC0A394BDA0029EE85228C23819632070265742EAF764CA2636B68DF01D264BD266CFE429984B82730F92FE70814BBCE1251E984D9EB682FDC561D95CBBE39F424675127EDC55175FEE4D581FED5AB37E9CE5AF05E8ACD32635D8984C0E2B20C8390E76E103A516B59468B3D8339846A95B5DC20421E3DD82FDF3D8A55E90BCC243DBBE05AF969F131CA7CB184D7033F0E93F51D9F916E3526AA97A33728B5A76C2BBA305B956D95CFB652426CEABF0CC65CDA1CD3438AE8410355833176F912EC72DB79BD567D8FD10FAC6898E384A23C328E32CC8F9AF3D24D8619DE3DD64A529024ADB5063E0173A8B1C18E3423AE506EF814D9E9DCC8DDE4448B909ABEC2BA75CB505707458C3FB0C8248F0B35B5DB220BCDBA29EAC5794FB71D13B3347343CD6F18A13B227AABA2DE615C8E43EBE4C7837681E6652066405D72BA9DE2D85E6AB1DCB9D7E7CA2AC435F6B12273558160DC668D034FF3AE0E863E2493D96AE6F9EF40BFA6926BDF42FCC040FE1272074F75FA513FC2E0F3D05AF3995C5350E7A435CC92920EDE97770188A4FDB1AB60BB77247776517CDAB0158BB1611B0C8B7BCD0D07D06DC86E6C4CFF3C09877D97413FD88B4FA079A454B81F0661E8FAB35677FF526273E6117A059C91F9315181346D481FC824DB2AA15AA3DAEBD0644C2222A8AC6B17D28CA1C6D673D9327C8755C24BB8AED0F3C93CEFFD438EEDD63445883E854B140EE50AA400C63277F61C3D83D1027A1B3547BB0CF6E49252718E7662BB0D0FC9A58D6381E5FED92EAA6283813AEFC8DB3EFE57D0AFBD25B98C72A7FCB0D0940CB907D7869DE87220F2D5546D9D686AA2103E9C0B91820A3788E5DFB6AB6DF0A2B08067060D651AAC0FD41309B3949BB163AB9616887208C6818D3AFADB12DF5E995AAF51C56A4C6BFA5BCA7F5D03D4D32CC3A51B1A4AE995C002A14AA48411BE1A7BAD1D86F1CE495656D862835F7180C2E11A213EA15D783D1F97BC273176EAB54A8BF971AE027428EB5DB1132176030DCC30B644A95EB6176FD53F0C2D868EDE9C7EBD8FD4B61DE2A5BAD164C69CF6BA5F5F833E577C7A4C219881FFFC1", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09E9C0000000000000000", /* iv */ + "6E", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09E9C0000000000000000", /* iv */ + "8F89D68C68A6528769B9BA2F746DBB2348CA758F23A7B99F37878C1FD813573E22EF5160695D8CC0B28C068E3274B2BF07A6EFC0C63C9CD665B65AE7A37226D68BA7277EA221DFF7A1C34837C2CC58FE4A839A637B728B3072080910DD1F0DD5CDA1F660B49DFA7D3A34D968F6D5724AF682136D7C8ED2A026574D41B410C7C700A81A3BEBFB2F561ABA560BED4836151140DBB2838EE27009EE18F991B01F34F15192F011E196CEE7819678D23FC5384B1FBE9FA82AB12A04B654CF411E65E59236D0E919F846EFEE868D5C53F7F48E8BB4A984637EC352BAB5EE8EAECE26B64516D269B6D784CBAE82E96FADB4D6604D732E43CDE010929DABCBA8E105FA1E42E96DEABDA52F05B9284699D6769D4A83F89FD0830EBC2FB7AEA1BABA2D308B003E38E867328364702DB2A132185813FA278D18D3F0EE394A714F5FAE02F03F5D16EF7E8822E4DB0CEDB0C5F23A2FD271A3EEDA9C3C394E7B10B29768CA11D00FA5FC2229727AE1E4DFC638DB3D6BDA4C07423AB08143DD367A8E61951633479B84FB0E29D31E09280A19AE7689CDCA44836FC26F6B48210D90653CF4850F3705B84874E6F5D9C7ADE37B08855F662F6C6B142ADBCB7C17965CF65047F44AA9F3B0835A4725224015CAB1F9C84115E8CA9F48C462246342E07E2C162A0671AF217E2683DE5EABCEF5DD0900E60616A1C0469A9DF975706789E82BB55B4D75FB48E4672333F1754883CD9AA27DA58BBAEEBB54562BCF31DFF6613F9C85E1C47CE5C19DC2A76628A1B80514CC9274EC67EE16FDFD6180DD20C0A7AD6B17EF8013E139AD4B5787A294CAC7F5FB062EDD7745F0CD6BE5850E96F3496AEF830C56177A6CC8C3E215B12EBD1A0197A7CF35E364EE9F366F122B7811C470B72F1CEE5D863A83EF22A86515AC12B1CB59952C95E14192D2F2603EEFA3FC0A7D3AAD287882A720B969E749F49C9A075CB96863DF4C398B921A61D3CB060D3CF0D3480EF778BA74E9F1823F89181BB27B9393B4F1DDC00FC57CD6184C1CCE2C8BCE760348068CF427A07BD678651308BBF86F8B0D9C8E04CB4FC6102FD414AACED14C1A0C255AB57E1B9A2EC2FDA79259F1B52833FBFE240BA82B97E5DFF34E531E17F6BEA1282AA790CDD70068ADBCCE06DA3DE7BDFEC3942DF34406D9EA8D1604002E4637C60D2EE03EADD023899F1E8CB5387CD66AE023B23AFEBF1B8C85742911A737A2F793397E635FD60A83C9698CE0DE96C12C517E6220B238E673FD249E8DD420271ADFC4348859B9947AF2708E6A33BC3DD90B494F435752681ECB60294BA707F8EBCA01232A6EAF8C7500C3B3E00A8B05606EFB8E4EF0125D7D59A6633577EC406A07B7DCB4D2D82E0E413E7B9F5563EF2AD0982010813AAEAA1EC2DCEB9878CAF3C2D6E4EFB183613EEAEEB81EC10DF66417B74AC85C042869B72452AD97A577A14D5CB89DD8AB48EFB92B6983810778D4FA3AEE66A5CE75AF714FE7BFFE2AD8921F482FEFE27B6547B5DA0F4A5935B473A363321D2621203628369CB28D3B9E83FF40C04B28AF7ABAD151F42EB2A228906511D5F680CDF19D324A69883B73C9BE0B74B1FE0F14080F49038F86C44DC77584A1787E1A15733407624DFF283C4B943370FCC7D4F772D82C36D8F5B4D7AD9DF2359DB293036D32D413B91389E6FB6C97AADBDA089A2E09773DD17ACEA362F2A08308691257638C40E8D45497B2F57FEB142ACCE0F136BED302087D2C49149967C4AB58936EE7EBA92BA5CE5D6F8024E44F45D72B700CDBD06D25D28A4D6FD175F4A5E21E811045B3919F0DC5D5BBFE7D391E1926F35511A3FA942CA9DCA94004A4222D6EBC6927092E8385D8BC2209112A9C097699FAF2E4CE56D412D3B6E79A671DB5B91A91BCA0B446AF0E024700166BD6EA76167B973BBE0B22B685C581783E8855916CDCBFCD63968F5A689B54CBB1936F63C14199261D3CE4908E1918B80DA75E1EBCEEE1DC184D681167541590578AE43C037CCAE449699F6CF71020D241DDA1E3321334BCC08FCA658FECE216BC112C78BF6B41BA34BEC759732696ADA7E993D87D94113384D790217C99942B40CC048CC544AD9AD59C4298360DC71D3BC27CEBEABA83F7EB616CE362F27CF9FAF34A317E4BCEB3231600E3CC18EF50C700BDE6C6DED1E5394B99DF8FFDA2B7B4BBF05AB72DEAD0609020E8EBE560DF6500F101DDAACBE5DCD9D81A5279C5EA636A37941BF1B917087F4494941B55D1623068FC24515169CC0EC0553E1C8A187191BEAAF9FC1666E792722C09FEDC8152C636AF583C24A16D2C17C92177F9FDE25D4960F4F4503322EB6BE68195252C41F1E0B93BB0F09BD5A78617B3A01DC371F9547E31844D5D7EAFAB040BEAD86960B2DE6E289B1DBD22F30ACBBA57D6543E90774624119E6857D831C7A67890694B9A53F05BD06C60C6ED2EDDEC73094FBCD3B9DBFBA5F47E19F34B3041BD39D0D42121426F430C36D2FE32635478E341435A9CC1502F61411BA233039B0B99D023949D8242FD9D6B78393F60E8555A80717DA90A46F479927CA84960D85DDCE49ECD49BC813539F824DC8861DCF4255B5089B20CC72970F78DD1A77E155F96847E80E5034CAEC13180CAB2B2F341692998B504307BFE14F5482E3CC1E7550A4723EE920D525D1D705B50C6699242F676AB71CE786115E0B1A4AF9098FE90EBF0AE412D7E38282BC51578DEEC85506CB2621DFB3DE50046604A7DEE6A1FD83F4B12784C257248A46E70F60AF3CF2A1F5C0BF4A65CF65B8188E385B9A054B0A56574A240E7F6B11D16D80AFD179AF032D8B9CF53CB552AC2BF06EDDE1860ED1BEE321C4E62DE09B9EB56B1451A460FBC30F728A47F89BA114289F7164BABCD8D7456C65100166BCD9EAE7B2CD56F1DAA6978FF3747EF14859571BFE0B89F6A00C94D2D1AD36421E6CB44F61814FE580FDA3FA707387943B6E7B09607305E379A8470B3D6099BB6622A785DF90D0B65D9C7B106E592EAB7D5DA62D4E70FD9EEFDF1A33D9F54F223D4A2D1EEB77E122CB2BCC8CA380B872B2B6D686ED632257C3C042837B85C72D5502E705200D005E90F1B2B7AAEFF6B0A646E78D702E0F08B40C3B2D1B6789703148307FA01EA20F88FDE4743DECC6FF87827CC8587BCC37BDFA34F201C7616D8696DD4166C9A2BBC9126BB5DCBEB569E8934C9D5FABDD28751AD07823E4EBA1A806E8B456E0C204A264239E67D9ADBB53ED701A24CD1900B152B79DC148C0631553CA21F2290876CDCCE9410D3A0380377654687EAE79EC5D7CFAC06A299E5267A4F8E22ECDFF69ABDDE67154A708EE45F122CD2A1569E533DE54C0425782ACFF8B84D9CBB5A0662F7370503E42186CA1FA484AEECC553B582781FFBD972E6347496FD51979ECCD7DCFEA7E5E3E21D64951F190597491693AAE59F8FA41194CE082F9A1EB07AF594DF5DE449EFB7AFF5C3A924AAE4313930F88E04972F4D193D0476E641080A572330CE42A3DF073D3A0E5DF68E9C6FFE155A809D972774F2F7A77517663773BB3FF5576157B4076A2619332AB6A4630E8299E05C2CACAB4C2620D76E12F94B4BE49143AD740FA840CA06AB482E38A781423C95C7893FEB3F492DDBAC53CB32098704C6FBE7B2B3A47DD6881AE300971A828C4304F41F619A13238DE0BA", /* encrypted */ + "9AEE7A522FFFB2661038507B99577A3A23D0D269793BFA8D1A6EE93EF8563E257430C0D58AD4407EEF5E7A4C783D196E094C5C8C51ECF40667C44AE1035F50AB4C986F0639522B7FA5AAD8060B59698488EDD18A4F81AC58BD7DE0232246BE2D7D6E76F85F951F00E6DA09292FB6D3ECD7EB4F8CBAE54413BDCCC58B1EF87FAE2B11F5E3C639CAF49F5D36C3D7123FE3399AC0AF1608D0972AA29CFB653513BA95F8D3CA1842F9CABBB53544EE97A64DA710E480C4EAE3ADD0937E416ABA882445DB6434F9635DA93D2BA69337BB1B3E568813A8A0A3085B7FFABC85E7703FF79AE20FF40AD70FA40CF1D358052AE2575FD5470799885E0C8E9BEA9F255C3E073C93774D75C1B15384928A5839F48823BC2A0B03F0BDD2EEB0F1A5C7792BD1EA783805CB832065C51D972284734F03D7AD7FCA76FDD7923486E2662C7C0F1BDF4E3C7D59D22681B1F569BA5F5F3CC224BE9978D6FC3AA5C831D6F1E51936E90C25C47FC64264B65FFF0C9CE10F30243119F8547EA9C53B444CD31B8A8E8BE18A216A77D0F8A6BD180CE00AD642D6168005FF807D65CE79B8607FB141B372CA924B0286ED71B807DCA5630F191D12893AF1D780951FE79589AFE110EB4EE3CA2776A53A38429FF6D0BAEF21B3C1C9D834F7ED77DB4AFA9636E2717371B671D3697D4E2BDE02740D53D2A37211DB9E23449AD747E324F9770A037D1140A0117BCD662B239F73BCE1FDB0D9AA4D3CACCE34AD0D7C920840576F8C21584D84FEAD1E7CEB6B0738EBC9C4D8D63C323041C11FDC43705714C9509D521F68DBC41EC9A67D01328B406416C3521E6B972E9F8739C5ECFC782A5B349B954D5EC9259C0EBE78B2CE9A64D06F1695FF7C782F4A48F4886FBFCFEB7CFFB2B749E43D9DCB46CE23788B2006B845A6CF211C7CC49F2276344DBD3C76A987A22C79E2BCC41DB3C153A0ED72D6DDDF99A3112A5AF749AE8553DA972C27134C68E8C54ECF0A16D10A2DC2B8DCC37C780D625056383D24B64F0715B3B65D2816C4E59088EF9E3B94A1FC4C36A2FE818A805EB81E175A098C9EDB920D5D8BCCBECE2A8B7008DCFEA7CD1C21E8E34AF22169218C70A86CFA45710FCD2E8D22B688595F9A67D14F2850A159811012C41D7085E0ADABFBF42DC312588F1462690177504406603A216D54B2F374E980864E9CDB1D4A9DD6678446B4FEA8FBFA8C5D7397E52BD060AE0A943E45214177D95411B8A161595299DC4209D1E5AE0F4083349C4862DA453215CCC8D7FD8F73CB74CF7E1C2AEC8821577661B2B84781ABD2AFE4154639FD5455E9B7C2E29D901017E390716E71B98B6F666613D513936516389C817C5AD3576D3C0F7E1D59ABFD93E76D91E018655A52748F5A0EB114C359FFC2C80A186AAE5560925DFBEADF0B968C319C2CE3B3319378F2F307EAB60EEDA0433A437F1658FCBF0345EB13E57DFA75EDEE5BE4D71E9496FF4E75B5C7CF39E3A161654DDA5E7939FB446BF2049709D785659063666BABB5F3B5F82C3FDEF6CFD3EFC126936964C0A8A96C1498969024DE988F4467FD924C760CFCAB73A429AF0B9593CA48F7F3AD837BCC9092B641549F7B7186C74C9304BB41B0C86DCC817BD9C9C5CCD8A2615D76250C123A508E793AEAB8EB1D37FC78F278E7704719C1A52B0A82065BB6B6026003036440E5728503B90D0121214BFEE438103683AE2FBFA7E30A97C9867575D88DCA8B54023C58FC748ED1889FB43F837EBF5EB1B235C0BA452D003B7FE62D932E2B01FDEA6D6CE2D56E6BE9A628CFAE349FD99727AACA773E5285E0681516158FFAD25AE61CA774BF6FFAB9831401A31FDF69394C2E12AB0D5E487C7210644BDF5077D33CC32A8891D30A8BEBAFC3A0D297B35407D83C43EE624E484B7235A32F2C04C73D41B24691FC515D353CDAEB5A17C85DA9F7B1B4BC95E62CD3B28B1F492F26B3A15912346E010C5EBD40C0B762E5A5F0DEF597E8C7EA8BD8DAC8849D4A24CAB064C48A63FE3BFA8E2E8CA1F3EC84588E0246E130AB5AAD7AC37436CFFD43548AF2B0C356E43D8E4C4EDB7A496BE82B3B588888E14C6B6D2D3ED1D8E816D35326C9589D1AD7A942D741C4D07EDF95BB498C4652BE9E291638A75B93D9D557376A8D0C035845619C93F72986E66EE8A99B3D0B898E8C4B156FD78B0D9FC05B28196DCBEEA535E62E8FF34EADDD26C90E1ABBDC5A90DA42BD25A01F53AC7E86ACAF460EE2B0DF70AEE62307E65893155CAA7738F5BC955799E5CD1CF8BB2F9FF2884973CCD14D6E8A1C1819536C28B7CF80E10A41394EAFCAAFD1794DFA1BDC7189D38DE7274BF1E030A7034C02A3C91F484F01BCDFA3F5744AB310F2C965D69E09292A32CB85C632715B813ABC0E1ED1452B19FB8C42BF95DD989CC937A8ED3F8685092CC12F5C89EB6003645BB5C42603155F960497257D9048FC31F761E67926DA3AC445B54436B012CD16B5E165C73C748026F6406F58AC4761F90973E550D9C567D441A0274034981F43F6228AB7FE6AABEA57B99CA7344564CBAD78EDE52C926AB7396051290F4770B94ADA93F0FE4359398D6B6741D01847942B565DDE2C8312F3974431250B8A51EEA97FBB9A7C1408736EE68F538AED55C31E1EB8228798B17DB604CE8DFEB048F2CC03A6B33014A7133547861E27E5B38124C7661C2B48E475DB2012219E838DB7922676DBFDAFCBF221BBAB362281E4A34D4E96581F3B77A34C8B3704A02754863FBF37AE9185B4F0FCD3D85A0FEB7740946E207D4FC2686B054EF2DE9689353D969A3EA0726638130CC9946C7A4907501BEB2E1CC1A324C0C54F6BE0B164D5B6C2380DC1D1C37148148B6182BC4553045566A85157945B1EFB6A89236A793B20757F2712DAC21D9EAEEFD317666A58F328167C95BCC1EFF021ED31D4AF7DA27624379038A9669D28A7110C5D26D6E0EED667DD0C8615801F547E6FEA0B910DB0C31B4E849016FA9EA1CEB05035CE79B61E94E8415D7EE5227CB913398DE879BAEDBC3D50E86DD28CBF4FA84D027F4DE51D7B759AF0F7A2E645C9C14F3295CF283646E823D555215138A83F387959F6FFA089604F2672487CD9C6EBE521F6CC79FBD8A3387B7C81D994AB82F38CE42F5B8DDC59894DD046034FBC23CF6CA75D8D8CEAC43742EDF90451E329274B4BB47CC6577A2AFB81294F9193CF2FC1A8C1B93460E29012EF82D342F997951182E5BFE22E7A9600009E32DC033898185202A1A799B534860375D495B9BDB82722C55840F730285D9B0C871DF90924DFC6D582AB7B61F952E5F12945C1A9D8748077C30BE08E8C2422FE296EB2EDF3D632AA55BA658BCBA52FF14352494809B74601FE91D869472EF20CA5792CE3583AE70E53B254D8E98B95F5CDE403375E18AA7CEA60B0753FF95BDC0A2CA6E6E592D0736811634158583C3F63F591037BB014DF4311341E42CD5C6E09D76C90DC914DA0218999F1F3DAA249836858E8FE04EACAD7703707E18D4FAC858200D45447E703DC317DB537206369797FEE125B83A911D5663B4A002B5CB962CD02FB3E8DD031691BF662AECBC462919F32A84C9E14EA02AC6810A70A0E5979B5BA028BA0CD5933515D700FD213E9134A055DE10759BA7442AD0BF6546A0BC0878852A6E2A06D90EA0575D5494054784F89606AC3C1", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09E9D0000000000000000", /* iv */ + "75", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09E9D0000000000000000", /* iv */ + "8BA03C19AD0509853D42549117C5A5330CF04E59B323875680700493544CE9547736A134C197EADDF7A694CA47843889A9C416BBA30928D8607AFB14A9523C1E81EF0EE22157EC3B9CB6A8FB1901B6A8AD310D705AE9953B24A770EB17DCF0EB8CB42DFA8C052A7F9CAE63CD305413737C1177FD32385A94F6A4F4A6647A0CE4A0B261ED68E5C5B2A41F2337FDD83F279FEBA6D57D24844DB03A267BD121D1C462A1BBB1B0C8E0FEEFDF153999AE786BF80BE829B70824A6907094950ED4BF2D34673948C153E9BE87EB2C73D131F661C11539458C4AE35E7188F0E9C9F2D96D612F1A03084CF62C06E0520D211DD6B48EF1DF624F29F72251B4F50B46624BE603D73E618E8DE0DB3B36EBE1C65393FFE73F65378F6C1621102D70C550787F9D3538FFAF0F5A9F70BE4B8A708785AE37C3F2BF97CC40C37F39B9DB5B3BE472D000CE5F81DB099227130969E9429B1FCF2782BC62CD2D73AE14FB9844CF84BE7DCA1F934A80980FA5B7674EAA45C833BA34FDE3CC12FFA8D8906356363996CADBE46F228961EC52D18FD1B5770705E1F2E25B7FCE084C8FF8F15D100375ACAB722FC35ECFF99C36FBF99630E101BD202A998873864D38E6739D9C27ED005FA48E7BBEE7152B92795368EF50E1F36917B95DD9AF7B776CAF368F45D66A3DAA18271680E87B341698864FE369A7FAF698ECD115796BE6FE27C10A9C6F1208458B51C4577936BB0F0BDBA39C5C10DBA185EA990F0D7428298D3BFC55EA12E1325E89EFBE2E35F8B97E2DCABD7999215D7582899D5F540E0302142256E8892993C70D72E9B512259E338C5F0A9CDDFE9F2CC55ACBC56F63E660F0BBB2F8D31D3CF0F10A2B4757A8D1321DE03877A67D85EC9AAA6D027CFEB197FFA22E29F8759169EC3E06EC33DF1E41ECD8A6478F9954700C6F7074F4C2EDD5DEC416D37CAC0ACF28E984D9F89B77EC56A47DC45E3C664444882F657F36F3B5929A5034F9B3FE86563FD7E81726AE50A3FBD8284BE8E7C4F131D059E389EF5BB09BD36218525888AD89AC7B3B9602284706BC7194B601DD96A5814916B72B953E08A4529E316973FDC68DA8C7C8E0AD5B6E2293B65CA029217D5030687BE9E205423551EAF606338063627C3F64FB1823BC6E3CC1D97A785D3CD1AEFF933225E50C53850C02D49AEB953A88836CE24DFFE2B1DB57AD5168E29D50C3A0ED288B094665C6E01B122C1CB4BC0F43A29F62D14485701992F73225B2BC6EC13E1FDD6F58219279273B104ED9C8FD44DDC5D90C8B248FBBBCED56088343A906BF8D98FB04C560A2DA31F721B1CD880D7C99030D9D75B09CC01A464F247D4A561A032E678C3289FE8CC7B6C11BD06C92AA7FD8DA4D7C077234B8D6F8090C9B3B229F2DC6C8777073AE5FC3A2067F07D176AF3A671EC94ACD5C9282C374D722C585A5DA99A829C238167F4568F266CC3CF5300AE7ED643C22C23986B451D1BCE753EB8BBB7EE59EE5EA04BF014B63E51DE4850A275B061795FC1DA7940A462949E0DF5969FF288E1DDAF287664611CD55E9926356DA8EF211596B80C3A3F8EBDF182D95B02D00072078892209B959AE1B7669C6DC8B6F314A6AE3A522FD869A0F884899B0BAAE0FFA458A7AFB9DA94128A1970A2FA4F0BA0C5EA7AF231BF75021CDEC75DFD36E2E03C5C8A07AADDA60A8D5705EFF2565CF0E45CCE06374ED39185356B4B520B0E9E851DAC12B6232FF748182337FB4E78DD9363955298A93FC97C02C06B097A63DAAA21B4249368A7031F882A35878E3CFDDB077FF1A60ED84A2CFBE3171E48C1F2128245AA0D110F2A8C5913EB8DD5EA0C3D910216A686FB40E8E8E231D44D7D06ADCDEFF6062AD716F1300BDA971485DB9AE053C1C0FD6E296CAFBB04A1B33BC90216EC367D0818369EABF5AFA9D8CDB0F18CCEB67E49715316E7BA9F8C477EF4F973787B455D838E0646A44829C97812F3433C8B192678EE893CBA4820C40A4A081ECF25D0478E58FB812DD1C4A0FEF7D924198B45771D0D62FE755CE5DD5C8FBB8D6793F791D529D6975D9B37EA68C17C927693E561014F8AF22B22FD89CEBEF31FA875A55D47B154CB6A70CFDBD785D99BD022E4CED21A204F71AD6EFF2FEB8580A8CFE6C97635EE51EDEC06A0C91D9DB39E2A7B0BB32EC1DC076A953031B317A8657A04FF35FE0FF9BC241817CA28178ACB51799FD334B4284BCA81CDE8769141A3D544D0D697E4CDEDD1A01BBF4D4E47D5E7109F7D4E8CD134815F1D0939D20A29EC25785F58382C86B5F51DEEA6F95A9E56F08410427CE1DCA58E15A3FC204BCC0F4E5014AF709453BE22F717CAD39257B0DF9C51E6B46EBC1D747E5ED9A227958B579C20000FECC0D769442AFF885D5D2C22C617271DF0E562838ADAAA320FDF7E0B2672B6F56C6898237729778CA610752B40DB3EA96617F8A92470FB063125A8723949ADB920870751218A015B7225D21BC7DFF2767E0742DA5E353352D248E96A6981DEA78507173E082E40348172B45BE0915BC01DD1F3157A2D16C04D90CBDE341E2FB0ABDED20464A1E873D210D7F2B5A5FD5385F844DCADE604933D9A295D8679FE6150FFCBB37F3C5E68EDA40310AB30505D585494A768FC62E504A88B7DC4D51CC986CEFFFC8EB2180E2E07345124939B99EE5307CBAC32B71739D530F8DB370C92A2285981616C43F14EA6C17BCED545A9501D199CC159D6929CA8DFDD80929D5EC635F01D763B6FE69DE42AAFC9C5234FC3D4D557FB6B7862A4D49B274391D9E6B49D9B4C456239EC6AFA6B05B92BFD89493616660B7E5DE280D1896E50E35658ED82D75CA5149996CB39D4EC00560A129F3418212BD63FEF436A5B67CB9E16B35C70F1145920861F8381BDF7C1315BE51E92D3E6C1671B82726B5C5DB8356BA6A1B23734A25ABA6C46262BD092DA9BD3726BB6926F11D40A3ED4DACE210909E8FE3888A3B7DB3A381A898ED9E2891D20F86B36FF847A39BF1E7F995AA82B52D306F3DE8168086A9E4C8F8FCED4C0776488B4BB9971A19A4C5738C1158E2BF67F168EDB840AFEEEB6997F53CD96BD725E649CF7EEB1A0D755CFC09BCF92FADF1280C2EC6990D9FDF3CFFA5DEF275848AAE96E01403B658992AFFEAA95D64183B2158B3E97B408DDF808244432275AAC0F2BCF485D5BE51BF3A38FE40E78DD84AD5E7D97C4518166361273BD6417AF9D5AEA582782F5DD1DF320B88827443A03296AC1D02D153413D18BA9018CF50C6C86582C79656A7C1DD74BA46081CF778456E14FEDC7474A0DCBD62B54E162524F20915571CEF267B3A2AFE50CA8EEAFCBB684E5A9548EB71F317235E5C7D16476D1BAD67B673DE63D6", /* encrypted */ + "9B1017FFA607840E67C09849DB72B9A7E4673BF29A684AD40B9DDFA0EE6465CC1A843A2C4EAF3ECB18F474FB313918D75C150F6F82F199FC0B43EB14A7671DFF9ECDD3C88C00C30C2AC2241D7D3661F412FB2AB3B9AC6A8E6C3E3DCE3F5DB2153D948D2B200F9BD04A6D91BD37A10C3F136DCD730A7A8E2BDFB314ACA36046BFEB4568906CA8FD584BA0FC3AEB36F80BF7F4F9494F80444C3A86545D0F7A4EFC1BEBB5CBCDAE51904CDC11EC4DD728579B5C119A5679A2705EB0F8E94E3DECDC5BF40BA7E97CDAC4985214CE9071084EC1240AA73B2E7BA07BDACDE365F6D57BFAE91615A8E4275AFF1F6A2E3B64A8D46B573141517ACAA51330F2DA5C979D8A41442B8F343E90D7315351A5B8D0B965176E4EDE4BDD0F6F827B6DA23783B48062A92D1ADD4C249C786FB3D5E988DC055857D8AB5821C901A359B44A8925B6F244C39F9834A785AE6DF2BF786F184AFA1A14B00BE5666BE45F78AF49819190EA488511E39F7CA6136ED509C0FE85B374233A8DF59527C01D50AA7A82FD2D01F1C5211FFFDDD3BAC7EB23E2D8D8B6E58F62BA973D42090D8E3FDD4AD26F6F85494AC6821216C75D98A4D59AC11F612C21ECDAF591E56AB3658E60BA7855BE6A4788CCDD17FE2216D51F6DED56A6D002B84EE7FB166CEA3F4A443F0CE2E500F12AB6C2579103C374B4551F0C4B3984888C1D5BCFF090A04746A984194B7E552E0969BD093EF859EFD543109A5268B5BF0C1E35B9944573CAB986293AE14879801EC3999F785FFA55CC298F7C2CC3009992DB277675BEA5B3F4A6F4A43500D3CFD0DAD9240C171431AB480C323E4ED6A68E14A812759CEFFA90F43C2B8C0DEBC31BB6BA71D914AB0C6FB1DE7EFAE4FDC6667CB8642B52FC19CD1EBD925215BE8508D60FB36E0E6AEC9EBCE6484A524090CB471B4D979206D3E59DE9716FEFA50BAB45BB871E39C1A63B3012B73EA7D50F848A840F47DFBE55D460B476F05B4BDD53989C0FBF9F5C751FFAB42BC7E6933E2B48A2AB6C19533BFAA7A7ABC549418E07F12CBDF852CB15B1450408CD796726606EC1962120E2D5FD76A5D643AF320DB06A74747697DFE4CC4EF95A63F52DC8A5D972C37D9CF4D6A641493F5E5DEFAB347B63B09B8C658EB4E2638300E47810CAEB87CC57BC1C169BF127AB71DD596F2A531A648BE7763506BCF1479870FF9A2F937D04B37D4E119213DB236DC3189C82AFED5E25F15262C756A422901AF50F19896600149F63724A18D502AEFF04F612C73648E1B3944773D6FA687D99AD5201C18B98AAA3B24C5BF786E5E183DC4474E45AB5EBF44183C0E6BD3A7826379A08271100AB78DB5D8665826BB0DB7AA02B9509088038DB075FE71839962BE5D7741795EE824928F726C8B4691ECC3026E5598FE905CEFF8BE5919AC1DB552E2BC7230F7698CFFA33C007471FDA384592F842530703D0DF6B8F41E063FC45483C5647A555C1757C3E6BD0EE4C224C38E0426950D73C0232F29AAE4B082CFC6C3C49C596D765542428096C423DD7C9F94933627FB5C50FA7389D44E8E6AA0158752D05776B3909DF406D76B6465D82D74DA2C8FB81460AB60395F670DAF5CFEE31267898A5E1522E6BE733127590652A32E08CF89FBF6D811DED32FD13A0FF0E21B887460968EB6BE0788A01C5BC8B0BFCA7240FEDFA119A4932B43CA2CF7787F91DF932796BB57ADB75EC7BD0F605D4E0C586727B1EBAEA010BF687C74F729F6217ED888D8C1CEF8CA6F2936F83206D33ED76D6E96437F0F59CFA238A48F13EA411EE341B6B0DA7860DFC5139F96C0DF2B1A8B71A3DC5383B459BC9DF8A28A9FF2507345880D6BC9B5176EA032172A115636EAC2B1F0BE2F673DE2C206AE068BFB019C99324A04C469F04D50D5236713C0D0F6CF790AC05390629AEF7D1E654A16AFF9F64EA86DE938904A55AAE80689A933A09E02285D5274A7E38EACA09329AF638ED2A826E436E1501AB3D35C0BDB02A4F15BAAF73F64E105F256139623082ED6FE2141ECCD3D58D8634BCDE5C898B7E85D08E438D0E68BCC2DEE4606CE73EF981D026F66DA375148282D7BEF5D397FEDA4C8F2E4DE4D7F1AD00531900F84850643AA963D160618C8DE5DAAC38B939485AC2FD1BBBD985176C1626826E42FB022CE01ACAFE85891F8CE0A8190F9A81E56E2003969FC93EED69467EC451207C840A5C402E6CB27C92B275959E622EB73BBFA586537A856DDF79B8DDF95AF6AE19EAC0D0EF384E45942D3766A0085B12D2BE3D0FA121B70BD41803DD463D95E0633B5E9DEF4A835DAD005BE749310090E3BC81E868DBF4E80B51A0FD365322FE09F1FF7C458A03B78ACB04FA159E0A8642681FF46E38CDF3B66E043CD54C560AC42382ED09D2563C79130F4905812B1F6D98B236C63DADA35583395FEC4E224133ECB690583D9217A6DE36E837A6D87050B7A895E9894E0148618819182CADECD7A011B27B52231CC88370421E75086FFA81E2A697CD413AA732D822E672B65C35DEF5F318AAEE6C01418BE7BDB41DD3798415F334ED88F782C7E1368A7E09EA3C734B2092A312861F48AC54E29DFC71CAF77369D1210FBE78B5EFC06244EEBA28C344FEB4DF06E323296348A0ABB2D1D3FAEE9313106A4BBED63F2D3672EE2CB70E7365AF7E657362537CBBA33C3476B1814CCC83765C89C75AEBAF99A8C8117FCE9A7F5D979F3307B420002A5F713636FD29B5692A2E453741AF1C8259BDDA16EB120A3E65D99406D5A9E99E1D0EF8BC00271C7FD1CFBF79225873585DF1F7DE7070C33673CFF016813149E66A195C61D8607834B8CE4AC126B51B01B7A2D804CDF2018B11F9202027EA5D3147B4B0873568676B43F5D089F540DAD69C2C6D1389576D730115442B2F7C42D02118CA7B3D85444E16CA43B75F9C425712A48594F8A7477C6EA8C5AAE810E3646C29A1EB87D2C7673641DDD2DF7CBF18662C19AA9668A98EB495E3F53B19059A906278D09881B0D14A9ABB9146CDCF7B8B8A682BD3CF333169A292BBA2DDD9F7D291A63B3A2D13861D29112AB3DEBC40D2A81C733CAC6DC2AB8ED46B16AD9EB050892F66E8EAA85120B1B4EAE2CBD08693DFA35E965CD30B7B5BC8EC450CC86F1269986F926CCFDAC98E48A08B36B449EBD318E8856994B94BBAC02920BC0B0C5FE4C73D6D333D3C6688A2E39A3622F0CB62881EFE1356F62C41413C7CEDFC356671419B650A143F24680BA1C854C2D8F916BBBAEEF72260BD38B8645AE17C6BB65D4664468D3EEA1A2A83A910F192410DD23689DF310E6680CCE5568E5D101B01B9FA2820D07395BE06AF5DEFC199DD2D4A5318DF3C9A257B72503C25B341C0", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09E9E0000000000000000", /* iv */ + "E0", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09E9E0000000000000000", /* iv */ + "8DF3A73905788E3F1E461100AEBD10015BCB41CDB1E31D015F8EBE20993969141CED2AF468E49DFF3ABB460607B8127BFB255B3DF5DFD5C5D5A6AEC082C3E9F8ED2164FDCCD0B74A8874735145A3674ED6445565F71BA6895313CDF96DE1C94F5A6C1DB247840AF9D96FEA546D9CF5CFEE458F78F55163C2464D323481B4360DD5D1566D9DEE056350CAD8A330C592E7056B98544DA5B44A29B196A566C6968E724BCBEB209AD442D7BA82DF568366F17019A9637410F150CEA3B261CE0B3EF6F43B140FDD2E2991840FC64C7FE2E3CAD2A4AA19781DD9AF1C6DE0416FEFD95594D385F60256806B61EF9093C03490D7905BFCEA0D881E4431F372F952BCCD216727CA327A6C6F02BCCBBDCD76FAE99A0BE4655EDACDE2B3CE5C8154224EA17B0A2B585BBFAB3DD0658660A89F5CC8B8FF425317B22ECBB64EF63A6DEE512088370E999715910AF5F6D1BCE15401C559FC671499729C3CFA6169B4C1AE8E55C86A76CEBCD68D4A32437FB51B8A15EE3975AD74B07C4BAF5A4F54183C6BFDABC2A98DA52C96C247963E2AE266954EDFBF71AC7ADA36484D70A7B5CA52F095213B7CC9648CD287D755A37678B8084ED4CB7C50DC530CF1FA8B87B5413E7D60BC7CB757153F4CAF3FB22C5A3A0D3C2BB6B54354FB996C3B4F592A2EADDAE1BD9882D0A8C4DCB442482833D6BA4B4A7B3BF4EC1FFF363E5C653F953DFF9544D2145C7BB9DEEA2B08DCE47A6310624302260049DBD7189E4BFD1EDB720129D540BB2C78DD8A21F7A545940BC1D9BABBE79AEBA2BF65B282466F2DFA70010D7473B1302B88649B3F41B6EFD147C9C0CCE682A729D5919E544E644EB8D9FAA50F119C5CE465BD5A879C83394367ECAC6107D60208D73308C79EC4F21F396F489B74018AF03144B501252BBA04CC5D13B630A13B0A2D765536ABFBB69916CD9901BAF32B204FE3C2BE61EBC80382AAD2E7C15E5C707AB124F33900BD172360EFA7A5DC81005276DF4A09074FE2451B78C28BD6C446F74B7ACC67844804D32352461FA2576B5636F2A60ADF6123A94E1834D5EEB0FDDBA7E7D9F36F19BF2E330128EB60F67F53E4669097BB65BE7DEA1587635C2927DC819407B233790AF02CE0B5FC88881B05AFF4F06E75DB8FE2489A9818D75C050084BC1CD9F5BA49FD5D95EA759F85F7DE3BA45E923136892F02D7DD2606E5DC8B9873AB59BD19A68F9F9436635C0622E4BBED5E306A5F131267349A3B926A0FC51F5E4ABC072B18916081DE2EB87EDA1C960107E21468FA425DE8AA38E4BAD13A4ED6C2FA5C4BADE15C026DB286282576902F8BE42E3CDA1B35296D36FB7CFF895FEAB6547F1D3B48076DCB1E378A11BD3FE415D9B93017D1E85270576310EE5AB0B173602BDD78965415535F97E5F0E615A2E6A35F6B4B3B74E350379CCAC1FAA50F59EDAA70F34B389C70C83078873F4ABF5FF91B9C53BC0015214C20FFFDE43948906588D3CD671F91E92C5407D9655C28A1CB71103789FA177556ACB244A38E9495E56631144E83AC54FDF578D9E7C775C310981AE8D42E95F9561620EC5C720A66108E9332F72C6BCCF7D9926F5D617D6060A6E9E8B674F29B40C3897F769E3C6B6FB293147FC38BF4AB95BD9D09FDDBBB701EB1B827459D4844E8C53D9A84B934410EFDF37603DA251480A5E6DE891A8CA3EF4986E62B6481D16D1072E27E6652FF80FC9F7A2AFF56134F27EDB0AFA358FC744A640661381FA3D40910FE8A9BED62AEBB6169624A0499B0471B271CCFF22EE11EA7BB7FF8ABA9E6392037073EA77FC66E84794D0CA419726107F9A23748CA5BE8E79F4FD9DF5FCFC471C4F996F854C75AA18A08B38C2B9CAC45162CE069EA727A3C3F1327110F0759A6EC327D7EC86CF778B1E9CD0052DE8C0297A738D4AA75FE3060B33076133586D1E29D30E8CAEEAE9265B40756A4803C81653489FFAA442B73B58C521E520B4AD87CD9E2867C533C3B3794D4E64CB0ED897780B859A4E20305304E0EB94E7BAFD70288C4B878D668F55E5C315041557941497BA0EDF9557A05C17371F629299A076FF3635D9F427B9D7BD049E30F8B139470C04D1A194A940552F8820BD26BF5B1C6184E29BC8E45BFC47DCE6D3EFB7B3F764BEB6F20A6101010E226648C15740E2A09329168EC1CB658B85AAFA03FEE2C16B5D80618C2B98DEDA493D9A1AB51E7B4F17F9638E860BE6F7F3DBDA4D08ECED37A936D316C1CBDEC1EB250CF1B4D29F669EEBCDE7DBAFED4355F9625ADFD17A324317B5C558761033AF380BF52FDF8C93D7AECF08F500520BE7D3D2A01C872115646680A64249A40A0A3E2095A79B254C6482019D29E7F6DFD8BEAFF158431C6D850A5F8B70DBD7D7E4ABAF0C041CFF3422A815C00DA5D0E6849E5697DA218686439B93B2F4D52D65163A0B3B8C896637826C70E3807997B4E84849674CB9C203EFD9C0B13CEB0E9359C42CBDDF3214EAC7D733E70D9A8098AF0277887F74D6BF0C0F35765F117D3AA18ADE1E9FCF2DD76064433FA168DAC52AA2169263A1D9EFB5407417D556B9221534F5027CEF7EDAE02F9034CBEFD54AFAEA0AF26E8090172BAD272D3DAF495DD6C50BB63CAD96DD91B95B4EECDAC0A908E38C8262596F16BFD2EE7ED96BB1D5096DAC2750AA38777652A6AC7068A12AA33A4BAB840FF0136F84D0363E25E4CB881501C347DF0493F9982A99F706B7FF3BCD2CE2C857B88FBB4BB7A8E48EC7A0D058C0E0EB5730013FCC5A1907540257836361EDEA76E24880E89944FEDF2B0E6FC4AD004C5125DA824030D54AAD18C22F4859038BCD29A0A59A858FF1C40AB79ABDC4A9D4C52AB3DCF55A74F1E3CAE1F0028E77F1D2F66146156EA51F5E4ACC677F918E86B19FF7CE8701292CE1BFFC1B32795D0C4607773B8132C2E794A4AB9630A17199B5293745B6A8F36F4ED71CE63F199F753F58C8587325F522036BF3DA99B62F8FDDB15F3D50E0C86026A21EE94374E497318C8728D144DA18E9E9EE6241F4A6D59584AA8A2224C9CC0E4E65E0C71FA17995AB13508BDDD50242A87F3651E82EAB98B9BC246F6002E683820D476D3DC86132A67B1BF89B6EF3C57ABAEA4AFA13D629427FAFEEDADDC1521539B08072A5472B07257AB8EDE61746AC286CB94D9DC341698690BA34593A6220B65E114271784A2997C9E8F4F7B3AE0AB50DE668BE16557F5EF34C1177BA45601A63D601220921D4706642D38CC4CE2A2D6E267BB92B03580A3BCBEDF3C004393318BFB52F30996ADD638D7F1D32107E23AA1ABF03DB9653BDBEEB939B880E7B23EC1640EBD3A18", /* encrypted */ + "9B327A522FFFBEFD840E154DD55979C8E25EA950777EF79FA53C42DFA4174107124496A54577EE7360FBD22D19121D23FEF270567CFAE196D157B594F8A6253DE9FAC6A8BA75EA3E3DC85759F18E94C8A1B4835D613A69E946C7B1B7EA239EE1E40964FCA65F95D62E8A70CAA3C288C62A22BF9716382DF09259F32D4615331FB3AD9D83DDF7124E85024DC715D077D70C96C9FEEAA204B86B2962CE9A41B6F564ACD3B1857F9CAE63F9A861AA33E5ED87A7E698498C71B83FF02442ADBCD9BB9759A40379BEEBF6EC2F04CA5318420961587A504FC5CD0526547ECADD0DF434E78613F9EE7C38D5FEF1971B477D61F1E5DE95BEB7A2592BE79F1619103110FF917F22FC6B347FE0F22FBE107165A983D2A8FD345F3FA9CE3091B855F4768BC03053E877F813B1502B60421B61C7DAB8F4E6A2CAECBC847F108C0BD6B673428C54FF3ED30778F6A06EF600682D2D4F57B60F7D4B318FA1249AF9B3B57CF0B38DFDFD3264B81E1EA2A402ECD207793F622AB188F4FCB0239BCAA0CC732E5AB4ECFBEBA0B10E9E95E3EC7306C30388110F1D08F48121B85CB8E814AA3DDACB3DD2AF316E1E59F0E5DA907F2CF9140F64AF4663B881A637005805905BC9D0098BB45D97ECFD9111C56A73ACDB6ABE3457C76FAB7F3E400C223E71C84824E6E1953242788237B22F217D18446F461F808E561F99073C37C4203C7C948A36F9E20184FDA3AE172908198F65F9A27572AB24EA95D42B237531CC927463A577E38D686B47314558E63955EF786C473F8E1D0E281F5C1E68EEAFBF4C3F672C8DADE9D3806BC9B7D58F55E121E42BE54D355B4B41FACFD4DB68372C99D9A0D202900ED8340C2A489D188970D556BC3D1DFC3192FCDAB4E00E68B7A02DB282C4E1F8B0584EBC5C3D82FE038B70C7F4CA8A6273837EFF0016429C3C77D742E0A96204F280617C38224E9FE40A923860EB44796AD3AE2FC13DE6D2172C03FB47C9D002A8104EA6945E04D9AC48A0D44DB70B83C5930B6ED251052A8FCB2CF4447B934607F2D99071A8FEF00BDD485BF73D3F080701DD842F2D3561731FD7F479C7673307127064C58FBD0B0155C394429EFB51D3DAC07F509A21270E59AF5F7E2C3149612D90CFCC4DA7D627B48E228CC25427E2C5EC924666422462F61C5BBC5F2CF96A0F114DF724A2EEB1753FACAA199175B8C2CABD30B1B93EE220AA212D0CD6B5C94EB720118B468A02A50855C93C3131EBB0BC3F699E085F945FAB4AC79F74B8AF082579F68E915A150621A409870A347188CE6BD10E5088FAA46D9BC8F895AA3FA0755B1D2EBE3BCD68877EEB94420672F6CD1D66CF6C65259FE8085B63E3562F871E09B6F72A55AABE8A953307D197C9AC55FB125928E08D2125A3DD2D0A3396B38C861E1ED9BC58DC7B1851C3BF5650FA132D7688C19EC9102F3963DEA349D73964D622E5D9F8FF02582CF4405F069DE64DA8C53581D398C8B316499279FDF00C97970033216BBA9B7D73BD5A4D8416E16FB10A23786855685FDE7AD2BD6F741CBEAB2AFFB4660944AB0A1EBDC4BF8FA3DA19552537C90D037A043EB9DBDEE2A0242C572C4F8AEF40BA05799ED51DCD24E77403ED6822CC763AE29203B414AB37435125028EDC97E09441B7835901E4430B0069182F44CE8B8C25BADBAF284B70FEA5F035E2A7283D336A867BBC5128599CD77FE370CC4D2C207AC9F38C2B9EC54AA7720F0995D5DC5AB2095119E51A0923DA33417A93335A15FDC81B5194F9786D4BAF9C40938518EB7B00C4417E82C3478AA1BAA3459041D97A289984787D3281786DA2B8CE1DBDD714811116AD3017FD0DBFF96671BC6A8AB9CA8EE9685DF9046F42DC11037AD8489C2EDB30A6190FC9DFC51BE7C48C9ADB5CB78D5208F20DF222EC46A3266B5EDAB82F2F802255A51C45773F3C50AED424A0741321388D69BBAC3B30078AE1D468D2A1F645F907BC5C314B39901BB4173DF994D7C71F79467440DB0DDCEB16D9B8156248FCEC72BFE9CD2499B2B39D57934245FDC853A9C06F81545BD2E9AC18F1380CA664E4BDA34629F787029749D5EEBCA081A8B749E0C4D650781AE90115C6532CADA534BF8742E85422B3A3643FA9FD9E294AD92D57159A4F9FC16B93938A7672D4E823BD8325EF49191CCBA651F91BF398B8F7560E7C80F9431E4357ADFB49C7B53B376F7A5DC7AFD005047FD60AC6B1BF31C4EBE16DC3BFE332E270F3D7773D25807E8DFAED8836BAF80BFE9C6DEA129B6E2DFAABD96169D43970C503979DDC93ABD84E787A4F46FC41157A6709BE1AD75FA5469F285CA1D6D3A4A05F00F6F9974FD72E47D90812BDC2E97B13181FDA3F86EA30111BCB1AC367B9D92C0A8D6EA6FD19B15E10B717F0E8E9DBF25896D8E6BE7AE9339E875D400909672DF3544E42565795F114727061F82F346D4DBDC6C15E4339AA78D3DAF8CF4F7C77D0509AB30BBCCFF1AEA3B67473B185DDE163830D27579E633A32CF764A9ADBF23A935EBAEE44A516EDB04C4B08C032D139CEF2FD081D5A28D4F70333D40CCA31BDE10C5F2C70694BD99DCD8EB2AB8A5D1D512897F2886FC649DF1BDE44E886BECB35924CDB4F731B14D23E9776EAE9F8A0FFE6900EB90EBE6F20ECB316D3CF42992037B5BB3072C4E278AB0DC3B1A83774E7C339A2EC489C25DCBE551FA4756AE9BBBFE9E449250EDD942DE7954EB8ED414C214D1208B0A39B7F9D79BC3600399C8FFAEC0C85134761F71F794957B7D9F32022B344B7FBDE2732432697843E192D3EF067572A8E5B32C874F2076BCB72B558AE5CE46B71D927E652723A6EF0CB2DF03246245AA5FF6685FADB18A97254ABEDB4C981ADDA16DB3C3A892B11E80EDF181C06E5DD4C46976217B8B5BAB0DCEB1049E6AC73BD7BAE6C1FED71F063444B19C2B003FE03E9DAD5AD8402A9F902A5C25BF549747E097E25739EC7E1C66EAEBF8C9973E44DE92D853A48F80DEFD2A7EBBE1C37DE30B4D7F8171FE4A11458DFACF8F1A3C8B1A444CD00C655CCC27F1EB64C8AE2AEB33B7CEB0E8B280CA1E92E1B554D801BB8C28C324ED5D4ED1ED7F52AB6F3B9A776B3E0A5AF753DFF350656AD11C5884CA2A84270BC8B68FE42D0C6116521B41A5F8FFCDD5C2B667D49916E1D04FCB885B6D18E2D1FF9B64ADBDDF1DDBB7F1A1A9A8AFB37DC6981F9B9D049A38284E8E478B47B3444440EE70E41388451B361C5EF636EBBAC9DADD9A9E21136877B7E19F1A8A09AADB03B5684A58B76C4B81B7CF298085761A8DF6A168744E418D325DBA3867DF1EB225BF9602EB97A7DCB40C11D1C7170", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09E9F0000000000000000", /* iv */ + "83", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09E9F0000000000000000", /* iv */ + "61E7F385DE61817EA2BFC431979D613C3EDA74142610906BCE49FCB6646B1C64EA1AEAC12AD62F34169228C6182032F45A8FD3A99C256F6360DF12127E1B6AD83113C0F44204225C3E131C3598569F515CC58D5384A1FFD83A0E14399EC1C21D33B1EF9FAA42024173568FCF7C3DE757828EABFEF8F69C2BD0E9DFEA4727F2CA3A078CB63083F4BA34B294C9210CB4ED5B66DEF200332ACEF9142DB31B71BA1E3228F19C39CCEAEFA5F115795854E7B99D2FC571A088B2B40D5F0AB78A5BDE8E49C0455F56036EFFBCF4ABDDEE168945F13FEC42975E226134D6857EFADB59A1F9A6600430D6A3EB9FD49D2ED1696C91564274D1D386C096D850D4486F782825F8B3DE96FDB6316ABA912B6CD77745ED7CB082C640BB00EF51D7A5FF6CC2C2D7BD8943B2B106C0B706BB98666DE7F5532BAB77CDF2009044BE7D0EF6D02988EE99151D8D949BCABC00DF87FC0F706561D77B508ECF2A1B9CDD337807852C00AF847A1285A232D4940EEEF0F96FB5D530CF4473090FA1BD5C0C5D50A907DCD9A9908E96D6D0C165261FA745E569B7C6CC902418AEB5AA2FB94B14573797F213DFBCC2D98FB94F309821B7EA7B7C9CC4E1782882F039CE1C870991E44583C8E6E74A9C90549984174D58177F24D1C77FFDA87D04E6E511A92F9EA6D0FAB6A50640098796716CA84752F7117252A5B800B8BFAEA9D908AB687EE0E464DB4BA71F73290C110215F99D4A683E28E75689974CAFAF3B5E8203BEC4ADF52E7E1C7176B9893A808EB88C61C520709B7A91154866DD523D0689EC80C3FA6BCCE7EA08A508E1533C727EA25CBF1DCD52B67441725D3F4213079F223A1477B260D48D58C98BAD62DE18068484410B0FBFEDD99AD05F9E3F51E1DEF66742E1BCE886E55E931EB128E5883A851EB7BD716BAC55E8C42047E9FEB99B2E6419A5BE57537271486CCF7C80A9FC7DB212CB1C267B804BDFF975B89A329802F1D462D9F2D9DCE762FDE1716BA36AF82DA14573E7618C3864624A7BFAF2A958B5583B7F91193A1C4C18C485F0BA23EBA56071B095A67B5F47E6C55DB76C99F1E1D29FBAF82FF32C19F83E0B6B43F38E25F6D38C1E2E032A0893C3C94A2E73C4E827EBFD0343EF9D4C86B25B23D7A555E35A5027381C4F9F195039A2D2D7128B7876385939E006C080CD3B8DCB807A10640E49B0D221C21DFA1A3782C77207DBE2E5D55934000DEFF2E16A84C451EAA013CBBAB0FDC82D8BE68AC64E2A1E08329320FB50AC4C115FF1081992C8F7D389FA206B929EA9B0EEAFEDEFB6191B55AC027EC4294334BECB4D95C0C0B7286260BA25BC188D18E504EAAFBA0B4D93C3605C76475052B55415571638AA3EA7D6B93B1506C08C63517D1481A001A4E8F79286D8F96EFA158726A823699F190728A43AC5D669EF4E8C4EBA16359DED7B7C7DE786AE1D80FB71B20D6CB39218D3BF65A254D36226A7EC0200D83359473B24D7697080DC267AAE4806F8483CBF38D449BF4CF8A5FABAD4BCC4F720ADFA3710EF7EB0CD0F2A9EBC2956C9FFD984AB39870BB0FA6A1BC97708EE9D8478769654C7957EEEE8D128D8E3AD26824ACD8EA33EF812C7CDB419D2319BBE0EE739A1237FDE4EF57A9D03AA6A8D74DF8333DB59F2943C1FB260EC8D1CF42CD798B272F18ABF6E478379218927E9AE92571F6343A67DD417B89C5246AC1924B87A9F1DC49E1321A7C59B801A2474199BDDAA2B822519918B3413830B604C2EF6B58F151C3E130C6EF47DE23911665097592CD4ABB2E69B3B09171FB39DAEB0ED29C2F04E307C574BA4EEA4CD9E90941B612E059DFD4023D39C8D75D0466A35F4A8039D42C4AC8C5FD1321DB61DBC71CFCE67588D95108696E4D89CFD81A80DA13C3221BA34829BCF73DEB359A9F296F4905CBA30D0EF0BB282D440D00D8511E6245C49EEF3B530B4A9B3142E8E77BB6E50D02EC3D7F6C634A9BF1D90B9AC74E71DCEDB7EC4CF03316F2C2E3C1CC88FD43A6504CA441123BB19BF1063A1DD983093A43CDFA19698A30A811E14DFA61F37026C2945045712F25DFF2E263447ED3B0D9350208062859CA56DDEFD07392BE1D8D0F4EFC864B13A445A5D088776D03F4A8E5C4DC95AE7A843B0E83492771788F5C8BDB30FA2835560620037D05F426165AACE3D41CEE9DFEBB79F005A7D9290DFD2083E271A877807834347BD44E8F6CBEC44957A60B307D398A1701D04BD414019F89D45B573D50E41598FB6E37F4E3E4533DCC2FF05B4C63023AC9BCBA6483B6B43849EA51DBCA00867EEC3282263089BB14C18D111E227CA9E54B019322A413FC05EB2F77732ACC3A23114D4213B60F8D3C46FC9BAB94498A9F3E0F786D7721DF3AEB4E682C1248FD3A0EB185E9877403E725A8CD8A2E12F1BAF020615FA430EAB143C76776DABC379D85B237B4594431BA062D5ADFEAD3BC748E03D7015142942FC7BFE340435F6DCA526072807BD627317FE4E8C8751B2D1149E643C238693EEC0D76C13BD589238E3E863E2ED9F986D365138D833A04659FCB5075782616F743DD9AB36F9C3F398988AFEE1BFB69DE610AEFC6687117A90E44116BF7AF00FD15A334FC1080CCDE3648D3C36D0905891B5AAE30E2FF53F48702BC0BBF421FDB2C2478EA2353C5656C3B25DD94BCF57A60D5B631D65A5B12F1BD3E1D9B8FE4921C5DD68C0EA8267CCD92E181CD0559EEEF93B24BC46DC70FF67F0F9288A25FDB873F2D2902B47BFBEDE6E4F4F56AA0028BB8314508B26E4F4D1290B75E45E1A6F8F4AD0B8341FAFCFE1E34BFF1735D31B247323CC82091230DA3BEE65240E990C1FFA0C3FF615D67F52423D1199758B2A66FE1ED08A41AF9B5367494CA66A2FD6249AE5E5F5098438308648990BC62E0E922F2A8E77D0D53AA1A1F8D261AF782E3717421CBCF7E59BD5D9359CF744B9BEF21A66EF0AE17698693BDFAC23D24B166E76CD17C1566F140AEFFE1C0A0E317B6A4B5743DC5F30380279185611BD11585F4DDEE5D1A27629D70057FF3DB1AD8354FFDCF2558BD2402B74E71B4E691AFD1DA6E2782CE6643E1B8B4985F9105F123D1008D3A611E0ED4023EACF048E10B8F4AED4191F7709F41391537612FFFF7737E1158C5E4D0FB4A667F7365CAD57FCA8922481FB1AD9B8E6E88B26B18566319541DA6C605733A001F2B49DA693D4F0B53D91EF6BF77A2DF8EEA68B1F710700CCA34FE4C084394191DAAE5DF2CB6E76B9FBC258E26490573C8DC893034A34C36F2336BF8625E3D9718B62C6E6585789CAFB23BB66549EB4FE41FFEB9C38D6F86C451501E88EA9513F9732AEF50326246B0B8AA7A3F9F601EE2CFA8AB4F94D5727030A542D893D159938CA0AA36001562B8E07B7EB5834ADF3DB45F17D07B54D4FF01AAF332A8C5A0C74CF4CE8A616290CE3B21A07720EBE2623AD59C5FE7491BD84421435DD352E19A4BAE67FC8C2ED2C3082F94C87CC5D5E9EF4BA1A3921AFE52B9937BAACA9456CE4D7CD1CA13E95802D1F1864675C0D424C6DF122AE22F34D816C8BF39A642A51655C767354F9351FFE4064DDCD5C0998AB1A6A0F1B286461A6D3E5249262AA5F4FB8733349251DC58994D0DBC32CF2E40C9D83F74E9503079A9762E406B357B64B0584A9F5DDFC3396682FC604FF21A4579C395585641FB41E6E3DA90B7D6CFA56E85ECF75D493340C89D02FA472977C4A02C36C870BE8234923725491F757CEEE", /* encrypted */ + "9B547A522FFF2BBFA18B6A8F22ABD81ECE021F2A7B1E1FF6B585FC2AE5B7A09E4AFB0F0662909EF7CD1DDCF38017F7E671A08F759F387ACC175B24B37FB9552A35FCD8E78353A9832A695FDE7825CE4DCFB278F96DA6FB52014BE9FE3DF02DBEFEC27AC8AD07F81C5AF270E0876FE3DFD6D5DB0133644ACE0E7407CA89F137C92121EA3FE144A0C89A042FC378E51126520CA6773E4A43A80184E48C8097C63568E1BA56DC26942965B7DC95EDC522D2DC4A16488242AECDD990433457D7F4AF844356FEF04096E417EA925218210E07D785BDD048CB267FD0D9A02A9F99762310EE1E12BAA15D9052C435BEDD73BB694CC4971BC14D4FBC157ECC60F3E6B753D1D957BBDF1C54ED7DEB31ABF7FEABF109D4FA78A2FA6992DC70C3C1B71955B3EEDA5A2996A5B8167AC93C029ED90A128414AF6D555BC9973BC515560967F75B8D4978E25A1C799F9CAF7483DE5411BE86512454880BCAD64136E6C454E9EE10EE5D49C7D57F67E10E0CE049D5807B0230D4F82B674EA64D47A88C7D8C40290D1158FA73CF8B0DA0372A4D66E081183CA2360ACE8F77ACD4BCFADEF5E0821D7B846AADC1F9E133DB0398C87393014E00A72EB6776421ED236F691A26EBE10BABDBAC985C583387353277E56371DB7F5C155126863E5E70614239F13385B84A53E61C306578266D3E8F4AC2080FACBE599E48636C0FC6D176970C4906769BF7C1BA3F92C7503401680999FEBAA8893F145B1BB6F40BCBA191347974C6F8E16644D550E5382B0428A38BF9F9BC95A051F8EBC1148975957B2D12F82773254D9D7E05F888BA5DCAF9F0B4317271EBB8BFE0A71E5EC471C418C6DCAED6ADFC2A0DCEBBBC5A948C12E11D822D26B5DED4E54D24F9EB2D7BFA46DFE831571D0EC14A4D1FB10B3013DD8E230CF5848CD33ECB97453A3E1B8543BBC0C481C227763B0F95A028220F303A0A680DD5FBE230D79A91F1634C092F033DF93989C7762600990FF2E2641B87C3850DD3F00885B5DFFF0FD739557827E59E063B74467E0A36F14838A32CA38A26B9E3090EDFE106EC75BEB8A6AB4F793A5E1C3F7FF049D766E2AA73D1196D09E49387B9B9A3531A416B998CDC7B07CB443FEF72A5505026F57B95B9410514BC564E87B506CAF800F1A6D8DE372BC3AF40593858A18542924BEDADA83DDD233CF930E0A9A4AE09F08CF15DDED9C854D5DA8F080220DA7F0C4FE373300D10F20BF30B939633F9F1B355BA1966CAD96E06742B7EB182223724BD9A408A981E85C5B6369BD6F701F3E41E41D496B29569ECC9CD4E4EE29927F6208E7BAB14EB2F15940A8DE147EFAEF4897117A1BF084872E75C3640ABFEA00913F65C555DC7E97085D5436F37302BB35869C9185132F3A8642D10D4888228BD06788FC3660599379AF34CB0DA1B90C688C6A4AA59D6FBD4CFBF8078E38D97F9CD0EBBA21F5627DFD50C1459CB203FCD71F82C68959EEBCD0881536D80015C845B0EA71E4DD4B2803CE7CA76EF12FBB809770C10DFFBAC8DEE501C8C7478221A3DDF1A3D405ED9DD33EE66C0AADF1E17CC363A80FD4550EC9175E8934856F8CF9C59AC35F2D713581501BDD5A8FC32B3A9677FE721B4916ADCC21338FD8D2599DEFFFE1062F0DFD686D37DCF6115B24015FBB5456CFA04D0F2292E34AD94EF398F57CE19DF00ADA01081913D0C79D1FB95FE418843C9A6D410026AE6275DBB9F6870100B612EDB5B448551325FA8B53386688AFA6EDE065C8ECD1C61B327DEF6867E37CCD29EC404AD75EADD1C102AD6FA2AD73F3E676ED309FA786AF257D812B9EB65A30A85F34023DA41643297FB7902E67EA842958C964F2DF594AF075EF1C842BB64F9FE16B1C10EAEA4158152B6A9DA9B30688F3F60D30871AAFB4C49E3B29E18E225E6B2550F66351C4DF6D37EACFF5AA39AF7F85687D58C617E02268BE56ACFBA9566B123655716C38F73466A753731FCC0C98BE551B9D651CF8E7B4DEBF6C67903D9A241E475C18F4F72DD4687AE39AC52DA5CFCAD8D037B586BECF3DE16AD629931807CD02ACDF826522A7AF26EF8AEF902347F5676F3460DB4CC0EB23990F391F95944BF8AC182A07BF0D4217A191513D1B02A5926073DD4DC9194EBF626CCDEA9A440A5E144E546DCBADCF2B8C9B057864113E8ED5B22144AF37EB69D26CEB67A943DCB324AB07E3E6CB9039AF81E6094EB933111E09561BFAB2CC3FB5D01576803542B4986C05B0CB77D9D214CD70FEFEB4F2BA83CBCDBB6AE85EDD870AA73547E6651CD442AD932713695754B1A386E07BFA0AE1155D91F41C939CB39170CE3FB2FEDC797719ABCF638264A871A141C527F663ED360722F61AFBB550361493A9924FE06C6F80EBEED658530AEB48BDD73B7CBE9E79A559F6FDA3ACEF391CD9387C7A8151B0E2F6615ACBB0608A258370ECF87A35F9A1C22F29CC70B0140A0D77441152D1F3AD1036B4D003C38BDAE4F573FF09F4D7FB15960A46797D6873BB1A3183A866EBA1E2AFA103F9188257DBB6731736F7449CA1A051CE1E0823A1A871BAD36DC7AA61DB28F61003D37F2FB778651A243DA42AFA2EBB107BA43C38D6EE805E40FBF35AACE48F4B1210B2FA3559C037F58F4C9F11C28C7C020C1F1733AA867F56A7D2C32BDED5D59CE47923DF15860CB19CBFA6DA4B81F132ECAD29F3BE2AE40EA63CA44FAD0CA54C4548D2B42169425997B663E5B406BD1803CE4986CC1960FCCC4744636B1F1A97B3412AC0FF2470AE67F1814CC9C7B1E6808E2692471769EBC9B31473CADF1F8AB82B46B65AD2F66024E7656A143D1D44FCF5CC2189A358AE9CEAA66FA870C83CE0AB408BAA4536E831366EC05F37FDFF50A5FD22B781EA89ADE67DB8730CD8A06DEAD784AC44F8979D134CEACA37C4BA9D421618D3005F1150C20019245F485CAF44EB578D6E8F37A02C33176F09DE6D6913AC29C47B885C3D3F3585832A835C03E458CE29BF167C6B53AE99263CF6DE9DEB6767B5281E76282FE11DA33CE190030B8C82BA06EFC2381AD33C52DFC94EDA79CACA23137B91746CA1DD05B268359E04AFCADA7C291D313A0671F12C87400A593B6D790F945043FAE6B090C47109AAE9542301C7BCD0C463D94B085122B2C17DF2A7B20ED27CE697CF2F57CC09A7CB84CBBFE2D33569D6B1863D070E826C2A7451BF0739B267C0E9B0783C18A60AB400C0B4531FC12E360BBD81E0C92974DAF19ACCAF341A97155ED081193F6563F1F756005CB5F265F87167EA3A05534890213D1B1F41585D9D3A4A09E21D538AA20707DF062EC54900B3EDCB0889203EE62CC2EBC78A26299FCB3B3B01F1FB76E0CA8BD6314F1F984BFC477F8E69ACDF6684A1F8583686CACE84479B3E985771D1DD9AD971B705C73AF3AA15F5B70D8BC10A737F4CDEC6ABC994C6E2ACE44B1030E0AF6B682AB20982B7B5329197B4EF46C912A38D799E0CF8129D9EDE8568125BCA8BFB833DF19C00FB47027555FB73880E9A8EFF522CF9D3FA0636E31A3FD8A9A526D02193B63B488ED99CD8C037D640D20AB9899E73EA3F757EE5E1113EB5EEFF4D3288CEB030509DA9746461BB82BE9539691EA5DF3B41CC1CD05D83003D534751900C6C8BAB3EE085019F008B258B84B813259F1C38C177020AACB17818FEB1D1E511316849173AC9C85BAB9BF0DE8065360180ABD047445867CBCF115D0C43F88CD8B622A816490AE137D2EA5", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EA00000000000000000", /* iv */ + "03", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EA00000000000000000", /* iv */ + "638D4642CAB66CBD794DC0DAE692B3EB2F84AEB95A396887315A2E35E5412A41A8DC0823D8C183C37289ADE066BA2EFAA56DF5E53E90ADE5199CAD7E886BD16B6081FFEA4579644C339D2606E43E953917E927886ACA552A88A37AC03E88F404217A4B12292B9B09F90116E08D3469E32EFEA09782AD1B9D2B9AF1CDEAF1F78B79847F0491241B1D6E22D2A63BCC833F3034E16DE4656561B3F7D957F06D8652B7301C642535F57D744A506B71F523A6F8533403E9B5D1A79CF8D662329234A85F34D3B6B85D535EC0C8013B3ABD0179224770D931AE871DF3142A819415E17A0DBF7406CF5FA4D94E9CA4D6EB30174761BA3F31D4F180F684E7D9AC6C6190B47B38580E1CABBD84709089666636E00226C1BC2ECA011D276FA9A3A1B4045D17B0996E83C139FFA575D698B1F080D9DC27E8EBA8EAF57906173EAF2B31B0889B59416799EB21693C0C1F635F004DA81E62E12F524119717915F09DEA40D43F9CF53B7252298B34D6E18DFAEFFCA2F39B6D8CE76DCB11EA108A7C46E97A941821E54DF978DFFBA259ECC8BF680E617163F550A9015BFEF76793B5DFD4037B54F8C9917D9FC16C5152ECF6DD091B6D768092358CB899D26D99F913421D1ECBEA36C9ADBA5CEBCD190CBEC7F8DAA49028B0EAE5A25A4196DB2CB63D46284D0FA2FDFBDB85EB6CA6B8474B60B662F386C14CF467F2DD5E1BEB7BFAEEE8C147842873BD59221661A2F6786DAED8D4B74CEC69BFAAE90839DB2509FD49A30BDAA04E50D79A94A076B4E62FDB2C27DF95675698AB30F5260100D4A121241320E4C143E1C751AC4A046A4A0E41D123C10CF7B6A32A92DE234AFABFF6C70501EFF891B4E0653404304CFB353D59D8DA076051566F2EBF1326CB0EA54B5A483004C70A9766C30AA2D330ECD9530025ADA9155B6CDBCF74BD907C46D2FBF2D91A21D0FE0AE83DC07DA031CFB48D0262CBC36803EDF24DFEAE547724DF1F8258FB4BC9642A85D42463BF95CFA200EE0BF554BA189BDF3A6AD31AA378E92E8E2898E8D70A15E630D2FA74463B1B33E4250AC518440E27F2DE31665384AB116650956538544C5357CFEA2B5B06D2DC92D2737F174B1DF9B37051376518EC9F8AF6C8DD7E237B05FADE1FE462BB2BD0A827C885B10E56658FA4F89E107FE8382B2FE7F12006C66F5EC8A6FFC7AED39715DAFBC44F0EFFD02F9BBCDADCF6E7AB087CEE181B0191C0EE0399F62156EA83B94E81B1CDB3A017A52AB7F1E014D1985EF19B7BB67C5C8925A96F25B5E0B7210A502BD0FEDC89A1E703AE76298C8E58D0582E774A361B24F3B1EF1010AC68EF98E78062F2399F2D45F42C073B6C1547E5475E46BB9EDF8A686D61CC3B65146AF76F5D495CB30F76125386E58BCFD315C8C51FD99DC129FD855278F752CEDBC9A7A8CE985B228D36468115E85B0CE0BE47187CDCA08A050C8C6A14C455BC4B3445F80CDBD72021C39412642C759BDE2ED19C1F74560FEF4563ABB0E5EBF0A09CB8C6C0FC728CB2FCF567C26EE136E61249DB194B9004475BAABF6418A6C33292593CFE259654E33016BE8BABDF8F5DDED884FDF48FF9CE97FF1355E961696EC94D58E14FA2E2A58B06CB7215E2AD54A51BFB9626BDCC966408FCD76B83542D76EBFD596FBA0EBEA4A161CE735DCCE1031C8C0C0A138B3E5A86110E49E77C93782A9379495CA7609E55DB7E98394DE13929155CC0E55C6983C754210E69B4E4ACB9FC9489997B60A0F7A4ECA4CDC9B37CE53FAEDC6F981E055C2230090EC3A282106E3A4FA06479983C23490EEFDFF8781A0845257AB4F89977D83ADDF8EF7B3ABF12950FF56E49B61DA6A65758C43CBE9C1AC1FB0DF24998E8BE91086758499FD35D9AFB43BE824E3A0F49A1EB0CA3A5072A7EDDB3BF2FF128D23EECF9E04757469F7D0B059E206AB0A3A0DBD15B04F17A957221ECFB1634CB65D40630CF0E3575514C2D27E33E22DC66883ECE949CD2C72D65910521B1CDAD1F98C35D1257F16C29AF7104FFA717655C99B3BE0066D0BAE502A4B7141DD47DF279F1A6E8E5060F4C4B4B26005E02ECF1A91C8A48EB09A4EF5A4D8F7A9F12B5F639115FE00F9E05BD3DFA8723DFC34C16C842F12B1B10BF0261193E6EBE2E6ABE5094BFA0794839F7065F923526BBA73918480551CF62A1795B2EBA3BD9DACB965AF60809B4C608FAAA63D4C48147DE59D3E0D93171C7B3CC9C0DB0E94E994B2FA9AC2526A419D913382F46D8284C2276E11AE27AB7FD99C5336DE9EDC685A7BD7D07D3BA0ACF703EACCD721FF990CDD94F2BCDE43485AF02A0C4EF4E9CB8E6A4E4B5241955A1CF36A9814A02CA389B9ACF312BF583F6EF847CA2819E8C0323D4C582BD5F60B442A3F807A06D3410F9EED67F2BB4343355086CFB49C7EE8FC15343D9015C816CF8EBC6FC0AC8E45C0D7B6F14231B10CC715C86B90B3F2CE503C511623C694C28B902FDFA159E36B747469E649CF65593ADF1B748652FF9715F19C818BFE0EE05E94E9126EC264424DD67AA1A3C2AD5E84B38ED4E14E89C79D2684719C28A4CE17FD472B7008243B0A583FDD324A946897D80845B91C5B822FF68A1FF868EE1D250589CE51BEF0DD5F1450883173D3727FF1D3F2FD3B24ECF75933881C347810D4426615142A02155C4FDB658DCDAD4E08575884F9B386A6384C221A0305B88D1CFF19F748C03EB8B57F77E8D9BBED66F7DF3E8469F2F558ABFCF6DA2F1AB5C09646E506A90C3DC77F342D7AFBEB883908EC0AB73C82D78BB5D5F425BFC2160F544F883A18E4A239B5FCC5EC7384334E6297CBF48BB4CDA093A3B6C27F4E09530D475B44F9B3A8C822A39C4F2350A888D5DCACD5AADD45A0480F5DAB5D4892C15E600D25CA13ACE0C940E06434C48ACAB4A2EA20ECB83AC33E80BF6EBF8196ECB3D9620C23D9F8FD07F51754BCE51C76AC74CC3FD8136203BFB69962914F55704F0495CDA1C5CC468616AA78BC73D4B693433D48FE6979B301EF22C8EB337610AD61A3D3B5157382158FD1206F565A961B8031AA2EC97DA35D7B674B04E61045F7982450141FBDB189ECBFE426E2D7B451937CED7C2F779B393270780A52F0C8119C6E548B74D3B83340F12D6037116CA77FE04269319E46FF3D7AF6920A0AD2B92C5CDB8C2D7A46F76F94665611AF0F16C51BA0F9035DB45051DFDBBE678E2B69FEE77F7475354090AEB029233B5B591B9101481C44DB30203A0034CE4B5A2A1C2117196E41A6C62FE41A4DA50F24904DB65D129C472802568F7951E077D60E47F1A9CD2781FDF16A538CBB3A2925B195AD710298B95AE4B08EAD735118BD123017F39186D88026A228AEC8A8968EFEAAD87696C0E288AC8075747A8C7D057DE0EC7ADE166F5A8C41640969D87BF93FB2675E457FB911C6E1E62F77A6D6EAB7CCF311EFFDD850F55EAFC6796CF6EB22AFBC044CB200C303E7A6625713B566B27F8A511084B1B279A330F7BBEFCF54BC5E2B142EBA659CDA55D8FCC761F0457F1A91DA5539ECE7B688FB6EBC94B66EFA8EB2C20AC74AFC8671022F2496EC4FEB76F21BBB4D9E31A2E655443E307E58D8F49D634F35CC9117CF2FCD8E65EF3BB1003FAA0F124399C52", /* encrypted */ + "9B767A522FFF6EA1903E38A2E9A24A3CFB99F4CFB307CDFE9735EDE0FA708531694CF104A56191D7EA7BA726FC4AFF5FA34A167A69026FF571B5D28E9716500A4E1EA7F4FEFA577B09E7DB51279ADB5C55275D6B8F9117D6C67E897091DDD301759C792E1B0A2B6B99082BB6F42CFF3725255FD0D484ABC31BE2AEFA37D6F3A284DCD7FF4DD145CD8016F2A20CBF6014D6FE360D8D219836CB947DAF40E1D751509E4267090DFDB0720DB1BFA5A339CCBF2801E61217D04437F2366EE1F76F16C908820BFA874565834109FE7E2B3DE8DB318FB48D931492F2725546608329D01586BE147D9BA73083FFCBDA4F9827A070B9B900866A39D07A614173F2ECF69CAB8F5A867F631EF3C39B64C44C8DA441C430CB7CAE54E50D0E8F9A62809DF1ECCC9CC73CB0306674D6D065F2CE78D9B094BE46BE2ACA334B0ADDB704B9FF0A4906725B14B5932AA1114B25EECB606A19BEF8525683B0412ADF1C75AA58F7B5C1831EBF8A3E3953F101DDA270A48503EBAE436CB45338BA372155843F6EA38458433E5CFEE01D2739BD8861D9570CC7233B2F72D44A702520AE19DDAF32F84FFDCBFEB851F5FBF341CAF8EE0938C979A6A30B3FD064762EA32947C207A635A971E25C03025E4C73797175A3BB33E93F0E69404509E2021B118A5176C85A01B79A2DC7CDB6A2ECD3A5017B4ED654B0DC82A537C4106EF9E047398934BCFFE930FB8BF58C28D9191744FFCE8F140574D23FBDA4FA5819E012D8C8A7D0E1992F1C91C23EE8BC83FA815603879D30223445C416DC30F48137B6D60BE5EA5C5FFDFD20CE1CE679F08B553244CDD7988F91518137E7F85C897D8A9CF6FA34974ACB4C600FED81C7D4B1A1A8FC02F5540A9A5D13D7C1593445B80720CC103D189C02D2AA4A1EFB4CB33ACF0010FE7CB265E5134E667F27B20381A1078D1EA1B9B3F27D7CF4D67B6FF40AC4E94EBDF85386932DFFF74978363FCCCDD9D4A3A1B4E7D0D0BB2937A3B45F476B10B2D98C9EC3CCB1A151DD254FB4389A660556380A312674A5BEBD00D64A4D14D5764FBAD9713B63C20D44FF90D156908071EE509962E4539F6A0EEB655323B3AD38240A474638820D7AC35C6A74488F69EC87A124411EC2736A00ABD0A6D274903A97A955BD6BF9AB27473AA584978DE486E0C1804D83D42843AE7503424CDC2ACD4C1EE7628B822F346F4D9741D9722D24D81FD1F18C1E2BECC42887C87B1010EE72358161CDFCA43EC1F7762E41C11BB694B00860D9CFB74F3E8EF1638E722AB15D0FF5C3EAE584208B0F9057711B32D085F9E438A9289084C55D2C3CCCE3DB008AAA7129C537671AC8D410FBD693B664FBF824B2E434172429B3C325D42609BB0B7AC11FB511B4F3D9C880178AE8E8A59B2B88FB5EC0FDAC98AFCD0425696610B20FA311DB7A666FE0433B54E77C6975B71E9C5AEB0F8BF992F4C5DBF62A573C56284E5F8B560CF2E776485333C95321F7FD5258D6973D9A399E919CC1A5EA1EAE1504E143791087334EE0F39F86F22DBB878ED48F85194D52D71B3FDCB33DB2BA29B834405041D285BA773FDE14168051E809ACC34A144497621EC5D14CD5F62955A494DE88C28FE836B603DB5EE82F0DA46608B7F4A075ECD9C42C0AAF62F6A404F3D3351F00E687A83D1C0F2344364155FECC6EE48411A3DFE73CDAD7C1F16982006D0EB6E5ABB24FED0FD5AF1109A466D022A819795EAD8FEB37BD8768A766A738440B5D7DE448F938B700761B61BC56DF90F84DD0FAD5892166B64BC746D48FEB8674DE0972CCB7BE308EE4B5054C97828DF48568B5B98C11B8AAD3A8B2477CBB883D7DFB085CC1142E9F2081015FBC55A7954C87083DEB95BDE4DB72FD0040F32CE7F88498F55346EE9D580052154F359B5FBDAE09D58F54DC7FF07E4148AF3516EC47E0F345C05184A08536AF0F05ECC6C2E042D007F1E5F46CA036FFBD9A1A4AAA957BDCE1EFF35ECB9B6FA0C6D3A5D13E3ACB6E9BE980B0943A95F23872EAAACAAA882BDD5AB269402C5D50D3B41680A46304BAB332FAD48FC8D0F4E8DA11D7FE80CB4E2107A7F605C7D965EB56216EACFFC59FC9EFC92C10F3101C18D2C85F0C6B409E2CDEF83D4F077566E966774F9D8A2D1DA4C20EE2ECAEAA8026DF546A0B75EDF417B05E75DB31683DA430D714673A6855882EA93C34035B205CF0E297D5EE133D88FA0D6D3007AB171ACB7CED4F5290251516E5E3FE91FEE3323B267C7451BD9930385427C6FDD1E4DA68A8054F220B0D0EA3862CDF159C4319AF999D59CDC60A617CF3AA02B982C60368329F712B1ECB79B8AB71A46223731E3DCA80AEF238F9A99DAB93D6E333064149EBF588F51805B8F09B19C0073CF4909E6CAFDB4AB7BFBF9595E79012F6D0313936454CE316D33B824F7F2FC7B39B154B6D3411AA746D09E566A83834A81DF7CD5796F2FACF917D6160BC692A8FB1FCEF80F7AD56ABE1D4231F2170219ED06715F35AD7D2F0A47F2CAB4B272A09705E00533432B26303A1F601513E7EBA606CD6019E7DC1A63CF6FF5398706D978749430ABD1582E54C7ED29F9C2972E45A50264131922F6C9ED042A8692059BE82A40361176D9B70CDC39FEFF7E3F83BCC80D3576AA50AF04E770A709A67EFA1F19A620632AEEF0C4F0970A1EADE4670FFDA3024C4D058DB67306016E0D8507EEB11B21B699E169A2749D2D5F2C78BFF24F04462E5134DD28C224631CB0F0D1F128C1B3EC7D3595CA64C7C5B852CC83FFDC567AEC941BFD41EF8A5C8379A78421A692138D6FDBC02E4321EFE83112F2ABCB273D30AA11F2B946F9C24D5C8F6770FAD8A9E91242D478A938F9861220CFAD5F70FABD749D07E1FFC11F364CD879E0E5B444A334A1CBDFEED41E6189AFFB25C8558C75DEFEC395F3E8E0FE1133F02FB7CEC3DF27A1D27D838A9C2280FC1E3FDD831D9123CC0391C92DE3FC57EEB4FDFD53A483F6256A952DE003AF73E33E3B94D8506067910AABB1C1D9E80C52F15D721EE308A654BDCEE5716FB8555C45FC940E7E7EFFF4F14FDF35C77755635CB2DE56854D0B2487A124F79398722D9B16298205E376504C8D876F7A048E37ED93692A04B245AF924AD16096A106918A6E8F83B8425242B67AB1BF00A6FD75C429A5A7CDF8AEEA5919B97579145C4465CEB7A21F10126328BDC50A8C71489EAE3B6499282624572F7E7E97A57E21AACEF5D249EDC31FC067F727753B130F14889074A50F370C20BCD21A0DC7A37F54629CBEA0B1952E83FDE6E6FC804B75DB0150E3A8AA3F44D7808035DAD25798C911D4603D541909D3FBC49F84AB132645DEA52C0D13998C63CF6F1094FE69374434DE28DA34493D7C1F8EA0C582F4615946458E6BE8171992B9A795C05BEC8BB90466B4C251A83897F6D936BFAF075D42666FE14A154E1D486D8FDF4FC1F43464A5F93573BD5E89296776BD33D1898AC906231B9992FB4F11F064885916191A65B8050487D611D7ECB856673AA346424D6F1B73482BF8BE7BF03180BE330365CEC4ED97B2BB0DDDE36C1777D3F4115481425A925061382D009527F627414B64BBEE33C5C8FFA7F1849815FD1421BC5CCD0D87D793B32C5C805CD", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EA10000000000000000", /* iv */ + "69", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EA10000000000000000", /* iv */ + "C68342EA17A4D055573D23EF2C8D9BBFB70C1400C47D02F764E3EBB4A79205289A9AE055B5D0E33E7C8175ED9739045460C9529B63BCF74D04BA738CB12F717082C3BE12AE241AF64DAB1A5E1B99FBF5130BD516619E32034D3DA70AA9223BF8749FBFA6AFEA353D826981917AAFF07E311F996B46ABA1FBD0EA5DE204A7D3EC923A931C77C4B1767E414A943B6FB7262388CDB371F8E3675F27BE1D4BE8C141F9BB5FE20B486F7C5AF6D03CEFDEBC9226B0EF0009B833653D96838D6C0CDB671921DC9BF037C74FB484FA993F4B5E59E3401D5B0C2A96F99E9912105FBED1406545C3EAE940EF622FCBB29529AE840F8BA6FF585472E2B22BD98E52D946AF0E39586191D0B3A00CE0EC33E73042ADBE22E9516F63F38D8C258C66411B06F157A0D8C1AC14AD523F205D3D3F8FCF5DB4202E646C0D6DE1765AA368ACCEB53D6FB3EAC966E143C8E24FA84358E8EBC6C248556B37D4E9A41E2A2F47C179FA3F57D0DC0FA330FA61250EFA0ED62561F116A3E229BB31655A666C1F7DE28AD1787718F1A3FA8D6F2FD6FAB9F3C50CA00C71C8F95AC916117278414F5407541B97EA4A843E95BA8EA47EE41AA16CFB87FEDAC17D32171E8A566EA3969390D0078501B1634EEC55B755731EEC69A2092592759C5213DE992CDD5E75AACBA9A89EC65CD72F3637C6B62EB4ADDBAE0C121C5B6644AF0606D7C458BF5454541FD9F74167977C41EAA09414916F8DAE6974EB3CE1434C91DE76BE531D0C1219B6252D80E6E492F690C28A00E66C1C4D69B1303122F56F0E39D11D71B0B506127899266583AEF7B9BEE74FBFFFDEF2F004F3458F7029B3B091763904AA963853EAAC27D9E0171AF3BE096F0F6D97D717F769C39D066211B94C07BDDBFBF8361BDA12106C1C5457A7FB1623CCFB2C04E7FB4937D49078F93B92023DD8ECDFC12BDBCFFCA3D0A9151D6F27CAAD7C364303718F4D709E817F6A1CF612B59E6D3F2E839164782010CEC452F9E8869EF0C42D2F9865C39DE8A9130C273575A30A8A1276B35742F51E78E40266084CF2514493902DE69BFF8ED1C0121DE4E6BAB554213AE90F16462EC9051B8A73C349E629B791A951ADE857CB458BFBB12C13CE05A52F7ADBBFEEB2C96F7E82C5B21C433763B0B584C260629D490B16500D3C91BD4F33B899F2AAB8B3807F2E00728F6BA27E42EF9BAEF6B0DCA2DA6C99D4CCAFC30CDF55F6F5C2BE8637FC213347EB317E0708707E029A13714B247E500731F19BE35428E351DC9437365BC4BB0B7B9A71BA510D03C8E06AB7EA2632A5F490B85212F2C79D534012D843B005060F6BDE0D8B51B8D926BF2B49ECD12F2B47634AA855F46F0392D860FDE0A9C5953FB98507FF60E7C9139E3B11ABFCA205A1E9D2A464AF09DEB3C73EC16AE06303B169A1A4E01E329337F1BED509444FA10F9846C3E2FFD35ECD052942932D6BD581F82D66562DBBC26DB91224463DDE480634ED5AD30075112A9F2541A5FCDE27B69453BAB44B9D95D68E1CC46DCF82641A3504918C4DADF114E81CD9B3CD88A7899B0890A21D6A9C1A284C8F1145FD46E7536F8CF7E87EA1D7A0F407323562E190CF356633233904564E89EAABD7636EB4E69F534820DB385920AAB0AAAB0CC07E375A7CD77319F04D66B51CC8540B760CE0688B8448F11E054572B4D54EE8A21654D023E2E1DB4BD4E405917CE29A84F578119941F5FD35ABB2266290826B26913101126904E0A891F258ECCEB990DE5A928A37613D6771DB38A7F2B7DF0C831BE5626FF9587039E94B6D38A1140CE930EEE8BC41D2A396002D36554E2461B81DBB37C71890DD7C8A0AB317721A0AF746C36092B02D310BBF059772F3C15DBA30C40D09E6ECD7FECA150A0248108AC9ED90AF551B2AED76A2D75A39187796101F5F84DBC3FA92F38673780CD82AD9F9DF1E23857E52E302F005C2FB13C34FE8FFBDBE8FC5C7FF15AD58B6053DA8A4112EBC93C3A33D6D8FA6F87DAFAA91C9D40E4ACE8469C5E97892DCD7C55D78A4D6102FB717282E54A562C5FE49919BA550A04324547B0C79214456503E84747CF57BEBAFA4675D1966D4019525DABCCB816B600656E1C99D005DF8E8A9A401A32513CD60B631E5976F4416449ACD94AB0769C6F0B2D865DB3DAF21856FF9059AABD23B0DC7B45F73339AD4C909634CE29CD5E14ACF50FE4AF8BED4541325C32235C60D609E274A37C7511AED95BAD2DFE4D16D61ADDED3A9B15B63EB9B4604CB29DD2FE6F5581B294BF9AB1BA903308BEEFC7F4E14B1AD95A1387B3A511AB64332E6B752677DADA4EDA17D54779CF017C08A186DCBC7446A10A91E8A0627A20F17780E856CD61B894AB47458A54CDB8410EB554F7AB036956FB89D5F4C1CC1513B94C275ABB9C3B2CD1537523475E02D8ECD70DEAE839387FAE971627A48AD719695DF66AA162D3345F87FCFC7602A4B8804E818724FF547399044540669438BF4B5BBBC1A7F24F2CFB1C0F86B6727C81370BCBB31B784D104AF35B5ADC9398590F90792E1EF4810FCC3AC6918DD5D4BC7DE7A8C124571FA2DC73AB2E13F4C6E401A8DA92F9FF0D8C4AA89A9DA996BC7A5EF9701D1DB3B5CFBCCAEAECB7E284C2A55375EAACE9B6103D523B16CC03FA304B32A4D5252A2AA71B5AABF485D3F16E6BF2D23C812DAAC46EE668B1EDD038AB6FB802441D3A4C412F98061D7D973EC2C5EE45EDB41B5009556511543A9AFF3ECE494420555FED053A98BEA938F694B2E5395F85B9F9DF6D940F6331AF3484BC2C5DFA20009AA17B09184E366D6ADCA94C6F45CDDB8F62107834C2F49DC8989D23FFCA4F44A63AD7B5D8BC96BAD2F0CAE86CA945A3DEDF9217FE5B4B6F5B044627733F51F58BF19FDEE9578AAFDECE799B97E678934282E93E163CF823FF9F1F3DC29553C2F1FC0E6F8ACB79F29D83DDAEAD86AB7A7964A619F3F7153855124857D55CDA2E311CA0D2497AF6A119283F09FBD3EE71CE03536422393AF8784AA1844E190B0A0F439DF02DA5B758E458453BE34AC3F037BE48C621C57E137F3C689BDFB021625361F168DA8EC82BAF918635095489091FC873B904929DEB24A448153BC943ED74CDABFC38F3128A37DCB25087A9BEC96ED67CE73B386AF1B251753F5DF42AD5EFDA392322B0BEE5F3FB96BF43E9BDF5CF5391A7517F44E1DB003EBBF562A15FE1F3B3B84B74320CAAADF30C664FB49D18150FC88366B3485738B20B7BB2083EA1F841533CB207E2FC7513CFC7658BDA4B02B468A41D5785A19C3957FA21B93DE1A0F057D1D37651CBBFF1F79369D8CCE0A2E475F2C28E53AE1BAC883023F050212EBD4A5A1C10D3F6A230F8A65866AD8FC9D0C7A4421C72CD89F30BEC7B41170F8E605F0EA17AFAB92D4495688A30E0FD389FD613A748B7CEAB263D4898D712B95495D355A953BEB050411640099955E3781A0CAC31644A7F21C629779A15EE515187BB7DAEE91322C4412FD0FDE56CA081DD1E8E7C58B4EF7E0D9C93C98CD7B2DE06DD800641292F4728A597A037B350DD5249CD8F4B9FA6423BE81525FCE3F52343E668A60832401FEC285FDF623AC05657253E4B1423948C49ED26F732EC25EC60BC6FC84F09DF68E4C07B4A599A1392ECE0CB9022969596BE07799AF9C842551F9C3C17717A08710D96B79A57F40E99D1BA43F4DAFEC97E379074168C6C0FC2AD82E22D6F2499761A049267F0E14B68F4C799912BBBCD0FA9CC477AEE9DD7A0F9CC029523FECECB5D2055500852E21BE5FD7AC635C54A31C9E342CFD0F7A3758F5F358ADC12BDAE2AECB5A8C75A4A1D69CD26D752FA8D76CAA", /* encrypted */ + "9B987A522FFF4B51C48032616D64B115207EC0183B5544343C51AA82746E1DF4C232D11BE39F27003C277F87BC713128F04E432C59A5C982280CE5B20D783A453B8F782E629201328468EB1D65DBA1543B920DD9FA3C899BBD7DFE1DF9690AD7DA9FDA832E9E161F64B087064F79B9277329F33C8BF832014E9BC8802BFFF152382F20BF6E90197AE2FE9322DD963527704481B5AB08ACD5687C146EFD8F7340FFD8D95A957C0983FD29A4F0F52E391977A918E6FCA78CDF8415C861B23C7C6B9B9EE47CA03A49FE3CADE10037B98475A149E55D451C826E822882AA74C9DF5A94587152FF0A8538FF4AA51F91BF2133E4D327E59C6BB258CEE49B7C82792B2917D4611DC969D66DEAD00A92F4E2F58499C28E9F7EEBDD42EAB5BBA836CE7F55208FB72E62BDFA7DF01634DEB9799A8E9C6AFE6FD9871BE18F64473C20B6580C2B7CA3BEF83599E926BB67EB9B70C3EF6F2DC9D35625FAADA8266C0C5A5B2EDB061D0405091723AD645FA75469067E000F55F3C50EBD025D3CFAFD1AE1B8E3F15A71955CCCE4F0495C25F7E7F4E17EB67A3762BB75568DB582AE482A16BA170C53AD076BD6B148D06E39DF1DF21F5D24F0CD714FE9C430DEA883B385FB3AF2AD4881C255630B7AF3687CFC963D64CE8E00D7B2929C3824450BF76A59BFC7D591D2617A3E6EC1E71830A0A3939829E683E36714985E2E50D8A257DDF00255BC036072B733D6A2F104BAD68D53C1A2E61F70330A84DD1A4EC5FF6D714777BC6A9B7B79CC77C975945DE0FD1C79F8891D01253A9EC00ADF96B82274DCD501C9D3F3F25045E2C6D4D2B11CFF3FE7CCEE8BC75F85495514B3467AAB0D812B444333C6E6E4E4C7D6EC3C46692C422994853D78E92957585DC6FB1E6BFADC511BBA0AE604A083139B74777F16797FCBA147920F16578B738B9CD173831588140CECBAC4FBE760ADC68CA7A667E2BF6EC33923B72A23EA169926CAC7EFCE025C8B06C549CF7919A63B86A1A86D37F98F887091D618A6C6EB0CA77C7DF107ECEDE49299277A4E4E39C7D47C8E0562571CAA0F84ADF0FF9C06E880BD5957AE72B8EC883E90B33D8574DB5A7B08F7FB3594CAB15D741548CF9EB46546C02127031700583B0CE3EBFBBD7A0036147FBD2D018D32DB0A6D40920B6E7FBF661009A5DD076616A1EF7302347B4823445C52AD22B86593CE35D3660950585B63CE7364A9E479B72D82A546B9315A7E679D1C72772AA774DEAB4D98DC72DB14FDF2B5BC3636AB77CA5FA6A9F300300A97C392AE2B5324826B03BEA45BE692BBB81A8E9A01AF6B25480ACD18996BADAFBDAD1CB93D09ABC6207C29D3061E7AE3ACD100B228B33F75DD466914CE93F87C5E3E82A3FFA56C74F0F446E895CF729C2738BAED3051F7AF978BD3815FA93B4F127E4CB1CF19A894A14D3CF1FCDDB09A7285E6E40D0E4EDF00D5A13C2C153CFB6E2DB41446AA8312E42156A5D03C13572D3D5D4AB25C36A0101BC4AF9AC5DA10D2A8DDB85CA4FDF70500FBAFB0C48509569BE1BA092111903820D88D2F9190D4F0484A10FE7AF6F5BABB42917928A847F6D20602CAE72323C04E6AD0B2310E2BC30ECB1A8F51DD08CC81BE5F1EAFED57E3AE5D38A88F2B046947CD3AE2981498C02EAF5AA898BBA0F9963301011C15431622DCFC91F760B7D3E7DACC9B9F023820AE273166A6777C5B51FA025B1E68E0C84209D14803457B17241D61D7370E5BD00E0E9DE1A41BDBD4071ABE63664B2EE6E821EFA5AA1859628D84214ADA43FD548302B021319C8BBBBECAC265462961F78996167FF98B7FEFBF970B621B868EF97B9114A3805A546E0F91729C54766F1B404C077D6DDDD3F04F116263FF09EFC02A44DAF61EDEB1719D4256DF5054DEB325403F7BDDF5CBF07841FE56461A971F55CAFCED07ED98AF3BB63F2D428498D707ABBFB3B9517AA4533C73544FB79A4E37A565378F106F867246A019C5C0C555809F07C69F6809D048C18F4345728A4E830E8D2E52579FB15CBCC3905882165E17755D7231588F7D2C15A95E1F4D948D01D85F8525891F8C92BAAF9E6E1BEFCCDB0915983D84825AA0F6A7FF1F9F7248E99BDABBA04C87F1BE64174B4D3408B8988BBD937D99D97E255C2A9CA80ADCF8D9FC30D56C6469ED2EDDBF2E1497E5AB50BF7AC03F31E6150A6BB20F62A88CCBC6DB6561EE896B0FADD40D9813117C1EA30924045D42C21363FAD88CD90B58AABD19F999A9096558A9C53E5964F3A30EC4C6ACA57E5F0DE621C2A49F720BD7D51C5F629192E5108A4A84B33F4706DFF5D55D24800DD4DB0517089C3C0A9B750E40829C7F092E5D05F7722EABC8EAC69C088FD368662A81E081602F49586D4DB27E77918559D729D9E2C6F1E53AF82951AB2C68441AFC7C3133370BA8F980D93106040D13A4A7CF963A842BA5FDACAB661C788B5010782EF9B16570BC620C37AE8E44667F87F6CE79E59C22E7D4B23DB64FC4FCF8A8599718F2D14C6365FE81F051C48298DAA72C8216EE559097CC6DC2F07138349564256EB5DF6923073AE66EACF6EEB52C9A20B403376DCB979F7950674142580530C7F1D603C9906F49460BEF56D098FF9BAFCB1082F9ED8DA9FCFB33607B3583C84EA72884B8C03BA753D7ED60E1FDC84D4267646C371B719A696F09985B2C62B0D2BAFC6473A5F4A9474DC995B487ACFA0DE784D474BA817BA178E8F59A7BE41461E30B9F4E2716708B867FAF656473FFDB8D93B3559468948F728DA2631023CA6E59F0E8A5C084394B289456800313C8F1615E2FECDD545A56BB15E72581A2C7A0295AAC1C7A253102F3E42D2BAF0D02DBAF9D18235AE1479BE6D80093B4A8B7B0CDD2254FFAFD691C3DC448655DB7E0B6D1AB5FF5CA7C915EE07965D510AC1CE0BF0E815AFC9104E0C7B2460A0A199AF5A41441F8EC13C1EA3A7D5DC3011F86F97C25279422A8DB1CDDC8C2BD057451BFB50719C7F2E4B882C533063DC6BA83680AA0B8ADA23FC3DE9364A88F5BC4A713A6E7C431DF2C0649DC15DF7BEF0355D621D6B410BD8D511CF23C01DD19EBFF0790DA910D339694F8F5F7E04C9C6F5281DD8DBE6D5502460079EA98966BB7F74360B92C24BD5734E65FF77A4FE53D2BA6109A7A0485BBD22647EC9957D695B0CB297C7FFC065795336ACCE12BC51F91BC037E67776369CBC825E7994AC67757B5532CDAED853E41773EFF1804016D40F05DCCC47A4D13FD8893302795F65FB5E7DC45C5E92309A6A3D068B91BA99DDC771FEEBC8ECD2E9138793A825F6EF4E136D857D02D4BD9A47BB36AEB4D2B394E89908EFF3616E6F48823EF28343A907A57E046D073C3D844A978373643D7FCF28A15C551AB1F7B8DC1E9E0091CC47FD7CD40AABBBD70DCBFE6287C9870CEB1D7DC55E21D7DFEC548F93F6BCA298E1B8C5BF372DAAB2F6192B99688C23B8A906D88E0D61E9A7E95CAD4549DFD3B12487C22F161433CDE24DD4F4B4268C1A05A8FB1AB58FD8AD1B9920FC0848E567EB274AEF2AEFDC8667532A4AEE307A3CD0D8AC3C42EC5A913123C10894FB0D44F06B918DFF04BECF1D302C471FE6233CF2C8FB236283C5F005A2C5D97E31B64259D394B0EF11EB063915E7FC7F324C7A6C8F8CE2059D4D2CD4A32574EA50D8542D588B954FD122863141623F91832C4851362460D3ABA14A25D5B36AE1135821317AE162E2DB490813EDA1D7B0CB5262D78C646125BED08FF3DF3DC375E3913D8620FA37AB8F8CB9901747F14A69DD19D445C4F87F0EA557F4247CCFCDDF4B7E84CDB69DD596E2EB5BCFF57AE1EEAFE2A24526D72179DBBCA511E", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EA20000000000000000", /* iv */ + "23", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EA20000000000000000", /* iv */ + "1B77628330689B59322423D3A05695F20572ED88F221FA5E836E6645E46FC483B451C458685286A9C936287C7C17E5E2E0B29BE440CF9382F57E81B816F18F4C86B85B356FE5E01B1745099C59B01C658387F49AF668C261345C7B24956BF8BECA0426AACF3E90FD22C8C4CCE00FDB82D56F6EFF8B475A0F4BDE46352A31B1B656E492F1140BDF1C60D477ADDA5860F4AC933E9E1C0A7E25DF16A2D76548713001F279DDB64ACE883D79C84B503B24C9B85F0E30989E014027819131818B1622D0B42A8B63AF5CE3135A81B2C575F62A85C32A28B47740664446AB8BCD1501FA58B12E508B239AD57BFFAE449D248663DE9946F45F4E8BDEE87D4E92FC271FCDEC6D4EA13E0AE952743E59098A8A93C24DE9500845E29E6DB4157F2C9CA5CAD1F6E7116EB011FC1F04213EDC5FBBBAE8E1A00107CC5369E62147AB4FD6140F6A1462F8B7D039D98D94FBAF4C83BFEDBAAB3A1492483EA8D2D9FB8EC059FFFF5427CE1475A6ED2D216213285E1153B8B51B7000C973B62E30A8F3E6CD3296E6F93ABF799287AFD1437C49C0C89ADF69300B642358884182E15118EEE48F3A997B484B7C0BFA687BA60F81C808477979EA3B67408BE3602F0874F9E31C81C8872D29AF95652A01FE04CA4F369B4A110A99B62D85F9750BADE2A6D57D6076E1495B72898A4B7CB5CB743107B21B108630FC7A0AB44353F241FF0F384C337CAD77A2A4F253F6D4013B2CCF94CC6AF51ED287C5771FD9AFF6AF97C98AE1833A07BB4C0FD8950C4FC83B5E5992DF45F65C50FA3A2804F71286418BB5390F649FB784B3506757EF9738ED80988619B52F4593078D032B872D3BC08FFA6EE6A1C53D8A7247317B473061B68DA8D21F359B21005C26466C226F3C0253F9B22F65927581CF2F1C42A716642C27EEC9435B48E8E8EF48B20B8E808D86E0D040C1525FEB42F8D35A055648AD1965662A096DD04FA6120AC91A55873A7FEE8A9A9A2D706411B36AD1997BC21307003843111E19DE4CCA149F4FBF81ED1EE68E69E6F613A2371840329CE1A8EBBCD7977061EAE13990C711019FE64091290B8A9DB064AEF9F4CE5167C8F4C45038DAB8595DC46BF287CE3549F6F13F136086FFFE61BB87275D07C627193791F91D9D5D31D5177E9BC6904BAE1E392E0A445CB6E7344240320515FD21D22ADC197367CACF79141850B965E4C2575F793CB57D2107461E8E5E322797D1E0C31F24B8B983859851BA47BF499BF390A5D3DB0E7DAB024D3CEBF0DE70B38E5BE1CECC4BF73516798E6DB4DFAC0128C9A42DF6D25DB2F792DECBAE91BFE26C572D520096190B26032F54E05B6A559BDA255196357A846EB4E1170202420E82C0F27DBE2A7D004233FA7726C85FE508BFE3C6552F8083EE1D5BE44072A78D369B64BD6B462100C9B0E0DF1757040255C190DEA7BF961BD795779CA373149B2782DBB21642FD06C4C63E704E64E113DEB99516F90B68FA2EA4C96902EFC49F7F16CF660F4D08F6A23AE5981554CD01754604077FA37AEAB185CF167073E0A5AD28CC58A726B07A96C21350E6C3A289FF36CBF8BE4C107E00FE655E79AB28F6F60B7B71851DA9B806CD24EB65D7592B3599520E3004DE752ECC8C95373C67F36DA1EC047A463EE5775288B229EAABEB7A5D1CB4AB4CEE4B7E0593D263CF6A2961FC1CBC84FB740FCF37483D7DD635F00C191C8DA6B1ECBEF80AA229EA600BD00B3CDFCFC2CB7BF9EA009C81EC59FE3E84CD474888436E70B2E01982B1EE89161D3C3E2416BE771F3E6B35BF3C108BEFD338A7899512C8E3E805933B467B780E2E7AEFCAACA47489D8FCA1FCAFC9B36D616508D3877A3D4A7E31BDD213E6A1471DB6FC5C878498AC0F42281755B0D5E94F2CD026DB92C21840A3652EFC588B96C7820EB03B20B901053A2FCB306D3B72E07375535A37828C274FF34B672EB3DB5CE0E295480C4DCA9A03E1946BD4A763D1948041D407ABF8E1E0A00096575DB53EE406A318C0CD76DC7BE31A06CFF545372330CB24C7816402FD94D99657E000C187A76E6B45AA2EEE0FDD184A81436DF256471E543D4F7073333E3ACE3B40B2F5E255DC6A55E3E3A7EC4CFC6EFC21531A876B58854E1B477F452EBE6E251D91A8383F8AA13BB073DC420CAAD126E03E029DA49A75B38F39761A19BD542678FCA875245FC4CD62128E55A9E72D3D8F0A1B43F1DF88CFD78C688EB76EF457479310F8371A235FE3DB5B8DC4AE332406A119F9002A9D9DB445ACEE8BAC1D482DA83373126A07DF78CC04ADC4D6AEA6106F9221851C065DD5CD8C8BA32A65042E36D8FF62FBB276F01FAC0B91ABA82E889D9AF7AB1533C3F68FEEA1B88A7CF800FAD98FAD0785027672521986B7EAF545AF9869F07C3B4326795C3929D48AA05F27D0FE89C38A19262FE8381DE732AD7811D0CC4252E7D9097AC0BE988DA3A06F9F36CFFD39E0A350E4C6D5184E9FF5642BD19933CC4C9731DF24AE16A3B4CD18F6781A3CE38FAE8BF98984A8164926FD1CE335969CEC055119625D80159E59F3E0E752DE44007A5F83265F3E632F587DAA623C7E6078F84AFE19DEFB807883BFF4D4F5C08C2F196A198D47FCE1FE1706C27F46B1184A48B17D595299ABDCF5498E35FBFFA56200B4EC826BC344BACC0A6BB2B0CE9E137DADB4518B74552E421CAEDFEB859ED677E52BE00C9FEF6986331B54FD37258805AD51DF4EA6A1F28517DBB2DB461339829E44B92EBD22567E887D8896AC17771440CF23CEC3CCC602E76EFC73D80FB2368376322EE143DCAE63D76BFB105606F094FAF902F79A835C47E9FFF901376B4C6B9205C9161FE1F3FDA197AE1A6E6C759EA7F9019E01DC969B231232EF7066AD30AFDD00180927A0D3AD4FA4FE05EF7FA72810974CD6D599C631E9441D869BCAC958B0F78296A4CC458DBB2C5B0CDC9A6867390D07C40125AC8D4ECFE9D9F0CF77397739CCDDA045C6FE7DABCBB6C8F20C153FF7E92EDC779F4D1E6F397881E0872B62945AD0692927807539123E667836ADCF05AF0839A86AA8FD10BDE5ABCABCBDE549510AEA71F34874B9CF882D2A19C114BDB87F7D46362A5533F8FB46C7D28621B61A5E27F280851A38FAF239DD02351003C9B38C14B224B6B0B8DE57E459DD40C6EB879527AFB9F89F9BA71DD73B66277A0BE20A43F3512EB57C5504724F75F64C55F0996EBBDA81888DED1AED63778062B2328065DF2475CEA216CA5FFC0343BA87260FE24AD2D737B5222524D3F358E13C69AA0ED69D9035136073990F6584777E7451B09F33BB5122C5CA7346A6E909BE83AF356BC5201C19644DBD582AE1AE1105D4DF27362CB3AEC78D0D3F5C0DFB270E29746C7068ED0A6DAEC4A0FEDA5C039CA03FD7151CE02884B32C77B7C4FAA8325EECFDCA1DC3172B352F5C2DF1753B967F60C856B06CB544AF858FC9A8A5B83E51889C5D942CF89F3427AB3AE4DDFDDADD3403C4E3B57E9BCCC1D8081797A7C3501F2107644BDED115AEE3896167B0E2FBE06B2B0F92753B5DE047FB8B066C8A8E2CF673801757354BCA6711AE5CD2079960883096BD8DB8E28DA448FF81C1C1D6521E61B562AE0E9EA966A8758184DA441CA3A4FF492E0C1AD58F1090ABFEFDBC7369DD9B1275F1C99D3034B63935C0736F3745BA11C81B1CEEDD545DC7D8CAC6652CA0F6B3F3910F6D820C6B7CB135C8A4C21FD22BA3467F771E4B690BB85F7872E8094C51D0DBE146C22D051F461EBF5BD763594E", /* encrypted */ + "9BBA7A522FFF6C0906F2D05F79AD7920F73F8D69D529F3E5B85370A5605B3AF9F429582D7981A8DB6F9B57E2B271AF08050C587FDF05D3BBD3A69CA0C29418E3CC867FE6FFEAD5EDF6DF1B345607B369378B9AA1AF938AD8CEC0828CB7187BD0C3B910C4315BEC56F6B27D7339337F499B3CE3AFD110EEA722140E1829AEE2699E97E049E9863194CF787192F6F976CDC2FA77911AC94739A7F86269C345686AD0E5E7594F11963D668B893054F39E9CC9ECCD4B2BE6FF8AB2AD77CEE30B591CD6F731F4607E9C6C1A32A5A10C7BF90C5C972F1AF83379E76895C1492008E3761D2B58C6B100C117842D57C9600082DF0DDCEC07308EA58EC14B2BF4CC74DAEC529799A70D93054494D390F3B8A51F7EBAA404024D57BA82CB2209FE8797B22AE52587789F87DFF45BA0EA36177D74BCA639F4297A4C96393E87951D56E50B0BC7688B1E91DFFBEB77B702AA8A703D1D9C2326BFB30DB3E3648E9EF754C8DF03001FE9370346312C4500806C470D28B3D7219C1539DAAAB927A496A97645F55DC86D35B87D0E56A525249A8B935695BD9EF28277825E814CA81DD85C4DF32FA7BD57BDD5251D56879E03BA46AAB4E7950D51D7EE3B5445F0EFE6DBAAD35971192B1599E7EA27F61600FC9B2122885C90D75643BBC1A33A05422D189E8AB940FA534965E736990F15A168427137325488326445540EDA8E0553E2836AE4053089429C670F42C169F58952AE0DBFD27F10D0F3593A28B4B02F0A35D58B2FCB5BD1581493EFD03D3700281CA050B146D13DB4AD2CD391EFB072715DDD17D18BDE3637EAE7529D58AD957F76BE236468A4AE8D7BC6C806AD0142E2179D6AF28CD5399103E27724105A0E98C4DBB667679E1C2580974668F1640B2DD97B3F81922CA6E776527560633FEB997B5C8943240545E96B4E512AED1DFF048617E610A1516C3006C247CD254327828C554D5CF682DAAF74AAB2103CD8F427AA7225A1B7DA462EF68B43DE4BA34D2D21376C5A1505F1BB1F1A0B5B88D3BC6FF5C12CE8AE5273A95A46CC0D4630B9639A88797F0957CD7092CB7993CC05815A98C4257677CE5CF9D77A78F20FF4DEB3742447036CD0D4AD2B24647D333920446C3E3654BBC6F6C6BB08CE518FD5426C0DDDA5FF1CAE7A75AC1B1BC766ED4D6162379FCB0F53D5A7633C8476C54BBAE8BC66B3BE0197FE7436D7B1A0BBAF19155631F63551BDF48A01B1958638884061D658D670A3F8F8E84127AFF22DC0764467F58458E1C8F297D5481B0EB614F52E6C9173F23AB71E89CA1BD46765CCDCF9D444DE03C8E4C30F0F148A97F1DC9000243171F050116954D2E369CA31D286B858C0D2635BACC7710F964E671D50B66251780150F23F51B434B93B978B36A3779D0FD3F81E787D96CAC861397A1411782F3B5235DBDD14A9138CFBCBF57EAA3A607B19167C1F9764E1E5796A342B0E77B2E4CC5FE332934B013B2E100E2A18A7F32E9B53DA1DF9DB813B530553DC240672F3D7B589B25E2CB211C32F816EF6991404435C073CC0E7FBBF55C43909E8865FB36D90D8537D1BF798E17E5C373C046146F9BA756DA49268CBA6FC54D1CC49905907812614B601A302E65819AE2DA64729F06E65DF009F4AF51618798166897F4BACE8E81D857CF1AA7E14EA6776CA9D1C2BE848CC17623C09DBC8BEA9DA455E4D8C1A21DC28EFE2E337D5AE29E1CC3CE0716AF4830B05DA5330E8D24AB8924E2700A031E4A0AA0E99D1A18683DC745E61C627299391EA47D94275719AFD5E44AE70785E0B403E5B569F76FB4EF051E2BC3766196BA85EA813770BE99D66DEAE72EB3BC44FCB559764EFED80B21918E29F29ABE32A937CB5E4A7478DC9F02F7DDFA4C9F98212390E924BE1F51CBA63786CAB1DDB6AD79D5BF70FE7D4579E420C191CEAD67EF1B9B79570111C2A08A0BB6C1FE744EC841DD0597847441F8E5A89D6BF10B0335FA9F193D3B40089D1EDD5AEAFF8533BF6EB2AFED8E5C3684EE3C01A13090544399202F325490AA1BF7CD6BAE61780025C058397CCBD334BB37DA0AF7AAC3DE487858B568FFB8CCE57698BE8B254EF25BEF423B951126FE59CC0C34099488958A07BD9F397B54EBBBD79EEC0D05FD3C56324C5DBBF74605D1CD5FB28A2A2EA64EB118D80ADF939F523AB38E4FC5DE777C3F3E45AC34847B8F566ABEC7B86799DED6322C9D8758731937A18B302619C78D502815928E483C2B1D228C57BDB26AD8ABD8F40E399461B43EC77319138A4C34911FEA5E14CB5103E82C6F99A46A8AAB054BBDF20E60141E90D4B3A5B1644BF7B4C3B1AB965BC1394F888623854214FEAEFDFEDF782AA5EA8E1EAEBD95A45AF17A1DB493C4DD2605E70B6D19E65A7A7DA8DB764554130E76F244572CBB64DC81DCE22CECC7A8F90BCDF860A3E2502D7CC2867529DD66AD874F6A1ECEC8ED1FC9B2C0042C962331EA533136DD78D55CB1C3E1FCF0BEAD167021918EE32E7740CAA59F7486E4B3E53D7CA35C8444B05F927C8E69FD3D61FECB7C21D071C34F7E73EA39F81FDE7948079F15AD50F6AD7DF865646295E72C3525568BEAEA52338CE22A3431B850AA60EC68F04AD28285B7B5FD54AAFA3D9CAD960019FF994EEE6A4BB5FD83BBE8BB1E8A167D184ECBB5D9946810EFDD76A484BE9542ECCDE565E4542F99302DBBFA852CF888D0835086D5568C642E4CD9E95D51B32361857818F703140343096EF24C5BA3D485C75038F76A141706841D6711CA111E64118B62D644ACFA232DBC62D77162569F07F883DBFF4AAB54607C360CEC4451F53407FAB30255E8EF66F0D2DC7CAAB23A24F025147F7610B99E2D5E5A593B5ACDB34353F703A74C0BDE53BFC145226F809948C61C1033EBE75B64568BC815130BDCD212D69A74853E994255E85EF08E89E0B520F38C8C3E3AB5E3EE03F5D251777CC9C810E41042B1486557BD40A3D15AC4C632B4763E268216988CBC2695A5CBCBEF2C664806AD4C6C79223C46E720C22361D92DBCE71BADA6324A3BDDDD2728BFD59476791E33AE6871764A22980D93ACAA4B9CBF6852546660EEB3B9751F122430B5F33EF22AA0DA7DA91AB2B0E75CF5633E20CF75450B36C2AA1705FAF4B30CE649B48D10C84DE301040365FC9CAAAE084DCC6091D701F8AFE907144AE5C074D56C8069D40325FCF960FFCDAADF3BFD170238E18166E96E79F35CC13A2A6B5C4EBFB306278CE635A0A037B8663F73B02595F15EE4035F7C42821946CC627B3C55E689ED23FE61B2D476BDFAB49B2A176703580911A82AE0C019DA0A57EDF09EF833B7A6BAB7B9C75EE9C88899EDC4FD163D79E0C0EC1C1CBB65669F01F12D77C793159636E8F47C68137011F1737E112BF724508A7B7C46B6937ACBD057DE563D4ECB420B2DE3FB614899C86F3D7919B6E05EEAFDB31FFC66FBED6F5E0258E8BC02EE706825472CD0F11141B0AE8B41E010A9D81A129B2433F1EC55F2F1C769B39B732AF00EE0297974A639C16CD8AC5F829E3E16AF7EF17B1734745DFDACD32FCE2C9B2361F1B790EF94A8380E761066702825850C552AA20B9A1850A80B97507344EA95E717E76D1C6C65FDFEE505CF75242101A5F2977DEB5C501C0731689169CC6CBBC9BC3CC4A0695AC68A0212FB865AEF56FBC8202EAC3FF0CCF6E0FCA9C2F22EE313469105CE8BB77E9423100F88F3B41D35C53C1A5FDD8A4F0FBDBA6036DA994E2A23A224F7F9D5D1B77255C3EFF57E31E992B", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EA30000000000000000", /* iv */ + "3D", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EA30000000000000000", /* iv */ + "ACFA4FFA7C22A5A709AA4BA986F21A6858748ABE31EAECC7DB363A8F8D98B212C3CFDC1E9A3E8EBEA5FEBC73FE16E63D2C4789616C8F5C729FA4FC216DE4A1AB34883D57BF91D935436ADC541F57CE06A7E86D8AF9BFD4D6563CE083ACED6FCC9D384AC84CE1E5217C2C9E7198FC334D358660186D7BF54F4BE05BC865603E1E977442AD726DE2582808CC16D3926291B7BA0B50F0072615526482FE9B4A3351B47D7026899B029D08ABF1B2A0E5BF162ADC7283B295EE4C43B4B7F2ACEF14F5E491EA0C3AF05E4E5F330CE71485B75A2F8D9175C27C19FCC880794D97125D09CB9986ACDEEB919DE006F477C74029095C31A918E066E762BC93CEB35B56C979FBDD000161457FF099646E9CAC46AE31D8FA4AEF442B8F85BB33061168C0C504F49B93135E36D68AE01921B98FB6AAA83554D17C0602DA116D341AF11B7615F71522F3D13192ACA54545A754009FA9CB53252987D15FA5D9AF8A7C9BC50A2D411A6CA234F4E2372D8E5DC8B91878BD1F46454FF17E689C55528151F53C007DAAD1C6A17F76B4D7B35472CBF09A924BC8108FF716E99DEA0F738165F6D50681B0D8D696366586B3FED4471BE65A9A3535E0AD5848352EA162254D950F5775D7E0E7C0CFAB8628A99411D003E072CF693FBB001A8747AB11F8F479E397B15DD977A52EC83462AEF4DA00ED38D609AC1A20E2F52FCFC3D2A90B6AAB4DAB7A4F28F1CBF9235EBAE434FD396ED17AEFE342C1E5CF3D8542F6C4F74BE18DD9F4C67E72505DDA2F0EB5237E6C5D64BCF13F3C4D14E54B2EA45B46C4FD78D70836A0D1449B68A7D863F9BDF9305B4A316CD036D9C3EE1F14CFBD2BB8E25A1C139B0C6D5491EF7AA1A8697800AE0FA62697158F4BF110C2917B77AD30AB02B0FF51E70B664BF12A4D1A06AB730F3FBF0548BE18245EB32F2F5A51D41ED2DCCD0B4A92233CE93C98EA09D704DFD180153A39EB8F9479A06F3EA11FD373267C4DF92DB6A23ECAD3BF4F8CDC07EC83C0C964E04322C4EB11EBD338FCE946A8D56E517409B6041575507DCBD82A7BEAB24D557D6BA1345D523D77BC07213EC226B5B90B8F0C50B3CB4775029D828CE9C95A5D5B7FA44FCB8ABA627F3C802F4E152DBDB0ABF7DD43AB5492891174D1D839F20CA67AE5B0D33D8B9888371E3507CB79AEB51AFE1484A98A62D41B475061C5372D7866DF98D92557B3B4084F6A5DF9954D27D8E5B10B70E50D8E9B74F8FD4204252172AEB481B460A373973EA3C22D52BFE16CE9C53512D972EDA7CBBE72110364F57487C864E383AD65B2901B64E0072B710450831F1E6238289BE21A469A8A23D55E7B0625B3203DDF53A848FFAFE0912D96C47F5A13E328EE4EF42CC6E682C4BF11AF25A7B2180E34F056619B3E6938AFA02756531400C7E3E8F59ACDE8F4CBAC13177DC52F49B87552F82E6BBD4365D331AE62E6959AF085ADC5DD4F626B00CAFA21D08C058306BEFAE25361D2EFE0B6BC8E136CC35A298BA4AF2BDD151F29181ED3C14DE99311B6A5E4E4ADD28A797CAEED558C7C92A4AE36591DFCD6DFF96D651D4A80D0290FF0B603E229CF4AF45EFEDDB5D0072FCAC8A8759404B4D0C6B0CC6E3C25BE6F29E09084603326F2EEC42FC116E7763220EE6DC14B9A189B055A4A6D55A8D381C2351791B43509239B4A3224EFA632A10A30296B398D8CBD041A92A7CEB0D8B232F7E0744BABE7C334CCF126C31E043B2AD4E846B4AB01CD9D470394ED57F434905A89B350F6FBA5CF6AE2B9DB7BE17364817D375122A27CE56866118E800522F235DE3A6CA9028B3136B4A68702AAC252A9696B8AB7E1111D606E1FBE89E94B9FEA6E987929D82903E024D4F2847C97A49579E86C639588A20D1DEEB30A774949FF3B79D3FC321CF41852DCA6A32B74CA0A590B3928290553336C37177D70AD2CEBEAD8B5A94B2C985593754CEE8A735F9D4CFBDB608116D9CC899D73524760A0588FB4C3762E3DD54964A36720279CA37507B92B496ABC35AAA91BC03EC63A03CB310CDD2B6A274134C13436DE5179C7DE7C1B5B1ECCFCAE2CBF86AAEB9EE316EB1539C5CC191391DBCA42F40DB8DE8AF8C70942A777E8238637A13CA7CB2CA13E116035241EB6F1538CC968F0CE08494B0019514520ED23BCCF254671E2CFA301289C5A7A84EAE396521E6868B5A8F865B35605A6193412AE3A05D7BA4BD7D3D0EA8906FDD85920590F9066D72DD71D6C91B5263165DD61A95AEF82BE03858D679FCC07DBAEB8FA342630AC2CDB93825B83E86F6F81E6C22B88E17E964F5279D824E38F51EB97E4D5C817BD73795205B8A6C17FE7F5CA761D7ACBA4000A92B296173239402B229CD00783351B6CE8C858389D2BFD96FE20D299542ABCF5D63FC2B0C4A3C9E04CC155FA5399F12AAAD4EB617F885A195AF69BC7B7BD9C4662DD19672A898B4E0707B17F3B8D3E4A5F9DBF4F18DE307255EFC2E456C125706604F00734220765745C330B867F68ECAA4BCA98833CE80D5F5BC499BD4EC960EC7263317D759E4F240410943A29B74782BB93E476F51C054C1A656ADED5ADB83412D8608B5A742B640DD833D2E7FF48861B3116E69E74F2EDA6E86A63C66E242CEA4BB6644425433A36B78D12F352E7DEF9AF7433ADEDB8FD36630F14E5858BEF89A435E782FFD9EA193BA68D887B688E707D1DE549FE35F8CAEF8EA4335522D0575087CEFD7B23E340078313D3DF35DC71CFD1E6C47FFC71DD8CE2B12C00F3A967F6AB4D9B9AC8DC0EF452B8C419D6FF37C215FB02146D565FC981A3D3ED0659572D29A48E3E281E02D377E5623D505C0C06B872D151D851D48C113F85E5C02C9FE835552CC95BBF2145E5744FEC91B14369B3EF0C8C84C99A57977FA8A11156591F55000116486E0E851778975B2F5C8B748CDCC935D0B01B0A3CA40E70BA94B0307FA0DFA15DC2FB8B2C22A97955C243D2AD788425A8C5B094D6E9FD215056814EFE6AC75DE3BAFC74CDE78BEEB753B8F5E6316A8472651981BD6E203EB020A1E3B8B27A80D0C44FE54B9E7233A71C006D16D4B59699950A4137ABA28BCBAE8A3C093B8FBBDE9DB2EBCDDF8AA67879563E6EEE49C204203F9C13540677E07A3A614CA04D0E8177B70B96D70CC593BA6EFB090E556E0A69515ACA6AD8C7DEB98384CB3A4F27DD8874CA324636C1AFE8EB285AE3F2E2839FA9DEF148E5DB11B61ADDA8D71B8928B9C34AEDF159C75F66A8D4F12FECE504FC2114B17E5EFBC793C76B3DA6AA69F8EEB0384B2EC58AD7AEF86F147AB30117D097CFBEF60109968DA9DC8693B2E06E4186ECF4842AE0BA922D9475E0E261B33C9BF2E592FC92A2E59D298967F9F349996A14BCDE941368F738A53461143D4AF3DA11E558063208534E435B0267669AA55A2B0E139AE423E5D4ECD0D5605D0E33200B5E3EC678B02582E237F08771949402288D97EEDFB1DED505DD4DDD73B504A922B7468EC26059E8FE7B42C15F4EF717D8AF9BBF0384EFD617E40F8588C3847D86A307254417F2541D44D38939CD18776EC0E57452E80F5CD347CB88774E0ADD5C0EC3834E8680E771CBDEC9B65A3ED1E4343D0BB0027163A7A35C2849DE7E1B9D95DD62ABAB287FF0C2078D643D937D74B492675A4C2B684C8166CA72FF5B3655D6EB44EC5AD707683D836DFDDC84F5E713052DB2BEECCF2417B866616BDC0D4F0D3E3582ECF1FD3C8C60BB6C03DA62C18E78E1B12D033541B2A1242AB84D3717E018BCE83794216FE875EDEB4E3211E51358A07B4DDCB2FA2F1CD075A949D919643B5B2374327894225184A1413D330FA2B85E6E5CDEBAD6D901C7EE4D182E8882AD1595E597FEA6CFE1DDB09D7E917AF52B0978D84794B0E7735E7BCAAD81308B61ED382C5F740A813D669D932CF344250360FB2C56A58C6C95B2DB32E310B8FD12300AC20BDA550E", /* encrypted */ + "9BDC7A522FFFC2155D956003693C609997556E116644D3B730BE847ECE7603379998B7C381183D405FA89F26C81D962B3F0CF1D11E6DDB3AEA2D56907D56BE64E746726178B1C3CBF16FE2E9781531B40DEC838E0BEE5069E16CF7558AB8BDEA84D999C714052C3CD81FF875E12A2B93B931060EE3C93238622A4858F2D1A8A78795E17A4036B0F06B6D02A276087CA2B4E7A8CABDC4A24A569346C17F6FF461487BF47B95F55371CE3D0D81159CBBEFD801EA86E2DC9E542A519ED16603AE05B86AD1B76B3E0D32AF800F0271804A26771B019F111DE6D8C68FE3665A42A64D21BAC36DA005ED6DFB8093C1310B1FDB41C5BB08AB7BB7AC5DCE8661E3582D3C3D5E22C18859C329E9CC268F952217BA5AB4EF96F9D03CDD76B23A98DCBB8B739C020ECA51920964796D805DE542CC5588EA27500D56B485F47479245DEDEF9BD73C75B02B38D625ECD342403DC461A82DD9267A8A7FD2EC9315E4AA6297C7641D692BD0DFC49D5FDC18B5F709A981F60AB6A735DFE1FDB2E9D4D66EFDEC04C27F692C36DFBF69EE8AED2403CFEFCCA69591634B2CC9BF9E506EA6B660191454EB1B1F6C44F8DF96ED68655845DA212A241C6E32F440BC699E02672B87618E99F3356B4FFF0858F8766F75B471E0AFA4E99EA4EE6CE9F96130B02CF218E46F2D732A9E068FE163D7599D2F1BCE1E1DE3B623171F20DF7F0390ECA0A21D2A6B7B51DBBD5381CA9B8986248B856E0963815CF38870C9DC991CD40584621AEBA19E7937298BA2AB8D7B69A4E4E2E7A84CFFD52B656C2FA18E07FBB7BDDC072D88D12B5A06C77A06A00B2F2FE17B11F1CBECB6E43AF8804F90E4CD0D8B66617138C6576E1A3584DD79EAB4B2E7FD0A1C8373345446006A606917C249F99A923AF5AF1CF00EDB8B7F8929883DE2B7B9F148414FCA46A26FB8F1D9FC2F257192019456A471E85EC117A2AFAA2689700E64A7FEAC3842522741209FE1E922E705F893B3D2E3C34E6B3A690E2CB2754F6EFB5AFEE3B8844347EDC609B2F7310EE2C7135584EA076C4A263FAB740782755709D59B1F16C2924F831D2990A5FBB2F4D15D8A832E5A34C403CD298A2F1D6F20A08F64A215FD8985C1A92ECAD3D56587E7C60325BB4E9C65406B9316A172E7D1CDD4733EEA06D5E9EE35E5D999E423CEC7151CE154B25DD84F99D06EBCB115FD3718B9EE64320AB86A4484EDCFD18E194A24F2DAD67BFAAB331658C84A3766628B01146DDE884605C8745BCB5B571CEE9130C3C9F04A5218219D3669ED2EE634F4F885FE6DD5E9821A4B456732E1C5EA97E7CD612565BDA0CD56DCB611B02A12DF9B937E9816DC471535B8A4E9021DA4E7CEA889A8633BA5C343BF676EA5020702BE79CDB193CF45728841FCEAF4B7904FA6BCB3C14EAB95B8447D035EC6E14955D9CF6E85DC389FBE3C89EE8954E93917B93DA776570417FD836712D0852B391C799B0CCA435F1A522350744475433BB490494945298A9376A22F7BD7B0161C78276F1AF82C03EDA82162CCEE7ADA7F96BC95F4EFA256F00E0F138E8575D45915289D3516B055AE99012898347DD6F9AE37ACBA2AC1D926CF95C4B6DAC85D8C2EF11C5ADB283696AFA8F762BB22D3807CC86E3205A79B0F5A95D5685FD29D17CE43F149E34D49B164DB475745BF8E1EEF57583A262DA77CC9C3F1FEC9BD0F0DF44865D93AA945C53BBD084F800768BC23F89287E22F2E55D92AE107353FFFD66B17EC57ACAB7697DCF662C349B04F77F76E75A35073B646137B166E8D51FE13134F2C00869EC9B4E10B6AACA4B00B23A287BED720730DB7368807D35CCE957C1B383C020C0970B3DD16B9943B1F5CF25B5B71BAD91E9F2B6BFAE8C87FAF9F67C9B65AFED0BD82BEAF5D68E0B087C96B5EBE98299D24F95770938CFF19B63564D1A18E2461AA6A09B919A6687BD7B4BE6A651E4A95E7443312BAF1AC882980E1136C5DD7B8809CA238D6081E81434A09FDCA0C68492D5621E4143FDB431724A8357B97EE70657AF3225326736A72B8B5ECF34603EB0C4396568BCB8E22782D980BCD4A47D2D7CCC23A742533102051C703FB624EB7B7CD8F33252126F66E2198BD61A4DB99C590463FF8105E18A318C0B9D33EE7BB2980009E4155E3100D1A2BF8D832F9925F7E94AEC7F92C79C44BB87AE6252177B84042CFAE7D3AB3C0CEB6573D05117940944918BAFA7B5ABEC5D4F6C0563CA1F9DCBBE920388AEC51070E9B0721D03B5185621EA07F693466C89CA956CA8B563D2AAD35EF3566CDB52E958C1B511E5AE6ACC3F089CF016D2AF62D8704649BDD6E109095EFBD9C6DCFFF1E3773BC3928C6EE5B7EC0A0E7CE5D8DF68324EA63C0B97E7920841D7E85CD38040392B4693CDD6CBBD823E6AFD94E2D9301349AF67C5E7A3EFCDB4EF665B8EEE2CE6E369FA4BEFD99D5C27B4B4CEF454EE978C882B6A3542ECBE1B2EEC94F6B1B9EB70C5004255DE6BDD95BD34CF4C069FB757CECD210059078ED958EDFF25DAD8FDAE92DD4F9B95D395F48D1FF631A7B23F4428B7DC553079BFA91E692E9448425CCBE34BC0E3868192EB41DDD04CDA775EB154FD3CC576E3CAB374D18DFC0BB8702344B7D71B9592CB9506231AA02C92A42FABF3952A38E6D7F4FA88D8206650E49364F75391AD418819BCA4F5791F5D135E5FFD0E6A5E5B7C69F0F36BF04A218E3EC3D669CA80351AC37AAB98CA41D8FE97CA2E5A70160EB72F6A65DAB5CDC7C21740B6A09B86F71EAC5879842C0B77F203A9F1BEC3CBB4E61CEBF72240BE65DB9BC642A7BC76D6390EC3C821396EAE7E3424F5F74B8A734C2B9BCF7C6430C7D2C5DB56AB5066F219EF255127FD1313A5135E0BA36497AA43496734428A24816D11DEAF9431245CC5F2A08E9F0E0414FF23FFFAB99313AD4E1D3B3D553DA5033CDD9AE53D4879E2395CF52459CCD6C618C2789BCEFC0150E6B8BE66AAC52EAED200A149C38247308EE231F7962F5AA5A56297E424417EB3DC7EB25A8308EF095C4F50FBD35AA1CFD2DCC5674B7F4FE3DD8E2F5D57634601D9B2E6FFC7528922AA4892DBDC9EBF9B17A54D57DA5DE2DCB825DCD9801E5FF457715E92B0522E48A6B4DC47041789079932BCBD7889195411E6A9A38CA30BFC7820FFAF399FE8AEF4581BC88E7683E9F54F573A69E8103F7B001798618F4A8B8615595BF94024D53A3229DFCE8BF31EE74D5FCE473CC49CA4FA10271C148F48050961E051B985E8D8D0857AE552EDFE558460FCBD0EEA34303064A6093F3CBF7A280581D8105722816C516E8A6AAE06BE04454334FBA688D59C995E3773ABC7DB1B755AE786E743FB66BD464AEA79B34F25A7CF1D5B2C05301828AAE923A6E1A8C37F9406C622FC170B4F9E467EF250F9F21EECCCFC2F586377F64D2D51A2FEC270249D6A1210AA61313D7468F846EC1AD9DA8A91BC9EC740C8B78E464974E7D33C44D31F050A60AF76F13EFE25B5804E460FB19B7E9A9239E2D97D0EAD54255C2A184589652B7C8037A1225A2F804580265CFCDFC2D41BE9D6ED0CC4D7F9CBBFB45BCB90D0F2CE28C4E44E9829FCF613E72719A64CB6957C1FA6FCFF2591BDA6CD3DBDAD438DE2C1603B3801368210C22DB79F584E330D400A1277D6D5C24677549FCAAC14DFB0FE0947EE286CBEBE2DF248E8AABD6D22B043A8BE84F2F052D99AA7686B86790EA2F17F3242744E2E68A75D9B9F1CE91190CB9B28B4676074D8EEF3DDBDB5AB6E1895F2F39F958AE582E68D2AA92E76C6BCE1A308D69A82522E5371B6381486D7FFAF21ED9D0FC03C5BDAB1AA42F605EC13882571455DFF928257B4860846FC5FA3744C7DE4EE70F8B70DA099615E2010B4813900680D706281DAE9BFDB41585F5A205E21EDE49E5E512520854BBA354ADCBD99A54137F02C1E5F57D0E6C8DDBEB6AAC2515E7EA35E1", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EA40000000000000000", /* iv */ + "5A", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EA40000000000000000", /* iv */ + "29646419ABDD2D4E61B9BEB4441E20B07F004CB96D21B94E51ACB1C95DF413D0D878919D57A1444EEC6330FA9D4F4C103E3B8EAAEF00BFFF97F332DADC7706143E1C1AA75409BD3647AEECC58BE3D20004CEB95399C4ECA214FA6ADA9541E255839C3F84509C7B48B274499089164CF5FF196D3D67978A024A3D976A305951FE89F532788700BD72CD327A46706F842CD38C3101A3C8BAC270FA36B8B44907B7096D1C9D4350225A00F96CAD3FAFCCE3CEE3C9D4DF3AF1AFA18284B42AF333BCB7BFA977FF6E2666E48C143E362138047C660D50002E9381A7455C8199C7A1376FF1255BFC2AB6179F0D475A717F864F91521A7221A7F71A676831CC8F0435861E32E0FE143E397D5D041BDCE08038AA9A4436C0F8575E9986488719CB43D4BB99664F2420A36957DC2D9C89DD3563F1A3686CE8D9A2EDEA78EA103C886655E5529D188FB4714DD8543BFC76986C0C53221124A813A40ACFE3AB9E8BD1786A39606E00FCBA3DDC9531543D87C5A9CCEABBAA8B89678255046BF145E2F41E02212A7F187F8DA87DF5373E48CCB790EFB5F51C3AA2DF30DE77CE1A2E8A40BB10C0EBCD7C71A67A40F35020541D392C1FE3AF6FEA87EF5F594F801404D003CD8B62E0468D3B58731801CB222DC0E3D212D84B184F20F0F540E726DFEDEE8001B694D1065F7C7D6C5E713ED5536868CEA3986F9382EDF3F026DB40016FD77278A7C891F128FACE78AC15452DEFA7008A8D2929E282D737C2F61833FA72149BEE650114917F51EF3BCEDF09FB1ED78E08FE461F7DDDCA86B3CAFB3E2439ED74769211D6D177A4DC1E1B91CD6B169563BB84008B9379C71A9E1DFD7E6C1FDA7464DEAB0CE5B10AB5F34E765DE94F475BB2071079FDD9E09B4950E2F922F2F93900363F1BC06FAB3B3D4CBD7D4A97C78FFF69D54948E275DE2BA064579C17A54EC0B43D45F20E8AA4ED7B41007A45FC4C1D67917278AC199AD484416BCB8DFA74E2D9C2CAA9D5825A29CD70C80EEC534447A8B216DB812AB0A69E0CA8F35BA99962F00532BDC17FB3D39BBE257DF14225203C7CD6B037505D1A5904DFB9DB995C81F6D42C3B4C190EED3AA9E2A33BD4B687D1AAC8D9740690B422DF954C819576FC9C23DCB20125354C817E3A7232672AAFDDD18521EF8F9814B7E4ABBCC58577E1525E0EE49117338E68777C6B5D4C9F2803B547362010E232FB11734D3C5681DE9DDCDE0EB30E5FE9CD8692ED9A272AFB8F933934BD3EACDC1E162D5BB8C5B046C8233FB3C007CFE3205B8D942AA9849587F27420AC120BF5D9472286134256AFD9F57F1FD752E8024325EC9258811C3B28342270CC41D200F62A655959B5175D40A5C3A3088BF439EFBDC1458729DB857B303CC3921FCF7A7D4415111C5E36ABA5D1D4FE953BEF68590CE1B7787117F78BE9CC8900E0F0B6F93D0D01EB3B2D3128391035B25B3501D18CFE3BEF6AED6FA6298F5AB68E81D7D51C80C63F77EEDA5BDF51826B9A1FED5481DEFD982C6DD3633EC21A52233BF1999F5EA311CCF6C84946D9CFE3232B3BDCA85CF78876041BF3F0290FE3CFD2631E0E66B1D9558638FF4D0882C76FA6F8F5234E932C57F91FDA054910B6030E0EC10DAEF4B590196CB9AA1D06717B9AC3F2AF438074C87A6C60F7EDB839E72F0C454A8AD973A87C4F98EEA866A62D595A9801583644E5A23971A228FFD3096A84733E07CFE93F2D9191EB545B61A2F891904805917DCEEB3DE8FEAE599461B35CA9678BBB9E65CD4D1137738B15119B0DDE145D9B78063EC54EA105D334674891FE7CB0958279B424AE22E2B87F35C57F974CA529DCC9A4A07346961F9B3C13D979D46A7BA0E902E3A48089536166FDE4BFD93CE5E1A97972A60F204A801DAC26D3860EFD93E78B3589256436DC6FF79A33481A25C0E2E776F4F040D93E2DD1A8A88EAEC772CD661DFA16CEFEC9F1B4F0CA4A3FB6B32DBDCEDD735A22EE7CE1C5A1EC6A1ECE59FE5EB2B9D6C9229802342C33212AB852D0ED217F49F8EB565D52CB3665B98CA4C9843D314EAE47609FA876637535684220847B2239C5D7522CBE8FBE05BA6633739EAEC0734F6DFB3978C239D6AEAFE5ABF2E17F9CBD409B606F23BC5D64A41B1ACE8255E7292D52D2C892408BB08444CE280C7F7206CB7A70702C625CDD6220D3B4C381CEA8BE12B08C87153EC0880D35BE4DE2CBDD908D58F935AA3EABFC72A246FFB12F55AC659F2DE436149A22DB43EA552316AE94565ACB53D9650859BE2F0A0040550640A3739690BF32545434FDDE8CC7CC01B8E9AD15E27F4F0C142FD76D26E55965C8F25DCA32E09F5A841B371FA65CFEBF15F76905251BE6B1A4F9D3EF93EAD2E2188C8BB2C673BCBCE703DB996B12BCFC207C4068BB20FE7CC401A113274BBD411A846F6E197551F57811A58D3F5BC56BC61CE719F39703748B193EC701FC7BE5DD338CC94741490BDB3815D88F8705717D427E81857B181C3033846DC79E5C54C8ED0B5C87E0BED342C40BF59092AAE7DC5D53FC85C5D47B769CA93E33544AC4883033C2347EF4E2EA21951638816960D067E8EFD6298CA1E469F7475607630326CAF85209D24B43CCCB74C2E4CEB3C890749D4BB165E12D2D87F21A4FF21EEB435D129FB7BDE4234CD6EC4D26D441DD18A573A209558B8A9FE5A8798DA769A40F812BEDE988419E2145EC102F90FDE494D56CBC9C0B15F70D84730DB868D51373ABAC8139ABA9F5424C5E0645A1A5E11BCA22CEF1BE5C1A1AB0A1C00BF2E91064F736D451422B84F3A0E77B38B1F18A4473A4EFD8A6FB0E477AB2161439560213BCC48EA27D9E4E4B2B62F5FF7AD12CD317C15F20A77E5CD52ADE596EAD1D1F6C59426ED92AA3CAF584B2940E67321173BE987E32EEBAA79F70AFF828AFECAFADE71128CE74056900455E76A7158D573B778406316446A8589C85552E68A1F8A87A6366CBA84B707F405D9F058594C5CF8DEF223BCE2CA844F7C9CA6064F681F971FFBA691EAD61A587DEFF124418487A9B6B296B32FFECDA190A760050C1667D73C6330DCDB663531FF590D91DC8111D88FD12454F052E27ECE279E1634AEAF3F4F70BEC4ED362B77EBFBDC8F0B83D5D38108640FE2B28A8BF210C86E938B8CE522297B5C140522066A2D0A94AA5D89C684240FB0FBCEBE227C9761786B5585D2B385A6FD1B6C9D8480035BE18AE3C11D5D7AAE87AC2D4380BAB00A6C2B6D1C96692A556DAE68FC7EF26CFCD2866EC3303D0ABE987C94A2574501BEA16308BB2A8466BA4F4E028DA4F37A88B641D41BC119C8FD703FB11C396B5871792829B9A3C0EB2D5EBDF5CBC22B51D523AC8DD430ACC61BE809A3529E5690D86378016B5C91A6A8E382EF05820F207B67950EC7DEAC2C29309678BE1BDE070C2DF9D21BFB35184A9456082FEF4C769FA70DF7DD0987DD103F228859F7D26F469D2CFB3B615FF73C4F7EC00AA820433A10A3DC97081869BBA94DC251CBAADC06EC83AC17A74B7B93000FEA3B38F4E8781978AC357F532C1B4069C35C4546B90A470B61B2E2734F0428216708E91DD08771340301080693C693E29DF85464071F0588D1CDEB7879F67582C68D37704E8682B0A086BBC170611221DA74271F4763EE5C452F2880180E94A36CB29B8E3272B74ABFBFAFDF93E26B4615BD456A7351D71596775B369044DDC6DE4CA058F41C773B08CB8FF5F7BBBF94A45B1278B74EB830D3834119B41535495F3900B47BD931A5BF55DE8E579282C808E2E709B51DA2AD39E62827C69849E04A7D1A6DD44F1CEAD184E1F78A172264B2C8B27FC5C317A8DA75840FB088960DE4FC93698387DF81E9F069FB012970DE1B316D2E8D24BDF301A8670DF95B013039A145DF6C9A51681132B001350537C97C2D99D38D04ECB21CD539CD6438035406E59E8E9461D30D357ED9A7F5E18B1D6F14C3C27502DF8DC21B00D486C6B138E28B6859EAE35C685905B75C6C75E9CDB838AD23FAC0CE8E09DD899722A7C42A762410FDDC4F4F77B650DA1D0A75F5187824495D65BBF9C9823BF24FB7FD39BEF88AE7148887C98481FE1C756633B127C4019334736F9F056A8F7F0EA0F15032A08DC884D0F1ACA17689E8A8D456C3F485FAD717EC57127BFB5B7A709B3509D2043BDAF9DBB3887164DF7E57A1EB87DF6C2561F7A2A60F07AFCFC3EE7CA3C6BFB4AEF06C0F5287F419C85002F75E68565D0E299BA04ADB68C68FF85C1395226114972385801D4FF6FFF6BE901DBCBD4306CEB38DBA8AEE8B42C327265D2A6CC311570F364900419505CA9E29EAD1B8AA1818F522A54151F8C68C8195E2BF80224766199DEF0B91010D6D93BC6312C1DC288B8D43813E0B65EF1F9F48BD9B8FCF482FFFE53CA7B6C5E95A70FA752E44C2F854F73C41CFB4D34C77AD78B6B2B12473D0379FF46EBA631402F0EDE56E194E130C40E6127FCB264B22FCB8BD980C359F332207B66A35FCB204FB5C4DA52235D1AF996FEE999C20E33FEE0B0788E8748F62264F369A8338F40D03AB2CFF8CCC524508EAEE958E288E1C7E147E450FF06DE064710BC2B0301CCE58E38F09A310E0F62136333147777C8EE62C74510EBD234F7ADB7BEF9F2412D4025058DFA8AB99E82C6E13441F3FE69B76A72187A375A83BF8155B31792650FD82BAB4B55D9845B8762CC3841242D9AE5E785E9CBE42FCACFEBB6F2FB6580FAE76A8E483A0C904813BDA5CDE4EB608D261A81B4811E3028C8006A0A8F2F6AA287ED8E22FC75D8A881B4", /* encrypted */ + "9BFE7A522FFF4495006E5887ED344FA1F00431E39C4C5080104FB404E6C351EB4FA08EB802F3261BAFE7D3EC96AD03E7758B66A21D285EA3EA40E1F7DF66E916F656F44D8371792BE40FB7430292125790DC5F87C21C103705615E6D0A254D97FBC68B04A61D71232212389604E2998BB75B2E3FE55DAF739A974FE34B2290A66F430255122729EB3484AE941B36A7F28DB2F19D0CB1D924C8EFE9015F63728CDAAEB0B4C009511F0E6F88AFC80240A6886D02FA398FB3B3FFA2B81CE27996440CCD96339D444670604CF55D025A999A8A328BE4AEE223E001F5DE60E1FE2E0DBAFC6826469A4D9F9E992CF1D56DF66ADE5C1BEDD8728451D7C9A25C616E1A132188148115B0DE6347B3F8C0C8B671437F9DD25ED66EFC4326282B97DAED58CC8571F20B7C7F04D843AE67F428FAC0DED8AD8E81810FC1B10ACE6CEFB9E1D072B51A7C01872D4551228BE9248051F83F72FE88DFB615821E0DFF29BAC70F6DD0873C2204DC9157ED2E48ADC73572D70A2ED4A632112279CC3C37FCF48BC9DEE7B3BA2D9C5B7F608068EC36AE62CD4AF273A5D971B645C90EA5B97D7FB0144D13EE5C140B87998B72A88C0F2CD85D7C06F7CA67EA8FFD63CE39724E5949407045A349E4ECA800877ABBD767A6A23C9FD7BCADC54426B4B609436A102F4A5951E9D206FE67B6A7EDEF8D6D14A796D8453DEB05A634F14ED3D0B4ED61C1D58D99AF29473A316A61EA0FDEF80A3C876E269E3E03162EAE8F41A19EB40306E09E693EFC3990CB9FD932F20E1B99604E8E2295F62F0C18C1464207F6FA7AED5C40A0F31F738636325B4C0B45DC21FE482288D264B18330F0C5B78FBF5CEBCC08CCB9E410654102A36F6E297B83D335160EC47DD1600BC149517D9D04BD54729EFAAFBEDF9F60D74E227F6B92061780C6424EC404394B0F3881B9E58265B62822713D4C16324DF1FB32A267C6510A371168AD653D135DCE22DE5C52BD9F9B69BA74DED54E3FB39B2688C8B376BC0BA0C9D7CE5C86A4944382F949512A8FEC3A263E410EA7B4AE4F22AD47F0BC6B9DE53604648BF4D868D11E7E8C03F1ABB82E3875D86371A80B65918C21DCF487AC500B3393E78798363FECB12CE931DA0DEE237B3DFCF28B5FBB1291A3E8312F1BCCB06C7C7AA7A89B85AB98FEF56A3C50749472BB609AB7A6BA8CF47A1FB11AF37A680B218E0846F82547DBBAD18CACEC8AFFB68C261D506F7DB645AE8890947FE91594C8ACA54C3F17FE65BC4D991285CFD81445E45FB7A99F36E61B902D9E5C1755F1480FA8BEDD9E15576BE11CFA54C6597EAC24B75F7E4A18D67521350CF10796C36CA976EF47116851E0D46328081D16B814B8988E5B85F7BB2EA0F3F6170656668C972507B87BD9C41848CB53E8FFEF25EFA89A18970EE90920D2A37AE7C353FE58F758FAA14F4E4BDBD747C6316485E1D909417215B20F80081D746D62B07FD49A345CD989C45809C71A9FC953B74D507B35BF7C0F47C948A6BE59813E806369E9A35DFC3727C290CCADAE9B00BD6ED07B2C5C09F1FECB132C1FAA13C4BA2D28BE66A6B5CBA1914AD91D248B31E778473DAF1BE0CF071CA9F55A45074916695C2043F7C8D4043E1208554FC0F5CB67A3D277EEE02EEEB96ABD7564DACFBC99A5B0D87FE7755E94BAA69479A46A11E14DBD26D38DF3E105981F223C907A09367420E95E814BA9AA627F5F420D576C2632679F408658DFE347F9EE1E879F14AA702C2348D6D4589F4ADB90E7D60137CDD67CD40092A431A9735E527AA5E45B4DEDD7465A486BFFD4B079D5BAC96F1E9A7B7CD211D394A91B4EAAAB570944CAB331934F6B785A46CEFA48DE965F2D0B917557F8FAEB7D69770FEDA7273140F5844736CB8828359ABB71AB35B679E41836A1DF2F808099AF46048C9F243C1D74D19A81E8502AA577A329F3D3521919761FD2B142F45D408AE46A78CE5F24E1BE2A7CDF510B2968F4ED0BCEC30670E5B0559AC30A6F249D62C1EB6C28DF58DA468FF328B14D131AA91D955396C8103C2C1C644C7B96979CE2BDF684D3F98CC837A98638AA74FB9A048BC8F0347E741DA445742590573BACFFAE1666C038BEB97EB10EEFDD3589BBF66A898B92701E37EECF7CDF2888DC5B756752AC4A87D2F724DCEE1FC2F26D8FDBCD3FDFDD728227FA6818E5AA154805A32DE7B7B0979632831DB40A033FFD6DF8A42FA8E6668ACFEDE77BE1DC87AE6397521E17070C9F33038FA971605C9EAE3E5F54753145E6FA7A344CCD2AFECEBF2BB64FAA213917A046DE889BE78DAF6D214257BBBA89A0B19B29A8C5F14BDE6A5A77D70CABE8858FB883B9F451DF4BDAFDCB9CDD593263A4AAA3BFCE04587A073C379DD3EC6F43AAD5B0171319CAC48AFC6F0110A772F94560BC8D4A46D4AF71D543589084A42395441BA9071AE07AA10FA2283FDE17A8D99CE2C024CC26E303997EDA7EB02DFCD3101E3E1DB694379E8658A9D475F5B8D4E1A5114513B9C943A3DBA123D0C908E0732AA419839E373C7DADD265FC0DA26A9D69494DFF865E49928D0D11337770F000216D3CB9DDEBEE5EDDDEF911790AF76BA791A88BD050988F8B2E0D7A4890A222192AF104615BC18361B08CE33B6E898DD8591EFFEC89370402F47EA9A15AB3F29AEC95EACBD69EDDE6E5919CA1D01479658D69A616D073702B6F314B44F5D79924AF84C5BA203A809682DD101CB9A616FA65DFC20A883B9E2533DCB272235A38B1CAF2724110FFA14AEBF49A0E74F22C46A370055C7235EE9A3B9D35DF2A387F730B35E033602607AA4407A38A20300DADE6FEBABE60EA67641C1F80C38C12DBB0C6017CEDF070210C74554556D0A2F991BF53ACEEE8773A8F25DC4815B8056DC66790CA9A11AD094985BF1B52FEC72CE80606C3DADB756A727366C086CF34A45EE9878097E0DA4B942C794C29070229FE5711466F8EE8B85F8F27C7C3705CC2F2162CBD3980DC6714E500B62047B2CCC08114F26555D91CCC020F6A1AC440876D63BC5CDD7AA71DD76E9D481361D5DA64DEB7B8E3E8BBD47238662DBC37B34D78B9B8793DC1B53811AED599564D7020F5BA76DA6B80F3F8032AFE76F30F4E8B4FEFF7AEA644A3935800158FDE896387E165CF50F8ED3313A50AC91938E8F7F0FF3E4BD5F5CBA58B551074AB9ABA0FBD3EB9E7BDC0F7D05E91D258FFA7E4F23C333EDB95A9F5F4254ED580B6CBD129D8B426D6FBA9153EF69A1D5C0E21AE9B7A31F365E42E2376D146D0C2764A9FAE0638960A08DE120F353CB2D0FCA7639C962C68D45729522F3D3B0A72C41DA00A3888988D80DB12825AB7DEB1ADEF5CCCAF839EB79A4C11260CCEF5BB16788B173989B9BEC10F4A52D8E285FAFA7A8508A8DEE7EEDCE01A87A8B6AB54CD861320DFAA6D623754D6C75F0601E0363229991008075439C3799EBF87F5F83B7632680759921AFF10DF243D9D34FE899F4602FD76A1778A84C5D20E381E4FF41EB0F98D13BF0E692D986398E246C056BFC40D19A4EEC4B92CC8D2F0A010526F2281E12DF7CC1B5BA8596E8A84025B3970687FBFF33484F0D64E03FE339B5EF05213152409E4A942E33A53E18DB2E12CB2DFBE0DDDD618EFCB38F7D97D4A2448B115B8B7D9E43DF3AE8C103295DAD303EDCE1F997AADC54FEBB3FA83A226CB69BCD3AB87CBB74BE7EB5194F7804B808046F3E45C48A8A385770DA384AB96D6D88E8AC166344428249C49D1775AFF524CFC231B9B8FB8F82CC6BC99561D3101AC283660CEF9EB53F71F32945B393121938011A9CECAFBB64A94951FF342B402EAD64CD4399304D4F477FF1B7C4356165848BE3F82862E75F0F18DBD2BD834C88EEC8A3B8B01815F14964171473ADB8D6DE454B496DFD1A84CAADDEDA88DA2011459E97D41EB7684AC344EC98620B7E6B46714E82455914608E01A4C8905437E1DD27AFD481B278AA3DA6DB2E78AA99D45EB5DD2BE233504D8CD40AD171DCDB67F52006FBC701A3200B0DED957D6CDC754F4B2EAB07BFF146513C8766DA17B184D97A1B49C063D9A686E6F1631939CC7D21C9D61C2A55033EC0353FFCD315CAF3235DCE967360D03FE732AE4DE73EB3936E7B79C171A99912854DB1FCE32461FA05EE7122EDD92FE4E6C30CAE9F91E560516E9A2CFC627362D90D2B16F7D167272B4DC96D0617B9097AC2441FB6DB5AD58D5996F532A5F0441ADDE2974CB31413149135CF2802E6331426DE94D390F0A50DEEBABE0468173594C75221ADD1AA064337064C61AF5B73973FFCFB1DD656D1983A5475F55E0FBC82DDC365E2DFFB5CF9206658B53DFF96B7C907F919D3F386320D5BA2A292D331FAC5669682069B9E8605955876EFD13F69F54BE4BC8CB6B216E7D62167522AF8B9868DDDB7E1C72C1DBA3EF6FD834CB6EFD96173F71A42F0571963D092EEF8931C4C5C3424CA34D4F700EF3C62BC824A444BC589C7D586D87BD45023EA47862376159F7DBB00DDEEE9FD259E0D5149AC2E8E10E5FEE1B44D5A0C8F42D9E5CEB83013261B04C5FE9F9A6CF9DBC32B1C58CB94C5501B4E1FFA3F45E3A7956FA9F1440EC00A0BB504535620504924B3220AF865FB3F8BCB60497CC32108E617DE68FA30B5517F2EE7BAF0A9199C0EF2245BF966DBD1F52505FC93D57E2949B22B89BFDE966995B5058759AC242B1715C9B34E78D70630E2F924417D27E610579B31CB316F8309389817E389DC147B995CA526DEA53FCC7B53F58BED3CA5130E1217200CCE0AE4706E0E2C0F7A72D", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EA50000000000000000", /* iv */ + "32", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EA50000000000000000", /* iv */ + "CD724E61CEA178EA771B06A731D2CA042BB296DC9F28E0C2A79CB5D439B4A0D3DE0BE28C02879319D8463401AC9F9ACEED66BA0A826D22068E87E13EC092333683124810A757A82BBCA4EBD06EF1373883D25AF88BE12EFBD36235D8539F012DD888A5936C9249B9867A6EBCC1EDD7047510EB9E24F140D96016480861F0AD357B92190D1C249ACB7B5C1547D0B3A047216C8C9DD544ED044EC4DF9768C7397918F97528FF4409ABEECC8A3FADCDE76110D46086B9D4D8214292C6E7DF559994F148696AB292F0E4062F7D3357A8689005F8732B4814972C49EDDCFFA1B5BD819F2FF846B2F4F0E8F700DDA78955EE3338500053C06AAE8EA5E6860DB334C826BEFA729C38746DF6AE7606A3606C78C9AEC734C034E166E7783774DAE784E39F62D1D7733BA8B52F93A415E56052E5ADF9A89DACB3630DF4306D825ED3D10ADC0EFF3650BDDEAB2D2CBD90349058244C251C36A8395A81EA417DB8A89CF2116DE78A5F74EEA3B698EEA7B48A85A06CE5F2EA24A1127018F4F2D87948CA71DCADFB86E3925CEBFC36661E24DC80855585CE1C15C75BB113AA50B7E903631BD45E4B0E5395546E255F068291C179244F3F19DAD7D78E4B4D023B00E4A610321E9762E6197636D755CFE435C2F3CBAF8A844A7F8E80462125D2491B140D2BE98630704D7EE9111A590553FFB83DB61A59F6F4F09629F6FBFC9BD81AD8A04738B1402E34D67599060C602CB813BC6FE6A6018611E62467F653401B47F19228DD8B4D5E14E305DD78FB83AC77929DF022885DD88513CC77C26716423961B0B408424B645E507767832A71DE9E34D218D84F845005820F93C3074B6A14A3ABBE1E0C7F8ECC905B7377A58710EDDDDA8F0ED85FA5E9ADCB8AA21ABF4E57A9F26F2FBCD097F328CD68F62DB8D2846BEF3C15269E640A4B8F2C16B0B1DAE8B5D8F0AC694202A4318E2E385A88146743E9732930BB95CD49740D82F8CC60E4F49AAA8294221C6873F2636EFF4EBBCE84AEAE4B1CC32C887B542E79F3012C4F35B2EB0B286752161C0A5DD9D36E917AEA80A348B360BD3161D0914ED7744C003B4AE5DEB839CCE870F350E13178DCD96DB9CACC4DDBFD6CA6DC0F402E84F640015AE5421550308F3F53D0472C008BCAB1BB0BF6576B40F05B47ED578E0B43CB74EC4C06B44A7101222CF50DEF1077250DEFEA76DAFBD4F3C913BFCE03A791A340E5776F7CE064DAA50A482EBBA5FCADBA867F955BD7B860DB47B9BA561994EF6FD4D659424010B43B92F16241875DF903EBD8ACD31409775E2D15F360C889BD3806556738868A3ABE8FF5F7C29280F35A0B1F84D3B0A9588423A58AD5F6200E57343581485A4F741A7FE4D10DD9B950565A97659DFF418640720EDAEE9A17E7B048FCAE18695867B8DF07A836953988E2818C8DC3AFCB54D3C2CDB2C4A913579FE47667F5DEC5BA77A384669C4F95C0C675386A57E100B3231179D13F1026BACE42614707A9D8B9E1F7D5F035087D337313388BB87710AE2FF1531447287AF7537247C3DF44BD85BA2F7BD1D97CE73A7E5AD5C73262B8BD3CDF1048CB6EA2859D29510EF6947332BC3EE36980E63EBA2271CF1E9E9B18D6BD0A303BE50664C0331ED4FD4A181E8CC7183E1FCE3ADFDA88AB975A194DC16A141CAA1560DD714FE96B4C444FE6FA7FE99A7D3A0D99F89B43702216D577532CF0A54E88CA8753110D2A676A39A573E8C0AEA57C189DEB4DD8D1E9B5996607B34B80A2CD13BE05ED9EB09EBA2401AB48B563C855DED3A17F3A35AEBA5B67E09C96E077873F7DED7E82348E75D45B6C0BF07A74EAC34C819C66D5CC1875FEE556A16CD9AB56A2B75DE4C63358A7A361361B7FA3F35E28A6B25F3370F9AFF959EA5E30CB6DC452A13DF0A480D24E496FBC45E8ACBBE66FC029FDCC34E97C1E24BBBE0D0FE8419F7482BA0DE9967951D1011B2F602AADD8C8733BC56FF10EE9C3A285512EB81DB27D8D1A599E41A6E44F2EA4F73FE6CFEDEC0B461777B4B6E598FCF13D6535814229AA9ADE3C34E32426163F0A3771DCADEA9B95F0C44D62F3BFF66FCE1A47BEF75487CAE2A57A5C50CCCE1F947A93073EAD32D839EA528B1139D3E0B00C3C2D99805393E6CA73FFF63D53BA14887F9862F02D381F0752C7517AD3713324D0FA8558E27408D723F5386E62AC7A84311492F3AE59632794D8938006D8062AD4CDB85CD8593E8064033FC16BC28AA1F18D27AE929A9B22B14B9399F6CD591951B9CA8E23C50EAA5789B7FACD352595789769E3EE3DFF7B36488FC9D67156EA096FADF4F784CDEF6936CE293AB324253891C168AB092387B853763241F8F124F3006E5BBCAC99F1F502916C4CBDE85112C5A260F74FE7882BEDBCA65B7DDC73143CD0AC41F33A8F15355F7983ACA42C4CF3C58890BC29AFB0C15ECFAE83D7A886DE45280E8D42858A7D6619206C198CF836AC6DE13420BA38797354B0B2EA873860E983FFC0C5667D71C4B01846E359855064F2B7520C38ACA38C4E019A13C090405C8F2B47364E7B6CE687C0C7D980A3BFE07F0F8A37AAB304E6A084C4B7F63ADEED80CFE3D801133672350736B792C332C478E9B5323F017B413ABD913CDAFC3003DCB5AD0A0587F32D5BD934AF15B02EEB86528E81A6C8B6238D7BE1D58B06DFBDA9C07374F8A9F37F6E3A28B1E534B38AA7C7BE43D63F7DDA2E7CEDEF9C8BCE176A93CD1B4F12D394A5164590E1935585C010779F73CE3F3EDDD0073C80BA0DEC64E07248D9A54BABEEF26BC25C7F4A400474D2C6B7806561707519B480F747165FA865A92C9777F1D912F67E53999D443E7DE9618DB994ED20BD9892DBC5349B0C56EC60EC17A6CC9BD1CE1FDE448C09AEE84C7687194C01FEEADE63BD88FD6E624A38B28CAEFA4179AF3C20A35CCF3DFA43F4AA7428DAD6A02DA21538780E18F8E2D7A3FD3DAF7A88E4E624A8C9276C86D37F0050DB1AC3A3DA1665DE3A992B430646B5685F35D6ACD44CFFFC728EB85E8F4DB45FAD6D0B3B9901575815ED93E5C7B8389BFCDBD80EDB551CB49C3E8BFC7EA3DE5B433E4152B9E50763D230ED18DAB4F4028DF4EA09DCD034D6CE89B25FF2E1E40D89B4EAA6A9F6CB57AB04DFAED2C65F69BE5E102D0BBCB0A804DD726FF3EEDF9D18536A62D63E125D0230104F480151581EC9CD50939F2FA01F2410F874717B269ADCC0C207447896F528BA8C19CE3BE6EAF43DE84ED48DC3F656BE4B18841064B3C9C8DFB8B45EC17975A1F941B81405D78C0EE740F72765CD36AC813C758997C8971CFC3142C3522A71D9B8162058A479C6B2C7E25B45C37486EC7FFD7E57EA45C7D8AB9A95918B9EE5FFDA93B86004D28D5F5771BF2870D24C58EE06B3D2B6FDCD302935EFB194CE70F46D80F42051CF28694FE85B47100D7DD1A8BD34B50103CAA8F0A3C340F8C75FFA1DD70183FA3C63BF97E69ECAB2BFE57617640C60D8697B415B91FE065A3CBEAD355CA98D235E04B208A36B1C1E49E870D339E6598BBC7149017C109FA2CC4639D385CE1818D9BDB35956CF933373CBA43CD211B062C27668EA82F12B2988051EE246454A331C7FAAA460EF41E600A395E665E9384FB65D21519E1510DB334C7485C414131EE4D24B626D7232D5189A1ADC5BECFD3449D00EB789597FA2F93DB52FA73437752F6A28B441B475820F548B3723B93B409B26F443B8E44CC234F4D30486EFFFF31115E379D1A121F53A534C58150CF5368D3A0F17ECFDCA1B39A1740E92DCE44C454F2B937BABBBFBD68F538DBB85DBCC5F048727FC10A5A02DD88BD5ECB98C85ECBAA3006CB6D5BD9AD7F4C07F0CA314A4545F8DF299065C081D770176FA0972378032276452838D5B8478709F17DC1DCF469B", /* encrypted */ + "9A007A522FFF968710CB413A0A0DC51F1C0448ABC1923489555791A723E3145EA81F5D16C29F874AA3B647FFE85B04189C4017F3CA6E59157872D921716F6BEF4B72A5CAC39B6469CA767B9C413C83EC0280FEA26BE37CE307230558C41A46C2990930DAB0B6F19AEC689DA840A6DE95107D0AE0E48FBC88DF272CAF825B2C9A00203754DCAA905EF7A9EE1D242C57FF38064CCF2D347102C44F7E2D130B8DBE550DCCBA8185E7B5BC473DB467A409D1373ACE55AA757314847EA79D5F46CC04DA6F2907077165DBA0FB0754D017D3FC0960D66F79BD7EEE03898EB06AD327E55A0914286456B542B6835BE13619C31C86F885EF68237D2D7FC561F08DA193A13B90D63E63254F39D0DCE1F99F314FD0301494A8477AF0B6070187F4047A943C19B9A1FAFA575863623133A8FB9DC2DCE2F51477D11DF63276D4F1D669716851A9B3CB0F78407D19C3EF26717995054E3425E956A2432C971A780B7B8DF6FD7274876E99553E43C011D3B1B971CAE60259B8A5B1B1B421EEF78236C4D9D3F0168259B0B639184888715745BC5E88E43C6E37AD0D5A74E7A77255D465C1B6ED14909C5C1E5552B0A675BDDB4CEE019FCDFD24F2F9A8D59D6DF80408B085CE054EB978338AFD8ED58FB162C59DC03FE7E21661758759EE1C723C37BC930D58B8560598889A7B14CF81CFB9B1E020082A38D41593F9D62812C96BEB0F1A9D452DF7BADF98E43A2C0C804C4C9A54A40A2F997A2D201BB57A2794DECA8B09CE30AD71036C523A80034AC77887403E3AE3FA635C1B9C3619F45E0285F2ADA7395D3F2FAF9B8CA8044E0ACAF7A0C0E66008041BA405D1490242D4F043D6E8F7AB721C2B821EB0E98DA0EE347600CB03AE07833EFDEE6C92AFD0FDFB2B101E79288E3A459F7BA4E9700AF7EAB1A3B3E04B4FD278E8437351BBB01FB1CF1FEC3E54AAFAFD1A781CAD2E071B5EA9191E77B55C17DE086C18CCD72E9CCAFE558BCCC347606222E369ECBC55F22EBBF13D8AF4DFB935295B5435A34D6E9C2F14159E6E31B43FDEB6D7F2D7FF217580A748476929583927D131E398AF8FF7AF54CC2286E51AF6B91A21E57AE581988646EE0C5D3FFB72D419AD05FDC83B961E6797F0F960CCCDD2A143ACD1E66F3A52120673B5A614E7FCAAAE6126655833F330651BA56D7AE37335AC8BD99D191926963EB1DCF029F85DB6DD6B2AEF3ACF1AF1B133D67285A9BEB9E6CFA3DB04D9C13CF666EE4FFD08AD67268AAC87C19E5AC4FDF24B92043CEAF129D2F58C64239C6711DDDAD94B8B612EFD5D38F8F91A8F995F1ADDE48E31A9AC2F6A536CD9593E029B5A903D147101420DDBFFF74CD3E12F7A80C7B1D042A0113E5EFBD7237B524899F6C52408A6E400DF8A8D808CAC7EAF10FAFFDAB7E7895302D9E9B048AB80E5E6EFB213EF1B375C4B5625A07B1830E5F8B8A32F6035BED8B162FCDE0306BCEB0863EF5065D25E697A366DCB230209030DD88E9E1B1D9B7ADBBD43DC3F352C2D6266991396B740B55D620D524F61126384ED76FA5272F76938C844074DDD4B3CEC59256DEFC9204D0DD56DF2BD0C113F32A9931A3C31975E24989F3DFB10C6415584B75BEF16A90D6583616ED93226CFDFFE384881B4EF2974F4B6BF475703C5E7FD0314F9B150B4E2221A2A6080B8A92B945713D3C878C2ECDF88A69A2790624CB6008C3407D623E18FC50855A7F0F852109E488814724884BA22F4B410C454A632A8145FC6760330A100D76234EACA9D322B742A3FEE2587A465E63D23DF15E329A6028DF84FFE7E303891007C6405C34E72C41370B42A52445DDF53BF53ACB5B409E8BBD6B2ED103EA788AC374F1B9D37CD064E75D44784E0EBFEDF59D2106D00B52097CA9B4F5D37C21AEDF17A7A25DB73986A9136D5ADC85C74BF63681ABEE93A9D7938DB953B6A71D5163320E28431D4BE75D284B331BCFBC403C335C0B7A27262AD994755E4FBE2BE63DA569565094313E0B90AB2F24AD1CDED58EECA95EE3958C5BEE382F078718EECFCA958BC5F34AFDD3FD3DDD6993DE43DF7513FB6A7ECF0C3CF7B0F6C38621CDF978F338B015CACAE95EA37939710C7BAF209363907B2AE4BE311F58FACD59BD21C53DECA3E8A14BF96FCA785E504CE04EACDE1D3F370D8D7D9EA3E022BBF5859A9775F94A53C3FB5A128B40F9740B6BB36CC9F40C162FE007CDF9EFC00721449885A495E8F04306BF5A6FC01D1B5581AF98FD199C95E650722CC5F5449D502971869EF0967BE5D37062BB4EEEFB6DDECC6EC7D02A1BA362D989E92E57B4A1602409259FE19B99E1E23FFB60787E14AA67F34B059FEB57FFEE698FF6F9D20112C925737DD5086FFB15FF0C230337D1FD9D61F2C4D70E305FC6A41959CB7E32901D74261C630238DA3914B304D22EE0A57E09B7B3398AB7D6130F58671E0BD093F1FD771EEDB25A2268B04404DAD3607624B49C9A7D0E239F88F5FA8E4135CB660BFE22F2CCB81506A73B1C4FBD53BDDFF792DFB7961675534DDF8CA2BF07ECB38F72EAAC6A58EA27EA8A47E71FAFC1BDD2672F6A5F88EAF26F8CC16EF569EAA45C5D6476BE148CDFF590CE4296C9D8043F843F4E49A535BF68ADCF8817BD73AC252EC5F3962A2EB18CFE4DB49ECA0DACBF00DB20A39A4FD183E1B1623FC92F75417C895683D9E77E7A723B2C76DFA6862080CF36230B15F04CFFF07ADC6404328252BD7FC02AF6F587CFF8787C517721F41F9708018DA966F72183F4707F06236D57B3E1974A9BE8F310DBF2EC2151C1D4EDB37AE95D14FAC907DCFE1625D138D2DC279C9CBFF8A728E8FD9C3DC73B59F4C62570B8387670F03C727BDC0CA66A3B7BCAAC52C4D9D382E1B44EAE8F7B4D28218E295CA877C30854BA3D307C083937B28EED72A8E9020EDC94377D2F65CF81CE42CF4BF769427D569574F237A933361A265CF1FE00451A85469BE75C4165BC81B542206B9DA71E551844472A8FE1E11591EECE0635490484E0B3C4C5E769EF686AE87FD14B6FD624BE24D267101B9BC6B42B97C0B69AB354C8390A2099F993560014D2EE1AC7AF01932693F7A83659C7FD14395AD502A9C1F737AFF35CBF6D50D4932E7B1319319DC8592961C0FC7F7138F6EF2FD44812E4A81DCB8880756CB1E46BB01908ACF3F997A687E5F8EF48C705D4D78527B88D387732A79775BBA8283D9DDE5BC58AFCD76DA8DB409338CC6B3255FCD0BE1D70FBBA35CF77A92AB61063894AF29A22006DBF0F529D7F0FE90B7DFC051ABF04F9BA5D9917CCC775464FDD2A96709EFE6C6421FA7FB3689127EB15D0A929852EB518B217E11F92E1A7E0619ED8DDBF37142B53E489095BA7DAF12C34FF4C8AA43FB3676013796EA4CD9CC49625BCCE3CB5B66266835C2FE3BB93D709C13221BF826D8BAAEF77F016F128A19BAFAA7B4A464266A68214CF0410CD4AB5885AA67B1289143DDF91971656AEC4D76DFC48EB7659F14A501C2F5706D5AB537866FEACEDA6C1AA007B434BD7C0EFFD0BA9C1D5BCE2EE5F86D0DEA7A7E3BCA45180310CD424B03C8528E0A5E6260B58421A964B8C592754CF24A72EE658BC02E7F20E417B017A6AD59A3DEC194F08E989813160C212BB2C5D3BE504A740FDDB165A33B854D8DA3A8DBAFAF3E7519469073DEF170776D40774BC0453BAEA13FEA1FA00E5E878C07FF6D844EF162C2A0DE82B465956E224E465475ABD59E61E5449C549639267DF99FA3F52A643CBB6398F217DBF6794A99E46EE58FE20217383DB208AE024CC1EA20EDF4425AD5E224278E300F185637958763F194965C33114E2773776E24B334DC929B374CD4C3E8A8F637935587999FA6AA781B10719DB7BA693867A20BBCC9450921D92ED936A451AC251839FF", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EA60000000000000000", /* iv */ + "0D", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EA60000000000000000", /* iv */ + "9FDB5D7E3E26C976CFA34C1E6E6CEA2F263AE4BA07F465A23DD1FEA5117AD883B2AEBEB8D09A64277C9C4BC1054ED0829639F68624AE62B18178B194B901B2BEF953CFEE287240F340661BBEF8AE9614FEB6ACB4F7167E2BC1A211A8E7CB59A309127A5718F8C1DFAB7C0B55418B11AA1F6BBD5CD25186F0F957705F27301A34FADFB875F07E93130180DC9B698FAFD43082020005A26BA3D41439C9D193DFF3DD8D4E75660956A90D13128CA0558292D3BF202454A83E09921EC342EBD991F48889525EDEF00955847124AB92EEFDDF6FA772195385A21BB353311F05838C095CB7D42D0F490B0452D0CA58C816A263D4C2C5584ADCB079E4D64D2CF41C759F9B8A691AB09D956F264782ED9B1A085F812A23B1C2A997CB624EF6E2F8B99C827184B178ED91B4872C640DA8FAE40F88E7EAC8DB5ADF25BDCCAAF0B59DCCFE7FB1F0F87B86292CB9C6F956E56A9134A1209B3F417D0A2299C24B818F0DF49978C9317CE4CD8F8AF7A80955CABAAF0C4CFFBB3C551EF6AAE6F179C6E54F2E49EEF08978FC8C5E70FE38923FE2A63CE969828C1AB211093CC2A0A8E94B7D9DFA4E9D4ABA7F62E45AC0F9C63BF9B4A1938D33A46BF5B49095C89AF1717E5DEC9B8F1517D23D52E132E336C8B0FD83C6A3516906957C15D514854BF2730AE4CEFEC252AC707D13C49C3F0B24ECB4EB59DCC84551404223B4EFDFADAC07676E4FF1D3E0E7544E04A5CB2DC9341E173D601DCF3237542B5E408174E99752032F2571117052E69778DA1978777579C2FE258832B775439C89EFC1DC14A9E38280BD8175E33222526A76E284C2B2F7121B67C8C71AEBA8C212760992F8678A5FC3B35AA858E92DC02A6FFF7C77E2E6DD88667F5C57064F1E5708559F12272A512D9540F4EF4C5CCF1A7A2AFB06935444E3BFA00097371E7261418E8AE46BAB073847A1CF2CD3AEAC9E834BAC5FAFB9EACBDAC4EF1D0295FDBA2FA58861E1429E57DBC4256A08B8F1EBAD10B4B0CD62ED06E922FF4A665AB9B825C13BDBF29376604533FB557DC449F40B72ED7D47B8E4D3BA22FF87E5BF3A153B8B338EB84CD5440ABA4550712AC1C1AC775F27B2A6A171C617813AC2A3F8E836EEDF327CC8E51424EFCFC70D6670D527C1EDC3BC6BEE19E593031F09D0372DB9E3EA76BA10D331CE8054E72D9890B002197D1FB832B8088854BA638C7AADD038DCF287E81AFF67E4B7D07FA3FF8126CFE9F13293840D858268C6771A3FFF65CA6B0D49AC77865012F7BD15CA7FACC292781110FC7B3B6DCE893BBD5B185BC36EDDD7D62F2E3920ACD0DE4BDAFCEA27DB225D682679A8987139D9C159850926C055E35CFA928D50207987755EA079CAADC0511360A36CF16D7736D26A95B85B2E2DDE51256B0C6FD8AEE55386683B44BDB618C56D8B986252C197CFF3A573DE55193CE3CD5A2E99833B00F4BAF15A6DEDC864C6463AEB7E795881665595A2B165298996BDC621876D8E71CFE2B714D0E40EFBD52C95152546FF639B7373CD94528E8CDD23BE4CF4264C733823BC63D758128A35A9D8185C061C91617E8DFE8D0A18A5BD11BB8732D0847738407F5CB882E4CF8A1B47B3C5714C16F1C5AAE7CE80887D6BF3B7D038E9A5328DF304FC9245E2047579A309EE3F9316B1ADFD48AC07334707817D1DF005E875014E82EB70F1C24E41B880007563F9998F483FB2A742F58A7C5D6B0DBF6FA9254B1093876562B28ED7F9A720F317FB1FF29C45BFDF9E4A57B94AB4536BF9209472B862881BC8C90CE2B072CBAA8FF5F4B6C28EA40F39B1E166D32E8414A2D0B1A207DEEB6D074EA635ECBD7CC8273E53E3D716D94CB6D5157F3D57130C43D621C1E96543DDABE40F98A8556250CE6232EB915FDB63D7CA9805F52260E38CAFDF24C270FBF971AD44630FA9B9EC60E5C6FFFC3595F2AE87EE75637F5919F012870BFDBD4CC33302A7933DD8E1281CF14244F27A87C721AD63AEAA83500A326D22C559F381B63F914072C42B25B0CA04F5C156946BC78D1C59EB016AE5F7B1C0DA5F74B14AFCC0B5511F8E44D30C3315D1C43687917E9BAED40BCE9F35B67A2D2868007F286D5021AB44DA7B661E7D3104C3C216B642F94D11A5A2ACEFF5DF8AF6C094A2EF3F4D904361555CB91457E6D1CA7F32B25C5A27F9D998A00B8364DAAB11B632F1AE34A3C944D201624F423A8B323F7E088F5812A4300A06DA45B59E2F81DCDB71169718AD2E5F1F99979AF96FDCB104CF92D77BC9EA78C31C56D7580D77CDB4C132DD5D85949B25CF0CE8FB0C4754A910307DA17A8F8CCC3AD738F079B0B8FF572354A00779B90F3D670E1A089498D80B37F1194ADE4DEE4540184468D804920AB1D78CAD9A32F27877D769229C0AA782EB96B05BF25B7ECAAB12939A096DF9AA304028FCB60AE8EFFF178A3E9ABC37C32F316D38C7F616C2E77D3953D60F3AEC806EDCE668BE8256E74DC2307AF54D3558097584BE1FAF6C59A0858B31ED6F063142FBCD01C1268C2914C85ABBAAB29F16CE8C1127A906561E80DDBD023E3BEB5084C30FC6015398EC85A1CA4BD46AE7A6697AF1D8EF17E0F64F4F17B90F0D27E921A80EDC60A795D15EF647750637E101579330037F814A8CC4022948D340DB9DA3F132D49B88B60FFD950C8E8882C9DEDC9AE25D4FD31E976DF05F665E35285074D030DE144B938590AFFC8A6EF60E1F6D4DD1A3970AF2E9BE92740681FCD368CDD4A5640D8BDB311C70C1FD761E46AA36BA9C052E481ED34EEF54895995E278E6955FD0FFCBDEC296E3395BADAD4E967309129C93F266844513AB60B7C137B8A05D81C3CDB0E567A2ED5C5CEA9B5EA74FCF05FB9AD0D8C1038D02D739DA0679F136C8388CB977A4538A115DB363C7EAFF34DB8C8798E5FEDC197D2688FF105B89558A06245AFF9938D35E8C913DB505CC31B7DAD9FB90114CB9843B18E5DAB26390380DC7580E0EB2B3F2041A3BFAB92C80CEC5032A194BEB3F897ED05637DBF8156992FD64AD53525FE8910D86729419998D89BF288D86E49C49C44B88E91EE2CA3A1F09FBDC6A52F771CAB73432AC05E32D9092B0A5A08F835BE7EB5349D3383E75E906A6A63A304ACAE6062767CDF8E4B8392E354B92FC8FDDC4C0B4D7AF7F7DDF05A6B6A8A6768FECCFEA9288AB54F8FFC145781D85B0B96F774F95AD22E26E824CA8C3893599FDEF21698F4BDB4F0828BF0C4532034DBCDED65A5DEEFF04C52A0FDACF90E7039B58A3F7EF4B5CD239509B000BC8D5B2F27957E600D641B63C5D6F6779E94762DE7778F69CDC0D487B11BCCA621D0CEBD918CD25132E5851508438C9F281250AE3C5349251BAAADF0A4E55F7A191E710FD7D76FC212D6A29AA7C88CB7FBA9C4DDBB7549D45F4379A603EAF349283DC028257219B16AE991A2E267BA73503EFC2FA72CB66B1823191F084D4023D415010ABAB934921EFB6E606F2D1D6E8A7F09480DFAA54A1CFE7EB5E7DE29250A204D07CFEE19A4B3831", /* encrypted */ + "9A227A522FFFF493A6B3AAC5C8DC0CCF66FEC46246481A358DC0D81E2D6A9E7772DFB683D506A8409406F53FED131974B2C9CF2DE9E58E5C876CE0AFDC57F6D9E47A0B2033A8C2B461D622BEE8FF059EFF6C0F7ED38C034AEFCF6402218E9CEB76C33648F1812B89526EF76407BA00604B053D751A395488D71E71F2AF544E78CDBC081B9908F8BA8FAA68B9F3306FDFE819F143FAE82331DAAFF0E67491F0D712D8BF49A66EFBED93BD9AF1E8179B150E42EE54A1CEF6FCFCE63746356F2095C46B7B476564AC79CBFD4BE0851C75A13F3AC056F099A335920E747198BB730E5CE7C7E9D6D8FB23EDA430EC10A01736A2B1AE900A28456B1506EF39611DC47EB1D09F1116BFD851B87D0B3A34E4C70A8436ED3438E9D2C525D9BD83AA220A60D7540C756D8279CD374B4D0A943A94ADA1668A0AF00ED73D5E61228C134BD9C7EA2D75FA96B6451980913321E0665DA795071DA3134E2E5EB021DE6D32CE4EEDD200D6AA197447E075DD238BC7C8EECBAECCE74A3E82E894068B14898DC6D9D19C44AA6E768E9D9F7AC4FAD9932E6E446396D087635E27BAF92E08946898637D512BA81DC5B09F0A07B832ADC78F090978ADC072CC0415735CF4B4BC437C71143469BF014AB7DC9224F6BC9FA9F79EB17F2D5EA3DF4127E76FB184446E20D5BF3D7849E13C86ABDB84DD509DB717B0CABD5460A088D027DCDA5DC3F98D9BAB5C0526A675272EDB0BCC2E36530FD41AFE00CE406D7BCF714D0CE526CE04C98F62D71A36FE3207CDCC2E6821095B89D46CD3731670328419602CF60A54B07C310D4783E185D05075FCA5275F26E234FD8F1979F0A8B90735B35D21818488D7BB037B414B55127FB105457B9304A8A7B652FDAB0DEE2AE120066271A79984DA743B500E2DA19A7C2DA4BEBE4A24EED3034F66590CFCE84E5C7AB9E675CB6A05A6755C3EE595292DB862BF70BB44007F1798F0C8F64BFBD3D9BAB875AD06F07BB8597F5803C9B5D5B63DDA8AEC1BFFBF5B4834948EEE47068DA31B577F4EBE779F0AD859C57709789D815DA631AF1BA5122F4B5006CF1F10AFA3DA78261342F464A73B2819E567BAA688FCDBDF90272B551ED9EBCF6D82B6F185DD6E4DF0A5896B814FCECC1189891DA5B290F125EC0526161A5D0B50B77F5D43D27DCDA66CC2915DE86095B22E60A86C88982E3D3CC1342709F37CD0D3548C1DF5688FB34950F8E586DFB6AEF59C80DDB6C0BAE57ED58BADCE23D774F5CEC1A1C9C1B23B0B6A46EB59E45A396F16758328B3706D375F9E73B1959329181873CDB92668C60FB995B11AF7D1A2B602053C184611A535A4A96C98730EC1B4547CD5E31E627730D37BC74ACC73295574935D48B0E42080DC782B9A92FD1BB39202D3FD08B06B22EA85EDD83BDB7310060C84416091F47D2708359F94EDC73515F50116028471BE407F987CC838FC5AEDEEF2BBE1E5809347B2F82480313B28E974B3204B6148FCDC5EF488A230ABBE979106EC22B09F15D71236E58E67E771F8406BA0963717520A7830ED8F42B9B6FD8B8F7413B10192CCE02B657015069B995EE25D451CB7A9E0C2B9458409AB53D6B1C96D17D31203A4E9FACF95875DFC45576E65D30A2796D20D324CA0CE6CEAE87D15A92F3EDFE42468F455C8F2B288E8155E931EDBA6AD5F17E67D2EAE6DAF5BE2A3233AF620296F3516FD7A8E2F79AB3A2ED3B1316A9259AF95568C81D71F415E8F94523F954A32C6F3A899BBA9F312098F70D51D35FE5F09DFD2422154BCD2BA89234005AFF8C2781A3FE49C93A9A73CA4572BE4BB40E16DD307BABB2EB87F34D2C19576FCC08D04B1DA14263CD4728ACF105D17485220FC6B0EAF37643FCCACE2530D627E2A72BBBB252F6AAD431616B4BB208A3A376DE42FC329A09682A80FE7187B6706D34A371C85D18439E65713813183365DB7839DE066E045EA57F1F2A7ADEA8166D3B23174088C1D9B9CAEDDDB99BC4C0BD3C4668AC77F3054168567A5C332C53B4D2577BB467EB266E6AA7419929EED47F7DD80807B17396161B2F3297ED22723D6204B8A8363DCE48DAE88745D88744740E4D00E501E5CED07E6903A997B30DEB8E67686ADD6D3209088395EFEF9B03326B19A2ABF052E7A4656E493B159A2A1E8F957483D63742284811338F341F994E1E3C69669B8438918A6B1BE4967573F138188631DBEBC76EEC80D09AF722864CB69C8116887C13B9E717007B9F476186D8D3AEAA2371A7F04C38945FFF69CD62FF767A640AF6FB5AC335684FC0BDA40BE4591BBEDB2BD6FF58543F4D00E2726CD2A2FF1EF6B9E371D997701784B307D4A5C0ECA4D89B68D269A0A62C8B1700F8F44DB94C8A8EC1DA8DC5303BC3068E1F0F851818BDE1D35D6EA48BEBADB3CFBB7E52891DDFAF477142DF008700C976610538107078921BB4EA30BEB2965EBF0FD5CFDE8D0CFC9732BDA46DD1BE031AAC5397F05F576090CD5A932CC32A4B9A042445042A97839365B1267D84FC2594457043BB472B5BFA1E1EB42BB6A43329BE4575BB31E377A2F2DABE5CCDEFF760F782801E905B263AD74241150D3FEDC349493FBF3D6D672C0F74198BBC8E95B052FC5FE23A24657599D9D81E10D5C25F953A250CDF5F16D2756625B78460EABCE22E9F6B91567F8E85F38E75A7145E495AC437E15552B8ABAFE0B705D129004133C2335D50949A1B984271EFAD302EDFB61C00A7286DF3055E590E2BD49F5FC77D3D11AB14CD6475518C54877D114FC4F8C6B3E8B2A057769C769C1686C2D68A8FE5B68038339B8E33160C913D95D90F491574E97760E51FE3322F71D8BA751DF7B903217477CEB1ACEAD0FAC76C716535827AA8F8910359D847DEE578F85AC121D892938FE6DB31B69246CCBAF3D4FC748BEE9C682E140C39FF75C4404EBE464DB4467811192E21DED91986A686B3AE7AF2EBC350F95AFBD736359F7790FAAF21A288B37F7E3598DF3B152F6DD8C6E1321F5C25C1C6A890EF721D4DEE90F9C847F41AAFC5EA105A3468FE14E52A5A4B026696FF0595BC51F6D113C14F13DA7509BF051FC8C0B1BE83E197F799F4186702424C0206DDE85D9AC4E37E591159050AAE32652180897322A2CC1DD05417888D2F585AAC3BAE420A711E6039C621250BDDFDB4011750C72518E5A15762819D37008B0451750947F81CB47684FA8F80CE2F0239460823DDE337C06955C075FDE42A25F12484F66749672C1674C0CA18A6084DBBEA2D0104994337C00A1DB84144D2DE1EDC3740DA1E21E6E871B000DBAEB96FBC6BD46C6C065B1D2271A30DDD1FD1D990F6E4A10274C5BDBA30F6B6BE2AA339C037CEB0616444566BE179DCF6BF648FC401FF5BD4910E991AB0F894B033F96DEB9A3F01D006938CDE16DAEEE718C823C7AC628E75C49F0351FAF005C8CF545AB0B0A940874C65EE513569BD65E9D4EC5CF898D29F0D422BF961742FB51FCE119FCE170B295E70373FE53DBC179A1CD85146D492EE034", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EA70000000000000000", /* iv */ + "74", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EA70000000000000000", /* iv */ + "252BAD3F0826B7303420B33A7DC3DF680FFC1CEB9D928F2B3F530F1D341BED24D833B64479BD3D05A590731937475B1C7223954E5A5C841BD0ADBE6D246F153FB8CC421776CA33985B56ABE799DD75954893895BE0C1B4742235E66E814DFFEB7563FA5C587F34DBD87E09D137497CE6C7D87B69D83FBA0BCD96F4F3A80FC5323146A416F8007125F443A96700674EDCD322FF8A415A4BBD7F52F166C23B88F52BBC71F9ED9C22C90B0BFAAC0399BE81B65045EA0F4AD7814D4564E88736936E6514D9A53153081FB96DB560673BB4F4390927875CC371FD204562A7D8D65D53233435D636DE54E2C47423E7D6A237A46723D8A41F8FA4DA438EA18A434CF5FDDE374A4BD7FF52FB1678BCA2D7602A70122F823B2E90AFD6F70917664939E32C8DB8F260576A6927ACBDA59DC9012187742CD5A5DF14BE1DABDCB59BD9FFA4B0C4608CF2E4856CCB3510A288F7D4EE70F95076A637C73CFD6B757DDBE4A86513FEDCA51DCE0E5F430D4930F3B5711FB16D719AD3C1BA4B76A6EC9CC6EA86B8570942C9D1257D92E62AA401BD35BB4A5CFA4E4D38B29CD6C11E979A0436886E883912EAEDA8D72C2242E1C306A28011CB580E4741062A390A796F2E2218D239BE58C79563512B712E90EFBF82F2BE94CAF3BC06DD7F972FB81211C51633A80EF83FDB4EFA7860B90F8556E0255EDE87F6517CAB9C0C0BB23DBAD3CFF45C7A0A4D2EF995A8AFCF481AA170FD76CD99BB8D8F515A37A4E177916018FDF907250F2139736FBD95216F168E64385375D7DF3ED891C0C0C3C81A67FD9E1338B0C7E1094A1E7EF5E3833793083D7493017FC6A0B1E7D7D5D1564E94E8360A625198C89DCBD20BFF9C3414A5912CF8E15BB24979073F678CEB2615D74B8531622745C8416EBB7C877B90A545EC0D305B9588BBE53993F728909DC86A697F87CC03540DBD33384E1936254D2BFC9E4FC9B16300B29AB074B55C8361597636CB9C8EB1B7DEC7CAD36F8745E900EBA7379CA061D34932A1A0A57C25A7D0AF8D4A32328278E5BFF221B0F767B4ACDA0BC3398170BA944D107F7DD3620EEC3D8B594E1ECBDD378ADADAE6CD5D6050918F630EB35C9494FC5B60903682085C1BF03055F86483583B7CEAD4DFBC0B8F8F59ACF9849E9F2A4A65E3DD9623224B042B169818FCE779FF78F928FBFA2731CA5F42CAB5EC11071B3F816D309E73AD6CA8189BF2A4F2430923774442B3B5EEE52B3B6B0A8F2BD199C498BB43AA8546E24D0C683EE7B34BAA07BA1A89E4BD6D2FCE92475113F165750F6F2C9E187D02E4A217A0AB2C3D9BF5286DE8D4C6041A00F57654E8255BCD110657A84936F3FEB8A01FDE9E59B11D2CAD3F1C6C7B7E827F34C3FAE02E517FEF39D959FCC5E99B5255981F2C458E0D9AEE25DC4EF587AFC9D4EE7AEE9EC64FC7B43006EDFDE1918E7600D2F4A863B27FFDF770A7E6FD55E02440305777572A257809D033C45B969381EE3E78FC3A4D575F29883A019FFB3945B100CFF4F4A5F7D04A3153B3255BB2FFC071EE51AF8DD7C6E9C2B51BFDDE1F3BE4EEB772BD529C6704AF0E1E127C026E055C59CA198DCF3ACEB5A59F3D9B718A7386D3D47E657B970A58E4D73498714924AE2A0E7E46554B06B40824BF6DD2A175864CA8ACA50E89B0975143C694A6BEFB943DAF045659A3A8486781C0B387B50D1EAFC082539C0D6340CE355F39E75C752C19EA21184BF01FF671767C1DAE3B764A69D3A895B59E994CEBC6A31DEB24FAB7E37395AF198612E4DD2065B9BE04B14445717C8181605DC4F153F58DD4A4F5C44F0E00D36E0E58D8C1357E193E7ECAFA67EF53B5D3AFE8B9FD510AA8F04DDCED5BF59840A13303BDD0AB09599E79020367516D02E6CB5CD5A62AF951CD9F2ED12AD93A0D84191EF2FDCD0C25930F82C1CD6106DC80FB3C0D798E5234524F9F440858827871CB9EF6413B3A39F14AAD0C8133769A322B90E1A5FB982994521D03CF89098F275FA63BF4688BA178849F7097627AFE47971AAD5D4665A4C4C3E184D368040850205938B071BA4BA337112FB51CECAA47028259623AC6BD004950550BA858FD69C71194B46106A378461DC332FF6E12DD948DD91F3F574EDA79A69ED0E1C1C9728E7C839F7E8A3578C5913646AD5D30C02B126525CF69922110691DF89FFE40476259920E9006A45ED07A1CD0B581F635DBD90A6EF64A6A1E314A67D799275CE22C75E68FEECBD9E4C22B6ECAF5FD79DEF2AE479723A4790E290C8B71ADA3F35F84C4639ABEE7A201C4C0EE532D1025F8A8F8DD3AFB6D523D787A387B623A548CD5EA188E11F81D2B9C78A4FCCF191F9D7949D49D74B6A92F5FF61BE68B268F269F35249E9AE3D923ECA18518C887463CE7E325455E5DE55232D4FB3601316EA327B47541BBED34493976ACFD5C065EF7150F65A6A097858DF93C960062440EA979DA3950C58D4260382B03CB2D4B90C24BC68967F93263435D17546AC7D8BC3B55BEE5F090F425405B1A80DB9AB87E4234CDA16BC7B15152CEEC04B02916DF603E27A88F045C9CD19D89FC68427B569967F2305067235AA336FA322540A2289A34F0FC68B7788BDA97E9D0522B6B871425F20B18D785C09D1F2AAE93E805FCB28C639A77D79BBF404131BE4441E3C0BC13AA437D1A3CC6E7BA0651A93CC519FB355F1A9B4C9683271011E2C1E7181AEFAD75B6557A544CE91FCCC610404312F6EFD2B6810A2837D2289091D502D14360CB16D6256DCF20F67B62CFF3E2E5204F3D742FDF1E7E4E31EAF860CA1E194F61A3CD5110FDE1A9191EBEB2BDC8BACECA5AA1E9837FA6589EC6F0C55DD14CFB5EAC34BB6A0A73EC441C8ED64E44190532BECC70AC3A4FF7D6BA4B986C2DB9AB9FA5264F02643272AB4DAC927C2868E9798F39E36C88FBED2D62B2A3658A74DCC9D54E44497800882690FFDF54E4CC5CC688848068BB35C8E2E584797E060D9AE32DD42F521C2D22792FBFA79749786433956564B0C4E9623AB951ABE47C87396E757FB974CDD5D7940106F6F21F3124DF9F88F76FC702243A1C03EE247DDC80710FF8226B167101D57B80C412EF1FE454467B4CDD9543C0126251189DD723616F6D6999E1092C92929FA50902238EC1770EE4B5135665518D3C6AAE66DE3D539F789AAECFFC905DE5FA7C7E3FFFAA17CE74332AA7ED47EC4169EBDBBAC1E2FDA9DB7B05C4E25AE28F58B06896FF2EE31267F79EF18D383BF7F563738438F1D91CB9B41EE89915F06F1E02B6E4C957289B9564690E8CC1987D5E5A18635FC380D037A42CF96BAC2A8AF84E968D01C7B8924A80EA44340353A7835C8DA557211CAE2D1049F80B17135ED75FEE25A0D5A0163C308CF17367FA0FF4F41E52E40BA1F33FDF12B995555F32EE79F24671490083DEF771A15419AE4E3496502DB6F11A33102080FAB38A30B975F5B7F759EFF57D3433156EB29961C73724E477BF36E7E18DEAC544CEF5ACFC4F7EEBCF4F61A1AFC85EC1CD15350E9EC031AA84434AAC279AEB3E0E83DC8EB21C47615DEED79DFD8BD98084AA01295F5FB00137FFB450096A72FB311B8F5BACCA9D8433A82208FDC1385077F7029FE74B9088FF061A6B57B48D8F8B4222BB841DF3960FED8E7303CACB537E7350D2CECCE2B559BE7CC0D2EDC5F4E4C7E095067D44FB4CF4C31EE2F931021FD4DC2690D587A93818E9075826C78332A175FDB2C03DB4AE17C87F52E950893004B6CD1C089E3D8F68BD19164A28", /* encrypted */ + "9A447A522FFFB119C335D5672829295A4229C65A10DCA9CEB550AFA9E772305C17FA07CB3E58FCA4979134ECF8483DA2BEB69840AB7FD89D618A7D29D213D119FD4C6832FC637E6FDCAD0C11E5CC83B9083C59906BA4CC9CB76D5FADEA854E4649CA59CD44076A1A8FC676EE85F7BCE27D65EA4CDD1D67D758D7288A07B302F96529E6C0A781EEF75E2156E64630A20EEBFAE6F9AA94BC78EE767CE4078D2675C74100968959A016B0FAC6D7C75320CA03EF932A1F3D8E01962595BD4F630D83F09F4D15BA52B3610ABC5054D36664570F629A049457E2EEFDCFFA4C79C932795427A3A76C1327DB2450DB0649CDBDF9FC5EE3F2FDA8532302D79C8F5416B265352463F5E2819DA442F1CB4AC308B58FCF49BA4B94582740527EC1730CF1A79FDDD4A052D1D3530A0EA0B34FC4464BCA0D96E912DD53C8DC1C6D2536C09ACAE5972AF3667DEDE12F7AEE52BDB187C46D2F94FBBE869905C1F0786C7D8BBE1D41341B30D8F3319A459A169A2A2E2E80EE5A638726E780273344227832C4C421D45A6EC4CA4A2774AF31753A28D14DDB5152DA237081B13CBDF371999B4776E1818183F5C0518793117861C414A1E0258076D95BA7F74BB74EFD6F86279D375F70A21FDD49A37D95989FAF2A6DAEC766F5EFD208FEB43921169D4EC936B857DA6660AAC76903B636F24E98EDBB0510D245FEC20C8C6A54A1919853804B984C0620B33022B8DDD05105B4A13DF15BE953FF191AEB0051A9EE7C1538AF1FFBC22B67FFD06205CF893863F6667CFFAB80E9DB58203AF43D98A57D2347D73F99378F052EC35881C038486E2D16AD6398D5E86C779DFF2C8144A98E70561572461696A103B595A29E5A844A3A1DB1869E42DEBB4F84DD03CE0215386ED0AC56E7B34F1CA5F05F55889F966A475D39D039C7A2458609A7D203128D5D143586D90614BC9A614D76B84360F2079369B9325A9EE67D7C816054CDDD9A500731AE1DE47EEA2AF1F3A48A383A096C82EE0F0A0DB5F75987E303993202E719FD82ED31A653DADD8D8048C69BA40A07F09246BAE189AE5948B2F984DAA174EB62FB399F86CA28DE9F9F3B76FD3AE0C1D3C73F7B05C96FD5B3F1791D43096AB11E5CBEBCB3D4A9EABD28918BD4768793B1F45018A7B345C737461647F063E4BB03C2C91866866AF2119EF1B4DA482715C2F3BCF0395EEBDDFAEF0765E7EB4B14C004C9BD36E4893F03D165D69531095289F8A7BF3CF39039883FF7773AFCC85A70395341C6933A67E2743A350D72EFF4855330D4C6CA84C9D7C062C2CBE56E36E59C942B962D6D36C0F0ED78C26D028C8ECDA734FFB237C321DD4B450569DDE7FD50075416BF5CBD4432E777A115FFB879B1B77B47428BD95A0626961681359B4BCEF09548B0940BDDB9EE260D2394663E3C45EE8D3C132025F91FE4750B8B92D9D48D773058A12B47299D9AFA914E178B848F45C4F3D302E9BB472590338B72FD4E783299783B2A1BEB733973CC7856751692DA7CD4FF2C71CB2F02A6DAFD4E730D8B673B3251CD764EDFF3A55FA0AEB78306B524108EE6CC0FE6630987E0EEA86AA04EA9D23D22A9C9B9C6C3A0F123CBA5F5D025995B3007BC0EAEDD5AE8EC74714696BBD1997564D0E2AC5BF46C3669A847568A98795D7F3C9225AC270F525AA169B6310BB1FA23BD91AB45F459EA845DB4BC9491765F9719F7BF1ADEC8B8839EB3B6868443D8CA787B703D94864AC54C4CCD3EF0ED891411519EB0CD2D366AE6762158D1F7B2C5280493A0A8E65DC148C62C86ACA021B47176AF3409781033A6F3BDB31C2C3EAEA53C64361002D1D66E1EC5A40BE489C2E147DB57F0D6A888C78553FD00712853EC779A5E67CD43CB195603FAA48B704167912E5B872AB38B1CA471D133A68EA10A9607455C757678304BB2A9B930E0D5A161D3A3874730FB1C5C4B5D9C563FD32441617536253742878E7F4AB5CBA9AC8F49F1210C835D12044C89050D59F7D9030F0A918A475D6B35F5FC8F49D770FA673D238D09C1A60CDED25356250B0B669A7EEA24EEA12690E316F9DC855B96AE47BDEBFE70FA19E48A8102B09DA9A387738A325383A8986EEF5CE5B87E50A5B25A251888E6D97C6B94D410013CEE29BB32BBE557CBA0CEC1EA711EFEBF7A6765B375E056E3E4CEA92BDAF5CBEB3A88985247AF38557E2F38AB55574EDEB57B8EB6CFD2BF7E1DFC2D0D50131860E114055DC63B0C7AEBAFA312392004DB8761F36B9238EA4D2F503AD8D0A10A8CEF32F030242389BBB879777318F8E5592B0E274CFD1EE5BB599672677D7FBC091C36E560171CCDB1E6E4246182750F8AB5EEFDFE927F718713CA62C510981EA246152E96C9ED1090E127FB884694B237C584D30A8FBC890427CFAA01071BD64284DF5BC4F0EC4774185DF5392138FE5BCAE104596890FE98817C1C18F380EE2F5F4176F7AD3FC8E8C5E84FD96DF0C71718C410A916736105873946831A54FC64A950B04AA63E5E0002955BB597814C7184A9FDB84BDE17CD17832BE18F3DE9D6ACD01DC55D962751C390F1BFC34832DE03B1C244844A37BB344E1E1D6AD696B03D44D48CDB63E729370930FB11F2AA1B802739E4F3FC93D1DEFB46B2D0DC7F3BCF34CD645019E755A05F8F86A60F7D69AAA3F3391B528F4329BBA7021B91887DD970C60925B5256003D86B742152179003DF97B7BDB881A8A4734176CFFDE7CD9AEF3290EA7790CDF6EF05CD3A27BFAB2AD0ED857D14C1C205A238F570D9F8703D0A470034C5FE3EBA19577AA9C2D3EDE588D12440BB1EC929CAA6DF7C911281A7DA90183B08155DA71AF5A1A69CC20A46800447510996A7764AA93E976B7703A9D1A4C8C944D747F109DA7DE35A2D697E3F346B6D6FD7E65C1A979A23382C96544350A9643E71EE14542D9191C3F3F1B26AD8078F630795C6DE92C81BAE67C1C6E7F493D78F1C09D346D4BF8BD15023ED02C7A97D5119A4BAD94FA860BD5C3D05EE6758548257A27C38C050214EB15B0F8BEBA5DABCA598523AC5755F3D357DD7C49167A0FCE1646E7931087B480AFE3AE9DE32FF3C63980B86AEAAF24C65721ECB7618EC1DE0BC18AD279E959AD748B0327265751A203D1CC1EDD6F00C655652637535AB5FAB2B4F1DC72FC0F56DFD61A24FBA29E0CF5DB6E4B744772033BD43173862071655F51EE83D50F044636D8568EC2C3677F37BCFB3216C332DF986219D00598532F22799B95E924145257BA96484A2D0A7A2154872DAE40DFE8CB84DD9FA41E38EB2297037EDFB7816DB2BEF1D9B540FF7F698BDB7B5C013660F12611953E2876E93FC412898C1BCD842BE1E8AAD511E83230C28DC8F01C566648E0CB29BA12A41B2448722D1A9472F01F1EA74C1CC405AEF58EB63B9C619F83A98B44D0674DC98814B267153FF2446E8E35AD388E9479059BBF1DEA0A5F8C4D116C6C47749D0258F7A51DB377B2D7DE46EC41BC51B5C61F3B046E5DBB3F005F04EBC6ED0500D4BC9E8B1B08CB77DABD31FDBD4C9724161502DE2D5CDF9BF0E99F1D4A6E4C96EB8923C37968B697EB80576B0F1455557E3F977B0E05140A25F4128CB7ED83BEACC65D87C113201809678B6ACD303A3B6EBC3C204F24DA5A15E2B223122405723D9E2FA083FA71C9C667FE8E5851B5D95E3B6A381F01342C7857942E5A60E4270460BF5672C740C4DC32E4EFC36069AA4C9809F3D385311C65762CC40BD11989C993CB407B9DE26A0D54AE7A4CEFDCEC1", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EA80000000000000000", /* iv */ + "D3", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EA80000000000000000", /* iv */ + "F7F8419C58A02D4ABD08EA352AB91703F3B4E4C27C33E8B234983658C2240632199FC05AE1B21FD7F1999D557B33FFE7C6810FCD520A749A10415E6A928DD377EEA9E3C259D234447D6D103E40509DC4BA7550963B7ACFE0771463835E9FCCFBB42CC41CEBB25AE79B260B64716125E9617B58A2162BA5450431B0C5C09690AE0B7D2B5DB7954F1D8BD424C621CDC9C827684D31A044D4497369EECF2605BF564FF3718300C5C5024E09182A4B62F7D6687F92D350C858467C3D9F6C72D0B3813077E3BCBC2C78DF52F8C68251D1C0125D00DF38F110E37B1A0C65637C8A24F8ED16764B17316A52E2024C7CF8FAE55D91C3EEF3195B0FD252DC46B2D76E5662B7E40FBFD9D8118CADEF62B6D56507F39466D0BE45038459B5EEE6F5749A92749B1CE1172EB0542B8DD3F27F5D1BC17E3CF69F202762B5C03F70F1DA7D89E41AB2A7D8BCEE8F846857BF95F29D3F4D888230A340D7F7981A9AF6CE82173C7C71B36568E145D700CCCEABA295CAC9C69617C6E158D7564605128C4DCE8957B77451F8878488AAA34348551CEA755750C065AA47F784D14E9E1B25582824013DF6AD915F7D395B5EE2142D22AA0CAD31816A7757385986BAD4A1195C1CEF18EE3531F1C298F7AF2E9877AC5F8DD4F76A9CB29753833E8C292CF37D015A1B5B1C131C45024156BC8D638F1BA3A19DED7E6852A65CBCED3A595C503FC71060505AF3070E397CB5F03AB111423098B178540C65AEE0C8BE33097AEBBE2F577EEA327CA046466F06A73EB5D91C671C4CBA0CDD679028F0492B0DA2713825FBBD42DD59879861AE0F9DBBCCF335720A92382DB8BFE17A01AF4F97C34A6B486367D25AAF2286FE1545E54710F58B89653373319EE5BC5D5EDCA7F14D0FE0D39954E31387F0844D8BEAEDD651CCB43632BBEE8AF997FC9BA593C30F18BF284975D98CA01F857203E6F9F5E25F5929F585A987FA341FAACA1423ED6A351CE016AF1C9B9DA9B9E5910CBF7B9798811B5D7CA1D0276678FE115D0500EB40D86A3A2522D99C8FB53514FB484050E0D101633A93F2899BBFCEB94EAD7FBCDA74D91014221A1A0598DF8770446E5579392AAE1C4F2250CC42D28AED00CB35627B075E60220C758928E42636A182ADF7FFD5D8E9A03A206C99CE804C4D9F40DFF3AC483A054F618855E4D51BC4062544E08D8B25C897BC36C04E99848C2EE7A72D39CCA76F24070264BFE21BA66593E6621C3CBBA4E1E0AB99B5E2E6E0D201B49E979CE896BF51E82AEA17C6F5519688185F193620DA4D8DC95203E4667A1A9FB1C2ACAA44ED6CD9ADC08BBB692086A0B7BA6DA3C8983C700A9266C1CEE745ED5D7BB1B832552E7433E940D3E554429C985AA07059CC32F481E7900242F6FBE32F5A9EA2A13D3741E9F984EF247BEE07B5E9A85CC1FD5CBF729F67AB8EE01DAE3ABE7DCBB81B0BF372BD0AE9AE67BCBBDBE2EF26542655850683DE5D8B52F6A679DC7E55BCD7912CED7E239DAFE00AF9EC1609C000C96B498951F107A141ECA043CAC08F78EED0525B072E9AA4AB8FC5DA8AFD6AAFCE3A32774D321C78D0F955114D25C1411610B9848CB7367F82FB682C3050270F65C332BB62143757CE9A84B829D070AB783C33B7F701228BF40157EC8EC80580123E6781B3C80A1A582AB6F1585BE8445F3F959E2E606B63DDFF45C824FD81140C2CBCBE185C0DDD4C50BD34E634AAD6EAB672140D38B50657CBD6E872A1BDCECE06DAFC08FD72B46511EB4A63DCCC4C54AE3708F1159ECA4F94BF8FFF9E6E2BDF0B04FD1FFD7F50AD0ED624377B2ADBFE14C488AD0C4AC9DB65DAFD0331BAEE6B539C439BEEE268EED1EEAD67873FB5DA1ADB11E03DED35EA8D386F64135BB8C819DE33C50921556D3534CE6982B3A1F6FB6331C7FE6CAF66974E6B879E2F4AFA2F1541DD8786E09633AE0037BCE2EF9B45AE08339F1B268EC9CD8799D75AB9AACA69AACE1FB475D82D94091D70227739F97A846E389ED09D6173CE5190079AE4B25D1560E55E2525CB4CE551CC1468E14F70E6AE6760872D0F1130145248AA9985CF1C98BBA981968E873AFBD7EF1BBBA73486AAAA0544426A05173B37479FBC92386AA6A3F730C4A66F6DA02A100DB26F45292269751F71216008A85F41A62A6E2C4336247BB97217FF2EE03FEB39110AAAD7CDAC18C45ABFABCABE35BD782BD0894836EAFD3CCDEE6E5F0764495F90CED7BEC4A6F326B1CC821AD358CAE6607394DBEF8277A747623E3C611D6F74C694A500A0AF2D6AF2572FCC65CA83E75C4B79D11B11D369EDA42E94E93DB23CDB983BD417F9A9C24E47FC5A025009C006C0215A55F26D87879B09DFF63A73C89DDAAD413538B40724DDDD38C6BC22A1F78AD0681A09DFDE3DDA54A9CD22CE7C93FC58947F778EEEB8D06CFD42AA2B1D4F3D199138F10C9442A516D6EDB41F26A1BC05B77D8C5A8793335649CCE58A34EED7380E6A1EEB3688751147F1F5F9B524DE19AF62DBDB0B5A2AA725823C82E1BF542E94E43D44B771880CD5DF92C11374FDE5E9F2AC43BEE0AA6CB4C02C5B929B61FF426BDC4D9B6DECFB9A3BA877DBFB0FD5C614A27E75102E6915EE71E1560B189DE43517A9C93830F253D670A0CEDCE8A5517DF2AEC2FAE1E20EF2314A5E464B793A607969544F98A7DB63E562E3696FD7290A2AD06681B9C276DC4FEF0694F61350B4FBC63A4DA4A59D5110016C7083949DA5752DAF8CC4C7BDED6E39A88481AB289AD0A6D1F1913A86BC89C16D0FB3E43960232899CF27F5874A26C866A32586957F0A80A1661ECDB61B7F76F2C15D84669B8279B3F1C7E0583EB1E912A1C6160BE42E1B96E5356569F148E440165AAAD32A04DCE28B46A630E1FBF4E8FD37EFE450CD5C4613E94646A5A9F01118125909836052CBAF8644034AD4BBC1647FB7FFACF6704CF7136490713240A9F0E86F52E254B0EA581429FEE2E1E4CD2F282F9C0AD123CDFB9F2AF205573A8435F7D8353677C395959E09829D3F9B6933D3325D01A70A3C3FDC68E581A158019895F2744E0E171B470A3C5E39632885A9315BD8200217E46A6071B8E66B5031E2094E866401218CEEC06C8C6183748B8F60E3B1FC5FD4A6CC3497EFCADE87850A590530475D4CA13BDC7B13E44FBE818FDC491FB4030A210A109F12BB6E2F64B60E7A48574669C8CDA3E6557E75342116CE9A59DB815479BD7FB861FF2B053256FAA271AC04EE5EE143A7852EC59EE4802631179361AD33941A634847A21ECFC96912F74DF84883FC7FFFAC37C6E1A0E48AF23E73EEE3605F4D17F16C38938D49C27E192483AF84280FA77A23C7B8E908D01A0F09CB77053CEB5848F0A458F554062300CA0DF4E6C2C7997246B083771ADAF85FD1079EE22E02DB80DB0F3D155C3BAD01DABE085C4333145C5FF32EBFDB182319A95DD67E835772B837C671788008D33411F71F47FB8713520848C1C17CEE2D3F42DE37DADFDB6537B2A1282A5F8E86DA424C7E4E9BA3C3C4C59AA934A476983B0BFB68C206FE3479661A3740D6A2F31327B6EC87D873802F3239FB1345D1CF4A300C9902F70AA60E0DF59B67F757FFA7CEDB881DFA8E8895690A6FF62DC9F7E9ED4E1B89D8EBA5F61DD58220AA01569D21445030FB986C42C8129F6DB67AA3872BEFBAB39D3B9DA164E8BB1AFEE18A3CBA28EE05D584FDCEFDD43B32445B933DA7015BD1AAE81E3B6B325821CE7D2089C8DD33BD4E4D221ADCC5C44D4A2FFF8DCD388AB6C83BDFB009DE53B8A2AA04B71BCF16A376E12EA050622F7A2C30B7E4DC6AA6F5CC23DA26E3B1E88E91E03EFD791B6556C21239C3B09BCE573BC458EC362DC08AE80247615DA2A1F4DBE84171EBA7654EAF3F74592D1DF2F508FC24C8C5FD8D6336E11F1B46159D20A94B85D89EACDA0960DDBEDBD119A2641E83DC9CBBCDF030893B817D95C49BC67BF8697923A83B920C4D1DFE07CFE1AF025C0D522CDAE0034B316CF3B6D69181611DA2DE7DCC09ACB7F175EA758B", /* encrypted */ + "9A667A522FFF6AC3C6D2D1DA3C8F4E1480E7DD2CEC4161CE724CB974C04008D895E9E988B4DBDF5A04A44BE2212C0670D32B6DF12DD634AEF9A84305B4EFF85A30B8FCC85B1B16AA7799BB419D3247F0DE25A10E0842E3784B3E3E7225EB527FCFF918CDCB131BAEFF914C890017D3765A2F6775CFD36D0F3B8BAE891B4FDB3F1FEFB4B5F7EB40B7039B0B49E68729C8583CC7F725C29746C54EB2113ABE41720523368F137D120F2C26D73527388CA5F64A2DA69976F71C48B641FC64EEE778DC04D1BBC0830D917F9FB8D647E0E7C523E29908FB0504A9B907126CDF2E6A6D12C0CE918DDF141F6891C215792AB008535A8BF2904CB27C3AD16FED9EEF3077A62667B75689E96B5845820C1077C73912016D8A9DD8D528AE05D837AE31CEBE75C30F65EABE90CDF8EA54206554D43C45C0A210CB55F779B30675D26D2F2F003AB45E9468D398E21FE75C292735A2B53A380CCDB3EB46511DFAF9159B0C48EFDF532F7778616DB02F884A53C734D1267C76A36BB11AC3B50D9CD9A86C5617E61FFD09BB8212794FB943A123EEBDDE6DB0CC6F238BA2428DDB16CFAE3EFE18FEDFC7C0C7A3474B7108E164E0DC23C9F6890CA019DBEE5B4DF48110E5DEFF9EFEFF12123B5CB6295F96E75D5133F42B1B4BB1E32AA408A8A32D50005FABA82DADE16E0F82C25FA84FCAC2DEF655E23677548D564457B83B4C6F50226C808C2B712545596F8452302D723D5C06D64046BCDF7AD3E8E68100D665A87520D6611E8A7BB8634EBD5A7148687F19B6EE1C9F2CA905D6E4AD7F427D4EA5785817CC2FC5D3C806CF5D463610400223B0EAA0709ADB91559EBD06B52CA8C34A226D18B8845652091ADC3402A1F392E2DF45703CC40E880DD465AE99ACBAF402A3573B50CF218FDC628A2162496D299E9457BD2D433A4AF8FDFB570B474C493784609957BCBA9DF90CDD9EF4EE79067924842E34F28C1C2FA11FE4646EE3805277D905746C36675AB094FC1E273CF82B53B275E73C5C6961C39725E930DBC9071F61A1DD48FF5374C3BF91FEA59DFF80984C38756E9F9CC94FFF401B214A621A5BA83B16F34238664D7E1D13F84A814A11319EC291304174890D88C78393B68D1950B75381E4A948AEDA3574B5B32B8E6199C0071312F04AC59E26BD6ABCDF06F037AEF94AB2D386D33AEC07A113AF3ABD1EE001ADF425811B93E53C7E74E156860A49EBAD0AD8E22A4756AAFA249467E8DE512919CD5744D6F4847C410B83AB7507FCF9A3BBC803A91C596C289D687B1B5ECBA9924F18C75606476FB102984FD56435EC3D217436A8EE5DCB936411E2863D30EA9079341C52844DDE7A6BD08228C83D09AA68B0A1650AE9966C0C57B719E056ED56C860AD2F7AC9F08E65912C11FABB3AAAB451D0CE00DC8269F044E4C4A17177D5C01E1175D8265C3A489DDE975A9C7B4EC8D755296433B400A06C779ACC27178ED3CFCFD62265793733D8CEB27D95EAA026176D6BE7A9BD9DB1EDDFBF9C3C54A9D95C912EDA399DBB855BCCB24C3F23C057B8D253D3C671C8339202D75B1FA18E0AE277F28FEB231E77A022D74D6074B260A0C2725736830919869F373901F4B4CFDC0B363B9F64A91471CFC1DE24FBE58A27F8D83B72A8E0143D059E6ACEC69C8BE76D17FF06DBB0D2330AA003F7E14180B18F913E9A38CE1405DBB4766F0C6FE24C189F7336E561C68C981A9E9636D8228D57B644671E012D472EBAB91F5CCD30A4140ABC3821FF7BEC79FEB67A56CD22874AFDDF2E514B188C9A70C27706EEDA5826C2030ADCD86D3882182572387A2D35EB5505E9F953F2EBC4EB2C92A3F048B68C56BBF3597A3430332C6C508D005B3DAAE499AC3094EF0542E59662835C2DFE02841F95FF66E51E74730B332DECAD05EFD05B2E14DF60D36134B661EAF9F8B0E4CBCC2D8D1A73030F46977D20913137FECD63ADBB8042F4174AD4B0673ED053944D4E25C72D67D2DE6488EDE2CAABCF4FD47841BBAB66263BEBF463E0F15E68D44491D92E54C469278C4BF8BBBDF5B7ABCC03C8038A3EE3743BB389EE2B39A62D9FB2AC350CF4D14B9D3798529AC8FD38F66AE46ACB343605864D1BBCB81CE74FF3CC302A617067DA5164060C6E584AF622CE049352E96C1EAA7CEDF8DA95B0DF0EADAB9FDD415A7B5F5DAC1207BEB2D57D25F10A5AB7FBFA986118260D228089729FDFDEB48C67A1A563DAC47E7A317FB9009E138CC318648BEEA43B163DF8026C1FCF3E0370EE1A103F3089D1373FF063E65CBCDC46D7F6E6F97E7605D293A92EAA8252A5A93DF4AF97401AC7207C99577D7847D013B7379A8A99E96AFC80C3DF532F712E4D985D0470366E85DF92F4AFA81EF26030946A287B4F4C71837D4FE6EB375C6B278AB675B48B5819F32E026E2FFA9C5D1B671AA5C5CF82AA45E1729F2E0CFF32EE04162AB90CBEAD81B033ACB569C649C615EF014CE4E6F48B20DFD1F3174E7327EF53B43946257C799D035B01AFD74034F9CB4107173C083CD811E06B365865C45B7A7DE9AC27F30A30C503757A35B44C38A167A10B8C8000FAFDC49611E22B02BD012FCBBDE553DC0D730B084FA5FBA19147E11AD88C291ED4BAA9FF502D3496F5FF82BA622EC18F297CAD72E68256217EF678CFC203F4804DFD6F459B340C7533006D90BE6BB8899686DAB0C222E74D7B48D0E1D07C919EF2A9BFAEA618FDCEA90873052DD721BF9FE48B4F63853071CDF3DE6A9D0F6894CD27863DEA4ADAD8C2969C1F02B5BBB4467BB686339BE2EA606BFD83941151FD7547C228513C79791548E7CC6AF8E275B7ADC8115CFB531B22EDB5121165326C2BFFB64FC1FF2B7F26186A81AB4CDC05629F7286444F040FAADE27775AE4A77B4EA02F7315F75F908BFEE1CAC9AB0745DF582D760C3DDA334DC2BA71890D0DD87441E756016EC40769D086A284B8CB6C9BAB6303A8115843BA0EF2945D7AC8FC4756726C83BC7928BD807F84E18EB77CEC5C9B3CC01956909A3F32C0C019079084E278809BAD522A5E91CF428A8CEB301C5EA4F073354C1814183FF55E33E878726A38766E593D5CEDBA9484DB19DEC09EB962987990FC7729E968F3FAD3B85D28CC957DFAB7F63E87E03B1B9618F78693715BBE3DC05F6F0EC50528A943FC2C56589626DC34A9CF9D47363D50B7D6BA87F11A66666EDAD38854C1B00F78793D10FC73EC8BFE0266B54F870074107F49530113ED6FE4061DEEE7EAD9F01999C43B89BE85EC8B738CAC93661F568311BF50E238DEF8B89DA4EA5E808EFB157D340B448873C5CB779FB0C3C2D1D5C6307B1CC577EF7EA8B8EF5E57B18141A3422BBAA18F713BB2A5D2261DCD0B61D17132957487688F9F7A2E2ECD9C17FA74ED4E678AEE4EA6D497B0A0845801BE619FBC020C7EBA56D893888A0D786F58831C9C3CDB11019CEFD52FEA8D881FD7C0CF4BD4F4F74D0EE8698D6E7EF0E6706D6132D7814EB7BDDAB036043A082388887B6A6468C90DC16399023B86D67475B68DD4D7CD2477FF84E52984F87551A9AA29FD6EF8FA8D5B65D188E3F56377078747E7C1CC5703F458A9ECC4EAF31B71069DB8AA72169973E8D80D5418C03E444DD30DC11AD59478871936F4457FC75501008F1F44A0389C4E0F2B53750D68922DBAC9BA7C6B46487414D8A8143984A20FC55FD0848EE33707F57ED37E1027534037DCBF77C39A170A9E2472C30E059B3AD66CB8B3B1332317E717BAECAE722521CFBA6F851FDB65A5A8A0367C91F3C8536FEEABE8A6EA28477741CA2ED46D5CC2C544EC8C133BE1ADC0BAC1B81DAD6F619703F0F753FAB814626DB24E817816A6DE49A0145FDA9F413AF354B502E3716F5CD418A13B3B840DE0D5468E03442F10116444E7FDADA01AB6F55F2BCE170294763281E210DA22F933DE0E506C1D779433D29EB1A15F78D7DEBCB600FC93F520FAAF367C3C1E4D684DB1464D77B511C578B0EFB212FBC7F439C96275D1B24DB6FD17CFD0E4BBD1F2C99010B6", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EA90000000000000000", /* iv */ + "14", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EA90000000000000000", /* iv */ + "6BA969E02F9D1AE856211BD963306A92A8FBDC6AB79FBA3BBA185BA2EE9457090111B17DB4C808F1CAD58A83B48D2BB69E20C431076A0E6DB7C528FD9E701551686F1463667A2A66A3DEDC3E52F7A11CEE14B0E25F39E59A41CCF85FE04ADE5E1C094A274D684EA935658845B94AEEF8CC00B14D685FBB9818E87959C5568EEB58050752A1D9D8F1F0E157C72710AB4AB66496D5F81D9EAD4777DA6FC3727C57A1E49FC3B3F0FF538171DDD87520D27A90723DA53FFDC036A230547AD6A6CDC1D1996D719005115FE71F09BAFA3D0DDFEE16995B2F6AF6A65A3F951146EDE7F8E8A903CCE523171EC7A63C44825078D975F763E0DCE09CB87C460FA123BA1537C3EC3A2010AFF55E9B2F81DC5B9D2B3911D9F5150CAA9AB85A252E513883F45A3FF727194B758AC955EAAF316C07B141A32DDDFC0A6CB3077D1C2F4E75C26ADE0AC4B6F9FFE97F4B3565972C6727BF10B8DC82143780CFAB479A9E8CA0D274F01206DD52BE8320032D2D2ACA6416B5A1E738F28E46CFEB62523F8D4D67AA61BF7CE73A907ABB59840664DCDB5F55557C51E959C0A4F13E1F46A1F9727044F5CB2571FE4586C8AEDBAF3AF3B05592252525E6F1CCEEB5CBBEC77F462D228209FDAFCB66EB0C2BA21DC870F5339025F1A40AEE3CCAC8112400D9FFD9EA981D009ECE724363FD10D2FA5FFB94290F587F86B0F9C2E15B9D4DB5CAE11AADAD1A8A421E61E8735B7A60ACF588CAFC58DF719C43B0088FF57A4CC58945B622DF8A891379576B07C22D8ADBC971489351DC5E7D205772B196317A872CF589D0C7EB2FDBE20BE798E2036609E7D900174FFAD7C3D7110C09FDDFE0068839D2A198239F58FB1CEAEB703AB60060E73204067969EFE9F08052D744C77904B10A44018E7BE6DD961D984A6876816B322BF1AA34CC1AD3CF2CCEA0639D8108AFDA28F3FB7432FA0D47746E20220ECB720162CA019F789531E45F6534D2A01F9A887F410CA40DCAB3953BF4F6064CEF5415B924A5DF1C724798DE75E023CD1A365C2F2E3CE7DCC3A3658DCE3CDC982212963BD32C5642CD2A6B393F3CFD604BB2538C89AA7E551601BB957723C62F2FFA2DF8CFDCA2C8E008FAF0D81561C88FE785D7068611A309734F698E725CC1423D09546022336E0F2FC63E86D3708136CE0220D7321B0B1D365E670884BC3597B9C32FC82D0AE4EAD117307B1A2734F6ECD00F3629D19196926CBCF85F0D5E0214BF8469F8F6A2DB5F310F578C245617DE7AA498490620FA2502DA8DC8226492E3DACF01F6678FFE797012348C2BC81D07C60113CEEA967CDB231C39CF8C54A4A9DD1BA5516799B1111BF9BC88FA96B31FD455ACCAA6741A02B627675795F5C257FFDD3451888BD7AA5640E9692172654E1AF6AB45CD5EDE3621C773E6949868330267AF2690248DE28E2A83103539DDF491D0ED253C91E42C5670AB6A05C6C087A93041486AB92EB4BA33921326618B57FCCC4A0665B3957A43413640409FCE0D7DC5D138E378B9C4638E53BC02E1A464A9FCEB7F4E9CCCD0D089578095D0BBBA8B255E9D6294D11398326327BBE77FBEE3A077D21436F8C4A8C27A3BBB8D8043FCB6241374F8E0D9CE0F4E4E733B8DD3B4B062AF75CE2E01C955C0A3561881895BCF6EE56EBC7BCE3ED7B06727AF4A62A691F6746BE75CEF1A23BED455CEDB2EEF4B1E02DE88EE5435A13A0B3A2FBC8082E72D71F831BDA6D43CDC58BA7309C9B5F93C6AA2041596C34AB52D7CAEA7D0F021CDF3C938024774143DC11B358BFCEF69ED6C596B240045BC8E7D493A33CB1C825CC632D42810E4E545A7A7DE4F4D553D9C59C1A9FE0339CBEB98DA62C873F82FBA80561B9E44DE492B00A92C46598B54CF3C77C2F2DC960A4CE3081CC9DF27C99EDA70C1B2B27BD1980645C4C0BA41142B27F5D1995D5C4C43DE5D56494358CE10F191BCF7B3BAEE48A73315AD60996FA0347166CCA3271FD5AF932138C24E48E1A449200A7BEA8364232F8DCEEBD2421B7B2E10003F789BDEFCD14D582B132AC2ABD9E80A150BA81091F379674A71E090911D2DC791EE1E6AD4E0C04791EE912BD74A27F5B27C43EF33A5815EE7D384DD750BE4946AFD23EC8792418207413B7D60645B024B9688FBD3B956CB67D34D7C510F9D7E202512FAD2619554FD6E598D8E94E471FAB79BFD5B8D8BF4F535E8829A9BB4100615282C00EED49CA3802F16662701DF2269FC3F7A5F9AC89DE6EA4948ED39AB030C7893225333868C99B7FE63094FE07EA8B9A5A7DC52E6CD266F357C1ABA9BEB197739DB8791EFAAECDA4A4C50EDB63208EBE8C40DA3AFDACC53B733096E2FFB3815CCFA1E0CAD22A61748BE219DBA4807B5410EFFE2ED27908D6D15B43EA1050BE4B43C7AA1BB3E99A10E9F3499CA698699A1774D6BE0F6FDA39772C11D65A5507A83026BF37275D7CC4B6B4BBBB45150C68F4BDDF8A44975A1FEED04C155AC07C2AC9A4118D863855B5BD0D4B540B3629674DE220AE5131DFC1A7F3E2D6A9AD1713D614D0AA6CB4AEF59668B1C779CB369F06E160DEF9664F51A39C76D4325B0BDCC293BE06CF2E998ABF71261F7BF652E04BB76DF479D6424F67835C18329C3C98DE16C1226BB4A97A078A7D896A6911FC7612E5C1F5EBFF5C88283461AF68413161752C7850CA6AEEC3012B03EC3E97FC4A8B86A7B82E5CE7152E3179EDE966E687BB55BE042FB0F56EA16B4600D2926CFCEB8B7E2165D86A9C581C5B24E646CBA51EEACD7E38271A2427B5EE69BFD6C6AD477B6A57EAF922B5195260B27F6B7936184EE89CFC0984C4CC48269D08AA8D1C579B1B434F1F60F2DC24CEC73EB02563621891D7B99AEE52B6E0117787A3FECC0C9B936D67868F4DAB1C73D5981BBD8A23D22FADD9D3A01BDAC8BB32C9626966729A9EED7A6F26DA68112956F72C6D2AA3A4D830A18BEFDF87B519CB76FB87CA92CBA01F8AFAB03D6BC1331F1D604347542AA8FED451B47A85B875F7716FBFBBDEFCF36E3E4236F61F85D61353FE1E47BBB705013F923D5D571A610B6FF27184EBFEDF6FF08C94983C4D83979D9B716F78DCB8A4DBCD6F05C4A7D0755A4B2D8016C641DAD04CBFBAE1891B66E7B74F0F28CC8359531FCA1C04AA15224F3F5C75D091BAEEEA2FEF9E342DF7A1994C9496152B84C19E3A3EC9FD367D94D64608D026CA66349D5435FC1DD335FAB0DF2FBBA10B750784FE0A28BCD81867BD70D0D7DEEBD61B9C27D5C07BD68CA54908700D28195A5EA4C521D190BACF49259F16167FBD9EB55FC7F5FB2EB75FA2545A95C798FC94128830A6AE9362954173AFCADEE1E30E00D91D713D5A4934EE923E9CABD8516024A579636AA4E639EB1269C4F03251848640E85901D4125FB2139C3AD1B5BC0E4FBC18A610187242523246418BCEA3812602D4AD5F53D7AA6731D423C4501AF65584D89ED22EBCC58412D029BF8EB8D15436B59EDCB0C01464E28B84D9432D2905551BE97DB463D5D421DDFE2EA0CAAF725ACF27BF7F5032602457822C498FC5EA91D5437273CE959C3472DDD6F2BB73F6AB95DA8BC2032D5F34CCC395ADB528250E307874BE63F07FACB8588061892D9EF251704684B1450DC4FECB130C2BEF6FF3AEE58E977CACD196FA53C6542688F5D771F2DB8B41690B48E422A512B4B9052E0BEAF60DDB7E73C3F50BDF2041D36AFC10195C72AB75648233D3D5019CFAA6B82C7A098CD97E14D265E0DAEE502FA8A62BD273E85F6B8931B217BDB35D73F300F0B8A932C269B2A2BC100DD8D0809CE62D52F11720823565CB2BF6628A8EE7F75689F7712B37BAD32073E098D23", /* encrypted */ + "9A887A522FFFAAD443491D1FF2E02FB9B4F378A4A546FE2B9EC4325C969FDCE0609165D3AD2CFA059A805126B72B875822F1EC74DC6662488F19696EB54A4DCF129501DAF26F9B4D995E3BF481A818159F7F89315DBF2D25D8DB9763C985C83298C7374A61A2D9DBD4902DF1887C8901D15EA113843941571924CBAC6D683A5F8E18647CF5AA3C246DC433CDA10B76B4A2BD234D6DE4A66FB5A784D10666C182482387BB824C32097255E117A61544691DD5A20FA84B460505ACB0E685E0247EE3FE5835E20BB6A3EA7727AEF816D518FCA32734A5147E9128DB89368F8C6EDAC439D548B5554ACE39F82F0249B48CBE6139929E7385BC233AB07784606D4EC8FFB52844CE73269B2D2506B04FE9527E7D940222209A825A54486244325774956AD71A95508F5309EDD1EE115854904A3C9B5C377E9B43CDFCBF22F9ADB9CBBD755BBCBD9A34262E822837B3DAEC05213978538B9A43D4017869A6B0931F62AEB7EE601045F998D6DB4FD6B6E9A9995BE56D2DA766B0BE0DB3EF35D0FE2646D8028B44B5F6A8FBE59E4E975E2286484220E3D867FC5BCC4115FB6617C2177A5B7F36FEB08923FD9157F253FD91AB6221E041675DE4D91F60803002C2BF45D642228478DECC77B8BB603692082F3B4E34AB9709B4AD7DFB15FD8EF7246EF0C13A63B363E472938D04E6F3AE3B806EACD92850D92E6F8D9C63A55D58A102A02D12CC1EFDDE5729F2F587CF2FFE6250D4AD9F3EF4F361980374231DC80BB183D19CF1D5A5AE4020785B7CD3610981ABFF88D49566FE989E2A54196AEFEA83BD16C6174F57D0172140F04076A8E0E786E6603AE3F1B326322E336933CA0C4163994E654DBB1A678DED926C2B39160B29D6F85583E6C1DC564EF1B2E852C22A446130E3B3E9507A0978526DA1360B9F1C76DBC580C95D2F4C20DB59C35672CAD168AB051EB0EBE59766E8ED63676091B2BC118A9BA9E92BE7FFF3893C6967AFCAC082EBAB90D540DEF34EFE73B944DC9794D3E6267CCA6746F45F7701726824FEC860623FE019607C540CB741F1A27E53AE85D2FBE2B449B324B57CFFD5826393994798E23C3264D96FF417CC93A92932970C157EE3849693C831FE97FD83C9268EFEBE4707988CC35D46972B8D50A0548A870081DD16D7722BDAFCC098826601D18DF384ABB95F0F26AE0F8E5A263432ACC2123FC4ECE60B45CEA322E665D8597624D5E458DD4EFD668E99D80FD84E4BF64B9DD34BBFC82E88C19D8543D97D9BA536E7F10795475B3CAFE2303209FAD11A87423EA012270A30F14B272A873FEBA5E07ACD0A86102B6181FD9BE61318EC6C3636BBE051439B44053B1DA5392B8A833E3898BB7409D59B8F279FB6DC24FA71519AF0FBEAADADD6A92BFD40534EB35E5AB611170CA45FC07F19DDFF3517B3EB68F4778B0A885E2C575A59E86427F93D390838FE094D58A412D6ED26D98C2E898FF35F7D95755CD9B53CD142ACBF3EAF09EC4C24973DF6CCE2F5FAEBC4A453AD0C19F97BD20BD1EF6E58DEC0A964EA81C7ADB63CB484FC941030115AFC81803000A993D6A5FC799715AB5118A0BFFF91E1621149869CA8D0C88B24EF98F9369549774E8C42759CE2589280FD5792B2A41B8E4EB12F54A9A158BC60BCCC217D5142B1E82773FD59938FBB3FF1CE1BF7A00D2390CB3761A15280E116BFA9930FA9D6FD73F8602F78D862A2705148CB3AD8009D182FDE9757D874F0F34167EB21F12F7D7B88F277F9E8E9A1BAF89FEE6B4A001A7DF4D8E4E8F88A5EA6AD0AE36B9E0F8948202C18B2DCDE7B74EE0581FB851F08C828CD320A864CFCF8260013ECE5C859D1BB36244DC3CDC30D017966CC44B23D903649B42A05AE0124A813118389F8E69B10C317EDCFF0B079CC1E0B9A2D9364CB3051BFB799019FED72A783DDEC2D3096DDC23D9FC24DDDCD6B313E7931AB457E6F400A260FF183725759FF6FE6B45CA2C3A26AEAAA2A339E3FA9D50B3412DB9F3BC2EB48724D0D0CE0C8A26364E5FD75870E650D1D00AB66D28F4D2870C089FF970ABE5BD6859E4F1384D9C260156C12E9EEADE48D908A532F2A6F974D20C3D3530CD065A09EFE852ADFBB8E129FEA7BBCD6D23B7948F58E0C6E05ADC0743707A06C47ED96AD4AE945A63E2CC7157D424DE52A8081543C679A994D9F5812A1626E299212B62C24D5ABE1FFBF1690F8EEC8CB1A256361A76843D0C825833558E01AA90C2C6293A706B85ED416BDF1AC268557EF854397D42838799959EF61A5E4B8B794B19C0249D75BE6E0024BE587348C95D9E02E00B550BFFA722B7996F3F457ED9D53BCE077CC1CDC05F7168349926B0E7D64123001172295059C486D8E319150F32A2A73778767679684D8BCE69875CA5CD8C519302FCBC3585F88C83373B419C66DC1A839B1F1C83196FB9A296EF3A8E864C30FD6349C9ABD0D6769CCC2F93BB89F2074D6C35FF2226F956BA9D0C20300A5D72769908B8FFC3F2B9377E61C0248A978B0A965BBE4999F190690CAF0FA088BB72615B91D5C8B99B1537CED909C35109C744DF126B84F47F575A85FAF531C6DF4E343AFC700F37D4DACDB5D1C606A61895121ABC9BE9FA873D5E53E73C0DFB6E8BB6ED94CA076FB50CFBED15A1976AD14B81D94C7CA1E593E6D588FEEA6208D8165E75FD0B7E956B9133B9342FAE58E4101DF008924E2C27F204EC3CDF3E599AEE9D0439983049370ACF7F39F290FD917FE24FC8E2C8C2906BDDC1E3CA287D0ADA40E29C68A15B97D9370AB9F24CA37CAF2E3659D0335289F9F66578F84217EBBB2A1324B7E6E8FADB927A7006EA119B7DFE360FE019822FDD63A34BD213CCFCF88735D6E22ED3320FEB8FD88511E398E078EF7EA8898DD1966460EC0F899F3EA9FAA751702EC291AAB9BFB74782FF289F853C11C7A52F25A18A212F0B492E18D043380F6FF6C35A5E9B5CE65394A494E6E8DE534E5E75F8C3167631C21D0008E7001AEFD874CD18E1BF3E77D2568C56DD46614DEFC1842150130C46C70ACB637217538075D300C56B8AE6F760F73118FE836F59E888F6A4C6DD919692F68AF4FAD379906AE96FD5C0ED78D35FCA010A17484D8861736BA5E5A29276989032001B268BD65BF8A6AE1ADA621A0F35B2B138565B1CBF279EA6C8D5A1285A67448FDE3B8F9608AD14DEF629532690D188739F809AE240D3EC7EA3619F020984950CBC82DBE1910FEA936DCB9DEC1AFEEE8B0ED76B6E3DCEF891BE6D1B22FF48555F4B3C54F3B7F6004CB51157424625D339B200C773BFB0622133D23CA62E4547529FA48143BD71D6705F9CDF84C6C990E5CEDAA92235EEAEC3A0700AA9BDC79D4E93D757B4041623DE4750E1A60C3259B594C0512C333E0EAD0C6411649FCA5CF85757401C1D324A46EDF6D4434F41C8098BD96E233F05F7AC0106EF4581BC2E30C7E839858934BA118BE4D71B6B3AAC5B3AEF8F6A5FDCCAE2B80E20F8146A36DF2C8D76FDDDEA539F38AAB0A0E2CFED3BA451B15AC66AE4BE2865ACE3E12D96AB47A02E4831406C047A58F6E3E2AFB68A30D0CA0190D201B007D266070D37612F87F36630B3D5E8E472CCA3E1760AD8B52F7B1C92B7875B397C57EF691AA65739C8E376C3843A20F484E8038C0F95E54686240CC363AFF1B2FB0A8AB74E714651459D8207372112275151E059960942CA1818F7F4434348A7BDAC17F8C0E71D13F5CAA75FF28EAE5B59698F1143DC1FF4A93A162627EA971FC64F3FFD8BF5478A3C3DAFA43B96D4FE1770F154FE648D6AF6314FD6D72FD18AFBB1205773CDBBECB45D00C562C7B24613911DCDAD6237284A0", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EAA0000000000000000", /* iv */ + "9F", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EAA0000000000000000", /* iv */ + "6B487F77E3D59D2B6E208E6D422EE01824F2935027D0833E259D6F5862B57C7815446BCF67E196DF1931B28FC4288FB77E1A47A30305AE3F8F9B39842BCEE15A2699A685051AF95F3B1950B7A3E318FF5BC796358AB276605C96BDB5DE3D935202FBB1DFF52A2A5328013279DC489F74469D960B3534AD28A00E8602C162AAAA53DB52EA0E98C11A5FDCF322E45858981F37C45B8458DC49695655B2B51CE7779EA47978B47FD2824C5575AB4D666AFC280EE9E6D8E56A02C9521FCBC12478152FB43F2A4BE3CA6BD941D6B252488FE2ACAF033FD8F14F2732A0CBC1975B26436B80F4FAD1C15A0C8C6246B096F7DE6DFBC53A7E0AE0131D34B75A171697D3FEE7FA1080A43650C7961F913DF4C2C4344BFF6C5EE40415DE1825203D613B88292E7851E4928FFC1185AAC7D7C29517643D3B0C8D9AB8DA8C775039F0C0426E410CF5EE44925E310694422CD2A47279B068D08C2B54C2D932DF4160D75A132CED5ADB1A6290D79A092BAA43516B3212D0E58914948B6439BFD75C70F8E80A40B7AAFE428705EAA450673AB5BA0D142837B2EAA257F9FB4DADB3113D5F4004A5438310AEC4CF82E37320FA8157021BDDE9CA6234DBFBDAA07A751CAFF3109873AD373EBAB69E52D111026E499709DDE2808A82C2D683810D80211E909392B09950467F0C41D30B45E677206013A763E8A4CFAF4491870FDC0CFFDA91201628BCA01C8EFA06737A020DEDC19379097F2E3BEC0D130701CA45A57C8AAB951542E731D54A845EB2CD5965A13707DB13DC4E1276B6C6DCC3A9494C5112A33B5FAC29A866318A3B9CEEC4600DA233F60F8C720B728991E4CBBE61AA8FEDD2B9B34FB4239B72530712F6B6E3CDE2A4D84BB369EFCF5C3A4A0E7AF02B9129961DCBFDFCBE0FD4E991476426DD11C9FF734EFC3D229429ED719ACC736F9479075E60DFFCC373935EF03764D209313B08DCEF3ACC037816C96FD641563AA6ECCCD9C64A434B19B7A9864CC60348A925A92EF48653851572C63967A92A1DB1507CE350AF7C2A0B76581C584EF63D484E5DF568FBD4D2BA66284D8F247FEFE75F6DC903C25909C021AD67F41D1C4E9B3A79EC0D6694D307882B5684C520545056C8F55D3B186697758D5735946F3DEFA5B63F3921A24F4E01B020120D126CC2620C0600CF9BC5978C1D5EC983C14026ECDA1C3EDA965C8AC357E3AC872647DAD120EA43B78CBDD11DE99DCD4FA3EECDE1149B06E2D8413A4E450F4FC9B0070C673408E814A8C9BD1E70780F1F1959419F2F89E1EB4190D5ED656F7F6D05A369E8695851FCE84D9B03C511831469FF82990F467C7847031EC122D88468D24E6BB4819FBFB585381AC567E317FCC7E0D4FC383D234C1705ED0D2CF62AC94B7C038FA0A264C4AE8876C77BDB111BB042A5B533A9622EC8FC9E93F2A05E544F737767683CF446D026B6D390BD24309AB5A5B7522E6E407F18D1B42665C1F573609285A1A11CD05451EE8192196B9F2A71F16269C36347D46BA9CDEACF7DF15BEBB594C5BA437F459DB84F021343751A1CD7C7FFABFC03E9F94C708478B12933789B76176DF2BF9B0D0482F149AF1C8A4F9385F81413BF5E3B0D3F6E9FD30F8C6C6BA90EA377FA39243ABFB39F92B39A4E290AF5A3E0A108B33523C6358404F254038D0318B1282F8F0C240B02D5C79A59CCBBC26309133463CC6ECC637471E0673616111CFF02B19F2E229D6FCED05AF891899978AD59C7B8F5B86FCBEFF7137D7EDF9E61D4929C3D9F9A6AAB9F67A18EA5D517B85FE29EB5460AC838B06D4B783BF58FEF332AFC649E5C9806A16C18BE599D364006CF3CEB01B5B595FB9EE68EEA96EB4AAC4AE48B80E8CCDAD37BBA7C68A4622BFD08F1305CEC30D8FBAFAFE1876A047ED852E63A0430CFD41F5482B6DD4E3185B68AC91FCE508CDB040B18A829E0A3CB2C2F27668E0BD1EA1F39A2EE2A6B66A4D64077A306097220E077794B8B35709D929FE0CBB49F9AB317A574065261C0C16CEB8BFC7DE10F85704F520246195D4ECB470FD117846B8B0F8F87F3EBB1C6BF5AFADB4045F6851DEE25300DEF70C78821A48ECEE2C2041513EB0645AD246688DE2292409BE096933F9313C78ED8D55962A37B36DE9B333ADA8BC2014C571974F1EDAB500D7398B5C831A83CC85271DAD196FF187127E7BB5CA3A1AE62ACD7CC2728AE516803039D639378C21BBBC7CF96B33CE633D35163697065601BE7CB5AB629B1E5EFE16633D874ED84E745DB33AB52BE8A393D4DDB0C9494EEF52F88B0BA8385BA7814CC8E0DE99CFB7FFC7F8F05834ACEAD3F51EC1DF3190B8846AC88CED31BDAF7558C10E4B00B2B738284E69250BD82E394CBC50D33C0044B126269A3C5B38B93413016977B733CC19607F36CBDF5745666A38ED5D75B969E1AD74E5958EAC3982C79BEE1EF919AD6BA992C897E2A0EEF6EB344336F5A1ECDD34B1C2884D2D6D418BE59A52D2E37C5ABA1A934D42BC2AD64B96429A3631A0870ECA65DD10FB5E7FBDA5B7EF1470760CA9C14F5EA46267B37150E748C8284EAE8534CC1CD0D4EB6595FBA5AA88856A5A265E2875F34105F3A39ECCCEC7A12A519E076F7CFDE25B42DF9EBEEAD1447A8BD045AEA2C028FF474C63039BE65064184F1CFE90EDDE496884FBAD80C456611D8D8B0A9DEEBCC973B6F850B78582F1EFFFA7A44C730DC75B74D5E171829815F1B62A1A4137B086C2AD7411C3ED5C2B73A8C866A4EEF14ED9FF8676CA7CA108481EEA2D2FCE4FA4C20DFF7DC813ADCC8933F324C4C70F9ACB6CDAACF7AB69737E3D747D3A228A5BF9BA1CF8A1ED6A6E77A2B1E8C60517B616E2A6B6736B3DC4771B6ACBB4D731CA87827591917A86B74F4687DD341A509D11AFD98169EC9D91D14E22FDDA49C0A18D5B750E3E7A331DF93B6296EB2CDD2D7E490265D70D28D72459B30F197F6F86D237385EAFD1F93A542F2244854895E5BB9DA9FA10309234DAAC01EE66D326953576447C09C85F5489792D5F9682D6D70E93D46D341FB2FA4CD27AE6D638A1725DD3E9E3974B715948C54A3CECF83637D757ADA580AD5C36CE8F8B79A1632874D98F562F630FA6B62937222C79BDC789472653FD98859C5C30CEF7D21F6DC06552FC76D42C1E3EEF196C3B9BCB11B31AAC49DD091D2461FFB4ABCD101048E7ED71484CE2205E689F6AF0DB414EC437B78B985AD6CAFD583E018DB45DCB9C4D108FADD5784746308BF1B164E4A2B986EC4E1D58E590F0B0D40BF08EF928AE4EF9AC98A04C8C952F02A095AC821BB94E3530240CA442153078B6D9E6C581D070810A5065E0D58C36DA683C73BB21477DC8A9343353078C3A970C6AAB7A2584ABFEB27875726A67AAE565D9E9F80529AA9F6D8C977DBD4A5F94CFC03C1EECA3C875F09CE362C42B422BB89A8B2A61B5B34D5B7483CF59E2DD6E35F3EBF79D891BA6497AFD33ED8A29BEE250BA32B24F9A6F68A6B2289C9D87586D571B80206813A00A8436A6E5208BB42E293FCA714AA138778282424674DE6DE30B2F3BA4F5A0EFD213287D9D6FA9102B5E8FD2CAED3A8F02F090BD8681E4A694B7E47F308F3AF82A3DF011795461B1D5EF676C474813502C9C25782FB2D47F2D8C945D24157BDF48B3EC7BCF1590911AEA77ED93EB46F2B7E13CA6C570AD0F4C35D48CC2CDEADED7B58569E8735DFCB87749BCE9F2A7034FEF4D87FA5FC4A427673953083AF933C55B4400BD193BABA8DF8FBC7B428ACE314C6B848DA40B48D659DA42C52F90C756670DB16BC215D47F833200EB39175C6760E51B57AD8C0A13E9C5A70025E876F57D3DE4DA517088E4F0D5D6BAB37B7227D7E917F2B9AF9300225284D7447C57086FE418960E0401D554EDFA2A2BD7B5B46F90DE91E8565ECA21BC5FA4BADF63B52BDAA98B4969A0488FD2A63419EDAA42A48B3A99ABAE215AE6826839F4AE4AFB9C1F3FA7C00D4EBB6D56659E6939FF1DEA983096D6C2344B55DAAC43A901B968EF62FADFB63F340D6368323D89B3E75D0AA2681DD20827D4C18B8185E5737AD25E3FE895EF727487F2B16E560EA5B1ECA1FC4244FEB6A3C", /* encrypted */ + "9AAA7A522FFF751D7D512599B8C3531C59EC28EC43C67DDDF5B6703E6551F5308CBBF2D6457EE5AF809F01FB60B064AEC6303C44C93144FB92D4FFB9C012CCC9FB52BAC6F028ABA61AC98ED6AED923F8FE0DC30B92D429A0EBEEF02B36D41C951C8B3F7314854CB01ADED234DCDB9E14F586182284BE1115208EF5F14D44D0AC1BD79CF9ED47DB3EDF3CD8185D308EC7624C5CA64B676787398296BAC4416BB23A0B6490975E1A87907A6E5F72109D0F12928A5BFF91C5DF7D363C1DD54BDA80DCC434B241C2D983F777ED93BCA72CC3DC9CD86AFF809736FAE680F903700ED08866E0AD1632B62298E28D983E10627B08DF62DBF40F1FC210F547DD9576FED0BA4D2FC30C62EF905CFB744D7F31C3D4B11AADA3978D776E71E8096318B1E79EF324EB63EE90F49A48C53C2691DCBF122E3490E4CBC06B3BCBA17C606587E6D87073A61B76776EA6305AE03A34B418E229D0B45C19E47A3C7CBC7BDC1001434C32C1640861EF9791659092EF1B1A58EDF58FC508D3D86BC50240E89968C89C4788225D2C94405207834B0CC225601FA8C672DCA824D09AF29836EE31017AA1328E59D526CCF53AB5F65F337AD0686970300AED21684592ED563BF029CB8FE9A4E8002AD8EA8D7F488F7E63C6910CF54E7343F22DE57EECC387373F77A7DD77AB567EF73303BC3DAC55F9F5FA12CA7C26E7DA6ECB99A5E51569ACD2C2F807DBD96A92744B4A4906619ADA567E315C9750D17CCDB232849EC1873A4D372912DC0BFD5185A4364CB3B9738A787DD156E676E0533F9550D6A2E524CA1AD5941ECC58D98983FFFCA04B8513FC6DFD4873D9EFFB925B39AC36A10C6A4EFFB5D4F36613B538AAA14B89C2CE4B6006F1652AC27C1461DA6279D72086555166F74281216FB1C2F79D0A61A9826FA8BEE3B1D09FBE9F07B1FD9CA813B7D855E86C47AAA2CE34FD6B09A3DE6992B73E885533505B620A5FFC157B9E702C4A9C4D4F532517C24EBB180B189EFBFF74089535DDF2B510D79EB126C2B798C4652F4C0BF7070FC3FB3832CE79586531F50738B070EA437F09764E0F71BBC85A2DF6EFC38C64F4A783A868B1B23B340B3A313A97E47372469D6059DA00A8FAC46F9FACBC8D55B06CD5432EAA8EF62E4E582F1EB4C8962B4A517476254DF15E96834FE4C773FF5237FDDBCBE299CD686B4BEF40C4E1E42390B3442404CB0202E29CE7EB54EBED6FF792BBB566A949DDD9AAC58A8C1D125B134E76C61391CA647E3D59CA9A046BD0EBA529D051B6F4178F7D5A28544955F350DD9B9A77879C8F29E39C6F0ACBCEA8CA80A323FDD987988B693059D878F3DDD8B9BA5EA0DC37AF6F8E61B7EE6696945DEF4E3039A02ABAA555741B11D0724DEA3B43E97E55178FD07E37E82DDABDB884267EB6A30A366355D5F98C259C2D1BCB79CF93C63EB8E3FE358477617762A7967E63B38E2B8C7157F140B365DB8C44D5D6359E98970F11AB08B845D2FEFDDE1B7D77FED240908418FF40A922A055EC24305AB58313135F30603E6CDF90B7E654AC8B91073BFA23C6BF3E778BA4EFE52E1CA67DBA1C123EDF48D2F5B2409C3E8D596AE7B5C77DDEF1CADB646ED4BA8399B56A59599740900798822A22804D4D8C5F4CC1B310ABAE0F0BCEC964B4C0D1987A4B17E4228D27E7CA9746DF87FF5217AF48FAE89A8514BA84798A60C3827886EE0C3833D975905A2A638D8322C3BB6E3DE4C277E531E0CB4611262C56354A6BF4248899018F5F28AF52CFEB54560FBCAD5F84F38CDC352774635F7BA130AC3E9FCECA5506ADCEA3290DE74254E1190607877184B5C01F52C6108ACFD8B7F07D43995CF45A32DC82D4371622D2F085EF19727EFC5D96725DA0A089D2086AF7C53D26F3FD975B1F5557602B2C976E9762488957E07675FBFE12B8AD2BDE900ADACD5A06AA1BEBAE411B02F437D73A60A340D47C9967FAEB8B371F8A34CB611919401F9E0E8ED4EBA3DA9235CB6117D22FEDC4F8680026F6F1687FE02A9F42BD0F0B039D574397BD03E86AF1184AB4E643CC6BF0862F06FF97DDBA5F8B129C19097430D80192906AADB84BF81D8937BD46AF577863D39EAA91CFFBEFC4ACA688DF745FEC9D6AB60E0EA57265C8E371E1843429BC1F81C89681D24870C5DEEA13D11E7A2D9319518398FC5199D7960A96D8A94CF4DF76FB1C7AD2D104114445B785A6F2E28063F0D43DA05A1F8D378E82E54803AB7F91461FEFA62976C05F29DD1CED86DA7A2895D9ADB7C1965A03F40717D749D1A375CFB25E3DBB2E44EEE8DA3B250CE71761C6EF0142DE0C0F80DA11C0127DA07B58D5572C2B283BB3C85E85B8DAC7E06808D9E6DD4355CD6E37461904252E05827AC03206A67DBF732ACE55B1A6C58AF0D2D7BEC7A7A839F359B959B606236BF8252D92AD93BDE820DF505A48D83A63208531B0FE4DB7C4392AC29881B865A93B8C2B80FE1AC6A4024021083BBD9B7D37DF8F2D9269F00455A25F5265F3A761B4A92D90189C775BD60CD90FD32790646F2C7F0CA97B691E5EB6B5B773B19DFE48373735467ABA61A35137E7D040F6861BC438827B789E08835853E5D972873B765CF496261BDA3FE23F071A3DA213DBC62EC5DE5AD54DCC5F654FF4200D694C8C5F2B8F450E5F7E2615DBAA3C90D706D9B11E792DA789F5D500E780074A1428C86EA58B7667D089377D96C223BA21197A4E044B5241AE54745B22ED5BE32C05E3324EAA898480B45E3479C15E4F16FD22AABB82851FBE8448A7535E34DC9B678F7EA87440CE9AD69441FDBD7C8E0C2D793D5F72ABA569B55F67780CDB604DEE82293F9B2D337520D5164EE57D0EB10F1A46D87F9FE2326B753B3EA197F67346044CBEA8EBC97B5BE4E24ABD8E7D426137217A1E7D7BAE3FBD7D8C7C326E74395F6DC3D4279668171D78FEEB9B39BE8C80D634E32007F6E112C53326EAE4EEA5E3186EB8872B2E1E03123ED868F2E6066B151B66702DABE1C74273D491362919B18F5AA861714766BF2DE7D47ADBB9677B498FF931C092EC3A65B7069BD69352A5FF0AB184AC6630F81070E59BD14C2C1AACE9674DE4FA9079B130C9220ADC81C7F5CE9246704DA3E7B161ECE383CB66F479A5899BF6C31AB71A9AA60A30457C2CD530F39A2F8E6005F6C3B34559948A1A98651E1302B5FEB6DB0C7D8E7ECDBFF384F8B43B8209631DFFF1DCDB413B72F9C51BD6CF4D5D6D367D2C664650226A3724F0EFC4E6BAA4C3AEF10415CEBF0B97D3227AA0F985E00EBF18839AF85D54AE0DBA5B17A4049C59144A200B4EBCD392506A66FB86AB7D6F26002DBA2F4CF05E0F3636F928BE996221F50611EBEA589CB8FC79624B79A935614135A2FFEFDDEE63558F63F60552EA1544F4BC23D8DBB80EFBD2D7FB8BB8B5F52E17700DB73AB00CB9082776368AC63673750865D9688FA1D656D15F1DD89202EEBAF25026BE5077960085DBBB89D820439B93CAAD2ECB116C878D4539CA954133BC315CB382C19D853EC460351226A9B8FD5D8AAE41187A3C8CB2EAF03F0AD3E0D1FF6B2B83A06CB8C775CB37ED51A4A422E0A1DCC684600893C93A431E454AFDD23A0A7DEDBF0DD75AA5E60C5D0CBC7AE9FF598DB3FF90B3470670D4DF639F05D6EE802348043D7C8C1ABDAFFE721DC050879051113C16597C00A1B8D491DCDAF643C60CE7FF4D10EE214FF6A233A49C1C5C416484F5CCD297D483451B161C56D3ABBDB54E24193E160E8D52F1893832C2DEB57B048DA53F5E14E47ABBEF21DD84A0709F2769DF488AC185100E99633B38891E968D3523458C4BEACB3B7EE54B8D770C225CD9BE36A100D90E4CF2C7641B2631630B8C6BDB1E1DB609F9FCCB0C8514D8B588AB7A0D32473C5962150057D28845D11C0269F91716122499DF0D187BCE0F57A107838262614ACA176A5AF53620272DEDDB283738F3002046F254DC2FC671B2FAAF3DEFABFB8C95D3276014E302A10DD0AFCFEC837F110BEBC681DBC6F15818F90CFC033267767143805D83C3E026EB5C7497E787DD6E31AD3E9CED8251D30CDF5497819C07DC08B1FC74ED3157353697AEDC79004AC1", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EAB0000000000000000", /* iv */ + "E1", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EAB0000000000000000", /* iv */ + "C20A11BAF873371A888B9DC2B1475746DEEBB718AB7A49E8EE1ECD309CF4503B04288A7EB955858C0F89E02316E119716892A8C9DF153494741A6B16E97146D90762DF3D8622489C7FBECE903D86AB7186EDEAD608942347A4B4D081494A842BB4DBE4307EE1F649220BFB4DBA968F2169D75671D6BB8DFFA3CF9998ADAF03DF6E4F8787F9297FB2DDE39FFAE50A4EF205132BE68CA3E6FA3CAE1A87D829040FF43E58FAFF1678F00BCA123BBD179BF6B9F90C8921BE70C3DB64D39876ACB7749AD3844B23089F065ABA975CB9CF528B94E45F67B5E0A04CEB38657A64EF7D44A768AD85D9E9FF192D87276633698B3F3F705ECAE665FECC34058D41DB1C1C079734AC6C7BDC686831E90B9AC5D0CEB1D55885FC12BB498BFDA00B67BEC7BD9CEFF12FB0872798DD779EDEC3D52D2874CC11F357071EEF184EA7850059DAF648122978EA4A33893CD773CFDB8BF25EDC942E6C1317EE04C2CA20E6AF3E49CDEF70D171C73490AC2FB0E1C5B5C8FBD4D2DE572263297480A67A048806DE3C1478B796C17264E2D9F339C6C8E1BF0E1042FE187309D8287AB296BCE7712DBFBE5FBAFAFF6BD0688E60B52F73FD72BFD753C12642B793B4827CE8410749977B54C00EEBCD9507DED144F4F3378B70567D5DEEC41D95ACCEBB1F753563050D7A7AF5D5F3C878EC7A350975CDF56563B2C879E4FD189C21D7CFE563BAC791E1C59B8A395025E71792E04492C7B2CB6D2CCC57B00B5565DEFDC2F609EE524175AB4D268FD5108A10557DF791FC8B954B0C0B7A2EB1CB01FF204AB0438463065DC0DB7C25441DA84D62770906C2FD4D59CF1529341A1AA355D676DE29AAF2762F162E9FFE92EC7FFB7F3EA4E4342C82BD3418B21F83EC94477B1C4AAA381B141A63907189A0719E865688267B6B416DC3FE83334A26A4A18B9E49408ECFEDAA6BF52B1B9ADEF5A1E8F991522B3E36875B3AA6AB572D164D8ECEE4D48656FE092142A299229946C31E4F1644C03A8F626C272F258585DA2AB20BF058BB7A8C4B35B2D762490F2E8249D7E0A6547EC73C7A3CAD35A803318C30CEE05F7362E4B4EB01D17D101CF3D7E6227F6FC703FC2A7535A94ED019344BB829B02F6A7FBA9FA24F98AB44D10D5442669B9F24F1DDD03916B3173CE24BDA28B69ED45FB4751117846F0FC06683D279FB338F837A8E405979E2B4DA0D95CEE3AE475275F3C3FBF275DFCEAC02C766EF3862A2DE4FA4DC1CF3EA3804F227FB9A80D234D813833AC1233197CF900C57F6B742405C219CF7E13F706CFBC8ED2786C7CA8B66ADB1EF349A98780B529F13B63CCD5A5A83C0474ABFBA4A239BAD0355BF76952FC0C928A7CB49A8F925D12042AEA7B119E1CED64B61D0637DAC7DAA22A1400C2D5E08E61D7F16E3902B8F8572771BDE59568EF3F0E7103458ADCE7099F455FCD4BE671568324D98AB4876B686A55640AF9B96132227B6FD4B33BD421C5C4B36EE232F10894358A0B5865AD10322F89DB60E5F0AAE64D8CACFAA934CAE496A859AB222A14D44F7A1F6815B332138AAF3A86E594FB2D06C3FE6E3A459CFFE37BC120692AF6D1D19E394535C6EAD7F545C606421FC88D54D11D5F125183E2E2F3654564F0899F433B9E8804E4E9E9EC16D7EDBFDBE4C93A3C94A5FC0DD18ADF5531A739EDA21D8DD0EDAD5E8949A2BD0C2257B5CB4DD3F77B4C88BC582189802DC98B9BD9B306ABD185CD946258457FB61D4D61E05DF36A96B1DD2D1D14AEBD0D29181D36F2BA2A1C98075D1CDB66E7E72B1B1043B8DBBE87EF1C54E673A43BFBDB472565AA038B65790D04DE358FB0A238B1E0796A2BD760B66B6D95C433DD72F72534AFB51279B5803A9B01B3911AB2FEAD786062EF9BD74C246A6FCB474119BE4534C94408990C3E84272E84D50182440CD035B4C8B1D1441537D76BE7352686B2DA88512070080800F8B509CECC88DF5BF2CB5D178FEA95D94B93D66C9EE9E53E4F987B20917F19365EFB7B6DF99DFBA73F2EC392DC7E81BE62F5E34F352AC30BE13422EA3300F797EB4B6231E441ED5F5623149417BD4B5CD9A02F47FA0D43CA9994B084A536EE66FFB2A89D152C6247AFE3ED793CAAB63975246DEFC9F651BC4B1E127336597525A1C776BC35FFDEB5F91A7222DD05B9891260FD846AAAEC9F8AA766BAA27840871C8C6A8D270F8EDBCD7647E9DF6B2DDD59A653D7979CC65BDDC652F75C9ACCDCFFE7E7E6E621CEB3034E189EDF0ED01019A3B4A5471CCCAEBBA52447D9D779E187542110BF4255FA5A288512FF149B516B89EC73885C44B14F46193ABF418665BA01AED968E07AC156FD2278F0B29D9AE54DB7F92DE693F73E1D5C4158D0C3FCFF3CBEF39930FEDD4A2C5153B03203BDFEE2B35778764A366FDDC0271982E55AB8713DD32331EA2631BA2A3E5FF462641A51F024CAD68AB2C42D1953B2A750969B96715763BBF344C296D3436B49CC33FA962822D2A2F379CB1A1F7B106BB3AB450D74ABFF25F29CA850AC46EF18D4635AC15EF6A35A2892B770F07EAAE2AA2B3A8669004C65872D5DC2A40C987DE685879A4A1C6CF2C1AD2EB581F19C6BE6566A7759FD302901CAF877EFB57803C3615FD091C1A58839BC0597BF138A50B96843BF21B85205031CC0EBF781EA0D1C4D8E4AA44E1FC7A7A68629BB3F0525BDBDA059F8A1675F3717F95CDAB9CE591D2832FB2D7EC07B55E8AC1B4AB6B088E55452915181571B7B327667980F7CAAC22E558D5A346ACD2CC2EAC9A6A6EEC820A5BC9F29BB9E5278C16AE12F633B429D70EF6F5E78B423B7A6F7756526015A23725A970629416CD0344368F54AB8605D10A5D3B30D23ACD7C08EF4EBEEEAFA8339601F6760F97CF81B1EC50CC670AC10E3B5BA47BAA055E4164BC8B67C54D5117FE7C15E3EE0631227C06AE43E65B4D24D7CCE047DD081914479FAC6BF1B48E922B4EDB9F19AFC88868DB15DA70EC10EEB6A5DD1B01DD57E8F1006CAB3C1C21B52029313CB8B891173DFB298014F926EBE497E5C9300266877E37B37164E214AED396B13A079DF315C3FAAC5784C995A25F36ED43984580E6F9A7448C02EDC25B902F74B4B64724A8FAA708761C3F0F9DA5C6C9679AEEEEA147254461E71F25318054655FCB80E95CBCF556766F1154CDCD82543C0FBD997867F4B3864144787844FCB80AD7E035A767B01B1481FCC3DBEBA7ABF8C3F962D475D69AEE79D5BF4F5938480DFDE1492118BB8990E9937D96EAA53924968ECE03CA2BD49C4C7A9E23990B73F10D1E21D59CAAFD5C2BA98396176FE23CFAD98625CD45926C6B816E37D8E692D1D65B0CEB19A8B3228FB4D8ED668BF34924BB649BF415121248A56B6BC5CF7C0D9D9D05F4B7649471C076B3418526DA0F4E44A6D69CD3A658346F2BE867CDEB46A5A21E6F15644AE9BAA9D440B988175CCFDFB3442AF047DF4EB0C0DE07C658A76D73FFB57DB586BBB6E88829B34FECBE44B9877186EF5F91151FE9E658965A7518EBA52266181F31F613DEA7B64F295A7142C267C5EC913F279A6B8DFB71C9C1ECA37C5F71F528837AC2F9F03AADFECD140A5FB30A7DF6E322653D7771DE5881221B4157564FF3B1A8A1C5CC245C88519528ADB39ED5E565041CD34BF257CE1D02F029C254C8CA129EFD227108AE42A7971BBAD6856F19EF320678EE4F8FC1E3BD2CBEB6051CE817D99F3302E36002F5DE2738B828821BB0E019DFD1B958A943A6EA243AF62534910A3E36A53B133F80DCB1FB9753E3D8B4737E9CCBDB68FE4242BF79CDBA3A41625DDA119EB1F59082F84E81B0EBA510E8EF6FCD58F3B88C97689B767AC70E437A74522F3ED5644BA5A17633C5B74898CBAE67E9C923607AF67D9DE6A3CAD0651BA3539904DFDB9C965BAE24916A4952D1749A239910146DCBFEDBC541EDB46830D547D40FEFA2425163750C9ADCBC1FAC82D326CEB54A1016BD9BEBDD361EF12B8A903616B03B201D66BA2865606CA0254E2649F9D0D99EC8A4E8C87C7E00059A61F86E95998E2FE494F4665F44F1B0601E716BDCD83CBAD852CDC1F6BD46B8A3C274AD76C2E053016CF7F3E95F84F493AF26C898B2AEC5FD81278DD620293E7F6BD590F0D0615131865D2CBBBFEAC9987BF7C8950052EC9E81110758AF3580890F281E43A4007D08CE58EA7A7CD36210997E7C3AEFF2CA2DE0D8739CD0E72E306756A8BB79010C2B85C361FEAE4AF70B7C41F107C36B892F8DBDDBC8A76501C4D467D0FD962CA416AF13F7075453F0CBD1821C989748D443A89E2F605FFC2D71092296292BC3456EA80B8E5371617590BE5390BE5324271558C277B1D8E9FCF4E363479402361149C50912B861", /* encrypted */ + "9AD07A522FFFA21C621B20BC2FD5280B7C6EEA47C00A2D8E6E6D4B2521901A05EBEC0CBE1AED6092346D74E0F9A598B56965DA9147A475F37CCB753535CF3D8FD0E127FD7C7DB404824B454AA9966C98B33F576B82FE645E30E358CE2C5BBFE055BD00820859B1E19498EDE77207F40BE13D520C838CC4E06F91F7DC963C2A07AC74E47F88E77057FA00666064DE5F1DE7C5658C2C2B60AFF22E65625D373A81BE8FAD34E51810449CE81C9DF6536C98E80AB9E001E44FFCCF5FEC46B312AD91C58808900CC4D9A387D429D608A6A296B9C2926613C05284ACC9CA152D8A37C450390AAABCB60ABAC19DEF886791DF6CC1D4A744DE3212AA867DB4C46E3ACED57FE27FF649656F94DADF694C7E5ECAA6260A499B2879B9471DB1B3C200CDE7EE09288B8797EC096786AA9D87A9D4D0515B0B087CF84682A64EF390D0C70476CC2727E452F8127C7095E0073C3738202B38F634866A003017DBBA344A02F0082DFDADEDBBF774721FD01CF67B90AD2EC0B15B3E8435D0DC51358E05499095319094B81D7B983C71C61ECE02AC4D6F276B4A048982A64B04038AEEA12E278D481FAFCF6F89B98190869F1FC35D5181EB425559F54CFF97689B50CF18F8EF3394A20775B96ADA1DE84DF95C35C0F120349B57125A367280332EEEC655CF8FA67E7BEC2C9F51A69CC5FEA68F82712804544FDDF057BBA86E890E1626F87F0D639563F312362878AE67C8A3B331B15D71A5F8EDE9136532DDEBE8AECF4F9A14596FD7722042A3661DF9A92B27181D4C5330F9D20CC95BF647B08660334EE0258FA1BD9C8A9C7C65EF2FCC22F88B2B9328AC8AFF7440510ECE99DF61F67505CB99C42BAFFD053068B7A9755BC0EB9C513F0FFE47E13FA0E9040D493631CD57F2EE7DA04A5753112FB0CD593A10FEE661D7D330B4EB4CACBE83C08551EF2B4F34C104F31FE8FE8B5D48FF1092F6C74869933392C2B8747031D92A6043AFF18075B55E8B97EB0DB7BB38B32200AD9FD791047452314BB00A125803C558CBD658AC330E35E8DB1221BB8D15D33A7D0746525310ED91C5FDC8335CB95273F1DD5485661816E07A9C284FAFEED0F6A15B388013156742795A0FE60959A05980942CA8C135A38D5CB2879FD0F90B501B6623EBF1ED7A1FE40D35DE264E12779C55C154C271F76F07B10C3002B39FAEFCDB1784E0D484AD0081F256B923FAEDFDD673D85A2952C379B5BFB5F4F06F19F4D927E1C29425D729065EE480BDA02AF74F877F6D92DEA55A843A2F5C756440BFE1C13CB3C79A6BEC401C1D59EC9CB6E6111F1499F1FB0F4DE10F9AB380EDAD9A6584827BC6F41C1B5BC4AF20774861084AE777069ECA628358B9391FA995EB605A0212DA5A3F5D843993CF558F7A1B9B03CD6B040F43560E6D74FE695564B6E7C59D91157AE56A380E03123BA21C4D2E17A8649AD6966DF6A5F8C2889124AFFEA80783EC652F6E9A0B56C1B0DFB829B5EB4642F6B9313E71BE52010776AA733938B19AE7AB0B04EFC0F38F04A2ABA54C7EFD1AC8B088C965C84C9BEBA71EC849F2FE5C07497422F1DD3EE6CE95C0F1D44B4093B9282733EC3D883787F55510CFA0DBCE91458167CD5F87A5B78A83B95422F36A0A9F7C33B30993069BC13D565E98F4E74FDD210D178030CADA3D58D7CD1C5C637A15ED5CA95F436CCBE4F37133A5B09574E0EBA2CC41C78B39E12EF48AB5FCC310ABAA2DB9312D35BAD204FA51969E9CDBBE804A2F9488E5BB146132862F7100A8A9F77678578942E3B0CB8E6F9C7DA830ED62B14CEB2C427B7E29D90E93D6CFB4663CDFB2DB00A9F48E63ECAA87F8045885B40F44B34A58C918D28565C80F8161C5B3F00B6CEE51F740903AF7F5AB606C3FB3AFD28C436ECC88727A95496FF3CE562DD7D752E61A4019FCD169E972713F9DAF8B916B9CBC7A26E40B6A8133B99E553D27FC69FE2BDAFE83FD63C59C3943CFE2AA81A37FF7130572CD5FED867BDC00C353CD5D2DEC9D1BDB162D05FBCEE845FB17ED40504B5C9B386B6EF66D0E72368CBE054E1D442DB332583225057FA1AA2BC9224DDB1587C4066DF99A9C67466D795724BBE3D7A7ED3910DC5A6E1501BC002A2F74430A5E3490C9F4511CFB408C5D8AE7128F4D90479226EEDADE928E9613EB621C6E7D32ED8D7FEFB5809305E2E0EB573201F1F2520B76FB6D15E11A06C9B1333F0646A0D13C676E51EB49C774466C9153BE09FEA70799D4C47E9C25B2826C5DA9CC3BE92217FC641DA87587A9DF423051508625E406519C7AA90DACD3965E9915588025AC481C7E2D6AF288327B246C12DC4AF5BF24E5DE08CAAFC708C3E1ECF8BAD1FC031E9EBB5214BCA70BCDEC23205C0BC057968F3B27E5A38D335626933A4AC313991F3606B1BB80A59D9A1B80DA6E00F37A246F315DC3AA54809AC452EAE8BD2A64388B9F2FA0DE0C6EB894AAFE876BAC6C520E313B645540842DC82991C7A461BB3AD719951F1C95D48D8B62505AFBE2B87F6B006B38AF9DBF7680050832290EA21A02652C04668BE118E7C05DEFAFFCC083CF0BE11CDB47893D4E87C5DB2203A2C9F58F69ED5E2809BEFB923E7ECD15EEFF920391D1E87A547730AE567AFD3C29D2E5EF95AB4068763662483C0BA6512EFD187F5526F09E48E261CB0EBCC9D521AC6B721C19172FE0E8AF30D8CEE1795A5A5B5C4B468A1F78030FB4C17AA641A62FA9730F7AF559622A2FCE70C696AAB26C857B139A201DFC5D08DFC706B76DC19264D1B92E187BF679C8557E78E74E81C3054DD41426106D4940355D19B591722A2AD48BD39EF4D93A14A0961E6434139545BD68E1E0E505ADB0840497A59C4D91AB9218BBA5FC9FE4987987A640BE9DA470818E4180C029ABB4E7829AD666BC4167ADC38BEFCCF4BEDD5CBC9DDD37586E3B4A7D1B6E2A0B7355ACD83675395B06E4BFA45F075B306DD6A6BC420A4479AF5653976E2A06916569146B26FC27BA03395F14E9F4B521E8047220216A27A7865A62B9978E59FF57058F9F8AE3D0744EF93CD3E09E425727DF03572CA7D4955033C640ED6F9CA5960E186823515C7BBC6E055896D9D473631EEDB907FC6EA867ECEA2D4D5E29E01FF1128A9A2E2524790E5D195F456EE306A5D1C6A3E817823A6F7A47D6D52F2E22A2691D85DB92F3F402AB3795689680049F1BCC4F8E19CD26B9B20E93FC3AD40CB8B2F11B72180CCE2D27211BEA5C4B6C86144B7379DC9424B546554CEBF5E8D94A4E6B5907DC70BE1F955B7F2C9F6FF4EAF870925834699064F744FB9607C31FBA074CFBFE6C490445488353550D7490AD11A53AE8130225240D788BCC6F018949C12784ED05F9FFD753338E2FF671783DE7C3A9C511D4E00D61D8C60AAFD6E142545D4665213FC2A04CAF4339FCB38BA55E4BE8958CCFA9335BDE63073D7445C1C2171D341B9E0DF7E7A5E3E1382BF345E4180990F8E224AFEDF59E0F47FAE9DD12890C85AD354BCF4BD913D58E0DE9808CC1507DE6AD35EA3CDFA0931A2EB6D08BCF932C405BF1DBDF7CAF0F8529D976DD11A9DD08635F05A07E21D063EEF12C2449189158FEF9DC619AA363CF3EDBC6BB68EECECE9436D7B14DBD6573D8E48A4A0A142678AB30178EB61F9A392B8A888531A3A71B92294E0C8B7633C5CACF37D77C43E6053133DB08A1663FDBE4A3FFA6F6E559E82CEFB48622F5B5AED6FA426ADDBA76E09DAE851AB7BF2907E699B29D9489BB89CBF22C6B97CCF43A937554C533C391DC0035DE3CDC0C20AC12FD9ECEE75BCA57A1E8FFE10390FA6E5C3E1A5F61345AFDD5CBD42F6BC48B276896861621D9D99B1572F5B7745B20A5EF9D219509316CD28D8579BC934CCB52617D32F72006CEE76700897C09E94ECBFFC059D19ED1A2660BC699CC8856FD30B3E2F110C3706D3C74453E872209239FB701261D1E5F8424232435645EEA35DB683064FC7BC276CC6E26DD672749C5C95FF2A85E16D80FE784B299C0C86770C2C46B926DF16BCEAD42A04231EDCC400AE10401293E6B8B24AD942A0BB5F2579CCB6C1D57E6EBDF7FA13898E67018CF2B1140CAF6AE8CE8978CEFACE3CE19E96390AA4286DE97DF1AD81F5E0298C3DD82505ED9368086A743E4F092B776A64693D7F18F01A1334C5A44258DF9F2D5008F27A0B84E601A0484BEF28B43C3AACD29E025930FEFA8441B9D956927E5944B446295E694825A86E979743B1F31143A34A1B901DAA5B773F4A60C388CFC6F15CE5A9EF93BF1C99B44C6FA8EEE35788680ED9E171CF7399B503598B5DB6A937148478E54B5ED6DA47857BF48B1E45AA804770E2141003E2554935933595A1137CA4E711A91CACF0DADC7DECA40", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EAC0000000000000000", /* iv */ + "0A", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EAC0000000000000000", /* iv */ + "35D5D33B558A09CCD4A484878FEEA13BCB588E91129B648F195B354D6942B3B744BAA377ECB1333921EFA02190731FD8C4ACC7C4E9AF7BC8764D6934B9CFB9D6F05BB44C43F937B71A114E8EEC3A171503C929853CF9D1CBA224A18FF5F2151D838518BD647C91B7A7AF39ED6CBA52335861DEB28B5236ACB690E8876AA75FCA44D355AA293C5CFA81C8591B0EBA42C33E0EE83B7A8F9A5645FE28660989E96791255A67499825F67C62CB11B7DD78CF47967476B2D573020CDECF95A59F97D9CA2C900DE9B0A2680CBC68E65132CC8854924E4CE894D20137FCBF7CD29FD0A7C860FE123A6BAE1D202AA1F47BDC754EBC06B681D0E921497E97618C92C57F116AA7ED8659008E3CC551FCA6D7F8862B971240196B9CACCD18658E6946A9B2DB7113093E678BE9A775E2DD29B81002438FDC13D48C911B6B5C792BAFCE657D", /* encrypted */ + "9EECD4BF5DD8BEE05642118A10CB4E41F7ACC5B6A060160310879CFD7CB6F6234C7EB599DB5F8FB25C653D89DCBA026001C5EC62FB291FB802413E34129E6D49F9B8BAE9899CD5E63D83C5B83B46E67CC2DB46DB4EF445A2B3C24F36902FB46E45F3A7A4F0DAE175FDA1EDB3FF277909BD974764EB72048AB5A942F993BD755962E16FCB26A8A55A99E25FAA8F349628BFD201C6FDEC3E6EE7E19A5A3A77E86D4AA80CEAE536FB72BAD9B5C22DB3C49E6107D8A4AF8E92F1A2DE7F17337BE5FC003BB1CFC7E94C43E32A4147C8E33D6CE6C61547C34DA9A7EA51BBED9F520670971BDE05281E6E0BDD7C9A9069169166EFC793054114DBB66E0F1139DAE8B620A5D6D00AF6322C19B17ABE30CA87A311F9B1A57B4614B2766D75C6942F3460F0FB72159EE1CF34B0D681D530BBCCF90AFB94F1047432662564E74AFC5282D5", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EAD0000000000000000", /* iv */ + "1C", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EAD0000000000000000", /* iv */ + "FBE114AC7233793F018F262B902D0E9744367828E5A3A7EB908F5EA23797F98E42255D582ED5B937EBA3140F9445F4E9F62995FCB5B4404F049482CBC98E214D342BB641566678A0EEBB60C05B61A69ED341910D4DA0296058807D9B7077C5FA9C3E070D7F143EDBF93933AB89ED3D41001E834DD7F058D6532D1960DC8396A70B08F73547439BA8F2EFBC45FD8CEA78AE70972DCCE70840DA2872AE7A0190A9C7E8DF8B17FBC2A5EA12B9FFDB5119A858BF5598A9FA0E8B600A975A878808DF8D372A6F46B4EFBAD3B14B504537B94624D8312703FAEFCD39F0BD074132C6E7B403F12FDB4C1EFACAEA76BA867812735FA779552035965FAC855F8291FD5C308431B65DAFD6136B713A91C27CB01DF1A0E636A0137FAF482E3C8C7ADBA5FF817C6811D7D1131064A3AFA5235CDE", /* encrypted */ + "9EEED4BF63FB4888810C7ED3A50573C4ACE5A036598B115A9F84BB4E4E1F1A54FBDB026C8EF226DCD2D931BF882AF64B2C86798140B8FDDF8FB370E36B13BD8D9EB53028E6FF700A986AE41BB5FAB8271179DF5E90E91D08BAEDA57E076706C61C431DCFCC0C3E6F3DF93AB63A991336B9A5318B0A3160676AEC9C53B1C44CB4DDB907F15BC5C18CB9AA9F15345A749057914934A606A0FD17EA0B466CB3B4B195889F2D770B863933931119E26E706D94728EADE6584ED730421A287DEE5491C4187C36ED692E872060A6F6D07E7FA418624B351CF5F1396CA9AE879EDB11B77AC3FBEEA654910030683C8862E4AB9E00362E98EAA6A7899D33312CAF80993592240E0FCC73701A8921701ABC0EAF7004A819D07E5F80B67CD75C00DCA556C74131E1F32CF75E007A76FEDD87E7", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EAE0000000000000000", /* iv */ + "93", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EAE0000000000000000", /* iv */ + "C855E0D6F4F017C8DD57666003A239C5B47EA3E3D16256353AA46B6685A9777F778127CD0216C4769A724EB6D5408DBC92C78C115AF2D4E453F3740246ADB31367F1024413C9045F700BDCF910DE482C1546919111FA2AA07A546624B71F680270ECDB28448231BF86745D0093105445276D7CD96287D6444F29E8345ADC1EC6217851F10B7804B31A70D9BDC150A57BA93E3DE01DD1FA474A319927EC738901D0336C6AF2778BD6517627418E24887702C11C40848001A9BC111AD7435F8342A07AC7EF584094996C112F78556284B204E2FE7C793A61E3A48759B89C394AEADE1ABE1C522690E7083D5E1A4BC8EE571966EEF4587E142D39D9D72490C29BD79B0DD30421DF98623529C6658B34FA8A6C58D8930BCB021B5F3F811E22B6B093DB36B7377549EC0A524D97B81D5EB446CC4389A9B2B880A7A6EE7B8BEBD778DBB117F12AD031CCE5801AA898B80E749E64B0FE857B47BFD5224538AF5C7EBEA71A6F5803E1E5A4F14FB497FD54C92B867590FEF9E6F710A27454ACE22AB6C83208C40BC1D61F96F9CE5E15217FE10FA24BC1223366C2A2AE4CF114CF996C08D37AE6EEA53FE7DEB7DC6117E0C2A0C727ECB3C503819C60CCC4D63C7FB86C01117B30E8320D180485E04380E800A9B0455EDF9CC8E8F07D0B19CFB33E2C994FF20FEE3671CC8F4C712AE19DCE55D0674E56E0B373B971285731F2BF5009E13B9D385689F0CFBB6CDC683411E5AC8C183498FB7D4D3FAC7E9F4FBB0B3736F10406D717FA7CD7877DA23832CE214E4D92036C12FA15C8383DC80D9CDD50609A743D23D14D5D64AA7DDE335EAF141B51DA6DFF662AC02B20FB4D0CEE947EF7D8DD73C4283C554AC39E9EA00D43B62DEFD594135AFE0D579BCC61DB6326A803526C2FD501494FD0C18AB8A22AEA866087AB9CD055FCAC4A849851558C8BFE607C1A073C91815436697D5C31D2FD812A54893FF1D033A87739AB1F1FF39C669F75D7849E4A150B9F63BBEB835DF5BD6AE59548407A0EE5F95D24577FCAA71F0B610B127A4A45CD8FECFBB4C003657D0C0E7E14E5F48E7079E0438861C120F88803DD9653C7936C11528D22986932D1D62A4033136C269678AD55DB014EE420F12C333CCC676A02831C24E33FBCB93235F8D609E92BB37D8B15B62309F8839FD0046F631FEF738156DDD3DBC9CA4D0167BC6F2E67D70FB1DBC295AB1148F7159ED406310D0A3B4C61A9674FCA35707C74D1B136C26339572C1A1F9377CA1988340955BA5B1DB8849E95EB6DEA14B05D2BE70222DBC0B6B4212E93D70C7B2B2E99C1EB70B39C61BC0879FD40F93E49293C8A10AAB754328D019E09CFA2CE7F5BD70E0D16E7E9DD6EC9A381FFE861D8D99F2312A77145D1BC6B505CD329CA9C1003BE63BBC307A76776CC1D1AC90BC3218C764CB705C4D846122966430CA60D3DB6A6D64093174CEFD01D3ED8F38352FB83F7F785C296AD665E30F85ABBDA404D4AE83B483506F8ED65A83A7F27101D41471B2F6878F716F4DEABB8A70C6F34423C10F2720BDD2227E0B3A2436006AF6D0D4EFD02B37B7CE3DFBDDFAF82236DCAC27A95CC82617E24318454C4850DAF92381F0362846AB8E5F0F51E01ACD7FABB1E3A0CCF6CD899E9588E8BE4254B680908CF1F9C9DBDA4F6710B2E7EE267B7127F7E86B62191D4E73D642723D50C1ADC75D161F24DD0CC65E652741A251424DA9F68E7FE90175F4C25AA37344A80E137F94BA1CD99E5E5E6B6754F275169DB78B3F113CF8294ED00B7D95B26D090A09593B02EB615A0E4D0AEC72D26509E7F325C94455B749618DF87F46D1E36BC009264E7FB8835F32F404FC856CE61686127B8774D826A5404FD08D945A4715B03D160AE3A3F54772291D222E35836EB76E223F19417898466CC7C762264E43B9DA34DF52F5961B95F2614889E3B6C50CC2A039025076E757C42EC205568855DE12FB4DEDBCA6E43A42830CEEFBB70702123DC681F4C2295E30ADF4B514D3A65EC2CF174B89FFDDC3873945DD4A909CE601EC9D10B01B340D0DF2349359E5A5B53373609B66CB6EBBDC4067AB55F27889956AC876B92EA040DA068503EC7C2625F", /* encrypted */ + "9AF615FF7F0C1D6404D188DF618F808C5768264CA024C389D8CEE76BFECED00D387881DB5ED2373A8F05CB83641DD2B12937012E842148CC2D76EF4982B947D8911755D6C81B8A8FE88296ABE1C0BF46C2A47531059084FD1FFE8E9453BE4F5978306CE66609141F98786CCB566AABBC548824A934627BC29A87BE3152F48D8E4A028B42DADFC6D1D1DD5A04901451EE3A594B858D03F15A13BAAD9A457B0F9E383B6E2AA2E7037C0334A728D698CFD91591694012CAA7A823210078A50928E7F48EEC51ECAA6D4BD5265016E44A15262038AD3B41C89CFEE0BCE22A775D0B003694B20D26528A95A142C3712168DF633B469988E7DAE7B6CC4D51F2B0782F432F861C623F16CECB77DF38B5C455BD3BA07D0A83A0AF3DB068E2983223DB895759A8A9E9184F044FB428C5C0C85624CBC093D05D82CC817A8B4FB5B8C2AFC51BA0849BC43003C43201924E0056F6593EE13811339C169E792C597E820A149BAE74FD949E18EB3AA9E88CBF6D52E6274EBACDE42FDCD5CCE80701E17BD9A159708CBF7F5D2C5F04C5709DB008E0246CAF8CB93E18CC5AC296C8408403180EF5BD46B4212F346450F4082EBC41C88BFFFCF9948D2CFABEBC759E1B35B97DF985224148D580500A4B8134561C34CEDA69E177D5A173C0B60623EF56DA83828CDA6191AB1C23CA65FB461470D46E18A8C7222B06079668486EB8F400F9B7E3E9D01A170EE242FF0DFFD2D497BE0A92D05498B764FDBF1DEC3854414BB82D66E7EFE01E739D54B51AD5D27E437EF39DDEE5849BD7FEC3A434040A5B20DB93A2AF2E64D6001CB79DD3159977C32BF5F245267B3786E266EE53598BC0AE5A28B77F2517A2E7BE74E54568D69968FCF901670D08596CD03FB0E33E938D1B6DF912BB311301583A59F6DEB9D3A36C6D3E78B01DB3B9EB0824EF34DB41393BC649E5736433ACA1A01B7626CC6AFE15DE99B1555F88B86AE7BE2AECD403470655ECCEF51A907C7AAF75846DB467E8DEC952EC44CFE68D08AF95A9597D6D6DB3C4B180DE0F3D2D003B9CC57A8836DE467103CD6228EFE0BB490CEDEBE22AC2B92BBE46EC4D362BE73043111EFBDC2283FFD18109BE3C20A3F9B9931A99D86356D525D310B3C9FCE2E1007E0D5C33E07F84E5029917940569627E37164B5EBB495E08E2F5AC53DE6142FC7836168A580F91B0541C98A767365EEB3FBA932C33EDD88DEE15A6CC659AF77A9D583D017E135E96AC29B8925574F73923D2522D5671FC1FF314296BAC5EA1E9159E10AF15FB091D05C90F3C8F3A6325B8BA814DF29A955824CE5F3F6B04E8DA976587D3FD1318EEAC1655D80E0DBBF5A3F59B8B02A77A154FF378916B6CD2C475DA7735066F5CD0D33A7CF086C4FED8CC4776EC35FC2ADA65514CDABE87FDCD402C5894D20FF6B4D32C08FC0441BB076BFA0FF8DF0CFA7787861E64581A3350D84413FECC8201810BC41B1A0DDEF5EC24F0CE462392F6A9BB77C65B4AC3DECDA17D9D0521B8C67D323CB2B005751C34283C5B9FE14233AA2523A3BBC21394AAD8406BDEA86097B36CD98495C9AE00E58D78D90ADE66308794467829B1EEDA9BD58AB48F3B9ABC8E48E43938DF423A7E9C0DCD7C38DCE47A6F4202B4D2A46CD033A6FD9CEFF9ABAE0B94F98B6AC5B01AFD4CE82DAA58AD7E4224AE8368C5F99232F988C6BB17028093E8FF050DBB9A31E98EACDAF9E7582350CBECC404406F1AC7CC45D9B945F072844672DB65414403E84D7E6D209F5BFCACFD077EF25D326292CA2F17CE6BB8FEBD5CEB4DDC6813003EB2B275B14F1D0E468668D319625C7EA6DDD6D39CECDC09F09F3D45B3227C4458ADDE9BB479F887EE69F1957A43C48C8A65E72AFB2F7F3D63C6E79FB01F3B9FBDEEB53551C0A8D4EB17A565DCAA5018F6397621FEBB5F02528695C599F2CF665B25D9FF35C462324BBB6764CE009BC639AEDFED87099302552AF42EBCDD6FDE7B4F7DF2F1CE288063A805B80E5A9C980A28B44A4C112B41E68E88B62B654F67B89D90B3B262C7A55F84E9477A94030E70E94FE4CE524AC74BA45251999E8D847EF5C376BBEE73A9DA0058B15EAF64067E723666A6D428", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EAF0000000000000000", /* iv */ + "52", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EAF0000000000000000", /* iv */ + "B8F01E1A343FDC80BEECD4DCF486C775DD20CE55E675186A93E41A38CCE1CA7D96AA3ECA06F75AA5B070214EBC38831E3ECA97E5AD9D9C61F79B35383B88989DC00ECF6922436C65CADB2C47F119F2B0E94C9144A4E4CDF3FDEE73522A38E62678F7E9B47A1D4BAEF1441A0FB616A82A869ED4285B8538CF336F95056438CCF9D91A9FF4F76D894308B0D5B630DBA5FE1C2FD8AFD26D69D51873478E43CCBA14B447C2EF0EF5F553EA2C2684F105CBF051F7D5E29437B43F4D1FD58BA93E264B1F55E3317855B07C9D9A56E311B261E696F7EC6FABC659C7FD6489B3AB223D8F8529CB234291FFA9AE55CC3309C6E4F6957BDD70E57407B273083123BCB60D1299970D387CC88896A90ADACF4F88AB0448A6827561F40A15E22FE351E5B8904205A04E9F6F59F9159FD672219BEF32AC530DB3", /* encrypted */ + "9F12D4FF1CC29685FB4126F8E73E0848D268F944114AACB49F2E0C69CF3A5BAFFF3B6572316DEB6F8F7240B1D7C690C55B13B3A707D9268EC765EA6F85AEBCA67A990C3A208D14BCD05A6DE5E8E4045A347C0A3426FE9B2DE83BBEC908F69556B44DC3F6779419B2988A1FA435F25999CE816B928BC41CD99A6E0EF32BDEF5400E0CF7436269814996D0284DFFFAC0F1F13DD058AE73EFC72FF9C56A12A302FE49E73558C8A4C8D35E9E8BE7C4F5C35EBE8407B93D2291870195D8443840FAA396AB05B86DB44DE7B6F02104516ECF9FFE91BD621231AF3F763484ABDEBA923300A5CE32207557B7CC66BCA9F5567A60C8FF76799281E4F8153451482376221B9134F5924777583B22089B516FED274C823291E9A3497016A244E5D49C0D7F84217E6BB88E004F4C5D7D321B9B1E0A1F3C4049", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EB00000000000000000", /* iv */ + "F7", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EB00000000000000000", /* iv */ + "874EDD992E0FDA0C442FB4C4E7E974E19ED6015172A90316D4FFABB499ACEB4156DDC090A842663DB42397C79E2C1854265B10D13F62A18DBCC5C9259051A383902605FBCE1D93CEDAEBD5A986250279365E0534435A0F0CA3037D1014284F76DF2B1B59B4C83A7AEC04BE31295023D6D55CD0B48FAF19ABDE17DA5557AF1B8ED6A4959221B8A658A00C09DCE0864E30D17D75DCAE45D08DD96A280BD48F45ECC1313B79FC2E8F92790AA489664C61456A43EDA3F5FF031B7879403D09366650F5924F177A51248685B4B06A5FF3AEB6FCB4715C138E9A5782BCBFA1EC8F042FE64DC59F35B5C4601B1040A094A61DC1BF551AF3E13DBE9135D81A32461F21A8E4BD6AFDD2D82CB552665C1E4B1333E8EDD35FFA62968A5FA9B55D3A2FBAA51B99D16FEABFE348002DBF6C81B94CE0D471747CA712A7BF928E61DF8349F631D215FF4673", /* encrypted */ + "9F14D4FFCDE59E9A407F78B27F524A7DE92520D400F22349FF7ABEDAFC14D147D9BA050E661635F7BA958248B4D0B3F457AFD9BF51BE2C9304637368BC52680E5C913155DB8C4901AE2AC4287441F48A9D4146F87B37D191345CC812B33034DAC0C90FFA89A395DF16C5B4AE5F6A9E5B6726BDB65AB768B893DE83E8BFD2333488AAA31FD969EE6E444598E3FCA1909A7A222785B69B6D3AEC3AF7B88B3A3162B76DC57877AD20C3109E9A57358A34E798EA7EBE04A9A25E6542BB0B4D010B6292B0E4C116DB3DD3B5C847EE7D12BA948F6E2212C344A39D30BBF7CA216A40E499C698DA01A2DE6303ABB227259016B943AE7A40E91A5AEDD43F0596C23189831AA9B2457F73F2578180380A68516278D51F81BD3875FEFBBFD4D26DA9D8C8B5CAAC806D72579DB09721A25B237889D27B99FB45ADA47F6CCA10B63EB8A5359BF647D980", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EB10000000000000000", /* iv */ + "63", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EB10000000000000000", /* iv */ + "719C738DC006BB10D305DE217EA9617A63342B491532B8B5FA4F4CA7583790B5448A6D35AE08E592CDB17FA36EDB41DE00FB7918933334F74D76AD13B45F917F8802AFC386CF7FCC2B867E4AEF8A1BD9D33B08A91B83E02E3E83A5025BC8E57AE0D7FEF2F0FD2531D58C153EB3167AB147B74E4D2CCB1CFCDFC44FAEC283DC28DF8228CD1B9DEFC5828709925F4E2E0D513886BD70A81B06ECBD511A4B00B31F41C424EDCC1A7E1A3C3C466029657810D0D0378AD0AEA9FEB3D2EE3E0484857E11070094F5534292F3BFC423818B19D9EBADA2F27DC222F243467B41CDA41A17CF934EA46D65DE8B06A1BCF77DA9A25C61FEBE0B49747BC285EDCC069179D12E597CD1554B1A2367BBE6B68AF79AF727D82F86707A872FCE14591870C6EB8E96695D13592490FA1B06D30182EB9A87F1788C9C33D4102200636E007A20E6A3D13DB25B3FA199F063853E37F298FDA830C439470949F2CE6E997E24241FE06EEDCDC55C4F96319471B4665D99DB0654BBFE16A05793FD32B930B70AFCDD24D64BDFA9569A3B476084714A9E223595C46FDED3689E4784DE3213862B2FC43421416E76265E5B13B5A23D7108698819611629C600F62FD8D3D2911968AA878CD8150BA6FF6F6B59124CD707A8CD7EB3FC0E474232FD4DEDDB22FD1A39C9008B151BCE97432ED939AF95675C8FAE6AC8692027F6267D3A113A2D983CEB3B56356F389042536A2D199329FF30D04F9A0BA28EB663AC7F1DC545937DA8B0665F66DD447F9F70A4D08C56195AC792CDA47051E1EA811DA502E7ADC775ADD0FE4053A2858EB83547790147DA1161D4AA08A8CF395269678A3052F6C9F8E281DD6B4FF4E4AFDE10339471D6F63B90FEFB3012860742352EA42BCA7ADCFB9381357ACBBC19A6E8E71B17E154FF29D5ABC4DA1C754F90D9C2BDC788E9B2E27326A01556F918BA2CE64D9819A6323891E6E46CA9F0232CF03602716A63BD616FF506FF9BBE1F584F6E098450CD9C362BCB923D625234FC5F13E511C66D6C7131F74E92D268ADB4691B11A83197914B9AB564C4B857E558B30B8E5CFC6446ECB6AFD4A4E1D3DB7A0590E19ED6B050B098BB40B22E16759809140F04272044918B9BB270A53E22E184E02E56ED582746A844585FCCD37987B4C970EF56FC7ECAA3DA2AD73D8D6586799DC6924CCF0739A5243464EB544BFAA0D7B7D5D738512562A4A5CCCD78AA6696D3B6ADA0D23938AEC836409A760AA6F3391478B38C71B2787F3E7E7EAFF4885CC30C7A689E4B8D323E416C240F31EA515142FDD85EEC4350C0094AB8AFD3C4E99E6FC205A674092E13BFFD57301112AE78D2CBCF5743D46DCB39C80F1404C91B1DD930174C710F7BFD317DBD82D3DC87C8A53DD02192EE9A9B5ED56649B25C0818B77C3D62D8B9F75045D4AF49D591A68A6B278A5BF86EC288CA93980A0C98E3058EE96CF4B2930C2FD0BEB489B061301F956916F2A272A9053BC2C3A125FB72C691571B2B329D0F7F73209C7331455193C4D16B1D7561E9528E4388AB92EA9A8C29E255E48CCBCCEF0020A6075FF26B121920AC4039AB13D1128D3F97220E3AE104BED332A784894052F889E048AFC8B6794C8D68D1E21DBEE87A8A2F7C7DCAB54B73B971AD384581B06EEE2758762F2A66D3B78671F322969C46AFE3E06B06C0C39F9C377617C3363CDC689A338F5A7469D1D48F", /* encrypted */ + "9B1C15FFC6A8C4815984FC30A8661887B912403507D5C24EC073DC152D2B45CAE9FEE7EFD35ACD82EC7F2BD89744F68A326B3A14608D7D2DF3677E108B9A9AA9FDA2CB8C1E4FEC250E1EEEFA43DEF10D0AC7F933C9CAB16015750F2C880DAB0D47753EAD18C619E7E339C27F9739846727C75FC02EBE154F81A8F8140226C7AE7152585101AFD5F0769668F827BA550AFE5468E9DC7DC41F76730988556A10F2D334F4356EA40D65258E08123E4CC7C7209895BDA372BE28FC54F0586448E0B0D74B0F0F2B45D5A807E4CA912965B56A762F0D361C349128A01F3F3328159D0655488CE57FAF364AC90575077D5B84FDE849616E615236AD00DB98E2DA7029D2BA27A5E65954BB8F6F857CF5BC74B4A9EB601BD76FE4BD0C7CAE4B6AF0F476BA5BEBB8FF72F1028D6F1345872B039F500EC76BD1E79F9AEDC47A5E406D88E3A216BB57AB2E7D506BA19BE2778EC339AC0E4B064A4262313D512FD5DD05ACC38C8A3F99FFBFFFEAB5643B5463F950946A70545502AFAFF9752687E4EA5DC72DE7016F9BB3BCF1718444146F7A5BA61571BA9227EB45113F1587F4CC2EFF9DD1D1DDB655570D4D20A5732CD5D79A7264A143CB59E286E24E33CDD2123E36CA1425A98135D21E3865983B50E2ABE710927875D2DA0909546535003DE3A05C4D8FC6AC027E7C364F0C9C4B6C145C15721E2006D27B14AD62A88B338CF5EF21C76DF81D432C88D2E972E2E410EC3C721DA485E54C5A290DF53837186E8A98BE72CA94E6B8FE3AB9B72192DA13EF7D0BD2E2B9669AF654FE5BB20F15F7DA62C8E96D09DD31DE74533C7EAD0FAA678D7B79E7004F3C390C604620A33969ABCD5F136DE3D972B962DB5207E829997E114AC7A358F7A4D2B0F394356D205DEEC8DDD86F56D7853A1F938FD56BC09F86CB0EC26E36822D2B74BB5CC7C357957975B1BC49D5590F1333A67B9B374377A88ECBB4D68998FD88FD0438C60BCFC673AC71C773731240669AAB2B9777672E4AF067A71352139A880959EF2FF25FE115C5E089CA365C53BA45FD1F503E4D33748D7E79E214AC0A249525B2B52E13BC8BA413A0F31AA178AD8696998175B9486EBDD57849972117420D1874E0A7CD2AD0EBE6B76326629745CEBF1CDE90E3AC2739DD3A41EFD732F54454AA6D61849A4AAF0DE73F7CE6E51ED5CE472D43FF76CB9CE0B5F4A878BEB09A762303AAA45BDC37D6CB71F35CFDE164E5F7ED96881AD00EB5C63B325E50E028C778EB6AB615B168C5D2829D0EF81734A9CD0A123835F9890A22C8D22B43DEB4C9F4A64AE88453F0F1396025000E878C24B349B963F1AC5C81A3F383B3F69AA4BC01105C34791E280459F08150F7FB5EFE48B4B4D032651AE9562EBB863C0B08A40CC03E3DEBA2329D32999FB7762F9FC12BAC1ECCD17031F45126425A99A95A3768A965B57CE452778636B74FD4D0273785DB9D49722DE84199F4E16EED500332F552CDD683D3A1488D680A8D4A7CCAB66FF4B15CAAC98B48C09EC2630F265B8032605E3EF9EB5D6E206B9F7E7ECE5E2C6C62E581464E3771115682B0EB3CFD9156BC4F5F75B6AB4B18C875F6523F6F111AF4EE6C575089B149C64AB2EAE3A8B96F9934AFD0F13BCDDA89327105BC6298400AEECD0BD3A081936D1F937B8679605C2811DF222FB8D2A9B903F49658B956D14C6070FCC58624980AD0EC7C1C3575BEBD", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EB20000000000000000", /* iv */ + "43", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EB20000000000000000", /* iv */ + "BF9EA134077A8D23E0129D32073CB9781C28F39086EC8E5A05653F0A437C93BDC40F103130298BA808670E5D7157517EF0B00296341C74829558D5266175A4E5C734D54D26F5DC2F24AC7196BB3F76A0F2844332B0439947D84884B3903D7389CD73E6E3E377FF42358C4E48389A7196758B2500ACA0E8675CAB8CFAFFC98ABE5E2DECBA3F17BBB08A9DEB57531652FF36CE9A3CB8A210A20318A100645C4A5EBA9F98A83049A1B484C01A3A5197B28198855B5509DBBD3120F03F6AAC909DBA1667FDEBDE919A21A7C64ADB0B33BC08DA1E801F7C2C281128998BEB58A40C5958FFC8753443E856903B2F45F1840BC28003D9386DDEF7", /* encrypted */ + "9F38D4AF2F2A6511A6F0D76420C2EC1791498A36DA9A7A0E2C9BAF1D1905C9D8A09E65C6F0299956055719E0CEA487990403F8AA0BC6ECD9DFADBDA3CDBCBD6B6B196A0BD6155108B74357FE38ABBFC8A937076F1C65C05342FED520D093D050B86C13D381FBAC48898E4A9B2AA514FACA1499133F85F0D6F265F7603A68BFEA9BE570FC0D8D8D21095B30CA1C442663C653E812EE679AF5FA7B45282DC12D11C331630F5929622E1698446A5BE7C2AD1CF7BC717A76A2EA86AF71329CF6498B32BE3DAA5265F8E19B218B4F4B998B281450860B0B25472A00B16256B2FD8BEE4FAF1FBFA4DD8A577932B6A4B7FB45DE825CC00EBCFB19", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EB30000000000000000", /* iv */ + "75", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EB30000000000000000", /* iv */ + "83E2879A7DEBCB8CDA7F03D67FA41080C804751E5A106510C4298453079AC5DB33F4B0438421A8DC47965D37AFAE1A8789F8FDD30F9E63DB58025AB0CF8483DF9C4AED730C1D176D2599FB936761C276EDCE8A5E10263A6296D406E2E4AE106D4D26825579EA791184C42AF020043D265C8B39F74853A2FD5611BA951F0487A9C18D49862EE130E6510DE29837AAE64A3F399E6A9745582664B6025C42230610599C5DAC3D273DE80A37C2ED805DA50F893B5AE2C7A02B22CBBFC24C1D17701D353338F62EC49C5A262E79F8C5BF2762C48D2EC54D10AEDF1859FCACCC935FD7CF2155668D3FD91C10B66F57AA44462A0636860F4CA3BBC7DB17BCD1916ADEC10460740B1447C4B0EDE375ADF9CA0C4F3A", /* encrypted */ + "9F3AD4AF2F298E3802E5082D9BDB8349DAADD512BB935150169630D2484886BF0F771C80B67CC20FFA686F5B635E0CDF7C67B0155A8AA4F78D6321EBD65BDCC55E30FFEF5A86AC983E0E221BB30781DFF644A9FC2A9EAFF8EFDB1EE4275D5374F2112DD268C8D85927D1C48484CC4C4275C9C449B3F5D346481864F745A209D217D8F25DCFF21AF56D3D9570C44006F47F88F33852C4398460B307E2228F1FB6B4A3721517CC01077F9D5C09D0796A62392A768A9D6A5E48DFF170C84B7118289DAE0B1577D66D5BF705E66493997076995A19FC06C640F2D463EA5F3DC64E3422544FAC39B733961F78FA43134AA788BC4BDBC6A44668687B298720CDCF64A13273C37C7AB0DC30AD51527F838AA0F180", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EB40000000000000000", /* iv */ + "FB", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EB40000000000000000", /* iv */ + "FF1E148D0486F1092E49E631E02C321053725C6ACF8D11B35E4ABAEB11A90C54896D46C187A847FDA57485848FBC64A39EEF780E8501919E56022C3B0A4D5F3E3CEB751D5EC27DAB3099C8DDD6AE081D4F78E2C457DE8E7DCDBC3990AC10CCE65C39E3CD6DC09C271BF4D898ADC5A958656212749E65C1181144F3C3D2F38FBD0121EDA63F165F53EB10D93B1285B625BDFA800ADD6A0017D3A4A06AA42799E19D8BBE58F723C44C020E1B8C8B9EF351D3213CD5D9B606EC5822A8EB9AE9284C7F9F496419F609AEB3F2A642390F867B967E3D3DA2E852770F989C92F071B9C893FAA9E7F285A6968639FEB8F0408C3B265976BC4EC9D8E8FF5C168FCDB93B62980B2C69F69BA300A69DA26F84B58CC21C7FBF1E740A4BE25C48E9D9F7AE9CD37AE02705D912BD0410CC4F18C2EEBA427D3DE60BD4B06760F0F142CC311BFCC181CAB4AFFAD82EE2FFFA4BE80A32192577A3B8575101899FBEA0B73B435738739EDFB42D5F8703E8456AAB644E3F8DED8966F2CFEC6E0FCF96B9F48D9545ED2161C88480F11FA3E632442B029791B3A680519AFD9CCA015562C6B29D5481A1014F95C2BED57B87DA15BAF4D5CCC218FC15E43562E6FD195F2B7FE41A9912425E84667E08A78B2BAB8A6118DC582131A2B2B5C01BDF3CF1BA662825BCBA733274E5608FCD8C9C158CFE1EE9442F6F7C77A90392DFC930F7C51FF65F03011D49E985AD309A5053C4D01EB201FDC1DB851BE888C2DE9208F8DDACE4C59DB5A29CAB4C7AF2D767807C2BC697103F21DBF80C644A213C98D285F30097CE479D8DE5811763D7020396CDF0383BD3AC514D7781470AA4AF5788629EE4C065E4380A96F07AEB047271A32A23C1A35B8FC197C1B88E3813FDFB12DFEC38DFE3FC85213785D1E36108093C804BD501CE1BADE954E939AE5DA9DF0120F0B4733409910CD5A5D1D1209F8DDFA080F83C95129ED626A0BFAADE3E940C1280C00445F8A34DE3CEA361BB827651546E75C704213BCE8EC589F4C0E34B677B759647174C33CD1910032C52E5D34E7BF57C06D43A3F94EBC705BB3F5A7809CA1EAA62001FF55FD5", /* encrypted */ + "9B3E7A522BFF0F900C5B0F87DE68DA5240466CA7E40D03FC55DC2E4F6E96FDDF42A3CBC21640493766AB8E6637A300B56CA822EAC6AAF22EBD04DF3E191A673D3483B1CA2487E5CAB595F5F0D2B59CAADA5AE9064FD5D8AD2C0ADB04FC9180F30FBF7B4E5F42434C7F4B181E6B9E51B46EE743E9E18996380E06A8B379409AE8BE47B0BCE0C4385EAD70FA9CE121BBE1EF0B86D915774E6EB597A3B513C1286FCBF3BF39C3B874687ECA3F4C5B2A5D8DCF51F9EC89ABE52144C7638BE5B8EF130B02EF9E16009DFDF1D666E06E0683B93DACF9358689EA39E5B026D020493F9E6E47BC6896FF12AD7768B8F38139BB26E553650F4958C0369282C7A0E53AEEC5A1C6072B37CB13AE0D7A3FB2E96B24B380C94B2F32BFFC05EFC3B8A2FBFCAD0B3F58A7D648B937B2FEA3CD70D656A79C0D67583C1BC64330D09A6FC870E38142F86368FB4B7D48B87EA055A1E27A2B27EB3D65EEFADEAC3E20F07FA3B50A8B522EAD3B3B1057D0F32FE3FDD4D9737AA68E95B1B3135A585946A896F7EE79BE7C15A8EDADF3277AC8B81A6C5C80F29C4D24C6B8916C21D10264FB189B2A1702B78F2C050C155ED2459ABC50F0A197A943EA4944D32295924F81D70C81C524577E5C641895D2A821AC14C361DA0679EA8C61146A91B7A027F8702FFFC9EF495ECAF7015E6BAF6940ECBE1DCD93CA869695E08609A6E9EF5043A52BC3D3BA8B902EF58F865B7A1BDDF8B0DC7EE427986ADF3DB21863FCCD96B941D6907AD279081B5D06BCDAB19B7D101FE658026AB574B7D6EE01868CAEDD1203E6C05C90BDA0DF3D79ECFD194862065E25A92D5AFE7EA696FC45D3702656B4BCD45381EA05B5A7D7A4BC174A17C62002F74394729C1D226AB6858A589B51550A6AF48BCF960DF8B1923307B7BC9787069E754ADD2C701B270E7816A17E9F1DC048DDE85DC0E67B92E751B937A7F416D7C2E9E54B6D13AFC2783AA7EE4C30C0D293A4591C0CFCFD2B95F293D2B6F42AC39620BCDA648399A570EEED42D14CD46DF204EC7E19E40801B3DAD5C47A7071171D69E01494923C631EFE7BFE3CF2F5B9E15740EFB390", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EB50000000000000000", /* iv */ + "0C", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EB50000000000000000", /* iv */ + "DD1AFA8ED7741FB0A83C2EBBECA42D0F1CA2AF45E7F1D8BB3A6E3CD1840F2337267705B06FFBD9300DEC8C7E09E7B873C770C4067D8EA4C01F9195C49B876E36E3A5B38A19D73BEE7FA6FA8C0922E55E026A9A5E42FF2A0DA35EF511AD7ED6C61046710C4FAF5D6244A540EED9DA18E65F222054A67ED53C58FB6E90AD091DA88D8CE699AC5072EA5B860A62185066E95376267AD069359B14B34177EB25E844C9296DD9D6791B2BD532D1EFD2869A0BF2E4EB173E95C5E67578C0E5B4A5C3DEB19864C3BF9D8210C8BF15E713C97B77043B501E28C03FE7C363EC9B66748F99DDE16352BC41ABAE5CB50F249F251675BE70AB44EE909B791919D680256F0181A7BB5D6F516B5FE821D5A02A6903D4D82F6C277A3B870894E0399ED1153032527ED33498F70CF021D94ED50BABF36AFC643E380EB2F349E1BE20F1E7AAC115E12E4AAC959620EE558D90C7D1021B536ACF8579DDE4CE6342B61282C192AFAAD2CAC2CDD27FF3BF608537A94688C66F6A31841D30BA96DC504A19BBF162B9A7406EEE9CC06B24FF1ACDA673748B7D1FE022C1751C06B35B6CA9F513E1B36F14BA6C970BBAA40D80B0472F4110DA2D97703D1C8E79678BE47573408E037801DC6D50AFF922B3B16EE804C238AF9182FED56676EB7E9CB0461853583A01F6B65C4B1D78CEDFC0E935D741B7DAE9C53C8CDA4ABD9F06AF78486D7D1F431C66F4C70B5BFB244BB573B301FE8819DFA48691AB1AB0117C423E8BCE0FB20778E6F163D2FEE8430F8916CAB1BE17F56851D70A2C62D1750D30082B8FD960EAC8AE30C9AAE0C2739A484CCF1CDD80D55DCF0376169C2D1FEBB7DC0CFDEC1A61B3D99771703B1A9C3C909F370F58E645B5D6E3D26AEACFEB131120956B2DB95C5BFEBA9AAA20A8BE699C208968F2478096D68E149D01EA1935C0146BE60B74B853BEE5E2EE0AEE39D63D2C37AA3AA1F25F6216A8E3DEEBC8CEE056C0C5B70704D8A7EB3FA93D53ED30A0E998C6E2897A2BD20C11C1257633437DD213EE179FF4C9A19FEFF9F9A118988FAF1A49AD2BCE5CB71614E1C33907D12D42F39B7AC0D4F20CFB894D0320D4B1F2992DB84ACA", /* encrypted */ + "9B407A522BFF04384B0F92B03AB3ACF08A58746802366636B66DCFFBEEF4B473DAE94F1296A5203C026805F0105703B3753D5FF6D0FF02F49CB8D5B6E1E1F4835DA67B0C1BA96A5BD4F8A895D9904731C96A0C3E196A6591ACCF8DD739AC103254F38CBB936B8439E858DACA7ECF912A8F168ED2CEEBC875DF5798CEC2E4F17D1D387D50C1052BE657B041FC86B8FA0B235B0D341BFDC5B71F519469F42072C1AC1D20C7D1CAF2B396A4F666E65C5843A4EC10B924D6A9509263F7CF5F25EBA5AACFA5CD85502F5B9BA30382CCD767EEFBCCDDEFFA9A2F3561A8AC770F891EA4CBC454E78A745EA68A6B997227BD0AE9029CA62C922FD1A3824C59A07B3D59287316250C552F05BFC8AFEADD5E3B3E205199236AE3FA40C9ADFC072D99C8C2079FB46D82BE5B85A33204832301F4E7F77C04B0A3DB7D04A3DABB47C640416A6B3C1ED6CA60D063F57C1ED07E050E0357EC8325874E82A4CCAEC020EF5476BB7FD74A70FE9782A84B3713AA605DABE6E6E88AB2F14AF4A3F9986836D84637F378FBC8639B1386013D64BB41579272553B5495FC346C95F2EE44DA4714FADFD4197D61AD7802985FAFE57F6CE4ECA08E1D58D67104EE8AF53F1658BF44800CE03F7F276CC20F8FF77DAA9AF7B56C0523418EB5CDBA397826CF4D9E039F7E9F9988D1236E1D14B2D58E53B8C15D0598E947092E231EE4BCEAB321EACC95901B165C137785793419DBC7BFEE6CADBA1B2F096EE322916FB6CF18B2A0CA497E02493ABB5340C39436266D88688BE70F60F6D84CA6528EB40EF824FA131495B92428F8731EEF101FFE7641A2569D4DB07C1DD9EB6C14A0D01B6A4BB6D4E2842ACF815517FF776E8B098D18FBA02C915B9923D18CCDAC625F64FE45225FB40B2DE3DD5688DE4689D7F526279F2CCB6CCBC5892D3F764ED679489684620CF7C40D52E0743CDCCD2088C22A01A168E1DADC8BF1AE573D66AF7CE2B829470CFF16BD79AB40200962E16E887AB22127214956D4C6E34D49CC35BAB68B25DFDF334483831B7B004D9944547A5FBA3C12744D7B9EE55D117ED3EDE24EC196950DC77BDA1B227C434B15913A04303E98F1", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EB60000000000000000", /* iv */ + "AD", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EB60000000000000000", /* iv */ + "0A9206058CA9B0C2D961167A6756E2B55E10B8A82533948F36FDEAB49FD1FA77F8FE90A7A86B010AC182355013EB3628B59285AB32A62918FC4ABD45DA34478080509471618CC4CA87DBAFE7D538E878273DB0391BE03D0BF94D6362261CEA4596BCDE3289D10AAA8436D63882F1F1CBDA1A7F7DF2851522DB28049F31F1226D0C9BEF5DC068CEB32033130CC3B72C184F55751234F73FCD31B4001C615F30774A14297359609AD9C2530D3B122D1D3454DCD487261D12D8FA579CA6CCAFDF982FA54D067066AF7522B5235816A4D5D62B6FC2A429E610C956E5EC527592EA735B11FC6A8CEF6CC79E4E0E18DB63E6AA920D891648EE574F3D6ACE59FA2C4D6646D440AF79C8AADC50192BBD34E748F0F97E06C54EBF31110762D01DEDD4147B3D6B86B3634DD9F2FA9AD96BD4D0140F74AA1DB0236851F14012CBEB12DB7843C4899EC07F24B385259CC0DD8F5687A2E0603F71EC2F7689FD6D5CBFF77910EF6693C91A1FFE404262D762368EE213DA96DC44E349E0A3F7F954C4D4FF4204B325550969C0290B63EBA04BC4183276AB59B1E93279B9ABAFD30F20FD87A1D4EE244707FC8FD091B262DABBC858B68BD223CEED9533943238ACBA6E6E7D0BD182E4775B2678CC4807F362A916CAFBB908CE82E3E8FB5A89EE31368E94A6F740AA39E31C0D5A544E46A2D4FFE5DCBC36D7EB2193E5836D40BD0E1B5B25D16CCCAF92FCFBC204F5B97A81C3482C1FBAF03774593E5AAEFFE3AA200943ED3E55A44EEB9424DF20F57379D5448FD19909499390EEF2EE4114673A813D62C96F4C36E17F687E92645D6F0F7B66E22503F618FF4FD10A71BF50DEFCF5200B657516353ACA6E8A2B0A65C1650364EC9123E914C03A0F5A7294BDDF7792A748B65938339EF731456CE32D4BC06B5169DBEFF2F39C6442498D5349A12C76933E184D488DA5560A61043DE39CEE99F9582CFDAEDD694FF1BD84A140D674E346E3598D42D8EFBAB8689C652C647EB8100F77044D81FEE04C7218EBE82AECB7FD89D95D77DB", /* encrypted */ + "9B627A522BFF09F561F663BA01D81292600F6629D6172338F8195BC1FF1BA7C478F0A3891FF16D660C3A7064B90E60D0CDCCCC6791B0E9745898565C2CDF8B462DAD2D32240B220276487CA399C573E2E5E7DE2765E5982912BAE674C442C2D2BAC6A16EFBE031C6AD2D4C5D7C87CEDDB3733FC07B59731B3459F5D3416EB152F280AB1830E75D559E8ED411BF2C0776BB73DDAAA3B8C2659132B8E8FA9530A316FEE7B0D98F71AD34B80E641A799ECAEC0FA2727B10DE10818CCAA48239A621E690AB26E4C7E44D499BCC80B64C401530ADCFDD82BAFCDBFA6F6387CEF35766685A1E3EE450899B576367E3A888D45C71138952FE7818ECF8E5A25B5A747F322E3641212A10AF5FC0E9185ECE71BBD8D4BA28183954A458F7EF68F180E5AC1303E987C485125994E6C806116001E4F9E918DFE3E0B4D787A05BEB91DE7E35CFA1E2290D8C222664805FA2F85DF981C6F5D9A20D6B656DAB4CB417C855233D48F4F77DF14E23EAA5CF868703C56063B3D480F906025A4C47A7F2BC02AFA3AEA2FCDBB0E88990D9D835F6F6A90E16E27FFBD55FA863C4633AE2A7593CA3F35B0F92BA38D7A1C69CE44E83D78FF9DEDA1EE2884FB983777E9F50B1745B2650A93ABA0C402C72DA6314EA5E52048F41460AB81585BE41F6F291638173803F1E2E5E31722EC7195CAB9FED443ACBA59DCD9D3C10E4E9C3F8476C654C6255CDBA6D8848376B4E1DF0DE7E4F80D229BAE187EDDB9D19651124DAEE23AE75A8F308A77BEF78EB1C162E142E18875FEEEE2FF8707973C244E63A99F39ACE801D272644F1B068E6642B6B464702D5E8A22D1C913DAFEE64C4566754970AE9B4D988CA6B716EDA0335B3C0541257C899667A6271E88546A50F8BEF66CA4B65BD2A9855C19F2CE439B3171CD4F4D01D556F05B02655BB5E23963DCC2DCAB0CFC24E7B27C29B2B7D19E83EBA0AB6D6761666D644956881A8A4351E69D6359DE177AF6A3CE4B50CC5564314F6A9353DA3292A3A3CD3D695721C65235E466A33AA7B912E1A90", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EB70000000000000000", /* iv */ + "28", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EB70000000000000000", /* iv */ + "255FD4F52094606A1E9AD70841F2723D4D2531F923525A95B9F7083D70FC55C7AC7969F4974B28AC77BC469E9E4FC342AE2DC198CEE10073A4445DEB6EE1FE5F82BB1E3B52F6283832C32BE7BD05F8188B55CF52774AF640E2833E841885BD203DACEA5891204BF73A917E00E759E4EF8E6C394AA10697EB4DE4889A8FEEC1EEA29654575899644F5887CF2B4167D00069FAABF68DD13BF0C969E225F16A3CDEAB75386E5497C4F59E451DA1B9527D819E110AB6D26E096C20EADADE348C2FB113B553351AFD9B2577A0FD612B7C5129210A7DCFAF74224765B955C664AEFBA66BB0EC21325F551269F9F884F511F3B9879C98C0E128CDD55D5B4A577E9D0DCD25B2E91EC364892DA189E062FE7ED71C56DBAA61E74296BEC8809A7BE24FAB317F4FED8014D3B7630234268139CD5AF6FB7EF70DC902F306FA66454BCCFE54F16786B3AD81AFA1F23BD4797EA6CF7D63A426C40173C357141D8F7A4819AF84962E077E5145AAFB2D9C48AAE0A10E6159F6F4EDD01C7A25559CB5807E5863DB9C59F1B3980002FB4B7901A184C1B18590BDC87D47D187B94B1A887C7887DA71AA0935DE28C499530A92B4D180204BF95570D439B606DCA360D81D8EEE43BB1471FBF419868802DAEFDC805781A5E150C27EF79FC69801AEB8FF7602186A1CD7AFA71551B27897A90B3A3FD99A500E1DECDB6A247FA040113D7A2348491C97419079099FCEFE4307F9E98E7B7AE6BBA0845DA2872D30E1683F15C36B", /* encrypted */ + "9B847A522BFF38876D20FB108C2DD719F00F014D5D2D3ECC3AAA338A21079826D65B1904174A87E180734EADC12026E1A629D3A551039EAC9878C92A34F206CACE488D236B14F24CA66F3482F6E0CE4C8753C48D587946460E26DE104C38D90E8D801B97D999549FFBCEDF508170A884B6E8CDC6A6A5660782E8AB4EFAE7E1B063EF8E1ABCA4285235ECB86D1BD6C21F601D046F35576808C2D0529017E1DD2A88246C6524A18C3BC043D3B3A6F264DFB46EC767A71A01F52C3E08E57085175C1459505ED821707B2EFE78F818353944422A40F24A1F74F3118BF70778993CAFED5251251070F110F587CF20003BE796DE9A2100957334E94B2B1A0368A051F07D782C946D05BE8BA5F01A9BE444A6BD6D955A8C4934C9C8C459EF8F32F1DF49395D9FA2336B658717AE7EDBC3E744C83CE7F3C29DC3F7BF6A1C5EDADA66E0F68D7E4598B9581EE04C0D524FBB84B8EA39EC86730925FA7408D497894CF5C94E42A3F174ED5FC3035E788CBB5480037BE7FC1B8C4382E63E88A311EE61DBB6FBB73D022655DDDEF8C883334B1B8E05E61382EABED3ACC01005452263BD7678802BF58ED89B01F99A4865B92EDBC68B371F214883FB26BE383C567C4CE663DB1AB8F3C9BDE636B8B6F35B27639D31C6417979AF58BD9349AA145DD5F70AA8CCDAA3298BA1DC7447A49B1891363F729DCE69849C82BD79E92232EC2BB3945F2DC115D46357CBE5C8FA8588B1775183E98FC299F50C4E602E09F037A1", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EB80000000000000000", /* iv */ + "01", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EB80000000000000000", /* iv */ + "FAEFE36B1CFFC67F703C9965F504435DA7E31B66A4E7A58CA2EF4B738AD7DC99BE5956AC4E8D9A85E57435F1AF48AE6EC5BFC5EDA82FA25819A9E3C9DD4BDE178C53A325D428E9717BFAF92335830179253C60DD31AA3A4D5D26D6E79F39E2D8CE72D52B14B925481042FA359F8FA8642F51663F1BA31F478891594A7DE0D4BA45BDB5F954DD92AB4F18CC803B0C3718E62ACD106B3DA8C9F470CC8C2309EF4324500AB4387A9484A0F0ED73F5F5B1C3D58B9D2B1DAD22A38D68F9D48844E69C50F9A620A393F5D4CD79336CCB51F9375CB5214AD615B89BFA93647997C09124B584CAB5BCA90537EF2ECC61F578956DB917C60FEA994B43FAC560F85F41CB8FFA6252D7E3C8B6D5B0F23F10E085F06324F770EDE4DCC5F9F7BE213A67971135B5174E17886F80006AFFDE5DE2EFFB292C219A671CACAA5F89F764ADA800B76A5AF98589726D2A4279DF1FFF08BB6FD019253FCDA32A538192F35FBF3AE7AAAC820C602E43879641A5814DAE0B2DD9F7971BA480DC788DB7755D52E75878A295BA4AB6E022F1E830DC73A10DBE6AF1ED4CB6D2027FF7DA2CC695953FB21D34CDC03451E28945F781CF62950923CA35E480025842DD1D8F9BE5D20DD8EFE03FBD6CFEC39B90775D0EBD0C98A7D714D7AE536287", /* encrypted */ + "9BA67A522BFF054B99EC71A21121224D239CAF8A6EF36900CCC458948EC99154D56499D20A9200427857A51DC736375309F28CC9882928DEB25B9F3698B47294811B61FF969DE3E2E76F02ACB386B7CE06F03B476FE00941BF929E0E4DA509C4C0EAD6587CD550530AB1B0E1752DC6B3E92A5B34FF577A98C09671EAFEBF0E94E1D06450271115B53B959C5D76ED673593C2B22701C96EFF0202020F0D9C1C73468FAF2C0BBB10FD65D690A2844565EB380A5439DC65AB186FD875494F1441A88B819D2F800520700DA3CE07220F0E2BE1AA9708FB750C5CFA5FDB635D8A8F57AE7672EC7A5532C18C782570C98E8299C2CB3C2E9223ACD97F99DAC87C6D9D5CB5DBDC248120AA8DEBE2689FAFA8B0DE08A91BEC02552CF0CEC988E6D8A39DB74DA46F632DC978ACC941C59144110C628C3AB473F2FF788EBDC7B2A76C700E40C4F7E175310F94AEEEBA203B802760D8FBF90E136C90D02B426F39A6FB137BA9AE5CE50B54BD60D7031B3DEFAA15AC3AADC5DB984059188A4B425263A4796D065805D887B53475E12D9820B218F3C0D75D7E3A07A4664517963A9CA6EDDB9DB61D08DADA2EFA77046B7037F95C02A20D7B334F29C9208AC8F9221C04BCF85901397002B83F8AB523D9EB02F0C0B12D06B488A8", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EB90000000000000000", /* iv */ + "9D", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EB90000000000000000", /* iv */ + "3A283A45BDB631EF5B71E4D1CADAEA0581F8AF9DE3", /* encrypted */ + "4D401EE8805017FCB0800001F480005DC0078B1689", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EB90000000000000001", /* iv */ + "D03B09", /* encrypted */ + "EBAF20", /* clear */ + 6)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EB90000000000000001", /* iv */ + "43BDBF6A0BF0059BC506BC07FD237DE34E0836CF78C109AB6C7EC9BD3FC1CADE0349ADC01595A0DF4673DB91ACFEB61AC752B6D33B0C75A4528723F34713F9D0468408A98D5B70DBF48FB9EE94DE54D529FBDDB3ED718172176C170E685A6FB953B5BAF29AD6A34A44974B0414460359ABEE7427D3645C23C9F3430A525128A5E078F681420B165F5C8BBC689A386564E487FAABEC64C9DCC695CD41A74C7BE3A681792DC9623B45C547E93B29D8A76AAF0430D18877B7631125C72DA5B9E5FEBA4A95FDC27DCD1271850B0D4BF482440301F5432C71DA1EE32E7DAB53250239CEDCA058A770947200395385C7B74E4BFB50B5B996080E4F8656332B6098F397E1B43ECA6B2AAABE1B2FEDE2491462EC3383EC4447C930413C5811657BF2512ECCEFDDB3A83C5F20C69FDC970000C0955D92C1DF6B51928A3C86635C523DC67A8003CBF4B43127076D59FEF9502D193A926E2411AB35D1797B941F1916E5490CBEC0D179DC53A34324EAC30EB739DFB833862889E54972DCDE817096D74C3A4378CE84F81220B77D99967EF481FD168E3E15CC5B8EC44E7213D612206F469B140FCEC928B3B56E5A4BE57A2F5ABA22FECBABB61EE22D6F2ACB919C59918853D76FD992A50D8DFF49F7C32739606C139328EDBF816FC4386EE24B19EEA78ECD5E554838DCE62312AAE3B3D1307CB707A4012EA6EA253E27BED1D3989D7A59332A8190C591ABA63464B7C5D997BFF800AFDE10F5281FBF16D2AFD56E649F349E6D67AC7D7A0A95B7EA830594149EE71687D1976FF78A33C6121DF35952D14C79583E63BCFDB8CEB0A18BDC4D6134B66436B14F7352010507FF178E621F1E3439D2257321BDC38D52C2CCEC59C4F01498A1939DB696719DA3EC16D3F2E3CD78B51629D1351E72301538453B55D2B8704B52710B6EE1B368BCB9931B532EE099942E627D138B19466FD1239BF6B49CF8C2B5FF132D461C3C24E9F0F75998FB06E640C4EA6157F786BDED48C77F3428FAEE21820D428A06F9EE4044A336CBFA05411127B2270E3A6AC64D1585FA3E174EF934BB5D57FB5164D0EFDEC43EADB6BE5C1D4B19A396B68812B40D9F62885F8F6A292465A2B10B02DAE34A46E13CC2D960A9C5EAD8F584D5E484EFCF5A73CE6DCDF2958290D35BE281EB4E62D825DAE88263CFCB5ACC5BDEADD78389E2B6CCBFCED2977E26EB217AA39643A128A243796F38A36D453760A816A1AD54B0C79BF5F7DD283CBEA92CFFDC2154C53879D87CDBFB5791ED8D2A47F03C9D4B2E0FA2E0175F9876CDB510D6E2374D4315A8EB7046F1D37CBBE6A62975A5259A5B57D37B6BC7D4C6D4F1D71005FDBDC5D06D9C6AD18815EE7889F97C89D934AE3DFEDD109382120FFF8A6A83D21F773FE8842B1D69E676D58B42180881D665525E56C83D5150050505449AE5E91100C3C17060D8365D68C1AC140A7ACE258E04F25593A9CDDF227105AD9FAAFA888E1C563C3C8B91A84A5F14EFDF3C658F3164965A9DDDD6E8EAE0D3715C2B8D9A25EF41E20A3452E283B2BA039C2D3E12608ED39C6AB175D951BFEAB14BBBDB6CC8DEFF326DF0F5633F2AC969C7C6B1DD9DFA4D0D43385AE3FB08D076E8108A28E90E49051726452E33DC0F503B037281758B31190123D94B0340D49BF3B1F4E58BE44EA54A0E6F58B82888EE53E954FA34693D26DF65B15CCB615EF9DBD3BA802F34BAC3D08B2F79C18F4F1423C9980BA7B749E893F16A7C85F0508EE17671C2A0D8562709042877192B88C19E16B6C013EEB561619A34FD67DC95AA0DF4C69B130AF6E7E11756EDF8C5A625C8B8112838F338146DAF22CD29B43BB6BB0061ABFD8802DF0A9A3C49410839DF4110D1F2D8095EC5944F7511D75CEFA82518289064DF436AE17BAAE5CAAF5816DD494F9346876FF5674C1D5E8BD64142A2CDCEA3F18F514CCBD8D2DDA0091A2CF2F53D71430A7F22E71FBDB78FBF95797BE8E66A62994498845AC4513CBE368CA03B817A29B08DF7A2CF4599941607849749CF3D717F594659FFDCD63AE5ED393393079CD9A74DC9499665A1C66DCA2F59A443E7E5A24132D88C9F1E698341CE9000010ADD2C560A5462BBCA4BA1D2240A5159BF61E9800ECD421B25469628D191FB7B699610CD6F495C341E22C7332000AE5E8EAF6CF5CB3C7BF99CD6F691F3AD23E4B82F903C30AC79E6693A9599FF3E6071471A7171641590B5CEDFED98B7F671F97D336571A7307385A683D4BB6A274604736344F1DE82F0665D61F1678103BB260EC4C01BE0C4F078CE1FA17E31397853F1673775965F2E16A925A0DEB6533573463BEFC5E92F207DD5E9A589676DDC6FDAEBD0BB0DDD7F0536D9DA9C2CDC5708DC05CDADBD9FE057CC090A428415D839B3550A53D21231E3F3B1C5FB4854EDAA4E636321B85D11E48B31C1411CAC3C51342882FDEFCF7B041835969CED1FB702643C0D10C8B91C00A0DCAD4F2D690C907CD769540163604EFDED021D7DDB468C9779955B8D790E00588525BA3A82F3BCF7F0A8CDCFDC4E925FBFFB32BAD2B28F16ECF801EB46630BE75903CFCCEACD74D2E88389F34455E5EE1C8E911670F96F09D778F22B306AB4AFBC5BA89932B42E20545DFB2A60DCAE3502A57C0E5EA73C8560C6932DBEC97601AC4A01374E742EE2917DC96204F3647A2F3368984C48CF5B42B860039B8B36A0116A1CBE630F30F395021D96E5C3CB309AAA12CB71B52C0DF02BB6B4218970B0D12A44DEF2101E3D735927929E5F38CFBCDC8CDBFA7852039EC002C9E9889AAC6B874A402FC352084A75CEBACF94BFFED2A9904894F889F4F70890A8E537F32A95CFF77863326460799963F392304D83D3DB367E061419F3441E0820C1424EA1593AABA40678E786F0EFB19C50C1F198A5E7AF977E17F1B4E8A824E566BCBD9464D38DB7C9A80CEE7D617AC8CD61679CBF1E83D8EC5D9084F775FFC1D05B9C61284F59343FF2771A0AC37B68DD5AA20974E0F8C955CE829392FE355E73AE2DCC03F248527D0E565503D1DCC91A95CE27EA048B2199B9771ABA470FDDA6A95E1B27A6858FDA8DDCE6566101CC9DC456D18A666B3A2F4D7957F87138737BB1966D181F4A98636AA630C5705056D2C6C8556187FDDC1FC907155F53F7DCB084EFB8490662FB4E38ABE9E53BC5F3E2128CC6E021CD22EDCA32C5BB273C176FA278D2833FFF217A3D172EFB24E057C321491F7EA59B114538C7B189B92C1C7EE8558C3561E6CF7F0CCA4F912B62B6464DD31664F42A43A8049F39E28F49AD72F37C84F67522E161196EAB73BD675964A485F8E9714524D3EA5E3AD9E4AEABD9A69CD4CC710D1A9763F13614BC1BFDB4130E8235F947B330D570F7CE4D60BDD99361024B81F3DDA0B6693E7382237D0DC965382791049F12BB7D8D9010211BDC38F92CAF7FFA1E3F3BD6C2070A280075B437B5E6F4FFC77126E2CE8D1FBC67D81D3C8777AD33572FEABB1553AC7BA455F5E04CE4B212AEB6E040490E9A4DFEDA8925813C1F847786E628DD946806AB86529464B1111E71D593961326C207084F91B3055CC9F0FD84608FAB28D3C2745C87DAE51424D0D04D1CF1C05F65D6205DFBDCFFA62F35C760592CDB15A266D3C2C787EA56D58E6A4681DC32BDCEC6A2BA6ABEDD77B66BF545E15998301A0859D02E4FCCAB231BFA8F44BDBD9C6F1C1C24B54795B3D7D74303A3348253A7D73F1D4533C761E3ACF4D295A5A910961FD93CB3E603E310D024BD8973CDAEC3D3751D4A35FDDBA390AB3F419296F55155F42276CC5E4C43727FA2BF04B64589579B5819A69F517497204D7AFEA05DCC4F74C129C08B3F90F0107660ED55AA0E1F490497EC8421B62D59A551994EBAF3317533EA30BD75D06935DF49D6951456DDE0DD46E4152DA0100C375C73578729765A146BFFF2AD2B351BA67915531DC5C4EB37D0979BBD2157DFF63C09B3581E141E131AF37737A30787226F6B28F50D2F6C507AF1E38A1E80E7C57BC306F1B845BB7FAAC9D84253EB75EDC3C84C55797991E0A2A59BF5EE825FB6783D09B6A23D48DED7466D6587942686794C4B620C4A159C762283F25A071C97D6A0A8AFACD3190DCBE00710DA2F092D5C01644E6A2B5FFF3394F2C2F984DC61A39AE5A19E68E8928FF311BF70FD5A50B1B7011D78A18240251EC136A78B2396D9EF87BA91DDD3559D9D82AC503D3204D7C1BC17F7AEE74AEBE79402CE7C1863C39BE47068069375A5E4E20813560DD0E54F0C44592872AA100ED94CC9FECE77125678AE21B5447A9CEA252C819BB002893541ECA3140CEE22DCAF361100EFC2C4069FB63A2648EF6D6E2EA4617C71E2EC6F66590A7BA49E7DC671B43B8273A732981480B43CEC4A97A11C24DF0A9B32F3C2AAE62BF0E5CF77EC648FE6028C1872B5BDC266CBCEB8EDCA2D4A142ACC4085276B8E58B0B7D77CF1AE3BA20958377F5C76D76E5A389F701D28ADF841C2ED24C707FCB5FD4EA010C81FD34F11C87291ABE671E310A50D728941A9E4297EB0951394D544DBD955A7E689CFF33B7761AF27A8755FE5CCE73C52A5D9746E34C7D02870AC58F6779650118472BDC719E0935E7FCB8BD5991C2584AFA84BB739C55695CB3E67BD1D758668D889B360601B1923C53C8D29798199B19DB7C7C4BD48CD6BA4A44B3257CB0412EE40C0C62490B72E169A8F8B362783E21DB22D168FCC4233CA2D038D152D53B9CFA414BDB1CC94D4D2A9895EC7F49D0958D9A7A9BDAFD7D787D14CF9C402B0CF5A6E5DDC5AE1977DC6774DC4CA60864966415FD1C9688BBE77EE15D5802859B79BF951BB1958C3B851182D45D9B6F6FAAD9BAFBD7339D2A4CF6E745C97210E9F065F74C49C9D5B537B99AAEDA50C03810AB4B653A09C12A3F4E87B4618A3D5FB17915BB87CD559D37F936CAA54E69D2EA46205BE4934A7AEEF3EED16DF590FD29009B9A78D1678F6073E8ABF57237105FC6336CF3A6207E7CAB0DE2FB0121DB150BFA2E6478350D72C0287C331021C524BE9C0F606B48C7BA2D35DED61398421C117973F1DDBCE34AFF00D00C1900FB2A940CCD05B5F004745BED221C0DC97B1F056FB251782575C7FF9742034A3BBB81E1AED3791651C8775AD513E74741BD7AB1A6DD48A79159E8ACB82D359A1D257F28A4F92E4D9FB32096D157A639C37A0522413EF0FC733AC38065DA3F79A765B070459E258233085B1D7D38E6BAAB3D1EDAB0633A22C80DD3B4F881F8549D3B6C49C9A9EB0848876255E6D2E7B7BD9CB4A5164264C356EEB9DC11613DBC009ACD61D1D97E1A3C214EBC0AF035B217DE03D643B0F1D322C91268E97776353C2C93A46D348A93BF634790C8A7771DCB0302C2AB59ADFB45E6BEC7D7D645B7E596386027D8A605B41E87242ED26F3A1C9FAD28CF7EF4C03F16F7C2EB11D841BA6BCFA05B8E87FC427B90EEEB832213B2A2D049FB9F502E445614A66B03AD45A0920403592A573F2F97CAFA0C0B6375FD7C418D46AE6BD15ABDAF4293A751F0FAF39C45198F0E6A79715600A2651F92A018119E0A20325E7F6403652163ED4BB88433E6E9C641B72326010348290B61ABA00E5467028F80D9114E84EE74683396593B4CDD8BB2F155468C0112638BAD6B3AD89141CEC2BF889F0E75CCBA280A16366B8DDC13E4802FFD75020B9E84DDCAE413F1482279FC4D5B7C1F936A371A44EC48E6354ADBB475A45D63C344D1EED760FE5373CE0A54294C91EC844EA5C2F712D74745A5D31ABA1189DD86F0316A3DB87023489AB462C24DF0EE80D9899A9B63DE081FB278BA7680304C1B128A4357DC28F1293DEABADE9B29D25C79D02B8369D6BB955DEB05A6B8110467BD9CCA7094EDE694ACAB2477D5815F2B183FC7D88D7B663E4152E7BE582F92E5B3A454D5B73E7026D3D29A81B4C108C39F7A89E63048E079CDBE1E35147B0D9AEF7C473876008F7C751BD2833B76D32CC3AEC51E7EAB28EAB1319F91017FB2713C4042D97279C13D68619469D3A8461918B149E5B09E2ABD975D6B51958478E87E289FDA8CE23BA77E59D464118742DFCA53ED46588B5079B1DD28B2691E01EE3B8074575148DD577941FD05CB26D68F091AED34D07C99F5AB25D18C476B939F1029B35618A599B069122C27EA4D5105344CFF48A2F1D3FF7059C4A54E31A9251356278D51326EC98D5C595D9BAD55ADD49078CBA849670970957B4E184E77258277B8B4A321FEB759F1F83D53C8C4E4D737EB9F8E21FD5B8FA2C015198892BAB7A11655A08126270A5B5464356162290539AC096700CFC829172FAFF6A31D7F66AF4DC4CC9F472DC866B82ABB1479E969399316EAC8C90A692FA9658F6B767B34B26CE752DAD36E7335E49FFBBA732C69304007EFEBA770107C7B33FDCA8F8B6E4B47394D1B3720BB072826527FAE4E59E805864B283B8AB32E06995567765DE2636FD866A37BCEC8FE9C314123E699DB13DCD7C9E1B99BE08552097C13B0A92DC8553709B898DE8980A234BD00780BA21CCEEB6E92BB150864F59F74957DE664E98C599292D80564A370A1CF1AAEDA53A781204E952DDE24A44737F92F1AA31FC57277D96F197E0E8CDA29D3B0781A28C9FBF5C05DC8BB29F39D84CE5EF6EDCE69A3C50EE412B195DC965F2FE91B10B168E5CCDFB569EC9E0C8C7C319195D616231910A06CC088F0AC49AC184F6FCA0F8715D960C6F01916F519E25FEA5B287C1EB6E3364197DBD6F7D49CB9AC5ED77B99D4116AC10A7EF7624F3D57EBBFDB4A9F04FBD52A06BD58C5A520A33211FBD93902EC5E174FAD7779920DC3381AA0A7A9F88487F43EC983ADEEC3B8F2C756D211D09D9321C3EABDACA11982DB9F3B16B5E2DD5C75EAA056BC268EF60395059ACDA862D6806EE89EC881EE3B42DBEC60AA764DE3FE90DA6B298F8D798995586926FEE9570E26800D21A4BCB75AED816403A07FAF4AA286EF6F42261718D149005A605C88F36CCEC77842397BC611B85E9083FBF378AC34C0226DBC57FD9604C0FBDD6516DAF219B684E419FACC48E2A2339FA4A5B1CFEC7ACC3E531F64B8D07CD24C4AC7D8BE0F37260A8EBA014AB7A49DF6EBD92C0F940C3B96D06CCD2C7CB0970FD22BC45E223C136C27E3F5DA9B71D0334F7AE353EA8FE793C6C4338A3659811B43DEBCBAEC40CD819436E4358683F6770257F8DBE594D7EAA51265A48666D9EC9119D3EA51AC668474E7564A0C86E75F262FCD11F8A43CE4A76FEE1D94F29246C457E267A691567B3C1FAF9F11301283FA95184EB6872C0B74D18E146B51598930D672D80D16A31DDF778E31D840E4AE0C3A01BA55428FD74D03F6665073F9063550283DB4BF3103E13F0FA844B4F3A538DF3A78C48D4C988BF61CDD00E802DFBDFE35CFB16E61C8B5E504844A4DFBFCCF9613EA8412A656761CFDC52047591587F0B6B06E9094CAD09264C2CAFCAB354347B4E2C1E8052DB4521E909283C6859FF557C8F0EC499C51F03448C2F2179C4FDEB439CF7BB15A5E908E77CB52947D99DF36C1D8EC15DD8434B83961F560E118D826A92F1A452A2C02C7FB08F26AA807FFEA33D679FA63195E2DFA329724026DF6B045AC04936B440F87C8C9F15A737F4ED8CE67CE04CD9328ED29B6D1AA7EFD5A58B6904C60293AE5C639AAEAF5DD18852A8E42694923C177DAF4F653849ABD7BB2385584E7114E38734CD9305CBCE9448C276E8F257D7BCB80CF789D0496355AB87985E16FBCB4D92805DBE5DA3ABE35EA83EB1F1B10BD298ED4FDF33CFB3A7103F9869A37313DB74E1FEDFDC13838C7E096CFD5C5F45EB3ECB0052CFC9BCDE67BE1342F3F039127F7AA6DAC89C70A4F0574762A69E33F8BB57A37393C65F3FD2D97CC6147F071B7126FB7A8C7B11506D500330FADF4F3CA5884FE4835C7C89177AA10F2D78320AE1C15165ACDCE5B44E11253782F628916FBE065390C8ED448EBFAEB4D37E76CDC6A376E3B4F91D622D3F4F01A1DD03263DDB551480B57BF30D065C97D04A10BA4AD8C48610510F05FC76BD7021D2DD99BE9001CEB74CD217ABC82DCC653C0149F72C72213B264C9CEE3B48166650AFED019B9D29735CDA51ED1F24D184E06EE6C1A48D102D3CCDE000C66865DF5873760C7072E1E0F755AFB97062DBD47DAFEB01DA31A27168AAA2854DCFCB24DC63FB9DF28E681C4F7A418E603FB2B0E2827E18A9FCE3C38049A1090D8A9EE9FAAAC1B63291133EDF7B1A0B0E60D26C7DFF92FCD35B955B5A2E3D8058D07C828C02EE8E418DB158911372FC0164FFDEC64433BD18A7B0137BE796903556A8B20530C190B564D9423DDE12404681AE4DEB9044C3F5B5027A76A2E20293688408BFEDB069D3FAFBE2E33B5EA395E6318695B787E4EEBE15D413D080ADF82B7E8D364AEB2E70BA2E0DCF935D42D4B0A61F2753233E39212CAC121BD81F99EFB078C630B01256B229568FD1CB2120C69732413D40DBCA2AF4E3BC6835A395E9A4B32445AA4D7FEA00560D20DE9945ECF5BBF90EFD1C45DA1BAA029D62C10CFE017A66DC82C0295EA8D6F922B1235FF7D81D1FC2272BBB7898BD7B4FFDA61A2DDC147F6D4EC9D1132B601D0554C9184AC84E4E8E1CE1621B1CA4068D115D886A272E5CCFB6E19A37D6414EDB43A1D1C19BEDA85A57F0F67596D926C1DE0B83FF48FDC7598D01342FA34DA6021461DCA4752BF54D647DACC65F4A52C2A1B38EBB83CB1D8C5ACD5EBECE1F8BE3394F1FAE1E0FBA57ABE35A2A226D5FB6705A60C842F3B5E87B8894EB3DAD6B85F5ADC57E1AD5AEE89A50244C839E32507D8749BAC0D5E89D4682A0EF3075666DF1F2B8474061E56A745A318433EB6FC6D3FDC6431601DE9754037DF8070396474D8DA1450768B526BB0D67BBD509BDC5C58A6F0A44F61E2EBD07DD43235EE2AF12B653FD22D0B8BD64678F605B522F4A954BE8834086126DC2F5A33DE09B0639631DDFADEE21883032829C03B278F1CBD1E386F26EB8B47FB0E159C97647067A8E679587430257F096F6053A882B2A62DF3023B42C6FDD7C85B5E0F46C335E13E21862D2AE2D193C36BCCCA7001F7884082BECCDC91E8911719E4217EAE0978C0E79D1EABCB7332183D1BA3F92388382A36D3390B5BC14A67E28C1295DAB497D1554858BE9EF1173D7464203508D2BC981FE43DBE291880C3DED189A4B3C91A35D7C182A4CAAC385A62C059A91E82F12FA3EB32EB75940BC09867CC179BD1B33B1A475097C3941DD39F4414839E96DEE7904A01E1A1CF6AE952B8423923ABDFBA31221D800A3F217C126692FC828DDD10DF496836E9C52675DC578AFE1FAE01CADAEC307853576EC3F71D5DBBA184E675EF65E8975181BCCCD12E7BC0C823A54CEBFD2093EC8C96F7396EF7D488918A1956532425D4825C96E014733FA59C5C5EB7D21DF58105AB1C992F86CFF213E7D790E799F362B27E1699DC03D877E644E2CAFF6C8D5B34208E01A6D95A25BA2FDC0BA3B3B6884B2E5875D3B0472200FE03A3DD253B483F8D67B875094DA9745641C8BD4AC9B2D0205B672143C4B15A12FCC069CFF9B24B3246B1E31C09472B2DDF443CD59C3950A63F8ABB97C8B9CF7C3D4B0D8222E926955FB11A836B5FE78DE4306582952860DEDDE92CC932AEB368580342443134FE71443913BF971D780C4709661F7DA20E6655D0E029EC823CB523A2D2D141EB87E728AE954D18135FADE0550B2E2A20D09721F50DF23EE7CC469C17D825D5CA26E43FC7DA8BEF1386C56EDD91A3792C9E4E015A3E85888F4B792000F8394EBBCDB2232DE78CCD15C4D1307DA442F49CD520F7151DC99B48C215A3CB7ECAD7A274DC60F147C267B73A031D75CC0F3D97A867E74C3B84C58CC8FB079EC17D6B8A20DA52C95E09D7D431FD07DB7F5A8FA3430E94B32D968E32D47B4D228F4719E19A01D166C11C6C813DAB34574EB11FEF28FA0D5E3934828D8E1359BFB80BF4624373AF9EC4DBA65E94218E77F94E0E81E30C3E5CB0AC087BE72FF1D002D0B537513A3723282B696AF671FE426CCC3AD93477D7225E0881037A2ED4D6B5F6028BEF965DD112AFAAD78768AECFE9E7A52D05BE662F26D96F7B32A0F153147FB9F37F5EAB353ADCB7E1155D6E8B479D0261C1447F3451DED2703E4B660659B6B01D86F84439FC7492744104C3CF2358EB5A3529AE9197CE5324999416CC871623EE5000A766F24D42A243AA6F15795C6E58499E4F6996A8226BF7F6B88CF1B73BCABF970954B1D0EE842552AF19F4C2206929617A01050D042C54950A07E7001C843EB5396BE45DBC9C69E9D039B2686E4D36E5DD90B07613514FAD0B0F1727038630DC4CF3EC7D78929346B927CA21D95B871D048D6356060B9FE75F0FF500798104592BF3C40F9EC37F0042162CED048B4B672F2DC0065E557A0BD36E9EC5B297BDDDD7F4D63174F038793F88A536157A359605A1550CC4B7017577FF89A65F07C759C448B67600F8573B55C29EF140BFCB0294BAD1A13418E0EEB4FD1BE985A764760DF2FDB8470940E23FB9418336DF7C37CC44C23D61ACBA5382BE7BB2A05DA1E991AC3638729388C62EF9869EF7186FB3F4039E69382968B0D026106BA6F0C96B67E4383011573EA40DE9939C1330E60A3F376CF318992C1763D743E7AC01B60EF6D690849D3A6449AC0DC85F371C4DFB7FF1F10C7C1032B9938189591E1FE05477F6AC8E1F757DCB03C123CE51903E58FAFB6A49F46BAE34AFF11713B7E8CE540A7A1B099E1E8885C4CA4D4DF82568B34B5560C434DD0E5AF653DDD27155E4E9B7510CFB18903F86E099310EFD57D831B1DADF747488403E383DC3D8624862470766E109C9D65BA9510D912C9DF39B1E70813A600C8F298F17C12B58C5C7566B01AB959962F3BE9857792A1E50EA28BF62135AD81809D7B889D4D088EC635D63BCD25C8835F295F2C438A8F73AD0EC5BCEC745F341DA7D585C48634740609B08DCD259FB2820895EC592BFBDADD87D06C0F479F0943057198D7FA00557FCA71CAB0FB61D33781556717C013E4DBF54236656A93FCC5103A577E5AF05BBD5B28E057ADD2E8BB6C38C94FEADBDEE7EEE3847295A6AB9B04A1AFDD423DD6A191006ECB6A391FC3E78866DC04328A7AD720B80D76B58543FC1C7F1495EF2989642A1FEE6ACEC993F9B77C7D0FB12E0C482A8C71F88F9C89354987B303B9AAEA601F18E20CF486C8246F067F3F4AF48221CAA36B618A7E4CCD4E8C364B555E1F9BAA8ADEF49DD7C00327EA41BA789F2EB9D39F4908EBFE8F5C4D3277A315B8B35A60C054668C17ECFBC2274C1DE3E5CC7D85548BE70A3486DD153893FF930E09748B1A5F5D9197C10E89F6D3B6FA6A80AA0AB89BACAC6AE0A8DFEAAC6B2C098E2A393851259197CDB36A03B8758A7D52E0D0D6452D91D1CBD882ECE9AF1A28A7B1E97EE921AA64EFA62C26530AF4F38A75C62B17EF0C912C79487AD58AB357451219245EE9D41282983FC1402AFEB9ABD98BFE0F898538D2633E428395F7954CAA4DB2000DB3CA32179692E141E0DFDEC41A5A809D544F77B90424B83DE422D3744DB2DEFC76CEC28E29CA7D22A9A38F658D631D84C8B70E8588D891F64B427F1BE68265373CAE37B4DDEFC2C4DA47848EDBB64DD8FA8A1F344C98E43D73E60732F8D1CE667259CD612A6BD0E4DF5264DB54AD2E8474005263B4C704B5063A8E704571FE68D012FE87C95122CFDFE09FBDFDED5BB41922D62B1C11CC28E1EDE1F6985A64C6D1AD5421D134165394E08B4BEEB19C934940DA2D71AEE06CF9F82AFF1E532DB801B8CA58BBE06B16B8B0DBDA4950CECBD7424D686DDAB118C3A03C2944FE1DD95E6C026CE6CDDDE3C89A63CECD3CD85DB0BC079D1DC85B9DCA53BB647A6B5259FB320A24E79347855A108CB20D1AD9D2DF30947BD011909852E4D752799CCD63349FA010C0AA27938D503027E1E32D95CA1806ECC14C4892B61BE51B6018B5938638D472C953D229C484365FB3F93BD43C7F14C7409D10705D35E9BB152A733C3DE417F207217F1C36290B4BF17D2BE08BFC6C0C356EE872082E13C1BD9776BDE17450565E867968849DB01D045FE16837580FC4F9C302658997098D1811493CCEF7367BE8F867ACC8E1F5A547956CF290BFFAD150DE60BDFBEA7257A6E022FFBE1FED036FC7485F185797E8BDEAEA306CD9B5335BCA18FDF7E61F33B04B538F94E12F74250C5527E6215656FC3E2086070E91DC1F04CB529626BEA4744A7EE7909718A57BFA9E788C5174B07F3C66083473012E525E19E91A75FDEF7169A7550406115FCC93F99F123EA9FA941961F7F97C967E8941F20231E29B575C4E665B43C06A371F82C57A69548E6023E167C7BDD6D123CF65EAA1EEC5391B270E5572CC4100947577B0734DC96B256CF5002AE4C47EB999488B64308705DA655D4F3C6564955985AF28AD2BB2459340C9C9A60519FFB07BA05352D81429BB7B25B9E671401A20F1199D7DDAED7CE0F4A70A6B5492B721446BD4FF142CA3B291DFCB1AF3D0B7CC1FD6645F8224D097FF7CF044E264A86A15DCEEE57B943B3617381D307FDE92D78F3CEC2EBDBBC322864AAAF7C897534D81BC9D911DA87B827B21A5545807F3C35E36D5DD6E09C9F7BA6FAA5C038476FB7289F2A230EFB4F774087F20E30D0713A40A13FB13EF849AA935043FB8F454FABBAF42C1E0F848E0A1C3CD8692EEBEB6937C9EC5B1E5033D2E75FCE1687BCDC7CE1A178680F7B0E8A1ADAC9A89D18375C33DDB2F503F043B1B6A70BC02AEE349B186C2CBB33C94776F8DEC6F15435B523391ACE0EAB74AB3AC60B0D92A80A832DEBC5ADE8047CDBAEDFDF832D9DA95072CF9D33E7373500BC5D4471CB5342761683A902031916158D927C8685D2E45E8B2BDD95FF3B5573CEA29D8486383BCCEB6C4BF7CAEC4F6B5FAD3F782FB86637A96251FD8C7D0D0FA3F6508BD45360CFC19E07DE2FFC30FDCFCFE8B94B6B59BCED75FA6EF7193C30FB3D0609BF2F2D755F9F62DE88A954B914CD652CDFCCDB8264EF97E669A5ABB647FF252F1CC8D44D0F00BB364DA535C8FF822EBA304B265BEC42106527AD32727B9A07215803184484E083EB9785A62EF7073A647956E24819F5F7C3EC855F74D343D6980EDF06A635E40DC5ADA13ED25C34679277EE0BED31CFF48FD4645368B0B105EC591FAC1E3C9B6B4399EF24B10FFB9DCF0A248AEDAC2722598043C801CE905412FD2F4D76964597BD60DE5EE65A88820F84EC3636D20AFEF2696CA6D90D7CAD09004D0861693E0F00DBA0D2B5D9DD30771195719761122FD1D75FEA299030EDAE29C3F1D1B460E9B6527BA0264AD567EC629443BE6CA440766AAF9E10FB14F4D89347C1661129C35AC3F5E67C57E5A291B134124F0599D30C5046EAD367A5969D0FD5525105D5B767788A909ECA8977E4EA13532B85D093C834ACD8028A3E5D6B59032F367714A0084BE7D87CA4C79DE470481DCAFCB7F3EE981BE8500861E8D8620CD16D59DBDC6DDBAE10D7CA0B4C40916CD4DFBFDBA2465C31C6A671E7DE04372310AE753FD163FB3D3BD567E655FE58F950ABD1D6A70E955D39A831B65A0979F62299E2C7C9D92A1BC74F20B94F69016D499687721B3761B779954B47DC77470124AC409637C8780883431CDAA3A156D5C0AEB5D9DA3A5B7E14F9EC26449E937A91CF3830CDF926190080ADE41F64F20FD753DF3F46A0908F07627E3F69B785B1B9C93230319B79414C7146CD5510D095E3936225CC70F73F4FAF253B36A09310F7D8A6449C8498C8672DA098C1975A348C81AFA2BA839453A05DAE1F3B94537CD7DD6F667458BA6BFDD58972941ED3AFCA03DB753268174A3B9F888C71F7C4DA64992D1BADB4FE3BD54F558AD4549A4EE241C7A1D68C331206FBED5C15DEC10F8205E0C4432EFD93A632BBD815A8B9F83B9BB4DBB5572F5D3674C058C0ABC266DC3BA1F8C608CF46E13D538F7B3951E3E3AB0F63A27C0189BA10810CD23ED5860421DE83B674D194FF79CF2383D27A03504E635AD634BC0AD9651F5C75B44BB74EE5C5EABEF2C23290DC013651AF465B416883718213AD09759EAB7D00E15C5FE68B4072750500AE3D3776E53537E083C06160A732B8318C0029DA79F9AE05500937563AB0768090A9C1FCEA62CE1F12DDBBC30298E3459F54B3485667A507A98C523F7C763AF05E858AAE3F0ABF5A25C7B99065DA02F3FF7022E7333E0905F4599AA04431CF314B279E02F85BBC9B74E7E118623AD99B9A3D132B643C4375D0DBF898B087FD4890E6F7D973AABB7376494681CCECAF3CE476F333F42DF40D5AF4E2182D7E29C120406F83A13E7FABF39465C689D1C090E61E1895C5790BC5DE15BDD232FB9CD3C8735755FEE0C1CE387D98CB7BED8F0D0E3BF212A65968E96DB217C266632886919024A2A169DB39749E8689EE693ED00583733A34709C889DBC0A374798A99B18E4D70CB1D17A3DE22351744A391D762B7DD517A3A5CB2F7E9EFDDFAB0A956E1DDCE0E1E4F665A69C90DD0BF3FB62B50B37B4D09AAD7F65F2C4BE41D667F64E77A9EE65C8926385D88B2F9DF34E3A99ABA1E60E17F58BDB8A49CF0E6A48D370945D67E77B223A868353E9B1DD464BF8FFCC2939125A83CCED537CC99CFE180D1EC10EEB6A98866912094849F30A90084341217A8FC0ECE2F666D3111E305F86F28454A02715E350DD52D33D5F69FEF2942910C69C8F6D3F20C19623013EFCF3141DB31B56782C80899ED664A3662466FDE61D2D2D1915933E4D083A5545114F6F2C3564C7256D4119D75A3D7197D38E90C5B7C2587881C59717037241D10802217B1CEE5B36B0170CC85DE5D05CC3F3CDDAC4E2D2F61360CA36BB19AD110B9E0F47D6644656A419EE1ACD1BB52BD9EAECB4D8EE2FDF9F9D0DFBB5688BCD1F1CB1279E2E338F0D39C1767EF4FF9DC6335CFD8D678E8F91D55B28B861C526EB7D84FC0AFB5888C78B7455059B19F9745FA102600D97485F564D626DEF17843E77BEC857B04956AF8EE5963BDCD6A1F606F14124FD9F35087A1C662E13CC90927A29D31814CB8D828B0E2D34A999F3CB54B1B1C4335E76299693BE691F39C1478066D51714F6F7473077200B225D87FA37E23D926447D6AAFF48F5D777A4CA0296EF38BD1FE554B1C477EC99C816DED02453B80A208FC5E52C19373BD14AB3C06F1EF502479BAD48A9164327D3FE156C163ACA950DBD32C2CBE9B663F15971B757293923635C29F00251284235FF2936A44040B102CB5D218719F8BA51D2B5BA41C0E0D470622E7F9489C48F77CFFA3FA7930F4BFFB212DCC553EDB3463D30CC00B4FD31FC7EDB6ABCA5488BC9C3F7CE958F00FD0D354471C36E4CA8549AF2103CCFC507AE5CAE444E3DEF1751C0FDA1DD4929E6F3AD2C618C9C02C53D6A798C2C19CE60ED698D75102C9A3BA46630DD27FBC9ABB41A5EE9A69470A61E9F17E3EF80136EC09626B540744E80304809B3DE1A2BBEC5A37C07FF98A555F8A4DC7D6DAD21836D72C50F9E437A829161BB03E688A2B56E2B2250CBC27CF5E786134A7CACE7D822CCBC963EB02C0A41673382E5667D73B98ECBCBFFC19E1A9CBBBF1C22E8E32DC3A962E63AD12265FBD8A648CE7ECE1982A26287A3F6359927E1D8AD4EF409766BB240D8E4681CD1D431A4D1BD858BFBFF9827B8817015732C8B1B212B765F6884ACE0EEC70FAE8AEAF8499037188B482198495F88888394FA19965357BAA142AB351331B510CE3A6FB2120939956542F3285AC0448ABAC040FCA584A740E7F4D359CD5E3EAB8FBFC621760F6F87B37546DDABDC0EA9F9AD6CA9BB91D926ECFE02BF8C5627C612AD881397BBD44863D5E9B0FFA2EE4A768269A553F0195F56A0E9D2A83AAC9B7F1669E45B636C4BFB826712341DBBAAEC518C437F9C98904E84CCA28317157762090260EDFB9E71D1993C12A89AA8E23D1D09A0D9AF66970894B93A695E0C41664EF406DAF13025D778F2E759E6BBB36929D1B0889C68E5CD381CEBB03B73371CC310AD58E4C4453A3ECF0139536F2F0288FB5170C76EAF718E1B5ABC455D5ED06E507402005A8C465E220B610160CBF118C339E70DECC3A3BB99E36273BB95EBCAEC2BD7CB4FAC0DAD6468E5D670BB38631BE38BAA96A35089F2F6A99EFCD62D1ACEDA9650CB7FF0ACA20F326422A3D66116077E0E0D5124755CF027E165ACF596A032EC189DD7CAFFC7DC8794EEA62D4F7BE71670D9ED8C77A9502503745ED4B9E94CEA651684F0138BBE751EAB0B0B715E3D484B2D56A0E91BFBA652FFE2DBD53F8A77326098E9F5D20381DE7D2E8D65ABCFDC1096CD5D599A980B354E62CD1849AD8EB9B0E263D6F4608C8A0A562A17A62A000431D612259D4500039F160987E22ABD1D936913EA3ACFEC457825187E4E8E63997DD8D4A0487EBE882DDA680E56B5BEDA6FBE69B952C70D0B788363DCBAE6368D5C1CD3834F68CB3DC364651A9F2ADF006E2E95DF295EFA8535B55B1D4B3537BA24E12AA03CDE9CE41A21DAF638306B957411D3D25FCB23D4A4C60E67CB796AF77C255CF278068A0567440AACB0ACFBB60A47EB8AEB97B0BFE9F3FFD758B3CF83F1EB042E4C1053ABF680CD7288EA356D1CE77199212286B5E2847E848B01B42D55D12DF5FA9C67B43A817B430EC9994C528064B19EE2028DFF8E1EEE5499002B359348BAE86CEA4BC5682BA580EBBF6B67241308BB55A91650AFAC92F0879ABE423C65435F25D060FA10C2DDED7A555A68C973C323CF28810E189F1102049D8C74BD9CDA83AF6C6E714B14312B30092BC83EADEECD5A7995A9C3E946A2ECD2FC95E04DABF30A816F783953931A1C90B63BED229C72950BC92D686A46E976A061BEE81821EE4C0B6216CAEDE890F12EAE674BEC2F55CC3ED8793D57FCB82B65F1B047D4688211E59D1825007F4F97FC8FAFD4455109CE7D00BDA40D2D090EC88ED0156AD0AFE55A4DD85B14BA26F62A6BA1E4B4361151EECB4ABACD92EC4CCE99B94111D297E6022D77077B1A533FFC7CDB013EE98C0520E1AB9F5036F468644ECCA4BFCD497B6789FD7AA8DC56880B3215BD654344351A9B8C633B6070AE4C6A90D1B7AA5E4540F92C2AEB93264F3AE452F494ED8A94BD04F71C68FBF4B8612919C422C142DEB0052AA6C21D3701D6256630FF99A25056D583A2D7FF10D4097806A00E1664EAA2ABEF80053C81DC2D94C50DCDC44B9B0F16D72BD9111613243259D256FBEFC80CE92A8D611DB1062B1E989BB75D59595F340686AC0487828CD2354352F64E397B936FC15D4E466F5E7B881409F4859A6B247385E6B39099F06BB01858A5012C0DEFECBCE5B94F671F74BE3F649687F585753478F03862BFD94A1CFF08BB1FA1699465BF5C29CD8B2B8D294AC836984F0E5DDD26820B82965BB591C5D450E4B47DBDC90CCCC3275B30412E1144230D01DD62A65FA500FDE3D2437783455E9261D9F548EA6C5AE9DC7FB944CFD36400E3954ACC21F948B2A73BDA848908D3C05F316CB832E0B9CC9C27BD161D345F54353425CD21C558E4A6B45A28A96FB9A0D08359117E7A6B6D9E8131B856BC69DD941366119C2738E1AC1E79B449A09252B7167E3B4C7B68BAAC675564FAEB4770A09B04AAD6377D07C8D44E068ED51ED16CAB6A0CABA615041E5CED54EC5D8EA016D30490B79C005F993E79ADAA6D3093D0F0144C01775CD0A32F3EA26B76DD778F09632BF1697D1D19F2C29712A83849C0E77D855D15587F4AEC0D146BFA2E3364EDB276954DC2AC22E4027D4907A9FACE97391959A9C987163DF2BD49AEDC9BF06CA8BA86EEC29519614A451311A71E43B5A00A1180C0287981F54FDAC043F1870EEC1F59FC01926A404E5E1E2541643B4873AC6D11E17CE532241F411446C9385C753BBAEE69EC7FB70BA4B241D392EC7C6EEB6441A99E5E80ABC385DBA515BE297E1ECFD465948EFD5C49D08454AC2BFE8E30D18F88A4CDBBE6411FD6A2EFADBD37A45274233177A1F26D0CD6A21EA198EBE266190E2EFAF9CC1F525410F8C5840DCB24EAB1A2C55E3F31E2A2DDA16DE1C923FFC071888C822855662BB24C8FEBBA961A5AB7EB442E288BAE0CCBE7CAD939958AA4946D4E62D4AB325A439D4A2A2F14A536422E0FF96E5A9AE4EE7D0A6E1828CF3417C71C11E9A1C1A8BE683DDE85F4D4BAC021621E01CA2FC431560A53AC4989AB9279EB07E0C59A7D1B8B041E3B31851217857A0A6850BA62037EAA4C7FED69B6DD5D549279D8D846F559EA3503E0EADF07A913E4AF9499CB7E0F11342C34EC84EA6BD34E6B0845A011A6AF5B7DFA3A456FF18C8127D67668880CE5222BAC565664AABDBC369CC04C428637F477A431A3E0A491B15B6AE5492EDB8D084B4789736446822577911052F18DB1D2E1CCD68D3DA276EB4D829EC3429D96C3C5D2143DDF4E980DF81C772AE4690AE209E01D0E328BEA0B4615E9CD1E4D883A8CEE54B3ABC475EBFD32F7F2EAB37BFFC25F382452F7EACFACBFF5C27CC8EEE042C61C095B5DC06899FD2084AEF9B097C001221FA018B5671CF0BAB788C75585BD3F4955D8A25344831939B93BA1AE2DC76437B8C7D3BB1E1EBB4DC5F5D0A6173725CD37701A13E56957A433318DA71F981A98B98F62C8F8E821520BDCE9489811B9451A6617B823E0514D0F703D52151F776739B79364E8E58F2F2A2BE07F8C99736D678B6194E34DFFBD4F827C5130A7C5D8F16A6AD9648188C0960773737F5FC3ADAEE920206EF7595C913521257E1F2E9A7E7EDBDB724B9794B6C79895DDFAED422082818B1E4B3FC3E932C49DB0043E3BA0A1B8AC03E30ACE7EF28650B9F0924EE0D7B13809D678E3F6DEE38DD1F8619B3D05846B14CB7995031D93419C78603AA99823800E1680B94D6CB6599FF5ED2AB41A20C5834902E4617DF7D94BA0A924FB3343E8AAD5E6F5CFEA7B1282BFB12D29CB97F8376E493F842F6C077C756BD4AE5FA41644105809FEDF12B559695F6D0610588AC3919460663FDD89A1FD07AF759A822A368BA73E7400622E7FE9C764B739F3445AC378803A436EADC2C86BC77A1429ED9CB0BDEBE0832E312059F42813BC76A219A953E7ECABC8E7F74E374BD7BED4BEC67D7693FFE9F6E697A53FCE1A654B5BBF93CEBC94325270811E0131BE5206E62ADBF8C5DAFFE512693FAE44D375B157245A9656B79C73BDA84BB1705ECFFF0851512E7F027CA5B891F11108887AC42256AAD4851AF05DE07BDA641F8E1414D82C784BC181A1F8CD5041BA92FF855D875390456415792804B0DBED5484AEB3D3B1BB55BA87EFD2E7F14D514D984F34EE86F621EC70953112B0EDDE6F31849ED6A0EBCC77118868B49AF8A549A4D2829EE177DD3B35B15E80C06B72BB29F7D3AA1284E03301E552DE26E3F808E6C17058773EE17C28846E4BF585426989F42CB4060FB2B56166945C47D939C1DDED05AEF095C5244E492B6650CB85F0A738439F76DF2C379FD8180C3B18AD8C677B4A562C3F1A07344EFBF16F98C917B863B874965DA0462B4FBC88457EDCF40D00664D88B77367B4FE01AE8DC909E5F9878C2DF98A688DF3B06ECD9A3EBCED0D6C1C07D2B717962D48981E55227CB84181C339A0E0589DE12ACA49F4CFE9E77D7DF795A11DD3365C75F4D09B30B84D2EDC666FA1D492820938593E19E62F29D83726A4723DAF7C64347984868066CDBD3FEFDF9EE8D9B08ED9505D322B437547B13319E687E8B68381D1B7BB1ADA1A02B8B914F82436A667B03775F79228FAF61C610E3E6CD5B159EE51807F95A320CE5E6953CB3EC19E966ED6F6E1099EB9CCB11ECCDAAABA1D49C799B52AB661C169B961F6F7FDA3F926FD796FCBA6B724EE1966B00B46E08A65E6BDFEC6665FB95BB6240A8EE376ECFA4885605A42E3DEB20008A4188AA5CC5DD2B7F8D7C1DA80B7891206191575049F26C2A32B41762A5FC82CA3D5E59E0883A3537F6F8A4F517CA95D8DC27809C03437A438341F8EE1AE649B64A0DDBE218C64868DD09F6CA7C9FCDBC545FA442DFEE1C51FF37BE11BAC3FFF34D8B5C2B63E64646FC68FD0FA6BDE15FD2BDE7975C4F33CE5C88AE1705ACD428A9F6C4AD33F3B02B50E079DA6942EF1CC2E76B9174A9CC0E6CAF09A9BBDEF707CC9B75E61A40B70FAE0D7A1D83F246280980EA689589FD5C9D03F841B338E27D40BBFAF9A8A9493B6FDDD929AB3B93FDA9071172805A84DA8FCA642E8EA8C76FBE68C40361C03D40B2465A641F2D1C5F2EA34E121E910397D08B76F1BC6F0CD032FBF494AD020C8968E55A4D0E943C148ECB5DA72233A6173BD0BDA26AEB7F04A0A5194370B6FBB91A0597993BE88D66703F830394FFFF89F678F29C6D194D46D2110CD40C8EA91AA939100B872BF799611AE3A46A029994FDD93F9984F6618AE6C5D039802E7C63BD8AB2E70A3E81F066899048B14AE8082318FCCA34AF516E0A19BFCE327480FCF3D5C8BBBBD0FE10E83AF5F910943A56896A4DF7EC2D307896E8094938C837C6E2767E3C3DB4F91763011D3CE9ABDA3B47796F650CAD2F4465EF31F84997BE6805179C2C2EB7833FC17DC45FF3DB83F6615063330F87AB3B2956FD6CD0345C323E1C12C03F526E0169C2EA555B9C5580B46457BB5B44D2A38B55BFD10460901EF5620901AE1967EF741401D64076F7BB97C44623B0B75758E87643FCDE9E3CFD74409269A92260FCBA2B2148683A42F7E459C4A1700A58699D6660FFD0D87BB324ADA4F33D07E638FFB3B98681F6055DD1127210879695F6744CE9A1D50D3178D3C23ADD033B099449CB959131E8ACAA73300E8B29980AE19AA4A9C1561D0E8A57ECA3EB44FA8BCFFF533E5C42AD5B63A56C6B3EAF293DF7F5C8C6304CE37C5D274F1CED332A926CFD37DF3C51187517445F7FDE20044E3BBCABE14E4F6CA2BEE5ABA8D50F7EEE3847CB229C6B8CF6E7C221168940D0BD4C084E7CAF8E8326A90EE24E53B8F6166B4AE94FADEA0F274FC981B330626EAE4960FCCCA5012AB279D3406CD52203849A0B28E8220987D250206DBEA6CF7EC73D9DDD33DB70D17276AD849E21287579895264A5A07F3A45777FD3380AC75FF54E66B851BFD24FD5A7E0705EBDCC743DF0E079C6BD9710D39551910BC9B8B623A3CB777896A17E515F84177267834F0E073BD24B6649F29495B4DDBA184FF757C3248A98D14243E123DE7D5B0717CD30B8E9BF2B0991CA908ADC12C29C6FB4AC0D3D33F31AE8A24F902A1AEFC8697615C83CBC4228E7B1156F14C83FD2AC65C162E22BB0C1D8550ACAC6E5861FA2AD8B89DD7982E900E573CDD902884A87F754D6F4D71B08CA357AFDE963D6DFC1964636BBCCA8C763404CE4D5B57FA88C027B71E2578A9BB4C4093006D90206C57B1755B77BDDD5C7D184EAA15B0985CD1D992612D9F5BC6EA186FE4C08CD604BD7AF22F30CBC9630A5C133C9E2226402EED454618AD183462DDE9B1859CE2116F94349F6EBEEF3F1104790BD8ACBEEB82D49BA41A4D1FC208B1A686DA66A881B0550042677101BE81BCF170CE41E117B3134624E084E76BE5E7BB7B71BEE35F57E0E32391BDA6856D4D4E4BCD0B239D14663F42B47B47F6FD2483E12CBBDFAB50B17DBE35CEB15DA60EB19C644E9BA26DC50C625F4B2586B274C69EC7B1779BC8811714028FEEAFA0C558C46526EC611F2F1EE3EC6849C789560A04FAB6E6FA83F1BC41A5FBFCE80421F412625FD2EC4868F341F94C3B4BCBB199697E206CD6A9DC0FCC6C7E0B177409022E219E35549C47F50B575133BB5A00718891F2BFF6F0C950E1E2FB14FEAC5400678B190F6769A36F8AA42F41E672B044532C1E4A06122017B23E5498FE350AF01D39D6E614E6E4AC427F632B91728ED8508CFE7580D670CCB225CDCEDB965C18DAB46FBF9CE34F659C22903D0F52E1FA7DDE3CF48A751286A7AD7C9AA444FEEEB3427231EB264013F709BA69B0CBF031CDEF58C845C524DD2A7FAE876194FA60E87B7372E3261BA28ECF84A6892135ED7026DF61EEB37143A3A89A4AC1EC9A2AE850C354A2DC209A22049CF50CB360F8C1D329D8375285048CCF4DB7631688B72634A577347D9A0F192454667598324CF7AB35C72BEFC8B31F2C87718ABA45C3D4C10672F1463200CA9FBAF008955196DD674B10C9A887FEFDA2E9F6031AF921E1C89A38A6025CD3C918D938EFF12510D4B42FFD0041B010E54005A16BE202EDA5D05D2ADAF86047771A17E69DA7FCF0AA6DAE666B5C7528E8F74E985238F713798AD4D8E5E9823B5B4C683B037FB39066395C9FA1F6E940B963F1DD3F1396B2CC2AC2D47F3E4886C4B7E526777B3EDF702EBE8998F028D253E7CD8E229AB1884E65BD648307E4485557371A6ECD1F174C67449AC389D559DFEEC3043E41E970F2E7DF81EBFA59F37E43E1251E7D6CD5267782B4EB180D8DAA0C77891C96D9387CEBD9854F92136F725EF7E5777313E8E426ACBA5207BE8629ECEEA6D1EE0D54E11E3C8B0F8CBA53F0DC9DA7B0C581A6543695792754960F0B8BBCAFCD9BA1C2276C6AAB333600F3CC7F0D695759B9634281EC1A7A19D2BFD35F100F5E7E1833F429F6AC29A79E032FD0DD19CA1B04CDB82B93AA76F0276622562E42CEDB7CA93B32085D0C174473A9483DE286F662D09D668B8E114E5B3A7977B8B31DFD875D14D500FDA96FFFD2D77CD29176980BE77A13A952649A7D0696FFC883FD109C1DABBB5A0AD3913570509908336E532DECAFD8F7576B5FF6E9A7CCC7A008426397D32CBDE488140607B48CCEA92143BC657CEEBBF89F037C6A3E1448F2FD6A7D6B13FD7FFFB54E030F437DB7B6B4AA045368B78ACD8D816BDD349A1AC7B6E6DC724791749320DA1AA94349A66C2BA9123FA31897467FB5DB4BBC3EEB4A1CE73AE6593CBD2061B7EAA4C7C2AD17CB9BB61A6C86CD8EFA6C13B0CE7AD8BDF7B8C21C991C697DC77C526628F5A42632A5ACB3340D2473E445410B16EE1FDADB961D20B9BAB64FDBF9D948452EC5E8320E1DA65E6F86EB73E81CECF99FA99EED4F75C94C7EC58ABD75F23B1225AABA190CE893F52C3CE00B3CC57863BA6014914807ED92F850B5DC885949E2F81E558A15ED1BB60A63657C3A87E97C17D7B26F3E5603EB4CC0B535E048654D9B1C63DD3B4DEFD42E3493DD06DE6CBC9598F5FA4DA5A508ACAC654A20EE548F034D6097FEFB3479A4DFEF52343155E7C9E085B9B039EF955EFDD374D6B47CCA83C6965D15C83C439D3FE57CF86D3FFB6768A5FF90B06035060357A72748F323F2107EFB44B50811358EA8E9550D21B4ED3B4A6152B69E7E87910E7B4EF5A3D7BF5B28520", /* encrypted */ + "8882005FE5C049B0032BFF03756BD07A29CDF657260E53225AF8DE4B8708CA7013817A9CC63A4567B9E259677BF545F6579E96B76C8BC0000DD72E80C2BA8F7BA13DC13D96A4AD29AA866FDCA7ABC0BB49355CC7085607D4DE149BF01956F39F15B35ED803DA1541C52884D29E0D2D16864DEC996A3C5212CEBACE3617F0BB076D7A38FD4517BF5DA0A264382F72A82E35F5BA563194F50F5AE8D1FF1D144EB956437C30E626FD0D93DDA9508344D052967FA4A58516ED9FE080041BB270181845E185F1880E7436BDEFBE1FF77C5B481A34E57A8EF11F6D66744F684E37B54868A2B18B176EB7777D085C941A8FA9003713F535C6CD986E489C36291D1380D47212226A05DAF9FED717424B87A617E58C3E996B464316B725D8E0550AF000A72606F66949B9D1788BBD7BEB7ACD8364D0F53241434B3553EDA0A7A0739EC92997F05A8121E257F6F3072354B79F703D51EBCAEC03ED398587D897D49D1685EF0842493270716E57D5B70FAF538970EED6D5B7DC3DBE54223BA8AD98A119ECDDC088AFEAC027E6AF07DDA1C7C7583E1B147D60C2B6ACC7CEC8234FB879971CB769EC60628CF56985641D97CA8A76793E97F9EE1A5E1BB6EEA48F6BBB2C5D3A740F0EDDEA252A1AC777B0A03F2C9EF9636FDF88A690EC27D903607D50602915FF75216D22AC0E438FFBA269E894D17BD794A9ED528DCECD779788E8CAE3CAF7D2B6BD428039D36D208656D5270B3C8DA4BE86E142FE2C14D2C84F57208281127CCB58E8DA7C2D1B987EE781EA45805525DABCD2F59174DB6F116F959D3663CA263206A1E0C5066D8C836A33EBAF42FDC0A5634C67069655CA2BEC235C4E98771F96C188A359765EC7AC4D49C9C1EF2082045043F623BFAC4283E4E61BFCA36CA37D140D54FA65ED09C5A92691805B2A0D43D4838DA0B58E529BC4E8131801706CB293AB6C487FD1B0BB1B5E8272D1D76D9D8A2DB6A1E97794C73DF0193F6204C40198010CADECAA5AF9EA70686786CFF84EE015A82E0F0C23EDB62070EF9FCE97B0C6D2D2149DCE8C5510636E1DADD433FBC2BE4EE680C5FD97FD62B0F535C6EA4AE23C57A5F98DDECD759D2C612768C46D6A93D69AD665E16ED820E0D9621249029786CDAAF1CB226EC70D4BC60C44FE7A1940FB917B0CA055680F6DE59B995D85BB4B26DF5DAE7C4D1FF21DA79EE367195310DECD9C6781D1B00F13D5544AA19E0AF6573F014367DFC8C1B77F0BE317E1D621C8FF91CDB35DF8295A3FDB1665E60DF989B6DB87A25466F904F69705D3211519D2F63499D2090BB6D45DBE71ADE2757781214793CEA0C92BB42DCD6D775626BA4573C91E570646462642DDB26CD5B4972098519E4A050FACDE1B5CA8AC500B7B3884D7B9CC883E708085C89324F05EAB50FC3B0A565E979E687E2A79683C33C95F1FB4F78448BEF8A2CECB303E296A10A76A604306F7A2BECDF9A7637DA3AA03D13E7D5FC4A88EF1EF86F915445DD2B4C4E572506CD312797E3F0EE98AF66C3E8925D65AFBC0F32AE909E0DC899E6CE8977C147C7C6BB7560C67E143C15081CB4203E91C83248F6C1152F0F95881B68135FA3B65E3709914389D92D5AD82BAA272438B107BF4103487DF67366C4E1AB2D53D491642572F725449AF0928C78B6F3AE6DB14A36C30D10A193B13A2C4391582EE67DA149FC225BB50447FD86C5897015D4B3DEAD1F17B94C69260116C6D552633A5FE209C9D5DF445773C48D1F52B136700BA36651DD0770435D86C55AB9B05BE6C03DBA46C3444EA8822148DAF30CBE1D0FB5F7F9569974647C206AEBD25F927638F8159DF561105F44B34EF26ADCD267294302FADD9E6CA1F83C570351429189DEFE2371BC9355A50AD748ED1D75EFD18390E2F6EBE5C2F27A4ABC6B3BB325571F7FB46E0D0EDE30C6E6A9988ED066A6517037358AA6AFF8BC34D61206818DC4330C7FE531EABF42D98B69D1900D46F9C5E907143E1BD2E4BB81C0834B45B111BC5C2B3B1817A8C670F6C013B183F7B8F9C6D9AE9E5827E4C5AEA518ADB56D99E37972B062AB8D1B49C53CA3C96FDBE98232F08171AF35A415B33F669BED543FAF5749634BC5D97221160C4C75506B662358D8E2C8317938469600D95240E3E16EDEC259E51401AD9392488897B969DC675A9CB139C07647D2362DBDE45F633A1CDEFB08FDF5D6920F1CE09F77B43E91953F48C6D6DE0C5CD30C35689E1BFA4D81897783E455D6E33D1A4DFC7D4FE99173B3CDE476522F6625FB844CF932366C16C8FA1E699EF428B42191C9106DCB1783546A55939901305B8A7ACA97C649675467FE2B18B7DDB06E14F453F9D2A687355AE6A814156C75A1B007DF4867B04B6559319445A720A322E4652A12A41F5C1489F5C718E6C3668EEE9851B8A170A3F4A19A97884EDCD8BE8AF0DCB9E591D75578EF84CEB40A5CFBA90E2A0BAD640E20C85557C473FE7A2B9261EE685694787A869E740CDCBD141A5BA35BFE3A809D8961A91518107272A354DF769D0BC2D6BE9FA05ADA0FFF911D5C9DFB9C7EC7744AB5165F7A16A6F8BBF5C271513B4A5F854BEC55266F95BB7942F7A157F6464A868CA11B923BFD4B55FE62C9259F01102DD92FD11DC9CFAF4422B454A0B7A21C49264A1A5CDF5BD69F5C7F7966195CE037EB0C7C64A7AE33CB011F4A7F28617B922CA7E94DB24884881D9D9ED07A7184B2210CE2AFD4DDC9EA24943CA2257B258DF64FACD3CED884F72EB568BC532EB9635547610455BAB8868CFD02E16BB4D3B48EEC0042846A19B482427826574A48075A51B64A68BC9E9F61D80F52CD5AE787EA9E410E8CB2327645387E48B24B332CD458165563FD05A7D14F21165C6859886C0B46DBBCAE30BEAF96D24D187AA79610EFE3CE6EBD935DBE1FB0AB4EDE6BEF2D28A543EF5AB52DE64E4610A897408D68D63678141F09722BFA0E1A6FB6BC586598C452854D8A4E8EEE668F32847B569E96CA2ADE7D3370CF66FD55A708F1A2F9F4A33C601292D0B6E4E25C42169758DDF6AE11CEF9073B3A790D6D1CB82FE990D2AC144E6493A0CB5AB7A2984B1F69DA2CDF965412249A4C5E55812F002933D9DF0AB7DE422E028D81AE5EB16A013776B5327E1249D3221151141DD9E21818D8E08804C180B404E05BA1E9DED813DCC59EC0E0A6F82DCEAC8F3B805DF7CD6263592623F6C63F6323A7135BD9FCC9616F66DAB660D5D9AC3E5BD8B12CE844064E4210C303477B8FA5CF75A5397A9DB7BA29DF564D0C0D919D2758C79C15F226742DC285E9238D4BDA575339C23602920125D2B12B13A386066C6A9D1D268FAECB1168F6ECF0AF093DE30CA399AADFE0A6CB0BFC8F3A7D0A4055A8C4695EDFBDE42CC460068BD70FF5C165DCA4B37317747752BBABBABDE84DB2B6AE289C9B49153D8FA3E350C0AFBCD9676A2E88280D47A606172B7C27A0E06C815DC96E936175BEE295926EA60FD356442D44A20E49F138DC30EADB8BECED0B497C868A78ABE63E3215F0AA181C8755D6758CBF76E243B98A95711C3E90F04809C93F53D6EDD50D4E6DF4629F0690A67299B389199E996415336FDFB44C5D84C77A970F28275CED662FAC66CB52A9C4D1455D984EF18BBDC2EAC2B5237412F3013A9FC9BBAFBF86A7CE9638E8953F961B69057887E5DE373F8FF1DA11CF2C8885DBCAF02F5E7E02CE655851D01A5D5FF3DA5B61C83CB2E807B7A0CC60F9B48860BC3F1A5FD5C9EA07CB79BD57CC9EFB11F9CEED7CB1A32F9A35DCA2C63036ADD49C4300B7F6454F0F884C20FC5F7E87EA04EC5F4CCC9C8E6488E8BC7744E7DB767DD04C198023394DEB93D9E25EAD061A0E93D3679FE475F04E1E6EDB852D1623A0FD485F4DEA1B11715DF915EAA55EFEE7B3899F019739AB04CD1351FDB976C926180AA1D8261D3C1B37AD6445CE9E397A6D28162BB59F1078B16031947F9B5284E688AD0AF10C4723E966EB093841EA38D7D0C750971C59F3AB37109FAF0A282A23FFCF947F5BB739490467821AA3647A874FA49F8FD5AF11EC22595C35ADD3178094F8DAA16E3659B167B09C844E94B87FF31ED58E8EE30C5418CC693807CFC4587D000B988561A4286D74EDFAEC211D1BDC33053228A08C650858EBDA4E645EC1A0EF066022E924B5E5D64C9A4E7E075813C891794870F6FC9BAB556D7899D00CC29E66CF6B2022FD115882298ABCDB709550CB8676ACEAEE418EFE712117CE43176038386569F188838EA3BD7291711BDD823658178847707B4C485A5D79602D545214C469B3608B7CBE8BD6BDEC88009B72A85D8493472B81555FDF8B11F797606AA26C46C8A214CAE04E14E9729651000019D85F4B2C702C4170DEBE4162CB83F90C384ECFF6F6A6955B520397F3CE45C0938B81841821BD2EFAB0DA978D5625908544115B08618A488A0D31482900D69969552FC13B4CCCA9FC3DF37E669F4487CA7F533B791F09394109A9D9FB021CB9B99A9302ECD3E59D0BB20CAA79574E387E09C1DB30DD1A61DD113375185AE93FABD374FE318ABCD3E6E8847D720938C32F1DF53CCB917E4A04A32DBF595A079AE8702C5D3504A9BF38C510FF65CE49B9A66434F2D65BFB82AB0D3596765D94EBFE5BF41CCC8B1CBC62D559F5AFBABF090851F126124AAEDBCF79B2FD706F56FB469F7361D87A0B0FFFAC8797881F3E51619D3DCECA213044A9401E311558693DDCCD4D9E8987E7228C37390440B8A74B2358C53E8DDE223CC2C3304CF688C0FD424F0D758A8DCE022AD76159250BEE8958D2B1C7455BC5BDFDD07FC4AC1E3197E30F5393D741696235D876F32664094D77364FC4BDB535649461116D745B802163DB50C159433DDBA1922BAF634F33D323147A820CD7B531F3A542FB00D3417F64CA6F760B454ED6E7CB97B2EFD84993C3DAAB5B5A6B36F666535E18CF7EE950BA4675BB1B2A6DCA4B5C26CAD2D4B2DA8B3281BF2D9E3A1F0F07AFECD3E45217542779D2FABB030F2C41CB101DFAE4A429116E087D695CF47866F096D7BCAFE08B8011676FD2CA74994DD9553301AA77B013AA04EEEA3B2447B5858022E71F4CB5F564F70C9C8C55B6A995E26A80B1E73E105D7AE2B54CEBE5D911CB676251B0706F3CF34B84D9505426AFD868EE1D5B7D61C20AB9EA25455EF0FD71B147AA6EDAA110B69D646A99864AD6CC201AE0F20192C68443B8CB5F4AD870957CBE353511CCB0CA90DBB71CBCC0C862C8DB3E9C06150453F2EE38B557C6CC1DF13C9AEC3A2369A1E519619F814F56A6FC921BC6B549DDDFF59640D837B18FF2364D1BB477118445F6CA3CD3880D01D0CF4E0F968C5AD029BA199C7A8D7D62643BCF9C4185EE972C28D6DEA5B8A9EBD317BD063549A3294C3B65B7E3869EB75BB4209971F5871C99B8AFF04B3FFF882ABE1FB855DA4B69D0E18CB61BFA5B70BA1ED6E60D37B36A6B1699112C09AEE2DCB218203B1ADBDA58C07A11BF7CCA21EBD1E904ACA0746801CEA8EDACB286C4259CA026E4F0667143785738EACD851FED0936E1807ABD7DCB7FE2AF64986E7AA5B1E541B4B94DDC4B2D507E71862EBF99D7ABC65A177E23271AD3C22A483F13C4695195A1ED36D9D8A8353A469BCA4EA18CAE8C2B04E6A1C6C1CCE462FA79A40C1A8E97BCAFF47BB082F763D7EDA34E350FF251CB92A1B12106B91CED0E7C5363F2E0E4849D77613BB4089DCA33E8202491249CAA8B6A896AD88E77BBC37825CA517F4DB03574BAC544257F65A08B0540F484A2EC11FC446B764FF122DACA022A199F4EEB608B0D8D28ECFA859FF2A00209B70B695DFBEDBC3DF3E3544FA29CC1AACD704F10E749DB3208A5FC7F9C15A56014A3ACF80256D3E3165C3DC735BD4A24160B3673A8779F87F448575EF51BDA9E7330CE7E22FB7F0D4726B6092E2DC10135FCCEDB88A33FFCA2AB3D35AEB83AFFD246781C63C29482DE0733C48A2C1ACFB657A020B6DB1506C69E5767ED83242D22B7E8F04D4BC063A72F71119206D65392FC3F00DBB9D65013F922D64C6AEA5EDEEAF233AA13E948B8432DB4F08ED3E625C3A73C3ECBDE6E652E3208D22888FA505D344C8B513198C0821EF26EDE12B5AC43D66B8197037876DE5ED70169E03395163D7C2AEB884EB97D9FB4AA590CD6BE6F7389D71972B6462767FD26B5E6027B0DD32FBAF59ED6FA815FFB32D8C77826DE629C06A91EB33A7DD95BCA9AE4B1A3E3BD1B65D8E1457941AE894D8A6AE5E693CC0A8A19FA92970E11F5E480DCEFA439FBEC6DB656ED5CFE64D976964FB024FB4BC2B055433D7F0039E78B620DAC277C5C5B30B55B518FE8CE8BB384B4A07C167BC03A2492F1FDDF33048A29942BE08C09063E1171B9CF040687366369C84F50547D15D6A13501A241D445AA0B9CF1C93268A47916153ED1C0310CB490CA0F32B44FD971DA8FA1FF69C352011350229F38D130D5C4A652B9AEF766DED7AA4B80509E1B514CCCB2DC2ECD565C32B50E2FEF276F0E131D3AF88528EBF1589D58FC3885AD2D7316EC58B47773348D5BE8D70BB38A4E306C6FDFF689A4483440202E775434B8DA28CDAD23B01705074EC88551A8E83F0C2966C1A3FC95CA94D171101363A1CE8B03024EF5795623A04BE12EDC516059FA408E0CD9387647556E4174EDACE11283335BD776DC8AEDB960F1CA2EE35316BD20B8578E2ADDCCC0F5070A71B03DE8210FD1CEA27C8822D1D2FFA9FF390A8275EF2F1EA95479E9F3F0D9D4DAA3DDC6623674EB82BB3FFFF442D3D4FC8B85CFBC1911FBD63A65D5A974C4DFC279755802FB4BC30E1AB458B1C1C535A85AEE1142855F613B2CA6D17F3001A14187AD5C2DCA5B38A4354F611D882BB52C87AE8FE5739158671A54F98E87A2811A82A037B4FEB9558E688A3A90638028FF53EA478D8138C0FE7BA535C7DD0EE01CBB61C5FE4CD728EB1644A0D85CCA84DEBC6980DC860ED005CE36F49A3713D28D115CF0378EBE2ABF63DDCBDE57CE776A00B39B6B943B19AF9B71E8CFA64899595AE3A83D98599475EB914535BC9CFD34545F7009744B7659BF217EA09F34BC673F6C2460C43172A3BCBB97F886A274252B267FE97222198327E9B1EADA0975511951EA1AB10042351F7DDCC898B76EB9A504BAA2FDAC2DB28C54D292F8C9FF3CF1AF559AFA6ABDC1E3FE10CD454A41121DBBA7C6D768B134CCFD2884CF6C38E3BDE83E4B7C007FE7C4E4659327A63E54AD412B17E3F50609B106DDE06C52CCC3CE6E973F6B1049F489AEA5258F643B91C5D79C96B4C3978F39FEDC32225326378B9D02AABC3E20C84532C9719EE6372BA7FF4F3C3586C0E31A04440E9E632D34393C58606878AA8CE8E55CBA87979F932B0EE0061334EF05B68A370B1945044B84CFA5B75DEF215BEC498A0CF9F649B14796C8B8FD42D893F8D47EF7E79057AA67288DA4B6918180EF83A8F7BD0DE78D4554800F0DCFC5229B54EECF0110BD3216F80718A24795058F0B0B58A60E8195A064C770002653FDD8F1FE9000186A65D1DADF1B0C260BDF42E9BBCF09731740CCD5A69A79BA45FE0E7D48F8F3D48758143BA3D3BA3CE9DB17471461F8AA71B2879AD531D7B34F6DE573FF5F912DEABEE19C71498A2645919D07D95C41DB0520521AE0AC14B8502AE241C66E4F679381A3D1DAB975155A48C2F6580F41DA58948302D5645111A3D2B1EDD6CE255D028B88B88488FA7B3545922D2CD35DF25C88AE1F6F7F6DBD0A23AB4F94E6B42C4218A96BEF89F6A80C1912DE80E591DF54499297EBFA8FF26D4694878DDD2613481C7A6E6C761473ECA071AB479C7C26231E012111DD235286573E11120B7ABEB268EB60778D2F15349B1941634D331D75E78840C253AB5F6B12C94D16B2998A86C10DD8766DB84FFEC523175B47C00B4E5D9CCF6620CF1EF542F0C94B6B008E137234C335D38BDEDB18D570930992AB60DB75E5BDA8B156A3A5F9028F10D4224DBEEAE3634F9C67E361963B0C773D3B43C7CFAEF3B46CEE3473CC635E5E0B164DBB1393A15B20CF5E4F09318EA304B6F514EC1A014769AEEB5B7A77A0A6346A40D363D131C9240E3C33D7F58E6BE6407B946A5BAB130A03CCDC14C143B211B39D789F3316FA9DD15B421C7972D7E777331EC5FFB94A2315E851689862705ED28D30B0851A10479450E6B5E06FC7D2FBD957ADAA5EB4E5DF1BBE005E5B559B9B86BBE18BB0CBB46E4D2D9A1A1937C5DC24BAEBE2202BF41FA8D4329E106076F2B9B894827FADB91C16C0ABA93EFD0AD4C7CD890E22A4549220C6F50596D6A90B0C3D87B5D5A9CB55E49C9B4A54623BF52783E136292BE9141B701322EBF35567B5887F89912EFFDAE66ECD8A29807EDAE8D56C49ED80D8B564A7032F04570A972D0173E7391B6F4105B5ADFA5531122F1B7122DB42B08DFE7A73831E3A583313355B234EFFDBC3DE6B4EDB55B4A55ACF61DCE5FFCEFC853F5DD431F06A4896463BC54A2077209675CBC56BDC3873A6796F5B579F1B3957EA9C9C2A00D72ACD4449D8175C6309FBD8C30D81770D7852B2CE362897AD010E8D57BD7BF6DF71B1BC64A9DDB5A153AA24363492061BE66A76466DF364C8771618B6702F5831E0DB15894E9859C9824DCFB9AF4ACC27AF5A4B35A9B5338A006B4878A0CA15D588DB7691126134B6C728F0594623AA4001604097F5BBD8A01E28FA8E14632C480D0976AF9C873BE89385E33504BCFA4FA9EF46BB3A5045E964C2BF46AEE4DF4B69201B12043E51F0372521FDAADC95F95D35CF8E52D9DBE3466154E44838D0C3ED25F00FC3637CDC860F5606CD7F9D3E847B971A969C2E74FBE64034DAABF2433687AC6123AC657E735708376FCECC9D7A78582828A21AA6F72E3C6294BC7C1564DFC8CB89124C6699911B62D3C99289F9D1B1342B65BB31BB1BD9B9693B31A47E4957E37B6AA21ED1FE3A3FAB1756DCEF6FE0744E2D41FA06F9DFD2D181741C6D3B7E3B12A58FC078B2C3F7EA4E6D54FF99CAFB43B4AC9EEC70A5693287B59D455009FDA332A20EA862B9DCFF192FBE34596B30ACA6938CB0E07481AA525E168FE2AAD7EF042EFBA090EB33629ED0B94B344A10CABBB1EBB0C6C89129690003B8AD3A7713FA7D5B850EE55272F75BD85309F8E3CD52201FEFEFC4443D306EA4AF66D47A2764D82916CAD6EC6B774BF360C0C23ACA506824E158744CEFFF38C6E246CA75600370C7130B18F57E42370895A51045568A2BBBD1F6808ADEE57398F9129A66AE75ECBF33FFB1A70B700EA412E1B2FA04B0D8CC09EAD1CED836853D505175FB032EFD889C72731BE9B78975749C80FFFA4BE4ACC44216CA958D27CDBFA972777CB596BF656444FF555440DB2313279F0C39878709713B3F6885B32320C03B67770EA4F1B6D0482B486F203E658023D35E7A8B0F0D34D4B29CDCE472E97234291BF61A039F39CA1078DCB1C24530C9331F17F181900A63E29ADF0861C0E2821948D870DDC7E5686C2B7E95D74E8F32C1A5F9A516B2E103E76DCD209FBA9B6A8B219D795AA9AD7C70617041AEA3F911952C0A115141836732F7D060517B5002518C384A520853C87FFE6CF6262A354EDFC79C88DFE6DEF053D70753AAC5A4D3FCD8218018AE1810A4CFE1A361C5E363547BBFF3101E896DC38FCF17E04A90B4E965C3096660067E19F8811B653E0C8CD4B4BE4D39FD389112AFD8870BAD27DB3B607CE23DC1DAC3DC3739B85B3C134E28672BC2F1EB213EFFAF847E478F34A746408D5125AA6239977364BF729E40E03E7A4CC10113AB8FBD70EE49AC167BAA6B0B5451D3EF135CC0A0E5D6B57372FA4462E4CFF02716C93A50D5BD39BD1D5BF3E0988DD4F97AEDE4B83B6817519F2F6AA5D7606A26BE37C4E1DE54F8314E9FBC9A40C1C256A975BF57932746627C697AC64826D98CC9BD3385D4B9F4C8FEB340AC10215FF26E24E241AEBBDF267C5D6C08450EDABB3EE23B322B6D5F1591918024A164073D10C008D9EC4E4B701429EE080BF158551C78022E4AA3FA1DCD650DA2D954D727133AA1F4970302B3C3475D2750F681A4F2805CFB2D8D9D4531BB8C4885F44900F4E1064AE2D9E98F26CD75345ACF47830130662B179C38262C1C03FD0C44726C1FAF23DA3B65017078114FEA2E158FFC3AA4F7303EEEA285D4A4A193AAB8C901F730F42D35FBDE3063FF7FB356E89DE53E1DFC0136AC90BACE0D5FCF33F5102701B9B8B96E3200EA3E174491CAB92C5DC63357EA731D1F7C6857BDC82AD8A22AE6CA127D15410B0090E9CC1BE60CDD8EB6BC7B531456DBAB2A20AEDC5C9C397E88C2B0859F8FB86B91168FB6C0ACBFA0F57341A2652DB46B55F06FE30399D2239006666B6EBDB7E63E02AB82E6687640ED9C1873CC9986E6A181522E53747680B09AD7C7502231470E2E87AC58876B37AB3039CB439709E1DBF3EE1DACB43BF7EF48C4489EEC8DCDD91DBCB4A55DF1A3A4DE06399944E38F928C381FB2D7000ABA188508FD07BF153D201F6DB78EBC60CE731C11ED3AF7762ADF240844649CF51E81FF4295931DF03233DA82B7FFFB54B7C90124777022DF9D3126D4E61F72FE6D66B13F19779F966C18235D5152ABF376E11010B2312C11D1EE4B0E66C9F340A20398CBBC2BE911A8BAEEB12A20D416D31E0328EE608059E423792E86ACBE27B1438A4E9BA3492C96FD890D41DB68243986D91949C187A122C80C8F810465AFF61EE26D385FC6A64EA81BDF98F0AD29955D46E6D8ECDB3514A302577BBAAE8DF41C5E37A3C477DE8B57D6540D388ADF8631F8EF6E480700D064339D0A8CE6A40CD86C52AF98F7A8ECD8984237FA6C489CB58B17031F56A334D1C3C88322C28AB24CB5DF32CEA9920278EE75CCBE8016A32C6E126C78FE59721783659C8BB2F78999ADECC9E4421AF4431FE1636DA52BD05BEA0B0FD5D4C1F9FFD9F061064E1CBD3184CD3B3C619AF77594704FB1F066ACC65E9F585D29400E415ED8D17860A172A1CC5770CA271F86661D2F92A3ADB02C0FEBBC035F3BDF84F9CDD172F5367508F162B6DA619EACC1C516139764F3D1632792AB7AFD5068982951FC35AAEF0505631BAA981B46E22C68FE8055FE8FC6D8EFD5AD295A94937C6CF4655B477FAD5FAC86ABEDE72F6EB53284C2677E50757999787F851441EE647A9B47713636676AAEEDFEE3601381A5B10AFE4B17A7A4760BAE1222D545E34E094F1231E837A6C4B08927B3400A26D68C24328650E35C856E6B4A7B5F530E27FECE9D37D59EA921B0735A34F002E2940330B5C70B6DD8F96E11D5F1AFD5922FF8B2B1867C9EB199075AF1822E2817D206585960A10C2648009ACCFB55AF6263CA5EBC84967BF80D1D33D7CB3E93E35792B97CB59E54C4C74F884456DC343FA23A31335AE16C2591380FF6B64F843A989A30CF0F5AC0A09E63874982DB9B8BF629200BFF371C72AC47987E15EA738A097A6B01A14D56816098BEB32FAF680DFCAC44E3DD772BEDD4E10838768E1E36DB2BD7DD5A9C2070E7D87E3EAED7B0EE177F39936D229EC8642137763C094CA64C89D11311A07BC264313E5BEA21A2EBCF02E66C1724A36F6F2B5014CFAC9A66E73317B6667D018748505BF2A865C2383E4DD7ACBCEA64EA1B767CE2DF298860598509BDB476CD684B37AC98596A39B88986780F1BB50D0C532759DCB6EEDA39916683151175095D009F4F39349B0E5734AA29CC492E49D40C397DC12757C8284ECC0926A450CB3DB4F166FEABFE4FA8F53042D7CD2F79DA82023C7A085028B2FB0560E197DEF9B8FB64BBF3C7EACCAA2C0B4EC3D704EB8BA4110F281E45BDFC68B71591466C128501130A4D4BF014289BC7C16CF4ABA8F5CFD5C553211BF0D6F6032D3E7DB8CC5601F853B0222FE91B43F176BC445C4D2E07659BB896ADBF0BB7A22B2563E4EED28D5C60D1FD02979FD88756B5B1886287DB39368096A1BD5D260135B4A80CDC50DBA65366EB5F88F62B55F931CA89D8ABB1BF5CB4387CB6026B4FBAE6D73C91AE37C36FA13695AE066E8092EE704AC5F3A22563ECDDC95D3B3E81139EA1499CBC57F93B41137FA0C4914C00C7405263E04AD7233A5804D1766B717BE566C43F6C5662BA77CAA7431C4C9A5B39B8628FC2553A9B48ADD0FB66BB20EFE84F994BA1BD10947FBA692C8EB11336779D48D8103D9A501FE101A29C6B6EE430844AB73E791891E1F1AD9E0C57583B9E6EFE504B3B5A799CA5444FBAD974895E548E71FBA73D59AF15C876ACCC7D0F1D1B7A73A21DFAE80EBB1566E48C5735B0315E0A6258D6B1ECB9AFBCD60F889A28CED6E57AF4C94B014883ECD98CC6296AF80194A5584FB40844BEE15C4295900D2F910C88FFF0553CEB4E089D90BEE947497A14BBABF4A568E761587BF535DE7363E0F750F889274D2F5782AFE1BB4787DAA3BCCA7CC40E6C4A9F65114A0BC7BAA1CC8897E42A08ED6F5637135661E09D48CEFA155EAD72FAAA3491F5C2E303D0F3F3A86EA46F9D21E23AD59ACB9977088C443D3D0FF39F5AE98BFA3285DA0DD73311C8B66A25B5E38611F69FB5B02B47C8D9DD9263A33805924D510D77F93F3ADB6D501FCC48F66F0859368FD716F3A421E20A4E1845B71CB33989A5AAD41F43A6C0CD04D277E38CC3F195B6C2F0321350C52AB27BB2F2349323C0CA8E5B8B4FA6504912AB4EC2EA8769A49125BD7711FA2483046EC89A13BD8088DC41820E1DEB811B68BAEA126C10539169937BE7AC9A1BF0C33C60F94993C12B51E9A156955976BA7DB1D8AD59DE81766C8C3C4D84339FDDCA1AD36B9AD4805216684E66E1600916341F6637736F85A720BC415B470BECD04E61F73DA9F79D3DAD2629BBE7D8EF0E96099D564BE876E8D5EEB151AD0AF81682B3AACD1D3C460B7FC236A8D14C455830BE612C0DEDB7B1D5E8FD97881DA5D264BDC56DE0E1FE9D99576E100769DDA5FE6C05D23995E497C889E86E2EE4DBC652529721C7C706263C7878C81F11D0AE3C991BCCD0F5C32C4213F881ABF61C0A35D0C74500DF7B34652AFAD726818A7E9EDA2C9E9D3299BB7B549A543583176D18A6AF3B29B92B8443BE19984962571061FAE7E3A4537257CF8824D96094ADCDF3805CF5257AB502399196170D7BA3556D7A1C4AD999A9A9DD6C644108BEA2270087F083D50BE778E973794D0E432D362F01769F329B6F1621C098EC096268BE516A9BB7D87A7EA906AF76B619132EF05ABAACB4687F53A98122D3C6F6DAA718BBD92ADFE5CA961D304F510B674AA85861449EFC4AD3A3D249428C0DF933CF170C3917EDA2380C197A0F5780897A5239189DEBD9EE7360F5FCE207B4B9D27244A1733BDF83FC6EF73BC2EB08CB6FC92694A5D1E586B767F9B2553B6E873F6C5E13D1DFBBE925BFA28BF286666932547053C0AC8BB3C1A8EF6A88F7924CBDF2A89690B415159F4C1165C3F6C4A66ACA32655EE6DE702D5AECAA93A687F0226249C0A90332AEECAE10B5FE53BBB34A931D548992620B8BB934F2C3BE527917CC192A589F649272412920CE26255145BEE1D4C79E93BD17F15220325DD5036D987E6757B85AF673B2A2E4F5B0666698B8343774AC8509C382C16B48CF7420CFEBD637E42FEB9E35517851FF937393194A50259F66C09251326663679152AD05CEFD1FC1565D002784C27063BA2700195FBE01772A02039D5CF257183D7EF916B2EABDD131829D5A94168AFAC73358DE4FE968380105ECB4894733CA799603679447C219E63768F2BD8C0F51FD072006F016C56DEF2B45F7D8669F70A9BE064632C7775AAFF1AC4C4590D7C1669033EBCB1BBF3C136870C4CA6005296453F39A63BCC5C3E42568CAAB4C8591651FD98E7626C0A77622A6F4F3BB4F8FDB2CB9F60B96F19EA801D724A479B8153C27BA50127AD847759E2293DAC2C0E97DFC2253A6390A55A55C7006234C2ECF7EB7C421E94D13BDD589405FA253B7D8F0427FD7A79DA736C1C350E7188452523D2EDFC22C7D217574F77F12E7B369A1DD6EFF3BDC11FFC1F523B003F04E1081BC1C6AACEF41C90A321A77E252F617D87E00645718573793C709E469ECD81C9A84B4A63F7D930E1858A0600E0102F72146343F432274811F33C42AF17A3ED3978F1A4FADF6CED2622EBADE9BBAA73B68B7E7EDB4903735F0455B611630BAFDCC0587A6DE117225C06C2ECDCB85EBAA0608557C1EBE7306D588B1012CE0C28DE0D8C57E56BCC8FD51E4F0DCFBBD891CCAD6DA94BC6A8D1AB8806270572D4A50575D74C5D2D0313AFAD653C71F4721531BE574ACD7AF6A224CE946E9D8A976C31F7D0CB1A97DF93BE8D2E43439F2295C407169BED6775EF988A63FC583D70D3F1EF588D9267A6E15DC3BCA2C8B6403D968DBBF4C8FBEAFAC199862219864E9B0219058F08E45EF6815723D3D7A009D17B40CCD45993D928238DD95BD95AD7BA84B49B586F6402C42838787403073FF2B383729B45C1F8525A293F1C606805084FF55AA8C4B24993AE343E12BB548624D61D4F7B80E5E061A4570D0B8BECA23FE1A014297C91A2C0DBA26B76D218BC2E16D4C2E20F3D0576D94058027F4D1DC048DC1F9D1F46C98DCA0C2A6EAB8A05800682CEA34DC44C11D93CB17918EFF9769D6F0F2C14D530DFBE8E3E548E00A6FC5E84FBE33FC4C4C89E33FA3D4CADB3354040FD7F98FF6C5B48BAA41CF01E44429E1DA2E070AFC18AC1802ADB4B8E30A907B776BE67AEB14763FEB5F5D9AC692AF0E0351E83BBC9A9CC5A38E7CB08E0A3B3E0DD6A19BF949A54723F71E9BB84B297AE8EA62004FB73D5ACFACA6ABA8294A2D6CC35ECD0C96FB3D1D67C283D67E2139D63A259E006861E98B517F01E4507DEE958E2D64C07DF35A6C2B1A1B3AF9EBC49BD8A84CBD8CEDC5D254A0C68E2B6173663965CC407B5F1D29F992FE6AA562E4BE1CB58F413AAA5A707DA3026C4C5B0C83B4457F691D2B9F6A87586D220A9E03EE1D3DFEE27935D4225C3C7E946C4806DAACDDF00FE3FB5A287BF000A82D134A113D70B3C39E7A718460B9A6DAB0FBE62C60E1588A93FFA49A9DCD68EE737B7D819DB3606D77961C566F3D185F66CB3A1D9BE8C6AFD540806C4D213B5F6A6A1B45CDBAF83CB9713C119C21968D6BCF6D51168AB31A1E3AB033CC0C45ABDD9E39A5E7FC2E733603D752CD1DF112DE7E5CF9661B81600A47AE59222783AF949317A27AEFD2610070CDF7E1CBCA099253B32A26ADCFEA920B72C8CC58C1138287E31949F30B31174D3CB1D7FD29C7E104F39D04E380758623D33C614112A5C7009279BB52D58E3E238F232D23ABA77903C6E789ED49ADA36BD825588A913F833D74A76C7F2042AD9C8BFC206F99E9AF595F4A05B991181FB7FCB618196CA910F4462EA661EE763161426756D82040F49114F147207AE46E5FDA844DF0AEE5B92B3B7EA7C8E944AB43EC71BE40C950B95DC64C48C4E2DD59A631058A81F0C53FC9DE53ED60F981C991E935EF2EC8C0C0DC7C8C2C61FF92F44E494966234D1F84226BE20CFA48560A24FAEC1EB1E8F153D85CB3CC6C4F791CC2CBBA8FC98A729B96BDCFE046C11C715DE4611903ACC7C446C31562681E3E9CC30B16FA2EE095FABCFA03C23422E961190CFEC1B01D12625680916AF28974AA83EDA0B574F00307F28F6174709096D58BF40F031371842EDDF845E9A6F54EB04C38382C6D64C0B121C5FB5579324966E7C92039A4DB209EC9B9A5B7DC746722E385CD9833849A49E6C7CB385B1F54DBF0FA20C350C2D041AA5047A7CB80F43A9E9700C58CF286A29DBF06F81C66325CFC590BF4FB4FDAA5484D5AF8856EB86D2BDC518E9727C11FDCE62B8675AE732DFD763AEB9880E5ABC7E17F950383765980590E05DD8C0E09B0C03BE83A9F083A13DE8154C5D9D9B360005701DE333553CD59C6FE29DC07433BD59C49A45CA111AEE1629BD243887875EB83979537F1B31D918F427DEB4895549403C92C0406FF5E0F73F02B7C28736490164F3BC7D02E116A5DAF98E94A8B713F06D9545A660165682C807628BEBAF2564D1C2D12D2158CACB37348E55410EF264C09FDAE28406C398F3463C1E25289F8BDC8104D6F9F50D54B9D12DD82DF74E682144D3DC5D17C6DD0C733B1549C3940441BB8EA62FD2544A28181958D52859F8661C5B89BBDD1632AA6AA9F7A5AAD3C91C6AC699F12BBB8CBF066D223D8FC742D25194C8597722C09CA606406B6B117C2B58047237F7F08EDE1080A87EB6983BDCA05245466E905642E6F4C7F03B69F972D591967D9AC3F9CD1394884A3B75845BDA0045D8AF3EF079216A57519C038A8CC1DEAD25DCF1F1D0CF4AE97A59E1B00ACEA88D23ACCE1D314CEDA207301A8111CC33D9EB4158F09E6182B08F6449F4C5890F15412DD67CC9A6407B58C51FCFED88810DB210743604DDED3371B1A0C82AF893B79F81A657B9DBE2F5D580AC057F3E4C107C6C08C2B8EFC02D217066FE6E86546B14FB9B238EDE6A9E8CCF6872405F8CC1D3550B83EBCAEBA198052D93EDA6B0279DF749C3A71F7F39329B44EAE620FE48FDE0E74F89DBA1A3DDD184CE6049ED6D4217E90808EE1D2249DDE5479AD6A13A1BE53F29CB32F8C7C1D309988A1E97944F79E727527D4A8730C6FD4BD0AA84FD9277EA015469B3BE5915EB808FC9812DE9C43FF4A0D0D4A74122248E0D2F63D2AAB7E83E48297902965D054412167CEDA5228093D662E6C71F830DD3F91E3AAC6C79BB8E038FFC0EFBF5F7EB9DDFC8576AAA7D04AE248A8E8F6832DDF557F85D6530F5334E48E675E2CB944B594BA302E7F4B13E90E246BC61F7847C16279A8490BFD92917A3B84D63B1C619EE4A3447854FA90A51848CDAD8274D6C2209C60019F0F4DE8E0E5196D61EE0F96004632D39A8D03665DAF11F489AEE5C1E707FEE42B4BB43E674EA24005E5A0DAFCAB96F707D70652B7471CB347B8D4778088F653772F5AF77B8D8A12DD7F62F20955D698FC7F0C67DD28ED4A12C73B87C55317C169CD801F49C46433BEAD67F89D17EBE133D73D48D467E5FF37552778BB86D49BFC50FE94AB00DB1EA7F0B073DAE089AC3731D9AFF4C3B39028BBA9C72ED51368917A826464AC15760710F7F0090F0F8516F2C607E67900A4B6B88B0A37BFCC624844194CF58C99AFE39D973F0FBCC83F3DA6A31A90A51AA2830F4683614ABCAE8DA3420F8CFC8DA5838E2A377B2DAFA0BD789C7209DB489FDF6EC052226A1968BD46ED380E06B43E35D31C5EB702816F51FF109A939F924B2F883EB75360EE44A1D024D1F702A151C94BE49DADB0A5D3414AD2FEB1F3CF403B33DC09980D890EB625001F5585BD547118B5BF0EF6C23ACA32408825E6C43F2543A4F084B9ABCDC862C05BC7325B288622CFDC198B3C259175B533698C4414A0B804EE60AC06FB0FE93C197B39F37C4E16451C93267D2C99E2B6AC89019B54A0C9EE25B89D144177AE591E7528E05505BE76D0DA90D0EE3AF9B0A4FC0148E49B68B950B7B8C9F53100DAAB16F85E7074EA2D1930A9B74F84FFC3F4D0F769E4FF01C3623B3C8FF1B6D60A7C0E944164100502072C564E5CB3F9D1F1EB8F9CB684AEF39E2A57609DF043C061F92214962415161B3AED154D3576D934735AD9C0DA316B7DCC80C6507DE87CACC147E7CD67EE048EE03517034A734AE943136D52D184A1B2573A365D848FF02A68749A6224A3683200155636EEF03F6CE33E7007CE69FA052A76240E5E727FA5E008985ABD17CCDED3790BF459E6109680E2224F613214BDF8D69222731991AE0A56F9B67807E937B66CEE00C5FD087CC4B30FCCF509ADA3637D0E07CB0D025020DA4E5DB275F004EBF6B47FF694944413F33D62E8F1B2D8202B23B123A1C8F67AECA0D1E63CA0F17AFEE2FAA99169EF418444CCDC44B6F9F284CBD2AF401BBEC70FBD1F26359AC1F8D9BFE2A6443C9D00AE606C58ADA6C95D4D6BEF9B4A0A2E8E1DFFB7A1F5C8112D979E34A6DF69183944479C00F9D0F64E155D32D7F49860AC55C2095EFA11BEC5B582F6BB45EA47B5E3CBB9D2F61465636F5E4F66F237E94D864A7A93F42439343804149DD02CD5447912B2FFB5857E163A5FB8CA676CC8B996E618F424778C68A420B3924E4D25276D5EBAED1289A92040A300C928DF8BF59BC5F1BD2E6B1C8D95DB003B7398F29EF8C816FFF522DC165A4BA3075219875CF9B13DECB2D0AD2724A72AEE972343AE6F0D4A68581A8F828B0270B770094CDCA6E990270CF5D2B3500684F95FD8249333E948061928A048796610C54274F2618B20552C5E9C0615A7331C43A73AEF5BF53330F755927D4426C28CAC1D477E6D5B3E624FDB6CB0944194EBC3A5A55E304F553F4B93767A37C740333413E8A0A8D152325A242DCE90BA89BC5F50D4A025D90E332D92F82363B3B85984AD9F03B9BBB55BDD1B64B86BFB8E1AF6D8AAC9A838E2C84A6B0D6794963AAD499A74E06E552FB08A6C1CB3729945950ED6CD2E682BFC99F9C22EA1C6088A2BF9EEE0E5319D83D7B88BFD65636A0B5C1E014DBC6AC0F95321EC21B4D2C381012C88C77F72FEC2BC847D7F3D91590E5192DF6A97CD07221E5D2189056BA270B02FE2EB87B5B807BE3037B117E6B72985C8E343B171CC69394194AD3F64BE8F5B4924FBBF71CFC7C1F69AD1B3109FB6F3950E293F04BC6B4D4FA4626A2298B2BC693A3D2212A7B3C6A92AA2A4D5304145EF454A7D9D51571AA94CF4E090B5ED7747C98DB8F166F121A1793DE3F50798220B1F4B070DBF2A6E095C7912EE7268A0A6E7A4EA02FFD81879CAFDEF0CE9685B484A46DEB4CBAC1982BF843A62C6A15E61954836DF458D55A4ADF8D84D3966375160991F90A680A0A23093858B3AD04A4057CEBE916CFAA29E273B061BA7B4F00C883F83674DD3FC41F242EA38E9BE16C514D24BBA194958A22B419C81C10E3CE816E9B3D8F34E82133ED14DEFCB2CD8EB2FFAC6EA77AE879AF2145AEF39177C454B039A879F963B70FAABC705C2BCD294A7735B9D0F89A43AA8ED336E44CD8FF1DA92E680E7B087942291C241FBEB85EB7829C54995109777551F6226BE96615143CB869E3029FF47AA158CFE3FED8C0668488A2291FCF1A5283B896010E507917D8B02B4960299E4CF6799E8699B4E978AA0CA59C3FC51083F011E78975DE256C80D9A14576A59C9C0CAEC6756DD05CBAB2258A73171533BF04246EADB82627A0F5E70B9A2D8D897B15C7476C2B9FF213C6EE6B7A2DFF84C92A6D20AAFD9524E2C29778F56A52845D02FAF11812114127A8B7221EC9C193A4185BBA1C82AF503E68D6592342794236BEF3355ADF88675ABE59688EABDF5D7B963347AB08BC2F4BE5D3877F8E636A5A5920DD0833D6FB5A658C418D48048D6B0BB48F640C5F2ADDDABF4DEAFB0CFFCA87344FD9F5F7A299B1EC15F11DB11EBF47147B56A39564E99CDE2820142BB9985FAD2AA41D3D92BB754B5BDE0CB9BDB0A8C17603FC8AA53FA35B49B36461C0A51278F5FE227888C8605781472E12E82940F346ED9DAAFF49820289F9D48AB3FA7F9CE8FD793D377A23BED6AF73BBE4BD70A3B7B161E94958E90C7F9320AC5F05D8312FCBA60C96F2772A7DE58C80D28DAA8D178548B9375A3AA31945921AD9691B5CF72FD214A0B38508C3D1137A161C3B454A5B92E0A270953F6DC40EF768C9D6DA28F1561F7C537F3EBA57DBACFBE8A0BB79A869A6AC8C16BD2090DDE73DBF10A4FC2C9A42FD13FBB9135522344BC9FCF14DC9D2077D003A83F346C9C4E12CD9CBADF5B418A5220F64E24E0A02A6519AE91362EF039A0CAF4136D9F564A613B25C28BE0905EC035E6852888AB625A0E0187017FBE644A25EF10FE2627763CF278DC8FFF541DEF4BE341946C7041DBDE78BC16BC081D1BE38AA074BDB673013D18501D355D1D47E13569938221DED9C1F03ECF6C245ED776A2B4B8668099FD0AE3AF3F4670F560CF413CD69F69DC87B32714CDEE9BA0811F294A8498349E9F932090FEEEB30A943BCEA1AEEE1DE15701D122E6629F94A92EFC6497BB84181607F2AC205B833460E46773C39AF30E8078CC238E27BA5F66E8CA27514542504AEAA6728818381F3E77BD6BDB2D125C085743F5ECD8751D9681E2E326ADF84AF396156CBDB4E7FBBD7791925D132AF9C222D1F8DBF90A71D1F54224E5EC1B37A13DA59B7ADC448BC3260A4CF4F07DAC29DC1695CD97C3F0CC032247E7D47A4C22EBAC52A561DEF8C506742903FB9095B466078C1E1DA71F84C5B949FE12D73B64A4ADC35F6FA5E689FFEC50D0B3CE8F151F1C4E9CEEDE3A6BBD4076F94E3F58D3301DF31842BB79D83E5A042CD9461CB6C3791E7C5840F02F9ACA9F886C7B1F73A1AAA1906A78B3CB16360B9ACC4E8569E22734A4823FE201AAD4A4E424402323F5343F2499C595D35F2D64C6DC9ADF9D3FC362B5AB909905ACE1B2C0DFCB8CE44BCECB33B780FDE483A3247919DA7ECD676C706C89B1A68A9F515C1C76A6D7BED45315261CAD218743648E62FA074C2E688B86DFE0FE0C200C819D8966584FF5137FD2A5282328FAD6B3612182787E9A7794C8F3B1FD68E91EAD2F4033DF7DCFC3612568AA8137CA115C1B4F21CFE2765C9F9D3E76E63205E4FFC2B778BCE6AD6E8B2E85D6D2EBCEBEFA2BE775265ED56216F2BC22C8FBC9023034916EB36A82BF27A20A28F0922542CB9C97963C18628E9E5A202D2B70674E7F355E3815E0F8043933EF598228590C21CB15E010A715B2D84016599520C3723A6033EC7E1A91A6D244679181DDBA64642804199A6F4EF8F0DF3CBAB5824F072FC519AA60B494E070765E34ABAFC0C2D92E39E74E13B75C47708F00F1DDA314E07CDC72A915BE32D928EE62027E18BD5038EC4D6AA6B2EA485C79B8DF3106B59BF4C1C128E740D07841EC303716583D606C2EBC3E8452A234973CE184C541122FAFE6B80CEFEFFBAEC35A0D1AC662B015503CF0482118CA235EA4587D13090EA539DD7FB9C1595F629F430638BDD62710C535B11660487818ACED228C5B88C46D863DA9D06943F5F8A732957FED62C1F73B077EE3137DEE4566A5C343073DC8A45838B035FFAB9E6AF2751EF14B92F2037E4EBC4768F0DE32BFEB460F1D5D8AF561D5D700561BFB8B13D168201CF30842C2ED715C683C8A697882411B2552C2B19988E252749E2CD481C172E71279D092EE85A18BE1ED8B817A7FF25A4343C00310A915CFEB29020C0BDF778F4D4E70B835517C870EA28F26FFF67A43539F5E3FC7F7E5D94AB8F6ED41C176750C011104D51C2F9567857E93EAC3183EFD8C79B7930B6A7D0C227E5359284A6A21D6BD4636C3A490F23A22EDCC2061C870BDE0597324F0C3323EB8495CBD1F67A9004C0991D0C499D17F0C42D15A8D79EE7F76CBED988B09D7CF5BF1CFEDC3829CE4D8E781CE775A937AE0B3FE80E7783618C6CFFF2869030F9AE3EF95F6A552F7E5CED3452DC996D3DBC11C08F6A9D5BD715430AF7D80C101FF7072020E4694E60C4CB4CB05AB1E1776378DC25BE385FC843A062DC080FDFF1C3D9F87697F6F131ACCD6AA37FE9D6DF03A9A29DC10816FBCBE6F84937AB8D0C5F4394B443CE5FB48EBB1384A3E248E1E8D65554C569071D122A59A68CAF8EB1510DA77941F0220978520D1BA2467D14A8D57B331EA4B67C315294951545E73C09BB44BF5920AAF1C11251C5A581B156C2A9C905C4FB2651D92840827AE7E8CE3D78FEAC01A09A1CBB839A43B430C7A34F68B220465BAF4CC987AF58D5765FC818B4B98C6258035690BD98244EEA1B5DE636585D5AB4E34AB6936337E2D34E899DEEFAB41A033E7927C6B5B93F8ACB0DF2E2B2419E7BE1256255421CCE77466AC1DCE76ACCE60228444CB44D3E3D9B53D0FAB68956B49140E1DC360E4DC409EBFECB08FC49FEC97EDE974D3E6C4DB8C531782675194E05625DFBB461C84266DAAAF12E8D1FB8D2711A6B1BCD568AF091758D430D26AABC0E148BF1C760DB03A19A17E666D0E5E336A03B5AA1A4EF762FD85B864C5C1E7C56C4E924CDB61C71489993721422D0F5A326A7BAAC3944F5D0EC84E78325FF514B151FDBE890907786858495D972F6B7EB73C3F9D32290E8CA8F318E07064B928DA48589A8E941E94ADB9C6D4C99663CFB29AB2CC35A92F497A155C7C7EDD067986784200E2BA90B700389A7742F852853364AF5CF6D625C62B2FB0F6DE7705B199DF920170FAB5FEFC3D1DE7239922994A1C14A98DB5872F340EBB631ED2F3CB67F0DC26864677FE902B7D5E212C99A2B3D4838A41E84394DACF3F8B81C6744D6C6A7C80C6F7636A62248E9CE872254E5B6A8D542AFD4E00348FE071831115292E183AC6B40ED1907A3C8AD89194F02B3D21E06B532EBB2102E4D7D59D26AFDC5E03D06F9C3A77961B471DEB1D5C844F9AB10A9DDACF9504273418040757C37C188ED7B4AC8EA41F3C0D0FFE6C7649FEFF091A4E7E697CED9BB30D982D90E307E2E4326D1A199A2153EC1E5E724E936DD3E67216AC8D271195E25048BADE5777E24561D94864C55CCBEE8AD83539F7AFD1F9937B3F1B69B8BA2E6F8DC23CCDFD27400936C70D5F52994D1AD5A87AA541A187909C61491BDAA239964F6D3BC7D76C4B4D1303CD6CEAFB36A46F2C2697EE07F4B8C8C5156125316EDBA7CB8F9339DAAC65CCDB2569492D0D7230DB8C5B6346FBA97D89E4D340C20B75FB176BE320DFC2CAD8EB4364A5D2EB808F7474DCCF3BE26B65ED4E52235F98BE5FC91AB732DCD0A6AE3C1FFF04E03199698C57DF3CAAE96B4D9E6E76F42CF21B0F0E718BD8DFF3882AFA70C4DB4CF76C7D07A5058DAC1E11B2113AC44592BC6FE37E38C21004311732408ABE64B4EA3ADB3C9629A6571268E9F66C49BF7FF8BC72074EC77B166B946938A0276D9BEEAFA846254A8A7855B40ABC9A615A311F8807AA0E38BB45645EB86804C8060A04D8ECD44DCE70AD22C81E75CF179687579FA8A74D0330ABFEE148264D3D8F2860D6A42F9240A0200E77188EDB501234A29C2F93E007EB0B2AB70F3605E8C362B6A6A36BD34AFF6BE344D0EC6FEFBD3E0C1204FCF8B15986B7A6DE1F8F37AE47C1F114A429F255750BBC40D2873996D0642C1542229A0BA88746D4173901E06C85078F06B0E640234F9ACAC4ECE41DB58FD50452EB71EE0D77B0C968F44235801462D0603094C082F1F71BE4B28752F0B3C9F749BB7A0643515819DD7594EFC845D241741C81A3F43D30185D607B477E2DD0F635E1CB64301488025F2FB87283B40C6CB8AD2DFE4A1C194058B4E4B10DC3A58A591B8BAEC4C02B3C81CAC3A110FEEFE6C1578BEF3949F5315DBC7846FFA1B28522D0C37DA5E1653D7D47334E309", /* clear */ + 9)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EBA0000000000000000", /* iv */ + "BE", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EBA0000000000000000", /* iv */ + "FE4315B3F7AD844D8ABB96A09C85FD170A21A91353B088441CF64DCE14A99B8BCE75D87D7572AD4C62088E1A34EEB1121B6716B6FBC77320557925C25092EC24FA51464A32C7CBE75D704AED1224EE4D51191FCDAFF07C0CAD3E00E6DBF75721DF9468DC2DA507FD0AFD115466BCAAFFC1AD36D6970C4F905F5F8127042D2E59B5D41A568E8AA15DB4E9E13A89E2556D7DFA5F924F703A07DD5DF414782BE5532EEE3E8BFA28D7766B277C974B3E623D341274DFD989C13766BBF64D9626408B0504B9468125D62F54C187F1CCE8F267C50224962A20B2015A5080EB7504901E1BD9CA908006335D1752E018C34B7117E254D3BA071A2A273D80E117E04E75D20C39BC1B02900C06AE8875FAB96D6D1F3C6799500879D08538D39696564D087CC567A8522B5960E27E5AB2551F0216D46588FDE0CE6A4909A2B72A4257B239F2818C57EBCCF0A9D8A78F4E2912EE484A3CB1E3A7A51CA116F0867AB7576277472CB33B8396155706E4E9F32C7D8814ED195F2BDD46513CDABAAFAF1F681F1D64D5F63EAFB9925C6DA8AEC538F0B92C6C601C99DEC8B41BEFAF21AB5A0B78EA7A42EE657C991A0004A91721D4DAC2CE04295244D6AAE6E78BBFFEF609B79F20A06F5239687AD783E7FB7D1226ED6514470DA55982D6C4F2A52B2087935890C456FCE2B7FA1AF02B47B8C953735B65BEAB03EA6E57D9295933688D6EC713C3170DF50A9FA81D2557A1E39BF4CEDA98D3A9C5EC3ABE55429FD002048E011E82897E1A667A890BF82CAE5E3D5027AF00B6847BA58109FEEEBE6781DA914056E102D52160CFEC4F03EC80953D70C89751279628A32946F0B72212FF97580718EE2675CEA8BC77FBE8732E36BE90464CF529C68C6ED041BDE4F65A110430983C2235A5D1F10EBEA4420DF04DC77BF9F3EC5931EB10B036DEE91CC33902A2BC133350758489DBA0E6D4952E59577A45B31406C6A53229F7C671555A1CB8DC749031FB457FD53298E08C0B1E19AC5D538FD6C58DCEFF4471AFFC7C62BA9C6773C8C72CC52309D2AEA0B1F45259C54129B2FE7F7ECC10B54F97328659702B823DEF8054E0978FC54B7B32CEEA8D3513E3F27C7CDD3DEF9AFFF9B45C925D510E88474D99C6B3CBA029EF1068308C9B8C17AEBB7514A6EACCD57105F2BA230B2BD5E8A4564583E8AD08FE7E9349D8AAC7F2F502233A90AC9F245F6C01E2340792CD0CBDE45E860AFB2556F67D8FF60890C5B94164B3AA2E160015D15A92381C713F35E5B8E166E40DD08FE80C1ECE5799541756DC78BE208AA5820868A9FDDD6FBCE66DC766E0328A37FA483C79BD30D9B3684CFCC530D8B3B5BE3CF1ED8423759A6DAFBBA2CDB863CF35011453187AF3DE0C112ECDB1E967692D92824174D4B911371FF1D1B82AF725AA8F7831BE9AF35C193702DBA58E689ACEAE197D4191DDA08B81EE9EBF0EB8E9992169899B5CF6B60791D9240463C297D4CFEF69F4C81C83CA80990EACE1458EA24E670C80BEA498044EEAA4D46B7E83588B9F67EC4D1E2494CB1A6BF997E6095EB3E1AEC3C71667174F622FCB921A48A0E286040013175398EC1D8133585A141D7AFB8AC2544A83B5BB6FC1C68A8A581FF63CBCCBAF072A139395F5005A84144AB756D7B6004FFAED9A82B767CE343E9EA7F2F4C4587943BBAC553DCF3EB2E6A873A7900108F6CA1EFEBE694E1A86EC5D33292AF740FF2CB98FCCD14A2243C59E10BE10B55AFCCD54F54D1A35B93BF7AC2E854C8B652BE039517A3890A6E1BB3E7EEB879E38146C20FD6AA6423630E98011E95B0E631922472CD53261DFA42180597C90D56273EDC3FD65636121F257325F5D1B125D492490EB92AA963C09E529DFC068D9EABF5681E37479DBB1CEF1C16CBAF7ABE240EAA4BD24CBDE90AB28E91C420B5B78163C5E912A9A62981114FA249D127BF7D6CCFC06AC35182C3AF38EEFD95C310FE359FC991422AC7D100900262C5F7EB9BE1E1AA27BD793202AE01E5098CA4F7A6E5060624B696B95C06CA3AE932642B1059A136A2BFFCE9A28F28763D0EB6845EB2CC6CE11AE6B65BFC8BBD051237C981DFE2871E9C6458CC61E2ABFBA80F098F5CD9D3DE15B616B234DB3E2ECA151596C6077E96345A7A5F21013C312D5E520EE7192674E79F90D34B5F0BB0B66E2312569B010E4EA5CC30931BDBF13B179ACA6ED50BC481BC611AFCDCA6E16FEED4F7C4E71B735BF9A92E924E81790A334500C3A9E05C907B784183CD653A216A360FD5DEE40E415E9FBB9162701D43A162CE41C26F46E872F11A5A19B773F74F17BEDD8A022C540D5D9236409C8ACC0B5DC19A2042C48C7458A70AD394D400F41EF5E6224BD5E7D656C36856C2BB441D1401321CA14CD86EBEC6091B67705E48094C0A69667B6E7B55EB43F3AF22B431E2861A6BEA120DA9F1BBF7268AB71816097A0B7B702002A316059A78ADE0E9CB3281EC76B922ADA98C4DDEB9A7EEFB5884843DA270D6E4B59D329F4ED63B4FF4954C016D9BE1F5D39935AEE45C035C36123975C0C34FC71C121A96B444F0DD015F69E301176D8835ADD001C5E3490E1AA2366749E1153C158F3A92D8AB1E8FF0B39C7BE879482DAC5A3ED7F0E1867FA49E9DDF2EAFCCF4DD7C7AE40274B407C477D169B555E22D0AB86582F421DE56CD0663DF5F30B0D0FAE17DD762A1124E6927D71DBE8E0EB7430D4DECE870272E47BB0ED5EA026DFD932FB07C4E7229F5CB3545967791906941656BCC5235CF89E3448D949A4553BECEE22F38023822A26D09D8F1987E55603BA062AC88C58649C6A78DB63E6F1F34633541BE963BE041322C27E2D125B1C736D5EDF87594A116923DF62CDA4C3996258ED863973C9C60FFFB11397843D55F8ED4D0D0605B48B2B3C2811EEFF2746697F8FB7A1F0620277D5ED5D69593A76D53DC61DB59CF5DC521BE6B2FB71FDDB2088DD097ED9589DAD4C8E92F7B1E178DAE3A85C85755E59785B9D7139DEA90990FBE0BE8C1FC5BF85CA8F7DB399DFC4BAA7A17F8AFCA9E4AAC82734FB2FA0CA17D651DB57764F96C054442E49BF4B2661662A3029DCF39BE36D6A07A36D435FD1117D2D0E421DC3FB92BD9D91AAEB3A53FC20FEBAF62C9C9882C277B63819B575BE1E1D9E31FA2AB243B8FECAEF1C06E2363331B435F324EFB951236A64A4542EA8B3F07B032CB15A4366AECF6910263C55BB94864507DC8544D60AE46497162EBA2DF38A8F872A62A45EDECBE2452636A74628BAF9A919A075771966AF394337F163DC5F1FAC52F2D98AE27F81383FE13D357E21DDE8D1FD9D1D956BF6B010854F2E02CB01D72491E7D0D99AD1A31E15293C1C916ABD1EB99D1CDD02972EB042D41704607500046CAFED5893532A988CFB262376AC14807991A67BAC4C033AAA854D09082D92E3F8048626E86882B32520ECCB03525A768CCC2A6A23AFA70D53B01E5F5F25F8", /* encrypted */ + "9A26CAFFE86D6E3C01C3CF5C9A8E46F1CA6FA11DCA3E68500B14B83D32192E4D88A34A018231FE8A343D29A6DFDF1C15B620F70EA706C00E8D4CE26BFF5DBBDB63DCB334E549DE62ECE19C1243C433D762DFF539A6299C324146AFFC96240C11622DF015BF3582DAE09F3B4EAAA3F1D379C818FE7588EBC8803CDBDAECF169F269D7E85C4AC8EECB3ABD79357FBAF679AE1A3973D65554441F74D95456C245C697BAA8C1AB0714B5EF27BEC2D6013C57FCF7DFF697D1771FA0A72E1F1EFE7B589C91CCBF10FD14BD3B9E18E09716FB1F70C3DAC79817C8C01CC418828987863772E55C07BD1B99A5569743E90DE5ADC8999490B38C146EA90E483A5F1D26F6EF303471A8ADE93EFEE2948ADF29E1E8D33F0D090FBC4892307CCC75A0F51FEFBE319FAD37E4420FA6FAF272CC49C3731A7C9CC998D36D20ACD202276E5C8D4E67A06015061241C4871371B63051C0F43C658042676298EC640F05FA795F36BE0D6520F680AAABC3331A41335F9AE4FF344FB282BB0A21416A85BA969926665169265E583A6A5F2E053368C3E6DB813C49F366DB7A230379E62C995ADCF6AE5095846A59BC0D2E7AC3D21A92D46AFC7CD241ABFDDF9C14D540D97812DC7C9853827264F2F7F4E3E8FE33969213AEA0194E987E5AE6ECAA79F464D90C31BCEB0E40A08253BE042F23DE0143B8B80EFEABFBBD09287E865A1BAB8DC7366AB596B8D2EF9817C06BDC491656CA029EC22309F44175A8B7F39D404EFDEA1B8E7B15AE94EFB8F277E233225492C1AC78D12748C1DECCEEEB955E64544D9C1C303CFBC00401FFD0CC4B1FCDB2EC43B88A7A2CBB936FED5C2A217C4F1B95A966D64A626BFE7F985660BC887A497948F3421021779E45BC73AF210495415DCBB7E31857D049BD9100100ED131765F81769A29BB08D6F98454ED6D454B4ABB3434173D482F75D971D5F81E664CBFC7E64F2DC9950B6DB46BA8FC6F981FB6DF54FBA056D332C2CF8DEE2082D226C967D8474E0C5CC0F70440CA341EE9BB0A6D54E9D382CA74B97EBB5C06A7068EA15FABECC4D48B389CC86927969386D9A954149864B2B9FE66DB7A67B62AFF8FDE50D7B351C46360473D3FFC8AA3C7C9DBC1DFC8361F029267C60648AF002391FCA5BF11877649856A0B306ED79C01957314AAF1432E7584B7446E1CBFE860B0E7779DAB9CF650D53FEF1F3B10CA8B0310026F5064871771EA75C66C7AC4828EB69C544F93DA7A6ADFFF893275E10908E73975C30DA5A5722A69B7B389F268C1266CA0F3ED953E7906C7172EF1D30946AB435580C182A9CAD356A4EB68FD0B71E785E1ACA38A3A6B9E1543E525D59AD29B8014456776C9D0054756E01CC16E0A9518419C57B125F2A9B3AF47E30BFA7D1851596DBC2F2926D8C1960DE9E87DC634A7897EC4FDEF4529E9024F1CB051275B4125F1C738C5DF921662F172B249918D5C686F61685B8D4271F0ADF132E7AAB74E1E0703DC90CF61E3C93BE4CFC32C1107B54421A0F2182BDF628F1DFFC4C96BC7C82938DD9E284A80586C3CC9D5D10F35B599D570F9E53FA12BDB15D6C9878F6F19DCE136082312DFBB30C68835B4B6D3C9AF1E53EB7A2F96715308EB8AC4100FBC987609345224182B0355253CBF7F8EE36DD71A26F3D83CD75D7412A7B79753182A8A97EAE7DFF1E9B7A76FA673F46E30EB22E7D8E9DBB62371B5A050E444612F7AB08C52645EEF835EB3B9889EB15ECF0BB467D5BD4D3EFF130618FD75C8134AE4713AFEC50F92F2DC5598B881B9D45021539DB39132CAD92605498AC988C64B57A9316B38B84D47D8DC642B2994EC061F58372DD43BADA6C985416317654A10AA011E99BAC35CB05C3E0B8F0E5794593BED3579D49C950B1950DD02341E31FB5DBEF1EABE269A8DDEA9FC9838CEBB620AFB367F9B5DBE307D3AA9A5A084DBDA848A42942B15233030A7952C4238CCA5E5B42EE2EB209A554E376F6AD710F2D8962C0BB371A11E34D79860F5B5C90E9C5CD478C68744969EC95A96161C39690E87697BBEF67B1BFF50EB1D1819DE5DA7071404F05DA3FF1C641FDAD049EAE09F6EE10BF546848E13404BE4CA9A25975CCA2A41F5E7A56A2BD0CF9745A86ECD613CAC040C2E4AD964E8B2C228FF5F0077B41A1D3DD41CB802424201D929E5BA9028ED34D68047438BEE307B766ABDED61F600CF3B2A2F45BAB345806363615A574C590F372EBE5D8041B5615135FFCEC3EFA71E4AB7892A3CCB32CFE0FE0BEB955B68733DB97445E74AA1089F0257E6D17471FEF4302EF7A201915A309A62EDF72B66ADA38265E770DBE34607DE91CEE2E3C4F2CC56E8931FAA38CC5616AA3E7FDC3D38D44EB8065C053D729CBE8D78851193C94F1D9B9850341442BB2E81A202D915D20248E15DF94564C21105A64F58B8BFED7D87B87B07164981016299DB9BAB920653D4E638E0B2F44EE8F3CF6D49A33FD52632F060647DF17D883B53228147D709AA728DF4B94F8B603F0D3118E748DDEC5B01FD070C770B01454CA9DCC84E99164CDBA0D7390C5C146346A9E869F2CE7B6992CE552B6A1D370E1FAB028A5BF9207A7147CD4C47FCB10DE194426D2E25B2739281243EAE1CA485B58A9FE5C955C663EEF6FC8415F781030560179303B795BFC0CD17784081DD89D29E2048CB5F503DD880C1152D74BD7E3F5E947850A039D3729D31E05E3CE1965D3EB7FADF288F57D19AFA1CAD878B39BD50A0F9C75F8AC33136E80D8754DC9B94A0E426B40DFBE14BA6C6468AC9B421D67001CF9E45086FE2B0DC6AD055F2A91CE930FBA86ED9545692464CB43767EDF16115537D5D72B5983E32F74A69491EABDF6BFAC9244A559A6E70CDF13CAD6619E7F1B4F39EFA9EF2A40196CBCA60664CF12A2006F0F3872D4BD2CB229D8FA10C0761222FDDC7FED0A152C54A15D9F7F734238A4905FF9974ADB592DB9447F4F1F675DFB1A9826BEBA3FD882F225356992A915D7DE562CDC252AFAE09242C429FDC9BABB4B0067EC20C21B2D10D6D742AEA0F54AE3CAEA107BEAE991FB67FA543AE8B0FDD2509035270DC3A05C891BB9FB34AA4CB18CCFC04A24516684B247C4851098CCAEEBB7E47935F16AFFC2797785FFB65B3176EB3705E961E172BAB634D9AAC7C5F59326109262CB285334B2AA0298DA32C03B9B72B78616C9AE7E9EF790D7AC290981D4B675B44A51D1F1BD582AE84DCD8E5F5ADC4695927F6AD23C0BD3E9C12B7FBAFBB8C7F2F6624C61ABE284779625AC074B380129979F69E10381758E4A236533A71444C8728B5764C178E4D04DD19BE05EB273F874D9C2200CC460B3CAECFF24E45C5EC7D2C87EBD4202C0DE24377FC21F2D913EB0A0E2CE3F0DDD8117B5C9EEA93146AC8BEB0D0079B28039F3F5BD674DCB5335BDA3E7018A9EFE8409A033D8896A7E5F62432100A477B0AEA811CAC12C535B2434B9DC8BFE1", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EBB0000000000000000", /* iv */ + "67", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EBB0000000000000000", /* iv */ + "9160F9F1D570CBE7067889D92A8599AC93895475979CB21912C5BA5783F9CAC9D26CCBE68F3732800A4A1187A526CCA6E2BD54D9F89C24A637B76B67FF1E1324C0FA10C2EAF0E9D65E2232CACC615A215DD547415AC592E1D79EA89AA64CA936ABB4B03C1BA683109237C5A8F5432B5DFF5BA2DDB4DCCA317489FDEF46A941BEDBBAA7618D87449458A2DF9FF491482438E8E17664660D185DA58D14BB99FB41969FEE7CA23A522F2AC71717ECCC24A3D37ADEBD085BADC4014504C4BB4C4E739204C8166851DB42151524B75F0F852BE4295F831323B47825D1E20495EC512E6654D928F03153170BE2725D7EE3549A37BF140DFF7DAEDBAB17C137CFFC110171B64168E889C259C756D9FC71C0964CDF76976FF431AA4AFF29457D4FCFE6161B761113D9D46CC2E7F6CC20C8B4555EEDB42994E52B3EEDD9CAA1906483A771E7913F15377128CAD40E844FD93E3E7AA916E3D241186FAB4A78929D9565FA114806F165E8D47D92A4A43B15472DA300752CD501D5AEC677F66AC14BBE70C604894AAD5BA5FFD04A314BA90A1FC71368DA6965F5F93E2CB76D550BD4A1F48A1682B6A48B610BE431417B8B4E15F61BF6BC129008954F5154BCB9C9747B1A7344CA143E5BCC6E3C99E19C50973DD536AD20BE9DC42F38ADF1F7DAF784B3ED20B721B5034C33B8F73DA9E5171E773A698F6416188730E646C82CE4D1E2F88CB8C26B581520FB0B6B2530", /* encrypted */ + "9E42F2BFCE5A20B747436727C18538FA7EFAFEB35BB9B6B7E5720C279F32A40F2D8469B82898D799ACA86E52C256E7A44777161E613649F090B6586382E83E5B67DB6B4E1F324ABFA0BE78CE71AE38FD44CCFE3F92F20EB7A686D9FB16215AB37DE30785C8E02AEF5A4B1C7BD10E708CE8B5B5C2F8324036D86356C2C8137BBE3AC22972A5C1BD714297D572780739F7CA9F2D49F2DF8E7468E25183967824E7C91AB7FEF55D9BA4733B57F95E9E024E466C1660C35589FBEA385946D5AB8C63C134A0AEE607754690B4009673E2EE6B7386167C61A3595138BB687E27700B8931A6837C7C0839BA811C2A4227D1E32FF0BE014C72C59F8696A5FF225A7DC65B6338FDEA34068FEB1BDD4440F2982FB6FEA02CB9E8EBAEE0F355EAF3B24F71DCB7400B0DF755F5481E72A77351B4D85616D61259B99FF46F89E3A09CE0BB5273A9B6EA73451675B27EC5582AC974EE9849266D0D9A204F8709B7661F0D0D4436AF2A896933D6B870EB13731FB3CB58818BFB9CC95B0AC1657CEFF92494385468CB2B7F8B471C728EA8258F8B3096DC26548D2CC8C40DA5AC1DEA273BC99DF529C7E3B8E138B48ED32AEA450C052163F10BAAD9FDC3932174A4208172B6F86126E0D034B9F2DECE8B73D09025031558A1D4BCE51EA7A1ED0AE309A873CA5D581BA8CFE33D80CBB66A52763C8C4008745804C0BECCA53125FF385B21F6DE77252C5C131A470CA0251C39", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EBC0000000000000000", /* iv */ + "4F", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EBC0000000000000000", /* iv */ + "896FA85C5EF0CCA7A2D42B6FA9211675DE6CE8A95F79B4EBF52536C1EB8CF2D051FFF93CE436FCBB67A3C90ED093E2D23BB6CBC2F5369214B099EB718A7D357352CF161758A59D47B70103ADE0C5EAF7065E990DF7F9BFE63900780C045E0D8FAAD3A5399A018ABC18C299D53E23B6E271CE5577ED42E748457153323A1E96EA2C4D2FDD75CE98F6F578A61E16E420466601594E594A6D170F9196B921A641814176221D152ED9F66DAD3D867E92C652C25184C6939B027A80B5865FD0D2FB16530D4EEF5DD6384021A6FA152F353BD7C3427FED97221754BAB001F6A0B14499F4566C550C5788C45818FADE38BEA1102422669D4677682C7611BA84C3346B4786932DE27EB3B2E150C8A9B517AC944A2DB177C6B2FBA88D16D0E325A8CCA9B4AC044CB6D5524E1C655E34EA19DB716F5A514FAA5BFEE0F9D969AAA0240C921C6C59AC2495DE876438F66F66792ED43DE788F829A25E605C91990E21E9FA23F776C72C8C73E317DBC9D3757829F73C3E0D526FEDDFD17444855B1D03C9B92859D1C06EF407ABD28317951790E244224C75C1D5FC5D02AF32C972D842678C6BA842E1F960E7C5D87948661390C93328FD2E28A7FD8EA095B2DEE91C975E6A24CD", /* encrypted */ + "9E44F2BFE45D985AC33161E8C03DECEB33751F88B854E896F428143F0A96A954EE050E5C2FE36F7E798B6DFD54A1C3E55093FB29634B4B453B6EDEFAE0422CE09F9CBEE368A93C0A882B554A296D16F3F0B5E872E47C2AC1BD97CB4F3E4587D4A96148467CFCCD8BD1E10137F2B60224EA37F823C69E2472B680C1D7F2957A6E3B2796DA833A92F46A6C387C3D65DDEDA18BAA5975C0ADB798A17003E2358C550EB7E6D7673713A55E53D1D52DCD8F63A9AAE0375DAC6511E8D0B19852956605C2C23307F7ADC839325F524E90FD01424DBD0AAEE19F0DEEDA1C49298964FF4D2F3830DFB47A671AD23403E5A26E8D181E56C303732C95812C1B02D191B9BAA0B2DC3AE332F0A35017EFB6798C8789C956CC7DB279CF38CC45340D2316CB9724692A5906CC94D7247B0D1374D26E9AF2FA8E3D14CEAB6E3757582308112421C853A5778B8A9FE91CD50A0612535DE1E9A8BED84FD0E39EE6B074BA18F7271B503CA75A6E7FDBB45EB5D0107E906385D9D4206268F3116039F255BE753FADDAED6A22C2AB69280B5434DE374002190AD567E9AE87F0A4AA42C2D49A74DF09E451C56D055F6DBDA2E0FD6103EBCD58CFDCBED9D55F736DB7C3385238778B3EA981", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EBD0000000000000000", /* iv */ + "81", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EBD0000000000000000", /* iv */ + "BF31BF545C2381155AB11B628D029ED9885EAF2C42B28A88FFB47D4147109ABE98305F4685C0132B75DE7CC83148DE97049BC02E65169B7191ACCAF5625C1B63443F4F15B75681119BFDAB7B31133F12BF0CC170523DE02FA01FFE1C95CA6136B024BFD4089B3A20E62FC5841C4C9E386660AADCE2F07D3040CDA0C26C26EED4866F994B53F617093B24784D2076582862564572B30827BA3904350063A807E3524BC8961FE8D62530D5C048E28CB2BDF50D91B9CEAA2499D09D9428B813456FF8EBF45E2BF2C72051B5939A4908AA57F1F868FD73DFE10F319EAB2BCB06A254328AD47AEA06A61D387C0C66534467F4CECA96E8A6AF98AFC312E1EA2E6363FE98E4C568473521F3A456E3186A04D81E63999B26F1060CFF177C061AF298DB6F0F556D002F258F357E97A5984D293482B8C501F4AE5DAD3A6FC2146858E339C067440BC453AD6DA7D4A1F53055D047528DBCEEEF6C54D8D00B57821F0CA150CAF0295EB5C44A9F5B8E2086339F4B8DDD04C881DE5D030483F4A8DEA375F49B1E01DB5FFEC0C6849D60B1EE4782FBB96FFAC9397E2ED9135F642D8560787306833D32BA7A35F7A053D179F433B6E602DC1BDAD213F83D47A4D4AD110C51F034C660D199A2EDDD42BCC0C18F153A94206716BA75026778FBFC2258D05268FF4F840B89B1945C7A63F606EB6B2018C17593453BE1D10E98622F1809358E822F11FE897EE4D32DC67D8EAC9E642105B787B8A812AEDFEC100358F365E551711030831A14DD99D49B2DF71D89ED3685F091AB583DA40786FA97F3D1944DBDA123902C452CADDBFE7A8CAA7A5F7EE94F1C72882C10F3E9CC39F3415F5402ACCF3BB4BA94FF464693320186287E09D449D51193E8E526EE3BB9456B40C410B79925D48B3A684DE14183586F02735F80E445D287D357800D3D228D94883BAD514D82061B7E10E0E5427CF32183691F8CEC04BF620FE09351DEB61655AD44F8832E1C2AB865BE4FC53ADC23B238E8FFF07BEB5B135CC28107C37AA4FA6B36441A2319CBD598C2B41C1AE65E66409F6102925BF56755B22F07874A0930F53DEA96A96E8D94A0ABE5A97525CA246F13C35F3E94EBF1056F3EAEC96F618ED87415B85191B32006BD6FCFAF5B1082B1E157F9027CD87415DCB12009911847D69DAF36F0739A10E366DD21905E8DA847F45D40A84A6B57F25A30D91F0BC73ED115CB7AB3C516F1F6BF7A564D884F97344C631D2A79AB530CC14249A90D25EBED346C6DD5E624B38B70E86D4B0225B8ED79630C4B42A472F793DC6BC0689DB332C4DCF4B98AB71ACD3FCD51FEA448CA526083C72B8FE72E6BCD5230249D896BF380D1C209B304665B1DF308E6DA4CEF133650A30F94AD5EB1ED83E1D045F1AB57BCF8CEEE1A22DBFCD21EBE014B237F5F87EC792D46A076091F005E3FF2D8E642D88E1E6DCA4D4B59466946BCF19DDF03C724BD16F5B8B365AC5476512F112282E05A91A238ACCB9C927A8068DBE5ADBF3B7168BCB329420DB574DA2B82BF80BEA78CC53E363081EBABEC802739EE7783388EFFE825DF916ACC28CAFD9B7115A4ADB2D86030B76C92C2420CD5A16B3B2563094A8A17CD34F1B014CD7B4F7A801AFDB56B9875C0B5985A2B65D7D531E87D362796594D7314E22B3EF6F23D8C22355E9C7718C454F66BD2D87DDAFC1873DE3B2B00A7DAEE930E78EF036F79E87F9344352D4ABFB88986E85D469E5A3F455ECB697765A9D54E81E681DABB7F7816BC80A4E6906091797220A885BE986A1CB31EB5C312BE9113B2703CE855251FE93109D25D8B8B668D6CE66A6165E7386CC533C7096961CCDEBA224494968630FB4C2A7349E52D847A1EF62EFBDC9DF82DF36D926ECBCE3CC12418AABE1806BE14B451F3D60133DA03CB4D628EFE6AEAE610DE583388E8DAB8C1B82C4074E17E3FDE480159BE030EDDDDE31EBFB4ACEDD3964AEE31FD8624BC9DF86AA3509286EBCA4378645D77F4FBD689B020933E13B96A4949A1DD5BD08C0B1215BE22967D23720BE009061D82EF28B1AD983176787EE507D21068907484D43A7C065575C60E73299E2A1CF11EC581281E709D287B68C6DC8FE8BC29C80240E99ACF4FE2FF01F005197D207931A79D5CCD5AA85477ADEE2420E1F94C4DF5977AE8A2CE16587F94D49A64ADAD75C70C1A231DCCD8BCD56878C605DD8930BA667503D26C01AFF2784FCF4A95D773EB4C5B45D7812C4118C0D8750F5F85D4E4DE3A36287544402943662824CF207E45BB430538E40A0636B4F038C68A4C68ECADBD956142F769B5FED54AC877FB7C6163B7804C92F63F6DD4ECEA64DC16215C1BF42B1F82321523FFB7BB77E69656869DB0A0C20AF480FF65A32D628BE255D11A277D74E99417E092C6E5DBF82FDC55022CFE31A1CBDB7E1FD1B7E8314D9646E4A9F4E3B124AEF8189C768DAE50D53FD7AC658FF11E121CC3C0293E830B5A6F1887474A25CB1B2C19D4A4E1C4711F296C06964312F4CFE04DC810ED6A91DB2BD2BCA52F2AF7DF49AFC4539680DBC8DC5F6433D7DC437DC68F5DDFC0C41353FDE05211428C5EFC221A446312464AC853CF2160AB25B0F8C76E3F35C9D6794643691BB007B1DC1A867EDAFBB9BD155581F8BDA56397F50C2BF7E3A93963CB0AAE845B135CEB94782330F4217764345F23A5D8EF95AC9015E528C7349F8DB862BE4CF82A410C2C7CC5ACC65C976D7616FDA1FE82D2CDAFB29480D50D9D1B62536E379E3DB9678EEBC2058B59CDED42483689396D80E364BB569D828AC1F304A96317D3043DE48E557BA4BEF8575A72B982316CEDD58B46C1BDBCF12D870671B06F1C7CF38E4E399280A0D50E724E0812767C694B11B6F71D0C83BDA2D65900B62F839B6A8DFC97D30C8466E9DEFB0EC18FC570448126E1F3135CB9CF8ECFA8DF4653EB94966B1C4B94CC509FAE6C8E97646B5386B17A93E82D8714C0ACF19A4F5CAA8C34A699DA77F812E53EDBD941074BF8D323FBD06BDA400A37C4E44B3A10A54BFAB5B885152F7407E11B9C83D621281ACFC2FEB5BD56D6DA2EEC942D9CC6B714654C9BF27843C92655CB0D736C4A154796BDBE1A90449DCC46BC5B0A2FF2716DF8BDA1B2273F119DCE9C62CC87A2AC33897B42DE184202FED64DF46C809A19C230702498B2A98B97F18594FA76B2E9FDA825B9C8FE6697F2F85DEED13ECF22A47A33F108ECCABAB6513C99826201EBA69DDD301F248061903991590C3FA6339B766D9B39918AAB3F47B2E5FD63B1D79C9E36F945C6EFDB865CC42188E6D5A7AD8DD20B8813905AAB67A6281E368F6617225848DAAF21D2137F16952C6572110A4A0956382235736023C4DABDE806187C3DD554A76F3B80A902897360146B52C6D64D81BE5EBEB352AC0A191A95C31BDB7B998352BF27FDF0D2A6D21A6D7D489712359F95BEDC06B0BE9607AEF03890C3181EA907C11E8F8A53AE5BB89BDCC1C57FAB46C918ABB89A26D524125F0E5B513162AFB5FD5224399BAF82B6C4779906448F11D510742911BF03AEC15AA414A06651C690045EA5AC83695F70CFFA88F09EDEB95B4BE08B7B2FE4BAB372E8C4E0E36438352F98A286E2409E560FA65B30D79900F867C56691A5099AC60C84FC37A0AF4A9DE80A1A59C1CF07D3DA2BD72A99C48DB1740E50064320B3ADA4B4F84EC7A6D103E637EAE194BAD1A775BC94D3FC99732A8E66E42A3C70ABC9DA45E43318A2F8FF91B3338DC7724154ED09CDF2264B08DC5E0E9CEB64683225821180316494D12B6502968872DE557B8761E507F0D0AE33B9FC6CD41615C47C83045ED837B389D799BE6569802A41BAC4C62540B8B6AA9680DC863A66B3C9F9F9FEE7437EF1E0900E15EAB5B71E624D752F44D61DD6AA9633A516AF8E5F57281D501BF9D20E78B1D2D62FD074ECF24DEA6661B228A6A36F904192B02D57C456BC4593A7566A37DA4EC87B8A9FCB905D490E8044A9AFD6B3FE54A520A8B2D32F4C0251A28FA449578BFEA6359098B8705FB91EB90F1A66B3EE963C4F615DD36FC8707698D9124185548907ABC1AB1E4CEA376E0ADE1577F4530A801A37142AC36347C97D7580FEE3706BF2976916598E15E0D7F84BA231EDDF291410CF16043C75A3741A3B2414C8A104344C02D19897ADD805AF4A125DF4AFFFFAD2E3860A8DCEB747088F5AD973698100FB731058E7AE4FB3BDAEB87035A57C728A26C576DDD8715DE2041E087F", /* encrypted */ + "9A4CA2BFCA374E21C758D06C530811CC5B5735F953EB1397809AF04D2BE1EFADB0E249720300AF67E8D85C314A16E948C49CA86B4141FAAFEA24E9CAB4FD94C449B93BB963C57C713847759F1D65D6585DEF828D821D2FEE7F111FB562BA6CFF54FF4707C7CD31C1A3F7C00FA458F8DAB8C591F93EC416ACF105847CE09EF2CB6699DDE1F61CE637607767BEB706052CA7F294C3AB1C969316A538EEDE393C00F4021D058CA4D9050B5949EE480579461EED2D07C7C71C0E9C0903688D71EDDE5BF27385C26E01249A5C7A95C43110D6CAFD723AAC0A5F843F78CE346632ACC4E7F10BF228B5D93395C2843D915122E50665B101551D04996A3358358F6192040086883586A1798244198A4D5EA471A0856864614081469D30A54E9C86A2A42668AE4540D6103D127A9846A8D76ED8198008677D900715414D1B38D901EF163DE3F83E958DCBD4D937A47B690F8C451A765BE3C718A36B55731F71921C75DEF1FEF36ABB6041C44D0307611A966DB04859C15274C8275094A9D0A1ECB8B080302D30261D95D6A00052BE33E9CEB5DB52CBB15E755EA6A6D75FC452D6DD558025AE354897802404B9E9069DEA7F45D7334EB0363E014723750FAF1DBC2C49F402A96FEC51AD803CD841F9667EE420D3C975067068140906D6054ACFBBE81E6D5AEE858A8FAFA45CE835A0A8D7E13AA91A9665EF94AB9AA5136B1705E1306BB571A0DDA96649C7CDC501A69217B99DC1CF3DF3077F61EC9B67B51DFF45B8362681E8FA654A69E43BF667FA3CB16C36006C287FA3F33D0DC230BBCB4769B1245F795598871508831FE13B249B4D14BFE24BF9FC35134D124651BEF74B3C38B0B62D002339D919B0DC13167BB192C6C16BA28684991B70549D3F86CC12FBF2EE026B27B7168A769DF4F5C0F9EA4FBF9180D72E20628503B593B0650BE06745CB136EF02185B7DA10563DF086E58FAF0B66A9496B880459F6008F8CAD11BDE12335201ABAB826CBF92A1B8DB1594E2614965A13091C790DDF521758D3F18342C2DD832060A63E26052859F3C33EB87E6FBD144B4C45A3441763CF8D915A55BF6F2CCFA7351A3F9CF754ECD7D01EE62303EC1CCC96AF825C2E20965E0449FF8F2C4D48FC159C11614D6A98EF56C3C2C696C0452080716B8189210C57B3A939CE9717997D8732F73468627B76F4081D3FFDBEBB70F29DE60E8C3ECCB3FA77854F5B1E7D5D29071EDB9759668B950AA1CACECA28BC07C20D4607C15A40151F63C81C9FC678A5720486AD66C7E37E67965FDCF94DB8B07273182C44D67C1B8FA742A119C6A249A329AE39B69381460680A17D7F993E1B28D3B8ED263B8918A06C980D21095221612E70F0C955616C82E2B1914F62EC8832376E77111C066BBA38E3AD3EC3987A8F4CD76986F542ECB3EE06AEB8DEC90DB25FE26C50607C76C2EC46D1BF978B304F76EDE50A273528E1B06F6F1E5D8E87C8351190F531610C1A8158C5D13D0631C359C4224A44CFD547303FA4ADD9F5073F51379C5B7397BB51B0D9F7A6C4D362E7BAB3D91E7C8EF1D915AC013D678DB4D705D96A4B30C65E184E664009495ACE42999618E589EA64F39CFEEE21E2C840468E0ADE3EB5E61C9215EA4044A7887517E84AFE3D4A0F5E2C10BF3912CD3DEDEA233ED40123644F9B9BFC91E98BD841AAD02EF9F5DF032C95F109E3C06B2481B660C8F2F6D9C6DD113B2CECC46154DFB972A12F9C909F3AC22D86F47A35BB93005C4145C238AAFA83DF207135699E74073769065A7EAA5DCA6569A32328101F128BC1BADE6D4ED3966BDB486A5DA8D8C038FA1BA49647C34920520A9001C372D741095B4AECA842C02269532EA9D1296934513A8C14CCFD9A777D3F9222E77D46135C04143F133EF1342BF39663F5AB15D830B360F57D16F8142CC335C3DAD8F64E8CCEF2059BC7F94ACBD329410E0F4C8910C56AEB5B879A8309D8BBFD1B5629B6B811BF0B2C6F26023B318F366148035641277D4F94C6EF3C985FCDA72353A0B50ADCBFC961A560D19D1CBDD49BC477A34E76ED768B6FFA62488D4429C5F852FD4BADC93032B16EB4BFD735751024B46056E1DBA96EF8E7700451275E740E221799F064F5CF9B49978DD7B83D0EDB469FBD8950E4FC2A7579524FAB21876A64D23EAC9F4636008D821730921ED24B3D2211BF0A35054D1FEB182B2BD517D60A107BEF3D3D97263D828A59E41B67741E5E863E5791BDB099FEFDA742D01EAC45BFD0BF3681599310C0474BAAAD42D89E55F9043E7B325B3995F83F5F7DD64315D1762B6E874C9E49D04CE25BB9C326CFB352A462CF2D227BAADD72D4000C915610DEC15D6017D61A18B26B51CC216296291A8A90C6C83AF6823BF9923604F5F279BA4C567733F822568D63034FC327CE2085EC4C1176678603983A7F99B834960812742680CD24CF82C401DAF4025EA61367F4586D45670A5BD75AF2BC4E117A5989FEFB9187E47870213A5EF75DE703C82DB719222B04464FF468E9739052026447F684D46BFE42CB0A3EA5A363E441B8DBD3192739AAAA601FD3BE075E1D1925A7777858DD7E30B9E394A7111CAE4CF57A244AA3EC350BA6B6C8C3011618EFA0F4621446856E7B985D8EEB816A5BF8E7E830D3D1D1D4CCDF85141E36C232181E17730E9EC12A73228507D33277BF564FD890A98707253480B21BD6B35BDE4CBD80900C5F9F36D26BE6F109F655D4F5A9EE0469868E7054132FF3573FAC82F98800637CB0D6EBA7A6DD1131810F83D18BC6E481D4F76F71177E963146643E32BEF9782F4D8D5DF2B20F94BFC193943DC97416496D872C60D28837B6E004FF99F0CCD17F2596AE3BFBC862CA259551646BB8AB5A2AD7FE488A585B7F42126BF37E24719D45D99ADA2717F3F3FE38C15C32F642940865F75926867F419CF6E37C3DFCD52D7CC6BA3F7B0BCA4A9AE6F474801E2E7AE597ECDF656018404153B69CBDC43AF6193192651BD44BE1DD47B483CD9B0CFAAF1DB6DF4D6602A91C14F2BA018A5DECFDD0BFB484F9B3ACE1DBB8FE901F17ECDC94863C47E69944BEBCDC989A49F31ACBDD67A880BAF5EA7D21E725D8F613BF89994CB626BAEF4F964306624088AF88DE25B313845698D4FB3006B020BF7660D384D4B707881641D321FF456E983B9A84543D0C7C70358C3097B7C76264CF554FCB75287CC01A11521CC71FE7F7BAC591367BC9E13CA70D5BD6ACFEE382159032099043F982890842C4F51507596730C4BF35FF13A79EA00D38C4294F9096C26FEDC6EC4E3D18A2EC751C656DE5F0D707A45208E033C5812D9BC6C9A8C3ED8137C7F34304682ABD7EBE9993FB39C6ADAE059F932D85DEC755C2C3817A3B2E108DB16AD46CEF58352172AF3F88F49FBF0A0F81EA4899328DBDD5CE676160174FA364872FFCE85D7F3B03F0CE12C29C97D7AFC09A6F50C8A011FE53879C42E301697E6011571590E6E3FD53A3CF5D4F968A39165E260A867766F8BB6D1C571A2835FEBA9B3CAEE8DC5E862BB40755E06F9A669FD906F11FA85FC00FEB5DD1FDA2E715C24A8CD49A57ED6B54CEEF2FFC1644110FE676BFEA5AD569478C1666AA55F086EAF64353B097630B8AFB29653F77C17EFA0F45AD5049B49110447437F28A3C4B2CD3ACE815B6D4CF43B7BC0C3EDE213866CA7E6F2091640F4AE9C9F9B13FB53CD7788C7F8360F5BA9B69949E718EE7CCC290EC85D7DF25691BAAC596F621DA8E4206A6941DEB34237D2E0A2B32B78A32F1CB2DD9D3BE78BD68BAD43FF1DBF81123859BF00A4B530472B5CFD291F9623E44F28CD8CE647B7728C918144C3A5B38954F13DA304E24D4F4CD51B556835FE8D2251FDD041EBCD590D6FB4715A88DDD5559E06C80EF9671BAA4AD6DC067CC91747863129A072FA38F4329681C22959C125377250AAC9A451C623CD4C3036D8191C48AE597EAC3EA82AAF08BC2CF9F5B530F1E347869DF831D911398CF78D4A5F47F37B05113BE61E0A1478675FAD71AE9841F93A3F4B4E8C2B5FD301BB473A5A75DA162B5125BB5F8B332F4968C94F124A78D29B52E8C34004B9D6E6221E70686EEB33016B861F1AFD60B64A322FB4627BE20D7169B2BC89945FFB1FDE94CF147DB2816A24FBC685738D304E55F6CD9A681898470E946C1D9E7FCA79ED8A32678DE5DDA1ECE1FFC315D1B4F89068117F3CDF68312235A163700DD6E8D9097DE1F3A3B41C3C8D5119AFB4834", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EBE0000000000000000", /* iv */ + "3D", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EBE0000000000000000", /* iv */ + "2C87093F139231CCD13B7FB8F7AA279893D7DBFD2933DA160DE6D24272EC5E7973861FBBD064B1D68FBD8111614061256A1FBDFBA68FF704B1E5A81136A0E214181EE535A22F7839BBAA45BE3C18752124667CD58D1F578869AAD5038CB55D0A97B0B49278BE43C7FAA9472BF1F28684A784964539F95E3C8DAE2D4F0EC6CF6E6A36BB266165D12D81AF35AA85FBA8B72F00421567C6057775E9C2BC4DFFC30E6AAA05BF818E95AC667628A977A939B779EE5B887E4FCABCEC243F706C23A1FEA5184EC0E03164F684E099FD9F2C87C6706E51559FDED40FDE82E973C69910E9821E20D20B53B77E887E3F0CBD500533F6F05817020077BA3FF82AE962D4E762D8B83487D6DD346170C4EA2586DD963867809D1788CBD0AA7B9DB36C41376916E54AE9F84AE9B035629AF8A3BD0C56C88E381D36A47C2C8D154923F96318716D90979612F652BA30CC9D1DD835E3177E16B34851E6A03A35E6FE6375163C858FF60256A5B16A388624049A5F624F91327E29CC4CF104632C5F466FC7D0510A008EC951E5D8705D52DB739F08B33FF40C52EA7422205E6BFC30FA5904AC97C261A41812F8F454F572DAEC70D6499F169CD4F3B1B528EC19A5291CE396AE00A4CE6BCC81EB4643369D8211060CB5603F834FD1409CCFB5939D6C355A983DC3ECC1D8D51513C54285141C6E1712AA8C5C82F8CBC10E4D6C44D4E99F2ECA2EF6DD8B03969B97ADD6FC81C739766FC5C03945184EFC98E080F151C0659C1F58FCF3E4BF9FB7B090AE25D851544FC8B8B7456E95F5A5E890C6", /* encrypted */ + "9E68D4AFCE5A205FD0C541D679D8CB0969B4F8C0861682641B07C4FFCECD706A441ACEC6C045A2F6D26B2B103FC7E31060925D9F7BD2A53F72B19B889686611D72C6A37880ED6D34350E4EF1F262302FEB49104BEE6646E441F5B5F3BCC760893878D46ECCC190C632E52DB35CDED7776535601E249C0F000653E6D11DCB427EF7C17B5FB61BE60E41ED57D3261D49861EA3E3162F59B802D832A3889A47FEB9BE684466192FC358196736332F6D59C68BF5B85CBD835BDB6F0461CD27C3BBA6C5EA8ED25F1C8B00E3B5DA3E4C00D4ADC38DED7824B706D5FBFD4361F4FD68D2C14C74B5B99392A97F62E4293557CAF028CC6057943AFFF058C7FA04A4EEF488A6B1A572A81EF0E86AE3E654FE6EC8267532AA318ADECE7D58471AF7F3847854BA6A184803FCD5FFF8262F0FC7F51C95ED7302BE9EA2A8344E94CBADB839ABEEC001612C6FEF3DB190B2390162535299024273A0D33071ECF095BCC33F0F8601BED85957BFC753072E60A8CA2B7C9D8AD8683A4D88B672C2BA43FCB89D2F7BFF7E61FE4A58C1E8EFB3D1839A981E5AD77C6574B80A23084C849B7F05446E3833A98BE7063766D77B9723D4C4CC76D4C5EE382692E7B6712255085C35C109526C617674C35C1D1993B5A7DD25E111F0AF463C37F95782CE8AA70282546E8CDE2ECF0C51B988B175515C3BE9CA08163085630A9CA78022A064038D1C01A58F624FEB593FEEB6EE2F17D7FC6E110B9C57022319CDF47BD63BFC2F98836F3EF2F645F657A668402658BC157A689AB59D4495418A34CA3780", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EBF0000000000000000", /* iv */ + "20", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EBF0000000000000000", /* iv */ + "A008FBCFADA3C485B4A8DBCCCB02C4E56195D382E8B0B69149F5E774C02745DCD195FF90857529C4986E45786ADA720FA59179E2E763A61CF4CEDA7F0D7DD8C8FD91DD37A1051D53A271DF3E131E7305CCE9165279E6A184BA465F33FDC9C231CFB444393598A623B1C07F859C397121436BABB08C01C56C8CD4BEF86C53ADB9F9FCA56E668346DA1169D7F4C03B5D56538AD8B930926B1803944C761842D747A429440AEAD774C01328BE84A94353533ED0104F56E8682097AD9017A99FBB9E0F1FE49E81698434B3240471CA2960C24EA6B4D52BD7FD7FAB1879888C2634488126B16647BDDFA1502997C5340DA4EB71019AFBB6545C471442A5897BEEB76E9DDB0913928349B141B31182DCF2DAD967E0826D1C656B49517D11ACD2F0C229D913238273D1C7A763BDB6E7909A2B142F4C96D659545063C19C3D9A09E98FB2D7617068DA9074D0B4342DC1C84CED6E3497B9C8B406140F3707FDAD6EFA5CBDC85CBAA8E13F52C345EBA7CD16D0936E7C167961B8145D39733093E76C5EF565E46C5642BF5A1316E79C05DD6806272AF1D79E7A34CE86604764CC0613D1485887C2CFF3C5BCD42CBE3FC5D1E9BDE7577D1DB3EFFF5A222A4ABEE95203C95F2012493BB4D7235FA66F326E94D2654189A70ACB0B2E5FFACA6B361A734DF21B5854B634FE359E7302CC3409C3AB242E0755B733BD6103B0FB5DA55221778F01DC410E7D14D72A790AFC6376A9C1105368A732", /* encrypted */ + "9E6AD4AFE45D9831A28A4A95A99CC171C27AF77263FC0A57DED651C522C31812C3053F0FD9F2D70EDDBA2E8966386E50B8803CDB0731582AAB4EE769B5AF66070077D12140485E2A02D16BA7C20BB9C101B8AF85190212C5D30D721877F0B61051C4EA38CBE378931B2655851840BF4101CC674E6E1811E3B948B1731E879FE28EA112B197F28480E301C3A1CB2B4E7F3D920BED4F64EE2DC003A368963A40EC5EC4845CBE5E53E12DA03F58F9084886E7385537EBF45331F4F26495274B43182A14DEE6CBC61F398A24CA9D948DF23165692CC7F93838E8E9849085BECD2C237974319B07F791CCE29273AD9AE87BB68F9809B15B468BE161194F67B4029B08ADB31E4571FD8EA5F3488054993C5096856F8FF4CEB1107EA194C2BC339280B72985E362624DF865CF9BE39D6CECA69B1A354DE172DA1604FBEE217AB41B8963E60BF91E02BA6422C51560ACAA1818E704CFE2A3685FB7DED3AE8B88225515F613DAEAAAB5264CB11BF5A0E321A3B00B3E606179AC7FC38B6DFF43023F494283935059D6FC0596F45E437EAD60F3D4E962AE4B4EAB3138041EDFCD2CB5C46C9B8E8483020D48D4076F80E3C0C008F41E7EC3DBDFA61053A2F9AD5CBE6D48DABE373BF53BA972F20CCB93B0263BFC8A68F1D80EB4DE21C4D83770CE4B15E5AA809A3924BC05F7F30A98EEFAF5DA9404948CFCDD661636D87629D812354EAB91C175DC81210DB118604D9D62C8488FA710598B", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EC00000000000000000", /* iv */ + "7C", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EC00000000000000000", /* iv */ + "65AE0E02A130896DC59C8FBB1655924401E0A2C4E9F693A276C838527EFDFE6EFB82F2CEA1B81EF8CAFB50AA257732B213DF488BC073832C289DF01B8D91B532C6B26F97B265A1DDA3C7A5B7B95C032676666A8B709B8D5945D330F6FA9FFBB0A3CC4BDCAD238CB828EFAB65C449B1FF77309626264019AAB04E6A9476191BA934463FC5E98161BDCA2D5249C176D16B2B58B0C66ECD88016A888D8EDF76757D78CC6EA24D17D37A51269C87C24F662EB315A3C9CE1227A201DB4991252A779C042CD2DCB7DA050305F31E9BA32468F39F253AEA6D020ECBEFF34487ED04042A6251D6C9081B35A20110363173F8E8B6FEE505C40446413E00CC089750DE5FE3B6B2780B0945170EC8E8EE89DB0C4CCCDA5801DCDB8542E439DDABDD9933D43EFD833A88D38F7B94CA768F7B32346ADC5AA69DC81593B797B720915692908641208DA4370F787079579CB4C1CFF8866D85EC22AB480E31F9750271F3359723D1B3424CF8172720B28DA0E083DD5EF15B45A6021820DCE4AC7F4B99D9581545919BE76377F8BE9A8D1CA6428099C2825DEF263A37B3BB4E21EF09EA9ADC997379FFD20945F79DB57FF8F252E258D40F4696ED831343DA9C9AE856DA6D552B6644ED63A607CB587C75A3A653AB9C0DE0F4BB9A415B1BFC303E6247B7D5F5EB102A0FF3CC1C71907D04FBB5172E04579368AAD248E3E591427CD7CCA78CB6E40D7A0E2EC29595EED3BC729DA81EC9273B74C013F32C67D6CD7075FB2B44BD92836DAF39B9F8D3B97B8E97967154569968BF27D2E762B508C348EBF288D3E8187DB1D3F5F7B2D3B93A6C7DEABED84E480797403C84577A36F4A68030C6BB50385205028901D3581D189C95A63E7035D8810E85C16EB0386F8DABDEE598FF97EF3F413BF0A66430ED0B6312C510EAFCF937064C6FD97AD880BF4B9C7F69A16E6411885905D1B93045C6B90B970E19931A4034BC1C5C372DEF93F0F601616454A8AF64FC091FF4DE5654510C32CA960AE332D4F9F7E3EF0738B3945EAA1C22817B33C2D781218C1BCE27F48F14D172B650CE3237F659C2A2F3E0C43A5A36284A5F1A9B8F09A05FC104F3316D9D1D401037AABC15C7FF30601FC8A8294A528C3CE4250E1DDB5801550BC0663893299C844B77BF43BDAF8ABBC087A1538793C0E4D1C92C358C42D4E18856360C59111C9E237015CCA15CE308539EE06FDF1617E6C32FF6BC2C1385AB3525814EB47E3357956C1BE4818BE624BB5EA13B6D5FB9714A512EDFEBD634B463C1FF3F2079FE4F40175621AEFCA835CAA39A107F3ADFDCA0BE7291214D77615195AB29BD9A2881C6EE0A89BE367FA2D4B5B4EAF8343B98528056FBA73FA9C51093D4D0ED834FA1FCB1A358872E460440960D252030E0CD207C1002E315351A676B3B98E768020F1B864589DB8E0A887370C1E982805ABB34BD5B591F458BE72BBC60B7770FB8B73F3D5D6DC0B3BE3A48073482C9DB3687F5ADCD226283D9013257E75E3E0D7A944939CB8E916117CBC068E9026EB9EF80ADC34D78A416EC5FC6857CA60B15E1FB503317A09F897A4DD18AEE866FB62C914A977C379EF7CDFE1BA9791832422CA892D381602B17E65D3CA655EAB37BF4FE5602593BE75F1A4844FDD02CD293DDF0D39215C284DF36439F4124F813DFFF172068BF41E2ECB657F31D057AEE28DEAFB44050653FFE05F498A7A697A748B8EC5A52DDF2B882D0FF7A5651B2CF358CA1B43BEEFBEB3FB7D706ACF6E76F767E2CCEEC984BB1721A8837518B3BB5BA40A2F2CF25240DF3CADA0C7530E06E4B45004D69D587591CB619A791A3CEFBEC264DDAE5284C097E000BE12BA4B1C32CDECDFE6DD99BD8401A53C9E4CD7C494BFCAB1FF2C0B2D6040E9534CA2E1A9F200F053A45E63B259A4090E2DB2FC5CECAD8CCB5C8ED829AE28B986E4F7951F978393A91D6CBB2C759D2C6D27D4D3AEB9D3FF2072FF2910681128A44E6308F1E59FF129C712F88E45D7DAB396C3EEEEEA33F4B4ACE3F9D875C70D022E7B6F11BBE0B7BE494A407B7628834F3290B1E45CDC9A3E2EDAA8EF6DC99D9B28E8D80269F958614C0DF1CFBA8F2535B425FE83CF57A7493BD4946B67BCD0ED0621998E93171B10888077E3F002F58854A38CA325C78668A0636A4A9652FF4E00A9FC2AFB93CB4EBE28AAE786D7C9A88ABC568FFBD569C400C9988D2DFF67259ABA758E607948F1295215CE45B3ED33BBFCF8D9B098625485CF2D2F76717BBB90D8B974133947308299E7AD9668EF67B7D686CAF086239E4831DED1CB2431AFDBBEBC14283F06832FF427FE81EEB793C3B18C4024BBD713D6309F29CEE4F2EE1802410E8C40A1F07C0D0B4D599E636DE645C942BFE6A124C9000785073A3502B93A8C1156231CED2256290761978921E41D4417A344C3B5162C2FC3C16DCADABBA86AEC46D80C0850E72008915017CE3A1E000699257B3248B44C71D60BFC09D3C53F50018F9262C34A16F328B8A7E0F50E023E4CBA88E136EF7125A7AFAFBE0744D81E1E275DE0CC95352F4E7A951E8770C0B0922C420A6A308E87A9A64C89F615C0184DB8AC5599CB7A0397071A6C11FD26DDFFF50FCBCD62958742B4BBCE3CCA869017F4F6C919162FBDA4302566DCE477654E2F0A92B8711D0FC6AA947FBB17402201BBFD21459C5CD2C9670EE46D9D8C7B709C63082BC37B3BEA995AAEFD343BB00C45D089A2836138CF47639543BB68D07BEC4CD4BD543762EFF541F9187418A62A4DB2B2B7AD5B82287F351A1CC18485521DDF25F52FAFA303AA6C346698327820A5AE28A1C37717C80A97925CCDEA41650F4F613342EB9C31C4FBD495ECEF6D883175ED293167381B11DAD29D98BF5600F88EF9921C8F1D264A9EE1BF4EA4D696EC8341A28E5FB0CDB3EE6A87B78047221190C649CBCE88FFB2985C9F08B8BE12B4098F634CC98F2700C6473D63E1A4A33FA898547A7AB2E52544EB8539181792CC05F31C46CA7E9C9137DBC88A607ECAE0A3A950AE11349D719E56B0E9E9294A1C9DF6AB928D14BCEC82DF5188B76139E9F79052C03D8421D0A5E0B9D23B5F4536986B286ECC57FE1DE632B3BE74918D2F8EFB660603AB90E41C90DB3F77944DF10FE681CFA5A3C21A772C72680FD478D7B422FB256B3FE0CC9E95E059D81E2864B28DE9CEE170C4EE1182E2A742AAF9C3742ECC3227C609DAD8A923A25EA2D48CFA083CC5D4D6A88380AF164F575E1212469C32B716BE3E1591359994B393D80639AF0278EDF34351EBA595A6770C318266AA518DC26B2C9BBD457F61D78C5CA6D38455525E9F56A9061A70A380C04C38542C9B4A73E5DFE53EBDF380EADFB2D09403CCD11B3850B1287523FF6721DBF3370A5516886AFE7F2A4812386C3CF8F79C0833B6F2A430B54575D0A85790CB65CA132D46B57AD35968D4DB43F398C8C5C378B3BA3C64B5F00A7B4980DD49844308881964FE7C16C50241D0885625F49DF0A42AD3AD1951A15DDB0767337C71FA224F76EA1D983D50CE226734D60C15A642039DCEFF69C8B25AD3867DD01E4F6AE9F4CE5D5D3F03216099FC9A5A514F8A3C55F1B7F766E8559E032A6B96FD408E57397F90B37D0C1A28364FB4A4950BB9049908E8A4751E8D17578E1BB00BDF297698C4FE7F973DF537F91750D0D49C3F0A90819927434C7B56BA68853811B908A9C616AF518081A05C11999C34BD655E8372ABD8619DF04A490E4F9E87A45552A02E26217989B849093155B0725E43CD53FF2883E1E9B7780478990D837B535FAB7CDD395F32EE705E507C77E819382126564A340788488881B94CFCCA4AA92A776CEBBE1A63C3A08C60B26CFF77D2EFC745B0C4E6877C46015CBC0873EAC2E255F38B49D468F7C0CDBD0398612DC1326FF0917830597BC1E302132CAD0DBB0B82FCD1C4F30C67FA11D5FABC77AF08EF23719E9C27D6488B591173BD6EDBD4133DF54757C3A368DAEF4DDC7C6DAD8B3B8DB88336826D34430FE27307A9BE0F328C2539BFEFF960C8A58CBB4E494BDDDB6F2CA12E6A545F78C452433D915BAB92DD7F38999320751729AD6E6DD521B72113B91E4DFB5A553AC7A97F6FF15D72C3C1A562D2CAA6A5D1121D22F4C0F4F55839861AFEDF4873CDDDC82E3A037B4B050EF32C592B8202B642CBE7B4D160AA9C6986AC2CAAC2321CB0C8C503FE5B74E6E1792A4079A012A8933109623162EA1DD5D75C4645C3A6547FDC10806543F92B365751193AA8A179C2C72BCEF30B388C03AE4DE6208A9AB35D2272D4C66E1E6CB4D0C62C0719C1947949A25F211A3D6591324E303653995FE70AB048C561798522B447AFCB46BE80CC9D7E61436382F5BF80CDE74B8A50C7CBD097FCACDF038EC772CCF41598C94201E7F47FC1A1410DF4AD0FE8321201E1D62E38B195C87616F2C6B90719B621FA571D116D4A74CA119FE830B9E809484F2580D4B0B8B0BD64EC1CBCFDC69B675E1055B905886332C9C4C12226F83482EED9226C3018A5ECA28F864598BEE3280051065711FF1E55A27D51B7B30D9DF6EC70868990CBEE5E44DF73978713B5E1016211E33A7A3E17D085DB850733F5C62CC2135E03A128A474FF79929FFC0F734D86DD7E93779E27C302C57630B0A1452DD5023E0B8EAABC2E018C4310EF134EC16DBCAAD48DF75ADAE3E583ED3F65D32511EE49157847EA840981C9F2DDB65FCBCBD7EC49E5EE45A39C0B8244A647BB87ECF9F805A3D237361FA2DD518825D6B73193A661BA91E110466E845AC4DCACC5EB41E7B257120CD304A9A522DA3BCBC63A95A63B908595C69904B1066FF02DF956095AD9ED92EA66122F922B58FB057D9EF98970E733A50A2827239E7244E8584C288F3EECBDEDBA8184B472836396B30A43B998F2F8DF3C41EC9DD7F1C112596B1823D945DD6EE1538918AE401DCBF71A27973F7CB1AF9B64C04F9AC3129BD97C37DB097EACE7FBA9AA457E17F8FFB4A2325281267418BDB4960DE24DF09623B0B1FDE33A9213DFDB65286BED7576138F1BE275BBC717411244896BAC869E941E9A0CD0F81AD38271A6620C042701283BC03CEFB5E26F4FA1268CC34663825A3BF9AE07D35DEA89784E8D8235F358FE7809E60DF18333CEF9BE851B6F4C5CC2728A8A1CFD3DE0DBA9E4CB14E242F9585F34F0287D7233BB008F76619D236C4704132813E4032CC38B22DAC6461916D665DFD99B6CF33A8ADF93262C94096E909B18FE9A63846E64C1AE3976D098E99A0D7547CCFA876157E6A0A74D3E4AC349D7A85D342EE03EC90E9CB71083076AE613BCA8D200D1E4477344E315571C56120376DFAE1CDEE6BCD3924B0C0562451D30E56E36139B8ED28AAAEA65E22ECE839838C9D13329B3D2F323126C45A72B75E146E316E8EDA9E61463B545F4AE142163251C0DBAF6B8A6E37CFC07EC8A5E681EAC28C7B4D8F9A3D58D4EA75005CF40E53FF0B307EB08CD35903DF30616A5DC78A10256702A97474DBC015F4E5D6DFB26877A7DB9028179A66D55D27411145ACD3B2057364E36432E4B8B7B9AEF1D9902B40F88428AA8790CC5992596E18FB94F3BC1A8E02CC159FFC0BBE5095EA6B2101986386BECBAF29123CFE0FFC2F67485859758F9E8091C8A5E2BE957C242916EE7F7733D584CC48035772316A5A91E47811BBE45115AA5B57EE521C00046B532ABADC88F54E4DAA9D72ED395C5BEAA542BDDCEF98C0F4B9A972D87CFBC7D74958BCBC3473813BC1E32819E4A400DF61C98D2EBCBBC64E6555C16467EEE468AB37071F5FBD988A0FB50FF353D12DF8310D7AEA996DB77AE49E364F54404E61C334D7A7FDA3F201054BDBBD133006A508E768CE4605FF0DADB2BDC251BBB5063DCDEF35AE81253FF1571191FAA2C1C5B66790B725EA04107A3BF43E4BA001E7137ACB7080BFFBB7541BA58DF45E51FF367F60706CDBF14EB7C31B226346462BE8290D6839FBB050F2F05D3F3316B8335B0F6D4924790898C56EF6EFEC37E724458298FF863CB63827C90FB580521D53CD426BB92A7493A49859ADE2238CAF26D6443F058CA43010989B6F649C2234F5366496453F10BDE39F57363FB8BC29B7EB9D759CC7439B", /* encrypted */ + "9A7215FFB29DC80F876A7ECF8432C9EAB8198CAE516C45CABCA2E835BB0139E4C2FC99E095A313C88CAB36836B35DBDE32B671FDAB2D3F3E47DA86107E9783679902B188463BCD494A1D3E315B77210DD2E41E3493F1A25DBD1D412AF403A8CA4A1D3C4B778C412524FE681432CBE9A25BD45E40ED97CD86B3D89C35C66BBC55515D29CE5DCC3DC02512281059EC52209217D3ADC2DC4A0B12637CE0D14C3E1EC8AB22B56F302DD73A749CC167F4DCA9FE55B5355C73C638C2DC74A3920B6D335AC1ACF843A74A28188A11968710801C3FAF2C2C1FE02DBA77CE02952F206BA486F6E9690A6E0D83CD760812880AE410E1CBF635DD95EDFB333E7A98EC3E747C14CBF1C0BBC4A7EEF79DDF985581A83FF00D7DC1B71BF6522AB303E6FF14AF0E45BE769497BF1AF8621921DB85A4E8B06D930F33C462F5326F67956F6514278D64734CFF053CAF3595DAC0435B3D27D464A802D5C0972581D0B70453CEBD10FF9D3BE43576B52482A2EA6D45C51DA7010828EC6AE4C869EE594F30CE01B71E31B50671C014EAF52D6FA84056A44E531B7BC13FD5519B8DB1137CEE2858101E3064678EEC32CD565FFEADD9B2218BEE03D2080D242ABF251539917683E03B662FB11CD55559526943A75AC6ED85B571ED7B288A3C798F91C82AF276611B6099BC7D6878ECD75FE2E8948E2CF8EBC4943C499F1A01ED40B5AB4039A21614AA74A8B34D01CA5B4004973BBA226F1F481396F725B338BE878197E739F4E9A7A707D84750A443F720C2976BE1680D1BBC9A80426AF258FC3126AAC69610BD215FEA275D9EE023B29E7ECBD6C05E2C5916331317FFD83462F131D3380214D0B6C8DCC99FE0862623386176CDA60C6B19C482F71231140E620E921FE0C4B1146C8EE379EA1B19974B8DADFF3282E9543B5111CEA6C467D71EDB6C57707D8F6AE9798E0A84C55942FA2520B25B27BD3A004A62BDD6C7DEB434BC784CC605DAA81AF4181A6DD35A3ECF2DE899490AC10B5DE3C3ADD15D2F0F84C9065C3A89D2E3886715952643C72AAF8F2E839F8B952EE19A4FE07141945B0C886DE5E1A066D632F3F4103F538C8F44C9D6A35289A4B7C2A78B60E3C9092D0B53B038B95448946725628745E8781C68C18D8F959D1BEF0021355B43B1D93B32C1595FAE6CD631DFDB85C7FD58F45B449A359E5EA5E52660186DD819F256C06432505EBE8A3720E82AD9FD08002E16469142FDD2E5BAE73812F9CBA60A559A9DB7961EAC3DFC3CA06DD3CA0FEAE67493B8581F665C1D3AB102809EE817E53CD4A78F7A02D27363530F6434CDB9F6A7E31BA0405B9937D1991039070230E78C223537FA58850762ADA843E7308C3A692B63AD4739F3634C9B0C976DD1013C48AB3B124107D13258B2DA073763C51B1F4E95F01AF425079F05742D14D5E0F76F9B2D1DB33934960798C22B91E0047D279E6BB89F4FC31C73C516F3DE102430222E7F4502E30E5B8BB9C71CF82E448484435D79A29D1DB5CB64CD1CB714FD29BF5F149D64A19221EB3B0181E2FDB6B9A64730AB8E0DA25353D451D43A31FE6A82994C3A8E7B4E680408F4F94AD104729ACD0BD3FD735705A48CC64538A9BC30B7AD78A7B6AB153770158A36542FBACE757AC81672BF3B9A722B1AED7C6B6E495CB9FD784E7C2760AE6B6B16A1DF01A82515B75885E59A328CA5C74B2EA2EDAACC021D77CB651F2E7C4C8C26F4EEE5D5C0B1F6EDC52C6C054E87CF24392C3DA34819320D2B881A73FEF83117D202FFBAB0DD167C220E6CC8E71BBF7C21EC5A271B79769EA5E50C59B6824FE8E2F2C7504E51C36E0959E6A74588138E6DBC37EB7235AA1A39E53D9B87E22A17E28FCD4100890773DFA02A3EA255DDBD83E4790785BDF912DB628F4F03C5178BC0C965CA34D9EAA0892EC4E71CC9A24851B4350E7B4C511A48005184DAD46920A0E49D498B00BC0BC9425AD433F98FCAEE65CE2DF7DB168D1336AE02D764CC9E6C4A6F373993676E5F6A2DC6C0A58C30B4B5EFD1D85A46D2D9127D24C3622AEE4F394FBE8C0F669CB740159F040BFFF4347C3D8413DE0E65FFB08D39A0C03D64998728000040056E55C0D344793833C8805D8CB5BDF59D426171EF9E5854A0E6FE458C83A94FAF3F7A9799090E86D002D442197DA1BE92AE695BC86E57D3964A6B5CBAD0B4F2F0D2A159A67D54E6E565EC85BACBF75C91C5BAEA9D78115565DB78B4355042E77C0C26708E7D43BF0ECDB55F1E3551E5AF85F831879FB06EBED12D73C73727E8659DCEBEA4EA0FF19A8F8BE32462919F240D436CAC1D28023EE50CB491956D46D38947C399B040E86E8EB89C024F5DF84749811DD7839C8E4E901DB8454170C611EC511ECDA162AAD09D3B4AE76772731EC2EAFB1CCAC88ADC923B69594CF1321908DA095E51B4F6C8BBCB9C64A151B2C5D6F73B9C7F3E1EE5E3FBCDCF2A85005A049404C9F812111FF36C8C3524860F0132B38FF75543CDEDA73DA06EAD79C2722A80E444A4B99195FB68F4A309AB86AA52D421D5FAEACCE8246EB1ED7B9F03EA91BBFC08A2FC9A39DBAA8C5E5CD9E0895F712896E0749BF9B620A67B3D7D8B155843187753EC30373BA00F0042F401DA58BF1B3DC57F87F26FD55814E5060EC4FF954301B3AECE15DD593F23040B435E1A5713DD1E1C3B21DEEBB7F0600FA19135298F5BB8EA88824F4BAF08763A93B5EF4CC212485BD9B991793262D74D723E6021568B0CAC8B5D673E0378EB51A997C5B4728587F3BD09F3B787D80870103AD47BDEC60AF9991487AEC45DF90A4FF31417A5784E3A9F71AC39FA6B7F53B535E87108BED72B2A4AC4D582C729FE423DE39D76FD2754FAB64E7183FCFD82C9BC58A9E525C2346D6A40DE3A307580796CC212D91CCD7A65F21FE67E66823F27F2048D7021AFF70A49751411E88EF7EF416A09ED353926AAA72CADD2F80D43C37BE82FCEE461A839B63457980F8DDB2FF8D5AA61D391614E6401754E988ACA38675233B1CD097CCD4383F5B4C7664813AEA5E4FAF9593E0AC484AF0984FDB2DFA016C81C6D7967E31F811EA97639EB31BC717A86E35692A996B63EDBD3360417AE0FF66D02077B5E2C426AC60F9C63F95DAFD53DDEA85E7E145E0B88A18C67597533181144A42C6750FC6CE1BEF7F0A181A94D01136B725B3BDEEE62ECCC58A1490BE7F8663D0D1BA16A0043A296C62AFF01188688FAC3667BD8116777896C8AD273FF5A2E83F8681D82E310803B46A5D8B9E60843D811323A1151171E46289EAE696A913CCBA9CB1C6DD41CFB77940C4B9FAABFFED2914B8AD0C26402FAB62DACFF5BDFB6C49DBEAF3B4713C8024C049EC8C291E358E4453CE75B651ACA29FA375E7B15DA5619D41BFA57268230CDB3FBE87779F77F95FF9E46124DFC586B13449F33E8DC652D80DE9EE7C7E94D8AB55D1B7DFCC40E1F4B1DE602ABF8951BB801C831A31A2EC6DE1051D8D5EDAD74C456C1E01572B5BE3A17A93361BF34192C6CCC935E70B7892B6F7AC809FC8DD98B8EC624FA0DE04091B80EF5695B29FB585F0F08DB4F763F5FF39B37F60DD58E73B59ED2FDFC0AC647FE41BA0B9B4A6CA8520D300AA9DD26E3973230422EF98CC59C0EE6422C2C404F69E7294C4C18EE7E9364A7FF1CE7426BCCAAC40A39C3D2B1F32E13A74B372C254615A84F57D0EDC7532CA42BD725FE37D41929409A67316A1907E7EB69618485D2B42C32193C919184DC4441566D05773C8717A342AC13380AB2F2410CF36EFE481DC08FB7A45E26E574D04BA5BD6F966A8F9E1B851A7CBDE3274CEAFD80C25A10E46F7A417AA7121A782FCA5C7A57C1C5CEEAA6F89F17F48EC4068C8344615CA07614BA9A7799D3F9018B040CDCEF286796CC89C5CA134F2832589D0E0A507B6963C198E539420F33605589C0F0E23A8827A80DDF24B47E25DAFF4D09AB6A68C15A103029D429DA3E6B498E934B592F07D4185516957696D786CAA3C53A609C017C4F145FA7C6C0F6E4E2CFC1FE2A1374B0E4437423279FB3C256ACD57BCDC8475091E3AF1D3229E37078C99A827F6E71D4DAEA57AB0B0CF183F207F75749AF2332A1AA588312546A99CCE6D24C6D4D66C0A8B4F8688B432D1303E14659523B536E04144FEB3128815EC6619A0A434FC43A81ECA13AFC53108A768892ACC694A606BA0B343579006DB2E9877DE3F02E025CEB5DA02F89D0DC4B143B64CC34027A288D1BBF7B143F67E2F19642CFA50A850BDC05559A1B48C06734A11EFF684E7F1D172C639A52E7A91F6D3D0DD7F13CC9B3FB5C8477A06DC9235BD3919BA9B9BA931E2381AE552E68C9E5C42540B51FD20358D0D794EC1CEE7B8D9E7F1AB0EE4B7B31F6020291F54B560DF06C1815FBAC058F957254E79A003B9127F2E0748FCA749C1831DD55FCB2FDB8364C4608ECD58632BC0FB2C55EC627A5FF61208B346B9CAFFAF702A662D72BE602DC4FB0A7AC3F9E07B00C3CE8ED0CCFD6E3A84C260D36EA9072C3F6D017BD9B80BE02FC1B39A9EA8EFA2A6FD2DB14053D442F44951594053ACF5F94E0B702F6CAC76EFC5F9D2C69889A97F7C6BB89F43800E4146F6A2373D62C146E009F84DA808FADD315AD34383F5230C2A8CB6B758CD8DA1D1A7C41D0F3A71ABAF8774ADC9B223263E1E4AD488312F4B0606C6ED950409481240E0B0AE988908F5E5F38734BCD2040533DAB698E30B111C1946C59012FCCD1B3B1C496B14DFC0861F97EDF708A82BD13BF5C294F7AA457BA43C4864FDD07BDEF4ECB6380FD115144FF7C0927F401319B6A93CFDC805FAB6F867507FB0F107126566211C45D47014D640D45D780D004AAAE84A7167492117D8F9D53FA5424EE24F2BC940F849BF2D8FA3DFBD393A25ADF00644A0C1B129890DA805BB6FFF915E6F170732C55B2373D3C7B50B7DD05189C203FF55BB5353C7011A2054B6C47CF972ED9CC85F3748C19A4021383258206F7C3F5B8EC8C5F399AB71F3C1B43499B0197CCE69D487610312B7D6E1BF50C9BAA36411515B2B93BE3FE3642D19CB05ADE0015508AB03854E30270ABDF5FB1167BE644AEE319D1A8C4D4BD3956DA7B1CC7838FD1BE895AC3FD90485864F1CF089DE2C218C3FD3159C1CA8F7AB400BBE97E9FF3EAAC28513BC6F80952C91AE0BC246C0336DEE8F60A697C5A82469A9DE06403C7B7C50846E18001E747C2A53A0074E22FDDF8B9C64E7854903A8027924D5BF9AAC8857A70E7A426162AC9FDE81CD4EA2005DE398B4338AAB50E6867D104FC137FE25979F8CDB2DC16D27BECCDCB4BF29E50A439111D884B119EC129DBA3B31EBD70AC50662E1930E63E216D69B2843E357F9F610213FF09AC6E6E8D16E48E64A55FD8C44A017ACB42492D229B5AED3B6741EA9CB99D6839CA52C94542F5C696EB3C2BB791DDFF054493C3BA0C29028832521E6F09514843FEB35E77A3372B2326E3DCEAC29E2819C05E5D4D973DDD27E5077421703E350014D7DD6C5EDA197B1C2CF9F4DE34B515FEEA555A767EBF4EB7849CFC2A57D80DDE73D831B364BDFBD8D5F0CD15CD8227277664365C09A7925EDB7022590EB6B3E0FCF0D9467B5D89409167C625EE36851231642F8227E6587D4DB567ED8A59C8FF1261AD731FC3383A04493718BF9264336869D39BA63B6D86E5D552BD0F5B0252A7FC05B309A463FF61887BB712C4553FB739F58EC9E644B1FCA2FBDD543D833421CF72E5C7BABA60156A0B1049260D4360061B9E436D9A0B05A24B5A730783564E13E3BC50C1D8FFF678BF6065559D12A2F59107A2D73B62D9DEF631B2ED81C6DCFB578B982B12254D86F5AE12BCD18222A32BFC050C4800325CA4E862FB281E467713FEC3174CE727FC75549591CCE349E9F722B9C2279A806F69CC4854D19C27F705FFCCF1982825F91B5D65C51BBDB6A7BB5A7D7EEA4F7F8EFC5CB77BF637F5EC287A61DC77117E54F3474AFA77F6895BB310A4D82742CB19CF0501428FCD60685899CA156142F6C22A7DD7C5B2882F221117A09375D72F09431F82C1314C6FD4CDB0089C65625CF6F2129E76B961F0E32060216BF19010E97CFB0945AD690A3F6398202B3AAAF83866694634D1354B6E38", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EC10000000000000000", /* iv */ + "A7", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EC10000000000000000", /* iv */ + "1FEDF1CE84BFF378D6F9F3DD31AA108C0A6C6C3775EC1F071494CC73F75894DA256AB149B8599A432CFC9B36A8800C82486B226167DD261CA8C3C21F8B79BC0F2CF0AE3D55F390095171A637C25317E2A8DA508CFC855A3D5DBB5CBE6139BE303EDD1947C2A76D48A441856D758EA326E15788B1F72F1E1D0A6D0300C21D0699DBD63C1D69CBC5D7284DDB0112A32C7EFB3FE51CE76BAAC83101B71A3928FCD236DA7CC4B5BB4844319FA873388B8840F9F9AA2CF48BFAA9A92BC3BA64A2C5BEAD63FF436047A057C8723AECAED910017B2B8970BFBF364437846EE8AB110BF6144FFFD519772101377FCDDD41E6388E52EA30B6DD8FCB525428748713366A0148E0ACFE5CF333BEB16B6BDB65642878303AAD00C39AFE2D2556F0095815A0BC903A75341716EC7BD7C78B3AACE9F6C69B57B28F0D1E07DA0C70F42A06031A5982C30DE97AD8EC7B44D2636EDD6B8036003CE5507ABCB032E84C8E8A1DBB7F006E6E8393368F28E724C1E70A49D38D8235A6375D2F27F4D6C60CC2A88AF9900B8EB39B1B3EB29B3629B06BAFB9D034EE19E99E6F6EDB9ADA323354E70E91AB08110195475BB4EE538B003433C6063CD292D2A66503B0A805F694BA3358AC311B8A5EF57D8B6D3CBFA8479CFFB0A64418F55131B8A4FF4B143D4C603CA2A4D79DF039D044ACECA0CAD2439068B4FE5EA056B290E38D04B0612DA641F4B7F13FB8053F8FFF21299B1ABDAFC5B6054CAC9AA2EEA912E168F17AD229487A17423390EC7A56C887DCA955B0E8CF4BE687E1005A3CCBEC968D79B270EBB9507EE1A8C5CA32F8772554914860FAA882F1A15DA5B4DD2169A92E00B7845FB291C23DE3A2627D7082D067E88B58FB16D4766EF6129BDB6A0898CC497347361BEBCC9291D9ECE150C63001E735D8AE7EBAEAF85641E68E5F77456555FCF9A14E814ABB7A19FFC8E9", /* encrypted */ + "9E8ED4AF77C61F014882FD6544A49CB7BB30297C383981A080A6D486A6268BA4B4A4C26B98EF87165387D053858CD955BC6EE7794F8082D2611BF0B8AE7392FE92A215E3453E12E282D669BB500A7B9CBB158A0A41BEE119C46908BDFCC0CB44D8498651C27430C19BD52EBEB6311DCBEB3831960D94EAA42DF25362B553555906DF9781FA48822F85DA5ECB58D4C0A30725E3E580F89DA8F322EFC6BEB47C01EF7BC5643FD5D5685DD24AEA58435A5E3795B6D69D5F9873940504AA563DF293DDF83100AB4E8509506C69B893E4F099DE5F6A96B6AB0ADE7D9FAA07AB9AAEFDF1D96AC15BF99A6A9ED34F36A51EEA0BB72571DF41645AFC462D9878A0405F191A0C79FDB7E14E4DE1EFADF11B6F84074CC45193082DE29CD3DCEEBEE770708932C5AFB56D19CBF5AADE71D919ABC6E4FF76EB4B53127FA0E453D658944687D9D246C8966F602C5CC56BB46441C9EFC293627DECA225E91ECB74ADDF7CC5D5B4428B69FD1998E861F6C8DBF4979530061F4F6A81E2B3D6416A81E8EC80992AF1F564F78FE5B1DC2E35E54B58F6497E5EFFDE1981085CE156478B5BCCBA4E19B000D1FE25D51AE8A0C0C522C76F1B36527D7CF9702D0293FD1BCED69C4E4E940495B69F20A5DE77D4861074E823B19B86A26D5F7151A15A4B5F680458619F36E7B7CE37FD84225F6EFC63F507320CD41A95C97B23502170687C050560CBBF6905AC57ABC3FB12EFBDD3259F388484EB504C997CC768FDAFF1B9CA2273FCA78D013EEAB05A309628705CC601C3CEE5D4E77E028336993C5DF08CEFBB7F20BAC0F84215EC1E9EA20DE9329A1EEA26FA81DD4963A8167626F63763907D99082E3347A84EF3F27E87350FB52ED0C96CA114F5ECAF7CE8354767B6CC32D4582CE0A805CC2ED7718E94DB62CE536F53716D286B80E5642683659FFC82893AA9DA17C05806D8C0", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EC20000000000000000", /* iv */ + "79", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EC20000000000000000", /* iv */ + "5D2A136FCA38DCCBC5C7E47A029E292D8BD27D2A45DEB2F857CC2F423A0F15B3AA27B5197F00A0550AA6BE474505AE30F591426352AD7618C4ECBC2CDD7B3F16C85C61158A3C93700DD067656A6CF0B00486521E3BB8B03EC29FF4509BF19A785D701802EBDC3C85F42B9F44014B2D105C96D6E1939DAF1A534252613973847DA1D4D929E81F7723513A9C10ECB9E62F4728600C16E25A4AC25C1D5E5AA98E48092736CB29DCC9444D688767E6D7B43461F0BFD711A67C8953DA40D992650D634608879638F957F1FE32CE86E75B682C64E7081A27501936FB5E88DA844805723495C472FB9775858B730597BE6D61B76F0AC82CA8B9C21A794D55D2C60142B2C0EE91891EF19E54BC6A0B9B98A3D2621C4EDD92A29E6DF2E0E4914B63B8838A5D486D818AE1501B2A310C3F26AD5423CC9FF9B694F2E45375ACEBC7D37D32BF5EDFB0C8DAA4D9CD7887829D5A3B2074C231CAB2165F6661D27366E5AFCEA41D8D0A958B83A2724997A40425BE5892103E862324C638DC4BE5E15FA81840CFC71D73046EDC70C3BB53A3A1D5C1C38252BA908F260F2093B39C66713A47C96724491C0392D7A6655461EF0AA75D7E736CF41F7925E4C517FE46460B204ECC52DF7B46B8888E34058821AA4C3844662EEECD28AEEED4C443FD3FF6A6C4D721D7307D3E27DA0D52325D6800A770146AD0943DF6C4548AFEE400961F45B0471B2D28DEEBF892C064EA666EB7D4ED05F692C2575EBA26542F4F028A83BFD0257FBF458150D360EFA0289D1C9AF27F8B2A20C463F488498A88504EE1CDED2A3D64BDB015B004422B070343F50DED6D141962C001BF6BDE", /* encrypted */ + "9E90D4AFFEDC7805FD7DCC502A1E454692D3BE01E4A40BC7A49E1214553A007335C0BF6E419668F1D83B2B6A65A86664507978171CF0BBD5F8C582CA23A50413CC67CAD9AC1B4DCAEBDF22BAB60C88339D7EA3611DF368C9566CB34979E29C3545C0FB70478C6260ACCE9824FBD76B758EE82B9F2B40E5A2C2942241C0AE97D98C2BCB8BE041F90FFF597910192AB0C7948BACCF32AEDDB8FE236220A3DB0DF4D15F9B10400B72B89463D3147AC842EF6210FEF30491A12EC7FE35E5509FFD26425584BEA0B90ECA90BADD891D9069834140F5E538F994AD59985318F5743C76456311931366216BB3C068C12D6A33C83576F00BE07AB043ED7679B3E1FAF28624C80145EC20D049F297824CB66150625223018B8A8E00E6777498BF130BFE8CC6AC9CF248BAA9330E4EBDAF8EBB775BD6E8215654047914B2187837C9C37805404B3BD162CCD95023DBD367B71DE578B387F0AD4B30FF23ACB727B2D9E62F91BF7CDBF08B6923A1E2FAD54D634F0D21F87CD63E186299D595D0EBAD34E3BE00842A6457859FF6204279670CBAA739899D5A85D67FA4ED25DDFD33FFF4FB55E79027F72719B0342D94C5FAF1E715361FF9DC015D090723BE872541A8FEF64CB02A376102B2148B7C0F91FA310A3D949CE0B1E28B70223A6DD35ECCF7E220E4FA917C13F26D3B87C66184121AB7F3860A667854B952E4065298A8A9650A7BF490214F0F80A9342E35220983EBC9E1F29F75D6EC0285CF6A849799EEA212A6F4120A86C288F3B7EDBAAAB08C4EC72D9BCFB5DE3240C62F47E5CE100DEA3C833B648FB4051E7FAC3CF272F8E71677A747AABA6BF415", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EC30000000000000000", /* iv */ + "7E", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EC30000000000000000", /* iv */ + "2C7622A987EE93869811DC856E6F2297E28C087435A91C05A83931973F065EC1E302C74D8CA3C81C40991E7E5CF5AFF2A873220AE30BD3989C09432CD8244CD4187F5EC804F1B3102EB008C0FFB87ECE82BD1841794722AB286C449E59CF78C2C1776A33F3BD73A098766CAA11F40B78BC4E97037748A0DD46F6C96277A02F4A8BD3425C43FCB4736430F0E1EB42CB1BA074C80270DBA6C15FEE4ED1546B6EB900A13FC90C05CEC7139779E9690BB7A7C66D027A173BD3DA1DC3EE63B2B7E343A70D0B27DAAA18E9BBEE48BC7B70D039C576CB82FAB8CFDE88E560CD10EA61CA10BCFC71C8D2FF0308A89F2431D640DC9E03050FA56A3E10A5DEF10DAD69EFBDD1CD3F6EC166DFC78636F5443AD784263A90974A3ECD35070FCE69CA5D7209DB52260130C43C00BB19D2F803D96B8695F92398399CE0FE7AF98F796EE2D271B69DE119C71541F64E8339A1B06BA64DDE41205B0C92F79E09CB25FF6A6640CF3C0526BAFAB59D949C970DE6BC72EFFC872D9312D037CC2E59EC8262EC0CC152A0112FF3881BCFB1F36B58BFA5A9BDF519163435436DE7A54142FE376083DB757BBF1ABB1605337A038E850ECE147203745AC49A51E014491829FD098428760DC1BF47D58D7C28D51A32C09ED7BF053AF86DC009BD8F4BD20A63BA2494A0EAF3A231233255C1BD36CC269D3A0B05D9CEE46B96D2299A5CED1EB34A7AA65A990D4A96DB8BA29F80470BC5BA4334EA3C5D80CE80937D6C8549371763124877EC8AD00D7566ED83F11D25ED07F6C40970607DE8E7CE99F430E0EE0803FDC801F6EE1F882AFB73F53B372B517CBCC41C3C2C634A60AE2329E68820C9B8F592A5830CA284E88D0E2B0EE8016B21C3367AF90E117D17B6A08A21C8A8D9CFECD3B469CC0988064D9A93417602AE962D85D76B748D0A76C47892C1E274FDE0B6E499140A3376F9C52078D6C458FFDBF861585B75AFC68644DB2568431261069154AFD48FC59C53AD70DBB8EC35EAAED936619663A80C69D3E3A69053E774F4E4038F1187EE1BF6450D6C3128EB27545AFFADD9652BB58D6DEFC6DC65FC033D7A4DB330B96CAB470D665F29856175FD59D6398A262A9209037E1940D92A1E612CC5F8E2D76B81CF280A2A320B91249B2838CE94769AE720A29ED31468BC82BB22F5CC0ADDAD0E3FE7D386803BE89A385EAD1DFE035C0827696A02EB1881DE1EE8553F28DF0BC4F71F16D965A70FA3789E7FCF757DE12A0657FA30E004C13818F079863D9DF3B3A7E65118FCDF998D2E4DE2BFF5478CB6527F67405433A8D311A39E4A791C5149A3EEDEF244A7ED450AD4851BA00C20B404B6F53A0BCC691A7FC325A16EC22B4C74A42D154364A8D56E318BBC24448A2B9B66D7797DABC92382D2988028C527F720A18C1923FBE7946287F3647347E7A1EB8B20FF3CA2F571701998458DFE3FD9493B29ECF80FF1F1F2AECEA4444BD4BE77BF3D37E2CB3DA96B12B1C6FA143F3D6DBB5A5FBC95B44741D528466F1E373E7CC54292A8DD5346698CB028C40AE6D070589F780781AC21A3B151B59168E65BB6CE9A098DB0982E0A522B3D9477A879B19A413B8337A234448A9206C1D1F428FCC7DAD359D38F0F6EEFD8231070362AFC2E112E0F3BB599B3D1BB50CB2B4C7D760AFD6CADE40AD005C4B8DBB084EB04050652521E420FB8F519D8000E55E22D3DE322C3B1368AAED0E634768853555F9768B73EC04444137305A4F8F5C85186D8FA9120613CC7F446BA64AF27281FAED9E715B94599B58DA5207B3260E0CD7F72F5428166183C9B376544A3F4588284B67B44DE06CBE81F6E7A5D5B34080270BEEDF84CFAFEB3050FFFF419DD7FCC67DD61204D347A81F3E4211173DB29EF50FF7E081255F963BCF4819BD496DF377FA2BFA9F539A2272837D6FC689194E02D18C2DB08761E3BFFF6970E32C8E0C6D86008C7CBB4F08D51BF9979FAF5EE610FE400485E4BA0AB60FD269E1089E5D6BAD947757F6AFE77F47B3639B95CCF69811A5388961DB98E67CAF79077E2EB4BE305431539C9F558C3F1AB2C08D78F140AE0460257C6455F7175D74F3B800A2156E06C4C558266BCA71F06F45EF838572724D84057FFD520A0F3956AB34ECAB4558B1AE1AF2817FB0F62085B976EC1F02173C19655E9945CB0DAD122738F041D52E9F0EA9D2B1815EB7883565EBD3CA777A8FBDC3BD73932D740D383ECA7E31C6E7C5C13B564702A6435F2A36334ED98860EDDB8FA0B997CD7CC36C25AC71C1A69DBB3B4BCA2010B53E75C24C12F811EC165D3C2F1A1AA99E099DD64730BEEB11BE7340935A55BE0BA3158D6E4479B739FB67BC95B2EA3D821E74E9FF8DC17C68D633BCE1BC9AD14063E10E6758A065394C76DB83319DFE64F025C21737B6EBD367BF1AF9D9C76F7F3E7962B6E7335E3AC5C0F300B1F71C7E61A68EA28F0FA9AF67BEC6B7E1EB32C33DA8C8BA4C91D839914A2556FDFFFA9A592874AC68969EAEDB1A5D9AB0CEE0E3380BAC3025DD655AD1370E865DCC1CA2E6D4DAB2CCB8292419F5EDF16B92C55F74D784B7BFD645E6E4C9BB3A1DE6EF43D720922482457FE12AB43EB0DABADFBE6D2A7A465841AD33D96F9CF59C40656800D480BFBA982E1A326B4D3C0B512AB3C7E71A8DA5313A6BAFCEDD77306CC2A459712D120EC98612AC1E525962FD8B054578379A93EEB172F7585F2B41C43F34359E11F7DAD779CAF473078B1C66DD5B54A3ABAF3033342BC35C0DEF8AF4B1D3F904F799271AC51EB278877A43F40CFE49392CFD1FA75F45F4B3DE368CD8D55A9117D9115D0781B1E78D0C9B15D2F5A332FE251683DD4C0C1B65C479B161E316F51305173F4A16B95AA50FB8B0E22E1882FE1EBCF1D7EAC1F0C4E56E308DBC99213EF6F0A0E251E31AAB9E934489E26BCF429DFCAD5164ED6C76119B9C58DF8D7E8DF9E42035C8B0CAE5C77F97BC4B9C1FE8C36B6364531AD89785C9A9834DB2AB52D2A7461F2FE2F2CFE2EC2D0A6765E96F7A00B0F24EBF9D845C7CD2B5C8EC2B8166EE929EACD653976EAF1D22803E7C90C7796FD84D5E0A19D50EB2FE2B9DA2CD4FAB573DEF27FF5A044064AB324D562F63BC1382BB006D18464904A0066F1F62FB8460F717F169E5F9B7DDE8A7A4DD03832AF0C9EFECEE82BBE4F83EB4611FFB9FD992495D4F71FB56F03FFE59935627E3EBE72221615FE533FB5022EEE2905E3DEF8C586D827BAD55B2C4588094B867FCAEE7C3A3BB3D05FD42EA3C947CD0B4282AED5848F37C43C441C759261CBF22F2E4E6EC0D07E5631EB963DD304CBB430E11337D4BB5C2DB4E2E72C90A7E16D54B42E7A8F351CB5A5DE03C10111E23761558F661FE1224B8CC5F3A9179B7A433F9702A5CE506F9ACC39BCFDE8A5DB27004EF31AAF91E9D4206BE696D9AE97F540E66DAE705BCF87B7DA91D8DE6DB6E307B248C495363D069668B819E01986F3E0E9D11F3402EB7D0BBB172F12B4B524C153F81F4CC5C07BD3794A05B2DDCC2BE985117EBDAE14DC7BE2878F7602900D937D53276A807539B2B11342373DE9E068C1886DDE7B863D046ABC71C8D2391EECD5FD18710F7E882D45EDF3A19ECB41F82154FD780C3D6EE54189635DDBB4887F612B1F47217CB8BFCE90EE56B4C5870095E8736A1393532004680E61E8C695C18D3E037E946B4C5F88875B91FBD3A4F788E2E0F6E3F1E034BDBBBC66C58486D5293EC78F9E8EFDE43387976021A816ED4D053E1035242BC1162806B51C48FBA1EE3185FF1C65A41D3289FA55BC088A15F06108498934236D00DBD914B4454E8B2AB7007A8E8FB290A3C1A92CD86C55E0171DFCA66E7C99FEA43DBA86ADC52AE9D36574D0A6CE6F5D13359744B44377E8AF56A2282A99705491F1123011E104795E5DBB854475A0BDAA3770D8D3B39F182B2C0A847D553998E0C839DA3C06A37C34E51AB6565C50E12AB3C2B405C500BB4309CCF1209CB1C525F9D162A9825D610564E026BC8F7C51338B3E6573D3BF872FA7A9AE22F0F9739E856BE09358B4F2C054B4F67EA4421EDE8A905FFF0AAF3EB466F934864D9E1722FDA364B39D60DD84D72E429FF5C4DB2B6DA005696277A5E6E3BDFB675AFB524DC544E920A8A09E9317FE666C366531D7CAE9FDAC087AC51A02130D8A7D5D2FE38658DFF53AF2B85DFFC75D08254E77BEF58727CE4DCCCBAEA324140FD229DC85C1546DBFCCCE2CA3547057424D4F47A60125D09D8E44A96DB8EEA354CFEEEDD0F8486405674ED765475430A964FF9DB89460027A22D0A2F4B0DB5820F2F03AD326888C2E3420F13BE19E9ED26C86C55D06B1A3AE1C083A851BC45F64A1E62DF649DB45AF3DA1B5B4F20181808CCCC9C8A7DE3559DA2365B13290F723B7A5667468FC9723B084F52B21B47D68A82A4A5937246E78E0FC162CD39B670B3A50E5565D25532B0A109F28157D7B0EC55FAA0996F44DC3353D6B037230931A293E1086764E05F3E89BDBCEE50419C4DAEA97B451C9BD6B076C58D9D133C9E0A06A9EED02C0B3F300841A659885B67A581BA4436A372DEC7647A49FE54B2D25563846F67E59FCE02B8FD46ACCF9CD153CFC02874F89E0446773A10D43C5D239CCCBD3D8E0E806B8B88A1B22E827283640CEBD4F458273EDF912D9F883C85459B625525F88582A0FA693ABB62FCF2929E4B66C94A36039F8042C535204C8ED6A91467BB5B33C777F99117D5D9C40378D7768A2590A00EDF98490A18EB23F2F1DE3215F1E470E71AE956E8D99529584A3720B3DEBE89DD5B6F51A3DDE57E8A0A48328D3096168002F6CCECB944F41556537F86E7A4B4DB34CEBC001FA882E27BC88BF4380DD9CD4021BC54822F58730D69FDB60B451AEDFA98D7F8C3D21353E0D9043479CA050ED2CA9CE9ADC44B9A7E2040CD5605B8CA3ABAE15D24C56BD46547D82F0CCAAADC102612FCAF1E9D9A9A169CA052B17EEF04082C55E74FC79F43A95270FEB6C7CB1E77CFDEA46D352D7087F430A9F75929C2AC0F36C1CC9B1DFBB0B4CD10183C1AD7557E716F68BFACE8FECCA8622B4CCC4D5DFC13DC95CD825F9BB881412B1F51E8D28BFBD22C007959BB5832B6179C7452A96354282E2860311B8D065767D751C41209A030F6C80E361B57D3DE7A35E2A3F9437C21D4CB0236228B890EA50C9BDFAB303502411516C48D2E7C455467F29E0BBC89C58A817F339DF736D0D624CFFB08B4D180AAD9B0C69992033B23B231E6B160F86071D4EE1849FAE7A25EA5DE10E8B23F08728AF2AB1658352DE91CD760A8DEB8E0930C82428985FB6C0F5433B84E47361F1DC91275F8A0C03819D9AB3253990CFB0EB5FA1DBD2F54B188B04B60509CD60FE1A24CFFFD6E8B9F9A1EB9C1E9438720C32AC2EC7CEE4099586F4E11587EF62B9B5954D0F7FA6CD132D74B24FCB8A45E8800C480C0C46BFC24150C530E8CF0A28506C1BCFDDFA2DA57969BFE18A0280BDDD59968600BAA3AFFD89ECF50AD9C904E5464A4C7BDA4093BED931B77BAF363521E57B9D024C188830333E521D98691713AB82DAC2A46C6688572551B19F515937EE5DB695D40AA1E13B217D06A6B42A0B61A2F39893EE3FE7A0404DE40211694D7DA431DE61E1405437CA9DFAED58CB947D28D56D4A132118EEC601DDBF7B78FDF3F0C037482C94E5B74E56527803EEFF7CC692961DF8F7D8D403A3C8BE37D3174A93B3D448E8AE045BC884CCB47B20A0CE2FA31E37E1F926AEBF53C4111C94BB24C96C39725E2AF7E69F7CFF1E07FA5A8C49B8E9012FCF720021650771C42F76ECE60393B84F2BE8F650B831DA08501690392D3D8CC2D9FA8892C7D656FB738789CFCC88E08661ECA3AAA21D55697494EF6E66861B572DC8584C80C9CE7E6CD3571482EF7269793171FC5348F4C8BF5C6234C4E32E66F3B08CDC8966EA2196DF7FBF2308771E534A2A33AD9097B7B81A91C28814BF70CB824590D0FC7C710C5806766C7155EDCA0819CE8A604D7894CCF2228651597B594C38F2670560B03CD4F453BB5AC69E084013D5682A7059688E61DAC82C8CB1421AE16450BC97C10F0B7AFBA55016F488BDCD4C8F563A00B32551E66AC7DB208928E0DF01ABBD6484E679C8DF44E6E1809DE9A32619AF6C8405510A66AE2F0E79AA14E77C6C58860660B8AB6254CFC03C4F9061AE6E9A02A9F40392682800C752A00F2E731F7B9E5D1793B5B45D845763EBC01BCC84052F7DAF13657AE3BBC47D62C33CAAE0BE755BE18D4A37DA870DCADB4543E2E19AEA53DCB6FBA77399F9F070A9A0436D853449AED4C8823F0B480A7768E2B3281EF24F137E769567B5EF345B82B443B319FE0BEDA958A5A762575E95AAD0FC4C708BF28669C7807EEFE19B8749F9FC8467F51D3E5AE0723964585D57E5BF94E69028C2A05721D7B09568DC4D852B33D0DFE3C1174C3ED303EA292FC16F64E3BD3712FA8F65850ABAD44A9EFF44DADD576718CBB94507198AF055160640E3804DB86CEF2AE869FE67AFEA1F0D49B0AF9B9C2CF11916286522E21E9C457206FBAD5E066E5412CB3CBD317046E3662A660E87DFD766D9907AFC376121391A3A3E335CD9DAB85263216C13B8C8F9DA2149F8CBC7DEF66C0F65D1A7173AD5630497D7F43B1C99D5559213E3100E9FF2E5B81E004A6D681246772ECA76767B1C23AF4D1BB76AC3079647F89286C6F44198049D27FF8C72E3424F18B20F4E2CBD77F64FE1A37C313A09FC028887010E2E62E07810D3741EA36149F8CFAB036151B74B7B8E8264399FDE226D3A13FEDC2BC0E284E8353AD545251C9CFAF65D21FEFFED4B325E868728D3297F263E4A884405534663DBC6F7592900C31821821046DB36C8493D391E65C7EC24C94592F61F7DB042B07BE4AD4222F177396D71D5858CDDADCD1D984615015EA3CB2D3569B3D38E3A145D451FC376494F1AAB151B721F0419F50B9C354897A71637C59852FB18331D8B8C1EB9398DC0381B6335AF2E5B0649714B5B9F5796AD00F9EF766A82E22B20CC6F165F650CC8894F8B589B9548B56925959BCCC01FDB3F0F01160F39EAAA74654B7729EF72E7BCC4B01583F0AC5B486C226A1CA45448219CD30B8D68823A9712E6F9C07EACB0CFB34F", /* encrypted */ + "9A987A522BFFB37BC01BAB4647F0BA2378A04316614A84FF4D6A5B09D760EAED2EFC2CAD5C04ADCF4E9F02A7572302D7F768695E00B6754143D8BFACFDF39C809E0E4104CB6496271F8E4F0B8188837FF9B877279A7563540F34797001FA90BEC3AEB5982F0CFC78A2073AB49F8B74E0D0AA1498941E84CA338085A506F7139BD3AB06DCA6E19CC3BBBF4A80E6EF98E7C05B1C56AB53F932EF6FCC0ED04ABCDD516401F3204FA23869C505A5B45893DB446938E7CEE502C7EB00CA841DA4C9C7B46C87D9686CB5005A92967BDDEDCEE59B3229A827696D48D9E488FA762DF4396A02E3F00201CEE3A54A14D9CE0948A5ABB36CE0FDB5C7D0A53B1AC8693653A99B30625A97B98373E8BF42783963091CBD30221FDA48E233F10AE74B2B9F233DA526B9A5C655D9A17B5DB2BC4F2176A4074EC39281C8A4936742B7E65CDBAEE006F5F9706FE0374B10595CA897533ABF1CCFDCCB3BD949DE78F5FCF3DE7B25689F39011ADCF9581DF3F0A6BDAB40E4674BCF93BD382D367DC5722661237CBE0704040BA5793B354CACF957EFB515A343B080F0A0EB99E965D76B15D27514677DBE6DAA31C6B4C1B8036FAFFD43FF548FD6A78D04C8CBF7041792680B00B688127735F0177896EF98C742E01DD52A8E175756CE1A590F70723DFAEBAF124A0099EB9A0C9C1F8452E4F44B9304F36D3D5F9B332D4D6F0E48D4C08F52C1C3E9D384A92DB73459424E8FD2676EFC5640C57F4B8C46B5979F1952218E3AF41AB0B449101B7443CB54E55CB1746160AB680F6BEB0EA2CDE53B57768783BD3722C1AEEE0109B422579CE18A8519F04FA82C15359D9A0C3EECAC99A4721280E63FABFDF9DAB291F250E81550D1244D1FB70AD868F6174157F0931CC878A824859469520EFD33F993DE48FB4907EA81D05D82181BF2CBDC925C6781666708F2B246BEE9440BFC238DABFA2437506316BF6952B593E3C2C0B3A296E75B6A0B176FD1996B6153FE3C7385238FDB4A438C732647EF5ED8147A20D040D0AB096EB0EC257D8D77A1584BBC40E4A8326E8800CA3E7319AA1DB5121EB07FCA7051C4F6E4996898ADFE3784E3BDEAB0EF8FC1928CA880C839CF84DAADAF189317BFB24F07D17921273BCA72BD85895CA3E63E58578F3FA3B8CC9347A070B42A2096401955BCE059419A794A32334479AA1D24C01A633E822E5DEC80871B7EA51477C9681CA23F25DA7D8D3F9A54D0DE1D5A3CDF7D9EE11E17C16A44B693111A761C4B5525BDC862C85C6D04B833D05023495BD0A014D91F88666E99B893C532266165A0D90E8F3841E3FA46B3FCC5E164F7B3F107C6700D43CE7355AE7B92A8DDACF3B328D41ADB022EA0EB9E7E1723515225356577892C6DE6BE44A43D2CB59CADADA7EFEE243680442F3F7A828EF0BC36D9FA317E14C200FD75007B52811695C987A89275B1CF12528F2906A38DF69392DF9823AA2D0E32AAA79993775E42BEBDB7D7BFAE4F3644F55A67BC450C1473B29D4BC8ABCE7F262A0022B1AA5A0EDEBD9DBAED96075CE44AD3483D754964B62F5D9F661245C82DEB6890A2D061D497D925297BF0BDB3D1D0D21845F1263ED6172ED67FAD9E749DB3CCC40DB6FCC9C6811BC75AE61C1FA629A744DC457375690F3AE14BF2CEF09FC438AAA089AD529AEBDA29044F6B476B44653F669AD87C51259BA409F56FBA540031A364470F31459758D6F4278269ECF00EEC90896A4D9623EEAD6D0EAA590421AF67EA99387BFFF91518AF363F4CF48073CC3C3CC169691D9DC6AFEB8520133BB95C09EA828490207D47299D74CD2F679F577E7950E5D6CBAA029D1FF9FBCC32923383EB6ABD36476760F93BC56B706CBC6B8D735890124B712EF6A3C789E3FBE0FA6641F8EDD68690B2597B21D9F88D54BB4B68E2A78198B945B7AC5A303C7188B57DB3100CB3FF01BF59B09C8EF8C74579E1F18FEF568EB1E4E1DFB3EDB26622DAE5B54F7FABCBC2AD6BF4CE3300700B98AEF77F972393E51E6895ACEA34E6FCE1CFE8BBA6652642F39E24F3D716E4837FE780721C2A33BFE8CA8FA84B8FE6244914C1CEA3430892ECA8D4E77F4827C07628673009162B54BACA32EE54C765E09134BF2FED1900883223B23C4AEA29116D049589148C0C99313BC1DD02810F7382B8E1A760175BFC14A6F16FFCFA6C0630B7C66A3B86A29FDD3250075FCB031B1A72BE7440A20ED5AD3146B1BDF274820299FB9BDE73A37578885321275CF9B9F19436C8A434A0E7E563BEA3C00D481EE8FEB956B73A8A05F06BD9DC3AD94B288AD5045D066FC6909F716C7A6DB80E6D3EE679BC8E0BD7453EA0CDC893F74AFF379CA1756984A0A1DA070FAA480ACBD6CF4CBFF05D138EBC988AB64A96CE0C56BFB910347B55F57BAD98A5031A4BCD5D9E3B01C344BBC6A590578F3AF427B631D1CC304B6D12A7D3FB4AA6FB3D8E864369FB3E224C169CC42082A7D6F13F4103528724EF3E7DA11B60414A3A4F012F3E9EDC64B4CD72FEFA2A27A85436AF9B3A7C6D5D254AEE97E97AF6BECED8C26F81441E973D5B86C0D6DB54F235B4374F60E1EA17B81DCD05674223275CF6DB809DE35FFCC3EED529326B7D74B97CA4FA4830A68CDFEE6BF8856E1A5050564D9D29FCEA4846734CDA2BF156C3D5A112A9F482588BCF9FFCB20ED0284B5AF1A972F4C91F057BEE66BB47887671A48617EEC2A7BC121B9FCCA4B049F29C6F0E07D7B388469C6210FD4E23AE1219E0E8DC7711A2A7AD2DDAD138E53197B86D9D0BD65BFAF99CCAB01409C810B31C8B12BA95F6602C4F90160AEDB51B598CEF12629D3C37D27266812E2153DD431A2D101E81AFAF5A067AD986FFEA944D2DD79872A808C2D2308457C8B13224558D9A98DF78F1709AEA9F0F074F81958C4A4AC5FE8A623DE59E92F6349AD66CF91761E60B99ECA18142EAD0D4557E66FDF3CF46ADDE009C4F15FC2E041C3B603DBAFE90704A5F2BD759EFCC4847A527D179DEFFCCA480C3BE1E2B90618E48886C95F38950310BEEF65308ED347B9F5BB96E8FA3E0FC2601F0169FC9853E0ED8B519FED3E84A4AF5274B2FEB4187F828952B4470C025BADA3A1E04854917987A8922F5A7C526ED28EA9D382DB83E6699DD3D6563043F15CA1F6F607F5ED7F24FFFA75796A3FBABC63FDCB7723DF1D9BEE2EB1D0F5060C2B22A1FC4037F3868A023B3B7719CAA3D3044B9565B1810F23BBBA14F34FA0CB5CCBC5D0B997F73791750EE84468BDCE71684FF5EFBAAD01820321E602FF65F39C4B3DAD5B4C4A85C5F1D6CACC254736AAD3E21D7E8B75D323CE58FB1C4DCBA620F6EDD7B3DCFC282EB41E44D6F9CB3A1DA074BA3F390EFB9CC3C754A08DAD1614FA11EBF9D866278CEDB72295A6F3EC6314481406A907707191BB2821E23A81854261ADF33476A4AF71DC4474841A04E5092F52025EDE10EA46434863F42EE8441B5077748F2917B40EED3E009EA80F766FB2066A7241F0E09BF008DECA768649876DDA14A45F4FDDFCEBC14206E704E1C075A0793F11B829A947439ADE6F4162903C1F80A96EACA20C75C90D45CA8AC8C97A0D383CDA8A640E4D311B4962E19951DAC8BC655A4A7A0786FF0853A8A06577AA783B109D303BAD14B897C4EE6C6750A1F899C8FA3E9869F893B4FC190D1D6B0BF8C108400F6CEC111E7F33A1CEB491A50E1F64F7780667AA8525C75253272641E3B09EF3F8DD3A3D4CBF463666395F494346A1C99622921F14D73D72D90CC323237A290BC3209D2934FC6B996EC973E1F3B3F3F0346FD84E83FF3CA9855AAA3D9B15236AD36C0B73D3FB10A98DDB9E95637BD431606E308532D657DD12029798DAC669FD37E6407DCEAF3288374AAC5ACCC58184D64F2680A7B9A216AADD98F93398C95F835D7662277DED7AD418FF20FF440783EF3DF1ABF06D8890129655652E8C1321F5A5E862C656E071F88F0B47A318768771EDC7E2DE2A5C8F8E8B4DD7C0A8E19E206A8148E5EE4AE29FE968619902A610182A6ABA8E1763E13D7E003DB8A8FA46099B17F1269652F4FBE4ED6D58A7D8A4DD02D5C1F15758FC6024D3CC060E7848478959C349B2F2A3E52D7D161754FDFCF33DBAF6B3E2C804138AEAF0B28BC21247852BA7768B3C9D311B009A211A22D6B3BF2A23C1760CE9BFC7E5B2922435D0ABD3D5FA3C45BC05AF5568D771073E1FCB866C8E10674EE37B2CE353E8A527AB2A7ED40CA19152F0E8A998F120D8E00417F21F8C27B98F954AAA1437BCE74BD6E2703BE502CF0ED49D5CFEE56FFDC5648CBEBEFD57BD29D3127AAFB76FAD3AA02751FA3F7187347BF6CDF039BCBBD697F7C543532CC4C6084778BEDC8DD1A87A447FE0615B79B0FD30641FFF2EC67A6A53EAFE6AEA8090C0A645F2B33AB79D8260AA75D0A52282C35DC3B10BADD7D712101FBF191A3A7A81045EF37B02D28144F5BE7733869A4A912B056116A34559F104BFF04F5D4DE1041DAFD051B1D4FADA4A65565609A430EE49951FC87A881D144E023525C635A5E19E14A85DFC32089B75637E985752E88F0C0C6B79CD498320DA24D9FA4A3F84EFBBC63DD5F9E734B37C4C68816821076D8A1C69BD762C076CDB5FE85590D994535BCAF431A0257FECE7DBAA712AB90F7986F526CB5A8AC3BE6FE2AADB673E31CE2872E349847A86EBB3C54A340A42412B77F911EB6115F3CAB20C95B01BFF9071CCF5410DC7C4B6241D4FCCF653FA11EDB52BD5BCFA9E2C866286E60230D613DBCFF9794D3ABB96D7CE1A2963C2AC03E651F07C471C81E2543B300717BAE58A3959EB46EBE6AC756B3348BC8B5D1D696781611F50091A6AF96271D85AF51F73D8F6B7C09B4569E91127C3FCFD0144F8CD19C53B380D7E59F791E6CA8FD108F537868C9C865AD73E94E982C2D678969BAB440CD06E175055AB74660E000DAE044F6479ADBCD2C7D01A0C2FFE39C36712F114B13EBFEB83F99953F4125CE9BF5E01C21B5F40F13FD6D8E45456639B42F132FA5E3B9E46A4C6173AFBC431DC0DFEF2BC08E338C1A7DEF87E60082511CF1243DEBEEB12D20B5054D7E48F58FDE1504EEEA919668090AF83003FA4FA8F71899232D249ADFF7FA4350017F851616DA718A6F30C9AA05373BBDBEE5EB003A6839A10EB13CE7C36EEC811C6395D18E1F8071B38EE920064C12E638A8DBB2C4FBC507C071294B92FE543A420B3321E3B8E1BCAB9203CBA5EE7EFB18EFE03E147E6EB7E25037BD4CA750190412E05BC99870320291E8CC7695E212F92497C22BAA9248FD2528E9C138E57C6900B624BA9DCE49B0B248548B3C8A1CB4120B706892F8F0D494F3272E02B685DCBEEFBEA59392339638EFB8B8FA32973A2CA78C969A4440FA49A449321D51587153E9033925F2518F838786672E1F4A828B8D5F73DDAAB159108D54EB7E63D840597827E1624CE52752E86F48A36FD45914DEE5F6E0A64A076D198F35560F78F680259EF1FAB4C71E843258FA2ADC3679A159F1817CAD6B24369FE5180D4AFF09CED4254CE061E8DDCEB4662C50F9648B560094167433643A030ED114ECA1BE65B61DEB25C02F8C9796DE6252AC0700C8DA8CCE0CBF01618B1FAB33D183E588AC831AAA8E29B3FD893C069AD6E6DEF4E47F9F0633BA1151CBBBBC62F589D6ECF4DE6D6D147BD00BEA6CF6626D605C8FBA326030B770362511EAD2B366BBC8A8D9DC046180F677AEA0398B08D594A3F70A447439313D4A1D018BCA93D317E3BAB65F4B3967768E63CEA6A831F15DD9C8F172015065D076D76E4BFD175B5AA6468CEA7A972AEF78DE2500DFB0CD647B89929E862787A67AA8B1FFFB3EFA7A57223C6C897BECE34758BE7D523EDC98CD4CCCAD238467073423B0075B5467A1B805A137D95D0E8ED0461E54CF5709D26463D8D34242A00596A9FC4F3D57E3596EA56F82925031E5B64F8E86E1DEF5B857B800689E841E8775CDFD7EEA112151472D8FB120E357C383AC6FFDB8177BB7942E1D9BC4E88032BE5D3B01AFC83DDC8913315BE624721A184A129433C4C03C61B091DC3A3CCE90C7F3EBB6B3BE71916CA1133BF86C85CC0E420B2E5D32871F458085CD070F262CB1311765AADD3AFBD7EB0738B25C2C0CEA2F3DCC103D248207589BBC943AAC262E9A1B27E5F24E52C37BC0944E956DFDCA408D2373F24783AF69272E0F8C72738219B72CDC457D5DE04FB6E70DA12A72FFDFE10209E6742AA6B7EFCC9DD7A1DEF69B973EABE0A80FA48EAB8772BB0FB97163DEAB958D8032442BFC786AD22A941D12E78C1D80DABFA1629C4638470CA612C4A1F88F01823AC52C234C4576C0D3A209F80A9934C2BD8B960E2D801E9835A8892EFB4612749C6699EF60EB3CCA94EA0CA39DA53097B09D4772B3ECF3E37957DA20E70F0CF85B1E72611707D0EED75847107BED43A905515DD7FC58B17E23E5ABB135101DE877A94F7E7B25B41B5751C16612E169193AC3F6233F3FEB751F0BF41D1E602C7A1AE508A1CC0B1E82DDED00873D719ED18D42E0B867613D819B2DCEAE533794217F444A3EB3ED581EF993B1FF2BD50E975DD7A7086B47227DB0D1D4E1D6143A115F077DE96A2A985B97841D3BDC65CFEB674067383EEAA334EF832C9AE01F99E425C38BD80F55AF2C2B2C1FC83D002BF4734C8D6999116082BDEB1DBD5F005262781BD30A959231B94B855D854FA2546F92D5FABA1B8CFB1CF4BCB64D667DC20F0A2772BB97FDA262F627076AAFE0AF976D2D362D29D0F49C8DB74BEF5DE4AFE03EE1C73ABE0AD08C76E48A25E636C187223EA81EA5CC417F5E7377F199351958DA694F8FC312749EFBE5D5C35B3F0424BD5C704356BE750911DCE7C07DBEE3B47149E66B00056EEF52C331D5AD0019DC11DC8CC4A56B7DD8FA4ED16DEB5485B248074E92D2E2ED4A797FAEBEB5716B27BC80A2B69BF9EB3A16AB28C7D500F09C3E6C19AE3975C6329C65E40140FD973F0AC0DC86A1F247775B34A364164BB7F377025CADD7CC58F1BFA62D2ACB2A9BBBA110E63421929F94AC34F78525369DA0C57C5E4CCF1D2A3E6F075330CB55E0D08FAD864AE8D26F30EB7D210449F57AB4463FC92150B3AB90EA877D43B010204FC638A9681127A8164E07EBE381", /* clear */ + 1)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EC40000000000000000", /* iv */ + "FD", /* encrypted */ + "E0", /* clear */ + 0)); + vectors.add(new TestVector( + "E02562E04CD55351B14B3D748D36ED8E", /* keyid*/ + "AB8B7B43BFE09EC40000000000000000", /* iv */ + "5A4061D152B2AB1405A83C102E6CA193C106B673447337BB6B40F9DDABC9B874ECADA31B647E4F6DC140C2318814E5E051F22557DADCA091C7FB38445C4681E2024A2A95908EAD994356BBF4447F1A817AFF462D357157266810DEDCC9590A1E382371FB96C8C201113924B089BCCCADD6EB92187296E19F052707413BC79ACFE41226657551E64BD5EAB2C135E9C91A021F9AFD8F71E6CF1A34912B50C99165C096A2272F32BA17034F787BC9798AA82B40955EFB5C68A4D6AE787BA25D3877FA4CE5C6DF6347FE7CE0B2D2CC82215816D2E1B227682FBD0304C3B5B72E099E1625BF45F4848DFC14D1100ACE2A5666EED5A68A4D2F4A310B1C6F8A948A44A883E3FD3BD83B17709E90BEC16D499351ABA9FF4E3D2209B07265BB5A245597BB90E0A13A5511E2FA9CBF8A24921CAF1092D4FB907BA424443F10A29B172A37911A007C973B7B2E264ECA88912F4B500C48E6A6528E6E604AA1050B9F1A27AB58377DD30ADC2909580993D58A3E8BDBDCE6785A0DD51CC9005A9968EA50C07CCE8600F18A242BA60CDC7E29CC9AD3F16CD5B68673B796C09EEAFDF21D7CB1D0DBC36A4DFE9E4FC5C65E5BF325A09C0A70DC497D111DED089A9DD7A22E99F2F7CF9270C3719D6DBEA7A901A24D8B3CCA44A942351BD1AF7FDA34877959D77DAB416DEEBB84B7855DD3756E59E291A764E88D0CEE8238805130F65E09A860E1A89620F891D0D44217F92FFC8E88BF943FC58B1C60D5909B3D3984AC0BD931E82DF1A43FA37C946143FADA95E06B0B96B5D2B17F2FE086495724D82C51024E31706361C7429FAA3BE6F50A4D5CFD70B1795991241967CB067A345C1AD414762F8AEEF461A9359E211994FD9C80B41BC5F6D6B8AE69F28D05B504432104765CEDFFD5F3E4DBDCFAC338C2AEDDD8C23BC057768AF20ADD7E89E81403B1C1E50B874C4F3BB7EFE3774AD2B2B3133FE693432ACDF9F135E0448665013B2DA538DDCB8B2977B993AEC19658C14C4A839189B3847E1F2A33616324D9FCB6C7D4C20B47BFC63F1D867EF50505714747E6463D0B275772567AA2CBCD57E5FD2F098495BC89750D76DD828D9A211BC9C0A80C40BF29E6AAE9F52A46C83EED851B22EA92D629D117913C5C9CBF695D293665E98EF8868710F7BD76D4C2433E7CDC438AE20745C525D9A0DE36B46E46FEB1BA3CEFA29C6AD36898ADE27908899AAFED4A0215E5C5A1C51E072CEF7FC9178D361F884BA449EB6C4A612B7D737AA63E8B6AE6CCE8DAA7FA9DB066CB5542722BB26EEF9BACA80E616B85272BBC555120C19DED", /* encrypted */ + "9EB4D4AFFEDC7805EF7A87B2173B55007C3A99A1F0CB86FD6C8472E051A965DB5CE86482217FE48D3AA29146C05F4DBD3A81E2E3B28A1132A83B21ADB01208F1550BE5F62A48861942B5BF957957AD62B598078CAB9B2AAA5E7B419F63FD82F75965A44290C25842D12C32996CF9D249B81D5671265C3F154EA2C69F4BBEF19FEC464B65474F857035D1E71185DBD23E2D4C68422607FA9748DCD38440A0CB2F6C097D54E84118AD03524E0C3D14F1A3017E4D66544A984A9770A8C376571AB6BD2B8FBBA1192AE75971702B4B361DC65A8FC6FC608259D6751ABA7E9BD40C5D5BE9A2387A4279556864D3D1E7829AA3B454A2BB920934F8F7E5CF2C1586A59EAABBA822D7703D138C29AE8352D1286ECEF03D0B228D99203E27E9E158A859CEB9FD47EE387373F6B1B42A5ED19C9205FA82CC235CCC94CDCBA78669DC62D130B54BAEDC781ECEA770084A7DE70E3CB05E877BA0FDD883254058233388BAB748F58F7A8B670736CA42D85BC4111BB3FC428F37EDD111403CD5B06E7F5A39FD4E68D9C994947D8C182752A44BF8E0C76D2368CDC4313DDBDF4A10FD9BF624407235CBBECA828EF8DCF9C938E5E70E6444BCCB50769D1CC6A2FEA82C6E79D488AD34ACE04497BE842866BD094D98C8A0822D7F8DD234503B0B9F68C4ED790CDE6305978B50EB39381D6C0255873D957C3520886626B184C121F1FFBC55165038C68C6EB01AA7EF1468C6C454C42163FD14E54B31CBA490499F091DD33A0F65370CC262C191A3C06C21E6A1B893EE3F61299A4B37681600A73D71D1F8132EBF3437516F3108DEDA6D2E48EF248D1C865FA15E9D704E9E9D9748F41DF07E046655674B476865A128F6E08012676813F34F4449FAAD1D183B9187ED1E56C044FDF9CBFA6BA0BF0B632EFB5C7ACB1B3022B58C19AD6D660F6E47386D626F35D5BED3ED09A2E2CCE56F82795F176703CD19A43D43B5F24041C6D6E95A9BA9A014E22FB62F18E4AE47A30F1691872C6AAE7346097EC323CFBDC9CBF18E1FAF260FE99991D3C6E6A63C87313108F991C87BEEAB45FD044188682CD38BBDD5D1A1DC3DD15A2DFF387570729FE80D080CA66E9C84298CE9C2D3745800F07623CBC7B955C5742B7290F1F860B70D63E5E9C4EDA889982ABE2271063701E849A223BA7E523183C07F5FDD65DF6F0619A69FBB925DE9D5B46EF315998297FB82AF13EFF970E79C753B3733999266BB30D0103A0581971B0872295543BDD71D8D994C12B51D3A0D1EBE7E38B1D9AE528E1A28AAAB2111F00423FA6A0BA189BCC3262BBEA1", /* clear */ + 1)); + return vectors; + }; +};