submission 21778
KernelBot user 334 · python · License unknown
Use it
Vendorable · source mirrored · license unknownView source →
No package. Vendor the mirrored source: 1 lines, June 9 Researcher Reciprocity License v1.0.
finish-3.py
curl "https://kernelindex.com/api/v1/implementations/kernelbot-amd-fp8-mm-21778?include=source"interfacepython
Compatibility
measured onAMD Instinct MI300X
declared hardwareAMD Instinct MI300X
architecturesgfx942
dtypesfp32, fp8_e4m3fnuz
Benchmark evidence
18 measurements across 1 GPU, fastest first.
Operation / workload
Hardware
Latency
Rank
Observed
AMD FP8 blockwise GEMMfp32/fp8_e4m3fnuz · [1024, 7168] · n=512 · seed=6563
AMD Instinct MI300X
73.0µs
#24 of 98
2025-05-13
AMD FP8 blockwise GEMMfp32/fp8_e4m3fnuz · [1024, 7168] · n=576 · seed=12346
AMD Instinct MI300X
73.7µs
#25 of 98
2025-05-13
AMD FP8 blockwise GEMMfp32/fp8_e4m3fnuz · [1024, 7168] · n=1536 · seed=8135
AMD Instinct MI300X
104.8µs
#18 of 98
2025-05-13
Show all 18 measurements ›Showing all 18 measurements ⌄
AMD FP8 blockwise GEMMfp32/fp8_e4m3fnuz · [6144, 7168] · n=512 · seed=12341
AMD Instinct MI300X
196.5µs
#42 of 98
2025-05-13
AMD FP8 blockwise GEMMfp32/fp8_e4m3fnuz · [6144, 7168] · n=576 · seed=9863
AMD Instinct MI300X
204.8µs
#39 of 98
2025-05-13
AMD FP8 blockwise GEMMfp32/fp8_e4m3fnuz · [1024, 7168] · n=4608 · seed=7531
AMD Instinct MI300X
238.8µs
#45 of 98
2025-05-13
AMD FP8 blockwise GEMMfp32/fp8_e4m3fnuz · [6144, 7168] · n=1536 · seed=6543
AMD Instinct MI300X
405.2µs
#49 of 98
2025-05-13
AMD FP8 blockwise GEMMfp32/fp8_e4m3fnuz · [6144, 7168] · n=4608 · seed=65436
AMD Instinct MI300X
1.09ms
#47 of 98
2025-05-13
Reported · How evidence levels are derived →
Source and license
sourceavailable
revision digestsha256:e172db56185343f6208a7cd589734a7a513391c2604682b68e7eef07f4268a50
license declaredunknown
license concludedunknown
imported2026-08-15
Kernel source
finish-3.py1 lines
IyBUaGlzIHNjcmlwdCBwcm92aWRlcyBhIHRlbXBsYXRlIGZvciB1c2luZyBsb2FkX2lubGluZSB0byBydW4gYSBISVAga2VybmVsIGZvcgpmcm9tIHRvcmNoLnV0aWxzLmNwcF9leHRlbnNpb24gaW1wb3J0IGxvYWRfaW5saW5lCmZyb20gdGFzayBpbXBvcnQgaW5wdXRfdCwgb3V0cHV0X3QKQ1BQX1dSQVBQRVIgPSAiIiIKdm9pZCBmcDhfbW0odG9yY2g6OlRlbnNvciBhLCB0b3JjaDo6VGVuc29yIGIsIHRvcmNoOjpUZW5zb3IgYXMsIHRvcmNoOjpUZW5zb3IgYnMsIHRvcmNoOjpUZW5zb3IgYyk7CiIiIgoKQ1VEQV9TUkMgPSAiIiIKI2luY2x1ZGUgPGhpcC9hbWRfZGV0YWlsL2FtZF9oaXBfZnA4Lmg+CiNpbmNsdWRlIDxoaXAvYW1kX2RldGFpbC9hbWRfaGlwX2JmMTYuaD4KCnVzaW5nIGYzMngxNiA9IF9fYXR0cmlidXRlX18oIChfX3ZlY3Rvcl9zaXplX18oMTYgKiBzaXplb2YoZmxvYXQpKSApKSBmbG9hdDsKCmNvbnN0ZXhwciBjb25zdCBpbnQgQkxPQ0sgPSAxMjg7CgpfX2RldmljZV9fIHN0YXRpYyB1aW50NjRfdCBwYWNrX3UxNng4X3RvX3U2NChjb25zdCB1aW50MTZfdCogc3JjKQp7CiAgICB1aW50MTZfdCBkc3RbXSA9IHsgc3JjWzFdLCBzcmNbM10sIHNyY1s1XSwgc3JjWzddIH07CiAgICByZXR1cm4gKnJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3QqPihkc3QpOwp9CgpfX2dsb2JhbF9fIHZvaWQgY3VzdG9tX2tlcm5lbChjb25zdCB1aW50NjRfdCogY2FjaGUsIGNvbnN0IGZsb2F0KiBhcywgY29uc3QgZmxvYXQqIGJzLCAKICAgICAgICAgICAgICAgICAgIF9faGlwX2JmbG9hdDE2KiBjLCBpbnQgbSwgaW50IG4sIGludCBrLCBpbnQgY29sLCBpbnQgb2Zmc2V0KSB7CiAgICAvLyBZb3VyIGltcGxlbWVudGF0aW9uIGhlcmUKICAgIGNvbnN0IHVpbnQ2NF90KiBhID0gY2FjaGU7CiAgICBjb25zdCB1aW50NjRfdCogYiA9IGNhY2hlICsgb2Zmc2V0OwogICAgaW50IGN4ID0gMzIgKiBibG9ja0lkeC54OwogICAgaW50IGN5ID0gMzIgKiBibG9ja0lkeC55OwogICAgaWYoY3ggPj0gbSB8fCBjeSA+PSBuKSByZXR1cm47CiAgICBpbnQgdHggPSB0aHJlYWRJZHgueCAmIDMxOwogICAgaW50IHR5ID0gdGhyZWFkSWR4LnggPj4gNSAmIDE7CiAgICBpbnQgc24gPSAobiArIEJMT0NLIC0gMSkgPj4gNzsKICAgIGJzICs9IGN5ID4+IDc7CiAgICBhcyArPSBjeCArIHR4OwogICAgYSArPSBibG9ja0lkeC54ICogY29sOwogICAgYiArPSBibG9ja0lkeC55ICogY29sOwogICAgZjMyeDE2IHJlc3VsdCA9IHsgfTsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBrOyBpICs9IEJMT0NLKSB7CiAgICAgICAgY29uc3QgYXV0byogYXAgPSBhICsgaSAqIDQ7CiAgICAgICAgY29uc3QgYXV0byogYnAgPSBiICsgaSAqIDQ7CiAgICAgICAgZjMyeDE2IGJsb2NrX3Jlc3VsdCA9IHsgfTsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbdGhyZWFkSWR4LnhdLCBhcFt0aHJlYWRJZHgueF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgYXAgKz0gMHg0MDsgYnAgKz0gMHg0MDsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbdGhyZWFkSWR4LnhdLCBhcFt0aHJlYWRJZHgueF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgYXAgKz0gMHg0MDsgYnAgKz0gMHg0MDsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbdGhyZWFkSWR4LnhdLCBhcFt0aHJlYWRJZHgueF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgYXAgKz0gMHg0MDsgYnAgKz0gMHg0MDsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbdGhyZWFkSWR4LnhdLCBhcFt0aHJlYWRJZHgueF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgYXAgKz0gMHg0MDsgYnAgKz0gMHg0MDsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbdGhyZWFkSWR4LnhdLCBhcFt0aHJlYWRJZHgueF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgYXAgKz0gMHg0MDsgYnAgKz0gMHg0MDsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbdGhyZWFkSWR4LnhdLCBhcFt0aHJlYWRJZHgueF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgYXAgKz0gMHg0MDsgYnAgKz0gMHg0MDsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbdGhyZWFkSWR4LnhdLCBhcFt0aHJlYWRJZHgueF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgYXAgKz0gMHg0MDsgYnAgKz0gMHg0MDsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbdGhyZWFkSWR4LnhdLCBhcFt0aHJlYWRJZHgueF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgcmVzdWx0ICs9IGJsb2NrX3Jlc3VsdCAqIGJzWyhpID4+IDcpICogc25dICogYXNbKGkgPj4gNykgKiBtXTsKICAgIH0KICAgIGNvbnN0IGF1dG8qIHNyYyA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDE2X3QoKilbOF0+KCZyZXN1bHQpOwogICAgdWludDY0X3QqIGRzdCA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3QqPihjICsgKHR4ICsgY3gpICogbiArIGN5ICsgdHkgKiA0KTsKICAgIGRzdFswXSA9IHBhY2tfdTE2eDhfdG9fdTY0KHNyY1swXSk7CiAgICBkc3RbMl0gPSBwYWNrX3UxNng4X3RvX3U2NChzcmNbMV0pOwogICAgZHN0WzRdID0gcGFja191MTZ4OF90b191NjQoc3JjWzJdKTsKICAgIGRzdFs2XSA9IHBhY2tfdTE2eDhfdG9fdTY0KHNyY1szXSk7Cn0KCl9fZ2xvYmFsX18gdm9pZCByZW9yZGVyX2tlcm5lbChjb25zdCBfX2hpcF9mcDhfZTRtM19mbnV6KiBzcmMsIGNvbnN0IF9faGlwX2ZwOF9lNG0zX2ZudXoqIHNyYzEsIHVpbnQ2NF90KiBkc3QsIGludCBtLCBpbnQgbiwgaW50IGssIGludCBjb2wsIGludCBuZXh0KSB7CiAgICBuZXh0ID0gYmxvY2tJZHgueCA+PSBuZXh0ID8gbmV4dCA6IDA7CiAgICBtID0gbmV4dCA/IG4gOiBtOwogICAgc3JjID0gbmV4dCA/IHNyYzEgOiBzcmM7CiAgICBpbnQgY3ggPSAoYmxvY2tJZHgueCAtIG5leHQpICogMzIgKyAodGhyZWFkSWR4LnggJiAzMSk7CiAgICBpbnQgY3kgPSAoYmxvY2tJZHgueSAqIDIgKyAodGhyZWFkSWR4LnggPj4gNSAmIDEpKSAqIDg7CiAgICB1aW50NjRfdCB2YWx1ZSA9IDA7CiAgICBpZiAoY3ggPCBtICYmIGN5IDwgaykgewogICAgICAgIHNyYyArPSBjeSAqIG0gKyBjeDsKICAgICAgICBfX2hpcF9mcDhfZTRtM19mbnV6IGJ1ZmZlcls4XSA9IHsgc3JjWzBdLCBzcmNbbV0sIHNyY1syICogbV0sIHNyY1szICogbV0sCiAgICAgICAgc3JjWzQgKiBtXSwgc3JjWzUgKiBtXSwgc3JjWzYgKiBtXSwgc3JjWzcgKiBtXX07CiAgICAgICAgdmFsdWUgPSAqcmVpbnRlcnByZXRfY2FzdDx1aW50NjRfdCo+KGJ1ZmZlcik7CiAgICB9CiAgICBkc3RbYmxvY2tJZHgueCAqIGNvbCArIGJsb2NrSWR4LnkgKiA2NCArIHRocmVhZElkeC54XSA9IHZhbHVlOwp9Cgp2b2lkIGZwOF9tbSh0b3JjaDo6VGVuc29yIGEsIHRvcmNoOjpUZW5zb3IgYiwgdG9yY2g6OlRlbnNvciBhcywgdG9yY2g6OlRlbnNvciBicywgdG9yY2g6OlRlbnNvciBjKSB7CiAgICBpbnQgbSA9IGEuc2l6ZSgwKTsKICAgIGludCBuID0gYi5zaXplKDApOwogICAgaW50IGsgPSBhLnNpemUoMSk7CiAgICBpbnQgbmV4dCA9IChtICsgMTI3KSAvIDEyOCAqIDQ7CiAgICBpbnQgcm93ID0gKG4gKyAxMjcpIC8gMTI4ICogNCArIG5leHQ7CiAgICBpbnQgY29sID0gKGsgKyAxMjcpIC8gMTI4ICogNTEyOwogICAgYXV0byBvcHRpb25zID0gdG9yY2g6OlRlbnNvck9wdGlvbnMoKS5kdHlwZSh0b3JjaDo6a1VJbnQ2NCkuZGV2aWNlKHRvcmNoOjprQ1VEQSk7CiAgICB0b3JjaDo6VGVuc29yIGNhY2hlID0gdG9yY2g6OmVtcHR5KHJvdyAqIGNvbCwgb3B0aW9ucyk7CiAgICByZW9yZGVyX2tlcm5lbDw8PGRpbTMocm93LCBjb2wgLyA2NCksIGRpbTMoNjQpLCAwLCAwPj4+KChfX2hpcF9mcDhfZTRtM19mbnV6KilhLmRhdGFfcHRyKCksICAoX19oaXBfZnA4X2U0bTNfZm51eiopYi5kYXRhX3B0cigpLAogICAgICAgIGNhY2hlLmRhdGFfcHRyPHVpbnQ2NF90PigpLCBtLCBuLCBrLCBjb2wsIG5leHQpOwogICAgY3VzdG9tX2tlcm5lbDw8PGRpbTMoKG0rMzEpLzMyLCAobiszMSkvMzIpLCBkaW0zKDY0KSwgMCwgMD4+PiAoY2FjaGUuZGF0YV9wdHI8dWludDY0X3Q+KCksCiAgICAgICAgYXMuZGF0YV9wdHI8ZmxvYXQ+KCksIGJzLmRhdGFfcHRyPGZsb2F0PigpLCAoX19oaXBfYmZsb2F0MTYqKWMuZGF0YV9wdHIoKSwgbSwgbiwgaywgY29sLCBuZXh0ICogY29sKTsKfQoiIiIKCmltcG9ydCBvcwpvcy5lbnZpcm9uWyJDWFgiXSA9ICJjbGFuZysrIgoKbW9kdWxlID0gbG9hZF9pbmxpbmUoCiAgICBuYW1lPSdmcDhfbW0nLAogICAgY3BwX3NvdXJjZXM9W0NQUF9XUkFQUEVSXSwKICAgIGN1ZGFfc291cmNlcz1bQ1VEQV9TUkNdLAogICAgZnVuY3Rpb25zPVsnZnA4X21tJ10sCiAgICB2ZXJib3NlPVRydWUsCiAgICBleHRyYV9jdWRhX2NmbGFncz1bIi0tb2ZmbG9hZC1hcmNoPWdmeDk0MiIsICItc3RkPWMrKzIwIiwgIi1PMyJdLAopCgoKZGVmIGN1c3RvbV9rZXJuZWwoZGF0YTogaW5wdXRfdCkgLT4gb3V0cHV0X3Q6CiAgICBhLCBiLCBhX3NjYWxlLCBiX3NjYWxlLCBjID0gZGF0YQogICAgbW9kdWxlLmZwOF9tbShhLCBiLCBhX3NjYWxlLCBiX3NjYWxlLCBjKQogICAgcmV0dXJuIGMKCg==Source code from GPU Mode and the KernelBot dataset · June 9 Researcher Reciprocity License v1.0
Changes from previous submission
Against this author's previous submission submission 21355.
- IyBUaGlzIHNjcmlwdCBwcm92aWRlcyBhIHRlbXBsYXRlIGZvciB1c2luZyBsb2FkX2lubGluZSB0byBydW4gYSBISVAga2VybmVsIGZvcgpmcm9tIHRvcmNoLnV0aWxzLmNwcF9leHRlbnNpb24gaW1wb3J0IGxvYWRfaW5saW5lCmZyb20gdGFzayBpbXBvcnQgaW5wdXRfdCwgb3V0cHV0X3QKQ1BQX1dSQVBQRVIgPSAiIiIKdm9pZCBmcDhfbW0odG9yY2g6OlRlbnNvciBhLCB0b3JjaDo6VGVuc29yIGIsIHRvcmNoOjpUZW5zb3IgYXMsIHRvcmNoOjpUZW5zb3IgYnMsIHRvcmNoOjpUZW5zb3IgYyk7CiIiIgoKQ1VEQV9TUkMgPSAiIiIKI2luY2x1ZGUgPGhpcC9hbWRfZGV0YWlsL2FtZF9oaXBfZnA4Lmg+CiNpbmNsdWRlIDxoaXAvYW1kX2RldGFpbC9hbWRfaGlwX2JmMTYuaD4KCnVzaW5nIGYzMngxNiA9IF9fYXR0cmlidXRlX18oIChfX3ZlY3Rvcl9zaXplX18oMTYgKiBzaXplb2YoZmxvYXQpKSApKSBmbG9hdDsKCmNvbnN0ZXhwciBjb25zdCBpbnQgQkxPQ0sgPSAxMjg7CgpfX2RldmljZV9fIHN0YXRpYyB1aW50NjRfdCBwYWNrX3UxNng4X3RvX3U2NChjb25zdCB1aW50MTZfdCogc3JjKQp7CiAgICB1aW50MTZfdCBkc3RbXSA9IHsgc3JjWzFdLCBzcmNbM10sIHNyY1s1XSwgc3JjWzddIH07CiAgICByZXR1cm4gKnJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3QqPihkc3QpOwp9CgpfX2dsb2JhbF9fIHZvaWQgY3VzdG9tX2tlcm5lbChjb25zdCB1aW50NjRfdCogY2FjaGUsIGNvbnN0IGZsb2F0KiBhcywgY29uc3QgZmxvYXQqIGJzLCAKICAgICAgICAgICAgICAgICAgIF9faGlwX2JmbG9hdDE2KiBjLCBpbnQgbSwgaW50IG4sIGludCBrLCBpbnQgY29sLCBpbnQgb2Zmc2V0KSB7CiAgICAvLyBZb3VyIGltcGxlbWVudGF0aW9uIGhlcmUKICAgIGNvbnN0IHVpbnQ2NF90KiBhID0gY2FjaGU7CiAgICBjb25zdCB1aW50NjRfdCogYiA9IGNhY2hlICsgb2Zmc2V0OwogICAgaW50IGN4ID0gMzIgKiBibG9ja0lkeC54OwogICAgaW50IGN5ID0gMzIgKiBibG9ja0lkeC55OwogICAgaWYoY3ggPj0gbSB8fCBjeSA+PSBuKSByZXR1cm47CiAgICBpbnQgdHggPSB0aHJlYWRJZHgueCAmIDMxOwogICAgaW50IHR5ID0gdGhyZWFkSWR4LnggPj4gNSAmIDE7CiAgICBpbnQgc24gPSAobiArIEJMT0NLIC0gMSkgPj4gNzsKICAgIGJzICs9IGN5ID4+IDc7CiAgICBhcyArPSBjeCArIHR4OwogICAgYSArPSBibG9ja0lkeC54ICogY29sICsgdGhyZWFkSWR4Lng7CiAgICBiICs9IGJsb2NrSWR4LnkgKiBjb2wgKyB0aHJlYWRJZHgueDsKICAgIGYzMngxNiByZXN1bHQgPSB7IH07CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgazsgaSArPSBCTE9DSykgewogICAgICAgIGNvbnN0IGF1dG8qIGFwID0gYSArIGkgKiA0OwogICAgICAgIGNvbnN0IGF1dG8qIGJwID0gYiArIGkgKiA0OwogICAgICAgIGYzMngxNiBibG9ja19yZXN1bHQgPSB7IH07CiAgICAgICAgYmxvY2tfcmVzdWx0ID0gX19idWlsdGluX2FtZGdjbl9tZm1hX2YzMl8zMngzMngxNl9mcDhfZnA4KGJwWzBdLCBhcFswXSwgYmxvY2tfcmVzdWx0LCAwLCAwLCAwKTsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbMHg0MF0sIGFwWzB4NDBdLCBibG9ja19yZXN1bHQsIDAsIDAsIDApOwogICAgICAgIGJsb2NrX3Jlc3VsdCA9IF9fYnVpbHRpbl9hbWRnY25fbWZtYV9mMzJfMzJ4MzJ4MTZfZnA4X2ZwOChicFsweDgwXSwgYXBbMHg4MF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgYmxvY2tfcmVzdWx0ID0gX19idWlsdGluX2FtZGdjbl9tZm1hX2YzMl8zMngzMngxNl9mcDhfZnA4KGJwWzB4YzBdLCBhcFsweGMwXSwgYmxvY2tfcmVzdWx0LCAwLCAwLCAwKTsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbMHgxMDBdLCBhcFsweDEwMF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgYmxvY2tfcmVzdWx0ID0gX19idWlsdGluX2FtZGdjbl9tZm1hX2YzMl8zMngzMngxNl9mcDhfZnA4KGJwWzB4MTQwXSwgYXBbMHgxNDBdLCBibG9ja19yZXN1bHQsIDAsIDAsIDApOwogICAgICAgIGJsb2NrX3Jlc3VsdCA9IF9fYnVpbHRpbl9hbWRnY25fbWZtYV9mMzJfMzJ4MzJ4MTZfZnA4X2ZwOChicFsweDE4MF0sIGFwWzB4MTgwXSwgYmxvY2tfcmVzdWx0LCAwLCAwLCAwKTsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbMHgxYzBdLCBhcFsweDFjMF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgcmVzdWx0ICs9IGJsb2NrX3Jlc3VsdCAqIGJzWyhpID4+IDcpICogc25dICogYXNbKGkgPj4gNykgKiBtXTsKICAgIH0KICAgIGNvbnN0IGF1dG8qIHNyYyA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDE2X3QoKilbOF0+KCZyZXN1bHQpOwogICAgdWludDY0X3QqIGRzdCA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3QqPihjICsgKHR4ICsgY3gpICogbiArIGN5ICsgdHkgKiA0KTsKICAgIGRzdFswXSA9IHBhY2tfdTE2eDhfdG9fdTY0KHNyY1swXSk7CiAgICBkc3RbMl0gPSBwYWNrX3UxNng4X3RvX3U2NChzcmNbMV0pOwogICAgZHN0WzRdID0gcGFja191MTZ4OF90b191NjQoc3JjWzJdKTsKICAgIGRzdFs2XSA9IHBhY2tfdTE2eDhfdG9fdTY0KHNyY1szXSk7Cn0KCl9fZ2xvYmFsX18gdm9pZCByZW9yZGVyX2tlcm5lbChjb25zdCBfX2hpcF9mcDhfZTRtM19mbnV6KiBzcmMwLCBjb25zdCBfX2hpcF9mcDhfZTRtM19mbnV6KiBzcmMxLCB1aW50NjRfdCogZHN0LCBpbnQgbSwgaW50IG4sIGludCBrLCBpbnQgY29sLCBpbnQgbmV4dCkgewogICAgbmV4dCA9IGJsb2NrSWR4LnggPj0gbmV4dCA/IG5leHQgOiAwOwogICAgbSA9IG5leHQgPyBuIDogbTsKICAgIGNvbnN0IF9faGlwX2ZwOF9lNG0zX2ZudXoqIHNyYyA9IG5leHQgPyBzcmMxIDogc3JjMDsKICAgIGludCBjeCA9IChibG9ja0lkeC54IC0gbmV4dCkgKiAzMiArICh0aHJlYWRJZHgueCAmIDMxKTsKICAgIGludCBjeSA9IChibG9ja0lkeC55ICogMiArICh0aHJlYWRJZHgueCA+PiA1ICYgMSkpICogODsKICAgIHVpbnQ2NF90KiBkID0gZHN0ICsgYmxvY2tJZHgueCAqIGNvbCArIGJsb2NrSWR4LnkgKiA2NCArIHRocmVhZElkeC54OwogICAgaWYgKGN4ID49IG0gfHwgY3kgPj0gaykgewogICAgICAgICpkID0gMDsKICAgICAgICByZXR1cm47CiAgICB9CiAgICBzcmMgKz0gY3kgKiBtICsgY3g7CiAgICBfX2hpcF9mcDhfZTRtM19mbnV6IGJ1ZmZlcls4XSA9IHsgc3JjWzBdLCBzcmNbbV0sIHNyY1syICogbV0sIHNyY1szICogbV0sCiAgICAgIHNyY1s0ICogbV0sIHNyY1s1ICogbV0sIHNyY1s2ICogbV0sIHNyY1s3ICogbV19OwogICAgKmQgPSAqcmVpbnRlcnByZXRfY2FzdDx1aW50NjRfdCo+KGJ1ZmZlcik7Cn0KCnZvaWQgZnA4X21tKHRvcmNoOjpUZW5zb3IgYSwgdG9yY2g6OlRlbnNvciBiLCB0b3JjaDo6VGVuc29yIGFzLCB0b3JjaDo6VGVuc29yIGJzLCB0b3JjaDo6VGVuc29yIGMpIHsKICAgIGludCBtID0gYS5zaXplKDApOwogICAgaW50IG4gPSBiLnNpemUoMCk7CiAgICBpbnQgayA9IGEuc2l6ZSgxKTsKICAgIGludCBuZXh0ID0gKG0gKyAxMjcpIC8gMTI4ICogNDsKICAgIGludCByb3cgPSAobiArIDEyNykgLyAxMjggKiA0ICsgbmV4dDsKICAgIGludCBjb2wgPSAoayArIDEyNykgLyAxMjggKiA1MTI7CiAgICBhdXRvIG9wdGlvbnMgPSB0b3JjaDo6VGVuc29yT3B0aW9ucygpLmR0eXBlKHRvcmNoOjprVUludDY0KS5kZXZpY2UodG9yY2g6OmtDVURBKTsKICAgIHRvcmNoOjpUZW5zb3IgY2FjaGUgPSB0b3JjaDo6ZW1wdHkoe3JvdywgY29sfSwgb3B0aW9ucyk7CiAgICByZW9yZGVyX2tlcm5lbDw8PGRpbTMocm93LCBjb2wgLyA2NCksIGRpbTMoNjQpLCAwLCAwPj4+KChfX2hpcF9mcDhfZTRtM19mbnV6KilhLmRhdGFfcHRyKCksICAoX19oaXBfZnA4X2U0bTNfZm51eiopYi5kYXRhX3B0cigpLAogICAgICAgIGNhY2hlLmRhdGFfcHRyPHVpbnQ2NF90PigpLCBtLCBuLCBrLCBjb2wsIG5leHQpOwogICAgY3VzdG9tX2tlcm5lbDw8PGRpbTMoKG0rMzEpLzMyLCAobiszMSkvMzIpLCBkaW0zKDY0KSwgMCwgMD4+PiAoY2FjaGUuZGF0YV9wdHI8dWludDY0X3Q+KCksCiAgICAgICAgYXMuZGF0YV9wdHI8ZmxvYXQ+KCksIGJzLmRhdGFfcHRyPGZsb2F0PigpLCAoX19oaXBfYmZsb2F0MTYqKWMuZGF0YV9wdHIoKSwgbSwgbiwgaywgY29sLCBuZXh0ICogY29sKTsKfQoiIiIKCmltcG9ydCBvcwpvcy5lbnZpcm9uWyJDWFgiXSA9ICJjbGFuZysrIgoKbW9kdWxlID0gbG9hZF9pbmxpbmUoCiAgICBuYW1lPSdmcDhfbW0nLAogICAgY3BwX3NvdXJjZXM9W0NQUF9XUkFQUEVSXSwKICAgIGN1ZGFfc291cmNlcz1bQ1VEQV9TUkNdLAogICAgZnVuY3Rpb25zPVsnZnA4X21tJ10sCiAgICB2ZXJib3NlPVRydWUsCiAgICBleHRyYV9jdWRhX2NmbGFncz1bIi0tb2ZmbG9hZC1hcmNoPWdmeDk0MiIsICItc3RkPWMrKzIwIiwgIi1PMyJdLAopCgoKZGVmIGN1c3RvbV9rZXJuZWwoZGF0YTogaW5wdXRfdCkgLT4gb3V0cHV0X3Q6CiAgICBhLCBiLCBhX3NjYWxlLCBiX3NjYWxlLCBjID0gZGF0YQogICAgbW9kdWxlLmZwOF9tbShhLCBiLCBhX3NjYWxlLCBiX3NjYWxlLCBjKQogICAgcmV0dXJuIGMKCg==No newline at end of file+ IyBUaGlzIHNjcmlwdCBwcm92aWRlcyBhIHRlbXBsYXRlIGZvciB1c2luZyBsb2FkX2lubGluZSB0byBydW4gYSBISVAga2VybmVsIGZvcgpmcm9tIHRvcmNoLnV0aWxzLmNwcF9leHRlbnNpb24gaW1wb3J0IGxvYWRfaW5saW5lCmZyb20gdGFzayBpbXBvcnQgaW5wdXRfdCwgb3V0cHV0X3QKQ1BQX1dSQVBQRVIgPSAiIiIKdm9pZCBmcDhfbW0odG9yY2g6OlRlbnNvciBhLCB0b3JjaDo6VGVuc29yIGIsIHRvcmNoOjpUZW5zb3IgYXMsIHRvcmNoOjpUZW5zb3IgYnMsIHRvcmNoOjpUZW5zb3IgYyk7CiIiIgoKQ1VEQV9TUkMgPSAiIiIKI2luY2x1ZGUgPGhpcC9hbWRfZGV0YWlsL2FtZF9oaXBfZnA4Lmg+CiNpbmNsdWRlIDxoaXAvYW1kX2RldGFpbC9hbWRfaGlwX2JmMTYuaD4KCnVzaW5nIGYzMngxNiA9IF9fYXR0cmlidXRlX18oIChfX3ZlY3Rvcl9zaXplX18oMTYgKiBzaXplb2YoZmxvYXQpKSApKSBmbG9hdDsKCmNvbnN0ZXhwciBjb25zdCBpbnQgQkxPQ0sgPSAxMjg7CgpfX2RldmljZV9fIHN0YXRpYyB1aW50NjRfdCBwYWNrX3UxNng4X3RvX3U2NChjb25zdCB1aW50MTZfdCogc3JjKQp7CiAgICB1aW50MTZfdCBkc3RbXSA9IHsgc3JjWzFdLCBzcmNbM10sIHNyY1s1XSwgc3JjWzddIH07CiAgICByZXR1cm4gKnJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3QqPihkc3QpOwp9CgpfX2dsb2JhbF9fIHZvaWQgY3VzdG9tX2tlcm5lbChjb25zdCB1aW50NjRfdCogY2FjaGUsIGNvbnN0IGZsb2F0KiBhcywgY29uc3QgZmxvYXQqIGJzLCAKICAgICAgICAgICAgICAgICAgIF9faGlwX2JmbG9hdDE2KiBjLCBpbnQgbSwgaW50IG4sIGludCBrLCBpbnQgY29sLCBpbnQgb2Zmc2V0KSB7CiAgICAvLyBZb3VyIGltcGxlbWVudGF0aW9uIGhlcmUKICAgIGNvbnN0IHVpbnQ2NF90KiBhID0gY2FjaGU7CiAgICBjb25zdCB1aW50NjRfdCogYiA9IGNhY2hlICsgb2Zmc2V0OwogICAgaW50IGN4ID0gMzIgKiBibG9ja0lkeC54OwogICAgaW50IGN5ID0gMzIgKiBibG9ja0lkeC55OwogICAgaWYoY3ggPj0gbSB8fCBjeSA+PSBuKSByZXR1cm47CiAgICBpbnQgdHggPSB0aHJlYWRJZHgueCAmIDMxOwogICAgaW50IHR5ID0gdGhyZWFkSWR4LnggPj4gNSAmIDE7CiAgICBpbnQgc24gPSAobiArIEJMT0NLIC0gMSkgPj4gNzsKICAgIGJzICs9IGN5ID4+IDc7CiAgICBhcyArPSBjeCArIHR4OwogICAgYSArPSBibG9ja0lkeC54ICogY29sOwogICAgYiArPSBibG9ja0lkeC55ICogY29sOwogICAgZjMyeDE2IHJlc3VsdCA9IHsgfTsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBrOyBpICs9IEJMT0NLKSB7CiAgICAgICAgY29uc3QgYXV0byogYXAgPSBhICsgaSAqIDQ7CiAgICAgICAgY29uc3QgYXV0byogYnAgPSBiICsgaSAqIDQ7CiAgICAgICAgZjMyeDE2IGJsb2NrX3Jlc3VsdCA9IHsgfTsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbdGhyZWFkSWR4LnhdLCBhcFt0aHJlYWRJZHgueF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgYXAgKz0gMHg0MDsgYnAgKz0gMHg0MDsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbdGhyZWFkSWR4LnhdLCBhcFt0aHJlYWRJZHgueF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgYXAgKz0gMHg0MDsgYnAgKz0gMHg0MDsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbdGhyZWFkSWR4LnhdLCBhcFt0aHJlYWRJZHgueF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgYXAgKz0gMHg0MDsgYnAgKz0gMHg0MDsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbdGhyZWFkSWR4LnhdLCBhcFt0aHJlYWRJZHgueF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgYXAgKz0gMHg0MDsgYnAgKz0gMHg0MDsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbdGhyZWFkSWR4LnhdLCBhcFt0aHJlYWRJZHgueF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgYXAgKz0gMHg0MDsgYnAgKz0gMHg0MDsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbdGhyZWFkSWR4LnhdLCBhcFt0aHJlYWRJZHgueF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgYXAgKz0gMHg0MDsgYnAgKz0gMHg0MDsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbdGhyZWFkSWR4LnhdLCBhcFt0aHJlYWRJZHgueF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgYXAgKz0gMHg0MDsgYnAgKz0gMHg0MDsKICAgICAgICBibG9ja19yZXN1bHQgPSBfX2J1aWx0aW5fYW1kZ2NuX21mbWFfZjMyXzMyeDMyeDE2X2ZwOF9mcDgoYnBbdGhyZWFkSWR4LnhdLCBhcFt0aHJlYWRJZHgueF0sIGJsb2NrX3Jlc3VsdCwgMCwgMCwgMCk7CiAgICAgICAgcmVzdWx0ICs9IGJsb2NrX3Jlc3VsdCAqIGJzWyhpID4+IDcpICogc25dICogYXNbKGkgPj4gNykgKiBtXTsKICAgIH0KICAgIGNvbnN0IGF1dG8qIHNyYyA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDE2X3QoKilbOF0+KCZyZXN1bHQpOwogICAgdWludDY0X3QqIGRzdCA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3QqPihjICsgKHR4ICsgY3gpICogbiArIGN5ICsgdHkgKiA0KTsKICAgIGRzdFswXSA9IHBhY2tfdTE2eDhfdG9fdTY0KHNyY1swXSk7CiAgICBkc3RbMl0gPSBwYWNrX3UxNng4X3RvX3U2NChzcmNbMV0pOwogICAgZHN0WzRdID0gcGFja191MTZ4OF90b191NjQoc3JjWzJdKTsKICAgIGRzdFs2XSA9IHBhY2tfdTE2eDhfdG9fdTY0KHNyY1szXSk7Cn0KCl9fZ2xvYmFsX18gdm9pZCByZW9yZGVyX2tlcm5lbChjb25zdCBfX2hpcF9mcDhfZTRtM19mbnV6KiBzcmMsIGNvbnN0IF9faGlwX2ZwOF9lNG0zX2ZudXoqIHNyYzEsIHVpbnQ2NF90KiBkc3QsIGludCBtLCBpbnQgbiwgaW50IGssIGludCBjb2wsIGludCBuZXh0KSB7CiAgICBuZXh0ID0gYmxvY2tJZHgueCA+PSBuZXh0ID8gbmV4dCA6IDA7CiAgICBtID0gbmV4dCA/IG4gOiBtOwogICAgc3JjID0gbmV4dCA/IHNyYzEgOiBzcmM7CiAgICBpbnQgY3ggPSAoYmxvY2tJZHgueCAtIG5leHQpICogMzIgKyAodGhyZWFkSWR4LnggJiAzMSk7CiAgICBpbnQgY3kgPSAoYmxvY2tJZHgueSAqIDIgKyAodGhyZWFkSWR4LnggPj4gNSAmIDEpKSAqIDg7CiAgICB1aW50NjRfdCB2YWx1ZSA9IDA7CiAgICBpZiAoY3ggPCBtICYmIGN5IDwgaykgewogICAgICAgIHNyYyArPSBjeSAqIG0gKyBjeDsKICAgICAgICBfX2hpcF9mcDhfZTRtM19mbnV6IGJ1ZmZlcls4XSA9IHsgc3JjWzBdLCBzcmNbbV0sIHNyY1syICogbV0sIHNyY1szICogbV0sCiAgICAgICAgc3JjWzQgKiBtXSwgc3JjWzUgKiBtXSwgc3JjWzYgKiBtXSwgc3JjWzcgKiBtXX07CiAgICAgICAgdmFsdWUgPSAqcmVpbnRlcnByZXRfY2FzdDx1aW50NjRfdCo+KGJ1ZmZlcik7CiAgICB9CiAgICBkc3RbYmxvY2tJZHgueCAqIGNvbCArIGJsb2NrSWR4LnkgKiA2NCArIHRocmVhZElkeC54XSA9IHZhbHVlOwp9Cgp2b2lkIGZwOF9tbSh0b3JjaDo6VGVuc29yIGEsIHRvcmNoOjpUZW5zb3IgYiwgdG9yY2g6OlRlbnNvciBhcywgdG9yY2g6OlRlbnNvciBicywgdG9yY2g6OlRlbnNvciBjKSB7CiAgICBpbnQgbSA9IGEuc2l6ZSgwKTsKICAgIGludCBuID0gYi5zaXplKDApOwogICAgaW50IGsgPSBhLnNpemUoMSk7CiAgICBpbnQgbmV4dCA9IChtICsgMTI3KSAvIDEyOCAqIDQ7CiAgICBpbnQgcm93ID0gKG4gKyAxMjcpIC8gMTI4ICogNCArIG5leHQ7CiAgICBpbnQgY29sID0gKGsgKyAxMjcpIC8gMTI4ICogNTEyOwogICAgYXV0byBvcHRpb25zID0gdG9yY2g6OlRlbnNvck9wdGlvbnMoKS5kdHlwZSh0b3JjaDo6a1VJbnQ2NCkuZGV2aWNlKHRvcmNoOjprQ1VEQSk7CiAgICB0b3JjaDo6VGVuc29yIGNhY2hlID0gdG9yY2g6OmVtcHR5KHJvdyAqIGNvbCwgb3B0aW9ucyk7CiAgICByZW9yZGVyX2tlcm5lbDw8PGRpbTMocm93LCBjb2wgLyA2NCksIGRpbTMoNjQpLCAwLCAwPj4+KChfX2hpcF9mcDhfZTRtM19mbnV6KilhLmRhdGFfcHRyKCksICAoX19oaXBfZnA4X2U0bTNfZm51eiopYi5kYXRhX3B0cigpLAogICAgICAgIGNhY2hlLmRhdGFfcHRyPHVpbnQ2NF90PigpLCBtLCBuLCBrLCBjb2wsIG5leHQpOwogICAgY3VzdG9tX2tlcm5lbDw8PGRpbTMoKG0rMzEpLzMyLCAobiszMSkvMzIpLCBkaW0zKDY0KSwgMCwgMD4+PiAoY2FjaGUuZGF0YV9wdHI8dWludDY0X3Q+KCksCiAgICAgICAgYXMuZGF0YV9wdHI8ZmxvYXQ+KCksIGJzLmRhdGFfcHRyPGZsb2F0PigpLCAoX19oaXBfYmZsb2F0MTYqKWMuZGF0YV9wdHIoKSwgbSwgbiwgaywgY29sLCBuZXh0ICogY29sKTsKfQoiIiIKCmltcG9ydCBvcwpvcy5lbnZpcm9uWyJDWFgiXSA9ICJjbGFuZysrIgoKbW9kdWxlID0gbG9hZF9pbmxpbmUoCiAgICBuYW1lPSdmcDhfbW0nLAogICAgY3BwX3NvdXJjZXM9W0NQUF9XUkFQUEVSXSwKICAgIGN1ZGFfc291cmNlcz1bQ1VEQV9TUkNdLAogICAgZnVuY3Rpb25zPVsnZnA4X21tJ10sCiAgICB2ZXJib3NlPVRydWUsCiAgICBleHRyYV9jdWRhX2NmbGFncz1bIi0tb2ZmbG9hZC1hcmNoPWdmeDk0MiIsICItc3RkPWMrKzIwIiwgIi1PMyJdLAopCgoKZGVmIGN1c3RvbV9rZXJuZWwoZGF0YTogaW5wdXRfdCkgLT4gb3V0cHV0X3Q6CiAgICBhLCBiLCBhX3NjYWxlLCBiX3NjYWxlLCBjID0gZGF0YQogICAgbW9kdWxlLmZwOF9tbShhLCBiLCBhX3NjYWxlLCBiX3NjYWxlLCBjKQogICAgcmV0dXJuIGMKCg==No newline at end of file
Best evidence level for this revision: reported
JSON