f0VMRgEBAQAAAAAAAAAAAAEACAABAAAAAAAAAAAAAACcIAAABxAAUDQAAAAAACgABQACAHYxOwpwYWNrYWdlIG11bHRpcGFydDsKcGtncGF0aCBtaW1lL211bHRpcGFydDsKcHJpb3JpdHkgOTsKaW1wb3J0IGJ1ZmlvIGJ1ZmlvICJidWZpbyI7CmltcG9ydCBieXRlcyBieXRlcyAiYnl0ZXMiOwppbXBvcnQgcmFuZCBjcnlwdG8vcmFuZCAiY3J5cHRvL3JhbmQiOwppbXBvcnQgZXJyb3JzIGVycm9ycyAiZXJyb3JzIjsKaW1wb3J0IGZtdCBmbXQgImZtdCI7CmltcG9ydCBpbyBpbyAiaW8iOwppbXBvcnQgaW91dGlsIGlvL2lvdXRpbCAiaW8vaW91dGlsIjsKaW1wb3J0IG1pbWUgbWltZSAibWltZSI7CmltcG9ydCB0ZXh0cHJvdG8gbmV0L3RleHRwcm90byAibmV0L3RleHRwcm90byI7CmltcG9ydCBvcyBvcyAib3MiOwppbXBvcnQgc3RyaW5ncyBzdHJpbmdzICJzdHJpbmdzIjsKaW5pdCBtdWx0aXBhcnQgbWltZV9tdWx0aXBhcnQuLmltcG9ydCA5IG1hdGggbWF0aC4uaW1wb3J0IDEgcnVudGltZSBydW50aW1lLi5pbXBvcnQgMSB1bmljb2RlIHVuaWNvZGUuLmltcG9ydCAxIHN0cmNvbnYgc3RyY29udi4uaW1wb3J0IDIgc3luYyBzeW5jLi5pbXBvcnQgMiBpbyBpby4uaW1wb3J0IDMgcmFuZCBtYXRoX3JhbmQuLmltcG9ydCAzIHJlZmxlY3QgcmVmbGVjdC4uaW1wb3J0IDMgc3lzY2FsbCBzeXNjYWxsLi5pbXBvcnQgMyBiaW5hcnkgZW5jb2RpbmdfYmluYXJ5Li5pbXBvcnQgNCBieXRlcyBieXRlcy4uaW1wb3J0IDQgY2lwaGVyIGNyeXB0b19jaXBoZXIuLmltcG9ydCA0IHN5c2NhbGwgaW50ZXJuYWxfc3lzY2FsbC4uaW1wb3J0IDQgdGltZSB0aW1lLi5pbXBvcnQgNCBidWZpbyBidWZpby4uaW1wb3J0IDUgb3Mgb3MuLmltcG9ydCA1IGZpbGVwYXRoIHBhdGhfZmlsZXBhdGguLmltcG9ydCA2IGZtdCBmbXQuLmltcG9ydCA2IG5ldCBuZXQuLmltcG9ydCA2IGJpZyBtYXRoX2JpZy4uaW1wb3J0IDcgaW91dGlsIGlvX2lvdXRpbC4uaW1wb3J0IDcgbWltZSBtaW1lLi5pbXBvcnQgNyByYW5kIGNyeXB0b19yYW5kLi5pbXBvcnQgOCB0ZXh0cHJvdG8gbmV0X3RleHRwcm90by4uaW1wb3J0IDg7CnR5cGUgPHR5cGUgMSAiRmlsZSIgPHR5cGUgMiBpbnRlcmZhY2UgeyA/IDx0eXBlIDMgImlvLlJlYWRlciIgPHR5cGUgNCBpbnRlcmZhY2UgeyBSZWFkIChwIDx0eXBlIDUgW10gPHR5cGUgLTIwPj4pIChuIDx0eXBlIC0xMT4sIGVyciA8dHlwZSAtMTk+KTsgfT4+OyA/IDx0eXBlIDYgImlvLlJlYWRlckF0IiA8dHlwZSA3IGludGVyZmFjZSB7IFJlYWRBdCAocCA8dHlwZSA4IFtdIDx0eXBlIC0yMD4+LCBvZmYgPHR5cGUgLTQ+KSAobiA8dHlwZSAtMTE+LCBlcnIgPHR5cGUgLTE5Pik7IH0+PjsgPyA8dHlwZSA5ICJpby5TZWVrZXIiIDx0eXBlIDEwIGludGVyZmFjZSB7IFNlZWsgKG9mZnNldCA8dHlwZSAtND4sIHdoZW5jZSA8dHlwZSAtMTE+KSAoPyA8dHlwZSAtND4sID8gPHR5cGUgLTE5Pik7IH0+PjsgPyA8dHlwZSAxMSAiaW8uQ2xvc2VyIiA8dHlwZSAxMiBpbnRlcmZhY2UgeyBDbG9zZSAoKSA8dHlwZSAtMTk+OyB9Pj47IH0+PjsKdHlwZSA8dHlwZSAxMyAiRmlsZUhlYWRlciIgPHR5cGUgMTQgc3RydWN0IHsgRmlsZW5hbWUgPHR5cGUgLTE2PjsgSGVhZGVyIDx0eXBlIDE1ICJuZXQvdGV4dHByb3RvLk1JTUVIZWFkZXIiIDx0eXBlIDE2IG1hcCBbPHR5cGUgLTE2Pl0gPHR5cGUgMTcgW10gPHR5cGUgLTE2Pj4+CiBmdW5jIChoIDx0eXBlIDE1PikgR2V0IChrZXkgPHR5cGUgLTE2PikgPHR5cGUgLTE2PjsKIGZ1bmMgKGggPHR5cGUgMTU+KSBTZXQgKGtleSA8dHlwZSAtMTY+LCB2YWx1ZSA8dHlwZSAtMTY+KTsKIGZ1bmMgKGggPHR5cGUgMTU+KSBBZGQgKGtleSA8dHlwZSAtMTY+LCB2YWx1ZSA8dHlwZSAtMTY+KTsKIGZ1bmMgKGggPHR5cGUgMTU+KSBEZWwgKGtleSA8dHlwZSAtMTY+KTsKPjsgLm1pbWUvbXVsdGlwYXJ0LmNvbnRlbnQgPHR5cGUgMTggW10gPHR5cGUgLTIwPj47IC5taW1lL211bHRpcGFydC50bXBmaWxlIDx0eXBlIC0xNj47IH0+CiBmdW5jIChmaCA8dHlwZSAxOSAqPHR5cGUgMTM+PikgT3BlbiAoKSAoPyA8dHlwZSAxPiwgPyA8dHlwZSAtMTk+KTsKPjsKdHlwZSA8dHlwZSAyMCAiRm9ybSIgPHR5cGUgMjEgc3RydWN0IHsgVmFsdWUgPHR5cGUgMjIgbWFwIFs8dHlwZSAtMTY+XSA8dHlwZSAyMyBbXSA8dHlwZSAtMTY+Pj47IEZpbGUgPHR5cGUgMjQgbWFwIFs8dHlwZSAtMTY+XSA8dHlwZSAyNSBbXSA8dHlwZSAyNiAqPHR5cGUgMTM+Pj4+OyB9PgogZnVuYyAoZiA8dHlwZSAyNyAqPHR5cGUgMjA+PikgUmVtb3ZlQWxsICgpIDx0eXBlIC0xOT47Cj47CmZ1bmMgTmV3UmVhZGVyIChyIDx0eXBlIDM+LCBib3VuZGFyeSA8dHlwZSAtMTY+KSA8dHlwZSAyOCAqPHR5cGUgMjkgIlJlYWRlciIgPHR5cGUgMzAgc3RydWN0IHsgLm1pbWUvbXVsdGlwYXJ0LmJ1ZlJlYWRlciA8dHlwZSAzMSAqPHR5cGUgMzIgImJ1ZmlvLlJlYWRlciIgPHR5cGUgMzMgc3RydWN0IHsgLmJ1ZmlvLmJ1ZiA8dHlwZSAzNCBbXSA8dHlwZSAtMjA+PjsgLmJ1ZmlvLnJkIDx0eXBlIDM+OyAuYnVmaW8uciA8dHlwZSAtMTE+OyAuYnVmaW8udyA8dHlwZSAtMTE+OyAuYnVmaW8uZXJyIDx0eXBlIC0xOT47IC5idWZpby5sYXN0Qnl0ZSA8dHlwZSAtMTE+OyAuYnVmaW8ubGFzdFJ1bmVTaXplIDx0eXBlIC0xMT47IH0+CiBmdW5jIChiIDx0eXBlIDM1ICo8dHlwZSAzMj4+KSBVbnJlYWRCeXRlICgpIDx0eXBlIC0xOT47CiBmdW5jIChiIDx0eXBlIDM1PikgUmVhZFN0cmluZyAoZGVsaW0gPHR5cGUgLTIwPikgKGxpbmUgPHR5cGUgLTE2PiwgZXJyIDx0eXBlIC0xOT4pOwogZnVuYyAoYiA8dHlwZSAzNT4pIFJlYWRCeXRlICgpIChjIDx0eXBlIC0yMD4sIGVyciA8dHlwZSAtMTk+KTsKIGZ1bmMgKGIgPHR5cGUgMzU+KSBXcml0ZVRvICh3IDx0eXBlIDM2ICJpby5Xcml0ZXIiIDx0eXBlIDM3IGludGVyZmFjZSB7IFdyaXRlIChwIDx0eXBlIDM4IFtdIDx0eXBlIC0yMD4+KSAobiA8dHlwZSAtMTE+LCBlcnIgPHR5cGUgLTE5Pik7IH0+PikgKG4gPHR5cGUgLTQ+LCBlcnIgPHR5cGUgLTE5Pik7CiBmdW5jIChiIDx0eXBlIDM1PikgUmVhZEJ5dGVzIChkZWxpbSA8dHlwZSAtMjA+KSAobGluZSA8dHlwZSAzOSBbXSA8dHlwZSAtMjA+PiwgZXJyIDx0eXBlIC0xOT4pOwogZnVuYyAoYiA8dHlwZSAzNT4pIFJlYWRMaW5lICgpIChsaW5lIDx0eXBlIDQwIFtdIDx0eXBlIC0yMD4+LCBpc1ByZWZpeCA8dHlwZSAtMTU+LCBlcnIgPHR5cGUgLTE5Pik7CiBmdW5jIChiIDx0eXBlIDM1PikgUmVhZFJ1bmUgKCkgKHIgPHR5cGUgLTIxPiwgc2l6ZSA8dHlwZSAtMTE+LCBlcnIgPHR5cGUgLTE5Pik7CiBmdW5jIChiIDx0eXBlIDM1PikgLmJ1ZmlvLndyaXRlQnVmICh3IDx0eXBlIDM2PikgKD8gPHR5cGUgLTQ+LCA/IDx0eXBlIC0xOT4pOwogZnVuYyAoYiA8dHlwZSAzNT4pIFVucmVhZFJ1bmUgKCkgPHR5cGUgLTE5PjsKIGZ1bmMgKGIgPHR5cGUgMzU+KSAuYnVmaW8uZmlsbCAoKTsKIGZ1bmMgKGIgPHR5cGUgMzU+KSBSZXNldCAociA8dHlwZSAzPik7CiBmdW5jIChiIDx0eXBlIDM1PikgUmVhZFNsaWNlIChkZWxpbSA8dHlwZSAtMjA+KSAobGluZSA8dHlwZSA0MSBbXSA8dHlwZSAtMjA+PiwgZXJyIDx0eXBlIC0xOT4pOwogZnVuYyAoYiA8dHlwZSAzNT4pIFJlYWQgKHAgPHR5cGUgNDIgW10gPHR5cGUgLTIwPj4pIChuIDx0eXBlIC0xMT4sIGVyciA8dHlwZSAtMTk+KTsKIGZ1bmMgKGIgPHR5cGUgMzU+KSBCdWZmZXJlZCAoKSA8dHlwZSAtMTE+OwogZnVuYyAoYiA8dHlwZSAzNT4pIC5idWZpby5yZXNldCAoYnVmIDx0eXBlIDQzIFtdIDx0eXBlIC0yMD4+LCByIDx0eXBlIDM+KTsKIGZ1bmMgKGIgPHR5cGUgMzU+KSBQZWVrIChuIDx0eXBlIC0xMT4pICg/IDx0eXBlIDQ0IFtdIDx0eXBlIC0yMD4+LCA/IDx0eXBlIC0xOT4pOwogZnVuYyAoYiA8dHlwZSAzNT4pIC5idWZpby5yZWFkRXJyICgpIDx0eXBlIC0xOT47Cj4+OyAubWltZS9tdWx0aXBhcnQuY3VycmVudFBhcnQgPHR5cGUgNDUgKjx0eXBlIDQ2ICJQYXJ0IiA8dHlwZSA0NyBzdHJ1Y3QgeyBIZWFkZXIgPHR5cGUgMTU+OyAubWltZS9tdWx0aXBhcnQuYnVmZmVyIDx0eXBlIDQ4ICo8dHlwZSA0OSAiYnl0ZXMuQnVmZmVyIiA8dHlwZSA1MCBzdHJ1Y3QgeyAuYnl0ZXMuYnVmIDx0eXBlIDUxIFtdIDx0eXBlIC0yMD4+OyAuYnl0ZXMub2ZmIDx0eXBlIC0xMT47IC5ieXRlcy5ydW5lQnl0ZXMgPHR5cGUgNTIgWzQgXSA8dHlwZSAtMjA+PjsgLmJ5dGVzLmJvb3RzdHJhcCA8dHlwZSA1MyBbNjQgXSA8dHlwZSAtMjA+PjsgLmJ5dGVzLmxhc3RSZWFkIDx0eXBlIDU0ICIuYnl0ZXMucmVhZE9wIiA8dHlwZSAtMTE+PjsgfT4KIGZ1bmMgKGIgPHR5cGUgNTUgKjx0eXBlIDQ5Pj4pIFVucmVhZEJ5dGUgKCkgPHR5cGUgLTE5PjsKIGZ1bmMgKGIgPHR5cGUgNTU+KSBUcnVuY2F0ZSAobiA8dHlwZSAtMTE+KTsKIGZ1bmMgKGIgPHR5cGUgNTU+KSBXcml0ZVN0cmluZyAocyA8dHlwZSAtMTY+KSAobiA8dHlwZSAtMTE+LCBlcnIgPHR5cGUgLTE5Pik7CiBmdW5jIChiIDx0eXBlIDU1PikgUmVhZFN0cmluZyAoZGVsaW0gPHR5cGUgLTIwPikgKGxpbmUgPHR5cGUgLTE2PiwgZXJyIDx0eXBlIC0xOT4pOwogZnVuYyAoYiA8dHlwZSA1NT4pIFJlYWRCeXRlICgpIChjIDx0eXBlIC0yMD4sIGVyciA8dHlwZSAtMTk+KTsKIGZ1bmMgKGIgPHR5cGUgNTU+KSBOZXh0IChuIDx0eXBlIC0xMT4pIDx0eXBlIDU2IFtdIDx0eXBlIC0yMD4+OwogZnVuYyAoYiA8dHlwZSA1NT4pIFdyaXRlUnVuZSAociA8dHlwZSAtMjE+KSAobiA8dHlwZSAtMTE+LCBlcnIgPHR5cGUgLTE5Pik7CiBmdW5jIChiIDx0eXBlIDU1PikgU3RyaW5nICgpIDx0eXBlIC0xNj47CiBmdW5jIChiIDx0eXBlIDU1PikgV3JpdGVUbyAodyA8dHlwZSAzNj4pIChuIDx0eXBlIC00PiwgZXJyIDx0eXBlIC0xOT4pOwogZnVuYyAoYiA8dHlwZSA1NT4pIFJlYWRCeXRlcyAoZGVsaW0gPHR5cGUgLTIwPikgKGxpbmUgPHR5cGUgNTcgW10gPHR5cGUgLTIwPj4sIGVyciA8dHlwZSAtMTk+KTsKIGZ1bmMgKGIgPHR5cGUgNTU+KSAuYnl0ZXMuZ3JvdyAobiA8dHlwZSAtMTE+KSA8dHlwZSAtMTE+OwogZnVuYyAoYiA8dHlwZSA1NT4pIFJlYWRSdW5lICgpIChyIDx0eXBlIC0yMT4sIHNpemUgPHR5cGUgLTExPiwgZXJyIDx0eXBlIC0xOT4pOwogZnVuYyAoYiA8dHlwZSA1NT4pIFVucmVhZFJ1bmUgKCkgPHR5cGUgLTE5PjsKIGZ1bmMgKGIgPHR5cGUgNTU+KSBSZWFkIChwIDx0eXBlIDU4IFtdIDx0eXBlIC0yMD4+KSAobiA8dHlwZSAtMTE+LCBlcnIgPHR5cGUgLTE5Pik7CiBmdW5jIChiIDx0eXBlIDU1PikgUmVzZXQgKCk7CiBmdW5jIChiIDx0eXBlIDU1PikgLmJ5dGVzLnJlYWRTbGljZSAoZGVsaW0gPHR5cGUgLTIwPikgKGxpbmUgPHR5cGUgNTkgW10gPHR5cGUgLTIwPj4sIGVyciA8dHlwZSAtMTk+KTsKIGZ1bmMgKGIgPHR5cGUgNTU+KSBXcml0ZUJ5dGUgKGMgPHR5cGUgLTIwPikgPHR5cGUgLTE5PjsKIGZ1bmMgKGIgPHR5cGUgNTU+KSBXcml0ZSAocCA8dHlwZSA2MCBbXSA8dHlwZSAtMjA+PikgKG4gPHR5cGUgLTExPiwgZXJyIDx0eXBlIC0xOT4pOwogZnVuYyAoYiA8dHlwZSA1NT4pIFJlYWRGcm9tIChyIDx0eXBlIDM+KSAobiA8dHlwZSAtND4sIGVyciA8dHlwZSAtMTk+KTsKIGZ1bmMgKGIgPHR5cGUgNTU+KSBMZW4gKCkgPHR5cGUgLTExPjsKIGZ1bmMgKGIgPHR5cGUgNTU+KSBHcm93IChuIDx0eXBlIC0xMT4pOwogZnVuYyAoYiA8dHlwZSA1NT4pIEJ5dGVzICgpIDx0eXBlIDYxIFtdIDx0eXBlIC0yMD4+Owo+PjsgLm1pbWUvbXVsdGlwYXJ0Lm1yIDx0eXBlIDYyICo8dHlwZSAyOT4+OyAubWltZS9tdWx0aXBhcnQuYnl0ZXNSZWFkIDx0eXBlIC0xMT47IC5taW1lL211bHRpcGFydC5kaXNwb3NpdGlvbiA8dHlwZSAtMTY+OyAubWltZS9tdWx0aXBhcnQuZGlzcG9zaXRpb25QYXJhbXMgPHR5cGUgNjMgbWFwIFs8dHlwZSAtMTY+XSA8dHlwZSAtMTY+PjsgLm1pbWUvbXVsdGlwYXJ0LnIgPHR5cGUgMz47IH0+CiBmdW5jIChwIDx0eXBlIDY0ICo8dHlwZSA0Nj4+KSBGb3JtTmFtZSAoKSA8dHlwZSAtMTY+OwogZnVuYyAocCA8dHlwZSA2ND4pIEZpbGVOYW1lICgpIDx0eXBlIC0xNj47CiBmdW5jIChwIDx0eXBlIDY0PikgLm1pbWUvbXVsdGlwYXJ0LnBhcnNlQ29udGVudERpc3Bvc2l0aW9uICgpOwogZnVuYyAoYnAgPHR5cGUgNjQ+KSAubWltZS9tdWx0aXBhcnQucG9wdWxhdGVIZWFkZXJzICgpIDx0eXBlIC0xOT47CiBmdW5jIChwIDx0eXBlIDY0PikgUmVhZCAoZCA8dHlwZSA2NSBbXSA8dHlwZSAtMjA+PikgKG4gPHR5cGUgLTExPiwgZXJyIDx0eXBlIC0xOT4pOwogZnVuYyAocCA8dHlwZSA2ND4pIENsb3NlICgpIDx0eXBlIC0xOT47Cj4+OyAubWltZS9tdWx0aXBhcnQucGFydHNSZWFkIDx0eXBlIC0xMT47IC5taW1lL211bHRpcGFydC5ubCA8dHlwZSA2NiBbXSA8dHlwZSAtMjA+PjsgLm1pbWUvbXVsdGlwYXJ0Lm5sRGFzaEJvdW5kYXJ5IDx0eXBlIDY3IFtdIDx0eXBlIC0yMD4+OyAubWltZS9tdWx0aXBhcnQuZGFzaEJvdW5kYXJ5RGFzaCA8dHlwZSA2OCBbXSA8dHlwZSAtMjA+PjsgLm1pbWUvbXVsdGlwYXJ0LmRhc2hCb3VuZGFyeSA8dHlwZSA2OSBbXSA8dHlwZSAtMjA+PjsgfT4KIGZ1bmMgKHIgPHR5cGUgNzAgKjx0eXBlIDI5Pj4pIFJlYWRGb3JtIChtYXhNZW1vcnkgPHR5cGUgLTQ+KSAoZiA8dHlwZSA3MSAqPHR5cGUgMjA+PiwgZXJyIDx0eXBlIC0xOT4pOwogZnVuYyAociA8dHlwZSA3MiAqPHR5cGUgMjk+PikgTmV4dFBhcnQgKCkgKD8gPHR5cGUgNDU+LCA/IDx0eXBlIC0xOT4pOwogZnVuYyAobXIgPHR5cGUgNzI+KSAubWltZS9tdWx0aXBhcnQuaXNGaW5hbEJvdW5kYXJ5IChsaW5lIDx0eXBlIDczIFtdIDx0eXBlIC0yMD4+KSA8dHlwZSAtMTU+OwogZnVuYyAobXIgPHR5cGUgNzI+KSAubWltZS9tdWx0aXBhcnQuaXNCb3VuZGFyeURlbGltaXRlckxpbmUgKGxpbmUgPHR5cGUgNzQgW10gPHR5cGUgLTIwPj4pIChyZXQgPHR5cGUgLTE1Pik7CiBmdW5jIChtciA8dHlwZSA3Mj4pIC5taW1lL211bHRpcGFydC5wZWVrQnVmZmVySXNFbXB0eVBhcnQgKHBlZWsgPHR5cGUgNzUgW10gPHR5cGUgLTIwPj4pIDx0eXBlIC0xNT47Cj4+OwpmdW5jIE5ld1dyaXRlciAodyA8dHlwZSAzNj4pIDx0eXBlIDc2ICo8dHlwZSA3NyAiV3JpdGVyIiA8dHlwZSA3OCBzdHJ1Y3QgeyAubWltZS9tdWx0aXBhcnQudyA8dHlwZSAzNj47IC5taW1lL211bHRpcGFydC5ib3VuZGFyeSA8dHlwZSAtMTY+OyAubWltZS9tdWx0aXBhcnQubGFzdHBhcnQgPHR5cGUgNzkgKjx0eXBlIDgwICIubWltZS9tdWx0aXBhcnQucGFydCIgPHR5cGUgODEgc3RydWN0IHsgLm1pbWUvbXVsdGlwYXJ0Lm13IDx0eXBlIDgyICo8dHlwZSA3Nz4+OyAubWltZS9tdWx0aXBhcnQuY2xvc2VkIDx0eXBlIC0xNT47IC5taW1lL211bHRpcGFydC53ZSA8dHlwZSAtMTk+OyB9PgogZnVuYyAocCA8dHlwZSA4MyAqPHR5cGUgODA+PikgLm1pbWUvbXVsdGlwYXJ0LmNsb3NlICgpIDx0eXBlIC0xOT47CiBmdW5jIChwIDx0eXBlIDgzPikgV3JpdGUgKGQgPHR5cGUgODQgW10gPHR5cGUgLTIwPj4pIChuIDx0eXBlIC0xMT4sIGVyciA8dHlwZSAtMTk+KTsKPj47IH0+CiBmdW5jICh3IDx0eXBlIDgyPikgQm91bmRhcnkgKCkgPHR5cGUgLTE2PjsKIGZ1bmMgKHcgPHR5cGUgODI+KSBTZXRCb3VuZGFyeSAoYm91bmRhcnkgPHR5cGUgLTE2PikgPHR5cGUgLTE5PjsKIGZ1bmMgKHcgPHR5cGUgODI+KSBGb3JtRGF0YUNvbnRlbnRUeXBlICgpIDx0eXBlIC0xNj47CiBmdW5jICh3IDx0eXBlIDgyPikgQ3JlYXRlUGFydCAoaGVhZGVyIDx0eXBlIDE1PikgKD8gPHR5cGUgMzY+LCA/IDx0eXBlIC0xOT4pOwogZnVuYyAodyA8dHlwZSA4Mj4pIENyZWF0ZUZvcm1GaWxlIChmaWVsZG5hbWUgPHR5cGUgLTE2PiwgZmlsZW5hbWUgPHR5cGUgLTE2PikgKD8gPHR5cGUgMzY+LCA/IDx0eXBlIC0xOT4pOwogZnVuYyAodyA8dHlwZSA4Mj4pIENyZWF0ZUZvcm1GaWVsZCAoZmllbGRuYW1lIDx0eXBlIC0xNj4pICg/IDx0eXBlIDM2PiwgPyA8dHlwZSAtMTk+KTsKIGZ1bmMgKHcgPHR5cGUgODI+KSBXcml0ZUZpZWxkIChmaWVsZG5hbWUgPHR5cGUgLTE2PiwgdmFsdWUgPHR5cGUgLTE2PikgPHR5cGUgLTE5PjsKIGZ1bmMgKHcgPHR5cGUgODI+KSBDbG9zZSAoKSA8dHlwZSAtMTk+Owo+PjsKdHlwZSA8dHlwZSA0Nj47CnR5cGUgPHR5cGUgMjk+Owp0eXBlIDx0eXBlIDc3PjsKY2hlY2tzdW0gMTg4RTlGMkU0QTAwM0U0RDc0QzAwOTZBRDA0OTkxQUM2RkQ0NDhENzsKAC5zeW10YWIALnN0cnRhYgAuc2hzdHJ0YWIALmdvX2V4cG9ydAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwAAAAEAAAAAAAAAAAAAADQAAAAbIAAAAAAAAAAAAAABAAAAAAAAABEAAAADAAAAAAAAAAAAAABPIAAAJgAAAAAAAAAAAAAAAQAAAAAAAAABAAAAAgAAAAAAAAAAAAAAeCAAACAAAAAEAAAAAgAAAAQAAAAQAAAACQAAAAMAAAAAAAAAAAAAAJggAAABAAAAAAAAAAAAAAABAAAAAAAAAA==