From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <4E36C3C3.7060408@domain.hid> Date: Mon, 01 Aug 2011 17:18:27 +0200 From: Roberto Bielli MIME-Version: 1.0 References: <4E367A11.3050001@domain.hid> <4E36BB3B.60308@domain.hid> In-Reply-To: <4E36BB3B.60308@domain.hid> Content-Type: multipart/mixed; boundary="------------030003040007040807000109" Subject: Re: [Xenomai-core] rt_task_suspend, rt_task_delete chooses wrong tasks List-Id: Xenomai life and development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gilles Chanteperdrix Cc: xenomai@xenomai.org This is a multi-part message in MIME format. --------------030003040007040807000109 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, i send the source files with the initialization. In the file apgs.c there is the main procedure that call the function InitRTEnv() that initialize all. Thanks a lot Best regards Il 01/08/2011 16:42, Gilles Chanteperdrix ha scritto: > Could you show us the code which initializes the rtDesc member of the > structure, in order to allow us reproducing your scenario? -- +------------------------------------------------------------------------------------------------+ Roberto Bielli Sviluppo Software Axel S.r.l. Via Del Cannino, 3 21020 Crosio Della Valle Varese - Italy Telefono: +39 0332 949600 Fax: +39 0332 969315 E-mail: roberto.bielli@domain.hid Web Site: www.axelsw.it +------------------------------------------------------------------------------------------------+ Si precisa che le informazioni contenute in questo messaggio sono riservate e ad uso esclusivo del destinatario. Qualora il messaggio in parola Le fosse pervenuto per errore, La preghiamo di eliminarlo senza copiarlo e di non inoltrarlo a terzi, dandocene gentilmente comunicazione. Grazie. Informativa sul trattamento dei dati personali (D. Lgs. 196/2003). I dati utilizzati per la spedizione del presente messaggio sono utilizzati da Axel S.r.l., titolare del trattamento, per l'invio delle comunicazioni dei diversi settori aziendali, non essendo autorizzata la divulgazione a terzi. Potrete rivolgere alla seguente mail richieste di verifica, rettifica o cancellazione dei Vostri dati: info@domain.hid This e-mail and any attachments is confidential and may contain privileged information intended for the addressee(s) only. Dissemination, copying, printing or use by anybody else is unauthorised. If you are not the intended recipient, please delete this message and any attachments and advise the sender by return e-mail.Thank you. +------------------------------------------------------------------------------------------------+ --------------030003040007040807000109 Content-Type: text/plain; charset=windows-1252; name="apgs.c" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="apgs.c" LyoqIFxmaWxlIEFQZ3MuYw0KKiBBcHBsaWNhemlvbmUgcGVyIGVzZWd1aXJlIFBMQyBpbiB0 ZW1wbyByZWFsZS4gQXhlbCBTLnIubC4gMjAwOA0KKg0KKi8NCg0KI2luY2x1ZGUgPHN0ZGlv Lmg+DQojaW5jbHVkZSA8c3lzL3Vjb250ZXh0Lmg+DQojaW5jbHVkZSA8dW5pc3RkLmg+DQoj aW5jbHVkZSA8c3RkbGliLmg+DQoNCiNpbmNsdWRlICJjZXh0LmgiDQojaW5jbHVkZSAiZnVq aXRzdS5oIg0KI2luY2x1ZGUgInBjLmgiDQojaW5jbHVkZSAicnR0YXNrcy5oIg0KI2luY2x1 ZGUgInN5c2dlbi5oIg0KI2luY2x1ZGUgInZlcnNpb24uaCINCg0KI2luY2x1ZGUgImFscGxj L2NvbW11bmljYXRpb24uaCINCiNpbmNsdWRlICJhbHBsYy9wbGNtYW5hZ2VyLmgiDQoNCiNp bmNsdWRlICJUcmFjZUlucHV0LmgiDQojaW5jbHVkZSAiVHJhY2VMb2cuaCINCg0KDQovKiog dmVyc2lvbmUgUmVhbCB0aW1lICAqLw0KI2RlZmluZSBSVF9WRVJTSU9OCQkiQVhFTCBTLlIu TCAtICIgTkFNRV9BUk1fQVBHUyAiIC0gdi4gIiBWRVJTX0FSTV9BUEdTICIgLSAiIERBVEVf QVJNX0FQR1MNCg0KLyoqIG9wemlvbmkgZGEgbGluZWEgZGkgY29tYW5kbyAqLw0KI2RlZmlu ZSBDTURfT1BUCQkJInA6aGM6RE06Ig0KDQpzdGF0aWMgIGJvb2xlYW4gc3RvcEFwcGxpY2F0 aW9uOw0KDQovKiogZ2VzdG9yZSBkZWkgc2VnbmFsaSBkaSBwcm9jZXNzbyAqLw0Kdm9pZCBz aWdIYW5kbGVyKCBpbnQgc2lnLCBzaWdpbmZvX3QgKmluZm8sdm9pZCAqY29udGV4dCApDQp7 DQoJdWNvbnRleHRfdCAqdWMgPSAodWNvbnRleHRfdCAqKWNvbnRleHQ7DQoJaW50IGkgPSAw Ow0KCVJUX1RBU0tfSU5GTyBkc3RUYXNrU2lnOw0KDQoJaWYgKCEgc3RvcEFwcGxpY2F0aW9u KQ0KCXsNCgkJZm9yKCBpID0gMDsgaSA8IE5VTVRBU0tTOyBpKysgKQ0KCQl7DQoJCQlpZigg cnRfdGFza19pbnF1aXJlKCB0YWJSdFRhc2tbaV0ucnREZXNjLCAmZHN0VGFza1NpZyApID09 IDAgJiYgKCBkc3RUYXNrU2lnLnN0YXR1cyAmIDB4MzgwICkgPT0gMHgzODAgKQ0KCQkJew0K CQkJCUFsdFRyYWNlSW5OKCBBTFRSQUNFX0xFVl9CQVNFLCAgIklsIFRhc2sgUlQgJXMgaGEg Z2VuZXJhdG8gdW4gc2VnbmFsZTogMHglMDhYIiwgZHN0VGFza1NpZy5uYW1lLCBkc3RUYXNr U2lnLnN0YXR1cyApOw0KCQkJCWJyZWFrOw0KCQkJfQ0KCQl9DQoNCgkJc3dpdGNoKCBzaWcg KQ0KCQl7DQoJCQljYXNlIFNJR1RFUk06DQoJCQkJQWx0VHJhY2VJbjAoIEFMVFJBQ0VfTEVW X0JBU0UsICJBcnJpdmF0byBzZWduYWxlIGRpIFNJR1RFUk0iICk7DQoJCQkJYnJlYWs7DQoN Ci8vICAgICAgICAgIGNhc2UgU0lHSU5UOg0KLy8gICAgICAgICAgICAgIFByaW50VGltZU1l eCggVFJVRSwiQXJyaXZhdG8gc2VnbmFsZSBkaSBTSUdJTlRcbiIgKTsNCi8vICAgICAgICAg ICAgICBicmVhazsNCg0KCQkJY2FzZSBTSUdQSVBFOg0KCQkJCUFsdFRyYWNlSW4wKCBBTFRS QUNFX0xFVl9CQVNFLCJBcnJpdmF0byBzZWduYWxlIGRpIFNJR1BJUEUiICk7DQoJCQkJYnJl YWs7DQoNCgkJCWNhc2UgU0lHRlBFOg0KCQkJCUFsdFRyYWNlSW5OKCBBTFRSQUNFX0xFVl9C QVNFLCJBcnJpdmF0byBzZWduYWxlIGRpIFNJR0ZQRSBhbGwnaW5kaXJpenpvOiAweCUwOHgi LCB1Yy0+dWNfbWNvbnRleHQuZmF1bHRfYWRkcmVzcyApOw0KCQkJCWJyZWFrOw0KDQoJCQlj YXNlIFNJR1NFR1Y6DQoJCQkJQWx0VHJhY2VJbk4oIEFMVFJBQ0VfTEVWX0JBU0UsIkFycml2 YXRvIHNlZ25hbGUgZGkgU0lHU0VHViBhbGwnaW5kaXJpenpvOiAweCUwOHgiLCAgdWMtPnVj X21jb250ZXh0LmZhdWx0X2FkZHJlc3MgKTsNCgkJCQlzaWduYWwoIFNJR1NFR1YsIFNJR19E RkwgKTsNCgkJCQlicmVhazsNCg0KICAgICAgICAgICAgY2FzZSBTSUdCVVM6DQogICAgICAg ICAgICAgICAgQWx0VHJhY2VJbk4oIEFMVFJBQ0VfTEVWX0JBU0UsICJBcnJpdmF0byBzZWdu YWxlIGRpIFNJR0JVUyBhbGwnaW5kaXJpenpvOiAweCUwOHgiLCB1Yy0+dWNfbWNvbnRleHQu YXJtX3BjKTsNCiAgICAgICAgICAgICAgICBzaWduYWwoIFNJR0JVUywgU0lHX0RGTCApOw0K ICAgICAgICAgICAgICAgIGJyZWFrOw0KDQogICAgICAgICAgICBkZWZhdWx0Og0KICAgICAg ICAgICAgICAgIEFsdFRyYWNlSW4wKCBBTFRSQUNFX0xFVl9CQVNFLCAiQXJyaXZhdG8gc2Vn bmFsZSBOT04gcmljb25vc2NpdXRvIiApOw0KICAgICAgICAgICAgICAgIGJyZWFrOw0KCQl9 DQoNCiAgICAgICAgLy8gcXVhbmRvIHZlcnLgIGVzZWd1aXRvIGlsIG1haW4gdmllbmUgZmVy bWF0YSBsJ2FwcGxpY2F6aW9uZSwgdHJhbm5lIG5lbCBjYXNvIGRpIHNlZ21lbnRhdGlvbiBm YXVsdA0KICAgICAgICAvLyBwZXJjaOggY29z7CBwdfIgZXNzZXJlIGNvc3RydWl0byB1biBj b3JlIGR1bXAgZGVsbCdhcHBsaWNhemlvbmUNCiAgICAgICAgc3RvcEFwcGxpY2F0aW9uID0g VFJVRTsNCg0KICAgICAgICAvLyBGYWNjaW8gcGFydGlyZSB0YXNrIGRpIGNoaXVzdXJhDQog ICAgICAgIEFsdFRyYWNlSW4wKCBBTFRSQUNFX0xFVl9CQVNFLCJTdGFydCB0YXNrIEFwZ3Mg KHNpZ0hhbmRsZXIpIC4uLiIpOw0KICAgICAgICBtdHJlc3VtZXRhc2soIHRza19BUEdTICk7 DQoJfQ0KfQ0KDQoNCnZvaWQgICAgQ2hpdXN1cmFBUEdTICh2b2lkKQ0Kew0KICAgIC8qIHRl cm1pbmF6aW9uZSBkZWxsJ2FwcGxpY2F6aW9uZSBzdSBraWxsICovDQogICAgQWx0VHJhY2VJ bjAoIEFMVFJBQ0VfTEVWX0JBU0UsIkRpc2FiaWxpdGF6aW9uZSBpcnEgZnVqaXRzdS4uLiIg KTsNCiAgICBkaXNhYmxlX2lycV9mdWppdHN1KCk7DQoNCiAgICBBbHRUcmFjZUluMCggQUxU UkFDRV9MRVZfQkFTRSwiRWxpbWluYXppb25lIHRhc2tzIHJlYWx0aW1lLi4uIiApOw0KICAg IENsZWFuUnRFbnYoKTsNCg0KICAgIEFsdFRyYWNlSW4wKCBBTFRSQUNFX0xFVl9CQVNFLCJT dG9wIGRlbGxhIGNvbXVuaWNhemlvbmUgZGkgcmV0ZS4uLiIgKTsNCiAgICBTdG9wQ29tbXVu aWNhdGlvbigpOw0KDQogICAgQWx0VHJhY2VJbjAoIEFMVFJBQ0VfTEVWX0JBU0UsIk1lc3Nh IGluIHJlc2V0IGRlbCBmdWppdHN1Li4uIiApOw0KICAgIHB1dF9yc3RfZnVqdHVzdSgpOw0K DQogICAgQWx0VHJhY2VJbjAoIEFMVFJBQ0VfTEVWX0JBU0UsIkVsaW1pbmF6aW9uZSBkZWxs YSBtZW1vcmlhIElPIG1hcHBhdGEuLi4iICk7DQogICAgdW5tYXBNaWNyb1JlZ01lbW9yeSgp Ow0KICAgIHVubWFwRnVqTWVtKCk7DQogICAgdW5tYXBQQ01lbSgpOw0KICAgIGNsb3NlSU9N ZW0oKTsNCn0NCg0KDQppbnQgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkNCnsNCgkv LwlQb3J0YSBkaSBjb211bmljYXppb25lDQoJaW50IHM7DQoNCgltbG9ja2FsbChNQ0xfQ1VS UkVOVHxNQ0xfRlVUVVJFKTsNCg0KCS8vIGdlc3Rpb25lIHNpZ25hbCBoYW5kbGVyDQoJc3Ry dWN0IHNpZ2FjdGlvbiBzYTsNCglzYS5zYV9zaWdhY3Rpb24gPSBzaWdIYW5kbGVyOw0KCXNp Z2VtcHR5c2V0ICgmc2Euc2FfbWFzayk7DQoJc2Euc2FfZmxhZ3MgPSBTQV9TSUdJTkZPOw0K DQoJc2lnYWN0aW9uKFNJR1RFUk0sICZzYSwgTlVMTCk7DQovLwlzaWdhY3Rpb24oU0lHSU5U LCAmc2EsIE5VTEwpOw0KCXNpZ2FjdGlvbihTSUdQSVBFLCAmc2EsIE5VTEwpOw0KCXNpZ2Fj dGlvbihTSUdGUEUsICZzYSwgTlVMTCk7DQoJc2lnYWN0aW9uKFNJR1NFR1YsICZzYSwgTlVM TCk7DQogICAgc2lnYWN0aW9uKFNJR0JVUywgJnNhLCBOVUxMKTsNCg0KCXByaW50ZiggUlRf VkVSU0lPTiJcbiIgKTsNCg0KCQkvL2NyZWF6aW9uZSBhcmVhIGRpIHRyYWNlDQoJaWYoICFB bHRDcmVhdGVUcmFjZUFyZWEoIF9UKCJBUEdTIiksIDB4MTAwMCApICkNCgkJcGVycm9yKCAi SW1wb3NzaWJpbGUgY3JlYXJlIGwnYXJlYSBkaSB0cmFjZSAiICk7DQoJCQ0KCUFsdFNldFRy YWNlTWFzayggQUxUUkFDRV9MRVZfQkFTRSApOw0KCUFsdFNldFRyYWNlVGltZSggRkFMU0Ug KTsNCg0KCS8vIGxldHR1cmEgZGVnbGkgYXJnb21lbnRpIGRhbGxhIHJpZ2EgZGkgY29tYW5k byBjb24gZ2V0b3B0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCXMgPSBnZXRvcHQoIGFy Z2MsYXJndixDTURfT1BUICk7DQoJaWYgKCBzID09ICdoJyApDQoJew0KCQlwcmludGYoICJ1 dGlsaXp6bzogQVBHUyBcbiINCgkJCQkiICBbLWhdCQkjIE1vc3RyYSBxdWVzdG8gaGVscFxu Ig0KCQkJCSIgIFstY10JCSMgUGF0aCBkZWwgZmlsZSAuY29kIg0KCQkJCSIgIFstcF0JCSMg U2V0dGEgbGEgcG9ydGEgZGkgY29tdW5pY2F6aW9uZSBkZWwgTG9naWNMYWJcbiINCiAgICAg ICAgICAgICAgICAiICBbLURdICAgICAjIExhbmNpYSBhcHBsaWNhdGl2byBpbiBEZWJ1Z1xu Ig0KCQkJCSIgIFstTV0gICAgICMgQ2FtYmlhIG1hc2NoZXJhIGRpIHRyYWNlIGRpIGFjcXVp c2l6aW9uZVxuIik7DQoJCWV4aXQoIDAgKTsNCgl9DQoNCglkbw0KCXsNCgkJc3dpdGNoIChz KQ0KCQl7DQoJCQljYXNlICdwJzoNCgkJCQkJLy8JSW5pemlhbGl6emF6aW9uZSBlIHBhcnRl bnphIGRlbCBnZXN0b3JlIFBMQw0KCQkJCVNldFRjcFBvcnQoIGF0b2koIG9wdGFyZyApICk7 DQoJCQkJYnJlYWs7DQoNCgkJCWNhc2UgJ2MnOg0KCQkJCQkvLyBzZXR0aWFtbyBpbCBwYXRo IGRlbCBmaWxlIC5jb2QNCgkJCQlTZXRDb2RQYXRoKCBvcHRhcmcgKTsNCgkJCQlicmVhazsN Cg0KICAgICAgICAgICAgY2FzZSAnRCc6DQogICAgICAgICAgICAgICAgbXRfZGVidWcgPSBW RVJPOw0KICAgICAgICAgICAgICAgIGJyZWFrOw0KDQoJCQljYXNlICdNJzoNCgkJCQlBbHRT ZXRUcmFjZU1hc2soIHN0cnRvdWwoIG9wdGFyZywgTlVMTCwgMCApICk7DQogICAgICAgICAg ICAgICAgYnJlYWs7DQoNCgkJfQ0KCX0gd2hpbGUgKCAocyA9IGdldG9wdCggYXJnYyxhcmd2 LENNRF9PUFQgKSApICE9IEVPRik7DQoNCg0KCQkvL3BhcnRlbnphIGFjcXVpc2l6aW9uZSBk YSBwYXJ0ZSBkaSBBbFRyYWNlDQoJQWx0U3RhcnRUcmFjZSgpOw0KDQoJQWx0VHJhY2VJbjAo IEFMVFJBQ0VfTEVWX0JBU0UsIF9UKCJBbFRyYWNlIGNvbmZpZ3VyZWQsIGxldmVscyBhY3Rp dmU6IikgKTsNCg0KCUFsdFRyYWNlSW4wKCBBTFRSQUNFX0xFVl9CQVNFLCAJCV9UKCJBTFRS QUNFX0xFVl9CQVNFIC0gQmFzZSBsZXZlbCIpICk7DQoJQWx0VHJhY2VJbjAoIEFMVFJBQ0Vf TEVWX09TX1RBU0ssCV9UKCJBTFRSQUNFX0xFVl9PU19UQVNLIC0gT1MgdGFzayBtYW5hZ2Vt ZW50IikgKTsNCglBbHRUcmFjZUluMCggQUxUUkFDRV9MRVZfT1NfU0VNLCAJX1QoIkFMVFJB Q0VfTEVWX09TX1NFTSAtIE9TCXNlbWFwaG9yZSBjYWxscyIpICk7DQoJQWx0VHJhY2VJbjAo IEFMVFJBQ0VfTEVWX09TX1NMRUVQLCAJX1QoIkFMVFJBQ0VfTEVWX09TX1NMRUVQIC0gT1Mg c2xlZXAgY2FsbHMiKSApOw0KCUFsdFRyYWNlSW4wKCBBTFRSQUNFX0xFVl9PU19SRUdJT04s CV9UKCJBTFRSQUNFX0xFVl9PU19SRUdJT04gLSBPUyBtdXRleCBjYWxscyIpICk7DQoJQWx0 VHJhY2VJbjAoIEFMVFJBQ0VfTEVWX09TX01CWCwgCV9UKCJBTFRSQUNFX0xFVl9PU19NQlgg LSBPUyBtYWlsYm94IGNhbGxzIikgKTsNCglBbHRUcmFjZUluMCggQUxUUkFDRV9MRVZfT1Nf TElOVVgsIAlfVCgiQUxUUkFDRV9MRVZfT1NfTElOVVggLSBPUyBiYXNlIHNlcnZpY2VzIGxp bnV4IGNhbGxzIikgKTsNCglBbHRUcmFjZUluMCggQUxUUkFDRV9MRVZfUlRfUExDLCAJX1Qo IkFMVFJBQ0VfTEVWX1JUX1BMQyAtIFBMQyBydW50aW1lIG9wZXJhdGlvbnMiKSApOw0KCUFs dFRyYWNlSW4wKCBBTFRSQUNFX0xFVl9HREIsIAkJX1QoIkFMVFJBQ0VfTEVWX0dEQiAtIEdE QiBwcm90b2NvbCBvcGVyYXRpb25zIikgKTsNCg0KCS8vLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KDQoJQWx0VHJhY2VJbjAoIEFMVFJBQ0VfTEVWX0JBU0UsICJBcGVydHVyYSBN ZW1vcmlhIElPLi4uIik7DQoJaWYgKCAhIG9wZW5JT01lbSgpICkNCgl7DQoJCUFsdFRyYWNl SW4wKCBBTFRSQUNFX0xFVl9CQVNFLCAiRXJyb3JlIHN1IGFwZXJ0dXJhIG1lbW9yaWEgZGkg SU8iKTsNCgkJcmV0dXJuIDA7DQoJfQ0KDQogICAgQWx0VHJhY2VJbjAoIEFMVFJBQ0VfTEVW X0JBU0UsICJNYXBwYXR1cmEgbWVtb3JpZSBkaSBJTyBlIHJpc29yc2UgYXJtLi4uIik7DQoJ aWYgKCAhIG1hcFBjTWVtKCl8fCAhIG1hcEZ1ak1lbSgpIHx8ICEgbWFwTWljcm9SZWdNZW1v cnkoKSApDQoJew0KCQlBbHRUcmFjZUluMCggQUxUUkFDRV9MRVZfQkFTRSwiRXJyb3JlOiBN ZW1vcmllIElPIG5vbiBtYXBwYXRlIG8gcmlzb3Nyc2Ugbm9uIHZhbGlkZSIpOw0KCQlyZXR1 cm4gRkFMU0U7DQoJfQ0KDQoJQWx0VHJhY2VJbjAoIEFMVFJBQ0VfTEVWX0JBU0UsIkdlbmVy YXppb25lIGRlbCBzaXN0ZW1hIHJlYWx0aW1lLi4uIik7DQoNCglBbHRUcmFjZUluMCggQUxU UkFDRV9MRVZfQkFTRSwiSW5pemlhbGl6emF6aW9uZSBJUlEgZGEgRnVqaXRzdS4uLiIpOw0K CWluaXRfaXJxX2Z1aml0c3UoKTsNCg0KCUFsdFRyYWNlSW4wKCBBTFRSQUNFX0xFVl9CQVNF LCJEaXNhYmlsaXRhemlvbmUgSVJRIGRhIGZ1aml0c3UgZSByZXNldCBmdWppdHN1Li4uIik7 DQoJZGlzYWJsZV9pcnFfZnVqaXRzdSgpOw0KDQoJLy8gbWV0dGlhbW8gaW4gcmVzZXQgaWwg ZnVqaXRzdQ0KCXB1dF9yc3RfZnVqdHVzdSgpOw0KCXVzbGVlcCAoMTAwMDApOw0KCS8vIHJp bXVvdmlhbW8gaWwgcmVzZXQgZGVsIGZ1aml0c3UNCglyZW1vdmVfcnN0X2Z1aml0c3UoKTsN Cg0KCUFsdFRyYWNlSW4wKCBBTFRSQUNFX0xFVl9CQVNFLCJJbml6aWFsaXp6YXppb25lIGFt YmllbnRlIHJlYWx0aW1lLi4uIiApOw0KCWlmKCAhIEluaXRSVEVudigpICkNCiAgICB7DQog ICAgICAgIENoaXVzdXJhQVBHUyAoKTsNCiAgICAgICAgZXhpdCgwKTsNCiAgICB9DQoNCglB bHRUcmFjZUluMCggQUxUUkFDRV9MRVZfQkFTRSwgIlN0YXJ0IHRhc2sgU3lzZ2VuIC4uLiIp Ow0KCW10cmVzdW1ldGFzayggdHNrX1NZU0dFTiApOw0KDQoJZm9yKCA7OyApDQoJew0KCQl1 c2xlZXAgKDEwMDAwMDApOw0KCX0NCg0KCXJldHVybigwKTsNCn0NCg0Kdm9pZCAgICBBcGdz ICh2b2lkKQ0Kew0KICAgIENoaXVzdXJhQVBHUyAoKTsNCiAgICBleGl0KDApOw0KfQ0KDQo= --------------030003040007040807000109 Content-Type: text/plain; charset=windows-1252; name="rttasks.c" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="rttasks.c" LyoqIFxmaWxlIHJ0dGFza3MuYw0KKiAgIGltcGxlbWVudGF6aW9uZSBkZWxsZSBmdW56aW9u aSBlIGRlaSB0YXNrIHJlYWwgdGltZSBBeGVsDQoqLw0KDQojaW5jbHVkZSAiY2V4dC5oIg0K I2luY2x1ZGUgInBjLmgiDQojaW5jbHVkZSAicnR0YXNrcy5oIg0KDQojaW5jbHVkZSAiYXBn cy5oIg0KI2luY2x1ZGUgImlub3V0LmgiDQojaW5jbHVkZSAiaW9tYW5hZy5oIg0KI2luY2x1 ZGUgInN5c2dlbi5oIg0KI2luY2x1ZGUgImRhdGFjYW4uaCINCiNpbmNsdWRlICJyZWdoeWQu aCINCiNpbmNsdWRlICJtcGVyLmgiDQojaW5jbHVkZSAiY2FuYnVzLmgiDQojaW5jbHVkZSAi Y2Fuc3J2LmgiDQojaW5jbHVkZSAiY2FuNDQzLmgiDQojaW5jbHVkZSAiZ2VzdGRwLmgiDQoj aW5jbHVkZSAiY2FuYnVzLmgiDQojaW5jbHVkZSAiZXhlY2MuaCINCiNpbmNsdWRlICJiYXJy aS5oIg0KI2luY2x1ZGUgImV4ZWNubi5oIg0KI2luY2x1ZGUgImV4ZWN5enZ3LmgiDQojaW5j bHVkZSAiZm9yYXR1cmEuaCINCiNpbmNsdWRlICJmdW5zdy5oIg0KI2luY2x1ZGUgImZ1bnN3 eS5oIg0KI2luY2x1ZGUgImZ1bnN3ei5oIg0KI2luY2x1ZGUgImZ1bnN3di5oIg0KI2luY2x1 ZGUgImZ1bnN3dy5oIg0KI2luY2x1ZGUgInRlc3RhLmgiDQojaW5jbHVkZSAidGVzdGEyLmgi DQojaW5jbHVkZSAiaG9zdGMuaCINCiNpbmNsdWRlICJwZXJfcGFyLmgiDQojaW5jbHVkZSAi ZnVuaW5vLmgiDQojaW5jbHVkZSAiY2xrLmgiDQojaW5jbHVkZSAiYWxwbGMvcGxjbWFuYWdl ci5oIg0KDQojaW5jbHVkZSAiVHJhY2VJbnB1dC5oIg0KI2luY2x1ZGUgIlRyYWNlTG9nLmgi DQoNCg0KDQpSVF9JTlRSIAlpbnRfZGVzYzsJCQkJLyogZGVmaW5pemlvbmUgaXJxIFhlbm9t YWkgKi8NClJUX1RBU0sgCXRza0huZFhlbm9bTlVNVEFTS1NdOwkvKiBEZXNjcml0dG9yZSBk ZWkgdGFzayBYZW5vbWFpICovDQpSVF9TRU0gCQl0c2tTZW1bTlVNVEFTS1NdOwkJLyogRGVm aW5pemlvbmUgZGVnbGkgaGFuZGxlIGRlaSBzZW1hZm9yaSBkaSBhdnZpbyBwZXIgb2duaSB0 YXNrICovDQpSVF9TRU0gCQllbnZTZW1bTlVNU1lTU0VNXTsJCS8qIHNlbWFmb3JpIGRpIHNp c3RlbWEgKi8NClJUX01VVEVYIAllbnZSZWdbTlVNU1lTUkVHXTsJCS8qIHJlZ2lvbmkgZGkg c2lzdGVtYSAqLw0KUlRfUVVFVUUJZW52TWJ4W05VTVNZU01CWF07CQkvKiBtYWlsYm94IGRp IHNpc3RlbWEgKi8NCg0KDQovKiAtLS0tLS0tLS0tLS0tLS0tVEFCRUxMQSBERUkgVEFTSy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KDQoNCi8vICA7 ICAgVGFza3MNCi8vICA7DQovLyAgOyAgICAgICAgICAgTm9tZSAgICAgICAgICAgICAgICBQ cmkgICAgIFN0YWNrICAgU3RhcnQNCi8vICANCi8vICAjZGVmIHRhc2ssICBTeXNnZW4sICAg ICAgICAgICAgIDMxLCAgICAgNDAwLCAgICBzeXNnZW4NCi8vICAjZGVmIHRhc2ssICBQb2xr ZXksICAgICAgICAgICAgIDMxLCAgICAgNDAwLCAgICBwb2xsX2tleQ0KLy8gICNkZWYgdGFz aywgIHBsYywgICAgICAgICAgICAgICAgMjgsICAgICA0MDAsICAgIGV4ZV9wbGMgICAgIDsg UExDDQovLyAgI2RlZiB0YXNrLCAgSW5vdXQsICAgICAgICAgICAgICAyNSwgICAgIDgwMCwg ICAgaW5vdXQNCi8vICAjZGVmIHRhc2ssICBBbGFybSwgICAgICAgICAgICAgIDI0LCAgICAg NDAwLCAgICBhbGFybQ0KLy8gICNkZWYgdGFzaywgIEV4ZW1zZywgICAgICAgICAgICAgMjMs ICAgICA4MDAsICAgIGV4ZW1zZw0KLy8gICNkZWYgdGFzaywgIEV4ZWMsICAgICAgICAgICAg ICAgMjIsICAgICA4MDAsICAgIGV4ZWMgICAgICAgIDsgRXhlYw0KLy8gICNkZWYgdGFzaywg IEV4ZWNjLCAgICAgICAgICAgICAgMjEsICAgICA4MDAsICAgIGV4ZWNjICAgICAgIDsgRXhl YyBjYW5vbmljbw0KLy8gICNkZWYgdGFzaywgIEFyYml4LCAgICAgICAgICAgICAgMjEsICAg ICA4MDAsICAgIGFyYml4DQovLyAgI2RlZiB0YXNrLCAgQmFycmksICAgICAgICAgICAgICAy MCwgICAgIDgwMCwgICAgYmFycmkNCi8vICAjZGVmIHRhc2ssICBBeGVDYW4sICAgICAgICAg ICAgIDIwLCAgICAgNDAwLCAgICBBeGVDYW4gICAgICA7IEdlc3RvcmUgYXNzaSBDQU4NCi8v ICAjZGVmIHRhc2ssICBJbmlDYW4sICAgICAgICAgICAgIDIwLCAgICAgNDAwLCAgICBJbmlD YW4gICAgICA7IEdlc3RvcmUgYXNzaSBJTkkgQ0FODQovLyAgI2RlZiB0YXNrLCAgQ2FuQnVz LCAgICAgICAgICAgICAxOSwgICAgIDQwMCwgICAgQ2FuQnVzICAgICAgOyBUYXNrIENhbmJ1 cw0KLy8gICNkZWYgdGFzaywgIEV4ZWMwMCwgICAgICAgICAgICAgMTgsICAgICA0MDAsICAg IGV4ZWMwMA0KLy8gICNkZWYgdGFzaywgIEV4ZWMwMSwgICAgICAgICAgICAgMTgsICAgICA0 MDAsICAgIGV4ZWMwMQ0KLy8gICNkZWYgdGFzaywgIEV4ZWMwMiwgICAgICAgICAgICAgMTgs ICAgICA0MDAsICAgIGV4ZWMwMg0KLy8gICNkZWYgdGFzaywgIEV4ZWMwMywgICAgICAgICAg ICAgMTgsICAgICA0MDAsICAgIGV4ZWMwMw0KLy8gICNkZWYgdGFzaywgIEV4ZWMwNCwgICAg ICAgICAgICAgMTgsICAgICA0MDAsICAgIGV4ZWMwNA0KLy8gICNkZWYgdGFzaywgIEV4ZWMw NSwgICAgICAgICAgICAgMTgsICAgICA0MDAsICAgIGV4ZWMwNQ0KLy8gICNkZWYgdGFzaywg IEV4ZWMwNiwgICAgICAgICAgICAgMTgsICAgICA0MDAsICAgIGV4ZWMwNg0KLy8gICNkZWYg dGFzaywgIEV4ZWMwNywgICAgICAgICAgICAgMTgsICAgICA0MDAsICAgIGV4ZWMwNw0KLy8g ICNkZWYgdGFzaywgIEV4ZWMwOCwgICAgICAgICAgICAgMTgsICAgICA0MDAsICAgIGV4ZWMw OA0KLy8gICNkZWYgdGFzaywgIEV4ZWMwOSwgICAgICAgICAgICAgMTgsICAgICA0MDAsICAg IGV4ZWMwOQ0KLy8gICNkZWYgdGFzaywgIEV4ZWMxMCwgICAgICAgICAgICAgMTgsICAgICA0 MDAsICAgIGV4ZWMxMA0KLy8gICNkZWYgdGFzaywgIEV4ZWMxMSwgICAgICAgICAgICAgMTgs ICAgICA0MDAsICAgIGV4ZWMxMQ0KLy8gICNkZWYgdGFzaywgIEV4ZWMxMiwgICAgICAgICAg ICAgMTgsICAgICA0MDAsICAgIGV4ZWMxMg0KLy8gICNkZWYgdGFzaywgIEV4ZWMxMywgICAg ICAgICAgICAgMTgsICAgICA0MDAsICAgIGV4ZWMxMw0KLy8gICNkZWYgdGFzaywgIEV4ZWMx NCwgICAgICAgICAgICAgMTgsICAgICA0MDAsICAgIGV4ZWMxNA0KLy8gICNkZWYgdGFzaywg IEV4ZWMxNSwgICAgICAgICAgICAgMTgsICAgICA0MDAsICAgIGV4ZWMxNQ0KLy8gICNkZWYg dGFzaywgIEV4ZWMxNiwgICAgICAgICAgICAgMTgsICAgICA0MDAsICAgIGV4ZWMxNg0KLy8g ICNkZWYgdGFzaywgIEV4ZWMxNywgICAgICAgICAgICAgMTgsICAgICA0MDAsICAgIGV4ZWMx Nw0KLy8gICNkZWYgdGFzaywgIEV4ZWMxOCwgICAgICAgICAgICAgMTgsICAgICA0MDAsICAg IGV4ZWMxOA0KLy8gICNkZWYgdGFzaywgIEV4ZWMxOSwgICAgICAgICAgICAgMTgsICAgICA0 MDAsICAgIGV4ZWMxOQ0KLy8gICNkZWYgdGFzaywgIEV4ZWN5LCAgICAgICAgICAgICAgMTgs ICAgICA4MDAsICAgIGV4ZWN5DQovLyAgI2RlZiB0YXNrLCAgRXhlY3osICAgICAgICAgICAg ICAxOCwgICAgIDgwMCwgICAgZXhlY3oNCi8vICAjZGVmIHRhc2ssICBFeGVjdiwgICAgICAg ICAgICAgIDE4LCAgICAgODAwLCAgICBleGVjdg0KLy8gICNkZWYgdGFzaywgIEV4ZWN3LCAg ICAgICAgICAgICAgMTgsICAgICA4MDAsICAgIGV4ZWN3DQovLyAgI2RlZiB0YXNrLCAgRnVu LCAgICAgICAgICAgICAgICAxOCwgICAgIDgwMCwgICAgZnVuDQovLyAgI2RlZiB0YXNrLCAg RnVueSwgICAgICAgICAgICAgICAxOCwgICAgIDgwMCwgICAgZnVueQ0KLy8gICNkZWYgdGFz aywgIEZ1bnosICAgICAgICAgICAgICAgMTgsICAgICA4MDAsICAgIGZ1bnoNCi8vICAjZGVm IHRhc2ssICBGdW52LCAgICAgICAgICAgICAgIDE4LCAgICAgODAwLCAgICBmdW52DQovLyAg I2RlZiB0YXNrLCAgRnVudywgICAgICAgICAgICAgICAxOCwgICAgIDgwMCwgICAgZnVudw0K Ly8gICNkZWYgdGFzaywgIEN1dHksICAgICAgICAgICAgICAgMTgsICAgICA4MDAsICAgIGN1 dHkNCi8vICAjZGVmIHRhc2ssICBDdXR6LCAgICAgICAgICAgICAgIDE4LCAgICAgODAwLCAg ICBjdXR6DQovLyAgI2RlZiB0YXNrLCAgQ3V0diwgICAgICAgICAgICAgICAxOCwgICAgIDgw MCwgICAgY3V0dg0KLy8gICNkZWYgdGFzaywgIEN1dHcsICAgICAgICAgICAgICAgMTgsICAg ICA4MDAsICAgIGN1dHcNCi8vICAjZGVmIHRhc2ssICBDdXRwLCAgICAgICAgICAgICAgIDE4 LCAgICAgODAwLCAgICBDdXRQeiAgICAgICA7IENhbWJpbyB1dGVuc2lsZSBwdW56byBUaXBv Qw0KLy8gICNkZWYgdGFzaywgIFRlc3RhLCAgICAgICAgICAgICAgMTgsICAgICA4MDAsICAg IHRlc3RhDQovLyAgI2RlZiB0YXNrLCAgVGVzdGEyLCAgICAgICAgICAgICAxOCwgICAgIDgw MCwgICAgdGVzdGEyDQovLyAgI2RlZiB0YXNrLCAgSG9zdGMsICAgICAgICAgICAgICAxOCwg ICAgIDgwMCwgICAgaG9zdGMNCi8vICAjZGVmIHRhc2ssICBSZWZQYXJDLCAgICAgICAgICAg IDE2LCAgICAgODAwLCAgICBSZWZQYXJDICAgICA7IFJlZiBQYXIgQ2FuQnVzDQovLyAgI2Rl ZiB0YXNrLCAgR2RicGxjLCAgICAgICAgICAgICAxNSwgICAgIDgwMCwgICAgZ2RicGxjDQov LyAgI2RlZiB0YXNrLCAgR2RiZHAsICAgICAgICAgICAgICAxNSwgICAgIDgwMCwgICAgZ2Ri ZHANCi8vICAjZGVmIHRhc2ssICBGdW5Jbm8sICAgICAgICAgICAgIDEzLCAgICAgODAwLCAg ICBmdW5Jbm8NCi8vICAjZGVmIHRhc2ssICBHZXN0ZHAsICAgICAgICAgICAgIDEzLCAgICAg ODAwLCAgICBnZXN0ZHANCi8vICAjZGVmIHRhc2ssICBiY2twbGMsICAgICAgICAgICAgIDEw LCAgICAgNDAwLCAgICBiY2twbGMNCi8vICAjZGVmIHRhc2ssICBvcm9sb2dpbywgICAgICAg ICAgICAyLCAgICAgNDAwLCAgICBvcm9sb2dpbw0KDQoNCg0KUlRUQVNLUyB0YWJSdFRhc2tb XSA9IHsNCiAgICAvLw0KCS8vIFRhYmVsbGEgZGVpIHRhc2sgLSBjb250aWVuZSBuZWxsJ29y ZGluZSB0dXR0aSBpIHRhc2sgZGEgbGFuY2lhcmUgbmVsIHNpc3RlbWEgcmVhbHRpbWUuDQog ICAgLy8NCi8vcHIgIG5hbWUgICAgICAgICAgIHJ0RGVzY3JpcHRvciAgICAgICAgICAgICAg ICAgc3RrU2l6ZSAgbW9kZSAgICBzZW1hcGhvcmUgIGZuQWRkciAgICAgICAgICAgICAgICAg ICAgdHNrQXJncw0KeyA5MCwgIlRza0FQR1MiLCAgICAgJnRza0huZFhlbm9bdHNrX0FQR1Nd LCAgICAgICAweDgwMDAsICAwLCAgMCwgICAgICAgICAod29yZDMyKSBBcGdzLCAgICAgICAg ICAgIE5VTEwgfSwNCnsgODUsICJUc2tTeXNnZW4iLCAgICZ0c2tIbmRYZW5vW3Rza19TWVNH RU5dLCAgICAgMHg4MDAwLCAgMCwgIDAsICAgICAgICAgKHdvcmQzMikgU3lzZ2VuLCAgICAg ICAgICBOVUxMIH0sDQp7IDgwLCAiVHNrSW9NYW5hZyIsICAmdHNrSG5kWGVub1t0c2tfSU9N QU5BR10sICAgIDB4ODAwMCwgIDAsICAwLCAgICAgICAgICh3b3JkMzIpIElPTWFuYWcsICAg ICAgICAgTlVMTCB9LA0KeyAzMSwgIlRza1BvbEtleSIsICAgJnRza0huZFhlbm9bdHNrX1BP TEtFWV0sIAkgIDB4ODAwMCwgIDAsICAwLCAgICAgICAgICh3b3JkMzIpIHBvbGxfa2V5LCAg ICAgICAgTlVMTCB9LA0KeyAyNSwgIlRza0lub3V0IiwgCSAmdHNrSG5kWGVub1t0c2tfSU5P VVRdLCAJICAweDgwMDAsICAwLCAgMCwgICAgICAgICAod29yZDMyKSBJbm91dCwgIAkgICAg ICBOVUxMIH0sDQp7IDI0LCAiVHNrQWxhcm0iLCAJICZ0c2tIbmRYZW5vW3Rza19BTEFSTV0s IAkgIDB4ODAwMDAsICAwLCAgMCwgICAgICAgICAod29yZDMyKSBBbGFybSwgIAkgICAgICBO VUxMIH0sDQp7IDIzLCAiVHNrRXhlTXNnIiwgCSAmdHNrSG5kWGVub1t0c2tfRVhFTVNHXSwg CSAgMHg4MDAwLCAgMCwgIDAsICAgICAgICAgKHdvcmQzMikgZXhlbXNnLCAJICAgICAgTlVM TCB9LA0KeyAyMiwgIlRza0V4ZWMiLCAJICZ0c2tIbmRYZW5vW3Rza19FWEVDXSwgCSAgMHg4 MDAwMCwgIDAsICAwLCAgICAgICAgICh3b3JkMzIpIEV4ZWMsIAkgICAgICAgICAgTlVMTCB9 LA0KeyAyMSwgIlRza0V4ZWNjIiwgCSAmdHNrSG5kWGVub1t0c2tfRVhFQ0NdLCAJICAweDgw MDAsICAwLCAgMCwgICAgICAgICAod29yZDMyKSBleGVjYywgCSAgICAgIE5VTEwgfSwNCnsg MjEsICJUc2tBcmJpeCIsIAkgJnRza0huZFhlbm9bdHNrX0FSQklYXSwgCSAgMHg4MDAwLCAg MCwgIDAsICAgICAgICAgKHdvcmQzMikgYXJiaXgsIAkgICAgICBOVUxMIH0sDQp7IDIwLCAi VHNrQmFycmkiLCAJICZ0c2tIbmRYZW5vW3Rza19CQVJSSV0sIAkgIDB4ODAwMCwgIDAsICAw LCAgICAgICAgICh3b3JkMzIpIGJhcnJpLCAJICAgICAgTlVMTCB9LA0KeyAyMCwgIlRza0F4 ZUNhbiIsIAkgJnRza0huZFhlbm9bdHNrX0FYRUNBTl0sIAkgIDB4ODAwMCwgIDAsICAwLCAg ICAgICAgICh3b3JkMzIpIEF4ZUNhbiwJICAgICAgTlVMTCB9LA0KeyAyMCwgIlRza0luaUNh biIsIAkgJnRza0huZFhlbm9bdHNrX0lOSUNBTl0sIAkgIDB4ODAwMCwgIDAsICAwLCAgICAg ICAgICh3b3JkMzIpIEluaUNhbiwgICAgICAgICAgTlVMTCB9LA0KeyAxOSwgIlRza0NhbkJ1 cyIsIAkgJnRza0huZFhlbm9bdHNrX0NBTkJVU10sIAkgIDB4ODAwMCwgIDAsICAwLCAgICAg ICAgICh3b3JkMzIpIENhbkJ1cywgICAgICAgICAgTlVMTCB9LA0KeyAxOCwgIlRza0V4ZWMw MCIsIAkgJnRza0huZFhlbm9bdHNrX0VYRUMwMF0sIAkgIDB4ODAwMCwgIDAsICAwLCAgICAg ICAgICh3b3JkMzIpIGV4ZWMwMCwgICAgICAgICAgTlVMTCB9LA0KeyAxOCwgIlRza0V4ZWMw MSIsIAkgJnRza0huZFhlbm9bdHNrX0VYRUMwMV0sIAkgIDB4ODAwMCwgIDAsICAwLCAgICAg ICAgICh3b3JkMzIpIGV4ZWMwMSwgICAgICAgICAgTlVMTCB9LA0KeyAxOCwgIlRza0V4ZWMw MiIsIAkgJnRza0huZFhlbm9bdHNrX0VYRUMwMl0sIAkgIDB4ODAwMCwgIDAsICAwLCAgICAg ICAgICh3b3JkMzIpIGV4ZWMwMiwgICAgICAgICAgTlVMTCB9LA0KeyAxOCwgIlRza0V4ZWMw MyIsIAkgJnRza0huZFhlbm9bdHNrX0VYRUMwM10sIAkgIDB4ODAwMCwgIDAsICAwLCAgICAg ICAgICh3b3JkMzIpIGV4ZWMwMywgICAgICAgICAgTlVMTCB9LA0KeyAxOCwgIlRza0V4ZWMw NCIsIAkgJnRza0huZFhlbm9bdHNrX0VYRUMwNF0sIAkgIDB4ODAwMCwgIDAsICAwLCAgICAg ICAgICh3b3JkMzIpIGV4ZWMwNCwgICAgICAgICAgTlVMTH0sDQp7IDE4LCAiVHNrRXhlYzA1 IiwgCSAmdHNrSG5kWGVub1t0c2tfRVhFQzA1XSwgCSAgMHg4MDAwLCAgMCwgIDAsICAgICAg ICAgKHdvcmQzMikgZXhlYzA1LCAgICAgICAgICBOVUxMfSwNCnsgMTgsICJUc2tFeGVjMDYi LCAJICZ0c2tIbmRYZW5vW3Rza19FWEVDMDZdLCAJICAweDgwMDAsICAwLCAgMCwgICAgICAg ICAod29yZDMyKSBleGVjMDYsICAgICAgICAgIE5VTEx9LA0KeyAxOCwgIlRza0V4ZWMwNyIs IAkgJnRza0huZFhlbm9bdHNrX0VYRUMwN10sIAkgIDB4ODAwMCwgIDAsICAwLCAgICAgICAg ICh3b3JkMzIpIGV4ZWMwNywgICAgICAgICAgTlVMTH0sDQp7IDE4LCAiVHNrRXhlYzA4Iiwg CSAmdHNrSG5kWGVub1t0c2tfRVhFQzA4XSwgCSAgMHg4MDAwLCAgMCwgIDAsICAgICAgICAg KHdvcmQzMikgZXhlYzA4LCAgICAgICAgICBOVUxMfSwNCnsgMTgsICJUc2tFeGVjMDkiLCAJ ICZ0c2tIbmRYZW5vW3Rza19FWEVDMDldLCAJICAweDgwMDAsICAwLCAgMCwgICAgICAgICAo d29yZDMyKSBleGVjMDksICAgICAgICAgIE5VTEx9LA0KeyAxOCwgIlRza0V4ZWMxMCIsIAkg JnRza0huZFhlbm9bdHNrX0VYRUMxMF0sIAkgIDB4ODAwMCwgIDAsICAwLCAgICAgICAgICh3 b3JkMzIpIGV4ZWMxMCwgICAgICAgICAgTlVMTH0sDQp7IDE4LCAiVHNrRXhlYzExIiwgCSAm dHNrSG5kWGVub1t0c2tfRVhFQzExXSwgCSAgMHg4MDAwLCAgMCwgIDAsICAgICAgICAgKHdv cmQzMikgZXhlYzExLCAgICAgICAgICBOVUxMfSwNCnsgMTgsICJUc2tFeGVjMTIiLCAJICZ0 c2tIbmRYZW5vW3Rza19FWEVDMTJdLCAJICAweDgwMDAsICAwLCAgMCwgICAgICAgICAod29y ZDMyKSBleGVjMTIsICAgICAgICAgIE5VTEx9LA0KeyAxOCwgIlRza0V4ZWMxMyIsIAkgJnRz a0huZFhlbm9bdHNrX0VYRUMxM10sIAkgIDB4ODAwMCwgIDAsICAwLCAgICAgICAgICh3b3Jk MzIpIGV4ZWMxMywgICAgICAgICAgTlVMTH0sDQp7IDE4LCAiVHNrRXhlYzE0IiwgCSAmdHNr SG5kWGVub1t0c2tfRVhFQzE0XSwgCSAgMHg4MDAwLCAgMCwgIDAsICAgICAgICAgKHdvcmQz MikgZXhlYzE0LCAgICAgICAgICBOVUxMfSwNCnsgMTgsICJUc2tFeGVjMTUiLCAJICZ0c2tI bmRYZW5vW3Rza19FWEVDMTVdLCAJICAweDgwMDAsICAwLCAgMCwgICAgICAgICAod29yZDMy KSBleGVjMTUsICAgICAgICAgIE5VTEx9LA0KeyAxOCwgIlRza0V4ZWMxNiIsIAkgJnRza0hu ZFhlbm9bdHNrX0VYRUMxNl0sIAkgIDB4ODAwMCwgIDAsICAwLCAgICAgICAgICh3b3JkMzIp IGV4ZWMxNiwgICAgICAgICAgTlVMTH0sDQp7IDE4LCAiVHNrRXhlYzE3IiwgCSAmdHNrSG5k WGVub1t0c2tfRVhFQzE3XSwgCSAgMHg4MDAwLCAgMCwgIDAsICAgICAgICAgKHdvcmQzMikg ZXhlYzE3LCAgICAgICAgICBOVUxMfSwNCnsgMTgsICJUc2tFeGVjMTgiLCAJICZ0c2tIbmRY ZW5vW3Rza19FWEVDMThdLCAJICAweDgwMDAsICAwLCAgMCwgICAgICAgICAod29yZDMyKSBl eGVjMTgsICAgICAgICAgIE5VTEx9LA0KeyAxOCwgIlRza0V4ZWMxOSIsIAkgJnRza0huZFhl bm9bdHNrX0VYRUMxOV0sIAkgIDB4ODAwMCwgIDAsICAwLCAgICAgICAgICh3b3JkMzIpIGV4 ZWMxOSwgICAgICAgICAgTlVMTH0sDQp7IDE4LCAiVHNrRXhlY1kiLCAJICZ0c2tIbmRYZW5v W3Rza19FWEVDWV0sIAkgIDB4ODAwMCwgIDAsICAwLCAgICAgICAgICh3b3JkMzIpIEV4ZWNZ LCAgICAgICAgICAgTlVMTH0sDQp7IDE4LCAiVHNrRXhlY1oiLCAJICZ0c2tIbmRYZW5vW3Rz a19FWEVDWl0sIAkgIDB4ODAwMCwgIDAsICAwLCAgICAgICAgICh3b3JkMzIpIEV4ZWNaLCAg ICAgICAgICAgTlVMTH0sDQp7IDE4LCAiVHNrRXhlY1YiLCAJICZ0c2tIbmRYZW5vW3Rza19F WEVDVl0sIAkgIDB4ODAwMCwgIDAsICAwLCAgICAgICAgICh3b3JkMzIpIEV4ZWNWLCAgICAg ICAgICAgTlVMTH0sDQp7IDE4LCAiVHNrRXhlY1ciLCAJICZ0c2tIbmRYZW5vW3Rza19FWEVD V10sIAkgIDB4ODAwMCwgIDAsICAwLCAgICAgICAgICh3b3JkMzIpIEV4ZWNXLCAgICAgICAg ICAgTlVMTH0sDQp7IDE4LCAiVHNrRnVuIiwgIAkgJnRza0huZFhlbm9bdHNrX0ZVTl0sIAkg ICAgICAweDgwMDAsICAwLCAgMCwgICAgICAgICAod29yZDMyKSBmdW4sICAgICAgICAgICAg IE5VTEx9LA0KeyAxOCwgIlRza0Z1blkiLCAJICZ0c2tIbmRYZW5vW3Rza19GVU5ZXSwgCSAg MHg4MDAwLCAgMCwgIDAsICAgICAgICAgKHdvcmQzMikgZnVueSwgICAgICAgICAgICBOVUxM fSwNCnsgMTgsICJUc2tGdW5aIiwgCSAmdHNrSG5kWGVub1t0c2tfRlVOWl0sIAkgIDB4ODAw MCwgIDAsICAwLCAgICAgICAgICh3b3JkMzIpIGZ1bnosICAgICAgICAgICAgTlVMTH0sDQp7 IDE4LCAiVHNrRnVuViIsIAkgJnRza0huZFhlbm9bdHNrX0ZVTlZdLCAJICAweDgwMDAsICAw LCAgMCwgICAgICAgICAod29yZDMyKSBmdW52LCAgICAgICAgICAgIE5VTEx9LA0KeyAxOCwg IlRza0Z1blciLCAJICZ0c2tIbmRYZW5vW3Rza19GVU5XXSwgCSAgMHg4MDAwLCAgMCwgIDAs ICAgICAgICAgKHdvcmQzMikgZnVudywgICAgICAgICAgICBOVUxMfSwNCnsgMTgsICJUc2tG b3JZIiwgCSAmdHNrSG5kWGVub1t0c2tfRk9SWV0sIAkgIDB4ODAwMCwgIDAsICAwLCAgICAg ICAgICh3b3JkMzIpIEZvcmFZLCAgICAgICAgICAgTlVMTH0sDQp7IDE4LCAiVHNrRm9yWiIs IAkgJnRza0huZFhlbm9bdHNrX0ZPUlpdLCAJICAweDgwMDAsICAwLCAgMCwgICAgICAgICAo d29yZDMyKSBGb3JhWiwgICAgICAgICAgIE5VTEx9LA0KeyAxOCwgIlRza0ZvclYiLCAJICZ0 c2tIbmRYZW5vW3Rza19GT1JWXSwgCSAgMHg4MDAwLCAgMCwgIDAsICAgICAgICAgKHdvcmQz MikgRm9yYVYsICAgICAgICAgICBOVUxMfSwNCnsgMTgsICJUc2tGb3JXIiwgCSAmdHNrSG5k WGVub1t0c2tfRk9SV10sIAkgIDB4ODAwMCwgIDAsICAwLCAgICAgICAgICh3b3JkMzIpIEZv cmFXLCAgICAgICAgICAgTlVMTCB9LA0KeyAxOCwgIlRza0N1dFkiLCAJICZ0c2tIbmRYZW5v W3Rza19DVVRZXSwgCSAgMHg4MDAwLCAgMCwgIDAsICAgICAgICAgKHdvcmQzMikgY3V0eSwg ICAgICAgICAgICBOVUxMIH0sDQp7IDE4LCAiVHNrQ3V0WiIsIAkgJnRza0huZFhlbm9bdHNr X0NVVFpdLCAJICAweDgwMDAsICAwLCAgMCwgICAgICAgICAod29yZDMyKSBjdXR6LCAgICAg ICAgICAgIE5VTEwgfSwNCnsgMTgsICJUc2tDdXRWIiwgCSAmdHNrSG5kWGVub1t0c2tfQ1VU Vl0sIAkgIDB4ODAwMCwgIDAsICAwLCAgICAgICAgICh3b3JkMzIpIGN1dHYsICAgICAgICAg ICAgTlVMTCB9LA0KeyAxOCwgIlRza0N1dFciLCAJICZ0c2tIbmRYZW5vW3Rza19DVVRXXSwg CSAgMHg4MDAwLCAgMCwgIDAsICAgICAgICAgKHdvcmQzMikgY3V0dywgICAgICAgICAgICBO VUxMIH0sDQp7IDE4LCAiVHNrQ3V0UCIsIAkgJnRza0huZFhlbm9bdHNrX0NVVFBdLCAJICAw eDgwMDAsICAwLCAgMCwgICAgICAgICAod29yZDMyKSBDdXRQeiwgICAgICAgICAgIE5VTEwg fSwNCnsgMTgsICJUc2tUZXN0YSIsIAkgJnRza0huZFhlbm9bdHNrX1RFU1RBXSwgICAgICAw eDgwMDAsICAwLCAgMCwgICAgICAgICAod29yZDMyKSB0ZXN0YSwgICAgICAgICAgIE5VTEwg fSwNCnsgMTgsICJUc2tUZXN0YTIiLCAJICZ0c2tIbmRYZW5vW3Rza19URVNUQTJdLCAgICAg MHg4MDAwLCAgMCwgIDAsICAgICAgICAgKHdvcmQzMikgdGVzdGEyLCAgICAgICAgICBOVUxM IH0sDQp7IDE4LCAiVHNrSG9zdGMiLCAJICZ0c2tIbmRYZW5vW3Rza19IT1NUQ10sICAgICAg MHg4MDAwLCAgMCwgIDAsICAgICAgICAgKHdvcmQzMikgaG9zdGMsICAgICAgICAgICBOVUxM IH0sDQp7IDE2LCAiVHNrUmVmUGFyQyIsICAmdHNrSG5kWGVub1t0c2tfUkVGUEFSQ10sICAg IDB4ODAwMCwgIDAsICAwLCAgICAgICAgICh3b3JkMzIpIFJlZlBhckMsICAgICAgICAgTlVM TCB9LA0KeyAxNSwgIlRza1BsY1F1ZXJ5IiwgJnRza0huZFhlbm9bSURfUlRUQVNLX1BMRF0s ICAweDgwMDAsICAwLCAgMCwgICAgICAgICAod29yZDMyKSB0c2tIbmRfUGxjUXVlcnksIE5V TEwgfSwNCnsgMTMsICJUc2tGdW5Jbm8iLCAgICZ0c2tIbmRYZW5vW3Rza19GVU5JTk9dLCAg ICAgMHg4MDAwLCAgMCwgIDAsICAgICAgICAgKHdvcmQzMikgZnVuSW5vLCAgICAgICAgICBO VUxMIH0sDQp7IDEzLCAiVHNrR2VzdGRwIiwgICAmdHNrSG5kWGVub1t0c2tfR0VTVERQXSwg CSAgMHg4MDAwLCAgMCwgIDAsICAgICAgICAgKHdvcmQzMikgZ2VzdGRwLCAgICAgICAgICBO VUxMIH0sDQp7IDEwLCAiVHNrQmNrUGxjIiwgCSAmdHNrSG5kWGVub1t0c2tfQkNLUExDXSwg CSAgMHg4MDAwLCAgMCwgIDAsICAgICAgICAgKHdvcmQzMikgYmNrcGxjLCAgCSAgICAgIE5V TEwgfSwNCnsgIDIsICJUc2tPcm9sb2dpbyIsICZ0c2tIbmRYZW5vW3Rza19PUk9MT0dJT10s ICAgMHg4MDAwLCAgMCwgIDAsICAgICAgICAgKHdvcmQzMikgb3JvbG9naW8sICAgICAgICBO VUxMIH0sDQp9Ow0KDQovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQovKmNvcnBvIGRl bCB0YXNrIGJhY2tncm91bmQgKi8NCnZvaWQgdHNrSG5kX1BsY1F1ZXJ5ICggdm9pZCAqY29v a2llICkNCnsNCgkJLy8JQ29tYW5kaSBkaSBiYWNrZ3JvdW5kIHBlciBydW50aW1lDQoJZm9y KCA7OyApIA0KCXsNCgkJUExDUnVudGltZUJhY2tncm91bmQoKTsNCgkJbXRzbGVlcCggMTAw ICk7DQoJfQ0KDQp9DQoNCi8vYXR0aXZhemlvbmUgdGFza3MgcmVhbHRpbWUNCmJvb2xlYW4g SW5pdFJURW52KCB2b2lkICkNCnsNCglpbnQgICAgIGVyciwgaTsNCgljaGFyICAgIG5hbWVT ZW1bIE1BWFNFTUxFTk5BTUUgXTsNCg0KICAgIC8vID8/Pw0KCUFsdFRyYWNlSW4wKEFMVFJB Q0VfTEVWX0JBU0UsICJJTlRSIFhlbm9tYWkgdXNlcnNwYWNlLi4uIik7DQoJZXJyID0gcnRf aW50cl9jcmVhdGUoICZpbnRfZGVzYywgSVJRTkFNRSAsIElSUU5VTUJFUiwgSV9QUk9QQUdB VEUgKTsNCglBbHRUcmFjZUluTihBTFRSQUNFX0xFVl9PU19UQVNLLCAicnRfaW50cl9jcmVh dGUgOiAlcyAtIGVyciAlZCIsIElSUU5BTUUsIGVyciApOw0KCWlmICggZXJyICE9IDAgKQ0K CXsNCgkJQWx0VHJhY2VJbjAoQUxUUkFDRV9MRVZfQkFTRSwiLi4uLi4uLi4uLi4uLi4uLi4u Li4uLi4uLktPIiApOw0KCQlyZXR1cm4gRkFMU0U7DQoJfQ0KDQoJDQoNCglBbHRUcmFjZUlu MChBTFRSQUNFX0xFVl9CQVNFLCJPSyIgKTsNCg0KCS8vIGdlc3Rpb25lIGRlbCB0aW1lciBw ZXJpb2RpY28NCgllcnIgPSBydF90aW1lcl9zZXRfbW9kZSggUVVBTlRVTVRJTUVOUyApOw0K CUFsdFRyYWNlSW5OKEFMVFJBQ0VfTEVWX09TX1RBU0ssICJydF90aW1lcl9zZXRfbW9kZSAt IGVyciAlZCIsIGVyciApOw0KCWlmICggZXJyICE9IDAgKQ0KCXsNCgkJQWx0VHJhY2VJbjAo QUxUUkFDRV9MRVZfQkFTRSwiRXJyb3JlIHN1IHJ0X3RpbWVyX3NldF9tb2RlIiApOw0KCQly ZXR1cm4gRkFMU0U7DQoJfQ0KDQoJDQoNCgkNCiAgICAvLyBjcmVhemlvbmUgZGVpIHNlbWFm b3JpIHJlYWx0aW1lDQoJZm9yKGk9MDsgaSA8IE5VTVNZU1NFTTsgaSsrICkNCgl7DQoJCXNw cmludGYoIG5hbWVTZW0sICJlbnZTZW0lZCIsIGkgKTsNCgkJQWx0VHJhY2VJbk4oQUxUUkFD RV9MRVZfQkFTRSwiU0VNIGVudmlyb25tZW50ICVzLi4uIiwgbmFtZVNlbSApOw0KCQllcnIg PSBydF9zZW1fY3JlYXRlKCAmZW52U2VtW2ldLCBuYW1lU2VtLCAwLCBTX0ZJRk8gKTsNCgkJ QWx0VHJhY2VJbk4oQUxUUkFDRV9MRVZfT1NfU0VNLCAicnRfc2VtX2NyZWF0ZSA6ICVzIC0g ZXJyICVkIiwgbmFtZVNlbSwgZXJyICk7DQoJCWlmICggZXJyICE9IDAgKQ0KCQl7DQoJCQlB bHRUcmFjZUluMChBTFRSQUNFX0xFVl9CQVNFLCIuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u S08iICk7DQoJCQlyZXR1cm4gRkFMU0U7DQoJCX0NCg0KCQkNCgkJQWx0VHJhY2VJbjAoQUxU UkFDRV9MRVZfQkFTRSwiT0siICk7DQoJfQ0KDQogICAgLy8gY3JlYXppb25lIGRlbGxlIG1h aWxib3ggcmVhbHRpbWUNCglmb3IoaT0wOyBpIDwgTlVNU1lTTUJYOyBpKysgKQ0KCXsNCgkJ c3ByaW50ZiggbmFtZVNlbSwgImVudk1ieCVkIiwgaSApOw0KCQlBbHRUcmFjZUluTihBTFRS QUNFX0xFVl9CQVNFLCJNQlggZW52aXJvbm1lbnQgJXMuLi4iLCBuYW1lU2VtICk7DQoJCWVy ciA9IHJ0X3F1ZXVlX2NyZWF0ZSggJmVudk1ieFtpXSwgbmFtZVNlbSwgTUJYX1NJWkVfUE9P TCwgUV9VTkxJTUlURUQsIFFfRklGTyApOw0KCQlBbHRUcmFjZUluTihBTFRSQUNFX0xFVl9P U19NQlgsICJydF9xdWV1ZV9jcmVhdGUgOiAlcyAtIGVyciAlZCIsIG5hbWVTZW0sIGVyciAp Ow0KCQlpZiAoIGVyciAhPSAwICkNCgkJew0KCQkJQWx0VHJhY2VJbjAoQUxUUkFDRV9MRVZf QkFTRSwiLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLktPIiApOw0KCQkJcmV0dXJuIEZBTFNF Ow0KCQl9DQoNCgkJQWx0VHJhY2VJbjAoQUxUUkFDRV9MRVZfQkFTRSwiT0siICk7DQoJfQ0K DQogICAgLy8gY3JlYXppb25lIGRlbGxlIHJlZ2lvbmkgcmVhbHRpbWUNCglmb3IoaT0wOyBp IDwgTlVNU1lTUkVHOyBpKysgKQ0KCXsNCgkJc3ByaW50ZiggbmFtZVNlbSwgImVudlJlZyVk IiwgaSApOw0KCQlBbHRUcmFjZUluTihBTFRSQUNFX0xFVl9CQVNFLCJSR04gZW52aXJvbm1l bnQgJXMuLi4iLCBuYW1lU2VtICk7DQoJCWVyciA9IHJ0X211dGV4X2NyZWF0ZSggJmVudlJl Z1tpXSwgbmFtZVNlbSApOw0KCQlBbHRUcmFjZUluTihBTFRSQUNFX0xFVl9PU19SRUdJT04s ICJydF9tdXRleF9jcmVhdGUgOiAlcyAtIGVyciAlZCIsIG5hbWVTZW0sIGVyciApOw0KCQlp ZiAoIGVyciAhPSAwICkNCgkJew0KCQkJQWx0VHJhY2VJbjAoQUxUUkFDRV9MRVZfQkFTRSwi Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLktPIiApOw0KCQkJcmV0dXJuIEZBTFNFOw0KCQl9 DQoNCgkJQWx0VHJhY2VJbjAoQUxUUkFDRV9MRVZfQkFTRSwiT0siICk7DQoJfQ0KDQoJLy8g Y3JlYXppb25lIGRlaSB0YXNrIHJlYWx0aW1lDQoJZm9yICggaSA9IDA7IGkgPCBOVU1UQVNL UzsgaSsrICkNCgl7DQoJCS8vIGNyZWF6aW9uZSBkZWkgc2VtYWZvcmkgcGVyIG9nbmkgdGFz aw0KCQlpZiggdGFiUnRUYXNrW2ldLmVuYWJTZW0gIT0gMCApDQoJCXsNCgkJCUFsdFRyYWNl SW5OKEFMVFJBQ0VfTEVWX0JBU0UsIlNFTSB0YXNrICVzLi4uIiwgdGFiUnRUYXNrW2ldLm5h bWUgKTsNCg0KCQkJc3ByaW50ZiggbmFtZVNlbSwgIiVzU2VtJWQiLCB0YWJSdFRhc2tbaV0u bmFtZSwgaSApOw0KCQkJZXJyID0gcnRfc2VtX2NyZWF0ZSggdGFiUnRUYXNrW2ldLmVuYWJT ZW0sIG5hbWVTZW0sIDAsIFNfRklGTyB8IFNfUFVMU0UgKTsNCgkJCUFsdFRyYWNlSW5OKEFM VFJBQ0VfTEVWX09TX1NFTSwgInJ0X3NlbV9jcmVhdGUgOiAlcyAtIGVyciAlZCIsIG5hbWVT ZW0sIGVyciApOw0KCQkJaWYgKCBlcnIgIT0gMCApDQoJCQl7DQoJCQkJQWx0VHJhY2VJbjAo QUxUUkFDRV9MRVZfQkFTRSwiLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLktPIiApOw0KCQkJ CXJldHVybiBGQUxTRTsNCgkJCX0NCg0KCQkJQWx0VHJhY2VJbjAoQUxUUkFDRV9MRVZfQkFT RSwiT0siICk7DQoJCX0NCg0KCQlBbHRUcmFjZUluTihBTFRSQUNFX0xFVl9CQVNFLCJUU0sg JXMgY3JlYXRlLi4uIiwgdGFiUnRUYXNrW2ldLm5hbWUgKTsNCg0KCQllcnIgPSBydF90YXNr X2NyZWF0ZSggdGFiUnRUYXNrW2ldLnJ0RGVzYywgdGFiUnRUYXNrW2ldLm5hbWUsIHRhYlJ0 VGFza1tpXS5zdGtTaXplLHRhYlJ0VGFza1tpXS5wcmlvcml0eSx0YWJSdFRhc2tbaV0ubW9k ZSk7DQoJCUFsdFRyYWNlSW5OKEFMVFJBQ0VfTEVWX09TX1NFTSwgInJ0X3Rhc2tfY3JlYXRl IDogJXMgLSBlcnIgJWQiLCB0YWJSdFRhc2tbaV0ubmFtZSwgZXJyICk7DQoJCWlmICggZXJy ICE9IDAgKQ0KCQl7DQoJCQlBbHRUcmFjZUluMChBTFRSQUNFX0xFVl9CQVNFLCIuLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uS08iICk7DQoJCQlyZXR1cm4gRkFMU0U7DQoJCX0NCg0KCQlB bHRUcmFjZUluMChBTFRSQUNFX0xFVl9CQVNFLCJPSyIgKTsNCgl9DQoNCiAgICAvL2NyZWF6 aW9uZSBtdXRleCBkaSBzaW5jcm9uaXp6YXppb25lIGNhbmNlbGxhemlvbmkNCiAgICBlcnIg PSBydF9tdXRleF9jcmVhdGUoICZtdXRleERlbGV0ZSwgIm11dGV4RGVsZXRlIiApOw0KICAg IGlmICggZXJyICE9IDAgKQ0KICAgIHsNCiAgICAgICAgQWx0VHJhY2VJbk4oQUxUUkFDRV9M RVZfQkFTRSwiSW1wb3NzaWJsZSB0byBjcmVhdGUgbXV0ZXhEZWxldGUgZXJyID0gJWQiLCBl cnIgKTsNCiAgICAgICAgcmV0dXJuIEZBTFNFOw0KICAgIH0NCglyZXR1cm4gVFJVRTsNCn0N Cg0KDQpib29sZWFuIENsZWFuUnRFbnYoIHZvaWQgKQ0Kew0KCWludCBpLCBlcnI7DQoJY2hh ciBuYW1lU2VtWyBNQVhTRU1MRU5OQU1FIF07DQoNCiAgICAvLyBJbCBwcmltbyB0YXNrIEFQ R1Mgbm9uIGRldmUgZXNzZXJlIHJlc2V0dGF0byBwZXJjaOggZGV2ZSBjaGl1ZGVyZSBsJ2Fw cGxpY2F6aW9uZSAhISEhDQoJZm9yICggaT1OVU1UQVNLUy0xOyBpID4gMDsgaS0tICkNCgl7 DQoJCUFsdFRyYWNlSW5OKEFMVFJBQ0VfTEVWX0JBU0UsIlRTSyAlcyBkZWxldGUuLi4iLCB0 YWJSdFRhc2tbaV0ubmFtZSApOw0KCQllcnIgPSBydF90YXNrX2RlbGV0ZSggdGFiUnRUYXNr W2ldLnJ0RGVzYyApOw0KCQlpZiAoIGVyciAhPSAwICkNCgkJCUFsdFRyYWNlSW4wKEFMVFJB Q0VfTEVWX0JBU0UsIi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi5LTyIgKTsNCiAgICAgICAg ZWxzZQ0KICAgICAgICAgICAgQWx0VHJhY2VJbjAoQUxUUkFDRV9MRVZfQkFTRSwiT0siICk7 DQoNCgkJaWYoIHRhYlJ0VGFza1tpXS5lbmFiU2VtICE9IDAgKQ0KCQl7DQoJCQlBbHRUcmFj ZUluTihBTFRSQUNFX0xFVl9CQVNFLCJTRU0gdGFzayAlcyBkZWxldGUuLi4iLCB0YWJSdFRh c2tbaV0ubmFtZSApOw0KDQoJCQllcnIgPSBydF9zZW1fZGVsZXRlKCB0YWJSdFRhc2tbaV0u ZW5hYlNlbSApOw0KCQkJaWYgKCBlcnIgIT0gMCApDQoJCQkJQWx0VHJhY2VJbjAoQUxUUkFD RV9MRVZfQkFTRSwiLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLktPIiApOw0KICAgICAgICAg ICAgZWxzZQ0KICAgICAgICAgICAgICAgIEFsdFRyYWNlSW4wKEFMVFJBQ0VfTEVWX0JBU0Us Ik9LIiApOw0KCQl9DQoJfQ0KDQoJQWx0VHJhY2VJbjAoQUxUUkFDRV9MRVZfQkFTRSwiSU5U UiBYZW5vbWFpIHVzZXJzcGFjZSBkZWxldGUuLi4iKTsNCgllcnIgPSBydF9pbnRyX2RlbGV0 ZSggJmludF9kZXNjICk7DQoJaWYgKCBlcnIgIT0gMCApDQoJCUFsdFRyYWNlSW4wKEFMVFJB Q0VfTEVWX0JBU0UsIi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi5LTyIgKTsNCiAgICBlbHNl DQogICAgICAgIEFsdFRyYWNlSW4wKEFMVFJBQ0VfTEVWX0JBU0UsIk9LIiApOw0KDQoJZm9y ICggaT0wOyBpIDwgTlVNU1lTU0VNOyBpKysgKQ0KCXsNCgkJc3ByaW50ZiggbmFtZVNlbSwg ImVudlNlbSVkIiwgaSApOw0KCQlBbHRUcmFjZUluTihBTFRSQUNFX0xFVl9CQVNFLCJTRU0g ZW52aXJvbm1lbnQgJXMgZGVsZXRlLi4uIiwgbmFtZVNlbSApOw0KDQoJCWVyciA9IHJ0X3Nl bV9kZWxldGUoIGdldEVudlNlbSggaSApICk7DQoJCWlmICggZXJyICE9IDAgKQ0KCQkJQWx0 VHJhY2VJbjAoQUxUUkFDRV9MRVZfQkFTRSwiLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLktP IiApOw0KICAgICAgICBlbHNlDQogICAgICAgICAgICBBbHRUcmFjZUluMChBTFRSQUNFX0xF Vl9CQVNFLCJPSyIgKTsNCgl9DQoNCglmb3IgKCBpPTA7IGkgPCBOVU1TWVNSRUc7IGkrKyAp DQoJew0KCQlzcHJpbnRmKCBuYW1lU2VtLCAiZW52UmVnJWQiLCBpICk7DQoJCUFsdFRyYWNl SW5OKEFMVFJBQ0VfTEVWX0JBU0UsIlJHTiBlbnZpcm9ubWVudCAlcyBkZWxldGUuLi4iLCBu YW1lU2VtICk7DQoJCWVyciA9IHJ0X211dGV4X2RlbGV0ZSggJmVudlJlZ1tpXSApOw0KCQlp ZiAoIGVyciAhPSAwICkNCgkJCUFsdFRyYWNlSW4wKEFMVFJBQ0VfTEVWX0JBU0UsIi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi5LTyIgKTsNCiAgICAgICAgZWxzZQ0KICAgICAgICAgICAg QWx0VHJhY2VJbjAoQUxUUkFDRV9MRVZfQkFTRSwiT0siICk7DQoJfQ0KDQoJZm9yICggaT0w OyBpIDwgTlVNU1lTTUJYOyBpKysgKQ0KCXsNCgkJc3ByaW50ZiggbmFtZVNlbSwgImVudk1i eCVkIiwgaSApOw0KCQlBbHRUcmFjZUluTihBTFRSQUNFX0xFVl9CQVNFLCJNQlggZW52aXJv bm1lbnQgJXMgZGVsZXRlLi4uIiwgbmFtZVNlbSApOw0KCQllcnIgPSBydF9xdWV1ZV9kZWxl dGUoIGdldEVudk1ieCggaSApICk7DQoJCWlmICggZXJyICE9IDAgKQ0KCQkJQWx0VHJhY2VJ bjAoQUxUUkFDRV9MRVZfQkFTRSwiLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLktPIiApOw0K ICAgICAgICBlbHNlDQogICAgICAgICAgICBBbHRUcmFjZUluMChBTFRSQUNFX0xFVl9CQVNF LCJPSyIgKTsNCgl9DQoNCglyZXR1cm4gVFJVRTsNCn0NCg0KLy8tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tDQo= --------------030003040007040807000109 Content-Type: text/plain; name="rttasks.h" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="rttasks.h" I2lmbmRlZiBfUlRUQVNLU19IDQojZGVmaW5lIF9SVFRBU0tTX0gNCg0KI2luY2x1ZGUgIm1p dG9zLmgiDQojaW5jbHVkZSAiZnVqaXRzdS5oIg0KI2luY2x1ZGUgInV0aWxpdGllcy5oIg0K DQojZGVmaW5lIE1BWFRTS0xFTk5BTUUJMTYNCiNkZWZpbmUgTUFYU0VNTEVOTkFNRQlNQVhU U0tMRU5OQU1FICsgNg0KDQovL2luY3JlbWVudG8gZGVpIGNpY2xpIGVmZmV0dHVhdGkgZGFs bCdhdnZpbyBkZWwgcmVhbHRpbWUNCmV4dGVybiBSVF9JTlRSIAlpbnRfZGVzYzsNCg0KLyog Y29zdGFudGkgZGkgZGVmaW5pemlvbmUgZGVpIHRhc2sgKi8NCiNkZWZpbmUgTlVNVEFTS1MJ CQk2MQkvLyBUT1RBTEkNCiNkZWZpbmUgdHNrX0FQR1MJCSAgICAwDQojZGVmaW5lIHRza19T WVNHRU4JCQkxDQojZGVmaW5lIHRza19JT01BTkFHCSAgICAJMg0KI2RlZmluZSB0c2tfUE9M S0VZCSAgICAgICAgMw0KI2RlZmluZSB0c2tfSU5PVVQJCQk0DQojZGVmaW5lIHRza19BTEFS TQkJCTUNCiNkZWZpbmUgdHNrX0VYRU1TRwkJCTYNCiNkZWZpbmUJdHNrX0VYRUMJCQk3DQoj ZGVmaW5lIHRza19FWEVDQwkJCTgNCiNkZWZpbmUJdHNrX0FSQklYCQkJOQ0KI2RlZmluZQl0 c2tfQkFSUkkJCSAgICAxMA0KI2RlZmluZSB0c2tfQVhFQ0FOCQkJMTENCiNkZWZpbmUgdHNr X0lOSUNBTgkJCTEyDQojZGVmaW5lIHRza19DQU5CVVMJCSAgICAxMw0KI2RlZmluZQl0c2tf RVhFQzAwCQkgICAgMTQNCiNkZWZpbmUJdHNrX0VYRUMwMQkJICAgIDE1DQojZGVmaW5lCXRz a19FWEVDMDIJCSAgICAxNg0KI2RlZmluZQl0c2tfRVhFQzAzCQkgICAgMTcNCiNkZWZpbmUJ dHNrX0VYRUMwNAkJICAgIDE4DQojZGVmaW5lCXRza19FWEVDMDUJCSAgICAxOQ0KI2RlZmlu ZQl0c2tfRVhFQzA2CQkgICAgMjANCiNkZWZpbmUJdHNrX0VYRUMwNwkJICAgIDIxDQojZGVm aW5lCXRza19FWEVDMDgJCSAgICAyMg0KI2RlZmluZQl0c2tfRVhFQzA5CQkgICAgMjMNCiNk ZWZpbmUJdHNrX0VYRUMxMAkJICAgIDI0DQojZGVmaW5lCXRza19FWEVDMTEJCSAgICAyNQ0K I2RlZmluZQl0c2tfRVhFQzEyCQkgICAgMjYNCiNkZWZpbmUJdHNrX0VYRUMxMwkJICAgIDI3 DQojZGVmaW5lCXRza19FWEVDMTQJCSAgICAyOA0KI2RlZmluZQl0c2tfRVhFQzE1CQkgICAg MjkNCiNkZWZpbmUJdHNrX0VYRUMxNgkJICAgIDMwDQojZGVmaW5lCXRza19FWEVDMTcJCSAg ICAzMQ0KI2RlZmluZQl0c2tfRVhFQzE4CQkgICAgMzINCiNkZWZpbmUJdHNrX0VYRUMxOQkJ ICAgIDMzDQojZGVmaW5lCXRza19FWEVDWQkJICAgIDM0DQojZGVmaW5lCXRza19FWEVDWgkJ ICAgIDM1DQojZGVmaW5lCXRza19FWEVDVgkJICAgIDM2DQojZGVmaW5lCXRza19FWEVDVwkJ ICAgIDM3DQojZGVmaW5lCXRza19GVU4JCQkgICAgMzgNCiNkZWZpbmUJdHNrX0ZVTlkJCSAg ICAzOQ0KI2RlZmluZQl0c2tfRlVOWgkJICAgIDQwDQojZGVmaW5lCXRza19GVU5WCQkgICAg NDENCiNkZWZpbmUJdHNrX0ZVTlcJCSAgICA0Mg0KI2RlZmluZQl0c2tfRk9SWQkJICAgIDQz DQojZGVmaW5lCXRza19GT1JaCQkgICAgNDQNCiNkZWZpbmUJdHNrX0ZPUlYJCSAgICA0NQ0K I2RlZmluZQl0c2tfRk9SVwkJICAgIDQ2DQojZGVmaW5lCXRza19DVVRZCQkJNDcNCiNkZWZp bmUJdHNrX0NVVFoJCQk0OA0KI2RlZmluZQl0c2tfQ1VUVgkJCTQ5DQojZGVmaW5lCXRza19D VVRXCQkJNTANCiNkZWZpbmUJdHNrX0NVVFAJCQk1MQ0KI2RlZmluZQl0c2tfVEVTVEEJCQk1 Mg0KI2RlZmluZQl0c2tfVEVTVEEyCQkJNTMNCiNkZWZpbmUJdHNrX0hPU1RDCQkJNTQNCiNk ZWZpbmUgdHNrX1JFRlBBUkMJCQk1NQ0KI2RlZmluZSBJRF9SVFRBU0tfUExECQk1Ng0KI2Rl ZmluZSB0c2tfRlVOSU5PCQkJNTcNCiNkZWZpbmUgdHNrX0dFU1REUAkJCTU4DQojZGVmaW5l IHRza19CQ0tQTEMgICAgICAgICAgNTkNCiNkZWZpbmUgdHNrX09ST0xPR0lPCQk2MA0KDQoN CiNkZWZpbmUgTlVNU1lTU0VNCQkJMjgJLy8gVE9UQUxJDQojZGVmaW5lIElEX1NFTV9FWEUJ CQkwDQojZGVmaW5lIElEX1NFTV9BWEVDQU4JCTENCiNkZWZpbmUgSURfU0VNX0lOSUNBTgkJ Mg0KI2RlZmluZSBJRF9TRU1fQUxBCQkJMw0KI2RlZmluZSBJRF9TRU1fRVhZCQkJNA0KI2Rl ZmluZSBJRF9TRU1fRVhaCQkJNQ0KI2RlZmluZSBJRF9TRU1fRVhWCQkJNg0KI2RlZmluZSBJ RF9TRU1fRVhXCQkJNw0KI2RlZmluZSBJRF9TRU1fUkVYCQkJOA0KI2RlZmluZSBJRF9TRU1f RlVOCQkJOQ0KI2RlZmluZSBJRF9TRU1fRlVOWQkJCTEwDQojZGVmaW5lIElEX1NFTV9GVU5a CQkJMTENCiNkZWZpbmUgSURfU0VNX0ZVTlYJCQkxMg0KI2RlZmluZSBJRF9TRU1fRlVOVwkJ CTEzDQojZGVmaW5lIElEX1NFTV9GT1JZCQkJMTQNCiNkZWZpbmUgSURfU0VNX0ZPUloJCQkx NQ0KI2RlZmluZSBJRF9TRU1fRk9SVgkJCTE2DQojZGVmaW5lIElEX1NFTV9GT1JXCQkJMTcN CiNkZWZpbmUgSURfU0VNX0NVVFkgCQkxOA0KI2RlZmluZSBJRF9TRU1fQ1VUWgkJCTE5DQoj ZGVmaW5lIElEX1NFTV9DVVRWCQkJMjANCiNkZWZpbmUgSURfU0VNX0NVVFcJCQkyMQ0KI2Rl ZmluZSBJRF9TRU1fQ1VUUAkJCTIyDQojZGVmaW5lIElEX1NFTV9JTk9VVAkJMjMNCiNkZWZp bmUgSURfU0VNX1BLRVkJCQkyNA0KI2RlZmluZSBJRF9TRU1fTVNHCQkJMjUNCiNkZWZpbmUg SURfU0VNX1JFU01TRwkJMjYNCiNkZWZpbmUgSURfU0VNX1NETwkJCTI3DQoNCiNkZWZpbmUg TlVNU1lTUkVHCQkJMgkvLyBUT1RBTEkNCiNkZWZpbmUgSURfUkVHX01FTQkJCTANCiNkZWZp bmUgSURfUkVHX1NETwkJCTENCg0KI2RlZmluZSBOVU1TWVNNQlgJCQkyOQkvLyBUT1RBTEkN CiNkZWZpbmUgSURfTUJYX0NVVFkgICAgCQkwCQ0KI2RlZmluZSBJRF9NQlhfUkNVVFkJCTEJ ICAgDQojZGVmaW5lIElEX01CWF9DVVRaCQkJMiAgICANCiNkZWZpbmUgSURfTUJYX1JDVVRa CQkzCSAgIA0KI2RlZmluZSBJRF9NQlhfQ1VUVgkJCTQgICAgDQojZGVmaW5lIElEX01CWF9S Q1VUVgkJNSAgIA0KI2RlZmluZSBJRF9NQlhfQ1VUVwkJCTYgICAgDQojZGVmaW5lIElEX01C WF9SQ1VUVwkJNwkgICANCiNkZWZpbmUgSURfTUJYX0NVVFAJCQk4ICAgLy8gIE1haWxib3gg cGVyIGludmlvIGEgQ1VUUA0KI2RlZmluZSBJRF9NQlhfUkNVVFAJCTkgICAvLyAgTWFpbGJv eCBwZXIgcmlzcG9zdGEgZGEgQ1VUUA0KI2RlZmluZSBJRF9NQlhfQkFSCQkJMTAgIA0KI2Rl ZmluZSBJRF9NQlhfUkJBUl9DCQkxMQ0KI2RlZmluZSBJRF9NQlhfUkJBUl9CCQkxMg0KI2Rl ZmluZSBJRF9NQlhfQVJCCQkJMTMNCiNkZWZpbmUgSURfTUJYX1JBUkJfQQkJMTQNCiNkZWZp bmUgSURfTUJYX1JBUkJfQgkJMTUNCiNkZWZpbmUgSURfTUJYX1JBUkJfQwkJMTYNCiNkZWZp bmUgSURfTUJYX1JBUkJfRAkJMTcNCiNkZWZpbmUgSURfTUJYX1JBUkJfRQkJMTgNCiNkZWZp bmUgSURfTUJYX1JBUkJfRgkJMTkNCiNkZWZpbmUgSURfTUJYX1RTQQkJCTIwICAgICANCiNk ZWZpbmUgSURfTUJYX1JUU0EJCQkyMSAgICANCiNkZWZpbmUgSURfTUJYX1RTQTIJCQkyMiAg ICANCiNkZWZpbmUgSURfTUJYX1JUU0EyCQkyMyAgIA0KI2RlZmluZSBJRF9NQlhfRVhFQwkJ CTI0ICAvLyAgIENvbWFuZG8gVGFzayBFWEVDIENBTk9OSUNPDQojZGVmaW5lIElEX01CWF9S RVhFCQkJMjUgIC8vICAgUmlzcG9zdGEgZGVpIFRhc2sgRVhFQyBDQU5PTklDTyBlIFNFQ09O RE8NCiNkZWZpbmUgSURfTUJYX01TRwkJCTI2ICAvLyAgIE1haWxib3ggcGVyIHRhc2sgRVhF TVNHDQojZGVmaW5lIElEX01CWF9SRVNNU0cJCTI3ICAvLyAgIE1haWxib3ggcmljaGllc3Rh IHJlc2V0IGNvZGEgcGVyIEVYRU1TRw0KI2RlZmluZSBJRF9NQlhfQ0FOQlVTCQkyOCAgLy8g ICBNYWlsYm94IHJpY2hpZXN0YSB0YXNrIENhbkJ1cw0KDQovLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vDQoNCg0KdHlwZWRlZiBzdHJ1Y3QNCnsNCiAgICBpbnQgICAgICAgICBwcmlvcml0 eTsJCQkgICAgLy8gcmFuZ2UgYmV0d2VlbiA5OSBhbmQgMCwgOTkgaXMgdGhlIG1vc3QgcHJp b3JpdHkNCiAgICBjaGFyICAgICAgICBuYW1lW01BWFRTS0xFTk5BTUVdOwkvLyBub21lIGRh IGFzc2VnbmFyZSBhbCB0YXNrDQogICAgUlRfVEFTSyAgICAgKiBydERlc2M7CQkJICAgIC8v IGRlc2NyaXR0b3JlIGNoZSB2aWVuZSB2YWxvcml6emF0byBkdXJhbnRlIGxhIGNyZWF0ZQ0K ICAgIGludCAgICAgICAgIHN0a1NpemU7CQkJICAgIC8vIGRpbWVuc2lvbmUgZGVsbG8gc3Rh Y2sgZGEgaXN0YW56aWFyZSwgY29uIHZhbG9yZSAwIHZpZW5lIHNjZWx0byBkYWwgc2lzdGVt DQogICAgaW50ICAgICAgICAgbW9kZTsJCQkJICAgIC8vIHZlZGkgZG9jdW1lbnRhemlvbmUg WGVub21haSwgZnVuemlvbmUgcnRfdGFza19jcmVhdGUNCiAgICBSVF9TRU0JCSogZW5hYlNl bTsJCQkgICAgLy8gc2VtYWZvcm8gZGkgYWJpbGl0YXppb25lIGRlbCB0YXNrDQogICAgd29y ZDMyICAgICAgZm5BZGRyOwkJCQkgICAgLy8gcHVudGF0b3JlIGFsbGEgZnVuemlvbmUgZGEg ZXNlZ3VpcmUNCiAgICB2b2lkICogICAgICB0c2tBcmdzOwkJCSAgICAvLyBwdW50YXRvcmUg YWdsaSBhcmdvbWVudGkgZGEgcGFzc2FyZSBhbGxhIGZ1bnppb25lIGVzZWd1aXRhIGRhbCB0 YXNrDQoNCn0NClJUVEFTS1M7DQoNCmV4dGVybiBSVFRBU0tTIAkJdGFiUnRUYXNrW107DQpl eHRlcm4gUlRfU0VNIAkJZW52U2VtW05VTVNZU1NFTV07DQpleHRlcm4gUlRfTVVURVggCWVu dlJlZ1tOVU1TWVNSRUddOw0KZXh0ZXJuIFJUX1FVRVVFIAllbnZNYnhbTlVNU1lTTUJYXTsN Cg0KLy9hdHRpdmF6aW9uZSB0YXNrcyByZWFsdGltZQ0KZXh0ZXJuIGJvb2xlYW4gSW5pdFJU RW52KCB2b2lkICk7DQpleHRlcm4gYm9vbGVhbiBDbGVhblJ0RW52KCB2b2lkICk7DQoNCi8v cHJvdG90aXBpIGhhbmRsZXIgZGVpIHRhc2sNCi8vCWV4dGVybiB2b2lkIHRza0huZF9JcnFG dWogCSggdm9pZCAqY29va2llICk7DQovLwlleHRlcm4gdm9pZCB0c2tIbmRfSW5vdXQgCSgg dm9pZCAqY29va2llICk7DQovLwlleHRlcm4gdm9pZCB0c2tIbmRfUGxjRmFzdCAJKCB2b2lk ICpjb29raWUgKTsNCi8vCWV4dGVybiB2b2lkIHRza0huZF9QbGNTbG93IAkoIHZvaWQgKmNv b2tpZSApOw0KLy8JZXh0ZXJuIHZvaWQgdHNrSG5kX0NhblNydgkoIHZvaWQgKmNvb2tpZSAp Ow0KLy8JZXh0ZXJuIHZvaWQgdHNrSG5kX0JjawkJKCB2b2lkICpjb29raWUgKTsNCmV4dGVy biB2b2lkIHRza0huZF9QbGNRdWVyeQkoIHZvaWQgKmNvb2tpZSApOw0KDQogICAgLy9wcm90 b3RpcGkgdGFzayBlc3Rlcm5pDQpleHRlcm4gdm9pZCBBeGVDYW4oIHZvaWQgKTsNCmV4dGVy biB2b2lkIEluaUNhbiggdm9pZCApOw0KZXh0ZXJuIHZvaWQgZXhlbXNnICh2b2lkKTsNCmV4 dGVybiB2b2lkIGFyYml4ICh2b2lkKTsNCmV4dGVybiB2b2lkIGN1dHkgICh2b2lkKTsNCmV4 dGVybiB2b2lkIGN1dHYgICh2b2lkKTsNCmV4dGVybiB2b2lkIGN1dHcgICh2b2lkKTsNCmV4 dGVybiB2b2lkIEN1dFB6ICh2b2lkKTsNCmV4dGVybiB2b2lkIGN1dHogICh2b2lkKTsNCmV4 dGVybiB2b2lkIEN1dFB6ICh2b2lkKTsNCg0KI2VuZGlmDQo= --------------030003040007040807000109--