<?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>162766</bug_id>
          
          <creation_ts>2016-09-29 19:03:37 -0700</creation_ts>
          <short_desc>Media controls are displayed in the incorrect state momentarily after switching between tabs playing media</short_desc>
          <delta_ts>2016-10-22 00:09:53 -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>Media</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="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jer.noble</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1235094</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2016-09-29 19:03:37 -0700</bug_when>
    <thetext>Media controls are displayed in the incorrect state momentarily after switching between tabs playing media</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235103</commentid>
    <comment_count>1</comment_count>
      <attachid>290287</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2016-09-29 20:09:10 -0700</bug_when>
    <thetext>Created attachment 290287
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235104</commentid>
    <comment_count>2</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2016-09-29 20:10:00 -0700</bug_when>
    <thetext>&lt;rdar://problem/28533523&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235711</commentid>
    <comment_count>3</comment_count>
      <attachid>290466</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2016-10-02 00:05:10 -0700</bug_when>
    <thetext>Created attachment 290466
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236057</commentid>
    <comment_count>4</comment_count>
      <attachid>290561</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2016-10-03 20:56:07 -0700</bug_when>
    <thetext>Created attachment 290561
Set Now Playing visibility after setting up info dictionary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236068</commentid>
    <comment_count>5</comment_count>
      <attachid>290561</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-10-03 22:17:55 -0700</bug_when>
    <thetext>Comment on attachment 290561
Set Now Playing visibility after setting up info dictionary.

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

&gt; Source/WebCore/platform/audio/mac/MediaSessionManagerMac.mm:205
&gt;  #endif
&gt; +
&gt; +    if (canLoad_MediaRemote_MRMediaRemoteSetNowPlayingVisibility())
&gt; +        MRMediaRemoteSetNowPlayingVisibility(MRMediaRemoteGetLocalOrigin(), MRNowPlayingClientVisibilityAlwaysVisible);

I think you need this just on the other side of the #endif.  r=me with that fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236170</commentid>
    <comment_count>6</comment_count>
      <attachid>290561</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2016-10-04 07:26:24 -0700</bug_when>
    <thetext>Comment on attachment 290561
Set Now Playing visibility after setting up info dictionary.

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

&gt;&gt; Source/WebCore/platform/audio/mac/MediaSessionManagerMac.mm:205
&gt;&gt; +        MRMediaRemoteSetNowPlayingVisibility(MRMediaRemoteGetLocalOrigin(), MRNowPlayingClientVisibilityAlwaysVisible);
&gt; 
&gt; I think you need this just on the other side of the #endif.  r=me with that fix.

Ah, that&apos;s right -- fixed. Good catch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236181</commentid>
    <comment_count>7</comment_count>
      <attachid>290602</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2016-10-04 08:03:12 -0700</bug_when>
    <thetext>Created attachment 290602
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1236191</commentid>
    <comment_count>8</comment_count>
      <attachid>290602</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-04 08:37:58 -0700</bug_when>
    <thetext>Comment on attachment 290602
Patch for landing

Clearing flags on attachment: 290602

Committed r206771: &lt;http://trac.webkit.org/changeset/206771&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290287</attachid>
            <date>2016-09-29 20:09:10 -0700</date>
            <delta_ts>2016-10-02 00:05:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162766-20160929200606.patch</filename>
            <type>text/plain</type>
            <size>8576</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2NjI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTM4YTc1NzcyYWIwNjgx
MzAwOWZhNzk2NTQ5OGM5NmVjZGJhOWM3Yi4uODVhNDc4MmI2MDM1MDdlNTc1YWMxN2FlMjhhYmRi
OGEwODYzYjU2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE2LTA5LTI5ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIE1lZGlhIGNvbnRy
b2xzIGFyZSBkaXNwbGF5ZWQgaW4gdGhlIGluY29ycmVjdCBzdGF0ZSBtb21lbnRhcmlseSBhZnRl
ciBzd2l0Y2hpbmcgYmV0d2VlbiB0YWJzIHBsYXlpbmcgbWVkaWEKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Mjc2NgorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMjg1MzM1MjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQ3VycmVudGx5LCB3ZSBhcmUgY2xlYXJpbmcgb3V0IE5vdyBQbGF5aW5nIGluZm8g
d2hlbmV2ZXIgdGhlcmUgaXMgbm8gbWVkaWEgc2Vzc2lvbiB0byBzaG93IGluIE5vdyBQbGF5aW5n
LiBXZQorICAgICAgICBhcmUgYWxzbyBhbHdheXMgc2V0dGluZyB0aGUgTm93IFBsYXlpbmcgcGxh
eWJhY2sgc3RhdGUgdG8gInN0b3BwZWQiIGluIHRoZSBzYW1lIHBsYWNlLiAgVGhpcyBpcyB3cm9u
ZywgYW5kCisgICAgICAgIGNhdXNlcyB0aGUgbmV4dCBOb3cgUGxheWluZyBzdGF0ZSBzaG93biBi
eSB0aGUgcHJvY2VzcyB0byBoYXZlIGFuIGFwcGFyZW50IGVsYXBzZWQgdGltZSBvZiAwIGFuZCBh
IHBsYXkgYnV0dG9uLgorCisgICAgICAgIEluc3RlYWQsIGlmIHRoZXJlIGlzIGEgbWVkaWEgc2Vz
c2lvbiB0aGF0IGlzIGEgY2FuZGlkYXRlIGZvciBOb3cgUGxheWluZyB3aGljaCB3ZSBkZWNpZGUg
bm90IHRvIHNob3cgb24gZ3JvdW5kcworICAgICAgICBvZiB0aGUgbWVkaWEgc2Vzc2lvbiBiZWlu
ZyBpbiB0aGUgYWN0aXZlIGZvcmVncm91bmQgdGFiLCB3ZSBzaG91bGQgbm90IGNsZWFyIG91dCB0
aGUgTm93IFBsYXlpbmcgaW5mbywgYW5kIGFsc28KKyAgICAgICAgdXBkYXRlIHRoZSBwbGF5YmFj
ayBzdGF0ZSB0byByZWZsZWN0IHRoZSBjdXJyZW50IHBsYXlpbmcgc3RhdGUgb2YgdGhlIHNlc3Np
b24uIElmIHRoZXJlIGlzIG5vIGNhbmRpZGF0ZSBtZWRpYQorICAgICAgICBzZXNzaW9uLCB0aGVu
IHdlIHNpbXBseSByZXZlcnQgdG8gY2xlYXJpbmcgb3V0IG91ciBOb3cgUGxheWluZyBpbmZvIGFu
ZCBtYXJraW5nIHBsYXliYWNrIGFzIHN0b3BwZWQuCisKKyAgICAgICAgVW5pdCB0ZXN0cyBhbmQg
aW5mcmFzdHJ1Y3R1cmUgdG8gY29tZSBpbiBhIGZ1dHVyZSBwYXRjaC4KKworICAgICAgICAqIGh0
bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1l
bnRTZXNzaW9uOjpjYW5TaG93Q29udHJvbHNNYW5hZ2VyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhRWxlbWVudFNlc3Npb246OmFsbG93c05vd1BsYXlpbmdDb250cm9scyk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpwYWdlQWxsb3dzTm93UGxheWluZ0NvbnRyb2xz
KTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVudFNlc3Npb24uaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oOgorICAgICAgICAoV2Vi
Q29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OmFsbG93c05vd1BsYXlpbmdDb250cm9scyk6Cisg
ICAgICAgICogcGxhdGZvcm0vYXVkaW8vbWFjL01lZGlhU2Vzc2lvbk1hbmFnZXJNYWMuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9hdWRpby9tYWMvTWVkaWFTZXNzaW9uTWFuYWdlck1hYy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbk1hbmFnZXJNYWM6Om5vd1BsYXlpbmdTZXNzaW9u
Q2FuZGlkYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbk1hbmFnZXJNYWM6OnVw
ZGF0ZU5vd1BsYXlpbmdJbmZvKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbk1hbmFn
ZXJNYWM6Om5vd1BsYXlpbmdFbGlnaWJsZVNlc3Npb24pOiBEZWxldGVkLgorCiAyMDE2LTA5LTI5
ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEVkaXRvcjo6Zmlu
ZFN0cmluZ0FuZFNjcm9sbFRvVmlzaWJsZSBpcyB1bnVzZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L01lZGlhRWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDhlODE0MDc4ODAwOWE4NTRiMjExYzBmZDQ2
NGE1ODMyZmI2ZWNjZDcuLjQ4NDdiOGJhMWJhYTIzNTFjZTU4NTBjNWY3NGQ0ZjZkNjAyMWM1ODQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtMjE4
LDExICsyMTgsNiBAQCBib29sIE1lZGlhRWxlbWVudFNlc3Npb246OnBhZ2VBbGxvd3NQbGF5YmFj
a0FmdGVyUmVzdW1pbmcoY29uc3QgSFRNTE1lZGlhRWxlbWVudAogCiBib29sIE1lZGlhRWxlbWVu
dFNlc3Npb246OmNhblNob3dDb250cm9sc01hbmFnZXIoUGxheWJhY2tDb250cm9sc1B1cnBvc2Ug
cHVycG9zZSkgY29uc3QKIHsKLSAgICBpZiAocHVycG9zZSA9PSBQbGF5YmFja0NvbnRyb2xzUHVy
cG9zZTo6Tm93UGxheWluZyAmJiAhcGFnZUFsbG93c05vd1BsYXlpbmdDb250cm9scygpKSB7Ci0g
ICAgICAgIExPRyhNZWRpYSwgIk1lZGlhRWxlbWVudFNlc3Npb246OmNhblNob3dDb250cm9sc01h
bmFnZXIgLSByZXR1cm5pbmcgRkFMU0U6IE5vdyBwbGF5aW5nIG5vdCBhbGxvd2VkIGluIGZvcmVn
cm91bmQgdGFiIik7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KICAgICBpZiAobV9l
bGVtZW50LmlzRnVsbHNjcmVlbigpKSB7CiAgICAgICAgIExPRyhNZWRpYSwgIk1lZGlhRWxlbWVu
dFNlc3Npb246OmNhblNob3dDb250cm9sc01hbmFnZXIgLSByZXR1cm5pbmcgVFJVRTogSXMgZnVs
bHNjcmVlbiIpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTczMyw3ICs3MjgsNyBAQCBib29s
IE1lZGlhRWxlbWVudFNlc3Npb246OnVwZGF0ZUlzTWFpbkNvbnRlbnQoKSBjb25zdAogICAgIHJl
dHVybiBtX2lzTWFpbkNvbnRlbnQ7CiB9CiAKLWJvb2wgTWVkaWFFbGVtZW50U2Vzc2lvbjo6cGFn
ZUFsbG93c05vd1BsYXlpbmdDb250cm9scygpIGNvbnN0Citib29sIE1lZGlhRWxlbWVudFNlc3Np
b246OmFsbG93c05vd1BsYXlpbmdDb250cm9scygpIGNvbnN0CiB7CiAgICAgYXV0byBwYWdlID0g
bV9lbGVtZW50LmRvY3VtZW50KCkucGFnZSgpOwogICAgIHJldHVybiBwYWdlICYmICFwYWdlLT5p
c1Zpc2libGVBbmRBY3RpdmUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFFbGVtZW50U2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNz
aW9uLmgKaW5kZXggMDVlODA2OGEyZDU1MTU1YWM1NzExMzhkYjI0OTM2ODZmNzAyZDA0ZS4uODkz
NWU2MDdhY2U4OTQ2ZGFhMzJjMDcxMmQ3OTRjNWM5YjM2NTk3NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKQEAgLTEyNCw2ICsxMjQsOCBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBpc0xhcmdlRW5vdWdoRm9yTWFpbkNvbnRlbnQoTWVkaWFTZXNzaW9uTWFpbkNvbnRl
bnRQdXJwb3NlKSBjb25zdDsKICAgICBkb3VibGUgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvblRp
bWUoKSBjb25zdDsKIAorICAgIGJvb2wgYWxsb3dzTm93UGxheWluZ0NvbnRyb2xzKCkgY29uc3Qg
b3ZlcnJpZGU7CisKIHByaXZhdGU6CiAKICNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUKQpAQCAtMTQwLDggKzE0Miw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCB1cGRhdGVJc01haW5D
b250ZW50KCkgY29uc3Q7CiAgICAgdm9pZCBtYWluQ29udGVudENoZWNrVGltZXJGaXJlZCgpOwog
Ci0gICAgYm9vbCBwYWdlQWxsb3dzTm93UGxheWluZ0NvbnRyb2xzKCkgY29uc3Q7Ci0KICAgICBI
VE1MTWVkaWFFbGVtZW50JiBtX2VsZW1lbnQ7CiAgICAgQmVoYXZpb3JSZXN0cmljdGlvbnMgbV9y
ZXN0cmljdGlvbnM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlv
L1BsYXRmb3JtTWVkaWFTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9Q
bGF0Zm9ybU1lZGlhU2Vzc2lvbi5oCmluZGV4IDc1NzBmNDdiYWY0NTVkYzEyMTVkODJhZWYyYjdk
NzJiZDRhNTZjZDEuLmE3MmIwOGRkM2Y2YjZhMDRhYmIwMGNmYjBkM2MyZTRiOTZlYzFmYzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNz
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNl
c3Npb24uaApAQCAtMTY4LDYgKzE2OCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcmVz
ZXRQbGF5YmFja1Nlc3Npb25TdGF0ZSgpIHsgfQogICAgIFN0cmluZyBzb3VyY2VBcHBsaWNhdGlv
bklkZW50aWZpZXIoKSBjb25zdDsKIAorICAgIHZpcnR1YWwgYm9vbCBhbGxvd3NOb3dQbGF5aW5n
Q29udHJvbHMoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgUGxh
dGZvcm1NZWRpYVNlc3Npb25DbGllbnQmIGNsaWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50
OyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9NZWRp
YVNlc3Npb25NYW5hZ2VyTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMv
TWVkaWFTZXNzaW9uTWFuYWdlck1hYy5oCmluZGV4IGY3Yzc4YzQxYjM3NmFiMGVmYWFiYzEwYzdm
ODMyYmY5MDEyN2QzZDQuLmQzZjc3NGQ2MzEzYjY5NTc1ZWJkYzNlMThlOTJlZDFlZjEyOTZmYTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9NZWRpYVNlc3Np
b25NYW5hZ2VyTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL01l
ZGlhU2Vzc2lvbk1hbmFnZXJNYWMuaApAQCAtNTMsNyArNTMsNyBAQCBwcml2YXRlOgogCiAgICAg
dm9pZCB1cGRhdGVOb3dQbGF5aW5nSW5mbygpOwogCi0gICAgUGxhdGZvcm1NZWRpYVNlc3Npb24q
IG5vd1BsYXlpbmdFbGlnaWJsZVNlc3Npb24oKTsKKyAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbiog
bm93UGxheWluZ1Nlc3Npb25DYW5kaWRhdGUoKTsKIAogICAgIGJvb2wgbV9ub3dQbGF5aW5nQWN0
aXZlIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNJbkJhY2tncm91bmQgeyBmYWxzZSB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL01lZGlhU2Vzc2lvbk1h
bmFnZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvTWVkaWFTZXNz
aW9uTWFuYWdlck1hYy5tbQppbmRleCAzZDZkOWU5NDczMDViMjA2YTM4MTI0YmRjNmE1MDNlZDg5
NDQ0NmRiLi5mMjMxYzBjZmJiYzYxYjE4MTUzZjFmZjFmNjU3ZTA3YjcwNjJkMzdhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvTWVkaWFTZXNzaW9uTWFuYWdl
ck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvTWVkaWFTZXNz
aW9uTWFuYWdlck1hYy5tbQpAQCAtMTEwLDcgKzExMCw3IEBAIHZvaWQgTWVkaWFTZXNzaW9uTWFu
YWdlck1hYzo6Y2xpZW50Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZChQbGF0Zm9ybU1lZGlhU2Vzc2lv
biYpCiAgICAgdXBkYXRlTm93UGxheWluZ0luZm8oKTsKIH0KIAotUGxhdGZvcm1NZWRpYVNlc3Np
b24qIE1lZGlhU2Vzc2lvbk1hbmFnZXJNYWM6Om5vd1BsYXlpbmdFbGlnaWJsZVNlc3Npb24oKQor
UGxhdGZvcm1NZWRpYVNlc3Npb24qIE1lZGlhU2Vzc2lvbk1hbmFnZXJNYWM6Om5vd1BsYXlpbmdT
ZXNzaW9uQ2FuZGlkYXRlKCkKIHsKICAgICBpZiAoYXV0byBlbGVtZW50ID0gSFRNTE1lZGlhRWxl
bWVudDo6YmVzdE1lZGlhRWxlbWVudEZvclNob3dpbmdQbGF5YmFja0NvbnRyb2xzTWFuYWdlcihN
ZWRpYUVsZW1lbnRTZXNzaW9uOjpQbGF5YmFja0NvbnRyb2xzUHVycG9zZTo6Tm93UGxheWluZykp
CiAgICAgICAgIHJldHVybiAmZWxlbWVudC0+bWVkaWFTZXNzaW9uKCk7CkBAIC0xMjQsMjMgKzEy
NCwzMCBAQCB2b2lkIE1lZGlhU2Vzc2lvbk1hbmFnZXJNYWM6OnVwZGF0ZU5vd1BsYXlpbmdJbmZv
KCkKICAgICBpZiAoIWlzTWVkaWFSZW1vdGVGcmFtZXdvcmtBdmFpbGFibGUoKSkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgY29uc3QgUGxhdGZvcm1NZWRpYVNlc3Npb24qIGN1cnJlbnRTZXNzaW9u
ID0gdGhpcy0+bm93UGxheWluZ0VsaWdpYmxlU2Vzc2lvbigpOworICAgIGNvbnN0IFBsYXRmb3Jt
TWVkaWFTZXNzaW9uKiBjdXJyZW50U2Vzc2lvbiA9IG5vd1BsYXlpbmdTZXNzaW9uQ2FuZGlkYXRl
KCk7CiAKICAgICBMT0coTWVkaWEsICJNZWRpYVNlc3Npb25NYW5hZ2VyTWFjOjp1cGRhdGVOb3dQ
bGF5aW5nSW5mbyAtIGN1cnJlbnRTZXNzaW9uID0gJXAiLCBjdXJyZW50U2Vzc2lvbik7CiAKLSAg
ICBpZiAoIWN1cnJlbnRTZXNzaW9uKSB7CisgICAgaWYgKCFjdXJyZW50U2Vzc2lvbiB8fCAhY3Vy
cmVudFNlc3Npb24tPmFsbG93c05vd1BsYXlpbmdDb250cm9scygpKSB7CiAgICAgICAgIGlmICht
X25vd1BsYXlpbmdBY3RpdmUpIHsKICAgICAgICAgICAgIGlmIChjYW5Mb2FkX01lZGlhUmVtb3Rl
X01STWVkaWFSZW1vdGVTZXROb3dQbGF5aW5nVmlzaWJpbGl0eSgpKQogICAgICAgICAgICAgICAg
IE1STWVkaWFSZW1vdGVTZXROb3dQbGF5aW5nVmlzaWJpbGl0eShNUk1lZGlhUmVtb3RlR2V0TG9j
YWxPcmlnaW4oKSwgTVJOb3dQbGF5aW5nQ2xpZW50VmlzaWJpbGl0eU5ldmVyVmlzaWJsZSk7CiAK
ICAgICAgICAgICAgIExPRyhNZWRpYSwgIk1lZGlhU2Vzc2lvbk1hbmFnZXJNYWM6OnVwZGF0ZU5v
d1BsYXlpbmdJbmZvIC0gY2xlYXJpbmcgbm93IHBsYXlpbmcgaW5mbyIpOwotICAgICAgICAgICAg
TVJNZWRpYVJlbW90ZVNldE5vd1BsYXlpbmdJbmZvKG51bGxwdHIpOworICAgICAgICAgICAgTVJQ
bGF5YmFja1N0YXRlIHBsYXliYWNrU3RhdGU7CisgICAgICAgICAgICBpZiAoY3VycmVudFNlc3Np
b24pCisgICAgICAgICAgICAgICAgcGxheWJhY2tTdGF0ZSA9IGN1cnJlbnRTZXNzaW9uLT5zdGF0
ZSgpID09IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpQbGF5aW5nID8ga01SUGxheWJhY2tTdGF0ZVBs
YXlpbmcgOiBrTVJQbGF5YmFja1N0YXRlUGF1c2VkOworICAgICAgICAgICAgZWxzZSB7CisgICAg
ICAgICAgICAgICAgcGxheWJhY2tTdGF0ZSA9IGtNUlBsYXliYWNrU3RhdGVTdG9wcGVkOworICAg
ICAgICAgICAgICAgIE1STWVkaWFSZW1vdGVTZXROb3dQbGF5aW5nSW5mbyhudWxscHRyKTsKKyAg
ICAgICAgICAgIH0KKwogICAgICAgICAgICAgbV9ub3dQbGF5aW5nQWN0aXZlID0gZmFsc2U7Ci0g
ICAgICAgICAgICBNUk1lZGlhUmVtb3RlU2V0Tm93UGxheWluZ0FwcGxpY2F0aW9uUGxheWJhY2tT
dGF0ZUZvck9yaWdpbihNUk1lZGlhUmVtb3RlR2V0TG9jYWxPcmlnaW4oKSwga01SUGxheWJhY2tT
dGF0ZVN0b3BwZWQsIGRpc3BhdGNoX2dldF9tYWluX3F1ZXVlKCksIF4oTVJNZWRpYVJlbW90ZUVy
cm9yIGVycm9yKSB7CisgICAgICAgICAgICBNUk1lZGlhUmVtb3RlU2V0Tm93UGxheWluZ0FwcGxp
Y2F0aW9uUGxheWJhY2tTdGF0ZUZvck9yaWdpbihNUk1lZGlhUmVtb3RlR2V0TG9jYWxPcmlnaW4o
KSwgcGxheWJhY2tTdGF0ZSwgZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXihNUk1lZGlhUmVt
b3RlRXJyb3IgZXJyb3IpIHsKICNpZiBMT0dfRElTQUJMRUQKICAgICAgICAgICAgICAgICBVTlVT
RURfUEFSQU0oZXJyb3IpOwogI2Vsc2UKLSAgICAgICAgICAgICAgICBMT0coTWVkaWEsICJNZWRp
YVNlc3Npb25NYW5hZ2VyTWFjOjp1cGRhdGVOb3dQbGF5aW5nSW5mbyAtIE1STWVkaWFSZW1vdGVT
ZXROb3dQbGF5aW5nQXBwbGljYXRpb25QbGF5YmFja1N0YXRlRm9yT3JpZ2luKHN0b3BwZWQpIGZh
aWxlZCB3aXRoIGVycm9yICV1ZCIsIGVycm9yKTsKKyAgICAgICAgICAgICAgICBMT0coTWVkaWEs
ICJNZWRpYVNlc3Npb25NYW5hZ2VyTWFjOjp1cGRhdGVOb3dQbGF5aW5nSW5mbyAtIE1STWVkaWFS
ZW1vdGVTZXROb3dQbGF5aW5nQXBwbGljYXRpb25QbGF5YmFja1N0YXRlRm9yT3JpZ2luKCV0dSkg
ZmFpbGVkIHdpdGggZXJyb3IgJXVkIiwgcGxheWJhY2tTdGF0ZSwgZXJyb3IpOwogI2VuZGlmCiAg
ICAgICAgICAgICB9KTsKICAgICAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290466</attachid>
            <date>2016-10-02 00:05:10 -0700</date>
            <delta_ts>2016-10-03 20:56:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162766-20161002000203.patch</filename>
            <type>text/plain</type>
            <size>28691</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2NjM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjUxZWZkMGIxMzhhMjFi
Njk0NzI4MDE3NzQwYWUzYzJjYWJmMGQ4NC4uN2MwYTlhMjMwZTI0NjAzZWRhZmVjZDFhZDJmNWQx
YmNjMWRlMmIyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE2LTEwLTAxICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIE1lZGlhIGNvbnRy
b2xzIGFyZSBkaXNwbGF5ZWQgaW4gdGhlIGluY29ycmVjdCBzdGF0ZSBtb21lbnRhcmlseSBhZnRl
ciBzd2l0Y2hpbmcgYmV0d2VlbiB0YWJzIHBsYXlpbmcgbWVkaWEKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Mjc2NgorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMjg1MzM1MjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQ3VycmVudGx5LCB3ZSBhcmUgY2xlYXJpbmcgb3V0IE5vdyBQbGF5aW5nIGluZm8g
d2hlbmV2ZXIgdGhlcmUgaXMgbm8gbWVkaWEgc2Vzc2lvbiB0byBzaG93IGluIE5vdyBQbGF5aW5n
LiBXZQorICAgICAgICBhcmUgYWxzbyBhbHdheXMgc2V0dGluZyB0aGUgTm93IFBsYXlpbmcgcGxh
eWJhY2sgc3RhdGUgdG8gInN0b3BwZWQiIGluIHRoZSBzYW1lIHBsYWNlLiAgVGhpcyBpcyB3cm9u
ZywgYW5kCisgICAgICAgIGNhdXNlcyB0aGUgbmV4dCBOb3cgUGxheWluZyBzdGF0ZSBzaG93biBi
eSB0aGUgcHJvY2VzcyB0byBoYXZlIGFuIGFwcGFyZW50IGVsYXBzZWQgdGltZSBvZiAwIGFuZCBh
IHBsYXkgYnV0dG9uLgorCisgICAgICAgIEluc3RlYWQsIGlmIHRoZXJlIGlzIGEgbWVkaWEgc2Vz
c2lvbiB0aGF0IGlzIGEgY2FuZGlkYXRlIGZvciBOb3cgUGxheWluZyB3aGljaCB3ZSBkZWNpZGUg
bm90IHRvIHNob3cgb24gZ3JvdW5kcworICAgICAgICBvZiB0aGUgbWVkaWEgc2Vzc2lvbiBiZWlu
ZyBpbiB0aGUgYWN0aXZlIGZvcmVncm91bmQgdGFiLCB3ZSBzaG91bGQgbm90IGNsZWFyIG91dCB0
aGUgTm93IFBsYXlpbmcgaW5mbywgYW5kIGFsc28KKyAgICAgICAgdXBkYXRlIHRoZSBwbGF5YmFj
ayBzdGF0ZSB0byByZWZsZWN0IHRoZSBjdXJyZW50IHBsYXlpbmcgc3RhdGUgb2YgdGhlIHNlc3Np
b24uIElmIHRoZXJlIGlzIG5vIGNhbmRpZGF0ZSBtZWRpYQorICAgICAgICBzZXNzaW9uLCB0aGVu
IHdlIHNpbXBseSByZXZlcnQgdG8gY2xlYXJpbmcgb3V0IG91ciBOb3cgUGxheWluZyBpbmZvIGFu
ZCBtYXJraW5nIHBsYXliYWNrIGFzIHN0b3BwZWQuCisKKyAgICAgICAgTmV3IDIgV2ViS2l0IEFQ
SSB0ZXN0cyBpbiBOb3dQbGF5aW5nQ29udHJvbHNUZXN0czogTm93UGxheWluZ0NvbnRyb2xzSGlk
ZUFmdGVyU2hvd2luZ1ByZXNlcnZlc0luZm8gYW5kCisgICAgICAgIE5vd1BsYXlpbmdDb250cm9s
c0NsZWFySW5mb0FmdGVyU2Vzc2lvbklzTm9Mb25nZXJWYWxpZC4KKworICAgICAgICAqIGh0bWwv
TWVkaWFFbGVtZW50U2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRT
ZXNzaW9uOjpjYW5TaG93Q29udHJvbHNNYW5hZ2VyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
RWxlbWVudFNlc3Npb246OmFsbG93c05vd1BsYXlpbmdDb250cm9scyk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpwYWdlQWxsb3dzTm93UGxheWluZ0NvbnRyb2xzKTog
RGVsZXRlZC4KKyAgICAgICAgKiBodG1sL01lZGlhRWxlbWVudFNlc3Npb24uaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oOgorICAgICAgICAoV2ViQ29y
ZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OmFsbG93c05vd1BsYXlpbmdDb250cm9scyk6CisgICAg
ICAgICogcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyLmg6CisgICAg
ICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6Omxhc3RVcGRhdGVkTm93
UGxheWluZ1RpdGxlKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFu
YWdlcjo6bGFzdFVwZGF0ZWROb3dQbGF5aW5nRHVyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpsYXN0VXBkYXRlZE5vd1BsYXlpbmdFbGFwc2Vk
VGltZSk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6Omhh
c0FjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9h
dWRpby9tYWMvTWVkaWFTZXNzaW9uTWFuYWdlck1hYy5oOgorICAgICAgICAqIHBsYXRmb3JtL2F1
ZGlvL21hYy9NZWRpYVNlc3Npb25NYW5hZ2VyTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFTZXNzaW9uTWFuYWdlck1hYzo6bm93UGxheWluZ1Nlc3Npb25DYW5kaWRhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uTWFuYWdlck1hYzo6dXBkYXRlTm93UGxheWluZ0luZm8p
OgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uTWFuYWdlck1hYzo6bm93UGxheWluZ0Vs
aWdpYmxlU2Vzc2lvbik6IERlbGV0ZWQuCisKIDIwMTYtMDktMzAgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgSW1hZ2VEYXRhLmRhdGEg
YXR0cmlidXRlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYTRmMmMzNjVhMDhhMmNkOWUwOGJmMDdiMTEwZmVlYjcy
Y2Y4ZTJhYi4uNTcxYTMzNGQzZmE1ZTI3NTMzNzFiZWQzYTlmZDUxMDdjNDE2ODVkNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE2LTEwLTAxICBXZW5zb24gSHNpZWggIDx3ZW5zb25f
aHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIE1lZGlhIGNvbnRyb2xzIGFyZSBkaXNwbGF5ZWQg
aW4gdGhlIGluY29ycmVjdCBzdGF0ZSBtb21lbnRhcmlseSBhZnRlciBzd2l0Y2hpbmcgYmV0d2Vl
biB0YWJzIHBsYXlpbmcgbWVkaWEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2Mjc2NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjg1MzM1MjM+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUGx1bWJzIHNv
bWUgbW9yZSBOb3cgUGxheWluZyBpbmZvcm1hdGlvbiBmcm9tIHRoZSB3ZWIgcHJvY2VzcyB0byB0
aGUgVUkgcHJvY2VzcyBmb3IgdGVzdGluZyBwdXJwb3Nlcy4gU2VlCisgICAgICAgIFdlYkNvcmUg
Q2hhbmdlTG9nIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9oYW5kbGVBY3RpdmVOb3dQ
bGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZTp0aXRsZTpkdXJhdGlvbjplbGFwc2VkVGltZTpdKToK
KyAgICAgICAgKC1bV0tXZWJWaWV3IF9oYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9S
ZXNwb25zZTpdKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlld1ByaXZhdGUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVudC5oOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
UHJveHk6OmhhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJ
bXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbToKKyAgICAg
ICAgKFdlYktpdDo6UGFnZUNsaWVudEltcGw6OmhhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9u
SW5mb1Jlc3BvbnNlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VN
YWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnJlcXVlc3RBY3RpdmVOb3dQbGF5aW5n
U2Vzc2lvbkluZm8pOgorCiAyMDE2LTA5LTI5ICBOYW4gV2FuZyAgPG5fd2FuZ0BhcHBsZS5jb20+
CiAKICAgICAgICAgQVg6IGlPUzogVGFwcGluZyA8aW5wdXQ+IGluIFNhZmFyaSB6b29tcyBpbiBh
IGJpdCB3aGVuIHBhZ2UgaGFzIG1heCBzY2FsZSA9IDEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01l
ZGlhRWxlbWVudFNlc3Npb24uY3BwCmluZGV4IDhlODE0MDc4ODAwOWE4NTRiMjExYzBmZDQ2NGE1
ODMyZmI2ZWNjZDcuLjQ4NDdiOGJhMWJhYTIzNTFjZTU4NTBjNWY3NGQ0ZjZkNjAyMWM1ODQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtMjE4LDEx
ICsyMTgsNiBAQCBib29sIE1lZGlhRWxlbWVudFNlc3Npb246OnBhZ2VBbGxvd3NQbGF5YmFja0Fm
dGVyUmVzdW1pbmcoY29uc3QgSFRNTE1lZGlhRWxlbWVudAogCiBib29sIE1lZGlhRWxlbWVudFNl
c3Npb246OmNhblNob3dDb250cm9sc01hbmFnZXIoUGxheWJhY2tDb250cm9sc1B1cnBvc2UgcHVy
cG9zZSkgY29uc3QKIHsKLSAgICBpZiAocHVycG9zZSA9PSBQbGF5YmFja0NvbnRyb2xzUHVycG9z
ZTo6Tm93UGxheWluZyAmJiAhcGFnZUFsbG93c05vd1BsYXlpbmdDb250cm9scygpKSB7Ci0gICAg
ICAgIExPRyhNZWRpYSwgIk1lZGlhRWxlbWVudFNlc3Npb246OmNhblNob3dDb250cm9sc01hbmFn
ZXIgLSByZXR1cm5pbmcgRkFMU0U6IE5vdyBwbGF5aW5nIG5vdCBhbGxvd2VkIGluIGZvcmVncm91
bmQgdGFiIik7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KICAgICBpZiAobV9lbGVt
ZW50LmlzRnVsbHNjcmVlbigpKSB7CiAgICAgICAgIExPRyhNZWRpYSwgIk1lZGlhRWxlbWVudFNl
c3Npb246OmNhblNob3dDb250cm9sc01hbmFnZXIgLSByZXR1cm5pbmcgVFJVRTogSXMgZnVsbHNj
cmVlbiIpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTczMyw3ICs3MjgsNyBAQCBib29sIE1l
ZGlhRWxlbWVudFNlc3Npb246OnVwZGF0ZUlzTWFpbkNvbnRlbnQoKSBjb25zdAogICAgIHJldHVy
biBtX2lzTWFpbkNvbnRlbnQ7CiB9CiAKLWJvb2wgTWVkaWFFbGVtZW50U2Vzc2lvbjo6cGFnZUFs
bG93c05vd1BsYXlpbmdDb250cm9scygpIGNvbnN0Citib29sIE1lZGlhRWxlbWVudFNlc3Npb246
OmFsbG93c05vd1BsYXlpbmdDb250cm9scygpIGNvbnN0CiB7CiAgICAgYXV0byBwYWdlID0gbV9l
bGVtZW50LmRvY3VtZW50KCkucGFnZSgpOwogICAgIHJldHVybiBwYWdlICYmICFwYWdlLT5pc1Zp
c2libGVBbmRBY3RpdmUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFF
bGVtZW50U2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9u
LmgKaW5kZXggMDVlODA2OGEyZDU1MTU1YWM1NzExMzhkYjI0OTM2ODZmNzAyZDA0ZS4uODkzNWU2
MDdhY2U4OTQ2ZGFhMzJjMDcxMmQ3OTRjNWM5YjM2NTk3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKQEAgLTEyNCw2ICsxMjQsOCBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBpc0xhcmdlRW5vdWdoRm9yTWFpbkNvbnRlbnQoTWVkaWFTZXNzaW9uTWFpbkNvbnRlbnRQ
dXJwb3NlKSBjb25zdDsKICAgICBkb3VibGUgbW9zdFJlY2VudFVzZXJJbnRlcmFjdGlvblRpbWUo
KSBjb25zdDsKIAorICAgIGJvb2wgYWxsb3dzTm93UGxheWluZ0NvbnRyb2xzKCkgY29uc3Qgb3Zl
cnJpZGU7CisKIHByaXZhdGU6CiAKICNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
KQpAQCAtMTQwLDggKzE0Miw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCB1cGRhdGVJc01haW5Db250
ZW50KCkgY29uc3Q7CiAgICAgdm9pZCBtYWluQ29udGVudENoZWNrVGltZXJGaXJlZCgpOwogCi0g
ICAgYm9vbCBwYWdlQWxsb3dzTm93UGxheWluZ0NvbnRyb2xzKCkgY29uc3Q7Ci0KICAgICBIVE1M
TWVkaWFFbGVtZW50JiBtX2VsZW1lbnQ7CiAgICAgQmVoYXZpb3JSZXN0cmljdGlvbnMgbV9yZXN0
cmljdGlvbnM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1Bs
YXRmb3JtTWVkaWFTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0
Zm9ybU1lZGlhU2Vzc2lvbi5oCmluZGV4IDc1NzBmNDdiYWY0NTVkYzEyMTVkODJhZWYyYjdkNzJi
ZDRhNTZjZDEuLmE3MmIwOGRkM2Y2YjZhMDRhYmIwMGNmYjBkM2MyZTRiOTZlYzFmYzUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Np
b24uaApAQCAtMTY4LDYgKzE2OCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcmVzZXRQ
bGF5YmFja1Nlc3Npb25TdGF0ZSgpIHsgfQogICAgIFN0cmluZyBzb3VyY2VBcHBsaWNhdGlvbklk
ZW50aWZpZXIoKSBjb25zdDsKIAorICAgIHZpcnR1YWwgYm9vbCBhbGxvd3NOb3dQbGF5aW5nQ29u
dHJvbHMoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgUGxhdGZv
cm1NZWRpYVNlc3Npb25DbGllbnQmIGNsaWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50OyB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKaW5kZXggYWQyZjExM2Y4MjFkMWVhY2ZiNGQwMDg3NGNm
NGQ3YzczZGQzMTdjYy4uYTNjODA1OThkNDQwMmNmNmY0MzEyMDUzN2M2N2MyYmM5Nzg5YzE5MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKQEAgLTU4LDYgKzU4LDkgQEAgcHVibGljOgogICAgIGJv
b2wgY2FuUHJvZHVjZUF1ZGlvKCkgY29uc3Q7CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFs
IGJvb2wgaGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb24oKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQorICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgU3RyaW5nIGxhc3RVcGRhdGVkTm93UGxheWlu
Z1RpdGxlKCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQorICAgIFdFQkNPUkVfRVhQ
T1JUIHZpcnR1YWwgZG91YmxlIGxhc3RVcGRhdGVkTm93UGxheWluZ0R1cmF0aW9uKCkgY29uc3Qg
eyByZXR1cm4gTkFOOyB9CisgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCBkb3VibGUgbGFzdFVw
ZGF0ZWROb3dQbGF5aW5nRWxhcHNlZFRpbWUoKSBjb25zdCB7IHJldHVybiBOQU47IH0KIAogICAg
IGJvb2wgd2lsbElnbm9yZVN5c3RlbUludGVycnVwdGlvbnMoKSBjb25zdCB7IHJldHVybiBtX3dp
bGxJZ25vcmVTeXN0ZW1JbnRlcnJ1cHRpb25zOyB9CiAgICAgdm9pZCBzZXRXaWxsSWdub3JlU3lz
dGVtSW50ZXJydXB0aW9ucyhib29sIGlnbm9yZSkgeyBtX3dpbGxJZ25vcmVTeXN0ZW1JbnRlcnJ1
cHRpb25zID0gaWdub3JlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9tYWMvTWVkaWFTZXNzaW9uTWFuYWdlck1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vbWFjL01lZGlhU2Vzc2lvbk1hbmFnZXJNYWMuaAppbmRleCBmN2M3OGM0MWIzNzZh
YjBlZmFhYmMxMGM3ZjgzMmJmOTAxMjdkM2Q0Li4zMTIyNjJlNzE4OGMyZTVjNTFiM2FlNTA0YTgw
MTZkM2E4ZjIyOWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9t
YWMvTWVkaWFTZXNzaW9uTWFuYWdlck1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL21hYy9NZWRpYVNlc3Npb25NYW5hZ2VyTWFjLmgKQEAgLTM3LDYgKzM3LDkgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgfk1lZGlhU2Vzc2lvbk1hbmFnZXJNYWMoKTsKIAogICAgIGJvb2wg
aGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX25v
d1BsYXlpbmdBY3RpdmU7IH0KKyAgICBTdHJpbmcgbGFzdFVwZGF0ZWROb3dQbGF5aW5nVGl0bGUo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2xhc3RVcGRhdGVkTm93UGxheWluZ1RpdGxlOyB9
CisgICAgZG91YmxlIGxhc3RVcGRhdGVkTm93UGxheWluZ0R1cmF0aW9uKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gbV9sYXN0VXBkYXRlZE5vd1BsYXlpbmdEdXJhdGlvbjsgfQorICAgIGRvdWJs
ZSBsYXN0VXBkYXRlZE5vd1BsYXlpbmdFbGFwc2VkVGltZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIG1fbGFzdFVwZGF0ZWROb3dQbGF5aW5nRWxhcHNlZFRpbWU7IH0KIAogcHJpdmF0ZToKICAg
ICBmcmllbmQgY2xhc3MgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOwpAQCAtNTMsMTAgKzU2
LDE2IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHVwZGF0ZU5vd1BsYXlpbmdJbmZvKCk7CiAKLSAg
ICBQbGF0Zm9ybU1lZGlhU2Vzc2lvbiogbm93UGxheWluZ0VsaWdpYmxlU2Vzc2lvbigpOworICAg
IFBsYXRmb3JtTWVkaWFTZXNzaW9uKiBub3dQbGF5aW5nU2Vzc2lvbkNhbmRpZGF0ZSgpOwogCiAg
ICAgYm9vbCBtX25vd1BsYXlpbmdBY3RpdmUgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc0luQmFj
a2dyb3VuZCB7IGZhbHNlIH07CisKKyAgICAvLyBGb3IgdGVzdGluZyBwdXJwb3NlcyBvbmx5Lgor
ICAgIFN0cmluZyBtX2xhc3RVcGRhdGVkTm93UGxheWluZ1RpdGxlOworICAgIGRvdWJsZSBtX2xh
c3RVcGRhdGVkTm93UGxheWluZ0R1cmF0aW9uIHsgTkFOIH07CisgICAgZG91YmxlIG1fbGFzdFVw
ZGF0ZWROb3dQbGF5aW5nRWxhcHNlZFRpbWUgeyBOQU4gfTsKKwogICAgIEdlbmVyaWNUYXNrUXVl
dWU8VGltZXI+IG1fbm93UGxheWluZ1VwZGF0ZVRhc2tRdWV1ZTsKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9NZWRpYVNlc3Npb25NYW5hZ2VyTWFj
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL01lZGlhU2Vzc2lvbk1hbmFn
ZXJNYWMubW0KaW5kZXggM2Q2ZDllOTQ3MzA1YjIwNmEzODEyNGJkYzZhNTAzZWQ4OTQ0NDZkYi4u
MzA5ZDVlMjYzOTJmMzA1ZWUyMjUwZjZiYmQ1NzkxZDY0NjI4ODRkMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL01lZGlhU2Vzc2lvbk1hbmFnZXJNYWMubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL01lZGlhU2Vzc2lvbk1hbmFn
ZXJNYWMubW0KQEAgLTExMCw3ICsxMTAsNyBAQCB2b2lkIE1lZGlhU2Vzc2lvbk1hbmFnZXJNYWM6
OmNsaWVudENoYXJhY3RlcmlzdGljc0NoYW5nZWQoUGxhdGZvcm1NZWRpYVNlc3Npb24mKQogICAg
IHVwZGF0ZU5vd1BsYXlpbmdJbmZvKCk7CiB9CiAKLVBsYXRmb3JtTWVkaWFTZXNzaW9uKiBNZWRp
YVNlc3Npb25NYW5hZ2VyTWFjOjpub3dQbGF5aW5nRWxpZ2libGVTZXNzaW9uKCkKK1BsYXRmb3Jt
TWVkaWFTZXNzaW9uKiBNZWRpYVNlc3Npb25NYW5hZ2VyTWFjOjpub3dQbGF5aW5nU2Vzc2lvbkNh
bmRpZGF0ZSgpCiB7CiAgICAgaWYgKGF1dG8gZWxlbWVudCA9IEhUTUxNZWRpYUVsZW1lbnQ6OmJl
c3RNZWRpYUVsZW1lbnRGb3JTaG93aW5nUGxheWJhY2tDb250cm9sc01hbmFnZXIoTWVkaWFFbGVt
ZW50U2Vzc2lvbjo6UGxheWJhY2tDb250cm9sc1B1cnBvc2U6Ok5vd1BsYXlpbmcpKQogICAgICAg
ICByZXR1cm4gJmVsZW1lbnQtPm1lZGlhU2Vzc2lvbigpOwpAQCAtMTI0LDIzICsxMjQsMzMgQEAg
dm9pZCBNZWRpYVNlc3Npb25NYW5hZ2VyTWFjOjp1cGRhdGVOb3dQbGF5aW5nSW5mbygpCiAgICAg
aWYgKCFpc01lZGlhUmVtb3RlRnJhbWV3b3JrQXZhaWxhYmxlKCkpCiAgICAgICAgIHJldHVybjsK
IAotICAgIGNvbnN0IFBsYXRmb3JtTWVkaWFTZXNzaW9uKiBjdXJyZW50U2Vzc2lvbiA9IHRoaXMt
Pm5vd1BsYXlpbmdFbGlnaWJsZVNlc3Npb24oKTsKKyAgICBjb25zdCBQbGF0Zm9ybU1lZGlhU2Vz
c2lvbiogY3VycmVudFNlc3Npb24gPSBub3dQbGF5aW5nU2Vzc2lvbkNhbmRpZGF0ZSgpOwogCiAg
ICAgTE9HKE1lZGlhLCAiTWVkaWFTZXNzaW9uTWFuYWdlck1hYzo6dXBkYXRlTm93UGxheWluZ0lu
Zm8gLSBjdXJyZW50U2Vzc2lvbiA9ICVwIiwgY3VycmVudFNlc3Npb24pOwogCi0gICAgaWYgKCFj
dXJyZW50U2Vzc2lvbikgeworICAgIGlmICghY3VycmVudFNlc3Npb24gfHwgIWN1cnJlbnRTZXNz
aW9uLT5hbGxvd3NOb3dQbGF5aW5nQ29udHJvbHMoKSkgewogICAgICAgICBpZiAobV9ub3dQbGF5
aW5nQWN0aXZlKSB7CiAgICAgICAgICAgICBpZiAoY2FuTG9hZF9NZWRpYVJlbW90ZV9NUk1lZGlh
UmVtb3RlU2V0Tm93UGxheWluZ1Zpc2liaWxpdHkoKSkKICAgICAgICAgICAgICAgICBNUk1lZGlh
UmVtb3RlU2V0Tm93UGxheWluZ1Zpc2liaWxpdHkoTVJNZWRpYVJlbW90ZUdldExvY2FsT3JpZ2lu
KCksIE1STm93UGxheWluZ0NsaWVudFZpc2liaWxpdHlOZXZlclZpc2libGUpOwogCiAgICAgICAg
ICAgICBMT0coTWVkaWEsICJNZWRpYVNlc3Npb25NYW5hZ2VyTWFjOjp1cGRhdGVOb3dQbGF5aW5n
SW5mbyAtIGNsZWFyaW5nIG5vdyBwbGF5aW5nIGluZm8iKTsKLSAgICAgICAgICAgIE1STWVkaWFS
ZW1vdGVTZXROb3dQbGF5aW5nSW5mbyhudWxscHRyKTsKKyAgICAgICAgICAgIE1SUGxheWJhY2tT
dGF0ZSBwbGF5YmFja1N0YXRlOworICAgICAgICAgICAgaWYgKGN1cnJlbnRTZXNzaW9uKQorICAg
ICAgICAgICAgICAgIHBsYXliYWNrU3RhdGUgPSBjdXJyZW50U2Vzc2lvbi0+c3RhdGUoKSA9PSBQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UGxheWluZyA/IGtNUlBsYXliYWNrU3RhdGVQbGF5aW5nIDog
a01SUGxheWJhY2tTdGF0ZVBhdXNlZDsKKyAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAg
ICAgIHBsYXliYWNrU3RhdGUgPSBrTVJQbGF5YmFja1N0YXRlU3RvcHBlZDsKKyAgICAgICAgICAg
ICAgICBNUk1lZGlhUmVtb3RlU2V0Tm93UGxheWluZ0luZm8obnVsbHB0cik7CisgICAgICAgICAg
ICAgICAgbV9sYXN0VXBkYXRlZE5vd1BsYXlpbmdUaXRsZSA9IGVtcHR5U3RyaW5nKCk7CisgICAg
ICAgICAgICAgICAgbV9sYXN0VXBkYXRlZE5vd1BsYXlpbmdEdXJhdGlvbiA9IE5BTjsKKyAgICAg
ICAgICAgICAgICBtX2xhc3RVcGRhdGVkTm93UGxheWluZ0VsYXBzZWRUaW1lID0gTkFOOworICAg
ICAgICAgICAgfQorCiAgICAgICAgICAgICBtX25vd1BsYXlpbmdBY3RpdmUgPSBmYWxzZTsKLSAg
ICAgICAgICAgIE1STWVkaWFSZW1vdGVTZXROb3dQbGF5aW5nQXBwbGljYXRpb25QbGF5YmFja1N0
YXRlRm9yT3JpZ2luKE1STWVkaWFSZW1vdGVHZXRMb2NhbE9yaWdpbigpLCBrTVJQbGF5YmFja1N0
YXRlU3RvcHBlZCwgZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXihNUk1lZGlhUmVtb3RlRXJy
b3IgZXJyb3IpIHsKKyAgICAgICAgICAgIE1STWVkaWFSZW1vdGVTZXROb3dQbGF5aW5nQXBwbGlj
YXRpb25QbGF5YmFja1N0YXRlRm9yT3JpZ2luKE1STWVkaWFSZW1vdGVHZXRMb2NhbE9yaWdpbigp
LCBwbGF5YmFja1N0YXRlLCBkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBeKE1STWVkaWFSZW1v
dGVFcnJvciBlcnJvcikgewogI2lmIExPR19ESVNBQkxFRAogICAgICAgICAgICAgICAgIFVOVVNF
RF9QQVJBTShlcnJvcik7CiAjZWxzZQotICAgICAgICAgICAgICAgIExPRyhNZWRpYSwgIk1lZGlh
U2Vzc2lvbk1hbmFnZXJNYWM6OnVwZGF0ZU5vd1BsYXlpbmdJbmZvIC0gTVJNZWRpYVJlbW90ZVNl
dE5vd1BsYXlpbmdBcHBsaWNhdGlvblBsYXliYWNrU3RhdGVGb3JPcmlnaW4oc3RvcHBlZCkgZmFp
bGVkIHdpdGggZXJyb3IgJXVkIiwgZXJyb3IpOworICAgICAgICAgICAgICAgIExPRyhNZWRpYSwg
Ik1lZGlhU2Vzc2lvbk1hbmFnZXJNYWM6OnVwZGF0ZU5vd1BsYXlpbmdJbmZvIC0gTVJNZWRpYVJl
bW90ZVNldE5vd1BsYXlpbmdBcHBsaWNhdGlvblBsYXliYWNrU3RhdGVGb3JPcmlnaW4oJXR1KSBm
YWlsZWQgd2l0aCBlcnJvciAldWQiLCBwbGF5YmFja1N0YXRlLCBlcnJvcik7CiAjZW5kaWYKICAg
ICAgICAgICAgIH0pOwogICAgICAgICB9CkBAIC0xNjEsMTIgKzE3MSwxNSBAQCB2b2lkIE1lZGlh
U2Vzc2lvbk1hbmFnZXJNYWM6OnVwZGF0ZU5vd1BsYXlpbmdJbmZvKCkKICAgICBkb3VibGUgcmF0
ZSA9IGN1cnJlbnRTZXNzaW9uLT5zdGF0ZSgpID09IFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpQbGF5
aW5nID8gMSA6IDA7CiAgICAgYXV0byBpbmZvID0gYWRvcHRDRihDRkRpY3Rpb25hcnlDcmVhdGVN
dXRhYmxlKGtDRkFsbG9jYXRvckRlZmF1bHQsIDQsICZrQ0ZUeXBlRGljdGlvbmFyeUtleUNhbGxC
YWNrcywgJmtDRlR5cGVEaWN0aW9uYXJ5VmFsdWVDYWxsQmFja3MpKTsKIAotICAgIGlmICghdGl0
bGUuaXNFbXB0eSgpKQorICAgIGlmICghdGl0bGUuaXNFbXB0eSgpKSB7CiAgICAgICAgIENGRGlj
dGlvbmFyeVNldFZhbHVlKGluZm8uZ2V0KCksIGtNUk1lZGlhUmVtb3RlTm93UGxheWluZ0luZm9U
aXRsZSwgdGl0bGUuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSk7CisgICAgICAgIG1fbGFzdFVwZGF0
ZWROb3dQbGF5aW5nVGl0bGUgPSB0aXRsZTsKKyAgICB9CiAKICAgICBpZiAoc3RkOjppc2Zpbml0
ZShkdXJhdGlvbikgJiYgZHVyYXRpb24gIT0gTWVkaWFQbGF5ZXI6OmludmFsaWRUaW1lKCkpIHsK
ICAgICAgICAgYXV0byBjZkR1cmF0aW9uID0gYWRvcHRDRihDRk51bWJlckNyZWF0ZShrQ0ZBbGxv
Y2F0b3JEZWZhdWx0LCBrQ0ZOdW1iZXJEb3VibGVUeXBlLCAmZHVyYXRpb24pKTsKICAgICAgICAg
Q0ZEaWN0aW9uYXJ5U2V0VmFsdWUoaW5mby5nZXQoKSwga01STWVkaWFSZW1vdGVOb3dQbGF5aW5n
SW5mb0R1cmF0aW9uLCBjZkR1cmF0aW9uLmdldCgpKTsKKyAgICAgICAgbV9sYXN0VXBkYXRlZE5v
d1BsYXlpbmdEdXJhdGlvbiA9IGR1cmF0aW9uOwogICAgIH0KIAogICAgIGF1dG8gY2ZSYXRlID0g
Q0ZOdW1iZXJDcmVhdGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwga0NGTnVtYmVyRG91YmxlVHlwZSwg
JnJhdGUpOwpAQCAtMTc2LDYgKzE4OSw3IEBAIHZvaWQgTWVkaWFTZXNzaW9uTWFuYWdlck1hYzo6
dXBkYXRlTm93UGxheWluZ0luZm8oKQogICAgIGlmIChzdGQ6OmlzZmluaXRlKGN1cnJlbnRUaW1l
KSAmJiBjdXJyZW50VGltZSAhPSBNZWRpYVBsYXllcjo6aW52YWxpZFRpbWUoKSkgewogICAgICAg
ICBhdXRvIGNmQ3VycmVudFRpbWUgPSBhZG9wdENGKENGTnVtYmVyQ3JlYXRlKGtDRkFsbG9jYXRv
ckRlZmF1bHQsIGtDRk51bWJlckRvdWJsZVR5cGUsICZjdXJyZW50VGltZSkpOwogICAgICAgICBD
RkRpY3Rpb25hcnlTZXRWYWx1ZShpbmZvLmdldCgpLCBrTVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJ
bmZvRWxhcHNlZFRpbWUsIGNmQ3VycmVudFRpbWUuZ2V0KCkpOworICAgICAgICBtX2xhc3RVcGRh
dGVkTm93UGxheWluZ0VsYXBzZWRUaW1lID0gY3VycmVudFRpbWU7CiAgICAgfQogCiAgICAgTE9H
KE1lZGlhLCAiTWVkaWFTZXNzaW9uTWFuYWdlck1hYzo6dXBkYXRlTm93UGxheWluZ0luZm8gLSB0
aXRsZSA9IFwiJXNcIiwgcmF0ZSA9ICVmLCBkdXJhdGlvbiA9ICVmLCBub3cgPSAlZiIsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IDhm
OWM3MGQyYTU3ZjM1NjVhOTBlMDM1YjQ3MTEyMDU1MDRlZjM0NTkuLmM4YmQ2MGI2Yzg5MzllYmIy
MGNiN2RjM2VlMzY2Mzk3NDE5MTlhYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC00NTg2LDcgKzQ1ODYsNyBAQCAtICh2b2lkKV9y
ZXF1ZXN0QWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvCiAgICAgICAgIF9wYWdlLT5yZXF1ZXN0
QWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvKCk7CiB9CiAKLS0gKHZvaWQpX2hhbmRsZUFjdGl2
ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlOihCT09MKWhhc0FjdGl2ZVNlc3Npb24KKy0g
KHZvaWQpX2hhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlOihCT09MKWhh
c0FjdGl2ZVNlc3Npb24gdGl0bGU6KE5TU3RyaW5nICopdGl0bGUgZHVyYXRpb246KGRvdWJsZSlk
dXJhdGlvbiBlbGFwc2VkVGltZTooZG91YmxlKWVsYXBzZWRUaW1lCiB7CiAgICAgLy8gT3ZlcnJp
ZGRlbiBieSBzdWJjbGFzc2VzLgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAppbmRleCA0YWEyZDE2ZDcyNjY3NTZkYWUy
MTk4ZmJlNDkyOGQ2NTZlNTQ2NzZhLi45OTkwOTNiMjllYjVlM2JkM2EyOWJiMzBkZTAxZmQwNTlk
ZTFlZjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlld1ByaXZhdGUuaApAQCAtMjgxLDcgKzI4MSw3IEBAIHR5cGVkZWYgTlNfRU5VTShO
U0ludGVnZXIsIF9XS0ltbWVkaWF0ZUFjdGlvblR5cGUpIHsKIC0gKHZvaWQpX2RpZFVwZGF0ZUNh
bmRpZGF0ZUxpc3RWaXNpYmlsaXR5OihCT09MKXZpc2libGUgV0tfQVBJX0FWQUlMQUJMRShtYWNv
c3goV0tfTUFDX1RCQSkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIF9z
aG91bGRSZXF1ZXN0Q2FuZGlkYXRlcyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJB
KSk7CiAtICh2b2lkKV9yZXF1ZXN0QWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKLS0gKHZvaWQpX2hhbmRsZUFjdGl2ZU5vd1Bs
YXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlOihCT09MKWhhc0FjdGl2ZVNlc3Npb24gV0tfQVBJX0FW
QUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOworLSAodm9pZClfaGFuZGxlQWN0aXZlTm93UGxh
eWluZ1Nlc3Npb25JbmZvUmVzcG9uc2U6KEJPT0wpaGFzQWN0aXZlU2Vzc2lvbiB0aXRsZTooTlNT
dHJpbmcgKil0aXRsZSBkdXJhdGlvbjooZG91YmxlKWR1cmF0aW9uIGVsYXBzZWRUaW1lOihkb3Vi
bGUpZWxhcHNlZFRpbWUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwogI2Vu
ZGlmCiAKIC0gKHZvaWQpX2RvQWZ0ZXJOZXh0UHJlc2VudGF0aW9uVXBkYXRlOih2b2lkICheKSh2
b2lkKSl1cGRhdGVCbG9jayBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xMiksIGlvcygxMC4w
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCBhMzBmMmJlYjdiN2M4
ZjNhZDkxODkzYjU5Njk1ZDVkODVjNjViZjMwLi42ODM3OTQ0ZWQ4Yjg2MjVhZDAyYmYyYjkyOWY5
NzZiMTA0YjdmMzAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNs
aWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTI0
OCw3ICsyNDgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHJlY29tbWVuZGVkU2Nyb2xs
YmFyU3R5bGVEaWRDaGFuZ2UoV2ViQ29yZTo6U2Nyb2xsYmFyU3R5bGUpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgcmVtb3ZlTmF2aWdhdGlvbkdlc3R1cmVTbmFwc2hvdCgpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgaGFuZGxlQ29udHJvbGxlZEVsZW1lbnRJRFJlc3BvbnNlKGNvbnN0IFN0cmluZyYp
ID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZv
UmVzcG9uc2UoYm9vbCBoYXNBY3RpdmVTZXNzaW9uKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGhh
bmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlKGJvb2wgaGFzQWN0aXZlU2Vz
c2lvbiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgZG91YmxlIGR1cmF0aW9uLCBkb3VibGUgZWxhcHNl
ZFRpbWUpID0gMDsKIAogICAgIHZpcnR1YWwgQ0dSZWN0IGJvdW5kc09mTGF5ZXJJbkxheWVyQmFj
a2VkV2luZG93Q29vcmRpbmF0ZXMoQ0FMYXllciAqKSBjb25zdCA9IDA7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggMDJmZmQxODRkMjE3N2QyMjM3ZjRl
ODI0YWZiMDVjNmRiY2RhMGZjZi4uYmUwNTI5MGZlNjk3MTg3ZGYwN2Y4YzNmNjQwY2NmOTYxNWJh
MjE0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTYz
OTEsOSArNjM5MSw5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZXF1ZXN0QWN0aXZlTm93UGxheWlu
Z1Nlc3Npb25JbmZvKCkKICAgICBtX3Byb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OlJl
cXVlc3RBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm8oKSwgbV9wYWdlSUQpOwogfQogCi12b2lk
IFdlYlBhZ2VQcm94eTo6aGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9uc2Uo
Ym9vbCBoYXNBY3RpdmVTZXNzaW9uKSBjb25zdAordm9pZCBXZWJQYWdlUHJveHk6OmhhbmRsZUFj
dGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlKGJvb2wgaGFzQWN0aXZlU2Vzc2lvbiwg
Y29uc3QgU3RyaW5nJiB0aXRsZSwgZG91YmxlIGR1cmF0aW9uLCBkb3VibGUgZWxhcHNlZFRpbWUp
IGNvbnN0CiB7Ci0gICAgbV9wYWdlQ2xpZW50LmhhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9u
SW5mb1Jlc3BvbnNlKGhhc0FjdGl2ZVNlc3Npb24pOworICAgIG1fcGFnZUNsaWVudC5oYW5kbGVB
Y3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZShoYXNBY3RpdmVTZXNzaW9uLCB0aXRs
ZSwgZHVyYXRpb24sIGVsYXBzZWRUaW1lKTsKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6OmhhbmRs
ZUNvbnRyb2xsZWRFbGVtZW50SURSZXNwb25zZShjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIpIGNv
bnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggMmVhMzA0YWY2
NmUyMDdmZTBhYmYxNjkxOTlmZmZmOTJlZGIzZTg3Mi4uMjA5YzkwYTIyZDU5Njc2YWRhYTAyYTVh
ZDM4NDc1ZDEwZjg5ODAxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aApAQCAtMTAzNiw3ICsxMDM2LDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVxdWVzdENvbnRyb2xs
ZWRFbGVtZW50SUQoKSBjb25zdDsKICAgICB2b2lkIGhhbmRsZUNvbnRyb2xsZWRFbGVtZW50SURS
ZXNwb25zZShjb25zdCBTdHJpbmcmKSBjb25zdDsKICAgICB2b2lkIHJlcXVlc3RBY3RpdmVOb3dQ
bGF5aW5nU2Vzc2lvbkluZm8oKTsKLSAgICB2b2lkIGhhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNz
aW9uSW5mb1Jlc3BvbnNlKGJvb2wgaGFzQWN0aXZlU2Vzc2lvbikgY29uc3Q7CisgICAgdm9pZCBo
YW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZShib29sIGhhc0FjdGl2ZVNl
c3Npb24sIGNvbnN0IFN0cmluZyYgdGl0bGUsIGRvdWJsZSBkdXJhdGlvbiwgZG91YmxlIGVsYXBz
ZWRUaW1lKSBjb25zdDsKICAgICBib29sIGlzUGxheWluZ1ZpZGVvSW5FbmhhbmNlZEZ1bGxzY3Jl
ZW4oKSBjb25zdDsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCBkMTliYzc3ZWQzZTMyMmRlMjBiYmIzMTIzZGM1
Y2ZiNjhiMDYzYmEyLi4wZjc3YzEzMDMwZDVkMzllNTQ0NDhkNmM0MDRiMTVlMGIyMTNkZTE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW4KQEAgLTQ3MCw2ICs0NzAsNiBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogCiAjaWYg
UExBVEZPUk0oTUFDKQogICAgIERpZEhhbmRsZUFjY2VwdGVkQ2FuZGlkYXRlKCkKLSAgICBIYW5k
bGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZShib29sIGhhc0FjdGl2ZVNlc3Np
b24pCisgICAgSGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9uc2UoYm9vbCBo
YXNBY3RpdmVTZXNzaW9uLCBTdHJpbmcgdGl0bGUsIGRvdWJsZSBkdXJhdGlvbiwgZG91YmxlIGVs
YXBzZWRUaW1lKQogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvbWFjL1BhZ2VDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1Bh
Z2VDbGllbnRJbXBsLmgKaW5kZXggOWQ3ZTNkMDFlMzZiZDAwMjA3NjcwNDc1MmYzNmYzMTczYTNk
YTU3NC4uODBmY2I5YmQxODljMjY3ZmFmZjZiMDQyMzY2MjhhMTE5MTdhNzhiYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaApAQCAtMjA3LDcgKzIw
Nyw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRTYW1lRG9jdW1lbnROYXZpZ2F0aW9uRm9yTWFp
bkZyYW1lKFNhbWVEb2N1bWVudE5hdmlnYXRpb25UeXBlKSBvdmVycmlkZTsKICAgICB2b2lkIHJl
bW92ZU5hdmlnYXRpb25HZXN0dXJlU25hcHNob3QoKSBvdmVycmlkZTsKICAgICB2b2lkIGhhbmRs
ZUNvbnRyb2xsZWRFbGVtZW50SURSZXNwb25zZShjb25zdCBTdHJpbmcmKSBvdmVycmlkZTsKLSAg
ICB2b2lkIGhhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlKGJvb2wgaGFz
QWN0aXZlU2Vzc2lvbikgb3ZlcnJpZGU7CisgICAgdm9pZCBoYW5kbGVBY3RpdmVOb3dQbGF5aW5n
U2Vzc2lvbkluZm9SZXNwb25zZShib29sIGhhc0FjdGl2ZVNlc3Npb24sIGNvbnN0IFN0cmluZyYg
dGl0bGUsIGRvdWJsZSBkdXJhdGlvbiwgZG91YmxlIGVsYXBzZWRUaW1lKSBvdmVycmlkZTsKIAog
ICAgIHZvaWQgZGlkUGVyZm9ybUltbWVkaWF0ZUFjdGlvbkhpdFRlc3QoY29uc3QgV2ViSGl0VGVz
dFJlc3VsdERhdGEmLCBib29sIGNvbnRlbnRQcmV2ZW50c0RlZmF1bHQsIEFQSTo6T2JqZWN0Kikg
b3ZlcnJpZGU7CiAgICAgdm9pZCogaW1tZWRpYXRlQWN0aW9uQW5pbWF0aW9uQ29udHJvbGxlckZv
ckhpdFRlc3RSZXN1bHQoUmVmUHRyPEFQSTo6SGl0VGVzdFJlc3VsdD4sIHVpbnQ2NF90LCBSZWZQ
dHI8QVBJOjpPYmplY3Q+KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
bWFjL1BhZ2VDbGllbnRJbXBsLm1tCmluZGV4IDVjM2EyMmVmN2RjNTY0ZWMzYTFkNWY3ZmVmOTU1
N2Q1OTBhNWQwZmYuLjYyOWFhZjU2NzI2MmI2NjQ2MWI0Mzk4YmQyYTY4ZDYyNWYxYTgyYTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwubW0K
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQpAQCAt
NzU5LDEwICs3NTksMTAgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6aGFuZGxlQ29udHJvbGxlZEVs
ZW1lbnRJRFJlc3BvbnNlKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcikKICNlbmRpZgogfQogCi12
b2lkIFBhZ2VDbGllbnRJbXBsOjpoYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNw
b25zZShib29sIGhhc0FjdGl2ZVNlc3Npb24pCit2b2lkIFBhZ2VDbGllbnRJbXBsOjpoYW5kbGVB
Y3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZShib29sIGhhc0FjdGl2ZVNlc3Npb24s
IGNvbnN0IFN0cmluZyYgdGl0bGUsIGRvdWJsZSBkdXJhdGlvbiwgZG91YmxlIGVsYXBzZWRUaW1l
KQogewogI2lmIFdLX0FQSV9FTkFCTEVECi0gICAgW21fd2ViVmlldyBfaGFuZGxlQWN0aXZlTm93
UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9uc2U6aGFzQWN0aXZlU2Vzc2lvbl07CisgICAgW21fd2Vi
VmlldyBfaGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9uc2U6aGFzQWN0aXZl
U2Vzc2lvbiB0aXRsZTpuc1N0cmluZ0Zyb21XZWJDb3JlU3RyaW5nKHRpdGxlKSBkdXJhdGlvbjpk
dXJhdGlvbiBlbGFwc2VkVGltZTplbGFwc2VkVGltZV07CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tCmluZGV4
IGU3OWM5MWJhYTkwM2I5YWU5ZDhlOGNkZTg1NjJlYjg1NzBlNWM0MWEuLmQ5NGEwY2FmMTY1OTY5
ZGFiMjI2M2RmNDliZWM5YTA4MDVkYWJkODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0KQEAgLTE2NCwxMCArMTY0LDE3IEBA
IHZvaWQgV2ViUGFnZTo6aGFuZGxlQWNjZXB0ZWRDYW5kaWRhdGUoV2ViQ29yZTo6VGV4dENoZWNr
aW5nUmVzdWx0IGFjY2VwdGVkQ2FuZGlkCiB2b2lkIFdlYlBhZ2U6OnJlcXVlc3RBY3RpdmVOb3dQ
bGF5aW5nU2Vzc2lvbkluZm8oKQogewogICAgIGJvb2wgaGFzQWN0aXZlU2Vzc2lvbiA9IGZhbHNl
OwotICAgIGlmIChhdXRvKiBzaGFyZWRNYW5hZ2VyID0gV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VySWZFeGlzdHMoKSkKKyAgICBTdHJpbmcgdGl0bGUg
PSBlbXB0eVN0cmluZygpOworICAgIGRvdWJsZSBkdXJhdGlvbiA9IE5BTjsKKyAgICBkb3VibGUg
ZWxhcHNlZFRpbWUgPSBOQU47CisgICAgaWYgKGF1dG8qIHNoYXJlZE1hbmFnZXIgPSBXZWJDb3Jl
OjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXJJZkV4aXN0cygpKSB7
CiAgICAgICAgIGhhc0FjdGl2ZVNlc3Npb24gPSBzaGFyZWRNYW5hZ2VyLT5oYXNBY3RpdmVOb3dQ
bGF5aW5nU2Vzc2lvbigpOworICAgICAgICB0aXRsZSA9IHNoYXJlZE1hbmFnZXItPmxhc3RVcGRh
dGVkTm93UGxheWluZ1RpdGxlKCk7CisgICAgICAgIGR1cmF0aW9uID0gc2hhcmVkTWFuYWdlci0+
bGFzdFVwZGF0ZWROb3dQbGF5aW5nRHVyYXRpb24oKTsKKyAgICAgICAgZWxhcHNlZFRpbWUgPSBz
aGFyZWRNYW5hZ2VyLT5sYXN0VXBkYXRlZE5vd1BsYXlpbmdFbGFwc2VkVGltZSgpOworICAgIH0K
IAotICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6SGFuZGxlQWN0aXZlTm93UGxheWlu
Z1Nlc3Npb25JbmZvUmVzcG9uc2UoaGFzQWN0aXZlU2Vzc2lvbikpOworICAgIHNlbmQoTWVzc2Fn
ZXM6OldlYlBhZ2VQcm94eTo6SGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9u
c2UoaGFzQWN0aXZlU2Vzc2lvbiwgdGl0bGUsIGR1cmF0aW9uLCBlbGFwc2VkVGltZSkpOwogfQog
CiBOU09iamVjdCAqV2ViUGFnZTo6YWNjZXNzaWJpbGl0eU9iamVjdEZvck1haW5GcmFtZVBsdWdp
bigpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
Njg5NjMzMzdjNjgyN2RkMzc1ZGFlNGI0NzViZGYzYWFkNGU3ODQyYS4uZDMyYjk3YjE3MmM3MjY0
NTMyMDFlYTdmMTkxYTNmNmQ5YjczMTc2YiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE2LTEwLTAxICBXZW5zb24g
SHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIE1lZGlhIGNvbnRyb2xz
IGFyZSBkaXNwbGF5ZWQgaW4gdGhlIGluY29ycmVjdCBzdGF0ZSBtb21lbnRhcmlseSBhZnRlciBz
d2l0Y2hpbmcgYmV0d2VlbiB0YWJzIHBsYXlpbmcgbWVkaWEKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Mjc2NgorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vMjg1MzM1MjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkcyBuZXcgdGVzdHMgYW5kIHR3ZWFrcyBleGlzdGluZyB0ZXN0cyB0byB2ZXJpZnkg
bGFzdCB1cGRhdGVkIE5vdyBQbGF5aW5nIGluZm9ybWF0aW9uLgorCisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvTm93UGxheWluZ0NvbnRyb2xzVGVzdHMubW06Cisg
ICAgICAgICgtW05vd1BsYXlpbmdUZXN0V2ViVmlldyBfaGFuZGxlQWN0aXZlTm93UGxheWluZ1Nl
c3Npb25JbmZvUmVzcG9uc2U6dGl0bGU6ZHVyYXRpb246ZWxhcHNlZFRpbWU6XSk6CisgICAgICAg
IChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKC1bTm93UGxheWluZ1Rlc3RXZWJWaWV3
IF9oYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZTpdKTogRGVsZXRlZC4K
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9sYXJnZS12aWRlby10
ZXN0LW5vdy1wbGF5aW5nLmh0bWw6CisKIDIwMTYtMDktMjkgIEppZXdlbiBUYW4gIDxqaWV3ZW5f
dGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBFeHBvc2UgQ3J5cHRvS2V5IHRvIHdlYiB3b3JrZXJz
CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Ob3dQ
bGF5aW5nQ29udHJvbHNUZXN0cy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
MkNvY29hL05vd1BsYXlpbmdDb250cm9sc1Rlc3RzLm1tCmluZGV4IDUxMDM5MTYyOWU3ZTk3NGRm
NDFjNTE5MDk3NTgzMDFiNzhhMWM4YmMuLmQ1MDNjMzVkMDdiNDg0YzllYTBjNDFiZDhjOWFiZjY4
ZjU4M2VkZWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNv
Y29hL05vd1BsYXlpbmdDb250cm9sc1Rlc3RzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0MkNvY29hL05vd1BsYXlpbmdDb250cm9sc1Rlc3RzLm1tCkBAIC0zNSw2ICsz
NSw5IEBACiAKIEBpbnRlcmZhY2UgTm93UGxheWluZ1Rlc3RXZWJWaWV3IDogVGVzdFdLV2ViVmll
dwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIGhhc0FjdGl2ZU5vd1BsYXlp
bmdTZXNzaW9uOworQHByb3BlcnR5IChyZWFkb25seSkgTlNTdHJpbmcgKmxhc3RVcGRhdGVkVGl0
bGU7CitAcHJvcGVydHkgKHJlYWRvbmx5KSBkb3VibGUgbGFzdFVwZGF0ZWREdXJhdGlvbjsKK0Bw
cm9wZXJ0eSAocmVhZG9ubHkpIGRvdWJsZSBsYXN0VXBkYXRlZEVsYXBzZWRUaW1lOwogQGVuZAog
CiBAaW1wbGVtZW50YXRpb24gTm93UGxheWluZ1Rlc3RXZWJWaWV3IHsKQEAgLTU5LDEwICs2Miwx
NCBAQCAtICh2b2lkKWV4cGVjdEhhc0FjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uOihCT09MKWhhc0Fj
dGl2ZU5vd1BsYXlpbmdTZXNzaW9uCiAgICAgfQogfQogCi0tICh2b2lkKV9oYW5kbGVBY3RpdmVO
b3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZTooQk9PTCloYXNBY3RpdmVTZXNzaW9uCistICh2
b2lkKV9oYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZTooQk9PTCloYXNB
Y3RpdmVTZXNzaW9uIHRpdGxlOihOU1N0cmluZyAqKXRpdGxlIGR1cmF0aW9uOihkb3VibGUpZHVy
YXRpb24gZWxhcHNlZFRpbWU6KGRvdWJsZSllbGFwc2VkVGltZQogewogICAgIF9oYXNBY3RpdmVO
b3dQbGF5aW5nU2Vzc2lvbiA9IGhhc0FjdGl2ZVNlc3Npb247CiAgICAgX3JlY2VpdmVkTm93UGxh
eWluZ0luZm9SZXNwb25zZSA9IHRydWU7CisKKyAgICBfbGFzdFVwZGF0ZWRUaXRsZSA9IFt0aXRs
ZSBjb3B5XTsKKyAgICBfbGFzdFVwZGF0ZWREdXJhdGlvbiA9IGR1cmF0aW9uOworICAgIF9sYXN0
VXBkYXRlZEVsYXBzZWRUaW1lID0gZWxhcHNlZFRpbWU7CiB9CiBAZW5kCiAKQEAgLTc5LDYgKzg2
LDEwIEBAIFRFU1QoTm93UGxheWluZ0NvbnRyb2xzVGVzdHMsIE5vd1BsYXlpbmdDb250cm9sc0Rv
Tm90U2hvd0ZvckZvcmVncm91bmRQYWdlKQogICAgIFt3ZWJWaWV3LndpbmRvdyBzZXRJc1Zpc2li
bGU6WUVTXTsKICAgICBbd2ViVmlldy53aW5kb3cgbWFrZUtleVdpbmRvd107CiAgICAgW3dlYlZp
ZXcgZXhwZWN0SGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb246Tk9dOworCisgICAgQVNTRVJUX1NU
UkVRKCIiLCB3ZWJWaWV3Lmxhc3RVcGRhdGVkVGl0bGUuVVRGOFN0cmluZyk7CisgICAgQVNTRVJU
X1RSVUUoaXNuYW4od2ViVmlldy5sYXN0VXBkYXRlZER1cmF0aW9uKSk7CisgICAgQVNTRVJUX1RS
VUUoaXNuYW4od2ViVmlldy5sYXN0VXBkYXRlZEVsYXBzZWRUaW1lKSk7CiB9CiAKIFRFU1QoTm93
UGxheWluZ0NvbnRyb2xzVGVzdHMsIE5vd1BsYXlpbmdDb250cm9sc1Nob3dGb3JCYWNrZ3JvdW5k
UGFnZSkKQEAgLTkyLDYgKzEwMyw1MiBAQCBURVNUKE5vd1BsYXlpbmdDb250cm9sc1Rlc3RzLCBO
b3dQbGF5aW5nQ29udHJvbHNTaG93Rm9yQmFja2dyb3VuZFBhZ2UpCiAgICAgW3dlYlZpZXcud2lu
ZG93IHNldElzVmlzaWJsZTpOT107CiAgICAgW3dlYlZpZXcud2luZG93IHJlc2lnbktleVdpbmRv
d107CiAgICAgW3dlYlZpZXcgZXhwZWN0SGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb246WUVTXTsK
KworICAgIEFTU0VSVF9TVFJFUSgiZm9vIiwgd2ViVmlldy5sYXN0VXBkYXRlZFRpdGxlLlVURjhT
dHJpbmcpOworICAgIEFTU0VSVF9FUSgxMCwgd2ViVmlldy5sYXN0VXBkYXRlZER1cmF0aW9uKTsK
KyAgICBBU1NFUlRfR0Uod2ViVmlldy5sYXN0VXBkYXRlZEVsYXBzZWRUaW1lLCAwKTsKK30KKwor
VEVTVChOb3dQbGF5aW5nQ29udHJvbHNUZXN0cywgTm93UGxheWluZ0NvbnRyb2xzSGlkZUFmdGVy
U2hvd2luZ1ByZXNlcnZlc0luZm8pCit7CisgICAgV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqY29u
ZmlndXJhdGlvbiA9IFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF07CisgICAg
Y29uZmlndXJhdGlvbi5tZWRpYVR5cGVzUmVxdWlyaW5nVXNlckFjdGlvbkZvclBsYXliYWNrID0g
V0tBdWRpb3Zpc3VhbE1lZGlhVHlwZU5vbmU7CisgICAgTm93UGxheWluZ1Rlc3RXZWJWaWV3ICp3
ZWJWaWV3ID0gW1tOb3dQbGF5aW5nVGVzdFdlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNN
YWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXTsKKyAg
ICBbd2ViVmlldyBsb2FkVGVzdFBhZ2VOYW1lZDpAImxhcmdlLXZpZGVvLXRlc3Qtbm93LXBsYXlp
bmciXTsKKyAgICBbd2ViVmlldyB3YWl0Rm9yTWVzc2FnZTpAInBsYXlpbmciXTsKKworICAgIFt3
ZWJWaWV3LndpbmRvdyBzZXRJc1Zpc2libGU6Tk9dOworICAgIFt3ZWJWaWV3LndpbmRvdyByZXNp
Z25LZXlXaW5kb3ddOworCisgICAgW3dlYlZpZXcgZXhwZWN0SGFzQWN0aXZlTm93UGxheWluZ1Nl
c3Npb246WUVTXTsKKworICAgIFt3ZWJWaWV3LndpbmRvdyBzZXRJc1Zpc2libGU6WUVTXTsKKyAg
ICBbd2ViVmlldy53aW5kb3cgbWFrZUtleVdpbmRvd107CisKKyAgICBbd2ViVmlldyBleHBlY3RI
YXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbjpOT107CisKKyAgICBBU1NFUlRfU1RSRVEoImZvbyIs
IHdlYlZpZXcubGFzdFVwZGF0ZWRUaXRsZS5VVEY4U3RyaW5nKTsKKyAgICBBU1NFUlRfRVEoMTAs
IHdlYlZpZXcubGFzdFVwZGF0ZWREdXJhdGlvbik7CisgICAgQVNTRVJUX0dFKHdlYlZpZXcubGFz
dFVwZGF0ZWRFbGFwc2VkVGltZSwgMCk7Cit9CisKK1RFU1QoTm93UGxheWluZ0NvbnRyb2xzVGVz
dHMsIE5vd1BsYXlpbmdDb250cm9sc0NsZWFySW5mb0FmdGVyU2Vzc2lvbklzTm9Mb25nZXJWYWxp
ZCkKK3sKKyAgICBXS1dlYlZpZXdDb25maWd1cmF0aW9uICpjb25maWd1cmF0aW9uID0gW1tXS1dl
YlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XTsKKyAgICBjb25maWd1cmF0aW9uLm1lZGlh
VHlwZXNSZXF1aXJpbmdVc2VyQWN0aW9uRm9yUGxheWJhY2sgPSBXS0F1ZGlvdmlzdWFsTWVkaWFU
eXBlTm9uZTsKKyAgICBOb3dQbGF5aW5nVGVzdFdlYlZpZXcgKndlYlZpZXcgPSBbW05vd1BsYXlp
bmdUZXN0V2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDQ4MCwg
MzIwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb25dOworICAgIFt3ZWJWaWV3IGxvYWRUZXN0
UGFnZU5hbWVkOkAibGFyZ2UtdmlkZW8tdGVzdC1ub3ctcGxheWluZyJdOworICAgIFt3ZWJWaWV3
IHdhaXRGb3JNZXNzYWdlOkAicGxheWluZyJdOworCisgICAgW3dlYlZpZXcgbW91c2VEb3duQXRQ
b2ludDpOU01ha2VQb2ludCgyNDAsIDE2MCkgc2ltdWxhdGVQcmVzc3VyZTpZRVNdOworICAgIFt3
ZWJWaWV3LndpbmRvdyBzZXRJc1Zpc2libGU6Tk9dOworICAgIFt3ZWJWaWV3LndpbmRvdyByZXNp
Z25LZXlXaW5kb3ddOworCisgICAgW3dlYlZpZXcgZXhwZWN0SGFzQWN0aXZlTm93UGxheWluZ1Nl
c3Npb246Tk9dOworCisgICAgQVNTRVJUX1NUUkVRKCIiLCB3ZWJWaWV3Lmxhc3RVcGRhdGVkVGl0
bGUuVVRGOFN0cmluZyk7CisgICAgQVNTRVJUX1RSVUUoaXNuYW4od2ViVmlldy5sYXN0VXBkYXRl
ZER1cmF0aW9uKSk7CisgICAgQVNTRVJUX1RSVUUoaXNuYW4od2ViVmlldy5sYXN0VXBkYXRlZEVs
YXBzZWRUaW1lKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL2xhcmdlLXZpZGVvLXRl
c3Qtbm93LXBsYXlpbmcuaHRtbCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNv
Y29hL2xhcmdlLXZpZGVvLXRlc3Qtbm93LXBsYXlpbmcuaHRtbAppbmRleCAzYzc5YTU2MjRjMzE0
MjRiYjA0Yjg5MTJiZjZiNzc1MDMzMjliYWU1Li42NTdkYmQ3Mzk1Mjc5MjgwZGE1OWM5YjVlYjBj
YjFhMjA2ZWViNTdhIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dDJDb2NvYS9sYXJnZS12aWRlby10ZXN0LW5vdy1wbGF5aW5nLmh0bWwKKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvbGFyZ2UtdmlkZW8tdGVzdC1ub3ctcGxheWlu
Zy5odG1sCkBAIC03LDYgKzcsMTAgQEAKICAgICAgICAgICAgIGhlaWdodDogMzIwcHg7CiAgICAg
ICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgIH0KKworICAgICAgICBib2R5IHsK
KyAgICAgICAgICAgIG1hcmdpbjogMDsKKyAgICAgICAgfQogICAgIDwvc3R5bGU+CiAgICAgPHNj
cmlwdD4KICAgICAgICAgZnVuY3Rpb24gcGxheWluZygpIHsKQEAgLTE3LDkgKzIxLDEzIEBACiAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSwgMCk7CiAgICAgICAgIH0KKworICAgICAg
ICBmdW5jdGlvbiBtb3VzZWRvd24oKSB7CisgICAgICAgICAgICBkb2N1bWVudC5xdWVyeVNlbGVj
dG9yKCJ2aWRlbyIpLm11dGVkID0gdHJ1ZTsKKyAgICAgICAgfQogICAgIDwvc2NyaXB0PgogPC9o
ZWFkPgogPGJvZHk+Ci0gICAgPHZpZGVvIGF1dG9wbGF5IG9ucGxheWluZz1wbGF5aW5nKCk+PHNv
dXJjZSBzcmM9ImxhcmdlLXZpZGVvLXdpdGgtYXVkaW8ubXA0Ij48L3ZpZGVvPgorICAgIDx2aWRl
byBhdXRvcGxheSB0aXRsZT0iZm9vIiBvbm1vdXNlZG93bj1tb3VzZWRvd24oKSBvbnBsYXlpbmc9
cGxheWluZygpPjxzb3VyY2Ugc3JjPSJsYXJnZS12aWRlby13aXRoLWF1ZGlvLm1wNCI+PC92aWRl
bz4KIDwvYm9keT4KIDxodG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290561</attachid>
            <date>2016-10-03 20:56:07 -0700</date>
            <delta_ts>2016-10-03 22:17:55 -0700</delta_ts>
            <desc>Set Now Playing visibility after setting up info dictionary.</desc>
            <filename>bug-162766-20161003205257.patch</filename>
            <type>text/plain</type>
            <size>23503</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2NzMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjQ5MzA3NzA5MGMzMTAw
OGIzY2JiNjA2YmE2ZmU4ZGVhMjIzMTRhYy4uNjE3MzM3NjY4ZGZhYzEyY2Q5MGExOTUxNzcyZTgw
YWFmMDA0MmZhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE2LTEwLTAzICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIE1lZGlhIGNvbnRy
b2xzIGFyZSBkaXNwbGF5ZWQgaW4gdGhlIGluY29ycmVjdCBzdGF0ZSBtb21lbnRhcmlseSBhZnRl
ciBzd2l0Y2hpbmcgYmV0d2VlbiB0YWJzIHBsYXlpbmcgbWVkaWEKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Mjc2NgorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMjg1MzM1MjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgV2hlbiBzaG93aW5nIE5vdyBQbGF5aW5nIGNvbnRyb2xzIGZvciBhIG1lZGlhIHNl
c3Npb24sIHdlIHNob3VsZCBmaXJzdCBzZXQgdXAgdGhlIE5vdyBQbGF5aW5nIGluZm8gYW5kCisg
ICAgICAgIHBsYXliYWNrIHN0YXRlIGJlZm9yZSB0ZWxsaW5nIE1lZGlhUmVtb3RlIHRvIG1ha2Ug
dGhlIHNlc3Npb24gdmlzaWJsZS4gVGhpcyBpcyBXZWJLaXQgd29yayBpbiBlbnN1cmluZyB0aGF0
CisgICAgICAgIHdoZW4gc3dpdGNoaW5nIE5vdyBQbGF5aW5nIHNlc3Npb25zIGJ5IHN3aXRjaGlu
ZyB0YWJzLCB3ZSBkbyBub3QgZmlyc3QgZGlzcGxheSBhbiBpbnZhbGlkIE5vdyBQbGF5aW5nIHN0
YXRlCisgICAgICAgIGJlZm9yZSB1cGRhdGluZyB0byB0aGUgZXhwZWN0ZWQgc3RhdGUuCisKKyAg
ICAgICAgQWRkcyAyIG5ldyBXZWJLaXQgQVBJIHRlc3RzIGluIE5vd1BsYXlpbmdDb250cm9sc1Rl
c3RzOiBOb3dQbGF5aW5nQ29udHJvbHNIaWRlQWZ0ZXJTaG93aW5nQ2xlYXJzSW5mbyBhbmQKKyAg
ICAgICAgTm93UGxheWluZ0NvbnRyb2xzQ2xlYXJJbmZvQWZ0ZXJTZXNzaW9uSXNOb0xvbmdlclZh
bGlkLgorCisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyLmg6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6Omxh
c3RVcGRhdGVkTm93UGxheWluZ1RpdGxlKToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlcjo6bGFzdFVwZGF0ZWROb3dQbGF5aW5nRHVyYXRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpsYXN0VXBkYXRlZE5vd1Bs
YXlpbmdFbGFwc2VkVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lv
bk1hbmFnZXI6Omhhc0FjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uKTogRGVsZXRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9hdWRpby9tYWMvTWVkaWFTZXNzaW9uTWFuYWdlck1hYy5oOgorICAgICAgICAq
IHBsYXRmb3JtL2F1ZGlvL21hYy9NZWRpYVNlc3Npb25NYW5hZ2VyTWFjLm1tOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFTZXNzaW9uTWFuYWdlck1hYzo6dXBkYXRlTm93UGxheWluZ0luZm8pOgor
CiAyMDE2LTEwLTAzICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4K
IAogICAgICAgICBbU09VUF0gU2ltcGxpZnkgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCA3MTgxMDU1ODNjZDIwMmI2OGYwZTk2M2NjNDc0YThhODFjZTk3YzQ3Li5mMGUzMDYx
OTM5NzhlNGEyNDE2NWE0ZDc0MzAyNGQ1Njg5NzdlMTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjkgQEAKKzIwMTYtMTAtMDMgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+
CisKKyAgICAgICAgTWVkaWEgY29udHJvbHMgYXJlIGRpc3BsYXllZCBpbiB0aGUgaW5jb3JyZWN0
IHN0YXRlIG1vbWVudGFyaWx5IGFmdGVyIHN3aXRjaGluZyBiZXR3ZWVuIHRhYnMgcGxheWluZyBt
ZWRpYQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYy
NzY2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yODUzMzUyMz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQbHVtYnMgc29tZSBtb3JlIE5vdyBQbGF5
aW5nIGluZm9ybWF0aW9uIGZyb20gdGhlIHdlYiBwcm9jZXNzIHRvIHRoZSBVSSBwcm9jZXNzIGZv
ciB0ZXN0aW5nIHB1cnBvc2VzLiBTZWUKKyAgICAgICAgV2ViQ29yZSBDaGFuZ2VMb2cgZm9yIG1v
cmUgZGV0YWlscy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1t
OgorICAgICAgICAoLVtXS1dlYlZpZXcgX2hhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5m
b1Jlc3BvbnNlOnRpdGxlOmR1cmF0aW9uOmVsYXBzZWRUaW1lOl0pOgorICAgICAgICAoLVtXS1dl
YlZpZXcgX2hhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlOl0pOiBEZWxl
dGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6aGFuZGxlQWN0
aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9uc2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdl
Q2xpZW50SW1wbDo6aGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9uc2UpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZTo6cmVxdWVzdEFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mbyk6CisK
IDIwMTYtMTAtMDMgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtTT1VQXSBDbGVhbnVwIHBlcnNpc3RlbnQgY3JlZGVudGlhbCBzdG9yYWdlIGNv
ZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVk
aWFTZXNzaW9uTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKaW5kZXggYWQyZjExM2Y4MjFkMWVhY2ZiNGQwMDg3NGNm
NGQ3YzczZGQzMTdjYy4uYTNjODA1OThkNDQwMmNmNmY0MzEyMDUzN2M2N2MyYmM5Nzg5YzE5MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNl
c3Npb25NYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZv
cm1NZWRpYVNlc3Npb25NYW5hZ2VyLmgKQEAgLTU4LDYgKzU4LDkgQEAgcHVibGljOgogICAgIGJv
b2wgY2FuUHJvZHVjZUF1ZGlvKCkgY29uc3Q7CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFs
IGJvb2wgaGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb24oKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQorICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgU3RyaW5nIGxhc3RVcGRhdGVkTm93UGxheWlu
Z1RpdGxlKCkgY29uc3QgeyByZXR1cm4gZW1wdHlTdHJpbmcoKTsgfQorICAgIFdFQkNPUkVfRVhQ
T1JUIHZpcnR1YWwgZG91YmxlIGxhc3RVcGRhdGVkTm93UGxheWluZ0R1cmF0aW9uKCkgY29uc3Qg
eyByZXR1cm4gTkFOOyB9CisgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCBkb3VibGUgbGFzdFVw
ZGF0ZWROb3dQbGF5aW5nRWxhcHNlZFRpbWUoKSBjb25zdCB7IHJldHVybiBOQU47IH0KIAogICAg
IGJvb2wgd2lsbElnbm9yZVN5c3RlbUludGVycnVwdGlvbnMoKSBjb25zdCB7IHJldHVybiBtX3dp
bGxJZ25vcmVTeXN0ZW1JbnRlcnJ1cHRpb25zOyB9CiAgICAgdm9pZCBzZXRXaWxsSWdub3JlU3lz
dGVtSW50ZXJydXB0aW9ucyhib29sIGlnbm9yZSkgeyBtX3dpbGxJZ25vcmVTeXN0ZW1JbnRlcnJ1
cHRpb25zID0gaWdub3JlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9tYWMvTWVkaWFTZXNzaW9uTWFuYWdlck1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vYXVkaW8vbWFjL01lZGlhU2Vzc2lvbk1hbmFnZXJNYWMuaAppbmRleCBmN2M3OGM0MWIzNzZh
YjBlZmFhYmMxMGM3ZjgzMmJmOTAxMjdkM2Q0Li5jYzUzZDg1NTY1NzNlYTU2NzU3YTY5ZWQ3ZTE2
ZjQwODI1NWE4YjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9t
YWMvTWVkaWFTZXNzaW9uTWFuYWdlck1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL21hYy9NZWRpYVNlc3Npb25NYW5hZ2VyTWFjLmgKQEAgLTM3LDYgKzM3LDkgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgfk1lZGlhU2Vzc2lvbk1hbmFnZXJNYWMoKTsKIAogICAgIGJvb2wg
aGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX25v
d1BsYXlpbmdBY3RpdmU7IH0KKyAgICBTdHJpbmcgbGFzdFVwZGF0ZWROb3dQbGF5aW5nVGl0bGUo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2xhc3RVcGRhdGVkTm93UGxheWluZ1RpdGxlOyB9
CisgICAgZG91YmxlIGxhc3RVcGRhdGVkTm93UGxheWluZ0R1cmF0aW9uKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gbV9sYXN0VXBkYXRlZE5vd1BsYXlpbmdEdXJhdGlvbjsgfQorICAgIGRvdWJs
ZSBsYXN0VXBkYXRlZE5vd1BsYXlpbmdFbGFwc2VkVGltZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIG1fbGFzdFVwZGF0ZWROb3dQbGF5aW5nRWxhcHNlZFRpbWU7IH0KIAogcHJpdmF0ZToKICAg
ICBmcmllbmQgY2xhc3MgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOwpAQCAtNTcsNiArNjAs
MTIgQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9ub3dQbGF5aW5nQWN0aXZlIHsgZmFsc2UgfTsK
ICAgICBib29sIG1faXNJbkJhY2tncm91bmQgeyBmYWxzZSB9OworCisgICAgLy8gRm9yIHRlc3Rp
bmcgcHVycG9zZXMgb25seS4KKyAgICBTdHJpbmcgbV9sYXN0VXBkYXRlZE5vd1BsYXlpbmdUaXRs
ZTsKKyAgICBkb3VibGUgbV9sYXN0VXBkYXRlZE5vd1BsYXlpbmdEdXJhdGlvbiB7IE5BTiB9Owor
ICAgIGRvdWJsZSBtX2xhc3RVcGRhdGVkTm93UGxheWluZ0VsYXBzZWRUaW1lIHsgTkFOIH07CisK
ICAgICBHZW5lcmljVGFza1F1ZXVlPFRpbWVyPiBtX25vd1BsYXlpbmdVcGRhdGVUYXNrUXVldWU7
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9tYWMvTWVk
aWFTZXNzaW9uTWFuYWdlck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21h
Yy9NZWRpYVNlc3Npb25NYW5hZ2VyTWFjLm1tCmluZGV4IDNkNmQ5ZTk0NzMwNWIyMDZhMzgxMjRi
ZGM2YTUwM2VkODk0NDQ2ZGIuLmNjMTFlYmZjODE2YmJjOGVkYjU5NTIxMjNiMzAyNTNjMzhiYzQw
MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9NZWRpYVNl
c3Npb25NYW5hZ2VyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21h
Yy9NZWRpYVNlc3Npb25NYW5hZ2VyTWFjLm1tCkBAIC0xMzYsNiArMTM2LDkgQEAgdm9pZCBNZWRp
YVNlc3Npb25NYW5hZ2VyTWFjOjp1cGRhdGVOb3dQbGF5aW5nSW5mbygpCiAgICAgICAgICAgICBM
T0coTWVkaWEsICJNZWRpYVNlc3Npb25NYW5hZ2VyTWFjOjp1cGRhdGVOb3dQbGF5aW5nSW5mbyAt
IGNsZWFyaW5nIG5vdyBwbGF5aW5nIGluZm8iKTsKICAgICAgICAgICAgIE1STWVkaWFSZW1vdGVT
ZXROb3dQbGF5aW5nSW5mbyhudWxscHRyKTsKICAgICAgICAgICAgIG1fbm93UGxheWluZ0FjdGl2
ZSA9IGZhbHNlOworICAgICAgICAgICAgbV9sYXN0VXBkYXRlZE5vd1BsYXlpbmdUaXRsZSA9IGVt
cHR5U3RyaW5nKCk7CisgICAgICAgICAgICBtX2xhc3RVcGRhdGVkTm93UGxheWluZ0R1cmF0aW9u
ID0gTkFOOworICAgICAgICAgICAgbV9sYXN0VXBkYXRlZE5vd1BsYXlpbmdFbGFwc2VkVGltZSA9
IE5BTjsKICAgICAgICAgICAgIE1STWVkaWFSZW1vdGVTZXROb3dQbGF5aW5nQXBwbGljYXRpb25Q
bGF5YmFja1N0YXRlRm9yT3JpZ2luKE1STWVkaWFSZW1vdGVHZXRMb2NhbE9yaWdpbigpLCBrTVJQ
bGF5YmFja1N0YXRlU3RvcHBlZCwgZGlzcGF0Y2hfZ2V0X21haW5fcXVldWUoKSwgXihNUk1lZGlh
UmVtb3RlRXJyb3IgZXJyb3IpIHsKICNpZiBMT0dfRElTQUJMRUQKICAgICAgICAgICAgICAgICBV
TlVTRURfUEFSQU0oZXJyb3IpOwpAQCAtMTUzLDIwICsxNTYsMjAgQEAgdm9pZCBNZWRpYVNlc3Np
b25NYW5hZ2VyTWFjOjp1cGRhdGVOb3dQbGF5aW5nSW5mbygpCiAgICAgICAgIE1STWVkaWFSZW1v
dGVTZXRDYW5CZU5vd1BsYXlpbmdBcHBsaWNhdGlvbih0cnVlKTsKICAgICB9KTsKIAotICAgIGlm
IChjYW5Mb2FkX01lZGlhUmVtb3RlX01STWVkaWFSZW1vdGVTZXROb3dQbGF5aW5nVmlzaWJpbGl0
eSgpKQotICAgICAgICBNUk1lZGlhUmVtb3RlU2V0Tm93UGxheWluZ1Zpc2liaWxpdHkoTVJNZWRp
YVJlbW90ZUdldExvY2FsT3JpZ2luKCksIE1STm93UGxheWluZ0NsaWVudFZpc2liaWxpdHlBbHdh
eXNWaXNpYmxlKTsKLQogICAgIFN0cmluZyB0aXRsZSA9IGN1cnJlbnRTZXNzaW9uLT50aXRsZSgp
OwogICAgIGRvdWJsZSBkdXJhdGlvbiA9IGN1cnJlbnRTZXNzaW9uLT5kdXJhdGlvbigpOwogICAg
IGRvdWJsZSByYXRlID0gY3VycmVudFNlc3Npb24tPnN0YXRlKCkgPT0gUGxhdGZvcm1NZWRpYVNl
c3Npb246OlBsYXlpbmcgPyAxIDogMDsKICAgICBhdXRvIGluZm8gPSBhZG9wdENGKENGRGljdGlv
bmFyeUNyZWF0ZU11dGFibGUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgNCwgJmtDRlR5cGVEaWN0aW9u
YXJ5S2V5Q2FsbEJhY2tzLCAma0NGVHlwZURpY3Rpb25hcnlWYWx1ZUNhbGxCYWNrcykpOwogCi0g
ICAgaWYgKCF0aXRsZS5pc0VtcHR5KCkpCisgICAgaWYgKCF0aXRsZS5pc0VtcHR5KCkpIHsKICAg
ICAgICAgQ0ZEaWN0aW9uYXJ5U2V0VmFsdWUoaW5mby5nZXQoKSwga01STWVkaWFSZW1vdGVOb3dQ
bGF5aW5nSW5mb1RpdGxlLCB0aXRsZS5jcmVhdGVDRlN0cmluZygpLmdldCgpKTsKKyAgICAgICAg
bV9sYXN0VXBkYXRlZE5vd1BsYXlpbmdUaXRsZSA9IHRpdGxlOworICAgIH0KIAogICAgIGlmIChz
dGQ6OmlzZmluaXRlKGR1cmF0aW9uKSAmJiBkdXJhdGlvbiAhPSBNZWRpYVBsYXllcjo6aW52YWxp
ZFRpbWUoKSkgewogICAgICAgICBhdXRvIGNmRHVyYXRpb24gPSBhZG9wdENGKENGTnVtYmVyQ3Jl
YXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIGtDRk51bWJlckRvdWJsZVR5cGUsICZkdXJhdGlvbikp
OwogICAgICAgICBDRkRpY3Rpb25hcnlTZXRWYWx1ZShpbmZvLmdldCgpLCBrTVJNZWRpYVJlbW90
ZU5vd1BsYXlpbmdJbmZvRHVyYXRpb24sIGNmRHVyYXRpb24uZ2V0KCkpOworICAgICAgICBtX2xh
c3RVcGRhdGVkTm93UGxheWluZ0R1cmF0aW9uID0gZHVyYXRpb247CiAgICAgfQogCiAgICAgYXV0
byBjZlJhdGUgPSBDRk51bWJlckNyZWF0ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBrQ0ZOdW1iZXJE
b3VibGVUeXBlLCAmcmF0ZSk7CkBAIC0xNzYsNiArMTc5LDcgQEAgdm9pZCBNZWRpYVNlc3Npb25N
YW5hZ2VyTWFjOjp1cGRhdGVOb3dQbGF5aW5nSW5mbygpCiAgICAgaWYgKHN0ZDo6aXNmaW5pdGUo
Y3VycmVudFRpbWUpICYmIGN1cnJlbnRUaW1lICE9IE1lZGlhUGxheWVyOjppbnZhbGlkVGltZSgp
KSB7CiAgICAgICAgIGF1dG8gY2ZDdXJyZW50VGltZSA9IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVhdGUo
a0NGQWxsb2NhdG9yRGVmYXVsdCwga0NGTnVtYmVyRG91YmxlVHlwZSwgJmN1cnJlbnRUaW1lKSk7
CiAgICAgICAgIENGRGljdGlvbmFyeVNldFZhbHVlKGluZm8uZ2V0KCksIGtNUk1lZGlhUmVtb3Rl
Tm93UGxheWluZ0luZm9FbGFwc2VkVGltZSwgY2ZDdXJyZW50VGltZS5nZXQoKSk7CisgICAgICAg
IG1fbGFzdFVwZGF0ZWROb3dQbGF5aW5nRWxhcHNlZFRpbWUgPSBjdXJyZW50VGltZTsKICAgICB9
CiAKICAgICBMT0coTWVkaWEsICJNZWRpYVNlc3Npb25NYW5hZ2VyTWFjOjp1cGRhdGVOb3dQbGF5
aW5nSW5mbyAtIHRpdGxlID0gXCIlc1wiLCByYXRlID0gJWYsIGR1cmF0aW9uID0gJWYsIG5vdyA9
ICVmIiwKQEAgLTE5Niw2ICsyMDAsOSBAQCB2b2lkIE1lZGlhU2Vzc2lvbk1hbmFnZXJNYWM6OnVw
ZGF0ZU5vd1BsYXlpbmdJbmZvKCkKICAgICB9KTsKICAgICBNUk1lZGlhUmVtb3RlU2V0Tm93UGxh
eWluZ0luZm8oaW5mby5nZXQoKSk7CiAjZW5kaWYKKworICAgIGlmIChjYW5Mb2FkX01lZGlhUmVt
b3RlX01STWVkaWFSZW1vdGVTZXROb3dQbGF5aW5nVmlzaWJpbGl0eSgpKQorICAgICAgICBNUk1l
ZGlhUmVtb3RlU2V0Tm93UGxheWluZ1Zpc2liaWxpdHkoTVJNZWRpYVJlbW90ZUdldExvY2FsT3Jp
Z2luKCksIE1STm93UGxheWluZ0NsaWVudFZpc2liaWxpdHlBbHdheXNWaXNpYmxlKTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlldy5tbQppbmRleCA0MzEwYmU4MWM0YTI2YzZlMDhhNjdkNTlkZDliZGMw
ZmI5OGVhNzE0Li5kMDFjYTVjNjQxNGY5N2U0MjUzMDE0YzNkZDIwNzQ3YjhkNWY3ZTVmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAt
NDU5MSw3ICs0NTkxLDcgQEAgLSAodm9pZClfcmVxdWVzdEFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9u
SW5mbwogICAgICAgICBfcGFnZS0+cmVxdWVzdEFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mbygp
OwogfQogCi0tICh2b2lkKV9oYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25z
ZTooQk9PTCloYXNBY3RpdmVTZXNzaW9uCistICh2b2lkKV9oYW5kbGVBY3RpdmVOb3dQbGF5aW5n
U2Vzc2lvbkluZm9SZXNwb25zZTooQk9PTCloYXNBY3RpdmVTZXNzaW9uIHRpdGxlOihOU1N0cmlu
ZyAqKXRpdGxlIGR1cmF0aW9uOihkb3VibGUpZHVyYXRpb24gZWxhcHNlZFRpbWU6KGRvdWJsZSll
bGFwc2VkVGltZQogewogICAgIC8vIE92ZXJyaWRkZW4gYnkgc3ViY2xhc3Nlcy4KIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0
ZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRl
LmgKaW5kZXggZjg3YTU0OGQ1YmNiNjVmNzFjZTQ5ZTcwODA1MTc1MzQ5NmI1MmMwNC4uZGMzMzk3
MzYzMWQzZjhmNmIxOTFiOWU5ZTRkNTM5MWQ2MGZlYzZmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmgKQEAgLTI4Miw3
ICsyODIsNyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBfV0tJbW1lZGlhdGVBY3Rpb25U
eXBlKSB7CiAtICh2b2lkKV9kaWRVcGRhdGVDYW5kaWRhdGVMaXN0VmlzaWJpbGl0eTooQk9PTCl2
aXNpYmxlIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsKIEBwcm9wZXJ0eSAo
bm9uYXRvbWljLCByZWFkb25seSkgQk9PTCBfc2hvdWxkUmVxdWVzdENhbmRpZGF0ZXMgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwogLSAodm9pZClfcmVxdWVzdEFjdGl2ZU5v
d1BsYXlpbmdTZXNzaW9uSW5mbyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7
Ci0tICh2b2lkKV9oYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZTooQk9P
TCloYXNBY3RpdmVTZXNzaW9uIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpKTsK
Ky0gKHZvaWQpX2hhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlOihCT09M
KWhhc0FjdGl2ZVNlc3Npb24gdGl0bGU6KE5TU3RyaW5nICopdGl0bGUgZHVyYXRpb246KGRvdWJs
ZSlkdXJhdGlvbiBlbGFwc2VkVGltZTooZG91YmxlKWVsYXBzZWRUaW1lIFdLX0FQSV9BVkFJTEFC
TEUobWFjb3N4KFdLX01BQ19UQkEpKTsKICNlbmRpZgogCiAtICh2b2lkKV9kb0FmdGVyTmV4dFBy
ZXNlbnRhdGlvblVwZGF0ZToodm9pZCAoXikodm9pZCkpdXBkYXRlQmxvY2sgV0tfQVBJX0FWQUlM
QUJMRShtYWNvc3goMTAuMTIpLCBpb3MoMTAuMCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdl
Q2xpZW50LmgKaW5kZXggYTMwZjJiZWI3YjdjOGYzYWQ5MTg5M2I1OTY5NWQ1ZDg1YzY1YmYzMC4u
NjgzNzk0NGVkOGI4NjI1YWQwMmJmMmI5MjlmOTc2YjEwNGI3ZjMwMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC0yNDgsNyArMjQ4LDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCByZWNvbW1lbmRlZFNjcm9sbGJhclN0eWxlRGlkQ2hhbmdlKFdlYkNvcmU6OlNj
cm9sbGJhclN0eWxlKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZU5hdmlnYXRpb25HZXN0
dXJlU25hcHNob3QoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUNvbnRyb2xsZWRFbGVt
ZW50SURSZXNwb25zZShjb25zdCBTdHJpbmcmKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGhhbmRs
ZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlKGJvb2wgaGFzQWN0aXZlU2Vzc2lv
bikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbklu
Zm9SZXNwb25zZShib29sIGhhc0FjdGl2ZVNlc3Npb24sIGNvbnN0IFN0cmluZyYgdGl0bGUsIGRv
dWJsZSBkdXJhdGlvbiwgZG91YmxlIGVsYXBzZWRUaW1lKSA9IDA7CiAKICAgICB2aXJ0dWFsIENH
UmVjdCBib3VuZHNPZkxheWVySW5MYXllckJhY2tlZFdpbmRvd0Nvb3JkaW5hdGVzKENBTGF5ZXIg
KikgY29uc3QgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CmluZGV4IDNmZjViN2NhOWM2OGEwYzRiMTg2OTczZGQ5MDE4ZGM5N2JkOGFlZDcuLmVhMzE1NDA0
YjQxNmVlMmIwYzg4MzA4YTMyYmY3OTU2OWE3MjY3MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC02Mzg3LDkgKzYzODcsOSBAQCB2b2lkIFdlYlBhZ2VQ
cm94eTo6cmVxdWVzdEFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mbygpCiAgICAgbV9wcm9jZXNz
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpSZXF1ZXN0QWN0aXZlTm93UGxheWluZ1Nlc3Npb25J
bmZvKCksIG1fcGFnZUlEKTsKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OmhhbmRsZUFjdGl2ZU5v
d1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlKGJvb2wgaGFzQWN0aXZlU2Vzc2lvbikgY29uc3QK
K3ZvaWQgV2ViUGFnZVByb3h5OjpoYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNw
b25zZShib29sIGhhc0FjdGl2ZVNlc3Npb24sIGNvbnN0IFN0cmluZyYgdGl0bGUsIGRvdWJsZSBk
dXJhdGlvbiwgZG91YmxlIGVsYXBzZWRUaW1lKSBjb25zdAogewotICAgIG1fcGFnZUNsaWVudC5o
YW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZShoYXNBY3RpdmVTZXNzaW9u
KTsKKyAgICBtX3BhZ2VDbGllbnQuaGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVz
cG9uc2UoaGFzQWN0aXZlU2Vzc2lvbiwgdGl0bGUsIGR1cmF0aW9uLCBlbGFwc2VkVGltZSk7CiB9
CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpoYW5kbGVDb250cm9sbGVkRWxlbWVudElEUmVzcG9uc2Uo
Y29uc3QgU3RyaW5nJiBpZGVudGlmaWVyKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCmluZGV4IDJlYTMwNGFmNjZlMjA3ZmUwYWJmMTY5MTk5ZmZmZjkyZWRiM2U4
NzIuLjIwOWM5MGEyMmQ1OTY3NmFkYWEwMmE1YWQzODQ3NWQxMGY4OTgwMTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTEwMzYsNyArMTAzNiw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHJlcXVlc3RDb250cm9sbGVkRWxlbWVudElEKCkgY29uc3Q7CiAgICAgdm9p
ZCBoYW5kbGVDb250cm9sbGVkRWxlbWVudElEUmVzcG9uc2UoY29uc3QgU3RyaW5nJikgY29uc3Q7
CiAgICAgdm9pZCByZXF1ZXN0QWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvKCk7Ci0gICAgdm9p
ZCBoYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZShib29sIGhhc0FjdGl2
ZVNlc3Npb24pIGNvbnN0OworICAgIHZvaWQgaGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25J
bmZvUmVzcG9uc2UoYm9vbCBoYXNBY3RpdmVTZXNzaW9uLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBk
b3VibGUgZHVyYXRpb24sIGRvdWJsZSBlbGFwc2VkVGltZSkgY29uc3Q7CiAgICAgYm9vbCBpc1Bs
YXlpbmdWaWRlb0luRW5oYW5jZWRGdWxsc2NyZWVuKCkgY29uc3Q7CiAjZW5kaWYKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXgg
ZDE5YmM3N2VkM2UzMjJkZTIwYmJiMzEyM2RjNWNmYjY4YjA2M2JhMi4uMGY3N2MxMzAzMGQ1ZDM5
ZTU0NDQ4ZDZjNDA0YjE1ZTBiMjEzZGUxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC00NzAsNiArNDcwLDYgQEAgbWVzc2Fn
ZXMgLT4gV2ViUGFnZVByb3h5IHsKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICBEaWRIYW5kbGVB
Y2NlcHRlZENhbmRpZGF0ZSgpCi0gICAgSGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZv
UmVzcG9uc2UoYm9vbCBoYXNBY3RpdmVTZXNzaW9uKQorICAgIEhhbmRsZUFjdGl2ZU5vd1BsYXlp
bmdTZXNzaW9uSW5mb1Jlc3BvbnNlKGJvb2wgaGFzQWN0aXZlU2Vzc2lvbiwgU3RyaW5nIHRpdGxl
LCBkb3VibGUgZHVyYXRpb24sIGRvdWJsZSBlbGFwc2VkVGltZSkKICNlbmRpZgogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5oCmluZGV4IDlkN2UzZDAx
ZTM2YmQwMDIwNzY3MDQ3NTJmMzZmMzE3M2EzZGE1NzQuLjgwZmNiOWJkMTg5YzI2N2ZhZmY2YjA0
MjM2NjI4YTExOTE3YTc4YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9t
YWMvUGFnZUNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1Bh
Z2VDbGllbnRJbXBsLmgKQEAgLTIwNyw3ICsyMDcsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlk
U2FtZURvY3VtZW50TmF2aWdhdGlvbkZvck1haW5GcmFtZShTYW1lRG9jdW1lbnROYXZpZ2F0aW9u
VHlwZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCByZW1vdmVOYXZpZ2F0aW9uR2VzdHVyZVNuYXBzaG90
KCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBoYW5kbGVDb250cm9sbGVkRWxlbWVudElEUmVzcG9uc2Uo
Y29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBoYW5kbGVBY3RpdmVOb3dQbGF5aW5n
U2Vzc2lvbkluZm9SZXNwb25zZShib29sIGhhc0FjdGl2ZVNlc3Npb24pIG92ZXJyaWRlOworICAg
IHZvaWQgaGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9uc2UoYm9vbCBoYXNB
Y3RpdmVTZXNzaW9uLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBkb3VibGUgZHVyYXRpb24sIGRvdWJs
ZSBlbGFwc2VkVGltZSkgb3ZlcnJpZGU7CiAKICAgICB2b2lkIGRpZFBlcmZvcm1JbW1lZGlhdGVB
Y3Rpb25IaXRUZXN0KGNvbnN0IFdlYkhpdFRlc3RSZXN1bHREYXRhJiwgYm9vbCBjb250ZW50UHJl
dmVudHNEZWZhdWx0LCBBUEk6Ok9iamVjdCopIG92ZXJyaWRlOwogICAgIHZvaWQqIGltbWVkaWF0
ZUFjdGlvbkFuaW1hdGlvbkNvbnRyb2xsZXJGb3JIaXRUZXN0UmVzdWx0KFJlZlB0cjxBUEk6Okhp
dFRlc3RSZXN1bHQ+LCB1aW50NjRfdCwgUmVmUHRyPEFQSTo6T2JqZWN0Pikgb3ZlcnJpZGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1t
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbQppbmRleCA1
YzNhMjJlZjdkYzU2NGVjM2ExZDVmN2ZlZjk1NTdkNTkwYTVkMGZmLi42MjlhYWY1NjcyNjJiNjY0
NjFiNDM5OGJkMmE2OGQ2MjVmMWE4MmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9tYWMvUGFnZUNsaWVudEltcGwubW0KQEAgLTc1OSwxMCArNzU5LDEwIEBAIHZvaWQgUGFnZUNs
aWVudEltcGw6OmhhbmRsZUNvbnRyb2xsZWRFbGVtZW50SURSZXNwb25zZShjb25zdCBTdHJpbmcm
IGlkZW50aWZpZXIpCiAjZW5kaWYKIH0KIAotdm9pZCBQYWdlQ2xpZW50SW1wbDo6aGFuZGxlQWN0
aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9uc2UoYm9vbCBoYXNBY3RpdmVTZXNzaW9uKQor
dm9pZCBQYWdlQ2xpZW50SW1wbDo6aGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVz
cG9uc2UoYm9vbCBoYXNBY3RpdmVTZXNzaW9uLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBkb3VibGUg
ZHVyYXRpb24sIGRvdWJsZSBlbGFwc2VkVGltZSkKIHsKICNpZiBXS19BUElfRU5BQkxFRAotICAg
IFttX3dlYlZpZXcgX2hhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlOmhh
c0FjdGl2ZVNlc3Npb25dOworICAgIFttX3dlYlZpZXcgX2hhbmRsZUFjdGl2ZU5vd1BsYXlpbmdT
ZXNzaW9uSW5mb1Jlc3BvbnNlOmhhc0FjdGl2ZVNlc3Npb24gdGl0bGU6bnNTdHJpbmdGcm9tV2Vi
Q29yZVN0cmluZyh0aXRsZSkgZHVyYXRpb246ZHVyYXRpb24gZWxhcHNlZFRpbWU6ZWxhcHNlZFRp
bWVdOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvV2ViUGFnZU1hYy5tbQppbmRleCBlNzljOTFiYWE5MDNiOWFlOWQ4ZThjZGU4NTYy
ZWI4NTcwZTVjNDFhLi5kOTRhMGNhZjE2NTk2OWRhYjIyNjNkZjQ5YmVjOWEwODA1ZGFiZDg5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VN
YWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdl
TWFjLm1tCkBAIC0xNjQsMTAgKzE2NCwxNyBAQCB2b2lkIFdlYlBhZ2U6OmhhbmRsZUFjY2VwdGVk
Q2FuZGlkYXRlKFdlYkNvcmU6OlRleHRDaGVja2luZ1Jlc3VsdCBhY2NlcHRlZENhbmRpZAogdm9p
ZCBXZWJQYWdlOjpyZXF1ZXN0QWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvKCkKIHsKICAgICBi
b29sIGhhc0FjdGl2ZVNlc3Npb24gPSBmYWxzZTsKLSAgICBpZiAoYXV0byogc2hhcmVkTWFuYWdl
ciA9IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcklm
RXhpc3RzKCkpCisgICAgU3RyaW5nIHRpdGxlID0gZW1wdHlTdHJpbmcoKTsKKyAgICBkb3VibGUg
ZHVyYXRpb24gPSBOQU47CisgICAgZG91YmxlIGVsYXBzZWRUaW1lID0gTkFOOworICAgIGlmIChh
dXRvKiBzaGFyZWRNYW5hZ2VyID0gV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2Vy
OjpzaGFyZWRNYW5hZ2VySWZFeGlzdHMoKSkgewogICAgICAgICBoYXNBY3RpdmVTZXNzaW9uID0g
c2hhcmVkTWFuYWdlci0+aGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb24oKTsKKyAgICAgICAgdGl0
bGUgPSBzaGFyZWRNYW5hZ2VyLT5sYXN0VXBkYXRlZE5vd1BsYXlpbmdUaXRsZSgpOworICAgICAg
ICBkdXJhdGlvbiA9IHNoYXJlZE1hbmFnZXItPmxhc3RVcGRhdGVkTm93UGxheWluZ0R1cmF0aW9u
KCk7CisgICAgICAgIGVsYXBzZWRUaW1lID0gc2hhcmVkTWFuYWdlci0+bGFzdFVwZGF0ZWROb3dQ
bGF5aW5nRWxhcHNlZFRpbWUoKTsKKyAgICB9CiAKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdl
UHJveHk6OkhhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlKGhhc0FjdGl2
ZVNlc3Npb24pKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkhhbmRsZUFjdGl2
ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlKGhhc0FjdGl2ZVNlc3Npb24sIHRpdGxlLCBk
dXJhdGlvbiwgZWxhcHNlZFRpbWUpKTsKIH0KIAogTlNPYmplY3QgKldlYlBhZ2U6OmFjY2Vzc2li
aWxpdHlPYmplY3RGb3JNYWluRnJhbWVQbHVnaW4oKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGI3YzdmODY1NTE3NWMxNzVlOWUyOWEyZDcxMWE0
MmZkZjMwMWE1MDEuLjBlYzEyNTEwMTE5ZTA2ZTI1MjA0ZGJkMDA4NGY3NDBhZWM4YWViZjQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxOSBAQAorMjAxNi0xMC0wMyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNv
bT4KKworICAgICAgICBNZWRpYSBjb250cm9scyBhcmUgZGlzcGxheWVkIGluIHRoZSBpbmNvcnJl
Y3Qgc3RhdGUgbW9tZW50YXJpbHkgYWZ0ZXIgc3dpdGNoaW5nIGJldHdlZW4gdGFicyBwbGF5aW5n
IG1lZGlhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NjI3NjYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI4NTMzNTIzPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZHMgbmV3IHRlc3RzIGFuZCB0d2Vh
a3MgZXhpc3RpbmcgdGVzdHMgdG8gdmVyaWZ5IGxhc3QgdXBkYXRlZCBOb3cgUGxheWluZyBpbmZv
cm1hdGlvbi4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL05v
d1BsYXlpbmdDb250cm9sc1Rlc3RzLm1tOgorICAgICAgICAoLVtOb3dQbGF5aW5nVGVzdFdlYlZp
ZXcgX2hhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlOnRpdGxlOmR1cmF0
aW9uOmVsYXBzZWRUaW1lOl0pOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAg
ICAgICgtW05vd1BsYXlpbmdUZXN0V2ViVmlldyBfaGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Np
b25JbmZvUmVzcG9uc2U6XSk6IERlbGV0ZWQuCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQyQ29jb2EvbGFyZ2UtdmlkZW8tdGVzdC1ub3ctcGxheWluZy5odG1sOgorCiAyMDE2
LTEwLTAzICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbU09VUF0gQ2xlYW51cCBwZXJzaXN0ZW50IGNyZWRlbnRpYWwgc3RvcmFnZSBjb2RlCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9Ob3dQbGF5
aW5nQ29udHJvbHNUZXN0cy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNv
Y29hL05vd1BsYXlpbmdDb250cm9sc1Rlc3RzLm1tCmluZGV4IDUxMDM5MTYyOWU3ZTk3NGRmNDFj
NTE5MDk3NTgzMDFiNzhhMWM4YmMuLjg3ZmJmMGFkMzA3NjFmMzBhNjAxZDBjZjA3YTk2ZjJlNTNm
NDJkMTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29h
L05vd1BsYXlpbmdDb250cm9sc1Rlc3RzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0MkNvY29hL05vd1BsYXlpbmdDb250cm9sc1Rlc3RzLm1tCkBAIC0zNSw2ICszNSw5
IEBACiAKIEBpbnRlcmZhY2UgTm93UGxheWluZ1Rlc3RXZWJWaWV3IDogVGVzdFdLV2ViVmlldwog
QHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBCT09MIGhhc0FjdGl2ZU5vd1BsYXlpbmdT
ZXNzaW9uOworQHByb3BlcnR5IChyZWFkb25seSkgTlNTdHJpbmcgKmxhc3RVcGRhdGVkVGl0bGU7
CitAcHJvcGVydHkgKHJlYWRvbmx5KSBkb3VibGUgbGFzdFVwZGF0ZWREdXJhdGlvbjsKK0Bwcm9w
ZXJ0eSAocmVhZG9ubHkpIGRvdWJsZSBsYXN0VXBkYXRlZEVsYXBzZWRUaW1lOwogQGVuZAogCiBA
aW1wbGVtZW50YXRpb24gTm93UGxheWluZ1Rlc3RXZWJWaWV3IHsKQEAgLTU5LDkgKzYyLDEzIEBA
IC0gKHZvaWQpZXhwZWN0SGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb246KEJPT0wpaGFzQWN0aXZl
Tm93UGxheWluZ1Nlc3Npb24KICAgICB9CiB9CiAKLS0gKHZvaWQpX2hhbmRsZUFjdGl2ZU5vd1Bs
YXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlOihCT09MKWhhc0FjdGl2ZVNlc3Npb24KKy0gKHZvaWQp
X2hhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlOihCT09MKWhhc0FjdGl2
ZVNlc3Npb24gdGl0bGU6KE5TU3RyaW5nICopdGl0bGUgZHVyYXRpb246KGRvdWJsZSlkdXJhdGlv
biBlbGFwc2VkVGltZTooZG91YmxlKWVsYXBzZWRUaW1lCiB7CiAgICAgX2hhc0FjdGl2ZU5vd1Bs
YXlpbmdTZXNzaW9uID0gaGFzQWN0aXZlU2Vzc2lvbjsKKyAgICBfbGFzdFVwZGF0ZWRUaXRsZSA9
IFt0aXRsZSBjb3B5XTsKKyAgICBfbGFzdFVwZGF0ZWREdXJhdGlvbiA9IGR1cmF0aW9uOworICAg
IF9sYXN0VXBkYXRlZEVsYXBzZWRUaW1lID0gZWxhcHNlZFRpbWU7CisKICAgICBfcmVjZWl2ZWRO
b3dQbGF5aW5nSW5mb1Jlc3BvbnNlID0gdHJ1ZTsKIH0KIEBlbmQKQEAgLTc5LDYgKzg2LDEwIEBA
IFRFU1QoTm93UGxheWluZ0NvbnRyb2xzVGVzdHMsIE5vd1BsYXlpbmdDb250cm9sc0RvTm90U2hv
d0ZvckZvcmVncm91bmRQYWdlKQogICAgIFt3ZWJWaWV3LndpbmRvdyBzZXRJc1Zpc2libGU6WUVT
XTsKICAgICBbd2ViVmlldy53aW5kb3cgbWFrZUtleVdpbmRvd107CiAgICAgW3dlYlZpZXcgZXhw
ZWN0SGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb246Tk9dOworCisgICAgQVNTRVJUX1NUUkVRKCIi
LCB3ZWJWaWV3Lmxhc3RVcGRhdGVkVGl0bGUuVVRGOFN0cmluZyk7CisgICAgQVNTRVJUX1RSVUUo
aXNuYW4od2ViVmlldy5sYXN0VXBkYXRlZER1cmF0aW9uKSk7CisgICAgQVNTRVJUX1RSVUUoaXNu
YW4od2ViVmlldy5sYXN0VXBkYXRlZEVsYXBzZWRUaW1lKSk7CiB9CiAKIFRFU1QoTm93UGxheWlu
Z0NvbnRyb2xzVGVzdHMsIE5vd1BsYXlpbmdDb250cm9sc1Nob3dGb3JCYWNrZ3JvdW5kUGFnZSkK
QEAgLTkyLDYgKzEwMyw1MiBAQCBURVNUKE5vd1BsYXlpbmdDb250cm9sc1Rlc3RzLCBOb3dQbGF5
aW5nQ29udHJvbHNTaG93Rm9yQmFja2dyb3VuZFBhZ2UpCiAgICAgW3dlYlZpZXcud2luZG93IHNl
dElzVmlzaWJsZTpOT107CiAgICAgW3dlYlZpZXcud2luZG93IHJlc2lnbktleVdpbmRvd107CiAg
ICAgW3dlYlZpZXcgZXhwZWN0SGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb246WUVTXTsKKworICAg
IEFTU0VSVF9TVFJFUSgiZm9vIiwgd2ViVmlldy5sYXN0VXBkYXRlZFRpdGxlLlVURjhTdHJpbmcp
OworICAgIEFTU0VSVF9FUSgxMCwgd2ViVmlldy5sYXN0VXBkYXRlZER1cmF0aW9uKTsKKyAgICBB
U1NFUlRfR0Uod2ViVmlldy5sYXN0VXBkYXRlZEVsYXBzZWRUaW1lLCAwKTsKK30KKworVEVTVChO
b3dQbGF5aW5nQ29udHJvbHNUZXN0cywgTm93UGxheWluZ0NvbnRyb2xzSGlkZUFmdGVyU2hvd2lu
Z0NsZWFyc0luZm8pCit7CisgICAgV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqY29uZmlndXJhdGlv
biA9IFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF07CisgICAgY29uZmlndXJh
dGlvbi5tZWRpYVR5cGVzUmVxdWlyaW5nVXNlckFjdGlvbkZvclBsYXliYWNrID0gV0tBdWRpb3Zp
c3VhbE1lZGlhVHlwZU5vbmU7CisgICAgTm93UGxheWluZ1Rlc3RXZWJWaWV3ICp3ZWJWaWV3ID0g
W1tOb3dQbGF5aW5nVGVzdFdlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgw
LCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uXTsKKyAgICBbd2ViVmll
dyBsb2FkVGVzdFBhZ2VOYW1lZDpAImxhcmdlLXZpZGVvLXRlc3Qtbm93LXBsYXlpbmciXTsKKyAg
ICBbd2ViVmlldyB3YWl0Rm9yTWVzc2FnZTpAInBsYXlpbmciXTsKKworICAgIFt3ZWJWaWV3Lndp
bmRvdyBzZXRJc1Zpc2libGU6Tk9dOworICAgIFt3ZWJWaWV3LndpbmRvdyByZXNpZ25LZXlXaW5k
b3ddOworCisgICAgW3dlYlZpZXcgZXhwZWN0SGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb246WUVT
XTsKKworICAgIFt3ZWJWaWV3LndpbmRvdyBzZXRJc1Zpc2libGU6WUVTXTsKKyAgICBbd2ViVmll
dy53aW5kb3cgbWFrZUtleVdpbmRvd107CisKKyAgICBbd2ViVmlldyBleHBlY3RIYXNBY3RpdmVO
b3dQbGF5aW5nU2Vzc2lvbjpOT107CisKKyAgICBBU1NFUlRfU1RSRVEoIiIsIHdlYlZpZXcubGFz
dFVwZGF0ZWRUaXRsZS5VVEY4U3RyaW5nKTsKKyAgICBBU1NFUlRfVFJVRShpc25hbih3ZWJWaWV3
Lmxhc3RVcGRhdGVkRHVyYXRpb24pKTsKKyAgICBBU1NFUlRfVFJVRShpc25hbih3ZWJWaWV3Lmxh
c3RVcGRhdGVkRWxhcHNlZFRpbWUpKTsKK30KKworVEVTVChOb3dQbGF5aW5nQ29udHJvbHNUZXN0
cywgTm93UGxheWluZ0NvbnRyb2xzQ2xlYXJJbmZvQWZ0ZXJTZXNzaW9uSXNOb0xvbmdlclZhbGlk
KQoreworICAgIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gKmNvbmZpZ3VyYXRpb24gPSBbW1dLV2Vi
Vmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdOworICAgIGNvbmZpZ3VyYXRpb24ubWVkaWFU
eXBlc1JlcXVpcmluZ1VzZXJBY3Rpb25Gb3JQbGF5YmFjayA9IFdLQXVkaW92aXN1YWxNZWRpYVR5
cGVOb25lOworICAgIE5vd1BsYXlpbmdUZXN0V2ViVmlldyAqd2ViVmlldyA9IFtbTm93UGxheWlu
Z1Rlc3RXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgNDgwLCAz
MjApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbl07CisgICAgW3dlYlZpZXcgbG9hZFRlc3RQ
YWdlTmFtZWQ6QCJsYXJnZS12aWRlby10ZXN0LW5vdy1wbGF5aW5nIl07CisgICAgW3dlYlZpZXcg
d2FpdEZvck1lc3NhZ2U6QCJwbGF5aW5nIl07CisKKyAgICBbd2ViVmlldyBtb3VzZURvd25BdFBv
aW50Ok5TTWFrZVBvaW50KDI0MCwgMTYwKSBzaW11bGF0ZVByZXNzdXJlOllFU107CisgICAgW3dl
YlZpZXcud2luZG93IHNldElzVmlzaWJsZTpOT107CisgICAgW3dlYlZpZXcud2luZG93IHJlc2ln
bktleVdpbmRvd107CisKKyAgICBbd2ViVmlldyBleHBlY3RIYXNBY3RpdmVOb3dQbGF5aW5nU2Vz
c2lvbjpOT107CisKKyAgICBBU1NFUlRfU1RSRVEoIiIsIHdlYlZpZXcubGFzdFVwZGF0ZWRUaXRs
ZS5VVEY4U3RyaW5nKTsKKyAgICBBU1NFUlRfVFJVRShpc25hbih3ZWJWaWV3Lmxhc3RVcGRhdGVk
RHVyYXRpb24pKTsKKyAgICBBU1NFUlRfVFJVRShpc25hbih3ZWJWaWV3Lmxhc3RVcGRhdGVkRWxh
cHNlZFRpbWUpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvbGFyZ2UtdmlkZW8tdGVz
dC1ub3ctcGxheWluZy5odG1sIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29j
b2EvbGFyZ2UtdmlkZW8tdGVzdC1ub3ctcGxheWluZy5odG1sCmluZGV4IDNjNzlhNTYyNGMzMTQy
NGJiMDRiODkxMmJmNmI3NzUwMzMyOWJhZTUuLjY1N2RiZDczOTUyNzkyODBkYTU5YzliNWViMGNi
MWEyMDZlZWI1N2EgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
MkNvY29hL2xhcmdlLXZpZGVvLXRlc3Qtbm93LXBsYXlpbmcuaHRtbAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9sYXJnZS12aWRlby10ZXN0LW5vdy1wbGF5aW5n
Lmh0bWwKQEAgLTcsNiArNywxMCBAQAogICAgICAgICAgICAgaGVpZ2h0OiAzMjBweDsKICAgICAg
ICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgfQorCisgICAgICAgIGJvZHkgewor
ICAgICAgICAgICAgbWFyZ2luOiAwOworICAgICAgICB9CiAgICAgPC9zdHlsZT4KICAgICA8c2Ny
aXB0PgogICAgICAgICBmdW5jdGlvbiBwbGF5aW5nKCkgewpAQCAtMTcsOSArMjEsMTMgQEAKICAg
ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9LCAwKTsKICAgICAgICAgfQorCisgICAgICAg
IGZ1bmN0aW9uIG1vdXNlZG93bigpIHsKKyAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3IoInZpZGVvIikubXV0ZWQgPSB0cnVlOworICAgICAgICB9CiAgICAgPC9zY3JpcHQ+CiA8L2hl
YWQ+CiA8Ym9keT4KLSAgICA8dmlkZW8gYXV0b3BsYXkgb25wbGF5aW5nPXBsYXlpbmcoKT48c291
cmNlIHNyYz0ibGFyZ2UtdmlkZW8td2l0aC1hdWRpby5tcDQiPjwvdmlkZW8+CisgICAgPHZpZGVv
IGF1dG9wbGF5IHRpdGxlPSJmb28iIG9ubW91c2Vkb3duPW1vdXNlZG93bigpIG9ucGxheWluZz1w
bGF5aW5nKCk+PHNvdXJjZSBzcmM9ImxhcmdlLXZpZGVvLXdpdGgtYXVkaW8ubXA0Ij48L3ZpZGVv
PgogPC9ib2R5PgogPGh0bWw+Cg==
</data>
<flag name="review"
          id="313725"
          type_id="1"
          status="+"
          setter="jer.noble"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290602</attachid>
            <date>2016-10-04 08:03:12 -0700</date>
            <delta_ts>2016-10-04 08:37:58 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-162766-20161004080003.patch</filename>
            <type>text/plain</type>
            <size>23472</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2NzMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjQ5MzA3NzA5MGMzMTAw
OGIzY2JiNjA2YmE2ZmU4ZGVhMjIzMTRhYy4uM2MwMWJiMWNhYmQ0Y2Y3MWJkZjEzYTg0NDI0YjVk
MTU4M2I2YTZmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE2LTEwLTAzICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIE1lZGlhIGNvbnRy
b2xzIGFyZSBkaXNwbGF5ZWQgaW4gdGhlIGluY29ycmVjdCBzdGF0ZSBtb21lbnRhcmlseSBhZnRl
ciBzd2l0Y2hpbmcgYmV0d2VlbiB0YWJzIHBsYXlpbmcgbWVkaWEKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Mjc2NgorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMjg1MzM1MjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSmVyIE5vYmxlLgorCisgICAg
ICAgIFdoZW4gc2hvd2luZyBOb3cgUGxheWluZyBjb250cm9scyBmb3IgYSBtZWRpYSBzZXNzaW9u
LCB3ZSBzaG91bGQgZmlyc3Qgc2V0IHVwIHRoZSBOb3cgUGxheWluZyBpbmZvIGFuZAorICAgICAg
ICBwbGF5YmFjayBzdGF0ZSBiZWZvcmUgdGVsbGluZyBNZWRpYVJlbW90ZSB0byBtYWtlIHRoZSBz
ZXNzaW9uIHZpc2libGUuIFRoaXMgaXMgV2ViS2l0IHdvcmsgaW4gZW5zdXJpbmcgdGhhdAorICAg
ICAgICB3aGVuIHN3aXRjaGluZyBOb3cgUGxheWluZyBzZXNzaW9ucyBieSBzd2l0Y2hpbmcgdGFi
cywgd2UgZG8gbm90IGZpcnN0IGRpc3BsYXkgYW4gaW52YWxpZCBOb3cgUGxheWluZyBzdGF0ZQor
ICAgICAgICBiZWZvcmUgdXBkYXRpbmcgdG8gdGhlIGV4cGVjdGVkIHN0YXRlLgorCisgICAgICAg
IEFkZHMgMiBuZXcgV2ViS2l0IEFQSSB0ZXN0cyBpbiBOb3dQbGF5aW5nQ29udHJvbHNUZXN0czog
Tm93UGxheWluZ0NvbnRyb2xzSGlkZUFmdGVyU2hvd2luZ0NsZWFyc0luZm8gYW5kCisgICAgICAg
IE5vd1BsYXlpbmdDb250cm9sc0NsZWFySW5mb0FmdGVyU2Vzc2lvbklzTm9Mb25nZXJWYWxpZC4K
KworICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL1BsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlci5o
OgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpsYXN0VXBk
YXRlZE5vd1BsYXlpbmdUaXRsZSk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXI6Omxhc3RVcGRhdGVkTm93UGxheWluZ0R1cmF0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6bGFzdFVwZGF0ZWROb3dQbGF5aW5n
RWxhcHNlZFRpbWUpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb25NYW5h
Z2VyOjpoYXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbik6IERlbGV0ZWQuCisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vbWFjL01lZGlhU2Vzc2lvbk1hbmFnZXJNYWMuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9hdWRpby9tYWMvTWVkaWFTZXNzaW9uTWFuYWdlck1hYy5tbToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhU2Vzc2lvbk1hbmFnZXJNYWM6OnVwZGF0ZU5vd1BsYXlpbmdJbmZvKToKKwogMjAx
Ni0xMC0wMyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW1NPVVBdIFNpbXBsaWZ5IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5k
ZXggNzE4MTA1NTgzY2QyMDJiNjhmMGU5NjNjYzQ3NGE4YTgxY2U5N2M0Ny4uYTA3MDQwMjRmOTk1
YzYzZTRmOTBjNTM2MTQ3NjVkNDI5MzdhNjA0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBA
CisyMDE2LTEwLTAzICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisg
ICAgICAgIE1lZGlhIGNvbnRyb2xzIGFyZSBkaXNwbGF5ZWQgaW4gdGhlIGluY29ycmVjdCBzdGF0
ZSBtb21lbnRhcmlseSBhZnRlciBzd2l0Y2hpbmcgYmV0d2VlbiB0YWJzIHBsYXlpbmcgbWVkaWEK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Mjc2Ngor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjg1MzM1MjM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
SmVyIE5vYmxlLgorCisgICAgICAgIFBsdW1icyBzb21lIG1vcmUgTm93IFBsYXlpbmcgaW5mb3Jt
YXRpb24gZnJvbSB0aGUgd2ViIHByb2Nlc3MgdG8gdGhlIFVJIHByb2Nlc3MgZm9yIHRlc3Rpbmcg
cHVycG9zZXMuIFNlZQorICAgICAgICBXZWJDb3JlIENoYW5nZUxvZyBmb3IgbW9yZSBkZXRhaWxz
LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW06CisgICAgICAg
ICgtW1dLV2ViVmlldyBfaGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9uc2U6
dGl0bGU6ZHVyYXRpb246ZWxhcHNlZFRpbWU6XSk6CisgICAgICAgICgtW1dLV2ViVmlldyBfaGFu
ZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9uc2U6XSk6IERlbGV0ZWQuCisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmg6CisgICAgICAgICog
VUlQcm9jZXNzL1BhZ2VDbGllbnQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpoYW5kbGVBY3RpdmVOb3dQbGF5
aW5nU2Vzc2lvbkluZm9SZXNwb25zZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAg
ICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5oOgorICAgICAgICAqIFVJUHJvY2Vz
cy9tYWMvUGFnZUNsaWVudEltcGwubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBs
OjpoYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZSk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjpyZXF1ZXN0QWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvKToKKwogMjAxNi0xMC0w
MyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAg
W1NPVVBdIENsZWFudXAgcGVyc2lzdGVudCBjcmVkZW50aWFsIHN0b3JhZ2UgY29kZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vUGxhdGZvcm1NZWRpYVNlc3Npb25N
YW5hZ2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXIuaAppbmRleCBhZDJmMTEzZjgyMWQxZWFjZmI0ZDAwODc0Y2Y0ZDdjNzNkZDMx
N2NjLi5hM2M4MDU5OGQ0NDAyY2Y2ZjQzMTIwNTM3YzY3YzJiYzk3ODljMTkzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFn
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9QbGF0Zm9ybU1lZGlhU2Vz
c2lvbk1hbmFnZXIuaApAQCAtNTgsNiArNTgsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBjYW5Qcm9k
dWNlQXVkaW8oKSBjb25zdDsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgYm9vbCBoYXNB
Y3RpdmVOb3dQbGF5aW5nU2Vzc2lvbigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgV0VC
Q09SRV9FWFBPUlQgdmlydHVhbCBTdHJpbmcgbGFzdFVwZGF0ZWROb3dQbGF5aW5nVGl0bGUoKSBj
b25zdCB7IHJldHVybiBlbXB0eVN0cmluZygpOyB9CisgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVh
bCBkb3VibGUgbGFzdFVwZGF0ZWROb3dQbGF5aW5nRHVyYXRpb24oKSBjb25zdCB7IHJldHVybiBO
QU47IH0KKyAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIGRvdWJsZSBsYXN0VXBkYXRlZE5vd1Bs
YXlpbmdFbGFwc2VkVGltZSgpIGNvbnN0IHsgcmV0dXJuIE5BTjsgfQogCiAgICAgYm9vbCB3aWxs
SWdub3JlU3lzdGVtSW50ZXJydXB0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1fd2lsbElnbm9yZVN5
c3RlbUludGVycnVwdGlvbnM7IH0KICAgICB2b2lkIHNldFdpbGxJZ25vcmVTeXN0ZW1JbnRlcnJ1
cHRpb25zKGJvb2wgaWdub3JlKSB7IG1fd2lsbElnbm9yZVN5c3RlbUludGVycnVwdGlvbnMgPSBp
Z25vcmU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9N
ZWRpYVNlc3Npb25NYW5hZ2VyTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9t
YWMvTWVkaWFTZXNzaW9uTWFuYWdlck1hYy5oCmluZGV4IGY3Yzc4YzQxYjM3NmFiMGVmYWFiYzEw
YzdmODMyYmY5MDEyN2QzZDQuLmNjNTNkODU1NjU3M2VhNTY3NTdhNjllZDdlMTZmNDA4MjU1YThi
MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9NZWRpYVNl
c3Npb25NYW5hZ2VyTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFj
L01lZGlhU2Vzc2lvbk1hbmFnZXJNYWMuaApAQCAtMzcsNiArMzcsOSBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB+TWVkaWFTZXNzaW9uTWFuYWdlck1hYygpOwogCiAgICAgYm9vbCBoYXNBY3RpdmVO
b3dQbGF5aW5nU2Vzc2lvbigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fbm93UGxheWluZ0Fj
dGl2ZTsgfQorICAgIFN0cmluZyBsYXN0VXBkYXRlZE5vd1BsYXlpbmdUaXRsZSgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIG1fbGFzdFVwZGF0ZWROb3dQbGF5aW5nVGl0bGU7IH0KKyAgICBkb3Vi
bGUgbGFzdFVwZGF0ZWROb3dQbGF5aW5nRHVyYXRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBtX2xhc3RVcGRhdGVkTm93UGxheWluZ0R1cmF0aW9uOyB9CisgICAgZG91YmxlIGxhc3RVcGRh
dGVkTm93UGxheWluZ0VsYXBzZWRUaW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9sYXN0
VXBkYXRlZE5vd1BsYXlpbmdFbGFwc2VkVGltZTsgfQogCiBwcml2YXRlOgogICAgIGZyaWVuZCBj
bGFzcyBQbGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI7CkBAIC01Nyw2ICs2MCwxMiBAQCBwcml2
YXRlOgogCiAgICAgYm9vbCBtX25vd1BsYXlpbmdBY3RpdmUgeyBmYWxzZSB9OwogICAgIGJvb2wg
bV9pc0luQmFja2dyb3VuZCB7IGZhbHNlIH07CisKKyAgICAvLyBGb3IgdGVzdGluZyBwdXJwb3Nl
cyBvbmx5LgorICAgIFN0cmluZyBtX2xhc3RVcGRhdGVkTm93UGxheWluZ1RpdGxlOworICAgIGRv
dWJsZSBtX2xhc3RVcGRhdGVkTm93UGxheWluZ0R1cmF0aW9uIHsgTkFOIH07CisgICAgZG91Ymxl
IG1fbGFzdFVwZGF0ZWROb3dQbGF5aW5nRWxhcHNlZFRpbWUgeyBOQU4gfTsKKwogICAgIEdlbmVy
aWNUYXNrUXVldWU8VGltZXI+IG1fbm93UGxheWluZ1VwZGF0ZVRhc2tRdWV1ZTsKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL21hYy9NZWRpYVNlc3Npb25N
YW5hZ2VyTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL01lZGlhU2Vz
c2lvbk1hbmFnZXJNYWMubW0KaW5kZXggM2Q2ZDllOTQ3MzA1YjIwNmEzODEyNGJkYzZhNTAzZWQ4
OTQ0NDZkYi4uY2JjNzY5M2MxYmE3MGYyOTcwNTc1NGExYjYxNTViMDAyYmVlZjlhYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL01lZGlhU2Vzc2lvbk1hbmFn
ZXJNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vbWFjL01lZGlhU2Vz
c2lvbk1hbmFnZXJNYWMubW0KQEAgLTEzNiw2ICsxMzYsOSBAQCB2b2lkIE1lZGlhU2Vzc2lvbk1h
bmFnZXJNYWM6OnVwZGF0ZU5vd1BsYXlpbmdJbmZvKCkKICAgICAgICAgICAgIExPRyhNZWRpYSwg
Ik1lZGlhU2Vzc2lvbk1hbmFnZXJNYWM6OnVwZGF0ZU5vd1BsYXlpbmdJbmZvIC0gY2xlYXJpbmcg
bm93IHBsYXlpbmcgaW5mbyIpOwogICAgICAgICAgICAgTVJNZWRpYVJlbW90ZVNldE5vd1BsYXlp
bmdJbmZvKG51bGxwdHIpOwogICAgICAgICAgICAgbV9ub3dQbGF5aW5nQWN0aXZlID0gZmFsc2U7
CisgICAgICAgICAgICBtX2xhc3RVcGRhdGVkTm93UGxheWluZ1RpdGxlID0gZW1wdHlTdHJpbmco
KTsKKyAgICAgICAgICAgIG1fbGFzdFVwZGF0ZWROb3dQbGF5aW5nRHVyYXRpb24gPSBOQU47Cisg
ICAgICAgICAgICBtX2xhc3RVcGRhdGVkTm93UGxheWluZ0VsYXBzZWRUaW1lID0gTkFOOwogICAg
ICAgICAgICAgTVJNZWRpYVJlbW90ZVNldE5vd1BsYXlpbmdBcHBsaWNhdGlvblBsYXliYWNrU3Rh
dGVGb3JPcmlnaW4oTVJNZWRpYVJlbW90ZUdldExvY2FsT3JpZ2luKCksIGtNUlBsYXliYWNrU3Rh
dGVTdG9wcGVkLCBkaXNwYXRjaF9nZXRfbWFpbl9xdWV1ZSgpLCBeKE1STWVkaWFSZW1vdGVFcnJv
ciBlcnJvcikgewogI2lmIExPR19ESVNBQkxFRAogICAgICAgICAgICAgICAgIFVOVVNFRF9QQVJB
TShlcnJvcik7CkBAIC0xNTMsMjAgKzE1NiwyMCBAQCB2b2lkIE1lZGlhU2Vzc2lvbk1hbmFnZXJN
YWM6OnVwZGF0ZU5vd1BsYXlpbmdJbmZvKCkKICAgICAgICAgTVJNZWRpYVJlbW90ZVNldENhbkJl
Tm93UGxheWluZ0FwcGxpY2F0aW9uKHRydWUpOwogICAgIH0pOwogCi0gICAgaWYgKGNhbkxvYWRf
TWVkaWFSZW1vdGVfTVJNZWRpYVJlbW90ZVNldE5vd1BsYXlpbmdWaXNpYmlsaXR5KCkpCi0gICAg
ICAgIE1STWVkaWFSZW1vdGVTZXROb3dQbGF5aW5nVmlzaWJpbGl0eShNUk1lZGlhUmVtb3RlR2V0
TG9jYWxPcmlnaW4oKSwgTVJOb3dQbGF5aW5nQ2xpZW50VmlzaWJpbGl0eUFsd2F5c1Zpc2libGUp
OwotCiAgICAgU3RyaW5nIHRpdGxlID0gY3VycmVudFNlc3Npb24tPnRpdGxlKCk7CiAgICAgZG91
YmxlIGR1cmF0aW9uID0gY3VycmVudFNlc3Npb24tPmR1cmF0aW9uKCk7CiAgICAgZG91YmxlIHJh
dGUgPSBjdXJyZW50U2Vzc2lvbi0+c3RhdGUoKSA9PSBQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UGxh
eWluZyA/IDEgOiAwOwogICAgIGF1dG8gaW5mbyA9IGFkb3B0Q0YoQ0ZEaWN0aW9uYXJ5Q3JlYXRl
TXV0YWJsZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCA0LCAma0NGVHlwZURpY3Rpb25hcnlLZXlDYWxs
QmFja3MsICZrQ0ZUeXBlRGljdGlvbmFyeVZhbHVlQ2FsbEJhY2tzKSk7CiAKLSAgICBpZiAoIXRp
dGxlLmlzRW1wdHkoKSkKKyAgICBpZiAoIXRpdGxlLmlzRW1wdHkoKSkgewogICAgICAgICBDRkRp
Y3Rpb25hcnlTZXRWYWx1ZShpbmZvLmdldCgpLCBrTVJNZWRpYVJlbW90ZU5vd1BsYXlpbmdJbmZv
VGl0bGUsIHRpdGxlLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCkpOworICAgICAgICBtX2xhc3RVcGRh
dGVkTm93UGxheWluZ1RpdGxlID0gdGl0bGU7CisgICAgfQogCiAgICAgaWYgKHN0ZDo6aXNmaW5p
dGUoZHVyYXRpb24pICYmIGR1cmF0aW9uICE9IE1lZGlhUGxheWVyOjppbnZhbGlkVGltZSgpKSB7
CiAgICAgICAgIGF1dG8gY2ZEdXJhdGlvbiA9IGFkb3B0Q0YoQ0ZOdW1iZXJDcmVhdGUoa0NGQWxs
b2NhdG9yRGVmYXVsdCwga0NGTnVtYmVyRG91YmxlVHlwZSwgJmR1cmF0aW9uKSk7CiAgICAgICAg
IENGRGljdGlvbmFyeVNldFZhbHVlKGluZm8uZ2V0KCksIGtNUk1lZGlhUmVtb3RlTm93UGxheWlu
Z0luZm9EdXJhdGlvbiwgY2ZEdXJhdGlvbi5nZXQoKSk7CisgICAgICAgIG1fbGFzdFVwZGF0ZWRO
b3dQbGF5aW5nRHVyYXRpb24gPSBkdXJhdGlvbjsKICAgICB9CiAKICAgICBhdXRvIGNmUmF0ZSA9
IENGTnVtYmVyQ3JlYXRlKGtDRkFsbG9jYXRvckRlZmF1bHQsIGtDRk51bWJlckRvdWJsZVR5cGUs
ICZyYXRlKTsKQEAgLTE3Niw2ICsxNzksNyBAQCB2b2lkIE1lZGlhU2Vzc2lvbk1hbmFnZXJNYWM6
OnVwZGF0ZU5vd1BsYXlpbmdJbmZvKCkKICAgICBpZiAoc3RkOjppc2Zpbml0ZShjdXJyZW50VGlt
ZSkgJiYgY3VycmVudFRpbWUgIT0gTWVkaWFQbGF5ZXI6OmludmFsaWRUaW1lKCkpIHsKICAgICAg
ICAgYXV0byBjZkN1cnJlbnRUaW1lID0gYWRvcHRDRihDRk51bWJlckNyZWF0ZShrQ0ZBbGxvY2F0
b3JEZWZhdWx0LCBrQ0ZOdW1iZXJEb3VibGVUeXBlLCAmY3VycmVudFRpbWUpKTsKICAgICAgICAg
Q0ZEaWN0aW9uYXJ5U2V0VmFsdWUoaW5mby5nZXQoKSwga01STWVkaWFSZW1vdGVOb3dQbGF5aW5n
SW5mb0VsYXBzZWRUaW1lLCBjZkN1cnJlbnRUaW1lLmdldCgpKTsKKyAgICAgICAgbV9sYXN0VXBk
YXRlZE5vd1BsYXlpbmdFbGFwc2VkVGltZSA9IGN1cnJlbnRUaW1lOwogICAgIH0KIAogICAgIExP
RyhNZWRpYSwgIk1lZGlhU2Vzc2lvbk1hbmFnZXJNYWM6OnVwZGF0ZU5vd1BsYXlpbmdJbmZvIC0g
dGl0bGUgPSBcIiVzXCIsIHJhdGUgPSAlZiwgZHVyYXRpb24gPSAlZiwgbm93ID0gJWYiLApAQCAt
MTk1LDYgKzE5OSw5IEBAIHZvaWQgTWVkaWFTZXNzaW9uTWFuYWdlck1hYzo6dXBkYXRlTm93UGxh
eWluZ0luZm8oKQogI2VuZGlmCiAgICAgfSk7CiAgICAgTVJNZWRpYVJlbW90ZVNldE5vd1BsYXlp
bmdJbmZvKGluZm8uZ2V0KCkpOworCisgICAgaWYgKGNhbkxvYWRfTWVkaWFSZW1vdGVfTVJNZWRp
YVJlbW90ZVNldE5vd1BsYXlpbmdWaXNpYmlsaXR5KCkpCisgICAgICAgIE1STWVkaWFSZW1vdGVT
ZXROb3dQbGF5aW5nVmlzaWJpbGl0eShNUk1lZGlhUmVtb3RlR2V0TG9jYWxPcmlnaW4oKSwgTVJO
b3dQbGF5aW5nQ2xpZW50VmlzaWJpbGl0eUFsd2F5c1Zpc2libGUpOwogI2VuZGlmCiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1t
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXgg
NDMxMGJlODFjNGEyNmM2ZTA4YTY3ZDU5ZGQ5YmRjMGZiOThlYTcxNC4uZDAxY2E1YzY0MTRmOTdl
NDI1MzAxNGMzZGQyMDc0N2I4ZDVmN2U1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTQ1OTEsNyArNDU5MSw3IEBAIC0gKHZvaWQp
X3JlcXVlc3RBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm8KICAgICAgICAgX3BhZ2UtPnJlcXVl
c3RBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm8oKTsKIH0KIAotLSAodm9pZClfaGFuZGxlQWN0
aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9uc2U6KEJPT0wpaGFzQWN0aXZlU2Vzc2lvbgor
LSAodm9pZClfaGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9uc2U6KEJPT0wp
aGFzQWN0aXZlU2Vzc2lvbiB0aXRsZTooTlNTdHJpbmcgKil0aXRsZSBkdXJhdGlvbjooZG91Ymxl
KWR1cmF0aW9uIGVsYXBzZWRUaW1lOihkb3VibGUpZWxhcHNlZFRpbWUKIHsKICAgICAvLyBPdmVy
cmlkZGVuIGJ5IHN1YmNsYXNzZXMuCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oCmluZGV4IGY4N2E1NDhkNWJjYjY1Zjcx
Y2U0OWU3MDgwNTE3NTM0OTZiNTJjMDQuLmRjMzM5NzM2MzFkM2Y4ZjZiMTkxYjllOWU0ZDUzOTFk
NjBmZWM2ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3UHJpdmF0ZS5oCkBAIC0yODIsNyArMjgyLDcgQEAgdHlwZWRlZiBOU19FTlVN
KE5TSW50ZWdlciwgX1dLSW1tZWRpYXRlQWN0aW9uVHlwZSkgewogLSAodm9pZClfZGlkVXBkYXRl
Q2FuZGlkYXRlTGlzdFZpc2liaWxpdHk6KEJPT0wpdmlzaWJsZSBXS19BUElfQVZBSUxBQkxFKG1h
Y29zeChXS19NQUNfVEJBKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIEJPT0wg
X3Nob3VsZFJlcXVlc3RDYW5kaWRhdGVzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19U
QkEpKTsKIC0gKHZvaWQpX3JlcXVlc3RBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm8gV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSkpOwotLSAodm9pZClfaGFuZGxlQWN0aXZlTm93
UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9uc2U6KEJPT0wpaGFzQWN0aXZlU2Vzc2lvbiBXS19BUElf
QVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CistICh2b2lkKV9oYW5kbGVBY3RpdmVOb3dQ
bGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZTooQk9PTCloYXNBY3RpdmVTZXNzaW9uIHRpdGxlOihO
U1N0cmluZyAqKXRpdGxlIGR1cmF0aW9uOihkb3VibGUpZHVyYXRpb24gZWxhcHNlZFRpbWU6KGRv
dWJsZSllbGFwc2VkVGltZSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSk7CiAj
ZW5kaWYKIAogLSAodm9pZClfZG9BZnRlck5leHRQcmVzZW50YXRpb25VcGRhdGU6KHZvaWQgKF4p
KHZvaWQpKXVwZGF0ZUJsb2NrIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KDEwLjEyKSwgaW9zKDEw
LjApKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4IGEzMGYyYmViN2I3
YzhmM2FkOTE4OTNiNTk2OTVkNWQ4NWM2NWJmMzAuLjY4Mzc5NDRlZDhiODYyNWFkMDJiZjJiOTI5
Zjk3NmIxMDRiN2YzMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QYWdl
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApAQCAt
MjQ4LDcgKzI0OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcmVjb21tZW5kZWRTY3Jv
bGxiYXJTdHlsZURpZENoYW5nZShXZWJDb3JlOjpTY3JvbGxiYXJTdHlsZSkgPSAwOwogICAgIHZp
cnR1YWwgdm9pZCByZW1vdmVOYXZpZ2F0aW9uR2VzdHVyZVNuYXBzaG90KCkgPSAwOwogICAgIHZp
cnR1YWwgdm9pZCBoYW5kbGVDb250cm9sbGVkRWxlbWVudElEUmVzcG9uc2UoY29uc3QgU3RyaW5n
JikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbklu
Zm9SZXNwb25zZShib29sIGhhc0FjdGl2ZVNlc3Npb24pID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
aGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9uc2UoYm9vbCBoYXNBY3RpdmVT
ZXNzaW9uLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBkb3VibGUgZHVyYXRpb24sIGRvdWJsZSBlbGFw
c2VkVGltZSkgPSAwOwogCiAgICAgdmlydHVhbCBDR1JlY3QgYm91bmRzT2ZMYXllckluTGF5ZXJC
YWNrZWRXaW5kb3dDb29yZGluYXRlcyhDQUxheWVyICopIGNvbnN0ID0gMDsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCAzZmY1YjdjYTljNjhhMGM0YjE4
Njk3M2RkOTAxOGRjOTdiZDhhZWQ3Li5lYTMxNTQwNGI0MTZlZTJiMGM4ODMwOGEzMmJmNzk1Njlh
NzI2NzM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAt
NjM4Nyw5ICs2Mzg3LDkgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnJlcXVlc3RBY3RpdmVOb3dQbGF5
aW5nU2Vzc2lvbkluZm8oKQogICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6
UmVxdWVzdEFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mbygpLCBtX3BhZ2VJRCk7CiB9CiAKLXZv
aWQgV2ViUGFnZVByb3h5OjpoYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25z
ZShib29sIGhhc0FjdGl2ZVNlc3Npb24pIGNvbnN0Cit2b2lkIFdlYlBhZ2VQcm94eTo6aGFuZGxl
QWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9uc2UoYm9vbCBoYXNBY3RpdmVTZXNzaW9u
LCBjb25zdCBTdHJpbmcmIHRpdGxlLCBkb3VibGUgZHVyYXRpb24sIGRvdWJsZSBlbGFwc2VkVGlt
ZSkgY29uc3QKIHsKLSAgICBtX3BhZ2VDbGllbnQuaGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Np
b25JbmZvUmVzcG9uc2UoaGFzQWN0aXZlU2Vzc2lvbik7CisgICAgbV9wYWdlQ2xpZW50LmhhbmRs
ZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlKGhhc0FjdGl2ZVNlc3Npb24sIHRp
dGxlLCBkdXJhdGlvbiwgZWxhcHNlZFRpbWUpOwogfQogCiB2b2lkIFdlYlBhZ2VQcm94eTo6aGFu
ZGxlQ29udHJvbGxlZEVsZW1lbnRJRFJlc3BvbnNlKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllcikg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCAyZWEzMDRh
ZjY2ZTIwN2ZlMGFiZjE2OTE5OWZmZmY5MmVkYjNlODcyLi4yMDljOTBhMjJkNTk2NzZhZGFhMDJh
NWFkMzg0NzVkMTBmODk4MDEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCkBAIC0xMDM2LDcgKzEwMzYsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXF1ZXN0Q29udHJv
bGxlZEVsZW1lbnRJRCgpIGNvbnN0OwogICAgIHZvaWQgaGFuZGxlQ29udHJvbGxlZEVsZW1lbnRJ
RFJlc3BvbnNlKGNvbnN0IFN0cmluZyYpIGNvbnN0OwogICAgIHZvaWQgcmVxdWVzdEFjdGl2ZU5v
d1BsYXlpbmdTZXNzaW9uSW5mbygpOwotICAgIHZvaWQgaGFuZGxlQWN0aXZlTm93UGxheWluZ1Nl
c3Npb25JbmZvUmVzcG9uc2UoYm9vbCBoYXNBY3RpdmVTZXNzaW9uKSBjb25zdDsKKyAgICB2b2lk
IGhhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlKGJvb2wgaGFzQWN0aXZl
U2Vzc2lvbiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgZG91YmxlIGR1cmF0aW9uLCBkb3VibGUgZWxh
cHNlZFRpbWUpIGNvbnN0OwogICAgIGJvb2wgaXNQbGF5aW5nVmlkZW9JbkVuaGFuY2VkRnVsbHNj
cmVlbigpIGNvbnN0OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGQxOWJjNzdlZDNlMzIyZGUyMGJiYjMxMjNk
YzVjZmI2OGIwNjNiYTIuLjBmNzdjMTMwMzBkNWQzOWU1NDQ0OGQ2YzQwNGIxNWUwYjIxM2RlMTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2Fn
ZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdl
cy5pbgpAQCAtNDcwLDYgKzQ3MCw2IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAKICNp
ZiBQTEFURk9STShNQUMpCiAgICAgRGlkSGFuZGxlQWNjZXB0ZWRDYW5kaWRhdGUoKQotICAgIEhh
bmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlKGJvb2wgaGFzQWN0aXZlU2Vz
c2lvbikKKyAgICBIYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZShib29s
IGhhc0FjdGl2ZVNlc3Npb24sIFN0cmluZyB0aXRsZSwgZG91YmxlIGR1cmF0aW9uLCBkb3VibGUg
ZWxhcHNlZFRpbWUpCiAjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9tYWMvUGFnZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMv
UGFnZUNsaWVudEltcGwuaAppbmRleCA5ZDdlM2QwMWUzNmJkMDAyMDc2NzA0NzUyZjM2ZjMxNzNh
M2RhNTc0Li44MGZjYjliZDE4OWMyNjdmYWZmNmIwNDIzNjYyOGExMTkxN2E3OGJjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5oCkBAIC0yMDcsNyAr
MjA3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JN
YWluRnJhbWUoU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUpIG92ZXJyaWRlOwogICAgIHZvaWQg
cmVtb3ZlTmF2aWdhdGlvbkdlc3R1cmVTbmFwc2hvdCgpIG92ZXJyaWRlOwogICAgIHZvaWQgaGFu
ZGxlQ29udHJvbGxlZEVsZW1lbnRJRFJlc3BvbnNlKGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwot
ICAgIHZvaWQgaGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9uc2UoYm9vbCBo
YXNBY3RpdmVTZXNzaW9uKSBvdmVycmlkZTsKKyAgICB2b2lkIGhhbmRsZUFjdGl2ZU5vd1BsYXlp
bmdTZXNzaW9uSW5mb1Jlc3BvbnNlKGJvb2wgaGFzQWN0aXZlU2Vzc2lvbiwgY29uc3QgU3RyaW5n
JiB0aXRsZSwgZG91YmxlIGR1cmF0aW9uLCBkb3VibGUgZWxhcHNlZFRpbWUpIG92ZXJyaWRlOwog
CiAgICAgdm9pZCBkaWRQZXJmb3JtSW1tZWRpYXRlQWN0aW9uSGl0VGVzdChjb25zdCBXZWJIaXRU
ZXN0UmVzdWx0RGF0YSYsIGJvb2wgY29udGVudFByZXZlbnRzRGVmYXVsdCwgQVBJOjpPYmplY3Qq
KSBvdmVycmlkZTsKICAgICB2b2lkKiBpbW1lZGlhdGVBY3Rpb25BbmltYXRpb25Db250cm9sbGVy
Rm9ySGl0VGVzdFJlc3VsdChSZWZQdHI8QVBJOjpIaXRUZXN0UmVzdWx0PiwgdWludDY0X3QsIFJl
ZlB0cjxBUEk6Ok9iamVjdD4pIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9tYWMvUGFnZUNsaWVudEltcGwubW0KaW5kZXggNWMzYTIyZWY3ZGM1NjRlYzNhMWQ1ZjdmZWY5
NTU3ZDU5MGE1ZDBmZi4uNjI5YWFmNTY3MjYyYjY2NDYxYjQzOThiZDJhNjhkNjI1ZjFhODJhOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbC5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsLm1tCkBA
IC03NTksMTAgKzc1OSwxMCBAQCB2b2lkIFBhZ2VDbGllbnRJbXBsOjpoYW5kbGVDb250cm9sbGVk
RWxlbWVudElEUmVzcG9uc2UoY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyKQogI2VuZGlmCiB9CiAK
LXZvaWQgUGFnZUNsaWVudEltcGw6OmhhbmRsZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jl
c3BvbnNlKGJvb2wgaGFzQWN0aXZlU2Vzc2lvbikKK3ZvaWQgUGFnZUNsaWVudEltcGw6OmhhbmRs
ZUFjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uSW5mb1Jlc3BvbnNlKGJvb2wgaGFzQWN0aXZlU2Vzc2lv
biwgY29uc3QgU3RyaW5nJiB0aXRsZSwgZG91YmxlIGR1cmF0aW9uLCBkb3VibGUgZWxhcHNlZFRp
bWUpCiB7CiAjaWYgV0tfQVBJX0VOQUJMRUQKLSAgICBbbV93ZWJWaWV3IF9oYW5kbGVBY3RpdmVO
b3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZTpoYXNBY3RpdmVTZXNzaW9uXTsKKyAgICBbbV93
ZWJWaWV3IF9oYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZTpoYXNBY3Rp
dmVTZXNzaW9uIHRpdGxlOm5zU3RyaW5nRnJvbVdlYkNvcmVTdHJpbmcodGl0bGUpIGR1cmF0aW9u
OmR1cmF0aW9uIGVsYXBzZWRUaW1lOmVsYXBzZWRUaW1lXTsKICNlbmRpZgogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0KaW5k
ZXggZTc5YzkxYmFhOTAzYjlhZTlkOGU4Y2RlODU2MmViODU3MGU1YzQxYS4uZDk0YTBjYWYxNjU5
NjlkYWIyMjYzZGY0OWJlYzlhMDgwNWRhYmQ4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQpAQCAtMTY0LDEwICsxNjQsMTcg
QEAgdm9pZCBXZWJQYWdlOjpoYW5kbGVBY2NlcHRlZENhbmRpZGF0ZShXZWJDb3JlOjpUZXh0Q2hl
Y2tpbmdSZXN1bHQgYWNjZXB0ZWRDYW5kaWQKIHZvaWQgV2ViUGFnZTo6cmVxdWVzdEFjdGl2ZU5v
d1BsYXlpbmdTZXNzaW9uSW5mbygpCiB7CiAgICAgYm9vbCBoYXNBY3RpdmVTZXNzaW9uID0gZmFs
c2U7Ci0gICAgaWYgKGF1dG8qIHNoYXJlZE1hbmFnZXIgPSBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXJJZkV4aXN0cygpKQorICAgIFN0cmluZyB0aXRs
ZSA9IGVtcHR5U3RyaW5nKCk7CisgICAgZG91YmxlIGR1cmF0aW9uID0gTkFOOworICAgIGRvdWJs
ZSBlbGFwc2VkVGltZSA9IE5BTjsKKyAgICBpZiAoYXV0byogc2hhcmVkTWFuYWdlciA9IFdlYkNv
cmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcklmRXhpc3RzKCkp
IHsKICAgICAgICAgaGFzQWN0aXZlU2Vzc2lvbiA9IHNoYXJlZE1hbmFnZXItPmhhc0FjdGl2ZU5v
d1BsYXlpbmdTZXNzaW9uKCk7CisgICAgICAgIHRpdGxlID0gc2hhcmVkTWFuYWdlci0+bGFzdFVw
ZGF0ZWROb3dQbGF5aW5nVGl0bGUoKTsKKyAgICAgICAgZHVyYXRpb24gPSBzaGFyZWRNYW5hZ2Vy
LT5sYXN0VXBkYXRlZE5vd1BsYXlpbmdEdXJhdGlvbigpOworICAgICAgICBlbGFwc2VkVGltZSA9
IHNoYXJlZE1hbmFnZXItPmxhc3RVcGRhdGVkTm93UGxheWluZ0VsYXBzZWRUaW1lKCk7CisgICAg
fQogCi0gICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpIYW5kbGVBY3RpdmVOb3dQbGF5
aW5nU2Vzc2lvbkluZm9SZXNwb25zZShoYXNBY3RpdmVTZXNzaW9uKSk7CisgICAgc2VuZChNZXNz
YWdlczo6V2ViUGFnZVByb3h5OjpIYW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNw
b25zZShoYXNBY3RpdmVTZXNzaW9uLCB0aXRsZSwgZHVyYXRpb24sIGVsYXBzZWRUaW1lKSk7CiB9
CiAKIE5TT2JqZWN0ICpXZWJQYWdlOjphY2Nlc3NpYmlsaXR5T2JqZWN0Rm9yTWFpbkZyYW1lUGx1
Z2luKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRl
eCBiN2M3Zjg2NTUxNzVjMTc1ZTllMjlhMmQ3MTFhNDJmZGYzMDFhNTAxLi5lNmNmY2NiNWQ5Nzhj
OWY5NDNiYWRmNTAzZjE4MzQzYWZmMDdhZjBjIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cK
KysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTYtMTAtMDMgIFdlbnNv
biBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgTWVkaWEgY29udHJv
bHMgYXJlIGRpc3BsYXllZCBpbiB0aGUgaW5jb3JyZWN0IHN0YXRlIG1vbWVudGFyaWx5IGFmdGVy
IHN3aXRjaGluZyBiZXR3ZWVuIHRhYnMgcGxheWluZyBtZWRpYQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYyNzY2CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS8yODUzMzUyMz4KKworICAgICAgICBSZXZpZXdlZCBieSBKZXIgTm9ibGUuCisKKyAgICAg
ICAgQWRkcyBuZXcgdGVzdHMgYW5kIHR3ZWFrcyBleGlzdGluZyB0ZXN0cyB0byB2ZXJpZnkgbGFz
dCB1cGRhdGVkIE5vdyBQbGF5aW5nIGluZm9ybWF0aW9uLgorCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvTm93UGxheWluZ0NvbnRyb2xzVGVzdHMubW06CisgICAg
ICAgICgtW05vd1BsYXlpbmdUZXN0V2ViVmlldyBfaGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Np
b25JbmZvUmVzcG9uc2U6dGl0bGU6ZHVyYXRpb246ZWxhcHNlZFRpbWU6XSk6CisgICAgICAgIChU
ZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgKC1bTm93UGxheWluZ1Rlc3RXZWJWaWV3IF9o
YW5kbGVBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbkluZm9SZXNwb25zZTpdKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9sYXJnZS12aWRlby10ZXN0
LW5vdy1wbGF5aW5nLmh0bWw6CisKIDIwMTYtMTAtMDMgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8
Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTT1VQXSBDbGVhbnVwIHBlcnNpc3RlbnQg
Y3JlZGVudGlhbCBzdG9yYWdlIGNvZGUKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0MkNvY29hL05vd1BsYXlpbmdDb250cm9sc1Rlc3RzLm1tIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvTm93UGxheWluZ0NvbnRyb2xzVGVzdHMubW0K
aW5kZXggNTEwMzkxNjI5ZTdlOTc0ZGY0MWM1MTkwOTc1ODMwMWI3OGExYzhiYy4uODdmYmYwYWQz
MDc2MWYzMGE2MDFkMGNmMDdhOTZmMmU1M2Y0MmQxMyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvTm93UGxheWluZ0NvbnRyb2xzVGVzdHMubW0KKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvTm93UGxheWluZ0NvbnRy
b2xzVGVzdHMubW0KQEAgLTM1LDYgKzM1LDkgQEAKIAogQGludGVyZmFjZSBOb3dQbGF5aW5nVGVz
dFdlYlZpZXcgOiBUZXN0V0tXZWJWaWV3CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkp
IEJPT0wgaGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb247CitAcHJvcGVydHkgKHJlYWRvbmx5KSBO
U1N0cmluZyAqbGFzdFVwZGF0ZWRUaXRsZTsKK0Bwcm9wZXJ0eSAocmVhZG9ubHkpIGRvdWJsZSBs
YXN0VXBkYXRlZER1cmF0aW9uOworQHByb3BlcnR5IChyZWFkb25seSkgZG91YmxlIGxhc3RVcGRh
dGVkRWxhcHNlZFRpbWU7CiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBOb3dQbGF5aW5nVGVzdFdl
YlZpZXcgewpAQCAtNTksOSArNjIsMTMgQEAgLSAodm9pZClleHBlY3RIYXNBY3RpdmVOb3dQbGF5
aW5nU2Vzc2lvbjooQk9PTCloYXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbgogICAgIH0KIH0KIAot
LSAodm9pZClfaGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25JbmZvUmVzcG9uc2U6KEJPT0wp
aGFzQWN0aXZlU2Vzc2lvbgorLSAodm9pZClfaGFuZGxlQWN0aXZlTm93UGxheWluZ1Nlc3Npb25J
bmZvUmVzcG9uc2U6KEJPT0wpaGFzQWN0aXZlU2Vzc2lvbiB0aXRsZTooTlNTdHJpbmcgKil0aXRs
ZSBkdXJhdGlvbjooZG91YmxlKWR1cmF0aW9uIGVsYXBzZWRUaW1lOihkb3VibGUpZWxhcHNlZFRp
bWUKIHsKICAgICBfaGFzQWN0aXZlTm93UGxheWluZ1Nlc3Npb24gPSBoYXNBY3RpdmVTZXNzaW9u
OworICAgIF9sYXN0VXBkYXRlZFRpdGxlID0gW3RpdGxlIGNvcHldOworICAgIF9sYXN0VXBkYXRl
ZER1cmF0aW9uID0gZHVyYXRpb247CisgICAgX2xhc3RVcGRhdGVkRWxhcHNlZFRpbWUgPSBlbGFw
c2VkVGltZTsKKwogICAgIF9yZWNlaXZlZE5vd1BsYXlpbmdJbmZvUmVzcG9uc2UgPSB0cnVlOwog
fQogQGVuZApAQCAtNzksNiArODYsMTAgQEAgVEVTVChOb3dQbGF5aW5nQ29udHJvbHNUZXN0cywg
Tm93UGxheWluZ0NvbnRyb2xzRG9Ob3RTaG93Rm9yRm9yZWdyb3VuZFBhZ2UpCiAgICAgW3dlYlZp
ZXcud2luZG93IHNldElzVmlzaWJsZTpZRVNdOwogICAgIFt3ZWJWaWV3LndpbmRvdyBtYWtlS2V5
V2luZG93XTsKICAgICBbd2ViVmlldyBleHBlY3RIYXNBY3RpdmVOb3dQbGF5aW5nU2Vzc2lvbjpO
T107CisKKyAgICBBU1NFUlRfU1RSRVEoIiIsIHdlYlZpZXcubGFzdFVwZGF0ZWRUaXRsZS5VVEY4
U3RyaW5nKTsKKyAgICBBU1NFUlRfVFJVRShpc25hbih3ZWJWaWV3Lmxhc3RVcGRhdGVkRHVyYXRp
b24pKTsKKyAgICBBU1NFUlRfVFJVRShpc25hbih3ZWJWaWV3Lmxhc3RVcGRhdGVkRWxhcHNlZFRp
bWUpKTsKIH0KIAogVEVTVChOb3dQbGF5aW5nQ29udHJvbHNUZXN0cywgTm93UGxheWluZ0NvbnRy
b2xzU2hvd0ZvckJhY2tncm91bmRQYWdlKQpAQCAtOTIsNiArMTAzLDUyIEBAIFRFU1QoTm93UGxh
eWluZ0NvbnRyb2xzVGVzdHMsIE5vd1BsYXlpbmdDb250cm9sc1Nob3dGb3JCYWNrZ3JvdW5kUGFn
ZSkKICAgICBbd2ViVmlldy53aW5kb3cgc2V0SXNWaXNpYmxlOk5PXTsKICAgICBbd2ViVmlldy53
aW5kb3cgcmVzaWduS2V5V2luZG93XTsKICAgICBbd2ViVmlldyBleHBlY3RIYXNBY3RpdmVOb3dQ
bGF5aW5nU2Vzc2lvbjpZRVNdOworCisgICAgQVNTRVJUX1NUUkVRKCJmb28iLCB3ZWJWaWV3Lmxh
c3RVcGRhdGVkVGl0bGUuVVRGOFN0cmluZyk7CisgICAgQVNTRVJUX0VRKDEwLCB3ZWJWaWV3Lmxh
c3RVcGRhdGVkRHVyYXRpb24pOworICAgIEFTU0VSVF9HRSh3ZWJWaWV3Lmxhc3RVcGRhdGVkRWxh
cHNlZFRpbWUsIDApOworfQorCitURVNUKE5vd1BsYXlpbmdDb250cm9sc1Rlc3RzLCBOb3dQbGF5
aW5nQ29udHJvbHNIaWRlQWZ0ZXJTaG93aW5nQ2xlYXJzSW5mbykKK3sKKyAgICBXS1dlYlZpZXdD
b25maWd1cmF0aW9uICpjb25maWd1cmF0aW9uID0gW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFs
bG9jXSBpbml0XTsKKyAgICBjb25maWd1cmF0aW9uLm1lZGlhVHlwZXNSZXF1aXJpbmdVc2VyQWN0
aW9uRm9yUGxheWJhY2sgPSBXS0F1ZGlvdmlzdWFsTWVkaWFUeXBlTm9uZTsKKyAgICBOb3dQbGF5
aW5nVGVzdFdlYlZpZXcgKndlYlZpZXcgPSBbW05vd1BsYXlpbmdUZXN0V2ViVmlldyBhbGxvY10g
aW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNv
bmZpZ3VyYXRpb25dOworICAgIFt3ZWJWaWV3IGxvYWRUZXN0UGFnZU5hbWVkOkAibGFyZ2Utdmlk
ZW8tdGVzdC1ub3ctcGxheWluZyJdOworICAgIFt3ZWJWaWV3IHdhaXRGb3JNZXNzYWdlOkAicGxh
eWluZyJdOworCisgICAgW3dlYlZpZXcud2luZG93IHNldElzVmlzaWJsZTpOT107CisgICAgW3dl
YlZpZXcud2luZG93IHJlc2lnbktleVdpbmRvd107CisKKyAgICBbd2ViVmlldyBleHBlY3RIYXNB
Y3RpdmVOb3dQbGF5aW5nU2Vzc2lvbjpZRVNdOworCisgICAgW3dlYlZpZXcud2luZG93IHNldElz
VmlzaWJsZTpZRVNdOworICAgIFt3ZWJWaWV3LndpbmRvdyBtYWtlS2V5V2luZG93XTsKKworICAg
IFt3ZWJWaWV3IGV4cGVjdEhhc0FjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uOk5PXTsKKworICAgIEFT
U0VSVF9TVFJFUSgiIiwgd2ViVmlldy5sYXN0VXBkYXRlZFRpdGxlLlVURjhTdHJpbmcpOworICAg
IEFTU0VSVF9UUlVFKGlzbmFuKHdlYlZpZXcubGFzdFVwZGF0ZWREdXJhdGlvbikpOworICAgIEFT
U0VSVF9UUlVFKGlzbmFuKHdlYlZpZXcubGFzdFVwZGF0ZWRFbGFwc2VkVGltZSkpOworfQorCitU
RVNUKE5vd1BsYXlpbmdDb250cm9sc1Rlc3RzLCBOb3dQbGF5aW5nQ29udHJvbHNDbGVhckluZm9B
ZnRlclNlc3Npb25Jc05vTG9uZ2VyVmFsaWQpCit7CisgICAgV0tXZWJWaWV3Q29uZmlndXJhdGlv
biAqY29uZmlndXJhdGlvbiA9IFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF07
CisgICAgY29uZmlndXJhdGlvbi5tZWRpYVR5cGVzUmVxdWlyaW5nVXNlckFjdGlvbkZvclBsYXli
YWNrID0gV0tBdWRpb3Zpc3VhbE1lZGlhVHlwZU5vbmU7CisgICAgTm93UGxheWluZ1Rlc3RXZWJW
aWV3ICp3ZWJWaWV3ID0gW1tOb3dQbGF5aW5nVGVzdFdlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJh
bWU6TlNNYWtlUmVjdCgwLCAwLCA0ODAsIDMyMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9u
XTsKKyAgICBbd2ViVmlldyBsb2FkVGVzdFBhZ2VOYW1lZDpAImxhcmdlLXZpZGVvLXRlc3Qtbm93
LXBsYXlpbmciXTsKKyAgICBbd2ViVmlldyB3YWl0Rm9yTWVzc2FnZTpAInBsYXlpbmciXTsKKwor
ICAgIFt3ZWJWaWV3IG1vdXNlRG93bkF0UG9pbnQ6TlNNYWtlUG9pbnQoMjQwLCAxNjApIHNpbXVs
YXRlUHJlc3N1cmU6WUVTXTsKKyAgICBbd2ViVmlldy53aW5kb3cgc2V0SXNWaXNpYmxlOk5PXTsK
KyAgICBbd2ViVmlldy53aW5kb3cgcmVzaWduS2V5V2luZG93XTsKKworICAgIFt3ZWJWaWV3IGV4
cGVjdEhhc0FjdGl2ZU5vd1BsYXlpbmdTZXNzaW9uOk5PXTsKKworICAgIEFTU0VSVF9TVFJFUSgi
Iiwgd2ViVmlldy5sYXN0VXBkYXRlZFRpdGxlLlVURjhTdHJpbmcpOworICAgIEFTU0VSVF9UUlVF
KGlzbmFuKHdlYlZpZXcubGFzdFVwZGF0ZWREdXJhdGlvbikpOworICAgIEFTU0VSVF9UUlVFKGlz
bmFuKHdlYlZpZXcubGFzdFVwZGF0ZWRFbGFwc2VkVGltZSkpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBUZXN0V2ViS2l0QVBJCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDJDb2NvYS9sYXJnZS12aWRlby10ZXN0LW5vdy1wbGF5aW5nLmh0bWwgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9sYXJnZS12aWRlby10ZXN0LW5vdy1wbGF5aW5n
Lmh0bWwKaW5kZXggM2M3OWE1NjI0YzMxNDI0YmIwNGI4OTEyYmY2Yjc3NTAzMzI5YmFlNS4uNjU3
ZGJkNzM5NTI3OTI4MGRhNTljOWI1ZWIwY2IxYTIwNmVlYjU3YSAxMDA2NDQKLS0tIGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvbGFyZ2UtdmlkZW8tdGVzdC1ub3ctcGxh
eWluZy5odG1sCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL2xh
cmdlLXZpZGVvLXRlc3Qtbm93LXBsYXlpbmcuaHRtbApAQCAtNyw2ICs3LDEwIEBACiAgICAgICAg
ICAgICBoZWlnaHQ6IDMyMHB4OwogICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAg
ICAgICB9CisKKyAgICAgICAgYm9keSB7CisgICAgICAgICAgICBtYXJnaW46IDA7CisgICAgICAg
IH0KICAgICA8L3N0eWxlPgogICAgIDxzY3JpcHQ+CiAgICAgICAgIGZ1bmN0aW9uIHBsYXlpbmco
KSB7CkBAIC0xNyw5ICsyMSwxMyBAQAogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0s
IDApOwogICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gbW91c2Vkb3duKCkgeworICAgICAg
ICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidmlkZW8iKS5tdXRlZCA9IHRydWU7CisgICAg
ICAgIH0KICAgICA8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgotICAgIDx2aWRlbyBhdXRvcGxh
eSBvbnBsYXlpbmc9cGxheWluZygpPjxzb3VyY2Ugc3JjPSJsYXJnZS12aWRlby13aXRoLWF1ZGlv
Lm1wNCI+PC92aWRlbz4KKyAgICA8dmlkZW8gYXV0b3BsYXkgdGl0bGU9ImZvbyIgb25tb3VzZWRv
d249bW91c2Vkb3duKCkgb25wbGF5aW5nPXBsYXlpbmcoKT48c291cmNlIHNyYz0ibGFyZ2Utdmlk
ZW8td2l0aC1hdWRpby5tcDQiPjwvdmlkZW8+CiA8L2JvZHk+CiA8aHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>