<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>120094</bug_id>
          
          <creation_ts>2013-08-20 15:09:15 -0700</creation_ts>
          <short_desc>REGRESSION(r154361): So it can be relanded with correct ChangeLog (Requested by anttik on #webkit).</short_desc>
          <delta_ts>2013-08-20 15:15:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>120078</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>darin</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>919250</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-20 15:09:15 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/154361 broke the build:
So it can be relanded with correct ChangeLog (Requested by anttik on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>919252</commentid>
    <comment_count>1</comment_count>
      <attachid>209231</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-08-20 15:09:40 -0700</bug_when>
    <thetext>Created attachment 209231
ROLLOUT of r154361

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209231</attachid>
            <date>2013-08-20 15:09:40 -0700</date>
            <delta_ts>2013-08-20 15:15:12 -0700</delta_ts>
            <desc>ROLLOUT of r154361</desc>
            <filename>bug-120094-20130820150939.patch</filename>
            <type>text/plain</type>
            <size>50822</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0MzYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWFmOTliOTRkMTNjZjIz
ODVlYTI1NGZhNmRkYTAyZTc2NTJiMWMyMy4uMDI3NTRlMTJiZmNhYzM5NGI3ZmNiNTg3Yzg4YTBj
OTJlNGJlZjA4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk2IEBACisyMDEzLTA4LTIwICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICA8TmVlZCB0aGUg
YnVnIFVSTCAoT09QUyEpPiBOZWVkIGEgc2hvcnQgZGVzY3JpcHRpb24gKE9PUFMhKQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAo
T09QUyEpLgorCisgICAgICAgICogZG9tL0NvbnRhaW5lck5vZGUuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkNvbnRhaW5lck5vZGU6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIpOgorICAgICAgICAq
IGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmNoaWxkU2hvdWxk
Q3JlYXRlUmVuZGVyZXIpOgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6CisgICAgICAgICogZG9t
L05vZGVSZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGVSZW5kZXJp
bmdDb250ZXh0OjpzaG91bGRDcmVhdGVSZW5kZXJlcik6CisgICAgICAgIChXZWJDb3JlOjpOb2Rl
UmVuZGVyaW5nQ29udGV4dDo6aXNPbkVuY2Fwc3VsYXRpb25Cb3VuZGFyeSk6CisgICAgICAgIChX
ZWJDb3JlOjpOb2RlUmVuZGVyaW5nQ29udGV4dDo6aXNPblVwcGVyRW5jYXBzdWxhdGlvbkJvdW5k
YXJ5KToKKyAgICAgICAgKiBkb20vTm9kZVJlbmRlcmluZ0NvbnRleHQuaDoKKyAgICAgICAgKiBk
b20vU2hhZG93Um9vdC5oOgorICAgICAgICAqIGh0bWwvSFRNTERldGFpbHNFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxEZXRhaWxzRWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVS
ZW5kZXJlcik6CisgICAgICAgICogaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQuaDoKKyAgICAgICAg
KiBodG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TEZvcm1Db250cm9sRWxlbWVudDo6dmFsaWRhdGlvbk1lc3NhZ2VTaGFkb3dUcmVlQ29udGFpbnMp
OgorICAgICAgICAqIGh0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oOgorICAgICAgICAqIGh0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRp
YUVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE1ldGVyRWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcik6
CisgICAgICAgICogaHRtbC9IVE1MTWV0ZXJFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1M
T3B0R3JvdXBFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjppc0hUTUxPcHRHcm91cEVsZW1l
bnQpOgorICAgICAgICAqIGh0bWwvSFRNTE9wdGlvbkVsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OmlzSFRNTE9wdGlvbkVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTFByb2dyZXNzRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUHJvZ3Jlc3NFbGVtZW50OjpjaGlsZFNo
b3VsZENyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKiBodG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQu
aDoKKyAgICAgICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxTZWxlY3RFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKToKKyAgICAg
ICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MU3VtbWFy
eUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFN1bW1hcnlFbGVtZW50OjpjaGls
ZFNob3VsZENyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKiBodG1sL0hUTUxTdW1tYXJ5RWxlbWVu
dC5oOgorICAgICAgICAqIGh0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3Jl
YXRlUmVuZGVyZXIpOgorICAgICAgICAoV2ViQ29yZTo6ZW5jbG9zaW5nVGV4dEZvcm1Db250cm9s
KToKKyAgICAgICAgKiBodG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50Lmg6CisgICAgICAg
ICogaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWYWxpZGF0
aW9uTWVzc2FnZTo6c2hhZG93VHJlZUNvbnRhaW5zKToKKyAgICAgICAgKiBodG1sL1ZhbGlkYXRp
b25NZXNzYWdlLmg6CisgICAgICAgICogaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zZXJ0aW9uUG9pbnQ6OmlzU2hhZG93Qm91bmRhcnkpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zZXJ0aW9uUG9pbnQ6OnJlbmRlcmVySXNOZWVkZWQpOgorICAgICAg
ICAqIGh0bWwvc2hhZG93L0luc2VydGlvblBvaW50Lmg6CisgICAgICAgIChXZWJDb3JlOjppc0Fj
dGl2ZUluc2VydGlvblBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6OmlzTG93ZXJFbmNhcHN1bGF0
aW9uQm91bmRhcnkpOgorICAgICAgICAqIHN2Zy9TVkdBRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdBRWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcik6CisgICAgICAg
ICogc3ZnL1NWR0FFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0FsdEdseXBoRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbHRHbHlwaEVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3Jl
YXRlUmVuZGVyZXIpOgorICAgICAgICAqIHN2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuaDoKKyAgICAg
ICAgKiBzdmcvU1ZHRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRG9jdW1lbnQ6
OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIpOgorICAgICAgICAqIHN2Zy9TVkdEb2N1bWVudC5o
OgorICAgICAgICAqIHN2Zy9TVkdFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0Vs
ZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIpOgorICAgICAgICAqIHN2Zy9TVkdFbGVt
ZW50Lmg6CisgICAgICAgICogc3ZnL1NWR0ZpbHRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHRmlsdGVyRWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcik6CisgICAg
ICAgICogc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRmlsdGVyUHJp
bWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmg6CisgICAgICAgICogc3ZnL1NWR0ZvcmVpZ25PYmpl
Y3RFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZvcmVpZ25PYmplY3RFbGVtZW50
OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKToKKyAgICAgICAgKiBzdmcvU1ZHRm9yZWlnbk9i
amVjdEVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHU1ZHRWxlbWVudC5oOgorICAgICAgICAq
IHN2Zy9TVkdTd2l0Y2hFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1N3aXRjaEVs
ZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIpOgorICAgICAgICAqIHN2Zy9TVkdTd2l0
Y2hFbGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1RSZWZFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNWR1RSZWZFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKToKKyAg
ICAgICAgKiBzdmcvU1ZHVFJlZkVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHVFNwYW5FbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RTcGFuRWxlbWVudDo6Y2hpbGRTaG91bGRD
cmVhdGVSZW5kZXJlcik6CisgICAgICAgICogc3ZnL1NWR1RTcGFuRWxlbWVudC5oOgorICAgICAg
ICAqIHN2Zy9TVkdUZXh0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdUZXh0RWxl
bWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcik6CisgICAgICAgICogc3ZnL1NWR1RleHRF
bGVtZW50Lmg6CisgICAgICAgICogc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdUZXh0UGF0aEVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIp
OgorICAgICAgICAqIHN2Zy9TVkdUZXh0UGF0aEVsZW1lbnQuaDoKKwogMjAxMy0wOC0yMCAgQW50
dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgPGh0dHBzOi8vd2Via2l0
Lm9yZy9iLzEyMDA3OD4gUmVwbGFjZSBOb2RlUmVuZGVyaW5nQ29udGV4dCB3aXRoIFJlbmRlclN0
eWxlJiBhcyBzaG91bGRDcmVhdGVSZW5kZXJlcigpIGFyZ3VtZW50CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRh
aW5lck5vZGUuaAppbmRleCBmZGMyNWI3NmZkMTIyODFmMzAzOWIxM2U2OWFlNjA1OTIzNDZkZDc1
Li5kYjEzMzFjYjMzNDc5YmQ3ZmFiODBiN2NiMTY5ZjZjYjZlNzViZjljIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Db250YWluZXJOb2RlLmgKQEAgLTExOCw3ICsxMTgsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lk
IGRpc2Nvbm5lY3REZXNjZW5kYW50RnJhbWVzKCk7CiAKLSAgICB2aXJ0dWFsIGJvb2wgY2hpbGRT
aG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlKikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQor
ICAgIHZpcnR1YWwgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGVSZW5k
ZXJpbmdDb250ZXh0JikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCiBwcm90ZWN0ZWQ6CiAgICAg
Q29udGFpbmVyTm9kZShEb2N1bWVudCosIENvbnN0cnVjdGlvblR5cGUgPSBDcmVhdGVDb250YWlu
ZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDRkNjg4OTBkODRkNzBkM2YzMDY1MmI5OWJm
Y2M2ZGQ2NTU4OGE3ZTAuLmNiY2YxZDhiNmJhNDMyN2Q2NTIyNzYwMDMzYjY0NDNlM2ZiMDZmMmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTI1MDAsMTMgKzI1MDAsMTMgQEAgY29uc3QgQXRv
bWljU3RyaW5nJiBFbGVtZW50OjpVSUFjdGlvbnMoKSBjb25zdAogCiAgICAgCiAjaWYgRU5BQkxF
KFNWRykKLWJvb2wgRWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2Rl
KiBjaGlsZCkgY29uc3QKK2Jvb2wgRWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihj
b25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYgY2hpbGRDb250ZXh0KSBjb25zdAogewogICAgIC8v
IE9ubHkgY3JlYXRlIHJlbmRlcmVycyBmb3IgU1ZHIGVsZW1lbnRzIHdob3NlIHBhcmVudHMgYXJl
IFNWRyBlbGVtZW50cywgb3IgZm9yIHByb3BlciA8c3ZnIHhtbG5zPSJzdmdOUyI+IHN1YmRvY3Vt
ZW50cy4KLSAgICBpZiAoY2hpbGQtPmlzU1ZHRWxlbWVudCgpKQotICAgICAgICByZXR1cm4gY2hp
bGQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnN2Z1RhZykgfHwgaXNTVkdFbGVtZW50KCk7CisgICAg
aWYgKGNoaWxkQ29udGV4dC5ub2RlKCktPmlzU1ZHRWxlbWVudCgpKQorICAgICAgICByZXR1cm4g
Y2hpbGRDb250ZXh0Lm5vZGUoKS0+aGFzVGFnTmFtZShTVkdOYW1lczo6c3ZnVGFnKSB8fCBpc1NW
R0VsZW1lbnQoKTsKIAotICAgIHJldHVybiBDb250YWluZXJOb2RlOjpjaGlsZFNob3VsZENyZWF0
ZVJlbmRlcmVyKGNoaWxkKTsKKyAgICByZXR1cm4gQ29udGFpbmVyTm9kZTo6Y2hpbGRTaG91bGRD
cmVhdGVSZW5kZXJlcihjaGlsZENvbnRleHQpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5o
CmluZGV4IDFjY2QzYzg3YWQxNjEzMmEwZTNhZDY2N2U3OTA5NTNmYzUxZDIwMmMuLmMzMTc0ZjRi
YzQ1YzBiYjFlMWQwN2IyZmIwNDBiODhjNTNkYWZkYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAt
NDgxLDcgKzQ4MSw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgRU5BQkxFKFNWRykKLSAgICB2
aXJ0dWFsIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlKikgY29uc3Q7
CisgICAgdmlydHVhbCBib29sIGNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZVJl
bmRlcmluZ0NvbnRleHQmKSBjb25zdDsKICAgICBib29sIGhhc1BlbmRpbmdSZXNvdXJjZXMoKSBj
b25zdDsKICAgICB2b2lkIHNldEhhc1BlbmRpbmdSZXNvdXJjZXMoKTsKICAgICB2b2lkIGNsZWFy
SGFzUGVuZGluZ1Jlc291cmNlcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGVSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmVuZGVyaW5n
Q29udGV4dC5jcHAKaW5kZXggMTNkZDRiNGZhOTA0NjA0ZWNkYzc2YjUxNTcyYWUxYTdhYTljMzJl
NS4uNTU3ODBjMjEzMTNiODJjMDcwNTAyYzI1MDIwZmJmYWRiNjZkNDcyZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL05vZGVSZW5kZXJpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZVJlbmRlcmluZ0NvbnRleHQuY3BwCkBAIC0xOTAsNyArMTkwLDcgQEAg
Ym9vbCBOb2RlUmVuZGVyaW5nQ29udGV4dDo6c2hvdWxkQ3JlYXRlUmVuZGVyZXIoKSBjb25zdAog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKCFwYXJlbnRSZW5kZXJlci0+Y2FuSGF2ZUNo
aWxkcmVuKCkgJiYgIShtX25vZGUtPmlzUHNldWRvRWxlbWVudCgpICYmIHBhcmVudFJlbmRlcmVy
LT5jYW5IYXZlR2VuZXJhdGVkQ2hpbGRyZW4oKSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICBpZiAoIW1fcmVuZGVyaW5nUGFyZW50LT5jaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKG1fbm9k
ZSkpCisgICAgaWYgKCFtX3JlbmRlcmluZ1BhcmVudC0+Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJl
cigqdGhpcykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KQEAg
LTIzNSw2ICsyMzUsMTggQEAgdm9pZCBOb2RlUmVuZGVyaW5nQ29udGV4dDo6bW92ZVRvRmxvd1Ro
cmVhZElmTmVlZGVkKCkKICNlbmRpZgogfQogCitib29sIE5vZGVSZW5kZXJpbmdDb250ZXh0Ojpp
c09uRW5jYXBzdWxhdGlvbkJvdW5kYXJ5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gaXNPblVwcGVy
RW5jYXBzdWxhdGlvbkJvdW5kYXJ5KCkKKyAgICAgICAgfHwgaXNMb3dlckVuY2Fwc3VsYXRpb25C
b3VuZGFyeShmaW5kSW5zZXJ0aW9uUG9pbnRPZihtX25vZGUpKQorICAgICAgICB8fCBpc0xvd2Vy
RW5jYXBzdWxhdGlvbkJvdW5kYXJ5KG1fbm9kZS0+cGFyZW50Tm9kZSgpKTsKK30KKworYm9vbCBO
b2RlUmVuZGVyaW5nQ29udGV4dDo6aXNPblVwcGVyRW5jYXBzdWxhdGlvbkJvdW5kYXJ5KCkgY29u
c3QKK3sKKyAgICByZXR1cm4gbV9ub2RlLT5wYXJlbnROb2RlKCkgJiYgbV9ub2RlLT5wYXJlbnRO
b2RlKCktPmlzU2hhZG93Um9vdCgpOworfQorCiB2b2lkIE5vZGVSZW5kZXJpbmdDb250ZXh0Ojpj
cmVhdGVSZW5kZXJlckZvckVsZW1lbnRJZk5lZWRlZCgpCiB7CiAgICAgQVNTRVJUKCFtX25vZGUt
PnJlbmRlcmVyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSZW5kZXJp
bmdDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJlbmRlcmluZ0NvbnRleHQuaApp
bmRleCBkOGMzOWEzYjIxZDAxNGIwNDE5OWYwYzJmMmE2MjRlMDY5YzI0MjUwLi4zZDE5N2M2MGVi
ZTFhMzliYjQ4NjAxMDc1NDBiOWJlYTYwNDNjYmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZVJlbmRlcmluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZVJlbmRlcmluZ0NvbnRleHQuaApAQCAtNjIsNiArNjIsOSBAQCBwdWJsaWM6CiAKICAgICBjb25z
dCBSZW5kZXJTdHlsZSogc3R5bGUoKSBjb25zdDsKIAorICAgIGJvb2wgaXNPblVwcGVyRW5jYXBz
dWxhdGlvbkJvdW5kYXJ5KCkgY29uc3Q7CisgICAgYm9vbCBpc09uRW5jYXBzdWxhdGlvbkJvdW5k
YXJ5KCkgY29uc3Q7CisKIHByaXZhdGU6CiAgICAgYm9vbCBzaG91bGRDcmVhdGVSZW5kZXJlcigp
IGNvbnN0OwogICAgIHZvaWQgbW92ZVRvRmxvd1RocmVhZElmTmVlZGVkKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1No
YWRvd1Jvb3QuaAppbmRleCBiZjIzNmZhNzg3MWNkMjFhMzgwMTA4MWE4YzY3MDRiNDcxNWY1ODI4
Li40ZTgzMjc3NTIzNmE2MDhmNTljM2I3YmVlYjE4NjAxMmRlMjBmNzRhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9T
aGFkb3dSb290LmgKQEAgLTEzNSwxMSArMTM1LDYgQEAgaW5saW5lIENvbnRhaW5lck5vZGUqIE5v
ZGU6OnBhcmVudE9yU2hhZG93SG9zdE5vZGUoKSBjb25zdAogICAgIHJldHVybiBwYXJlbnROb2Rl
KCk7CiB9CiAKLWlubGluZSBib29sIGhhc1NoYWRvd1Jvb3RQYXJlbnQoY29uc3QgTm9kZSogbm9k
ZSkKLXsKLSAgICByZXR1cm4gbm9kZS0+cGFyZW50Tm9kZSgpICYmIG5vZGUtPnBhcmVudE5vZGUo
KS0+aXNTaGFkb3dSb290KCk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlCiAKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQuY3BwCmluZGV4IGNlMjBmNDQ5Y2RlZTlh
NzJmNWZiNmQyMWU1MmQzZTMwZDcwMWQyZGUuLjgxY2FhZTc3ZjcwZTlhZDZiZTA3NDFiMDVjNzg3
OWMwNTFhOThkY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERldGFpbHNF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEZXRhaWxzRWxlbWVudC5j
cHAKQEAgLTE0NCwyMSArMTQ0LDIxIEBAIHZvaWQgSFRNTERldGFpbHNFbGVtZW50OjpwYXJzZUF0
dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTCiAgICAgICAg
IEhUTUxFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7CiB9CiAKLWJvb2wgSFRN
TERldGFpbHNFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGUqIGNo
aWxkKSBjb25zdAorYm9vbCBIVE1MRGV0YWlsc0VsZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVu
ZGVyZXIoY29uc3QgTm9kZVJlbmRlcmluZ0NvbnRleHQmIGNoaWxkQ29udGV4dCkgY29uc3QKIHsK
LSAgICBpZiAoY2hpbGQtPmlzUHNldWRvRWxlbWVudCgpKQotICAgICAgICByZXR1cm4gSFRNTEVs
ZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY2hpbGQpOworICAgIGlmIChjaGlsZENv
bnRleHQubm9kZSgpLT5pc1BzZXVkb0VsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJuIEhUTUxFbGVt
ZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNoaWxkQ29udGV4dCk7CiAKLSAgICBpZiAo
IWhhc1NoYWRvd1Jvb3RPckFjdGl2ZUluc2VydGlvblBvaW50UGFyZW50KGNoaWxkKSkKKyAgICBp
ZiAoIWNoaWxkQ29udGV4dC5pc09uRW5jYXBzdWxhdGlvbkJvdW5kYXJ5KCkpCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAogICAgIGlmIChtX2lzT3BlbikKLSAgICAgICAgcmV0dXJuIEhUTUxFbGVt
ZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNoaWxkKTsKKyAgICAgICAgcmV0dXJuIEhU
TUxFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNoaWxkQ29udGV4dCk7CiAKLSAg
ICBpZiAoIWNoaWxkLT5oYXNUYWdOYW1lKHN1bW1hcnlUYWcpKQorICAgIGlmICghY2hpbGRDb250
ZXh0Lm5vZGUoKS0+aGFzVGFnTmFtZShzdW1tYXJ5VGFnKSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCi0gICAgcmV0dXJuIGNoaWxkID09IGZpbmRNYWluU3VtbWFyeSgpICYmIEhUTUxFbGVtZW50
OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNoaWxkKTsKKyAgICByZXR1cm4gY2hpbGRDb250
ZXh0Lm5vZGUoKSA9PSBmaW5kTWFpblN1bW1hcnkoKSAmJiBIVE1MRWxlbWVudDo6Y2hpbGRTaG91
bGRDcmVhdGVSZW5kZXJlcihjaGlsZENvbnRleHQpOwogfQogCiB2b2lkIEhUTUxEZXRhaWxzRWxl
bWVudDo6dG9nZ2xlT3BlbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxE
ZXRhaWxzRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRGV0YWlsc0VsZW1lbnQu
aAppbmRleCBhMTg2YmFjODI2ZjA5NGQzYmY3OWZmZDI1NWZkMzExNjYyMWI5YTI2Li4xMDBhN2Q3
NzhmOTQxMTg3Y2YzZGJlNzhkZGMzMGI4MmEzZjBiMzU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxEZXRhaWxzRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTERldGFpbHNFbGVtZW50LmgKQEAgLTM2LDcgKzM2LDcgQEAgcHJpdmF0ZToKICAgICBIVE1M
RGV0YWlsc0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CiAKICAgICB2
aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJT
dHlsZSopOwotICAgIHZpcnR1YWwgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0
IE5vZGUqKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgY2hpbGRTaG91bGRDcmVh
dGVSZW5kZXJlcihjb25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYpIGNvbnN0IE9WRVJSSURFOwog
ICAgIHZpcnR1YWwgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29u
c3QgQXRvbWljU3RyaW5nJikgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkQWRkVXNl
ckFnZW50U2hhZG93Um9vdChTaGFkb3dSb290KikgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MRm9ybUNvbnRyb2xFbGVtZW50LmNwcAppbmRleCBjZTNhYTA1YTllYmQzNDBh
OGRkMWI3NWIzNzBhZDllZjQ3NGRmODAwLi43ZjdkZDQ3MzkxYzZkMjY0NGExZjU5N2Y0ZmRlMjc1
ZWEwMDczYTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJv
bEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxl
bWVudC5jcHAKQEAgLTQ1Miw3ICs0NTIsNyBAQCB2b2lkIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6
OnNldEN1c3RvbVZhbGlkaXR5KGNvbnN0IFN0cmluZyYgZXJyb3IpCiAgICAgc2V0TmVlZHNWYWxp
ZGl0eUNoZWNrKCk7CiB9CiAKLWJvb2wgSFRNTEZvcm1Db250cm9sRWxlbWVudDo6dmFsaWRhdGlv
bk1lc3NhZ2VTaGFkb3dUcmVlQ29udGFpbnMoY29uc3QgTm9kZSogbm9kZSkgY29uc3QKK2Jvb2wg
SFRNTEZvcm1Db250cm9sRWxlbWVudDo6dmFsaWRhdGlvbk1lc3NhZ2VTaGFkb3dUcmVlQ29udGFp
bnMoTm9kZSogbm9kZSkgY29uc3QKIHsKICAgICByZXR1cm4gbV92YWxpZGF0aW9uTWVzc2FnZSAm
JiBtX3ZhbGlkYXRpb25NZXNzYWdlLT5zaGFkb3dUcmVlQ29udGFpbnMobm9kZSk7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtQ29udHJvbEVsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250cm9sRWxlbWVudC5oCmluZGV4IGM0NDYyNmUx
ZDAwMTA4YzgyNDJjYzczMWIxMTdiYjJmODkyY2VjZjguLjVmNTEyZmVjODQ2NzE4YjRjM2U0Nzk0
ZmMzYzE3NDNiNDc1NDFhZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZv
cm1Db250cm9sRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1Db250
cm9sRWxlbWVudC5oCkBAIC0xMjgsNyArMTI4LDcgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgc2V0
TmVlZHNXaWxsVmFsaWRhdGVDaGVjaygpOwogICAgIHZpcnR1YWwgYm9vbCByZWNhbGNXaWxsVmFs
aWRhdGUoKSBjb25zdDsKIAotICAgIGJvb2wgdmFsaWRhdGlvbk1lc3NhZ2VTaGFkb3dUcmVlQ29u
dGFpbnMoY29uc3QgTm9kZSopIGNvbnN0OworICAgIGJvb2wgdmFsaWRhdGlvbk1lc3NhZ2VTaGFk
b3dUcmVlQ29udGFpbnMoTm9kZSopIGNvbnN0OwogCiBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9p
ZCByZWZGb3JtQXNzb2NpYXRlZEVsZW1lbnQoKSB7IHJlZigpOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCBhMmFhYTk5NzMzYjRjMjcxYzAwNzJmMDJlN2Y1
ZDI4ZjFlZTM2MWYyLi40ZWE0MGJiZjI1OGIyY2I1OTIzZGU2ZjJkMTFhYWNmMjhlOWQ4MzhhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTU3Niw3ICs1NzYs
NyBAQCBSZW5kZXJPYmplY3QqIEhUTUxNZWRpYUVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRl
ckFyZW5hKiBhcmVuYSwgUmVuZGVyU3R5bGUqKQogI2VuZGlmCiB9CiAKLWJvb2wgSFRNTE1lZGlh
RWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlKiBjaGlsZCkgY29u
c3QKK2Jvb2wgSFRNTE1lZGlhRWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25z
dCBOb2RlUmVuZGVyaW5nQ29udGV4dCYgY2hpbGRDb250ZXh0KSBjb25zdAogewogICAgIGlmICgh
aGFzTWVkaWFDb250cm9scygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC01ODQsOSArNTg0
LDggQEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNv
bnN0IE5vZGUqIGNoaWxkKSBjb25zdAogICAgIC8vIGJlIHJlbmRlcmVkLiBTbyB0aGlzIHNob3Vs
ZCByZXR1cm4gZmFsc2UgZm9yIG1vc3Qgb2YgdGhlIGNoaWxkcmVuLgogICAgIC8vIE9uZSBleGNl
cHRpb24gaXMgYSBzaGFkb3cgdHJlZSBidWlsdCBmb3IgcmVuZGVyaW5nIGNvbnRyb2xzIHdoaWNo
IHNob3VsZCBiZSB2aXNpYmxlLgogICAgIC8vIFNvIHdlIGxldCB0aGVtIGdvIGhlcmUgYnkgY29t
cGFyaW5nIGl0cyBzdWJ0cmVlIHJvb3Qgd2l0aCBvbmUgb2YgdGhlIGNvbnRyb2xzLgotICAgIHJl
dHVybiBtZWRpYUNvbnRyb2xzKCktPnRyZWVTY29wZSgpID09IGNoaWxkLT50cmVlU2NvcGUoKQot
ICAgICAgICAmJiBoYXNTaGFkb3dSb290UGFyZW50KGNoaWxkKQotICAgICAgICAmJiBIVE1MRWxl
bWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjaGlsZCk7CisgICAgcmV0dXJuIChtZWRp
YUNvbnRyb2xzKCktPnRyZWVTY29wZSgpID09IGNoaWxkQ29udGV4dC5ub2RlKCktPnRyZWVTY29w
ZSgpCisgICAgICAgICAgICAmJiBjaGlsZENvbnRleHQuaXNPblVwcGVyRW5jYXBzdWxhdGlvbkJv
dW5kYXJ5KCkgJiYgSFRNTEVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY2hpbGRD
b250ZXh0KSk7CiB9CiAKIE5vZGU6Okluc2VydGlvbk5vdGlmaWNhdGlvblJlcXVlc3QgSFRNTE1l
ZGlhRWxlbWVudDo6aW5zZXJ0ZWRJbnRvKENvbnRhaW5lck5vZGUqIGluc2VydGlvblBvaW50KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCA4NTk3ZmIyZGQ0ZTc4MGVh
MWI2ZGFmZGI1NGQ5NzUzMWI2YjJkM2FkLi5jOWZmZWViYTg2MTI0OTMwYWU4MmQ3OThjOTQ0MWMy
OTMzYjQyYWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAtNDM0
LDcgKzQzNCw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIGlzTW91c2VGb2N1c2FibGUo
KSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25z
dCBSZW5kZXJTdHlsZSYpOwogICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJl
cihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7Ci0gICAgdmlydHVhbCBib29sIGNoaWxkU2hv
dWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSopIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1
YWwgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250
ZXh0JikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBJbnNlcnRpb25Ob3RpZmljYXRpb25S
ZXF1ZXN0IGluc2VydGVkSW50byhDb250YWluZXJOb2RlKikgT1ZFUlJJREU7CiAgICAgdmlydHVh
bCB2b2lkIHJlbW92ZWRGcm9tKENvbnRhaW5lck5vZGUqKSBPVkVSUklERTsKICAgICB2aXJ0dWFs
IHZvaWQgZGlkUmVjYWxjU3R5bGUoU3R5bGU6OkNoYW5nZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWV0ZXJFbGVtZW50LmNwcAppbmRleCA4ODI0NzE0ZGE3ODNmNTM4YTY5MDgzMWM2MjllYmJh
YmI2N2I1MTRlLi4xNTBjZmYwODA3NWFmNDc1NDEzYTM1NGFlYTg5MWI1ZTM3ODg5MjE3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZXRlckVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5jcHAKQEAgLTY1LDkgKzY1LDkgQEAg
UmVuZGVyT2JqZWN0KiBIVE1MTWV0ZXJFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVu
YSogYXJlbmEsIFJlbmRlclN0eWxlKgogICAgIHJldHVybiBuZXcgKGFyZW5hKSBSZW5kZXJNZXRl
cih0aGlzKTsKIH0KIAotYm9vbCBIVE1MTWV0ZXJFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJl
bmRlcmVyKGNvbnN0IE5vZGUqIGNoaWxkKSBjb25zdAorYm9vbCBIVE1MTWV0ZXJFbGVtZW50Ojpj
aGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0JiBjaGls
ZENvbnRleHQpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGhhc1NoYWRvd1Jvb3RQYXJlbnQoY2hpbGQp
ICYmIEhUTUxFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNoaWxkKTsKKyAgICBy
ZXR1cm4gY2hpbGRDb250ZXh0LmlzT25VcHBlckVuY2Fwc3VsYXRpb25Cb3VuZGFyeSgpICYmIEhU
TUxFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNoaWxkQ29udGV4dCk7CiB9CiAK
IHZvaWQgSFRNTE1ldGVyRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1ldGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWV0ZXJFbGVtZW50LmgKaW5kZXggNWQxMzZmMjA5ODRhMzQ0Y2I4MGU1YmU3MzRmZGI2OTM2NmZj
ZWMyYy4uOWY2MDQ3ZDFjNDE1MTQyMDA0NjI5ZTI0MGQ1MjRlY2Y3Y2VhNmRkMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWV0ZXJFbGVtZW50LmgKQEAgLTczLDcgKzczLDcgQEAgcHJpdmF0ZToK
IAogICAgIHZpcnR1YWwgYm9vbCByZWNhbGNXaWxsVmFsaWRhdGUoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQogICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJB
cmVuYSosIFJlbmRlclN0eWxlKik7Ci0gICAgdmlydHVhbCBib29sIGNoaWxkU2hvdWxkQ3JlYXRl
UmVuZGVyZXIoY29uc3QgTm9kZSopIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgYm9vbCBj
aGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0JikgY29u
c3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBPVkVSUklERTsKIAogICAgIHZvaWQgZGlk
RWxlbWVudFN0YXRlQ2hhbmdlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxPcHRHcm91cEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdEdyb3VwRWxl
bWVudC5oCmluZGV4IDlhNGFiMDY2MWNmODgzOTk2NTNlYzc2M2JiYWNkNzA2MzY0ZGQ3OWMuLmJl
MTUxYTcxZjYxODZhNzI0NjM5OWNlNzY1YmNjM2JkOTZmYzk2ODMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE9wdEdyb3VwRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE9wdEdyb3VwRWxlbWVudC5oCkBAIC02MywxMiArNjMsMTIgQEAgcHJpdmF0ZToK
ICAgICBSZWZQdHI8UmVuZGVyU3R5bGU+IG1fc3R5bGU7CiB9OwogCi1pbmxpbmUgYm9vbCBpc0hU
TUxPcHRHcm91cEVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKK2lubGluZSBib29sIGlzSFRNTE9w
dEdyb3VwRWxlbWVudChOb2RlKiBub2RlKQogewogICAgIHJldHVybiBub2RlLT5oYXNUYWdOYW1l
KEhUTUxOYW1lczo6b3B0Z3JvdXBUYWcpOwogfQogCi1pbmxpbmUgYm9vbCBpc0hUTUxPcHRHcm91
cEVsZW1lbnQoY29uc3QgRWxlbWVudCogZWxlbWVudCkKK2lubGluZSBib29sIGlzSFRNTE9wdEdy
b3VwRWxlbWVudChFbGVtZW50KiBlbGVtZW50KQogewogICAgIHJldHVybiBlbGVtZW50LT5oYXNU
YWdOYW1lKEhUTUxOYW1lczo6b3B0Z3JvdXBUYWcpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
T3B0aW9uRWxlbWVudC5oCmluZGV4IGQyMjkwYjlkY2UzYjBiOGUyZWFiMTE0MGI0NGQxYjlhYWY3
ZmIxYTcuLjVkZDBhYzcyNDc0NDIwMDhiYTY2NTgxYTViYzQ3ZDA1ZGU4Mjc3ZDQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmgKQEAgLTk1LDEyICs5NSwxMiBAQCBwcml2
YXRlOgogICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gbV9zdHlsZTsKIH07CiAKLWlubGluZSBib29s
IGlzSFRNTE9wdGlvbkVsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKK2lubGluZSBib29sIGlzSFRN
TE9wdGlvbkVsZW1lbnQoTm9kZSogbm9kZSkKIHsKICAgICByZXR1cm4gbm9kZS0+aGFzVGFnTmFt
ZShIVE1MTmFtZXM6Om9wdGlvblRhZyk7CiB9CiAKLWlubGluZSBib29sIGlzSFRNTE9wdGlvbkVs
ZW1lbnQoY29uc3QgRWxlbWVudCogZWxlbWVudCkKK2lubGluZSBib29sIGlzSFRNTE9wdGlvbkVs
ZW1lbnQoRWxlbWVudCogZWxlbWVudCkKIHsKICAgICByZXR1cm4gZWxlbWVudC0+aGFzVGFnTmFt
ZShIVE1MTmFtZXM6Om9wdGlvblRhZyk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJv
Z3Jlc3NFbGVtZW50LmNwcAppbmRleCA0ZmZmMGM0NDgzNTE3N2M1NTYxNDc2MTEwNzBiNjVjOTQ1
YjIyNGMzLi44NzkwMmI3NjhkYzk1NDdjM2M2OWZkODU1ZDZlYjJkZDEzZDIzNGJmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFByb2dyZXNzRWxlbWVudC5jcHAKQEAgLTY3LDkgKzY3LDkg
QEAgUmVuZGVyT2JqZWN0KiBIVE1MUHJvZ3Jlc3NFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5k
ZXJBcmVuYSogYXJlbmEsIFJlbmRlclN0eWwKICAgICByZXR1cm4gbmV3IChhcmVuYSkgUmVuZGVy
UHJvZ3Jlc3ModGhpcyk7CiB9CiAKLWJvb2wgSFRNTFByb2dyZXNzRWxlbWVudDo6Y2hpbGRTaG91
bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlKiBjaGlsZCkgY29uc3QKK2Jvb2wgSFRNTFByb2dy
ZXNzRWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlUmVuZGVyaW5n
Q29udGV4dCYgY2hpbGRDb250ZXh0KSBjb25zdAogewotICAgIHJldHVybiBoYXNTaGFkb3dSb290
UGFyZW50KGNoaWxkKSAmJiBIVE1MRWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihj
aGlsZCk7CisgICAgcmV0dXJuIGNoaWxkQ29udGV4dC5pc09uVXBwZXJFbmNhcHN1bGF0aW9uQm91
bmRhcnkoKSAmJiBIVE1MRWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjaGlsZENv
bnRleHQpOwogfQogCiBSZW5kZXJQcm9ncmVzcyogSFRNTFByb2dyZXNzRWxlbWVudDo6cmVuZGVy
UHJvZ3Jlc3MoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUHJv
Z3Jlc3NFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQu
aAppbmRleCA2MGMwZmFhZmU1N2RkMjkzMjFhY2MxZmZiY2NlMDBjZWE4NTI0ZTQxLi5kZmIzZGVh
MzYxNzIwZjA4ZDA3ZGZjYWQyZmUzMGYwY2MxNjE3MjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxQcm9ncmVzc0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxQcm9ncmVzc0VsZW1lbnQuaApAQCAtNTUsNyArNTUsNyBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgYm9vbCBzdXBwb3J0TGFiZWxzKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsg
fQogCiAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5h
KiwgUmVuZGVyU3R5bGUqKTsKLSAgICB2aXJ0dWFsIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5k
ZXJlcihjb25zdCBOb2RlKikgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIGNoaWxk
U2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZVJlbmRlcmluZ0NvbnRleHQmKSBjb25zdCBP
VkVSUklERTsKICAgICBSZW5kZXJQcm9ncmVzcyogcmVuZGVyUHJvZ3Jlc3MoKSBjb25zdDsKIAog
ICAgIHZpcnR1YWwgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29u
c3QgQXRvbWljU3RyaW5nJikgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVj
dEVsZW1lbnQuY3BwCmluZGV4IGFlNWNmYzYwZTIwM2NkZmQ2ZDEyNjczOWJhNmNjYjQwZTgxNTQ5
MTIuLjgzMjNlZmMxZjhhMDdkYmUzYzY0NTI0ZTFiNjQxMzA3NDJlZWMwNDggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCkBAIC0zNDUsMTMgKzM0NSwxMyBAQCBS
ZW5kZXJPYmplY3QqIEhUTUxTZWxlY3RFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVu
YSogYXJlbmEsIFJlbmRlclN0eWxlKgogICAgIHJldHVybiBuZXcgKGFyZW5hKSBSZW5kZXJMaXN0
Qm94KHRoaXMpOwogfQogCi1ib29sIEhUTUxTZWxlY3RFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0
ZVJlbmRlcmVyKGNvbnN0IE5vZGUqIGNoaWxkKSBjb25zdAorYm9vbCBIVE1MU2VsZWN0RWxlbWVu
dDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYg
Y2hpbGRDb250ZXh0KSBjb25zdAogewotICAgIGlmICghSFRNTEZvcm1Db250cm9sRWxlbWVudFdp
dGhTdGF0ZTo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjaGlsZCkpCisgICAgaWYgKCFIVE1M
Rm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlOjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNo
aWxkQ29udGV4dCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoIXVzZXNNZW51TGlz
dCgpKQotICAgICAgICByZXR1cm4gaXNIVE1MT3B0aW9uRWxlbWVudChjaGlsZCkgfHwgaXNIVE1M
T3B0R3JvdXBFbGVtZW50KGNoaWxkKSB8fCB2YWxpZGF0aW9uTWVzc2FnZVNoYWRvd1RyZWVDb250
YWlucyhjaGlsZCk7Ci0gICAgcmV0dXJuIHZhbGlkYXRpb25NZXNzYWdlU2hhZG93VHJlZUNvbnRh
aW5zKGNoaWxkKTsKKyAgICAgICAgcmV0dXJuIGlzSFRNTE9wdGlvbkVsZW1lbnQoY2hpbGRDb250
ZXh0Lm5vZGUoKSkgfHwgaXNIVE1MT3B0R3JvdXBFbGVtZW50KGNoaWxkQ29udGV4dC5ub2RlKCkp
IHx8IHZhbGlkYXRpb25NZXNzYWdlU2hhZG93VHJlZUNvbnRhaW5zKGNoaWxkQ29udGV4dC5ub2Rl
KCkpOworICAgIHJldHVybiB2YWxpZGF0aW9uTWVzc2FnZVNoYWRvd1RyZWVDb250YWlucyhjaGls
ZENvbnRleHQubm9kZSgpKTsKIH0KIAogUGFzc1JlZlB0cjxIVE1MQ29sbGVjdGlvbj4gSFRNTFNl
bGVjdEVsZW1lbnQ6OnNlbGVjdGVkT3B0aW9ucygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxl
Y3RFbGVtZW50LmgKaW5kZXggZWEzYjkwZjk3ZWU1MjA1ZTI5YzZhOTM0YmRjOTBjYzk2ZDBkZTE2
OS4uZmY3ZDVhZTBhMWNlYzI0YzEwZWEzMDViMWYzZWNiMDA3MGFhNDA4ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaApAQCAtMTI4LDcgKzEyOCw3IEBAIHByaXZhdGU6
CiAgICAgdmlydHVhbCB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBj
b25zdCBBdG9taWNTdHJpbmcmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgaXNQcmVzZW50
YXRpb25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGNvbnN0IE9WRVJSSURFOwogCi0g
ICAgdmlydHVhbCBib29sIGNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSopIGNv
bnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVy
KGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0JikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVh
bCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUg
Kik7CiAgICAgdmlydHVhbCBib29sIGFwcGVuZEZvcm1EYXRhKEZvcm1EYXRhTGlzdCYsIGJvb2wp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdW1tYXJ5RWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdW1tYXJ5RWxlbWVudC5jcHAKaW5kZXggOGNl
OWVkMDM1MDkxODlkMTkxNTQ0MTcwMzJlMjQwOGRlMTE2OThlOC4uYWYzYmUzNTMyZDYyOWEzYjJm
NzE0YTRkODVlODRkYmJmYzIzOTZhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MU3VtbWFyeUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN1bW1h
cnlFbGVtZW50LmNwcApAQCAtNzEsMTIgKzcxLDEyIEBAIFJlbmRlck9iamVjdCogSFRNTFN1bW1h
cnlFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlclN0eWxl
CiAgICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlckJsb2NrKHRoaXMpOwogfQogCi1ib29sIEhU
TUxTdW1tYXJ5RWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlKiBj
aGlsZCkgY29uc3QKK2Jvb2wgSFRNTFN1bW1hcnlFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJl
bmRlcmVyKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0JiBjaGlsZENvbnRleHQpIGNvbnN0CiB7
Ci0gICAgaWYgKGNoaWxkLT5pc1BzZXVkb0VsZW1lbnQoKSkKLSAgICAgICAgcmV0dXJuIEhUTUxF
bGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNoaWxkKTsKKyAgICBpZiAoY2hpbGRD
b250ZXh0Lm5vZGUoKS0+aXNQc2V1ZG9FbGVtZW50KCkpCisgICAgICAgIHJldHVybiBIVE1MRWxl
bWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjaGlsZENvbnRleHQpOwogCi0gICAgcmV0
dXJuIGhhc1NoYWRvd1Jvb3RPckFjdGl2ZUluc2VydGlvblBvaW50UGFyZW50KGNoaWxkKSAmJiBI
VE1MRWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjaGlsZCk7CisgICAgcmV0dXJu
IGNoaWxkQ29udGV4dC5pc09uRW5jYXBzdWxhdGlvbkJvdW5kYXJ5KCkgJiYgSFRNTEVsZW1lbnQ6
OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY2hpbGRDb250ZXh0KTsKIH0KIAogdm9pZCBIVE1M
U3VtbWFyeUVsZW1lbnQ6OmRpZEFkZFVzZXJBZ2VudFNoYWRvd1Jvb3QoU2hhZG93Um9vdCogcm9v
dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN1bW1hcnlFbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTdW1tYXJ5RWxlbWVudC5oCmluZGV4IDI2YmQyOTU2
M2JjY2JjODY1MGQ0MTU4ZGY0NjMyYTQ1Y2JkYzE5NDEuLjJmYmVjYWRjOGIzZWUyNWQxZjA0YzY2
YzRkM2Y5NjM5MGQ4MjlkYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFN1
bW1hcnlFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU3VtbWFyeUVsZW1l
bnQuaApAQCAtMzcsNyArMzcsNyBAQCBwcml2YXRlOgogICAgIEhUTUxTdW1tYXJ5RWxlbWVudChj
b25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKIAogICAgIHZpcnR1YWwgUmVuZGVyT2Jq
ZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7Ci0gICAgdmly
dHVhbCBib29sIGNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSopIGNvbnN0IE9W
RVJSSURFOworICAgIHZpcnR1YWwgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0
IE5vZGVSZW5kZXJpbmdDb250ZXh0JikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lk
IGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKTsKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRBZGRV
c2VyQWdlbnRTaGFkb3dSb290KFNoYWRvd1Jvb3QqKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudC5jcHAKaW5kZXggODMzOWI1
NmNhZjRmMjE3MjkzYWZlMWNiYjFmOWNkZTA5NjY0OGVhMC4uM2M5NjA3OGFlODY3NjBhMDc1ODU5
NTVkZTM5NTViZDIxNDNjY2RkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
VGV4dEZvcm1Db250cm9sRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
VGV4dEZvcm1Db250cm9sRWxlbWVudC5jcHAKQEAgLTQ0LDcgKzQ0LDYgQEAKICNpbmNsdWRlICJS
ZW5kZXJUZXh0Q29udHJvbC5oIgogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAjaW5jbHVkZSAi
U2NyaXB0RXZlbnRMaXN0ZW5lci5oIgotI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKICNpbmNsdWRl
ICJUZXh0LmgiCiAjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQv
U3RyaW5nQnVpbGRlci5oPgpAQCAtNjcsMTMgKzY2LDEzIEBAIEhUTUxUZXh0Rm9ybUNvbnRyb2xF
bGVtZW50Ojp+SFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQoKQogewogfQogCi1ib29sIEhUTUxU
ZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5v
ZGUqIGNoaWxkKSBjb25zdAorYm9vbCBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6Y2hpbGRT
aG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYgY2hpbGRDb250
ZXh0KSBjb25zdAogewogICAgIC8vIEZJWE1FOiBXZSBzaG91bGRuJ3QgZm9yY2UgdGhlIHBzZXVk
byBlbGVtZW50cyBkb3duIGludG8gdGhlIHNoYWRvdywgYnV0CiAgICAgLy8gdGhpcyBwZXJzZXJ2
ZXMgdGhlIGN1cnJlbnQgYmVoYXZpb3Igb2YgV2ViS2l0LgotICAgIGlmIChjaGlsZC0+aXNQc2V1
ZG9FbGVtZW50KCkpCi0gICAgICAgIHJldHVybiBIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0
YXRlOjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNoaWxkKTsKLSAgICByZXR1cm4gaGFzU2hh
ZG93Um9vdFBhcmVudChjaGlsZCkgJiYgSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZTo6
Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjaGlsZCk7CisgICAgaWYgKGNoaWxkQ29udGV4dC5u
b2RlKCktPmlzUHNldWRvRWxlbWVudCgpKQorICAgICAgICByZXR1cm4gSFRNTEZvcm1Db250cm9s
RWxlbWVudFdpdGhTdGF0ZTo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjaGlsZENvbnRleHQp
OworICAgIHJldHVybiBjaGlsZENvbnRleHQuaXNPbkVuY2Fwc3VsYXRpb25Cb3VuZGFyeSgpICYm
IEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGU6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVy
ZXIoY2hpbGRDb250ZXh0KTsKIH0KIAogTm9kZTo6SW5zZXJ0aW9uTm90aWZpY2F0aW9uUmVxdWVz
dCBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6aW5zZXJ0ZWRJbnRvKENvbnRhaW5lck5vZGUq
IGluc2VydGlvblBvaW50KQpAQCAtNjI3LDcgKzYyNiw3IEBAIEhUTUxUZXh0Rm9ybUNvbnRyb2xF
bGVtZW50KiBlbmNsb3NpbmdUZXh0Rm9ybUNvbnRyb2woY29uc3QgUG9zaXRpb24mIHBvc2l0aW9u
KQogewogICAgIEFTU0VSVChwb3NpdGlvbi5pc051bGwoKSB8fCBwb3NpdGlvbi5hbmNob3JUeXBl
KCkgPT0gUG9zaXRpb246OlBvc2l0aW9uSXNPZmZzZXRJbkFuY2hvcgogICAgICAgICB8fCBwb3Np
dGlvbi5jb250YWluZXJOb2RlKCkgfHwgIXBvc2l0aW9uLmFuY2hvck5vZGUoKS0+c2hhZG93SG9z
dCgpCi0gICAgICAgIHx8IGhhc1NoYWRvd1Jvb3RQYXJlbnQocG9zaXRpb24uYW5jaG9yTm9kZSgp
KSk7CisgICAgICAgIHx8IChwb3NpdGlvbi5hbmNob3JOb2RlKCktPnBhcmVudE5vZGUoKSAmJiBw
b3NpdGlvbi5hbmNob3JOb2RlKCktPnBhcmVudE5vZGUoKS0+aXNTaGFkb3dSb290KCkpKTsKICAg
ICAgICAgCiAgICAgTm9kZSogY29udGFpbmVyID0gcG9zaXRpb24uY29udGFpbmVyTm9kZSgpOwog
ICAgIGlmICghY29udGFpbmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
VGV4dEZvcm1Db250cm9sRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZv
cm1Db250cm9sRWxlbWVudC5oCmluZGV4IDBjYzNiMDg4NmZkMjM5NGU5MzllOTA1N2NlN2E2MDky
OTkyZWQ3ZjguLjcxNzcwOGU2N2JlMmRhOWQyMTZhMjYwOTQzYWUwYTI4NWMwOGEzNmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgKQEAg
LTExOCw3ICsxMTgsNyBAQCBwcml2YXRlOgogCiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRm9j
dXNFdmVudChQYXNzUmVmUHRyPEVsZW1lbnQ+IG9sZEZvY3VzZWRFbGVtZW50LCBGb2N1c0RpcmVj
dGlvbikgT1ZFUlJJREUgRklOQUw7CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoQmx1ckV2ZW50
KFBhc3NSZWZQdHI8RWxlbWVudD4gbmV3Rm9jdXNlZEVsZW1lbnQpIE9WRVJSSURFIEZJTkFMOwot
ICAgIHZpcnR1YWwgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGUqKSBj
b25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJl
cihjb25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYpIGNvbnN0IE9WRVJSSURFOwogCiAgICAgLy8g
UmV0dXJucyB0cnVlIGlmIHVzZXItZWRpdGFibGUgdmFsdWUgaXMgZW1wdHkuIFVzZWQgdG8gY2hl
Y2sgcGxhY2Vob2xkZXIgdmlzaWJpbGl0eS4KICAgICB2aXJ0dWFsIGJvb2wgaXNFbXB0eVZhbHVl
KCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9u
TWVzc2FnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcApp
bmRleCAzNDgwMDE3YTUxYjRlNjYwNGQ3MzQyNGJjNGY3OWNjYzQ3MzJiNDUxLi5kOTY2ZjkzMTBh
MWNhY2U5ZjEwODgwZTUwMWM0YzdlN2EwOWQxMmUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1Zh
bGlkYXRpb25NZXNzYWdlLmNwcApAQCAtMjI2LDcgKzIyNiw3IEBAIHZvaWQgVmFsaWRhdGlvbk1l
c3NhZ2U6OnJlcXVlc3RUb0hpZGVNZXNzYWdlKCkKICAgICBtX3RpbWVyLT5zdGFydE9uZVNob3Qo
MCk7CiB9CiAKLWJvb2wgVmFsaWRhdGlvbk1lc3NhZ2U6OnNoYWRvd1RyZWVDb250YWlucyhjb25z
dCBOb2RlKiBub2RlKSBjb25zdAorYm9vbCBWYWxpZGF0aW9uTWVzc2FnZTo6c2hhZG93VHJlZUNv
bnRhaW5zKE5vZGUqIG5vZGUpIGNvbnN0CiB7CiAgICAgaWYgKHZhbGlkYXRpb25NZXNzYWdlQ2xp
ZW50KCkgfHwgIW1fYnViYmxlKQogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL1ZhbGlkYXRpb25NZXNzYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL1ZhbGlkYXRpb25NZXNzYWdlLmgKaW5kZXggYzJlMGJjMzM5MzU3Nzc3ZGZlNGQyMmM2ZGQ5
MzMzZTBiYTljZWQzZi4uOTgzNDQyNzMxODc4ZjViNmZlOWFiNzZjNTAyNTk3ZTAwYzk5YTFhNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9WYWxpZGF0aW9uTWVzc2FnZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvVmFsaWRhdGlvbk1lc3NhZ2UuaApAQCAtNTQsNyArNTQsNyBA
QCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVWYWxpZGF0aW9uTWVzc2FnZShjb25zdCBTdHJpbmcm
KTsKICAgICB2b2lkIHJlcXVlc3RUb0hpZGVNZXNzYWdlKCk7CiAgICAgYm9vbCBpc1Zpc2libGUo
KSBjb25zdDsKLSAgICBib29sIHNoYWRvd1RyZWVDb250YWlucyhjb25zdCBOb2RlKikgY29uc3Q7
CisgICAgYm9vbCBzaGFkb3dUcmVlQ29udGFpbnMoTm9kZSopIGNvbnN0OwogCiBwcml2YXRlOgog
ICAgIFZhbGlkYXRpb25NZXNzYWdlKEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmNwcAppbmRleCAxYTAzOGVlNzcw
YWFmNWJjMjI5ZWNjMWUxZTU5NGUxMWMyNzYyMmExLi4yNjYwZWE5N2UxMjc1MDIzOTQ3OGM2OWZm
M2RmMzQxOGVlMjVkNDI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9J
bnNlcnRpb25Qb2ludC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0
aW9uUG9pbnQuY3BwCkBAIC04OCw2ICs4OCwxMSBAQCBib29sIEluc2VydGlvblBvaW50OjpzaG91
bGRVc2VGYWxsYmFja0VsZW1lbnRzKCkgY29uc3QKICAgICByZXR1cm4gaXNBY3RpdmUoKSAmJiAh
aGFzRGlzdHJpYnV0aW9uKCk7CiB9CiAKK2Jvb2wgSW5zZXJ0aW9uUG9pbnQ6OmlzU2hhZG93Qm91
bmRhcnkoKSBjb25zdAoreworICAgIHJldHVybiB0cmVlU2NvcGUoKS0+cm9vdE5vZGUoKS0+aXNT
aGFkb3dSb290KCkgJiYgaXNBY3RpdmUoKTsKK30KKwogYm9vbCBJbnNlcnRpb25Qb2ludDo6aXNB
Y3RpdmUoKSBjb25zdAogewogICAgIGlmICghY29udGFpbmluZ1NoYWRvd1Jvb3QoKSkKQEAgLTEw
NCw3ICsxMDksNyBAQCBib29sIEluc2VydGlvblBvaW50Ojppc0FjdGl2ZSgpIGNvbnN0CiAKIGJv
b2wgSW5zZXJ0aW9uUG9pbnQ6OnJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmIHN0
eWxlKQogewotICAgIHJldHVybiAhaXNBY3RpdmUoKSAmJiBIVE1MRWxlbWVudDo6cmVuZGVyZXJJ
c05lZWRlZChzdHlsZSk7CisgICAgcmV0dXJuICFpc1NoYWRvd0JvdW5kYXJ5KCkgJiYgSFRNTEVs
ZW1lbnQ6OnJlbmRlcmVySXNOZWVkZWQoc3R5bGUpOwogfQogCiB2b2lkIEluc2VydGlvblBvaW50
OjpjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIsIE5vZGUqIGJlZm9yZUNoYW5n
ZSwgTm9kZSogYWZ0ZXJDaGFuZ2UsIGludCBjaGlsZENvdW50RGVsdGEpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuaAppbmRleCAwYjgyOTY3YmU0NTRjOGM4NmZk
YTI4MzIxNGE1YzhkN2UyMjVhMTM4Li4yYzY1ZWJmZmY1NDhhYzIzNWMxYTFmZDZkYzU4OTU0ZGFi
M2I5MzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Q
b2ludC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmgK
QEAgLTU2LDYgKzU2LDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFzRGlzdHJpYnV0aW9uKCkgY29u
c3QgeyByZXR1cm4gbV9oYXNEaXN0cmlidXRpb247IH0KICAgICB2b2lkIHNldEhhc0Rpc3RyaWJ1
dGlvbigpIHsgbV9oYXNEaXN0cmlidXRpb24gPSB0cnVlOyB9CiAgICAgdm9pZCBjbGVhckRpc3Ry
aWJ1dGlvbigpIHsgbV9oYXNEaXN0cmlidXRpb24gPSBmYWxzZTsgfQorICAgIGJvb2wgaXNTaGFk
b3dCb3VuZGFyeSgpIGNvbnN0OwogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdDsKIAogICAgIHZp
cnR1YWwgTWF0Y2hUeXBlIG1hdGNoVHlwZUZvcihOb2RlKikgY29uc3QgeyByZXR1cm4gQWx3YXlz
TWF0Y2hlczsgfQpAQCAtOTgsNyArOTksMTQgQEAgaW5saW5lIGNvbnN0IEluc2VydGlvblBvaW50
KiB0b0luc2VydGlvblBvaW50KGNvbnN0IE5vZGUqIG5vZGUpCiAKIGlubGluZSBib29sIGlzQWN0
aXZlSW5zZXJ0aW9uUG9pbnQoY29uc3QgTm9kZSogbm9kZSkKIHsKLSAgICByZXR1cm4gbm9kZSAm
JiBub2RlLT5pc0luc2VydGlvblBvaW50KCkgJiYgdG9JbnNlcnRpb25Qb2ludChub2RlKS0+aXNB
Y3RpdmUoKTsKKyAgICByZXR1cm4gbm9kZS0+aXNJbnNlcnRpb25Qb2ludCgpICYmIHRvSW5zZXJ0
aW9uUG9pbnQobm9kZSktPmlzQWN0aXZlKCk7Cit9CisKK2lubGluZSBib29sIGlzTG93ZXJFbmNh
cHN1bGF0aW9uQm91bmRhcnkoTm9kZSogbm9kZSkKK3sKKyAgICBpZiAoIW5vZGUgfHwgIW5vZGUt
PmlzSW5zZXJ0aW9uUG9pbnQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiB0
b0luc2VydGlvblBvaW50KG5vZGUpLT5pc1NoYWRvd0JvdW5kYXJ5KCk7CiB9CiAKIGlubGluZSBO
b2RlKiBwYXJlbnROb2RlRm9yRGlzdHJpYnV0aW9uKGNvbnN0IE5vZGUqIG5vZGUpCkBAIC0xMzUs
MTMgKzE0Myw2IEBAIGlubGluZSBTaGFkb3dSb290KiBzaGFkb3dSb290T2ZQYXJlbnRGb3JEaXN0
cmlidXRpb24oY29uc3QgTm9kZSogbm9kZSkKIAogSW5zZXJ0aW9uUG9pbnQqIGZpbmRJbnNlcnRp
b25Qb2ludE9mKGNvbnN0IE5vZGUqKTsKIAotaW5saW5lIGJvb2wgaGFzU2hhZG93Um9vdE9yQWN0
aXZlSW5zZXJ0aW9uUG9pbnRQYXJlbnQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICByZXR1cm4g
aGFzU2hhZG93Um9vdFBhcmVudChub2RlKQotICAgICAgICB8fCBpc0FjdGl2ZUluc2VydGlvblBv
aW50KGZpbmRJbnNlcnRpb25Qb2ludE9mKG5vZGUpKQotICAgICAgICB8fCBpc0FjdGl2ZUluc2Vy
dGlvblBvaW50KG5vZGUtPnBhcmVudE5vZGUoKSk7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAogI2VuZGlmIC8vIEluc2VydGlvblBvaW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdBRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQUVsZW1lbnQu
Y3BwCmluZGV4IGFjZjVmMzQ0YTI5MTM0ODU3NzM3ZWM1YjYwYjQwZDJkMGU2MTY3NTguLmM0OTJi
N2FhM2JlNTYyNTJmZDY2NDY0MzViYzFjM2U1NWJjMGZhMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdBRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FF
bGVtZW50LmNwcApAQCAtMjI0LDE2ICsyMjQsMTYgQEAgYm9vbCBTVkdBRWxlbWVudDo6aXNLZXli
b2FyZEZvY3VzYWJsZShLZXlib2FyZEV2ZW50KiBldmVudCkgY29uc3QKICAgICByZXR1cm4gZG9j
dW1lbnQoKS0+ZnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCkudGFic1RvTGlua3MoZXZlbnQpOwogfQog
Ci1ib29sIFNWR0FFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGUq
IGNoaWxkKSBjb25zdAorYm9vbCBTVkdBRWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJl
cihjb25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYgY2hpbGRDb250ZXh0KSBjb25zdAogewogICAg
IC8vIGh0dHA6Ly93d3cudzMub3JnLzIwMDMvMDEvUkVDLVNWRzExLTIwMDMwMTE0LWVycmF0YSNs
aW5raW5nLXRleHQtZW52aXJvbm1lbnQKICAgICAvLyBUaGUgJ2EnIGVsZW1lbnQgbWF5IGNvbnRh
aW4gYW55IGVsZW1lbnQgdGhhdCBpdHMgcGFyZW50IG1heSBjb250YWluLCBleGNlcHQgaXRzZWxm
LgotICAgIGlmIChjaGlsZC0+aGFzVGFnTmFtZShTVkdOYW1lczo6YVRhZykpCisgICAgaWYgKGNo
aWxkQ29udGV4dC5ub2RlKCktPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmFUYWcpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgaWYgKHBhcmVudE5vZGUoKSAmJiBwYXJlbnROb2RlKCktPmlzU1ZH
RWxlbWVudCgpKQotICAgICAgICByZXR1cm4gcGFyZW50Tm9kZSgpLT5jaGlsZFNob3VsZENyZWF0
ZVJlbmRlcmVyKGNoaWxkKTsKKyAgICAgICAgcmV0dXJuIHBhcmVudE5vZGUoKS0+Y2hpbGRTaG91
bGRDcmVhdGVSZW5kZXJlcihjaGlsZENvbnRleHQpOwogCi0gICAgcmV0dXJuIFNWR0VsZW1lbnQ6
OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY2hpbGQpOworICAgIHJldHVybiBTVkdFbGVtZW50
OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNoaWxkQ29udGV4dCk7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FFbGVtZW50LmgKaW5kZXggZTM3N2Y5OGU3ZmYw
YjFmZDA0NDRjM2JmMjg5Y2EyMmFhNjRhMjU0NC4uYzRiNDBlOTdhN2ZiZWNhNzY0ZmViNTFjODVh
YjlmYWNlZTVhN2JjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FFbGVtZW50LmgKQEAgLTU4LDcgKzU4LDcg
QEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgaXNGb2N1c2FibGUoKSBjb25zdCBPVkVSUklE
RTsKICAgICB2aXJ0dWFsIGJvb2wgaXNVUkxBdHRyaWJ1dGUoY29uc3QgQXR0cmlidXRlJikgY29u
c3Q7CiAKLSAgICB2aXJ0dWFsIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBO
b2RlKikgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIo
Y29uc3QgTm9kZVJlbmRlcmluZ0NvbnRleHQmKSBjb25zdDsKIAogICAgIEJFR0lOX0RFQ0xBUkVf
QU5JTUFURURfUFJPUEVSVElFUyhTVkdBRWxlbWVudCkKICAgICAgICAgLy8gVGhpcyBkZWNsYXJh
dGlvbiB1c2VkIHRvIGRlZmluZSBhIG5vbi12aXJ0dWFsICJTdHJpbmcmIHRhcmdldCgpIGNvbnN0
IiBtZXRob2QsIHRoYXQgY2xhc2hlcyB3aXRoICJ2aXJ0dWFsIFN0cmluZyBFbGVtZW50Ojp0YXJn
ZXQoKSBjb25zdCIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuY3BwCmlu
ZGV4IDQ5MjBjNDM4M2Y1YmIwOGI5NjM0ZWM2ZDQ1M2Y5ZjNiYTNlODIyZmIuLmYwM2QxZmYyN2Fm
ZTljN2FlYTRhZTA3NTdmYTM5ZGNmMWVmYjMwNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdB
bHRHbHlwaEVsZW1lbnQuY3BwCkBAIC03Niw5ICs3Niw5IEBAIGNvbnN0IEF0b21pY1N0cmluZyYg
U1ZHQWx0R2x5cGhFbGVtZW50Ojpmb3JtYXQoKSBjb25zdAogICAgIHJldHVybiBmYXN0R2V0QXR0
cmlidXRlKFNWR05hbWVzOjpmb3JtYXRBdHRyKTsKIH0KIAotYm9vbCBTVkdBbHRHbHlwaEVsZW1l
bnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSogY2hpbGQpIGNvbnN0Citi
b29sIFNWR0FsdEdseXBoRWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBO
b2RlUmVuZGVyaW5nQ29udGV4dCYgY2hpbGRDb250ZXh0KSBjb25zdAogewotICAgIGlmIChjaGls
ZC0+aXNUZXh0Tm9kZSgpKQorICAgIGlmIChjaGlsZENvbnRleHQubm9kZSgpLT5pc1RleHROb2Rl
KCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIHJldHVybiBmYWxzZTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdBbHRHbHlwaEVsZW1lbnQuaAppbmRleCA3ZTE4Mjc1ZGI2YmMwMDc3MDkyODI0
NTFhOWY3YmQ5YTk2MDFkYWM1Li5hNjE4MzkxNDg5OTZmY2MyNWI3MDRiMmU3MTIxNTk2MDEyOTY1
NzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWx0R2x5cGhFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsdEdseXBoRWxlbWVudC5oCkBAIC00Nyw3ICs0
Nyw3IEBAIHByaXZhdGU6CiAgICAgU1ZHQWx0R2x5cGhFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5h
bWUmLCBEb2N1bWVudCopOwogCiAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRl
cmVyKFJlbmRlckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKLSAgICB2aXJ0dWFsIGJvb2wgY2hpbGRT
aG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlKikgY29uc3Q7CisgICAgdmlydHVhbCBib29s
IGNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZVJlbmRlcmluZ0NvbnRleHQmKSBj
b25zdDsKIAogICAgIEJFR0lOX0RFQ0xBUkVfQU5JTUFURURfUFJPUEVSVElFUyhTVkdBbHRHbHlw
aEVsZW1lbnQpCiAgICAgICAgIERFQ0xBUkVfQU5JTUFURURfU1RSSU5HKEhyZWYsIGhyZWYpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0RvY3VtZW50LmNwcAppbmRleCA2NzBhOTFjN2FiMWMzMjQ3OWFjYTI5NmVl
N2Q3ODIyMDZiY2U5YjhiLi45ZGNkNjVkMTM5YTk0MmU3NmVhYTU4MjdlMWIwNjc1YTYyYmVjYmE0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdEb2N1bWVudC5jcHAKQEAgLTk0LDEwICs5NCwxMCBAQCB2b2lk
IFNWR0RvY3VtZW50Ojp1cGRhdGVQYW4oY29uc3QgRmxvYXRQb2ludCYgcG9zKSBjb25zdAogICAg
IH0KIH0KIAotYm9vbCBTVkdEb2N1bWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25z
dCBOb2RlKiBjaGlsZCkgY29uc3QKK2Jvb2wgU1ZHRG9jdW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRl
UmVuZGVyZXIoY29uc3QgTm9kZVJlbmRlcmluZ0NvbnRleHQmIGNoaWxkQ29udGV4dCkgY29uc3QK
IHsKLSAgICBpZiAoY2hpbGQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnN2Z1RhZykpCi0gICAgICAg
IHJldHVybiB0b1NWR1NWR0VsZW1lbnQoY2hpbGQpLT5pc1ZhbGlkKCk7CisgICAgaWYgKGNoaWxk
Q29udGV4dC5ub2RlKCktPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnN2Z1RhZykpCisgICAgICAgIHJl
dHVybiB0b1NWR1NWR0VsZW1lbnQoY2hpbGRDb250ZXh0Lm5vZGUoKSktPmlzVmFsaWQoKTsKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0Rv
Y3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnQuaAppbmRleCBkYzBkMzQy
MmI0ZTY1ODNhZjI3YzRkY2QwMDc0N2EzMjI4YzQ0MGNjLi5iM2MzMzdhYzc1Zjk1ZWZkNGU3MjQ5
OGM1NjE1NDkwNzFhZGJiODY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9j
dW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRG9jdW1lbnQuaApAQCAtNTEsNyAr
NTEsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIFNWR0RvY3VtZW50KEZyYW1lKiwgY29uc3Qg
S1VSTCYpOwogCi0gICAgdmlydHVhbCBib29sIGNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29u
c3QgTm9kZSopIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRl
cmVyKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0JikgY29uc3Q7CiAKICAgICBGbG9hdFBvaW50
IG1fdHJhbnNsYXRlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAppbmRleCA0OTA4NTc3
ZDM3MGEwOTU3YWJmYTQzZjk0OTViMzRjYmVkNzMwNGIzLi5iMDk0N2IwNjkwMGE0MzE1N2Q2YzJh
NTdiNjM3YTNjYjM5Y2EzMjZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQuY3BwCkBAIC01MjIs
NyArNTIyLDcgQEAgdm9pZCBTVkdFbGVtZW50OjpmaW5pc2hQYXJzaW5nQ2hpbGRyZW4oKQogICAg
IHNlbmRTVkdMb2FkRXZlbnRJZlBvc3NpYmxlKCk7CiB9CiAKLWJvb2wgU1ZHRWxlbWVudDo6Y2hp
bGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlKiBjaGlsZCkgY29uc3QKK2Jvb2wgU1ZH
RWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlUmVuZGVyaW5nQ29u
dGV4dCYgY2hpbGRDb250ZXh0KSBjb25zdAogewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoSGFz
aFNldDxRdWFsaWZpZWROYW1lPiwgaW52YWxpZFRleHRDb250ZW50LCAoKSk7CiAKQEAgLTUzNCw4
ICs1MzQsOCBAQCBib29sIFNWR0VsZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29u
c3QgTm9kZSogY2hpbGQpIGNvbnN0CiAgICAgICAgIGludmFsaWRUZXh0Q29udGVudC5hZGQoU1ZH
TmFtZXM6OnRyZWZUYWcpOwogICAgICAgICBpbnZhbGlkVGV4dENvbnRlbnQuYWRkKFNWR05hbWVz
Ojp0c3BhblRhZyk7CiAgICAgfQotICAgIGlmIChjaGlsZC0+aXNTVkdFbGVtZW50KCkpIHsKLSAg
ICAgICAgY29uc3QgU1ZHRWxlbWVudCogc3ZnQ2hpbGQgPSB0b1NWR0VsZW1lbnQoY2hpbGQpOwor
ICAgIGlmIChjaGlsZENvbnRleHQubm9kZSgpLT5pc1NWR0VsZW1lbnQoKSkgeworICAgICAgICBT
VkdFbGVtZW50KiBzdmdDaGlsZCA9IHRvU1ZHRWxlbWVudChjaGlsZENvbnRleHQubm9kZSgpKTsK
ICAgICAgICAgaWYgKGludmFsaWRUZXh0Q29udGVudC5jb250YWlucyhzdmdDaGlsZC0+dGFnUU5h
bWUoKSkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5o
CmluZGV4IGIyZDM4ZTk2MzBkY2U0ZDIxZDIyNWU0NjhiZjJjZTI1NDIwOTM1OWYuLjZlOWU1NTll
Njk4OTMzMzU4OWY2ODQwNzBmNDQxZDdmOTFlYmM4OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnQu
aApAQCAtMTMxLDcgKzEzMSw3IEBAIHByb3RlY3RlZDoKIAogICAgIHZpcnR1YWwgdm9pZCBmaW5p
c2hQYXJzaW5nQ2hpbGRyZW4oKTsKICAgICB2aXJ0dWFsIHZvaWQgYXR0cmlidXRlQ2hhbmdlZChj
b25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbWljU3RyaW5nJiwgQXR0cmlidXRlTW9kaWZp
Y2F0aW9uUmVhc29uID0gTW9kaWZpZWREaXJlY3RseSkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBi
b29sIGNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSopIGNvbnN0IE9WRVJSSURF
OworICAgIHZpcnR1YWwgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGVS
ZW5kZXJpbmdDb250ZXh0JikgY29uc3QgT1ZFUlJJREU7CiAgICAgCiAgICAgdmlydHVhbCB2b2lk
IHJlbW92ZWRGcm9tKENvbnRhaW5lck5vZGUqKSBPVkVSUklERTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0ZpbHRlckVsZW1lbnQuY3BwCmluZGV4IDY2NTY4OTZmZmI2MmNmZjllMzA1MzI2ZGZhMjMx
Y2FiZTQ5ZGI1MjcuLjAxODdlNzEwYWMxYWE4MGQ1NWEzZjQxMzk4ZjBkZDI4ZDhkZGEzYzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5jcHAKQEAgLTE5NCwxMiArMTk0LDEy
IEBAIFJlbmRlck9iamVjdCogU1ZHRmlsdGVyRWxlbWVudDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVy
QXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSopCiAgICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRl
clNWR1Jlc291cmNlRmlsdGVyKHRoaXMpOwogfQogCi1ib29sIFNWR0ZpbHRlckVsZW1lbnQ6OmNo
aWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSogY2hpbGQpIGNvbnN0Citib29sIFNW
R0ZpbHRlckVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZVJlbmRl
cmluZ0NvbnRleHQmIGNoaWxkQ29udGV4dCkgY29uc3QKIHsKLSAgICBpZiAoIWNoaWxkLT5pc1NW
R0VsZW1lbnQoKSkKKyAgICBpZiAoIWNoaWxkQ29udGV4dC5ub2RlKCktPmlzU1ZHRWxlbWVudCgp
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBjb25zdCBTVkdFbGVtZW50KiBzdmdFbGVt
ZW50ID0gdG9TVkdFbGVtZW50KGNoaWxkKTsKKyAgICBTVkdFbGVtZW50KiBzdmdFbGVtZW50ID0g
dG9TVkdFbGVtZW50KGNoaWxkQ29udGV4dC5ub2RlKCkpOwogCiAgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChIYXNoU2V0PFF1YWxpZmllZE5hbWU+LCBhbGxvd2VkQ2hpbGRFbGVtZW50VGFncywgKCkp
OwogICAgIGlmIChhbGxvd2VkQ2hpbGRFbGVtZW50VGFncy5pc0VtcHR5KCkpIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5oCmluZGV4IDMzNTFjNjBkOTU3ZDAwZjE2YzQ5NzcwYTY4
YzY4ZDIyNWQyYjFmMmMuLjJmMzVlNjU2NTIxOTNkNDBjYzFiMWE5NTUwNDA5NTdhN2RjOWEzYjUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaApAQCAtNTUsNyArNTUsNyBAQCBw
cml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQ
YXJzZXIgPSBmYWxzZSwgTm9kZSogYmVmb3JlQ2hhbmdlID0gMCwgTm9kZSogYWZ0ZXJDaGFuZ2Ug
PSAwLCBpbnQgY2hpbGRDb3VudERlbHRhID0gMCk7CiAKICAgICB2aXJ0dWFsIFJlbmRlck9iamVj
dCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5kZXJTdHlsZSopIE9WRVJSSURFOwot
ICAgIHZpcnR1YWwgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGUqKSBj
b25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJl
cihjb25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYpIGNvbnN0IE9WRVJSSURFOwogCiAgICAgdmly
dHVhbCBib29sIHNlbGZIYXNSZWxhdGl2ZUxlbmd0aHMoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5o
IGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRl
cy5oCmluZGV4IGVlNmI3MGZhMjIzY2JmM2IyYWY5MjA4NTIzOWMwMjJkYjgzMDgwZjMuLjMxZjM3
ODIxMjliOTVjMTUzNDk5NTJlYjY0MDRmODM5MTFjNTU0MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgK
QEAgLTcwLDcgKzcwLDcgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBj
cmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKikgT1ZFUlJJREU7CiAgICAg
dmlydHVhbCBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKSBPVkVSUklE
RTsKLSAgICB2aXJ0dWFsIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2Rl
KikgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgY2hp
bGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYpIGNvbnN0
IE9WRVJSSURFIHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICBCRUdJTl9ERUNMQVJFX0FOSU1BVEVE
X1BST1BFUlRJRVMoU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzKQogICAgICAg
ICBERUNMQVJFX0FOSU1BVEVEX0xFTkdUSChYLCB4KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdGb3JlaWduT2JqZWN0RWxlbWVudC5jcHAKaW5kZXggNzU4YzViNDIyOTFjMzU5MGI4MGYzNDNi
NzM0ZjU1ZGVjZjQwYWI3ZS4uYTQ5ODZkZGZiOWIwMjAwYTBjMjAwYTcxNTg0ZWI5NmEyYWRlNTAy
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuY3Bw
CkBAIC0xMzIsMTQgKzEzMiwxNCBAQCBSZW5kZXJPYmplY3QqIFNWR0ZvcmVpZ25PYmplY3RFbGVt
ZW50OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSogYXJlbmEsIFJlbmRlcgogICAgIHJldHVy
biBuZXcgKGFyZW5hKSBSZW5kZXJTVkdGb3JlaWduT2JqZWN0KHRoaXMpOwogfQogCi1ib29sIFNW
R0ZvcmVpZ25PYmplY3RFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5v
ZGUqIGNoaWxkKSBjb25zdAorYm9vbCBTVkdGb3JlaWduT2JqZWN0RWxlbWVudDo6Y2hpbGRTaG91
bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYgY2hpbGRDb250ZXh0
KSBjb25zdAogewogICAgIC8vIERpc2FsbG93IGFyYml0YXJ5IFNWRyBjb250ZW50LiBPbmx5IGFs
bG93IHByb3BlciA8c3ZnIHhtbG5zPSJzdmdOUyI+IHN1YmRvY3VtZW50cy4KLSAgICBpZiAoY2hp
bGQtPmlzU1ZHRWxlbWVudCgpKQotICAgICAgICByZXR1cm4gY2hpbGQtPmhhc1RhZ05hbWUoU1ZH
TmFtZXM6OnN2Z1RhZyk7CisgICAgaWYgKGNoaWxkQ29udGV4dC5ub2RlKCktPmlzU1ZHRWxlbWVu
dCgpKQorICAgICAgICByZXR1cm4gY2hpbGRDb250ZXh0Lm5vZGUoKS0+aGFzVGFnTmFtZShTVkdO
YW1lczo6c3ZnVGFnKTsKIAogICAgIC8vIFNraXAgb3ZlciBTVkcgcnVsZXMgd2hpY2ggZGlzYWxs
b3cgbm9uLVNWRyBraWRzCi0gICAgcmV0dXJuIFN0eWxlZEVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3Jl
YXRlUmVuZGVyZXIoY2hpbGQpOworICAgIHJldHVybiBTdHlsZWRFbGVtZW50OjpjaGlsZFNob3Vs
ZENyZWF0ZVJlbmRlcmVyKGNoaWxkQ29udGV4dCk7CiB9CiAKIGJvb2wgU1ZHRm9yZWlnbk9iamVj
dEVsZW1lbnQ6OnJlbmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQuaAppbmRleCA0MWUzN2Q4
YjJiYjAwOTMzZDIzMWYyZWMwZWI1NTRkYzc3OGVhYzEyLi4yMDYzZDc4Zjg3NjVjODIyYTdiYjY5
NDc3NmRkZjIwMDY2ODg5Yzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9y
ZWlnbk9iamVjdEVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRm9yZWlnbk9i
amVjdEVsZW1lbnQuaApAQCAtNDMsNyArNDMsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9p
ZCBzdmdBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKIAogICAgIHZpcnR1
YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJikgT1ZFUlJJREU7Ci0g
ICAgdmlydHVhbCBib29sIGNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSopIGNv
bnN0OworICAgIHZpcnR1YWwgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5v
ZGVSZW5kZXJpbmdDb250ZXh0JikgY29uc3Q7CiAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNy
ZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiBhcmVuYSwgUmVuZGVyU3R5bGUqIHN0eWxlKTsKIAog
ICAgIHZpcnR1YWwgYm9vbCBzZWxmSGFzUmVsYXRpdmVMZW5ndGhzKCkgY29uc3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1NWR0VsZW1lbnQuaAppbmRleCA0NzVmNGFjYWFhMWFhYTQ3ODQyNTIxMWIyOTk1ODZh
N2MxMmMxYzlkLi5lYzAwZDJkZWI0Zjk2NDFhN2IyZGFmOTFhYjQxNWFjNmQxNDhhYWZiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmgKQEAgLTE5MiwxMyArMTkyLDYgQEAgaW5saW5lIFNW
R1NWR0VsZW1lbnQqIHRvU1ZHU1ZHRWxlbWVudChOb2RlKiBub2RlKQogICAgIHJldHVybiBzdGF0
aWNfY2FzdDxTVkdTVkdFbGVtZW50Kj4obm9kZSk7CiB9CiAKLWlubGluZSBjb25zdCBTVkdTVkdF
bGVtZW50KiB0b1NWR1NWR0VsZW1lbnQoY29uc3QgTm9kZSogbm9kZSkKLXsKLSAgICBBU1NFUlRf
V0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighbm9kZSB8fCBub2RlLT5pc1NWR0VsZW1lbnQoKSk7
Ci0gICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW5vZGUgfHwgdG9TVkdFbGVt
ZW50KG5vZGUpLT5pc1NWR1NWR0VsZW1lbnQoKSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGNv
bnN0IFNWR1NWR0VsZW1lbnQqPihub2RlKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
CiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdTd2l0Y2hFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTd2l0Y2hFbGVtZW50
LmNwcAppbmRleCA3M2QyNjYzMmYwMGY3YmY2MDMxMDAxNzIxMzNiZDI0YjRiZDQwMzljLi44NTE4
YzNmNjRjMzVmNDk4ZjI1N2M0ODc3OThlOTI0YWMzNmZhOTMzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHU3dpdGNoRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1N3aXRjaEVsZW1lbnQuY3BwCkBAIC00OSw3ICs0OSw3IEBAIFBhc3NSZWZQdHI8U1ZHU3dp
dGNoRWxlbWVudD4gU1ZHU3dpdGNoRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
IHRhZ05hCiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdTd2l0Y2hFbGVtZW50KHRhZ05hbWUs
IGRvY3VtZW50KSk7CiB9CiAKLWJvb2wgU1ZHU3dpdGNoRWxlbWVudDo6Y2hpbGRTaG91bGRDcmVh
dGVSZW5kZXJlcihjb25zdCBOb2RlKiBjaGlsZCkgY29uc3QKK2Jvb2wgU1ZHU3dpdGNoRWxlbWVu
dDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYg
Y2hpbGRDb250ZXh0KSBjb25zdAogewogICAgIC8vIEZJWE1FOiBUaGlzIGZ1bmN0aW9uIGRvZXMg
bm90IGRvIHdoYXQgdGhlIGNvbW1lbnQgYmVsb3cgaW1wbGllcyBpdCBkb2VzLgogICAgIC8vIEl0
IHdpbGwgY3JlYXRlIGEgcmVuZGVyZXIgZm9yIGFueSB2YWxpZCBTVkcgZWxlbWVudCBjaGlsZHJl
biwgbm90IGp1c3QgdGhlIGZpcnN0IG9uZS4KQEAgLTYxLDcgKzYxLDcgQEAgYm9vbCBTVkdTd2l0
Y2hFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGUqIGNoaWxkKSBj
b25zdAogICAgICAgICBpZiAoIWVsZW1lbnQgfHwgIWVsZW1lbnQtPmlzVmFsaWQoKSkKICAgICAg
ICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIHJldHVybiBub2RlID09IGNoaWxkOyAvLyBPbmx5
IGFsbG93IHRoaXMgY2hpbGQgaWYgaXQncyB0aGUgZmlyc3QgdmFsaWQgY2hpbGQKKyAgICAgICAg
cmV0dXJuIG5vZGUgPT0gY2hpbGRDb250ZXh0Lm5vZGUoKTsgLy8gT25seSBhbGxvdyB0aGlzIGNo
aWxkIGlmIGl0J3MgdGhlIGZpcnN0IHZhbGlkIGNoaWxkCiAgICAgfQogCiAgICAgcmV0dXJuIGZh
bHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N3aXRjaEVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTd2l0Y2hFbGVtZW50LmgKaW5kZXggZWQ5YjY0NGFmZGM4
ZGM0ZTQxYjBlYTE2MWI3ZjVjYzU3ZTAwMzU4Zi4uMGM4ZmYzM2Q3ZTU3MmJmYThjNDA2MWQwZThh
Y2RmMTgyNjQ5NzZjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N3aXRjaEVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3dpdGNoRWxlbWVudC5oCkBAIC0z
OSw3ICszOSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIGlzVmFsaWQoKSBjb25zdCB7
IHJldHVybiBTVkdUZXN0czo6aXNWYWxpZCgpOyB9CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRz
Rm9jdXMoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiB0cnVlOyB9CiAKLSAgICB2aXJ0dWFsIGJv
b2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlKikgY29uc3Q7CisgICAgdmly
dHVhbCBib29sIGNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZVJlbmRlcmluZ0Nv
bnRleHQmKSBjb25zdDsKIAogICAgIHZpcnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJl
cihSZW5kZXJBcmVuYSosIFJlbmRlclN0eWxlKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N2Zy9TVkdUUmVmRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVFJlZkVs
ZW1lbnQuY3BwCmluZGV4IGU1OTE4MmE2NzY5MjRiYzY2MzhkN2YzMWRhMDdlNmE5MmJkODNmYWIu
LmZmNDcyN2RjNTI2Njk1OGVhZjRiYTJlMTk2ODdjMzQ4NGRhYTVmYzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdUUmVmRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1RSZWZFbGVtZW50LmNwcApAQCAtMjI2LDkgKzIyNiw5IEBAIFJlbmRlck9iamVjdCog
U1ZHVFJlZkVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiBhcmVuYSwgUmVuZGVy
U3R5bGUqKQogICAgIHJldHVybiBuZXcgKGFyZW5hKSBSZW5kZXJTVkdJbmxpbmUodGhpcyk7CiB9
CiAKLWJvb2wgU1ZHVFJlZkVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3Qg
Tm9kZSogY2hpbGQpIGNvbnN0Citib29sIFNWR1RSZWZFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0
ZVJlbmRlcmVyKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0JiBjaGlsZENvbnRleHQpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIGNoaWxkLT5pc0luU2hhZG93VHJlZSgpOworICAgIHJldHVybiBjaGls
ZENvbnRleHQubm9kZSgpLT5pc0luU2hhZG93VHJlZSgpOwogfQogCiBib29sIFNWR1RSZWZFbGVt
ZW50OjpyZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUUmVmRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1RSZWZFbGVtZW50LmgKaW5kZXggMDExMjlmZTRmOTg3ZDZlNDliN2EwMTY5ZmI5Yzcz
MDg4NjYwNDJjMC4uZGZjYTYwYzA4ZWJjNGQ0YTg2NjljZDRhMjQzYjAxNjIyOTNkOTViMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RSZWZFbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1RSZWZFbGVtZW50LmgKQEAgLTQ1LDcgKzQ1LDcgQEAgcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1l
Jik7CiAKICAgICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJl
bmEqLCBSZW5kZXJTdHlsZSopOwotICAgIHZpcnR1YWwgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJl
bmRlcmVyKGNvbnN0IE5vZGUqKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgY2hpbGRTaG91bGRD
cmVhdGVSZW5kZXJlcihjb25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYpIGNvbnN0OwogICAgIHZp
cnR1YWwgYm9vbCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJik7CiAKICAgICB2
aXJ0dWFsIEluc2VydGlvbk5vdGlmaWNhdGlvblJlcXVlc3QgaW5zZXJ0ZWRJbnRvKENvbnRhaW5l
ck5vZGUqKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUU3Bh
bkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RTcGFuRWxlbWVudC5jcHAKaW5k
ZXggMTdlODQzNDViOTQxOGI5ODJiYjA1MDc2MmU4OTVkNTBhNGM5MmM5MS4uMjJjZDVmYTQ1MDQ5
MWJjYjRlYjkwZDMyZTRlYzVmYTQ1YjYyNzZkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1RTcGFuRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RTcGFu
RWxlbWVudC5jcHAKQEAgLTQ2LDE1ICs0NiwxNSBAQCBSZW5kZXJPYmplY3QqIFNWR1RTcGFuRWxl
bWVudDo6Y3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqIGFyZW5hLCBSZW5kZXJTdHlsZSopCiAg
ICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlclNWR1RTcGFuKHRoaXMpOwogfQogCi1ib29sIFNW
R1RTcGFuRWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlKiBjaGls
ZCkgY29uc3QKK2Jvb2wgU1ZHVFNwYW5FbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVy
KGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0JiBjaGlsZENvbnRleHQpIGNvbnN0CiB7Ci0gICAg
aWYgKGNoaWxkLT5pc1RleHROb2RlKCkKLSAgICAgICAgfHwgY2hpbGQtPmhhc1RhZ05hbWUoU1ZH
TmFtZXM6OmFUYWcpCisgICAgaWYgKGNoaWxkQ29udGV4dC5ub2RlKCktPmlzVGV4dE5vZGUoKQor
ICAgICAgICB8fCBjaGlsZENvbnRleHQubm9kZSgpLT5oYXNUYWdOYW1lKFNWR05hbWVzOjphVGFn
KQogI2lmIEVOQUJMRShTVkdfRk9OVFMpCi0gICAgICAgIHx8IGNoaWxkLT5oYXNUYWdOYW1lKFNW
R05hbWVzOjphbHRHbHlwaFRhZykKKyAgICAgICAgfHwgY2hpbGRDb250ZXh0Lm5vZGUoKS0+aGFz
VGFnTmFtZShTVkdOYW1lczo6YWx0R2x5cGhUYWcpCiAjZW5kaWYKLSAgICAgICAgfHwgY2hpbGQt
Pmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnRyZWZUYWcpCi0gICAgICAgIHx8IGNoaWxkLT5oYXNUYWdO
YW1lKFNWR05hbWVzOjp0c3BhblRhZykpCisgICAgICAgIHx8IGNoaWxkQ29udGV4dC5ub2RlKCkt
Pmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnRyZWZUYWcpCisgICAgICAgIHx8IGNoaWxkQ29udGV4dC5u
b2RlKCktPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnRzcGFuVGFnKSkKICAgICAgICAgcmV0dXJuIHRy
dWU7CiAKICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHVFNwYW5FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVFNwYW5FbGVtZW50LmgK
aW5kZXggYWNlOGNhYjY5OTA0YTI2MmY2ZTdjNmEzMzNjZGM0Njc4MGUxZTZmNC4uYzhhYzYyNTgz
Y2ViNDM1ZDcxMTEwYmNlOTVhMGMzMDdkMWU3NGI0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1RTcGFuRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUU3Bh
bkVsZW1lbnQuaApAQCAtMzQsNyArMzQsNyBAQCBwcml2YXRlOgogICAgIFNWR1RTcGFuRWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKICAgICAgICAgICAgIAogICAgIHZp
cnR1YWwgUmVuZGVyT2JqZWN0KiBjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVuYSosIFJlbmRlclN0
eWxlKik7Ci0gICAgdmlydHVhbCBib29sIGNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3Qg
Tm9kZSopIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVy
KGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0JikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHJl
bmRlcmVySXNOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmKTsKIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHVGV4dEVsZW1lbnQuY3BwCmluZGV4IGM4NTgwMGZlOThiODkzNTQwNTM1NjBkMzMwODExNzU5
NDEwN2IxNmIuLmVhNWQ1MmQ2YmQ5NjJjYjU0ZjkyNWQyNjQxMzQzOTFhZTFlNDVlY2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0RWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR1RleHRFbGVtZW50LmNwcApAQCAtNzQsMTYgKzc0LDE2IEBAIFJlbmRl
ck9iamVjdCogU1ZHVGV4dEVsZW1lbnQ6OmNyZWF0ZVJlbmRlcmVyKFJlbmRlckFyZW5hKiBhcmVu
YSwgUmVuZGVyU3R5bGUqKQogICAgIHJldHVybiBuZXcgKGFyZW5hKSBSZW5kZXJTVkdUZXh0KHRo
aXMpOwogfQogCi1ib29sIFNWR1RleHRFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVy
KGNvbnN0IE5vZGUqIGNoaWxkKSBjb25zdAorYm9vbCBTVkdUZXh0RWxlbWVudDo6Y2hpbGRTaG91
bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYgY2hpbGRDb250ZXh0
KSBjb25zdAogewotICAgIGlmIChjaGlsZC0+aXNUZXh0Tm9kZSgpCi0gICAgICAgIHx8IGNoaWxk
LT5oYXNUYWdOYW1lKFNWR05hbWVzOjphVGFnKQorICAgIGlmIChjaGlsZENvbnRleHQubm9kZSgp
LT5pc1RleHROb2RlKCkKKyAgICAgICAgfHwgY2hpbGRDb250ZXh0Lm5vZGUoKS0+aGFzVGFnTmFt
ZShTVkdOYW1lczo6YVRhZykKICNpZiBFTkFCTEUoU1ZHX0ZPTlRTKQotICAgICAgICB8fCBjaGls
ZC0+aGFzVGFnTmFtZShTVkdOYW1lczo6YWx0R2x5cGhUYWcpCisgICAgICAgIHx8IGNoaWxkQ29u
dGV4dC5ub2RlKCktPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmFsdEdseXBoVGFnKQogI2VuZGlmCi0g
ICAgICAgIHx8IGNoaWxkLT5oYXNUYWdOYW1lKFNWR05hbWVzOjp0ZXh0UGF0aFRhZykKLSAgICAg
ICAgfHwgY2hpbGQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnRyZWZUYWcpCi0gICAgICAgIHx8IGNo
aWxkLT5oYXNUYWdOYW1lKFNWR05hbWVzOjp0c3BhblRhZykpCisgICAgICAgIHx8IGNoaWxkQ29u
dGV4dC5ub2RlKCktPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OnRleHRQYXRoVGFnKQorICAgICAgICB8
fCBjaGlsZENvbnRleHQubm9kZSgpLT5oYXNUYWdOYW1lKFNWR05hbWVzOjp0cmVmVGFnKQorICAg
ICAgICB8fCBjaGlsZENvbnRleHQubm9kZSgpLT5oYXNUYWdOYW1lKFNWR05hbWVzOjp0c3BhblRh
ZykpCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHVGV4dEVsZW1lbnQuaAppbmRleCBkNDM2MzZkZDE4NWY1YWVlMTNkZGFhNGQxN2MwZDYy
ODM0NDU1NzNhLi45YWZmMjRlNTUyMjgzODYxOTM0NzFmMTUzMWNlNDRlMDNhZDk2OTBhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVGV4dEVsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHVGV4dEVsZW1lbnQuaApAQCAtMzgsNyArMzgsNyBAQCBwcml2YXRlOgog
ICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0ZvY3VzKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4g
dHJ1ZTsgfQogCiAgICAgdmlydHVhbCBSZW5kZXJPYmplY3QqIGNyZWF0ZVJlbmRlcmVyKFJlbmRl
ckFyZW5hKiwgUmVuZGVyU3R5bGUqKTsKLSAgICB2aXJ0dWFsIGJvb2wgY2hpbGRTaG91bGRDcmVh
dGVSZW5kZXJlcihjb25zdCBOb2RlKikgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGNoaWxkU2hv
dWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZVJlbmRlcmluZ0NvbnRleHQmKSBjb25zdDsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdUZXh0UGF0aEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRQYXRo
RWxlbWVudC5jcHAKaW5kZXggMDhmNGNiYTg1YWI5NDRjODg2MWY1NzQ5ZmVhOGQyNzRiNDc4MzQ5
MC4uNjJkMzRkY2ZjYzgzNDU5OGY3ODFiZmFiMzY3MTlkNWMzN2MzOWU3MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1RleHRQYXRoRWxlbWVudC5jcHAKQEAgLTEzNCwxMiArMTM0LDEyIEBAIFJl
bmRlck9iamVjdCogU1ZHVGV4dFBhdGhFbGVtZW50OjpjcmVhdGVSZW5kZXJlcihSZW5kZXJBcmVu
YSogYXJlbmEsIFJlbmRlclN0eWxlCiAgICAgcmV0dXJuIG5ldyAoYXJlbmEpIFJlbmRlclNWR1Rl
eHRQYXRoKHRoaXMpOwogfQogCi1ib29sIFNWR1RleHRQYXRoRWxlbWVudDo6Y2hpbGRTaG91bGRD
cmVhdGVSZW5kZXJlcihjb25zdCBOb2RlKiBjaGlsZCkgY29uc3QKK2Jvb2wgU1ZHVGV4dFBhdGhF
bGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250
ZXh0JiBjaGlsZENvbnRleHQpIGNvbnN0CiB7Ci0gICAgaWYgKGNoaWxkLT5pc1RleHROb2RlKCkK
LSAgICAgICAgfHwgY2hpbGQtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmFUYWcpCi0gICAgICAgIHx8
IGNoaWxkLT5oYXNUYWdOYW1lKFNWR05hbWVzOjp0cmVmVGFnKQotICAgICAgICB8fCBjaGlsZC0+
aGFzVGFnTmFtZShTVkdOYW1lczo6dHNwYW5UYWcpKQorICAgIGlmIChjaGlsZENvbnRleHQubm9k
ZSgpLT5pc1RleHROb2RlKCkKKyAgICAgICAgfHwgY2hpbGRDb250ZXh0Lm5vZGUoKS0+aGFzVGFn
TmFtZShTVkdOYW1lczo6YVRhZykKKyAgICAgICAgfHwgY2hpbGRDb250ZXh0Lm5vZGUoKS0+aGFz
VGFnTmFtZShTVkdOYW1lczo6dHJlZlRhZykKKyAgICAgICAgfHwgY2hpbGRDb250ZXh0Lm5vZGUo
KS0+aGFzVGFnTmFtZShTVkdOYW1lczo6dHNwYW5UYWcpKQogICAgICAgICByZXR1cm4gdHJ1ZTsK
IAogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdU
ZXh0UGF0aEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdUZXh0UGF0aEVsZW1lbnQu
aAppbmRleCBiMjlmNmU5NzBkMGJkMWM0OWEwYjM2ZDRkYzliZTQzMzI4MGY0MjA4Li5jNGJiMGIy
ODE1MWFkZTI2NGY3YWE4MmZkMTM5ZTY3ZDU4Y2ZmODFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHVGV4dFBhdGhFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL1NW
R1RleHRQYXRoRWxlbWVudC5oCkBAIC0xMjgsNyArMTI4LDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0
dWFsIHZvaWQgc3ZnQXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJik7CiAKICAg
ICB2aXJ0dWFsIFJlbmRlck9iamVjdCogY3JlYXRlUmVuZGVyZXIoUmVuZGVyQXJlbmEqLCBSZW5k
ZXJTdHlsZSopOwotICAgIHZpcnR1YWwgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNv
bnN0IE5vZGUqKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5k
ZXJlcihjb25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9v
bCByZW5kZXJlcklzTmVlZGVkKGNvbnN0IFJlbmRlclN0eWxlJik7CiAKICAgICB2aXJ0dWFsIGJv
b2wgc2VsZkhhc1JlbGF0aXZlTGVuZ3RocygpIGNvbnN0Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>