<?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>159375</bug_id>
          
          <creation_ts>2016-07-01 15:26:29 -0700</creation_ts>
          <short_desc>REGRESSION(r189668): Notification tests are flakey</short_desc>
          <delta_ts>2016-07-05 23:41:07 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1207304</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-07-01 15:26:29 -0700</bug_when>
    <thetext>REGRESSION(r189668): Notification tests are flakey</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207309</commentid>
    <comment_count>1</comment_count>
      <attachid>282595</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-07-01 15:39:25 -0700</bug_when>
    <thetext>Created attachment 282595
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207311</commentid>
    <comment_count>2</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-07-01 15:39:44 -0700</bug_when>
    <thetext>*** Bug 159374 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207349</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-07-01 17:04:11 -0700</bug_when>
    <thetext>Are bug 150736 and bug 149218 same as this one?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207350</commentid>
    <comment_count>4</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-07-01 17:06:04 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Are bug 150736 and bug 149218 same as this one?

Yep.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207355</commentid>
    <comment_count>5</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-07-01 17:09:07 -0700</bug_when>
    <thetext>*** Bug 150736 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207357</commentid>
    <comment_count>6</comment_count>
      <attachid>282595</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-07-01 17:13:48 -0700</bug_when>
    <thetext>Comment on attachment 282595
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=282595&amp;action=review

&gt; Source/WebKit2/ChangeLog:13
&gt; +        * UIProcess/API/C/WKNotificationManagerPrivate.h: Copied from Tools/WebKitTestRunner/WebNotificationProvider.h.

This should be WKNotificationManagerInternal.h, because it&apos;s only supposed to be used internally by WebKit tools, not as an SPI.

&gt; Source/WebKit2/UIProcess/API/C/WKNotificationManagerPrivate.h:2
&gt; + * Copyright (C) 2011 Apple Inc. All rights reserved.

2016

&gt; Source/WebKit2/UIProcess/API/C/WKNotificationManagerPrivate.h:35
&gt; +WK_EXPORT uint64_t WKNotificationManagerGetLocalID(WKNotificationManagerRef manager, WKNotificationRef notification);

May be good to have &quot;ForTesting&quot; in the name here too. Or just put into the regular WKNotificationManager.h with such a name - I&apos;d ask Sam about what he prefers.

&gt; Tools/ChangeLog:18
&gt; +        The solution is for WebNotificationProvider, imlemented in WebKitTestRunner in the UI Process, to

imPlemented

&gt; LayoutTests/platform/mac/TestExpectations:-1261
&gt; -webkit.org/b/149218 http/tests/notifications/events.html [ Pass Crash ]

Was this the only test marked as a flaky crash? I expect that the other one from my comment should have been marked too.

&gt; ChangeLog:9
&gt; +        * WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme:

?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207378</commentid>
    <comment_count>7</comment_count>
      <attachid>282620</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-07-01 17:55:10 -0700</bug_when>
    <thetext>Created attachment 282620
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207385</commentid>
    <comment_count>8</comment_count>
      <attachid>282623</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-07-01 18:11:19 -0700</bug_when>
    <thetext>Created attachment 282623
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207390</commentid>
    <comment_count>9</comment_count>
      <attachid>282624</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-07-01 18:30:42 -0700</bug_when>
    <thetext>Created attachment 282624
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207419</commentid>
    <comment_count>10</comment_count>
      <attachid>282624</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-01 19:53:39 -0700</bug_when>
    <thetext>Comment on attachment 282624
Patch for committing

Clearing flags on attachment: 282624

Committed r202772: &lt;http://trac.webkit.org/changeset/202772&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1208090</commentid>
    <comment_count>11</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-07-05 23:41:07 -0700</bug_when>
    <thetext>&lt;rdar://problem/22760990&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>282595</attachid>
            <date>2016-07-01 15:39:25 -0700</date>
            <delta_ts>2016-07-01 17:13:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159375-20160701153902.patch</filename>
            <type>text/plain</type>
            <size>19694</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyNjM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYmMyYzI5NzI3ZmVhM2Zm
NmJkZmY4YTJhZWNhNDU1OGMxNzUzYWJkYS4uMjdjNjc1MTgyYWIwNjg5ODg4YjNjODIwZGVlNDM4
MmIxNGZiZWUzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE2LTA3LTAxICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lP
TihyMTg5NjY4KTogTm90aWZpY2F0aW9uIHRlc3RzIGFyZSBmbGFrZXkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1OTM3NQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMjI3NjA5OTA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW1wbGVtZW50IFdLTm90aWZpY2F0aW9uTWFuYWdlckdldExvY2FsSUQoKS4g
Rm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSB0aGUgZW50cnkgaW4gVG9vbHMvQ2hhbmdlTG9nLgor
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLTm90aWZpY2F0aW9uTWFuYWdlci5jcHA6Cisg
ICAgICAgIChXS05vdGlmaWNhdGlvbk1hbmFnZXJHZXRMb2NhbElEKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0MvV0tOb3RpZmljYXRpb25NYW5hZ2VyUHJpdmF0ZS5oOiBDb3BpZWQgZnJvbSBU
b29scy9XZWJLaXRUZXN0UnVubmVyL1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmguCisgICAgICAg
ICogVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5Ojpub3RpZmlj
YXRpb25Mb2NhbElERm9yVGVzdGluZyk6CisgICAgICAgICogVUlQcm9jZXNzL05vdGlmaWNhdGlv
bnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5Lmg6CisgICAgICAgICogV2ViS2l0Mi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE2LTA2LTI5ICBCZXRoIERha2luICA8YmRha2lu
QGFwcGxlLmNvbT4KIAogICAgICAgICBEZWxldGUgV0tFbGVtZW50SW5mbyBzaW5jZSBpdCdzIG5v
dCB1c2VkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOb3Rp
ZmljYXRpb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS05v
dGlmaWNhdGlvbk1hbmFnZXIuY3BwCmluZGV4IDFlMDUwYTZlNmRiOWI0NDVmNmJjYWFlNDUyNTlj
MmVmY2NkODNmZDIuLjdjYzMxODcxNmZkNGVjYmQ3NTdmODZlNjhjMzJhOTEzMDMwZjc5OWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS05vdGlmaWNhdGlvbk1h
bmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS05vdGlmaWNh
dGlvbk1hbmFnZXIuY3BwCkBAIC0yNyw2ICsyNyw4IEBACiAjaW5jbHVkZSAiV0tOb3RpZmljYXRp
b25NYW5hZ2VyLmgiCiAKICNpbmNsdWRlICJXS0FQSUNhc3QuaCIKKyNpbmNsdWRlICJXS05vdGlm
aWNhdGlvbk1hbmFnZXJQcml2YXRlLmgiCisjaW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uLmgiCiAj
aW5jbHVkZSAiV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmgiCiAKIHVzaW5nIG5hbWVzcGFj
ZSBXZWJLaXQ7CkBAIC02NSwzICs2Nyw4IEBAIHZvaWQgV0tOb3RpZmljYXRpb25NYW5hZ2VyUHJv
dmlkZXJEaWRSZW1vdmVOb3RpZmljYXRpb25Qb2xpY2llcyhXS05vdGlmaWNhdGlvbk1hCiB7CiAg
ICAgdG9JbXBsKG1hbmFnZXJSZWYpLT5wcm92aWRlckRpZFJlbW92ZU5vdGlmaWNhdGlvblBvbGlj
aWVzKHRvSW1wbChvcmlnaW5zKSk7CiB9CisKK3VpbnQ2NF90IFdLTm90aWZpY2F0aW9uTWFuYWdl
ckdldExvY2FsSUQoV0tOb3RpZmljYXRpb25NYW5hZ2VyUmVmIG1hbmFnZXIsIFdLTm90aWZpY2F0
aW9uUmVmIG5vdGlmaWNhdGlvbikKK3sKKyAgICByZXR1cm4gdG9JbXBsKG1hbmFnZXIpLT5ub3Rp
ZmljYXRpb25Mb2NhbElERm9yVGVzdGluZyh0b0ltcGwobm90aWZpY2F0aW9uKSk7Cit9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOb3RpZmljYXRpb25NYW5h
Z2VyUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTm90aWZpY2F0
aW9uTWFuYWdlclByaXZhdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42Y2YwOWJmZDkyMGFiZmZlZWJmNGQ0MDIz
Njk1NDY1MzhmMDZhMjk1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLTm90aWZpY2F0aW9uTWFuYWdlclByaXZhdGUuaApAQCAtMCwwICsxLDQxIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2lmbmRlZiBXS05vdGlmaWNhdGlvbk1hbmFnZXJQcml2YXRlX2gKKyNk
ZWZpbmUgV0tOb3RpZmljYXRpb25NYW5hZ2VyUHJpdmF0ZV9oCisKKyNpbmNsdWRlIDxXZWJLaXQv
V0tOb3RpZmljYXRpb25NYW5hZ2VyLmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJD
IiB7CisjZW5kaWYKKworV0tfRVhQT1JUIHVpbnQ2NF90IFdLTm90aWZpY2F0aW9uTWFuYWdlckdl
dExvY2FsSUQoV0tOb3RpZmljYXRpb25NYW5hZ2VyUmVmIG1hbmFnZXIsIFdLTm90aWZpY2F0aW9u
UmVmIG5vdGlmaWNhdGlvbik7CisgICAgCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgor
CisjZW5kaWYgLy8gV0tOb3RpZmljYXRpb25NYW5hZ2VyUHJpdmF0ZV9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5h
Z2VyUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2Vi
Tm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmNwcAppbmRleCA2MjYzNTE2ODczMjIwMTk2N2I4MmQ0
Y2U4OGMyOGU5MzNhZmE4N2I5Li5hMDM0MDA3ZDdkNGEyMjM2MzBiMWUyYTM5YmE5NGVjNGM0Y2Iz
MGUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9X
ZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHAKQEAgLTI1
Niw0ICsyNTYsMTYgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHk6OnByb3ZpZGVy
RGlkUmVtb3ZlTm90aWZpY2F0aW9uUG9saWNpZXMoQVBJOjpBcnIKICAgICBwcm9jZXNzUG9vbCgp
LT5zZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OkRp
ZFJlbW92ZU5vdGlmaWNhdGlvbkRlY2lzaW9ucyhvcmlnaW5TdHJpbmdzKSk7CiB9CiAKK3VpbnQ2
NF90IFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eTo6bm90aWZpY2F0aW9uTG9jYWxJREZvclRl
c3RpbmcoV2ViTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24pCit7CisgICAgaWYgKCFub3RpZmlj
YXRpb24pCisgICAgICAgIHJldHVybiAwOworCisgICAgYXV0byBpdCA9IG1fZ2xvYmFsTm90aWZp
Y2F0aW9uTWFwLmZpbmQobm90aWZpY2F0aW9uLT5ub3RpZmljYXRpb25JRCgpKTsKKyAgICBpZiAo
aXQgPT0gbV9nbG9iYWxOb3RpZmljYXRpb25NYXAuZW5kKCkpCisgICAgICAgIHJldHVybiAwOwor
CisgICAgcmV0dXJuIGl0LT52YWx1ZS5zZWNvbmQ7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2Vi
Tm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90
aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuaAppbmRleCA0NGY0NmE5MGZj
ZGFjNjNjYWFjYWYwMTUxZjI1YjM2YTNkZGI3ZmZiLi5mY2UwN2Y1Nzc5YTMxYWFiOWViZTVhZjVi
NGIwZTM5NjMzOTQ3NjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90
aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHku
aApAQCAtNjcsNiArNjcsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBwcm92aWRlckRpZFVwZGF0ZU5v
dGlmaWNhdGlvblBvbGljeShjb25zdCBBUEk6OlNlY3VyaXR5T3JpZ2luKiwgYm9vbCBhbGxvd2Vk
KTsKICAgICB2b2lkIHByb3ZpZGVyRGlkUmVtb3ZlTm90aWZpY2F0aW9uUG9saWNpZXMoQVBJOjpB
cnJheSogb3JpZ2lucyk7CiAKKyAgICB1aW50NjRfdCBub3RpZmljYXRpb25Mb2NhbElERm9yVGVz
dGluZyhXZWJOb3RpZmljYXRpb24qKTsKKwogICAgIHVzaW5nIEFQSTo6T2JqZWN0OjpyZWY7CiAg
ICAgdXNpbmcgQVBJOjpPYmplY3Q6OmRlcmVmOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJL
aXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggODA5NjBjMzk0Mjk5YjdkOTk5OWE4
YzI2MWU5N2IwNzk0OWZhYTJmOS4uMjNmNTJmYzIyNzkyYmFlMGRlOGQ1YTcwY2IzMzQzMzRjNzhm
YzFkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtNTI3LDYgKzUyNyw3IEBACiAJCTFBRkU0MzY1MThCNkMwODEwMDlDN0E0OCAv
KiBVSURlbGVnYXRlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUFGRTQzNjMxOEI2QzA4MTAwOUM3QTQ4IC8qIFVJRGVsZWdhdGUubW0gKi87IH07CiAJ
CTFBRkU0MzY2MThCNkMwODEwMDlDN0E0OCAvKiBVSURlbGVnYXRlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUZFNDM2NDE4QjZDMDgxMDA5QzdBNDgg
LyogVUlEZWxlZ2F0ZS5oICovOyB9OwogCQkxQUZGNDkwMDE4MzNERTc4MDA5QUIxNUEgLyogV0tE
ZXByZWNhdGVkRnVuY3Rpb25zLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFBRkY0OEZFMTgzM0RFNzgwMDlBQjE1QSAvKiBXS0RlcHJlY2F0ZWRGdW5j
dGlvbnMuY3BwICovOyB9OworCQkxQzAxQjkxMTFEMjcxNkVBMDAzODAwQTggLyogV0tOb3RpZmlj
YXRpb25NYW5hZ2VyUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUMwMUI5MTAxRDI3MTZFQTAwMzgwMEE4IC8qIFdLTm90aWZpY2F0aW9uTWFu
YWdlclByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkxQzBBMTk0NjFDOEZGMUE4MDBGRTBFQkIgLyogV2ViQXV0b21hdGlvblNlc3Npb25Q
cm94eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QzBBMTk0NDFDOEZGMUE4MDBGRTBFQkIgLyogV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5jcHAg
Ki87IH07CiAJCTFDMEExOTQ3MUM4RkYxQTgwMEZFMEVCQiAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lv
blByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QzBBMTk0NTFDOEZGMUE4MDBGRTBFQkIgLyogV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5oICov
OyB9OwogCQkxQzBBMTk1MzFDOEZGREZCMDBGRTBFQkIgLyogV2ViQXV0b21hdGlvblNlc3Npb25Q
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQzBBMTk1MTFDOEZGREZCMDBGRTBFQkIgLyogV2ViQXV0b21hdGlvblNl
c3Npb25Qcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC0yNTE5LDYgKzI1MjAsNyBA
QAogCQkxQUZFNDM2NDE4QjZDMDgxMDA5QzdBNDggLyogVUlEZWxlZ2F0ZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBVSURlbGVnYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFBRkY0OEZFMTgzM0RFNzgwMDlBQjE1QSAvKiBXS0RlcHJlY2F0ZWRGdW5jdGlv
bnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tEZXByZWNhdGVk
RnVuY3Rpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUJCNDE3QzkxMkMw
MENDQTAwMkJFNjdCIC8qIFRleHRDaGVja2VyQ29tcGxldGlvbi5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXh0Q2hlY2tlckNvbXBsZXRpb24uY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkxQzAxQjkxMDFEMjcxNkVBMDAzODAwQTggLyogV0tOb3Rp
ZmljYXRpb25NYW5hZ2VyUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXS05vdGlmaWNhdGlvbk1hbmFnZXJQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTFDMEExOTQ0MUM4RkYxQTgwMEZFMEVCQiAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvblBy
b3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkF1dG9tYXRp
b25TZXNzaW9uUHJveHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzBBMTk0
NTFDOEZGMUE4MDBGRTBFQkIgLyogV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDMEExOTQ4MUM4RkYzMEUwMEZFMEVCQiAvKiBX
ZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5Lm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkF1dG9tYXRpb25T
ZXNzaW9uUHJveHkubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02
MjU5LDYgKzYyNjEsNyBAQAogCQkJCTFBNTcxMDlEMUFCQTAwMjcwMDJGQUJCRSAvKiBXS1dlYnNp
dGVEYXRhU3RvcmVSZWYuaCAqLywKIAkJCQkxQTdDMERGNDFCN0QxRjEwMDBBOUI4NDggLyogV0tX
aW5kb3dGZWF0dXJlc1JlZi5jcHAgKi8sCiAJCQkJMUE3QzBERjUxQjdEMUYxMDAwQTlCODQ4IC8q
IFdLV2luZG93RmVhdHVyZXNSZWYuaCAqLywKKwkJCQkxQzAxQjkxMDFEMjcxNkVBMDAzODAwQTgg
LyogV0tOb3RpZmljYXRpb25NYW5hZ2VyUHJpdmF0ZS5oICovLAogCQkJKTsKIAkJCXBhdGggPSBD
OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTczOTksNiArNzQwMiw3IEBACiAJCQkJ
QkM5MEExRDIxMjJERDU1RTAwQ0M4QzUwIC8qIEFQSVVSTFJlc3BvbnNlLmggaW4gSGVhZGVycyAq
LywKIAkJCQk3Qzg5RDJCNDFBNkIwNjhDMDAzQTVGREUgLyogQVBJVXNlckNvbnRlbnRFeHRlbnNp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCTdDM0EwNkE4MUFBQjkwM0UwMDlENzRCQSAvKiBBUElV
c2VyQ29udGVudEV4dGVuc2lvblN0b3JlLmggaW4gSGVhZGVycyAqLywKKwkJCQkxQzAxQjkxMTFE
MjcxNkVBMDAzODAwQTggLyogV0tOb3RpZmljYXRpb25NYW5hZ2VyUHJpdmF0ZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRjYxMTNFMjUxMjZDRTE4MjAwNTdEMEE3IC8qIEFQSVVzZXJDb250ZW50VVJM
UGF0dGVybi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M4ODJERkQxQzdFOTlBODAwNkJGNzMxIC8q
IEFQSVVzZXJDb250ZW50V29ybGQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDODlEMjk0MUE2NzEy
MkYwMDNBNUZERSAvKiBBUElVc2VyU2NyaXB0LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwODcwMjc3NmQyZWM3YjFj
ODA2YTRhYThjMmQwNTQ1MzkyOGJiYmNhLi5lOWY2ZTU3MWQ0YjEzNDdiNjJkNWU1OWY0ZTU2ZjRk
NjkwZmE0OTA2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTYtMDctMDEgIE15bGVzIEMuIE1heGZpZWxkICA8bW1h
eGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIxODk2NjgpOiBOb3RpZmlj
YXRpb24gdGVzdHMgYXJlIGZsYWtleQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTU5Mzc1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgTm90aWZpY2F0aW9ucyBhcmUgb2JqZWN0cyB3aGljaCBtdXN0IGV4aXN0
IGluIGJvdGggdGhlIFVJIFByb2Nlc3MgYW5kIHRoZSBXZWIgUHJvY2Vzcy4gRWFjaCBwcm9jZXNz
CisgICAgICAgIGlkZW50aWZpZXMgYSBub3RpZmljYXRpb24gb2JqZWN0IGJ5IGEgdW5pcXVlIElE
LiBXaGVuIHRoZSBXZWIgUHJvY2VzcyBzZW5kcyBhIG1lc3NhZ2UgcmVnYXJkaW5nIGEKKyAgICAg
ICAgbm90aWZpY2F0aW9uIHRvIHRoZSBVSSBQcm9jZXNzLCB0aGUgVUkgUHJvY2VzcydzIFdlYk5v
dGlmaWNhdGlvbk1hbmFnZXJQcm94eSBob2xkcyBhIG1hcCBmcm9tCisgICAgICAgIChQYWdlIElE
LCBXZWIgUHJvY2VzcyBub3RpZmljYXRpb24gSUQpIC0+IFVJIFByb2Nlc3Mgbm90aWZpY2F0aW9u
IElELiBUaGlzIHdvcmtzIGFzIGludGVuZGVkLgorCisgICAgICAgIE91ciB0ZXN0cywgaG93ZXZl
ciwgaW5jbHVkZSBhbiBhZGRpdGlvbmFsIG1ldGhvZCwgc2ltdWxhdGVXZWJOb3RpZmljYXRpb25D
bGljaygpLCB3aGljaCBpcyBpbXBsZW1lbnRlZAorICAgICAgICBieSBXZWJLaXRUZXN0UnVubmVy
IGluIHRoZSBXZWIgUHJvY2VzcyB2aWEgdGhlIEluamVjdGVkIEJ1bmRsZS4gVGhpcyBtZXRob2Qg
aW52b2x2ZXMgc2VuZGluZyBhIG1lc3NhZ2UKKyAgICAgICAgdG8gdGhlIFVJIHByb2Nlc3MsIHRv
IGhhbmRsZSB0aGUgc2ltdWxhdGVkIGNsaWNrLiBIb3dldmVyLCB0aGF0IFJQQyBkaWRuJ3QgcGVy
Zm9ybSB0aGUgc2FtZSBsb2NhbCAtPgorICAgICAgICBnbG9iYWwgbm90aWZpY2F0aW9uIElEIG1h
cHBpbmcsIGNhdXNpbmcgdGhlIHdyb25nIG5vdGlmaWNhdGlvbiB0byBiZSBpbnZlc3RpZ2F0ZWQu
CisKKyAgICAgICAgVGhlIHNvbHV0aW9uIGlzIGZvciBXZWJOb3RpZmljYXRpb25Qcm92aWRlciwg
aW1sZW1lbnRlZCBpbiBXZWJLaXRUZXN0UnVubmVyIGluIHRoZSBVSSBQcm9jZXNzLCB0bworICAg
ICAgICBtYW51YWxseSBwZXJmb3JtIHRoaXMgc2FtZSBtYXBwaW5nLiBMdWNraWx5LCB0aGlzIG9i
amVjdCBhbHJlYWR5IHJlY2VpdmVzIGNhbGxiYWNrcyBldmVyeSB0aW1lIGEKKyAgICAgICAgbm90
aWZpY2F0aW9uIGlzIGNyZWF0ZWQgb3IgZGVzdHJveWVkLiBIb3dldmVyLCBiZWNhdXNlIHRoaXMg
b2JqZWN0IGlzIGltcGxlbWVudGVkIG91dHNpZGUgV2ViS2l0LAorICAgICAgICBpdCBpc24ndCBw
cml2eSB0byB0aGUgaW50ZXJuYWwgV2ViIFByb2Nlc3MgSUQgdXNlZCBpbnNpZGUgV2ViTm90aWZp
Y2F0aW9ubWFuYWdlclByb3h5LiBUaGVyZWZvcmUsCisgICAgICAgIHRoaXMgcGF0Y2ggYWRkcyBh
IHByaXZhdGUgdGVzdGluZyBmdW5jdGlvbiB3aGljaCByZXR1cm5zIHRoaXMgaW50ZXJuYWwgSUQu
IE9uY2UgZ2l2ZW4gdGhpcyBpbnRlbmFsIElELAorICAgICAgICBXZWJOb3RpZmljYXRpb25Qcm92
aWRlciBjYW4gcHJvcGVybHkgbWFwIGJldHdlZW4gdGhlIGRpZmZlcmVudCBJRHMuCisKKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdUUjo6
VGVzdENvbnRyb2xsZXI6OnJ1blRlc3RpbmdTZXJ2ZXJMb29wKToKKyAgICAgICAgKFdUUjo6VGVz
dENvbnRyb2xsZXI6OnNpbXVsYXRlV2ViTm90aWZpY2F0aW9uQ2xpY2spOgorICAgICAgICAqIFdl
YktpdFRlc3RSdW5uZXIvV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuY3BwOgorICAgICAgICAoV1RS
OjpXZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6c2hvd1dlYk5vdGlmaWNhdGlvbik6CisgICAgICAg
IChXVFI6OnJlbW92ZUdsb2JhbElERnJvbUlETWFwKToKKyAgICAgICAgKFdUUjo6V2ViTm90aWZp
Y2F0aW9uUHJvdmlkZXI6OmNsb3NlV2ViTm90aWZpY2F0aW9uKToKKyAgICAgICAgKFdUUjo6V2Vi
Tm90aWZpY2F0aW9uUHJvdmlkZXI6OnJlbW92ZU5vdGlmaWNhdGlvbk1hbmFnZXIpOgorICAgICAg
ICAoV1RSOjpXZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6c2ltdWxhdGVXZWJOb3RpZmljYXRpb25D
bGljayk6CisgICAgICAgIChXVFI6OldlYk5vdGlmaWNhdGlvblByb3ZpZGVyOjpyZXNldCk6Cisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5oOgorCiAy
MDE2LTA2LTI5ICBDYXJsb3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2FsaWEuY29t
PgogCiAgICAgICAgIFtHVEtdIEFkZCBtaXNzaW5nIGluc3RhbGwgZGVwZW5kZW5jeSBhZnRlciBy
MjAyNjE5CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVy
LmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDMy
MDI1NTQ4NGQ0ODExODdmZTc2YmViYjk1YWZlNzAyZWZkMmRkMWIuLmI0ZGJlMGVjNmM0MjVkNTk5
MzA2YWU4NGNkMWY5ZGU1MDAwM2MwZmMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvVGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwCkBAIC0xNzQ2LDcgKzE3NDYsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpk
aWRSZW1vdmVOYXZpZ2F0aW9uR2VzdHVyZVNuYXBzaG90KFdLUGFnZVJlZikKIAogdm9pZCBUZXN0
Q29udHJvbGxlcjo6c2ltdWxhdGVXZWJOb3RpZmljYXRpb25DbGljayh1aW50NjRfdCBub3RpZmlj
YXRpb25JRCkKIHsKLSAgICBtX3dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLnNpbXVsYXRlV2ViTm90
aWZpY2F0aW9uQ2xpY2sobm90aWZpY2F0aW9uSUQpOworICAgIG1fd2ViTm90aWZpY2F0aW9uUHJv
dmlkZXIuc2ltdWxhdGVXZWJOb3RpZmljYXRpb25DbGljayhtYWluV2ViVmlldygpLT5wYWdlKCks
IG5vdGlmaWNhdGlvbklEKTsKIH0KIAogdm9pZCBUZXN0Q29udHJvbGxlcjo6c2V0R2VvbG9jYXRp
b25QZXJtaXNzaW9uKGJvb2wgZW5hYmxlZCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5jcHAKaW5kZXggZGU2YWRlY2UwMTRhZWU0NWI2OGRh
NzcyNGI4MWRiM2QwMDRmNDg4Zi4uOGIzZWJjNGUxOGY4Y2FkZDdkYjJjZTg5ZWZiNmJhNDQ0MDUx
MjMxNCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9XZWJOb3RpZmljYXRpb25Q
cm92aWRlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9XZWJOb3RpZmljYXRpb25Q
cm92aWRlci5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgPFdlYktpdC9XS011dGFi
bGVBcnJheS5oPgogI2luY2x1ZGUgPFdlYktpdC9XS05vdGlmaWNhdGlvbi5oPgorI2luY2x1ZGUg
PFdlYktpdC9XS05vdGlmaWNhdGlvbk1hbmFnZXJQcml2YXRlLmg+CiAjaW5jbHVkZSA8V2ViS2l0
L1dLTnVtYmVyLmg+CiAjaW5jbHVkZSA8V2ViS2l0L1dLU2VjdXJpdHlPcmlnaW5SZWYuaD4KICNp
bmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgpAQCAtOTUsMTAgKzk2LDIzIEBAIHZvaWQgV2ViTm90
aWZpY2F0aW9uUHJvdmlkZXI6OnNob3dXZWJOb3RpZmljYXRpb24oV0tQYWdlUmVmIHBhZ2UsIFdL
Tm90aWZpY2F0aW9uCiAgICAgQVNTRVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05l
d0VudHJ5KTsKICAgICBhdXRvIGFkZFJlc3VsdDIgPSBtX293bmluZ01hbmFnZXIuc2V0KGlkLCBu
b3RpZmljYXRpb25NYW5hZ2VyKTsKICAgICBBU1NFUlRfVU5VU0VEKGFkZFJlc3VsdDIsIGFkZFJl
c3VsdDIuaXNOZXdFbnRyeSk7CisgICAgYXV0byBhZGRSZXN1bHQzID0gbV9sb2NhbFRvR2xvYmFs
Tm90aWZpY2F0aW9uSURNYXAuYWRkKHN0ZDo6bWFrZV9wYWlyKHBhZ2UsIFdLTm90aWZpY2F0aW9u
TWFuYWdlckdldExvY2FsSUQobm90aWZpY2F0aW9uTWFuYWdlciwgbm90aWZpY2F0aW9uKSksIGlk
KTsKKyAgICBBU1NFUlRfVU5VU0VEKGFkZFJlc3VsdDMsIGFkZFJlc3VsdDMuaXNOZXdFbnRyeSk7
CiAKICAgICBXS05vdGlmaWNhdGlvbk1hbmFnZXJQcm92aWRlckRpZFNob3dOb3RpZmljYXRpb24o
bm90aWZpY2F0aW9uTWFuYWdlciwgaWQpOwogfQogCitzdGF0aWMgdm9pZCByZW1vdmVHbG9iYWxJ
REZyb21JRE1hcChIYXNoTWFwPHN0ZDo6cGFpcjxXS1BhZ2VSZWYsIHVpbnQ2NF90PiwgdWludDY0
X3Q+JiBtYXAsIHVpbnQ2NF90IGlkKQoreworICAgIGZvciAoYXV0byBpdGVyID0gbWFwLmJlZ2lu
KCk7IGl0ZXIgIT0gbWFwLmVuZCgpOyArK2l0ZXIpIHsKKyAgICAgICAgaWYgKGl0ZXItPnZhbHVl
ID09IGlkKSB7CisgICAgICAgICAgICBtYXAucmVtb3ZlKGl0ZXIpOworICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCiB2
b2lkIFdlYk5vdGlmaWNhdGlvblByb3ZpZGVyOjpjbG9zZVdlYk5vdGlmaWNhdGlvbihXS05vdGlm
aWNhdGlvblJlZiBub3RpZmljYXRpb24pCiB7CiAgICAgdWludDY0X3QgaWQgPSBXS05vdGlmaWNh
dGlvbkdldElEKG5vdGlmaWNhdGlvbik7CkBAIC0xMTAsNiArMTI0LDggQEAgdm9pZCBXZWJOb3Rp
ZmljYXRpb25Qcm92aWRlcjo6Y2xvc2VXZWJOb3RpZmljYXRpb24oV0tOb3RpZmljYXRpb25SZWYg
bm90aWZpY2F0aW8KICAgICBBU1NFUlRfVU5VU0VEKHN1Y2Nlc3MsIHN1Y2Nlc3MpOwogICAgIG1f
b3duaW5nTWFuYWdlci5yZW1vdmUoaWQpOwogCisgICAgcmVtb3ZlR2xvYmFsSURGcm9tSURNYXAo
bV9sb2NhbFRvR2xvYmFsTm90aWZpY2F0aW9uSURNYXAsIGlkKTsKKwogICAgIFdLUmV0YWluUHRy
PFdLVUludDY0UmVmPiB3a0lEID0gV0tVSW50NjRDcmVhdGUoaWQpOwogICAgIFdLUmV0YWluUHRy
PFdLTXV0YWJsZUFycmF5UmVmPiBhcnJheShBZG9wdFdLLCBXS011dGFibGVBcnJheUNyZWF0ZSgp
KTsKICAgICBXS0FycmF5QXBwZW5kSXRlbShhcnJheS5nZXQoKSwgd2tJRC5nZXQoKSk7CkBAIC0x
MzIsNiArMTQ4LDcgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6cmVtb3ZlTm90aWZp
Y2F0aW9uTWFuYWdlcihXS05vdGlmaWNhdGlvbk1hbmFnZXJSZWYKICAgICBmb3IgKHVpbnQ2NF90
IG5vdGlmaWNhdGlvbklEIDogdG9SZW1vdmUpIHsKICAgICAgICAgYm9vbCBzdWNjZXNzID0gbV9v
d25pbmdNYW5hZ2VyLnJlbW92ZShub3RpZmljYXRpb25JRCk7CiAgICAgICAgIEFTU0VSVF9VTlVT
RUQoc3VjY2Vzcywgc3VjY2Vzcyk7CisgICAgICAgIHJlbW92ZUdsb2JhbElERnJvbUlETWFwKG1f
bG9jYWxUb0dsb2JhbE5vdGlmaWNhdGlvbklETWFwLCBub3RpZmljYXRpb25JRCk7CiAgICAgICAg
IFdLQXJyYXlBcHBlbmRJdGVtKGFycmF5LmdldCgpLCBhZG9wdFdLKFdLVUludDY0Q3JlYXRlKG5v
dGlmaWNhdGlvbklEKSkuZ2V0KCkpOwogICAgIH0KICAgICBXS05vdGlmaWNhdGlvbk1hbmFnZXJQ
cm92aWRlckRpZENsb3NlTm90aWZpY2F0aW9ucyhtYW5hZ2VyLCBhcnJheS5nZXQoKSk7CkBAIC0x
NDMsMTAgKzE2MCwxMiBAQCBXS0RpY3Rpb25hcnlSZWYgV2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6
Om5vdGlmaWNhdGlvblBlcm1pc3Npb25zKCkKICAgICByZXR1cm4gV0tNdXRhYmxlRGljdGlvbmFy
eUNyZWF0ZSgpOwogfQogCi12b2lkIFdlYk5vdGlmaWNhdGlvblByb3ZpZGVyOjpzaW11bGF0ZVdl
Yk5vdGlmaWNhdGlvbkNsaWNrKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKQordm9pZCBXZWJOb3Rp
ZmljYXRpb25Qcm92aWRlcjo6c2ltdWxhdGVXZWJOb3RpZmljYXRpb25DbGljayhXS1BhZ2VSZWYg
cGFnZSwgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCiB7Ci0gICAgQVNTRVJUKG1fb3duaW5nTWFu
YWdlci5jb250YWlucyhub3RpZmljYXRpb25JRCkpOwotICAgIFdLTm90aWZpY2F0aW9uTWFuYWdl
clByb3ZpZGVyRGlkQ2xpY2tOb3RpZmljYXRpb24obV9vd25pbmdNYW5hZ2VyLmdldChub3RpZmlj
YXRpb25JRCksIG5vdGlmaWNhdGlvbklEKTsKKyAgICBBU1NFUlQobV9sb2NhbFRvR2xvYmFsTm90
aWZpY2F0aW9uSURNYXAuY29udGFpbnMoc3RkOjptYWtlX3BhaXIocGFnZSwgbm90aWZpY2F0aW9u
SUQpKSk7CisgICAgYXV0byBnbG9iYWxJRCA9IG1fbG9jYWxUb0dsb2JhbE5vdGlmaWNhdGlvbklE
TWFwLmdldChzdGQ6Om1ha2VfcGFpcihwYWdlLCBub3RpZmljYXRpb25JRCkpOworICAgIEFTU0VS
VChtX293bmluZ01hbmFnZXIuY29udGFpbnMoZ2xvYmFsSUQpKTsKKyAgICBXS05vdGlmaWNhdGlv
bk1hbmFnZXJQcm92aWRlckRpZENsaWNrTm90aWZpY2F0aW9uKG1fb3duaW5nTWFuYWdlci5nZXQo
Z2xvYmFsSUQpLCBnbG9iYWxJRCk7CiB9CiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6
OnJlc2V0KCkKQEAgLTE2Miw2ICsxODEsNyBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvblByb3ZpZGVy
OjpyZXNldCgpCiAgICAgICAgIFdLTm90aWZpY2F0aW9uTWFuYWdlclByb3ZpZGVyRGlkQ2xvc2VO
b3RpZmljYXRpb25zKG5vdGlmaWNhdGlvblBhaXIua2V5LmdldCgpLCBhcnJheS5nZXQoKSk7CiAg
ICAgfQogICAgIG1fb3duaW5nTWFuYWdlci5jbGVhcigpOworICAgIG1fbG9jYWxUb0dsb2JhbE5v
dGlmaWNhdGlvbklETWFwLmNsZWFyKCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdUUgpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5oIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5oCmluZGV4IGQ4
NzI0YTkzYTZiMjhlMDEyMTE0MzlhMGQzNmU2YWM2MzA0ZGE1ZmEuLmNjZjhiMWJjZTk5NjIxNTZk
YzQ4NDI3NDBjM2E4MDkzOTdlMDEzYjggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmgKQEAgLTQ2LDEzICs0NiwxNSBAQCBwdWJsaWM6CiAg
ICAgdm9pZCByZW1vdmVOb3RpZmljYXRpb25NYW5hZ2VyKFdLTm90aWZpY2F0aW9uTWFuYWdlclJl
Zik7CiAgICAgV0tEaWN0aW9uYXJ5UmVmIG5vdGlmaWNhdGlvblBlcm1pc3Npb25zKCk7CiAKLSAg
ICB2b2lkIHNpbXVsYXRlV2ViTm90aWZpY2F0aW9uQ2xpY2sodWludDY0X3Qgbm90aWZpY2F0aW9u
SUQpOworICAgIHZvaWQgc2ltdWxhdGVXZWJOb3RpZmljYXRpb25DbGljayhXS1BhZ2VSZWYsIHVp
bnQ2NF90IG5vdGlmaWNhdGlvbklEKTsKICAgICB2b2lkIHJlc2V0KCk7CiAKIHByaXZhdGU6CiAg
ICAgLy8gSW52ZXJzZXMgb2YgZWFjaCBvdGhlci4KICAgICBIYXNoTWFwPFdLUmV0YWluUHRyPFdL
Tm90aWZpY2F0aW9uTWFuYWdlclJlZj4sIEhhc2hTZXQ8dWludDY0X3Q+PiBtX293bmVkTm90aWZp
Y2F0aW9uczsKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBXS05vdGlmaWNhdGlvbk1hbmFnZXJSZWY+
IG1fb3duaW5nTWFuYWdlcjsKKworICAgIEhhc2hNYXA8c3RkOjpwYWlyPFdLUGFnZVJlZiwgdWlu
dDY0X3Q+LCB1aW50NjRfdD4gbV9sb2NhbFRvR2xvYmFsTm90aWZpY2F0aW9uSURNYXA7CiB9Owog
CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggMzEzODVmOWEyZWQ4ODhmY2UxMTY1YTZjZWVmN2UyZDQyY2Q2MDk1NC4uZjM1
YmE5MTNhMjQ4MDI3YzBjY2U0NGI3N2IxNjEyY2M5Mjg2OTM3NSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDE2LTA3LTAxICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+
CisKKyAgICAgICAgUkVHUkVTU0lPTihyMTg5NjY4KTogTm90aWZpY2F0aW9uIHRlc3RzIGFyZSBm
bGFrZXkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
OTM3NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjI3NjA5OTA+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVj
dGF0aW9uczoKKwogMjAxNi0wNi0yOSAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUu
Y29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFNob3cgU2hhZG93IFJvb3QgdHlwZSBpbiBE
T00gVHJlZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAx
NjdlNGRjNGJkZTJkMzI5ZDI1ZDRkYTQ0ZWM2ZjYzNjRiMjIyMGU3Li41ZTg4ZmY1MmM4OGE2Yjg3
NGViMDI3NGExYjA0ZmY1NDcwNjIwZWIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVz
dEV4cGVjdGF0aW9ucwpAQCAtMTI1Nyw5ICsxMjU3LDYgQEAgd2Via2l0Lm9yZy9iLzE1MDIyNSBm
YXN0L2N1c3RvbS1lbGVtZW50cyBbIFBhc3MgXQogIyBNYXJraW5nIHRlc3QgYXMgZmxha3kgaW4g
RWwgQ2FwaXRhbgogd2Via2l0Lm9yZy9iLzE0OTgxOSBbIERlYnVnIEVsQ2FwaXRhbisgXSBjb21w
b3NpdGluZy92aWRlby92aWRlby1wb3N0ZXIuaHRtbCBbIFBhc3MgQ3Jhc2ggXQogCi0jIE1hcmtp
bmcgYXMgZmxha3kgYWdhaW4sIHBhdGNoIGRpZCBub3Qgd29yawotd2Via2l0Lm9yZy9iLzE0OTIx
OCBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvZXZlbnRzLmh0bWwgWyBQYXNzIENyYXNoIF0KLQog
IyBGbGFreSBvbiBNYWMKIHdlYmtpdC5vcmcvYi8xNDg0MzUgc3RvcmFnZS9kb21zdG9yYWdlL2V2
ZW50cy9iYXNpYy1ib2R5LWF0dHJpYnV0ZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIApkaWZmIC0t
Z2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDE4OTc0ZGNmNDQzNWY5N2Y4OGYxMmM0
YTJjYzMxM2UyOWEyNWFkZjguLmY3YjNlOWY1N2VjMjcxZWQ5MmI2Y2NhOWRlZjRjMDNlZTFhNjEx
NjIgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBA
QAorMjAxNi0wNy0wMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgor
CisgICAgICAgIFJFR1JFU1NJT04ocjE4OTY2OCk6IE5vdGlmaWNhdGlvbiB0ZXN0cyBhcmUgZmxh
a2V5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTkz
NzUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIyNzYwOTkwPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0Lnhjd29ya3NwYWNlL3hjc2hh
cmVkZGF0YS94Y3NjaGVtZXMvQWxsIFNvdXJjZS54Y3NjaGVtZToKKwogMjAxNi0wNi0yOCAgUGVy
IEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW1dpbl0gQ3VzdG9t
IGVsZW1lbnRzIHRlc3RzIGFyZSBmYWlsaW5nLgo=
</data>
<flag name="review"
          id="306405"
          type_id="1"
          status="+"
          setter="ap"
    />
    <flag name="commit-queue"
          id="306416"
          type_id="3"
          status="-"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>282620</attachid>
            <date>2016-07-01 17:55:10 -0700</date>
            <delta_ts>2016-07-01 18:00:30 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-159375-20160701175447.patch</filename>
            <type>text/plain</type>
            <size>14898</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyNzY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDVmNzI5NzBkOWFhNDg2
YWJjZDZhNDAxYTE3NGJiN2FmYzIwOWQyOS4uOTZkNmQzOWM4NTZmMDg1NGJmODQ1YjZjMWIyOTE2
Mzc5MjNjZGJlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE2LTA3LTAxICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lP
TihyMTg5NjY4KTogTm90aWZpY2F0aW9uIHRlc3RzIGFyZSBmbGFrZXkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1OTM3NQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMjI3NjA5OTA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5
YWtvdi4KKworICAgICAgICBJbXBsZW1lbnQgV0tOb3RpZmljYXRpb25NYW5hZ2VyR2V0TG9jYWxJ
RCgpLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSBlbnRyeSBpbiBUb29scy9DaGFuZ2VM
b2cuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tOb3RpZmljYXRpb25NYW5hZ2VyLmNw
cDoKKyAgICAgICAgKFdLTm90aWZpY2F0aW9uTWFuYWdlckdldExvY2FsSUQpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eTo6bm90aWZpY2F0
aW9uTG9jYWxJREZvclRlc3RpbmcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Ob3RpZmljYXRpb25z
L1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5oOgorICAgICAgICAqIFdlYktpdDIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxNi0wNy0wMSAgSmVyIE5vYmxlICA8amVyLm5vYmxl
QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyMDE0MDUpOiBGdWxsc2NyZWVuIHZp
ZGVvIG5vIGxvbmdlciBlbnRlcnMgbG93LXBvd2VyIG1vZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS05vdGlmaWNhdGlvbk1hbmFnZXIuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKaW5kZXgg
MWUwNTBhNmU2ZGI5YjQ0NWY2YmNhYWU0NTI1OWMyZWZjY2Q4M2ZkMi4uZTFiYTg3YzVhMzI2YTYy
ODE0NzViN2ZjYjkwOGU2MDZiZmI1MWU0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKQEAgLTI3LDYgKzI3
LDggQEAKICNpbmNsdWRlICJXS05vdGlmaWNhdGlvbk1hbmFnZXIuaCIKIAogI2luY2x1ZGUgIldL
QVBJQ2FzdC5oIgorI2luY2x1ZGUgIldLTm90aWZpY2F0aW9uTWFuYWdlclByaXZhdGUuaCIKKyNp
bmNsdWRlICJXZWJOb3RpZmljYXRpb24uaCIKICNpbmNsdWRlICJXZWJOb3RpZmljYXRpb25NYW5h
Z2VyUHJveHkuaCIKIAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKQEAgLTY1LDMgKzY3LDggQEAg
dm9pZCBXS05vdGlmaWNhdGlvbk1hbmFnZXJQcm92aWRlckRpZFJlbW92ZU5vdGlmaWNhdGlvblBv
bGljaWVzKFdLTm90aWZpY2F0aW9uTWEKIHsKICAgICB0b0ltcGwobWFuYWdlclJlZiktPnByb3Zp
ZGVyRGlkUmVtb3ZlTm90aWZpY2F0aW9uUG9saWNpZXModG9JbXBsKG9yaWdpbnMpKTsKIH0KKwor
dWludDY0X3QgV0tOb3RpZmljYXRpb25NYW5hZ2VyR2V0TG9jYWxJREZvclRlc3RpbmcoV0tOb3Rp
ZmljYXRpb25NYW5hZ2VyUmVmIG1hbmFnZXIsIFdLTm90aWZpY2F0aW9uUmVmIG5vdGlmaWNhdGlv
bikKK3sKKyAgICByZXR1cm4gdG9JbXBsKG1hbmFnZXIpLT5ub3RpZmljYXRpb25Mb2NhbElERm9y
VGVzdGluZyh0b0ltcGwobm90aWZpY2F0aW9uKSk7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOb3RpZmljYXRpb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOb3RpZmljYXRpb25NYW5hZ2VyLmgKaW5kZXggY2I4ODAz
NmJjMDNlZDRlNjk1ZGI1YmRlYTVhMWM2OTA4YzFmYmIxZi4uYjc4OTA5YzZjZTQyMDkzMzI5MTY3
NTBhNTQ2ZmMwZTEyMWE3YTk1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLTm90aWZpY2F0aW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XS05vdGlmaWNhdGlvbk1hbmFnZXIuaApAQCAtNDEsNiArNDEsNyBAQCBXS19F
WFBPUlQgdm9pZCBXS05vdGlmaWNhdGlvbk1hbmFnZXJQcm92aWRlckRpZENsaWNrTm90aWZpY2F0
aW9uKFdLTm90aWZpY2F0aW9uTQogV0tfRVhQT1JUIHZvaWQgV0tOb3RpZmljYXRpb25NYW5hZ2Vy
UHJvdmlkZXJEaWRDbG9zZU5vdGlmaWNhdGlvbnMoV0tOb3RpZmljYXRpb25NYW5hZ2VyUmVmIG1h
bmFnZXJSZWYsIFdLQXJyYXlSZWYgbm90aWZpY2F0aW9uSURzKTsKIFdLX0VYUE9SVCB2b2lkIFdL
Tm90aWZpY2F0aW9uTWFuYWdlclByb3ZpZGVyRGlkVXBkYXRlTm90aWZpY2F0aW9uUG9saWN5KFdL
Tm90aWZpY2F0aW9uTWFuYWdlclJlZiBtYW5hZ2VyUmVmLCBXS1NlY3VyaXR5T3JpZ2luUmVmIG9y
aWdpbiwgYm9vbCBhbGxvd2VkKTsKIFdLX0VYUE9SVCB2b2lkIFdLTm90aWZpY2F0aW9uTWFuYWdl
clByb3ZpZGVyRGlkUmVtb3ZlTm90aWZpY2F0aW9uUG9saWNpZXMoV0tOb3RpZmljYXRpb25NYW5h
Z2VyUmVmIG1hbmFnZXJSZWYsIFdLQXJyYXlSZWYgb3JpZ2lucyk7CitXS19FWFBPUlQgdWludDY0
X3QgV0tOb3RpZmljYXRpb25NYW5hZ2VyR2V0TG9jYWxJREZvclRlc3RpbmcoV0tOb3RpZmljYXRp
b25NYW5hZ2VyUmVmIG1hbmFnZXJSZWYsIFdLTm90aWZpY2F0aW9uUmVmIG5vdGlmaWNhdGlvbik7
CiAKICNpZmRlZiBfX2NwbHVzcGx1cwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFn
ZXJQcm94eS5jcHAKaW5kZXggNjI2MzUxNjg3MzIyMDE5NjdiODJkNGNlODhjMjhlOTMzYWZhODdi
OS4uYTAzNDAwN2Q3ZDRhMjIzNjMwYjFlMmEzOWJhOTRlYzRjNGNiMzBlMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFu
YWdlclByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9u
cy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuY3BwCkBAIC0yNTYsNCArMjU2LDE2IEBAIHZv
aWQgV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5Ojpwcm92aWRlckRpZFJlbW92ZU5vdGlmaWNh
dGlvblBvbGljaWVzKEFQSTo6QXJyCiAgICAgcHJvY2Vzc1Bvb2woKS0+c2VuZFRvQWxsUHJvY2Vz
c2VzKE1lc3NhZ2VzOjpXZWJOb3RpZmljYXRpb25NYW5hZ2VyOjpEaWRSZW1vdmVOb3RpZmljYXRp
b25EZWNpc2lvbnMob3JpZ2luU3RyaW5ncykpOwogfQogCit1aW50NjRfdCBXZWJOb3RpZmljYXRp
b25NYW5hZ2VyUHJveHk6Om5vdGlmaWNhdGlvbkxvY2FsSURGb3JUZXN0aW5nKFdlYk5vdGlmaWNh
dGlvbiogbm90aWZpY2F0aW9uKQoreworICAgIGlmICghbm90aWZpY2F0aW9uKQorICAgICAgICBy
ZXR1cm4gMDsKKworICAgIGF1dG8gaXQgPSBtX2dsb2JhbE5vdGlmaWNhdGlvbk1hcC5maW5kKG5v
dGlmaWNhdGlvbi0+bm90aWZpY2F0aW9uSUQoKSk7CisgICAgaWYgKGl0ID09IG1fZ2xvYmFsTm90
aWZpY2F0aW9uTWFwLmVuZCgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIHJldHVybiBpdC0+
dmFsdWUuc2Vjb25kOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFn
ZXJQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90
aWZpY2F0aW9uTWFuYWdlclByb3h5LmgKaW5kZXggNDRmNDZhOTBmY2RhYzYzY2FhY2FmMDE1MWYy
NWIzNmEzZGRiN2ZmYi4uZmNlMDdmNTc3OWEzMWFhYjllYmU1YWY1YjRiMGUzOTYzMzk0NzYwNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90
aWZpY2F0aW9uTWFuYWdlclByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05v
dGlmaWNhdGlvbnMvV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5LmgKQEAgLTY3LDYgKzY3LDgg
QEAgcHVibGljOgogICAgIHZvaWQgcHJvdmlkZXJEaWRVcGRhdGVOb3RpZmljYXRpb25Qb2xpY3ko
Y29uc3QgQVBJOjpTZWN1cml0eU9yaWdpbiosIGJvb2wgYWxsb3dlZCk7CiAgICAgdm9pZCBwcm92
aWRlckRpZFJlbW92ZU5vdGlmaWNhdGlvblBvbGljaWVzKEFQSTo6QXJyYXkqIG9yaWdpbnMpOwog
CisgICAgdWludDY0X3Qgbm90aWZpY2F0aW9uTG9jYWxJREZvclRlc3RpbmcoV2ViTm90aWZpY2F0
aW9uKik7CisKICAgICB1c2luZyBBUEk6Ok9iamVjdDo6cmVmOwogICAgIHVzaW5nIEFQSTo6T2Jq
ZWN0OjpkZXJlZjsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IGE3ZDk2NzY4OTFiYmY1YmVhMmU5M2I3YzZhZWI5OWNhZmNjNGY4NGEuLjE0NDhm
NDRmMDMxYmJiNGJkN2IxMjI0YzgxN2VmZTFlYjQwMjUzMjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAxNi0wNy0w
MSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFJF
R1JFU1NJT04ocjE4OTY2OCk6IE5vdGlmaWNhdGlvbiB0ZXN0cyBhcmUgZmxha2V5CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTkzNzUKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzIyNzYwOTkwPgorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQ
cm9za3VyeWFrb3YuCisKKyAgICAgICAgTm90aWZpY2F0aW9ucyBhcmUgb2JqZWN0cyB3aGljaCBt
dXN0IGV4aXN0IGluIGJvdGggdGhlIFVJIFByb2Nlc3MgYW5kIHRoZSBXZWIgUHJvY2Vzcy4gRWFj
aCBwcm9jZXNzCisgICAgICAgIGlkZW50aWZpZXMgYSBub3RpZmljYXRpb24gb2JqZWN0IGJ5IGEg
dW5pcXVlIElELiBXaGVuIHRoZSBXZWIgUHJvY2VzcyBzZW5kcyBhIG1lc3NhZ2UgcmVnYXJkaW5n
IGEKKyAgICAgICAgbm90aWZpY2F0aW9uIHRvIHRoZSBVSSBQcm9jZXNzLCB0aGUgVUkgUHJvY2Vz
cydzIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eSBob2xkcyBhIG1hcCBmcm9tCisgICAgICAg
IChQYWdlIElELCBXZWIgUHJvY2VzcyBub3RpZmljYXRpb24gSUQpIC0+IFVJIFByb2Nlc3Mgbm90
aWZpY2F0aW9uIElELiBUaGlzIHdvcmtzIGFzIGludGVuZGVkLgorCisgICAgICAgIE91ciB0ZXN0
cywgaG93ZXZlciwgaW5jbHVkZSBhbiBhZGRpdGlvbmFsIG1ldGhvZCwgc2ltdWxhdGVXZWJOb3Rp
ZmljYXRpb25DbGljaygpLCB3aGljaCBpcyBpbXBsZW1lbnRlZAorICAgICAgICBieSBXZWJLaXRU
ZXN0UnVubmVyIGluIHRoZSBXZWIgUHJvY2VzcyB2aWEgdGhlIEluamVjdGVkIEJ1bmRsZS4gVGhp
cyBtZXRob2QgaW52b2x2ZXMgc2VuZGluZyBhIG1lc3NhZ2UKKyAgICAgICAgdG8gdGhlIFVJIHBy
b2Nlc3MsIHRvIGhhbmRsZSB0aGUgc2ltdWxhdGVkIGNsaWNrLiBIb3dldmVyLCB0aGF0IFJQQyBk
aWRuJ3QgcGVyZm9ybSB0aGUgc2FtZSBsb2NhbCAtPgorICAgICAgICBnbG9iYWwgbm90aWZpY2F0
aW9uIElEIG1hcHBpbmcsIGNhdXNpbmcgdGhlIHdyb25nIG5vdGlmaWNhdGlvbiB0byBiZSBpbnZl
c3RpZ2F0ZWQuCisKKyAgICAgICAgVGhlIHNvbHV0aW9uIGlzIGZvciBXZWJOb3RpZmljYXRpb25Q
cm92aWRlciwgaW1wbGVtZW50ZWQgaW4gV2ViS2l0VGVzdFJ1bm5lciBpbiB0aGUgVUkgUHJvY2Vz
cywgdG8KKyAgICAgICAgbWFudWFsbHkgcGVyZm9ybSB0aGlzIHNhbWUgbWFwcGluZy4gTHVja2ls
eSwgdGhpcyBvYmplY3QgYWxyZWFkeSByZWNlaXZlcyBjYWxsYmFja3MgZXZlcnkgdGltZSBhCisg
ICAgICAgIG5vdGlmaWNhdGlvbiBpcyBjcmVhdGVkIG9yIGRlc3Ryb3llZC4gSG93ZXZlciwgYmVj
YXVzZSB0aGlzIG9iamVjdCBpcyBpbXBsZW1lbnRlZCBvdXRzaWRlIFdlYktpdCwKKyAgICAgICAg
aXQgaXNuJ3QgcHJpdnkgdG8gdGhlIGludGVybmFsIFdlYiBQcm9jZXNzIElEIHVzZWQgaW5zaWRl
IFdlYk5vdGlmaWNhdGlvbm1hbmFnZXJQcm94eS4gVGhlcmVmb3JlLAorICAgICAgICB0aGlzIHBh
dGNoIGFkZHMgYSBwcml2YXRlIHRlc3RpbmcgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyB0aGlzIGlu
dGVybmFsIElELiBPbmNlIGdpdmVuIHRoaXMgaW50ZW5hbCBJRCwKKyAgICAgICAgV2ViTm90aWZp
Y2F0aW9uUHJvdmlkZXIgY2FuIHByb3Blcmx5IG1hcCBiZXR3ZWVuIHRoZSBkaWZmZXJlbnQgSURz
LgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpydW5UZXN0aW5nU2VydmVyTG9vcCk6CisgICAgICAg
IChXVFI6OlRlc3RDb250cm9sbGVyOjpzaW11bGF0ZVdlYk5vdGlmaWNhdGlvbkNsaWNrKToKKyAg
ICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmNwcDoKKyAg
ICAgICAgKFdUUjo6V2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6OnNob3dXZWJOb3RpZmljYXRpb24p
OgorICAgICAgICAoV1RSOjpyZW1vdmVHbG9iYWxJREZyb21JRE1hcCk6CisgICAgICAgIChXVFI6
OldlYk5vdGlmaWNhdGlvblByb3ZpZGVyOjpjbG9zZVdlYk5vdGlmaWNhdGlvbik6CisgICAgICAg
IChXVFI6OldlYk5vdGlmaWNhdGlvblByb3ZpZGVyOjpyZW1vdmVOb3RpZmljYXRpb25NYW5hZ2Vy
KToKKyAgICAgICAgKFdUUjo6V2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6OnNpbXVsYXRlV2ViTm90
aWZpY2F0aW9uQ2xpY2spOgorICAgICAgICAoV1RSOjpXZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6
cmVzZXQpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvV2ViTm90aWZpY2F0aW9uUHJvdmlk
ZXIuaDoKKwogMjAxNi0wNy0wMSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4K
IAogICAgICAgICBTaW1wbGlmeSBMYXlvdXRUZXN0UmVsYXkKZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggMzIwMjU1NDg0ZDQ4MTE4N2ZlNzZiZWJiOTVhZmU3
MDJlZmQyZGQxYi4uYjRkYmUwZWM2YzQyNWQ1OTkzMDZhZTg0Y2QxZjlkZTUwMDAzYzBmYyAxMDA2
NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKQEAgLTE3NDYsNyArMTc0
Niw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmRpZFJlbW92ZU5hdmlnYXRpb25HZXN0dXJlU25h
cHNob3QoV0tQYWdlUmVmKQogCiB2b2lkIFRlc3RDb250cm9sbGVyOjpzaW11bGF0ZVdlYk5vdGlm
aWNhdGlvbkNsaWNrKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKQogewotICAgIG1fd2ViTm90aWZp
Y2F0aW9uUHJvdmlkZXIuc2ltdWxhdGVXZWJOb3RpZmljYXRpb25DbGljayhub3RpZmljYXRpb25J
RCk7CisgICAgbV93ZWJOb3RpZmljYXRpb25Qcm92aWRlci5zaW11bGF0ZVdlYk5vdGlmaWNhdGlv
bkNsaWNrKG1haW5XZWJWaWV3KCktPnBhZ2UoKSwgbm90aWZpY2F0aW9uSUQpOwogfQogCiB2b2lk
IFRlc3RDb250cm9sbGVyOjpzZXRHZW9sb2NhdGlvblBlcm1pc3Npb24oYm9vbCBlbmFibGVkKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9XZWJOb3RpZmljYXRpb25Qcm92aWRl
ci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmNw
cAppbmRleCBkZTZhZGVjZTAxNGFlZTQ1YjY4ZGE3NzI0YjgxZGIzZDAwNGY0ODhmLi44YjNlYmM0
ZTE4ZjhjYWRkN2RiMmNlODllZmI2YmE0NDQwNTEyMzE0IDEwMDY0NAotLS0gYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmNwcAorKysgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmNwcApAQCAtMjgsNiArMjgsNyBA
QAogCiAjaW5jbHVkZSA8V2ViS2l0L1dLTXV0YWJsZUFycmF5Lmg+CiAjaW5jbHVkZSA8V2ViS2l0
L1dLTm90aWZpY2F0aW9uLmg+CisjaW5jbHVkZSA8V2ViS2l0L1dLTm90aWZpY2F0aW9uTWFuYWdl
clByaXZhdGUuaD4KICNpbmNsdWRlIDxXZWJLaXQvV0tOdW1iZXIuaD4KICNpbmNsdWRlIDxXZWJL
aXQvV0tTZWN1cml0eU9yaWdpblJlZi5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CkBA
IC05NSwxMCArOTYsMjMgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6c2hvd1dlYk5v
dGlmaWNhdGlvbihXS1BhZ2VSZWYgcGFnZSwgV0tOb3RpZmljYXRpb24KICAgICBBU1NFUlRfVU5V
U0VEKGFkZFJlc3VsdCwgYWRkUmVzdWx0LmlzTmV3RW50cnkpOwogICAgIGF1dG8gYWRkUmVzdWx0
MiA9IG1fb3duaW5nTWFuYWdlci5zZXQoaWQsIG5vdGlmaWNhdGlvbk1hbmFnZXIpOwogICAgIEFT
U0VSVF9VTlVTRUQoYWRkUmVzdWx0MiwgYWRkUmVzdWx0Mi5pc05ld0VudHJ5KTsKKyAgICBhdXRv
IGFkZFJlc3VsdDMgPSBtX2xvY2FsVG9HbG9iYWxOb3RpZmljYXRpb25JRE1hcC5hZGQoc3RkOjpt
YWtlX3BhaXIocGFnZSwgV0tOb3RpZmljYXRpb25NYW5hZ2VyR2V0TG9jYWxJRChub3RpZmljYXRp
b25NYW5hZ2VyLCBub3RpZmljYXRpb24pKSwgaWQpOworICAgIEFTU0VSVF9VTlVTRUQoYWRkUmVz
dWx0MywgYWRkUmVzdWx0My5pc05ld0VudHJ5KTsKIAogICAgIFdLTm90aWZpY2F0aW9uTWFuYWdl
clByb3ZpZGVyRGlkU2hvd05vdGlmaWNhdGlvbihub3RpZmljYXRpb25NYW5hZ2VyLCBpZCk7CiB9
CiAKK3N0YXRpYyB2b2lkIHJlbW92ZUdsb2JhbElERnJvbUlETWFwKEhhc2hNYXA8c3RkOjpwYWly
PFdLUGFnZVJlZiwgdWludDY0X3Q+LCB1aW50NjRfdD4mIG1hcCwgdWludDY0X3QgaWQpCit7Cisg
ICAgZm9yIChhdXRvIGl0ZXIgPSBtYXAuYmVnaW4oKTsgaXRlciAhPSBtYXAuZW5kKCk7ICsraXRl
cikgeworICAgICAgICBpZiAoaXRlci0+dmFsdWUgPT0gaWQpIHsKKyAgICAgICAgICAgIG1hcC5y
ZW1vdmUoaXRlcik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9CisgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKIHZvaWQgV2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6
OmNsb3NlV2ViTm90aWZpY2F0aW9uKFdLTm90aWZpY2F0aW9uUmVmIG5vdGlmaWNhdGlvbikKIHsK
ICAgICB1aW50NjRfdCBpZCA9IFdLTm90aWZpY2F0aW9uR2V0SUQobm90aWZpY2F0aW9uKTsKQEAg
LTExMCw2ICsxMjQsOCBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvblByb3ZpZGVyOjpjbG9zZVdlYk5v
dGlmaWNhdGlvbihXS05vdGlmaWNhdGlvblJlZiBub3RpZmljYXRpbwogICAgIEFTU0VSVF9VTlVT
RUQoc3VjY2Vzcywgc3VjY2Vzcyk7CiAgICAgbV9vd25pbmdNYW5hZ2VyLnJlbW92ZShpZCk7CiAK
KyAgICByZW1vdmVHbG9iYWxJREZyb21JRE1hcChtX2xvY2FsVG9HbG9iYWxOb3RpZmljYXRpb25J
RE1hcCwgaWQpOworCiAgICAgV0tSZXRhaW5QdHI8V0tVSW50NjRSZWY+IHdrSUQgPSBXS1VJbnQ2
NENyZWF0ZShpZCk7CiAgICAgV0tSZXRhaW5QdHI8V0tNdXRhYmxlQXJyYXlSZWY+IGFycmF5KEFk
b3B0V0ssIFdLTXV0YWJsZUFycmF5Q3JlYXRlKCkpOwogICAgIFdLQXJyYXlBcHBlbmRJdGVtKGFy
cmF5LmdldCgpLCB3a0lELmdldCgpKTsKQEAgLTEzMiw2ICsxNDgsNyBAQCB2b2lkIFdlYk5vdGlm
aWNhdGlvblByb3ZpZGVyOjpyZW1vdmVOb3RpZmljYXRpb25NYW5hZ2VyKFdLTm90aWZpY2F0aW9u
TWFuYWdlclJlZgogICAgIGZvciAodWludDY0X3Qgbm90aWZpY2F0aW9uSUQgOiB0b1JlbW92ZSkg
ewogICAgICAgICBib29sIHN1Y2Nlc3MgPSBtX293bmluZ01hbmFnZXIucmVtb3ZlKG5vdGlmaWNh
dGlvbklEKTsKICAgICAgICAgQVNTRVJUX1VOVVNFRChzdWNjZXNzLCBzdWNjZXNzKTsKKyAgICAg
ICAgcmVtb3ZlR2xvYmFsSURGcm9tSURNYXAobV9sb2NhbFRvR2xvYmFsTm90aWZpY2F0aW9uSURN
YXAsIG5vdGlmaWNhdGlvbklEKTsKICAgICAgICAgV0tBcnJheUFwcGVuZEl0ZW0oYXJyYXkuZ2V0
KCksIGFkb3B0V0soV0tVSW50NjRDcmVhdGUobm90aWZpY2F0aW9uSUQpKS5nZXQoKSk7CiAgICAg
fQogICAgIFdLTm90aWZpY2F0aW9uTWFuYWdlclByb3ZpZGVyRGlkQ2xvc2VOb3RpZmljYXRpb25z
KG1hbmFnZXIsIGFycmF5LmdldCgpKTsKQEAgLTE0MywxMCArMTYwLDEyIEBAIFdLRGljdGlvbmFy
eVJlZiBXZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6bm90aWZpY2F0aW9uUGVybWlzc2lvbnMoKQog
ICAgIHJldHVybiBXS011dGFibGVEaWN0aW9uYXJ5Q3JlYXRlKCk7CiB9CiAKLXZvaWQgV2ViTm90
aWZpY2F0aW9uUHJvdmlkZXI6OnNpbXVsYXRlV2ViTm90aWZpY2F0aW9uQ2xpY2sodWludDY0X3Qg
bm90aWZpY2F0aW9uSUQpCit2b2lkIFdlYk5vdGlmaWNhdGlvblByb3ZpZGVyOjpzaW11bGF0ZVdl
Yk5vdGlmaWNhdGlvbkNsaWNrKFdLUGFnZVJlZiBwYWdlLCB1aW50NjRfdCBub3RpZmljYXRpb25J
RCkKIHsKLSAgICBBU1NFUlQobV9vd25pbmdNYW5hZ2VyLmNvbnRhaW5zKG5vdGlmaWNhdGlvbklE
KSk7Ci0gICAgV0tOb3RpZmljYXRpb25NYW5hZ2VyUHJvdmlkZXJEaWRDbGlja05vdGlmaWNhdGlv
bihtX293bmluZ01hbmFnZXIuZ2V0KG5vdGlmaWNhdGlvbklEKSwgbm90aWZpY2F0aW9uSUQpOwor
ICAgIEFTU0VSVChtX2xvY2FsVG9HbG9iYWxOb3RpZmljYXRpb25JRE1hcC5jb250YWlucyhzdGQ6
Om1ha2VfcGFpcihwYWdlLCBub3RpZmljYXRpb25JRCkpKTsKKyAgICBhdXRvIGdsb2JhbElEID0g
bV9sb2NhbFRvR2xvYmFsTm90aWZpY2F0aW9uSURNYXAuZ2V0KHN0ZDo6bWFrZV9wYWlyKHBhZ2Us
IG5vdGlmaWNhdGlvbklEKSk7CisgICAgQVNTRVJUKG1fb3duaW5nTWFuYWdlci5jb250YWlucyhn
bG9iYWxJRCkpOworICAgIFdLTm90aWZpY2F0aW9uTWFuYWdlclByb3ZpZGVyRGlkQ2xpY2tOb3Rp
ZmljYXRpb24obV9vd25pbmdNYW5hZ2VyLmdldChnbG9iYWxJRCksIGdsb2JhbElEKTsKIH0KIAog
dm9pZCBXZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6cmVzZXQoKQpAQCAtMTYyLDYgKzE4MSw3IEBA
IHZvaWQgV2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6OnJlc2V0KCkKICAgICAgICAgV0tOb3RpZmlj
YXRpb25NYW5hZ2VyUHJvdmlkZXJEaWRDbG9zZU5vdGlmaWNhdGlvbnMobm90aWZpY2F0aW9uUGFp
ci5rZXkuZ2V0KCksIGFycmF5LmdldCgpKTsKICAgICB9CiAgICAgbV9vd25pbmdNYW5hZ2VyLmNs
ZWFyKCk7CisgICAgbV9sb2NhbFRvR2xvYmFsTm90aWZpY2F0aW9uSURNYXAuY2xlYXIoKTsKIH0K
IAogfSAvLyBuYW1lc3BhY2UgV1RSCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L1dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1dlYk5v
dGlmaWNhdGlvblByb3ZpZGVyLmgKaW5kZXggZDg3MjRhOTNhNmIyOGUwMTIxMTQzOWEwZDM2ZTZh
YzYzMDRkYTVmYS4uY2NmOGIxYmNlOTk2MjE1NmRjNDg0Mjc0MGMzYTgwOTM5N2UwMTNiOCAxMDA2
NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5o
CisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuaApA
QCAtNDYsMTMgKzQ2LDE1IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlbW92ZU5vdGlmaWNhdGlvbk1h
bmFnZXIoV0tOb3RpZmljYXRpb25NYW5hZ2VyUmVmKTsKICAgICBXS0RpY3Rpb25hcnlSZWYgbm90
aWZpY2F0aW9uUGVybWlzc2lvbnMoKTsKIAotICAgIHZvaWQgc2ltdWxhdGVXZWJOb3RpZmljYXRp
b25DbGljayh1aW50NjRfdCBub3RpZmljYXRpb25JRCk7CisgICAgdm9pZCBzaW11bGF0ZVdlYk5v
dGlmaWNhdGlvbkNsaWNrKFdLUGFnZVJlZiwgdWludDY0X3Qgbm90aWZpY2F0aW9uSUQpOwogICAg
IHZvaWQgcmVzZXQoKTsKIAogcHJpdmF0ZToKICAgICAvLyBJbnZlcnNlcyBvZiBlYWNoIG90aGVy
LgogICAgIEhhc2hNYXA8V0tSZXRhaW5QdHI8V0tOb3RpZmljYXRpb25NYW5hZ2VyUmVmPiwgSGFz
aFNldDx1aW50NjRfdD4+IG1fb3duZWROb3RpZmljYXRpb25zOwogICAgIEhhc2hNYXA8dWludDY0
X3QsIFdLTm90aWZpY2F0aW9uTWFuYWdlclJlZj4gbV9vd25pbmdNYW5hZ2VyOworCisgICAgSGFz
aE1hcDxzdGQ6OnBhaXI8V0tQYWdlUmVmLCB1aW50NjRfdD4sIHVpbnQ2NF90PiBtX2xvY2FsVG9H
bG9iYWxOb3RpZmljYXRpb25JRE1hcDsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3NDJjNzc1MjE1ZTg0ZGVm
ZTM3NmZkODJjNjEzODgwNmYxMDIyYzI2Li4yYjE5YWUyNDFiNjllZGU2ZTY5ZDAzODBjODdlODNl
NTZjZDkwMTQwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTYtMDctMDEgIE15bGVzIEMuIE1h
eGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIxODk2
NjgpOiBOb3RpZmljYXRpb24gdGVzdHMgYXJlIGZsYWtleQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5Mzc1CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8yMjc2MDk5MD4KKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292Lgor
CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxh
dGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE2LTA3LTAxICBEZWFuIEphY2tz
b24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICAiaW1hZ2Utc3JjIiBzdXBwb3J0IGlzIG1p
c3NpbmcuIFdlIG9ubHkgc3VwcG9ydCAiLXdlYmtpdC1pbWFnZS1zcmMiCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZWRhYjBkNjk3ZmNhYzg0
NGQxZTY0N2ZkMjViNzJkMmM3M2I4NzVjOS4uNzA2ZDVmZGM1MDg0NWNhZGJiYmY0MTZmYWE5MTlh
YmU5NmQxOTU3ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMjc2LDggKzI3Niw2IEBAIHdlYmtpdC5vcmcvYi8xNTAwOTUgaHR0cC90ZXN0
cy94bWxodHRwcmVxdWVzdC94bWxodHRwcmVxdWVzdC1vdmVycmlkZW1pbWV0eXBlLWluCiAKIHdl
YmtpdC5vcmcvYi8xNTAyNDEgd2ViYXJjaGl2ZS9sb2FkaW5nL29iamVjdC5odG1sIFsgUGFzcyBD
cmFzaCBdIAogCi13ZWJraXQub3JnL2IvMTUwNzM2IGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9s
ZWdhY3kvZXZlbnRzLmh0bWwgWyBQYXNzIENyYXNoIF0KLQogd2Via2l0Lm9yZy9iLzE1MDk0MiBh
bmltYXRpb25zL211bHRpcGxlLWJhY2tncm91bmRzLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1
cmUgXQogCiB3ZWJraXQub3JnL2IvMTUxMDUzIGh0dHAvdGVzdHMvc2VjdXJpdHkvY3Jvc3MtZnJh
bWUtYWNjZXNzLXB1dC5odG1sIFsgUGFzcyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZDhhZmQ2YTc2ZDM0MTFiZWJlMjc1ZDUxNjQ0YmI5
N2IzZjI3MGM4Zi4uMjVlMjNlNDBmNTMzMDgwNDA3MDgwZDhhNmQzZjU0OGMyMDc2OTA0NSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEyNjMsOSArMTI2
Myw2IEBAIHdlYmtpdC5vcmcvYi8xNTAyMjUgZmFzdC9jdXN0b20tZWxlbWVudHMgWyBQYXNzIF0K
ICMgTWFya2luZyB0ZXN0IGFzIGZsYWt5IGluIEVsIENhcGl0YW4KIHdlYmtpdC5vcmcvYi8xNDk4
MTkgWyBEZWJ1ZyBFbENhcGl0YW4rIF0gY29tcG9zaXRpbmcvdmlkZW8vdmlkZW8tcG9zdGVyLmh0
bWwgWyBQYXNzIENyYXNoIF0KIAotIyBNYXJraW5nIGFzIGZsYWt5IGFnYWluLCBwYXRjaCBkaWQg
bm90IHdvcmsKLXdlYmtpdC5vcmcvYi8xNDkyMTggaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2V2
ZW50cy5odG1sIFsgUGFzcyBDcmFzaCBdCi0KICMgRmxha3kgb24gTWFjCiB3ZWJraXQub3JnL2Iv
MTQ4NDM1IHN0b3JhZ2UvZG9tc3RvcmFnZS9ldmVudHMvYmFzaWMtYm9keS1hdHRyaWJ1dGUuaHRt
bCBbIFBhc3MgRmFpbHVyZSBdCiAK
</data>
<flag name="review"
          id="306431"
          type_id="1"
          status="-"
          setter="mmaxfield"
    />
    <flag name="commit-queue"
          id="306432"
          type_id="3"
          status="-"
          setter="mmaxfield"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>282623</attachid>
            <date>2016-07-01 18:11:19 -0700</date>
            <delta_ts>2016-07-01 18:23:34 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-159375-20160701181056.patch</filename>
            <type>text/plain</type>
            <size>14850</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyNzY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDVmNzI5NzBkOWFhNDg2
YWJjZDZhNDAxYTE3NGJiN2FmYzIwOWQyOS4uOTZkNmQzOWM4NTZmMDg1NGJmODQ1YjZjMWIyOTE2
Mzc5MjNjZGJlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE2LTA3LTAxICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lP
TihyMTg5NjY4KTogTm90aWZpY2F0aW9uIHRlc3RzIGFyZSBmbGFrZXkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1OTM3NQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMjI3NjA5OTA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5
YWtvdi4KKworICAgICAgICBJbXBsZW1lbnQgV0tOb3RpZmljYXRpb25NYW5hZ2VyR2V0TG9jYWxJ
RCgpLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSBlbnRyeSBpbiBUb29scy9DaGFuZ2VM
b2cuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tOb3RpZmljYXRpb25NYW5hZ2VyLmNw
cDoKKyAgICAgICAgKFdLTm90aWZpY2F0aW9uTWFuYWdlckdldExvY2FsSUQpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eTo6bm90aWZpY2F0
aW9uTG9jYWxJREZvclRlc3RpbmcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Ob3RpZmljYXRpb25z
L1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5oOgorICAgICAgICAqIFdlYktpdDIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxNi0wNy0wMSAgSmVyIE5vYmxlICA8amVyLm5vYmxl
QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyMDE0MDUpOiBGdWxsc2NyZWVuIHZp
ZGVvIG5vIGxvbmdlciBlbnRlcnMgbG93LXBvd2VyIG1vZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS05vdGlmaWNhdGlvbk1hbmFnZXIuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKaW5kZXgg
MWUwNTBhNmU2ZGI5YjQ0NWY2YmNhYWU0NTI1OWMyZWZjY2Q4M2ZkMi4uNzBmMTVmMDJlY2VlYjAw
MTQ1OWE2NWYyZDRjOWVlNzZiMzYzZjA3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKQEAgLTI3LDYgKzI3
LDcgQEAKICNpbmNsdWRlICJXS05vdGlmaWNhdGlvbk1hbmFnZXIuaCIKIAogI2luY2x1ZGUgIldL
QVBJQ2FzdC5oIgorI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvbi5oIgogI2luY2x1ZGUgIldlYk5v
dGlmaWNhdGlvbk1hbmFnZXJQcm94eS5oIgogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwpAQCAt
NjUsMyArNjYsOCBAQCB2b2lkIFdLTm90aWZpY2F0aW9uTWFuYWdlclByb3ZpZGVyRGlkUmVtb3Zl
Tm90aWZpY2F0aW9uUG9saWNpZXMoV0tOb3RpZmljYXRpb25NYQogewogICAgIHRvSW1wbChtYW5h
Z2VyUmVmKS0+cHJvdmlkZXJEaWRSZW1vdmVOb3RpZmljYXRpb25Qb2xpY2llcyh0b0ltcGwob3Jp
Z2lucykpOwogfQorCit1aW50NjRfdCBXS05vdGlmaWNhdGlvbk1hbmFnZXJHZXRMb2NhbElERm9y
VGVzdGluZyhXS05vdGlmaWNhdGlvbk1hbmFnZXJSZWYgbWFuYWdlciwgV0tOb3RpZmljYXRpb25S
ZWYgbm90aWZpY2F0aW9uKQoreworICAgIHJldHVybiB0b0ltcGwobWFuYWdlciktPm5vdGlmaWNh
dGlvbkxvY2FsSURGb3JUZXN0aW5nKHRvSW1wbChub3RpZmljYXRpb24pKTsKK30KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS05vdGlmaWNhdGlvbk1hbmFnZXIu
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS05vdGlmaWNhdGlvbk1hbmFnZXIu
aAppbmRleCBjYjg4MDM2YmMwM2VkNGU2OTVkYjViZGVhNWExYzY5MDhjMWZiYjFmLi5iNzg5MDlj
NmNlNDIwOTMzMjkxNjc1MGE1NDZmYzBlMTIxYTdhOTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOb3RpZmljYXRpb25NYW5hZ2VyLmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTm90aWZpY2F0aW9uTWFuYWdlci5oCkBAIC00MSw2
ICs0MSw3IEBAIFdLX0VYUE9SVCB2b2lkIFdLTm90aWZpY2F0aW9uTWFuYWdlclByb3ZpZGVyRGlk
Q2xpY2tOb3RpZmljYXRpb24oV0tOb3RpZmljYXRpb25NCiBXS19FWFBPUlQgdm9pZCBXS05vdGlm
aWNhdGlvbk1hbmFnZXJQcm92aWRlckRpZENsb3NlTm90aWZpY2F0aW9ucyhXS05vdGlmaWNhdGlv
bk1hbmFnZXJSZWYgbWFuYWdlclJlZiwgV0tBcnJheVJlZiBub3RpZmljYXRpb25JRHMpOwogV0tf
RVhQT1JUIHZvaWQgV0tOb3RpZmljYXRpb25NYW5hZ2VyUHJvdmlkZXJEaWRVcGRhdGVOb3RpZmlj
YXRpb25Qb2xpY3koV0tOb3RpZmljYXRpb25NYW5hZ2VyUmVmIG1hbmFnZXJSZWYsIFdLU2VjdXJp
dHlPcmlnaW5SZWYgb3JpZ2luLCBib29sIGFsbG93ZWQpOwogV0tfRVhQT1JUIHZvaWQgV0tOb3Rp
ZmljYXRpb25NYW5hZ2VyUHJvdmlkZXJEaWRSZW1vdmVOb3RpZmljYXRpb25Qb2xpY2llcyhXS05v
dGlmaWNhdGlvbk1hbmFnZXJSZWYgbWFuYWdlclJlZiwgV0tBcnJheVJlZiBvcmlnaW5zKTsKK1dL
X0VYUE9SVCB1aW50NjRfdCBXS05vdGlmaWNhdGlvbk1hbmFnZXJHZXRMb2NhbElERm9yVGVzdGlu
ZyhXS05vdGlmaWNhdGlvbk1hbmFnZXJSZWYgbWFuYWdlclJlZiwgV0tOb3RpZmljYXRpb25SZWYg
bm90aWZpY2F0aW9uKTsKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2Vy
UHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90
aWZpY2F0aW9uTWFuYWdlclByb3h5LmNwcAppbmRleCA2MjYzNTE2ODczMjIwMTk2N2I4MmQ0Y2U4
OGMyOGU5MzNhZmE4N2I5Li5hMDM0MDA3ZDdkNGEyMjM2MzBiMWUyYTM5YmE5NGVjNGM0Y2IzMGUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJO
b3RpZmljYXRpb25NYW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHAKQEAgLTI1Niw0
ICsyNTYsMTYgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHk6OnByb3ZpZGVyRGlk
UmVtb3ZlTm90aWZpY2F0aW9uUG9saWNpZXMoQVBJOjpBcnIKICAgICBwcm9jZXNzUG9vbCgpLT5z
ZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OkRpZFJl
bW92ZU5vdGlmaWNhdGlvbkRlY2lzaW9ucyhvcmlnaW5TdHJpbmdzKSk7CiB9CiAKK3VpbnQ2NF90
IFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eTo6bm90aWZpY2F0aW9uTG9jYWxJREZvclRlc3Rp
bmcoV2ViTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24pCit7CisgICAgaWYgKCFub3RpZmljYXRp
b24pCisgICAgICAgIHJldHVybiAwOworCisgICAgYXV0byBpdCA9IG1fZ2xvYmFsTm90aWZpY2F0
aW9uTWFwLmZpbmQobm90aWZpY2F0aW9uLT5ub3RpZmljYXRpb25JRCgpKTsKKyAgICBpZiAoaXQg
PT0gbV9nbG9iYWxOb3RpZmljYXRpb25NYXAuZW5kKCkpCisgICAgICAgIHJldHVybiAwOworCisg
ICAgcmV0dXJuIGl0LT52YWx1ZS5zZWNvbmQ7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90
aWZpY2F0aW9uTWFuYWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuaAppbmRleCA0NGY0NmE5MGZjZGFj
NjNjYWFjYWYwMTUxZjI1YjM2YTNkZGI3ZmZiLi5mY2UwN2Y1Nzc5YTMxYWFiOWViZTVhZjViNGIw
ZTM5NjMzOTQ3NjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuaApA
QCAtNjcsNiArNjcsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBwcm92aWRlckRpZFVwZGF0ZU5vdGlm
aWNhdGlvblBvbGljeShjb25zdCBBUEk6OlNlY3VyaXR5T3JpZ2luKiwgYm9vbCBhbGxvd2VkKTsK
ICAgICB2b2lkIHByb3ZpZGVyRGlkUmVtb3ZlTm90aWZpY2F0aW9uUG9saWNpZXMoQVBJOjpBcnJh
eSogb3JpZ2lucyk7CiAKKyAgICB1aW50NjRfdCBub3RpZmljYXRpb25Mb2NhbElERm9yVGVzdGlu
ZyhXZWJOb3RpZmljYXRpb24qKTsKKwogICAgIHVzaW5nIEFQSTo6T2JqZWN0OjpyZWY7CiAgICAg
dXNpbmcgQVBJOjpPYmplY3Q6OmRlcmVmOwogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYTdkOTY3Njg5MWJiZjViZWEyZTkzYjdjNmFlYjk5Y2Fm
Y2M0Zjg0YS4uMTQ0OGY0NGYwMzFiYmI0YmQ3YjEyMjRjODE3ZWZlMWViNDAyNTMyNiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQw
IEBACisyMDE2LTA3LTAxICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+
CisKKyAgICAgICAgUkVHUkVTU0lPTihyMTg5NjY4KTogTm90aWZpY2F0aW9uIHRlc3RzIGFyZSBm
bGFrZXkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
OTM3NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjI3NjA5OTA+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KKworICAgICAgICBOb3RpZmljYXRpb25zIGFyZSBv
YmplY3RzIHdoaWNoIG11c3QgZXhpc3QgaW4gYm90aCB0aGUgVUkgUHJvY2VzcyBhbmQgdGhlIFdl
YiBQcm9jZXNzLiBFYWNoIHByb2Nlc3MKKyAgICAgICAgaWRlbnRpZmllcyBhIG5vdGlmaWNhdGlv
biBvYmplY3QgYnkgYSB1bmlxdWUgSUQuIFdoZW4gdGhlIFdlYiBQcm9jZXNzIHNlbmRzIGEgbWVz
c2FnZSByZWdhcmRpbmcgYQorICAgICAgICBub3RpZmljYXRpb24gdG8gdGhlIFVJIFByb2Nlc3Ms
IHRoZSBVSSBQcm9jZXNzJ3MgV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5IGhvbGRzIGEgbWFw
IGZyb20KKyAgICAgICAgKFBhZ2UgSUQsIFdlYiBQcm9jZXNzIG5vdGlmaWNhdGlvbiBJRCkgLT4g
VUkgUHJvY2VzcyBub3RpZmljYXRpb24gSUQuIFRoaXMgd29ya3MgYXMgaW50ZW5kZWQuCisKKyAg
ICAgICAgT3VyIHRlc3RzLCBob3dldmVyLCBpbmNsdWRlIGFuIGFkZGl0aW9uYWwgbWV0aG9kLCBz
aW11bGF0ZVdlYk5vdGlmaWNhdGlvbkNsaWNrKCksIHdoaWNoIGlzIGltcGxlbWVudGVkCisgICAg
ICAgIGJ5IFdlYktpdFRlc3RSdW5uZXIgaW4gdGhlIFdlYiBQcm9jZXNzIHZpYSB0aGUgSW5qZWN0
ZWQgQnVuZGxlLiBUaGlzIG1ldGhvZCBpbnZvbHZlcyBzZW5kaW5nIGEgbWVzc2FnZQorICAgICAg
ICB0byB0aGUgVUkgcHJvY2VzcywgdG8gaGFuZGxlIHRoZSBzaW11bGF0ZWQgY2xpY2suIEhvd2V2
ZXIsIHRoYXQgUlBDIGRpZG4ndCBwZXJmb3JtIHRoZSBzYW1lIGxvY2FsIC0+CisgICAgICAgIGds
b2JhbCBub3RpZmljYXRpb24gSUQgbWFwcGluZywgY2F1c2luZyB0aGUgd3Jvbmcgbm90aWZpY2F0
aW9uIHRvIGJlIGludmVzdGlnYXRlZC4KKworICAgICAgICBUaGUgc29sdXRpb24gaXMgZm9yIFdl
Yk5vdGlmaWNhdGlvblByb3ZpZGVyLCBpbXBsZW1lbnRlZCBpbiBXZWJLaXRUZXN0UnVubmVyIGlu
IHRoZSBVSSBQcm9jZXNzLCB0bworICAgICAgICBtYW51YWxseSBwZXJmb3JtIHRoaXMgc2FtZSBt
YXBwaW5nLiBMdWNraWx5LCB0aGlzIG9iamVjdCBhbHJlYWR5IHJlY2VpdmVzIGNhbGxiYWNrcyBl
dmVyeSB0aW1lIGEKKyAgICAgICAgbm90aWZpY2F0aW9uIGlzIGNyZWF0ZWQgb3IgZGVzdHJveWVk
LiBIb3dldmVyLCBiZWNhdXNlIHRoaXMgb2JqZWN0IGlzIGltcGxlbWVudGVkIG91dHNpZGUgV2Vi
S2l0LAorICAgICAgICBpdCBpc24ndCBwcml2eSB0byB0aGUgaW50ZXJuYWwgV2ViIFByb2Nlc3Mg
SUQgdXNlZCBpbnNpZGUgV2ViTm90aWZpY2F0aW9ubWFuYWdlclByb3h5LiBUaGVyZWZvcmUsCisg
ICAgICAgIHRoaXMgcGF0Y2ggYWRkcyBhIHByaXZhdGUgdGVzdGluZyBmdW5jdGlvbiB3aGljaCBy
ZXR1cm5zIHRoaXMgaW50ZXJuYWwgSUQuIE9uY2UgZ2l2ZW4gdGhpcyBpbnRlbmFsIElELAorICAg
ICAgICBXZWJOb3RpZmljYXRpb25Qcm92aWRlciBjYW4gcHJvcGVybHkgbWFwIGJldHdlZW4gdGhl
IGRpZmZlcmVudCBJRHMuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnJ1blRlc3RpbmdTZXJ2ZXJM
b29wKToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnNpbXVsYXRlV2ViTm90aWZpY2F0
aW9uQ2xpY2spOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvV2ViTm90aWZpY2F0aW9uUHJv
dmlkZXIuY3BwOgorICAgICAgICAoV1RSOjpXZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6c2hvd1dl
Yk5vdGlmaWNhdGlvbik6CisgICAgICAgIChXVFI6OnJlbW92ZUdsb2JhbElERnJvbUlETWFwKToK
KyAgICAgICAgKFdUUjo6V2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6OmNsb3NlV2ViTm90aWZpY2F0
aW9uKToKKyAgICAgICAgKFdUUjo6V2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6OnJlbW92ZU5vdGlm
aWNhdGlvbk1hbmFnZXIpOgorICAgICAgICAoV1RSOjpXZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6
c2ltdWxhdGVXZWJOb3RpZmljYXRpb25DbGljayk6CisgICAgICAgIChXVFI6OldlYk5vdGlmaWNh
dGlvblByb3ZpZGVyOjpyZXNldCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9XZWJOb3Rp
ZmljYXRpb25Qcm92aWRlci5oOgorCiAyMDE2LTA3LTAxICBBbGV4ZXkgUHJvc2t1cnlha292ICA8
YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFNpbXBsaWZ5IExheW91dFRlc3RSZWxheQpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCAzMjAyNTU0ODRkNDgxMTg3
ZmU3NmJlYmI5NWFmZTcwMmVmZDJkZDFiLi5iNGRiZTBlYzZjNDI1ZDU5OTMwNmFlODRjZDFmOWRl
NTAwMDNjMGZjIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9s
bGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApA
QCAtMTc0Niw3ICsxNzQ2LDcgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6ZGlkUmVtb3ZlTmF2aWdh
dGlvbkdlc3R1cmVTbmFwc2hvdChXS1BhZ2VSZWYpCiAKIHZvaWQgVGVzdENvbnRyb2xsZXI6OnNp
bXVsYXRlV2ViTm90aWZpY2F0aW9uQ2xpY2sodWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCiB7Ci0g
ICAgbV93ZWJOb3RpZmljYXRpb25Qcm92aWRlci5zaW11bGF0ZVdlYk5vdGlmaWNhdGlvbkNsaWNr
KG5vdGlmaWNhdGlvbklEKTsKKyAgICBtX3dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLnNpbXVsYXRl
V2ViTm90aWZpY2F0aW9uQ2xpY2sobWFpbldlYlZpZXcoKS0+cGFnZSgpLCBub3RpZmljYXRpb25J
RCk7CiB9CiAKIHZvaWQgVGVzdENvbnRyb2xsZXI6OnNldEdlb2xvY2F0aW9uUGVybWlzc2lvbihi
b29sIGVuYWJsZWQpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1dlYk5vdGlm
aWNhdGlvblByb3ZpZGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV2ViTm90aWZpY2F0
aW9uUHJvdmlkZXIuY3BwCmluZGV4IGRlNmFkZWNlMDE0YWVlNDViNjhkYTc3MjRiODFkYjNkMDA0
ZjQ4OGYuLmQ3Mjg3NmE3MzNjMDc5NGQwMTc4YmI1OWU2MzY5NjlmNDIxMDM2N2YgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuY3BwCisr
KyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuY3BwCkBA
IC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlIDxXZWJLaXQvV0tNdXRhYmxlQXJyYXkuaD4KICNp
bmNsdWRlIDxXZWJLaXQvV0tOb3RpZmljYXRpb24uaD4KKyNpbmNsdWRlIDxXZWJLaXQvV0tOb3Rp
ZmljYXRpb25NYW5hZ2VyLmg+CiAjaW5jbHVkZSA8V2ViS2l0L1dLTnVtYmVyLmg+CiAjaW5jbHVk
ZSA8V2ViS2l0L1dLU2VjdXJpdHlPcmlnaW5SZWYuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgpAQCAtOTUsMTAgKzk2LDIzIEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6OnNo
b3dXZWJOb3RpZmljYXRpb24oV0tQYWdlUmVmIHBhZ2UsIFdLTm90aWZpY2F0aW9uCiAgICAgQVNT
RVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKICAgICBhdXRvIGFk
ZFJlc3VsdDIgPSBtX293bmluZ01hbmFnZXIuc2V0KGlkLCBub3RpZmljYXRpb25NYW5hZ2VyKTsK
ICAgICBBU1NFUlRfVU5VU0VEKGFkZFJlc3VsdDIsIGFkZFJlc3VsdDIuaXNOZXdFbnRyeSk7Cisg
ICAgYXV0byBhZGRSZXN1bHQzID0gbV9sb2NhbFRvR2xvYmFsTm90aWZpY2F0aW9uSURNYXAuYWRk
KHN0ZDo6bWFrZV9wYWlyKHBhZ2UsIFdLTm90aWZpY2F0aW9uTWFuYWdlckdldExvY2FsSUQobm90
aWZpY2F0aW9uTWFuYWdlciwgbm90aWZpY2F0aW9uKSksIGlkKTsKKyAgICBBU1NFUlRfVU5VU0VE
KGFkZFJlc3VsdDMsIGFkZFJlc3VsdDMuaXNOZXdFbnRyeSk7CiAKICAgICBXS05vdGlmaWNhdGlv
bk1hbmFnZXJQcm92aWRlckRpZFNob3dOb3RpZmljYXRpb24obm90aWZpY2F0aW9uTWFuYWdlciwg
aWQpOwogfQogCitzdGF0aWMgdm9pZCByZW1vdmVHbG9iYWxJREZyb21JRE1hcChIYXNoTWFwPHN0
ZDo6cGFpcjxXS1BhZ2VSZWYsIHVpbnQ2NF90PiwgdWludDY0X3Q+JiBtYXAsIHVpbnQ2NF90IGlk
KQoreworICAgIGZvciAoYXV0byBpdGVyID0gbWFwLmJlZ2luKCk7IGl0ZXIgIT0gbWFwLmVuZCgp
OyArK2l0ZXIpIHsKKyAgICAgICAgaWYgKGl0ZXItPnZhbHVlID09IGlkKSB7CisgICAgICAgICAg
ICBtYXAucmVtb3ZlKGl0ZXIpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAg
fQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCiB2b2lkIFdlYk5vdGlmaWNhdGlvblBy
b3ZpZGVyOjpjbG9zZVdlYk5vdGlmaWNhdGlvbihXS05vdGlmaWNhdGlvblJlZiBub3RpZmljYXRp
b24pCiB7CiAgICAgdWludDY0X3QgaWQgPSBXS05vdGlmaWNhdGlvbkdldElEKG5vdGlmaWNhdGlv
bik7CkBAIC0xMTAsNiArMTI0LDggQEAgdm9pZCBXZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6Y2xv
c2VXZWJOb3RpZmljYXRpb24oV0tOb3RpZmljYXRpb25SZWYgbm90aWZpY2F0aW8KICAgICBBU1NF
UlRfVU5VU0VEKHN1Y2Nlc3MsIHN1Y2Nlc3MpOwogICAgIG1fb3duaW5nTWFuYWdlci5yZW1vdmUo
aWQpOwogCisgICAgcmVtb3ZlR2xvYmFsSURGcm9tSURNYXAobV9sb2NhbFRvR2xvYmFsTm90aWZp
Y2F0aW9uSURNYXAsIGlkKTsKKwogICAgIFdLUmV0YWluUHRyPFdLVUludDY0UmVmPiB3a0lEID0g
V0tVSW50NjRDcmVhdGUoaWQpOwogICAgIFdLUmV0YWluUHRyPFdLTXV0YWJsZUFycmF5UmVmPiBh
cnJheShBZG9wdFdLLCBXS011dGFibGVBcnJheUNyZWF0ZSgpKTsKICAgICBXS0FycmF5QXBwZW5k
SXRlbShhcnJheS5nZXQoKSwgd2tJRC5nZXQoKSk7CkBAIC0xMzIsNiArMTQ4LDcgQEAgdm9pZCBX
ZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6cmVtb3ZlTm90aWZpY2F0aW9uTWFuYWdlcihXS05vdGlm
aWNhdGlvbk1hbmFnZXJSZWYKICAgICBmb3IgKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEIDogdG9S
ZW1vdmUpIHsKICAgICAgICAgYm9vbCBzdWNjZXNzID0gbV9vd25pbmdNYW5hZ2VyLnJlbW92ZShu
b3RpZmljYXRpb25JRCk7CiAgICAgICAgIEFTU0VSVF9VTlVTRUQoc3VjY2Vzcywgc3VjY2Vzcyk7
CisgICAgICAgIHJlbW92ZUdsb2JhbElERnJvbUlETWFwKG1fbG9jYWxUb0dsb2JhbE5vdGlmaWNh
dGlvbklETWFwLCBub3RpZmljYXRpb25JRCk7CiAgICAgICAgIFdLQXJyYXlBcHBlbmRJdGVtKGFy
cmF5LmdldCgpLCBhZG9wdFdLKFdLVUludDY0Q3JlYXRlKG5vdGlmaWNhdGlvbklEKSkuZ2V0KCkp
OwogICAgIH0KICAgICBXS05vdGlmaWNhdGlvbk1hbmFnZXJQcm92aWRlckRpZENsb3NlTm90aWZp
Y2F0aW9ucyhtYW5hZ2VyLCBhcnJheS5nZXQoKSk7CkBAIC0xNDMsMTAgKzE2MCwxMiBAQCBXS0Rp
Y3Rpb25hcnlSZWYgV2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6Om5vdGlmaWNhdGlvblBlcm1pc3Np
b25zKCkKICAgICByZXR1cm4gV0tNdXRhYmxlRGljdGlvbmFyeUNyZWF0ZSgpOwogfQogCi12b2lk
IFdlYk5vdGlmaWNhdGlvblByb3ZpZGVyOjpzaW11bGF0ZVdlYk5vdGlmaWNhdGlvbkNsaWNrKHVp
bnQ2NF90IG5vdGlmaWNhdGlvbklEKQordm9pZCBXZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6c2lt
dWxhdGVXZWJOb3RpZmljYXRpb25DbGljayhXS1BhZ2VSZWYgcGFnZSwgdWludDY0X3Qgbm90aWZp
Y2F0aW9uSUQpCiB7Ci0gICAgQVNTRVJUKG1fb3duaW5nTWFuYWdlci5jb250YWlucyhub3RpZmlj
YXRpb25JRCkpOwotICAgIFdLTm90aWZpY2F0aW9uTWFuYWdlclByb3ZpZGVyRGlkQ2xpY2tOb3Rp
ZmljYXRpb24obV9vd25pbmdNYW5hZ2VyLmdldChub3RpZmljYXRpb25JRCksIG5vdGlmaWNhdGlv
bklEKTsKKyAgICBBU1NFUlQobV9sb2NhbFRvR2xvYmFsTm90aWZpY2F0aW9uSURNYXAuY29udGFp
bnMoc3RkOjptYWtlX3BhaXIocGFnZSwgbm90aWZpY2F0aW9uSUQpKSk7CisgICAgYXV0byBnbG9i
YWxJRCA9IG1fbG9jYWxUb0dsb2JhbE5vdGlmaWNhdGlvbklETWFwLmdldChzdGQ6Om1ha2VfcGFp
cihwYWdlLCBub3RpZmljYXRpb25JRCkpOworICAgIEFTU0VSVChtX293bmluZ01hbmFnZXIuY29u
dGFpbnMoZ2xvYmFsSUQpKTsKKyAgICBXS05vdGlmaWNhdGlvbk1hbmFnZXJQcm92aWRlckRpZENs
aWNrTm90aWZpY2F0aW9uKG1fb3duaW5nTWFuYWdlci5nZXQoZ2xvYmFsSUQpLCBnbG9iYWxJRCk7
CiB9CiAKIHZvaWQgV2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6OnJlc2V0KCkKQEAgLTE2Miw2ICsx
ODEsNyBAQCB2b2lkIFdlYk5vdGlmaWNhdGlvblByb3ZpZGVyOjpyZXNldCgpCiAgICAgICAgIFdL
Tm90aWZpY2F0aW9uTWFuYWdlclByb3ZpZGVyRGlkQ2xvc2VOb3RpZmljYXRpb25zKG5vdGlmaWNh
dGlvblBhaXIua2V5LmdldCgpLCBhcnJheS5nZXQoKSk7CiAgICAgfQogICAgIG1fb3duaW5nTWFu
YWdlci5jbGVhcigpOworICAgIG1fbG9jYWxUb0dsb2JhbE5vdGlmaWNhdGlvbklETWFwLmNsZWFy
KCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdUUgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9XZWJOb3RpZmljYXRpb25Qcm92aWRlci5oCmluZGV4IGQ4NzI0YTkzYTZiMjhlMDEyMTE0Mzlh
MGQzNmU2YWM2MzA0ZGE1ZmEuLmNjZjhiMWJjZTk5NjIxNTZkYzQ4NDI3NDBjM2E4MDkzOTdlMDEz
YjggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV2ViTm90aWZpY2F0aW9uUHJv
dmlkZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1dlYk5vdGlmaWNhdGlvblByb3Zp
ZGVyLmgKQEAgLTQ2LDEzICs0NiwxNSBAQCBwdWJsaWM6CiAgICAgdm9pZCByZW1vdmVOb3RpZmlj
YXRpb25NYW5hZ2VyKFdLTm90aWZpY2F0aW9uTWFuYWdlclJlZik7CiAgICAgV0tEaWN0aW9uYXJ5
UmVmIG5vdGlmaWNhdGlvblBlcm1pc3Npb25zKCk7CiAKLSAgICB2b2lkIHNpbXVsYXRlV2ViTm90
aWZpY2F0aW9uQ2xpY2sodWludDY0X3Qgbm90aWZpY2F0aW9uSUQpOworICAgIHZvaWQgc2ltdWxh
dGVXZWJOb3RpZmljYXRpb25DbGljayhXS1BhZ2VSZWYsIHVpbnQ2NF90IG5vdGlmaWNhdGlvbklE
KTsKICAgICB2b2lkIHJlc2V0KCk7CiAKIHByaXZhdGU6CiAgICAgLy8gSW52ZXJzZXMgb2YgZWFj
aCBvdGhlci4KICAgICBIYXNoTWFwPFdLUmV0YWluUHRyPFdLTm90aWZpY2F0aW9uTWFuYWdlclJl
Zj4sIEhhc2hTZXQ8dWludDY0X3Q+PiBtX293bmVkTm90aWZpY2F0aW9uczsKICAgICBIYXNoTWFw
PHVpbnQ2NF90LCBXS05vdGlmaWNhdGlvbk1hbmFnZXJSZWY+IG1fb3duaW5nTWFuYWdlcjsKKwor
ICAgIEhhc2hNYXA8c3RkOjpwYWlyPFdLUGFnZVJlZiwgdWludDY0X3Q+LCB1aW50NjRfdD4gbV9s
b2NhbFRvR2xvYmFsTm90aWZpY2F0aW9uSURNYXA7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTY5NmMxZmUw
YjVjM2ZjZjc5NGYzYTNkZWQxMTZkMmM1ZTMyN2UxMy4uNWU3NmEzNDk0MjNkNmJkZWVjN2E4YjQ4
ZjVlNzNlODhlOWJiMmMwNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE2LTA3LTAxICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lP
TihyMTg5NjY4KTogTm90aWZpY2F0aW9uIHRlc3RzIGFyZSBmbGFrZXkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1OTM3NQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMjI3NjA5OTA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5
YWtvdi4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxNi0wNy0wMSAgU2Fh
bSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KIAogICAgICAgICBmaXggIkFTU0VSVElPTiBG
QUlMRUQ6IGN1cnJlbnRPZmZzZXQoKSA+PSBjdXJyZW50TGluZVN0YXJ0T2Zmc2V0KCkiCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZWRhYjBk
Njk3ZmNhYzg0NGQxZTY0N2ZkMjViNzJkMmM3M2I4NzVjOS4uNzA2ZDVmZGM1MDg0NWNhZGJiYmY0
MTZmYWE5MTlhYmU5NmQxOTU3ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
VGVzdEV4cGVjdGF0aW9ucwpAQCAtMjc2LDggKzI3Niw2IEBAIHdlYmtpdC5vcmcvYi8xNTAwOTUg
aHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC94bWxodHRwcmVxdWVzdC1vdmVycmlkZW1pbWV0eXBl
LWluCiAKIHdlYmtpdC5vcmcvYi8xNTAyNDEgd2ViYXJjaGl2ZS9sb2FkaW5nL29iamVjdC5odG1s
IFsgUGFzcyBDcmFzaCBdIAogCi13ZWJraXQub3JnL2IvMTUwNzM2IGh0dHAvdGVzdHMvbm90aWZp
Y2F0aW9ucy9sZWdhY3kvZXZlbnRzLmh0bWwgWyBQYXNzIENyYXNoIF0KLQogd2Via2l0Lm9yZy9i
LzE1MDk0MiBhbmltYXRpb25zL211bHRpcGxlLWJhY2tncm91bmRzLmh0bWwgWyBQYXNzIEltYWdl
T25seUZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMTUxMDUzIGh0dHAvdGVzdHMvc2VjdXJpdHkv
Y3Jvc3MtZnJhbWUtYWNjZXNzLXB1dC5odG1sIFsgUGFzcyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZjEwNDRkYThhYmIyNzc0NGU5YzVh
YjNjNDNiN2E5MGI1NTgyNDBjOS4uMmZiMzUwOTk4MGRhMjgxOGEyZGI4M2QwNGNkMzBjYWY0NzBh
MTUxNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlv
bnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEy
NjMsOSArMTI2Myw2IEBAIHdlYmtpdC5vcmcvYi8xNTAyMjUgZmFzdC9jdXN0b20tZWxlbWVudHMg
WyBQYXNzIF0KICMgTWFya2luZyB0ZXN0IGFzIGZsYWt5IGluIEVsIENhcGl0YW4KIHdlYmtpdC5v
cmcvYi8xNDk4MTkgWyBEZWJ1ZyBFbENhcGl0YW4rIF0gY29tcG9zaXRpbmcvdmlkZW8vdmlkZW8t
cG9zdGVyLmh0bWwgWyBQYXNzIENyYXNoIF0KIAotIyBNYXJraW5nIGFzIGZsYWt5IGFnYWluLCBw
YXRjaCBkaWQgbm90IHdvcmsKLXdlYmtpdC5vcmcvYi8xNDkyMTggaHR0cC90ZXN0cy9ub3RpZmlj
YXRpb25zL2V2ZW50cy5odG1sIFsgUGFzcyBDcmFzaCBdCi0KICMgRmxha3kgb24gTWFjCiB3ZWJr
aXQub3JnL2IvMTQ4NDM1IHN0b3JhZ2UvZG9tc3RvcmFnZS9ldmVudHMvYmFzaWMtYm9keS1hdHRy
aWJ1dGUuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>282624</attachid>
            <date>2016-07-01 18:30:42 -0700</date>
            <delta_ts>2016-07-01 19:53:39 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-159375-20160701183018.patch</filename>
            <type>text/plain</type>
            <size>14860</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyNzY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDVmNzI5NzBkOWFhNDg2
YWJjZDZhNDAxYTE3NGJiN2FmYzIwOWQyOS4uOTZkNmQzOWM4NTZmMDg1NGJmODQ1YjZjMWIyOTE2
Mzc5MjNjZGJlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE2LTA3LTAxICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lP
TihyMTg5NjY4KTogTm90aWZpY2F0aW9uIHRlc3RzIGFyZSBmbGFrZXkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1OTM3NQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMjI3NjA5OTA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5
YWtvdi4KKworICAgICAgICBJbXBsZW1lbnQgV0tOb3RpZmljYXRpb25NYW5hZ2VyR2V0TG9jYWxJ
RCgpLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSBlbnRyeSBpbiBUb29scy9DaGFuZ2VM
b2cuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tOb3RpZmljYXRpb25NYW5hZ2VyLmNw
cDoKKyAgICAgICAgKFdLTm90aWZpY2F0aW9uTWFuYWdlckdldExvY2FsSUQpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eTo6bm90aWZpY2F0
aW9uTG9jYWxJREZvclRlc3RpbmcpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Ob3RpZmljYXRpb25z
L1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5oOgorICAgICAgICAqIFdlYktpdDIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxNi0wNy0wMSAgSmVyIE5vYmxlICA8amVyLm5vYmxl
QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyMDE0MDUpOiBGdWxsc2NyZWVuIHZp
ZGVvIG5vIGxvbmdlciBlbnRlcnMgbG93LXBvd2VyIG1vZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS05vdGlmaWNhdGlvbk1hbmFnZXIuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKaW5kZXgg
MWUwNTBhNmU2ZGI5YjQ0NWY2YmNhYWU0NTI1OWMyZWZjY2Q4M2ZkMi4uNzBmMTVmMDJlY2VlYjAw
MTQ1OWE2NWYyZDRjOWVlNzZiMzYzZjA3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLTm90aWZpY2F0aW9uTWFuYWdlci5jcHAKQEAgLTI3LDYgKzI3
LDcgQEAKICNpbmNsdWRlICJXS05vdGlmaWNhdGlvbk1hbmFnZXIuaCIKIAogI2luY2x1ZGUgIldL
QVBJQ2FzdC5oIgorI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvbi5oIgogI2luY2x1ZGUgIldlYk5v
dGlmaWNhdGlvbk1hbmFnZXJQcm94eS5oIgogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwpAQCAt
NjUsMyArNjYsOCBAQCB2b2lkIFdLTm90aWZpY2F0aW9uTWFuYWdlclByb3ZpZGVyRGlkUmVtb3Zl
Tm90aWZpY2F0aW9uUG9saWNpZXMoV0tOb3RpZmljYXRpb25NYQogewogICAgIHRvSW1wbChtYW5h
Z2VyUmVmKS0+cHJvdmlkZXJEaWRSZW1vdmVOb3RpZmljYXRpb25Qb2xpY2llcyh0b0ltcGwob3Jp
Z2lucykpOwogfQorCit1aW50NjRfdCBXS05vdGlmaWNhdGlvbk1hbmFnZXJHZXRMb2NhbElERm9y
VGVzdGluZyhXS05vdGlmaWNhdGlvbk1hbmFnZXJSZWYgbWFuYWdlciwgV0tOb3RpZmljYXRpb25S
ZWYgbm90aWZpY2F0aW9uKQoreworICAgIHJldHVybiB0b0ltcGwobWFuYWdlciktPm5vdGlmaWNh
dGlvbkxvY2FsSURGb3JUZXN0aW5nKHRvSW1wbChub3RpZmljYXRpb24pKTsKK30KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS05vdGlmaWNhdGlvbk1hbmFnZXIu
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS05vdGlmaWNhdGlvbk1hbmFnZXIu
aAppbmRleCBjYjg4MDM2YmMwM2VkNGU2OTVkYjViZGVhNWExYzY5MDhjMWZiYjFmLi5iNzg5MDlj
NmNlNDIwOTMzMjkxNjc1MGE1NDZmYzBlMTIxYTdhOTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOb3RpZmljYXRpb25NYW5hZ2VyLmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTm90aWZpY2F0aW9uTWFuYWdlci5oCkBAIC00MSw2
ICs0MSw3IEBAIFdLX0VYUE9SVCB2b2lkIFdLTm90aWZpY2F0aW9uTWFuYWdlclByb3ZpZGVyRGlk
Q2xpY2tOb3RpZmljYXRpb24oV0tOb3RpZmljYXRpb25NCiBXS19FWFBPUlQgdm9pZCBXS05vdGlm
aWNhdGlvbk1hbmFnZXJQcm92aWRlckRpZENsb3NlTm90aWZpY2F0aW9ucyhXS05vdGlmaWNhdGlv
bk1hbmFnZXJSZWYgbWFuYWdlclJlZiwgV0tBcnJheVJlZiBub3RpZmljYXRpb25JRHMpOwogV0tf
RVhQT1JUIHZvaWQgV0tOb3RpZmljYXRpb25NYW5hZ2VyUHJvdmlkZXJEaWRVcGRhdGVOb3RpZmlj
YXRpb25Qb2xpY3koV0tOb3RpZmljYXRpb25NYW5hZ2VyUmVmIG1hbmFnZXJSZWYsIFdLU2VjdXJp
dHlPcmlnaW5SZWYgb3JpZ2luLCBib29sIGFsbG93ZWQpOwogV0tfRVhQT1JUIHZvaWQgV0tOb3Rp
ZmljYXRpb25NYW5hZ2VyUHJvdmlkZXJEaWRSZW1vdmVOb3RpZmljYXRpb25Qb2xpY2llcyhXS05v
dGlmaWNhdGlvbk1hbmFnZXJSZWYgbWFuYWdlclJlZiwgV0tBcnJheVJlZiBvcmlnaW5zKTsKK1dL
X0VYUE9SVCB1aW50NjRfdCBXS05vdGlmaWNhdGlvbk1hbmFnZXJHZXRMb2NhbElERm9yVGVzdGlu
ZyhXS05vdGlmaWNhdGlvbk1hbmFnZXJSZWYgbWFuYWdlclJlZiwgV0tOb3RpZmljYXRpb25SZWYg
bm90aWZpY2F0aW9uKTsKIAogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2Vy
UHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90
aWZpY2F0aW9uTWFuYWdlclByb3h5LmNwcAppbmRleCA2MjYzNTE2ODczMjIwMTk2N2I4MmQ0Y2U4
OGMyOGU5MzNhZmE4N2I5Li5hMDM0MDA3ZDdkNGEyMjM2MzBiMWUyYTM5YmE5NGVjNGM0Y2IzMGUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJO
b3RpZmljYXRpb25NYW5hZ2VyUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9Ob3RpZmljYXRpb25zL1dlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eS5jcHAKQEAgLTI1Niw0
ICsyNTYsMTYgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHk6OnByb3ZpZGVyRGlk
UmVtb3ZlTm90aWZpY2F0aW9uUG9saWNpZXMoQVBJOjpBcnIKICAgICBwcm9jZXNzUG9vbCgpLT5z
ZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYk5vdGlmaWNhdGlvbk1hbmFnZXI6OkRpZFJl
bW92ZU5vdGlmaWNhdGlvbkRlY2lzaW9ucyhvcmlnaW5TdHJpbmdzKSk7CiB9CiAKK3VpbnQ2NF90
IFdlYk5vdGlmaWNhdGlvbk1hbmFnZXJQcm94eTo6bm90aWZpY2F0aW9uTG9jYWxJREZvclRlc3Rp
bmcoV2ViTm90aWZpY2F0aW9uKiBub3RpZmljYXRpb24pCit7CisgICAgaWYgKCFub3RpZmljYXRp
b24pCisgICAgICAgIHJldHVybiAwOworCisgICAgYXV0byBpdCA9IG1fZ2xvYmFsTm90aWZpY2F0
aW9uTWFwLmZpbmQobm90aWZpY2F0aW9uLT5ub3RpZmljYXRpb25JRCgpKTsKKyAgICBpZiAoaXQg
PT0gbV9nbG9iYWxOb3RpZmljYXRpb25NYXAuZW5kKCkpCisgICAgICAgIHJldHVybiAwOworCisg
ICAgcmV0dXJuIGl0LT52YWx1ZS5zZWNvbmQ7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMvV2ViTm90
aWZpY2F0aW9uTWFuYWdlclByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuaAppbmRleCA0NGY0NmE5MGZjZGFj
NjNjYWFjYWYwMTUxZjI1YjM2YTNkZGI3ZmZiLi5mY2UwN2Y1Nzc5YTMxYWFiOWViZTVhZjViNGIw
ZTM5NjMzOTQ3NjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTm90aWZp
Y2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucy9XZWJOb3RpZmljYXRpb25NYW5hZ2VyUHJveHkuaApA
QCAtNjcsNiArNjcsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBwcm92aWRlckRpZFVwZGF0ZU5vdGlm
aWNhdGlvblBvbGljeShjb25zdCBBUEk6OlNlY3VyaXR5T3JpZ2luKiwgYm9vbCBhbGxvd2VkKTsK
ICAgICB2b2lkIHByb3ZpZGVyRGlkUmVtb3ZlTm90aWZpY2F0aW9uUG9saWNpZXMoQVBJOjpBcnJh
eSogb3JpZ2lucyk7CiAKKyAgICB1aW50NjRfdCBub3RpZmljYXRpb25Mb2NhbElERm9yVGVzdGlu
ZyhXZWJOb3RpZmljYXRpb24qKTsKKwogICAgIHVzaW5nIEFQSTo6T2JqZWN0OjpyZWY7CiAgICAg
dXNpbmcgQVBJOjpPYmplY3Q6OmRlcmVmOwogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYTdkOTY3Njg5MWJiZjViZWEyZTkzYjdjNmFlYjk5Y2Fm
Y2M0Zjg0YS4uMTQ0OGY0NGYwMzFiYmI0YmQ3YjEyMjRjODE3ZWZlMWViNDAyNTMyNiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQw
IEBACisyMDE2LTA3LTAxICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+
CisKKyAgICAgICAgUkVHUkVTU0lPTihyMTg5NjY4KTogTm90aWZpY2F0aW9uIHRlc3RzIGFyZSBm
bGFrZXkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
OTM3NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjI3NjA5OTA+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KKworICAgICAgICBOb3RpZmljYXRpb25zIGFyZSBv
YmplY3RzIHdoaWNoIG11c3QgZXhpc3QgaW4gYm90aCB0aGUgVUkgUHJvY2VzcyBhbmQgdGhlIFdl
YiBQcm9jZXNzLiBFYWNoIHByb2Nlc3MKKyAgICAgICAgaWRlbnRpZmllcyBhIG5vdGlmaWNhdGlv
biBvYmplY3QgYnkgYSB1bmlxdWUgSUQuIFdoZW4gdGhlIFdlYiBQcm9jZXNzIHNlbmRzIGEgbWVz
c2FnZSByZWdhcmRpbmcgYQorICAgICAgICBub3RpZmljYXRpb24gdG8gdGhlIFVJIFByb2Nlc3Ms
IHRoZSBVSSBQcm9jZXNzJ3MgV2ViTm90aWZpY2F0aW9uTWFuYWdlclByb3h5IGhvbGRzIGEgbWFw
IGZyb20KKyAgICAgICAgKFBhZ2UgSUQsIFdlYiBQcm9jZXNzIG5vdGlmaWNhdGlvbiBJRCkgLT4g
VUkgUHJvY2VzcyBub3RpZmljYXRpb24gSUQuIFRoaXMgd29ya3MgYXMgaW50ZW5kZWQuCisKKyAg
ICAgICAgT3VyIHRlc3RzLCBob3dldmVyLCBpbmNsdWRlIGFuIGFkZGl0aW9uYWwgbWV0aG9kLCBz
aW11bGF0ZVdlYk5vdGlmaWNhdGlvbkNsaWNrKCksIHdoaWNoIGlzIGltcGxlbWVudGVkCisgICAg
ICAgIGJ5IFdlYktpdFRlc3RSdW5uZXIgaW4gdGhlIFdlYiBQcm9jZXNzIHZpYSB0aGUgSW5qZWN0
ZWQgQnVuZGxlLiBUaGlzIG1ldGhvZCBpbnZvbHZlcyBzZW5kaW5nIGEgbWVzc2FnZQorICAgICAg
ICB0byB0aGUgVUkgcHJvY2VzcywgdG8gaGFuZGxlIHRoZSBzaW11bGF0ZWQgY2xpY2suIEhvd2V2
ZXIsIHRoYXQgUlBDIGRpZG4ndCBwZXJmb3JtIHRoZSBzYW1lIGxvY2FsIC0+CisgICAgICAgIGds
b2JhbCBub3RpZmljYXRpb24gSUQgbWFwcGluZywgY2F1c2luZyB0aGUgd3Jvbmcgbm90aWZpY2F0
aW9uIHRvIGJlIGludmVzdGlnYXRlZC4KKworICAgICAgICBUaGUgc29sdXRpb24gaXMgZm9yIFdl
Yk5vdGlmaWNhdGlvblByb3ZpZGVyLCBpbXBsZW1lbnRlZCBpbiBXZWJLaXRUZXN0UnVubmVyIGlu
IHRoZSBVSSBQcm9jZXNzLCB0bworICAgICAgICBtYW51YWxseSBwZXJmb3JtIHRoaXMgc2FtZSBt
YXBwaW5nLiBMdWNraWx5LCB0aGlzIG9iamVjdCBhbHJlYWR5IHJlY2VpdmVzIGNhbGxiYWNrcyBl
dmVyeSB0aW1lIGEKKyAgICAgICAgbm90aWZpY2F0aW9uIGlzIGNyZWF0ZWQgb3IgZGVzdHJveWVk
LiBIb3dldmVyLCBiZWNhdXNlIHRoaXMgb2JqZWN0IGlzIGltcGxlbWVudGVkIG91dHNpZGUgV2Vi
S2l0LAorICAgICAgICBpdCBpc24ndCBwcml2eSB0byB0aGUgaW50ZXJuYWwgV2ViIFByb2Nlc3Mg
SUQgdXNlZCBpbnNpZGUgV2ViTm90aWZpY2F0aW9ubWFuYWdlclByb3h5LiBUaGVyZWZvcmUsCisg
ICAgICAgIHRoaXMgcGF0Y2ggYWRkcyBhIHByaXZhdGUgdGVzdGluZyBmdW5jdGlvbiB3aGljaCBy
ZXR1cm5zIHRoaXMgaW50ZXJuYWwgSUQuIE9uY2UgZ2l2ZW4gdGhpcyBpbnRlbmFsIElELAorICAg
ICAgICBXZWJOb3RpZmljYXRpb25Qcm92aWRlciBjYW4gcHJvcGVybHkgbWFwIGJldHdlZW4gdGhl
IGRpZmZlcmVudCBJRHMuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9s
bGVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnJ1blRlc3RpbmdTZXJ2ZXJM
b29wKToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnNpbXVsYXRlV2ViTm90aWZpY2F0
aW9uQ2xpY2spOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvV2ViTm90aWZpY2F0aW9uUHJv
dmlkZXIuY3BwOgorICAgICAgICAoV1RSOjpXZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6c2hvd1dl
Yk5vdGlmaWNhdGlvbik6CisgICAgICAgIChXVFI6OnJlbW92ZUdsb2JhbElERnJvbUlETWFwKToK
KyAgICAgICAgKFdUUjo6V2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6OmNsb3NlV2ViTm90aWZpY2F0
aW9uKToKKyAgICAgICAgKFdUUjo6V2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6OnJlbW92ZU5vdGlm
aWNhdGlvbk1hbmFnZXIpOgorICAgICAgICAoV1RSOjpXZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6
c2ltdWxhdGVXZWJOb3RpZmljYXRpb25DbGljayk6CisgICAgICAgIChXVFI6OldlYk5vdGlmaWNh
dGlvblByb3ZpZGVyOjpyZXNldCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9XZWJOb3Rp
ZmljYXRpb25Qcm92aWRlci5oOgorCiAyMDE2LTA3LTAxICBBbGV4ZXkgUHJvc2t1cnlha292ICA8
YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFNpbXBsaWZ5IExheW91dFRlc3RSZWxheQpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCAzMjAyNTU0ODRkNDgxMTg3
ZmU3NmJlYmI5NWFmZTcwMmVmZDJkZDFiLi5iNGRiZTBlYzZjNDI1ZDU5OTMwNmFlODRjZDFmOWRl
NTAwMDNjMGZjIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9s
bGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApA
QCAtMTc0Niw3ICsxNzQ2LDcgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6ZGlkUmVtb3ZlTmF2aWdh
dGlvbkdlc3R1cmVTbmFwc2hvdChXS1BhZ2VSZWYpCiAKIHZvaWQgVGVzdENvbnRyb2xsZXI6OnNp
bXVsYXRlV2ViTm90aWZpY2F0aW9uQ2xpY2sodWludDY0X3Qgbm90aWZpY2F0aW9uSUQpCiB7Ci0g
ICAgbV93ZWJOb3RpZmljYXRpb25Qcm92aWRlci5zaW11bGF0ZVdlYk5vdGlmaWNhdGlvbkNsaWNr
KG5vdGlmaWNhdGlvbklEKTsKKyAgICBtX3dlYk5vdGlmaWNhdGlvblByb3ZpZGVyLnNpbXVsYXRl
V2ViTm90aWZpY2F0aW9uQ2xpY2sobWFpbldlYlZpZXcoKS0+cGFnZSgpLCBub3RpZmljYXRpb25J
RCk7CiB9CiAKIHZvaWQgVGVzdENvbnRyb2xsZXI6OnNldEdlb2xvY2F0aW9uUGVybWlzc2lvbihi
b29sIGVuYWJsZWQpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1dlYk5vdGlm
aWNhdGlvblByb3ZpZGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV2ViTm90aWZpY2F0
aW9uUHJvdmlkZXIuY3BwCmluZGV4IGRlNmFkZWNlMDE0YWVlNDViNjhkYTc3MjRiODFkYjNkMDA0
ZjQ4OGYuLmIwMDliMzZhM2FjNGE1YTBmNTg1ZTFkZjViMTg4Njg2ZTZiYmMyMWMgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuY3BwCisr
KyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuY3BwCkBA
IC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlIDxXZWJLaXQvV0tNdXRhYmxlQXJyYXkuaD4KICNp
bmNsdWRlIDxXZWJLaXQvV0tOb3RpZmljYXRpb24uaD4KKyNpbmNsdWRlIDxXZWJLaXQvV0tOb3Rp
ZmljYXRpb25NYW5hZ2VyLmg+CiAjaW5jbHVkZSA8V2ViS2l0L1dLTnVtYmVyLmg+CiAjaW5jbHVk
ZSA8V2ViS2l0L1dLU2VjdXJpdHlPcmlnaW5SZWYuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9u
cy5oPgpAQCAtOTUsMTAgKzk2LDIzIEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6OnNo
b3dXZWJOb3RpZmljYXRpb24oV0tQYWdlUmVmIHBhZ2UsIFdLTm90aWZpY2F0aW9uCiAgICAgQVNT
RVJUX1VOVVNFRChhZGRSZXN1bHQsIGFkZFJlc3VsdC5pc05ld0VudHJ5KTsKICAgICBhdXRvIGFk
ZFJlc3VsdDIgPSBtX293bmluZ01hbmFnZXIuc2V0KGlkLCBub3RpZmljYXRpb25NYW5hZ2VyKTsK
ICAgICBBU1NFUlRfVU5VU0VEKGFkZFJlc3VsdDIsIGFkZFJlc3VsdDIuaXNOZXdFbnRyeSk7Cisg
ICAgYXV0byBhZGRSZXN1bHQzID0gbV9sb2NhbFRvR2xvYmFsTm90aWZpY2F0aW9uSURNYXAuYWRk
KHN0ZDo6bWFrZV9wYWlyKHBhZ2UsIFdLTm90aWZpY2F0aW9uTWFuYWdlckdldExvY2FsSURGb3JU
ZXN0aW5nKG5vdGlmaWNhdGlvbk1hbmFnZXIsIG5vdGlmaWNhdGlvbikpLCBpZCk7CisgICAgQVNT
RVJUX1VOVVNFRChhZGRSZXN1bHQzLCBhZGRSZXN1bHQzLmlzTmV3RW50cnkpOwogCiAgICAgV0tO
b3RpZmljYXRpb25NYW5hZ2VyUHJvdmlkZXJEaWRTaG93Tm90aWZpY2F0aW9uKG5vdGlmaWNhdGlv
bk1hbmFnZXIsIGlkKTsKIH0KIAorc3RhdGljIHZvaWQgcmVtb3ZlR2xvYmFsSURGcm9tSURNYXAo
SGFzaE1hcDxzdGQ6OnBhaXI8V0tQYWdlUmVmLCB1aW50NjRfdD4sIHVpbnQ2NF90PiYgbWFwLCB1
aW50NjRfdCBpZCkKK3sKKyAgICBmb3IgKGF1dG8gaXRlciA9IG1hcC5iZWdpbigpOyBpdGVyICE9
IG1hcC5lbmQoKTsgKytpdGVyKSB7CisgICAgICAgIGlmIChpdGVyLT52YWx1ZSA9PSBpZCkgewor
ICAgICAgICAgICAgbWFwLnJlbW92ZShpdGVyKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgfQorICAgIH0KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKwogdm9pZCBXZWJOb3Rp
ZmljYXRpb25Qcm92aWRlcjo6Y2xvc2VXZWJOb3RpZmljYXRpb24oV0tOb3RpZmljYXRpb25SZWYg
bm90aWZpY2F0aW9uKQogewogICAgIHVpbnQ2NF90IGlkID0gV0tOb3RpZmljYXRpb25HZXRJRChu
b3RpZmljYXRpb24pOwpAQCAtMTEwLDYgKzEyNCw4IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uUHJv
dmlkZXI6OmNsb3NlV2ViTm90aWZpY2F0aW9uKFdLTm90aWZpY2F0aW9uUmVmIG5vdGlmaWNhdGlv
CiAgICAgQVNTRVJUX1VOVVNFRChzdWNjZXNzLCBzdWNjZXNzKTsKICAgICBtX293bmluZ01hbmFn
ZXIucmVtb3ZlKGlkKTsKIAorICAgIHJlbW92ZUdsb2JhbElERnJvbUlETWFwKG1fbG9jYWxUb0ds
b2JhbE5vdGlmaWNhdGlvbklETWFwLCBpZCk7CisKICAgICBXS1JldGFpblB0cjxXS1VJbnQ2NFJl
Zj4gd2tJRCA9IFdLVUludDY0Q3JlYXRlKGlkKTsKICAgICBXS1JldGFpblB0cjxXS011dGFibGVB
cnJheVJlZj4gYXJyYXkoQWRvcHRXSywgV0tNdXRhYmxlQXJyYXlDcmVhdGUoKSk7CiAgICAgV0tB
cnJheUFwcGVuZEl0ZW0oYXJyYXkuZ2V0KCksIHdrSUQuZ2V0KCkpOwpAQCAtMTMyLDYgKzE0OCw3
IEBAIHZvaWQgV2ViTm90aWZpY2F0aW9uUHJvdmlkZXI6OnJlbW92ZU5vdGlmaWNhdGlvbk1hbmFn
ZXIoV0tOb3RpZmljYXRpb25NYW5hZ2VyUmVmCiAgICAgZm9yICh1aW50NjRfdCBub3RpZmljYXRp
b25JRCA6IHRvUmVtb3ZlKSB7CiAgICAgICAgIGJvb2wgc3VjY2VzcyA9IG1fb3duaW5nTWFuYWdl
ci5yZW1vdmUobm90aWZpY2F0aW9uSUQpOwogICAgICAgICBBU1NFUlRfVU5VU0VEKHN1Y2Nlc3Ms
IHN1Y2Nlc3MpOworICAgICAgICByZW1vdmVHbG9iYWxJREZyb21JRE1hcChtX2xvY2FsVG9HbG9i
YWxOb3RpZmljYXRpb25JRE1hcCwgbm90aWZpY2F0aW9uSUQpOwogICAgICAgICBXS0FycmF5QXBw
ZW5kSXRlbShhcnJheS5nZXQoKSwgYWRvcHRXSyhXS1VJbnQ2NENyZWF0ZShub3RpZmljYXRpb25J
RCkpLmdldCgpKTsKICAgICB9CiAgICAgV0tOb3RpZmljYXRpb25NYW5hZ2VyUHJvdmlkZXJEaWRD
bG9zZU5vdGlmaWNhdGlvbnMobWFuYWdlciwgYXJyYXkuZ2V0KCkpOwpAQCAtMTQzLDEwICsxNjAs
MTIgQEAgV0tEaWN0aW9uYXJ5UmVmIFdlYk5vdGlmaWNhdGlvblByb3ZpZGVyOjpub3RpZmljYXRp
b25QZXJtaXNzaW9ucygpCiAgICAgcmV0dXJuIFdLTXV0YWJsZURpY3Rpb25hcnlDcmVhdGUoKTsK
IH0KIAotdm9pZCBXZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6c2ltdWxhdGVXZWJOb3RpZmljYXRp
b25DbGljayh1aW50NjRfdCBub3RpZmljYXRpb25JRCkKK3ZvaWQgV2ViTm90aWZpY2F0aW9uUHJv
dmlkZXI6OnNpbXVsYXRlV2ViTm90aWZpY2F0aW9uQ2xpY2soV0tQYWdlUmVmIHBhZ2UsIHVpbnQ2
NF90IG5vdGlmaWNhdGlvbklEKQogewotICAgIEFTU0VSVChtX293bmluZ01hbmFnZXIuY29udGFp
bnMobm90aWZpY2F0aW9uSUQpKTsKLSAgICBXS05vdGlmaWNhdGlvbk1hbmFnZXJQcm92aWRlckRp
ZENsaWNrTm90aWZpY2F0aW9uKG1fb3duaW5nTWFuYWdlci5nZXQobm90aWZpY2F0aW9uSUQpLCBu
b3RpZmljYXRpb25JRCk7CisgICAgQVNTRVJUKG1fbG9jYWxUb0dsb2JhbE5vdGlmaWNhdGlvbklE
TWFwLmNvbnRhaW5zKHN0ZDo6bWFrZV9wYWlyKHBhZ2UsIG5vdGlmaWNhdGlvbklEKSkpOworICAg
IGF1dG8gZ2xvYmFsSUQgPSBtX2xvY2FsVG9HbG9iYWxOb3RpZmljYXRpb25JRE1hcC5nZXQoc3Rk
OjptYWtlX3BhaXIocGFnZSwgbm90aWZpY2F0aW9uSUQpKTsKKyAgICBBU1NFUlQobV9vd25pbmdN
YW5hZ2VyLmNvbnRhaW5zKGdsb2JhbElEKSk7CisgICAgV0tOb3RpZmljYXRpb25NYW5hZ2VyUHJv
dmlkZXJEaWRDbGlja05vdGlmaWNhdGlvbihtX293bmluZ01hbmFnZXIuZ2V0KGdsb2JhbElEKSwg
Z2xvYmFsSUQpOwogfQogCiB2b2lkIFdlYk5vdGlmaWNhdGlvblByb3ZpZGVyOjpyZXNldCgpCkBA
IC0xNjIsNiArMTgxLDcgQEAgdm9pZCBXZWJOb3RpZmljYXRpb25Qcm92aWRlcjo6cmVzZXQoKQog
ICAgICAgICBXS05vdGlmaWNhdGlvbk1hbmFnZXJQcm92aWRlckRpZENsb3NlTm90aWZpY2F0aW9u
cyhub3RpZmljYXRpb25QYWlyLmtleS5nZXQoKSwgYXJyYXkuZ2V0KCkpOwogICAgIH0KICAgICBt
X293bmluZ01hbmFnZXIuY2xlYXIoKTsKKyAgICBtX2xvY2FsVG9HbG9iYWxOb3RpZmljYXRpb25J
RE1hcC5jbGVhcigpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXVFIKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuaCBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvV2ViTm90aWZpY2F0aW9uUHJvdmlkZXIuaAppbmRleCBkODcyNGE5M2E2YjI4
ZTAxMjExNDM5YTBkMzZlNmFjNjMwNGRhNWZhLi5jY2Y4YjFiY2U5OTYyMTU2ZGM0ODQyNzQwYzNh
ODA5Mzk3ZTAxM2I4IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1dlYk5vdGlm
aWNhdGlvblByb3ZpZGVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9XZWJOb3RpZmlj
YXRpb25Qcm92aWRlci5oCkBAIC00NiwxMyArNDYsMTUgQEAgcHVibGljOgogICAgIHZvaWQgcmVt
b3ZlTm90aWZpY2F0aW9uTWFuYWdlcihXS05vdGlmaWNhdGlvbk1hbmFnZXJSZWYpOwogICAgIFdL
RGljdGlvbmFyeVJlZiBub3RpZmljYXRpb25QZXJtaXNzaW9ucygpOwogCi0gICAgdm9pZCBzaW11
bGF0ZVdlYk5vdGlmaWNhdGlvbkNsaWNrKHVpbnQ2NF90IG5vdGlmaWNhdGlvbklEKTsKKyAgICB2
b2lkIHNpbXVsYXRlV2ViTm90aWZpY2F0aW9uQ2xpY2soV0tQYWdlUmVmLCB1aW50NjRfdCBub3Rp
ZmljYXRpb25JRCk7CiAgICAgdm9pZCByZXNldCgpOwogCiBwcml2YXRlOgogICAgIC8vIEludmVy
c2VzIG9mIGVhY2ggb3RoZXIuCiAgICAgSGFzaE1hcDxXS1JldGFpblB0cjxXS05vdGlmaWNhdGlv
bk1hbmFnZXJSZWY+LCBIYXNoU2V0PHVpbnQ2NF90Pj4gbV9vd25lZE5vdGlmaWNhdGlvbnM7CiAg
ICAgSGFzaE1hcDx1aW50NjRfdCwgV0tOb3RpZmljYXRpb25NYW5hZ2VyUmVmPiBtX293bmluZ01h
bmFnZXI7CisKKyAgICBIYXNoTWFwPHN0ZDo6cGFpcjxXS1BhZ2VSZWYsIHVpbnQ2NF90PiwgdWlu
dDY0X3Q+IG1fbG9jYWxUb0dsb2JhbE5vdGlmaWNhdGlvbklETWFwOwogfTsKIAogfQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IGU2OTZjMWZlMGI1YzNmY2Y3OTRmM2EzZGVkMTE2ZDJjNWUzMjdlMTMuLjVlNzZhMzQ5NDIzZDZi
ZGVlYzdhOGI0OGY1ZTczZTg4ZTliYjJjMDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNi0w
Ny0wMSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAg
IFJFR1JFU1NJT04ocjE4OTY2OCk6IE5vdGlmaWNhdGlvbiB0ZXN0cyBhcmUgZmxha2V5CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTkzNzUKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzIyNzYwOTkwPgorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXhl
eSBQcm9za3VyeWFrb3YuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9u
czoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTYt
MDctMDEgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgZml4ICJB
U1NFUlRJT04gRkFJTEVEOiBjdXJyZW50T2Zmc2V0KCkgPj0gY3VycmVudExpbmVTdGFydE9mZnNl
dCgpIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IGVkYWIwZDY5N2ZjYWM4NDRkMWU2NDdmZDI1YjcyZDJjNzNiODc1YzkuLjcwNmQ1ZmRjNTA4
NDVjYWRiYmJmNDE2ZmFhOTE5YWJlOTZkMTk1N2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI3Niw4ICsyNzYsNiBAQCB3ZWJraXQub3Jn
L2IvMTUwMDk1IGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QveG1saHR0cHJlcXVlc3Qtb3ZlcnJp
ZGVtaW1ldHlwZS1pbgogCiB3ZWJraXQub3JnL2IvMTUwMjQxIHdlYmFyY2hpdmUvbG9hZGluZy9v
YmplY3QuaHRtbCBbIFBhc3MgQ3Jhc2ggXSAKIAotd2Via2l0Lm9yZy9iLzE1MDczNiBodHRwL3Rl
c3RzL25vdGlmaWNhdGlvbnMvbGVnYWN5L2V2ZW50cy5odG1sIFsgUGFzcyBDcmFzaCBdCi0KIHdl
YmtpdC5vcmcvYi8xNTA5NDIgYW5pbWF0aW9ucy9tdWx0aXBsZS1iYWNrZ3JvdW5kcy5odG1sIFsg
UGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KIAogd2Via2l0Lm9yZy9iLzE1MTA1MyBodHRwL3Rlc3Rz
L3NlY3VyaXR5L2Nyb3NzLWZyYW1lLWFjY2Vzcy1wdXQuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGYxMDQ0ZGE4YWJi
Mjc3NDRlOWM1YWIzYzQzYjdhOTBiNTU4MjQwYzkuLjJmYjM1MDk5ODBkYTI4MThhMmRiODNkMDRj
ZDMwY2FmNDcwYTE1MTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRp
b25zCkBAIC0xMjYzLDkgKzEyNjMsNiBAQCB3ZWJraXQub3JnL2IvMTUwMjI1IGZhc3QvY3VzdG9t
LWVsZW1lbnRzIFsgUGFzcyBdCiAjIE1hcmtpbmcgdGVzdCBhcyBmbGFreSBpbiBFbCBDYXBpdGFu
CiB3ZWJraXQub3JnL2IvMTQ5ODE5IFsgRGVidWcgRWxDYXBpdGFuKyBdIGNvbXBvc2l0aW5nL3Zp
ZGVvL3ZpZGVvLXBvc3Rlci5odG1sIFsgUGFzcyBDcmFzaCBdCiAKLSMgTWFya2luZyBhcyBmbGFr
eSBhZ2FpbiwgcGF0Y2ggZGlkIG5vdCB3b3JrCi13ZWJraXQub3JnL2IvMTQ5MjE4IGh0dHAvdGVz
dHMvbm90aWZpY2F0aW9ucy9ldmVudHMuaHRtbCBbIFBhc3MgQ3Jhc2ggXQotCiAjIEZsYWt5IG9u
IE1hYwogd2Via2l0Lm9yZy9iLzE0ODQzNSBzdG9yYWdlL2RvbXN0b3JhZ2UvZXZlbnRzL2Jhc2lj
LWJvZHktYXR0cmlidXRlLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>