Q3lhbm9nZW5Nb2QKPT09PT09PT09PT0KCk1haW50YWluZXJzIChDeWFub2dlbk1vZCAxMC4yKToKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKiBfX0FjZXIgQTcwMDpfXyBwYXdpdHAKKiBfX0FtYXpvbiBLaW5kbGUgRmlyZSAxc3QgRWRpdGlvbjpfXyBIYXNoY29kZQoqIF9fQW1hem9uIEtpbmRsZSBGaXJlIDJuZCBFZGl0aW9uOl9fIEhhc2hjb2RlCiogX19Bc3VzIEVlZVBhZCBUcmFuc2Zvcm1lciAoVEYxMDEpOl9fIEJ1bWJsZS1CZWUsIEVuSmVucwoqIF9fQXN1cyBFZWVQYWQgVHJhbnNmb3JtZXIgUHJpbWUgKFRGMjAxKTpfXyBCdW1ibGUtQmVlLCBFbkplbnMKKiBfX0FzdXMgRWVlUGFkIFRyYW5zZm9ybWVyIFBhZCBURjMwMFQ6X18geHBsb2R3aWxkCiogX19Bc3VzIEVlZVBhZCBUcmFuc2Zvcm1lciBQYWQgSW5maW5pdHkgVEY3MDBUOl9fIGRhc3Vuc3J1bGUzMgoqIF9fQiZOIE5vb2tDb2xvciAoZW5jb3JlKTpfXyBleWViYWxsZXIsIGZhdHRpcmUsIGtleW9kaSwga3J5bG9uMzYwLCBzbHVvIChOb29raWVEZXZzKQoqIF9fR29vZ2xlIEdhbGF4eSBOZXh1czpfXyAsIGJla2l0LCBCdW1ibGUtQmVlLCBidXJuc3JhLCBLYWxpbW9jaG9Beiwgc29tZXRoaW5nMTU1MjUKKiBfX0dvb2dsZSBOZXh1cyBTOl9fIGJ1cm5zcmEsIEthbGltb2Nob0F6CiogX19Hb29nbGUgTmV4dXMgNDpfXyBybWNjCiogX19Hb29nbGUgTmV4dXMgNzpfXyBidXJuc3JhLCBmYXR0aXJlLCBuZW1pdGggKEdTTSkKKiBfX0dvb2dsZSBOZXh1cyAxMDpfXyBhdGlubSwgZGFsaW5ncmluLCBrb3JueW9uZSwgZ3dlZWRvNzY3CiogX19IVEMgRHJvaWQgRE5BOl9fIGludmlzaWJsZWsKKiBfX0hUQyBEcm9pZCBJbmNyZWRpYmxlIDRHIExURTpfXyBpbnRlcnZpZ2lsLCBtZG1vd2VyCiogX19IVEMgRXZvIDRHIExURTpfXyBrdXNoZGVjaywgdG9hc3RjZmgKKiBfX0hUQyBPbmUgKEdTTSk6X18gY29kZXdvcmt4LCBoOHJpZnQKKiBfX0hUQyBPbmUgKFNwcmludCk6X18ga3VzaGRlY2ssIHRvYXN0Y2ZoCiogX19IVEMgT25lIChWZXJpem9uKTpfXyBmbHloYWxmMjA1CiogX19IVEMgT25lIFM6X18gaW50ZXJ2aWdpbCwgeGtvbm5pCiogX19IVEMgT25lIFg6X18gZ29yYmkxNiwgbWRlZWpheSwgdGJhbGRlbiwgVGj2bXkKKiBfX0hUQyBPbmUgWCs6X18gTGxvaXIsIHRvbWJyaWRlbgoqIF9fSFRDIE9uZSBYTDpfXyBoOHJpZnQsIGludGVydmlnaWwKKiBfX0xHIE9wdGltdXMgTFRFIChQOTMwKSAvIExHIE5pdHJvIEhEIHtQOTM1KTpfXyBhcmNlZQoqIF9fTEcgT3B0aW11cyBMVEUgKFNLIFRlbGVjb20pIChTVTY0MCk6X18gYXJjZWUKKiBfX01vdG9yb2xhIEF0cml4IEhEIChNQjg4Ni9xaW5hcmEpOl9fIGVwaW50ZXIsIGRoYWNrZXIyOSwgSGFzaGNvZGUsIFNrcmlsYXhfQ1osIG5hZGxhYmFrCiogX19Nb3Rvcm9sYSBEcm9pZCAzIChzb2xhbmEpOl9fIEhhc2hjb2RlLCBkaGFja2VyMjkKKiBfX01vdG9yb2xhIERyb2lkIDQgKG1hc2VyYXRpKTpfXyBIYXNoY29kZSwgZGhhY2tlcjI5CiogX19Nb3Rvcm9sYSBEcm9pZCBCaW9uaWMgKHRhcmdhKTpfXyBkaGFja2VyMjksIEhhc2hjb2RlCiogX19Nb3Rvcm9sYSBEcm9pZCBSQVpSL1JBWlIgTWF4eCAoc3B5ZGVyKSAoQ0RNQSk6X18gZGhhY2tlcjI5LCBIYXNoY29kZQoqIF9fTW90b3JvbGEgRHJvaWQgUkFaUiBIRC9IRCBNYXh4ICh4dDkyNi92YW5xdWlzaCkgKENETUEpOl9fIEhhc2hjb2RlLCAgZGhhY2tlcjI5LCBlcGludGVyLCBTa3JpbGF4X0NaLCBuYWRsYWJhawoqIF9fTW90b3JvbGEgRHJvaWQgUkFaUiBNICh4dDkwNy9zY29ycGlvbl9taW5pKTpfXyBkaGFja2VyMjksIEhhc2hjb2RlLCBlcGludGVyLCBTa3JpbGF4X0NaLCBuYWRsYWJhawoqIF9fTW90b3JvbGEgUGhvdG9uIFEgKHh0ODk3L2FzYW50aSkgKEdTTSk6X18gU2tyaWxheF9DWiwgbmFkbGFiYWssIGVwaW50ZXIsIGRoYWNrZXIyOSwgSGFzaGNvZGUKKiBfX01vdG9yb2xhIFBob3RvbiBRICh4dDg5N2MvYXNhbnRpX2MpIChDRE1BKTpfXyBuYWRsYWJhaywgU2tyaWxheF9DWiwgZXBpbnRlciwgZGhhY2tlcjI5LCBIYXNoY29kZQoqIF9fTW90b3JvbGEgUkFaUi9SQVpSIE1heHggKHVtdHNfc3B5ZGVyKSAoR1NNKTpfXyBkaGFja2VyMjksIEhhc2hjb2RlCiogX19Nb3Rvcm9sYSBSQVpSIEhEKHh0OTI1L3ZhbnF1aXNoKSAoR1NNKTpfXyBlcGludGVyLCBkaGFja2VyMjksIEhhc2hjb2RlLCBTa3JpbGF4X0NaLCBuYWRsYWJhawoqIF9fTW90b3JvbGEgWG9vbSAoV2lGaSk6X18gYmF6YXIsIFN0ZWFkeUhhd2tpbiwgVERSIChUZWFtIFJvZ3VlKQoqIF9fTW90b3JvbGEgWG9vbSAzRyAoVU1UUyk6X18gYmF6YXIsIFN0ZWFkeUhhd2tpbiwgVERSIChUZWFtIFJvZ3VlKQoqIF9fTW90b3JvbGEgWG9vbSA0RyBMVEUgKFZlcml6b24pOl9fIGJhemFyLCBTdGVhZHlIYXdraW4sIFREUiAoVGVhbSBSb2d1ZSkKKiBfX1NhbXN1bmcgQ2FwdGl2YXRlIChTR0gtSTg5NiAvIFNHSC1JODk3KTpfXyBwYXdpdHAKKiBfX1NhbXN1bmcgRXBpYyA0RyAoU1BILUQ3MDApOl9fIGJiZWxvcwoqIF9fU2Ftc3VuZyBFeGhpbGFyYXRlIChTR0gtSTU3Nyk6X18gbWlrZXltYW43NywgY2FydnNkcml2ZXIKKiBfX1NhbXN1bmcgRmFzY2luYXRlIC8gTWVzbWVyaXplIChTQ0gtSTUwMCk6X18ganQxMTM0LCBzYnJpc3NlbgoqIF9fU2Ftc3VuZyBHYWxheHkgTm90ZSAoR1QtTjcwMDApOl9fIEVudHJvcHk1MTIsIEVzcGVuZmpvCiogX19TYW1zdW5nIEdhbGF4eSBOb3RlIElJIChHVC1ONzEwMCk6X18gbmVia2F0CiogX19TYW1zdW5nIEdhbGF4eSBOb3RlIElJIExURSAoR1QtTjcxMDUpOl9fIGNvZGV3b3JreAoqIF9fU2Ftc3VuZyBHYWxheHkgTm90ZSBJSSBMVEUgKEFUJlQpIChTR0gtSTMxNyk6X18gY29kZXdvcmt4LCBjeWFub2dlbgoqIF9fU2Ftc3VuZyBHYWxheHkgTm90ZSBJSSBMVEUgKFQtTW9iaWxlKSAoU0dILVQ4ODkpOl9fIGNvZGV3b3JreAoqIF9fU2Ftc3VuZyBHYWxheHkgTm90ZSBJSSBMVEUgKFZlcml6b24pIChTQ0gtSTYwNSk6X18gc2JyaXNzZW4KKiBfX1NhbXN1bmcgR2FsYXh5IE5vdGUgSUkgTFRFIChTcHJpbnQpIChTUEgtTDkwMCk6X18gc2JyaXNzZW4KKiBfX1NhbXN1bmcgR2FsYXh5IE5vdGUgSUkgTFRFIChVU0NDKSAoU0NILVI5NTApOl9fIHNicmlzc2VuCiogX19TYW1zdW5nIEdhbGF4eSBOb3RlIDEwLjEgKEdULU44MFhYKTpfXyBFbnRyb3B5NTEyLCBFc3BlbmZqbwoqIF9fU2Ftc3VuZyBHYWxheHkgTm90ZSAxMC4xIExURSAoVmVyaXpvbikgKFNDSC1JOTI1KTpfXyBzYnJpc3NlbgoqIF9fU2Ftc3VuZyBHYWxheHkgUiAoR1QtSTkxMDMpOl9fIEFkYW03N1Jvb3QsIEVwc3lsb24zCiogX19TYW1zdW5nIEdhbGF4eSBTIEJsYXplIDRHIChTR0gtVDc2OSk6X18gVWJlclBpbmd1aW4KKiBfX1NhbXN1bmcgR2FsYXh5IFMgKEdULUk5MDAwKTpfXyBwYXdpdHAKKiBfX1NhbXN1bmcgR2FsYXh5IFMgKEdULUk5MDAwQik6X18gaGVsdmlvODgKKiBfX1NhbXN1bmcgR2FsYXh5IFMgSUkgKFQtTW9iaWxlKSAoU0dILVQ5ODkpOl9fIG1pa2V5bWFuNzcKKiBfX1NhbXN1bmcgR2FsYXh5IFMgSUkgKEFUJlQpIChTR0gtSTcyNyk6X18gdG9wcHJvc3BlY3QKKiBfX1NhbXN1bmcgR2FsYXh5IFMgSUkgKEFUJlQpIChTR0gtSTc3Nyk6X18gRW50cm9weTUxMgoqIF9fU2Ftc3VuZyBHYWxheHkgUyBJSSAoaW50bCkgKEdULUk5MTAwKTpfXyBjb2Rld29ya3gsIEVzcGVuZmpvCiogX19TYW1zdW5nIEdhbGF4eSBTIElJIChpbnRsKSAoR1QtSTkxMDBHKTpfXyBjb2Rld29ya3gKKiBfX1NhbXN1bmcgR2FsYXh5IFMgSUlJIChBVCZUKSAoU0dILUk3NDcpOl9fIGN5YW5vZ2VuCiogX19TYW1zdW5nIEdhbGF4eSBTIElJSSAoQ3JpY2tldCkgKFNDSC1SNTMwKTpfXyBub29ibmwKKiBfX1NhbXN1bmcgR2FsYXh5IFMgSUlJIChpbnRsKSAoR1QtSTkzMDApOl9fIHhwbG9kd2lsZCwgY29kZXdvcmt4CiogX19TYW1zdW5nIEdhbGF4eSBTIElJSSBMVEUgKEdULUk5MzA1KTpfXyBtY2FtcGJlbGxzbWl0aCwgY29kZXdvcmt4CiogX19TYW1zdW5nIEdhbGF4eSBTIElJSSAoTWV0cm9QQ1MpIChTQ0gtUjUzMCk6X18gbm9vYm5sCiogX19TYW1zdW5nIEdhbGF4eSBTIElJSSAoU3ByaW50KSAoU1BILUw3MTApOl9fIG1rYXNpY2ssIG5vb2JubAoqIF9fU2Ftc3VuZyBHYWxheHkgUyBJSUkgKFQtTW9iaWxlKSAoU0dILVQ5OTkpOl9fIGN5YW5vZ2VuCiogX19TYW1zdW5nIEdhbGF4eSBTIElJSSAoVVMgQ2VsbHVsYXIpIChTQ0gtUjUzMCk6X18gbm9vYm5sCiogX19TYW1zdW5nIEdhbGF4eSBTIElJSSAoVmVyaXpvbikgKFNDSC1JNTM1KTpfXyBpbnZpc2libGVrCiogX19TYW1zdW5nIEdhbGF4eSBTIElWIChBVCZUKSAoU0dILUkzMzcpOl9fIGF0dG4xCiogX19TYW1zdW5nIEdhbGF4eSBTIElWIChDYW5hZGEpIChTR0gtSTMzN00pOl9fIER2VG9uZGVyCiogX19TYW1zdW5nIEdhbGF4eSBTIElWIExURSAoR1QtSTk1MDUpOl9fIGludmlzaWJsZWssIG5vb2JubAoqIF9fU2Ftc3VuZyBHYWxheHkgUyBJViAoU3ByaW50KSAoU1BILUw3MjApOl9fIG1rYXNpY2ssIG5vb2JubAoqIF9fU2Ftc3VuZyBHYWxheHkgUyBJViAoVC1Nb2JpbGUpIChTR0gtTTkxOSk6X18gY3lhbm9nZW4KKiBfX1NhbXN1bmcgR2FsYXh5IFMgSVYgKFVTIENlbGx1bGFyKSAoU0NILVI1NDApOl9fIG5vb2JubAoqIF9fU2Ftc3VuZyBHYWxheHkgUyBJViAoVmVyaXpvbikgKFNDSC1JNTQ1KTpfXyBpbnZpc2libGVrCiogX19TYW1zdW5nIEdhbGF4eSBUYWIgNyIgKEdTTSk6X18gY2Rlc2FpLCBodW1iZXJvcwoqIF9fU2Ftc3VuZyBHYWxheHkgVGFiIDciIChDRE1BKTpfXyBqdDExMzQKKiBfX1NhbXN1bmcgR2FsYXh5IFRhYiAyIDciIChHVC1QMzF4eCk6X18gY29kZXdvcmt4CiogX19TYW1zdW5nIEdhbGF4eSBUYWIgMiAxMC4xIiAoR1QtUDUxeHgpOl9fIGNvZGV3b3JreAoqIF9fU2Ftc3VuZyBWaWJyYW50IChTR0gtVDk1OSk6X18gRmF1bHRFeGNlcHRpb24KKiBfX1NvbnkgWHBlcmlhIFNQIChodWFzaGFuKTpfXyBqZXJwZWxlYSwgS2FsaS0gKEZyZWVYcGVyaWEgdGVhbSksIGFkZmFkNjY2LCB1YmVybGFnZ3lkYXJ3aW4KKiBfX1NvbnkgWHBlcmlhIFQgKG1pbnQpOl9fIGplcnBlbGVhLCBLYWxpLSAoRnJlZVhwZXJpYSB0ZWFtKSwgY29kZXdvcmt4LCBjZGVzYWksIHRpbGFsNjk5MQoqIF9fU29ueSBYcGVyaWEgViAodHN1YmFzYSk6X18gamVycGVsZWEsIEthbGktIChGcmVlWHBlcmlhIHRlYW0pLCBjb2Rld29ya3gsIHRpbGFsNjk5MSwgY2hhbXBpb25zd2ltbWVyCiogX19Tb255IFhwZXJpYSBaICh5dWdhKTpfXyBqZXJwZWxlYSwgS2FsaS0gKEZyZWVYcGVyaWEgdGVhbSksIGNkZXNhaSwgY29kZXdvcmt4LCBFbnRyb3B5NTEyLCBjaGFtcGlvbnN3aW1tZXIKKiBfX1NvbnkgWHBlcmlhIFpMIChvZGluKTpfXyBqZXJwZWxlYSwgS2FsaS0gKEZyZWVYcGVyaWEgdGVhbSksIGNoYW1waW9uc3dpbW1lcgoqIF9fU29ueSBYcGVyaWEgWlIgKGRvZ28pOl9fIGplcnBlbGVhLCBLYWxpLSAoRnJlZVhwZXJpYSB0ZWFtKQoqIF9fU29ueSBYcGVyaWEgVGFibGV0IFogTFRFIChwb2xsdXgpOl9fIGplcnBlbGVhLCBLYWxpLSAoRnJlZVhwZXJpYSB0ZWFtKSwgY29kZXdvcmt4CiogX19Tb255IFhwZXJpYSBUYWJsZXQgWiBXaWZpIChwb2xsdXhfd2luZHkpOl9fIGplcnBlbGVhLCBLYWxpLSAoRnJlZVhwZXJpYSB0ZWFtKSwgQnVtYmxlLUJlZSwgRW50cm9weTUxMgoqIF9fU29ueSBYcGVyaWEgWiBVbHRyYSAodG9nYXJpKTpfXyBqZXJwZWxlYSwgS2FsaS0gKEZyZWVYcGVyaWEgdGVhbSkKKiBfX1NvbnkgWHBlcmlhIFoxIChob25hbWkpOl9fIGplcnBlbGVhLCBLYWxpLSAoRnJlZVhwZXJpYSB0ZWFtKQoKCkdlbmVyYWwgZGV2ZWxvcGVyczoKLS0tLS0tLS0tLS0tLS0tLS0tLQoqIF9fVUkgVGVhbTpfXyBibHVuZGVuLCBwcmFzaAoqIF9fVVggVGVhbTpfXyBibHVuZGVuLCBjaXdybCwgZGFuZXNobSwgRHZUb25kZXIsIG1hZC1tdXJkb2NrLCBtYW5pYWMxMDMsIEthaWs1NDEKKiBfX090aGVyOl9fIGpydWVzZ2EKClRyYW5zbGF0b3JzOgotLS0tLS0tLS0tLS0KKiBfX0FmcmlrYWFuczpfXyBDb3JyaWUgTWV5ZXIsIERhdmlkIHZhbiBUb25kZXIKKiBfX0NhdGFsYW46X18gQXJuYXUgTGxvdmV0IFZpZGFsCiogX19DaGluZXNlIChTaW1wbGlmaWVkKTpfXyBBbmRyZXcgSmlhbmcsIEpvaG4gSHNpbmcsIEVuZ2xlIE1hcnMKKiBfX0NoaW5lc2UgKFRyYWRpdGlvbmFsKTpfXyBMaSBDaGkgVHVuZywgRnUtQ2h1biBIc3UKKiBfX0N6ZWNoOl9fIE9uZHJlaiBaaW1hLCBSYWRvdmFuIEtlcGFrLCBQYXZlbCBLdWNlcmEsIEpvemthIEpvemluLCBKaXJpIFNpbHZhcmljaCwgVmFjbGF2IE1vdWNoYQoqIF9fRGFuaXNoOl9fIEphY29iIE92ZXJnYWFyZCBNYWRzZW4sIE1vcnRlbiBK+HJnZW5zZW4sIEhlbm5pbmcgTmllbHNlbiBMdW5kLCBNaWthZWwgSmVwc2VuCiogX19EdXRjaDpfXyBNYXJjbyBCcm9oZXQsIEthc3BlciBIZXR0aW5nYSwgRWRkeSBXaXRrYW1wCiogX19GaW5uaXNoOl9fIE5pa28gS29pdnUKKiBfX0ZyZW5jaDpfXyBEZWxwaGluIFBFVEVSLCBFcmljIE1vdXJvdWdhbmR5LCBM6W8gQ29sb21iYXJvLCBGbG9yZW50IEltZmxvZmxvLCBUYW5ndXkgUHJ1dm90LCBNYXR0aGlhcyBCb3NjCiogX19HZXJtYW46X18gS2ltIEzqLCBKYWNvYiBN/GxsZXIsIENocmlzdG9waCBRdWl0ZXIsIE1hcmt1cyBIb2ViZXIsIERhbm55IEJhdW1hbm4KKiBfX0dyZWVrOl9fIE1pY2hhZWwgQmVzdGFzLCBWYXNpbGlzIEFrcml0YXMKKiBfX0h1bmdhcmlhbjpfXyBUYW3hcyBU83RoLCBE4XZpZCBM4XN6bPMsIEThbmllbCBCdWdhCiogX19JdGFsaWFuOl9fIEZyYW5jZXNjbyBGb3Jlc3RhLCBNYXVybyBCYXp6YW5vCiogX19KYXBhbmVzZTpfXyBUYWt1byBLaXRhbWUsIFRhaWNoaSBOaXNoaW11cmEKKiBfX05vcndlZ2lhbjpfXyBPZGluIFVnZWRhbCwgQXJuZSBDb3VjaGVyb24KKiBfX1BvbGlzaDpfXyBUb21hc3ogUG9waWVsYXJjenlrIGMucy4KKiBfX1BvcnR1Z3Vlc2UgKEJyYXppbGlhbik6X18gR3VzdGF2byBSb3NhLCBQZWRybyBDYXJuZWlybywgRW1lcnNvbiBQaW50ZXIKKiBfX1J1c3NpYW46X18gUGF2ZWwgVm9sa292LCBWbGFkaXNsYXYgS29sZG9ic2tpeSwgVmxhZGltaXIgQmVsa292CiogX19TbG92YWs6X18gRHVzYW4gS2F6aWsKKiBfX1NwYW5pc2g6X18gSm9yZ2UgUnVlc2dhLCBMb3JlbnpvIE0uIENhc3Rh8W8KKiBfX1N3ZWRpc2g6X18gU2ltb24gQuRjaywgVGVkIEx1bmR3YWxsLCBFc2EgTGF1a2thbmVuLCBCavZybiBMdW5k6W4K