From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27144 invoked by alias); 4 Nov 2002 17:46:07 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 27103 invoked by uid 71); 4 Nov 2002 17:46:05 -0000 Resent-Date: 4 Nov 2002 17:46:05 -0000 Resent-Message-ID: <20021104174605.27102.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, hartwood@crosslink.net Received: (qmail 12390 invoked by uid 61); 4 Nov 2002 17:40:18 -0000 Message-Id: <20021104174018.12389.qmail@sources.redhat.com> Date: Mon, 04 Nov 2002 09:46:00 -0000 From: hartwood@crosslink.net Reply-To: hartwood@crosslink.net To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: other/8451: altivec ice in gcc 3.2 X-SW-Source: 2002-11/txt/msg00169.txt.bz2 List-Id: >Number: 8451 >Category: other >Synopsis: altivec ice in gcc 3.2 >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: ice-on-legal-code >Submitter-Id: net >Arrival-Date: Mon Nov 04 09:46:02 PST 2002 >Closed-Date: >Last-Modified: >Originator: Rick Cellucci >Release: gcc version 3.2: Darwin cross powerpc-wrs-vxworks >Organization: >Environment: Configured with: ../gcc-3.2/configure --prefix=/usr/local/vxworks --with-headers=/Tornado/target/h --enable-altivec --enable-languages=c --disable-shared --with-cpu=7400 --disable-multilib --target=powerpc-wrs-vxworks : (reconfigured) ../gcc-3.2/configure --prefix=/usr/local/vxworks --with-headers=/Tornado/target/h --enable-altivec --enable-languages=c --disable-shared --with-cpu=7400 --disable-multilib --with-gnu-as --with-gnu-ld --target=powerpc-wrs-vxworks Thread model: vxworks >Description: /usr/local/vxworks/lib/gcc-lib/powerpc-wrs-vxworks/3.2/cpp0 -lang-c -v -isystem /usr/local/vxworks/lib/gcc-lib/include -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=0 -D__GXX_ABI_VERSION=102 -D__vxworks -D__vxworks__ -D__vxworks -D__vxworks__ -Asystem=vxworks -Asystem=embedded -Acpu=powerpc -Amachine=powerpc -D__OPTIMIZE__ -D__STDC_HOSTED__=1 -D_CALL_SYSV -D__BIG_ENDIAN__ -Amachine=bigendian -D_ARCH_PPC -D__ALTIVEC__ -DCPU_FAMILY=PPC -DCPU=PPC603 source/s.c -Wall s.i ignoring nonexistent directory "/usr/local/vxworks/lib/gcc-lib/include" GNU CPP version 3.2 (cpplib) (PowerPC System V.4) ignoring nonexistent directory "/usr/local/vxworks/powerpc-wrs-vxworks/include" #include "..." search starts here: #include <...> search starts here: /usr/local/vxworks/include /usr/local/vxworks/lib/gcc-lib/powerpc-wrs-vxworks/3.2/include /usr/local/vxworks/powerpc-wrs-vxworks/sys-include End of search list. /usr/local/vxworks/lib/gcc-lib/powerpc-wrs-vxworks/3.2/cc1 -fpreprocessed s.i -quiet -dumpbase s.c -maltivec -mabi=altivec -O1 -Wall -version -o s.s GNU CPP version 3.2 (cpplib) (PowerPC System V.4) GNU C version 3.2 (powerpc-wrs-vxworks) compiled by GNU C version 3.1 20020420 (prerelease). source/s.c: In function `gcc3_2_ice': source/s.c:17: Internal compiler error in extract_bit_field, at expmed.c:1147 Please submit a full bug report, >How-To-Repeat: #include void gcc3_2_ice (const float a) { const vector float small = (const vector float) {1.0e-6, 1.0e-6, 1.0e-6, 1.0e-6}; vector float b; register vector float c; register vector bool int d; register vector float e; * (float *) &b = a; c = vec_splat (b, 0); d = vec_cmplt (e, small); e = c; } >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/x-macbinary; name="s.i" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="s.i" AANzLmkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACA0AAAAALnqtzy57BooAAAAbUJJTgAAAAAAAAAA AAAAAAAAAACCgRxDAAAjIDEgInNvdXJjZS9zLmMiCiMgMSAiPGJ1aWx0LWluPiIKIyAxICI8Y29t bWFuZCBsaW5lPiIKIyAxICJzb3VyY2Uvcy5jIgojIDEgIi91c3IvbG9jYWwvdnh3b3Jrcy9saWIv Z2NjLWxpYi9wb3dlcnBjLXdycy12eHdvcmtzLzMuMi9pbmNsdWRlL2FsdGl2ZWMuaCIgMSAzIDQK IyA1MiAiL3Vzci9sb2NhbC92eHdvcmtzL2xpYi9nY2MtbGliL3Bvd2VycGMtd3JzLXZ4d29ya3Mv My4yL2luY2x1ZGUvYWx0aXZlYy5oIiAzIDQKZXh0ZXJuIGludCBfX2FsdGl2ZWNfbGlua19lcnJv cl9pbnZhbGlkX2FyZ3VtZW50ICgpOwojIDIgInNvdXJjZS9zLmMiIDIKCgp2b2lkIGdjYzNfMl9p Y2UgKGNvbnN0IGZsb2F0IGEpCnsKICAgICAgICBjb25zdCBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jf c2l6ZSgxNikpKSBmbG9hdCBzbWFsbCA9IChjb25zdCBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6 ZSgxNikpKSBmbG9hdCkgezEuMGUtNiwgMS4wZS02LCAxLjBlLTYsIDEuMGUtNn07CgogICAgICAg IF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKDE2KSkpIGZsb2F0IGI7CiAgICAgICAgcmVnaXN0 ZXIgX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUoMTYpKSkgZmxvYXQgYzsKICAgICAgICByZWdp c3RlciBfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSgxNikpKSBzaWduZWQgaW50IGQ7CiAgICAg ICAgcmVnaXN0ZXIgX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUoMTYpKSkgZmxvYXQgZTsKCiAg ICAgICAgKiAoZmxvYXQgKikgJmIgPSBhOwogICAgICAgIGMgPSBfX2J1aWx0aW5fY2hvb3NlX2V4 cHIgKChfX2J1aWx0aW5fdHlwZXNfY29tcGF0aWJsZV9wIChfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jf c2l6ZSgxNikpKSBzaWduZWQgY2hhciwgdHlwZW9mICgoKGIpKSkpICYmIF9fYnVpbHRpbl90eXBl c19jb21wYXRpYmxlX3AgKGludCwgdHlwZW9mICgoKDApKSkpKSwgKChfX2F0dHJpYnV0ZV9fKCh2 ZWN0b3Jfc2l6ZSgxNikpKSBzaWduZWQgY2hhcikgX19idWlsdGluX2FsdGl2ZWNfdnNwbHRiICgo X19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUoMTYpKSkgc2lnbmVkIGNoYXIpICgoYikpLCAoY29u c3QgY2hhcikgKCgwKSkpKSwgX19idWlsdGluX2Nob29zZV9leHByICgoX19idWlsdGluX3R5cGVz X2NvbXBhdGlibGVfcCAoX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUoMTYpKSkgc2lnbmVkIGNo YXIsIHR5cGVvZiAoKChiKSkpKSAmJiBfX2J1aWx0aW5fdHlwZXNfY29tcGF0aWJsZV9wICh1bnNp Z25lZCBpbnQsIHR5cGVvZiAoKCgwKSkpKSksICgoX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUo MTYpKSkgc2lnbmVkIGNoYXIpIF9fYnVpbHRpbl9hbHRpdmVjX3ZzcGx0YiAoKF9fYXR0cmlidXRl X18oKHZlY3Rvcl9zaXplKDE2KSkpIHNpZ25lZCBjaGFyKSAoKGIpKSwgKGNvbnN0IGNoYXIpICgo MCkpKSksIF9fYnVpbHRpbl9jaG9vc2VfZXhwciAoKF9fYnVpbHRpbl90eXBlc19jb21wYXRpYmxl X3AgKF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKDE2KSkpIHVuc2lnbmVkIGNoYXIsIHR5cGVv ZiAoKChiKSkpKSAmJiBfX2J1aWx0aW5fdHlwZXNfY29tcGF0aWJsZV9wIChpbnQsIHR5cGVvZiAo KCgwKSkpKSksICgoX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUoMTYpKSkgdW5zaWduZWQgY2hh cikgX19idWlsdGluX2FsdGl2ZWNfdnNwbHRiICgoX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUo MTYpKSkgc2lnbmVkIGNoYXIpICgoYikpLCAoY29uc3QgY2hhcikgKCgwKSkpKSwgX19idWlsdGlu X2Nob29zZV9leHByICgoX19idWlsdGluX3R5cGVzX2NvbXBhdGlibGVfcCAoX19hdHRyaWJ1dGVf XygodmVjdG9yX3NpemUoMTYpKSkgdW5zaWduZWQgY2hhciwgdHlwZW9mICgoKGIpKSkpICYmIF9f YnVpbHRpbl90eXBlc19jb21wYXRpYmxlX3AgKHVuc2lnbmVkIGludCwgdHlwZW9mICgoKDApKSkp KSwgKChfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSgxNikpKSB1bnNpZ25lZCBjaGFyKSBfX2J1 aWx0aW5fYWx0aXZlY192c3BsdGIgKChfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSgxNikpKSBz aWduZWQgY2hhcikgKChiKSksIChjb25zdCBjaGFyKSAoKDApKSkpLCBfX2J1aWx0aW5fY2hvb3Nl X2V4cHIgKChfX2J1aWx0aW5fdHlwZXNfY29tcGF0aWJsZV9wIChfX2F0dHJpYnV0ZV9fKCh2ZWN0 b3Jfc2l6ZSgxNikpKSBzaWduZWQgc2hvcnQsIHR5cGVvZiAoKChiKSkpKSAmJiBfX2J1aWx0aW5f dHlwZXNfY29tcGF0aWJsZV9wIChpbnQsIHR5cGVvZiAoKCgwKSkpKSksICgoX19hdHRyaWJ1dGVf XygodmVjdG9yX3NpemUoMTYpKSkgc2lnbmVkIHNob3J0KSBfX2J1aWx0aW5fYWx0aXZlY192c3Bs dGggKChfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSgxNikpKSBzaWduZWQgc2hvcnQpICgoYikp LCAoY29uc3QgY2hhcikgKCgwKSkpKSwgX19idWlsdGluX2Nob29zZV9leHByICgoX19idWlsdGlu X3R5cGVzX2NvbXBhdGlibGVfcCAoX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUoMTYpKSkgc2ln bmVkIHNob3J0LCB0eXBlb2YgKCgoYikpKSkgJiYgX19idWlsdGluX3R5cGVzX2NvbXBhdGlibGVf cCAodW5zaWduZWQgaW50LCB0eXBlb2YgKCgoMCkpKSkpLCAoKF9fYXR0cmlidXRlX18oKHZlY3Rv cl9zaXplKDE2KSkpIHNpZ25lZCBzaG9ydCkgX19idWlsdGluX2FsdGl2ZWNfdnNwbHRoICgoX19h dHRyaWJ1dGVfXygodmVjdG9yX3NpemUoMTYpKSkgc2lnbmVkIHNob3J0KSAoKGIpKSwgKGNvbnN0 IGNoYXIpICgoMCkpKSksIF9fYnVpbHRpbl9jaG9vc2VfZXhwciAoKF9fYnVpbHRpbl90eXBlc19j b21wYXRpYmxlX3AgKF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKDE2KSkpIHVuc2lnbmVkIHNo b3J0LCB0eXBlb2YgKCgoYikpKSkgJiYgX19idWlsdGluX3R5cGVzX2NvbXBhdGlibGVfcCAoaW50 LCB0eXBlb2YgKCgoMCkpKSkpLCAoKF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKDE2KSkpIHVu c2lnbmVkIHNob3J0KSBfX2J1aWx0aW5fYWx0aXZlY192c3BsdGggKChfX2F0dHJpYnV0ZV9fKCh2 ZWN0b3Jfc2l6ZSgxNikpKSBzaWduZWQgc2hvcnQpICgoYikpLCAoY29uc3QgY2hhcikgKCgwKSkp KSwgX19idWlsdGluX2Nob29zZV9leHByICgoX19idWlsdGluX3R5cGVzX2NvbXBhdGlibGVfcCAo X19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUoMTYpKSkgdW5zaWduZWQgc2hvcnQsIHR5cGVvZiAo KChiKSkpKSAmJiBfX2J1aWx0aW5fdHlwZXNfY29tcGF0aWJsZV9wICh1bnNpZ25lZCBpbnQsIHR5 cGVvZiAoKCgwKSkpKSksICgoX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUoMTYpKSkgdW5zaWdu ZWQgc2hvcnQpIF9fYnVpbHRpbl9hbHRpdmVjX3ZzcGx0aCAoKF9fYXR0cmlidXRlX18oKHZlY3Rv cl9zaXplKDE2KSkpIHNpZ25lZCBzaG9ydCkgKChiKSksIChjb25zdCBjaGFyKSAoKDApKSkpLCBf X2J1aWx0aW5fY2hvb3NlX2V4cHIgKChfX2J1aWx0aW5fdHlwZXNfY29tcGF0aWJsZV9wIChfX2F0 dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSgxNikpKSBmbG9hdCwgdHlwZW9mICgoKGIpKSkpICYmIF9f YnVpbHRpbl90eXBlc19jb21wYXRpYmxlX3AgKGludCwgdHlwZW9mICgoKDApKSkpKSwgKChfX2F0 dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSgxNikpKSBmbG9hdCkgX19idWlsdGluX2FsdGl2ZWNfdnNw bHR3ICgoX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUoMTYpKSkgc2lnbmVkIGludCkgKChiKSks IChjb25zdCBjaGFyKSAoKDApKSkpLCBfX2J1aWx0aW5fY2hvb3NlX2V4cHIgKChfX2J1aWx0aW5f dHlwZXNfY29tcGF0aWJsZV9wIChfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSgxNikpKSBmbG9h dCwgdHlwZW9mICgoKGIpKSkpICYmIF9fYnVpbHRpbl90eXBlc19jb21wYXRpYmxlX3AgKHVuc2ln bmVkIGludCwgdHlwZW9mICgoKDApKSkpKSwgKChfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSgx NikpKSBmbG9hdCkgX19idWlsdGluX2FsdGl2ZWNfdnNwbHR3ICgoX19hdHRyaWJ1dGVfXygodmVj dG9yX3NpemUoMTYpKSkgc2lnbmVkIGludCkgKChiKSksIChjb25zdCBjaGFyKSAoKDApKSkpLCBf X2J1aWx0aW5fY2hvb3NlX2V4cHIgKChfX2J1aWx0aW5fdHlwZXNfY29tcGF0aWJsZV9wIChfX2F0 dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSgxNikpKSBzaWduZWQgaW50LCB0eXBlb2YgKCgoYikpKSkg JiYgX19idWlsdGluX3R5cGVzX2NvbXBhdGlibGVfcCAoaW50LCB0eXBlb2YgKCgoMCkpKSkpLCAo KF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKDE2KSkpIHNpZ25lZCBpbnQpIF9fYnVpbHRpbl9h bHRpdmVjX3ZzcGx0dyAoKF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKDE2KSkpIHNpZ25lZCBp bnQpICgoYikpLCAoY29uc3QgY2hhcikgKCgwKSkpKSwgX19idWlsdGluX2Nob29zZV9leHByICgo X19idWlsdGluX3R5cGVzX2NvbXBhdGlibGVfcCAoX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUo MTYpKSkgc2lnbmVkIGludCwgdHlwZW9mICgoKGIpKSkpICYmIF9fYnVpbHRpbl90eXBlc19jb21w YXRpYmxlX3AgKHVuc2lnbmVkIGludCwgdHlwZW9mICgoKDApKSkpKSwgKChfX2F0dHJpYnV0ZV9f KCh2ZWN0b3Jfc2l6ZSgxNikpKSBzaWduZWQgaW50KSBfX2J1aWx0aW5fYWx0aXZlY192c3BsdHcg KChfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSgxNikpKSBzaWduZWQgaW50KSAoKGIpKSwgKGNv bnN0IGNoYXIpICgoMCkpKSksIF9fYnVpbHRpbl9jaG9vc2VfZXhwciAoKF9fYnVpbHRpbl90eXBl c19jb21wYXRpYmxlX3AgKF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKDE2KSkpIHVuc2lnbmVk IGludCwgdHlwZW9mICgoKGIpKSkpICYmIF9fYnVpbHRpbl90eXBlc19jb21wYXRpYmxlX3AgKGlu dCwgdHlwZW9mICgoKDApKSkpKSwgKChfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSgxNikpKSB1 bnNpZ25lZCBpbnQpIF9fYnVpbHRpbl9hbHRpdmVjX3ZzcGx0dyAoKF9fYXR0cmlidXRlX18oKHZl Y3Rvcl9zaXplKDE2KSkpIHNpZ25lZCBpbnQpIChiKSwgKGNvbnN0IGNoYXIpICgoMCkpKSksIF9f YnVpbHRpbl9jaG9vc2VfZXhwciAoKF9fYnVpbHRpbl90eXBlc19jb21wYXRpYmxlX3AgKF9fYXR0 cmlidXRlX18oKHZlY3Rvcl9zaXplKDE2KSkpIHVuc2lnbmVkIGludCwgdHlwZW9mICgoKGIpKSkp ICYmIF9fYnVpbHRpbl90eXBlc19jb21wYXRpYmxlX3AgKHVuc2lnbmVkIGludCwgdHlwZW9mICgo KDApKSkpKSwgKChfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSgxNikpKSB1bnNpZ25lZCBpbnQp IF9fYnVpbHRpbl9hbHRpdmVjX3ZzcGx0dyAoKF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKDE2 KSkpIHNpZ25lZCBpbnQpIChiKSwgKGNvbnN0IGNoYXIpICgoMCkpKSksIF9fYWx0aXZlY19saW5r X2Vycm9yX2ludmFsaWRfYXJndW1lbnQgKCkpKSkpKSkpKSkpKSkpKTsKICAgICAgICBkID0gX19i dWlsdGluX2Nob29zZV9leHByICgoX19idWlsdGluX3R5cGVzX2NvbXBhdGlibGVfcCAoX19hdHRy aWJ1dGVfXygodmVjdG9yX3NpemUoMTYpKSkgdW5zaWduZWQgY2hhciwgdHlwZW9mICgoZSkpKSAm JiBfX2J1aWx0aW5fdHlwZXNfY29tcGF0aWJsZV9wIChfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6 ZSgxNikpKSB1bnNpZ25lZCBjaGFyLCB0eXBlb2YgKChzbWFsbCkpKSksICgoX19hdHRyaWJ1dGVf XygodmVjdG9yX3NpemUoMTYpKSkgc2lnbmVkIGNoYXIpIF9fYnVpbHRpbl9hbHRpdmVjX3ZjbXBn dHViICgoX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUoMTYpKSkgc2lnbmVkIGNoYXIpIChlKSwg KF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKDE2KSkpIHNpZ25lZCBjaGFyKSAoc21hbGwpKSks IF9fYnVpbHRpbl9jaG9vc2VfZXhwciAoKF9fYnVpbHRpbl90eXBlc19jb21wYXRpYmxlX3AgKF9f YXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKDE2KSkpIHNpZ25lZCBjaGFyLCB0eXBlb2YgKChlKSkp ICYmIF9fYnVpbHRpbl90eXBlc19jb21wYXRpYmxlX3AgKF9fYXR0cmlidXRlX18oKHZlY3Rvcl9z aXplKDE2KSkpIHNpZ25lZCBjaGFyLCB0eXBlb2YgKChzbWFsbCkpKSksICgoX19hdHRyaWJ1dGVf XygodmVjdG9yX3NpemUoMTYpKSkgc2lnbmVkIGNoYXIpIF9fYnVpbHRpbl9hbHRpdmVjX3ZjbXBn dHNiICgoX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUoMTYpKSkgc2lnbmVkIGNoYXIpIChlKSwg KF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKDE2KSkpIHNpZ25lZCBjaGFyKSAoc21hbGwpKSks IF9fYnVpbHRpbl9jaG9vc2VfZXhwciAoKF9fYnVpbHRpbl90eXBlc19jb21wYXRpYmxlX3AgKF9f YXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKDE2KSkpIHVuc2lnbmVkIHNob3J0LCB0eXBlb2YgKChl KSkpICYmIF9fYnVpbHRpbl90eXBlc19jb21wYXRpYmxlX3AgKF9fYXR0cmlidXRlX18oKHZlY3Rv cl9zaXplKDE2KSkpIHVuc2lnbmVkIHNob3J0LCB0eXBlb2YgKChzbWFsbCkpKSksICgoX19hdHRy aWJ1dGVfXygodmVjdG9yX3NpemUoMTYpKSkgc2lnbmVkIHNob3J0KSBfX2J1aWx0aW5fYWx0aXZl Y192Y21wZ3R1aCAoKF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKDE2KSkpIHNpZ25lZCBzaG9y dCkgKGUpLCAoX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUoMTYpKSkgc2lnbmVkIHNob3J0KSAo c21hbGwpKSksIF9fYnVpbHRpbl9jaG9vc2VfZXhwciAoKF9fYnVpbHRpbl90eXBlc19jb21wYXRp YmxlX3AgKF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKDE2KSkpIHNpZ25lZCBzaG9ydCwgdHlw ZW9mICgoZSkpKSAmJiBfX2J1aWx0aW5fdHlwZXNfY29tcGF0aWJsZV9wIChfX2F0dHJpYnV0ZV9f KCh2ZWN0b3Jfc2l6ZSgxNikpKSBzaWduZWQgc2hvcnQsIHR5cGVvZiAoKHNtYWxsKSkpKSwgKChf X2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSgxNikpKSBzaWduZWQgc2hvcnQpIF9fYnVpbHRpbl9h bHRpdmVjX3ZjbXBndHNoICgoX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUoMTYpKSkgc2lnbmVk IHNob3J0KSAoZSksIChfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSgxNikpKSBzaWduZWQgc2hv cnQpIChzbWFsbCkpKSwgX19idWlsdGluX2Nob29zZV9leHByICgoX19idWlsdGluX3R5cGVzX2Nv bXBhdGlibGVfcCAoX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUoMTYpKSkgdW5zaWduZWQgaW50 LCB0eXBlb2YgKChlKSkpICYmIF9fYnVpbHRpbl90eXBlc19jb21wYXRpYmxlX3AgKF9fYXR0cmli dXRlX18oKHZlY3Rvcl9zaXplKDE2KSkpIHVuc2lnbmVkIGludCwgdHlwZW9mICgoc21hbGwpKSkp LCAoKF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKDE2KSkpIHNpZ25lZCBpbnQpIF9fYnVpbHRp bl9hbHRpdmVjX3ZjbXBndHV3ICgoX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUoMTYpKSkgc2ln bmVkIGludCkgKGUpLCAoX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUoMTYpKSkgc2lnbmVkIGlu dCkgKHNtYWxsKSkpLCBfX2J1aWx0aW5fY2hvb3NlX2V4cHIgKChfX2J1aWx0aW5fdHlwZXNfY29t cGF0aWJsZV9wIChfX2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSgxNikpKSBzaWduZWQgaW50LCB0 eXBlb2YgKChlKSkpICYmIF9fYnVpbHRpbl90eXBlc19jb21wYXRpYmxlX3AgKF9fYXR0cmlidXRl X18oKHZlY3Rvcl9zaXplKDE2KSkpIHNpZ25lZCBpbnQsIHR5cGVvZiAoKHNtYWxsKSkpKSwgKChf X2F0dHJpYnV0ZV9fKCh2ZWN0b3Jfc2l6ZSgxNikpKSBzaWduZWQgaW50KSBfX2J1aWx0aW5fYWx0 aXZlY192Y21wZ3RzdyAoKF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKDE2KSkpIHNpZ25lZCBp bnQpIChlKSwgKF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKDE2KSkpIHNpZ25lZCBpbnQpIChz bWFsbCkpKSwgX19idWlsdGluX2Nob29zZV9leHByICgoX19idWlsdGluX3R5cGVzX2NvbXBhdGli bGVfcCAoX19hdHRyaWJ1dGVfXygodmVjdG9yX3NpemUoMTYpKSkgZmxvYXQsIHR5cGVvZiAoKGUp KSkgJiYgX19idWlsdGluX3R5cGVzX2NvbXBhdGlibGVfcCAoX19hdHRyaWJ1dGVfXygodmVjdG9y X3NpemUoMTYpKSkgZmxvYXQsIHR5cGVvZiAoKHNtYWxsKSkpKSwgKChfX2F0dHJpYnV0ZV9fKCh2 ZWN0b3Jfc2l6ZSgxNikpKSBzaWduZWQgaW50KSBfX2J1aWx0aW5fYWx0aXZlY192Y21wZ3RmcCAo KF9fYXR0cmlidXRlX18oKHZlY3Rvcl9zaXplKDE2KSkpIGZsb2F0KSAoZSksIChfX2F0dHJpYnV0 ZV9fKCh2ZWN0b3Jfc2l6ZSgxNikpKSBmbG9hdCkgKHNtYWxsKSkpLCBfX2FsdGl2ZWNfbGlua19l cnJvcl9pbnZhbGlkX2FyZ3VtZW50ICgpKSkpKSkpKTsKICAgICAgICBlID0gYzsKfQoAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAA