From fabrice.schuler@inrialpes.fr Wed Nov 10 05:24:58 2010 Return-Path: X-Original-To: cicm@core3.amsl.com Delivered-To: cicm@core3.amsl.com Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 64AD93A68ED for ; Wed, 10 Nov 2010 05:24:58 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -5.949 X-Spam-Level: X-Spam-Status: No, score=-5.949 tagged_above=-999 required=5 tests=[AWL=-0.300, BAYES_00=-2.599, HELO_EQ_FR=0.35, HTML_MESSAGE=0.001, J_CHICKENPOX_43=0.6, RCVD_IN_DNSWL_MED=-4] Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ySYCzrc9gFvo for ; Wed, 10 Nov 2010 05:24:54 -0800 (PST) Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by core3.amsl.com (Postfix) with ESMTP id 5E6963A68CD for ; Wed, 10 Nov 2010 05:24:52 -0800 (PST) X-IronPort-AV: E=Sophos;i="4.59,178,1288566000"; d="idl'?scan'208,217";a="77610963" Received: from zmbs4.inria.fr ([128.93.142.17]) by mail4-relais-sop.national.inria.fr with ESMTP; 10 Nov 2010 14:25:18 +0100 Date: Wed, 10 Nov 2010 14:25:18 +0100 (CET) From: Fabrice Schuler To: cicm@ietf.org Message-ID: <387920973.88195.1289395518060.JavaMail.root@zmbs4.inria.fr> In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_88193_1604094011.1289395518058" X-Originating-IP: [194.199.24.103] X-Mailer: Zimbra 6.0.8_GA_2685 (ZimbraWebClient - FF3.0 (Linux)/6.0.8_GA_2685) Subject: [cicm] cicm.idl file X-BeenThere: cicm@ietf.org X-Mailman-Version: 2.1.9 Precedence: list Reply-To: CICM Discussion List List-Id: CICM Discussion List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 10 Nov 2010 13:24:58 -0000 ------=_Part_88193_1604094011.1289395518058 Content-Type: multipart/alternative; boundary="----=_Part_88194_498338439.1289395518058" ------=_Part_88194_498338439.1289395518058 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hello, I'm afraid I found a typo in the idl file : in the module DecryptBypass, the description of the "Controller" interface is missing. It is necessary to add the following at line 1125 : interface Controller : CICM::Decrypt::Controller {}; Please find hereafter a copy of the corrected cicm.idl file Best regards, Fabrice ------=_Part_88194_498338439.1289395518058 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit
Hello,

I'm afraid I found a typo in the idl file : in the module DecryptBypass, the description of the "Controller" interface is missing. It is necessary to add the following at line  1125 :
    interface Controller : CICM::Decrypt::Controller {};

Please find hereafter a copy of the corrected cicm.idl file

Best regards,
Fabrice

------=_Part_88194_498338439.1289395518058-- ------=_Part_88193_1604094011.1289395518058 Content-Type: text/x-idl; name=cicm.idl Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=cicm.idl LyoqCiAgQ29weXJpZ2h0IChjKSAyMDEwIElFVEYgVHJ1c3QgYW5kIHRoZSBwZXJzb25zIGlkZW50 aWZpZWQgYXMKICBhdXRob3JzIG9mIHRoZSBjb2RlLiBBbGwgcmlnaHRzIHJlc2VydmVkLgoKICBS ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y IHdpdGhvdXQgbW9kaWZpY2F0aW9uLAogIGlzIHBlcm1pdHRlZCBwdXJzdWFudCB0bywgYW5kIHN1 YmplY3QgdG8gdGhlIGxpY2Vuc2UgdGVybXMgY29udGFpbmVkIGluLAogIHRoZSBTaW1wbGlmaWVk IEJTRCBMaWNlbnNlIHNldCBmb3J0aCBpbiBTZWN0aW9uIDQuYyBvZiB0aGUgSUVURiBUcnVzdCdz CiAgTGVnYWwgUHJvdmlzaW9ucyBSZWxhdGluZyB0byBJRVRGIERvY3VtZW50cyAoaHR0cDovL3Ry dXN0ZWUuaWV0Zi5vcmcvbGljZW5zZS1pbmZvKS4KICovCm1vZHVsZSBDSUNNIHsKICB0eXBlZGVm IHVuc2lnbmVkIGxvbmcgVUludDMyOwogIHR5cGVkZWYgYm9vbGVhbiBCb29sOwogIHR5cGVkZWYg c3RyaW5nIENoYXJTdHJpbmc7CiAgdHlwZWRlZiBzZXF1ZW5jZTxvY3RldD4gQnVmZmVyOwoKICB0 eXBlZGVmIENJQ006OlVJbnQzMiBTdGF0dXM7CgogIHR5cGVkZWYgQ0lDTTo6VUludDMyIExvY2Fs UG9ydDsKICB0eXBlZGVmIENJQ006OlVJbnQzMiBSZW1vdGVQb3J0OwoKICB0eXBlZGVmIENJQ006 OkJ1ZmZlciBNQUNCdWZmZXI7CiAgdHlwZWRlZiBDSUNNOjpCdWZmZXIgU2lnQnVmZmVyOwogIHR5 cGVkZWYgQ0lDTTo6QnVmZmVyIEhhc2hCdWZmZXI7CiAgdHlwZWRlZiBDSUNNOjpCdWZmZXIgVmVj dG9yOwoKICB0eXBlZGVmIENJQ006OkNoYXJTdHJpbmcgTW9kdWxlSWQ7CiAgdHlwZWRlZiBDSUNN OjpDaGFyU3RyaW5nIEtleUlkOwogIHR5cGVkZWYgQ0lDTTo6VUludDMyIFRyYW5zSWQ7CgogIHR5 cGVkZWYgQ0lDTTo6Q2hhclN0cmluZyBNb2R1bGVSZWNvcmQ7CiAgdHlwZWRlZiBDSUNNOjpDaGFy U3RyaW5nIFRva2VuUmVjb3JkOwoKICB0eXBlZGVmIENJQ006OkNoYXJTdHJpbmcgUGFja2FnZUlk OwogIHR5cGVkZWYgQ0lDTTo6Q2hhclN0cmluZyBBc3ltRW5jckFsZ29yaXRobUlkOwogIHR5cGVk ZWYgQ0lDTTo6Q2hhclN0cmluZyBBc3ltU2lnQWxnb3JpdGhtSWQ7CiAgdHlwZWRlZiBDSUNNOjpD aGFyU3RyaW5nIFN5bUVuY3JBbGdvcml0aG1JZDsKICB0eXBlZGVmIENJQ006OkNoYXJTdHJpbmcg U3ltTWFjQWxnb3JpdGhtSWQ7CiAgdHlwZWRlZiBDSUNNOjpDaGFyU3RyaW5nIEhhc2hBbGdvcml0 aG1JZDsKICB0eXBlZGVmIENJQ006OkNoYXJTdHJpbmcgS2V5V3JhcEFsZ29yaXRobUlkOwogIHR5 cGVkZWYgQ0lDTTo6Q2hhclN0cmluZyBQcm90b2NvbElkOwogIHR5cGVkZWYgQ0lDTTo6Q2hhclN0 cmluZyBVc2VySWQ7CiAgdHlwZWRlZiBDSUNNOjpDaGFyU3RyaW5nIFJvbGVJZDsKCiAgY29uc3Qg Q0lDTTo6TG9jYWxQb3J0IEZJTExfSU5URVJGQUNFX1BPUlQgPSAweEZGRkZGRkVFOwogIGNvbnN0 IENJQ006OkxvY2FsUG9ydCBJTVBMSUNJVF9MT0NBTF9QT1JUID0gMHhGRkZGRkZCQjsKICBjb25z dCBDSUNNOjpSZW1vdGVQb3J0IElNUExJQ0lUX1JFTU9URV9QT1JUID0gMHhGRkZGRkY5OTsKICBj b25zdCBDSUNNOjpBc3ltRW5jckFsZ29yaXRobUlkIElNUExJQ0lUX0FTWU1fRU5DUl9BTEdPID0g IklNUExJQ0lUIjsKICBjb25zdCBDSUNNOjpBc3ltU2lnQWxnb3JpdGhtSWQgSU1QTElDSVRfQVNZ TV9TSUdfQUxHTyA9ICJJTVBMSUNJVCI7CiAgY29uc3QgQ0lDTTo6U3ltRW5jckFsZ29yaXRobUlk IElNUExJQ0lUX1NZTV9FTkNSX0FMR08gPSAiSU1QTElDSVQiOwogIGNvbnN0IENJQ006OktleVdy YXBBbGdvcml0aG1JZCBJTVBMSUNJVF9LRVlfV1JBUF9BTEdPID0gIklNUExJQ0lUIjsKICBjb25z dCBDSUNNOjpTeW1NYWNBbGdvcml0aG1JZCBJTVBMSUNJVF9TWU1fTUFDX0FMR08gPSAiSU1QTElD SVQiOwogIGNvbnN0IENJQ006OlByb3RvY29sSWQgSU1QTElDSVRfUFJPVE9DT0xfSUQgPSAiSU1Q TElDSVQiOwoKICB0eXBlZGVmIENJQ006OlVJbnQzMiBDbGFzc2lmaWNhdGlvbjsKICBjb25zdCBD SUNNOjpDbGFzc2lmaWNhdGlvbiBDX0xFVkVMX0NPTkZJREVOVElBTCA9IDB4MDAwMDYwMjk7CiAg Y29uc3QgQ0lDTTo6Q2xhc3NpZmljYXRpb24gQ19MRVZFTF9TRUNSRVQgPSAweDAwMDA2MDJBOwog IGNvbnN0IENJQ006OkNsYXNzaWZpY2F0aW9uIENfTEVWRUxfVE9QX1NFQ1JFVCA9IDB4MDAwMDYw MkM7CiAgY29uc3QgQ0lDTTo6Q2xhc3NpZmljYXRpb24gQ19MRVZFTF9VTkNMQVNTSUZJRUQgPSAw eDAwMDA2MDJGOwoKICBjb25zdCBDSUNNOjpTdGF0dXMgU19PSyA9IDB4MDAwMDAwMDA7CiAgY29u c3QgQ0lDTTo6U3RhdHVzIFNfR0VORVJBTF9FUlJPUiA9IDB4MDAwMDAwMDM7CiAgY29uc3QgQ0lD TTo6U3RhdHVzIFNfTk9OX0ZVTkNUSU9OQUwgPSAweDAwMDAwMDA1OwogIGNvbnN0IENJQ006OlN0 YXR1cyBTX09QRVJBVElPTl9GQUlMRUQgPSAweDAwMDAwMDA2OwogIGNvbnN0IENJQ006OlN0YXR1 cyBTX1BPTElDWV9WSU9MQVRJT04gPSAweDAwMDAwMDA5OwogIGNvbnN0IENJQ006OlN0YXR1cyBT X01PRFVMRV9SRVNPVVJDRVMgPSAweDAwMDAwMDBBOwogIGNvbnN0IENJQ006OlN0YXR1cyBTX0hP U1RfUkVTT1VSQ0VTID0gMHgwMDAwMDAwQzsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19JTlZBTElE X1NUQVRFID0gMHgwMDAwMDAwRjsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19BTEFSTV9TVEFURSA9 IDB4MDAwMDAwMTE7CiAgY29uc3QgQ0lDTTo6U3RhdHVzIFNfTU9EVUxFX05PVF9BVkFJTEFCTEUg PSAweDAwMDAwMDEyOwogIGNvbnN0IENJQ006OlN0YXR1cyBTX1RJTUVPVVQgPSAweDAwMDAwMDE0 OwogIGNvbnN0IENJQ006OlN0YXR1cyBTX05PVF9BVVRIRU5USUNBVEVEID0gMHgwMDAwMDAxNzsK ICBjb25zdCBDSUNNOjpTdGF0dXMgU19OT1RfQVVUSE9SSVpFRCA9IDB4MDAwMDAwMTg7CiAgY29u c3QgQ0lDTTo6U3RhdHVzIFNfTU9EVUxFX0RPRVNfTk9UX0VYSVNUID0gMHgwMDAwMDAxQjsKICBj b25zdCBDSUNNOjpTdGF0dXMgU19NT0RVTEVfSU5fVVNFID0gMHgwMDAwMDAxRDsKICBjb25zdCBD SUNNOjpTdGF0dXMgU19OT1RfQVZBSUxBQkxFID0gMHgwMDAwMDAxRTsKICBjb25zdCBDSUNNOjpT dGF0dXMgU19JTlZBTElEX1ZFQ1RPUiA9IDB4MDAwMDAwMjE7CiAgY29uc3QgQ0lDTTo6U3RhdHVz IFNfSU5WQUxJRF9EQVRBX0JVRkZFUiA9IDB4MDAwMDAwMjI7CiAgY29uc3QgQ0lDTTo6U3RhdHVz IFNfS0VZX1VTRURfSU5WQUxJRCA9IDB4MDAwMDAwMjQ7CiAgY29uc3QgQ0lDTTo6U3RhdHVzIFNf S0VZX1VTRURfRVhQSVJFRCA9IDB4MDAwMDAwMjc7CiAgY29uc3QgQ0lDTTo6U3RhdHVzIFNfS0VZ X1VTRURfQ0xBU1NJRklDQVRJT04gPSAweDAwMDAwMDI4OwogIGNvbnN0IENJQ006OlN0YXR1cyBT X0tFWV9VU0VEX1dSQVBQRUQgPSAweDAwMDAwMDJCOwogIGNvbnN0IENJQ006OlN0YXR1cyBTX0tF WV9VU0VEX0NPTlRFWFQgPSAweDAwMDAwMDJEOwogIGNvbnN0IENJQ006OlN0YXR1cyBTX0tFWV9V U0VEX0NPTVBPTkVOVF9OT1RfQVZBSUwgPSAweDAwMDAwMDJFOwogIGNvbnN0IENJQ006OlN0YXR1 cyBTX0tFWV9JTlZBTElEID0gMHgwMDAwMDAzMDsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19LRVlf RVhQSVJFRCA9IDB4MDAwMDAwMzM7CiAgY29uc3QgQ0lDTTo6U3RhdHVzIFNfS0VZX0lOQ09NUEFU SUJMRSA9IDB4MDAwMDAwMzU7CiAgY29uc3QgQ0lDTTo6U3RhdHVzIFNfS0VZX0NMQVNTSUZJQ0FU SU9OID0gMHgwMDAwMDAzNjsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19LRVlfV1JBUFBFRCA9IDB4 MDAwMDAwMzk7CiAgY29uc3QgQ0lDTTo6U3RhdHVzIFNfS0VZX05PVF9XUkFQUEVEID0gMHgwMDAw MDAzQTsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19LRVlfTk9UX1dSQVBQQUJMRSA9IDB4MDAwMDAw M0M7CiAgY29uc3QgQ0lDTTo6U3RhdHVzIFNfS0VZX05PVF9FWFBPUlRBQkxFID0gMHgwMDAwMDAz RjsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19LRVlfV1JBUFBFRF9FWElTVFMgPSAweDAwMDAwMDQx OwogIGNvbnN0IENJQ006OlN0YXR1cyBTX0tFWV9VTldSQVBQRURfRVhJU1RTID0gMHgwMDAwMDA0 MjsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19LRVlfVVBEQVRFX01BWCA9IDB4MDAwMDAwNDQ7CiAg Y29uc3QgQ0lDTTo6U3RhdHVzIFNfS0VZX0lOVkFMSURfSUQgPSAweDAwMDAwMDQ3OwogIGNvbnN0 IENJQ006OlN0YXR1cyBTX0tFWV9QSFlTSUNBTF9MT0MgPSAweDAwMDAwMDQ4OwogIGNvbnN0IENJ Q006OlN0YXR1cyBTX0tFWV9JTExFR0FMX0NPTlZFUlNJT04gPSAweDAwMDAwMDRCOwogIGNvbnN0 IENJQ006OlN0YXR1cyBTX0tFWV9NQUxGT1JNRUQgPSAweDAwMDAwMDREOwogIGNvbnN0IENJQ006 OlN0YXR1cyBTX0tFWV9NRVRBREFUQV9NQUxGT1JNRUQgPSAweDAwMDAwMDRFOwogIGNvbnN0IENJ Q006OlN0YXR1cyBTX0tFWV9OT19ORVhUID0gMHgwMDAwMDA1MDsKICBjb25zdCBDSUNNOjpTdGF0 dXMgU19LRVlfV1JPTkdfVFlQRSA9IDB4MDAwMDAwNTM7CiAgY29uc3QgQ0lDTTo6U3RhdHVzIFNf S0VZX0ZJTExfREVWSUNFX05PVF9DT05ORUNURUQgPSAweDAwMDAwMDU1OwogIGNvbnN0IENJQ006 OlN0YXR1cyBTX0tFWV9GSUxMX05PVF9JTklUSUFURUQgPSAweDAwMDAwMDU2OwogIGNvbnN0IENJ Q006OlN0YXR1cyBTX0tFWV9UUlVTVF9BTkNIT1IgPSAweDAwMDAwMDU5OwogIGNvbnN0IENJQ006 OlN0YXR1cyBTX0xPQ0FMX1BPUlRfSU5WQUxJRCA9IDB4MDAwMDAwNUE7CiAgY29uc3QgQ0lDTTo6 U3RhdHVzIFNfTE9DQUxfUE9SVF9JTkNPTVBBVElCTEUgPSAweDAwMDAwMDVDOwogIGNvbnN0IENJ Q006OlN0YXR1cyBTX0xPQ0FMX1BPUlRfSU5fVVNFID0gMHgwMDAwMDA1RjsKICBjb25zdCBDSUNN OjpTdGF0dXMgU19SRU1PVEVfUE9SVF9JTlZBTElEID0gMHgwMDAwMDA2MDsKICBjb25zdCBDSUNN OjpTdGF0dXMgU19SRU1PVEVfUE9SVF9JTl9VU0UgPSAweDAwMDAwMDYzOwogIGNvbnN0IENJQ006 OlN0YXR1cyBTX0FMR09fSU5WQUxJRCA9IDB4MDAwMDAwNjU7CiAgY29uc3QgQ0lDTTo6U3RhdHVz IFNfQUxHT19JTkNPTVBBVElCTEUgPSAweDAwMDAwMDY2OwogIGNvbnN0IENJQ006OlN0YXR1cyBT X1RPS0VOX05PVF9QUkVTRU5UID0gMHgwMDAwMDA2OTsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19U T0tFTl9BRE1JTl9OT1RfUFJFU0VOVCA9IDB4MDAwMDAwNkE7CiAgY29uc3QgQ0lDTTo6U3RhdHVz IFNfVE9LRU5fQUNDRVNTID0gMHgwMDAwMDA2QzsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19UT0tF Tl9SRVNPVVJDRVMgPSAweDAwMDAwMDZGOwogIGNvbnN0IENJQ006OlN0YXR1cyBTX1RPS0VOX0FT U09DX0VYSVNUUyA9IDB4MDAwMDAwNzE7CiAgY29uc3QgQ0lDTTo6U3RhdHVzIFNfVE9LRU5fQVNT T0NfQVRfTU9EVUxFID0gMHgwMDAwMDA3MjsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19UT0tFTl9B U1NPQ19BVF9UT0tFTiA9IDB4MDAwMDAwNzQ7CiAgY29uc3QgQ0lDTTo6U3RhdHVzIFNfVE9LRU5f QVNTT0NfTk9UX0VYSVNUID0gMHgwMDAwMDA3NzsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19UT0tF Tl9BU1NPQ19HRU5FUkFMID0gMHgwMDAwMDA3ODsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19UT0tF Tl9ESVNBU1NPQ19HRU5FUkFMID0gMHgwMDAwMDA3QjsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19U T0tFTl9SRUNfTk9UX0ZPVU5EID0gMHgwMDAwMDA3RDsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19U T0tFTl9USU1FT1VUID0gMHgwMDAwMDA3RTsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19UT0tFTl9M QVNUX0FTU09DSUFURUQgPSAweDAwMDAwMDgxOwogIGNvbnN0IENJQ006OlN0YXR1cyBTX1BBQ0tB R0VfTk9UX0FDVElWQVRBQkxFID0gMHgwMDAwMDA4MjsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19Q QUNLQUdFX0FDVElWQVRFRCA9IDB4MDAwMDAwODQ7CiAgY29uc3QgQ0lDTTo6U3RhdHVzIFNfUEFD S0FHRV9OT1RfQUNUSVZFID0gMHgwMDAwMDA4NzsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19QQUNL QUdFX0lOVkFMSUQgPSAweDAwMDAwMDg4OwogIGNvbnN0IENJQ006OlN0YXR1cyBTX1BBQ0tBR0Vf VFlQRV9JTlZBTElEID0gMHgwMDAwMDA4QjsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19QQUNLQUdF X0tFWV9OT1RfQVZBSUxBQkxFID0gMHgwMDAwMDA4RDsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19Q QUNLQUdFX0tFWV9OT1RfU1BFQ0lGSUVEID0gMHgwMDAwMDA4RTsKICBjb25zdCBDSUNNOjpTdGF0 dXMgU19MT0dfRU5UUllfSU5WQUxJRCA9IDB4MDAwMDAwOTA7CiAgY29uc3QgQ0lDTTo6U3RhdHVz IFNfRVZFTlRfUkVHSVNURVJFRCA9IDB4MDAwMDAwOTM7CiAgY29uc3QgQ0lDTTo6U3RhdHVzIFNf RVZFTlRfTk9UX1JFR0lTVEVSRUQgPSAweDAwMDAwMDk1OwogIGNvbnN0IENJQ006OlN0YXR1cyBT X0VWRU5UX05PVF9TVVBQT1JURUQgPSAweDAwMDAwMDk2OwogIGNvbnN0IENJQ006OlN0YXR1cyBT X1RSVVNURURfRElTUExBWSA9IDB4MDAwMDAwOTk7CiAgY29uc3QgQ0lDTTo6U3RhdHVzIFNfTkVH T1RJQVRJT05fQUJPUlRFRCA9IDB4MDAwMDAwOUE7CiAgY29uc3QgQ0lDTTo6U3RhdHVzIFNfTkVH T1RJQVRJT05fRkFJTFVSRSA9IDB4MDAwMDAwOUM7CiAgY29uc3QgQ0lDTTo6U3RhdHVzIFNfTkVH T1RJQVRJT05fSU5fUFJPR1JFU1MgPSAweDAwMDAwMDlGOwogIGNvbnN0IENJQ006OlN0YXR1cyBT X05FR09USUFUSU9OX05PVF9JTl9QUk9HUkVTUyA9IDB4MDAwMDAwQTA7CiAgY29uc3QgQ0lDTTo6 U3RhdHVzIFNfTkVHT1RJQVRJT05fVElNRU9VVCA9IDB4MDAwMDAwQTM7CiAgY29uc3QgQ0lDTTo6 U3RhdHVzIFNfQ0VSVF9MT0NBTF9JTlZBTElEID0gMHgwMDAwMDBBNTsKICBjb25zdCBDSUNNOjpT dGF0dXMgU19DRVJUX0xPQ0FMX0VYUElSRUQgPSAweDAwMDAwMEE2OwogIGNvbnN0IENJQ006OlN0 YXR1cyBTX0NFUlRfUkVNT1RFX0lOVkFMSUQgPSAweDAwMDAwMEE5OwogIGNvbnN0IENJQ006OlN0 YXR1cyBTX0NFUlRfUkVNT1RFX0VYUElSRUQgPSAweDAwMDAwMEFBOwogIGNvbnN0IENJQ006OlN0 YXR1cyBTX0NFUlRfUkVNT1RFX1BBVEggPSAweDAwMDAwMEFDOwogIGNvbnN0IENJQ006OlN0YXR1 cyBTX1BST1RPX0lOVkFMSUQgPSAweDAwMDAwMEFGOwogIGNvbnN0IENJQ006OlN0YXR1cyBTX1BS T1RPX0lOQ09NUEFUSUJMRSA9IDB4MDAwMDAwQjE7CiAgY29uc3QgQ0lDTTo6U3RhdHVzIFNfUFJP VE9fVU5ERVRFUk1JTkVEID0gMHgwMDAwMDBCMjsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19DSEFO TkVMX0VSUk9SID0gMHgwMDAwMDBCNDsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19DSEFOTkVMX1BF RVJfUkVTRVQgPSAweDAwMDAwMEI3OwogIGNvbnN0IENJQ006OlN0YXR1cyBTX0NIQU5ORUxfTUFY ID0gMHgwMDAwMDBCODsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19DSEFOTkVMX05PVF9GT1VORCA9 IDB4MDAwMDAwQkI7CiAgY29uc3QgQ0lDTTo6U3RhdHVzIFNfQ0hBTk5FTF9JT19FUlJPUiA9IDB4 MDAwMDAwQkQ7CiAgY29uc3QgQ0lDTTo6U3RhdHVzIFNfQ0hBTk5FTF9EQVRBX0lOVkFMSUQgPSAw eDAwMDAwMEJFOwogIGNvbnN0IENJQ006OlN0YXR1cyBTX0NIQU5ORUxfREFUQV9JTlZBTElEX0xF TiA9IDB4MDAwMDAwQzA7CiAgY29uc3QgQ0lDTTo6U3RhdHVzIFNfQ0hBTk5FTF9CVUZGRVJfTEVO ID0gMHgwMDAwMDBDMzsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19DSEFOTkVMX0lOX0dST1VQID0g MHgwMDAwMDBDNTsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19DSEFOTkVMX0NMQVNTSUZJQ0FUSU9O ID0gMHgwMDAwMDBDNjsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19CWVBBU1NfREFUQVJBVEVfRVhD RUVERUQgPSAweDAwMDAwMEM5OwogIGNvbnN0IENJQ006OlN0YXR1cyBTX0JZUEFTU19EQVRBTElN SVRfRVhDRUVERUQgPSAweDAwMDAwMENBOwogIGNvbnN0IENJQ006OlN0YXR1cyBTX0lOVEVHUklU WSA9IDB4MDAwMDAwQ0M7CiAgY29uc3QgQ0lDTTo6U3RhdHVzIFNfQVVUSEVOVElDQVRJT05fRkFJ TEVEID0gMHgwMDAwMDBDRjsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19VU0VSX0FVVEhFTlRJQ0FU RUQgPSAweDAwMDAwMEQxOwogIGNvbnN0IENJQ006OlN0YXR1cyBTX1VTRVJOQU1FX0lOVkFMSUQg PSAweDAwMDAwMEQyOwogIGNvbnN0IENJQ006OlN0YXR1cyBTX1VTRVJfRVhJU1RTID0gMHgwMDAw MDBENDsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19VU0VSX0lOVkFMSUQgPSAweDAwMDAwMEQ3Owog IGNvbnN0IENJQ006OlN0YXR1cyBTX1JPTEVfSU5WQUxJRCA9IDB4MDAwMDAwRDg7CiAgY29uc3Qg Q0lDTTo6U3RhdHVzIFNfUk9MRV9BU1NPQ0lBVEVEID0gMHgwMDAwMDBEQjsKICBjb25zdCBDSUNN OjpTdGF0dXMgU19ST0xFX05PVF9BU1NPQ0lBVEVEID0gMHgwMDAwMDBERDsKICBjb25zdCBDSUNN OjpTdGF0dXMgU19ST0xFX01BWCA9IDB4MDAwMDAwREU7CiAgY29uc3QgQ0lDTTo6U3RhdHVzIFNf UEFTU1dPUkRfSU5WQUxJRCA9IDB4MDAwMDAwRTE7CiAgY29uc3QgQ0lDTTo6U3RhdHVzIFNfUEFT U1dPUkRfSU5WQUxJRF9DSEFSID0gMHgwMDAwMDBFMjsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19Q QVNTV09SRF9JTlZBTElEX0xFTiA9IDB4MDAwMDAwRTQ7CiAgY29uc3QgQ0lDTTo6U3RhdHVzIFNf U0FMVF9JTlZBTElEID0gMHgwMDAwMDBFNzsKICBjb25zdCBDSUNNOjpTdGF0dXMgU19JVEVSQVRJ T05fQ09VTlRfSU5WQUxJRCA9IDB4MDAwMDAwRTg7CiAgY29uc3QgQ0lDTTo6U3RhdHVzIFNfSU5T VUZGSUNJRU5UX0VOVFJPUFkgPSAweDAwMDAwMEVCOwoKICBpbnRlcmZhY2UgS2V5IHsKICAgIHR5 cGVkZWYgQ0lDTTo6VUludDMyIFN0YXRlOwogICAgY29uc3QgQ0lDTTo6S2V5OjpTdGF0ZSBDX0tF WV9JTlZBTElEID0gMHgwMDAwNjAxMDsKICAgIGNvbnN0IENJQ006OktleTo6U3RhdGUgQ19LRVlf VkFMSURfV1JBUFBFRCA9IDB4MDAwMDYwMTM7CiAgICBjb25zdCBDSUNNOjpLZXk6OlN0YXRlIENf S0VZX1ZBTElEX1VOV1JBUFBFRCA9IDB4MDAwMDYwMTU7CgogICAgdHlwZWRlZiBDSUNNOjpVSW50 MzIgVXNhZ2VTdGF0dXM7CiAgICBjb25zdCBDSUNNOjpLZXk6OlVzYWdlU3RhdHVzIENfS0VZX1VT QUdFX0FMTE9XRUQgPSAweDAwMDA2MDE2OwogICAgY29uc3QgQ0lDTTo6S2V5OjpVc2FnZVN0YXR1 cyBDX0tFWV9VU0FHRV9GT1JCSURERU4gPSAweDAwMDA2MDE5OwoKICAgIGF0dHJpYnV0ZSBDSUNN OjpDaGFyU3RyaW5nIGlkZW50aWZpZXI7CiAgICBhdHRyaWJ1dGUgQ0lDTTo6VUludDMyIGxvY2F0 aW9uOwogICAgYXR0cmlidXRlIENJQ006OkNoYXJTdHJpbmcgYWxpYXM7CiAgICBhdHRyaWJ1dGUg Q0lDTTo6Q2xhc3NpZmljYXRpb24gY2xhc3NpZmljYXRpb247CiAgICBhdHRyaWJ1dGUgQ0lDTTo6 Q2hhclN0cmluZyBjYXZlYXQ7CiAgICBhdHRyaWJ1dGUgQ0lDTTo6Q2hhclN0cmluZyBhdXRob3Jp dHk7CiAgICByZWFkb25seSBhdHRyaWJ1dGUgQ0lDTTo6S2V5OjpTdGF0ZSBzdGF0ZTsKCiAgICBD SUNNOjpTdGF0dXMgd3JhcCgKICAgICAgaW4gIENJQ006OktleSBrZWssCiAgICAgIGluICBDSUNN OjpLZXlXcmFwQWxnb3JpdGhtSWQgYWxnb3JpdGhtICk7CgogICAgQ0lDTTo6U3RhdHVzIHVud3Jh cCgKICAgICAgaW4gIENJQ006OktleSBrZWssCiAgICAgIGluICBDSUNNOjpLZXlXcmFwQWxnb3Jp dGhtSWQgYWxnb3JpdGhtICk7CgogICAgQ0lDTTo6U3RhdHVzIGV4cG9ydCgKICAgICAgb3V0IENJ Q006OkJ1ZmZlciBrZXlfbWF0ZXJpYWwgKTsKCiAgICBDSUNNOjpTdGF0dXMgZXhwb3J0X3ZpYV9m aWxsX2ludGVyZmFjZSgKICAgICAgaW4gIENJQ006OkxvY2FsUG9ydCBmaWxsX3BvcnQgKTsKCiAg ICBDSUNNOjpTdGF0dXMgemVyb2l6ZSgpOwogIH07CgogIGludGVyZmFjZSBTeW1LZXkgOiBDSUNN OjpLZXkgewogICAgdHlwZWRlZiBDSUNNOjpVSW50MzIgVXNhZ2U7CiAgICBjb25zdCBDSUNNOjpT eW1LZXk6OlVzYWdlCiAgICAgIENfVVNBR0VfR0VORVJBVEVfS0VZU1RSRUFNID0gMHgwMDAwNjAx QTsKCiAgICBjb25zdCBDSUNNOjpTeW1LZXk6OlVzYWdlCiAgICAgIENfVVNBR0VfS0VZX1BST0RV Q1RJT05fS0VZID0gMHgwMDAwNjAxQzsKCiAgICBjb25zdCBDSUNNOjpTeW1LZXk6OlVzYWdlCiAg ICAgIENfVVNBR0VfTUVTU0FHRV9BVVRIRU5USUNBVElPTl9DT0RFID0gMHgwMDAwNjAxRjsKCiAg ICBjb25zdCBDSUNNOjpTeW1LZXk6OlVzYWdlCiAgICAgIENfVVNBR0VfU1lNX0RBVEFfRU5DSVBI RVJNRU5UID0gMHgwMDAwNjAyMDsKCiAgICBjb25zdCBDSUNNOjpTeW1LZXk6OlVzYWdlCiAgICAg IENfVVNBR0VfU1lNX0tFWV9FTkNJUEhFUk1FTlQgPSAweDAwMDA2MDIzOwoKICAgIHJlYWRvbmx5 IGF0dHJpYnV0ZSBDSUNNOjpVSW50MzIgdXBkYXRlX2NvdW50OwoKICAgIENJQ006OlN0YXR1cyB1 cGRhdGUoKTsKCiAgICBDSUNNOjpTdGF0dXMgdXBkYXRlX3dpdGhfYWxnbygKICAgICAgaW4gIENJ Q006OlN5bUVuY3JBbGdvcml0aG1JZCBhbGdvcml0aG0gKTsKCiAgICBDSUNNOjpTdGF0dXMgd3Jh cF9hbmRfY29weSgKICAgICAgaW4gIENJQ006OktleSBrZWssCiAgICAgIGluICBDSUNNOjpLZXlX cmFwQWxnb3JpdGhtSWQgYWxnb3JpdGhtLAogICAgICBvdXQgQ0lDTTo6U3ltS2V5IHdyYXBwZWRf a2V5ICk7CgogICAgQ0lDTTo6U3RhdHVzIHVud3JhcF9hbmRfY29weSgKICAgICAgaW4gIENJQ006 OktleSBrZWssCiAgICAgIGluICBDSUNNOjpLZXlXcmFwQWxnb3JpdGhtSWQgYWxnb3JpdGhtLAog ICAgICBvdXQgQ0lDTTo6U3ltS2V5IHVud3JhcHBlZF9rZXkgKTsKCiAgICBDSUNNOjpTdGF0dXMg dmFsaWRhdGVfa2V5X3VzYWdlKAogICAgICBpbiAgQ0lDTTo6U3ltS2V5OjpVc2FnZSB1c2FnZV90 eXBlLAogICAgICBvdXQgQ0lDTTo6S2V5OjpVc2FnZVN0YXR1cyB2YWxpZCApOwogIH07CgogIGlu dGVyZmFjZSBBc3ltS2V5IDogQ0lDTTo6S2V5IHsKICAgIHR5cGVkZWYgQ0lDTTo6VUludDMyIFVz YWdlOwogICAgY29uc3QgQ0lDTTo6QXN5bUtleTo6VXNhZ2UKICAgICAgQ19VU0FHRV9BU1lNX0RB VEFfRU5DSVBIRVJNRU5UID0gMHgwMDAwNjAwMTsKCiAgICBjb25zdCBDSUNNOjpBc3ltS2V5OjpV c2FnZQogICAgICBDX1VTQUdFX0FTWU1fS0VZX0VOQ0lQSEVSTUVOVCA9IDB4MDAwMDYwMDI7Cgog ICAgY29uc3QgQ0lDTTo6QXN5bUtleTo6VXNhZ2UKICAgICAgQ19VU0FHRV9DRVJUX1NJR04gPSAw eDAwMDA2MDA0OwoKICAgIGNvbnN0IENJQ006OkFzeW1LZXk6OlVzYWdlCiAgICAgIENfVVNBR0Vf Q1JMX1NJR04gPSAweDAwMDA2MDA3OwoKICAgIGNvbnN0IENJQ006OkFzeW1LZXk6OlVzYWdlCiAg ICAgIENfVVNBR0VfRElHSVRBTF9TSUdOQVRVUkUgPSAweDAwMDA2MDA4OwoKICAgIGNvbnN0IENJ Q006OkFzeW1LZXk6OlVzYWdlCiAgICAgIENfVVNBR0VfSU5GUkFfS0VZX0FHUkVFTUVOVCA9IDB4 MDAwMDYwMEI7CgogICAgY29uc3QgQ0lDTTo6QXN5bUtleTo6VXNhZ2UKICAgICAgQ19VU0FHRV9Q MlBfS0VZX0FHUkVFTUVOVCA9IDB4MDAwMDYwMEQ7CgogICAgY29uc3QgQ0lDTTo6QXN5bUtleTo6 VXNhZ2UKICAgICAgQ19VU0FHRV9TRUVEID0gMHgwMDAwNjAwRTsKCiAgICBDSUNNOjpTdGF0dXMg d3JhcF9hbmRfY29weSgKICAgICAgaW4gIENJQ006OktleSBrZWssCiAgICAgIGluICBDSUNNOjpL ZXlXcmFwQWxnb3JpdGhtSWQgYWxnb3JpdGhtLAogICAgICBvdXQgQ0lDTTo6QXN5bUtleSB3cmFw cGVkX2tleSApOwoKICAgIENJQ006OlN0YXR1cyB1bndyYXBfYW5kX2NvcHkoCiAgICAgIGluICBD SUNNOjpLZXkga2VrLAogICAgICBpbiAgQ0lDTTo6S2V5V3JhcEFsZ29yaXRobUlkIGFsZ29yaXRo bSwKICAgICAgb3V0IENJQ006OkFzeW1LZXkgdW53cmFwcGVkX2tleSApOwoKICAgIENJQ006OlN0 YXR1cyB2YWxpZGF0ZV9rZXlfdXNhZ2UoCiAgICAgIGluICBDSUNNOjpBc3ltS2V5OjpVc2FnZSB1 c2FnZV90eXBlLAogICAgICBvdXQgQ0lDTTo6S2V5OjpVc2FnZVN0YXR1cyB2YWxpZCApOwogIH07 CgogIGludGVyZmFjZSBQYWNrYWdlIHsKICAgIHR5cGVkZWYgQ0lDTTo6VUludDMyIFBhY2thZ2VU eXBlOwogICAgY29uc3QgQ0lDTTo6UGFja2FnZTo6UGFja2FnZVR5cGUKICAgICAgQ19QQUNLQUdF X0FMR09SSVRITSA9IDB4MDAwMDYwNTQ7CgogICAgY29uc3QgQ0lDTTo6UGFja2FnZTo6UGFja2Fn ZVR5cGUKICAgICAgQ19QQUNLQUdFX0NPTkZJR19QQVJBTVMgPSAweDAwMDA2MDU3OwoKICAgIGNv bnN0IENJQ006OlBhY2thZ2U6OlBhY2thZ2VUeXBlCiAgICAgIENfUEFDS0FHRV9GUEdBX0lNQUdF ID0gMHgwMDAwNjA1ODsKCiAgICBjb25zdCBDSUNNOjpQYWNrYWdlOjpQYWNrYWdlVHlwZQogICAg ICBDX1BBQ0tBR0VfUE9MSUNZX0RCID0gMHgwMDAwNjA1QjsKCiAgICBjb25zdCBDSUNNOjpQYWNr YWdlOjpQYWNrYWdlVHlwZQogICAgICBDX1BBQ0tBR0VfU09GVFdBUkUgPSAweDAwMDA2MDVEOwoK ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDSUNNOjpQYWNrYWdlSWQgaWQ7CgogICAgQ0lDTTo6U3Rh dHVzIGFjdGl2YXRlKCk7CiAgICBDSUNNOjpTdGF0dXMgZGVhY3RpdmF0ZSgpOwogICAgQ0lDTTo6 U3RhdHVzIGRlbGV0ZSgpOwogIH07CgogIGludGVyZmFjZSBQYWNrYWdlSW1wb3J0ZXIgewogICAg Q0lDTTo6U3RhdHVzIGltcG9ydF9zZWdtZW50KAogICAgICBpbiAgQ0lDTTo6QnVmZmVyIHBhY2th Z2VfZGF0YSApOwoKICAgIENJQ006OlN0YXR1cyBjb21wbGV0ZSgKICAgICAgb3V0IENJQ006OlBh Y2thZ2UgcGFja2FnZV9yZWYgKTsKCiAgICBDSUNNOjpTdGF0dXMgYWJvcnQoKTsKICB9OwoKICBp bnRlcmZhY2UgTG9naW4gewogICAgQ0lDTTo6U3RhdHVzIGxvZ291dCgpOwogIH07CgogIGludGVy ZmFjZSBMb2dFbnRyeSB7CiAgICByZWFkb25seSBhdHRyaWJ1dGUgQ0lDTTo6VXNlcklkIHVzZXJf aWQ7CiAgICByZWFkb25seSBhdHRyaWJ1dGUgQ0lDTTo6Um9sZUlkIHJvbGVfaWQ7CiAgICByZWFk b25seSBhdHRyaWJ1dGUgQ0lDTTo6Q2hhclN0cmluZyBtZXNzYWdlOwogICAgcmVhZG9ubHkgYXR0 cmlidXRlIENJQ006OkNoYXJTdHJpbmcgZGF0ZV90aW1lOwoKICAgIENJQ006OlN0YXR1cyBkZWxl dGUoKTsKICB9OwoKICBpbnRlcmZhY2UgUGVlckluZm8gewogICAgcmVhZG9ubHkgYXR0cmlidXRl IENJQ006OkNoYXJTdHJpbmcgcGVlcl9uYW1lOwogICAgcmVhZG9ubHkgYXR0cmlidXRlIENJQ006 OkNsYXNzaWZpY2F0aW9uIGNsYXNzaWZpY2F0aW9uOwogICAgcmVhZG9ubHkgYXR0cmlidXRlIENJ Q006OkNoYXJTdHJpbmcgY29tcGFydG1lbnQ7CiAgICByZWFkb25seSBhdHRyaWJ1dGUgQ0lDTTo6 Q2hhclN0cmluZyBtZXNzYWdlOwogIH07CgogIGludGVyZmFjZSBOZWdvdGlhdG9yIHsKICAgIENJ Q006OlN0YXR1cyBnZXRfcmVtb3RlX2luZm8oCiAgICAgIG91dCBDSUNNOjpQZWVySW5mbyBwZWVy X2luZm8gKTsKCiAgICBDSUNNOjpTdGF0dXMgYWJvcnRfbmVnb3RpYXRpb24oKTsKICB9OwoKICBp bnRlcmZhY2UgTW9kdWxlRXZlbnRMaXN0ZW5lciB7CiAgICB0eXBlZGVmIENJQ006OlVJbnQzMiBN b2R1bGVFdmVudDsKICAgIGNvbnN0IENJQ006Ok1vZHVsZUV2ZW50TGlzdGVuZXI6Ok1vZHVsZUV2 ZW50CiAgICAgIENfTU9EVUxFX0FDQ0VTU19UT0tFTl9JTlNFUlRFRCA9IDB4MDAwMDIwMDE7Cgog ICAgY29uc3QgQ0lDTTo6TW9kdWxlRXZlbnRMaXN0ZW5lcjo6TW9kdWxlRXZlbnQKICAgICAgQ19N T0RVTEVfQUNDRVNTX1RPS0VOX1JFTU9WRUQgPSAweDAwMDAyMDAyOwoKICAgIGNvbnN0IENJQ006 Ok1vZHVsZUV2ZW50TGlzdGVuZXI6Ok1vZHVsZUV2ZW50CiAgICAgIENfTU9EVUxFX0FMQVJNID0g MHgwMDAwMjAwNDsKCiAgICBjb25zdCBDSUNNOjpNb2R1bGVFdmVudExpc3RlbmVyOjpNb2R1bGVF dmVudAogICAgICBDX01PRFVMRV9GQUlMVVJFID0gMHgwMDAwMjAwNzsKCiAgICBjb25zdCBDSUNN OjpNb2R1bGVFdmVudExpc3RlbmVyOjpNb2R1bGVFdmVudAogICAgICBDX01PRFVMRV9JTlNVRkZJ Q0lFTlRfRU5UUk9QWSA9IDB4MDAwMDIwMDg7CgogICAgY29uc3QgQ0lDTTo6TW9kdWxlRXZlbnRM aXN0ZW5lcjo6TW9kdWxlRXZlbnQKICAgICAgQ19NT0RVTEVfS0VZX0VYUElSRURfSEFSRCA9IDB4 MDAwMDIwMEI7CgogICAgY29uc3QgQ0lDTTo6TW9kdWxlRXZlbnRMaXN0ZW5lcjo6TW9kdWxlRXZl bnQKICAgICAgQ19NT0RVTEVfS0VZX0VYUElSRURfU09GVCA9IDB4MDAwMDIwMEQ7CgogICAgY29u c3QgQ0lDTTo6TW9kdWxlRXZlbnRMaXN0ZW5lcjo6TW9kdWxlRXZlbnQKICAgICAgQ19NT0RVTEVf S0VZX0ZJTExfQ09NUExFVEUgPSAweDAwMDAyMDBFOwoKICAgIGNvbnN0IENJQ006Ok1vZHVsZUV2 ZW50TGlzdGVuZXI6Ok1vZHVsZUV2ZW50CiAgICAgIENfTU9EVUxFX0tFWV9GSUxMX0NPTk5FQ1RF RCA9IDB4MDAwMDIwMTA7CgogICAgY29uc3QgQ0lDTTo6TW9kdWxlRXZlbnRMaXN0ZW5lcjo6TW9k dWxlRXZlbnQKICAgICAgQ19NT0RVTEVfS0VZX0ZJTExfSU5JVElBVEVEID0gMHgwMDAwMjAxMzsK CiAgICBjb25zdCBDSUNNOjpNb2R1bGVFdmVudExpc3RlbmVyOjpNb2R1bGVFdmVudAogICAgICBD X01PRFVMRV9LRVlfTUVNT1JZID0gMHgwMDAwMjAxNTsKCiAgICBjb25zdCBDSUNNOjpNb2R1bGVF dmVudExpc3RlbmVyOjpNb2R1bGVFdmVudAogICAgICBDX01PRFVMRV9LRVlfUFJPVE9fTUVTU0FH RSA9IDB4MDAwMDIwMTY7CgogICAgY29uc3QgQ0lDTTo6TW9kdWxlRXZlbnRMaXN0ZW5lcjo6TW9k dWxlRXZlbnQKICAgICAgQ19NT0RVTEVfTE9HX0ZVTEwgPSAweDAwMDAyMDE5OwoKICAgIGNvbnN0 IENJQ006Ok1vZHVsZUV2ZW50TGlzdGVuZXI6Ok1vZHVsZUV2ZW50CiAgICAgIENfTU9EVUxFX0xP R19ORUFSX0ZVTEwgPSAweDAwMDAyMDFBOwoKICAgIGNvbnN0IENJQ006Ok1vZHVsZUV2ZW50TGlz dGVuZXI6Ok1vZHVsZUV2ZW50CiAgICAgIENfTU9EVUxFX0xPR0lOX0ZBSUxVUkUgPSAweDAwMDAy MDFDOwoKICAgIGNvbnN0IENJQ006Ok1vZHVsZUV2ZW50TGlzdGVuZXI6Ok1vZHVsZUV2ZW50CiAg ICAgIENfTU9EVUxFX05PVF9SRUFEWV9GT1JfVFJBRkZJQyA9IDB4MDAwMDIwMUY7CgogICAgY29u c3QgQ0lDTTo6TW9kdWxlRXZlbnRMaXN0ZW5lcjo6TW9kdWxlRXZlbnQKICAgICAgQ19NT0RVTEVf UE9XRVJfTUdNVF9FTlRFUiA9IDB4MDAwMDIwMjA7CgogICAgY29uc3QgQ0lDTTo6TW9kdWxlRXZl bnRMaXN0ZW5lcjo6TW9kdWxlRXZlbnQKICAgICAgQ19NT0RVTEVfUE9XRVJfTUdNVF9FWElUID0g MHgwMDAwMjAyMzsKCiAgICBjb25zdCBDSUNNOjpNb2R1bGVFdmVudExpc3RlbmVyOjpNb2R1bGVF dmVudAogICAgICBDX01PRFVMRV9QT1dFUl9PRkYgPSAweDAwMDAyMDI1OwoKICAgIGNvbnN0IENJ Q006Ok1vZHVsZUV2ZW50TGlzdGVuZXI6Ok1vZHVsZUV2ZW50CiAgICAgIENfTU9EVUxFX1BPV0VS X09GRl9GQUlMVVJFID0gMHgwMDAwMjAyNjsKCiAgICBjb25zdCBDSUNNOjpNb2R1bGVFdmVudExp c3RlbmVyOjpNb2R1bGVFdmVudAogICAgICBDX01PRFVMRV9QT1dFUl9PTiA9IDB4MDAwMDIwMjk7 CgogICAgY29uc3QgQ0lDTTo6TW9kdWxlRXZlbnRMaXN0ZW5lcjo6TW9kdWxlRXZlbnQKICAgICAg Q19NT0RVTEVfUkVBRFlfRk9SX1RSQUZGSUMgPSAweDAwMDAyMDJBOwoKICAgIGNvbnN0IENJQ006 Ok1vZHVsZUV2ZW50TGlzdGVuZXI6Ok1vZHVsZUV2ZW50CiAgICAgIENfTU9EVUxFX1JFS0VZX1JF UVVFU1QgPSAweDAwMDAyMDJDOwoKICAgIGNvbnN0IENJQ006Ok1vZHVsZUV2ZW50TGlzdGVuZXI6 Ok1vZHVsZUV2ZW50CiAgICAgIENfTU9EVUxFX1RFU1RfRkFJTFVSRSA9IDB4MDAwMDIwMkY7Cgog ICAgY29uc3QgQ0lDTTo6TW9kdWxlRXZlbnRMaXN0ZW5lcjo6TW9kdWxlRXZlbnQKICAgICAgQ19N T0RVTEVfWkVST0laRUQgPSAweDAwMDAyMDMxOwoKICAgIHZvaWQgZXZlbnRfb2NjdXJyZWQoCiAg ICAgIGluICBDSUNNOjpNb2R1bGVFdmVudExpc3RlbmVyOjpNb2R1bGVFdmVudCBldmVudCwKICAg ICAgaW4gIENJQ006OkJ1ZmZlciBldmVudF9kYXRhICk7CiAgfTsKCiAgaW50ZXJmYWNlIE1vZHVs ZUV2ZW50TWFuYWdlciB7CiAgICBDSUNNOjpTdGF0dXMgcmVnaXN0ZXIoCiAgICAgIGluICBDSUNN OjpNb2R1bGVFdmVudExpc3RlbmVyOjpNb2R1bGVFdmVudCBldmVudCwKICAgICAgaW4gIENJQ006 Ok1vZHVsZUV2ZW50TGlzdGVuZXIgbGlzdGVuZXIgKTsKCiAgICBDSUNNOjpTdGF0dXMgdW5yZWdp c3RlcigKICAgICAgaW4gIENJQ006Ok1vZHVsZUV2ZW50TGlzdGVuZXI6Ok1vZHVsZUV2ZW50IGV2 ZW50ICk7CiAgfTsKCiAgaW50ZXJmYWNlIENoYW5uZWxFdmVudExpc3RlbmVyIHsKICAgIHR5cGVk ZWYgQ0lDTTo6VUludDMyIENoYW5uZWxFdmVudDsKICAgIGNvbnN0IENJQ006OkNoYW5uZWxFdmVu dExpc3RlbmVyOjpDaGFubmVsRXZlbnQKICAgICAgQ19DSEFOTkVMX0RBVEFfQVZBSUxBQkxFID0g MHgwMDAwNDAwMTsKCiAgICBjb25zdCBDSUNNOjpDaGFubmVsRXZlbnRMaXN0ZW5lcjo6Q2hhbm5l bEV2ZW50CiAgICAgIENfQ0hBTk5FTF9FUlJPUiA9IDB4MDAwMDQwMDI7CgogICAgY29uc3QgQ0lD TTo6Q2hhbm5lbEV2ZW50TGlzdGVuZXI6OkNoYW5uZWxFdmVudAogICAgICBDX0NIQU5ORUxfSU5T VUZGSUNJRU5UX0VOVFJPUFkgPSAweDAwMDA0MDA0OwoKICAgIGNvbnN0IENJQ006OkNoYW5uZWxF dmVudExpc3RlbmVyOjpDaGFubmVsRXZlbnQKICAgICAgQ19DSEFOTkVMX0xPU1RfU1lOQyA9IDB4 MDAwMDQwMDc7CgogICAgY29uc3QgQ0lDTTo6Q2hhbm5lbEV2ZW50TGlzdGVuZXI6OkNoYW5uZWxF dmVudAogICAgICBDX0NIQU5ORUxfUEVFUl9SRVNFVCA9IDB4MDAwMDQwMDg7CgogICAgdm9pZCBl dmVudF9vY2N1cnJlZCgKICAgICAgaW4gIENJQ006OkNoYW5uZWxFdmVudExpc3RlbmVyOjpDaGFu bmVsRXZlbnQgZXZlbnQsCiAgICAgIGluICBDSUNNOjpCdWZmZXIgZXZlbnRfZGF0YSApOwogIH07 CgogIGludGVyZmFjZSBDaGFubmVsRXZlbnRNYW5hZ2VyIHsKICAgIENJQ006OlN0YXR1cyByZWdp c3RlcigKICAgICAgaW4gIENJQ006OkNoYW5uZWxFdmVudExpc3RlbmVyOjpDaGFubmVsRXZlbnQg ZXZlbnQsCiAgICAgIGluICBDSUNNOjpDaGFubmVsRXZlbnRMaXN0ZW5lciBsaXN0ZW5lciApOwoK ICAgIENJQ006OlN0YXR1cyB1bnJlZ2lzdGVyKAogICAgICBpbiAgQ0lDTTo6Q2hhbm5lbEV2ZW50 TGlzdGVuZXI6OkNoYW5uZWxFdmVudCBldmVudCApOwogIH07CgogIGludGVyZmFjZSBDaGFubmVs IHsKICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDSUNNOjpDaGFubmVsRXZlbnRNYW5hZ2VyIGV2ZW50 X21hbmFnZXI7CiAgfTsKCiAgaW50ZXJmYWNlIFN0cmVhbSA6IENJQ006OkNoYW5uZWwge307Cgog IGludGVyZmFjZSBXcml0ZVN0cmVhbSA6IENJQ006OlN0cmVhbSB7CiAgICB0eXBlZGVmIENJQ006 OlVJbnQzMiBXcml0ZVN0YXR1czsKICAgIGNvbnN0IENJQ006OldyaXRlU3RyZWFtOjpXcml0ZVN0 YXR1cyBDX1dSSVRFX05PVF9SRUFEWSA9IDB4MDAwMDYwNjc7CiAgICBjb25zdCBDSUNNOjpXcml0 ZVN0cmVhbTo6V3JpdGVTdGF0dXMgQ19XUklURV9SRUFEWSA9IDB4MDAwMDYwNjg7CiAgfTsKCiAg aW50ZXJmYWNlIFJlYWRTdHJlYW0gOiBDSUNNOjpTdHJlYW0gewogICAgdHlwZWRlZiBDSUNNOjpV SW50MzIgUmVhZFN0YXR1czsKICAgIGNvbnN0IENJQ006OlJlYWRTdHJlYW06OlJlYWRTdGF0dXMg Q19SRUFEX05PVF9SRUFEWSA9IDB4MDAwMDYwNUU7CiAgICBjb25zdCBDSUNNOjpSZWFkU3RyZWFt OjpSZWFkU3RhdHVzIENfUkVBRF9SRUFEWSA9IDB4MDAwMDYwNjE7CiAgfTsKCiAgaW50ZXJmYWNl IENvbnRyb2xsZXIgOiBDSUNNOjpDaGFubmVsIHsKICAgIENJQ006OlN0YXR1cyBkZXN0cm95KCk7 CiAgfTsKCiAgaW50ZXJmYWNlIE11bHRpRG9tYWluQ29udHJvbGxlciA6IENJQ006OkNvbnRyb2xs ZXIgewogICAgcmVhZG9ubHkgYXR0cmlidXRlIENJQ006OkxvY2FsUG9ydCBsb2NhbF9wb3J0Owog ICAgcmVhZG9ubHkgYXR0cmlidXRlIENJQ006OlJlbW90ZVBvcnQgcmVtb3RlX3BvcnQ7CiAgfTsK CiAgaW50ZXJmYWNlIFN5bUtleUNvbnRyb2xsZXIgOiBDSUNNOjpDb250cm9sbGVyIHsKICAgIHJl YWRvbmx5IGF0dHJpYnV0ZSBDSUNNOjpTeW1LZXkga2V5OwoKICAgIENJQ006OlN0YXR1cyB1cGRh dGVfa2V5KCk7CgogICAgQ0lDTTo6U3RhdHVzIHVwZGF0ZV9rZXlfd2l0aF9hbGdvKAogICAgICBp biAgQ0lDTTo6U3ltRW5jckFsZ29yaXRobUlkIGFsZ29yaXRobSApOwoKICAgIENJQ006OlN0YXR1 cyByb2xsb3Zlcl9rZXkoKTsKCiAgICBDSUNNOjpTdGF0dXMgcm9sbG92ZXJfa2V5X3dpdGhfa2V5 KAogICAgICBpbiAgQ0lDTTo6U3ltS2V5IG5leHRfa2V5ICk7CiAgfTsKCiAgaW50ZXJmYWNlIEFz eW1LZXlDb250cm9sbGVyIDogQ0lDTTo6Q29udHJvbGxlciB7CiAgICByZWFkb25seSBhdHRyaWJ1 dGUgQ0lDTTo6QXN5bUtleSBrZXk7CiAgfTsKCiAgaW50ZXJmYWNlIE5lZ290aWF0ZWRDb250cm9s bGVyIDoKICAgIENJQ006Ok11bHRpRG9tYWluQ29udHJvbGxlciwKICAgIENJQ006OkFzeW1LZXlD b250cm9sbGVyLAogICAgQ0lDTTo6TmVnb3RpYXRvciB7CgogICAgcmVhZG9ubHkgYXR0cmlidXRl IENJQ006OkNsYXNzaWZpY2F0aW9uIG5lZ290aWF0ZWRfZ3JhZGU7CgogICAgQ0lDTTo6U3RhdHVz IHJlbmVnb3RpYXRlKCk7CgogICAgQ0lDTTo6U3RhdHVzIGluaXRpYXRlX2dyYWRlX2NoYW5nZSgK ICAgICAgaW4gIENJQ006OkNsYXNzaWZpY2F0aW9uIG5ld19ncmFkZSApOwoKICAgIENJQ006OlN0 YXR1cyBhY2tub3dsZWRnZV9ncmFkZV9jaGFuZ2UoKTsKICB9OwoKICBpbnRlcmZhY2UgU2V0VmVj dG9yQ29udHJvbGxlciA6IENJQ006OkNvbnRyb2xsZXIgewogICAgcmVhZG9ubHkgYXR0cmlidXRl IENJQ006OlZlY3RvciB2ZWM7CgogICAgQ0lDTTo6U3RhdHVzIHNldF92ZWN0b3IoCiAgICAgIGlu ICBDSUNNOjpWZWN0b3IgdmVjICk7CgogICAgQ0lDTTo6U3RhdHVzIHNldF92ZWN0b3Jfbm9fY2hl Y2soCiAgICAgIGluICBDSUNNOjpWZWN0b3IgdmVjICk7CgogICAgQ0lDTTo6U3RhdHVzIHJlc2V0 X3ZlY3RvcigpOwogIH07CgogIGludGVyZmFjZSBHZW5WZWN0b3JDb250cm9sbGVyIDogQ0lDTTo6 U2V0VmVjdG9yQ29udHJvbGxlciB7CiAgICBDSUNNOjpTdGF0dXMgZ2VuZXJhdGVfdmVjdG9yKCk7 CiAgICBDSUNNOjpTdGF0dXMgZ2VuZXJhdGVfdmVjdG9yX2V4aXN0aW5nX3N0YXRlKCk7CiAgfTsK CiAgaW50ZXJmYWNlIFJlc3luY0NvbnRyb2xsZXIgOiBDSUNNOjpDb250cm9sbGVyIHsKICAgIENJ Q006OlN0YXR1cyByZXN5bmMoKTsKICAgIENJQ006OlN0YXR1cyByZXN5bmNfd2l0aF9zeW5jX3Zl Y3RvcigKICAgICAgaW4gIENJQ006OlZlY3RvciB2ZWMgKTsKICB9OwoKICBpbnRlcmZhY2UgQ29u dHJvbGxlckdyb3VwIHsKICAgIENJQ006OlN0YXR1cyBhZGQoCiAgICAgIGluIENJQ006OkNvbnRy b2xsZXIgY29udHJvbGxlcl9yZWYgKTsKICB9OwoKICBpbnRlcmZhY2UgQ29uZHVpdCA6CiAgICBD SUNNOjpDb250cm9sbGVyLAogICAgQ0lDTTo6U3RyZWFtIHsKICB9OwoKICBpbnRlcmZhY2UgQWJz dHJhY3RNQUNDb25kdWl0IDogQ0lDTTo6Q29uZHVpdCB7CiAgICByZWFkb25seSBhdHRyaWJ1dGUg Q0lDTTo6U3ltS2V5IG1hY19rZXk7CiAgICByZWFkb25seSBhdHRyaWJ1dGUgQ0lDTTo6U3ltTWFj QWxnb3JpdGhtSWQgbWFjX2FsZ29yaXRobTsKCiAgICBDSUNNOjpTdGF0dXMgZW5kX2dldF9tYWMo CiAgICAgIG91dCBDSUNNOjpNQUNCdWZmZXIgbWFjICk7CiAgfTsKCiAgaW50ZXJmYWNlIEFic3Ry YWN0U2lnbkNvbmR1aXQgOiBDSUNNOjpDb25kdWl0IHsKICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBD SUNNOjpBc3ltS2V5IHNpZ25fa2V5OwogICAgcmVhZG9ubHkgYXR0cmlidXRlIENJQ006OkFzeW1T aWdBbGdvcml0aG1JZCBzaWduX2FsZ29yaXRobTsKCiAgICBDSUNNOjpTdGF0dXMgZW5kX2dldF9z aWduYXR1cmUoCiAgICAgIG91dCBDSUNNOjpTaWdCdWZmZXIgc2lnbmF0dXJlICk7CiAgfTsKCiAg aW50ZXJmYWNlIEFic3RyYWN0VmVyaWZ5Q29uZHVpdCA6IENJQ006OkNvbmR1aXQgewogICAgdHlw ZWRlZiBDSUNNOjpVSW50MzIgVmVyaWZ5U3RhdHVzOwogICAgY29uc3QgQ0lDTTo6QWJzdHJhY3RW ZXJpZnlDb25kdWl0OjpWZXJpZnlTdGF0dXMKICAgICAgQ19EQVRBX1ZFUklGSUVEID0gMHgwMDAw NjAyNTsKCiAgICBjb25zdCBDSUNNOjpBYnN0cmFjdFZlcmlmeUNvbmR1aXQ6OlZlcmlmeVN0YXR1 cwogICAgICBDX0RBVEFfTk9UX1ZFUklGSUVEID0gMHgwMDAwNjAyNjsKCiAgfTsKCiAgaW50ZXJm YWNlIEFic3RyYWN0TUFDVmVyaWZ5Q29uZHVpdCA6IENJQ006OkFic3RyYWN0VmVyaWZ5Q29uZHVp dCB7CiAgICByZWFkb25seSBhdHRyaWJ1dGUgQ0lDTTo6U3ltS2V5IHZlcmlmeV9rZXk7CiAgICBy ZWFkb25seSBhdHRyaWJ1dGUgQ0lDTTo6U3ltTWFjQWxnb3JpdGhtSWQgdmVyaWZ5X2FsZ29yaXRo bTsKCiAgICBDSUNNOjpTdGF0dXMgZW5kX2dldF92ZXJpZmllZCgKICAgICAgaW4gIENJQ006Ok1B Q0J1ZmZlciBtYWMsCiAgICAgIG91dCBDSUNNOjpBYnN0cmFjdFZlcmlmeUNvbmR1aXQ6OlZlcmlm eVN0YXR1cyBzdGF0dXMgKTsKICB9OwoKICBpbnRlcmZhY2UgQWJzdHJhY3RTaWdWZXJpZnlDb25k dWl0IDogQ0lDTTo6QWJzdHJhY3RWZXJpZnlDb25kdWl0IHsKICAgIHJlYWRvbmx5IGF0dHJpYnV0 ZSBDSUNNOjpBc3ltS2V5IHZlcmlmeV9rZXk7CiAgICByZWFkb25seSBhdHRyaWJ1dGUgQ0lDTTo6 QXN5bVNpZ0FsZ29yaXRobUlkIHZlcmlmeV9hbGdvcml0aG07CgogICAgQ0lDTTo6U3RhdHVzIGVu ZF9nZXRfdmVyaWZpZWQoCiAgICAgIGluICBDSUNNOjpTaWdCdWZmZXIgc2lnbmF0dXJlLAogICAg ICBvdXQgQ0lDTTo6QWJzdHJhY3RWZXJpZnlDb25kdWl0OjpWZXJpZnlTdGF0dXMgc3RhdHVzICk7 CiAgfTsKCiAgbW9kdWxlIEVuY3J5cHQgewogICAgaW50ZXJmYWNlIFN0cmVhbSA6IENJQ006Oldy aXRlU3RyZWFtIHsKICAgICAgQ0lDTTo6U3RhdHVzIGVuY3J5cHQoCiAgICAgICAgaW4gIENJQ006 OkJ1ZmZlciBidWZmZXIgKTsKCiAgICAgIENJQ006OlN0YXR1cyBlbmNyeXB0X25vbl9ibG9ja2lu ZygKICAgICAgICBpbiAgQ0lDTTo6QnVmZmVyIGJ1ZmZlciwKICAgICAgICBpbiAgQ0lDTTo6VHJh bnNJZCB0cmFuc2FjdGlvbl9pZCApOwoKICAgICAgQ0lDTTo6U3RhdHVzIGVuY3J5cHRfcG9sbCgK ICAgICAgICBpbiAgQ0lDTTo6VHJhbnNJZCB0cmFuc2FjdGlvbl9pZCwKICAgICAgICBvdXQgQ0lD TTo6V3JpdGVTdHJlYW06OldyaXRlU3RhdHVzIHN0YXR1cyApOwogICAgfTsKCiAgICBpbnRlcmZh Y2UgS2V5V3JhcFN0cmVhbSA6IENJQ006OlN0cmVhbSB7CiAgICAgIENJQ006OlN0YXR1cyB3cmFw X2tleSgKICAgICAgICBpbiBDSUNNOjpLZXkga2V5X3JlZiApOwogICAgfTsKCiAgICBpbnRlcmZh Y2UgQ29udHJvbGxlciA6CiAgICAgIENJQ006Ok11bHRpRG9tYWluQ29udHJvbGxlciwKICAgICAg Q0lDTTo6U3ltS2V5Q29udHJvbGxlciwKICAgICAgQ0lDTTo6R2VuVmVjdG9yQ29udHJvbGxlciwK ICAgICAgQ0lDTTo6UmVzeW5jQ29udHJvbGxlciB7fTsKCiAgICBpbnRlcmZhY2UgTmVnb3RpYXRl ZENvbnRyb2xsZXIgOgogICAgICBDSUNNOjpOZWdvdGlhdGVkQ29udHJvbGxlciwKICAgICAgQ0lD TTo6R2VuVmVjdG9yQ29udHJvbGxlciwKICAgICAgQ0lDTTo6UmVzeW5jQ29udHJvbGxlciB7fTsK CiAgICBpbnRlcmZhY2UgQ29uZHVpdCA6CiAgICAgIENJQ006OkNvbmR1aXQsCiAgICAgIENJQ006 OkVuY3J5cHQ6OkNvbnRyb2xsZXIsCiAgICAgIENJQ006OkVuY3J5cHQ6OlN0cmVhbSB7fTsKCiAg ICBpbnRlcmZhY2UgTmVnb3RpYXRlZENvbmR1aXQgOgogICAgICBDSUNNOjpDb25kdWl0LAogICAg ICBDSUNNOjpFbmNyeXB0OjpOZWdvdGlhdGVkQ29udHJvbGxlciwKICAgICAgQ0lDTTo6RW5jcnlw dDo6U3RyZWFtIHt9OwoKICAgIGludGVyZmFjZSBXaXRoTUFDQ29uZHVpdCA6CiAgICAgIENJQ006 OkFic3RyYWN0TUFDQ29uZHVpdCwKICAgICAgQ0lDTTo6RW5jcnlwdDo6Q29uZHVpdCB7fTsKCiAg ICBpbnRlcmZhY2UgV2l0aE1BQ05lZ290aWF0ZWRDb25kdWl0IDoKICAgICAgQ0lDTTo6QWJzdHJh Y3RNQUNDb25kdWl0LAogICAgICBDSUNNOjpFbmNyeXB0OjpOZWdvdGlhdGVkQ29uZHVpdCB7fTsK CiAgICBpbnRlcmZhY2UgV2l0aFNpZ25Db25kdWl0IDoKICAgICAgQ0lDTTo6QWJzdHJhY3RTaWdu Q29uZHVpdCwKICAgICAgQ0lDTTo6RW5jcnlwdDo6Q29uZHVpdCB7fTsKCiAgICBpbnRlcmZhY2Ug V2l0aFNpZ25OZWdvdGlhdGVkQ29uZHVpdCA6CiAgICAgIENJQ006OkFic3RyYWN0U2lnbkNvbmR1 aXQsCiAgICAgIENJQ006OkVuY3J5cHQ6Ok5lZ290aWF0ZWRDb25kdWl0IHt9OwoKICAgIGludGVy ZmFjZSBLZXlXcmFwQ29uZHVpdCA6CiAgICAgIENJQ006OkVuY3J5cHQ6OkNvbnRyb2xsZXIsCiAg ICAgIENJQ006OkVuY3J5cHQ6OktleVdyYXBTdHJlYW0ge307CgogICAgaW50ZXJmYWNlIENvbnRy b2xsZXJOZWdvdGlhdG9yIDogQ0lDTTo6TmVnb3RpYXRvciB7CiAgICAgIENJQ006OlN0YXR1cyBj b21wbGV0ZSgKICAgICAgICBvdXQgQ0lDTTo6RW5jcnlwdDo6TmVnb3RpYXRlZENvbnRyb2xsZXIg Y29udHJvbGxlcl9yZWYgKTsKICAgIH07CgogICAgaW50ZXJmYWNlIE5lZ290aWF0b3IgOiBDSUNN OjpOZWdvdGlhdG9yIHsKICAgICAgQ0lDTTo6U3RhdHVzIGNvbXBsZXRlKAogICAgICAgIG91dCBD SUNNOjpFbmNyeXB0OjpOZWdvdGlhdGVkQ29uZHVpdCBjb25kdWl0X3JlZiApOwogICAgfTsKCiAg ICBpbnRlcmZhY2UgV2l0aE1BQ05lZ290aWF0b3IgOiBDSUNNOjpOZWdvdGlhdG9yIHsKICAgICAg Q0lDTTo6U3RhdHVzIGNvbXBsZXRlKAogICAgICAgIG91dCBDSUNNOjpFbmNyeXB0OjpXaXRoTUFD TmVnb3RpYXRlZENvbmR1aXQgY29uZHVpdF9yZWYgKTsKICAgIH07CgogICAgaW50ZXJmYWNlIFdp dGhTaWduTmVnb3RpYXRvciA6IENJQ006Ok5lZ290aWF0b3IgewogICAgICBDSUNNOjpTdGF0dXMg Y29tcGxldGUoCiAgICAgICAgb3V0IENJQ006OkVuY3J5cHQ6OldpdGhTaWduTmVnb3RpYXRlZENv bmR1aXQgY29uZHVpdF9yZWYgKTsKICAgIH07CgogICAgaW50ZXJmYWNlIENoYW5uZWxNYW5hZ2Vy IHsKICAgICAgQ0lDTTo6U3RhdHVzIG5lZ290aWF0ZV9lbmNyeXB0X2NvbmR1aXQoCiAgICAgICAg aW4gIENJQ006OlJlbW90ZVBvcnQgcmVtb3RlX3BvcnQsCiAgICAgICAgaW4gIENJQ006OlByb3Rv Y29sSWQgcHJvdG9jb2wsCiAgICAgICAgaW4gIENJQ006OkFzeW1LZXkga2V5X3JlZiwKICAgICAg ICBvdXQgQ0lDTTo6RW5jcnlwdDo6TmVnb3RpYXRvciBuZWdvdGlhdG9yX3JlZiApOwoKICAgICAg Q0lDTTo6U3RhdHVzIG5lZ290aWF0ZV9lbmNyeXB0X3dpdGhfbWFjX2NvbmR1aXQoCiAgICAgICAg aW4gIENJQ006OlJlbW90ZVBvcnQgcmVtb3RlX3BvcnQsCiAgICAgICAgaW4gIENJQ006OlByb3Rv Y29sSWQgcHJvdG9jb2wsCiAgICAgICAgaW4gIENJQ006OlN5bUtleSBtYWNfa2V5X3JlZiwKICAg ICAgICBpbiAgQ0lDTTo6QXN5bUtleSBuZWdvX2tleV9yZWYsCiAgICAgICAgaW4gIENJQ006OlN5 bU1hY0FsZ29yaXRobUlkIG1hY19hbGdvcml0aG0sCiAgICAgICAgb3V0IENJQ006OkVuY3J5cHQ6 OldpdGhNQUNOZWdvdGlhdG9yIG5lZ290aWF0b3JfcmVmICk7CgogICAgICBDSUNNOjpTdGF0dXMg bmVnb3RpYXRlX2VuY3J5cHRfd2l0aF9zaWduX2NvbmR1aXQoCiAgICAgICAgaW4gIENJQ006OlJl bW90ZVBvcnQgcmVtb3RlX3BvcnQsCiAgICAgICAgaW4gIENJQ006OlByb3RvY29sSWQgcHJvdG9j b2wsCiAgICAgICAgaW4gIENJQ006OkFzeW1LZXkgc2lnbl9rZXlfcmVmLAogICAgICAgIGluICBD SUNNOjpBc3ltS2V5IG5lZ29fa2V5X3JlZiwKICAgICAgICBpbiAgQ0lDTTo6QXN5bVNpZ0FsZ29y aXRobUlkIHNpZ25fYWxnb3JpdGhtLAogICAgICAgIG91dCBDSUNNOjpFbmNyeXB0OjpXaXRoU2ln bk5lZ290aWF0b3IgbmVnb3RpYXRvcl9yZWYgKTsKCiAgICAgIENJQ006OlN0YXR1cyBuZWdvdGlh dGVfZW5jcnlwdF9jb250cm9sbGVyKAogICAgICAgIGluICBDSUNNOjpMb2NhbFBvcnQgbG9jYWxf cG9ydCwKICAgICAgICBpbiAgQ0lDTTo6UmVtb3RlUG9ydCByZW1vdGVfcG9ydCwKICAgICAgICBp biAgQ0lDTTo6UHJvdG9jb2xJZCBwcm90b2NvbCwKICAgICAgICBpbiAgQ0lDTTo6QXN5bUtleSBr ZXlfcmVmLAogICAgICAgIG91dCBDSUNNOjpFbmNyeXB0OjpDb250cm9sbGVyTmVnb3RpYXRvciBu ZWdvdGlhdG9yX3JlZiApOwoKICAgICAgQ0lDTTo6U3RhdHVzIGNyZWF0ZV9lbmNyeXB0X2NvbmR1 aXQoCiAgICAgICAgaW4gIENJQ006OlJlbW90ZVBvcnQgcmVtb3RlX3BvcnQsCiAgICAgICAgaW4g IENJQ006OlN5bUtleSBrZXlfcmVmLAogICAgICAgIGluICBDSUNNOjpTeW1FbmNyQWxnb3JpdGht SWQgYWxnb3JpdGhtLAogICAgICAgIG91dCBDSUNNOjpFbmNyeXB0OjpDb25kdWl0IGNvbmR1aXRf cmVmICk7CgogICAgICBDSUNNOjpTdGF0dXMgY3JlYXRlX2VuY3J5cHRfd2l0aF9tYWNfY29uZHVp dCgKICAgICAgICBpbiAgQ0lDTTo6UmVtb3RlUG9ydCByZW1vdGVfcG9ydCwKICAgICAgICBpbiAg Q0lDTTo6U3ltS2V5IG1hY19rZXlfcmVmLAogICAgICAgIGluICBDSUNNOjpTeW1LZXkgZW5jcnlw dF9rZXlfcmVmLAogICAgICAgIGluICBDSUNNOjpTeW1NYWNBbGdvcml0aG1JZCBtYWNfYWxnb3Jp dGhtLAogICAgICAgIGluICBDSUNNOjpTeW1FbmNyQWxnb3JpdGhtSWQgZW5jcl9hbGdvcml0aG0s CiAgICAgICAgb3V0IENJQ006OkVuY3J5cHQ6OldpdGhNQUNDb25kdWl0IGNvbmR1aXRfcmVmICk7 CgogICAgICBDSUNNOjpTdGF0dXMgY3JlYXRlX2VuY3J5cHRfd2l0aF9zaWduX2NvbmR1aXQoCiAg ICAgICAgaW4gIENJQ006OlJlbW90ZVBvcnQgcmVtb3RlX3BvcnQsCiAgICAgICAgaW4gIENJQ006 OkFzeW1LZXkgc2lnbl9rZXlfcmVmLAogICAgICAgIGluICBDSUNNOjpTeW1LZXkgZW5jcnlwdF9r ZXlfcmVmLAogICAgICAgIGluICBDSUNNOjpBc3ltU2lnQWxnb3JpdGhtSWQgc2lnbl9hbGdvcml0 aG0sCiAgICAgICAgaW4gIENJQ006OlN5bUVuY3JBbGdvcml0aG1JZCBlbmNyX2FsZ29yaXRobSwK ICAgICAgICBvdXQgQ0lDTTo6RW5jcnlwdDo6V2l0aFNpZ25Db25kdWl0IGNvbmR1aXRfcmVmICk7 CiAgICAgIENJQ006OlN0YXR1cyBjcmVhdGVfa2V5X3dyYXBfY29uZHVpdCgKICAgICAgICBpbiAg Q0lDTTo6UmVtb3RlUG9ydCByZW1vdGVfcG9ydCwKICAgICAgICBpbiAgQ0lDTTo6U3ltS2V5IGtl a19yZWYsCiAgICAgICAgaW4gIENJQ006OktleVdyYXBBbGdvcml0aG1JZCBhbGdvcml0aG0sCiAg ICAgICAgb3V0IENJQ006OkVuY3J5cHQ6OktleVdyYXBDb25kdWl0IGNvbmR1aXRfcmVmICk7Cgog ICAgICBDSUNNOjpTdGF0dXMgY3JlYXRlX2VuY3J5cHRfY29udHJvbGxlcigKICAgICAgICBpbiAg Q0lDTTo6TG9jYWxQb3J0IGxvY2FsX3BvcnQsCiAgICAgICAgaW4gIENJQ006OlJlbW90ZVBvcnQg cmVtb3RlX3BvcnQsCiAgICAgICAgaW4gIENJQ006OlN5bUtleSBrZXlfcmVmLAogICAgICAgIGlu ICBDSUNNOjpTeW1FbmNyQWxnb3JpdGhtSWQgYWxnb3JpdGhtLAogICAgICAgIG91dCBDSUNNOjpF bmNyeXB0OjpDb250cm9sbGVyIGNvbnRyb2xsZXJfcmVmICk7CgogICAgICBDSUNNOjpTdGF0dXMg Z2V0X2VuY3J5cHRfc3RyZWFtKAogICAgICAgIGluICBDSUNNOjpMb2NhbFBvcnQgbG9jYWxfcG9y dCwKICAgICAgICBvdXQgQ0lDTTo6RW5jcnlwdDo6U3RyZWFtIHN0cmVhbV9yZWYgKTsKICAgIH07 CiAgfTsKCiAgbW9kdWxlIERlY3J5cHQgewogICAgaW50ZXJmYWNlIFN0cmVhbSA6IENJQ006OlJl YWRTdHJlYW0gewogICAgICBDSUNNOjpTdGF0dXMgZGVjcnlwdCgKICAgICAgICBvdXQgQ0lDTTo6 QnVmZmVyIGJ1ZmZlciApOwoKICAgICAgQ0lDTTo6U3RhdHVzIGRlY3J5cHRfbm9uX2Jsb2NraW5n KAogICAgICAgIG91dCBDSUNNOjpCdWZmZXIgYnVmZmVyLAogICAgICAgIGluICBDSUNNOjpUcmFu c0lkIHRyYW5zYWN0aW9uX2lkICk7CgogICAgICBDSUNNOjpTdGF0dXMgZGVjcnlwdF9wb2xsKAog ICAgICAgIGluICBDSUNNOjpUcmFuc0lkIHRyYW5zYWN0aW9uX2lkLAogICAgICAgIG91dCBDSUNN OjpSZWFkU3RyZWFtOjpSZWFkU3RhdHVzIHN0YXR1cyApOwogICAgfTsKCiAgICBpbnRlcmZhY2Ug S2V5VW53cmFwU3RyZWFtIDogQ0lDTTo6U3RyZWFtIHsKICAgICAgQ0lDTTo6U3RhdHVzIHVud3Jh cF9zeW1fa2V5KAogICAgICAgIG91dCBDSUNNOjpTeW1LZXkga2V5X3JlZiApOwoKICAgICAgQ0lD TTo6U3RhdHVzIHVud3JhcF9hc3ltX2tleSgKICAgICAgICBvdXQgQ0lDTTo6QXN5bUtleSBrZXlf cmVmICk7CiAgICB9OwoKICAgIGludGVyZmFjZSBDb250cm9sbGVyIDoKICAgICAgQ0lDTTo6TXVs dGlEb21haW5Db250cm9sbGVyLAogICAgICBDSUNNOjpTeW1LZXlDb250cm9sbGVyLAogICAgICBD SUNNOjpTZXRWZWN0b3JDb250cm9sbGVyLAogICAgICBDSUNNOjpSZXN5bmNDb250cm9sbGVyIHt9 OwoKICAgIGludGVyZmFjZSBOZWdvdGlhdGVkQ29udHJvbGxlciA6CiAgICAgIENJQ006Ok5lZ290 aWF0ZWRDb250cm9sbGVyLAogICAgICBDSUNNOjpTZXRWZWN0b3JDb250cm9sbGVyLAogICAgICBD SUNNOjpSZXN5bmNDb250cm9sbGVyIHt9OwoKICAgIGludGVyZmFjZSBDb25kdWl0IDoKICAgICAg Q0lDTTo6Q29uZHVpdCwKICAgICAgQ0lDTTo6RGVjcnlwdDo6Q29udHJvbGxlciwKICAgICAgQ0lD TTo6RGVjcnlwdDo6U3RyZWFtIHt9OwoKICAgIGludGVyZmFjZSBOZWdvdGlhdGVkQ29uZHVpdCA6 CiAgICAgIENJQ006OkNvbmR1aXQsCiAgICAgIENJQ006OkRlY3J5cHQ6Ok5lZ290aWF0ZWRDb250 cm9sbGVyLAogICAgICBDSUNNOjpEZWNyeXB0OjpTdHJlYW0ge307CgogICAgaW50ZXJmYWNlIFdp dGhNQUNDb25kdWl0IDoKICAgICAgQ0lDTTo6QWJzdHJhY3RNQUNWZXJpZnlDb25kdWl0LAogICAg ICBDSUNNOjpEZWNyeXB0OjpDb25kdWl0IHt9OwoKICAgIGludGVyZmFjZSBXaXRoTUFDTmVnb3Rp YXRlZENvbmR1aXQgOgogICAgICBDSUNNOjpBYnN0cmFjdE1BQ1ZlcmlmeUNvbmR1aXQsCiAgICAg IENJQ006OkRlY3J5cHQ6Ok5lZ290aWF0ZWRDb25kdWl0IHt9OwoKICAgIGludGVyZmFjZSBXaXRo VmVyaWZ5Q29uZHVpdCA6CiAgICAgIENJQ006OkFic3RyYWN0U2lnVmVyaWZ5Q29uZHVpdCwKICAg ICAgQ0lDTTo6RGVjcnlwdDo6Q29uZHVpdCB7fTsKCiAgICBpbnRlcmZhY2UgV2l0aFZlcmlmeU5l Z290aWF0ZWRDb25kdWl0IDoKICAgICAgQ0lDTTo6QWJzdHJhY3RTaWdWZXJpZnlDb25kdWl0LAog ICAgICBDSUNNOjpEZWNyeXB0OjpOZWdvdGlhdGVkQ29uZHVpdCB7fTsKCiAgICBpbnRlcmZhY2Ug S2V5VW53cmFwQ29uZHVpdCA6CiAgICAgIENJQ006OkRlY3J5cHQ6OkNvbnRyb2xsZXIsCiAgICAg IENJQ006OkRlY3J5cHQ6OktleVVud3JhcFN0cmVhbSB7fTsKCiAgICBpbnRlcmZhY2UgTmVnb3Rp YXRvciA6IENJQ006Ok5lZ290aWF0b3IgewogICAgICBDSUNNOjpTdGF0dXMgY29tcGxldGUoCiAg ICAgICAgb3V0IENJQ006OkRlY3J5cHQ6Ok5lZ290aWF0ZWRDb25kdWl0IGNvbmR1aXRfcmVmICk7 CiAgICB9OwoKICAgIGludGVyZmFjZSBDb250cm9sbGVyTmVnb3RpYXRvciA6IENJQ006Ok5lZ290 aWF0b3IgewogICAgICBDSUNNOjpTdGF0dXMgY29tcGxldGUoCiAgICAgICAgb3V0IENJQ006OkRl Y3J5cHQ6Ok5lZ290aWF0ZWRDb250cm9sbGVyIGNvbnRyb2xsZXJfcmVmICk7CiAgICB9OwoKICAg IGludGVyZmFjZSBXaXRoTUFDTmVnb3RpYXRvciA6IENJQ006Ok5lZ290aWF0b3IgewogICAgICBD SUNNOjpTdGF0dXMgY29tcGxldGUoCiAgICAgICAgb3V0IENJQ006OkRlY3J5cHQ6OldpdGhNQUNO ZWdvdGlhdGVkQ29uZHVpdCBjb25kdWl0X3JlZiApOwogICAgfTsKCiAgICBpbnRlcmZhY2UgV2l0 aFZlcmlmeU5lZ290aWF0b3IgOiBDSUNNOjpOZWdvdGlhdG9yIHsKICAgICAgQ0lDTTo6U3RhdHVz IGNvbXBsZXRlKAogICAgICAgIG91dCBDSUNNOjpEZWNyeXB0OjpXaXRoVmVyaWZ5TmVnb3RpYXRl ZENvbmR1aXQgY29uZHVpdF9yZWYgKTsKICAgIH07CgogICAgaW50ZXJmYWNlIENoYW5uZWxNYW5h Z2VyIHsKICAgICAgQ0lDTTo6U3RhdHVzIG5lZ290aWF0ZV9kZWNyeXB0X2NvbmR1aXQoCiAgICAg ICAgaW4gIENJQ006OlJlbW90ZVBvcnQgcmVtb3RlX3BvcnQsCiAgICAgICAgaW4gIENJQ006OlBy b3RvY29sSWQgcHJvdG9jb2wsCiAgICAgICAgaW4gIENJQ006OkFzeW1LZXkga2V5X3JlZiwKICAg ICAgICBvdXQgQ0lDTTo6RGVjcnlwdDo6TmVnb3RpYXRvciBuZWdvdGlhdG9yX3JlZiApOwoKICAg ICAgQ0lDTTo6U3RhdHVzIG5lZ290aWF0ZV9kZWNyeXB0X3dpdGhfbWFjX2NvbmR1aXQoCiAgICAg ICAgaW4gIENJQ006OlJlbW90ZVBvcnQgcmVtb3RlX3BvcnQsCiAgICAgICAgaW4gIENJQ006OlBy b3RvY29sSWQgcHJvdG9jb2wsCiAgICAgICAgaW4gIENJQ006OlN5bUtleSB2ZXJpZnlfa2V5X3Jl ZiwKICAgICAgICBpbiAgQ0lDTTo6QXN5bUtleSBuZWdvX2tleV9yZWYsCiAgICAgICAgaW4gIENJ Q006OlN5bU1hY0FsZ29yaXRobUlkIHZlcmlmeV9hbGdvcml0aG0sCiAgICAgICAgb3V0IENJQ006 OkRlY3J5cHQ6OldpdGhNQUNOZWdvdGlhdG9yIG5lZ290aWF0b3JfcmVmICk7CgogICAgICBDSUNN OjpTdGF0dXMgbmVnb3RpYXRlX2RlY3J5cHRfd2l0aF92ZXJpZnlfY29uZHVpdCgKICAgICAgICBp biAgQ0lDTTo6UmVtb3RlUG9ydCByZW1vdGVfcG9ydCwKICAgICAgICBpbiAgQ0lDTTo6UHJvdG9j b2xJZCBwcm90b2NvbCwKICAgICAgICBpbiAgQ0lDTTo6QXN5bUtleSB2ZXJpZnlfa2V5X3JlZiwK ICAgICAgICBpbiAgQ0lDTTo6QXN5bUtleSBuZWdvX2tleV9yZWYsCiAgICAgICAgaW4gIENJQ006 OkFzeW1TaWdBbGdvcml0aG1JZCB2ZXJpZnlfYWxnb3JpdGhtLAogICAgICAgIG91dCBDSUNNOjpE ZWNyeXB0OjpXaXRoVmVyaWZ5TmVnb3RpYXRvciBuZWdvdGlhdG9yX3JlZiApOwoKICAgICAgQ0lD TTo6U3RhdHVzIG5lZ290aWF0ZV9kZWNyeXB0X2NvbnRyb2xsZXIoCiAgICAgICAgaW4gIENJQ006 OkxvY2FsUG9ydCBsb2NhbF9wb3J0LAogICAgICAgIGluICBDSUNNOjpSZW1vdGVQb3J0IHJlbW90 ZV9wb3J0LAogICAgICAgIGluICBDSUNNOjpQcm90b2NvbElkIHByb3RvY29sLAogICAgICAgIGlu ICBDSUNNOjpBc3ltS2V5IGtleV9yZWYsCiAgICAgICAgb3V0IENJQ006OkRlY3J5cHQ6OkNvbnRy b2xsZXJOZWdvdGlhdG9yIG5lZ290aWF0b3JfcmVmICk7CgogICAgICBDSUNNOjpTdGF0dXMgY3Jl YXRlX2RlY3J5cHRfY29uZHVpdCgKICAgICAgICBpbiAgQ0lDTTo6UmVtb3RlUG9ydCByZW1vdGVf cG9ydCwKICAgICAgICBpbiAgQ0lDTTo6U3ltS2V5IGtleV9yZWYsCiAgICAgICAgaW4gIENJQ006 OlN5bUVuY3JBbGdvcml0aG1JZCBhbGdvcml0aG0sCiAgICAgICAgb3V0IENJQ006OkRlY3J5cHQ6 OkNvbmR1aXQgY29uZHVpdF9yZWYgKTsKCiAgICAgIENJQ006OlN0YXR1cyBjcmVhdGVfZGVjcnlw dF93aXRoX21hY19jb25kdWl0KAogICAgICAgIGluICBDSUNNOjpSZW1vdGVQb3J0IHJlbW90ZV9w b3J0LAogICAgICAgIGluICBDSUNNOjpTeW1LZXkgdmVyaWZ5X2tleV9yZWYsCiAgICAgICAgaW4g IENJQ006OlN5bUtleSBkZWNyeXB0X2tleV9yZWYsCiAgICAgICAgaW4gIENJQ006OlN5bU1hY0Fs Z29yaXRobUlkIHZlcmlmeV9hbGdvcml0aG0sCiAgICAgICAgaW4gIENJQ006OlN5bUVuY3JBbGdv cml0aG1JZCBkZWNyeXB0X2FsZ29yaXRobSwKICAgICAgICBvdXQgQ0lDTTo6RGVjcnlwdDo6V2l0 aE1BQ0NvbmR1aXQgY29uZHVpdF9yZWYgKTsKCiAgICAgIENJQ006OlN0YXR1cyBjcmVhdGVfZGVj cnlwdF93aXRoX3ZlcmlmeV9jb25kdWl0KAogICAgICAgIGluICBDSUNNOjpSZW1vdGVQb3J0IHJl bW90ZV9wb3J0LAogICAgICAgIGluICBDSUNNOjpBc3ltS2V5IHZlcmlmeV9rZXlfcmVmLAogICAg ICAgIGluICBDSUNNOjpTeW1LZXkgZGVjcnlwdF9rZXlfcmVmLAogICAgICAgIGluICBDSUNNOjpB c3ltU2lnQWxnb3JpdGhtSWQgdmVyaWZ5X2FsZ29yaXRobSwKICAgICAgICBpbiAgQ0lDTTo6U3lt RW5jckFsZ29yaXRobUlkIGRlY3J5cHRfYWxnb3JpdGhtLAogICAgICAgIG91dCBDSUNNOjpEZWNy eXB0OjpXaXRoVmVyaWZ5Q29uZHVpdCBjb25kdWl0X3JlZiApOwoKICAgICAgQ0lDTTo6U3RhdHVz IGNyZWF0ZV9rZXlfdW53cmFwX2NvbmR1aXQoCiAgICAgICAgaW4gIENJQ006OlJlbW90ZVBvcnQg cmVtb3RlX3BvcnQsCiAgICAgICAgaW4gIENJQ006OlN5bUtleSBrZWtfcmVmLAogICAgICAgIGlu ICBDSUNNOjpLZXlXcmFwQWxnb3JpdGhtSWQgYWxnb3JpdGhtLAogICAgICAgIG91dCBDSUNNOjpE ZWNyeXB0OjpLZXlVbndyYXBDb25kdWl0IGNvbmR1aXRfcmVmICk7CgogICAgICBDSUNNOjpTdGF0 dXMgY3JlYXRlX2RlY3J5cHRfY29udHJvbGxlcigKICAgICAgICBpbiAgQ0lDTTo6TG9jYWxQb3J0 IGxvY2FsX3BvcnQsCiAgICAgICAgaW4gIENJQ006OlJlbW90ZVBvcnQgcmVtb3RlX3BvcnQsCiAg ICAgICAgaW4gIENJQ006OlN5bUtleSBrZXlfcmVmLAogICAgICAgIGluICBDSUNNOjpTeW1FbmNy QWxnb3JpdGhtSWQgYWxnb3JpdGhtLAogICAgICAgIG91dCBDSUNNOjpEZWNyeXB0OjpDb250cm9s bGVyIGNvbnRyb2xsZXJfcmVmICk7CgogICAgICBDSUNNOjpTdGF0dXMgZ2V0X2RlY3J5cHRfc3Ry ZWFtKAogICAgICAgIGluICBDSUNNOjpMb2NhbFBvcnQgbG9jYWxfcG9ydCwKICAgICAgICBvdXQg Q0lDTTo6RGVjcnlwdDo6U3RyZWFtIHN0cmVhbV9yZWYgKTsKICAgIH07CiAgfTsKCiAgbW9kdWxl IER1cGxleCB7CiAgICBpbnRlcmZhY2UgU3RyZWFtIDoKICAgICAgQ0lDTTo6RW5jcnlwdDo6U3Ry ZWFtLAogICAgICBDSUNNOjpEZWNyeXB0OjpTdHJlYW0ge307CgogICAgaW50ZXJmYWNlIENvbnRy b2xsZXIgOgogICAgICBDSUNNOjpFbmNyeXB0OjpDb250cm9sbGVyLAogICAgICBDSUNNOjpEZWNy eXB0OjpDb250cm9sbGVyIHt9OwoKICAgIGludGVyZmFjZSBOZWdvdGlhdGVkQ29udHJvbGxlciA6 CiAgICAgIENJQ006OkVuY3J5cHQ6Ok5lZ290aWF0ZWRDb250cm9sbGVyLAogICAgICBDSUNNOjpE ZWNyeXB0OjpOZWdvdGlhdGVkQ29udHJvbGxlciB7fTsKCiAgICBpbnRlcmZhY2UgQ29uZHVpdCA6 CiAgICAgIENJQ006OkNvbmR1aXQsCiAgICAgIENJQ006OkR1cGxleDo6Q29udHJvbGxlciwKICAg ICAgQ0lDTTo6RHVwbGV4OjpTdHJlYW0ge307CgogICAgaW50ZXJmYWNlIE5lZ290aWF0ZWRDb25k dWl0IDoKICAgICAgQ0lDTTo6RHVwbGV4OjpOZWdvdGlhdGVkQ29udHJvbGxlciwKICAgICAgQ0lD TTo6RHVwbGV4OjpTdHJlYW0ge307CgogICAgaW50ZXJmYWNlIENvbnRyb2xsZXJOZWdvdGlhdG9y IDogQ0lDTTo6TmVnb3RpYXRvciB7CiAgICAgIENJQ006OlN0YXR1cyBjb21wbGV0ZSgKICAgICAg ICBvdXQgQ0lDTTo6RHVwbGV4OjpOZWdvdGlhdGVkQ29udHJvbGxlciBjb250cm9sbGVyX3JlZiAp OwogICAgfTsKCiAgICBpbnRlcmZhY2UgTmVnb3RpYXRvciA6IENJQ006Ok5lZ290aWF0b3Igewog ICAgICAgQ0lDTTo6U3RhdHVzIGNvbXBsZXRlKAogICAgICAgIG91dCBDSUNNOjpEdXBsZXg6Ok5l Z290aWF0ZWRDb25kdWl0IGNvbmR1aXRfcmVmICk7CiAgICB9OwoKICAgIGludGVyZmFjZSBDaGFu bmVsTWFuYWdlciB7CiAgICAgIENJQ006OlN0YXR1cyBuZWdvdGlhdGVfZHVwbGV4X2NvbmR1aXQo CiAgICAgICAgaW4gIENJQ006OlJlbW90ZVBvcnQgcmVtb3RlX3BvcnQsCiAgICAgICAgaW4gIENJ Q006OlByb3RvY29sSWQgcHJvdG9jb2wsCiAgICAgICAgaW4gIENJQ006OkFzeW1LZXkga2V5X3Jl ZiwKICAgICAgICBvdXQgQ0lDTTo6RHVwbGV4OjpOZWdvdGlhdG9yIG5lZ290aWF0b3JfcmVmICk7 CgogICAgICBDSUNNOjpTdGF0dXMgbmVnb3RpYXRlX2R1cGxleF9jb250cm9sbGVyKAogICAgICAg IGluICBDSUNNOjpMb2NhbFBvcnQgbG9jYWxfcG9ydCwKICAgICAgICBpbiAgQ0lDTTo6UmVtb3Rl UG9ydCByZW1vdGVfcG9ydCwKICAgICAgICBpbiAgQ0lDTTo6UHJvdG9jb2xJZCBwcm90b2NvbCwK ICAgICAgICBpbiAgQ0lDTTo6QXN5bUtleSBrZXlfcmVmLAogICAgICAgIG91dCBDSUNNOjpEdXBs ZXg6OkNvbnRyb2xsZXJOZWdvdGlhdG9yIG5lZ290aWF0b3JfcmVmICk7CgogICAgICBDSUNNOjpT dGF0dXMgY3JlYXRlX2R1cGxleF9jb25kdWl0KAogICAgICAgIGluICBDSUNNOjpSZW1vdGVQb3J0 IHJlbW90ZV9wb3J0LAogICAgICAgIGluICBDSUNNOjpTeW1LZXkga2V5X3JlZiwKICAgICAgICBp biAgQ0lDTTo6U3ltRW5jckFsZ29yaXRobUlkIGFsZ29yaXRobSwKICAgICAgICBvdXQgQ0lDTTo6 RHVwbGV4OjpDb25kdWl0IGNvbmR1aXRfcmVmICk7CgogICAgICBDSUNNOjpTdGF0dXMgY3JlYXRl X2R1cGxleF9jb250cm9sbGVyKAogICAgICAgIGluICBDSUNNOjpMb2NhbFBvcnQgbG9jYWxfcG9y dCwKICAgICAgICBpbiAgQ0lDTTo6UmVtb3RlUG9ydCByZW1vdGVfcG9ydCwKICAgICAgICBpbiAg Q0lDTTo6U3ltS2V5IGtleV9yZWYsCiAgICAgICAgaW4gIENJQ006OlN5bUVuY3JBbGdvcml0aG1J ZCBhbGdvcml0aG0sCiAgICAgICAgb3V0IENJQ006OkR1cGxleDo6Q29udHJvbGxlciBjb250cm9s bGVyX3JlZiApOwoKICAgICAgQ0lDTTo6U3RhdHVzIGdldF9kdXBsZXhfc3RyZWFtKAogICAgICAg IGluICBDSUNNOjpMb2NhbFBvcnQgbG9jYWxfcG9ydCwKICAgICAgICBvdXQgQ0lDTTo6RHVwbGV4 OjpTdHJlYW0gc3RyZWFtX3JlZiApOwogICAgfTsKICB9OwoKICBtb2R1bGUgQnlwYXNzV3JpdGUg ewogICAgaW50ZXJmYWNlIFN0cmVhbSA6IENJQ006OldyaXRlU3RyZWFtIHsKICAgICAgQ0lDTTo6 U3RhdHVzIHdyaXRlX2J5cGFzcygKICAgICAgICBpbiAgQ0lDTTo6QnVmZmVyIGJ1ZmZlciApOwoK ICAgICAgQ0lDTTo6U3RhdHVzIHdyaXRlX2J5cGFzc19ub25fYmxvY2tpbmcoCiAgICAgICAgaW4g IENJQ006OkJ1ZmZlciBidWZmZXIsCiAgICAgICAgaW4gIENJQ006OlRyYW5zSWQgdHJhbnNhY3Rp b25faWQgKTsKCiAgICAgIENJQ006OlN0YXR1cyB3cml0ZV9ieXBhc3NfcG9sbCgKICAgICAgICBp biAgQ0lDTTo6VHJhbnNJZCB0cmFuc2FjdGlvbl9pZCwKICAgICAgICBvdXQgQ0lDTTo6V3JpdGVT dHJlYW06OldyaXRlU3RhdHVzIHN0YXR1cyApOwogICAgfTsKCiAgICBpbnRlcmZhY2UgQ29udHJv bGxlciA6IENJQ006Ok11bHRpRG9tYWluQ29udHJvbGxlciB7fTsKCiAgICBpbnRlcmZhY2UgQ29u ZHVpdCA6CiAgICAgIENJQ006OkNvbmR1aXQsCiAgICAgIENJQ006OkJ5cGFzc1dyaXRlOjpDb250 cm9sbGVyLAogICAgICBDSUNNOjpCeXBhc3NXcml0ZTo6U3RyZWFtIHt9OwoKICAgIGludGVyZmFj ZSBDaGFubmVsTWFuYWdlciB7CiAgICAgIENJQ006OlN0YXR1cyBjcmVhdGVfYnlwYXNzX3dyaXRl X2NvbmR1aXQoCiAgICAgICAgaW4gIENJQ006OlJlbW90ZVBvcnQgcmVtb3RlX3BvcnQsCiAgICAg ICAgb3V0IENJQ006OkJ5cGFzc1dyaXRlOjpDb25kdWl0IGNvbmR1aXRfcmVmICk7CgogICAgICBD SUNNOjpTdGF0dXMgY3JlYXRlX2J5cGFzc193cml0ZV9jb250cm9sbGVyKAogICAgICAgIGluICBD SUNNOjpMb2NhbFBvcnQgbG9jYWxfcG9ydCwKICAgICAgICBpbiAgQ0lDTTo6UmVtb3RlUG9ydCBy ZW1vdGVfcG9ydCwKICAgICAgICBvdXQgQ0lDTTo6QnlwYXNzV3JpdGU6OkNvbnRyb2xsZXIgY29u dHJvbGxlcl9yZWYgKTsKCiAgICAgIENJQ006OlN0YXR1cyBnZXRfYnlwYXNzX3dyaXRlX3N0cmVh bSgKICAgICAgICBpbiAgQ0lDTTo6TG9jYWxQb3J0IGxvY2FsX3BvcnQsCiAgICAgICAgb3V0IENJ Q006OkJ5cGFzc1dyaXRlOjpTdHJlYW0gc3RyZWFtX3JlZiApOwogICAgfTsKICB9OwoKICBtb2R1 bGUgQnlwYXNzUmVhZCB7CiAgICBpbnRlcmZhY2UgU3RyZWFtIDogQ0lDTTo6UmVhZFN0cmVhbSB7 CiAgICAgIENJQ006OlN0YXR1cyByZWFkX2J5cGFzcygKICAgICAgICBvdXQgQ0lDTTo6QnVmZmVy IGJ1ZmZlciApOwoKICAgICAgQ0lDTTo6U3RhdHVzIHJlYWRfYnlwYXNzX25vbl9ibG9ja2luZygK ICAgICAgICBvdXQgQ0lDTTo6QnVmZmVyIGJ1ZmZlciwKICAgICAgICBpbiAgIENJQ006OlRyYW5z SWQgdHJhbnNhY3Rpb25faWQgKTsKCiAgICAgIENJQ006OlN0YXR1cyByZWFkX2J5cGFzc19wb2xs KAogICAgICAgIGluICBDSUNNOjpUcmFuc0lkIHRyYW5zYWN0aW9uX2lkLAogICAgICAgIG91dCBD SUNNOjpSZWFkU3RyZWFtOjpSZWFkU3RhdHVzIHN0YXR1cyApOwogICAgfTsKCiAgICBpbnRlcmZh Y2UgQ29udHJvbGxlciA6IENJQ006Ok11bHRpRG9tYWluQ29udHJvbGxlciB7fTsKCiAgICBpbnRl cmZhY2UgQ29uZHVpdCA6CiAgICAgIENJQ006OkNvbmR1aXQsCiAgICAgIENJQ006OkJ5cGFzc1Jl YWQ6OkNvbnRyb2xsZXIsCiAgICAgIENJQ006OkJ5cGFzc1JlYWQ6OlN0cmVhbSB7fTsKCiAgICBp bnRlcmZhY2UgQ2hhbm5lbE1hbmFnZXIgewogICAgICBDSUNNOjpTdGF0dXMgY3JlYXRlX2J5cGFz c19yZWFkX2NvbmR1aXQoCiAgICAgICAgaW4gIENJQ006OlJlbW90ZVBvcnQgcmVtb3RlX3BvcnQs CiAgICAgICAgb3V0IENJQ006OkJ5cGFzc1JlYWQ6OkNvbmR1aXQgY29uZHVpdF9yZWYgKTsKCiAg ICAgIENJQ006OlN0YXR1cyBjcmVhdGVfYnlwYXNzX3JlYWRfY29udHJvbGxlcigKICAgICAgICBp biAgQ0lDTTo6TG9jYWxQb3J0IGxvY2FsX3BvcnQsCiAgICAgICAgaW4gIENJQ006OlJlbW90ZVBv cnQgcmVtb3RlX3BvcnQsCiAgICAgICAgb3V0IENJQ006OkJ5cGFzc1JlYWQ6OkNvbnRyb2xsZXIg Y29udHJvbGxlcl9yZWYgKTsKCiAgICAgIENJQ006OlN0YXR1cyBnZXRfYnlwYXNzX3JlYWRfc3Ry ZWFtKAogICAgICAgIGluICBDSUNNOjpMb2NhbFBvcnQgbG9jYWxfcG9ydCwKICAgICAgICBvdXQg Q0lDTTo6QnlwYXNzUmVhZDo6U3RyZWFtIHN0cmVhbV9yZWYgKTsKICAgIH07CiAgfTsKCiAgbW9k dWxlIEVuY3J5cHRCeXBhc3MgewogICAgaW50ZXJmYWNlIFN0cmVhbSA6CiAgICAgIENJQ006OkVu Y3J5cHQ6OlN0cmVhbSwKICAgICAgQ0lDTTo6QnlwYXNzV3JpdGU6OlN0cmVhbSB7CiAgICB9OwoK ICAgIGludGVyZmFjZSBOZWdvdGlhdGVkQ29udHJvbGxlciA6CiAgICAgIENJQ006OkVuY3J5cHQ6 Ok5lZ290aWF0ZWRDb250cm9sbGVyIHt9OwoKICAgIGludGVyZmFjZSBDb250cm9sbGVyIDogQ0lD TTo6RW5jcnlwdDo6Q29udHJvbGxlciB7fTsKCiAgICBpbnRlcmZhY2UgQ29uZHVpdCA6CiAgICAg IENJQ006OkVuY3J5cHQ6OkNvbmR1aXQsCiAgICAgIENJQ006OkVuY3J5cHRCeXBhc3M6OlN0cmVh bSB7fTsKCiAgICBpbnRlcmZhY2UgTmVnb3RpYXRlZENvbmR1aXQgOgogICAgICBDSUNNOjpFbmNy eXB0OjpOZWdvdGlhdGVkQ29udHJvbGxlciwKICAgICAgQ0lDTTo6RW5jcnlwdEJ5cGFzczo6U3Ry ZWFtIHt9OwoKICAgIGludGVyZmFjZSBDb250cm9sbGVyTmVnb3RpYXRvciA6IENJQ006Ok5lZ290 aWF0b3IgewogICAgICBDSUNNOjpTdGF0dXMgY29tcGxldGUoCiAgICAgICAgb3V0IENJQ006OkVu Y3J5cHRCeXBhc3M6Ok5lZ290aWF0ZWRDb250cm9sbGVyIGNvbnRyb2xsZXJfcmVmICk7CiAgICB9 OwoKICAgIGludGVyZmFjZSBOZWdvdGlhdG9yIDogQ0lDTTo6TmVnb3RpYXRvciB7CiAgICAgIENJ Q006OlN0YXR1cyBjb21wbGV0ZSgKICAgICAgICBvdXQgQ0lDTTo6RW5jcnlwdEJ5cGFzczo6TmVn b3RpYXRlZENvbmR1aXQgY29uZHVpdF9yZWYgKTsKICAgIH07CgogICAgaW50ZXJmYWNlIENoYW5u ZWxNYW5hZ2VyIHsKICAgICAgQ0lDTTo6U3RhdHVzIG5lZ290aWF0ZV9lbmNyeXB0X2J5cGFzc19j b25kdWl0KAogICAgICAgIGluICBDSUNNOjpSZW1vdGVQb3J0IHJlbW90ZV9wb3J0LAogICAgICAg IGluICBDSUNNOjpQcm90b2NvbElkIHByb3RvY29sLAogICAgICAgIGluICBDSUNNOjpBc3ltS2V5 IGtleV9yZWYsCiAgICAgICAgb3V0IENJQ006OkVuY3J5cHRCeXBhc3M6Ok5lZ290aWF0b3IgbmVn b3RpYXRvcl9yZWYgKTsKCiAgICAgIENJQ006OlN0YXR1cyBuZWdvdGlhdGVfZW5jcnlwdF9ieXBh c3NfY29udHJvbGxlcigKICAgICAgICBpbiAgQ0lDTTo6TG9jYWxQb3J0IGxvY2FsX3BvcnQsCiAg ICAgICAgaW4gIENJQ006OlJlbW90ZVBvcnQgcmVtb3RlX3BvcnQsCiAgICAgICAgaW4gIENJQ006 OlByb3RvY29sSWQgcHJvdG9jb2wsCiAgICAgICAgaW4gIENJQ006OkFzeW1LZXkga2V5X3JlZiwK ICAgICAgICBvdXQgQ0lDTTo6RW5jcnlwdEJ5cGFzczo6Q29udHJvbGxlck5lZ290aWF0b3IgbmVn b3RpYXRvcl9yZWYgKTsKCiAgICAgIENJQ006OlN0YXR1cyBjcmVhdGVfZW5jcnlwdF9ieXBhc3Nf Y29uZHVpdCgKICAgICAgICBpbiAgQ0lDTTo6UmVtb3RlUG9ydCByZW1vdGVfcG9ydCwKICAgICAg ICBpbiAgQ0lDTTo6U3ltS2V5IGtleV9yZWYsCiAgICAgICAgaW4gIENJQ006OlN5bUVuY3JBbGdv cml0aG1JZCBhbGdvcml0aG0sCiAgICAgICAgb3V0IENJQ006OkVuY3J5cHRCeXBhc3M6OkNvbmR1 aXQgY29uZHVpdF9yZWYgKTsKCiAgICAgIENJQ006OlN0YXR1cyBjcmVhdGVfZW5jcnlwdF9ieXBh c3NfY29udHJvbGxlcigKICAgICAgICBpbiAgQ0lDTTo6TG9jYWxQb3J0IGxvY2FsX3BvcnQsCiAg ICAgICAgaW4gIENJQ006OlJlbW90ZVBvcnQgcmVtb3RlX3BvcnQsCiAgICAgICAgaW4gIENJQ006 OlN5bUtleSBrZXlfcmVmLAogICAgICAgIGluICBDSUNNOjpTeW1FbmNyQWxnb3JpdGhtSWQgYWxn b3JpdGhtLAogICAgICAgIG91dCBDSUNNOjpFbmNyeXB0QnlwYXNzOjpDb250cm9sbGVyIGNvbnRy b2xsZXJfcmVmICk7CgogICAgICBDSUNNOjpTdGF0dXMgZ2V0X2VuY3J5cHRfYnlwYXNzX3N0cmVh bSgKICAgICAgICBpbiAgQ0lDTTo6TG9jYWxQb3J0IGxvY2FsX3BvcnQsCiAgICAgICAgb3V0IENJ Q006OkVuY3J5cHRCeXBhc3M6OlN0cmVhbSBzdHJlYW1fcmVmICk7CiAgICB9OwogIH07CgogIG1v ZHVsZSBEZWNyeXB0QnlwYXNzIHsKICAgIGludGVyZmFjZSBTdHJlYW0gOiBDSUNNOjpEZWNyeXB0 OjpTdHJlYW0ge307CgogICAgaW50ZXJmYWNlIE5lZ290aWF0ZWRDb250cm9sbGVyIDoKICAgICAg Q0lDTTo6RGVjcnlwdDo6TmVnb3RpYXRlZENvbnRyb2xsZXIge307CgogICAgaW50ZXJmYWNlIENv bnRyb2xsZXIgOiBDSUNNOjpEZWNyeXB0OjpDb250cm9sbGVyIHt9OwoKICAgIGludGVyZmFjZSBD b25kdWl0IDoKICAgICAgQ0lDTTo6RGVjcnlwdDo6Q29uZHVpdCwKICAgICAgQ0lDTTo6RGVjcnlw dEJ5cGFzczo6Q29udHJvbGxlciwKICAgICAgQ0lDTTo6RGVjcnlwdEJ5cGFzczo6U3RyZWFtIHt9 OwoKICAgIGludGVyZmFjZSBOZWdvdGlhdGVkQ29uZHVpdCA6CiAgICAgIENJQ006OkRlY3J5cHQ6 Ok5lZ290aWF0ZWRDb25kdWl0LAogICAgICBDSUNNOjpEZWNyeXB0QnlwYXNzOjpOZWdvdGlhdGVk Q29udHJvbGxlciwKICAgICAgQ0lDTTo6RGVjcnlwdEJ5cGFzczo6U3RyZWFtIHt9OwoKICAgIGlu dGVyZmFjZSBDb250cm9sbGVyTmVnb3RpYXRvciA6IENJQ006Ok5lZ290aWF0b3IgewogICAgICBD SUNNOjpTdGF0dXMgY29tcGxldGUoCiAgICAgICAgb3V0IENJQ006OkRlY3J5cHRCeXBhc3M6Ok5l Z290aWF0ZWRDb250cm9sbGVyIGNvbnRyb2xsZXJfcmVmICk7CiAgICB9OwoKICAgIGludGVyZmFj ZSBOZWdvdGlhdG9yIDogQ0lDTTo6TmVnb3RpYXRvciB7CiAgICAgIENJQ006OlN0YXR1cyBjb21w bGV0ZSgKICAgICAgICBvdXQgQ0lDTTo6RGVjcnlwdEJ5cGFzczo6TmVnb3RpYXRlZENvbmR1aXQg Y29uZHVpdF9yZWYgKTsKICAgIH07CgogICAgaW50ZXJmYWNlIENoYW5uZWxNYW5hZ2VyIHsKICAg ICAgQ0lDTTo6U3RhdHVzIG5lZ290aWF0ZV9kZWNyeXB0X2J5cGFzc19jb25kdWl0KAogICAgICAg IGluICBDSUNNOjpSZW1vdGVQb3J0IHJlbW90ZV9wb3J0LAogICAgICAgIGluICBDSUNNOjpQcm90 b2NvbElkIHByb3RvY29sLAogICAgICAgIGluICBDSUNNOjpBc3ltS2V5IGtleV9yZWYsCiAgICAg ICAgb3V0IENJQ006OkRlY3J5cHRCeXBhc3M6Ok5lZ290aWF0b3IgbmVnb3RpYXRvcl9yZWYgKTsK CiAgICAgIENJQ006OlN0YXR1cyBuZWdvdGlhdGVfZGVjcnlwdF9ieXBhc3NfY29udHJvbGxlcigK ICAgICAgICBpbiAgQ0lDTTo6TG9jYWxQb3J0IGxvY2FsX3BvcnQsCiAgICAgICAgaW4gIENJQ006 OlJlbW90ZVBvcnQgcmVtb3RlX3BvcnQsCiAgICAgICAgaW4gIENJQ006OlByb3RvY29sSWQgcHJv dG9jb2wsCiAgICAgICAgaW4gIENJQ006OkFzeW1LZXkga2V5X3JlZiwKICAgICAgICBvdXQgQ0lD TTo6RGVjcnlwdEJ5cGFzczo6Q29udHJvbGxlck5lZ290aWF0b3IgbmVnb3RpYXRvcl9yZWYgKTsK CiAgICAgIENJQ006OlN0YXR1cyBjcmVhdGVfZGVjcnlwdF9ieXBhc3NfY29uZHVpdCgKICAgICAg ICBpbiAgQ0lDTTo6UmVtb3RlUG9ydCByZW1vdGVfcG9ydCwKICAgICAgICBpbiAgQ0lDTTo6U3lt S2V5IGtleV9yZWYsCiAgICAgICAgaW4gIENJQ006OlN5bUVuY3JBbGdvcml0aG1JZCBhbGdvcml0 aG0sCiAgICAgICAgb3V0IENJQ006OkRlY3J5cHRCeXBhc3M6OkNvbmR1aXQgY29uZHVpdF9yZWYg KTsKCiAgICAgIENJQ006OlN0YXR1cyBjcmVhdGVfZGVjcnlwdF9ieXBhc3NfY29udHJvbGxlcigK ICAgICAgICBpbiAgQ0lDTTo6TG9jYWxQb3J0IGxvY2FsX3BvcnQsCiAgICAgICAgaW4gIENJQ006 OlJlbW90ZVBvcnQgcmVtb3RlX3BvcnQsCiAgICAgICAgaW4gIENJQ006OlN5bUtleSBrZXlfcmVm LAogICAgICAgIGluICBDSUNNOjpTeW1FbmNyQWxnb3JpdGhtSWQgYWxnb3JpdGhtLAogICAgICAg IG91dCBDSUNNOjpEZWNyeXB0QnlwYXNzOjpDb250cm9sbGVyIGNvbnRyb2xsZXJfcmVmICk7Cgog ICAgICBDSUNNOjpTdGF0dXMgZ2V0X2RlY3J5cHRfYnlwYXNzX3N0cmVhbSgKICAgICAgICBpbiAg Q0lDTTo6TG9jYWxQb3J0IGxvY2FsX3BvcnQsCiAgICAgICAgb3V0IENJQ006OkRlY3J5cHRCeXBh c3M6OlN0cmVhbSBzdHJlYW1fcmVmICk7CiAgICB9OwogIH07CgogIG1vZHVsZSBFbWl0IHsKICAg IGludGVyZmFjZSBHZXRTdHJlYW0gOiBDSUNNOjpSZWFkU3RyZWFtIHsKICAgICAgQ0lDTTo6U3Rh dHVzIGdldCgKICAgICAgICBpbiAgQ0lDTTo6VUludDMyIGxlbmd0aCwKICAgICAgICBvdXQgQ0lD TTo6QnVmZmVyIGJ1ZmZlciApOwoKICAgICAgQ0lDTTo6U3RhdHVzIGdldF9ub25fYmxvY2tpbmco CiAgICAgICAgaW4gIENJQ006OlVJbnQzMiBsZW5ndGgsCiAgICAgICAgb3V0IENJQ006OkJ1ZmZl ciBidWZmZXIsCiAgICAgICAgaW4gIENJQ006OlRyYW5zSWQgdHJhbnNhY3Rpb25faWQgKTsKCiAg ICAgIENJQ006OlN0YXR1cyBnZXRfcG9sbCgKICAgICAgICBpbiAgQ0lDTTo6VHJhbnNJZCB0cmFu c2FjdGlvbl9pZCwKICAgICAgICBvdXQgQ0lDTTo6UmVhZFN0cmVhbTo6UmVhZFN0YXR1cyBzdGF0 dXMgKTsKICAgIH07CgogICAgaW50ZXJmYWNlIENvbnRyb2xsZXIgOiBDSUNNOjpDb250cm9sbGVy IHsKICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIENJQ006OlJlbW90ZVBvcnQgcmVtb3RlX3BvcnQ7 CiAgICB9OwoKICAgIGludGVyZmFjZSBLZXlTdHJlYW1HZW5Db250cm9sbGVyIDoKICAgICAgQ0lD TTo6U3ltS2V5Q29udHJvbGxlciwKICAgICAgQ0lDTTo6R2VuVmVjdG9yQ29udHJvbGxlciwKICAg ICAgQ0lDTTo6RW1pdDo6Q29udHJvbGxlciB7fTsKCiAgICBpbnRlcmZhY2UgUHNldWRvUmFuZG9t Q29udHJvbGxlciA6CiAgICAgIENJQ006OlN5bUtleUNvbnRyb2xsZXIsCiAgICAgIENJQ006OkVt aXQ6OkNvbnRyb2xsZXIge307CgogICAgaW50ZXJmYWNlIFJhbmRvbUNvbnRyb2xsZXIgOiBDSUNN OjpFbWl0OjpDb250cm9sbGVyIHt9OwoKICAgIGludGVyZmFjZSBLZXlTdHJlYW1HZW5Db25kdWl0 IDoKICAgICAgQ0lDTTo6Q29uZHVpdCwKICAgICAgQ0lDTTo6U3ltS2V5Q29udHJvbGxlciwKICAg ICAgQ0lDTTo6R2VuVmVjdG9yQ29udHJvbGxlciwKICAgICAgQ0lDTTo6RW1pdDo6R2V0U3RyZWFt IHt9OwoKICAgIGludGVyZmFjZSBQc2V1ZG9SYW5kb21Db25kdWl0IDoKICAgICAgQ0lDTTo6Q29u ZHVpdCwKICAgICAgQ0lDTTo6U3ltS2V5Q29udHJvbGxlciwKICAgICAgQ0lDTTo6RW1pdDo6R2V0 U3RyZWFtIHt9OwoKICAgIGludGVyZmFjZSBSYW5kb21Db25kdWl0IDoKICAgICAgQ0lDTTo6Q29u ZHVpdCwKICAgICAgQ0lDTTo6RW1pdDo6R2V0U3RyZWFtIHt9OwoKICAgIGludGVyZmFjZSBDaGFu bmVsTWFuYWdlciB7CiAgICAgIENJQ006OlN0YXR1cyBjcmVhdGVfa2V5X3N0cmVhbV9nZW5fY29u dHJvbGxlcigKICAgICAgICBpbiAgQ0lDTTo6UmVtb3RlUG9ydCByZW1vdGVfcG9ydCwKICAgICAg ICBpbiAgQ0lDTTo6U3ltS2V5IGtleV9yZWYsCiAgICAgICAgaW4gIENJQ006OlN5bUVuY3JBbGdv cml0aG1JZCBhbGdvcml0aG0sCiAgICAgICAgb3V0IENJQ006OkVtaXQ6OktleVN0cmVhbUdlbkNv bnRyb2xsZXIgY29udHJvbGxlcl9yZWYgKTsKCiAgICAgIENJQ006OlN0YXR1cyBjcmVhdGVfcHNl dWRvcmFuZG9tX2NvbnRyb2xsZXIoCiAgICAgICAgaW4gIENJQ006OlJlbW90ZVBvcnQgcmVtb3Rl X3BvcnQsCiAgICAgICAgaW4gIENJQ006OlN5bUtleSBzZWVkLAogICAgICAgIG91dCBDSUNNOjpF bWl0OjpQc2V1ZG9SYW5kb21Db250cm9sbGVyIGNvbnRyb2xsZXJfcmVmICk7CgogICAgICBDSUNN OjpTdGF0dXMgY3JlYXRlX3JhbmRvbV9jb250cm9sbGVyKAogICAgICAgIGluICBDSUNNOjpSZW1v dGVQb3J0IHJlbW90ZV9wb3J0LAogICAgICAgIG91dCBDSUNNOjpFbWl0OjpSYW5kb21Db250cm9s bGVyIGNvbnRyb2xsZXJfcmVmICk7CgogICAgICBDSUNNOjpTdGF0dXMgY3JlYXRlX2tleV9zdHJl YW1fZ2VuX2NvbmR1aXQoCiAgICAgICAgaW4gIENJQ006OlN5bUtleSBrZXlfcmVmLAogICAgICAg IGluICBDSUNNOjpTeW1FbmNyQWxnb3JpdGhtSWQgYWxnb3JpdGhtLAogICAgICAgIG91dCBDSUNN OjpFbWl0OjpLZXlTdHJlYW1HZW5Db25kdWl0IGNvbmR1aXRfcmVmICk7CgogICAgICBDSUNNOjpT dGF0dXMgY3JlYXRlX3BzZXVkb3JhbmRvbV9jb25kdWl0KAogICAgICAgIGluICBDSUNNOjpTeW1L ZXkgc2VlZCwKICAgICAgICBvdXQgQ0lDTTo6RW1pdDo6UHNldWRvUmFuZG9tQ29uZHVpdCBjb25k dWl0X3JlZiApOwoKICAgICAgQ0lDTTo6U3RhdHVzIGNyZWF0ZV9yYW5kb21fY29uZHVpdCgKICAg ICAgICBvdXQgQ0lDTTo6RW1pdDo6UmFuZG9tQ29uZHVpdCBjb25kdWl0X3JlZiApOwogICAgfTsK ICB9OwoKICBtb2R1bGUgQW5zd2VyIHsKICAgIGludGVyZmFjZSBQdXRTdHJlYW0gOiBDSUNNOjpT dHJlYW0gewogICAgICBDSUNNOjpTdGF0dXMgcHV0KAogICAgICAgIGluICBDSUNNOjpCdWZmZXIg YnVmZmVyICk7CiAgICB9OwoKICAgIGludGVyZmFjZSBIYXNoQ29uZHVpdCA6CiAgICAgIENJQ006 OkNvbmR1aXQsCiAgICAgIENJQ006OkFuc3dlcjo6UHV0U3RyZWFtIHsKCiAgICAgIHJlYWRvbmx5 IGF0dHJpYnV0ZSBDSUNNOjpIYXNoQWxnb3JpdGhtSWQgYWxnb3JpdGhtOwoKICAgICAgQ0lDTTo6 U3RhdHVzIGVuZF9nZXRfaGFzaCgKICAgICAgICBvdXQgSGFzaEJ1ZmZlciBoYXNoICk7CiAgICB9 OwoKICAgIGludGVyZmFjZSBNQUNDb25kdWl0IDoKICAgICAgQ0lDTTo6QWJzdHJhY3RNQUNDb25k dWl0LAogICAgICBDSUNNOjpBbnN3ZXI6OlB1dFN0cmVhbSB7fTsKCiAgICBpbnRlcmZhY2UgTUFD VmVyaWZ5Q29uZHVpdCA6CiAgICAgIENJQ006OkFic3RyYWN0TUFDVmVyaWZ5Q29uZHVpdCwKICAg ICAgQ0lDTTo6QW5zd2VyOjpQdXRTdHJlYW0ge307CgogICAgaW50ZXJmYWNlIFNpZ25Db25kdWl0 IDoKICAgICAgQ0lDTTo6QWJzdHJhY3RTaWduQ29uZHVpdCwKICAgICAgQ0lDTTo6QW5zd2VyOjpQ dXRTdHJlYW0ge307CgogICAgaW50ZXJmYWNlIFNpZ25IYXNoQ29uZHVpdCA6IENJQ006OkFuc3dl cjo6U2lnbkNvbmR1aXQge307CgogICAgaW50ZXJmYWNlIFZlcmlmeUNvbmR1aXQgOgogICAgICBD SUNNOjpBYnN0cmFjdFNpZ1ZlcmlmeUNvbmR1aXQsCiAgICAgIENJQ006OkFuc3dlcjo6UHV0U3Ry ZWFtIHt9OwoKICAgIGludGVyZmFjZSBWZXJpZnlIYXNoQ29uZHVpdCA6IENJQ006OkFuc3dlcjo6 VmVyaWZ5Q29uZHVpdCB7fTsKCiAgICBpbnRlcmZhY2UgQ2hhbm5lbE1hbmFnZXIgewogICAgICBD SUNNOjpTdGF0dXMgY3JlYXRlX2hhc2hfY29uZHVpdCgKICAgICAgICBpbiAgQ0lDTTo6SGFzaEFs Z29yaXRobUlkIGFsZ29yaXRobSwKICAgICAgICBvdXQgQ0lDTTo6QW5zd2VyOjpIYXNoQ29uZHVp dCBjb25kdWl0X3JlZiApOwoKICAgICAgQ0lDTTo6U3RhdHVzIGNyZWF0ZV9tYWNfY29uZHVpdCgK ICAgICAgICBpbiAgQ0lDTTo6U3ltS2V5IGtleV9yZWYsCiAgICAgICAgaW4gIENJQ006OlN5bU1h Y0FsZ29yaXRobUlkIGFsZ29yaXRobSwKICAgICAgICBvdXQgQ0lDTTo6QW5zd2VyOjpNQUNDb25k dWl0IGNvbmR1aXRfcmVmICk7CgogICAgICBDSUNNOjpTdGF0dXMgY3JlYXRlX21hY192ZXJpZnlf Y29uZHVpdCgKICAgICAgICBpbiAgQ0lDTTo6U3ltS2V5IGtleV9yZWYsCiAgICAgICAgaW4gIENJ Q006OlN5bU1hY0FsZ29yaXRobUlkIGFsZ29yaXRobSwKICAgICAgICBvdXQgQ0lDTTo6QW5zd2Vy OjpNQUNWZXJpZnlDb25kdWl0IGNvbmR1aXRfcmVmICk7CgogICAgICBDSUNNOjpTdGF0dXMgY3Jl YXRlX3NpZ25fY29uZHVpdCgKICAgICAgICBpbiAgQ0lDTTo6QXN5bUtleSBrZXlfcmVmLAogICAg ICAgIGluICBDSUNNOjpBc3ltU2lnQWxnb3JpdGhtSWQgYWxnb3JpdGhtLAogICAgICAgIG91dCBD SUNNOjpBbnN3ZXI6OlNpZ25Db25kdWl0IGNvbmR1aXRfcmVmICk7CgogICAgICBDSUNNOjpTdGF0 dXMgY3JlYXRlX3NpZ25faGFzaF9jb25kdWl0KAogICAgICAgIGluICBDSUNNOjpBc3ltS2V5IGtl eV9yZWYsCiAgICAgICAgaW4gIENJQ006OkFzeW1TaWdBbGdvcml0aG1JZCBhbGdvcml0aG0sCiAg ICAgICAgb3V0IENJQ006OkFuc3dlcjo6U2lnbkhhc2hDb25kdWl0IGNvbmR1aXRfcmVmICk7Cgog ICAgICBDSUNNOjpTdGF0dXMgY3JlYXRlX3ZlcmlmeV9jb25kdWl0KAogICAgICAgIGluICBDSUNN OjpBc3ltS2V5IGtleV9yZWYsCiAgICAgICAgaW4gIENJQ006OkFzeW1TaWdBbGdvcml0aG1JZCBh bGdvcml0aG0sCiAgICAgICAgb3V0IENJQ006OkFuc3dlcjo6VmVyaWZ5Q29uZHVpdCBjb25kdWl0 X3JlZiApOwoKICAgICAgQ0lDTTo6U3RhdHVzIGNyZWF0ZV92ZXJpZnlfaGFzaF9jb25kdWl0KAog ICAgICAgIGluICBDSUNNOjpBc3ltS2V5IGtleV9yZWYsCiAgICAgICAgaW4gIENJQ006OkFzeW1T aWdBbGdvcml0aG1JZCBhbGdvcml0aG0sCiAgICAgICAgb3V0IENJQ006OkFuc3dlcjo6VmVyaWZ5 SGFzaENvbmR1aXQgY29uZHVpdF9yZWYgKTsKICAgIH07CiAgfTsKCiAgbW9kdWxlIENvcHJvY2Vz c29yIHsKICAgIGludGVyZmFjZSBTdHJlYW0gOiBDSUNNOjpTdHJlYW0gewogICAgICBDSUNNOjpT dGF0dXMgZ2V0X2ZpbmFsX2J1ZmZlcigKICAgICAgICBvdXQgQ0lDTTo6QnVmZmVyIGJ1ZmZlciAp OwogICAgfTsKCiAgICBpbnRlcmZhY2UgRW5jcnlwdENvbmR1aXQgOgogICAgICBDSUNNOjpDb25k dWl0LAogICAgICBDSUNNOjpTeW1LZXlDb250cm9sbGVyLAogICAgICBDSUNNOjpHZW5WZWN0b3JD b250cm9sbGVyLAogICAgICBDSUNNOjpSZXN5bmNDb250cm9sbGVyLAogICAgICBDSUNNOjpDb3By b2Nlc3Nvcjo6U3RyZWFtIHsKCiAgICAgIENJQ006OlN0YXR1cyBlbmNyeXB0KAogICAgICAgIGlu ICBDSUNNOjpCdWZmZXIgcGxhaW50ZXh0LAogICAgICAgIG91dCBDSUNNOjpCdWZmZXIgY2lwaGVy dGV4dCApOwogICAgfTsKCiAgICBpbnRlcmZhY2UgRW5jcnlwdFdpdGhNQUNDb25kdWl0IDoKICAg ICAgQ0lDTTo6QWJzdHJhY3RNQUNDb25kdWl0LAogICAgICBDSUNNOjpDb3Byb2Nlc3Nvcjo6RW5j cnlwdENvbmR1aXQge307CgogICAgaW50ZXJmYWNlIEVuY3J5cHRXaXRoU2lnbkNvbmR1aXQgOgog ICAgICBDSUNNOjpBYnN0cmFjdFNpZ25Db25kdWl0LAogICAgICBDSUNNOjpDb3Byb2Nlc3Nvcjo6 RW5jcnlwdENvbmR1aXQge307CgogICAgaW50ZXJmYWNlIERlY3J5cHRDb25kdWl0IDoKICAgICAg Q0lDTTo6Q29uZHVpdCwKICAgICAgQ0lDTTo6U3ltS2V5Q29udHJvbGxlciwKICAgICAgQ0lDTTo6 U2V0VmVjdG9yQ29udHJvbGxlciwKICAgICAgQ0lDTTo6UmVzeW5jQ29udHJvbGxlciwKICAgICAg Q0lDTTo6Q29wcm9jZXNzb3I6OlN0cmVhbSB7CgogICAgICBDSUNNOjpTdGF0dXMgZGVjcnlwdCgK ICAgICAgICBpbiAgQ0lDTTo6QnVmZmVyIGNpcGhlcnRleHQsCiAgICAgICAgb3V0IENJQ006OkJ1 ZmZlciBwbGFpbnRleHQgKTsKICAgIH07CgogICAgaW50ZXJmYWNlIERlY3J5cHRXaXRoTUFDQ29u ZHVpdCA6CiAgICAgIENJQ006OkFic3RyYWN0TUFDVmVyaWZ5Q29uZHVpdCwKICAgICAgQ0lDTTo6 Q29wcm9jZXNzb3I6OkRlY3J5cHRDb25kdWl0IHt9OwoKICAgIGludGVyZmFjZSBEZWNyeXB0V2l0 aFZlcmlmeUNvbmR1aXQgOgogICAgICBDSUNNOjpBYnN0cmFjdFNpZ1ZlcmlmeUNvbmR1aXQsCiAg ICAgIENJQ006OkNvcHJvY2Vzc29yOjpEZWNyeXB0Q29uZHVpdCB7fTsKCiAgICBpbnRlcmZhY2Ug Q2hhbm5lbE1hbmFnZXIgewogICAgICBDSUNNOjpTdGF0dXMgY3JlYXRlX2NvcHJvY2Vzc29yX2Vu Y3J5cHRfY29uZHVpdCgKICAgICAgICBpbiAgQ0lDTTo6U3ltS2V5IGtleV9yZWYsCiAgICAgICAg aW4gIENJQ006OlN5bUVuY3JBbGdvcml0aG1JZCBhbGdvcml0aG0sCiAgICAgICAgb3V0IENJQ006 OkNvcHJvY2Vzc29yOjpFbmNyeXB0Q29uZHVpdCBjb25kdWl0X3JlZiApOwoKICAgICAgQ0lDTTo6 U3RhdHVzIGNyZWF0ZV9jb3Byb2Nlc3Nvcl9lbmNyeXB0X3dpdGhfbWFjX2NvbmR1aXQoCiAgICAg ICAgaW4gIENJQ006OlN5bUtleSBtYWNfa2V5X3JlZiwKICAgICAgICBpbiAgQ0lDTTo6U3ltS2V5 IGVuY3J5cHRfa2V5X3JlZiwKICAgICAgICBpbiAgQ0lDTTo6U3ltTWFjQWxnb3JpdGhtSWQgbWFj X2FsZ29yaXRobSwKICAgICAgICBpbiAgQ0lDTTo6U3ltRW5jckFsZ29yaXRobUlkIGVuY3J5cHRf YWxnb3JpdGhtLAogICAgICAgIG91dCBDSUNNOjpDb3Byb2Nlc3Nvcjo6RW5jcnlwdFdpdGhNQUND b25kdWl0IGNvbmR1aXRfcmVmICk7CgogICAgICBDSUNNOjpTdGF0dXMgY3JlYXRlX2NvcHJvY2Vz c29yX2VuY3J5cHRfd2l0aF9zaWduX2NvbmR1aXQoCiAgICAgICAgaW4gIENJQ006OkFzeW1LZXkg c2lnbl9rZXlfcmVmLAogICAgICAgIGluICBDSUNNOjpTeW1LZXkgZW5jcnlwdF9rZXlfcmVmLAog ICAgICAgIGluICBDSUNNOjpBc3ltU2lnQWxnb3JpdGhtSWQgc2lnbl9hbGdvcml0aG0sCiAgICAg ICAgaW4gIENJQ006OlN5bUVuY3JBbGdvcml0aG1JZCBlbmNyeXB0X2FsZ29yaXRobSwKICAgICAg ICBvdXQgQ0lDTTo6Q29wcm9jZXNzb3I6OkVuY3J5cHRXaXRoU2lnbkNvbmR1aXQgY29uZHVpdF9y ZWYgKTsKCiAgICAgIENJQ006OlN0YXR1cyBjcmVhdGVfY29wcm9jZXNzb3JfZGVjcnlwdF9jb25k dWl0KAogICAgICAgIGluICBDSUNNOjpTeW1LZXkga2V5X3JlZiwKICAgICAgICBpbiAgQ0lDTTo6 U3ltRW5jckFsZ29yaXRobUlkIGFsZ29yaXRobSwKICAgICAgICBvdXQgQ0lDTTo6Q29wcm9jZXNz b3I6OkRlY3J5cHRDb25kdWl0IGNvbmR1aXRfcmVmICk7CgogICAgICBDSUNNOjpTdGF0dXMgY3Jl YXRlX2NvcHJvY2Vzc29yX2RlY3J5cHRfd2l0aF9tYWNfY29uZHVpdCgKICAgICAgICBpbiAgQ0lD TTo6U3ltS2V5IG1hY19rZXlfcmVmLAogICAgICAgIGluICBDSUNNOjpTeW1LZXkgZGVjcnlwdF9r ZXlfcmVmLAogICAgICAgIGluICBDSUNNOjpTeW1NYWNBbGdvcml0aG1JZCBtYWNfYWxnb3JpdGht LAogICAgICAgIGluICBDSUNNOjpTeW1FbmNyQWxnb3JpdGhtSWQgZW5jcnlwdF9hbGdvcml0aG0s CiAgICAgICAgb3V0IENJQ006OkNvcHJvY2Vzc29yOjpEZWNyeXB0V2l0aE1BQ0NvbmR1aXQgY29u ZHVpdF9yZWYgKTsKCiAgICAgIENJQ006OlN0YXR1cyBjcmVhdGVfY29wcm9jZXNzb3JfZGVjcnlw dF93aXRoX3ZlcmlmeV9jb25kdWl0KAogICAgICAgIGluICBDSUNNOjpBc3ltS2V5IHZlcmlmeV9r ZXlfcmVmLAogICAgICAgIGluICBDSUNNOjpTeW1LZXkgZGVjcnlwdF9rZXlfcmVmLAogICAgICAg IGluICBDSUNNOjpBc3ltU2lnQWxnb3JpdGhtSWQgdmVyaWZ5X2FsZ29yaXRobSwKICAgICAgICBp biAgQ0lDTTo6U3ltRW5jckFsZ29yaXRobUlkIGRlY3J5cHRfYWxnb3JpdGhtLAogICAgICAgIG91 dCBDSUNNOjpDb3Byb2Nlc3Nvcjo6RGVjcnlwdFdpdGhWZXJpZnlDb25kdWl0IGNvbmR1aXRfcmVm ICk7CiAgICB9OwogIH07CgogIGludGVyZmFjZSBJdGVyYXRvciB7CiAgICB0eXBlZGVmIENJQ006 OlVJbnQzMiBTdGF0dXM7CiAgICBjb25zdCBDSUNNOjpJdGVyYXRvcjo6U3RhdHVzIENfSVRFUkFU T1JfSEFTX05FWFQgPSAweDAwMDA2MDMxOwogICAgY29uc3QgQ0lDTTo6SXRlcmF0b3I6OlN0YXR1 cyBDX0lURVJBVE9SX05PX01PUkUgPSAweDAwMDA2MDMyOwoKICAgIENJQ006OlN0YXR1cyBoYXNf bmV4dCgKICAgICAgb3V0IENJQ006Okl0ZXJhdG9yOjpTdGF0dXMgaGFzX25leHQgKTsKICB9OwoK ICBpbnRlcmZhY2UgQXN5bUtleUl0ZXJhdG9yIDogQ0lDTTo6SXRlcmF0b3IgewogICAgQ0lDTTo6 U3RhdHVzIGdldF9uZXh0KAogICAgICBvdXQgQ0lDTTo6QXN5bUtleSBhc3ltX2tleV9yZWYgKTsK ICB9OwoKICBpbnRlcmZhY2UgTG9nRW50cnlJdGVyYXRvciA6IENJQ006Okl0ZXJhdG9yIHsKICAg IENJQ006OlN0YXR1cyBnZXRfbmV4dCgKICAgICAgb3V0IENJQ006OkxvZ0VudHJ5IGxvZ19lbnRy eV9yZWYgKTsKICB9OwoKICBpbnRlcmZhY2UgTW9kdWxlQXNzbkl0ZXJhdG9yIDogQ0lDTTo6SXRl cmF0b3IgewogICAgQ0lDTTo6U3RhdHVzIGdldF9uZXh0KAogICAgICBvdXQgQ0lDTTo6TW9kdWxl UmVjb3JkIG1vZHVsZV9yZWNfcmVmICk7CiAgfTsKCiAgaW50ZXJmYWNlIFBhY2thZ2VJdGVyYXRv ciA6IENJQ006Okl0ZXJhdG9yIHsKICAgIENJQ006OlN0YXR1cyBnZXRfbmV4dCgKICAgICAgb3V0 IENJQ006OlBhY2thZ2UgcGFja2FnZV9yZWYgKTsKICB9OwoKICBpbnRlcmZhY2UgUm9sZUlkSXRl cmF0b3IgOiBDSUNNOjpJdGVyYXRvciB7CiAgICBDSUNNOjpTdGF0dXMgZ2V0X25leHQoCiAgICAg IG91dCBDSUNNOjpSb2xlSWQgcm9sZV9pZCApOwogIH07CgogIGludGVyZmFjZSBTeW1LZXlJdGVy YXRvciA6IENJQ006Okl0ZXJhdG9yIHsKICAgIENJQ006OlN0YXR1cyBnZXRfbmV4dCgKICAgICAg b3V0IENJQ006OlN5bUtleSBzeW1fa2V5X3JlZiApOwogIH07CgogIGludGVyZmFjZSBUb2tlbkFz c25JdGVyYXRvciA6IENJQ006Okl0ZXJhdG9yIHsKICAgIENJQ006OlN0YXR1cyBnZXRfbmV4dCgK ICAgICAgb3V0IENJQ006OlRva2VuUmVjb3JkIHRva2VuX3JlY19yZWYgKTsKICB9OwoKICBpbnRl cmZhY2UgVXNlcklkSXRlcmF0b3IgOiBDSUNNOjpJdGVyYXRvciB7CiAgICBDSUNNOjpTdGF0dXMg Z2V0X25leHQoCiAgICAgIG91dCBDSUNNOjpVc2VySWQgdXNlcl9pZCApOwogIH07CgogIGludGVy ZmFjZSBDaGFubmVsTWFuYWdlciA6CiAgICBDSUNNOjpBbnN3ZXI6OkNoYW5uZWxNYW5hZ2VyLAog ICAgQ0lDTTo6QnlwYXNzUmVhZDo6Q2hhbm5lbE1hbmFnZXIsCiAgICBDSUNNOjpCeXBhc3NXcml0 ZTo6Q2hhbm5lbE1hbmFnZXIsCiAgICBDSUNNOjpDb3Byb2Nlc3Nvcjo6Q2hhbm5lbE1hbmFnZXIs CiAgICBDSUNNOjpEZWNyeXB0OjpDaGFubmVsTWFuYWdlciwKICAgIENJQ006OkRlY3J5cHRCeXBh c3M6OkNoYW5uZWxNYW5hZ2VyLAogICAgQ0lDTTo6RHVwbGV4OjpDaGFubmVsTWFuYWdlciwKICAg IENJQ006OkVtaXQ6OkNoYW5uZWxNYW5hZ2VyLAogICAgQ0lDTTo6RW5jcnlwdDo6Q2hhbm5lbE1h bmFnZXIsCiAgICBDSUNNOjpFbmNyeXB0QnlwYXNzOjpDaGFubmVsTWFuYWdlciB7CgogICAgQ0lD TTo6U3RhdHVzIGNyZWF0ZV9jb250cm9sbGVyX2dyb3VwKAogICAgICBvdXQgQ0lDTTo6Q29udHJv bGxlckdyb3VwIGNvbnRyb2xsZXJfZ3JvdXBfcmVmICk7CiAgfTsKCiAgaW50ZXJmYWNlIExvZ01h bmFnZXIgewogICAgcmVhZG9ubHkgYXR0cmlidXRlIENJQ006OkxvZ0VudHJ5SXRlcmF0b3IgbG9n X2VudHJ5X2l0ZXJhdG9yOwoKICAgIENJQ006OlN0YXR1cyByZXRyaWV2ZSgKICAgICAgb3V0IENJ Q006OkJ1ZmZlciBsb2dfcmVmICk7CgogICAgQ0lDTTo6U3RhdHVzIGRlc3Ryb3koKTsKICB9OwoK ICBpbnRlcmZhY2UgTG9naW5NYW5hZ2VyIHsKICAgICBDSUNNOjpTdGF0dXMgbG9naW4oCiAgICAg IGluICBDSUNNOjpVc2VySWQgdXNlciwKICAgICAgaW4gIENJQ006OkNoYXJTdHJpbmcgcGFzc3dv cmQsCiAgICAgIG91dCBDSUNNOjpMb2dpbiBsb2dpbl9yZWYgKTsKCiAgICBDSUNNOjpTdGF0dXMg bG9naW5fYXV0aF9kYXRhKAogICAgICBpbiAgQ0lDTTo6VXNlcklkIHVzZXIsCiAgICAgIGluICBD SUNNOjpDaGFyU3RyaW5nIHBhc3N3b3JkLAogICAgICBpbiAgQ0lDTTo6QnVmZmVyIGF1dGhfZGF0 YSwKICAgICAgb3V0IENJQ006OkxvZ2luIGxvZ2luX3JlZiApOwogIH07CgogIGludGVyZmFjZSBQ YWNrYWdlTWFuYWdlciB7CiAgICByZWFkb25seSBhdHRyaWJ1dGUgQ0lDTTo6UGFja2FnZUl0ZXJh dG9yIHBhY2thZ2VfaXRlcmF0b3I7CgogICAgQ0lDTTo6U3RhdHVzIGltcG9ydF9wYWNrYWdlKAog ICAgICBpbiAgQ0lDTTo6UGFja2FnZTo6UGFja2FnZVR5cGUgcGFja2FnZV90eXBlLAogICAgICBv dXQgQ0lDTTo6UGFja2FnZUltcG9ydGVyIGltcG9ydGVyX3JlZiApOwoKICAgIENJQ006OlN0YXR1 cyBpbXBvcnRfcGFja2FnZV93aXRoX2tleSgKICAgICAgaW4gIENJQ006OlBhY2thZ2U6OlBhY2th Z2VUeXBlIHBhY2thZ2VfdHlwZSwKICAgICAgaW4gIENJQ006OlN5bUtleSBrZXlfcmVmLAogICAg ICBvdXQgQ0lDTTo6UGFja2FnZUltcG9ydGVyIGltcG9ydGVyX3JlZiApOwoKICAgIENJQ006OlN0 YXR1cyBnZXRfcGFja2FnZV9ieV9pZCgKICAgICAgaW4gIENJQ006OlBhY2thZ2VJZCBwYWNrYWdl X2lkLAogICAgICBvdXQgQ0lDTTo6UGFja2FnZSBwYWNrYWdlX3JlZiApOwoKICAgIENJQ006OlN0 YXR1cyByZWVuY3J5cHRfc29mdHdhcmUoKTsKICB9OwoKICBpbnRlcmZhY2UgVGVzdE1hbmFnZXIg ewogICAgdHlwZWRlZiBDSUNNOjpVSW50MzIgU3RhdHVzOwogICAgY29uc3QgQ0lDTTo6VGVzdE1h bmFnZXI6OlN0YXR1cyBDX1RFU1RfU1VDQ0VTUyA9IDB4MDAwMDYwNjI7CiAgICBjb25zdCBDSUNN OjpUZXN0TWFuYWdlcjo6U3RhdHVzIENfVEVTVF9GQUlMVVJFID0gMHgwMDAwNjA2NDsKCiAgICBD SUNNOjpTdGF0dXMgcnVuX3Rlc3QoCiAgICAgIGluICBDSUNNOjpCdWZmZXIgdGVzdF9wYXJhbWV0 ZXJzLAogICAgICBvdXQgQ0lDTTo6VGVzdE1hbmFnZXI6OlN0YXR1cyBzdGF0dXMgKTsKCiAgICBD SUNNOjpTdGF0dXMgcnVuX3Rlc3RfZ2V0X3Jlc3VsdHMoCiAgICAgIGluICBDSUNNOjpCdWZmZXIg dGVzdF9wYXJhbWV0ZXJzLAogICAgICBvdXQgQ0lDTTo6QnVmZmVyIHRlc3RfcmVzdWx0cyApOwog IH07CgogIGludGVyZmFjZSBUb2tlbk1hbmFnZXIgewogICAgcmVhZG9ubHkgYXR0cmlidXRlIENJ Q006Ok1vZHVsZUFzc25JdGVyYXRvcgogICAgICBtb2R1bGVfYXNzb2NpYXRpb25faXRlcmF0b3I7 CgogICAgcmVhZG9ubHkgYXR0cmlidXRlIENJQ006OlRva2VuQXNzbkl0ZXJhdG9yCiAgICAgIHRv a2VuX2Fzc29jaWF0aW9uX2l0ZXJhdG9yOwoKICAgIENJQ006OlN0YXR1cyBhc3NvY2lhdGUoCiAg ICAgIG91dCBDSUNNOjpNb2R1bGVSZWNvcmQgbW9kdWxlX3JlYywKICAgICAgb3V0IENJQ006OlRv a2VuUmVjb3JkIHRva2VuX3JlYyApOwoKICAgIENJQ006OlN0YXR1cyBkaXNhc3NvY2lhdGUoKTsK CiAgICBDSUNNOjpTdGF0dXMgZGlzYXNzb2NpYXRlX21pc3NpbmdfbW9kdWxlKAogICAgICBpbiAg Q0lDTTo6TW9kdWxlUmVjb3JkIG1vZHVsZV9yZWMgKTsKCiAgICBDSUNNOjpTdGF0dXMgZGlzYXNz b2NpYXRlX21pc3NpbmdfdG9rZW4oCiAgICAgIGluICBDSUNNOjpUb2tlblJlY29yZCB0b2tlbl9y ZWMgKTsKICB9OwoKICBpbnRlcmZhY2UgVXNlck1hbmFnZXIgewogICAgcmVhZG9ubHkgYXR0cmli dXRlIENJQ006OlVzZXJJZEl0ZXJhdG9yIHVzZXJfaXRlcmF0b3I7CiAgICByZWFkb25seSBhdHRy aWJ1dGUgQ0lDTTo6Um9sZUlkSXRlcmF0b3Igcm9sZV9pdGVyYXRvcjsKCiAgICBDSUNNOjpTdGF0 dXMgYWRkKAogICAgICBpbiAgQ0lDTTo6VXNlcklkIHVzZXIsCiAgICAgIGluICBDSUNNOjpDaGFy U3RyaW5nIHBhc3N3b3JkICk7CgogICAgQ0lDTTo6U3RhdHVzIG1vZGlmeSgKICAgICAgaW4gIENJ Q006OlVzZXJJZCB1c2VyLAogICAgICBpbiAgQ0lDTTo6Q2hhclN0cmluZyBwYXNzd29yZCApOwoK ICAgIENJQ006OlN0YXR1cyByZW1vdmUoCiAgICAgIGluICBDSUNNOjpVc2VySWQgdXNlciApOwoK ICAgIENJQ006OlN0YXR1cyBhc3NvY2lhdGUoCiAgICAgIGluICBDSUNNOjpVc2VySWQgdXNlciwK ICAgICAgaW4gIENJQ006OlJvbGVJZCByb2xlICk7CgogICAgQ0lDTTo6U3RhdHVzIGRpc2Fzc29j aWF0ZSgKICAgICAgaW4gIENJQ006OlVzZXJJZCB1c2VyLAogICAgICBpbiAgQ0lDTTo6Um9sZUlk IHJvbGUgKTsKICB9OwoKICBpbnRlcmZhY2UgS2V5UHJvdG9jb2xTZW5kZXIgOiBDSUNNOjpOZWdv dGlhdG9yIHsKICAgIHR5cGVkZWYgQ0lDTTo6VUludDMyIENvbmRpdGlvbjsKCiAgICBjb25zdCBD SUNNOjpLZXlQcm90b2NvbFNlbmRlcjo6Q29uZGl0aW9uCiAgICAgIENfUFJPVE9DT0xfU0VORF9P S0FZID0gMHgwMDAwNjA0NTsKCiAgICBjb25zdCBDSUNNOjpLZXlQcm90b2NvbFNlbmRlcjo6Q29u ZGl0aW9uCiAgICAgIENfUFJPVE9DT0xfU0VORF9ET05FID0gMHgwMDAwNjA0NjsKCiAgICBjb25z dCBDSUNNOjpLZXlQcm90b2NvbFNlbmRlcjo6Q29uZGl0aW9uCiAgICAgIENfUFJPVE9DT0xfU0VO RF9FUlJPUiA9IDB4MDAwMDYwNDk7CgogICAgY29uc3QgQ0lDTTo6S2V5UHJvdG9jb2xTZW5kZXI6 OkNvbmRpdGlvbgogICAgICBDX1BST1RPQ09MX1NFTkRfRElTUExBWSA9IDB4MDAwMDYwNEE7Cgog ICAgY29uc3QgQ0lDTTo6S2V5UHJvdG9jb2xTZW5kZXI6OkNvbmRpdGlvbgogICAgICBDX1BST1RP Q09MX1NFTkRfQUJPUlRFRCA9IDB4MDAwMDYwNEM7CgogICAgY29uc3QgQ0lDTTo6S2V5UHJvdG9j b2xTZW5kZXI6OkNvbmRpdGlvbgogICAgICBDX1BST1RPQ09MX1NFTkRfTUVTU0FHRV9JTlZBTElE ID0gMHgwMDAwNjA0RjsKCiAgICBjb25zdCBDSUNNOjpLZXlQcm90b2NvbFNlbmRlcjo6Q29uZGl0 aW9uCiAgICAgIENfUFJPVE9DT0xfU0VORF9NRVNTQUdFX0lOVEVHUklUWSA9IDB4MDAwMDYwNTE7 CgogICAgY29uc3QgQ0lDTTo6S2V5UHJvdG9jb2xTZW5kZXI6OkNvbmRpdGlvbgogICAgICBDX1BS T1RPQ09MX1NFTkRfUFJPVE9DT0xfVklPTEFUSU9OID0gMHgwMDAwNjA1MjsKCiAgICBDSUNNOjpT dGF0dXMgcHV0X2ludG9fbW9kdWxlKAogICAgICBpbiAgQ0lDTTo6UHJvdG9jb2xJZCBwcm90b2Nv bCwKICAgICAgaW4gIENJQ006OkJ1ZmZlciBtZXNzYWdlLAogICAgICBvdXQgQ0lDTTo6S2V5UHJv dG9jb2xTZW5kZXI6OkNvbmRpdGlvbiBjb25kaXRpb24gKTsKCiAgICBDSUNNOjpTdGF0dXMgcHV0 X2ludG9fbW9kdWxlX2FsZ28oCiAgICAgIGluICBDSUNNOjpQcm90b2NvbElkIHByb3RvY29sLAog ICAgICBpbiAgQ0lDTTo6QnVmZmVyIG1lc3NhZ2UsCiAgICAgIGluICBDSUNNOjpTeW1FbmNyQWxn b3JpdGhtSWQgYWxnb3JpdGhtLAogICAgICBvdXQgQ0lDTTo6S2V5UHJvdG9jb2xTZW5kZXI6OkNv bmRpdGlvbiBjb25kaXRpb24gKTsKICB9OwoKICBpbnRlcmZhY2UgS2V5UHJvdG9jb2xSZWNlaXZl ciB7CiAgICB0eXBlZGVmIENJQ006OlVJbnQzMiBDb25kaXRpb247CgogICAgY29uc3QgQ0lDTTo6 S2V5UHJvdG9jb2xSZWNlaXZlcjo6Q29uZGl0aW9uCiAgICAgIENfUFJPVE9DT0xfUkVDRUlWRV9P S0FZID0gMHgwMDAwNjAzNDsKCiAgICBjb25zdCBDSUNNOjpLZXlQcm90b2NvbFJlY2VpdmVyOjpD b25kaXRpb24KICAgICAgQ19QUk9UT0NPTF9SRUNFSVZFX0RPTkUgPSAweDAwMDA2MDM3OwoKICAg IGNvbnN0IENJQ006OktleVByb3RvY29sUmVjZWl2ZXI6OkNvbmRpdGlvbgogICAgICBDX1BST1RP Q09MX1JFQ0VJVkVfQlVTWSA9IDB4MDAwMDYwMzg7CgogICAgY29uc3QgQ0lDTTo6S2V5UHJvdG9j b2xSZWNlaXZlcjo6Q29uZGl0aW9uCiAgICAgIENfUFJPVE9DT0xfUkVDRUlWRV9FUlJPUiA9IDB4 MDAwMDYwM0I7CgogICAgY29uc3QgQ0lDTTo6S2V5UHJvdG9jb2xSZWNlaXZlcjo6Q29uZGl0aW9u CiAgICAgIENfUFJPVE9DT0xfUkVDRUlWRV9BQk9SVEVEID0gMHgwMDAwNjAzRDsKCiAgICBjb25z dCBDSUNNOjpLZXlQcm90b2NvbFJlY2VpdmVyOjpDb25kaXRpb24KICAgICAgQ19QUk9UT0NPTF9S RUNFSVZFX01FU1NBR0VfSU5WQUxJRCA9IDB4MDAwMDYwM0U7CgogICAgY29uc3QgQ0lDTTo6S2V5 UHJvdG9jb2xSZWNlaXZlcjo6Q29uZGl0aW9uCiAgICAgIENfUFJPVE9DT0xfUkVDRUlWRV9NRVNT QUdFX0lOVEVHUklUWSA9IDB4MDAwMDYwNDA7CgogICAgY29uc3QgQ0lDTTo6S2V5UHJvdG9jb2xS ZWNlaXZlcjo6Q29uZGl0aW9uCiAgICAgIENfUFJPVE9DT0xfUkVDRUlWRV9WSU9MQVRJT04gPSAw eDAwMDA2MDQzOwoKICAgIENJQ006OlN0YXR1cyBhYm9ydCgpOwoKICAgIENJQ006OlN0YXR1cyBn ZXRfZnJvbV9tb2R1bGUoCiAgICAgIGluICBDSUNNOjpQcm90b2NvbElkIHByb3RvY29sLAogICAg ICBvdXQgQ0lDTTo6QnVmZmVyIG1lc3NhZ2UsCiAgICAgIG91dCBDSUNNOjpLZXlQcm90b2NvbFJl Y2VpdmVyOjpDb25kaXRpb24gY29uZGl0aW9uICk7CgogICAgQ0lDTTo6U3RhdHVzIGdldF9rZXko CiAgICAgIG91dCBDSUNNOjpTeW1LZXkga2V5X3JlZiApOwogIH07CgogIGludGVyZmFjZSBTeW1L ZXlNYW5hZ2VyIHsKICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDSUNNOjpTeW1LZXlJdGVyYXRvciBz eW1rZXlfaXRlcmF0b3I7CiAgICByZWFkb25seSBhdHRyaWJ1dGUgQ0lDTTo6S2V5UHJvdG9jb2xT ZW5kZXIga2V5X3Byb3RvY29sX3NlbmRlcjsKICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDSUNNOjpL ZXlQcm90b2NvbFJlY2VpdmVyIGtleV9wcm90b2NvbF9yZWNlaXZlcjsKCiAgICBDSUNNOjpTdGF0 dXMgZ2V0X2tleV9ieV9pZCgKICAgICAgaW4gIENJQ006OktleUlkIGtleV9pZCwKICAgICAgb3V0 IENJQ006OlN5bUtleSBrZXlfcmVmICk7CgogICAgQ0lDTTo6U3RhdHVzIGdldF9rZXlfYnlfcGh5 c19sb2NhdGlvbigKICAgICAgaW4gIENJQ006OlVJbnQzMiBwaHlzX2xvY2F0aW9uLAogICAgICBv dXQgQ0lDTTo6U3ltS2V5IGtleV9yZWYgKTsKCiAgICBDSUNNOjpTdGF0dXMgZ2V0X2tleV9sYXN0 X2ZpbGxlZCgKICAgICAgb3V0IENJQ006OlN5bUtleSBrZXlfcmVmICk7CgogICAgQ0lDTTo6U3Rh dHVzIGltcG9ydF9rZXkoCiAgICAgIGluICBDSUNNOjpCdWZmZXIga2V5X21hdGVyaWFsLAogICAg ICBvdXQgQ0lDTTo6U3ltS2V5IGtleV9yZWYgKTsKCiAgICBDSUNNOjpTdGF0dXMgaW1wb3J0X2tl eV9pbnRvX3BoeXNfbG9jYXRpb24oCiAgICAgIGluICBDSUNNOjpCdWZmZXIga2V5X21hdGVyaWFs LAogICAgICBpbiAgQ0lDTTo6VUludDMyIHBoeXNfbG9jYXRpb24sCiAgICAgIG91dCBDSUNNOjpT eW1LZXkga2V5X3JlZiApOwoKICAgIENJQ006OlN0YXR1cyBpbXBvcnRfa2V5X3ZpYV9maWxsKAog ICAgICBpbiAgQ0lDTTo6TG9jYWxQb3J0IGZpbGxfcG9ydCwKICAgICAgb3V0IENJQ006OlN5bUtl eSBrZXlfcmVmICk7CgogICAgQ0lDTTo6U3RhdHVzIGltcG9ydF9rZXlfdmlhX2ZpbGxfaW50b19w aHlzX2xvY2F0aW9uKAogICAgICBpbiAgQ0lDTTo6TG9jYWxQb3J0IGZpbGxfcG9ydCwKICAgICAg aW4gIENJQ006OlVJbnQzMiBwaHlzX2xvY2F0aW9uLAogICAgICBvdXQgQ0lDTTo6U3ltS2V5IGtl eV9yZWYgKTsKCiAgICBDSUNNOjpTdGF0dXMgZ2VuZXJhdGVfa2V5KAogICAgICBpbiAgQ0lDTTo6 U3ltRW5jckFsZ29yaXRobUlkIGFsZ29yaXRobSwKICAgICAgb3V0IENJQ006OlN5bUtleSBrZXlf cmVmICk7CgogICAgQ0lDTTo6U3RhdHVzIGRlcml2ZV9rZXkoCiAgICAgIGluICBDSUNNOjpDaGFy U3RyaW5nIHBhc3N3b3JkLAogICAgICBpbiAgQ0lDTTo6QnVmZmVyIHNhbHQsCiAgICAgIGluICBD SUNNOjpVSW50MzIgaXRlcmF0aW9uX2NvdW50LAogICAgICBpbiAgQ0lDTTo6SGFzaEFsZ29yaXRo bUlkIGhhc2hfYWxnb3JpdGhtLAogICAgICBpbiAgQ0lDTTo6U3ltRW5jckFsZ29yaXRobUlkIGFs Z29yaXRobSwKICAgICAgb3V0IENJQ006OlN5bUtleSBrZXlfcmVmICk7CgogICAgQ0lDTTo6U3Rh dHVzIGRlcml2ZV9kZXRlcm1pbmlzdGljX2tleSgKICAgICAgaW4gIENJQ006OlN5bUtleSBrZXlf cHJvZF9rZXksCiAgICAgIGluICBDSUNNOjpDaGFyU3RyaW5nIHNoYXJlZF9zZWNyZXQsCiAgICAg IGluICBDSUNNOjpTeW1FbmNyQWxnb3JpdGhtSWQgYWxnb3JpdGhtLAogICAgICBvdXQgQ0lDTTo6 U3ltS2V5IGtleV9yZWYgKTsKICB9OwoKICBpbnRlcmZhY2UgQXN5bUtleU1hbmFnZXIgewogICAg cmVhZG9ubHkgYXR0cmlidXRlIENJQ006OkFzeW1LZXlJdGVyYXRvciBhc3lta2V5X2l0ZXJhdG9y OwoKICAgIENJQ006OlN0YXR1cyBnZXRfa2V5X2J5X2lkKAogICAgICBpbiAgQ0lDTTo6S2V5SWQg a2V5X2lkLAogICAgICBvdXQgQ0lDTTo6QXN5bUtleSBrZXlfcmVmICk7CgogICAgQ0lDTTo6U3Rh dHVzIGdldF9rZXlfYnlfcGh5c19sb2NhdGlvbigKICAgICAgaW4gIENJQ006OlVJbnQzMiBwaHlz X2xvY2F0aW9uLAogICAgICBvdXQgQ0lDTTo6QXN5bUtleSBrZXlfcmVmICk7CgogICAgQ0lDTTo6 U3RhdHVzIGdldF9rZXlfbGFzdF9maWxsZWQoCiAgICAgIG91dCBDSUNNOjpBc3ltS2V5IGtleV9y ZWYgKTsKCiAgICBDSUNNOjpTdGF0dXMgaW1wb3J0X2tleSgKICAgICAgaW4gIENJQ006OkJ1ZmZl ciBrZXlfbWF0ZXJpYWwsCiAgICAgIG91dCBDSUNNOjpBc3ltS2V5IGtleV9yZWYgKTsKCiAgICBD SUNNOjpTdGF0dXMgaW1wb3J0X2tleV9pbnRvX3BoeXNfbG9jYXRpb24oCiAgICAgIGluICBDSUNN OjpCdWZmZXIga2V5X21hdGVyaWFsLAogICAgICBpbiAgQ0lDTTo6VUludDMyIHBoeXNfbG9jYXRp b24sCiAgICAgIG91dCBDSUNNOjpTeW1LZXkga2V5X3JlZiApOwoKICAgIENJQ006OlN0YXR1cyBp bXBvcnRfa2V5X3ZpYV9maWxsKAogICAgICBpbiAgQ0lDTTo6TG9jYWxQb3J0IGZpbGxfcG9ydCwK ICAgICAgb3V0IENJQ006OkFzeW1LZXkga2V5X3JlZiApOwoKICAgIENJQ006OlN0YXR1cyBpbXBv cnRfa2V5X3ZpYV9maWxsX2ludG9fcGh5c19sb2NhdGlvbigKICAgICAgaW4gIENJQ006OkxvY2Fs UG9ydCBmaWxsX3BvcnQsCiAgICAgIGluICBDSUNNOjpVSW50MzIgcGh5c19sb2NhdGlvbiwKICAg ICAgb3V0IENJQ006OkFzeW1LZXkga2V5X3JlZiApOwoKICAgIENJQ006OlN0YXR1cyBnZW5lcmF0 ZV9rZXlfcGFpcigKICAgICAgaW4gIENJQ006OkFzeW1FbmNyQWxnb3JpdGhtSWQgYWxnb3JpdGht LAogICAgICBvdXQgQ0lDTTo6QXN5bUtleSBrZXlfcmVmICk7CiAgfTsKCiAgaW50ZXJmYWNlIEtl eURhdGFiYXNlIHsKICAgIENJQ006OlN0YXR1cyB6ZXJvaXplKCk7CiAgICBDSUNNOjpTdGF0dXMg cmVlbmNyeXB0KCk7CiAgfTsKCiAgaW50ZXJmYWNlIENyeXB0b01vZHVsZSB7CiAgICByZWFkb25s eSBhdHRyaWJ1dGUgQ0lDTTo6TW9kdWxlSWQgbW9kdWxlX2lkOwogICAgcmVhZG9ubHkgYXR0cmli dXRlIENJQ006OkNoYXJTdHJpbmcgbWFudWZhY3R1cmVyOwogICAgcmVhZG9ubHkgYXR0cmlidXRl IENJQ006OkNoYXJTdHJpbmcgbW9kZWw7CiAgICByZWFkb25seSBhdHRyaWJ1dGUgQ0lDTTo6Q2hh clN0cmluZyBzZXJpYWxfbnVtYmVyOwogICAgcmVhZG9ubHkgYXR0cmlidXRlIENJQ006OkNoYXJT dHJpbmcgbW9kdWxlX3ZlcnNpb247CiAgICByZWFkb25seSBhdHRyaWJ1dGUgQ0lDTTo6Q2hhclN0 cmluZyBzb2Z0d2FyZV92ZXJzaW9uOwogICAgcmVhZG9ubHkgYXR0cmlidXRlIENJQ006OkNoYXJT dHJpbmcgZHJpdmVyX3ZlcnNpb247CiAgICByZWFkb25seSBhdHRyaWJ1dGUgQ0lDTTo6Q2hhclN0 cmluZyBsaWJyYXJ5X3ZlcnNpb247CiAgICByZWFkb25seSBhdHRyaWJ1dGUgQ0lDTTo6Um9sZUlk IHJvbGU7CiAgICBhdHRyaWJ1dGUgQ0lDTTo6Q2hhclN0cmluZyBkYXRlX3RpbWU7CiAgICByZWFk b25seSBhdHRyaWJ1dGUgQ0lDTTo6U3ltS2V5TWFuYWdlciBzeW1fa2V5X21hbmFnZXI7CiAgICBy ZWFkb25seSBhdHRyaWJ1dGUgQ0lDTTo6QXN5bUtleU1hbmFnZXIgYXN5bV9rZXlfbWFuYWdlcjsK ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDSUNNOjpLZXlEYXRhYmFzZSBrZXlfZGF0YWJhc2U7CiAg ICByZWFkb25seSBhdHRyaWJ1dGUgQ0lDTTo6Q2hhbm5lbE1hbmFnZXIgY2hhbm5lbF9tYW5hZ2Vy OwogICAgcmVhZG9ubHkgYXR0cmlidXRlIENJQ006Ok1vZHVsZUV2ZW50TWFuYWdlciBldmVudF9t YW5hZ2VyOwogICAgcmVhZG9ubHkgYXR0cmlidXRlIENJQ006OlBhY2thZ2VNYW5hZ2VyIHBhY2th Z2VfbWFuYWdlcjsKICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDSUNNOjpUb2tlbk1hbmFnZXIgdG9r ZW5fbWFuYWdlcjsKICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDSUNNOjpVc2VyTWFuYWdlciB1c2Vy X21hbmFnZXI7CiAgICByZWFkb25seSBhdHRyaWJ1dGUgQ0lDTTo6TG9naW5NYW5hZ2VyIGxvZ2lu X21hbmFnZXI7CiAgICByZWFkb25seSBhdHRyaWJ1dGUgQ0lDTTo6VGVzdE1hbmFnZXIgdGVzdF9t YW5hZ2VyOwogICAgcmVhZG9ubHkgYXR0cmlidXRlIENJQ006OkxvZ01hbmFnZXIgbG9nX21hbmFn ZXI7CgogICAgQ0lDTTo6U3RhdHVzIGNvbmZpZ3VyZV9maWxsX2ludGVyZmFjZSgKICAgICAgaW4g IENJQ006OkJ1ZmZlciBpbnRlcmZhY2VfcGFyYW1ldGVycywKICAgICAgaW4gIENJQ006OkxvY2Fs UG9ydCBmaWxsX3BvcnQgKTsKCiAgICBDSUNNOjpTdGF0dXMgcmVzZXQoKTsKICB9OwoKICBpbnRl cmZhY2UgQ0lDTVJvb3QgewogICAgQ0lDTTo6U3RhdHVzIGdldF9tb2R1bGVfYnlfaWQoCiAgICAg IGluICBDSUNNOjpNb2R1bGVJZCBpZCwKICAgICAgb3V0IENJQ006OkNyeXB0b01vZHVsZSBjcnlw dG9fbW9kdWxlX3JlZiApOwogIH07Cn07Cgo= ------=_Part_88193_1604094011.1289395518058-- From lnovikov@mitre.org Tue Nov 16 06:50:24 2010 Return-Path: X-Original-To: cicm@core3.amsl.com Delivered-To: cicm@core3.amsl.com Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 6B9E33A6B73 for ; Tue, 16 Nov 2010 06:50:24 -0800 (PST) X-Virus-Scanned: amavisd-new at amsl.com X-Spam-Flag: NO X-Spam-Score: -5.998 X-Spam-Level: X-Spam-Status: No, score=-5.998 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, J_CHICKENPOX_43=0.6, RCVD_IN_DNSWL_MED=-4] Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4+Lf-miQBj-8 for ; Tue, 16 Nov 2010 06:50:21 -0800 (PST) Received: from smtp-bedford.mitre.org (smtp-bedford.mitre.org [129.83.20.191]) by core3.amsl.com (Postfix) with ESMTP id DACD93A69EF for ; Tue, 16 Nov 2010 06:50:17 -0800 (PST) Received: from smtp-bedford.mitre.org (localhost.localdomain [127.0.0.1]) by smtp-bedford.mitre.org (8.13.1/8.13.1) with ESMTP id oAGEp1m7017912 for ; Tue, 16 Nov 2010 09:51:01 -0500 Received: from imchub2.MITRE.ORG (imchub2.mitre.org [129.83.29.74]) by smtp-bedford.mitre.org (8.13.1/8.13.1) with ESMTP id oAGEp16w017909 for ; Tue, 16 Nov 2010 09:51:01 -0500 Received: from IMCMBX3.MITRE.ORG ([129.83.29.206]) by imchub2.MITRE.ORG ([129.83.29.74]) with mapi; Tue, 16 Nov 2010 09:51:01 -0500 From: "Novikov, Lev" To: CICM Discussion List Date: Tue, 16 Nov 2010 09:48:51 -0500 Thread-Topic: [cicm] Missing DecryptBypass Controller Declaration Thread-Index: AcuA2r8FX1Lbxx5YSBmCjn6U/resfgEDeOLQ Message-ID: References: <387920973.88195.1289395518060.JavaMail.root@zmbs4.inria.fr> In-Reply-To: <387920973.88195.1289395518060.JavaMail.root@zmbs4.inria.fr> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Type: multipart/alternative; boundary="_000_F9AB58FA72BAE7449E7723791F6993ED05BC379209IMCMBX3MITREO_" MIME-Version: 1.0 Subject: Re: [cicm] Missing DecryptBypass Controller Declaration X-BeenThere: cicm@ietf.org X-Mailman-Version: 2.1.9 Precedence: list Reply-To: CICM Discussion List List-Id: CICM Discussion List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Nov 2010 14:50:24 -0000 --_000_F9AB58FA72BAE7449E7723791F6993ED05BC379209IMCMBX3MITREO_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Fabrice, Thank you for finding this. I've updated www.mitre.org/tech/cicm/cicm.idl to reflect these changes. Lev From: cicm-bounces@ietf.org [mailto:cicm-boun= ces@ietf.org] On Behalf Of Fabrice S= chuler Sent: Wednesday, November 10, 2010 08:25 To: cicm@ietf.org Subject: [cicm] cicm.idl file Hello, I'm afraid I found a typo in the idl file : in the module DecryptBypass, th= e description of the "Controller" interface is missing. It is necessary to = add the following at line 1125 : interface Controller : CICM::Decrypt::Controller {}; Please find hereafter a copy of the corrected cicm.idl file Best regards, Fabrice --_000_F9AB58FA72BAE7449E7723791F6993ED05BC379209IMCMBX3MITREO_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Fabrice,<= o:p>

 

Thank you for finding this. I’ve update= d www.mitre.org/tech/ci= cm/cicm.idl to reflect these changes.

 

Le= v

 =

From: cicm-bounces@ietf.org [mailto:cicm-bounces@ietf.org] = On Behalf Of Fabrice Schuler
Sent: Wednesday, November 10, 20= 10 08:25
To: cicm@ietf.orgSubject: [cicm] cicm.idl file

 

Hello,

I'm= afraid I found a typo in the idl file : in the module DecryptBypass, the d= escription of the "Controller" interface is missing. It is necess= ary to add the following at line  1125 :
    interf= ace Controller : CICM::Decrypt::Controller {};

Please find hereafter= a copy of the corrected cicm.idl file

Best regards,
Fabrice=

= --_000_F9AB58FA72BAE7449E7723791F6993ED05BC379209IMCMBX3MITREO_--