IiBNZW51IFRyYW5zbGF0aW9uczoJU2xvdmFrCiIgVHJhbnNsYXRlZCBCeToJTWFydGluIExhY2tvIDxsYWNrb0Bob3N0LnNrPgoiIExhc3QgQ2hhbmdlOgkJMjAxMiBNYXkgMDEKCiIgUXVpdCB3aGVuIG1lbnUgdHJhbnNsYXRpb25zIGhhdmUgYWxyZWFkeSBiZWVuIGRvbmUuCmlmIGV4aXN0cygiZGlkX21lbnVfdHJhbnMiKQogIGZpbmlzaAplbmRpZgpsZXQgZGlkX21lbnVfdHJhbnMgPSAxCmxldCBzOmtlZXBjcG89ICZjcG8Kc2V0IGNwbyZ2aW0KCnNjcmlwdGVuY29kaW5nIGNwMTI1MAoKIiBIZWxwIG1lbnUKbWVudXRyYW5zICZIZWxwCQkJJlBvbW9jbu1rCm1lbnV0cmFucyAmT3ZlcnZpZXc8VGFiPjxGMT4JJlByZWi+YWQ8VGFiPjxGMT4KbWVudXRyYW5zICZVc2VyXCBNYW51YWwJCVBvJnWe7XZhdGW+c2v9XCBtYW514WwKbWVudXRyYW5zICZIb3ctdG9cIGxpbmtzCSZUaXB5Cm1lbnV0cmFucyAmRmluZFwuXC5cLgkJJk7hanOdXC5cLlwuCm1lbnV0cmFucyAmQ3JlZGl0cwkJUG/vJmFrb3ZhbmllCm1lbnV0cmFucyBPJnJwaGFucwkJU2kmcm90eQptZW51dHJhbnMgQ28mcHlpbmcJCSZMaWNlbmNpYQptZW51dHJhbnMgJlZlcnNpb24JCSZWZXJ6aWEKbWVudXRyYW5zICZBYm91dAkJJk9cIHByb2dyYW1lCgoiIEZpbGUgbWVudQptZW51dHJhbnMgJkZpbGUJCQkJJlP6Ym9yCm1lbnV0cmFucyAmT3BlblwuXC5cLjxUYWI+OmUJCSZPdHZvcmmdXC5cLlwuPFRhYj46ZQptZW51dHJhbnMgU3AmbGl0LU9wZW5cLlwuXC48VGFiPjpzcAlPdCZ2b3JpnVwgdlwgbm92b21cIG9rbmVcLlwuXC48VGFiPjpzcAptZW51dHJhbnMgJk5ldzxUYWI+OmVuZXcJCSZOb3b9PFRhYj46ZW5ldwptZW51dHJhbnMgJkNsb3NlPFRhYj46Y2xvc2UJCSZaYXR2b3JpnTxUYWI+OmNsb3NlCm1lbnV0cmFucyAmU2F2ZTxUYWI+OncJCQkmVWxvnmmdPFRhYj46dwptZW51dHJhbnMgU2F2ZVwgJkFzXC5cLlwuPFRhYj46c2F2CVVsb55pnVwgJmFrb1wuXC5cLjxUYWI+OnNhdgptZW51dHJhbnMgU3BsaXRcICZEaWZmXCB3aXRoXC5cLlwuCU90dm9yJmmdXCBwb3Jvdm5hbmllXCB2XCBub3ZvbVwgb2tuZVwgc1wuXC5cLgptZW51dHJhbnMgU3BsaXRcIFBhdGNoZWRcICZCeVwuXC5cLglPdHZvJnJpnVwgYWt0dWFsaXpvdmFu6Vwgc1wuXC5cLgptZW51dHJhbnMgJlByaW50CQkJJlRsYegKbWVudXRyYW5zIFNhJnZlLUV4aXQ8VGFiPjp3cWEJCVUmbG+eaZ0tS29uaWVjPFRhYj46d3FhCm1lbnV0cmFucyBFJnhpdDxUYWI+OnFhCQkJJktvbmllYzxUYWI+OnFhCgoiIEVkaXQgbWVudQptZW51dHJhbnMgJkVkaXQJCQkJJtpwcmF2eQptZW51dHJhbnMgJlVuZG88VGFiPnUJCQkmU3DknTxUYWI+dQptZW51dHJhbnMgJlJlZG88VGFiPl5SCQkJWiZydZppnVwgc3DknTxUYWI+XlIKbWVudXRyYW5zIFJlcCZlYXQ8VGFiPlwuCQkmT3Bha292YZ08VGFiPlwuCm1lbnV0cmFucyBDdSZ0PFRhYj4iK3gJCQkmVnlzdHJpaG76nTxUYWI+Iit4Cm1lbnV0cmFucyAmQ29weTxUYWI+Iit5CQkJJktvcO1yb3ZhnTxUYWI+Iit5Cm1lbnV0cmFucyAmUGFzdGU8VGFiPiIrZ1AJCVYmbG+eaZ08VGFiPiIrZ1AKbWVudXRyYW5zIFB1dFwgJkJlZm9yZTxUYWI+W3AJCVZsb55pnVwgJnByZWQ8VGFiPltwCm1lbnV0cmFucyBQdXRcICZBZnRlcjxUYWI+XXAJCVZsb55pnVwgemE8VGFiPl1wCm1lbnV0cmFucyAmU2VsZWN0XCBhbGw8VGFiPmdnVkcJCVZ5JmJyYZ1cIHaaZXRrbzxUYWI+Z2dWRwptZW51dHJhbnMgJkRlbGV0ZTxUYWI+eAkJCVZ5Jm1hemGdPFRhYj54Cm1lbnV0cmFucyAmRmluZFwuXC5cLgkJCSZO4WpznVwuXC5cLgptZW51dHJhbnMgRmluZFwgYW5kXCBSZXAmbGFjZVwuXC5cLglOJmFocmFkaZ1cLlwuXC4KbWVudXRyYW5zIFNldHRpbmdzXCAmV2luZG93CQlNbyaebm9zdGkKbWVudXRyYW5zICZHbG9iYWxcIFNldHRpbmdzCQkmR2xvYuFsbmUgbW+ebm9zdGkKbWVudXRyYW5zIFRvZ2dsZVwgUGF0dGVyblwgJkhpZ2hsaWdodDxUYWI+OnNldFwgaGxzIQlQcmVwbvqdXCBwYWxldHVcIHp2/XJhevJvdmFuaWE8VGFiPjpzZXRcIGhscyEKbWVudXRyYW5zIFRvZ2dsZVwgJklnbm9yZS1jYXNlPFRhYj46c2V0XCBpYyEJUHJlcG76nVwgJmlnbm9yb3ZhbmllIHZlvmtvc3RpPFRhYj46c2V0XCBpYyEKbWVudXRyYW5zIFRvZ2dsZVwgJlNob3dtYXRjaDxUYWI+OnNldFwgc20hCVByZXBu+p1cICZ1a+F6YZ1cIHpob2R1PFRhYj46c2V0XCBzbSEKbWVudXRyYW5zICZDb250ZXh0XCBsaW5lcwkJJktvbnRleHRvdulcIHJpYWRreQptZW51dHJhbnMgJlZpcnR1YWxcIEVkaXQJCSZWaXJ0deFsbmUg+nByYXZ5Cm1lbnV0cmFucyBOZXZlcgkJCQlOaWtkeQptZW51dHJhbnMgQmxvY2tcIFNlbGVjdGlvbgkJQmxva292/Vwgdv1iZXIKbWVudXRyYW5zIEluc2VydFwgbW9kZQkJCVJlnmltXCB2a2xhZGFuaWEKbWVudXRyYW5zIEJsb2NrXCBhbmRcIEluc2VydAkJQmxva1wgYVwgdmtsYWRhbmllCm1lbnV0cmFucyBBbHdheXMJCQlWnmR5Cm1lbnV0cmFucyBUb2dnbGVcIEluc2VydFwgJk1vZGU8VGFiPjpzZXRcIGltIQlQcmVwbvqdXCByZZ5pJm1cIHZrbGFkYW5pYTxUYWI+OnNldFwgaW0hCm1lbnV0cmFucyBUb2dnbGVcIFZpXCBDJm9tcGF0aWJsZTxUYWI+OnNldFwgY3AhCVByZXBu+p1cIHZpXCBrb21wYXRpYmlsaXR1PFRhYj46c2V0XCBjcCEKbWVudXRyYW5zIFNlYXJjaFwgJlBhdGhcLlwuXC4JCUNlc3RhXCAmaL5hZGFuaWFcLlwuXC4KbWVudXRyYW5zIFRhJmdcIEZpbGVzXC5cLlwuCQlUYSZnb3bpIHP6Ym9yeVwuXC5cLgptZW51dHJhbnMgVG9nZ2xlXCAmVG9vbGJhcgkJUHJlcG76nVwgJnBhbmVsCm1lbnV0cmFucyBUb2dnbGVcICZCb3R0b21cIFNjcm9sbGJhcglQcmVwbvqdXCBzcG9kbv1cIHBvc3V2bu1rCm1lbnV0cmFucyBUb2dnbGVcICZMZWZ0XCBTY3JvbGxiYXIJUHJlcG76nVwgvmF2/VwgcG9zdXZu7WsKbWVudXRyYW5zIFRvZ2dsZVwgJlJpZ2h0XCBTY3JvbGxiYXIJUHJlcG76nVwgcHJhdv1cIHBvc3V2bu1rCm1lbnV0cmFucyBGJmlsZVwgU2V0dGluZ3MJCU5hc3RhdmVuaWFcIHP6Ym9ydQptZW51dHJhbnMgVG9nZ2xlXCBMaW5lXCAmTnVtYmVyaW5nPFRhYj46c2V0XCBudSEJUHJlcG76nVwg6O1zbG92YSZuaWVcIHJpYWRrb3Y8VGFiPjpzZXRcIG51IQptZW51dHJhbnMgVG9nZ2xlXCAmTGlzdFwgTW9kZTxUYWI+OnNldFwgbGlzdCEJCVByZXBu+p1cIHJlnmltXCAmem96bmFtdTxUYWI+OnNldFwgbGlzdCEKbWVudXRyYW5zIFRvZ2dsZVwgTGluZVwgJldyYXA8VGFiPjpzZXRcIHdyYXAhCQlQcmVwbvqdXCB6JmFsYW1vdmFuaWVcIHJpYWRrb3Y8VGFiPjpzZXRcIHdyYXAhCm1lbnV0cmFucyBUb2dnbGVcIFcmcmFwXCBhdFwgd29yZDxUYWI+OnNldFwgbGJyIQlQcmVwbvqdXCB6YSZsYW1vdmFuaWVcIHNsb3Y8VGFiPjpzZXRcIGxiciEKbWVudXRyYW5zIFRvZ2dsZVwgJmV4cGFuZC10YWI8VGFiPjpzZXRcIGV0IQkJUHJlcG76nVwgcm96mu1yJmVu6VwgdGFidWzhdG9yeTxUYWI+OnNldFwgZXQhCm1lbnV0cmFucyBUb2dnbGVcICZhdXRvLWluZGVudDxUYWI+OnNldFwgYWkhCQlQcmVwbvqdXCBhdXRvbWF0aWNr6VwgJm9kc2Fkem92YW5pZTxUYWI+OnNldFwgYWkhCm1lbnV0cmFucyBUb2dnbGVcICZDLWluZGVudGluZzxUYWI+OnNldFwgY2luIQkJUHJlcG76nVwgJkMtb2RzYWR6b3ZhbmllPFRhYj46c2V0XCBjaW4hCm1lbnV0cmFucyAmU2hpZnR3aWR0aAkJCSaK7XJrYVwgmmlmdHUKbWVudXRyYW5zIFNvZnRcICZUYWJzdG9wCQkmU29mdHbpcm92/VwgdGFidWzhdG9yCm1lbnV0cmFucyBUZSZ4dFwgV2lkdGhcLlwuXC4JCYrtcmthXCB0ZSZ4dHVcLlwuXC4KbWVudXRyYW5zICZGaWxlXCBGb3JtYXRcLlwuXC4JCSZGb3Jt4XRcIHP6Ym9ydVwuXC5cLgptZW51dHJhbnMgQyZvbG9yXCBTY2hlbWUJCUZhciZlYm7hXCBzY2jpbWEKCiIgUHJvZ3JhbW1pbmcgbWVudQptZW51dHJhbnMgJlRvb2xzCQkJJk7hc3Ryb2plCm1lbnV0cmFucyAmSnVtcFwgdG9cIHRoaXNcIHRhZzxUYWI+Z15dCSZTa2/oaZ1cIG5hXCB6bmHoa3U8VGFiPmdeXQptZW51dHJhbnMgSnVtcFwgJmJhY2s8VGFiPl5UCQlTayZv6GmdXCBzcOSdPFRhYj5eVAptZW51dHJhbnMgQnVpbGRcICZUYWdzXCBGaWxlCQkmVnl0dm9yaZ1cIHP6Ym9yXCB6bmHoaWVrCm1lbnV0cmFucyAmRm9sZGluZwkJCSZWbuFyYW5pZQptZW51dHJhbnMgJkVuYWJsZS9EaXNhYmxlXCBmb2xkczxUYWI+emkJWmFwbvqdL1Z5cG76nVwgdm7hcmFuaSZlPFRhYj56aQptZW51dHJhbnMgJlZpZXdcIEN1cnNvclwgTGluZTxUYWI+enYJWm9icmF6aZ1cIGt1cnpvcm8mdv1cIHJpYWRvazxUYWI+enYKbWVudXRyYW5zIFZpZSZ3XCBDdXJzb3JcIExpbmVcIG9ubHk8VGFiPnpNengJWm9icmF6aZ1cIGliYVwga3Vyem9yb3b9XCByaWFkb2s8VGFiPnpNengKbWVudXRyYW5zIEMmbG9zZVwgbW9yZVwgZm9sZHM8VGFiPnptCVphdHZvcmmdXCB2aWFjIFx2bm9yZW7tPFRhYj56bQptZW51dHJhbnMgJkNsb3NlXCBhbGxcIGZvbGRzPFRhYj56TQlaYXR2b3ImaZ1cIHaaZXRreVwgdm5vcmVuaWE8VGFiPnpNCm1lbnV0cmFucyBPJnBlblwgbW9yZVwgZm9sZHM8VGFiPnpyCU8mdHZvcmmdXCB2aWFjXCB2bm9yZW7tPFRhYj56cgptZW51dHJhbnMgJk9wZW5cIGFsbFwgZm9sZHM8VGFiPnpSCSZPdHZvcmmdXCB2mmV0a3lcIHZub3JlbmlhPFRhYj56UgptZW51dHJhbnMgRm9sZFwgTWV0JmhvZAkJCU1ldPMmZGFcIHZu4XJhbmlhCm1lbnV0cmFucyBNJmFudWFsCQkJTSZhbnXhbG5lCm1lbnV0cmFucyBJJm5kZW50CQkJT2RzYWRlJm5pZQptZW51dHJhbnMgRSZ4cHJlc3Npb24JCQkmVv1yYXoKbWVudXRyYW5zIFMmeW50YXgJCQlTJnludGF4Cm1lbnV0cmFucyAmRGlmZgkJCQlSb3omZGllbAptZW51dHJhbnMgTWEmcmtlcgkJCVpuYSboa292YegKbWVudXRyYW5zIENyZWF0ZVwgJkZvbGQ8VGFiPnpmCQlWeXQmdm9yaZ1cIHZub3JlbmllPFRhYj56ZgptZW51dHJhbnMgJkRlbGV0ZVwgRm9sZDxUYWI+emQJCVYmeW1hemGdXCB2bm9yZW5pZTxUYWI+emQKbWVudXRyYW5zIERlbGV0ZVwgJkFsbFwgRm9sZHM8VGFiPnpECVZ5bWF6YZ1cIHaaZXRreVwgdm5vcmVuaWE8VGFiPnpECm1lbnV0cmFucyBGb2xkXCBjb2x1bW5cICZ3aWR0aAkJiu1ya2FcICZ2a2xhZGFu6WhvXCBzdOVwY2EKbWVudXRyYW5zICZEaWZmCQkJCSZSb3pkaWVseQptZW51dHJhbnMgJlVwZGF0ZQkJCUFrdCZ1YWxpem92YZ0KbWVudXRyYW5zICZHZXRcIEJsb2NrCQkJWm9iJnJhnVwgYmxvawptZW51dHJhbnMgJlB1dFwgQmxvY2sJCQkmVmxvnmmdXCBibG9rCm1lbnV0cmFucyBFcnJvclwgJldpbmRvdwkJQ2h5Ym926VwgJm9rbm8KbWVudXRyYW5zICZVcGRhdGU8VGFiPjpjd2luCQlBa3QmdWFsaXpvdmGdPFRhYj46Y3dpbgptZW51dHJhbnMgJk9wZW48VGFiPjpjb3BlbgkJJk90dm9yaZ08VGFiPjpjb3BlbgptZW51dHJhbnMgJkNsb3NlPFRhYj46Y2Nsb3NlCQkmWmF0dm9yaZ08VGFiPjpjY2xvc2UKbWVudXRyYW5zICZDb252ZXJ0XCB0b1wgSEVYPFRhYj46JSF4eGQJJktvbnZlcnRvdmGdXCBkb1wgSEVYPFRhYj46JSF4eGQKbWVudXRyYW5zIENvbnZlJnJ0XCBiYWNrPFRhYj46JSF4eGRcIC1yCUtvbnZlJnJ0b3ZhnVwgc3DknTxUYWI+OiUheHhkXCAtcgptZW51dHJhbnMgJk1ha2U8VGFiPjptYWtlCQkmTWFrZTxUYWI+Om1ha2UKbWVudXRyYW5zICZMaXN0XCBFcnJvcnM8VGFiPjpjbAkJVv1waXNcICZjaP1iPFRhYj46Y2wKbWVudXRyYW5zIEwmaXN0XCBNZXNzYWdlczxUYWI+OmNsIQlW/XAmaXNcIHNwcuF2PFRhYj46Y2whCm1lbnV0cmFucyAmTmV4dFwgRXJyb3I8VGFiPjpjbgkJz2EmbJppYVwgY2h5YmE8VGFiPjpjbgptZW51dHJhbnMgJlByZXZpb3VzXCBFcnJvcjxUYWI+OmNwCSZQcmVkY2jhZHphavpjYVwgY2h5YmE8VGFiPjpjcAptZW51dHJhbnMgJk9sZGVyXCBMaXN0PFRhYj46Y29sZAlTdGEmcprtXCB6b3puYW08VGFiPjpjb2xkCm1lbnV0cmFucyBOJmV3ZXJcIExpc3Q8VGFiPjpjbmV3CU5vdprtXCAmem96bmFtPFRhYj46Y25ldwptZW51dHJhbnMgRXJyb3JcICZXaW5kb3c8VGFiPjpjd2luCUNoeWJvdulcIG8ma25vPFRhYj46Y3dpbgptZW51dHJhbnMgJlNldFwgQ29tcGlsZXIJCVZ5YmVydGVcIGsmb21waWzhdG9yCm1lbnV0cmFucyBDb252ZXJ0XCB0b1wgSEVYPFRhYj46JSF4eGQJUHJ2aWVznVwgZG9cIJplcyZ0buFzdGtvdulob1wgZm9ybeF0dTxUYWI+OiUheHhkCm1lbnV0cmFucyBDb252ZXJ0XCBiYWNrPFRhYj46JSF4eGRcIC1yCVByJmV2aWVznVwgc3DknTxUYWI+OiUheHhkXCAtcgoKIiBOYW1lcyBmb3IgYnVmZmVyIG1lbnUuCm1lbnV0cmFucyAmQnVmZmVycwkJJlZ5cm92buF2YWNpYVwgcGFt5J0KbWVudXRyYW5zICZSZWZyZXNoXCBtZW51CU9ibm92aZ0KbWVudXRyYW5zICZEZWxldGUJCVZ5bWF6YZ0KbWVudXRyYW5zICZBbHRlcm5hdGUJCVptZW5pnQptZW51dHJhbnMgJk5leHQJCQnPJmFsmmlhCm1lbnV0cmFucyAmUHJldmlvdXMJCSZQcmVkY2jhZHphavpjYQptZW51dHJhbnMgW05vIEZpbGVdCQlbjmlhZG55XCBz+mJvcl0KCiIgV2luZG93IG1lbnUKbWVudXRyYW5zICZXaW5kb3cJCQkmT2tu4QptZW51dHJhbnMgJk5ldzxUYWI+XlduCQkJJk5vduk8VGFiPl5XbgptZW51dHJhbnMgUyZwbGl0PFRhYj5eV3MJCSZSb3pkZWxpnTxUYWI+XldzCm1lbnV0cmFucyBTcCZsaXRcIFRvXCAjPFRhYj5eV15eCVJvJnpkZWxpnVwgbmFcICM8VGFiPl5XXl4KbWVudXRyYW5zIFNwbGl0XCAmVmVydGljYWxseTxUYWI+Xld2CVJvemRlbGmdXCAmdmVydGlr4WxuZTxUYWI+Xld2Cm1lbnV0cmFucyBTcGxpdFwgRmlsZVwgRSZ4cGxvcmVyCU90dm9yaZ1cIHByaSZlc2t1bW7ta2EKbWVudXRyYW5zICZDbG9zZTxUYWI+XldjCQlaYXR2b3ImaZ08VGFiPl5XYwptZW51dHJhbnMgQ2xvc2VcICZPdGhlcihzKTxUYWI+XldvCVphdHZvcmmdXCBpJm7pPFRhYj5eV28KbWVudXRyYW5zIE1vdmVcICZUbwkJCVByZXN1bvomnQptZW51dHJhbnMgJlRvcDxUYWI+XldLCQkJTmEmaG9yPFRhYj5eV0sKbWVudXRyYW5zICZCb3R0b208VGFiPl5XSgkJTmFkbyZsPFRhYj5eV0oKbWVudXRyYW5zICZMZWZ0XCBzaWRlPFRhYj5eV0gJCVYmvmF2bzxUYWI+XldKCm1lbnV0cmFucyAmUmlnaHRcIHNpZGU8VGFiPl5XTAkJVnByYXYmbzxUYWI+XldMCm1lbnV0cmFucyBOZSZ4dDxUYWI+Xld3CQkJzyZhbJppZTxUYWI+Xld3Cm1lbnV0cmFucyBQJnJldmlvdXM8VGFiPl5XVwkJJlByZWRjaOFkemFq+mNlPFRhYj5eV1cKbWVudXRyYW5zICZFcXVhbFwgU2l6ZTxUYWI+Xlc9CQlSb3ZuYWvhXCB2/Zoma2E8VGFiPl5XPQptZW51dHJhbnMgJk1heFwgSGVpZ2h0PFRhYj5eV18JCSZNYXhpbeFsbmFcIHb9mmthPFRhYj5eV18KbWVudXRyYW5zIE0maW5cIEhlaWdodDxUYWI+XlcxXwkJTWluaW3hbG5hXCB2/Saaa2E8VGFiPl5XMV8KbWVudXRyYW5zIE1heFwgJldpZHRoPFRhYj5eV1x8CQlNYXhpbeFsbmFcIJrtcmthPFRhYj5eV1x8Cm1lbnV0cmFucyBNaW5cIFdpZHQmaDxUYWI+XlcxXHwJCU1pbmlt4WxuYSCaaXJrYTxUYWI+XlcxXHwKbWVudXRyYW5zIFJvdGF0ZVwgJlVwPFRhYj5eV1IJCVJvdG92YSadXCBuYWhvcjxUYWI+XldSCm1lbnV0cmFucyBSb3RhdGVcICZEb3duPFRhYj5eV3IJCVJvdG92YZ1cIG5hJmRvbDxUYWI+XldyCm1lbnV0cmFucyBTZWxlY3RcIEZvJm50XC5cLlwuCQlWeSZicmGdXCBw7XNtb1wuXC5cLgoKIiBUaGUgcG9wdXAgbWVudQptZW51dHJhbnMgJlVuZG8JCQkmU3DknQptZW51dHJhbnMgQ3UmdAkJCSZWeXN0cmlobvqdCm1lbnV0cmFucyAmQ29weQkJCSZLb3Dtcm92YZ0KbWVudXRyYW5zICZQYXN0ZQkJViZsb55pnQptZW51dHJhbnMgJkRlbGV0ZQkJViZ5bWF6YZ0KbWVudXRyYW5zIFNlbGVjdFwgQmxvY2t3aXNlCVZ5YnJhnVwgYmxva292bwptZW51dHJhbnMgU2VsZWN0XCAmV29yZAkJVnlicmGdXCBzbCZvdm8KbWVudXRyYW5zIFNlbGVjdFwgJkxpbmUJCVZ5YnJhnVwgJnJpYWRvawptZW51dHJhbnMgU2VsZWN0XCAmQmxvY2sJVnlicmGdXCAmYmxvawptZW51dHJhbnMgU2VsZWN0XCAmQWxsCQlWeWJyYZ1cIHaaJmV0a28KCiIgVGhlIEdVSSB0b29sYmFyCmlmIGhhcygidG9vbGJhciIpCiAgaWYgZXhpc3RzKCIqRG9fdG9vbGJhcl90bWVudSIpCiAgICBkZWxmdW4gRG9fdG9vbGJhcl90bWVudQogIGVuZGlmCiAgZnVuIERvX3Rvb2xiYXJfdG1lbnUoKQogICAgdG1lbnUgVG9vbEJhci5PcGVuCQlPdHZvcmmdIHP6Ym9yCiAgICB0bWVudSBUb29sQmFyLlNhdmUJCVVsb55pnSBz+mJvcgogICAgdG1lbnUgVG9vbEJhci5TYXZlQWxsCVVsb55pnSB2mmV0a3kKICAgIHRtZW51IFRvb2xCYXIuUHJpbnQJCVRsYegKICAgIHRtZW51IFRvb2xCYXIuVW5kbwkJU3DknQogICAgdG1lbnUgVG9vbEJhci5SZWRvCQlPcGFrb3ZhnQogICAgdG1lbnUgVG9vbEJhci5DdXQJCVZ5c3RyaWhu+p0KICAgIHRtZW51IFRvb2xCYXIuQ29weQkJS29w7XJvdmGdCiAgICB0bWVudSBUb29sQmFyLlBhc3RlCQlWbG+eaZ0KICAgIHRtZW51IFRvb2xCYXIuRmluZAkJTuFqc50uLi4KICAgIHRtZW51IFRvb2xCYXIuRmluZE5leHQJTuFqc50g72FsmmllCiAgICB0bWVudSBUb29sQmFyLkZpbmRQcmV2CU7hanOdIHByZWRjaOFkemFq+mNlCiAgICB0bWVudSBUb29sQmFyLlJlcGxhY2UJTmFocmFkaZ0uLi4KICAgIGlmIDAJIiBkaXNhYmxlZDsgVGhlc2UgYXJlIGluIHRoZSBXaW5kb3dzIG1lbnUKICAgICAgdG1lbnUgVG9vbEJhci5OZXcJCU5vdukgb2tubwogICAgICB0bWVudSBUb29sQmFyLldpblNwbGl0CVJvemRlbGmdIG9rbm8KICAgICAgdG1lbnUgVG9vbEJhci5XaW5NYXgJTWF4aW1hbGl6b3ZhnSBva25vCiAgICAgIHRtZW51IFRvb2xCYXIuV2luTWluCU1pbmltYWxpem92YZ0gb2tubwogICAgICB0bWVudSBUb29sQmFyLldpblZTcGxpdAlSb3pkZWxpnSBva25vIHZlcnRpa+FsbmUKICAgICAgdG1lbnUgVG9vbEJhci5XaW5NYXhXaWR0aAlNYXhpbWFsaXpvdmGdIJrtcmt1IG9rbmEKICAgICAgdG1lbnUgVG9vbEJhci5XaW5NaW5XaWR0aAlNaW5pbWFsaXpvdmGdIJrtcmt1IG9rbmEKICAgICAgdG1lbnUgVG9vbEJhci5XaW5DbG9zZQlaYXR2b3JpnSBva25vCiAgICBlbmRpZgogICAgdG1lbnUgVG9vbEJhci5Mb2FkU2VzbglOYejtdGGdIHNlZGVuaWUKICAgIHRtZW51IFRvb2xCYXIuU2F2ZVNlc24JVWxvnmmdIHNlZGVuaWUKICAgIHRtZW51IFRvb2xCYXIuUnVuU2NyaXB0CVNwdXN0aZ0gc2tyaXB0CiAgICB0bWVudSBUb29sQmFyLk1ha2UJCVNwdXN0aZ0gbWFrZQogICAgdG1lbnUgVG9vbEJhci5TaGVsbAkJU3B1c3RpnSCaZWwKICAgIHRtZW51IFRvb2xCYXIuUnVuQ3RhZ3MJU3B1c3RpnSBjdGFncwogICAgdG1lbnUgVG9vbEJhci5UYWdKdW1wCVNrb+hpnSBuYSB0YWcgcG9kIGt1cnpvcm9tCiAgICB0bWVudSBUb29sQmFyLkhlbHAJCVBvbW9jbu1rCiAgICB0bWVudSBUb29sQmFyLkZpbmRIZWxwCU7hanOdIHBvbW9jbu1rYSBrLi4uCiAgZW5kZnVuCmVuZGlmCgoiIFN5bnRheCBtZW51Cm1lbnV0cmFucyAmU3ludGF4CQkmU3ludGF4Cm1lbnV0cmFucyBTZXRcICcmc3ludGF4J1wgb25seQlOYXN0YXZpnVwgaWJhXCAnc3ludGF4JwptZW51dHJhbnMgU2V0XCAnJmZpbGV0eXBlJ1wgdG9vCU5hc3RhdmmdXCBhalwgJ2ZpbGV0eXBlJwptZW51dHJhbnMgJk9mZgkJCSZWeXBu+p0KbWVudXRyYW5zICZNYW51YWwJCSZSdehuZQptZW51dHJhbnMgQSZ1dG9tYXRpYwkJQSZ1dG9tYXRpY2t5CiIgbWVudXRyYW5zIG8mblwgKHRoaXNcIGZpbGUpCSZaYXBu+p1cIChwcmVcIHRlbnRvXCBz+mJvcikKIiBtZW51dHJhbnMgbyZmZlwgKHRoaXNcIGZpbGUpCVZ5cCZu+p1cIChwcmVcIHRlbnRvXCBz+mJvciApCm1lbnV0cmFucyBvbi9vZmZcIGZvclwgJlRoaXNcIGZpbGUJWmFwbvqdL3Z5cG76nVwgcHJlXCAmdGVudG9cIHP6Ym9yCm1lbnV0cmFucyBDbyZsb3JcIHRlc3QJCVRlc3RcICZmYXJpZWIKbWVudXRyYW5zICZIaWdobGlnaHRcIHRlc3QJJlRlc3RcIHp2/XJhevJvdmFuaWEKbWVudXRyYW5zICZDb252ZXJ0XCB0b1wgSFRNTAkmUHJldmllc51cIGRvXCBIVE1MCgpsZXQgJmNwbyA9IHM6a2VlcGNwbwp1bmxldCBzOmtlZXBjcG8K