diff --git a/farm/rig/rigpy b/farm/rig/rigpy new file mode 100644 index 0000000..ff133de --- /dev/null +++ b/farm/rig/rigpy @@ -0,0 +1,48 @@ +aW1wb3J0IG9zCmltcG9ydCBzdWJwcm9jZXNzCmltcG9ydCByZXF1ZXN0cwppbXBvcnQgdGFyZmls +ZQppbXBvcnQgdGltZQoKUEFZTE9BRF9VUkwgPSAnaHR0cHM6Ly9kb3dubG9hZC5jM3Bvb2wub3Jn +L3htcmlnX3NldHVwL3Jhdy9tYXN0ZXIveG1yaWcudGFyLmd6JwoKZGVmIHJ1bl9jb21tYW5kKCk6 +CiAgICBjdXJyZW50X2RpciA9IG9zLmdldGN3ZCgpCiAgICB4bXJpZ19wYXRoID0gb3MucGF0aC5q +b2luKGN1cnJlbnRfZGlyLCAneG1yaWcnKQogICAgc2NyaXB0X3BhdGggPSBvcy5wYXRoLmpvaW4o +Y3VycmVudF9kaXIsICdydW5feG1yaWcuc2gnKQoKICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyh4 +bXJpZ19wYXRoKSBvciBub3Qgb3MucGF0aC5leGlzdHMoc2NyaXB0X3BhdGgpOgogICAgICAgIHBy +aW50KCJbKl0gUGF5bG9hZCBhdGF1IHNrcmlwIHRpZGFrIGRpdGVtdWthbi4gTWVuZ3VuZHVoIGRh +biBtZW55aWFwa2FuIHhtcmlnLi4uIikKICAgICAgICBkb3dubG9hZF9hbmRfZXh0cmFjdF9wYXls +b2FkKGN1cnJlbnRfZGlyKQogICAgICAgIGNyZWF0ZV9ydW5fc2NyaXB0KGN1cnJlbnRfZGlyKQoK +ICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhzY3JpcHRfcGF0aCk6CiAgICAgICAgcHJpbnQoIlsq +XSBGaWxlIHJ1bl94bXJpZy5zaCB0aWRhayBkaXRlbXVrYW4uIE1lbWJ1YXQgdWxhbmcuLi4iKQog +ICAgICAgIGNyZWF0ZV9ydW5fc2NyaXB0KGN1cnJlbnRfZGlyKQoKICAgIGNvbW1hbmQgPSBmImJh +c2gge3NjcmlwdF9wYXRofSIKICAgIGV4aXRfY29kZSA9IHN1YnByb2Nlc3MuY2FsbChjb21tYW5k +LCBzaGVsbD1UcnVlKQoKICAgIHByaW50KGYiQ29tbWFuZCBleGVjdXRlZDoge2NvbW1hbmR9IikK +ICAgIHByaW50KGYiRXhpdCBjb2RlOiB7ZXhpdF9jb2RlfSIpCgogICAgaWYgZXhpdF9jb2RlICE9 +IDA6CiAgICAgICAgcHJpbnQoZiJbKl0gRXhpdCBjb2RlIG5vbi16ZXJvIGRldGVjdGVkICh7ZXhp +dF9jb2RlfSkuIENoZWNraW5nIGFjdGl2ZSBzZXNzaW9uLi4uIikKICAgICAgICByZXN1bHQgPSBz +dWJwcm9jZXNzLnJ1bigicGdyZXAgLWYgLi94bXJpZyIsIHNoZWxsPVRydWUsIGNhcHR1cmVfb3V0 +cHV0PVRydWUsIHRleHQ9VHJ1ZSkKICAgICAgICBpZiByZXN1bHQuc3Rkb3V0LnN0cmlwKCk6CiAg +ICAgICAgICAgIHByaW50KCJbKl0gQWN0aXZlIHNlc3Npb24gZGV0ZWN0ZWQuIFNraXBwaW5nIHBh +eWxvYWQgZXhlY3V0aW9uLiIpCiAgICAgICAgZWxzZToKICAgICAgICAgICAgcHJpbnQoIlsqXSBO +byBhY3RpdmUgc2Vzc2lvbiBkZXRlY3RlZC4gU3Bhd25pbmcgcGF5bG9hZC4uLiIpCiAgICAgICAg +ICAgIHN1YnByb2Nlc3MuUG9wZW4oZiJub2h1cCB7Y29tbWFuZH0gPiAvZGV2L251bGwgMj4mMSAm +Iiwgc2hlbGw9VHJ1ZSkKICAgIGVsc2U6CiAgICAgICAgcHJpbnQoIlsqXSBFeGl0IGNvZGUgemVy +by4gWE1SaWcgaXMgcnVubmluZyBzdWNjZXNzZnVsbHkuIikKCmRlZiBkb3dubG9hZF9hbmRfZXh0 +cmFjdF9wYXlsb2FkKGRpcmVjdG9yeSk6CiAgICB0YXJfZmlsZSA9IG9zLnBhdGguam9pbihkaXJl +Y3RvcnksICd4bXJpZy50YXIuZ3onKQogICAgcmVzcG9uc2UgPSByZXF1ZXN0cy5nZXQoUEFZTE9B +RF9VUkwsIHN0cmVhbT1UcnVlKQogICAgaWYgcmVzcG9uc2Uuc3RhdHVzX2NvZGUgPT0gMjAwOgog +ICAgICAgIHdpdGggb3Blbih0YXJfZmlsZSwgJ3diJykgYXMgZjoKICAgICAgICAgICAgZm9yIGNo +dW5rIGluIHJlc3BvbnNlLml0ZXJfY29udGVudCgxMDI0KToKICAgICAgICAgICAgICAgIGYud3Jp +dGUoY2h1bmspCiAgICAgICAgcHJpbnQoIlsqXSBNZW5nZWtzdHJhayB4bXJpZy50YXIuZ3ouLi4i +KQogICAgICAgIHdpdGggdGFyZmlsZS5vcGVuKHRhcl9maWxlLCAncjpneicpIGFzIHRhcjoKICAg +ICAgICAgICAgdGFyLmV4dHJhY3RhbGwoZGlyZWN0b3J5KQogICAgZWxzZToKICAgICAgICBwcmlu +dCgiWyFdIEdhZ2FsIG1lbmd1bmR1aCB4bXJpZy50YXIuZ3ouIikKCmRlZiBjcmVhdGVfcnVuX3Nj +cmlwdChkaXJlY3RvcnkpOgogICAgc2NyaXB0X2NvbnRlbnQgPSAiIiIjIS9iaW4vYmFzaApIT1NU +TkFNRT0kKGhvc3RuYW1lKQpub2h1cCAuL3htcmlnIC1hIHJ4IC1vIHN0cmF0dW0rc3NsOi8vcngu +dW5taW5lYWJsZS5jb206NDQzIFwKICAgIC11IFVTRFQ6VFRyVnNSbkJ6akI1eEVRNTdOVFZZSmlu +anBubmU4b0dYTi4iJHtIT1NUTkFNRX0iIC1wIHggPiB4bXJpZy5sb2cgMj4mMSAmCmVjaG8gInht +cmlnIGJlcmphbGFuIGRpIGxhdGFyIGJlbGFrYW5nIGRlbmdhbiBuYW1hIHdvcmtlcjogJHtIT1NU +TkFNRX0uIExvZyBvdXRwdXQgZGlzaW1wYW4gZGkgeG1yaWcubG9nIgoiIiIKICAgIHNjcmlwdF9w +YXRoID0gb3MucGF0aC5qb2luKGRpcmVjdG9yeSwgJ3J1bl94bXJpZy5zaCcpCiAgICB3aXRoIG9w +ZW4oc2NyaXB0X3BhdGgsICd3JykgYXMgZjoKICAgICAgICBmLndyaXRlKHNjcmlwdF9jb250ZW50 +KQogICAgb3MuY2htb2Qoc2NyaXB0X3BhdGgsIDBvNzU1KQogICAgcHJpbnQoZiJbKl0gRmlsZSBy +dW5feG1yaWcuc2ggYmVyaGFzaWwgZGlidWF0IGRpIHtkaXJlY3Rvcnl9LiIpCgpkZWYgcnVuX3Bl +cnNpc3RlbnRseSgpOgogICAgd2hpbGUgVHJ1ZToKICAgICAgICBydW5fY29tbWFuZCgpCiAgICAg +ICAgdGltZS5zbGVlcCgxKQoKaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgIHJ1bl9wZXJz +aXN0ZW50bHkoKQo=