ZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvdHV0b3IuaHUgYi9ydW50aW1lL3R1dG9yL3R1dG9yLmh1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0ZTZiZDQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3R1dG9yL3R1dG9yLmh1CkBAIC0wLDAgKzEsODIzIEBACis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cis9ICAgINwgZCB2IPYgeiD2IGwgaiD8IGsgICBhICAgViBJIE0gICBUIHUgdCBvIHIgYiBhIG4gIC0gICAgMS41LfZzICB2ZXJ6afMgPT09Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgICAgQSBWaW0gZWd5IG5hZ3lvbiBoYXTpa29ueSBzemVya2VzenT1LCBhbWVsbnllayByZW5nZXRlZyB1dGFz7XThc2EKKyAgICAgdmFuLCB0+mwgc29rLCBob2d5IGVneSBpbHllbiBva3RhdPNiYW4gKHR1dG9yYmFuKSwgbWludCBheiBpdHRlbmkKKyAgICAgbWluZGV0IGVsbWFneWFy4Xp6dWsuIEV6IGF6IG9rdGF08yBhcnJhIHT2cmVrc3ppaywgaG9neSBhbm55aXQKKyAgICAgZWxtYWd5YXLhenpvbiwgYW1lbm55aSBlbOlnLCBob2d5IGv2bm55ZWTpbiBoYXN6buFsanVrIGEgVmltLWV0LCBhegorICAgICDhbHRhbOFub3MgY+ls+iBzevZ2ZWdzemVya2VzenT1dC4KKworICAgICBBIGZlbGFkYXRvayBtZWdvbGThc+Fob3ogMjUtMzAgcGVyYyBzevxrc+lnZXMgYXR082wgZvxnZ/VlbiwKKyAgICAgbWVubnlpdCB09mx0/G5rIGEga2lz6XJsZXRleulzc2VsLgorCisgICAgIEEgbGVja+liZW4gc3plcmVwbPUgdXRhc+104XNvayBt82Rvc+10YW5pIGZvZ2rhayBhIHN69nZlZ2VrLgorICAgICBL6XN67XRzZW4gbeFzb2xhdG90IGVycvVsIGEgZuFqbHLzbCwgaGEgZ3lha29yb2xuaSBha2FyLgorICAgICAoSGEgInZpbXR1dG9yIi1yYWwgaW5k7XRvdHRhLCBha2tvciBleiBt4XIgZWd5IG3hc29sYXQuKQorCisgICAgIEZvbnRvcyBtZWfpcnRlbmksIGhvZ3kgZXogYXogb2t0YXTzIGNzZWxla2VkdmUgdGFu7XR0YXQuCisgICAgIEV6IGF6dCBqZWxlbnRpLCBob2d5INZubmVrIGFq4W5sb3R0IHbpZ3JlaGFqdGFuaWEgYXogdXRhc+104XNva2F0LAorICAgICBob2d5IG1lZ2ZlbGVs9WVuIG1lZ3RhbnVsamEgYXpva2F0LiBIYSBjc2FrIG9sdmFzc2EsIGVsZmVsZWp0aSEKKworICAgICBNb3N0IGJpem9ueW9zb2Rqb24sIG1lZywgaG9neSBhIENhcHMtTG9jayBnb21iamEgTklOQ1MgbGVueW9tdmEsIOlzCisgICAgIE55b21qYSBtZWcgbWVnZmVsZWz1IHN64W36c3pvciBhICAgaiAgIGdvbWJvdCwgaG9neSBheiAxLjEtZXMKKyAgICAgbGVja2UgdGVsamVzZW4gYSBr6XBlcm559W4gbGVneWVuIQorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCTEuMS4gIGxlY2tlOiAgQSBLVVJaT1IgTU9aR0FUwVNBCisKKworICAgKiogQSBrdXJ6b3IgbW96Z2F04XPhaG96IG55b21qYSBtZWcgYSBoLGosayxsIGdvbWJva2F0IGF6IGFs4WJiaSBzemVyaW50LiAqKgorCSAgICAgXgorCSAgICAgawkJICAgIFRpcHA6ICBBIGggYmlsbGVudHn7IHZhbiBiYWxyYSwg6XMgYmFscmEgbW96Z2F0CisgICAgICAgPCBoCSBsID4JCSAgIEEgbCBiaWxsZW50efsgdmFuIGpvYmJyYSwg6XMgam9iYnJhIG1vemdhdAorCSAgICAgagkJCSAgIEEgaiBiaWxsZW50efsgb2x5YW4sIG1pbnQgZWd5IGxlZmVsZSBuee1sCisJICAgICB2CisgIDEuIE1vemdhc3NhIGEga3Vyem9ydCBr9nJiZSBheiBhYmxha2JhbiwgYW3tZyBob3p64SBuZW0gc3pva2lrIQorCisgIDIuIFRhcnRzYSBsZW55b212YSBhIGxlZmVs6XQgKGopLCBha2tvciBpc23pdGz1ZGlrIQorLS0tPiBNb3N0IHR1ZGphLCBob2d5YW4gbWVoZXQgYSBr9nZldGtlevUgbGVja+lyZS4KKworICAzLiBBIGxlZmVs6SBmb21iIGhhc3pu4WxhdOF2YWwgbWVuamVuIGEgMS4yLiBsZWNr6XJlIQorCitNZWdqOiBIYSBuZW0gYml6dG9zIGJlbm5lLCBtaXQgbnlvbW90dCBtZWcsIG55b21qYSBtZWcgYXogPEVTQz4tZXQsIGhvZ3kKKyAgICAgIG5vcm3hbCBt82RiYSBrZXL8bGr2biwg6XMgaXNt6XRlbGplIG1lZyBhIHBhcmFuY3NvdCEKKworTWVnajogQSBrdXJ6b3IgZ29tYm9rbmFrIGlzIG37a/Zkbmn8ayBrZWxsLCBkZSBhIGhqa2wgaGFzem7hbGF04XZhbAorICAgICAgc29ra2FsIGd5b3JzYWJiYW4gdHVkLCBtb3pvZ25pLCBoYSBob3p64XN6b2tpay4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgMS4yLiAgbGVja2U6IEJFIMlTIEtJTMlQyVMgQSBWSU1C1UwKKworCisgICEhIE1FR0o6IE1pZWz1dHQgdulncmVoYWp0amEgYXogYWzhYmJpIGzpcOlzZWtldCwgb2x2YXNzYSB26WdpZyBhIGxlY2vpdCAhIQorCisgIDEuIE55b21qYSBtZWcgYXogIDxFU0M+IGdvbWJvdCAoaG9neSBiaXp0b3NhbiBub3Jt4WwgbfNkYmFuIGxlZ3llbikuCisKKyAgMi4gzXJqYToJCQk6cSEgPEVOVEVSPi4KKworLS0tPiBFenplbCBraWzpcCBhIHN6ZXJrZXN6dPVi9WwgYSB24Wx0b3rhc29rIE1FTlTJU0UgTslMS9xMLgorICAgICBIYSBtZW50ZW5pIHN6ZXJldG7pIGEgduFsdG964XNva2F0IOlzIGtpbOlwbmksIO1yamE6CisJCQkJOndxICA8RU5URVI+CisKKyAgMy4gQW1pa29yIGEgc2hlbGwgcHJvbXB0b3QgbOF0amEsIO1yamEgYmUgYSBwYXJhbmNzb3QsIGFtZWx5IGViYmUgYQorICAgICB0dXRvcmJhIGhvenphOgorICAgICBFeiB2YWzzc3rtbvtsZWc6CXZpbXR1dG9yIDxFTlRFUj4KKyAgICAgTm9ybeFsaXMgZXNldGJlbiBlenQg7XJu4ToJdmltIHR1dG9yLmh1IDxFTlRFUj4KKworLS0tPiAndmltJyBqZWxlbnRpIGEgdmltYmUgYmVs6XDpc3QsICd0dXRvci5odScgYSBm4WpsLCBhbWl0IHN6ZXJrZXN6dGVuaSBr7Xbhbi4KKworICA0LiBIYSBtZWdqZWd5ZXp0ZSBhIGzpcOlzZWtldCDpcyBiaXp0b3MgbWFn4WJhbiwgaGFqdHNhIHbpZ3JlIGEgbOlw6XNla2V0CisgICAgIDEtdPVsIDMtaWcsIGhvZ3kga2ls6XBqZW4g6XMgdmlzc3phdOlyamVuIGEgc3plcmtlc3p09WJlLiBBenV04W4KKyAgICAgbWVuamVuIGF6IDEuMy4gIGxlY2vpcmUuCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAxLjMuICBsZWNrZTogU1rWVkVHIFNaRVJLRVNaVMlTRSAtIFTWUkzJUworCisKKyoqIE5vcm3hbCBt82RiYW4gbnlvbWpvbiAgeC1ldCwgaG9neSBhIGt1cnpvciBhbGF0dGkga2FyYWt0ZXJ0IHT2cvZsamUuICoqCisKKyAgMS4gTW96Z2Fzc2EgYSBrdXJ6b3J0IGEgLS0tPiBrZXpkZXT7IHNvcnJhIQorCisgIDIuIEEgaGli4Wsga2lqYXbtdOFz4WhveiBtb3pnYXNzYSBhIGt1cnpvcnQgYW3tZyBhIHT2cmxlbmT1IGthcmFrdGVyCisgICAgIGb2bOkgbmVtIOlyLgorCisgIDMuIE55b21qYSBtZWcgYXogIHggIGdvbWJvdCwgaG9neSB09nL2bGplIGEgbmVta+124W50IGthcmFrdGVydC4KKworICA0LiBJc23pdGVsamUgYSAyLCAzLCA0LWVzIGzpcOlzZWtldCwgaG9neSBraWphdu10c2EgYSBtb25kYXRvdC4KKworLS0tPiDV1XN6aSDpampqZWxsIGl6emlpayBhYSBnYWxhZ2dvbnlhIHJydXVo4WphLgorCisgIDUuIEhhIGEgc29yIGhlbHllcywgdWdvcmpvbiBhIDEuNC4gbGVja+lyZS4KKworTUVHSjogQSB0YW51bOFzIHNvcuFuIG5lIG1lbW9yaXrhbG5pIHBy82LhbGpvbiwgaGFuZW0gaGFzem7hbGF0IHNvcuFuIHRhbnVsam9uLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICAgIDEuNC4gIGxlY2tlOiBTWtZWRUcgU1pFUktFU1pUyVNFIC0gQkVTWtpSwVMKKworCisJICoqIE5vcm3hbCBt82RiYW4gIGkgIG1lZ255b23hc+F2YWwgbGVoZXQgYmVpbGxlc3p0ZW5pLiAqKgorCisgIDEuIEF6IGFs4WJiaSBlbHP1IC0tLT4ga2V6ZGV0+yBzb3JyYSBtZW5qZW4uCisKKyAgMi4gQWhob3osIGhvZ3kgYXogZWxz9XQgYXpvbm9zc+EgdGVneWUgYSBt4XNvZGlra2FsLCBtb3pnYXNzYSBhIGt1cnpvcnQKKyAgICAgYXogZWxz9SBrYXJha3RlcnJlLCBhbWVseSBVVMFOIHN69nZlZ2V0IGtlbGwgYmVzevpybmkuCisKKyAgMy4gTnlvbWpvbiAgaS10IOlzIO1yamEgYmUgYSBtZWdmZWxlbPUgc3r2dmVnZXQuCisKKyAgNC4gQW1pa29yIG1pbmRlbnQgYmXtcnQsIG55b21qb24gPEVTQz4tZXQsIGhvZ3kgTm9ybeFsIG3zZGJhIHZpc3N6YXTpcmplbi4KKyAgICAgSXNt6XRlbGplIGEgMiDpcyA0IGv2evZ0dGkgbOlw6XNla2V0LCBob2d5IGtpamF27XRzYSBhIG1vbmRhdG90LgorCistLS0+IEF6IOF0aGF08yBzb/NsIGhpemlrIHDhciDpc3ouCistLS0+IEF6IGl0dCBs4XRoYXTzIHNvcmLzbCBoaeFueXppayBw4XIgculzei4KKworICA1LiBIYSBt4XIgYmVneWFrb3JvbHRhIGEgYmVzevpy4XN0LCBtZW5qZW4gYXogYWzhYmJpIPZzc3plZm9nbGFs83JhLgorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgICAgMS4gTEVDS0Ug1lNTWkVGT0dMQUzTSkEKKworCisgIDEuIEEga3Vyem9ydCB2YWd5IGEgbnlpbGFra2FsIHZhZ3kgYSBoamtsIGdvbWJva2thbCBtb3pnYXRoYXRqYS4KKwkgaCAoYmFscmEpCWogKGxlKSAgICAgICBrIChmZWwpCSAgICBsIChqb2JicmEpCisKKyAgMi4gQSBWaW1iZSAoYSAkIHByb21wdHTzbCkg7Wd5IGzpcGhldCBiZTogIHZpbSBGSUxFTkFNRSA8RU5URVI+CisKKyAgMy4gQSBWaW1i9Wwg7Wd5IGzpcGhldCBraTogIDxFU0M+ICAgOnEhICA8RU5URVI+ICBhIHbhbHRvenRhdOFzb2sgZWxkb2Lhc+F2YWwuCisJICAgICB2YWd5IO1neToJICAgICAgPEVTQz4gICA6d3EgIDxFTlRFUj4gIGEgduFsdG964XNvayBtZW506XPpdmVsLgorCisgIDQuIEEga3Vyem9yIGFsYXR0aSBrYXJha3RlciB09nJs6XNlIG5vcm3hbCBt82RiYW46ICB4CisKKyAgNS4gU3r2dmVnIGJlc3r6cuFzYSBhIGt1cnpvciB1dOFuIG5vcm3hbCBt82RiYW46CisJIGkgICAgIGfpcGVsamUgYmUgYSBzevZ2ZWdldAk8RVNDPgorCitNRUdKOiBBeiA8RVNDPiBtZWdueW9t4XNhIG5vcm3hbCBt82RiYSB2aXN6aSwgdmFneSBtZWdzemFr7XQgZWd5IG5lbSBiZWZlamV6ZXR0CisgICAgICBy6XN6YmVuIGJlZmVqZXpldHQgcGFyYW5jc290LgorCitNb3N0IGZvbHl0YXNzdWsgYSAyLiBsZWNr6XZlbCEKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCTIuMS4gIGxlY2tlOiBU1lJM1SBVVEFTzVTBU09LCisKKworCSAgICAqKiBkdyAgdPZy9mwgYSBzevMgduln6WlnLiAqKgorCisgIDEuIE55b21qb24gPEVTQz4tZXQsIGhvZ3kgbWVnYml6b255b3NvZGpvbiwgaG9neSBub3Jt4WwgbfNkYmFuIHZhbiEKKworICAyLiBNb3pnYXNzYSBhIGt1cnpvcnQgYSAtLS0+IGtlemRldPsgc29ycmEhCisKKyAgMy4gTW96Z2Fzc2EgYSBrdXJ6b3J0IGFycmEgYW5uYWsgYSBzevNuYWsgYXogZWxlaulyZSwgYW1pdCB09nL2bG5pIHN6ZXJldG5lLgorICAgICBU9nL2bGplIGF6IOFsbGF0b2thdCBhIG1vbmRhdGLzbC4KKworICA0LiBBIHN68yB09nJs6XPpaGV6IO1yamE6ICAgZHcKKworICBNRUdKOiBIYSByb3NzenVsIGtlemR0ZSBheiB1dGFz7XThc3QgY3NhayBueW9tam9uIDxFU0M+IGdvbWJvdAorICAgICAgICBhIG1lZ3N6YWvtdOFz4Whvei4KKworLS0tPiBQ4XIgc3rzIGt1dHlhIG5lbSB1aHUgaWxsaWsgcGluZ3ZpbiBhIG1vbmRhdGJhIHRlaOluLgorCisgIDUuIElzbel0ZWxqZSBhIDMg6XMgNCBr9nr2dHRpIHV0YXPtdOFzb2thdCBhbe1nIGtlbGwg6XMgdWdvcmpvbiBhIDIuMiBsZWNr6XJlIQorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgMi4yLiAgbGVja2U6IE3JRyBU1kJCIFTWUkzVIFVUQVPNVMFTCisKKworCSAgICoqIGQkIGJl7XLhc+F2YWwgYSBzb3Igduln6WlnIHT2cvZsaGV0LiAqKgorCisgIDEuIE55b21qb24gPEVTQz4tZXQsIGhvZ3kgbWVnYml6b255b3NvZGpvbiwgaG9neSBub3Jt4WwgbfNkYmFuIHZhbiEKKworICAyLiBNb3pnYXNzYSBhIGt1cnpvcnQgYSAtLS0+IGtlemRldPsgc29ycmEhCisKKyAgMy4gTW96Z2Fzc2EgYSBrdXJ6b3J0IGEgaGVseWVzIHNvciB26WfpcmUgKGF6IGVsc/UgLiBVVMFOKSEKKworICA0LiBkJCAgYmVn6XBlbOlz6XZlbHT2cvZsamUgYSBzb3Igduln6XQhCisKKy0tLT4gVmFsYWtpIGEgc29yIHbpZ+l0IGvpdHN6ZXIgZ+lwZWx0ZSBiZS4ga+l0c3plciBn6XBlbHRlIGJlLgorCisKKyAgNS4gTWVuamVuIGEgMi4zLiBsZWNr6XJlLCBob2d5IG1lZ+lydHNlIG1pIHT2cnTpbnQhCisKKworCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgMi4zLiAgbGVja2U6IFVUQVPNVMFTT0tS00wgyVMgT0JKRUtUVU1PS1LTTAorCisKKyAgQSAgZCAgKGRlbGV0ZT109nJs6XMpIHV0YXPtdOFzIGZvcm3hamEgYSBr9nZldGtlevU6CisKKwkgW3N64W1dICAgZAlvYmpla3R1bQkgICBWQUdZCSAgICAgZAkgW3N64W1dIG9iamVrdHVtCisgIEFob2w6CisgICAgc3rhbSAtIGjhbnlzem9yIGhhanTzZGpvbiB26WdyZSBhIHBhcmFuY3MgKGVsaGFneWhhdPMsIGFsYXDpcnTpaz0xKS4KKyAgICBkIC0gYSB09nJs6XMgKGRlbGV0ZSkgdXRhc+104XMuCisgICAgb2JqZWt0dW0gLSBhbWluIGEgcGFyYW5jc25hayB0ZWxqZXP8bG5pZSBrZWxsIChhbOFiYiBsaXN04Xp2YSkuCisKKyAgT2JqZWt0dW1vayBy9nZpZCBsaXN04WphOgorICAgIHcgLSBhIGt1cnpvcnTzbCBhIHN68yB26WfpaWcsIGJlbGXpcnR2ZSBhIHN682v2enQuCisgICAgZSAtIGEga3Vyem9ydPNsIGEgc3rzIHbpZ+lpZywgTkVNIGJlbGXpcnR2ZSBhIHN682v2enQuCisgICAgJCAtIGEga3Vyem9ydPNsIGEgc29yIHbpZ+lpZy4KKworTUVHSjogIFbhbGxhbGtvevNiYmFrIGtlZHbp6XJ0LCBjc3Vw4W4gYXogb2JqZWt0dW0gYmVn6XBlbOlz6XZlbCBwYXJhbmNzIG7pbGv8bAorICAgICAgIGEga3Vyem9yIG9kYSBrZXL8bCwgYW1pdCBheiBvYmpla3R1bWxpc3RhIG1lZ2FkLgorCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJMi40LiAgbGVja2U6IEVHWSBLSVbJVEVMIEEgICdQQVJBTkNTT0JKRUtUVU0nIEFM00wKKworCisJICAgICAgICoqIGRkIGJl7XLhc+F2YWwgdPZy9mxoZXRpIGF6IGVn6XN6IHNvcnQuICoqCisKKyAgQSB0ZWxqZXMgc29yIHT2cmzpc+luZWsgZ3lha29yaXPhZ2EgbWlhdHQgYSBWaSB0ZXJ2ZXr1aSBlbGhhdOFyb3p04WssCisgIGhvZ3kga/ZubnllYmIgbGVubmUgY3N1cOFuIGEgZC10IGvpdHN6ZXIgbWVnbnlvbW5pLCBob2d5IGVneSBzb3J0IHT2cvZsavxuay4KKworICAxLiBNb3pnYXNzYSBhIGt1cnpvcnQgYXogYWzhYmJpIGtpZmVqZXrpc2VrIG3hc29kaWsgc29y4XJhIQorICAyLiBkZCBiZWfpcGVs6XPpdmVsIHT2cvZsamUgYSBzb3J0IQorICAzLiBNZW5qZW4gYSA0LiAoZXJlZGV0aWxlZyA1Likgc29ycmEhCisgIDQuIDJkZCAgICh1Z3llYuFyIHN64W0tdXRhc+104XMtb2JqZWt0dW0pIGJlZ+lwZWzpc+l2ZWwgdPZy9mxq9m4ga+l0IHNvcnQhCisKKyAgICAgIDEpICBBbHbzIHN6ZWdlayBhIGrpZ2hpZGVnIGhvbW9rYmFuLAorICAgICAgMikgIC0ga2V6ZGkgYSBr9mx09SAtCisgICAgICAzKSAgUGxha+F0bWFn4W55YmFuIOF68yDpamplbGVrLgorICAgICAgNCkgIFBpbmd2aW5layBuZSBm6WxqZXRlaywKKyAgICAgIDUpICBU4XZvbHLzbCBlZ3kgdmFrdSB2aWxsYW50LAorICAgICAgNikgIMlndmUgaGFneXRhZCBhIGZvbHlvc/NuIGEgdmlsbGFueXQuCisgICAgICA3KSAgTWEgb250auFrIHbpcmVtZXQuCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgMi41LiAgbGVja2U6IEEgVklTU1pBVk9OwVMgKFVORE8pIFBBUkFOQ1MKKworCisqKiB1IGfpcGVs6XPpdmVsIHZpc3N6YXZvbmhhdPMgYXogdXRvbHPzIHBhcmFuY3MsIFUgYXogZWfpc3ogc29ydCBoZWx5cmXhbGztdGphLiAqKgorCisgIDEuIE1lbmr8bmsgYXogYWzhYmJpIC0tLT4ga2V6ZGV0+yBzb3IgZWxz9SBoaWLhauFyYSEKKyAgMi4geCAgbGVueW9t4XPhdmFsIHT2cvZsamUgYXogZWxz9SBmZWxlc2xlZ2VzIGthcmFrdGVydCEKKyAgMy4gdSBtZWdueW9t4XPhdmFsIHZvbmphIHZpc3N6YSBheiB1dG9sc/NuYWsgdulncmVoYWp0b3R0IHV0YXPtdOFzdCEKKyAgNC4gTeFzb2Rq4XJhIGphdu10c29uIGtpIG1pbmRlbiBoaWLhdCBhIHNvcmJlbiBheiB4IHV0YXPtdOFzc2FsIQorICA1LiBNb3N0IG5hZ3kgIFUgIC12YWwg4Wxs7XRzYSB2aXNzemEgYSBzb3IgZXJlZGV0aSDhbGxhcG904XQhCisgIDYuIE55b21qYSBtZWcgYXogdSBnb21ib3QgcOFyc3pvciwgaG9neSBheiBVIOlzIHN6IGVs9Xr1IHV0YXPtdOFzb2thdAorICAgICB2aXNzemHhbGztdHNhIQorICA3LiBDVFJMLVIgKENUUkwgZ29tYiBsZW55b23hc2EgbWVsbGV0dCD8c3P2biBSLXQpIHDhcnN6b3IgY3NpbuFsamEg+mpyYSBhCisgICAgIHZpc3N6YXZvbnQgcGFyYW5jc29rYXQgKHJlZG8pIQorCistLS0+IEphdu3tdHNkIGEgaGhpYuFrYWF0IGViYmJlbiBhIHNvb29yYmFuIG1hamQg4Wxs7XRzYSB2aXNzemFhYSBheiBlcmVkZXRpdC4KKworICA4LiBFemVrIG5hZ3lvbiBoYXN6bm9zIHBhcmFuY3Nvay4gTW9zdCB1Z2Fyam9uIGEgMi4gbGVja2Ug9nNzemVmb2dsYWzzauFyYS4KKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgICAgIDIuIExFQ0tFINZTU1pFRk9HTEFM00pBCisKKworICAxLiBU9nJs6XMgYSBrdXJ6b3J082wgYSBzevMgduln6WlnOiAgICBkdworCisgIDIuIFT2cmzpcyBhIGt1cnpvcnTzbCBhIHN68yB26WfpaWc6ICAgIGQkCisKKyAgMy4gRWfpc3ogc29yIHT2cmzpc2U6ICAgIGRkCisKKyAgNC4gRWd5IHV0YXPtdOFzIGFsYWtqYSBub3Jt4WwgbfNkYmFuOgorCisgICAgICAgW3N64W1dICAgdXRhc+104XMgICBvYmpla3R1bSAgIFZBR1kgICB1dGFz7XThcwlbc3rhbV0gb2JqZWt0dW0KKyAgICAgYWhvbDoKKyAgICAgICBzeuFtIC0gaOFueXN6b3IgaXNt6XRlbGr8ayBhIHBhcmFuY3NvdAorICAgICAgIHV0YXPtdOFzIC0gbWl0IHRlZ3n8bmssIHBsLiBkICBhIHT2cmzpc2tvcgorICAgICAgIG9iamVrdHVtIC0gbWlyZSBoYXNzb24gYXogdXRhc+104XMsIHDpbGThdWwgdyAoc3rzPXdvcmQpLAorCQkkIChhIHNvciB26WfpaWcpLCBzdGIuCisKKyAgNS4gQXogZWz1evUgdGV0dCB2aXNzemF2b27hc2EgKHVuZG8pOgkgICAgIHUJIChraXMgdSkKKyAgICAgQSBzb3Ig9nNzemVzIHbhbHRveuFz4W5hayB2aXNzemF2b27hc2E6IFUJIChuYWd5IFUpCisgICAgIFZpc3N6YXZvbuFzb2sgdmlzc3phdm9u4XNhOgkgICAgIENUUkwtUgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAzLjEuICBsZWNrZTogQSBQVVQgUEFSQU5DUworCisKKyAgKiogcCAgbGX8dOlz6XZlbCBheiB1dG9sc/NuYWsgdPZy9mx0ZXQgYSBrdXJ6b3IgdXThbiBpbGxlc3poZXRq/GsuICoqCisKKyAgMS4gTW96Z2Fzc3VrIGEga3Vyem9ydCBheiBhbOFiYmkgc29yb2sgZWxz9SBzb3LhcmEuCisKKyAgMi4gZGQgbGX8dOlz6XZlbCB09nL2bGr8ayBhIHNvcnQg6XMgZWx06XJvbPNkaWsgYSBWaW0gcHVmZmVy6WJlbi4KKworICAzLiBNb3pnYXNzdWsgYSBrdXJ6b3J0IEFG1kzJIGEgc29yIGb2bOksIGFob3bhIG1vemdhdG5pIHN6ZXJldG7pbmsgYQorICAgICB09nL2bHQgc29ydC4KKworICA0LiBOb3Jt4WwgbfNkYmFuIO1yanVuayAgcCAgIGJldPt0IGEgdPZy9mx0IHNvciBiZWlsbGVzenTpc+loZXouCisKKyAgNS4gRm9seXRhc3N1ayBhIDItNC4gdXRhc+104XNva2thbCBob2d5IGEgaGVseWVzIHNvcnJlbmRldCBrYXBqdWsuCisKKyAgICAgZCkgQ2FuIHlvdSBsZWFybiB0b28/CisgICAgIGIpIFZpb2xldHMgYXJlIGJsdWUsCisgICAgIGMpIEludGVsbGlnZW5jZSBpcyBsZWFybmVkLAorICAgICBhKSBSb3NlcyBhcmUgcmVkLAorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgICAzLjIuICBsZWNrZTogQSBSRVBMQUNFIFBBUkFOQ1MKKworCisqKiByICDpcyAgYSBrYXJha3RlcmVrIGxl/HTpc+l2ZWwgYSBrdXJ6b3IgYWxhdHRpIGthcmFrdGVydCBtZWd24Wx0b3p0YXRqdWsuICoqCisKKyAgMS4gTW96Z2Fzc3VrIGEga3Vyem9ydCBheiBlbHP1IC0tLT4ga2V6ZGV0+yBzb3JyYSEKKworICAyLiBNb3pnYXNzdWsgYSBrdXJ6b3J0IGF6IGVsc/UgaGliYSBm9mzpIQorCisgIDMuIHIJbWFqZCBhIGvtduFudCBrYXJha3RlciBsZfx06XPpdmVsIHbhbHRvenRhc3N1ayBtZWcgYSBoaWLhc2F0IQorCisgIDQuIEEgMi4g6XMgMy4gbOlw6XNla2tlbCBqYXbtdHN1ayBheiD2c3N6ZXMgaGli4XQhCisKKy0tLT4gIFdoYW4gdGhpcyBsaW1lIHdhcyB0dW9lZCBpbiwgc29tZW9uZSBwcmVzc3dkIHNvbWUgd3Jvamcga2V5cyEKKy0tLT4gIFdoZW4gdGhpcyBsaW5lIHdhcyB0eXBlZCBpbiwgc29tZW9uZSBwcmVzc2VkIHNvbWUgd3Jvbmcga2V5cyEKKworICA1LiBNZW5q/G5rIGEgMy4yLiBsZWNr6XJlIQorCitNRUdKOiBFbWzpa2V6emVuLCBob2d5IG5lbSBtZW1vcml64Wzhc3NhbCwgaGFuZW0gZ3lha29ybOFzc2FsIHRhbnVsam9uLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJMy4zLiAgbGVja2U6IEEgQ0hBTkdFIFBBUkFOQ1MKKworCisJICAgKiogQSBzevMgZWd5IHLpc3rpbmVrIG1lZ3bhbHRvenRhdOFz4WhveiDtcmp1azogIGN3IC4gKioKKworICAxLiBNb3pnYXNzdWsgYSBrdXJ6b3J0IGF6IGVsc/UgLS0tPiBrZXpkZXT7IHNvcnJhIQorCisgIDIuIFZpZ3llIGEga3Vyem9ydCBhIEV6ZW4gc3rzIHogYmV0+2plIGb2bOkhCisKKyAgMy4gY3cg6XMgYSBoZWx5ZXMgc3rzculzeiAoaXR0ICdiYmVuJykgYmXtcuFz4XZhbCBqYXbtdHNhIGEgc3rzdCEKKworICA0LiA8RVNDPiBsZW55b23hc2EgdXThbiBhIGv2dmV0a2V69SBoaWLhcmEgdWdvcmpvbiAoYXogZWxz9SBjc2Vy6WxlbmT1CisgICAgIGthcmFrdGVycmUpIQorCisgIDUuIEEgMy4g6XMgNC4gbOlw6XNlayBpc23pdGzpc+l2ZWwgYXogZWxz9SBtb25kYXRvdCB0ZWd5ZSBhIG3hc29kaWtrYWwKKyAgICAgYXpvbm9zc+EhCisKKy0tLT4gRXplbiBhIHNvcnJycnIgcOFyIHN683JhIG1lZyBrZWxsIHbhbHRvenphbmFrIGEgY2hhbmdlIHV0YXNr7XLpc/UuCistLS0+IEViYmVuIGEgc29yYmFuIHDhciBzevN0IG1lZyBrZWxsIHbhbHRvenRhdG5pIGEgY2hhbmdlIHV0YXPtdOFzc2FsLgorCitWZWd5/Gsg6XN6cmUsIGhvZ3kgYSAgY3cgIG5lbSBjc2FrIGEgc3rzdCDtcmphIOF0LCBoYW5lbSBiZXN6+nLzCisoaW5zZXJ0KSBt82RiYSB24Wx0LgorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgICAzLjQuICBsZWNrZTogVNZCQkbJTEUgVsFMVE9aVEFUwVMgYy1WRUwKKworCisgKiogQSBjIHV0YXPtdOFzIGhhc3pu4WxoYXTzIHVneWFuYXpva2thbCBheiBvYmpla3R1bW9ra2FsIG1pbnQgYSB09nJs6XMgKioKKworICAxLiBBIGNoYW5nZSB1dGFz7XThcyBhIHT2cmzpc3NlbCBhem9ub3NhbiB2aXNlbGtlZGlrLiAgQSBmb3JtYToKKworICAgICAgIFtzeuFtXSAgIGMgICBvYmpla3R1bQkgICBPUgkgICAgYwlbc3rhbV0gICBvYmpla3R1bQorCisgIDIuIEF6IG9iamVrdHVtb2sgaXMgYXpvbm9zYWssIHBsLiAgIHcgKHN68yksICQgKHNvcnbpZyksIHN0Yi4KKworICAzLiBNb3pnYXNzdWsgYSBrdXJ6b3J0IGF6IGVsc/UgLS0tPiBrZXpkZXT7IHNvcnJhIQorCisgIDQuIE1lbmr8bmsgYXogZWxz9SBoaWLhcmEhCisKKyAgNS4gYyQgYmVn6XBlbOlz6XZlbCBhIHNvcnbpZ2VrZXQgdGVnefxrIGF6b25vc3PhIOlzIG55b21qdW5rIDxFU0M+LWV0IQorCistLS0+IEVubmVrIGEgc29ybmFrIGEgdulnZSBraWlnYXrtdOFzcmEgc3pvcnVsLCBob2d5IG1lZ2VneWV6emVuIGEgbeFzb2Rpa2thbC4KKy0tLT4gRW5uZWsgYSBzb3JuYWsgYSB26WdlIGEgYyQgcGFyYW5jY3NhbCB24Wx0b3p0YXRoYXTzIG1lZy4KKworCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkJICAgICAgIDMuIExFQ0tFINZTU1pFRk9HTEFM00pBCisKKworICAxLiBBIG3hciB09nL2bHQgc29ydCBiZWlsbGVzenTpc+loZXogbnlvbWp1bmsgcC10LiBFeiBhIHT2cvZsdCBzevZ2ZWdldAorICAgICBhIGt1cnpvciBVVMFOIGhlbHllemkgKGhhIHNvciBrZXL8bHQgdPZybOlzcmUsIGEga3Vyem9yIGFsbGF0dGkgc29yYmEpLgorCisgIDIuIEEga3Vyem9yIGFsYXR0aSBrYXJha3RlciDhdO1y4XPhaG96IGF6IHItZXQg6XMgYXp0IGEga2FyYWt0ZXJ0CisgICAgIG55b21qdWssIGFtZWxseWVsIGF6IGVyZWRldGl0IGZlbPxsIHN6ZXJldG7pbmsg7XJuaS4KKworICAzLiBBIHbhbHRvenRhdOFzIChjKSB1dGFz7XThcyBhIGthcmFrdGVydPVsIGF6IG9iamVrdHVtIHbpZ+lpZworICAgICB24Wx0b3p0YXRqYSBtZWcgYXogb2JqZWt0dW1vdC4gUOlsZOF1bCBhIGN3IGEga3Vyem9ydPNsIGEgc3rzIHbpZ+lpZywKKyAgICAgYSBjJCBhIHNvciB26WfpaWcuCisKKyAgNC4gQSB24Wx0b3p0YXThcyBmb3Jt4XR1bWE6CisKKwkgW3N64W1dICAgYwlvYmpla3R1bQlWQUdZCWMgICBbc3rhbV0gICBvYmpla3R1bQorCitVZ29yanVuayBhIGv2dmV0a2V69SBsZWNr6XJlIQorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgNC4xLiAgbGVja2U6IEhFTFkgyVMgRsFKTMFMTEFQT1QKKworCisgKiogQ1RSTC1nIG1lZ255b23hc+F2YWwgbWVnbul6aGV0avxrIGEgaGVsefxua2V0IGEgZuFqbGJhbiDpcyBhIGbhamwg4WxsYXBvdOF0LgorICAgICBTSElGVC1HIGxl/HTpc+l2ZWwgYSBm4WpsIGFkb3R0IHNvcuFyYSB1Z29yaGF0dW5rLiAqKgorCisgIE1lZ2o6IE9sdmFzc3VrIGVsIGF6IGVn6XN6IGxlY2vpdCBhIGzpcOlzZWsgdulncmVoYWp04XNhIGVs9XR0ISEKKworICAxLiBUYXJ0c3VrIG55b212YSBhIEN0cmwgZ29tYm90IOlzIG55b21qdW5rICBnLXQuICBBeiDhbGxhcG90c29yCisgICAgIG1lZ2plbGVuaWsgYSBsYXAgYWxq4W4gYSBm4Wpsbul2dmVsIOlzIGF6IGFrdHXhbGlzIHNvciBzb3JzeuFt4XZhbC4KKyAgICAgSmVneWV6evxrIG1lZyBhIHNvcnN64W1vdCBhIDMuIGzpcOlzaGV6IQorCisgIDIuIE55b21qdW5rIFNoaWZ0LUctdCBhIGxhcCBhbGrhcmEgdWdy4XNob3ohCisKKyAgMy4g3HNz/GsgYmUgYXogZXJlZGV0aSBzb3Igc3rhbeF0LCBtYWpkIPxzc/xuayBzaGlmdC1HLXQhIEV6emVsCisgICAgIHZpc3N6YWp1dHVuayBheiBlcmVkZXRpIHNvcnJhIGFob2wgQ3RybC1nLXQgbnlvbXR1bmsuCisgICAgIChBIGJl7XJ0IHN64W0gTkVNIGZvZyBtZWdqZWxlbm5pIGEga+lwZXJuefVuLikKKworICA0LiBIYSBtZWdqZWd5ZXp0ZSBhIGZlbGFkYXRvdCwgaGFqdHNhIHbpZ3JlIGF6IDEtMy4gbOlw6XNla2V0IQorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQk0LjIuICBsZWNrZTogQSBTRUFSQ0ggUEFSQU5DUworCisKKyAgKiogLyBtYWpkIGEga+124W50IGtpZmVqZXrpcyBiZe1y4XPhdmFsIGtlcmVzaGV0avxrIG1lZyBhIGtpZmVqZXrpc3QuICoqCisKKyAgMS4gTm9ybeFsIG3zZGJhbiD8c3P8bmsgIC8gIGthcmFrdGVydCEgIEV6IOlzIGEga3Vyem9yIG1lZ2plbGVuaWsKKyAgICAgYSBr6XBlcm559SBhbGrhbiwgYWhvZ3kgYSA6IHV0YXPtdOFzIGlzLgorCisgIDIuIM1yanVrIGJlOiAnaGlpYmFhJyA8RU5URVI+ISAgRXogYXogYSBzevMgYW1pdCBrZXJlc/xuay4KKworICAzLiBBIGtpZmVqZXrpcyD6amFiYiBrZXJlc+lz6WhleiD8c3P8ayBsZSBlZ3lzemVy+2VuOiAgbiAuCisgICAgIEEga2lmZWpleulzIGVsbGVua2V69SBpcuFueWJhbiB09nJ06W71IGtlcmVz6XPpaGV6IGV6dCD8c3P8ayBiZTogU2hpZnQtTiAuCisKKyAgNC4gSGEgdmlzc3phZmVs6SBzemVyZXRuZSBrZXJlc25pLCBha2tvciA/IGtlbGwgYSAhIGhlbHlldHQuCisKKy0tLT4gImhpaWJhYSIgbmVtIGEgaGVseWVzIG3zZGphIGEgaGliYSBsZe1y4XPhbmFrOyBhIGhpaWJhYSBlZ3kgaGliYS4KKworTWVnajogSGEgYSBrZXJlc+lzIGVs6XJpIGEgZuFqbCB26WfpdCwgYWtrb3IgYXogZWxlauluIGtlemRpLgorCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCQkgICA0LjMuICBsZWNrZTogWsFS00pFTEVLIFDBUkrBTkFLIEtFUkVTyVNFCisKKworCSAgICoqICUgbGX8dOlz6XZlbCBtZWd0YWzhbGp1ayBhICksXSwgdmFneSB9ICBw4XJq4XQuICoqCisKKyAgMS4gSGVseWV6emUgYSBrdXJ6b3J0IHZhbGFtZWx5aWsgKCwgWywgdmFneSB7IHrhcvNqZWxyZSBhIC0tLT4ga2V6ZGV0+worICAgICBzb3JiYW4hCisKKyAgMi4g3HNz9m4gICUgIGthcmFrdGVydCEKKworICAzLiBBIGt1cnpvciBhIHrhcvNqZWwgcOFyauFyYSBmb2cgdWdyYW5pLgorCisgIDQuICUgbGX8dOlz6XZlbCB2aXNzemF1Z3JpayBheiBlcmVkZXRpIHrhcvNqZWxyZS4KKworLS0tPiBFeiAoIGVneSB0ZXN6dHNvciAoLWVra2VsLCBbLWVra2VsIF0g6XMgey1la2tlbCB9IGEgc29yYmFuLiApKQorCitNZWdqOiBFeiBuYWd5b24gaGFzem5vcywgaGEgb2x5YW4gcHJvZ3JhbW90IGRlYnVnb2x1bmssIGFtZWx5YmVuIGEKKyAgICAgIHrhcvNqZWxlayBuZW0gcOFyb3NhayEKKworCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgIDQuNC4gIGxlY2tlOiBBIEhJQsFLIEtJSkFWzVTBU8FOQUsgRUdZIE3TREpBCisKKworICAgICoqIDpzL/pqL3LpZ2kvZyBiZWfpcGVs6XPpdmVsIGF6ICf6aictcmEgY3NlculsavxrIGEgJ3LpZ2knLXQuICoqCisKKyAgMS4gTWVuavxuayBhIC0tLT4ga2V6ZGV0+yBzb3JyYSEKKworICAyLiDNcmp1ayBiZTogIDpzL2VnZ3kvZWd5IDxFTlRFUj4gLiAgRWtrb3IgY3NhayBheiBlbHP1IHbhbHRvemlrIG1lZyBhCisgICAgIHNvcmJhbi4KKworICAzLiBNb3N0IGV6dCDtcmp1azoJIDpzL2VnZ3kvZWdnL2cJICAgYW1lbHkgZ2xvYuFsaXNhbiBoZWx5ZXR0ZXPtdAorICAgICBhIHNvcmJhbi4KKyAgICAgRXogYSBzb3JiYW4gbWluZGVuIGVs9WZvcmR1bOFzdCBoZWx5ZXR0ZXPtdC4KKworLS0tPiBlZ2d5IGhlZ3kgbWVnZ3ksIHN6ZW1iZSBq9m4gZWdneSBt4XNpayBoZWdneS4KKworICA0LiBL6XQgc29yIGv2evZ0dCBhIGthcmFrdGVyc29yIG1pbmRlbiBlbPVmb3JkdWzhc+FuYWsgaGVseWV0dGVz7XTpc2U6CisgICAgIDojLCNzL3LpZ2kv+movZyAgICBhaG9sICMsIyBhIGvpdCBzb3Igc29yc3rhbWEuCisgICAgIDolcy9y6WdpL/pqL2cgICAgICBhIGbhamxiZWxpIPZzc3plcyBlbPVmb3JkdWzhcyBoZWx5ZXR0ZXPtdOlzZS4KKworCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgICAgNC4gTEVDS0Ug1lNTWkVGT0dMQUzTSkEKKworCisgIDEuIEN0cmwtZyAga2ntcmphIGF6IGt1cnpvciBoZWx56XQgYSBm4WpsYmFuIOlzIGEgZuFqbCDhbGxhcG904XQuCisgICAgIFNoaWZ0LUcgYSBm4WpsIHbpZ+lyZSBtZWd5LCBnZyBheiBlbGVq6XJlLiBFZ3kgc3rhbSB1dOFuCisgICAgIFNoaWZ0LUcgIGF6IGFkb3R0IHN64W36IHNvcnJhIHVncmlrLgorCisgIDIuIC8JdXThbiBlZ3kga2lmZWpleulzIEVM1VJFRkVMRSBrZXJlc2kgYSBraWZlamV66XN0LgorICAyLiA/CXV04W4gZWd5IGtpZmVqZXrpcyBWSVNTWkFGRUxFIGtlcmVzaSBhIGtpZmVqZXrpc3QuCisgICAgIEVneSBrZXJlc+lzIHV04W4gYXogIG4gIGEga/Z2ZXRrZXr1IGVs9WZvcmR1bOFzdCBrZXJlc2kgYXpvbm9zIGly4W55YmFuCisgICAgIFNoaWZ0LU4gIGF6IGVsbGVua2V69SBpcuFueWJhbiBrZXJlcy4KKworICAzLiAlCWJlZ+lwZWzpc+l2ZWwsIGhhICAoLCksWyxdLHssIHZhZ3kgfSBrYXJha3RlcmVuIHZhZ3l1bmsgYSB64XLzamVsCisgICAgIHDhcmrhcmEgdWdyaWsuCisKKyAgNC4gYXogZWxz9SBy6WdpIGhlbHlldHRlc+106XNlIPpqamFsIGEgc29yYmFuICAgIDpzL3LpZ2kv+moKKyAgICAgYXog9nNzemVzIHLpZ2kgaGVseWV0dGVz7XTpc2Ug+mpqYWwgYSBzb3JiYW4gIDpzL3LpZ2kv+movZworICAgICBr6XQgc29yIGv2evZ0dGkga2lmZWpleulzZWtyZQkJICAgOiMsI3MvculnaS/6ai9nCisgICAgICMgaGVseeluIGF6IGFrdHXhbGlzIHNvciAoLikg6XMgYXogdXRvbHPzICgkKSBpcyDhbGxoYXQgOi4sJC9y6WdpL/pqL2cKKyAgICAgQSBm4WpsYmVsaSD2c3N6ZXMgZWz1Zm9yZHVs4XMgaGVseWV0dGVz7XTpc2UgIDolcy9y6WdpL/pqL2cKKyAgICAgTWluZGVua29yaSBtZWdlcvVz7XTpc3JlIHbhciAnYycgaGF04XPhcmEJICAgOiVzL3LpZ2kv+movZ2MKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJNS4xLiAgbGVja2U6IEvcTFPVIFBBUkFOQ1MgVslHUkVIQUpUwVNBCisKKworICAgKiogOiEgIHV04W4ga/xsc/UgcGFyYW5jc290IO1ydmEgdulncmVoYWp082RpayBhIHBhcmFuY3MuICoqCisKKyAgMS4gzXJqdWsgYmUgYXogaXNtZXL1cyA6IHBhcmFuY3NvdCwgaG9neSBhIGt1cnpvcnQgYSAga+lwZXJuefUgYWxq4XJhCisgICAgIGhlbHllenr8ay4gRXogbGVoZXT1dukgdGVzemkgZWd5IHBhcmFuY3MgYmXtcuFz4XQuCisKKyAgMi4gISAoZmVsa2nhbHTzamVsKSBiZe1y4XPhdmFsIHRlZ3n8ayBsZWhldPV26SBr/Gxz9SBo6WogKHNoZWxsKS1wYXJhbmNzCisgICAgIHbpZ3JlaGFqdOFz4XQuCisKKyAgMy4gzXJqdW5rIHDpbGThdWwgbHMgcGFyYW5jc290IGEgISB1dOFuIG1hamQg/HNz/G5rIDxFTlRFUj4tdC4gIEV6IGtpCisgICAgIGZvZ2phIGxpc3Them5pIGEga/ZueXZ04XJ1bmthdCB1Z3lhbvpneSwgbWludGhhIGEgc2hlbGwgcHJvbXB0buFsCisgICAgIGxlbm7pbmsuICBWYWd5IO1yamEgZXp0ICA6IWRpciAgaGEgYXogbHMgbmVtIG37a/ZkaWsuCisKK01lZ2o6ICBJbHlt82RvbiBi4XJtZWx5IGv8bHP1IHV0YXPtdOFzIHbpZ3JlaGFqdGhhdPMuCisKK01lZ2o6ICBNaW5kZW4gIDogIHBhcmFuY3MgdXThbiA8RU5URVI+LXQga2VsbCD8dG5pLgorCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgNS4yLiAgbGVja2U6IELVVkVCQkVOIEEgRsFKTE9LIM1SwVPBUtNMCisKKworICAgICAqKiBBIGbhamxvayB24Wx0b3rhc2FpdCDtZ3kg7XJoYXRqdWsga2kgIDp3IEbBSkxOyVYuICoqCisKKyAgMS4gOiFkaXIgIHZhZ3kgIDohbHMgIGJl7XLhc+F2YWwgbGlzdOF6enVrIGEga/ZueXZ04XJ1bmthdCEKKyAgICAg1m4gbeFyIHR1ZGphLCBob2d5IDxFTlRFUj4tdCBrZWxsIPx0bmllIHV04W5hLgorCisgIDIuIFbhbGFzc3pvbiBlZ3kgZuFqbG5ldmV0LCBhbWVseSBt6WcgbmVtIGzpdGV6aWsgcGwuIFRFU1pUIQorCisgIDMuIM1yamE6CTp3IFRFU1pUICAgKGFob2wgVEVTWlQgYSB24Wxhc3p0b3R0IGbhamxu6XYpIQorCisgIDQuIEV6IGVsbWVudGkgYSB0ZWxqZXMgZuFqbHQgKGEgVmltIFR1dG9ydCkgVEVTWlQgbul2ZW4uCisgICAgIEVsbGVu9XJ66XNr6XBwIO1yanVrIGlzbel0ICAgIDohZGlyICAgaG9neSBs4XNzdWsgYSBr9m55dnThcmF0IQorICAgICAoRmVsZmVs6SBnb21iYmFsIDogdXThbiBheiBlbPV69SB1dGFz7XThc29rIHZpc3N6YWhvemhhdPNhay4pCisKK01lZ2o6IEhhINZuIGtpbOlwbmUgYSBWaW1i9Wwg6XMg6XMgdmlzc3phdOlybmUgYSBURVNaVCBm4Wpsbul2dmVsLCBha2tvciBhCisgICAgICBm4WpsIGEgdHV0b3IgbWVudOlza29yaSBwb250b3MgbeFzb2xhdGEgbGVubmUuCisKKyAgNS4gVOF2b2ztdHNhIGVsIGEgZuFqbHQgIChNUy1ET1MpOgk6IWRlbCBURVNaVAorCQkJdmFneSAoVW5peCk6CTohcm0gVEVTWlQKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgIDUuMy4gIGxlY2tlOiBFR1kgS0lWwUxBU1pUT1RUIFLJU1ogS0nNUsFTQQorCisKKwkqKiBBIGbhamwgZWd5IHLpc3rpbmVrIGtp7XLhc+Fob3og7XJqYSA6IywjIHcgRsFKTE7JViAqKgorCisgIDEuIDohZGlyICB2YWd5IDohbHMgIGJl7XLhc+F2YWwgbGlzdOF6emEgYSBr9m55dnThcmF0LCDpcyB24Wxhc3N6b24gZWd5CisgICAgIG1lZ2ZlbGVs9SBm4WpsbmV2ZXQsIHBsLiBURVNaVC4KKworICAyLiBNb3pnYXNzYSBhIGt1cnpvcnQgZW5uZWsgYXogb2xkYWxuYWsgYSB0ZXRlaulyZSwg6XMgbnlvbWpvbgorICAgICBDdHJsLWctdCwgaG9neSBtZWd0dWRqYSBhIHNvcnN64W1vdC4gIEpFR1lFWlpFIE1FRyBBIFNawU1PVCEKKworICAzLiBNb3N0IG1lbmplbiBhIGxhcCBhbGrhcmEsIOlzIPxzc2UgYmUgaXNt6XQ6IEN0cmwtZy4gIEVaVCBBIFNawU1PVAorICAgICBJUyBKRUdZRVpaRSBNRUchCisKKyAgNC4gSGEgY3NhayBlenQgYSBy6XN66XQgc3plcmV0bukgbWVudGVuaSBhIGbhamxuYWssIO1yamEgICA6IywjIHcgVEVTWlQKKyAgICAgYWhvbCAjLCMgYSBr6XQgc29yc3rhbSwgYW1pdCBtZWdqZWd5emV0dCwgVEVTWlQgYXog1m4gZuFqbG5ldmUuCisKKyAgNS4gSXNt6XQgbul6emUgbWVnLCBob2d5IGEgZuFqbCBvdHQgdmFuICg6IWRpcikgZGUgTkUgdPZy9mxqZS4KKworICA2LiBWaW1iZW4gbOl0ZXppayBlZ3kgbeFzaWsgbGVoZXT1c+lnOiBueW9tamEgbWVnIGEgU2hpZnQtViBnb21icOFydAorICAgICBheiBlbHP1IG1lbnRlbmkga+124W50IHNvcm9uLCBtYWpkIG1lbmplbiBsZSBheiB1dG9sc/NyYSwgZXp1dOFuCisgICAgIO1yamEgOncgVEVTWlQyICAgRWtrb3IgYSBURVNaVDIgZuFqbGJhIGtlcvxsIGEga2lqZWz2bHQgculzei4KKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgNS40LiAgbGVja2U6IFJFVFJJRVZJTkcgQU5EIE1FUkdJTkcgRklMRVMKKworCisgICAgICAgKiogRWd5IGbhamwgdGFydGFsbeFuYWsgYmVpbGxlc3p06XPpaGV6IO1yamEgICA6ciBGwUpMTslWICoqCisKKyAgMS4gOiFkaXIgYmXtcuFz4XZhbCBu6Xp6ZSBtZWcsIGhvZ3kgYXog1m4gVEVTWlQgZuFqbGphIGzpdGV6aWsgbelnLgorCisgIDIuIEhlbHllenplIGEga3Vyem9ydCBlbm5layBheiBvbGRhbG5hayBhIHRldGVq6XJlLgorCitNRUdKOiAgQSAzLiBs6XDpcyB1dOFuIGF6IDUuMy4gbGVja+l0IGZvZ2phIGzhdG5pLiBBenV04W4gTEVGRUzJIGluZHVsdmEKKyAgICAgICBrZXJlc3NlIG1lZyBpc23pdCBlenQgYSBsZWNr6XQuCisKKyAgMy4gTW9zdCBzevpyamEgYmUgYSBURVNaVCBuZXb7IGbhamx0IGEgICA6ciBURVNaVCAgIHBhcmFuY2NzYWwsIGFob2wKKyAgICAgVEVTWlQgYXog1m4gZuFqbGrpbmFrIGEgbmV2ZS4KKworTUVHSjogIEEgZuFqbCwgYW1pdCBiZWlsbGVzenRldHQgYSBrdXJ6b3JhIGFsYXR0IGhlbHllemtlZGlrIGVsLgorCisgIDQuIEhvZ3kgZWxsZW71cml6evxrLCBob2d5IGEgZuFqbHQgdOlueWxlZyBiZWlsbHN6dGV0dPxrLCBtZW5qZW4KKyAgICAgdmlzc3phLCDpcyBu6Xp6ZSBtZWcsIGhvZ3kga+l0c3plciBzemVyZXBlbCBheiA1LjMuIGxlY2tlISBBeiBlcmVkZXRpCisgICAgIG1lbGxldHQgYSBm4WpsYvNsIGJlbeFzb2x0IGlzIG90dCB2YW4uCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgICA1LiBMRUNLRSDWU1NaRUZPR0xBTNNKQQorCisKKyAgMS4gIDohcGFyYW5jcyB26WdyZWhhanQgZWd5IGv8bHP1IHV0YXPtdOFzdC4KKworICAgICAgUOFyIGhhc3pub3MgcOlsZGE6CisJIChNUy1ET1MpCSAgKFVuaXgpCisJICA6IWRpcgkJICAgOiFscwkJICAgLSAga/ZueXZ04XJsaXN0YSBrae1y4XNhLgorCSAgOiFkZWwgRsFKTE7JViAgICA6IXJtIEbBSkxOyVYgICAgLSAgRsFKTE7JViBuZXb7IGbhamwgdPZybOlzZS4KKworICAyLiAgOncgRsFKTE7JViAga2ntcmphIGEgamVsZW5sZWdpIFZpbS1m4WpsdCBhIGxlbWV6cmUgRsFKTslWIG7pdmVuLgorCisgIDMuICA6IywjdyBGwUpMTslWICBrae1yamEgYSBr6XQgc29yc3rhbSAoIykga/Z69nR0aSBzb3Jva2F0IEbBSkxOyVYtYmUKKyAgICAgIE3hc2lrIGxlaGV09XPpZywgaG9neSBhIGtlemT1c29ybuFsIEN0cmwtdi10IG55b20gbGVtZWd5IGF6IHV0b2xz8worICAgICAgc29ycmEsIG1hamQgZXp0IPx0aSBiZSAgOncgRsFKTE7JVgorCisgIDQuICA6ciBGwUpMTslWICBiZW9sdmFzc2EgYSBGwUpMTslWIGbhamx0IOlzIGJlaGVseWV6aSBhIGplbGVubGVnaSBm4WpsYmEKKyAgICAgIGEga3Vyem9ycG96aWNp8yB1dOFuaSBzb3JiYS4KKworCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgNi4xLiAgbGVja2U6IEEgT1BFTiBQQVJBTkNTCisKKworKiogbyAgYmXtcuFz4XZhbCBueWl0aGF0IGVneSD6aiBzb3J0IGEga3Vyem9yIGFsYXR0IOlzIHbhbHRoYXQgYmVzevpy8yBt82RiYSAqKgorCisgIDEuIE1vemdhc3N1ayBhIGt1cnpvcnQgYSAtLS0+IGtlemRldPsgc29ycmEuCisKKyAgMi4gbyAoa2ljc2kpICBiZe1y4XPhdmFsIG55aXNzb24gZWd5IHNvcnQgYSBrdXJ6b3IgQUxBVFQhIEVra29yCisgICAgIGF1dG9tYXRpa3VzYW4gYmVzevpy8yAoaW5zZXJ0KSBt82RiYSBrZXL8bC4KKworICAzLiBN4XNvbGphIGxlIGEgIC0tLT4gamVs+yBzb3J0IOlzIDxFU0M+IG1lZ255b23hc+F2YWwgbOlwamVuIGtpCisgICAgIGEgYmVzevpy8yBt82Ri82wuCisKKy0tLT4gQXogbyBsZW55b23hc2EgdXThbiBhIGt1cnpvciBhIGv2dmV0a2V69SBzb3IgZWxlauluIOFsbCBiZXN6+nLzIG3zZGJhbi4KKworICA0LiBBIGt1cnpvciBGRUxFVFRJIGZvciBtZWdueWl04XPhaG96IGVneXpzZXL7ZW4gYSBuYWd5IE8gYmV0+3Qg7XJqb24KK2tpY3NpIGhlbHlldHQuIFBy82LhbGphIGtpIGEga/Z2ZXRrZXr1IHNvcm9uIQorTnlpc3NvbiBlZ3kg+mogc29ydCBlZmVsZXR0IFNoaWZ0LU8gbWVnbnlvbeFz4XZhbCwgbWlhbGF0dCBhIGt1cnpvcgorZXplbiBhIHNvcm9uIOFsbC4KKworCisKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCTYuMi4gIGxlY2tlOiBBWiBBUFBFTkQgUEFSQU5DUworCisKKwkgKiogYSAgbGVueW9t4XPhdmFsIGEga3Vyb3IgVVTBTiBzevpyaGF0dW5rIHN69nZlZ2V0LiAqKgorCisgIDEuIE1vemdhc3N1ayBhIGt1cnpvcnQgYSBr9nZldGtlevUgLS0tPiBrZXpkZXT7IHNvciB26WfpcmUg+md5LAorICAgICBob2d5IG5vcm3hbCBt82RiYW4gICQgIO1yIGJlLgorCisgIDIuIGEgIChraWNzaSkgbGX8dOlz6XZlbCBzevZ2ZWdldCBzevpyaGF0IGJlIEFN9kfJIGEga2FyYWt0ZXIgbfZn6SwKKyAgICAgYW1lbHllbiBhIGt1cnpvciDhbGwuCisgICAgIChBIG5hZ3kgIEEgIGF6IGVn6XN6IHNvciB26WfpcmUg7XJqYSBhIHN69nZlZ2V0LikKKworTWVnajogQSBWaW1iZW4gYSBzb3IgbGVnduln6XJlIGlzIGxlaGV0IOFsbG5pLCBhem9uYmEgZXogZWz1ZGrpYmVuCisgICAgICBhIFZpLWJhbiBuZW0gbGVoZXRz6WdlcywgZXrpcnQgYWJiYW4gYXogYSBu6Wxr/GwgZWzpZyBr9nL8bG3pbnllcworICAgICAgYSBzb3Igduln6WhleiBzevZ2ZWdldCDtcm5pLgorCisgIDMuIEVn6XN67XRzZSBraSBheiBlbHP1IHNvcnQuIFZlZ3llIOlzenJlLCBob2d5IGF6IGEgdXRhc+104XMgKGFwcGVuZCkKKyAgICAgdGVsamVzZW4gZWd5ZXppayBheiBpLXZlbCAoaW5zZXJ0KSBjc3Vw4W4gYSBiZXN6+nJ0IHN69nZlZyBoZWx5ZQorICAgICBr/Gz2bmL2emlrLgorCistLS0+IEV6IGEgc29yIGxlaGV09XbpIHRlc3ppINZubmVrLCBob2d5IGd5YWtvcm9samEKKy0tLT4gRXogYSBzb3IgbGVoZXT1dukgdGVzemkg1m5uZWssIGhvZ3kgZ3lha29yb2xqYSBhIHNvciB26WfpcmUgYmVpbGxlc3p06XN0LgorCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICA2LjMuICBsZWNrZTogQVogwVTNUsFTIE3BU0lLIFbBTFRPWkFUQQorCisKKyAgICAgICoqIE5hZ3kgUiAgYmXtcuFz4XZhbCDtcmhhdCBmZWz8bCB09mJiIG1pbnQgZWd5IGthcmFrdGVydC4gKioKKworICAxLiBNb3pnYXNzdWsgYSBrdXJ6b3J0IGF6IGVsc/UgLS0tPiBrZXpkZXT7IHNvcnJhIQorCisgIDIuIFBsYWNlIHRoZSBjdXJzb3IgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlyc3Qgd29yZCB0aGF0IGlzIGRpZmZlcmVudAorICAgICBmcm9tIHRoZSBzZWNvbmQgbGluZSBtYXJrZWQgLS0tPiAodGhlIHdvcmQgJ2xhc3QnKS4KKworICAzLiBOb3cgdHlwZSAgUiAgYW5kIHJlcGxhY2UgdGhlIHJlbWFpbmRlciBvZiB0aGUgdGV4dCBvbiB0aGUgZmlyc3QgbGluZSBieQorICAgICB0eXBpbmcgb3ZlciB0aGUgb2xkIHRleHQgdG8gbWFrZSB0aGUgZmlyc3QgbGluZSB0aGUgc2FtZSBhcyB0aGUgc2Vjb25kLgorCistLS0+IFRvIG1ha2UgdGhlIGZpcnN0IGxpbmUgdGhlIHNhbWUgYXMgdGhlIGxhc3Qgb24gdGhpcyBwYWdlIHVzZSB0aGUga2V5cy4KKy0tLT4gVG8gbWFrZSB0aGUgZmlyc3QgbGluZSB0aGUgc2FtZSBhcyB0aGUgc2Vjb25kLCB0eXBlIFIgYW5kIHRoZSBuZXcgdGV4dC4KKworICA0LiBOb3RlIHRoYXQgd2hlbiB5b3UgcHJlc3MgPEVTQz4gdG8gZXhpdCwgYW55IHVuYWx0ZXJlZCB0ZXh0IHJlbWFpbnMuCisKKworCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCQkgICAgNi40LiAgbGVja2U6IEJFwUxMzVTBU09LCisKKyoqIMFsbO10c3VrIGJlLCBob2d5IGEga2VyZXPpcyDpcyBhIGhlbHlldHRlc+106XMgbmUgZvxnZ2r2biBraXMvTkFHWWJldPtrdPVsICoqCisKKyAgMS4gS2VyZXNz/GsgbWVnIGF6ICdpZ25vcmUnLXQgYXogYmXtcnZhOgorICAgICAvaWdub3JlCisgICAgIEV6dCBpc23pdGVsavxrIHT2YmJzevZyIGF6IG4gYmlsbGVudHn7dmVsCisKKyAgMi4gwWxs7XRzdWsgYmUgYXogJ2ljJyAoSWdub3JlIGNhc2UpIGxlaGV09XPpZ2V0IO1neToKKyAgICAgOnNldCBpYworCisgIDMuIE1vc3Qga2VyZXNz/G5rIGlzbel0IGF6ICdpZ25vcmUnLXJhIG4tbmVsCisgICAgIElzbel0ZWxq/GsgbWVnIHT2YmJzevZyIGEga2VyZXPpc3Q6IG4KKworICA0LiDBbGztdHN1ayBiZSBhICdobHNlYXJjaCcg6XMgJ2luY3NlYXJjaCcgbGVoZXT1c+lnZWtldDoKKyAgICAgOnNldCBobHMgaXMKKworICA1LiBNb3N0IGlzbel0IO1yanVrIGJlIGEga2VyZXP1cGFyYW5jc290LCDpcyBs4XNzdWsgbWkgdPZydOluaWs6CisgICAgIC9pZ25vcmUKKworICA2LiBBIGtpZW1lbOlzdCBzevxudGVzc/xrIG1lZyBhbOFiYmkgdXRhc+104XNvayBlZ3lpa+l2ZWw6CisgICAgIDpzZXQgbm9obHMgICAgIHZhZ3kJIDpub2hsc2VhcmNoCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJCSAgICAgICA2LiBMRUNLRSDWU1NaRUZPR0xBTNNKQQorCisKKyAgMS4gVHlwaW5nICBvCW9wZW5zIGEgbGluZSBCRUxPVyB0aGUgY3Vyc29yIGFuZCBwbGFjZXMgdGhlIGN1cnNvciBvbiB0aGUgb3BlbgorICAgICBsaW5lIGluIEluc2VydCBtb2RlLgorICAgICBUeXBpbmcgYSBjYXBpdGFsICBPICBvcGVucyB0aGUgbGluZSBBQk9WRSB0aGUgbGluZSB0aGUgY3Vyc29yIGlzIG9uLgorCisgIDIuIFR5cGUgYW4gIGEgIHRvIGluc2VydCB0ZXh0IEFGVEVSIHRoZSBjaGFyYWN0ZXIgdGhlIGN1cnNvciBpcyBvbi4KKyAgICAgVHlwaW5nIGEgY2FwaXRhbCAgQSAgYXV0b21hdGljYWxseSBhcHBlbmRzIHRleHQgdG8gdGhlIGVuZCBvZiB0aGUgbGluZS4KKworICAzLiBUeXBpbmcgYSBjYXBpdGFsICBSICBlbnRlcnMgUmVwbGFjZSBtb2RlIHVudGlsICA8RVNDPiAgaXMgcHJlc3NlZCB0byBleGl0LgorCisgIDQuIFR5cGluZyAiOnNldCB4eHgiIHNldHMgdGhlIG9wdGlvbiAieHh4IgorCisKKworCisKKworCisKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisJCSAgICAgICA3LiBsZWNrZTogT04tTElORSBIRUxQIFBBUkFOQ1NPSworCisKKwkJICAgICoqIEF6IG9ubGluZSBz+mfzcmVuZHN6ZXIgaGFzem7hbGF0YSAqKgorCisgIEEgVmltIHLpc3psZXRlcyBz+mfzdmFsIHJlbmRlbGtlemlrLiAgSW5kdWzhc2hveiBhIGv2dmV0a2V69WsgZWd5aWvpdAorICB0ZWd5ZToKKwktIG55b21qYSBtZWcgYSA8SEVMUD4gZ29tYm90IChoYSB2YW4gaWx5ZW4pCisJLSBueW9tamEgbWVnIGF6IDxGMT4gZ29tYm90IChoYSB2YW4gaWx5ZW4pCisJLSDtcmphIGJlOiAgIDpoZWxwIDxFTlRFUj4KKworICA6cSA8RU5URVI+ICAgYmXtcuFz4XZhbCB64XJoYXRqYSBiZSBhIHP6Z/NhYmxha290LgorCisgIE1hamRuZW0gbWluZGVuIHTpbWFr9nJy9WwgdGFs4WxoYXQgc/pn83QsIGFyZ3VtZW50dW0gbWVnYWThc+F2YWwKKyAgIjpoZWxwIiB1dGFz7XThcyAuICBQcvNi4WxqYSBheiBhbOFiYmlha2F0IGtpICg8RU5URVI+LXQgbmUgZmVsZWp0c/xrKToKKworCTpoZWxwIHcKKwk6aGVscCBjXzxUCisJOmhlbHAgaW5zZXJ0LWluZGV4CisJOmhlbHAgdXNlci1tYW51YWwKKworCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKwkJICAgICAgIDguIGxlY2tlOiBJTkTNVNNTWktSSVBUIM1SwVNBCisKKwkJICAgICAqKiBBIFZpbSBsZWhldPVz6WdlaW5layBiZeFsbO104XNhICoqCisKKyAgQSBWaW0gcmVuZ2V0ZWcgbGVoZXT1c+lnZ2VsIHJlbmRlbGtlemlrIGEgVmktaG96IGvpcGVzdCwgZGUgYSBsZWd09mJiCisgIGFsYXBi82wgZWzpcmhldGV0bGVuLiBBaGhveiwgaG9neSBhbGFwYvNsIHT2YmIgbGVoZXT1c+ln/G5rIGxlZ3llbiBr6XN67XRlbvxuaworICBrZWxsIGVneSAidmltcmMiIGbhamx0LgorCisgIDEuIEtlemRq/GsgZWwgc3plcmtlc3p0ZW5pIGEgInZpbXJjIiBm4WpsdCwgZW5uZWsgbfNkamE6CisJOmVkaXQgfi8udmltcmMJCQlVbml4b24sIExpbnV4b24KKwk6ZWRpdCAkVklNL192aW1yYwkJTVMtV2luZG93c29uCisKKyAgMi4gTW9zdCBzevpyanVrIGJlIGEgcOlsZGEgInZpbXJjIiBm4WpsIHN69nZlZ+l0OgorCisJOnJlYWQgJFZJTVJVTlRJTUUvdmltcmNfZXhhbXBsZS52aW0KKworICAzLiDNcmp1ayBraSBhIGbhamx0OgorCisJOndyaXRlCisKKyAgTGVna/Z6ZWxlYmIgYSBWaW0gc3ppbnRheGlza2llbWVs6XNzZWwgaW5kdWwuCisgIEhvenrhYWRoYXRqYSBrZWR2ZW5jIGJl4Wxs7XThc2FpdCBlaGhleiBhICJ2aW1yYyIgZuFqbGhvei4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisKKyAgSXR0IHbpZ3r1ZGlrIGEgVmltIG9rdGF08ywgbWVseW5layBhIHN64W5k6WthIGVneSBy9nZpZCDhdHRla2ludOlzIGEKKyAgVmltcvVsLCBhbWVseSBlbOlnIGFoaG96LCBob2d5IGVs6Wcga/ZubnllZOluIGtlemVsavxrIGEgc3plcmtlc3p09XQuCisgIFThdm9sIHZhbiBhIHRlbGplc3PpZ3T1bCwgbWl2ZWwgYSBWaW1uZWsgc3rhbXRhbGFuIHRvduFiYmkgdXRhc+104XNhCisgIHZhbi4gRXp1dOFuIGEgZmVsaGFzem7hbPNpIGvpemlr9m55dmV0IOlyZGVtZXMgZWxvbHZhc25pIGF6IGFuZ29sdWwKKyAgdHVk82tuYWs6ICI6aGVscCB1c2VyLW1hbnVhbCIuIChlZ3llbPVyZSBuZW0gdHVkIG1hZ3lhcnVsKQorCisgIFRvduFiYmkgbWFneWFyIG9sdmFzbml2YWzzayDpcmhldPVlayBlbCBheiBhbOFiYmkgb2xkYWxy82wuCisgIGh0dHA6Ly91YnVudHUuaHUvaW5kZXgucGhwP3RpdGxlPVZpbQorCisgIEZvciBmdXJ0aGVyIHJlYWRpbmcgYW5kIHN0dWR5aW5nLCB0aGlzIGJvb2sgaXMgcmVjb21tZW5kZWQ6CisJVmltIC0gVmkgSW1wcm92ZWQgLSBieSBTdGV2ZSBPdWFsbGluZQorCVB1Ymxpc2hlcjogTmV3IFJpZGVycworICBUaGUgZmlyc3QgYm9vayBjb21wbGV0ZWx5IGRlZGljYXRlZCB0byBWaW0uICBFc3BlY2lhbGx5IHVzZWZ1bCBmb3IgYmVnaW5uZXJzLgorICBUaGVyZSBhcmUgbWFueSBleGFtcGxlcyBhbmQgcGljdHVyZXMuCisgIFNlZSBodHRwOi8vaWNjZi1ob2xsYW5kLm9yZy9jbGljazUuaHRtbAorCisgIFRoaXMgYm9vayBpcyBvbGRlciBhbmQgbW9yZSBhYm91dCBWaSB0aGFuIFZpbSwgYnV0IGFsc28gcmVjb21tZW5kZWQ6CisJTGVhcm5pbmcgdGhlIFZpIEVkaXRvciAtIGJ5IExpbmRhIExhbWIKKwlQdWJsaXNoZXI6IE8nUmVpbGx5ICYgQXNzb2NpYXRlcyBJbmMuCisgIEl0IGlzIGEgZ29vZCBib29rIHRvIGdldCB0byBrbm93IGFsbW9zdCBhbnl0aGluZyB5b3Ugd2FudCB0byBkbyB3aXRoIFZpLgorICBUaGUgc2l4dGggZWRpdGlvbiBhbHNvIGluY2x1ZGVzIGluZm9ybWF0aW9uIG9uIFZpbS4KKworICBUaGlzIHR1dG9yaWFsIHdhcyB3cml0dGVuIGJ5IE1pY2hhZWwgQy4gUGllcmNlIGFuZCBSb2JlcnQgSy4gV2FyZSwKKyAgQ29sb3JhZG8gU2Nob29sIG9mIE1pbmVzIHVzaW5nIGlkZWFzIHN1cHBsaWVkIGJ5IENoYXJsZXMgU21pdGgsCisgIENvbG9yYWRvIFN0YXRlIFVuaXZlcnNpdHkuICBFLW1haWw6IGJ3YXJlQG1pbmVzLmNvbG9yYWRvLmVkdS4KKworICBNb2RpZmllZCBmb3IgVmltIGJ5IEJyYW0gTW9vbGVuYWFyLgo=