From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 019593858417 for ; Mon, 20 Mar 2023 22:50:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 019593858417 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1679352635; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=7s14LXAu3bUzYOjlRc788xAbXHHxFMP3lXVbsYL9oR4=; b=U6UBRgCx+Bb+LmUnI+OWuZ9ztPkg2oFeMyz0lnn0fz59v2ra08sI+plbYJ9i5PjyqIw9GY DZUaSOm6rabd9qf/Ri0lZ9qdzQj0XZr1T+EKYdM3TEahBgWlN35KWnJbHUcDs3WH4yxuPG 0/yv2chVdFwba7GpWrSuAKtj9CzY05Y= Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-453-VG7vTOSDPHerKhId_RQl0A-1; Mon, 20 Mar 2023 18:50:34 -0400 X-MC-Unique: VG7vTOSDPHerKhId_RQl0A-1 Received: by mail-qv1-f72.google.com with SMTP id dl18-20020ad44e12000000b005a4d5420bc6so6838885qvb.11 for ; Mon, 20 Mar 2023 15:50:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679352633; h=mime-version:user-agent:references:in-reply-to:date:cc:to:from :subject:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=dAecoj2xeKKfJ6lGTyNSGXt9J5S2vR7idBW+AitHB38=; b=7ZajqGuwaG4SXl9+n230zKEHZd5b9NzTkMTgGWzFnKtnZOKd64hr90/BhM6TE9tbAB +0GzS5nevPTMFMbVg2Ve5SDIePwQSH/QGhaMlzZTotblUXC0n1o4SR0W58BIrJcEUX9C cxwFqPJg8z9MpLyIuA0HYSWdyeZw0KADUC+pgdvizfl3bPP/arVEefA6UOiK3m2cX25g JGHaXA1w9/gwV10yMf5awjl7rNRyaKJ8ti6y3ybzfDu/9ko1WJu3KVzlIKZ5AJL0jxMX Z2eML311xAow5XybT8bpOLdr2KiYKwWbh1SPWe4qCTyOERALia99XIM3ygF2/2raBRtt QJJQ== X-Gm-Message-State: AO0yUKW+1Cr7kic3TRMhRW1d6WXjofxqlUAmSZtZNBZbpxuIbf40ilI+ KqpuVaKbWcRTpKJIZW4pQZ3zotnCwjhYHlZiYFxDuZTKlyQuuRKxEH3KjdqOK4hbvIW9s83In7y v9+hNb7EkSX3in7E= X-Received: by 2002:a05:622a:1a05:b0:3e3:7e6b:50c6 with SMTP id f5-20020a05622a1a0500b003e37e6b50c6mr1409146qtb.65.1679352633133; Mon, 20 Mar 2023 15:50:33 -0700 (PDT) X-Google-Smtp-Source: AK7set+UkZsU+IlQB3qoLhWRsg+hnmnZ8ftjZYGCO/ToNWjEP/VYvX5VOUouJ6DPuI3Q7SAppPhBqA== X-Received: by 2002:a05:622a:1a05:b0:3e3:7e6b:50c6 with SMTP id f5-20020a05622a1a0500b003e37e6b50c6mr1409120qtb.65.1679352632665; Mon, 20 Mar 2023 15:50:32 -0700 (PDT) Received: from t14s.localdomain (c-73-69-212-193.hsd1.nh.comcast.net. [73.69.212.193]) by smtp.gmail.com with ESMTPSA id f9-20020ac84709000000b003e0c94a6af0sm3012108qtp.53.2023.03.20.15.50.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 20 Mar 2023 15:50:32 -0700 (PDT) Message-ID: Subject: Re: [GSoC][Static Analyzer] First proposal draft and a few more questions/requests From: David Malcolm To: Shengyu Huang Cc: GCC Development Date: Mon, 20 Mar 2023 18:50:31 -0400 In-Reply-To: <2344350B-6AD2-46A5-A335-BD3ECBBAA4DF@gmail.com> References: <960EE623-1B17-4321-B77E-FBCD9496BE1F@gmail.com> <40fbb064f56845908f797400e5d9443b6cf97fe4.camel@redhat.com> <0e6a972dac60ad290d21a82b428cc76c4e8565e9.camel@redhat.com> <4CBE37A2-7D50-4ECC-9B70-951AB7176D9B@gmail.com> <3dfad33dec50c9f8bfb13e42a29cfb41b6aab457.camel@redhat.com> <2344350B-6AD2-46A5-A335-BD3ECBBAA4DF@gmail.com> User-Agent: Evolution 3.44.4 (3.44.4-1.fc36) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="=-JoFPR0KpDQGVtCj//yso" X-Spam-Status: No, score=-9.4 required=5.0 tests=BAYES_00,BODY_8BITS,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP,URI_DOTEDU autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --=-JoFPR0KpDQGVtCj//yso Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, 2023-03-20 at 18:28 +0100, Shengyu Huang wrote: > Hi Dave, >=20 > Thanks for always getting back to me so promptly! I am drafting the > proposal today. Here is the link: >=20 > https://docs.google.com/document/d/1MRI1R5DaX8kM6DaqRQsEri5Mx2FvHmWv13qe1= W0Bj0g/ >=20 > (The proposal was first written in markdown and then copied pasted to > Google Docs, so some formatting may look ugly...) Thanks. >=20 > In the timeline section, I mention your name twice where I expect > your input can help me speed up the work. For example, the mentioned > paper (https://users.ece.cmu.edu/~aavgerin/papers/Oakland10.pdf) has > a section =E2=80=9Cperformance=E2=80=9D on page 12 that lists out several= solutions > to mitigate the exponential blow up in straightforward implementation > of symbolic execution, but the current implementation may have some > clever tricks already (e.g., purging the states?) that some of the > solutions may not be applicable to us. One note on the timeline: I'm planning to take a vacation from July 1st-16th, and will only have intermittent access to a computer during that time, but hopefully will at least be able to respond to questions. >=20 > I can further polish this proposal based on your feedback. I may not > be as responsive as you are because I have several deadlines from > coursework every week. I seem to have spent the whole day looking at bugzilla reports, so I hope to look at your draft properly later in the week. >=20 > > > 1. What should I do with the integration tests? > >=20 > > First of all, AFAIK I'm the only person who's tried running the > > integration tests.=C2=A0 They're the test scripts I wrote to help me > > validate my own patches, so there will be rough edges; please let > > me > > know as you run into them, so I can fix/document them. >=20 > You append the path =E2=80=9C../sarifdump=E2=80=9D in results.py, but thi= s path is > not in the repo.=20 Sorry about this; it's this repo: https://github.com/davidmalcolm/sarif-dump which I'm simply checking out to a sister directory for now. >=20 > > > 2. I ran gcc -fanalyzer -fanalyzer-checker=3Dtaint ./gcc- > > > src/gcc/testsuite/gcc.dg/analyzer/pr93032-mztools-signed-char.c , > > > but > > > I got different results from what you documented in PR103533: > > >=20 > > > /usr/bin/ld: /lib/x86_64-linux-gnu/crt1.o: in function `_start': > > > (.text+0x17): undefined reference to `main' > > > collect2: error: ld returned 1 exit status > >=20 > > gcc's default is to try to compile, assemble, and link into an > > executable.=C2=A0 This testcase doesn't have a "main" function, hence > > the > > linker complains.=C2=A0 If you pass "-S", it will merely compile the .c > > to a > > .s assembler file whilst still running the analyzer. > >=20 > > In terms of actually running the test suite via DejaGnu, see: > > https://gcc-newbies-guide.readthedocs.io/en/latest/working-with-the-tes= tsuite.html > >=20 > > I typically use: > >=20 > > =C2=A0make -k -jN \ > > =C2=A0&& time make check-gcc \ > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 RUNTESTFLAGS=3D"-v -v --targ= et_board=3Dunix\{-m32,-m64\} > > analyzer-torture.exp=3D*.c analyzer.exp=3D*.c" > >=20 > > when testing the analyzer regression test suite, where N is the > > number > > of cores on my box > >=20 > > When I run an individual testcase, I do something like: > >=20 > > ./xgcc -B. -S -fanalyzer ../../src/PATH_TO_TEST_CASE > >=20 > > in the "gcc" subdirectory of the build directory. >=20 > Yeah sorry for not taking a good look at the testcase before sending > you this question=E2=80=A6the tips were very helpful still, thanks a lot! >=20 > Under latest trunk, all the individual testcases documented in > PR103533 compile with no error (no ICE or state explosion). I double > checked that I did turn on -fanalyzer-checker=3Dtaint (although it is a > bit annoying there is no error or warning when I mistyped it as - > fanalyzer-checker=3Dtai8nt).=C2=A0 > bit annoying there is no error or warning when I mistyped it as - > fanalyzer-checker=3Dtai8nt).=C2=A0 Oops, sorry about that; good catch. I've filed that as: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D109220 > I also ran the test suite via DejaGNU, and there are only four > unexpected failures (no unexpected successes) and some unsupported > tests: >=20 > ``` > FAIL: gcc.dg/analyzer/file-CWE-1341-example.c (test for excess > errors)=20 > FAIL: gcc.dg/analyzer/pipe-glibc.c (test for excess errors)=20 > FAIL: gcc.dg/analyzer/file-CWE-1341-example.c (test for excess > errors)=20 > FAIL: gcc.dg/analyzer/pipe-glibc.c (test for excess errors) > ``` >=20 > (Why is the same file reported twice in the summary?) If you're running with -m32,-m64 as above, it's running all the tests twice: once for 32-bit, and again for 64-bit x86 targets. >=20 > These testcases are not relevant for taint analysis, but indeed when > I turned on the taint mode other checkers are suppressed without any > warnings (I guess this should be one of the goals if we don=E2=80=99t man= age > to turn on the taint mode by default in the end). Yeah, -fanalyzer-checker=3DNAME means "just run state machine NAME". I've been testing the "run with taint-checking by default" via: diff --git a/gcc/analyzer/sm.cc b/gcc/analyzer/sm.cc index 1f329cb11d0..31bcf6e2f8e 100644 --- a/gcc/analyzer/sm.cc +++ b/gcc/analyzer/sm.cc @@ -188,10 +188,14 @@ make_checkers (auto_delete_vec &out, = logger *logger) out.safe_push (make_malloc_state_machine (logger)); out.safe_push (make_fileptr_state_machine (logger)); out.safe_push (make_fd_state_machine (logger)); +#if 1 + out.safe_push (make_taint_state_machine (logger)); +#else /* The "taint" checker must be explicitly enabled (as it currently leads to state explosions that stop the other checkers working). */ if (flag_analyzer_checker) out.safe_push (make_taint_state_machine (logger)); +#endif out.safe_push (make_sensitive_state_machine (logger)); out.safe_push (make_signal_state_machine (logger)); out.safe_push (make_va_list_state_machine (logger)); i.e. add the taint machine to the bank of state machines already being tracked, so that there's that many more opportunities for differences to occur between state nodes, and thus more risk of "blow up" of the size of the graph being explored. I'm attaching a work-in-progress patch that I wrote for this, that does the above, plus some other related things, but be wary that it's from an old working copy on my hard drive: it's at least a year out of date, judging by the copyright dates :-/ >=20 > Does it mean there are no small testcases that will cause state > explosion at the moment? It is a bit tricky for me to have an > intuition for where the problem stems when I don=E2=80=99t have a concret= e > example to investigate=E2=80=A6During the project, how often do you expec= t we > need to run the integration tests? I guess we run it whenever we > don=E2=80=99t have a small example to work at hand, and iteratively we us= e > the integration test results to construct a minimal example to fix > the next encountered issue? I think if you try the patch to sm.cc above, then you'll see various existing DejaGnu tests below gcc.dg/analyzer will fail with state explosions. >=20 > By the way, I have applied for the compile farm account after the > first email exchanges and I have been working on compile farm for a > while now. Excellent. Dave >=20 >=20 > Best, > Shengyu >=20 > P.S. There is no more `pr93032-mztools.c` in the testsuit, and the > two files `pr93032-mztools-{simplified, signed-char, unsigned- > char}.c` do not incur state explosion. >=20 >=20 --=-JoFPR0KpDQGVtCj//yso Content-Disposition: attachment; filename*0=0001-FIXME-WIP-on-enabling-taint-state-machine-by-default.pat; filename*1=ch Content-Type: text/x-patch; name="0001-FIXME-WIP-on-enabling-taint-state-machine-by-default.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBhYjkyM2Y2ODBiZGZhYmM1ZDY2ZDA1ZDA3ODc1MjM2N2NhYzBhNmY4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZpZCBNYWxjb2xtIDxkbWFsY29sbUByZWRoYXQuY29tPgpE YXRlOiBUaHUsIDIgRGVjIDIwMjEgMTQ6NDA6MzQgLTA1MDAKU3ViamVjdDogW1BBVENIXSBGSVhN RTogV0lQIG9uIGVuYWJsaW5nIHRhaW50IHN0YXRlIG1hY2hpbmUgYnkgZGVmYXVsdCAoUFIKIGFu YWx5emVyLzEwMzUzMykKCi0tLQogZ2NjL2FuYWx5emVyL3NtLXRhaW50LmNjICAgICAgICAgICAg ICAgICAgICAgIHwgIDIgKy0KIGdjYy9hbmFseXplci9zbS5jYyAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICA0ICsrCiBnY2MvZG9jL2ludm9rZS50ZXhpICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCA2MyArKysrLS0tLS0tLS0tLS0tLS0tCiAuLi4vZ2NjLmRnL2FuYWx5emVyL2F0dHIt dGFpbnRlZF9hcmdzLTEuYyAgICAgfCAgMyAtCiBnY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXpl ci9mcmVhZC0xLmMgICAgICAgfCAgMiAtCiBnY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci9w cjEwNDAyOS5jICAgICAgfCAgMyAtCiBnY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci9wcjkz MzgyLmMgICAgICAgfCAgMiAtCiAuLi4vZ2NjLmRnL2FuYWx5emVyL3RhaW50LUNWRS0yMDExLTIy MTAtMS5jICAgfCAgMyAtCiAuLi4vZ2NjLmRnL2FuYWx5emVyL3RhaW50LUNWRS0yMDIwLTEzMTQz LTEuYyAgfCAgMyAtCiAuLi4vZ2NjLmRnL2FuYWx5emVyL3RhaW50LUNWRS0yMDIwLTEzMTQzLTIu YyAgfCAgMyAtCiAuLi4vZ2NjLmRnL2FuYWx5emVyL3RhaW50LUNWRS0yMDIwLTEzMTQzLmggICAg fCAgMyAtCiBnY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci90YWludC1hbGxvYy0xLmMgfCAg MiAtCiBnY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci90YWludC1hbGxvYy0yLmMgfCAgMyAt CiBnY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci90YWludC1hbGxvYy0zLmMgfCAgMyAtCiBn Y2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci90YWludC1hbGxvYy00LmMgfCAgMyAtCiBnY2Mv dGVzdHN1aXRlL2djYy5kZy9hbmFseXplci90YWludC1hbGxvYy01LmMgfCAgMyAtCiAuLi4vZ2Nj LmRnL2FuYWx5emVyL3RhaW50LWFzc2VydC1CVUdfT04uYyAgICAgfCAgMyAtCiAuLi4vYW5hbHl6 ZXIvdGFpbnQtYXNzZXJ0LW1hY3JvLWV4cGFuc2lvbi5jICAgfCAgMyAtCiAuLi4vYW5hbHl6ZXIv dGFpbnQtYXNzZXJ0LXN5c3RlbS1oZWFkZXIuYyAgICAgfCAgMyAtCiBnY2MvdGVzdHN1aXRlL2dj Yy5kZy9hbmFseXplci90YWludC1hc3NlcnQuYyAgfCAgMyAtCiAuLi4vZ2NjLmRnL2FuYWx5emVy L3RhaW50LWRpdmlzb3ItMS5jICAgICAgICAgfCAgMyAtCiBnY2MvdGVzdHN1aXRlL2djYy5kZy9h bmFseXplci90YWludC1tZXJnZXIuYyAgfCAgMyAtCiBnY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFs eXplci90YWludC1vcHMuYyAgICAgfCAgMSArCiAuLi4vZ2NjLmRnL2FuYWx5emVyL3RhaW50LXJl YWQtaW5kZXgtMS5jICAgICAgfCAgMyAtCiAuLi4vZ2NjLmRnL2FuYWx5emVyL3RhaW50LXJlYWQt b2Zmc2V0LTEuYyAgICAgfCAgMyAtCiBnY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci90YWlu dC1yZWFsbG9jLmMgfCAgMyAtCiBnY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci90YWludC1z aXplLTEuYyAgfCAgMyAtCiAuLi4vYW5hbHl6ZXIvdGFpbnQtc2l6ZS1hY2Nlc3MtYXR0ci0xLmMg ICAgICAgfCAgMyArLQogLi4uL2djYy5kZy9hbmFseXplci90YWludC13cml0ZS1pbmRleC0xLmMg ICAgIHwgIDMgLQogLi4uL2djYy5kZy9hbmFseXplci90YWludC13cml0ZS1vZmZzZXQtMS5jICAg IHwgIDMgLQogLi4uL2FuYWx5emVyL3RvcnR1cmUvdGFpbnQtcmVhZC1pbmRleC0yLmMgICAgIHwg IDIgLQogLi4uL2FuYWx5emVyL3RvcnR1cmUvdGFpbnQtcmVhZC1pbmRleC0zLmMgICAgIHwgIDIg LQogLi4uL3BsdWdpbi90YWludC1DVkUtMjAxMS0wNTIxLTEtZml4ZWQuYyAgICAgIHwgIDIgLQog Li4uL2djYy5kZy9wbHVnaW4vdGFpbnQtQ1ZFLTIwMTEtMDUyMS0xLmMgICAgIHwgIDIgLQogLi4u L3BsdWdpbi90YWludC1DVkUtMjAxMS0wNTIxLTItZml4ZWQuYyAgICAgIHwgIDUgLS0KIC4uLi9n Y2MuZGcvcGx1Z2luL3RhaW50LUNWRS0yMDExLTA1MjEtMi5jICAgICB8ICAyIC0KIC4uLi9wbHVn aW4vdGFpbnQtQ1ZFLTIwMTEtMDUyMS0zLWZpeGVkLmMgICAgICB8ICA1IC0tCiAuLi4vZ2NjLmRn L3BsdWdpbi90YWludC1DVkUtMjAxMS0wNTIxLTMuYyAgICAgfCAgMiAtCiAuLi4vZ2NjLmRnL3Bs dWdpbi90YWludC1DVkUtMjAxMS0wNTIxLTQuYyAgICAgfCAgNCArLQogLi4uL3BsdWdpbi90YWlu dC1DVkUtMjAxMS0wNTIxLTUtZml4ZWQuYyAgICAgIHwgIDMgKy0KIC4uLi9nY2MuZGcvcGx1Z2lu L3RhaW50LUNWRS0yMDExLTA1MjEtNS5jICAgICB8ICAzICstCiAuLi4vZ2NjLmRnL3BsdWdpbi90 YWludC1DVkUtMjAxMS0wNTIxLTYuYyAgICAgfCAgMyArLQogLi4uL2djYy5kZy9wbHVnaW4vdGFp bnQtYW50aXBhdHRlcm5zLTEuYyAgICAgIHwgIDMgKy0KIDQzIGZpbGVzIGNoYW5nZWQsIDI0IGlu c2VydGlvbnMoKyksIDE1OSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9nY2MvYW5hbHl6ZXIv c20tdGFpbnQuY2MgYi9nY2MvYW5hbHl6ZXIvc20tdGFpbnQuY2MKaW5kZXggYTJiNDQyYTRlZjIu LmQ2OWIwNWZhMDIwIDEwMDY0NAotLS0gYS9nY2MvYW5hbHl6ZXIvc20tdGFpbnQuY2MKKysrIGIv Z2NjL2FuYWx5emVyL3NtLXRhaW50LmNjCkBAIC0xLDQgKzEsNCBAQAotLyogQW4gZXhwZXJpbWVu dGFsIHN0YXRlIG1hY2hpbmUsIGZvciB0cmFja2luZyAidGFpbnQiOiB1bnNhbml0aXplZCB1c2Vz CisvKiBBIHN0YXRlIG1hY2hpbmUgZm9yIHRyYWNraW5nICJ0YWludCI6IHVuc2FuaXRpemVkIHVz ZXMKICAgIG9mIGRhdGEgcG90ZW50aWFsbHkgdW5kZXIgYW4gYXR0YWNrZXIncyBjb250cm9sLgog CiAgICBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KZGlmZiAtLWdpdCBhL2djYy9hbmFseXplci9zbS5jYyBiL2djYy9hbmFseXplci9zbS5jYwpp bmRleCAxZjMyOWNiMTFkMC4uMzFiY2Y2ZTJmOGUgMTAwNjQ0Ci0tLSBhL2djYy9hbmFseXplci9z bS5jYworKysgYi9nY2MvYW5hbHl6ZXIvc20uY2MKQEAgLTE4OCwxMCArMTg4LDE0IEBAIG1ha2Vf Y2hlY2tlcnMgKGF1dG9fZGVsZXRlX3ZlYyA8c3RhdGVfbWFjaGluZT4gJm91dCwgbG9nZ2VyICps b2dnZXIpCiAgIG91dC5zYWZlX3B1c2ggKG1ha2VfbWFsbG9jX3N0YXRlX21hY2hpbmUgKGxvZ2dl cikpOwogICBvdXQuc2FmZV9wdXNoIChtYWtlX2ZpbGVwdHJfc3RhdGVfbWFjaGluZSAobG9nZ2Vy KSk7CiAgIG91dC5zYWZlX3B1c2ggKG1ha2VfZmRfc3RhdGVfbWFjaGluZSAobG9nZ2VyKSk7Cisj aWYgMQorICBvdXQuc2FmZV9wdXNoIChtYWtlX3RhaW50X3N0YXRlX21hY2hpbmUgKGxvZ2dlcikp OworI2Vsc2UKICAgLyogVGhlICJ0YWludCIgY2hlY2tlciBtdXN0IGJlIGV4cGxpY2l0bHkgZW5h YmxlZCAoYXMgaXQgY3VycmVudGx5CiAgICAgIGxlYWRzIHRvIHN0YXRlIGV4cGxvc2lvbnMgdGhh dCBzdG9wIHRoZSBvdGhlciBjaGVja2VycyB3b3JraW5nKS4gICovCiAgIGlmIChmbGFnX2FuYWx5 emVyX2NoZWNrZXIpCiAgICAgb3V0LnNhZmVfcHVzaCAobWFrZV90YWludF9zdGF0ZV9tYWNoaW5l IChsb2dnZXIpKTsKKyNlbmRpZgogICBvdXQuc2FmZV9wdXNoIChtYWtlX3NlbnNpdGl2ZV9zdGF0 ZV9tYWNoaW5lIChsb2dnZXIpKTsKICAgb3V0LnNhZmVfcHVzaCAobWFrZV9zaWduYWxfc3RhdGVf bWFjaGluZSAobG9nZ2VyKSk7CiAgIG91dC5zYWZlX3B1c2ggKG1ha2VfdmFfbGlzdF9zdGF0ZV9t YWNoaW5lIChsb2dnZXIpKTsKZGlmZiAtLWdpdCBhL2djYy9kb2MvaW52b2tlLnRleGkgYi9nY2Mv ZG9jL2ludm9rZS50ZXhpCmluZGV4IDgwZDk0MjkxN2JkLi5hNzZlMzhjMWM0ZiAxMDA2NDQKLS0t IGEvZ2NjL2RvYy9pbnZva2UudGV4aQorKysgYi9nY2MvZG9jL2ludm9rZS50ZXhpCkBAIC0xMDA5 Myw2ICsxMDA5MywxMiBAQCBFbmFibGluZyB0aGlzIG9wdGlvbiBlZmZlY3RpdmVseSBlbmFibGVz IHRoZSBmb2xsb3dpbmcgd2FybmluZ3M6CiAtV2FuYWx5emVyLXNoaWZ0LWNvdW50LW5lZ2F0aXZl IEBnb2wKIC1XYW5hbHl6ZXItc2hpZnQtY291bnQtb3ZlcmZsb3cgQGdvbAogLVdhbmFseXplci1z dGFsZS1zZXRqbXAtYnVmZmVyIEBnb2wKKy1XYW5hbHl6ZXItdGFpbnRlZC1hbGxvY2F0aW9uLXNp emUgQGdvbAorLVdhbmFseXplci10YWludGVkLWFycmF5LWluZGV4IEBnb2wKKy1XYW5hbHl6ZXIt dGFpbnRlZC1hc3NlcnRpb24gQGdvbAorLVdhbmFseXplci10YWludGVkLWRpdmlzb3IgQGdvbAor LVdhbmFseXplci10YWludGVkLW9mZnNldCBAZ29sCistV2FuYWx5emVyLXRhaW50ZWQtc2l6ZSBA Z29sCiAtV2FuYWx5emVyLXVuc2FmZS1jYWxsLXdpdGhpbi1zaWduYWwtaGFuZGxlciBAZ29sCiAt V2FuYWx5emVyLXVzZS1hZnRlci1mcmVlIEBnb2wKIC1XYW5hbHl6ZXItdXNlLW9mLXBvaW50ZXIt aW4tc3RhbGUtc3RhY2stZnJhbWUgQGdvbApAQCAtMTAxMDQsMTMgKzEwMTEwLDYgQEAgRW5hYmxp bmcgdGhpcyBvcHRpb24gZWZmZWN0aXZlbHkgZW5hYmxlcyB0aGUgZm9sbG93aW5nIHdhcm5pbmdz OgogLVdhbmFseXplci13cml0ZS10by1jb25zdCBAZ29sCiAtV2FuYWx5emVyLXdyaXRlLXRvLXN0 cmluZy1saXRlcmFsIEBnb2wKIH0KLUBpZ25vcmUKLS1XYW5hbHl6ZXItdGFpbnRlZC1hbGxvY2F0 aW9uLXNpemUgQGdvbAotLVdhbmFseXplci10YWludGVkLWFycmF5LWluZGV4IEBnb2wKLS1XYW5h bHl6ZXItdGFpbnRlZC1kaXZpc29yIEBnb2wKLS1XYW5hbHl6ZXItdGFpbnRlZC1vZmZzZXQgQGdv bAotLVdhbmFseXplci10YWludGVkLXNpemUgQGdvbAotQGVuZCBpZ25vcmUKIAogVGhpcyBvcHRp b24gaXMgb25seSBhdmFpbGFibGUgaWYgR0NDIHdhcyBjb25maWd1cmVkIHdpdGggYW5hbHl6ZXIK IHN1cHBvcnQgZW5hYmxlZC4KQEAgLTEwNTMyLDggKzEwNTMxLDcgQEAgbm8gbG9uZ2VyIGV4aXN0 cywgYW5kIGxpa2VseSBsZWFkIHRvIGEgY3Jhc2ggKG9yIHdvcnNlKS4KIEBpdGVtIC1Xbm8tYW5h bHl6ZXItdGFpbnRlZC1hbGxvY2F0aW9uLXNpemUKIEBvcGluZGV4IFdhbmFseXplci10YWludGVk LWFsbG9jYXRpb24tc2l6ZQogQG9waW5kZXggV25vLWFuYWx5emVyLXRhaW50ZWQtYWxsb2NhdGlv bi1zaXplCi1UaGlzIHdhcm5pbmcgcmVxdWlyZXMgYm90aCBAb3B0aW9uey1mYW5hbHl6ZXJ9IGFu ZAotQG9wdGlvbnstZmFuYWx5emVyLWNoZWNrZXI9dGFpbnR9IHRvIGVuYWJsZSBpdDsKK1RoaXMg d2FybmluZyByZXF1aXJlcyBAb3B0aW9uey1mYW5hbHl6ZXJ9IHdoaWNoIGVuYWJsZXMgaXQ7CiB1 c2UgQG9wdGlvbnstV25vLWFuYWx5emVyLXRhaW50ZWQtYWxsb2NhdGlvbi1zaXplfSB0byBkaXNh YmxlIGl0LgogCiBUaGlzIGRpYWdub3N0aWMgd2FybnMgZm9yIHBhdGhzIHRocm91Z2ggdGhlIGNv ZGUgaW4gd2hpY2ggYSB2YWx1ZQpAQCAtMTA1NDgsOCArMTA1NDYsNyBAQCBTZWUgQHVyZWZ7aHR0 cHM6Ly9jd2UubWl0cmUub3JnL2RhdGEvZGVmaW5pdGlvbnMvNzg5Lmh0bWwsIENXRS03ODk6IE1l bW9yeSBBbGxvYwogQG9waW5kZXggV2FuYWx5emVyLXRhaW50ZWQtYXNzZXJ0aW9uCiBAb3BpbmRl eCBXbm8tYW5hbHl6ZXItdGFpbnRlZC1hc3NlcnRpb24KIAotVGhpcyB3YXJuaW5nIHJlcXVpcmVz IGJvdGggQG9wdGlvbnstZmFuYWx5emVyfSBhbmQKLUBvcHRpb257LWZhbmFseXplci1jaGVja2Vy PXRhaW50fSB0byBlbmFibGUgaXQ7CitUaGlzIHdhcm5pbmcgcmVxdWlyZXMgQG9wdGlvbnstZmFu YWx5emVyfSB3aGljaCBlbmFibGVzIGl0OwogdXNlIEBvcHRpb257LVduby1hbmFseXplci10YWlu dGVkLWFzc2VydGlvbn0gdG8gZGlzYWJsZSBpdC4KIAogVGhpcyBkaWFnbm9zdGljIHdhcm5zIGZv ciBwYXRocyB0aHJvdWdoIHRoZSBjb2RlIGluIHdoaWNoIGEgdmFsdWUKQEAgLTEwNjEwLDggKzEw NjA3LDcgQEAgZGVzcGl0ZSB0aGUgYWJvdmUgbm90IGJlaW5nIGFuIGFzc2VydGlvbiBmYWlsdXJl LCBzdHJpY3RseSBzcGVha2luZy4KIEBpdGVtIC1Xbm8tYW5hbHl6ZXItdGFpbnRlZC1hcnJheS1p bmRleAogQG9waW5kZXggV2FuYWx5emVyLXRhaW50ZWQtYXJyYXktaW5kZXgKIEBvcGluZGV4IFdu by1hbmFseXplci10YWludGVkLWFycmF5LWluZGV4Ci1UaGlzIHdhcm5pbmcgcmVxdWlyZXMgYm90 aCBAb3B0aW9uey1mYW5hbHl6ZXJ9IGFuZAotQG9wdGlvbnstZmFuYWx5emVyLWNoZWNrZXI9dGFp bnR9IHRvIGVuYWJsZSBpdDsKK1RoaXMgd2FybmluZyByZXF1aXJlcyBAb3B0aW9uey1mYW5hbHl6 ZXJ9IHdoaWNoIGVuYWJsZXMgaXQ7CiB1c2UgQG9wdGlvbnstV25vLWFuYWx5emVyLXRhaW50ZWQt YXJyYXktaW5kZXh9IHRvIGRpc2FibGUgaXQuCiAKIFRoaXMgZGlhZ25vc3RpYyB3YXJucyBmb3Ig cGF0aHMgdGhyb3VnaCB0aGUgY29kZSBpbiB3aGljaCBhIHZhbHVlCkBAIC0xMDYyNCw4ICsxMDYy MCw3IEBAIFNlZSBAdXJlZntodHRwczovL2N3ZS5taXRyZS5vcmcvZGF0YS9kZWZpbml0aW9ucy8x MjkuaHRtbCwgQ1dFLTEyOTogSW1wcm9wZXIgVmFsCiBAaXRlbSAtV25vLWFuYWx5emVyLXRhaW50 ZWQtZGl2aXNvcgogQG9waW5kZXggV2FuYWx5emVyLXRhaW50ZWQtZGl2aXNvcgogQG9waW5kZXgg V25vLWFuYWx5emVyLXRhaW50ZWQtZGl2aXNvcgotVGhpcyB3YXJuaW5nIHJlcXVpcmVzIGJvdGgg QG9wdGlvbnstZmFuYWx5emVyfSBhbmQKLUBvcHRpb257LWZhbmFseXplci1jaGVja2VyPXRhaW50 fSB0byBlbmFibGUgaXQ7CitUaGlzIHdhcm5pbmcgcmVxdWlyZXMgQG9wdGlvbnstZmFuYWx5emVy fSB3aGljaCBlbmFibGVzIGl0OwogdXNlIEBvcHRpb257LVduby1hbmFseXplci10YWludGVkLWRp dmlzb3J9IHRvIGRpc2FibGUgaXQuCiAKIFRoaXMgZGlhZ25vc3RpYyB3YXJucyBmb3IgcGF0aHMg dGhyb3VnaCB0aGUgY29kZSBpbiB3aGljaCBhIHZhbHVlCkBAIC0xMDYzOCw4ICsxMDYzMyw3IEBA IFNlZSBAdXJlZntodHRwczovL2N3ZS5taXRyZS5vcmcvZGF0YS9kZWZpbml0aW9ucy8zNjkuaHRt bCwgQ1dFLTM2OTogRGl2aWRlIEJ5IFplCiBAaXRlbSAtV25vLWFuYWx5emVyLXRhaW50ZWQtb2Zm c2V0CiBAb3BpbmRleCBXYW5hbHl6ZXItdGFpbnRlZC1vZmZzZXQKIEBvcGluZGV4IFduby1hbmFs eXplci10YWludGVkLW9mZnNldAotVGhpcyB3YXJuaW5nIHJlcXVpcmVzIGJvdGggQG9wdGlvbnst ZmFuYWx5emVyfSBhbmQKLUBvcHRpb257LWZhbmFseXplci1jaGVja2VyPXRhaW50fSB0byBlbmFi bGUgaXQ7CitUaGlzIHdhcm5pbmcgcmVxdWlyZXMgQG9wdGlvbnstZmFuYWx5emVyfSB3aGljaCBl bmFibGVzIGl0OwogdXNlIEBvcHRpb257LVduby1hbmFseXplci10YWludGVkLW9mZnNldH0gdG8g ZGlzYWJsZSBpdC4KIAogVGhpcyBkaWFnbm9zdGljIHdhcm5zIGZvciBwYXRocyB0aHJvdWdoIHRo ZSBjb2RlIGluIHdoaWNoIGEgdmFsdWUKQEAgLTEwNjUyLDggKzEwNjQ2LDcgQEAgU2VlIEB1cmVm e2h0dHBzOi8vY3dlLm1pdHJlLm9yZy9kYXRhL2RlZmluaXRpb25zLzgyMy5odG1sLCBDV0UtODIz OiBVc2Ugb2YgT3V0LW8KIEBpdGVtIC1Xbm8tYW5hbHl6ZXItdGFpbnRlZC1zaXplCiBAb3BpbmRl eCBXYW5hbHl6ZXItdGFpbnRlZC1zaXplCiBAb3BpbmRleCBXbm8tYW5hbHl6ZXItdGFpbnRlZC1z aXplCi1UaGlzIHdhcm5pbmcgcmVxdWlyZXMgYm90aCBAb3B0aW9uey1mYW5hbHl6ZXJ9IGFuZAot QG9wdGlvbnstZmFuYWx5emVyLWNoZWNrZXI9dGFpbnR9IHRvIGVuYWJsZSBpdDsKK1RoaXMgd2Fy bmluZyByZXF1aXJlcyBAb3B0aW9uey1mYW5hbHl6ZXJ9IHdoaWNoIGVuYWJsZXMgaXQ7CiB1c2Ug QG9wdGlvbnstV25vLWFuYWx5emVyLXRhaW50ZWQtc2l6ZX0gdG8gZGlzYWJsZSBpdC4KIAogVGhp cyBkaWFnbm9zdGljIHdhcm5zIGZvciBwYXRocyB0aHJvdWdoIHRoZSBjb2RlIGluIHdoaWNoIGEg dmFsdWUKQEAgLTEwODk3LDM4ICsxMDg5MCw2IEBAIGNhbGwgc2l0ZSwgYW5kIHRoYXQgYXJlIHN1 ZmZpY2llbnRseSBjb21wbGljYXRlZCAoYXMgcGVyCiBAb3BpbmRleCBmYW5hbHl6ZXItY2hlY2tl cgogUmVzdHJpY3QgdGhlIGFuYWx5emVyIHRvIHJ1biBqdXN0IHRoZSBuYW1lZCBjaGVja2VyLCBh bmQgZW5hYmxlIGl0LgogCi1Tb21lIGNoZWNrZXJzIGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0IChl dmVuIHdpdGggQG9wdGlvbnstZmFuYWx5emVyfSksCi1zdWNoIGFzIHRoZSBAY29kZXt0YWludH0g Y2hlY2tlciB0aGF0IGltcGxlbWVudHMKLUBvcHRpb257LVdhbmFseXplci10YWludGVkLWFycmF5 LWluZGV4fSwgYW5kIHRoaXMgb3B0aW9uIGlzIHJlcXVpcmVkCi10byBlbmFibGUgdGhlbS4KLQot QGVtcGh7Tm90ZTp9IGN1cnJlbnRseSwgQG9wdGlvbnstZmFuYWx5emVyLWNoZWNrZXI9dGFpbnR9 IGRpc2FibGVzIHRoZQotZm9sbG93aW5nIHdhcm5pbmdzIGZyb20gQG9wdGlvbnstZmFuYWx5emVy fToKLQotQGdjY29wdGxpc3R7IEBnb2wKLS1XYW5hbHl6ZXItZGVyZWYtYmVmb3JlLWNoZWNrIEBn b2wKLS1XYW5hbHl6ZXItZG91YmxlLWZjbG9zZSBAZ29sCi0tV2FuYWx5emVyLWRvdWJsZS1mcmVl IEBnb2wKLS1XYW5hbHl6ZXItZXhwb3N1cmUtdGhyb3VnaC1vdXRwdXQtZmlsZSBAZ29sCi0tV2Fu YWx5emVyLWZkLWFjY2Vzcy1tb2RlLW1pc21hdGNoIEBnb2wKLS1XYW5hbHl6ZXItZmQtZG91Ymxl LWNsb3NlIEBnb2wKLS1XYW5hbHl6ZXItZmQtbGVhayBAZ29sCi0tV2FuYWx5emVyLWZkLXVzZS1h ZnRlci1jbG9zZSBAZ29sCi0tV2FuYWx5emVyLWZkLXVzZS13aXRob3V0LWNoZWNrIEBnb2wKLS1X YW5hbHl6ZXItZmlsZS1sZWFrIEBnb2wKLS1XYW5hbHl6ZXItZnJlZS1vZi1ub24taGVhcCBAZ29s Ci0tV2FuYWx5emVyLW1hbGxvYy1sZWFrIEBnb2wKLS1XYW5hbHl6ZXItbWlzbWF0Y2hpbmctZGVh bGxvY2F0aW9uIEBnb2wKLS1XYW5hbHl6ZXItbnVsbC1hcmd1bWVudCBAZ29sCi0tV2FuYWx5emVy LW51bGwtZGVyZWZlcmVuY2UgQGdvbAotLVdhbmFseXplci1wb3NzaWJsZS1udWxsLWFyZ3VtZW50 IEBnb2wKLS1XYW5hbHl6ZXItcG9zc2libGUtbnVsbC1kZXJlZmVyZW5jZSBAZ29sCi0tV2FuYWx5 emVyLXVuc2FmZS1jYWxsLXdpdGhpbi1zaWduYWwtaGFuZGxlciBAZ29sCi0tV2FuYWx5emVyLXVz ZS1hZnRlci1mcmVlIEBnb2wKLS1XYW5hbHl6ZXItdmEtbGlzdC1sZWFrIEBnb2wKLS1XYW5hbHl6 ZXItdmEtbGlzdC11c2UtYWZ0ZXItdmEtZW5kIEBnb2wKLX0KLQogQGl0ZW0gLWZuby1hbmFseXpl ci1mZWFzaWJpbGl0eQogQG9waW5kZXggZmFuYWx5emVyLWZlYXNpYmlsaXR5CiBAb3BpbmRleCBm bm8tYW5hbHl6ZXItZmVhc2liaWxpdHkKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRn L2FuYWx5emVyL2F0dHItdGFpbnRlZF9hcmdzLTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2Fu YWx5emVyL2F0dHItdGFpbnRlZF9hcmdzLTEuYwppbmRleCBlMWQ4N2M5Y2VjZS4uYWFhZTAyNzZk ZWIgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2FuYWx5emVyL2F0dHItdGFpbnRl ZF9hcmdzLTEuYworKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci9hdHRyLXRhaW50 ZWRfYXJncy0xLmMKQEAgLTEsNiArMSwzIEBACi0vLyBUT0RPOiByZW1vdmUgbmVlZCBmb3IgdGhp cyBvcHRpb24KLS8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItZmFuYWx5emVyLWNoZWNrZXI9 dGFpbnQiIH0gKi8KLQogI2luY2x1ZGUgImFuYWx5emVyLWRlY2xzLmgiCiAKIHN0cnVjdCBhcmdf YnVmCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci9mcmVhZC0xLmMg Yi9nY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci9mcmVhZC0xLmMKaW5kZXggNTkzY2I3ZjRh YTAuLjQ2NzQ2N2VlOGE2IDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXpl ci9mcmVhZC0xLmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYW5hbHl6ZXIvZnJlYWQtMS5j CkBAIC0xLDUgKzEsMyBAQAotLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1mYW5hbHl6ZXIt Y2hlY2tlcj10YWludCIgfSAqLwotCiB0eXBlZGVmIF9fU0laRV9UWVBFX18gc2l6ZV90OwogCiBl eHRlcm4gc2l6ZV90IGZyZWFkICh2b2lkICosIHNpemVfdCwgc2l6ZV90LCB2b2lkICopOwpkaWZm IC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYW5hbHl6ZXIvcHIxMDQwMjkuYyBiL2djYy90 ZXN0c3VpdGUvZ2NjLmRnL2FuYWx5emVyL3ByMTA0MDI5LmMKaW5kZXggYWRmMTVlZDM1NmYuLjQ2 ZjEwNDE5MzlkIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci9wcjEw NDAyOS5jCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2FuYWx5emVyL3ByMTA0MDI5LmMKQEAg LTEsNiArMSwzIEBACi0vLyBUT0RPOiByZW1vdmUgbmVlZCBmb3IgdGhpcyBvcHRpb24KLS8qIHsg ZGctYWRkaXRpb25hbC1vcHRpb25zICItZmFuYWx5emVyLWNoZWNrZXI9dGFpbnQiIH0gKi8KLQog dHlwZWRlZiBfX1NJWkVfVFlQRV9fIHNpemVfdDsKIHR5cGVkZWYgY29uc3Qgdm9pZCAqdF9jb21w dHlwZTsKIHR5cGVkZWYgaW50ICgqdF9jb21wZnVuYykodF9jb21wdHlwZSwgdF9jb21wdHlwZSk7 CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci9wcjkzMzgyLmMgYi9n Y2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci9wcjkzMzgyLmMKaW5kZXggMWU2NjEyZGRjMDUu LjkxZWFiMjE5MmFkIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci9w cjkzMzgyLmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYW5hbHl6ZXIvcHI5MzM4Mi5jCkBA IC0xLDUgKzEsMyBAQAotLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1mYW5hbHl6ZXItY2hl Y2tlcj10YWludCIgfSAqLwotCiB0eXBlZGVmIF9fU0laRV9UWVBFX18gc2l6ZV90OwogCiBpbnQg aWR4OwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYW5hbHl6ZXIvdGFpbnQtQ1ZF LTIwMTEtMjIxMC0xLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci90YWludC1DVkUt MjAxMS0yMjEwLTEuYwppbmRleCBiNDRiZTk5MzU2OC4uZmE4OWJkYTZmMGYgMTAwNjQ0Ci0tLSBh L2djYy90ZXN0c3VpdGUvZ2NjLmRnL2FuYWx5emVyL3RhaW50LUNWRS0yMDExLTIyMTAtMS5jCisr KyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2FuYWx5emVyL3RhaW50LUNWRS0yMDExLTIyMTAtMS5j CkBAIC03LDkgKzcsNiBAQAogICAgRml4ZWQgaW4gM2QwNDc1MTE5ZDg3MjI3OThkYjVlODhmMjY0 OTNmNjU0N2E0YmI1YiBvbiBsaW51eC0yLjYuMzkueQogICAgaW4gbGludXgtc3RhYmxlLiAgKi8K IAotLy8gVE9ETzogcmVtb3ZlIG5lZWQgZm9yIHRoaXMgb3B0aW9uOgotLyogeyBkZy1hZGRpdGlv bmFsLW9wdGlvbnMgIi1mYW5hbHl6ZXItY2hlY2tlcj10YWludCIgfSAqLwotCiAjaW5jbHVkZSAi YW5hbHl6ZXItZGVjbHMuaCIKICNpbmNsdWRlICJ0ZXN0LXVhY2Nlc3MuaCIKIApkaWZmIC0tZ2l0 IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYW5hbHl6ZXIvdGFpbnQtQ1ZFLTIwMjAtMTMxNDMtMS5j IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYW5hbHl6ZXIvdGFpbnQtQ1ZFLTIwMjAtMTMxNDMtMS5j CmluZGV4IDMyOGM1Nzk5MTQ1Li4xYjgxYzFiYjFmOCAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0 ZS9nY2MuZGcvYW5hbHl6ZXIvdGFpbnQtQ1ZFLTIwMjAtMTMxNDMtMS5jCisrKyBiL2djYy90ZXN0 c3VpdGUvZ2NjLmRnL2FuYWx5emVyL3RhaW50LUNWRS0yMDIwLTEzMTQzLTEuYwpAQCAtMSw5ICsx LDYgQEAKIC8qIFNlZSBub3RlcyBpbiB0aGlzIGhlYWRlci4gICovCiAjaW5jbHVkZSAidGFpbnQt Q1ZFLTIwMjAtMTMxNDMuaCIKIAotLy8gVE9ETzogcmVtb3ZlIG5lZWQgZm9yIHRoaXMgb3B0aW9u Ci0vKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLWZhbmFseXplci1jaGVja2VyPXRhaW50IiB9 ICovCi0KIHN0cnVjdCBjb25maWdmc19hdHRyaWJ1dGUgewogCS8qIFsuLi5zbmlwLi4uXSAqLwog CXNzaXplX3QgKCpzdG9yZSkoc3RydWN0IGNvbmZpZ19pdGVtICosIGNvbnN0IGNoYXIgKiwgc2l6 ZV90KSAvKiB7IGRnLW1lc3NhZ2UgIlxcKDFcXCkgZmllbGQgJ3N0b3JlJyBvZiAnc3RydWN0IGNv bmZpZ2ZzX2F0dHJpYnV0ZScgaXMgbWFya2VkIHdpdGggJ19fYXR0cmlidXRlX19cXChcXCh0YWlu dGVkX2FyZ3NcXClcXCknIiB9ICovCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9h bmFseXplci90YWludC1DVkUtMjAyMC0xMzE0My0yLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9h bmFseXplci90YWludC1DVkUtMjAyMC0xMzE0My0yLmMKaW5kZXggYzc0YTQ2MGIwMWUuLmY1M2U0 MmJkNmFhIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci90YWludC1D VkUtMjAyMC0xMzE0My0yLmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYW5hbHl6ZXIvdGFp bnQtQ1ZFLTIwMjAtMTMxNDMtMi5jCkBAIC0xLDkgKzEsNiBAQAogLyogU2VlIG5vdGVzIGluIHRo aXMgaGVhZGVyLiAgKi8KICNpbmNsdWRlICJ0YWludC1DVkUtMjAyMC0xMzE0My5oIgogCi0vLyBU T0RPOiByZW1vdmUgbmVlZCBmb3IgdGhpcyBvcHRpb24KLS8qIHsgZGctYWRkaXRpb25hbC1vcHRp b25zICItZmFuYWx5emVyLWNoZWNrZXI9dGFpbnQiIH0gKi8KLQogc3RydWN0IGNvbmZpZ2ZzX2F0 dHJpYnV0ZSB7CiAJLyogWy4uLnNuaXAuLi5dICovCiAJc3NpemVfdCAoKnN0b3JlKShzdHJ1Y3Qg Y29uZmlnX2l0ZW0gKiwgY29uc3QgY2hhciAqLCBzaXplX3QpIC8qIHsgZGctbWVzc2FnZSAiXFwo MVxcKSBmaWVsZCAnc3RvcmUnIG9mICdzdHJ1Y3QgY29uZmlnZnNfYXR0cmlidXRlJyBpcyBtYXJr ZWQgd2l0aCAnX19hdHRyaWJ1dGVfX1xcKFxcKHRhaW50ZWRfYXJnc1xcKVxcKSciIH0gKi8KZGlm ZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2FuYWx5emVyL3RhaW50LUNWRS0yMDIwLTEz MTQzLmggYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci90YWludC1DVkUtMjAyMC0xMzE0 My5oCmluZGV4IDBiYTAyMzUzOWFmLi45M2Y5MGQ0OTAxMyAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3Rz dWl0ZS9nY2MuZGcvYW5hbHl6ZXIvdGFpbnQtQ1ZFLTIwMjAtMTMxNDMuaAorKysgYi9nY2MvdGVz dHN1aXRlL2djYy5kZy9hbmFseXplci90YWludC1DVkUtMjAyMC0xMzE0My5oCkBAIC04LDkgKzgs NiBAQAogICAgRml4ZWQgYnkgMTU3NTM1ODhiY2Q0YmJmZmFlMWNjYTMzYzhjZWQ1NzIyNDc3ZmUx ZiBvbiBsaW51eC01LjcueQogICAgaW4gbGludXgtc3RhYmxlLiAgKi8KIAotLy8gVE9ETzogcmVt b3ZlIG5lZWQgZm9yIHRoaXMgb3B0aW9uCi0vKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLWZh bmFseXplci1jaGVja2VyPXRhaW50IiB9ICovCi0KICNpbmNsdWRlIDxzdGRkZWYuaD4KIAogLyog QWRhcHRlZCBmcm9tIGluY2x1ZGUvdWFwaS9hc20tZ2VuZXJpYy9wb3NpeF90eXBlcy5oICAqLwpk aWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYW5hbHl6ZXIvdGFpbnQtYWxsb2MtMS5j IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYW5hbHl6ZXIvdGFpbnQtYWxsb2MtMS5jCmluZGV4IGNi MmRiNmM2OWNmLi5kZmI1ODViYzYxMyAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcv YW5hbHl6ZXIvdGFpbnQtYWxsb2MtMS5jCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2FuYWx5 emVyL3RhaW50LWFsbG9jLTEuYwpAQCAtMSw1ICsxLDMgQEAKLS8vIFRPRE86IHJlbW92ZSBuZWVk IGZvciB0aGlzIG9wdGlvbgotLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1mYW5hbHl6ZXIt Y2hlY2tlcj10YWludCIgfSAqLwogLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJnZXQgYWxs b2NhIH0gKi8KIAogI2luY2x1ZGUgImFuYWx5emVyLWRlY2xzLmgiCmRpZmYgLS1naXQgYS9nY2Mv dGVzdHN1aXRlL2djYy5kZy9hbmFseXplci90YWludC1hbGxvYy0yLmMgYi9nY2MvdGVzdHN1aXRl L2djYy5kZy9hbmFseXplci90YWludC1hbGxvYy0yLmMKaW5kZXggNzJkYmNhNWNiZjAuLjY4ZmJj ZTkxODhjIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci90YWludC1h bGxvYy0yLmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYW5hbHl6ZXIvdGFpbnQtYWxsb2Mt Mi5jCkBAIC0xLDYgKzEsMyBAQAotLy8gVE9ETzogcmVtb3ZlIG5lZWQgZm9yIHRoaXMgb3B0aW9u OgotLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1mYW5hbHl6ZXItY2hlY2tlcj10YWludCIg fSAqLwotCiAjaW5jbHVkZSAiYW5hbHl6ZXItZGVjbHMuaCIKICNpbmNsdWRlIDxzdGRpby5oPgog I2luY2x1ZGUgPHN0ZGxpYi5oPgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYW5h bHl6ZXIvdGFpbnQtYWxsb2MtMy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYW5hbHl6ZXIvdGFp bnQtYWxsb2MtMy5jCmluZGV4IDgwZDhmMGI4MjQ3Li5jZTZhMzI3MWQyYSAxMDA2NDQKLS0tIGEv Z2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYW5hbHl6ZXIvdGFpbnQtYWxsb2MtMy5jCisrKyBiL2djYy90 ZXN0c3VpdGUvZ2NjLmRnL2FuYWx5emVyL3RhaW50LWFsbG9jLTMuYwpAQCAtMSw2ICsxLDMgQEAK LS8vIFRPRE86IHJlbW92ZSBuZWVkIGZvciB0aGlzIG9wdGlvbjoKLS8qIHsgZGctYWRkaXRpb25h bC1vcHRpb25zICItZmFuYWx5emVyLWNoZWNrZXI9dGFpbnQiIH0gKi8KLQogI2luY2x1ZGUgImFu YWx5emVyLWRlY2xzLmgiCiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4K ZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2FuYWx5emVyL3RhaW50LWFsbG9jLTQu YyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2FuYWx5emVyL3RhaW50LWFsbG9jLTQuYwppbmRleCBi ZDQ3MDk3YjFkNS4uOWRmOTQyMjQ5MWMgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLmRn L2FuYWx5emVyL3RhaW50LWFsbG9jLTQuYworKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFs eXplci90YWludC1hbGxvYy00LmMKQEAgLTEsNiArMSwzIEBACi0vLyBUT0RPOiByZW1vdmUgbmVl ZCBmb3IgdGhpcyBvcHRpb246Ci0vKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLWZhbmFseXpl ci1jaGVja2VyPXRhaW50IiB9ICovCi0KICNpbmNsdWRlICJhbmFseXplci1kZWNscy5oIgogI2lu Y2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8c3RkbGliLmg+CmRpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2djYy5kZy9hbmFseXplci90YWludC1hbGxvYy01LmMgYi9nY2MvdGVzdHN1aXRlL2dj Yy5kZy9hbmFseXplci90YWludC1hbGxvYy01LmMKaW5kZXggOWExNTk4MDBjNjEuLjE4ZGJmZjAy OThlIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci90YWludC1hbGxv Yy01LmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYW5hbHl6ZXIvdGFpbnQtYWxsb2MtNS5j CkBAIC0xLDYgKzEsMyBAQAotLy8gVE9ETzogcmVtb3ZlIG5lZWQgZm9yIHRoaXMgb3B0aW9uCi0v KiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLWZhbmFseXplci1jaGVja2VyPXRhaW50IiB9ICov Ci0KICNpbmNsdWRlICJhbmFseXplci1kZWNscy5oIgogCiBzdHJ1Y3QgZm9vCmRpZmYgLS1naXQg YS9nY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci90YWludC1hc3NlcnQtQlVHX09OLmMgYi9n Y2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci90YWludC1hc3NlcnQtQlVHX09OLmMKaW5kZXgg OGFlZjBhNDRhNmQuLjMyODk0MGQyOTgzIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5k Zy9hbmFseXplci90YWludC1hc3NlcnQtQlVHX09OLmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvYW5hbHl6ZXIvdGFpbnQtYXNzZXJ0LUJVR19PTi5jCkBAIC0xLDYgKzEsMyBAQAotLy8gVE9E TzogcmVtb3ZlIG5lZWQgZm9yIHRoaXMgb3B0aW9uCi0vKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9u cyAiLWZhbmFseXplci1jaGVja2VyPXRhaW50IiB9ICovCi0KIC8qIFdlIG5lZWQgdGhpcywgb3Ro ZXJ3aXNlIHRoZSB3YXJuaW5ncyBhcmUgZW1pdHRlZCBpbnNpZGUgdGhlIG1hY3Jvcywgd2hpY2gK ICAgIG1ha2VzIGl0IGhhcmQgdG8gd3JpdGUgdGhlIERlamFHbnUgZGlyZWN0aXZlcy4gICovCiAv KiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiIC1mdHJhY2stbWFjcm8tZXhwYW5zaW9uPTAiIH0g Ki8KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2FuYWx5emVyL3RhaW50LWFzc2Vy dC1tYWNyby1leHBhbnNpb24uYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2FuYWx5emVyL3RhaW50 LWFzc2VydC1tYWNyby1leHBhbnNpb24uYwppbmRleCAyNGIxNzVhMDk3My4uNzgzNTdhZTYyYjgg MTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2FuYWx5emVyL3RhaW50LWFzc2VydC1t YWNyby1leHBhbnNpb24uYworKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci90YWlu dC1hc3NlcnQtbWFjcm8tZXhwYW5zaW9uLmMKQEAgLTIsOSArMiw2IEBACiAgICAtV2FuYWx5emVy LXRhaW50ZWQtYXNzZXJ0aW9uIHdpdGggbWFjcm8tdHJhY2tpbmcgZW5hYmxlZAogICAgKHRoZSBk ZWZhdWx0KS4gICovCiAKLS8vIFRPRE86IHJlbW92ZSBuZWVkIGZvciB0aGlzIG9wdGlvbgotLyog eyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1mYW5hbHl6ZXItY2hlY2tlcj10YWludCIgfSAqLwot CiAvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLWZkaWFnbm9zdGljcy1zaG93LXBhdGgtZGVw dGhzIiB9ICovCiAvKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLWZkaWFnbm9zdGljcy1wYXRo LWZvcm1hdD1pbmxpbmUtZXZlbnRzIC1mZGlhZ25vc3RpY3Mtc2hvdy1jYXJldCIgfSAqLwogCmRp ZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci90YWludC1hc3NlcnQtc3lz dGVtLWhlYWRlci5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYW5hbHl6ZXIvdGFpbnQtYXNzZXJ0 LXN5c3RlbS1oZWFkZXIuYwppbmRleCBhNjU4NTNjNzg4Ni4uYmQ0N2FiNzkxODggMTAwNjQ0Ci0t LSBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2FuYWx5emVyL3RhaW50LWFzc2VydC1zeXN0ZW0taGVh ZGVyLmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYW5hbHl6ZXIvdGFpbnQtYXNzZXJ0LXN5 c3RlbS1oZWFkZXIuYwpAQCAtMyw5ICszLDYgQEAKICAgICh0aGUgZGVmYXVsdCksIHdoZXJlIHRo ZSBhc3NlcnRpb24gbWFjcm8gaXMgZGVmaW5lZCBpbgogICAgYSBzeXN0ZW0gaGVhZGVyLiAgKi8K IAotLy8gVE9ETzogcmVtb3ZlIG5lZWQgZm9yIHRoaXMgb3B0aW9uCi0vKiB7IGRnLWFkZGl0aW9u YWwtb3B0aW9ucyAiLWZhbmFseXplci1jaGVja2VyPXRhaW50IiB9ICovCi0KIC8qIHsgZGctYWRk aXRpb25hbC1vcHRpb25zICItZmRpYWdub3N0aWNzLXNob3ctcGF0aC1kZXB0aHMiIH0gKi8KIC8q IHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItZmRpYWdub3N0aWNzLXBhdGgtZm9ybWF0PWlubGlu ZS1ldmVudHMgLWZkaWFnbm9zdGljcy1zaG93LWNhcmV0IiB9ICovCiAKZGlmZiAtLWdpdCBhL2dj Yy90ZXN0c3VpdGUvZ2NjLmRnL2FuYWx5emVyL3RhaW50LWFzc2VydC5jIGIvZ2NjL3Rlc3RzdWl0 ZS9nY2MuZGcvYW5hbHl6ZXIvdGFpbnQtYXNzZXJ0LmMKaW5kZXggYjA5ZjhjNTFhMTYuLjg1NWVk NWY3MDVmIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci90YWludC1h c3NlcnQuYworKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci90YWludC1hc3NlcnQu YwpAQCAtMSw2ICsxLDMgQEAKLS8vIFRPRE86IHJlbW92ZSBuZWVkIGZvciB0aGlzIG9wdGlvbgot LyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1mYW5hbHl6ZXItY2hlY2tlcj10YWludCIgfSAq LwotCiAvKiBXZSBuZWVkIHRoaXMsIG90aGVyd2lzZSB0aGUgd2FybmluZ3MgYXJlIGVtaXR0ZWQg aW5zaWRlIHRoZSBtYWNyb3MsIHdoaWNoCiAgICBtYWtlcyBpdCBoYXJkIHRvIHdyaXRlIHRoZSBE ZWphR251IGRpcmVjdGl2ZXMuICAqLwogLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIiAtZnRy YWNrLW1hY3JvLWV4cGFuc2lvbj0wIiB9ICovCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dj Yy5kZy9hbmFseXplci90YWludC1kaXZpc29yLTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2Fu YWx5emVyL3RhaW50LWRpdmlzb3ItMS5jCmluZGV4IGI3YzFmYWVmMWM0Li40MzhhMjA5NTM4MiAx MDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYW5hbHl6ZXIvdGFpbnQtZGl2aXNvci0x LmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYW5hbHl6ZXIvdGFpbnQtZGl2aXNvci0xLmMK QEAgLTEsNiArMSwzIEBACi0vLyBUT0RPOiByZW1vdmUgbmVlZCBmb3IgdGhpcyBvcHRpb246Ci0v KiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLWZhbmFseXplci1jaGVja2VyPXRhaW50IiB9ICov Ci0KICNpbmNsdWRlICJhbmFseXplci1kZWNscy5oIgogI2luY2x1ZGUgPHN0ZGlvLmg+CiAKZGlm ZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2FuYWx5emVyL3RhaW50LW1lcmdlci5jIGIv Z2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYW5hbHl6ZXIvdGFpbnQtbWVyZ2VyLmMKaW5kZXggZTRlNDhm M2RiMDMuLmI3ZDU2MmI5NzA0IDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFs eXplci90YWludC1tZXJnZXIuYworKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci90 YWludC1tZXJnZXIuYwpAQCAtMSw2ICsxLDMgQEAKLS8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25z ICItZmFuYWx5emVyLWNoZWNrZXI9dGFpbnQiIH0gKi8KLS8vIFRPRE86IHJlbW92ZSBuZWVkIGZv ciB0aGlzIG9wdGlvbgotCiAjaW5jbHVkZSAiYW5hbHl6ZXItZGVjbHMuaCIKIAogaW50IHZfc3Rh cnQ7CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci90YWludC1vcHMu YyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2FuYWx5emVyL3RhaW50LW9wcy5jCmluZGV4IDcyOWRi ZTUzYTBjLi43NTM1MDBkNTY5MyAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYW5h bHl6ZXIvdGFpbnQtb3BzLmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYW5hbHl6ZXIvdGFp bnQtb3BzLmMKQEAgLTIsNiArMiw3IEBACiAvLyBUT0RPOiByZW1vdmUgbmVlZCBmb3IgdGhpcyBv cHRpb24KIC8qIFRoaXMgdGVzdCBjYW4gcHJvYmFibHkgYmUgcmVtb3ZlZCB3aGVuIC1mYW5hbHl6 ZXIgZW5hYmxlcwogICAgdGhlIHRhaW50IGNoZWNrZXIgYnkgZGVmYXVsdC4gICovCisvLyBGSVhN RTogcmVtb3ZlIGl0PwogCiAjaW5jbHVkZSAiYW5hbHl6ZXItZGVjbHMuaCIKIApkaWZmIC0tZ2l0 IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYW5hbHl6ZXIvdGFpbnQtcmVhZC1pbmRleC0xLmMgYi9n Y2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci90YWludC1yZWFkLWluZGV4LTEuYwppbmRleCA3 MWMwODE2ZmQxZi4uMWVjNzhiNTI2MjkgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLmRn L2FuYWx5emVyL3RhaW50LXJlYWQtaW5kZXgtMS5jCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRn L2FuYWx5emVyL3RhaW50LXJlYWQtaW5kZXgtMS5jCkBAIC0xLDYgKzEsMyBAQAotLy8gVE9ETzog cmVtb3ZlIG5lZWQgZm9yIHRoaXMgb3B0aW9uOgotLyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMg Ii1mYW5hbHl6ZXItY2hlY2tlcj10YWludCIgfSAqLwotCiAjaW5jbHVkZSA8c3RkaW8uaD4KICNp bmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KZGlmZiAtLWdpdCBhL2djYy90 ZXN0c3VpdGUvZ2NjLmRnL2FuYWx5emVyL3RhaW50LXJlYWQtb2Zmc2V0LTEuYyBiL2djYy90ZXN0 c3VpdGUvZ2NjLmRnL2FuYWx5emVyL3RhaW50LXJlYWQtb2Zmc2V0LTEuYwppbmRleCA2ZGI1OWJj YzYxNS4uYmI1ZDA5MzBjZGIgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2FuYWx5 emVyL3RhaW50LXJlYWQtb2Zmc2V0LTEuYworKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFs eXplci90YWludC1yZWFkLW9mZnNldC0xLmMKQEAgLTEsNiArMSwzIEBACi0vLyBUT0RPOiByZW1v dmUgbmVlZCBmb3IgdGhpcyBvcHRpb246Ci0vKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLWZh bmFseXplci1jaGVja2VyPXRhaW50IiB9ICovCi0KICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1 ZGUgPHN0ZGxpYi5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3Rz dWl0ZS9nY2MuZGcvYW5hbHl6ZXIvdGFpbnQtcmVhbGxvYy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvYW5hbHl6ZXIvdGFpbnQtcmVhbGxvYy5jCmluZGV4IGJkMGVkMDAxMGZiLi4yN2UzNmFmZWE2 NCAxMDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYW5hbHl6ZXIvdGFpbnQtcmVhbGxv Yy5jCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2FuYWx5emVyL3RhaW50LXJlYWxsb2MuYwpA QCAtMSw2ICsxLDMgQEAKLS8vIFRPRE86IHJlbW92ZSBuZWVkIGZvciB0aGlzIG9wdGlvbjoKLS8q IHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItZmFuYWx5emVyLWNoZWNrZXI9dGFpbnQiIH0gKi8K LQogI2luY2x1ZGUgImFuYWx5emVyLWRlY2xzLmgiCiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNs dWRlIDxzdGRsaWIuaD4KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2FuYWx5emVy L3RhaW50LXNpemUtMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYW5hbHl6ZXIvdGFpbnQtc2l6 ZS0xLmMKaW5kZXggMGIxNjZmN2E4NmEuLmUwZmEzZmIwY2IzIDEwMDY0NAotLS0gYS9nY2MvdGVz dHN1aXRlL2djYy5kZy9hbmFseXplci90YWludC1zaXplLTEuYworKysgYi9nY2MvdGVzdHN1aXRl L2djYy5kZy9hbmFseXplci90YWludC1zaXplLTEuYwpAQCAtMSw2ICsxLDMgQEAKLS8vIFRPRE86 IHJlbW92ZSBuZWVkIGZvciB0aGlzIG9wdGlvbjoKLS8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25z ICItZmFuYWx5emVyLWNoZWNrZXI9dGFpbnQiIH0gKi8KLQogI2luY2x1ZGUgImFuYWx5emVyLWRl Y2xzLmgiCiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KZGlmZiAtLWdp dCBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2FuYWx5emVyL3RhaW50LXNpemUtYWNjZXNzLWF0dHIt MS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYW5hbHl6ZXIvdGFpbnQtc2l6ZS1hY2Nlc3MtYXR0 ci0xLmMKaW5kZXggN2QyNDNhOTU3MGYuLmQ0ZGEzZDc3ZmExIDEwMDY0NAotLS0gYS9nY2MvdGVz dHN1aXRlL2djYy5kZy9hbmFseXplci90YWludC1zaXplLWFjY2Vzcy1hdHRyLTEuYworKysgYi9n Y2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXplci90YWludC1zaXplLWFjY2Vzcy1hdHRyLTEuYwpA QCAtMSw4ICsxLDcgQEAKIC8qIFBhc3NpbmcgdGFpbnRlZCBzaXplcyB0byBleHRlcm5hbCBmdW5j dGlvbnMgd2l0aCBhdHRyaWJ1dGUgKChhY2Nlc3MpKSB3aXRoCiAgICBhIHNpemUtaW5kZXguICAq LwogCi0vLyBUT0RPOiByZW1vdmUgbmVlZCBmb3IgdGhlIGV4cGxpY2l0IHRhaW50IG9wdGlvbjoK LS8qIHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItZmFuYWx5emVyLWNoZWNrZXI9dGFpbnQgLWZh bmFseXplci1zaG93LWR1cGxpY2F0ZS1jb3VudCIgfSAqLworLyogeyBkZy1hZGRpdGlvbmFsLW9w dGlvbnMgIi1mYW5hbHl6ZXItc2hvdy1kdXBsaWNhdGUtY291bnQiIH0gKi8KIAogI2luY2x1ZGUg ImFuYWx5emVyLWRlY2xzLmgiCiAjaW5jbHVkZSA8c3RkaW8uaD4KZGlmZiAtLWdpdCBhL2djYy90 ZXN0c3VpdGUvZ2NjLmRnL2FuYWx5emVyL3RhaW50LXdyaXRlLWluZGV4LTEuYyBiL2djYy90ZXN0 c3VpdGUvZ2NjLmRnL2FuYWx5emVyL3RhaW50LXdyaXRlLWluZGV4LTEuYwppbmRleCBjYzdhYjFj YTRmNi4uNjIyMjIwNjk1NzggMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2FuYWx5 emVyL3RhaW50LXdyaXRlLWluZGV4LTEuYworKysgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFs eXplci90YWludC13cml0ZS1pbmRleC0xLmMKQEAgLTEsNiArMSwzIEBACi0vLyBUT0RPOiByZW1v dmUgbmVlZCBmb3IgdGhpcyBvcHRpb246Ci0vKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLWZh bmFseXplci1jaGVja2VyPXRhaW50IiB9ICovCi0KICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1 ZGUgPHN0ZGxpYi5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3Rz dWl0ZS9nY2MuZGcvYW5hbHl6ZXIvdGFpbnQtd3JpdGUtb2Zmc2V0LTEuYyBiL2djYy90ZXN0c3Vp dGUvZ2NjLmRnL2FuYWx5emVyL3RhaW50LXdyaXRlLW9mZnNldC0xLmMKaW5kZXggZDBkZjYyMjAz MTUuLjIxNzk0Y2U0Y2Y4IDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9hbmFseXpl ci90YWludC13cml0ZS1vZmZzZXQtMS5jCisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL2FuYWx5 emVyL3RhaW50LXdyaXRlLW9mZnNldC0xLmMKQEAgLTEsNiArMSwzIEBACi0vLyBUT0RPOiByZW1v dmUgbmVlZCBmb3IgdGhpcyBvcHRpb246Ci0vKiB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyAiLWZh bmFseXplci1jaGVja2VyPXRhaW50IiB9ICovCi0KICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1 ZGUgPHN0ZGxpYi5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3Rz dWl0ZS9nY2MuZGcvYW5hbHl6ZXIvdG9ydHVyZS90YWludC1yZWFkLWluZGV4LTIuYyBiL2djYy90 ZXN0c3VpdGUvZ2NjLmRnL2FuYWx5emVyL3RvcnR1cmUvdGFpbnQtcmVhZC1pbmRleC0yLmMKaW5k ZXggYjNkYzE3N2NiMTQuLjgxNDIxMzMwZThkIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2dj Yy5kZy9hbmFseXplci90b3J0dXJlL3RhaW50LXJlYWQtaW5kZXgtMi5jCisrKyBiL2djYy90ZXN0 c3VpdGUvZ2NjLmRnL2FuYWx5emVyL3RvcnR1cmUvdGFpbnQtcmVhZC1pbmRleC0yLmMKQEAgLTEs NSArMSwzIEBACi0vLyBUT0RPOiByZW1vdmUgbmVlZCBmb3IgdGhlIHRhaW50IG9wdGlvbjoKLS8q IHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItZmFuYWx5emVyLWNoZWNrZXI9dGFpbnQiIH0gKi8K IC8qIHsgZGctc2tpcC1pZiAiIiB7ICotKi0qIH0geyAiLWZuby1mYXQtbHRvLW9iamVjdHMiIH0g eyAiIiB9IH0gKi8KIAogI2RlZmluZSBMT1dFUl9MSU1JVCA1CmRpZmYgLS1naXQgYS9nY2MvdGVz dHN1aXRlL2djYy5kZy9hbmFseXplci90b3J0dXJlL3RhaW50LXJlYWQtaW5kZXgtMy5jIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MuZGcvYW5hbHl6ZXIvdG9ydHVyZS90YWludC1yZWFkLWluZGV4LTMuYwpp bmRleCA4ZWI2MDYxYTA4Yi4uODZiZGVkZWRlN2UgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUv Z2NjLmRnL2FuYWx5emVyL3RvcnR1cmUvdGFpbnQtcmVhZC1pbmRleC0zLmMKKysrIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MuZGcvYW5hbHl6ZXIvdG9ydHVyZS90YWludC1yZWFkLWluZGV4LTMuYwpAQCAt MSw1ICsxLDMgQEAKLS8vIFRPRE86IHJlbW92ZSBuZWVkIGZvciB0aGUgdGFpbnQgb3B0aW9uOgot LyogeyBkZy1hZGRpdGlvbmFsLW9wdGlvbnMgIi1mYW5hbHl6ZXItY2hlY2tlcj10YWludCIgfSAq LwogLyogeyBkZy1za2lwLWlmICIiIHsgKi0qLSogfSB7ICItZm5vLWZhdC1sdG8tb2JqZWN0cyIg fSB7ICIiIH0gfSAqLwogCiBzdHJ1Y3QgcmF3X2VwIHsKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3Vp dGUvZ2NjLmRnL3BsdWdpbi90YWludC1DVkUtMjAxMS0wNTIxLTEtZml4ZWQuYyBiL2djYy90ZXN0 c3VpdGUvZ2NjLmRnL3BsdWdpbi90YWludC1DVkUtMjAxMS0wNTIxLTEtZml4ZWQuYwppbmRleCAw Y2E4MTM3YzNlZi4uN2NhMGM4ZWU0OGIgMTAwNjQ0Ci0tLSBhL2djYy90ZXN0c3VpdGUvZ2NjLmRn L3BsdWdpbi90YWludC1DVkUtMjAxMS0wNTIxLTEtZml4ZWQuYworKysgYi9nY2MvdGVzdHN1aXRl L2djYy5kZy9wbHVnaW4vdGFpbnQtQ1ZFLTIwMTEtMDUyMS0xLWZpeGVkLmMKQEAgLTEsNiArMSw0 IEBACiAvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwotLy8gVE9ETzogcmVtb3ZlIG5lZWQgZm9yIC1m YW5hbHl6ZXItY2hlY2tlcj10YWludCBoZXJlOgotLyogeyBkZy1vcHRpb25zICItZmFuYWx5emVy IC1mYW5hbHl6ZXItY2hlY2tlcj10YWludCIgfSAqLwogLyogeyBkZy1yZXF1aXJlLWVmZmVjdGl2 ZS10YXJnZXQgYW5hbHl6ZXIgfSAqLwogCiAvKiBTZWUgbm90ZXMgaW4gdGhpcyBoZWFkZXIuICAq LwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcGx1Z2luL3RhaW50LUNWRS0yMDEx LTA1MjEtMS5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcGx1Z2luL3RhaW50LUNWRS0yMDExLTA1 MjEtMS5jCmluZGV4IGNkZTEyYjNiNzYxLi42YWE2MmEzMGU0MiAxMDA2NDQKLS0tIGEvZ2NjL3Rl c3RzdWl0ZS9nY2MuZGcvcGx1Z2luL3RhaW50LUNWRS0yMDExLTA1MjEtMS5jCisrKyBiL2djYy90 ZXN0c3VpdGUvZ2NjLmRnL3BsdWdpbi90YWludC1DVkUtMjAxMS0wNTIxLTEuYwpAQCAtMSw2ICsx LDQgQEAKIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0vLyBUT0RPOiByZW1vdmUgbmVlZCBmb3Ig LWZhbmFseXplci1jaGVja2VyPXRhaW50IGhlcmU6Ci0vKiB7IGRnLW9wdGlvbnMgIi1mYW5hbHl6 ZXIgLWZhbmFseXplci1jaGVja2VyPXRhaW50IiB9ICovCiAvKiB7IGRnLXJlcXVpcmUtZWZmZWN0 aXZlLXRhcmdldCBhbmFseXplciB9ICovCiAKIC8qIFNlZSBub3RlcyBpbiB0aGlzIGhlYWRlci4g ICovCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wbHVnaW4vdGFpbnQtQ1ZFLTIw MTEtMDUyMS0yLWZpeGVkLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wbHVnaW4vdGFpbnQtQ1ZF LTIwMTEtMDUyMS0yLWZpeGVkLmMKaW5kZXggOGEyMTFjZWZlNGUuLmI5NjJlOWRmYjc5IDEwMDY0 NAotLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wbHVnaW4vdGFpbnQtQ1ZFLTIwMTEtMDUyMS0y LWZpeGVkLmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcGx1Z2luL3RhaW50LUNWRS0yMDEx LTA1MjEtMi1maXhlZC5jCkBAIC0xLDE0ICsxLDkgQEAKIC8qIHsgZGctZG8gY29tcGlsZSB9ICov Ci0vLyBUT0RPOiByZW1vdmUgbmVlZCBmb3IgLWZhbmFseXplci1jaGVja2VyPXRhaW50IGhlcmU6 Ci0vKiB7IGRnLW9wdGlvbnMgIi1mYW5hbHl6ZXIgLWZhbmFseXplci1jaGVja2VyPXRhaW50IiB9 ICovCiAvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBhbmFseXplciB9ICovCiAKIC8q IFNlZSBub3RlcyBpbiB0aGlzIGhlYWRlci4gICovCiAjaW5jbHVkZSAidGFpbnQtQ1ZFLTIwMTEt MDUyMS5oIgogCi0vLyBUT0RPOiByZW1vdmUgbmVlZCBmb3IgdGhpcyBvcHRpb24KLS8qIHsgZGct YWRkaXRpb25hbC1vcHRpb25zICItZmFuYWx5emVyLWNoZWNrZXI9dGFpbnQiIH0gKi8KLQogLyog QWRhcHRlZCBmcm9tIGRyaXZlcnMvbWVkaWEvZHZiL3R0cGNpL2F2NzExMF9jYS5jICAqLwogCiBp bnQgZHZiX2NhX2lvY3RsKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLCB2b2lk ICpwYXJnKQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcGx1Z2luL3RhaW50LUNW RS0yMDExLTA1MjEtMi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcGx1Z2luL3RhaW50LUNWRS0y MDExLTA1MjEtMi5jCmluZGV4IDMwY2FiMzhlMDAyLi43MGJiNGIzNTMyMCAxMDA2NDQKLS0tIGEv Z2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcGx1Z2luL3RhaW50LUNWRS0yMDExLTA1MjEtMi5jCisrKyBi L2djYy90ZXN0c3VpdGUvZ2NjLmRnL3BsdWdpbi90YWludC1DVkUtMjAxMS0wNTIxLTIuYwpAQCAt MSw2ICsxLDQgQEAKIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0vLyBUT0RPOiByZW1vdmUgbmVl ZCBmb3IgLWZhbmFseXplci1jaGVja2VyPXRhaW50IGhlcmU6Ci0vKiB7IGRnLW9wdGlvbnMgIi1m YW5hbHl6ZXIgLWZhbmFseXplci1jaGVja2VyPXRhaW50IiB9ICovCiAvKiB7IGRnLXJlcXVpcmUt ZWZmZWN0aXZlLXRhcmdldCBhbmFseXplciB9ICovCiAKIC8qIFNlZSBub3RlcyBpbiB0aGlzIGhl YWRlci4gICovCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wbHVnaW4vdGFpbnQt Q1ZFLTIwMTEtMDUyMS0zLWZpeGVkLmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wbHVnaW4vdGFp bnQtQ1ZFLTIwMTEtMDUyMS0zLWZpeGVkLmMKaW5kZXggYjc4NTJiNDBkY2YuLmRmOGJhNWI0ZTI3 IDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wbHVnaW4vdGFpbnQtQ1ZFLTIwMTEt MDUyMS0zLWZpeGVkLmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcGx1Z2luL3RhaW50LUNW RS0yMDExLTA1MjEtMy1maXhlZC5jCkBAIC0xLDE0ICsxLDkgQEAKIC8qIHsgZGctZG8gY29tcGls ZSB9ICovCi0vLyBUT0RPOiByZW1vdmUgbmVlZCBmb3IgLWZhbmFseXplci1jaGVja2VyPXRhaW50 IGhlcmU6Ci0vKiB7IGRnLW9wdGlvbnMgIi1mYW5hbHl6ZXIgLWZhbmFseXplci1jaGVja2VyPXRh aW50IiB9ICovCiAvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBhbmFseXplciB9ICov CiAKIC8qIFNlZSBub3RlcyBpbiB0aGlzIGhlYWRlci4gICovCiAjaW5jbHVkZSAidGFpbnQtQ1ZF LTIwMTEtMDUyMS5oIgogCi0vLyBUT0RPOiByZW1vdmUgbmVlZCBmb3IgdGhpcyBvcHRpb24KLS8q IHsgZGctYWRkaXRpb25hbC1vcHRpb25zICItZmFuYWx5emVyLWNoZWNrZXI9dGFpbnQiIH0gKi8K LQogLyogQWRhcHRlZCBmcm9tIGRyaXZlcnMvbWVkaWEvZHZiL3R0cGNpL2F2NzExMF9jYS5jICAq LwogCiBpbnQgZHZiX2NhX2lvY3RsKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21k LCB2b2lkICpwYXJnKQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcGx1Z2luL3Rh aW50LUNWRS0yMDExLTA1MjEtMy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcGx1Z2luL3RhaW50 LUNWRS0yMDExLTA1MjEtMy5jCmluZGV4IDZiOWUwMzRlZWE3Li4xODMzNDhmYWE3MSAxMDA2NDQK LS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcGx1Z2luL3RhaW50LUNWRS0yMDExLTA1MjEtMy5j CisrKyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3BsdWdpbi90YWludC1DVkUtMjAxMS0wNTIxLTMu YwpAQCAtMSw2ICsxLDQgQEAKIC8qIHsgZGctZG8gY29tcGlsZSB9ICovCi0vLyBUT0RPOiByZW1v dmUgbmVlZCBmb3IgLWZhbmFseXplci1jaGVja2VyPXRhaW50IGhlcmU6Ci0vKiB7IGRnLW9wdGlv bnMgIi1mYW5hbHl6ZXIgLWZhbmFseXplci1jaGVja2VyPXRhaW50IiB9ICovCiAvKiB7IGRnLXJl cXVpcmUtZWZmZWN0aXZlLXRhcmdldCBhbmFseXplciB9ICovCiAKIC8qIFNlZSBub3RlcyBpbiB0 aGlzIGhlYWRlci4gICovCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wbHVnaW4v dGFpbnQtQ1ZFLTIwMTEtMDUyMS00LmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wbHVnaW4vdGFp bnQtQ1ZFLTIwMTEtMDUyMS00LmMKaW5kZXggZjMxNGM2NGNlNzAuLjNhMGUxZmY3NmNhIDEwMDY0 NAotLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wbHVnaW4vdGFpbnQtQ1ZFLTIwMTEtMDUyMS00 LmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcGx1Z2luL3RhaW50LUNWRS0yMDExLTA1MjEt NC5jCkBAIC0xLDggKzEsNiBAQAogLyogeyBkZy1kbyBjb21waWxlIH0gKi8KLS8vIFRPRE86IHJl bW92ZSBuZWVkIGZvciAtZmFuYWx5emVyLWNoZWNrZXI9dGFpbnQgaGVyZToKIC8vIFRPRE86IHJl bW92ZSBuZWVkIGZvciAtLXBhcmFtPWFuYWx5emVyLW1heC1zdmFsdWUtZGVwdGg9MjUgaGVyZToK LS8qIHsgZGctb3B0aW9ucyAiLWZhbmFseXplciAtZmFuYWx5emVyLWNoZWNrZXI9dGFpbnQgLS1w YXJhbT1hbmFseXplci1tYXgtc3ZhbHVlLWRlcHRoPTI1IiB9ICovCi0vKiB7IGRnLW9wdGlvbnMg Ii1mYW5hbHl6ZXIgLWZhbmFseXplci1jaGVja2VyPXRhaW50IiB9ICovCisvKiB7IGRnLW9wdGlv bnMgIi1mYW5hbHl6ZXIgLS1wYXJhbT1hbmFseXplci1tYXgtc3ZhbHVlLWRlcHRoPTI1IiB9ICov CiAvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBhbmFseXplciB9ICovCiAKIC8qIFNl ZSBub3RlcyBpbiB0aGlzIGhlYWRlci4gICovCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dj Yy5kZy9wbHVnaW4vdGFpbnQtQ1ZFLTIwMTEtMDUyMS01LWZpeGVkLmMgYi9nY2MvdGVzdHN1aXRl L2djYy5kZy9wbHVnaW4vdGFpbnQtQ1ZFLTIwMTEtMDUyMS01LWZpeGVkLmMKaW5kZXggOGNiMDY3 YzY1NDIuLmMyMmQxNDgxOTAwIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wbHVn aW4vdGFpbnQtQ1ZFLTIwMTEtMDUyMS01LWZpeGVkLmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu ZGcvcGx1Z2luL3RhaW50LUNWRS0yMDExLTA1MjEtNS1maXhlZC5jCkBAIC0xLDcgKzEsNiBAQAog LyogeyBkZy1kbyBjb21waWxlIH0gKi8KLS8vIFRPRE86IHJlbW92ZSBuZWVkIGZvciAtZmFuYWx5 emVyLWNoZWNrZXI9dGFpbnQgaGVyZToKIC8vIFRPRE86IHJlbW92ZSBuZWVkIGZvciAtLXBhcmFt PWFuYWx5emVyLW1heC1zdmFsdWUtZGVwdGg9MjUgaGVyZToKLS8qIHsgZGctb3B0aW9ucyAiLWZh bmFseXplciAtZmFuYWx5emVyLWNoZWNrZXI9dGFpbnQgLS1wYXJhbT1hbmFseXplci1tYXgtc3Zh bHVlLWRlcHRoPTI1IiB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1mYW5hbHl6ZXIgLS1wYXJhbT1h bmFseXplci1tYXgtc3ZhbHVlLWRlcHRoPTI1IiB9ICovCiAvKiB7IGRnLXJlcXVpcmUtZWZmZWN0 aXZlLXRhcmdldCBhbmFseXplciB9ICovCiAKIC8qIFNlZSBub3RlcyBpbiB0aGlzIGhlYWRlci4g ICovCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wbHVnaW4vdGFpbnQtQ1ZFLTIw MTEtMDUyMS01LmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wbHVnaW4vdGFpbnQtQ1ZFLTIwMTEt MDUyMS01LmMKaW5kZXggNGNlMDQ3OTAyZDMuLjY2ZjMzNGE2MWExIDEwMDY0NAotLS0gYS9nY2Mv dGVzdHN1aXRlL2djYy5kZy9wbHVnaW4vdGFpbnQtQ1ZFLTIwMTEtMDUyMS01LmMKKysrIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MuZGcvcGx1Z2luL3RhaW50LUNWRS0yMDExLTA1MjEtNS5jCkBAIC0xLDcg KzEsNiBAQAogLyogeyBkZy1kbyBjb21waWxlIH0gKi8KLS8vIFRPRE86IHJlbW92ZSBuZWVkIGZv ciAtZmFuYWx5emVyLWNoZWNrZXI9dGFpbnQgaGVyZToKIC8vIFRPRE86IHJlbW92ZSBuZWVkIGZv ciAtLXBhcmFtPWFuYWx5emVyLW1heC1zdmFsdWUtZGVwdGg9MjUgaGVyZToKLS8qIHsgZGctb3B0 aW9ucyAiLWZhbmFseXplciAtZmFuYWx5emVyLWNoZWNrZXI9dGFpbnQgLS1wYXJhbT1hbmFseXpl ci1tYXgtc3ZhbHVlLWRlcHRoPTI1IiB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1mYW5hbHl6ZXIg LS1wYXJhbT1hbmFseXplci1tYXgtc3ZhbHVlLWRlcHRoPTI1IiB9ICovCiAvKiB7IGRnLXJlcXVp cmUtZWZmZWN0aXZlLXRhcmdldCBhbmFseXplciB9ICovCiAKIC8qIFNlZSBub3RlcyBpbiB0aGlz IGhlYWRlci4gICovCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wbHVnaW4vdGFp bnQtQ1ZFLTIwMTEtMDUyMS02LmMgYi9nY2MvdGVzdHN1aXRlL2djYy5kZy9wbHVnaW4vdGFpbnQt Q1ZFLTIwMTEtMDUyMS02LmMKaW5kZXggYzU0YWY3OTBhNTYuLjVhZjc5OTE1OGIxIDEwMDY0NAot LS0gYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9wbHVnaW4vdGFpbnQtQ1ZFLTIwMTEtMDUyMS02LmMK KysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcGx1Z2luL3RhaW50LUNWRS0yMDExLTA1MjEtNi5j CkBAIC0xLDcgKzEsNiBAQAogLyogeyBkZy1kbyBjb21waWxlIH0gKi8KLS8vIFRPRE86IHJlbW92 ZSBuZWVkIGZvciAtZmFuYWx5emVyLWNoZWNrZXI9dGFpbnQgaGVyZToKIC8vIFRPRE86IHJlbW92 ZSBuZWVkIGZvciAtLXBhcmFtPWFuYWx5emVyLW1heC1zdmFsdWUtZGVwdGg9MjUgaGVyZToKLS8q IHsgZGctb3B0aW9ucyAiLWZhbmFseXplciAtZmFuYWx5emVyLWNoZWNrZXI9dGFpbnQgLS1wYXJh bT1hbmFseXplci1tYXgtc3ZhbHVlLWRlcHRoPTI1IiB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1m YW5hbHl6ZXIgLS1wYXJhbT1hbmFseXplci1tYXgtc3ZhbHVlLWRlcHRoPTI1IiB9ICovCiAvKiB7 IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBhbmFseXplciB9ICovCiAKIC8qIFNlZSBub3Rl cyBpbiB0aGlzIGhlYWRlci4gICovCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy5kZy9w bHVnaW4vdGFpbnQtYW50aXBhdHRlcm5zLTEuYyBiL2djYy90ZXN0c3VpdGUvZ2NjLmRnL3BsdWdp bi90YWludC1hbnRpcGF0dGVybnMtMS5jCmluZGV4IDZiYjZmMWJlMjVjLi5jZGQ5YTRmMWY1MCAx MDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcGx1Z2luL3RhaW50LWFudGlwYXR0ZXJu cy0xLmMKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvcGx1Z2luL3RhaW50LWFudGlwYXR0ZXJu cy0xLmMKQEAgLTEsNiArMSw1IEBACiAvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLwotLy8gVE9ETzog cmVtb3ZlIG5lZWQgZm9yIC1mYW5hbHl6ZXItY2hlY2tlcj10YWludCBoZXJlOgotLyogeyBkZy1v cHRpb25zICItZmFuYWx5emVyIC1mYW5hbHl6ZXItY2hlY2tlcj10YWludCIgfSAqLworLyogeyBk Zy1vcHRpb25zICItZmFuYWx5emVyIiB9ICovCiAvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRh cmdldCBhbmFseXplciB9ICovCiAKICNpbmNsdWRlICJ0ZXN0LXVhY2Nlc3MuaCIKLS0gCjIuMjYu MwoK --=-JoFPR0KpDQGVtCj//yso--