From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Michael S. Tsirkin" Subject: [PATCH RFC] virtio-spec: flexible configuration layout Date: Tue, 8 Nov 2011 23:40:23 +0200 Message-ID: <20111108214021.GA4538@redhat.com> References: <87wrbkvh3v.fsf@rustcorp.com.au> <20111101114542.GA13434@redhat.com> <1320150813.3847.24.camel@lappy> <20111101124223.GA14060@redhat.com> <8739e7uy87.fsf@rustcorp.com.au> <20111102233110.GA20289@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20111102233110.GA20289@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org To: Rusty Russell Cc: Krishna Kumar , kvm@vger.kernel.org, Pawel Moll , Wang Sheng-Hui , Alexey Kardashevskiy , lkml - Kernel Mailing List , virtualization@lists.linux-foundation.org, Christian Borntraeger , Sasha Levin , Amit Shah , avi@redhat.com List-Id: virtualization@lists.linuxfoundation.org SGVyZSdzIGEgc3BlYyBjaGFuZ2UgZG9jdW1lbnRpbmcgd2hhdCBteSBDIHBhdGNoIGRvZXMKKGFs bW9zdCAtIEkgdHdlYWtlZCB0aGUgbGF5b3V0IGEgYml0LCBidXQgdGhlIGlkZWEgaXMgdGhlIHNh bWUpLgpTb21lIG1vcmUgY2xlYW51cHMgYXJlIG5lZWRlZCBidXQgSSB0aG91Z2h0IEknZCBzZW5k IGl0CmZvciBlYXJseSBmbGFtZXMvY29tbWVudHMuCgpUaGUgaWRlYSBpcyBzaW1wbGU6IHdlIHNw bGl0IGZ1bmN0aW9uYWxseSB1bnJlbGF0ZWQKcmVnaXN0ZXIgZ3JvdXBzIHRvIGluZGVwZW5kZW50 IHN0cnVjdHVyZXMsIGFuZCBsZXQKdGhlIGRldmljZSBwbGFjZSBpcyBhbnl3aGVyZSB1c2luZyBh IGNhcGFiaWxpdHkKaW4gUENJIGNvbmZpZ3VyYXRpb24gc3BhY2UuCgpJdCBjYW4gdGhlbiBnbyBp bnRvIE1NSU8gc3BhY2Ugd2hpY2ggaXMgY2hlYXBlciB0aGFuIFBJTy4KCkEgbGVnYWN5IHBvcnRp b24gb2YgdGhlIGNvbmZpZ3VyYXRpb24gaXMgbWlycm9yZWQKaW4gdGhlIGZpcnN0IEJBUiwgdG8g a2VlcCBsZWdhY3kgZHJpdmVycyB3b3JraW5nLgpBbnkgbmV3IGZpZWxkcyBjYW4gYmUgYWRkZWQg aW4gZXhpc3Rpbmcgc3RydWN0dXJlcwphdCB0aGUgZW5kLCBzbyB0aGV5IHdvbid0IGFmZmVjdCBs ZWdhY3kuCkFsdGVybmF0aXZlbHkgd2UgY2FuIGFkZCBuZXcgc3RydWN0dXJlcyB3aXRoIG5ldwpz dHJ1Y3R1cmUgSURzLCBwb2ludGVkIHRvIGZyb20gUENJIGNvbmZpZ3VyYXRpb24gc3BhY2UuCgpB cyB3ZSBkb24ndCB5ZXQgaGF2ZSBkZXZpY2VzIG9yIGRyaXZlcnMgd2l0aCA2NCBiaXQgZmVhdHVy ZXMsCkkgZGVjaWRlZCB3ZSBkb24ndCBuZWVkIGhpZ2ggZmVhdHVyZSBiaXRzIGluIGxlZ2FjeSBz cGFjZS4KVGhpcyBhbHNvIGZyZWVzIHVwIGZlYXR1cmUgYml0IDMxIGFzIHdlIGRvbid0IG5lZWQg aXQKdG8gZW5hYmxlIGhpZ2ggZmVhdHVyZSBiaXRzIGFueW1vcmUuCgpBcyB0aGlzIHNvbHZlcyB0 aGUgZHluYW1pYyBwbGFjZW1lbnQgb2YgTVNJWCB2ZWN0b3JzCmFuZCBoaWdoIGZlYXR1cmUgYml0 cywKSSB0aG91Z2h0IGl0J3MgZWFzaWVyIHRvIGp1c3QgcmVzZXJ2ZSBzcGFjZSBmb3IgdGhhdApw cm9ncmFtbWluZyB0aGFuIGdpdmUgaXQgYSBzZXBhcmF0ZSBzdHJ1Y3R1cmUuIFRoaXMKY2FuIGJl IGNoYW5nZWQgYnkgYSBwYXRjaCBvbiB0b3AuCgpOb3RlIHRoYXQgZGF0YSBwYXRoIGlzIHNwbGl0 IGZyb20gY29uZmlndXJhdGlvbi4KClBERiB3aWxsIGZvbGxvdy4KLS0tLQoKZGlmZiAtLWdpdCBh L3ZpcnRpby1zcGVjLmx5eCBiL3ZpcnRpby1zcGVjLmx5eAppbmRleCA2NDI2ZjhmLi41YWVjMzhj IDEwMDY0NAotLS0gYS92aXJ0aW8tc3BlYy5seXgKKysrIGIvdmlydGlvLXNwZWMubHl4CkBAIC01 Niw2ICs1Niw3IEBACiBcaHRtbF9tYXRoX291dHB1dCAwCiBcaHRtbF9jc3NfYXNfZmlsZSAwCiBc aHRtbF9iZV9zdHJpY3QgZmFsc2UKK1xhdXRob3IgMTk4NjI0NjM2NSAiTWljaGFlbCBTLiBUc2ly a2luIiAKIFxlbmRfaGVhZGVyCiAKIFxiZWdpbl9ib2R5CkBAIC01NzAsNyArNTcxLDM0IEBAIERl dmljZSBDb25maWd1cmF0aW9uCiBcZW5kX2xheW91dAogCiBcYmVnaW5fbGF5b3V0IFN0YW5kYXJk Ci1UbyBjb25maWd1cmUgdGhlIGRldmljZSwgd2UgdXNlIHRoZSBmaXJzdCBJL08gcmVnaW9uIG9m IHRoZSBQQ0kgZGV2aWNlLgorVG8gY29uZmlndXJlIHRoZSBkZXZpY2UsIHdlIAorXGNoYW5nZV9p bnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3ODMzNTQKK3VzZSBJL08gYW5kL29yIG1lbW9yeSByZWdp b25zIG9mIHRoZSBQQ0kgZGV2aWNlLgorIFRoZXNlIGNvbnRhaW4gdGhlIHZpcnRpbyBoZWFkZXIg cmVnaXN0ZXJzLCB0aGUgbm90aWZpY2F0aW9uIHJlZ2lzdGVyLCB0aGUKKyBJU1Igc3RhdHVzIHJl Z2lzdGVyIGFuZCBkZXZpY2Ugc3BlY2lmaWMgcmVnaXN0ZXJzLCBhcyBzcGVjaWZpZWQgYnkgVmly dGlvCisgU3RydWN0dXJlIFBDSSBDYXBhYmlsaXRpZXMKK1xiZWdpbl9pbnNldCBGb290CitzdGF0 dXMgb3BlbgorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVk IDE5ODYyNDYzNjUgMTMyMDc4NzY1OQorRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCBkZXZp Y2VzIHNob3VsZCBwcmVzZW50IHBhcnQgb2YgdGhlc2UgY29uZmlndXJhdGlvbgorIHJlZ2lzdGVy cyBpbiBhIGxlZ2FjeSBjb25maWd1cmF0aW9uIHN0cnVjdHVyZSBpbiB0aGUgZmlyc3QgSS9PIHJl Z2lvbiBvZgorIHRoZSBQQ0kgZGV2aWNlCitcY2hhbmdlX3VuY2hhbmdlZAorCitcZW5kX2xheW91 dAorCitcZW5kX2luc2V0CisKKy4KK1xlbmRfbGF5b3V0CisKK1xiZWdpbl9sYXlvdXQgU3RhbmRh cmQKKworXGNoYW5nZV9kZWxldGVkIDE5ODYyNDYzNjUgMTMyMDc2NjUxMgordXNlIHRoZSBmaXJz dCBJL08gcmVnaW9uIG9mIHRoZSBQQ0kgZGV2aWNlLgogIFRoaXMgY29udGFpbnMgYSAKIFxlbXBo IG9uCiB2aXJ0aW8gaGVhZGVyCkBAIC01NzgsNiArNjA2LDggQEAgdmlydGlvIGhlYWRlcgogIGZv bGxvd2VkIGJ5IGEgCiBcZW1waCBvbgogZGV2aWNlLXNwZWNpZmljIHJlZ2lvbi4KK1xjaGFuZ2Vf dW5jaGFuZ2VkCisKIFxlbmRfbGF5b3V0CiAKIFxiZWdpbl9sYXlvdXQgU3RhbmRhcmQKQEAgLTU5 NSw5ICs2MjUsMjMgQEAgbmF0dXJhbAogXGVuZF9sYXlvdXQKIAogXGJlZ2luX2xheW91dCBTdGFu ZGFyZAotTm90ZSB0aGF0IHRoaXMgaXMgcG9zc2libGUgYmVjYXVzZSB3aGlsZSB0aGUgdmlydGlv IGhlYWRlciBpcyBQQ0kgKGkuZS4KLSBsaXR0bGUpIGVuZGlhbiwgdGhlIGRldmljZS1zcGVjaWZp YyByZWdpb24gaXMgZW5jb2RlZCBpbiB0aGUgbmF0aXZlIGVuZGlhbgotIG9mIHRoZSBndWVzdCAo d2hlcmUgc3VjaCBkaXN0aW5jdGlvbiBpcyBhcHBsaWNhYmxlKS4KK05vdGUgdGhhdCB0aGlzIGlz IHBvc3NpYmxlIGJlY2F1c2Ugd2hpbGUgdGhlIHZpcnRpbyBoZWFkZXIKK1xjaGFuZ2VfaW5zZXJ0 ZWQgMTk4NjI0NjM2NSAxMzIwNzY3MjQ5CissIG5vdGlmaWNhdGlvbiBhbmQgSVNSIHN0YXR1cyBh cmUKK1xjaGFuZ2VfZGVsZXRlZCAxOTg2MjQ2MzY1IDEzMjA3NjcyNTEKKyBpcworXGNoYW5nZV91 bmNoYW5nZWQKKyBQQ0kgKGkuZS4KKyBsaXR0bGUpIGVuZGlhbiwgdGhlIGRldmljZS1zcGVjaWZp YworXGNoYW5nZV9kZWxldGVkIDE5ODYyNDYzNjUgMTMyMDc2NzMzNQorIHJlZ2lvbiBpcworXGNo YW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3NjczMzcKK3JlZ2lzdGVycyBhcmUKK1xjaGFu Z2VfdW5jaGFuZ2VkCisgZW5jb2RlZCBpbiB0aGUgbmF0aXZlIGVuZGlhbiBvZiB0aGUgZ3Vlc3Qg KHdoZXJlIHN1Y2ggZGlzdGluY3Rpb24gaXMgYXBwbGljYWJsZQorKS4KK1xjaGFuZ2VfaW5zZXJ0 ZWQgMTk4NjI0NjM2NSAxMzIwNzY3NjYwCisKIFxlbmRfbGF5b3V0CiAKIFxiZWdpbl9sYXlvdXQg U3Vic2VjdGlvbgpAQCAtNjM1LDUxICs2NzksMjk1NCBAQCBEZXZpY2Utc3BlY2lmaWMgc2V0dXAs IGluY2x1ZGluZyByZWFkaW5nIHRoZSBEZXZpY2UgRmVhdHVyZSBCaXRzLCBkaXNjb3ZlcnkKICB3 cml0aW5nIHRoZSB2aXJ0aW8gY29uZmlndXJhdGlvbiBzcGFjZS4KIFxlbmRfbGF5b3V0CiAKLVxi ZWdpbl9sYXlvdXQgRW51bWVyYXRlCi1UaGUgc3Vic2V0IG9mIERldmljZSBGZWF0dXJlIEJpdHMg dW5kZXJzdG9vZCBieSB0aGUgZHJpdmVyIGlzIHdyaXR0ZW4gdG8KLSB0aGUgZGV2aWNlLgorXGJl Z2luX2xheW91dCBFbnVtZXJhdGUKK1RoZSBzdWJzZXQgb2YgRGV2aWNlIEZlYXR1cmUgQml0cyB1 bmRlcnN0b29kIGJ5IHRoZSBkcml2ZXIgaXMgd3JpdHRlbiB0bworIHRoZSBkZXZpY2UuCitcZW5k X2xheW91dAorCitcYmVnaW5fbGF5b3V0IEVudW1lcmF0ZQorVGhlIERSSVZFUl9PSyBzdGF0dXMg Yml0IGlzIHNldC4KK1xlbmRfbGF5b3V0CisKK1xiZWdpbl9sYXlvdXQgRW51bWVyYXRlCitUaGUg ZGV2aWNlIGNhbiBub3cgYmUgdXNlZCAoaWUuCisgYnVmZmVycyBhZGRlZCB0byB0aGUgdmlydHF1 ZXVlcykKK1xiZWdpbl9pbnNldCBGb290CitzdGF0dXMgb3BlbgorCitcYmVnaW5fbGF5b3V0IFBs YWluIExheW91dAorSGlzdG9yaWNhbGx5LCBkcml2ZXJzIGhhdmUgdXNlZCB0aGUgZGV2aWNlIGJl Zm9yZSBzdGVwcyA1IGFuZCA2LgorIFRoaXMgaXMgb25seSBhbGxvd2VkIGlmIHRoZSBkcml2ZXIg ZG9lcyBub3QgdXNlIGFueSBmZWF0dXJlcyB3aGljaCB3b3VsZAorIGFsdGVyIHRoaXMgZWFybHkg dXNlIG9mIHRoZSBkZXZpY2UuCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0CisKKworXGVuZF9s YXlvdXQKKworXGJlZ2luX2xheW91dCBTdGFuZGFyZAorSWYgYW55IG9mIHRoZXNlIHN0ZXBzIGdv IGlycmVjb3ZlcmFibHkgd3JvbmcsIHRoZSBndWVzdCBzaG91bGQgc2V0IHRoZSBGQUlMRUQKKyBz dGF0dXMgYml0IHRvIGluZGljYXRlIHRoYXQgaXQgaGFzIGdpdmVuIHVwIG9uIHRoZSBkZXZpY2Ug KGl0IGNhbiByZXNldAorIHRoZSBkZXZpY2UgbGF0ZXIgdG8gcmVzdGFydCBpZiBkZXNpcmVkKS4K K1xlbmRfbGF5b3V0CisKK1xiZWdpbl9sYXlvdXQgU3RhbmRhcmQKK1dlIG5vdyBjb3ZlciB0aGUg ZmllbGRzIHJlcXVpcmVkIGZvciBnZW5lcmFsIHNldHVwIGluIGRldGFpbC4KK1xjaGFuZ2VfaW5z ZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzY2NjYzCisKK1xlbmRfbGF5b3V0CisKK1xiZWdpbl9sYXlv dXQgU3Vic2VjdGlvbgorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4MTU4NAor VmlydGlvIFN0cnVjdHVyZSBQQ0kgQ2FwYWJpbGl0eQorXGVuZF9sYXlvdXQKKworXGJlZ2luX2xh eW91dCBTdGFuZGFyZAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4MTA2MQor VmlydGlvIGNvbmZpZ3VyYXRpb24gbGF5b3V0IGluY2x1ZGVzIHZpcnRpbyBjb25maWd1cmF0aW9u IGhlYWRlciwgbm90aWZpY2F0aW9uCisgYW5kIElTUiBzdGF0dXMgYW5kIGRldmljZSBjb25maWd1 cmF0aW9uIHN0cnVjdHVyZXMuCisgRWFjaCBzdHJ1Y3R1cmUgaXMgbWFwcGVkIGJ5IGEgQmFzZSBB ZGRyZXNzIHJlZ2lzdGVyIChCQVIpIGJlbG9uZ2luZyB0bworIHRoZSBmdW5jdGlvbiwgbG9jYXRl ZCBiZWdpbm5pbmcgYXQgMTBoIGluIENvbmZpZ3VyYXRpb24gU3BhY2UuCisgCitcZW1waCBvbgor U3RydWN0dXJlIElEIAorXGVtcGggZGVmYXVsdAoraW5kZW50aWZpZXMgdGhlIHN0cnVjdHVyZQor XGVtcGggb24KKywgU2l6ZQorXGVtcGggZGVmYXVsdAorIGluZGljYXRlcyB0aGUgc3RydWN0dXJl IHNpemUsIGluIGJ5dGVzLCBhIAorXGVtcGggb24KK0JBUiBJbmRpY2F0b3IgcmVnaXN0ZXIgKEJJ UikKK1xlbXBoIGRlZmF1bHQKKyBpbmRpY2F0ZXMgd2hpY2ggQkFSLCBhbmQgCitcZW1waCBvbgor T2Zmc2V0CitcZW1waCBkZWZhdWx0CisgaW5kaWNhdGVzIHdoZXJlIHRoZSBzdHJ1Y3R1cmUgYmVn aW5zIHJlbGF0aXZlIHRvIHRoZSBiYXNlIGFkZHJlc3MgYXNzb2NpYXRlZAorIHdpdGggdGhlIEJB Ui4KKyBUaGUgQkFSIGlzIHBlcm1pdHRlZCB0byBiZSBlaXRoZXIgMzItYml0IG9yIDY0LWJpdCwg aXQgY2FuIG1hcCBNZW1vcnkgU3BhY2UKKyBvciBJL08gU3BhY2UuCitcZW5kX2xheW91dAorCitc YmVnaW5fbGF5b3V0IFN0YW5kYXJkCisKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIw NzgxMTMzCitUaGVzZSByZWdpc3RlcnMgYXJlIHNwZWNpZmllZCB1c2luZyB2ZW5kb3Itc3BlY2lm aWMgUENJIGNhcGFiaWxpdHkgbG9jYXRlZAorIG9uIGNhcGFiaWxpdHkgbGlzdCBpbiBQQ0kgY29u ZmlndXJhdGlvbiBzcGFjZSBvZiB0aGUgZGV2aWNlLgorIFRoaXMgdmlydGlvIHN0cnVjdHVyZSBj YXBhYmlsaXR5IHVzZXMgbGl0dGxlLWVuZGlhbiBmb3JtYXQ7IGFsbCBiaXRzIGFyZQorIHJlYWQt b25seToKK1xlbmRfbGF5b3V0CisKK1xiZWdpbl9sYXlvdXQgU3RhbmRhcmQKKworXGNoYW5nZV9p bnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3NzI1NzkKK1xiZWdpbl9pbnNldCBUYWJ1bGFyCis8bHl4 dGFidWxhciB2ZXJzaW9uPSIzIiByb3dzPSI0IiBjb2x1bW5zPSIzNCI+Cis8ZmVhdHVyZXMgdGFi dWxhcnZhbGlnbm1lbnQ9Im1pZGRsZSI+Cis8Y29sdW1uIGFsaWdubWVudD0iY2VudGVyIiB2YWxp Z25tZW50PSJ0b3AiIHdpZHRoPSIwcHQiPgorPGNvbHVtbiBhbGlnbm1lbnQ9ImNlbnRlciIgdmFs aWdubWVudD0idG9wIiB3aWR0aD0iMCI+Cis8Y29sdW1uIGFsaWdubWVudD0iY2VudGVyIiB2YWxp Z25tZW50PSJ0b3AiIHdpZHRoPSIwIj4KKzxjb2x1bW4gYWxpZ25tZW50PSJjZW50ZXIiIHZhbGln bm1lbnQ9InRvcCIgd2lkdGg9IjAiPgorPGNvbHVtbiBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdu bWVudD0idG9wIiB3aWR0aD0iMCI+Cis8Y29sdW1uIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25t ZW50PSJ0b3AiIHdpZHRoPSIwIj4KKzxjb2x1bW4gYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1l bnQ9InRvcCIgd2lkdGg9IjAiPgorPGNvbHVtbiBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVu dD0idG9wIiB3aWR0aD0iMCI+Cis8Y29sdW1uIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50 PSJ0b3AiIHdpZHRoPSIwIj4KKzxjb2x1bW4gYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9 InRvcCIgd2lkdGg9IjAiPgorPGNvbHVtbiBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0i dG9wIiB3aWR0aD0iMCI+Cis8Y29sdW1uIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0 b3AiIHdpZHRoPSIwIj4KKzxjb2x1bW4gYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRv cCIgd2lkdGg9IjAiPgorPGNvbHVtbiBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9w IiB3aWR0aD0iMCI+Cis8Y29sdW1uIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3Ai IHdpZHRoPSIwIj4KKzxjb2x1bW4gYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIg d2lkdGg9IjAiPgorPGNvbHVtbiBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB3 aWR0aD0iMCI+Cis8Y29sdW1uIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHdp ZHRoPSIwIj4KKzxjb2x1bW4gYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgd2lk dGg9IjAiPgorPGNvbHVtbiBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB3aWR0 aD0iMCI+Cis8Y29sdW1uIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHdpZHRo PSIwIj4KKzxjb2x1bW4gYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgd2lkdGg9 IjAiPgorPGNvbHVtbiBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB3aWR0aD0i MCI+Cis8Y29sdW1uIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHdpZHRoPSIw Ij4KKzxjb2x1bW4gYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgd2lkdGg9IjAi PgorPGNvbHVtbiBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB3aWR0aD0iMCI+ Cis8Y29sdW1uIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHdpZHRoPSIwIj4K Kzxjb2x1bW4gYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgd2lkdGg9IjAiPgor PGNvbHVtbiBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB3aWR0aD0iMCI+Cis8 Y29sdW1uIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHdpZHRoPSIwIj4KKzxj b2x1bW4gYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgd2lkdGg9IjAiPgorPGNv bHVtbiBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB3aWR0aD0iMCI+Cis8Y29s dW1uIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHdpZHRoPSIwIj4KKzxjb2x1 bW4gYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgd2lkdGg9IjBwdCI+Cis8cm93 PgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1 ZSIgYm90dG9tbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVn aW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2lu c2VydGVkIDE5ODYyNDYzNjUgMTMyMDc3MTc3NAorQml0CitcY2hhbmdlX3VuY2hhbmdlZAorCitc ZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRl ciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBib3R0b21saW5lPSJ0cnVlIiBsZWZ0 bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9s YXlvdXQgUGxhaW4gTGF5b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzcx Nzc3CiszMQorXGNoYW5nZV91bmNoYW5nZWQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAor PC9jZWxsPgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGlu ZT0idHJ1ZSIgYm90dG9tbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+ CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hh bmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc3MTc3OQorMzAKK1xjaGFuZ2VfdW5jaGFuZ2Vk CisKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIGFsaWdubWVudD0i Y2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGJvdHRvbWxpbmU9InRydWUi IGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJl Z2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEz MjA3NzE3ODEKKzI5CitcY2hhbmdlX3VuY2hhbmdlZAorCitcZW5kX2xheW91dAorCitcZW5kX2lu c2V0Cis8L2NlbGw+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0 b3BsaW5lPSJ0cnVlIiBib3R0b21saW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJu b25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisK K1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzcxNzgzCisyOAorXGNoYW5nZV91bmNo YW5nZWQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgYWxpZ25t ZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgYm90dG9tbGluZT0i dHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAor CitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYz NjUgMTMyMDc3MTc4NgorMjcKK1xjaGFuZ2VfdW5jaGFuZ2VkCisKK1xlbmRfbGF5b3V0CisKK1xl bmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0 b3AiIHRvcGxpbmU9InRydWUiIGJvdHRvbWxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vi b3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlv dXQKKworXGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3NzE4MTAKKzI2CitcY2hhbmdl X3VuY2hhbmdlZAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBh bGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBib3R0b21s aW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBU ZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4 NjI0NjM2NSAxMzIwNzcxODEzCisyNQorXGNoYW5nZV91bmNoYW5nZWQKKworXGVuZF9sYXlvdXQK KworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1l bnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgYm90dG9tbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUi IHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWlu IExheW91dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc3MTgxNQorMjQKK1xj aGFuZ2VfdW5jaGFuZ2VkCisKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxj ZWxsIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGJv dHRvbWxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2lu c2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGNoYW5nZV9pbnNlcnRl ZCAxOTg2MjQ2MzY1IDEzMjA3NzE4MTcKKzIzCitcY2hhbmdlX3VuY2hhbmdlZAorCitcZW5kX2xh eW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFs aWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBib3R0b21saW5lPSJ0cnVlIiBsZWZ0bGluZT0i dHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQg UGxhaW4gTGF5b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzcxODE5Cisy MgorXGNoYW5nZV91bmNoYW5nZWQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxs PgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1 ZSIgYm90dG9tbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVn aW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2lu c2VydGVkIDE5ODYyNDYzNjUgMTMyMDc3MTgyMQorMjEKK1xjaGFuZ2VfdW5jaGFuZ2VkCisKK1xl bmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIGFsaWdubWVudD0iY2VudGVy IiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGJvdHRvbWxpbmU9InRydWUiIGxlZnRs aW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xh eW91dCBQbGFpbiBMYXlvdXQKKworXGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3NzE4 MjMKKzIwCitcY2hhbmdlX3VuY2hhbmdlZAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8 L2NlbGw+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5l PSJ0cnVlIiBib3R0b21saW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4K K1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xjaGFu Z2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzcxODI1CisxOQorXGNoYW5nZV91bmNoYW5nZWQK KworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgYWxpZ25tZW50PSJj ZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgYm90dG9tbGluZT0idHJ1ZSIg bGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVn aW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMy MDc3MTgyOQorMTgKK1xjaGFuZ2VfdW5jaGFuZ2VkCisKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5z ZXQKKzwvY2VsbD4KKzxjZWxsIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRv cGxpbmU9InRydWUiIGJvdHRvbWxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5v bmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKwor XGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3NzE4MzEKKzE3CitcY2hhbmdlX3VuY2hh bmdlZAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBhbGlnbm1l bnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBib3R0b21saW5lPSJ0 cnVlIiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisK K1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2 NSAxMzIwNzcxODMzCisxNgorXGNoYW5nZV91bmNoYW5nZWQKKworXGVuZF9sYXlvdXQKKworXGVu ZF9pbnNldAorPC9jZWxsPgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRv cCIgdG9wbGluZT0idHJ1ZSIgYm90dG9tbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJv eD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91 dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc3MTgzNQorMTUKK1xjaGFuZ2Vf dW5jaGFuZ2VkCisKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIGFs aWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGJvdHRvbWxp bmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRl eHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGNoYW5nZV9pbnNlcnRlZCAxOTg2 MjQ2MzY1IDEzMjA3NzE4NDAKKzE0CitcY2hhbmdlX3VuY2hhbmdlZAorCitcZW5kX2xheW91dAor CitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVu dD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBib3R0b21saW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIg dXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4g TGF5b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzcxODQxCisxMworXGNo YW5nZV91bmNoYW5nZWQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNl bGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgYm90 dG9tbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5z ZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVk IDE5ODYyNDYzNjUgMTMyMDc3MTg0MworMTIKK1xjaGFuZ2VfdW5jaGFuZ2VkCisKK1xlbmRfbGF5 b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIGFsaWdubWVudD0iY2VudGVyIiB2YWxp Z25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGJvdHRvbWxpbmU9InRydWUiIGxlZnRsaW5lPSJ0 cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQ bGFpbiBMYXlvdXQKKworXGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3NzE4NDUKKzEx CitcY2hhbmdlX3VuY2hhbmdlZAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+ Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVl IiBib3R0b21saW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdp bl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xjaGFuZ2VfaW5z ZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzcxODQ3CisxMAorXGNoYW5nZV91bmNoYW5nZWQKKworXGVu ZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIi IHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgYm90dG9tbGluZT0idHJ1ZSIgbGVmdGxp bmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5 b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc3MTg1 MAorOQorXGNoYW5nZV91bmNoYW5nZWQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9j ZWxsPgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0i dHJ1ZSIgYm90dG9tbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+Citc YmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdl X2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc3MTg1MgorOAorXGNoYW5nZV91bmNoYW5nZWQKKwor XGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgYWxpZ25tZW50PSJjZW50 ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgYm90dG9tbGluZT0idHJ1ZSIgbGVm dGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5f bGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc3 MTg1NAorNworXGNoYW5nZV91bmNoYW5nZWQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAor PC9jZWxsPgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGlu ZT0idHJ1ZSIgYm90dG9tbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+ CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hh bmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc3MTg1NgorNgorXGNoYW5nZV91bmNoYW5nZWQK KworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgYWxpZ25tZW50PSJj ZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgYm90dG9tbGluZT0idHJ1ZSIg bGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVn aW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMy MDc3MTg1OAorNQorXGNoYW5nZV91bmNoYW5nZWQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNl dAorPC9jZWxsPgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9w bGluZT0idHJ1ZSIgYm90dG9tbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9u ZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitc Y2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc3MTg1OQorNAorXGNoYW5nZV91bmNoYW5n ZWQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgYWxpZ25tZW50 PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgYm90dG9tbGluZT0idHJ1 ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitc YmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUg MTMyMDc3MTg2MQorMworXGNoYW5nZV91bmNoYW5nZWQKKworXGVuZF9sYXlvdXQKKworXGVuZF9p bnNldAorPC9jZWxsPgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIg dG9wbGluZT0idHJ1ZSIgYm90dG9tbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0i bm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAor CitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc3MTg2MgorMgorXGNoYW5nZV91bmNo YW5nZWQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgYWxpZ25t ZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgYm90dG9tbGluZT0i dHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAor CitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYz NjUgMTMyMDc3MTg2NAorMQorXGNoYW5nZV91bmNoYW5nZWQKKworXGVuZF9sYXlvdXQKKworXGVu ZF9pbnNldAorPC9jZWxsPgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRv cCIgdG9wbGluZT0idHJ1ZSIgYm90dG9tbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJv eD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91 dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc3MTg4OAorMAorXGVuZF9sYXlv dXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGln bm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgYm90dG9tbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRy dWUiIHJpZ2h0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisK K1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2 NSAxMzIwNzcxOTk3CitPZmZzZXQKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4K Kzwvcm93PgorPHJvdz4KKzxjZWxsIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3Ai IHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWlu IExheW91dAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBtdWx0 aWNvbHVtbj0iMSIgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0i dHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAor CitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYz NjUgMTMyMDc4MTAyOQorU3RydWN0dXJlIElECitcY2hhbmdlX3VuY2hhbmdlZAorCitcZW5kX2xh eW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBtdWx0aWNvbHVtbj0iMiIgYWxpZ25t ZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRy dWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBs YWluIExheW91dAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBt dWx0aWNvbHVtbj0iMiIgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGlu ZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4 dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcZW5kX2xheW91dAorCitcZW5kX2lu c2V0Cis8L2NlbGw+Cis8Y2VsbCBtdWx0aWNvbHVtbj0iMiIgYWxpZ25tZW50PSJjZW50ZXIiIHZh bGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9u ZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitc ZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBtdWx0aWNvbHVtbj0iMiIg YWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxp bmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5 b3V0IFBsYWluIExheW91dAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8 Y2VsbCBtdWx0aWNvbHVtbj0iMiIgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIg dG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5z ZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcZW5kX2xheW91dAorCitc ZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBtdWx0aWNvbHVtbj0iMiIgYWxpZ25tZW50PSJjZW50 ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJv eD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91 dAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBtdWx0aWNvbHVt bj0iMiIgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIg bGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVn aW5fbGF5b3V0IFBsYWluIExheW91dAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2Nl bGw+Cis8Y2VsbCBtdWx0aWNvbHVtbj0iMSIgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9 InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVn aW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2lu c2VydGVkIDE5ODYyNDYzNjUgMTMyMDc3MjEyMworQ2FwYWJpbGl0eSBMZW5ndGggPSAxMgorXGNo YW5nZV91bmNoYW5nZWQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNl bGwgbXVsdGljb2x1bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRv cGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0 IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVu ZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjIiIGFsaWdubWVudD0iY2VudGVy IiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9 Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQK KworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49 IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxl ZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2lu X2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxs PgorPGNlbGwgbXVsdGljb2x1bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0 b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2lu X2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQK KworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjIiIGFsaWdubWVudD0i Y2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1 c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBM YXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGlj b2x1bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRy dWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKwor XGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAor PC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25t ZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgor XGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9s YXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjEiIGFsaWdu bWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0 cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQ bGFpbiBMYXlvdXQKKworXGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3NzIwOTUKK05l eHQgQ2FwYWJpbGl0eSBQb2ludGVyCitcY2hhbmdlX3VuY2hhbmdlZAorCitcZW5kX2xheW91dAor CitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBtdWx0aWNvbHVtbj0iMiIgYWxpZ25tZW50PSJj ZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVz ZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExh eW91dAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBtdWx0aWNv bHVtbj0iMiIgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1 ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitc YmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8 L2NlbGw+Cis8Y2VsbCBtdWx0aWNvbHVtbj0iMiIgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1l bnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+Citc YmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcZW5kX2xh eW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBtdWx0aWNvbHVtbj0iMiIgYWxpZ25t ZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRy dWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBs YWluIExheW91dAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBt dWx0aWNvbHVtbj0iMiIgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGlu ZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4 dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcZW5kX2xheW91dAorCitcZW5kX2lu c2V0Cis8L2NlbGw+Cis8Y2VsbCBtdWx0aWNvbHVtbj0iMiIgYWxpZ25tZW50PSJjZW50ZXIiIHZh bGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9u ZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitc ZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBtdWx0aWNvbHVtbj0iMiIg YWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxp bmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5 b3V0IFBsYWluIExheW91dAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8 Y2VsbCBtdWx0aWNvbHVtbj0iMSIgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIg dG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5z ZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVk IDE5ODYyNDYzNjUgMTMyMDc3MjA1NQorQ2FwYWJpbGl0eSBJRCA9IDkKK1xlbmRfbGF5b3V0CisK K1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIG11bHRpY29sdW1uPSIyIiBhbGlnbm1lbnQ9ImNl bnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgdXNl Ym94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5 b3V0CisKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIG11bHRpY29s dW1uPSIyIiBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVl IiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xi ZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwv Y2VsbD4KKzxjZWxsIG11bHRpY29sdW1uPSIyIiBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVu dD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xi ZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xlbmRfbGF5 b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIG11bHRpY29sdW1uPSIyIiBhbGlnbm1l bnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1 ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxh aW4gTGF5b3V0CisKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIG11 bHRpY29sdW1uPSIyIiBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5l PSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0 CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5z ZXQKKzwvY2VsbD4KKzxjZWxsIG11bHRpY29sdW1uPSIyIiBhbGlnbm1lbnQ9ImNlbnRlciIgdmFs aWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25l Ij4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xl bmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIG11bHRpY29sdW1uPSIyIiBh bGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBsZWZ0bGlu ZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlv dXQgUGxhaW4gTGF5b3V0CisKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxj ZWxsIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxl ZnRsaW5lPSJ0cnVlIiByaWdodGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5z ZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVk IDE5ODYyNDYzNjUgMTMyMDc3MjAwNAorMAorXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9j ZWxsPgorPC9yb3c+Cis8cm93PgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9 InRvcCIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQg UGxhaW4gTGF5b3V0CisKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxs IG11bHRpY29sdW1uPSIxIiBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3Bs aW5lPSJ0cnVlIiBib3R0b21saW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25l Ij4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xj aGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzcyNTQ5CitTaXplCitcY2hhbmdlX3VuY2hh bmdlZAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBtdWx0aWNv bHVtbj0iMiIgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1 ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitc YmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8 L2NlbGw+Cis8Y2VsbCBtdWx0aWNvbHVtbj0iMiIgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1l bnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+Citc YmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcZW5kX2xh eW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBtdWx0aWNvbHVtbj0iMiIgYWxpZ25t ZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRy dWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBs YWluIExheW91dAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBt dWx0aWNvbHVtbj0iMiIgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGlu ZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4 dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcZW5kX2xheW91dAorCitcZW5kX2lu c2V0Cis8L2NlbGw+Cis8Y2VsbCBtdWx0aWNvbHVtbj0iMiIgYWxpZ25tZW50PSJjZW50ZXIiIHZh bGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9u ZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitc ZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBtdWx0aWNvbHVtbj0iMiIg YWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxp bmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5 b3V0IFBsYWluIExheW91dAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8 Y2VsbCBtdWx0aWNvbHVtbj0iMiIgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIg dG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5z ZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcZW5kX2xheW91dAorCitc ZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBtdWx0aWNvbHVtbj0iMiIgYWxpZ25tZW50PSJjZW50 ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJv eD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91 dAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBtdWx0aWNvbHVt bj0iMiIgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIg bGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVn aW5fbGF5b3V0IFBsYWluIExheW91dAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2Nl bGw+Cis8Y2VsbCBtdWx0aWNvbHVtbj0iMiIgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9 InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVn aW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcZW5kX2xheW91 dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBtdWx0aWNvbHVtbj0iMiIgYWxpZ25tZW50 PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUi IHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWlu IExheW91dAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBtdWx0 aWNvbHVtbj0iMiIgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0i dHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAor CitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0 Cis8L2NlbGw+Cis8Y2VsbCBtdWx0aWNvbHVtbj0iMiIgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGln bm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+ CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcZW5k X2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBtdWx0aWNvbHVtbj0iMiIgYWxp Z25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9 InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0 IFBsYWluIExheW91dAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2Vs bCBtdWx0aWNvbHVtbj0iMiIgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9w bGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQg VGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcZW5kX2xheW91dAorCitcZW5k X2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBtdWx0aWNvbHVtbj0iMiIgYWxpZ25tZW50PSJjZW50ZXIi IHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0i bm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAor CitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBtdWx0aWNvbHVtbj0i MiIgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVm dGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5f bGF5b3V0IFBsYWluIExheW91dAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+ Cis8Y2VsbCBtdWx0aWNvbHVtbj0iMiIgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRv cCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5f aW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcZW5kX2xheW91dAor CitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBtdWx0aWNvbHVtbj0iMiIgYWxpZ25tZW50PSJj ZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVz ZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExh eW91dAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBtdWx0aWNv bHVtbj0iMiIgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1 ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitc YmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8 L2NlbGw+Cis8Y2VsbCBtdWx0aWNvbHVtbj0iMiIgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1l bnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+Citc YmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcZW5kX2xh eW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBtdWx0aWNvbHVtbj0iMiIgYWxpZ25t ZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRy dWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBs YWluIExheW91dAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBt dWx0aWNvbHVtbj0iMiIgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGlu ZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4 dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcZW5kX2xheW91dAorCitcZW5kX2lu c2V0Cis8L2NlbGw+Cis8Y2VsbCBtdWx0aWNvbHVtbj0iMSIgYWxpZ25tZW50PSJjZW50ZXIiIHZh bGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9u ZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitc Y2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc3OTY5OAorQkFSIEluZGljYXRvciBSZWdp c3RlcgorXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1 bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUi IGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJl Z2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9j ZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50 PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJl Z2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlv dXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjIiIGFsaWdubWVu dD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVl IiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFp biBMYXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVs dGljb2x1bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9 InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQK KworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNl dAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxp Z25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUi PgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVu ZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjIiIGFs aWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5l PSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91 dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNl bGwgbXVsdGljb2x1bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRv cGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0 IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVu ZF9pbnNldAorPC9jZWxsPgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRv cCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHJpZ2h0bGluZT0idHJ1ZSIgdXNlYm94 PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0 CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzcyMDA3Cis0CitcZW5kX2xheW91 dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8L3Jvdz4KKzxyb3c+Cis8Y2VsbCBhbGlnbm1lbnQ9 ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRl eHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9p bnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjEiIGFsaWdubWVudD0iY2VudGVyIiB2 YWxpZ25tZW50PSJ0b3AiIGJvdHRvbWxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9 Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQK KworXGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3NzI1NDAKK09mZnNldAorXGVuZF9s YXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjIiIGFsaWdu bWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0 cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQ bGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwg bXVsdGljb2x1bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxp bmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRl eHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9p bnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2 YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5v bmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKwor XGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjIi IGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRs aW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xh eW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgor PGNlbGwgbXVsdGljb2x1bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3Ai IHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2lu c2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQKKwor XGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjIiIGFsaWdubWVudD0iY2Vu dGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vi b3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlv dXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1 bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUi IGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJl Z2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9j ZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50 PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJl Z2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlv dXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjIiIGFsaWdubWVu dD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVl IiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFp biBMYXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVs dGljb2x1bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9 InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQK KworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNl dAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxp Z25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUi PgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVu ZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjIiIGFs aWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5l PSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91 dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNl bGwgbXVsdGljb2x1bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRv cGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0 IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVu ZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjIiIGFsaWdubWVudD0iY2VudGVy IiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9 Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQK KworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49 IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxl ZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2lu X2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxs PgorPGNlbGwgbXVsdGljb2x1bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0 b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2lu X2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQK KworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjIiIGFsaWdubWVudD0i Y2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1 c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBM YXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGlj b2x1bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRy dWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKwor XGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAor PC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25t ZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgor XGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9s YXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjIiIGFsaWdu bWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0 cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQ bGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwg bXVsdGljb2x1bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxp bmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRl eHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9p bnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2 YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5v bmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKwor XGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjIi IGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRs aW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xh eW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgor PGNlbGwgbXVsdGljb2x1bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3Ai IHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2lu c2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQKKwor XGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjIiIGFsaWdubWVudD0iY2Vu dGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vi b3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlv dXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1 bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUi IGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJl Z2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9j ZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50 PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJl Z2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlv dXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjIiIGFsaWdubWVu dD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVl IiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFp biBMYXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVs dGljb2x1bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9 InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQK KworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNl dAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjIiIGFsaWdubWVudD0iY2VudGVyIiB2YWxp Z25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUi PgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGVu ZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgbXVsdGljb2x1bW49IjIiIGFs aWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5l PSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91 dCBQbGFpbiBMYXlvdXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNl bGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgYm90 dG9tbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHJpZ2h0bGluZT0idHJ1ZSIgdXNlYm94PSJu b25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisK K1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzcyMDExCis4CitcZW5kX2xheW91dAor CitcZW5kX2luc2V0Cis8L2NlbGw+Cis8L3Jvdz4KKzwvbHl4dGFidWxhcj4KKworXGVuZF9pbnNl dAorCisKK1xlbmRfbGF5b3V0CisKK1xiZWdpbl9sYXlvdXQgU3RhbmRhcmQKKworXGNoYW5nZV9p bnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3Nzk2NjcKK1B1cnBvc2U6CitcZW5kX2xheW91dAorCitc YmVnaW5fbGF5b3V0IFN0YW5kYXJkCisKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIw NzgwOTEyCisKK1xlbXBoIG9uCitDYXBhYmlsaXR5IElECitcZW1waCBkZWZhdWx0CissIAorXGVt cGggb24KK05leHQgQ2FwYWJpbGl0eSBQb2ludGVyCitcZW1waCBkZWZhdWx0CissIAorXGVtcGgg b24KK0NhcGFiaWxpdHkgTGVuZ3RoCitcZW1waCBkZWZhdWx0CisgLSB0aGVzZSBmaWVsZHMgYXJl IHNwZWNpZmllZCBieSBQQ0kgbG9jYWwgYnVzIHNwZWNpZmljYXRpb24sIFJldiAzLjAKK1xlbmRf bGF5b3V0CisKK1xiZWdpbl9sYXlvdXQgU3RhbmRhcmQKKworXGNoYW5nZV9pbnNlcnRlZCAxOTg2 MjQ2MzY1IDEzMjA3ODUwNzMKKworXGVtcGggb24KK1N0cnVjdHVyZSBJRAorXGVtcGggZGVmYXVs dAorIC0gaWRlbnRpZmllcyB0aGUgc3RydWN0dXJlIG1hcHBlZC4KKyBJZiBhbiBJRCByZXByZXNl bnRpbmcgYSBzcGVjaWZpYyBzdHJ1Y3R1cmUgaXMgYWJzZW50LCB0aGUgc3RydWN0dXJlIGlzCisg bG9jYXRlZCBpbiB0aGUgbGVnYWN5IHZpcnRpbyBjb25maWd1cmF0aW9uIGluIHRoZSBmaXJzdCBQ Q0kgQkFSLgorXGVuZF9sYXlvdXQKKworXGJlZ2luX2xheW91dCBTdGFuZGFyZAorCitcY2hhbmdl X2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4MjY4OQorCitcZW1waCBvbgorU2l6ZQorXGVtcGgg ZGVmYXVsdAorIC0gc2l6ZSBvZiB0aGUgc3RydWN0dXJlIG1hcHBlZC4KKyBUaGlzIHNpemUgbWln aHQgaW5jbHVkZSBwYWRkaW5nLCBvciBmaWVsZHMgdW51c2VkIGJ5IHRoZSBkcml2ZXIuCisgRHJp dmVycyBhcmUgYWxzbyByZWNvbW1lbmRlZCB0byBvbmx5IG1hcCBwYXJ0IG9mIGNvbmZpZ3VyYXRp b24gc3RydWN0dXJlCisgbGFyZ2UgZW5vdWdoIGZvciBkZXZpY2Ugb3BlcmF0aW9uLgorIEZvciBl eGFtcGxlLCBhIGZ1dHVyZSBkZXZpY2UgbWlnaHQgcHJlc2VudCBhIGxhcmdlIHN0cnVjdHVyZSBz aXplIG9mIHNldmVyYWwKKyBNQnl0ZXMuCisgQXMgY3VycmVudCBkZXZpY2VzIG5ldmVyIHV0aWxp emUgc3RydWN0dXJlcyBsYXJnZXIgdGhhbiA0S0J5dGVzIGluIHNpemUsCisgZHJpdmVyIGNhbiBs aW1pdCB0aGUgbWFwcGVkIHN0cnVjdHVyZSBzaXplIHRvIGUuZy4KKyA0S0J5dGVzIHRvIGFsbG93 IGZvcndhcmQgY29tcGF0aWJpbGl0eSB3aXRoIHN1Y2ggZGV2aWNlcyB3aXRob3V0IGxvc3Mgb2YK KyBmdW5jdGlvbmFsaXR5IGFuZCB3aXRob3V0IHdhc3RpbmcgcmVzb3VyY2VzLgorXGNoYW5nZV91 bmNoYW5nZWQKKworXGVuZF9sYXlvdXQKKworXGJlZ2luX2xheW91dCBTdGFuZGFyZAorCitcY2hh bmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4MTk2NQorCitcZW1waCBvbgorQkFSIEluZGlj YXRvciBSZWdpc3RlcgorXGVtcGggZGVmYXVsdAorIC0gSW5kaWNhdGVzIHdoaWNoIG9uZSBvZiB0 aGUgQkFSIHJlZ2lzdGVycywgbG9jYXRlZCBiZWdpbm5pbmcgYXQgMTBoIGluCisgQ29uZmlndXJh dGlvbiBTcGFjZSwgaXMgdXNlZCB0byBtYXAgdGhlIHN0cnVjdHVyZSBpbnRvIE1lbW9yeSBvciBJ L08gU3BhY2UuCisgTGVnYWwgdmFsdWVzIGFyZSAwIC0gNS4KKyBCQVIgb2Zmc2V0IGlzIGNhbGN1 bGF0ZWQgYXMgCitcZW1waCBvbgorQkFSCitcZW1waCBkZWZhdWx0CisgPSAxMGggKyA0ICogCitc ZW1waCBvbgorQklSLgorXGVuZF9sYXlvdXQKKworXGJlZ2luX2xheW91dCBTdGFuZGFyZAorCitc Y2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4MTAwMgorCitcZW1waCBvbgorT2Zmc2V0 CitcZW1waCBkZWZhdWx0CisgLSBVc2VkIGFzIGFuIG9mZnNldCBmcm9tIHRoZSBhZGRyZXNzIGNv bnRhaW5lZCBieSBvbmUgb2YgdGhlIGZ1bmN0aW9u4oCZcworIEJhc2UgQWRkcmVzcyByZWdpc3Rl cnMgdG8gcG9pbnQgdG8gdGhlIGJhc2Ugb2YgdGhlIHN0cnVjdHVyZS4KKyBEZXBlbmRpbmcgb24g dGhlIHN0cnVjdHVyZSwgdGhlIGxvd2VyIGJpdHMgYXJlIG1hc2tlZCBvZmYgKHNldCB0byB6ZXJv KQorIGJ5IHNvZnR3YXJlIHRvIGZvcm0gYW4gYWxpZ25lZCBvZmZzZXQuCitcZW5kX2xheW91dAor CitcYmVnaW5fbGF5b3V0IFN0YW5kYXJkCisKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAx MzIwNzg1MDk4CitBIHNpbmdsZSBkZXZpY2UgaGFzIG11bHRpcGxlIHZpcnRpbyBjYXBhYmlsaXRp ZXMgb24gdGhlIFBDSSBjYXBhYmlsaXR5IGxpbmtlZC1saQorc3QuCisgVG8gbG9jYXRlIGEgc3Bl Y2lmaWMgcmVnaXN0ZXIsIGRyaXZlciBzY2FucyB0aGUgUENJIGNhcGFiaWxpdHkgbGlzdCBsb29r aW5nCisgZm9yIGNhcGFiaWxpdGllcyB1c2luZyB0aGUgdmVuZG9yIHNwZWNpZmljIAorXGVtcGgg b24KK0NhcGFiaWxpdHkgSUQKK1xlbXBoIGRlZmF1bHQKKywgdGhhdCBpcyAKK1xlbXBoIG9uCitD YXBhYmlsaXR5IElECitcZW1waCBkZWZhdWx0CisgdmFsdWUgCitcZW1waCBvbgorOQorXGVtcGgg ZGVmYXVsdAorLCBhY2NvcmRpbmcgdG8gdGhlIFBDSSBzcGVjLgorIEZvciBlYWNoIGNhcGFiaWxp dHksIGl0IHZlcmlmaWVzIHRoYXQgdGhlIAorXGVtcGggb24KK0NhcGFiaWxpdHkgTGVuZ3RoCitc ZW1waCBkZWZhdWx0CisgZmllbGQgbWF0Y2hlcyB0aGUgZXhwZWN0ZWQgdmFsdWUgKDEyKSAtIGlm IGl0IGRvZXNuJ3QsIHRoaXMgaW5kaWNhdGVzIGEKKyBsYXlvdXQgY2hhbmdlLCB3aGljaCBjYXVz ZXMgZHJpdmVyIHRvIGlnbm9yZSB0aGUgc3BlY2lmaWMgUENJIGNhcGFiaWxpdHkKKyBhbmQgcHJv Y2VlZCB0byB0aGUgbmV4dCBQQ0kgY2FwYWJpbGl0eSBpbiB0aGUgbGlzdC4KKyBOZXh0LAorXGVt cGggb24KKyBTdHJ1Y3R1cmUgSUQKK1xlbXBoIGRlZmF1bHQKKyBzaW5nbGUtYnl0ZSBmaWVsZCBp cyByZWFkIGF0IG9mZnNldCAzLgorIFVucmVjb2duaXplZCAKK1xlbXBoIG9uCitTdHJ1Y3R1cmUg SUQKK1xlbXBoIGRlZmF1bHQKKyB2YWx1ZXMgYXJlIGlnbm9yZWQuCisgTG93IGJpdHMgaW4gdGhl IAorXGVtcGggb24KK09mZnNldAorXGVtcGggZGVmYXVsdAorIHJlZ2lzdGVyIGFyZSBtYXNrZWQg dG8gbWF0Y2ggYWxpZ25tZW50IHJlcXVpcmVtZW50cywgaWYgYW55LgorIERldmljZSBkcml2ZXJz IGFyZSByZWNvbW1lbmRlZCB0byBzYW5pdHkgY2hlY2sgCitcZW1waCBvbgorQklSCitcZW1waCBk ZWZhdWx0CissIAorXGVtcGggb24KK09mZnNldAorXGVtcGggZGVmYXVsdAorLCBhbmQgCitcZW1w aCBvbgorU2l6ZQorXGVtcGggZGVmYXVsdAorIGZpZWxkcywgaWdub3JpbmcgdGhlIGNhcGFiaWxp dHkgb3IgZmFpbGluZyBncmFjZWZ1bGx5IG9uIGVycm9yLgorIERyaXZlcnMgYXJlIGFsc28gcmVj b21tZW5kZWQgdG8gb25seSBtYXAgcGFydCBvZiBjb25maWd1cmF0aW9uIHN0cnVjdHVyZQorIGxh cmdlIGVub3VnaCBmb3IgZGV2aWNlIG9wZXJhdGlvbi4KK1xlbmRfbGF5b3V0CisKK1xiZWdpbl9s YXlvdXQgU3RhbmRhcmQKKworXGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3ODYwMzUK K0ZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgZGV2aWNlcyBzaG91bGQgYWxzbyBwcmVzZW50 IGxlZ2FjeSBjb25maWd1cmF0aW9uCisgc3BhY2UgaW4gdGhlIGZpcnN0IEkvTyByZWdpb24gb2Yg dGhlIFBDSSBkZXZpY2UsIG1pcnJvcmluZyB2aXJ0aW8gY29uZmlndXJhdGlvbgorIHN0cnVjdHVy ZXMgaW4gdGhpcyBzcGFjZS4KKyBEcml2ZXJzIHNob3VsZCBmYWxsIGJhY2sgb24gdGhpcyBsZWdh Y3kgc3RydWN0dXJlIGlmIGEgc3BlY2lmaWMgVmlydGlvCisgU3RydWN0dXJlIGNhcGFiaWxpdHkg aXMgbWlzc2luZyBpbiB0aGUgUENJIGNhcGFiaWxpdHkgbGlzdC4KKyBIb3dldmVyLCBkZXZpY2Vz IGFyZSBub3QgcmVxdWlyZWQgdG8gbWFwIHRoZSB3aG9sZSBjb25maWd1cmF0aW9uIHN0cnVjdHVy ZQorIGluIGxlZ2FjeSBzcGFjZSAtIG9ubHkgdGhlIGluaXRpYWwgc2VnbWVudCBleHBlY3RlZCBi eSBsZWdhY3kgZHJpdmVycyBuZWVkcworIHRvIGJlIG1hcHBlZC4KKyBUaGUgbWluaW1hbCBzaXpl IG9mIHN1Y2ggbGVnYWN5IHNlZ21lbnQgc2l6ZSwgZm9yIGVhY2ggc3RydWN0dXJlLCBpcyBsaXN0 ZWQKKyBiZWxvdy4KKyBEcml2ZXJzIGFyZSBkaXNjb3VyYWdlZCBmcm9tIHVzaW5nIGxlZ2FjeSBz cGFjZSBpZiBhIHNwZWNpZmljIFN0cnVjdHVyZQorIElEIGlzIHByZXNlbnQ7IHRoaXMgaXMgdG8g YWxsb3cgZGVwcmVjYXRpbmcgdGhlIGxlZ2FjeSBzcGFjZSBpbiB0aGUgZnV0dXJlLgorXGVuZF9s YXlvdXQKKworXGJlZ2luX2xheW91dCBTdGFuZGFyZAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYy NDYzNjUgMTMyMDc4NjQyOAorQmVsb3cgaXMgdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIFZpcnRpbyBz dHJ1Y3R1cmVzLCBpbmNsdWRpbmcgU3RydWN0dXJlIElELAorIG9mZnNldCBhbGlnbm1lbnQsIGFu ZCB3aGVyZSBpdCBjYW4gYmUgbG9jYXRlZCBpbiB0aGUgbGVnYWN5IGNvbmZpZ3VyYXRpb24KKyBz cGFjZS4KKyBOb3RlIHRoYXQgbGVnYWN5IHNwYWNlIGxheW91dCBjaGFuZ2VzIGFzIHRoZSBNU0kt WCBjYXBhYmlsaXR5IGlzIGVuYWJsZWQKKyBhbmQgZGlzYWJsZWQKK1xiZWdpbl9pbnNldCBGb290 CitzdGF0dXMgb3BlbgorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2lu c2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4NjQyOAoraWUuCisgb25jZSB5b3UgZW5hYmxlIE1TSS1Y IG9uIHRoZSBkZXZpY2UsIHRoZSBvdGhlciBmaWVsZHMgbW92ZS4KKyBJZiB5b3UgdHVybiBpdCBv ZmYgYWdhaW4sIHRoZXkgbW92ZSBiYWNrIQorXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorCisu CitcZW5kX2xheW91dAorCitcYmVnaW5fbGF5b3V0IFN0YW5kYXJkCisKK1xjaGFuZ2VfaW5zZXJ0 ZWQgMTk4NjI0NjM2NSAxMzIwNzg2ODY4CitcYmVnaW5faW5zZXQgVGFidWxhcgorPGx5eHRhYnVs YXIgdmVyc2lvbj0iMyIgcm93cz0iNSIgY29sdW1ucz0iNiI+Cis8ZmVhdHVyZXMgdGFidWxhcnZh bGlnbm1lbnQ9Im1pZGRsZSI+Cis8Y29sdW1uIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50 PSJ0b3AiIHdpZHRoPSIwIj4KKzxjb2x1bW4gYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9 InRvcCIgd2lkdGg9IjAiPgorPGNvbHVtbiBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0i dG9wIiB3aWR0aD0iMCI+Cis8Y29sdW1uIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0 b3AiIHdpZHRoPSIwIj4KKzxjb2x1bW4gYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRv cCIgd2lkdGg9IjAiPgorPGNvbHVtbiBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9w IiB3aWR0aD0iMCI+Cis8cm93PgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9 InRvcCIgdG9wbGluZT0idHJ1ZSIgYm90dG9tbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVz ZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExh eW91dAorU3RydWN0dXJlCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2Vs bCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBib3R0 b21saW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNl dCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CitJRAorXGVuZF9sYXlvdXQKKwor XGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9 InRvcCIgdG9wbGluZT0idHJ1ZSIgYm90dG9tbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVz ZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExh eW91dAorQWxpZ25tZW50CitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2Vs bCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBib3R0 b21saW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNl dCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQg MTk4NjI0NjM2NSAxMzIwNzg2OTIxCitNaW5pbWFsIFNpemUKK1xlbmRfbGF5b3V0CisKK1xlbmRf aW5zZXQKKzwvY2VsbD4KKzxjZWxsIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3Ai IHRvcGxpbmU9InRydWUiIGJvdHRvbWxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9 Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQK KworXGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3ODU4MjEKK09mZnNldCBpbiBsZWdh Y3kgc3BhY2UKK1xjaGFuZ2VfZGVsZXRlZCAxOTg2MjQ2MzY1IDEzMjA3ODU4MTcKKworXGVuZF9s YXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZh bGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgYm90dG9tbGluZT0idHJ1ZSIgbGVmdGxpbmU9 InRydWUiIHJpZ2h0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0 CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0 NjM2NSAxMzIwNzg2OTI2CitNaW5pbWFsIFNpemUgaW4gbGVnYWN5IHNwYWNlCitcZW5kX2xheW91 dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8L3Jvdz4KKzxyb3c+Cis8Y2VsbCBhbGlnbm1lbnQ9 ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIg dXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4g TGF5b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzg1ODU1CitWaXJ0aW8g SGVhZGVyCitcY2hhbmdlX3VuY2hhbmdlZAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8 L2NlbGw+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5l PSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0 CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0 NjM2NSAxMzIwNzg1ODYwCisweDEKK1xjaGFuZ2VfdW5jaGFuZ2VkCisKK1xlbmRfbGF5b3V0CisK K1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50 PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJl Z2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGNoYW5nZV9p bnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3ODYxNTcKKzQgYnl0ZXMKK1xjaGFuZ2VfdW5jaGFuZ2Vk CisKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIGFsaWdubWVudD0i Y2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1 c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBM YXlvdXQKKworXGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3ODYyMjUKKzI4IGJ5dGVz CitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNl bnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgdXNl Ym94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5 b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzg2MTQ1CiswCitcY2hhbmdl X3VuY2hhbmdlZAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBh bGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBsZWZ0bGlu ZT0idHJ1ZSIgcmlnaHRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRl eHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGNoYW5nZV9pbnNlcnRlZCAxOTg2 MjQ2MzY1IDEzMjA3ODYyMzYKKzI0IGJ5dGVzIGlmIE1TSS1YIGlzIGVuYWJsZWQsIDIwIGlmIGRp c2FibGVkCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8L3Jvdz4KKzxyb3c+ Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVl IiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xi ZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAx MzIwNzg2MTg4CitRdWV1ZSBOb3RpZnkKK1xjaGFuZ2VfdW5jaGFuZ2VkCisKK1xlbmRfbGF5b3V0 CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25t ZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgor XGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGNoYW5n ZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3ODYxOTEKKzB4MgorXGNoYW5nZV91bmNoYW5nZWQK KworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgYWxpZ25tZW50PSJj ZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVz ZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExh eW91dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4NjI2NworMiBieXRlcwor XGNoYW5nZV91bmNoYW5nZWQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgor PGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIg bGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVn aW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMy MDc4NjIyOAorMiBieXRlcworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNl bGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVm dGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5f bGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4 NjUwNQorMTYgYnl0ZXMKK1xjaGFuZ2VfdW5jaGFuZ2VkCisKK1xlbmRfbGF5b3V0CisKK1xlbmRf aW5zZXQKKzwvY2VsbD4KKzxjZWxsIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3Ai IHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiByaWdodGxpbmU9InRydWUiIHVzZWJveD0i bm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAor CitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4NjMwMworMiBieXRlcworXGVuZF9s YXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPC9yb3c+Cis8cm93PgorPGNlbGwgYWxpZ25t ZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRy dWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBs YWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4Njg3OAorSVNS IFN0YXR1cworXGNoYW5nZV91bmNoYW5nZWQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAor PC9jZWxsPgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGlu ZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4 dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYy NDYzNjUgMTMyMDc4NjI2MAorMHgzCitcY2hhbmdlX3VuY2hhbmdlZAorCitcZW5kX2xheW91dAor CitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVu dD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xi ZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xjaGFuZ2Vf aW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzg2MjcwCisxIGJ5dGUKK1xjaGFuZ2VfdW5jaGFuZ2Vk CisKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIGFsaWdubWVudD0i Y2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1 c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBM YXlvdXQKKworXGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3ODYyNzMKKzEgYnl0ZQor XGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgYWxpZ25tZW50PSJjZW50 ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJv eD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91 dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4NjUzNAorMTkgYnl0ZXMKK1xj aGFuZ2VfdW5jaGFuZ2VkCisKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxj ZWxsIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxl ZnRsaW5lPSJ0cnVlIiByaWdodGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5z ZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVk IDE5ODYyNDYzNjUgMTMyMDc4NjMwNgorMSBieXRlCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0 Cis8L2NlbGw+Cis8L3Jvdz4KKzxyb3c+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdu bWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBib3R0b21saW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1 ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxh aW4gTGF5b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzg2ODQ3CitEZXZp Y2UgSGVhZGVyCitcY2hhbmdlX3VuY2hhbmdlZAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0 Cis8L2NlbGw+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3Bs aW5lPSJ0cnVlIiBib3R0b21saW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25l Ij4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xj aGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzg2NDc0CisweDQKK1xjaGFuZ2VfdW5jaGFu Z2VkCisKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIGFsaWdubWVu dD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGJvdHRvbWxpbmU9InRy dWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKwor XGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1 IDEzMjA3ODY0NzcKKzEgYnl0ZQorXGNoYW5nZV91bmNoYW5nZWQKKworXGVuZF9sYXlvdXQKKwor XGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9 InRvcCIgdG9wbGluZT0idHJ1ZSIgYm90dG9tbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVz ZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExh eW91dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4NjQ4NworRGV2aWNlIHNw ZWNpZmljCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBhbGlnbm1l bnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBib3R0b21saW5lPSJ0 cnVlIiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisK K1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2 NSAxMzIwNzg2NTEzCisyNCBieXRlcyBpZiBNU0ktWCBpcyBlbmFibGVkLCAyMCBpZiBkaXNhYmxl ZAorXGNoYW5nZV91bmNoYW5nZWQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxs PgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1 ZSIgYm90dG9tbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHJpZ2h0bGluZT0idHJ1ZSIgdXNl Ym94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5 b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzg2NDkyCitEZXZpY2Ugc3Bl Y2lmaWMKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzwvcm93PgorPC9seXh0 YWJ1bGFyPgorCitcZW5kX2luc2V0CisKKworXGVuZF9sYXlvdXQKKworXGJlZ2luX2xheW91dCBT dGFuZGFyZAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4Njk3MworRHJpdmVy cyBzaG91bGQgYXNzdW1lIHRoYXQgZWFjaCBzdHJ1Y3R1cmUgc2l6ZSBjYW4gYmUgZXh0ZW5kZWQg aW4gdGhlIGZ1dHVyZS4KK1xlbmRfbGF5b3V0CisKK1xiZWdpbl9sYXlvdXQgU3RhbmRhcmQKKwor XGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3ODcwMDMKK1F1ZXVlIE5vdGlmeSBhbmQg SVNSIHN0YXR1cyBhcmUgc2luZ2xlLWZpZWxkIHJlZ2lzdGVycy4KKyBEZXZpY2UgSGVhZGVyIGhh cyBkZXZpY2Ugc3BlY2lmaWMgc3RydWN0dXJlLgorIFZpcnRpbyBIZWFkZXIgc3RydWN0dXJlIGlz IGRvY3VtZW50ZWQgYmVsb3cuCitcY2hhbmdlX3VuY2hhbmdlZAorCitcZW5kX2xheW91dAorCitc YmVnaW5fbGF5b3V0IFN1YnNlY3Rpb24KK1ZpcnRpbyBIZWFkZXIKK1xlbmRfbGF5b3V0CisKK1xi ZWdpbl9sYXlvdXQgU3RhbmRhcmQKK1RoZSB2aXJ0aW8gaGVhZGVyIGxvb2tzIGFzIGZvbGxvd3M6 CitcZW5kX2xheW91dAorCitcYmVnaW5fbGF5b3V0IFN0YW5kYXJkCitcYmVnaW5faW5zZXQgVGFi dWxhcgorPGx5eHRhYnVsYXIgdmVyc2lvbj0iMyIgcm93cz0iNCIgY29sdW1ucz0iOSI+Cis8ZmVh dHVyZXMgdGFidWxhcnZhbGlnbm1lbnQ9Im1pZGRsZSI+Cis8Y29sdW1uIGFsaWdubWVudD0ibGVm dCIgdmFsaWdubWVudD0idG9wIiB3aWR0aD0iMCI+Cis8Y29sdW1uIGFsaWdubWVudD0ibGVmdCIg dmFsaWdubWVudD0idG9wIiB3aWR0aD0iMCI+Cis8Y29sdW1uIGFsaWdubWVudD0ibGVmdCIgdmFs aWdubWVudD0idG9wIiB3aWR0aD0iMCI+Cis8Y29sdW1uIGFsaWdubWVudD0ibGVmdCIgdmFsaWdu bWVudD0idG9wIiB3aWR0aD0iMCI+Cis8Y29sdW1uIGFsaWdubWVudD0ibGVmdCIgdmFsaWdubWVu dD0idG9wIiB3aWR0aD0iMCI+Cis8Y29sdW1uIGFsaWdubWVudD0ibGVmdCIgdmFsaWdubWVudD0i dG9wIiB3aWR0aD0iMCI+Cis8Y29sdW1uIGFsaWdubWVudD0ibGVmdCIgdmFsaWdubWVudD0idG9w IiB3aWR0aD0iMCI+Cis8Y29sdW1uIGFsaWdubWVudD0ibGVmdCIgdmFsaWdubWVudD0idG9wIiB3 aWR0aD0iMCI+Cis8Y29sdW1uIGFsaWdubWVudD0ibGVmdCIgdmFsaWdubWVudD0idG9wIiB3aWR0 aD0iMCI+Cis8cm93PgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIg dG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHJpZ2h0bGluZT0idHJ1ZSIgdXNlYm94PSJu b25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CitC aXRzCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBhbGlnbm1lbnQ9 ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIg dXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4g TGF5b3V0CiszMgorXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgYWxp Z25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9 InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0 IFBsYWluIExheW91dAorMzIKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxj ZWxsIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxl ZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2lu X2xheW91dCBQbGFpbiBMYXlvdXQKKzMyCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2Nl bGw+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0 cnVlIiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisK K1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisxNgorXGVuZF9sYXlvdXQKKworXGVuZF9pbnNl dAorPC9jZWxsPgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9w bGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQg VGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorMTYKK1xlbmRfbGF5b3V0CisKK1xl bmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0 b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2lu X2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKzE2CitcZW5kX2xheW91 dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdu bWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4K K1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0Cis4CitcZW5k X2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIg dmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgcmlnaHRsaW5l PSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91 dCBQbGFpbiBMYXlvdXQKKzgKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzwv cm93PgorPHJvdz4KKzxjZWxsIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRv cGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiByaWdodGxpbmU9InRydWUiIHVzZWJveD0ibm9u ZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorUmVh ZC9Xcml0ZQorXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgYWxpZ25t ZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRy dWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBs YWluIExheW91dAorUgorXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwg YWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxp bmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5 b3V0IFBsYWluIExheW91dAorUitXCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+ Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVl IiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xi ZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CitSK1cKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQK KzwvY2VsbD4KKzxjZWxsIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxp bmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRl eHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKK1IKK1xlbmRfbGF5b3V0CisKK1xlbmRf aW5zZXQKKzwvY2VsbD4KKzxjZWxsIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3Ai IHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2lu c2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKK1IrVworXGVuZF9sYXlvdXQK KworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1l bnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+Citc YmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorUitXCitcZW5k X2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIg dmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJu b25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CitS K1cKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIGFsaWdubWVudD0i Y2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiBy aWdodGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVn aW5fbGF5b3V0IFBsYWluIExheW91dAorUgorXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9j ZWxsPgorPC9yb3c+Cis8cm93PgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9 InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHJpZ2h0bGluZT0idHJ1ZSIgdXNl Ym94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5 b3V0CitQdXJwb3NlCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBh bGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBsZWZ0bGlu ZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlv dXQgUGxhaW4gTGF5b3V0CisKK1xzaXplIGZvb3Rub3Rlc2l6ZQorRGV2aWNlCitcZW5kX2xheW91 dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdu bWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4K K1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xzaXpl IGZvb3Rub3Rlc2l6ZQorR3Vlc3QKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4K KzxjZWxsIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUi IGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJl Z2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXHNpemUgZm9vdG5vdGVzaXplCitRdWV1ZQorXGVu ZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIi IHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0i bm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAor Citcc2l6ZSBmb290bm90ZXNpemUKK1F1ZXVlCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8 L2NlbGw+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5l PSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0 CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xzaXplIGZvb3Rub3Rlc2l6ZQorUXVl dWUKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIGFsaWdubWVudD0i Y2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1 c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBM YXlvdXQKKworXGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3ODYzODYKKworXHNpemUg Zm9vdG5vdGVzaXplCitSZXNlcnZlZAorXGNoYW5nZV9kZWxldGVkIDE5ODYyNDYzNjUgMTMyMDc4 NjM3OAorUXVldWUKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIGFs aWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5l PSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91 dCBQbGFpbiBMYXlvdXQKKworXHNpemUgZm9vdG5vdGVzaXplCitEZXZpY2UKK1xlbmRfbGF5b3V0 CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25t ZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiByaWdodGxpbmU9InRydWUi IHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWlu IExheW91dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4NjM5MworCitcc2l6 ZSBmb290bm90ZXNpemUKK1Jlc2VydmVkCitcY2hhbmdlX2RlbGV0ZWQgMTk4NjI0NjM2NSAxMzIw Nzg2MzkwCitJU1IKK1xjaGFuZ2VfdW5jaGFuZ2VkCisKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5z ZXQKKzwvY2VsbD4KKzwvcm93PgorPHJvdz4KKzxjZWxsIGFsaWdubWVudD0iY2VudGVyIiB2YWxp Z25tZW50PSJ0b3AiIGJvdHRvbWxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiByaWdodGxpbmU9 InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0 IFBsYWluIExheW91dAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2Vs bCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiBib3R0b21saW5lPSJ0cnVlIiBs ZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdp bl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xzaXplIGZvb3Rub3Rlc2l6ZQorRmVhdHVyZXMgYml0 cyAwOjMxCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBhbGlnbm1l bnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiBib3R0b21saW5lPSJ0cnVlIiBsZWZ0bGluZT0i dHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQg UGxhaW4gTGF5b3V0CisKK1xzaXplIGZvb3Rub3Rlc2l6ZQorRmVhdHVyZXMgYml0cyAwOjMxCitc ZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRl ciIgdmFsaWdubWVudD0idG9wIiBib3R0b21saW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgdXNl Ym94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5 b3V0CisKK1xzaXplIGZvb3Rub3Rlc2l6ZQorQWRkcmVzcworXGVuZF9sYXlvdXQKKworXGVuZF9p bnNldAorPC9jZWxsPgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIg Ym90dG9tbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5f aW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcc2l6ZSBmb290bm90 ZXNpemUKK1NpemUKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIGFs aWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIGJvdHRvbWxpbmU9InRydWUiIGxlZnRs aW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xh eW91dCBQbGFpbiBMYXlvdXQKKworXHNpemUgZm9vdG5vdGVzaXplCitTZWxlY3QKK1xlbmRfbGF5 b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIGFsaWdubWVudD0iY2VudGVyIiB2YWxp Z25tZW50PSJ0b3AiIGJvdHRvbWxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5v bmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKwor XGNoYW5nZV9kZWxldGVkIDE5ODYyNDYzNjUgMTMyMDc4NjM3OAorCitcc2l6ZSBmb290bm90ZXNp emUKK05vdGlmeQorXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgYWxp Z25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgYm90dG9tbGluZT0idHJ1ZSIgbGVmdGxp bmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5 b3V0IFBsYWluIExheW91dAorCitcc2l6ZSBmb290bm90ZXNpemUKK1N0YXR1cworXGVuZF9sYXlv dXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGln bm1lbnQ9InRvcCIgYm90dG9tbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHJpZ2h0bGluZT0i dHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQg UGxhaW4gTGF5b3V0CisKK1xjaGFuZ2VfZGVsZXRlZCAxOTg2MjQ2MzY1IDEzMjA3ODYzODgKKwor XHNpemUgZm9vdG5vdGVzaXplCitTdGF0dXMKK1xjaGFuZ2VfdW5jaGFuZ2VkCisKK1xlbmRfbGF5 b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzwvcm93PgorPC9seXh0YWJ1bGFyPgorCitcZW5k X2luc2V0CisKKworXGVuZF9sYXlvdXQKKworXGJlZ2luX2xheW91dCBTdGFuZGFyZAorCitcY2hh bmdlX2RlbGV0ZWQgMTk4NjI0NjM2NSAxMzIwNzg2Mzk4CitJZiBNU0ktWCBpcyBlbmFibGVkIGZv ciB0aGUgZGV2aWNlLCB0d28gYWRkaXRpb25hbCBmaWVsZHMgaW1tZWRpYXRlbHkgZm9sbG93Cisg dGhpcyBoZWFkZXI6CitcYmVnaW5faW5zZXQgRm9vdAorc3RhdHVzIG9wZW4KKworXGJlZ2luX2xh eW91dCBQbGFpbiBMYXlvdXQKK2llLgorIG9uY2UgeW91IGVuYWJsZSBNU0ktWCBvbiB0aGUgZGV2 aWNlLCB0aGUgb3RoZXIgZmllbGRzIG1vdmUuCisgSWYgeW91IHR1cm4gaXQgb2ZmIGFnYWluLCB0 aGV5IG1vdmUgYmFjayEKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKworCitcY2hhbmdlX3Vu Y2hhbmdlZAorCitcZW5kX2xheW91dAorCitcYmVnaW5fbGF5b3V0IFN0YW5kYXJkCitcYmVnaW5f aW5zZXQgVGFidWxhcgorPGx5eHRhYnVsYXIgdmVyc2lvbj0iMyIgcm93cz0iNCIgY29sdW1ucz0i MyI+Cis8ZmVhdHVyZXMgdGFidWxhcnZhbGlnbm1lbnQ9Im1pZGRsZSI+Cis8Y29sdW1uIGFsaWdu bWVudD0ibGVmdCIgdmFsaWdubWVudD0idG9wIiB3aWR0aD0iMCI+Cis8Y29sdW1uIGFsaWdubWVu dD0ibGVmdCIgdmFsaWdubWVudD0idG9wIiB3aWR0aD0iMCI+Cis8Y29sdW1uIGFsaWdubWVudD0i bGVmdCIgdmFsaWdubWVudD0idG9wIiB3aWR0aD0iMCI+Cis8cm93PgorPGNlbGwgYWxpZ25tZW50 PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUi IHJpZ2h0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xi ZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CitCaXRzCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0 Cis8L2NlbGw+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3Bs aW5lPSJ0cnVlIiBib3R0b21saW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25l Ij4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisxNgor XGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgYWxpZ25tZW50PSJjZW50 ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgYm90dG9tbGluZT0idHJ1ZSIgbGVm dGxpbmU9InRydWUiIHJpZ2h0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNl dCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisxNgorXGVuZF9sYXlvdXQKKwor XGVuZF9pbnNldAorPC9jZWxsPgorPC9yb3c+Cis8cm93PgorPGNlbGwgYWxpZ25tZW50PSJjZW50 ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHJpZ2h0 bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9s YXlvdXQgUGxhaW4gTGF5b3V0CitSZWFkL1dyaXRlCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0 Cis8L2NlbGw+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3Bs aW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBU ZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CitSK1cKK1xlbmRfbGF5b3V0CisKK1xl bmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0 b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiByaWdodGxpbmU9InRydWUiIHVzZWJv eD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91 dAorUitXCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8L3Jvdz4KKzxyb3c+ Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVl IiBsZWZ0bGluZT0idHJ1ZSIgcmlnaHRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2lu X2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKK1B1cnBvc2UKK1xlbmRf bGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIGFsaWdubWVudD0iY2VudGVyIiB2 YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5v bmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKwor XHNpemUgZm9vdG5vdGVzaXplCitDb25maWd1cmF0aW9uCitcZW5kX2xheW91dAorCitcZW5kX2lu c2V0Cis8L2NlbGw+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0 b3BsaW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgcmlnaHRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5v bmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKwor XHNpemUgZm9vdG5vdGVzaXplCitRdWV1ZQorXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9j ZWxsPgorPC9yb3c+Cis8cm93PgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9 InRvcCIgYm90dG9tbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHJpZ2h0bGluZT0idHJ1ZSIg dXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4g TGF5b3V0CisoTVNJLVgpCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2Vs bCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiBib3R0b21saW5lPSJ0cnVlIiBs ZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdp bl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xzaXplIGZvb3Rub3Rlc2l6ZQorVmVjdG9yCitcZW5k X2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIg dmFsaWdubWVudD0idG9wIiBib3R0b21saW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgcmlnaHRs aW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xh eW91dCBQbGFpbiBMYXlvdXQKKworXHNpemUgZm9vdG5vdGVzaXplCitWZWN0b3IKK1xlbmRfbGF5 b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzwvcm93PgorPC9seXh0YWJ1bGFyPgorCitcZW5k X2luc2V0CisKKworXGVuZF9sYXlvdXQKKworXGJlZ2luX2xheW91dCBTdGFuZGFyZAorCitcY2hh bmdlX2RlbGV0ZWQgMTk4NjI0NjM2NSAxMzIwNzg2ODE2CitGaW5hbGx5LCBpZiBmZWF0dXJlIGJp dHMgKFZJUlRJT19GX0ZFQVRVUkVTX0hJKQorXGNoYW5nZV91bmNoYW5nZWQKKyB0aGlzIGlzIGlt bWVkaWF0ZWx5IGZvbGxvd2VkIGJ5IHR3byBhZGRpdGlvbmFsIGZpZWxkczoKK1xlbmRfbGF5b3V0 CisKK1xiZWdpbl9sYXlvdXQgU3RhbmRhcmQKK1xiZWdpbl9pbnNldCBUYWJ1bGFyCis8bHl4dGFi dWxhciB2ZXJzaW9uPSIzIiByb3dzPSI0IiBjb2x1bW5zPSIzIj4KKzxmZWF0dXJlcyB0YWJ1bGFy dmFsaWdubWVudD0ibWlkZGxlIj4KKzxjb2x1bW4gYWxpZ25tZW50PSJsZWZ0IiB2YWxpZ25tZW50 PSJ0b3AiIHdpZHRoPSIwIj4KKzxjb2x1bW4gYWxpZ25tZW50PSJsZWZ0IiB2YWxpZ25tZW50PSJ0 b3AiIHdpZHRoPSIwIj4KKzxjb2x1bW4gYWxpZ25tZW50PSJsZWZ0IiB2YWxpZ25tZW50PSJ0b3Ai IHdpZHRoPSIwIj4KKzxyb3c+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0i dG9wIiB0b3BsaW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgcmlnaHRsaW5lPSJ0cnVlIiB1c2Vi b3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlv dXQKK0JpdHMKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIGFsaWdu bWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0 cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQ bGFpbiBMYXlvdXQKKzMyCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2Vs bCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBsZWZ0 bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9s YXlvdXQgUGxhaW4gTGF5b3V0CiszMgorXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxs PgorPC9yb3c+Cis8cm93PgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRv cCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHJpZ2h0bGluZT0idHJ1ZSIgdXNlYm94 PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0 CitSZWFkL1dyaXRlCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8Y2VsbCBh bGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBsZWZ0bGlu ZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdpbl9sYXlv dXQgUGxhaW4gTGF5b3V0CitSCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8 Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBs ZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KK1xiZWdpbl9pbnNldCBUZXh0CisKK1xiZWdp bl9sYXlvdXQgUGxhaW4gTGF5b3V0CitSK1cKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwv Y2VsbD4KKzwvcm93PgorPHJvdz4KKzxjZWxsIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50 PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiByaWdodGxpbmU9InRydWUiIHVz ZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExh eW91dAorUHVycG9zZQorXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwg YWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxp bmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5 b3V0IFBsYWluIExheW91dAorCitcc2l6ZSBmb290bm90ZXNpemUKK0RldmljZQorXGVuZF9sYXlv dXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGln bm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+ CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcc2l6 ZSBmb290bm90ZXNpemUKK0d1ZXN0CitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+ Cis8L3Jvdz4KKzxyb3c+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9w IiBib3R0b21saW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgcmlnaHRsaW5lPSJ0cnVlIiB1c2Vi b3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlv dXQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorPC9jZWxsPgorPGNlbGwgYWxpZ25tZW50 PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgYm90dG9tbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRy dWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBs YWluIExheW91dAorCitcc2l6ZSBmb290bm90ZXNpemUKK0ZlYXR1cmVzIGJpdHMgMzI6NjMKK1xl bmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIGFsaWdubWVudD0iY2VudGVy IiB2YWxpZ25tZW50PSJ0b3AiIGJvdHRvbWxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiB1c2Vi b3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlv dXQKKworXHNpemUgZm9vdG5vdGVzaXplCitGZWF0dXJlcyBiaXRzIDMyOjYzCitcZW5kX2xheW91 dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8L3Jvdz4KKzwvbHl4dGFidWxhcj4KKworXGVuZF9p bnNldAorCisKK1xlbmRfbGF5b3V0CisKK1xiZWdpbl9sYXlvdXQgU3RhbmRhcmQKKworXGNoYW5n ZV9kZWxldGVkIDE5ODYyNDYzNjUgMTMyMDc4Njc4MworSW1tZWRpYXRlbHkgZm9sbG93aW5nIHRo ZXNlIGdlbmVyYWwgaGVhZGVycywgdGhlcmUgbWF5IGJlIGRldmljZS1zcGVjaWZpYworIGhlYWRl cnM6CitcZW5kX2xheW91dAorCitcYmVnaW5fbGF5b3V0IFN0YW5kYXJkCisKK1xjaGFuZ2VfZGVs ZXRlZCAxOTg2MjQ2MzY1IDEzMjA3ODY3ODMKK1xiZWdpbl9pbnNldCBUYWJ1bGFyCis8bHl4dGFi dWxhciB2ZXJzaW9uPSIzIiByb3dzPSI0IiBjb2x1bW5zPSIyIj4KKzxmZWF0dXJlcyB0YWJ1bGFy dmFsaWdubWVudD0ibWlkZGxlIj4KKzxjb2x1bW4gYWxpZ25tZW50PSJsZWZ0IiB2YWxpZ25tZW50 PSJ0b3AiIHdpZHRoPSIwIj4KKzxjb2x1bW4gYWxpZ25tZW50PSJsZWZ0IiB2YWxpZ25tZW50PSJ0 b3AiIHdpZHRoPSIwIj4KKzxyb3c+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVu dD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgcmlnaHRsaW5lPSJ0cnVlIiB1 c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBM YXlvdXQKK0JpdHMKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIGFs aWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGJvdHRvbWxp bmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiByaWdodGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+ CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorRGV2aWNl IFNwZWNpZmljCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0Cis8L2NlbGw+Cis8L3Jvdz4KKzxy b3c+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0 cnVlIiBsZWZ0bGluZT0idHJ1ZSIgcmlnaHRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJl Z2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKK1JlYWQvV3JpdGUK K1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2VsbD4KKzxjZWxsIGFsaWdubWVudD0iY2Vu dGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiByaWdo dGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVnaW5faW5zZXQgVGV4dAorCitcYmVnaW5f bGF5b3V0IFBsYWluIExheW91dAorRGV2aWNlIFNwZWNpZmljCitcZW5kX2xheW91dAorCitcZW5k X2luc2V0Cis8L2NlbGw+Cis8L3Jvdz4KKzxyb3c+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIg dmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgcmlnaHRsaW5l PSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91 dCBQbGFpbiBMYXlvdXQKK1B1cnBvc2UKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKzwvY2Vs bD4KKzxjZWxsIGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRy dWUiIGxlZnRsaW5lPSJ0cnVlIiByaWdodGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+CitcYmVn aW5faW5zZXQgVGV4dAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcc2l6ZSBmb290 bm90ZXNpemUKK0RldmljZSBTcGVjaWZpYy4uLgogXGVuZF9sYXlvdXQKIAotXGJlZ2luX2xheW91 dCBFbnVtZXJhdGUKLVRoZSBEUklWRVJfT0sgc3RhdHVzIGJpdCBpcyBzZXQuCitcZW5kX2luc2V0 Cis8L2NlbGw+Cis8L3Jvdz4KKzxyb3c+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdu bWVudD0idG9wIiBib3R0b21saW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgcmlnaHRsaW5lPSJ0 cnVlIiB1c2Vib3g9Im5vbmUiPgorXGJlZ2luX2luc2V0IFRleHQKKworXGJlZ2luX2xheW91dCBQ bGFpbiBMYXlvdXQKKwogXGVuZF9sYXlvdXQKIAotXGJlZ2luX2xheW91dCBFbnVtZXJhdGUKLVRo ZSBkZXZpY2UgY2FuIG5vdyBiZSB1c2VkIChpZS4KLSBidWZmZXJzIGFkZGVkIHRvIHRoZSB2aXJ0 cXVldWVzKQotXGJlZ2luX2luc2V0IEZvb3QKLXN0YXR1cyBvcGVuCitcZW5kX2luc2V0Cis8L2Nl bGw+Cis8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiBib3R0b21saW5l PSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgcmlnaHRsaW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgor XGJlZ2luX2luc2V0IFRleHQKIAogXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKLUhpc3Rvcmlj YWxseSwgZHJpdmVycyBoYXZlIHVzZWQgdGhlIGRldmljZSBiZWZvcmUgc3RlcHMgNSBhbmQgNi4K LSBUaGlzIGlzIG9ubHkgYWxsb3dlZCBpZiB0aGUgZHJpdmVyIGRvZXMgbm90IHVzZSBhbnkgZmVh dHVyZXMgd2hpY2ggd291bGQKLSBhbHRlciB0aGlzIGVhcmx5IHVzZSBvZiB0aGUgZGV2aWNlLgor CiBcZW5kX2xheW91dAogCiBcZW5kX2luc2V0Cis8L2NlbGw+Cis8L3Jvdz4KKzwvbHl4dGFidWxh cj4KIAorXGVuZF9pbnNldAogCi1cZW5kX2xheW91dAogCi1cYmVnaW5fbGF5b3V0IFN0YW5kYXJk Ci1JZiBhbnkgb2YgdGhlc2Ugc3RlcHMgZ28gaXJyZWNvdmVyYWJseSB3cm9uZywgdGhlIGd1ZXN0 IHNob3VsZCBzZXQgdGhlIEZBSUxFRAotIHN0YXR1cyBiaXQgdG8gaW5kaWNhdGUgdGhhdCBpdCBo YXMgZ2l2ZW4gdXAgb24gdGhlIGRldmljZSAoaXQgY2FuIHJlc2V0Ci0gdGhlIGRldmljZSBsYXRl ciB0byByZXN0YXJ0IGlmIGRlc2lyZWQpLgotXGVuZF9sYXlvdXQKK1xjaGFuZ2VfaW5zZXJ0ZWQg MTk4NjI0NjM2NSAxMzIwNzg0NjE4CiAKLVxiZWdpbl9sYXlvdXQgU3RhbmRhcmQKLVdlIG5vdyBj b3ZlciB0aGUgZmllbGRzIHJlcXVpcmVkIGZvciBnZW5lcmFsIHNldHVwIGluIGRldGFpbC4KIFxl bmRfbGF5b3V0CiAKIFxiZWdpbl9sYXlvdXQgU3Vic2VjdGlvbgotVmlydGlvIEhlYWRlcgorCitc Y2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4NjM1MQorTGVnYWN5IFZpcnRpbyBIZWFk ZXIKIFxlbmRfbGF5b3V0CiAKIFxiZWdpbl9sYXlvdXQgU3RhbmRhcmQKLVRoZSB2aXJ0aW8gaGVh ZGVyIGxvb2tzIGFzIGZvbGxvd3M6CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIw Nzg2MzUxCitGb3IgcmVmZXJlbmNlLCB0aGUgbGVnYWN5IHZpcnRpbyBoZWFkZXIgbG9va3MgYXMg Zm9sbG93czsgb25lIG9ic2VydmVzIHRoYXQKKyBtb3N0IHJlZ2lzdGVyIG9mZnNldHMgbWF0Y2gg dGhlIG5ldyB2aXJ0aW8gaGVhZGVyLCB0byBtYWtlIGNvbXBhdGliaWxpdHkKKyBlYXNpZXI6CiBc ZW5kX2xheW91dAogCiBcYmVnaW5fbGF5b3V0IFN0YW5kYXJkCisKK1xjaGFuZ2VfaW5zZXJ0ZWQg MTk4NjI0NjM2NSAxMzIwNzg2MzUxCiBcYmVnaW5faW5zZXQgVGFidWxhcgogPGx5eHRhYnVsYXIg dmVyc2lvbj0iMyIgcm93cz0iNCIgY29sdW1ucz0iOSI+CiA8ZmVhdHVyZXMgdGFidWxhcnZhbGln bm1lbnQ9Im1pZGRsZSI+CkBAIC02OTcsNiArMzY0NCw4IEBAIFRoZSB2aXJ0aW8gaGVhZGVyIGxv b2tzIGFzIGZvbGxvd3M6CiBcYmVnaW5faW5zZXQgVGV4dAogCiBcYmVnaW5fbGF5b3V0IFBsYWlu IExheW91dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4NjM1MQogQml0cwog XGVuZF9sYXlvdXQKIApAQCAtNzA2LDYgKzM2NTUsOCBAQCBCaXRzCiBcYmVnaW5faW5zZXQgVGV4 dAogCiBcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYy NDYzNjUgMTMyMDc4NjM1MQogMzIKIFxlbmRfbGF5b3V0CiAKQEAgLTcxNSw2ICszNjY2LDggQEAg Qml0cwogXGJlZ2luX2luc2V0IFRleHQKIAogXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKwor XGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3ODYzNTEKIDMyCiBcZW5kX2xheW91dAog CkBAIC03MjQsNiArMzY3Nyw4IEBAIEJpdHMKIFxiZWdpbl9pbnNldCBUZXh0CiAKIFxiZWdpbl9s YXlvdXQgUGxhaW4gTGF5b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzg2 MzUxCiAzMgogXGVuZF9sYXlvdXQKIApAQCAtNzMzLDYgKzM2ODgsOCBAQCBCaXRzCiBcYmVnaW5f aW5zZXQgVGV4dAogCiBcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2Vy dGVkIDE5ODYyNDYzNjUgMTMyMDc4NjM1MQogMTYKIFxlbmRfbGF5b3V0CiAKQEAgLTc0Miw2ICsz Njk5LDggQEAgQml0cwogXGJlZ2luX2luc2V0IFRleHQKIAogXGJlZ2luX2xheW91dCBQbGFpbiBM YXlvdXQKKworXGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3ODYzNTEKIDE2CiBcZW5k X2xheW91dAogCkBAIC03NTEsNiArMzcxMCw4IEBAIEJpdHMKIFxiZWdpbl9pbnNldCBUZXh0CiAK IFxiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2 NSAxMzIwNzg2MzUxCiAxNgogXGVuZF9sYXlvdXQKIApAQCAtNzYwLDYgKzM3MjEsOCBAQCBCaXRz CiBcYmVnaW5faW5zZXQgVGV4dAogCiBcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hh bmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4NjM1MQogOAogXGVuZF9sYXlvdXQKIApAQCAt NzY5LDYgKzM3MzIsOCBAQCBCaXRzCiBcYmVnaW5faW5zZXQgVGV4dAogCiBcYmVnaW5fbGF5b3V0 IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4NjM1MQog OAogXGVuZF9sYXlvdXQKIApAQCAtNzgwLDYgKzM3NDUsOCBAQCBCaXRzCiBcYmVnaW5faW5zZXQg VGV4dAogCiBcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVkIDE5 ODYyNDYzNjUgMTMyMDc4NjM1MQogUmVhZC9Xcml0ZQogXGVuZF9sYXlvdXQKIApAQCAtNzg5LDYg KzM3NTYsOCBAQCBSZWFkL1dyaXRlCiBcYmVnaW5faW5zZXQgVGV4dAogCiBcYmVnaW5fbGF5b3V0 IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4NjM1MQog UgogXGVuZF9sYXlvdXQKIApAQCAtNzk4LDYgKzM3NjcsOCBAQCBSCiBcYmVnaW5faW5zZXQgVGV4 dAogCiBcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYy NDYzNjUgMTMyMDc4NjM1MQogUitXCiBcZW5kX2xheW91dAogCkBAIC04MDcsNiArMzc3OCw4IEBA IFIrVwogXGJlZ2luX2luc2V0IFRleHQKIAogXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKwor XGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3ODYzNTEKIFIrVwogXGVuZF9sYXlvdXQK IApAQCAtODE2LDYgKzM3ODksOCBAQCBSK1cKIFxiZWdpbl9pbnNldCBUZXh0CiAKIFxiZWdpbl9s YXlvdXQgUGxhaW4gTGF5b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzg2 MzUxCiBSCiBcZW5kX2xheW91dAogCkBAIC04MjUsNiArMzgwMCw4IEBAIFIKIFxiZWdpbl9pbnNl dCBUZXh0CiAKIFxiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQg MTk4NjI0NjM2NSAxMzIwNzg2MzUxCiBSK1cKIFxlbmRfbGF5b3V0CiAKQEAgLTgzNCw2ICszODEx LDggQEAgUitXCiBcYmVnaW5faW5zZXQgVGV4dAogCiBcYmVnaW5fbGF5b3V0IFBsYWluIExheW91 dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4NjM1MQogUitXCiBcZW5kX2xh eW91dAogCkBAIC04NDMsNiArMzgyMiw4IEBAIFIrVwogXGJlZ2luX2luc2V0IFRleHQKIAogXGJl Z2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEz MjA3ODYzNTEKIFIrVwogXGVuZF9sYXlvdXQKIApAQCAtODUyLDYgKzM4MzMsOCBAQCBSK1cKIFxi ZWdpbl9pbnNldCBUZXh0CiAKIFxiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xjaGFuZ2Vf aW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzg2MzUxCiBSCiBcZW5kX2xheW91dAogCkBAIC04NjMs NiArMzg0Niw4IEBAIFIKIFxiZWdpbl9pbnNldCBUZXh0CiAKIFxiZWdpbl9sYXlvdXQgUGxhaW4g TGF5b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzg2MzUxCiBQdXJwb3Nl CiBcZW5kX2xheW91dAogCkBAIC04NzMsNiArMzg1OCw4IEBAIFB1cnBvc2UKIAogXGJlZ2luX2xh eW91dCBQbGFpbiBMYXlvdXQKIAorXGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3ODYz NTEKKwogXHNpemUgZm9vdG5vdGVzaXplCiBEZXZpY2UKIFxlbmRfbGF5b3V0CkBAIC04ODQsNiAr Mzg3MSw4IEBAIERldmljZQogCiBcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAogCitcY2hhbmdl X2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4NjM1MQorCiBcc2l6ZSBmb290bm90ZXNpemUKIEd1 ZXN0CiBcZW5kX2xheW91dApAQCAtODk1LDYgKzM4ODQsOCBAQCBHdWVzdAogCiBcYmVnaW5fbGF5 b3V0IFBsYWluIExheW91dAogCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4NjM1 MQorCiBcc2l6ZSBmb290bm90ZXNpemUKIFF1ZXVlCiBcZW5kX2xheW91dApAQCAtOTA2LDYgKzM4 OTcsOCBAQCBRdWV1ZQogCiBcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAogCitcY2hhbmdlX2lu c2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4NjM1MQorCiBcc2l6ZSBmb290bm90ZXNpemUKIFF1ZXVl CiBcZW5kX2xheW91dApAQCAtOTE3LDYgKzM5MTAsOCBAQCBRdWV1ZQogCiBcYmVnaW5fbGF5b3V0 IFBsYWluIExheW91dAogCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4NjM1MQor CiBcc2l6ZSBmb290bm90ZXNpemUKIFF1ZXVlCiBcZW5kX2xheW91dApAQCAtOTI4LDYgKzM5MjMs OCBAQCBRdWV1ZQogCiBcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAogCitcY2hhbmdlX2luc2Vy dGVkIDE5ODYyNDYzNjUgMTMyMDc4NjM1MQorCiBcc2l6ZSBmb290bm90ZXNpemUKIFF1ZXVlCiBc ZW5kX2xheW91dApAQCAtOTM5LDYgKzM5MzYsOCBAQCBRdWV1ZQogCiBcYmVnaW5fbGF5b3V0IFBs YWluIExheW91dAogCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4NjM1MQorCiBc c2l6ZSBmb290bm90ZXNpemUKIERldmljZQogXGVuZF9sYXlvdXQKQEAgLTk1MCw2ICszOTQ5LDgg QEAgRGV2aWNlCiAKIFxiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CiAKK1xjaGFuZ2VfaW5zZXJ0 ZWQgMTk4NjI0NjM2NSAxMzIwNzg2MzUxCisKIFxzaXplIGZvb3Rub3Rlc2l6ZQogSVNSCiBcZW5k X2xheW91dApAQCAtOTYzLDYgKzM5NjQsOCBAQCBJU1IKIAogXGJlZ2luX2xheW91dCBQbGFpbiBM YXlvdXQKIAorXGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3ODYzNTEKKwogXGVuZF9s YXlvdXQKIAogXGVuZF9pbnNldApAQCAtOTcyLDYgKzM5NzUsOCBAQCBJU1IKIAogXGJlZ2luX2xh eW91dCBQbGFpbiBMYXlvdXQKIAorXGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3ODYz NTEKKwogXHNpemUgZm9vdG5vdGVzaXplCiBGZWF0dXJlcyBiaXRzIDA6MzEKIFxlbmRfbGF5b3V0 CkBAIC05ODMsNiArMzk4OCw4IEBAIEZlYXR1cmVzIGJpdHMgMDozMQogCiBcYmVnaW5fbGF5b3V0 IFBsYWluIExheW91dAogCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4NjM1MQor CiBcc2l6ZSBmb290bm90ZXNpemUKIEZlYXR1cmVzIGJpdHMgMDozMQogXGVuZF9sYXlvdXQKQEAg LTk5NCw2ICs0MDAxLDggQEAgRmVhdHVyZXMgYml0cyAwOjMxCiAKIFxiZWdpbl9sYXlvdXQgUGxh aW4gTGF5b3V0CiAKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzg2MzUxCisKIFxz aXplIGZvb3Rub3Rlc2l6ZQogQWRkcmVzcwogXGVuZF9sYXlvdXQKQEAgLTEwMDUsNiArNDAxNCw4 IEBAIEFkZHJlc3MKIAogXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKIAorXGNoYW5nZV9pbnNl cnRlZCAxOTg2MjQ2MzY1IDEzMjA3ODYzNTEKKwogXHNpemUgZm9vdG5vdGVzaXplCiBTaXplCiBc ZW5kX2xheW91dApAQCAtMTAxNiw2ICs0MDI3LDggQEAgU2l6ZQogCiBcYmVnaW5fbGF5b3V0IFBs YWluIExheW91dAogCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4NjM1MQorCiBc c2l6ZSBmb290bm90ZXNpemUKIFNlbGVjdAogXGVuZF9sYXlvdXQKQEAgLTEwMjcsNiArNDA0MCw4 IEBAIFNlbGVjdAogCiBcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAogCitcY2hhbmdlX2luc2Vy dGVkIDE5ODYyNDYzNjUgMTMyMDc4NjM1MQorCiBcc2l6ZSBmb290bm90ZXNpemUKIE5vdGlmeQog XGVuZF9sYXlvdXQKQEAgLTEwMzgsNiArNDA1Myw4IEBAIE5vdGlmeQogCiBcYmVnaW5fbGF5b3V0 IFBsYWluIExheW91dAogCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4NjM1MQor CiBcc2l6ZSBmb290bm90ZXNpemUKIFN0YXR1cwogXGVuZF9sYXlvdXQKQEAgLTEwNDksNiArNDA2 Niw4IEBAIFN0YXR1cwogCiBcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAogCitcY2hhbmdlX2lu c2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4NjM1MQorCiBcc2l6ZSBmb290bm90ZXNpemUKIFN0YXR1 cwogXGVuZF9sYXlvdXQKQEAgLTEwNjQsMTIgKzQwODMsMTYgQEAgU3RhdHVzCiBcZW5kX2xheW91 dAogCiBcYmVnaW5fbGF5b3V0IFN0YW5kYXJkCisKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2 NSAxMzIwNzg2MzUxCiBJZiBNU0ktWCBpcyBlbmFibGVkIGZvciB0aGUgZGV2aWNlLCB0d28gYWRk aXRpb25hbCBmaWVsZHMgaW1tZWRpYXRlbHkgZm9sbG93CiAgdGhpcyBoZWFkZXI6CiBcYmVnaW5f aW5zZXQgRm9vdAogc3RhdHVzIGNvbGxhcHNlZAogCiBcYmVnaW5fbGF5b3V0IFBsYWluIExheW91 dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4NjM1MQogaWUuCiAgb25jZSB5 b3UgZW5hYmxlIE1TSS1YIG9uIHRoZSBkZXZpY2UsIHRoZSBvdGhlciBmaWVsZHMgbW92ZS4KICBJ ZiB5b3UgdHVybiBpdCBvZmYgYWdhaW4sIHRoZXkgbW92ZSBiYWNrIQpAQCAtMTA4MSw2ICs0MTA0 LDggQEAgaWUuCiBcZW5kX2xheW91dAogCiBcYmVnaW5fbGF5b3V0IFN0YW5kYXJkCisKK1xjaGFu Z2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzg2MzUxCiBcYmVnaW5faW5zZXQgVGFidWxhcgog PGx5eHRhYnVsYXIgdmVyc2lvbj0iMyIgcm93cz0iNCIgY29sdW1ucz0iMyI+CiA8ZmVhdHVyZXMg dGFidWxhcnZhbGlnbm1lbnQ9Im1pZGRsZSI+CkBAIC0xMDkyLDYgKzQxMTcsOCBAQCBpZS4KIFxi ZWdpbl9pbnNldCBUZXh0CiAKIFxiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xjaGFuZ2Vf aW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzg2MzUxCiBCaXRzCiBcZW5kX2xheW91dAogCkBAIC0x MTAxLDYgKzQxMjgsOCBAQCBCaXRzCiBcYmVnaW5faW5zZXQgVGV4dAogCiBcYmVnaW5fbGF5b3V0 IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4NjM1MQog MTYKIFxlbmRfbGF5b3V0CiAKQEAgLTExMTAsNiArNDEzOSw4IEBAIEJpdHMKIFxiZWdpbl9pbnNl dCBUZXh0CiAKIFxiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQg MTk4NjI0NjM2NSAxMzIwNzg2MzUxCiAxNgogXGVuZF9sYXlvdXQKIApAQCAtMTEyMSw2ICs0MTUy LDggQEAgQml0cwogXGJlZ2luX2luc2V0IFRleHQKIAogXGJlZ2luX2xheW91dCBQbGFpbiBMYXlv dXQKKworXGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3ODYzNTEKIFJlYWQvV3JpdGUK IFxlbmRfbGF5b3V0CiAKQEAgLTExMzAsNiArNDE2Myw4IEBAIFJlYWQvV3JpdGUKIFxiZWdpbl9p bnNldCBUZXh0CiAKIFxiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xjaGFuZ2VfaW5zZXJ0 ZWQgMTk4NjI0NjM2NSAxMzIwNzg2MzUxCiBSK1cKIFxlbmRfbGF5b3V0CiAKQEAgLTExMzksNiAr NDE3NCw4IEBAIFIrVwogXGJlZ2luX2luc2V0IFRleHQKIAogXGJlZ2luX2xheW91dCBQbGFpbiBM YXlvdXQKKworXGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3ODYzNTEKIFIrVwogXGVu ZF9sYXlvdXQKIApAQCAtMTE1MCw2ICs0MTg3LDggQEAgUitXCiBcYmVnaW5faW5zZXQgVGV4dAog CiBcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYz NjUgMTMyMDc4NjM1MQogUHVycG9zZQogXGVuZF9sYXlvdXQKIApAQCAtMTE2MCw2ICs0MTk5LDgg QEAgUHVycG9zZQogCiBcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAogCitcY2hhbmdlX2luc2Vy dGVkIDE5ODYyNDYzNjUgMTMyMDc4NjM1MQorCiBcc2l6ZSBmb290bm90ZXNpemUKIENvbmZpZ3Vy YXRpb24KIFxlbmRfbGF5b3V0CkBAIC0xMTcxLDYgKzQyMTIsOCBAQCBDb25maWd1cmF0aW9uCiAK IFxiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CiAKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2 NSAxMzIwNzg2MzUxCisKIFxzaXplIGZvb3Rub3Rlc2l6ZQogUXVldWUKIFxlbmRfbGF5b3V0CkBA IC0xMTgzLDYgKzQyMjYsOCBAQCBRdWV1ZQogXGJlZ2luX2luc2V0IFRleHQKIAogXGJlZ2luX2xh eW91dCBQbGFpbiBMYXlvdXQKKworXGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3ODYz NTEKIChNU0ktWCkKIFxlbmRfbGF5b3V0CiAKQEAgLTExOTMsMTYgKzQyMzgsNyBAQCBRdWV1ZQog CiBcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAogCi1cc2l6ZSBmb290bm90ZXNpemUKLVZlY3Rv cgotXGVuZF9sYXlvdXQKLQotXGVuZF9pbnNldAotPC9jZWxsPgotPGNlbGwgYWxpZ25tZW50PSJj ZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgYm90dG9tbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUi IHJpZ2h0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KLVxiZWdpbl9pbnNldCBUZXh0Ci0KLVxi ZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMy MDc4NjM1MQogCiBcc2l6ZSBmb290bm90ZXNpemUKIFZlY3RvcgpAQCAtMTIxMCwxNDUgKzQyNDYs MTUgQEAgVmVjdG9yCiAKIFxlbmRfaW5zZXQKIDwvY2VsbD4KLTwvcm93PgotPC9seXh0YWJ1bGFy PgotCi1cZW5kX2luc2V0Ci0KLQotXGVuZF9sYXlvdXQKLQotXGJlZ2luX2xheW91dCBTdGFuZGFy ZAotRmluYWxseSwgaWYgZmVhdHVyZSBiaXRzIChWSVJUSU9fRl9GRUFUVVJFU19ISSkgdGhpcyBp cyBpbW1lZGlhdGVseSBmb2xsb3dlZAotIGJ5IHR3byBhZGRpdGlvbmFsIGZpZWxkczoKLVxlbmRf bGF5b3V0Ci0KLVxiZWdpbl9sYXlvdXQgU3RhbmRhcmQKLVxiZWdpbl9pbnNldCBUYWJ1bGFyCi08 bHl4dGFidWxhciB2ZXJzaW9uPSIzIiByb3dzPSI0IiBjb2x1bW5zPSIzIj4KLTxmZWF0dXJlcyB0 YWJ1bGFydmFsaWdubWVudD0ibWlkZGxlIj4KLTxjb2x1bW4gYWxpZ25tZW50PSJsZWZ0IiB2YWxp Z25tZW50PSJ0b3AiIHdpZHRoPSIwIj4KLTxjb2x1bW4gYWxpZ25tZW50PSJsZWZ0IiB2YWxpZ25t ZW50PSJ0b3AiIHdpZHRoPSIwIj4KLTxjb2x1bW4gYWxpZ25tZW50PSJsZWZ0IiB2YWxpZ25tZW50 PSJ0b3AiIHdpZHRoPSIwIj4KLTxyb3c+Ci08Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdu bWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgcmlnaHRsaW5lPSJ0cnVl IiB1c2Vib3g9Im5vbmUiPgotXGJlZ2luX2luc2V0IFRleHQKLQotXGJlZ2luX2xheW91dCBQbGFp biBMYXlvdXQKLUJpdHMKLVxlbmRfbGF5b3V0Ci0KLVxlbmRfaW5zZXQKLTwvY2VsbD4KLTxjZWxs IGFsaWdubWVudD0iY2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRs aW5lPSJ0cnVlIiB1c2Vib3g9Im5vbmUiPgotXGJlZ2luX2luc2V0IFRleHQKLQotXGJlZ2luX2xh eW91dCBQbGFpbiBMYXlvdXQKLTMyCi1cZW5kX2xheW91dAotCi1cZW5kX2luc2V0Ci08L2NlbGw+ Ci08Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVl IiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KLVxiZWdpbl9pbnNldCBUZXh0Ci0KLVxi ZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0Ci0zMgotXGVuZF9sYXlvdXQKLQotXGVuZF9pbnNldAot PC9jZWxsPgotPC9yb3c+Ci08cm93PgotPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1l bnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHJpZ2h0bGluZT0idHJ1ZSIg dXNlYm94PSJub25lIj4KLVxiZWdpbl9pbnNldCBUZXh0Ci0KLVxiZWdpbl9sYXlvdXQgUGxhaW4g TGF5b3V0Ci1SZWFkL1dyaXRlCi1cZW5kX2xheW91dAotCi1cZW5kX2luc2V0Ci08L2NlbGw+Ci08 Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0cnVlIiBs ZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KLVxiZWdpbl9pbnNldCBUZXh0Ci0KLVxiZWdp bl9sYXlvdXQgUGxhaW4gTGF5b3V0Ci1SCi1cZW5kX2xheW91dAotCi1cZW5kX2luc2V0Ci08L2Nl bGw+Ci08Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVudD0idG9wIiB0b3BsaW5lPSJ0 cnVlIiBsZWZ0bGluZT0idHJ1ZSIgdXNlYm94PSJub25lIj4KLVxiZWdpbl9pbnNldCBUZXh0Ci0K LVxiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0Ci1SK1cKLVxlbmRfbGF5b3V0Ci0KLVxlbmRfaW5z ZXQKLTwvY2VsbD4KLTwvcm93PgotPHJvdz4KLTxjZWxsIGFsaWdubWVudD0iY2VudGVyIiB2YWxp Z25tZW50PSJ0b3AiIHRvcGxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVlIiByaWdodGxpbmU9InRy dWUiIHVzZWJveD0ibm9uZSI+Ci1cYmVnaW5faW5zZXQgVGV4dAotCi1cYmVnaW5fbGF5b3V0IFBs YWluIExheW91dAotUHVycG9zZQotXGVuZF9sYXlvdXQKLQotXGVuZF9pbnNldAotPC9jZWxsPgot PGNlbGwgYWxpZ25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIg bGVmdGxpbmU9InRydWUiIHVzZWJveD0ibm9uZSI+Ci1cYmVnaW5faW5zZXQgVGV4dAotCi1cYmVn aW5fbGF5b3V0IFBsYWluIExheW91dAotCi1cc2l6ZSBmb290bm90ZXNpemUKLURldmljZQotXGVu ZF9sYXlvdXQKLQotXGVuZF9pbnNldAotPC9jZWxsPgotPGNlbGwgYWxpZ25tZW50PSJjZW50ZXIi IHZhbGlnbm1lbnQ9InRvcCIgdG9wbGluZT0idHJ1ZSIgbGVmdGxpbmU9InRydWUiIHVzZWJveD0i bm9uZSI+Ci1cYmVnaW5faW5zZXQgVGV4dAotCi1cYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAot Ci1cc2l6ZSBmb290bm90ZXNpemUKLUd1ZXN0Ci1cZW5kX2xheW91dAotCi1cZW5kX2luc2V0Ci08 L2NlbGw+Ci08L3Jvdz4KLTxyb3c+CiA8Y2VsbCBhbGlnbm1lbnQ9ImNlbnRlciIgdmFsaWdubWVu dD0idG9wIiBib3R0b21saW5lPSJ0cnVlIiBsZWZ0bGluZT0idHJ1ZSIgcmlnaHRsaW5lPSJ0cnVl IiB1c2Vib3g9Im5vbmUiPgogXGJlZ2luX2luc2V0IFRleHQKIAogXGJlZ2luX2xheW91dCBQbGFp biBMYXlvdXQKIAotXGVuZF9sYXlvdXQKLQotXGVuZF9pbnNldAotPC9jZWxsPgotPGNlbGwgYWxp Z25tZW50PSJjZW50ZXIiIHZhbGlnbm1lbnQ9InRvcCIgYm90dG9tbGluZT0idHJ1ZSIgbGVmdGxp bmU9InRydWUiIHVzZWJveD0ibm9uZSI+Ci1cYmVnaW5faW5zZXQgVGV4dAotCi1cYmVnaW5fbGF5 b3V0IFBsYWluIExheW91dAotCi1cc2l6ZSBmb290bm90ZXNpemUKLUZlYXR1cmVzIGJpdHMgMzI6 NjMKLVxlbmRfbGF5b3V0Ci0KLVxlbmRfaW5zZXQKLTwvY2VsbD4KLTxjZWxsIGFsaWdubWVudD0i Y2VudGVyIiB2YWxpZ25tZW50PSJ0b3AiIGJvdHRvbWxpbmU9InRydWUiIGxlZnRsaW5lPSJ0cnVl IiB1c2Vib3g9Im5vbmUiPgotXGJlZ2luX2luc2V0IFRleHQKLQotXGJlZ2luX2xheW91dCBQbGFp biBMYXlvdXQKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzg2MzUxCiAKIFxzaXpl IGZvb3Rub3Rlc2l6ZQotRmVhdHVyZXMgYml0cyAzMjo2MworVmVjdG9yCiBcZW5kX2xheW91dAog CiBcZW5kX2luc2V0CkBAIC0xMzYyLDExICs0MjY4LDE1IEBAIEZlYXR1cmVzIGJpdHMgMzI6NjMK IFxlbmRfbGF5b3V0CiAKIFxiZWdpbl9sYXlvdXQgU3RhbmRhcmQKLUltbWVkaWF0ZWx5IGZvbGxv d2luZyB0aGVzZSBnZW5lcmFsIGhlYWRlcnMsIHRoZXJlIG1heSBiZSBkZXZpY2Utc3BlY2lmaWMK KworXGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3ODYzNTEKK0ltbWVkaWF0ZWx5IGZv bGxvd2luZyB0aGVzZSBnZW5lcmFsIGhlYWRlcnMsIHRoZXJlIG1heSBiZSBsZWdhY3kgZGV2aWNl LXNwZWNpZmljCiAgaGVhZGVyczoKIFxlbmRfbGF5b3V0CiAKIFxiZWdpbl9sYXlvdXQgU3RhbmRh cmQKKworXGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3ODYzNTEKIFxiZWdpbl9pbnNl dCBUYWJ1bGFyCiA8bHl4dGFidWxhciB2ZXJzaW9uPSIzIiByb3dzPSI0IiBjb2x1bW5zPSIyIj4K IDxmZWF0dXJlcyB0YWJ1bGFydmFsaWdubWVudD0ibWlkZGxlIj4KQEAgLTEzNzcsNiArNDI4Nyw4 IEBAIEltbWVkaWF0ZWx5IGZvbGxvd2luZyB0aGVzZSBnZW5lcmFsIGhlYWRlcnMsIHRoZXJlIG1h eSBiZSBkZXZpY2Utc3BlY2lmaWMKIFxiZWdpbl9pbnNldCBUZXh0CiAKIFxiZWdpbl9sYXlvdXQg UGxhaW4gTGF5b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzg2MzUxCiBC aXRzCiBcZW5kX2xheW91dAogCkBAIC0xMzg2LDYgKzQyOTgsOCBAQCBCaXRzCiBcYmVnaW5faW5z ZXQgVGV4dAogCiBcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVk IDE5ODYyNDYzNjUgMTMyMDc4NjM1MQogRGV2aWNlIFNwZWNpZmljCiBcZW5kX2xheW91dAogCkBA IC0xMzk3LDYgKzQzMTEsOCBAQCBEZXZpY2UgU3BlY2lmaWMKIFxiZWdpbl9pbnNldCBUZXh0CiAK IFxiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2 NSAxMzIwNzg2MzUxCiBSZWFkL1dyaXRlCiBcZW5kX2xheW91dAogCkBAIC0xNDA2LDYgKzQzMjIs OCBAQCBSZWFkL1dyaXRlCiBcYmVnaW5faW5zZXQgVGV4dAogCiBcYmVnaW5fbGF5b3V0IFBsYWlu IExheW91dAorCitcY2hhbmdlX2luc2VydGVkIDE5ODYyNDYzNjUgMTMyMDc4NjM1MQogRGV2aWNl IFNwZWNpZmljCiBcZW5kX2xheW91dAogCkBAIC0xNDE3LDYgKzQzMzUsOCBAQCBEZXZpY2UgU3Bl Y2lmaWMKIFxiZWdpbl9pbnNldCBUZXh0CiAKIFxiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisK K1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzg2MzUxCiBQdXJwb3NlCiBcZW5kX2xh eW91dAogCkBAIC0xNDI3LDYgKzQzNDcsOCBAQCBQdXJwb3NlCiAKIFxiZWdpbl9sYXlvdXQgUGxh aW4gTGF5b3V0CiAKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzg2MzUxCisKIFxz aXplIGZvb3Rub3Rlc2l6ZQogRGV2aWNlIFNwZWNpZmljLi4uCiBcZW5kX2xheW91dApAQCAtMTQ0 MCw2ICs0MzYyLDggQEAgRGV2aWNlIFNwZWNpZmljLi4uCiAKIFxiZWdpbl9sYXlvdXQgUGxhaW4g TGF5b3V0CiAKK1xjaGFuZ2VfaW5zZXJ0ZWQgMTk4NjI0NjM2NSAxMzIwNzg2MzUxCisKIFxlbmRf bGF5b3V0CiAKIFxlbmRfaW5zZXQKQEAgLTE0NDksNiArNDM3Myw4IEBAIERldmljZSBTcGVjaWZp Yy4uLgogCiBcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAogCitcY2hhbmdlX2luc2VydGVkIDE5 ODYyNDYzNjUgMTMyMDc4NjM1MQorCiBcZW5kX2xheW91dAogCiBcZW5kX2luc2V0CkBAIC0xNDYx LDYgKzQzODcsMTUgQEAgRGV2aWNlIFNwZWNpZmljLi4uCiAKIFxlbmRfbGF5b3V0CiAKK1xiZWdp bl9sYXlvdXQgU3RhbmRhcmQKKworXGNoYW5nZV9pbnNlcnRlZCAxOTg2MjQ2MzY1IDEzMjA3ODY2 MTkKK0xlZ2FjeSBkZXZpY2Utc3BlY2lmaWMgaGVhZGVycyBhcmUgc3VwcG9ydGVkIGZvciBiYWNr d2FyZHMgY29tcGF0aWJpbGl0eS4KKyBBcyBzdWNoLCB0aGV5IGFyZSBub3QgcmVxdWlyZWQgdG8g bWFwIHRoZSB3aG9sZSBkZXZpY2UgY29uZmlndXJhdGlvbiBzdHJ1Y3R1cmUKKyAtIG9ubHkgdGhl IGluaXRpYWwgc2VnbWVudCBleHBlY3RlZCBieSBsZWdhY3kgZHJpdmVycyBuZWVkcyB0byBiZSBt YXBwZWQuCisgVGhlIHNpemUgb2Ygc3VjaCBsZWdhY3kgc2VnbWVudCBzaXplIGlzIGRldmljZSBz cGVjaWZpYy4KK1xlbmRfbGF5b3V0CisKIFxiZWdpbl9sYXlvdXQgU3Vic3Vic2VjdGlvbgogRGV2 aWNlIFN0YXR1cwogXGVuZF9sYXlvdXQKQEAgLTE1MzEsOCArNDQ2NiwxMCBAQCBuYW1lICJzdWI6 RmVhdHVyZS1CaXRzIgogVGhlIGxlYXN0IHNpZ25pZmljYW50IDMxIGJpdHMgb2YgdGhlIGZpcnN0 IGNvbmZpZ3VyYXRpb24gZmllbGQgaW5kaWNhdGVzCiAgdGhlIGZlYXR1cmVzIHRoYXQgdGhlIGRl dmljZSBzdXBwb3J0cyAodGhlIGhpZ2ggYml0IGlzIHJlc2VydmVkLCBhbmQgd2lsbAogIGJlIHVz ZWQgdG8gaW5kaWNhdGUgdGhlIHByZXNlbmNlIG9mIGZ1dHVyZSBmZWF0dXJlIGJpdHMgZWxzZXdo ZXJlKS4KLSBJZiBtb3JlIHRoYW4gMzEgZmVhdHVyZSBiaXRzIGFyZSBzdXBwb3J0ZWQsIHRoZSBk ZXZpY2UgaW5kaWNhdGVzIHNvIGJ5Ci0gc2V0dGluZyBmZWF0dXJlIGJpdCAzMSAoc2VlIAorIAor XGNoYW5nZV9kZWxldGVkIDE5ODYyNDYzNjUgMTMyMDc4NDkyOQorSWYgbW9yZSB0aGFuIDMxIGZl YXR1cmUgYml0cyBhcmUgc3VwcG9ydGVkLCB0aGUgZGV2aWNlIGluZGljYXRlcyBzbyBieSBzZXR0 aW5nCisgZmVhdHVyZSBiaXQgMzEgKHNlZSAKIFxiZWdpbl9pbnNldCBDb21tYW5kSW5zZXQgcmVm CiBMYXRleENvbW1hbmQgcmVmCiByZWZlcmVuY2UgImNoYTpSZXNlcnZlZC1GZWF0dXJlLUJpdHMi CkBAIC0xNTQwLDcgKzQ0NzcsOSBAQCByZWZlcmVuY2UgImNoYTpSZXNlcnZlZC1GZWF0dXJlLUJp dHMiCiBcZW5kX2luc2V0CiAKICkuCi0gVGhlIGJpdHMgYXJlIGFsbG9jYXRlZCBhcyBmb2xsb3dz OgorIAorXGNoYW5nZV91bmNoYW5nZWQKK1RoZSBiaXRzIGFyZSBhbGxvY2F0ZWQgYXMgZm9sbG93 czoKIFxlbmRfbGF5b3V0CiAKIFxiZWdpbl9sYXlvdXQgRGVzY3JpcHRpb24KQEAgLTE2MTUsMTAg KzQ1NTQsMTQgQEAgVGhpcyBhbGxvd3MgZm9yIGZvcndhcmRzIGFuZCBiYWNrd2FyZHMgY29tcGF0 aWJpbGl0eTogaWYgdGhlIGRldmljZSBpcyBlbmhhbmNlZAogXGVuZF9sYXlvdXQKIAogXGJlZ2lu X2xheW91dCBTdGFuZGFyZAorCitcY2hhbmdlX2RlbGV0ZWQgMTk4NjI0NjM2NSAxMzIwNzg0OTQw CiBBY2Nlc3MgdG8gZmVhdHVyZSBiaXRzIDMyIHRvIDYzIGlzIGVuYWJsZWQgYnkgR3Vlc3QgYnkg c2V0dGluZyBmZWF0dXJlIGJpdAogIDMxLgogIElmIHRoaXMgYml0IGlzIHVuc2V0LCBEZXZpY2Ug bXVzdCBhc3N1bWUgdGhhdCBhbGwgZmVhdHVyZSBiaXRzID4gMzEgYXJlCiAgdW5zZXQuCitcY2hh bmdlX3VuY2hhbmdlZAorCiBcZW5kX2xheW91dAogCiBcYmVnaW5fbGF5b3V0IFN1YnN1YnNlY3Rp b24KQEAgLTE2MjksMTAgKzQ1NzIsMTQgQEAgQ29uZmlndXJhdGlvbi9RdWV1ZSBWZWN0b3JzCiBX aGVuIE1TSS1YIGNhcGFiaWxpdHkgaXMgcHJlc2VudCBhbmQgZW5hYmxlZCBpbiB0aGUgZGV2aWNl ICh0aHJvdWdoIHN0YW5kYXJkCiAgUENJIGNvbmZpZ3VyYXRpb24gc3BhY2UpIDQgYnl0ZXMgYXQg Ynl0ZSBvZmZzZXQgMjAgYXJlIHVzZWQgdG8gbWFwIGNvbmZpZ3VyYXRpbwogbiBjaGFuZ2UgYW5k IHF1ZXVlIGludGVycnVwdHMgdG8gTVNJLVggdmVjdG9ycy4KLSBJbiB0aGlzIGNhc2UsIHRoZSBJ U1IgU3RhdHVzIGZpZWxkIGlzIHVudXNlZCwgYW5kIGRldmljZSBzcGVjaWZpYyBjb25maWd1cmF0 aW9uCi0gc3RhcnRzIGF0IGJ5dGUgb2Zmc2V0IDI0IGluIHZpcnRpbyBoZWFkZXIgc3RydWN0dXJl LgorIEluIHRoaXMgY2FzZSwgdGhlIElTUiBTdGF0dXMgZmllbGQgaXMgdW51c2VkCitcY2hhbmdl X2RlbGV0ZWQgMTk4NjI0NjM2NSAxMzIwNzg0OTgxCissIGFuZCBkZXZpY2Ugc3BlY2lmaWMgY29u ZmlndXJhdGlvbiBzdGFydHMgYXQgYnl0ZSBvZmZzZXQgMjQgaW4gdmlydGlvIGhlYWRlcgorIHN0 cnVjdHVyZS4KICBXaGVuIE1TSS1YIGNhcGFiaWxpdHkgaXMgbm90IGVuYWJsZWQsIGRldmljZSBz cGVjaWZpYyBjb25maWd1cmF0aW9uIHN0YXJ0cwotIGF0IGJ5dGUgb2Zmc2V0IDIwIGluIHZpcnRp byBoZWFkZXIuCisgYXQgYnl0ZSBvZmZzZXQgMjAgaW4gdmlydGlvIGhlYWRlcgorXGNoYW5nZV91 bmNoYW5nZWQKKy4KIFxlbmRfbGF5b3V0CiAKIFxiZWdpbl9sYXlvdXQgU3RhbmRhcmQKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KVmlydHVhbGl6YXRpb24g bWFpbGluZyBsaXN0ClZpcnR1YWxpemF0aW9uQGxpc3RzLmxpbnV4LWZvdW5kYXRpb24ub3JnCmh0 dHBzOi8vbGlzdHMubGludXhmb3VuZGF0aW9uLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3ZpcnR1YWxp emF0aW9u From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753425Ab1KHVjd (ORCPT ); Tue, 8 Nov 2011 16:39:33 -0500 Received: from mx1.redhat.com ([209.132.183.28]:4722 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752810Ab1KHVjb (ORCPT ); Tue, 8 Nov 2011 16:39:31 -0500 Date: Tue, 8 Nov 2011 23:40:23 +0200 From: "Michael S. Tsirkin" To: Rusty Russell Cc: Sasha Levin , lkml - Kernel Mailing List , Alexey Kardashevskiy , Amit Shah , Christian Borntraeger , Krishna Kumar , Pawel Moll , Wang Sheng-Hui , virtualization@lists.linux-foundation.org, kvm@vger.kernel.org, avi@redhat.com Subject: [PATCH RFC] virtio-spec: flexible configuration layout Message-ID: <20111108214021.GA4538@redhat.com> References: <87wrbkvh3v.fsf@rustcorp.com.au> <20111101114542.GA13434@redhat.com> <1320150813.3847.24.camel@lappy> <20111101124223.GA14060@redhat.com> <8739e7uy87.fsf@rustcorp.com.au> <20111102233110.GA20289@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20111102233110.GA20289@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Here's a spec change documenting what my C patch does (almost - I tweaked the layout a bit, but the idea is the same). Some more cleanups are needed but I thought I'd send it for early flames/comments. The idea is simple: we split functionally unrelated register groups to independent structures, and let the device place is anywhere using a capability in PCI configuration space. It can then go into MMIO space which is cheaper than PIO. A legacy portion of the configuration is mirrored in the first BAR, to keep legacy drivers working. Any new fields can be added in existing structures at the end, so they won't affect legacy. Alternatively we can add new structures with new structure IDs, pointed to from PCI configuration space. As we don't yet have devices or drivers with 64 bit features, I decided we don't need high feature bits in legacy space. This also frees up feature bit 31 as we don't need it to enable high feature bits anymore. As this solves the dynamic placement of MSIX vectors and high feature bits, I thought it's easier to just reserve space for that programming than give it a separate structure. This can be changed by a patch on top. Note that data path is split from configuration. PDF will follow. ---- diff --git a/virtio-spec.lyx b/virtio-spec.lyx index 6426f8f..5aec38c 100644 --- a/virtio-spec.lyx +++ b/virtio-spec.lyx @@ -56,6 +56,7 @@ \html_math_output 0 \html_css_as_file 0 \html_be_strict false +\author 1986246365 "Michael S. Tsirkin" \end_header \begin_body @@ -570,7 +571,34 @@ Device Configuration \end_layout \begin_layout Standard -To configure the device, we use the first I/O region of the PCI device. +To configure the device, we +\change_inserted 1986246365 1320783354 +use I/O and/or memory regions of the PCI device. + These contain the virtio header registers, the notification register, the + ISR status register and device specific registers, as specified by Virtio + Structure PCI Capabilities +\begin_inset Foot +status open + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320787659 +For backwards compatibility, devices should present part of these configuration + registers in a legacy configuration structure in the first I/O region of + the PCI device +\change_unchanged + +\end_layout + +\end_inset + +. +\end_layout + +\begin_layout Standard + +\change_deleted 1986246365 1320766512 +use the first I/O region of the PCI device. This contains a \emph on virtio header @@ -578,6 +606,8 @@ virtio header followed by a \emph on device-specific region. +\change_unchanged + \end_layout \begin_layout Standard @@ -595,9 +625,23 @@ natural \end_layout \begin_layout Standard -Note that this is possible because while the virtio header is PCI (i.e. - little) endian, the device-specific region is encoded in the native endian - of the guest (where such distinction is applicable). +Note that this is possible because while the virtio header +\change_inserted 1986246365 1320767249 +, notification and ISR status are +\change_deleted 1986246365 1320767251 + is +\change_unchanged + PCI (i.e. + little) endian, the device-specific +\change_deleted 1986246365 1320767335 + region is +\change_inserted 1986246365 1320767337 +registers are +\change_unchanged + encoded in the native endian of the guest (where such distinction is applicable +). +\change_inserted 1986246365 1320767660 + \end_layout \begin_layout Subsection @@ -635,51 +679,2954 @@ Device-specific setup, including reading the Device Feature Bits, discovery writing the virtio configuration space. \end_layout -\begin_layout Enumerate -The subset of Device Feature Bits understood by the driver is written to - the device. +\begin_layout Enumerate +The subset of Device Feature Bits understood by the driver is written to + the device. +\end_layout + +\begin_layout Enumerate +The DRIVER_OK status bit is set. +\end_layout + +\begin_layout Enumerate +The device can now be used (ie. + buffers added to the virtqueues) +\begin_inset Foot +status open + +\begin_layout Plain Layout +Historically, drivers have used the device before steps 5 and 6. + This is only allowed if the driver does not use any features which would + alter this early use of the device. +\end_layout + +\end_inset + + +\end_layout + +\begin_layout Standard +If any of these steps go irrecoverably wrong, the guest should set the FAILED + status bit to indicate that it has given up on the device (it can reset + the device later to restart if desired). +\end_layout + +\begin_layout Standard +We now cover the fields required for general setup in detail. +\change_inserted 1986246365 1320766663 + +\end_layout + +\begin_layout Subsection + +\change_inserted 1986246365 1320781584 +Virtio Structure PCI Capability +\end_layout + +\begin_layout Standard + +\change_inserted 1986246365 1320781061 +Virtio configuration layout includes virtio configuration header, notification + and ISR status and device configuration structures. + Each structure is mapped by a Base Address register (BAR) belonging to + the function, located beginning at 10h in Configuration Space. + +\emph on +Structure ID +\emph default +indentifies the structure +\emph on +, Size +\emph default + indicates the structure size, in bytes, a +\emph on +BAR Indicator register (BIR) +\emph default + indicates which BAR, and +\emph on +Offset +\emph default + indicates where the structure begins relative to the base address associated + with the BAR. + The BAR is permitted to be either 32-bit or 64-bit, it can map Memory Space + or I/O Space. +\end_layout + +\begin_layout Standard + +\change_inserted 1986246365 1320781133 +These registers are specified using vendor-specific PCI capability located + on capability list in PCI configuration space of the device. + This virtio structure capability uses little-endian format; all bits are + read-only: +\end_layout + +\begin_layout Standard + +\change_inserted 1986246365 1320772579 +\begin_inset Tabular + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771774 +Bit +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771777 +31 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771779 +30 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771781 +29 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771783 +28 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771786 +27 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771810 +26 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771813 +25 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771815 +24 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771817 +23 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771819 +22 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771821 +21 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771823 +20 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771825 +19 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771829 +18 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771831 +17 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771833 +16 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771835 +15 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771840 +14 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771841 +13 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771843 +12 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771845 +11 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771847 +10 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771850 +9 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771852 +8 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771854 +7 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771856 +6 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771858 +5 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771859 +4 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771861 +3 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771862 +2 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771864 +1 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771888 +0 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320771997 +Offset +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320781029 +Structure ID +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320772123 +Capability Length = 12 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320772095 +Next Capability Pointer +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320772055 +Capability ID = 9 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320772004 +0 +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320772549 +Size +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320779698 +BAR Indicator Register +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320772007 +4 +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320772540 +Offset +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320772011 +8 +\end_layout + +\end_inset + + + + +\end_inset + + +\end_layout + +\begin_layout Standard + +\change_inserted 1986246365 1320779667 +Purpose: +\end_layout + +\begin_layout Standard + +\change_inserted 1986246365 1320780912 + +\emph on +Capability ID +\emph default +, +\emph on +Next Capability Pointer +\emph default +, +\emph on +Capability Length +\emph default + - these fields are specified by PCI local bus specification, Rev 3.0 +\end_layout + +\begin_layout Standard + +\change_inserted 1986246365 1320785073 + +\emph on +Structure ID +\emph default + - identifies the structure mapped. + If an ID representing a specific structure is absent, the structure is + located in the legacy virtio configuration in the first PCI BAR. +\end_layout + +\begin_layout Standard + +\change_inserted 1986246365 1320782689 + +\emph on +Size +\emph default + - size of the structure mapped. + This size might include padding, or fields unused by the driver. + Drivers are also recommended to only map part of configuration structure + large enough for device operation. + For example, a future device might present a large structure size of several + MBytes. + As current devices never utilize structures larger than 4KBytes in size, + driver can limit the mapped structure size to e.g. + 4KBytes to allow forward compatibility with such devices without loss of + functionality and without wasting resources. +\change_unchanged + +\end_layout + +\begin_layout Standard + +\change_inserted 1986246365 1320781965 + +\emph on +BAR Indicator Register +\emph default + - Indicates which one of the BAR registers, located beginning at 10h in + Configuration Space, is used to map the structure into Memory or I/O Space. + Legal values are 0 - 5. + BAR offset is calculated as +\emph on +BAR +\emph default + = 10h + 4 * +\emph on +BIR. +\end_layout + +\begin_layout Standard + +\change_inserted 1986246365 1320781002 + +\emph on +Offset +\emph default + - Used as an offset from the address contained by one of the function’s + Base Address registers to point to the base of the structure. + Depending on the structure, the lower bits are masked off (set to zero) + by software to form an aligned offset. +\end_layout + +\begin_layout Standard + +\change_inserted 1986246365 1320785098 +A single device has multiple virtio capabilities on the PCI capability linked-li +st. + To locate a specific register, driver scans the PCI capability list looking + for capabilities using the vendor specific +\emph on +Capability ID +\emph default +, that is +\emph on +Capability ID +\emph default + value +\emph on +9 +\emph default +, according to the PCI spec. + For each capability, it verifies that the +\emph on +Capability Length +\emph default + field matches the expected value (12) - if it doesn't, this indicates a + layout change, which causes driver to ignore the specific PCI capability + and proceed to the next PCI capability in the list. + Next, +\emph on + Structure ID +\emph default + single-byte field is read at offset 3. + Unrecognized +\emph on +Structure ID +\emph default + values are ignored. + Low bits in the +\emph on +Offset +\emph default + register are masked to match alignment requirements, if any. + Device drivers are recommended to sanity check +\emph on +BIR +\emph default +, +\emph on +Offset +\emph default +, and +\emph on +Size +\emph default + fields, ignoring the capability or failing gracefully on error. + Drivers are also recommended to only map part of configuration structure + large enough for device operation. +\end_layout + +\begin_layout Standard + +\change_inserted 1986246365 1320786035 +For backwards compatibility, devices should also present legacy configuration + space in the first I/O region of the PCI device, mirroring virtio configuration + structures in this space. + Drivers should fall back on this legacy structure if a specific Virtio + Structure capability is missing in the PCI capability list. + However, devices are not required to map the whole configuration structure + in legacy space - only the initial segment expected by legacy drivers needs + to be mapped. + The minimal size of such legacy segment size, for each structure, is listed + below. + Drivers are discouraged from using legacy space if a specific Structure + ID is present; this is to allow deprecating the legacy space in the future. +\end_layout + +\begin_layout Standard + +\change_inserted 1986246365 1320786428 +Below is the list of supported Virtio structures, including Structure ID, + offset alignment, and where it can be located in the legacy configuration + space. + Note that legacy space layout changes as the MSI-X capability is enabled + and disabled +\begin_inset Foot +status open + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786428 +ie. + once you enable MSI-X on the device, the other fields move. + If you turn it off again, they move back! +\end_layout + +\end_inset + +. +\end_layout + +\begin_layout Standard + +\change_inserted 1986246365 1320786868 +\begin_inset Tabular + + + + + + + + + + +\begin_inset Text + +\begin_layout Plain Layout +Structure +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +ID +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Alignment +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786921 +Minimal Size +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320785821 +Offset in legacy space +\change_deleted 1986246365 1320785817 + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786926 +Minimal Size in legacy space +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320785855 +Virtio Header +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320785860 +0x1 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786157 +4 bytes +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786225 +28 bytes +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786145 +0 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786236 +24 bytes if MSI-X is enabled, 20 if disabled +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786188 +Queue Notify +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786191 +0x2 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786267 +2 bytes +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786228 +2 bytes +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786505 +16 bytes +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786303 +2 bytes +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786878 +ISR Status +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786260 +0x3 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786270 +1 byte +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786273 +1 byte +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786534 +19 bytes +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786306 +1 byte +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786847 +Device Header +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786474 +0x4 +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786477 +1 byte +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786487 +Device specific +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786513 +24 bytes if MSI-X is enabled, 20 if disabled +\change_unchanged + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786492 +Device specific +\end_layout + +\end_inset + + + + +\end_inset + + +\end_layout + +\begin_layout Standard + +\change_inserted 1986246365 1320786973 +Drivers should assume that each structure size can be extended in the future. +\end_layout + +\begin_layout Standard + +\change_inserted 1986246365 1320787003 +Queue Notify and ISR status are single-field registers. + Device Header has device specific structure. + Virtio Header structure is documented below. +\change_unchanged + +\end_layout + +\begin_layout Subsection +Virtio Header +\end_layout + +\begin_layout Standard +The virtio header looks as follows: +\end_layout + +\begin_layout Standard +\begin_inset Tabular + + + + + + + + + + + + + +\begin_inset Text + +\begin_layout Plain Layout +Bits +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +32 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +32 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +32 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +16 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +16 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +16 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +8 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +8 +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +Read/Write +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +R +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +R+W +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +R+W +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +R +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +R+W +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +R+W +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +R+W +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +R +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +Purpose +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Device +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Guest +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Queue +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Queue +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Queue +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786386 + +\size footnotesize +Reserved +\change_deleted 1986246365 1320786378 +Queue +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Device +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_inserted 1986246365 1320786393 + +\size footnotesize +Reserved +\change_deleted 1986246365 1320786390 +ISR +\change_unchanged + +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Features bits 0:31 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Features bits 0:31 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Address +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Size +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Select +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_deleted 1986246365 1320786378 + +\size footnotesize +Notify +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Status +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\change_deleted 1986246365 1320786388 + +\size footnotesize +Status +\change_unchanged + +\end_layout + +\end_inset + + + + +\end_inset + + +\end_layout + +\begin_layout Standard + +\change_deleted 1986246365 1320786398 +If MSI-X is enabled for the device, two additional fields immediately follow + this header: +\begin_inset Foot +status open + +\begin_layout Plain Layout +ie. + once you enable MSI-X on the device, the other fields move. + If you turn it off again, they move back! +\end_layout + +\end_inset + + +\change_unchanged + +\end_layout + +\begin_layout Standard +\begin_inset Tabular + + + + + + + +\begin_inset Text + +\begin_layout Plain Layout +Bits +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +16 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +16 +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +Read/Write +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +R+W +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +R+W +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +Purpose +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Configuration +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Queue +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +(MSI-X) +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Vector +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Vector +\end_layout + +\end_inset + + + + +\end_inset + + +\end_layout + +\begin_layout Standard + +\change_deleted 1986246365 1320786816 +Finally, if feature bits (VIRTIO_F_FEATURES_HI) +\change_unchanged + this is immediately followed by two additional fields: +\end_layout + +\begin_layout Standard +\begin_inset Tabular + + + + + + + +\begin_inset Text + +\begin_layout Plain Layout +Bits +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +32 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +32 +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +Read/Write +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +R +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +R+W +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +Purpose +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Device +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Guest +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Features bits 32:63 +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Features bits 32:63 +\end_layout + +\end_inset + + + + +\end_inset + + +\end_layout + +\begin_layout Standard + +\change_deleted 1986246365 1320786783 +Immediately following these general headers, there may be device-specific + headers: +\end_layout + +\begin_layout Standard + +\change_deleted 1986246365 1320786783 +\begin_inset Tabular + + + + + + +\begin_inset Text + +\begin_layout Plain Layout +Bits +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Device Specific +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +Read/Write +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +Device Specific +\end_layout + +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout +Purpose +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout + +\size footnotesize +Device Specific... \end_layout -\begin_layout Enumerate -The DRIVER_OK status bit is set. +\end_inset + + + + +\begin_inset Text + +\begin_layout Plain Layout + \end_layout -\begin_layout Enumerate -The device can now be used (ie. - buffers added to the virtqueues) -\begin_inset Foot -status open +\end_inset + + +\begin_inset Text \begin_layout Plain Layout -Historically, drivers have used the device before steps 5 and 6. - This is only allowed if the driver does not use any features which would - alter this early use of the device. + \end_layout \end_inset + + + +\end_inset -\end_layout -\begin_layout Standard -If any of these steps go irrecoverably wrong, the guest should set the FAILED - status bit to indicate that it has given up on the device (it can reset - the device later to restart if desired). -\end_layout +\change_inserted 1986246365 1320784618 -\begin_layout Standard -We now cover the fields required for general setup in detail. \end_layout \begin_layout Subsection -Virtio Header + +\change_inserted 1986246365 1320786351 +Legacy Virtio Header \end_layout \begin_layout Standard -The virtio header looks as follows: + +\change_inserted 1986246365 1320786351 +For reference, the legacy virtio header looks as follows; one observes that + most register offsets match the new virtio header, to make compatibility + easier: \end_layout \begin_layout Standard + +\change_inserted 1986246365 1320786351 \begin_inset Tabular @@ -697,6 +3644,8 @@ The virtio header looks as follows: \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 Bits \end_layout @@ -706,6 +3655,8 @@ Bits \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 32 \end_layout @@ -715,6 +3666,8 @@ Bits \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 32 \end_layout @@ -724,6 +3677,8 @@ Bits \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 32 \end_layout @@ -733,6 +3688,8 @@ Bits \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 16 \end_layout @@ -742,6 +3699,8 @@ Bits \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 16 \end_layout @@ -751,6 +3710,8 @@ Bits \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 16 \end_layout @@ -760,6 +3721,8 @@ Bits \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 8 \end_layout @@ -769,6 +3732,8 @@ Bits \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 8 \end_layout @@ -780,6 +3745,8 @@ Bits \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 Read/Write \end_layout @@ -789,6 +3756,8 @@ Read/Write \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 R \end_layout @@ -798,6 +3767,8 @@ R \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 R+W \end_layout @@ -807,6 +3778,8 @@ R+W \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 R+W \end_layout @@ -816,6 +3789,8 @@ R+W \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 R \end_layout @@ -825,6 +3800,8 @@ R \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 R+W \end_layout @@ -834,6 +3811,8 @@ R+W \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 R+W \end_layout @@ -843,6 +3822,8 @@ R+W \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 R+W \end_layout @@ -852,6 +3833,8 @@ R+W \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 R \end_layout @@ -863,6 +3846,8 @@ R \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 Purpose \end_layout @@ -873,6 +3858,8 @@ Purpose \begin_layout Plain Layout +\change_inserted 1986246365 1320786351 + \size footnotesize Device \end_layout @@ -884,6 +3871,8 @@ Device \begin_layout Plain Layout +\change_inserted 1986246365 1320786351 + \size footnotesize Guest \end_layout @@ -895,6 +3884,8 @@ Guest \begin_layout Plain Layout +\change_inserted 1986246365 1320786351 + \size footnotesize Queue \end_layout @@ -906,6 +3897,8 @@ Queue \begin_layout Plain Layout +\change_inserted 1986246365 1320786351 + \size footnotesize Queue \end_layout @@ -917,6 +3910,8 @@ Queue \begin_layout Plain Layout +\change_inserted 1986246365 1320786351 + \size footnotesize Queue \end_layout @@ -928,6 +3923,8 @@ Queue \begin_layout Plain Layout +\change_inserted 1986246365 1320786351 + \size footnotesize Queue \end_layout @@ -939,6 +3936,8 @@ Queue \begin_layout Plain Layout +\change_inserted 1986246365 1320786351 + \size footnotesize Device \end_layout @@ -950,6 +3949,8 @@ Device \begin_layout Plain Layout +\change_inserted 1986246365 1320786351 + \size footnotesize ISR \end_layout @@ -963,6 +3964,8 @@ ISR \begin_layout Plain Layout +\change_inserted 1986246365 1320786351 + \end_layout \end_inset @@ -972,6 +3975,8 @@ ISR \begin_layout Plain Layout +\change_inserted 1986246365 1320786351 + \size footnotesize Features bits 0:31 \end_layout @@ -983,6 +3988,8 @@ Features bits 0:31 \begin_layout Plain Layout +\change_inserted 1986246365 1320786351 + \size footnotesize Features bits 0:31 \end_layout @@ -994,6 +4001,8 @@ Features bits 0:31 \begin_layout Plain Layout +\change_inserted 1986246365 1320786351 + \size footnotesize Address \end_layout @@ -1005,6 +4014,8 @@ Address \begin_layout Plain Layout +\change_inserted 1986246365 1320786351 + \size footnotesize Size \end_layout @@ -1016,6 +4027,8 @@ Size \begin_layout Plain Layout +\change_inserted 1986246365 1320786351 + \size footnotesize Select \end_layout @@ -1027,6 +4040,8 @@ Select \begin_layout Plain Layout +\change_inserted 1986246365 1320786351 + \size footnotesize Notify \end_layout @@ -1038,6 +4053,8 @@ Notify \begin_layout Plain Layout +\change_inserted 1986246365 1320786351 + \size footnotesize Status \end_layout @@ -1049,6 +4066,8 @@ Status \begin_layout Plain Layout +\change_inserted 1986246365 1320786351 + \size footnotesize Status \end_layout @@ -1064,12 +4083,16 @@ Status \end_layout \begin_layout Standard + +\change_inserted 1986246365 1320786351 If MSI-X is enabled for the device, two additional fields immediately follow this header: \begin_inset Foot status collapsed \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 ie. once you enable MSI-X on the device, the other fields move. If you turn it off again, they move back! @@ -1081,6 +4104,8 @@ ie. \end_layout \begin_layout Standard + +\change_inserted 1986246365 1320786351 \begin_inset Tabular @@ -1092,6 +4117,8 @@ ie. \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 Bits \end_layout @@ -1101,6 +4128,8 @@ Bits \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 16 \end_layout @@ -1110,6 +4139,8 @@ Bits \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 16 \end_layout @@ -1121,6 +4152,8 @@ Bits \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 Read/Write \end_layout @@ -1130,6 +4163,8 @@ Read/Write \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 R+W \end_layout @@ -1139,6 +4174,8 @@ R+W \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 R+W \end_layout @@ -1150,6 +4187,8 @@ R+W \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 Purpose \end_layout @@ -1160,6 +4199,8 @@ Purpose \begin_layout Plain Layout +\change_inserted 1986246365 1320786351 + \size footnotesize Configuration \end_layout @@ -1171,6 +4212,8 @@ Configuration \begin_layout Plain Layout +\change_inserted 1986246365 1320786351 + \size footnotesize Queue \end_layout @@ -1183,6 +4226,8 @@ Queue \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 (MSI-X) \end_layout @@ -1193,16 +4238,7 @@ Queue \begin_layout Plain Layout -\size footnotesize -Vector -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout +\change_inserted 1986246365 1320786351 \size footnotesize Vector @@ -1210,145 +4246,15 @@ Vector \end_inset - - - -\end_inset - - -\end_layout - -\begin_layout Standard -Finally, if feature bits (VIRTIO_F_FEATURES_HI) this is immediately followed - by two additional fields: -\end_layout - -\begin_layout Standard -\begin_inset Tabular - - - - - - - -\begin_inset Text - -\begin_layout Plain Layout -Bits -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -32 -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -32 -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -Read/Write -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -R -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout -R+W -\end_layout - -\end_inset - - - - -\begin_inset Text - -\begin_layout Plain Layout -Purpose -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout - -\size footnotesize -Device -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout - -\size footnotesize -Guest -\end_layout - -\end_inset - - - \begin_inset Text \begin_layout Plain Layout -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout - -\size footnotesize -Features bits 32:63 -\end_layout - -\end_inset - - -\begin_inset Text - -\begin_layout Plain Layout +\change_inserted 1986246365 1320786351 \size footnotesize -Features bits 32:63 +Vector \end_layout \end_inset @@ -1362,11 +4268,15 @@ Features bits 32:63 \end_layout \begin_layout Standard -Immediately following these general headers, there may be device-specific + +\change_inserted 1986246365 1320786351 +Immediately following these general headers, there may be legacy device-specific headers: \end_layout \begin_layout Standard + +\change_inserted 1986246365 1320786351 \begin_inset Tabular @@ -1377,6 +4287,8 @@ Immediately following these general headers, there may be device-specific \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 Bits \end_layout @@ -1386,6 +4298,8 @@ Bits \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 Device Specific \end_layout @@ -1397,6 +4311,8 @@ Device Specific \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 Read/Write \end_layout @@ -1406,6 +4322,8 @@ Read/Write \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 Device Specific \end_layout @@ -1417,6 +4335,8 @@ Device Specific \begin_inset Text \begin_layout Plain Layout + +\change_inserted 1986246365 1320786351 Purpose \end_layout @@ -1427,6 +4347,8 @@ Purpose \begin_layout Plain Layout +\change_inserted 1986246365 1320786351 + \size footnotesize Device Specific... \end_layout @@ -1440,6 +4362,8 @@ Device Specific... \begin_layout Plain Layout +\change_inserted 1986246365 1320786351 + \end_layout \end_inset @@ -1449,6 +4373,8 @@ Device Specific... \begin_layout Plain Layout +\change_inserted 1986246365 1320786351 + \end_layout \end_inset @@ -1461,6 +4387,15 @@ Device Specific... \end_layout +\begin_layout Standard + +\change_inserted 1986246365 1320786619 +Legacy device-specific headers are supported for backwards compatibility. + As such, they are not required to map the whole device configuration structure + - only the initial segment expected by legacy drivers needs to be mapped. + The size of such legacy segment size is device specific. +\end_layout + \begin_layout Subsubsection Device Status \end_layout @@ -1531,8 +4466,10 @@ name "sub:Feature-Bits" The least significant 31 bits of the first configuration field indicates the features that the device supports (the high bit is reserved, and will be used to indicate the presence of future feature bits elsewhere). - If more than 31 feature bits are supported, the device indicates so by - setting feature bit 31 (see + +\change_deleted 1986246365 1320784929 +If more than 31 feature bits are supported, the device indicates so by setting + feature bit 31 (see \begin_inset CommandInset ref LatexCommand ref reference "cha:Reserved-Feature-Bits" @@ -1540,7 +4477,9 @@ reference "cha:Reserved-Feature-Bits" \end_inset ). - The bits are allocated as follows: + +\change_unchanged +The bits are allocated as follows: \end_layout \begin_layout Description @@ -1615,10 +4554,14 @@ This allows for forwards and backwards compatibility: if the device is enhanced \end_layout \begin_layout Standard + +\change_deleted 1986246365 1320784940 Access to feature bits 32 to 63 is enabled by Guest by setting feature bit 31. If this bit is unset, Device must assume that all feature bits > 31 are unset. +\change_unchanged + \end_layout \begin_layout Subsubsection @@ -1629,10 +4572,14 @@ Configuration/Queue Vectors When MSI-X capability is present and enabled in the device (through standard PCI configuration space) 4 bytes at byte offset 20 are used to map configuratio n change and queue interrupts to MSI-X vectors. - In this case, the ISR Status field is unused, and device specific configuration - starts at byte offset 24 in virtio header structure. + In this case, the ISR Status field is unused +\change_deleted 1986246365 1320784981 +, and device specific configuration starts at byte offset 24 in virtio header + structure. When MSI-X capability is not enabled, device specific configuration starts - at byte offset 20 in virtio header. + at byte offset 20 in virtio header +\change_unchanged +. \end_layout \begin_layout Standard