ZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvdHV0b3IuY3MgYi9ydW50aW1lL3R1dG9yL3R1dG9yLmNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhYWVmNjYKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3R1dG9yL3R1dG9yLmNzCkBAIC0wLDAgKzEsODEyIEBACis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cis9ICAgIFYg7SB0IGUgaiB0IGUgICB2ICB0IHUgdCBvIHIgaSBhIGwgdSAgIFYgSSBNICAgICAgIC0gICAgVmVyemUgMS41ICAgICAgICA9Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgICAgVmltIGplIHZlbG1pIHb9a29ubv0gZWRpdG9yLCBrdGVy/SBt4SBw+O1sabkgbW5vaG8gcPjta2F6+SBuYSB0bywgYWJ5CisgICAgIG1vaGx5IGL9dCB2uWVjaG55IHZ5c3bsdGxlbukgdmUgdv11Y2UgamFrbyB0YXRvLiBUYXRvIHb9dWthIG9ic2FodWplCisgICAgIGRvc3RhdGXobukgbW5vvnN0du0gcPjta2F6+SBuYSB0bywgYWJ5IGJ5bG8gbW++bukgcG91vu12YXQgVmltIGpha28KKyAgICAgdu1jZfroZWxvdv0gZWRpdG9yLgorCisgICAgIFD4aWJsab5u/SDoYXMgcG90+GVibv0ga2UgenZs4WRudXTtIHTpdG8gdv11a3kgamUgMjUtMzAgbWludXQsIHrhbGW+7QorICAgICBuYSB0b20sIGtvbGlrIOhhc3Ugc3Ry4XbtdGUgcPhlemt1uW924W7tbS4KKworICAgICBQ+O1rYXp5IHYgbGVrY+1jaCB1cHJhdnVq7SB0ZXh0LiBWeXR2b/gga29waWkgdG9ob3RvIHNvdWJvcnUgcHJvCisgICAgIHByb2N2aehvduFu7SAocPhpIHN0YXJ0dSAidmltdHV0b3IiIGplIGppviB0b3RvIGtvcGllKS4KKworICAgICBKZSBk+Wxlvml06SBwYW1hdG92YXQsIL5lIHRhdG8gdv11a2EgamUgdnl0dm/4ZW5hIHBybyB2/XVrdSBwb3W+7Xbhbu1tLgorICAgICBUbyB6bmFtZW7hLCC+ZSBqZSBwb3T4ZWJhIHNpIHD47Wthenkgdnl6a291uWV0IHBybyBqZWppY2ggc3By4XZu6QorICAgICBuYXXoZW7tLiBQb2t1ZCBzaSBqZW4g6HRluSB0ZXh0LCBw+O1rYXp5IHphcG9tZW5luSEKKworICAgICBOeW7tIHNlIHD4ZXN27GTodGUsIL5lIFNoaWZ0LUxvY2sgTkVOzSBzdGxh6GVu/SBhIG7sa29saWty4XQgc3Rpc2tu7HRlCisgICAgIGts4XZlc3UgIGogICBhYnkgc2Uga3Vyem9yIHBvc3VudWwgbmF0b2xpaywgvmUgbGVrY2UgMS4xIHphcGxu7SBjZWxvdQorICAgICBvYnJhem92a3UuCit+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+fn4KKwkJCUxla2NlIDEuMTogIFBPSFlCIEtVUlpPUlUKKworCisgICAqKiBQcm8gcG9oeWIga3Vyem9ydSBwb3W+7XZlaiBrbOF2ZXN5IGgsaixrLGwgamFrIGplIHpu4Xpvcm7sbm8gbu2+ZS4gKioKKwkgICAgIF4KKwkgICAgIGsJCSAgIEZ1bmtjZTogS2zhdmVzYSBoIGplIHZsZXZvIGEgdnlrb27hIHBvaHliIHZsZXZvLgorICAgICAgIDwgaAkgbCA+CQkgICBLbOF2ZXNhIGwgamUgdnByYXZvIGEgdnlrb27hIHBvaHliIHZwcmF2by4KKwkgICAgIGoJCQkgICBLbOF2ZXNhIGogdnlwYWThIG5hILlpcGt1IGRvbHUuCisJICAgICB2CisgIDEuIFBvaHlidWoga3Vyem9yZW0gcG8gb2JyYXpvdmNlIGRva3VkIHNpIG5hIHRvIG5lenZ5a25luS4KKworICAyLiBEcr4ga2zhdmVzdSBwcm8gcG9oeWIgZG9sdSAoaiksIGRva3VkIHNlIGplau0gZnVua2NlIG5lem9wYWt1amUuCistLS0+IFRl7yB27bkgamFrIHNlIHD4ZXN1bm91dCBuYSBu4XNsZWR1au1j7SBsZWtjaS4KKworICAzLiBQb3W+aXTtbSBrbOF2ZXN5IGRvbHUgcPhlamRpIG5hIGxla2NpIDEuMi4KKworUG96buFta2E6IFBva3VkIHNpIG7sa2R5IG5lanNpIGppc3Qgbuzo7W0sIGNvIGpzaSBuYXBzYWwsIHN0bGHoIDxFU0M+IHBybworICAgICAgICAgIHD4ZWNob2QgZG8gTm9ybeFsbu1obyBt82R1LiBQb3TpIHD4ZXBpuSBwb75hZG92YW79IHD47Wthei4KKworUG96buFta2E6IEt1cnpvcm926SBrbOF2ZXN5IHRha+kgZnVuZ3Vq7SwgYXa5YWsgcG91vu124W7tIGhqa2wgamUgcnljaGxlarntCisgICAgICAgICAgamFrbWlsZSBzaSBuYSBu7GogenZ5a25luS4KKworfn5+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+CisJCSAgICAgTGVrY2UgMS4yOiBTUFWpVMxOzSBBIFVLT07IRU7NIFZJTQorCisKKyAgISEgUE9aTsFNS0E6IFD4ZWQgdnlrb27hbu1tIHTsY2h0byBrcm9r+SBzaSBw+GXodGkgY2Vsb3UgbGVrY2khIQorCisgIDEuIFN0bGHoIDxFU0M+IChwcm8gdWppuXTsbu0sIL5lIHNlIG5hY2jheu25IHYgTm9ybeFsbu1tIG3zZHUpLgorCisgIDIuIE5hcGm5OgkJCTpxISA8RU5URVI+LgorCistLS0+IFTtbXRvIHVrb27o7bkgZWRpdG9yIEJFWiB1bG++ZW7tIHpt7G4sIGt0ZXLpIHNpIHZ5a29uYWwuCisgICAgIFBva3VkIGNoY2W5IHVsb75pdCB6bexueSBhIHVrb27oaXQgZWRpdG9yIG5hcGm5OgorCQkJCTp3cSAgPEVOVEVSPgorCisgIDMuIEG+IHNlIGRvc3RhbmW5IG5hIHD47Wthem92/SD44WRlaywgbmFwabkgcPjta2F6LCBrdGVy/W0gc2UgZG9zdGFuZbkgenDsdAorICAgICBkbyB06XRvIHb9dWt5LiBUbyBt+b5lIGL9dDogdmltdHV0b3IgPEVOVEVSPgorICAgICBC7L5u7CBzZSBwb3W+7XbhOgkJIHZpbSB0dXRvciA8RU5URVI+CisKKy0tLT4gJ3ZpbScgem5hbWVu4SBzcHW5dOxu7SBlZGl0b3J1LCAndHV0b3InIGplIHNvdWJvciBrIGVkaXRhY2kuCisKKyAgNC4gUG9rdWQgc2kgdHl0byBrcm9reSBzcG9sZWhsaXbsIHBhbWF0dWpluSwgdnlrb25laiBrcm9reSAxIGG+IDMsIOjtbb4KKyAgICAgdWtvbujtuSBhIHpub3Z1IHNwdXN07bkgZWRpdG9yLiBQb3RvbSBw+GVzdfIga3Vyem9yIGRvbHUgbmEgbGVrY2kgMS4zLgorICAgICAKK35+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+fgorCQkgICAgIExla2NlIDEuMzog2lBSQVZBIFRFWFRVIC0gTUFawU7NCisKKworICAqKiBTdGlza251dO1tIGts4XZlc3kgIHggIHYgTm9ybeFsbu1tIG3zZHUgc21hvmW5IHpuYWsgbmEgbe1zdOwga3Vyem9ydS4gKioKKworICAxLiBQ+GVzdfIga3Vyem9yIG7tvmUgbmEg+OFkZWsgb3puYehlbv0gLS0tPi4KKworICAyLiBLIG9kc3RyYW7sbu0gY2h5YiBw+GVqZGkga3Vyem9yZW0gbmEgem5haywga3Rlcv0gY2hjZbkgc21hemF0LgorCisgIDMuIFN0bGHoIGts4XZlc3UgIHggIGsgb2RzdHJhbuxu7SBuZWNodOxu/WNoIHpuYWv5LgorCisgIDQuIE9wYWt1aiBrcm9reSAyIGG+IDQgZG9rdWQgbmVu7SB27HRhIHNwcuF2buwuCisKKy0tLT4gS3Lh4XZhIHNrb+joaWxsYSBw+GVzcyBt7HNz7WMuCisKKyAgNS4gUG9rdWQgamUgdux0YSBzcHLhdm7sLCBw+GVqZGkgbmEgbGVrY2kgMS40LgorCitQT1pOwU1LQTogTmVzbmG+IHNlIHBvdXplIHphcGFtYXRvdmF0IHD4ZWR24WTsbukgcPjta2F6eSwgdeggc2UgamUgcG91vu124W7tbS4KKworCisKKworfn5+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+CisJCSAgICAgTGVrY2UgMS40OiDaUFJBVkEgVEVYVFUgLSBWS0zBRMFOzQorCisKKyAgICAgICoqIFN0bGHoZW7tIGts4XZlc3kgIGkgIHYgTm9ybeFsbu1tIG3zZHUgdW1vvvJ1amUgdmts4WThbu0gdGV4dHUuICoqCisKKyAgMS4gUPhlc3XyIGt1cnpvciBuYSBwcnZu7SD44WRlayBvem5h6GVu/SAtLS0+LgorCisgIDIuIFBybyB1cHJhdmVu7SBwcnZu7WhvIPjhZGt1IGRvIHBvZG9ieSD44WRrdSBkcnVo6WhvLCBw+GVzdfIga3Vyem9yIG5hCisgICAgIHBydm7tIHpuYWsgemEgbe1zdG8sIGtkZSBt4SBi/XQgdGV4dCB2bG++ZW79LgorCisgIDMuIFN0bGHoICBpICBhIG5hcGm5IHBvdPhlYm79IGRvZGF0ZWsuCisKKyAgNC4gUG8gb3ByYXZlbu0ga2G+ZOkgY2h5Ynkgc3RsYeggPEVTQz4gcHJvIG7hdnJhdCBkbyBOb3Jt4Wxu7WhvIG3zZHUuCisgICAgIE9wYWt1aiBrcm9reSAyIGG+IDQgZG9rdWQgbmVu7SB27HRhIHNwcuF2buwuCisKKy0tLT4gTuxqYWv9IHR4dCBuYSB06XRvIC4KKy0tLT4gTuxqYWv9IHRleHQgY2h5Yu0gbmEgdOl0byD44WRjZS4KKworICA1LiBQb2t1ZCBqab4gb3Zs4WThuSB2a2zhZOFu7SB0ZXh0dSwgcPhlamRpIG5hIG7hc2xlZHVq7WPtIHNocm51dO0uCisKKworCit+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+fn4KKwkJCSAgICAgICBTSFJOVVTNIExFS0NFIDEKKworCisgIDEuIEt1cnpvcmVtIHNlIHBvaHlidWplIHBvbW9j7SC5aXBlayBuZWJvIGts4XZlc2FtaSBoamtsLgorCWggKHZsZXZvKQlqIChkb2x1KQlrIChuYWhvcnUpCWwgKHZwcmF2bykKKworICAyLiBQcm8gc3B1uXTsbu0gVmltdSAoeiBw+O1rYXpvdulobyD44WRrdSkgbmFwabk6IHZpbSBTT1VCT1IgPEVOVEVSPgorCisgIDMuIFBybyB1a29u6GVu7SBWaW11IG5hcGm5OiA8RVNDPiAgOnEhICA8RU5URVI+ICBiZXogdWxvvmVu7SB6bexuLgorCSAgICAgCSAgICAgICBhbmVibzogPEVTQz4gIDp3cSAgPEVOVEVSPiAgcHJvIHVsb75lbu0gem3sbi4KKworICA0LiBQcm8gc21heuFu7SB6bmFrdSBwb2Qga3Vyem9yZW0gbmFwabkgdiBOb3Jt4Wxu7W0gbfNkdTogIHgKKworICA1LiBQcm8gdmts4WThbu0gdGV4dHUgb2Qgbe1zdGEga3Vyem9ydSBuYXBpuSB2IE5vcm3hbG7tbSBt82R1OgorCSBpICAgICB2a2zhZGFu/SB0ZXh0CTxFU0M+CisKK1BPWk7BTUtBOiBTdGxh6GVu7SA8RVNDPiB07CBw+GVt7XN07SBkbyBOb3Jt4Wxu7WhvIG3zZHUgbmVibyB6cnW57SBuZWNodOxu/QorICAgICAgYSDo4XN0Zehu7CBkb2tvbuhlbv0gcPjta2F6LgorCitOeW7tIHBva3Jh6HVqIExla2PtIDIuCisKKworfn5+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+CisJCQlMZWtjZSAyLjE6IFDYzUtBWlkgTUFawU7NCisKKworCSAgICAgICAqKiBQ+O1rYXogIGR3ICBzbWG+ZSB6bmFreSBkbyBrb25jZSBzbG92YS4gKioKKworICAxLiBTdGxh6CAgPEVTQz4gIGsgdWJlenBl6GVu7SwgvmUganNpIHYgTm9ybeFsbu1tIG3zZHUuCisKKyAgMi4gUPhlc3XyIGt1cnpvciBu7b5lIG5hIPjhZGVrIG96bmHoZW79IC0tLT4uCisKKyAgMy4gUPhlc3XyIGt1cnpvciBuYSB6YejhdGVrIHNsb3ZhLCBrdGVy6SBqZSBwb3T4ZWJhIHNtYXphdC4KKworICA0LiBOYXBpuSAgIGR3CSAsIGFieSBzbG92byB6bWl6ZWxvLgorCitQT1pOwU1LQTogUO1zbWVuYSBkdyBzZSB6b2JyYXrtIG5hIHBvc2xlZG7tbSD44WRrdSBvYnJhem92a3kgamFrbWlsZSBqZQorCSAgbmFw7blluS4gS2R5viBuYXDtuWW5IG7sY28guXBhdG7sLCBzdGxh6CAgPEVTQz4gIGEgemHobmkgem5vdmEuCisKKy0tLT4gSnNvdSB0dSBu7Gpha+Egc2xvdmEgeuFiYXZhLCBrdGVy4SBuZXBhdPjtIGxpc3QgZG8gdOl0byB27HR5LgorCisgIDUuIE9wYWt1aiBrcm9reSAzIGG+IDQgZG9rdWQgbmVu7SB27HRhIHNwcuF2buwgYSBw+GVqZGkgbmEgbGVrY2kgMi4yLgorCisKKworfn5+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+CisJCSAgICAgIExla2NlIDIuMjogVs1DRSBQ2M1LQVrZIE1BWsFOzQorCisKKwkgICAqKiBOYXBz4W7tIHD47WthenUgIGQkICBzbWG+ZSB2uWUgYb4gZG8ga29uY2Ug+OFka3kuICoqCisKKyAgMS4gU3RsYeggIDxFU0M+ICBrIHViZXpwZehlbu0sIL5lIGpzaSB2IE5vcm3hbG7tbSBt82R1LgorCisgIDIuIFD4ZXN18iBrdXJ6b3Igbu2+ZSBuYSD44WRlayBvem5h6GVu/SAtLS0+LgorCisgIDMuIFD4ZXN18iBrdXJ6b3IgbmEga29uZWMgc3By4XZu6SB27HR5IChaQSBwcnZu7SB0ZehrdSkuCisKKyAgNC4gTmFwabkgIGQkICAsYWJ5IGpzaSBzbWF6YWwgem5ha3kgYb4gZG8ga29uY2Ug+OFka3UuCisKKy0tLT4gTuxrZG8gbmFwc2FsIGtvbmVjIHTpdG8gdux0eSBkdmFrcuF0LiBrb25lYyB06XRvIHbsdHkgZHZha3LhdC4KKworCisgIDUuIFD4ZWpkaSBuYSBsZWtjaSAyLjMgcHJvIHBvY2hvcGVu7SB0b2hvLCBjbyBzZSBzdGFsby4KKworCisKKworCit+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+fn4KKwkJICBMZWtjZSAyLjM6IFJPWqlJ2E9WQUPNIFDYzUtBWlkgQSBPQkpFS1RZCisKKworICBGb3Jt4XQgbWF6YWPtaG8gcPjta2F6dSAgZCAgamUgbuFzbGVkdWrtY+06CisKKwkgW+jtc2xvXSAgIGQgICBvYmpla3QgICAgIE5FQk8gICAgIGQgICBb6O1zbG9dICAgb2JqZWt0CisgIEtkZToKKyAgICDo7XNsbyAtIHVk4XbhIGtvbGlrcuF0IHNlIHD47WtheiB2eWtvbuEgKHZvbGl0ZWxu6Swgdv1jaG967T0xKS4KKyAgICBkIC0gamUgcPjta2F6IG1heuFu7S4KKyAgICBvYmpla3QgLSB1ZOF24SBuYSDoZW0gc2UgcPjta2F6IHZ5a29u4XbhICh2eXBzYW7pIG7tvmUpLgorCisgIEty4XRr/SB2/XBpcyBvYmpla3T5OgorICAgIHcgLSBvZCBrdXJ6b3J1IGRvIGtvbmNlIHNsb3ZhLCB26GV0buwgbWV6ZXIuCisgICAgZSAtIG9kIGt1cnpvcnUgZG8ga29uY2Ugc2xvdmEsIEJFWiBtZXplci4KKyAgICAkIC0gb2Qga3Vyem9ydSBkbyBrb25jZSD44WRrdS4KKworUE9aTsFNS0E6ICBTdGxh6GVu7W0ga2zhdmVzeSBvYmpla3R1IHYgTm9ybeFsbu1tIG3zZHUgc2Uga3Vyem9yIHD4ZXN1bmUgbmEKKyAgICAgICAgICAgbe1zdG8gdXD4ZXNu7G7pIHZlIHb9cGlzdSBvYmpla3T5LgorCisKKworCit+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+fn4KKwkJICAgICBMZWtjZSAyLjQ6IFbdSklNS0EgWiAnUNjNS0FaLU9CSkVLVCcKKworCisgICAgCSAgICAgICAgICAqKiBOYXBz4W7tbSAgIGRkICAgc21hvmW5IGNlbP0g+OFkZWsuICoqCisKKyAgVnpobGVkZW0gayDoYXN0b3N0aSBtYXrhbu0gY2Vs6WhvIPjhZGt1IHNlIGF1dG/4aSBWaW11IHJvemhvZGxpLCC+ZSBidWRlCisgIGplZG5vZHW57SBuYXBzYXQgcHJvc3TsIGR27CBkIGsgc21heuFu7SBjZWzpaG8g+OFka3UuCisKKyAgMS4gUPhlc3XyIGt1cnpvciBuYSBkcnVo/SD44WRlayBzcG9kbu1obyB0ZXh0dS4KKyAgMi4gTmFwabkgIGRkICBwcm8gc21heuFu7SD44WRrdS4KKyAgMy4gUPhlamRpIG5hIOh0dnJ0/SD44WRlay4KKyAgNC4gTmFwabkgICAyZGQgICAodnpwb21l8iBzaSAg6O1zbG8tcPjta2F6LW9iamVrdCkgcHJvIHNtYXrhbu0gZHZvdSD44WRr+S4KKworICAgICAgMSkgIFL5vmUganNvdSDoZXJ2ZW7pLAorICAgICAgMikgIEJs4XRvIGplIHrhYmF2buksCisgICAgICAzKSAgRmlhbGt5IGpzb3UgbW9kcuksCisgICAgICA0KSAgTeFtIGF1dG8sCisgICAgICA1KSAgSG9kaW5reSB1a2F6dWrtIOhhcywKKyAgICAgIDYpICBDdWtyIGplIHNsYWRr/SwKKyAgICAgIDcpICBBIHRvIGpzaSBpIHR5LgorCisKK35+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+fgorCQkJICAgTGVrY2UgMi41OiBQ2M1LQVogVU5ETworCisKKyAgICoqIFN0bGHoICB1CXBybyB2cuFjZW7tIHBvc2xlZG7taG8gcPjta2F6dSwgIFUgIHBybyBjZWxvdSD44WRrdS4gKioKKworICAxLiBQ+GVzdfIga3Vyem9yIG7tvmUgbmEg+OFkZWsgb3puYehlbv0gLS0tPiBhIHD4ZW3tc3RpIGhvIG5hIHBydm7tIGNoeWJ1LgorICAyLiBOYXBpuSAgeCAgcHJvIHNtYXrhbu0gcHJ2bu1obyBuZWNodOxu6WhvIHpuYWt1LgorICAzLiBUZe8gbmFwabkgIHUgIOjtbb4gdnLhdO25IHpw7HQgcG9zbGVkbu0gdnlrb25hbv0gcPjta2F6LgorICA0LiBOeW7tIG9wcmF2IHa5ZWNobnkgY2h5YnkgbmEg+OFka3UgcG9tb2PtIHD47WthenUgIHggIC4KKyAgNS4gTmFwabkgdmVsa+kgIFUgIOjtbb4gdnLhdO25IPjhZGVrIGRvIHD5dm9kbu1obyBzdGF2dS4KKyAgNi4gVGXvIG5hcGm5ICB1ICBu7GtvbGlrcuF0LCDo7W2+IHZy4XTtuSB6cOx0IHD47WtheiAgVSAgLgorICA3LiBTdGxh6CBDVFJMLVIgKGts4XZlc3UgQ1RSTCBkcr4gc3RsYehlbm91IGEgc3Rpc2tuaSBSKSBu7GtvbGlrcuF0LAorICAgICDo7W2+IHZy4XTtuSB6cOx0IHD4ZWR07W0gdnLhY2Vu6SBw+O1rYXp5IChyZWRvKS4KKworLS0tPiBPcHByYXYgY2h5YmJ5IG5uYSB0b29tdG8g+OFka3UgYSBuYWhyYe8gamUgcG9tbW9j7SB1bmRvLgorCisgIDguIFRvdG8ganNvdSB2ZWxtaSB1vml0Zehu6SBw+O1rYXp5LiBOeW7tIHD4ZWpkaSBuYSBzb3Vocm4gTGVrY2UgMi4KKworICAKKworCisKK35+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+fgorCQkJICAgICAgIFNIUk5VVM0gTEVLQ0UgMgorCisKKyAgMS4gUHJvIHNtYXrhbu0gem5ha/kgb2Qga3Vyem9ydSBkbyBrb25jZSBzbG92YSBuYXBpuTogICAgZHcKKworICAyLiBQcm8gc21heuFu7SB6bmFr+SBvZCBrdXJ6b3J1IGRvIGtvbmNlIPjhZGt1IG5hcGm5OiAgICBkJAorCisgIDMuIFBybyBzbWF64W7tIGNlbOlobyD44WRrdSBuYXBpuTogICAgZGQKKworICA0LiBGb3Jt4XQgcPjta2F6dSB2IE5vcm3hbG7tbSBt82R1IGplOgorCisgICAgICAgW+jtc2xvXSAgIHD47WtheiAgIG9iamVrdCAgICBORUJPICAgIHD47WtheiAgICAgW+jtc2xvXSAgIG9iamVrdAorICAgICBrZGU6CisgICAgICAg6O1zbG8gLSB1ZOF24SBwb+hldCBvcGFrb3bhbu0gcPjta2F6dQorICAgICAgIHD47WtheiAtIHVk4XbhIGNvIGplIHT4ZWJhIHZ5a29uYXQsIG5hcPjta2xhZCAgZCAgbWG+ZQorICAgICAgIG9iamVrdCAtIHVk4XbhIHJvenNhaCBw+O1rYXp1LCBuYXD47WtsYWQgIHcgIChzbG92byksCisJCSQgKGRvIGtvbmNlIPjhZGt1KSwgYXRkLgorCisgIDUuIFBybyB2cuFjZW7tIHD4ZWRluWzpIOhpbm5vc3RpLCBuYXBpuToJdSAobWFs6SB1KQorICAgICBQcm8gdnLhY2Vu7SB2uWVjaCD6cHJhdiBuYSD44WRrdSBuYXBpuToJVSAodmVsa+kgVSkKKyAgICAgUHJvIHZy4WNlbu0gdnLhY2Vu/WNoIPpwcmF2IChyZWRvKSBuYXBpuToJQ1RSTC1SCisKK35+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+fgorCQkJIExla2NlIDMuMTogUNjNS0FaIFZMT65JVAorCisKKyAgICAgICAqKiBQ+O1rYSAgcCAgdmxvvu0gcG9zbGVkbu0gdnltYXphbv0gdGV4dCB6YSBrdXJ6b3IuICoqCisKKyAgMS4gUPhlc3XyIGt1cnpvciBu7b5lIG5hIHBvc2xlZG7tIPjhZGVrIHRleHR1LgorCisgIDIuIE5hcGm5ICBkZCAgcHJvIHNtYXrhbu0g+OFka3UgYSBqZWhvIHVsb75lbu0gZG8gYnVmZmVydS4KKworICAzLiBQ+GVzdfIga3Vyem9yIFbdqUUgdGFtLCBrYW0gc21hemFu/SD44WRlayBwYXT47S4KKworICA0LiBWIE5vcm3hbG7tbSBt82R1IG5hcGm5ICBwICBwcm8gb3DsdG7pIHZsb75lbu0g+OFka3UuCisKKyAgNS4gT3Bha3VqIGtyb2t5IDIgYb4gNCBkb2t1ZCD44WRreSBuZWJ1ZG91IHZlIHNwcuF2bultIHBv+GFk7S4KKworICAgICBkKSBUYWvpIHNlIGRva+G+Zbkgdnpk7GzhdmF0PworICAgICBiKSBGaWFsa3kganNvdSBtb2Ry6SwKKyAgICAgYykgSW50ZWxpZ2VuY2Ugc2UgdejtLAorICAgICBhKSBS+b5lIGpzb3Ug6GVydmVu6SwKKworCisKK35+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+fgorCQkgICAgICAgTGVrY2UgMy4yOiBQ2M1LQVogTkFIUkFaRU7NCisKKworICAgICAgICAgICoqIE5hcHPhbu1tICByICBhIHpuYWt1IHNlIG5haHJhZO0gem5hayBwb2Qga3Vyem9yZW0uICoqCisKKyAgMS4gUPhlc3XyIGt1cnpvciBu7b5lIG5hIHBydm7tIPjhZGVrIG96bmHoZW79IC0tLT4uCisKKyAgMi4gUPhlc3XyIGt1cnpvciBuYSB6YejhdGVrIHBydm7tIGNoeWJ5LgorCisgIDMuIE5hcGm5ICByICBhIHBvdG9tIHpuYWssIGt0ZXL9IG5haHJhZO0gY2h5YnUuCisKKyAgNC4gT3Bha3VqIGtyb2t5IDIgYb4gMyBkb2t1ZCBuZW7tIHBydm7tIPjhZGthIHNwcuF2buwuCisKKy0tLT4gIEtkab4gYnlsIHB64W4gdGVudG8g+OFkZWcsIG7sa2R1IHN0bGG+aWwguXBhcW7pIGts4XZlc3khCistLS0+ICBLZHm+IGJ5bCBwc+FuIHRlbnRvIPjhZGVrLCBu7GtkbyBzdGxh6O1sILlwYXRu6SBrbOF2ZXN5IQorCisgIDUuIE55bu0gcPhlamRpIG5hIExla2NpIDMuMi4KKworUE9aTsFNS0E6IFphcGFtYXR1aiBzaSwgvmUgYnkgc2VzIG3sbCB16Gl0IHBvdb7tduFu7W0sIG5lIHphcGFtYXRvduFu7W0uCisKKworCit+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+fn4KKwkJICAgICAgICAgICBMZWtjZSAzLjM6IFDYzUtBWiDaUFJBVlkKKworCisJICAqKiBQb2t1ZCBjaGNluSB6bexuaXQg6OFzdCBuZWJvIGNlbOkgc2xvdm8sIG5hcGm5ICBjdyAuICoqCisKKyAgMS4gUPhlc3XyIGt1cnpvciBu7b5lIG5hIHBydm7tIPjhZGVrIG96bmHoZW79IC0tLT4uCisKKyAgMi4gVW3tc3RpIGt1cnpvciBuYSBw7XNtZW5vIGkgdiBzbG927CD4abtvay4KKworICAzLiBOYXBpuSAgY3cgIGEgb3ByYXYgc2xvdm8gKHYgdG9tdG8gcPjtcGFk7CBuYXBpuSAn4WRlaycuKQorCisgIDQuIFN0bGHoIDxFU0M+IGEgcPhlamRpIG5hIGRhbLntIGNoeWJ1IChwcnZu7SB6bmFrLCBrdGVy/SB0+GViYSB6bexuaXQuKQorCisgIDUuIE9wYWt1aiBrcm9reSAzIGG+IDQgZG9rdWQgbmVu7SBwcnZu7SB27HRhIHN0ZWpu4SBqYWtvIHRhIGRydWjhLgorCistLS0+IFRlbnRvIPhpu29rIG3hIG7sa29saWsgc2tpYywga3RlcukgcHNhZG9pbnNhIHpt7G5pdCBwYXNkZ2YgcPjta2F6dS4KKy0tLT4gVGVudG8g+OFkZWsgbeEgbuxrb2xpayBzbG92LCBrdGVy6SBwb3T4ZWJ1au0gem3sbml0IHBvbW9j7SBw+O1rYXp1LgorCitWuWltbmkgc2ksIL5lICBjdyAgbmVqZW4gbmFocmF6dWplIHNsb3ZvLCBhbGUgdGFr6SBw+GVt7XN07SBkbyB2a2zhZOFu7S4KKworCisKK35+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+fgorCQkgICAgICAgTGVrY2UgMy40OiBWzUNFIFpNzE4gUE9VrklUzU0gYworCisKKyAgICoqIFD47WtheiBwcm8g+nByYXZ1IHNlIGRydb7tIHNlIHN0ZWpu/W1pIG9iamVrdHkgamFrbyB0ZW4gcHJvIG1heuFu7S4gKioKKworICAxLiBQ+O1rYXogcHJvIPpwcmF2dSBwcmFjdWplIHN0ZWpu7CBqYWtvIHBybyBtYXrhbu0uIEZvcm3hdCBqZToKKworICAgICAgIFvo7XNsb10gICBjICAgb2JqZWt0CSBORUJPCSAgIGMJW+jtc2xvXSAgIG9iamVrdAorCisgIDIuIE9iamVrdHkganNvdSB0YWvpIHNob2Ru6SwgamFrbyBuYXD4LjogdyAoc2xvdm8pLCAkIChrb25lYyD44WRrdSksIGF0ZC4KKworICAzLiBQ+GVqZGkgbu2+ZSBuYSBwcnZu7SD44WRlayBvem5h6GVu/SAtLS0+LgorCisgIDQuIFD4ZXN18iBrdXJ6b3IgbmEgcHJ2bu0gcm96ZO1sLgorCisgIDUuIE5hcGm5ICBjJCAgcHJvIHVwcmF2ZW7tIHpieXRrdSD44WRrdSBwb2RsZSB0b2hvIGRydWjpaG8gYSBzdGxh6CA8RVNDPi4KKworLS0tPiBLb25lYyB0b2hvdG8g+OFka3UgcG90+GVidWplIHBvbW9jLCBhYnkgYnlsIGpha28gdGVuIGRydWj9LgorLS0tPiBLb25lYyB0b2hvdG8g+OFka3UgcG90+GVidWplIG9wcmF2aXQgcG91vml07W0gcPjta2F6dSAgYyQgIC4KKworCisKK35+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+fgorCQkJICAgICAgIFNIUk5VVM0gTEVLQ0UgMworCisKKyAgMS4gUHJvIHZsb75lbu0gdGV4dHUsIGt0ZXL9IGJ5bCBzbWF64W4sIG5hcGm5ICBwICAuIFRvIHZsb77tIHNtYXphbv0gdGV4dAorICAgICBaQSBrdXJ6b3IgKHBva3VkIGJ5bCD44WRlayBzbWF6YW79LCBw+GVqZGUgbmEg+OFkZWsgcG9kIGt1cnpvcmVtKS4KKworICAyLiBQcm8gbmFocmF6ZW7tIHpuYWt1IHBvZCBrdXJ6b3JlbSwgbmFwabkgIHIgIGEgcG90b20gem5haywga3Rlcv1tCisgICAgIGNoY2W5IHD5dm9kbu0gem5hayBuYWhyYWRpdC4KKworICAzLiBQ+O1rYXogbmEgdXByYXZvduFu7SB1bW++8nVqZSB6bexuaXQgc3BlY2lmaWtvdmFu/SBvYmpla3Qgb2Qga3Vyem9ydQorICAgICBkbyBrb25jZSBvYmpla3R1LiBOYXD47WtsYWQ6IE5hcGm5ICBjdyAgLOjtbb4gem3sbu25IHRleHQgb2QgcG96aWNlCisgICAgIGt1cnpvcnUgZG8ga29uY2Ugc2xvdmEsICBjJCAgem3sbu0gdGV4dCBkbyBrb25jZSD44WRrdS4KKworICA0LiBGb3Jt4XQgcHJvIG5haHJhem924W7tIGplOgorCisJIFvo7XNsb10gICBjICAgb2JqZWt0ICAgICAgTkVCTyAgICAgYyAgIFvo7XNsb10gICBvYmpla3QKKworTnlu7SBw+GVqZGkgbmEgbuFzbGVkdWrtY+0gbGVrY2kuCisKKworCisKK35+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+fgorCQkgICAgICBMZWtjZSA0LjE6IFBPWklDRSBBIFNUQVRVUyBTT1VCT1JVCisKKworICAqKiBTdGxh6CBDVFJMLWcgcHJvIHpvYnJhemVu7SBzdukgcG96aWNlIHYgc291Ym9ydSBhIHN0YXR1c3Ugc291Ym9ydS4KKyAgICAgU3RsYeggU0hJRlQtRyBwcm8gcPhlY2hvZCBuYSD44WRlayB2IHNvdWJvcnUuICoqCisKKyAgUG96buFta2E6IFD4Zeh0aSBzaSBjZWxvdSBsZWtjaSBuZb4gemHobmW5IHZ5a29u4XZhdCBrcm9reSEhCisKKyAgMS4gRHK+IGts4XZlc3UgQ3RybCBzdGxh6GVub3UgYSBzdGlza25pICBnICAuIFZlc3BvZCBvYnJhem92a3kgc2Ugem9icmF67QorICAgICBzdGF2b3b9IPjhZGVrIHMgbuF6dmVtIHNvdWJvcnUgYSD44WRrb3UgbmEga3Rlcukgc2UgbmFjaOF67bkuIFphcGFtYXR1agorICAgICBzaSDo7XNsbyD44WRrdSBwcm8ga3JvayAzLgorCisgIDIuIFN0bGHoIHNoaWZ0LUcgcHJvIHD4ZXN1biBuYSBrb25lYyBzb3Vib3J1LgorCisgIDMuIE5hcGm5IOjtc2xvIPjhZGt1IG5hIGt0ZXLpbSBzaSBzZSBuYWNo4XplbCBhIHN0bGHoIHNoaWZ0LUcuIFRvIHTsCisgICAgIHZy4XTtIG5hIPjhZGVrLCBuYSBrdGVy6W0ganNpIGT47XZlIHN0aXNrbCBDdHJsLWcuCisgICAgIChLZHm+IHDtuWW5IOjtc2xhLCB0YWsgc2UgTkVaT0JSQVpVSs0gbmEgb2JyYXpvdmNlLikKKworICA0LiBQb2t1ZCBzZSBj7XTtuSBzY2hvcG79IHZ5a29uYXQgdHl0byBrcm9reSwgdnlrb25laiBqZS4KKworCisKK35+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+fgorCQkJTGVrY2UgNC4yOiBQ2M1LQVogVllITEVEwVbBTs0KKworCisgICAgICoqIE5hcGm5ICAvICBu4XNsZWRvdmFu6SD4ZXTsemNlbSBwcm8gdnlobGVk4W7tIG9ub2hvIPhldOx6Y2UuICoqCisKKyAgMS4gU3Rpc2tuaSAvIHYgTm9ybeFsbu1tIG3zZHUuICBWuWltbmkgc2ksIL5lIHRlbnRvIHpuYWsgc2Ugc3BvbHUgcworICAgICBrdXJ6b3JlbSB6b2JyYXrtIHYgZG9sbu0g6OFzdGkgb2JyYXpvdmt5IGpha28gcPjta2F6ICA6ICAuCisKKyAgMi4gTnlu7SBuYXBpuSAnY2hoeWJiYScgPEVOVEVSPi4gIFRvIGplIHNsb3ZvLCBrdGVy6SBjaGNluSB2eWhsZWRhdC4KKworICAzLiBQcm8gdnlobGVk4W7tIGRhbLntaG8gdv1zbGVka3Ugc3Rlam7paG8g+GV07HpjZSwgamVkbm9kdbllIHN0bGHoICBuICAuCisgICAgIFBybyB2eWhsZWThbu0gZGFsue1obyB2/XNsZWRrdSBzdGVqbulobyD4ZXTsemNlIG9wYehu/W0gc23scmVtLCBzdGlza25pCisgICAgIFNoaWZ0LU4uCisKKyAgNC4gUG9rdWQgY2hjZbkgdnlobGVkYXQg+GV07HplYyB2IG9wYehu6W0gc23scnUsIHBvdb5paiBw+O1rYXogID8gIG3tc3RvCisgICAgIHD47WthenUgIC8gIC4KKworLS0tPiAiY2hoeWJiYSIgbmVu7SB6cPlzb2IsIGphayBobOFza292YXQgY2h5YmE7IGNoaHliYmEgamUgY2h5YmEuCisKK1Bvem7hbWthOiBLZHm+IHZ5aGxlZOF24W7tIGRvc+FobmUga29uY2Ugc291Ym9ydSwgYnVkZSBwb2tyYehvdmF0IG5hIGplaG8KKyAgICAgICAgICB6YejhdGt1LgorCit+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+fn4KKwkJICAgTGVrY2UgNC4zOiBWWUhMRUTBVsFOzSBQwVJPVskgWsFWT1JLWQorCisKKwkgICAgICAqKiBOYXBpuSAgJSAgcHJvIG5hbGV6ZW7tIHDhcm926SApLF0sIG5lYm8gfSAuICoqCisKKyAgMS4gUPhlbe1zdGkga3Vyem9yIG5hIGt0ZXJvdWtvbGkgKCwgWywgbmVibyB7IHYg+OFka3Ugb3puYehlbultIC0tLT4uCisKKyAgMi4gTnlu7SBuYXBpuSB6bmFrICAlICAuCisKKyAgMy4gS3Vyem9yIHNlIHD4ZW3tc3TtIG5hIG9kcG927WRhau1j7SB64XZvcmt1LgorCisgIDQuIFN0bGHoICAlICBwcm8gcPhlc3VuIGt1cnpvcnUgenDsdCBuYSBvdHbtcmFq7WPtIHrhdm9ya3UuCisKKy0tLT4gVG90byAoIGplIHRlc3RvdmFj7SD44WRlayAoJ3MsIFsncyBdIGEgeydzIH0gdiBu7G0uICkpCisKK1Bvem7hbWthOiBUb3RvIGplIHZlbG1pIHW+aXRl6G7pIHD47SBsYWTsbu0gcHJvZ3JhbXUgcyBjaHli7GrtY+1taQorICAgICAgICAgIHV6YXbtcmFj7W1pIHrhdm9ya2FtaS4KKworCisKKworCit+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+fn4KKwkJICAgICAgTGVrY2UgNC40OiBaUNlTT0IgSkFLIFpNzE5JVCBDSFlCWQorCQkgICAgICAKKworICAgKiogTmFwabkgIDpzL3N0YXLpL25vdukvZyAgcHJvIG5haHJhemVu7SBzbG92YSAnbm926ScgemEgJ3N0YXLpJy4gKioKKworICAxLiBQ+GVzdfIga3Vyem9yIG5hIPjhZGVrIG96bmHoZW79IC0tLT4uCisKKyAgMi4gTmFwabkgIDpzL2RvYnLp6S9kb2Jy6SA8RU5URVI+IC4gIFa5aW1uaSBzaSwgvmUgdGVudG8gcPjta2F6IHpt7G7tIHBvdXplCisgICAgIHBydm7tIHb9c2t5dCB2IPjhZGt1LgorCisgIDMuIE55bu0gbmFwabkJIDpzL2RvYnLp6S9kb2Jy6S9nICBjb74gem5hbWVu4SBjZWxrb3bpIG5haHJhemVu7SB2IPjhZGt1LgorICAgICBUb3RvIG5haHJhZO0gdrllY2hueSB2/XNreXR5IHYg+OFka3UuCisKKy0tLT4gZG9icunpIHN1cm92aW55IGEgZG9icunpIG7h6Glu7SBqc291IHrha2xhZGVtIGRvYnLp6SBrdWNoeW7sLgorCisgIDQuIFBybyB6bexudSB2uWVjaCB2/XNreXT5IPhldOx6Y2UgbWV6aSBkduxtYSD44WRreSwKKyAgICAgTmFwabkgICA6Iywjcy9zdGFy6S9ub3bpL2cgIGtkZSAjLCMganNvdSDo7XNsYSBvbuxjaCD44WRlay4KKyAgICAgTmFwabkgICA6JXMvc3Rhcukvbm926S9nICAgIHBybyB6bexudSB2uWVjaCB2/XNreXT5IHYgY2Vs6W0gc291Ym9ydS4KKworCisKKworfn5+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+CisJCQkgICAgICAgU0hSTlVUzSBMRUtDRSA0CisKKworICAxLiBDdHJsLWcgIHZ5cO25ZSB0dm91IHBvemljaSB2IHNvdWJvcnUgYSBzdGF0dXMgc291Ym9ydS4KKyAgICAgU2hpZnQtRyAgdOwgcPhlbe1zdO0gbmEga29uZWMgc291Ym9ydS4gIMjtc2xvIG7hc2xlZG92YW7pCisgICAgIFNoaWZ0LUcgIHTsIHD4ZXN1bmUgbmEgZGFu6SDo7XNsbyD44WRrdS4KKworICAyLiBOYXBz4W7tICAvICBu4XNsZWRvdmFu6SD4ZXTsemNlbSB2eWhsZWThIPhldOx6ZWMgc23scmVtIERPUNhFRFUuCisgICAgIE5hcHPhbu0gID8gIG7hc2xlZG92YW7pIPhldOx6Y2VtIHZ5aGxlZOEg+GV07HplYyBzbexyZW0gRE9aQURVLgorICAgICBOYXBz4W7tICBuICBwbyB2eWhsZWThduFu7SBuYWpkZSBu4XNsZWR1au1j7SB2/XNreXQg+GV07HpjZSB2ZSBzdGVqbultCisgICAgIHNt7HJ1LCBTaGlmdC1OIHZlIHNt7HJ1IG9wYehu6W0uCisKKyAgMy4gU3Rpc2tudXTtICAlICBrZHm+IGplIGt1cnpvciBuYSAoLCksWyxdLHssIG5lYm8gfSBuYWpkZSBvZHBvdu1kYWrtY+0KKyAgICAgcOFyb3ZvdSB64XZvcmt1LgorCisgIDQuIFBybyBuYWhyYXplbu0gbm926WhvIHphIHBydm7tIHN0YXL9IHYg+OFka3UgbmFwabkgICAgIDpzL3N0YXLpL25vdukKKyAgICAgUHJvIG5haHJhemVu7SBub3bpaG8gemEgdrllY2hueSBzdGFy6SB2IPjhZGt1IG5hcGm5ICAgOnMvc3Rhcukvbm926S9nCisgICAgIFBybyBuYWhyYXplbu0g+GV07Hpj+SBtZXppIGR27G1pIPjhZGthbWkgIyBuYXBpuSAgICAgIDojLCNzL3N0YXLpL25vdukvZworICAgICBQcm8gbmFocmF6ZW7tIHa5ZWNoIHb9c2t5dPkgdiBzb3Vib3J1IG5hcGm5CSAgIDolcy9zdGFy6S9ub3bpL2cKKyAgICAgUHJvIHBvdHZyemVu7SBrYb5k6WhvIG5haHJhemVu7SBw+GlkZWogJ2MnCQkgICA6JXMvc3Rhcukvbm926S9nYworCisKK35+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+fgorCQkgICAgTGVrY2UgNS4xOiBKQUsgVllLT05BVCBWTsxKqc0gUNjNS0FaCisKKworICAgKiogTmFwabkgIDohICBu4XNsZWRvdmFu6SB2buxque1tIHD47WthemVtIHBybyBzcHW5dOxu7SBw+O1rYXp1LiAqKgorCisgIDEuIE5hcGm5IG9idnlrbP0gcPjta2F6ICA6ICAsIGt0ZXL9IHVt7XN07SBrdXJ6b3IgbmEgc3BvZGVrIG9icmF6b3ZreQorICAgICBUbyB1bW++bu0gbmFwc2F0IHD47Wthei4KKworICAyLiBOeW7tIHN0aXNrbmkgICEgICh2eWv4aehu7WspLiBUbyB1bW++bu0gdnlrb25hdCBqYWv9a29saXYgdm7sarntCisgICAgIHD47WtheiB6IHD47Wthem926WhvIPjhZGt1LgorCisgIDMuIE5hcPjta2xhZCBuYXBpuSAgbHMgIHphICEgYSBzdGlza25pIDxFTlRFUj4uICBUZW50byBw+O1rYXogem9icmF67QorICAgICBvYnNhaCB0dulobyBhZHJlc+H4ZSBqYWtvIHYgcPjta2F6b3bpbSD44WRrdS4KKyAgICAgVnl6a291uWVqICA6IWRpciAgcG9rdWQgbHMgbmVmdW5ndWplLgorCitQb3pu4W1rYTogIFRha3RvIGplIG1vvm7pIHZ5a29uYXQgamFr/WtvbGl2IHD47Wthei4KKworUG96buFta2E6ICBWuWVjaG55IHD47WthenkgIDogIG11c+0gYv10IGRva29u6GVu6SBzdGlza251dO1tIDxFTlRFUj4KKworCisKKworfn5+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+CisJCSAgICAgTGVrY2UgNS4yOiBWzUNFIE8gVUtMwUTBTs0gU09VQk9S2QorCisKKwkgICAgKiogUHJvIHVsb75lbu0gem3sbiB2IHNvdWJvcnUgbmFwabkgIDp3IFNPVUJPUi4gKioKKworICAxLiBOYXBpuSAgOiFkaXIgIG5lYm8gIDohbHMgIHBybyB2/XBpcyBha3R14Wxu7WhvIGFkcmVz4fhlLgorICAgICBVviB27bksIL5lIHphIHTtbXRvIG11c+25IHN0aXNrbm91dCA8RU5URVI+LgorCisgIDIuIFZ5YmVyIHNpIG7hemV2IHNvdWJvcnUsIGt0ZXL9IGpluXTsIG5lZXhpc3R1amUsIG5hcPjta2xhZCBURVNULgorCisgIDMuIE55bu0gbmFwabk6ICA6dyBURVNUICAoa2RlIFRFU1QgamUgdnlicmFu/SBu4XpldiBzb3Vib3J1LikKKworICA0LiBUbyB1bG++7SBjZWz9IHNvdWJvciAgKFb9dWthIFZpbXUpICBwb2QgbuF6dmVtIFRFU1QuCisgICAgIFBybyBvduz4ZW7tIG5hcGm5IHpub3Z1IDohZGlyICAsIOjtbb4gem9icmF67bkgb2JzYWggYWRyZXPh+GUuCisKK1Bvem7hbWthOiBKYWttaWxlIHVrb27o7bkgVmltIGEgem5vdnUgaG8gc3B1c3TtuSBzIG7henZlbSBzb3Vib3J1IFRFU1QsCisgICAgICAgICAgc291Ym9yIGJ1ZGUgcPhlc27hIGtvcGllIHb9dWt5LCBrZHm+IHNpIGppIHVrbOFkYWwuCisKKyAgNS4gTnlu7SBvZHN0cmHyIHNvdWJvciBuYXBz4W7tbSAoTVMtRE9TKTogICAgOiFkZWwgVEVTVAorCQkJICAgICBuZWJvIChVbml4KTogICAgICA6IXJtIFRFU1QKKworCit+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+fn4KKwkJICAgICBMZWtjZSA1LjM6IFbdQsxST1bdIFDYzUtBWiBVTE+uRU7NCisKKworCSAgICAqKiBQcm8gdWxvvmVu7SDo4XN0aSBzb3Vib3J1IG5hcGm5ICA6IywjIHcgU09VQk9SICoqCisKKyAgMS4gSmW5dOwgamVkbm91IG5hcGm5ICA6IWRpciAgbmVibyAgOiFscyAgcHJvIHb9cGlzIGFrdHXhbG7taG8gYWRyZXPh+GUKKyAgICAgYSB2eWJlciB2aG9kbv0gbuF6ZXYgc291Ym9ydSBqYWtvIG5hcPguIFRFU1QuCisKKyAgMi4gUPhlc3XyIGt1cnpvciBuYSB2cmNoIHTpdG8gc3Ry4W5reSBhIHN0aXNrbmkgIEN0cmwtZyAgcHJvIHpvYnJhemVu7QorICAgICDo7XNsYSD44WRrdS4gIFpBUEFNQVRVSiBTSSBUT1RPIMjNU0xPIQorCisgIDMuIE55bu0gc2UgcPhlc3XyIG5hIHNwb2RlayB06XRvIHN0cuFua3kgYSBvcOx0IHN0aXNrbmkgQ3RybC1nLgorICAgICBaQVBBTUFUVUogU0kgSSDIzVNMTyBUT0hPVE8g2MFES1UhCisKKyAgNC4gUHJvIHVsb75lbu0gUE9VWkUg6OFzdGkgc291Ym9ydSwgbmFwabkgIDojLCMgdyBURVNUICBrZGUgIywjIGpzb3UKKyAgICAg6O1zbGEgZHZvdSB6YXBhbWF0b3Zhbv1jaCD44WRr+SAodnJjaCwgc3BvZGVrKSBhIFRFU1QgamUgbuF6ZXYgc291Ym9ydS4KKworICA1LiBabm92YSBzZSB1amlzdGksIL5lIHRhbSB0ZW4gc291Ym9yIGplIHBvbW9j7SAgOiFkaXIgIGFsZSBORU9EU1RSQdJVSiBoby4KKworCisKKworfn5+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+CisJCSAgICAgICAgTGVrY2UgNS40OiBTTFXIT1bBTs0gU09VQk9S2QorCisKKyAgICAgIAkgICAqKiBLIHZsb75lbu0gb2JzYWh1IHNvdWJvcnUgbmFwabkgIDpyIE7BWkVWX1NPVUJPUlUgKioKKworICAxLiBOYXBpuSAgOiFkaXIgIHBybyB1amm5dOxu7SwgvmUgc291Ym9yIFRFU1Qgc3ThbGUgZXhpc3R1amUuCisKKyAgMi4gUPhlc3XyIGt1cnpvciBuYSB2cmNoIHTpdG8gc3Ry4W5reS4KKworUE9aTsFNS0E6IFBvIHZ5a29u4W7tIGtyb2t1IDMgdXZpZO25IGxla2NpIDUuMy4JUG90b20gc2Ugb3DsdCBw+GVzdfIgZG9s+QorICAgICAgICAgIG5hIHR1dG8gbGVrY2kuCisKKyAgMy4gTnlu7SB2bG++IHNvdWJvciBURVNUIHBvdb5pdO1tIHD47WthenUgIDpyIFRFU1QgIGtkZSBURVNUIGplIG7hemV2CisgICAgIHNvdWJvcnUuCisKK1BPWk7BTUtBOiBTb3Vib3IsIGt0ZXL9IHZrbOFk4bkgc2Ugdmxvvu0gb2Qgbe1zdGEsIGtkZSBzZSBuYWNo4XrtIGt1cnpvci4KKworICA0LiBQcm8gcG90dnJ6ZW7tIHZsb75lbu0gc291Ym9ydSwgcPhlc3XyIGt1cnpvciB6cOx0IGEgdrlpbW5pIHNpLCC+ZSB0Ze8KKyAgICAgbeG5IGR27CBrb3BpZSBsZWtjZSA1LjMsIG9yaWdpbuFsIGEgc291Ym9yb3ZvdSB2ZXJ6aS4KKworCisKK35+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+fgorCQkJICAgICAgIFNIUk5VVM0gTEVLQ0UgNQorCisKKyAgMS4gIDohcPjta2F6ICB2eWtvbuEgdm7sarntIHD47Wthei4KKworICAgICAgTuxrdGVy6SB1vml0Zehu6SBw+O1rbGFkeSBqc291OgorCSAoTVMtRE9TKQkgIChVbml4KQorCSAgOiFkaXIJCSAgIDohbHMJCSAgIC0gIHpvYnJheu0gb2JzYWggc291Ym9ydS4KKwkgIDohZGVsIFNPVUJPUiAgICAgOiFybSBTT1VCT1IgICAgIC0gIG9kc3RyYW7tIFNPVUJPUi4KKworICAyLiAgOncgU09VQk9SICB1bG++7SBha3R14Wxu7SB0ZXh0IGpha28gU09VQk9SIG5hIGRpc2suCisKKyAgMy4gIDojLCN3IFNPVUJPUiAgdWxvvu0g+OFka3kgb2QgIyBkbyAjIGRvIFNPVUJPUlUuCisKKyAgNC4gIDpyIFNPVUJPUiAgdnliZXJlIHogZGlza3UgU09VQk9SIGEgdmxvvu0gaG8gZG8gZWRpdG92YW7paG8gc291Ym9ydQorICAgICAgemEgcG96aWNpIGt1cnpvcnUuCisKKworCisKKworCit+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+fn4KKwkJCSAgTGVrY2UgNi4xOiBQ2M1LQVogT1RFVtjNVAorCisKKyAgKiogTmFwabkgIG8gIHBybyB2bG++ZW7tIPjhZGt1IHBvZCBrdXJ6b3IgYSBw+GVwbnV07SBkbyBWa2zhZGFj7WhvIG3zZHUuICoqCisKKyAgMS4gUPhlbe1zdGkga3Vyem9yIG7tvmUgbmEg+OFkZWsgb3puYehlbv0gLS0tPi4KKworICAyLiBOYXBpuSAgbyAobWFs6SkgcHJvIHZsb75lbu0g+OFka3UgUE9EIGt1cnpvciBhIHD4ZXBudXTtIGRvCisgICAgIFZrbOFkYWPtaG8gbfNkdS4KKworICAzLiBOeW7tIHprb3DtcnVqIPjhZGVrIG96bmHoZW79IC0tLT4gYSBzdGlza25pIDxFU0M+IHBybyB1a29u6GVu7QorICAgICBWa2zhZGFj7WhvIG3zZHUuCisgIAorLS0tPiBQbyBzdGlza251dO0gIG8gIHNlIGt1cnpvciBw+GVt7XN07SBuYSB2bG++ZW79IPjhZGVrIGRvIFZrbOFkYWPtaG8KKyAgICAgbfNkdS4KKworICA0LiBQcm8gb3Rldvhlbu0g+OFka3UgTkFEIGt1cnpvcmVtIGplZG5vZHW5ZSBuYXBpuSB2ZWxr6SAgTyAgLCBt7XN0bworICAgICBtYWzpaG8gby4gVnl6a291uWVqIHNpIHRvIG5hIG7hc2xlZHVq7WPtbSD44WRrdS4KK1Zsb74g+OFkZWsgbmFkIHTtbXRvIG5hcHPhbu1tIFNoaWZ0LU8gcG8gdW3tc3Tsbu0ga3Vyem9ydSBuYSB0ZW50byD44WRlay4KKworCisKK35+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+fgorCQkJICBMZWtjZSA2LjI6IFDYzUtBWiBQ2ElEQVQKKworCisJICAgICAqKiBTdGlza25pICBhICBwcm8gdmxvvmVu7SB0ZXh0dSBaQSBrdXJ6b3IuICoqCisKKyAgMS4gUPhlc3XyIGt1cnpvciBuYSBu7b5lIG5hIGtvbmVjIPjhZGt5IG96bmHoZW7pIC0tLT4KKyAgICAgc3Rpc2tudXTtbSAkIHYgTm9ybeFsbu1tIG3zZHUuCisKKyAgMi4gU3Rpc2tuaSAgYSAgKG1hbOkpIHBybyBw+Glk4W7tIHRleHR1IFpBIHpuYWssIGt0ZXL9IGplIHBvZCBrdXJ6b3JlbS4KKyAgICAgKFZlbGvpICBBICBw+Glk4SBuYSBrb25lYyD44WRrdS4pCisKK1Bvem7hbWthOiBU7W10byBzZSB2eWhuZbkgc3Rpc2tudXTtICBpICAsIHBvc2xlZG7taG8gem5ha3UsIHRleHR1IG5hIHZsb75lbu0sCisgICAgICAgICAgPEVTQz4sIGt1cnpvciBkb3ByYXZhLCBhIG5ha29uZWMgIHggIG5hIHD4aWThduFu7SBuYSBrb25lYyD44WRrdSEKKworICAzLiBOeW7tIGRva29u6O0gcHJ2bu0g+OFkZWsuIFa5aW1uaSBzaSwgvmUgcPhpZOF24W7tIGplIHZsYXN0buwgc3Rlam7pIGpha28KKyAgICAgVmts4WRhY+0gbfNkLCBrcm9t7CBt7XN0YSwga2FtIHNlIHRleHQgdmts4WThLgorCistLS0+IFRlbnRvIPjhZGVrIHRpIHVtb77ydWplIG5hY3Zp6Gl0CistLS0+IFRlbnRvIPjhZGVrIHRpIHVtb77ydWplIG5hY3Zp6Gl0IHD4aWThduFu7SB0ZXh0dSBuYSBrb25lYyD44WRreS4KKworCisKK35+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+fgorCQkgICAgICBMZWtjZSA2LjM6IEpJTt0gWlDZU09CIE5BSFJBWk9WwU7NCisKKworICAgICAgICAgKiogTmFwabkgdmVsa+kgIFIgIHBybyBuYWhyYXplbu0gdu1jIG5lviBqZWRub2hvIHpuYWt1LiAqKgorCisgIDEuIFD4ZXN18iBrdXJ6b3IgbmEgcHJ2bu0g+OFkZWsgb3puYehlbv0gLS0tPi4KKworICAyLiBVbe1zdGkga3Vyem9yIG5hIHph6OF0ZWsgcHJ2bu1obyBzbG92YSwga3RlcukgamUgb2Rsablu6SBvZCBkcnVo6WhvCisgICAgIPjhZGt1IG96bmHoZW7paG8gLS0tPiAoc2xvdm8gJ3Bvc2xlZG7tJykuCisKKyAgMy4gTnlu7SBzdGlza25pICBSICBhIG5haHJh7yB6Ynl0ZWsgdGV4dHUgbmEgcHJ2bu1tIPjhZGt1IHD4ZXBz4W7tbQorICAgICBzdGFy6WhvIHRleHR1IHRhaywgYWJ5IGJ5bCBwcnZu7SD44WRlayBzdGVqbv0gamFrbyB0ZW4gZHJ1aP0uCisKKy0tLT4gUHJvIHVwcmF2ZW7tIHBydm7taG8g+OFka3UgZG8gdHZhcnUgdG9obyBwb3NsZWRu7SBuYSBzdHJhbuwgcG91vmlqIGtsLgorLS0tPiBQcm8gdXByYXZlbu0gcHJ2bu1obyD44WRrdSBkbyB0dmFydSB0b2hvIGRydWjpaG8sIG5hcGm5IFIgYSBub3b9IHRleHQuCisKKyAgNC4gVrlpbW5pIHNpLCC+ZSBqYWttaWxlIHN0aXNrbmW5IDxFU0M+IHa5ZWNoZW4gbmV6bexu7G79IHRleHQgevlzdOF24S4KKworCisKKworCit+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+fn4KKwkJICAgICAgICAgTGVrY2UgNi40OiBOQVNUQVZFTs0gTU+uTk9TVM0KKworICAqKiBOYXN0YXYgbW++bm9zdCwgvmUgdnlobGVk4Xbhbu0gYW5lYm8gbmFocmF6b3bhbu0gbmVkYuEgdmVsaWtvc3RpIHDtc21lbiAqKgorCisgIDEuIFZ5aGxlZGVqIPhldOx6ZWMgJ2lnbm9yZScgbmFwc+Fu7W06CisgICAgIC9pZ25vcmUKKyAgICAgWm9wYWt1aiBu7GtvbGlrcuF0IHN0aXNrbnV07SBrbOF2ZXN5IG4uCisKKyAgMi4gTmFzdGF2IG1vvm5vc3QgJ2ljJyAoSWdub3JlIGNhc2UpIG5hcHPhbu1tIHD47WthenU6CisgICAgIDpzZXQgaWMKKworICAzLiBOeW7tIHpub3Z1IHZ5aGxlZGVqICdpZ25vcmUnIHN0aXNrbnV07W06IG4KKyAgICAgTuxrb2xpa3LhdCBobGVk4W7tIHpvcGFrdWogc3Rpc2tudXTtbSBrbOF2ZXN5IG4uCisKKyAgNC4gTmFzdGF2IG1vvm5vc3RpICdobHNlYXJjaCcgYSAnaW5jc2VhcmNoJzoKKyAgICAgOnNldCBobHMgaXMKKworICA1LiBOeW7tIHpub3Z1IHZ5a29uZWogdnlobGVk4XZhY+0gcPjta2F6IGEgc2xlZHVqLCBjbyBzZSBzdGFuZToKKyAgICAgL2lnbm9yZQorCisgIDYuIFBybyB2eXBudXTtIHp2/XJhevJvduFu7SB2/XNsZWRr+SBuYXBpuToKKyAgICAgOm5vaGxzZWFyY2gKK35+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+fgorCQkJICAgICAgIFNIUkhOVVTNIExFS0NFIDYKKworCisgIDEuIFN0aXNrbnV07SAgbyAgb3RldvhlIG5vdv0g+OFkZWsgUE9EIGt1cnpvcmVtIGEgdW3tc3TtIGt1cnpvciBuYSB2bG++ZW79CisgICAgIPjhZGVrIGRvIFZrbOFkYWPtaG8gbfNkdS4KKyAgICAgTmFwc+Fu7SB2ZWxr6WhvICBPICBvdGV2+GUg+OFkZWsgTkFEIPjhZGtlbSwgbmEga3RlcultIGplIGt1cnpvci4KKworICAyLiBTdGlza25pICBhICBwcm8gdmxvvmVu7SB0ZXh0dSBaQSB6bmFrIG5hIHBvemljaSBrdXJ6b3J1LgorICAgICBOYXBz4W7tIHZlbGvpaG8gIEEgIGF1dG9tYXRpY2t5IHD4aWThIHRleHQgbmEga29uZWMg+OFka3UuCisKKyAgMy4gU3Rpc2tudXTtIHZlbGvpaG8gIFIgIHD4ZXBuZSBkbyBOYWhyYXpvdmFj7WhvIG3zZHUsIGRva3VkCisgICAgIG5lc3Rpc2tuZbkgPEVTQz4gcHJvIGplaG8gdWtvbuhlbu0uCisKKyAgNC4gTmFwc+Fu7SAiOnNldCB4eHgiIG5hc3Rhdu0gbW++bm9zdGkgInh4eCIuCisKKworCisKKworCisKKworfn5+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+CisJCSAgICAgIExFS0NFIDc6IFDYzUtBWlkgT04tTElORSBOwVBPVsxEWQorCisKKwkJICAgKiogUG91vu12ZWogb24tbGluZSBzeXN06W0gbuFwb3bsZHkgKioKKworICBWaW0gbeEgb2Jz4Whs/SBvbi1saW5lIHN5c3TpbSBu4XBvduxkeS4gUHJvIHph6OF0ZWsgdnl6a291uWVqIGplZGVuIHoKKyAgbuFzbGVkdWrtY+1jaDoKKwktIHN0aXNrbmkga2zhdmVzdSA8SEVMUD4gKHBva3VkIGppIG3huSkKKwktIHN0aXNrbmkga2zhdmVzdSA8RjE+ICAocG9rdWQgamkgbeG5KQorCS0gbmFwabkgIDpoZWxwIDxFTlRFUj4KKworICBOYXBpuSAgOnEgPEVOVEVSPiAgcHJvIHV6YXb4ZW7tIG9rbmEgbuFwb3bsZHkuCisKKyAgTfm+ZbkgbmFq7XQgbuFwb3bsZHUgayBqYWvpbXVrb2xpdiB06W1hdHUgcPhpZOFu7W0gYXJndW1lbnR1IGsKKyAgcPjta2F6dSAiOmhlbHAiLiBaa3VzIHR5dG8gKG5lemFwb21l8iBzdGlza25vdXQgPEVOVEVSPik6CisKKwk6aGVscCB3CisJOmhlbHAgY188VAorCTpoZWxwIGluc2VydC1pbmRleAorCTpoZWxwIHVzZXItbWFudWFsCisKKworfn5+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+CisJCSAgTEVLQ0UgODogVllUVk/YRU7NIElOSUNJQUxJWkHITs1ITyBTS1JJUFRVCisKKwkJICAgICAgICAqKiBaYXBuaSBmdW5rY2UgZWRpdG9ydSBWaW0gKioKKworICBWaW0gbeEgZGFsZWtvIHbtY2UgZnVua2PtIG5lviBWaSwgYWxlIHbsdLlpbmEgeiBuaWNoIGplIHZ5cG51dGEgdmUgdv1jaG967W0KKyAgbmFzdGF2ZW7tLiBQcm8gemFwbnV07SBu7Gt0ZXL9Y2ggdnl0dm/4IHNvdWJvciAidmltcmMiLgorCisgIDEuIFph6G5pIHVwcmF2b3ZhdCBzb3Vib3IgInZpbXJjIi4gVG90byB64XZpc+0gbmEgcG91vml06W0gc3lzdOltdToKKwk6ZWRpdCB+Ly52aW1yYwkJCXBybyBVbml4CisJOmVkaXQgJFZJTS9fdmltcmMJCXBybyBNUy1XaW5kb3dzCisKKyAgMi4gTnlu7SDodGkgdWvhemtvdv0gInZpbXJjIiBzb3Vib3I6CisKKwk6cmVhZCAkVklNUlVOVElNRS92aW1yY19leGFtcGxlLnZpbQorCisgIDMuIFVsb74gc291Ym9yIHBvbW9j7ToKKworCTp3cml0ZQorCisgIFBvIHD47bl07W0gc3RhcnR1IFZpbSBzZSB6YXBuZSB6dv1yYXryb3bhbu0gc3ludGF4ZS4KKyAgRG8gc291Ym9ydSAidmltcmMiIG35vmW5IHD4aWRhdCB2uWVjaG55IHN2b2plIHVw+GVkbm9zdPJvdmFu6SBuYXN0YXZlbu0uCisKK35+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+fgorCisgIFRvdG8gdWtvbuh1amUgdv11a3UgVmltLCBrdGVy4SBieWxhIG15uWxlbuEgamFrbyBzdHJ16G79IHD4ZWhsZWQKKyAgZWRpdG9ydSBWaW0sIHRhayBha29y4XQgcG9zdGHodWrtY+0gcHJvIGxlaGvpIGEgb2JzdG9qbukgcG91vu124W7tIGVkaXRvcnUuCisgIFRhdG8gdv11a2EgbeEgZGFsZWtvIG9kIPpwbG5vc3RpLCBwcm90b75lIFZpbSBvYnNhaHVqZSBwb2RzdGF0buwgdu1jZQorICBw+O1rYXr5LiBE4WxlIHNpIHD4Zeh0aSB1vml2YXRlbHNr/SBtYW514Ww6ICI6aGVscCB1c2VyLW1hbnVhbCIuCisKKyAgUHJvIGRhbLntIHN0dWRpdW0gamUgZG9wb3J16GVu4SBrbmloYToKKwlWaW0gLSBWaSBJbXByb3ZlZCAtIG9kIFN0ZXZlIE91YWxsaW5lCisJTmFrbGFkYXRlbDogTmV3IFJpZGVycworICBQcnZu7SBrbmloYSB1cuhlbuEgcHJvIFZpbS4gT2J6dmzhuXTsIHZob2Ru4SBwcm8gemHo4XRl6G7ta3kuCisgIE9ic2FodWplIG1ub75zdHbtIHD47WtsYWT5IGEgb2Jy4Xpr+S4KKyAgdml6IGh0dHA6Ly9pY2NmLWhvbGxhbmQub3JnL2NsaWNrNS5odG1sCisKKyAgVGF0byBrbmloYSBqZSBzdGFyue0gYSB27WNlIHbsbm92YW7hIFZpIG5lviBWaW0sIGFsZSB0YWvpIGRvcG9ydehlbuE6CisJTGVhcm5pbmcgdGhlIFZpIEVkaXRvciAtIG9kIExpbmRhIExhbWIKKwlOYWtsYWRhdGVsOiBPJ1JlaWxseSAmIEFzc29jaWF0ZXMgSW5jLgorICBKZSB0byBkb2Jy4SBrbmloYSBwcm8geu1za+Fu7SB27GRvbW9zdO0gdOlt7PggbyB2uWVtLCBjbyBt+b5ldGUgcyBWaSBk7GxhdC4KKyAgqWVzdOkgdnlk4W7tIG9ic2FodWplIHTpviBpbmZvcm1hY2UgbyBWaW0uCisKKyAgVGF0byB2/XVrYSBieWxhIG5hcHNhbuEgYXV0b3J5IE1pY2hhZWwgQy4gUGllcmNlIGEgUm9iZXJ0IEsuIFdhcmUsCisgIENvbG9yYWRvIFNjaG9vbCBvZiBNaW5lcyBzIHBvdb5pdO1tIG15uWxlbmVrIG9kOiBDaGFybGVzIFNtaXRoLAorICBDb2xvcmFkbyBTdGF0ZSBVbml2ZXJzaXR5LiAgRS1tYWlsOiBid2FyZUBtaW5lcy5jb2xvcmFkby5lZHUuCisKKyAgVXByYXZpbCBwcm8gVmltOiBCcmFtIE1vb2xlbmFhci4KKworfn5+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+CisKKyAgUPhla2xhZCBkbyDoZbl0aW55OiBMdWJvuSBUdXJlaworICBFLU1haWw6IGx1Ym9zLnR1cmVrQGdtYWlsLmNvbQorICAyMDA3IEZlYiAyOCAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvdHV0b3IuY3MuY3AxMjUwIGIvcnVudGltZS90dXRvci90dXRvci5jcy5jcDEyNTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTNmZDdiNwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvdHV0b3IvdHV0b3IuY3MuY3AxMjUwCkBAIC0wLDAgKzEsODEyIEBACis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cis9ICAgIFYg7SB0IGUgaiB0IGUgICB2ICB0IHUgdCBvIHIgaSBhIGwgdSAgIFYgSSBNICAgICAgIC0gICAgVmVyemUgMS41ICAgICAgICA9Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgICAgVmltIGplIHZlbG1pIHb9a29ubv0gZWRpdG9yLCBrdGVy/SBt4SBw+O1saZogbW5vaG8gcPjta2F6+SBuYSB0bywgYWJ5CisgICAgIG1vaGx5IGL9dCB2mmVjaG55IHZ5c3bsdGxlbukgdmUgdv11Y2UgamFrbyB0YXRvLiBUYXRvIHb9dWthIG9ic2FodWplCisgICAgIGRvc3RhdGXobukgbW5vnnN0du0gcPjta2F6+SBuYSB0bywgYWJ5IGJ5bG8gbW+ebukgcG91nu12YXQgVmltIGpha28KKyAgICAgdu1jZfroZWxvdv0gZWRpdG9yLgorCisgICAgIFD4aWJsaZ5u/SDoYXMgcG90+GVibv0ga2UgenZs4WRudXTtIHTpdG8gdv11a3kgamUgMjUtMzAgbWludXQsIHrhbGWe7QorICAgICBuYSB0b20sIGtvbGlrIOhhc3Ugc3Ry4XbtdGUgcPhlemt1mm924W7tbS4KKworICAgICBQ+O1rYXp5IHYgbGVrY+1jaCB1cHJhdnVq7SB0ZXh0LiBWeXR2b/gga29waWkgdG9ob3RvIHNvdWJvcnUgcHJvCisgICAgIHByb2N2aehvduFu7SAocPhpIHN0YXJ0dSAidmltdHV0b3IiIGplIGppniB0b3RvIGtvcGllKS4KKworICAgICBKZSBk+Wxlnml06SBwYW1hdG92YXQsIJ5lIHRhdG8gdv11a2EgamUgdnl0dm/4ZW5hIHBybyB2/XVrdSBwb3We7Xbhbu1tLgorICAgICBUbyB6bmFtZW7hLCCeZSBqZSBwb3T4ZWJhIHNpIHD47Wthenkgdnl6a291mmV0IHBybyBqZWppY2ggc3By4XZu6QorICAgICBuYXXoZW7tLiBQb2t1ZCBzaSBqZW4g6HRlmiB0ZXh0LCBw+O1rYXp5IHphcG9tZW5lmiEKKworICAgICBOeW7tIHNlIHD4ZXN27GTodGUsIJ5lIFNoaWZ0LUxvY2sgTkVOzSBzdGxh6GVu/SBhIG7sa29saWty4XQgc3Rpc2tu7HRlCisgICAgIGts4XZlc3UgIGogICBhYnkgc2Uga3Vyem9yIHBvc3VudWwgbmF0b2xpaywgnmUgbGVrY2UgMS4xIHphcGxu7SBjZWxvdQorICAgICBvYnJhem92a3UuCit+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+fn4KKwkJCUxla2NlIDEuMTogIFBPSFlCIEtVUlpPUlUKKworCisgICAqKiBQcm8gcG9oeWIga3Vyem9ydSBwb3We7XZlaiBrbOF2ZXN5IGgsaixrLGwgamFrIGplIHpu4Xpvcm7sbm8gbu2eZS4gKioKKwkgICAgIF4KKwkgICAgIGsJCSAgIEZ1bmtjZTogS2zhdmVzYSBoIGplIHZsZXZvIGEgdnlrb27hIHBvaHliIHZsZXZvLgorICAgICAgIDwgaAkgbCA+CQkgICBLbOF2ZXNhIGwgamUgdnByYXZvIGEgdnlrb27hIHBvaHliIHZwcmF2by4KKwkgICAgIGoJCQkgICBLbOF2ZXNhIGogdnlwYWThIG5hIJppcGt1IGRvbHUuCisJICAgICB2CisgIDEuIFBvaHlidWoga3Vyem9yZW0gcG8gb2JyYXpvdmNlIGRva3VkIHNpIG5hIHRvIG5lenZ5a25lmi4KKworICAyLiBEcp4ga2zhdmVzdSBwcm8gcG9oeWIgZG9sdSAoaiksIGRva3VkIHNlIGplau0gZnVua2NlIG5lem9wYWt1amUuCistLS0+IFRl7yB27ZogamFrIHNlIHD4ZXN1bm91dCBuYSBu4XNsZWR1au1j7SBsZWtjaS4KKworICAzLiBQb3WeaXTtbSBrbOF2ZXN5IGRvbHUgcPhlamRpIG5hIGxla2NpIDEuMi4KKworUG96buFta2E6IFBva3VkIHNpIG7sa2R5IG5lanNpIGppc3Qgbuzo7W0sIGNvIGpzaSBuYXBzYWwsIHN0bGHoIDxFU0M+IHBybworICAgICAgICAgIHD4ZWNob2QgZG8gTm9ybeFsbu1obyBt82R1LiBQb3TpIHD4ZXBpmiBwb55hZG92YW79IHD47Wthei4KKworUG96buFta2E6IEt1cnpvcm926SBrbOF2ZXN5IHRha+kgZnVuZ3Vq7SwgYXaaYWsgcG91nu124W7tIGhqa2wgamUgcnljaGxlaprtCisgICAgICAgICAgamFrbWlsZSBzaSBuYSBu7GogenZ5a25lmi4KKworfn5+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+CisJCSAgICAgTGVrY2UgMS4yOiBTUFWKVMxOzSBBIFVLT07IRU7NIFZJTQorCisKKyAgISEgUE9aTsFNS0E6IFD4ZWQgdnlrb27hbu1tIHTsY2h0byBrcm9r+SBzaSBw+GXodGkgY2Vsb3UgbGVrY2khIQorCisgIDEuIFN0bGHoIDxFU0M+IChwcm8gdWppmnTsbu0sIJ5lIHNlIG5hY2jheu2aIHYgTm9ybeFsbu1tIG3zZHUpLgorCisgIDIuIE5hcGmaOgkJCTpxISA8RU5URVI+LgorCistLS0+IFTtbXRvIHVrb27o7ZogZWRpdG9yIEJFWiB1bG+eZW7tIHpt7G4sIGt0ZXLpIHNpIHZ5a29uYWwuCisgICAgIFBva3VkIGNoY2WaIHVsb55pdCB6bexueSBhIHVrb27oaXQgZWRpdG9yIG5hcGmaOgorCQkJCTp3cSAgPEVOVEVSPgorCisgIDMuIEGeIHNlIGRvc3RhbmWaIG5hIHD47Wthem92/SD44WRlaywgbmFwaZogcPjta2F6LCBrdGVy/W0gc2UgZG9zdGFuZZogenDsdAorICAgICBkbyB06XRvIHb9dWt5LiBUbyBt+Z5lIGL9dDogdmltdHV0b3IgPEVOVEVSPgorICAgICBC7J5u7CBzZSBwb3We7XbhOgkJIHZpbSB0dXRvciA8RU5URVI+CisKKy0tLT4gJ3ZpbScgem5hbWVu4SBzcHWadOxu7SBlZGl0b3J1LCAndHV0b3InIGplIHNvdWJvciBrIGVkaXRhY2kuCisKKyAgNC4gUG9rdWQgc2kgdHl0byBrcm9reSBzcG9sZWhsaXbsIHBhbWF0dWplmiwgdnlrb25laiBrcm9reSAxIGGeIDMsIOjtbZ4KKyAgICAgdWtvbujtmiBhIHpub3Z1IHNwdXN07ZogZWRpdG9yLiBQb3RvbSBw+GVzdfIga3Vyem9yIGRvbHUgbmEgbGVrY2kgMS4zLgorICAgICAKK35+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+fgorCQkgICAgIExla2NlIDEuMzog2lBSQVZBIFRFWFRVIC0gTUFawU7NCisKKworICAqKiBTdGlza251dO1tIGts4XZlc3kgIHggIHYgTm9ybeFsbu1tIG3zZHUgc21hnmWaIHpuYWsgbmEgbe1zdOwga3Vyem9ydS4gKioKKworICAxLiBQ+GVzdfIga3Vyem9yIG7tnmUgbmEg+OFkZWsgb3puYehlbv0gLS0tPi4KKworICAyLiBLIG9kc3RyYW7sbu0gY2h5YiBw+GVqZGkga3Vyem9yZW0gbmEgem5haywga3Rlcv0gY2hjZZogc21hemF0LgorCisgIDMuIFN0bGHoIGts4XZlc3UgIHggIGsgb2RzdHJhbuxu7SBuZWNodOxu/WNoIHpuYWv5LgorCisgIDQuIE9wYWt1aiBrcm9reSAyIGGeIDQgZG9rdWQgbmVu7SB27HRhIHNwcuF2buwuCisKKy0tLT4gS3Lh4XZhIHNrb+joaWxsYSBw+GVzcyBt7HNz7WMuCisKKyAgNS4gUG9rdWQgamUgdux0YSBzcHLhdm7sLCBw+GVqZGkgbmEgbGVrY2kgMS40LgorCitQT1pOwU1LQTogTmVzbmGeIHNlIHBvdXplIHphcGFtYXRvdmF0IHD4ZWR24WTsbukgcPjta2F6eSwgdeggc2UgamUgcG91nu124W7tbS4KKworCisKKworfn5+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+CisJCSAgICAgTGVrY2UgMS40OiDaUFJBVkEgVEVYVFUgLSBWS0zBRMFOzQorCisKKyAgICAgICoqIFN0bGHoZW7tIGts4XZlc3kgIGkgIHYgTm9ybeFsbu1tIG3zZHUgdW1vnvJ1amUgdmts4WThbu0gdGV4dHUuICoqCisKKyAgMS4gUPhlc3XyIGt1cnpvciBuYSBwcnZu7SD44WRlayBvem5h6GVu/SAtLS0+LgorCisgIDIuIFBybyB1cHJhdmVu7SBwcnZu7WhvIPjhZGt1IGRvIHBvZG9ieSD44WRrdSBkcnVo6WhvLCBw+GVzdfIga3Vyem9yIG5hCisgICAgIHBydm7tIHpuYWsgemEgbe1zdG8sIGtkZSBt4SBi/XQgdGV4dCB2bG+eZW79LgorCisgIDMuIFN0bGHoICBpICBhIG5hcGmaIHBvdPhlYm79IGRvZGF0ZWsuCisKKyAgNC4gUG8gb3ByYXZlbu0ga2GeZOkgY2h5Ynkgc3RsYeggPEVTQz4gcHJvIG7hdnJhdCBkbyBOb3Jt4Wxu7WhvIG3zZHUuCisgICAgIE9wYWt1aiBrcm9reSAyIGGeIDQgZG9rdWQgbmVu7SB27HRhIHNwcuF2buwuCisKKy0tLT4gTuxqYWv9IHR4dCBuYSB06XRvIC4KKy0tLT4gTuxqYWv9IHRleHQgY2h5Yu0gbmEgdOl0byD44WRjZS4KKworICA1LiBQb2t1ZCBqaZ4gb3Zs4WThmiB2a2zhZOFu7SB0ZXh0dSwgcPhlamRpIG5hIG7hc2xlZHVq7WPtIHNocm51dO0uCisKKworCit+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+fn4KKwkJCSAgICAgICBTSFJOVVTNIExFS0NFIDEKKworCisgIDEuIEt1cnpvcmVtIHNlIHBvaHlidWplIHBvbW9j7SCaaXBlayBuZWJvIGts4XZlc2FtaSBoamtsLgorCWggKHZsZXZvKQlqIChkb2x1KQlrIChuYWhvcnUpCWwgKHZwcmF2bykKKworICAyLiBQcm8gc3B1mnTsbu0gVmltdSAoeiBw+O1rYXpvdulobyD44WRrdSkgbmFwaZo6IHZpbSBTT1VCT1IgPEVOVEVSPgorCisgIDMuIFBybyB1a29u6GVu7SBWaW11IG5hcGmaOiA8RVNDPiAgOnEhICA8RU5URVI+ICBiZXogdWxvnmVu7SB6bexuLgorCSAgICAgCSAgICAgICBhbmVibzogPEVTQz4gIDp3cSAgPEVOVEVSPiAgcHJvIHVsb55lbu0gem3sbi4KKworICA0LiBQcm8gc21heuFu7SB6bmFrdSBwb2Qga3Vyem9yZW0gbmFwaZogdiBOb3Jt4Wxu7W0gbfNkdTogIHgKKworICA1LiBQcm8gdmts4WThbu0gdGV4dHUgb2Qgbe1zdGEga3Vyem9ydSBuYXBpmiB2IE5vcm3hbG7tbSBt82R1OgorCSBpICAgICB2a2zhZGFu/SB0ZXh0CTxFU0M+CisKK1BPWk7BTUtBOiBTdGxh6GVu7SA8RVNDPiB07CBw+GVt7XN07SBkbyBOb3Jt4Wxu7WhvIG3zZHUgbmVibyB6cnWa7SBuZWNodOxu/QorICAgICAgYSDo4XN0Zehu7CBkb2tvbuhlbv0gcPjta2F6LgorCitOeW7tIHBva3Jh6HVqIExla2PtIDIuCisKKworfn5+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+CisJCQlMZWtjZSAyLjE6IFDYzUtBWlkgTUFawU7NCisKKworCSAgICAgICAqKiBQ+O1rYXogIGR3ICBzbWGeZSB6bmFreSBkbyBrb25jZSBzbG92YS4gKioKKworICAxLiBTdGxh6CAgPEVTQz4gIGsgdWJlenBl6GVu7SwgnmUganNpIHYgTm9ybeFsbu1tIG3zZHUuCisKKyAgMi4gUPhlc3XyIGt1cnpvciBu7Z5lIG5hIPjhZGVrIG96bmHoZW79IC0tLT4uCisKKyAgMy4gUPhlc3XyIGt1cnpvciBuYSB6YejhdGVrIHNsb3ZhLCBrdGVy6SBqZSBwb3T4ZWJhIHNtYXphdC4KKworICA0LiBOYXBpmiAgIGR3CSAsIGFieSBzbG92byB6bWl6ZWxvLgorCitQT1pOwU1LQTogUO1zbWVuYSBkdyBzZSB6b2JyYXrtIG5hIHBvc2xlZG7tbSD44WRrdSBvYnJhem92a3kgamFrbWlsZSBqZQorCSAgbmFw7Zplmi4gS2R5niBuYXDtmmWaIG7sY28gmnBhdG7sLCBzdGxh6CAgPEVTQz4gIGEgemHobmkgem5vdmEuCisKKy0tLT4gSnNvdSB0dSBu7Gpha+Egc2xvdmEgeuFiYXZhLCBrdGVy4SBuZXBhdPjtIGxpc3QgZG8gdOl0byB27HR5LgorCisgIDUuIE9wYWt1aiBrcm9reSAzIGGeIDQgZG9rdWQgbmVu7SB27HRhIHNwcuF2buwgYSBw+GVqZGkgbmEgbGVrY2kgMi4yLgorCisKKworfn5+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+CisJCSAgICAgIExla2NlIDIuMjogVs1DRSBQ2M1LQVrZIE1BWsFOzQorCisKKwkgICAqKiBOYXBz4W7tIHD47WthenUgIGQkICBzbWGeZSB2mmUgYZ4gZG8ga29uY2Ug+OFka3kuICoqCisKKyAgMS4gU3RsYeggIDxFU0M+ICBrIHViZXpwZehlbu0sIJ5lIGpzaSB2IE5vcm3hbG7tbSBt82R1LgorCisgIDIuIFD4ZXN18iBrdXJ6b3Igbu2eZSBuYSD44WRlayBvem5h6GVu/SAtLS0+LgorCisgIDMuIFD4ZXN18iBrdXJ6b3IgbmEga29uZWMgc3By4XZu6SB27HR5IChaQSBwcnZu7SB0ZehrdSkuCisKKyAgNC4gTmFwaZogIGQkICAsYWJ5IGpzaSBzbWF6YWwgem5ha3kgYZ4gZG8ga29uY2Ug+OFka3UuCisKKy0tLT4gTuxrZG8gbmFwc2FsIGtvbmVjIHTpdG8gdux0eSBkdmFrcuF0LiBrb25lYyB06XRvIHbsdHkgZHZha3LhdC4KKworCisgIDUuIFD4ZWpkaSBuYSBsZWtjaSAyLjMgcHJvIHBvY2hvcGVu7SB0b2hvLCBjbyBzZSBzdGFsby4KKworCisKKworCit+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+fn4KKwkJICBMZWtjZSAyLjM6IFJPWopJ2E9WQUPNIFDYzUtBWlkgQSBPQkpFS1RZCisKKworICBGb3Jt4XQgbWF6YWPtaG8gcPjta2F6dSAgZCAgamUgbuFzbGVkdWrtY+06CisKKwkgW+jtc2xvXSAgIGQgICBvYmpla3QgICAgIE5FQk8gICAgIGQgICBb6O1zbG9dICAgb2JqZWt0CisgIEtkZToKKyAgICDo7XNsbyAtIHVk4XbhIGtvbGlrcuF0IHNlIHD47WtheiB2eWtvbuEgKHZvbGl0ZWxu6Swgdv1jaG967T0xKS4KKyAgICBkIC0gamUgcPjta2F6IG1heuFu7S4KKyAgICBvYmpla3QgLSB1ZOF24SBuYSDoZW0gc2UgcPjta2F6IHZ5a29u4XbhICh2eXBzYW7pIG7tnmUpLgorCisgIEty4XRr/SB2/XBpcyBvYmpla3T5OgorICAgIHcgLSBvZCBrdXJ6b3J1IGRvIGtvbmNlIHNsb3ZhLCB26GV0buwgbWV6ZXIuCisgICAgZSAtIG9kIGt1cnpvcnUgZG8ga29uY2Ugc2xvdmEsIEJFWiBtZXplci4KKyAgICAkIC0gb2Qga3Vyem9ydSBkbyBrb25jZSD44WRrdS4KKworUE9aTsFNS0E6ICBTdGxh6GVu7W0ga2zhdmVzeSBvYmpla3R1IHYgTm9ybeFsbu1tIG3zZHUgc2Uga3Vyem9yIHD4ZXN1bmUgbmEKKyAgICAgICAgICAgbe1zdG8gdXD4ZXNu7G7pIHZlIHb9cGlzdSBvYmpla3T5LgorCisKKworCit+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+fn4KKwkJICAgICBMZWtjZSAyLjQ6IFbdSklNS0EgWiAnUNjNS0FaLU9CSkVLVCcKKworCisgICAgCSAgICAgICAgICAqKiBOYXBz4W7tbSAgIGRkICAgc21hnmWaIGNlbP0g+OFkZWsuICoqCisKKyAgVnpobGVkZW0gayDoYXN0b3N0aSBtYXrhbu0gY2Vs6WhvIPjhZGt1IHNlIGF1dG/4aSBWaW11IHJvemhvZGxpLCCeZSBidWRlCisgIGplZG5vZHWa7SBuYXBzYXQgcHJvc3TsIGR27CBkIGsgc21heuFu7SBjZWzpaG8g+OFka3UuCisKKyAgMS4gUPhlc3XyIGt1cnpvciBuYSBkcnVo/SD44WRlayBzcG9kbu1obyB0ZXh0dS4KKyAgMi4gTmFwaZogIGRkICBwcm8gc21heuFu7SD44WRrdS4KKyAgMy4gUPhlamRpIG5hIOh0dnJ0/SD44WRlay4KKyAgNC4gTmFwaZogICAyZGQgICAodnpwb21l8iBzaSAg6O1zbG8tcPjta2F6LW9iamVrdCkgcHJvIHNtYXrhbu0gZHZvdSD44WRr+S4KKworICAgICAgMSkgIFL5nmUganNvdSDoZXJ2ZW7pLAorICAgICAgMikgIEJs4XRvIGplIHrhYmF2buksCisgICAgICAzKSAgRmlhbGt5IGpzb3UgbW9kcuksCisgICAgICA0KSAgTeFtIGF1dG8sCisgICAgICA1KSAgSG9kaW5reSB1a2F6dWrtIOhhcywKKyAgICAgIDYpICBDdWtyIGplIHNsYWRr/SwKKyAgICAgIDcpICBBIHRvIGpzaSBpIHR5LgorCisKK35+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+fgorCQkJICAgTGVrY2UgMi41OiBQ2M1LQVogVU5ETworCisKKyAgICoqIFN0bGHoICB1CXBybyB2cuFjZW7tIHBvc2xlZG7taG8gcPjta2F6dSwgIFUgIHBybyBjZWxvdSD44WRrdS4gKioKKworICAxLiBQ+GVzdfIga3Vyem9yIG7tnmUgbmEg+OFkZWsgb3puYehlbv0gLS0tPiBhIHD4ZW3tc3RpIGhvIG5hIHBydm7tIGNoeWJ1LgorICAyLiBOYXBpmiAgeCAgcHJvIHNtYXrhbu0gcHJ2bu1obyBuZWNodOxu6WhvIHpuYWt1LgorICAzLiBUZe8gbmFwaZogIHUgIOjtbZ4gdnLhdO2aIHpw7HQgcG9zbGVkbu0gdnlrb25hbv0gcPjta2F6LgorICA0LiBOeW7tIG9wcmF2IHaaZWNobnkgY2h5YnkgbmEg+OFka3UgcG9tb2PtIHD47WthenUgIHggIC4KKyAgNS4gTmFwaZogdmVsa+kgIFUgIOjtbZ4gdnLhdO2aIPjhZGVrIGRvIHD5dm9kbu1obyBzdGF2dS4KKyAgNi4gVGXvIG5hcGmaICB1ICBu7GtvbGlrcuF0LCDo7W2eIHZy4XTtmiB6cOx0IHD47WtheiAgVSAgLgorICA3LiBTdGxh6CBDVFJMLVIgKGts4XZlc3UgQ1RSTCBkcp4gc3RsYehlbm91IGEgc3Rpc2tuaSBSKSBu7GtvbGlrcuF0LAorICAgICDo7W2eIHZy4XTtmiB6cOx0IHD4ZWR07W0gdnLhY2Vu6SBw+O1rYXp5IChyZWRvKS4KKworLS0tPiBPcHByYXYgY2h5YmJ5IG5uYSB0b29tdG8g+OFka3UgYSBuYWhyYe8gamUgcG9tbW9j7SB1bmRvLgorCisgIDguIFRvdG8ganNvdSB2ZWxtaSB1nml0Zehu6SBw+O1rYXp5LiBOeW7tIHD4ZWpkaSBuYSBzb3Vocm4gTGVrY2UgMi4KKworICAKKworCisKK35+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+fgorCQkJICAgICAgIFNIUk5VVM0gTEVLQ0UgMgorCisKKyAgMS4gUHJvIHNtYXrhbu0gem5ha/kgb2Qga3Vyem9ydSBkbyBrb25jZSBzbG92YSBuYXBpmjogICAgZHcKKworICAyLiBQcm8gc21heuFu7SB6bmFr+SBvZCBrdXJ6b3J1IGRvIGtvbmNlIPjhZGt1IG5hcGmaOiAgICBkJAorCisgIDMuIFBybyBzbWF64W7tIGNlbOlobyD44WRrdSBuYXBpmjogICAgZGQKKworICA0LiBGb3Jt4XQgcPjta2F6dSB2IE5vcm3hbG7tbSBt82R1IGplOgorCisgICAgICAgW+jtc2xvXSAgIHD47WtheiAgIG9iamVrdCAgICBORUJPICAgIHD47WtheiAgICAgW+jtc2xvXSAgIG9iamVrdAorICAgICBrZGU6CisgICAgICAg6O1zbG8gLSB1ZOF24SBwb+hldCBvcGFrb3bhbu0gcPjta2F6dQorICAgICAgIHD47WtheiAtIHVk4XbhIGNvIGplIHT4ZWJhIHZ5a29uYXQsIG5hcPjta2xhZCAgZCAgbWGeZQorICAgICAgIG9iamVrdCAtIHVk4XbhIHJvenNhaCBw+O1rYXp1LCBuYXD47WtsYWQgIHcgIChzbG92byksCisJCSQgKGRvIGtvbmNlIPjhZGt1KSwgYXRkLgorCisgIDUuIFBybyB2cuFjZW7tIHD4ZWRlmmzpIOhpbm5vc3RpLCBuYXBpmjoJdSAobWFs6SB1KQorICAgICBQcm8gdnLhY2Vu7SB2mmVjaCD6cHJhdiBuYSD44WRrdSBuYXBpmjoJVSAodmVsa+kgVSkKKyAgICAgUHJvIHZy4WNlbu0gdnLhY2Vu/WNoIPpwcmF2IChyZWRvKSBuYXBpmjoJQ1RSTC1SCisKK35+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+fgorCQkJIExla2NlIDMuMTogUNjNS0FaIFZMT45JVAorCisKKyAgICAgICAqKiBQ+O1rYSAgcCAgdmxvnu0gcG9zbGVkbu0gdnltYXphbv0gdGV4dCB6YSBrdXJ6b3IuICoqCisKKyAgMS4gUPhlc3XyIGt1cnpvciBu7Z5lIG5hIHBvc2xlZG7tIPjhZGVrIHRleHR1LgorCisgIDIuIE5hcGmaICBkZCAgcHJvIHNtYXrhbu0g+OFka3UgYSBqZWhvIHVsb55lbu0gZG8gYnVmZmVydS4KKworICAzLiBQ+GVzdfIga3Vyem9yIFbdikUgdGFtLCBrYW0gc21hemFu/SD44WRlayBwYXT47S4KKworICA0LiBWIE5vcm3hbG7tbSBt82R1IG5hcGmaICBwICBwcm8gb3DsdG7pIHZsb55lbu0g+OFka3UuCisKKyAgNS4gT3Bha3VqIGtyb2t5IDIgYZ4gNCBkb2t1ZCD44WRreSBuZWJ1ZG91IHZlIHNwcuF2bultIHBv+GFk7S4KKworICAgICBkKSBUYWvpIHNlIGRva+GeZZogdnpk7GzhdmF0PworICAgICBiKSBGaWFsa3kganNvdSBtb2Ry6SwKKyAgICAgYykgSW50ZWxpZ2VuY2Ugc2UgdejtLAorICAgICBhKSBS+Z5lIGpzb3Ug6GVydmVu6SwKKworCisKK35+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+fgorCQkgICAgICAgTGVrY2UgMy4yOiBQ2M1LQVogTkFIUkFaRU7NCisKKworICAgICAgICAgICoqIE5hcHPhbu1tICByICBhIHpuYWt1IHNlIG5haHJhZO0gem5hayBwb2Qga3Vyem9yZW0uICoqCisKKyAgMS4gUPhlc3XyIGt1cnpvciBu7Z5lIG5hIHBydm7tIPjhZGVrIG96bmHoZW79IC0tLT4uCisKKyAgMi4gUPhlc3XyIGt1cnpvciBuYSB6YejhdGVrIHBydm7tIGNoeWJ5LgorCisgIDMuIE5hcGmaICByICBhIHBvdG9tIHpuYWssIGt0ZXL9IG5haHJhZO0gY2h5YnUuCisKKyAgNC4gT3Bha3VqIGtyb2t5IDIgYZ4gMyBkb2t1ZCBuZW7tIHBydm7tIPjhZGthIHNwcuF2buwuCisKKy0tLT4gIEtkaZ4gYnlsIHB64W4gdGVudG8g+OFkZWcsIG7sa2R1IHN0bGGeaWwgmnBhcW7pIGts4XZlc3khCistLS0+ICBLZHmeIGJ5bCBwc+FuIHRlbnRvIPjhZGVrLCBu7GtkbyBzdGxh6O1sIJpwYXRu6SBrbOF2ZXN5IQorCisgIDUuIE55bu0gcPhlamRpIG5hIExla2NpIDMuMi4KKworUE9aTsFNS0E6IFphcGFtYXR1aiBzaSwgnmUgYnkgc2VzIG3sbCB16Gl0IHBvdZ7tduFu7W0sIG5lIHphcGFtYXRvduFu7W0uCisKKworCit+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+fn4KKwkJICAgICAgICAgICBMZWtjZSAzLjM6IFDYzUtBWiDaUFJBVlkKKworCisJICAqKiBQb2t1ZCBjaGNlmiB6bexuaXQg6OFzdCBuZWJvIGNlbOkgc2xvdm8sIG5hcGmaICBjdyAuICoqCisKKyAgMS4gUPhlc3XyIGt1cnpvciBu7Z5lIG5hIHBydm7tIPjhZGVrIG96bmHoZW79IC0tLT4uCisKKyAgMi4gVW3tc3RpIGt1cnpvciBuYSBw7XNtZW5vIGkgdiBzbG927CD4aZ1vay4KKworICAzLiBOYXBpmiAgY3cgIGEgb3ByYXYgc2xvdm8gKHYgdG9tdG8gcPjtcGFk7CBuYXBpmiAn4WRlaycuKQorCisgIDQuIFN0bGHoIDxFU0M+IGEgcPhlamRpIG5hIGRhbJrtIGNoeWJ1IChwcnZu7SB6bmFrLCBrdGVy/SB0+GViYSB6bexuaXQuKQorCisgIDUuIE9wYWt1aiBrcm9reSAzIGGeIDQgZG9rdWQgbmVu7SBwcnZu7SB27HRhIHN0ZWpu4SBqYWtvIHRhIGRydWjhLgorCistLS0+IFRlbnRvIPhpnW9rIG3hIG7sa29saWsgc2tpYywga3RlcukgcHNhZG9pbnNhIHpt7G5pdCBwYXNkZ2YgcPjta2F6dS4KKy0tLT4gVGVudG8g+OFkZWsgbeEgbuxrb2xpayBzbG92LCBrdGVy6SBwb3T4ZWJ1au0gem3sbml0IHBvbW9j7SBw+O1rYXp1LgorCitWmmltbmkgc2ksIJ5lICBjdyAgbmVqZW4gbmFocmF6dWplIHNsb3ZvLCBhbGUgdGFr6SBw+GVt7XN07SBkbyB2a2zhZOFu7S4KKworCisKK35+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+fgorCQkgICAgICAgTGVrY2UgMy40OiBWzUNFIFpNzE4gUE9VjklUzU0gYworCisKKyAgICoqIFD47WtheiBwcm8g+nByYXZ1IHNlIGRydZ7tIHNlIHN0ZWpu/W1pIG9iamVrdHkgamFrbyB0ZW4gcHJvIG1heuFu7S4gKioKKworICAxLiBQ+O1rYXogcHJvIPpwcmF2dSBwcmFjdWplIHN0ZWpu7CBqYWtvIHBybyBtYXrhbu0uIEZvcm3hdCBqZToKKworICAgICAgIFvo7XNsb10gICBjICAgb2JqZWt0CSBORUJPCSAgIGMJW+jtc2xvXSAgIG9iamVrdAorCisgIDIuIE9iamVrdHkganNvdSB0YWvpIHNob2Ru6SwgamFrbyBuYXD4LjogdyAoc2xvdm8pLCAkIChrb25lYyD44WRrdSksIGF0ZC4KKworICAzLiBQ+GVqZGkgbu2eZSBuYSBwcnZu7SD44WRlayBvem5h6GVu/SAtLS0+LgorCisgIDQuIFD4ZXN18iBrdXJ6b3IgbmEgcHJ2bu0gcm96ZO1sLgorCisgIDUuIE5hcGmaICBjJCAgcHJvIHVwcmF2ZW7tIHpieXRrdSD44WRrdSBwb2RsZSB0b2hvIGRydWjpaG8gYSBzdGxh6CA8RVNDPi4KKworLS0tPiBLb25lYyB0b2hvdG8g+OFka3UgcG90+GVidWplIHBvbW9jLCBhYnkgYnlsIGpha28gdGVuIGRydWj9LgorLS0tPiBLb25lYyB0b2hvdG8g+OFka3UgcG90+GVidWplIG9wcmF2aXQgcG91nml07W0gcPjta2F6dSAgYyQgIC4KKworCisKK35+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+fgorCQkJICAgICAgIFNIUk5VVM0gTEVLQ0UgMworCisKKyAgMS4gUHJvIHZsb55lbu0gdGV4dHUsIGt0ZXL9IGJ5bCBzbWF64W4sIG5hcGmaICBwICAuIFRvIHZsb57tIHNtYXphbv0gdGV4dAorICAgICBaQSBrdXJ6b3IgKHBva3VkIGJ5bCD44WRlayBzbWF6YW79LCBw+GVqZGUgbmEg+OFkZWsgcG9kIGt1cnpvcmVtKS4KKworICAyLiBQcm8gbmFocmF6ZW7tIHpuYWt1IHBvZCBrdXJ6b3JlbSwgbmFwaZogIHIgIGEgcG90b20gem5haywga3Rlcv1tCisgICAgIGNoY2WaIHD5dm9kbu0gem5hayBuYWhyYWRpdC4KKworICAzLiBQ+O1rYXogbmEgdXByYXZvduFu7SB1bW+e8nVqZSB6bexuaXQgc3BlY2lmaWtvdmFu/SBvYmpla3Qgb2Qga3Vyem9ydQorICAgICBkbyBrb25jZSBvYmpla3R1LiBOYXD47WtsYWQ6IE5hcGmaICBjdyAgLOjtbZ4gem3sbu2aIHRleHQgb2QgcG96aWNlCisgICAgIGt1cnpvcnUgZG8ga29uY2Ugc2xvdmEsICBjJCAgem3sbu0gdGV4dCBkbyBrb25jZSD44WRrdS4KKworICA0LiBGb3Jt4XQgcHJvIG5haHJhem924W7tIGplOgorCisJIFvo7XNsb10gICBjICAgb2JqZWt0ICAgICAgTkVCTyAgICAgYyAgIFvo7XNsb10gICBvYmpla3QKKworTnlu7SBw+GVqZGkgbmEgbuFzbGVkdWrtY+0gbGVrY2kuCisKKworCisKK35+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+fgorCQkgICAgICBMZWtjZSA0LjE6IFBPWklDRSBBIFNUQVRVUyBTT1VCT1JVCisKKworICAqKiBTdGxh6CBDVFJMLWcgcHJvIHpvYnJhemVu7SBzdukgcG96aWNlIHYgc291Ym9ydSBhIHN0YXR1c3Ugc291Ym9ydS4KKyAgICAgU3RsYeggU0hJRlQtRyBwcm8gcPhlY2hvZCBuYSD44WRlayB2IHNvdWJvcnUuICoqCisKKyAgUG96buFta2E6IFD4Zeh0aSBzaSBjZWxvdSBsZWtjaSBuZZ4gemHobmWaIHZ5a29u4XZhdCBrcm9reSEhCisKKyAgMS4gRHKeIGts4XZlc3UgQ3RybCBzdGxh6GVub3UgYSBzdGlza25pICBnICAuIFZlc3BvZCBvYnJhem92a3kgc2Ugem9icmF67QorICAgICBzdGF2b3b9IPjhZGVrIHMgbuF6dmVtIHNvdWJvcnUgYSD44WRrb3UgbmEga3Rlcukgc2UgbmFjaOF67ZouIFphcGFtYXR1agorICAgICBzaSDo7XNsbyD44WRrdSBwcm8ga3JvayAzLgorCisgIDIuIFN0bGHoIHNoaWZ0LUcgcHJvIHD4ZXN1biBuYSBrb25lYyBzb3Vib3J1LgorCisgIDMuIE5hcGmaIOjtc2xvIPjhZGt1IG5hIGt0ZXLpbSBzaSBzZSBuYWNo4XplbCBhIHN0bGHoIHNoaWZ0LUcuIFRvIHTsCisgICAgIHZy4XTtIG5hIPjhZGVrLCBuYSBrdGVy6W0ganNpIGT47XZlIHN0aXNrbCBDdHJsLWcuCisgICAgIChLZHmeIHDtmmWaIOjtc2xhLCB0YWsgc2UgTkVaT0JSQVpVSs0gbmEgb2JyYXpvdmNlLikKKworICA0LiBQb2t1ZCBzZSBj7XTtmiBzY2hvcG79IHZ5a29uYXQgdHl0byBrcm9reSwgdnlrb25laiBqZS4KKworCisKK35+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+fgorCQkJTGVrY2UgNC4yOiBQ2M1LQVogVllITEVEwVbBTs0KKworCisgICAgICoqIE5hcGmaICAvICBu4XNsZWRvdmFu6SD4ZXTsemNlbSBwcm8gdnlobGVk4W7tIG9ub2hvIPhldOx6Y2UuICoqCisKKyAgMS4gU3Rpc2tuaSAvIHYgTm9ybeFsbu1tIG3zZHUuICBWmmltbmkgc2ksIJ5lIHRlbnRvIHpuYWsgc2Ugc3BvbHUgcworICAgICBrdXJ6b3JlbSB6b2JyYXrtIHYgZG9sbu0g6OFzdGkgb2JyYXpvdmt5IGpha28gcPjta2F6ICA6ICAuCisKKyAgMi4gTnlu7SBuYXBpmiAnY2hoeWJiYScgPEVOVEVSPi4gIFRvIGplIHNsb3ZvLCBrdGVy6SBjaGNlmiB2eWhsZWRhdC4KKworICAzLiBQcm8gdnlobGVk4W7tIGRhbJrtaG8gdv1zbGVka3Ugc3Rlam7paG8g+GV07HpjZSwgamVkbm9kdZplIHN0bGHoICBuICAuCisgICAgIFBybyB2eWhsZWThbu0gZGFsmu1obyB2/XNsZWRrdSBzdGVqbulobyD4ZXTsemNlIG9wYehu/W0gc23scmVtLCBzdGlza25pCisgICAgIFNoaWZ0LU4uCisKKyAgNC4gUG9rdWQgY2hjZZogdnlobGVkYXQg+GV07HplYyB2IG9wYehu6W0gc23scnUsIHBvdZ5paiBw+O1rYXogID8gIG3tc3RvCisgICAgIHD47WthenUgIC8gIC4KKworLS0tPiAiY2hoeWJiYSIgbmVu7SB6cPlzb2IsIGphayBobOFza292YXQgY2h5YmE7IGNoaHliYmEgamUgY2h5YmEuCisKK1Bvem7hbWthOiBLZHmeIHZ5aGxlZOF24W7tIGRvc+FobmUga29uY2Ugc291Ym9ydSwgYnVkZSBwb2tyYehvdmF0IG5hIGplaG8KKyAgICAgICAgICB6YejhdGt1LgorCit+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+fn4KKwkJICAgTGVrY2UgNC4zOiBWWUhMRUTBVsFOzSBQwVJPVskgWsFWT1JLWQorCisKKwkgICAgICAqKiBOYXBpmiAgJSAgcHJvIG5hbGV6ZW7tIHDhcm926SApLF0sIG5lYm8gfSAuICoqCisKKyAgMS4gUPhlbe1zdGkga3Vyem9yIG5hIGt0ZXJvdWtvbGkgKCwgWywgbmVibyB7IHYg+OFka3Ugb3puYehlbultIC0tLT4uCisKKyAgMi4gTnlu7SBuYXBpmiB6bmFrICAlICAuCisKKyAgMy4gS3Vyem9yIHNlIHD4ZW3tc3TtIG5hIG9kcG927WRhau1j7SB64XZvcmt1LgorCisgIDQuIFN0bGHoICAlICBwcm8gcPhlc3VuIGt1cnpvcnUgenDsdCBuYSBvdHbtcmFq7WPtIHrhdm9ya3UuCisKKy0tLT4gVG90byAoIGplIHRlc3RvdmFj7SD44WRlayAoJ3MsIFsncyBdIGEgeydzIH0gdiBu7G0uICkpCisKK1Bvem7hbWthOiBUb3RvIGplIHZlbG1pIHWeaXRl6G7pIHD47SBsYWTsbu0gcHJvZ3JhbXUgcyBjaHli7GrtY+1taQorICAgICAgICAgIHV6YXbtcmFj7W1pIHrhdm9ya2FtaS4KKworCisKKworCit+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+fn4KKwkJICAgICAgTGVrY2UgNC40OiBaUNlTT0IgSkFLIFpNzE5JVCBDSFlCWQorCQkgICAgICAKKworICAgKiogTmFwaZogIDpzL3N0YXLpL25vdukvZyAgcHJvIG5haHJhemVu7SBzbG92YSAnbm926ScgemEgJ3N0YXLpJy4gKioKKworICAxLiBQ+GVzdfIga3Vyem9yIG5hIPjhZGVrIG96bmHoZW79IC0tLT4uCisKKyAgMi4gTmFwaZogIDpzL2RvYnLp6S9kb2Jy6SA8RU5URVI+IC4gIFaaaW1uaSBzaSwgnmUgdGVudG8gcPjta2F6IHpt7G7tIHBvdXplCisgICAgIHBydm7tIHb9c2t5dCB2IPjhZGt1LgorCisgIDMuIE55bu0gbmFwaZoJIDpzL2RvYnLp6S9kb2Jy6S9nICBjb54gem5hbWVu4SBjZWxrb3bpIG5haHJhemVu7SB2IPjhZGt1LgorICAgICBUb3RvIG5haHJhZO0gdpplY2hueSB2/XNreXR5IHYg+OFka3UuCisKKy0tLT4gZG9icunpIHN1cm92aW55IGEgZG9icunpIG7h6Glu7SBqc291IHrha2xhZGVtIGRvYnLp6SBrdWNoeW7sLgorCisgIDQuIFBybyB6bexudSB2mmVjaCB2/XNreXT5IPhldOx6Y2UgbWV6aSBkduxtYSD44WRreSwKKyAgICAgTmFwaZogICA6Iywjcy9zdGFy6S9ub3bpL2cgIGtkZSAjLCMganNvdSDo7XNsYSBvbuxjaCD44WRlay4KKyAgICAgTmFwaZogICA6JXMvc3Rhcukvbm926S9nICAgIHBybyB6bexudSB2mmVjaCB2/XNreXT5IHYgY2Vs6W0gc291Ym9ydS4KKworCisKKworfn5+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+CisJCQkgICAgICAgU0hSTlVUzSBMRUtDRSA0CisKKworICAxLiBDdHJsLWcgIHZ5cO2aZSB0dm91IHBvemljaSB2IHNvdWJvcnUgYSBzdGF0dXMgc291Ym9ydS4KKyAgICAgU2hpZnQtRyAgdOwgcPhlbe1zdO0gbmEga29uZWMgc291Ym9ydS4gIMjtc2xvIG7hc2xlZG92YW7pCisgICAgIFNoaWZ0LUcgIHTsIHD4ZXN1bmUgbmEgZGFu6SDo7XNsbyD44WRrdS4KKworICAyLiBOYXBz4W7tICAvICBu4XNsZWRvdmFu6SD4ZXTsemNlbSB2eWhsZWThIPhldOx6ZWMgc23scmVtIERPUNhFRFUuCisgICAgIE5hcHPhbu0gID8gIG7hc2xlZG92YW7pIPhldOx6Y2VtIHZ5aGxlZOEg+GV07HplYyBzbexyZW0gRE9aQURVLgorICAgICBOYXBz4W7tICBuICBwbyB2eWhsZWThduFu7SBuYWpkZSBu4XNsZWR1au1j7SB2/XNreXQg+GV07HpjZSB2ZSBzdGVqbultCisgICAgIHNt7HJ1LCBTaGlmdC1OIHZlIHNt7HJ1IG9wYehu6W0uCisKKyAgMy4gU3Rpc2tudXTtICAlICBrZHmeIGplIGt1cnpvciBuYSAoLCksWyxdLHssIG5lYm8gfSBuYWpkZSBvZHBvdu1kYWrtY+0KKyAgICAgcOFyb3ZvdSB64XZvcmt1LgorCisgIDQuIFBybyBuYWhyYXplbu0gbm926WhvIHphIHBydm7tIHN0YXL9IHYg+OFka3UgbmFwaZogICAgIDpzL3N0YXLpL25vdukKKyAgICAgUHJvIG5haHJhemVu7SBub3bpaG8gemEgdpplY2hueSBzdGFy6SB2IPjhZGt1IG5hcGmaICAgOnMvc3Rhcukvbm926S9nCisgICAgIFBybyBuYWhyYXplbu0g+GV07Hpj+SBtZXppIGR27G1pIPjhZGthbWkgIyBuYXBpmiAgICAgIDojLCNzL3N0YXLpL25vdukvZworICAgICBQcm8gbmFocmF6ZW7tIHaaZWNoIHb9c2t5dPkgdiBzb3Vib3J1IG5hcGmaCSAgIDolcy9zdGFy6S9ub3bpL2cKKyAgICAgUHJvIHBvdHZyemVu7SBrYZ5k6WhvIG5haHJhemVu7SBw+GlkZWogJ2MnCQkgICA6JXMvc3Rhcukvbm926S9nYworCisKK35+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+fgorCQkgICAgTGVrY2UgNS4xOiBKQUsgVllLT05BVCBWTsxKis0gUNjNS0FaCisKKworICAgKiogTmFwaZogIDohICBu4XNsZWRvdmFu6SB2buxqmu1tIHD47WthemVtIHBybyBzcHWadOxu7SBw+O1rYXp1LiAqKgorCisgIDEuIE5hcGmaIG9idnlrbP0gcPjta2F6ICA6ICAsIGt0ZXL9IHVt7XN07SBrdXJ6b3IgbmEgc3BvZGVrIG9icmF6b3ZreQorICAgICBUbyB1bW+ebu0gbmFwc2F0IHD47Wthei4KKworICAyLiBOeW7tIHN0aXNrbmkgICEgICh2eWv4aehu7WspLiBUbyB1bW+ebu0gdnlrb25hdCBqYWv9a29saXYgdm7saprtCisgICAgIHD47WtheiB6IHD47Wthem926WhvIPjhZGt1LgorCisgIDMuIE5hcPjta2xhZCBuYXBpmiAgbHMgIHphICEgYSBzdGlza25pIDxFTlRFUj4uICBUZW50byBw+O1rYXogem9icmF67QorICAgICBvYnNhaCB0dulobyBhZHJlc+H4ZSBqYWtvIHYgcPjta2F6b3bpbSD44WRrdS4KKyAgICAgVnl6a291mmVqICA6IWRpciAgcG9rdWQgbHMgbmVmdW5ndWplLgorCitQb3pu4W1rYTogIFRha3RvIGplIG1vnm7pIHZ5a29uYXQgamFr/WtvbGl2IHD47Wthei4KKworUG96buFta2E6ICBWmmVjaG55IHD47WthenkgIDogIG11c+0gYv10IGRva29u6GVu6SBzdGlza251dO1tIDxFTlRFUj4KKworCisKKworfn5+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+CisJCSAgICAgTGVrY2UgNS4yOiBWzUNFIE8gVUtMwUTBTs0gU09VQk9S2QorCisKKwkgICAgKiogUHJvIHVsb55lbu0gem3sbiB2IHNvdWJvcnUgbmFwaZogIDp3IFNPVUJPUi4gKioKKworICAxLiBOYXBpmiAgOiFkaXIgIG5lYm8gIDohbHMgIHBybyB2/XBpcyBha3R14Wxu7WhvIGFkcmVz4fhlLgorICAgICBVniB27ZosIJ5lIHphIHTtbXRvIG11c+2aIHN0aXNrbm91dCA8RU5URVI+LgorCisgIDIuIFZ5YmVyIHNpIG7hemV2IHNvdWJvcnUsIGt0ZXL9IGplmnTsIG5lZXhpc3R1amUsIG5hcPjta2xhZCBURVNULgorCisgIDMuIE55bu0gbmFwaZo6ICA6dyBURVNUICAoa2RlIFRFU1QgamUgdnlicmFu/SBu4XpldiBzb3Vib3J1LikKKworICA0LiBUbyB1bG+e7SBjZWz9IHNvdWJvciAgKFb9dWthIFZpbXUpICBwb2QgbuF6dmVtIFRFU1QuCisgICAgIFBybyBvduz4ZW7tIG5hcGmaIHpub3Z1IDohZGlyICAsIOjtbZ4gem9icmF67Zogb2JzYWggYWRyZXPh+GUuCisKK1Bvem7hbWthOiBKYWttaWxlIHVrb27o7ZogVmltIGEgem5vdnUgaG8gc3B1c3TtmiBzIG7henZlbSBzb3Vib3J1IFRFU1QsCisgICAgICAgICAgc291Ym9yIGJ1ZGUgcPhlc27hIGtvcGllIHb9dWt5LCBrZHmeIHNpIGppIHVrbOFkYWwuCisKKyAgNS4gTnlu7SBvZHN0cmHyIHNvdWJvciBuYXBz4W7tbSAoTVMtRE9TKTogICAgOiFkZWwgVEVTVAorCQkJICAgICBuZWJvIChVbml4KTogICAgICA6IXJtIFRFU1QKKworCit+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+fn4KKwkJICAgICBMZWtjZSA1LjM6IFbdQsxST1bdIFDYzUtBWiBVTE+ORU7NCisKKworCSAgICAqKiBQcm8gdWxvnmVu7SDo4XN0aSBzb3Vib3J1IG5hcGmaICA6IywjIHcgU09VQk9SICoqCisKKyAgMS4gSmWadOwgamVkbm91IG5hcGmaICA6IWRpciAgbmVibyAgOiFscyAgcHJvIHb9cGlzIGFrdHXhbG7taG8gYWRyZXPh+GUKKyAgICAgYSB2eWJlciB2aG9kbv0gbuF6ZXYgc291Ym9ydSBqYWtvIG5hcPguIFRFU1QuCisKKyAgMi4gUPhlc3XyIGt1cnpvciBuYSB2cmNoIHTpdG8gc3Ry4W5reSBhIHN0aXNrbmkgIEN0cmwtZyAgcHJvIHpvYnJhemVu7QorICAgICDo7XNsYSD44WRrdS4gIFpBUEFNQVRVSiBTSSBUT1RPIMjNU0xPIQorCisgIDMuIE55bu0gc2UgcPhlc3XyIG5hIHNwb2RlayB06XRvIHN0cuFua3kgYSBvcOx0IHN0aXNrbmkgQ3RybC1nLgorICAgICBaQVBBTUFUVUogU0kgSSDIzVNMTyBUT0hPVE8g2MFES1UhCisKKyAgNC4gUHJvIHVsb55lbu0gUE9VWkUg6OFzdGkgc291Ym9ydSwgbmFwaZogIDojLCMgdyBURVNUICBrZGUgIywjIGpzb3UKKyAgICAg6O1zbGEgZHZvdSB6YXBhbWF0b3Zhbv1jaCD44WRr+SAodnJjaCwgc3BvZGVrKSBhIFRFU1QgamUgbuF6ZXYgc291Ym9ydS4KKworICA1LiBabm92YSBzZSB1amlzdGksIJ5lIHRhbSB0ZW4gc291Ym9yIGplIHBvbW9j7SAgOiFkaXIgIGFsZSBORU9EU1RSQdJVSiBoby4KKworCisKKworfn5+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+CisJCSAgICAgICAgTGVrY2UgNS40OiBTTFXIT1bBTs0gU09VQk9S2QorCisKKyAgICAgIAkgICAqKiBLIHZsb55lbu0gb2JzYWh1IHNvdWJvcnUgbmFwaZogIDpyIE7BWkVWX1NPVUJPUlUgKioKKworICAxLiBOYXBpmiAgOiFkaXIgIHBybyB1ammadOxu7SwgnmUgc291Ym9yIFRFU1Qgc3ThbGUgZXhpc3R1amUuCisKKyAgMi4gUPhlc3XyIGt1cnpvciBuYSB2cmNoIHTpdG8gc3Ry4W5reS4KKworUE9aTsFNS0E6IFBvIHZ5a29u4W7tIGtyb2t1IDMgdXZpZO2aIGxla2NpIDUuMy4JUG90b20gc2Ugb3DsdCBw+GVzdfIgZG9s+QorICAgICAgICAgIG5hIHR1dG8gbGVrY2kuCisKKyAgMy4gTnlu7SB2bG+eIHNvdWJvciBURVNUIHBvdZ5pdO1tIHD47WthenUgIDpyIFRFU1QgIGtkZSBURVNUIGplIG7hemV2CisgICAgIHNvdWJvcnUuCisKK1BPWk7BTUtBOiBTb3Vib3IsIGt0ZXL9IHZrbOFk4Zogc2Ugdmxvnu0gb2Qgbe1zdGEsIGtkZSBzZSBuYWNo4XrtIGt1cnpvci4KKworICA0LiBQcm8gcG90dnJ6ZW7tIHZsb55lbu0gc291Ym9ydSwgcPhlc3XyIGt1cnpvciB6cOx0IGEgdpppbW5pIHNpLCCeZSB0Ze8KKyAgICAgbeGaIGR27CBrb3BpZSBsZWtjZSA1LjMsIG9yaWdpbuFsIGEgc291Ym9yb3ZvdSB2ZXJ6aS4KKworCisKK35+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+fgorCQkJICAgICAgIFNIUk5VVM0gTEVLQ0UgNQorCisKKyAgMS4gIDohcPjta2F6ICB2eWtvbuEgdm7saprtIHD47Wthei4KKworICAgICAgTuxrdGVy6SB1nml0Zehu6SBw+O1rbGFkeSBqc291OgorCSAoTVMtRE9TKQkgIChVbml4KQorCSAgOiFkaXIJCSAgIDohbHMJCSAgIC0gIHpvYnJheu0gb2JzYWggc291Ym9ydS4KKwkgIDohZGVsIFNPVUJPUiAgICAgOiFybSBTT1VCT1IgICAgIC0gIG9kc3RyYW7tIFNPVUJPUi4KKworICAyLiAgOncgU09VQk9SICB1bG+e7SBha3R14Wxu7SB0ZXh0IGpha28gU09VQk9SIG5hIGRpc2suCisKKyAgMy4gIDojLCN3IFNPVUJPUiAgdWxvnu0g+OFka3kgb2QgIyBkbyAjIGRvIFNPVUJPUlUuCisKKyAgNC4gIDpyIFNPVUJPUiAgdnliZXJlIHogZGlza3UgU09VQk9SIGEgdmxvnu0gaG8gZG8gZWRpdG92YW7paG8gc291Ym9ydQorICAgICAgemEgcG96aWNpIGt1cnpvcnUuCisKKworCisKKworCit+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+fn4KKwkJCSAgTGVrY2UgNi4xOiBQ2M1LQVogT1RFVtjNVAorCisKKyAgKiogTmFwaZogIG8gIHBybyB2bG+eZW7tIPjhZGt1IHBvZCBrdXJ6b3IgYSBw+GVwbnV07SBkbyBWa2zhZGFj7WhvIG3zZHUuICoqCisKKyAgMS4gUPhlbe1zdGkga3Vyem9yIG7tnmUgbmEg+OFkZWsgb3puYehlbv0gLS0tPi4KKworICAyLiBOYXBpmiAgbyAobWFs6SkgcHJvIHZsb55lbu0g+OFka3UgUE9EIGt1cnpvciBhIHD4ZXBudXTtIGRvCisgICAgIFZrbOFkYWPtaG8gbfNkdS4KKworICAzLiBOeW7tIHprb3DtcnVqIPjhZGVrIG96bmHoZW79IC0tLT4gYSBzdGlza25pIDxFU0M+IHBybyB1a29u6GVu7QorICAgICBWa2zhZGFj7WhvIG3zZHUuCisgIAorLS0tPiBQbyBzdGlza251dO0gIG8gIHNlIGt1cnpvciBw+GVt7XN07SBuYSB2bG+eZW79IPjhZGVrIGRvIFZrbOFkYWPtaG8KKyAgICAgbfNkdS4KKworICA0LiBQcm8gb3Rldvhlbu0g+OFka3UgTkFEIGt1cnpvcmVtIGplZG5vZHWaZSBuYXBpmiB2ZWxr6SAgTyAgLCBt7XN0bworICAgICBtYWzpaG8gby4gVnl6a291mmVqIHNpIHRvIG5hIG7hc2xlZHVq7WPtbSD44WRrdS4KK1Zsb54g+OFkZWsgbmFkIHTtbXRvIG5hcHPhbu1tIFNoaWZ0LU8gcG8gdW3tc3Tsbu0ga3Vyem9ydSBuYSB0ZW50byD44WRlay4KKworCisKK35+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+fgorCQkJICBMZWtjZSA2LjI6IFDYzUtBWiBQ2ElEQVQKKworCisJICAgICAqKiBTdGlza25pICBhICBwcm8gdmxvnmVu7SB0ZXh0dSBaQSBrdXJ6b3IuICoqCisKKyAgMS4gUPhlc3XyIGt1cnpvciBuYSBu7Z5lIG5hIGtvbmVjIPjhZGt5IG96bmHoZW7pIC0tLT4KKyAgICAgc3Rpc2tudXTtbSAkIHYgTm9ybeFsbu1tIG3zZHUuCisKKyAgMi4gU3Rpc2tuaSAgYSAgKG1hbOkpIHBybyBw+Glk4W7tIHRleHR1IFpBIHpuYWssIGt0ZXL9IGplIHBvZCBrdXJ6b3JlbS4KKyAgICAgKFZlbGvpICBBICBw+Glk4SBuYSBrb25lYyD44WRrdS4pCisKK1Bvem7hbWthOiBU7W10byBzZSB2eWhuZZogc3Rpc2tudXTtICBpICAsIHBvc2xlZG7taG8gem5ha3UsIHRleHR1IG5hIHZsb55lbu0sCisgICAgICAgICAgPEVTQz4sIGt1cnpvciBkb3ByYXZhLCBhIG5ha29uZWMgIHggIG5hIHD4aWThduFu7SBuYSBrb25lYyD44WRrdSEKKworICAzLiBOeW7tIGRva29u6O0gcHJ2bu0g+OFkZWsuIFaaaW1uaSBzaSwgnmUgcPhpZOF24W7tIGplIHZsYXN0buwgc3Rlam7pIGpha28KKyAgICAgVmts4WRhY+0gbfNkLCBrcm9t7CBt7XN0YSwga2FtIHNlIHRleHQgdmts4WThLgorCistLS0+IFRlbnRvIPjhZGVrIHRpIHVtb57ydWplIG5hY3Zp6Gl0CistLS0+IFRlbnRvIPjhZGVrIHRpIHVtb57ydWplIG5hY3Zp6Gl0IHD4aWThduFu7SB0ZXh0dSBuYSBrb25lYyD44WRreS4KKworCisKK35+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+fgorCQkgICAgICBMZWtjZSA2LjM6IEpJTt0gWlDZU09CIE5BSFJBWk9WwU7NCisKKworICAgICAgICAgKiogTmFwaZogdmVsa+kgIFIgIHBybyBuYWhyYXplbu0gdu1jIG5lniBqZWRub2hvIHpuYWt1LiAqKgorCisgIDEuIFD4ZXN18iBrdXJ6b3IgbmEgcHJ2bu0g+OFkZWsgb3puYehlbv0gLS0tPi4KKworICAyLiBVbe1zdGkga3Vyem9yIG5hIHph6OF0ZWsgcHJ2bu1obyBzbG92YSwga3RlcukgamUgb2RsaZpu6SBvZCBkcnVo6WhvCisgICAgIPjhZGt1IG96bmHoZW7paG8gLS0tPiAoc2xvdm8gJ3Bvc2xlZG7tJykuCisKKyAgMy4gTnlu7SBzdGlza25pICBSICBhIG5haHJh7yB6Ynl0ZWsgdGV4dHUgbmEgcHJ2bu1tIPjhZGt1IHD4ZXBz4W7tbQorICAgICBzdGFy6WhvIHRleHR1IHRhaywgYWJ5IGJ5bCBwcnZu7SD44WRlayBzdGVqbv0gamFrbyB0ZW4gZHJ1aP0uCisKKy0tLT4gUHJvIHVwcmF2ZW7tIHBydm7taG8g+OFka3UgZG8gdHZhcnUgdG9obyBwb3NsZWRu7SBuYSBzdHJhbuwgcG91nmlqIGtsLgorLS0tPiBQcm8gdXByYXZlbu0gcHJ2bu1obyD44WRrdSBkbyB0dmFydSB0b2hvIGRydWjpaG8sIG5hcGmaIFIgYSBub3b9IHRleHQuCisKKyAgNC4gVpppbW5pIHNpLCCeZSBqYWttaWxlIHN0aXNrbmWaIDxFU0M+IHaaZWNoZW4gbmV6bexu7G79IHRleHQgevlzdOF24S4KKworCisKKworCit+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+fn4KKwkJICAgICAgICAgTGVrY2UgNi40OiBOQVNUQVZFTs0gTU+OTk9TVM0KKworICAqKiBOYXN0YXYgbW+ebm9zdCwgnmUgdnlobGVk4Xbhbu0gYW5lYm8gbmFocmF6b3bhbu0gbmVkYuEgdmVsaWtvc3RpIHDtc21lbiAqKgorCisgIDEuIFZ5aGxlZGVqIPhldOx6ZWMgJ2lnbm9yZScgbmFwc+Fu7W06CisgICAgIC9pZ25vcmUKKyAgICAgWm9wYWt1aiBu7GtvbGlrcuF0IHN0aXNrbnV07SBrbOF2ZXN5IG4uCisKKyAgMi4gTmFzdGF2IG1vnm5vc3QgJ2ljJyAoSWdub3JlIGNhc2UpIG5hcHPhbu1tIHD47WthenU6CisgICAgIDpzZXQgaWMKKworICAzLiBOeW7tIHpub3Z1IHZ5aGxlZGVqICdpZ25vcmUnIHN0aXNrbnV07W06IG4KKyAgICAgTuxrb2xpa3LhdCBobGVk4W7tIHpvcGFrdWogc3Rpc2tudXTtbSBrbOF2ZXN5IG4uCisKKyAgNC4gTmFzdGF2IG1vnm5vc3RpICdobHNlYXJjaCcgYSAnaW5jc2VhcmNoJzoKKyAgICAgOnNldCBobHMgaXMKKworICA1LiBOeW7tIHpub3Z1IHZ5a29uZWogdnlobGVk4XZhY+0gcPjta2F6IGEgc2xlZHVqLCBjbyBzZSBzdGFuZToKKyAgICAgL2lnbm9yZQorCisgIDYuIFBybyB2eXBudXTtIHp2/XJhevJvduFu7SB2/XNsZWRr+SBuYXBpmjoKKyAgICAgOm5vaGxzZWFyY2gKK35+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+fgorCQkJICAgICAgIFNIUkhOVVTNIExFS0NFIDYKKworCisgIDEuIFN0aXNrbnV07SAgbyAgb3RldvhlIG5vdv0g+OFkZWsgUE9EIGt1cnpvcmVtIGEgdW3tc3TtIGt1cnpvciBuYSB2bG+eZW79CisgICAgIPjhZGVrIGRvIFZrbOFkYWPtaG8gbfNkdS4KKyAgICAgTmFwc+Fu7SB2ZWxr6WhvICBPICBvdGV2+GUg+OFkZWsgTkFEIPjhZGtlbSwgbmEga3RlcultIGplIGt1cnpvci4KKworICAyLiBTdGlza25pICBhICBwcm8gdmxvnmVu7SB0ZXh0dSBaQSB6bmFrIG5hIHBvemljaSBrdXJ6b3J1LgorICAgICBOYXBz4W7tIHZlbGvpaG8gIEEgIGF1dG9tYXRpY2t5IHD4aWThIHRleHQgbmEga29uZWMg+OFka3UuCisKKyAgMy4gU3Rpc2tudXTtIHZlbGvpaG8gIFIgIHD4ZXBuZSBkbyBOYWhyYXpvdmFj7WhvIG3zZHUsIGRva3VkCisgICAgIG5lc3Rpc2tuZZogPEVTQz4gcHJvIGplaG8gdWtvbuhlbu0uCisKKyAgNC4gTmFwc+Fu7SAiOnNldCB4eHgiIG5hc3Rhdu0gbW+ebm9zdGkgInh4eCIuCisKKworCisKKworCisKKworfn5+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+CisJCSAgICAgIExFS0NFIDc6IFDYzUtBWlkgT04tTElORSBOwVBPVsxEWQorCisKKwkJICAgKiogUG91nu12ZWogb24tbGluZSBzeXN06W0gbuFwb3bsZHkgKioKKworICBWaW0gbeEgb2Jz4Whs/SBvbi1saW5lIHN5c3TpbSBu4XBvduxkeS4gUHJvIHph6OF0ZWsgdnl6a291mmVqIGplZGVuIHoKKyAgbuFzbGVkdWrtY+1jaDoKKwktIHN0aXNrbmkga2zhdmVzdSA8SEVMUD4gKHBva3VkIGppIG3hmikKKwktIHN0aXNrbmkga2zhdmVzdSA8RjE+ICAocG9rdWQgamkgbeGaKQorCS0gbmFwaZogIDpoZWxwIDxFTlRFUj4KKworICBOYXBpmiAgOnEgPEVOVEVSPiAgcHJvIHV6YXb4ZW7tIG9rbmEgbuFwb3bsZHkuCisKKyAgTfmeZZogbmFq7XQgbuFwb3bsZHUgayBqYWvpbXVrb2xpdiB06W1hdHUgcPhpZOFu7W0gYXJndW1lbnR1IGsKKyAgcPjta2F6dSAiOmhlbHAiLiBaa3VzIHR5dG8gKG5lemFwb21l8iBzdGlza25vdXQgPEVOVEVSPik6CisKKwk6aGVscCB3CisJOmhlbHAgY188VAorCTpoZWxwIGluc2VydC1pbmRleAorCTpoZWxwIHVzZXItbWFudWFsCisKKworfn5+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+CisJCSAgTEVLQ0UgODogVllUVk/YRU7NIElOSUNJQUxJWkHITs1ITyBTS1JJUFRVCisKKwkJICAgICAgICAqKiBaYXBuaSBmdW5rY2UgZWRpdG9ydSBWaW0gKioKKworICBWaW0gbeEgZGFsZWtvIHbtY2UgZnVua2PtIG5lniBWaSwgYWxlIHbsdJppbmEgeiBuaWNoIGplIHZ5cG51dGEgdmUgdv1jaG967W0KKyAgbmFzdGF2ZW7tLiBQcm8gemFwbnV07SBu7Gt0ZXL9Y2ggdnl0dm/4IHNvdWJvciAidmltcmMiLgorCisgIDEuIFph6G5pIHVwcmF2b3ZhdCBzb3Vib3IgInZpbXJjIi4gVG90byB64XZpc+0gbmEgcG91nml06W0gc3lzdOltdToKKwk6ZWRpdCB+Ly52aW1yYwkJCXBybyBVbml4CisJOmVkaXQgJFZJTS9fdmltcmMJCXBybyBNUy1XaW5kb3dzCisKKyAgMi4gTnlu7SDodGkgdWvhemtvdv0gInZpbXJjIiBzb3Vib3I6CisKKwk6cmVhZCAkVklNUlVOVElNRS92aW1yY19leGFtcGxlLnZpbQorCisgIDMuIFVsb54gc291Ym9yIHBvbW9j7ToKKworCTp3cml0ZQorCisgIFBvIHD47Zp07W0gc3RhcnR1IFZpbSBzZSB6YXBuZSB6dv1yYXryb3bhbu0gc3ludGF4ZS4KKyAgRG8gc291Ym9ydSAidmltcmMiIG35nmWaIHD4aWRhdCB2mmVjaG55IHN2b2plIHVw+GVkbm9zdPJvdmFu6SBuYXN0YXZlbu0uCisKK35+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+fgorCisgIFRvdG8gdWtvbuh1amUgdv11a3UgVmltLCBrdGVy4SBieWxhIG15mmxlbuEgamFrbyBzdHJ16G79IHD4ZWhsZWQKKyAgZWRpdG9ydSBWaW0sIHRhayBha29y4XQgcG9zdGHodWrtY+0gcHJvIGxlaGvpIGEgb2JzdG9qbukgcG91nu124W7tIGVkaXRvcnUuCisgIFRhdG8gdv11a2EgbeEgZGFsZWtvIG9kIPpwbG5vc3RpLCBwcm90b55lIFZpbSBvYnNhaHVqZSBwb2RzdGF0buwgdu1jZQorICBw+O1rYXr5LiBE4WxlIHNpIHD4Zeh0aSB1nml2YXRlbHNr/SBtYW514Ww6ICI6aGVscCB1c2VyLW1hbnVhbCIuCisKKyAgUHJvIGRhbJrtIHN0dWRpdW0gamUgZG9wb3J16GVu4SBrbmloYToKKwlWaW0gLSBWaSBJbXByb3ZlZCAtIG9kIFN0ZXZlIE91YWxsaW5lCisJTmFrbGFkYXRlbDogTmV3IFJpZGVycworICBQcnZu7SBrbmloYSB1cuhlbuEgcHJvIFZpbS4gT2J6dmzhmnTsIHZob2Ru4SBwcm8gemHo4XRl6G7ta3kuCisgIE9ic2FodWplIG1ub55zdHbtIHD47WtsYWT5IGEgb2Jy4Xpr+S4KKyAgdml6IGh0dHA6Ly9pY2NmLWhvbGxhbmQub3JnL2NsaWNrNS5odG1sCisKKyAgVGF0byBrbmloYSBqZSBzdGFymu0gYSB27WNlIHbsbm92YW7hIFZpIG5lniBWaW0sIGFsZSB0YWvpIGRvcG9ydehlbuE6CisJTGVhcm5pbmcgdGhlIFZpIEVkaXRvciAtIG9kIExpbmRhIExhbWIKKwlOYWtsYWRhdGVsOiBPJ1JlaWxseSAmIEFzc29jaWF0ZXMgSW5jLgorICBKZSB0byBkb2Jy4SBrbmloYSBwcm8geu1za+Fu7SB27GRvbW9zdO0gdOlt7PggbyB2mmVtLCBjbyBt+Z5ldGUgcyBWaSBk7GxhdC4KKyAgimVzdOkgdnlk4W7tIG9ic2FodWplIHTpniBpbmZvcm1hY2UgbyBWaW0uCisKKyAgVGF0byB2/XVrYSBieWxhIG5hcHNhbuEgYXV0b3J5IE1pY2hhZWwgQy4gUGllcmNlIGEgUm9iZXJ0IEsuIFdhcmUsCisgIENvbG9yYWRvIFNjaG9vbCBvZiBNaW5lcyBzIHBvdZ5pdO1tIG15mmxlbmVrIG9kOiBDaGFybGVzIFNtaXRoLAorICBDb2xvcmFkbyBTdGF0ZSBVbml2ZXJzaXR5LiAgRS1tYWlsOiBid2FyZUBtaW5lcy5jb2xvcmFkby5lZHUuCisKKyAgVXByYXZpbCBwcm8gVmltOiBCcmFtIE1vb2xlbmFhci4KKworfn5+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+CisKKyAgUPhla2xhZCBkbyDoZZp0aW55OiBMdWJvmiBUdXJlaworICBFLU1haWw6IGx1Ym9zLnR1cmVrQGdtYWlsLmNvbQorICAyMDA3IEZlYiAyOCAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvdHV0b3IuY3MudXRmLTggYi9ydW50aW1lL3R1dG9yL3R1dG9yLmNzLnV0Zi04Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4ODBkNmQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3R1dG9yL3R1dG9yLmNzLnV0Zi04CkBAIC0wLDAgKzEsODEyIEBACis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cis9ICAgIFYgw60gdCBlIGogdCBlICAgdiAgdCB1IHQgbyByIGkgYSBsIHUgICBWIEkgTSAgICAgICAtICAgIFZlcnplIDEuNSAgICAgICAgPQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisgICAgIFZpbSBqZSB2ZWxtaSB2w71rb25uw70gZWRpdG9yLCBrdGVyw70gbcOhIHDFmcOtbGnFoSBtbm9obyBwxZnDrWthesWvIG5hIHRvLCBhYnkKKyAgICAgbW9obHkgYsO9dCB2xaFlY2hueSB2eXN2xJt0bGVuw6kgdmUgdsO9dWNlIGpha28gdGF0by4gVGF0byB2w711a2Egb2JzYWh1amUKKyAgICAgZG9zdGF0ZcSNbsOpIG1ub8W+c3R2w60gcMWZw61rYXrFryBuYSB0bywgYWJ5IGJ5bG8gbW/Fvm7DqSBwb3XFvsOtdmF0IFZpbSBqYWtvCisgICAgIHbDrWNlw7rEjWVsb3bDvSBlZGl0b3IuCisKKyAgICAgUMWZaWJsacW+bsO9IMSNYXMgcG90xZllYm7DvSBrZSB6dmzDoWRudXTDrSB0w6l0byB2w711a3kgamUgMjUtMzAgbWludXQsIHrDoWxlxb7DrQorICAgICBuYSB0b20sIGtvbGlrIMSNYXN1IHN0csOhdsOtdGUgcMWZZXprdcWhb3bDoW7DrW0uCisKKyAgICAgUMWZw61rYXp5IHYgbGVrY8OtY2ggdXByYXZ1asOtIHRleHQuIFZ5dHZvxZkga29waWkgdG9ob3RvIHNvdWJvcnUgcHJvCisgICAgIHByb2N2acSNb3bDoW7DrSAocMWZaSBzdGFydHUgInZpbXR1dG9yIiBqZSBqacW+IHRvdG8ga29waWUpLgorCisgICAgIEplIGTFr2xlxb5pdMOpIHBhbWF0b3ZhdCwgxb5lIHRhdG8gdsO9dWthIGplIHZ5dHZvxZllbmEgcHJvIHbDvXVrdSBwb3XFvsOtdsOhbsOtbS4KKyAgICAgVG8gem5hbWVuw6EsIMW+ZSBqZSBwb3TFmWViYSBzaSBwxZnDrWthenkgdnl6a291xaFldCBwcm8gamVqaWNoIHNwcsOhdm7DqQorICAgICBuYXXEjWVuw60uIFBva3VkIHNpIGplbiDEjXRlxaEgdGV4dCwgcMWZw61rYXp5IHphcG9tZW5lxaEhCisKKyAgICAgTnluw60gc2UgcMWZZXN2xJtkxI10ZSwgxb5lIFNoaWZ0LUxvY2sgTkVOw40gc3RsYcSNZW7DvSBhIG7Em2tvbGlrcsOhdCBzdGlza27Em3RlCisgICAgIGtsw6F2ZXN1ICBqICAgYWJ5IHNlIGt1cnpvciBwb3N1bnVsIG5hdG9saWssIMW+ZSBsZWtjZSAxLjEgemFwbG7DrSBjZWxvdQorICAgICBvYnJhem92a3UuCit+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+fn4KKwkJCUxla2NlIDEuMTogIFBPSFlCIEtVUlpPUlUKKworCisgICAqKiBQcm8gcG9oeWIga3Vyem9ydSBwb3XFvsOtdmVqIGtsw6F2ZXN5IGgsaixrLGwgamFrIGplIHpuw6F6b3JuxJtubyBuw63FvmUuICoqCisJICAgICBeCisJICAgICBrCQkgICBGdW5rY2U6IEtsw6F2ZXNhIGggamUgdmxldm8gYSB2eWtvbsOhIHBvaHliIHZsZXZvLgorICAgICAgIDwgaAkgbCA+CQkgICBLbMOhdmVzYSBsIGplIHZwcmF2byBhIHZ5a29uw6EgcG9oeWIgdnByYXZvLgorCSAgICAgagkJCSAgIEtsw6F2ZXNhIGogdnlwYWTDoSBuYSDFoWlwa3UgZG9sdS4KKwkgICAgIHYKKyAgMS4gUG9oeWJ1aiBrdXJ6b3JlbSBwbyBvYnJhem92Y2UgZG9rdWQgc2kgbmEgdG8gbmV6dnlrbmXFoS4KKworICAyLiBEcsW+IGtsw6F2ZXN1IHBybyBwb2h5YiBkb2x1IChqKSwgZG9rdWQgc2UgamVqw60gZnVua2NlIG5lem9wYWt1amUuCistLS0+IFRlxI8gdsOtxaEgamFrIHNlIHDFmWVzdW5vdXQgbmEgbsOhc2xlZHVqw61jw60gbGVrY2kuCisKKyAgMy4gUG91xb5pdMOtbSBrbMOhdmVzeSBkb2x1IHDFmWVqZGkgbmEgbGVrY2kgMS4yLgorCitQb3puw6Fta2E6IFBva3VkIHNpIG7Em2tkeSBuZWpzaSBqaXN0IG7Em8SNw61tLCBjbyBqc2kgbmFwc2FsLCBzdGxhxI0gPEVTQz4gcHJvCisgICAgICAgICAgcMWZZWNob2QgZG8gTm9ybcOhbG7DrWhvIG3Ds2R1LiBQb3TDqSBwxZllcGnFoSBwb8W+YWRvdmFuw70gcMWZw61rYXouCisKK1Bvem7DoW1rYTogS3Vyem9yb3bDqSBrbMOhdmVzeSB0YWvDqSBmdW5ndWrDrSwgYXbFoWFrIHBvdcW+w612w6Fuw60gaGprbCBqZSByeWNobGVqxaHDrQorICAgICAgICAgIGpha21pbGUgc2kgbmEgbsSbaiB6dnlrbmXFoS4KKworfn5+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+CisJCSAgICAgTGVrY2UgMS4yOiBTUFXFoFTEmk7DjSBBIFVLT07EjEVOw40gVklNCisKKworICAhISBQT1pOw4FNS0E6IFDFmWVkIHZ5a29uw6Fuw61tIHTEm2NodG8ga3Jva8WvIHNpIHDFmWXEjXRpIGNlbG91IGxla2NpISEKKworICAxLiBTdGxhxI0gPEVTQz4gKHBybyB1amnFoXTEm27DrSwgxb5lIHNlIG5hY2jDoXrDrcWhIHYgTm9ybcOhbG7DrW0gbcOzZHUpLgorCisgIDIuIE5hcGnFoToJCQk6cSEgPEVOVEVSPi4KKworLS0tPiBUw61tdG8gdWtvbsSNw63FoSBlZGl0b3IgQkVaIHVsb8W+ZW7DrSB6bcSbbiwga3RlcsOpIHNpIHZ5a29uYWwuCisgICAgIFBva3VkIGNoY2XFoSB1bG/Fvml0IHptxJtueSBhIHVrb27EjWl0IGVkaXRvciBuYXBpxaE6CisJCQkJOndxICA8RU5URVI+CisKKyAgMy4gQcW+IHNlIGRvc3RhbmXFoSBuYSBwxZnDrWthem92w70gxZnDoWRlaywgbmFwacWhIHDFmcOta2F6LCBrdGVyw71tIHNlIGRvc3RhbmXFoSB6cMSbdAorICAgICBkbyB0w6l0byB2w711a3kuIFRvIG3Fr8W+ZSBiw710OiB2aW10dXRvciA8RU5URVI+CisgICAgIELEm8W+bsSbIHNlIHBvdcW+w612w6E6CQkgdmltIHR1dG9yIDxFTlRFUj4KKworLS0tPiAndmltJyB6bmFtZW7DoSBzcHXFoXTEm27DrSBlZGl0b3J1LCAndHV0b3InIGplIHNvdWJvciBrIGVkaXRhY2kuCisKKyAgNC4gUG9rdWQgc2kgdHl0byBrcm9reSBzcG9sZWhsaXbEmyBwYW1hdHVqZcWhLCB2eWtvbmVqIGtyb2t5IDEgYcW+IDMsIMSNw61txb4KKyAgICAgdWtvbsSNw63FoSBhIHpub3Z1IHNwdXN0w63FoSBlZGl0b3IuIFBvdG9tIHDFmWVzdcWIIGt1cnpvciBkb2x1IG5hIGxla2NpIDEuMy4KKyAgICAgCit+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+fn4KKwkJICAgICBMZWtjZSAxLjM6IMOaUFJBVkEgVEVYVFUgLSBNQVrDgU7DjQorCisKKyAgKiogU3Rpc2tudXTDrW0ga2zDoXZlc3kgIHggIHYgTm9ybcOhbG7DrW0gbcOzZHUgc21hxb5lxaEgem5hayBuYSBtw61zdMSbIGt1cnpvcnUuICoqCisKKyAgMS4gUMWZZXN1xYgga3Vyem9yIG7DrcW+ZSBuYSDFmcOhZGVrIG96bmHEjWVuw70gLS0tPi4KKworICAyLiBLIG9kc3RyYW7Em27DrSBjaHliIHDFmWVqZGkga3Vyem9yZW0gbmEgem5haywga3RlcsO9IGNoY2XFoSBzbWF6YXQuCisKKyAgMy4gU3RsYcSNIGtsw6F2ZXN1ICB4ICBrIG9kc3RyYW7Em27DrSBuZWNodMSbbsO9Y2ggem5ha8WvLgorCisgIDQuIE9wYWt1aiBrcm9reSAyIGHFviA0IGRva3VkIG5lbsOtIHbEm3RhIHNwcsOhdm7Emy4KKworLS0tPiBLcsOhw6F2YSBza2/EjcSNaWxsYSBwxZllc3MgbcSbc3PDrWMuCisKKyAgNS4gUG9rdWQgamUgdsSbdGEgc3Byw6F2bsSbLCBwxZllamRpIG5hIGxla2NpIDEuNC4KKworUE9aTsOBTUtBOiBOZXNuYcW+IHNlIHBvdXplIHphcGFtYXRvdmF0IHDFmWVkdsOhZMSbbsOpIHDFmcOta2F6eSwgdcSNIHNlIGplIHBvdcW+w612w6Fuw61tLgorCisKKworCit+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+fn4KKwkJICAgICBMZWtjZSAxLjQ6IMOaUFJBVkEgVEVYVFUgLSBWS0zDgUTDgU7DjQorCisKKyAgICAgICoqIFN0bGHEjWVuw60ga2zDoXZlc3kgIGkgIHYgTm9ybcOhbG7DrW0gbcOzZHUgdW1vxb7FiHVqZSB2a2zDoWTDoW7DrSB0ZXh0dS4gKioKKworICAxLiBQxZllc3XFiCBrdXJ6b3IgbmEgcHJ2bsOtIMWZw6FkZWsgb3puYcSNZW7DvSAtLS0+LgorCisgIDIuIFBybyB1cHJhdmVuw60gcHJ2bsOtaG8gxZnDoWRrdSBkbyBwb2RvYnkgxZnDoWRrdSBkcnVow6lobywgcMWZZXN1xYgga3Vyem9yIG5hCisgICAgIHBydm7DrSB6bmFrIHphIG3DrXN0bywga2RlIG3DoSBiw710IHRleHQgdmxvxb5lbsO9LgorCisgIDMuIFN0bGHEjSAgaSAgYSBuYXBpxaEgcG90xZllYm7DvSBkb2RhdGVrLgorCisgIDQuIFBvIG9wcmF2ZW7DrSBrYcW+ZMOpIGNoeWJ5IHN0bGHEjSA8RVNDPiBwcm8gbsOhdnJhdCBkbyBOb3Jtw6FsbsOtaG8gbcOzZHUuCisgICAgIE9wYWt1aiBrcm9reSAyIGHFviA0IGRva3VkIG5lbsOtIHbEm3RhIHNwcsOhdm7Emy4KKworLS0tPiBOxJtqYWvDvSB0eHQgbmEgdMOpdG8gLgorLS0tPiBOxJtqYWvDvSB0ZXh0IGNoeWLDrSBuYSB0w6l0byDFmcOhZGNlLgorCisgIDUuIFBva3VkIGppxb4gb3Zsw6Fkw6HFoSB2a2zDoWTDoW7DrSB0ZXh0dSwgcMWZZWpkaSBuYSBuw6FzbGVkdWrDrWPDrSBzaHJudXTDrS4KKworCisKK35+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+fgorCQkJICAgICAgIFNIUk5VVMONIExFS0NFIDEKKworCisgIDEuIEt1cnpvcmVtIHNlIHBvaHlidWplIHBvbW9jw60gxaFpcGVrIG5lYm8ga2zDoXZlc2FtaSBoamtsLgorCWggKHZsZXZvKQlqIChkb2x1KQlrIChuYWhvcnUpCWwgKHZwcmF2bykKKworICAyLiBQcm8gc3B1xaF0xJtuw60gVmltdSAoeiBwxZnDrWthem92w6lobyDFmcOhZGt1KSBuYXBpxaE6IHZpbSBTT1VCT1IgPEVOVEVSPgorCisgIDMuIFBybyB1a29uxI1lbsOtIFZpbXUgbmFwacWhOiA8RVNDPiAgOnEhICA8RU5URVI+ICBiZXogdWxvxb5lbsOtIHptxJtuLgorCSAgICAgCSAgICAgICBhbmVibzogPEVTQz4gIDp3cSAgPEVOVEVSPiAgcHJvIHVsb8W+ZW7DrSB6bcSbbi4KKworICA0LiBQcm8gc21hesOhbsOtIHpuYWt1IHBvZCBrdXJ6b3JlbSBuYXBpxaEgdiBOb3Jtw6FsbsOtbSBtw7NkdTogIHgKKworICA1LiBQcm8gdmtsw6Fkw6Fuw60gdGV4dHUgb2QgbcOtc3RhIGt1cnpvcnUgbmFwacWhIHYgTm9ybcOhbG7DrW0gbcOzZHU6CisJIGkgICAgIHZrbMOhZGFuw70gdGV4dAk8RVNDPgorCitQT1pOw4FNS0E6IFN0bGHEjWVuw60gPEVTQz4gdMSbIHDFmWVtw61zdMOtIGRvIE5vcm3DoWxuw61obyBtw7NkdSBuZWJvIHpydcWhw60gbmVjaHTEm27DvQorICAgICAgYSDEjcOhc3RlxI1uxJsgZG9rb27EjWVuw70gcMWZw61rYXouCisKK055bsOtIHBva3JhxI11aiBMZWtjw60gMi4KKworCit+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+fn4KKwkJCUxla2NlIDIuMTogUMWYw41LQVpZIE1BWsOBTsONCisKKworCSAgICAgICAqKiBQxZnDrWtheiAgZHcgIHNtYcW+ZSB6bmFreSBkbyBrb25jZSBzbG92YS4gKioKKworICAxLiBTdGxhxI0gIDxFU0M+ICBrIHViZXpwZcSNZW7DrSwgxb5lIGpzaSB2IE5vcm3DoWxuw61tIG3Ds2R1LgorCisgIDIuIFDFmWVzdcWIIGt1cnpvciBuw63FvmUgbmEgxZnDoWRlayBvem5hxI1lbsO9IC0tLT4uCisKKyAgMy4gUMWZZXN1xYgga3Vyem9yIG5hIHphxI3DoXRlayBzbG92YSwga3RlcsOpIGplIHBvdMWZZWJhIHNtYXphdC4KKworICA0LiBOYXBpxaEgICBkdwkgLCBhYnkgc2xvdm8gem1pemVsby4KKworUE9aTsOBTUtBOiBQw61zbWVuYSBkdyBzZSB6b2JyYXrDrSBuYSBwb3NsZWRuw61tIMWZw6Fka3Ugb2JyYXpvdmt5IGpha21pbGUgamUKKwkgIG5hcMOtxaFlxaEuIEtkecW+IG5hcMOtxaFlxaEgbsSbY28gxaFwYXRuxJssIHN0bGHEjSAgPEVTQz4gIGEgemHEjW5pIHpub3ZhLgorCistLS0+IEpzb3UgdHUgbsSbamFrw6Egc2xvdmEgesOhYmF2YSwga3RlcsOhIG5lcGF0xZnDrSBsaXN0IGRvIHTDqXRvIHbEm3R5LgorCisgIDUuIE9wYWt1aiBrcm9reSAzIGHFviA0IGRva3VkIG5lbsOtIHbEm3RhIHNwcsOhdm7EmyBhIHDFmWVqZGkgbmEgbGVrY2kgMi4yLgorCisKKworfn5+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+CisJCSAgICAgIExla2NlIDIuMjogVsONQ0UgUMWYw41LQVrFriBNQVrDgU7DjQorCisKKwkgICAqKiBOYXBzw6Fuw60gcMWZw61rYXp1ICBkJCAgc21hxb5lIHbFoWUgYcW+IGRvIGtvbmNlIMWZw6Fka3kuICoqCisKKyAgMS4gU3RsYcSNICA8RVNDPiAgayB1YmV6cGXEjWVuw60sIMW+ZSBqc2kgdiBOb3Jtw6FsbsOtbSBtw7NkdS4KKworICAyLiBQxZllc3XFiCBrdXJ6b3IgbsOtxb5lIG5hIMWZw6FkZWsgb3puYcSNZW7DvSAtLS0+LgorCisgIDMuIFDFmWVzdcWIIGt1cnpvciBuYSBrb25lYyBzcHLDoXZuw6kgdsSbdHkgKFpBIHBydm7DrSB0ZcSNa3UpLgorCisgIDQuIE5hcGnFoSAgZCQgICxhYnkganNpIHNtYXphbCB6bmFreSBhxb4gZG8ga29uY2UgxZnDoWRrdS4KKworLS0tPiBOxJtrZG8gbmFwc2FsIGtvbmVjIHTDqXRvIHbEm3R5IGR2YWtyw6F0LiBrb25lYyB0w6l0byB2xJt0eSBkdmFrcsOhdC4KKworCisgIDUuIFDFmWVqZGkgbmEgbGVrY2kgMi4zIHBybyBwb2Nob3BlbsOtIHRvaG8sIGNvIHNlIHN0YWxvLgorCisKKworCisKK35+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+fgorCQkgIExla2NlIDIuMzogUk9axaBJxZhPVkFDw40gUMWYw41LQVpZIEEgT0JKRUtUWQorCisKKyAgRm9ybcOhdCBtYXphY8OtaG8gcMWZw61rYXp1ICBkICBqZSBuw6FzbGVkdWrDrWPDrToKKworCSBbxI3DrXNsb10gICBkICAgb2JqZWt0ICAgICBORUJPICAgICBkICAgW8SNw61zbG9dICAgb2JqZWt0CisgIEtkZToKKyAgICDEjcOtc2xvIC0gdWTDoXbDoSBrb2xpa3LDoXQgc2UgcMWZw61rYXogdnlrb27DoSAodm9saXRlbG7DqSwgdsO9Y2hvesOtPTEpLgorICAgIGQgLSBqZSBwxZnDrWtheiBtYXrDoW7DrS4KKyAgICBvYmpla3QgLSB1ZMOhdsOhIG5hIMSNZW0gc2UgcMWZw61rYXogdnlrb27DoXbDoSAodnlwc2Fuw6kgbsOtxb5lKS4KKworICBLcsOhdGvDvSB2w71waXMgb2JqZWt0xa86CisgICAgdyAtIG9kIGt1cnpvcnUgZG8ga29uY2Ugc2xvdmEsIHbEjWV0bsSbIG1lemVyLgorICAgIGUgLSBvZCBrdXJ6b3J1IGRvIGtvbmNlIHNsb3ZhLCBCRVogbWV6ZXIuCisgICAgJCAtIG9kIGt1cnpvcnUgZG8ga29uY2UgxZnDoWRrdS4KKworUE9aTsOBTUtBOiAgU3RsYcSNZW7DrW0ga2zDoXZlc3kgb2JqZWt0dSB2IE5vcm3DoWxuw61tIG3Ds2R1IHNlIGt1cnpvciBwxZllc3VuZSBuYQorICAgICAgICAgICBtw61zdG8gdXDFmWVzbsSbbsOpIHZlIHbDvXBpc3Ugb2JqZWt0xa8uCisKKworCisKK35+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+fgorCQkgICAgIExla2NlIDIuNDogVsOdSklNS0EgWiAnUMWYw41LQVotT0JKRUtUJworCisKKyAgICAJICAgICAgICAgICoqIE5hcHPDoW7DrW0gICBkZCAgIHNtYcW+ZcWhIGNlbMO9IMWZw6FkZWsuICoqCisKKyAgVnpobGVkZW0gayDEjWFzdG9zdGkgbWF6w6Fuw60gY2Vsw6lobyDFmcOhZGt1IHNlIGF1dG/FmWkgVmltdSByb3pob2RsaSwgxb5lIGJ1ZGUKKyAgamVkbm9kdcWhw60gbmFwc2F0IHByb3N0xJsgZHbEmyBkIGsgc21hesOhbsOtIGNlbMOpaG8gxZnDoWRrdS4KKworICAxLiBQxZllc3XFiCBrdXJ6b3IgbmEgZHJ1aMO9IMWZw6FkZWsgc3BvZG7DrWhvIHRleHR1LgorICAyLiBOYXBpxaEgIGRkICBwcm8gc21hesOhbsOtIMWZw6Fka3UuCisgIDMuIFDFmWVqZGkgbmEgxI10dnJ0w70gxZnDoWRlay4KKyAgNC4gTmFwacWhICAgMmRkICAgKHZ6cG9tZcWIIHNpICDEjcOtc2xvLXDFmcOta2F6LW9iamVrdCkgcHJvIHNtYXrDoW7DrSBkdm91IMWZw6Fka8WvLgorCisgICAgICAxKSAgUsWvxb5lIGpzb3UgxI1lcnZlbsOpLAorICAgICAgMikgIEJsw6F0byBqZSB6w6FiYXZuw6ksCisgICAgICAzKSAgRmlhbGt5IGpzb3UgbW9kcsOpLAorICAgICAgNCkgIE3DoW0gYXV0bywKKyAgICAgIDUpICBIb2Rpbmt5IHVrYXp1asOtIMSNYXMsCisgICAgICA2KSAgQ3VrciBqZSBzbGFka8O9LAorICAgICAgNykgIEEgdG8ganNpIGkgdHkuCisKKworfn5+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+CisJCQkgICBMZWtjZSAyLjU6IFDFmMONS0FaIFVORE8KKworCisgICAqKiBTdGxhxI0gIHUJcHJvIHZyw6FjZW7DrSBwb3NsZWRuw61obyBwxZnDrWthenUsICBVICBwcm8gY2Vsb3UgxZnDoWRrdS4gKioKKworICAxLiBQxZllc3XFiCBrdXJ6b3IgbsOtxb5lIG5hIMWZw6FkZWsgb3puYcSNZW7DvSAtLS0+IGEgcMWZZW3DrXN0aSBobyBuYSBwcnZuw60gY2h5YnUuCisgIDIuIE5hcGnFoSAgeCAgcHJvIHNtYXrDoW7DrSBwcnZuw61obyBuZWNodMSbbsOpaG8gem5ha3UuCisgIDMuIFRlxI8gbmFwacWhICB1ICDEjcOtbcW+IHZyw6F0w63FoSB6cMSbdCBwb3NsZWRuw60gdnlrb25hbsO9IHDFmcOta2F6LgorICA0LiBOeW7DrSBvcHJhdiB2xaFlY2hueSBjaHlieSBuYSDFmcOhZGt1IHBvbW9jw60gcMWZw61rYXp1ICB4ICAuCisgIDUuIE5hcGnFoSB2ZWxrw6kgIFUgIMSNw61txb4gdnLDoXTDrcWhIMWZw6FkZWsgZG8gcMWvdm9kbsOtaG8gc3RhdnUuCisgIDYuIFRlxI8gbmFwacWhICB1ICBuxJtrb2xpa3LDoXQsIMSNw61txb4gdnLDoXTDrcWhIHpwxJt0IHDFmcOta2F6ICBVICAuCisgIDcuIFN0bGHEjSBDVFJMLVIgKGtsw6F2ZXN1IENUUkwgZHLFviBzdGxhxI1lbm91IGEgc3Rpc2tuaSBSKSBuxJtrb2xpa3LDoXQsCisgICAgIMSNw61txb4gdnLDoXTDrcWhIHpwxJt0IHDFmWVkdMOtbSB2csOhY2Vuw6kgcMWZw61rYXp5IChyZWRvKS4KKworLS0tPiBPcHByYXYgY2h5YmJ5IG5uYSB0b29tdG8gxZnDoWRrdSBhIG5haHJhxI8gamUgcG9tbW9jw60gdW5kby4KKworICA4LiBUb3RvIGpzb3UgdmVsbWkgdcW+aXRlxI1uw6kgcMWZw61rYXp5LiBOeW7DrSBwxZllamRpIG5hIHNvdWhybiBMZWtjZSAyLgorCisgIAorCisKKworfn5+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+CisJCQkgICAgICAgU0hSTlVUw40gTEVLQ0UgMgorCisKKyAgMS4gUHJvIHNtYXrDoW7DrSB6bmFrxa8gb2Qga3Vyem9ydSBkbyBrb25jZSBzbG92YSBuYXBpxaE6ICAgIGR3CisKKyAgMi4gUHJvIHNtYXrDoW7DrSB6bmFrxa8gb2Qga3Vyem9ydSBkbyBrb25jZSDFmcOhZGt1IG5hcGnFoTogICAgZCQKKworICAzLiBQcm8gc21hesOhbsOtIGNlbMOpaG8gxZnDoWRrdSBuYXBpxaE6ICAgIGRkCisKKyAgNC4gRm9ybcOhdCBwxZnDrWthenUgdiBOb3Jtw6FsbsOtbSBtw7NkdSBqZToKKworICAgICAgIFvEjcOtc2xvXSAgIHDFmcOta2F6ICAgb2JqZWt0ICAgIE5FQk8gICAgcMWZw61rYXogICAgIFvEjcOtc2xvXSAgIG9iamVrdAorICAgICBrZGU6CisgICAgICAgxI3DrXNsbyAtIHVkw6F2w6EgcG/EjWV0IG9wYWtvdsOhbsOtIHDFmcOta2F6dQorICAgICAgIHDFmcOta2F6IC0gdWTDoXbDoSBjbyBqZSB0xZllYmEgdnlrb25hdCwgbmFwxZnDrWtsYWQgIGQgIG1hxb5lCisgICAgICAgb2JqZWt0IC0gdWTDoXbDoSByb3pzYWggcMWZw61rYXp1LCBuYXDFmcOta2xhZCAgdyAgKHNsb3ZvKSwKKwkJJCAoZG8ga29uY2UgxZnDoWRrdSksIGF0ZC4KKworICA1LiBQcm8gdnLDoWNlbsOtIHDFmWVkZcWhbMOpIMSNaW5ub3N0aSwgbmFwacWhOgl1IChtYWzDqSB1KQorICAgICBQcm8gdnLDoWNlbsOtIHbFoWVjaCDDunByYXYgbmEgxZnDoWRrdSBuYXBpxaE6CVUgKHZlbGvDqSBVKQorICAgICBQcm8gdnLDoWNlbsOtIHZyw6FjZW7DvWNoIMO6cHJhdiAocmVkbykgbmFwacWhOglDVFJMLVIKKworfn5+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+CisJCQkgTGVrY2UgMy4xOiBQxZjDjUtBWiBWTE/FvUlUCisKKworICAgICAgICoqIFDFmcOta2EgIHAgIHZsb8W+w60gcG9zbGVkbsOtIHZ5bWF6YW7DvSB0ZXh0IHphIGt1cnpvci4gKioKKworICAxLiBQxZllc3XFiCBrdXJ6b3IgbsOtxb5lIG5hIHBvc2xlZG7DrSDFmcOhZGVrIHRleHR1LgorCisgIDIuIE5hcGnFoSAgZGQgIHBybyBzbWF6w6Fuw60gxZnDoWRrdSBhIGplaG8gdWxvxb5lbsOtIGRvIGJ1ZmZlcnUuCisKKyAgMy4gUMWZZXN1xYgga3Vyem9yIFbDncWgRSB0YW0sIGthbSBzbWF6YW7DvSDFmcOhZGVrIHBhdMWZw60uCisKKyAgNC4gViBOb3Jtw6FsbsOtbSBtw7NkdSBuYXBpxaEgIHAgIHBybyBvcMSbdG7DqSB2bG/FvmVuw60gxZnDoWRrdS4KKworICA1LiBPcGFrdWoga3Jva3kgMiBhxb4gNCBkb2t1ZCDFmcOhZGt5IG5lYnVkb3UgdmUgc3Byw6F2bsOpbSBwb8WZYWTDrS4KKworICAgICBkKSBUYWvDqSBzZSBkb2vDocW+ZcWhIHZ6ZMSbbMOhdmF0PworICAgICBiKSBGaWFsa3kganNvdSBtb2Ryw6ksCisgICAgIGMpIEludGVsaWdlbmNlIHNlIHXEjcOtLAorICAgICBhKSBSxa/FvmUganNvdSDEjWVydmVuw6ksCisKKworCit+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+fn4KKwkJICAgICAgIExla2NlIDMuMjogUMWYw41LQVogTkFIUkFaRU7DjQorCisKKyAgICAgICAgICAqKiBOYXBzw6Fuw61tICByICBhIHpuYWt1IHNlIG5haHJhZMOtIHpuYWsgcG9kIGt1cnpvcmVtLiAqKgorCisgIDEuIFDFmWVzdcWIIGt1cnpvciBuw63FvmUgbmEgcHJ2bsOtIMWZw6FkZWsgb3puYcSNZW7DvSAtLS0+LgorCisgIDIuIFDFmWVzdcWIIGt1cnpvciBuYSB6YcSNw6F0ZWsgcHJ2bsOtIGNoeWJ5LgorCisgIDMuIE5hcGnFoSAgciAgYSBwb3RvbSB6bmFrLCBrdGVyw70gbmFocmFkw60gY2h5YnUuCisKKyAgNC4gT3Bha3VqIGtyb2t5IDIgYcW+IDMgZG9rdWQgbmVuw60gcHJ2bsOtIMWZw6Fka2Egc3Byw6F2bsSbLgorCistLS0+ICBLZGnFviBieWwgcHrDoW4gdGVudG8gxZnDoWRlZywgbsSba2R1IHN0bGHFvmlsIMWhcGFxbsOpIGtsw6F2ZXN5IQorLS0tPiAgS2R5xb4gYnlsIHBzw6FuIHRlbnRvIMWZw6FkZWssIG7Em2tkbyBzdGxhxI3DrWwgxaFwYXRuw6kga2zDoXZlc3khCisKKyAgNS4gTnluw60gcMWZZWpkaSBuYSBMZWtjaSAzLjIuCisKK1BPWk7DgU1LQTogWmFwYW1hdHVqIHNpLCDFvmUgYnkgc2VzIG3Em2wgdcSNaXQgcG91xb7DrXbDoW7DrW0sIG5lIHphcGFtYXRvdsOhbsOtbS4KKworCisKK35+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+fgorCQkgICAgICAgICAgIExla2NlIDMuMzogUMWYw41LQVogw5pQUkFWWQorCisKKwkgICoqIFBva3VkIGNoY2XFoSB6bcSbbml0IMSNw6FzdCBuZWJvIGNlbMOpIHNsb3ZvLCBuYXBpxaEgIGN3IC4gKioKKworICAxLiBQxZllc3XFiCBrdXJ6b3IgbsOtxb5lIG5hIHBydm7DrSDFmcOhZGVrIG96bmHEjWVuw70gLS0tPi4KKworICAyLiBVbcOtc3RpIGt1cnpvciBuYSBww61zbWVubyBpIHYgc2xvdsSbIMWZacWlb2suCisKKyAgMy4gTmFwacWhICBjdyAgYSBvcHJhdiBzbG92byAodiB0b210byBwxZnDrXBhZMSbIG5hcGnFoSAnw6FkZWsnLikKKworICA0LiBTdGxhxI0gPEVTQz4gYSBwxZllamRpIG5hIGRhbMWhw60gY2h5YnUgKHBydm7DrSB6bmFrLCBrdGVyw70gdMWZZWJhIHptxJtuaXQuKQorCisgIDUuIE9wYWt1aiBrcm9reSAzIGHFviA0IGRva3VkIG5lbsOtIHBydm7DrSB2xJt0YSBzdGVqbsOhIGpha28gdGEgZHJ1aMOhLgorCistLS0+IFRlbnRvIMWZacWlb2sgbcOhIG7Em2tvbGlrIHNraWMsIGt0ZXLDqSBwc2Fkb2luc2Egem3Em25pdCBwYXNkZ2YgcMWZw61rYXp1LgorLS0tPiBUZW50byDFmcOhZGVrIG3DoSBuxJtrb2xpayBzbG92LCBrdGVyw6kgcG90xZllYnVqw60gem3Em25pdCBwb21vY8OtIHDFmcOta2F6dS4KKworVsWhaW1uaSBzaSwgxb5lICBjdyAgbmVqZW4gbmFocmF6dWplIHNsb3ZvLCBhbGUgdGFrw6kgcMWZZW3DrXN0w60gZG8gdmtsw6Fkw6Fuw60uCisKKworCit+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+fn4KKwkJICAgICAgIExla2NlIDMuNDogVsONQ0UgWk3Emk4gUE9Vxb1JVMONTSBjCisKKworICAgKiogUMWZw61rYXogcHJvIMO6cHJhdnUgc2UgZHJ1xb7DrSBzZSBzdGVqbsO9bWkgb2JqZWt0eSBqYWtvIHRlbiBwcm8gbWF6w6Fuw60uICoqCisKKyAgMS4gUMWZw61rYXogcHJvIMO6cHJhdnUgcHJhY3VqZSBzdGVqbsSbIGpha28gcHJvIG1hesOhbsOtLiBGb3Jtw6F0IGplOgorCisgICAgICAgW8SNw61zbG9dICAgYyAgIG9iamVrdAkgTkVCTwkgICBjCVvEjcOtc2xvXSAgIG9iamVrdAorCisgIDIuIE9iamVrdHkganNvdSB0YWvDqSBzaG9kbsOpLCBqYWtvIG5hcMWZLjogdyAoc2xvdm8pLCAkIChrb25lYyDFmcOhZGt1KSwgYXRkLgorCisgIDMuIFDFmWVqZGkgbsOtxb5lIG5hIHBydm7DrSDFmcOhZGVrIG96bmHEjWVuw70gLS0tPi4KKworICA0LiBQxZllc3XFiCBrdXJ6b3IgbmEgcHJ2bsOtIHJvemTDrWwuCisKKyAgNS4gTmFwacWhICBjJCAgcHJvIHVwcmF2ZW7DrSB6Ynl0a3UgxZnDoWRrdSBwb2RsZSB0b2hvIGRydWjDqWhvIGEgc3RsYcSNIDxFU0M+LgorCistLS0+IEtvbmVjIHRvaG90byDFmcOhZGt1IHBvdMWZZWJ1amUgcG9tb2MsIGFieSBieWwgamFrbyB0ZW4gZHJ1aMO9LgorLS0tPiBLb25lYyB0b2hvdG8gxZnDoWRrdSBwb3TFmWVidWplIG9wcmF2aXQgcG91xb5pdMOtbSBwxZnDrWthenUgIGMkICAuCisKKworCit+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+fn4KKwkJCSAgICAgICBTSFJOVVTDjSBMRUtDRSAzCisKKworICAxLiBQcm8gdmxvxb5lbsOtIHRleHR1LCBrdGVyw70gYnlsIHNtYXrDoW4sIG5hcGnFoSAgcCAgLiBUbyB2bG/FvsOtIHNtYXphbsO9IHRleHQKKyAgICAgWkEga3Vyem9yIChwb2t1ZCBieWwgxZnDoWRlayBzbWF6YW7DvSwgcMWZZWpkZSBuYSDFmcOhZGVrIHBvZCBrdXJ6b3JlbSkuCisKKyAgMi4gUHJvIG5haHJhemVuw60gem5ha3UgcG9kIGt1cnpvcmVtLCBuYXBpxaEgIHIgIGEgcG90b20gem5haywga3RlcsO9bQorICAgICBjaGNlxaEgcMWvdm9kbsOtIHpuYWsgbmFocmFkaXQuCisKKyAgMy4gUMWZw61rYXogbmEgdXByYXZvdsOhbsOtIHVtb8W+xYh1amUgem3Em25pdCBzcGVjaWZpa292YW7DvSBvYmpla3Qgb2Qga3Vyem9ydQorICAgICBkbyBrb25jZSBvYmpla3R1LiBOYXDFmcOta2xhZDogTmFwacWhICBjdyAgLMSNw61txb4gem3Em27DrcWhIHRleHQgb2QgcG96aWNlCisgICAgIGt1cnpvcnUgZG8ga29uY2Ugc2xvdmEsICBjJCAgem3Em27DrSB0ZXh0IGRvIGtvbmNlIMWZw6Fka3UuCisKKyAgNC4gRm9ybcOhdCBwcm8gbmFocmF6b3bDoW7DrSBqZToKKworCSBbxI3DrXNsb10gICBjICAgb2JqZWt0ICAgICAgTkVCTyAgICAgYyAgIFvEjcOtc2xvXSAgIG9iamVrdAorCitOeW7DrSBwxZllamRpIG5hIG7DoXNsZWR1asOtY8OtIGxla2NpLgorCisKKworCit+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+fn4KKwkJICAgICAgTGVrY2UgNC4xOiBQT1pJQ0UgQSBTVEFUVVMgU09VQk9SVQorCisKKyAgKiogU3RsYcSNIENUUkwtZyBwcm8gem9icmF6ZW7DrSBzdsOpIHBvemljZSB2IHNvdWJvcnUgYSBzdGF0dXN1IHNvdWJvcnUuCisgICAgIFN0bGHEjSBTSElGVC1HIHBybyBwxZllY2hvZCBuYSDFmcOhZGVrIHYgc291Ym9ydS4gKioKKworICBQb3puw6Fta2E6IFDFmWXEjXRpIHNpIGNlbG91IGxla2NpIG5lxb4gemHEjW5lxaEgdnlrb27DoXZhdCBrcm9reSEhCisKKyAgMS4gRHLFviBrbMOhdmVzdSBDdHJsIHN0bGHEjWVub3UgYSBzdGlza25pICBnICAuIFZlc3BvZCBvYnJhem92a3kgc2Ugem9icmF6w60KKyAgICAgc3Rhdm92w70gxZnDoWRlayBzIG7DoXp2ZW0gc291Ym9ydSBhIMWZw6Fka291IG5hIGt0ZXLDqSBzZSBuYWNow6F6w63FoS4gWmFwYW1hdHVqCisgICAgIHNpIMSNw61zbG8gxZnDoWRrdSBwcm8ga3JvayAzLgorCisgIDIuIFN0bGHEjSBzaGlmdC1HIHBybyBwxZllc3VuIG5hIGtvbmVjIHNvdWJvcnUuCisKKyAgMy4gTmFwacWhIMSNw61zbG8gxZnDoWRrdSBuYSBrdGVyw6ltIHNpIHNlIG5hY2jDoXplbCBhIHN0bGHEjSBzaGlmdC1HLiBUbyB0xJsKKyAgICAgdnLDoXTDrSBuYSDFmcOhZGVrLCBuYSBrdGVyw6ltIGpzaSBkxZnDrXZlIHN0aXNrbCBDdHJsLWcuCisgICAgIChLZHnFviBww63FoWXFoSDEjcOtc2xhLCB0YWsgc2UgTkVaT0JSQVpVSsONIG5hIG9icmF6b3ZjZS4pCisKKyAgNC4gUG9rdWQgc2UgY8OtdMOtxaEgc2Nob3Buw70gdnlrb25hdCB0eXRvIGtyb2t5LCB2eWtvbmVqIGplLgorCisKKworfn5+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+CisJCQlMZWtjZSA0LjI6IFDFmMONS0FaIFZZSExFRMOBVsOBTsONCisKKworICAgICAqKiBOYXBpxaEgIC8gIG7DoXNsZWRvdmFuw6kgxZlldMSbemNlbSBwcm8gdnlobGVkw6Fuw60gb25vaG8gxZlldMSbemNlLiAqKgorCisgIDEuIFN0aXNrbmkgLyB2IE5vcm3DoWxuw61tIG3Ds2R1LiAgVsWhaW1uaSBzaSwgxb5lIHRlbnRvIHpuYWsgc2Ugc3BvbHUgcworICAgICBrdXJ6b3JlbSB6b2JyYXrDrSB2IGRvbG7DrSDEjcOhc3RpIG9icmF6b3ZreSBqYWtvIHDFmcOta2F6ICA6ICAuCisKKyAgMi4gTnluw60gbmFwacWhICdjaGh5YmJhJyA8RU5URVI+LiAgVG8gamUgc2xvdm8sIGt0ZXLDqSBjaGNlxaEgdnlobGVkYXQuCisKKyAgMy4gUHJvIHZ5aGxlZMOhbsOtIGRhbMWhw61obyB2w71zbGVka3Ugc3Rlam7DqWhvIMWZZXTEm3pjZSwgamVkbm9kdcWhZSBzdGxhxI0gIG4gIC4KKyAgICAgUHJvIHZ5aGxlZMOhbsOtIGRhbMWhw61obyB2w71zbGVka3Ugc3Rlam7DqWhvIMWZZXTEm3pjZSBvcGHEjW7DvW0gc23Em3JlbSwgc3Rpc2tuaQorICAgICBTaGlmdC1OLgorCisgIDQuIFBva3VkIGNoY2XFoSB2eWhsZWRhdCDFmWV0xJt6ZWMgdiBvcGHEjW7DqW0gc23Em3J1LCBwb3XFvmlqIHDFmcOta2F6ICA/ICBtw61zdG8KKyAgICAgcMWZw61rYXp1ICAvICAuCisKKy0tLT4gImNoaHliYmEiIG5lbsOtIHpwxa9zb2IsIGphayBobMOhc2tvdmF0IGNoeWJhOyBjaGh5YmJhIGplIGNoeWJhLgorCitQb3puw6Fta2E6IEtkecW+IHZ5aGxlZMOhdsOhbsOtIGRvc8OhaG5lIGtvbmNlIHNvdWJvcnUsIGJ1ZGUgcG9rcmHEjW92YXQgbmEgamVobworICAgICAgICAgIHphxI3DoXRrdS4KKworfn5+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+CisJCSAgIExla2NlIDQuMzogVllITEVEw4FWw4FOw40gUMOBUk9Ww4kgWsOBVk9SS1kKKworCisJICAgICAgKiogTmFwacWhICAlICBwcm8gbmFsZXplbsOtIHDDoXJvdsOpICksXSwgbmVibyB9IC4gKioKKworICAxLiBQxZllbcOtc3RpIGt1cnpvciBuYSBrdGVyb3Vrb2xpICgsIFssIG5lYm8geyB2IMWZw6Fka3Ugb3puYcSNZW7DqW0gLS0tPi4KKworICAyLiBOeW7DrSBuYXBpxaEgem5hayAgJSAgLgorCisgIDMuIEt1cnpvciBzZSBwxZllbcOtc3TDrSBuYSBvZHBvdsOtZGFqw61jw60gesOhdm9ya3UuCisKKyAgNC4gU3RsYcSNICAlICBwcm8gcMWZZXN1biBrdXJ6b3J1IHpwxJt0IG5hIG90dsOtcmFqw61jw60gesOhdm9ya3UuCisKKy0tLT4gVG90byAoIGplIHRlc3RvdmFjw60gxZnDoWRlayAoJ3MsIFsncyBdIGEgeydzIH0gdiBuxJttLiApKQorCitQb3puw6Fta2E6IFRvdG8gamUgdmVsbWkgdcW+aXRlxI1uw6kgcMWZw60gbGFkxJtuw60gcHJvZ3JhbXUgcyBjaHlixJtqw61jw61taQorICAgICAgICAgIHV6YXbDrXJhY8OtbWkgesOhdm9ya2FtaS4KKworCisKKworCit+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+fn4KKwkJICAgICAgTGVrY2UgNC40OiBaUMWuU09CIEpBSyBaTcSaTklUIENIWUJZCisJCSAgICAgIAorCisgICAqKiBOYXBpxaEgIDpzL3N0YXLDqS9ub3bDqS9nICBwcm8gbmFocmF6ZW7DrSBzbG92YSAnbm92w6knIHphICdzdGFyw6knLiAqKgorCisgIDEuIFDFmWVzdcWIIGt1cnpvciBuYSDFmcOhZGVrIG96bmHEjWVuw70gLS0tPi4KKworICAyLiBOYXBpxaEgIDpzL2RvYnLDqcOpL2RvYnLDqSA8RU5URVI+IC4gIFbFoWltbmkgc2ksIMW+ZSB0ZW50byBwxZnDrWtheiB6bcSbbsOtIHBvdXplCisgICAgIHBydm7DrSB2w71za3l0IHYgxZnDoWRrdS4KKworICAzLiBOeW7DrSBuYXBpxaEJIDpzL2RvYnLDqcOpL2RvYnLDqS9nICBjb8W+IHpuYW1lbsOhIGNlbGtvdsOpIG5haHJhemVuw60gdiDFmcOhZGt1LgorICAgICBUb3RvIG5haHJhZMOtIHbFoWVjaG55IHbDvXNreXR5IHYgxZnDoWRrdS4KKworLS0tPiBkb2Jyw6nDqSBzdXJvdmlueSBhIGRvYnLDqcOpIG7DocSNaW7DrSBqc291IHrDoWtsYWRlbSBkb2Jyw6nDqSBrdWNoeW7Emy4KKworICA0LiBQcm8gem3Em251IHbFoWVjaCB2w71za3l0xa8gxZlldMSbemNlIG1lemkgZHbEm21hIMWZw6Fka3ksCisgICAgIE5hcGnFoSAgIDojLCNzL3N0YXLDqS9ub3bDqS9nICBrZGUgIywjIGpzb3UgxI3DrXNsYSBvbsSbY2ggxZnDoWRlay4KKyAgICAgTmFwacWhICAgOiVzL3N0YXLDqS9ub3bDqS9nICAgIHBybyB6bcSbbnUgdsWhZWNoIHbDvXNreXTFryB2IGNlbMOpbSBzb3Vib3J1LgorCisKKworCit+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+fn4KKwkJCSAgICAgICBTSFJOVVTDjSBMRUtDRSA0CisKKworICAxLiBDdHJsLWcgIHZ5cMOtxaFlIHR2b3UgcG96aWNpIHYgc291Ym9ydSBhIHN0YXR1cyBzb3Vib3J1LgorICAgICBTaGlmdC1HICB0xJsgcMWZZW3DrXN0w60gbmEga29uZWMgc291Ym9ydS4gIMSMw61zbG8gbsOhc2xlZG92YW7DqQorICAgICBTaGlmdC1HICB0xJsgcMWZZXN1bmUgbmEgZGFuw6kgxI3DrXNsbyDFmcOhZGt1LgorCisgIDIuIE5hcHPDoW7DrSAgLyAgbsOhc2xlZG92YW7DqSDFmWV0xJt6Y2VtIHZ5aGxlZMOhIMWZZXTEm3plYyBzbcSbcmVtIERPUMWYRURVLgorICAgICBOYXBzw6Fuw60gID8gIG7DoXNsZWRvdmFuw6kgxZlldMSbemNlbSB2eWhsZWTDoSDFmWV0xJt6ZWMgc23Em3JlbSBET1pBRFUuCisgICAgIE5hcHPDoW7DrSAgbiAgcG8gdnlobGVkw6F2w6Fuw60gbmFqZGUgbsOhc2xlZHVqw61jw60gdsO9c2t5dCDFmWV0xJt6Y2UgdmUgc3Rlam7DqW0KKyAgICAgc23Em3J1LCBTaGlmdC1OIHZlIHNtxJtydSBvcGHEjW7DqW0uCisKKyAgMy4gU3Rpc2tudXTDrSAgJSAga2R5xb4gamUga3Vyem9yIG5hICgsKSxbLF0seywgbmVibyB9IG5hamRlIG9kcG92w61kYWrDrWPDrQorICAgICBww6Fyb3ZvdSB6w6F2b3JrdS4KKworICA0LiBQcm8gbmFocmF6ZW7DrSBub3bDqWhvIHphIHBydm7DrSBzdGFyw70gdiDFmcOhZGt1IG5hcGnFoSAgICAgOnMvc3RhcsOpL25vdsOpCisgICAgIFBybyBuYWhyYXplbsOtIG5vdsOpaG8gemEgdsWhZWNobnkgc3RhcsOpIHYgxZnDoWRrdSBuYXBpxaEgICA6cy9zdGFyw6kvbm92w6kvZworICAgICBQcm8gbmFocmF6ZW7DrSDFmWV0xJt6Y8WvIG1lemkgZHbEm21pIMWZw6Fka2FtaSAjIG5hcGnFoSAgICAgIDojLCNzL3N0YXLDqS9ub3bDqS9nCisgICAgIFBybyBuYWhyYXplbsOtIHbFoWVjaCB2w71za3l0xa8gdiBzb3Vib3J1IG5hcGnFoQkgICA6JXMvc3RhcsOpL25vdsOpL2cKKyAgICAgUHJvIHBvdHZyemVuw60ga2HFvmTDqWhvIG5haHJhemVuw60gcMWZaWRlaiAnYycJCSAgIDolcy9zdGFyw6kvbm92w6kvZ2MKKworCit+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+fn4KKwkJICAgIExla2NlIDUuMTogSkFLIFZZS09OQVQgVk7EmkrFoMONIFDFmMONS0FaCisKKworICAgKiogTmFwacWhICA6ISAgbsOhc2xlZG92YW7DqSB2bsSbasWhw61tIHDFmcOta2F6ZW0gcHJvIHNwdcWhdMSbbsOtIHDFmcOta2F6dS4gKioKKworICAxLiBOYXBpxaEgb2J2eWtsw70gcMWZw61rYXogIDogICwga3RlcsO9IHVtw61zdMOtIGt1cnpvciBuYSBzcG9kZWsgb2JyYXpvdmt5CisgICAgIFRvIHVtb8W+bsOtIG5hcHNhdCBwxZnDrWthei4KKworICAyLiBOeW7DrSBzdGlza25pICAhICAodnlrxZlpxI1uw61rKS4gVG8gdW1vxb5uw60gdnlrb25hdCBqYWvDvWtvbGl2IHZuxJtqxaHDrQorICAgICBwxZnDrWtheiB6IHDFmcOta2F6b3bDqWhvIMWZw6Fka3UuCisKKyAgMy4gTmFwxZnDrWtsYWQgbmFwacWhICBscyAgemEgISBhIHN0aXNrbmkgPEVOVEVSPi4gIFRlbnRvIHDFmcOta2F6IHpvYnJhesOtCisgICAgIG9ic2FoIHR2w6lobyBhZHJlc8OhxZllIGpha28gdiBwxZnDrWthem92w6ltIMWZw6Fka3UuCisgICAgIFZ5emtvdcWhZWogIDohZGlyICBwb2t1ZCBscyBuZWZ1bmd1amUuCisKK1Bvem7DoW1rYTogIFRha3RvIGplIG1vxb5uw6kgdnlrb25hdCBqYWvDvWtvbGl2IHDFmcOta2F6LgorCitQb3puw6Fta2E6ICBWxaFlY2hueSBwxZnDrWthenkgIDogIG11c8OtIGLDvXQgZG9rb27EjWVuw6kgc3Rpc2tudXTDrW0gPEVOVEVSPgorCisKKworCit+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+fn4KKwkJICAgICBMZWtjZSA1LjI6IFbDjUNFIE8gVUtMw4FEw4FOw40gU09VQk9Sxa4KKworCisJICAgICoqIFBybyB1bG/FvmVuw60gem3Em24gdiBzb3Vib3J1IG5hcGnFoSAgOncgU09VQk9SLiAqKgorCisgIDEuIE5hcGnFoSAgOiFkaXIgIG5lYm8gIDohbHMgIHBybyB2w71waXMgYWt0dcOhbG7DrWhvIGFkcmVzw6HFmWUuCisgICAgIFXFviB2w63FoSwgxb5lIHphIHTDrW10byBtdXPDrcWhIHN0aXNrbm91dCA8RU5URVI+LgorCisgIDIuIFZ5YmVyIHNpIG7DoXpldiBzb3Vib3J1LCBrdGVyw70gamXFoXTEmyBuZWV4aXN0dWplLCBuYXDFmcOta2xhZCBURVNULgorCisgIDMuIE55bsOtIG5hcGnFoTogIDp3IFRFU1QgIChrZGUgVEVTVCBqZSB2eWJyYW7DvSBuw6F6ZXYgc291Ym9ydS4pCisKKyAgNC4gVG8gdWxvxb7DrSBjZWzDvSBzb3Vib3IgIChWw711a2EgVmltdSkgIHBvZCBuw6F6dmVtIFRFU1QuCisgICAgIFBybyBvdsSbxZllbsOtIG5hcGnFoSB6bm92dSA6IWRpciAgLCDEjcOtbcW+IHpvYnJhesOtxaEgb2JzYWggYWRyZXPDocWZZS4KKworUG96bsOhbWthOiBKYWttaWxlIHVrb27EjcOtxaEgVmltIGEgem5vdnUgaG8gc3B1c3TDrcWhIHMgbsOhenZlbSBzb3Vib3J1IFRFU1QsCisgICAgICAgICAgc291Ym9yIGJ1ZGUgcMWZZXNuw6Ega29waWUgdsO9dWt5LCBrZHnFviBzaSBqaSB1a2zDoWRhbC4KKworICA1LiBOeW7DrSBvZHN0cmHFiCBzb3Vib3IgbmFwc8OhbsOtbSAoTVMtRE9TKTogICAgOiFkZWwgVEVTVAorCQkJICAgICBuZWJvIChVbml4KTogICAgICA6IXJtIFRFU1QKKworCit+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+fn4KKwkJICAgICBMZWtjZSA1LjM6IFbDnULEmlJPVsOdIFDFmMONS0FaIFVMT8W9RU7DjQorCisKKwkgICAgKiogUHJvIHVsb8W+ZW7DrSDEjcOhc3RpIHNvdWJvcnUgbmFwacWhICA6IywjIHcgU09VQk9SICoqCisKKyAgMS4gSmXFoXTEmyBqZWRub3UgbmFwacWhICA6IWRpciAgbmVibyAgOiFscyAgcHJvIHbDvXBpcyBha3R1w6FsbsOtaG8gYWRyZXPDocWZZQorICAgICBhIHZ5YmVyIHZob2Ruw70gbsOhemV2IHNvdWJvcnUgamFrbyBuYXDFmS4gVEVTVC4KKworICAyLiBQxZllc3XFiCBrdXJ6b3IgbmEgdnJjaCB0w6l0byBzdHLDoW5reSBhIHN0aXNrbmkgIEN0cmwtZyAgcHJvIHpvYnJhemVuw60KKyAgICAgxI3DrXNsYSDFmcOhZGt1LiAgWkFQQU1BVFVKIFNJIFRPVE8gxIzDjVNMTyEKKworICAzLiBOeW7DrSBzZSBwxZllc3XFiCBuYSBzcG9kZWsgdMOpdG8gc3Ryw6Fua3kgYSBvcMSbdCBzdGlza25pIEN0cmwtZy4KKyAgICAgWkFQQU1BVFVKIFNJIEkgxIzDjVNMTyBUT0hPVE8gxZjDgURLVSEKKworICA0LiBQcm8gdWxvxb5lbsOtIFBPVVpFIMSNw6FzdGkgc291Ym9ydSwgbmFwacWhICA6IywjIHcgVEVTVCAga2RlICMsIyBqc291CisgICAgIMSNw61zbGEgZHZvdSB6YXBhbWF0b3ZhbsO9Y2ggxZnDoWRrxa8gKHZyY2gsIHNwb2RlaykgYSBURVNUIGplIG7DoXpldiBzb3Vib3J1LgorCisgIDUuIFpub3ZhIHNlIHVqaXN0aSwgxb5lIHRhbSB0ZW4gc291Ym9yIGplIHBvbW9jw60gIDohZGlyICBhbGUgTkVPRFNUUkHFh1VKIGhvLgorCisKKworCit+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+fn4KKwkJICAgICAgICBMZWtjZSA1LjQ6IFNMVcSMT1bDgU7DjSBTT1VCT1LFrgorCisKKyAgICAgIAkgICAqKiBLIHZsb8W+ZW7DrSBvYnNhaHUgc291Ym9ydSBuYXBpxaEgIDpyIE7DgVpFVl9TT1VCT1JVICoqCisKKyAgMS4gTmFwacWhICA6IWRpciAgcHJvIHVqacWhdMSbbsOtLCDFvmUgc291Ym9yIFRFU1Qgc3TDoWxlIGV4aXN0dWplLgorCisgIDIuIFDFmWVzdcWIIGt1cnpvciBuYSB2cmNoIHTDqXRvIHN0csOhbmt5LgorCitQT1pOw4FNS0E6IFBvIHZ5a29uw6Fuw60ga3Jva3UgMyB1dmlkw63FoSBsZWtjaSA1LjMuCVBvdG9tIHNlIG9wxJt0IHDFmWVzdcWIIGRvbMWvCisgICAgICAgICAgbmEgdHV0byBsZWtjaS4KKworICAzLiBOeW7DrSB2bG/FviBzb3Vib3IgVEVTVCBwb3XFvml0w61tIHDFmcOta2F6dSAgOnIgVEVTVCAga2RlIFRFU1QgamUgbsOhemV2CisgICAgIHNvdWJvcnUuCisKK1BPWk7DgU1LQTogU291Ym9yLCBrdGVyw70gdmtsw6Fkw6HFoSBzZSB2bG/FvsOtIG9kIG3DrXN0YSwga2RlIHNlIG5hY2jDoXrDrSBrdXJ6b3IuCisKKyAgNC4gUHJvIHBvdHZyemVuw60gdmxvxb5lbsOtIHNvdWJvcnUsIHDFmWVzdcWIIGt1cnpvciB6cMSbdCBhIHbFoWltbmkgc2ksIMW+ZSB0ZcSPCisgICAgIG3DocWhIGR2xJsga29waWUgbGVrY2UgNS4zLCBvcmlnaW7DoWwgYSBzb3Vib3Jvdm91IHZlcnppLgorCisKKworfn5+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+CisJCQkgICAgICAgU0hSTlVUw40gTEVLQ0UgNQorCisKKyAgMS4gIDohcMWZw61rYXogIHZ5a29uw6Egdm7Em2rFocOtIHDFmcOta2F6LgorCisgICAgICBOxJtrdGVyw6kgdcW+aXRlxI1uw6kgcMWZw61rbGFkeSBqc291OgorCSAoTVMtRE9TKQkgIChVbml4KQorCSAgOiFkaXIJCSAgIDohbHMJCSAgIC0gIHpvYnJhesOtIG9ic2FoIHNvdWJvcnUuCisJICA6IWRlbCBTT1VCT1IgICAgIDohcm0gU09VQk9SICAgICAtICBvZHN0cmFuw60gU09VQk9SLgorCisgIDIuICA6dyBTT1VCT1IgIHVsb8W+w60gYWt0dcOhbG7DrSB0ZXh0IGpha28gU09VQk9SIG5hIGRpc2suCisKKyAgMy4gIDojLCN3IFNPVUJPUiAgdWxvxb7DrSDFmcOhZGt5IG9kICMgZG8gIyBkbyBTT1VCT1JVLgorCisgIDQuICA6ciBTT1VCT1IgIHZ5YmVyZSB6IGRpc2t1IFNPVUJPUiBhIHZsb8W+w60gaG8gZG8gZWRpdG92YW7DqWhvIHNvdWJvcnUKKyAgICAgIHphIHBvemljaSBrdXJ6b3J1LgorCisKKworCisKKworfn5+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+CisJCQkgIExla2NlIDYuMTogUMWYw41LQVogT1RFVsWYw41UCisKKworICAqKiBOYXBpxaEgIG8gIHBybyB2bG/FvmVuw60gxZnDoWRrdSBwb2Qga3Vyem9yIGEgcMWZZXBudXTDrSBkbyBWa2zDoWRhY8OtaG8gbcOzZHUuICoqCisKKyAgMS4gUMWZZW3DrXN0aSBrdXJ6b3IgbsOtxb5lIG5hIMWZw6FkZWsgb3puYcSNZW7DvSAtLS0+LgorCisgIDIuIE5hcGnFoSAgbyAobWFsw6kpIHBybyB2bG/FvmVuw60gxZnDoWRrdSBQT0Qga3Vyem9yIGEgcMWZZXBudXTDrSBkbworICAgICBWa2zDoWRhY8OtaG8gbcOzZHUuCisKKyAgMy4gTnluw60gemtvcMOtcnVqIMWZw6FkZWsgb3puYcSNZW7DvSAtLS0+IGEgc3Rpc2tuaSA8RVNDPiBwcm8gdWtvbsSNZW7DrQorICAgICBWa2zDoWRhY8OtaG8gbcOzZHUuCisgIAorLS0tPiBQbyBzdGlza251dMOtICBvICBzZSBrdXJ6b3IgcMWZZW3DrXN0w60gbmEgdmxvxb5lbsO9IMWZw6FkZWsgZG8gVmtsw6FkYWPDrWhvCisgICAgIG3Ds2R1LgorCisgIDQuIFBybyBvdGV2xZllbsOtIMWZw6Fka3UgTkFEIGt1cnpvcmVtIGplZG5vZHXFoWUgbmFwacWhIHZlbGvDqSAgTyAgLCBtw61zdG8KKyAgICAgbWFsw6lobyBvLiBWeXprb3XFoWVqIHNpIHRvIG5hIG7DoXNsZWR1asOtY8OtbSDFmcOhZGt1LgorVmxvxb4gxZnDoWRlayBuYWQgdMOtbXRvIG5hcHPDoW7DrW0gU2hpZnQtTyBwbyB1bcOtc3TEm27DrSBrdXJ6b3J1IG5hIHRlbnRvIMWZw6FkZWsuCisKKworCit+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+fn4KKwkJCSAgTGVrY2UgNi4yOiBQxZjDjUtBWiBQxZhJREFUCisKKworCSAgICAgKiogU3Rpc2tuaSAgYSAgcHJvIHZsb8W+ZW7DrSB0ZXh0dSBaQSBrdXJ6b3IuICoqCisKKyAgMS4gUMWZZXN1xYgga3Vyem9yIG5hIG7DrcW+ZSBuYSBrb25lYyDFmcOhZGt5IG96bmHEjWVuw6kgLS0tPgorICAgICBzdGlza251dMOtbSAkIHYgTm9ybcOhbG7DrW0gbcOzZHUuCisKKyAgMi4gU3Rpc2tuaSAgYSAgKG1hbMOpKSBwcm8gcMWZaWTDoW7DrSB0ZXh0dSBaQSB6bmFrLCBrdGVyw70gamUgcG9kIGt1cnpvcmVtLgorICAgICAoVmVsa8OpICBBICBwxZlpZMOhIG5hIGtvbmVjIMWZw6Fka3UuKQorCitQb3puw6Fta2E6IFTDrW10byBzZSB2eWhuZcWhIHN0aXNrbnV0w60gIGkgICwgcG9zbGVkbsOtaG8gem5ha3UsIHRleHR1IG5hIHZsb8W+ZW7DrSwKKyAgICAgICAgICA8RVNDPiwga3Vyem9yIGRvcHJhdmEsIGEgbmFrb25lYyAgeCAgbmEgcMWZaWTDoXbDoW7DrSBuYSBrb25lYyDFmcOhZGt1IQorCisgIDMuIE55bsOtIGRva29uxI3DrSBwcnZuw60gxZnDoWRlay4gVsWhaW1uaSBzaSwgxb5lIHDFmWlkw6F2w6Fuw60gamUgdmxhc3RuxJsgc3Rlam7DqSBqYWtvCisgICAgIFZrbMOhZGFjw60gbcOzZCwga3JvbcSbIG3DrXN0YSwga2FtIHNlIHRleHQgdmtsw6Fkw6EuCisKKy0tLT4gVGVudG8gxZnDoWRlayB0aSB1bW/FvsWIdWplIG5hY3ZpxI1pdAorLS0tPiBUZW50byDFmcOhZGVrIHRpIHVtb8W+xYh1amUgbmFjdmnEjWl0IHDFmWlkw6F2w6Fuw60gdGV4dHUgbmEga29uZWMgxZnDoWRreS4KKworCisKK35+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+fgorCQkgICAgICBMZWtjZSA2LjM6IEpJTsOdIFpQxa5TT0IgTkFIUkFaT1bDgU7DjQorCisKKyAgICAgICAgICoqIE5hcGnFoSB2ZWxrw6kgIFIgIHBybyBuYWhyYXplbsOtIHbDrWMgbmXFviBqZWRub2hvIHpuYWt1LiAqKgorCisgIDEuIFDFmWVzdcWIIGt1cnpvciBuYSBwcnZuw60gxZnDoWRlayBvem5hxI1lbsO9IC0tLT4uCisKKyAgMi4gVW3DrXN0aSBrdXJ6b3IgbmEgemHEjcOhdGVrIHBydm7DrWhvIHNsb3ZhLCBrdGVyw6kgamUgb2RsacWhbsOpIG9kIGRydWjDqWhvCisgICAgIMWZw6Fka3Ugb3puYcSNZW7DqWhvIC0tLT4gKHNsb3ZvICdwb3NsZWRuw60nKS4KKworICAzLiBOeW7DrSBzdGlza25pICBSICBhIG5haHJhxI8gemJ5dGVrIHRleHR1IG5hIHBydm7DrW0gxZnDoWRrdSBwxZllcHPDoW7DrW0KKyAgICAgc3RhcsOpaG8gdGV4dHUgdGFrLCBhYnkgYnlsIHBydm7DrSDFmcOhZGVrIHN0ZWpuw70gamFrbyB0ZW4gZHJ1aMO9LgorCistLS0+IFBybyB1cHJhdmVuw60gcHJ2bsOtaG8gxZnDoWRrdSBkbyB0dmFydSB0b2hvIHBvc2xlZG7DrSBuYSBzdHJhbsSbIHBvdcW+aWoga2wuCistLS0+IFBybyB1cHJhdmVuw60gcHJ2bsOtaG8gxZnDoWRrdSBkbyB0dmFydSB0b2hvIGRydWjDqWhvLCBuYXBpxaEgUiBhIG5vdsO9IHRleHQuCisKKyAgNC4gVsWhaW1uaSBzaSwgxb5lIGpha21pbGUgc3Rpc2tuZcWhIDxFU0M+IHbFoWVjaGVuIG5lem3Em27Em27DvSB0ZXh0IHrFr3N0w6F2w6EuCisKKworCisKKworfn5+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+CisJCSAgICAgICAgIExla2NlIDYuNDogTkFTVEFWRU7DjSBNT8W9Tk9TVMONCisKKyAgKiogTmFzdGF2IG1vxb5ub3N0LCDFvmUgdnlobGVkw6F2w6Fuw60gYW5lYm8gbmFocmF6b3bDoW7DrSBuZWRiw6EgdmVsaWtvc3RpIHDDrXNtZW4gKioKKworICAxLiBWeWhsZWRlaiDFmWV0xJt6ZWMgJ2lnbm9yZScgbmFwc8OhbsOtbToKKyAgICAgL2lnbm9yZQorICAgICBab3Bha3VqIG7Em2tvbGlrcsOhdCBzdGlza251dMOtIGtsw6F2ZXN5IG4uCisKKyAgMi4gTmFzdGF2IG1vxb5ub3N0ICdpYycgKElnbm9yZSBjYXNlKSBuYXBzw6Fuw61tIHDFmcOta2F6dToKKyAgICAgOnNldCBpYworCisgIDMuIE55bsOtIHpub3Z1IHZ5aGxlZGVqICdpZ25vcmUnIHN0aXNrbnV0w61tOiBuCisgICAgIE7Em2tvbGlrcsOhdCBobGVkw6Fuw60gem9wYWt1aiBzdGlza251dMOtbSBrbMOhdmVzeSBuLgorCisgIDQuIE5hc3RhdiBtb8W+bm9zdGkgJ2hsc2VhcmNoJyBhICdpbmNzZWFyY2gnOgorICAgICA6c2V0IGhscyBpcworCisgIDUuIE55bsOtIHpub3Z1IHZ5a29uZWogdnlobGVkw6F2YWPDrSBwxZnDrWtheiBhIHNsZWR1aiwgY28gc2Ugc3RhbmU6CisgICAgIC9pZ25vcmUKKworICA2LiBQcm8gdnlwbnV0w60genbDvXJhesWIb3bDoW7DrSB2w71zbGVka8WvIG5hcGnFoToKKyAgICAgOm5vaGxzZWFyY2gKK35+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+fgorCQkJICAgICAgIFNIUkhOVVTDjSBMRUtDRSA2CisKKworICAxLiBTdGlza251dMOtICBvICBvdGV2xZllIG5vdsO9IMWZw6FkZWsgUE9EIGt1cnpvcmVtIGEgdW3DrXN0w60ga3Vyem9yIG5hIHZsb8W+ZW7DvQorICAgICDFmcOhZGVrIGRvIFZrbMOhZGFjw61obyBtw7NkdS4KKyAgICAgTmFwc8OhbsOtIHZlbGvDqWhvICBPICBvdGV2xZllIMWZw6FkZWsgTkFEIMWZw6Fka2VtLCBuYSBrdGVyw6ltIGplIGt1cnpvci4KKworICAyLiBTdGlza25pICBhICBwcm8gdmxvxb5lbsOtIHRleHR1IFpBIHpuYWsgbmEgcG96aWNpIGt1cnpvcnUuCisgICAgIE5hcHPDoW7DrSB2ZWxrw6lobyAgQSAgYXV0b21hdGlja3kgcMWZaWTDoSB0ZXh0IG5hIGtvbmVjIMWZw6Fka3UuCisKKyAgMy4gU3Rpc2tudXTDrSB2ZWxrw6lobyAgUiAgcMWZZXBuZSBkbyBOYWhyYXpvdmFjw61obyBtw7NkdSwgZG9rdWQKKyAgICAgbmVzdGlza25lxaEgPEVTQz4gcHJvIGplaG8gdWtvbsSNZW7DrS4KKworICA0LiBOYXBzw6Fuw60gIjpzZXQgeHh4IiBuYXN0YXbDrSBtb8W+bm9zdGkgInh4eCIuCisKKworCisKKworCisKKworfn5+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+CisJCSAgICAgIExFS0NFIDc6IFDFmMONS0FaWSBPTi1MSU5FIE7DgVBPVsSaRFkKKworCisJCSAgICoqIFBvdcW+w612ZWogb24tbGluZSBzeXN0w6ltIG7DoXBvdsSbZHkgKioKKworICBWaW0gbcOhIG9ic8OhaGzDvSBvbi1saW5lIHN5c3TDqW0gbsOhcG92xJtkeS4gUHJvIHphxI3DoXRlayB2eXprb3XFoWVqIGplZGVuIHoKKyAgbsOhc2xlZHVqw61jw61jaDoKKwktIHN0aXNrbmkga2zDoXZlc3UgPEhFTFA+IChwb2t1ZCBqaSBtw6HFoSkKKwktIHN0aXNrbmkga2zDoXZlc3UgPEYxPiAgKHBva3VkIGppIG3DocWhKQorCS0gbmFwacWhICA6aGVscCA8RU5URVI+CisKKyAgTmFwacWhICA6cSA8RU5URVI+ICBwcm8gdXphdsWZZW7DrSBva25hIG7DoXBvdsSbZHkuCisKKyAgTcWvxb5lxaEgbmFqw610IG7DoXBvdsSbZHUgayBqYWvDqW11a29saXYgdMOpbWF0dSBwxZlpZMOhbsOtbSBhcmd1bWVudHUgaworICBwxZnDrWthenUgIjpoZWxwIi4gWmt1cyB0eXRvIChuZXphcG9tZcWIIHN0aXNrbm91dCA8RU5URVI+KToKKworCTpoZWxwIHcKKwk6aGVscCBjXzxUCisJOmhlbHAgaW5zZXJ0LWluZGV4CisJOmhlbHAgdXNlci1tYW51YWwKKworCit+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+fn4KKwkJICBMRUtDRSA4OiBWWVRWT8WYRU7DjSBJTklDSUFMSVpBxIxOw41ITyBTS1JJUFRVCisKKwkJICAgICAgICAqKiBaYXBuaSBmdW5rY2UgZWRpdG9ydSBWaW0gKioKKworICBWaW0gbcOhIGRhbGVrbyB2w61jZSBmdW5rY8OtIG5lxb4gVmksIGFsZSB2xJt0xaFpbmEgeiBuaWNoIGplIHZ5cG51dGEgdmUgdsO9Y2hvesOtbQorICBuYXN0YXZlbsOtLiBQcm8gemFwbnV0w60gbsSba3RlcsO9Y2ggdnl0dm/FmSBzb3Vib3IgInZpbXJjIi4KKworICAxLiBaYcSNbmkgdXByYXZvdmF0IHNvdWJvciAidmltcmMiLiBUb3RvIHrDoXZpc8OtIG5hIHBvdcW+aXTDqW0gc3lzdMOpbXU6CisJOmVkaXQgfi8udmltcmMJCQlwcm8gVW5peAorCTplZGl0ICRWSU0vX3ZpbXJjCQlwcm8gTVMtV2luZG93cworCisgIDIuIE55bsOtIMSNdGkgdWvDoXprb3bDvSAidmltcmMiIHNvdWJvcjoKKworCTpyZWFkICRWSU1SVU5USU1FL3ZpbXJjX2V4YW1wbGUudmltCisKKyAgMy4gVWxvxb4gc291Ym9yIHBvbW9jw606CisKKwk6d3JpdGUKKworICBQbyBwxZnDrcWhdMOtbSBzdGFydHUgVmltIHNlIHphcG5lIHp2w71yYXrFiG92w6Fuw60gc3ludGF4ZS4KKyAgRG8gc291Ym9ydSAidmltcmMiIG3Fr8W+ZcWhIHDFmWlkYXQgdsWhZWNobnkgc3ZvamUgdXDFmWVkbm9zdMWIb3ZhbsOpIG5hc3RhdmVuw60uCisKK35+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+fgorCisgIFRvdG8gdWtvbsSNdWplIHbDvXVrdSBWaW0sIGt0ZXLDoSBieWxhIG15xaFsZW7DoSBqYWtvIHN0cnXEjW7DvSBwxZllaGxlZAorICBlZGl0b3J1IFZpbSwgdGFrIGFrb3LDoXQgcG9zdGHEjXVqw61jw60gcHJvIGxlaGvDqSBhIG9ic3Rvam7DqSBwb3XFvsOtdsOhbsOtIGVkaXRvcnUuCisgIFRhdG8gdsO9dWthIG3DoSBkYWxla28gb2Qgw7pwbG5vc3RpLCBwcm90b8W+ZSBWaW0gb2JzYWh1amUgcG9kc3RhdG7EmyB2w61jZQorICBwxZnDrWthesWvLiBEw6FsZSBzaSBwxZllxI10aSB1xb5pdmF0ZWxza8O9IG1hbnXDoWw6ICI6aGVscCB1c2VyLW1hbnVhbCIuCisKKyAgUHJvIGRhbMWhw60gc3R1ZGl1bSBqZSBkb3BvcnXEjWVuw6Ega25paGE6CisJVmltIC0gVmkgSW1wcm92ZWQgLSBvZCBTdGV2ZSBPdWFsbGluZQorCU5ha2xhZGF0ZWw6IE5ldyBSaWRlcnMKKyAgUHJ2bsOtIGtuaWhhIHVyxI1lbsOhIHBybyBWaW0uIE9ienZsw6HFoXTEmyB2aG9kbsOhIHBybyB6YcSNw6F0ZcSNbsOta3kuCisgIE9ic2FodWplIG1ub8W+c3R2w60gcMWZw61rbGFkxa8gYSBvYnLDoXprxa8uCisgIHZpeiBodHRwOi8vaWNjZi1ob2xsYW5kLm9yZy9jbGljazUuaHRtbAorCisgIFRhdG8ga25paGEgamUgc3RhcsWhw60gYSB2w61jZSB2xJtub3ZhbsOhIFZpIG5lxb4gVmltLCBhbGUgdGFrw6kgZG9wb3J1xI1lbsOhOgorCUxlYXJuaW5nIHRoZSBWaSBFZGl0b3IgLSBvZCBMaW5kYSBMYW1iCisJTmFrbGFkYXRlbDogTydSZWlsbHkgJiBBc3NvY2lhdGVzIEluYy4KKyAgSmUgdG8gZG9icsOhIGtuaWhhIHBybyB6w61za8OhbsOtIHbEm2RvbW9zdMOtIHTDqW3Em8WZIG8gdsWhZW0sIGNvIG3Fr8W+ZXRlIHMgVmkgZMSbbGF0LgorICDFoGVzdMOpIHZ5ZMOhbsOtIG9ic2FodWplIHTDqcW+IGluZm9ybWFjZSBvIFZpbS4KKworICBUYXRvIHbDvXVrYSBieWxhIG5hcHNhbsOhIGF1dG9yeSBNaWNoYWVsIEMuIFBpZXJjZSBhIFJvYmVydCBLLiBXYXJlLAorICBDb2xvcmFkbyBTY2hvb2wgb2YgTWluZXMgcyBwb3XFvml0w61tIG15xaFsZW5layBvZDogQ2hhcmxlcyBTbWl0aCwKKyAgQ29sb3JhZG8gU3RhdGUgVW5pdmVyc2l0eS4gIEUtbWFpbDogYndhcmVAbWluZXMuY29sb3JhZG8uZWR1LgorCisgIFVwcmF2aWwgcHJvIFZpbTogQnJhbSBNb29sZW5hYXIuCisKK35+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+fgorCisgIFDFmWVrbGFkIGRvIMSNZcWhdGlueTogTHVib8WhIFR1cmVrCisgIEUtTWFpbDogbHVib3MudHVyZWtAZ21haWwuY29tCisgIDIwMDcgRmViIDI4IApkaWZmIC0tZ2l0IGEvcnVudGltZS90dXRvci90dXRvci5odSBiL3J1bnRpbWUvdHV0b3IvdHV0b3IuaHUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRlNmJkNAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvdHV0b3IvdHV0b3IuaHUKQEAgLTAsMCArMSw4MjMgQEAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKz0gICAg3CBkIHYg9iB6IPYgbCBqIPwgayAgIGEgICBWIEkgTSAgIFQgdSB0IG8gciBiIGEgbiAgLSAgICAxLjUt9nMgIHZlcnpp8yA9PT0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworICAgICBBIFZpbSBlZ3kgbmFneW9uIGhhdOlrb255IHN6ZXJrZXN6dPUsIGFtZWxueWVrIHJlbmdldGVnIHV0YXPtdOFzYQorICAgICB2YW4sIHT6bCBzb2ssIGhvZ3kgZWd5IGlseWVuIG9rdGF082JhbiAodHV0b3JiYW4pLCBtaW50IGF6IGl0dGVuaQorICAgICBtaW5kZXQgZWxtYWd5YXLhenp1ay4gRXogYXogb2t0YXTzIGFycmEgdPZyZWtzemlrLCBob2d5IGFubnlpdAorICAgICBlbG1hZ3lhcuF6em9uLCBhbWVubnlpIGVs6WcsIGhvZ3kga/ZubnllZOluIGhhc3pu4WxqdWsgYSBWaW0tZXQsIGF6CisgICAgIOFsdGFs4W5vcyBj6Wz6IHN69nZlZ3N6ZXJrZXN6dPV0LgorCisgICAgIEEgZmVsYWRhdG9rIG1lZ29sZOFz4WhveiAyNS0zMCBwZXJjIHN6/Gtz6WdlcyBhdHTzbCBm/Gdn9WVuLAorICAgICBtZW5ueWl0IHT2bHT8bmsgYSBraXPpcmxldGV66XNzZWwuCisKKyAgICAgQSBsZWNr6WJlbiBzemVyZXBs9SB1dGFz7XThc29rIG3zZG9z7XRhbmkgZm9nauFrIGEgc3r2dmVnZWsuCisgICAgIEvpc3rtdHNlbiBt4XNvbGF0b3QgZXJy9WwgYSBm4WpscvNsLCBoYSBneWFrb3JvbG5pIGFrYXIuCisgICAgIChIYSAidmltdHV0b3IiLXJhbCBpbmTtdG90dGEsIGFra29yIGV6IG3hciBlZ3kgbeFzb2xhdC4pCisKKyAgICAgRm9udG9zIG1lZ+lydGVuaSwgaG9neSBleiBheiBva3RhdPMgY3NlbGVrZWR2ZSB0YW7tdHRhdC4KKyAgICAgRXogYXp0IGplbGVudGksIGhvZ3kg1m5uZWsgYWrhbmxvdHQgdulncmVoYWp0YW5pYSBheiB1dGFz7XThc29rYXQsCisgICAgIGhvZ3kgbWVnZmVsZWz1ZW4gbWVndGFudWxqYSBhem9rYXQuIEhhIGNzYWsgb2x2YXNzYSwgZWxmZWxlanRpIQorCisgICAgIE1vc3QgYml6b255b3NvZGpvbiwgbWVnLCBob2d5IGEgQ2Fwcy1Mb2NrIGdvbWJqYSBOSU5DUyBsZW55b212YSwg6XMKKyAgICAgTnlvbWphIG1lZyBtZWdmZWxlbPUgc3rhbfpzem9yIGEgICBqICAgZ29tYm90LCBob2d5IGF6IDEuMS1lcworICAgICBsZWNrZSB0ZWxqZXNlbiBhIGvpcGVybnn1biBsZWd5ZW4hCisKK35+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+fgorCQkJMS4xLiAgbGVja2U6ICBBIEtVUlpPUiBNT1pHQVTBU0EKKworCisgICAqKiBBIGt1cnpvciBtb3pnYXThc+Fob3ogbnlvbWphIG1lZyBhIGgsaixrLGwgZ29tYm9rYXQgYXogYWzhYmJpIHN6ZXJpbnQuICoqCisJICAgICBeCisJICAgICBrCQkgICAgVGlwcDogIEEgaCBiaWxsZW50efsgdmFuIGJhbHJhLCDpcyBiYWxyYSBtb3pnYXQKKyAgICAgICA8IGgJIGwgPgkJICAgQSBsIGJpbGxlbnR5+yB2YW4gam9iYnJhLCDpcyBqb2JicmEgbW96Z2F0CisJICAgICBqCQkJICAgQSBqIGJpbGxlbnR5+yBvbHlhbiwgbWludCBlZ3kgbGVmZWxlIG557WwKKwkgICAgIHYKKyAgMS4gTW96Z2Fzc2EgYSBrdXJ6b3J0IGv2cmJlIGF6IGFibGFrYmFuLCBhbe1nIGhvenrhIG5lbSBzem9raWshCisKKyAgMi4gVGFydHNhIGxlbnlvbXZhIGEgbGVmZWzpdCAoaiksIGFra29yIGlzbel0bPVkaWshCistLS0+IE1vc3QgdHVkamEsIGhvZ3lhbiBtZWhldCBhIGv2dmV0a2V69SBsZWNr6XJlLgorCisgIDMuIEEgbGVmZWzpIGZvbWIgaGFzem7hbGF04XZhbCBtZW5qZW4gYSAxLjIuIGxlY2vpcmUhCisKK01lZ2o6IEhhIG5lbSBiaXp0b3MgYmVubmUsIG1pdCBueW9tb3R0IG1lZywgbnlvbWphIG1lZyBheiA8RVNDPi1ldCwgaG9neQorICAgICAgbm9ybeFsIG3zZGJhIGtlcvxsavZuLCDpcyBpc23pdGVsamUgbWVnIGEgcGFyYW5jc290IQorCitNZWdqOiBBIGt1cnpvciBnb21ib2tuYWsgaXMgbftr9mRuafxrIGtlbGwsIGRlIGEgaGprbCBoYXN6buFsYXThdmFsCisgICAgICBzb2trYWwgZ3lvcnNhYmJhbiB0dWQsIG1vem9nbmksIGhhIGhvenrhc3pva2lrLgorCit+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+fn4KKwkJICAgICAxLjIuICBsZWNrZTogQkUgyVMgS0lMyVDJUyBBIFZJTULVTAorCisKKyAgISEgTUVHSjogTWllbPV0dCB26WdyZWhhanRqYSBheiBhbOFiYmkgbOlw6XNla2V0LCBvbHZhc3NhIHbpZ2lnIGEgbGVja+l0ICEhCisKKyAgMS4gTnlvbWphIG1lZyBheiAgPEVTQz4gZ29tYm90IChob2d5IGJpenRvc2FuIG5vcm3hbCBt82RiYW4gbGVneWVuKS4KKworICAyLiDNcmphOgkJCTpxISA8RU5URVI+LgorCistLS0+IEV6emVsIGtpbOlwIGEgc3plcmtlc3p09WL1bCBhIHbhbHRveuFzb2sgTUVOVMlTRSBOyUxL3EwuCisgICAgIEhhIG1lbnRlbmkgc3plcmV0bukgYSB24Wx0b3rhc29rYXQg6XMga2ls6XBuaSwg7XJqYToKKwkJCQk6d3EgIDxFTlRFUj4KKworICAzLiBBbWlrb3IgYSBzaGVsbCBwcm9tcHRvdCBs4XRqYSwg7XJqYSBiZSBhIHBhcmFuY3NvdCwgYW1lbHkgZWJiZSBhCisgICAgIHR1dG9yYmEgaG96emE6CisgICAgIEV6IHZhbPNzeu1u+2xlZzoJdmltdHV0b3IgPEVOVEVSPgorICAgICBOb3Jt4WxpcyBlc2V0YmVuIGV6dCDtcm7hOgl2aW0gdHV0b3IuaHUgPEVOVEVSPgorCistLS0+ICd2aW0nIGplbGVudGkgYSB2aW1iZSBiZWzpcOlzdCwgJ3R1dG9yLmh1JyBhIGbhamwsIGFtaXQgc3plcmtlc3p0ZW5pIGvtduFuLgorCisgIDQuIEhhIG1lZ2plZ3llenRlIGEgbOlw6XNla2V0IOlzIGJpenRvcyBtYWfhYmFuLCBoYWp0c2EgdulncmUgYSBs6XDpc2VrZXQKKyAgICAgMS109WwgMy1pZywgaG9neSBraWzpcGplbiDpcyB2aXNzemF06XJqZW4gYSBzemVya2VzenT1YmUuIEF6dXThbgorICAgICBtZW5qZW4gYXogMS4zLiAgbGVja+lyZS4KK35+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+fgorCQkgICAgIDEuMy4gIGxlY2tlOiBTWtZWRUcgU1pFUktFU1pUyVNFIC0gVNZSTMlTCisKKworKiogTm9ybeFsIG3zZGJhbiBueW9tam9uICB4LWV0LCBob2d5IGEga3Vyem9yIGFsYXR0aSBrYXJha3RlcnQgdPZy9mxqZS4gKioKKworICAxLiBNb3pnYXNzYSBhIGt1cnpvcnQgYSAtLS0+IGtlemRldPsgc29ycmEhCisKKyAgMi4gQSBoaWLhayBraWphdu104XPhaG96IG1vemdhc3NhIGEga3Vyem9ydCBhbe1nIGEgdPZybGVuZPUga2FyYWt0ZXIKKyAgICAgZvZs6SBuZW0g6XIuCisKKyAgMy4gTnlvbWphIG1lZyBheiAgeCAgZ29tYm90LCBob2d5IHT2cvZsamUgYSBuZW1r7XbhbnQga2FyYWt0ZXJ0LgorCisgIDQuIElzbel0ZWxqZSBhIDIsIDMsIDQtZXMgbOlw6XNla2V0LCBob2d5IGtpamF27XRzYSBhIG1vbmRhdG90LgorCistLS0+INXVc3ppIOlqamplbGwgaXp6aWlrIGFhIGdhbGFnZ29ueWEgcnJ1dWjhamEuCisKKyAgNS4gSGEgYSBzb3IgaGVseWVzLCB1Z29yam9uIGEgMS40LiBsZWNr6XJlLgorCitNRUdKOiBBIHRhbnVs4XMgc29y4W4gbmUgbWVtb3JpeuFsbmkgcHLzYuFsam9uLCBoYW5lbSBoYXN6buFsYXQgc29y4W4gdGFudWxqb24uCisKKworfn5+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+CisJCSAgICAgMS40LiAgbGVja2U6IFNa1lZFRyBTWkVSS0VTWlTJU0UgLSBCRVNa2lLBUworCisKKwkgKiogTm9ybeFsIG3zZGJhbiAgaSAgbWVnbnlvbeFz4XZhbCBsZWhldCBiZWlsbGVzenRlbmkuICoqCisKKyAgMS4gQXogYWzhYmJpIGVsc/UgLS0tPiBrZXpkZXT7IHNvcnJhIG1lbmplbi4KKworICAyLiBBaGhveiwgaG9neSBheiBlbHP1dCBhem9ub3Nz4SB0ZWd5ZSBhIG3hc29kaWtrYWwsIG1vemdhc3NhIGEga3Vyem9ydAorICAgICBheiBlbHP1IGthcmFrdGVycmUsIGFtZWx5IFVUwU4gc3r2dmVnZXQga2VsbCBiZXN6+nJuaS4KKworICAzLiBOeW9tam9uICBpLXQg6XMg7XJqYSBiZSBhIG1lZ2ZlbGVs9SBzevZ2ZWdldC4KKworICA0LiBBbWlrb3IgbWluZGVudCBiZe1ydCwgbnlvbWpvbiA8RVNDPi1ldCwgaG9neSBOb3Jt4WwgbfNkYmEgdmlzc3phdOlyamVuLgorICAgICBJc23pdGVsamUgYSAyIOlzIDQga/Z69nR0aSBs6XDpc2VrZXQsIGhvZ3kga2lqYXbtdHNhIGEgbW9uZGF0b3QuCisKKy0tLT4gQXog4XRoYXTzIHNv82wgaGl6aWsgcOFyIOlzei4KKy0tLT4gQXogaXR0IGzhdGhhdPMgc29yYvNsIGhp4W55emlrIHDhciBy6XN6LgorCisgIDUuIEhhIG3hciBiZWd5YWtvcm9sdGEgYSBiZXN6+nLhc3QsIG1lbmplbiBheiBhbOFiYmkg9nNzemVmb2dsYWzzcmEuCisKKworCit+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+fn4KKwkJCSAgICAgICAxLiBMRUNLRSDWU1NaRUZPR0xBTNNKQQorCisKKyAgMS4gQSBrdXJ6b3J0IHZhZ3kgYSBueWlsYWtrYWwgdmFneSBhIGhqa2wgZ29tYm9ra2FsIG1vemdhdGhhdGphLgorCSBoIChiYWxyYSkJaiAobGUpICAgICAgIGsgKGZlbCkJICAgIGwgKGpvYmJyYSkKKworICAyLiBBIFZpbWJlIChhICQgcHJvbXB0dPNsKSDtZ3kgbOlwaGV0IGJlOiAgdmltIEZJTEVOQU1FIDxFTlRFUj4KKworICAzLiBBIFZpbWL1bCDtZ3kgbOlwaGV0IGtpOiAgPEVTQz4gICA6cSEgIDxFTlRFUj4gIGEgduFsdG96dGF04XNvayBlbGRvYuFz4XZhbC4KKwkgICAgIHZhZ3kg7Wd5OgkgICAgICA8RVNDPiAgIDp3cSAgPEVOVEVSPiAgYSB24Wx0b3rhc29rIG1lbnTpc+l2ZWwuCisKKyAgNC4gQSBrdXJ6b3IgYWxhdHRpIGthcmFrdGVyIHT2cmzpc2Ugbm9ybeFsIG3zZGJhbjogIHgKKworICA1LiBTevZ2ZWcgYmVzevpy4XNhIGEga3Vyem9yIHV04W4gbm9ybeFsIG3zZGJhbjoKKwkgaSAgICAgZ+lwZWxqZSBiZSBhIHN69nZlZ2V0CTxFU0M+CisKK01FR0o6IEF6IDxFU0M+IG1lZ255b23hc2Egbm9ybeFsIG3zZGJhIHZpc3ppLCB2YWd5IG1lZ3N6YWvtdCBlZ3kgbmVtIGJlZmVqZXpldHQKKyAgICAgIHLpc3piZW4gYmVmZWplemV0dCBwYXJhbmNzb3QuCisKK01vc3QgZm9seXRhc3N1ayBhIDIuIGxlY2vpdmVsIQorCisKK35+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+fgorCQkJMi4xLiAgbGVja2U6IFTWUkzVIFVUQVPNVMFTT0sKKworCisJICAgICoqIGR3ICB09nL2bCBhIHN68yB26WfpaWcuICoqCisKKyAgMS4gTnlvbWpvbiA8RVNDPi1ldCwgaG9neSBtZWdiaXpvbnlvc29kam9uLCBob2d5IG5vcm3hbCBt82RiYW4gdmFuIQorCisgIDIuIE1vemdhc3NhIGEga3Vyem9ydCBhIC0tLT4ga2V6ZGV0+yBzb3JyYSEKKworICAzLiBNb3pnYXNzYSBhIGt1cnpvcnQgYXJyYSBhbm5hayBhIHN6825hayBheiBlbGVq6XJlLCBhbWl0IHT2cvZsbmkgc3plcmV0bmUuCisgICAgIFT2cvZsamUgYXog4WxsYXRva2F0IGEgbW9uZGF0YvNsLgorCisgIDQuIEEgc3rzIHT2cmzpc+loZXog7XJqYTogICBkdworCisgIE1FR0o6IEhhIHJvc3N6dWwga2V6ZHRlIGF6IHV0YXPtdOFzdCBjc2FrIG55b21qb24gPEVTQz4gZ29tYm90CisgICAgICAgIGEgbWVnc3pha+104XPhaG96LgorCistLS0+IFDhciBzevMga3V0eWEgbmVtIHVodSBpbGxpayBwaW5ndmluIGEgbW9uZGF0YmEgdGVo6W4uCisKKyAgNS4gSXNt6XRlbGplIGEgMyDpcyA0IGv2evZ0dGkgdXRhc+104XNva2F0IGFt7Wcga2VsbCDpcyB1Z29yam9uIGEgMi4yIGxlY2vpcmUhCisKK35+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+fgorCQkgICAgICAyLjIuICBsZWNrZTogTclHIFTWQkIgVNZSTNUgVVRBU81UwVMKKworCisJICAgKiogZCQgYmXtcuFz4XZhbCBhIHNvciB26WfpaWcgdPZy9mxoZXQuICoqCisKKyAgMS4gTnlvbWpvbiA8RVNDPi1ldCwgaG9neSBtZWdiaXpvbnlvc29kam9uLCBob2d5IG5vcm3hbCBt82RiYW4gdmFuIQorCisgIDIuIE1vemdhc3NhIGEga3Vyem9ydCBhIC0tLT4ga2V6ZGV0+yBzb3JyYSEKKworICAzLiBNb3pnYXNzYSBhIGt1cnpvcnQgYSBoZWx5ZXMgc29yIHbpZ+lyZSAoYXogZWxz9SAuIFVUwU4pIQorCisgIDQuIGQkICBiZWfpcGVs6XPpdmVsdPZy9mxqZSBhIHNvciB26WfpdCEKKworLS0tPiBWYWxha2kgYSBzb3Igduln6XQga+l0c3plciBn6XBlbHRlIGJlLiBr6XRzemVyIGfpcGVsdGUgYmUuCisKKworICA1LiBNZW5qZW4gYSAyLjMuIGxlY2vpcmUsIGhvZ3kgbWVn6XJ0c2UgbWkgdPZydOludCEKKworCisKKworCit+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+fn4KKwkJICAgICAyLjMuICBsZWNrZTogVVRBU81UwVNPS1LTTCDJUyBPQkpFS1RVTU9LUtNMCisKKworICBBICBkICAoZGVsZXRlPXT2cmzpcykgdXRhc+104XMgZm9ybeFqYSBhIGv2dmV0a2V69ToKKworCSBbc3rhbV0gICBkCW9iamVrdHVtCSAgIFZBR1kJICAgICBkCSBbc3rhbV0gb2JqZWt0dW0KKyAgQWhvbDoKKyAgICBzeuFtIC0gaOFueXN6b3IgaGFqdPNkam9uIHbpZ3JlIGEgcGFyYW5jcyAoZWxoYWd5aGF08ywgYWxhcOlydOlrPTEpLgorICAgIGQgLSBhIHT2cmzpcyAoZGVsZXRlKSB1dGFz7XThcy4KKyAgICBvYmpla3R1bSAtIGFtaW4gYSBwYXJhbmNzbmFrIHRlbGplc/xsbmllIGtlbGwgKGFs4WJiIGxpc3ThenZhKS4KKworICBPYmpla3R1bW9rIHL2dmlkIGxpc3ThamE6CisgICAgdyAtIGEga3Vyem9ydPNsIGEgc3rzIHbpZ+lpZywgYmVsZelydHZlIGEgc3rza/Z6dC4KKyAgICBlIC0gYSBrdXJ6b3J082wgYSBzevMgduln6WlnLCBORU0gYmVsZelydHZlIGEgc3rza/Z6dC4KKyAgICAkIC0gYSBrdXJ6b3J082wgYSBzb3Igduln6WlnLgorCitNRUdKOiAgVuFsbGFsa29682JiYWsga2VkdunpcnQsIGNzdXDhbiBheiBvYmpla3R1bSBiZWfpcGVs6XPpdmVsIHBhcmFuY3Mgbulsa/xsCisgICAgICAgYSBrdXJ6b3Igb2RhIGtlcvxsLCBhbWl0IGF6IG9iamVrdHVtbGlzdGEgbWVnYWQuCisKKworCisKK35+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+fgorCQkyLjQuICBsZWNrZTogRUdZIEtJVslURUwgQSAgJ1BBUkFOQ1NPQkpFS1RVTScgQUzTTAorCisKKwkgICAgICAgKiogZGQgYmXtcuFz4XZhbCB09nL2bGhldGkgYXogZWfpc3ogc29ydC4gKioKKworICBBIHRlbGplcyBzb3IgdPZybOlz6W5layBneWFrb3Jpc+FnYSBtaWF0dCBhIFZpIHRlcnZlevVpIGVsaGF04XJvenThaywKKyAgaG9neSBr9m5ueWViYiBsZW5uZSBjc3Vw4W4gYSBkLXQga+l0c3plciBtZWdueW9tbmksIGhvZ3kgZWd5IHNvcnQgdPZy9mxq/G5rLgorCisgIDEuIE1vemdhc3NhIGEga3Vyem9ydCBheiBhbOFiYmkga2lmZWpleulzZWsgbeFzb2RpayBzb3LhcmEhCisgIDIuIGRkIGJlZ+lwZWzpc+l2ZWwgdPZy9mxqZSBhIHNvcnQhCisgIDMuIE1lbmplbiBhIDQuIChlcmVkZXRpbGVnIDUuKSBzb3JyYSEKKyAgNC4gMmRkICAgKHVneWVi4XIgc3rhbS11dGFz7XThcy1vYmpla3R1bSkgYmVn6XBlbOlz6XZlbCB09nL2bGr2biBr6XQgc29ydCEKKworICAgICAgMSkgIEFsdvMgc3plZ2VrIGEgaulnaGlkZWcgaG9tb2tiYW4sCisgICAgICAyKSAgLSBrZXpkaSBhIGv2bHT1IC0KKyAgICAgIDMpICBQbGFr4XRtYWfhbnliYW4g4XrzIOlqamVsZWsuCisgICAgICA0KSAgUGluZ3ZpbmVrIG5lIGbpbGpldGVrLAorICAgICAgNSkgIFThdm9scvNsIGVneSB2YWt1IHZpbGxhbnQsCisgICAgICA2KSAgyWd2ZSBoYWd5dGFkIGEgZm9seW9z824gYSB2aWxsYW55dC4KKyAgICAgIDcpICBNYSBvbnRq4WsgdulyZW1ldC4KKworCit+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+fn4KKwkJCSAyLjUuICBsZWNrZTogQSBWSVNTWkFWT07BUyAoVU5ETykgUEFSQU5DUworCisKKyoqIHUgZ+lwZWzpc+l2ZWwgdmlzc3phdm9uaGF08yBheiB1dG9sc/MgcGFyYW5jcywgVSBheiBlZ+lzeiBzb3J0IGhlbHlyZeFsbO10amEuICoqCisKKyAgMS4gTWVuavxuayBheiBhbOFiYmkgLS0tPiBrZXpkZXT7IHNvciBlbHP1IGhpYuFq4XJhIQorICAyLiB4ICBsZW55b23hc+F2YWwgdPZy9mxqZSBheiBlbHP1IGZlbGVzbGVnZXMga2FyYWt0ZXJ0IQorICAzLiB1IG1lZ255b23hc+F2YWwgdm9uamEgdmlzc3phIGF6IHV0b2xz825hayB26WdyZWhhanRvdHQgdXRhc+104XN0IQorICA0LiBN4XNvZGrhcmEgamF27XRzb24ga2kgbWluZGVuIGhpYuF0IGEgc29yYmVuIGF6IHggdXRhc+104XNzYWwhCisgIDUuIE1vc3QgbmFneSAgVSAgLXZhbCDhbGztdHNhIHZpc3N6YSBhIHNvciBlcmVkZXRpIOFsbGFwb3ThdCEKKyAgNi4gTnlvbWphIG1lZyBheiB1IGdvbWJvdCBw4XJzem9yLCBob2d5IGF6IFUg6XMgc3ogZWz1evUgdXRhc+104XNva2F0CisgICAgIHZpc3N6YeFsbO10c2EhCisgIDcuIENUUkwtUiAoQ1RSTCBnb21iIGxlbnlvbeFzYSBtZWxsZXR0IPxzc/ZuIFItdCkgcOFyc3pvciBjc2lu4WxqYSD6anJhIGEKKyAgICAgdmlzc3phdm9udCBwYXJhbmNzb2thdCAocmVkbykhCisKKy0tLT4gSmF27e10c2QgYSBoaGli4WthYXQgZWJiYmVuIGEgc29vb3JiYW4gbWFqZCDhbGztdHNhIHZpc3N6YWFhIGF6IGVyZWRldGl0LgorCisgIDguIEV6ZWsgbmFneW9uIGhhc3pub3MgcGFyYW5jc29rLiBNb3N0IHVnYXJqb24gYSAyLiBsZWNrZSD2c3N6ZWZvZ2xhbPNq4XJhLgorCisKKworfn5+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+CisJCQkgICAgICAgMi4gTEVDS0Ug1lNTWkVGT0dMQUzTSkEKKworCisgIDEuIFT2cmzpcyBhIGt1cnpvcnTzbCBhIHN68yB26WfpaWc6ICAgIGR3CisKKyAgMi4gVPZybOlzIGEga3Vyem9ydPNsIGEgc3rzIHbpZ+lpZzogICAgZCQKKworICAzLiBFZ+lzeiBzb3IgdPZybOlzZTogICAgZGQKKworICA0LiBFZ3kgdXRhc+104XMgYWxha2phIG5vcm3hbCBt82RiYW46CisKKyAgICAgICBbc3rhbV0gICB1dGFz7XThcyAgIG9iamVrdHVtICAgVkFHWSAgIHV0YXPtdOFzCVtzeuFtXSBvYmpla3R1bQorICAgICBhaG9sOgorICAgICAgIHN64W0gLSBo4W55c3pvciBpc23pdGVsavxrIGEgcGFyYW5jc290CisgICAgICAgdXRhc+104XMgLSBtaXQgdGVnefxuaywgcGwuIGQgIGEgdPZybOlza29yCisgICAgICAgb2JqZWt0dW0gLSBtaXJlIGhhc3NvbiBheiB1dGFz7XThcywgcOlsZOF1bCB3IChzevM9d29yZCksCisJCSQgKGEgc29yIHbpZ+lpZyksIHN0Yi4KKworICA1LiBBeiBlbPV69SB0ZXR0IHZpc3N6YXZvbuFzYSAodW5kbyk6CSAgICAgdQkgKGtpcyB1KQorICAgICBBIHNvciD2c3N6ZXMgduFsdG964XPhbmFrIHZpc3N6YXZvbuFzYTogVQkgKG5hZ3kgVSkKKyAgICAgVmlzc3phdm9u4XNvayB2aXNzemF2b27hc2E6CSAgICAgQ1RSTC1SCisKK35+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+fgorCQkJIDMuMS4gIGxlY2tlOiBBIFBVVCBQQVJBTkNTCisKKworICAqKiBwICBsZfx06XPpdmVsIGF6IHV0b2xz825hayB09nL2bHRldCBhIGt1cnpvciB1dOFuIGlsbGVzemhldGr8ay4gKioKKworICAxLiBNb3pnYXNzdWsgYSBrdXJ6b3J0IGF6IGFs4WJiaSBzb3JvayBlbHP1IHNvcuFyYS4KKworICAyLiBkZCBsZfx06XPpdmVsIHT2cvZsavxrIGEgc29ydCDpcyBlbHTpcm9s82RpayBhIFZpbSBwdWZmZXLpYmVuLgorCisgIDMuIE1vemdhc3N1ayBhIGt1cnpvcnQgQUbWTMkgYSBzb3IgZvZs6SwgYWhvduEgbW96Z2F0bmkgc3plcmV0buluayBhCisgICAgIHT2cvZsdCBzb3J0LgorCisgIDQuIE5vcm3hbCBt82RiYW4g7XJqdW5rICBwICAgYmV0+3QgYSB09nL2bHQgc29yIGJlaWxsZXN6dOlz6Whlei4KKworICA1LiBGb2x5dGFzc3VrIGEgMi00LiB1dGFz7XThc29ra2FsIGhvZ3kgYSBoZWx5ZXMgc29ycmVuZGV0IGthcGp1ay4KKworICAgICBkKSBDYW4geW91IGxlYXJuIHRvbz8KKyAgICAgYikgVmlvbGV0cyBhcmUgYmx1ZSwKKyAgICAgYykgSW50ZWxsaWdlbmNlIGlzIGxlYXJuZWQsCisgICAgIGEpIFJvc2VzIGFyZSByZWQsCisKKworCit+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+fn4KKwkJICAgICAgIDMuMi4gIGxlY2tlOiBBIFJFUExBQ0UgUEFSQU5DUworCisKKyoqIHIgIOlzICBhIGthcmFrdGVyZWsgbGX8dOlz6XZlbCBhIGt1cnpvciBhbGF0dGkga2FyYWt0ZXJ0IG1lZ3bhbHRvenRhdGp1ay4gKioKKworICAxLiBNb3pnYXNzdWsgYSBrdXJ6b3J0IGF6IGVsc/UgLS0tPiBrZXpkZXT7IHNvcnJhIQorCisgIDIuIE1vemdhc3N1ayBhIGt1cnpvcnQgYXogZWxz9SBoaWJhIGb2bOkhCisKKyAgMy4gcgltYWpkIGEga+124W50IGthcmFrdGVyIGxl/HTpc+l2ZWwgduFsdG96dGFzc3VrIG1lZyBhIGhpYuFzYXQhCisKKyAgNC4gQSAyLiDpcyAzLiBs6XDpc2Vra2VsIGphdu10c3VrIGF6IPZzc3plcyBoaWLhdCEKKworLS0tPiAgV2hhbiB0aGlzIGxpbWUgd2FzIHR1b2VkIGluLCBzb21lb25lIHByZXNzd2Qgc29tZSB3cm9qZyBrZXlzIQorLS0tPiAgV2hlbiB0aGlzIGxpbmUgd2FzIHR5cGVkIGluLCBzb21lb25lIHByZXNzZWQgc29tZSB3cm9uZyBrZXlzIQorCisgIDUuIE1lbmr8bmsgYSAzLjIuIGxlY2vpcmUhCisKK01FR0o6IEVtbOlrZXp6ZW4sIGhvZ3kgbmVtIG1lbW9yaXrhbOFzc2FsLCBoYW5lbSBneWFrb3Js4XNzYWwgdGFudWxqb24uCisKKworfn5+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+CisJCQkzLjMuICBsZWNrZTogQSBDSEFOR0UgUEFSQU5DUworCisKKwkgICAqKiBBIHN68yBlZ3kgculzeuluZWsgbWVnduFsdG96dGF04XPhaG96IO1yanVrOiAgY3cgLiAqKgorCisgIDEuIE1vemdhc3N1ayBhIGt1cnpvcnQgYXogZWxz9SAtLS0+IGtlemRldPsgc29ycmEhCisKKyAgMi4gVmlneWUgYSBrdXJ6b3J0IGEgRXplbiBzevMgeiBiZXT7amUgZvZs6SEKKworICAzLiBjdyDpcyBhIGhlbHllcyBzevNy6XN6IChpdHQgJ2JiZW4nKSBiZe1y4XPhdmFsIGphdu10c2EgYSBzevN0IQorCisgIDQuIDxFU0M+IGxlbnlvbeFzYSB1dOFuIGEga/Z2ZXRrZXr1IGhpYuFyYSB1Z29yam9uIChheiBlbHP1IGNzZXLpbGVuZPUKKyAgICAga2FyYWt0ZXJyZSkhCisKKyAgNS4gQSAzLiDpcyA0LiBs6XDpc2VrIGlzbel0bOlz6XZlbCBheiBlbHP1IG1vbmRhdG90IHRlZ3llIGEgbeFzb2Rpa2thbAorICAgICBhem9ub3Nz4SEKKworLS0tPiBFemVuIGEgc29ycnJyciBw4XIgc3rzcmEgbWVnIGtlbGwgduFsdG96emFuYWsgYSBjaGFuZ2UgdXRhc2vtculz9S4KKy0tLT4gRWJiZW4gYSBzb3JiYW4gcOFyIHN683QgbWVnIGtlbGwgduFsdG96dGF0bmkgYSBjaGFuZ2UgdXRhc+104XNzYWwuCisKK1ZlZ3n8ayDpc3pyZSwgaG9neSBhICBjdyAgbmVtIGNzYWsgYSBzevN0IO1yamEg4XQsIGhhbmVtIGJlc3r6cvMKKyhpbnNlcnQpIG3zZGJhIHbhbHQuCisKKworCit+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+fn4KKwkJICAgICAgIDMuNC4gIGxlY2tlOiBU1kJCRslMRSBWwUxUT1pUQVTBUyBjLVZFTAorCisKKyAqKiBBIGMgdXRhc+104XMgaGFzem7hbGhhdPMgdWd5YW5hem9ra2FsIGF6IG9iamVrdHVtb2trYWwgbWludCBhIHT2cmzpcyAqKgorCisgIDEuIEEgY2hhbmdlIHV0YXPtdOFzIGEgdPZybOlzc2VsIGF6b25vc2FuIHZpc2Vsa2VkaWsuICBBIGZvcm1hOgorCisgICAgICAgW3N64W1dICAgYyAgIG9iamVrdHVtCSAgIE9SCSAgICBjCVtzeuFtXSAgIG9iamVrdHVtCisKKyAgMi4gQXogb2JqZWt0dW1vayBpcyBhem9ub3NhaywgcGwuICAgdyAoc3rzKSwgJCAoc29ydulnKSwgc3RiLgorCisgIDMuIE1vemdhc3N1ayBhIGt1cnpvcnQgYXogZWxz9SAtLS0+IGtlemRldPsgc29ycmEhCisKKyAgNC4gTWVuavxuayBheiBlbHP1IGhpYuFyYSEKKworICA1LiBjJCBiZWfpcGVs6XPpdmVsIGEgc29ydulnZWtldCB0ZWd5/GsgYXpvbm9zc+Eg6XMgbnlvbWp1bmsgPEVTQz4tZXQhCisKKy0tLT4gRW5uZWsgYSBzb3JuYWsgYSB26WdlIGtpaWdheu104XNyYSBzem9ydWwsIGhvZ3kgbWVnZWd5ZXp6ZW4gYSBt4XNvZGlra2FsLgorLS0tPiBFbm5layBhIHNvcm5hayBhIHbpZ2UgYSBjJCBwYXJhbmNjc2FsIHbhbHRvenRhdGhhdPMgbWVnLgorCisKKworfn5+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+CisJCQkgICAgICAgMy4gTEVDS0Ug1lNTWkVGT0dMQUzTSkEKKworCisgIDEuIEEgbeFyIHT2cvZsdCBzb3J0IGJlaWxsZXN6dOlz6WhleiBueW9tanVuayBwLXQuIEV6IGEgdPZy9mx0IHN69nZlZ2V0CisgICAgIGEga3Vyem9yIFVUwU4gaGVseWV6aSAoaGEgc29yIGtlcvxsdCB09nJs6XNyZSwgYSBrdXJ6b3IgYWxsYXR0aSBzb3JiYSkuCisKKyAgMi4gQSBrdXJ6b3IgYWxhdHRpIGthcmFrdGVyIOF07XLhc+Fob3ogYXogci1ldCDpcyBhenQgYSBrYXJha3RlcnQKKyAgICAgbnlvbWp1aywgYW1lbGx5ZWwgYXogZXJlZGV0aXQgZmVs/Gwgc3plcmV0buluayDtcm5pLgorCisgIDMuIEEgduFsdG96dGF04XMgKGMpIHV0YXPtdOFzIGEga2FyYWt0ZXJ09WwgYXogb2JqZWt0dW0gduln6WlnCisgICAgIHbhbHRvenRhdGphIG1lZyBheiBvYmpla3R1bW90LiBQ6Wxk4XVsIGEgY3cgYSBrdXJ6b3J082wgYSBzevMgduln6WlnLAorICAgICBhIGMkIGEgc29yIHbpZ+lpZy4KKworICA0LiBBIHbhbHRvenRhdOFzIGZvcm3hdHVtYToKKworCSBbc3rhbV0gICBjCW9iamVrdHVtCVZBR1kJYyAgIFtzeuFtXSAgIG9iamVrdHVtCisKK1Vnb3JqdW5rIGEga/Z2ZXRrZXr1IGxlY2vpcmUhCisKKworCit+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+fn4KKwkJICAgICA0LjEuICBsZWNrZTogSEVMWSDJUyBGwUpMwUxMQVBPVAorCisKKyAqKiBDVFJMLWcgbWVnbnlvbeFz4XZhbCBtZWdu6XpoZXRq/GsgYSBoZWx5/G5rZXQgYSBm4WpsYmFuIOlzIGEgZuFqbCDhbGxhcG904XQuCisgICAgIFNISUZULUcgbGX8dOlz6XZlbCBhIGbhamwgYWRvdHQgc29y4XJhIHVnb3JoYXR1bmsuICoqCisKKyAgTWVnajogT2x2YXNzdWsgZWwgYXogZWfpc3ogbGVja+l0IGEgbOlw6XNlayB26WdyZWhhanThc2EgZWz1dHQhIQorCisgIDEuIFRhcnRzdWsgbnlvbXZhIGEgQ3RybCBnb21ib3Qg6XMgbnlvbWp1bmsgIGctdC4gIEF6IOFsbGFwb3Rzb3IKKyAgICAgbWVnamVsZW5payBhIGxhcCBhbGrhbiBhIGbhamxu6XZ2ZWwg6XMgYXogYWt0deFsaXMgc29yIHNvcnN64W3hdmFsLgorICAgICBKZWd5ZXp6/GsgbWVnIGEgc29yc3rhbW90IGEgMy4gbOlw6XNoZXohCisKKyAgMi4gTnlvbWp1bmsgU2hpZnQtRy10IGEgbGFwIGFsauFyYSB1Z3Lhc2hveiEKKworICAzLiDcc3P8ayBiZSBheiBlcmVkZXRpIHNvciBzeuFt4XQsIG1hamQg/HNz/G5rIHNoaWZ0LUctdCEgRXp6ZWwKKyAgICAgdmlzc3phanV0dW5rIGF6IGVyZWRldGkgc29ycmEgYWhvbCBDdHJsLWctdCBueW9tdHVuay4KKyAgICAgKEEgYmXtcnQgc3rhbSBORU0gZm9nIG1lZ2plbGVubmkgYSBr6XBlcm559W4uKQorCisgIDQuIEhhIG1lZ2plZ3llenRlIGEgZmVsYWRhdG90LCBoYWp0c2EgdulncmUgYXogMS0zLiBs6XDpc2VrZXQhCisKKworCit+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+fn4KKwkJCTQuMi4gIGxlY2tlOiBBIFNFQVJDSCBQQVJBTkNTCisKKworICAqKiAvIG1hamQgYSBr7XbhbnQga2lmZWpleulzIGJl7XLhc+F2YWwga2VyZXNoZXRq/GsgbWVnIGEga2lmZWpleulzdC4gKioKKworICAxLiBOb3Jt4WwgbfNkYmFuIPxzc/xuayAgLyAga2FyYWt0ZXJ0ISAgRXog6XMgYSBrdXJ6b3IgbWVnamVsZW5paworICAgICBhIGvpcGVybnn1IGFsauFuLCBhaG9neSBhIDogdXRhc+104XMgaXMuCisKKyAgMi4gzXJqdWsgYmU6ICdoaWliYWEnIDxFTlRFUj4hICBFeiBheiBhIHN68yBhbWl0IGtlcmVz/G5rLgorCisgIDMuIEEga2lmZWpleulzIPpqYWJiIGtlcmVz6XPpaGV6IPxzc/xrIGxlIGVneXN6ZXL7ZW46ICBuIC4KKyAgICAgQSBraWZlamV66XMgZWxsZW5rZXr1IGly4W55YmFuIHT2cnTpbvUga2VyZXPpc+loZXogZXp0IPxzc/xrIGJlOiBTaGlmdC1OIC4KKworICA0LiBIYSB2aXNzemFmZWzpIHN6ZXJldG5lIGtlcmVzbmksIGFra29yID8ga2VsbCBhICEgaGVseWV0dC4KKworLS0tPiAiaGlpYmFhIiBuZW0gYSBoZWx5ZXMgbfNkamEgYSBoaWJhIGxl7XLhc+FuYWs7IGEgaGlpYmFhIGVneSBoaWJhLgorCitNZWdqOiBIYSBhIGtlcmVz6XMgZWzpcmkgYSBm4WpsIHbpZ+l0LCBha2tvciBheiBlbGVq6W4ga2V6ZGkuCisKKworfn5+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+CisJCSAgIDQuMy4gIGxlY2tlOiBawVLTSkVMRUsgUMFSSsFOQUsgS0VSRVPJU0UKKworCisJICAgKiogJSBsZfx06XPpdmVsIG1lZ3RhbOFsanVrIGEgKSxdLCB2YWd5IH0gIHDhcmrhdC4gKioKKworICAxLiBIZWx5ZXp6ZSBhIGt1cnpvcnQgdmFsYW1lbHlpayAoLCBbLCB2YWd5IHsgeuFy82plbHJlIGEgLS0tPiBrZXpkZXT7CisgICAgIHNvcmJhbiEKKworICAyLiDcc3P2biAgJSAga2FyYWt0ZXJ0IQorCisgIDMuIEEga3Vyem9yIGEgeuFy82plbCBw4XJq4XJhIGZvZyB1Z3JhbmkuCisKKyAgNC4gJSBsZfx06XPpdmVsIHZpc3N6YXVncmlrIGF6IGVyZWRldGkgeuFy82plbHJlLgorCistLS0+IEV6ICggZWd5IHRlc3p0c29yICgtZWtrZWwsIFstZWtrZWwgXSDpcyB7LWVra2VsIH0gYSBzb3JiYW4uICkpCisKK01lZ2o6IEV6IG5hZ3lvbiBoYXN6bm9zLCBoYSBvbHlhbiBwcm9ncmFtb3QgZGVidWdvbHVuaywgYW1lbHliZW4gYQorICAgICAgeuFy82plbGVrIG5lbSBw4XJvc2FrIQorCisKKworCit+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+fn4KKwkJICAgICAgNC40LiAgbGVja2U6IEEgSElCwUsgS0lKQVbNVMFTwU5BSyBFR1kgTdNESkEKKworCisgICAgKiogOnMv+movculnaS9nIGJlZ+lwZWzpc+l2ZWwgYXogJ/pqJy1yYSBjc2Vy6Wxq/GsgYSAnculnaSctdC4gKioKKworICAxLiBNZW5q/G5rIGEgLS0tPiBrZXpkZXT7IHNvcnJhIQorCisgIDIuIM1yanVrIGJlOiAgOnMvZWdneS9lZ3kgPEVOVEVSPiAuICBFa2tvciBjc2FrIGF6IGVsc/UgduFsdG96aWsgbWVnIGEKKyAgICAgc29yYmFuLgorCisgIDMuIE1vc3QgZXp0IO1yanVrOgkgOnMvZWdneS9lZ2cvZwkgICBhbWVseSBnbG9i4Wxpc2FuIGhlbHlldHRlc+10CisgICAgIGEgc29yYmFuLgorICAgICBFeiBhIHNvcmJhbiBtaW5kZW4gZWz1Zm9yZHVs4XN0IGhlbHlldHRlc+10LgorCistLS0+IGVnZ3kgaGVneSBtZWdneSwgc3plbWJlIGr2biBlZ2d5IG3hc2lrIGhlZ2d5LgorCisgIDQuIEvpdCBzb3Iga/Z69nR0IGEga2FyYWt0ZXJzb3IgbWluZGVuIGVs9WZvcmR1bOFz4W5hayBoZWx5ZXR0ZXPtdOlzZToKKyAgICAgOiMsI3MvculnaS/6ai9nICAgIGFob2wgIywjIGEga+l0IHNvciBzb3JzeuFtYS4KKyAgICAgOiVzL3LpZ2kv+movZyAgICAgIGEgZuFqbGJlbGkg9nNzemVzIGVs9WZvcmR1bOFzIGhlbHlldHRlc+106XNlLgorCisKKworCit+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+fn4KKwkJCSAgICAgICA0LiBMRUNLRSDWU1NaRUZPR0xBTNNKQQorCisKKyAgMS4gQ3RybC1nICBrae1yamEgYXoga3Vyem9yIGhlbHnpdCBhIGbhamxiYW4g6XMgYSBm4WpsIOFsbGFwb3ThdC4KKyAgICAgU2hpZnQtRyBhIGbhamwgduln6XJlIG1lZ3ksIGdnIGF6IGVsZWrpcmUuIEVneSBzeuFtIHV04W4KKyAgICAgU2hpZnQtRyAgYXogYWRvdHQgc3rhbfogc29ycmEgdWdyaWsuCisKKyAgMi4gLwl1dOFuIGVneSBraWZlamV66XMgRUzVUkVGRUxFIGtlcmVzaSBhIGtpZmVqZXrpc3QuCisgIDIuID8JdXThbiBlZ3kga2lmZWpleulzIFZJU1NaQUZFTEUga2VyZXNpIGEga2lmZWpleulzdC4KKyAgICAgRWd5IGtlcmVz6XMgdXThbiBheiAgbiAgYSBr9nZldGtlevUgZWz1Zm9yZHVs4XN0IGtlcmVzaSBhem9ub3MgaXLhbnliYW4KKyAgICAgU2hpZnQtTiAgYXogZWxsZW5rZXr1IGly4W55YmFuIGtlcmVzLgorCisgIDMuICUJYmVn6XBlbOlz6XZlbCwgaGEgICgsKSxbLF0seywgdmFneSB9IGthcmFrdGVyZW4gdmFneXVuayBhIHrhcvNqZWwKKyAgICAgcOFyauFyYSB1Z3Jpay4KKworICA0LiBheiBlbHP1IHLpZ2kgaGVseWV0dGVz7XTpc2Ug+mpqYWwgYSBzb3JiYW4gICAgOnMvculnaS/6agorICAgICBheiD2c3N6ZXMgculnaSBoZWx5ZXR0ZXPtdOlzZSD6amphbCBhIHNvcmJhbiAgOnMvculnaS/6ai9nCisgICAgIGvpdCBzb3Iga/Z69nR0aSBraWZlamV66XNla3JlCQkgICA6Iywjcy9y6WdpL/pqL2cKKyAgICAgIyBoZWx56W4gYXogYWt0deFsaXMgc29yICguKSDpcyBheiB1dG9sc/MgKCQpIGlzIOFsbGhhdCA6LiwkL3LpZ2kv+movZworICAgICBBIGbhamxiZWxpIPZzc3plcyBlbPVmb3JkdWzhcyBoZWx5ZXR0ZXPtdOlzZSAgOiVzL3LpZ2kv+movZworICAgICBNaW5kZW5rb3JpIG1lZ2Vy9XPtdOlzcmUgduFyICdjJyBoYXThc+FyYQkgICA6JXMvculnaS/6ai9nYworCisKK35+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+fgorCQk1LjEuICBsZWNrZTogS9xMU9UgUEFSQU5DUyBWyUdSRUhBSlTBU0EKKworCisgICAqKiA6ISAgdXThbiBr/Gxz9SBwYXJhbmNzb3Qg7XJ2YSB26WdyZWhhanTzZGlrIGEgcGFyYW5jcy4gKioKKworICAxLiDNcmp1ayBiZSBheiBpc21lcvVzIDogcGFyYW5jc290LCBob2d5IGEga3Vyem9ydCBhICBr6XBlcm559SBhbGrhcmEKKyAgICAgaGVseWV6evxrLiBFeiBsZWhldPV26SB0ZXN6aSBlZ3kgcGFyYW5jcyBiZe1y4XPhdC4KKworICAyLiAhIChmZWxraeFsdPNqZWwpIGJl7XLhc+F2YWwgdGVnefxrIGxlaGV09XbpIGv8bHP1IGjpaiAoc2hlbGwpLXBhcmFuY3MKKyAgICAgdulncmVoYWp04XPhdC4KKworICAzLiDNcmp1bmsgcOlsZOF1bCBscyBwYXJhbmNzb3QgYSAhIHV04W4gbWFqZCD8c3P8bmsgPEVOVEVSPi10LiAgRXoga2kKKyAgICAgZm9namEgbGlzdOF6bmkgYSBr9m55dnThcnVua2F0IHVneWFu+md5LCBtaW50aGEgYSBzaGVsbCBwcm9tcHRu4WwKKyAgICAgbGVubuluay4gIFZhZ3kg7XJqYSBlenQgIDohZGlyICBoYSBheiBscyBuZW0gbftr9mRpay4KKworTWVnajogIElseW3zZG9uIGLhcm1lbHkga/xsc/UgdXRhc+104XMgdulncmVoYWp0aGF08y4KKworTWVnajogIE1pbmRlbiAgOiAgcGFyYW5jcyB1dOFuIDxFTlRFUj4tdCBrZWxsIPx0bmkuCisKKworCisKK35+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+fgorCQkgICAgICA1LjIuICBsZWNrZTogQtVWRUJCRU4gQSBGwUpMT0sgzVLBU8FS00wKKworCisgICAgICoqIEEgZuFqbG9rIHbhbHRveuFzYWl0IO1neSDtcmhhdGp1ayBraSAgOncgRsFKTE7JVi4gKioKKworICAxLiA6IWRpciAgdmFneSAgOiFscyAgYmXtcuFz4XZhbCBsaXN04Xp6dWsgYSBr9m55dnThcnVua2F0IQorICAgICDWbiBt4XIgdHVkamEsIGhvZ3kgPEVOVEVSPi10IGtlbGwg/HRuaWUgdXThbmEuCisKKyAgMi4gVuFsYXNzem9uIGVneSBm4WpsbmV2ZXQsIGFtZWx5IG3pZyBuZW0gbOl0ZXppayBwbC4gVEVTWlQhCisKKyAgMy4gzXJqYToJOncgVEVTWlQgICAoYWhvbCBURVNaVCBhIHbhbGFzenRvdHQgZuFqbG7pdikhCisKKyAgNC4gRXogZWxtZW50aSBhIHRlbGplcyBm4WpsdCAoYSBWaW0gVHV0b3J0KSBURVNaVCBu6XZlbi4KKyAgICAgRWxsZW71cnrpc2vpcHAg7XJqdWsgaXNt6XQgICAgOiFkaXIgICBob2d5IGzhc3N1ayBhIGv2bnl2dOFyYXQhCisgICAgIChGZWxmZWzpIGdvbWJiYWwgOiB1dOFuIGF6IGVs9Xr1IHV0YXPtdOFzb2sgdmlzc3phaG96aGF082FrLikKKworTWVnajogSGEg1m4ga2ls6XBuZSBhIFZpbWL1bCDpcyDpcyB2aXNzemF06XJuZSBhIFRFU1pUIGbhamxu6XZ2ZWwsIGFra29yIGEKKyAgICAgIGbhamwgYSB0dXRvciBtZW506XNrb3JpIHBvbnRvcyBt4XNvbGF0YSBsZW5uZS4KKworICA1LiBU4XZvbO10c2EgZWwgYSBm4WpsdCAgKE1TLURPUyk6CTohZGVsIFRFU1pUCisJCQl2YWd5IChVbml4KToJOiFybSBURVNaVAorCisKK35+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+fgorCQkgICAgNS4zLiAgbGVja2U6IEVHWSBLSVbBTEFTWlRPVFQgUslTWiBLSc1SwVNBCisKKworCSoqIEEgZuFqbCBlZ3kgculzeuluZWsga2ntcuFz4WhveiDtcmphIDojLCMgdyBGwUpMTslWICoqCisKKyAgMS4gOiFkaXIgIHZhZ3kgOiFscyAgYmXtcuFz4XZhbCBsaXN04Xp6YSBhIGv2bnl2dOFyYXQsIOlzIHbhbGFzc3pvbiBlZ3kKKyAgICAgbWVnZmVsZWz1IGbhamxuZXZldCwgcGwuIFRFU1pULgorCisgIDIuIE1vemdhc3NhIGEga3Vyem9ydCBlbm5layBheiBvbGRhbG5hayBhIHRldGVq6XJlLCDpcyBueW9tam9uCisgICAgIEN0cmwtZy10LCBob2d5IG1lZ3R1ZGphIGEgc29yc3rhbW90LiAgSkVHWUVaWkUgTUVHIEEgU1rBTU9UIQorCisgIDMuIE1vc3QgbWVuamVuIGEgbGFwIGFsauFyYSwg6XMg/HNzZSBiZSBpc23pdDogQ3RybC1nLiAgRVpUIEEgU1rBTU9UCisgICAgIElTIEpFR1lFWlpFIE1FRyEKKworICA0LiBIYSBjc2FrIGV6dCBhIHLpc3rpdCBzemVyZXRu6SBtZW50ZW5pIGEgZuFqbG5haywg7XJqYSAgIDojLCMgdyBURVNaVAorICAgICBhaG9sICMsIyBhIGvpdCBzb3JzeuFtLCBhbWl0IG1lZ2plZ3l6ZXR0LCBURVNaVCBheiDWbiBm4WpsbmV2ZS4KKworICA1LiBJc23pdCBu6Xp6ZSBtZWcsIGhvZ3kgYSBm4WpsIG90dCB2YW4gKDohZGlyKSBkZSBORSB09nL2bGplLgorCisgIDYuIFZpbWJlbiBs6XRlemlrIGVneSBt4XNpayBsZWhldPVz6Wc6IG55b21qYSBtZWcgYSBTaGlmdC1WIGdvbWJw4XJ0CisgICAgIGF6IGVsc/UgbWVudGVuaSBr7XbhbnQgc29yb24sIG1hamQgbWVuamVuIGxlIGF6IHV0b2xz83JhLCBlenV04W4KKyAgICAg7XJqYSA6dyBURVNaVDIgICBFa2tvciBhIFRFU1pUMiBm4WpsYmEga2Vy/GwgYSBraWplbPZsdCBy6XN6LgorCisKK35+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+fgorCQkgICA1LjQuICBsZWNrZTogUkVUUklFVklORyBBTkQgTUVSR0lORyBGSUxFUworCisKKyAgICAgICAqKiBFZ3kgZuFqbCB0YXJ0YWxt4W5hayBiZWlsbGVzenTpc+loZXog7XJqYSAgIDpyIEbBSkxOyVYgKioKKworICAxLiA6IWRpciBiZe1y4XPhdmFsIG7penplIG1lZywgaG9neSBheiDWbiBURVNaVCBm4WpsamEgbOl0ZXppayBt6WcuCisKKyAgMi4gSGVseWV6emUgYSBrdXJ6b3J0IGVubmVrIGF6IG9sZGFsbmFrIGEgdGV0ZWrpcmUuCisKK01FR0o6ICBBIDMuIGzpcOlzIHV04W4gYXogNS4zLiBsZWNr6XQgZm9namEgbOF0bmkuIEF6dXThbiBMRUZFTMkgaW5kdWx2YQorICAgICAgIGtlcmVzc2UgbWVnIGlzbel0IGV6dCBhIGxlY2vpdC4KKworICAzLiBNb3N0IHN6+nJqYSBiZSBhIFRFU1pUIG5ldvsgZuFqbHQgYSAgIDpyIFRFU1pUICAgcGFyYW5jY3NhbCwgYWhvbAorICAgICBURVNaVCBheiDWbiBm4WpsauluYWsgYSBuZXZlLgorCitNRUdKOiAgQSBm4WpsLCBhbWl0IGJlaWxsZXN6dGV0dCBhIGt1cnpvcmEgYWxhdHQgaGVseWV6a2VkaWsgZWwuCisKKyAgNC4gSG9neSBlbGxlbvVyaXp6/GssIGhvZ3kgYSBm4WpsdCB06W55bGVnIGJlaWxsc3p0ZXR0/GssIG1lbmplbgorICAgICB2aXNzemEsIOlzIG7penplIG1lZywgaG9neSBr6XRzemVyIHN6ZXJlcGVsIGF6IDUuMy4gbGVja2UhIEF6IGVyZWRldGkKKyAgICAgbWVsbGV0dCBhIGbhamxi82wgYmVt4XNvbHQgaXMgb3R0IHZhbi4KKworCisKK35+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+fgorCQkJICAgICAgIDUuIExFQ0tFINZTU1pFRk9HTEFM00pBCisKKworICAxLiAgOiFwYXJhbmNzIHbpZ3JlaGFqdCBlZ3kga/xsc/UgdXRhc+104XN0LgorCisgICAgICBQ4XIgaGFzem5vcyBw6WxkYToKKwkgKE1TLURPUykJICAoVW5peCkKKwkgIDohZGlyCQkgICA6IWxzCQkgICAtICBr9m55dnThcmxpc3RhIGtp7XLhc2EuCisJICA6IWRlbCBGwUpMTslWICAgIDohcm0gRsFKTE7JViAgICAtICBGwUpMTslWIG5ldvsgZuFqbCB09nJs6XNlLgorCisgIDIuICA6dyBGwUpMTslWICBrae1yamEgYSBqZWxlbmxlZ2kgVmltLWbhamx0IGEgbGVtZXpyZSBGwUpOyVYgbul2ZW4uCisKKyAgMy4gIDojLCN3IEbBSkxOyVYgIGtp7XJqYSBhIGvpdCBzb3JzeuFtICgjKSBr9nr2dHRpIHNvcm9rYXQgRsFKTE7JVi1iZQorICAgICAgTeFzaWsgbGVoZXT1c+lnLCBob2d5IGEga2V6ZPVzb3Ju4WwgQ3RybC12LXQgbnlvbSBsZW1lZ3kgYXogdXRvbHPzCisgICAgICBzb3JyYSwgbWFqZCBlenQg/HRpIGJlICA6dyBGwUpMTslWCisKKyAgNC4gIDpyIEbBSkxOyVYgIGJlb2x2YXNzYSBhIEbBSkxOyVYgZuFqbHQg6XMgYmVoZWx5ZXppIGEgamVsZW5sZWdpIGbhamxiYQorICAgICAgYSBrdXJ6b3Jwb3ppY2nzIHV04W5pIHNvcmJhLgorCisKKworCit+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+fn4KKwkJCSA2LjEuICBsZWNrZTogQSBPUEVOIFBBUkFOQ1MKKworCisqKiBvICBiZe1y4XPhdmFsIG55aXRoYXQgZWd5IPpqIHNvcnQgYSBrdXJ6b3IgYWxhdHQg6XMgduFsdGhhdCBiZXN6+nLzIG3zZGJhICoqCisKKyAgMS4gTW96Z2Fzc3VrIGEga3Vyem9ydCBhIC0tLT4ga2V6ZGV0+yBzb3JyYS4KKworICAyLiBvIChraWNzaSkgIGJl7XLhc+F2YWwgbnlpc3NvbiBlZ3kgc29ydCBhIGt1cnpvciBBTEFUVCEgRWtrb3IKKyAgICAgYXV0b21hdGlrdXNhbiBiZXN6+nLzIChpbnNlcnQpIG3zZGJhIGtlcvxsLgorCisgIDMuIE3hc29samEgbGUgYSAgLS0tPiBqZWz7IHNvcnQg6XMgPEVTQz4gbWVnbnlvbeFz4XZhbCBs6XBqZW4ga2kKKyAgICAgYSBiZXN6+nLzIG3zZGLzbC4KKworLS0tPiBBeiBvIGxlbnlvbeFzYSB1dOFuIGEga3Vyem9yIGEga/Z2ZXRrZXr1IHNvciBlbGVq6W4g4WxsIGJlc3r6cvMgbfNkYmFuLgorCisgIDQuIEEga3Vyem9yIEZFTEVUVEkgZm9yIG1lZ255aXThc+Fob3ogZWd5enNlcvtlbiBhIG5hZ3kgTyBiZXT7dCDtcmpvbgora2ljc2kgaGVseWV0dC4gUHLzYuFsamEga2kgYSBr9nZldGtlevUgc29yb24hCitOeWlzc29uIGVneSD6aiBzb3J0IGVmZWxldHQgU2hpZnQtTyBtZWdueW9t4XPhdmFsLCBtaWFsYXR0IGEga3Vyem9yCitlemVuIGEgc29yb24g4WxsLgorCisKKworCisKK35+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+fgorCQkJNi4yLiAgbGVja2U6IEFaIEFQUEVORCBQQVJBTkNTCisKKworCSAqKiBhICBsZW55b23hc+F2YWwgYSBrdXJvciBVVMFOIHN6+nJoYXR1bmsgc3r2dmVnZXQuICoqCisKKyAgMS4gTW96Z2Fzc3VrIGEga3Vyem9ydCBhIGv2dmV0a2V69SAtLS0+IGtlemRldPsgc29yIHbpZ+lyZSD6Z3ksCisgICAgIGhvZ3kgbm9ybeFsIG3zZGJhbiAgJCAg7XIgYmUuCisKKyAgMi4gYSAgKGtpY3NpKSBsZfx06XPpdmVsIHN69nZlZ2V0IHN6+nJoYXQgYmUgQU32R8kgYSBrYXJha3RlciBt9mfpLAorICAgICBhbWVseWVuIGEga3Vyem9yIOFsbC4KKyAgICAgKEEgbmFneSAgQSAgYXogZWfpc3ogc29yIHbpZ+lyZSDtcmphIGEgc3r2dmVnZXQuKQorCitNZWdqOiBBIFZpbWJlbiBhIHNvciBsZWd26WfpcmUgaXMgbGVoZXQg4WxsbmksIGF6b25iYSBleiBlbPVkauliZW4KKyAgICAgIGEgVmktYmFuIG5lbSBsZWhldHPpZ2VzLCBleulydCBhYmJhbiBheiBhIG7pbGv8bCBlbOlnIGv2cvxsbelueWVzCisgICAgICBhIHNvciB26WfpaGV6IHN69nZlZ2V0IO1ybmkuCisKKyAgMy4gRWfpc3rtdHNlIGtpIGF6IGVsc/Ugc29ydC4gVmVneWUg6XN6cmUsIGhvZ3kgYXogYSB1dGFz7XThcyAoYXBwZW5kKQorICAgICB0ZWxqZXNlbiBlZ3llemlrIGF6IGktdmVsIChpbnNlcnQpIGNzdXDhbiBhIGJlc3r6cnQgc3r2dmVnIGhlbHllCisgICAgIGv8bPZuYvZ6aWsuCisKKy0tLT4gRXogYSBzb3IgbGVoZXT1dukgdGVzemkg1m5uZWssIGhvZ3kgZ3lha29yb2xqYQorLS0tPiBFeiBhIHNvciBsZWhldPV26SB0ZXN6aSDWbm5laywgaG9neSBneWFrb3JvbGphIGEgc29yIHbpZ+lyZSBiZWlsbGVzenTpc3QuCisKKworCit+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+fn4KKwkJICAgIDYuMy4gIGxlY2tlOiBBWiDBVM1SwVMgTcFTSUsgVsFMVE9aQVRBCisKKworICAgICAgKiogTmFneSBSICBiZe1y4XPhdmFsIO1yaGF0IGZlbPxsIHT2YmIgbWludCBlZ3kga2FyYWt0ZXJ0LiAqKgorCisgIDEuIE1vemdhc3N1ayBhIGt1cnpvcnQgYXogZWxz9SAtLS0+IGtlemRldPsgc29ycmEhCisKKyAgMi4gUGxhY2UgdGhlIGN1cnNvciBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaXJzdCB3b3JkIHRoYXQgaXMgZGlmZmVyZW50CisgICAgIGZyb20gdGhlIHNlY29uZCBsaW5lIG1hcmtlZCAtLS0+ICh0aGUgd29yZCAnbGFzdCcpLgorCisgIDMuIE5vdyB0eXBlICBSICBhbmQgcmVwbGFjZSB0aGUgcmVtYWluZGVyIG9mIHRoZSB0ZXh0IG9uIHRoZSBmaXJzdCBsaW5lIGJ5CisgICAgIHR5cGluZyBvdmVyIHRoZSBvbGQgdGV4dCB0byBtYWtlIHRoZSBmaXJzdCBsaW5lIHRoZSBzYW1lIGFzIHRoZSBzZWNvbmQuCisKKy0tLT4gVG8gbWFrZSB0aGUgZmlyc3QgbGluZSB0aGUgc2FtZSBhcyB0aGUgbGFzdCBvbiB0aGlzIHBhZ2UgdXNlIHRoZSBrZXlzLgorLS0tPiBUbyBtYWtlIHRoZSBmaXJzdCBsaW5lIHRoZSBzYW1lIGFzIHRoZSBzZWNvbmQsIHR5cGUgUiBhbmQgdGhlIG5ldyB0ZXh0LgorCisgIDQuIE5vdGUgdGhhdCB3aGVuIHlvdSBwcmVzcyA8RVNDPiB0byBleGl0LCBhbnkgdW5hbHRlcmVkIHRleHQgcmVtYWlucy4KKworCisKKworCit+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+fn4KKwkJCSAgICA2LjQuICBsZWNrZTogQkXBTEzNVMFTT0sKKworKiogwWxs7XRzdWsgYmUsIGhvZ3kgYSBrZXJlc+lzIOlzIGEgaGVseWV0dGVz7XTpcyBuZSBm/GdnavZuIGtpcy9OQUdZYmV0+2t09WwgKioKKworICAxLiBLZXJlc3P8ayBtZWcgYXogJ2lnbm9yZSctdCBheiBiZe1ydmE6CisgICAgIC9pZ25vcmUKKyAgICAgRXp0IGlzbel0ZWxq/GsgdPZiYnN69nIgYXogbiBiaWxsZW50eft2ZWwKKworICAyLiDBbGztdHN1ayBiZSBheiAnaWMnIChJZ25vcmUgY2FzZSkgbGVoZXT1c+lnZXQg7Wd5OgorICAgICA6c2V0IGljCisKKyAgMy4gTW9zdCBrZXJlc3P8bmsgaXNt6XQgYXogJ2lnbm9yZSctcmEgbi1uZWwKKyAgICAgSXNt6XRlbGr8ayBtZWcgdPZiYnN69nIgYSBrZXJlc+lzdDogbgorCisgIDQuIMFsbO10c3VrIGJlIGEgJ2hsc2VhcmNoJyDpcyAnaW5jc2VhcmNoJyBsZWhldPVz6Wdla2V0OgorICAgICA6c2V0IGhscyBpcworCisgIDUuIE1vc3QgaXNt6XQg7XJqdWsgYmUgYSBrZXJlc/VwYXJhbmNzb3QsIOlzIGzhc3N1ayBtaSB09nJ06W5pazoKKyAgICAgL2lnbm9yZQorCisgIDYuIEEga2llbWVs6XN0IHN6/G50ZXNz/GsgbWVnIGFs4WJiaSB1dGFz7XThc29rIGVneWlr6XZlbDoKKyAgICAgOnNldCBub2hscyAgICAgdmFneQkgOm5vaGxzZWFyY2gKK35+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+fgorCQkJICAgICAgIDYuIExFQ0tFINZTU1pFRk9HTEFM00pBCisKKworICAxLiBUeXBpbmcgIG8Jb3BlbnMgYSBsaW5lIEJFTE9XIHRoZSBjdXJzb3IgYW5kIHBsYWNlcyB0aGUgY3Vyc29yIG9uIHRoZSBvcGVuCisgICAgIGxpbmUgaW4gSW5zZXJ0IG1vZGUuCisgICAgIFR5cGluZyBhIGNhcGl0YWwgIE8gIG9wZW5zIHRoZSBsaW5lIEFCT1ZFIHRoZSBsaW5lIHRoZSBjdXJzb3IgaXMgb24uCisKKyAgMi4gVHlwZSBhbiAgYSAgdG8gaW5zZXJ0IHRleHQgQUZURVIgdGhlIGNoYXJhY3RlciB0aGUgY3Vyc29yIGlzIG9uLgorICAgICBUeXBpbmcgYSBjYXBpdGFsICBBICBhdXRvbWF0aWNhbGx5IGFwcGVuZHMgdGV4dCB0byB0aGUgZW5kIG9mIHRoZSBsaW5lLgorCisgIDMuIFR5cGluZyBhIGNhcGl0YWwgIFIgIGVudGVycyBSZXBsYWNlIG1vZGUgdW50aWwgIDxFU0M+ICBpcyBwcmVzc2VkIHRvIGV4aXQuCisKKyAgNC4gVHlwaW5nICI6c2V0IHh4eCIgc2V0cyB0aGUgb3B0aW9uICJ4eHgiCisKKworCisKKworCisKKworCit+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+fn4KKwkJICAgICAgIDcuIGxlY2tlOiBPTi1MSU5FIEhFTFAgUEFSQU5DU09LCisKKworCQkgICAgKiogQXogb25saW5lIHP6Z/NyZW5kc3plciBoYXN6buFsYXRhICoqCisKKyAgQSBWaW0gculzemxldGVzIHP6Z/N2YWwgcmVuZGVsa2V6aWsuICBJbmR1bOFzaG96IGEga/Z2ZXRrZXr1ayBlZ3lpa+l0CisgIHRlZ3llOgorCS0gbnlvbWphIG1lZyBhIDxIRUxQPiBnb21ib3QgKGhhIHZhbiBpbHllbikKKwktIG55b21qYSBtZWcgYXogPEYxPiBnb21ib3QgKGhhIHZhbiBpbHllbikKKwktIO1yamEgYmU6ICAgOmhlbHAgPEVOVEVSPgorCisgIDpxIDxFTlRFUj4gICBiZe1y4XPhdmFsIHrhcmhhdGphIGJlIGEgc/pn82FibGFrb3QuCisKKyAgTWFqZG5lbSBtaW5kZW4gdOltYWv2cnL1bCB0YWzhbGhhdCBz+mfzdCwgYXJndW1lbnR1bSBtZWdhZOFz4XZhbAorICAiOmhlbHAiIHV0YXPtdOFzIC4gIFBy82LhbGphIGF6IGFs4WJiaWFrYXQga2kgKDxFTlRFUj4tdCBuZSBmZWxlanRz/GspOgorCisJOmhlbHAgdworCTpoZWxwIGNfPFQKKwk6aGVscCBpbnNlcnQtaW5kZXgKKwk6aGVscCB1c2VyLW1hbnVhbAorCisKK35+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+fgorCQkgICAgICAgOC4gbGVja2U6IElORM1U01NaS1JJUFQgzVLBU0EKKworCQkgICAgICoqIEEgVmltIGxlaGV09XPpZ2VpbmVrIGJl4Wxs7XThc2EgKioKKworICBBIFZpbSByZW5nZXRlZyBsZWhldPVz6WdnZWwgcmVuZGVsa2V6aWsgYSBWaS1ob3oga+lwZXN0LCBkZSBhIGxlZ3T2YmIKKyAgYWxhcGLzbCBlbOlyaGV0ZXRsZW4uIEFoaG96LCBob2d5IGFsYXBi82wgdPZiYiBsZWhldPVz6Wf8bmsgbGVneWVuIGvpc3rtdGVu/G5rCisgIGtlbGwgZWd5ICJ2aW1yYyIgZuFqbHQuCisKKyAgMS4gS2V6ZGr8ayBlbCBzemVya2VzenRlbmkgYSAidmltcmMiIGbhamx0LCBlbm5layBt82RqYToKKwk6ZWRpdCB+Ly52aW1yYwkJCVVuaXhvbiwgTGludXhvbgorCTplZGl0ICRWSU0vX3ZpbXJjCQlNUy1XaW5kb3dzb24KKworICAyLiBNb3N0IHN6+nJqdWsgYmUgYSBw6WxkYSAidmltcmMiIGbhamwgc3r2dmVn6XQ6CisKKwk6cmVhZCAkVklNUlVOVElNRS92aW1yY19leGFtcGxlLnZpbQorCisgIDMuIM1yanVrIGtpIGEgZuFqbHQ6CisKKwk6d3JpdGUKKworICBMZWdr9nplbGViYiBhIFZpbSBzemludGF4aXNraWVtZWzpc3NlbCBpbmR1bC4KKyAgSG96euFhZGhhdGphIGtlZHZlbmMgYmXhbGztdOFzYWl0IGVoaGV6IGEgInZpbXJjIiBm4WpsaG96LgorCit+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+fn4KKworICBJdHQgdulnevVkaWsgYSBWaW0gb2t0YXTzLCBtZWx5bmVrIGEgc3rhbmTpa2EgZWd5IHL2dmlkIOF0dGVraW506XMgYQorICBWaW1y9WwsIGFtZWx5IGVs6WcgYWhob3osIGhvZ3kgZWzpZyBr9m5ueWVk6W4ga2V6ZWxq/GsgYSBzemVya2VzenT1dC4KKyAgVOF2b2wgdmFuIGEgdGVsamVzc+lndPVsLCBtaXZlbCBhIFZpbW5layBzeuFtdGFsYW4gdG924WJiaSB1dGFz7XThc2EKKyAgdmFuLiBFenV04W4gYSBmZWxoYXN6buFs82kga+l6aWv2bnl2ZXQg6XJkZW1lcyBlbG9sdmFzbmkgYXogYW5nb2x1bAorICB0dWTza25hazogIjpoZWxwIHVzZXItbWFudWFsIi4gKGVneWVs9XJlIG5lbSB0dWQgbWFneWFydWwpCisKKyAgVG924WJiaSBtYWd5YXIgb2x2YXNuaXZhbPNrIOlyaGV09WVrIGVsIGF6IGFs4WJiaSBvbGRhbHLzbC4KKyAgaHR0cDovL3VidW50dS5odS9pbmRleC5waHA/dGl0bGU9VmltCisKKyAgRm9yIGZ1cnRoZXIgcmVhZGluZyBhbmQgc3R1ZHlpbmcsIHRoaXMgYm9vayBpcyByZWNvbW1lbmRlZDoKKwlWaW0gLSBWaSBJbXByb3ZlZCAtIGJ5IFN0ZXZlIE91YWxsaW5lCisJUHVibGlzaGVyOiBOZXcgUmlkZXJzCisgIFRoZSBmaXJzdCBib29rIGNvbXBsZXRlbHkgZGVkaWNhdGVkIHRvIFZpbS4gIEVzcGVjaWFsbHkgdXNlZnVsIGZvciBiZWdpbm5lcnMuCisgIFRoZXJlIGFyZSBtYW55IGV4YW1wbGVzIGFuZCBwaWN0dXJlcy4KKyAgU2VlIGh0dHA6Ly9pY2NmLWhvbGxhbmQub3JnL2NsaWNrNS5odG1sCisKKyAgVGhpcyBib29rIGlzIG9sZGVyIGFuZCBtb3JlIGFib3V0IFZpIHRoYW4gVmltLCBidXQgYWxzbyByZWNvbW1lbmRlZDoKKwlMZWFybmluZyB0aGUgVmkgRWRpdG9yIC0gYnkgTGluZGEgTGFtYgorCVB1Ymxpc2hlcjogTydSZWlsbHkgJiBBc3NvY2lhdGVzIEluYy4KKyAgSXQgaXMgYSBnb29kIGJvb2sgdG8gZ2V0IHRvIGtub3cgYWxtb3N0IGFueXRoaW5nIHlvdSB3YW50IHRvIGRvIHdpdGggVmkuCisgIFRoZSBzaXh0aCBlZGl0aW9uIGFsc28gaW5jbHVkZXMgaW5mb3JtYXRpb24gb24gVmltLgorCisgIFRoaXMgdHV0b3JpYWwgd2FzIHdyaXR0ZW4gYnkgTWljaGFlbCBDLiBQaWVyY2UgYW5kIFJvYmVydCBLLiBXYXJlLAorICBDb2xvcmFkbyBTY2hvb2wgb2YgTWluZXMgdXNpbmcgaWRlYXMgc3VwcGxpZWQgYnkgQ2hhcmxlcyBTbWl0aCwKKyAgQ29sb3JhZG8gU3RhdGUgVW5pdmVyc2l0eS4gIEUtbWFpbDogYndhcmVAbWluZXMuY29sb3JhZG8uZWR1LgorCisgIE1vZGlmaWVkIGZvciBWaW0gYnkgQnJhbSBNb29sZW5hYXIuCmRpZmYgLS1naXQgYS9ydW50aW1lL3R1dG9yL3R1dG9yLmh1LnV0Zi04IGIvcnVudGltZS90dXRvci90dXRvci5odS51dGYtOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjQxNTVmCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS90dXRvci90dXRvci5odS51dGYtOApAQCAtMCwwICsxLDgyMyBAQAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorPSAgICDDnCBkIHYgw7YgeiDDtiBsIGogw7wgayAgIGEgICBWIEkgTSAgIFQgdSB0IG8gciBiIGEgbiAgLSAgICAxLjUtw7ZzICB2ZXJ6acOzID09PQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisgICAgIEEgVmltIGVneSBuYWd5b24gaGF0w6lrb255IHN6ZXJrZXN6dMWRLCBhbWVsbnllayByZW5nZXRlZyB1dGFzw610w6FzYQorICAgICB2YW4sIHTDumwgc29rLCBob2d5IGVneSBpbHllbiBva3RhdMOzYmFuICh0dXRvcmJhbiksIG1pbnQgYXogaXR0ZW5pCisgICAgIG1pbmRldCBlbG1hZ3lhcsOhenp1ay4gRXogYXogb2t0YXTDsyBhcnJhIHTDtnJla3N6aWssIGhvZ3kgYW5ueWl0CisgICAgIGVsbWFneWFyw6F6em9uLCBhbWVubnlpIGVsw6lnLCBob2d5IGvDtm5ueWVkw6luIGhhc3puw6FsanVrIGEgVmltLWV0LCBhegorICAgICDDoWx0YWzDoW5vcyBjw6lsw7ogc3rDtnZlZ3N6ZXJrZXN6dMWRdC4KKworICAgICBBIGZlbGFkYXRvayBtZWdvbGTDoXPDoWhveiAyNS0zMCBwZXJjIHN6w7xrc8OpZ2VzIGF0dMOzbCBmw7xnZ8WRZW4sCisgICAgIG1lbm55aXQgdMO2bHTDvG5rIGEga2lzw6lybGV0ZXrDqXNzZWwuCisKKyAgICAgQSBsZWNrw6liZW4gc3plcmVwbMWRIHV0YXPDrXTDoXNvayBtw7Nkb3PDrXRhbmkgZm9nasOhayBhIHN6w7Z2ZWdlay4KKyAgICAgS8Opc3rDrXRzZW4gbcOhc29sYXRvdCBlcnLFkWwgYSBmw6FqbHLDs2wsIGhhIGd5YWtvcm9sbmkgYWthci4KKyAgICAgKEhhICJ2aW10dXRvciItcmFsIGluZMOtdG90dGEsIGFra29yIGV6IG3DoXIgZWd5IG3DoXNvbGF0LikKKworICAgICBGb250b3MgbWVnw6lydGVuaSwgaG9neSBleiBheiBva3RhdMOzIGNzZWxla2VkdmUgdGFuw610dGF0LgorICAgICBFeiBhenQgamVsZW50aSwgaG9neSDDlm5uZWsgYWrDoW5sb3R0IHbDqWdyZWhhanRhbmlhIGF6IHV0YXPDrXTDoXNva2F0LAorICAgICBob2d5IG1lZ2ZlbGVsxZFlbiBtZWd0YW51bGphIGF6b2thdC4gSGEgY3NhayBvbHZhc3NhLCBlbGZlbGVqdGkhCisKKyAgICAgTW9zdCBiaXpvbnlvc29kam9uLCBtZWcsIGhvZ3kgYSBDYXBzLUxvY2sgZ29tYmphIE5JTkNTIGxlbnlvbXZhLCDDqXMKKyAgICAgTnlvbWphIG1lZyBtZWdmZWxlbMWRIHN6w6Ftw7pzem9yIGEgICBqICAgZ29tYm90LCBob2d5IGF6IDEuMS1lcworICAgICBsZWNrZSB0ZWxqZXNlbiBhIGvDqXBlcm55xZFuIGxlZ3llbiEKKworfn5+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+CisJCQkxLjEuICBsZWNrZTogIEEgS1VSWk9SIE1PWkdBVMOBU0EKKworCisgICAqKiBBIGt1cnpvciBtb3pnYXTDoXPDoWhveiBueW9tamEgbWVnIGEgaCxqLGssbCBnb21ib2thdCBheiBhbMOhYmJpIHN6ZXJpbnQuICoqCisJICAgICBeCisJICAgICBrCQkgICAgVGlwcDogIEEgaCBiaWxsZW50ecWxIHZhbiBiYWxyYSwgw6lzIGJhbHJhIG1vemdhdAorICAgICAgIDwgaAkgbCA+CQkgICBBIGwgYmlsbGVudHnFsSB2YW4gam9iYnJhLCDDqXMgam9iYnJhIG1vemdhdAorCSAgICAgagkJCSAgIEEgaiBiaWxsZW50ecWxIG9seWFuLCBtaW50IGVneSBsZWZlbGUgbnnDrWwKKwkgICAgIHYKKyAgMS4gTW96Z2Fzc2EgYSBrdXJ6b3J0IGvDtnJiZSBheiBhYmxha2JhbiwgYW3DrWcgaG96esOhIG5lbSBzem9raWshCisKKyAgMi4gVGFydHNhIGxlbnlvbXZhIGEgbGVmZWzDqXQgKGopLCBha2tvciBpc23DqXRsxZFkaWshCistLS0+IE1vc3QgdHVkamEsIGhvZ3lhbiBtZWhldCBhIGvDtnZldGtlesWRIGxlY2vDqXJlLgorCisgIDMuIEEgbGVmZWzDqSBmb21iIGhhc3puw6FsYXTDoXZhbCBtZW5qZW4gYSAxLjIuIGxlY2vDqXJlIQorCitNZWdqOiBIYSBuZW0gYml6dG9zIGJlbm5lLCBtaXQgbnlvbW90dCBtZWcsIG55b21qYSBtZWcgYXogPEVTQz4tZXQsIGhvZ3kKKyAgICAgIG5vcm3DoWwgbcOzZGJhIGtlcsO8bGrDtm4sIMOpcyBpc23DqXRlbGplIG1lZyBhIHBhcmFuY3NvdCEKKworTWVnajogQSBrdXJ6b3IgZ29tYm9rbmFrIGlzIG3FsWvDtmRuacO8ayBrZWxsLCBkZSBhIGhqa2wgaGFzem7DoWxhdMOhdmFsCisgICAgICBzb2trYWwgZ3lvcnNhYmJhbiB0dWQsIG1vem9nbmksIGhhIGhvenrDoXN6b2tpay4KKworfn5+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+CisJCSAgICAgMS4yLiAgbGVja2U6IEJFIMOJUyBLSUzDiVDDiVMgQSBWSU1CxZBMCisKKworICAhISBNRUdKOiBNaWVsxZF0dCB2w6lncmVoYWp0amEgYXogYWzDoWJiaSBsw6lww6lzZWtldCwgb2x2YXNzYSB2w6lnaWcgYSBsZWNrw6l0ICEhCisKKyAgMS4gTnlvbWphIG1lZyBheiAgPEVTQz4gZ29tYm90IChob2d5IGJpenRvc2FuIG5vcm3DoWwgbcOzZGJhbiBsZWd5ZW4pLgorCisgIDIuIMONcmphOgkJCTpxISA8RU5URVI+LgorCistLS0+IEV6emVsIGtpbMOpcCBhIHN6ZXJrZXN6dMWRYsWRbCBhIHbDoWx0b3rDoXNvayBNRU5Uw4lTRSBOw4lMS8OcTC4KKyAgICAgSGEgbWVudGVuaSBzemVyZXRuw6kgYSB2w6FsdG96w6Fzb2thdCDDqXMga2lsw6lwbmksIMOtcmphOgorCQkJCTp3cSAgPEVOVEVSPgorCisgIDMuIEFtaWtvciBhIHNoZWxsIHByb21wdG90IGzDoXRqYSwgw61yamEgYmUgYSBwYXJhbmNzb3QsIGFtZWx5IGViYmUgYQorICAgICB0dXRvcmJhIGhvenphOgorICAgICBFeiB2YWzDs3N6w61uxbFsZWc6CXZpbXR1dG9yIDxFTlRFUj4KKyAgICAgTm9ybcOhbGlzIGVzZXRiZW4gZXp0IMOtcm7DoToJdmltIHR1dG9yLmh1IDxFTlRFUj4KKworLS0tPiAndmltJyBqZWxlbnRpIGEgdmltYmUgYmVsw6lww6lzdCwgJ3R1dG9yLmh1JyBhIGbDoWpsLCBhbWl0IHN6ZXJrZXN6dGVuaSBrw612w6FuLgorCisgIDQuIEhhIG1lZ2plZ3llenRlIGEgbMOpcMOpc2VrZXQgw6lzIGJpenRvcyBtYWfDoWJhbiwgaGFqdHNhIHbDqWdyZSBhIGzDqXDDqXNla2V0CisgICAgIDEtdMWRbCAzLWlnLCBob2d5IGtpbMOpcGplbiDDqXMgdmlzc3phdMOpcmplbiBhIHN6ZXJrZXN6dMWRYmUuIEF6dXTDoW4KKyAgICAgbWVuamVuIGF6IDEuMy4gIGxlY2vDqXJlLgorfn5+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+CisJCSAgICAgMS4zLiAgbGVja2U6IFNaw5ZWRUcgU1pFUktFU1pUw4lTRSAtIFTDllJMw4lTCisKKworKiogTm9ybcOhbCBtw7NkYmFuIG55b21qb24gIHgtZXQsIGhvZ3kgYSBrdXJ6b3IgYWxhdHRpIGthcmFrdGVydCB0w7Zyw7ZsamUuICoqCisKKyAgMS4gTW96Z2Fzc2EgYSBrdXJ6b3J0IGEgLS0tPiBrZXpkZXTFsSBzb3JyYSEKKworICAyLiBBIGhpYsOhayBraWphdsOtdMOhc8OhaG96IG1vemdhc3NhIGEga3Vyem9ydCBhbcOtZyBhIHTDtnJsZW5kxZEga2FyYWt0ZXIKKyAgICAgZsO2bMOpIG5lbSDDqXIuCisKKyAgMy4gTnlvbWphIG1lZyBheiAgeCAgZ29tYm90LCBob2d5IHTDtnLDtmxqZSBhIG5lbWvDrXbDoW50IGthcmFrdGVydC4KKworICA0LiBJc23DqXRlbGplIGEgMiwgMywgNC1lcyBsw6lww6lzZWtldCwgaG9neSBraWphdsOtdHNhIGEgbW9uZGF0b3QuCisKKy0tLT4gxZDFkHN6aSDDqWpqamVsbCBpenppaWsgYWEgZ2FsYWdnb255YSBycnV1aMOhamEuCisKKyAgNS4gSGEgYSBzb3IgaGVseWVzLCB1Z29yam9uIGEgMS40LiBsZWNrw6lyZS4KKworTUVHSjogQSB0YW51bMOhcyBzb3LDoW4gbmUgbWVtb3JpesOhbG5pIHByw7Niw6Fsam9uLCBoYW5lbSBoYXN6bsOhbGF0IHNvcsOhbiB0YW51bGpvbi4KKworCit+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+fn4KKwkJICAgICAxLjQuICBsZWNrZTogU1rDllZFRyBTWkVSS0VTWlTDiVNFIC0gQkVTWsOaUsOBUworCisKKwkgKiogTm9ybcOhbCBtw7NkYmFuICBpICBtZWdueW9tw6Fzw6F2YWwgbGVoZXQgYmVpbGxlc3p0ZW5pLiAqKgorCisgIDEuIEF6IGFsw6FiYmkgZWxzxZEgLS0tPiBrZXpkZXTFsSBzb3JyYSBtZW5qZW4uCisKKyAgMi4gQWhob3osIGhvZ3kgYXogZWxzxZF0IGF6b25vc3PDoSB0ZWd5ZSBhIG3DoXNvZGlra2FsLCBtb3pnYXNzYSBhIGt1cnpvcnQKKyAgICAgYXogZWxzxZEga2FyYWt0ZXJyZSwgYW1lbHkgVVTDgU4gc3rDtnZlZ2V0IGtlbGwgYmVzesO6cm5pLgorCisgIDMuIE55b21qb24gIGktdCDDqXMgw61yamEgYmUgYSBtZWdmZWxlbMWRIHN6w7Z2ZWdldC4KKworICA0LiBBbWlrb3IgbWluZGVudCBiZcOtcnQsIG55b21qb24gPEVTQz4tZXQsIGhvZ3kgTm9ybcOhbCBtw7NkYmEgdmlzc3phdMOpcmplbi4KKyAgICAgSXNtw6l0ZWxqZSBhIDIgw6lzIDQga8O2esO2dHRpIGzDqXDDqXNla2V0LCBob2d5IGtpamF2w610c2EgYSBtb25kYXRvdC4KKworLS0tPiBBeiDDoXRoYXTDsyBzb8OzbCBoaXppayBww6FyIMOpc3ouCistLS0+IEF6IGl0dCBsw6F0aGF0w7Mgc29yYsOzbCBoacOhbnl6aWsgcMOhciByw6lzei4KKworICA1LiBIYSBtw6FyIGJlZ3lha29yb2x0YSBhIGJlc3rDunLDoXN0LCBtZW5qZW4gYXogYWzDoWJiaSDDtnNzemVmb2dsYWzDs3JhLgorCisKKworfn5+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+CisJCQkgICAgICAgMS4gTEVDS0Ugw5ZTU1pFRk9HTEFMw5NKQQorCisKKyAgMS4gQSBrdXJ6b3J0IHZhZ3kgYSBueWlsYWtrYWwgdmFneSBhIGhqa2wgZ29tYm9ra2FsIG1vemdhdGhhdGphLgorCSBoIChiYWxyYSkJaiAobGUpICAgICAgIGsgKGZlbCkJICAgIGwgKGpvYmJyYSkKKworICAyLiBBIFZpbWJlIChhICQgcHJvbXB0dMOzbCkgw61neSBsw6lwaGV0IGJlOiAgdmltIEZJTEVOQU1FIDxFTlRFUj4KKworICAzLiBBIFZpbWLFkWwgw61neSBsw6lwaGV0IGtpOiAgPEVTQz4gICA6cSEgIDxFTlRFUj4gIGEgdsOhbHRvenRhdMOhc29rIGVsZG9iw6Fzw6F2YWwuCisJICAgICB2YWd5IMOtZ3k6CSAgICAgIDxFU0M+ICAgOndxICA8RU5URVI+ICBhIHbDoWx0b3rDoXNvayBtZW50w6lzw6l2ZWwuCisKKyAgNC4gQSBrdXJ6b3IgYWxhdHRpIGthcmFrdGVyIHTDtnJsw6lzZSBub3Jtw6FsIG3Ds2RiYW46ICB4CisKKyAgNS4gU3rDtnZlZyBiZXN6w7pyw6FzYSBhIGt1cnpvciB1dMOhbiBub3Jtw6FsIG3Ds2RiYW46CisJIGkgICAgIGfDqXBlbGplIGJlIGEgc3rDtnZlZ2V0CTxFU0M+CisKK01FR0o6IEF6IDxFU0M+IG1lZ255b23DoXNhIG5vcm3DoWwgbcOzZGJhIHZpc3ppLCB2YWd5IG1lZ3N6YWvDrXQgZWd5IG5lbSBiZWZlamV6ZXR0CisgICAgICByw6lzemJlbiBiZWZlamV6ZXR0IHBhcmFuY3NvdC4KKworTW9zdCBmb2x5dGFzc3VrIGEgMi4gbGVja8OpdmVsIQorCisKK35+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+fgorCQkJMi4xLiAgbGVja2U6IFTDllJMxZAgVVRBU8ONVMOBU09LCisKKworCSAgICAqKiBkdyAgdMO2csO2bCBhIHN6w7MgdsOpZ8OpaWcuICoqCisKKyAgMS4gTnlvbWpvbiA8RVNDPi1ldCwgaG9neSBtZWdiaXpvbnlvc29kam9uLCBob2d5IG5vcm3DoWwgbcOzZGJhbiB2YW4hCisKKyAgMi4gTW96Z2Fzc2EgYSBrdXJ6b3J0IGEgLS0tPiBrZXpkZXTFsSBzb3JyYSEKKworICAzLiBNb3pnYXNzYSBhIGt1cnpvcnQgYXJyYSBhbm5hayBhIHN6w7NuYWsgYXogZWxlasOpcmUsIGFtaXQgdMO2csO2bG5pIHN6ZXJldG5lLgorICAgICBUw7Zyw7ZsamUgYXogw6FsbGF0b2thdCBhIG1vbmRhdGLDs2wuCisKKyAgNC4gQSBzesOzIHTDtnJsw6lzw6loZXogw61yamE6ICAgZHcKKworICBNRUdKOiBIYSByb3NzenVsIGtlemR0ZSBheiB1dGFzw610w6FzdCBjc2FrIG55b21qb24gPEVTQz4gZ29tYm90CisgICAgICAgIGEgbWVnc3pha8OtdMOhc8OhaG96LgorCistLS0+IFDDoXIgc3rDsyBrdXR5YSBuZW0gdWh1IGlsbGlrIHBpbmd2aW4gYSBtb25kYXRiYSB0ZWjDqW4uCisKKyAgNS4gSXNtw6l0ZWxqZSBhIDMgw6lzIDQga8O2esO2dHRpIHV0YXPDrXTDoXNva2F0IGFtw61nIGtlbGwgw6lzIHVnb3Jqb24gYSAyLjIgbGVja8OpcmUhCisKK35+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+fgorCQkgICAgICAyLjIuICBsZWNrZTogTcOJRyBUw5ZCQiBUw5ZSTMWQIFVUQVPDjVTDgVMKKworCisJICAgKiogZCQgYmXDrXLDoXPDoXZhbCBhIHNvciB2w6lnw6lpZyB0w7Zyw7ZsaGV0LiAqKgorCisgIDEuIE55b21qb24gPEVTQz4tZXQsIGhvZ3kgbWVnYml6b255b3NvZGpvbiwgaG9neSBub3Jtw6FsIG3Ds2RiYW4gdmFuIQorCisgIDIuIE1vemdhc3NhIGEga3Vyem9ydCBhIC0tLT4ga2V6ZGV0xbEgc29ycmEhCisKKyAgMy4gTW96Z2Fzc2EgYSBrdXJ6b3J0IGEgaGVseWVzIHNvciB2w6lnw6lyZSAoYXogZWxzxZEgLiBVVMOBTikhCisKKyAgNC4gZCQgIGJlZ8OpcGVsw6lzw6l2ZWx0w7Zyw7ZsamUgYSBzb3IgdsOpZ8OpdCEKKworLS0tPiBWYWxha2kgYSBzb3IgdsOpZ8OpdCBrw6l0c3plciBnw6lwZWx0ZSBiZS4ga8OpdHN6ZXIgZ8OpcGVsdGUgYmUuCisKKworICA1LiBNZW5qZW4gYSAyLjMuIGxlY2vDqXJlLCBob2d5IG1lZ8OpcnRzZSBtaSB0w7ZydMOpbnQhCisKKworCisKKworfn5+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+CisJCSAgICAgMi4zLiAgbGVja2U6IFVUQVPDjVTDgVNPS1LDk0wgw4lTIE9CSkVLVFVNT0tSw5NMCisKKworICBBICBkICAoZGVsZXRlPXTDtnJsw6lzKSB1dGFzw610w6FzIGZvcm3DoWphIGEga8O2dmV0a2V6xZE6CisKKwkgW3N6w6FtXSAgIGQJb2JqZWt0dW0JICAgVkFHWQkgICAgIGQJIFtzesOhbV0gb2JqZWt0dW0KKyAgQWhvbDoKKyAgICBzesOhbSAtIGjDoW55c3pvciBoYWp0w7Nkam9uIHbDqWdyZSBhIHBhcmFuY3MgKGVsaGFneWhhdMOzLCBhbGFww6lydMOpaz0xKS4KKyAgICBkIC0gYSB0w7ZybMOpcyAoZGVsZXRlKSB1dGFzw610w6FzLgorICAgIG9iamVrdHVtIC0gYW1pbiBhIHBhcmFuY3NuYWsgdGVsamVzw7xsbmllIGtlbGwgKGFsw6FiYiBsaXN0w6F6dmEpLgorCisgIE9iamVrdHVtb2sgcsO2dmlkIGxpc3TDoWphOgorICAgIHcgLSBhIGt1cnpvcnTDs2wgYSBzesOzIHbDqWfDqWlnLCBiZWxlw6lydHZlIGEgc3rDs2vDtnp0LgorICAgIGUgLSBhIGt1cnpvcnTDs2wgYSBzesOzIHbDqWfDqWlnLCBORU0gYmVsZcOpcnR2ZSBhIHN6w7Nrw7Z6dC4KKyAgICAkIC0gYSBrdXJ6b3J0w7NsIGEgc29yIHbDqWfDqWlnLgorCitNRUdKOiAgVsOhbGxhbGtvesOzYmJhayBrZWR2w6nDqXJ0LCBjc3Vww6FuIGF6IG9iamVrdHVtIGJlZ8OpcGVsw6lzw6l2ZWwgcGFyYW5jcyBuw6lsa8O8bAorICAgICAgIGEga3Vyem9yIG9kYSBrZXLDvGwsIGFtaXQgYXogb2JqZWt0dW1saXN0YSBtZWdhZC4KKworCisKKworfn5+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+CisJCTIuNC4gIGxlY2tlOiBFR1kgS0lWw4lURUwgQSAgJ1BBUkFOQ1NPQkpFS1RVTScgQUzDk0wKKworCisJICAgICAgICoqIGRkIGJlw61yw6Fzw6F2YWwgdMO2csO2bGhldGkgYXogZWfDqXN6IHNvcnQuICoqCisKKyAgQSB0ZWxqZXMgc29yIHTDtnJsw6lzw6luZWsgZ3lha29yaXPDoWdhIG1pYXR0IGEgVmkgdGVydmV6xZFpIGVsaGF0w6Fyb3p0w6FrLAorICBob2d5IGvDtm5ueWViYiBsZW5uZSBjc3Vww6FuIGEgZC10IGvDqXRzemVyIG1lZ255b21uaSwgaG9neSBlZ3kgc29ydCB0w7Zyw7ZsasO8bmsuCisKKyAgMS4gTW96Z2Fzc2EgYSBrdXJ6b3J0IGF6IGFsw6FiYmkga2lmZWplesOpc2VrIG3DoXNvZGlrIHNvcsOhcmEhCisgIDIuIGRkIGJlZ8OpcGVsw6lzw6l2ZWwgdMO2csO2bGplIGEgc29ydCEKKyAgMy4gTWVuamVuIGEgNC4gKGVyZWRldGlsZWcgNS4pIHNvcnJhIQorICA0LiAyZGQgICAodWd5ZWLDoXIgc3rDoW0tdXRhc8OtdMOhcy1vYmpla3R1bSkgYmVnw6lwZWzDqXPDqXZlbCB0w7Zyw7ZsasO2biBrw6l0IHNvcnQhCisKKyAgICAgIDEpICBBbHbDsyBzemVnZWsgYSBqw6lnaGlkZWcgaG9tb2tiYW4sCisgICAgICAyKSAgLSBrZXpkaSBhIGvDtmx0xZEgLQorICAgICAgMykgIFBsYWvDoXRtYWfDoW55YmFuIMOhesOzIMOpamplbGVrLgorICAgICAgNCkgIFBpbmd2aW5layBuZSBmw6lsamV0ZWssCisgICAgICA1KSAgVMOhdm9scsOzbCBlZ3kgdmFrdSB2aWxsYW50LAorICAgICAgNikgIMOJZ3ZlIGhhZ3l0YWQgYSBmb2x5b3PDs24gYSB2aWxsYW55dC4KKyAgICAgIDcpICBNYSBvbnRqw6FrIHbDqXJlbWV0LgorCisKK35+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+fgorCQkJIDIuNS4gIGxlY2tlOiBBIFZJU1NaQVZPTsOBUyAoVU5ETykgUEFSQU5DUworCisKKyoqIHUgZ8OpcGVsw6lzw6l2ZWwgdmlzc3phdm9uaGF0w7MgYXogdXRvbHPDsyBwYXJhbmNzLCBVIGF6IGVnw6lzeiBzb3J0IGhlbHlyZcOhbGzDrXRqYS4gKioKKworICAxLiBNZW5qw7xuayBheiBhbMOhYmJpIC0tLT4ga2V6ZGV0xbEgc29yIGVsc8WRIGhpYsOhasOhcmEhCisgIDIuIHggIGxlbnlvbcOhc8OhdmFsIHTDtnLDtmxqZSBheiBlbHPFkSBmZWxlc2xlZ2VzIGthcmFrdGVydCEKKyAgMy4gdSBtZWdueW9tw6Fzw6F2YWwgdm9uamEgdmlzc3phIGF6IHV0b2xzw7NuYWsgdsOpZ3JlaGFqdG90dCB1dGFzw610w6FzdCEKKyAgNC4gTcOhc29kasOhcmEgamF2w610c29uIGtpIG1pbmRlbiBoaWLDoXQgYSBzb3JiZW4gYXogeCB1dGFzw610w6Fzc2FsIQorICA1LiBNb3N0IG5hZ3kgIFUgIC12YWwgw6FsbMOtdHNhIHZpc3N6YSBhIHNvciBlcmVkZXRpIMOhbGxhcG90w6F0IQorICA2LiBOeW9tamEgbWVnIGF6IHUgZ29tYm90IHDDoXJzem9yLCBob2d5IGF6IFUgw6lzIHN6IGVsxZF6xZEgdXRhc8OtdMOhc29rYXQKKyAgICAgdmlzc3phw6FsbMOtdHNhIQorICA3LiBDVFJMLVIgKENUUkwgZ29tYiBsZW55b23DoXNhIG1lbGxldHQgw7xzc8O2biBSLXQpIHDDoXJzem9yIGNzaW7DoWxqYSDDumpyYSBhCisgICAgIHZpc3N6YXZvbnQgcGFyYW5jc29rYXQgKHJlZG8pIQorCistLS0+IEphdsOtw610c2QgYSBoaGliw6FrYWF0IGViYmJlbiBhIHNvb29yYmFuIG1hamQgw6FsbMOtdHNhIHZpc3N6YWFhIGF6IGVyZWRldGl0LgorCisgIDguIEV6ZWsgbmFneW9uIGhhc3pub3MgcGFyYW5jc29rLiBNb3N0IHVnYXJqb24gYSAyLiBsZWNrZSDDtnNzemVmb2dsYWzDs2rDoXJhLgorCisKKworfn5+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+CisJCQkgICAgICAgMi4gTEVDS0Ugw5ZTU1pFRk9HTEFMw5NKQQorCisKKyAgMS4gVMO2cmzDqXMgYSBrdXJ6b3J0w7NsIGEgc3rDsyB2w6lnw6lpZzogICAgZHcKKworICAyLiBUw7ZybMOpcyBhIGt1cnpvcnTDs2wgYSBzesOzIHbDqWfDqWlnOiAgICBkJAorCisgIDMuIEVnw6lzeiBzb3IgdMO2cmzDqXNlOiAgICBkZAorCisgIDQuIEVneSB1dGFzw610w6FzIGFsYWtqYSBub3Jtw6FsIG3Ds2RiYW46CisKKyAgICAgICBbc3rDoW1dICAgdXRhc8OtdMOhcyAgIG9iamVrdHVtICAgVkFHWSAgIHV0YXPDrXTDoXMJW3N6w6FtXSBvYmpla3R1bQorICAgICBhaG9sOgorICAgICAgIHN6w6FtIC0gaMOhbnlzem9yIGlzbcOpdGVsasO8ayBhIHBhcmFuY3NvdAorICAgICAgIHV0YXPDrXTDoXMgLSBtaXQgdGVnecO8bmssIHBsLiBkICBhIHTDtnJsw6lza29yCisgICAgICAgb2JqZWt0dW0gLSBtaXJlIGhhc3NvbiBheiB1dGFzw610w6FzLCBww6lsZMOhdWwgdyAoc3rDsz13b3JkKSwKKwkJJCAoYSBzb3IgdsOpZ8OpaWcpLCBzdGIuCisKKyAgNS4gQXogZWzFkXrFkSB0ZXR0IHZpc3N6YXZvbsOhc2EgKHVuZG8pOgkgICAgIHUJIChraXMgdSkKKyAgICAgQSBzb3Igw7Zzc3plcyB2w6FsdG96w6Fzw6FuYWsgdmlzc3phdm9uw6FzYTogVQkgKG5hZ3kgVSkKKyAgICAgVmlzc3phdm9uw6Fzb2sgdmlzc3phdm9uw6FzYToJICAgICBDVFJMLVIKKworfn5+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+CisJCQkgMy4xLiAgbGVja2U6IEEgUFVUIFBBUkFOQ1MKKworCisgICoqIHAgIGxlw7x0w6lzw6l2ZWwgYXogdXRvbHPDs25hayB0w7Zyw7ZsdGV0IGEga3Vyem9yIHV0w6FuIGlsbGVzemhldGrDvGsuICoqCisKKyAgMS4gTW96Z2Fzc3VrIGEga3Vyem9ydCBheiBhbMOhYmJpIHNvcm9rIGVsc8WRIHNvcsOhcmEuCisKKyAgMi4gZGQgbGXDvHTDqXPDqXZlbCB0w7Zyw7ZsasO8ayBhIHNvcnQgw6lzIGVsdMOpcm9sw7NkaWsgYSBWaW0gcHVmZmVyw6liZW4uCisKKyAgMy4gTW96Z2Fzc3VrIGEga3Vyem9ydCBBRsOWTMOJIGEgc29yIGbDtmzDqSwgYWhvdsOhIG1vemdhdG5pIHN6ZXJldG7DqW5rIGEKKyAgICAgdMO2csO2bHQgc29ydC4KKworICA0LiBOb3Jtw6FsIG3Ds2RiYW4gw61yanVuayAgcCAgIGJldMWxdCBhIHTDtnLDtmx0IHNvciBiZWlsbGVzenTDqXPDqWhlei4KKworICA1LiBGb2x5dGFzc3VrIGEgMi00LiB1dGFzw610w6Fzb2trYWwgaG9neSBhIGhlbHllcyBzb3JyZW5kZXQga2FwanVrLgorCisgICAgIGQpIENhbiB5b3UgbGVhcm4gdG9vPworICAgICBiKSBWaW9sZXRzIGFyZSBibHVlLAorICAgICBjKSBJbnRlbGxpZ2VuY2UgaXMgbGVhcm5lZCwKKyAgICAgYSkgUm9zZXMgYXJlIHJlZCwKKworCisKK35+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+fgorCQkgICAgICAgMy4yLiAgbGVja2U6IEEgUkVQTEFDRSBQQVJBTkNTCisKKworKiogciAgw6lzICBhIGthcmFrdGVyZWsgbGXDvHTDqXPDqXZlbCBhIGt1cnpvciBhbGF0dGkga2FyYWt0ZXJ0IG1lZ3bDoWx0b3p0YXRqdWsuICoqCisKKyAgMS4gTW96Z2Fzc3VrIGEga3Vyem9ydCBheiBlbHPFkSAtLS0+IGtlemRldMWxIHNvcnJhIQorCisgIDIuIE1vemdhc3N1ayBhIGt1cnpvcnQgYXogZWxzxZEgaGliYSBmw7Zsw6khCisKKyAgMy4gcgltYWpkIGEga8OtdsOhbnQga2FyYWt0ZXIgbGXDvHTDqXPDqXZlbCB2w6FsdG96dGFzc3VrIG1lZyBhIGhpYsOhc2F0IQorCisgIDQuIEEgMi4gw6lzIDMuIGzDqXDDqXNla2tlbCBqYXbDrXRzdWsgYXogw7Zzc3plcyBoaWLDoXQhCisKKy0tLT4gIFdoYW4gdGhpcyBsaW1lIHdhcyB0dW9lZCBpbiwgc29tZW9uZSBwcmVzc3dkIHNvbWUgd3Jvamcga2V5cyEKKy0tLT4gIFdoZW4gdGhpcyBsaW5lIHdhcyB0eXBlZCBpbiwgc29tZW9uZSBwcmVzc2VkIHNvbWUgd3Jvbmcga2V5cyEKKworICA1LiBNZW5qw7xuayBhIDMuMi4gbGVja8OpcmUhCisKK01FR0o6IEVtbMOpa2V6emVuLCBob2d5IG5lbSBtZW1vcml6w6Fsw6Fzc2FsLCBoYW5lbSBneWFrb3Jsw6Fzc2FsIHRhbnVsam9uLgorCisKK35+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+fgorCQkJMy4zLiAgbGVja2U6IEEgQ0hBTkdFIFBBUkFOQ1MKKworCisJICAgKiogQSBzesOzIGVneSByw6lzesOpbmVrIG1lZ3bDoWx0b3p0YXTDoXPDoWhveiDDrXJqdWs6ICBjdyAuICoqCisKKyAgMS4gTW96Z2Fzc3VrIGEga3Vyem9ydCBheiBlbHPFkSAtLS0+IGtlemRldMWxIHNvcnJhIQorCisgIDIuIFZpZ3llIGEga3Vyem9ydCBhIEV6ZW4gc3rDsyB6IGJldMWxamUgZsO2bMOpIQorCisgIDMuIGN3IMOpcyBhIGhlbHllcyBzesOzcsOpc3ogKGl0dCAnYmJlbicpIGJlw61yw6Fzw6F2YWwgamF2w610c2EgYSBzesOzdCEKKworICA0LiA8RVNDPiBsZW55b23DoXNhIHV0w6FuIGEga8O2dmV0a2V6xZEgaGliw6FyYSB1Z29yam9uIChheiBlbHPFkSBjc2Vyw6lsZW5kxZEKKyAgICAga2FyYWt0ZXJyZSkhCisKKyAgNS4gQSAzLiDDqXMgNC4gbMOpcMOpc2VrIGlzbcOpdGzDqXPDqXZlbCBheiBlbHPFkSBtb25kYXRvdCB0ZWd5ZSBhIG3DoXNvZGlra2FsCisgICAgIGF6b25vc3PDoSEKKworLS0tPiBFemVuIGEgc29ycnJyciBww6FyIHN6w7NyYSBtZWcga2VsbCB2w6FsdG96emFuYWsgYSBjaGFuZ2UgdXRhc2vDrXLDqXPFkS4KKy0tLT4gRWJiZW4gYSBzb3JiYW4gcMOhciBzesOzdCBtZWcga2VsbCB2w6FsdG96dGF0bmkgYSBjaGFuZ2UgdXRhc8OtdMOhc3NhbC4KKworVmVnecO8ayDDqXN6cmUsIGhvZ3kgYSAgY3cgIG5lbSBjc2FrIGEgc3rDs3Qgw61yamEgw6F0LCBoYW5lbSBiZXN6w7pyw7MKKyhpbnNlcnQpIG3Ds2RiYSB2w6FsdC4KKworCisKK35+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+fgorCQkgICAgICAgMy40LiAgbGVja2U6IFTDlkJCRsOJTEUgVsOBTFRPWlRBVMOBUyBjLVZFTAorCisKKyAqKiBBIGMgdXRhc8OtdMOhcyBoYXN6bsOhbGhhdMOzIHVneWFuYXpva2thbCBheiBvYmpla3R1bW9ra2FsIG1pbnQgYSB0w7ZybMOpcyAqKgorCisgIDEuIEEgY2hhbmdlIHV0YXPDrXTDoXMgYSB0w7ZybMOpc3NlbCBhem9ub3NhbiB2aXNlbGtlZGlrLiAgQSBmb3JtYToKKworICAgICAgIFtzesOhbV0gICBjICAgb2JqZWt0dW0JICAgT1IJICAgIGMJW3N6w6FtXSAgIG9iamVrdHVtCisKKyAgMi4gQXogb2JqZWt0dW1vayBpcyBhem9ub3NhaywgcGwuICAgdyAoc3rDsyksICQgKHNvcnbDqWcpLCBzdGIuCisKKyAgMy4gTW96Z2Fzc3VrIGEga3Vyem9ydCBheiBlbHPFkSAtLS0+IGtlemRldMWxIHNvcnJhIQorCisgIDQuIE1lbmrDvG5rIGF6IGVsc8WRIGhpYsOhcmEhCisKKyAgNS4gYyQgYmVnw6lwZWzDqXPDqXZlbCBhIHNvcnbDqWdla2V0IHRlZ3nDvGsgYXpvbm9zc8OhIMOpcyBueW9tanVuayA8RVNDPi1ldCEKKworLS0tPiBFbm5layBhIHNvcm5hayBhIHbDqWdlIGtpaWdhesOtdMOhc3JhIHN6b3J1bCwgaG9neSBtZWdlZ3llenplbiBhIG3DoXNvZGlra2FsLgorLS0tPiBFbm5layBhIHNvcm5hayBhIHbDqWdlIGEgYyQgcGFyYW5jY3NhbCB2w6FsdG96dGF0aGF0w7MgbWVnLgorCisKKworfn5+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+CisJCQkgICAgICAgMy4gTEVDS0Ugw5ZTU1pFRk9HTEFMw5NKQQorCisKKyAgMS4gQSBtw6FyIHTDtnLDtmx0IHNvcnQgYmVpbGxlc3p0w6lzw6loZXogbnlvbWp1bmsgcC10LiBFeiBhIHTDtnLDtmx0IHN6w7Z2ZWdldAorICAgICBhIGt1cnpvciBVVMOBTiBoZWx5ZXppIChoYSBzb3Iga2Vyw7xsdCB0w7ZybMOpc3JlLCBhIGt1cnpvciBhbGxhdHRpIHNvcmJhKS4KKworICAyLiBBIGt1cnpvciBhbGF0dGkga2FyYWt0ZXIgw6F0w61yw6Fzw6Fob3ogYXogci1ldCDDqXMgYXp0IGEga2FyYWt0ZXJ0CisgICAgIG55b21qdWssIGFtZWxseWVsIGF6IGVyZWRldGl0IGZlbMO8bCBzemVyZXRuw6luayDDrXJuaS4KKworICAzLiBBIHbDoWx0b3p0YXTDoXMgKGMpIHV0YXPDrXTDoXMgYSBrYXJha3RlcnTFkWwgYXogb2JqZWt0dW0gdsOpZ8OpaWcKKyAgICAgdsOhbHRvenRhdGphIG1lZyBheiBvYmpla3R1bW90LiBQw6lsZMOhdWwgYSBjdyBhIGt1cnpvcnTDs2wgYSBzesOzIHbDqWfDqWlnLAorICAgICBhIGMkIGEgc29yIHbDqWfDqWlnLgorCisgIDQuIEEgdsOhbHRvenRhdMOhcyBmb3Jtw6F0dW1hOgorCisJIFtzesOhbV0gICBjCW9iamVrdHVtCVZBR1kJYyAgIFtzesOhbV0gICBvYmpla3R1bQorCitVZ29yanVuayBhIGvDtnZldGtlesWRIGxlY2vDqXJlIQorCisKKworfn5+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+CisJCSAgICAgNC4xLiAgbGVja2U6IEhFTFkgw4lTIEbDgUpMw4FMTEFQT1QKKworCisgKiogQ1RSTC1nIG1lZ255b23DoXPDoXZhbCBtZWduw6l6aGV0asO8ayBhIGhlbHnDvG5rZXQgYSBmw6FqbGJhbiDDqXMgYSBmw6FqbCDDoWxsYXBvdMOhdC4KKyAgICAgU0hJRlQtRyBsZcO8dMOpc8OpdmVsIGEgZsOhamwgYWRvdHQgc29yw6FyYSB1Z29yaGF0dW5rLiAqKgorCisgIE1lZ2o6IE9sdmFzc3VrIGVsIGF6IGVnw6lzeiBsZWNrw6l0IGEgbMOpcMOpc2VrIHbDqWdyZWhhanTDoXNhIGVsxZF0dCEhCisKKyAgMS4gVGFydHN1ayBueW9tdmEgYSBDdHJsIGdvbWJvdCDDqXMgbnlvbWp1bmsgIGctdC4gIEF6IMOhbGxhcG90c29yCisgICAgIG1lZ2plbGVuaWsgYSBsYXAgYWxqw6FuIGEgZsOhamxuw6l2dmVsIMOpcyBheiBha3R1w6FsaXMgc29yIHNvcnN6w6Ftw6F2YWwuCisgICAgIEplZ3llenrDvGsgbWVnIGEgc29yc3rDoW1vdCBhIDMuIGzDqXDDqXNoZXohCisKKyAgMi4gTnlvbWp1bmsgU2hpZnQtRy10IGEgbGFwIGFsasOhcmEgdWdyw6FzaG96IQorCisgIDMuIMOcc3PDvGsgYmUgYXogZXJlZGV0aSBzb3Igc3rDoW3DoXQsIG1hamQgw7xzc8O8bmsgc2hpZnQtRy10ISBFenplbAorICAgICB2aXNzemFqdXR1bmsgYXogZXJlZGV0aSBzb3JyYSBhaG9sIEN0cmwtZy10IG55b210dW5rLgorICAgICAoQSBiZcOtcnQgc3rDoW0gTkVNIGZvZyBtZWdqZWxlbm5pIGEga8OpcGVybnnFkW4uKQorCisgIDQuIEhhIG1lZ2plZ3llenRlIGEgZmVsYWRhdG90LCBoYWp0c2EgdsOpZ3JlIGF6IDEtMy4gbMOpcMOpc2VrZXQhCisKKworCit+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+fn4KKwkJCTQuMi4gIGxlY2tlOiBBIFNFQVJDSCBQQVJBTkNTCisKKworICAqKiAvIG1hamQgYSBrw612w6FudCBraWZlamV6w6lzIGJlw61yw6Fzw6F2YWwga2VyZXNoZXRqw7xrIG1lZyBhIGtpZmVqZXrDqXN0LiAqKgorCisgIDEuIE5vcm3DoWwgbcOzZGJhbiDDvHNzw7xuayAgLyAga2FyYWt0ZXJ0ISAgRXogw6lzIGEga3Vyem9yIG1lZ2plbGVuaWsKKyAgICAgYSBrw6lwZXJuecWRIGFsasOhbiwgYWhvZ3kgYSA6IHV0YXPDrXTDoXMgaXMuCisKKyAgMi4gw41yanVrIGJlOiAnaGlpYmFhJyA8RU5URVI+ISAgRXogYXogYSBzesOzIGFtaXQga2VyZXPDvG5rLgorCisgIDMuIEEga2lmZWplesOpcyDDumphYmIga2VyZXPDqXPDqWhleiDDvHNzw7xrIGxlIGVneXN6ZXLFsWVuOiAgbiAuCisgICAgIEEga2lmZWplesOpcyBlbGxlbmtlesWRIGlyw6FueWJhbiB0w7ZydMOpbsWRIGtlcmVzw6lzw6loZXogZXp0IMO8c3PDvGsgYmU6IFNoaWZ0LU4gLgorCisgIDQuIEhhIHZpc3N6YWZlbMOpIHN6ZXJldG5lIGtlcmVzbmksIGFra29yID8ga2VsbCBhICEgaGVseWV0dC4KKworLS0tPiAiaGlpYmFhIiBuZW0gYSBoZWx5ZXMgbcOzZGphIGEgaGliYSBsZcOtcsOhc8OhbmFrOyBhIGhpaWJhYSBlZ3kgaGliYS4KKworTWVnajogSGEgYSBrZXJlc8OpcyBlbMOpcmkgYSBmw6FqbCB2w6lnw6l0LCBha2tvciBheiBlbGVqw6luIGtlemRpLgorCisKK35+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+fgorCQkgICA0LjMuICBsZWNrZTogWsOBUsOTSkVMRUsgUMOBUkrDgU5BSyBLRVJFU8OJU0UKKworCisJICAgKiogJSBsZcO8dMOpc8OpdmVsIG1lZ3RhbMOhbGp1ayBhICksXSwgdmFneSB9ICBww6FyasOhdC4gKioKKworICAxLiBIZWx5ZXp6ZSBhIGt1cnpvcnQgdmFsYW1lbHlpayAoLCBbLCB2YWd5IHsgesOhcsOzamVscmUgYSAtLS0+IGtlemRldMWxCisgICAgIHNvcmJhbiEKKworICAyLiDDnHNzw7ZuICAlICBrYXJha3RlcnQhCisKKyAgMy4gQSBrdXJ6b3IgYSB6w6Fyw7NqZWwgcMOhcmrDoXJhIGZvZyB1Z3JhbmkuCisKKyAgNC4gJSBsZcO8dMOpc8OpdmVsIHZpc3N6YXVncmlrIGF6IGVyZWRldGkgesOhcsOzamVscmUuCisKKy0tLT4gRXogKCBlZ3kgdGVzenRzb3IgKC1la2tlbCwgWy1la2tlbCBdIMOpcyB7LWVra2VsIH0gYSBzb3JiYW4uICkpCisKK01lZ2o6IEV6IG5hZ3lvbiBoYXN6bm9zLCBoYSBvbHlhbiBwcm9ncmFtb3QgZGVidWdvbHVuaywgYW1lbHliZW4gYQorICAgICAgesOhcsOzamVsZWsgbmVtIHDDoXJvc2FrIQorCisKKworCit+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+fn4KKwkJICAgICAgNC40LiAgbGVja2U6IEEgSElCw4FLIEtJSkFWw41Uw4FTw4FOQUsgRUdZIE3Dk0RKQQorCisKKyAgICAqKiA6cy/DumovcsOpZ2kvZyBiZWfDqXBlbMOpc8OpdmVsIGF6ICfDumonLXJhIGNzZXLDqWxqw7xrIGEgJ3LDqWdpJy10LiAqKgorCisgIDEuIE1lbmrDvG5rIGEgLS0tPiBrZXpkZXTFsSBzb3JyYSEKKworICAyLiDDjXJqdWsgYmU6ICA6cy9lZ2d5L2VneSA8RU5URVI+IC4gIEVra29yIGNzYWsgYXogZWxzxZEgdsOhbHRvemlrIG1lZyBhCisgICAgIHNvcmJhbi4KKworICAzLiBNb3N0IGV6dCDDrXJqdWs6CSA6cy9lZ2d5L2VnZy9nCSAgIGFtZWx5IGdsb2LDoWxpc2FuIGhlbHlldHRlc8OtdAorICAgICBhIHNvcmJhbi4KKyAgICAgRXogYSBzb3JiYW4gbWluZGVuIGVsxZFmb3JkdWzDoXN0IGhlbHlldHRlc8OtdC4KKworLS0tPiBlZ2d5IGhlZ3kgbWVnZ3ksIHN6ZW1iZSBqw7ZuIGVnZ3kgbcOhc2lrIGhlZ2d5LgorCisgIDQuIEvDqXQgc29yIGvDtnrDtnR0IGEga2FyYWt0ZXJzb3IgbWluZGVuIGVsxZFmb3JkdWzDoXPDoW5hayBoZWx5ZXR0ZXPDrXTDqXNlOgorICAgICA6Iywjcy9yw6lnaS/DumovZyAgICBhaG9sICMsIyBhIGvDqXQgc29yIHNvcnN6w6FtYS4KKyAgICAgOiVzL3LDqWdpL8O6ai9nICAgICAgYSBmw6FqbGJlbGkgw7Zzc3plcyBlbMWRZm9yZHVsw6FzIGhlbHlldHRlc8OtdMOpc2UuCisKKworCisKK35+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+fgorCQkJICAgICAgIDQuIExFQ0tFIMOWU1NaRUZPR0xBTMOTSkEKKworCisgIDEuIEN0cmwtZyAga2nDrXJqYSBheiBrdXJ6b3IgaGVsecOpdCBhIGbDoWpsYmFuIMOpcyBhIGbDoWpsIMOhbGxhcG90w6F0LgorICAgICBTaGlmdC1HIGEgZsOhamwgdsOpZ8OpcmUgbWVneSwgZ2cgYXogZWxlasOpcmUuIEVneSBzesOhbSB1dMOhbgorICAgICBTaGlmdC1HICBheiBhZG90dCBzesOhbcO6IHNvcnJhIHVncmlrLgorCisgIDIuIC8JdXTDoW4gZWd5IGtpZmVqZXrDqXMgRUzFkFJFRkVMRSBrZXJlc2kgYSBraWZlamV6w6lzdC4KKyAgMi4gPwl1dMOhbiBlZ3kga2lmZWplesOpcyBWSVNTWkFGRUxFIGtlcmVzaSBhIGtpZmVqZXrDqXN0LgorICAgICBFZ3kga2VyZXPDqXMgdXTDoW4gYXogIG4gIGEga8O2dmV0a2V6xZEgZWzFkWZvcmR1bMOhc3Qga2VyZXNpIGF6b25vcyBpcsOhbnliYW4KKyAgICAgU2hpZnQtTiAgYXogZWxsZW5rZXrFkSBpcsOhbnliYW4ga2VyZXMuCisKKyAgMy4gJQliZWfDqXBlbMOpc8OpdmVsLCBoYSAgKCwpLFssXSx7LCB2YWd5IH0ga2FyYWt0ZXJlbiB2YWd5dW5rIGEgesOhcsOzamVsCisgICAgIHDDoXJqw6FyYSB1Z3Jpay4KKworICA0LiBheiBlbHPFkSByw6lnaSBoZWx5ZXR0ZXPDrXTDqXNlIMO6amphbCBhIHNvcmJhbiAgICA6cy9yw6lnaS/DumoKKyAgICAgYXogw7Zzc3plcyByw6lnaSBoZWx5ZXR0ZXPDrXTDqXNlIMO6amphbCBhIHNvcmJhbiAgOnMvcsOpZ2kvw7pqL2cKKyAgICAga8OpdCBzb3Iga8O2esO2dHRpIGtpZmVqZXrDqXNla3JlCQkgICA6Iywjcy9yw6lnaS/DumovZworICAgICAjIGhlbHnDqW4gYXogYWt0dcOhbGlzIHNvciAoLikgw6lzIGF6IHV0b2xzw7MgKCQpIGlzIMOhbGxoYXQgOi4sJC9yw6lnaS/DumovZworICAgICBBIGbDoWpsYmVsaSDDtnNzemVzIGVsxZFmb3JkdWzDoXMgaGVseWV0dGVzw610w6lzZSAgOiVzL3LDqWdpL8O6ai9nCisgICAgIE1pbmRlbmtvcmkgbWVnZXLFkXPDrXTDqXNyZSB2w6FyICdjJyBoYXTDoXPDoXJhCSAgIDolcy9yw6lnaS/DumovZ2MKKworCit+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+fn4KKwkJNS4xLiAgbGVja2U6IEvDnExTxZAgUEFSQU5DUyBWw4lHUkVIQUpUw4FTQQorCisKKyAgICoqIDohICB1dMOhbiBrw7xsc8WRIHBhcmFuY3NvdCDDrXJ2YSB2w6lncmVoYWp0w7NkaWsgYSBwYXJhbmNzLiAqKgorCisgIDEuIMONcmp1ayBiZSBheiBpc21lcsWRcyA6IHBhcmFuY3NvdCwgaG9neSBhIGt1cnpvcnQgYSAga8OpcGVybnnFkSBhbGrDoXJhCisgICAgIGhlbHllenrDvGsuIEV6IGxlaGV0xZF2w6kgdGVzemkgZWd5IHBhcmFuY3MgYmXDrXLDoXPDoXQuCisKKyAgMi4gISAoZmVsa2nDoWx0w7NqZWwpIGJlw61yw6Fzw6F2YWwgdGVnecO8ayBsZWhldMWRdsOpIGvDvGxzxZEgaMOpaiAoc2hlbGwpLXBhcmFuY3MKKyAgICAgdsOpZ3JlaGFqdMOhc8OhdC4KKworICAzLiDDjXJqdW5rIHDDqWxkw6F1bCBscyBwYXJhbmNzb3QgYSAhIHV0w6FuIG1hamQgw7xzc8O8bmsgPEVOVEVSPi10LiAgRXoga2kKKyAgICAgZm9namEgbGlzdMOhem5pIGEga8O2bnl2dMOhcnVua2F0IHVneWFuw7pneSwgbWludGhhIGEgc2hlbGwgcHJvbXB0bsOhbAorICAgICBsZW5uw6luay4gIFZhZ3kgw61yamEgZXp0ICA6IWRpciAgaGEgYXogbHMgbmVtIG3FsWvDtmRpay4KKworTWVnajogIElseW3Ds2RvbiBiw6FybWVseSBrw7xsc8WRIHV0YXPDrXTDoXMgdsOpZ3JlaGFqdGhhdMOzLgorCitNZWdqOiAgTWluZGVuICA6ICBwYXJhbmNzIHV0w6FuIDxFTlRFUj4tdCBrZWxsIMO8dG5pLgorCisKKworCit+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+fn4KKwkJICAgICAgNS4yLiAgbGVja2U6IELFkFZFQkJFTiBBIEbDgUpMT0sgw41Sw4FTw4FSw5NMCisKKworICAgICAqKiBBIGbDoWpsb2sgdsOhbHRvesOhc2FpdCDDrWd5IMOtcmhhdGp1ayBraSAgOncgRsOBSkxOw4lWLiAqKgorCisgIDEuIDohZGlyICB2YWd5ICA6IWxzICBiZcOtcsOhc8OhdmFsIGxpc3TDoXp6dWsgYSBrw7ZueXZ0w6FydW5rYXQhCisgICAgIMOWbiBtw6FyIHR1ZGphLCBob2d5IDxFTlRFUj4tdCBrZWxsIMO8dG5pZSB1dMOhbmEuCisKKyAgMi4gVsOhbGFzc3pvbiBlZ3kgZsOhamxuZXZldCwgYW1lbHkgbcOpZyBuZW0gbMOpdGV6aWsgcGwuIFRFU1pUIQorCisgIDMuIMONcmphOgk6dyBURVNaVCAgIChhaG9sIFRFU1pUIGEgdsOhbGFzenRvdHQgZsOhamxuw6l2KSEKKworICA0LiBFeiBlbG1lbnRpIGEgdGVsamVzIGbDoWpsdCAoYSBWaW0gVHV0b3J0KSBURVNaVCBuw6l2ZW4uCisgICAgIEVsbGVuxZFyesOpc2vDqXBwIMOtcmp1ayBpc23DqXQgICAgOiFkaXIgICBob2d5IGzDoXNzdWsgYSBrw7ZueXZ0w6FyYXQhCisgICAgIChGZWxmZWzDqSBnb21iYmFsIDogdXTDoW4gYXogZWzFkXrFkSB1dGFzw610w6Fzb2sgdmlzc3phaG96aGF0w7Nhay4pCisKK01lZ2o6IEhhIMOWbiBraWzDqXBuZSBhIFZpbWLFkWwgw6lzIMOpcyB2aXNzemF0w6lybmUgYSBURVNaVCBmw6FqbG7DqXZ2ZWwsIGFra29yIGEKKyAgICAgIGbDoWpsIGEgdHV0b3IgbWVudMOpc2tvcmkgcG9udG9zIG3DoXNvbGF0YSBsZW5uZS4KKworICA1LiBUw6F2b2zDrXRzYSBlbCBhIGbDoWpsdCAgKE1TLURPUyk6CTohZGVsIFRFU1pUCisJCQl2YWd5IChVbml4KToJOiFybSBURVNaVAorCisKK35+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+fgorCQkgICAgNS4zLiAgbGVja2U6IEVHWSBLSVbDgUxBU1pUT1RUIFLDiVNaIEtJw41Sw4FTQQorCisKKwkqKiBBIGbDoWpsIGVneSByw6lzesOpbmVrIGtpw61yw6Fzw6Fob3ogw61yamEgOiMsIyB3IEbDgUpMTsOJViAqKgorCisgIDEuIDohZGlyICB2YWd5IDohbHMgIGJlw61yw6Fzw6F2YWwgbGlzdMOhenphIGEga8O2bnl2dMOhcmF0LCDDqXMgdsOhbGFzc3pvbiBlZ3kKKyAgICAgbWVnZmVsZWzFkSBmw6FqbG5ldmV0LCBwbC4gVEVTWlQuCisKKyAgMi4gTW96Z2Fzc2EgYSBrdXJ6b3J0IGVubmVrIGF6IG9sZGFsbmFrIGEgdGV0ZWrDqXJlLCDDqXMgbnlvbWpvbgorICAgICBDdHJsLWctdCwgaG9neSBtZWd0dWRqYSBhIHNvcnN6w6Ftb3QuICBKRUdZRVpaRSBNRUcgQSBTWsOBTU9UIQorCisgIDMuIE1vc3QgbWVuamVuIGEgbGFwIGFsasOhcmEsIMOpcyDDvHNzZSBiZSBpc23DqXQ6IEN0cmwtZy4gIEVaVCBBIFNaw4FNT1QKKyAgICAgSVMgSkVHWUVaWkUgTUVHIQorCisgIDQuIEhhIGNzYWsgZXp0IGEgcsOpc3rDqXQgc3plcmV0bsOpIG1lbnRlbmkgYSBmw6FqbG5haywgw61yamEgICA6IywjIHcgVEVTWlQKKyAgICAgYWhvbCAjLCMgYSBrw6l0IHNvcnN6w6FtLCBhbWl0IG1lZ2plZ3l6ZXR0LCBURVNaVCBheiDDlm4gZsOhamxuZXZlLgorCisgIDUuIElzbcOpdCBuw6l6emUgbWVnLCBob2d5IGEgZsOhamwgb3R0IHZhbiAoOiFkaXIpIGRlIE5FIHTDtnLDtmxqZS4KKworICA2LiBWaW1iZW4gbMOpdGV6aWsgZWd5IG3DoXNpayBsZWhldMWRc8OpZzogbnlvbWphIG1lZyBhIFNoaWZ0LVYgZ29tYnDDoXJ0CisgICAgIGF6IGVsc8WRIG1lbnRlbmkga8OtdsOhbnQgc29yb24sIG1hamQgbWVuamVuIGxlIGF6IHV0b2xzw7NyYSwgZXp1dMOhbgorICAgICDDrXJqYSA6dyBURVNaVDIgICBFa2tvciBhIFRFU1pUMiBmw6FqbGJhIGtlcsO8bCBhIGtpamVsw7ZsdCByw6lzei4KKworCit+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+fn4KKwkJICAgNS40LiAgbGVja2U6IFJFVFJJRVZJTkcgQU5EIE1FUkdJTkcgRklMRVMKKworCisgICAgICAgKiogRWd5IGbDoWpsIHRhcnRhbG3DoW5hayBiZWlsbGVzenTDqXPDqWhleiDDrXJqYSAgIDpyIEbDgUpMTsOJViAqKgorCisgIDEuIDohZGlyIGJlw61yw6Fzw6F2YWwgbsOpenplIG1lZywgaG9neSBheiDDlm4gVEVTWlQgZsOhamxqYSBsw6l0ZXppayBtw6lnLgorCisgIDIuIEhlbHllenplIGEga3Vyem9ydCBlbm5layBheiBvbGRhbG5hayBhIHRldGVqw6lyZS4KKworTUVHSjogIEEgMy4gbMOpcMOpcyB1dMOhbiBheiA1LjMuIGxlY2vDqXQgZm9namEgbMOhdG5pLiBBenV0w6FuIExFRkVMw4kgaW5kdWx2YQorICAgICAgIGtlcmVzc2UgbWVnIGlzbcOpdCBlenQgYSBsZWNrw6l0LgorCisgIDMuIE1vc3Qgc3rDunJqYSBiZSBhIFRFU1pUIG5ldsWxIGbDoWpsdCBhICAgOnIgVEVTWlQgICBwYXJhbmNjc2FsLCBhaG9sCisgICAgIFRFU1pUIGF6IMOWbiBmw6FqbGrDqW5hayBhIG5ldmUuCisKK01FR0o6ICBBIGbDoWpsLCBhbWl0IGJlaWxsZXN6dGV0dCBhIGt1cnpvcmEgYWxhdHQgaGVseWV6a2VkaWsgZWwuCisKKyAgNC4gSG9neSBlbGxlbsWRcml6esO8aywgaG9neSBhIGbDoWpsdCB0w6lueWxlZyBiZWlsbHN6dGV0dMO8aywgbWVuamVuCisgICAgIHZpc3N6YSwgw6lzIG7DqXp6ZSBtZWcsIGhvZ3kga8OpdHN6ZXIgc3plcmVwZWwgYXogNS4zLiBsZWNrZSEgQXogZXJlZGV0aQorICAgICBtZWxsZXR0IGEgZsOhamxiw7NsIGJlbcOhc29sdCBpcyBvdHQgdmFuLgorCisKKworfn5+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+CisJCQkgICAgICAgNS4gTEVDS0Ugw5ZTU1pFRk9HTEFMw5NKQQorCisKKyAgMS4gIDohcGFyYW5jcyB2w6lncmVoYWp0IGVneSBrw7xsc8WRIHV0YXPDrXTDoXN0LgorCisgICAgICBQw6FyIGhhc3pub3MgcMOpbGRhOgorCSAoTVMtRE9TKQkgIChVbml4KQorCSAgOiFkaXIJCSAgIDohbHMJCSAgIC0gIGvDtm55dnTDoXJsaXN0YSBracOtcsOhc2EuCisJICA6IWRlbCBGw4FKTE7DiVYgICAgOiFybSBGw4FKTE7DiVYgICAgLSAgRsOBSkxOw4lWIG5ldsWxIGbDoWpsIHTDtnJsw6lzZS4KKworICAyLiAgOncgRsOBSkxOw4lWICBracOtcmphIGEgamVsZW5sZWdpIFZpbS1mw6FqbHQgYSBsZW1lenJlIEbDgUpOw4lWIG7DqXZlbi4KKworICAzLiAgOiMsI3cgRsOBSkxOw4lWICBracOtcmphIGEga8OpdCBzb3JzesOhbSAoIykga8O2esO2dHRpIHNvcm9rYXQgRsOBSkxOw4lWLWJlCisgICAgICBNw6FzaWsgbGVoZXTFkXPDqWcsIGhvZ3kgYSBrZXpkxZFzb3Juw6FsIEN0cmwtdi10IG55b20gbGVtZWd5IGF6IHV0b2xzw7MKKyAgICAgIHNvcnJhLCBtYWpkIGV6dCDDvHRpIGJlICA6dyBGw4FKTE7DiVYKKworICA0LiAgOnIgRsOBSkxOw4lWICBiZW9sdmFzc2EgYSBGw4FKTE7DiVYgZsOhamx0IMOpcyBiZWhlbHllemkgYSBqZWxlbmxlZ2kgZsOhamxiYQorICAgICAgYSBrdXJ6b3Jwb3ppY2nDsyB1dMOhbmkgc29yYmEuCisKKworCisKK35+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+fgorCQkJIDYuMS4gIGxlY2tlOiBBIE9QRU4gUEFSQU5DUworCisKKyoqIG8gIGJlw61yw6Fzw6F2YWwgbnlpdGhhdCBlZ3kgw7pqIHNvcnQgYSBrdXJ6b3IgYWxhdHQgw6lzIHbDoWx0aGF0IGJlc3rDunLDsyBtw7NkYmEgKioKKworICAxLiBNb3pnYXNzdWsgYSBrdXJ6b3J0IGEgLS0tPiBrZXpkZXTFsSBzb3JyYS4KKworICAyLiBvIChraWNzaSkgIGJlw61yw6Fzw6F2YWwgbnlpc3NvbiBlZ3kgc29ydCBhIGt1cnpvciBBTEFUVCEgRWtrb3IKKyAgICAgYXV0b21hdGlrdXNhbiBiZXN6w7pyw7MgKGluc2VydCkgbcOzZGJhIGtlcsO8bC4KKworICAzLiBNw6Fzb2xqYSBsZSBhICAtLS0+IGplbMWxIHNvcnQgw6lzIDxFU0M+IG1lZ255b23DoXPDoXZhbCBsw6lwamVuIGtpCisgICAgIGEgYmVzesO6csOzIG3Ds2Riw7NsLgorCistLS0+IEF6IG8gbGVueW9tw6FzYSB1dMOhbiBhIGt1cnpvciBhIGvDtnZldGtlesWRIHNvciBlbGVqw6luIMOhbGwgYmVzesO6csOzIG3Ds2RiYW4uCisKKyAgNC4gQSBrdXJ6b3IgRkVMRVRUSSBmb3IgbWVnbnlpdMOhc8OhaG96IGVneXpzZXLFsWVuIGEgbmFneSBPIGJldMWxdCDDrXJqb24KK2tpY3NpIGhlbHlldHQuIFByw7Niw6FsamEga2kgYSBrw7Z2ZXRrZXrFkSBzb3JvbiEKK055aXNzb24gZWd5IMO6aiBzb3J0IGVmZWxldHQgU2hpZnQtTyBtZWdueW9tw6Fzw6F2YWwsIG1pYWxhdHQgYSBrdXJ6b3IKK2V6ZW4gYSBzb3JvbiDDoWxsLgorCisKKworCisKK35+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+fgorCQkJNi4yLiAgbGVja2U6IEFaIEFQUEVORCBQQVJBTkNTCisKKworCSAqKiBhICBsZW55b23DoXPDoXZhbCBhIGt1cm9yIFVUw4FOIHN6w7pyaGF0dW5rIHN6w7Z2ZWdldC4gKioKKworICAxLiBNb3pnYXNzdWsgYSBrdXJ6b3J0IGEga8O2dmV0a2V6xZEgLS0tPiBrZXpkZXTFsSBzb3IgdsOpZ8OpcmUgw7pneSwKKyAgICAgaG9neSBub3Jtw6FsIG3Ds2RiYW4gICQgIMOtciBiZS4KKworICAyLiBhICAoa2ljc2kpIGxlw7x0w6lzw6l2ZWwgc3rDtnZlZ2V0IHN6w7pyaGF0IGJlIEFNw7ZHw4kgYSBrYXJha3RlciBtw7Znw6ksCisgICAgIGFtZWx5ZW4gYSBrdXJ6b3Igw6FsbC4KKyAgICAgKEEgbmFneSAgQSAgYXogZWfDqXN6IHNvciB2w6lnw6lyZSDDrXJqYSBhIHN6w7Z2ZWdldC4pCisKK01lZ2o6IEEgVmltYmVuIGEgc29yIGxlZ3bDqWfDqXJlIGlzIGxlaGV0IMOhbGxuaSwgYXpvbmJhIGV6IGVsxZFkasOpYmVuCisgICAgICBhIFZpLWJhbiBuZW0gbGVoZXRzw6lnZXMsIGV6w6lydCBhYmJhbiBheiBhIG7DqWxrw7xsIGVsw6lnIGvDtnLDvGxtw6lueWVzCisgICAgICBhIHNvciB2w6lnw6loZXogc3rDtnZlZ2V0IMOtcm5pLgorCisgIDMuIEVnw6lzesOtdHNlIGtpIGF6IGVsc8WRIHNvcnQuIFZlZ3llIMOpc3pyZSwgaG9neSBheiBhIHV0YXPDrXTDoXMgKGFwcGVuZCkKKyAgICAgdGVsamVzZW4gZWd5ZXppayBheiBpLXZlbCAoaW5zZXJ0KSBjc3Vww6FuIGEgYmVzesO6cnQgc3rDtnZlZyBoZWx5ZQorICAgICBrw7xsw7ZuYsO2emlrLgorCistLS0+IEV6IGEgc29yIGxlaGV0xZF2w6kgdGVzemkgw5ZubmVrLCBob2d5IGd5YWtvcm9samEKKy0tLT4gRXogYSBzb3IgbGVoZXTFkXbDqSB0ZXN6aSDDlm5uZWssIGhvZ3kgZ3lha29yb2xqYSBhIHNvciB2w6lnw6lyZSBiZWlsbGVzenTDqXN0LgorCisKKworfn5+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+CisJCSAgICA2LjMuICBsZWNrZTogQVogw4FUw41Sw4FTIE3DgVNJSyBWw4FMVE9aQVRBCisKKworICAgICAgKiogTmFneSBSICBiZcOtcsOhc8OhdmFsIMOtcmhhdCBmZWzDvGwgdMO2YmIgbWludCBlZ3kga2FyYWt0ZXJ0LiAqKgorCisgIDEuIE1vemdhc3N1ayBhIGt1cnpvcnQgYXogZWxzxZEgLS0tPiBrZXpkZXTFsSBzb3JyYSEKKworICAyLiBQbGFjZSB0aGUgY3Vyc29yIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpcnN0IHdvcmQgdGhhdCBpcyBkaWZmZXJlbnQKKyAgICAgZnJvbSB0aGUgc2Vjb25kIGxpbmUgbWFya2VkIC0tLT4gKHRoZSB3b3JkICdsYXN0JykuCisKKyAgMy4gTm93IHR5cGUgIFIgIGFuZCByZXBsYWNlIHRoZSByZW1haW5kZXIgb2YgdGhlIHRleHQgb24gdGhlIGZpcnN0IGxpbmUgYnkKKyAgICAgdHlwaW5nIG92ZXIgdGhlIG9sZCB0ZXh0IHRvIG1ha2UgdGhlIGZpcnN0IGxpbmUgdGhlIHNhbWUgYXMgdGhlIHNlY29uZC4KKworLS0tPiBUbyBtYWtlIHRoZSBmaXJzdCBsaW5lIHRoZSBzYW1lIGFzIHRoZSBsYXN0IG9uIHRoaXMgcGFnZSB1c2UgdGhlIGtleXMuCistLS0+IFRvIG1ha2UgdGhlIGZpcnN0IGxpbmUgdGhlIHNhbWUgYXMgdGhlIHNlY29uZCwgdHlwZSBSIGFuZCB0aGUgbmV3IHRleHQuCisKKyAgNC4gTm90ZSB0aGF0IHdoZW4geW91IHByZXNzIDxFU0M+IHRvIGV4aXQsIGFueSB1bmFsdGVyZWQgdGV4dCByZW1haW5zLgorCisKKworCisKK35+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+fgorCQkJICAgIDYuNC4gIGxlY2tlOiBCRcOBTEzDjVTDgVNPSworCisqKiDDgWxsw610c3VrIGJlLCBob2d5IGEga2VyZXPDqXMgw6lzIGEgaGVseWV0dGVzw610w6lzIG5lIGbDvGdnasO2biBraXMvTkFHWWJldMWxa3TFkWwgKioKKworICAxLiBLZXJlc3PDvGsgbWVnIGF6ICdpZ25vcmUnLXQgYXogYmXDrXJ2YToKKyAgICAgL2lnbm9yZQorICAgICBFenQgaXNtw6l0ZWxqw7xrIHTDtmJic3rDtnIgYXogbiBiaWxsZW50ecWxdmVsCisKKyAgMi4gw4FsbMOtdHN1ayBiZSBheiAnaWMnIChJZ25vcmUgY2FzZSkgbGVoZXTFkXPDqWdldCDDrWd5OgorICAgICA6c2V0IGljCisKKyAgMy4gTW9zdCBrZXJlc3PDvG5rIGlzbcOpdCBheiAnaWdub3JlJy1yYSBuLW5lbAorICAgICBJc23DqXRlbGrDvGsgbWVnIHTDtmJic3rDtnIgYSBrZXJlc8Opc3Q6IG4KKworICA0LiDDgWxsw610c3VrIGJlIGEgJ2hsc2VhcmNoJyDDqXMgJ2luY3NlYXJjaCcgbGVoZXTFkXPDqWdla2V0OgorICAgICA6c2V0IGhscyBpcworCisgIDUuIE1vc3QgaXNtw6l0IMOtcmp1ayBiZSBhIGtlcmVzxZFwYXJhbmNzb3QsIMOpcyBsw6Fzc3VrIG1pIHTDtnJ0w6luaWs6CisgICAgIC9pZ25vcmUKKworICA2LiBBIGtpZW1lbMOpc3Qgc3rDvG50ZXNzw7xrIG1lZyBhbMOhYmJpIHV0YXPDrXTDoXNvayBlZ3lpa8OpdmVsOgorICAgICA6c2V0IG5vaGxzICAgICB2YWd5CSA6bm9obHNlYXJjaAorfn5+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+CisJCQkgICAgICAgNi4gTEVDS0Ugw5ZTU1pFRk9HTEFMw5NKQQorCisKKyAgMS4gVHlwaW5nICBvCW9wZW5zIGEgbGluZSBCRUxPVyB0aGUgY3Vyc29yIGFuZCBwbGFjZXMgdGhlIGN1cnNvciBvbiB0aGUgb3BlbgorICAgICBsaW5lIGluIEluc2VydCBtb2RlLgorICAgICBUeXBpbmcgYSBjYXBpdGFsICBPICBvcGVucyB0aGUgbGluZSBBQk9WRSB0aGUgbGluZSB0aGUgY3Vyc29yIGlzIG9uLgorCisgIDIuIFR5cGUgYW4gIGEgIHRvIGluc2VydCB0ZXh0IEFGVEVSIHRoZSBjaGFyYWN0ZXIgdGhlIGN1cnNvciBpcyBvbi4KKyAgICAgVHlwaW5nIGEgY2FwaXRhbCAgQSAgYXV0b21hdGljYWxseSBhcHBlbmRzIHRleHQgdG8gdGhlIGVuZCBvZiB0aGUgbGluZS4KKworICAzLiBUeXBpbmcgYSBjYXBpdGFsICBSICBlbnRlcnMgUmVwbGFjZSBtb2RlIHVudGlsICA8RVNDPiAgaXMgcHJlc3NlZCB0byBleGl0LgorCisgIDQuIFR5cGluZyAiOnNldCB4eHgiIHNldHMgdGhlIG9wdGlvbiAieHh4IgorCisKKworCisKKworCisKKworfn5+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+CisJCSAgICAgICA3LiBsZWNrZTogT04tTElORSBIRUxQIFBBUkFOQ1NPSworCisKKwkJICAgICoqIEF6IG9ubGluZSBzw7pnw7NyZW5kc3plciBoYXN6bsOhbGF0YSAqKgorCisgIEEgVmltIHLDqXN6bGV0ZXMgc8O6Z8OzdmFsIHJlbmRlbGtlemlrLiAgSW5kdWzDoXNob3ogYSBrw7Z2ZXRrZXrFkWsgZWd5aWvDqXQKKyAgdGVneWU6CisJLSBueW9tamEgbWVnIGEgPEhFTFA+IGdvbWJvdCAoaGEgdmFuIGlseWVuKQorCS0gbnlvbWphIG1lZyBheiA8RjE+IGdvbWJvdCAoaGEgdmFuIGlseWVuKQorCS0gw61yamEgYmU6ICAgOmhlbHAgPEVOVEVSPgorCisgIDpxIDxFTlRFUj4gICBiZcOtcsOhc8OhdmFsIHrDoXJoYXRqYSBiZSBhIHPDumfDs2FibGFrb3QuCisKKyAgTWFqZG5lbSBtaW5kZW4gdMOpbWFrw7ZycsWRbCB0YWzDoWxoYXQgc8O6Z8OzdCwgYXJndW1lbnR1bSBtZWdhZMOhc8OhdmFsCisgICI6aGVscCIgdXRhc8OtdMOhcyAuICBQcsOzYsOhbGphIGF6IGFsw6FiYmlha2F0IGtpICg8RU5URVI+LXQgbmUgZmVsZWp0c8O8ayk6CisKKwk6aGVscCB3CisJOmhlbHAgY188VAorCTpoZWxwIGluc2VydC1pbmRleAorCTpoZWxwIHVzZXItbWFudWFsCisKKworfn5+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+CisJCSAgICAgICA4LiBsZWNrZTogSU5Ew41Uw5NTWktSSVBUIMONUsOBU0EKKworCQkgICAgICoqIEEgVmltIGxlaGV0xZFzw6lnZWluZWsgYmXDoWxsw610w6FzYSAqKgorCisgIEEgVmltIHJlbmdldGVnIGxlaGV0xZFzw6lnZ2VsIHJlbmRlbGtlemlrIGEgVmktaG96IGvDqXBlc3QsIGRlIGEgbGVndMO2YmIKKyAgYWxhcGLDs2wgZWzDqXJoZXRldGxlbi4gQWhob3osIGhvZ3kgYWxhcGLDs2wgdMO2YmIgbGVoZXTFkXPDqWfDvG5rIGxlZ3llbiBrw6lzesOtdGVuw7xuaworICBrZWxsIGVneSAidmltcmMiIGbDoWpsdC4KKworICAxLiBLZXpkasO8ayBlbCBzemVya2VzenRlbmkgYSAidmltcmMiIGbDoWpsdCwgZW5uZWsgbcOzZGphOgorCTplZGl0IH4vLnZpbXJjCQkJVW5peG9uLCBMaW51eG9uCisJOmVkaXQgJFZJTS9fdmltcmMJCU1TLVdpbmRvd3NvbgorCisgIDIuIE1vc3Qgc3rDunJqdWsgYmUgYSBww6lsZGEgInZpbXJjIiBmw6FqbCBzesO2dmVnw6l0OgorCisJOnJlYWQgJFZJTVJVTlRJTUUvdmltcmNfZXhhbXBsZS52aW0KKworICAzLiDDjXJqdWsga2kgYSBmw6FqbHQ6CisKKwk6d3JpdGUKKworICBMZWdrw7Z6ZWxlYmIgYSBWaW0gc3ppbnRheGlza2llbWVsw6lzc2VsIGluZHVsLgorICBIb3p6w6FhZGhhdGphIGtlZHZlbmMgYmXDoWxsw610w6FzYWl0IGVoaGV6IGEgInZpbXJjIiBmw6FqbGhvei4KKworfn5+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+CisKKyAgSXR0IHbDqWd6xZFkaWsgYSBWaW0gb2t0YXTDsywgbWVseW5layBhIHN6w6FuZMOpa2EgZWd5IHLDtnZpZCDDoXR0ZWtpbnTDqXMgYQorICBWaW1yxZFsLCBhbWVseSBlbMOpZyBhaGhveiwgaG9neSBlbMOpZyBrw7ZubnllZMOpbiBrZXplbGrDvGsgYSBzemVya2VzenTFkXQuCisgIFTDoXZvbCB2YW4gYSB0ZWxqZXNzw6lndMWRbCwgbWl2ZWwgYSBWaW1uZWsgc3rDoW10YWxhbiB0b3bDoWJiaSB1dGFzw610w6FzYQorICB2YW4uIEV6dXTDoW4gYSBmZWxoYXN6bsOhbMOzaSBrw6l6aWvDtm55dmV0IMOpcmRlbWVzIGVsb2x2YXNuaSBheiBhbmdvbHVsCisgIHR1ZMOza25hazogIjpoZWxwIHVzZXItbWFudWFsIi4gKGVneWVsxZFyZSBuZW0gdHVkIG1hZ3lhcnVsKQorCisgIFRvdsOhYmJpIG1hZ3lhciBvbHZhc25pdmFsw7NrIMOpcmhldMWRZWsgZWwgYXogYWzDoWJiaSBvbGRhbHLDs2wuCisgIGh0dHA6Ly91YnVudHUuaHUvaW5kZXgucGhwP3RpdGxlPVZpbQorCisgIEZvciBmdXJ0aGVyIHJlYWRpbmcgYW5kIHN0dWR5aW5nLCB0aGlzIGJvb2sgaXMgcmVjb21tZW5kZWQ6CisJVmltIC0gVmkgSW1wcm92ZWQgLSBieSBTdGV2ZSBPdWFsbGluZQorCVB1Ymxpc2hlcjogTmV3IFJpZGVycworICBUaGUgZmlyc3QgYm9vayBjb21wbGV0ZWx5IGRlZGljYXRlZCB0byBWaW0uICBFc3BlY2lhbGx5IHVzZWZ1bCBmb3IgYmVnaW5uZXJzLgorICBUaGVyZSBhcmUgbWFueSBleGFtcGxlcyBhbmQgcGljdHVyZXMuCisgIFNlZSBodHRwOi8vaWNjZi1ob2xsYW5kLm9yZy9jbGljazUuaHRtbAorCisgIFRoaXMgYm9vayBpcyBvbGRlciBhbmQgbW9yZSBhYm91dCBWaSB0aGFuIFZpbSwgYnV0IGFsc28gcmVjb21tZW5kZWQ6CisJTGVhcm5pbmcgdGhlIFZpIEVkaXRvciAtIGJ5IExpbmRhIExhbWIKKwlQdWJsaXNoZXI6IE8nUmVpbGx5ICYgQXNzb2NpYXRlcyBJbmMuCisgIEl0IGlzIGEgZ29vZCBib29rIHRvIGdldCB0byBrbm93IGFsbW9zdCBhbnl0aGluZyB5b3Ugd2FudCB0byBkbyB3aXRoIFZpLgorICBUaGUgc2l4dGggZWRpdGlvbiBhbHNvIGluY2x1ZGVzIGluZm9ybWF0aW9uIG9uIFZpbS4KKworICBUaGlzIHR1dG9yaWFsIHdhcyB3cml0dGVuIGJ5IE1pY2hhZWwgQy4gUGllcmNlIGFuZCBSb2JlcnQgSy4gV2FyZSwKKyAgQ29sb3JhZG8gU2Nob29sIG9mIE1pbmVzIHVzaW5nIGlkZWFzIHN1cHBsaWVkIGJ5IENoYXJsZXMgU21pdGgsCisgIENvbG9yYWRvIFN0YXRlIFVuaXZlcnNpdHkuICBFLW1haWw6IGJ3YXJlQG1pbmVzLmNvbG9yYWRvLmVkdS4KKworICBNb2RpZmllZCBmb3IgVmltIGJ5IEJyYW0gTW9vbGVuYWFyLgpkaWZmIC0tZ2l0IGEvcnVudGltZS90dXRvci90dXRvci5pdCBiL3J1bnRpbWUvdHV0b3IvdHV0b3IuaXQKaW5kZXggZDJhNDY1ZS4uYjFmNjc5OCAxMDA2NDQKLS0tIGEvcnVudGltZS90dXRvci90dXRvci5pdAorKysgYi9ydW50aW1lL3R1dG9yL3R1dG9yLml0CkBAIC0xLDUgKzEsNSBAQAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotPSAgICBCZW52ZW51dG8gIGFsbGEgICBHIHUgaSBkIGEgICAgYWxsJ0VkaXRvciAgIFYgSSBNICAgLSAgICBWZXJzaW9uZSAxLjUgICAgPQorPSAgICBCZW52ZW51dG8gIGFsbGEgICBHIHUgaSBkIGEgICAgYWxsJ0VkaXRvciAgIFYgSSBNICAgLSAgICBWZXJzaW9uZSAxLjcgICAgPQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCiAgICAgIFZpbSDoIHVuIEVkaXRvciBtb2x0byBwb3RlbnRlIGVkIGhhIHBhcmVjY2hpIGNvbWFuZGksIHRyb3BwaSBwZXIKQEAgLTEwLDYgKzEwLDcgQEAKICAgICAgSWwgdGVtcG8gbmVjZXNzYXJpbyBwZXIgY29tcGxldGFyZSBsYSBndWlkYSDoIGNpcmNhIDI1LTMwIG1pbnV0aSwKICAgICAgYSBzZWNvbmRhIGRpIHF1YW50byB0ZW1wbyBkZWRpY2hpIGFsbGEgc3BlcmltZW50YXppb25lLgogCisgICAgIEFUVEVOWklPTkUhCiAgICAgIEkgY29tYW5kaSBuZWxsZSBsZXppb25pIG1vZGlmaWNhbm8gcXVlc3RvIHRlc3RvLiBGYWkgdW5hIGNvcGlhIGRpIHF1ZXN0bwogICAgICBmaWxlIHBlciBlc2VyY2l0YXJ0aSAoc2UgaGFpIHVzYXRvICJ2aW10dXRvciIsIHN0YWkgZ2ngIHVzYW5kbyB1bmEgY29waWEpLgogCkBAIC0zMyw3ICszNCw3IEBACiAgIDEuIE11b3ZpIGlsIGN1cnNvcmUgc3VsbG8gc2NoZXJtbyBmaW5jaOkgbm9uIHRpIHNlbnRpIGEgdHVvIGFnaW8uCiAKICAgMi4gVGllbmkgc2NoaWFjY2lhdG8gaWwgdGFzdG8gImdp+SIgKGopIGZpbmNo6SBub24gc2kgcmlwZXRlIGlsIG1vdmltZW50by4KLS0tLT4gQWRlc3NvIHNhaSBjb21lIGFycml2YXJlIGZpbm8gYWxsYSBsZXppb25lIHN1Y2Nlc3NpdmEuCisgICAgIEFkZXNzbyBzYWkgY29tZSBhcnJpdmFyZSBmaW5vIGFsbGEgbGV6aW9uZSBzZWd1ZW50ZS4KIAogICAzLiBVc2FuZG8gaWwgdGFzdG8gImdp+SIgc3Bvc3RhdGkgYWxsYSBMZXppb25lIDEuMi4KIApAQCAtNDEsMzggKzQyLDM4IEBACiAgICAgICBpbiBNb2RhbGl04CBOb3JtYWxlIFtOb3JtYWwgTW9kZV0uIFBvaSByaS1pbW1ldHRpIGlsIGNvbWFuZG8gY2hlIHZvbGV2aS4KIAogTk9UQTogSSB0YXN0aSBjb24gbGUgZnJlY2NlIGZhbm5vIGxvIHN0ZXNzbyBzZXJ2aXppby4gTWEgdXNhbmRvIGhqa2wgcmllc2NpCi0gICAgICBhIG11b3ZlcnRpIG1vbHRvIHBp+SByYXBpZGFtZW50ZSwgdW5hIHZvbHRhIHByZXNhIGwnYWJpdHVkaW5lLgorICAgICAgYSBtdW92ZXJ0aSBtb2x0byBwafkgcmFwaWRhbWVudGUsIGRvcG8gY2hlIGNpIHNpIGFiaXR1YS4gIERhdnZlcm8hCiAKIH5+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+fgotCQkgICAgIExlemlvbmUgMS4yOiBFTlRSQVJFIEUgVVNDSVJFIERBIFZJTQorCQkJTGV6aW9uZSAxLjI6IFVTQ0lSRSBEQSBWSU0KIAogCiAgICEhIE5PVEE6IFByaW1hIGRpIGVzZWd1aXJlIHF1YW50byByaWNoaWVzdG8sIGxlZ2dpIGxhIExlemlvbmUgcGVyIGludGVybyEhCiAKICAgMS4gUHJlbWkgaWwgdGFzdG8gPEVTQz4gKHBlciBhc3NpY3VyYXJ0aSBkaSBlc3NlcmUgaW4gTW9kYWxpdOAgTm9ybWFsZSkuCiAKLSAgMi4gQmF0dGk6CQkJOnEhIDxJTlZJTz4uCi0KLS0tLT4gQ29z7CBlc2NpIGRhbGwnRWRpdG9yIFNFTlpBIFNBTFZBUkUgYWxjdW5hIG1vZGlmaWNhIGZhdHRhLgotICAgICBTZSB2dW9pIHVzY2lyZSBTQUxWQU5ETyBsZSBtb2RpZmljaGUgYmF0dGk6Ci0JCQkJOndxIDxJTlZJTz4KKyAgMi4gQmF0dGk6ICAgICA6cSEgPElOVklPPi4KKyAgICAgQ29z7CBlc2NpIGRhbGwnRWRpdG9yIFNDQVJUQU5ETyBxdWFsc2lhc2kgbW9kaWZpY2EgZmF0dGEuCiAKICAgMy4gUXVhbmRvIHZlZGkgaWwgUFJPTVBUIGRlbGxhIFNoZWxsLCBiYXR0aSBpbCBjb21hbmRvIGNvbiBjdWkgc2VpIGFycml2YXRvCi0gICAgIHF1aS4gIFBvdHJlYmJlIGVzc2VyZToJdmltdHV0b3IgPElOVklPPgotICAgICBOb3JtYWxtZW50ZSAgdXNlcmVzdGk6CXZpbSB0dXRvciA8SU5WSU8+Ci0KLS0tLT4gJ3ZpbScgaW5kaWNhIGwnRWRpdG9yIHZpbSwgJ3R1dG9yJyDoIGlsIG5vbWUgZGVsIGZpbGUgY2hlIHR1IHZ1b2kgYXByaXJlLgorICAgICBxdWkuICBTYXJlYmJlOgl2aW10dXRvciA8SU5WSU8+CiAKICAgNC4gU2UgaGFpIG1lbW9yaXp6YXRvIHF1ZXN0aSBjb21hbmRpIGUgdGkgc2VudGkgcHJvbnRvLCBlc2VndWkgaSBwYXNzaQotICAgICBkYSAxIGEgMyBwZXIgdXNjaXJlIGUgcmllbnRyYXJlIG5lbGwnRWRpdG9yLiAgUG9pIG11b3ZpIGlsIGN1cnNvcmUgaW4gZ2n5Ci0gICAgIGZpbm8gYWxsYSBMZXppb25lIDEuMy4KKyAgICAgZGEgMSBhIDMgcGVyIHVzY2lyZSBlIHJpZW50cmFyZSBuZWxsJ0VkaXRvci4KKworTk9UQTogIDpxISA8SU5WSU8+IFNDQVJUQSBxdWFsc2lhc2kgbW9kaWZpY2EgZmF0dGEuICBJbiB1bmEgZGVsbGUgcHJvc3NpbWUKKyAgICAgICBsZXppb25pIGltcGFyZXJhaSBjb21lIHNhbHZhcmUgdW4gZmlsZSBjaGUgaGFpIG1vZGlmaWNhdG8uCisKKyAgNS4gTXVvdmkgaW4gZ2n5IGlsIGN1cnNvcmUgcGVyIHBhc3NhcmUgYWxsYSBsZXppb25lIDEuMy4KKworCiB+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+fn4KLQkJICAgICBMZXppb25lIDEuMzogRURJVElORyBESSBURVNUSSAtIENBTkNFTExBWklPTkUKKwkJTGV6aW9uZSAxLjM6IE1PRElGSUNBIERJIFRFU1RJIC0gQ0FOQ0VMTEFaSU9ORQogCiAKLSoqIEluIE1vZGFsaXTgIE5vcm1hbGUgcHJlbWkgIHggIHBlciBjYW5jZWxsYXJlIGlsIGNhcmF0dGVyZSBzb3R0byBhbCBjdXJzb3JlICoqCisJKiogUHJlbWVyZSAgeCAgcGVyIGNhbmNlbGxhcmUgaWwgY2FyYXR0ZXJlIHNvdHRvIGFsIGN1cnNvcmUgKioKIAotICAxLiBNdW92aSBpbCBjdXJzb3JlIGFsbGEgbGluZWEgcGn5IHNvdHRvLCBpbmRpY2F0YSBkYSAtLS0+CisgIDEuIE11b3ZpIGlsIGN1cnNvcmUgYWxsYSBsaW5lYSBwafkgc290dG8sIGluZGljYXRhIGRhIC0tLT4uCiAKICAgMi4gUGVyIGNvcnJlZ2dlcmUgZXJyb3JpLCBtdW92aSBpbCBjdXJzb3JlIGZpbm8gYSBwb3NpemlvbmFybG8gc29wcmEgaWwKICAgICAgY2FyYXR0ZXJlIGRhIGNhbmNlbGxhcmUuCkBAIC04NiwxNiArODcsMTYgQEAKICAgNS4gT3JhIGNoZSBsYSBsaW5lYSDoIGNvcnJldHRhLCB2YWkgYWxsYSBMZXppb25lIDEuNAogCiBOT1RBOiBNZW50cmUgc2VndWkgcXVlc3RhIGd1aWRhLCBub24gY2VyY2FyZSBkaSBpbXBhcmFyZSBhIG1lbW9yaWEsCi0JCQkJIG1hIGltcGFyYSBmYWNlbmRvIHByYXRpY2EuCisgICAgICBtYSBpbXBhcmEgZmFjZW5kbyBwcmF0aWNhLgogCiAKIH5+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+fgotCQkgICAgIExlemlvbmUgMS40OiBFRElUSU5HIERJIFRFU1RJIC0gSU5TRVJJTUVOVE8KKwkJTGV6aW9uZSAxLjQ6IE1PRElGSUNBIERJIFRFU1RJIC0gSU5TRVJJTUVOVE8KIAogCi0gICAgICAgKiogUXVhbmRvIHNlaSBpbiBNb2RhbGl04CBOb3JtYWxlIHByZW1pICBpICBwZXIgaW5zZXJpcmUgdGVzdG8uICoqCisgICAgICAgICAgICAgICAgICAgKiogUHJlbWVyZSAgaSAgcGVyIGluc2VyaXJlIHRlc3RvLiAqKgogCi0gIDEuIE11b3ZpIGlsIGN1cnNvcmUgYWxsYSBwcmltYSBsaW5lYSBxdWkgc290dG8sIGluZGljYXRhIGRhIC0tLT4KKyAgMS4gTXVvdmkgaWwgY3Vyc29yZSBhbGxhIHByaW1hIGxpbmVhIHF1aSBzb3R0bywgaW5kaWNhdGEgZGEgLS0tPi4KIAogICAyLiBQZXIgcmVuZGVyZSBsYSBwcmltYSBsaW5lYSB1Z3VhbGUgYWxsYSBzZWNvbmRhLCBtdW92aSBpbCBjdXJzb3JlIHNvcHJhCiAgICAgIGlsIHByaW1vIGNhcmF0dGVyZSBET1BPIGxhIHBvc2l6aW9uZSBpbiBjdWkgaWwgdGVzdG8gdmEgaW5zZXJpdG8uCkBAIC0xMDgsNjUgKzEwOSwxMTEgQEAKIC0tLT4gQydlcmEgZGVsIHRzdG8gbW5jbnQgcXVlc3RhIC4KIC0tLT4gQydlcmEgZGVsIHRlc3RvIG1hbmNhbnRlIGRhIHF1ZXN0YSBsaW5lYS4KIAotICA1LiBRdWFuZG8gc2VpIGEgdHVvIGFnaW8gbmVsbCdpbnNlcmltZW50byBkaSB0ZXN0byB2YWkgYWwgc29tbWFyaW8gc290dG8uCisgIDUuIFF1YW5kbyBzZWkgYSB0dW8gYWdpbyBuZWxsJ2luc2VyaW1lbnRvIGRpIHRlc3RvIHZhaSBhbGxhIGxlemlvbmUgMS41LgogCiAKIAogfn5+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+CisJCSBMZXppb25lIDEuNTogTU9ESUZJQ0EgREkgVEVTVEkgLSBBR0dJVU5UQQorCisKKwkgICAqKiBQcmVtZXJlICBBICBwZXIgYWdnaXVuZ2VyZSB0ZXN0byBhIGZpbmUgbGluZWEuICoqCisKKyAgMS4gTXVvdmkgaWwgY3Vyc29yZSBhbGxhIHByaW1hIGxpbmVhIHF1aSBzb3R0bywgaW5kaWNhdGEgZGEgLS0tPi4KKyAgICAgTm9uIGltcG9ydGEgZG92ZSDoIHBvc2l6aW9uYXRvIGlsIGN1cnNvcmUgc3VsbGEgbGluZWEgc3Rlc3NhLgorCisgIDIuIEJhdHRpICBBICBlIGluc2VyaXNjaSBsZSBuZWNlc3NhcmllIGFnZ2l1bnRlLgorCisgIDMuIEFsbGEgZmluZSBkZWxsYSBhZ2dpdW50YSBwcmVtaSA8RVNDPiBwZXIgdG9ybmFyZSBpbiBtb2RhbGl04CBOb3JtYWxlLgorCisgIDQuIE11b3ZpIGlsIGN1cnNvcmUgYWxsYSBzZWNvbmRhIGxpbmVhIGluZGljYXRhIC0tLT4gZSByaXBldGkKKyAgICAgaSBwYXNzaSAyIGUgMyBwZXIgY29ycmVnZ2VyZSBxdWVzdGEgZnJhc2UuCisKKy0tLT4gQyfoIGRlbCB0ZXN0byBjaGUgbWFuY2EgZGEgcXUKKyAgICAgQyfoIGRlbCB0ZXN0byBjaGUgbWFuY2EgZGEgcXVlc3RhIGxpbmVhLgorLS0tPiBDJ+ggYW5jaGUgZGVsIHRlc3RvIGNoZSBtYQorICAgICBDJ+ggYW5jaGUgZGVsIHRlc3RvIGNoZSBtYW5jYSBxdWkuCisKKyAgNS4gUXVhbmRvIHNlaSBhIHR1byBhZ2lvIG5lbGwnYWdnaXVudGEgZGkgdGVzdG8gdmFpIGFsbGEgbGV6aW9uZSAxLjYuCisKK35+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+fgorCQkgICAgIExlemlvbmUgMS42OiBNT0RJRklDQVJFIFVOIEZJTEUKKworCisJICAgICAgKiogVXNhcmUgIDp3cSAgcGVyIHNhbHZhcmUgdW4gZmlsZSBlIHVzY2lyZS4gKioKKworICAhISBOT1RBOiBQcmltYSBkaSBlc2VndWlyZSBxdWFudG8gcmljaGllc3RvLCBsZWdnaSBsYSBMZXppb25lIHBlciBpbnRlcm8hIQorCisgIDEuIEVzY2kgZGEgVmltIGNvbWUgaGFpIGZhdHRvIG5lbGxhIGxlemlvbmUgMS4yOiAgOnEhCisKKyAgMi4gUXVhbmRvIHZlZGkgaWwgUFJPTVBUIGRlbGxhIFNoZWxsLCBiYXR0aSBpbCBjb21hbmRvOiAgdmltIHR1dG9yIDxJTlZJTz4KKyAgICAgJ3ZpbScg6CBpbCBjb21hbmRvIHBlciByaWNoaWFtYXJlIFZpbSwgJ3R1dG9yJyDoIGlsIG5vbWUgZGVsIGZpbGUgY2hlCisgICAgIGRlc2lkZXJpIG1vZGlmaWNhcmUuICBVc2EgdW4gZmlsZSBjaGUgcG9zc2EgZXNzZXJlIG1vZGlmaWNhdG8uCisKKyAgMy4gSW5zZXJpc2NpIGUgY2FuY2VsbGEgdGVzdG8gY29tZSBoYWkgaW1wYXJhdG8gbmVsbGUgbGV6aW9uaSBwcmVjZWRlbnRpLgorCisgIDQuIFNhbHZhIGlsIGZpbGUgZWQgZXNjaSBkYSBWaW0gY29uOiAgOndxICA8SU5WSU8+CisKKyAgNS4gUmllbnRyYSBpbiB2aW10dXRvciBlIHNjZW5kaSBhbCBzb21tYXJpbyBjaGUgc2VndWUuCisKKyAgNi4gRG9wbyBhdmVyIGxldHRvIGkgcGFzc2kgcXVpIHNvcHJhIGVkIGF2ZXJsaSBjb21wcmVzaTogZXNlZ3VpbGkuCisKKyAgCit+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+fn4KIAkJCSAgICAgICBMZXppb25lIDEgU09NTUFSSU8KIAogCiAgIDEuIElsIGN1cnNvcmUgc2kgbXVvdmUgdXNhbmRvIGkgdGFzdGkgY29uIGxlIGZyZWNjZSBvIGkgdGFzdGkgaGprbC4KIAkgaCAoc2luaXN0cmEpCWogKGdp+SkgICAgICAgayAoc3UpCSAgICBsIChkZXN0cmEpCiAKLSAgMi4gUGVyIGVzZWd1aXJlIFZpbSAoZGFsIHByb21wdCAlKSBiYXR0aTogIHZpbSBOT01FRklMRSA8SU5WSU8+CisgIDIuIFBlciBlc2VndWlyZSBWaW0gZGFsIFBST01QVCBkZWxsYSBTaGVsbCBiYXR0aTogIHZpbSBOT01FRklMRSA8SU5WSU8+CiAKICAgMy4gUGVyIHVzY2lyZSBkYSBWaW0gYmF0dGk6IDxFU0M+IDpxISA8SU5WSU8+IHBlciB1c2NpcmUgc2VuemEgc2FsdmFyZS4KIAkJb3BwdXJlIGJhdHRpOiA8RVNDPiA6d3EgPElOVklPPiBwZXIgdXNjaXJlIHNhbHZhbmRvIG1vZGlmaWNoZS4KIAotICA0LiBQZXIgY2FuY2VsbGFyZSBpbCBjYXJhdHRlcmUgc290dG8gYWwgY3Vyc29yZSBpbiBNb2RhbGl04CBOb3JtYWxlIGJhdHRpOiB4CisgIDQuIFBlciBjYW5jZWxsYXJlIGlsIGNhcmF0dGVyZSBzb3R0byBhbCBjdXJzb3JlIGJhdHRpOiB4CiAKLSAgNS4gUGVyIGluc2VyaXJlIHRlc3RvIHN1Yml0byBwcmltYSBkZWwgY3Vyc29yZSBpbiBNb2RhbGl04CBOb3JtYWxlIGJhdHRpOgotCSBpICAgICBiYXR0aSBkZWwgdGVzdG8JPEVTQz4KKyAgNS4gUGVyIGluc2VyaXJlIHRlc3RvIHN1Yml0byBwcmltYSBkZWwgY3Vyc29yZSBiYXR0aToKKwkgaSAgICAgYmF0dGkgdGVzdG8gaW5zZXJpdG8JPEVTQz4JaW5zZXJpc2NpIHByaW1hIGRlbCBjdXJzb3JlCisJIEEgICAgIGJhdHRpIHRlc3RvIGFnZ2l1bnRvCTxFU0M+CWFnZ2l1bmdpIGEgZmluZSBsaW5lYQogCiBOT1RBOiBwcmVtZW5kbyA8RVNDPiByaXRvcm5lcmFpIGluIE1vZGFsaXTgIE5vcm1hbGUgbyBhbm51bGxlcmFpCiAgICAgICB1biBjb21hbmRvIGVycmF0byBjaGUgcHVvaSBhdmVyIGluc2VyaXRvIGluIHBhcnRlLgogCiBPcmEgY29udGludWEgY29uIGxhIExlemlvbmUgMi4KIAotCiB+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+fn4KLQkJCUxlemlvbmUgMi4xOiBDT01BTkRJIERJIENBTkNFTExBWklPTkUKKwkJICAgTGV6aW9uZSAyLjE6IENPTUFOREkgREkgQ0FOQ0VMTEFaSU9ORQogCiAKLQkgICoqIEJhdHRpICBkdyAgcGVyIGNhbmNlbGxhcmUgZmlubyBhIGZpbmUgcGFyb2xhLiAqKgorCQkqKiBCYXR0aSAgZHcgIHBlciBjYW5jZWxsYXJlIHVuYSBwYXJvbGEuICoqCiAKICAgMS4gUHJlbWkgIDxFU0M+ICBwZXIgYWNjZXJ0YXJ0aSBkaSBlc3NlcmUgaW4gTW9kYWxpdOAgTm9ybWFsZS4KIAotICAyLiBNdW92aSBpbCBjdXJzb3JlIGZpbm8gYWxsYSBsaW5lYSBxdWkgc290dG8sIGluZGljYXRhIGRhIC0tLT4KKyAgMi4gTXVvdmkgaWwgY3Vyc29yZSBmaW5vIGFsbGEgbGluZWEgcXVpIHNvdHRvLCBpbmRpY2F0YSBkYSAtLS0+LgogCiAgIDMuIE11b3ZpIGlsIGN1cnNvcmUgYWxsJ2luaXppbyBkaSB1bmEgcGFyb2xhIGNoZSB2dW9pIGNhbmNlbGxhcmUuCiAKICAgNC4gQmF0dGkgICBkdyAgIHBlciBjYW5jZWxsYXJlIGxhIHBhcm9sYS4KIAotTk9UQTogTGUgbGV0dGVyZSAgZHcgIHNhcmFubm8gdmlzaWJpbGkgc3VsbCd1bHRpbWEgbGluZWEgZGVsbG8gc2NoZXJtbyBtZW50cmUgbGUKLSAgICAgIGJhdHRpLiBTZSBoYWkgYmF0dHV0byBxdWFsY29zYSBkaSBzYmFnbGlhdG8sIHByZW1pICA8RVNDPiAgZSByaWNvbWluY2lhLgorTk9UQTogTGEgbGV0dGVyYSAgZCAgc2Fy4CB2aXNpYmlsZSBzdWxsJ3VsdGltYSBsaW5lYSBkZWxsbyBzY2hlcm1vIG1lbnRyZSBsYQorICAgICAgYmF0dGkuIFZpbSBhdHRlbmRlIGNoZSB0dSBiYXR0YSAgdyAuIFNlIHZlZGkgdW5hIGxldHRlcmEgZGl2ZXJzYQorICAgICAgZGEgIGQgIGhhaSBiYXR0dXRvIHF1YWxjb3NhIGRpIHNiYWdsaWF0bzsgcHJlbWkgIDxFU0M+ICBlIHJpY29taW5jaWEuCiAKIC0tLT4gQ2kgc29ubyBsZSBhbGN1bmUgcGFyb2xlIGdpb2lhIGNoZSBub24gYydlbnRyYW5vIGNhcnRhIGluIHF1ZXN0YSBmcmFzZS4KIAogICA1LiBSaXBldGkgaSBwYXNzaSAzIGUgNCBmaW5jaOkgbGEgZnJhc2Ug6CBjb3JyZXR0YSwgcG9pIHZhaSBhbGxhIExlemlvbmUgMi4yLgogCiAKLQogfn5+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+Ci0JCSAgICAgIExlemlvbmUgMi4yOiBBTFRSSSBDT01BTkRJIERJIENBTkNFTExBWklPTkUKKwkJTGV6aW9uZSAyLjI6IEFMVFJJIENPTUFOREkgREkgQ0FOQ0VMTEFaSU9ORQogCiAKIAkgICAqKiBCYXR0aSAgZCQJcGVyIGNhbmNlbGxhcmUgZmlubyBhIGZpbmUgbGluZWEuICoqCiAKICAgMS4gUHJlbWkgIDxFU0M+ICBwZXIgYWNjZXJ0YXJ0aSBkaSBlc3NlcmUgaW4gTW9kYWxpdOAgTm9ybWFsZS4KIAotICAyLiBNdW92aSBpbCBjdXJzb3JlIGZpbm8gYWxsYSBsaW5lYSBxdWkgc290dG8sIGluZGljYXRhIGRhIC0tLT4KKyAgMi4gTXVvdmkgaWwgY3Vyc29yZSBmaW5vIGFsbGEgbGluZWEgcXVpIHNvdHRvLCBpbmRpY2F0YSBkYSAtLS0+LgogCiAgIDMuIE11b3ZpIGlsIGN1cnNvcmUgYWxsYSBmaW5lIGRlbGxhIGxpbmVhIGNvcnJldHRhIChET1BPIGlsIHByaW1vIC4gKS4KIApAQCAtMTgyLDY2ICsyMjksMTEyIEBACiAKIAogfn5+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+Ci0JCSAgICAgTGV6aW9uZSAyLjM6IENPTUFOREkgRSBPR0dFVFRJCisJCSAgICAgTGV6aW9uZSAyLjM6IE9QRVJBVE9SSSBFIE1PVklNRU5USQogCiAKLSAgSWwgZm9ybWF0byBkZWwgY29tYW5kbyAgZCAgW2RlbGV0ZV0gY2FuY2VsbGEg6CBpbCBzZWd1ZW50ZToKKyAgTW9sdGkgY29tYW5kaSBkaSBtb2RpZmljYSB0ZXN0aSBjb25zaXN0b25vIGluIHVuIG9wZXJhdG9yZSBlIHVuIG1vdmltZW50by4KKyAgSWwgZm9ybWF0byBkZWwgY29tYW5kbyBkaSBjYW5jZWxsYXppb25lIGNvbiBsJ29wZXJhdG9yZSAgZCAg6CBpbCBzZWd1ZW50ZToKIAotCSBbbnVtZXJvXSAgIGQJb2dnZXR0bwkgICAgT1BQVVJFICAgICBkIFtudW1lcm9dICAgb2dnZXR0bworCSBkCW1vdmltZW50bworCiAgIERvdmU6Ci0gICAgbnVtZXJvIC0gaW5kaWNhIHF1YW50ZSB2b2x0ZSB2YSBlc2VndWl0byBpbCBjb21hbmRvIChzZSBvbWVzc28sIHZhbGUgMSkuCi0gICAgZCAtIOggaWwgY29tYW5kbyBkaSBjYW5jZWxsYXppb25lLgotICAgIG9nZ2V0dG8gLSBpbmRpY2EgZG92ZSBpbCBjb21hbmRvIHZhIGFwcGxpY2F0byAobGlzdGEgcXVpIHNvdHRvKS4KKyAgICBkCSAgICAgIC0g6CBsJ29wZXJhdG9yZSBkaSBjYW5jZWxsYXppb25lCisgICAgbW92aW1lbnRvIC0gaW5kaWNhIGRvdmUgbCdvcGVyYXRvcmUgdmEgYXBwbGljYXRvIChsaXN0YSBxdWkgc290dG8pLgogCi0gIEJyZXZlIGxpc3RhIGRpIG9nZ2V0dGk6Ci0gICAgdyAtIGRhbCBjdXJzb3JlIGFsbGEgZmluZSBkZWxsYSBwYXJvbGEsIGluY2x1c28gbG8gc3BhemlvLgotICAgIGUgLSBkYWwgY3Vyc29yZSBhbGxhIGZpbmUgZGVsbGEgcGFyb2xhLCBFU0NMVVNPIGxvIHNwYXppby4KLSAgICAkIC0gZGFsIGN1cnNvcmUgZmlubyBhIGZpbmUgbGluZWEuCisgIEJyZXZlIGxpc3RhIGRpIG1vdmltZW50aToKKyAgICB3IC0gZmlubyBhIGluaXppbyBkZWxsYSBwYXJvbGEgc2VndWVudGUsIEVTQ0xVU08gaWwgc3VvIHByaW1vIGNhcmF0dGVyZS4KKyAgICBlIC0gYWxsYSBmaW5lIGRlbGxhIHBhcm9sYSBjb3JyZW50ZSwgQ09NUFJFU08gaWwgc3VvIHVsdGltbyBjYXJhdHRlcmUuCisgICAgJCAtIGRhbCBjdXJzb3JlIGZpbm8gYSBmaW5lIGxpbmVhLCBDT01QUkVTTyBsJ3VsdGltbyBjYXJhdHRlcmUgZGVsbGEgbGluZWEuCiAKLU5PVEE6IFBlciBhbWFudGkgZGVsbCdhdnZlbnR1cmE6IHByZW1lbmRvIHNvbG8gaWwgdGFzdG8gY2hlIGluZGljYSBsJ29nZ2V0dG8KLSAgICAgIG1lbnRyZSBzaWV0ZSBpbiBNb2RhbGl04CBOb3JtYWxlLCBzZW56YSBkYXJlIHVuIGNvbWFuZG8sIHNwb3N0YQotICAgICAgaWwgY3Vyc29yZSBjb21lIHNwZWNpZmljYXRvIG5lbGxhICJsaXN0YSBkaSBvZ2dldHRpIiBxdWkgc29wcmEuCisgIFF1aW5kaSBzZSBiYXR0aSAgZGUgIGNhbmNlbGxpIGRhbCBjdXJzb3JlIGZpbm8gYSBmaW5lIHBhcm9sYS4KKworTk9UQTogIFNlIGJhdHRpIHNvbG8gaWwgbW92aW1lbnRvIG1lbnRyZSBzZWkgaW4gTW9kYWxpdOAgTm9ybWFsZSwgc2VuemEKKyAgICAgICBuZXNzdW4gb3BlcmF0b3JlLCBpbCBjdXJzb3JlIHNpIG11b3ZlcuAgY29tZSBzcGVjaWZpY2F0by4KKworfn5+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+CisJIExlemlvbmUgMi40OiBVU08gREkgVU4gQ09OVEFUT1JFIFBFUiBVTiBNT1ZJTUVOVE8KKworCisgICoqIFNlIGJhdHRpIHVuIG51bWVybyBwcmltYSBkaSB1biBtb3ZpbWVudG8sIGxvIHJpcGV0aSBhbHRyZXR0YW50ZSB2b2x0ZS4gKioKKworICAxLiBNdW92aSBpbCBjdXJzb3JlIGZpbm8gYWxsJ2luaXppbyBkZWxsYSBsaW5lYSBxdWkgc290dG8sIGluZGljYXRhIGRhIC0tLT4uCisKKyAgMi4gQmF0dGkgIDJ3ICBwZXIgc3Bvc3RhcmUgaWwgY3Vyc29yZSBkdWUgcGFyb2xlIHBp+SBhdmFudGkuCisKKyAgMy4gQmF0dGkgIDNlICBwZXIgc3Bvc3RhcmUgaWwgY3Vyc29yZSBhbGxhIGZpbmUgZGVsbGEgdGVyemEgcGFyb2xhIHNlZ3VlbnRlLgorCisgIDQuIEJhdHRpICAwICAoemVybykgcGVyIHBvc2l6aW9uYXJ0aSBhbGwnaW5pemlvIGRlbGxhIGxpbmVhLgorCisgIDUuIFJpcGV0aSBpIHBhc3NpIDIgZSAzIHVzYW5kbyBudW1lcmkgZGlmZmVyZW50aS4KKworLS0tPiBRdWVzdGEg6CBzb2xvIHVuYSBsaW5lYSBjb24gcGFyb2xlIGFsbCdpbnRlcm5vIGRlbGxhIHF1YWxlIHB1b2kgbXVvdmVydGkuCisKKyAgNi4gVmFpIGFsbGEgTGV6aW9uZSAyLjUuCisKIAogCiAKIH5+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+fgotCQlMZXppb25lIDIuNDogVU5BIEVDQ0VaSU9ORSBBICdDT01BTkRPLU9HR0VUVE8nCisJTGV6aW9uZSAyLjU6IFVTTyBESSBVTiBDT05UQVRPUkUgUEVSIENBTkNFTExBUkUgREkgUElVJwogCi0JICAgICoqIEJhdHRpCSBkZCAgIHBlciBjYW5jZWxsYXJlIHVuJ2ludGVyYSBsaW5lYS4gKioKIAotICBQZXIgbGEgZnJlcXVlbnphIGNvbiBjdWkgY2FwaXRhIGRpIGNhbmNlbGxhcmUgbGluZWUgaW50ZXJlLCBjaGkKLSAgaGEgcHJvZ2V0dGF0byBWaSBoYSBkZWNpc28gY2hlIHNhcmViYmUgc3RhdG8gcGn5IHNlbXBsaWNlCi0gIGJhdHRlcmUgZHVlIGQgY29uc2VjdXRpdmUgcGVyIGNhbmNlbGxhcmUgdW5hIGxpbmVhLgorICAqKiBTZSBiYXR0aSB1biBudW1lcm8gcHJpbWEgZGkgdW4gbW92aW1lbnRvLCBsbyByaXBldGkgYWx0cmV0dGFudGUgdm9sdGUuICoqCisKKyAgTmVsbGEgY29tYmluYXppb25lIGRlbGwnb3BlcmF0b3JlIGNhbmNlbGxhIGUgZGkgdW4gbW92aW1lbnRvLCBkZXNjcml0dG8gcHJpbWEsCisgIGluc2VyaXRlIHVuIGNvbnRhdG9yZSBwcmltYSBkZWwgbW92aW1lbnRvIHBlciBjYW5jZWxsYXJlIGRpIHBp+ToKKwkgZCAgIG51bWVybyAgIG1vdmltZW50bworCisgIDEuIE11b3ZpIGlsIGN1cnNvcmUgYWxsYSBwcmltYSBwYXJvbGEgTUFJVVNDT0xBIG5lbGxhIHJpZ2EgaW5kaWNhdGEgZGEgLS0tPi4KKworICAyLiBCYXR0aSAgZDJ3ICBwZXIgY2FuY2VsbGFyZSBsZSBkdWUgcGFyb2xlIE1BSVVTQ09MRQorCisgIDMuIFJpcGV0aSBpIHBhc3NpIDEgZSAyIGNvbiB1biBjb250YXRvcmUgZGl2ZXJzbyBwZXIgY2FuY2VsbGFyZSBsYSBwYXJvbGUKKyAgICAgTUFJVVNDT0xFIGNvbnNlY3V0aXZlIGNvbiB1biBzb2xvIGNvbWFuZG8KKworLS0tPiAgcXVlc3RhIEFCQyBERSBsaW5lYSBGR0hJIEpLIExNTiBPUCBkaSBwYXJvbGUg6CBRIFJTIFRVViBvcmEgcmlwdWxpdGEuCisKKworCisKKworfn5+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+CisJCUxlemlvbmUgMi42OiBMQVZPUkFSRSBTVSBMSU5FRSBJTlRFUkUKKworCSAgICAqKiBCYXR0aSAgZGQgIHBlciBjYW5jZWxsYXJlIHVuJ2ludGVyYSBsaW5lYS4gKioKKworICBQZXIgbGEgZnJlcXVlbnphIGNvbiBjdWkgY2FwaXRhIGRpIGNhbmNlbGxhcmUgbGluZWUgaW50ZXJlLCBjaGkgaGEKKyAgZGlzZWduYXRvIFZpIGhhIGRlY2lzbyBjaGUgc2FyZWJiZSBzdGF0byBwafkgc2VtcGxpY2UgYmF0dGVyZQorICBkdWUgZCBjb25zZWN1dGl2ZSBwZXIgY2FuY2VsbGFyZSB1bmEgbGluZWEuCiAKICAgMS4gTXVvdmkgaWwgY3Vyc29yZSBhbGxhIGxpbmVhIDIpIG5lbGxhIGZyYXNlIHF1aSBzb3R0by4KICAgMi4gQmF0dGkgIGRkICBwZXIgY2FuY2VsbGFyZSBsYSBsaW5lYS4KICAgMy4gT3JhIHNwb3N0YXRpIGFsbGEgbGluZWEgNCkuCi0gIDQuIEJhdHRpICAgMmRkICAgKHJpY29yZGE6ICBudW1lcm8tY29tYW5kby1vZ2dldHRvKSBwZXIgY2FuY2VsbGFyZSBkdWUgbGluZWUuCisgIDQuIEJhdHRpICAgMmRkICAgcGVyIGNhbmNlbGxhcmUgZHVlIGxpbmVlLgogCi0gICAgICAxKSAgTGUgcm9zZSBzb25vIHJvc3NlLAotICAgICAgMikgIE5lbCBmYW5nbyBjaSBzaSBkaXZlcnRlLAotICAgICAgMykgIExlIHZpb2xlIHNvbm8gYmx1LAotICAgICAgNCkgIElvIGhvIHVuJ2F1dG9tb2JpbGUsCi0gICAgICA1KSAgR2xpIG9yb2xvZ2kgc2VnbmFubyBpbCB0ZW1wbywKLSAgICAgIDYpICBJbCBtaWVsZSDoIGRvbGNlLAotICAgICAgNykgIEUgbG8gc2VpIGFuY2hlIHR1LgorLS0tPiAgMSkgIExlIHJvc2Ugc29ubyByb3NzZSwKKy0tLT4gIDIpICBJbCBmYW5nbyDoIGRpdmVydGVudGUsCistLS0+ICAzKSAgTGUgdmlvbGUgc29ubyBibHUsCistLS0+ICA0KSAgSW8gaG8gdW4nYXV0b21vYmlsZSwKKy0tLT4gIDUpICBHbGkgb3JvbG9naSBzZWduYW5vIGlsIHRlbXBvLAorLS0tPiAgNikgIExvIHp1Y2NoZXJvIOggZG9sY2UsCistLS0+ICA3KSAgRSBjb3PsIHNlaSBhbmNoZSB0dS4KIAogCiB+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+fn4KLQkJCSBMZXppb25lIDIuNTogSUwgQ09NQU5ETyBVTkRPIFtBTk5VTExBXQorCSAgICAgIExlemlvbmUgMi43OiBJTCBDT01BTkRPIFVORE8gW0FOTlVMTEFdCiAKLSAgICAqKiBQcmVtaSAgdQkJcGVyIGFubnVsbGFyZSBnbGkgdWx0aW1pIGNvbWFuZGkgZXNlZ3VpdGkuICAqKgotICAgICoqIFByZW1pICBVCQlwZXIgYW5udWxsYXJlIGxlIG1vZGlmaWNoZSBhbGwndWx0aW1hIGxpbmVhLiAgICoqCisgICAgKiogIFByZW1pICB1ICBwZXIgYW5udWxsYXJlIGdsaSB1bHRpbWkgY29tYW5kaSBlc2VndWl0aS4gICoqCisgICAgKiogUHJlbWkgIFUgIHBlciBhbm51bGxhcmUgbGUgbW9kaWZpY2hlIGFsbCd1bHRpbWEgbGluZWEuICoqCiAKLSAgMS4gTXVvdmkgaWwgY3Vyc29yZSBmaW5vIGFsbGEgbGluZWEgcXVpIHNvdHRvLCBpbmRpY2F0YSBkYSAtLS0+CisgIDEuIE11b3ZpIGlsIGN1cnNvcmUgZmlubyBhbGxhIGxpbmVhIHF1aSBzb3R0bywgaW5kaWNhdGEgZGEgLS0tPi4KICAgICAgZSBwb3NpemlvbmF0aSBzdWwgcHJpbW8gZXJyb3JlLgogICAyLiBCYXR0aSAgeCAgcGVyIGNhbmNlbGxhcmUgaWwgcHJpbW8gY2FyYXR0ZXJlIHNiYWdsaWF0by4KICAgMy4gQWRlc3NvIGJhdHRpICB1ICBwZXIgYW5udWxsYXJlIGwndWx0aW1vIGNvbWFuZG8gZXNlZ3VpdG8uCiAgIDQuIE9yYSBpbnZlY2UsIGNvcnJlZ2dpIHR1dHRpIGdsaSBlcnJvcmkgc3VsbGEgbGluZWEgdXNhbmRvIGlsIGNvbWFuZG8gIHggLgogICA1LiBBZGVzc28gYmF0dGkgdW5hIFUgTWFpdXNjb2xhIHBlciByaXBvcnRhcmUgbGEgbGluZWEgYWwgc3VvIHN0YXRvIG9yaWdpbmFsZS4KICAgNi4gQWRlc3NvIGJhdHRpICB1ICBwafkgdm9sdGUgcGVyIGFubnVsbGFyZSBsYSAgVSAgZSBpIGNvbWFuZGkgcHJlY2VkZW50aS4KLSAgNy4gQWRlc3NvIGJhdHRpIHBp+SB2b2x0ZSBDVFJMLXIgKHRlbmVuZG8gaWwgdGFzdG8gQ1RSTCBzY2hpYWNjaWF0bwotICAgICBtZW50cmUgYmF0dGkgcikgcGVyIHJpZmFyZSBpIGNvbWFuZGkgKGFubnVsbGFyZSBsJ2FubnVsbGFtZW50bykuCisgIDcuIEFkZXNzbyBiYXR0aSBwafkgdm9sdGUgQ1RSTC1yICh0aWVuaSBpbCB0YXN0byBDVFJMIHNjaGlhY2NpYXRvCisgICAgIG1lbnRyZSBiYXR0aSByKSBwZXIgcmllc2VndWlyZSBpIGNvbWFuZGkgKGFubnVsbGFyZSBsJ2FubnVsbGFtZW50bykuCiAKIC0tLT4gQ29ycmVlZ2dpIGdsaSBlcnJvcmkgc3N1IHF1dWVzdGEgbGluZWEgZSByaWltcGlhenphbGkgY29vbiAidW5kbyIuCiAKQEAgLTI1NCw2MyArMzQ3LDYzIEBACiAJCQkgICAgICAgTGV6aW9uZSAyIFNPTU1BUklPCiAKIAotICAxLiBQZXIgY2FuY2VsbGFyZSBkYWwgY3Vyc29yZSBmaW5vIGFsbGEgZmluZSBkaSB1bmEgcGFyb2xhIGJhdHRpOiAgICBkdwotCi0gIDIuIFBlciBjYW5jZWxsYXJlIGRhbCBjdXJzb3JlIGZpbm8gYWxsYSBmaW5lIGRlbGxhIGxpbmVhICAgYmF0dGk6ICAgIGQkCi0KKyAgMS4gUGVyIGNhbmNlbGxhcmUgZGFsIGN1cnNvcmUgZmlubyBhbGxhIHBhcm9sYSBzZWd1ZW50ZSBiYXR0aTogICAgICBkdworICAyLiBQZXIgY2FuY2VsbGFyZSBkYWwgY3Vyc29yZSBmaW5vIGFsbGEgZmluZSBkZWxsYSBsaW5lYSBiYXR0aTogICAgIGQkCiAgIDMuIFBlciBjYW5jZWxsYXJlIHVuJ2ludGVyYSBsaW5lYSBiYXR0aTogICAgZGQKKyAgNC4gUGVyIGVzZWd1aXJlIHBp+SB2b2x0ZSB1biBtb3ZpbWVudG8sIG1ldHRpY2kgZGF2YW50aSB1biBudW1lcm86ICAydworICA1LiBJbCBmb3JtYXRvIHBlciB1biBjb21hbmRvIGRpIG1vZGlmaWNhIOg6CiAKLSAgNC4gSWwgZm9ybWF0byBwZXIgdW4gY29tYW5kbyBpbiBNb2RhbGl04CBOb3JtYWxlIOg6CisgICAgICAgb3BlcmF0b3JlICAgW251bWVyb10gICBtb3ZpbWVudG8KKyAgICAgZG92ZToKKyAgICAgICBvcGVyYXRvcmUgLSBpbmRpY2EgaWwgZGEgZmFyc2ksIGFkIGVzLiAgZCAgcGVyIFtkZWxldGVdIGNhbmNlbGxhcmUKKyAgICAgICBbbnVtZXJvXSAgLSBjb250YXRvcmUgZmFjb2x0YXRpdm8gZGkgcmlwZXRpemlvbmUgZGVsIG1vdmltZW50bworICAgICAgIG1vdmltZW50byAtIHNwb3N0YW1lbnRvIG5lbCB0ZXN0byBzdSBjdWkgb3BlcmFyZSwgYWQgZXMuCisgICAgICAgCQkgICB3IFt3b3JkXSBwYXJvbGEsICQgKGZpbm8gYSBmaW5lIGxpbmVhKSwgZXRjLgogCi0gICAgICAgW251bWVyb10gIGNvbWFuZG8gIG9nZ2V0dG8gICBPUFBVUkUgICBjb21hbmRvICBbbnVtZXJvXSAgb2dnZXR0bwotICAgICBEb3ZlOgotICAgICAgIG51bWVybyAtIGluZGljYSBxdWFudGUgdm9sdGUgdmEgZXNlZ3VpdG8gaWwgY29tYW5kbyAoc2Ugb21lc3NvLCB2YWxlIDEpLgotICAgICAgIGNvbWFuZG8gLSDoIGlsIGNvbWFuZG8gZGEgZXNlZ3VpcmUsIGFkIGVzLiAgZCAgcGVyIFtkZWxldGVdIGNhbmNlbGxhcmUuCi0gICAgICAgb2dnZXR0byAtIGluZGljYSBkb3ZlIGlsIGNvbWFuZG8gdmEgYXBwbGljYXRvLCBhZCBlcy4gIHcgW3dvcmRdIHBhcm9sYSwKLQkJJCAoZmlubyBhbGxhIGZpbmUgZGVsbGEgbGluZWEpLCBldGMuCi0KLSAgNS4gUGVyIGFubnVsbGFyZSBpIGNvbWFuZGkgcHJlY2VkZW50aSwJICBiYXR0aToJICB1ICh1IG1pbnVzY29sYSkKLSAgICAgUGVyIGFubnVsbGFyZSB0dXR0ZSBsZSBtb2RpZmljaGUgYSB1bmEgbGluZWEgYmF0dGk6ICAgIFUgKFUgTWFpdXNjb2xhKQotICAgICBQZXIgYW5udWxsYXJlIGwnYW5udWxsYW1lbnRvIFtnbGkgInVuZG8iXQkgICAgICBiYXR0aToJICBDVFJMLXIKLQotfn5+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+Ci0JCQkgTGV6aW9uZSAzLjE6IElMIENPTUFORE8gUFVUIFtNRVRUSSwgUE9OSV0KLQotCi0gICAqKiBCYXR0aSAgcCAgcGVyIHBvcnJlIFtwdXRdIGwndWx0aW1hIGNhbmNlbGxhemlvbmUgZG9wbyBpbCBjdXJzb3JlLiAqKgotCi0gIDEuIE11b3ZpIGlsIGN1cnNvcmUgYWxsYSBwcmltYSBsaW5lYSBmcmEgcXVlbGxlIHF1aSBpbiBiYXNzby4KLQotICAyLiBCYXR0aSAgZGQgIHBlciBjYW5jZWxsYXJlIGxhIGxpbmVhIGUgZGVwb3NpdGFybGEgbmVsIGJ1ZmZlciBkaSBWaW0uCi0KLSAgMy4gTXVvdmkgaWwgY3Vyc29yZSBmaW5vIGFsbGEgbGluZWEgU09QUkEgcXVlbGxhIGRvdmUgYW5kcmViYmUgc3Bvc3RhdGEKLSAgICAgbGEgbGluZWEgY2hlIGhhaSBhcHBlbmEgY2FuY2VsbGF0by4KLQotICA0LiBNZW50cmUgc2VpIGluIE1vZGFsaXTgIE5vcm1hbGUsIGJhdHRpICBwICBwZXIgcmVpbnNlcmlyZSBsYSBsaW5lYS4KLQotICA1LiBSaXBldGkgaSBwYXNzaSBkYSAyIGEgNCBwZXIgbWV0dGVyZSB0dXR0ZSBsZSBsaW5lZSBuZWwgY29ycmV0dG8gb3JkaW5lLgotCi0gICAgIGQpICBSaWVzY2kgYSBpbXBhcmFybGEgdHU/Ci0gICAgIGIpICBMZSB2aW9sZSBzb25vIGJsdSwKLSAgICAgYykgIExhIHNhZ2dlenphIHNpIGltcGFyYSwKLSAgICAgYSkgIExlIHJvc2Ugc29ubyByb3NzZSwKKyAgNi4gUGVyIGFuZGFyZSBhIGluaXppbyBsaW5lYSB1c2F0ZSB1bm8gemVybzoJMAorICA3LiBQZXIgYW5udWxsYXJlIGkgY29tYW5kaSBwcmVjZWRlbnRpLCBiYXR0aToJIAkgICAgdSAodSBtaW51c2NvbGEpCisgICAgIFBlciBhbm51bGxhcmUgdHV0dGUgbGUgbW9kaWZpY2hlIGEgdW5hIGxpbmVhIGJhdHRpOiAgICBVIChVIG1haXVzY29sYSkKKyAgICAgUGVyIGFubnVsbGFyZSBsJ2FubnVsbGFtZW50byBbInJlZG8iXSAgCSAgYmF0dGk6ICAgIENUUkwtcgogCiAKIH5+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+fgotCQkgIExlemlvbmUgMy4yOiBJTCBDT01BTkRPIFJFUExBQ0UgW1JJTVBJQVpaQV0KKwkJIExlemlvbmUgMy4xOiBJTCBDT01BTkRPIFBVVCBbTUVUVEksIFBPTkldCiAKIAotICAqKiBCYXR0aSAgciAgZSB1bmEgbGV0dGVyYSBwZXIgcmltcGlhenphcmUgaWwgY2FyYXR0ZXJlIHNvdHRvIGFsIGN1cnNvcmUuICoqCisgICAqKiBCYXR0aSAgcCAgcGVyIHBvcnJlIFtwdXRdIHRlc3RvIChjYW5jZWxsYXRvIHByaW1hKSBkb3BvIGlsIGN1cnNvcmUuICoqCiAKLSAgMS4gTXVvdmkgaWwgY3Vyc29yZSBhbGxhIHByaW1hIGxpbmVhIHF1aSBzb3R0bywgaW5kaWNhdGEgZGEgLS0tPgorICAxLiBNdW92aSBpbCBjdXJzb3JlIGFsbGEgcHJpbWEgbGluZWEgaW5kaWNhdGEgY29uIC0tLT4gcXVpIGluIGJhc3NvLgorCisgIDIuIEJhdHRpICBkZCAgcGVyIGNhbmNlbGxhcmUgbGEgbGluZWEgZSBkZXBvc2l0YXJsYSBpbiB1biByZWdpc3RybyBkaSBWaW0uCisKKyAgMy4gTXVvdmkgaWwgY3Vyc29yZSBmaW5vIGFsbGEgbGluZWEgYykgU09QUkEgcXVlbGxhIGRvdmUgYW5kcmViYmUgbWVzc2EKKyAgICAgbGEgbGluZWEgYXBwZW5hIGNhbmNlbGxhdGEuCisKKyAgNC4gQmF0dGkgIHAgIHBlciBtZXR0ZXJlIGxhIGxpbmVhIHNvdHRvIGlsIGN1cnNvcmUuCisKKyAgNS4gUmlwZXRpIGkgcGFzc2kgZGEgMiBhIDQgcGVyIG1ldHRlcmUgdHV0dGUgbGUgbGluZWUgbmVsIGdpdXN0byBvcmRpbmUuCisKKy0tLT4gZCkgIFB1b2kgaW1wYXJhcmxhIHR1PworLS0tPiBiKSAgTGUgdmlvbGUgc29ubyBibHUsCistLS0+IGMpICBMYSBzYWdnZXp6YSBzaSBpbXBhcmEsCistLS0+IGEpICBMZSByb3NlIHNvbm8gcm9zc2UsCisKKworfn5+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+CisJICAgICAgTGV6aW9uZSAzLjI6IElMIENPTUFORE8gUkVQTEFDRSBbUklNUElBWlpBUkVdCisKKworICAqKiBCYXR0aSAgcnggIHBlciByaW1waWF6emFyZSBpbCBjYXJhdHRlcmUgc290dG8gYWwgY3Vyc29yZSBjb24geCAuICoqCisKKyAgMS4gTXVvdmkgaWwgY3Vyc29yZSBhbGxhIHByaW1hIGxpbmVhIHF1aSBzb3R0bywgaW5kaWNhdGEgZGEgLS0tPi4KIAogICAyLiBNdW92aSBpbCBjdXJzb3JlIGZpbm8gYSBwb3NpemlvbmFybG8gc29wcmEgaWwgcHJpbW8gZXJyb3JlLgogCi0gIDMuIEJhdHRpICAgcgllIHBvaSBpbCBjYXJhdHRlcmUgY2hlIGRvdnJlYmJlIHJpbXBpYXp6YXJlIGwnZXJyb3JlLgorICAzLiBCYXR0aSAgIHIJZSBwb2kgaWwgY2FyYXR0ZXJlIGNoZSBkb3ZyZWJiZSBzdGFyZSBxdWkuCiAKLSAgNC4gUmlwZXRpIGkgcGFzc2kgMiBlIDMgZmluY2jpIGxhIHByaW1hIGxpbmVhIOggY29ycmV0dGEuCisgIDQuIFJpcGV0aSBpIHBhc3NpIDIgZSAzIGZpbmNo6SBsYSBwcmltYSBsaW5lYSDoIHVndWFsZSBhbGxhIHNlY29uZGEuCiAKLS0tLT4gIEltbWF0dGVuZG8gcXVldHRhIGxpYmVhLCBxdWFsY3VubyBobyBwcmVkYXRvIGFsY3VuaSB0b3N0aSBzYmFsbGlhdGkhCistLS0+ICBBbW1hdHRlbmRvIHF1ZXR0YSBsaW5jZSwgcXVhbGN1bm8gaG8gcHJlZGF0byBhbGN1bmkgdG9zdGkgc2JhbGxpYXRpIQogLS0tPiAgSW1tZXR0ZW5kbyBxdWVzdGEgbGluZWEsIHF1YWxjdW5vIGhhIHByZW11dG8gYWxjdW5pIHRhc3RpIHNiYWdsaWF0aSEKIAogICA1LiBPcmEgcGFzc2EgYWxsYSBMZXppb25lIDMuMi4KQEAgLTMyMCwxMDEgKzQxMywxMDAgQEAKIAogCiB+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+fn4KLQkJTGV6aW9uZSAzLjM6IElMIENPTUFORE8gQ0hBTkdFIFtDQU1CSUFdCisJICAgICBMZXppb25lIDMuMzogTCdPUEVSQVRPUkUgQ0hBTkdFIFtDQU1CSUFdCiAKIAotICAgICAqKiBQZXIgY2FtYmlhcmUgdW5hIHBhcm9sYSBpbiB0dXR0byBvIGluIHBhcnRlLCBiYXR0aSAgY3cgLiAqKgorICAgICAqKiBQZXIgY2FtYmlhcmUgZmlubyBhbGxhIGZpbmUgZGkgdW5hIHBhcm9sYSwgYmF0dGkgIGNlIC4gKioKIAotICAxLiBNdW92aSBpbCBjdXJzb3JlIGFsbGEgcHJpbWEgbGluZWEgcXVpIHNvdHRvLCBpbmRpY2F0YSBkYSAtLS0+CisgIDEuIE11b3ZpIGlsIGN1cnNvcmUgYWxsYSBwcmltYSBsaW5lYSBxdWkgc290dG8sIGluZGljYXRhIGRhIC0tLT4uCiAKLSAgMi4gUG9zaXppb25hIGlsIGN1cnNvcmUgYWxsYSB1IGluIGx1YncuCisgIDIuIFBvc2l6aW9uYSBpbCBjdXJzb3JlIGFsbGEgIHUgIGluIGx1YncuCiAKLSAgMy4gQmF0dGkgIGN3ICBlIGxhIHBhcm9sYSBjb3JyZXR0YSAoaW4gcXVlc3RvIGNhc28sIGJhdHRpICBpbmVhICAgICkuCisgIDMuIEJhdHRpICBjZSAgZSBsYSBwYXJvbGEgY29ycmV0dGEgKGluIHF1ZXN0byBjYXNvLCBiYXR0aSAgaW5lYSAgICApLgogCi0gIDQuIFByZW1pIDxFU0M+IGUgdmFpIHN1bGwnZXJyb3JlIHNlZ3VlbnRlIChzdWwgcHJpbW8gY2FyYXR0ZXJlIGRhIG1vZGlmaWNhcmUpLgorICA0LiBQcmVtaSA8RVNDPiBlIHZhaSBzdWwgcHJvc3NpbW8gY2FyYXR0ZXJlIGRhIG1vZGlmaWNhcmUuCiAKICAgNS4gUmlwZXRpIGkgcGFzc2kgMyBlIDQgZmluY2jpIGxhIHByaW1hIGZyYXNlIOggdWd1YWxlIGFsbGEgc2Vjb25kYS4KIAotLS0tPiBRdWVzdGEgbHVidyBoYSBhbGN1bmUgcHB0ZmQgZGEgYXNkZXJ0IHVzZ2ZrIGlsIGNvbWFuZG8gQ0hBTkdFLgotLS0tPiBRdWVzdGEgbGluZWEgaGEgYWxjdW5lIHBhcm9sZSBkYSBjYW1iaWFyZSB1c2FuZG8gaWwgY29tYW5kbyBDSEFOR0UuCistLS0+IFF1ZXN0YSBsdWJ3IGhhIGFsY3VuZSBwcHRmZCBkYSBhc2RlcnQgdXNnZmsgbCdvcGVyYXRvcmUgQ0hBTkdFLgorLS0tPiBRdWVzdGEgbGluZWEgaGEgYWxjdW5lIHBhcm9sZSBkYSBjYW1iaWFyZSB1c2FuZG8gbCdvcGVyYXRvcmUgQ0hBTkdFLgogCi1Ob3RhIGNoZSAgY3cgIG5vbiBzb2xvIHJpbXBpYXp6YSBsYSBwYXJvbGEsIG1hIHRpIG1ldHRlIGFuY2hlIGluIE1vZGFsaXTgCi1JbnNlcmltZW50byBbSW5zZXJ0IE1vZGVdCitOb3RhIGNoZSAgY2UgIGNhbmNlbGxhIGxhIHBhcm9sYSwgZSB0aSBtZXR0ZSBhbmNoZSBpbiBNb2RhbGl04CBJbnNlcmltZW50bworICAgIFtJbnNlcnQgTW9kZV0KIAogCiB+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+fn4KLQkJICAgICAgIExlemlvbmUgMy40OiBBTFRSSSBDQU1CSUFNRU5USSBVU0FORE8gYworCQkgIExlemlvbmUgMy40OiBBTFRSSSBDQU1CSUFNRU5USSBVU0FORE8gYwogCisqKiBMJ29wZXJhdG9yZSBjIFtDSEFOR0VdIGFnaXNjZSBzdWdsaSBzdGVzc2kgbW92aW1lbnRpIGRpICBkICBbREVMRVRFXSAqKgogCi0qKiBJbCBjb21hbmRvIGMgW0NIQU5HRV0gYWdpc2NlIHN1Z2xpIHN0ZXNzaSBvZ2dldHRpIGRlbCBjb21hbmRvIGQgW0RFTEVURV0gKioKKyAgMS4gTCdvcGVyYXRvcmUgQ0hBTkdFIHNpIGNvbXBvcnRhIGNvbWUgREVMRVRFLiAgSWwgZm9ybWF0byDoOgogCi0gIDEuIElsIGNvbWFuZG8gQ0hBTkdFIHNpIGNvbXBvcnRhIGNvbWUgREVMRVRFLiAgSWwgZm9ybWF0byDoOgorICAgICAgIGMgICBbbnVtZXJvXSAgIG1vdmltZW50bwogCi0gICAgICAgW251bWVyb10gICBjICAgb2dnZXR0bwkgT1BQVVJFICAgIGMJW251bWVyb10gICBvZ2dldHRvCisgIDIuIEkgbW92aW1lbnRpIHNvbm8gZ2xpIHN0ZXNzaSwKKyAgICAgYWQgZXMuIHcgKHdvcmQsIHBhcm9sYSksICQgKGZpbmUgbGluZWEpLCBldGMuCiAKLSAgMi4gR2xpIG9nZ2V0dGkgc29ubyBnbGkgc3Rlc3NpLCBhZCBlcy4gdyAod29yZCwgcGFyb2xhKSwgJCAoZmluZSBsaW5lYSksIGV0Yy4KLQotICAzLiBNdW92aSBpbCBjdXJzb3JlIGFsbGEgcHJpbWEgbGluZWEgcXVpIHNvdHRvLCBpbmRpY2F0YSBkYSAtLS0+CisgIDMuIE11b3ZpIGlsIGN1cnNvcmUgYWxsYSBwcmltYSBsaW5lYSBxdWkgc290dG8sIGluZGljYXRhIGRhIC0tLT4uCiAKICAgNC4gUG9zaXppb25hIGlsIGN1cnNvcmUgYWwgcHJpbW8gZXJyb3JlLgogCi0gIDUuIEJhdHRpICBjJCAgcGVyIG1vZGlmaWNhcmUgaWwgcmVzdG8gZGVsbGEgbGluZWEgc2Vjb25kbyBpbCBtb2RlbGxvIGRlbGxhCi0gICAgIGxpbmVhIHN1Y2Nlc3NpdmEsIGUgcXVhbmRvIGhhaSBmaW5pdG8gcHJlbWkgPEVTQz4KKyAgNS4gQmF0dGkgIGMkICBlIGluc2VyaXNjaSByZXN0byBkZWxsYSBsaW5lYSB1dGlsaXp6YW5kbyBjb21lIG1vZGVsbG8gbGEKKyAgICAgbGluZWEgc2VndWVudGUsIGUgcXVhbmRvIGhhaSBmaW5pdG8gcHJlbWkgPEVTQz4KIAogLS0tPiBMYSBmaW5lIGRpIHF1ZXN0YSBsaW5lYSBkZXZlIGVzc2VyZSBhaXV0YXRhIGEgZGl2ZW5pcmUgY29tZSBsYSBzZWd1ZW50ZS4KIC0tLT4gTGEgZmluZSBkaSBxdWVzdGEgbGluZWEgZGV2ZSBlc3NlcmUgY29ycmV0dGEgdXNhbmRvIGlsIGNvbWFuZG8gIGMkICAuCiAKLQorTk9UQTogIFB1b2kgdXNhcmUgaWwgdGFzdG8gQmFja3NwYWNlIHNlIGRldmkgY29ycmVnZ2VyZSBlcnJvcmkgZGkgYmF0dGl0dXJhLgogfn5+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+CiAJCQkgICAgICAgTGV6aW9uZSAzIFNPTU1BUklPCiAKIAotICAxLiBQZXIgcmVpbnNlcmlyZSB0ZXN0byBjaGUgaGFpIGFwcGVuYSBjYW5jZWxsYXRvLCBiYXR0aSAgIHAgICAuICBRdWVzdG8KKyAgMS4gUGVyIHJlaW5zZXJpcmUgZGVsIHRlc3RvIGFwcGVuYSBjYW5jZWxsYXRvLCBiYXR0aSAgIHAgICAuICBRdWVzdG8KICAgICAgaW5zZXJpc2NlIFtwb25lXSBpbCB0ZXN0byBjYW5jZWxsYXRvIERPUE8gaWwgY3Vyc29yZSAoc2UgZXJhIHN0YXRhIHRvbHRhCiAgICAgIHVuYSBsaW5lYSBpbnRlcmEsIHF1ZXN0YSB2ZXJy4CBtZXNzYSBuZWxsYSBsaW5lYSBTT1RUTyBpbCBjdXJzb3JlKS4KIAogICAyLiBQZXIgcmltcGlhenphcmUgaWwgY2FyYXR0ZXJlIHNvdHRvIGlsIGN1cnNvcmUsIGJhdHRpICAgciAgIGUgcG9pIGlsCi0gICAgIGNhcmF0dGVyZSBzb3N0aXR1dGl2by4KKyAgICAgY2FyYXR0ZXJlIGNoZSB2dW9pIHNvc3RpdHVpcmUuCiAKLSAgMy4gSWwgY29tYW5kbyBDSEFOR0UgdGkgcGVybWV0dGUgZGkgY2FtYmlhcmUgbCdvZ2dldHRvIHNwZWNpZmljYXRvIGRhbAotICAgICBjdXJzb3JlIGZpbm8gYWxsYSBmaW5lIGRlbGwnb2dnZXR0by4gQWQgZXMuIEJhdHRpICBjdyAgcGVyIGNhbWJpYXJlIGRhbAotICAgICBjdXJzb3JlIGFsbGEgZmluZSBkZWxsYSBwYXJvbGEsICBjJCAgcGVyIGNhbWJpYXJlIGZpbm8gYSBmaW5lIGxpbmVhLgorICAzLiBMJ29wZXJhdG9yZSBjaGFuZ2UgdGkgcGVybWV0dGUgZGkgY2FtYmlhcmUgZGFsIGN1cnNvcmUgZmlubyBhIGRvdmUKKyAgICAgYXJyaXZhIGlsIG1vdmltZW50by4gIEFkIGVzLiBCYXR0aSAgY2UgIHBlciBjYW1iaWFyZSBkYWwgY3Vyc29yZQorICAgICBmaW5vIGFsbGEgZmluZSBkZWxsYSBwYXJvbGEsICBjJCAgcGVyIGNhbWJpYXJlIGZpbm8gYSBmaW5lIGxpbmVhLgogCi0gIDQuIElsIGZvcm1hdG8gZGVsIGNvbWFuZG8gQ0hBTkdFIOg6CisgIDQuIElsIGZvcm1hdG8gZGkgIGNoYW5nZSAg6DoKIAotCSBbbnVtZXJvXSAgIGMJb2dnZXR0bwkgICAgICBPUFBVUkUJYyAgIFtudW1lcm9dICAgb2dnZXR0bworICAgICAgIGMgICBbbnVtZXJvXSAgIG1vdmltZW50bwogCiBPcmEgdmFpIGFsbGEgcHJvc3NpbWEgTGV6aW9uZS4KIAogCiAKIH5+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+fgotCQkgICAgIExlemlvbmUgNC4xOiBQT1NJWklPTkFNRU5URSBFIFNJVFVBWklPTkUgRklMRQorCQkgICAgIExlemlvbmUgNC4xOiBQT1NJWklPTkFNRU5UTyBFIFNJVFVBWklPTkUgRklMRQogCisgICoqIEJhdHRpIENUUkwtRyBwZXIgdmVkZXJlIGEgY2hlIHB1bnRvIHNlaSBuZWwgZmlsZSBlIGxhIHNpdHVhemlvbmUgKioKKyAgKiogICAgIGRlbCBmaWxlLiAgQmF0dGkgRyAgcGVyIHJhZ2dpdW5nZXJlIHVuYSBsaW5lYSBuZWwgZmlsZS4gICAgICAqKgogCi0gICoqIEJhdHRpIENUUkwtZyBwZXIgdmVkZXJlIGEgY2hlIHB1bnRvIHNlaSBuZWwgZmlsZSBlIGxhIHNpdHVhemlvbmUgZGVsIGZpbGUuCi0gICAgIEJhdHRpIFtudW1lcm9dIEcgIHBlciByYWdnaXVuZ2VyZSBpbCBudW1lcm8gZGVsbGEgbGluZWEgW251bWVyb10gbmVsIGZpbGUuCi0gICAgIEJhdHRpIFtudW1lcm9dICUgIHBlciBwb3NpemlvbmFydGkgYWxsYSBwZXJjZW50dWFsZSBbbnVtZXJvXSBuZWwgZmlsZSAqKgorICBOT1RBOiBMZWdnaSBsJ2ludGVyYSBMZXppb25lIHByaW1hIGRpIGVzZWd1aXJlIHVuIHF1YWxzaWFzaSBwYXNzbyEhCiAKLSAgTk9UQTogTGVnZ2kgbCdpbnRlcmEgTGV6aW9uZSBwcmltYSBkaSBlc2VndWlyZSB1biBxdWFsdW5xdWUgY29tYW5kbyEhCisgIDEuIFRpZW5pIHByZW11dG8gaWwgdGFzdG8gQ1RSTCBlIGJhdHRpICBnICAuICBPc3NpYSBiYXR0aSBDVFJMLUcuCisgICAgIFVuIG1lc3NhZ2dpbyBhcHBhcmly4CBpbiBmb25kbyBhbGxhIHBhZ2luYSBjb24gaWwgTk9NRSBGSUxFIGUgbGEKKyAgICAgcG9zaXppb25lIG5lbCBmaWxlLiAgUmljb3JkYXRpIGlsIG51bWVybyBkZWxsYSBsaW5lYSBwZXIgaWwgUGFzc28gMy4KIAotICAxLiBUaWVuaSBwcmVtdXRvIGlsIHRhc3RvIENUUkwgZSBiYXR0aSAgZyAgLiAgVW5hIGxpbmVhIGRpIHNpdHVhemlvbmUKLSAgICAgc2Fy4CB2aXNpYmlsZSBpbiBmb25kbyBhbGxhIHBhZ2luYSBjb24gaWwgTk9NRSBGSUxFIGUgbGEgbGluZWEKLSAgICAgaW4gY3VpIHNlaSBwb3NpemlvbmF0by4gIFJpY29yZGF0aSBpbCBudW1lcm8gZGVsbGEgbGluZWEgcGVyIGlsIFBhc3NvIDMuCitOT1RBOiBMYSBwb3NpemlvbmUgZGVsIGN1cnNvcmUgc2kgdmVkZSBuZWxsJ2FuZ29sbyBpbiBiYXNzbyBhIGRlc3RyYSBkZWxsbworICAgICAgc2NoZXJtbywgc2Ug6CBpbXBvc3RhdGEgbCdvcHppb25lICdydWxlcicgKHJpZ2hlbGxvLCB2ZWRpIDpoZWxwIHJ1bGVyKS4KIAotICAyLiBQcmVtaSAgRyAgW0cgTWFpdXNjb2xvXSBwZXIgcG9zaXppb25hcnRpIGFsbGEgZmluZSBkZWwgZmlsZS4KKyAgMi4gUHJlbWkgIEcgIFtHIE1haXVzY29sb10gcGVyIHBvc2l6aW9uYXJ0aSBpbiBmb25kbyBhbCBmaWxlLgorICAgICBCYXR0aSBnZyAgcGVyIHBvc2l6aW9uYXJ0aSBpbiBjaW1hIGFsIGZpbGUuCiAKICAgMy4gQmF0dGkgaWwgbnVtZXJvIGRlbGxhIGxpbmVhIGluIGN1aSB0aSB0cm92YXZpIGUgcG9pICBHICAuICBRdWVzdG8gdGkKICAgICAgcmlwb3J0ZXLgIGZpbm8gYWxsYSBsaW5lYSBpbiBjdWkgdGkgdHJvdmF2aSBxdWFuZG8gYXZldmkgYmF0dHV0byBDVFJMLWcuCi0gICAgIChNZW50cmUgYmF0dGkgaSBudW1lcmksIHF1ZXN0aSBOT04gc2FyYW5ubyB2aXN1YWxpenphdGkgc3VsbG8gc2NoZXJtby4pCiAKICAgNC4gU2UgdGkgc2VudGkgc2ljdXJvIG5lbCBmYXJsbywgZXNlZ3VpIGkgcGFzc2kgZGEgMSBhIDMuCiAKLQogfn5+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+CiAJCUxlemlvbmUgNC4yOiBJTCBDT01BTkRPIFNFQVJDSCBbUklDRVJDQV0KIAotCiAgICAgICoqIEJhdHRpICAvICBzZWd1aXRvIGRhIHVuYSBmcmFzZSBwZXIgcmljZXJjYXJlIHF1ZWxsYSBmcmFzZS4gKioKIAogICAxLiBpbiBNb2RhbGl04CBOb3JtYWxlIGJhdHRpIGlsIGNhcmF0dGVyZSAgLyAgLiBOb3RhIGNoZSBsYSAiLyIgZSBpbCBjdXJzb3JlCkBAIC00MjUsNDEgKzUxNyw0MSBAQAogICAzLiBQZXIgcmljZXJjYXJlIGFuY29yYSBsYSBzdGVzc2EgZnJhc2UsIGJhdHRpIHNvbHRhbnRvICAgICAgIG4gIC4KICAgICAgUGVyIHJpY2VyY2FyZSBsYSBzdGVzc2EgZnJhc2UgaW4gZGlyZXppb25lIG9wcG9zdGEsIGJhdHRpICBOICAuCiAKLSAgNC4gU2UgdnVvaSByaWNlcmNhcmUgdW5hIGZyYXNlIGluIGRpcmV6aW9uZSBvcHBvc3RhIChpbiBzdSksIHVzYSBpbAotICAgICBjb21hbmRvICAgPyAgIGludmVjZSBjaGUgICAvICAuCisgIDQuIFBlciByaWNlcmNhcmUgdW5hIGZyYXNlIG5lbGxhIGRpcmV6aW9uZSBvcHBvc3RhLCB1c2EgID8gIGFsIHBvc3RvIGRpICAvICAuCiAKLS0tLT4gUXVhbmRvIGxhIHJpY2VyY2EgYXJyaXZhIGEgZmluZSBmaWxlLCByaWNvbWluY2lhIGRhbGwnaW5pemlvIGRlbCBmaWxlLgorICA1LiBQZXIgdG9ybmFyZSBkb3ZlIGVyaSBwcmltYSBuZWwgZmlsZSBwcmVtaSAgQ1RSTC1PICAodGllbmkgaWwgdGFzdG8gQ1RSTAorICAgICBzY2hpYWNjaWF0byBtZW50cmUgcHJlbWkgbGEgbGV0dGVyYSBvKS4gIFJpcGV0aSAgQ1RSTC1PICBwZXIgYW5kYXJlIGFuY29yYQorICAgICBpbmRpZXRyby4gUHVvaSB1c2FyZSAgQ1RSTC1JICBwZXIgdG9ybmFyZSBpbiBhdmFudGkuCiAKLSAgImVycnJvb3JlIiBub24g6CBpbCBtb2RvIGdpdXN0byBkaSBkaWdpdGFyZSBlcnJvcmU7IGVycnJvb3JlIOggdW4gZXJyb3JlLgotCi0KK05PVEE6ICJlcnJyb29yZSIgbm9uIOggaWwgbW9kbyBnaXVzdG8gZGkgZGlnaXRhcmUgZXJyb3JlOyBlcnJyb29yZSDoIHVuIGVycm9yZS4KK05PVEE6IFF1YW5kbyBsYSByaWNlcmNhIGFycml2YSBhIGZpbmUgZmlsZSwgcmljb21pbmNpYSBkYWxsJ2luaXppbyBkZWwgZmlsZSwKKyAgICAgIGEgbWVubyBjaGUgbCdvcHppb25lICd3cmFwc2Nhbicgc2lhIHN0YXRhIGRpc2F0dGl2YXRhLgogCiB+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+fn4KLQkJICAgTGV6aW9uZSA0LjM6IFJJQ0VSQ0EgREkgUEFSRU5URVNJIENPUlJJU1BPTkRFTlRJCisJICAgICAgTGV6aW9uZSA0LjM6IFJJQ0VSQ0EgREkgUEFSRU5URVNJIENPUlJJU1BPTkRFTlRJCiAKIAotCSAqKiBCYXR0aSAgJSAgcGVyIHRyb3ZhcmUgdW5hICApLF0sIG8gfSAgY29ycmlwb25kZW50aS4gKioKKwkgKiogQmF0dGkgICUgIHBlciB0cm92YXJlIHVuYSAgKSxdLCBvIH0gIGNvcnJpc3BvbmRlbnRlLiAqKgogCi0gIDEuIFBvc2l6aW9uYSBpbCBjdXJzb3JlIHN1IHVuICgsIFssIG9yIHsgbmVsbGEgbGluZWEsIGluZGljYXRhIGRhIC0tLT4KKyAgMS4gUG9zaXppb25hIGlsIGN1cnNvcmUgc3UgdW5hICgsIFssIG8geyBuZWxsYSBsaW5lYSBzb3R0bywgaW5kaWNhdGEgZGEgLS0tPi4KIAogICAyLiBBZGVzc28gYmF0dGkgaWwgY2FyYXR0ZXJlICAgJSAgLgogCi0gIDMuIElsIGN1cnNvcmUgZG92cmViYmUgb3JhIHRyb3ZhcnNpIHN1bGxhIHBhcmVudGVzaSBjb3JyaXNwb25kZW50ZS4KKyAgMy4gSWwgY3Vyc29yZSBzaSBzcG9zdGVy4CBzdWxsYSBwYXJlbnRlc2kgY29ycmlzcG9uZGVudGUuCiAKLSAgNC4gQmF0dGkgICUgIHBlciBtdW92ZXJlIGlsIGN1cnNvcmUgYWxsYSBwYXJlbnRlc2kgZGkgcHJpbWEgKGNvcnJpc3BvbmRlbnRlKQorICA0LiBCYXR0aSAgJSAgcGVyIG11b3ZlcmUgaWwgY3Vyc29yZSBhbGwnYWx0cmEgcGFyZW50ZXNpIGNvcnJpc3BvbmRlbnRlLgogCiAtLS0+IFF1ZXN0YSAoIOggdW5hIGxpbmVhIGRpIHRlc3QgY29uICgsIFsgXSBlIHsgfSBhbCBzdW8gaW50ZXJuby4gKSkKIAorCiBOT1RBOiBRdWVzdG8g6CBtb2x0byB1dGlsZSBuZWwgImRlYnVnIiBkaSB1biBwcm9ncmFtbWEgY29uIHBhcmVudGVzaSBlcnJhdGUhCiAKIAogCiAKIAotCiB+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+fn4KLQkJICAgICAgTGV6aW9uZSA0LjQ6IFVOIE1PRE8gUEVSIENPUlJFR0dFUkUgR0xJIEVSUk9SSQotCisJICAgIExlemlvbmUgNC40OiBMJ09QRVJBVE9SRSBTT1NUSVRVWklPTkUgKFNVQlNUSVRVVEUpCiAKICAgKiogQmF0dGkgIDpzL3ZlY2NoaW8vbnVvdm8vZyAgcGVyIHNvc3RpdHVpcmUgJ251b3ZvJyBhICd2ZWNjaGlvJy4gKioKIApAQCAtNDY4LDMwICs1NjAsMzMgQEAKICAgMi4gQmF0dGkgIDpzL2xsYS9sYSA8SU5WSU8+IC4gIE5vdGEgY2hlIHF1ZXN0byBjb21hbmRvIGNhbWJpYSBzb2xvCiAgICAgIExBIFBSSU1BIG9jY29ycmVuemEgZGkgImxsYSIgc3VsbGEgbGluZWEuCiAKLSAgMy4gQWRlc3NvIGJhdHRpICA6cy9sbGEvbGEvZyAgZG92ZSAiZyIgc3RhIHBlciAiZ2xvYmFsbWVudGUiIHN1bGxhIGxpbmVhLgotICAgICBRdWVzdG8gY2FtYmlhIFRVVFRFIGxlIG9jY29ycmVuemUgZGkgImxsYSIgc3VsbGEgbGluZWEuCisgIDMuIEFkZXNzbyBiYXR0aSAgOnMvbGxhL2xhL2cgLiBBZ2dpdW5nZW5kbyBsYSBmbGFnICBnICBzaSBjaGllZGUgZGkKKyAgICAgc29zdGl0dWlyZSAiZ2xvYmFsbWVudGUiIHN1bGxhIGxpbmVhLCBvc3NpYSB0dXR0ZSBsZSBvY2NvcnJlbnplCisgICAgIGRpICJsbGEiIHN1bGxhIGxpbmVhLgogCiAtLS0+IGxsYSBzdGFnaW9uZSBtaWdsaW9yZSBwZXIgbGxhIGZpb3JpdHVyYSDoIGxsYSBwcmltYXZlcmEuCiAKICAgNC4gUGVyIGNhbWJpYXJlIG9nbmkgcmljb3JyZW56YSBkaSB1bmEgc3RyaW5nYSBkaSBjYXJhdHRlcmkgdHJhIGR1ZSBsaW5lZSwKLSAgICAgYmF0dGkgOiMsI3MvdmVjY2hpby9udW92by9nICBkb3ZlICMsIyBzb25vIGkgbnVtZXJpIGRlbGxlIGR1ZSBsaW5lZS4KKyAgICAgYmF0dGkgOiMsI3MvdmVjY2hpby9udW92by9nICBkb3ZlICMsIyBzb25vIGkgbnVtZXJpIGNoZSBkZWxpbWl0YW5vCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWwgZ3J1cHBvIGRpIGxpbmVlIGluIGN1aSBzaSB2dW9sZSBzb3N0aXR1aXJlLgogICAgICBCYXR0aSA6JXMvdmVjY2hpby9udW92by9nICAgIHBlciBjYW1iaWFyZSBvZ25pIG9jY29ycmVuemEgbmVsbCdpbnRlcm8gZmlsZS4KLQotCi0KLQorICAgICBCYXR0aSA6JXMvdmVjY2hpby9udW92by9nYyAgIHBlciB0cm92YXJlIG9nbmkgb2Njb3JyZW56YSBuZWxsJ2ludGVybyBmaWxlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmljZXZlbmRvIHBlciBvZ251bmEgdW5hIHJpY2hpZXN0YSBzZQorCQkJCSAgZWZmZXR0dWFyZSBvIG1lbm8gbGEgc29zdGl0dXppb25lLgogfn5+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+CiAJCQkgICAgICAgTGV6aW9uZSA0IFNPTU1BUklPCiAKIAotMS4gQ1RSTC1nICB2aXN1YWxpenphIGEgY2hlIHB1bnRvIHNlaSBuZWwgZmlsZSBlIGxhIHNpdHVhemlvbmUgZGVsIGZpbGUuCi0gICBHICAgICAgIFtHIE1haXVzY29sb10gdGkgcG9ydGEgYWxsYSBmaW5lIGRlbCBmaWxlLiBVbiBudW1lcm8gZGkgbGluZWEKLSAgIHNlZ3VpdG8gZGEgIEcgIFtHIE1haXVzY29sb10gdGkgcG9ydGEgYSBxdWVsIG51bWVybyBkaSBsaW5lYSBuZWwgZmlsZS4KKzEuIENUUkwtRyAgdmlzdWFsaXp6YSBhIGNoZSBwdW50byBzZWkgbmVsIGZpbGUgZSBsYSBzaXR1YXppb25lIGRlbCBmaWxlLgorICAgICAgICAgIEcgIFtHIE1haXVzY29sb10gdGkgcG9ydGEgYWxsJ3VsdGltYSBsaW5lYSBkZWwgZmlsZS4KKyAgIG51bWVybyBHICB0aSBwb3J0YSBhbGxhIGxpbmVhIGNvbiBxdWVsIG51bWVyby4KKyAgICAgICAgIGdnICB0aSBwb3J0YSBhbGxhIHByaW1hIGxpbmVhIGRlbCBmaWxlLgogCiAyLiBCYXR0ZW5kbyAgLyAgc2VndWl0byBkYSB1bmEgZnJhc2UgcmljZXJjYSBJTiBBVkFOVEkgcXVlbGxhIGZyYXNlLgogICAgQmF0dGVuZG8gID8gIHNlZ3VpdG8gZGEgdW5hIGZyYXNlIHJpY2VyY2EgQUxMJ0lORElFVFJPIHF1ZWxsYSBmcmFzZS4KICAgIERPUE8gdW5hIHJpY2VyY2EgYmF0dGkgICAgbiAgIHBlciB0cm92YXJlIGxhIHByb3NzaW1hIG9jY29ycmVuemEgbmVsbGEKICAgIHN0ZXNzYSBkaXJlemlvbmUsIG9wcHVyZSAgTiAgIHBlciBjZXJjYXJlIGluIGRpcmV6aW9uZSBvcHBvc3RhLgorICAgQ1RSTC1PIHRpIHBvcnRhIGFsbGEgcG9zaXppb25lIHByZWNlZGVudGUsIENUUkwtSSBhIHF1ZWxsYSBwafkgbnVvdmEuCiAKIDMuIEJhdHRlbmRvICAlICBtZW50cmUgaWwgY3Vyc29yZSBzaSB0cm92YSBzdSAgKCwpLFssXSx7LCBvcHB1cmUgfQogICAgdGkgcG9zaXppb25pIHN1bGxhIGNvcnJpc3BvbmRlbnRlIHBhcmVudGVzaS4KQEAgLTUwMSwzNiArNTk2LDM0IEBACiAgICBQZXIgc29zdGl0dWlyZSBmcmFzaSB0cmEgMiBudW1lcmkgZGkgbGluZWEgWyNdICBiYXR0aSAgIDojLCNzL3ZlY2NoaW8vbnVvdm8vZwogICAgUGVyIHNvc3RpdHVpcmUgdHV0dGUgbGUgb2Njb3JyZW56ZSBuZWwgZmlsZSBiYXR0aQkgICAgIDolcy92ZWNjaGlvL251b3ZvL2cKICAgIFBlciBjaGllZGVyZSBjb25mZXJtYSBvZ25pIHZvbHRhIGFnZ2l1bmdpICdjJwkgICAgOiVzL3ZlY2NoaW8vbnVvdm8vZ2MKLQotCiB+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+fn4KLQkJTGV6aW9uZSA1LjE6IENPTUUgRVNFR1VJUkUgVU4gQ09NQU5ETyBFU1RFUk5PCisJICAgICAgTGV6aW9uZSA1LjE6IENPTUUgRVNFR1VJUkUgVU4gQ09NQU5ETyBFU1RFUk5PCiAKIAotICAgKiogQmF0dGkgIDohCXNlZ3VpdG8gZGEgdW4gY29tYW5kbyBlc3Rlcm5vIHBlciBlc2VndWlyZSBpbCBjb21hbmRvLiAqKgorICAqKiBCYXR0aSAgOiEgIHNlZ3VpdG8gZGEgdW4gY29tYW5kbyBlc3Rlcm5vIHBlciBlc2VndWlyZSBxdWVsIGNvbWFuZG8uICoqCiAKLSAgMS4gQmF0dGkgaWwgY29tYW5kbyAgIDogICBQZXIgcG9zaXppb25hcmUgaWwgY3Vyc29yZSBpbiBmb25kbyBhbGxvIHNjaGVybW8uCi0gICAgIENp8iB0aSBwZXJtZXR0ZSBkaSBpbW1ldHRlcmUgdW4gY29tYW5kby4KKyAgMS4gQmF0dGkgaWwgY29tYW5kbyAgIDogICBwZXIgcG9zaXppb25hcmUgaWwgY3Vyc29yZSBpbiBmb25kbyBhbGxvIHNjaGVybW8uCisgICAgIENp8iB0aSBwZXJtZXR0ZSBkaSBpbW1ldHRlcmUgdW4gY29tYW5kbyBkYWxsYSBsaW5lYSBjb21hbmRpLgogCiAgIDIuIEFkZXNzbyBiYXR0aSBpbCBjYXJhdHRlcmUgICEgIChwdW50byBlc2NsYW1hdGl2bykuICBDafIgdGkgcGVybWV0dGUgZGkKLSAgICAgZXNlZ3VpcmUgcXVhbHNpYXNpIGNvbWFuZG8gZXN0ZXJubyBjaGUgc2kgcHXyIGVzZWd1aXJlIG5lbGxhICJzaGVsbCIuCisgICAgIGVzZWd1aXJlIHF1YWxzaWFzaSBjb21hbmRvIGVzdGVybm8gc2kgcG9zc2EgZXNlZ3VpcmUgbmVsbGEgInNoZWxsIi4KIAogICAzLiBBZCBlc2VtcGlvIGJhdHRpICAgbHMgICBkb3BvIGlsICEgZSBwb2kgcHJlbWkgPElOVklPPi4gIFF1ZXN0bwogICAgICB2aXN1YWxpenphIHVuYSBsaXN0YSBkZWxsYSB0dWEgZGlyZWN0b3J5LCBwcm9wcmlvIGNvbWUgc2UgZm9zc2kgaW4gdW5hCi0gICAgICJzaGVsbCIuIFVzYSAgIDohZGlyICBzZSAgbHMgIG5vbiBmdW56aW9uYS4gICBbVW5peDpscyAgTVNET1M6ZGlyXQorICAgICAic2hlbGwiLiBVc2EgICA6IWRpciAgc2UgIGxzICBub24gZnVuemlvbmEuICAgW1VuaXg6IGxzICBNUy1ET1M6IGRpcl0KIAotLS0tPiBOT1RBOiAgRScgcG9zc2liaWxlIGluIHF1ZXN0byBtb2RvIGVzZWd1aXJlIHVuIGNvbWFuZG8gYSBwaWFjZXJlLgorTk9UQTogIEUnIHBvc3NpYmlsZSBpbiBxdWVzdG8gbW9kbyBlc2VndWlyZSB1biBjb21hbmRvIGEgcGlhY2VyZSwgc3BlY2lmaWNhbmRvCisgICAgICAgYW5jaGUgZGVpIHBhcmFtZXRyaSBwZXIgaSBjb21hbmRpIHN0ZXNzaS4KIAotLS0tPiBOT1RBOiAgVHV0dGkgaSBjb21hbmRpICA6ICBkZXZvbm8gZXNzZXJlIHRlcm1pbmF0aSBwcmVtZW5kbyA8SU5WSU8+Ci0KLQorTk9UQTogIFR1dHRpIGkgY29tYW5kaSAgOiAgZGV2b25vIGVzc2VyZSB0ZXJtaW5hdGkgcHJlbWVuZG8gPElOVklPPgorICAgICAgIERhIHF1aSBpbiBhdmFudGkgbm9uIGxvIHJpcGV0ZXJlbW8gb2duaSB2b2x0YS4KIAogCiB+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+fn4KLQkJTGV6aW9uZSA1LjI6IEFOQ09SQSBTVUxMQSBTQ1JJVFRVUkEgREVJIEZJTEVTCisJICAgICAgTGV6aW9uZSA1LjI6IEFOQ09SQSBTVUxMQSBTQ1JJVFRVUkEgREVJIEZJTEUKIAogCi0gICAgICoqIFBlciBzYWx2YXJlIGxlIG1vZGlmaWNoZSBhcHBvcnRhdGUgYSB1biBmaWxlIGJhdHRpIDp3IE5PTUVGSUxFLiAqKgorICAgKiogUGVyIHNhbHZhcmUgbGUgbW9kaWZpY2hlIGFwcG9ydGF0ZSBhIHVuIHRlc3RvIGJhdHRpIDp3IE5PTUVGSUxFLiAqKgogCiAgIDEuIEJhdHRpICA6IWRpciAgb3IgIDohbHMgIHBlciBwcm9jdXJhcnRpIHVuYSBsaXN0YSBkZWxsYSB0dWEgZGlyZWN0b3J5LgogICAgICBHaeAgc2FpIGNoZSBkZXZpIHByZW1lcmUgPElOVklPPiBkb3BvIGF2ZXIgc2NyaXR0byBpbCBjb21hbmRvLgpAQCAtNTQwLDYwICs2MzMsNjAgQEAKICAgMy4gQWRlc3NvIGJhdHRpOgkgOncgVEVTVCAgIChkb3ZlIFRFU1Qg6CBpbCBOT01FRklMRSBjaGUgaGFpIHNjZWx0bykuCiAKICAgNC4gUXVlc3RvIHNhbHZhIGwnaW50ZXJvIGZpbGUgKCJ0dXRvci5pdCIpICBjb24gaWwgbm9tZSBkaSBURVNULgotICAgICBQZXIgdW5hIHZlcmlmaWNhIGJhdHRpIGFuY29yYSAgOiFkaXIgICBwZXIgbGlzdGFyZSBsYSB0dWEgZGlyZWN0b3J5LgorICAgICBQZXIgdmVyaWZpY2EgYmF0dGkgYW5jb3JhICA6IWRpciAgbyAgOiFscyAgcGVyIGxpc3RhcmUgbGEgdHVhIGRpcmVjdG9yeS4KIAotLS0tPiBOb3RhIGNoZSBzZSBlc2NpIGRhIFZpbSBlIHJpZXNlZ3VpIFZpbSB1c2FuZG8gY29tZSBOT01FRklMRSBURVNULAotICAgICBpbCBmaWxlIHNhcuAgdW5hIGNvcGlhIGVzYXR0YSBkaSAidHV0b3IuaXQiIGFsIG1vbWVudG8gZGVsIHNhbHZhdGFnZ2lvLgorTk9UQTogU2UgZXNjaSBkYSBWaW0gZSByaWVzZWd1aSBWaW0gYmF0dGVuZG8gIHZpbSBURVNUICwgaWwgZmlsZSBhcGVydG8KKyAgICAgIHNhcuAgdW5hIGNvcGlhIGVzYXR0YSBkaSAidHV0b3IuaXQiIGFsIG1vbWVudG8gZGVsIHNhbHZhdGFnZ2lvLgogCi0gIDUuIE9yYSBjYW5jZWxsYSBpbCBmaWxlIGJhdHRlbmRvOiAgIDohcm0gICAgICBURVNUICAgIFtzb3R0byBVbml4XSBvcHB1cmUKLQkJCQkgICAgICA6IWRlbAlURVNUCVtzb3R0byBNU0RPU10KKyAgNS4gT3JhIGNhbmNlbGxhIGlsIGZpbGUgYmF0dGVuZG8gKE1SLURPUyk6ICAgOiFkZWwgVEVTVAorCQkJCSBvIChVbml4KTogICAgIDohcm0gVEVTVAogCiAKIH5+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+fgotCQkgICAgTGV6aW9uZSA1LjM6IFNDUklWRVJFIElOIE1BTklFUkEgU0VMRVRUSVZBCisJCUxlemlvbmUgNS4zOiBTRUxFWklPTkFSRSBJTCBURVNUTyBEQSBTQ1JJVkVSRQogCisgICAqKiBQZXIgc2FsdmFyZSB1bmEgcG9yemlvbmUgZGkgZmlsZSwgYmF0dGkgIHYgbW92aW1lbnRvIDp3IE5PTUVGSUxFICoqCiAKLSAgICAgKiogUGVyIHNhbHZhcmUgdW5hIHBvcnppb25lIGRlbCBmaWxlLCBiYXR0aSAgIDojLCMgdyBOT01FRklMRSAqKgorICAxLiBNdW92aSBpbCBjdXJzb3JlIHN1IHF1ZXN0YSBsaW5lYS4KIAotICAxLiBCYXR0aSBhbmNvcmEgIDohZGlyICBvICA6IWxzICBwZXIgcHJvY3VyYXJ0aSB1bmEgbGlzdGEgZGVsbGEgdHVhIGRpcmVjdG9yeQotICAgICBlIHNjZWdsaSB1biBOT01FRklMRSBhZGF0dG8sIGNvbWUgYWQgZXMuICBURVNUICAuCisgIDIuIFByZW1pICB2ICBlIG11b3ZpIGlsIGN1cnNvcmUgZmlubyBhbGxhIGxpbmVhIG51bWVyYXRhIDUuLCBxdWkgc290dG8uCisgICAgIE5vdGEgY2hlIGlsIHRlc3RvIHZpZW5lIGV2aWRlbnppYXRvLgogCi0gIDIuIE11b3ZpIGlsIGN1cnNvcmUgaW4gY2ltYSBhIHF1ZXN0YSBwYWdpbmEgZSBiYXR0aSAgQ1RSTC1nICBwZXIgcHJvY3VyYXJ0aQotICAgICBpbCBudW1lcm8gZGkgbGluZWEuICBSSUNPUkRBVEkgUVVFU1RPIE5VTUVSTyEKKyAgMy4gQmF0dGkgaWwgY2FyYXR0ZXJlICA6ICAuICBJbiBmb25kbyBhbGxvIHNjaGVybW8gYXBwYXJpcuAgOic8LCc+ICAuCiAKLSAgMy4gT3JhIHNwb3N0YXRpIGluIGZvbmRvIGFsbGEgcGFnaW5hIGUgYmF0dGkgIENUUkwtZyBhZ2Fpbi4KLSAgICAgUklDT1JEQVRJIEFOQ0hFIFFVRVNUTyBOVU1FUk8hCisgIDQuIEJhdHRpICB3IFRFU1QgICwgZG92ZSBURVNUIOggaWwgbm9tZSBkaSB1biBmaWxlIG5vbiBhbmNvcmEgZXNpc3RlbnRlLgorICAgICBWZXJpZmljYSBjaGUgc2kgdmVkYSAgOic8LCc+dyBURVNUICAgcHJpbWEgZGkgZGFyZSA8SU5WSU8+LgogCi0gIDQuIFBlciBzYWx2YXJlIFNPTE8gdW5hIHBhcnRlIGluIHVuIGZpbGUsIGJhdHRpICAgOiMsIyB3IFRFU1QKLSAgICAgZG92ZSAgIywjICBzb25vIGkgZHVlIG51bWVyaSBjaGUgaGFpIG1lbW9yaXp6YXRvIChjaW1hLGZvbmRvKSBlIFRFU1QKLSAgICAg6CBpbCB0dW8gTk9NRUZJTEUuCisgIDUuIFZpbSBzY3JpdmVy4CBuZWwgZmlsZSBURVNUIGxlIGxpbmVlIGNoZSBoYWkgc2VsZXppb25hdG8uICBVc2EgIDohZGlyCisgICAgIG8gIDohbHMgIHBlciBjb250cm9sbGFyZSBjaGUgZXNpc3RlLiAgTm9uIGNhbmNlbGxhcmxvIG9yYSEgIFRpIHNlcnZpcuAKKyAgICAgbmVsbGEgcHJvc3NpbWEgbGV6aW9uZS4KIAotICA1LiBBbmNvcmEgdW5hIHZvbHRhLCBjb250cm9sbGEgY2hlIGlsIGZpbGUgZXNpc3RhIGNvbiBpbCBjb21hbmRvIDohZGlyCi0gICAgIG1hIE5PTiBDQU5DRUxMQVJMTy4KLQotCitOT1RBOiAgQmF0dGVyZSAgdiAgaW5pemlhIHVuYSBzZWxlemlvbmUgdmlzdWFsZS4gIFB1b2kgbXVvdmVyZSBpbCBjdXJzb3JlCisgICAgICAgY29tZSB2dW9pLCBlIHJlbmRlcmUgbGEgc2VsZXppb25lIHBp+SBwaWNjb2xhIG8gcGn5IGdyYW5kZS4gIFBvaQorICAgICAgIHB1b2kgdXNhcmUgdW4gb3BlcmF0b3JlIHBlciBhZ2lyZSBzdWwgdGVzdG8gc2VsZXppb25hdG8uCisgICAgICAgQWQgZXMuLCAgZCAgY2FuY2VsbGEgaWwgdGVzdG8uCiB+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+fn4KLQkJICAgTGV6aW9uZSA1LjQ6IElOU0VSSVJFIEUgUklVTklSRSBGSUxFCisJCSAgTGV6aW9uZSA1LjQ6IElOU0VSSVJFIEUgUklVTklSRSBGSUxFCiAKIAotICAgKiogUGVyIGluc2VyaXJlIGlsIGNvbnRlbnV0byBkaSB1biBmaWxlLCBiYXR0aSAgIDpyIE5PTUVGSUxFICoqCisgICAqKiBQZXIgaW5zZXJpcmUgaWwgY29udGVudXRvIGRpIHVuIGZpbGUsIGJhdHRpICA6ciBOT01FRklMRSAgKioKIAotICAxLiBCYXR0aSAgOiFkaXIgIHBlciBhY2NlcnRhcnRpIGNoZSBpbCB0dW8gTk9NRUZJTEUgVEVTVCBzaWEgYW5jb3JhIHByZXNlbnRlLgorICAxLiBQb3NpemlvbmEgaWwgY3Vyc29yZSBhcHBlbmEgc29wcmEgcXVlc3RhIHJpZ2EuCiAKLSAgMi4gUG9zaXppb25hIGlsIGN1cnNvcmUgYWxsJ2luaXppbyBkaSBxdWVzdGEgcGFnaW5hLgotCi1OT1RBOiBET1BPIGF2ZXIgZXNlZ3VpdG8gaWwgUGFzc28gMyB2ZWRyYWkgYW5jb3JhIGxhIExlemlvbmUgNS4zLgorTk9UQTogRG9wbyBhdmVyIGVzZWd1aXRvIGlsIFBhc3NvIDIgdmVkcmFpIGlsIHRlc3RvIGRlbGxhIExlemlvbmUgNS4zLgogICAgICAgUXVpbmRpIHNwb3N0YXRpIElOIEdJVScgcGVyIHRvcm5hcmUgYW5jb3JhIGEgcXVlc3RhIExlemlvbmUuCiAKLSAgMy4gT3JhIGluc2VyaXNjaSBpbCB0dW8gZmlsZSBURVNUIGNvbiBpbCBjb21hbmRvICAgOnIgVEVTVCAgIGRvdmUgVEVTVCDoCi0gICAgIGlsIG5vbWUgZGVsIGZpbGUuCisgIDIuIE9yYSBpbnNlcmlzY2kgaWwgdHVvIGZpbGUgVEVTVCBjb24gaWwgY29tYW5kbyAgIDpyIFRFU1QgICBkb3ZlIFRFU1Qg6AorICAgICBpbCBub21lIGNoZSBoYWkgdXNhdG8gcGVyIGNyZWFyZSBpbCBmaWxlLgorICAgICBJbCBmaWxlIHJpY2hpZXN0byDoIGluc2VyaXRvIHNvdHRvIGxhIGxpbmVhIGluIGN1aSBzaSB0cm92YSBpbCBjdXJzb3JlLgogCi1OT1RBOiBJbCBmaWxlIGNoZSB0dSByaWNoaWVkaSDoIGluc2VyaXRvIGEgcGFydGlyZSBkYSBkb3ZlIHNpIHRyb3ZhIGlsIGN1cnNvcmUuCisgIDMuIFBlciB2ZXJpZmljYXJlIGNoZSB1biBmaWxlIOggc3RhdG8gaW5zZXJpdG8sIHRvcm5hIGluZGlldHJvIGNvbCBjdXJzb3JlCisgICAgIGUgbm90YSBjaGUgY2kgc29ubyBvcmEgMiBjb3BpZSBkZWxsYSBMZXppb25lIDUuMywgcXVlbGxhIG9yaWdpbmFsZSBlCisgICAgIHF1ZWxsYSBjaGUgdmllbmUgZGFsIGZpbGUuCiAKLSAgNC4gUGVyIHZlcmlmaWNhcmUgY2hlIHVuIGZpbGUg6CBzdGF0byBpbnNlcml0bywgdG9ybmEgaW5kaWV0cm8gY29sIGN1cnNvcmUKLSAgICAgZSBub3RhIGNoZSBjaSBzb25vIG9yYSAyIGNvcGllIGRlbGxhIExlemlvbmUgNS4zLCBxdWVsbGEgb3JpZ2luYWxlIGUgcXVlbGxhCi0gICAgIGRhIHRlIGluc2VyaXRhLgotCitOT1RBOiAgUHVvaSBhbmNoZSBsZWdnZXJlIGwnb3V0cHV0IHByb2RvdHRvIGRhIHVuIGNvbWFuZG8gZXN0ZXJuby4gQWQgZXMuCisgICAgICAgOnIgIWxzICBsZWdnZSBsJ291dHB1dCBkZWwgY29tYW5kbyAgbHMgZSBsbyBpbnNlcmlzY2Ugc290dG8gbGEgbGluZWEKKyAgICAgICBpbiBjdWkgc2kgdHJvdmEgaWwgY3Vyc29yZS4KIAogfn5+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+CiAJCQkgICAgICAgTGV6aW9uZSA1IFNPTU1BUklPCkBAIC02MDcsMTM3ICs3MDAsMTU5IEBACiAKICAgMi4gIDp3IE5PTUVGSUxFICBzY3JpdmUgc3UgZGlzY28gaWwgZmlsZSBjaGUgc3RhaSBlZGl0YW5kbyBjb24gbm9tZSBOT01FRklMRS4KIAotICAzLiAgOiMsI3cgTk9NRUZJTEUgIHNhbHZhIGxlIGxpbmVlIGRhICMgYSAjIG5lbCBmaWxlIE5PTUVGSUxFLgorICAzLiAgdiBtb3ZpbWVudG8gOncgTk9NRUZJTEUgIHNhbHZhIGxlIGxpbmVlIHNlbGV6aW9uYXRlIGluIG1hbmllcmEKKyAgICAgIHZpc3VhbGUgbmVsIGZpbGUgTk9NRUZJTEUuCiAKLSAgNC4gIDpyIE5PTUVGSUxFICBsZWdnZSBpbCBmaWxlIE5PTUVGSUxFIGRhIGRpc2NvIGUgbG8gaW5zZXJpc2NlIG5lbAotICAgICAgZmlsZSBjaGUgc3RhaSBlZGl0YW5kbywgZG9wbyBpbCBwdW50byBkb3ZlIOggcG9zaXppb25hdG8gaWwgY3Vyc29yZS4KKyAgNC4gIDpyIE5PTUVGSUxFICBsZWdnZSBpbCBmaWxlIE5PTUVGSUxFIGRhIGRpc2NvIGUgbG8gaW5zZXJpc2NlIG5lbCBmaWxlCisgICAgICBjaGUgc3RhaSBtb2RpZmljYW5kbywgZG9wbyBsYSBsaW5lYSBpbiBjdWkg6CBwb3NpemlvbmF0byBpbCBjdXJzb3JlLgogCi0KLQotCisgIDUuICA6ciAhZGlyICBsZWdnZSBsJ291dHB1dCBkZWwgY29tYW5kbyAgZGlyICBlIGxvIGluc2VyaXNjZSBkb3BvIGxhCisgICAgICBsaW5lYSBpbiBjdWkg6CBwb3NpemlvbmF0byBpbCBjdXJzb3JlLgogCiAKIAogfn5+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+Ci0JCQkgTGV6aW9uZSA2LjE6IElMIENPTUFORE8gT1BFTiBbQVBSSV0KKwkJIExlemlvbmUgNi4xOiBJTCBDT01BTkRPIE9QRU4gW0FQUklSRV0KIAogCi0gICoqIEJhdHRpICAgbyAgIHBlciBhcHJpcmUgdW5hIGxpbmVhIHNvdHRvIGlsIGN1cnNvcmUgZSBwZXIgcGFzc2FyZSBpbgotICAgICBNb2RhbGl04CBJbnNlcmltZW50by4gKioKKyAgICAgICAgKiogQmF0dGkgICBvICAgcGVyIGFwcmlyZSB1bmEgbGluZWEgc290dG8gaWwgY3Vyc29yZSAqKgorICAgICAgICAqKiAgICAgICAgIGUgcGFzc2FyZSBpbiBNb2RhbGl04CBJbnNlcmltZW50by4gICAgICAgICoqCiAKICAgMS4gTXVvdmkgaWwgY3Vyc29yZSBmaW5vIGFsbGEgbGluZWEgcXVpIHNvdHRvLCBpbmRpY2F0YSBkYSAtLS0+LgogCi0gIDIuIEJhdHRpICAgbyAgIChtaW51c2NvbG8pIHBlciBhcHJpcmUgdW5hIGxpbmVhIHNvdHRvIGlsIGN1cnNvcmUgZSBwZXIKKyAgMi4gQmF0dGkgbGEgbGV0dGVyYSBtaW51c2NvbGEgIG8gIHBlciBhcHJpcmUgdW5hIGxpbmVhIHNvdHRvIGlsIGN1cnNvcmUgZQogICAgICBwYXNzYXJlIGluIE1vZGFsaXTgIEluc2VyaW1lbnRvLgogCi0gIDMuIEFkZXNzbyByaWNvcGlhIGxhIGxpbmVhIGluZGljYXRhIGRhIC0tLT4KLSAgICAgZSBwcmVtaSA8RVNDPiBwZXIgdXNjaXJlIGRhbGxhIE1vZGFsaXTgIEluc2VyaW1lbnRvLgorICAzLiBQb2kgaW5zZXJpc2NpIGRlbCB0ZXN0byBlIHByZW1pIDxFU0M+IHBlciB1c2NpcmUgZGFsbGEKKyAgICAgTW9kYWxpdOAgSW5zZXJpbWVudG8uCiAKLS0tLT4gRG9wbyBiYXR0dXRvICBvICBpbCBjdXJzb3JlIOggc3VsbGEgbGluZWEgYXBlcnRhIChpbiBNb2RhbGl04CBJbnNlcmltZW50bykKKy0tLT4gRG9wbyBiYXR0dXRvICBvICBpbCBjdXJzb3JlIOggc3VsbGEgbGluZWEgYXBlcnRhIChpbiBNb2RhbGl04CBJbnNlcmltZW50bykuCiAKLSAgNC4gUGVyIGFwcmlyZSB1bmEgbGluZWEgU09QUkEgaWwgY3Vyc29yZSwgYmF0dGkgICBPICBbTWFpdXNjb2xhXSwgaW52ZWNlCi0gICAgIGNoZSB1bmEgICBvICAgbWludXNjb2xhLiBQcm92YSBzdWxsYSBsaW5lYSBzdWJpdG8gc290dG8uCi1BcHJpIHVuYSBsaW5lYSBTT1BSQSBxdWVzdGEgYmF0dGVuZG8gIE8gIHF1YW5kbyBpbCBjdXJzb3JlIOggc3UgcXVlc3RhIGxpbmVhLgorICA0LiBQZXIgYXByaXJlIHVuYSBsaW5lYSBTT1BSQSBpbCBjdXJzb3JlLCBiYXR0aSB1bmEgICBPICBtYWl1c2NvbGEsIGludmVjZQorICAgICBjaGUgdW5hICAgbyAgIG1pbnVzY29sYS4gUHJvdmEgc3VsbGEgbGluZWEgcXVpIHNvdHRvLgorQXByaSB1bmEgbGluZWEgU09QUkEgcXVlc3RhIGJhdHRlbmRvICBPICBtZW50cmUgaWwgY3Vyc29yZSDoIHN1IHF1ZXN0YSBsaW5lYS4KIAogCiAKIH5+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+fgotCQlMZXppb25lIDYuMjogSUwgQ09NQU5ETyBBUFBFTkQgW0FHR0lVTkdJXQotCisJCUxlemlvbmUgNi4yOiBJTCBDT01BTkRPIEFQUEVORCBbQUdHSVVOR0VSRV0KIAogCSAgICAgKiogQmF0dGkgICBhICAgcGVyIGluc2VyaXJlIHRlc3RvIERPUE8gaWwgY3Vyc29yZS4gKioKIAotICAxLiBNdW92aSBpbCBjdXJzb3JlIGFsbGEgZmluZSBkZWxsYSBwcmltYSBsaW5lYSBxdWkgc290dG8sIGluZGljYXRhIGRhIC0tLT4KLSAgICAgYmF0dGVuZG8gICQgIG1lbnRyZSBzZWkgaW4gTW9kYWxpdOAgTm9ybWFsZS4KKyAgMS4gTXVvdmkgaWwgY3Vyc29yZSBhbGwnaW5pemlvIGRlbGxhIGxpbmVhIHF1aSBzb3R0bywgaW5kaWNhdGEgZGEgLS0tPi4KIAotICAyLiBCYXR0aSB1bmEgIGEgIChtaW51c2NvbGEpIHBlciBhZ2dpdW5nZXJlIHRlc3RvIERPUE8gaWwgY2FyYXR0ZXJlIHNvdHRvCi0gICAgIGlsIGN1cnNvcmUuICAgKEEgTWFpdXNjb2xhIGFnZ2l1bmdlIGFsbGEgZmluZSBkZWxsYSBsaW5lYSkuCisgIDIuIEJhdHRpICBlICBmaW5jaOkgaWwgY3Vyc29yZSBhcnJpdmEgYWxsYSBmaW5lIGRpICBsaSAuCiAKLU5PVEE6IEV2aXRpIGNvc+wgZGkgYmF0dGVyZSAgIGkgICAsIGwndWx0aW1vIGNhcmF0dGVyZSwgaWwgdGVzdG8gZGEgYWdnaXVuZ2VyZSwKLSAgICAgIDxFU0M+LCBzcG9zdGFyZSBpbCBjdXJzb3JlIGEgc2luaXN0cmEgZSBiYXR0ZXJlICAgeCAgc29sbyBwZXIgYWdnaXVuZ2VyZQotICAgICAgcXVhbGNvc2EgYWxsYSBmaW5lIGRlbGxhIGxpbmVhIQorICAzLiBCYXR0aSB1bmEgIGEgIChtaW51c2NvbGEpIHBlciBhZ2dpdW5nZXJlIHRlc3RvIERPUE8gaWwgY3Vyc29yZS4KIAotICAzLiBBZGVzc28gY29tcGxldGEgbGEgcHJpbWEgbGluZWEuICBOb3RhIGFuY2hlIGNoZSBsJ2FnZ2l1bnRhIGZ1bnppb25hIGNvbWUKLSAgICAgbGEgTW9kYWxpdOAgSW5zZXJpbWVudG8sIHRyYW5uZSBjaGUgcGVyIGlsIGx1b2dvIGRvdmUgaWwgdGVzdG8g6CBpbnNlcml0by4KKyAgNC4gQ29tcGxldGEgbGEgcGFyb2xhIGNvbWUgbW9zdHJhdG8gbmVsbGEgbGluZWEgc3VjY2Vzc2l2YS4gIFByZW1pIDxFU0M+CisgICAgIHBlciB1c2NpcmUgZGFsbGEgTW9kYWxpdOAgSW5zZXJpbWVudG8uCiAKLS0tLT4gUXVlc3RhIGxpbmVhIHRpIHBlcm1ldHRlcuAgZGkgZXNlcmNpdGFydGkKLS0tLT4gUXVlc3RhIGxpbmVhIHRpIHBlcm1ldHRlcuAgZGkgZXNlcmNpdGFydGkgYWQgYWdnaXVuZ2VyZSB0ZXN0byBhIGZpbmUgbGluZWEuCisgIDUuIFVzYSAgZSAgcGVyIHBhc3NhcmUgYWxsYSBzdWNjZXNzaXZhIHBhcm9sYSBpbmNvbXBsZXRhIGUgcmlwZXRpIGkgcGFzc2kKKyAgICAgMyBlIDQuCiAKKy0tLT4gUXVlc3RhIGxpIHRpIHBlcm1ldHRlcuAgZGkgZXNlcmNpdCBhZCBhZ2dpdW5nZXJlIHRlc3RvIGEgdW5hIGxpbmVhLgorLS0tPiBRdWVzdGEgbGluZWEgdGkgcGVybWV0dGVy4CBkaSBlc2VyY2l0YXJ0aSBhZCBhZ2dpdW5nZXJlIHRlc3RvIGEgdW5hIGxpbmVhLgorCitOT1RBOiBhLCBpIGVkIEEgZW50cmFubyBzZW1wcmUgaW4gTW9kYWxpdOAgSW5zZXJpbWVudG8sIGxhIHNvbGEgZGlmZmVyZW56YQorICAgICAg6CBkb3ZlIHZlcnJhbm5vIGluc2VyaXRpIGkgY2FyYXR0ZXJpLgogCiB+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+fn4KLQkgICBMZXppb25lIDYuMzogVU4nQUxUUkEgVkFSSUFOVEUgREkgUkVQTEFDRSBbUklNUElBWlpBXQorCSAgIExlemlvbmUgNi4zOiBVTiBBTFRSTyBNT0RPIERJIFJJTVBJQVpaQVJFIFtSRVBMQUNFXQogCiAKLSAgICAgKiogQmF0dGkgdW5hICBSICBNYWl1c2NvbGEgcGVyIHJpbXBpYXp6YXJlIHBp+SBkaSB1biBjYXJhdHRlcmUuICoqCisgICAgICoqIEJhdHRpIHVuYSAgUiAgbWFpdXNjb2xhIHBlciByaW1waWF6emFyZSBwafkgZGkgdW4gY2FyYXR0ZXJlLiAqKgogCi0gIDEuIE11b3ZpIGlsIGN1cnNvcmUgYWxsYSBwcmltYSBsaW5lYSBxdWkgc290dG8sIGluZGljYXRhIGRhIC0tLT4uCisgIDEuIE11b3ZpIGlsIGN1cnNvcmUgYWxsYSBwcmltYSBsaW5lYSBxdWkgc290dG8sIGluZGljYXRhIGRhIC0tLT4uICBNdW92aSBpbAorICAgICBjdXJzb3JlIGFsbCdpbml6aW8gZGVsIHByaW1vICB4eHggLgogCi0gIDIuIFBvc2l6aW9uYSBpbCBjdXJzb3JlIGFsbCdpbml6aW8gZGVsbGEgcHJpbWEgcGFyb2xhIGRpZmZlcmVudGUKLSAgICAgZGFsbGEgc2Vjb25kYSBsaW5lYSBpbmRpY2F0YSBkYSAtLS0+IChsYSBwYXJvbGEgIid1bHRpbWEiKS4KKyAgMi4gT3JhIGJhdHRpICBSICBlIGJhdHRpIGlsIG51bWVybyBjaGUgdmVkaSBuZWxsYSBsaW5lYSBzZWd1ZW50ZSwgaW4gbW9kbworICAgICBjaGUgcmltcGlhenppIGwnICB4eHggLgogCi0gIDMuIEFkZXNzbyBiYXR0aSAgUiAgZSByaW1waWF6emEgaWwgcmVzdG8gZGVsIHRlc3RvIHN1bGxhIHByaW1hIGxpbmVhIGJhdHRlbmRvCi0gICAgIHNvcHJhIGlsIHRlc3RvIHByZWVzaXN0ZW50ZSBwZXIgcmVuZGVyZSBsYSBwcmltYSBsaW5lYSB1Z3VhbGUgYWxsYSBzZWNvbmRhLgorICAzLiBQcmVtaSA8RVNDPiBwZXIgdXNjaXJlIGRhbGxhIE1vZGFsaXTgIFJlcGxhY2UuICBOb3RhIGNoZSBpbCByZXN0byBkZWxsYQorICAgICBsaW5lYSByZXN0YSBpbnZhcmlhdG8uCiAKLS0tLT4gUGVyIHJlbmRlcmUgbGEgcHJpbWEgbGluZWEgdWd1YWxlIGFsbGEgdWx0aW1hIHN1IHF1ZXN0YSBwYWdpbmEgdXNhIGkgdGFzdGkuCi0tLS0+IFBlciByZW5kZXJlIGxhIHByaW1hIGxpbmVhIHVndWFsZSBhbGxhIHNlY29uZGEsIGJhdHRpIFIgZSBpbCBudW92byB0ZXN0by4KKyAgNC4gUmlwZXRpIGkgcGFzc2kgaW4gbW9kbyBkYSByaW1waWF6emFyZSBsJ2FsdHJvIHh4eCAuCiAKLSAgNC4gTm90YSBjaGUgcXVhbmRvIHByZW1pIDxFU0M+IHBlciB1c2NpcmUsIG9nbmkgdGVzdG8gbm9uIHRvY2NhdG8gcmVzdGEKLSAgICAgdWd1YWxlLgorLS0tPiBBZ2dpdW5nZW5kbyAxMjMgYSB4eHggc2kgb3R0aWVuZSB4eHguCistLS0+IEFnZ2l1bmdlbmRvIDEyMyBhIDQ1NiBzaSBvdHRpZW5lIDU3OS4KIAotCi0KK05PVEE6ICBMYSBNb2RhbGl04CBSZXBsYWNlIOggY29tZSBsYSBNb2RhbGl04CBJbnNlcmltZW50bywgbWEgb2duaSBjYXJhdHRlcmUKKyAgICAgICBjaGUgdmllbmUgYmF0dHV0byByaWNvcHJlIHVuIGNhcmF0dGVyZSBlc2lzdGVudGUuCiAKIH5+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+fgotCQkgIExlemlvbmUgNi40OiBTRVQgW0lNUE9TVEFdIFVOJ09QWklPTkUKKwkJIExlemlvbmUgNi40OiBDT1BJQSBFIElOQ09MTEEgREVMIFRFU1RPCiAKLSAgICAgICoqIEltcG9zdGEgdW4nb3B6aW9uZSBwZXIgaWdub3JhcmUgbWFpdXNjb2xlL21pbnVzY29sZQotCSBkdXJhbnRlIGxhIHJpY2VyY2Evc29zdGl0dXppb25lICoqCiAKLSAxLiBSaWNlcmNhICdpZ25vcmEnIGJhdHRlbmRvOgotICAgIC9pZ25vcmEKKyAgICAgKiogdXNhIGwnb3BlcmF0b3JlICB5ICBwZXIgY29waWFyZSBkZWwgdGVzdG8gZSAgcCAgcGVyIGluY29sbGFybG8gKioKKworICAxLiBWYWkgYWxsYSBsaW5lYSBpbmRpY2F0YSBkYSAtLS0+IHF1aSBzb3R0bywgZSBtZXR0aSBpbCBjdXJzb3JlIGRvcG8gImEpIi4KKyAgCisgIDIuIEVudHJhIGluIE1vZGFsaXTgIFZpc3VhbGUgY29uICB2ICBlIG1ldHRpIGlsIGN1cnNvcmUgZGF2YW50aSBhICJwcmltbyIuCisgIAorICAzLiBCYXR0aSAgeSAgcGVyIGNvcGlhcmUgW3lhbmtdIGlsIHRlc3RvIGV2aWRlbnppYXRvLgorCisgIDQuIE11b3ZpIGlsIGN1cnNvcmUgYWxsYSBmaW5lIGRlbGxhIGxpbmVhIHN1Y2Nlc3NpdmE6ICBqJAorCisgIDUuIEJhdHRpICBwICBwZXIgaW5jb2xsYXJlIFtwYXN0ZV0gaWwgdGVzdG8uICBQb2kgYmF0dGk6ICBhIHNlY29uZG8gPEVTQz4gLgorCisgIDYuIFVzYSBsYSBNb2RhbGl04CBWaXN1YWxlIHBlciBzZWxlemlvbmFyZSAiIGVsZW1lbnRvLiIsIGNvcGlhbG8gY29uICB5ICwKKyAgICAgVmFpIGFsbGEgZmluZSBkZWxsYSBsaW5lYSBzdWNjZXNzaXZhIGNvbiAgaiQgIGUgaW5jb2xsYSBpbCB0ZXN0byBjb24gIHAgLgorCistLS0+ICBhKSBxdWVzdG8g6CBpbCBwcmltbyBlbGVtZW50by4KKyAgICAgIGIpCisKK05PVEE6IFB1b2kgdXNhcmUgIHkgIGNvbWUgb3BlcmF0b3JlOyAgeXcgIGNvcGlhIHVuYSBwYXJvbGEgW3dvcmRdLgorfn5+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+CisJICAgICAgICAgTGV6aW9uZSA2LjU6IFNFVCBbSU1QT1NUQV0gVU4nT1BaSU9ORQorCisgICAgICAgKiogSW1wb3N0YSB1bidvcHppb25lIHBlciBpZ25vcmFyZSBtYWl1c2NvbGUvbWludXNjb2xlICoqCisgICAgICAgKiogICAgICAgICAgICAgZHVyYW50ZSBsYSByaWNlcmNhL3Nvc3RpdHV6aW9uZSAgICAgICAgICoqCisKKyAxLiBSaWNlcmNhICdub3RhJyBiYXR0ZW5kbzogICAvbm90YSA8RU5URVI+CiAgICAgUmlwZXRpIGxhIHJpY2VyY2EgcGn5IHZvbHRlIHVzYW5kbyBpbCB0YXN0byAgIG4KIAotIDIuIEltcG9zdGEgbCdvcHppb25lICdpYycgKElnbm9yZSBjYXNlLCBbSWdub3JhIE1haXVzY29sby9taW51c2NvbG9dKSBiYXR0ZW5kbzoKLSAgICA6c2V0IGljCisgMi4gSW1wb3N0YSBsJ29wemlvbmUgJ2ljJyAoSWdub3JlIENhc2UsIFtJZ25vcmEgbWFpdXNjb2xvL21pbnVzY29sb10pCisgICAgYmF0dGVuZG86ICA6c2V0IGljCiAKLSAzLiBBZGVzc28gcmljZXJjYSBhbmNvcmEgJ2lnbm9yYScgcHJlbWVuZG8gaWwgdGFzdG8gICAgbgotICAgIFJpcGV0aSBsYSByaWNlcmNhIHBp+SB2b2x0ZSB1c2FuZG8gaWwgdGFzdG8gICBuCisgMy4gT3JhIHJpY2VyY2EgYW5jb3JhICdub3RhJyBwcmVtZW5kbyBpbCB0YXN0byAgICBuCisgICAgVHJvdmVyYWkgYWRlc3NvIGFuY2hlICBOb3RhICBlICBOT1RBIC4KIAotIDQuIEltcG9zdGEgbGUgb3B6aW9uaSAnaGxzZWFyY2gnIGUgJ2luY3NlYXJjaCcgW2V2aWRlbnppYV9yaWNlcmNhIHN1Yml0b10KLSAgICA6c2V0IGhscyBpcworIDQuIEltcG9zdGEgbGUgb3B6aW9uaSAnaGxzZWFyY2gnIGUgJ2luY3NlYXJjaCcgICAgOnNldCBobHMgaXMKIAotIDUuIEFkZXNzbyByaWJhdHRpIGFuY29yYSBpbCBjb21hbmRvIGRpIHJpY2VyY2EsIGUgZ3VhcmRhIGNvc2Egc3VjY2VkZToKLSAgICAvaWdub3JlCi0KLQorIDUuIE9yYSBiYXR0aSBhbmNvcmEgaWwgY29tYW5kbyBkaSByaWNlcmNhLCBlIGd1YXJkYSBjb3NhIHN1Y2NlZGU6ICAgIC9ub3RhCisgCisgNi4gUGVyIGRpc2FiaWxpdGFyZSBpbCByaWNvbm9zY2ltZW50byBkaSBtYWl1c2NvbGUvbWludXNjb2xlIGJhdHRpOiAgOnNldCBub2ljCitOT1RBOiBQZXIgbm9uIGV2aWRlbnppYXJlIGxlIG9jY29ycmVuemUgdHJvdmF0ZSBiYXR0aTogICA6bm9obHNlYXJjaAorTk9UQTogUGVyIGlnbm9yYXJlIG1haXVzY29sZS9taW51c2NvbGUgc29sbyBwZXIgdW5hIHJpY2VyY2EsIHVzYSBcYworICAgICAgbmVsIGNvbWFuZG8gZGkgcmljZXJjYTogICAgL25vdGFcYyA8SU5WSU8+CiB+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+fn4KLQkJCSAgICAgICBMZXppb25lIDYgU09NTUFSSU8KKwkJICAgICAgIExlemlvbmUgNiBTT01NQVJJTwogCisgIDEuIEJhdHRpICBvICBwZXIgYWdnaXVuZ2VyZSB1bmEgbGluZWEgU09UVE8gaWwgY3Vyc29yZSBlZCBlbnRyYXJlIGluCisgICAgICAgICAgICAgICBNb2RhbGl04CBJbnNlcmltZW50by4KKyAgICAgQmF0dGkgIE8gIHBlciBhZ2dpdW5nZXJlIHVuYSBsaW5lYSBTT1BSQSBpbCBjdXJzb3JlLgogCi0gIDEuIEJhdHRlbmRvICBvICBhZ2dpdW5naSB1bmEgbGluZWEgU09UVE8gaWwgY3Vyc29yZSBlZCBpbCBjdXJzb3JlCi0gICAgIHNpIHBvc2l6aW9uYSBzdWxsYSBsaW5lYSBhcHBlbmEgYXBlcnRhLCBpbiBNb2RhbGl04CBJbnNlcmltZW50by4KLSAgICAgQmF0dGVuZG8gIE8gIFtNYWl1c2NvbGFdIGFwcmkgbGEgbGluZWEgU09QUkEgbGEgbGluZWEgc3UgY3VpIOggaWwgY3Vyc29yZS4KKyAgMi4gQmF0dGkgIGEgIHBlciBpbnNlcmlyZSB0ZXN0byBET1BPIGlsIGN1cnNvcmUuCisgICAgIEJhdHRpICBBICBwZXIgaW5zZXJpcmUgdGVzdG8gYWxsYSBmaW5lIGRlbGxhIGxpbmVhLgogCi0gIDIuIEJhdHRpIHVuYSAgYSAgcGVyIGluc2VyaXJlIHRlc3RvIERPUE8gaWwgY2FyYXR0ZXJlIHN1IGN1aSDoIGlsIGN1cnNvcmUuCi0gICAgIEJhdHRlbmRvICAgQSAgW01haXVzY29sYV0gYWdnaXVuZ2kgdGVzdG8gYWxsYSBmaW5lIGRlbGxhIGxpbmVhLgorICAzLiBJbCBjb21hbmRvICAgZSAgc3Bvc3RhIGlsIGN1cnNvcmUgYWxsYSBmaW5lIGRpIHVuYSBwYXJvbGEuCiAKLSAgMy4gQmF0dGVuZG8gICBSICBbTWFpdXNjb2xhXSBlbnRyaSBpbiBNb2RhbGl04CBSaW1waWF6em8gW1JlcGxhY2UgbW9kZV0KLSAgICAgZSBjaSByZXN0aSBmaW5jaOkgbm9uIHByZW1pIDxFU0M+IHBlciB1c2Npcm5lLgorICA0LiBMJ29wZXJhdG9yZSAgeSAgY29waWEgZGVsIHRlc3RvLCAgcCAgaW5jb2xsYSBkZWwgdGVzdG8uCiAKLSAgNC4gQmF0dGVuZG8gIjpzZXQgeHh4IiBpbXBvc3RpIGwnb3B6aW9uZSAieHh4IgotICAgICBCYXR0ZW5kbyAiOmggICB4eHgiIHZlZGkgbGEgZG9jdW1lbnRhemlvbmUgW2luZ2xlc2VdIHBlciBsJ29wemlvbmUgInh4eCIKKyAgNS4gQmF0dGkgIFIgIHBlciBlbnRyYXJlIGluIE1vZGFsaXTgIFJlcGxhY2UsIGUgbmUgZXNjaSBwcmVtZW5kbyA8RVNDPi4KIAorICA2LiBCYXR0aSAiOnNldCB4eHgiIHBlciBpbXBvc3RhcmUgbCdvcHppb25lICJ4eHgiLiBBbGN1biBvcHppb25pIHNvbm86CisgICAgICAnaWMnICdpZ25vcmVjYXNlJwlpZ25vcmFyZSBtYWl1c2NvbGUvbWludXNjb2xlIG5lbGxhIHJpY2VyY2EKKyAgICAgICdpcycgJ2luY3NlYXJjaCcJbW9zdHJhIG9jY29ycmVuemUgcGFyemlhbGkgZHVyYW50ZSB1bmEgcmljZXJjYQorICAgICAgJ2hscycgJ2hsc2VhcmNoJwlldmlkZW56aWEgdHV0dGUgbGUgb2Njb3JyZW56ZSBkaSB1bmEgcmljZXJjYQorICAgICBQdW9pIHVzYXJlIHNpYSBpbCBub21lIGNvbXBsZXRvIGRpIHVuJ29wemlvbmUgY2hlIHF1ZWxsbyBhYmJyZXZpYXRvLgogCi0KLQotCi0KLQorICA3LiBVc2EgaWwgcHJlZmlzc28gIm5vIiBwZXIgYW5udWxsYXJlIHVuYSBvcHppb25lOiAgIDpzZXQgbm9pYwogfn5+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+Ci0JCSAgICAgICBMZXppb25lIDc6IENPTUFOREkgREkgQUlVVE8gT04tTElORQorCQkgICAgICBMZXppb25lIDcuMTogT1RURU5FUkUgQUlVVE8KIAotCi0JCSAgICAgICoqIFVzYSBpbCBzaXN0ZW1hIGRpIGhlbHAgb24tbGluZSAqKgorCQkgKiogVXNhIGlsIHNpc3RlbWEgZGkgYWl1dG8gb24tbGluZSAqKgogCiAgIFZpbSBoYSB1biBlc2F1cmllbnRlIHNpc3RlbWEgZGkgYWl1dG8gb24tbGluZS4gIFBlciBjb21pbmNpYXJlLCBwcm92YSB1bmEgZGkKICAgcXVlc3RlIGFsdGVybmF0aXZlOgpAQCAtNzQ1LDQ1ICs4NjAsOTIgQEAKIAktIHByZW1pIGlsIHRhc3RvIDxGMT4gICAgKHNlIGNlIG4n6CB1bm8pCiAJLSBiYXR0aSAgIDpoZWxwICA8SU5WSU8+ICBPUFBVUkUgICA6aCA8SU5WSU8+CiAKLSAgQmF0dGkgICA6cSA8SU5WSU8+ICAgcGVyIGNoaXVkZXJlIGxhIGZpbmVzdHJhIGRpIGhlbHAuCisgIExlZ2dpIGlsIHRlc3RvIG5lbGxhIGZpbmVzdHJhIGRpIGFpdXRvIHBlciB2ZWRlcmUgY29tZSBmdW56aW9uYSBsJ2FpdXRvLgorICBCYXR0aSAgQ1RSTC1XIENUUkwtVwlwZXIgcGFzc2FyZSBkYSB1bmEgZmluZXN0cmEgYWxsJ2FsdHJhLgorICBCYXR0aSAgOnEgPElOVklPPiAgIHBlciBjaGl1ZGVyZSBsYSBmaW5lc3RyYSBkaSBhaXV0by4KIAogICBQdW9pIHRyb3ZhcmUgYWl1dG8gc3UgcXVhc2kgdHV0dG8sIGRhbmRvIHVuIGFyZ29tZW50byBhbCBjb21hbmRvICI6aGVscCIKICAgUHJvdmEgcXVlc3RpIChub24gZGltZW50aWNhcmUgZGkgcHJlbWVyZSA8SU5WSU8+KToKIAogCTpoZWxwIHcKLQk6aGVscCBjXzxUCisJOmhlbHAgY19DVFJMLUQKIAk6aGVscCBpbnNlcnQtaW5kZXgKIAk6aGVscCB1c2VyLW1hbnVhbAogCi0KIH5+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+fgotCQkgICAgICAgTEVaSU9ORSA4OiBQUkVQQVJBIFVOTyBTQ1JJUFQgSU5JWklBTEUKKwkJIExlemlvbmUgNy4yOiBQUkVQQVJBUkUgVU5PIFNDUklQVCBJTklaSUFMRQogCi0JCQkgICoqIEF0dGl2YSBsZSBvcHppb25pIFZpbSAqKgorCQkgICAgICAgICoqIEF0dGl2YSBsZSBvcHppb25pIFZpbSAqKgogCiAgIFZpbSBoYSBtb2x0ZSBwafkgb3B6aW9uaSBkaSBWaSwgbWEgbW9sdGUgZGkgZXNzZSBzb25vIHByZWRlZmluaXRlIGluYXR0aXZlLgotICBQZXIgY29taW5jaWFyZSBhIHVzYXJlIHBp+SBvcHppb25pLCBkZXZpIHByZXBhcmFyZSB1biBmaWxlICJ2aW1yYyIuCisgIFBlciBjb21pbmNpYXJlIGEgdXNhcmUgcGn5IG9wemlvbmksIGRldmkgY3JlYXJlIHVuIGZpbGUgInZpbXJjIi4KIAotICAxLiBDb21pbmNpYSBhIGVkaXRhcmUgaWwgZmlsZSAidmltcmMiLCBhIHNlY29uZGEgZGVsIHR1byBzaXN0ZW1hIG9wZXJhdGl2bzoKLQk6ZWRpdCB+Ly52aW1yYwkJCXBlciBVbml4Ci0JOmVkaXQgJFZJTS9fdmltcmMJCXBlciBNUy1XaW5kb3dzCisgIDEuIENvbWluY2lhIGEgZWRpdGFyZSBpbCBmaWxlICJ2aW1yYyIuICBRdWVzdG8gZGlwZW5kZSBkYWwgdHVvIHNpc3RlbWE6CisJOmUgfi8udmltcmMJCXBlciBVbml4CisJOmUgJFZJTS9fdmltcmMJCXBlciBNUy1XaW5kb3dzCiAKLSAgMi4gT3JhIGluc2VyaXNjaSBpbCBmaWxlICJ2aW1yYyIgZCdlc2VtcGlvOgorICAyLiBPcmEgbGVnZ2kgaSBjb250ZW51dGkgZGVsIGZpbGUgInZpbXJjIiBkaXN0cmlidWl0byBjb21lIGVzZW1waW86CiAKLQk6cmVhZCAkVklNUlVOVElNRS92aW1yY19leGFtcGxlLnZpbQorCTpyICRWSU1SVU5USU1FL3ZpbXJjX2V4YW1wbGUudmltCiAKICAgMy4gU2NyaXZpIGlsIGZpbGUgY29uOgorCTp3CiAKLQk6d3JpdGUKLQotICBMYSBwcm9zc2ltYSB2b2x0YSBjaGUgYXByaSBWaW0sIHZlZHJhaSBpbiB1c28gbGEgY29sb3JhemlvbmUgc2ludGF0dGljYS4KKyAgTGEgcHJvc3NpbWEgdm9sdGEgY2hlIGFwcmkgVmltLCBzYXLgIGFiaWxpdGF0YSBsYSBjb2xvcmF6aW9uZSBzaW50YXR0aWNhLgogICBQdW9pIGFnZ2l1bmdlcmUgYSBxdWVzdG8gZmlsZSAidmltcmMiIHR1dHRlIGxlIHR1ZSBpbXBvc3RhemlvbmkgcHJlZmVyaXRlLgorICBQZXIgbWFnZ2lvcmkgaW5mb3JtYXppb25pIGJhdHRpOiAgOmhlbHAgdmltcmMtaW50cm8KKworfn5+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+CisJCQlMZXppb25lIDcuMzogQ09NUExFVEFNRU5UTworCisKKwkgICAgICAqKiBDb21wbGV0YW1lbnRvIGxpbmVhIGNvbWFuZGkgY29uIENUUkwtRCBlIDxUQUI+ICoqCisKKyAgMS4gSW1wb3N0YSBWaW0gaW4gbW9kYWxpdOAgY29tcGF0aWJpbGU6ICA6c2V0IG5vY3AKKworICAyLiBHdWFyZGEgaSBmaWxlIGVzaXN0ZW50aSBuZWxsYSBkaXJlY3Rvcnk6ICA6IWxzICAgbyAgOiFkaXIKKworICAzLiBCYXR0aSBsJ2luaXppbyBkaSB1biBjb21hbmRvOiAgOmUKKworICA0LiBQcmVtaSAgQ1RSTC1EICBlIFZpbSB0aSBtb3N0cmEgdW5hIGxpc3RhIGRpIGNvbWFuZGkgY2hlIGluaXppYW5vIHBlciAiZSIuCisKKyAgNS4gUHJlbWkgIDxUQUI+ICBlIFZpbSBjb21wbGV0YSBwZXIgdGUgaWwgbm9tZSBjb21hbmRvIGNvbWUgIjplZGl0Ii4KKworICA2LiBPcmEgYmF0dGkgdW5vIHNwYXppbyBlIGwnaW5pemlvIGRlbCBub21lIGRpIHVuIGZpbGUgZXNpc3RlbnRlOiAgOmVkaXQgRklMCisKKyAgNy4gUHJlbWkgPFRBQj4uICBWaW0gY29tcGxldGVy4CBpbCBub21lIGRlbCBmaWxlIChzZSDoIGlsIHNvbG8gcG9zc2liaWxlKS4KKworTk9UQTogIElsIGNvbXBsZXRhbWVudG8g6CBkaXNwb25pYmlsZSBwZXIgbW9sdGkgY29tYW5kaS4gIFByb3ZhIGEgYmF0dGVyZQorICAgICAgIENUUkwtRCBlIDxUQUI+LiAgUGFydGljb2xhcm1lbnRlIHV0aWxlIHBlciAgOmhlbHAgLgorCit+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+fn4KKwkJCSAgIExlemlvbmUgNyBTb21tYXJpbworCisKKyAgMS4gQmF0dGkgIDpoZWxwICBvIHByZW1pIDxGMT4gbyA8SGVscD4gIHBlciBhcHJpcmUgdW5hIGZpbmVzdHJhIGRpIGFpdXRvLgorCisgIDIuIEJhdHRpICA6aGVscCBjb21hbmRvICBwZXIgYXZlcmUgYWl1dG8gc3UgIGNvbWFuZG8gLgorCisgIDMuIEJhdHRpICBDVFJMLVcgQ1RSTC1XICBwZXIgc2FsdGFyZSBhbGxhIHByb3NzaW1hIGZpbmVzdHJhLgorCisgIDQuIEJhdHRpICA6cSAgcGVyIGNoaXVkZXJlIGxhIGZpbmVzdHJhIGRpIGFpdXRvLgorCisgIDUuIENyZWEgdW5vIHNjcmlwdCBpbml6aWFsZSB2aW1yYyBjb250ZW5lbnRlIGxlIHR1ZSBpbXBvc3RhemlvbmkgcHJlZmVyaXRlLgorCisgIDYuIE1lbnRyZSBiYXR0aSB1biBjb21hbmRvICA6ICwgcHJlbWkgQ1RSTC1EIHBlciB2ZWRlcmUgaSBwb3NzaWJpbGkKKyAgICAgY29tcGxldGFtZW50aS4gIFByZW1pIDxUQUI+IHBlciB1c2FyZSBpbCBjb21wbGV0YW1lbnRvIGRlc2lkZXJhdG8uCisKKworCisKKworCiAKIH5+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+fgogICBRdWkgZmluaXNjZSBsYSBHdWlkYSBhIFZpbS4gIElsIHN1byBpbnRlbnRvIOggZGkgZm9ybmlyZSB1bmEgYnJldmUgcGFub3JhbWljYQogICBkZWxsJ0VkaXRvciBWaW0sIGNoZSB0aSBjb25zZW50YSBkaSB1c2FyZSBsJ0VkaXRvciBhYmJhc3RhbnphIGZhY2lsbWVudGUuCiAgIFF1ZXN0YSBndWlkYSDoIGxhcmdhbWVudGUgaW5jb21wbGV0YSBwb2ljaOkgVmltIGhhIG1vbHRpc3NpbWkgYWx0cmkgY29tYW5kaS4KLSAgUHVvaSBhbmNoZSBsZWdnZXJlIGlsIG1hbnVhbGUgdXRlbnRlOiAiOmhlbHAgdXNlci1tYW51YWwiLgorICBQdW9pIGFuY2hlIGxlZ2dlcmUgaWwgbWFudWFsZSB1dGVudGUgKGFuY2hlIGluIGl0YWxpYW5vKTogIjpoZWxwIHVzZXItbWFudWFsIi4KIAogICBQZXIgdWx0ZXJpb3JlIGxldHR1cmEgZSBzdHVkaW8sIHJhY2NvbWFuZGlhbW86CiAJVmltIC0gVmkgSW1wcm92ZWQgLSBkaSBTdGV2ZSBPdWFsbGluZSAgICAgRWRpdG9yZTogTmV3IFJpZGVycwpAQCAtODAxLDUgKzk2Myw1IEBACiAgIENvbG9yYWRvIFNjaG9vbCBvZiBNaW5lcywgdXNhbmRvIGlkZWUgZm9ybml0ZSBkYSBDaGFybGVzIFNtaXRoLAogICBDb2xvcmFkbyBTdGF0ZSBVbml2ZXJzaXR5IC0gRS1tYWlsOiBid2FyZUBtaW5lcy5jb2xvcmFkby5lZHUKICAgTW9kaWZpY2F0byBwZXIgVmltIGRhIEJyYW0gTW9vbGVuYWFyLgotICBTZWduYWxhcmUgcmVmdXNpIGFkIEFudG9uaW8gQ29sb21ibyAtIEUtbWFpbDogYXpjMTBAeWFob28uY29tCisgIFNlZ25hbGFyZSByZWZ1c2kgYWQgQW50b25pbyBDb2xvbWJvIC0gRS1tYWlsOiBhemMxMDBAZ21haWwuY29tCiB+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+fn4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvdHV0b3IudHIudXRmLTggYi9ydW50aW1lL3R1dG9yL3R1dG9yLnRyLnV0Zi04Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlNjgwMmQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3R1dG9yL3R1dG9yLnRyLnV0Zi04CkBAIC0wLDAgKzEsODEzIEBACis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cis9ICAgIAlWIEkgTSAgIFQgdSB0IG8gcidhIEhvxZ8gR2VsZGluaXogICAgLSAgICBTw7xyw7xtIDEuNSAgICAgID0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworICAgICBWaW0sIGJ1IGdpYmkgYmlyIGXEn2l0bWVuIGlsZSBhw6fEsWtsYW5tYXPEsSBnZXJla2VuIMOnb2sgZmF6bGEga29tdXQgYmFyxLFuZMSxcmFuLAorICAgICBvbGR1a8OnYSBrdXZ2ZXRsaSBiaXIgbWV0aW4gZMO8emVubGV5aWNpZGlyLiBCdSBlxJ9pdG1lbiBWaW0naSDDp29rIGFtYcOnbMSxIGJpcgorICAgICBkw7x6ZW5sZXlpY2kgb2xhcmFrIGtvbGF5bMSxa2xhIGt1bGxhbmFiaWxlY2XEn2luaXogeWV0ZXJsaSBzYXnEsWRhIGtvbXV0dSBhw6fEsWtsYW1haworICAgICBpw6dpbiB0YXNhcmxhbm3EscWfdMSxci4KKworICAgICBFxJ9pdG1lbmkgdGFtYW1sYW1hIHPDvHJlc2kgeWFwYWNhxJ/EsW7EsXogZGVuZW1lbGVyZSBiYcSfbMSxIG9sYXJhayAyNS0zMAorICAgICBkYWtpa2FkxLFyLgorCisgICAgIERlcnNsZXJkZWtpIGtvbXV0bGFyIGJ1IG1ldGluaSBkZcSfacWfdGlyZWNla3Rpci4gw5x6ZXJpbmRlIMOnYWzEscWfbWFrIGnDp2luCisgICAgIGJ1IGRvc3lhbsSxbiBiaXIga29weWFzxLFuxLEgYWzEsW4gKGXEn2VyICJ2aW10dXRvciIgdXlndWxhbWFzxLFuxLEgw6dhbMSxxZ90xLFyZMSxeXNhbsSxegorICAgICB6YXRlbiBiaXIga29weWFzxLFuxLEgYWxtxLHFnyBvbGR1bnV6KS4KKworICAgICBCdSBlxJ9pdG1lbmluLCBrdWxsYW5hcmFrIMO2xJ9yZXRtZXllIGF5YXJsYW5kxLHEn8SxbsSxIHVudXRtYW1hayDDtm5lbWxpZGlyLiBCdSDFn3UKKyAgICAgYW5sYW1hIGdlbGlyOyBrb211dGxhcsSxIMO2xJ9yZW5tZWsgacOnaW4gZG/En3J1IGJpciDFn2VraWxkZSDDp2FsxLHFn3TEsXJtYW7EsXogZ2VyZWtpci4KKyAgICAgRcSfZXIgc2FkZWNlIHlhesSxbGFubGFyxLEgb2t1cnNhbsSxeiBrb211dGxhcsSxIHVudXR1cnN1bnV6LgorCisgICAgIMWeaW1kaSBTaGlmdC1Mb2NrIHR1xZ9sYXLEsW7EsXrEsW4gYmFzxLFsxLEgb2xtYWTEscSfxLFuYSBlbWluIG9sdW4gdmUgRGVycyAxLjEnaW4KKyAgICAgZWtyYW7EsSB0YW1hbWVuIGRvbGR1cm1hc8SxIGnDp2luICAgaiAgIHR1xZ91bmEgeWV0ZXJsaSBtaWt0YXJkYSBiYXPEsW4uCit+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+fn4KKwkJCURlcnMgMS4xOiAgxLBNTEVDxLAgSEFSRUtFVCBFVFTEsFJNRUsKKworICDDhy5OOiBUw7xtIGRlcnNsZXJkZSA8RU5URVI+IGfDtnJkw7zEn8O8bsO8eiB5ZXJkZSBidSB0dcWfYSBiYXNtYW7EsXogZ2VyZWtpci4KKworICAgKiogxLBtbGVjaSBoYXJla2V0IGV0dGlybWVrIGnDp2luLCBoLGosayxsIHR1xZ9sYXLEsW5hIGfDtnN0ZXJpbGRpxJ9pIGdpYmkgYmFzxLFuLiAqKgorICAgCSAgICAgXgorCSAgICAgawkJICAgIMSwcHVjdTogaCB0dcWfdSBzb2xkYWTEsXIgdmUgc29sYSBoYXJla2V0IGVkZXIuCisgICAgICAgPCBoCSBsID4JCSAgIGwgdHXFn3Ugc2HEn2RhZMSxciB2ZSBzYcSfYSBoYXJla2V0IGVkZXIuCisJICAgICBqCQkJICAgaiB0dcWfdSBhxZ9hxJ/EsSB5w7ZubMO8IGJpciBvayBnaWJpZGlyLgorCSAgICAgdgorICAxLiBZZXRlcmxpIGhpc3NlZGluY2V5ZSBrYWRhciBpbWxlY2kgZWtyYW5kYSBoYXJla2V0IGV0dGlyaW4uCisKKyAgMi4gQcWfYcSfxLEgdHXFn3VudSAgKGopICB0ZWtyYXIgZWRlbmUga2FkYXIgYmFzxLFsxLEgdHV0dW4uCistLS0+IMWeaW1kaSwgYmlyIHNvbnJha2kgZGVyc2UgbmFzxLFsIGdlw6dlY2XEn2luaXppIGJpbGl5b3JzdW51ei4KKworICAzLiBBxZ9hxJ/EsSB0dcWfdW51IGt1bGxhbmFyYWssIERlcnMgMS4yJ3llIGdlw6dpbi4KKyAgTm90OiAgRcSfZXIgeWF6ZMSxxJ/EsW7EsXogYmlyIMWfZXlkZW4gZW1pbiBkZcSfaWxzZW5peiwgTm9ybWFsIGtpcGUgZ2XDp21layBpw6dpbiA8RVNDPiB0dcWfdW5hIGJhc8Sxbi4KKyAgICAgICAgRGFoYSBzb25yYSBpc3RlZGnEn2luaXoga29tdXR1IHllbmlkZW4geWF6xLFuLgorICBOb3Q6ICDEsG1sZcOnIHR1xZ9sYXLEsSBkYSBheW7EsSB6YW1hbmRhIGnFn2UgeWFyYXJsYXIgYW5jYWsgICBoamtsICAgdHXFn2xhcsSxbsSxIGt1bGxhbm1heWEgYWzEscWfdMSxxJ/EsW7EsXpkYSBldHJhZnRhIGRhaGEgaMSxemzEsQorICAgICAgICBoYXJla2V0IGVkZXJzaW5pei4KK35+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+fgorCQkgICAgIERlcnMgMS4yOiBWSU0nRSBHxLBSxLDFniBWRSBWSU0nREVOIMOHSUtJxZ4KKworCisgICEhIE5PVDogQcWfYcSfxLFkYWtpIGFkxLFtbGFyxLEgeWFwbWFkYW4gw7ZuY2UsIGJ1IGRlcnNpIHRhbWFtZW4gb2t1eXVuLgorCisgIDEuIDxFU0M+IHR1xZ91bmEgYmFzxLFuIChOb3JtYWwga2lwdGUgb2xtYXnEsSBnYXJhbnRpbGVtZWsgacOnaW4pLgorCisgIDIuIFlhesSxbjoJCQk6cSEgPEVOVEVSPi4KKworLS0tPiBCdSBkw7x6ZW5sZXlpY2luaW4geWFwdMSxxJ/EsW7EsXogZGXEn2nFn2lrbGlrbGVyaSBLQVlERVRNRURFTiBrYXBhbm1hc8SxbsSxIHNhxJ9sYXIuCisgICAgIEXEn2VyIHlhcHTEsWtsYXLEsW7EsXrEsW4ga2F5ZGVkaWxtZXNpbmkgaXN0aXlvcnNhbsSxeiDFn3VudSB5YXrEsW46CisJCQkJOndxICA8RU5URVI+CisKKyAgMy4gS2FidWsgaXN0ZW1jaXNpbmkgKHNoZWxsIHByb21wdCkgZ8O2cmTDvMSfw7xuw7x6ZGUsIHNpemkgYnUgZcSfaXRtZW5lIGdldGlyZW4KKyAgICAga29tdXR1IHlhesSxbi4gQnU6CXZpbXR1dG9yIDxFTlRFUj4ga29tdXR1ZHVyLgorICAgICBOb3JtYWxkZToJdmltIHR1dG9yIDxFTlRFUj4ga29tdXR1IGt1bGxhbsSxbMSxci4KKy0tLT4gJ3ZpbScgdmltIGTDvHplbmxleWljaXNpbmUgZ2lyIGFubGFtxLFuYSBnZWxpciwgJ3R1dG9yJyBpc2UgYcOnbWFrIGlzdGVkacSfaW5peiBkb3N5YWTEsXIuCisKKyAgNC4gRcSfZXIgYnUgYWTEsW1sYXLEsSBlemJlcmxlZGl5c2VuaXogdmUga2VuZGluaXpkZW4gZW1pbnNlbml6LCAxJ2RlbiAzJ2Uga2FkYXIgb2xhbiBhZMSxbWxhcsSxLAorICAgICBkw7x6ZW5sZXlpY2lkZW4gw6fEsWttYWsgdmUgeWVuaWRlbiBnaXJtZWsgacOnaW4gdXlndWxhecSxbi4KK35+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+fgorCQkgICAgIERlcnMgMS4zOiBNRVTEsE4gRMOcWkVOTEVNRSAtIFPEsExNRQorCisKKyoqIE5vcm1hbCBraXB0ZXlrZW4gaW1sZWNpbiBhbHTEsW5kYWtpIGthcmFrdGVyaSBzaWxtZWsgacOnaW4gICB4ICAnZSBiYXPEsW4uKioKKworICAxLiDEsG1sZWNpIGHFn2HEn8SxZGEgacWfYXJldGxlbm1pxZ8gKC0tPikgc2F0xLFyYSBnw7Z0w7xyw7xuLgorCisgIDIuIEhhdGFsYXLEsSBkw7x6ZWx0bWVrIGnDp2luLCBpbWxlY2kgc2lsaW5tZXNpIGdlcmVrZW4ga2FyYWt0ZXJpbiDDvHplcmluZSBnZXRpcmluCisKKyAgMy4gxLBzdGVubWV5ZW4ga2FyYWt0ZXJpIHNpbG1layBpw6dpbiAgIHggICB0dcWfdW5hIGJhc8Sxbi4KKworICA0LiBDw7xtbGUgZMO8emVsZW5lIGthZGFyIDInZGVuIDQnZSBrYWRhciBvbGFuIGFkxLFtbGFyxLEgdGVrcmFyIGVkaW4uCisKKy0tLT4gxLBpbmVrIGF5ecSxbiDDvHp6ZXJpbmRlbiBhdHRsYWTEsS4KKworICA1LiDFnmltZGkgc2F0xLFyIGTDvHplbGRpLCBEZXJzIDEuNCdlIGdlw6dpbi4KKworTk9UOiBCdSBlxJ9pdG1lbmRlIGlsZXJsZWRpa8OnZSBlemJlcmxlbWV5ZSDDp2FsxLHFn21hecSxbiwga3VsbGFuYXJhayDDtsSfcmVuaW4uCisKKworCit+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+fn4KKwkJICAgICBEZXJzIDEuNDogTUVUxLBOIETDnFpFTkxFTUUgLSBFS0xFTUUKKworCisJICAqKiBOb3JtYWwga2lwdGV5a2VuIG1ldGluIGVrbGVtZWsgacOnaW4gICBpICAneWUgYmFzxLFuLiAqKgorCisgIDEuIMSwbWxlY2kgYcWfYcSfxLFkYWtpIGnFn2FyZXRsZW5tacWfICgtLT4pIGlsayBzYXTEsXJhIGfDtnTDvHLDvG4uCisKKyAgMi4gxLBsayBzYXTEsXLEsSBpa2luY2lzaW5pbiBheW7EsXPEsSBnaWJpIHlhcG1hayBpw6dpbiwgaW1sZWNpIGVrbGVubWVzaSBnZXJla2VuCisgICAgIG1ldGluZGVuIHNvbnJha2kgaWxrIGthcmFrdGVyaW4gw7x6ZXJpbmUgZ8O2dMO8csO8bi4KKworICAzLiBpICAneWUgYmFzxLFuIHZlIGdlcmVrbGkgZWtsZW1lbGVyaSB5YXDEsW4uCisKKyAgNC4gSGVyIGhhdGEgZMO8emVsdGlsZGnEn2luZGUgPEVTQz4gdHXFn3VuYSBiYXNhcmFrIE5vcm1hbCBraXBlIGTDtm7DvG4uCisgICAgIEPDvG1sZXlpIGTDvHplbHRtZWsgacOnaW4gMidkZW4gNCdlIGthZGFyIG9sYW4gYWTEsW1sYXLEsSB0ZWtyYXIgZWRpbi4KKworLS0tPiBCdSBtZXRpbmRlIGVrc2suCistLS0+IEJ1IG1ldGluZGUgYmlyxZ9leSBla3Npay4KKworICA1LiBNZXRpbiBla2xlbWUgw6dhbMSxxZ9tYWxhcsSxbsSxIHlldGVybGkgZ8O2csO8eW9yc2FuxLF6IGHFn2HEn8SxZGFraSDDtnpldGUgZ2XDp2luLgorCisKKworfn5+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+CisJCQkgICAgICAgREVSUyAxIMOWWkVUCisKKworICAxLiDEsG1sZcOnIGhlbSBvayB0dcWfbGFyxLEgaGVtIGRlICAgaGprbCAgIHR1xZ9sYXLEsSBpbGUgaGFyZWtldCBldHRpcmlsaXIuCisJIGggKHNvbCkJaiAoYcWfYcSfxLEpICAgICAgIGsgKHl1a2FyxLEpCSAgICBsIChzYcSfKQorCisgIDIuIChLb25zb2xkYW4pIFZpbSdlIGdpcm1layBpw6duICB5YXrEsW46ICB2aW0gRE9TWUHEsFNNxLAgPEVOVEVSPgorCisgIDMuIFTDvG0gZGXEn2nFn2lrbGlrbGVyaSBnw7Z6IGFyZMSxIGVkaXAgdmltZGVuIMOnxLFrbWFrIGnDp2luIHlhesSxbjoKKyAgICAgPEVTQz4JOnEhCTxFTlRFUj4KKyAgICAgdmV5YSB0w7xtIGRlxJ9pxZ9pa2xpa2xlcmkga2F5ZGV0bWVrIGnDp2luIHlhesSxbjoKKyAgICAgPEVTQz4JOndxCTxFTlRFUj4KKworICA0LiDEsG1sZWNpbiBhbHTEsW5kYWtpIGJpciBrYXJha3Rlcmkgc2lsbWVrIGnDp2luIE5vcm1hbCBraXB0ZSAgIHggICB5YXrEsW4uCisKKyAgNS4gxLBtbGVjaW4gYWx0xLFuZGEgbWV0aW4gZWtsZW1layBpw6dpbiBOb3JtYWwga2lwdGUgeWF6xLFuOgorCSBpICAgICB5YXrEsWxhY2FrIG1ldGluCTxFU0M+CisKK05PVDogPEVTQz4gdHXFn3VuYSBiYXNtYWsgc2l6aSBOb3JtYWwga2lwZSBnw7Z0w7xyw7xyIHlhIGRhIGlzdGVubWV5ZW4gdGFtYW1sYW5tYW3EscWfIGJpciBrb211dHUKKyAgICAgaXB0YWwgZWRlci4KKworxZ5pbWRpIERlcnMgMiBpbGUgZGV2YW0gZWRpbi4KKworCit+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+fn4KKwkJCURlcnMgMi4xOiBTxLBMTUUgS09NVVRMQVJJCisKKwkgICAgKiogQmlyIGtlbGltZXlpIHNpbG1layBpw6dpbiAgZHcgIHlhesSxbi4qKgorCisgIDEuIE5vcm1hbCBraXB0ZSBvbG1ha3RlbiBlbWluIG9sbWFrIGnDp2luIDxFU0M+IHR1xZ91bmEgYmFzxLFuLgorCisgIDIuIMSwbWxlY2kgYcWfYcSfxLFkYWtpIGnFn2FyZXRsZW5tacWfICgtLT4pIHNhdMSxcmEgZ8O2dMO8csO8bi4KKworICAzLiDEsG1sZWNpIHNpbGlubWVzaSBnZXJla2VuIGtlbGltZW5pbiBiYcWfxLFuYSBnw7Z0w7xyw7xuLgorCisgIDQuIEtlbGltZXlpIHNpbG1layBpw6dpbiAgIGR3ICAgeWF6xLFuLgorCisgIE5PVDogIGR3ICBoYXJmbGVyaSBzaXogeWF6ZMSxa8OnYSBla3JhbsSxbiBzb24gc2F0xLFyxLFuZGEgZ8O2csO8bGVjZWt0aXIuCisgICAgICAgIEXEn2VyIHlhbmzEscWfIGJpciDFn2V5bGVyIHlhemFyc2FuxLF6LCB5ZW5pZGVuIGJhxZ9sYW1hayBpw6dpbiA8RVNDPiB0dcWfdW5hIGJhc8Sxbi4KKworLS0tPiBCdSBzYXTEsXJkYSDDp2VyZXogY8O8bWxleWUgYWl0IG9sbWF5YW4gbGVibGViaSBrZWxpbWVsZXIgdmFyLgorCisKKyAgNS4gQ8O8bWxlIGTDvHplbGVuZSBrYWRhciBhZMSxbSAzIHZlIDQnw7wgdGVrcmFyIGVkaW4sIGRhaGEgc29ucmEgRGVycyAyLjIneWUgZ2lkaW4uCisKKworCit+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+fn4KKwkJICAgICAgRGVycyAyLjI6IERBSEEgRkFaTEEgU8SwTE1FIEtPTVVUVQorCisKKwkgICAqKiBTYXTEsXLEsSBzb251bmEga2FkYXIgc2lsbWVrIGnDp2luICAgZCQgICB5YXrEsW4uKioKKworICAxLiBOb3JtYWwga2lwdGUgb2xtYWt0YW4gZW1pbiBvbG1hayBpw6dpbiA8RVNDPiB0dcWfdW5hIGJhc8Sxbi4KKworICAyLiDEsG1sZWNpIGHFn2HEn8SxZGFraSBpxZ9hcmV0bGVubWnFnyAoLS0+KSBzYXTEsXJhIGfDtnTDvHLDvG4uCisKKyAgMy4gxLBtbGVjaSBkb8SfcnUgb2xhbiBzYXTEsXLEsW4gc29udW5hIGfDtnTDvHLDvG4uIChCaXJpbmNpZGVuIFNPTlJBLiApCisKKyAgNC4gU2F0xLFyxLEgc29udW5hIGthZGFyIHNpbG1layBpw6dpbiAgIGQkICAgeWF6xLFuLgorICAoIGQkICB5YXphcmtlbiBkJ2RlbiBzb25yYSA8QUxUPiBpbGUgYmVyYWJlciAkIHR1xZ91bmEgYmFzxLFuKQorCistLS0+IEJpcmlsZXJpIGJ1IHNhdMSxcsSxbiBzb251bnUgaWtpIGRlZmEgeWF6bcSxxZ8uIEJpcmlsZXJpIGJ1IHNhdMSxcsSxbiBzb251bnUgaWtpIGRlZmEgeWF6bcSxxZ8uCisKKyAgNS4gTmVsZXIgb2xkdcSfdW51IGFubGFtYWsgacOnaW4gRGVycyAyLjMnZSBnaWRpbi4KKworCisKKworCit+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+fn4KKwkJICAgICBEZXJzIDIuMzogS09NVVRMQVIgVkUgTkVTTkVMRVIKKworCisgICBkICAgc2lsbWUga29tdXR1IGnDp2luIGJpw6dpbSBhxZ9hxJ/EsWRha2kgZ2liaWRpcjoKKworCSBbc2F5xLFdICAgZAluZXNuZQkgICAgVkVZQSAgICAgZAkgW3NhecSxXSAgIG5lc25lCisgIEJ1cmFkYToKKyAgICBzYXnEsSAgIC0ga29tdXR1biBrYcOnIGRlZmEgw6dhbMSxxZ90xLFybGFjYcSfxLEgKGlzdGXEn2UgYmHEn2zEsSwgdmFyc2F5xLFsYW49MSkuCisgICAgZCAgICAgIC0gc2lsbWUga29tdXR1CisgICAgbmVzbmUgIC0ga29tdXR1biBuZSDFn2VraWxkZSDDp2FsxLHFn2FjYcSfxLEgKGHFn2HEn8SxZGEgbGlzdGxlbmRpKS4KKworICBOZXNuZWxlcmluIGvEsXNhIGJpciBsaXN0ZXNpLgorICAgIHcgLSBCb8WfbHXEn3UgZGEgacOnZXJlcmVrLCBpbWxlw6d0ZW4gaXRpYmFyZW4ga2VsaW1lbmluIHNvbnVuYSBrYWRhci4KKyAgICBlIC0gQm/Fn2x1xJ91IMSww4dFUk1FREVOLCBpbWxlw6d0ZW4gaXRpYmFyZW4ga2VsaW1lbmluIHNvbnVuYSBrYWRhci4KKyAgICAkIC0gaW1sZcOndGVuIHNhdMSxcsSxbiBzb251bmEga2FkYXIuCisKK05PVDogICBTZXLDvHZlbiBzZXZlbmxlciBpw6dpbiwgTm9ybWFsIGtpcHRlIGlrZW4sIGtvbXV0IG9sbWFkYW4gc2FkZWNlIG5lc25lbmluIGtlbmRpc2luZSBiYXNtYWsKKyAgICAgICBpbWxlY2kgeXVrYXJkYWtpIGxpc3RlZGUgb2xkdcSfdSBnaWJpIGhhcmVrZXQgZXR0aXJlY2VrdGlyLgorCisKKworCit+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+fn4KKwkJRGVycyAyLjQ6ICAgJ0tPTVVULU5FU05FJ3llIELEsFIgxLBTVMSwU05BCisKKworCQkgKiogQsO8dMO8biBiaXIgc2F0xLFyxLEgc2lsbWVrIGnDp2luICAgZGQgICB5YXrEsW4uICoqCisKKyAgQsO8dMO8biBiaXIgc2F0xLFyIHNpbG1lIHPEsWtsxLHEn8SxbmRhbiBkb2xhecSxLCBWaSB0YXNhcsSxbWPEsWxhcsSxIGJpciBzYXTEsXLEsQorICB0YW1hbWVuIHNpbG1layBpw6dpbiBpa2kgZCB5YXptYW7EsW4gZGFoYSBrb2xheSBvbGFjYcSfxLFuYSBrYXJhciB2ZXJkaWxlci4KKworICAxLiDEsG1sZWNpIGHFn2HEn8SxZGFraSB0w7xtY2VjacSfaW4gaWtpbmNpIHNhdMSxcsSxbmEgZ8O2dMO8csO8bi4KKyAgMi4gU2F0xLFyxLEgc2lsbWVrIGnDp2luICAgIGRkICAgeWF6xLFuLgorICAzLiDFnmltZGkgZGUgZMO2cmTDvG5jw7wgc2F0xLFyYSBnaWRpbi4KKyAgNC4gxLBraSBzYXTEsXLEsSBiaXJkZW4gc2lsbWVrIGnDp2luICAgMmRkICAgKHNhecSxLWtvbXV0LW5lc25lJ3lpIGhhdMSxcmxhecSxbikgeWF6xLFuLgorCisJMSkgIEfDvGxsZXIga8Sxcm3EsXrEsWTEsXIsCisJMikgIMOHYW11ciBlxJ9sZW5jZWxpLAorCTMpICBNZW5la8WfZWxlciBtYXZpLAorCTQpICBCaXIgYXJhYmFtIHZhciwKKyAgICAgICAgNSkgIFNhYXQgYmFuYSBzw7Z5bGVyLAorCTYpICDFnmVrZXIgdGF0bMSxZMSxcgorIAk3KSAgVmUgc2VuIGRlIMO2eWxlc2luCisKK35+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+fgorCQkJIERlcnMgMi41OiBHRVLEsCBBTCBLT01VVFUKKworCisgICAqKiBTb24ga29tdXR1IGdlcmkgYWxtYWsgacOnaW4gICAgdSAgICwgYsO8dMO8biBiaXIgc2F0xLFyxLEgZMO8emVsdG1layBpw6dpbiBVIHlhesSxbi4qKgorCisgIDEuIMSwbWxlY2kgYcWfYcSfxLFkYWtpIGnFn2FyZXRsZW5tacWfICgtLT4pIHNhdMSxcmRha2kgaWxrIGhhdGFuxLFuIMO8emVyaW5lIGfDtnTDvHLDvG4uCisgIDIuIMSwbGsgaXN0ZW5tZXllbiBrYXJha3Rlcmkgc2lsbWVrIGnDp2luICAgeCAgIHlhesSxbi4KKyAgMy4gxZ5pbWRpIHNvbiDDp2FsxLHFn3TEsXLEsWxhbiBrb211dHUgZ2VyaSBhbG1hayBpw6dpbiAgIHUgICB5YXrEsW4uCisgIDQuIEJ1IHNlZmVyICAgeCAgICBrb211dHVudSBrdWxsYW5hcmFrIHNhdMSxcmRha2kgdMO8bSBoYXRhbGFyxLEgZMO8emVsdGluLgorICA1LiDFnmltZGkgc2F0xLFyxLEgaWxrIGhhbGluZSDDp2V2aXJtZWsgacOnaW4gYsO8ecO8ayAgIFUgICAgeWF6xLFuLgorICA2LiDFnmltZGkgICBVICAgIHZlIGRhaGEgw7ZuY2VraSBrb211dGxhcsSxIGdlcmkgYWxtYWsgacOnaW4gYmlya2HDpyBkZWZhICAgdSAgICB5YXrEsW4uCisgIDcuIMWeaW1kaSBiaXJrYcOnIGRlZmEgQ1RSTC1SIChDVFJMJ3lpIGJhc8SxbMSxIHR1dGFya2VuIFIgeWUgYmFzxLFuKSB5YXphcmFrIGdlcmkgYWxtYWxhcsSxIGRhIGdlcmkgYWzEsW4uCisKKy0tLT4gQnV1IHNhdMSxxLFyZGFraSBoYXRhbGFyxLEgZMO8w7x6ZWx0aW5uIHZlIHNvbnJhIGtvb211dHUgZ2VyaSBhbGxsxLFuLgorCisgIDguIEJ1bmxhciBzb24gZGVyZWNlIGt1bGxhbsSxxZ9sxLEga29tdXRsYXJkxLFyLiDFnmltZGkgRGVycyAyIMOWemV0ZSBnZcOnaW4uCisKKworCisKK35+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+fgorCQkJICAgICAgIERFUlMgMiDDllpFVAorCisKKyAgMS4gxLBtbGXDp3RlbiBpdGliYXJlbiBiaXIga2VsaW1leWkgc2lsbWVrIGnDp2luIHlhesSxbjoJZHcKKworICAyLiDEsG1sZcOndGVuIGl0aWJhcmVuIGJpciBzYXTEsXLEsSBzaWxtZWsgacOnaW4geWF6xLFuOglkJAorCisgIDMuIELDvHTDvG4gYmlyIHNhdMSxcsSxIHNpbG1layBpw6dpbiB5YXrEsW46CQlkZAorCisgIDQuIE5vcm1hbCBraXB0ZSBiaXIga29tdXQgYmnDp2ltaSDFn8O2eWxlZGlyOgorCisgICAgICAgW3NhecSxXSAgIGtvbXV0ICAgIG5lc25lICAgIFZFWUEgICAgIGtvbXV0CVtzYXnEsV0gICBuZXNuZQorICAgICBidXJhZGE6CisJIHNhecSxICAtIGtvbXV0dW4ga2HDpyBrZXJlIHRla3JhciBlZGVjZcSfaQorCSBrb211dCAtIG5lIHlhcMSxbGFjYcSfxLEsIHNpbG1layBpw6dpbiAgIGQgICBvbGR1xJ91IGdpYmkKKwkgbmVzbmUgLSBrb211dHVuIG5hc8SxbCBkYXZyYW5hY2HEn8SxLCB3IChrZWxpbWUpLCAkIChzYXTEsXIgc29udSksIHZiIGdpYmkuCisKKyAgNS4gw5ZuY2VraSBoYXJla2V0bGVyaSBnZXJpIGFsbWFrIGnDp2luIHlhesSxbjoJCXUJKGvDvMOnw7xrIHUpCisgICAgIEJpciBzYXTEsXJkYWtpIHTDvG0gZGXEn2nFn2lrbGlrbGVyaSBnZXJpIGFsbWFrIGnDp2luIHlhesSxbjoJVQkoYsO8ecO8ayB1KQorICAgICBHZXJpIGFsbWFsYXLEsSBnZXJpIGFsbWFrIGnDp2luIHlhesSxbjoJQ1RSTC1SCisKKworfn5+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+CisJCQkgRGVycyAzLjE6IEtPWSBLT01VVFUKKworCisgICAgICAgKiogU29uIHlhcHTEscSfxLFuxLF6IHNpbG1lIGnFn2xlbWluaSBpbWxlw6d0ZW4gc29uYSBnZXJpIHllcmxlxZ90aXJtZWsgacOnaW4JcCAgIHlhesSxbi4qKgorCisgIDEuIMSwbWxlY2kgYcWfYcSfxLFkYWtpIHTDvG1jZWNpxJ9pbiBpbGsgc2F0xLFyxLFuYSBnw7Z0w7xyw7xuLgorCisgIDIuIFNhdMSxcsSxIHNpbGlwIFZpbSdpbiB0YW1wb251bmEgeWVybGXFn3Rpcm1layBpw6dpbiAgIGRkICAgeWF6xLFuLgorCisgIDMuIMSwbWxlY2ksIHNpbGlubWnFnyBzYXTEsXLEsSBuZXJleWUgeWVybGXFn3Rpcm1layBpc3RpeW9yc2FuxLF6LCBvIHNhdMSxcsSxbiDDnFpFUsSwTkUgZ8O2dMO8csO8bi4KKworICA0LiBOb3JtYWwga2lwdGV5a2VuLCBzYXTEsXLEsSB5ZXJsZcWfdGlybWVrIGnDp2luICAgcCAgIHlhesSxbi4KKworICA1LiBUw7xtIHNhdMSxcmxhcsSxIGRvxJ9ydSBzxLFyYXlhIGtveW1hayBpw6dpbiAyJ2RlbiA0J2Uga2FkYXIgb2xhbiBhZMSxbWxhcsSxIHRla3JhciBlZGluLgorCisgICAgIGQpIFNlbiBkZSDDtsSfcmVuZGluIG1pPworICAgICBiKSBNZW5la8WfZWxlciBtYXZpZGlyLAorICAgICBjKSBBa8SxbCDDtsSfcmVuaWxpciwKKyAgICAgYSkgR8O8bGxlciBrxLFybcSxesSxZMSxciwKKworCisKK35+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+fgorCQkgICAgICAgRGVycyAzLjI6IFlFUkxFxZ5UxLBSIEtPTVVUVQorCisKKyAgKiogxLBtbGVjaW4gYWx0xLFuZGEgYmlyIGthcmFrdGVyIHllcmxlxZ90aXJtZWsgacOnaW4gICAgciAgICB5YXrEsW4uKioKKworICAxLiDEsG1sZWNpIGHFn2HEn8SxZGFraSBpxZ9hcmV0bGVubWnFnygtLS0+KSBpbGsgc2F0xLFyYSBnw7Z0w7xyw7xuLgorCisgIDIuIMSwbWxlY2kgc2F0xLFyZGFraSBpbGsgaGF0YW7EsW4gw7x6ZXJpbmUgZ8O2dMO8csO8bi4KKworICAzLiBIYXRhecSxIGTDvHplbHRtZWsgacOnaW4gw7ZuY2UgICByICAgIGFyZMSxbmRhbiBkYSBkb8SfcnUga2FyYWt0ZXJpIHlhesSxbi4KKworICA0LiDEsGxrIHNhdMSxciBkw7x6ZWxlbmUga2FkYXIgYWTEsW0gMiB2ZSAzJ8O8IHRla3JhciBlZGluLgorCistLS0+ICBCdSBzYXTEsXYgeWF6xLFsxLF2a2VuLCBiaXZpbGVyaSB5YW1sxLHFnyB0dcWfdGFyYSBiYXNtxLHFny4KKy0tLT4gIEJ1IHNhdMSxciB5YXrEsWzEsXJrZW4sIGJpcmlsZXJpIHlhbmzEscWfIHR1xZ9sYXJhIGJhc23EscWfLgorCisgIDUuIERlcnMgMy4yJ3llIGdlw6dpbi4KKworTk9UOiBVbnV0bWF5xLFuLCBlemJlcmxleWVyZWsgZGXEn2lsIGt1bGxhbmFyYWsgw7bEn3JlbmluLgorCisKK35+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+fgorCQkJRGVycyAzLjM6IERFxJ7EsMWeVMSwUiBLT01VVFUKKworCisJICAgKiogQmlyIGtlbGltZW5pbiB0YW1hbcSxbsSxIHZleWEgcGFyw6dhc8SxbsSxIGRlxJ9pxZ90aXJtZWsgacOnaW4gICBjdyAgIHlhesSxbi4KKworICAxLiDEsG1sZWNpIGHFn2HEn8SxZGFraSBpxZ9hcmV0bGVubWnFnygtLS0+KSBzYXTEsXJhIGfDtnTDvHLDvG4uCisKKyAgMi4gxLBtbGVjaSAic3V0YXIiIGRha2kgdSdudW4gw7x6ZXJpbmUgeWVybGXFn3RpcmluLgorCisgIDMuIMOWbmNlICAgY3cgICBhcmTEsW5kYW4gZG/En3J1IGtlbGltZXlpIGdpcmluIChidSBkdXJ1bWRhICdhdMSxcicuKQorCisgIDQuIDxFU0M+IHR1xZ91bmEgYmFzxLFuIHZlIGJpciBzb25yYWtpIGhhdGF5YSBnaWRpbiAoZGXEn2nFn21lc2kgZ2VyZWtlbiBpbGsga2FyYWt0ZXIuKQorCisgIDUuIMSwbGsgY8O8bWxlIGlraW5jaXNpeWxlIGF5bsSxIG9sYW5hIGthZGFyIGFkxLFtIDMgdmUgNCfDvCB0ZWtyYXIgZWRpbi4KKworLS0tPiBCdSBzdXRhciBkZcSfacWfdGlyIGtvbXV0dSBpbGUgZGXEn2nFn25lbGkgZ2VyZWtlbiBiaXJrYcOnIHBldGltZSBpw6dlcml5b3IuCistLS0+IEJ1IHNhdMSxciBkZcSfacWfdGlyIGtvbXV0dSBpbGUgZGXEn2nFn21lc2kgZ2VyZWtlbiBiaXJrYcOnIGtlbGltZSBpw6dlcml5b3IuCisKK2N3J25pbiBzYWRlY2Uga2VsaW1leWkgZGXEn2nFn3Rpcm1lZGnEn2luaSwgYXluxLEgemFtYW5kYSBzaXppIGluc2VydCBraXBpbmUgZ8O2dMO8cmTDvMSfw7xuZSBkZSBkaWtrYXQgZWRpbi4KKworCit+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+fn4KKwkJICAgICAgCURlcnMgMy40OiBjJ1nEsCBLVUxMQU5BUkFLIERBSEEgRkFaTEEgREXEnsSwxZ5UxLBSTUUKKworCisgICAgICoqIERlxJ9pxZ90aXIga29tdXR1IHNpbCBrb211dHUgaWxlIGF5bsSxIG5lc25lbGVybGUga3VsbGFuxLFsxLFyLioqCisKKyAgMS4gRGXEn2nFn3RpciBrb211dHUgc2lsIGlsZSBheW7EsSB5b2xsYSDDp2FsxLHFn8Sxci4gQmnDp2ltIMWfw7Z5bGVkaXI6CisKKyAgICAgICBbc2F5xLFdICAgYyAgIG5lc25lCSAgIFZFWUEJICAgIGMJW3NhecSxXSAgIG5lc25lCisKKyAgMi4gTmVzbmVsZXIgZGUgYXluxLEgemFtYW5kYSBheW7EsWTEsXIuIMOWcm5lxJ9pbiB3ICh3b3JkKSwgJCAoc2F0xLFyIHNvbnUpLCB2Yi4gZ2liaS4KKworICAzLiBBxZ9hxJ/EsWRha2kgacWfYXJldGxlbm1pxZ8oLS0tPikgaWxrIHNhdMSxcmEgZ2lkaW4uCisKKyAgNC4gxLBtbGVjaSBpbGsgaGF0YXlhIGfDtnTDvHLDvG4uCisKKyAgNS4gU2F0xLFyxLFuIGdlcmkga2FsYW4ga8Sxc23EsW7EsSBpa2luY2lzaSBnaWJpIHlhcG1hayBpw6dpbiAgIGMkICAgeWF6xLFuIHZlIGRhaGEgc29ucmEgPEVTQz4gdHXFn3VuYSBiYXPEsW4uCisKKy0tLT4gQnUgc2F0xLFyxLFuIHNvbnUgZMO8emVsdGlsbWVrIGnDp2luIGJpcmF6IHlhcmTEsW1hIGlodGl5YcOnIGR1eXV5b3IuCistLS0+IEJ1IHNhdMSxcsSxbiBzb251IGTDvHplbHRpbG1layBpw6dpbiAgIGMkICAga29tdXR1IGt1bGxhbsSxbGFyYWsgeWFyZMSxbWEgaWh0aXlhw6cgZHV5dXlvci4KKworCit+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+fn4KKwkJCSAgICAgICBERVJTIDMgw5ZaRVQKKworCisgIDEuIFNpbGlubWnFnyBvbGFuIGJpciBtZXRpbmkgZ2VyaSB5ZXJsZcWfdGlybWVrIGnDp2luICAgcCAgIHlhesSxbi4gQnUgc2lsaW5tacWfIG1ldGluaQorICAgICBpbWxlw6d0ZW4gaGVtZW4gU09OUkEgZ2VyaSB5ZXJsZcWfdGlyaXIgKGXEn2VyIGJpciBzYXTEsXIgc2lsaW5tacWfc2UgaGVtZW4gaW1sZcOndGVuIHNvbnJhLCBhbHRhCisgICAgIHllcmxlxZ90aXJpbGVjZWt0aXIpCisKKyAgMi4gxLBtbGVjaW4gYWx0xLFuZGFraSBrYXJha3RlcmkgZGXEn2nFn3Rpcm1layBpw6dpbiDDtm5jZSAgIHIgICAgYXJkxLFuZGFuIGRhCisgICAgIGFzxLFsIGthcmFrdGVyaSB5YXrEsW4uCisKKyAgMy4gRGXEn2nFn3RpciBrb211dHUgYmVsaXJsZW5lbiBuZXNuZXlpLCBpbWxlw6d0ZW4gbmVzbmVuaW4gc29udW5hIGthZGFyIGRlxJ9pxZ90aXJtZSBpbWthbsSxIHZlcmlyLgorICAgICDDlnJuZcSfaW4sIGJpciBrZWxpbWV5aSBpbWxlw6d0ZW4gc29udW5hIGthZGFyIGRlxJ9pxZ90aXJtZWsgacOnaW4gICBjdyAgICwgYmlyIHNhdMSxcsSxbiB0YW1hbcSxbsSxCisgICAgIGRlxJ9pxZ90aXJtZWsgacOnaW5zZSAgIGMkICAgeWF6xLFuLgorCisgIDQuIERlxJ9pxZ90aXIgacOnaW4gYmnDp2ltIMWfw7Z5bGVkaXI6CisKKwkgW3NhecSxXSAgIGMJbmVzbmUJICAgICAgVkVZQQljICAgW3NhecSxXSAgIG5lc25lCisKK8WeaW1kaSBiaXIgc29ucmFraSBkZXJzZSBnZcOnaW4uCisKKworCit+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+fn4KKwkJICAgICBEZXJzIDQuMTogS09OVU0gVkUgRE9TWUEgRFVSVU1VCisKKworICAqKiBEb3N5YSBpw6dlcmlzaW5kZWtpIGtvbnVtdW51enUgdmUgZG9zeWFuxLFuIGR1cnVtdW51IGfDtnJtZWsgacOnaW4gICBDVFJMLWcgICAgeWF6xLFuLiAqKgorICAqKiBEb3N5YSBpw6dlcmlzaW5kZWtpIGJpciBzYXTEsXJhIGdpdG1layBpw6dpbiAgIFNISUZULWcgICB5YXrEsW4uICoqCisKKyAgTm90OiBBZMSxbWxhcmRhbiBoZXJoYW5naSBiaXJpbmkgeWFwbWFkYW4gw7ZuY2UgZGVyc2luIHRhbWFtxLFuxLEgb2t1eXVuISEKKworICAxLiBDdHJsIHR1xZ91bnUgYmFzxLFsxLEgdHV0dW4gdmUgICBnJ3llICAgYmFzxLFuLiBEb3N5YW7EsW4gc29udW5kYSBkb3N5YSBpc21pbmkgdmUgYnVsdW5kdcSfdW51eiBrb251bXUKKyAgICAgZ8O2c3RlcmVuIGJpciBkdXJ1bSBzYXTEsXLEsSBnw7Zyw7xuZWNla3Rpci4gQWTEsW0gMyBpw6dpbiBzYXTEsXIgbnVtYXJhc8SxbsSxCisgICAgIHVudXRtYXnEsW4uCisKKyAgMi4gRG9zeWFuxLFuIHNvbnVuYSBnaXRtZWsgacOnaW4gICBzaGlmdC1HICAgJ3llIGJhc8Sxbi4KKworICAzLiBEYWhhIMO2bmNlIGJ1bHVuZHXEn3VudXogc2F0xLFyIG51bWFyYXPEsW7EsSB5YXrEsW4gdmUgZGFoYSBzb25yYSAgICBzaGlmdC1HICAgJ3llIGJhc8Sxbi4KKyAgICAgQnUgc2l6aSBkYWhhIMO2bmNlIGJ1bHVuZHXEn3VudXogdmUgICAgQ3RybC1nICAgJ3llIGJhc3TEscSfxLFuxLF6IHNhdMSxcmEgZ2VyaSBnw7Z0w7xyZWNla3Rpci4KKyAgICAgKFNhecSxbGFyIHlhesSxbMSxcmtlbiBla3JhbmRhIEfDllLDnE5NRVlFQ0VLTEVSRMSwUi4pCisKKyAgNC4gWWFwYWJpbGVjZcSfaW5pemkgZMO8xZ/DvG5kw7zEn8O8bsO8emRlLCBhZMSxbSAxJ2RlbiAzJ2Uga2FkYXIgeWFwxLFuLgorCisgIMOHLk46IEJ1IGvEsXPEsW0gb3JpamluYWwgbWV0aW5kZSBkZSBiaXJheiBla3NpayBhbmxhdMSxbG3EscWfIGdpYmkuIEJpciBzYXTEsXIgaGFra8SxbmRhIGJpbGdpIGFsbWFrIGnDp2luCisgICAgICAgQ3RybC1nJ3lpIGt1bGxhbsSxbi4gSGVyaGFuZ2kgYmlyIHNhdMSxcmEgZ2l0bWVrIGnDp2luc2UsIMO2bmNlIHNhdMSxciBudW1hcmFzxLFuxLEgeWF6xLFuIHZlIGFyZMSxbmFuCisgICAgICAgc2hpZnQtZyd5ZSBiYXPEsW4uIFNhdMSxciBudW1hcmFzxLEgZ2lybWVkZW4gYmFzxLFsYW4gc2hpZnQtZyBzaXppIHNhdMSxciBzb251bmEgZ8O2dMO8csO8ci4KKworfn5+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+CisJCQlEZXJzIDQuMjogQVJBTUEgS09NVVRVCisKKworICAgICAqKiBCaXIga2VsaW1lIMO2YmXEn2luaSBhcmFtYWsgacOnaW4gICAvICAgaWxlIGJlcmFiZXIga2VsaW1lIMO2YmXEn2luaSBnaXJpbi4gKioKKworICAxLiBOb3JtYWwga2lwdGV5a2VuICAgLyAgIGthcmFrdGVyaW5pIHlhesSxbi4gS29tdXQgYsO2bMO8bcO8IHllcmluZSAgIC8gICBrYXJha3RlcmluaW4gdmUKKyAgICAgaW1sZWNpbiBla3JhbsSxbiBzb251bmRhIGfDtnLDvG5kw7zEn8O8bmUgZGlra2F0IGVkaW4uCisKKyAgMi4gxZ5pbWRpLCAnaGF0dHRhYScgeWF6xLFwIDxFTlRFUj4gJ2EgYmFzxLFuLiBCdSBzaXppbiBhcmFtYWsgaXN0ZWRpxJ9pbml6IGtlbGltZS4KKworICAzLiBBeW7EsSBrZWxpbWUgw7ZiZcSfaW5pIHRla3JhciBhcmFtYWsgacOnaW4sIGJhc2l0w6dlICAgbiAgIHlhesSxbi4KKyAgICAgQXluxLEga2VsaW1lIMO2YmXEn2luaSB6xLF0IHnDtm5kZSBhcmFtYWsgacOnaW4sIFNoaWZ0LU4geWF6xLFuLgorCisgIDQuIEXEn2VyIHrEsXQgecO2bmUgZG/En3J1IGJpciBhcmFtYSB5YXBtYWsgaXN0aXlvcnNhbsSxeiwgIC8gICBrb211dHUgeWVyaW5lCisgICAgID8gICBrb211dHVudSBrdWxsYW7EsW4uCisKKy0tLT4gImhhdHR0YWEiIGhhdGF5xLEgeWF6bWFuxLFuIGRvxJ9ydSB5b2x1IGRlxJ9pbDsgaGF0dHRhYSBiaXIgaGF0YS4KKworTm90OiBBcmFtYSBkb3N5YW7EsW4gc29udW5hIHVsYcWfdMSxxJ/EsW5kYSwgdGVrcmFyIGJhxZ90YW4gYmHFn2xheWFjYWt0xLFyLgorCit+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+fn4KKwkJICAgRGVycyA0LjM6IFVZQU4gUEFSQU5URVogQVJBTUFTSQorCisKKwkgICAgICAqKiBVeWFuIGJpciApLF0gdmV5YSB9IGJ1bG1hayBpw6dpbiAgICUgICB5YXrEsW4uICoqCisKKyAgMS4gxLBtbGVjaSBpxZ9hcmV0bGkgKC0tLT4pIHNhdMSxcmRha2kgaGVyaGFuZ2kgYmlyICgsIFsgdmV5YSB7IGthcmFrdGVyaW5pbgorICAgICDDvHplcmluZSBnw7Z0w7xyw7xuLgorCisgIDIuIMWeaW1kaSAgICUgICAga2FyYWt0ZXJpbmkgeWF6xLFuLgorCisgIDMuIMSwbWxlw6cgdXlhbiBwYXJhbnRleiB2ZXlhIGF5cmFjxLFuIMO8emVyaW5lIGdpZGVyLgorCisgIDQuIFV5YW4gaWxrIHBhcmFudGV6aW4gw7x6ZXJpbmUgZ2VyaSBkw7ZubWVrIGnDp2luIHlpbmUgICAlICAgeWF6xLFuLgorCistLS0+IEJ1ICggacOnZXJpc2luZGUgKCdsZXIsIFsnbGVyIF0gdmUgeydsZXIgfSBidWx1bmFuIGJpciBzYXTEsXJkxLFyLiApKQorCitOb3Q6IEJ1IGnDp2VyaXNpbmRlIHV5bWF5YW4gcGFyYW50ZXpsZXIgYnVsdW5hbiBiaXIgcHJvZ3JhbcSxbiB5YW5sxLHFn8SxbsSxIGF5xLFrbGFtYWsgacOnaW4KKyAgICAgc29uIGRlcmVjZSB5YXJhcmzEsWTEsXIuCisKKworCisKKworCit+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+fn4KKwkJICAgICAgRGVycyA0LjQ6IEhBVEFMQVJJIETDnFpFTFRNRUsgxLDDh8SwTiBCxLBSIFlPTAorCisKKwkqKiAnZXNraScgeWVyaW5lICd5ZW5pJyB5ZXJsZcWfdGlybWVrIGnDp2luICAgOnMvZXNraS95ZW5pL2cgICB5YXrEsW4uICoqCisKKyAgMS4gxLBtbGVjaSBhxZ9hxJ/EsWRha2kgacWfYXJldGxpICgtLS0+KSBzYXTEsXJhIGfDtnTDvHLDvG4uCisKKyAgMi4gOnMvYnV1L2J1ICB5YXrEsXAgPEVOVEVSPiAnYSBiYXPEsW4uIEJ1IGtvbXV0dW4gc2FkZWNlIHNhdMSxcmRha2kgaWxrIGthcsWfxLFsYcWfbWF5xLEKKyAgICAgZMO8emVsdHRpxJ9pbmUgZGlra2F0IGVkaW4uCisKKyAgMy4gxZ5pbWRpIGdlbmVsIG9sYXJhayBzYXTEsXJkYWtpIHTDvG0gZGXEn2nFn2lrbGnEn2kgIHlhcG1hayBpw6dpbiAgIDpzL2J1dS9idS9nICAgeWF6xLFuLgorCistLS0+IEJ1dSBiaXJpbmNpLCBidXUgaWtpbmNpLCBidXUgw7zDp8O8bmPDvCBiw7Zsw7xtLgorCisgIDQuIMSwa2kgc2F0xLFyIGFyYXPEsW5kYWtpIGJpciBrYXJha3RlciBrYXRhcsSxbsSxbiB0w7xtw7xuw7wgZGXEn2nFn3Rpcm1layBpw6dpbiwKKyAgICAgOiMsI3MvZXNraS95ZW5pL2cgIHlhesSxbiwgYnVyYWRhICMsIyBpa2kgc2F0xLFyxLFuIHNhecSxbGFyxLFkxLFyLgorICAgICBUw7xtIGRvc3lhZGFraSBrYXLFn8SxbGHFn8SxbGFuIGtlbGltZWxlcmkgZGXEn2nFn3Rpcm1layBpw6dpbiAgOiVzL2Vza2kveWVuaS9nICB5YXrEsW4uCisKKworCisKKworfn5+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+CisJCQkgICAgICAgREVSUyA0IMOWWkVUCisKKworICAxLiBDdHJsLWcgc2l6aW4gZG9zeWFkYWtpIGtvbnVtdW51enUgdmUgZG9zeWEgZHVydW11bnUgZ8O2c3RlcmlyLgorICAgICBTaGlmdC1HIGRvc3lhbsSxbiBzb251bmEgZ2lkZXIuIFNoaWZ0LUcgJ2RlbiDDtm5jZSBiaXIgc2F5xLEgeWF6xLFsxLFyc2EsIG8gc2F0xLFyYQorICAgICBnaWRpbGlyLgorCisgIDIuIEJpciBzw7Z6Y8O8ayDDtmJlxJ9pbmRlbiDDtm5jZSAvIHlhem1haywgxLBMRVLEsCB5w7ZuZGUgbyDDtmJlxJ9pIGFyYXTEsXIuCisgICAgIEJpciBzw7Z6Y8O8ayDDtmJlxJ9pbmRlbiDDtm5jZSA/IHlhem1haywgR0VSxLAgecO2bmRlIG8gw7ZiZcSfaSBhcmF0xLFyLgorICAgICBCaXIgYXJhbWFkYW4gc29ucmEsIGF5bsSxIHnDtm5kZWtpIGJpciBzb25yYWtpIGthcsWfxLFsYcWfbWF5xLEgYnVsbWFrIGnDp2luICAgbiAgICwKKyAgICAgdmV5YSB6xLF0IHnDtm5kZWtpbmkgYnVsbWFrIGnDp2luIFNoaWZ0LU4geWF6xLFuLgorCisgIDMuIMSwbWxlw6cgYmlyICgsKSxbLF0seyx9IHBhcmFudGV6aSDDvHplcmluZGV5a2VuICAgJSAgIHlhem1haywgdXlhbiBkacSfZXIgZcWfIHBhcmFudGV6aSBidWx1ci4KKworICA0LiBCaXIgc2F0xLFyZGFraSBpbGsgJ2Vza2kneWkgJ3llbmknIGlsZSBkZcSfacWfdGlybWVrIGnDp2luICAgIAkJOnMvZXNraS95ZW5pCQl5YXrEsW4uCisgICAgIEJpciBzYXTEsXJkYWtpIHTDvG0gJ2Vza2knbGVyaSAneWVuaScgaWxlIGRlxJ9pxZ90aXJtZWsgacOnaW4gIAkJOnMvZXNraS95ZW5pL2cJIAl5YXrEsW4uCisgICAgIMSwa2kgc2F0xLFyIGFyYXPEsW5kYWtpIMO2YmVrbGVyaSBkZcSfacWfdGlybWVrIGnDp2luIAkJCTojLCNzL2Vza2kveWVuaS9nIAl5YXrEsW4uCisgICAgIAkJCQkJCQkJCSAoIydsYXIgc2F0xLFyIG51bWFyYWxhcsSxKQorICAgICBCaXIgZG9zeWFkYWtpIHTDvG0ga2FyxZ/EsWxhxZ9tYWxhcsSxIGRlxJ9pxZ90aXJtZWsgacOnaW4JCQk6JXMvZXNraS95ZW5pL2cgCXlhesSxbi4KKyAgICAgSGVyIHNlZmVyaW5kZSBvbmF5IHNvcm1hc8SxIGnDp2luICdjJyBla2xleWluLgkJCTolcy9lc2tpL3llbmkvZ2MKKworCit+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+fn4KKwkJRGVycyA1LjE6IEJJUiBEScWeIEtPTVVUIMOHQUxJxZ5USVJNQUsKKworCisgICAqKiBCaXIgZMSxxZ8ga29tdXR1IMOnYWzEscWfdMSxcm1hayBpw6dpbiAgIDohICAgICAgdmUgYXJkxLFuZGFuIGlzdGVkacSfaW5peiBkxLHFnyBrb211dHUgeWF6xLFuLiAqKgorCisgIDEuIMSwbWxlY2kgZWtyYW7EsW4gYWx0xLFuYSBnw7Z0w7xybWVrIGnDp2luIGFsxLHFn8SxayBvbGR1xJ91bnV6ICA6ICBrb211dHVudSB5YXrEsW4uIEJ1IHNpemUKKyAgICAgYmlyIGtvbXV0IHlhem1hIGlta2FuxLEgdmVyaXIuCisKKyAgMi4gxZ5pbWRpICEgKMO8bmxlbSkga2FyYWt0ZXJpbmkgeWF6xLFuLiBCdSBzaXplIGJpciBkxLHFnyBrb211dCDDp2FsxLHFn3TEsXJtYQorICAgICBpbWthbsSxIHZlcmlyLgorCisgIDMuIMOWcm5layBvbGFyYWsgISBrYXJha3RlcmluaSB0YWtpYmVuICBscyAgeWF6xLFuIHZlIDxFTlRFUj4nYSBiYXPEsW4uIEJ1IHNpemUKKyAgICAgbyBhbmRhIGJ1bHVuZHXEn3VudXogZGl6aW5kZWtpIGRvc3lhbGFyxLEgZ8O2c3RlcmVjZWt0aXIuIFZleWEgbHMgw6dhbMSxxZ9tYXpzYSA6IWRpcgorICAgICBrb211dHVudSBrdWxsYW7EsW4uCisKK05vdDogSGVyaGFuZ2kgYmlyIGTEscWfIGtvbXV0dSBidSB5b2xsYSDDp2FsxLHFn3TEsXJtYWsgbcO8bWvDvG5kw7xyLgorCitOb3Q6IFTDvG0gIDogICBrb211dGxhcsSxbmRhbiBzb25yYSA8RU5URVI+IHR1xZ91bmEgYmFzxLFsbWFsxLFkxLFyLgorCisKKworCit+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+fn4KKwkJICAgICAgRGVycyA1LjI6IERPU1lBIFlBWk1BWUEgREVWQU0KKworCisgICAgICoqIERvc3lheWEgeWFwxLFsYW4gZGXEn2nFn2lrbGnEn2kga2F5ZGV0bWVrIGnDp2luLCA6dyBET1NZQcSwU03EsCAgeWF6xLFuLiAqKgorCisgIDEuIEJ1bHVuZHXEn3VudXogZGl6aW5pIGxpc3RlbGVtZWsgacOnaW4gIDohZGlyICB2ZXlhICA6IWxzICB5YXrEsW4uCisgICAgIEtvbXV0dGFuIHNvbnJhIDxFTlRFUj4gdHXFn3VuYSBiYXPEsWNhxJ/EsW7EsXrEsSB6YXRlbiBiaWxpeW9yc3VudXouCisKKyAgMi4gTWV2Y3V0IG9sbWF5YW4gYmlyIGRvc3lhIGlzbWkgc2XDp2luLCDDtnJuZcSfaW4gREVORU1FLgorCisgIDMuIMWeaW1kaSAgIDp3IERFTkVNRSAgIHlhesSxbiAoREVORU1FIHNpemluIHNlw6d0acSfaW5peiBkb3N5YSBpc21pKS4KKworICA0LiBCdSB0w7xtIGRvc3lhecSxIChWaW0gVHV0b3IpIERFTkVNRSBpc21pbmRlIGJhxZ9rYSBiaXIgZG9zeWF5YSB5YXphci4KKyAgICAgQnVudSBkb8SfcnVsYW1hayBpw6dpbiwgIDohZGlyICAgeWF6xLFuIHZlIHllbmlkZW4gYnVsdW5kdcSfdW51eiBkaXppbmkgbGlzdGVsZXlpbi4KKworTm90OiBFxJ9lciBWaW0nZGVuIMOnxLFrxLFwIGtheWRldHRpxJ9pbml6IERFTkVNRSBkb3N5YXPEsW7EsSBhw6dhcnNhbsSxeiwgYnVudW4ga2F5ZGV0dGnEn2luaXoKKyAgICAgdmltdHV0b3IndW4gZ2Vyw6dlayBiaXIga29weWFzxLEgb2xkdcSfdW51IGfDtnLDvHJzw7xuw7x6LgorCisgIDUuIMWeaW1kaSBkb3N5YXnEsSDFn3Uga29tdXRsYXLEsSB2ZXJlcmVrIHNpbGluCShNUy1ET1MpICAgICA6IWRlbCBERU5FTUUKKyAgCQkJCQkJKHZleWEgVU5JWCkgIDohcm0gREVORU1FCisKKworfn5+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+CisJCSAgICBEZXJzIDUuMzogU0XDh01FTMSwIFlBWiBLT01VVFUKKworCisJKiogRG9zeWFuxLFuIGJpciBiw7Zsw7xtw7xuw7wga2F5ZGV0bWVrIGnDp2luLCAgOiMsIyB3IERPU1lBxLBTTcSwICB5YXrEsW4uICoqCisKKyAgMS4gQmlyIGtleiBkYWhhIGJ1bHVuZHXEn3VudXogZGl6aW5pIGfDtnJtZWsgacOnaW4gIDohZGlyICB2ZXlhICA6IWxzICB5YXrEsW4sCisgICAgIGFyZMSxbmRhbiBERU5FTUUgZ2liaSB1eWd1biBiaXIgZG9zeWEgaXNtaSBzZcOnaW4uCisKKyAgMi4gxLBtbGVjaSBidSBzYXlmYW7EsW4gYmHFn8SxbmEgZ8O2dMO8csO8biB2ZSBhcmTEsW5kYW4gQ1RSTC1nJ3llIGJhc2FyYWsgc2F0xLFyIG51bWFyYXPEsW7EsQorICAgICDDtsSfcmVuaW4uIEJVIE5VTUFSQVlJIFVOVVRNQVlJTiEKKworICAzLiDFnmltZGkgc2F5ZmFuxLFuIHNvbnVuYSBnaWRpYiB2ZSB5aW5lIENUUkwtZyd5ZSBiYXNhcmFrIHNhdMSxciBudW1hcmFzxLFuxLEKKyAgICAgw7bEn3JlbmluLiBCVSBOVU1BUkFZSSBEQSBVTlVUTUFZSU4hCisKKyAgNC4gQmlyIGRvc3lheWEgc2FkZWNlIGJpciBiw7Zsw7xtw7wga2F5ZGV0bWVrIGnDp2luLCA6IywjIHcgREVORU1FIHlhesSxbi4gIywjIHNpemluCisgICAgIGJha3TEscSfxLFuxLF6IHNhecSxbGFyICjDvHN0LGFsdCkgdmUgREVORU1FIGRvc3lhbsSxesSxbiBpc21pZGlyLgorCisKKyAgNS4gWWluZSwgIDohZGlyICB5YXphcmFrIGRvc3lhbsSxbiBvcmFkYSBvbGR1xJ91bmEgYmFrxLFuIGFtYSBTxLBMTUVZxLBOLgorCisKKworCit+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+fn4KKwkJICAgRGVycyA1LjQ6IERPU1lBTEFSSSBCxLBSTEXFnlTEsFJNRUstQsOWTMOcTSBFS0xFTUVLCisKKworICAgICAgICoqIEJpciBkb3N5YW7EsW4gacOnZXJpxJ9pbmkgZWtsZW1layBpw6dpbiAgOnIgRE9TWUHEsFNNxLAgICB5YXrEsW4uICoqCisKKyAgMS4gREVORU1FIGRvc3lhbsSxesSxbiDDtm5jZWRlbiBidWx1bmR1xJ91bmRhbiBlbWluIG9sbWFrIGnDp2luICA6IWRpciAgIHlhesSxbi4KKworICAyLiDEsG1sZWNpIGJ1IHNheWZhbsSxbiBiYcWfxLFuYSB5ZXJsZcWfdGlyaW4uCisKK05PVDogQWTEsW0gMyfDvCB1eWd1bGFkxLFrdGFuIHNvbnJhIERlcnMgNS4zJ8O8IGfDtnLDvHlvciBvbGFjYWtzxLFuxLF6LiBEYWhhIHNvbnJhIGJ1CisgICAgIGRlcnNlIHNheWZhc8SxbmEgZMO2bsO8bi4KKworICAzLiDFnmltZGkgREVORU1FIHNheWZhc8SxbsSxICA6ciBERU5FTUUgIHlhemFyYWsgYWt0YXLEsW4uCisKK05PVDogQWt0YXJkxLHEn8SxbsSxeiBkb3N5YSBpbWxlY2luaXppbiBoZW1lbiBhbHTEsW5hIGVrbGVuZWNla3Rpci4KKworICA0LiBEb3N5YW7EsW4gZWtsZW5kacSfaW5pIGfDtnJtZWsgacOnaW4sIGdlcml5ZSBnaWRpbi4gRGVycyA1LjMndGVuIGlraSBrb3B5YQorICAgICBvbGR1xJ91bnUgZ8O2cmVjZWtzaW5pejsgYXPEsWwgdmUga29weWEgb2xhbsSxLgorCisKKworfn5+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+CisJCQkgICAgICAgREVSUyA1IMOWWkVUCisKKworICAxLiAgOiFrb211dCBiaXIgZMSxxZ8ga29tdXQgw6dhbMSxxZ90xLFyxLFyLgorCisgICAgICBCYXrEsSB5YXJhcmzEsSDDtnJuZWtsZXI6CisJIChNUy1ET1MpCSAgKFVuaXgpCisJICA6IWRpcgkJICAgOiFscwkJICAgLSAgYmlyIGRpemluaSBsaXN0ZWxlci4KKwkgIDohZGVsIERPU1lBICAgICAgOiFybSBET1NZQSAgICAgIC0gIERPU1lBJ3nEsSBzaWxlci4KKworICAyLiAgOncgRE9TWUHEsFNNxLAgbyBhbmtpIFZpbSBkb3N5YXPEsW7EsSBkaXNrZSBET1NZQcSwU03EsCBpbGUga2F5ZGVkZXIuCisKKyAgMy4gIDojLCN3IERPU1lBxLBTTcSwICMgaWxlICMgc2F0xLFyIGFyYXPEsW7EsSBET1NZQcSwU03EsCBpbGUga2F5ZGVkZXIuCisKKyAgNC4gIDpyIERPU1lBxLBTTcSwIGltbGVjaW4gYWx0xLFuZGFuIGJhxZ9sYXlhcmFrIERPU1lBxLBTTcSwIGlzaW1saSBkb3N5YW7EsW4gacOnZXJpxJ9pbmkgZWtsZXIuCisKKworCisKKworCit+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+fn4KKwkJCSBEZXJzIDYuMTogQcOHIEtPTVVUVQorCisKKyAqKiDEsG1sZWNpbiBhxZ9hxJ/EsXPEsW5hIGJpciBzYXTEsXIgYcOnbWFrIHZlIEluc2VydCBraXBpbmUgZ2XDp21layBpw6dpbiAgIG8gICAgeWF6xLFuLiAqKgorCisgIDEuIMSwbWxlY2kgYcWfYcSfxLFkYWtpIGnFn2FyZXRsZW5tacWfICgtLS0+KSBzYXTEsXJhIGfDtnTDvHLDvG4uCisKKyAgMi4gxLBtbGVjaW4gYcWfYcSfxLFzxLFuYSBiaXIgc2F0xLFyIGHDp21hayB2ZSBJbnNlcnQga2lwaW5lIGdlw6dtZWsgacOnaW4KKyAgICAgbyAgIChrw7zDp8O8ayBoYXJmbGUpIHlhesSxbi4KKworICAzLiDFnmltZGkgacWfYXJldGxlbm1pxZ8gc2F0xLFyxLEga29weWFsYXnEsW4gdmUgSW5zZXJ0IGtpcGluZGVuIMOnxLFrbWFrIGnDp2luIDxFU0M+CisgICAgIHR1xZ91bmEgYmFzxLFuLgorCistLS0+IG8gIHlhemTEsWt0YW4gc29ucmEgaW1sZWMgYcOnxLFsYW4gc2F0xLFyYSBnaWRpY2VrIHZlIEluc2VydCBraXBpbmUgZ2XDp2lsZWNlay4KKworICA0LiDEsG1sZWNpbiDDvHplcmluZGUgYmlyIHNhdMSxciBhw6dtYWsgacOnaW4sIGJhc2l0w6dlIGLDvHnDvGsgTyB5YXrEsW4uIEJ1bnUgYcWfYcSfxLFkYWtpCisgICAgIHNhdMSxcmRhIGRlbmV5aW4uCitCdSBzYXTEsXLEsW4gw7x6ZXJpbmUgYmlyIHNhdMSxciBhw6dtYWsgacOnaW4gaW1sZcOnIGJ1IHNhdMSxcmRheWtlbiAgIFNoaWZ0LW8gICB5YXrEsW4uCisKKworCisKKworfn5+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+CisJCQlEZXJzIDYuMjogRUtMRSBLT01VVFUKKworCisJICAgICAqKiDEsG1sZcOndGVuIHNvbnJhIG1ldGluIGVrbGVtZWsgacOnaW4gICBhICAgeWF6xLFuLiAqKgorCisgIDEuIMSwbWxlY2kgYcWfYcSfxLFkYWtpIGnFn2FyZXRsZW5tacWfICgtLS0+KSBzYXTEsXLEsW4gc29udW5hIGfDtnTDvHJtZWsgacOnaW4KKyAgICAgTm9ybWFsIEtpcHRleWtlbiAkIHlhesSxbi4KKworICAyLiDEsG1sZWNpbiBhbHTEsW5kYWtpIGthcmFrdGVyZGVuIHNvbnJhIG1ldGluIGVrbGVtZWsgacOnaW4gIGEgICAoa8O8w6fDvGsgaGFyZmxlKSB5YXrEsW4uCisgICAgIChCw7x5w7xrICBBICBzYXTEsXLEsW4gc29udW5hIGVrbGVyKS4KKworICAzLiDFnmltZGkgaWxrIHNhdMSxcsSxIHRhbWFtbGF5xLFuLiBFa2xlIGtvbXV0dW51biBJbnNlcnQga2lwaXlsZSBheW7EsSBpxZ9pIHlhcHTEscSfxLFuYQorICAgICBkaWtrYXQgZWRpbi4gVGVrIGZhcmsgbWV0aW5pbiBla2xlbmRpxJ9pIHllci4KK8OHLk46IEXEn2VyICBhICAgeWF6YXJzYW7EsXogaW1sZWNpbiBhbHTEsW5kYWtpIGthcmFrdGVyZGVuIGhlbWVuIHNvbnJhIGVrbGVtZSB5YXBhYmlsaXJzaW5pei4KKyAgICAgRcSfZXIgIFNoaWZ0LWEgIHlhemFyc2FuxLF6IGltbGXDpyBzYXTEsXIgc29udW5hIGdpZGVjZWsgdmUgaGVtZW4gYXJkxLFuYSBla2xlbWUgeWFwYWJpbGVjZWtzaW5pei4KKyAgICAgRG/En2FsIG9sYXJhayBiaXppbSDDtnJuZcSfaW1pemRlIFNoaWZ0LUEnecSxIGt1bGxhbm1hayBkYWhhIGfDvHplbCBvbGFjYWt0xLFyLiDDlm5jZSAkIGFyZMSxbmFuIGEKKyAgICAgeWF6bWFtxLF6YSBnZXJlayBrYWxtYXouCisKKy0tLT4gQnUgc2F0xLFyZGEgw6dhbMSxxZ9hYmlsaXJzaW5pegorLS0tPiBCdSBzYXTEsXJkYSDDp2FsxLHFn2FiaWxpcnNpbml6LiDDh2FsxLHFn8SxcmtlbiBtZXRpbiBla2xlbWV5aSBrdWxsYW7EsW4uCisKKworCit+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+fn4KKwkJICAgIERlcnMgNi4zOiBCxLBSIEJBxZ5LQSBERcSexLDFnlTEsFIgS09NVVRVCisKKworICAgICAgKiogQmlyZGVuIGZhemxhIGthcmFrdGVyIGRlxJ9pxZ90aXJtZWsgacOnaW4gYsO8ecO8ayBSIHlhesSxbi4gKioKKworICAxLiDEsG1sZWNpIGHFn2HEn8SxZGFraSBpxZ9hcmV0bGkgKC0tLT4pIHNhdMSxcmxhcsSxbiBpbGtpbmUgZ8O2dMO8csO8bi4KKworICAyLiDEsG1sZWNpIGnFn2FyZXRsaSBvbGFuIGlraW5jaSBzYXTEsXJkYWtpbmRlbiBmYXJrbMSxIG9sYW4gaWxrIGtlbGltZW5pbgorICAgICBiYcWfxLFuYSBnw7Z0w7xyw7xuLiAoICJ0dcWfbGFyxLEiIGtlbGltZXNpICkKKworICAzLiDFnmltZGkgYsO8ecO8ayBSIHlhesSxbiB2ZSBpbGsgc2F0xLFyxLEgaWtpbmNpc2luaW4gYXluxLFzxLEgeWFwbWFrIGnDp2luCisgICAgIGVza2kgbWV0aW5pbiDDvHplcmluZGVuIHllbmlzaW5pIHlhesSxbi4gU2l6IHlhemTEsWvDp2EgbWV0aW4gZGXEn2nFn2VjZWt0aXIuCisKKy0tLT4gQnUgc2F0xLFyxLEgaWtpbmNpc2luaW4gYXluxLFzxLEgeWFwbWFrIGnDp2luIHR1xZ9sYXLEsSBrdWxsYW7EsW4uCistLS0+IEJ1IHNhdMSxcsSxIGlraW5jaXNpbmluIGF5bsSxc8SxIHlhcG1hayBpw6dpbiBSIHlhesSxbiB2ZSBtZXRpbmkgZ2lyaW4uCisKKyAgNC4gw4fEsWttYWsgacOnaW4gPEVTQz4gdHXFn3VuYSBiYXN0xLHEn8SxbsSxemRhLCBkZcSfacWfbWVtacWfIG1ldGluaW4gYXluZW4KKyAgICAga2FsZMSxxJ/EsW5hIGRpa2thdCBlZGluLgorCisKKworCisKK35+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+fgorCQkJICAgIERlcnMgNi40OiBTRVQgU0XDh0VORcSexLAKKworCSAgKiogQmlyIHNlw6dlbmVrIGF5YXJsYXnEsW4gLCBiw7Z5bGVjZSBiaXIgYXJhbWEgdmV5YSBkZcSfacWfdGlybWUgKioKKwkgICoqIGR1cnVtdSBnw7ZybWV6ZGVuIGdlbHNpbi4JCQkJICAgICAgICoqCisKKyAgMS4gJ2lnbm9yZScga2VsaW1lc2luaSBhcmFtYWsgacOnaW46CisgICAgIC9pZ25vcmUKKyAgICAgeWF6xLFuLgorICAgICBCdW51ICAgbiAgdHXFn3VuYSBiYXNhcmFrIGJpcmthw6cga2V6IHRla3JhciBlZGluCisKKyAgMi4gOnNldCBpYyAgICB5YXphcmFrICdpYycgKElnbm9yZSBjYXNlKSBheWFyxLFuxLEgc2XDp2luLgorCisgIDMuIFRla3JhciAgbiAgdHXFn3VuYSBiYXNhcmFrICdpZ25vcmUnIGtlbGltc2VpbmkgYXJhecSxbi4KKyAgICAgbiAgIHR1xZ91bmEgYmFzYXJhayBidSBhcmFtYXnEsSBiaXJkZW4gw6dvayBkZWZhIHRla3JhciBlZGluLgorCisgIDQuIDpzZXQgaGxzIGlzICAgeWF6YXJhayAnaGxzZWFyY2gnIHZlICdpbmNzZWFyY2gnIGF5YXJsYXLEsW7EsSBzZcOnaW4uCisKKyAgNS4gL2lnbm9yZSAgeWF6YXJhayBhcmFtYSBrb211dHVudSB0ZWtyYXIgdmVyaW4gdmUgbmUgb2xhY2HEn8SxbsSxIGfDtnLDvG4uCisKKyAgNi4gS2FyxZ/EsWxhxZ9tYSB2dXJndWxhcsSxbsSxIGlwdGFsIGV0bWVrIGnDp2luLAorICAgICA6bm9obHNlYXJjaCAgIHlhesSxbi4KK35+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+fgorCQkJICAgICAgIERFUlMgNiDDllpFVAorCisKKyAgMS4gbyAgIHlhem1hayBpbWxlY2luIGFsdMSxbmRhIGJpciBzYXTEsXIgYcOnYXIgdmUgaW1sZWNpIGJ1IGHDp8SxbG3EscWfIHNhdMSxcmEKKyAgICAgSW5zZXJ0IGtpcGluZGUgeWVybGXFn3RpcmlyLgorICAgICBCw7x5w7xrIE8gIHlhem1hayBpbWxlY2luIMO8emVyaW5kZSBiaXIgc2F0xLFyIGHDp2FyLgorCisgIDIuIMSwbWxlY2luIMO8emVyaW5kZWtpIGthcmFrdGVyZGVuIGhlbWVuIHNvbnJhIG1ldGluIGVrbGVtZWsgacOnaW4gIGEgICB5YXrEsW4uCisgICAgIELDvHnDvGsgQSAgeWF6bWFrIGhlbWVuIHNhdMSxciBzb251bmEgZ2lkZXJlayBtZXRpbiBla2xlbWV5ZSBoYXrEsXIgaGFsZSBnZXRpcmlyLgorCisgIDMuIELDvHnDvGsgIFIgICB5YXptYWsgRGXEn2nFn3RpciBraXBpbmUgZ2lyZXIgdmUgw6fEsWttYWsgacOnaW4gPEVTQz4gdHXFn3VuYQorICAgICBiYXPEsWxhbmEga2FkYXIgc2l6aSBidSBraXB0ZSBixLFyYWvEsXIuCisKKyAgNC4gIjpzZXQgeHh4IiAgeWF6bWFrICAieHh4IiBzZcOnZW5lxJ9pbmkgYXlhcmxhci4KKworCisKKworCisKKworCisKK35+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+fgorCQkgICAgICAgRGVycyA3OiDDh0VWxLBSxLBNxLDDh8SwIChPTi1MSU5FKSBZQVJESU0gS09NVVRMQVJJCisKKworCQkgICAgICAqKiDDh2V2aXJpbWnDp2kgeWFyZMSxbSBzaXN0ZW1pbmkga3VsbGFuxLFuICoqCisKKyAgVmltIGdlbmnFnyBiaXIgw6dldmlyaW1pw6dpIHlhcmTEsW0gc2lzdGVtaW5lIHNhaGlwdGlyLiBCYcWfbGFtYWsgacOnaW4gxZ91IMO8w6fDvG7DvAorICBkZW5leWViaWxpcnNpbml6LgorCS0gKGXEn2VyIHNhaGlwc2VuaXopIDxIRUxQPiB0dcWfdW5hIGJhc8SxbgorCS0gKGXEn2VyIHNhaGlwc2VuaXopIDxGMT4gdHXFn3VuYSBiYXPEsW4KKwktIDpoZWxwIHlhesSxbiB2ZSA8RU5URVI+IHR1xZ91bmEgYmFzxLFuCisKKyAgWWFyZMSxbSBwZW5jZXJlc2luaSBrYXBhdG1hayBpw6dpbiAgOnEgeWF6xLFwIDxFTlRFUj4gdHXFn3VuYSBiYXPEsW4uCisKKyAgIjpoZWxwIiBrb211dHVuYSBkZcSfacWfa2VuIChhcmfDvG1hbikgdmVyZXJlayBoZXJoYW5naSBiaXIga29udSBoYWtrxLFuZGEKKyAgeWFyZMSxbSBhbGFiaWxpcnNpbmkuIMWedW5sYXLEsSBkZW5leWluICg8RU5URVI+IHR1xZ91bmEgYmFzbWF5xLEgdW51dG1hecSxbikgOgorCisJOmhlbHAgdworCTpoZWxwIGNfPFQKKwk6aGVscCBpbnNlcnQtaW5kZXgKKwk6aGVscCB1c2VyLW1hbnVhbAorCisKK35+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+fgorCQkgICAgICAgRGVycyA4OiBCxLBSIEJBxZ5MQU5HScOHIEJFVMSwxJ7EsCBPTFXFnlRVUlVOCisKKwkJCSAgKiogU3dpdGNoIG9uIFZpbSBmZWF0dXJlcyAqKgorCQkJICAqKiBWaW0naW4gw7Z6ZWxsaWtsZXJpbmUgYmFrxLFuICoqCisKKyAgVmltIFZpJ2RhbiDDp29rIGRhaGEgZmF6bGEgw7Z6ZWxsacSfZSBzYWhpcHRpciBmYWthdCBiaXLDp2/En3Ugw7ZudGFuxLFtbMSxIG9sYXJhayBrYXBhbMSxZMSxci4KKyAgRGFoYSBmYXpsYSDDtnplbGxpayBrdWxsYW5hYmlsbWVrIGnDp2luIGJpciAidmltcmMiIGRvc3lhc8SxIG9sdcWfdHVybWFsxLFzxLFuxLF6LgorCisgIDEuICJ2aW1yYyIgZG9zeWFzxLFuxLEgZMO8emVubGVtZXllIGJhxZ9sYXnEsW4sIGJ1IGnFn2xldGltIHNpc3RlbWluaXplIGfDtnJlIGRlxJ9pxZ9pcjoKKworICDDhy5OOiAoQnUga29tdXR1IHZlcmRpxJ9pbml6ZGUgZcSfZXIgeW9rc2EgaG9tZSBkaXppbmluaXpkZSAudmltcmMgaXNpbWxpIGJpciBkb3N5YSBvbHXFn2FjYWt0xLFyLgorICBCdSBkb3N5YXlhIHZpbXJjIMO2cm5layBkb3N5YXPEsW7EsSBha3Rhcm1hayBpw6dpbiAyLiBhZMSxbWRha2kga29tdXR1IGt1bGxhbmFjYWtzxLFuxLF6LiBCdSB5w7x6ZGVuCisgIHZpbXJjIGRvc3lhbsSxesSxIGTDvHplbmxlbWVkZW4gw7ZuY2UgYcWfYcSfxLFkYWtpIGFkxLFtbGFyxLFuIGhlcHNpbmkgb2t1eXVuIHZlIGtvbXV0bGFyxLEgaGF0xLFybGF5xLFuLikKKworCTplZGl0IH4vLnZpbXJjCQkJVW5peCBpw6dpbgorCTplZGl0ICRWSU0vX3ZpbXJjCQlNUy1XaW5kb3dzIGnDp2luCisKKyAgMi4gxZ5pbWRpIMO2cm5layAidmltcmMiIGRvc3lhc8SxbsSxIG9rdXl1bgorCisJOnJlYWQgJFZJTVJVTlRJTUUvdmltcmNfZXhhbXBsZS52aW0KKworICAzLiBEb3N5YXnEsSBrYXlkZWRpbiB2ZSDDp8Sxa8SxbgorCisJOndyaXRlCisJOnEKKworICBWaW0naSBiaXIgZGFoYWtpIHNlZmVyIMOnYWzEscWfdMSxcmTEscSfxLFuxLF6ZGEgc8O2emRpemltIChzeXRheCkgdnVyZ3VzdSBrdWxsYW7EsWxhY2FrdMSxci4KKyAgVMO8bSB0ZXJjaWggZXR0acSfaW5peiBheWFybGFyxLEgYnUgInZpbXJjIiBkb3N5YXPEsW5hIGVrbGV5ZWJpbGlyc2luaXouCisKK35+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+fgorCisgIEJ1cmFkYSBWaW0gRcSfaXRtZW5pIHRhbWFtbGFubcSxxZ8gb2xkdS4gRcSfaXRtZW5kZWtpIGFtYcOnIFZpbSBkw7x6ZW5sZXlpY2lzaSBoYWtrxLFuZGEKKyAga8Sxc2EgYmlyIGJpbGdpIHZlcm1layB2ZSBvbnUga29sYXljYSBrdWxsYW5tYW7EsXrEsSBzYcSfbGFtYWt0xLEuIFZpbSdpbiB0YW1hbcSxbsSxIMO2xJ9yZXRtZWsKKyAgw6dvayB6b3JkdXIgemlyYSBWaW0gYmlyw6dvayBrb211dGEgc2FoaXB0aXIuQnVuZGFuIHNvbnJhIDpoZWxwIHVzZXItbWFudWFsIiBrb211dHUgaWxlCisgIGt1bGxhbsSxY8SxIGvEsWxhdnV6dW51IG9rdW1hbMSxc8SxbsSxei4KKworICBEYWhhIGZhemxhIG9rdW1hIHZlIMOnYWzEscWfbWEgacOnaW4gxZ91IGtpdGFixLEgw7ZuZXJpeW9ydXo6CisJVmltIC0gVmkgSW1wcm92ZWQgLSBieSBTdGV2ZSBPdWFsbGluZQorCVB1Ymxpc2hlcjogTmV3IFJpZGVycworICBUYW1hbWl5bGUgVmltIGnDp2luIGhhesSxcmxhbm3EscWfIGlsayBraXRhcC4gw5Z6ZWxsaWtsZSBpbGsga3VsbGFuxLFjxLFsYXIgacOnaW4gdXlndW4uCisgIEtpdGFwdGEgYmlyw6dvayDDtnJuZWsgdmUgcmVzaW0gdmFyLgorICBodHRwOi8vaWNjZi1ob2xsYW5kLm9yZy9jbGljazUuaHRtbCBhZHJlc2luZSBiYWthYmlsaXJzaW5pei4KKworICBCdSBraXRhcCBkYWhhIGVza2lkaXIgdmUgVmltJ2RlbiBkYWhhIMOnb2sgVmkgacOnaW5kaXIgYW5jYWsgdGF2c2l5ZSBlZGlsaXI6CisJTGVhcm5pbmcgdGhlIFZpIEVkaXRvciAtIGJ5IExpbmRhIExhbWIKKwlQdWJsaXNoZXI6IE8nUmVpbGx5ICYgQXNzb2NpYXRlcyBJbmMuCisgIFZpIGhha2vEsW5kYSBiaWxtZWsgaXN0ZXllY2XEn2luaXogbmVyZWRleXNlIGhlcsWfZXlpbiBidWx1bmR1xJ91IGJpciBraXRhcC4KKyAgNi5CYXPEsW0gYXluxLEgemFtYW5kYSBWaW0gaGFra8SxbmRhIGJpbGdpIGRlIGnDp2VybWVrdGUuCisKKyAgQnUgZcSfaXRtZW4gTWljaGFlbCBDLiBQaWVyY2UgdmUgUm9iZXJ0IEsuIFdhcmUgdGFyYWbEsW5kYW4geWF6xLFsZMSxLAorICBDaGFybGVzIFNtaXRoIHRhcmFmxLFuZGFuIHNhxJ9sYW5hbiBmaWtpcmxlcmxlIENvbG9yYWRvIFNjaG9vbCBPZiBNaW5lcywKKyAgQ29sb3JhZG8gU3RhdGUgVW5pdmVyc2l0eS4gIEUtbWFpbDogYndhcmVAbWluZXMuY29sb3JhZG8uZWR1LgorCisgIFZpbSBpw6dpbiBkZcSfacWfdGlyZW4gOiBCcmFtIE1vb2xlbmFhci4KKworICBUw7xya8OnZXllIMOnZXZpcmVuICAgIDogU2Vya2FuICJoZWFydHNtYWdpYyIgw4dhbMSxxZ8gICAgWcSxbCAyMDA1CisgIEUtbWFpbAkgICAgICA6IGFkcmVzaW1leWF6IChhdCkgeWFob28gY29tCisKK35+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+fgo=