Files
odoo-addons/addons/cetmix_tower_server/README.rst

1 line
12 KiB
ReStructuredText

PT09PT09PT09PT09PT09PT09PQpDZXRtaXggVG93ZXIgU2VydmVyCj09PT09PT09PT09PT09PT09PT0KCi4uIAogICAhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhCiAgICEhIFRoaXMgZmlsZSBpcyBnZW5lcmF0ZWQgYnkgb2NhLWdlbi1hZGRvbi1yZWFkbWUgISEKICAgISEgY2hhbmdlcyB3aWxsIGJlIG92ZXJ3cml0dGVuLiAgICAgICAgICAgICAgICAgICAhIQogICAhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhCiAgICEhIHNvdXJjZSBkaWdlc3Q6IHNoYTI1Njo0ZTA0YzU2Y2ViNTNhODY4MjViZmJjMDllZDZhY2Q4YmJjYWEwMzJlODVjZWYxNmM0Mzk5NzQzNzYyMGY0MjlkCiAgICEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEKCi4uIHxiYWRnZTF8IGltYWdlOjogaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9iYWRnZS9tYXR1cml0eS1CZXRhLXllbGxvdy5wbmcKICAgIDp0YXJnZXQ6IGh0dHBzOi8vb2Rvby1jb21tdW5pdHkub3JnL3BhZ2UvZGV2ZWxvcG1lbnQtc3RhdHVzCiAgICA6YWx0OiBCZXRhCi4uIHxiYWRnZTJ8IGltYWdlOjogaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9iYWRnZS9saWNlbnNlLUFHUEwtLTMtYmx1ZS5wbmcKICAgIDp0YXJnZXQ6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9hZ3BsLTMuMC1zdGFuZGFsb25lLmh0bWwKICAgIDphbHQ6IExpY2Vuc2U6IEFHUEwtMwouLiB8YmFkZ2UzfCBpbWFnZTo6IGh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vYmFkZ2UvZ2l0aHViLWNldG1peCUyRmNldG1peC0tdG93ZXItbGlnaHRncmF5LnBuZz9sb2dvPWdpdGh1YgogICAgOnRhcmdldDogaHR0cHM6Ly9naXRodWIuY29tL2NldG1peC9jZXRtaXgtdG93ZXIvdHJlZS8xNi4wL2NldG1peF90b3dlcl9zZXJ2ZXIKICAgIDphbHQ6IGNldG1peC9jZXRtaXgtdG93ZXIKCnxiYWRnZTF8IHxiYWRnZTJ8IHxiYWRnZTN8CgpgQ2V0bWl4IFRvd2VyIDxodHRwczovL2NldG1peC5jb20vdG93ZXI+YF9fIG9mZmVycyBhIHN0cmVhbWxpbmVkCnNvbHV0aW9uIGZvciBtYW5hZ2luZyByZW1vdGUgc2VydmVycyBhbmQgYXBwbGljYXRpb25zIHZpYSBTU0ggb3IgQVBJCmNhbGxzIGRpcmVjdGx5IGZyb20gYE9kb28gPGh0dHBzOi8vb2Rvby5jb20+YF9fLiBJdCBpcyBkZXNpZ25lZCBmb3IKdmVyc2F0aWxpdHkgYWNyb3NzIGRpZmZlcmVudCBvcGVyYXRpbmcgc3lzdGVtcyBhbmQgc29mdHdhcmUKZW52aXJvbm1lbnRzLCBwcm92aWRpbmcgYSBwcmFjdGljYWwgb3B0aW9uIGZvciB0aG9zZSBsb29raW5nIHRvIG1hbmFnZQpzZXJ2ZXJzIHdpdGhvdXQgZ2V0dGluZyB0aWVkIGRvd24gYnkgdmVuZG9yIG9yIHRlY2hub2xvZ3kgY29uc3RyYWludHMuCgpQbGVhc2UgcmVmZXIgdG8gdGhlIGBvZmZpY2lhbApkb2N1bWVudGF0aW9uIDxodHRwczovL2NldG1peC5jb20vdG93ZXI+YF9fIGZvciBkZXRhaWxlZCBpbmZvcm1hdGlvbi4KCioqVGFibGUgb2YgY29udGVudHMqKgoKLi4gY29udGVudHM6OgogICA6bG9jYWw6CgpDb25maWd1cmF0aW9uCj09PT09PT09PT09PT0KClBsZWFzZSByZWZlciB0byB0aGUgYG9mZmljaWFsCmRvY3VtZW50YXRpb24gPGh0dHBzOi8vY2V0bWl4LmNvbS90b3dlcj5gX18gZm9yIGRldGFpbGVkIGNvbmZpZ3VyYXRpb24KaW5zdHJ1Y3Rpb25zLgoKVXNhZ2UKPT09PT0KClBsZWFzZSByZWZlciB0byB0aGUgYG9mZmljaWFsCmRvY3VtZW50YXRpb24gPGh0dHBzOi8vY2V0bWl4LmNvbS90b3dlcj5gX18gZm9yIGRldGFpbGVkIHVzYWdlCmluc3RydWN0aW9ucy4KCkNoYW5nZWxvZwo9PT09PT09PT0KCjE2LjAuMy4wLjEgKDIwMjYtMDMtMjcpCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIEJ1Z2ZpeGVzOiBXYXlwb2ludCBiZWhhdmlvciBpbXByb3ZlbWVudHMuICg1MzEzKQoKMTYuMC4zLjAuMCAoMjAyNi0wMy0yMykKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gRmVhdHVyZXM6IEpldHMhICg0NzAwKQoKMTYuMC4yLjIuMTQgKDIwMjYtMDItMTcpCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBGZWF0dXJlczogQmxhY2tsaXN0IGZpbHRlciBmb3IgUHl0aG9uIGNvbW1hbmRzLCB2YWx1ZSBjaGVja2VyIGZvcgogIFZhdWx0LiAoNTI1MykKCjE2LjAuMi4yLjEzICgyMDI2LTAxLTEyKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gQnVnZml4ZXM6IExhc3QgZmxpZ2h0IHBsYW4gbGluZSBwb3N0LXJ1biBhY3Rpb24gd2FzIG5vdCB0cmlnZ2VyZWQKICBjb3JyZWN0bHkuICg1MTIwKQoKMTYuMC4yLjIuMTIgKDIwMjYtMDEtMTEpCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBGZWF0dXJlczogSW1wcm92ZSB0aGUgJ0ZpbGUgdXNpbmcgdGVtcGxhdGUnIGNvbW1hbmQgZmxvdywgZml4IHRoZQogIGZsaWdodCBwbGFuIGxpbmUgdmlldyBsYXlvdXQuICg1MTk3KQoKMTYuMC4yLjIuMTEgKDIwMjYtMDEtMDgpCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBCdWdmaXhlczogRW5zdXJlIGN1c3RvbSB2YWx1ZXMgY2FuIGJlIHVwZGF0ZWQgZXZlbiBpZiBub3QgcHJvdmlkZWQKICBpbml0aWFsbHkuICg1MTc1KQoKMTYuMC4yLjIuMTAgKDIwMjYtMDEtMDgpCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBGZWF0dXJlczogU2NoZWR1bGVkIHRhc2tzOiBhbGxvdyB0byBzZWxlY3Qgc3BlY2lmaWMgZGF5cyBvZiB3ZWVrLgogICg1MTkwKQoKMTYuMC4yLjIuOCAoMjAyNS0xMi0yMikKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gQnVnZml4ZXM6IEhhbmRsZSBtYWxmb3JtZWQgZXhwcmVzc2lvbnMgaW4gZmxpZ2h0IHBsYW4gbGluZSBjb25kaXRpb25zLgogICg1MTU0KQoKMTYuMC4yLjIuNyAoMjAyNS0xMi0xNikKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gRmVhdHVyZXM6IFN1cHBvcnQgZm9yIEFOU0kgZm9ybWF0dGluZyBpbiBzZXJ2ZXIgbG9ncy4gKDUxNDEpCgotIEJ1Z2ZpeGVzOiBVSS9VWCBmaXhlZCBhbmQgaW1wcm92ZW1lbnRzLiAoNTE0MSkKCjE2LjAuMi4yLjYgKDIwMjUtMTItMTEpCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIEZlYXR1cmVzOiBJbXByb3ZlIHNlYXJjaCB2aWV3cywgaW1wbGVtZW50IHRoZSBzZWFyY2ggcGFuZWwgZm9yCiAgc2VsZWN0ZWQgdmlld3MuICg1MTM5KQoKMTYuMC4yLjIuNSAoMjAyNS0xMi0xMCkKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gQnVnZml4ZXM6IEN1c3RvbSB2YWx1ZXMgaW4gZmxpZ2h0IHBsYW4gYXJlIGxvc3QgaW4gYSBza2lwcGVkIGNvbW1hbmQKICBhbmQgYXJlIG5vdCBhdmFpbGFibGUgYWZ0ZXIgaXQuICg1MTI5KQoKMTYuMC4yLjIuNCAoMjAyNS0xMi0xMCkKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gRmVhdHVyZXM6IFBhcnNlIGVtcHR5IG9yIG1pc3Npbmcga2V5IHZhbHVlcyBhcyAnTm9uZScgaW5zdGVhZCBvZgogIGxlYXZpbmcga2V5IHJlZmVyZW5jZSBhcyBpcy4gKDUxMzQpCgoxNi4wLjIuMi4zICgyMDI1LTEyLTAzKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBCdWdmaXhlczogU2F2ZSBjb3JyZWN0IGVycm9yIG1lc3NhZ2UgaW4gbG9nIHdoZW4gU1NIIGNvbm5lY3Rpb24gZmFpbHMuCiAgKDUxMDkpCgoxNi4wLjIuMi4yICgyMDI1LTEyLTAzKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBCdWdmaXhlczogTWFrZSB2YXJpYWJsZXMgc2VsZWN0YWJsZSBpbiBzY2hlZHVsZWQgdGFza3MgKDUxMDUpCgoxNi4wLjIuMi4wICgyMDI1LTExLTEyKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBGZWF0dXJlczogSW50ZWdyYXRlIHVzZXIgbm90aWZpY2F0aW9ucyBpbnRvIHRoZSBtYWluIG1vZHVsZSwgZHJvcCB0aGUKICAnY2V0bWl4X3Rvd2VyX25vdGlmeV9iYWNrZW5kJyBtb2R1bGUuICg1MDc0KQoKMTYuMC4yLjAuNiAoMjAyNS0xMC0yNykKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gRmVhdHVyZXM6IFRhZyBtaXhpbiBhbmQgaGVscGVyIGNvbW1hbmRzLiAoNTAzOSkKCjE2LjAuMi4wLjUgKDIwMjUtMTAtMTYpCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIEJ1Z2ZpeGVzOiBGbGlnaHQgcGxhbiBjb21tYW5kIGV4Y2VwdGlvbiBoYW5kbGluZyAoNDkzMCkKCjE2LjAuMi4wLjQgKDIwMjUtMTAtMTMpCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIEZlYXR1cmVzOiBBdXRvIHVwZGF0ZSByZWZlcmVuY2VzIGZvciByZWxhdGVkIHJlY29yZHMgKDUwMDUpCgoxNi4wLjIuMC4zICgyMDI1LTEwLTEzKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBGZWF0dXJlczogVGVybWluYXRlIHJ1bm5pbmcgZmxpZ2h0IHBsYW4gbWFudWFsbHkgKDM0MTApCgoxNi4wLjIuMC4yICgyMDI1LTEwLTA4KQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBGZWF0dXJlczogVUkvVVggaW1wcm92ZW1lbnRzICg0OTk2KQoKLSBCdWdmaXhlczogSGFuZGxlIHNlY3JldCB2YWx1ZXMgd2hlbiBhIHJlY29yZCBpcyBkdXBsaWNhdGVkIHVzaW5nCiAgY29weSgpICg0OTk2KQoKMTYuMC4yLjAuMSAoMjAyNS0xMC0wOCkKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gQnVnZml4ZXM6IEltcHJvdmUgdmFyaWFibGUgdmFsdWUgcmVmZXJlbmNlcyB1bmlxdWVuZXNzICg0OTYxKQoKMTYuMC4yLjAuMCAoMjAyNS0xMC0wNykKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gRmVhdHVyZXM6ICdDZXRtaXggVG93ZXIgVmF1bHQnIC0gbmV3IHdheSBvZiBjZW50cmFsaXplZCBwYXNzd29yZC9rZXkKICBtYW5hZ2VtZW50ICg0ODI0KQoKMTYuMC4xLjcuMiAoMjAyNS0wOS0xOCkKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gRmVhdHVyZXM6IFNldCAnQXV0byBTeW5jJyBpbiBmaWxlcyBmcm9tIGZpbGUgdGVtcGxhdGVzICg0OTQ5KQoKMTYuMC4xLjcuMSAoMjAyNS0wOS0xMCkKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gQnVnZml4ZXM6IENoZWNrIGN1c3RvbSB2YWx1ZXMgaW4gZmxpZ2h0IHBsYW4gbGluZSBjb25kaXRpb24gKDQ5MjIpCgoxNi4wLjEuNi40ICgyMDI1LTA4LTE4KQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBGZWF0dXJlczogSW1wcm92ZSB0aGUgZXh0ZW5kYWJpbGl0eSBvZiB0aGUgZmlsZSB1cGxvYWQgY29tbWFuZC4gKDQ3NTkpCgoxNi4wLjEuNi4zICgyMDI1LTA4LTEzKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBGZWF0dXJlczogSW1wcm92ZSBhY2Nlc3Mgc2V0dGluZ3MgZm9yIGxvZ3MgKDQ4NjYpCgoxNi4wLjEuNi4yICgyMDI1LTA4LTA1KQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBCdWdmaXhlczogUGluIHBhcmFtaWtvIHZlcnNpb24gdG8gIjw0IiB0byBtYWludGFpbiBjb21wYXRpYmlsaXR5IHdpdGgKICBsZWdhY3kgaW5zdGFsbGF0aW9ucyAoNDg5MSkKCjE2LjAuMS42LjAgKDIwMjUtMDctMzApCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIEZlYXR1cmVzOiBPcHRpb25hbCBiZWhhdmlvdXIgd2hlbiBmaWxlIHVwbG9hZGVkIGJ5IGNvbW1hbmQgYWxyZWFkeQogIGV4aXN0cyBvbiB0aGUgc2VydmVyLiAoNDc0MCkKCjE2LjAuMS41LjMgKDIwMjUtMDctMjkpCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIEZlYXR1cmVzOiBNYWtlIGZpbGUgcmVmZXJlbmNlcyBzZXJ2ZXIgZGVwZW5kZW50IHRvIGJlIG1vcmUgdW5pcXVlCiAgKDQ4NzApCgoxNi4wLjEuNS4xICgyMDI1LTA3LTI1KQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBGZWF0dXJlczogU2VsZWN0IHNlY3JldHMgZnJvbSBkcm9wZG93biBsaXN0IGluIHRoZSBjb2RlIGZpZWxkcyAoNDg1MykKCjE2LjAuMS41LjAgKDIwMjUtMDctMjIpCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIEZlYXR1cmVzOiBTZWxlY3QgdmFyaWFibGVzIGZyb20gZHJvcGRvd24gbGlzdCBpbiB0aGUgY29kZSBmaWVsZHMKICAoNDgyNykKCjE2LjAuMS4zLjAgKDIwMjUtMDctMTcpCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIEZlYXR1cmVzOiBBZGQgdGhlIHRsZGV4dHJhY3QgYW5kIGRuc3B5dGhvbiBsaWJyYXJpZXMuICg0NzM3KQoKMTYuMC4xLjEuNCAoMjAyNS0wNy0wNykKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gQnVnZml4ZXM6IENvbW1hbmQgbG9nIHNvcnRpbmcgKDQ4MTYpCgoxNi4wLjEuMS4yICgyMDI1LTA2LTI1KQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBGZWF0dXJlczogUmVxdWlyZWQgdmFyaWFibGVzIGluIHNlcnZlcnMgKDQ3NzkpCgoxNi4wLjEuMS4xICgyMDI1LTA2LTIxKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBGZWF0dXJlczogQ29tbWFuZCB2aWV3IGltcHJvdmVtZW50cyAoNDc1MykKCjE2LjAuMS4xLjAgKDIwMjUtMDYtMjApCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIEZlYXR1cmVzOiBSdW4gY29tbWFuZHMgYW5kIGZsaWdodCBwbGFucyB1c2luZyBzY2hlZHVsZWQgdGFza3MuICg0NjUwKQoKMTYuMC4xLjAuMTIgKDIwMjUtMDYtMDYpCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBGZWF0dXJlczogSW1wcm92ZSBjb21tYW5kIGFuZCBmbGlnaHQgcGxhbiBsb2cgbWFuYWdlbWVudC4gKDQ3NDkpCgoxNi4wLjEuMC4xMSAoMjAyNS0wNi0wNikKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIEJ1Z2ZpeGVzOiBIb3N0IGtleSBjYW5ub3QgYmUgcmV0cmlldmVkIGZyb20gdGhlIFVJLiAoNDc0NykKCjE2LjAuMS4wLjEwICgyMDI1LTA1LTI0KQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gRmVhdHVyZXM6IEltcHJvdmUgY29tbWFuZCBsb2cgYW5kIGZsaWdodCBwbGFuIGZvcm0gdmlld3MgKDQ2OTcpCgoxNi4wLjEuMC45ICgyMDI1LTA1LTIzKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBCdWdmaXhlczogRXJyb3Igd2hlbiByZW5kZXJpbmcgYSBmaWxlIG5vdCBhdHRhY2hlZCB0byBhIHNlcnZlci4gKDQ3MTUpCgoxNi4wLjEuMC44ICgyMDI1LTA1LTIxKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBGZWF0dXJlczogUmVmZXJlbmNlcyBmb3Igc2VjcmV0IHZhbHVlcy4gKDQ2OTYpCi0gRmVhdHVyZXM6IE1ha2UgdGhlICJIb3N0IGtleSIgZmllbGQgbm9uLXJlcXVpcmVkIGluIHRoZSBmb3JtIHZpZXcgdG8KICBpbXByb3ZlIHRoZSBVWC4gKDQ2OTkpCgoxNi4wLjEuMC43ICgyMDI1LTA1LTE2KQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBGZWF0dXJlczogT3B0aW9uIHRvIHByZXNlcnZlIGNvbW1hbmQgc3BsaXR0aW5nIHdoZW4gdXNpbmcgc3Vkb+KAiy4gKDQ2NDEpCgotIEZlYXR1cmVzOiBSZWNvcmQgcmVmZXJlbmNlcyBmb3IgZmlsZXMuICg0NjcwKQoKLSBGZWF0dXJlczogVXNlIGBgc3Vkb2BgIHBhcmFtZXRlciB0byBwYXNzIHN1ZG8gbW9kZSB0byBjb21tYW5kIHJ1bm5lcgogIGluc3RlYWQgb2YgdXNpbmcgY29udGV4dC4gKDQ2NzgpCgotIEJ1Z2ZpeGVzOiBJbmNvcnJlY3Qgc3VkbyB1c2FnZSBpbiBjb21tYW5kcyBydW4gaW4gd2l6YXJkLiBQYXNzICdObwogIHNwbGl0IGZvciBzdWRvJyBwcm9wZXJ0eSB0byBjb21tYW5kcyBydW4gaW4gd2l6YXJkLiAoNDY3OSkKCjE2LjAuMS4wLjYgKDIwMjUtMDUtMTYpCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIEZlYXR1cmVzOiBJbXByb3ZlIHRoZSBrZXkgc3RvcmFnZSBmdW5jdGlvbmFsaXR5LiAoNDY4NikKCjE2LjAuMS4wLjUgKDIwMjUtMDUtMDkpCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIEJ1Z2ZpeGVzOiBOb24tY3JpdGljYWwgaXNzdWVzIGFuZCBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMuICg0NjYzKQoKMTYuMC4xLjAuNCAoMjAyNS0wNC0zMCkKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gRmVhdHVyZXM6IFVJL1VYIGltcHJvdmVtZW50cy4gKDQ2NDIpCgoxNi4wLjEuMC4zICgyMDI1LTA0LTIyKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBGZWF0dXJlczogQWxsb3cgdG8gcGFzcyBjdXN0b20gdmFyaWFibGUgdmFsdWVzIHRvIGNvbW1hbmRzICg0NTI0KQoKLSBGZWF0dXJlczogQ2V0bWl4IFRvd2VyIE9kb28gQXV0b21hdGlvbiBtb2RlbDogcGFzcyBjdXN0b20gdmFyaWFibGUKICB2YWx1ZXMgdG8gdGhlIGBgc2VydmVyX3J1bl9jb21tYW5kYGAgbWV0aG9kLiAoNDU0NykKCi0gQnVnZml4ZXM6IFJhbmRvbSBpZCBnZW5lcmF0aW9uLCBzdWRvIGNvbW1hbmQgcGFyc2luZywgcmVjb3JkIHJ1bGUKICBuYW1lcywgc3BlbGxpbmcgZXJyb3JzIGluIGRlc2NyaXB0aW9ucy4gKDQ2MTIpCgoxNi4wLjEuMC4yICgyMDI1LTA0LTIyKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBCdWdmaXhlczogUmVmYWN0b3Igc2VjcmV0IHZhbHVlIGhhbmRsaW5nLCBmaXggdGhlIG5ldyBzZXJ2ZXIgdGVtcGxhdGUKICBjcmVhdGlvbiB3aXphcmQuICg0NjAxKQoKMTYuMC4xLjAuMQotLS0tLS0tLS0tCgpSZWxlYXNlIGZvciBPZG9vIDE2LjAKCkJ1ZyBUcmFja2VyCj09PT09PT09PT09CgpCdWdzIGFyZSB0cmFja2VkIG9uIGBHaXRIdWIgSXNzdWVzIDxodHRwczovL2dpdGh1Yi5jb20vY2V0bWl4L2NldG1peC10b3dlci9pc3N1ZXM+YF8uCkluIGNhc2Ugb2YgdHJvdWJsZSwgcGxlYXNlIGNoZWNrIHRoZXJlIGlmIHlvdXIgaXNzdWUgaGFzIGFscmVhZHkgYmVlbiByZXBvcnRlZC4KSWYgeW91IHNwb3R0ZWQgaXQgZmlyc3QsIGhlbHAgdXMgdG8gc21hc2ggaXQgYnkgcHJvdmlkaW5nIGEgZGV0YWlsZWQgYW5kIHdlbGNvbWVkCmBmZWVkYmFjayA8aHR0cHM6Ly9naXRodWIuY29tL2NldG1peC9jZXRtaXgtdG93ZXIvaXNzdWVzL25ldz9ib2R5PW1vZHVsZTolMjBjZXRtaXhfdG93ZXJfc2VydmVyJTBBdmVyc2lvbjolMjAxNi4wJTBBJTBBKipTdGVwcyUyMHRvJTIwcmVwcm9kdWNlKiolMEEtJTIwLi4uJTBBJTBBKipDdXJyZW50JTIwYmVoYXZpb3IqKiUwQSUwQSoqRXhwZWN0ZWQlMjBiZWhhdmlvcioqPmBfLgoKRG8gbm90IGNvbnRhY3QgY29udHJpYnV0b3JzIGRpcmVjdGx5IGFib3V0IHN1cHBvcnQgb3IgaGVscCB3aXRoIHRlY2huaWNhbCBpc3N1ZXMuCgpDcmVkaXRzCj09PT09PT0KCkF1dGhvcnMKLS0tLS0tLQoKKiBDZXRtaXgKCk1haW50YWluZXJzCi0tLS0tLS0tLS0tCgpUaGlzIG1vZHVsZSBpcyBwYXJ0IG9mIHRoZSBgY2V0bWl4L2NldG1peC10b3dlciA8aHR0cHM6Ly9naXRodWIuY29tL2NldG1peC9jZXRtaXgtdG93ZXIvdHJlZS8xNi4wL2NldG1peF90b3dlcl9zZXJ2ZXI+YF8gcHJvamVjdCBvbiBHaXRIdWIuCgpZb3UgYXJlIHdlbGNvbWUgdG8gY29udHJpYnV0ZS4K