[#110300] [Ruby master Bug#19057] Hide implementation of `rb_io_t`. — "ioquatix (Samuel Williams)" <noreply@...>
SXNzdWUgIzE5MDU3IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IGlvcXVhdGl4IChTYW11ZWwgV2lsbGlh
53 messages
2022/10/15
[ruby-core:110181] [Ruby master Feature#19024] Proposal: Import Modules
From:
"byroot (Jean Boussier)" <noreply@...>
Date:
2022-10-04 13:50:35 UTC
List:
ruby-core #110181
SXNzdWUgIzE5MDI0IGhhcyBiZWVuIHVwZGF0ZWQgYnkgYnlyb290IChKZWFuIEJvdXNzaWVyKS4K Cgo+IEkgYWdyZWUuIFRoZSBwcm9wb3NhbCBhcyBmYXIgYXMgUnVieSBnb2VzIGRvZXMgbm90IHRy ZWF0IGFueSBjb25zdGFudHMgYXMgZGlzdGluZ3Vpc2hlZC4gVGhlIGdlbSBjb2RlIG9yaWdpbmFs bHkgZGlkIGhhdmUgYSBsaXN0IG9mIGNvbnN0YW50cywgYnV0IG5vIGxvbmdlciBkb2VzIChpdCBp bnN0ZWFkIGxvb2tzIGF0IE9iamVjdC5jb25zdGFudHMgYXQgdGhlIHRpbWUgdGhlIGdlbSBpcyBs b2FkZWQpLgoKTm90ZSB0aGF0IG5hbWVzcGFjZXMgY2FuIGdvIHR3byB3YXlzLgoKVGhleSBhdm9p ZCBleHBvc2luZyB0aGVpciBvd24gY29uc3RhbnRzIHRvIHRoZSBvdXRzaWRlLgoKQnV0IHRoZXkg YWxzbyBjYW4gYmUgdXNlZCB0byBhdm9pZCB1c2luZyBjb25zdGFudHMgdGhhdCBoYXZlbid0IGJl ZW4gZXhwbGljaXRseSBkZWNsYXJlZCAod2hpY2ggbWFrZSBzdGF0aWMgYW5hbHlzaXMgb2YgZGVw ZW5kZW5jaWVzIGVhc2llcikuCgpBcyBzdWNoIGlmIHlvdSBsb29rIGF0IGhvdyBQeXRob24gKGZv ciBpbnN0YW5jZSkgZG9lcyBpdCwgdGhleSBoYXZlIGEgbGlzdCBvZiBjb25zdGFudHMgY29uc2lk ZXJlZCAiY29yZSIgdGhhdCBhcmUgYXZhaWxhYmxlIGZyb20gYW55IG5hbWVzcGFjZSB3aXRob3V0 IGhhdmluZyB0byBpbXBvcnQgdGhlbSB1bmRlciB0aGUgaW1wbGljaXQgYF9fYnVpbHRpbnNfX2Ag bmFtZXNwYWNlLgoKYGBgcHl0aG9uCj4+PiBkaXIoX19idWlsdGluc19fKSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAKWydBcml0aG1ldGljRXJyb3InLCAnQXNzZXJ0aW9uRXJyb3InLCAnQXR0cmlidXRlRXJy b3InLCAnQmFzZUV4Y2VwdGlvbicsICdCbG9ja2luZ0lPRXJyb3InLCAnQnJva2VuUGlwZUVycm9y JywgJ0J1ZmZlckVycm9yJywgJ0J5dGVzV2FybmluZycsICdDaGlsZFByb2Nlc3NFcnJvcicsICdD b25uZWN0aW9uQWJvcnRlZEVycm9yJywgJ0Nvbm5lY3Rpb25FcnJvcicsICdDb25uZWN0aW9uUmVm dXNlZEVycm9yJywgJ0Nvbm5lY3Rpb25SZXNldEVycm9yJywgJ0RlcHJlY2F0aW9uV2FybmluZycs ICdFT0ZFcnJvcicsICdFbGxpcHNpcycsICdFbmNvZGluZ1dhcm5pbmcnLCAnRW52aXJvbm1lbnRF cnJvcicsICdFeGNlcHRpb24nLCAnRmFsc2UnLCAnRmlsZUV4aXN0c0Vycm9yJywgJ0ZpbGVOb3RG b3VuZEVycm9yJywgJ0Zsb2F0aW5nUG9pbnRFcnJvcicsICdGdXR1cmVXYXJuaW5nJywgJ0dlbmVy YXRvckV4aXQnLCAnSU9FcnJvcicsICdJbXBvcnRFcnJvcicsICdJbXBvcnRXYXJuaW5nJywgJ0lu ZGVudGF0aW9uRXJyb3InLCAnSW5kZXhFcnJvcicsICdJbnRlcnJ1cHRlZEVycm9yJywgJ0lzQURp cmVjdG9yeUVycm9yJywgJ0tleUVycm9yJywgJ0tleWJvYXJkSW50ZXJydXB0JywgJ0xvb2t1cEVy cm9yJywgJ01lbW9yeUVycm9yJywgJ01vZHVsZU5vdEZvdW5kRXJyb3InLCAnTmFtZUVycm9yJywg J05vbmUnLCAnTm90QURpcmVjdG9yeUVycm9yJywgJ05vdEltcGxlbWVudGVkJywgJ05vdEltcGxl bWVudGVkRXJyb3InLCAnT1NFcnJvcicsICdPdmVyZmxvd0Vycm9yJywgJ1BlbmRpbmdEZXByZWNh dGlvbldhcm5pbmcnLCAnUGVybWlzc2lvbkVycm9yJywgJ1Byb2Nlc3NMb29rdXBFcnJvcicsICdS ZWN1cnNpb25FcnJvcicsICdSZWZlcmVuY2VFcnJvcicsICdSZXNvdXJjZVdhcm5pbmcnLCAnUnVu dGltZUVycm9yJywgJ1J1bnRpbWVXYXJuaW5nJywgJ1N0b3BBc3luY0l0ZXJhdGlvbicsICdTdG9w SXRlcmF0aW9uJywgJ1N5bnRheEVycm9yJywgJ1N5bnRheFdhcm5pbmcnLCAnU3lzdGVtRXJyb3In LCAnU3lzdGVtRXhpdCcsICdUYWJFcnJvcicsICdUaW1lb3V0RXJyb3InLCAnVHJ1ZScsICdUeXBl RXJyb3InLCAnVW5ib3VuZExvY2FsRXJyb3InLCAnVW5pY29kZURlY29kZUVycm9yJywgJ1VuaWNv ZGVFbmNvZGVFcnJvcicsICdVbmljb2RlRXJyb3InLCAnVW5pY29kZVRyYW5zbGF0ZUVycm9yJywg J1VuaWNvZGVXYXJuaW5nJywgJ1VzZXJXYXJuaW5nJywgJ1ZhbHVlRXJyb3InLCAnV2FybmluZycs ICdaZXJvRGl2aXNpb25FcnJvcicsICdfX2J1aWxkX2NsYXNzX18nLCAnX19kZWJ1Z19fJywgJ19f ZG9jX18nLCAnX19pbXBvcnRfXycsICdfX2xvYWRlcl9fJywgJ19fbmFtZV9fJywgJ19fcGFja2Fn ZV9fJywgJ19fc3BlY19fJywgJ2FicycsICdhaXRlcicsICdhbGwnLCAnYW5leHQnLCAnYW55Jywg J2FzY2lpJywgJ2JpbicsICdib29sJywgJ2JyZWFrcG9pbnQnLCAnYnl0ZWFycmF5JywgJ2J5dGVz JywgJ2NhbGxhYmxlJywgJ2NocicsICdjbGFzc21ldGhvZCcsICdjb21waWxlJywgJ2NvbXBsZXgn LCAnY29weXJpZ2h0JywgJ2NyZWRpdHMnLCAnZGVsYXR0cicsICdkaWN0JywgJ2RpcicsICdkaXZt b2QnLCAnZW51bWVyYXRlJywgJ2V2YWwnLCAnZXhlYycsICdleGl0JywgJ2ZpbHRlcicsICdmbG9h dCcsICdmb3JtYXQnLCAnZnJvemVuc2V0JywgJ2dldGF0dHInLCAnZ2xvYmFscycsICdoYXNhdHRy JywgJ2hhc2gnLCAnaGVscCcsICdoZXgnLCAnaWQnLCAnaW5wdXQnLCAnaW50JywgJ2lzaW5zdGFu Y2UnLCAnaXNzdWJjbGFzcycsICdpdGVyJywgJ2xlbicsICdsaWNlbnNlJywgJ2xpc3QnLCAnbG9j YWxzJywgJ21hcCcsICdtYXgnLCAnbWVtb3J5dmlldycsICdtaW4nLCAnbmV4dCcsICdvYmplY3Qn LCAnb2N0JywgJ29wZW4nLCAnb3JkJywgJ3BvdycsICdwcmludCcsICdwcm9wZXJ0eScsICdxdWl0 JywgJ3JhbmdlJywgJ3JlcHInLCAncmV2ZXJzZWQnLCAncm91bmQnLCAnc2V0JywgJ3NldGF0dHIn LCAnc2xpY2UnLCAnc29ydGVkJywgJ3N0YXRpY21ldGhvZCcsICdzdHInLCAnc3VtJywgJ3N1cGVy JywgJ3R1cGxlJywgJ3R5cGUnLCAndmFycycsICd6aXAnXQpgYGAKCgoKLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpGZWF0dXJlICMxOTAyNDogUHJvcG9zYWw6IEltcG9y dCBNb2R1bGVzCmh0dHBzOi8vYnVncy5ydWJ5LWxhbmcub3JnL2lzc3Vlcy8xOTAyNCNjaGFuZ2Ut OTk0NTYKCiogQXV0aG9yOiBzaGlveWFtYSAoQ2hyaXMgU2FsemJlcmcpCiogU3RhdHVzOiBPcGVu CiogUHJpb3JpdHk6IE5vcm1hbAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tClRoZXJlIGlzIG5vIGdlbmVyYWwgd2F5IGluIFJ1YnkgdG8gbG9hZCBjb2RlIG91dHNpZGUg b2YgdGhlIGdsb2JhbGx5LXNoYXJlZCBuYW1lc3BhY2UuIFRoaXMgbWFrZXMgaXQgaGFyZCB0byBp c29sYXRlIGNvbXBvbmVudHMgb2YgYW4gYXBwbGljYXRpb24gZnJvbSBlYWNoIG90aGVyIGFuZCBm cm9tIHRoZSBhcHBsaWNhdGlvbiBpdHNlbGYsIGxlYWRpbmcgdG8gY29tcGxpY2F0ZWQgcmVsYXRp b25zaGlwcyB0aGF0IGNhbiBiZWNvbWUgaW50cmFjdGFibGUgYXMgYXBwbGljYXRpb25zIGdyb3cg aW4gc2l6ZS4KClRoZSBncm93aW5nIHBvcHVsYXJpdHkgb2YgYSBnZW0gbGlrZSBbUGFja3dlcmtd KGh0dHBzOi8vZ2l0aHViLmNvbS9zaG9waWZ5L3BhY2t3ZXJrKSwgd2hpY2ggcHJvdmlkZXMgYSBu ZXcgY29uY2VwdCBvZiAicGFja2FnZSIgdG8gZW5mb2NlIGJvdW5kYXJpZXMgc3RhdGljYWxseSBp biBDSSwgaXMgZXZpZGVuY2UgdGhhdCB0aGlzIGlzIGEgcmVhbCBwcm9ibGVtLiBCdXQgaW50cm9k dWNpbmcgYSBuZXcgcGFja2FnaW5nIGNvbmNlcHQgYW5kIENJIHN0ZXAgaXMgYXQgYmVzdCBvbmx5 IGEgcGFydGlhbCBzb2x1dGlvbiwgd2l0aCBkb3duc2lkZXM6IGl0IGFkZHMgY29tcGxleGl0eSBh bmQgY29nbml0aXZlIG92ZXJoZWFkIHRoYXQgd291bGRuJ3QgYmUgbmVjZXNzYXJ5IGlmIFJ1Ynkg cHJvdmlkZWQgYmV0dGVyIHBhY2thZ2luZyBpdHNlbGYgKGFzIE1hdHogaGFzIHN1Z2dlc3RlZCBb aXQgc2hvdWxkXShodHRwczovL3lvdXR1LmJlL0RwMTJhM0tHTkZ3P3Q9Mjk1NikpLgoKVGhlcmUg aXMgX29uZV8gbGltaXRlZCB3YXkgaW4gUnVieSBjdXJyZW50bHkgdG8gbG9hZCBjb2RlIHdpdGhv dXQgcG9sbHV0aW5nIHRoZSBnbG9iYWwgbmFtZXNwYWNlOiBgbG9hZGAgd2l0aCB0aGUgYHdyYXBg IHBhcmFtZXRlciwgd2hpY2ggYXMgb2YgaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVz LzYyMTAgY2FuIG5vdyBiZSBhIG1vZHVsZS4gSG93ZXZlciwgdGhpcyBvcHRpb24gZG9lcyBub3Qg YXBwbHkgdHJhbnNpdGl2ZWx5IHRvIGByZXF1aXJlYCBjYWxscyB3aXRoaW4gdGhlIGxvYWRlZCBm aWxlLCBzbyBpdHMgdXNlZnVsbmVzcyBpcyBsaW1pdGVkLgoKTXkgcHJvcG9zYWwgaGVyZSBpcyB0 byBlbmFibGUgbW9kdWxlIGltcG9ydHMgYnkgZG9pbmcgdGhlIGZvbGxvd2luZzoKCjEuIGFwcGx5 IHRoZSBgd3JhcGAgbW9kdWxlIG5hbWVzcGFjZSB0cmFuc2l0aXZlbHkgdG8gYHJlcXVpcmVgcyBp bnNpZGUgdGhlIGxvYWRlZCBjb2RlLCBpbmNsdWRpbmcgbmF0aXZlIGV4dGVuc2lvbnMgKG9yIHBy b3ZpZGUgYSBuZXcgZmxhZyBvciBtZXRob2QgdGhhdCB3b3VsZCBkbyB0aGlzKSwKMi4gbWFrZSB0 aGUgYHdyYXBgIG1vZHVsZSB0aGUgdG9wbGV2ZWwgY29udGV4dCBmb3IgY29kZSBsb2FkZWQgdW5k ZXIgaXQsIHNvIGA6OkZvb2AgcmVzb2x2ZXMgdG8gYDx0b3Bfd3JhcHBlcj46OkZvb2AgaW4gbG9h ZGVkIGNvZGUgKG9yLCBhZ2FpbiwgcHJvdmlkZSBhIG5ldyBmbGFnIG9yIG1ldGhvZCB0aGF0IHdv dWxkIGRvIHRoaXMpLiBfQWxzbyBtYWtlIHRoaXMgYXBwbHkgd2hlbiBjb2RlIHVuZGVyIHRoZSB3 cmFwcGVyIG1vZHVsZSBpcyBjYWxsZWQgb3V0c2lkZSBvZiB0aGUgbG9hZCBwcm9jZXNzICh3aGVu IGB0b3Bfd3JhcHBlcmAgaXMgbm8gbG9uZ2VyIHNldCkgJm1kYXNoOyB0aGlzIG1heSBiZSBxdWl0 ZSBoYXJkIHRvIGRvXy4KMy4gcmVzb2x2ZSBgbmFtZWAgb24gYW5vbnltb3VzIG1vZHVsZXMgdW5k ZXIgdGhlIHdyYXBwZWQgbW9kdWxlIHRvIHRoZWlyIG5hbWVzIHdpdGhvdXQgdGhlIHRvcCB3cmFw cGVyIG1vZHVsZSwgc28gYDx0b3Bfd3JhcHBlcj46OkZvby5uYW1lYCBldmFsdWF0ZXMgdG8gYCJG b28iYC4gVGhlcmUgbWF5IGJlIG90aGVyIHdheXMgdG8gaGFuZGxlIHRoaXMgcHJvYmxlbSwgYnV0 IGEgZ2VtIGxpa2UgUmFpbHMgdXNlcyBgbmFtZWAgdG8gcmVzb2x2ZSBmaWxlbmFtZXMgYW5kIGZh aWxzIHdoZW4gYW5vbnltb3VzIG1vZHVsZXMgcmV0dXJuIHNvbWV0aGluZyBsaWtlIGAjPE1vZHVs ZTogLi4uPjo6QWN0aXZlUmVjb3JkYCBpbnN0ZWFkIG9mIGp1c3QgYEFjdGl2ZVJlY29yZGAuCgpJ IGhhdmUgcm91Z2hseSBpbXBsZW1lbnRlZCB0aGVzZSB0aHJlZSB0aGluZ3MgaW4gW3RoaXMgcGF0 Y2hdKGh0dHBzOi8vZ2l0aHViLmNvbS9ydWJ5L3J1YnkvY29tcGFyZS9tYXN0ZXIuLi5zaGlveWFt YTpydWJ5OmltcG9ydF9tb2R1bGVzKS4gVGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBpbmNvbXBsZXRl IChpdCBkb2VzIG5vdCBjb3ZlciB0aGUgbGFzdCBoaWdobGlnaHRlZCBwYXJ0IG9mIDIpIGJ1dCBw cm92aWRlcyBlbm91Z2ggb2YgYSBiYXNpcyB0byBpbXBsZW1lbnQgYW4gYGltcG9ydGAgbWV0aG9k LCB3aGljaCBJIGhhdmUgZG9uZSBpbiBhIGdlbSBjYWxsZWQgW0ltXShodHRwczovL2dpdGh1Yi5j b20vc2hpb3lhbWEvaW0pLgoKSW0gcHJvdmlkZXMgYW4gYGltcG9ydGAgbWV0aG9kIHdoaWNoIGNh biBiZSB1c2VkIHRvIGltcG9ydCBnZW0gY29kZSB1bmRlciBhIG5hbWVzcGFjZToKCmBgYHJ1YnkK cmVxdWlyZSAiaW0iCmV4dGVuZCBJbQoKYWN0aXZlX21vZGVsID0gaW1wb3J0ICJhY3RpdmVfbW9k ZWwiCiM9PiA8I0ltOjpJbXBvcnQgcm9vdDogYWN0aXZlX21vZGVsPgoKQWN0aXZlTW9kZWwKIz0+ IE5hbWVFcnJvcgoKYWN0aXZlX21vZGVsOjpBY3RpdmVNb2RlbAojPT4gQWN0aXZlTW9kZWwKCmFj dGl2ZV9yZWNvcmQgPSBpbXBvcnQgImFjdGl2ZV9yZWNvcmQiCiM9PiA8I0ltOjpJbXBvcnQgcm9v dDogYWN0aXZlX3JlY29yZD4KCiMgQ29uc3RhbnRzIGRlZmluZWQgaW4gdGhlIHNhbWUgZmlsZSB1 bmRlciBkaWZmZXJlbnQgaW1wb3J0cyBwb2ludCB0byB0aGUgc2FtZSBvYmplY3RzCmFjdGl2ZV9y ZWNvcmQ6OkFjdGl2ZU1vZGVsID09IGFjdGl2ZV9tb2RlbDo6QWN0aXZlTW9kZWwKIz0+IHRydWUK YGBgCgpXaXRoIHRoZSBjb25zdGFudHMgYWxsIGxvYWRlZCB1bmRlciBhbiBhbm9ueW1vdXMgbmFt ZXNwYWNlLCBhbnkgY29kZSBpbXBvcnRpbmcgdGhlIGdlbSBjYW4gbmFtZSBjb25zdGFudHMgaG93 ZXZlciBpdCBsaWtlczoKCmBgYHJ1YnkKY2xhc3MgUG9zdCA8IGFjdGl2ZV9yZWNvcmQ6OkFjdGl2 ZVJlY29yZDo6QmFzZQplbmQKCkFSID0gYWN0aXZlX3JlY29yZDo6QWN0aXZlUmVjb3JkCgpQb3N0 LnN1cGVyY2xhc3MKIz0+IEFSOjpCYXNlCmBgYAoKTm90ZSB0aGF0IHRoaXMgZW5hYmxlcyB0aGUg aW1wb3J0ZXIgdG8gY29tcGxldGVseSBkZXRlcm1pbmUgdGhlIG5hbWluZyBmb3IgZXZlcnkgY29u c3RhbnQgaXQgaW1wb3J0cy4gU28gZ2VtcyBjYW4gb3B0IHRvIGhpZGUgdGhlaXIgZGVwZW5kZW5j aWVzIGJ5ICJhbmNob3JpbmciIHRoZW0gaW5zaWRlIHRoZWlyIG93biBuYW1lc3BhY2UsIGxpa2Ug dGhpczoKCmBgYHJ1YnkKIyBpbiBsaWIvbXlfZ2VtLnJiCm1vZHVsZSBNeUdlbQogIGRlcCA9IGlt cG9ydCAibXlfZ2VtX2RlcGVuZGVuY3kiCgogICMgbXlfZ2VtX2RlcGVuZGVuY3kgaXMgImFuY2hv cmVkIiB1bmRlciB0aGUgTXlHZW0gbmFtZXNwYWNlLCBzbyBub3QgZXhwb3NlZCB0byB1c2Vycwog ICMgb2YgdGhlIGdlbSB1bmxlc3MgdGhleSBhbHNvIHJlcXVpcmUgaXQuCiAgTXlHZW1EZXBlbmRl bmN5ID0gZGVwCgogICMuLi4KZW5kCmBgYAoKVGhlcmUgYXJlIGEgY291cGxlIGltcG9ydGFudCBp bXBsZW1lbnRhdGlvbiBkZWNpc2lvbnMgaW4gdGhlIGdlbToKCjEuIF9Pbmx5IGxvYWQgY29kZSBv bmNlLl8gV2hlbiB0aGUgc2FtZSBmaWxlIGlzIGltcG9ydGVkIGFnYWluIChlaXRoZXIgZGlyZWN0 bHkgb3IgdHJhbnNpdGl2ZWx5KSwgImNvcHkiIGNvbnN0YW50cyBmcm9tIHByZXZpb3VzbHkgaW1w b3J0ZWQgbmFtZXNwYWNlIHRvIHRoZSBuZXcgbmFtZXNwYWNlIHVzaW5nIGEgcmVnaXN0cnkgd2hp Y2ggbWFwcyB3aGljaCBuYW1lc3BhY2UgKGltcG9ydCkgd2FzIHVzZWQgdG8gbG9hZCB3aGljaCBm aWxlIChhcyBzaG93biBhYm92ZSB3aXRoIGFjdGl2ZXJlY29yZC9hY3RpdmVtb2RlbCkuIFRoaXMg aXMgbmVjZXNzYXJ5IHRvIGVuc3VyZSB0aGF0IGRpZmZlcmVudCBpbXBvcnRzIGNhbiAic2VlIiBz aGFyZWQgZmlsZXMuIEEgc2ltaWxhciByZWdpc3RyeSBpcyB1c2VkIHRvIHRyYWNrIGF1dG9sb2Fk cyBzbyB0aGF0IHRoZXkgd29yayBjb3JyZWN0bHkgd2hlbiB1c2VkIGZyb20gaW1wb3J0ZWQgY29k ZS4KMi4gVG9wbGV2ZWwgY29yZSB0eXBlcyAoYE5pbENsYXNzYCwgYFRydWVDbGFzc2AsIGBGYWxz ZUNsYXNzYCwgYFN0cmluZ2AsIGV0YykgYXJlICJhbGlhc2VkIiB0byBjb25zdGFudHMgdW5kZXIg ZWFjaCBpbXBvcnQgbW9kdWxlIHRvIG1ha2UgdGhlbSBhdmFpbGFibGUuIFRodXMgdGhlcmUgY2Fu IGJlIHNpZGUtZWZmZWN0cyBvZiBpbXBvcnRpbmcgY29kZSwgYnV0IHRoaXMgYWxsb3dzIGEgZ2Vt IGxpa2UgUmFpbHMgdG8gbW9ua2V5cGF0Y2ggY29yZSBjbGFzc2VzIHdoaWNoIGl0IG5lZWRzIHRv IGRvIGZvciBpdCB0byB3b3JrLgozLiBgT2JqZWN0LmNvbnN0X21pc3NpbmdgIGlzIHBhdGNoZWQg dG8gY2hlY2sgdGhlIGNhbGxlciBsb2NhdGlvbiBhbmQgcmVzb2x2ZSB0byB0aGUgY29uc3RhbnQg ZGVmaW5lZCB1bmRlciBhbiBpbXBvcnQsIGlmIHRoZXJlIGlzIGFuIGltcG9ydCBkZWZpbmVkIGZv ciB0aGF0IGZpbGUuCgpUbyBiZSBjbGVhcjogKipJIHRoaW5rIDEpIHNob3VsZCBiZSBpbXBsZW1l bnRlZCBpbiBSdWJ5LCBidXQgbm90IDIpIGFuZCAzKS4qKiBUaGUgbGFzdCBvbmUgKGBPYmplY3Qu Y29uc3RfbWlzc2luZ2ApIGlzIGEgaGFjayB0byBzdXBwb3J0IHRoZSBjYXNlIHdoZXJlIGEgdG9w bGV2ZWwgY29uc3RhbnQgaXMgcmVmZXJlbmNlZCBmcm9tIGEgbWV0aG9kIGNhbGxlZCBpbiBpbXBv cnRlZCBjb2RlIChhdCB3aGljaCBwb2ludCB0aGUgYHRvcF93cmFwcGVyYCBpcyBub3QgYWN0aXZl LikKCkkga25vdyB0aGlzIGlzIGEgYmlnIHByb3Bvc2FsLCBhbmQgdGhlcmUgYXJlIHN0cm9uZyBv cGluaW9ucyBoZWxkLiBJIHdvdWxkIHJlYWxseSBhcHByZWNpYXRlIGNvbnN0cnVjdGl2ZSBmZWVk YmFjayBvbiB0aGlzIGdlbmVyYWwgaWRlYS4KClNlZSBhbHNvIHNpbWlsYXIgZGlzY3Vzc2lvbiBp bjogaHR0cHM6Ly9idWdzLnJ1YnktbGFuZy5vcmcvaXNzdWVzLzEwMzIwCgoKCi0tIApodHRwczov L2J1Z3MucnVieS1sYW5nLm9yZy8KClVuc3Vic2NyaWJlOiA8bWFpbHRvOnJ1YnktY29yZS1yZXF1 ZXN0QHJ1YnktbGFuZy5vcmc/c3ViamVjdD11bnN1YnNjcmliZT4KPGh0dHA6Ly9saXN0cy5ydWJ5 LWxhbmcub3JnL2NnaS1iaW4vbWFpbG1hbi9vcHRpb25zL3J1YnktY29yZT4K