Sorting algorithms (elementary), Java implementation

Sorting algorithms (elementary), Java implementation

rethink about sorting

                        PHA+U29ydGluZyBwbGF5cyBhIG1ham9yIHJvbGUgaW4gY29tbWVyY2lhbCBkYXRhIHByb2Nlc3NpbmcgYW5kIGluIG1vZGVybiBzY2llbnRpZmljIGNvbXB1dGluZy4gSGVyZSwgd2UgY29uc2lkZXIgc2V2ZXJhbCBjbGFzc2ljYWwgc29ydGluZyBtZXRob2RzLjwvcD4KCjxoMiBpZD0ic2VsZWN0aW9uLXNvcnQiPlNlbGVjdGlvbiBzb3J0PC9oMj4KCjxwPk9uZSBvZiB0aGUgc2ltcGxlc3Qgc29ydGluZyBhbGdvcml0aG1zIHdvcmtzIGFzIGZvbGxvd3M6IEZpcnN0LCBmaW5kIHRoZSBzbWFsbGVzdCBpdGVtIGluIHRoZSBhcnJheSBhbmQgZXhjaGFuZ2UgaXQgd2l0aCB0aGUgZmlyc3QgZW50cnkgKGl0c2VsZiBpZiB0aGUgZmlyc3QgZW50cnkgaXMgYWxyZWFkeSB0aGUgc21hbGxlc3QpLiBUaGVuIGZpbmQgdGhlIG5leHQgc21hbGxlc3QgaXRlbSBhbmQgZXhjaGFuZ2UgaXQgd2l0aCB0aGUgc2Vjb25kIGVudHJ5LiBDb250aW51ZSBpbiB0aGlzIHdheSB1bnRpbCB0aGUgZW50aXJlIGFycmF5IGlzIHNvcnRlZC48L3A+Cgo8ZGl2IGNsYXNzPSJsYW5ndWFnZS1qYXZhIGhpZ2hsaWdodGVyLXJvdWdlIj48ZGl2IGNsYXNzPSJoaWdobGlnaHQiPjxwcmUgY2xhc3M9ImhpZ2hsaWdodCI+PGNvZGU+PHNwYW4gY2xhc3M9ImtkIj5wdWJsaWM8L3NwYW4+IDxzcGFuIGNsYXNzPSJrZCI+Y2xhc3M8L3NwYW4+IDxzcGFuIGNsYXNzPSJuYyI+U2VsZWN0aW9uPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+ezwvc3Bhbj4KICAgIDxzcGFuIGNsYXNzPSJrZCI+cHVibGljPC9zcGFuPiA8c3BhbiBjbGFzcz0ia2QiPnN0YXRpYzwvc3Bhbj4gPHNwYW4gY2xhc3M9Imt0Ij52b2lkPC9zcGFuPiA8c3BhbiBjbGFzcz0ibmYiPnNvcnQ8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPig8L3NwYW4+PHNwYW4gY2xhc3M9Im5jIj5Db21wYXJhYmxlPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj5bXTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPmE8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj57PC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJjMSI+Ly8gU29ydCBhW10gaW50byBpbmNyZWFzaW5nIG9yZGVyLjwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0ia3QiPmludDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5vIj5OPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPmE8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPi48L3NwYW4+PHNwYW4gY2xhc3M9Im5hIj5sZW5ndGg8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPjs8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmZvcjwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPig8L3NwYW4+PHNwYW4gY2xhc3M9Imt0Ij5pbnQ8L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5pPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im1pIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj47PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+aTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPiZsdDs8L3NwYW4+IDxzcGFuIGNsYXNzPSJubyI+Tjwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPmk8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPisrKTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPns8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjMSI+Ly8gRXhjaGFuZ2UgYVtpXSB3aXRoIHNtYWxsZXN0IGVudHJ5IGluIGFbaSsxLi4uTl08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrdCI+aW50PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+bWluPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPmk8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPjs8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrIj5mb3I8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJrdCI+aW50PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+ajwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5pPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4rPC9zcGFuPjxzcGFuIGNsYXNzPSJtaSI+MTwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPmo8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj4mbHQ7PC9zcGFuPiA8c3BhbiBjbGFzcz0ibm8iPk48L3NwYW4+PHNwYW4gY2xhc3M9Im8iPjs8L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5qPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4rKyk8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj57PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmlmPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ibiI+bGVzczwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ibiI+YTwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0ibiI+ajwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+XSw8L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5hPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJuIj5taW48L3NwYW4+PHNwYW4gY2xhc3M9Im8iPl0pKTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPm1pbjwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5qPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj47PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibyI+fTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im4iPmV4Y2g8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPig8L3NwYW4+PHNwYW4gY2xhc3M9Im4iPmE8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5pPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+bWluPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4pOzwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0ibyI+fTwvc3Bhbj4KICAgIDxzcGFuIGNsYXNzPSJvIj59PC9zcGFuPgoKICAgIDxzcGFuIGNsYXNzPSJrZCI+cHJpdmF0ZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImtkIj5zdGF0aWM8L3NwYW4+IDxzcGFuIGNsYXNzPSJrdCI+Ym9vbGVhbjwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5mIj5sZXNzPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJuYyI+Q29tcGFyYWJsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPnY8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJuYyI+Q29tcGFyYWJsZTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPnc8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPik8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj57PC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJrIj5yZXR1cm48L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj52PC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4uPC9zcGFuPjxzcGFuIGNsYXNzPSJuYSI+Y29tcGFyZVRvPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJuIj53PC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+Jmx0Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9Im1pIj4wPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj47PC9zcGFuPgogICAgPHNwYW4gY2xhc3M9Im8iPn08L3NwYW4+CgogICAgPHNwYW4gY2xhc3M9ImtkIj5wcml2YXRlPC9zcGFuPiA8c3BhbiBjbGFzcz0ia2QiPnN0YXRpYzwvc3Bhbj4gPHNwYW4gY2xhc3M9Imt0Ij52b2lkPC9zcGFuPiA8c3BhbiBjbGFzcz0ibmYiPmV4Y2g8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPig8L3NwYW4+PHNwYW4gY2xhc3M9Im5jIj5Db21wYXJhYmxlPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj5bXTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPmE8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJrdCI+aW50PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+aTwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9Imt0Ij5pbnQ8L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5qPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+ezwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0ibmMiPkNvbXBhcmFibGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj50PC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPmE8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPls8L3NwYW4+PHNwYW4gY2xhc3M9Im4iPmk8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPl07PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+YTwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0ibiI+aTwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+XTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5hPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJuIj5qPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj5dOzwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPmE8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPls8L3NwYW4+PHNwYW4gY2xhc3M9Im4iPmo8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPl08L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+dDwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Ozwvc3Bhbj4KICAgIDxzcGFuIGNsYXNzPSJvIj59PC9zcGFuPgo8c3BhbiBjbGFzcz0ibyI+fTwvc3Bhbj4KPC9jb2RlPjwvcHJlPjwvZGl2PjwvZGl2PgoKPHA+Rm9yIGVhY2ggPGNvZGUgY2xhc3M9Imxhbmd1YWdlLWphdmFzY3JpcHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxzcGFuIGNsYXNzPSJueCI+aTwvc3Bhbj48L2NvZGU+LCB0aGlzIGltcGxlbWVudGF0aW9uIHB1dHMgdGhlIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0ibngiPmk8L3NwYW4+PC9jb2RlPnRoIHNtYWxsZXN0IGl0ZW0gaW4gPGNvZGUgY2xhc3M9Imxhbmd1YWdlLWphdmFzY3JpcHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxzcGFuIGNsYXNzPSJueCI+YTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0ibngiPmk8L3NwYW4+PHNwYW4gY2xhc3M9InAiPl08L3NwYW4+PC9jb2RlPi4gVGhlIGVudHJpZXMgdG8gdGhlIGxlZnQgb2YgcG9zaXRpb24gPGNvZGUgY2xhc3M9Imxhbmd1YWdlLWphdmFzY3JpcHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxzcGFuIGNsYXNzPSJueCI+aTwvc3Bhbj48L2NvZGU+IGFyZSB0aGUgPGNvZGUgY2xhc3M9Imxhbmd1YWdlLWphdmFzY3JpcHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxzcGFuIGNsYXNzPSJueCI+aTwvc3Bhbj48L2NvZGU+IHNtYWxsZXN0IGl0ZW1zIGluIHRoZSBhcnJheSBhbmQgYXJlIG5vdCBleGFtaW5lZCBhZ2Fpbi48L3A+Cgo8cD48aW1nIHNyYz0iL2Fzc2V0cy9pbWcvcGxhY2Vob2xkZXIuc3ZnIiBhbHQ9InRyYWNlIG9mIHNlbGVjdGlvbiBzb3J0IiBkYXRhLXNyYz0iaHR0cHM6Ly9jZG4uZnJhbmtpbmRldi5jb20vaW1hZ2UvdXBsb2FkL2ZfYXV0byxkcHJfYXV0byx3X2F1dG8vdjE2MjE3NTc3MjAvY2xkL3RyYWNlX29mX3NlbGVjdGlvbl9zb3J0LnBuZyI+PC9wPgoKPGgyIGlkPSJpbnNlcnRpb24tc29ydCI+SW5zZXJ0aW9uIHNvcnQ8L2gyPgoKPHA+Rm9yIGluc2VydGlvbiBzb3J0IGluIGEgY29tcHV0ZXIgaW1wbGVtZW50YXRpb24sIHdlIG5lZWQgdG8gbWFrZSBzcGFjZSB0byBpbnNlcnQgdGhlIGN1cnJlbnQgaXRlbSBieSBtb3ZpbmcgbGFyZ2VyIGl0ZW1zIG9uZSBwb3NpdGlvbiB0byB0aGUgcmlnaHQsIGJlZm9yZSBpbnNlcnRpbmcgdGhlIGN1cnJlbnQgaXRlbSBpbnRvIHRoZSB2YWNhdGVkIHBvc2l0aW9uLjwvcD4KCjxwPlRoZSBpdGVtcyB0byB0aGUgbGVmdCBvZiB0aGUgY3VycmVudCBpbmRleCBhcmUgaW4gc29ydGVkIG9yZGVyIGR1cmluZyB0aGUgc29ydCwgYnV0IHRoZXkgYXJlIG5vdCBpbiB0aGVpciBmaW5hbCBwb3NpdGlvbiwgYXMgdGhleSBtYXkgaGF2ZSB0byBiZSBtb3ZlZCB0byBtYWtlIHJvb20gZm9yIHNtYWxsZXIgaXRlbXMgZW5jb3VudGVyZWQgbGF0ZXIuIFRoZSBhcnJheSBpcywgaG93ZXZlciwgZnVsbHkgc29ydGVkIHdoZW4gdGhlIGluZGV4IHJlYWNoZXMgdGhlIHJpZ2h0IGVuZC4gVGhlIHJ1bm5pbmcgdGltZSBvZiBpbnNlcnRpb24gc29ydCBkZXBlbmRzIG9uIHRoZSBpbml0aWFsIG9yZGVyIG9mIHRoZSBpdGVtcyBpbiB0aGUgaW5wdXQuIEZvciBleGFtcGxlLCBpZiB0aGUgYXJyYXkgaWYgbGFyZ2UgYW5kIGl0cyBlbnRyaWVzIGFyZSBuZWFybHkgaW4gb3JkZXIsIHRoZW4gaW5zZXJ0aW9uIHNvcnQgaXMgbXVjaCwgbXVjaCBmYXN0ZXIgdGhhbiBpZiB0aGUgZW50cmllcyBhcmUgcmFuZG9tbHkgb3JkZXJlZCBvciBpbiByZXZlcnNlIG9yZGVyLjwvcD4KCjxkaXYgY2xhc3M9Imxhbmd1YWdlLWphdmEgaGlnaGxpZ2h0ZXItcm91Z2UiPjxkaXYgY2xhc3M9ImhpZ2hsaWdodCI+PHByZSBjbGFzcz0iaGlnaGxpZ2h0Ij48Y29kZT48c3BhbiBjbGFzcz0ia2QiPnB1YmxpYzwvc3Bhbj4gPHNwYW4gY2xhc3M9ImtkIj5jbGFzczwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5jIj5JbnNlcnRpb248L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj57PC9zcGFuPgogICAgPHNwYW4gY2xhc3M9ImtkIj5wdWJsaWM8L3NwYW4+IDxzcGFuIGNsYXNzPSJrZCI+c3RhdGljPC9zcGFuPiA8c3BhbiBjbGFzcz0ia3QiPnZvaWQ8L3NwYW4+IDxzcGFuIGNsYXNzPSJuZiI+c29ydDwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ibmMiPkNvbXBhcmFibGU8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPltdPC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+YTwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPns8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImMxIj4vLyBTb3J0IGFbXSBpbnRvIGluY3JlYXNpbmcgb3JkZXIuPC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJrdCI+aW50PC9zcGFuPiA8c3BhbiBjbGFzcz0ibm8iPk48L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+YTwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Ljwvc3Bhbj48c3BhbiBjbGFzcz0ibmEiPmxlbmd0aDwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Ozwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iayI+Zm9yPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ia3QiPmludDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPmk8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0ibWkiPjE8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPjs8L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5pPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+Jmx0Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5vIj5OPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj47PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+aTwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+KyspPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+ezwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImMxIj4vLyBJbnNlcnQgYVtpXSBhbW9uZyBhW2ktMV0sIGFbaS0yXSwgYVtpLTNdLi4uPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+Zm9yPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ia3QiPmludDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPmo8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+aTwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPmo8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj4mZ3Q7PC9zcGFuPiA8c3BhbiBjbGFzcz0ibWkiPjA8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj4mYW1wOyZhbXA7PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+bGVzczwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ibiI+YTwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0ibiI+ajwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+XSw8L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5hPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJuIj5qPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4tPC9zcGFuPjxzcGFuIGNsYXNzPSJtaSI+MTwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+XSk7PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+ajwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+LS0pPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+ezwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJuIj5leGNoPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJuIj5hPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+ajwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPmo8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPi08L3NwYW4+PHNwYW4gY2xhc3M9Im1pIj4xPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4pOzwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im8iPn08L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9Im8iPn08L3NwYW4+CiAgICA8c3BhbiBjbGFzcz0ibyI+fTwvc3Bhbj4KCiAgICA8c3BhbiBjbGFzcz0ia2QiPnByaXZhdGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJrZCI+c3RhdGljPC9zcGFuPiA8c3BhbiBjbGFzcz0ia3QiPmJvb2xlYW48L3NwYW4+IDxzcGFuIGNsYXNzPSJuZiI+bGVzczwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ibmMiPkNvbXBhcmFibGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj52PC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0ibmMiPkNvbXBhcmFibGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj53PC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+ezwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+djwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Ljwvc3Bhbj48c3BhbiBjbGFzcz0ibmEiPmNvbXBhcmVUbzwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ibiI+dzwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPiZsdDs8L3NwYW4+IDxzcGFuIGNsYXNzPSJtaSI+MDwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Ozwvc3Bhbj4KICAgIDxzcGFuIGNsYXNzPSJvIj59PC9zcGFuPgoKICAgIDxzcGFuIGNsYXNzPSJrZCI+cHJpdmF0ZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImtkIj5zdGF0aWM8L3NwYW4+IDxzcGFuIGNsYXNzPSJrdCI+dm9pZDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5mIj5leGNoPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJuYyI+Q29tcGFyYWJsZTwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+W108L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5hPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0ia3QiPmludDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPmk8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJrdCI+aW50PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+ajwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPns8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9Im5jIj5Db21wYXJhYmxlPC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+dDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5hPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJuIj5pPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj5dOzwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPmE8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPls8L3NwYW4+PHNwYW4gY2xhc3M9Im4iPmk8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPl08L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+YTwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0ibiI+ajwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+XTs8L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5hPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJuIj5qPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj5dPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPnQ8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPjs8L3NwYW4+CiAgICA8c3BhbiBjbGFzcz0ibyI+fTwvc3Bhbj4KPHNwYW4gY2xhc3M9Im8iPn08L3NwYW4+CjwvY29kZT48L3ByZT48L2Rpdj48L2Rpdj4KCjxwPkZvciBlYWNoIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0ibngiPmk8L3NwYW4+PC9jb2RlPiBmcm9tIDAgdG8gTi0xLCBleGNoYW5nZSA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtamF2YXNjcmlwdCBoaWdobGlnaHRlci1yb3VnZSI+PHNwYW4gY2xhc3M9Im54Ij5hPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJueCI+aTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+XTwvc3Bhbj48L2NvZGU+IHdpdGggdGhlIGVudHJpZXMgdGhhdCBhcmUgc21hbGxlciBpbiA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtamF2YXNjcmlwdCBoaWdobGlnaHRlci1yb3VnZSI+PHNwYW4gY2xhc3M9Im54Ij5hPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJtaSI+MDwvc3Bhbj48c3BhbiBjbGFzcz0icCI+XTwvc3Bhbj48L2NvZGU+IHRocm91Z2ggPGNvZGUgY2xhc3M9Imxhbmd1YWdlLWphdmFzY3JpcHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxzcGFuIGNsYXNzPSJueCI+YTwvc3Bhbj48c3BhbiBjbGFzcz0icCI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0ibngiPmk8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPi08L3NwYW4+PHNwYW4gY2xhc3M9Im1pIj4xPC9zcGFuPjxzcGFuIGNsYXNzPSJwIj5dPC9zcGFuPjwvY29kZT4uIEFzIHRoZSBpbmRleCA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtamF2YXNjcmlwdCBoaWdobGlnaHRlci1yb3VnZSI+PHNwYW4gY2xhc3M9Im54Ij5pPC9zcGFuPjwvY29kZT4gdHJhdmVscyBmcm9tIGxlZnQgdG8gcmlnaHQsIHRoZSBlbnRyaWVzIHRvIGl0cyBsZWZ0IGFyZSBpbiBzb3J0ZWQgb3JkZXIgaW4gdGhlIGFycmF5LCBzbyB0aGUgYXJyYXkgaXMgZnVsbHkgc29ydGVkIHdoZW4gPGNvZGUgY2xhc3M9Imxhbmd1YWdlLWphdmFzY3JpcHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxzcGFuIGNsYXNzPSJueCI+aTwvc3Bhbj48L2NvZGU+IHJlYWNoZXMgdGhlIHJpZ2h0IGVuZC48L3A+Cgo8cD48aW1nIHNyYz0iL2Fzc2V0cy9pbWcvcGxhY2Vob2xkZXIuc3ZnIiBhbHQ9InRyYWNlIG9mIGluc2VydGlvbiBzb3J0IiBkYXRhLXNyYz0iaHR0cHM6Ly9jZG4uZnJhbmtpbmRldi5jb20vaW1hZ2UvdXBsb2FkL2ZfYXV0byxkcHJfYXV0byx3X2F1dG8vdjE2MjE3NTc3NzYvY2xkL3RyYWNlX29mX2luc2VydGlvbl9zb3J0LnBuZyI+PC9wPgoKPHA+TW9yZSBnZW5lcmFsbHksIHdlIGNvbnNpZGVyIHRoZSBjb25jZXB0IG9mIGEgPGVtPnBhcnRpYWxseSBzb3J0ZWQ8L2VtPiBhcnJheSwgYXMgZm9sbG93czogQW4gPGVtPmludmVyc2lvbjwvZW0+IGlzIGEgcGFpciBvZiBlbnRyaWVzIHRoYXQgYXJlIG91dCBvZiBvcmRlciBpbiB0aGUgYXJyYXkuIEZvciBpbnN0YW5jZSwgPGNvZGUgY2xhc3M9Imxhbmd1YWdlLWphdmFzY3JpcHQgaGlnaGxpZ2h0ZXItcm91Z2UiPjxzcGFuIGNsYXNzPSJueCI+RTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im54Ij5BPC9zcGFuPiA8c3BhbiBjbGFzcz0ibngiPlg8L3NwYW4+IDxzcGFuIGNsYXNzPSJueCI+QTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im54Ij5NPC9zcGFuPiA8c3BhbiBjbGFzcz0ibngiPlA8L3NwYW4+IDxzcGFuIGNsYXNzPSJueCI+TDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im54Ij5FPC9zcGFuPjwvY29kZT4gaGFzIDExIGludmVyc2lvbnM6IDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0ibngiPkU8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPi08L3NwYW4+PHNwYW4gY2xhc3M9Im54Ij5BPC9zcGFuPjwvY29kZT4sIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0ibngiPlg8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPi08L3NwYW4+PHNwYW4gY2xhc3M9Im54Ij5BPC9zcGFuPjwvY29kZT4sIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0ibngiPlg8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPi08L3NwYW4+PHNwYW4gY2xhc3M9Im54Ij5NPC9zcGFuPjwvY29kZT4sIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0ibngiPlg8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPi08L3NwYW4+PHNwYW4gY2xhc3M9Im54Ij5QPC9zcGFuPjwvY29kZT4sIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0ibngiPlg8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPi08L3NwYW4+PHNwYW4gY2xhc3M9Im54Ij5MPC9zcGFuPjwvY29kZT4sIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0ibngiPlg8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPi08L3NwYW4+PHNwYW4gY2xhc3M9Im54Ij5FPC9zcGFuPjwvY29kZT4sIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0ibngiPk08L3NwYW4+PHNwYW4gY2xhc3M9Im8iPi08L3NwYW4+PHNwYW4gY2xhc3M9Im54Ij5MPC9zcGFuPjwvY29kZT4sIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0ibngiPk08L3NwYW4+PHNwYW4gY2xhc3M9Im8iPi08L3NwYW4+PHNwYW4gY2xhc3M9Im54Ij5FPC9zcGFuPjwvY29kZT4sIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0ibngiPlA8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPi08L3NwYW4+PHNwYW4gY2xhc3M9Im54Ij5MPC9zcGFuPjwvY29kZT4sIDxjb2RlIGNsYXNzPSJsYW5ndWFnZS1qYXZhc2NyaXB0IGhpZ2hsaWdodGVyLXJvdWdlIj48c3BhbiBjbGFzcz0ibngiPlA8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPi08L3NwYW4+PHNwYW4gY2xhc3M9Im54Ij5FPC9zcGFuPjwvY29kZT4sIGFuZCA8Y29kZSBjbGFzcz0ibGFuZ3VhZ2UtamF2YXNjcmlwdCBoaWdobGlnaHRlci1yb3VnZSI+PHNwYW4gY2xhc3M9Im54Ij5MPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4tPC9zcGFuPjxzcGFuIGNsYXNzPSJueCI+RTwvc3Bhbj48L2NvZGU+LiBJZiB0aGUgbnVtYmVyIG9mIGludmVyc2lvbnMgaW4gYW4gYXJyYXkgaXMgbGVzcyB0aGFuIGEgY29uc3RhbnQgbXVsdGlwbGUgb2YgcGFydGlhbGx5IHNvcnRlZCBhcnJheXMgYXJlIHRoZSBmb2xsb3dpbmc6PC9wPgoKPHVsPgogIDxsaT5BbiBhcnJheSB3aGVyZSBlYWNoIGVudHJ5IGlzIG5vdCBmYXIgZnJvbSBpdHMgZmluYWwgcG9zaXRpb24uPC9saT4KICA8bGk+QSBzbWFsbCBhcnJheSBhcHBlbmRlZCB0byBhIGxhcmdlIHNvcnRlZCBhcnJheS48L2xpPgogIDxsaT5BbiBhcnJheSB3aXRoIG9ubHkgYSBmZXcgZW50cmllcyB0aGF0IGFyZSBub3QgaW4gcGxhY2UuPC9saT4KPC91bD4KCjxwPkluc2VydGlvbiBzb3J0IGlzIGFuIGVmZmljaWVudCBtZXRob2QgZm9yIHN1Y2ggYXJyYXlzLiBJbmRlZWQsIHdoZW4gdGhlIG51bWJlciBvZiBpbnZlcnNpb25zIGlzIGxvdywgaW5zZXJ0aW9uIHNvcnQgaXMgbGlrZWx5IHRvIGJlIGZhc3RlciB0aGFuIGFueSBvdGhlciBzb3J0aW5nIG1ldGhvZCBpbiB0aGlzIHBvc3QuPC9wPgoKPGgyIGlkPSJzaGVsbHNvcnQiPlNoZWxsc29ydDwvaDI+Cgo8cD5UbyBleGhpYml0IHRoZSB2YWx1ZSBvZiBrbm93aW5nIHByb3BlcnRpZXMgb2YgZWxlbWVudGFyeSBzb3J0cywgd2UgbmV4dCBjb25zaWRlciBhIGZhc3QgYWxnb3JpdGhtIGJhc2VkIG9uIGluc2VydGlvbiBzb3J0LiBJbnNlcnRpb24gc29ydCBpcyBzbG93IGZvciBsYXJnZSB1bm9yZGVyZWQgYXJyYXlzIGJlY2F1c2UgdGhlIG9ubHkgZXhjaGFuZ2VzIGl0IGRvZXMgaW52b2x2ZSBhZGphY2VudCBlbnRyaWVzLCBzbyBpdGVtcyBjYW4gbW92ZSB0aHJvdWdoIHRoZSBhcnJheSBvbmx5IG9uZSBwbGFjZSBhdCBhIHRpbWUuIEZvciBleGFtcGxlLCBpZiB0aGUgaXRlbSB3aXRoIHRoZSBzbWFsbGVzdCBrZXkgaGFwcGVucyB0byBiZSBhdCB0aGUgZW5kIG9mIHRoZSBhcnJheSwgPGVtPk48L2VtPiAtIDEgZXhjaGFuZ2VzIGFyZSBuZWVkZWQgdG8gZ2V0IHRoYXQgb25lIGl0ZW0gd2hlcmUgaXQgYmVsb25ncy4gPGVtPlNoZWxsc29ydDwvZW0+IGlzIGEgc2ltcGxlIGV4dGVuc2lvbiBvZiBpbnNlcnRpb24gc29ydCB0aGF0IGdhaW5zIHNwZWVkIGJ5IGFsbG93aW5nIGV4Y2hhbmdlcyBvZiBhcnJheSBlbnRyaWVzIHRoYXQgYXJlIGZhciBhcGFydCwgdG8gcHJvZHVjZSBwYXJ0aWFsbHkgc29ydGVkIGFycmF5cyB0aGF0IGNhbiBiZSBlZmZpY2llbnRseSBzb3J0ZWQsIGV2ZW50dWFsbHkgYnkgaW5zZXJ0aW9uIHNvcnQuPC9wPgoKPHA+VGhlIGlkZWEgaXMgdG8gcmVhcnJhbmdlIHRoZSBhcnJheSB0byBnaXZlIGl0IHRoZSBwcm9wZXJ0eSB0aGF0IHRha2luZyBldmVyeSA8ZW0+aDwvZW0+dGggZW50cnkgKHN0YXJ0aW5nIGFueXdoZXJlKSB5aWVsZHMgYSBzb3J0ZWQgc3Vic2VxdWVuY2UuIFN1Y2ggYW4gYXJyYXkgaXMgc2FpZCB0byBiZSA8ZW0+aDwvZW0+LXNvcnRlZC4gUHV0IGFub3RoZXIgd2F5LCBhbiA8ZW0+aDwvZW0+LXNvcnRlZCBhcnJheSBpcyA8ZW0+aDwvZW0+IGluZGVwZW5kZW50IHNvcnRlZCBzdWJzZXF1ZW5jZXMsIGludGVybGVhdmVkIHRvZ2V0aGVyLiBCeSA8ZW0+aDwvZW0+LXNvcnRpbmcgZm9yIHNvbWUgbGFyZ2UgdmFsdWVzIG9mIDxlbT5oPC9lbT4sIHdlIGNhbiBtb3ZlIGl0ZW1zIGluIHRoZSBhcnJheSBsb25nIGRpc3RhbmNlcyBhbmQgdGh1cyBtYWtlIGl0IGVhc2llciB0byA8ZW0+aDwvZW0+LXNvcnQgZm9yIHNtYWxsZXIgdmFsdWVzIG9mIDxlbT5oPC9lbT4uIFVzaW5nIHN1Y2ggYSBwcm9jZWR1cmUgZm9yIGFueSBzZXF1ZW5jZSBvZiB2YWx1ZXMgb2YgPGVtPmg8L2VtPiB0aGF0IGVuZHMgaW4gMSB3aWxsIHByb2R1Y2UgYSBzb3J0ZWQgYXJyYXk6IHRoYXQgaXMgc2hlbGxzb3J0LjwvcD4KCjxwPjxpbWcgc3JjPSIvYXNzZXRzL2ltZy9wbGFjZWhvbGRlci5zdmciIGFsdD0iZXhhbXBsZSBvZiBoLXNvcnRlZCBzZXF1ZW5jZSIgZGF0YS1zcmM9Imh0dHBzOi8vY2RuLmZyYW5raW5kZXYuY29tL2ltYWdlL3VwbG9hZC9mX2F1dG8sZHByX2F1dG8sd19hdXRvL3YxNjIxNzU3ODM2L2NsZC9oX3NvcnRlZF9zZXF1ZW5jZS5wbmciPjwvcD4KCjxwPk9udyB3YXkgdG8gaW1wbGVtZW50IHNoZWxsc29ydCB3b3VsZCBiZSwgZm9yIGVhY2ggPGVtPmg8L2VtPiwgdG8gdXNlIGluc2VydGlvbiBzb3J0IGluZGVwZW5kZW50bHkgb24gZWFjaCBvZiB0aGUgPGVtPmg8L2VtPiBzdWJzZXF1ZW5jZXMuIEJlY2F1c2UgdGhlIHN1YnNlcXVlbmNlcyBhcmUgaW5kZXBlbmRlbnQsIHdlIGNhbiB1c2UgYW4gZXZlbiBzaW1wbGVyIGFwcHJvYWNoOiB3aGVuIDxlbT5oPC9lbT4tc29ydGluZyB0aGUgYXJyYXksIHdlIGluc2VydCBlYWNoIGl0ZW0gYW1vbmcgdGhlIHByZXZpb3VzIGl0ZW1zIGluIGl0cyA8ZW0+aDwvZW0+LXN1YnNlcXVlbmNlIGJ5IGV4Y2hhbmdpbmcgaXQgd2l0aCB0aG9zZSB0aGF0IGhhdmUgbGFyZ2VyIGtleXMgKG1vdmluZyB0aGVtIGVhY2ggb25lIHBvc2l0aW9uIHRvIHRoZSByaWdodCBpbiB0aGUgc3Vic2VxdWVuY2UpLiBXZSBhY2NvbXBsaXNoIHRoaXMgdGFzayBieSB1c2luZyB0aGUgaW5zZXJ0aW9uLXNvcnQgY29kZSwgYnV0IG1vZGlmaWVkIHJlZHVjZXMgdGhlIHNoZWxsc29ydCBpbXBsZW1lbnRhdGlvbiB0byBhbiBpbnNlcnRpb24tc29ydC1saWtlIHBhc3MgdGhyb3VnaCB0aGUgYXJyYXkgZm9yIGVhY2ggaW5jcmVtZW50LjwvcD4KCjxkaXYgY2xhc3M9Imxhbmd1YWdlLWphdmEgaGlnaGxpZ2h0ZXItcm91Z2UiPjxkaXYgY2xhc3M9ImhpZ2hsaWdodCI+PHByZSBjbGFzcz0iaGlnaGxpZ2h0Ij48Y29kZT48c3BhbiBjbGFzcz0ia2QiPnB1YmxpYzwvc3Bhbj4gPHNwYW4gY2xhc3M9ImtkIj5jbGFzczwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5jIj5TaGVsbDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPns8L3NwYW4+CiAgICA8c3BhbiBjbGFzcz0ia2QiPnB1YmxpYzwvc3Bhbj4gPHNwYW4gY2xhc3M9ImtkIj5zdGF0aWM8L3NwYW4+IDxzcGFuIGNsYXNzPSJrdCI+dm9pZDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5mIj5zb3J0PC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJuYyI+Q29tcGFyYWJsZTwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+W108L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5hPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+ezwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iYzEiPi8vIFNvcnQgYVtdIGludG8gaW5jcmVhc2luZyBvcmRlci48L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9Imt0Ij5pbnQ8L3NwYW4+IDxzcGFuIGNsYXNzPSJubyI+Tjwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5hPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4uPC9zcGFuPjxzcGFuIGNsYXNzPSJuYSI+bGVuZ3RoPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj47PC9zcGFuPgogICAgICAgIDxzcGFuIGNsYXNzPSJrdCI+aW50PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+aDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJtaSI+MTwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Ozwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iayI+d2hpbGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJuIj5oPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+Jmx0Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5vIj5OPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4vPC9zcGFuPjxzcGFuIGNsYXNzPSJtaSI+Mzwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPmg8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0ibWkiPjM8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPio8L3NwYW4+PHNwYW4gY2xhc3M9Im4iPmg8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj4rPC9zcGFuPiA8c3BhbiBjbGFzcz0ibWkiPjE8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPjs8L3NwYW4+IDxzcGFuIGNsYXNzPSJjMSI+Ly8gMSwgNCwgMTMsIDQwLCAxMjEsIC4uLjwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iayI+d2hpbGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJuIj5oPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+Jmd0Oz08L3NwYW4+IDxzcGFuIGNsYXNzPSJtaSI+MTwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPns8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjMSI+Ly8gaC1zb3J0IHRoZSBhcnJheTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImsiPmZvcjwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPig8L3NwYW4+PHNwYW4gY2xhc3M9Imt0Ij5pbnQ8L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5pPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPmg8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPjs8L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5pPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+Jmx0Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5vIj5OPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj47PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+aTwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+KyspPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+ezwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjMSI+Ly8gSW5zZXJ0IGFbaV0gYW1vbmcgYVtpLWhdLCBhW2ktMipoXSwgYVtpLTMqaF0uLi48L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iayI+Zm9yPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ia3QiPmludDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPmo8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+aTwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Ozwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPmo8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj4mZ3Q7PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPmg8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj4mYW1wOyZhbXA7PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+bGVzczwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ibiI+YTwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0ibiI+ajwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+XSw8L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5hPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJuIj5qPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4tPC9zcGFuPjxzcGFuIGNsYXNzPSJuIj5oPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj5dKTs8L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5qPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+LT08L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5oPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+ezwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibiI+ZXhjaDwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ibiI+YTwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+LDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPmo8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5qPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4tPC9zcGFuPjxzcGFuIGNsYXNzPSJuIj5oPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4pOzwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJvIj59PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibyI+fTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im4iPmg8L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+aDwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Lzwvc3Bhbj48c3BhbiBjbGFzcz0ibWkiPjM8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPjs8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9Im8iPn08L3NwYW4+CiAgICA8c3BhbiBjbGFzcz0ibyI+fTwvc3Bhbj4KCiAgICA8c3BhbiBjbGFzcz0ia2QiPnByaXZhdGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJrZCI+c3RhdGljPC9zcGFuPiA8c3BhbiBjbGFzcz0ia3QiPmJvb2xlYW48L3NwYW4+IDxzcGFuIGNsYXNzPSJuZiI+bGVzczwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ibmMiPkNvbXBhcmFibGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj52PC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0ibmMiPkNvbXBhcmFibGU8L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj53PC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4pPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+ezwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iayI+cmV0dXJuPC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+djwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Ljwvc3Bhbj48c3BhbiBjbGFzcz0ibmEiPmNvbXBhcmVUbzwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ibiI+dzwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPiZsdDs8L3NwYW4+IDxzcGFuIGNsYXNzPSJtaSI+MDwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Ozwvc3Bhbj4KICAgIDxzcGFuIGNsYXNzPSJvIj59PC9zcGFuPgoKICAgIDxzcGFuIGNsYXNzPSJrZCI+cHJpdmF0ZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImtkIj5zdGF0aWM8L3NwYW4+IDxzcGFuIGNsYXNzPSJrdCI+dm9pZDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im5mIj5leGNoPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJuYyI+Q29tcGFyYWJsZTwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+W108L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5hPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj4sPC9zcGFuPiA8c3BhbiBjbGFzcz0ia3QiPmludDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPmk8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPiw8L3NwYW4+IDxzcGFuIGNsYXNzPSJrdCI+aW50PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+ajwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+KTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPns8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9Im5jIj5Db21wYXJhYmxlPC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+dDwvc3Bhbj4gPHNwYW4gY2xhc3M9Im8iPj08L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5hPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJuIj5pPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj5dOzwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPmE8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPls8L3NwYW4+PHNwYW4gY2xhc3M9Im4iPmk8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPl08L3NwYW4+IDxzcGFuIGNsYXNzPSJvIj49PC9zcGFuPiA8c3BhbiBjbGFzcz0ibiI+YTwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+Wzwvc3Bhbj48c3BhbiBjbGFzcz0ibiI+ajwvc3Bhbj48c3BhbiBjbGFzcz0ibyI+XTs8L3NwYW4+IDxzcGFuIGNsYXNzPSJuIj5hPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj5bPC9zcGFuPjxzcGFuIGNsYXNzPSJuIj5qPC9zcGFuPjxzcGFuIGNsYXNzPSJvIj5dPC9zcGFuPiA8c3BhbiBjbGFzcz0ibyI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im4iPnQ8L3NwYW4+PHNwYW4gY2xhc3M9Im8iPjs8L3NwYW4+CiAgICA8c3BhbiBjbGFzcz0ibyI+fTwvc3Bhbj4KPHNwYW4gY2xhc3M9Im8iPn08L3NwYW4+CjwvY29kZT48L3ByZT48L2Rpdj48L2Rpdj4KCjxwPlRoaXMgaW1wbGVtZW50YXRpb24gdXNlcyB0aGUgc2VxdWVuY2Ugb2YgZGVjcmVhc2luZyB2YWx1ZXMgPHNwYW4gY2xhc3M9ImthdGV4Ij48c3BhbiBjbGFzcz0ia2F0ZXgtbWF0aG1sIj48bWF0aCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI+PHNlbWFudGljcz48bXJvdz48bWZyYWM+PG1uPjE8L21uPjxtbj4yPC9tbj48L21mcmFjPjxtbyBzdHJldGNoeT0iZmFsc2UiPig8L21vPjxtc3VwPjxtbj4zPC9tbj48bWk+azwvbWk+PC9tc3VwPjxtbz7iiJI8L21vPjxtbj4xPC9tbj48bW8gc3RyZXRjaHk9ImZhbHNlIj4pPC9tbz48L21yb3c+PGFubm90YXRpb24gZW5jb2Rpbmc9ImFwcGxpY2F0aW9uL3gtdGV4Ij5cZnJhY3sxfXsyfSAoM15rIC0xKTwvYW5ub3RhdGlvbj48L3NlbWFudGljcz48L21hdGg+PC9zcGFuPjxzcGFuIGNsYXNzPSJrYXRleC1odG1sIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PHNwYW4gY2xhc3M9ImJhc2UiPjxzcGFuIGNsYXNzPSJzdHJ1dCIgc3R5bGU9ImhlaWdodDoxLjE5NDEwOGVtO3ZlcnRpY2FsLWFsaWduOi0wLjM0NWVtOyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIj48c3BhbiBjbGFzcz0ibW9wZW4gbnVsbGRlbGltaXRlciI+PC9zcGFuPjxzcGFuIGNsYXNzPSJtZnJhYyI+PHNwYW4gY2xhc3M9InZsaXN0LXQgdmxpc3QtdDIiPjxzcGFuIGNsYXNzPSJ2bGlzdC1yIj48c3BhbiBjbGFzcz0idmxpc3QiIHN0eWxlPSJoZWlnaHQ6MC44NDUxMDhlbTsiPjxzcGFuIHN0eWxlPSJ0b3A6LTIuNjU1MDAwMDAwMDAwMDAwMmVtOyI+PHNwYW4gY2xhc3M9InBzdHJ1dCIgc3R5bGU9ImhlaWdodDozZW07Ij48L3NwYW4+PHNwYW4gY2xhc3M9InNpemluZyByZXNldC1zaXplNiBzaXplMyBtdGlnaHQiPjxzcGFuIGNsYXNzPSJtb3JkIG10aWdodCI+PHNwYW4gY2xhc3M9Im1vcmQgbXRpZ2h0Ij4yPC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIHN0eWxlPSJ0b3A6LTMuMjNlbTsiPjxzcGFuIGNsYXNzPSJwc3RydXQiIHN0eWxlPSJoZWlnaHQ6M2VtOyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJmcmFjLWxpbmUiIHN0eWxlPSJib3JkZXItYm90dG9tLXdpZHRoOjAuMDRlbTsiPjwvc3Bhbj48L3NwYW4+PHNwYW4gc3R5bGU9InRvcDotMy4zOTRlbTsiPjxzcGFuIGNsYXNzPSJwc3RydXQiIHN0eWxlPSJoZWlnaHQ6M2VtOyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJzaXppbmcgcmVzZXQtc2l6ZTYgc2l6ZTMgbXRpZ2h0Ij48c3BhbiBjbGFzcz0ibW9yZCBtdGlnaHQiPjxzcGFuIGNsYXNzPSJtb3JkIG10aWdodCI+MTwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InZsaXN0LXMiPuKAizwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9InZsaXN0LXIiPjxzcGFuIGNsYXNzPSJ2bGlzdCIgc3R5bGU9ImhlaWdodDowLjM0NWVtOyI+PHNwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0ibWNsb3NlIG51bGxkZWxpbWl0ZXIiPjwvc3Bhbj48L3NwYW4+PHNwYW4gY2xhc3M9Im1vcGVuIj4oPC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIj48c3BhbiBjbGFzcz0ibW9yZCI+Mzwvc3Bhbj48c3BhbiBjbGFzcz0ibXN1cHN1YiI+PHNwYW4gY2xhc3M9InZsaXN0LXQiPjxzcGFuIGNsYXNzPSJ2bGlzdC1yIj48c3BhbiBjbGFzcz0idmxpc3QiIHN0eWxlPSJoZWlnaHQ6MC44NDkxMDhlbTsiPjxzcGFuIHN0eWxlPSJ0b3A6LTMuMDYzZW07bWFyZ2luLXJpZ2h0OjAuMDVlbTsiPjxzcGFuIGNsYXNzPSJwc3RydXQiIHN0eWxlPSJoZWlnaHQ6Mi43ZW07Ij48L3NwYW4+PHNwYW4gY2xhc3M9InNpemluZyByZXNldC1zaXplNiBzaXplMyBtdGlnaHQiPjxzcGFuIGNsYXNzPSJtb3JkIG1hdGhub3JtYWwgbXRpZ2h0IiBzdHlsZT0ibWFyZ2luLXJpZ2h0OjAuMDMxNDhlbTsiPms8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+PC9zcGFuPjxzcGFuIGNsYXNzPSJtc3BhY2UiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6MC4yMjIyMjIyMjIyMjIyMjIyZW07Ij48L3NwYW4+PHNwYW4gY2xhc3M9Im1iaW4iPuKIkjwvc3Bhbj48c3BhbiBjbGFzcz0ibXNwYWNlIiBzdHlsZT0ibWFyZ2luLXJpZ2h0OjAuMjIyMjIyMjIyMjIyMjIyMmVtOyI+PC9zcGFuPjwvc3Bhbj48c3BhbiBjbGFzcz0iYmFzZSI+PHNwYW4gY2xhc3M9InN0cnV0IiBzdHlsZT0iaGVpZ2h0OjFlbTt2ZXJ0aWNhbC1hbGlnbjotMC4yNWVtOyI+PC9zcGFuPjxzcGFuIGNsYXNzPSJtb3JkIj4xPC9zcGFuPjxzcGFuIGNsYXNzPSJtY2xvc2UiPik8L3NwYW4+PC9zcGFuPjwvc3Bhbj48L3NwYW4+LCBzdGFydGluZyBhdCB0aGUgbGFyZ2VzdCBpbmNyZW1lbnQgbGVzcyB0aGFuIDxlbT5OPC9lbT4vMyBhbmQgZGVjcmVhc2luZyB0byAxLjwvcD4KCjxwPjxpbWcgc3JjPSIvYXNzZXRzL2ltZy9wbGFjZWhvbGRlci5zdmciIGFsdD0ic2hlbGxzb3J0IHRyYWNlIChhcnJheSBjb250ZW50cyBhZnRlciBlYWNoIHBhc3MpIiBkYXRhLXNyYz0iaHR0cHM6Ly9jZG4uZnJhbmtpbmRldi5jb20vaW1hZ2UvdXBsb2FkL2ZfYXV0byxkcHJfYXV0byx3X2F1dG8vdjE2MjE3NTc4OTcvY2xkL3RyYWNlX29mX3NoZWxsX3NvcnQucG5nIj48L3A+Cgo8cD48aW1nIHNyYz0iL2Fzc2V0cy9pbWcvcGxhY2Vob2xkZXIuc3ZnIiBhbHQ9ImRldGFpbGVkIHRyYWNlIG9mIHNoZWxsc29ydCAoaW5zZXJ0aW9ucykiIGRhdGEtc3JjPSJodHRwczovL2Nkbi5mcmFua2luZGV2LmNvbS9pbWFnZS91cGxvYWQvZl9hdXRvLGRwcl9hdXRvLHdfYXV0by92MTYyMTc1Nzk1Ni9jbGQvZGV0YWlsZWRfdHJhY2Vfb2Zfc2hlbGxfc29ydC5wbmciPjwvcD4KCjxwPkhvdyBkbyB3ZSBkZWNpZGUgd2hhdCBpbmNyZW1lbnQgc2VxdWVuY2UgdG8gdXNlPyBJbiBnZW5lcmFsLCB0aGlzIHF1ZXN0aW9uIGlzIGEgZGlmZmljdWx0IG9uZSB0byBhbnN3ZXIuIFRoZSBwZXJmb3JtYW5jZSBvZiAgdGhlIGFsZ29yaXRobSBkZXBlbmRzIG5vdCBqdXN0IG9uIHRoZSBudW1iZXIgb2YgaW5jcmVtZW50cywgYnV0IGFsc28gb24gYXJpdGhtZXRpY2FsIGludGVyYWN0aW9ucyBhbW9uZyB0aGUgaW5jcmVtZW50cyBzdWNoIGFzIHRoZSBzaXplIG9mIHRoZWlyIGNvbW1vbiBkaXZpc29ycyBhbmQgb3RoZXIgcHJvcGVydGllcy4gTWFueSBkaWZmZXJlbnQgaW5jcmVtZW50IHNlcXVlbmNlcyBoYXZlIGJlZW4gc3R1ZGllZCBpbiB0aGUgbGl0ZXJhdHVyZSwgYnV0IG5vIHByb3ZhYmx5IGJlc3Qgc2VxdWVuY2UgaGFzIGJlZW4gZm91bmQuPC9wPgoKPHA+U2hlbGxzb3J0IGlzIHVzZWZ1bCBldmVuIGZvciBsYXJnZSBhcnJheXMsIHBhcnRpY3VsYXJseSBieSBjb250cmFzdCB3aXRoIHNlbGVjdGlvbiBzb3J0IGFuZCBpbnNlcnRpb24gc29ydC4gSXQgYWxzbyBwZXJmb3JtcyB3ZWxsIG9uIGFycmF5cyB0aGF0IGFyZSBpbiBhcmJpdHJhcnkgb3JkZXIgKG5vdCBuZWNlc3NhcmlseSByYW5kb20pLiBFeHBlcmllbmNlZCBwcm9ncmFtbWVycyBzb21ldGltZXMgY2hvb3NlIHNoZWxsc29ydCBiZWNhdXNlIGl0IGhhcyBhY2NlcHRhYmxlIHJ1bm5pbmcgdGltZSBldmVuIGZvciBtb2RlcmF0ZWx5IGxhcmdlIGFycmF5OyBpdCByZXF1aXJlcyBhIHNtYWxsIGFtb3VudCBvZiBjb2RlOyBhbmQgaXQgdXNlcyBub+KApjwvcD4K
                        
Ads by Google

林宏

Frank Lin

Hey, there! This is Frank Lin (@flinhong), one of the 1.41 billion . This 'inDev. Journal' site holds the exploration of my quirky thoughts and random adventures through life. Hope you enjoy reading and perusing my posts.

YOU MAY ALSO LIKE

Using Liquid in Jekyll - Live with Demos

Web Notes

2016.08.20

Using Liquid in Jekyll - Live with Demos

Liquid is a simple template language that Jekyll uses to process pages for your site. With Liquid you can output complex contents without additional plugins.

Setup an IKEv2 server with StrongSwan

Tutorials

2020.01.09

Setup an IKEv2 server with StrongSwan

IKEv2, or Internet Key Exchange v2, is a protocol that allows for direct IPSec tunnelling between two points. In IKEv2 implementations, IPSec provides encryption for the network traffic. IKEv2 is natively supported on some platforms (OS X 10.11+, iOS 9.1+, and Windows 10) with no additional applications necessary, and it handles client hiccups quite smoothly.