From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, FREEMAIL_FROM,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 14320 invoked from network); 21 Jul 2023 22:33:11 -0000 Received: from 9front.inri.net (168.235.81.73) by inbox.vuxu.org with ESMTPUTF8; 21 Jul 2023 22:33:11 -0000 Received: from mail-4321.protonmail.ch ([185.70.43.21]) by 9front; Fri Jul 21 18:31:38 -0400 2023 Date: Fri, 21 Jul 2023 22:24:58 +0000 Authentication-Results: mail-4321.protonmail.ch; dkim=pass (2048-bit key) header.d=protonmail.com header.i=@protonmail.com header.b="eEgctCWi" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1689978311; x=1690237511; bh=eyFQJIbzU+HryNNzAD9sDe2+I1UaFBvFjRxAYu1BAgs=; h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=eEgctCWiANbiO28ZeG5eWe+G61G+DLHp8qj5F7LQxgGM6dVQxeB+1tPvAMtxtTkaI pPxP4EqXhiaO3LX6xzPZd64cpeW/sCxmmNEtz/TLqZRZcx9eGuA7/d1RpeHsDfVsoN Nh8BIBDMQz1SQYCRXM8vUqgFZb9QZQ06fgpQZ5Dt/sG37j5J8SVRm8xp3qW4IzprTv blHVzqALa82eg0J0pgn59BePfnvWHa6HF4q36qHTc5GCULR35BgIVjvdqF748QzPwr Uo9ARsMDXUIFZQtNERvoBodXACfZB+k33f7wgHNtxaGFmdz2zs9f5gULz0IwhMKXKV sb4aPzXZDYVLA== To: "9front@9front.org" <9front@9front.org> From: PeacefulGena Message-ID: Feedback-ID: 23850983:user:proton MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_Rb0imkka6bMDVziAs9a8m2LNxqvu9YCi4979If89io" List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: structured structured base XMPP shader-based rails Subject: [9front] Invitation for testing a new game for 9front: Jetpack Game Reply-To: 9front@9front.org Precedence: bulk This is a multi-part message in MIME format. --b1_Rb0imkka6bMDVziAs9a8m2LNxqvu9YCi4979If89io Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Dear 9front community, I hope this message finds you all well. As a newcomer to this group, this i= s my first actual interaction with you, the 9front community. I've been a s= ilent observer for over two years now, using 9front in a virtual machine an= d admiring the dedication and innovation that has brought this project to w= here it is today. Today, I have some exciting news to share with you all. I've been working with OpenAI's language model, ChatGPT, to develop a new g= ame for the 9front OS. This unique project is a testament to the capabiliti= es of AI models in coding. Every bit of the game code was written by ChatGP= T, and it's been a fascinating journey watching it come to fruition. The game is a simple yet enjoyable one, where a player, represented by a sq= uare, must navigate through obstacles and gather coins while moving along t= he y-axis. The game dynamics involve acceleration, maximum speed, and movem= ent based on the state of the up arrow key. Obstacles and coins continuousl= y appear from the right side of the screen, and the game ends if the player= collides with an obstacle. However, if the player collides with a coin, th= eir score increases. Currently, the game is still in its testing phase, and this is where I need= your help. Due to my limited hardware capacity, I've been running the game= in a virtual machine environment where it's not performing at its best. I'= m reaching out to this community to ask for your help in testing this game = on a bare metal installation of 9front. If the game runs smoothly and the community finds it interesting, I'm looki= ng forward to submitting it for inclusion in the 9front OS. Your feedback a= nd suggestions would be invaluable for fine-tuning the game dynamics and sq= uashing any bugs that might surface. I believe that this game, if successfully implemented, could add another fu= n component to our beloved 9front OS. Please let me know if you're interest= ed in being a part of this testing process. I will gladly share the source code with anyone willing to test it and look= forward to your feedback. Thank you for considering this request. I'm eager to hear your thoughts and= excited about the potential for this unique collaboration between AI and h= uman programming! Best regards, Gena --b1_Rb0imkka6bMDVziAs9a8m2LNxqvu9YCi4979If89io Content-Type: text/plain; name=jetpack.c Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=jetpack.c I2luY2x1ZGUgPHUuaD4NCiNpbmNsdWRlIDxsaWJjLmg+DQojaW5jbHVkZSA8ZHJhdy5oPg0KI2lu Y2x1ZGUgPGV2ZW50Lmg+DQoNCmVudW0gew0KICAgIFdJTkRPV19XSURUSCA9IDgwMCwNCiAgICBX SU5ET1dfSEVJR0hUID0gNjAwLA0KICAgIFBMQVlFUl9TSVpFID0gMjAsDQogICAgUExBWUVSX1NQ RUVEID0gNSwNCiAgICBCVUxMRVRfU1BFRUQgPSA1MCwNCiAgICBPQlNUQUNMRV9TUEVFRCA9IDMs DQogICAgTlVNX09CU1RBQ0xFUyA9IDIsDQogICAgWkFQUEVSX0hFSUdIVCA9IDUwLA0KICAgIFNB V19SQURJVVMgPSA1MCwNCiAgICBOVU1fQ09JTlMgPSAyMCwNCiAgICBDT0lOX1JBRElVUyA9IDEw LA0KICAgIEZMT09SX0FORF9DRUlMSU5HX0hFSUdIVCA9IDUwLA0KICAgIFVQQVJST1cgPSAnaics DQp9Ow0KDQp0eXBlZGVmIGVudW0geyBaQVBQRVJfV0FMTCwgU0FXX0JMQURFIH0gT2JzdGFjbGVU eXBlOw0KDQp0eXBlZGVmIHN0cnVjdCBPYnN0YWNsZSB7DQogICAgT2JzdGFjbGVUeXBlIHR5cGU7 DQogICAgaW50IHgsIHksIGV4aXN0Ow0KfSBPYnN0YWNsZTsNCg0KdHlwZWRlZiBzdHJ1Y3QgU2F3 QmxhZGUgew0KICAgIE9ic3RhY2xlIG9ic3RhY2xlOw0KICAgIGludCByYWRpdXM7DQogICAgZG91 YmxlIGFuZ2xlOw0KfSBTYXdCbGFkZTsNCg0KdHlwZWRlZiBzdHJ1Y3QgQ29pbiB7DQogICAgaW50 IHgsIHksIGV4aXN0Ow0KfSBDb2luOw0KDQp0eXBlZGVmIHN0cnVjdCBCdWxsZXQgew0KICAgIGlu dCB4LCB5LCBleGlzdDsNCn0gQnVsbGV0Ow0KDQpPYnN0YWNsZSogb2JzdGFjbGVzW05VTV9PQlNU QUNMRVNdOw0KaW50IHBsYXllclggPSAtUExBWUVSX1NJWkUsIHBsYXllclkgPSBXSU5ET1dfSEVJ R0hUIC8gMiAtIFBMQVlFUl9TSVpFIC8gMjsNCmludCB1cFByZXNzZWQgPSAwLCBzcGFjZVByZXNz ZWQgPSAwLCBnYW1lU3RhcnRlZCA9IDA7DQppbnQgY3VycmVudFNwZWVkID0gMDsNCmludCBtYXhT cGVlZCA9IDE1Ow0KaW50IGFjY2VsZXJhdGlvbiA9IDE7DQppbnQgZGVjZWxlcmF0aW9uID0gMTsN CmludCBnYW1lT3ZlciA9IDA7DQppbnQgY29pbkNvdW50ZXIgPSAwOw0KQnVsbGV0IGJ1bGxldDsN CkNvaW4gY29pbnNbTlVNX0NPSU5TXTsNCg0Kdm9pZCBlcmVzaXplZChpbnQgbmV3KQ0Kew0KICAg IGlmIChuZXcgJiYgZ2V0d2luZG93KGRpc3BsYXksIFJlZm5vbmUpIDwgMCkNCiAgICAgICAgc3lz ZmF0YWwoImNhbid0IHJlYXR0YWNoIHRvIHdpbmRvdyIpOw0KfQ0KDQp2b2lkIGRyYXdQbGF5ZXIo dm9pZCkNCnsNCiAgICBSZWN0YW5nbGUgcjsNCg0KICAgIHIgPSBSZWN0KHBsYXllclgsIHBsYXll clksIHBsYXllclggKyBQTEFZRVJfU0laRSwgcGxheWVyWSArIFBMQVlFUl9TSVpFKTsNCiAgICBk cmF3KHNjcmVlbiwgciwgZGlzcGxheS0+YmxhY2ssIG5pbCwgWlApOw0KfQ0KDQp2b2lkIGRyYXdP YnN0YWNsZXModm9pZCkNCnsNCiAgICBSZWN0YW5nbGUgcjsNCg0KICAgIGZvciAoaW50IGkgPSAw OyBpIDwgTlVNX09CU1RBQ0xFUzsgaSsrKSB7DQogICAgICAgIGlmIChvYnN0YWNsZXNbaV0tPmV4 aXN0ID09IDApDQogICAgICAgICAgICBjb250aW51ZTsNCg0KICAgICAgICBzd2l0Y2ggKG9ic3Rh Y2xlc1tpXS0+dHlwZSkgew0KICAgICAgICBjYXNlIFpBUFBFUl9XQUxMOg0KICAgICAgICAgICAg ciA9IFJlY3Qob2JzdGFjbGVzW2ldLT54LCBvYnN0YWNsZXNbaV0tPnksIG9ic3RhY2xlc1tpXS0+ eCArIFdJTkRPV19XSURUSCwgb2JzdGFjbGVzW2ldLT55ICsgWkFQUEVSX0hFSUdIVCk7DQogICAg ICAgICAgICBkcmF3KHNjcmVlbiwgciwgZGlzcGxheS0+YmxhY2ssIG5pbCwgWlApOw0KICAgICAg ICAgICAgYnJlYWs7DQogICAgICAgIGNhc2UgU0FXX0JMQURFOiB7DQogICAgICAgICAgICBTYXdC bGFkZSogc2F3QmxhZGUgPSAoU2F3QmxhZGUqKW9ic3RhY2xlc1tpXTsNCiAgICAgICAgICAgIGlu dCB4ID0gc2F3QmxhZGUtPm9ic3RhY2xlLnggKyBzYXdCbGFkZS0+cmFkaXVzICogY29zKHNhd0Js YWRlLT5hbmdsZSk7DQogICAgICAgICAgICBpbnQgeSA9IHNhd0JsYWRlLT5vYnN0YWNsZS55ICsg c2F3QmxhZGUtPnJhZGl1cyAqIHNpbihzYXdCbGFkZS0+YW5nbGUpOw0KICAgICAgICAgICAgZmls bGVsbGlwc2Uoc2NyZWVuLCBQdCh4LCB5KSwgc2F3QmxhZGUtPnJhZGl1cywgc2F3QmxhZGUtPnJh ZGl1cywgZGlzcGxheS0+YmxhY2ssIFpQKTsNCiAgICAgICAgICAgIGJyZWFrOw0KICAgICAgICB9 DQogICAgICAgIH0NCiAgICB9DQp9DQoNCnZvaWQgZHJhd0NvaW5zKHZvaWQpDQp7DQogICAgUG9p bnQgYzsNCg0KICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTlVNX0NPSU5TOyBpKyspIHsNCiAgICAg ICAgaWYgKGNvaW5zW2ldLmV4aXN0ID09IDApDQogICAgICAgICAgICBjb250aW51ZTsNCg0KICAg ICAgICBjID0gUHQoY29pbnNbaV0ueCwgY29pbnNbaV0ueSk7DQogICAgICAgIGZpbGxlbGxpcHNl KHNjcmVlbiwgYywgQ09JTl9SQURJVVMsIENPSU5fUkFESVVTLCBkaXNwbGF5LT53aGl0ZSwgWlAp Ow0KICAgIH0NCn0NCg0Kdm9pZCBkcmF3Rmxvb3JBbmRDZWlsaW5nKHZvaWQpDQp7DQogICAgUmVj dGFuZ2xlIHI7DQoNCiAgICByID0gUmVjdCgwLCAwLCBXSU5ET1dfV0lEVEgsIEZMT09SX0FORF9D RUlMSU5HX0hFSUdIVCk7DQogICAgZHJhdyhzY3JlZW4sIHIsIGRpc3BsYXktPmJsYWNrLCBuaWws IFpQKTsNCg0KICAgIHIgPSBSZWN0KDAsIFdJTkRPV19IRUlHSFQgLSBGTE9PUl9BTkRfQ0VJTElO R19IRUlHSFQsIFdJTkRPV19XSURUSCwgV0lORE9XX0hFSUdIVCk7DQogICAgZHJhdyhzY3JlZW4s IHIsIGRpc3BsYXktPmJsYWNrLCBuaWwsIFpQKTsNCn0NCg0Kdm9pZCByZWRyYXcodm9pZCkNCnsN CiAgICBkcmF3KHNjcmVlbiwgc2NyZWVuLT5yLCBkaXNwbGF5LT53aGl0ZSwgbmlsLCBaUCk7DQoN CiAgICBkcmF3Rmxvb3JBbmRDZWlsaW5nKCk7DQogICAgZHJhd1BsYXllcigpOw0KICAgIGRyYXdP YnN0YWNsZXMoKTsNCiAgICBkcmF3Q29pbnMoKTsNCn0NCg0Kdm9pZCBpbml0KHZvaWQpDQp7DQog ICAgLy8gSW5pdGlhbGl6ZSBvYnN0YWNsZXMNCiAgICBPYnN0YWNsZSogemFwcGVyV2FsbCA9IG1h bGxvYyhzaXplb2YoT2JzdGFjbGUpKTsNCiAgICBpZiAoemFwcGVyV2FsbCkgew0KICAgICAgICB6 YXBwZXJXYWxsLT50eXBlID0gWkFQUEVSX1dBTEw7DQogICAgICAgIHphcHBlcldhbGwtPnggPSBX SU5ET1dfV0lEVEg7DQogICAgICAgIHphcHBlcldhbGwtPnkgPSBucmFuZChXSU5ET1dfSEVJR0hU IC0gWkFQUEVSX0hFSUdIVCk7DQogICAgICAgIHphcHBlcldhbGwtPmV4aXN0ID0gMTsNCiAgICAg ICAgb2JzdGFjbGVzWzBdID0gemFwcGVyV2FsbDsNCiAgICB9DQoNCiAgICBTYXdCbGFkZSogc2F3 QmxhZGUgPSBtYWxsb2Moc2l6ZW9mKFNhd0JsYWRlKSk7DQogICAgaWYgKHNhd0JsYWRlKSB7DQog ICAgICAgIHNhd0JsYWRlLT5vYnN0YWNsZS50eXBlID0gU0FXX0JMQURFOw0KICAgICAgICBzYXdC bGFkZS0+b2JzdGFjbGUueCA9IFdJTkRPV19XSURUSDsNCiAgICAgICAgc2F3QmxhZGUtPm9ic3Rh Y2xlLnkgPSBucmFuZChXSU5ET1dfSEVJR0hUIC0gU0FXX1JBRElVUyk7DQogICAgICAgIHNhd0Js YWRlLT5vYnN0YWNsZS5leGlzdCA9IDE7DQogICAgICAgIHNhd0JsYWRlLT5yYWRpdXMgPSBTQVdf UkFESVVTOw0KICAgICAgICBzYXdCbGFkZS0+YW5nbGUgPSAwOw0KICAgICAgICBvYnN0YWNsZXNb MV0gPSAoT2JzdGFjbGUqKXNhd0JsYWRlOw0KICAgIH0NCg0KICAgIC8vIEluaXRpYWxpemUgY29p bnMNCiAgICBmb3IgKGludCBpID0gMDsgaSA8IE5VTV9DT0lOUzsgaSsrKSB7DQogICAgICAgIGNv aW5zW2ldLmV4aXN0ID0gMTsNCiAgICAgICAgY29pbnNbaV0ueCA9IFdJTkRPV19XSURUSCArIChu cmFuZChXSU5ET1dfV0lEVEgpKTsNCiAgICAgICAgY29pbnNbaV0ueSA9IG5yYW5kKFdJTkRPV19I RUlHSFQgLSBDT0lOX1JBRElVUyk7DQogICAgfQ0KfQ0KDQppbnQgY2hlY2tDb2xsaXNpb24odm9p ZCkNCnsNCiAgICBmb3IgKGludCBpID0gMDsgaSA8IE5VTV9PQlNUQUNMRVM7IGkrKykgew0KICAg ICAgICBpZiAob2JzdGFjbGVzW2ldLT5leGlzdCA9PSAxKSB7DQogICAgICAgICAgICBzd2l0Y2gg KG9ic3RhY2xlc1tpXS0+dHlwZSkgew0KICAgICAgICAgICAgY2FzZSBaQVBQRVJfV0FMTDoNCiAg ICAgICAgICAgICAgICBpZiAocGxheWVyWCA8IG9ic3RhY2xlc1tpXS0+eCArIFdJTkRPV19XSURU SCAmJg0KICAgICAgICAgICAgICAgICAgICBwbGF5ZXJYICsgUExBWUVSX1NJWkUgPiBvYnN0YWNs ZXNbaV0tPnggJiYNCiAgICAgICAgICAgICAgICAgICAgcGxheWVyWSA8IG9ic3RhY2xlc1tpXS0+ eSArIFpBUFBFUl9IRUlHSFQgJiYNCiAgICAgICAgICAgICAgICAgICAgcGxheWVyWSArIFBMQVlF Ul9TSVpFID4gb2JzdGFjbGVzW2ldLT55KQ0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gMTsN CiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIGNhc2UgU0FXX0JMQURFOiB7DQog ICAgICAgICAgICAgICAgU2F3QmxhZGUqIHNhd0JsYWRlID0gKFNhd0JsYWRlKilvYnN0YWNsZXNb aV07DQogICAgICAgICAgICAgICAgaWYgKChwbGF5ZXJYIC0gb2JzdGFjbGVzW2ldLT54KSAqIChw bGF5ZXJYIC0gb2JzdGFjbGVzW2ldLT54KSArIChwbGF5ZXJZIC0gb2JzdGFjbGVzW2ldLT55KSAq IChwbGF5ZXJZIC0gb2JzdGFjbGVzW2ldLT55KSA8PSAoc2F3QmxhZGUtPnJhZGl1cyArIFBMQVlF Ul9TSVpFKSAqIChzYXdCbGFkZS0+cmFkaXVzICsgUExBWUVSX1NJWkUpKQ0KICAgICAgICAgICAg ICAgICAgICByZXR1cm4gMTsNCiAgICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgIH0N CiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCg0KICAgIC8vIENoZWNrIGNvbGxpc2lv biB3aXRoIGNvaW5zDQogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBOVU1fQ09JTlM7IGkrKykgew0K ICAgICAgICBpZiAoY29pbnNbaV0uZXhpc3QgPT0gMSkgew0KICAgICAgICAgICAgaWYgKHBsYXll clggPCBjb2luc1tpXS54ICsgQ09JTl9SQURJVVMgJiYNCiAgICAgICAgICAgICAgICBwbGF5ZXJY ICsgUExBWUVSX1NJWkUgPiBjb2luc1tpXS54ICYmDQogICAgICAgICAgICAgICAgcGxheWVyWSA8 IGNvaW5zW2ldLnkgKyBDT0lOX1JBRElVUyAmJg0KICAgICAgICAgICAgICAgIHBsYXllclkgKyBQ TEFZRVJfU0laRSA+IGNvaW5zW2ldLnkpIHsNCiAgICAgICAgICAgICAgICBjb2luc1tpXS5leGlz dCA9IDA7DQogICAgICAgICAgICAgICAgY29pbkNvdW50ZXIrKzsNCiAgICAgICAgICAgIH0NCiAg ICAgICAgfQ0KICAgIH0NCg0KICAgIHJldHVybiAwOw0KfQ0KDQp2b2lkIG1haW4odm9pZCkNCnsN CiAgICBFdmVudCBlOw0KICAgIE1vdXNlIG07DQoNCiAgICBpZiAoaW5pdGRyYXcoMCwgMCwgIkpl dHBhY2sgR2FtZSIpIDwgMCkNCiAgICAgICAgc3lzZmF0YWwoImluaXRkcmF3IGZhaWxlZDogJXIi KTsNCiAgICBlaW5pdChFbW91c2UgfCBFa2V5Ym9hcmQpOw0KICAgIGVyZXNpemVkKDApOw0KDQog ICAgaW5pdCgpOw0KDQogICAgZm9yICg7Oykgew0KICAgICAgICB3aGlsZSAoZWNhbnJlYWQoRW1v dXNlIHwgRWtleWJvYXJkKSkgew0KICAgICAgICAgICAgc3dpdGNoIChldmVudCgmZSkpIHsNCiAg ICAgICAgICAgICAgICBjYXNlIEVrZXlib2FyZDoNCiAgICAgICAgICAgICAgICAgICAgaWYgKGUu a2JkYyA9PSBVUEFSUk9XKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB1cFByZXNzZWQgPSAx Ow0KICAgICAgICAgICAgICAgICAgICAgICAgZ2FtZVN0YXJ0ZWQgPSAxOw0KICAgICAgICAgICAg ICAgICAgICB9IGVsc2UgaWYgKGUua2JkYyA9PSAtVVBBUlJPVykgeyAvLyBBcnJvdyB1cCByZWxl YXNlZA0KICAgICAgICAgICAgICAgICAgICAgICAgdXBQcmVzc2VkID0gMDsNCiAgICAgICAgICAg ICAgICAgICAgfSBlbHNlIGlmIChlLmtiZGMgPT0gJ3EnKSB7DQogICAgICAgICAgICAgICAgICAg ICAgICBleGl0cygwKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAg ICBicmVhazsNCiAgICAgICAgICAgICAgICBjYXNlIEVtb3VzZToNCiAgICAgICAgICAgICAgICAg ICAgbSA9IGUubW91c2U7DQogICAgICAgICAgICAgICAgICAgIGlmIChtLmJ1dHRvbnMgPT0gNCkg ew0KICAgICAgICAgICAgICAgICAgICAgICAgZXhpdHMoMCk7DQogICAgICAgICAgICAgICAgICAg IH0NCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICB9DQogICAgICAgIH0N Cg0KICAgICAgICBpZiAoZ2FtZVN0YXJ0ZWQpIHsNCiAgICAgICAgICAgIGlmICh1cFByZXNzZWQp IHsNCiAgICAgICAgICAgICAgICBpZiAoY3VycmVudFNwZWVkIDwgbWF4U3BlZWQgJiYgcGxheWVy WSA+IEZMT09SX0FORF9DRUlMSU5HX0hFSUdIVCkNCiAgICAgICAgICAgICAgICAgICAgY3VycmVu dFNwZWVkICs9IGFjY2VsZXJhdGlvbjsNCg0KICAgICAgICAgICAgICAgIHBsYXllclkgLT0gY3Vy cmVudFNwZWVkOw0KDQogICAgICAgICAgICAgICAgaWYgKGJ1bGxldC5leGlzdCA9PSAwKSB7DQog ICAgICAgICAgICAgICAgICAgIGJ1bGxldC5leGlzdCA9IDE7DQogICAgICAgICAgICAgICAgICAg IGJ1bGxldC54ID0gcGxheWVyWDsNCiAgICAgICAgICAgICAgICAgICAgYnVsbGV0LnkgPSBwbGF5 ZXJZICsgUExBWUVSX1NJWkU7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSBlbHNl IHsNCiAgICAgICAgICAgICAgICBpZiAoY3VycmVudFNwZWVkID4gMCAmJiBwbGF5ZXJZIDwgV0lO RE9XX0hFSUdIVCAtIEZMT09SX0FORF9DRUlMSU5HX0hFSUdIVCAtIFBMQVlFUl9TSVpFKSB7DQog ICAgICAgICAgICAgICAgICAgIGN1cnJlbnRTcGVlZCAtPSBkZWNlbGVyYXRpb247DQogICAgICAg ICAgICAgICAgICAgIHBsYXllclkgLT0gY3VycmVudFNwZWVkOw0KICAgICAgICAgICAgICAgIH0g ZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIGlmIChwbGF5ZXJZIDwgV0lORE9XX0hFSUdIVCAt IEZMT09SX0FORF9DRUlMSU5HX0hFSUdIVCAtIFBMQVlFUl9TSVpFKSB7DQogICAgICAgICAgICAg ICAgICAgICAgICBjdXJyZW50U3BlZWQgLT0gZGVjZWxlcmF0aW9uOw0KICAgICAgICAgICAgICAg ICAgICAgICAgcGxheWVyWSAtPSBjdXJyZW50U3BlZWQ7DQogICAgICAgICAgICAgICAgICAgIH0N CiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGlmIChidWxs ZXQuZXhpc3QpIHsNCiAgICAgICAgICAgICAgICBidWxsZXQueSArPSBCVUxMRVRfU1BFRUQ7DQog ICAgICAgICAgICAgICAgaWYgKGJ1bGxldC55ID49IFdJTkRPV19IRUlHSFQpDQogICAgICAgICAg ICAgICAgICAgIGJ1bGxldC5leGlzdCA9IDA7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAg IGZvciAoaW50IGkgPSAwOyBpIDwgTlVNX09CU1RBQ0xFUzsgaSsrKSB7DQogICAgICAgICAgICAg ICAgaWYgKG9ic3RhY2xlc1tpXS0+ZXhpc3QgPT0gMSkgew0KICAgICAgICAgICAgICAgICAgICBv YnN0YWNsZXNbaV0tPnggLT0gT0JTVEFDTEVfU1BFRUQ7DQoNCiAgICAgICAgICAgICAgICAgICAg c3dpdGNoIChvYnN0YWNsZXNbaV0tPnR5cGUpIHsNCiAgICAgICAgICAgICAgICAgICAgY2FzZSBa QVBQRVJfV0FMTDoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChvYnN0YWNsZXNbaV0tPngg PCAtV0lORE9XX1dJRFRIKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JzdGFjbGVz W2ldLT54ID0gV0lORE9XX1dJRFRIOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ic3Rh Y2xlc1tpXS0+eSA9IG5yYW5kKFdJTkRPV19IRUlHSFQgLSBaQVBQRVJfSEVJR0hUKTsNCiAgICAg ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KICAg ICAgICAgICAgICAgICAgICBjYXNlIFNBV19CTEFERTogew0KICAgICAgICAgICAgICAgICAgICAg ICAgU2F3QmxhZGUqIHNhd0JsYWRlID0gKFNhd0JsYWRlKilvYnN0YWNsZXNbaV07DQogICAgICAg ICAgICAgICAgICAgICAgICBzYXdCbGFkZS0+YW5nbGUgKz0gMC4wNTsNCiAgICAgICAgICAgICAg ICAgICAgICAgIGlmIChvYnN0YWNsZXNbaV0tPnggPCAtU0FXX1JBRElVUykgew0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG9ic3RhY2xlc1tpXS0+eCA9IFdJTkRPV19XSURUSDsNCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBvYnN0YWNsZXNbaV0tPnkgPSBucmFuZChXSU5ET1dfSEVJ R0hUIC0gU0FXX1JBRElVUyk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAg ICAgICAgICAgICAgICBicmVhazsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg ICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgaWYgKGNoZWNrQ29sbGlzaW9uKCkpDQog ICAgICAgICAgICAgICAgICAgICAgICBnYW1lT3ZlciA9IDE7DQogICAgICAgICAgICAgICAgfQ0K ICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiAoZ2FtZU92ZXIgPT0gMCkNCiAgICAgICAg ICAgICAgICByZWRyYXcoKTsNCiAgICAgICAgICAgIGVsc2Ugew0KICAgICAgICAgICAgICAgIHBy aW50KCJHYW1lIE92ZXIhIEZpbmFsIHNjb3JlOiAlZFxuIiwgY29pbkNvdW50ZXIpOw0KICAgICAg ICAgICAgICAgIGV4aXRzKDApOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9IGVsc2Ugew0KICAg ICAgICAgICAgcGxheWVyWCArPSBQTEFZRVJfU1BFRUQ7DQogICAgICAgICAgICBpZiAocGxheWVy WCA+PSBXSU5ET1dfV0lEVEggLyAyIC0gUExBWUVSX1NJWkUgLyAyKQ0KICAgICAgICAgICAgICAg IGdhbWVTdGFydGVkID0gMTsNCg0KICAgICAgICAgICAgcmVkcmF3KCk7DQogICAgICAgIH0NCg0K ICAgICAgICBzbGVlcCgxNik7IC8vIHVwZGF0ZSBhcHByb3hpbWF0ZWx5IGV2ZXJ5IDE2IG1zIG9y IGFib3V0IDYwIHRpbWVzIHBlciBzZWNvbmQNCiAgICB9DQp9DQo= --b1_Rb0imkka6bMDVziAs9a8m2LNxqvu9YCi4979If89io--