From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5938 invoked by alias); 1 Mar 2010 02:20:38 -0000 Received: (qmail 5898 invoked by uid 22791); 1 Mar 2010 02:20:35 -0000 X-SWARE-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,SARE_MSGID_LONG40 X-Spam-Check-By: sourceware.org Received: from mail-ww0-f41.google.com (HELO mail-ww0-f41.google.com) (74.125.82.41) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 01 Mar 2010 02:20:28 +0000 Received: by wwb24 with SMTP id 24so1006672wwb.0 for ; Sun, 28 Feb 2010 18:20:25 -0800 (PST) MIME-Version: 1.0 Received: by 10.216.87.140 with SMTP id y12mr2635350wee.36.1267410025286; Sun, 28 Feb 2010 18:20:25 -0800 (PST) In-Reply-To: <6dc9ffc81002281656s1662374etd945bc11626fa1f9@mail.gmail.com> References: <20100222164509.GE30100@caradoc.them.org> <6dc9ffc81002281615s376df02cm1807b3b1189fd0f0@mail.gmail.com> <6dc9ffc81002281656s1662374etd945bc11626fa1f9@mail.gmail.com> Date: Mon, 01 Mar 2010 02:20:00 -0000 Message-ID: <6dc9ffc81002281820o4e297e49j4e611d46c76de736@mail.gmail.com> Subject: Re: [patch] Add support for and in target descriptions From: "H.J. Lu" To: gdb-patches@sourceware.org, Daniel Jacobowitz Content-Type: multipart/mixed; boundary=0016e6d5667a578c880480b3e447 X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2010-03/txt/msg00002.txt.bz2 --0016e6d5667a578c880480b3e447 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 4899 On Sun, Feb 28, 2010 at 4:56 PM, H.J. Lu wrote: > On Sun, Feb 28, 2010 at 4:15 PM, H.J. Lu wrote: >> On Mon, Feb 22, 2010 at 8:45 AM, Daniel Jacobowitz wrote: >>> Hi H.J., >>> >>> This patch adds support to the XML language. =A0Could you try >>> using this to move the two x86 flags registers from out of >>> target-descriptions.c? >>> >>> The flags support is straightforward and covered by the manual. >>> It's not tested because I couldn't find a way to do so; you can't >>> ptype a flags register, and you can't add dummy registers whose value >>> you can get at, only for ptype. >>> >>> The patch also adds , which is a little more interesting. >>> It's got two forms: >>> >>> * Register containing integer bitfields. =A0Each field must be >>> explicitly positioned. =A0The size must be pre-declared - otherwise >>> the representation GDB uses for big-endian bitfields can't figure out >>> how far from the MSB edge of the register the field is. >>> >>> * Register containing typed non-bitfield structures. =A0Each field must >>> be implicitly positioned. =A0There's no support for padding. >>> >>> These are somewhat annoying limitations, but they suffice for >>> everything I've needed this for since I wrote the patch, which was >>> originally several years ago; it's been stuck in my submission queue >>> because it was tangled up with other local patches. =A0Since they are >>> "must" restrictions, they are easy to lift in the future; we can make >>> GDB more permissive. >>> >>> These I was able to type, although I'd have liked more exhaustive >>> tests... for that, I'd need typeof, which turns out to be annoyingly >>> hard to implement in GDB's parser :-( >>> >>> Eli, how's the documentation? >>> >>> -- >>> Daniel Jacobowitz >>> CodeSourcery >>> >>> 2010-02-22 =A0Daniel Jacobowitz =A0 >>> >>> =A0 =A0 =A0 =A0* gdbtypes.c (append_composite_type_field_raw): New. >>> =A0 =A0 =A0 =A0(append_composite_type_field_aligned): Use the new funct= ion. >>> =A0 =A0 =A0 =A0* gdbtypes.h (append_composite_type_field_raw): Declare. >>> =A0 =A0 =A0 =A0* target-descriptions.c (struct tdesc_type_field): Add s= tart and end. >>> =A0 =A0 =A0 =A0(struct tdesc_type_flag): New type. >>> =A0 =A0 =A0 =A0(struct tdesc_type): Add TDESC_TYPE_STRUCT and TDESC_TYP= E_FLAGS to >>> =A0 =A0 =A0 =A0kind. =A0Add size to u.u. =A0Add u.f for flags. >>> =A0 =A0 =A0 =A0(tdesc_gdb_type): Handle TDESC_TYPE_STRUCT and TDESC_TYP= E_FLAGS. >>> =A0 =A0 =A0 =A0(tdesc_free_type): Likewise. >>> =A0 =A0 =A0 =A0(tdesc_create_struct, tdesc_set_struct_size, tdesc_creat= e_flags): New. >>> =A0 =A0 =A0 =A0(tdesc_add_field): Handle TDESC_TYPE_STRUCT. >>> =A0 =A0 =A0 =A0(tdesc_add_bitfield, tdesc_add_flag): New. >>> =A0 =A0 =A0 =A0* target-descriptions.h (tdesc_create_struct, tdesc_set_= struct_size) >>> =A0 =A0 =A0 =A0(tdesc_create_flags, tdesc_add_bitfield, tdesc_add_flag)= : Declare. >>> =A0 =A0 =A0 =A0* xml-tdesc.c (struct tdesc_parsing_data): Rename curren= t_union to >>> =A0 =A0 =A0 =A0current_type. =A0Add current_type_size and current_type_= is_flags. >>> =A0 =A0 =A0 =A0(tdesc_start_union): Clear the new fields. >>> =A0 =A0 =A0 =A0(tdesc_start_struct, tdesc_start_flags): New. >>> =A0 =A0 =A0 =A0(tdesc_start_field): Handle struct fields, including bit= fields. >>> =A0 =A0 =A0 =A0(field_attributes): Make type optional. =A0Add start and= end. >>> =A0 =A0 =A0 =A0(union_children): Rename to struct_union_children. >>> =A0 =A0 =A0 =A0(union_attributes): Rename to struct_union_attributes. = =A0Add optional >>> =A0 =A0 =A0 =A0size. >>> =A0 =A0 =A0 =A0(flags_attributes): New. >>> =A0 =A0 =A0 =A0(feature_children): Add struct and flags. >>> =A0 =A0 =A0 =A0* features/gdb-target.dtd: Add flags and struct to featu= res. >>> =A0 =A0 =A0 =A0Make field type optional. =A0Add field start and end. >>> >>> =A0 =A0 =A0 =A0* gdb.texinfo (Types): Describe and . >>> >>> =A0 =A0 =A0 =A0* gdb.xml/extra-regs.xml: Add struct1, struct2, and flags >>> =A0 =A0 =A0 =A0types. =A0Add structreg, bitfields, and flags registers. >>> =A0 =A0 =A0 =A0* gdb.xml/tdesc-regs.exp: Test structreg and bitfields >>> =A0 =A0 =A0 =A0registers. >>> >> >> It doesn't work. "case TDESC_TYPE_FLAGS:" is missing in >> maint_print_c_tdesc_cmd. >> >> > > This patch makes it to work. However, there is no equivalent of > > append_flags_type_flag (type, 1, NULL); > > I have > > =A0 > =A0 =A0 > =A0 =A0 > =A0 =A0 > .... > > I got > > (gdb) p $eflags > $1 =3D [ =A0PF ZF IF ] > =A0 =A0 =A0 =A0 =A0 ^ extra white space > (gdb) > > instead of > (gdb) p $eflags > $1 =3D [ PF ZF IF ] > (gdb) > Hi Daniel, This patch on top of yours works. Thanks. --=20 H.J. --0016e6d5667a578c880480b3e447 Content-Type: text/plain; charset=US-ASCII; name="gdb-flag-2.patch" Content-Disposition: attachment; filename="gdb-flag-2.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g68n72cl1 Content-length: 25226 MjAxMC0wMi0yOCAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgoK CSogdGFyZ2V0LWRlc2NyaXB0aW9ucy5jICh0ZGVzY190eXBlKTogUmVtb3Zl CglUREVTQ19UWVBFX0kzODZfRUZMQUdTIGFuZCBUREVTQ19UWVBFX0kzODZf TVhDU1IuCgkodGRlc2NfcHJlZGVmaW5lZF90eXBlcyk6IExpa2V3aXNlLgoJ KHRkZXNjX2dkYl90eXBlKTogTGlrZXdpc2UuICBQYXNzIE5VTEwgdG8gYXBw ZW5kX2ZsYWdzX3R5cGVfZmxhZwoJaWYgZmxhZyBuYW1lIGlzIGVtcHR5LgoJ KG1haW50X3ByaW50X2NfdGRlc2NfY21kKTogSGFuZGxlIFRERVNDX1RZUEVf RkxBR1MuCgoJKiBmZWF0dXJlcy9pMzg2LzMyYml0LWNvcmUueG1sOiBEZWZp bmUgaTM4Nl9lZmxhZ3MuCgkqIGZlYXR1cmVzL2kzODYvNjRiaXQtY29yZS54 bWw6IExpa2V3aXNlLgoKCSogZmVhdHVyZXMvaTM4Ni8zMmJpdC1zc2UueG1s OiBEZWZpbmUgaTM4Nl9teGNzci4KCSogZmVhdHVyZXMvaTM4Ni82NGJpdC1z c2UueG1sOiBMaWtld2lzZS4KCgkqIGZlYXR1cmVzL2kzODYvYW1kNjQtbGlu dXguYzogUmVnZW5lcmF0ZWQuCgkqIGZlYXR1cmVzL2kzODYvYW1kNjQuYzog TGlrZXdpc2UuCgkqIGZlYXR1cmVzL2kzODYvaTM4Ni1saW51eC5jOiBMaWtl d2lzZS4KCSogZmVhdHVyZXMvaTM4Ni9pMzg2LmM6IExpa2V3aXNlLgoKZGlm ZiAtLWdpdCBhL2dkYi9mZWF0dXJlcy9pMzg2LzMyYml0LWNvcmUueG1sIGIv Z2RiL2ZlYXR1cmVzL2kzODYvMzJiaXQtY29yZS54bWwKaW5kZXggYjA0NzA3 NC4uNGQwMzc3ZSAxMDA2NDQKLS0tIGEvZ2RiL2ZlYXR1cmVzL2kzODYvMzJi aXQtY29yZS54bWwKKysrIGIvZ2RiL2ZlYXR1cmVzL2kzODYvMzJiaXQtY29y ZS54bWwKQEAgLTcsNiArNywyNiBAQAogCiA8IURPQ1RZUEUgZmVhdHVyZSBT WVNURU0gImdkYi10YXJnZXQuZHRkIj4KIDxmZWF0dXJlIG5hbWU9Im9yZy5n bnUuZ2RiLmkzODYuY29yZSI+CisgIDxmbGFncyBpZD0iaTM4Nl9lZmxhZ3Mi IHNpemU9IjQiPgorICAgIDxmaWVsZCBuYW1lPSJDRiIgc3RhcnQ9IjAiIGVu ZD0iMCIvPgorICAgIDxmaWVsZCBuYW1lPSIiIHN0YXJ0PSIxIiBlbmQ9IjEi Lz4KKyAgICA8ZmllbGQgbmFtZT0iUEYiIHN0YXJ0PSIyIiBlbmQ9IjIiLz4K KyAgICA8ZmllbGQgbmFtZT0iQUYiIHN0YXJ0PSI0IiBlbmQ9IjQiLz4KKyAg ICA8ZmllbGQgbmFtZT0iWkYiIHN0YXJ0PSI2IiBlbmQ9IjYiLz4KKyAgICA8 ZmllbGQgbmFtZT0iU0YiIHN0YXJ0PSI3IiBlbmQ9IjciLz4KKyAgICA8Zmll bGQgbmFtZT0iVEYiIHN0YXJ0PSI4IiBlbmQ9IjgiLz4KKyAgICA8ZmllbGQg bmFtZT0iSUYiIHN0YXJ0PSI5IiBlbmQ9IjkiLz4KKyAgICA8ZmllbGQgbmFt ZT0iREYiIHN0YXJ0PSIxMCIgZW5kPSIxMCIvPgorICAgIDxmaWVsZCBuYW1l PSJPRiIgc3RhcnQ9IjExIiBlbmQ9IjExIi8+CisgICAgPGZpZWxkIG5hbWU9 Ik5UIiBzdGFydD0iMTQiIGVuZD0iMTQiLz4KKyAgICA8ZmllbGQgbmFtZT0i UkYiIHN0YXJ0PSIxNiIgZW5kPSIxNiIvPgorICAgIDxmaWVsZCBuYW1lPSJW TSIgc3RhcnQ9IjE3IiBlbmQ9IjE3Ii8+CisgICAgPGZpZWxkIG5hbWU9IkFD IiBzdGFydD0iMTgiIGVuZD0iMTgiLz4KKyAgICA8ZmllbGQgbmFtZT0iVklG IiBzdGFydD0iMTkiIGVuZD0iMTkiLz4KKyAgICA8ZmllbGQgbmFtZT0iVklQ IiBzdGFydD0iMjAiIGVuZD0iMjAiLz4KKyAgICA8ZmllbGQgbmFtZT0iSUQi IHN0YXJ0PSIyMSIgZW5kPSIyMSIvPgorICA8L2ZsYWdzPgorCiAgIDxyZWcg bmFtZT0iZWF4IiBiaXRzaXplPSIzMiIgdHlwZT0iaW50MzIiLz4KICAgPHJl ZyBuYW1lPSJlY3giIGJpdHNpemU9IjMyIiB0eXBlPSJpbnQzMiIvPgogICA8 cmVnIG5hbWU9ImVkeCIgYml0c2l6ZT0iMzIiIHR5cGU9ImludDMyIi8+CmRp ZmYgLS1naXQgYS9nZGIvZmVhdHVyZXMvaTM4Ni8zMmJpdC1zc2UueG1sIGIv Z2RiL2ZlYXR1cmVzL2kzODYvMzJiaXQtc3NlLnhtbAppbmRleCBlODQ5Yjhk Li5jY2E5NGIzIDEwMDY0NAotLS0gYS9nZGIvZmVhdHVyZXMvaTM4Ni8zMmJp dC1zc2UueG1sCisrKyBiL2dkYi9mZWF0dXJlcy9pMzg2LzMyYml0LXNzZS54 bWwKQEAgLTIyLDYgKzIyLDIyIEBACiAgICAgPGZpZWxkIG5hbWU9InYyX2lu dDY0IiB0eXBlPSJ2Mmk2NCIvPgogICAgIDxmaWVsZCBuYW1lPSJ1aW50MTI4 IiB0eXBlPSJ1aW50MTI4Ii8+CiAgIDwvdW5pb24+CisgIDxmbGFncyBpZD0i aTM4Nl9teGNzciIgc2l6ZT0iNCI+CisgICAgPGZpZWxkIG5hbWU9IklFIiBz dGFydD0iMCIgZW5kPSIwIi8+CisgICAgPGZpZWxkIG5hbWU9IkRFIiBzdGFy dD0iMSIgZW5kPSIxIi8+CisgICAgPGZpZWxkIG5hbWU9IlpFIiBzdGFydD0i MiIgZW5kPSIyIi8+CisgICAgPGZpZWxkIG5hbWU9Ik9FIiBzdGFydD0iMyIg ZW5kPSIzIi8+CisgICAgPGZpZWxkIG5hbWU9IlVFIiBzdGFydD0iNCIgZW5k PSI0Ii8+CisgICAgPGZpZWxkIG5hbWU9IlBFIiBzdGFydD0iNSIgZW5kPSI1 Ii8+CisgICAgPGZpZWxkIG5hbWU9IkRBWiIgc3RhcnQ9IjYiIGVuZD0iNiIv PgorICAgIDxmaWVsZCBuYW1lPSJJTSIgc3RhcnQ9IjciIGVuZD0iNyIvPgor ICAgIDxmaWVsZCBuYW1lPSJETSIgc3RhcnQ9IjgiIGVuZD0iOCIvPgorICAg IDxmaWVsZCBuYW1lPSJaTSIgc3RhcnQ9IjkiIGVuZD0iOSIvPgorICAgIDxm aWVsZCBuYW1lPSJPTSIgc3RhcnQ9IjEwIiBlbmQ9IjEwIi8+CisgICAgPGZp ZWxkIG5hbWU9IlVNIiBzdGFydD0iMTEiIGVuZD0iMTEiLz4KKyAgICA8Zmll bGQgbmFtZT0iUE0iIHN0YXJ0PSIxMiIgZW5kPSIxMiIvPgorICAgIDxmaWVs ZCBuYW1lPSJGWiIgc3RhcnQ9IjE1IiBlbmQ9IjE1Ii8+CisgIDwvZmxhZ3M+ CiAKICAgPHJlZyBuYW1lPSJ4bW0wIiBiaXRzaXplPSIxMjgiIHR5cGU9InZl YzEyOCIgcmVnbnVtPSIzMiIvPgogICA8cmVnIG5hbWU9InhtbTEiIGJpdHNp emU9IjEyOCIgdHlwZT0idmVjMTI4Ii8+CmRpZmYgLS1naXQgYS9nZGIvZmVh dHVyZXMvaTM4Ni82NGJpdC1jb3JlLnhtbCBiL2dkYi9mZWF0dXJlcy9pMzg2 LzY0Yml0LWNvcmUueG1sCmluZGV4IGFlNDFjZjIuLjhjZmUzZmUgMTAwNjQ0 Ci0tLSBhL2dkYi9mZWF0dXJlcy9pMzg2LzY0Yml0LWNvcmUueG1sCisrKyBi L2dkYi9mZWF0dXJlcy9pMzg2LzY0Yml0LWNvcmUueG1sCkBAIC03LDYgKzcs MjYgQEAKIAogPCFET0NUWVBFIGZlYXR1cmUgU1lTVEVNICJnZGItdGFyZ2V0 LmR0ZCI+CiA8ZmVhdHVyZSBuYW1lPSJvcmcuZ251LmdkYi5pMzg2LmNvcmUi PgorICA8ZmxhZ3MgaWQ9ImkzODZfZWZsYWdzIiBzaXplPSI0Ij4KKyAgICA8 ZmllbGQgbmFtZT0iQ0YiIHN0YXJ0PSIwIiBlbmQ9IjAiLz4KKyAgICA8Zmll bGQgbmFtZT0iIiBzdGFydD0iMSIgZW5kPSIxIi8+CisgICAgPGZpZWxkIG5h bWU9IlBGIiBzdGFydD0iMiIgZW5kPSIyIi8+CisgICAgPGZpZWxkIG5hbWU9 IkFGIiBzdGFydD0iNCIgZW5kPSI0Ii8+CisgICAgPGZpZWxkIG5hbWU9IlpG IiBzdGFydD0iNiIgZW5kPSI2Ii8+CisgICAgPGZpZWxkIG5hbWU9IlNGIiBz dGFydD0iNyIgZW5kPSI3Ii8+CisgICAgPGZpZWxkIG5hbWU9IlRGIiBzdGFy dD0iOCIgZW5kPSI4Ii8+CisgICAgPGZpZWxkIG5hbWU9IklGIiBzdGFydD0i OSIgZW5kPSI5Ii8+CisgICAgPGZpZWxkIG5hbWU9IkRGIiBzdGFydD0iMTAi IGVuZD0iMTAiLz4KKyAgICA8ZmllbGQgbmFtZT0iT0YiIHN0YXJ0PSIxMSIg ZW5kPSIxMSIvPgorICAgIDxmaWVsZCBuYW1lPSJOVCIgc3RhcnQ9IjE0IiBl bmQ9IjE0Ii8+CisgICAgPGZpZWxkIG5hbWU9IlJGIiBzdGFydD0iMTYiIGVu ZD0iMTYiLz4KKyAgICA8ZmllbGQgbmFtZT0iVk0iIHN0YXJ0PSIxNyIgZW5k PSIxNyIvPgorICAgIDxmaWVsZCBuYW1lPSJBQyIgc3RhcnQ9IjE4IiBlbmQ9 IjE4Ii8+CisgICAgPGZpZWxkIG5hbWU9IlZJRiIgc3RhcnQ9IjE5IiBlbmQ9 IjE5Ii8+CisgICAgPGZpZWxkIG5hbWU9IlZJUCIgc3RhcnQ9IjIwIiBlbmQ9 IjIwIi8+CisgICAgPGZpZWxkIG5hbWU9IklEIiBzdGFydD0iMjEiIGVuZD0i MjEiLz4KKyAgPC9mbGFncz4KKwogICA8cmVnIG5hbWU9InJheCIgYml0c2l6 ZT0iNjQiIHR5cGU9ImludDY0Ii8+CiAgIDxyZWcgbmFtZT0icmJ4IiBiaXRz aXplPSI2NCIgdHlwZT0iaW50NjQiLz4KICAgPHJlZyBuYW1lPSJyY3giIGJp dHNpemU9IjY0IiB0eXBlPSJpbnQ2NCIvPgpkaWZmIC0tZ2l0IGEvZ2RiL2Zl YXR1cmVzL2kzODYvNjRiaXQtc3NlLnhtbCBiL2dkYi9mZWF0dXJlcy9pMzg2 LzY0Yml0LXNzZS54bWwKaW5kZXggYTcxZmU3OC4uZDdmNzkyNSAxMDA2NDQK LS0tIGEvZ2RiL2ZlYXR1cmVzL2kzODYvNjRiaXQtc3NlLnhtbAorKysgYi9n ZGIvZmVhdHVyZXMvaTM4Ni82NGJpdC1zc2UueG1sCkBAIC0yMiw2ICsyMiwy MiBAQAogICAgIDxmaWVsZCBuYW1lPSJ2Ml9pbnQ2NCIgdHlwZT0idjJpNjQi Lz4KICAgICA8ZmllbGQgbmFtZT0idWludDEyOCIgdHlwZT0idWludDEyOCIv PgogICA8L3VuaW9uPgorICA8ZmxhZ3MgaWQ9ImkzODZfbXhjc3IiIHNpemU9 IjQiPgorICAgIDxmaWVsZCBuYW1lPSJJRSIgc3RhcnQ9IjAiIGVuZD0iMCIv PgorICAgIDxmaWVsZCBuYW1lPSJERSIgc3RhcnQ9IjEiIGVuZD0iMSIvPgor ICAgIDxmaWVsZCBuYW1lPSJaRSIgc3RhcnQ9IjIiIGVuZD0iMiIvPgorICAg IDxmaWVsZCBuYW1lPSJPRSIgc3RhcnQ9IjMiIGVuZD0iMyIvPgorICAgIDxm aWVsZCBuYW1lPSJVRSIgc3RhcnQ9IjQiIGVuZD0iNCIvPgorICAgIDxmaWVs ZCBuYW1lPSJQRSIgc3RhcnQ9IjUiIGVuZD0iNSIvPgorICAgIDxmaWVsZCBu YW1lPSJEQVoiIHN0YXJ0PSI2IiBlbmQ9IjYiLz4KKyAgICA8ZmllbGQgbmFt ZT0iSU0iIHN0YXJ0PSI3IiBlbmQ9IjciLz4KKyAgICA8ZmllbGQgbmFtZT0i RE0iIHN0YXJ0PSI4IiBlbmQ9IjgiLz4KKyAgICA8ZmllbGQgbmFtZT0iWk0i IHN0YXJ0PSI5IiBlbmQ9IjkiLz4KKyAgICA8ZmllbGQgbmFtZT0iT00iIHN0 YXJ0PSIxMCIgZW5kPSIxMCIvPgorICAgIDxmaWVsZCBuYW1lPSJVTSIgc3Rh cnQ9IjExIiBlbmQ9IjExIi8+CisgICAgPGZpZWxkIG5hbWU9IlBNIiBzdGFy dD0iMTIiIGVuZD0iMTIiLz4KKyAgICA8ZmllbGQgbmFtZT0iRloiIHN0YXJ0 PSIxNSIgZW5kPSIxNSIvPgorICA8L2ZsYWdzPgogCiAgIDxyZWcgbmFtZT0i eG1tMCIgYml0c2l6ZT0iMTI4IiB0eXBlPSJ2ZWMxMjgiIHJlZ251bT0iNDAi Lz4KICAgPHJlZyBuYW1lPSJ4bW0xIiBiaXRzaXplPSIxMjgiIHR5cGU9InZl YzEyOCIvPgpkaWZmIC0tZ2l0IGEvZ2RiL2ZlYXR1cmVzL2kzODYvYW1kNjQt bGludXguYyBiL2dkYi9mZWF0dXJlcy9pMzg2L2FtZDY0LWxpbnV4LmMKaW5k ZXggNjRhMjljZS4uNzFlZmNiZSAxMDA2NDQKLS0tIGEvZ2RiL2ZlYXR1cmVz L2kzODYvYW1kNjQtbGludXguYworKysgYi9nZGIvZmVhdHVyZXMvaTM4Ni9h bWQ2NC1saW51eC5jCkBAIC0xNyw2ICsxNywyNSBAQCBpbml0aWFsaXplX3Rk ZXNjX2FtZDY0X2xpbnV4ICh2b2lkKQogICBzZXRfdGRlc2Nfb3NhYmkgKHJl c3VsdCwgb3NhYmlfZnJvbV90ZGVzY19zdHJpbmcgKCJHTlUvTGludXgiKSk7 CiAKICAgZmVhdHVyZSA9IHRkZXNjX2NyZWF0ZV9mZWF0dXJlIChyZXN1bHQs ICJvcmcuZ251LmdkYi5pMzg2LmNvcmUiKTsKKyAgZmllbGRfdHlwZSA9IHRk ZXNjX2NyZWF0ZV9mbGFncyAoZmVhdHVyZSwgImkzODZfZWZsYWdzIiwgNCk7 CisgIHRkZXNjX2FkZF9mbGFnIChmaWVsZF90eXBlLCAwLCAiQ0YiKTsKKyAg dGRlc2NfYWRkX2ZsYWcgKGZpZWxkX3R5cGUsIDEsICIiKTsKKyAgdGRlc2Nf YWRkX2ZsYWcgKGZpZWxkX3R5cGUsIDIsICJQRiIpOworICB0ZGVzY19hZGRf ZmxhZyAoZmllbGRfdHlwZSwgNCwgIkFGIik7CisgIHRkZXNjX2FkZF9mbGFn IChmaWVsZF90eXBlLCA2LCAiWkYiKTsKKyAgdGRlc2NfYWRkX2ZsYWcgKGZp ZWxkX3R5cGUsIDcsICJTRiIpOworICB0ZGVzY19hZGRfZmxhZyAoZmllbGRf dHlwZSwgOCwgIlRGIik7CisgIHRkZXNjX2FkZF9mbGFnIChmaWVsZF90eXBl LCA5LCAiSUYiKTsKKyAgdGRlc2NfYWRkX2ZsYWcgKGZpZWxkX3R5cGUsIDEw LCAiREYiKTsKKyAgdGRlc2NfYWRkX2ZsYWcgKGZpZWxkX3R5cGUsIDExLCAi T0YiKTsKKyAgdGRlc2NfYWRkX2ZsYWcgKGZpZWxkX3R5cGUsIDE0LCAiTlQi KTsKKyAgdGRlc2NfYWRkX2ZsYWcgKGZpZWxkX3R5cGUsIDE2LCAiUkYiKTsK KyAgdGRlc2NfYWRkX2ZsYWcgKGZpZWxkX3R5cGUsIDE3LCAiVk0iKTsKKyAg dGRlc2NfYWRkX2ZsYWcgKGZpZWxkX3R5cGUsIDE4LCAiQUMiKTsKKyAgdGRl c2NfYWRkX2ZsYWcgKGZpZWxkX3R5cGUsIDE5LCAiVklGIik7CisgIHRkZXNj X2FkZF9mbGFnIChmaWVsZF90eXBlLCAyMCwgIlZJUCIpOworICB0ZGVzY19h ZGRfZmxhZyAoZmllbGRfdHlwZSwgMjEsICJJRCIpOworCiAgIHRkZXNjX2Ny ZWF0ZV9yZWcgKGZlYXR1cmUsICJyYXgiLCAwLCAxLCBOVUxMLCA2NCwgImlu dDY0Iik7CiAgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJyYngiLCAx LCAxLCBOVUxMLCA2NCwgImludDY0Iik7CiAgIHRkZXNjX2NyZWF0ZV9yZWcg KGZlYXR1cmUsICJyY3giLCAyLCAxLCBOVUxMLCA2NCwgImludDY0Iik7CkBA IC05Myw2ICsxMTIsMjIgQEAgaW5pdGlhbGl6ZV90ZGVzY19hbWQ2NF9saW51 eCAodm9pZCkKICAgZmllbGRfdHlwZSA9IHRkZXNjX25hbWVkX3R5cGUgKGZl YXR1cmUsICJ1aW50MTI4Iik7CiAgIHRkZXNjX2FkZF9maWVsZCAodHlwZSwg InVpbnQxMjgiLCBmaWVsZF90eXBlKTsKIAorICBmaWVsZF90eXBlID0gdGRl c2NfY3JlYXRlX2ZsYWdzIChmZWF0dXJlLCAiaTM4Nl9teGNzciIsIDQpOwor ICB0ZGVzY19hZGRfZmxhZyAoZmllbGRfdHlwZSwgMCwgIklFIik7CisgIHRk ZXNjX2FkZF9mbGFnIChmaWVsZF90eXBlLCAxLCAiREUiKTsKKyAgdGRlc2Nf YWRkX2ZsYWcgKGZpZWxkX3R5cGUsIDIsICJaRSIpOworICB0ZGVzY19hZGRf ZmxhZyAoZmllbGRfdHlwZSwgMywgIk9FIik7CisgIHRkZXNjX2FkZF9mbGFn IChmaWVsZF90eXBlLCA0LCAiVUUiKTsKKyAgdGRlc2NfYWRkX2ZsYWcgKGZp ZWxkX3R5cGUsIDUsICJQRSIpOworICB0ZGVzY19hZGRfZmxhZyAoZmllbGRf dHlwZSwgNiwgIkRBWiIpOworICB0ZGVzY19hZGRfZmxhZyAoZmllbGRfdHlw ZSwgNywgIklNIik7CisgIHRkZXNjX2FkZF9mbGFnIChmaWVsZF90eXBlLCA4 LCAiRE0iKTsKKyAgdGRlc2NfYWRkX2ZsYWcgKGZpZWxkX3R5cGUsIDksICJa TSIpOworICB0ZGVzY19hZGRfZmxhZyAoZmllbGRfdHlwZSwgMTAsICJPTSIp OworICB0ZGVzY19hZGRfZmxhZyAoZmllbGRfdHlwZSwgMTEsICJVTSIpOwor ICB0ZGVzY19hZGRfZmxhZyAoZmllbGRfdHlwZSwgMTIsICJQTSIpOworICB0 ZGVzY19hZGRfZmxhZyAoZmllbGRfdHlwZSwgMTUsICJGWiIpOworCiAgIHRk ZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ4bW0wIiwgNDAsIDEsIE5VTEws IDEyOCwgInZlYzEyOCIpOwogICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJl LCAieG1tMSIsIDQxLCAxLCBOVUxMLCAxMjgsICJ2ZWMxMjgiKTsKICAgdGRl c2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInhtbTIiLCA0MiwgMSwgTlVMTCwg MTI4LCAidmVjMTI4Iik7CmRpZmYgLS1naXQgYS9nZGIvZmVhdHVyZXMvaTM4 Ni9hbWQ2NC5jIGIvZ2RiL2ZlYXR1cmVzL2kzODYvYW1kNjQuYwppbmRleCBh ZjdiNzI5Li4xNTRlOGRmIDEwMDY0NAotLS0gYS9nZGIvZmVhdHVyZXMvaTM4 Ni9hbWQ2NC5jCisrKyBiL2dkYi9mZWF0dXJlcy9pMzg2L2FtZDY0LmMKQEAg LTE1LDYgKzE1LDI1IEBAIGluaXRpYWxpemVfdGRlc2NfYW1kNjQgKHZvaWQp CiAgIHNldF90ZGVzY19hcmNoaXRlY3R1cmUgKHJlc3VsdCwgYmZkX3NjYW5f YXJjaCAoImkzODY6eDg2LTY0IikpOwogCiAgIGZlYXR1cmUgPSB0ZGVzY19j cmVhdGVfZmVhdHVyZSAocmVzdWx0LCAib3JnLmdudS5nZGIuaTM4Ni5jb3Jl Iik7CisgIGZpZWxkX3R5cGUgPSB0ZGVzY19jcmVhdGVfZmxhZ3MgKGZlYXR1 cmUsICJpMzg2X2VmbGFncyIsIDQpOworICB0ZGVzY19hZGRfZmxhZyAoZmll bGRfdHlwZSwgMCwgIkNGIik7CisgIHRkZXNjX2FkZF9mbGFnIChmaWVsZF90 eXBlLCAxLCAiIik7CisgIHRkZXNjX2FkZF9mbGFnIChmaWVsZF90eXBlLCAy LCAiUEYiKTsKKyAgdGRlc2NfYWRkX2ZsYWcgKGZpZWxkX3R5cGUsIDQsICJB RiIpOworICB0ZGVzY19hZGRfZmxhZyAoZmllbGRfdHlwZSwgNiwgIlpGIik7 CisgIHRkZXNjX2FkZF9mbGFnIChmaWVsZF90eXBlLCA3LCAiU0YiKTsKKyAg dGRlc2NfYWRkX2ZsYWcgKGZpZWxkX3R5cGUsIDgsICJURiIpOworICB0ZGVz Y19hZGRfZmxhZyAoZmllbGRfdHlwZSwgOSwgIklGIik7CisgIHRkZXNjX2Fk ZF9mbGFnIChmaWVsZF90eXBlLCAxMCwgIkRGIik7CisgIHRkZXNjX2FkZF9m bGFnIChmaWVsZF90eXBlLCAxMSwgIk9GIik7CisgIHRkZXNjX2FkZF9mbGFn IChmaWVsZF90eXBlLCAxNCwgIk5UIik7CisgIHRkZXNjX2FkZF9mbGFnIChm aWVsZF90eXBlLCAxNiwgIlJGIik7CisgIHRkZXNjX2FkZF9mbGFnIChmaWVs ZF90eXBlLCAxNywgIlZNIik7CisgIHRkZXNjX2FkZF9mbGFnIChmaWVsZF90 eXBlLCAxOCwgIkFDIik7CisgIHRkZXNjX2FkZF9mbGFnIChmaWVsZF90eXBl LCAxOSwgIlZJRiIpOworICB0ZGVzY19hZGRfZmxhZyAoZmllbGRfdHlwZSwg MjAsICJWSVAiKTsKKyAgdGRlc2NfYWRkX2ZsYWcgKGZpZWxkX3R5cGUsIDIx LCAiSUQiKTsKKwogICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAicmF4 IiwgMCwgMSwgTlVMTCwgNjQsICJpbnQ2NCIpOwogICB0ZGVzY19jcmVhdGVf cmVnIChmZWF0dXJlLCAicmJ4IiwgMSwgMSwgTlVMTCwgNjQsICJpbnQ2NCIp OwogICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAicmN4IiwgMiwgMSwg TlVMTCwgNjQsICJpbnQ2NCIpOwpAQCAtOTEsNiArMTEwLDIyIEBAIGluaXRp YWxpemVfdGRlc2NfYW1kNjQgKHZvaWQpCiAgIGZpZWxkX3R5cGUgPSB0ZGVz Y19uYW1lZF90eXBlIChmZWF0dXJlLCAidWludDEyOCIpOwogICB0ZGVzY19h ZGRfZmllbGQgKHR5cGUsICJ1aW50MTI4IiwgZmllbGRfdHlwZSk7CiAKKyAg ZmllbGRfdHlwZSA9IHRkZXNjX2NyZWF0ZV9mbGFncyAoZmVhdHVyZSwgImkz ODZfbXhjc3IiLCA0KTsKKyAgdGRlc2NfYWRkX2ZsYWcgKGZpZWxkX3R5cGUs IDAsICJJRSIpOworICB0ZGVzY19hZGRfZmxhZyAoZmllbGRfdHlwZSwgMSwg IkRFIik7CisgIHRkZXNjX2FkZF9mbGFnIChmaWVsZF90eXBlLCAyLCAiWkUi KTsKKyAgdGRlc2NfYWRkX2ZsYWcgKGZpZWxkX3R5cGUsIDMsICJPRSIpOwor ICB0ZGVzY19hZGRfZmxhZyAoZmllbGRfdHlwZSwgNCwgIlVFIik7CisgIHRk ZXNjX2FkZF9mbGFnIChmaWVsZF90eXBlLCA1LCAiUEUiKTsKKyAgdGRlc2Nf YWRkX2ZsYWcgKGZpZWxkX3R5cGUsIDYsICJEQVoiKTsKKyAgdGRlc2NfYWRk X2ZsYWcgKGZpZWxkX3R5cGUsIDcsICJJTSIpOworICB0ZGVzY19hZGRfZmxh ZyAoZmllbGRfdHlwZSwgOCwgIkRNIik7CisgIHRkZXNjX2FkZF9mbGFnIChm aWVsZF90eXBlLCA5LCAiWk0iKTsKKyAgdGRlc2NfYWRkX2ZsYWcgKGZpZWxk X3R5cGUsIDEwLCAiT00iKTsKKyAgdGRlc2NfYWRkX2ZsYWcgKGZpZWxkX3R5 cGUsIDExLCAiVU0iKTsKKyAgdGRlc2NfYWRkX2ZsYWcgKGZpZWxkX3R5cGUs IDEyLCAiUE0iKTsKKyAgdGRlc2NfYWRkX2ZsYWcgKGZpZWxkX3R5cGUsIDE1 LCAiRloiKTsKKwogICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAieG1t MCIsIDQwLCAxLCBOVUxMLCAxMjgsICJ2ZWMxMjgiKTsKICAgdGRlc2NfY3Jl YXRlX3JlZyAoZmVhdHVyZSwgInhtbTEiLCA0MSwgMSwgTlVMTCwgMTI4LCAi dmVjMTI4Iik7CiAgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ4bW0y IiwgNDIsIDEsIE5VTEwsIDEyOCwgInZlYzEyOCIpOwpkaWZmIC0tZ2l0IGEv Z2RiL2ZlYXR1cmVzL2kzODYvaTM4Ni1saW51eC5jIGIvZ2RiL2ZlYXR1cmVz L2kzODYvaTM4Ni1saW51eC5jCmluZGV4IDM3NDQ3YmQuLmNjMWZiOTkgMTAw NjQ0Ci0tLSBhL2dkYi9mZWF0dXJlcy9pMzg2L2kzODYtbGludXguYworKysg Yi9nZGIvZmVhdHVyZXMvaTM4Ni9pMzg2LWxpbnV4LmMKQEAgLTE3LDYgKzE3 LDI1IEBAIGluaXRpYWxpemVfdGRlc2NfaTM4Nl9saW51eCAodm9pZCkKICAg c2V0X3RkZXNjX29zYWJpIChyZXN1bHQsIG9zYWJpX2Zyb21fdGRlc2Nfc3Ry aW5nICgiR05VL0xpbnV4IikpOwogCiAgIGZlYXR1cmUgPSB0ZGVzY19jcmVh dGVfZmVhdHVyZSAocmVzdWx0LCAib3JnLmdudS5nZGIuaTM4Ni5jb3JlIik7 CisgIGZpZWxkX3R5cGUgPSB0ZGVzY19jcmVhdGVfZmxhZ3MgKGZlYXR1cmUs ICJpMzg2X2VmbGFncyIsIDQpOworICB0ZGVzY19hZGRfZmxhZyAoZmllbGRf dHlwZSwgMCwgIkNGIik7CisgIHRkZXNjX2FkZF9mbGFnIChmaWVsZF90eXBl LCAxLCAiIik7CisgIHRkZXNjX2FkZF9mbGFnIChmaWVsZF90eXBlLCAyLCAi UEYiKTsKKyAgdGRlc2NfYWRkX2ZsYWcgKGZpZWxkX3R5cGUsIDQsICJBRiIp OworICB0ZGVzY19hZGRfZmxhZyAoZmllbGRfdHlwZSwgNiwgIlpGIik7Cisg IHRkZXNjX2FkZF9mbGFnIChmaWVsZF90eXBlLCA3LCAiU0YiKTsKKyAgdGRl c2NfYWRkX2ZsYWcgKGZpZWxkX3R5cGUsIDgsICJURiIpOworICB0ZGVzY19h ZGRfZmxhZyAoZmllbGRfdHlwZSwgOSwgIklGIik7CisgIHRkZXNjX2FkZF9m bGFnIChmaWVsZF90eXBlLCAxMCwgIkRGIik7CisgIHRkZXNjX2FkZF9mbGFn IChmaWVsZF90eXBlLCAxMSwgIk9GIik7CisgIHRkZXNjX2FkZF9mbGFnIChm aWVsZF90eXBlLCAxNCwgIk5UIik7CisgIHRkZXNjX2FkZF9mbGFnIChmaWVs ZF90eXBlLCAxNiwgIlJGIik7CisgIHRkZXNjX2FkZF9mbGFnIChmaWVsZF90 eXBlLCAxNywgIlZNIik7CisgIHRkZXNjX2FkZF9mbGFnIChmaWVsZF90eXBl LCAxOCwgIkFDIik7CisgIHRkZXNjX2FkZF9mbGFnIChmaWVsZF90eXBlLCAx OSwgIlZJRiIpOworICB0ZGVzY19hZGRfZmxhZyAoZmllbGRfdHlwZSwgMjAs ICJWSVAiKTsKKyAgdGRlc2NfYWRkX2ZsYWcgKGZpZWxkX3R5cGUsIDIxLCAi SUQiKTsKKwogICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZWF4Iiwg MCwgMSwgTlVMTCwgMzIsICJpbnQzMiIpOwogICB0ZGVzY19jcmVhdGVfcmVn IChmZWF0dXJlLCAiZWN4IiwgMSwgMSwgTlVMTCwgMzIsICJpbnQzMiIpOwog ICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZWR4IiwgMiwgMSwgTlVM TCwgMzIsICJpbnQzMiIpOwpAQCAtODgsNiArMTA3LDIyIEBAIGluaXRpYWxp emVfdGRlc2NfaTM4Nl9saW51eCAodm9pZCkKICAgZmllbGRfdHlwZSA9IHRk ZXNjX25hbWVkX3R5cGUgKGZlYXR1cmUsICJ1aW50MTI4Iik7CiAgIHRkZXNj X2FkZF9maWVsZCAodHlwZSwgInVpbnQxMjgiLCBmaWVsZF90eXBlKTsKIAor ICBmaWVsZF90eXBlID0gdGRlc2NfY3JlYXRlX2ZsYWdzIChmZWF0dXJlLCAi aTM4Nl9teGNzciIsIDQpOworICB0ZGVzY19hZGRfZmxhZyAoZmllbGRfdHlw ZSwgMCwgIklFIik7CisgIHRkZXNjX2FkZF9mbGFnIChmaWVsZF90eXBlLCAx LCAiREUiKTsKKyAgdGRlc2NfYWRkX2ZsYWcgKGZpZWxkX3R5cGUsIDIsICJa RSIpOworICB0ZGVzY19hZGRfZmxhZyAoZmllbGRfdHlwZSwgMywgIk9FIik7 CisgIHRkZXNjX2FkZF9mbGFnIChmaWVsZF90eXBlLCA0LCAiVUUiKTsKKyAg dGRlc2NfYWRkX2ZsYWcgKGZpZWxkX3R5cGUsIDUsICJQRSIpOworICB0ZGVz Y19hZGRfZmxhZyAoZmllbGRfdHlwZSwgNiwgIkRBWiIpOworICB0ZGVzY19h ZGRfZmxhZyAoZmllbGRfdHlwZSwgNywgIklNIik7CisgIHRkZXNjX2FkZF9m bGFnIChmaWVsZF90eXBlLCA4LCAiRE0iKTsKKyAgdGRlc2NfYWRkX2ZsYWcg KGZpZWxkX3R5cGUsIDksICJaTSIpOworICB0ZGVzY19hZGRfZmxhZyAoZmll bGRfdHlwZSwgMTAsICJPTSIpOworICB0ZGVzY19hZGRfZmxhZyAoZmllbGRf dHlwZSwgMTEsICJVTSIpOworICB0ZGVzY19hZGRfZmxhZyAoZmllbGRfdHlw ZSwgMTIsICJQTSIpOworICB0ZGVzY19hZGRfZmxhZyAoZmllbGRfdHlwZSwg MTUsICJGWiIpOworCiAgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUsICJ4 bW0wIiwgMzIsIDEsIE5VTEwsIDEyOCwgInZlYzEyOCIpOwogICB0ZGVzY19j cmVhdGVfcmVnIChmZWF0dXJlLCAieG1tMSIsIDMzLCAxLCBOVUxMLCAxMjgs ICJ2ZWMxMjgiKTsKICAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInht bTIiLCAzNCwgMSwgTlVMTCwgMTI4LCAidmVjMTI4Iik7CmRpZmYgLS1naXQg YS9nZGIvZmVhdHVyZXMvaTM4Ni9pMzg2LmMgYi9nZGIvZmVhdHVyZXMvaTM4 Ni9pMzg2LmMKaW5kZXggNWFjOWFkOS4uN2Y3YmViMyAxMDA2NDQKLS0tIGEv Z2RiL2ZlYXR1cmVzL2kzODYvaTM4Ni5jCisrKyBiL2dkYi9mZWF0dXJlcy9p Mzg2L2kzODYuYwpAQCAtMTUsNiArMTUsMjUgQEAgaW5pdGlhbGl6ZV90ZGVz Y19pMzg2ICh2b2lkKQogICBzZXRfdGRlc2NfYXJjaGl0ZWN0dXJlIChyZXN1 bHQsIGJmZF9zY2FuX2FyY2ggKCJpMzg2IikpOwogCiAgIGZlYXR1cmUgPSB0 ZGVzY19jcmVhdGVfZmVhdHVyZSAocmVzdWx0LCAib3JnLmdudS5nZGIuaTM4 Ni5jb3JlIik7CisgIGZpZWxkX3R5cGUgPSB0ZGVzY19jcmVhdGVfZmxhZ3Mg KGZlYXR1cmUsICJpMzg2X2VmbGFncyIsIDQpOworICB0ZGVzY19hZGRfZmxh ZyAoZmllbGRfdHlwZSwgMCwgIkNGIik7CisgIHRkZXNjX2FkZF9mbGFnIChm aWVsZF90eXBlLCAxLCAiIik7CisgIHRkZXNjX2FkZF9mbGFnIChmaWVsZF90 eXBlLCAyLCAiUEYiKTsKKyAgdGRlc2NfYWRkX2ZsYWcgKGZpZWxkX3R5cGUs IDQsICJBRiIpOworICB0ZGVzY19hZGRfZmxhZyAoZmllbGRfdHlwZSwgNiwg IlpGIik7CisgIHRkZXNjX2FkZF9mbGFnIChmaWVsZF90eXBlLCA3LCAiU0Yi KTsKKyAgdGRlc2NfYWRkX2ZsYWcgKGZpZWxkX3R5cGUsIDgsICJURiIpOwor ICB0ZGVzY19hZGRfZmxhZyAoZmllbGRfdHlwZSwgOSwgIklGIik7CisgIHRk ZXNjX2FkZF9mbGFnIChmaWVsZF90eXBlLCAxMCwgIkRGIik7CisgIHRkZXNj X2FkZF9mbGFnIChmaWVsZF90eXBlLCAxMSwgIk9GIik7CisgIHRkZXNjX2Fk ZF9mbGFnIChmaWVsZF90eXBlLCAxNCwgIk5UIik7CisgIHRkZXNjX2FkZF9m bGFnIChmaWVsZF90eXBlLCAxNiwgIlJGIik7CisgIHRkZXNjX2FkZF9mbGFn IChmaWVsZF90eXBlLCAxNywgIlZNIik7CisgIHRkZXNjX2FkZF9mbGFnIChm aWVsZF90eXBlLCAxOCwgIkFDIik7CisgIHRkZXNjX2FkZF9mbGFnIChmaWVs ZF90eXBlLCAxOSwgIlZJRiIpOworICB0ZGVzY19hZGRfZmxhZyAoZmllbGRf dHlwZSwgMjAsICJWSVAiKTsKKyAgdGRlc2NfYWRkX2ZsYWcgKGZpZWxkX3R5 cGUsIDIxLCAiSUQiKTsKKwogICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJl LCAiZWF4IiwgMCwgMSwgTlVMTCwgMzIsICJpbnQzMiIpOwogICB0ZGVzY19j cmVhdGVfcmVnIChmZWF0dXJlLCAiZWN4IiwgMSwgMSwgTlVMTCwgMzIsICJp bnQzMiIpOwogICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJlLCAiZWR4Iiwg MiwgMSwgTlVMTCwgMzIsICJpbnQzMiIpOwpAQCAtODMsNiArMTAyLDIyIEBA IGluaXRpYWxpemVfdGRlc2NfaTM4NiAodm9pZCkKICAgZmllbGRfdHlwZSA9 IHRkZXNjX25hbWVkX3R5cGUgKGZlYXR1cmUsICJ1aW50MTI4Iik7CiAgIHRk ZXNjX2FkZF9maWVsZCAodHlwZSwgInVpbnQxMjgiLCBmaWVsZF90eXBlKTsK IAorICBmaWVsZF90eXBlID0gdGRlc2NfY3JlYXRlX2ZsYWdzIChmZWF0dXJl LCAiaTM4Nl9teGNzciIsIDQpOworICB0ZGVzY19hZGRfZmxhZyAoZmllbGRf dHlwZSwgMCwgIklFIik7CisgIHRkZXNjX2FkZF9mbGFnIChmaWVsZF90eXBl LCAxLCAiREUiKTsKKyAgdGRlc2NfYWRkX2ZsYWcgKGZpZWxkX3R5cGUsIDIs ICJaRSIpOworICB0ZGVzY19hZGRfZmxhZyAoZmllbGRfdHlwZSwgMywgIk9F Iik7CisgIHRkZXNjX2FkZF9mbGFnIChmaWVsZF90eXBlLCA0LCAiVUUiKTsK KyAgdGRlc2NfYWRkX2ZsYWcgKGZpZWxkX3R5cGUsIDUsICJQRSIpOworICB0 ZGVzY19hZGRfZmxhZyAoZmllbGRfdHlwZSwgNiwgIkRBWiIpOworICB0ZGVz Y19hZGRfZmxhZyAoZmllbGRfdHlwZSwgNywgIklNIik7CisgIHRkZXNjX2Fk ZF9mbGFnIChmaWVsZF90eXBlLCA4LCAiRE0iKTsKKyAgdGRlc2NfYWRkX2Zs YWcgKGZpZWxkX3R5cGUsIDksICJaTSIpOworICB0ZGVzY19hZGRfZmxhZyAo ZmllbGRfdHlwZSwgMTAsICJPTSIpOworICB0ZGVzY19hZGRfZmxhZyAoZmll bGRfdHlwZSwgMTEsICJVTSIpOworICB0ZGVzY19hZGRfZmxhZyAoZmllbGRf dHlwZSwgMTIsICJQTSIpOworICB0ZGVzY19hZGRfZmxhZyAoZmllbGRfdHlw ZSwgMTUsICJGWiIpOworCiAgIHRkZXNjX2NyZWF0ZV9yZWcgKGZlYXR1cmUs ICJ4bW0wIiwgMzIsIDEsIE5VTEwsIDEyOCwgInZlYzEyOCIpOwogICB0ZGVz Y19jcmVhdGVfcmVnIChmZWF0dXJlLCAieG1tMSIsIDMzLCAxLCBOVUxMLCAx MjgsICJ2ZWMxMjgiKTsKICAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwg InhtbTIiLCAzNCwgMSwgTlVMTCwgMTI4LCAidmVjMTI4Iik7CmRpZmYgLS1n aXQgYS9nZGIvdGFyZ2V0LWRlc2NyaXB0aW9ucy5jIGIvZ2RiL3RhcmdldC1k ZXNjcmlwdGlvbnMuYwppbmRleCA3N2RkMzdiLi44NmFkYzlkIDEwMDY0NAot LS0gYS9nZGIvdGFyZ2V0LWRlc2NyaXB0aW9ucy5jCisrKyBiL2dkYi90YXJn ZXQtZGVzY3JpcHRpb25zLmMKQEAgLTEyNiw4ICsxMjYsNiBAQCB0eXBlZGVm IHN0cnVjdCB0ZGVzY190eXBlCiAgICAgVERFU0NfVFlQRV9JRUVFX0RPVUJM RSwKICAgICBUREVTQ19UWVBFX0FSTV9GUEFfRVhULAogICAgIFRERVNDX1RZ UEVfSTM4N19FWFQsCi0gICAgVERFU0NfVFlQRV9JMzg2X0VGTEFHUywKLSAg ICBUREVTQ19UWVBFX0kzODZfTVhDU1IsCiAKICAgICAvKiBUeXBlcyBkZWZp bmVkIGJ5IGEgdGFyZ2V0IGZlYXR1cmUuICAqLwogICAgIFRERVNDX1RZUEVf VkVDVE9SLApAQCAtNDgzLDkgKzQ4MSw3IEBAIHN0YXRpYyBzdHJ1Y3QgdGRl c2NfdHlwZSB0ZGVzY19wcmVkZWZpbmVkX3R5cGVzW10gPQogICB7ICJpZWVl X3NpbmdsZSIsIFRERVNDX1RZUEVfSUVFRV9TSU5HTEUgfSwKICAgeyAiaWVl ZV9kb3VibGUiLCBUREVTQ19UWVBFX0lFRUVfRE9VQkxFIH0sCiAgIHsgImFy bV9mcGFfZXh0IiwgVERFU0NfVFlQRV9BUk1fRlBBX0VYVCB9LAotICB7ICJp Mzg3X2V4dCIsIFRERVNDX1RZUEVfSTM4N19FWFQgfSwKLSAgeyAiaTM4Nl9l ZmxhZ3MiLCBUREVTQ19UWVBFX0kzODZfRUZMQUdTIH0sCi0gIHsgImkzODZf bXhjc3IiLCBUREVTQ19UWVBFX0kzODZfTVhDU1IgfQorICB7ICJpMzg3X2V4 dCIsIFRERVNDX1RZUEVfSTM4N19FWFQgfQogfTsKIAogLyogUmV0dXJuIHRo ZSB0eXBlIGFzc29jaWF0ZWQgd2l0aCBJRCBpbiB0aGUgY29udGV4dCBvZiBG RUFUVVJFLCBvcgpAQCAtNjA3LDU3ICs2MDMsNiBAQCB0ZGVzY19nZGJfdHlw ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB0ZGVzY190eXBl ICp0ZGVzY190eXBlKQogICAgICAgcmV0dXJuIGFyY2hfZmxvYXRfdHlwZSAo Z2RiYXJjaCwgLTEsICJidWlsdGluX3R5cGVfaTM4N19leHQiLAogCQkJICAg ICAgZmxvYXRmb3JtYXRzX2kzODdfZXh0KTsKIAotICAgIGNhc2UgVERFU0Nf VFlQRV9JMzg2X0VGTEFHUzoKLSAgICAgIHsKLQlzdHJ1Y3QgdHlwZSAqdHlw ZTsKLQotCXR5cGUgPSBhcmNoX2ZsYWdzX3R5cGUgKGdkYmFyY2gsICJidWls dGluX3R5cGVfaTM4Nl9lZmxhZ3MiLCA0KTsKLQlhcHBlbmRfZmxhZ3NfdHlw ZV9mbGFnICh0eXBlLCAwLCAiQ0YiKTsKLQlhcHBlbmRfZmxhZ3NfdHlwZV9m bGFnICh0eXBlLCAxLCBOVUxMKTsKLQlhcHBlbmRfZmxhZ3NfdHlwZV9mbGFn ICh0eXBlLCAyLCAiUEYiKTsKLQlhcHBlbmRfZmxhZ3NfdHlwZV9mbGFnICh0 eXBlLCA0LCAiQUYiKTsKLQlhcHBlbmRfZmxhZ3NfdHlwZV9mbGFnICh0eXBl LCA2LCAiWkYiKTsKLQlhcHBlbmRfZmxhZ3NfdHlwZV9mbGFnICh0eXBlLCA3 LCAiU0YiKTsKLQlhcHBlbmRfZmxhZ3NfdHlwZV9mbGFnICh0eXBlLCA4LCAi VEYiKTsKLQlhcHBlbmRfZmxhZ3NfdHlwZV9mbGFnICh0eXBlLCA5LCAiSUYi KTsKLQlhcHBlbmRfZmxhZ3NfdHlwZV9mbGFnICh0eXBlLCAxMCwgIkRGIik7 Ci0JYXBwZW5kX2ZsYWdzX3R5cGVfZmxhZyAodHlwZSwgMTEsICJPRiIpOwot CWFwcGVuZF9mbGFnc190eXBlX2ZsYWcgKHR5cGUsIDE0LCAiTlQiKTsKLQlh cHBlbmRfZmxhZ3NfdHlwZV9mbGFnICh0eXBlLCAxNiwgIlJGIik7Ci0JYXBw ZW5kX2ZsYWdzX3R5cGVfZmxhZyAodHlwZSwgMTcsICJWTSIpOwotCWFwcGVu ZF9mbGFnc190eXBlX2ZsYWcgKHR5cGUsIDE4LCAiQUMiKTsKLQlhcHBlbmRf ZmxhZ3NfdHlwZV9mbGFnICh0eXBlLCAxOSwgIlZJRiIpOwotCWFwcGVuZF9m bGFnc190eXBlX2ZsYWcgKHR5cGUsIDIwLCAiVklQIik7Ci0JYXBwZW5kX2Zs YWdzX3R5cGVfZmxhZyAodHlwZSwgMjEsICJJRCIpOwotCi0JcmV0dXJuIHR5 cGU7Ci0gICAgICB9Ci0gICAgYnJlYWs7Ci0KLSAgICBjYXNlIFRERVNDX1RZ UEVfSTM4Nl9NWENTUjoKLSAgICAgIHsKLQlzdHJ1Y3QgdHlwZSAqdHlwZTsK LQotCXR5cGUgPSBhcmNoX2ZsYWdzX3R5cGUgKGdkYmFyY2gsICJidWlsdGlu X3R5cGVfaTM4Nl9teGNzciIsIDQpOwotCWFwcGVuZF9mbGFnc190eXBlX2Zs YWcgKHR5cGUsIDAsICJJRSIpOwotCWFwcGVuZF9mbGFnc190eXBlX2ZsYWcg KHR5cGUsIDEsICJERSIpOwotCWFwcGVuZF9mbGFnc190eXBlX2ZsYWcgKHR5 cGUsIDIsICJaRSIpOwotCWFwcGVuZF9mbGFnc190eXBlX2ZsYWcgKHR5cGUs IDMsICJPRSIpOwotCWFwcGVuZF9mbGFnc190eXBlX2ZsYWcgKHR5cGUsIDQs ICJVRSIpOwotCWFwcGVuZF9mbGFnc190eXBlX2ZsYWcgKHR5cGUsIDUsICJQ RSIpOwotCWFwcGVuZF9mbGFnc190eXBlX2ZsYWcgKHR5cGUsIDYsICJEQVoi KTsKLQlhcHBlbmRfZmxhZ3NfdHlwZV9mbGFnICh0eXBlLCA3LCAiSU0iKTsK LQlhcHBlbmRfZmxhZ3NfdHlwZV9mbGFnICh0eXBlLCA4LCAiRE0iKTsKLQlh cHBlbmRfZmxhZ3NfdHlwZV9mbGFnICh0eXBlLCA5LCAiWk0iKTsKLQlhcHBl bmRfZmxhZ3NfdHlwZV9mbGFnICh0eXBlLCAxMCwgIk9NIik7Ci0JYXBwZW5k X2ZsYWdzX3R5cGVfZmxhZyAodHlwZSwgMTEsICJVTSIpOwotCWFwcGVuZF9m bGFnc190eXBlX2ZsYWcgKHR5cGUsIDEyLCAiUE0iKTsKLQlhcHBlbmRfZmxh Z3NfdHlwZV9mbGFnICh0eXBlLCAxNSwgIkZaIik7Ci0KLQlyZXR1cm4gdHlw ZTsKLSAgICAgIH0KLSAgICBicmVhazsKLQogICAgIC8qIFR5cGVzIGRlZmlu ZWQgYnkgYSB0YXJnZXQgZmVhdHVyZS4gICovCiAgICAgY2FzZSBUREVTQ19U WVBFX1ZFQ1RPUjoKICAgICAgIHsKQEAgLTc2OSw3ICs3MTQsOCBAQCB0ZGVz Y19nZGJfdHlwZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB0 ZGVzY190eXBlICp0ZGVzY190eXBlKQogCSAgLyogTm90ZSB0aGF0IGNvbnRy YXJ5IHRvIHRoZSBmdW5jdGlvbiBuYW1lLCB0aGlzIGNhbGwgd2lsbAogCSAg ICAganVzdCBzZXQgdGhlIHByb3BlcnRpZXMgb2YgYW4gYWxyZWFkeS1hbGxv Y2F0ZWQKIAkgICAgIGZpZWxkLiAgKi8KLQkgIGFwcGVuZF9mbGFnc190eXBl X2ZsYWcgKHR5cGUsIGYtPnN0YXJ0LCBmLT5uYW1lKTsKKwkgIGFwcGVuZF9m bGFnc190eXBlX2ZsYWcgKHR5cGUsIGYtPnN0YXJ0LAorCQkJCSAgKmYtPm5h bWUgPyBmLT5uYW1lIDogTlVMTCk7CiAKIAlyZXR1cm4gdHlwZTsKICAgICAg IH0KQEAgLTE2MDIsNiArMTU0OCw3IEBAIG1haW50X3ByaW50X2NfdGRlc2Nf Y21kIChjaGFyICphcmdzLCBpbnQgZnJvbV90dHkpCiAgIHN0cnVjdCB0ZGVz Y19yZWcgKnJlZzsKICAgc3RydWN0IHRkZXNjX3R5cGUgKnR5cGU7CiAgIHN0 cnVjdCB0ZGVzY190eXBlX2ZpZWxkICpmOworICBzdHJ1Y3QgdGRlc2NfdHlw ZV9mbGFnICpmbGFnOwogICBpbnQgaXgsIGl4MiwgaXgzOwogCiAgIC8qIFVz ZSB0aGUgZ2xvYmFsIHRhcmdldC1zdXBwbGllZCBkZXNjcmlwdGlvbiwgbm90 IHRoZSBjdXJyZW50CkBAIC0xNzE1LDYgKzE2NjIsMTggQEAgbWFpbnRfcHJp bnRfY190ZGVzY19jbWQgKGNoYXIgKmFyZ3MsIGludCBmcm9tX3R0eSkKIAkJ ICAgICBmLT5uYW1lKTsKIAkJfQogCSAgICAgIGJyZWFrOworCSAgICBjYXNl IFRERVNDX1RZUEVfRkxBR1M6CisJICAgICAgcHJpbnRmX3VuZmlsdGVyZWQK KwkJKCIgIGZpZWxkX3R5cGUgPSB0ZGVzY19jcmVhdGVfZmxhZ3MgKGZlYXR1 cmUsIFwiJXNcIiwgJWQpO1xuIiwKKwkJIHR5cGUtPm5hbWUsIChpbnQpIHR5 cGUtPnUuZi5zaXplKTsKKwkgICAgICBmb3IgKGl4MyA9IDA7CisJCSAgIFZF Q19pdGVyYXRlICh0ZGVzY190eXBlX2ZsYWcsIHR5cGUtPnUuZi5mbGFncywg aXgzLAorCQkJCWZsYWcpOworCQkgICBpeDMrKykKKwkJcHJpbnRmX3VuZmls dGVyZWQKKwkJICAoIiAgdGRlc2NfYWRkX2ZsYWcgKGZpZWxkX3R5cGUsICVk LCBcIiVzXCIpO1xuIiwKKwkJICAgZmxhZy0+c3RhcnQsIGZsYWctPm5hbWUp OworCSAgICAgIGJyZWFrOwogCSAgICBkZWZhdWx0OgogCSAgICAgIGVycm9y IChfKCJDIG91dHB1dCBpcyBub3Qgc3VwcG9ydGVkIHR5cGUgXCIlc1wiLiIp LCB0eXBlLT5uYW1lKTsKIAkgICAgfQo= --0016e6d5667a578c880480b3e447--