From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS4713 221.184.0.0/13 X-Spam-Status: No, score=-3.6 required=3.0 tests=AWL,BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.1 Received: from neon.ruby-lang.org (neon.ruby-lang.org [221.186.184.75]) by dcvr.yhbt.net (Postfix) with ESMTP id 91FC11F453 for ; Tue, 6 Nov 2018 07:46:07 +0000 (UTC) Received: from neon.ruby-lang.org (localhost [IPv6:::1]) by neon.ruby-lang.org (Postfix) with ESMTP id A1350120E2F; Tue, 6 Nov 2018 16:46:04 +0900 (JST) Received: from o1678916x28.outbound-mail.sendgrid.net (o1678916x28.outbound-mail.sendgrid.net [167.89.16.28]) by neon.ruby-lang.org (Postfix) with ESMTPS id 7D10E120BEB for ; Tue, 6 Nov 2018 16:46:01 +0900 (JST) Received: by filter0139p3las1.sendgrid.net with SMTP id filter0139p3las1-23257-5BE146B6-1 2018-11-06 07:45:58.088097688 +0000 UTC m=+464361.313453678 Received: from herokuapp.com (ec2-54-166-218-12.compute-1.amazonaws.com [54.166.218.12]) by ismtpd0003p1iad1.sendgrid.net (SG) with ESMTP id SQn194cURFeFqlqaCRJM9g Tue, 06 Nov 2018 07:45:57.736 +0000 (UTC) Date: Tue, 06 Nov 2018 07:45:58 +0000 (UTC) From: ko1@atdot.net To: ruby-core@ruby-lang.org Message-ID: References: Mime-Version: 1.0 X-Redmine-MailingListIntegration-Message-Ids: 65106 X-Redmine-Project: ruby-trunk X-Redmine-Issue-Id: 15007 X-Redmine-Issue-Author: methodmissing X-Redmine-Issue-Assignee: naruse X-Redmine-Sender: ko1 X-Mailer: Redmine X-Redmine-Host: bugs.ruby-lang.org X-Redmine-Site: Ruby Issue Tracking System X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-SG-EID: ync6xU2WACa70kv/Ymy4QrNMhiuLXJG8OTL2vJD1yS7jXPcPl8okj0IqWClYPqbc4RkXB5qM86z5tm 0rtWuNq4bgcHDMXrhWkqfCYwvfzmfZ+j0vj4FHn8zXr1fSmnY3fT2zslNy+tc/52ybctCngzSxb+ob Bz0DbRa1bApSKAVMn/hBaxtiK7qNTFeLm5Bc X-ML-Name: ruby-core X-Mail-Count: 89721 Subject: [ruby-core:89721] [Ruby trunk Misc#15007] Let all Init_xxx and extension APIs frequently called from init code paths be considered cold X-BeenThere: ruby-core@ruby-lang.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Ruby developers List-Id: Ruby developers List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ruby-core-bounces@ruby-lang.org Sender: "ruby-core" SXNzdWUgIzE1MDA3IGhhcyBiZWVuIHVwZGF0ZWQgYnkga28xIChLb2ljaGkgU2FzYWRhKS4KCgo+ IERvZXMgdGhhdCBzZWVtIHJlYXNvbmFibGUgYXMgYSB1bml0IG9mIHdvcmsgdG8geW91PwoKUGVy ZmVjdCEKCk5vdGUgdGhhdCB3ZSB3aWxsIHJlbGVhc2UgcnVieSAyLjYgaW4gRGVjLiBJZiB5b3Ug ZmluaXNoICgzKSAiUG9zc2libHkgcmJfbWVtZXJyb3IuLi4iLCBpdCBpcyBlYXN5IHRvIGludHJv ZHVjZS4gV2UgY2FuIGNvbnRpbnVlIGZ1cnRoZXIgaW1wcm92ZW1lbnQgb24gbmV4dCByZWxlYXNl LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpNaXNjICMxNTAwNzog TGV0IGFsbCBJbml0X3h4eCBhbmQgZXh0ZW5zaW9uIEFQSXMgZnJlcXVlbnRseSBjYWxsZWQgZnJv bSBpbml0IGNvZGUgcGF0aHMgYmUgY29uc2lkZXJlZCBjb2xkCmh0dHBzOi8vYnVncy5ydWJ5LWxh bmcub3JnL2lzc3Vlcy8xNTAwNyNjaGFuZ2UtNzQ3NjUKCiogQXV0aG9yOiBtZXRob2RtaXNzaW5n IChMb3VyZW5zIE5hdWTDqSkKKiBTdGF0dXM6IE9wZW4KKiBQcmlvcml0eTogTm9ybWFsCiogQXNz aWduZWU6IG5hcnVzZSAoWXVpIE5BUlVTRSkKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQpSZWZlcmVuY2VzIEdpdGh1YiBQUiBodHRwczovL2dpdGh1Yi5jb20vcnVieS9y dWJ5L3B1bGwvMTkzNAoKIyMjIFdoeT8KCkFuIGluY3JlbWVudGFsIGV4dHJhY3Rpb24gZnJvbSBQ UiBodHRwczovL2dpdGh1Yi5jb20vcnVieS9ydWJ5L3B1bGwvMTkyMiwgc3BlY2lmaWNhbGx5IGFk ZHJlc3NpbmcgdGhlIGZlZWRiYWNrIGZyb20gWXVpIE5hcnVzZSBpbiBodHRwczovL2dpdGh1Yi5j b20vcnVieS9ydWJ5L3B1bGwvMTkyMiNpc3N1ZWNvbW1lbnQtNDEzNzk2NzEwCgpUaGUgW0xpbnV4 IGtlcm5lbF0oaHR0cHM6Ly9naXRodWIuY29tL3RvcnZhbGRzL2xpbnV4L2Jsb2IvY2EwNGIzY2Nh MTFhY2JhZjkwNGY3MDdmMmQ5Y2E5NjU0ZDdjYzIyNi9pbmNsdWRlL2xpbnV4L2NvbXBpbGVyLWdj Yy5oI0wxOTEtTDIwNiksIFtQSFAgN10oaHR0cHM6Ly9naXRodWIuY29tL3BocC9waHAtc3JjL2Js b2IvMmQ3MWEyODk1NGE0ZjIwNzA5NzE4ZWU3Y2IyYjg1MGQzMzRjNTYxYy9aZW5kL3plbmRfcG9y dGFiaWxpdHkuaCNMMjIwKSBhbmQgb3RoZXIgcHJvamVjdHMgdXNlIHRoZSBgaG90YCBhbmQgYGNv bGRgIGZ1bmN0aW9uIGF0dHJpYnV0ZXMgdG8gaGVscCB3aXRoIGJldHRlciBjb2RlIGxheW91dC4K Ckkgbm90aWNlZCBSdWJ5IGlzIHZlcnkgbXVjaCBDUFUgZnJvbnRlbmQgYm91bmQgKG5vdCBmZWVk aW5nIGluc3RydWN0aW9ucyBpbnRvIHRoZSBDUFUgcGlwZWxpbmVzIGFzIGZhc3QgYXMgaXQgbWF5 YmUgY291bGQpIGFuZCB0aGVyZWZvcmUgZXZlbiBtb3N0IG1pY3JvIGJlbmNobWFya3MgaGF2ZSBh IGhpZ2ggQ1BJIChjeWNsZXMgcGVyIGluc3RydWN0aW9uKSByYXRlLiBUaGlzIFBSIGlzIHBhcnQg b2YgYSBsYXJnZXIgY2h1bmsgb2Ygd29yayBJJ2QgbGlrZSB0byBkbyBhcm91bmQgaW1wcm92aW5n IENQVSBmcm9udGVuZCB0aHJvdWdocHV0IGFuZCBjYW4gdGFrZSBhIHN0YWIgYXQgZm9ybWFsbHkg d3JpdGluZyB1cCB0aG9zZSBpZGVhcyBpZiB0aGVyZSdzIGFueSBpbnRlcmVzdCBmcm9tIHRoZSBj b21tdW5pdHkuIEkgZG9uJ3Qga25vdy4KCiMjIyBJbXBsZW1lbnRhdGlvbgoKVGhpcyBQUiBoYXMg YW4gZXhjbHVzaXZlIGZvY3VzIG9uIGhhdmluZyB0aGUgYEluaXRfeHh4YCBmdW5jdGlvbnMgZm9y IHRoZSBjb3JlIGNsYXNzZXMgYW5kIHRob3NlIGJ1bmRsZWQgaW4gYGV4dGAgYmVpbmcgZmxhZ2dl ZCB0byBiZSBvcHRpbWl6ZWQgZm9yIHNpemUgYXMgdGhleSdyZSBjYWxsZWQgb25seSBvbmNlIGF0 IHJ1bnRpbWUuCgpUaGUgR0NDIHNwZWNpZmljIFtjb2xkXShodHRwczovL2djYy5nbnUub3JnL29u bGluZWRvY3MvZ2NjLTQuNi40L2djYy9GdW5jdGlvbi1BdHRyaWJ1dGVzLmh0bWwpIGZ1bmN0aW9u IGF0dHJpYnV0ZSB3b3JrcyBpbiB0aGUgZm9sbG93aW5nIHdheSAoZnJvbSBHQ0MgZG9jcyk6Cgpg YGAKVGhlIGNvbGQgYXR0cmlidXRlIGlzIHVzZWQgdG8gaW5mb3JtIHRoZSBjb21waWxlciB0aGF0 IGEgZnVuY3Rpb24gaXMgdW5saWtlbHkgZXhlY3V0ZWQuIFRoZSBmdW5jdGlvbiBpcyBvcHRpbWl6 ZWQgZm9yIHNpemUgcmF0aGVyIHRoYW4gc3BlZWQgYW5kIG9uIG1hbnkgdGFyZ2V0cyBpdCBpcyBw bGFjZWQgaW50byBzcGVjaWFsIHN1YnNlY3Rpb24gb2YgdGhlIHRleHQgc2VjdGlvbiBzbyBhbGwg Y29sZCBmdW5jdGlvbnMgYXBwZWFycyBjbG9zZSB0b2dldGhlciBpbXByb3ZpbmcgY29kZSBsb2Nh bGl0eSBvZiBub24tY29sZCBwYXJ0cyBvZiBwcm9ncmFtLiBUaGUgcGF0aHMgbGVhZGluZyB0byBj YWxsIG9mIGNvbGQgZnVuY3Rpb25zIHdpdGhpbiBjb2RlIGFyZSBtYXJrZWQgYXMgdW5saWtlbHkg YnkgdGhlIGJyYW5jaCBwcmVkaWN0aW9uIG1lY2hhbmlzbS4gSXQgaXMgdGh1cyB1c2VmdWwgdG8g bWFyayBmdW5jdGlvbnMgdXNlZCB0byBoYW5kbGUgdW5saWtlbHkgY29uZGl0aW9ucywgc3VjaCBh cyBwZXJyb3IsIGFzIGNvbGQgdG8gaW1wcm92ZSBvcHRpbWl6YXRpb24gb2YgaG90IGZ1bmN0aW9u cyB0aGF0IGRvIGNhbGwgbWFya2VkIGZ1bmN0aW9ucyBpbiByYXJlIG9jY2FzaW9ucy4KV2hlbiBw cm9maWxlIGZlZWRiYWNrIGlzIGF2YWlsYWJsZSwgdmlhIC1mcHJvZmlsZS11c2UsIGhvdCBmdW5j dGlvbnMgYXJlIGF1dG9tYXRpY2FsbHkgZGV0ZWN0ZWQgYW5kIHRoaXMgYXR0cmlidXRlIGlzIGln bm9yZWQuCmBgYApCeSBkZWNsYXJpbmcgYSBmdW5jdGlvbiBhcyBgY29sZGAgd2hlbiBkZWZpbmVk IHdlIGdldCB0aGUgZm9sbG93aW5nIGJlbmVmaXRzOgoKKiBOby1vcCBvbiBwbGF0Zm9ybXMgdGhh dCBkb2VzIG5vdCBzdXBwb3J0IHRoZSBhdHRyaWJ1dGUKKiBTaXplIG9wdGltaXphdGlvbiBvZiBj b2xkIGZ1bmN0aW9ucyB3aXRoIGEgc21hbGxlciBmb290cHJpbnQgaW4gdGhlIGluc3RydWN0aW9u IGNhY2hlCiogVGhlcmVmb3JlIENQVSBmcm9udGVuZCB0aHJvdWdocHV0IGluY3JlYXNlcyBkdWUg dG8gYSBsb3dlciByYXRpbyBvZiBpbnN0cnVjdGlvbiBjYWNoZSBtaXNzZXMgYW5kIGEgbG93ZXIg SVRMQiBvdmVyaGVhZCAtIHNlZSBbb3JpZ2luYWwgY2h1bmt5IFBSXShodHRwczovL3VzZXItaW1h Z2VzLmdpdGh1YnVzZXJjb250ZW50LmNvbS8zNzkvNDQyMDQ4NTgtNGMwODUxMDAtYTE0Yy0xMWU4 LTg2YjgtZDg3ZmNiNWU0OTg1LnBuZykgVlMgW3RoZW4gdHJ1bmtdKGh0dHBzOi8vdXNlci1pbWFn ZXMuZ2l0aHVidXNlcmNvbnRlbnQuY29tLzM3OS80NDIwNDg3MC00ZjliZDgwMC1hMTRjLTExZTgt OWJlZS0xNGM4YWQ4ZDNhN2QucG5nKQoqIFRoaXMgZWZmZWN0IGNhbiBmdXJ0aGVyIGJlIGFtcGxp ZmllZCBpbiBmdXR1cmUgd29yayB3aXRoIHRoZSBgaG90YCBhdHRyaWJ1dGUKCiMjIyMgRXh0ZW5z aW9uIEFQSXMgZmxhZ2dlZCBhcyBjb2xkCgpUaGVzZSBhcmUgYW5kIHNob3VsZCB0eXBpY2FsbHkg b25seSBiZSBjYWxsZWQgb24gZXh0ZW5zaW9uIGluaXQsIGFuZCB0aHVzIHNhZmUgdG8gb3B0aW1p emUgZm9yIHNpemUgYXMgd2VsbC4KCiogYHZvaWQgcmJfZGVmaW5lX21ldGhvZF9pZChWQUxVRSwg SUQsIFZBTFVFICgqKShBTllBUkdTKSwgaW50KSk7YAoqIGB2b2lkIHJiX3VuZGVmKFZBTFVFLCBJ RCkpO2AKKiBgdm9pZCByYl9kZWZpbmVfcHJvdGVjdGVkX21ldGhvZChWQUxVRSwgY29uc3QgY2hh ciosIFZBTFVFICgqKShBTllBUkdTKSwgaW50KSk7YAoqIGB2b2lkIHJiX2RlZmluZV9wcml2YXRl X21ldGhvZChWQUxVRSwgY29uc3QgY2hhciosIFZBTFVFICgqKShBTllBUkdTKSwgaW50KSk7YAoq IGB2b2lkIHJiX2RlZmluZV9zaW5nbGV0b25fbWV0aG9kKFZBTFVFLCBjb25zdCBjaGFyKiwgVkFM VUUoKikoQU5ZQVJHUyksIGludCkpO2AKKiBgdm9pZCByYl9kZWZpbmVfYWxsb2NfZnVuYyhWQUxV RSwgcmJfYWxsb2NfZnVuY190KSk7YAoqIGB2b2lkIHJiX3VuZGVmX2FsbG9jX2Z1bmMoVkFMVUUp KTtgCiogYFZBTFVFIHJiX2RlZmluZV9jbGFzcyhjb25zdCBjaGFyKixWQUxVRSkpO2AKKiBgVkFM VUUgcmJfZGVmaW5lX21vZHVsZShjb25zdCBjaGFyKikpO2AKKiBgVkFMVUUgcmJfZGVmaW5lX2Ns YXNzX3VuZGVyKFZBTFVFLCBjb25zdCBjaGFyKiwgVkFMVUUpKTtgCiogYFZBTFVFIHJiX2RlZmlu ZV9tb2R1bGVfdW5kZXIoVkFMVUUsIGNvbnN0IGNoYXIqKSk7YAoqIGB2b2lkIHJiX2RlZmluZV92 YXJpYWJsZShjb25zdCBjaGFyKixWQUxVRSopKTtgCiogYHZvaWQgcmJfZGVmaW5lX3ZpcnR1YWxf dmFyaWFibGUoY29uc3QgY2hhciosVkFMVUUoKikoQU5ZQVJHUyksdm9pZCgqKShBTllBUkdTKSkp O2AKKiBgdm9pZCByYl9kZWZpbmVfaG9va2VkX3ZhcmlhYmxlKGNvbnN0IGNoYXIqLFZBTFVFKixW QUxVRSgqKShBTllBUkdTKSx2b2lkKCopKEFOWUFSR1MpKSk7YAoqIGB2b2lkIHJiX2RlZmluZV9y ZWFkb25seV92YXJpYWJsZShjb25zdCBjaGFyKixjb25zdCBWQUxVRSopKTtgCiogYHZvaWQgcmJf ZGVmaW5lX2NvbnN0KFZBTFVFLGNvbnN0IGNoYXIqLFZBTFVFKSk7YAoqIGB2b2lkIHJiX2RlZmlu ZV9nbG9iYWxfY29uc3QoY29uc3QgY2hhciosVkFMVUUpKTtgCiogYHZvaWQgcmJfZGVmaW5lX21l dGhvZChWQUxVRSxjb25zdCBjaGFyKixWQUxVRSgqKShBTllBUkdTKSxpbnQpKTtgCiogYCh2b2lk IHJiX2RlZmluZV9tb2R1bGVfZnVuY3Rpb24oVkFMVUUsY29uc3QgY2hhciosVkFMVUUoKikoQU5Z QVJHUyksaW50KSk7YAoqIGB2b2lkIHJiX2RlZmluZV9nbG9iYWxfZnVuY3Rpb24oY29uc3QgY2hh ciosVkFMVUUoKikoQU5ZQVJHUyksaW50KSk7YAoqIGB2b2lkIHJiX3VuZGVmX21ldGhvZChWQUxV RSxjb25zdCBjaGFyKikpO2AKKiBgdm9pZCByYl9kZWZpbmVfYWxpYXMoVkFMVUUsY29uc3QgY2hh ciosY29uc3QgY2hhciopKTtgCiogYHZvaWQgcmJfZGVmaW5lX2F0dHIoVkFMVUUsY29uc3QgY2hh ciosaW50LGludCkpO2AKKiBgdm9pZCByYl9nbG9iYWxfdmFyaWFibGUoVkFMVUUqKSk7YAoqIGB2 b2lkIHJiX2djX3JlZ2lzdGVyX21hcmtfb2JqZWN0KFZBTFVFKSk7YAoqIGB2b2lkIHJiX2djX3Jl Z2lzdGVyX2FkZHJlc3MoVkFMVUUqKSk7YAoqIGB2b2lkIHJiX2djX3VucmVnaXN0ZXJfYWRkcmVz cyhWQUxVRSopKTtgCgojIyMjIFRleHQgc2VnbWVudCByZWR1Y3Rpb25zCgpTbWFsbCBjaGFuZ2Vz IChgMzE0NGAgYnl0ZXMgcmVkdWN0aW9uIG9mIHRoZSB0ZXh0IHNlZ21lbnQpIGJlY2F1c2UgdGhp cyBpcyBpbmNyZW1lbnRhbCBncm91bmR3b3JrIGFuZCBhbmQgaW5pdGlhbCBsb3cgcmlzayBQUi4K CnRoaXMgYnJhbmNoOgoKYGBgCmxvdXJlbnNAQ2FyYm9uWDE6fi9zcmMvcnVieS9ydWJ5JCBzaXpl IHJ1YnkKICAgdGV4dAkgICBkYXRhCSAgICBic3MJICAgIGRlYwkgICAgaGV4CWZpbGVuYW1lCjM0 NjIxNTMJICAyMTA1NgkgIDcxMzQ0CTM1NTQ1NTMJIDM2M2NmOQlydWJ5CmBgYAoKdHJ1bms6Cgpg YGAKbG91cmVuc0BDYXJib25YMTp+L3NyYy9ydWJ5L3RydW5rJCBzaXplIHJ1YnkKICAgdGV4dAkg ICBkYXRhCSAgICBic3MJICAgIGRlYwkgICAgaGV4CWZpbGVuYW1lCjM0NjUyOTcJICAyMTA1Ngkg IDcxMzQ0CTM1NTc2OTcJIDM2NDk0MQlydWJ5CmBgYAoKRGlmZnMgZm9yIGluZGl2aWR1YWwgb2Jq ZWN0IGZpbGVzOiBodHRwczovL3d3dy5kaWZmY2hlY2tlci5jb20vVDBHVnpYMXEKCkRlZmF1bHQg YHRleHQudW5saWtlbHlgIHNlY3Rpb24gd2hlcmUgaW5pdCBmdW5jdGlvbnMgYXJlIG1vdmVkIHRv OgoKYGBgCmxvdXJlbnNAQ2FyYm9uWDE6fi9zcmMvcnVieS9ydWJ5JCByZWFkZWxmIC1TIHZtLm8K VGhlcmUgYXJlIDM0IHNlY3Rpb24gaGVhZGVycywgc3RhcnRpbmcgYXQgb2Zmc2V0IDB4MmEwNGY4 OgoKU2VjdGlvbiBIZWFkZXJzOgogIFtOcl0gTmFtZSAgICAgICAgICAgICAgVHlwZSAgICAgICAg ICAgICBBZGRyZXNzICAgICAgICAgICBPZmZzZXQKICAgICAgIFNpemUgICAgICAgICAgICAgIEVu dFNpemUgICAgICAgICAgRmxhZ3MgIExpbmsgIEluZm8gIEFsaWduCiAgWyAwXSAgICAgICAgICAg ICAgICAgICBOVUxMICAgICAgICAgICAgIDAwMDAwMDAwMDAwMDAwMDAgIDAwMDAwMDAwCiAgICAg ICAwMDAwMDAwMDAwMDAwMDAwICAwMDAwMDAwMDAwMDAwMDAwICAgICAgICAgICAwICAgICAwICAg ICAwCiAgWyAxXSAudGV4dCAgICAgICAgICAgICBQUk9HQklUUyAgICAgICAgIDAwMDAwMDAwMDAw MDAwMDAgIDAwMDAwMDQwCiAgICAgICAwMDAwMDAwMDAwMDFjMzdmICAwMDAwMDAwMDAwMDAwMDAw ICBBWCAgICAgICAwICAgICAwICAgICAxNgogIFsgMl0gLnJlbGEudGV4dCAgICAgICAgUkVMQSAg ICAgICAgICAgICAwMDAwMDAwMDAwMDAwMDAwICAwMDExNDEwMAogICAgICAgMDAwMDAwMDAwMDAw YTdkMCAgMDAwMDAwMDAwMDAwMDAxOCAgIEkgICAgICAzMSAgICAgMSAgICAgOAogIFsgM10gLmRh dGEgICAgICAgICAgICAgUFJPR0JJVFMgICAgICAgICAwMDAwMDAwMDAwMDAwMDAwICAwMDAxYzNj MAogICAgICAgMDAwMDAwMDAwMDAwMDAzMCAgMDAwMDAwMDAwMDAwMDAwMCAgV0EgICAgICAgMCAg ICAgMCAgICAgMTYKICBbIDRdIC5ic3MgICAgICAgICAgICAgIE5PQklUUyAgICAgICAgICAgMDAw MDAwMDAwMDAwMDAwMCAgMDAwMWM0MDAKICAgICAgIDAwMDAwMDAwMDAwMDAyYjAgIDAwMDAwMDAw MDAwMDAwMDAgIFdBICAgICAgIDAgICAgIDAgICAgIDMyCiAgWyA1XSAucm9kYXRhLnN0cjEuOCAg ICBQUk9HQklUUyAgICAgICAgIDAwMDAwMDAwMDAwMDAwMDAgIDAwMDFjNDAwCiAgICAgICAwMDAw MDAwMDAwMDAwZDZmICAwMDAwMDAwMDAwMDAwMDAxIEFNUyAgICAgICAwICAgICAwICAgICA4CiAg WyA2XSAudGV4dC51bmxpa2VseSAgICBQUk9HQklUUyAgICAgICAgIDAwMDAwMDAwMDAwMDAwMDAg IDAwMDFkMTZmIDw8PDw8PDw8PDw8PDw8PAogICAgICAgMDAwMDAwMDAwMDAwMWFhOSAgMDAwMDAw MDAwMDAwMDAwMCAgQVggICAgICAgMCAgICAgMCAgICAgMQpgYGAKClRoZSByZWxvY2F0aW9ucyBm b3IgYHZtLm9gOgoKYGBgCmxvdXJlbnNAQ2FyYm9uWDE6fi9zcmMvcnVieS9ydWJ5JCBsZCAtTSB2 bS5vCi0tLSB0cnVuY2F0ZWQgLS0tCi50ZXh0ICAgICAgICAgICAweDAwMDAwMDAwMDA0MDAxMjAg ICAgMHgxZGUyZgogKigudGV4dC51bmxpa2VseSAudGV4dC4qX3VubGlrZWx5IC50ZXh0LnVubGlr ZWx5LiopCiAudGV4dC51bmxpa2VseQogICAgICAgICAgICAgICAgMHgwMDAwMDAwMDAwNDAwMTIw ICAgICAweDFhYTkgdm0ubwogICAgICAgICAgICAgICAgMHgwMDAwMDAwMDAwNDAwMzhmICAgICAg ICAgICAgICAgIHJiX2RlZmluZV9hbGxvY19mdW5jCiAgICAgICAgICAgICAgICAweDAwMDAwMDAw MDA0MDAzYmYgICAgICAgICAgICAgICAgcmJfdW5kZWZfYWxsb2NfZnVuYwogICAgICAgICAgICAg ICAgMHgwMDAwMDAwMDAwNDAwM2M1ICAgICAgICAgICAgICAgIEluaXRfTWV0aG9kCiAgICAgICAg ICAgICAgICAweDAwMDAwMDAwMDA0MDA1MTIgICAgICAgICAgICAgICAgSW5pdF92bV9ldmFsCiAg ICAgICAgICAgICAgICAweDAwMDAwMDAwMDA0MDA3YTEgICAgICAgICAgICAgICAgSW5pdF9ldmFs X21ldGhvZAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMDAwNDAwYTU0ICAgICAgICAgICAgICAg IHJiX3VuZGVmCiAgICAgICAgICAgICAgICAweDAwMDAwMDAwMDA0MDBjMWQgICAgICAgICAgICAg ICAgSW5pdF9WTQogICAgICAgICAgICAgICAgMHgwMDAwMDAwMDAwNDAxODVmICAgICAgICAgICAg ICAgIEluaXRfQmFyZVZNCiAgICAgICAgICAgICAgICAweDAwMDAwMDAwMDA0MDFiMTYgICAgICAg ICAgICAgICAgSW5pdF92bV9vYmplY3RzCiAgICAgICAgICAgICAgICAweDAwMDAwMDAwMDA0MDFi NjEgICAgICAgICAgICAgICAgSW5pdF90b3Bfc2VsZgogKigudGV4dC5leGl0IC50ZXh0LmV4aXQu KikKICooLnRleHQuc3RhcnR1cCAudGV4dC5zdGFydHVwLiopCiAqKC50ZXh0LmhvdCAudGV4dC5o b3QuKikKICooLnRleHQgLnN0dWIgLnRleHQuKiAuZ251LmxpbmtvbmNlLnQuKikKICpmaWxsKiAg ICAgICAgIDB4MDAwMDAwMDAwMDQwMWJjOSAgICAgICAgMHg3IAogLnRleHQgICAgICAgICAgMHgw MDAwMDAwMDAwNDAxYmQwICAgIDB4MWMzN2Ygdm0ubwogICAgICAgICAgICAgICAgMHgwMDAwMDAw MDAwNDAyMmYwICAgICAgICAgICAgICAgIHJiX2Zfbm90aW1wbGVtZW50CiAgICAgICAgICAgICAg ICAweDAwMDAwMDAwMDA0MDQ3ODAgICAgICAgICAgICAgICAgcmJfdm1fZXBfbG9jYWxfZXAKICAg ICAgICAgICAgICAgIDB4MDAwMDAwMDAwMDQwNDdiMCAgICAgICAgICAgICAgICByYl92bV9mcmFt ZV9ibG9ja19oYW5kbGVyCiAgICAgICAgICAgICAgICAweDAwMDAwMDAwMDA0MDQ3ZTAgICAgICAg ICAgICAgICAgcmJfdm1fY3JlZl9uZXdfdG9wbGV2ZWwKICAgICAgICAgICAgICAgIDB4MDAwMDAw MDAwMDQwNDg3MCAgICAgICAgICAgICAgICByYl92bV9ibG9ja19lcF91cGRhdGUKICAgICAgICAg ICAgICAgIDB4MDAwMDAwMDAwMDQwNDg5MCAgICAgICAgICAgICAgICBydWJ5X3ZtX3NwZWNpYWxf ZXhjZXB0aW9uX2NvcHkKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAwMDQwNjk2MCAgICAgICAg ICAgICAgICByYl9lY19zdGFja19vdmVyZmxvdwogICAgICAgICAgICAgICAgMHgwMDAwMDAwMDAw NDA2OWMwICAgICAgICAgICAgICAgIHJiX3ZtX3B1c2hfZnJhbWUKICAgICAgICAgICAgICAgIDB4 MDAwMDAwMDAwMDQwNmIyMCAgICAgICAgICAgICAgICByYl92bV9wb3BfZnJhbWUKICAgICAgICAg ICAgICAgIDB4MDAwMDAwMDAwMDQwNmIzMCAgICAgICAgICAgICAgICByYl9lcnJvcl9hcml0eQog ICAgICAgICAgICAgICAgMHgwMDAwMDAwMDAwNDA3MTgwICAgICAgICAgICAgICAgIHJiX3ZtX2Zy YW1lX21ldGhvZF9lbnRyeQogICAgICAgICAgICAgICAgMHgwMDAwMDAwMDAwNDA3NWUwICAgICAg ICAgICAgICAgIHJiX3ZtX3Jld3JpdGVfY3JlZgogICAgICAgICAgICAgICAgMHgwMDAwMDAwMDAw NDA3NmYwICAgICAgICAgICAgICAgIHJiX3NpbXBsZV9pc2VxX3AKICAgICAgICAgICAgICAgIDB4 MDAwMDAwMDAwMDQwNzcwMCAgICAgICAgICAgICAgICByYl92bV9vcHRfc3RydWN0X2FyZWYKICAg ICAgICAgICAgICAgIDB4MDAwMDAwMDAwMDQwNzczMCAgICAgICAgICAgICAgICByYl92bV9vcHRf c3RydWN0X2FzZXQKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAwMDQwNzc1MCAgICAgICAgICAg ICAgICByYl9jbGVhcl9jb25zdGFudF9jYWNoZQotLS0gdHJ1bmNhdGVkIC0tLQpgYGAKSSBhbHNv IGRhYmJsZWQgd2l0aCB0aGUgaWRlYSBvZiBhbiBgSU5JVEZVTkNgIG1hY3JvIHRoYXQgYWxzbyBw bGFjZXMgdGhlIGBJbml0X3h4eGAgZnVuY3Rpb25zIGludG8gYSBgdGV4dC5pbml0YCBzZWN0aW9u IGFzIHRoZSBba2VybmVsIGRvZXNdKGh0dHBzOi8vbGludXhnYXpldHRlLm5ldC8xNTcvYW11cnJh eS5odG1sKSBmb3IgYSBwb3NzaWJsZSBmdXR1cmUgb3B0aW1pemF0aW9uIG9mIHN0cmlwcGluZyBv dXQgRUxGIHNlY3Rpb25zIGZvciBzZXR1cCAvIGluaXQgc3BlY2lmaWMgZnVuY3Rpb25zLiBJIGRv bid0IHRoaW5rIHRoYXQgbWFrZXMgc2Vuc2UgZm9yIG5vdyBhbmQgcG9zc2libHkgb25seSBpbnRl cmVzdGluZyBmb3IgbXJ1Ynkgb3IgZW1iZWRkZWQuCgojIyMgUG9zc2libGUgbmV4dCB1bml0cyBv ZiB3b3JrCgojIyMjIENvbGQgY29kZSBzcGVjaWZpYwoKKiBJbmNyZW1lbnRhbGx5IFBSIGNvcm5l ciBjYXNlIGVycm9yIGhhbmRsaW5nIGZ1bmN0aW9ucyBzdWNoIGFzIGByYl9idWdgIGZyb20gaHR0 cHM6Ly9naXRodWIuY29tL3J1YnkvcnVieS9wdWxsLzE5MjIKKiBEaXR0byBmb3IgZ2VuZXJpYyBl cnJvciBoYW5kbGluZyBmdW5jdGlvbnMgKGByYl9yYWlzZWAgYW5kIGZyaWVuZHMpIGZyb20gaHR0 cHM6Ly9naXRodWIuY29tL3J1YnkvcnVieS9wdWxsLzE5MjIKKiBDbGFzcyBzcGVjaWZpYyBlcnJv ciBoYW5kbGluZyBmdW5jdGlvbnMgKGxvYWQgZXJyb3JzLCBlbmNvZGluZyBlcnJvcnMgaW4gdGhl IElPIG1vZHVsZSwgc3lzIGVycm9ycyBldGMuKSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5 L3J1YnkvcHVsbC8xOTIyCiogR0NDIDUrIGFsc28gc3VwcG9ydHMgYGNvbGRgIFtsYWJlbHNdKGh0 dHBzOi8vZ2NjLmdudS5vcmcvb25saW5lZG9jcy9nY2MvTGFiZWwtQXR0cmlidXRlcy5odG1sKSAs IHdoaWNoIEkgdG9vayBhIHN0YWIgd2l0aCBpbiB0aGUgYmxvYXRlZCBodHRwczovL2dpdGh1Yi5j b20vcnVieS9ydWJ5L3B1bGwvMTkyMgoKIyMjIyBUTEIgKHRyYW5zbGF0aW9uIGxvb2thc2lkZSBi dWZmZXIpIHNwZWNpZmljCgoqIEZ1cnRoZXIgSVRMQiBvdmVyaGVhZCBpbnZlc3RpZ2F0aW9uCiog UnVieSBiaW5hcmllcyBidWlsdCB3aXRoIE8zIGFuZCBkZWJ1ZyBzeW1ib2xzIGNvbWUgaW4gYXQg anVzdCBzaG9ydCBvZiAxOE1CLCBvciByb3VnaGx5IDkgaHVnZXBhZ2VzIG9uIGxpbnV4LiBQSFAg Y29yZSBkZXZlbG9wZXJzIHdlcmUgYWJsZSB0byBzcXVlZXplIGEgZmV3ICUgYnkgcmVtYXBwaW5n IGNvZGUgdG8gaHVnZXBhZ2VzIG9uIHN1cHBvcnRlZCBzeXN0ZW1zIC0gaHR0cDovL2RldmVsb3Bl cnMtY2x1Yi5jb20vcG9zdHMvMjcwNjg1LyAuIEltcGxlbWVudGF0aW9uIFtoZXJlXShodHRwczov L2dpdGh1Yi5jb20vcGhwL3BocC1zcmMvYmxvYi9mYjAzODliMTAxMGRlNWE2NDU5YmNmMjg2NDA5 NDIzZjY5ZTc0YWFmL2V4dC9vcGNhY2hlL1plbmRBY2NlbGVyYXRvci5jI0wyNjQ1LUwyNzUwKQoK IyMjIyBCeXRlY29kZSBzcGVjaWZpYwoKKiBUaGUgW0ludGVsIFRyYWNpbmcgVGFzayBBUEldKGh0 dHBzOi8vc29mdHdhcmUuaW50ZWwuY29tL2VuLXVzL3Z0dW5lLWFtcGxpZmllci1oZWxwLXRhc2st YXBpKSBpcyB2ZXJ5IHdlbGwgc3VpdGVkIGZvciB0aGUgaW5zdHJ1Y3Rpb24gc2VxdWVuY2VzIFlB UlYgZ2VuZXJhdGVzIGFuZCB0byBpbmZlciBiZXR0ZXIgcGVyIGluc3RydWN0aW9uIENQVSB1dGls aXphdGlvbiBhbmQgaWRlbnRpZnkgYW55IHN0YWxscyAoZnJvbnRlbmQsIGJhY2tlbmQsIGJyYW5j aGVzIGV0Yy4pIHRvIGRyaXZlIGZ1cnRoZXIgd29yay4KCgoKLS0gCmh0dHBzOi8vYnVncy5ydWJ5 LWxhbmcub3JnLwo=