From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S268364AbTGTU42 (ORCPT ); Sun, 20 Jul 2003 16:56:28 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S268339AbTGTU42 (ORCPT ); Sun, 20 Jul 2003 16:56:28 -0400 Received: from web13308.mail.yahoo.com ([216.136.175.44]:5463 "HELO web13308.mail.yahoo.com") by vger.kernel.org with SMTP id S268396AbTGTUzs (ORCPT ); Sun, 20 Jul 2003 16:55:48 -0400 Message-ID: <20030720211048.19155.qmail@web13308.mail.yahoo.com> Date: Sun, 20 Jul 2003 14:10:48 -0700 (PDT) From: Ronald Jerome Subject: INIT: USB FATAL in for Kernel 2.5.xx and 2.6.xx in Redhat v9.0 PLease Read. To: linux-kernel@vger.kernel.org MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="0-785352012-1058735448=:18444" Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org --0-785352012-1058735448=:18444 Content-Type: text/plain; charset=us-ascii Content-Id: Content-Disposition: inline After installing RH 9.0 and installing rawhide's mkinitrd and moduitls rpm's as well as non kernel updates from "http://people.redhat.com/arjanv/2.5/", I still have a problem with USB. Note: after updating the mkinitrd and modutils, the generate-modprobe.conf must automatically run and did run because it was created in /etc/modprobe.conf. I did not have to generate it manually. I have 2.4.20-8, 2.4.20-18.9 boot jsut fine with the updated mkinitrd and modutils but I still have problems with kernel 2.5.75-mm1 and 2.6.0-test1-mm2. I have also attached my modules.conf and modprobe,conf and my rc.sysinit, so maybe you can tell me what I need to do to fix this issue for 2.5.xx and 2.6.xx kernels. One thing I knwo for sure is that in 2.5.xx and 2.6.xx kernels there is no usb-uhci.o driver. I believe they changes the name and I wonder if this is why I am having problems booting the 2.5.xx and 2.6.xx serieis kernels? During the INIT: Initializing USB Controller (usb_uhci): FATAL: Module usb_uhci not found [Failed] Mounting USB filesystem: [ok] grep: /proc/bus/usb/drivers: no such file or directory Initializing USB HID interface: [ok] Initializing USB keybaord: FATAL: module keybdev not found. [Failed] Initializing USB mouse: FATAL: module mousdev not found. [Failed] __________________________________ Do you Yahoo!? SBC Yahoo! DSL - Now only $29.95 per month! http://sbc.yahoo.com --0-785352012-1058735448=:18444 Content-Type: application/octet-stream; name="modprobe.conf" Content-Transfer-Encoding: base64 Content-Description: modprobe.conf Content-Disposition: attachment; filename="modprobe.conf" aW5jbHVkZSAvZXRjL21vZHByb2JlLmNvbmYuZGlzdAphbGlhcyBldGgwIDNj NTl4CmFsaWFzIHVzYi1jb250cm9sbGVyIHVzYi11aGNpCmFsaWFzIGllZWUx Mzk0LWNvbnRyb2xsZXIgb2hjaTEzOTQKYWxpYXMgc291bmQtc2xvdC0wIGk4 MTBfYXVkaW8KaW5zdGFsbCBzb3VuZC1zbG90LTAgL3NiaW4vbW9kcHJvYmUg LS1pZ25vcmUtaW5zdGFsbCBzb3VuZC1zbG90LTAgJiYgeyAvYmluL2F1bWl4 LW1pbmltYWwgLWYgL2V0Yy8uYXVtaXhyYyAtTCA+L2Rldi9udWxsIDI+JjEg fHwgOjsgfQpyZW1vdmUgc291bmQtc2xvdC0wIHsgL2Jpbi9hdW1peC1taW5p bWFsIC1mIC9ldGMvLmF1bWl4cmMgLVMgPi9kZXYvbnVsbCAyPiYxIHx8IDo7 IH07IC9zYmluL21vZHByb2JlIC1yIC0taWdub3JlLXJlbW92ZSBzb3VuZC1z bG90LTAK --0-785352012-1058735448=:18444 Content-Type: application/octet-stream; name="modules.conf" Content-Transfer-Encoding: base64 Content-Description: modules.conf Content-Disposition: attachment; filename="modules.conf" YWxpYXMgZXRoMCAzYzU5eAphbGlhcyB1c2ItY29udHJvbGxlciB1c2ItdWhj aQphbGlhcyBpZWVlMTM5NC1jb250cm9sbGVyIG9oY2kxMzk0CmFsaWFzIHNv dW5kLXNsb3QtMCBpODEwX2F1ZGlvCnBvc3QtaW5zdGFsbCBzb3VuZC1zbG90 LTAgL2Jpbi9hdW1peC1taW5pbWFsIC1mIC9ldGMvLmF1bWl4cmMgLUwgPi9k ZXYvbnVsbCAyPiYxIHx8IDoKcHJlLXJlbW92ZSBzb3VuZC1zbG90LTAgL2Jp bi9hdW1peC1taW5pbWFsIC1mIC9ldGMvLmF1bWl4cmMgLVMgPi9kZXYvbnVs bCAyPiYxIHx8IDoK --0-785352012-1058735448=:18444 Content-Type: application/octet-stream; name="rc.sysinit" Content-Transfer-Encoding: base64 Content-Description: rc.sysinit Content-Disposition: attachment; filename="rc.sysinit" IyEvYmluL2Jhc2gKIwojIC9ldGMvcmMuZC9yYy5zeXNpbml0IC0gcnVuIG9u Y2UgYXQgYm9vdCB0aW1lCiMKIyBUYWtlbiBpbiBwYXJ0IGZyb20gTWlxdWVs IHZhbiBTbW9vcmVuYnVyZydzIGJjaGVja3JjLgojCgojIFJlcnVuIG91cnNl bHZlcyB0aHJvdWdoIGluaXRsb2cKaWYgWyAteiAiJElOX0lOSVRMT0ciIC1h IC14IC9zYmluL2luaXRsb2cgXTsgdGhlbgogICAgZXhlYyAvc2Jpbi9pbml0 bG9nICRJTklUTE9HX0FSR1MgLXIgL2V0Yy9yYy5kL3JjLnN5c2luaXQKZmkK CiMgSWYgd2UncmUgdXNpbmcgZGV2ZnMsIHN0YXJ0IGRldmZzZCBub3cgLSB3 ZSBuZWVkIHRoZSBvbGQgZGV2aWNlIG5hbWVzClsgLWUgL2Rldi8uZGV2ZnNk IC1hIC14IC9zYmluL2RldmZzZCBdICYmIC9zYmluL2RldmZzZCAvZGV2CgpI T1NUTkFNRT1gL2Jpbi9ob3N0bmFtZWAKaWYgWyAtZiAvZXRjL3N5c2NvbmZp Zy9uZXR3b3JrIF07IHRoZW4KICAgIC4gL2V0Yy9zeXNjb25maWcvbmV0d29y awpmaQppZiBbIC16ICIkSE9TVE5BTUUiIC1vICIkSE9TVE5BTUUiID0gIihu b25lKSIgXTsgdGhlbgogICAgSE9TVE5BTUU9bG9jYWxob3N0CmZpCgouIC9l dGMvaW5pdC5kL2Z1bmN0aW9ucwoKSE9TVFRZUEU9YHVuYW1lIC1tYAoKaWYg WyAiJEhPU1RUWVBFIiAhPSAiczM5MCIgLWEgIiRIT1NUVFlQRSIgIT0gInMz OTB4IiBdOyB0aGVuCiAgbGFzdD0wCiAgZm9yIGkgaW4gYExDX0FMTD1DIGdy ZXAgJ15bMC05XS4qcmVzcGF3bjovc2Jpbi9taW5nZXR0eScgL2V0Yy9pbml0 dGFiIHwgc2VkICdzL14uKiB0dHlcKFswLTldWzAtOV0qXCkuKi9cMS9nJ2A7 IGRvCiAgICAgICAgPiAvZGV2L3R0eSRpCiAgICAgICAgbGFzdD0kaQogIGRv bmUKICBpZiBbICRsYXN0IC1ndCAwIF07IHRoZW4KICAgICAgID4gL2Rldi90 dHkkKChsYXN0KzEpKQogICAgICAgPiAvZGV2L3R0eSQoKGxhc3QrMikpCiAg ZmkKZmkKCnVwZGF0ZV9ib290X3N0YWdlIFJDY29uc29sZQppZiBbICIkQ09O U09MRVRZUEUiID0gInZ0IiAtYSAteCAvc2Jpbi9zZXRzeXNmb250IF07IHRo ZW4KICAgZWNobyAtbiAiU2V0dGluZyBkZWZhdWx0IGZvbnQgKCRTWVNGT05U KTogIgogICAvc2Jpbi9zZXRzeXNmb250CiAgIGlmIFsgJD8gLWVxIDAgXTsg dGhlbgogICAgICBzdWNjZXNzCiAgIGVsc2UKICAgICAgZmFpbHVyZQogICBm aQogICBlY2hvIDsgZWNobwpmaQoKIyBQcmludCBhIHRleHQgYmFubmVyLgpl Y2hvIC1lbiAkIlx0XHRXZWxjb21lIHRvICIKaWYgTENfQUxMPUMgZ3JlcCAt cSAiUmVkIEhhdCIgL2V0Yy9yZWRoYXQtcmVsZWFzZSA7IHRoZW4gCiBbICIk Qk9PVFVQIiA9ICJjb2xvciIgXSAmJiBlY2hvIC1lbiAiXFwwMzNbMDszMW0i CiBlY2hvIC1lbiAiUmVkIEhhdCIKIFsgIiRCT09UVVAiID0gImNvbG9yIiBd ICYmIGVjaG8gLWVuICJcXDAzM1swOzM5bSIKIFBST0RVQ1Q9YHNlZCAicy9S ZWQgSGF0IFwoLipcKSByZWxlYXNlLiovXDEvIiAvZXRjL3JlZGhhdC1yZWxl YXNlYAogZWNobyAiICRQUk9EVUNUIgplbHNlCiBQUk9EVUNUPWBzZWQgInMv IHJlbGVhc2UuKi8vZyIgL2V0Yy9yZWRoYXQtcmVsZWFzZWAKIGVjaG8gIiRQ Uk9EVUNUIgpmaQppZiBbICIkUFJPTVBUIiAhPSAibm8iIF07IHRoZW4KIGVj aG8gLWVuICQiXHRcdFByZXNzICdJJyB0byBlbnRlciBpbnRlcmFjdGl2ZSBz dGFydHVwLiIKIGVjaG8KZmkKCiMgRml4IGNvbnNvbGUgbG9nbGV2ZWwKaWYg WyAtbiAiJExPR0xFVkVMIiBdOyB0aGVuCgkvYmluL2RtZXNnIC1uICRMT0dM RVZFTApmaQoKIyBNb3VudCAvcHJvYyAoZG9uZSBoZXJlIHNvIHZvbHVtZSBs YWJlbHMgY2FuIHdvcmsgd2l0aCBmc2NrKQojdXBkYXRlX2Jvb3Rfc3RhZ2Ug UkNwcm9jCmFjdGlvbiAkIk1vdW50aW5nIHByb2MgZmlsZXN5c3RlbTogIiBt b3VudCAtbiAtdCBwcm9jIC9wcm9jIC9wcm9jCgojIFN0YXJ0IHRoZSBncmFw aGljYWwgYm9vdCwgaWYgbmVjZXNzYXJ5CmlmICEgZmdyZXAgLXEgbm9ndWkg L3Byb2MvY21kbGluZSAmJiBbICIkQk9PVFVQIiA9ICJjb2xvciIgLWEgIiRH UkFQSElDQUwiID0gInllcyIgLWEgLXggL3Vzci9iaW4vcmhnYiBdOyB0aGVu CiAgICAgL3Vzci9iaW4vcmhnYgpmaQoKIyBVbm1vdW50IHRoZSBpbml0cmQs IGlmIG5lY2Vzc2FyeQppZiBMQ19BTEw9QyBncmVwIC1xIC9pbml0cmQgL3By b2MvbW91bnRzICYmICEgTENfQUxMPUMgZ3JlcCAtcSAvaW5pdHJkL2xvb3Bm cyAvcHJvYy9tb3VudHMgOyB0aGVuCiAgIGlmIFsgLWUgL2luaXRyZC9kZXYv LmRldmZzZCBdOyB0aGVuCiAgICAgIHVtb3VudCAvaW5pdHJkL2RldgogICBm aQogICBhY3Rpb24gJCJVbm1vdW50aW5nIGluaXRyZDogIiB1bW91bnQgL2lu aXRyZAogICAvc2Jpbi9ibG9ja2RldiAtLWZsdXNoYnVmcyAvZGV2L3JhbTAg Pi9kZXYvbnVsbCAyPiYxCmZpCgojIENvbmZpZ3VyZSBrZXJuZWwgcGFyYW1l dGVycwp1cGRhdGVfYm9vdF9zdGFnZSBSQ2tlcm5lbHBhcmFtCmFjdGlvbiAk IkNvbmZpZ3VyaW5nIGtlcm5lbCBwYXJhbWV0ZXJzOiAiIHN5c2N0bCAtZSAt cCAvZXRjL3N5c2N0bC5jb25mCgojIFNldCB0aGUgc3lzdGVtIGNsb2NrLgp1 cGRhdGVfYm9vdF9zdGFnZSBSQ2Nsb2NrCkFSQz0wClNSTT0wClVUQz0wCgpp ZiBbIC1mIC9ldGMvc3lzY29uZmlnL2Nsb2NrIF07IHRoZW4KICAgLiAvZXRj L3N5c2NvbmZpZy9jbG9jawoKICAgIyBjb252ZXJ0IG9sZCBzdHlsZSBjbG9j ayBjb25maWcgdG8gbmV3IHZhbHVlcwogICBpZiBbICIke0NMT0NLTU9ERX0i ID0gIkdNVCIgXTsgdGhlbgogICAgICBVVEM9dHJ1ZQogICBlbGlmIFsgIiR7 Q0xPQ0tNT0RFfSIgPSAiQVJDIiBdOyB0aGVuCiAgICAgIEFSQz10cnVlCiAg IGZpCmZpCgpDTE9DS0RFRj0iIgpDTE9DS0ZMQUdTPSIkQ0xPQ0tGTEFHUyAt LWhjdG9zeXMiCgpjYXNlICIkVVRDIiBpbgogICAgeWVzfHRydWUpCUNMT0NL RkxBR1M9IiRDTE9DS0ZMQUdTIC0tdXRjIgoJCUNMT0NLREVGPSIkQ0xPQ0tE RUYgKHV0YykiIDs7CiAgICBub3xmYWxzZSkJQ0xPQ0tGTEFHUz0iJENMT0NL RkxBR1MgLS1sb2NhbHRpbWUiCgkJQ0xPQ0tERUY9IiRDTE9DS0RFRiAobG9j YWx0aW1lKSIgOzsKZXNhYwpjYXNlICIkQVJDIiBpbgogICAgeWVzfHRydWUp CUNMT0NLRkxBR1M9IiRDTE9DS0ZMQUdTIC0tYXJjIgoJCUNMT0NLREVGPSIk Q0xPQ0tERUYgKGFyYykiIDs7CmVzYWMKY2FzZSAiJFNSTSIgaW4KICAgIHll c3x0cnVlKQlDTE9DS0ZMQUdTPSIkQ0xPQ0tGTEFHUyAtLXNybSIKCQlDTE9D S0RFRj0iJENMT0NLREVGIChzcm0pIiA7Owplc2FjCgovc2Jpbi9od2Nsb2Nr ICRDTE9DS0ZMQUdTCgphY3Rpb24gJCJTZXR0aW5nIGNsb2NrICRDTE9DS0RF RjogYGRhdGVgIiBkYXRlCgppZiBbICIkQ09OU09MRVRZUEUiID0gInZ0IiAt YSAteCAvYmluL2xvYWRrZXlzIF07IHRoZW4KIEtFWVRBQkxFPQogS0VZTUFQ PQogaWYgWyAtZiAvZXRjL3N5c2NvbmZpZy9jb25zb2xlL2RlZmF1bHQua21h cCBdOyB0aGVuCiAgS0VZTUFQPS9ldGMvc3lzY29uZmlnL2NvbnNvbGUvZGVm YXVsdC5rbWFwCiBlbHNlCiAgaWYgWyAtZiAvZXRjL3N5c2NvbmZpZy9rZXli b2FyZCBdOyB0aGVuCiAgICAuIC9ldGMvc3lzY29uZmlnL2tleWJvYXJkCiAg ZmkKICBpZiBbIC1uICIkS0VZVEFCTEUiIC1hIC1kICIvbGliL2tiZC9rZXlt YXBzIiBdOyB0aGVuCiAgICAgS0VZTUFQPSRLRVlUQUJMRQogIGZpCiBmaQog aWYgWyAtbiAiJEtFWU1BUCIgXTsgdGhlbiAKICAjIFNpbmNlIHRoaXMgdGFr ZXMgaW4vb3V0cHV0IGZyb20gc3RkaW4vb3V0LCB3ZSBjYW4ndCB1c2UgaW5p dGxvZwogIGlmIFsgLW4gIiRLRVlUQUJMRSIgXTsgdGhlbgogICAgZWNobyAt biAkIkxvYWRpbmcgZGVmYXVsdCBrZXltYXAgKCRLRVlUQUJMRSk6ICIKICBl bHNlCiAgICBlY2hvIC1uICQiTG9hZGluZyBkZWZhdWx0IGtleW1hcDogIgog IGZpCiAgbG9hZGtleXMgJEtFWU1BUCA8IC9kZXYvdHR5MCA+IC9kZXYvdHR5 MCAyPi9kZXYvbnVsbCAmJiBcCiAgICAgc3VjY2VzcyAkIkxvYWRpbmcgZGVm YXVsdCBrZXltYXAiIHx8IGZhaWx1cmUgJCJMb2FkaW5nIGRlZmF1bHQga2V5 bWFwIgogIGVjaG8KIGZpCmZpCgojIFNldCB0aGUgaG9zdG5hbWUuCnVwZGF0 ZV9ib290X3N0YWdlIFJDaG9zdG5hbWUKYWN0aW9uICQiU2V0dGluZyBob3N0 bmFtZSAke0hPU1ROQU1FfTogIiBob3N0bmFtZSAke0hPU1ROQU1FfQoKIyBP bmx5IHJlYWQgdGhpcyBvbmNlLgpjbWRsaW5lPSQoY2F0IC9wcm9jL2NtZGxp bmUpCgojIEluaXRpYWxpemUgVVNCIGNvbnRyb2xsZXIgYW5kIEhJRCBkZXZp Y2VzCnVwZGF0ZV9ib290X3N0YWdlIFJDdXNiCnVzYj0wCmlmICEgc3Ryc3Ry ICIkY21kbGluZSIgbm91c2IgOyB0aGVuCiAgaWYgISBMQ19BTEw9QyBncmVw IC1xICJ1c2IiIC9wcm9jL2RldmljZXMgMj4vZGV2L251bGwgOyB0aGVuCiAg ICBhbGlhc2VzPWAvc2Jpbi9tb2Rwcm9iZSAtYyB8IGF3ayAnL15hbGlhcyB1 c2ItY29udHJvbGxlci8geyBwcmludCAkMyB9J2AKICAgIGlmIFsgLW4gIiRh bGlhc2VzIiAtYSAiJGFsaWFzZXMiICE9ICJvZmYiIF07IHRoZW4KICAgICAg bW9kcHJvYmUgdXNiY29yZQogICAgICBmb3IgYWxpYXMgaW4gJGFsaWFzZXMg OyBkbyAKICAgICAgCVsgIiRhbGlhcyIgPSAib2ZmIiBdICYmIGNvbnRpbnVl CglhY3Rpb24gJCJJbml0aWFsaXppbmcgVVNCIGNvbnRyb2xsZXIgKCRhbGlh cyk6ICIgbW9kcHJvYmUgJGFsaWFzCiAgICAgIGRvbmUKICAgICAgWyAkPyAt ZXEgMCAtYSAtbiAiJGFsaWFzZXMiIF0gJiYgdXNiPTEKICAgIGZpCiAgZmkK ICBpZiBMQ19BTEw9QyBncmVwIC1xICJ1c2IiIC9wcm9jL2RldmljZXMgMj4v ZGV2L251bGwgOyB0aGVuCiAgICB1c2I9MQogIGZpCmZpCgppZiBbICR1c2Ig PSAxIC1hICEgLWYgL3Byb2MvYnVzL3VzYi9kZXZpY2VzIF07IHRoZW4KICAg IGFjdGlvbiAkIk1vdW50aW5nIFVTQiBmaWxlc3lzdGVtOiAiICBtb3VudCAt dCB1c2JkZXZmcyB1c2JkZXZmcyAvcHJvYy9idXMvdXNiCmZpCgpuZWVkdXNi c3RvcmFnZT0KaWYgWyAkdXNiID0gIjEiIF07IHRoZW4KICAgIG5lZWR1c2Jz dG9yYWdlPWBMQ19BTEw9QyBncmVwIC1lICJeSS4qQ2xzPTA4IiAvcHJvYy9i dXMvdXNiL2RldmljZXMgMj4vZGV2L251bGxgCiAgICBMQ19BTEw9QyBncmVw ICdoaWQnIC9wcm9jL2J1cy91c2IvZHJpdmVycyB8fCBhY3Rpb24gJCJJbml0 aWFsaXppbmcgVVNCIEhJRCBpbnRlcmZhY2U6ICIgbW9kcHJvYmUgaGlkIDI+ IC9kZXYvbnVsbAogICAgYWN0aW9uICQiSW5pdGlhbGl6aW5nIFVTQiBrZXli b2FyZDogIiBtb2Rwcm9iZSBrZXliZGV2IDI+IC9kZXYvbnVsbAogICAgYWN0 aW9uICQiSW5pdGlhbGl6aW5nIFVTQiBtb3VzZTogIiBtb2Rwcm9iZSBtb3Vz ZWRldiAyPiAvZGV2L251bGwgCmZpCgppZiBbIC1mIC9mYXN0Ym9vdCBdIHx8 IHN0cnN0ciAiJGNtZGxpbmUiIGZhc3Rib290IDsgdGhlbgoJZmFzdGJvb3Q9 eWVzCmZpCgppZiBbIC1mIC9mc2Nrb3B0aW9ucyBdOyB0aGVuCglmc2Nrb3B0 aW9ucz1gY2F0IC9mc2Nrb3B0aW9uc2AKZmkKCmlmIFsgLWYgL2ZvcmNlZnNj ayBdIHx8IHN0cnN0ciAiJGNtZGxpbmUiIGZvcmNlZnNjayA7IHRoZW4KCWZz Y2tvcHRpb25zPSItZiAkZnNja29wdGlvbnMiCmVsaWYgWyAtZiAvLmF1dG9m c2NrIF07IHRoZW4KCWVjaG8gJCJZb3VyIHN5c3RlbSBhcHBlYXJzIHRvIGhh dmUgc2h1dCBkb3duIHVuY2xlYW5seSIKCUFVVE9GU0NLX1RJTUVPVVQ9NQoJ WyAtZiAvZXRjL3N5c2NvbmZpZy9hdXRvZnNjayBdICYmIC4gL2V0Yy9zeXNj b25maWcvYXV0b2ZzY2sKCWlmIFsgIiRBVVRPRlNDS19ERUZfQ0hFQ0siID0g InllcyIgXTsgdGhlbgoJCUFVVE9GU0NLX09QVD0tZgoJZmkKCglpZiBbICIk UFJPTVBUIiAhPSAibm8iIF07IHRoZW4KCQlpZiBbICIkQVVUT0ZTQ0tfREVG X0NIRUNLIiA9ICJ5ZXMiIF07IHRoZW4KCQkJaWYgL3NiaW4vZ2V0a2V5IC1j ICRBVVRPRlNDS19USU1FT1VUIC1tICQiUHJlc3MgTiB3aXRoaW4gJWQgc2Vj b25kcyB0byBub3QgZm9yY2UgZmlsZSBzeXN0ZW0gaW50ZWdyaXR5IGNoZWNr Li4uIiBuIDsgdGhlbgoJCQkJQVVUT0ZTQ0tfT1BUPQoJCQlmaQoJCWVsc2UK CQkJaWYgL3NiaW4vZ2V0a2V5IC1jICRBVVRPRlNDS19USU1FT1VUIC1tICQi UHJlc3MgWSB3aXRoaW4gJWQgc2Vjb25kcyB0byBmb3JjZSBmaWxlIHN5c3Rl bSBpbnRlZ3JpdHkgY2hlY2suLi4iIHkgOyB0aGVuCgkJCQlBVVRPRlNDS19P UFQ9LWYKCQkJZmkKCQlmaQoJCWVjaG8KCWVsc2UKCQkjIFBST01QVCBub3Qg YWxsb3dlZAoJCWlmIFsgIiRBVVRPRlNDS19ERUZfQ0hFQ0siID0gInllcyIg XTsgdGhlbgoJCQllY2hvICQiRm9yY2luZyBmaWxlIHN5c3RlbSBpbnRlZ3Jp dHkgY2hlY2sgZHVlIHRvIGRlZmF1bHQgc2V0dGluZyIKCQllbHNlCgkJCWVj aG8gJCJOb3QgZm9yY2luZyBmaWxlIHN5c3RlbSBpbnRlZ3JpdHkgY2hlY2sg ZHVlIHRvIGRlZmF1bHQgc2V0dGluZyIKCQlmaQoJZmkKCWZzY2tvcHRpb25z PSIkQVVUT0ZTQ0tfT1BUICRmc2Nrb3B0aW9ucyIKZmkKCmlmIFsgIiRCT09U VVAiID0gImNvbG9yIiBdOyB0aGVuCglmc2Nrb3B0aW9ucz0iLUMgJGZzY2tv cHRpb25zIgplbHNlCglmc2Nrb3B0aW9ucz0iLVYgJGZzY2tvcHRpb25zIgpm aQogCgpfUlVOX1FVT1RBQ0hFQ0s9MApST09URlNUWVBFPWBhd2sgJy8gXC8g LyAmJiAoJDMgIX4gL3Jvb3Rmcy8pIHsgcHJpbnQgJDMgfScgL3Byb2MvbW91 bnRzYAppZiBbIC16ICIkZmFzdGJvb3QiIC1hICJYJFJPT1RGU1RZUEUiICE9 ICJYbmZzIiBdOyB0aGVuIAoKICAgICAgICBTVFJJTkc9JCJDaGVja2luZyBy b290IGZpbGVzeXN0ZW0iCgllY2hvICRTVFJJTkcKCWluaXRsb2cgLWMgImZz Y2sgLVQgLWEgLyAkZnNja29wdGlvbnMiCglyYz0kPwoJCglpZiBbICIkcmMi ID0gIjAiIF07IHRoZW4KCQlzdWNjZXNzICIkU1RSSU5HIgoJCWVjaG8KCWVs aWYgWyAiJHJjIiA9ICIxIiBdOyB0aGVuCgkgICAgICAgIHBhc3NlZCAiJFNU UklORyIKCQllY2hvCiAgICAgICAgZmkKCQogICAgICAgICMgQSByZXR1cm4g b2YgMiBvciBoaWdoZXIgbWVhbnMgdGhlcmUgd2VyZSBzZXJpb3VzIHByb2Js ZW1zLgoJaWYgWyAkcmMgLWd0IDEgXTsgdGhlbgoJICAgICAgICBpZiBbIC14 IC91c3IvYmluL3JoZ2ItY2xpZW50IF0gJiYgL3Vzci9iaW4vcmhnYi1jbGll bnQgLS1waW5nIDsgdGhlbgoJCSAgICBjaHZ0IDEKCQlmaQoKCQlmYWlsdXJl ICIkU1RSSU5HIgoJCWVjaG8KCQllY2hvCgkJZWNobyAkIioqKiBBbiBlcnJv ciBvY2N1cnJlZCBkdXJpbmcgdGhlIGZpbGUgc3lzdGVtIGNoZWNrLiIKCQll Y2hvICQiKioqIERyb3BwaW5nIHlvdSB0byBhIHNoZWxsOyB0aGUgc3lzdGVt IHdpbGwgcmVib290IgoJCWVjaG8gJCIqKiogd2hlbiB5b3UgbGVhdmUgdGhl IHNoZWxsLiIKCiAgICAgICAgICAgICAgICBzdHI9JCIoUmVwYWlyIGZpbGVz eXN0ZW0pIgoJCVBTMT0iJHN0ciBcIyAjICI7IGV4cG9ydCBQUzEKCQlzdWxv Z2luCgoJCWVjaG8gJCJVbm1vdW50aW5nIGZpbGUgc3lzdGVtcyIKCQl1bW91 bnQgLWEKCQltb3VudCAtbiAtbyByZW1vdW50LHJvIC8KCQllY2hvICQiQXV0 b21hdGljIHJlYm9vdCBpbiBwcm9ncmVzcy4iCgkJcmVib290IC1mCgllbGlm IFsgIiRyYyIgPSAiMSIgXTsgdGhlbgoJCV9SVU5fUVVPVEFDSEVDSz0xCglm aQpmaQoKIyBQb3NzaWJseSB1cGRhdGUgcXVvdGFzIGlmIGZzY2sgd2FzIHJ1 biBvbiAvLgpMQ19BTEw9QyBncmVwIC1FICdbWzpzcGFjZTpdXSsvW1s6c3Bh Y2U6XV0rJyAvZXRjL2ZzdGFiIHwgXAogICAgYXdrICd7IHByaW50ICQ0IH0n IHwgXAogICAgTENfQUxMPUMgZ3JlcCAtcSBxdW90YQpfUk9PVF9IQVNfUVVP VEE9JD8KaWYgWyBYIiRfUlVOX1FVT1RBQ0hFQ0siID0gWDEgLWEgXAogICAg IiRfUk9PVF9IQVNfUVVPVEEiID0gIjAiIC1hIFwKICAgIC14IC9zYmluL3F1 b3RhY2hlY2sgXTsgdGhlbgoJaWYgWyAteCAvc2Jpbi9jb252ZXJ0cXVvdGEg XTsgdGhlbgoJICAgIGlmIFsgLWYgL3F1b3RhLnVzZXIgXTsgdGhlbgoJCWFj dGlvbiAkIkNvbnZlcnRpbmcgb2xkIHVzZXIgcXVvdGEgZmlsZXM6ICIgXAoJ CSAgICAvc2Jpbi9jb252ZXJ0cXVvdGEgLXUgLyAmJiBybSAtZiAvcXVvdGEu dXNlcgoJICAgIGZpCgkgICAgaWYgWyAtZiAvcXVvdGEuZ3JvdXAgXTsgdGhl bgoJCWFjdGlvbiAkIkNvbnZlcnRpbmcgb2xkIGdyb3VwIHF1b3RhIGZpbGVz OiAiIFwKCQkgICAgL3NiaW4vY29udmVydHF1b3RhIC1nIC8gJiYgcm0gLWYg L3F1b3RhLmdyb3VwCgkgICAgZmkKCWZpCglhY3Rpb24gJCJDaGVja2luZyBy b290IGZpbGVzeXN0ZW0gcXVvdGFzOiAiIC9zYmluL3F1b3RhY2hlY2sgLW51 ZyAvCmZpCgppZiBbIC14IC9zYmluL2lzYXBucCAtYSAtZiAvZXRjL2lzYXBu cC5jb25mIC1hICEgLWYgL3Byb2MvaXNhcG5wIF07IHRoZW4KICAgICMgY2hl Y2sgZm9yIGFyZ3VtZW50cyBwYXNzZWQgZnJvbSBrZXJuZWwKICAgIGlmICEg c3Ryc3RyICIkY21kbGluZSIgbm9wbnAgOyB0aGVuCglQTlA9eWVzCiAgICBm aQogICAgaWYgWyAtbiAiJFBOUCIgXTsgdGhlbgoJYWN0aW9uICQiU2V0dGlu ZyB1cCBJU0EgUE5QIGRldmljZXM6ICIgL3NiaW4vaXNhcG5wIC9ldGMvaXNh cG5wLmNvbmYKICAgIGVsc2UKCWFjdGlvbiAkIlNraXBwaW5nIElTQSBQTlAg Y29uZmlndXJhdGlvbiBhdCB1c2VycyByZXF1ZXN0OiAiIC9iaW4vdHJ1ZQog ICAgZmkKZmkKCiMgUmVtb3VudCB0aGUgcm9vdCBmaWxlc3lzdGVtIHJlYWQt d3JpdGUuCnVwZGF0ZV9ib290X3N0YWdlIFJDbW91bnRmcwpzdGF0ZT1gYXdr ICcvIFwvIC8gJiYgKCQzICF+IC9yb290ZnMvKSB7IHByaW50ICQ0IH0nIC9w cm9jL21vdW50c2AKWyAiJHN0YXRlIiAhPSAicnciIF0gJiYgXAogIGFjdGlv biAkIlJlbW91bnRpbmcgcm9vdCBmaWxlc3lzdGVtIGluIHJlYWQtd3JpdGUg bW9kZTogIiBtb3VudCAtbiAtbyByZW1vdW50LHJ3IC8KCiMgTFZNIGluaXRp YWxpemF0aW9uCmlmIFsgLWYgL2V0Yy9sdm10YWIgXTsgdGhlbgogICAgWyAt ZSAvcHJvYy9sdm0gXSB8fCBtb2Rwcm9iZSBsdm0tbW9kID4gL2Rldi9udWxs IDI+JjEKICAgIGlmIFsgLWUgL3Byb2MvbHZtIC1hIC14IC9zYmluL3ZnY2hh bmdlIF07IHRoZW4KCWFjdGlvbiAkIlNldHRpbmcgdXAgTG9naWNhbCBWb2x1 bWUgTWFuYWdlbWVudDoiIC9zYmluL3Znc2NhbiAmJiAvc2Jpbi92Z2NoYW5n ZSAtYSB5CiAgICBmaQpmaQoKIyBTdGFydCB1cCBzd2FwcGluZy4KdXBkYXRl X2Jvb3Rfc3RhZ2UgUkNzd2FwCmFjdGlvbiAkIkFjdGl2YXRpbmcgc3dhcCBw YXJ0aXRpb25zOiAiIHN3YXBvbiAtYSAtZQoKIyBDbGVhciBtdGFiCj4gL2V0 Yy9tdGFiCgojIFJlbW92ZSBzdGFsZSBiYWNrdXBzCnJtIC1mIC9ldGMvbXRh Yn4gL2V0Yy9tdGFifn4KCiMgRW50ZXIgcm9vdCwgL3Byb2MgYW5kIChwb3Rl bnRpYWxseSkgL3Byb2MvYnVzL3VzYiBhbmQgZGV2ZnMgaW50byBtdGFiLgpt b3VudCAtZiAvCm1vdW50IC1mIC9wcm9jClsgLWYgL3Byb2MvYnVzL3VzYi9k ZXZpY2VzIF0gJiYgbW91bnQgLWYgLXQgdXNiZGV2ZnMgdXNiZGV2ZnMgL3By b2MvYnVzL3VzYgpbIC1lIC9kZXYvLmRldmZzZCBdICYmIG1vdW50IC1mIC10 IGRldmZzIGRldmZzIC9kZXYgCgoKCiMgVGhlIHJvb3QgZmlsZXN5c3RlbSBp cyBub3cgcmVhZC13cml0ZSwgc28gd2UgY2FuIG5vdyBsb2cKIyB2aWEgc3lz bG9nKCkgZGlyZWN0bHkuLgppZiBbIC1uICIkSU5fSU5JVExPRyIgXTsgdGhl bgogICAgSU5fSU5JVExPRz0KZmkKCmlmICEgc3Ryc3RyICIkY21kbGluZSIg bm9tb2R1bGVzICYmIFsgLWYgL3Byb2MvbW9kdWxlcyBdIDsgdGhlbgogICAg VVNFTU9EVUxFUz15CmZpCgp1bmFtZXI9YHVuYW1lIC1yYAoKIyBPdXIgbW9k dXRpbHMgZG9uJ3Qgc3VwcG9ydCBpdCBhbnltb3JlLCBzbyB3ZSBtaWdodCBh cyB3ZWxsIHJlbW92ZQojIHRoZSBwcmVmZXJyZWQgbGluay4Kcm0gLWYgL2xp Yi9tb2R1bGVzL3ByZWZlcnJlZCAvbGliL21vZHVsZXMvZGVmYXVsdAppZiBb IC14IC9zYmluL2RlcG1vZCAtYSAtbiAiJFVTRU1PRFVMRVMiIF07IHRoZW4K ICAgICMgSWYgdGhleSBhcmVuJ3QgdXNpbmcgYSByZWNlbnQgc2FuZSBrZXJu ZWwsIG1ha2UgYSBsaW5rIGZvciB0aGVtCiAgICBpZiAhIHN0cnN0ciAkdW5h bWVyIC0gIDsgdGhlbgogICAgICAga3RhZz0iYGNhdCAvcHJvYy92ZXJzaW9u YCIKICAgICAgIG10YWc9YExDX0FMTD1DIGdyZXAgLWwgIiRrdGFnIiAvbGli L21vZHVsZXMvKi8ucmhrbXZ0YWcgMj4gL2Rldi9udWxsYAogICAgICAgaWYg WyAtbiAiJG10YWciIF07IHRoZW4KICAgICAgICAgIG12ZXI9YGVjaG8gJG10 YWcgfCBzZWQgLWUgJ3MsL2xpYi9tb2R1bGVzLywsJyAtZSAncywvLnJoa212 dGFnLCwnIC1lICdzLFsgICAgICAgXS4qJCwsJ2AKICAgICAgIGZpCiAgICAg ICBpZiBbIC1uICIkbXZlciIgXTsgdGhlbgogICAgICAgICBsbiAtc2YgL2xp Yi9tb2R1bGVzLyRtdmVyIC9saWIvbW9kdWxlcy9kZWZhdWx0CiAgICAgICBm aQogICAgZmkKICAgIGlmIFsgLUwgL2xpYi9tb2R1bGVzL2RlZmF1bHQgXTsg dGhlbgogICAgCUlOSVRMT0dfQVJHUz0gYWN0aW9uICQiRmluZGluZyBtb2R1 bGUgZGVwZW5kZW5jaWVzOiAiIGRlcG1vZCAtQSBkZWZhdWx0CiAgICBlbHNl CglJTklUTE9HX0FSR1M9IGFjdGlvbiAkIkZpbmRpbmcgbW9kdWxlIGRlcGVu ZGVuY2llczogIiBkZXBtb2QgLUEKICAgIGZpCmZpCgojIHR3ZWFrIGlzYXBu cCBzZXR0aW5ncyBpZiBuZWVkZWQuCmlmIFsgLW4gIiRQTlAiIC1hICAtZiAv cHJvYy9pc2FwbnAgLWEgLXggL3NiaW4vc25kY29uZmlnIF07IHRoZW4KICAg IC9zYmluL3NuZGNvbmZpZyAtLW11bmdlcG5wID4vZGV2L251bGwgMj4mMQpm aQoKIyBMb2FkIHNvdW5kIG1vZHVsZXMgaWYgYW5kIG9ubHkgaWYgdGhleSBu ZWVkIHBlcnNpc3RlbnQgRE1BIGJ1ZmZlcnMKaWYgTENfQUxMPUMgZ3JlcCAt cSAib3B0aW9ucyBzb3VuZCBkbWFidWY9MSIgL2V0Yy9tb2R1bGVzLmNvbmYg Mj4vZGV2L251bGwgOyB0aGVuCiAgYWxpYXM9YC9zYmluL21vZHByb2JlIC1j IHwgYXdrICcvXmFsaWFzIHNvdW5kIC8geyBwcmludCAkMyB9J2AKICBpZiBb IC1uICIkYWxpYXMiIC1hICIkYWxpYXMiICE9ICJvZmYiIF07IHRoZW4KICAg ICAgYWN0aW9uICQiTG9hZGluZyBzb3VuZCBtb2R1bGUgKCRhbGlhcyk6ICIg bW9kcHJvYmUgc291bmQKICBmaQogIGFsaWFzPWAvc2Jpbi9tb2Rwcm9iZSAt YyB8IGF3ayAnL15hbGlhcyBzb3VuZC1zbG90LTAgLyB7IHByaW50ICQzIH0n YAogIGlmIFsgLW4gIiRhbGlhcyIgLWEgIiRhbGlhcyIgIT0gIm9mZiIgXTsg dGhlbgogICAgICBhY3Rpb24gJCJMb2FkaW5nIHNvdW5kIG1vZHVsZSAoJGFs aWFzKTogIiBtb2Rwcm9iZSBzb3VuZC1zbG90LTAKICBmaQpmaQoKaWYgWyAt ZiAvcHJvYy9zeXMva2VybmVsL21vZHByb2JlIF07IHRoZW4KICAgaWYgWyAt biAiJFVTRU1PRFVMRVMiIF07IHRoZW4KICAgICAgIHN5c2N0bCAtdyBrZXJu ZWwubW9kcHJvYmU9Ii9zYmluL21vZHByb2JlIiA+L2Rldi9udWxsIDI+JjEK ICAgICAgIHN5c2N0bCAtdyBrZXJuZWwuaG90cGx1Zz0iL3NiaW4vaG90cGx1 ZyIgPi9kZXYvbnVsbCAyPiYxCiAgIGVsc2UKICAgICAgICMgV2UgdXNlZCB0 byBzZXQgdGhpcyB0byBOVUxMLCBidXQgdGhhdCBjYXVzZXMgJ2ZhaWxlZCB0 byBleGVjJyBtZXNzYWdlcyIKICAgICAgIHN5c2N0bCAtdyBrZXJuZWwubW9k cHJvYmU9Ii9iaW4vdHJ1ZSIgPi9kZXYvbnVsbCAyPiYxCiAgICAgICBzeXNj dGwgLXcga2VybmVsLmhvdHBsdWc9Ii9iaW4vdHJ1ZSIgPi9kZXYvbnVsbCAy PiYxCiAgIGZpCmZpCgojIExvYWQgbW9kdWxlcyAoZm9yIGJhY2t3YXJkIGNv bXBhdGliaWxpdHkgd2l0aCBWQVJzKQppZiBbIC1mIC9ldGMvcmMubW9kdWxl cyBdOyB0aGVuCgkvZXRjL3JjLm1vZHVsZXMKZmkKCnVwZGF0ZV9ib290X3N0 YWdlIFJDcmFpZAppZiBbIC1mIC9ldGMvcmFpZHRhYiBdOyB0aGVuCiAgICAj IEFkZCByYWlkIGRldmljZXMKICAgIFsgLWYgL3Byb2MvbWRzdGF0IF0gfHwg bW9kcHJvYmUgbWQgPi9kZXYvbnVsbCAyPiYxCgogICAgaWYgWyAtZiAvcHJv Yy9tZHN0YXQgXTsgdGhlbgoJZWNobyAtbiAkIlN0YXJ0aW5nIHVwIFJBSUQg ZGV2aWNlczogIiAKCglyYz0wCgkKCWZvciBpIGluIGBhd2sgJ3tpZiAoJDE9 PSJyYWlkZGV2IikgcHJpbnQgJDJ9JyAvZXRjL3JhaWR0YWJgCglkbwoJCVJB SURERVY9YGJhc2VuYW1lICRpYAogICAgICAgICAgICAgICAgUkFJRFNUQVQ9 YExDX0FMTD1DIGdyZXAgIl4kUkFJRERFViA6IGFjdGl2ZSIgL3Byb2MvbWRz dGF0YAoJCWlmIFsgLXogIiRSQUlEU1RBVCIgXTsgdGhlbgoJCQkjIEZpcnN0 IHNjYW4gdGhlIC9ldGMvZnN0YWIgZm9yIHRoZSAibm9hdXRvIi1mbGFnCgkJ CSMgZm9yIHRoaXMgZGV2aWNlLiBJZiBmb3VuZCwgc2tpcCB0aGUgaW5pdGlh bGl6YXRpb24KCQkJIyBmb3IgaXQgdG8gYXZvaWQgZHJvcHBpbmcgdG8gYSBz aGVsbCBvbiBlcnJvcnMuCgkJCSMgSWYgbm90LCB0cnkgcmFpZHN0YXJ0Li4u aWYgdGhhdCBmYWlscyB0aGVuCgkJCSMgZmFsbCBiYWNrIHRvIHJhaWRhZGQs IHJhaWRydW4uICBJZiB0aGF0CgkJCSMgYWxzbyBmYWlscywgdGhlbiB3ZSBk cm9wIHRvIGEgc2hlbGwKCQkJUkVTVUxUPTEKCQkJSU5GU1RBQj1gTENfQUxM PUMgZ3JlcCAtYyAiXiRpIiAvZXRjL2ZzdGFiYAoJCQlpZiBbICRJTkZTVEFC IC1lcSAwIF0gOyB0aGVuCgkJCSAgICBSRVNVTFQ9MAoJCQkgICAgUkFJRERF Vj0iJFJBSURERVYoc2tpcHBlZCkiCgkJCWZpCgkJCU5PQVVUTz1gTENfQUxM PUMgZ3JlcCAiXiRpIiAvZXRjL2ZzdGFiIHwgTENfQUxMPUMgZ3JlcCAtYyAi bm9hdXRvImAKCQkJaWYgWyAkTk9BVVRPIC1ndCAwIF07IHRoZW4KCQkJICAg IFJFU1VMVD0wCgkJCSAgICBSQUlEREVWPSIkUkFJRERFVihza2lwcGVkKSIK CQkJZmkKCQkJaWYgWyAkUkVTVUxUIC1ndCAwIC1hIC14IC9zYmluL3JhaWRz dGFydCBdOyB0aGVuCgkJCQkvc2Jpbi9yYWlkc3RhcnQgJGkKCQkJCVJFU1VM VD0kPwoJCQlmaQoJCQlpZiBbICRSRVNVTFQgLWd0IDAgLWEgLXggL3NiaW4v cmFpZDBydW4gXTsgdGhlbgoJCQkJL3NiaW4vcmFpZDBydW4gJGkKCQkJCVJF U1VMVD0kPwoJCQlmaQoJCQlpZiBbICRSRVNVTFQgLWd0IDAgLWEgLXggL3Ni aW4vcmFpZGFkZCAtYSAteCAvc2Jpbi9yYWlkcnVuIF07IHRoZW4KCQkJCS9z YmluL3JhaWRhZGQgJGkKCQkJCS9zYmluL3JhaWRydW4gJGkKCQkJCVJFU1VM VD0kPwoJCQlmaQoJCQlpZiBbICRSRVNVTFQgLWd0IDAgXTsgdGhlbgoJCQkJ cmM9MQoJCQlmaQoJCQllY2hvIC1uICIkUkFJRERFViAiCgkJZWxzZQoJCQll Y2hvIC1uICIkUkFJRERFViAiCgkJZmkKCWRvbmUKCWVjaG8KCgkjIEEgbm9u LXplcm8gcmV0dXJuIG1lYW5zIHRoZXJlIHdlcmUgcHJvYmxlbXMuCglpZiBb ICRyYyAtZ3QgMCBdOyB0aGVuCgkJZWNobwoJCWVjaG8KCQllY2hvICQiKioq IEFuIGVycm9yIG9jY3VycmVkIGR1cmluZyB0aGUgUkFJRCBzdGFydHVwIgoJ CWVjaG8gJCIqKiogRHJvcHBpbmcgeW91IHRvIGEgc2hlbGw7IHRoZSBzeXN0 ZW0gd2lsbCByZWJvb3QiCgkJZWNobyAkIioqKiB3aGVuIHlvdSBsZWF2ZSB0 aGUgc2hlbGwuIgoKIAkJc3RyPSQiKFJBSUQgUmVwYWlyKSIKCQlQUzE9IiRz dHIgXCMgIyAiOyBleHBvcnQgUFMxCgkJc3Vsb2dpbgoKCQllY2hvICQiVW5t b3VudGluZyBmaWxlIHN5c3RlbXMiCgkJdW1vdW50IC1hCgkJbW91bnQgLW4g LW8gcmVtb3VudCxybyAvCgkJZWNobyAkIkF1dG9tYXRpYyByZWJvb3QgaW4g cHJvZ3Jlc3MuIgoJCXJlYm9vdCAtZgoJZmkKCSMgTFZNIGluaXRpYWxpemF0 aW9uLCB0YWtlIDIgKGl0IGNvdWxkIGJlIG9uIHRvcCBvZiBSQUlEKQoJaWYg WyAtZSAvcHJvYy9sdm0gLWEgLXggL3NiaW4vdmdjaGFuZ2UgLWEgLWYgL2V0 Yy9sdm10YWIgXTsgdGhlbgoJCWFjdGlvbiAkIlNldHRpbmcgdXAgTG9naWNh bCBWb2x1bWUgTWFuYWdlbWVudDoiIC9zYmluL3Znc2NhbiAmJiAvc2Jpbi92 Z2NoYW5nZSAtYSB5CglmaQogICAgZmkKZmkKCmlmIFsgLXggL3NiaW4vZGV2 bGFiZWwgXTsgdGhlbgoJL3NiaW4vZGV2bGFiZWwgcmVzdGFydApmaQoKX1JV Tl9RVU9UQUNIRUNLPTAKIyBDaGVjayBmaWxlc3lzdGVtcwppZiBbIC16ICIk ZmFzdGJvb3QiIF07IHRoZW4KICAgICAgICBTVFJJTkc9JCJDaGVja2luZyBm aWxlc3lzdGVtcyIKCWVjaG8gJFNUUklORwoJaW5pdGxvZyAtYyAiZnNjayAt VCAtUiAtQSAtYSAkZnNja29wdGlvbnMiCglyYz0kPwogICAgICAgIGlmIFsg IiRyYyIgPSAiMCIgXTsgdGhlbgoJCXN1Y2Nlc3MgIiRTVFJJTkciCgkJZWNo bwoJZWxpZiBbICIkcmMiID0gIjEiIF07IHRoZW4KCSAgICAgICAgcGFzc2Vk ICIkU1RSSU5HIgoJCWVjaG8KCWZpCgoJIyBBIHJldHVybiBvZiAyIG9yIGhp Z2hlciBtZWFucyB0aGVyZSB3ZXJlIHNlcmlvdXMgcHJvYmxlbXMuCglpZiBb ICRyYyAtZ3QgMSBdOyB0aGVuCgkgICAgICAgIGlmIFsgLXggL3Vzci9iaW4v cmhnYi1jbGllbnQgXSAmJiAvdXNyL2Jpbi9yaGdiLWNsaWVudCAtLXBpbmcg OyB0aGVuCgkJICAgIGNodnQgMQoJCWZpCgoJICAgICAgICBmYWlsdXJlICIk U1RSSU5HIgoJCWVjaG8KCQllY2hvCgkJZWNobyAkIioqKiBBbiBlcnJvciBv Y2N1cnJlZCBkdXJpbmcgdGhlIGZpbGUgc3lzdGVtIGNoZWNrLiIKCQllY2hv ICQiKioqIERyb3BwaW5nIHlvdSB0byBhIHNoZWxsOyB0aGUgc3lzdGVtIHdp bGwgcmVib290IgoJCWVjaG8gJCIqKiogd2hlbiB5b3UgbGVhdmUgdGhlIHNo ZWxsLiIKCgkJc3RyPSQiKFJlcGFpciBmaWxlc3lzdGVtKSIKCQlQUzE9IiRz dHIgXCMgIyAiOyBleHBvcnQgUFMxCgkJc3Vsb2dpbgoKCQllY2hvICQiVW5t b3VudGluZyBmaWxlIHN5c3RlbXMiCgkJdW1vdW50IC1hCgkJbW91bnQgLW4g LW8gcmVtb3VudCxybyAvCgkJZWNobyAkIkF1dG9tYXRpYyByZWJvb3QgaW4g cHJvZ3Jlc3MuIgoJCXJlYm9vdCAtZgoJZWxpZiBbICIkcmMiID0gIjEiIC1h IC14IC9zYmluL3F1b3RhY2hlY2sgXTsgdGhlbgoJCV9SVU5fUVVPVEFDSEVD Sz0xCglmaQpmaQoKIyBNb3VudCBhbGwgb3RoZXIgZmlsZXN5c3RlbXMgKGV4 Y2VwdCBmb3IgTkZTIGFuZCAvcHJvYywgd2hpY2ggaXMgYWxyZWFkeQojIG1v dW50ZWQpLiBDb250cmFyeSB0byBzdGFuZGFyZCB1c2FnZSwKIyBmaWxlc3lz dGVtcyBhcmUgTk9UIHVubW91bnRlZCBpbiBzaW5nbGUgdXNlciBtb2RlLgph Y3Rpb24gJCJNb3VudGluZyBsb2NhbCBmaWxlc3lzdGVtczogIiBtb3VudCAt YSAtdCBub25mcyxzbWJmcyxuY3BmcyAtTyBub19uZXRkZXYKCiMgY2hlY2sg cmVtYWluaW5nIHF1b3RhcyBvdGhlciB0aGFuIHJvb3QKaWYgWyBYIiRfUlVO X1FVT1RBQ0hFQ0siID0gWDEgLWEgLXggL3NiaW4vcXVvdGFjaGVjayBdOyB0 aGVuCglpZiBbIC14IC9zYmluL2NvbnZlcnRxdW90YSBdOyB0aGVuCgkgICAg IyB0cnkgdG8gY29udmVydCBvbGQgcXVvdGFzCgkgICAgZm9yIG1vdW50cHQg aW4gYGF3ayAnJDQgfiAvcXVvdGEve3ByaW50ICQyfScgL2V0Yy9tdGFiYCA7 IGRvCgkJaWYgWyAtZiAiJG1vdW50cHQvcXVvdGEudXNlciIgXTsgdGhlbgoJ CSAgICBhY3Rpb24gJCJDb252ZXJ0aW5nIG9sZCB1c2VyIHF1b3RhIGZpbGVz OiAiIFwKCQkgICAgL3NiaW4vY29udmVydHF1b3RhIC11ICRtb3VudHB0ICYm IFwKCQkJcm0gLWYgJG1vdW50cHQvcXVvdGEudXNlcgoJCWZpCgkJaWYgWyAt ZiAiJG1vdW50cHQvcXVvdGEuZ3JvdXAiIF07IHRoZW4KCQkgICAgYWN0aW9u ICQiQ29udmVydGluZyBvbGQgZ3JvdXAgcXVvdGEgZmlsZXM6ICIgXAoJCSAg ICAvc2Jpbi9jb252ZXJ0cXVvdGEgLWcgJG1vdW50cHQgJiYgXAoJCQlybSAt ZiAkbW91bnRwdC9xdW90YS5ncm91cAoJCWZpCgkgICAgZG9uZQoJZmkKCWFj dGlvbiAkIkNoZWNraW5nIGxvY2FsIGZpbGVzeXN0ZW0gcXVvdGFzOiAiIC9z YmluL3F1b3RhY2hlY2sgLWFSbnVnCmZpCgppZiBbIC14IC9zYmluL3F1b3Rh b24gXTsgdGhlbgogICAgYWN0aW9uICQiRW5hYmxpbmcgbG9jYWwgZmlsZXN5 c3RlbSBxdW90YXM6ICIgL3NiaW4vcXVvdGFvbiAtYXVnCmZpCgojIENvbmZp Z3VyZSBtYWNoaW5lIGlmIG5lY2Vzc2FyeS4KaWYgWyAtZiAvLnVuY29uZmln dXJlZCBdOyB0aGVuCiAgICBpZiBbIC14IC91c3IvYmluL3JoZ2ItY2xpZW50 IF0gJiYgL3Vzci9iaW4vcmhnYi1jbGllbnQgLS1waW5nIDsgdGhlbgoJY2h2 dCAxCiAgICBmaQoKICAgIGlmIFsgLXggL3Vzci9zYmluL2tiZGNvbmZpZyBd OyB0aGVuCgkvdXNyL3NiaW4va2JkY29uZmlnCiAgICBmaQogICAgaWYgWyAt eCAvdXNyL2Jpbi9wYXNzd2QgXTsgdGhlbiAKICAgICAgICAvdXNyL2Jpbi9w YXNzd2Qgcm9vdAogICAgZmkKICAgIGlmIFsgLXggL3Vzci9zYmluL25ldGNv bmZpZyBdOyB0aGVuCgkvdXNyL3NiaW4vbmV0Y29uZmlnCiAgICBmaQogICAg aWYgWyAteCAvdXNyL3NiaW4vdGltZWNvbmZpZyBdOyB0aGVuCgkvdXNyL3Ni aW4vdGltZWNvbmZpZwogICAgZmkKICAgIGlmIFsgLXggL3Vzci9zYmluL2F1 dGhjb25maWcgXTsgdGhlbgoJL3Vzci9zYmluL2F1dGhjb25maWcgLS1ub3N0 YXJ0CiAgICBmaQogICAgaWYgWyAteCAvdXNyL3NiaW4vbnRzeXN2IF07IHRo ZW4KCS91c3Ivc2Jpbi9udHN5c3YgLS1sZXZlbCAzNQogICAgZmkKCiAgICAj IFJlcmVhZCBpbiBuZXR3b3JrIGNvbmZpZ3VyYXRpb24gZGF0YS4KICAgIGlm IFsgLWYgL2V0Yy9zeXNjb25maWcvbmV0d29yayBdOyB0aGVuCgkuIC9ldGMv c3lzY29uZmlnL25ldHdvcmsKCgkjIFJlc2V0IHRoZSBob3N0bmFtZS4KCWFj dGlvbiAkIlJlc2V0dGluZyBob3N0bmFtZSAke0hPU1ROQU1FfTogIiBob3N0 bmFtZSAke0hPU1ROQU1FfQogICAgZmkKCiAgICBybSAtZiAvLnVuY29uZmln dXJlZApmaQoKIyBDbGVhbiBvdXQgLy4Kcm0gLWYgL2Zhc3Rib290IC9mc2Nr b3B0aW9ucyAvZm9yY2Vmc2NrIC8uYXV0b2ZzY2sgL2hhbHQgL3Bvd2Vyb2Zm CgojIERvIHdlIG5lZWQgKHd8dSl0bXB4IGZpbGVzPyBXZSBkb24ndCBzZXQg dGhlbSB1cCwgYnV0IHRoZSBzeXNhZG1pbiBtaWdodC4uLgpfTkVFRF9YRklM RVM9ClsgLWYgL3Zhci9ydW4vdXRtcHggLW8gLWYgL3Zhci9sb2cvd3RtcHgg XSAmJiBfTkVFRF9YRklMRVM9MQoKIyBDbGVhbiB1cCAvdmFyLiAgSSdkIHVz ZSBmaW5kLCBidXQgL3VzciBtYXkgbm90IGJlIG1vdW50ZWQuCmZvciBhZmls ZSBpbiAvdmFyL2xvY2svKiAvdmFyL3J1bi8qIDsgZG8KCWlmIFsgLWQgIiRh ZmlsZSIgXTsgdGhlbgoJICAgY2FzZSAiJGFmaWxlIiBpbgoJCSovbmV3c3wq L21vbikJOzsKCQkqL3N1ZG98Ki92bXdhcmUpCXJtIC1mICRhZmlsZS8qLyog OzsKCQkqKQkJcm0gLWYgJGFmaWxlLyogOzsKCSAgIGVzYWMKCWVsc2UKCSAg IHJtIC1mICRhZmlsZQoJZmkKZG9uZQpybSAtZiAvdmFyL2xpYi9ycG0vX19k YioKCiMgUmVzZXQgcGFtX2NvbnNvbGUgcGVybWlzc2lvbnMKWyAteCAvc2Jp bi9wYW1fY29uc29sZV9hcHBseSBdICYmIC9zYmluL3BhbV9jb25zb2xlX2Fw cGx5IC1yCgp7CiMgQ2xlYW4gdXAgdXRtcC93dG1wCj4gL3Zhci9ydW4vdXRt cAp0b3VjaCAvdmFyL2xvZy93dG1wCmNoZ3JwIHV0bXAgL3Zhci9ydW4vdXRt cCAvdmFyL2xvZy93dG1wCmNobW9kIDA2NjQgL3Zhci9ydW4vdXRtcCAvdmFy L2xvZy93dG1wCmlmIFsgLW4gIiRfTkVFRF9YRklMRVMiIF07IHRoZW4KICA+ IC92YXIvcnVuL3V0bXB4CiAgdG91Y2ggL3Zhci9sb2cvd3RtcHgKICBjaGdy cCB1dG1wIC92YXIvcnVuL3V0bXB4IC92YXIvbG9nL3d0bXB4CiAgY2htb2Qg MDY2NCAvdmFyL3J1bi91dG1weCAvdmFyL2xvZy93dG1weApmaQoKIyBEZWxl dGUgWCBsb2NrcwpybSAtZiAvdG1wLy5YKi1sb2NrCgojIERlbGV0ZSBWTkMg JiBYIGxvY2tzCnJtIC1yZiAvdG1wLy5YKi11bml4IAoKIyBEZWxldGUgSUNF IGxvY2tzCnJtIC1yZiAvdG1wLy5JQ0UtdW5peAoKIyBEZWxldGUgUG9zdGdy ZXMgc29ja2V0cwpybSAtZiAvdG1wLy5zLlBHU1FMLioKCiMgTm93IHR1cm4g b24gc3dhcCBpbiBjYXNlIHdlIHN3YXAgdG8gZmlsZXMuCnN3YXBvbiAtYQph Y3Rpb24gJCJFbmFibGluZyBzd2FwIHNwYWNlOiAiIC9iaW4vdHJ1ZQoKIyBJ bml0aWFsaXplIHRoZSBzZXJpYWwgcG9ydHMuCmlmIFsgLWYgL2V0Yy9yYy5z ZXJpYWwgXTsgdGhlbgoJLiAvZXRjL3JjLnNlcmlhbApmaQoKIyBJZiBhIFND U0kgdGFwZSBoYXMgYmVlbiBkZXRlY3RlZCwgbG9hZCB0aGUgc3QgbW9kdWxl IHVuY29uZGl0aW9uYWxseQojIHNpbmNlIG1hbnkgU0NTSSB0YXBlcyBkb24n dCBkZWFsIHdlbGwgd2l0aCBzdCBiZWluZyBsb2FkZWQgYW5kIHVubG9hZGVk CmlmIFsgLWYgL3Byb2Mvc2NzaS9zY3NpIC1hIC1uICIkVVNFTU9EVUxFUyIg XTsgdGhlbgogICAgaWYgTENfQUxMPUMgZ3JlcCAtcSAnVHlwZTogICBTZXF1 ZW50aWFsLUFjY2VzcycgL3Byb2Mvc2NzaS9zY3NpIDI+L2Rldi9udWxsIDsg dGhlbgoJaWYgTENfQUxMPUMgZ3JlcCAtcXYgJyA5IHN0JyAvcHJvYy9kZXZp Y2VzIDsgdGhlbgoJCW1vZHByb2JlIHN0ID4vZGV2L251bGwgMj4mMQoJZmkK ICAgIGZpCmZpCgojIExvYWQgdXNiIHN0b3JhZ2UgaGVyZSwgdG8gbWF0Y2gg bW9zdCBvdGhlciB0aGluZ3MKaWYgWyAtbiAiJG5lZWR1c2JzdG9yYWdlIiBd OyB0aGVuCgltb2Rwcm9iZSB1c2Itc3RvcmFnZSA+L2Rldi9udWxsIDI+JjEK ZmkKCiMgT29oLCBmaXJld2lyZSB0b28uCmlmICEgc3Ryc3RyICIkY21kbGlu ZSIgbm9maXJld2lyZSA7IHRoZW4KICAgYWxpYXNlcz1gL3NiaW4vbW9kcHJv YmUgLWMgfCBhd2sgJy9eYWxpYXMgaWVlZTEzOTQtY29udHJvbGxlci8geyBw cmludCAkMyB9J2AKICAgaWYgWyAtbiAiJGFsaWFzZXMiIC1hICIkYWxpYXNl cyIgIT0gIm9mZiIgXTsgdGhlbgogICAgICBmb3IgYWxpYXMgaW4gJGFsaWFz ZXMgOyBkbyAKICAgICAgCVsgIiRhbGlhcyIgPSAib2ZmIiBdICYmIGNvbnRp bnVlCglhY3Rpb24gJCJJbml0aWFsaXppbmcgZmlyZXdpcmUgY29udHJvbGxl ciAoJGFsaWFzKTogIiBtb2Rwcm9iZSAkYWxpYXMKICAgICAgZG9uZQogICAg ICBMQ19BTEw9QyBncmVwIC1xICJTQlAyIiAvcHJvYy9idXMvaWVlZTEzOTQv ZGV2aWNlcyAyPi9kZXYvbnVsbCAmJiBcCgkJbW9kcHJvYmUgc2JwMiA+L2Rl di9udWxsIDI+JjEKICAgZmkKZmkKCiMgSWYgdGhleSBhc2tlZCBmb3IgaWRl LXNjc2ksIGxvYWQgaXQKaWYgc3Ryc3RyICIkY21kbGluZSIgaWRlLXNjc2kg OyB0aGVuCgltb2Rwcm9iZSBpZGUtY2QgPi9kZXYvbnVsbCAyPiYxCgltb2Rw cm9iZSBpZGUtc2NzaSA+L2Rldi9udWxsIDI+JjEKZmkKCiMgVHVybiBvbiBo YXJkZGlzayBvcHRpbWl6YXRpb24KIyBUaGVyZSBpcyBvbmx5IG9uZSBmaWxl IC9ldGMvc3lzY29uZmlnL2hhcmRkaXNrcyBmb3IgYWxsIGRpc2tzCiMgYWZ0 ZXIgaW5zdGFsbGluZyB0aGUgaGRwYXJtLVJQTS4gSWYgeW91IG5lZWQgZGlm ZmVyZW50IGhkcGFybSBwYXJhbWV0ZXJzCiMgZm9yIGVhY2ggb2YgeW91ciBk aXNrcywgY29weSAvZXRjL3N5c2NvbmZpZy9oYXJkZGlza3MgdG8KIyAvZXRj L3N5c2NvbmZpZy9oYXJkZGlza2hkYSAoaGRiLCBoZGMuLi4pIGFuZCBtb2Rp ZnkgaXQuCiMgRWFjaCBkaXNrIHdoaWNoIGhhcyBubyBzcGVjaWFsIHBhcmFt ZXRlcnMgd2lsbCB1c2UgdGhlIGRlZmF1bHRzLgojIEVhY2ggbm9uLWRpc2sg d2hpY2ggaGFzIG5vIHNwZWNpYWwgcGFyYW1ldGVycyB3aWxsIGJlIGlnbm9y ZWQuCiMgCiAKZGlza1swXT1zOwpkaXNrWzFdPWhkYTsgIGRpc2tbMl09aGRi OyAgZGlza1szXT1oZGM7ICBkaXNrWzRdPWhkZDsKZGlza1s1XT1oZGU7ICBk aXNrWzZdPWhkZjsgIGRpc2tbN109aGRnOyAgZGlza1s4XT1oZGg7CmRpc2tb OV09aGRpOyAgZGlza1sxMF09aGRqOyBkaXNrWzExXT1oZGs7IGRpc2tbMTJd PWhkbDsKZGlza1sxM109aGRtOyBkaXNrWzE0XT1oZG47IGRpc2tbMTVdPWhk bzsgZGlza1sxNl09aGRwOwpkaXNrWzE3XT1oZHE7IGRpc2tbMThdPWhkcjsg ZGlza1sxOV09aGRzOyBkaXNrWzIwXT1oZHQ7CiAKIAppZiBbIC14IC9zYmlu L2hkcGFybSBdOyB0aGVuCiAgIGZvciBkZXZpY2UgaW4gMCAxIDIgMyA0IDUg NiA3IDggOSAxMCAxMSAxMiAxMyAxNCAxNSAxNiAxNyAxOCAxOSAyMDsgZG8K CXVuc2V0IE1VTFRJUExFX0lPIFVTRV9ETUEgRUlERV8zMkJJVCBMT09LQUhF QUQgRVhUUkFfUEFSQU1TCiAgICAgICAgaWYgWyAtZiAvZXRjL3N5c2NvbmZp Zy9oYXJkZGlzayR7ZGlza1skZGV2aWNlXX0gXTsgdGhlbgogICAgICAgICAg ICAgICAgLiAvZXRjL3N5c2NvbmZpZy9oYXJkZGlzayR7ZGlza1skZGV2aWNl XX0KICAgICAgICAgICAgICAgIEhERkxBR1NbJGRldmljZV09CiAgICAgICAg ICAgICAgICBpZiBbIC1uICIkTVVMVElQTEVfSU8iIF07IHRoZW4KICAgICAg ICAgICAgICAgICAgICBIREZMQUdTWyRkZXZpY2VdPSItcSAtbSRNVUxUSVBM RV9JTyIKICAgICAgICAgICAgICAgIGZpCiAgICAgICAgICAgICAgICBpZiBb IC1uICIkVVNFX0RNQSIgXTsgdGhlbgogICAgICAgICAgICAgICAgICAgIEhE RkxBR1NbJGRldmljZV09IiR7SERGTEFHU1skZGV2aWNlXX0gLXEgLWQkVVNF X0RNQSIKICAgICAgICAgICAgICAgIGZpCiAgICAgICAgICAgICAgICBpZiBb IC1uICIkRUlERV8zMkJJVCIgXTsgdGhlbgogICAgICAgICAgICAgICAgICAg IEhERkxBR1NbJGRldmljZV09IiR7SERGTEFHU1skZGV2aWNlXX0gLXEgLWMk RUlERV8zMkJJVCIKICAgICAgICAgICAgICAgIGZpCiAgICAgICAgICAgICAg ICBpZiBbIC1uICIkTE9PS0FIRUFEIiBdOyB0aGVuCiAgICAgICAgICAgICAg ICAgICAgSERGTEFHU1skZGV2aWNlXT0iJHtIREZMQUdTWyRkZXZpY2VdfSAt cSAtQSRMT09LQUhFQUQiCiAgICAgICAgICAgICAgICBmaQogICAgICAgICAg ICAgICAgaWYgWyAtbiAiJEVYVFJBX1BBUkFNUyIgXTsgdGhlbgogICAgICAg ICAgICAgICAgICAgIEhERkxBR1NbJGRldmljZV09IiR7SERGTEFHU1skZGV2 aWNlXX0gJEVYVFJBX1BBUkFNUyIKICAgICAgICAgICAgICAgIGZpCiAgICAg ICAgZWxzZQogICAgICAgICAgICAgICAgSERGTEFHU1skZGV2aWNlXT0iJHtI REZMQUdTWzBdfSIKICAgICAgICBmaQogICAgICAgIGlmIFsgLWUgIi9wcm9j L2lkZS8ke2Rpc2tbJGRldmljZV19L21lZGlhIiBdOyB0aGVuCiAgICAgICAg ICAgICBoZG1lZGlhPWBjYXQgL3Byb2MvaWRlLyR7ZGlza1skZGV2aWNlXX0v bWVkaWFgCiAgICAgICAgICAgICBpZiBbICIkaGRtZWRpYSIgPSAiZGlzayIg LW8gLWYgIi9ldGMvc3lzY29uZmlnL2hhcmRkaXNrJHtkaXNrWyRkZXZpY2Vd fSIgXTsgdGhlbgogICAgICAgICAgICAgICAgICBpZiBbIC1uICIke0hERkxB R1NbJGRldmljZV19IiBdOyB0aGVuCiAgICAgICAgICAgICAgICAgICAgICBh Y3Rpb24gJCJTZXR0aW5nIGhhcmQgZHJpdmUgcGFyYW1ldGVycyBmb3IgJHtk aXNrWyRkZXZpY2VdfTogIiAgL3NiaW4vaGRwYXJtICR7SERGTEFHU1skZGV2 aWNlXX0gL2Rldi8ke2Rpc2tbJGRldmljZV19CiAgICAgICAgICAgICAgICAg IGZpCiAgICAgICAgICAgICBmaQogICAgICAgIGZpCiAgIGRvbmUKZmkKCiMg Qm9vdCB0aW1lIHByb2ZpbGVzLiBZZXMsIHRoaXMgc2hvdWxkIGJlIHNvbWV3 aGVyZSBlbHNlLgppZiBbIC14IC91c3Ivc2Jpbi9yZWRoYXQtY29uZmlnLW5l dHdvcmstY21kIF07IHRoZW4KICBpZiBzdHJzdHIgIiRjbWRsaW5lIiBuZXRw cm9maWxlPSA7IHRoZW4KICAgIGZvciBhcmcgaW4gJGNtZGxpbmUgOyBkbwog ICAgICAgIGlmIFsgIiR7YXJnIyNuZXRwcm9maWxlPX0iICE9ICIke2FyZ30i IF07IHRoZW4KCSAgICAvdXNyL3NiaW4vcmVkaGF0LWNvbmZpZy1uZXR3b3Jr LWNtZCAtLXByb2ZpbGUgJHthcmcjI25ldHByb2ZpbGU9fQogICAgICAgIGZp CiAgICBkb25lCiAgZmkKZmkKCiMgR2VuZXJhdGUgYSBoZWFkZXIgdGhhdCBk ZWZpbmVzIHRoZSBib290IGtlcm5lbC4KL3NiaW4vbWtrZXJuZWxkb3RoCgoj IEFkanVzdCBzeW1saW5rcyBhcyBuZWNlc3NhcnkgaW4gL2Jvb3QgdG8ga2Vl cCBzeXN0ZW0gc2VydmljZXMgZnJvbQojIHNwZXdpbmcgbWVzc2FnZXMgYWJv dXQgbWlzbWF0Y2hlZCBTeXN0ZW0gbWFwcyBhbmQgc28gb24uCmlmIFsgLUwg L2Jvb3QvU3lzdGVtLm1hcCAtYSAtciAvYm9vdC9TeXN0ZW0ubWFwLSR1bmFt ZXIgLWEgXAoJISAvYm9vdC9TeXN0ZW0ubWFwIC1lZiAvYm9vdC9TeXN0ZW0u bWFwLSR1bmFtZXIgXTsgdGhlbgoJbG4gLXMgLWYgU3lzdGVtLm1hcC0kdW5h bWVyIC9ib290L1N5c3RlbS5tYXAKZmkKaWYgWyAhIC1lIC9ib290L1N5c3Rl bS5tYXAgLWEgLXIgL2Jvb3QvU3lzdGVtLm1hcC0kdW5hbWVyIF07IHRoZW4K CWxuIC1zIC1mIFN5c3RlbS5tYXAtJHVuYW1lciAvYm9vdC9TeXN0ZW0ubWFw CmZpCgojIFRoZSBzcGVjaWFsIFJlZCBIYXQga2VybmVsIGxpYnJhcnkgc3lt bGluayBtdXN0IHBvaW50IHRvIHRoZSByaWdodCBsaWJyYXJ5CiMgV2UgbmVl ZCB0byBkZWFsIHdpdGggY2FzZXMgd2hlcmUgdGhlcmUgaXMgbm8gbGlicmFy eSwgYW5kIHdlIG5lZWQgdG8KIyBkZWFsIHdpdGggYW55IHZlcnNpb24gbnVt YmVycyB0aGF0IHNob3cgdXAuCnNob3B0IC1zIG51bGxnbG9iCmZvciBsaWJy YXJ5IGluIC9saWIva2VybmVsLyR1bmFtZXIvbGlicmVkaGF0LWtlcm5lbC5z byogOyBkbwoJbG4gLWYgJGxpYnJhcnkgL2xpYi8KCWxkY29uZmlnIC1uIC9s aWIvCmRvbmUKc2hvcHQgLXUgbnVsbGdsb2IKCiMgTm93IHRoYXQgd2UgaGF2 ZSBhbGwgb2Ygb3VyIGJhc2ljIG1vZHVsZXMgbG9hZGVkIGFuZCB0aGUga2Vy bmVsIGdvaW5nLAojIGxldCdzIGR1bXAgdGhlIHN5c2xvZyByaW5nIHNvbWV3 aGVyZSBzbyB3ZSBjYW4gZmluZCBpdCBsYXRlcgpkbWVzZyAtcyAxMzEwNzIg PiAvdmFyL2xvZy9kbWVzZwojIEFsc28ga2VlcCBrZXJuZWwgc3ltYm9scyBh cm91bmQgaW4gY2FzZSB3ZSBuZWVkIHRoZW0gZm9yIGRlYnVnZ2luZwppPTUK d2hpbGUgWyAkaSAtZ2UgMCBdOyBkbwoJaWYgWyAtZiAvdmFyL2xvZy9rc3lt cy4kaSBdOyB0aGVuCgkJY2htb2QgMDYwMCAvdmFyL2xvZy9rc3ltcy4kaQoJ CW12IC92YXIvbG9nL2tzeW1zLiRpIC92YXIvbG9nL2tzeW1zLiQoKCRpKzEp KQoJZmkKCWk9JCgoJGktMSkpCmRvbmUKeyBkYXRlCiAgdW5hbWUgLWEKICBj YXQgL3Byb2MvY3B1aW5mbwogIFsgLXIgL3Byb2MvbW9kdWxlcyBdICYmIGNh dCAvcHJvYy9tb2R1bGVzCiAgWyAtciAvcHJvYy9rc3ltcyBdICYmIGNhdCAv cHJvYy9rc3ltcwp9ID4gL3Zhci9sb2cva3N5bXMuMApjaG1vZCA2MDAgL3Zh ci9sb2cva3N5bXMuMAojIGNyZWF0ZSB0aGUgY3Jhc2ggaW5kaWNhdG9yIGZs YWcgdG8gd2FybiBvbiBjcmFzaGVzLCBvZmZlciBmc2NrIHdpdGggdGltZW91 dAp0b3VjaCAvLmF1dG9mc2NrCmtpbGwgLVRFUk0gYC9zYmluL3BpZG9mIGdl dGtleWAgPi9kZXYvbnVsbCAyPiYxCn0gJgppZiBzdHJzdHIgIiRjbWRsaW5l IiBjb25maXJtIDsgdGhlbgoJdG91Y2ggL3Zhci9ydW4vY29uZmlybQpmaQpp ZiBbICIkUFJPTVBUIiAhPSAibm8iIF07IHRoZW4KCS9zYmluL2dldGtleSBp ICYmIHRvdWNoIC92YXIvcnVuL2NvbmZpcm0KZmkKd2FpdAo= --0-785352012-1058735448=:18444--