devicely 2.0.9 → 2.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -29,21 +29,36 @@ function decrypt(iv, content) {
29
29
  }
30
30
 
31
31
  const encrypted = {
32
- iv: 'affffb19229401a1fca306ae00182309',
33
- content: '9856092ae4049b8fabe2ee95d93e3f519a39217a63840fe81233eb67a294062150a00c9bd74ee019e484115fbea591b21b7e0e653cab6a0f48e1a21117e3066b8bea81cc6b53e1d2da24c96a8c0a789160c43a0cb6b869a60acb8d8f320e1d9a0c1554742c4a981c2edaa0d1a30ef73a688714f0199c534aecc1eb84185b61248aa00ea3bf8943d83540126213077b221f7ce01f63d850c2549de8bedcd4571e96284bee084bad4ed759a3c8bbea355bb73c5787896e0c016bd9974e96c1422f55a70ae6f08fa0bcb9e299c208ee1dfef6a76d4e6ea5b82358d061a0987bc90d92a15fa1c5c5afd18d8161e8b666229e6dc7ce0c46ac0466c90ff0d293a371917ac4225b77e0168b4d7b6536153808db14f8d7aae7d69b4e359bbaedc70ff56fe8b40a50b41e6efbea54ae9cfcd46aaf31bd6b56a284b442f10e1610e4238af5d2d515e9e91f9c3868771f017fbbfc4196b1408a89cad705c4788032cea8baca4bfc2c5cc5decba2a134f11fac3741b52d758d5666ebd7c12927c77aac03aea51056591ad79a847d148bb23c499d0f994cfce405f007cc9bc031d0f8ad653570d2f259e020a48b3e8a269596495b0dbbd2fc758cdbf51df1fde32092bb8f30a36a413da7db860caf5ba2f198a22f0060bd4cb9becd62ce1d975bfaa6f09f98cdc96f8f9737a194ebd6c061f2b2d6a2d1bc8b49f67e91be8124adee2f01a69495cf17dc4ab4a2ac47b44c68624489517e47116a3baed5ab94b6b7c6e26c46c704605bd97af56d7be289b01e84c8577e779320601c854c8fee998520c21f0439d678a5d58c112c0910ed1f8d1cc5d06685bc96492b5c387d32520729f281ac2cd56aaf3b12de7842483772d86209d82a47613f2922d4d7fa6f224380a062104d4479857a73fb31a8124dff313e9dd37ae8e8370aa1d7e5e41a66d212e72a607ef0633933638cbdccf8a404e19f354a40057699ef0cd1095abdc90e48abe93a3a928f5293bd813a3bf5772aba317927786d9d17bed1d15eaf46647475573ea7666a16812eeac017ea4ffb297458e36676c2f7eff7612cd2f5af6d5e71a1468df61bf2f4200bca2f23a7d26ca63c29e427cce5567d24c070081ec10424b3bcbbbfab4ff91d37218ac4f4874eb8675d743cd475590da9652bfe0e89892de8a366a1fe3db8634c78dcfd3fb56dc8a00f38dc0fe04321daa49180cf7d4f7b6c6edd5e600173fc2ea6eaa1b2d307ab413040f1e742ec1058cbfb5b4202b52b2f5b12a57d30702f8064b11bae57dab0041b45e7f1c7f6f64513901df5f9417142411fbbf4411cfb3a127effaf9fa2f6eb989234e986fa998489cd2553f61d593817a0539a2c95f5d7c9bcd53de9ce8e09d75aa40dc9d4e365ef30c43a5ff129d93b12806a4a4068cfaf08c5cdd701dd85b6cafbb3fdeac3caf94f4157d05124e8252d3686d39adbe77a19c7bf1b9b7469b687027c713dded3f8f52794ec66a1c3b4ed3ea2df76599556453ed273a9072d9d30fecde2c4957e6b0b353475e40a65e31b414e865db35f7b2925d05525bdd7123f7fda7a7aabda4b4286b24ae4dbdcafb31ea21f264beac9e8d6761c3b561615ca5f2602ba6be48d8d7c20f4f938993419e7aa05eb99959cd295d9f26b06a3bd63933ad5d1b4ad68c8640cb0ed1329ca9b1397986e3aceaaf6c0994f52eca2305b1385457c69f3121bdc3d4310094a3f78f206335a9d974eaedb9c9d576a49ad19c645b5e9fc6a776cd11a7826517c64e2dbb5e339a3be673ce481ea4286988faf205a8e4f63e04aa0c6875955e97e2deb2ab5a7ada7d31a36a17409b4dbdcda5ce58c6f9f282b2002fcdfcd650a65de334a6da198e97b9bf3bea60da828ac7b398fc941677a18f433e1cd2b30f89bc8652b56affe2abe27f0acdbdd2f618180ab3f038730b4d7ee0933072ec751c247058eff9bc2d83400efff54940d4ed0dfdfe55495149b99d375df84fffb7a82daba00874a76d35f4c0f15acc0f6d29a1c6e3f9336e211d365d0c2ec764fb5482adb8479cef26f2319afb9cd687f0b51cdf6a823d1b8ab3a9859123b509df32c1375fefde36cbc150f65ffc144ed5f61935dda6bd586c624528c97a4710db5ae3442e617326d65efa7296aee6d9a48d1c10d4b038f5a9b2571797fac9cbaad33a4c1eeb9373d05a3d36d42fe2747e163d5e4caf746b4cd3af362ef303aa1afa95edae6670c8fe028bedc16630974ca95ccf0454034d062b84c7336d0241b553191ec53f9a5518bc3f3425a5b007a6b886ae8c3e93d39711b15e0a6964be0b7e5fb4e8ba282fabad6c0b028daafdeffdb411d7dea0dcba565148c1f07546ef0a65643295a02fd21bbb09c177330e9254214f32fa904b55040ca29bb8f17edd55c6ad054c1dca41b06aeeaf801f95b9e6a373cebaf4fa060a574787b279c7ecdf7c47cb91a3c08eb26c00599eeecfbcb161c1a34aca2909d55c65697dd955a13a04f78cab1968d411587ae191e5280a030c768e2e5bb6bc1e22e6878c2777de75c73180ad56b0c5bb31ae795761b449ffeb47735d3d3cadbc035311718e8f3aa4477820b725ac00f844ca4d1e36b6aab4a4f5ded91cc6e7a07d12992dfae3bc015db44cce13aa2b863b816a862fc60d3670834fbb56dcff04b26f4aee4dad685699a23b4403d1ef1a939ca7c954c40dac3bb7c8f0085a507ee7c0353efa898d01a41fc9dc47d741b5314bc7005e6adb5ba73514b01b90a2e8bd2192b546a40efed5fdeb56b0add5d1beae720500e4557a5e0ca806be5da8eda9bef443032a594e07a1d669253fffdc1da5c0f9665a43af7d274b177769bcb08e21438ef18d14825113575725911fbfabb20921a319a9fa1998b3a18afa17373dafd10089e11584f708207ec8e8883130c82482f1843d26ec547b4070d780418520cfb4a0bfd074c12abf6c01a91dfc300ab53a950ae051650d4c22e0630c700476150cfec0fa9f2a2e540f3644ca0daa94f9bf9c068f8ab215984bc9981f5e16183aba7e23a41ccd8e5df0a4ae87247cc076d305e9e5d9d8cec31126a67919d0257e29afe899d69472b495f05e6deb8ad7515bdf909208f6dbdc1bea69b7120cb53bacc03d75aa6b56f66627bbc9848132d7d04c4cc3e908ba27ab4539991b627bb8ac513e1a19209070266265497aa1572b67cf23f9726b9a2a7b1b57c3a53e98f6c9098d3d87f84b84f1f280e63c24bcee2b754b22d3d12a99f0f7b23c32d30340079b13750c7793f1592a2a52c21956821b74d2d33156677f86af67aadfef36601c4380a13ae82b58dd2bd924c55f0066a58b09c0bed83ae3c1fb94e8f79e4ccba046f5bd44e52a0f468ce6a94e139c1870ad0fd6d19907b54a0a2349d17a0477ecba6d64737718194870d2000150bcb1e3d291d1ed3ac28bef31df1848088ee2bc6d853889b2a4631fd6d1fbe9484f6e85ee5e7aafc4663b77f2c69afcb874d3f40b8a0c45ed1b59a7c13149a38725226c7277b30231fb9e9b4bea5b875566b306ff96b6b39863b38d333c59563cfe80d59187e641d3e406a3ec74db9f5d2c51009f49f6028fcac356b88e72e09d4115332d8e7ab187e24b03ba008966931cb1e91a29ecdd21c361f7b0be461a022b0f7d07e5a06b14b1cae72aa8a153f071caf8d1e416dd07fa4899b57dab027fcd30ce860f4ad528c9cc23c3f1699e585743a37483caedd655fbfe8b6ba323098692a3cfb679711f4aa986cbe8d34ca652b515037209d615499fb32851d451d551c4feafa8ce1dddd5b44c1cade2ceb456391813a52ea3b4529fc90981dccfd0378c50ebd9f2a591b3e1f2d91cdfcde7ade7407ff06a00ffe216b444832b03ad25bcddde2dd793368a0b0d6a516b8d8f3eeecc0a1b4ff8dcc98b1600c9024965e8c7ce3318b3a44a65e67e764356555cfdd28fedc802626baa18cfda0513d3cb72437748e9061b542c929fcad086377f346bb0635e22a723c48f5a2e8b9b322b9bcd284f211140dce3648854d1a845d908c98a5bbc5c0d4a270e2098545055cd7e858befa82b717a7616c586d6b0cd430fe94fe0c38749884945b04eef75f6f809165e90f367be6d7627d4aae53b5c5469239180876f4c4775c8ae257200e3056aff3185f7b4da254b9067b5944a6c3c9c8406c12b8227ddc215a248733855a5e7157489b89e401de8df448c1ca68e51ce1b14609927b9c9504e853d34063e69ce4648a521189ee434db5470f332911ca4a216173803f4c3a7bb66d8334ae8a7e26b326bc098740179115fda4e7bda98ac820a9da9c4144b2ac2df63d7c65e37d14458fdbc333d289c4a4ba4c4c770c8ec7151dde7795227b5ca02802bbe846bfa6677a286db1f9f35f0483620bd2dd0e81ca75a7d1b96d7f2b07ca42ffc11ab390c275ff47296d7831fbd1c4aef7357911321dca1a51a772b077b1df7d0e772ff0491e48deca0a0c8a95c93eb27cbee42b56ab6dd9b276176b078f3291590ca1769472d4111c918f534c4487defb48160a7a53ebee77e29be35e385a60bf69096dda6ac28bf2be4b56424bdce809ab48b9b0ddeb6cd35fe9e8f60abd05192e724498b7ed9065ced0ec2ba9d6555b2e1d4f992e54e7ed221b62304a7fdd86823827e0b97bc5f4b98765d753d455118da608b6fce01b05b3363e8cc2c142579ac22b8641a83f68f517b142002541842086559352adab6b165a7ae84e74bb87235d0cc6e5109e59c0e27fc658d028d04887a8331d5db3016e3ae35f1c6097960315e30e1cbd489d43eabcaa5598d09b828e2c13b5c24d385a8969e7438a01733e3e41470f4115a9085598c9d520cd44756f86f8b6ddf33d8ccacef365ee004d74e11969ac7461cd24e71b7a092142066cfbde7b70649d177fd1cef78503d12531421cc039e9a8090c1901ec5231620449befa6b56018e52627d0f2224bc94ab6d0b40c2400ad8efde6754f390251ce73bc869d9066b9725a17a042bebfab60e87a48025ec2e11687484c3e5aff0a3f2b1a42c0f96ad592499b04fac2ee220a99f27c52f32a4a028a6729338ff8ea76835f60331d62d04f22022af30a64e44068d4352fbc46fe302e64f31ef8040ff9f63ba3adf16edda1311896b6a57ba5d2cd0ea7c384975239304d8b7eccd6525eea61b9ff448d7f2b05d939242423a278a5056ec115654d088ba047954d7c4a05a6d139df73921825af9d43130644eae30df2ea78f78c77c7781c14fd251405607ff8c3dc3f59beb9cc4b4a83d5f00e60486489ca70a48a1ad51a25c5c3b269be2e97b5c56631102cc0de40b4c6ef5b991984c4b6893652ab893e243b074f3f2675b0addfa799481a1c6d7a8598e2413f3343001e036b2ee8762c8d0461ef23e39d6d9731204357e881ea307337e879bfb0260e323d09ea9f4cb2282f213f103a8bb55de53efdcd4979dea22a2690696200d2bd0ff9c04241ffd09854525ff37cf2eaebb5e0337cb173b29c34d76f3196c042b51c6f32b980ad2f0455eb3c5a59c99b8baaf03284642ae9bc460221e22b4f4dd131261ad00d94765405b8ef4e836d16fa8f237f60b39f52544ee07ba01ef69c69784c9ececf120800bec35219b382d9f74e7c02bb1703448e6ab25f524e22ed895a59e9307a97eaa528d8ae9ae74ab0cec12543f09d543cab3929088a5b19d67c00b9d1d52dc9386b7b06dd0fedb8df65ecce689051269e76a8200297543cea336ebff01bdd3fed9d357c9f3ebe954f5f5d71ca0727b7a063e80d937b684a6a4b8ed277a26a0514ab95a29d971f404f47a525651e22a3525a6ccf3dcf475c0f7e48259f2ff0fc11c6443d22acaae3f15d0d4aa8d5372b70f9657f7457b89ab60b2be2028de3ade408f1e3a843eb87200c1df3da44ab2a697073d65fe1bb1c394bfdc1393407454dfa3e022fa36c9d046ed7cbf0021f63f54a91176b6de67bfa134f4a5859b06083a49c8677cfeace566005fbc821ef26683971e2cb6dccb15a2fa90871a0fc138c4116ec3c3ca625c5acf11e72b535ed7e6dcf5d977ebaacbbe6c71ebf4de42dc4b0a8c1f2a76c9ccf953c01bed3af2e9946f1789ba9d5488755cf861f43bddc1354c7a396b9c7a2887727a74f8b1b909c714c1986405906e4fcd94456f75d24aa051485dbe561e0fd73fd93658c8fd64d37b81445fe4b2383c4d4b1a01867cf131502b0f342d5e933e8edf530e84136d007803da62c64f7d9dce240c8a184e1681d76ad8fd5f7abcbbfd38a881802cf5c409e2a58726481720227f1f4641d80fda4266881a6e0359e075182b808a599443fe9284c55283b6cad2d206a305dea619443cebae5bf45561f3f41ca842b0289346e6ef433a19adbd116cebccbf6267a1a3913981dfec23dbb8aa383b04a2c0796e4938d44991f1696ee4abb3839bfaabbde2203b5546e07c0abc506f82b76f983d083e184303e21883eed2bfae2d40cc91dbd3b5c3e1004983288bb9b46a7f227092fe4e35c3d7ff1aff2e1882dc65ff9ff6f91945611897de0cd62ca10c0a2df3a1e31c69f2960ff7407c2871b75467ea71581aa8197ef7215c00c799cd19cbb6216eaea4fbdf18f595a1dfa8ef09f0e8ac7533b3a8d215006bfef993ffe8839fc43d7ff3975adea20ccad65ead6484fb6c9b933c76024a2338b0317961bfab34111023ab253d0550925ddc0f178677692175476b606b602aef9d4d633a51a56a4fdd91c9b35a264e7c8092e1f598a72b9ca0daec0419995eb984d6a03d5a75ddb1592dc285f00ddf37ec7fa737f201163abf6cc7fc1a2d08cfe49b69c8b980a6d4fc63384e29bab979c51ecc873770f0cd77401a9f6d5a8c12b84ed66c31f65198283611876dd80abaa2cca0fb3b2035cfeac3356124a314eed9e04541e5825191eaa0c0c7b1802fdd49577e26776f76ce366a2a7031895f45bcff8126c2ffd70ebbc2d40c97e4fd1f1b68f8e74987b3774b3fda6514def2dd2690fbfadf3e6e144b59b67f35cd53a9344dfb0d00cc1013a914539221ed20fabf578b269f584ad980506494583bc0e3dbc68b16d0e3e952278ced4376a501fefe2b1029209826254602875acf8bbf909c8bcc7c5cf583037470d254b622ddedae0fabac568345495d88bf57fd42cf49b65a1c387572a3aaab58c223c8e3fb8e5af2308a357a95a84bf40ec21b40d6e09c2f2ffca3ab265a08df93f7b9cd6dc9a34ee7d57f6a15872312d2d71f8964eecb7365c457a012d92d6da7f64cbebb3f48a82692d1bf209f3f892fcc8a41d1c7b714d80f4f1475ab79345981384c98e56284580f82b56e080028bf69ec0abae942ece16bad9bf2cb29c36d2f1fe46000c588e84536022f7e2b7bf9063981db7b9994a32907ebd85f0bbe4fef5ea69246a88f951b3d1613e6681837b0b822269b2dbb525ae1349beba122566d4911754dc641016aa193be0c6016c363399f6003862c5933555cdd3434c6d3885699fcc747c4c75700aedaf40c2d5ca064cedfb1f4cc88dbe80338e8c1e4a2ac964fd0f697ffb2942e089f11b2a092f56aa8939ad43560ce8765ca84a0807d6bfee4e94be6f8d9dd7c0f0e743bb1d32fd4dbcf939c03a18f8376fa53b9bc1f268e670579840f49dde06c3e097f178e6f96e3dfd0fa555d1256ccab4cc7719b5907325a8e439596e75eca909896ee14ba1c0e42e8718ab93bda95288c0a6010f6992d0da16eb936218be2b21a4bd08eeee94529c69d3a033f85cf964543d1bbd92708aa3a256ee5412b4fc46c8c262a2ed9be236efb328e695d4a55941eba9d3bd1865f60aa6a8afc7b9d6bad9f54ce7162524ad249aefa553de7c3639ee399df45739e5fd407ab5db8e15eb5cf55dd84741367ca4912fb057432eb89f6d1a3db803612706b85d9568cb79f385aae48895beff1e913f5d71c5a3dbd28338d6ffe4ab7c4a9c07d65ce314315f7eedff6ee7219cfb9810e678fd32e6148785e069b838035c36e12a2b306c54bf20cfbf9f8ec488e95e3f5eb17f7b231277565d437d200ee9560a01a2d8843457855c19e162e729e5e90de6bfd616159601d4c70612242013dcbbd75d8a117492bd18fc6286e044fd1d50f50a078ef76a887cd53300fc9896a99fa31c689540f5b45861eb4cd93fe66891da496a3bc74f25c9275c5812d5235827a021e227701fee1ecd565dba83a9c9728325c7619e8f41ebf16f1f6a6412d8e1ffb2ca84127ac3ed2c296540355c68e1444d3dabf51cdc76844f1843575ce4bf4d80e40a24048214f323b7dc6e7a36a2d411e5496968752793abbc3957273e335c70240bd7d823a07fb226b60157eedab3c906d43a7b8ef8903482a0e7be49baf04ddc3af212228b4dfdff33ecf078c2eb92475710e7d22127884ec1881075eaabf802e111f0068ce504a7abe98badff7f4dcf9be2962dbfa05eef0253a9524cd7002a129134cf98bfa171bdc619ae895bcd7826f542a7909575206711a78a2154c8b52662128c67d9e4a970d8847d08aafea85069369a4cd9484c68411bb1cfe3fd76ea7f3f3b6f74dbfbe0b9bf7ea0208ee087f17f3088f93266849f3a28db9fdbf6e3c547ae85437112990a6988cb875876c88ea1bacf7304d93f37fbd9e9063126aa351fdac7ef29b9ef5e834507746e3cad68a68cc8b9d7eeba681434c1ed07fcf0bf9b6b7beebbe2da2cb39fb508ed872c4965a74a12f16ff49a9f427f8650f5d9f3de0a04b71ca7903aab0e7828341ac28b1cf416859de5dd884ccd9f62c61539761698a8966e57aefb256203eb120032366bf5b5465c3aeffc4a2ddb4beaef14217cccca1f862fd2501cb9e7617bc490e7cb772c579efb8f9d5e0059fc655254f24924038be1feb963d00269f23d7604a9b019abca25260fc097af17fef03119d5cd51653b3e6c7022dfaa41132cc4e3ceef7629654511d73d2039f5aebd7f488b13b7d1d1802ef174e187327a58689bedde4de7fcac6a14d5292d9106cc290b94170238aba6903e51b957d202897ed78955aa186411c04be4e9bee976584b1554c7d1a14a30369b6113e42ad4e12ac39a0b364e56bff0b2bc7dd975eef1fd1c80603f8e92c6df12793a78c34ccdd360f797f3efb308c95e4296dfa25fa7ce309f18d1423d430a5879a13134238e0323eee8abaf5c6cdb4005df971f07c0153ed5444df8c4075741645f0fdb2e5c30a61fa73972e1777edbb26416bfb1fbd17c1133f9949a01366f4933b981378351c19c4204f757930d9b8aea3918d1c06d5468013e5c2527223d112177e06f60a144f2ce501717c9d1e07441d8e33b27fa691bdc50dc6368fea6124c0a9c3c634e667e966883ad1d0becfcb51fb595edb5b895e02a7e0b6dc03b5dafbe3f16ff7935a7b8b5d7a9dd71eacc57eb77e664a2c7001d8217e2cfbb637bb0c688b87bce26a2485b8ed9cdc1e0479cced2ad6db01715cce24d9e90631111804d9b1b96dbfa3e85f0c30278ec49fe181fdf4fc5a3bca8fd36eb33ee624c85537e16eca87bb0540329022b369110175c3535859caea56e880eb8b8c2287340c89d6440f2940df45d2159c3ed0d697e9a023fdc25ab355e0e1d3e0327c5de63894e32bc1e7fdd846460f2ec88d4f3bb5f37d3b3c3844868a54000b0e8de30eb55f0c9a5ff984289d048ecd7d74bb79c44e11be2caf68aaaa26fd4c4c3aea2a0c6917668a76811f9cdf532df02b9150aaec78acade3b33dd4f1dab2884db94bd3f8b054f2da4a1b0df126c9ef75ce46eec31e8974e21ec9729686b633aff6036353323d383294d3ce9def2af170a6fdf33695faaf9db25f2bcd91c1262feff42f121ed25bf8eca2c3b252e692016fb7b815fb76e040554f396e418491bbfd090e662f160017f6641a26d641f7ff38d85e36c4a054f8f776838bb63fa789e046ab0aeb9d4f4e190fd63e104bf9b369b7ae95591c2b1bcbff5a79c7acd84312dd3e6dd53a27d445bcacae814f8ca6da322550a186d1da6de496e57478afd4cf562f2bb7ffe1f35035d9d8fee83a43656301871f0181b40a72740d94485e1d3a0af526bf0ad18ebe9e3ee04dcbe9406691afe539bc68d2f35b1ed396543b74c579cd53263785d0c1c1b42e1643940832dbda9bed0862c01d3a04064de57af704b199c8e405a3c3f200017cfe6b69a5129ffb92bf3e791e7bf45f6f758750e9beef80dea2ed658acf0e73d9de963d9fc6acf07a4bc701310a858f84e7ef9c0ab3fe55bbd4260864116b5d4ed0fcb919358714d9cf54db5921d3023293b8cd07fc62a9f12ea45c27c3e9a9c5ed5dca00bfba5572f4882726552960b0984b69b04eb434f3b5c518915241629c18be70886a37c3cd4cbecb66b63958da62ff54f44bb8cefe7c8638987ec50b0284fea21075da35d40a1d7026651499bbc26f6ec500e5926845f927cd44ff93d438b841e07d444c049fd15a3468a510a87b379cb05de22278579837e4c4ff725b99f1ae91acb68a29f95ee89ef618dec9d0daa420266d73d8bac8d7c804624c0e5a2d2396301f6afc7c2f09428b4635b4d301e3e006ed56fea6943ccbc61387f57ecf189da2d6d58035cc9e0bbdaf27a4a713809abeb7baed63dc915698f380b128018a9e2d8030a8d07f510251f97a03e682a2ffe23b7665cfbff60e48e5ab310dc9bc25624de270bdd9301a2d10c408fca6d314aad3922aeb920fcb8a0c0b8a46b51fbee3e22bbadb2d48adf77be9f6d9362e489dbd470ba764a70e9aaa5bf1acfab136fc655b6f024fd48fbe3c4d43aef718fa0611cad17d035caf5388ec6dc004209724c7df7492cc5e854f46542fe805dbf27fabf975ad989ac0e0345037383d1cbc32a977336d79bfa37347111e8f4fbc3d3d92e78b3a58514e30c15bbba46837b5dcd397c1b12b1bb9a74693583e21d8aa140e0eccbe56dc10d35ebb2215a26415feb97b36c2e97a7d19b39139135a4f61023993bec0c8b654c0846ba8bd1ccb2fb678682d194c25e0361f390cb17cf74a0ac0a0b4f355362c1232bc57464ed73e85283572079f2f4695fc899b36d0e6b5b5f2225981ee39c77c55e21b7b77031508a75278a38db97cfec9380dbecb5bccf5a799e6f5c30cb3bec235e9eca3a6bc1b99ee595cfec6ff16022f62252d18a05e82eb0a7a19e766bf833009502abd5c988400a7062d1d19db281a57024e1cea018f47f2e8d15f13e340bb2408607bc385de1c9b043564c55d27deca24b4aca88eb7c7528b37a34338449d13a67a5f09a67d636643f76f5af4871b781159d7688d12df2314ec45f1d1a89779434900cd7a6bd2b16ef07fe5b2a5ec64e09a67fdcdfa1a0da469b4818a14c144bca7613e6c6bc45930bcab8dc7fd477707f164e679265cb52860ee0dbf32a4c3955d1c18bfcce1112ade2a7447d4cdee03e88e10da7ee646430254b6eccc4fad2ae05a0fbf06827328be495b4d26227ac89a6a311a7a7f0e305777e08442a5f796b5ddbd3b105f4a9728b6582e22c19193d087803b24ec33c52e72bd5e4e7c23b05eafb730ffbce3cd686ad675b61f16651e9a0c65070b0b23ae05c079123d21a2676c32a0414f3df72dbd277d6e690058974a3e9c85a7bb3c3a8436358f07a2cae0016aad0a30d4a1fea617115a1a083282c2ddd99fa290922002d6a51da4e4b267a4d592f9bd77ac7bc1e8dc2303ae4a10ecb692947c591468396020c93155afa4fc08cc2ca0fe12271c8298bfc03f693978e6c7089a2304cacb3fe89476bc1472f5a680ed69373a4ab72c30698f8d159187fd942396d501d8d6b328ee0d642526814203f7508eec98fc6260034497e0631235ca96ea9fb5769d49f0970e3e1343983b01e0316e92ec7ad743bb78910b1f0be98618407bbdb5b0c3c589e35d59b2378184dea262e3bd52607bae89bda3a98aad4c7220e7acaadec3adfe33a637f508b65a062a93ec325aa352ac76a3ff64a3329a1c9ff4209c83ff21b700cb29910ea0ad89b43dbcfa09a2c3c51a9c4e1c4dee26a8862e9070c4e9d56e28505fc6e68796eeca676bdbc25ed6c711da378173bec4bf9f3d52c60fd6773c3b1618d38fb94e75ec7969bcb9bca589aacf9d8bd85916019c46309ccb126e75855959237eedfd937101492582d53f0f4a64aa54920fdc5fb9039cd6644df609647d9d45ee67cc11c8d09b249fa25a996d5aeb9396b19555fac302dffe99d6e430cfa49ec9c93cc1936b1c47864f49530fc1a1170e42994d79f1cd7c5e174943ba65733a304be5db0193eef602d22a1245d62471c270efce6db31a26eceff9e973df4744eaf68f4cc17112c6b83653bbdf80dad9f79abc47739d6c9150abb6123a3f85040c9cb37e298b0b27a57120fa88c5d6c337d38200696fc32c7442965dc2e60180efa4a2137afa0cb49d574192b73e31cd7764fa09c288fb57b9a32779f41033011a49e874a6f8f8a4172eae8624c2acdb966c75626c1a3e16b992fe41d401370c755aa7e3b441c86dc6e6205b01f6b4309cbcc05c3a46a154dbf106686e4186eef5fd68f57957298a9f3ee6a1f206bcd714342162b4e2912f9ac572084cbd06574436defd2eb02963c9365c3bf4310e75f019d67ba149e7f1b6e011f3a6107b7c8388682d473da427a094b714aff536c3adb1aa0694fc217fffbb018b4901268547eeef27fab2927d5402c3ce1b7042d28c34fd3293388aab48b077d3d18a75afc0ac76fbe5d83df728b3f780a0c8d179fba6ecaf06fe38a37ff65c39b7912e7b65ac75a7747972d7b4e7a20860d48b98887107148d202938f87996174930b37e8a96ae6ad97068eef24588d5da4dbc63cd4ef6cd75b2d3fcdaface6fc17b4f37da2c8dba112fbf6d730ce4f219f4e3d0e604b63b35d74a1e4d21358db0ff40aeed4837110286b02aeaa5a94e1ba71b5cdde0ab9bdf36d8eb92fd970b0730815722090e3a6ae11daf97ef7ceb78311cb4a0f7e0eb5be0032ba5249dd28c41c89d2acb9974c8488dfddeb814f59dab5117d1b742ad789610915672c4ea575a6d61e280a392a8d707be9d7f79a61fd15f5ecf3427385bbfe30a6467103f8bb763700232b296d1744c17d5d1c685f5c9fa2fa6177c7c23b86ea28bec56320c790bdf6e6a06018f3f76630a77ab6c82e9dd71f87fa8334b8788e77ed284091b4cdf62728a6ffc78b7b7530bdd4244957e33c1aecfb3b776ac1d0d12b4ca005ab4c25727a1d95730dd6c27bb603289ab190f5940c77f1310f1a679a6b30f4f491e94141251a25fcbe5205055a2f464420fcef066fd92cda45b9486971e4cfbf07d1f57cac1b8d245b09f00c8bdc0ab43a31241991632bd93f65d83239efe022c2e2ea7f06e59422755df4fa424bd713283d8c4916358b7b330167f86541b9b19a8a8cd7be94e1debe139dfb0b836ca59e98be25ebb37d5c5352c993f368746af936ba9d40c9b7fa7db1a1e47395d7071f61f967aeb3abcd7b16103d403217b6597fe9bf0264389b062bbc9f29095479d3032b2d3f13d5d264e428a20333b95506848fe933069e14fb0152a975a801d49be6bc3e5974d34c6db15d8f7cfdcbe02343c0602d3900f28ef9b1e7ad10721de4d01bb9087c80eab01d9e129b00e3144e915ba98731dc1717dbbdc5375e945ec592ee8aa9987ea0b76bed0100140ba1e3015d0da0b4fc73e43889906085bd726ade0eb136038d91e032ed43346b5d8556ef3836da038d75cabaff2d5ff110cf9d71c912ab65d4982a46fba3bf96bbb81148295ba770a7bdc2294787af6e81122ccc3a84b8829863ccf7f513f1d494ab319ab10452d3713404d99b89b3950577e891e396a3f8e945a0285d80ec300ec70ec0d9e15e9723e49092f1c2eb97c6ac37210052f95b7623049ae6a4140a0a9a3af69c4e7aa3e4987dd8151f45276e174bf8d89b24350d017187ba211f9b13f8c4e7559b3049f85ccbdc144bfe5626e99a439b507db4be59f0bbe87567da828d7ed2b4f4d87943039c0b42b5fd61149498e1e35e82b65c74c4874cf87f2c82651c83a9ede27732be8495655c5e104aec9fca8e7a9d3cb2bf2455fb3af2af08dc96cd448f297dcf133648ed97684346c28bc7ce5e5dbcf4380d425691d29e8ad20275d2bf4593840d65c1ec3c815fbc3d43e39c36bb3d847731fd58dcb75d084be764f9478cb6746c8e333a9e5123c37808f216e881c26c1a1e38184139ebfd7a7cf05a2f45a590d1fa8aa81c7fa47760a83036c4851387818e9daf8be958ad5b871d876cad5c0ffc417419f5efc7315b68134372ad64c166418d26a29d57029534ba68cec5b62ed553f146452dbfd6b62b5205a264132d7de7df5ccdbef419e8ccca48d31f70f7363a0581c7f89d7909049e22905d040b0347520030d31f514a6b5a26ada3feb2093217dc925da4a793d307402cd3cceb6022aec9bfb67fd42d25f42050b368e4ace6ae727a5bb8668a81d17298f3558fc7814378c4b364c3219484cb9294b505f8c26c42474f604848cfc39c9e27806bec41906cf5879cd1228297dbb9e12cdb05ebeddf7e2fa09bbb6712239ab52665203199b3c710b8c27c6b95d914fae061765d599b70fba9825379eb109eb30d3cf4ee19ce64915b79bbd1e5c229dc07c1fb9fa00af50d7a22ae149a379b9c50b86799ec6c5675871ad4d6dabfe7a38101093853a0aa104b1d262de253f3f7df2e63fea9daeb55f3e69b859401a003858275df422f07b4f60d5b904440e5c8bbaee20009319bc135e095db462c0d012e5c73df7604cdd409fbecac98636e9a5db03edc0775011ac99b7d46f841e98c725d9c486562419571d9400f547b581c52c9721369aa92485453f890c956bb6602cd038abcf07eb14e60b50e5431b21b20a9fab5664a4fecd21f0d760f661891dfb8868de40590bfb557f23ab1458f286e582430016e3fd7f8e0c5966ab7b0b9abc0633ac1bb568010ec7d45cc59def2d56b14e85a28afa5c9b62273aaf6cf44641171785134fac6684fa4ddb6f0e1ecd29c59fb250800c3cc56d70021319bbc0275bdbeddee1152da2cbdcd96a6c84fe865e9ab9a7925d5faad59df858cc3376caa0a2606e98efef2d0d89e34f3feacf0d9c99ed37d3825adff553f77208f7641fbc5372497e95da0f94dda7ff655f083fb004df4b0e43f102ae19a287dbb5886ea36d14c3d157faf324cb998981a809baea11fd3d5a5c587c63369aeff1139ee859a7b1eff9a5793c748d1828795efb3d659557abd969cb0f59c6929999f873dc54b10781ae2f03d4b6d5f227a94e93a1ed92c3f78ede31627c3d445b0128f66b87603416d6cead44b569be25e9b519642e1ea9966ecb267f6b0b86e355b839668fb229c6d419f571328d7926380fea7843116461f99a6ad0c1da55e5b451a585618be34ad7efa0da1e349ebc376b56695ac6f2fd9a309ea5faaa6531427460f7fa98961254dc50e158754ba7823858170dbc80dd3c21a39379732c6ba617e68c991ff60b4e02dfc7ad8663a914122a9754d8b295132dca1b03faeaad46c5f9cc73bdf2cf62903e54923e8af1f155dfbdb20c95c13d7db27d0064e26edb0415403bea0d8a314bf6ec33581108b5bafccf89c8cddcc8914016ae1e3464d5127ecc71207995c386bfef62ed1adcdc45414994d8f028d2157dd587bcf342f42b97eb42efa7f9644f7ca2047a2a9ca6a3dbb79f62aab729746c7d4a3f17efe6b51553f4612961d686cbc6fa704e289f837f3edfe46b95803eeb8a7f52a445af3235e25eeace10965d40a477c8f2191cde2f67010e6328d6f744be0088b20864f383142869e1cd93aefbfad6b6a34e4f9db335ec32dd499e87705b55eb06e4e90e95be90494c72f0ee38bbe7ded22dab81366ec8c69c0e2608cf267181d4305c7561e4f450237cf0e1237d220f52da7d0674c8b662abd0e40796d896e6816ad35a2a47ad072e3b5df01ba82122638db4d89ff5fa7a0b8db0a2a744a4b25e6ff22a71c745c97f31ba3ec4be22107366027b8b8092e26b48b4ef31aa382fa71e25f19659e9fd1cd4e76bfff490b0bab1406acc5e88b8a2599f7412ac4ee648960eb018b50bfabadf3b8c3d04313d7738d42824b91d6642f970b0485a4ec736d9abb57ad566b812035d03dda1b553f8a613139b7052a2ce1e77a83137f45c51b8fd0aec5b660a875af4b547673a1e7e2c10ad1d6fb4c9a9feaafcec479ec46040624cfa253e9d1d6f128754f1fb27eb132f0618ddfba8deacfe1e05a4040c6b6d6355255d5432d2f609c0ce46bb5bcf069527c3bc483182cf2d5e75eabf05598feb79c0d25dc92aa36409ac8c2f8e0f220f5fb4bd31a18c200c6cb7f38e43b67925b4612f24c2ccdc617de5bb88923e68decc5dbb3b224dc57506d5d23e03314dec0eeb134b8f5908f3691d669c64e37137f8852e4d51cd36fb02e982f09cddf34b23534c1d38ee5fd158f58723b9064322dee92cd69eda584e52239fb7202a4743cff54f0285ac960e32fc36e0a184a498a4fa4d467ce64ec8ee4f46c9a357b7ff3893187c9b2363b658d884a9e02b3c63896c2152c70ab9548205a4a71e5a263e5fa520347b1f7d57b86d64e97402b8cf801e353b95c3ae59b3a127d8715f74a5b54f6aac76fc4d2b1a24bd09441016f0b23decdb0565b03680d8d222591f198656f79a69e748a84e533167722945683af26c3551e9bfed09f1c8ce19f8d5924b3f012d998211ea5947cc47fb0ce43939857319d13d9342dd90f4e916cedaf4e0ab2d6083174f90925ef530f841760c2b6d7268a9339ec67b7aa52441ef48926329751258e2a3e70fa04618f008c46766263553913586d44f6f2fb2f7c1ca700b5523ee4caf9e323d275f95906dbcabd5089e7e79d9032eab3c230768ef6d9090579686f8a756fa9f2901c092d959380c4da0ed34bb26d1e99ed78a34296015c59550065b7ac651d90f9036b81191a88cb4d4e356b1fcf2ab326c6d13b65a896b14b12a70454c800766a0a1f2d2703669a98a35e798e99188ae55a30ee24d1c0a74729d7dac5c10a9ea7471df8e0f91840749c211da1fe9088539c7aa95e3adf8e79965cc8067e4e11a6b53ebb66ee606bce32d5cba6483c1c11aa565c765e4a6d63520d9666fc02e295e3f8f6c7228b8562b73f6d8a5a50b07a23781a0b6e0652e71115abd0a2994ff0f580d90b83b93334e22f69006a8027a511d0e54afd9c44a3a51706e6ce3bbad25271807aff4282d413071d6926a0728c5a2f0888d3f2e2ba84999001f6c9cbdc8bcd80e7bf838612350cde614022773fad780b89722c2b8f44c3c74f5faad690a96f085370dc6a4a747766dc2e4412ae4d75468a7ef050ddb2613ef466a53505a491a7d000c4dd0b2b32c551a8a35c8b181bdfc4c49c97dc82f4119d268c63535e1daa0c77091b75f62b1ab5500ce0566f4ac113751a9160b80d6ab81d712e8675399f18e412074a02ed42fc6b0f21403a512d38dec8724d19df612a3aedb5f6259ec61d80ce18c2218ee7b253ab4547887707d5172ca001b97bc2304322fb1d1e53113d7b6ad684b66146ccc7ce5d2c0e422c36dc7b89f151c3434c362b217a5cee1ad9b93952d7ad9b4f1bdcbd4b479b0a38794b5a26d2eeec29fc86d8bbfab1eafe0980f8de673e9507bab8e8af7d47b663169790bdfb30de31cf06dd623c59b8023df5d51938aed15facdd191aee96af5c72482ac980e07f2391dacc5bada81735c7c8c0ab97a1032a236f6d54bd386da9cb85b1400ca2df4a9d2223458f9234ab410a27ac5283ebf61332b8ec75f4c3e971ec414e323fc2d249a6fe28cdf75fa569b4f533a0f0abb5069e94932604282c374a8bf38cd10c2e34415bf07100a95f611e5d00f011ca1c6035d0cb1d184751a106a1754e054570e8f7819600b52c2f6ab101847a940ccd9991037a404261687c4af47f65fb4705be2bbfb3c8b71156f506bee7399d1472b140506ee3880675043f042b1a3cfe1c08ad3a645d3891edd768f0bf2044ed446c16639ff66c6b3b7ee5a9ab1cf31541aa8d1968cae4287cdfa378c6aa0640ee7eb8febf61c33509d34576b8611a27911982eb0910fc9f2aad2ec5c5ed0941c66eec61184efa67fc55dd5042cad3a337d0a2f48dd06b9d847f3e29555acb97e6c1fed3ecc6049990a7a4bff9bf366fa4699a2617bf9874d93ae2ce8ec9cba715f80f066e362f8839cd50eea0d2f0d575678d0a0c58aa3cae5e1e7b149bbeacc2ed67bb9e8f1d0565b06d23f2fca50aa9d6181fb865b6cefbcc28afc3fee7bf39035ae3399dc905e72e23751b2750d2daecfcd075e1696b23fe521fbe98267714006e8e704f970f3fc1c9e374385c638f174ac07c2f0313ecef744a964ad1da122d18cfbfd2f20729ac85534e914360def55d82a48df80ae897b599bac5d7d45a87ec2a42816ecf1d06e29415d46f39555aa69b7e3ccc9fafbb21046b91b67d4d6221bf0111f4f1cb51cc70730b6c6637162e6ddddda2893f5e8bce20a05667164cf598ae20edf50c62729f2f708d081674235a8f2390680c694748bee4bb2a56b3bfe654db1d8ee10b484925908394597e998b96b07dcdcdc1856df863f1f9376e2399824f23bc8e642359ee82d966ea44678ac128ee17b5fc435063240a6e615af4cf390a80f698e912ebde83220b1cabdd18cd3278a6cab2874fbe1db8d2b1908751076184d6409b411942f43a4dbf14e2c4b9d89d84e7b1d9181d3486525ad13b80893351aab66c0db6a3de5437c6a30532feeb248fd3c0166577d8238f544fbfda61538da2d27f1857848f90b3ceddcc661c09f7eb70b85459991fd0252281e25f13af7d2c0bf6f7305cfd5741ef3e31938572cd0d6f6091cbb9ad351ab8e53437a3ae38e9d81a6fd162dc31dc0a0deb114009084aa291ea7b6637dd3397d83d7380033fa67f9980cc7bef87400e399fc0320ab327bead2d8f3cbac2020ca0f882f035cbc7bf8d193f0a35ec5d73b49968d7161e5d5af74c1146c0e705d01618effdab66424b71031069129179bfe3e9de3bf9bd1eb2009b32efdd431292e17d505f0a6d46f73f127a3aea865052294aed3a70c8234b7129f54bc083de5aca4b36cb7622bc3fc2c621bda7e192d2fb5fe7e9d3de70dd2c88f36c528de741fc31c74713bc3761e69eb85d494961f473a502bd476b6a054cfc5cd5d6c803b9b52af0222fb80e876017d69f4fb3a65532f177bd9c99d691b14d6b8e0879e7a0175674ca843fbbbb0c77c'
32
+ iv: 'e33604cc2468450f1f6b77db9818b7e1',
33
+ content: '60f1664c0a6feb686f26965bab26cc372fe541e91d76d5fc8d00bfc620b1bf52e48696173004e507afa619da2d17f99fee3672f3ec9c062298efa69a26172cd0e1f4a092673a164cbb3078599f6c78118c0e3e9bf1fce020d7451164799b04bc2d74cf11336309856623ad5c0fd8f39e37549c3e5d058711c552bde1a649ca2232662d2595282a5a425c64ec53553ee4bc5329193a4a423a12c5272e31c44d2e12dd68d99635903ca379771081e42aa72d0843c9e2588823bbfb6c5a9d6837e44304e24eb231731ea42080c08eab1b39612b7e3e64e97b7c310501b1fc8cb717ebe22074d7e8c9838a63fdd8d9f303cb3c88024907da56bf7ceca28efc39b9220071c47adb668c364bf1be9e99f306d2900d92275a63ce406cfe4d748dff6fd6319daebb446305dc411d941e282d6b60c5fb546e91f88d5ea66fcbe794f32e67a0a00fb2c8c27367448c0d783a1809a8da1e868e18c5ee7dd13e9047e8d29cf181a69bedff4fd9a1d40d18bd9fa8eb71b8b2bfe3f62d4d9247d33ee5476f33f036eb133deabd4de533b459e7f6b5d64c78daf163bab2a6679305b739d051f0497025e866df76f667d429ea2c3665653c9a31d6b1eee491f2e023d2542a6cf4a4e9628c1168cbc87fa3af00384d34209f93cfda7181274ab115ac2cd45cc5f0fb1bf260a77c2450d319fbfa71caca76ea0cfd7f485ea5863d7706401815b490efc4a543597c013ba190fe8a080ec94d9480e3e2f637ad3eb22223b7557a849bc05296450974b4e6aee9d94f864b00ceb795fccd6ef2fb4cfa9a40aabbf17363de3bc054ed6a5a411b8e36777ff96e610e5cf233b5e2ba6f83b2436cb8f34a1588edc83425b0c4e473db5d8735444557e35c816f7e15c12a611db3ba824a66aa06f875d314b0b3a0b7e7bad823eb26c41a403b99b84de9ff9580d2439d11c9e0d7d80393601b72cfb631f220336dc08cc80982e759cb14a7e063e933f4dec29ed8d0bda35e085241371b6b9161a43d572d185aa3c6f45f6c3185a22b967fa0ad6196c3452fb6d11ca2136dcc64cf3c62fee58923a005147cbd1c8e58a0a30c4f4cdd28c0e9e7413048246f0f32d901734d983bbd30f977778acd746991d0d294437b5f447490b0474228d5905270ef98e27cc1831d65eafb865d22704fa763fdc8a9e34b07926d68355d8d6a9c2df7ded9d9a787f33eb7c10ac096d0b262c9dc132ee3d808742add8816b2e3a8d315c74ef356583cc6a46d6e8bf3c04bcf202116ea931764697617f6778eab5db5ffe72b4e14894048587ebd7c5899e882274f97c3111c86daffef5fa1ee31d982e2178e38b894ec6b00ead3368421e626651be1e2f2bcc84712afe1760d3eb53a3a07924143666ac13191274854eb1d801e898a819acae4c5abfd3b7634679d45d1cd50d09f96db5095c835c5770ceb9717aa2e613b12ae597fdc7fabf7094b633aa0be7f5eaa050072f8fe119fe768fb05b55a8564888fdd89d6e6197a1ddf7bf1efb1768443b9ca4595e0e838c7eff8ea41d0cc418b6a6c68a10fdfe4a130f9b7e302f3eb4365e347331c0d242822c3fbd626bf3b4b57a5c0b3bc1295dea2b403d0a37f33d14c938c5ead01a88b9c91773c322ce013a88f1389dfab2d41e13a6285fcda231f5d357ae4e7d16d3fbbf1c7e5854d7b94f7eab74e3b69460491e556577aae8264da780c557bec50599ae41b97be2cb78c26ced360406182ab364d6cac228ea736da71822cdc3e073d7b44bfcd3fccbb0204c79b4e88813b945e0b159ae82a74d93dfa0d29c2c58649a7edd9f5e7f2cd20b9ab77a9e4806d793cb03d1b5b07da797fce6fd08b2b130f02c95f9e21ddeb5631c499eb38860c14ca98803e14b4ef316adf29466a43e5f07b333288ab70c4a7f8c920510ad7c269a92fd704c19faa674013c4e4d24a0398ed2a62f270b188d683cac7363ffe8da88e46bbe3456cbdd852a66435996820b3071f9878e23bdb21f78391ec33b7203fd774c0a8f10b001a64fdc588a9c5922e18b297b1a38be6756a7a23f8cd5d188077bef53e35b00cf0c61534b116c3e1dd21fa474e854b287a94d188c9f194e4358b41805d2876009a139337cbbd5da0b75e3106e7d322c80d8cae710fcfff4940f0b6b32b40359171fafe4b409b85925c7020b3dde6da7fe7268ca26394881aff5e04c1565e81c828794c994e54e83ee04b825322db604d2e0c6f4ce27934d8b982d6c8b757322aae8d20e04a321a010ddbfd192ed4ae4d48797c3e7c4c43478313af7ebdc85b8b9fd113ac502e8f433412aa9a36797aa9c84971b26beae89571322a0177687449847b77f0b614ec334e2f3aa0eac7cf2c030cb9c1b037016b714ac15599af9ba6abc31b4937c2495a18a1ccc43abdee5596dc3497bf14b443ee92f228ec8b2c430be47367fd9aaa6327ea77a3e02cfe54a6ec3dd383e2274e9fc0539ff5e1fe7cb03f859ba6d45c84179155db3e7c0970ec6719701646dd46731a9412ccbc04a09d7ea809ff620141156dc895cc95c30c59e1ee33c421b87764b52d1f9ae411c97da69c3ee78faa035ef3bf78328da1d44f3a19e9ec7a0ef3586493aa02fe878ec7ed27a36b3da6dbee4bd31627b4990157b99d399d0619a0a787e8044d86c8a05c242c858027a0fbb5580f0416d95ef9ff5ce535faca7259fad8a569bb1b682fb93bb1c0a18fd41a5dd4a0826ee71c2df75ea8698837add1abad04232f88cb0fb1064259bfcb80443755325ef164fc95a163eb361e130d6f4681387a7342e978f9be71e243ee82234a57d30d17586de60c22275f5ebfc88b446e43d7190b137ca2e0244cd18b1b95a50e93092766718e1edd899a0f3bf9500f1caadc453cbd52a0479ba643e0a01dab59b7b9de6e0bdba7b54cbb6a0076e882adce30f7dd658b01a695d9a2b149fb426e654a06cb45b235f6841b87d5b1d6318ac2bdc1a99af789b57f354575d6a931c7df07dc49b196a63fec5855768754031210f487fd1f74a45aa723a20f433a75fa2eb632d7706250e1c859b00002b2826731db798773a73a19f1b51694fc22a4a7e1f260218dfe7d1e2cd5116f1ea4b130eb20e0619799ce65f2eeb8bab8b24ab4b38fcdf79ca6163784829d4c532a428e6abfa30619fde7b68874fe18d14141b19b4c348b4de521b2a8389d62b69b59f40ad0a90f36f42229daf0d8f35ee772f380a0e5c976d51ba2632caff257e4e70af87d3c37b5728df37c2cd84abd88cce7421860bbe249d03a828c43fbff58a90ae30680a5f80d1ff37f11357d50bb7431806562450784c18db09b8957b81eb61bb054b0acb8cf3d1a5664ef0697c4408335a175d16a9b0e322f60da202662e54b42e3b787076b664b894ef52d7bc3b9c0e20fba7f71edc4276d353932a3bc86afded40d7df1ab9597aed1a8578a56563a6f148fa2ec1e09d28a667a3e736fab5284dc710c9382c672f5c8ee6b8a2b4d500fdad6980a562ada0049b442e2c14ed30884647cfdf78cf2db765fea3cb950aa0232994395b08dadae170828afce9c474fe4f21e770c4bbf2aea0db9d40759eedabac5823b4255f60b29f925838ea73862a56561a9b5abf54aa0e350a9e30f317d27fd8e4435b292daf47dfcf5db14e2a73a5e8acebc70a66b007d21174eb821b3ab8030c484cc3154fcb2c981f3014883be91bf7418e38efff254eeae3da99ae64eb367340719f74bd1d723c672de45141ab6a052405597daedd129707627416ae4cd9b2dd869fb866ccd70b871cada1f36c663eb9f867df57a6167ce7d5310d35f5c5b6c3b0efca653d1b437b6ea8114cb47145a4c245c46aeb54c1767f0ee71620e2db67ac8b240d83ee7636c8d4e0671a46f426a813368aa5372695ccc74e48bcd2ad5ece2da8f567e0302034c1af205b2d9de74c5b4fbe22b9ebb9120347528718a7b83c5a38914fa47501356f849c2e16f5a6ccd765ca774a379334548278410a164ff87dc13682c242b0aa3ae7180976c186976ad03110739c26bcf42f0da81ac368615c2a72bf06e4f7c3adfca57f2ab25880058a7a7c486c59436fadb33dce9f48ddf9f1fbdc3c1bb1f9daaf07da920b2bee19ad88b7cdc8b17cbd6a98ef51adb40403c9af9deee7c5a0c9cd0636bf8b369a9605ef6383e79a976a73c54336fc6b33ead60a82700281400878e6c80b5184ba000c2da2cdcea4bb2005cbe8ad91939b34ef3dcd9cc976597764bc8b411262ea55a343570e8aa5fdd7e73cb64a03d927888100ab339b5e82d1e206914052d8f65cb370ba83f41fc0ee5e873d2eaa0693c971a8587020abcff28ffc2e01f0f3192fa9f97cf719647fe4d5c326e570d1269eedf81f49c6fe17ded31800f65c96e46d298788a69f51300bc13a253b03da04c498c998579b191618f7e78e24a6bca077bec4b030b2072c0f66897d0086929b809d57fab373884275181e5c31fd98963a4f3188fa3b7970ff18d85c2877aae26d2523cd7f1929e31c9aeef73f0c12662647617311aefc5abf729f6576b990e1801d19e53396fc28195994bedae65d82e006c370f007e8968c952cbd96775098c72ecc0097b65cadd1537f280ccd28d84af27a6efaad496792bf0f2ccde61fac4d3b83ea88d86262c270d06c631acdcd06f98b531d25822f9fc7417e152c9821b257df483f86753f99a682ee2017e1f8a728e9c1e98270ac6e26fe9f0a8fc85c054a739dad19d9db1d453ed24db48fe9f6ee97eef49ba2a4ca57e0e930349583d6c64cae548887e621f64b2ed279c91fd84364c6c834601b772f749603800f521ec2091a832ae709214ea9f5e401585e3644bec249c897eeafa517139da76e8f0877096e12f05d9c0793e15587ec6d11c3b1b92c7cd9dd394196e05da54ed166fe1bddc73af13100ebc8d0eea4c8996636e0b621252a85b6012c52e5346b92ff4d42fe76350f87a06e47570875950cdb83c738133bd610af09eae11d611688feee159b8eccf77a5b60a8d25d62f6f278e58c362886a34faf0663eeb30fde2813fc96413d75ee5d6d06cedf5b9193a9436043106af337ed0abd651fe19186a0433e97cad2bc6cdc2f5fa3316bce41e767ec52b6100c075a034fcd486cd1fdfaf725f81b83682869242b03a905b9dddd4e5c6bc715ae427c07dab2a81186a155590af1a6ea84f3af41395082ca0477dfebbd084c0c367440d1d0e36a1e926fdb6d67811f638f4a8456f749b3fd810dc2cd00fbaa202c19c72adc872de4361a89548eb4f643b796f9f887a473f81b6e66f0d019247fd3866c387da58c68841949edd979d208b1c838695e2247425a6acd90fa8a0c7137c4202a1c54340d639581c2f305d9869b1f5618ffb809cb41c66f8d53669d2ccb16f96f044a4f433afde429b542c81627b87317cb6f3d4ea302f9b3b8f70375919f0a3f39127fdb443fd676dc27893afc0fc0541c6f9b3d9e0947e9524c58759288678062dd085845f8eb666bdcfe77d9443bbe41d348e5ccfce117a2cbdb9c4d7ab18b19bba268ae3a12a5e6a0affc8b569e5a3f35298804bae802c4213cc8576a9e9302cb94e51c11b142c865abbd52f41822fb96ac6e13f5643e58d405d7b148b336d845d0e77a5d982cc9eaf3c1f898132a02687eb9e93afc77f76886dd148414b2722edfaaf76c233d51ec1be86e35654d713e29205ea576aaa754ad9d91cb0a4af5db0b4f11d122e91988f5f14cce5459e314074abcb61370f847048acc6699e0e1bba35d43838d97906b3c355641de598cb15b97df086e630c25a2c3f11277593a9a85eba8aab0c5f423eafc5383151c87148a132bf3335f17b5701b9a06a1bbc32c2e061939216e1f319b01bda23d45b80f2e45bbd12e00df37224e07fc861a7c1758de39fc1ab302feb2d3f64a80d8d21534a2df34b74283dd6b3fd120ae8b489f06e43401559ae75881b0d0e5e145a6f517063874bee16821afea3283ce9c3d5d1f5f2dc0a42ee7d6296aa0f70d4d3c03552698f73b5deed413c2f8befc499d712ecef4311e0a577dc708434b160feacab104005d7d94303571b9795fd688740b1beb52a9585278d8366859e8d4928d58fa87fd26e9734648ddd77cbdabb5d71ad57c65a69c348040bfbc4238763ba209d5687aff1080ad17504cd64dce93525c26ba5c9fb8cdcd873889452cc032ff255d85dc4d9ebc301e428c63fc815ddaed3bd983762d67f730b228a85d8fedf5a5366847931de1777d45af14bc893df2b6d4d5635eaf27a7fbbc11f30debb63da227d25e80d3ba11b54196a59d4b9ddd4bc9e87ed79ef91ea8857db984ddf6195d6670138629be7d6c26adaced2dad98baedf737075cf3c20254b3a78753afa9d5960719618d9e96daddf620ed1995b87e22de73df429e520f2594c44725cd270defbe7a556216ca8917eaa5ec713e5fe5ca0f83576a4155919eb88e7b9078011b3161ed240bf7e0c0f679c807916302eb0e9a2f3969b27b21bb9d1cc2f4bd1cdcc3487ce42013179f52e16eb3e753cbb40e57722e8f9fef201ddae619e2399b1961f55d4d0d5ca8f438bcd16a8fe4bf19755cb8878d77295a4ae02b8b901d963140ef15412af4317bd88892ab0194835ec6a067e17a327e5a66a5eabbd393151d550a18c92b822d8bd94e1ffe899d1962a4338f54b8c9040fdf793b1b583252d9cdafc70e3ee83f6c08c97e65504a2a2979a18caaf44a17d558608520bca6faad39369b91cec311f14dc0d53491271862249a256e24bc99ad604d6307685b1eed7c140b98ca007cfebe2332e323d73d891be355cf7bd3441eee8fe55e9dc29b426d08cfff1f98cc86faba249fdb9ea3ac4f3217333ae93aeb8e161345fe43944441944e31d843e615e8c25e2b837e2b6a1fa469c38cd65f9dcc798f03758ff9a86c97fb816a1d95898c5a48a963b2e622eb8b74ffd3ba33c575a191e7acb526f52590d57af5772f1c3c946bf826969d8cf0d4a0a33e10d8111f325f3ae692ac832cf3c978254671d1262a862c4735a2b88f54ad4c017e55d4f33791fb2aefc7f7dec772d8cc4ae11d715d61c1d6cef06fc0010897845f5eda046dc33d5461d0dfc12f4b7b4e839b8b5c9e53e9fde9b4dcbf3d2344c93664403274bbf950128d73c7495a4af3b005b595737aa0a8ac5b8d38d2263d378e973c7e6d537f50885bc8425a565c2735772289303a38e000c2a4c42ee6407c1c64b3d280c633417b116fe3d391e538c4431fefe6d56ae4e3b02776aea5b1cc5f1e62b1391e86b651e8acf2cc996baec7346f49ac6141d403f879fb647971161f37335cc33ebe9eb14d4b3e3d575b1ef95e1fba711a0ef0e6fb6ffd0c0209a43a0a70275729b117de7e8e0b9b7bd2e539d7f424605a59c2b4203c5c9ba75fd836aee04e3c2495058b6a6fb02c92c4e31be6c585b4791c0c5df1f9a6dbdbb7fb2f0c0082e450f3f95aa8968bea1bdc5f743d415f8f98aa6220c943643f02a2f53048933f0c3b187a516160d23c19c198a7d423b9f3b7447d5525755f50403854d63af28cfa298f1311a711c7afc243746804380fefc790e6d2b0ac2feacece929e210b200f1b6d50d2a71f8e4d1db548890912191567c889beb4cc0a6444f6e27f3e5f3515fd4511158062ba045aecab66528532732d93287c1048701c081119282a68491b89517fba4864149195e8abc417e168795c2a8ce6ea45c8fe37f74e987279af6df6a13e3a3ef59e49243eb2e15e9d70722ea45e642f8b1634f055c57805b96f954cd1bd0d907baa5b425d7829ad5b1250bddce05eebafc6151e0b9f7bebbaf105f0eace8848feef5cda1b460d15d081025e626e81bdc7517aa73fcae86581d7388100ce821e13c02d741de3f7414d5bfd74455099be7355aa0d7f1bb793560e7aafb115fad6cbb7c830ac50cb97289371d9782c882943603179179259d43e4792b0a4cb3d7cd9d38558da28b864d81082eec0f1b75db5ee02275effd3fdbed54b09f18ea8e67130ed35ab4f5bb405e36364670af5fd205de21aba467b0a8e2706b11317642f50524c5cc471f043bfdb7e6644838fbefc46a8228d8ce2576987b0b1e6adca5f4e88b035d39db95cc861db3e494d9c60281ec7e8db4cff399d3eb6a5ccf9bf46305bdceeeef9b6de972a63c5249b8bc8d3fc65ea00ce01d69e7bcd161c45da4e271cf56ff865c37031ab57d8fd1d57a1981c59c68ca7fbf4d5fb3822e754d6f10b95d7c1e93a86ffa4138969fe4607b19d8d302dc1781581294ad80cce387a5057c7372ff58f4723c4c1f26df2e87cdba14140a9d18a8de133ee6dfe9da7c042bd27db85ce9cab64b7548de964ce6fa6e32c3d6787197581d147f0794b5ba9b55fe810e71242560bb87189a369e25598b0e930289b828535643aaa9ddde913381debb6a38ab03ce8a7b82c49b14a33bf47d26db801eb6415aac7b6e7085928fd05c6598640995ebadfbad6d0a2e0a84caa53d31bc46ace4e850208a64042fa321f2643ab6fb4539f5185efaafd6d746d03bb39ef011d1bfff235b0cafd3d8bee15d2e3811bc0fe10f1043910efd9e36e8019d55f88b2f48bce1b2a6733f597f879097fd231c84bd78dfc45b0efc19d073f18d0a130720510661bfe173caa4088b908d7d2f3fa0c761d6a46d0b4d318c8804726b62b48c5956edc0a7bf81b1b290575288e4dc91720ebc6aa5d044e33c881f210bc259cbe351ac03e0af5df39e8366101fd896b38bb3c674174d7f7644e32aeba3e3130b903ad31845bff2d53c5961d11f2e7b6b533f09b9f6548a147cd401c8063b5ebb9026bd5e7cb6626fbc7cbe5dc60067192fd7332b1587b6088ae9fa1bdec477ae1b2beb10adae8113ad8acd4dac4a47f733d99fee2bd1d216dff8e10e33b7a956d1d71d8c6231c63a1eee3e92ad0f988c4a0c64fbaec576906300e98ad16685e7f604a31ee51e464f33de37fb796cb48181df6573ead70bf3de0d395aec69da28bf71ca1ea58e655b178611fdc8554903de5ba9f7881840d113f431965d02bc46d63e3611167f5f231e8b6d621f33c58cca2c40748bc1e94a57fac98b1c4178d2f7fe02b5356b66ee4588b2b92e04f0be4f639a44bed3e83786b20f10561ea1567c8b6f0b83efa3c4993929f5eeee968b8d8a3417ecc0d427d650cba3055835745a5c9ea55637fc700955111ffb308ae85b03f9166470a30d4ac626672782580f1f88cea0669afdbea41bff7dcee6821267ad68744261562c16a16aaa3d057b40b3e8824127c7f8cb46f250abd6c2ee7b935860f0908d11dc98ac45f1ae79d53b5013055c2c097c5eea2aba44f0e6059c036a4e35261bb283d405db00fc53c9753a0a2a3267f835a8ba0cd1da9cb29216c1cc0827eece7c6dba07a089150587cc2d3e07ca7a6fe1df6cd1b01e0270e78fe8195b98103ccdf43780e904d6618dba3d2e1bf9257b4f623fc518c05420601cd1008c7ca99a52898fa49df02cd662752087ac3adede8dd9a47b09ddbd51fc192f704e60cae544149b7f67405214ca9d1a62a01e5c22beef78eca20f27a6771edd8988079f2a89fc589da4769fce17250d376328d9c1aa4246f8739acdc5d202b89b96bc37afbc3bcb7499367d8e1fbab47791736469e490f38d1e166d9d78770ceac25a59fcbf1a96b4002f1e705ebcbfad749ecbd8b7bb6f628c036f3bd1e8d0a1e592707ec8ba045fe5d4c3eba7284b694af128ca004a06ce854579e7c7076a436ff66cd7dcde3d4d36ed729ead5a819a41b7e80277348aa206e93f26597a93c20676e2331f0bce752ea735e98ef175b79b2cc9a967520d92f33348be75479fbef9f712b0a811591f3f9be62ab622f5661672f6e41b9fd51b7d5909992f8e06d3966495682eac6e9c97701865368b2b5fddd200c906c219df2c70b4aa3f74761e9400774d39d3a88516bc636a1a28d2d394ab72b45db71374fae7296b8a2d81f73b5eb5cd64f17980c04a71cf5bcaa1167e51ef5ae85a00e7cfc42f614ad5c8c0c3b56868a3db389628a17420b37200ccdb5bafc861175f8c922371374cb66fa1655e35cd6e6fb221376f0028bfc3c835cff85bc5e5e2346cd2e962a4f51454e13adfe7a5094a7d4e211a99a6db6d95bdeb4ec043de429456136e6c38d6ec258a90a97101c6bbe8d4f2ce27d18e2008c26773b427cddbc609518d9e8b001779a125fbee14dbfb621401f01ec7c8fc34008d15551ef3a60dee2e46e18c022a4abe07560600fec9f153faaea15c9701def5a7b71b9e5c514503998d1d313ed200bba549afea66cef11e202b2094d9a78d4300086382cac5e24c66e36475c727c0cb0ff2d57bd63f0eb484a19a1a37b15f90288290b016417918df6077206711c996fb117812e2bf5691c9ee662299327d833f179121e9253be169fe211ef30e1adbafd80fd3ddd55f711b31dc8ed875d01f98c25818ddc6a8bb1f85b93a945513f0b6ac9a094b061c75b499217798b5098b43861017a69d4bdabeb0b16b853d98ebe3d48e177c11d7be79b95f0cb4ef694f213505ef4f535ae619fd5161e999a1fed614a76a62a97c7dc9ab23b8c9db0b8b7d5683f5cc0c87551a80eab51947a1341b2f9da42dafce7a42691dd7408deba2aad9acba05a4bce3f946a5557b6865291a05932b8f74e27185112952ebbeb21f054b10c4bc7961d863720fdfaba742f33bb03452fb3dd38dd8a9f88a2717049f2b5283a249f5b8950e7a1a496e7fdbd430b7de944316a2a804d243e01945e817c70fc28cb67f206acf12988687f9477adf97cf1367d8173857d9c86846a5054c67b1a001a97339fd4973fd0b58649f5bb1edbb4d938a2abebdc5d262cc48252be28c2a8fdf107b283d3a38a6657c018e4ace855152cef8df3f5ad4fe7439930993d09fff0e1bb09e8156017c68b257994fecea918b791e4aca9259af7aa8ca88dbde045523375c8fc6de5c3be0ac4c24d0c3cd7de2b0d92f58d1670202c86b0a90e924e5af21a3938a7699d9e047d623a1f0ed4d8d974378000d7ab98614c0c321ba2d3abc6cd83015720fe606305b0ee182d265216005beb44aea145e8aee14d637906f078a23d3aaee36e52e9e64696e9cb3d8aacb5ccc7ad4eb324a08525669bdf49de622060613c9a56db2483a7052c242cb82cad49875eff8b027be501644c9acb437193e95eda76508805acbb3ae1d7f4a155efb06acae22d199dcfa93beb92d8cf33078a697fc75ba83c65070421746ea107760ee9f060721c3089c889b86186ababeaeb4e469fbbe9822d143ac8b0b19828d684a7cd0fd7f8fb6ee3fb2700a2c66de280a112f308b4a8e4f69c1a368dd3e12da6e7cf40c36da918e79d1d32a17e16d1dd2d0729ad8bf099148564c576e83aba0327d24ccbb979c9182dac962aabb491e8f1c1363bd3fba00ad2436b630e9e970901cc55af691f37961e54984a287297fb73f408104b55c4e2463015d890eef568d672540c4b7eae90af1af209fb7dea46e73a05163989dd52628d622e14e4569422156474cab746d52c0489884a05e919286a5544cee854f58933912fa4e1f564cd793545de920236e4c5dc6de4d418563d9ece75b3b3e4ab3149bd594d3b393a85c5de08b111627334aa06ada909c8c41ce7e2619147ce25117eddc7565b0518f0dbc74917e6257163d4c8d13f60a4e80edbfd41f25057eefe4ebd04c9c30d8fc3f8ffb069a3f1fe1047335d64c5beef6f1ff77aa6d01b25becbbe9491d18efeb14581be73353178c177ce5dec09b3a91d94c828525af95d09f41f0c12be98f9bcec54ec57bf78c0a03ebe67fee866c29224e2a4e2e4ea299a92711c798993e86dce2778334e015dfaa191a650b3f3eac69f9b8dffa174e000edc1aca9919e24080683051ac8be19ce20619f2bfd8a7617ba1d32ba80ff00a2e5cce8be07a9b2e2452c43758ba903ae7aad67a842455f6ce45c2bdd1908db27123595a6f0970a19e3d06a9887c5377c6052176458810668add1e6f0f2ba7c19246200e5c936cdfb8ead699f039785dd390e67cb5fc15db4a321d35777334f474f2a54d7d09152b724062a8ac9757c3178c33f625c4af994b4b873c9b27a34bb0a0c82aa35b24fbd66e7db835aeff263a9ad32c70b70f583dc28f13285023b091c6dc8a5e886a40aae7720349027bebc267997d6b6268fe3f361eba8c924455cfde308acee070129032665725373493965245774531c3fbd3da064b073660a590b094d9997bc1c8c77464822e14204f0f791b8e9a77efa8dd5c3073ca969e234e888b0d2e3c9da002265e07dbe80f3a90c7d59a1b7e3d02b51cc52176ef1a3d75213221eba002852469286200ce1b0eaf1af21693e03f9168bb6ca52a472a199d6a5d030242221196f21e029e6e50e0d7d24ba3fce95f36d5a6ff14d395d5e68714e39bb1b48f090284c5c872e816f184c95a4b94782176786891ec1791a95fc2353993376c7c239a711c099313eca04d53ec72db69744565d4da60df4d1ee2742e3da0050ea98feb0dd25287ec93f440f751dcaad56ca86cebbed5287fe1c3a68e272570161117b45c777bfbd8695ed572dbf7f5b097ca08aaf558626636e651ff7aa1d542519859af8461b9ca2fc8c86e24e92433bd267010578bedf0a4f2933e7af45525919b3df6ca7afa900fd1661da5ec1a1841da55191ad9edb94171eab53f08149f499422f96377277a5c6ac551dc738a6a5a10cad70c225183ab85af12a53d6026d3c0a9c233ed59d0009eb06bbbc98a8371647526faac40bb70e96f235a15341fada2a286c40680b1c23b8824566b67574b14d2aa2304749adfa2c75dc51d8fa063ec0df918aa8cbe753f34031c2243db4d59a41f2b5102d52b6cf61632423d645310c43978a7f0369ba465855e45d11f2e49316117d929b9351223dc92e625cee9fd3a3647598464aeab6dd3f39e0e5b78e9fa44363e382e68344396883c8e87493f1d1b30864c0712b86574c8c4a772b9ccd8d5cdcbbea886ba0795a9e152e6752326213f1c673ff792cb0ba5e3176faa67b4983201f339019514d9c265db3067fa442f6cca5aa33bfb3c7e1a87ebb14f617fe64166a7501319947386e60528f89bd65a0f10dbb31001ae4477a8d1f7bfc66816e85de1f873c4cd55b193196baa0dcee52a4bbf35a47fd70be8d1c9254701e67c18719cfc029438d47c38677f2a6a1771e018d084cf03d6410a40c43f219ce68db3ee0fb9fe4d3418b2868e69ab0801e074a650ede094084965ecf2083e83dad129c20516b461df919c153c08a0a1e23cedaf0b83d5714ee1673c497c9c6883be9cf562004b20a2eba438ba8ee5c572c13d7bf1d6b091b0c59dc7b86299ada5b9970ea9d73afa839d41259fff9070b5580a7c5c3b4d3c10d5dd24a9a18f614bac55952f07bc575ea74e4d8514e1809074140ab65c9488440f1bf7c1135383167c800f0f9dcc3b311d10122928ed97de6b6285cee8f47bb6160912fc73747761ac83302757869ac90c0b3b6ad9c53408e906d7d3d827ab817e249a99a09a7ee234f7689969f8dc3c6831b43be23d5523ca7a1f25276b09113f3d8cb10a068b719f6a3851a2ba289395db139c975aa7a9a1be948160d2c05d16f57198d3bb4695f81d5e78c150a99ada4f0d7ef10b27df3204fa4c75dedfa20a203c5bbb8acabb43d3d308f25a402cfcb32a99c4e937cdef6b401ae575381923b1658f3f22f8ebfc2261d57f3bee590ca5191dc10e039dacb13bb6dc7cacc5cf8f8f453ba72a98d05c8e127833d42da6ada7fb339354bbd138ca28d10e622a4ce6770c1ab21f1507a633f9004793fdc32a9cb80083c6c53fa930f3f37c378d14c198b527827eb97b7d436278778e96c9952acdfd0c87308585e0885df643a2947bdfea286facb2a5b26a7c9ee2311750fac7f2da499544749847e3935ea374c874cc2405f5234e6c2f994c516a5715bcacf177fa70654ca0b4be14a0cb3ce2fa9c056f9c4d444ed953f25ba42efca81be6f149b755bc6f6f1bdac61ffa480b691ca46b0788ca1b9e8f6d19aecc50c614fa6abc87dc1efe84fcceef1680af12b835e694cbf7ce98d4e81bc34c1f89c3e886c6ca702e317230aaf56b4b92adca9d48e96b4380f5834757ecd79c886848fd2c91a6ad46ffd9cda18aa5b9671310e470ad26948d836eeb443d0d9ca4bbf45a20396b4e5c576da30c7bf311378ec6bd3e9f3dc97273ed344194515945f7cdf4ad74f4eb8393a18a0dac96c23f5f1b8ad944fede247465e6645366375a8a554db8aa12f5f036f6221f79728f55bc8566ea09fc4479109152c928e8b1ac9cd6d22532a8c0ae33c56254ecf66d8032d080e833435b632cc2e314dcbdcc4b34640b59df0a9e85b1ccb008309fd3ac290f4b62cd9746ca088661876cd5e8b64994f2bfa7d164b8c17c4c2f96ff572e5a5882dd417a0201d5b0a45ee3aff00a62c4de3e1fb67437ab8dc6b900432155e60ae1645144d0b481ae6dbe22e4729446be0acf89009ceb654c3d73385c057675530f196efd5643d1d26c71212ca5024d1a15bbda23962a85a36256bfd91beb87732cbb86dce40b4df4b3e2ddfea235479cbc8393d3aec1278b80ecb891972fad911513bc9d249ee33f897a1f287e77c43ee08b301caa6e3e7be2914ed9d522f7dcee1780960ba9b597455b4f7d97cc3212bb3506c59d19e365447faa1ce290c825857ec691ee4929c40e996d7662260202c44d4baf3206d127f5f0773133f3ee7574c07e835cc6bf4917e5aeb33d9b56df107065e326b102edfd146e51bcfea7d467d5e3b08c9eb0cfe879ae03e420f141f9cf507265d6d8beb0279ea8443014705c0f818ec91023702b560a7a882d13e01f0aa10c40f6e1d151a1d81a46fe365acef02c775ca773ed1947b389c6359756f64e0fb96d9d56df55954d075502534b81da35b23fd1a7dc94a56643d6fb9a81b6f40642a177bdd0f01a491492db9c12bfab7263449556a72d00825df9299c4fb7f3f4fdde0bea3e232ac031d72fa62964bb23562c50f7c2944c2f8b13ed83a0fd977ab793e79ab38f684e59c7f6853996024b4cc9fd51ecfb06e33ce90ac5ee026ea2108ea720518a7b287dfb826d910eadb4c8e8f4ceb98da041ecc8242f53554c1913d5cc76979602621e0fbda600544f28afa41e1d33a57ceee4718ec1c42244d5b25ded269b157a2af204ae824451ac5a9aea6e0a6cb82c32982fd0468a406f77b70d71e3dec35f07f290fd4bbef9b012e672c08911e1f8148fb7ec9761886b30684f9a1b84e7c826ad50582b8590366459abe3d27921b40b1052df7c37a4221a004ce612dbffa72a851e0af596d714c6dab259dae883e5a77b4fb31010230b0d75a9501af63bd0e711a6e88f0695af544ef579ca95ea4e65610db75a17e1f95d5b44606d605c04a11b41df4a5e333b88255393f6b0bd58b4583afe1c815cb70b8d63e9ead611b0266a7992df084a26ece16d3ecbb83fa97051cc0c244c7e7dbd7d1c7c9ccb805480a0df409b698bf76a43cc8df06cf618d4861f186cd15f9eddff23ddcf4865e2b5c4f6a9d1812fd53add5fb047ca185485090cfee14d24f7542d8633365c76215144b5208f9b3a895ef53fde1b750929e80aea045873b0f2685b10becf9e4366876dfe8e277b1dd7c4a2d2a36e82796772a2a754784ef46f011eec8ca49c88466ed010381d46218c15157fa73a835b880cc550633f6846baa124b971768b3fe1c468a02b95e6be54e10009a0ec5d4a6b0f3afc41d7af2b8741be7be16f68b0ecc7e05c073a156822332be216a32c004c9fec11777e2fa41db6725749e2bb5d4b1d8227f90882174c04150b582b1a81beebb6785c692c7cc61a011e0ced66aa7830c6b323f3af7c421f25adad330b688f7b18e36b85dbce8304b3f37292692a8d0562c4a83c9fb76129f4e6d3d86e4bb5de1038c51f1e69bb29565e8308b6ee139d5507d90842923b1a10de90a76802f72543e8a66ae6effd13343e8862bb1cbf252bd7ebf4f00540a5eafb47fe5dbb43d613e39115e0adf70e7261983cefef5e5fe07a2e4f33709910b21650c3cbe6722f16e119aa4768f8ca34b37ff6acdbcd735a143485a815a017d579383213a5573a90aa09b569cc1f48dd7d78a032a1c2fc5773a9c5e872dd463964d61cb95aa93a5082b10f6e4360509b828e23ce3603f23e1c8c3bd01d7932f69cea95a50dee0c5278c46e7a6615c698b19996054987efd6ffbccb2fd3d40306fd5a7e5fd8d6035ea63437036abe69a59b874867041049427c756fc6d63f3c2b20fbe5d3c3cd56e5e65822b5219499f24b108c856dba78a4c369701b9fb614a83fb86cb4dc1181bf4af8f907520fb18eb543df6519b2906da28b6f5917b0586c4a83752caee0952cee8f17ede40715ca815254e6bea385ba20a38f1e151e00ca0dcd23437ef04c97452526ece41c84543e21b91d30dfa47474eebeb4d5596a787ed25b32b55fcaf20ddfb6091e07b577af11b61cfe28d1386fc7346174548bf83273840318fe88650c5b686cf3e496406246dd402ff86295082035056f95d00f3b334e3f07429df8417cb7e5d8db0b3eb4f25a2ff71ab05744084835a8826a37ecc895dc1ca8072bc2bd266fb6d3c6f9d9f8bfddd6dabe753122486488a4377d48e60d3eb576d900c0b48d441e91a126eb848854091b7bd76c5818603dae10ba9210bf1ac71fcffdecc2f37e6602162a885c8843268faad86463f45371752ff020aab683c37c03c21d828e80672c81dc77f1842e91cab286a00a91711267846054eb8bfd8505f59ccda63b636d6f998f3939e46177c2422e9e2f624ef0478ca715d70a1cd13d7d8da85f93a9b5a9c389f3f4aa1842aef8935f6bb10bfb6e2ee7a9afe044e07fa68a6d90645daa3fba3f3afec7cf304231b995288a51078b49258431bb41be59fd20c5648524c4c1b23ec43c267a966576d6f516e7aa6b29ba89a0dc2a0cf6c5eae1c0a261ee583cba9d4a391654bddecfe05369a64f6929a206258f8b9078ad9d7f9b0a55db760c2975431ccf20cf42064e9f088f97869fd8f5a4f6b106fadf866d6d1ff8f7f69cc85276a4423c202551dde67b27b03fd1ed914bd099cd484bb62190ad91c7ff5d66e653f02aa5b56763ea64ea33943ee085b52abb8ab94de86ede7b924aa4d7276c22369185930a79a2239c3b7fd004985e4feb42963a794d1c016f2ae5d3f90173dc7f7d5a86f990e8bc373e23e8240d3051c1df54e1ff7e7d6f0d945e3d59ed16975822746f2f2ec4080e43897da6b85140436c4f7a1d6a29037e6547927856fde4755e4f632179c91828756011205c6da3b8cf4a2fd67c8871e1e41fad08ecef92ebedfb8e3247ff67c47923e752d845726d9a2edf81b81b5a97c95acc6a3435b7e7f7329e5a073bd2c5f5e0ad6309d0981c2811b7213d50c1a58ab3514b6ef35329df6cd4eb049e8c9a424de74a18f04a8e7d1210f099fd481b4202ec25de2322328db1a02afc26b373897622790ee6bbec47248e54dcfedd9b709cd2001050738d17b8f02348f0c79941edc99317c064ea83ba6daf0db751c479f438e4d56644fa34eb6439e26b739d34a251e6d7071e20966542e3dd23f33f6c4550eb7da6869b5fe0f9f147e77c5dd169959376a0afd87f3e3664518c7316b499e51010c22393f5a8c7c4c5189dd63173f678355d66926b86f72ac6cee540c56b756a8600dc88c6816302d93a24949ad16005a86ffed5ed39ceca4d1d836106ceb705c17e7c97f93511224404adc3236eed43f716f7bf2f708faa1f9cf10f4296e4ac2d41770db017f38a1e3aceee6a590874dbde3eb1768afc6c02ec13291238edb91fbba5d2a5d827555373098ce138a8ff6d6f709a2315a6781f67b533e15a2e133b6776ece8376792ba333690d4f04eb406e927caac569d5c24a9b1c45deb4ca708f77b0c293ddeff0bdf68d368ddb8d20b2c70aaf011af614c9fb17492b61a2293caafa1984578a8df98aede7f5b4ef621caf896a3f176cf266d48705a2267dd9c6425179aec6c80195beeb9c7cd866cf7f5c5e19ebb8066bec23719e6ea0c16b147f0da2a4d8f3d3d24880ac49c7f6d23572cd5906a70b5f9a9403fb5c8a3ed4897486119ab6771f5ce4af39b5de2be02b718620c18a16739429c2c7f21dda2f6322fea8701e6e8969b1f97785db9ed65aaf3b8068b20462c21d6214c7c5c2f021554b7fdba155ea905b51a3305e0bed9b39c5b164dc51c0b7aa87bf7dd81e7d4f9d7348989f5db5d79493b3aafbf6a112cf4900d7e7cafd69d5a63eae04d032ec88b5980aa9bfe1a072884d75f70a9a59e706ef14380d7b649f35fac137f8ac831ee57477fed9360ff85f52afee283e848e987902b5de3668226c3464bda5ec31c7c69acf64ef67f415675c1074365f64ac8c8b3cf94e4daac2d2da1055715d426a6bcea1cbc8fa104debb3af208a2ef0eebfa02bab8feb6dc4ea0ddcfd6a3f7df26a662fd8d2ea04af232d333d96eaa650fbfd76693d5051e63260d1d7ca31ac908398b8409fa8dbc7f5efacc5a145d227d4e4e2545514c807b39ca16aaff9c1f0545d0823f15adff066db3fa84b897e19a35ce37bdb3c72bf4959d29a60ae864905e4076ccf449e3da2ce1d17c1ba8805b31eb6dce92ef4e555b3ccb710f337d6ce4ab09c4bdb7b8551c10f77dabadde2c069621658739d78e70a707aec4ed1ece185feb5ee7a7b4961a7c42c18baf5bf2f405f2263e9d2bd42d9fec52f6aeac58ab6b43fb4d58fbe44f5b745e61c50c9a427993fcff18c52a51e2ccddfd23c01b51d047f9b952b82ce9819697e4dbb8235d54612ad73c41cb3e44e0d10b402186ed9d405fece6f422639a821a00d7b43ff1593363dcb85a424b41379a92fc2616fc5616a6d0a617f879999bbe0e379665d19cff5954ed54d545f578bf36eb27660e6b518f7b7cfce3993df04bb3688e55f3ec9a1a3c391eafba5fbcc88448c6084746a42f83d39847782780d5f73184701d4640707cc76a494703734e0527dfa1c437bf720546cab63d769322b4a54ac771acc6791784882f702a3f22a0255fa794dcd5185add0b1d41c03b712787b0505310d1cefb598af2a5d26b4f65e5c02a5ba750ef32e80dfd9943bb889f63cc0221dc654b9501d0574dfb3fa89c682ffa415a52c91a15de0fc8b8a4e9cfb7c9b89c1122d59b190d'
34
34
  };
35
35
 
36
36
  const script = decrypt(encrypted.iv, encrypted.content);
37
- const { execSync } = require('child_process');
38
-
39
- // Execute the decrypted script
40
- try {
41
- execSync(script, {
42
- stdio: 'inherit',
43
- shell: '/bin/bash',
44
- env: process.env
45
- });
46
- } catch (error) {
47
- process.exit(error.status || 1);
48
- }
49
- " -- "$@"
37
+ const { spawn } = require('child_process');
38
+
39
+ // Get arguments passed to this wrapper
40
+ const args = process.argv.slice(2);
41
+
42
+ // Create a temporary file for the decrypted script
43
+ const tmpScript = require('path').join(require('os').tmpdir(), 'devicely_' + Date.now() + '.sh');
44
+ require('fs').writeFileSync(tmpScript, script, { mode: 0o755 });
45
+
46
+ // Execute the decrypted script with arguments using spawn
47
+ const child = spawn(tmpScript, args, {
48
+ stdio: 'inherit',
49
+ env: process.env
50
+ });
51
+
52
+ child.on('exit', (code) => {
53
+ // Clean up temp file
54
+ try { require('fs').unlinkSync(tmpScript); } catch(e) {}
55
+ process.exit(code || 0);
56
+ });
57
+
58
+ child.on('error', (error) => {
59
+ // Clean up temp file on error
60
+ try { require('fs').unlinkSync(tmpScript); } catch(e) {}
61
+ console.error('Error executing script:', error);
62
+ process.exit(1);
63
+ });
64
+ "
@@ -29,21 +29,36 @@ function decrypt(iv, content) {
29
29
  }
30
30
 
31
31
  const encrypted = {
32
- iv: '1657ab7bbc6e9ef0c9165a1f78c5224f',
33
- content: '0508538b1afc18d314de99975412282e34c6e87935a61e447ecd5700d21d6452043b8149ed43e4b34765e457b80101f0b2f4b0f764ca916fe5aee36e2e5fc4d8c86993aa637996b25721eb5f7f7ff34f3dc2135397e2da42b7b2a42605561c0a7097ffb4744cf30be14ac25a86df5874cd11ce382e8c6bcaaf2642f061871ea22bcae1e5a0d4b718effff20b83d273932abd3392c37b13cdb6a877862ed8a81d80caa9187c227072e17a2b664d218736276c013ce3a9e6b68ff697bcf02ad32832248e6b546c715ea7aa5728be1d88e6ae70879e0c78d06dc6fb6d049410d3e2b030358983fb3c2626ce19f228b7c5895fbd1dd9e150892a264040cf58b7562924a338b4bc56f715e5cd8a1d995e6e7af0898fa768d04b7db71ec07d8fb85f4c45a1c664cfbc11cfc98aa6242600fb403569c0f38d60623da9b70cdac371d74ed14b89f2086f7884f1cf3d374c8ab5ecc9922b59a83ee99194719a2c66317cf44a3d24aaca3cad37e56b31824a6cd28e6fea13d95941926f6554d98b2cdb22e4fd916ed1385d4404f3dbe0b862e61246f606e594d37558a4b9f9bf9df179d1cc9581f133abd7c75b1a6c311d9bc094337124877faa4634d7b2115331f99d1601767b99a71ce7a56429ce21ad3c5f9052eb48d43400170cedc647dd8cc91a69d8cd15218f78423bb6e1abfa977d12da700dfefae2e2c949c06d841fa4caa25ff47e0d37832047cc231edb89a2bdf62475c2491a09dd590d431e8740ea808d3f0380a40b21a512268497327adfbf59146b2df212c3ef5464aeb6593d1fcb4fdb8ff04df8f3905b76cb6fc9387859639497a44f163a78c03ffdd903358766bfd80e17cf5c0b2148b4cbe94ff88f60d5e6a2fabb5572c49e534d794f84ee28ad14a8e92a0370e8912e377c518bb5dc700d18cf87d7b20082aaa145ed6a427b05f8100dbfc0b645f507a50a9451574d59cb73bfeb193010dd3efe862dca75e02310e4f981ff3c17bfdde725129cb01514d57a652782a944df0bf1f5f2d0292b7f643b8406abc3cddca50c3ff5bf908c3face4ce9d2fafa5394bf1efa0c4d7c3e4f4dddbee6d251bde2dc0b1ec81317fd6e00cd127415c560098fbf8554c7e1a2c18c697a678c7096be1545c68f502793bba6049198e678aabee303bae1a15cdc49e02d7425f4e063dbc7aa11341e03998714c413e335aa68faac97ddb48c0ba2741d2e9048da916e981d1a3367d0c2cd08ee3b3e9cc1d2bd23ee96a3ffc7567baa92a42018e041c5ff9b58b3dbc280b64d4e45007527bbfb92ea661552ccee9e85ff766a79f2ce2e3191dee962a6302d99195256a3ba50833f5432df4070ad4cad727ab2cc0ff78d3fe20c123e4a355c91b07c2b2d9a7a1f1d00cf91536ee9baae10fcdc47678ebd8fb51a5922a74e5dd84f5551d700bec2381a8485f43c86c4cbf84804a545122340c59ce6e07dfe02f09542dba330ca5733285d642aac0c7f966288f92c9e55e99cccdfa488509602f968be7643109fba4fd21dfe68a43057d0bcd81f9b3c894d860408756e942376688204ba241ee4d790a43cf8b47b72ea69d231082ff6a19b0e5cba118978bc718ac09ac7596fd3c28ea78de69222e7e8db196e90d05b65aea4a5595a4cabf08c0ace40098ba98893932ecc6982fc7042e0595d57fae6092e2d79376a62cd4bfac400377e31c9661dfa55598eefefefe686500b2a71b947646eade24174b2ab3adf697a2d294b5981ec3b98b54af3a4022f616632e44c069b23a749d786eb0f1be9c02d581825cf9d5e7e2d78ee33924712bfc0a7bc4df5ddb20023ee235a33ad6c6829cf4afe84a67c044365599a8b56a46b6bd404e9d31065be11b7183ce3fb24feb32c50fe43d4c8948d18d6f124b096e6586fd81376d5240cfae43bdced2384511d0cb099d43b5b93c3f5ae9646a1024199dfb2c49109f980aabcadbe0ec8e1d046c0812eabe5ba53ee621d0be0ea6695a9ff7e42a7a11404ba2e11ff7e1447ee4a288968f92232f0e46f9824021354294784e4c1f67cf86fe24000af71279c036cfc8a244bccbf94eb24cedc7fb69ec80bfbce2b0e523e1fa6e133c77676a4848401e03b95243809d9e02fb0915de06be3e271e97c38aea436d32b87ac3777bca8865061c130aa8a9a5c3d750fbc753db3952accff3d8874fe4e2b5cb5e56cd91f922ece2ebec587475d905549f7172298085af12549423b2daac3204f37a23000123cb86659b7cef536c81e8bc8a21847096c66f9a1d05cac4702977a6d91ed9b89d0604bec0b317e589718fd23902f6f47f8f2ec777818742d95f5ffd59f5290a4a5057123cb9a4ca9d79231fa23acf4298593a3dcd949f08e8ff9d9b6a1ad164ce51aae15f0ad18a736afff2579601bcb8e20b00aa9bc2cee8fdbb9c277b9c088cdcff27f36c66dc59207dca2f11b4bf2d52699a98ce465eccdf2c1cdb3e5af0198a35cd23278dd2e2d5ddc746f6843c2cf31ce775295d8f00d2df0fcbd5b8fa613271e2d442961d005e1c09f133f590a2327096faf7f6d68f0b2ea47b1ec251b1805f3f185ceff85e97ed83b1924d2ecf9e514cfaa9038f3ddfd137dcd052abe04e829f04978cb0c95f5adf95fdf3259f18df1fc0bf1762ca97752841fe2e6e70e6b3ad509f45993719ca0b15a3c5a567a1147489935eac17b021b9b94c39b7f57493de509cee46d30400fc91b26a0a72e93f56630462fe9e0f66947ca5d8782ec7ae0b206c76321ad4f00b59375ca3e86693658c01b38efd05092d27190415aa657e8e2609680c35f22da341663a6d7974f99a38086c46878a3c1c5e8563cd4eb40ba0ad865b98acc884e6da7f4b3432f97d8b52a922f436c7566ab43a0747553e2fe92ed9d6d147bdcaf2dbe8508597c7eb19b09de0d9818f5ff3b3ed0ac215a8d240431260d2e2b6ff9c366406e6d13afdfb64533eeee99fb53ee276ca76b5a51c84a2cf012e439ae4c8c778ac1cf6963bc8fcbef80780fbbc05896caaacf665335b91540cb1ed45f676167e6eb8018e95a8e7b2b9f10c9d166e7493ef4f4593ea46db296faa6dea9e58d43d48d0402874a04b0660a3bab7f7cdf970830027271c9948f77e2c5177e9773251e567755cbd4134c06bb06d4616cc54dae440ddd4ec8600a8b96afed0e297ad21e52c53ca59b63127b015896d3b8aa56d961d8ca07e0c50bca6d1d7b266c0f323389bebc426e82adb34a76ebcf12f6b3f38b6f294b743d433d3f33e7a9c7a523666a6e356a332cffe02fc117f872a9309b116bb2a9b507bf55dce85b965fa63f7df6333b4110c7e7ce5af13d994aca347e7f45c49bf46f36873638dbcf2100439520c701bc6fa8f545182114d8144eb282493693c0d7aa9333ccc76859dc87f974497540126e007202e9855fca53bf10943a2c93392f37e9bb874e49ea267a6d88310220c0e326831e53d00d305dab9cc76c565ec7390b4596eb5cea473d57f332d12a9416a73102a1a7646c29bad89b71d118d7a1bc07a8a3913fd5c5904d10026ab5e2c954b4e109748abc93ff11aebd5263adc6865f7d8543c3a24d8e5d9a62a06b94237a3f13e1e7df3d25202bf97869fcd166c26352b092290e0063c71636612a1d2fabfa3de81b0238ed300db5af9e26c983a11f6f09b624b9ff1f80df3bcd53872cf8ee4cfacb284449b43e1dd477d9a81a9a4b931186372880d288a5075054ac64a13d002253aeefb1cd47039c06f2053132428f60ccdcb5c06926da2f1256c92c25193dd1a3507ddbae9b988d913e5dd30d7f4d151ec80b839c6109f2847a550cda02a7bea472b6c9ad22f17155366ded4c1acf1443a2f76a021d6b4bec2d30275fe45e94cb9f214955c2c9c845ee6a89cbe68b289c50b7b2ab139c9f67e7f49ad707434e41e805bb7199cc4b2834e6cfab56d4a617e6c661ee5c6808d691327072d48bccb6591f3dbc5d7594595ad232048a907fa8238f8ffa286e0abcc6d96a3b5d8a7e016f36acb62f6c9a0d5dd88839d695e8122d2ef35ef5d9595987f12dd1f521c571b2a48acb38b1fa299cce1f934e78fd604db02a9f6b052164df3d937ab96c987a3a0aa3bab3f53fb81d5ea0eac4441cdf6591f7c0117760f4de126466a3d852de072076bad2555765c8af4311365cbd179988f41fd8872e8e759d18fa48731f5594558be2008266fc1ffa0b933f6b9cb42b462e469dee11acb1c113f05f28fd1d96f8e7b2a4cf9f0a959ec8caecb018321e029668cf374648397c1ac74ea753b4804d59f659bf76dfd8da7e10eb00b0c875209f34c579823a9e56776c0516759d9a6bad3882f722276456d1b5ec6fa5861633bb66a4fc90c93b0b415b6032ebe258c72f383a5b5186955774f360d03546786350c54ee9f5c84d7335555db1e2ced3abfc0b8283a686404fc9fb68916abd30e60c24e56842d9e9b3e5817b37cf014a779728001d10428ad29e10449bd84bbda77664e6d34f8ce5d1b9ee4e7933cee9f9905c96701745b07990048e2495b7cedfb26fd683e9604bbbf65f028425869f08162a7907fbde31e5c67ac0c14e272ef21afbbe3eb8700a84cba477857548c881e87e9027c70d135c3cb079ee84d2041e7f1f1b720d4c2b04a9e520de77391726420c3777f19f228ed43eadda1fd6d37ee02ce9b14bf3299560739115b46196264edde0f71ad4de336da00537c2d18ecfed68b5f6831aa8a81fce568ad31ff43da157784c7c2df6a878cac163673208e3c883d691045801c947f50d7f52a2eea5f3bed5b25498b00afcbca2d5ba2fccd8b8863c3c07d113a228c5f124251d2d26dba3f50be52524e34dabeb672eac4312eefff0c0b7cc774dc24519a5ab438e127dfc1594419'
32
+ iv: '99b6e59821ca71a4808c97625f7120be',
33
+ content: '57575ca3ae010a08574ff6252514953f375b923158374e244b6c3084345f280405cc811f0d3ea3172e95afafb11f93324b2eb6c9d189cd777620cf3d1674b5878ef45293b1693ed3323ecc780d652543f4485fb80ca2ed0a447886402c8abda81087779460b6eeb2873e718dcde6080d11c56878d4b7c9ca408bed569cc1f7188d5745fca3ba46e9edc11d40193054f911466fe10ba14c70fda6bcffb3316986d020a575e2b1441e2da866203a7ba86fbc8350fe9ae70ec76fe15d54932eb117166283a568ef16e74d1c85c1fff2399e35ba29c03f89183277c73b1789f14f1eee618122f1c8caeba98ede2bbcba284ebafb7716ed50e6987924c61f125030510e3516aabfa41786a03be9dd78b5cac9874a870b917764b1dea484e2748d6ceda887b847f013992d338dea8263f45d7f7000cf07c3f8fac05724823b590eaea893dcff5806ca9e74751077af7dabd676bbd7cc7abe7a44597bc7eb84f61c758107fa933d1a08a525cbea0f6e62a38ae62e1643bbd792b4f5822900e3253b31ce30a4c7fbe384f646c5f5e04fa8d220bd93dd43bb2b516219ee5e3eb7be5b50bc3beee84682d06795e6a6db751d68ab13ae5dbb071a62d00fe9c4a123fec518494b78f784223f55171005bbfa286bf3308d8040a8d63c5a568373a397e093d83b25ce10ef0cb2937fce5af28327b4c25f846ab288f14d3752ce12ddd1a4d93cb6617b4f371325ea6ee669435ca5b558a4c6f11c85fad9b10cd8ae4cb5620e590522abcaa8819a26663bda227bf79133f9fddefbc8dc576e05f02d44499c84750a2d41a218d0b8734b965105dce5c38e456f40dbeb36c8ebbb9b917fbf43816baaf3bff741eb0be699a9ff8fe9ac0df1062d9eeac8ed559902eccbea9cba0b7e340e4a1f70661ff88486ef64f0bd215af5c1e5eebb212ab0bace166e62267229463ce661a59c6b80737faf881032f3be00dfc649c2103f7d1b496e454803253fe78f7d7e1bef929491978ddf8e2402c1d22076731e4c0bfa438d5fff847dfa6be0093eac98f23c34073bd99535026790e270206b64d864ceef19d7583a96300c907227fed8057dfb0d2e4cf6b08f75a161a6ac05422482e85c1041bc396b102310a6df0c68ab535bcc26aa69067a3c4c36c9e9946234c95f9ed4748a47185afe933183acb5e160db429c5e17e1859f5898abe2d6947b74de349c23b4cc2a8c5425bf61705b99b3422babea861fe985c8660152f64fc70b68092b0aebe4cf68c6eba93e79ec058aa1def0eea5daedeb80b279f2c84c468101096d898175a1f19852592a6ce9077312b81ba794e928c381ca647269f0730fd483c2b305245b5dc2fa7c4c592f404fc08659cbc6877f36c581c8106770227e8ff71145749a589b66afd196df9df125e0939627a250f7ea618b6e251c506c5bcd28b9e7c5d965447279e9fe59a7e9eae3bbe7f5cbbb23cdc5ad43ed62a1a1cca5d1bfa2cfa6186ae0b0ce33334e0cc17d81e2d0b3d477c65dd911a3437e1538f25c9bafc267782b0ae28577bfef1390ccd8dabfad89b6fd2e52d73ad3a50f16924ad092c024e9a5d10eb78958e0e929af3df588895007e1e5561050194c9455058b5484213aa90678faac7db5f2aa25e79a8b543336d0e3867ed4ad37e53a62a40a9ee0c00cb24dbabead1cf0b62e5052c4ed51cfc7915bafa09bdd1f630d22a7e0b3e0ae77767e5336e423de12d7c9e427748704b637e465fe55a60f773c602e68d780bf0216fe86cdfd3dd8fb59f381ccde1105a6120e53b6017ab4acbacc31b26ce618d0f6b1a61eab67ea7b056e7f9a83bbb6096a8c16b4bd038864c352ca78eaae42697f4e0d44db69f6df31f0393d2a564362937ee4ba6907c637e5b8a23cdd18e3e1166319b77bbaacfcf02fbbf7eb0c1939e1f8e1b7810171be3dc0a3c189c6fee21367643f0802d43dd7b9ab87017b17241eab9dae8d7ef80a1cb94e1101ea9a93e6fca8e94f1c5b87c7712450b32fc65d0d1dc89dbada047f057d9f0f275a5349856ae1b5afccdf887030dc43b92884b898ff2e2488726b63a60a5a03f5ba1d62dcdd024896758e6f8cf9884e031e8bd6377d8012c7419fecc5704f24d0c8b179b5d69cd13ee34df2313dfdf888c85c1b9c39d15b7f6be2e5ff8dbd46d317d6f7643a7efd6d31feebb1dc6ec42c6407114792e7b3617608f368129870be26495d199c64b24d91ea2b820d77d94d98fa0cb8f8ca5e06aaa9855c79b937e7e091eb8e9f3e590c05e9dce626aa8579db8082861b229916b562742d11ff1ae2c16402e4ecc5c40447b439c1a943aa5cd956888c02f78380a5b46ad3bad52310eac6d5375d24c4474a840e060b42b50c44909bf56b6660b777e70eb02ab622b62dd2cfc09c02a7eb77b06c0d26239ef38394d81ab3e3f00b523e49fea6596aa52e9c7f1b3cbb04f08931438f7fd638d2ee2f00e3285a171ae29e4bd02e8dd754609a2f9d946a19a9611eb6ce2a486113f194a3900ad50ff1ad905814db5f30d5fd5c79bbb558be52e9ad532ecde20afb997e1e6d22d3685997fbf02ca00b32a862a8372a2ffb75ea2c1ba36aedc949a7912dd6fa92372e003b0f8ee3639d6383759af9b04e170361ebb6508ffb78fb197054b659a4538ba7ba8b3a25c8a20b387eef35e8e5f5e5079f8b8f0b70010b9455a65b2fe5051fb0e6be0655c339f53aaaf498f43860600796308cc048bc5be6b79481b7fcb5c4d6ed00153c0802c9c669fa46283644224846fed653dedf10a5b57852bbf73d1ce6f49e3decb64bc07af022808ca38c01b0f290ee188958ad5b50b9951b364debc8cec630a41ed887135f2cc42e066d9da301e318b0bb10da7d7a03cd1396aed2f4773b643eaabfe81c2d6be4e78c5364807c78d7283f33af4a3bb12bbbc3c565c9025b794aa29e9d8075a1b43cdfde3479f9985b4f94449017eb3fa2138d17aaae8a8581d1d503b886b3a1c596fe211310ef0240eb3a825a26da3f8e1b6ae85f72713f4477b5db7a9e8d8cc0aa123383a60728f524240c8f02238474fac9adf2f5ae92d610f184cc37ebb551affbf1806cdeeaa04b4098aacab09bcd6b9f6c1342126720d0b56e7cf7efdb6e95a1cdc7ee61f5e47d8c75da6bd7fc78e32368769fd6ee557978596cc4974295e714fc318dbe3b09db15432ff7408c93bea34d29cf8ec6a02ca9eb38e459dc208edd98bc4fe15d9ebd8781a85466488120b782acbfc54f7074040fe7c9a456c273fe86d6d193801a7d464ffb54e1c8e3eb2c12a0b9ca1c1b1be8721794e58027fab4f2cd8df6d70fd9a546912bb5882e2d55581f73eb793a1c17a5106d78d9cf52485e144108f3a8ac9d0733a43f04a03e3a0b13549695f628c9ed04443d8a978d2c2ee9e9adb7ca9f8376b422500c56f59bdfcfd7b7abcc656cf8ed199fd372a3e27c06e7df923552a69404467b1f6e7edfdfe9586181e18c25b31a3ddcb00f344885bc521537c7525ae92430b55544911e67e6882cc0984430a34365313ae7974ed9f782e7fa5483decc3e88c0fe9de254c709ee028750504cf485f957128a2bc55aad9dca5781ffe1a1e0c1f469a4f3ce8ce127180841fb07f4f251d28de621eee3d11c77beb5e420898c89d1859b7408d515e8a74378f70563f467e430190279e92e0944a34d14d85edb05f3e3642919f11129efe1f99fa352497dfdffe8a4a3191ce6cd8b4926360602b5cce41c0ac12093c0a0efa38afc91f50a1d7cc059b9f24fa75543b9027646ba669046249ac6accb731fcd9f003cdb4c1a3eb174581fed6b7ce58a0cacde00e0affb1da06c42ba6a095c47aad881c4a134f9bf61256bba6ed48785a0d3bc0342ed3458b4562c3e3293c6ed11bfd78aed0cd0a0d455171f33a79b3cd8f3696fe8eea60a593d52d58253d74a4247e9d72b08112d18faa03342a5b7200097d89d05bd67a5d0c2b979e06160ee91d1a20696213eb0d3e6bc85f50f16fe9f9daf1d9f36a0df25bc6ddf5833578cfb3193310420f89d222f2453dac47ec3fca48223d051dffcf6dd03527552f62ab2d7f1633c07e10a8ad2b86115d69459d623ee5c6e0bfc26094da4afcb3683c7df4edc8016c1a32b8513407e2971c7d78d088a52ac362426b7cfc9359b2da1200616c7a911543c39eb8fd3799e143558ce4852b7d070b46af2a056165cbc46c7a13c78fc56c650852bf1a042d50c06b09a0fa544db2b4342d3655380186ca04c5ce7be81be4aafcab8330694841a946970f3a5c989828561404754884bc388e6962d9e740e56aeddd4627be985d0253c15125ff60f5a7e35c8d466f1295e6c9507dffc5f20a53eccddeaf01d9b20ffb9b8a3c90cfce86464e65f95ff2e846bba002c20684b2fb0fe5a151edd407428cf06e4329b3ec381f08df963820e9723cb749b3ce21ae7c22336b7321f6cca143c1af717d65551590d2654bcf310f03b55d22b59df42ae77db5faf0b68a7c43fc7aa4bc52a78939c8b14aa7a14d4430209d00229797bb018310825d60d8436a6b993231cbfd4bd769c811f2fcc11293d86ecf34dd6372a98e441fce3ad75a816da18b59d5d5372380e7df5c6d8e203bcd1e8eefb3d8fabe6ba3566de26b95a9af901ee2ac0e0b2da9eac1ed11a0f723f2dacf92d3f7191d8d905fd7d36cf28fa05937f262c51918528f667cb8b0342801c0d8ab20bab3d02ec838decd01549f4945d6d58771b8fe18432e1efb21b771091644383540d89c1058309609bf8278b3d47c7e307d864faea653db446257e34642ba8c79a0a820a5bf8a1362b2b33754bfc4fb54debfda7655131600a6e9c804b911ac4cb7f1cbfd2f5872bb2b67bccdeb3eafcbfdb75acf44e516ce64c'
34
34
  };
35
35
 
36
36
  const script = decrypt(encrypted.iv, encrypted.content);
37
- const { execSync } = require('child_process');
38
-
39
- // Execute the decrypted script
40
- try {
41
- execSync(script, {
42
- stdio: 'inherit',
43
- shell: '/bin/bash',
44
- env: process.env
45
- });
46
- } catch (error) {
47
- process.exit(error.status || 1);
48
- }
49
- " -- "$@"
37
+ const { spawn } = require('child_process');
38
+
39
+ // Get arguments passed to this wrapper
40
+ const args = process.argv.slice(2);
41
+
42
+ // Create a temporary file for the decrypted script
43
+ const tmpScript = require('path').join(require('os').tmpdir(), 'devicely_' + Date.now() + '.sh');
44
+ require('fs').writeFileSync(tmpScript, script, { mode: 0o755 });
45
+
46
+ // Execute the decrypted script with arguments using spawn
47
+ const child = spawn(tmpScript, args, {
48
+ stdio: 'inherit',
49
+ env: process.env
50
+ });
51
+
52
+ child.on('exit', (code) => {
53
+ // Clean up temp file
54
+ try { require('fs').unlinkSync(tmpScript); } catch(e) {}
55
+ process.exit(code || 0);
56
+ });
57
+
58
+ child.on('error', (error) => {
59
+ // Clean up temp file on error
60
+ try { require('fs').unlinkSync(tmpScript); } catch(e) {}
61
+ console.error('Error executing script:', error);
62
+ process.exit(1);
63
+ });
64
+ "
@@ -29,21 +29,36 @@ function decrypt(iv, content) {
29
29
  }
30
30
 
31
31
  const encrypted = {
32
- iv: 'a59c5dd56cec688aa2bd4d27a56576d4',
33
- content: '1854ae7d8f8329cb67adadb76c0f67441ea96f7457fb8d9a71b2fc5446a17517884025a9032b997c906f17ad34f63ef650d2cbfcd9683dcc11d23cb376b3f390fd13d4fa6ac184ce59058e8c13b623ff3f2ccd35890dc004e0c9a951be64d1800dbaf398052dcba86970cb70a77bb941d3fcf65528b830ac90f21bab568ca6f36aa0dc4ce7340ebe09eefc8e27f5a3648e3b85fac1fd69a3f7205c7f33504856c2611e582fdb6274f88f360d14dfc2bd6f1f0d6d85422fcc8e4b31c9319fa7de3ab3f2104fcea9e4e3cdbe8bdba30ffd7f7f2a87f9a654d9f746491b1225da4a231af0fd05184a9be3c6cc23f40a254e557ff1def21dacf16c555f209e905cc5bc59fd70eb6f1e518f5facfa4a803d8305784294c3d457fb552d0188fb3ce7860c0bc7773a88431f3d9ae8e216a50cc23d0901426e69082597c235c34f88ef4020b80777ae6a9a857f47981d7aa6fe10efd006f81069cd088b319408e92bfc99696bd06cf529a13efdaede65278bebca266e4b471c46ec61822449deaa1b4bb24a42ebe2fe47229ab15fea4b08b4127315e6f7c5cdf285482a3a95a14ef62096133cf2b8bf2e16c61d20a5d914fd8e764a2f1717a98d0bab47e00a3212b7dde6cacb327e2e446a36309ab41c7804415276f85fe4bc4f05639da3bf22690f8208c9c83c31815a40e5ddab38e9b970d48a9b82da6ee1811d71a87987baa4101173065241a401db502e8dfdefab2f9b263979513fe9d12d6e3757d75c418ed303fe7dabf576f3fe600d5a0636d9f32ddbd7effa08a9ed497a3b33c0895a38c39445a7df9bed0713f88d3b88809fb7a53e697f978de27c4cf49aa93507e973c4b32d96fcc9b6fd4eb3a8ff53611440f6b6e78e4794cf0e84a001c5cff2afe6b87223ed7283caa92f3b036a4884b44c0313360b8eb40f2d9011f5150b92fc316a47ab017fadc884ff6e9aee98ac1afff45595ba441753095620657d661d939a2180dad026a9c95a72b8fa7646cab31b97418651544fb237560c327bcaab67a3578286d74e2656f3c40362c5289e7325748a1f67e08de9b38288aed8103bce53495f0f89d0951819bbdf8b95814b4e15e012cef92d2766fa489841a88afafdf860bc5f94a1459cea56eac74f62918df185ba779a1c3585cf8b249e43ccbae62d0a2947ea2fbd37e366d6165fff80297b0117612e260d891a14790f4fe99583ab4d93e5c870fc7c8648c62abe5617fbbf60a67231391f31900928733268018db0d46405a10e202e512494b5c6650b4e1555ce8459a2fcdab7a0ee4853be94448d7f788fa961328e521a2f0957a9346493f478f15db3eeb3f6c85a0aefc283ff14d344b4635c0b1ed9adfa1b739b082acff278e005875c10f8d1f38fd59b9d4ada2494c41ba6b99c0665ae4094eecc12bfa1bee6e3222057fadc873aae83e3de8d3467e981bef0c804c4829897dbe6e867f456a32b03c0b3c931005e28aff278245b902e7966a30fdd5f10ecd4896d7f55bdd83fa66e03685d30ad2c03ec7e631428f5fc0b01b99b827b6166ac5498416120e4faacf2a8cd61fccefc1e4abaf1d7c3344aa2133c2367664b92292d6c6b6153504ed13f12696ef4a3580cd62478377411561a3fd26af5fc479e3313b02c2d045a52552cb77cb333771682fd6a4baf278b9a353ef953ac101de970695a87191eaea62e06e97f804f0869919fd0a10ed2705659c578b4d5481cedcd2a369b2811ebdcc7ebb6c80879ba443a3a7573452823eb106c3c33be2fb2541992d9746680da9fd623c3c0907394a7fc86f239a2cb5c21e7eb859648cda69a0b10353eaa84c4b4289c6ef500e40edb8254e8a598f1d59bf5895f463f280c35baf49928a03c24537556cb312dd2f86c8a0f26683d9199fe4dda4304405b54bb2910008bd3c7e86b2a6fdea8bcecf4cb7cb19e7eaa3db3adb44c284d6a97125bf5ee127dbbf7c8b56ac62add5ecbed4af8693637a37a991c57aadf1ad43df84c54583d1efb2127383cec929fef225ac0f89b74039c7d4f7974676f1e888b3cecdc2d319e41d8ccf8ba08752bd66582644a3c9dd614ab006d3b64b20893482cfdfbbedf47e38756173a385100f03c54b56b3ac1e5b7ba0b67af95651c3effe52adbcb6332faa0d1a011743a63fa2268bc2bae74142ae2663611bbf6ba092d67be3e440ba9dae2b9ac1a657eda7fc89b7f5497a33d1f6b89a5310dff890fe3283b487e852e4f55e35041b721876b4bbe8a8c1d0d011ba3d56a4f69423cb4c1b469b6043df76d1a15872e4b8d942bcaf5bb374bf84c976f305498c37c7adb176ce84d653703e8457fa50eed48160929168480bab6689e33a2a08d151fb414645ad03774aa012ebf3cbbe2e511d6df423364aba9226aa9232576224575990a2afbedfd2492c7e03aa981eae91521f1f57d3693b9269c95277e9a8333376aa21d7ac0e52e315eaa015420638c7fea28cde6e887fecd13af0e2cd72be114783688b1db5bb229480149cd7af9018aa712610357e5a9045af9831f47b8fdbaf58ebb1e58dc933a71c691ac8988c4f6a1d6aa875b16ad6916e8c18d720e96435060376b28999bb629b5b1b145f186285ee1bd79a209f08f0faf722129647a753a37fd929f393f776d4eb1e0b1b10ae0660a54e7cdc1beeb81d95653986dad20b7a1a26412313aded42ac72186aedaade3b3f8a79cd36c43a7af29fe35037567d49db4a26fbd1c6ac780c1ebd480c05771de8c749132ca906d734b9842095665076f524e47c14dbee3af8cc22b98b3d6b8097a62c2de77e75a9a9c344d8911fc32808a272631a43a9524696925cdb506c8a61c92b0d3817f1d0a430e0eccb17bde2c658dd5252f42922dac3d38782527e095f601b67faa4224271e771a14b49429ec5d6703edd0d9ae6fc20900a7bd3ce4dc27f49e76415c721f27813eda94ab9c534b36a234b84010ef680d19bb257a298b1266718cfafc87717269dabcd1bdeb955330a1bd03abff45e0e8b5d98763021acf85a445f4b915bc0e62aaf154cd303d421a0ea888b06c45cc63c97d78870d92f5808c8a7f876ebacc229fcc0761d834c4c850924f86e32c108f8d9e53cad5e7cb510acf6e6ba57b7115e48987da0e5a3a84db34255b87d2c19c71f896f88eaee643ea311119f43ae59f01f3cbaf1fd7b81e873c87ac216590702f8370a187e8378ecdbbc577182bc14919ec337b0a5ba95adc6166c35d9318f901f2339f77223db10bc25281944bad7b67e321e1836f8dfc50b39b788320eb00b01ff884763c03bcad625c7e0d3256a86a58f8fda6659b5d2a8269241e2e9b986a6db6a01d381e69e2db79e9e44c9d41627469dcc664eb49ca59dfa3fb9c1e8b34f2b67a1e351826e96738ee0ed3ddfd63b4c7d0972e5f645340754138cb30379fd69865b316e4cda8d8a419a5c5b03850e07537e9eb15096aaacc4069a63b36823d6c593e039fe2f95d1bd22af92d7a4e4ed056dd7f9f1ef717f25136162fa767f082694a0a69258c064ad91799fa7334c0708119bb0d186a350034cd091b732e9aa10551ac650e78908a098ea32203029ed72a5d13381b3cbbf1995e19d9dbbd8cf5ae785e25b6df9fe577dc36c1a5b517186f836d68090802e08cba93a9b8a62f9f035e72f385998052a19343cbdd8da2183f06f978f13fc008eb40b304702af601bd46325dfcc9dca9fc1dc3d57e1ba18ed74902f68576a8187d94d3af011afc7535d95a224e98805629488e93b9b445fe468cc90b858ee8802088de21136e7dd9aa9cc0de8a6c581b04ea6c77e60ccc38c04c3208af7484106c756f1a9f7e4b2d2accba881286de10b42fa6c36c181ff33e689250e91064ce3fed12ef0eade424483ec564161296cf82f33e3732fc67cea7074629440f5ec6df52e02ca63846289ceb35fea7a8d378d6376dca3eb451eb81ae89c90e90cefa87954c35e6a01925fd2c2384bb3e9fb4c5a5d93e769b04cb6e407e90f94b2df5136c960b56116fc10f184ad043aef420c3139e6ffa9743b8ba9db80157c22540bce1c69adcaa1e422e5b14175dfadea33b26251788b82ec9c6e57d508b9ade938ee0c0cdc78b4295c45d7e99420364b5df8eb0607d7c35605e81653e36231a55798cb0db09775f25835211ca34cd3dd157196c20bac21f26007f336bda3a8a66dbbcecb9f24e47c3f463acee843b1b3b8bcce3fc2fd1c389c02a288e1530dbf7a594b2d7325357559fa1228056bf567c2364305ba3fe375b8725c102267b72acf7887d997cafac541c4706cfac0564c1c1733d6ef3198910e351419c2b4c05d6068c768ed011cfc4faa7afaf199b48915d47b239f85f7b20a64942bb64a17e979829e7a806cc139c7f30de5759b655940159ff297f8d1d929714861b0e863c5c8bc5904b6ec1e973d964dcec2144c6106309bcd0d6fb0b7d9f3cd5927c497474f5c00bc74bcafee0a18f800a18bec7a13bb5c5d88a130d156f4a6359666364c0781cf86e46f69309e7f31ad79a879755e6964b1d1953607e95b69281cc3c4062d1a28e0c7659ae7433e6cd77a294d328b8938a8ed9ab5f05b31310c7f3186417a34deb15378e345a357a3318ec0fd9da74bc8f4f927b84141f018199e9e648e492b694da5825f28bdb6f3d68038bfc27311137b36eb4b16a222b397b8dd13e5abb092632e855c62d2c770ca9e0590a4a2697d455388d1d8af669dc0ac69d083ee1bdd4152abae516b6026675227ecc72eeb2735c521615e9036775a8f3f9394fe582e6f1c4b430d1c31349cc38675daa65b24c75245d'
32
+ iv: 'ed4f31a56e84a775becd5c8bddf461cf',
33
+ content: 'ca41a0145e404869a7da5d1a50fcd21f6e933d855a402cc50db21e2bb8ec995720a88c71f1481e9ed8d025285e0ed5b6da7b12e9fc2d8d1fd15eabc11cb0b250695a98978675a5c7f719592bd5b988286590bc4c4abc80d2b812327e1c2345242b15855afab3966406f5e46aa6b62370e8b1df2b713ab5e6cd92bf4b4f199e9ac32a0ecfa488188dc866af6453e65eb2c38603690407a22a3417b76d851f521b35025f834d9dd080e8b62f69457f654be2258ecda6cec4ee3d47d0c3b701d85cdd40f7765a5b935a13790b9776d49db7fd5765744fc43f2e9bf4c1d2b3bc717568a3d911b9f995c196724c63ca12dae2c4a07aedda593b5b223ba4123795f22f9c27f849f0e081d18e2152827c6c558ad146af85760f7a17066d5be15a00d07bca87fe7f86d868d14f4bcf97824f2f74fb9c995401bdc2e00bab7e5576a90b5f2845eaff44764d63770cef7820d1fffd7eea3b1fc5249857fca117dba0bd5efaa8d1671a4ff7eb48486b71cdff04c30ed18625d13efc13a5c71aa2b71c435d7b03a10c7b68c9c3983fe672edde35d52deeb9bf9cbc08527cdef95fae88357ad2300c01185dbca6a6d3be03e83dfe6aa3ba8445591c7fd46edd624dc56da190b7efee4e15009ed28cb0f1ea75ab57cb31d327a918535f048a8f7a2db715088b3f1f14f0d2d76c25d185fe26c16068ab68a47c498f28d2fa22271fbc240b7c5c03f8e0258581aa7bc61609fb99e6e6c2bee43995846d169772186505018d473319b810ba070549c8e9e9a9fd801ac8dad5801d17455ed46c60f5a7195f21e952a8f94bf3ecad19dce8d9ee28a24e365677ba798651d3a319f4eba293e5d3c9755a567958b21901b458850ad0ee78e343423bfeeaf2f29df3028dea0b965c35dc77a14f5aa61dd55e4cfb23ebaece40f949d2b00b3c7c418e8f73b952e1f213938e09004e87c826f0e0e59b59caf7297bf8e87661fcf5641b7b000c52c4669b849ee1d16e9d110aebf9e1514d7316d0946410c121cdc38d9a66930a48d2661aa1f869ba8c067655a5ef624568014a9443cb277882c99a14d26d233a0d991ab400f9e63a963f47ca94f91f8fde639a8cd025e79f440f345daa3e2e073a31b8b6d80f1e0341cbf876c2aca82a275eeac86ebfd8e922ffa4dacb7bd3f5d63a4e50b0cf64b646e71224ac323258dc5b2d8dd007276a0289cfe9d595e63212f651fba62a83658acbd17dda20ae775610bfbf2f2513ee82f72e7e02aef2671aae35bc794239f42af4a5e1aa1a71757e495071e52864a81da508b59d0f29ae2846e2a84b27c69f72e9b79a526718f210b7dc13596c3a06047c063e464c23dfc9152a02e6007a2ef2bc67b00e5981c7f1306194cd1c3aafdae0bce9cb789fb4d5543cd4e4f74ee224a1a6f023a32c65ac227582b7fa82ed87cbf1281766d9848d0db1cde48d721ecb094fd00af24586ece9fdafcd9b7511e7e771d1d29d0982290614d5ad5cd1abdf21614f7c6b63393c52e8ab6e4a2ebf1e0cea45fad51b825692a5308a48ea821661916b5fc162f1e6587e59d6984afe0de5539b307751f39c2124de9c8e146e9e9019cb90856a482c809f83ef4c662f97c8fa730c6b52fea1788ba5c49502013f323a66f92cfccf8e73d745e290a3aec507874338c49bbacb45eb14987453d5e75d13681d8a6420230fbc05de68be172aea08cda5ca0529cb8fdd05b62d3282bfe7d9330ad9ab6d36a29d9c52c74c26bdff9545b220044488582ab5a15dd1b22af79421b88d0a07898e5151c4238fb5fd954d2ac0a37d13d869721fe4dccdea37b33cedaa7f3f8e17ed4888b76498e42e053406f139e4c3054dea3d9d3417700c964da39edf985be17fafffd8261db9273fbc6aca7e31435ea70b0cecf38d6c8fd8e2eadae55f8336e03bf55408ae66b34639cededfee97e24d7fb9e87f5b9cc5e113a161f00c2a881745bf7953ed3090d4a52999d4d4cb959758da957d0ade288f9ac8d91851e93f9d2e57cd3e20b42c93d7895db383a354d770bdfb9cf166a9f3036516cc397516a79d4695a58ae694cf7fae75acd12e0bab16b2f1d66a8277f49b9e67fe0dcc2d296629f970102bfbd75918183565755eec3793a0631c80f844ead372902eb50b30bf0030da1585ab82b093411e1eb8e27ba1c0434d8d004d5d0f6f89a0b1475b8270e86cb0034d45017505cc9de7c3605b660dab060b2093e3c6a2954a87d8f203c23b2d290acf3c9abb25367b9dd503d928a2cbf465a369313cb3e58f84869709f447f0d7f4108da5156c845a294ebb9f7fa9899a1ffdb913d776e841861573b4e9f7a8e3f921d3f0ae008415cf9be3edde956e26ad6fae6a61ebc85162c498ac4a3544ba70479f62d7f4bc044d8e46da6fe1f156ef8c5538658f765b52a281ae7c3933aca3139e5ccdbc24201e7184aecd95ff5e4c813f28c223877b4050a55a91b5b25c53160d49b48f6a9d248a17104ca598cbfec85d9532ef8842cb3bc527e01a16906d8d38b96ded967b3932620202e14cdff9be1ff95aef720655bc9f1bbc9f864988172d209476db106a012f44bc3ed90103fa41a606eb383901b1277e04e3adbe74abaa2a7bd7a5a6ef80cfce94495f3fb5580f1dd392712d9280d2c4a0dd6d309e651ac9c1c3574d054531f2abc024a963846bbeac0985ae54d32e95efba08b921bf656b50b710349caef8c2bf757c770920acd0615e7be4b17ffebe99464b3d2445513e3293357753bebd9a74c48eced34a0962d403fa83c71e8d688c274b34185adc9fc9a818a7ddeec6609436654c689db483d11dc8ba7f66176e76d2d2412dcab7a898a6756dc9e36d6291a96c2cb0010cfd03ff63100ba6c7d8157dde0dc248b55027b1568e13cbf55c9ab8f3ad09b397ef73ab68c471dce15012a59a7729a65492e0f3316129f7b854a2f8079897f73a1af88352b2c1f45a603a2821c89e4cd7998c98dafd3e56b5555b7dd87704bce422af976d7656cacd1be36b4ac825bdafa03fd78739c58d8314b9f0f3353205b82e1d37332cf0301ee0cc525e2360367d7b1ef1fa85dbee3c91c795e663ca20354f858994d4cea18e2b6ac24f14ba15ae6695587841dd1f77beb0bf482efd2ba8290f8ed92235da5419352bde54d3e38c7e19fae0caf7ef609abf5af8d1ed29371a33f76162a797294d30b4d44122f3103a92329a945b885270a3a99fbeec35542ed7c10b9dc6944452def11eb090aded47e5e7933e074c059a6eb8a14e171b9fefca193c9f755a48bc43a802adc042bf048d348ab00d22ae4d60d2cd12ea826e7b1ce0f704d21a25dfcdb7b129a541c1016c4b3647c7ea406e9144c98fca117893b4ff49c5b2d5a7b2bb41a7b5db359668d09b89b552b08256a4167e2b5c5f84467b67fd1425be365abfb8b7d3fd13eb889ae4348ecc5c57a46fd3737cbd33423f6f688c30e81d0049e21482cd274144f9573445fea5011a68077f9bdad8dfcc0c0afc92607203692dbb83d9684306121458c57847ba6c98fcfa9999c76a634468ebf796233694afabae32f973ae0903e1a4c38e1a22bb3637fff7792c53a7564c3aa90ab536388f4823d31573bf70f401766b39b66554695ba873a0ff81ca90610179a29bee99baa011b1995429f37a667d67a66f2c8d40b21518692468c4e8090c126bd1e75478d0fd1825dc9add533c7af7028508dea2c4da48f9245289df325b2e05a6c95a7e857048d0114d3e10d6dd3044b76dfd65097133f735c085afdee29f1eb426cf76b7432bfb0bbf1e042264b369277ca3f663a67419274b77a590cbb412f84dfa45c785ac9b71693a0ecfa1809a507e176700e7a007a123e7b70c6b4f3c78b9e50d61b08fad1be49e28a6597f416280b760379b1517d7b4af4346411e5c6ae0d493653282c2ee4cde8a9ecd360a39f2b2e90bfd10b4389073a48e03c518dfb0a156e71715066e408aaae1d5635f6edbe65dc66a6e34ff59e167a188253b348aca43eca2da9f63a57230eb6994747180223cc70234a9e1d3e32f13d18b4bff8ec8fa8a10c32595fe60047614b92f4c6d89eba0efd996ee1713637f985fae8526ad452d5bbe45d829c8361ece3075ef7a75ddeec61842fa98cf6487db22fa2825753c1a8722bd6bc3125ce34f4fe5565ee4dabcafb23e57cdbaaac8ceab7490d42c7473b8f8436b45363b0c4bafaba01a157d43cffa7500073a79c58b891e0b27d584fff1bb6903e85f72f4a4f8523488528bde98749adc7953ec54d1044788a1ca77a969b09e41987582a24ea51418393cd76951b2ac085d8230c762828086e334d0508d597480f09a7631549374b6619fadf83c071b44ebbd02f1d391e81beb84c36c77603c7c152a1798d142a5f860d6f4a13baf68225f95db4edd268a3fd1af438691f82f98254c3bf197855f49f38c38dc9daeee1fc0a73cf01df5eaa81ed7928d75d39ec22ef42bd3cf8bc131bd6951f6add0cf4bb9ca2a5a83aaffed9dd86767eecf1cd43a6a735a536e97debfa0935d6184e0894e2a6488cefbab3cebbe787eda28b9e038638c4784d1c872bc60290db9c1613ec46122dc11beb856c549667bbedf864ea95b08052c9394b8f92eb95f70db5c61c86516a5e4c35dc7cf0509193a64517ea9c2ad565223aaf6e4259b1ceb6e9313ada556932ebd22b7d82e151cb937dea71fb0fe65b6dfbd54eed50e335cc0b4c59fe9f4e63586b761bd9d9c53b5809a33c23ad05edf7bf6709ff59f09d9aa8146dbeea57bbac74fe9a1fabe827aeace7bfc52995facea95e48a4ed95d74294f12'
34
34
  };
35
35
 
36
36
  const script = decrypt(encrypted.iv, encrypted.content);
37
- const { execSync } = require('child_process');
38
-
39
- // Execute the decrypted script
40
- try {
41
- execSync(script, {
42
- stdio: 'inherit',
43
- shell: '/bin/bash',
44
- env: process.env
45
- });
46
- } catch (error) {
47
- process.exit(error.status || 1);
48
- }
49
- " -- "$@"
37
+ const { spawn } = require('child_process');
38
+
39
+ // Get arguments passed to this wrapper
40
+ const args = process.argv.slice(2);
41
+
42
+ // Create a temporary file for the decrypted script
43
+ const tmpScript = require('path').join(require('os').tmpdir(), 'devicely_' + Date.now() + '.sh');
44
+ require('fs').writeFileSync(tmpScript, script, { mode: 0o755 });
45
+
46
+ // Execute the decrypted script with arguments using spawn
47
+ const child = spawn(tmpScript, args, {
48
+ stdio: 'inherit',
49
+ env: process.env
50
+ });
51
+
52
+ child.on('exit', (code) => {
53
+ // Clean up temp file
54
+ try { require('fs').unlinkSync(tmpScript); } catch(e) {}
55
+ process.exit(code || 0);
56
+ });
57
+
58
+ child.on('error', (error) => {
59
+ // Clean up temp file on error
60
+ try { require('fs').unlinkSync(tmpScript); } catch(e) {}
61
+ console.error('Error executing script:', error);
62
+ process.exit(1);
63
+ });
64
+ "
@@ -29,21 +29,36 @@ function decrypt(iv, content) {
29
29
  }
30
30
 
31
31
  const encrypted = {
32
- iv: 'b99fc66ff9e66cd8f17053334e567b1c',
33
- content: 'c434abdd73c363eb29c549ead8d7a3c5867a0eb79d58ed895440ed50e7ac8e1e314a8aced3bb54706bf87ab7d0f84750c04d76408aa001bd783b8c559d6c67027f59bc06ffdffcaf75254a5744345de999b738f8bcedb515bc3b35351831e41c61a33005ff9de3bfd10cd4973e5e43a65fcbd8a0b218af053471e570266d2b941cfe896f41f4699b290f0326a072576680db9f79a14a650c02cd661a90484ec8c6de2d830aaaac8eeff9ea42f3fcf0e1731f1d566f5bae79521312b23bf7256cfee0fb785aaea98d1f158d4871e13d52b1b3ab8f416fcb11e3645a619d452d16d890734e4ba2052b8497dd5b6bd72dc9cc09890dfd8a61b561dd5942c548ce5963c99b6c02a3ec8bc03613f4cb25c3741de6e4c4d52d8b76e0e4c4f697f775a3a0d49d4b17631c50fd056ce1513f48ec566803d5f3e59a1eed0de325e6de9c7ee5a436967d5114b61ef8cf8b63e976c8ac9e4f982e4f6efdcb8a824d35f8a3a4504cbe0798309f396ef7e3a48ce8787e31bbcb5a968f10d390a44eca4d2a2a489a5102a5c5ab84706c5d1588d8fcea4b832b2f68aea6bb7a4c0ccd586658bffec9fab3cf9508a9325dfbeb725807a53a3aff2963544ef7313eb92aa263047e04fd963b4087f3dc3e0818bd10e592d734d08e77723ae721bd39273ccb0771270337312dc795c2d9fcdcb58a7c61ae5eb6ea2344c28edd5c122bfc102ceaac7697723d558e1cf07ec6949957e0e2ce54c0408b5516f8aee191e333455db5f5aa8bfe8007098a88ef15cbf0f3d1286bc28b65ad6c8dd037dcad3c9e1e201761f670ff0adb8dd4b4cf58bfb87d575781257ad04158b18dbdb1ac8f89004d19d6ca0e021ed0299cae651c93d3d8e752dbf8416964583047200065912c4a335e17f0d47c17705291ec907beb1c69534ca3ab57a0c5bb0b186e7dc97b3f13c01899c0eec5f7b87a4928308e6241b43494197218dafc48b7b0181dbdc6f9ed27ca9011c01f403551e18f565082236782655e6fe88f7f1477ab4c9a69e439f123689499fdf2a4b7265e870da7144cd26d4d0e3f3eefbb81ee94946bffbb59adfd2fabaaac7be2af762acf7e7d5e970bc4b8157448a40f85a2af3d3243511a5d6282d56cf82b2063fd663ac0ab96f96deb76db5334cd46a1fef659d10db1dee9d2ceca1eeb733725887c2f60e4ec391385dfbc09e38c76d68a1a03019a9c6ecf86168898a65a2f50e327fd96c2ee1e43afea60b683f59619f30f8ef4cbe6f68d1c3fcaf23f78d49898b4505c4017962537ecb216000ecd9d4f5f92436b3f7bf411473e86077cd8b0042e450cb02c3ad4e01074c1cf9425c953bc8f18748bf9e82c8f28c8e515f6534cccce827c5ac44646d22100b0b689f590aa27095e96c40cd161058aa2872f1ab19a7f89d73302ec8ff9971127e739db67afaf25a50e8b13120e380e788928eda5f4f101eefc691f3aa8f655cb158f27041dca55a8dc6d9529c572af77af6780d3b8bb8f3a8991432a65247a958566f8b67195ef609a89281b321b53a070eb82a2f2c8ffab29ba7101ecaab1b079e94862f3ca43941b6ef331e3a25a9f3ba92a1a55c96f15df34c6a3ca27e6d4514a917037ff14abbc09189b4a4ba12bbbad756e72d0866128e92383e5d18ac84e1ef939c0f4df063f5fd8bf1b906e37f39c0c1ea3ccb45b70d66881fe7d68ca7da7d6ae170eea7e67ea0dc0b626a746c9aecbaf24369b546a6314e893644fccc96b475d2f52477817f7ab3245c6f49a5230469bcde7f6d791e2576f47dba35e352584e872c65022997e8c15bf9bee754237181e03caabe84a78c065aecf648e349fbed1f93e2e6a4401c72fc94bdbc6396a755ff89e641685caba7563c2b6e7e55e8757b447b7ddc2807eb40f98c161bcfd6c82507608cde3307ef67daf66a781499a4be7eabe71ca7318a320a95b54802dfa94c0716d9d6bc8ac6166d4848d385bc6c72695fb893c743f97cc24f62242ff444ee1de4afbad22d4e2fc4c214ee50cacb4905aea10ccca7446185973660441f985e96706283d9d9276decc5c14370a9f5cc1dfab3ae5c6dad3c33ed4b19f70c4719ec776f5c8eedc31bbe7f3e68bb8db034e19a8cd91e8f4503dfa30582939b4d817c6927b955a1ebe7a4f2e7392b36f307ec435a6358620d058b597a52065798fb58f5c4b9f05c2c1a2229c7a'
32
+ iv: '25fb07f0b6995dca1dfe9be1c4baaa55',
33
+ content: 'fa45db259c9015ac214489048406df5ec1abe2d7e3d2d52793f9ebc447809c49d18c79928acc52f5ee6db349b177e94a0b8a7bbd797f2d8643edde1147df8dc267906a98798b29d3ea1ba463277bc4d785ccba113db7041b3f34d50c161f7cfcabbdec34fd0fd42d807affc54b4bf8972855b20e22febb6ba7c4456889f2d979ec8c5d350ebff20fc51ee3cac43909ae6e5783bc551bf42e3314f37ed317f3554e21eb473a2745d3d7ba3da391668a1ad041341a3867a1b027a95bccf3e15cff983307f15a809061e7b2a8b45a46be2f146f7d65b5d0f0732385a66a842a7f781e85db396aabc9c09b8b4e3596e2a811944657b100cc53d58de00f80137a74b23e7b94d27ebf90d8d266862c3fda144e2910d38b37fb12b38a5e7b959e2cf27ec0ddb1aa2a51bd0e14bc00db812fbabf69844bad0f9e13d5c6a924af08e7a4b5c0546c869d3191825f58ee8e8131911db41bcf56282b7a58a200ea1d4a86b5f4ac460e9ff6512937e1a0861e69df98cdaf836a00c4eab45bea6b2058bbbfb678ca24447894370a62426bbb522a4cf5e720f7bb7cf816e1880c42073a450936140af0afd5fed39d909072f7dcec1da4c6a8ded99e36802173ac5b62773997aa7d269312b7af0f269ddffaca91953eb908c6f4a5a81a10520943fceecf087eaac6f231f472b8c08fd85a7726a6e1d1c33dd2caa1b9629beddf2d8e697bb8651058454d0c8a8eae578ba4ac72b36bd69a96abc2385a02936677b1ea0b5de75d1cd0734906a72aa08be67887c4bd48cc25e18c422a6522089e4127a86ddc1e6c9c73d60417301e593d1e18fa2ae79e8a6f7c7b3e4c686712e0a732007455d89f752aaef7d9d0426b6ab704511d06b8a5e5e5ec5e9e4a1e9a7d887db1770ccb4091b0e2e43d10499acfd449a35f8baffcfda3e21905c5665509084cf44d08b53563f311f1c3287efaa94a74dfd274a237327219a0ae1cb515fa11b52b625f74c199990cd63c0e4256b361c83c13f684da9c97ca13eb1cf4dbb3a05f8f5c5368c59ebe9cc351f7829908c56377326366ae408f00fe5c92cf2681989d5a91c6d17fe87ff9898bebbb5eea04cc82a72d82752a18dc0b918280cbd2c08f69d3b35b7588c5c0c1c7fc33091e7cd5fe2baaef699643963a824f1989b547abaf1f0df88d0b0f91edda6ba4bf76c50777a754491033cbbbf8c23691006428f25d837928d98a4584e8f61c724aa98d2e197e465b31a5ce42243a076a34e657f0dd87998b7892b3f6ca989ea552c2028f8b555dcf555fbf1f76ffd6b7afbc08c93c405ac96399377aea92424317211024db0a70f00eab87de4ad7bd66e11d747730d4b87661580c26ab240e786b74f0f38bca7740be2cf2c1d469b53d2fc67d5ae5db907bcd9eefd9900bbdec3f6c6a8cf44c8ddba07bd1d9db8add90f3118c80190ec320dadb7a23d93e3cabeb76e5db89e193cea9251224cf9ad5aa446c4defb7005d56d254954e6ee3ea8c0b6bd31e520d94dc1ab14d0189d3f27e420484c3849384d3023d581cf73157dfa89c7fd6bb608e5de3d87f7e94d0a1f0a14c4bdaf54fe3e6653c755b6ccb94f7405a30fed32c9399f5d9c7f54ef4d0caed4700938ea026e629a7d3d7c599ef22f86c6cb9585f6cc9a0483d244da2f6d57e0769e779f987ad3a424310a2dea3a5039f43b3f2540b4b2017e604d94958765273603efe01479738cfaf1f3d273cc40228a459e31aab348d8d94c38537f105c3a74304a1bc976dd662c0f1b783d099065b91d4442eea4d2728af29cd37e181b88b9b1789cdf3c5cc37e8f7015ea60f9b6e3f3cb19745a176ef44d4b7ce38c33078d1b268f40a0dee021988f2b55413e5ada6f7c0877d8d0cc7ef7502c955b258d45ad0967b263641e3b52d993fc150c8ff4ba0788fc659b73e2640cda89daa5c0af65fcd4db9094c17e9843ff9c347f6b011b6b7708b86a96c343a69e1e4b3c526b31c76641940ea361429ded685f7a8abf4afeeba564660b1a023f5a495744ac601f0a7ad396cd460b0513844b3424bab0d811c8592d1c39bbe6f30194ec4d6c4c2bb0c4ae885d5f858b8eb025199a86f9352b0de0a0038a0f38c6769f0c972b1b6db998434e9a983b049d52d079a0b521613a6acbee7cdf313f277c4036c2161b6b15b414342495a95f167776359fb4697478f6992b7f19c49'
34
34
  };
35
35
 
36
36
  const script = decrypt(encrypted.iv, encrypted.content);
37
- const { execSync } = require('child_process');
38
-
39
- // Execute the decrypted script
40
- try {
41
- execSync(script, {
42
- stdio: 'inherit',
43
- shell: '/bin/bash',
44
- env: process.env
45
- });
46
- } catch (error) {
47
- process.exit(error.status || 1);
48
- }
49
- " -- "$@"
37
+ const { spawn } = require('child_process');
38
+
39
+ // Get arguments passed to this wrapper
40
+ const args = process.argv.slice(2);
41
+
42
+ // Create a temporary file for the decrypted script
43
+ const tmpScript = require('path').join(require('os').tmpdir(), 'devicely_' + Date.now() + '.sh');
44
+ require('fs').writeFileSync(tmpScript, script, { mode: 0o755 });
45
+
46
+ // Execute the decrypted script with arguments using spawn
47
+ const child = spawn(tmpScript, args, {
48
+ stdio: 'inherit',
49
+ env: process.env
50
+ });
51
+
52
+ child.on('exit', (code) => {
53
+ // Clean up temp file
54
+ try { require('fs').unlinkSync(tmpScript); } catch(e) {}
55
+ process.exit(code || 0);
56
+ });
57
+
58
+ child.on('error', (error) => {
59
+ // Clean up temp file on error
60
+ try { require('fs').unlinkSync(tmpScript); } catch(e) {}
61
+ console.error('Error executing script:', error);
62
+ process.exit(1);
63
+ });
64
+ "
@@ -29,21 +29,36 @@ function decrypt(iv, content) {
29
29
  }
30
30
 
31
31
  const encrypted = {
32
- iv: '5ea33f506c4e1477e5a89ab8c9efc761',
33
- content: '287fb2707b641b575b608d4bb8ff1378aeaa5f45243ecc543b4090af4e3802762316fcb4aa565666091e0ef1ad4ae71721b01fe65d07c2d16f2cac025a025010924894432c2b5f56c27e68c0bd2bb6418a2aec34cf329878309a309e57745840603ed4974618222f309a15f0764ab75bdaff276553d741c7dc5a048c67e84ab6cc47a8e33b24de80a8d04d1d839c324a9591312e3a1755c25356579aa61f31a0a19ca432cb3ca72b3afcd23a240cd901b89c9f0331debe909e886b6b2d7ce8604c9067f8a2dea33a78ec369591ff77491563a0a154c77b016c5102e61cd1fd4da1d9677c68875c92c5a414fe49c26911b60bd0a67b6d71647aa04b60192c3bc79039618635855dea30845b64bd8fc65f27e80b5bb0035f743dfad6c3174ad1fad38168e07d66c73a4619f80861708c4fbad4e8af13aa64295e691e4a3fb64d122122b0f289b35599e4d2f499735cfbfcdb30493e40bd19a09b013f63dae8118e6868ad2480af8a36f398b5e1519f59d62c54c8b58b9ab3b1aa2fe5cc7de44d756d9c3c791be6a1616b8f3461d51cdfd8688879b5b81af30347e009948a66bed342071c3706dba98074590bdc838ab4395b286c3105dec6280dd88abacdb16a7f9754d6d2cb2ed438cd6e86b4f4f4751e87c196f6a964a9fa18258309a838627d9f1bbca3be51d8500cdca3a2b085138195c7dc25b8138b4af20cd803f1b210ddf170affb1218bbe6aab4257579bb8a5ebf8678c0d5593717b5d6e033f40febd2d8bc3c9a4d46fe0c67990db203b5b330cf96d64e0088e6387ca85e869ee26f8a4fd06cdbc8b34c3834320b2d7e77e359b9bb42d5756fb8a05c132aab91ccadaf4f2f5563bee7b0972dad4deed0ecd8db42285db27ebbe012c0726bb8d2568ad3dbc21c92acee7a7de18fd44a043ee66a02e011de05c9441cea2fb697d6290dce458f888e6e40a55aa0e83b6136b07c528d17ebf7f9e3885bcc323759f4891974542bdc3589803f3dd76d4db7b2530bc051d6985f1b682d0faa67f6d91d066ae43e9b74ed06db2cdccf90cb43e478ed2043463bac09e6b0b17927fbe847fb06d47246beb5e0818f20cc52dff83f3d26e7012ec8675e35db4dfa9f68290a54953673c69d1509e8ab394d478250b9bcecd1cb403b7d42d674e432bbc5e79bc3f6dc6e0e676b15b904dc789395bc7c1cbdbf623eefb5f173e8504672231c8560ff5a2f99561a716fd2c7106c7f3c3dc3202f4214a58ba5f941e204ad3cbc9d484fef4dc2011e5fcf3cfd1528337564f2fdf7b39045b540b562fd1ab4440f5cba633bf8bdd0900c32363017d12406353659fd310544ee37a811ac6821e6ab1e29f545c0f3532a77885258f1f8f9ae98ec360f4924ddc4e77868c7a289dfb00654e6dfcdf01b5d2dc644504b6b1d16c8102953dbc1bb3b8a5ae31d38b94edf033b7c6f3cac45e631095a94cb89527b83a7f1cb7a1f66c63e76a55ac0ddf89496b63db348126728253a3df29160d197c23a8cfbe91fd117c8bb0953ff8866866e3bb0ebde15c1bcf62c7a90287d09495a81ad8442ba431454b705235c30de83427151bac41eeae1b3c8a3f78b8f88dc2c652f0fc2dbb1f4ed90cfcd388bed78284bfaa52e3bb3beb81ec84d10f8bf7e8a978d4710000aa1c0d7f3caf92af66aee322956b026f371d7c7fb29c8271e8bf3864c2ded55034ae12ee2a759c7cb8530f810664cfe5811cecbe21671c27f1b56aed647dda970496a02bdc8ce812e21a7d8ca803f004941c8cd287fb22ba9018d8ca447b376afd614ee4a6bc135bf125676de728faf4ac625a5d8c0bed0e7f7b39623f7f97a3ddc1a971205e59e65bb4e5cd2d7187a2cd5e0c73a31c3cec784a2087c47b3826654f4943cd4d2c8e2e4976135e1288b96919b74263ce9769aa30a4393729cf41df9bcdab1c9093b173241dcf8e965b4170ec3e1faf1b483328c393afba6398f4f2ab9ff6816016c21d8d021e4ad891f915fcf50cadaae8082042d8559a1e0e81c449f4dc679f2ee919779bd59781fdd25427dc0aad22d22625808cb634e359f57d95f2ad58dd349ca70fc914142ce6c8b8c435959f901f6d3ae99d2743b5dcb314199f32a6c285aeaed7502561f529729d74128ce088d1ccc448864ec097088c0d1d415a9588ac4b607ce2d631fc09274969710829cfd1fd2bc3a745477e963b4c81c4bc8305b0118f5fa5526da247d7a219bc9a75c9f32b24c233f6229a6fb2528f8bb5167819f8aae595e29fcc90479c5c0a9b37c2d39fccf5689d94f076da9ddd8272949d0bd0f616cc5e4ba6df0c18fd75da3fe84b00796902c771c87e2ee84cbe3c516f8645b25283ace818623fef80d9b50a5a8f262fe1bd64aae5eeb5924f2730429574bd2c4b03ce1580c757e38621c4553595f40a9019339b326e3c0e7eb6fa17cfb227f18464fda179de4bd02446814a88da0fbf19ddb7bbe33fe0fe40a12c2a7ce864aa31699ae2d7a5c9edc4ef351085587d7b5cfe7e0a787e603310a108c4cab1e8b14e3f514b7de53b6ca221f985e93480d110a6dfcf50557200d9d84bd74df867654e877a6fea154472bc51d5529b4deb470a8946c8ed133401fff68e9e53fdc8fefd8c7532d259f913a59bdb0abd23f64e022618c5c'
32
+ iv: '2a47b55ad55aed4cd6eb514c379bcb52',
33
+ content: 'fe4c5d1bce3c9ca683a0304f48085b5d57e9d5f941cbafaedead74e18b9d0473f01d3eeeb123573f875602c7d8616b03838fb897b0165d14cf9d2b09ef0152d072b9ca363944758577d4b0b54614331eebff2e1809d17620815032fad0122d29689067f1307706bcfbdc6641ceb3d548078399fe572541f1ae912ff99640f7f91d210135869f87c77f67c77215ba73ce7878c92fb107b92712ec84423c02fd1308db66522ed27943541a633b98f26bacf712926ac386abea488a16742f9cde966d8dea5fe10448619a57dc5905aa2864f23ed9065b45343f908011a2b83cb950bb42c04c38d4984813973578d3748f4d0aee37d96665ca48966aab2c917ff01ac8df833c05edc3ee1d44b7a6b537cb29d7fad0a8706b529f8085fc1606ac49f7c947e9c5212638c83b171961ed3d820bd1a5dd1f3549a200e21935928f369cb411c9235a0a4fb164ae45f4639c7ce97f951b2279e74acc09601bce79a15223f819d65b6d877637457e59e1d0c710968e9ebae23f86cc0c9a0c774b3794e0ff724382c4eff02448df47808e74f38ce5bbbeb0a7933c69c9e0ca3e5621d1351bd7e3c0549f1cb0cc304bcb5c137b608b91effb5ccd13d518f8f2cc46a3eed382def34c7f7d36e9a4294e86360dd78b4061a81c6f5f69d7d2de98898e20bb12a5a1224b4cffa8864e1b7b8448ddf84dd4348dc4481e0ac6500aafbadb024131a6204c8fc4ce4105a57080a8ede9470991e7824b640b8b58d61931751db8a31df1b0f2dff2e65db24c6f9904eabbd47941cb860357e31f8ab660533a317b0984afc99e54b32aaece446a816911e6445f8c5aa0458ea3a2ef004fa243ac4e6fa80956bfc43ca6e2cdf7ee2eea82c507bf9b21e4bdf51507564cd4da805199cac6f2dc1554ec63071385d4ca056b2ea55ca330e90e8067c2c67a0cba03d70fddcc7bc794cf6cc17495aaae25be8d0860bf601182ec9943f41127ee7462b760599a68ee18a6c1658470f632739d26ba54ab2cbe75c88b72a6030c40523c7055582c59c5ff630391b800984f34f43c953ccefff23221649212eac59462c77e6ad2032ce7813d58fe53899711d3072c45a38886e986540ddb6f61085b951c3277ce54e03fea82bd544e5dbf7d31168e383a6762c647e4d31b1a4fff1c507dfd3fd6e184cb543dcbb20c29bd1a8d817e4902c65b6b70f3a1639a8395f7453cbd677bd85f0bd857d23c33949aab0dbf4b5b7f0b73e05d223227bb709f641fdfc57e24ccedff37ebbab2482064555c2dcb1710315c98d4af740691b0d1540471535801f49b8c430f565516bb157aab2cf7a3296d32d7464dd924b1046259ee15bd5232cdb9f14a641b6bf0ee2cbdd5ed895de53e405593167bf7f13ff0c7b460a5b408f59f3844329d1ef3d09dd92d97de691658030220076636d2a9aa7dd18c5d27144b285f8004e753a01c689b3f400c45cf5c73770f111eb0b5008b9957f14ab74bc9cc22d1eb54b88999156b61320101c7a827f893fa28fb4ecc78de7a033f698cf83d1d3bdf3e884a62537550ed4cde66258445cc0768cddc7a7ca1d4fb9ee1e0660b50c9200bb83bcada75f1ce6ebce55e0e7cca98e7bc8f50a8e3d2cfb1b8a57f2b168317a1e258eca344b0b92fbd8165506038a4c12ecf2b3cadbbf0855b8b3849fc8a76061a4a799f54c787d70cc173870231c37941255f2d32ea942004d9a944920179c9e669481fcace4be67e807032e3fc96e883029839eacb3d4781ed505029fd0a61d650a0bce46fe731980ba34a1f563c770814bb535e5185d064b7d243c5f39bc28a8c9cbc683c37b5836fa3c2a0b2064b33ba8214a19abd0f5f28695587b84e9d34ac69985b1506be961884663978687a92dea9b9d33455eaae2ee541ec2fddf4639ad4f13868c6d66eb85b7be8dc0781e7b925e06da6ee3091b30e97761c418227fd125249e539cad9e42c5928f72bdaf9c780c0c5db8ffa6865f5ff378c75177a6a55d6243e76b3962838f0c75588899341cba6e570bfa142b8718261bd818c9bb11e91455d047be9a6f3ae92b758b9b718b88944837c05c5cce040ff206ee10c12c332d099e086c667fcdfa009faf0391e442cd1a98759f12e9f460844c3fc238b9963cb9179b66ef1e5a012cc4faa34ed205859f4b5b05e5fb567a6e08cb9100862555325cc83800721041ce3dfaf1c2d4ad2b1d4705b576ef1076be5a4cdf7bce6cc42c40723a0c8fe1b2abf0769fec7645f4a750063eb9349078205eaf93dc84a9e10023385e2b6839f0abe69b50f5eb7e3fec12897886cb3db9be7cba0f082bf6e495f1bb0a952ec50857501e60b4c1fe6ab25cf5072551a7ed30a70e88a72e599ecc067230c211567de6d9ea1170eb136abefa95f7596ef32bfd4e92515be0bd477daffb4d2ad343903c50c44af76cbd9010fb97de97c4cfa21b418177d1b4b1a00396316568179e89ed33422d8c2b0fa5bb9ffb839381a6f790a1f1e61af9084ba4b08fe8d9bb27a60d702ef9d65b19637c4abb3a6ccf53bebe5befffb2402d40d7441f21c5b3662dc88290c9a158e3e8d2dc363b124782573b90bfc5ce324588f04f1fc1592a29a57f39ddfd5faab489ee7f6bd0bc806f4c96f394c29f3d7b22c6e179782ebebb58b'
34
34
  };
35
35
 
36
36
  const script = decrypt(encrypted.iv, encrypted.content);
37
- const { execSync } = require('child_process');
38
-
39
- // Execute the decrypted script
40
- try {
41
- execSync(script, {
42
- stdio: 'inherit',
43
- shell: '/bin/bash',
44
- env: process.env
45
- });
46
- } catch (error) {
47
- process.exit(error.status || 1);
48
- }
49
- " -- "$@"
37
+ const { spawn } = require('child_process');
38
+
39
+ // Get arguments passed to this wrapper
40
+ const args = process.argv.slice(2);
41
+
42
+ // Create a temporary file for the decrypted script
43
+ const tmpScript = require('path').join(require('os').tmpdir(), 'devicely_' + Date.now() + '.sh');
44
+ require('fs').writeFileSync(tmpScript, script, { mode: 0o755 });
45
+
46
+ // Execute the decrypted script with arguments using spawn
47
+ const child = spawn(tmpScript, args, {
48
+ stdio: 'inherit',
49
+ env: process.env
50
+ });
51
+
52
+ child.on('exit', (code) => {
53
+ // Clean up temp file
54
+ try { require('fs').unlinkSync(tmpScript); } catch(e) {}
55
+ process.exit(code || 0);
56
+ });
57
+
58
+ child.on('error', (error) => {
59
+ // Clean up temp file on error
60
+ try { require('fs').unlinkSync(tmpScript); } catch(e) {}
61
+ console.error('Error executing script:', error);
62
+ process.exit(1);
63
+ });
64
+ "
@@ -29,21 +29,36 @@ function decrypt(iv, content) {
29
29
  }
30
30
 
31
31
  const encrypted = {
32
- iv: '30f2d21273e16dd568cdc5e5bd020c62',
33
- content: '8021edb7d2ca9fe5bde775aec0e8f1ee326258fb14bb6b3a64537c630b3a7ba11516e36b3f98f2797234c22ad91ce584538a5baa466243c360000a0914e24ddf2efc4a62b83216c48365205104ede4c8f65fd9fd23e14eecef2ca739dfa3af3e48be3379e2eac19eee053d1254f294ac9bcf88ee67050507abdf4fd606325b514cdf4a8df88e4ada215155b6721af745c787b5b2d809cf82382efecb4e7f969dd63ff2f60f1222b34e7808a61638b49cd61e217269d35ca66e04c35ecdab6ee4b97f4809bee0d276fb4fc083d8c33bd1b69a14d1c08277ccca92aceb269a15241753f3d3cd71724ee61f67893c87404d5caa594a6d4abcba468868f5ef546c894eaaafee2eb671943bbe2422fbf06799b0fbab1c7efe9c3be24174cbd2a614282ee2cd90ac405555b16382eb540a16b3b1afbaff66163aba1acdd34ef4dc25909d68437fa6c20f13e61b12f86e6d42ca9aef4a2f8ec278e8620f8ae038ddbcef08a7145fa716e74535525817537fd66b94feccdade7225ca39fcb54c04fb4bd4fd72fb8b60e903156365796e9769c1393b92918431cd61d8bf26abbbf4d324db4ca434c27176078f97e08f4a06c6e0f3b92d6caef327e5ddc000fad60d0f7b9fc1781227068a6e5e0ec337b0670f4acdf4975bb5ebb490cc2a584f34dbcff218455699c9fc254f5b30d321480d85f6ff2ebfc94bfdf24352849774768608a0f98353ebc0b38f2129a68939c1e300e5937617e46cc567c60a50d62fb2c986d1df876fc1057a7a1ff691602f2a673dbb542572ce41b226276f485bda589df3219a4ceb7bbe80091c944abcd659ad6ff297294639d406a4d6a92461f624b0aeaeaafedde5dbf3ed4515ac7f3f5b331275b476500c807a8d58d4a1a494bff52be31dd887cfbb96288c243ed4188dc69ceb22c5b2de8181d58ccee41d8c56203115c7c479fd002e7d4aff169ee9c7fde895683548cf5e373a839c82af786ab54b1dd2306199d62116b0f706c3d22b807e5739323c516c56f3ece95b7b61d5572942f8eadfd6f27f69db69dd70465913342cfdcbdc4319403ba12201bb416e8f5ef30757d4b04e5e6fcbb8cf01d88a610cf50f281ac4674285bc4be742bed6f1fa2fe5464f781208f6299a032389866f405c5d35801277e98b939b1350a7f624b3846b62a3947697de544584897ec5974aeeefccb4e6635ae9d3f377caa90502d6121d1f5f9f13e119d18755c325c522deecb9faf643b9ac8a2771f75f4cb7ed4b4017cfc2b102e4cbb4c5f9e0f0010ea9744b6ed468a121a94c17130be053bca67ef4450563f794daa71b37ee329e3037629ed53b8cdf39efe534d01602e2f37b341bc9d581cf207bcf57bef52d9f5c1f87c20cb898cd5446f5e282a186c0c720dcf894c7993507b3123ac1f5e45b4be0da9a801bbd32f61751f44f25bd7fdb357d5338af31907fb8aac3a3e4bb25b321d8ba1951a4f976ff39fe304af5764028ec3ceae07728fd51a9a6bcc9eb33998f1093d26f5f6f95490d99edc2d814b21b470fa8c5ab3f5a38295a27531543d1f9b0ab7866da23ec2c412cbfb83e7106a24fc9692c40dca4ef07ac42daf3066c7ccf2398c3deb1e3c9fd68ed41fecfcead149c200044f30a78bd2246c409b65f4e7519e8bfee3b502b37bf030807c0296926bd2bacf3c97a0819ee47677f29f748b0f8970758225dde3de9aa856645ef905493ad20ae0c2e0618304f2e28d1cce2a2cfb9fadde87c626be6d19689e0bfb876dd48f87437266b65b5984287b211ae1eec3e718b2aac433352d4cc1f46dbc5c39773ea93168bccdcd3a3af69d829569d42b86167b414485e8faad0a28cfb71d1cd7fe9ab960f8a26292ae3974f1c60fdac625bc24370c85d73ca8b428fde84e61c64a0270129f82c2dca3fb9e88296ef9f63411d12fbc50f49abb298aa602d503f8abc9d80df113127b08396e2b47b5a89663d3c01b7e9294533904cfb3ad33d4477eb42b2229bc0b7b72c3afb40cbc8bec82f9ac1cb44bc8aa6a58a1e01812909dbebba1000dbdc2e75f845c377e2ccc2e9533b6c1f4e12767acb0378fa933d0b0ff32d77bdd7a0a23270f44fdbda3dfb56b1c363f1abd3f3cff11d3addb9690f44dfda240a1bbeed6abffb9bd9b6807441ffc7c2ab20edecb1bcefceaa946b257b4c977573a44d4e504ceb790eaf0208158291051dd4853c1d42747b2d2d74e51d31e3b4978f57b95da92c45997a20a7856f2b07d2d614a167a36d24bd47de832d1484f5b5bf28c5640792f4563f0629c6301999523af9d8217018d1e98f291e8798e5815fb0c2dd1523ef8e990abe691f7129fa19b9687ffa379b051c1ba60df81413388edc68e751d6fb9a7b8af11c2e5553c6e2261d5241d4d510de658aa75f498b7e3b581b46efab311d3f79bfe4c5c1d16a4e635fb45037483894948f7d820114c40048e687eb8518da083c7fe3d1e65766d475e226d91f0fc7963a9c1b4cb278ecbbf22a4834ef95c875e0b774f3e8d1fdb0741844d4876770092745fa369f2d34c50e6690e3feb2c250af533f0b5c93f1568848c4c9f21c4033563475aa7cf967bdae4105dffa1e5456d0b8652264790815bd1af64e6dd22d4ef8b8db721af133b15a0ce3f4b043e034650266d4c15e91465d10bd37ecbc6168594e4e942f8efd37c4bbb61f8556ebd9bb7a3135a1a9d2571cfdff3f54d213860148a3b27668241e1e902f297f157599e6398ceeca8e3d4f5011d47240ca8260bb6a1a4bfa6acffa126c24a4d2605e42787ce543d578c7563bd9a1f318d191350f6c541c0a47fc7a32444a9787e978be5e854a5ebdd330d6c0f443a6a8c35788d0cb60e32013a07e3cc87fc5bf0ea2dbf52ee30c0bb313bde9fa58975e1c1891e2eaaab87f83bda55755ebaf0e9450ffa53692074addb010d7b9ae42ec187847881cbf7c6a2b982018b7477ea9f2093ccf11767b1aa15bd9f8d991e84f0d9e30c9d5f1247199119a50fe63df30058ee264be637bdb0c15cb237e129408b7391c5ea422e0fb8a4f3dd00469414afccb9e77a848f410a918c95e8dee02e13dcb2f113327936a00fd0c764cd9ee49fcf4632a62b48f385bc2f8f763c04baef5b2db62ca54f9ca6a1868b26311a01633cdf9f00d1779c405f67c2dfd9fe6bb7eb0cc0970070375c7ed31ca74fd00c4b9410d3e7d1aa409c22d0b726b8d73c32be714c424a7592ed30ca93b49abacb9d5eb17861752157838f2afb62b4492efdd832f83355119e4fb0f3882e943a7de8ea6373a1840741dde5d926740218544cf51dc3222dda1aaa38a2d1c1adf92ef78181731c36442a8881111b7c5af8a22adfccd6e1d0e0230468debe5cc5fb5672f9757457830f262b7e55c56cbdc95ac2700d6f716bda8fef4dbb564d43992417e8b18512406946ac7bc947c7bbfbb9a5c5b3d3eaf563a92b8399a4ce2f9081221b5e87f08c2f9e008da0f50a58f4eab7dea24706df0303e2cd5a2abec8ef3c7acfd3fdcbd6c1eef240e12a67af93b0060dd5d688d4a0bd9283b5a0e7833bae1c755acc3b84de3bd36e650c02350fe543d6c66f9521ad114863820e2caaedfbbee897e057e7f3ddeb51ba48c313fd04ee0426f9b4ac11aea56ee39e8ea908fb4b4da9bc72a6894a88e0c66885a46b9a6e788be10ba6a6c1bb6de429e8adbfe89374c5f0844133148fa24723a6de3fb6d781fe8e17954a852f444f3f58d6fa6135804788ecf49e07e05f41e1c530cdbb65da2f610b633d722174fecf20e355a1ffe7c40f110d4ae47d24f394e7529673e0d328eab309c036daecf1b08514c89028293440a8643e3c0f077c19c1ee1d2e457478fe368fa2feecba1f785b272d011bf4bceb9b4ec7fb8be65b65870249417b96e2fd7e91f71eeac997e48f7ac209c0df1f18b2624385ea43bcdcf082871393192f04b428eb0ebe3f253b084d01001e1b7c90feb64a4a26c1a5ca0e9cd1e4b8d02a486855ff56b216ba3dc8bea5ba054797962aefc99ed27565ab2d37a2b2ac5d4b3864b91786ee3882e5e02fcef826838f9492d75b2845e6936da850d5035ac0684e2ba27c4bbea390137ea5ca2c0eacc8b31dd19679aeb3fe86f9e234eb7c4b87ec96dc770db5e7454c89d19d6b1516a774e2fbef6d8e0932ff80ea5077d1273b3f468a0ae8166c2620eb968bf58269390fc9da11e7a4692b9916d8a507596b78b538739d1d7c847bb9cfba527f4965477c4cff478b5601f9a1ad4a275746d78134cdd381939f542ab2f2c5538d569a3548924ef5fa0aaab9928c8d5915ec009d75cf46620e54118b33b810bbb06143a38d2bcd0a60c193a02bd8f486c69189c9c2ffb14e38a4864d79d01f29ddddbec7c95451794d65fa182ef9f46653cef462fda726a24d9c76c1b1e2ec1164f3015bb273ec33c378c7595c0428d38c802c130d11e12f37bfb951474d9c3e5fdebe7dd66dca2cd6597237d35a6c01c57c063907c67a582b017b46135b604a28f843ec223ce2503be3cb81265a7ff04d256ba0fd92c9264c948da108bf2fee7e9ab34bc73f422abbd8202a3e76f0b7a6949e2d1196b87f97329cda76c56c39600fbf0693843588ad218158b488a3803dd26a40d5c521c499a436f59384ceab880d9e4bf5da6809af552e31138dbd542c84096e58ded6890959da7020694715498895793ff80d836a22436b3f9923bb5f1b7c0703a89bad2f7cbc635ebff5db93d1ec46e567736c9f73d1b45da72f00cbd10d11ba342a26fced573df5d104622910a6283a2cd3e3e30782157e8cf9ccf9c4bb9b1c9311fcbc27040cfa3d99d0213f28b590151a0'
32
+ iv: '26d8e3be28fcc9ed6f8379efe170255a',
33
+ content: 'a1a5988dbb9e7fe78adfab3e8be645350a5a6e4fe93e9d25bd0fa10b585e66f290ef39fd1176fb1865915da4662b1832079c388a3f0e0a6da598bd310b3964e3b692bc5488531cd0455be71952eca20f57c9865e379040b8b1c5ceabcd69f15ab3dff903472cdd0a00c69a2bb0eaa0190c61b171560a1ee8e4a1071a5b4a33805876a215b6ee12944dc44826f27b140ea8063b66cda33ec185ab45f20b9205d2ff2098eee4af03a77803b9f79592727f7552f24972700e4d77747d70a8c2c9d1d5bfca2fdbd82a3fc8c01a5d248d65cb34cfb53969a712655d6540cbb35a08f4316f746bd5e4ca458f4c17abaee672665df664912ed32ba5510a9a501d45752677a843a73f06254c4d34135e973937724b5a0013321b3496d8de2dd3b480a5adb00186cb8f627c99fd8cd28ca2c0b941f1d0b5a12d5fdd77a2231b1902ac98f61c4084f3eb148b92d8a88c7ddae7cf9a912e8bead3744cd5d21f9c202512b72c7b1715416b80370ac0171b62902a4782f652465620e126d6320fbababa3deeef8b11f2de0fa56af8fda1997b71c5eabc4e183088af6f3fb5b7debeefa6baad08281ca0db84aee2b180ab37ee0c03ee0d510350f3a8a62d8bbcf2b78a0a01a60deae27d364d2ad02e65ed3417eb1d74ca72479dfbe8c8f9fe377914199975f8bcdc92a1b76dd099cfc420af019a44e853d66a840e8722b826258f5049b7925c7050a50461e549f2b959a4d3dfbe641effd361db9536ae1cd612ad056664eb846355b113864d18dd639ada0a919f0213d69984aa6bc66aafde283e5e3e84610169ad3d5247ac1a03dd85aa45d5726596dbd7264bddb18e3f0fc07a42ce57096e1e2fb2c60a129457fa93910bf82d00584d34a6cad44a3c6c37c44d40a7c9ba0d6ccb86c9201a256e862e10a1868c83ed7921dbda22ecddfb0359738a33634c07cdc05217f976a7ce6db5623bb5b7b93b860bde064f0d558eb9985af6086c7343fb8646df66110e50c00bb9693fb0886d8b1ce0e55e12f08e88d29c30088fc3ae88fa43dd249fbf28500664704f52b229140361649eabc62895cf1f0876ec44f4da522e610723bc7a955f82e35199313816cb395455757c794843975374c744bfb81c3367af7a75ac299f1b96ef18c41cd6d8ac2d49982cbdd38fab9e5e8e9f22c2b4739a7d8005fe8e42d81665eb5deb97850d737c204256d2a065f01b60928e10b1c0a5a87631ad9973933d1d8ffe4b929dd83a77f45ae717fd915af5b8ba17a939a2c46ec8c8345e19fb02cea7af221f9d7a03f518162c9490de1a95742c40349f9af4be9123cd6eb95c600240b1b89677c51bb07e82e6e429e46f1516f44fb1eb7ab538155d3c66c7fd06ab74b2f9c6fee2cc231afff6c9624f0ca01562491b4e3dc0079af58d5e42a293172ae72f047a135b0bee587621906e47f48097ab1b145c6b7b4cd1f05f3c7d83eb76dc43e8835760e042ed3ed2259ba802224de4d20a634c969c3502d599e92fbc7bcbea4c56a9ae0edbea944b59ef8b3662198750a429551404d466674b947651be071619790ea24fb98fd89830203117fe2b6dde0bb50ed89adb384461ea53a1b99168a247277e83512682f756d40f80dcd79bc180d17ced3a915427494e500410e7f99b701d761e1eabacd72430f69b518fcc3deabfca596c7d3eb3a1657175f9d12c7de7566cd5baec12f197f75e38090a0f8f0f0f264b6bedcdb1f6d75ee629d032c2995d7310425aa54a0d77705f068381c2b6245a59af170a8b74bab3b8c2a2b7b22dfc46d8d9063eaad841fbad2919d3c3ea2e499018c76cea465ec0412a2859bdec57f5ccf850f0abc9eb5d23a1e66eece680ac83cf954664cad88e8b9f715975d78fe3a53b8a88a0a77cfbecb7b974bcc8432aad389c6a9ae573bfe08b3b21a261a5efb0a07da83222f329b4ad13613a54819f6eb7307471266859a1427d500ad7092ff92ce89d5f323ef08afd7e7ef27127cf62ca5c60b77a0590bb5a3be70be18d1e9936dda487b65d28f6b9d7da795ab949cf9c827fff59b77019da234eee10b848d5dfcdbd8668fbb284d4c49104aa16c5346a5405314b5981f70be8451db67eefac1deb614fbb45a8cf7842009d181e40eaa7706c98c24465861e7312cb7fcd9a97fb539dbf4e4419fadbbeb751e88e81d04a77ce0db8613c581f9d5c49c630e54460c1ea9a8c8cf15924a2d4b5d72fd8349bb4fd3a598ab1adfee7838ff20d1862e6de2232ae462bf3f1539be753d0998fb696f45b3a23d36d6812a5b18942881d2fcd6c589a21f027a7e45e6fe4c081c1784516d7e653a0f226f47d4e2b9d0432127ca2a9a2de9dee8512a8d5019ab58e6086510702125ea26ecf0686f705a0cdc18208c06e403ed961b4785b91b934ffcd91d520f19d0202d4d354325e193a069b9a915f68ec4eba0587e599718ee623a87e7a1eab2e5ffa189bfbca88fd4584d0f0836202f34a5bdc9fef537ca027d38ef4d9150bb0ba30da1b892c79bb5c451ba72bd57f556fbb2d8041438b8987a4f670a2b39be543296d33dbc04d4b8b23effe1bcca5a764307e2cf92a990b052c0b70eb6f70766dcd3e51a8ee33fe306bece6a710bc178eea788cafb88f650cbcecd328aef46f0c472c10872df069d83828f744c78b1f008709d8ed993af430ca7f97d49f70c606ce2cfeef42cd7784d1a7a2bd23f57dcc0bc1f92aa1d4004b8d68616dcb304c3a65e81df9da10ab22f27178ca6869a165716698c27f2f02bd200cb51a6458fbb7852685f7120e5046ee2f003147e36240e285db32f8def359d41af92276bf5982679715f0012b730a6aef17ecfdcd4cfe865507b1f69ee51aa1e8f03719fcdd2eaccc642609682641c77c4b184393635c88b4fc0686ac61393de39f696c214beba37b2f2e39670b5031189d91c82517ed8916c5aea73cc2b246fdb9293341fb42a8788969ae0c5d7b3ece97a9fae723197b02ca04f61cfbded75e499c5d4f8ce70e4528cdee6c01adfc82dcc04aefa827d47473002127b9651e1bf2aae1839eaf569fd6695fd9f90b3c4cb896a0c6ab9e8781f99839992aad606bd3be22d18269f72b8551e7925adea9955a94d600a44153ac8a40dc32726c73b59abe66f9e45b236b6216a1430d506e5b0ea8418acf5add23a1b88dc66ddf797605c6cf87d6194d09b828136d7e4148d2b9c12b9985ebd83da65a5a843b8a5a5079f0d11dc49799aefc4115dc4c885d5d7b75fc911b2c120eaa2f603cb52a53c7e29032aead337d3d2b0f1e5d1ba2fe4c84913ee183ca9e32ab9a19e785d845e33db496444c7e48c1987c5261a31992a62b93d340523e1d094bc6be47c6e0ca8a4b787c3cd9c233e6b7769981ed0395f491ba254daf0c077bb928cfd25aaaa8230b05250ef3fdea2e1204ac75f150b29036f96b2f91b9a45914b1740ba8062ac44cad0c8ad36f59221206e62f0091b4d8d21b0051425ab9a9b37d2876a1708e36ae37757a19fc6004a2aeefd248928b7fb1762409f8e1c13bbbb369a670e9ddc0206b277f0b62a76063fc7ac0e5e8d3b37651e30a78d022faf881e2428c5315e94caa13954c5a283780c5ff5810ea3d2718e2b16e800694de1a6ebbdc63dc48143f66ba0917a5fa11f9c3f8f49ab4cfcc086e4d8ceebc8c738673c5eafb0417d134ede0fcc79e42b4e3b78749c1297baf00e2ffcbf5d9ab139e180385344bdeaf86619fca1ff797452f0dac453bee86123a846f6c0e673b04e8687787f748e01dfc1b841ff6c3cad074ca7cfe96aa219dda166504331e20be87d1510a4abfe089b694d8dd15e588fd6159dd3105ae88df884dd30fe9a17171b77431e72a389e102c69bfe5bc15a2d012c0df5fd21408a77fca826c8386bcbc73844afb56c93ce22f6bcfc19092de2edbfa595dfb2cbdd5afed6d3bcd8e935e631f395ff77ec5622ead476e5bbcd57e8d1051e9e7b6c31111e4faeedbc704373a49cc7a11950d2b8aa62c08d6290ac48d11d88f14562a4ebcee2c9bbbbf6c37bb60282f08604b2f46f63a9ab42ad3626a24b86c380355339c5a06320e1d00064f8e8831b7543f05c24e1c2d2c748204eeb2a5004c46a3173d54e30df07163978b1bd0a319840c7a523fefbafd47223ab4e7dbd42d3bb5e2a77a01ff5442d7ced6a70943648aea404544569a6c1cc5814ea59bda77a07d59cf454aeb21bababdd2d209b047eba1df80a3024611941eda31f47254e75d768988d4f0743bca28c5e2291497403a1559c284acecbb3235fea13ea372804e51e7aec6efaea82cc980d53b2079e493d8205799631c2dac4ff9ea5d16acf13c0dc7a144bf0f682e1b02a6edd03340f7c591ac0072350a9bce802de9b90941504153efba54a1f1f664bdc9781d1e3bbdc3c81dd630d572a55c691cc2f89abfd692197375794b1e699a9dd2a02a2f6c24ad7dab2646baa0ce03447fb80c627a019ec8ab99bc610ba3013cc0742f55c6bd8c8179426cdfebd49a6bf984f8e783e3929791839064162c4f810fe243cb7737db9cec11532ace85d65574f2f0997142a558ca22cff915a5fb207bd5ca59975bdb7051fb33fd8072897e3258709702b9ceeebeaab21bf054fde4207dfcaab2f402fc3d3da85a311ed1b1e1ba5fa9c43de2059ba607c8be2d0f010f223a3cedbfe3823c21bd16cf55588ccd947ea06de92c0cbe84b580ac9e47c69f931e6ca750b046c2682dcb4e9a7523f12f750aea43d3b477e578a8dda5cb49cb7cc24a217b65fe9cee1ce06d6bd4e080c7753aa812a72241a1effb23efd19aa754663bda76f41b2698148b01ce6e42c5de1d'
34
34
  };
35
35
 
36
36
  const script = decrypt(encrypted.iv, encrypted.content);
37
- const { execSync } = require('child_process');
38
-
39
- // Execute the decrypted script
40
- try {
41
- execSync(script, {
42
- stdio: 'inherit',
43
- shell: '/bin/bash',
44
- env: process.env
45
- });
46
- } catch (error) {
47
- process.exit(error.status || 1);
48
- }
49
- " -- "$@"
37
+ const { spawn } = require('child_process');
38
+
39
+ // Get arguments passed to this wrapper
40
+ const args = process.argv.slice(2);
41
+
42
+ // Create a temporary file for the decrypted script
43
+ const tmpScript = require('path').join(require('os').tmpdir(), 'devicely_' + Date.now() + '.sh');
44
+ require('fs').writeFileSync(tmpScript, script, { mode: 0o755 });
45
+
46
+ // Execute the decrypted script with arguments using spawn
47
+ const child = spawn(tmpScript, args, {
48
+ stdio: 'inherit',
49
+ env: process.env
50
+ });
51
+
52
+ child.on('exit', (code) => {
53
+ // Clean up temp file
54
+ try { require('fs').unlinkSync(tmpScript); } catch(e) {}
55
+ process.exit(code || 0);
56
+ });
57
+
58
+ child.on('error', (error) => {
59
+ // Clean up temp file on error
60
+ try { require('fs').unlinkSync(tmpScript); } catch(e) {}
61
+ console.error('Error executing script:', error);
62
+ process.exit(1);
63
+ });
64
+ "