<?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>206863</bug_id>
          
          <creation_ts>2020-01-27 21:25:27 -0800</creation_ts>
          <short_desc>macCatalyst: Triple clicking to select a sentence results in an empty selection</short_desc>
          <delta_ts>2020-01-28 21:56:12 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>berto</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
    
    <cc>mifenton</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1611802</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-01-27 21:25:27 -0800</bug_when>
    <thetext>macCatalyst: Triple clicking to select a sentence results in an empty selection</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611803</commentid>
    <comment_count>1</comment_count>
      <attachid>388965</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-01-27 21:26:09 -0800</bug_when>
    <thetext>Created attachment 388965
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611804</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-01-27 21:26:12 -0800</bug_when>
    <thetext>&lt;rdar://problem/58776993&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611882</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-01-28 06:01:17 -0800</bug_when>
    <thetext>Can this be tested? I know there are no layout tests for macCatalyst yet, but what about an API test or something else?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612202</commentid>
    <comment_count>4</comment_count>
      <attachid>389070</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-01-28 15:02:32 -0800</bug_when>
    <thetext>Created attachment 389070
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612205</commentid>
    <comment_count>5</comment_count>
      <attachid>389072</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-01-28 15:14:05 -0800</bug_when>
    <thetext>Created attachment 389072
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612206</commentid>
    <comment_count>6</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2020-01-28 15:15:09 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612218</commentid>
    <comment_count>7</comment_count>
      <attachid>389072</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-01-28 15:24:03 -0800</bug_when>
    <thetext>Comment on attachment 389072
Patch

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

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:2492
&gt; +void WebPageProxy::doAfterProcessingAllPendingMouseEvents(WTF::Function&lt;void (void)&gt;&amp;&amp; action)

Nit - I think we usually write this WTF::Function&lt;void()&gt;&amp;&amp; (i.e. no second void)

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/MacCatalystMouseSupport.mm:28
&gt; +#if PLATFORM(MACCATALYST)

Is it possible to adjust this such that we&apos;ll run these tests in automation?

&gt; Tools/TestWebKitAPI/Tests/WebKitCocoa/MacCatalystMouseSupport.mm:131
&gt; +    [gesture _hoverEntered:touchSet.get() withEvent:event.get()];
&gt; +    [contentView _mouseGestureRecognizerChanged:gesture];
&gt; +    [touch setTapCount:1];
&gt; +    [event _setButtonMask:UIEventButtonMaskSecondary];
&gt; +    [gesture touchesBegan:touchSet.get() withEvent:event.get()];
&gt; +    [contentView _mouseGestureRecognizerChanged:gesture];
&gt; +    [gesture touchesEnded:touchSet.get() withEvent:event.get()];
&gt; +    [contentView _mouseGestureRecognizerChanged:gesture];

Very exciting!

Not for this patch, but this seems good to one day unify under the existing macOS click simulation helpers in TestWKWebView.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612225</commentid>
    <comment_count>8</comment_count>
      <attachid>389078</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-01-28 15:38:50 -0800</bug_when>
    <thetext>Created attachment 389078
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612246</commentid>
    <comment_count>9</comment_count>
      <attachid>389078</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-28 16:23:08 -0800</bug_when>
    <thetext>Comment on attachment 389078
Patch

Clearing flags on attachment: 389078

Committed r255322: &lt;https://trac.webkit.org/changeset/255322&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612247</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-28 16:23:10 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612315</commentid>
    <comment_count>11</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-01-28 21:55:36 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612316</commentid>
    <comment_count>12</comment_count>
      <attachid>389103</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-01-28 21:55:37 -0800</bug_when>
    <thetext>Created attachment 389103
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612318</commentid>
    <comment_count>13</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-01-28 21:56:02 -0800</bug_when>
    <thetext>Whoops</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388965</attachid>
            <date>2020-01-27 21:26:09 -0800</date>
            <delta_ts>2020-01-28 15:02:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206863-20200127212609.patch</filename>
            <type>text/plain</type>
            <size>6690</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGNmOGJmZmQ2MGRmOTUy
OTgyNmY3N2M2YjMzYmJmMGQxYjFjM2NmYi4uOGJhNzk2NTM4MDQ1NWE5NDc5MjhjMjEwMWU2Nzlm
OGI0NzJiZWRjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTAxLTI3ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIG1hY0NhdGFseXN0
OiBUcmlwbGUgY2xpY2tpbmcgdG8gc2VsZWN0IGEgc2VudGVuY2UgcmVzdWx0cyBpbiBhbiBlbXB0
eSBzZWxlY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwNjg2MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTg3NzY5OTM+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRpbmdC
ZWhhdmlvci5oOgorICAgICAgICAoV2ViQ29yZTo6RWRpdGluZ0JlaGF2aW9yOjpzaG91bGRTZWxl
Y3RPbkNvbnRleHR1YWxNZW51Q2xpY2sgY29uc3QpOgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xp
ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OnNob3VsZFVzZU1vdXNlRXZl
bnRzRm9yU2VsZWN0aW9uKToKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmNhbk1vdXNlRG93blN0YXJ0U2VsZWN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OmNhbk1vdXNlRG93blN0YXJ0U2VsZWN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKiBwYWdlL0V2ZW50SGFuZGxlci5oOgorICAgICAgICBEaXNhYmxlIFdlYkNvcmUncyBtb3Vz
ZS1ldmVudC1kcml2ZW4gc2VsZWN0aW9uIG1lY2hhbmlzbXMgb24gbWFjQ2F0YWx5c3QsCisgICAg
ICAgIHdoZXJlIHdlIHVzZSBhIFVJVGV4dEludGVyYWN0aW9uLWRyaXZlbiBzZWxlY3Rpb24gaW5z
dGVhZC4gT3RoZXJ3aXNlLAorICAgICAgICB0aGV5IGNvbmZsaWN0IHdpdGggZWFjaCBvdGhlciBp
biBhIGNoYW90aWMgZmFzaGlvbi4KKwogMjAyMC0wMS0yNyAgUGVuZyBMaXUgIDxwZW5nLmxpdTZA
YXBwbGUuY29tPgogCiAgICAgICAgIENyYXNoIGluIFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6
OmRldGFjaE1lZGlhU291cmNlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjc0ODVhMDA5Y2MzMTFmMDY5ZDQwZTc3
OTk1NWUzMzI3NWY0YTI2NC4uODUyYTA3NWRkYmQ5MmE1NjA3YWUyNWQxNDFlM2MyY2ZhM2Y0NzJm
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wMS0yNyAgVGltIEhvcnRvbiAgPHRp
bW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBtYWNDYXRhbHlzdDogVHJpcGxlIGNs
aWNraW5nIHRvIHNlbGVjdCBhIHNlbnRlbmNlIHJlc3VsdHMgaW4gYW4gZW1wdHkgc2VsZWN0aW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY4NjMK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU4Nzc2OTkzPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2lv
cy9XZWJDaHJvbWVDbGllbnRJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVu
dDo6c2hvdWxkVXNlTW91c2VFdmVudHNGb3JTZWxlY3Rpb24pOgorCiAyMDIwLTAxLTI3ICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CiAKICAgICAgICAgVGhyb3R0
bGluZyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgc2hvdWxkIGJlIGNvbnRyb2xsZWQgYnkgUmVuZGVy
aW5nVXBkYXRlU2NoZWR1bGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Vk
aXRpbmdCZWhhdmlvci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nQmVoYXZpb3Iu
aAppbmRleCAyMzgzZTI5NGVhOTRmYzZmMTEwNTQzYTgyYWEwZDhmYWUyOGRhM2VhLi43YjlkMzQy
MTFkNTljNThhYWFmNDU4NDI5NzI4M2E0MzkyOTkwZDJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL0VkaXRpbmdCZWhhdmlvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRWRpdGluZ0JlaGF2aW9yLmgKQEAgLTYwLDcgKzYwLDcgQEAgcHVibGljOgogICAgIGJvb2wg
c2hvdWxkQWx3YXlzR3Jvd1NlbGVjdGlvbldoZW5FeHRlbmRpbmdUb0JvdW5kYXJ5KCkgY29uc3Qg
eyByZXR1cm4gbV90eXBlID09IEVkaXRpbmdNYWNCZWhhdmlvciB8fCBtX3R5cGUgPT0gRWRpdGlu
Z0lPU0JlaGF2aW9yOyB9CiAKICAgICAvLyBPbiBNYWMsIHdoZW4gcHJvY2Vzc2luZyBhIGNvbnRl
eHR1YWwgY2xpY2ssIHRoZSBvYmplY3QgYmVpbmcgY2xpY2tlZCB1cG9uIHNob3VsZCBiZSBzZWxl
Y3RlZC4KLSAgICBib29sIHNob3VsZFNlbGVjdE9uQ29udGV4dHVhbE1lbnVDbGljaygpIGNvbnN0
IHsgcmV0dXJuIG1fdHlwZSA9PSBFZGl0aW5nTWFjQmVoYXZpb3IgfHwgbV90eXBlID09IEVkaXRp
bmdJT1NCZWhhdmlvcjsgfQorICAgIGJvb2wgc2hvdWxkU2VsZWN0T25Db250ZXh0dWFsTWVudUNs
aWNrKCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IEVkaXRpbmdNYWNCZWhhdmlvcjsgfQogCiAg
ICAgLy8gT24gTGludXgsIHNob3VsZCBiZSBhYmxlIHRvIGdldCBhbmQgaW5zZXJ0IHNwZWxsaW5n
IHN1Z2dlc3Rpb25zIHdpdGhvdXQgc2VsZWN0aW5nIHRoZSBtaXNzcGVsbGVkIHdvcmQuCiAgICAg
Ym9vbCBzaG91bGRBbGxvd1NwZWxsaW5nU3VnZ2VzdGlvbnNXaXRob3V0U2VsZWN0aW9uKCkgY29u
c3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IDYyNjE3Zjc4ZjNlMmYwNDc0OGFh
NThhZGFlYjhmYTMwYmQ3MTJhZDQuLjliOWM4MzU1ZWQwMzQ1NDAyNzhkMTNjMDM4NmMxM2U0MTVm
NzYyMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAtMTkzLDYgKzE5Myw4IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1vdmVz
KGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9ydHNTZXR0aW5nQ3Vyc29yKCkgeyBy
ZXR1cm4gdHJ1ZTsgfQogCisgICAgdmlydHVhbCBib29sIHNob3VsZFVzZU1vdXNlRXZlbnRzRm9y
U2VsZWN0aW9uKCkgeyByZXR1cm4gdHJ1ZTsgfQorCiAgICAgdmlydHVhbCBGbG9hdFNpemUgc2Ny
ZWVuU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8Q2hyb21lQ2xpZW50Jj4oKnRoaXMp
LndpbmRvd1JlY3QoKS5zaXplKCk7IH0KICAgICB2aXJ0dWFsIEZsb2F0U2l6ZSBhdmFpbGFibGVT
Y3JlZW5TaXplKCkgY29uc3QgeyByZXR1cm4gY29uc3RfY2FzdDxDaHJvbWVDbGllbnQmPigqdGhp
cykud2luZG93UmVjdCgpLnNpemUoKTsgfQogICAgIHZpcnR1YWwgRmxvYXRTaXplIG92ZXJyaWRl
U2NyZWVuU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIGNvbnN0X2Nhc3Q8Q2hyb21lQ2xpZW50Jj4oKnRo
aXMpLndpbmRvd1JlY3QoKS5zaXplKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNw
cAppbmRleCA1N2JmNzE4ZWFhYWFmNmM4NzE5MDAwODZiZWE1ZDM3NWRlMDA4ZTM4Li41OWJlNTUz
Mjg5ZTNkZmY3MmM5YjU4YTE0MDU3MDNhZDM5MWU1ZWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVu
dEhhbmRsZXIuY3BwCkBAIC03MzEsOCArNzMxLDEzIEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5k
bGVNb3VzZVByZXNzRXZlbnRTaW5nbGVDbGljayhjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RS
CiAgICAgcmV0dXJuIGhhbmRsZWQ7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBjYW5Nb3VzZURv
d25TdGFydFNlbGVjdChOb2RlKiBub2RlKQorYm9vbCBFdmVudEhhbmRsZXI6OmNhbk1vdXNlRG93
blN0YXJ0U2VsZWN0KE5vZGUqIG5vZGUpCiB7CisgICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX2ZyYW1l
LnBhZ2UoKSkgeworICAgICAgICBpZiAoIXBhZ2UtPmNocm9tZSgpLmNsaWVudCgpLnNob3VsZFVz
ZU1vdXNlRXZlbnRzRm9yU2VsZWN0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgfQorICAgIAogICAgIGlmICghbm9kZSB8fCAhbm9kZS0+cmVuZGVyZXIoKSkKICAgICAgICAg
cmV0dXJuIHRydWU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IGNjMTUwMGZl
ODJhZGUxYjliYWVlNGNiZmY4NThmZmNkNmY3YWJlYjkuLjE0ZTk1ZWVkNTU4NDRmZDA3ZmUwYTNm
NDA3NzQ4Y2ZiMzcwMDIyMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtNTAw
LDYgKzUwMCw4IEBAIHByaXZhdGU6CiAKICAgICBib29sIHNob3VsZFNlbmRNb3VzZUV2ZW50c1Rv
SW5hY3RpdmVXaW5kb3dzKCkgY29uc3Q7CiAKKyAgICBib29sIGNhbk1vdXNlRG93blN0YXJ0U2Vs
ZWN0KE5vZGUqKTsKKwogICAgIEZyYW1lJiBtX2ZyYW1lOwogCiAgICAgYm9vbCBtX21vdXNlUHJl
c3NlZCB7IGZhbHNlIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggZmRhMzM4ZWNmYTY4NTVlMWMx
ZDYwODUwZTQ3MWY2Nzk0ZWQxYzJjZC4uOWEwM2Y3ZmQ5MWRjZjIwYWE2Njk3ODkwM2ZiZWU1NTEx
YjliNDcyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTgxLDYgKzE4MSw4IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBhc3NvY2lhdGVFZGl0YWJsZUltYWdlV2l0aEF0dGFjaG1lbnQoV2ViQ29yZTo6
R3JhcGhpY3NMYXllcjo6RW1iZWRkZWRWaWV3SUQsIGNvbnN0IFN0cmluZyYgYXR0YWNobWVudElE
KSBmaW5hbDsKICAgICB2b2lkIGRpZENyZWF0ZUVkaXRhYmxlSW1hZ2UoV2ViQ29yZTo6R3JhcGhp
Y3NMYXllcjo6RW1iZWRkZWRWaWV3SUQpIGZpbmFsOwogICAgIHZvaWQgZGlkRGVzdHJveUVkaXRh
YmxlSW1hZ2UoV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6RW1iZWRkZWRWaWV3SUQpIGZpbmFsOwor
CisgICAgYm9vbCBzaG91bGRVc2VNb3VzZUV2ZW50c0ZvclNlbGVjdGlvbigpIGZpbmFsOwogI2Vu
ZGlmCiAKICNpZiBFTkFCTEUoT1JJRU5UQVRJT05fRVZFTlRTKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2lvcy9XZWJDaHJvbWVDbGllbnRJT1Mu
bW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvaW9zL1dlYkNocm9t
ZUNsaWVudElPUy5tbQppbmRleCBjOTkxODZiYzllMTJlMDBlOTlhYTM5ZjUxOWZmYzU1MmIzNTYx
YmE4Li4zYTg2NWMzNmUwYjMzMTkwNDkwOTAxMmNlMzkxNTMxZDAyYWUxMTQ0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvaW9zL1dlYkNocm9tZUNs
aWVudElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
aW9zL1dlYkNocm9tZUNsaWVudElPUy5tbQpAQCAtMTgxLDYgKzE4MSwxNiBAQCB2b2lkIFdlYkNo
cm9tZUNsaWVudDo6ZGlkRGVzdHJveUVkaXRhYmxlSW1hZ2UoR3JhcGhpY3NMYXllcjo6RW1iZWRk
ZWRWaWV3SUQgZW1iZQogI2VuZGlmCiB9CiAKK2Jvb2wgV2ViQ2hyb21lQ2xpZW50OjpzaG91bGRV
c2VNb3VzZUV2ZW50c0ZvclNlbGVjdGlvbigpCit7CisgICAgLy8gSW4gbWFjQ2F0YWx5c3QsIGRl
c3BpdGUgZ2V0dGluZyBtb3VzZSBldmVudHMsIHdlIHN0aWxsIHdhbnQgVUlUZXh0SW50ZXJhY3Rp
b24gYW5kIGZyaWVuZHMgdG8gb3duIHNlbGVjdGlvbiBnZXN0dXJlcy4KKyNpZiBIQVZFKEhPVkVS
X0dFU1RVUkVfUkVDT0dOSVpFUikKKyAgICByZXR1cm4gZmFsc2U7CisjZWxzZQorICAgIHJldHVy
biB0cnVlOworI2VuZGlmCit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8g
UExBVEZPUk0oSU9TX0ZBTUlMWSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389070</attachid>
            <date>2020-01-28 15:02:32 -0800</date>
            <delta_ts>2020-01-28 15:14:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206863-20200128150231.patch</filename>
            <type>text/plain</type>
            <size>29026</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGNmOGJmZmQ2MGRmOTUy
OTgyNmY3N2M2YjMzYmJmMGQxYjFjM2NmYi4uMTdmNzlmMDJlYTM4NGI0YmJlOThjOWU4ZDY1NTAz
MmIwNTVmYmQ4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTAxLTI4ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIG1hY0NhdGFseXN0
OiBUcmlwbGUgY2xpY2tpbmcgdG8gc2VsZWN0IGEgc2VudGVuY2UgcmVzdWx0cyBpbiBhbiBlbXB0
eSBzZWxlY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwNjg2MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTg3NzY5OTM+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRpbmdC
ZWhhdmlvci5oOgorICAgICAgICAoV2ViQ29yZTo6RWRpdGluZ0JlaGF2aW9yOjpzaG91bGRTZWxl
Y3RPbkNvbnRleHR1YWxNZW51Q2xpY2sgY29uc3QpOgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xp
ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OnNob3VsZFVzZU1vdXNlRXZl
bnRzRm9yU2VsZWN0aW9uKToKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmNhbk1vdXNlRG93blN0YXJ0U2VsZWN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OmNhbk1vdXNlRG93blN0YXJ0U2VsZWN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKiBwYWdlL0V2ZW50SGFuZGxlci5oOgorICAgICAgICBEaXNhYmxlIFdlYkNvcmUncyBtb3Vz
ZS1ldmVudC1kcml2ZW4gc2VsZWN0aW9uIG1lY2hhbmlzbXMgb24gbWFjQ2F0YWx5c3QsCisgICAg
ICAgIHdoZXJlIHdlIHVzZSBhIFVJVGV4dEludGVyYWN0aW9uLWRyaXZlbiBzZWxlY3Rpb24gaW5z
dGVhZC4gT3RoZXJ3aXNlLAorICAgICAgICB0aGV5IGNvbmZsaWN0IHdpdGggZWFjaCBvdGhlciBp
biBhIGNoYW90aWMgZmFzaGlvbi4KKwogMjAyMC0wMS0yNyAgUGVuZyBMaXUgIDxwZW5nLmxpdTZA
YXBwbGUuY29tPgogCiAgICAgICAgIENyYXNoIGluIFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6
OmRldGFjaE1lZGlhU291cmNlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjc0ODVhMDA5Y2MzMTFmMDY5ZDQwZTc3
OTk1NWUzMzI3NWY0YTI2NC4uMWU1OGQ1OGNmZmNlNzdlOWQxZDZiZDNiNzQyNzRhNGJkOGE4YjQ4
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAyMC0wMS0yOCAgVGltIEhvcnRvbiAgPHRp
bW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBtYWNDYXRhbHlzdDogVHJpcGxlIGNs
aWNraW5nIHRvIHNlbGVjdCBhIHNlbnRlbmNlIHJlc3VsdHMgaW4gYW4gZW1wdHkgc2VsZWN0aW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY4NjMK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU4Nzc2OTkzPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdQcml2YXRlRm9yVGVzdGluZy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3VGVzdGluZy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9kb0FmdGVyUHJvY2Vzc2lu
Z0FsbFBlbmRpbmdNb3VzZUV2ZW50czpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9X
S1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZ01hYy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
bWFjL1dLV2ViVmlld1Rlc3RpbmdNYWMubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfZG9BZnRl
clByb2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHM6XSk6IERlbGV0ZWQuCisgICAgICAgICog
VUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1dlYlZpZXdJbXBsLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6aGFuZGxlUHJv
Y2Vzc1N3YXBPckV4aXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6ZG9BZnRlclBy
b2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHMpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0
OjpXZWJWaWV3SW1wbDo6ZGlkRmluaXNoUHJvY2Vzc2luZ0FsbFBlbmRpbmdNb3VzZUV2ZW50cyk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpmbHVzaFBlbmRpbmdNb3Vz
ZUV2ZW50Q2FsbGJhY2tzKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVu
dC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OmRvQWZ0ZXJQcm9jZXNzaW5nQWxsUGVuZGluZ01vdXNlRXZlbnRz
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRGaW5pc2hQcm9jZXNzaW5nQWxs
UGVuZGluZ01vdXNlRXZlbnRzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpmbHVz
aFBlbmRpbmdNb3VzZUV2ZW50Q2FsbGJhY2tzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdl
Q2xpZW50SW1wbDo6ZGlkRmluaXNoUHJvY2Vzc2luZ0FsbFBlbmRpbmdNb3VzZUV2ZW50cyk6IERl
bGV0ZWQuCisgICAgICAgIE1vdmUgImRvQWZ0ZXJQcm9jZXNzaW5nQWxsUGVuZGluZ01vdXNlRXZl
bnRzIiB0byBXZWJQYWdlIGluc3RlYWQgb2YgV2ViVmlld0ltcGwsCisgICAgICAgIHNvIGl0IGNh
biBiZSB1c2VkIG9uIGFsbCBwbGF0Zm9ybXMuIEV4cG9zZSBpdCB2aWEgV0tXZWJWaWV3LgorCisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2lvcy9XZWJDaHJvbWVDbGllbnRJT1Mu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6c2hvdWxkVXNlTW91c2VFdmVu
dHNGb3JTZWxlY3Rpb24pOgorCiAyMDIwLTAxLTI3ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91
aGFsbGF3YUBhcHBsZS5jb20+CiAKICAgICAgICAgVGhyb3R0bGluZyByZXF1ZXN0QW5pbWF0aW9u
RnJhbWUgc2hvdWxkIGJlIGNvbnRyb2xsZWQgYnkgUmVuZGVyaW5nVXBkYXRlU2NoZWR1bGVyCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdCZWhhdmlvci5oIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nQmVoYXZpb3IuaAppbmRleCAyMzgzZTI5NGVhOTRm
YzZmMTEwNTQzYTgyYWEwZDhmYWUyOGRhM2VhLi43YjlkMzQyMTFkNTljNThhYWFmNDU4NDI5NzI4
M2E0MzkyOTkwZDJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdC
ZWhhdmlvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ0JlaGF2aW9yLmgK
QEAgLTYwLDcgKzYwLDcgQEAgcHVibGljOgogICAgIGJvb2wgc2hvdWxkQWx3YXlzR3Jvd1NlbGVj
dGlvbldoZW5FeHRlbmRpbmdUb0JvdW5kYXJ5KCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IEVk
aXRpbmdNYWNCZWhhdmlvciB8fCBtX3R5cGUgPT0gRWRpdGluZ0lPU0JlaGF2aW9yOyB9CiAKICAg
ICAvLyBPbiBNYWMsIHdoZW4gcHJvY2Vzc2luZyBhIGNvbnRleHR1YWwgY2xpY2ssIHRoZSBvYmpl
Y3QgYmVpbmcgY2xpY2tlZCB1cG9uIHNob3VsZCBiZSBzZWxlY3RlZC4KLSAgICBib29sIHNob3Vs
ZFNlbGVjdE9uQ29udGV4dHVhbE1lbnVDbGljaygpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBF
ZGl0aW5nTWFjQmVoYXZpb3IgfHwgbV90eXBlID09IEVkaXRpbmdJT1NCZWhhdmlvcjsgfQorICAg
IGJvb2wgc2hvdWxkU2VsZWN0T25Db250ZXh0dWFsTWVudUNsaWNrKCkgY29uc3QgeyByZXR1cm4g
bV90eXBlID09IEVkaXRpbmdNYWNCZWhhdmlvcjsgfQogCiAgICAgLy8gT24gTGludXgsIHNob3Vs
ZCBiZSBhYmxlIHRvIGdldCBhbmQgaW5zZXJ0IHNwZWxsaW5nIHN1Z2dlc3Rpb25zIHdpdGhvdXQg
c2VsZWN0aW5nIHRoZSBtaXNzcGVsbGVkIHdvcmQuCiAgICAgYm9vbCBzaG91bGRBbGxvd1NwZWxs
aW5nU3VnZ2VzdGlvbnNXaXRob3V0U2VsZWN0aW9uKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9t
ZUNsaWVudC5oCmluZGV4IDYyNjE3Zjc4ZjNlMmYwNDc0OGFhNThhZGFlYjhmYTMwYmQ3MTJhZDQu
LjliOWM4MzU1ZWQwMzQ1NDAyNzhkMTNjMDM4NmMxM2U0MTVmNzYyMWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWVDbGllbnQuaApAQCAtMTkzLDYgKzE5Myw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHZvaWQgc2V0Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1vdmVzKGJvb2wpID0gMDsKICAgICB2aXJ0
dWFsIGJvb2wgc3VwcG9ydHNTZXR0aW5nQ3Vyc29yKCkgeyByZXR1cm4gdHJ1ZTsgfQogCisgICAg
dmlydHVhbCBib29sIHNob3VsZFVzZU1vdXNlRXZlbnRzRm9yU2VsZWN0aW9uKCkgeyByZXR1cm4g
dHJ1ZTsgfQorCiAgICAgdmlydHVhbCBGbG9hdFNpemUgc2NyZWVuU2l6ZSgpIGNvbnN0IHsgcmV0
dXJuIGNvbnN0X2Nhc3Q8Q2hyb21lQ2xpZW50Jj4oKnRoaXMpLndpbmRvd1JlY3QoKS5zaXplKCk7
IH0KICAgICB2aXJ0dWFsIEZsb2F0U2l6ZSBhdmFpbGFibGVTY3JlZW5TaXplKCkgY29uc3QgeyBy
ZXR1cm4gY29uc3RfY2FzdDxDaHJvbWVDbGllbnQmPigqdGhpcykud2luZG93UmVjdCgpLnNpemUo
KTsgfQogICAgIHZpcnR1YWwgRmxvYXRTaXplIG92ZXJyaWRlU2NyZWVuU2l6ZSgpIGNvbnN0IHsg
cmV0dXJuIGNvbnN0X2Nhc3Q8Q2hyb21lQ2xpZW50Jj4oKnRoaXMpLndpbmRvd1JlY3QoKS5zaXpl
KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCA1N2JmNzE4ZWFhYWFm
NmM4NzE5MDAwODZiZWE1ZDM3NWRlMDA4ZTM4Li41OWJlNTUzMjg5ZTNkZmY3MmM5YjU4YTE0MDU3
MDNhZDM5MWU1ZWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC03MzEs
OCArNzMxLDEzIEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnRTaW5n
bGVDbGljayhjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSCiAgICAgcmV0dXJuIGhhbmRsZWQ7
CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBjYW5Nb3VzZURvd25TdGFydFNlbGVjdChOb2RlKiBu
b2RlKQorYm9vbCBFdmVudEhhbmRsZXI6OmNhbk1vdXNlRG93blN0YXJ0U2VsZWN0KE5vZGUqIG5v
ZGUpCiB7CisgICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX2ZyYW1lLnBhZ2UoKSkgeworICAgICAgICBp
ZiAoIXBhZ2UtPmNocm9tZSgpLmNsaWVudCgpLnNob3VsZFVzZU1vdXNlRXZlbnRzRm9yU2VsZWN0
aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIAogICAgIGlmICgh
bm9kZSB8fCAhbm9kZS0+cmVuZGVyZXIoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IGNjMTUwMGZlODJhZGUxYjliYWVlNGNiZmY4NThm
ZmNkNmY3YWJlYjkuLjE0ZTk1ZWVkNTU4NDRmZDA3ZmUwYTNmNDA3NzQ4Y2ZiMzcwMDIyMGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtNTAwLDYgKzUwMCw4IEBAIHByaXZhdGU6
CiAKICAgICBib29sIHNob3VsZFNlbmRNb3VzZUV2ZW50c1RvSW5hY3RpdmVXaW5kb3dzKCkgY29u
c3Q7CiAKKyAgICBib29sIGNhbk1vdXNlRG93blN0YXJ0U2VsZWN0KE5vZGUqKTsKKwogICAgIEZy
YW1lJiBtX2ZyYW1lOwogCiAgICAgYm9vbCBtX21vdXNlUHJlc3NlZCB7IGZhbHNlIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0
ZUZvclRlc3RpbmcuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdQcml2YXRlRm9yVGVzdGluZy5oCmluZGV4IDdmMzA5NTlkMGQ1YjMzYzY3Y2U4NGM3MjJjOTRl
M2VmNjMyODRlYzkuLmI5MDNlMTUzMThiZGQ5ZTlkZWJmZWVjZDRjMDJjZTZiMmYyYzNkM2IgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2
YXRlRm9yVGVzdGluZy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZy5oCkBAIC01OSw2ICs1OSw4IEBACiBAcHJvcGVydHkg
KG5vbmF0b21pYywgcmVhZG9ubHkpIEJPT0wgX2hhc1NlcnZpY2VXb3JrZXJGb3JlZ3JvdW5kQWN0
aXZpdHlGb3JUZXN0aW5nOwogLSAodm9pZClfc2V0QXNzZXJ0aW9uU3RhdGVGb3JUZXN0aW5nOihp
bnQpc3RhdGU7CiAKKy0gKHZvaWQpX2RvQWZ0ZXJQcm9jZXNzaW5nQWxsUGVuZGluZ01vdXNlRXZl
bnRzOihkaXNwYXRjaF9ibG9ja190KWFjdGlvbjsKKwogKyAodm9pZClfc2V0QXBwbGljYXRpb25C
dW5kbGVJZGVudGlmaWVyOihOU1N0cmluZyAqKWJ1bmRsZUlkZW50aWZpZXI7CiAKIEBlbmQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdUZXN0
aW5nLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1Rlc3Rp
bmcubW0KaW5kZXggZmM0ZDg1NmYwMmU5ZjRhNzVlN2Y0NGJiOWEzMTNmNmIwYjhiMWVlZS4uY2Iy
YTA4ZTE2ZmU0ZWUyMDViYzM2MGMwMjQ1NWFiOWY2NmE5MDI0ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1Rlc3RpbmcubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1Rlc3RpbmcubW0KQEAgLTIw
Miw2ICsyMDIsMTMgQEAgLSAodm9pZClfZGVueU5leHRVc2VyTWVkaWFSZXF1ZXN0CiAjZW5kaWYK
IH0KIAorLSAodm9pZClfZG9BZnRlclByb2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHM6KGRp
c3BhdGNoX2Jsb2NrX3QpYWN0aW9uCit7CisgICAgX3BhZ2UtPmRvQWZ0ZXJQcm9jZXNzaW5nQWxs
UGVuZGluZ01vdXNlRXZlbnRzKFthY3Rpb24gPSBtYWtlQmxvY2tQdHIoYWN0aW9uKV0geworICAg
ICAgICBhY3Rpb24oKTsKKyAgICB9KTsKK30KKwogKyAodm9pZClfc2V0QXBwbGljYXRpb25CdW5k
bGVJZGVudGlmaWVyOihOU1N0cmluZyAqKWJ1bmRsZUlkZW50aWZpZXIKIHsKICAgICBXZWJDb3Jl
OjpzZXRBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoU3RyaW5nKGJ1bmRsZUlkZW50aWZpZXIp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9tYWMvV0tXZWJWaWV3
UHJpdmF0ZUZvclRlc3RpbmdNYWMuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9tYWMv
V0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmdNYWMuaAppbmRleCBmZmQxNTZhMjU2ZDQ1MTI1MzJi
OTgzYmZmNmIzNmYxYzgwZWYyMGEyLi5lOGU2ZTJiZDIxOGU1NDJkN2RhYjJmM2I4ODQ5MDFjNzBl
MzBiNDgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvbWFjL1dLV2Vi
Vmlld1ByaXZhdGVGb3JUZXN0aW5nTWFjLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL21hYy9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZ01hYy5oCkBAIC01MCw3ICs1MCw2IEBA
CiAKIC0gKHZvaWQpX3NldEhlYWRlckJhbm5lckhlaWdodDooaW50KWhlaWdodDsKIC0gKHZvaWQp
X3NldEZvb3RlckJhbm5lckhlaWdodDooaW50KWhlaWdodDsKLS0gKHZvaWQpX2RvQWZ0ZXJQcm9j
ZXNzaW5nQWxsUGVuZGluZ01vdXNlRXZlbnRzOihkaXNwYXRjaF9ibG9ja190KWFjdGlvbjsKIAog
QGVuZAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvbWFjL1dLV2Vi
Vmlld1Rlc3RpbmdNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvbWFjL1dLV2Vi
Vmlld1Rlc3RpbmdNYWMubW0KaW5kZXggMDJiNGQ5MTcwOTc2YzgxZDM5NTEzNDg2NTgyZGIzYjA1
ZjM5ZWEzMi4uOGM1NDIwNDQxYTQ5ZjkzY2IzM2I2OGRlYzVlZTkzNjM2Zjk5NjllNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL21hYy9XS1dlYlZpZXdUZXN0aW5nTWFj
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9tYWMvV0tXZWJWaWV3VGVzdGlu
Z01hYy5tbQpAQCAtMTAxLDExICsxMDEsNiBAQCAtICh2b2lkKV9zZXRGb290ZXJCYW5uZXJIZWln
aHQ6KGludCloZWlnaHQKICAgICBfcGFnZS0+c2V0Rm9vdGVyQmFubmVySGVpZ2h0Rm9yVGVzdGlu
ZyhoZWlnaHQpOwogfQogCi0tICh2b2lkKV9kb0FmdGVyUHJvY2Vzc2luZ0FsbFBlbmRpbmdNb3Vz
ZUV2ZW50czooZGlzcGF0Y2hfYmxvY2tfdClhY3Rpb24KLXsKLSAgICBfaW1wbC0+ZG9BZnRlclBy
b2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHMoYWN0aW9uKTsKLX0KLQogLSAoTlNNZW51ICop
X2FjdGl2ZU1lbnUKIHsKICAgICAvLyBGSVhNRTogT25seSB0aGUgRE9NIHBhc3RlIGFjY2VzcyBt
ZW51IGlzIHN1cHBvcnRlZCBmb3Igbm93LiBJbiB0aGUgZnV0dXJlLCBpdCBjb3VsZCBiZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKaW5kZXggYzQ2NGQ3NWRl
ZTZlYjBkYTU0NzNlOTg5NjU2MDYzYmQwMjQzNDdkZS4uNmVmNTdjMWM0ZjVhZjFjZTQzZmYyNmNk
MjM1YWNmZDg5OWJkMWUzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJW
aWV3SW1wbC5oCkBAIC01NjksOSArNTY5LDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBoYW5kbGVB
Y2NlcHRlZENhbmRpZGF0ZShOU1RleHRDaGVja2luZ1Jlc3VsdCAqYWNjZXB0ZWRDYW5kaWRhdGUp
OwogCi0gICAgdm9pZCBkb0FmdGVyUHJvY2Vzc2luZ0FsbFBlbmRpbmdNb3VzZUV2ZW50cyhkaXNw
YXRjaF9ibG9ja190IGFjdGlvbik7Ci0gICAgdm9pZCBkaWRGaW5pc2hQcm9jZXNzaW5nQWxsUGVu
ZGluZ01vdXNlRXZlbnRzKCk7Ci0KICNpZiBIQVZFKFRPVUNIX0JBUikKICAgICBOU1RvdWNoQmFy
ICptYWtlVG91Y2hCYXIoKTsKICAgICB2b2lkIHVwZGF0ZVRvdWNoQmFyKCk7CkBAIC03OTUsNyAr
NzkyLDYgQEAgcHJpdmF0ZToKICAgICAvLyB0aGF0IGhhcyBiZWVuIGFscmVhZHkgc2VudCB0byBX
ZWJDb3JlLgogICAgIFJldGFpblB0cjxOU0V2ZW50PiBtX2tleURvd25FdmVudEJlaW5nUmVzZW50
OwogICAgIFZlY3RvcjxXZWJDb3JlOjpLZXlwcmVzc0NvbW1hbmQ+KiBtX2NvbGxlY3RlZEtleXBy
ZXNzQ29tbWFuZHMgeyBudWxscHRyIH07Ci0gICAgVmVjdG9yPEJsb2NrUHRyPHZvaWQoKT4+IG1f
Y2FsbGJhY2tIYW5kbGVyc0FmdGVyUHJvY2Vzc2luZ1BlbmRpbmdNb3VzZUV2ZW50czsKIAogICAg
IFN0cmluZyBtX2xhc3RTdHJpbmdGb3JDYW5kaWRhdGVSZXF1ZXN0OwogICAgIE5TSW50ZWdlciBt
X2xhc3RDYW5kaWRhdGVSZXF1ZXN0U2VxdWVuY2VOdW1iZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCmluZGV4IGMxZTUwNWM0MWYyOWU0OTJjN2NmZWIx
NzAxNDBjM2UzNzc1YWVjMjQuLjg1NjExMDViZDU4MWYyMDdlNDcxZjM1ZmFkYTI2OTQ2YmJmMDY1
MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBs
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCkBA
IC0xNDYyLDcgKzE0NjIsNiBAQCB2b2lkIFdlYlZpZXdJbXBsOjpoYW5kbGVQcm9jZXNzU3dhcE9y
RXhpdCgpCiAgICAgbm90aWZ5SW5wdXRDb250ZXh0QWJvdXREaXNjYXJkZWRDb21wb3NpdGlvbigp
OwogCiAgICAgdXBkYXRlUmVtb3RlQWNjZXNzaWJpbGl0eVJlZ2lzdHJhdGlvbihmYWxzZSk7Ci0g
ICAgZmx1c2hQZW5kaW5nTW91c2VFdmVudENhbGxiYWNrcygpOwogCiAgICAgaGFuZGxlRE9NUGFz
dGVSZXF1ZXN0V2l0aFJlc3VsdChXZWJDb3JlOjpET01QYXN0ZUFjY2Vzc1Jlc3BvbnNlOjpEZW5p
ZWRGb3JHZXN0dXJlKTsKIH0KQEAgLTM0MDAsMjkgKzMzOTksNiBAQCB2b2lkIFdlYlZpZXdJbXBs
OjpoYW5kbGVBY2NlcHRlZENhbmRpZGF0ZShOU1RleHRDaGVja2luZ1Jlc3VsdCAqYWNjZXB0ZWRD
YW5kaWRhdAogICAgIG1fcGFnZS0+aGFuZGxlQWNjZXB0ZWRDYW5kaWRhdGUodGV4dENoZWNraW5n
UmVzdWx0RnJvbU5TVGV4dENoZWNraW5nUmVzdWx0KGFjY2VwdGVkQ2FuZGlkYXRlKSk7CiB9CiAK
LXZvaWQgV2ViVmlld0ltcGw6OmRvQWZ0ZXJQcm9jZXNzaW5nQWxsUGVuZGluZ01vdXNlRXZlbnRz
KGRpc3BhdGNoX2Jsb2NrX3QgYWN0aW9uKQotewotICAgIGlmICghbV9wYWdlLT5pc1Byb2Nlc3Np
bmdNb3VzZUV2ZW50cygpKSB7Ci0gICAgICAgIGFjdGlvbigpOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotCi0gICAgbV9jYWxsYmFja0hhbmRsZXJzQWZ0ZXJQcm9jZXNzaW5nUGVuZGluZ01vdXNl
RXZlbnRzLmFwcGVuZChtYWtlQmxvY2tQdHIoYWN0aW9uKSk7Ci19Ci0KLXZvaWQgV2ViVmlld0lt
cGw6OmRpZEZpbmlzaFByb2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHMoKQotewotICAgIGZs
dXNoUGVuZGluZ01vdXNlRXZlbnRDYWxsYmFja3MoKTsKLX0KLQotdm9pZCBXZWJWaWV3SW1wbDo6
Zmx1c2hQZW5kaW5nTW91c2VFdmVudENhbGxiYWNrcygpCi17Ci0gICAgZm9yIChhdXRvJiBjYWxs
YmFjayA6IG1fY2FsbGJhY2tIYW5kbGVyc0FmdGVyUHJvY2Vzc2luZ1BlbmRpbmdNb3VzZUV2ZW50
cykKLSAgICAgICAgY2FsbGJhY2soKTsKLQotICAgIG1fY2FsbGJhY2tIYW5kbGVyc0FmdGVyUHJv
Y2Vzc2luZ1BlbmRpbmdNb3VzZUV2ZW50cy5jbGVhcigpOwotfQotCiB2b2lkIFdlYlZpZXdJbXBs
OjpwcmVmZXJlbmNlc0RpZENoYW5nZSgpCiB7CiAgICAgQk9PTCBuZWVkc1ZpZXdGcmFtZUluV2lu
ZG93Q29vcmRpbmF0ZXMgPSBtX3BhZ2UtPnByZWZlcmVuY2VzKCkucGx1Z2luc0VuYWJsZWQoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCA5Y2I3ODBmNDA3ZmQ2ZDJmZmRi
MTkyYjQ1ZGM5ZjMwZjMzMTZjOTdkLi40YTU3ZDNkZTE4OTgzNTVlZTU0OWIzY2RlNWQ0OWUzMGJk
MGIyODFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC00NTksOCArNDU5
LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaWRIYW5kbGVBY2NlcHRlZENhbmRpZGF0
ZSgpID0gMDsKICNlbmRpZgogCi0gICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaFByb2Nlc3NpbmdB
bGxQZW5kaW5nTW91c2VFdmVudHMoKSA9IDA7Ci0KICAgICB2aXJ0dWFsIHZvaWQgdmlkZW9Db250
cm9sc01hbmFnZXJEaWRDaGFuZ2UoKSB7IH0KIAogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpICYmICFQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggMDc3NjJhYzA3ZmYxOWE3OGJmNjZlOGI5ODFiNjhmYWU3
MDlkYjkyMS4uM2E2NzFiNTJjODQwYjBiMjNkM2JjYjAyNjQ2ZDJkNzg3MjAwZDJkMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0yNDg5LDYgKzI0ODksMjkg
QEAgdm9pZCBXZWJQYWdlUHJveHk6OnByb2Nlc3NOZXh0UXVldWVkTW91c2VFdmVudCgpCiAgICAg
c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6TW91c2VFdmVudChldmVudCkpOwogfQogCit2b2lkIFdl
YlBhZ2VQcm94eTo6ZG9BZnRlclByb2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHMoV1RGOjpG
dW5jdGlvbjx2b2lkICh2b2lkKT4mJiBhY3Rpb24pCit7CisgICAgaWYgKCFpc1Byb2Nlc3NpbmdN
b3VzZUV2ZW50cygpKSB7CisgICAgICAgIGFjdGlvbigpOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgbV9jYWxsYmFja0hhbmRsZXJzQWZ0ZXJQcm9jZXNzaW5nUGVuZGluZ01vdXNlRXZl
bnRzLmFwcGVuZChXVEZNb3ZlKGFjdGlvbikpOworfQorCit2b2lkIFdlYlBhZ2VQcm94eTo6ZGlk
RmluaXNoUHJvY2Vzc2luZ0FsbFBlbmRpbmdNb3VzZUV2ZW50cygpCit7CisgICAgZmx1c2hQZW5k
aW5nTW91c2VFdmVudENhbGxiYWNrcygpOworfQorCit2b2lkIFdlYlBhZ2VQcm94eTo6Zmx1c2hQ
ZW5kaW5nTW91c2VFdmVudENhbGxiYWNrcygpCit7CisgICAgZm9yIChhdXRvJiBjYWxsYmFjayA6
IG1fY2FsbGJhY2tIYW5kbGVyc0FmdGVyUHJvY2Vzc2luZ1BlbmRpbmdNb3VzZUV2ZW50cykKKyAg
ICAgICAgY2FsbGJhY2soKTsKKworICAgIG1fY2FsbGJhY2tIYW5kbGVyc0FmdGVyUHJvY2Vzc2lu
Z1BlbmRpbmdNb3VzZUV2ZW50cy5jbGVhcigpOworfQorCiAjaWYgTUVSR0VfV0hFRUxfRVZFTlRT
CiBzdGF0aWMgYm9vbCBjYW5Db2FsZXNjZShjb25zdCBXZWJXaGVlbEV2ZW50JiBhLCBjb25zdCBX
ZWJXaGVlbEV2ZW50JiBiKQogewpAQCAtNjY4MSw3ICs2NzA0LDcgQEAgdm9pZCBXZWJQYWdlUHJv
eHk6OmRpZFJlY2VpdmVFdmVudCh1aW50MzJfdCBvcGFxdWVUeXBlLCBib29sIGhhbmRsZWQpCiAg
ICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAoYXV0byogYXV0b21hdGlvblNlc3Npb24g
PSBwcm9jZXNzKCkucHJvY2Vzc1Bvb2woKS5hdXRvbWF0aW9uU2Vzc2lvbigpKQogICAgICAgICAg
ICAgICAgIGF1dG9tYXRpb25TZXNzaW9uLT5tb3VzZUV2ZW50c0ZsdXNoZWRGb3JQYWdlKCp0aGlz
KTsKLSAgICAgICAgICAgIHBhZ2VDbGllbnQoKS5kaWRGaW5pc2hQcm9jZXNzaW5nQWxsUGVuZGlu
Z01vdXNlRXZlbnRzKCk7CisgICAgICAgICAgICBkaWRGaW5pc2hQcm9jZXNzaW5nQWxsUGVuZGlu
Z01vdXNlRXZlbnRzKCk7CiAgICAgICAgIH0KIAogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNWQ0YTcxZDMzMDdjYjBjMDFiOTdlNzRlNGEz
N2U3YTI0OTM1YmY4ZC4uZGE0MmU2ODA3MTQxMzE1Y2NkZDQyMzQ5YWI1MjM1MTY1NjExY2M1YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTg4OSw2ICs4ODksMTAg
QEAgcHVibGljOgogICAgIHZvaWQgcHJvY2Vzc05leHRRdWV1ZWRNb3VzZUV2ZW50KCk7CiAgICAg
dm9pZCBoYW5kbGVNb3VzZUV2ZW50KGNvbnN0IE5hdGl2ZVdlYk1vdXNlRXZlbnQmKTsKIAorICAg
IHZvaWQgZG9BZnRlclByb2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHMoV1RGOjpGdW5jdGlv
bjx2b2lkICh2b2lkKT4mJik7CisgICAgdm9pZCBkaWRGaW5pc2hQcm9jZXNzaW5nQWxsUGVuZGlu
Z01vdXNlRXZlbnRzKCk7CisgICAgdm9pZCBmbHVzaFBlbmRpbmdNb3VzZUV2ZW50Q2FsbGJhY2tz
KCk7CisKICAgICB2b2lkIGhhbmRsZVdoZWVsRXZlbnQoY29uc3QgTmF0aXZlV2ViV2hlZWxFdmVu
dCYpOwogCiAgICAgYm9vbCBpc1Byb2Nlc3NpbmdLZXlib2FyZEV2ZW50cygpIGNvbnN0OwpAQCAt
MjQzOCw2ICsyNDQyLDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoTUFDX0dFU1RVUkVfRVZFTlRT
KQogICAgIERlcXVlPE5hdGl2ZVdlYkdlc3R1cmVFdmVudD4gbV9nZXN0dXJlRXZlbnRRdWV1ZTsK
ICNlbmRpZgorICAgIFZlY3RvcjxXVEY6OkZ1bmN0aW9uPHZvaWQgKHZvaWQpPj4gbV9jYWxsYmFj
a0hhbmRsZXJzQWZ0ZXJQcm9jZXNzaW5nUGVuZGluZ01vdXNlRXZlbnRzOwogCiAjaWYgRU5BQkxF
KFRPVUNIX0VWRU5UUykKICAgICBzdHJ1Y3QgVG91Y2hFdmVudFRyYWNraW5nIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKaW5kZXggYTA3YzVk
M2Y2ZWI2YTI0MWQxODYxYTI1NDJhNTZjYzAwZWMzZjBmOS4uMmE1NTIzZDMxNTllYzZlMmQzYWE2
YjQ0ZTY2MGY1ZTA1NGQ2NTE1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1BhZ2VDbGllbnRJbXBsSU9TLmgKQEAgLTI0OCw4ICsyNDgsNiBAQCBwcml2YXRlOgogCiAgICAg
dm9pZCBoYW5kbGVBdXRvY29ycmVjdGlvbkNvbnRleHQoY29uc3QgV2ViQXV0b2NvcnJlY3Rpb25D
b250ZXh0JikgZmluYWw7CiAKLSAgICB2b2lkIGRpZEZpbmlzaFByb2Nlc3NpbmdBbGxQZW5kaW5n
TW91c2VFdmVudHMoKSBmaW5hbCB7IH0KLQogI2lmIEhBVkUoUEVOQ0lMS0lUKQogICAgIFJldGFp
blB0cjxXS0RyYXdpbmdWaWV3PiBjcmVhdGVEcmF3aW5nVmlldyhXZWJDb3JlOjpHcmFwaGljc0xh
eWVyOjpFbWJlZGRlZFZpZXdJRCkgb3ZlcnJpZGU7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmgKaW5kZXggODAxNmI1NmMxNjBhY2M3
YjQyNjk2MDBmMDdmNzM3YjM3OTM3NjdiYi4uNTJiODViYjEwNThjNGFiNTNkZTZkYjE0YzhmZmRm
MmMxNzgzNTNmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VD
bGllbnRJbXBsTWFjLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGll
bnRJbXBsTWFjLmgKQEAgLTI1MCw4ICsyNTAsNiBAQCBwcml2YXRlOgogICAgIE5TVmlldyAqaW5z
cGVjdG9yQXR0YWNobWVudFZpZXcoKSBvdmVycmlkZTsKICAgICBfV0tSZW1vdGVPYmplY3RSZWdp
c3RyeSAqcmVtb3RlT2JqZWN0UmVnaXN0cnkoKSBvdmVycmlkZTsKIAotICAgIHZvaWQgZGlkRmlu
aXNoUHJvY2Vzc2luZ0FsbFBlbmRpbmdNb3VzZUV2ZW50cygpIGZpbmFsOwotCiAjaWYgRU5BQkxF
KFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkKICAgICBXZWJDb3JlOjpXZWJNZWRpYVNlc3Npb25N
YW5hZ2VyJiBtZWRpYVNlc3Npb25NYW5hZ2VyKCkgb3ZlcnJpZGU7CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbQppbmRleCBiZjdk
YzEzMmIxZWY5ZTA4MTI3NWNiZWNiNTYyZGQxYmZkM2EyYTBlLi5iNDViMmU4Y2MzNDYwNGEwM2Ew
MmE3ZmVmZjQ0Yjk4MGVlNDRiZmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
bWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tCkBAIC05MTksMTEgKzkxOSw2IEBAIF9XS1JlbW90ZU9i
amVjdFJlZ2lzdHJ5ICpQYWdlQ2xpZW50SW1wbDo6cmVtb3RlT2JqZWN0UmVnaXN0cnkoKQogICAg
IHJldHVybiBtX2ltcGwtPnJlbW90ZU9iamVjdFJlZ2lzdHJ5KCk7CiB9CiAKLXZvaWQgUGFnZUNs
aWVudEltcGw6OmRpZEZpbmlzaFByb2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHMoKQotewot
ICAgIG1faW1wbC0+ZGlkRmluaXNoUHJvY2Vzc2luZ0FsbFBlbmRpbmdNb3VzZUV2ZW50cygpOwot
fQotCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpkaWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKQogewog
ICAgIG1faW1wbC0+ZGlkUmVzdG9yZVNjcm9sbFBvc2l0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgK
aW5kZXggZmRhMzM4ZWNmYTY4NTVlMWMxZDYwODUwZTQ3MWY2Nzk0ZWQxYzJjZC4uOWEwM2Y3ZmQ5
MWRjZjIwYWE2Njk3ODkwM2ZiZWU1NTExYjliNDcyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAt
MTgxLDYgKzE4MSw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBhc3NvY2lhdGVFZGl0YWJsZUltYWdl
V2l0aEF0dGFjaG1lbnQoV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6RW1iZWRkZWRWaWV3SUQsIGNv
bnN0IFN0cmluZyYgYXR0YWNobWVudElEKSBmaW5hbDsKICAgICB2b2lkIGRpZENyZWF0ZUVkaXRh
YmxlSW1hZ2UoV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6RW1iZWRkZWRWaWV3SUQpIGZpbmFsOwog
ICAgIHZvaWQgZGlkRGVzdHJveUVkaXRhYmxlSW1hZ2UoV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6
RW1iZWRkZWRWaWV3SUQpIGZpbmFsOworCisgICAgYm9vbCBzaG91bGRVc2VNb3VzZUV2ZW50c0Zv
clNlbGVjdGlvbigpIGZpbmFsOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoT1JJRU5UQVRJT05fRVZF
TlRTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L2lvcy9XZWJDaHJvbWVDbGllbnRJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvaW9zL1dlYkNocm9tZUNsaWVudElPUy5tbQppbmRleCBjOTkxODZiYzllMTJl
MDBlOTlhYTM5ZjUxOWZmYzU1MmIzNTYxYmE4Li4zYTg2NWMzNmUwYjMzMTkwNDkwOTAxMmNlMzkx
NTMxZDAyYWUxMTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvaW9zL1dlYkNocm9tZUNsaWVudElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvaW9zL1dlYkNocm9tZUNsaWVudElPUy5tbQpAQCAtMTgx
LDYgKzE4MSwxNiBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6ZGlkRGVzdHJveUVkaXRhYmxlSW1h
Z2UoR3JhcGhpY3NMYXllcjo6RW1iZWRkZWRWaWV3SUQgZW1iZQogI2VuZGlmCiB9CiAKK2Jvb2wg
V2ViQ2hyb21lQ2xpZW50OjpzaG91bGRVc2VNb3VzZUV2ZW50c0ZvclNlbGVjdGlvbigpCit7Cisg
ICAgLy8gSW4gbWFjQ2F0YWx5c3QsIGRlc3BpdGUgZ2V0dGluZyBtb3VzZSBldmVudHMsIHdlIHN0
aWxsIHdhbnQgVUlUZXh0SW50ZXJhY3Rpb24gYW5kIGZyaWVuZHMgdG8gb3duIHNlbGVjdGlvbiBn
ZXN0dXJlcy4KKyNpZiBIQVZFKEhPVkVSX0dFU1RVUkVfUkVDT0dOSVpFUikKKyAgICByZXR1cm4g
ZmFsc2U7CisjZWxzZQorICAgIHJldHVybiB0cnVlOworI2VuZGlmCit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYktpdAogCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBmNWM3YWEyMjg4ZGExMTM3
MjM4M2I4NTFiZTg3Njc2OGE2YWNmMDUxLi5lYmM0OWYzZjYwYmEyNGI3Y2I0ZDIyNTg0NGRkZGE1
NjY3ZWJkNjIyIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMjAtMDEtMjggIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hv
cnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgbWFjQ2F0YWx5c3Q6IFRyaXBsZSBjbGlja2luZyB0
byBzZWxlY3QgYSBzZW50ZW5jZSByZXN1bHRzIGluIGFuIGVtcHR5IHNlbGVjdGlvbgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2ODYzCisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS81ODc3Njk5Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0
Q29jb2EvTWFjQ2F0YWx5c3RNb3VzZVN1cHBvcnQubW06IEFkZGVkLgorICAgICAgICAoLVtXS1Rl
c3RpbmdFdmVudCBsb2NhdGlvbkluVmlldzpdKToKKyAgICAgICAgKC1bV0tUZXN0aW5nRXZlbnQg
X3NldEJ1dHRvbk1hc2s6XSk6CisgICAgICAgICgtW1dLVGVzdGluZ0V2ZW50IF9idXR0b25NYXNr
XSk6CisgICAgICAgICgtW1dLVGVzdGluZ1RvdWNoIGxvY2F0aW9uSW5WaWV3Ol0pOgorICAgICAg
ICAoLVtXS1Rlc3RpbmdUb3VjaCBzZXRUYXBDb3VudDpdKToKKyAgICAgICAgKC1bV0tUZXN0aW5n
VG91Y2ggdGFwQ291bnRdKToKKyAgICAgICAgKG1vdXNlR2VzdHVyZSk6CisgICAgICAgIChURVNU
KToKKyAgICAgICAgQWRkIGEgdGVzdCBlbnN1cmluZyB0aGF0IHNpbXBseSBwbHVtYmluZyBtb3Vz
ZSBldmVudHMgdG8gV2ViQ29yZQorICAgICAgICBkb2VzIG5vdCByZXN1bHQgaW4gYSBzZWxlY3Rp
b24gY2hhbmdlIGluIG1hY0NhdGFseXN0IChiZWNhdXNlIFVJS2l0CisgICAgICAgIHdpbGwgaGFu
ZGxlIHRoZSBzZWxlY3Rpb24gY2hhbmdlIGl0c2VsZiwgaW5zdGVhZCkuCisKIDIwMjAtMDEtMjcg
IFJvYmluIE1vcmlzc2V0ICA8cm1vcmlzc2V0QGFwcGxlLmNvbT4KIAogICAgICAgICBUb29scy9T
Y3JpcHRzL3NldC13ZWJraXQtY29uZmlndXJhdGlvbiBzaG91bGQgYWNjZXB0IC0tY292ZXJhZ2Uv
LS1uby1jb3ZlcmFnZQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0
QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhNTVjYzMzNDIxYmNlNzBl
ZTRhMDAxZmVkNzY3Zjg0ZDljODBiMTE4Li44YTY1ZGExMzU5MzUyNWYzODgzNzBkMDI5ZTg0MmE5
MmZiMWQ1MzEzIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEku
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTI3LDYgKzEyNyw3IEBACiAJ
CTJEMDAwNjVGMUMxRjU4OUEwMDg4RTZBNyAvKiBXS1BERlZpZXcubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDAwMDY1RDFDMUY1ODk0MDA4OEU2QTcg
LyogV0tQREZWaWV3Lm1tICovOyB9OwogCQkyRDAxRDA2RTIzMjE4RkVFMDAzOUFBM0EgLyogV0tX
ZWJWaWV3UHJpbnRGb3JtYXR0ZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyRDAxRDA2RDIzMjE4RkVFMDAzOUFBM0EgLyogV0tXZWJWaWV3UHJpbnRG
b3JtYXR0ZXIubW0gKi87IH07CiAJCTJEMDhFOTM3MjI2N0QwRjQwMDI1MThEQSAvKiBSZXBhcmVu
dFdlYlZpZXdUaW1lb3V0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMkQwOEU5MzYyMjY3RDBGMzAwMjUxOERBIC8qIFJlcGFyZW50V2ViVmlld1RpbWVv
dXQubW0gKi87IH07CisJCTJEMTE2RTEzMjNFMENCM0EwMDIwODkwMCAvKiBNYWNDYXRhbHlzdE1v
dXNlU3VwcG9ydC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJEMTE2RTEyMjNFMENCMzkwMDIwODkwMCAvKiBNYWNDYXRhbHlzdE1vdXNlU3VwcG9ydC5t
bSAqLzsgfTsKIAkJMkQxNjQ2RTIxRDE4NjJDRDAwMDE1QTFBIC8qIERlZmVycmVkVmlld0luV2lu
ZG93U3RhdGVDaGFuZ2UubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyRDE2NDZFMTFEMTg2MkNEMDAwMTVBMUEgLyogRGVmZXJyZWRWaWV3SW5XaW5kb3dT
dGF0ZUNoYW5nZS5tbSAqLzsgfTsKIAkJMkQyQkVCMkQyMjMyNEU1RjAwNTU0NENBIC8qIFJlcXVl
c3RUZXh0SW5wdXRDb250ZXh0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkQyQkVCMkMyMjMyNEU1RjAwNTU0NENBIC8qIFJlcXVlc3RUZXh0SW5wdXRD
b250ZXh0Lm1tICovOyB9OwogCQkyRDJEMTNCMzIyOUY0MDhCMDA1MDY4QUYgLyogRGV2aWNlTWFu
YWdlbWVudFJlc3RyaWN0aW9ucy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDJEMkQxM0IyMjI5RjQwOEIwMDUwNjhBRiAvKiBEZXZpY2VNYW5hZ2VtZW50
UmVzdHJpY3Rpb25zLm1tICovOyB9OwpAQCAtMTY0OSw2ICsxNjUwLDcgQEAKIAkJMkQwMDA2NUQx
QzFGNTg5NDAwODhFNkE3IC8qIFdLUERGVmlldy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFdLUERGVmlldy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMkQwMUQwNkQyMzIxOEZFRTAwMzlBQTNBIC8qIFdLV2ViVmlld1ByaW50Rm9ybWF0dGVyLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tXZWJWaWV3UHJpbnRG
b3JtYXR0ZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEMDhFOTM2MjI2N0Qw
RjMwMDI1MThEQSAvKiBSZXBhcmVudFdlYlZpZXdUaW1lb3V0Lm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gUmVwYXJlbnRXZWJWaWV3VGltZW91dC5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQxMTZFMTIyM0UwQ0IzOTAwMjA4OTAwIC8qIE1hY0Nh
dGFseXN0TW91c2VTdXBwb3J0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gTWFjQ2F0YWx5c3RNb3VzZVN1cHBvcnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTJEMTY0NkUxMUQxODYyQ0QwMDAxNUExQSAvKiBEZWZlcnJlZFZpZXdJbldpbmRvd1N0
YXRlQ2hhbmdlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gRGVm
ZXJyZWRWaWV3SW5XaW5kb3dTdGF0ZUNoYW5nZS5tbTsgcGF0aCA9IFdlYktpdC9EZWZlcnJlZFZp
ZXdJbldpbmRvd1N0YXRlQ2hhbmdlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
RDFDMDRBNTFENzYyOThCMDAwQTY4MTYgLyogVGVzdE5hdmlnYXRpb25EZWxlZ2F0ZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBUZXN0TmF2aWdhdGlvbkRlbGVnYXRlLmg7IHBh
dGggPSBjb2NvYS9UZXN0TmF2aWdhdGlvbkRlbGVnYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTJEMUMwNEE2MUQ3NjI5OEIwMDBBNjgxNiAvKiBUZXN0TmF2aWdhdGlvbkRlbGVn
YXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gVGVzdE5hdmln
YXRpb25EZWxlZ2F0ZS5tbTsgcGF0aCA9IGNvY29hL1Rlc3ROYXZpZ2F0aW9uRGVsZWdhdGUubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yOTYwLDYgKzI5NjIsNyBAQAogCQkJCTQ2
QzUxOUQ4MUQzNTVBNzMwMERBQTUxQSAvKiBMb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5tbSAqLywK
IAkJCQk4QzEwQUY5NjIwNjQ2Nzc3MDAxOEZEOTAgLyogTG9jYWxTdG9yYWdlUGVyc2lzdGVuY2Uu
bW0gKi8sCiAJCQkJN0E2QTJDNkYxRENDRjg3QjAwQzBEMDg1IC8qIExvY2FsU3RvcmFnZVF1aXJr
VGVzdC5tbSAqLywKKwkJCQkyRDExNkUxMjIzRTBDQjM5MDAyMDg5MDAgLyogTWFjQ2F0YWx5c3RN
b3VzZVN1cHBvcnQubW0gKi8sCiAJCQkJMDdDQzdERkQyMjY2MzMwODAwRTM5MTgxIC8qIE1lZGlh
QnVmZmVyaW5nUG9saWN5Lm1tICovLAogCQkJCTUxQkU5RTY1MjM3NjA4OTUwMEI0RTExNyAvKiBN
ZWRpYVR5cGUubW0gKi8sCiAJCQkJNTE2NUZFMDMyMDFFRTYxNzAwOUY3RUMzIC8qIE1lc3NhZ2VQ
b3J0UHJvdmlkZXJzLm1tICovLApAQCAtNDgwMCw2ICs0ODAzLDcgQEAKIAkJCQk3QTZBMkM3MDFE
Q0NGQThDMDBDMEQwODUgLyogTG9jYWxTdG9yYWdlUXVpcmtUZXN0Lm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJNkJGNEE2ODMyMzlFRDRDRDAwRTJGNDVCIC8qIExvZ2dlZEluU3RhdHVzLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTA3NkU1MDdGMUY0NTEzRDYwMDZFOUY1QSAvKiBMb2dnaW5nLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTJEMTE2RTEzMjNFMENCM0EwMDIwODkwMCAvKiBNYWNDYXRhbHlz
dE1vdXNlU3VwcG9ydC5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNFMTg2NjQ5MUY3MkU4RjEwMEEw
Q0FCNiAvKiBNYXJrZWRUZXh0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3Q0M3REZFMjI2NjMz
MDkwMEUzOTE4MSAvKiBNZWRpYUJ1ZmZlcmluZ1BvbGljeS5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CUNEQTMxNTk4MUVENTM2NTEwMDlGNjBEMyAvKiBNZWRpYVBsYXliYWNrU2xlZXBBc3NlcnRpb24u
bW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvTWFjQ2F0YWx5c3RNb3VzZVN1cHBvcnQubW0gYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdENvY29hL01hY0NhdGFseXN0TW91c2VTdXBwb3J0Lm1tCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmQzMTAzOWJhN2E1YzgwMmIyYmZiOWMxZWFiNzM2NGIyNDNkNzEzOWEKLS0tIC9kZXYvbnVs
bAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL01hY0NhdGFseXN0
TW91c2VTdXBwb3J0Lm1tCkBAIC0wLDAgKzEsMTQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAi
Y29uZmlnLmgiCisKKyNpZiBQTEFURk9STShNQUNDQVRBTFlTVCkKKworI2ltcG9ydCAiUGxhdGZv
cm1VdGlsaXRpZXMuaCIKKyNpbXBvcnQgIlRlc3QuaCIKKyNpbXBvcnQgIlRlc3ROYXZpZ2F0aW9u
RGVsZWdhdGUuaCIKKyNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKKyNpbXBvcnQgIlVJS2l0U1BJ
LmgiCisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaD4KKyNp
bXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZy5oPgorI2ltcG9ydCA8V2Vi
S2l0L1dlYktpdC5oPgorI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgorCitAaW50ZXJmYWNlIFdL
TW91c2VHZXN0dXJlUmVjb2duaXplciA6IFVJR2VzdHVyZVJlY29nbml6ZXIKKy0gKHZvaWQpX2hv
dmVyRW50ZXJlZDooTlNTZXQ8VUlUb3VjaCAqPiAqKXRvdWNoZXMgd2l0aEV2ZW50OihVSUV2ZW50
ICopZXZlbnQ7CistICh2b2lkKV9ob3ZlckV4aXRlZDooTlNTZXQ8VUlUb3VjaCAqPiAqKXRvdWNo
ZXMgd2l0aEV2ZW50OihVSUV2ZW50ICopZXZlbnQ7CistICh2b2lkKXRvdWNoZXNCZWdhbjooTlNT
ZXQ8VUlUb3VjaCAqPiAqKXRvdWNoZXMgd2l0aEV2ZW50OihVSUV2ZW50ICopZXZlbnQ7CistICh2
b2lkKXRvdWNoZXNFbmRlZDooTlNTZXQ8VUlUb3VjaCAqPiAqKXRvdWNoZXMgd2l0aEV2ZW50OihV
SUV2ZW50ICopZXZlbnQ7CitAZW5kCisKK0BpbnRlcmZhY2UgV0tDb250ZW50VmlldyAoKQorLSAo
dm9pZClfbW91c2VHZXN0dXJlUmVjb2duaXplckNoYW5nZWQ6KFdLTW91c2VHZXN0dXJlUmVjb2du
aXplciAqKWdlc3R1cmVSZWNvZ25pemVyOworQGVuZAorCitAaW50ZXJmYWNlIFdLVGVzdGluZ0V2
ZW50IDogVUlFdmVudAorQGVuZAorCitAaW1wbGVtZW50YXRpb24gV0tUZXN0aW5nRXZlbnQgewor
ICAgIFVJRXZlbnRCdXR0b25NYXNrIF9idXR0b25NYXNrOworfQorCistIChDR1BvaW50KWxvY2F0
aW9uSW5WaWV3OihVSVZpZXcgKil2aWV3Cit7CisgICAgcmV0dXJuIENHUG9pbnRNYWtlKDEwLCAx
MCk7Cit9CisKKy0gKHZvaWQpX3NldEJ1dHRvbk1hc2s6KFVJRXZlbnRCdXR0b25NYXNrKWJ1dHRv
bk1hc2sKK3sKKyAgICBfYnV0dG9uTWFzayA9IGJ1dHRvbk1hc2s7Cit9CisKKy0gKFVJRXZlbnRC
dXR0b25NYXNrKV9idXR0b25NYXNrCit7CisgICAgcmV0dXJuIF9idXR0b25NYXNrOworfQorCitA
ZW5kCisKK0BpbnRlcmZhY2UgV0tUZXN0aW5nVG91Y2ggOiBVSVRvdWNoCitAZW5kCisKK0BpbXBs
ZW1lbnRhdGlvbiBXS1Rlc3RpbmdUb3VjaCB7CisgICAgTlNVSW50ZWdlciBfdGFwQ291bnQ7Cit9
CisKKy0gKENHUG9pbnQpbG9jYXRpb25JblZpZXc6KFVJVmlldyAqKXZpZXcKK3sKKyAgICByZXR1
cm4gQ0dQb2ludE1ha2UoMTAsIDEwKTsKK30KKworLSAodm9pZClzZXRUYXBDb3VudDooTlNVSW50
ZWdlcil0YXBDb3VudAoreworICAgIF90YXBDb3VudCA9IHRhcENvdW50OworfQorCistIChOU1VJ
bnRlZ2VyKXRhcENvdW50Cit7CisgICAgcmV0dXJuIF90YXBDb3VudDsKK30KKworQGVuZAorCitz
dGF0aWMgV0tNb3VzZUdlc3R1cmVSZWNvZ25pemVyICptb3VzZUdlc3R1cmUoVUlWaWV3ICp2aWV3
KQoreworICAgIGZvciAoVUlHZXN0dXJlUmVjb2duaXplciAqcmVjb2duaXplciBpbiB2aWV3Lmdl
c3R1cmVSZWNvZ25pemVycykgeworICAgICAgICBpZiAoW3JlY29nbml6ZXIgaXNLaW5kT2ZDbGFz
czpOU0NsYXNzRnJvbVN0cmluZyhAIldLTW91c2VHZXN0dXJlUmVjb2duaXplciIpXSkKKyAgICAg
ICAgICAgIHJldHVybiAoV0tNb3VzZUdlc3R1cmVSZWNvZ25pemVyICopcmVjb2duaXplcjsKKyAg
ICB9CisKKyAgICByZXR1cm4gbmlsOworfQorCitURVNUKE1hY0NhdGFseXN0TW91c2VTdXBwb3J0
LCBEb05vdENoYW5nZVNlbGVjdGlvbldpdGhSaWdodENsaWNrKQoreworICAgIGF1dG8gd2ViVmll
d0NvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10g
aW5pdF0pOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9j
XSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246
d2ViVmlld0NvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5
TG9hZFRlc3RQYWdlTmFtZWQ6QCJzaW1wbGUiXTsKKyAgICBbd2ViVmlldyBvYmplY3RCeUV2YWx1
YXRpbmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoJ2NvbnRlbnRlZGl0
YWJsZScsJycpOyJdOworCisgICAgYXV0byBjb250ZW50VmlldyA9IFt3ZWJWaWV3IHdrQ29udGVu
dFZpZXddOworICAgIGF1dG8gZ2VzdHVyZSA9IG1vdXNlR2VzdHVyZShjb250ZW50Vmlldyk7CisK
KyAgICBSZXRhaW5QdHI8V0tUZXN0aW5nVG91Y2g+IHRvdWNoID0gYWRvcHROUyhbW1dLVGVzdGlu
Z1RvdWNoIGFsbG9jXSBpbml0XSk7CisgICAgUmV0YWluUHRyPE5TU2V0PiB0b3VjaFNldCA9IFtO
U1NldCBzZXRXaXRoT2JqZWN0OnRvdWNoLmdldCgpXTsKKworICAgIFJldGFpblB0cjxXS1Rlc3Rp
bmdFdmVudD4gZXZlbnQgPSBhZG9wdE5TKFtbV0tUZXN0aW5nRXZlbnQgYWxsb2NdIGluaXRdKTsK
KworICAgIFtnZXN0dXJlIF9ob3ZlckVudGVyZWQ6dG91Y2hTZXQuZ2V0KCkgd2l0aEV2ZW50OmV2
ZW50LmdldCgpXTsKKyAgICBbY29udGVudFZpZXcgX21vdXNlR2VzdHVyZVJlY29nbml6ZXJDaGFu
Z2VkOmdlc3R1cmVdOworICAgIFt0b3VjaCBzZXRUYXBDb3VudDoxXTsKKyAgICBbZXZlbnQgX3Nl
dEJ1dHRvbk1hc2s6VUlFdmVudEJ1dHRvbk1hc2tTZWNvbmRhcnldOworICAgIFtnZXN0dXJlIHRv
dWNoZXNCZWdhbjp0b3VjaFNldC5nZXQoKSB3aXRoRXZlbnQ6ZXZlbnQuZ2V0KCldOworICAgIFtj
b250ZW50VmlldyBfbW91c2VHZXN0dXJlUmVjb2duaXplckNoYW5nZWQ6Z2VzdHVyZV07CisgICAg
W2dlc3R1cmUgdG91Y2hlc0VuZGVkOnRvdWNoU2V0LmdldCgpIHdpdGhFdmVudDpldmVudC5nZXQo
KV07CisgICAgW2NvbnRlbnRWaWV3IF9tb3VzZUdlc3R1cmVSZWNvZ25pemVyQ2hhbmdlZDpnZXN0
dXJlXTsKKworICAgIF9fYmxvY2sgYm9vbCBkb25lID0gZmFsc2U7CisKKyAgICBbd2ViVmlldyBf
ZG9BZnRlclByb2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHM6XnsKKyAgICAgICAgTlNOdW1i
ZXIgKnJlc3VsdCA9IFt3ZWJWaWV3IG9iamVjdEJ5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ3aW5k
b3cuZ2V0U2VsZWN0aW9uKCkuaXNDb2xsYXBzZWQiXTsKKyAgICAgICAgRVhQRUNUX1RSVUUoW3Jl
c3VsdCBib29sVmFsdWVdKTsKKyAgICAgICAgZG9uZSA9IHRydWU7CisgICAgfV07CisKKyAgICBU
ZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworfQorCisjZW5kaWYgLy8gUExBVEZPUk0o
TUFDQ0FUQUxZU1QpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389072</attachid>
            <date>2020-01-28 15:14:05 -0800</date>
            <delta_ts>2020-01-28 15:38:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206863-20200128151404.patch</filename>
            <type>text/plain</type>
            <size>31159</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGNmOGJmZmQ2MGRmOTUy
OTgyNmY3N2M2YjMzYmJmMGQxYjFjM2NmYi4uMTdmNzlmMDJlYTM4NGI0YmJlOThjOWU4ZDY1NTAz
MmIwNTVmYmQ4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTAxLTI4ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIG1hY0NhdGFseXN0
OiBUcmlwbGUgY2xpY2tpbmcgdG8gc2VsZWN0IGEgc2VudGVuY2UgcmVzdWx0cyBpbiBhbiBlbXB0
eSBzZWxlY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwNjg2MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTg3NzY5OTM+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRpbmdC
ZWhhdmlvci5oOgorICAgICAgICAoV2ViQ29yZTo6RWRpdGluZ0JlaGF2aW9yOjpzaG91bGRTZWxl
Y3RPbkNvbnRleHR1YWxNZW51Q2xpY2sgY29uc3QpOgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xp
ZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OnNob3VsZFVzZU1vdXNlRXZl
bnRzRm9yU2VsZWN0aW9uKToKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmNhbk1vdXNlRG93blN0YXJ0U2VsZWN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OmNhbk1vdXNlRG93blN0YXJ0U2VsZWN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKiBwYWdlL0V2ZW50SGFuZGxlci5oOgorICAgICAgICBEaXNhYmxlIFdlYkNvcmUncyBtb3Vz
ZS1ldmVudC1kcml2ZW4gc2VsZWN0aW9uIG1lY2hhbmlzbXMgb24gbWFjQ2F0YWx5c3QsCisgICAg
ICAgIHdoZXJlIHdlIHVzZSBhIFVJVGV4dEludGVyYWN0aW9uLWRyaXZlbiBzZWxlY3Rpb24gaW5z
dGVhZC4gT3RoZXJ3aXNlLAorICAgICAgICB0aGV5IGNvbmZsaWN0IHdpdGggZWFjaCBvdGhlciBp
biBhIGNoYW90aWMgZmFzaGlvbi4KKwogMjAyMC0wMS0yNyAgUGVuZyBMaXUgIDxwZW5nLmxpdTZA
YXBwbGUuY29tPgogCiAgICAgICAgIENyYXNoIGluIFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6
OmRldGFjaE1lZGlhU291cmNlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjc0ODVhMDA5Y2MzMTFmMDY5ZDQwZTc3
OTk1NWUzMzI3NWY0YTI2NC4uMWU1OGQ1OGNmZmNlNzdlOWQxZDZiZDNiNzQyNzRhNGJkOGE4YjQ4
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAyMC0wMS0yOCAgVGltIEhvcnRvbiAgPHRp
bW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBtYWNDYXRhbHlzdDogVHJpcGxlIGNs
aWNraW5nIHRvIHNlbGVjdCBhIHNlbnRlbmNlIHJlc3VsdHMgaW4gYW4gZW1wdHkgc2VsZWN0aW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY4NjMK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU4Nzc2OTkzPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdQcml2YXRlRm9yVGVzdGluZy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3VGVzdGluZy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9kb0FmdGVyUHJvY2Vzc2lu
Z0FsbFBlbmRpbmdNb3VzZUV2ZW50czpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9X
S1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZ01hYy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
bWFjL1dLV2ViVmlld1Rlc3RpbmdNYWMubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfZG9BZnRl
clByb2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHM6XSk6IERlbGV0ZWQuCisgICAgICAgICog
VUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1dlYlZpZXdJbXBsLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6aGFuZGxlUHJv
Y2Vzc1N3YXBPckV4aXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6ZG9BZnRlclBy
b2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHMpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0
OjpXZWJWaWV3SW1wbDo6ZGlkRmluaXNoUHJvY2Vzc2luZ0FsbFBlbmRpbmdNb3VzZUV2ZW50cyk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpmbHVzaFBlbmRpbmdNb3Vz
ZUV2ZW50Q2FsbGJhY2tzKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNsaWVu
dC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlUHJveHk6OmRvQWZ0ZXJQcm9jZXNzaW5nQWxsUGVuZGluZ01vdXNlRXZlbnRz
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRGaW5pc2hQcm9jZXNzaW5nQWxs
UGVuZGluZ01vdXNlRXZlbnRzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpmbHVz
aFBlbmRpbmdNb3VzZUV2ZW50Q2FsbGJhY2tzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpQYWdl
Q2xpZW50SW1wbDo6ZGlkRmluaXNoUHJvY2Vzc2luZ0FsbFBlbmRpbmdNb3VzZUV2ZW50cyk6IERl
bGV0ZWQuCisgICAgICAgIE1vdmUgImRvQWZ0ZXJQcm9jZXNzaW5nQWxsUGVuZGluZ01vdXNlRXZl
bnRzIiB0byBXZWJQYWdlIGluc3RlYWQgb2YgV2ViVmlld0ltcGwsCisgICAgICAgIHNvIGl0IGNh
biBiZSB1c2VkIG9uIGFsbCBwbGF0Zm9ybXMuIEV4cG9zZSBpdCB2aWEgV0tXZWJWaWV3LgorCisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2lvcy9XZWJDaHJvbWVDbGllbnRJT1Mu
bW06CisgICAgICAgIChXZWJLaXQ6OldlYkNocm9tZUNsaWVudDo6c2hvdWxkVXNlTW91c2VFdmVu
dHNGb3JTZWxlY3Rpb24pOgorCiAyMDIwLTAxLTI3ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91
aGFsbGF3YUBhcHBsZS5jb20+CiAKICAgICAgICAgVGhyb3R0bGluZyByZXF1ZXN0QW5pbWF0aW9u
RnJhbWUgc2hvdWxkIGJlIGNvbnRyb2xsZWQgYnkgUmVuZGVyaW5nVXBkYXRlU2NoZWR1bGVyCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdCZWhhdmlvci5oIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nQmVoYXZpb3IuaAppbmRleCAyMzgzZTI5NGVhOTRm
YzZmMTEwNTQzYTgyYWEwZDhmYWUyOGRhM2VhLi43YjlkMzQyMTFkNTljNThhYWFmNDU4NDI5NzI4
M2E0MzkyOTkwZDJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdC
ZWhhdmlvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ0JlaGF2aW9yLmgK
QEAgLTYwLDcgKzYwLDcgQEAgcHVibGljOgogICAgIGJvb2wgc2hvdWxkQWx3YXlzR3Jvd1NlbGVj
dGlvbldoZW5FeHRlbmRpbmdUb0JvdW5kYXJ5KCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IEVk
aXRpbmdNYWNCZWhhdmlvciB8fCBtX3R5cGUgPT0gRWRpdGluZ0lPU0JlaGF2aW9yOyB9CiAKICAg
ICAvLyBPbiBNYWMsIHdoZW4gcHJvY2Vzc2luZyBhIGNvbnRleHR1YWwgY2xpY2ssIHRoZSBvYmpl
Y3QgYmVpbmcgY2xpY2tlZCB1cG9uIHNob3VsZCBiZSBzZWxlY3RlZC4KLSAgICBib29sIHNob3Vs
ZFNlbGVjdE9uQ29udGV4dHVhbE1lbnVDbGljaygpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBF
ZGl0aW5nTWFjQmVoYXZpb3IgfHwgbV90eXBlID09IEVkaXRpbmdJT1NCZWhhdmlvcjsgfQorICAg
IGJvb2wgc2hvdWxkU2VsZWN0T25Db250ZXh0dWFsTWVudUNsaWNrKCkgY29uc3QgeyByZXR1cm4g
bV90eXBlID09IEVkaXRpbmdNYWNCZWhhdmlvcjsgfQogCiAgICAgLy8gT24gTGludXgsIHNob3Vs
ZCBiZSBhYmxlIHRvIGdldCBhbmQgaW5zZXJ0IHNwZWxsaW5nIHN1Z2dlc3Rpb25zIHdpdGhvdXQg
c2VsZWN0aW5nIHRoZSBtaXNzcGVsbGVkIHdvcmQuCiAgICAgYm9vbCBzaG91bGRBbGxvd1NwZWxs
aW5nU3VnZ2VzdGlvbnNXaXRob3V0U2VsZWN0aW9uKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9t
ZUNsaWVudC5oCmluZGV4IDYyNjE3Zjc4ZjNlMmYwNDc0OGFhNThhZGFlYjhmYTMwYmQ3MTJhZDQu
LjliOWM4MzU1ZWQwMzQ1NDAyNzhkMTNjMDM4NmMxM2U0MTVmNzYyMWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWVDbGllbnQuaApAQCAtMTkzLDYgKzE5Myw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHZvaWQgc2V0Q3Vyc29ySGlkZGVuVW50aWxNb3VzZU1vdmVzKGJvb2wpID0gMDsKICAgICB2aXJ0
dWFsIGJvb2wgc3VwcG9ydHNTZXR0aW5nQ3Vyc29yKCkgeyByZXR1cm4gdHJ1ZTsgfQogCisgICAg
dmlydHVhbCBib29sIHNob3VsZFVzZU1vdXNlRXZlbnRzRm9yU2VsZWN0aW9uKCkgeyByZXR1cm4g
dHJ1ZTsgfQorCiAgICAgdmlydHVhbCBGbG9hdFNpemUgc2NyZWVuU2l6ZSgpIGNvbnN0IHsgcmV0
dXJuIGNvbnN0X2Nhc3Q8Q2hyb21lQ2xpZW50Jj4oKnRoaXMpLndpbmRvd1JlY3QoKS5zaXplKCk7
IH0KICAgICB2aXJ0dWFsIEZsb2F0U2l6ZSBhdmFpbGFibGVTY3JlZW5TaXplKCkgY29uc3QgeyBy
ZXR1cm4gY29uc3RfY2FzdDxDaHJvbWVDbGllbnQmPigqdGhpcykud2luZG93UmVjdCgpLnNpemUo
KTsgfQogICAgIHZpcnR1YWwgRmxvYXRTaXplIG92ZXJyaWRlU2NyZWVuU2l6ZSgpIGNvbnN0IHsg
cmV0dXJuIGNvbnN0X2Nhc3Q8Q2hyb21lQ2xpZW50Jj4oKnRoaXMpLndpbmRvd1JlY3QoKS5zaXpl
KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCA1N2JmNzE4ZWFhYWFm
NmM4NzE5MDAwODZiZWE1ZDM3NWRlMDA4ZTM4Li41OWJlNTUzMjg5ZTNkZmY3MmM5YjU4YTE0MDU3
MDNhZDM5MWU1ZWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC03MzEs
OCArNzMxLDEzIEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnRTaW5n
bGVDbGljayhjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSCiAgICAgcmV0dXJuIGhhbmRsZWQ7
CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBjYW5Nb3VzZURvd25TdGFydFNlbGVjdChOb2RlKiBu
b2RlKQorYm9vbCBFdmVudEhhbmRsZXI6OmNhbk1vdXNlRG93blN0YXJ0U2VsZWN0KE5vZGUqIG5v
ZGUpCiB7CisgICAgaWYgKFBhZ2UqIHBhZ2UgPSBtX2ZyYW1lLnBhZ2UoKSkgeworICAgICAgICBp
ZiAoIXBhZ2UtPmNocm9tZSgpLmNsaWVudCgpLnNob3VsZFVzZU1vdXNlRXZlbnRzRm9yU2VsZWN0
aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIAogICAgIGlmICgh
bm9kZSB8fCAhbm9kZS0+cmVuZGVyZXIoKSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IGNjMTUwMGZlODJhZGUxYjliYWVlNGNiZmY4NThm
ZmNkNmY3YWJlYjkuLjE0ZTk1ZWVkNTU4NDRmZDA3ZmUwYTNmNDA3NzQ4Y2ZiMzcwMDIyMGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtNTAwLDYgKzUwMCw4IEBAIHByaXZhdGU6
CiAKICAgICBib29sIHNob3VsZFNlbmRNb3VzZUV2ZW50c1RvSW5hY3RpdmVXaW5kb3dzKCkgY29u
c3Q7CiAKKyAgICBib29sIGNhbk1vdXNlRG93blN0YXJ0U2VsZWN0KE5vZGUqKTsKKwogICAgIEZy
YW1lJiBtX2ZyYW1lOwogCiAgICAgYm9vbCBtX21vdXNlUHJlc3NlZCB7IGZhbHNlIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0
ZUZvclRlc3RpbmcuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdQcml2YXRlRm9yVGVzdGluZy5oCmluZGV4IDdmMzA5NTlkMGQ1YjMzYzY3Y2U4NGM3MjJjOTRl
M2VmNjMyODRlYzkuLmI5MDNlMTUzMThiZGQ5ZTlkZWJmZWVjZDRjMDJjZTZiMmYyYzNkM2IgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2
YXRlRm9yVGVzdGluZy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZy5oCkBAIC01OSw2ICs1OSw4IEBACiBAcHJvcGVydHkg
KG5vbmF0b21pYywgcmVhZG9ubHkpIEJPT0wgX2hhc1NlcnZpY2VXb3JrZXJGb3JlZ3JvdW5kQWN0
aXZpdHlGb3JUZXN0aW5nOwogLSAodm9pZClfc2V0QXNzZXJ0aW9uU3RhdGVGb3JUZXN0aW5nOihp
bnQpc3RhdGU7CiAKKy0gKHZvaWQpX2RvQWZ0ZXJQcm9jZXNzaW5nQWxsUGVuZGluZ01vdXNlRXZl
bnRzOihkaXNwYXRjaF9ibG9ja190KWFjdGlvbjsKKwogKyAodm9pZClfc2V0QXBwbGljYXRpb25C
dW5kbGVJZGVudGlmaWVyOihOU1N0cmluZyAqKWJ1bmRsZUlkZW50aWZpZXI7CiAKIEBlbmQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdUZXN0
aW5nLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1Rlc3Rp
bmcubW0KaW5kZXggZmM0ZDg1NmYwMmU5ZjRhNzVlN2Y0NGJiOWEzMTNmNmIwYjhiMWVlZS4uY2Iy
YTA4ZTE2ZmU0ZWUyMDViYzM2MGMwMjQ1NWFiOWY2NmE5MDI0ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1Rlc3RpbmcubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1Rlc3RpbmcubW0KQEAgLTIw
Miw2ICsyMDIsMTMgQEAgLSAodm9pZClfZGVueU5leHRVc2VyTWVkaWFSZXF1ZXN0CiAjZW5kaWYK
IH0KIAorLSAodm9pZClfZG9BZnRlclByb2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHM6KGRp
c3BhdGNoX2Jsb2NrX3QpYWN0aW9uCit7CisgICAgX3BhZ2UtPmRvQWZ0ZXJQcm9jZXNzaW5nQWxs
UGVuZGluZ01vdXNlRXZlbnRzKFthY3Rpb24gPSBtYWtlQmxvY2tQdHIoYWN0aW9uKV0geworICAg
ICAgICBhY3Rpb24oKTsKKyAgICB9KTsKK30KKwogKyAodm9pZClfc2V0QXBwbGljYXRpb25CdW5k
bGVJZGVudGlmaWVyOihOU1N0cmluZyAqKWJ1bmRsZUlkZW50aWZpZXIKIHsKICAgICBXZWJDb3Jl
OjpzZXRBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXIoU3RyaW5nKGJ1bmRsZUlkZW50aWZpZXIp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVu
dEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwu
aAppbmRleCBkN2M5MDRhNTEyYTAwYTVjODE4N2JjNDk2NmI5YmZiMjcxYzFjNWE0Li43M2JhMmVh
ZTYzMzA2MjI2ZjI2MmVlMzg4ZTdlNmMzZWQzZTUwMGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCkBAIC0xNTYsOCArMTU2LDYgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGlzUGxheWluZ0F1ZGlvV2lsbENoYW5nZSgpIGZpbmFsIHsgfQog
ICAgIHZvaWQgaXNQbGF5aW5nQXVkaW9EaWRDaGFuZ2UoKSBmaW5hbCB7IH0KIAotICAgIHZvaWQg
ZGlkRmluaXNoUHJvY2Vzc2luZ0FsbFBlbmRpbmdNb3VzZUV2ZW50cygpIGZpbmFsIHsgfQotCiAg
ICAgdm9pZCByZXF1ZXN0RE9NUGFzdGVBY2Nlc3MoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYsIGNv
bnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6RE9NUGFzdGVBY2Nl
c3NSZXNwb25zZSk+JiYpIGZpbmFsOwogCiAjaWYgRU5BQkxFKFZJREVPKSAmJiBVU0UoR1NUUkVB
TUVSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL21hYy9XS1dlYlZp
ZXdQcml2YXRlRm9yVGVzdGluZ01hYy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL21h
Yy9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZ01hYy5oCmluZGV4IGZmZDE1NmEyNTZkNDUxMjUz
MmI5ODNiZmY2YjM2ZjFjODBlZjIwYTIuLmU4ZTZlMmJkMjE4ZTU0MmQ3ZGFiMmYzYjg4NDkwMWM3
MGUzMGI0ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9tYWMvV0tX
ZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmdNYWMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvbWFjL1dLV2ViVmlld1ByaXZhdGVGb3JUZXN0aW5nTWFjLmgKQEAgLTUwLDcgKzUwLDYg
QEAKIAogLSAodm9pZClfc2V0SGVhZGVyQmFubmVySGVpZ2h0OihpbnQpaGVpZ2h0OwogLSAodm9p
ZClfc2V0Rm9vdGVyQmFubmVySGVpZ2h0OihpbnQpaGVpZ2h0OwotLSAodm9pZClfZG9BZnRlclBy
b2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHM6KGRpc3BhdGNoX2Jsb2NrX3QpYWN0aW9uOwog
CiBAZW5kCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9tYWMvV0tX
ZWJWaWV3VGVzdGluZ01hYy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9tYWMvV0tX
ZWJWaWV3VGVzdGluZ01hYy5tbQppbmRleCAwMmI0ZDkxNzA5NzZjODFkMzk1MTM0ODY1ODJkYjNi
MDVmMzllYTMyLi44YzU0MjA0NDFhNDlmOTNjYjMzYjY4ZGVjNWVlOTM2MzZmOTk2OWU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvbWFjL1dLV2ViVmlld1Rlc3RpbmdN
YWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL21hYy9XS1dlYlZpZXdUZXN0
aW5nTWFjLm1tCkBAIC0xMDEsMTEgKzEwMSw2IEBAIC0gKHZvaWQpX3NldEZvb3RlckJhbm5lckhl
aWdodDooaW50KWhlaWdodAogICAgIF9wYWdlLT5zZXRGb290ZXJCYW5uZXJIZWlnaHRGb3JUZXN0
aW5nKGhlaWdodCk7CiB9CiAKLS0gKHZvaWQpX2RvQWZ0ZXJQcm9jZXNzaW5nQWxsUGVuZGluZ01v
dXNlRXZlbnRzOihkaXNwYXRjaF9ibG9ja190KWFjdGlvbgotewotICAgIF9pbXBsLT5kb0FmdGVy
UHJvY2Vzc2luZ0FsbFBlbmRpbmdNb3VzZUV2ZW50cyhhY3Rpb24pOwotfQotCiAtIChOU01lbnUg
KilfYWN0aXZlTWVudQogewogICAgIC8vIEZJWE1FOiBPbmx5IHRoZSBET00gcGFzdGUgYWNjZXNz
IG1lbnUgaXMgc3VwcG9ydGVkIGZvciBub3cuIEluIHRoZSBmdXR1cmUsIGl0IGNvdWxkIGJlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1BhZ2VDbGllbnRJbXBs
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1BhZ2VDbGllbnRJbXBsLmgKaW5k
ZXggYTJmODhmODA4Y2QzNmU4YTBmNDVhMGM2YWYzNWQ0NDljOTJmOTM4Ni4uMGE2NzE0MTljZGM5
ODA2ZDI2Zjk2ZmVhOWI4Mjc0Y2U5MzM3ZTQxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL3dwZS9QYWdlQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS93cGUvUGFnZUNsaWVudEltcGwuaApAQCAtMTU4LDggKzE1OCw2IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBiZWdhbkV4aXRGdWxsU2NyZWVuKGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
IGluaXRpYWxGcmFtZSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgZmluYWxGcmFtZSkgb3ZlcnJp
ZGU7CiAjZW5kaWYKIAotICAgIHZvaWQgZGlkRmluaXNoUHJvY2Vzc2luZ0FsbFBlbmRpbmdNb3Vz
ZUV2ZW50cygpIGZpbmFsIHsgfQotCiAgICAgSVBDOjpBdHRhY2htZW50IGhvc3RGaWxlRGVzY3Jp
cHRvcigpIGZpbmFsOwogICAgIHZvaWQgcmVxdWVzdERPTVBhc3RlQWNjZXNzKGNvbnN0IFdlYkNv
cmU6OkludFJlY3QmLCBjb25zdCBTdHJpbmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNv
cmU6OkRPTVBhc3RlQWNjZXNzUmVzcG9uc2UpPiYmKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKaW5kZXggYzQ2NGQ3NWRlZTZlYjBkYTU0NzNl
OTg5NjU2MDYzYmQwMjQzNDdkZS4uNmVmNTdjMWM0ZjVhZjFjZTQzZmYyNmNkMjM1YWNmZDg5OWJk
MWUzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0lt
cGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oCkBA
IC01NjksOSArNTY5LDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBoYW5kbGVBY2NlcHRlZENhbmRp
ZGF0ZShOU1RleHRDaGVja2luZ1Jlc3VsdCAqYWNjZXB0ZWRDYW5kaWRhdGUpOwogCi0gICAgdm9p
ZCBkb0FmdGVyUHJvY2Vzc2luZ0FsbFBlbmRpbmdNb3VzZUV2ZW50cyhkaXNwYXRjaF9ibG9ja190
IGFjdGlvbik7Ci0gICAgdm9pZCBkaWRGaW5pc2hQcm9jZXNzaW5nQWxsUGVuZGluZ01vdXNlRXZl
bnRzKCk7Ci0KICNpZiBIQVZFKFRPVUNIX0JBUikKICAgICBOU1RvdWNoQmFyICptYWtlVG91Y2hC
YXIoKTsKICAgICB2b2lkIHVwZGF0ZVRvdWNoQmFyKCk7CkBAIC03OTUsNyArNzkyLDYgQEAgcHJp
dmF0ZToKICAgICAvLyB0aGF0IGhhcyBiZWVuIGFscmVhZHkgc2VudCB0byBXZWJDb3JlLgogICAg
IFJldGFpblB0cjxOU0V2ZW50PiBtX2tleURvd25FdmVudEJlaW5nUmVzZW50OwogICAgIFZlY3Rv
cjxXZWJDb3JlOjpLZXlwcmVzc0NvbW1hbmQ+KiBtX2NvbGxlY3RlZEtleXByZXNzQ29tbWFuZHMg
eyBudWxscHRyIH07Ci0gICAgVmVjdG9yPEJsb2NrUHRyPHZvaWQoKT4+IG1fY2FsbGJhY2tIYW5k
bGVyc0FmdGVyUHJvY2Vzc2luZ1BlbmRpbmdNb3VzZUV2ZW50czsKIAogICAgIFN0cmluZyBtX2xh
c3RTdHJpbmdGb3JDYW5kaWRhdGVSZXF1ZXN0OwogICAgIE5TSW50ZWdlciBtX2xhc3RDYW5kaWRh
dGVSZXF1ZXN0U2VxdWVuY2VOdW1iZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L1dlYlZpZXdJbXBsLm1tCmluZGV4IGMxZTUwNWM0MWYyOWU0OTJjN2NmZWIxNzAxNDBjM2UzNzc1
YWVjMjQuLjg1NjExMDViZDU4MWYyMDdlNDcxZjM1ZmFkYTI2OTQ2YmJmMDY1MDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCkBAIC0xNDYyLDcgKzE0
NjIsNiBAQCB2b2lkIFdlYlZpZXdJbXBsOjpoYW5kbGVQcm9jZXNzU3dhcE9yRXhpdCgpCiAgICAg
bm90aWZ5SW5wdXRDb250ZXh0QWJvdXREaXNjYXJkZWRDb21wb3NpdGlvbigpOwogCiAgICAgdXBk
YXRlUmVtb3RlQWNjZXNzaWJpbGl0eVJlZ2lzdHJhdGlvbihmYWxzZSk7Ci0gICAgZmx1c2hQZW5k
aW5nTW91c2VFdmVudENhbGxiYWNrcygpOwogCiAgICAgaGFuZGxlRE9NUGFzdGVSZXF1ZXN0V2l0
aFJlc3VsdChXZWJDb3JlOjpET01QYXN0ZUFjY2Vzc1Jlc3BvbnNlOjpEZW5pZWRGb3JHZXN0dXJl
KTsKIH0KQEAgLTM0MDAsMjkgKzMzOTksNiBAQCB2b2lkIFdlYlZpZXdJbXBsOjpoYW5kbGVBY2Nl
cHRlZENhbmRpZGF0ZShOU1RleHRDaGVja2luZ1Jlc3VsdCAqYWNjZXB0ZWRDYW5kaWRhdAogICAg
IG1fcGFnZS0+aGFuZGxlQWNjZXB0ZWRDYW5kaWRhdGUodGV4dENoZWNraW5nUmVzdWx0RnJvbU5T
VGV4dENoZWNraW5nUmVzdWx0KGFjY2VwdGVkQ2FuZGlkYXRlKSk7CiB9CiAKLXZvaWQgV2ViVmll
d0ltcGw6OmRvQWZ0ZXJQcm9jZXNzaW5nQWxsUGVuZGluZ01vdXNlRXZlbnRzKGRpc3BhdGNoX2Js
b2NrX3QgYWN0aW9uKQotewotICAgIGlmICghbV9wYWdlLT5pc1Byb2Nlc3NpbmdNb3VzZUV2ZW50
cygpKSB7Ci0gICAgICAgIGFjdGlvbigpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAg
bV9jYWxsYmFja0hhbmRsZXJzQWZ0ZXJQcm9jZXNzaW5nUGVuZGluZ01vdXNlRXZlbnRzLmFwcGVu
ZChtYWtlQmxvY2tQdHIoYWN0aW9uKSk7Ci19Ci0KLXZvaWQgV2ViVmlld0ltcGw6OmRpZEZpbmlz
aFByb2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHMoKQotewotICAgIGZsdXNoUGVuZGluZ01v
dXNlRXZlbnRDYWxsYmFja3MoKTsKLX0KLQotdm9pZCBXZWJWaWV3SW1wbDo6Zmx1c2hQZW5kaW5n
TW91c2VFdmVudENhbGxiYWNrcygpCi17Ci0gICAgZm9yIChhdXRvJiBjYWxsYmFjayA6IG1fY2Fs
bGJhY2tIYW5kbGVyc0FmdGVyUHJvY2Vzc2luZ1BlbmRpbmdNb3VzZUV2ZW50cykKLSAgICAgICAg
Y2FsbGJhY2soKTsKLQotICAgIG1fY2FsbGJhY2tIYW5kbGVyc0FmdGVyUHJvY2Vzc2luZ1BlbmRp
bmdNb3VzZUV2ZW50cy5jbGVhcigpOwotfQotCiB2b2lkIFdlYlZpZXdJbXBsOjpwcmVmZXJlbmNl
c0RpZENoYW5nZSgpCiB7CiAgICAgQk9PTCBuZWVkc1ZpZXdGcmFtZUluV2luZG93Q29vcmRpbmF0
ZXMgPSBtX3BhZ2UtPnByZWZlcmVuY2VzKCkucGx1Z2luc0VuYWJsZWQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1BhZ2VDbGllbnQuaAppbmRleCA5Y2I3ODBmNDA3ZmQ2ZDJmZmRiMTkyYjQ1ZGM5ZjMw
ZjMzMTZjOTdkLi40YTU3ZDNkZTE4OTgzNTVlZTU0OWIzY2RlNWQ0OWUzMGJkMGIyODFkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCkBAIC00NTksOCArNDU5LDYgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBkaWRIYW5kbGVBY2NlcHRlZENhbmRpZGF0ZSgpID0gMDsKICNl
bmRpZgogCi0gICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaFByb2Nlc3NpbmdBbGxQZW5kaW5nTW91
c2VFdmVudHMoKSA9IDA7Ci0KICAgICB2aXJ0dWFsIHZvaWQgdmlkZW9Db250cm9sc01hbmFnZXJE
aWRDaGFuZ2UoKSB7IH0KIAogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICYm
ICFQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKaW5kZXggMDc3NjJhYzA3ZmYxOWE3OGJmNjZlOGI5ODFiNjhmYWU3MDlkYjkyMS4uM2E2
NzFiNTJjODQwYjBiMjNkM2JjYjAyNjQ2ZDJkNzg3MjAwZDJkMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0yNDg5LDYgKzI0ODksMjkgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OnByb2Nlc3NOZXh0UXVldWVkTW91c2VFdmVudCgpCiAgICAgc2VuZChNZXNzYWdl
czo6V2ViUGFnZTo6TW91c2VFdmVudChldmVudCkpOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6
ZG9BZnRlclByb2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHMoV1RGOjpGdW5jdGlvbjx2b2lk
ICh2b2lkKT4mJiBhY3Rpb24pCit7CisgICAgaWYgKCFpc1Byb2Nlc3NpbmdNb3VzZUV2ZW50cygp
KSB7CisgICAgICAgIGFjdGlvbigpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9j
YWxsYmFja0hhbmRsZXJzQWZ0ZXJQcm9jZXNzaW5nUGVuZGluZ01vdXNlRXZlbnRzLmFwcGVuZChX
VEZNb3ZlKGFjdGlvbikpOworfQorCit2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkRmluaXNoUHJvY2Vz
c2luZ0FsbFBlbmRpbmdNb3VzZUV2ZW50cygpCit7CisgICAgZmx1c2hQZW5kaW5nTW91c2VFdmVu
dENhbGxiYWNrcygpOworfQorCit2b2lkIFdlYlBhZ2VQcm94eTo6Zmx1c2hQZW5kaW5nTW91c2VF
dmVudENhbGxiYWNrcygpCit7CisgICAgZm9yIChhdXRvJiBjYWxsYmFjayA6IG1fY2FsbGJhY2tI
YW5kbGVyc0FmdGVyUHJvY2Vzc2luZ1BlbmRpbmdNb3VzZUV2ZW50cykKKyAgICAgICAgY2FsbGJh
Y2soKTsKKworICAgIG1fY2FsbGJhY2tIYW5kbGVyc0FmdGVyUHJvY2Vzc2luZ1BlbmRpbmdNb3Vz
ZUV2ZW50cy5jbGVhcigpOworfQorCiAjaWYgTUVSR0VfV0hFRUxfRVZFTlRTCiBzdGF0aWMgYm9v
bCBjYW5Db2FsZXNjZShjb25zdCBXZWJXaGVlbEV2ZW50JiBhLCBjb25zdCBXZWJXaGVlbEV2ZW50
JiBiKQogewpAQCAtNjY4MSw3ICs2NzA0LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZFJlY2Vp
dmVFdmVudCh1aW50MzJfdCBvcGFxdWVUeXBlLCBib29sIGhhbmRsZWQpCiAgICAgICAgIH0gZWxz
ZSB7CiAgICAgICAgICAgICBpZiAoYXV0byogYXV0b21hdGlvblNlc3Npb24gPSBwcm9jZXNzKCku
cHJvY2Vzc1Bvb2woKS5hdXRvbWF0aW9uU2Vzc2lvbigpKQogICAgICAgICAgICAgICAgIGF1dG9t
YXRpb25TZXNzaW9uLT5tb3VzZUV2ZW50c0ZsdXNoZWRGb3JQYWdlKCp0aGlzKTsKLSAgICAgICAg
ICAgIHBhZ2VDbGllbnQoKS5kaWRGaW5pc2hQcm9jZXNzaW5nQWxsUGVuZGluZ01vdXNlRXZlbnRz
KCk7CisgICAgICAgICAgICBkaWRGaW5pc2hQcm9jZXNzaW5nQWxsUGVuZGluZ01vdXNlRXZlbnRz
KCk7CiAgICAgICAgIH0KIAogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKaW5kZXggNWQ0YTcxZDMzMDdjYjBjMDFiOTdlNzRlNGEzN2U3YTI0OTM1YmY4
ZC4uZGE0MmU2ODA3MTQxMzE1Y2NkZDQyMzQ5YWI1MjM1MTY1NjExY2M1YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTg4OSw2ICs4ODksMTAgQEAgcHVibGljOgog
ICAgIHZvaWQgcHJvY2Vzc05leHRRdWV1ZWRNb3VzZUV2ZW50KCk7CiAgICAgdm9pZCBoYW5kbGVN
b3VzZUV2ZW50KGNvbnN0IE5hdGl2ZVdlYk1vdXNlRXZlbnQmKTsKIAorICAgIHZvaWQgZG9BZnRl
clByb2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHMoV1RGOjpGdW5jdGlvbjx2b2lkICh2b2lk
KT4mJik7CisgICAgdm9pZCBkaWRGaW5pc2hQcm9jZXNzaW5nQWxsUGVuZGluZ01vdXNlRXZlbnRz
KCk7CisgICAgdm9pZCBmbHVzaFBlbmRpbmdNb3VzZUV2ZW50Q2FsbGJhY2tzKCk7CisKICAgICB2
b2lkIGhhbmRsZVdoZWVsRXZlbnQoY29uc3QgTmF0aXZlV2ViV2hlZWxFdmVudCYpOwogCiAgICAg
Ym9vbCBpc1Byb2Nlc3NpbmdLZXlib2FyZEV2ZW50cygpIGNvbnN0OwpAQCAtMjQzOCw2ICsyNDQy
LDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoTUFDX0dFU1RVUkVfRVZFTlRTKQogICAgIERlcXVl
PE5hdGl2ZVdlYkdlc3R1cmVFdmVudD4gbV9nZXN0dXJlRXZlbnRRdWV1ZTsKICNlbmRpZgorICAg
IFZlY3RvcjxXVEY6OkZ1bmN0aW9uPHZvaWQgKHZvaWQpPj4gbV9jYWxsYmFja0hhbmRsZXJzQWZ0
ZXJQcm9jZXNzaW5nUGVuZGluZ01vdXNlRXZlbnRzOwogCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5U
UykKICAgICBzdHJ1Y3QgVG91Y2hFdmVudFRyYWNraW5nIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKaW5kZXggYTA3YzVkM2Y2ZWI2YTI0MWQx
ODYxYTI1NDJhNTZjYzAwZWMzZjBmOS4uMmE1NTIzZDMxNTllYzZlMmQzYWE2YjQ0ZTY2MGY1ZTA1
NGQ2NTE1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGll
bnRJbXBsSU9TLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJ
bXBsSU9TLmgKQEAgLTI0OCw4ICsyNDgsNiBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBoYW5kbGVB
dXRvY29ycmVjdGlvbkNvbnRleHQoY29uc3QgV2ViQXV0b2NvcnJlY3Rpb25Db250ZXh0JikgZmlu
YWw7CiAKLSAgICB2b2lkIGRpZEZpbmlzaFByb2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHMo
KSBmaW5hbCB7IH0KLQogI2lmIEhBVkUoUEVOQ0lMS0lUKQogICAgIFJldGFpblB0cjxXS0RyYXdp
bmdWaWV3PiBjcmVhdGVEcmF3aW5nVmlldyhXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpFbWJlZGRl
ZFZpZXdJRCkgb3ZlcnJpZGU7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
bWFjL1BhZ2VDbGllbnRJbXBsTWFjLmgKaW5kZXggODAxNmI1NmMxNjBhY2M3YjQyNjk2MDBmMDdm
NzM3YjM3OTM3NjdiYi4uNTJiODViYjEwNThjNGFiNTNkZTZkYjE0YzhmZmRmMmMxNzgzNTNmNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFj
LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGllbnRJbXBsTWFjLmgK
QEAgLTI1MCw4ICsyNTAsNiBAQCBwcml2YXRlOgogICAgIE5TVmlldyAqaW5zcGVjdG9yQXR0YWNo
bWVudFZpZXcoKSBvdmVycmlkZTsKICAgICBfV0tSZW1vdGVPYmplY3RSZWdpc3RyeSAqcmVtb3Rl
T2JqZWN0UmVnaXN0cnkoKSBvdmVycmlkZTsKIAotICAgIHZvaWQgZGlkRmluaXNoUHJvY2Vzc2lu
Z0FsbFBlbmRpbmdNb3VzZUV2ZW50cygpIGZpbmFsOwotCiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BM
QVlCQUNLX1RBUkdFVCkKICAgICBXZWJDb3JlOjpXZWJNZWRpYVNlc3Npb25NYW5hZ2VyJiBtZWRp
YVNlc3Npb25NYW5hZ2VyKCkgb3ZlcnJpZGU7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbQppbmRleCBiZjdkYzEzMmIxZWY5ZTA4
MTI3NWNiZWNiNTYyZGQxYmZkM2EyYTBlLi5iNDViMmU4Y2MzNDYwNGEwM2EwMmE3ZmVmZjQ0Yjk4
MGVlNDRiZmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNs
aWVudEltcGxNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VDbGll
bnRJbXBsTWFjLm1tCkBAIC05MTksMTEgKzkxOSw2IEBAIF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5
ICpQYWdlQ2xpZW50SW1wbDo6cmVtb3RlT2JqZWN0UmVnaXN0cnkoKQogICAgIHJldHVybiBtX2lt
cGwtPnJlbW90ZU9iamVjdFJlZ2lzdHJ5KCk7CiB9CiAKLXZvaWQgUGFnZUNsaWVudEltcGw6OmRp
ZEZpbmlzaFByb2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHMoKQotewotICAgIG1faW1wbC0+
ZGlkRmluaXNoUHJvY2Vzc2luZ0FsbFBlbmRpbmdNb3VzZUV2ZW50cygpOwotfQotCiB2b2lkIFBh
Z2VDbGllbnRJbXBsOjpkaWRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKQogewogICAgIG1faW1wbC0+
ZGlkUmVzdG9yZVNjcm9sbFBvc2l0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy93aW4vUGFnZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dp
bi9QYWdlQ2xpZW50SW1wbC5oCmluZGV4IGFlZDJjMmFmNTIyOTNhNjYzZGNmZDI2ZGViZWI3NzFi
ZmEwYmVhNzIuLjM3NjcyNTE4MDg1YjYxZTM5OTk0NGU0NjZiYjQwOGI3Zjk5ZmM3ZTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9QYWdlQ2xpZW50SW1wbC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9QYWdlQ2xpZW50SW1wbC5oCkBAIC0xNDYsOCAr
MTQ2LDYgQEAgcHJpdmF0ZToKIAogICAgIFdlYkNvcmU6OlVzZXJJbnRlcmZhY2VMYXlvdXREaXJl
Y3Rpb24gdXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbigpIG92ZXJyaWRlIHsgcmV0dXJuIFdl
YkNvcmU6OlVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb246OkxUUjsgfQogCi0gICAgdm9pZCBk
aWRGaW5pc2hQcm9jZXNzaW5nQWxsUGVuZGluZ01vdXNlRXZlbnRzKCkgZmluYWwgeyB9Ci0KICAg
ICB2b2lkIHJlcXVlc3RET01QYXN0ZUFjY2Vzcyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgY29u
c3QgU3RyaW5nJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpET01QYXN0ZUFjY2Vz
c1Jlc3BvbnNlKT4mJikgZmluYWw7CiAKICAgICAvLyBNZW1iZXJzIG9mIFBhZ2VDbGllbnRJbXBs
IGNsYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggZmRhMzM4ZWNmYTY4NTVlMWMxZDYwODUwZTQ3
MWY2Nzk0ZWQxYzJjZC4uOWEwM2Y3ZmQ5MWRjZjIwYWE2Njk3ODkwM2ZiZWU1NTExYjliNDcyMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJDaHJvbWVDbGllbnQuaApAQCAtMTgxLDYgKzE4MSw4IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBhc3NvY2lhdGVFZGl0YWJsZUltYWdlV2l0aEF0dGFjaG1lbnQoV2ViQ29yZTo6R3JhcGhpY3NM
YXllcjo6RW1iZWRkZWRWaWV3SUQsIGNvbnN0IFN0cmluZyYgYXR0YWNobWVudElEKSBmaW5hbDsK
ICAgICB2b2lkIGRpZENyZWF0ZUVkaXRhYmxlSW1hZ2UoV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6
RW1iZWRkZWRWaWV3SUQpIGZpbmFsOwogICAgIHZvaWQgZGlkRGVzdHJveUVkaXRhYmxlSW1hZ2Uo
V2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6RW1iZWRkZWRWaWV3SUQpIGZpbmFsOworCisgICAgYm9v
bCBzaG91bGRVc2VNb3VzZUV2ZW50c0ZvclNlbGVjdGlvbigpIGZpbmFsOwogI2VuZGlmCiAKICNp
ZiBFTkFCTEUoT1JJRU5UQVRJT05fRVZFTlRTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2lvcy9XZWJDaHJvbWVDbGllbnRJT1MubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvaW9zL1dlYkNocm9tZUNsaWVudElP
Uy5tbQppbmRleCBjOTkxODZiYzllMTJlMDBlOTlhYTM5ZjUxOWZmYzU1MmIzNTYxYmE4Li4zYTg2
NWMzNmUwYjMzMTkwNDkwOTAxMmNlMzkxNTMxZDAyYWUxMTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvaW9zL1dlYkNocm9tZUNsaWVudElPUy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvaW9zL1dlYkNo
cm9tZUNsaWVudElPUy5tbQpAQCAtMTgxLDYgKzE4MSwxNiBAQCB2b2lkIFdlYkNocm9tZUNsaWVu
dDo6ZGlkRGVzdHJveUVkaXRhYmxlSW1hZ2UoR3JhcGhpY3NMYXllcjo6RW1iZWRkZWRWaWV3SUQg
ZW1iZQogI2VuZGlmCiB9CiAKK2Jvb2wgV2ViQ2hyb21lQ2xpZW50OjpzaG91bGRVc2VNb3VzZUV2
ZW50c0ZvclNlbGVjdGlvbigpCit7CisgICAgLy8gSW4gbWFjQ2F0YWx5c3QsIGRlc3BpdGUgZ2V0
dGluZyBtb3VzZSBldmVudHMsIHdlIHN0aWxsIHdhbnQgVUlUZXh0SW50ZXJhY3Rpb24gYW5kIGZy
aWVuZHMgdG8gb3duIHNlbGVjdGlvbiBnZXN0dXJlcy4KKyNpZiBIQVZFKEhPVkVSX0dFU1RVUkVf
UkVDT0dOSVpFUikKKyAgICByZXR1cm4gZmFsc2U7CisjZWxzZQorICAgIHJldHVybiB0cnVlOwor
I2VuZGlmCit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gUExBVEZPUk0o
SU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCBmNWM3YWEyMjg4ZGExMTM3MjM4M2I4NTFiZTg3Njc2OGE2YWNmMDUxLi5lYmM0OWYz
ZjYwYmEyNGI3Y2I0ZDIyNTg0NGRkZGE1NjY3ZWJkNjIyIDEwMDY0NAotLS0gYS9Ub29scy9DaGFu
Z2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMjAtMDEtMjgg
IFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgbWFjQ2F0
YWx5c3Q6IFRyaXBsZSBjbGlja2luZyB0byBzZWxlY3QgYSBzZW50ZW5jZSByZXN1bHRzIGluIGFu
IGVtcHR5IHNlbGVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjA2ODYzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81ODc3Njk5Mz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvTWFjQ2F0YWx5c3RNb3VzZVN1cHBvcnQubW06
IEFkZGVkLgorICAgICAgICAoLVtXS1Rlc3RpbmdFdmVudCBsb2NhdGlvbkluVmlldzpdKToKKyAg
ICAgICAgKC1bV0tUZXN0aW5nRXZlbnQgX3NldEJ1dHRvbk1hc2s6XSk6CisgICAgICAgICgtW1dL
VGVzdGluZ0V2ZW50IF9idXR0b25NYXNrXSk6CisgICAgICAgICgtW1dLVGVzdGluZ1RvdWNoIGxv
Y2F0aW9uSW5WaWV3Ol0pOgorICAgICAgICAoLVtXS1Rlc3RpbmdUb3VjaCBzZXRUYXBDb3VudDpd
KToKKyAgICAgICAgKC1bV0tUZXN0aW5nVG91Y2ggdGFwQ291bnRdKToKKyAgICAgICAgKG1vdXNl
R2VzdHVyZSk6CisgICAgICAgIChURVNUKToKKyAgICAgICAgQWRkIGEgdGVzdCBlbnN1cmluZyB0
aGF0IHNpbXBseSBwbHVtYmluZyBtb3VzZSBldmVudHMgdG8gV2ViQ29yZQorICAgICAgICBkb2Vz
IG5vdCByZXN1bHQgaW4gYSBzZWxlY3Rpb24gY2hhbmdlIGluIG1hY0NhdGFseXN0IChiZWNhdXNl
IFVJS2l0CisgICAgICAgIHdpbGwgaGFuZGxlIHRoZSBzZWxlY3Rpb24gY2hhbmdlIGl0c2VsZiwg
aW5zdGVhZCkuCisKIDIwMjAtMDEtMjcgIFJvYmluIE1vcmlzc2V0ICA8cm1vcmlzc2V0QGFwcGxl
LmNvbT4KIAogICAgICAgICBUb29scy9TY3JpcHRzL3NldC13ZWJraXQtY29uZmlndXJhdGlvbiBz
aG91bGQgYWNjZXB0IC0tY292ZXJhZ2UvLS1uby1jb3ZlcmFnZQpkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCBhNTVjYzMzNDIxYmNlNzBlZTRhMDAxZmVkNzY3Zjg0ZDljODBiMTE4Li44YTY1ZGEx
MzU5MzUyNWYzODgzNzBkMDI5ZTg0MmE5MmZiMWQ1MzEzIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMTI3LDYgKzEyNyw3IEBACiAJCTJEMDAwNjVGMUMxRjU4OUEwMDg4RTZBNyAvKiBXS1BE
RlZpZXcubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
RDAwMDY1RDFDMUY1ODk0MDA4OEU2QTcgLyogV0tQREZWaWV3Lm1tICovOyB9OwogCQkyRDAxRDA2
RTIzMjE4RkVFMDAzOUFBM0EgLyogV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDAxRDA2RDIzMjE4RkVFMDAz
OUFBM0EgLyogV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIubW0gKi87IH07CiAJCTJEMDhFOTM3MjI2
N0QwRjQwMDI1MThEQSAvKiBSZXBhcmVudFdlYlZpZXdUaW1lb3V0Lm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQwOEU5MzYyMjY3RDBGMzAwMjUxOERB
IC8qIFJlcGFyZW50V2ViVmlld1RpbWVvdXQubW0gKi87IH07CisJCTJEMTE2RTEzMjNFMENCM0Ew
MDIwODkwMCAvKiBNYWNDYXRhbHlzdE1vdXNlU3VwcG9ydC5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEMTE2RTEyMjNFMENCMzkwMDIwODkwMCAvKiBN
YWNDYXRhbHlzdE1vdXNlU3VwcG9ydC5tbSAqLzsgfTsKIAkJMkQxNjQ2RTIxRDE4NjJDRDAwMDE1
QTFBIC8qIERlZmVycmVkVmlld0luV2luZG93U3RhdGVDaGFuZ2UubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDE2NDZFMTFEMTg2MkNEMDAwMTVBMUEg
LyogRGVmZXJyZWRWaWV3SW5XaW5kb3dTdGF0ZUNoYW5nZS5tbSAqLzsgfTsKIAkJMkQyQkVCMkQy
MjMyNEU1RjAwNTU0NENBIC8qIFJlcXVlc3RUZXh0SW5wdXRDb250ZXh0Lm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQyQkVCMkMyMjMyNEU1RjAwNTU0
NENBIC8qIFJlcXVlc3RUZXh0SW5wdXRDb250ZXh0Lm1tICovOyB9OwogCQkyRDJEMTNCMzIyOUY0
MDhCMDA1MDY4QUYgLyogRGV2aWNlTWFuYWdlbWVudFJlc3RyaWN0aW9ucy5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEMkQxM0IyMjI5RjQwOEIwMDUw
NjhBRiAvKiBEZXZpY2VNYW5hZ2VtZW50UmVzdHJpY3Rpb25zLm1tICovOyB9OwpAQCAtMTY0OSw2
ICsxNjUwLDcgQEAKIAkJMkQwMDA2NUQxQzFGNTg5NDAwODhFNkE3IC8qIFdLUERGVmlldy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLUERGVmlldy5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQwMUQwNkQyMzIxOEZFRTAwMzlBQTNBIC8qIFdL
V2ViVmlld1ByaW50Rm9ybWF0dGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTJEMDhFOTM2MjI2N0QwRjMwMDI1MThEQSAvKiBSZXBhcmVudFdlYlZpZXdUaW1l
b3V0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUmVwYXJlbnRX
ZWJWaWV3VGltZW91dC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQxMTZFMTIy
M0UwQ0IzOTAwMjA4OTAwIC8qIE1hY0NhdGFseXN0TW91c2VTdXBwb3J0Lm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTWFjQ2F0YWx5c3RNb3VzZVN1cHBvcnQubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEMTY0NkUxMUQxODYyQ0QwMDAxNUExQSAv
KiBEZWZlcnJlZFZpZXdJbldpbmRvd1N0YXRlQ2hhbmdlLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBuYW1lID0gRGVmZXJyZWRWaWV3SW5XaW5kb3dTdGF0ZUNoYW5nZS5tbTsg
cGF0aCA9IFdlYktpdC9EZWZlcnJlZFZpZXdJbldpbmRvd1N0YXRlQ2hhbmdlLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkyRDFDMDRBNTFENzYyOThCMDAwQTY4MTYgLyogVGVzdE5h
dmlnYXRpb25EZWxlZ2F0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBUZXN0
TmF2aWdhdGlvbkRlbGVnYXRlLmg7IHBhdGggPSBjb2NvYS9UZXN0TmF2aWdhdGlvbkRlbGVnYXRl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEMUMwNEE2MUQ3NjI5OEIwMDBBNjgx
NiAvKiBUZXN0TmF2aWdhdGlvbkRlbGVnYXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBuYW1lID0gVGVzdE5hdmlnYXRpb25EZWxlZ2F0ZS5tbTsgcGF0aCA9IGNvY29hL1Rl
c3ROYXZpZ2F0aW9uRGVsZWdhdGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0y
OTYwLDYgKzI5NjIsNyBAQAogCQkJCTQ2QzUxOUQ4MUQzNTVBNzMwMERBQTUxQSAvKiBMb2NhbFN0
b3JhZ2VOdWxsRW50cmllcy5tbSAqLywKIAkJCQk4QzEwQUY5NjIwNjQ2Nzc3MDAxOEZEOTAgLyog
TG9jYWxTdG9yYWdlUGVyc2lzdGVuY2UubW0gKi8sCiAJCQkJN0E2QTJDNkYxRENDRjg3QjAwQzBE
MDg1IC8qIExvY2FsU3RvcmFnZVF1aXJrVGVzdC5tbSAqLywKKwkJCQkyRDExNkUxMjIzRTBDQjM5
MDAyMDg5MDAgLyogTWFjQ2F0YWx5c3RNb3VzZVN1cHBvcnQubW0gKi8sCiAJCQkJMDdDQzdERkQy
MjY2MzMwODAwRTM5MTgxIC8qIE1lZGlhQnVmZmVyaW5nUG9saWN5Lm1tICovLAogCQkJCTUxQkU5
RTY1MjM3NjA4OTUwMEI0RTExNyAvKiBNZWRpYVR5cGUubW0gKi8sCiAJCQkJNTE2NUZFMDMyMDFF
RTYxNzAwOUY3RUMzIC8qIE1lc3NhZ2VQb3J0UHJvdmlkZXJzLm1tICovLApAQCAtNDgwMCw2ICs0
ODAzLDcgQEAKIAkJCQk3QTZBMkM3MDFEQ0NGQThDMDBDMEQwODUgLyogTG9jYWxTdG9yYWdlUXVp
cmtUZXN0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNkJGNEE2ODMyMzlFRDRDRDAwRTJGNDVCIC8q
IExvZ2dlZEluU3RhdHVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3NkU1MDdGMUY0NTEzRDYw
MDZFOUY1QSAvKiBMb2dnaW5nLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJEMTE2RTEzMjNFMENC
M0EwMDIwODkwMCAvKiBNYWNDYXRhbHlzdE1vdXNlU3VwcG9ydC5tbSBpbiBTb3VyY2VzICovLAog
CQkJCUNFMTg2NjQ5MUY3MkU4RjEwMEEwQ0FCNiAvKiBNYXJrZWRUZXh0LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTA3Q0M3REZFMjI2NjMzMDkwMEUzOTE4MSAvKiBNZWRpYUJ1ZmZlcmluZ1BvbGlj
eS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNEQTMxNTk4MUVENTM2NTEwMDlGNjBEMyAvKiBNZWRp
YVBsYXliYWNrU2xlZXBBc3NlcnRpb24ubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvTWFjQ2F0YWx5c3RNb3VzZVN1cHBv
cnQubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL01hY0NhdGFseXN0
TW91c2VTdXBwb3J0Lm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzMTAzOWJhN2E1YzgwMmIyYmZiOWMxZWFiNzM2
NGIyNDNkNzEzOWEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL01hY0NhdGFseXN0TW91c2VTdXBwb3J0Lm1tCkBAIC0wLDAgKzEsMTQ0IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisKKyNpZiBQTEFURk9STShNQUNDQVRB
TFlTVCkKKworI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNpbXBvcnQgIlRlc3QuaCIK
KyNpbXBvcnQgIlRlc3ROYXZpZ2F0aW9uRGVsZWdhdGUuaCIKKyNpbXBvcnQgIlRlc3RXS1dlYlZp
ZXcuaCIKKyNpbXBvcnQgIlVJS2l0U1BJLmgiCisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3Q29u
ZmlndXJhdGlvblByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlRm9y
VGVzdGluZy5oPgorI2ltcG9ydCA8V2ViS2l0L1dlYktpdC5oPgorI2ltcG9ydCA8d3RmL1JldGFp
blB0ci5oPgorCitAaW50ZXJmYWNlIFdLTW91c2VHZXN0dXJlUmVjb2duaXplciA6IFVJR2VzdHVy
ZVJlY29nbml6ZXIKKy0gKHZvaWQpX2hvdmVyRW50ZXJlZDooTlNTZXQ8VUlUb3VjaCAqPiAqKXRv
dWNoZXMgd2l0aEV2ZW50OihVSUV2ZW50ICopZXZlbnQ7CistICh2b2lkKV9ob3ZlckV4aXRlZDoo
TlNTZXQ8VUlUb3VjaCAqPiAqKXRvdWNoZXMgd2l0aEV2ZW50OihVSUV2ZW50ICopZXZlbnQ7Cist
ICh2b2lkKXRvdWNoZXNCZWdhbjooTlNTZXQ8VUlUb3VjaCAqPiAqKXRvdWNoZXMgd2l0aEV2ZW50
OihVSUV2ZW50ICopZXZlbnQ7CistICh2b2lkKXRvdWNoZXNFbmRlZDooTlNTZXQ8VUlUb3VjaCAq
PiAqKXRvdWNoZXMgd2l0aEV2ZW50OihVSUV2ZW50ICopZXZlbnQ7CitAZW5kCisKK0BpbnRlcmZh
Y2UgV0tDb250ZW50VmlldyAoKQorLSAodm9pZClfbW91c2VHZXN0dXJlUmVjb2duaXplckNoYW5n
ZWQ6KFdLTW91c2VHZXN0dXJlUmVjb2duaXplciAqKWdlc3R1cmVSZWNvZ25pemVyOworQGVuZAor
CitAaW50ZXJmYWNlIFdLVGVzdGluZ0V2ZW50IDogVUlFdmVudAorQGVuZAorCitAaW1wbGVtZW50
YXRpb24gV0tUZXN0aW5nRXZlbnQgeworICAgIFVJRXZlbnRCdXR0b25NYXNrIF9idXR0b25NYXNr
OworfQorCistIChDR1BvaW50KWxvY2F0aW9uSW5WaWV3OihVSVZpZXcgKil2aWV3Cit7CisgICAg
cmV0dXJuIENHUG9pbnRNYWtlKDEwLCAxMCk7Cit9CisKKy0gKHZvaWQpX3NldEJ1dHRvbk1hc2s6
KFVJRXZlbnRCdXR0b25NYXNrKWJ1dHRvbk1hc2sKK3sKKyAgICBfYnV0dG9uTWFzayA9IGJ1dHRv
bk1hc2s7Cit9CisKKy0gKFVJRXZlbnRCdXR0b25NYXNrKV9idXR0b25NYXNrCit7CisgICAgcmV0
dXJuIF9idXR0b25NYXNrOworfQorCitAZW5kCisKK0BpbnRlcmZhY2UgV0tUZXN0aW5nVG91Y2gg
OiBVSVRvdWNoCitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBXS1Rlc3RpbmdUb3VjaCB7CisgICAg
TlNVSW50ZWdlciBfdGFwQ291bnQ7Cit9CisKKy0gKENHUG9pbnQpbG9jYXRpb25JblZpZXc6KFVJ
VmlldyAqKXZpZXcKK3sKKyAgICByZXR1cm4gQ0dQb2ludE1ha2UoMTAsIDEwKTsKK30KKworLSAo
dm9pZClzZXRUYXBDb3VudDooTlNVSW50ZWdlcil0YXBDb3VudAoreworICAgIF90YXBDb3VudCA9
IHRhcENvdW50OworfQorCistIChOU1VJbnRlZ2VyKXRhcENvdW50Cit7CisgICAgcmV0dXJuIF90
YXBDb3VudDsKK30KKworQGVuZAorCitzdGF0aWMgV0tNb3VzZUdlc3R1cmVSZWNvZ25pemVyICpt
b3VzZUdlc3R1cmUoVUlWaWV3ICp2aWV3KQoreworICAgIGZvciAoVUlHZXN0dXJlUmVjb2duaXpl
ciAqcmVjb2duaXplciBpbiB2aWV3Lmdlc3R1cmVSZWNvZ25pemVycykgeworICAgICAgICBpZiAo
W3JlY29nbml6ZXIgaXNLaW5kT2ZDbGFzczpOU0NsYXNzRnJvbVN0cmluZyhAIldLTW91c2VHZXN0
dXJlUmVjb2duaXplciIpXSkKKyAgICAgICAgICAgIHJldHVybiAoV0tNb3VzZUdlc3R1cmVSZWNv
Z25pemVyICopcmVjb2duaXplcjsKKyAgICB9CisKKyAgICByZXR1cm4gbmlsOworfQorCitURVNU
KE1hY0NhdGFseXN0TW91c2VTdXBwb3J0LCBEb05vdENoYW5nZVNlbGVjdGlvbldpdGhSaWdodENs
aWNrKQoreworICAgIGF1dG8gd2ViVmlld0NvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJW
aWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0
TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwg
ODAwLCA2MDApIGNvbmZpZ3VyYXRpb246d2ViVmlld0NvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKyAg
ICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJzaW1wbGUiXTsKKyAg
ICBbd2ViVmlldyBvYmplY3RCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQuYm9keS5z
ZXRBdHRyaWJ1dGUoJ2NvbnRlbnRlZGl0YWJsZScsJycpOyJdOworCisgICAgYXV0byBjb250ZW50
VmlldyA9IFt3ZWJWaWV3IHdrQ29udGVudFZpZXddOworICAgIGF1dG8gZ2VzdHVyZSA9IG1vdXNl
R2VzdHVyZShjb250ZW50Vmlldyk7CisKKyAgICBSZXRhaW5QdHI8V0tUZXN0aW5nVG91Y2g+IHRv
dWNoID0gYWRvcHROUyhbW1dLVGVzdGluZ1RvdWNoIGFsbG9jXSBpbml0XSk7CisgICAgUmV0YWlu
UHRyPE5TU2V0PiB0b3VjaFNldCA9IFtOU1NldCBzZXRXaXRoT2JqZWN0OnRvdWNoLmdldCgpXTsK
KworICAgIFJldGFpblB0cjxXS1Rlc3RpbmdFdmVudD4gZXZlbnQgPSBhZG9wdE5TKFtbV0tUZXN0
aW5nRXZlbnQgYWxsb2NdIGluaXRdKTsKKworICAgIFtnZXN0dXJlIF9ob3ZlckVudGVyZWQ6dG91
Y2hTZXQuZ2V0KCkgd2l0aEV2ZW50OmV2ZW50LmdldCgpXTsKKyAgICBbY29udGVudFZpZXcgX21v
dXNlR2VzdHVyZVJlY29nbml6ZXJDaGFuZ2VkOmdlc3R1cmVdOworICAgIFt0b3VjaCBzZXRUYXBD
b3VudDoxXTsKKyAgICBbZXZlbnQgX3NldEJ1dHRvbk1hc2s6VUlFdmVudEJ1dHRvbk1hc2tTZWNv
bmRhcnldOworICAgIFtnZXN0dXJlIHRvdWNoZXNCZWdhbjp0b3VjaFNldC5nZXQoKSB3aXRoRXZl
bnQ6ZXZlbnQuZ2V0KCldOworICAgIFtjb250ZW50VmlldyBfbW91c2VHZXN0dXJlUmVjb2duaXpl
ckNoYW5nZWQ6Z2VzdHVyZV07CisgICAgW2dlc3R1cmUgdG91Y2hlc0VuZGVkOnRvdWNoU2V0Lmdl
dCgpIHdpdGhFdmVudDpldmVudC5nZXQoKV07CisgICAgW2NvbnRlbnRWaWV3IF9tb3VzZUdlc3R1
cmVSZWNvZ25pemVyQ2hhbmdlZDpnZXN0dXJlXTsKKworICAgIF9fYmxvY2sgYm9vbCBkb25lID0g
ZmFsc2U7CisKKyAgICBbd2ViVmlldyBfZG9BZnRlclByb2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VF
dmVudHM6XnsKKyAgICAgICAgTlNOdW1iZXIgKnJlc3VsdCA9IFt3ZWJWaWV3IG9iamVjdEJ5RXZh
bHVhdGluZ0phdmFTY3JpcHQ6QCJ3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuaXNDb2xsYXBzZWQiXTsK
KyAgICAgICAgRVhQRUNUX1RSVUUoW3Jlc3VsdCBib29sVmFsdWVdKTsKKyAgICAgICAgZG9uZSA9
IHRydWU7CisgICAgfV07CisKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOwor
fQorCisjZW5kaWYgLy8gUExBVEZPUk0oTUFDQ0FUQUxZU1QpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389078</attachid>
            <date>2020-01-28 15:38:50 -0800</date>
            <delta_ts>2020-01-28 21:55:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206863-20200128153849.patch</filename>
            <type>text/plain</type>
            <size>31141</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MTYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGNmOGJmZmQ2MGRmOTUy
OTgyNmY3N2M2YjMzYmJmMGQxYjFjM2NmYi4uYzczNTVhM2JlMTQwNjkzZWY5Zjg5MDEyOWY3NDhj
MDQwZGJiMjIxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTAxLTI4ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIG1hY0NhdGFseXN0
OiBUcmlwbGUgY2xpY2tpbmcgdG8gc2VsZWN0IGEgc2VudGVuY2UgcmVzdWx0cyBpbiBhbiBlbXB0
eSBzZWxlY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIwNjg2MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTg3NzY5OTM+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgV2Vuc29uIEhzaWVoLgorCisgICAgICAgICogZWRpdGluZy9FZGl0aW5nQmVo
YXZpb3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRpbmdCZWhhdmlvcjo6c2hvdWxkU2VsZWN0
T25Db250ZXh0dWFsTWVudUNsaWNrIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50OjpzaG91bGRVc2VNb3VzZUV2ZW50
c0ZvclNlbGVjdGlvbik6CisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpjYW5Nb3VzZURvd25TdGFydFNlbGVjdCk6CisgICAg
ICAgIChXZWJDb3JlOjpjYW5Nb3VzZURvd25TdGFydFNlbGVjdCk6IERlbGV0ZWQuCisgICAgICAg
ICogcGFnZS9FdmVudEhhbmRsZXIuaDoKKyAgICAgICAgRGlzYWJsZSBXZWJDb3JlJ3MgbW91c2Ut
ZXZlbnQtZHJpdmVuIHNlbGVjdGlvbiBtZWNoYW5pc21zIG9uIG1hY0NhdGFseXN0LAorICAgICAg
ICB3aGVyZSB3ZSB1c2UgYSBVSVRleHRJbnRlcmFjdGlvbi1kcml2ZW4gc2VsZWN0aW9uIGluc3Rl
YWQuIE90aGVyd2lzZSwKKyAgICAgICAgdGhleSBjb25mbGljdCB3aXRoIGVhY2ggb3RoZXIgaW4g
YSBjaGFvdGljIGZhc2hpb24uCisKIDIwMjAtMDEtMjcgIFBlbmcgTGl1ICA8cGVuZy5saXU2QGFw
cGxlLmNvbT4KIAogICAgICAgICBDcmFzaCBpbiBXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpk
ZXRhY2hNZWRpYVNvdXJjZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGY3NDg1YTAwOWNjMzExZjA2OWQ0MGU3Nzk5
NTVlMzMyNzVmNGEyNjQuLjBhOGNjYmMxOWVkYjM4ZGZiYzlmYTBlNTQzMTY0MTNhYmE3MWMyMWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMjAtMDEtMjggIFRpbSBIb3J0b24gIDx0aW1v
dGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgbWFjQ2F0YWx5c3Q6IFRyaXBsZSBjbGlj
a2luZyB0byBzZWxlY3QgYSBzZW50ZW5jZSByZXN1bHRzIGluIGFuIGVtcHR5IHNlbGVjdGlvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2ODYzCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS81ODc3Njk5Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBX
ZW5zb24gSHNpZWguCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1By
aXZhdGVGb3JUZXN0aW5nLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdUZXN0aW5nLm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2RvQWZ0ZXJQcm9jZXNzaW5nQWxs
UGVuZGluZ01vdXNlRXZlbnRzOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1dLV2Vi
Vmlld1ByaXZhdGVGb3JUZXN0aW5nTWFjLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMv
V0tXZWJWaWV3VGVzdGluZ01hYy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9kb0FmdGVyUHJv
Y2Vzc2luZ0FsbFBlbmRpbmdNb3VzZUV2ZW50czpdKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2Vi
Vmlld0ltcGwubW06CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpoYW5kbGVQcm9jZXNz
U3dhcE9yRXhpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpkb0FmdGVyUHJvY2Vz
c2luZ0FsbFBlbmRpbmdNb3VzZUV2ZW50cyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6Oldl
YlZpZXdJbXBsOjpkaWRGaW5pc2hQcm9jZXNzaW5nQWxsUGVuZGluZ01vdXNlRXZlbnRzKTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmZsdXNoUGVuZGluZ01vdXNlRXZl
bnRDYWxsYmFja3MpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6
CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2VQcm94eTo6ZG9BZnRlclByb2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHMpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZEZpbmlzaFByb2Nlc3NpbmdBbGxQZW5k
aW5nTW91c2VFdmVudHMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmZsdXNoUGVu
ZGluZ01vdXNlRXZlbnRDYWxsYmFja3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmg6CisgICAg
ICAgICogVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW06CisgICAgICAgIChXZWJLaXQ6OlBhZ2VDbGll
bnRJbXBsOjpkaWRGaW5pc2hQcm9jZXNzaW5nQWxsUGVuZGluZ01vdXNlRXZlbnRzKTogRGVsZXRl
ZC4KKyAgICAgICAgTW92ZSAiZG9BZnRlclByb2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHMi
IHRvIFdlYlBhZ2UgaW5zdGVhZCBvZiBXZWJWaWV3SW1wbCwKKyAgICAgICAgc28gaXQgY2FuIGJl
IHVzZWQgb24gYWxsIHBsYXRmb3Jtcy4gRXhwb3NlIGl0IHZpYSBXS1dlYlZpZXcuCisKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvaW9zL1dlYkNocm9tZUNsaWVudElPUy5tbToK
KyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50OjpzaG91bGRVc2VNb3VzZUV2ZW50c0Zv
clNlbGVjdGlvbik6CisKIDIwMjAtMDEtMjcgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2Fib3VoYWxs
YXdhQGFwcGxlLmNvbT4KIAogICAgICAgICBUaHJvdHRsaW5nIHJlcXVlc3RBbmltYXRpb25GcmFt
ZSBzaG91bGQgYmUgY29udHJvbGxlZCBieSBSZW5kZXJpbmdVcGRhdGVTY2hlZHVsZXIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ0JlaGF2aW9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdCZWhhdmlvci5oCmluZGV4IDIzODNlMjk0ZWE5NGZjNmYx
MTA1NDNhODJhYTBkOGZhZTI4ZGEzZWEuLjdiOWQzNDIxMWQ1OWM1OGFhYWY0NTg0Mjk3MjgzYTQz
OTI5OTBkMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ0JlaGF2
aW9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nQmVoYXZpb3IuaApAQCAt
NjAsNyArNjAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBzaG91bGRBbHdheXNHcm93U2VsZWN0aW9u
V2hlbkV4dGVuZGluZ1RvQm91bmRhcnkoKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gRWRpdGlu
Z01hY0JlaGF2aW9yIHx8IG1fdHlwZSA9PSBFZGl0aW5nSU9TQmVoYXZpb3I7IH0KIAogICAgIC8v
IE9uIE1hYywgd2hlbiBwcm9jZXNzaW5nIGEgY29udGV4dHVhbCBjbGljaywgdGhlIG9iamVjdCBi
ZWluZyBjbGlja2VkIHVwb24gc2hvdWxkIGJlIHNlbGVjdGVkLgotICAgIGJvb2wgc2hvdWxkU2Vs
ZWN0T25Db250ZXh0dWFsTWVudUNsaWNrKCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IEVkaXRp
bmdNYWNCZWhhdmlvciB8fCBtX3R5cGUgPT0gRWRpdGluZ0lPU0JlaGF2aW9yOyB9CisgICAgYm9v
bCBzaG91bGRTZWxlY3RPbkNvbnRleHR1YWxNZW51Q2xpY2soKSBjb25zdCB7IHJldHVybiBtX3R5
cGUgPT0gRWRpdGluZ01hY0JlaGF2aW9yOyB9CiAKICAgICAvLyBPbiBMaW51eCwgc2hvdWxkIGJl
IGFibGUgdG8gZ2V0IGFuZCBpbnNlcnQgc3BlbGxpbmcgc3VnZ2VzdGlvbnMgd2l0aG91dCBzZWxl
Y3RpbmcgdGhlIG1pc3NwZWxsZWQgd29yZC4KICAgICBib29sIHNob3VsZEFsbG93U3BlbGxpbmdT
dWdnZXN0aW9uc1dpdGhvdXRTZWxlY3Rpb24oKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xp
ZW50LmgKaW5kZXggNjI2MTdmNzhmM2UyZjA0NzQ4YWE1OGFkYWViOGZhMzBiZDcxMmFkNC4uOWI5
YzgzNTVlZDAzNDU0MDI3OGQxM2MwMzg2YzEzZTQxNWY3NjIxZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0No
cm9tZUNsaWVudC5oCkBAIC0xOTMsNiArMTkzLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9p
ZCBzZXRDdXJzb3JIaWRkZW5VbnRpbE1vdXNlTW92ZXMoYm9vbCkgPSAwOwogICAgIHZpcnR1YWwg
Ym9vbCBzdXBwb3J0c1NldHRpbmdDdXJzb3IoKSB7IHJldHVybiB0cnVlOyB9CiAKKyAgICB2aXJ0
dWFsIGJvb2wgc2hvdWxkVXNlTW91c2VFdmVudHNGb3JTZWxlY3Rpb24oKSB7IHJldHVybiB0cnVl
OyB9CisKICAgICB2aXJ0dWFsIEZsb2F0U2l6ZSBzY3JlZW5TaXplKCkgY29uc3QgeyByZXR1cm4g
Y29uc3RfY2FzdDxDaHJvbWVDbGllbnQmPigqdGhpcykud2luZG93UmVjdCgpLnNpemUoKTsgfQog
ICAgIHZpcnR1YWwgRmxvYXRTaXplIGF2YWlsYWJsZVNjcmVlblNpemUoKSBjb25zdCB7IHJldHVy
biBjb25zdF9jYXN0PENocm9tZUNsaWVudCY+KCp0aGlzKS53aW5kb3dSZWN0KCkuc2l6ZSgpOyB9
CiAgICAgdmlydHVhbCBGbG9hdFNpemUgb3ZlcnJpZGVTY3JlZW5TaXplKCkgY29uc3QgeyByZXR1
cm4gY29uc3RfY2FzdDxDaHJvbWVDbGllbnQmPigqdGhpcykud2luZG93UmVjdCgpLnNpemUoKTsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDU3YmY3MThlYWFhYWY2Yzg3
MTkwMDA4NmJlYTVkMzc1ZGUwMDhlMzguLjU5YmU1NTMyODllM2RmZjcyYzliNThhMTQwNTcwM2Fk
MzkxZTVlZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTczMSw4ICs3
MzEsMTMgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUHJlc3NFdmVudFNpbmdsZUNs
aWNrKGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFIKICAgICByZXR1cm4gaGFuZGxlZDsKIH0K
IAotc3RhdGljIGlubGluZSBib29sIGNhbk1vdXNlRG93blN0YXJ0U2VsZWN0KE5vZGUqIG5vZGUp
Citib29sIEV2ZW50SGFuZGxlcjo6Y2FuTW91c2VEb3duU3RhcnRTZWxlY3QoTm9kZSogbm9kZSkK
IHsKKyAgICBpZiAoUGFnZSogcGFnZSA9IG1fZnJhbWUucGFnZSgpKSB7CisgICAgICAgIGlmICgh
cGFnZS0+Y2hyb21lKCkuY2xpZW50KCkuc2hvdWxkVXNlTW91c2VFdmVudHNGb3JTZWxlY3Rpb24o
KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgCiAgICAgaWYgKCFub2Rl
IHx8ICFub2RlLT5yZW5kZXJlcigpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRIYW5kbGVyLmgKaW5kZXggY2MxNTAwZmU4MmFkZTFiOWJhZWU0Y2JmZjg1OGZmY2Q2
ZjdhYmViOS4uMTRlOTVlZWQ1NTg0NGZkMDdmZTBhM2Y0MDc3NDhjZmIzNzAwMjIwYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC01MDAsNiArNTAwLDggQEAgcHJpdmF0ZToKIAog
ICAgIGJvb2wgc2hvdWxkU2VuZE1vdXNlRXZlbnRzVG9JbmFjdGl2ZVdpbmRvd3MoKSBjb25zdDsK
IAorICAgIGJvb2wgY2FuTW91c2VEb3duU3RhcnRTZWxlY3QoTm9kZSopOworCiAgICAgRnJhbWUm
IG1fZnJhbWU7CiAKICAgICBib29sIG1fbW91c2VQcmVzc2VkIHsgZmFsc2UgfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlRm9y
VGVzdGluZy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1By
aXZhdGVGb3JUZXN0aW5nLmgKaW5kZXggN2YzMDk1OWQwZDViMzNjNjdjZTg0YzcyMmM5NGUzZWY2
MzI4NGVjOS4uYjkwM2UxNTMxOGJkZDllOWRlYmZlZWNkNGMwMmNlNmIyZjJjM2QzYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGVG
b3JUZXN0aW5nLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlld1ByaXZhdGVGb3JUZXN0aW5nLmgKQEAgLTU5LDYgKzU5LDggQEAKIEBwcm9wZXJ0eSAobm9u
YXRvbWljLCByZWFkb25seSkgQk9PTCBfaGFzU2VydmljZVdvcmtlckZvcmVncm91bmRBY3Rpdml0
eUZvclRlc3Rpbmc7CiAtICh2b2lkKV9zZXRBc3NlcnRpb25TdGF0ZUZvclRlc3Rpbmc6KGludClz
dGF0ZTsKIAorLSAodm9pZClfZG9BZnRlclByb2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHM6
KGRpc3BhdGNoX2Jsb2NrX3QpYWN0aW9uOworCiArICh2b2lkKV9zZXRBcHBsaWNhdGlvbkJ1bmRs
ZUlkZW50aWZpZXI6KE5TU3RyaW5nICopYnVuZGxlSWRlbnRpZmllcjsKIAogQGVuZApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld1Rlc3Rpbmcu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3VGVzdGluZy5t
bQppbmRleCBmYzRkODU2ZjAyZTlmNGE3NWU3ZjQ0YmI5YTMxM2Y2YjBiOGIxZWVlLi5jYjJhMDhl
MTZmZTRlZTIwNWJjMzYwYzAyNDU1YWI5ZjY2YTkwMjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3VGVzdGluZy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3VGVzdGluZy5tbQpAQCAtMjAyLDYg
KzIwMiwxMyBAQCAtICh2b2lkKV9kZW55TmV4dFVzZXJNZWRpYVJlcXVlc3QKICNlbmRpZgogfQog
CistICh2b2lkKV9kb0FmdGVyUHJvY2Vzc2luZ0FsbFBlbmRpbmdNb3VzZUV2ZW50czooZGlzcGF0
Y2hfYmxvY2tfdClhY3Rpb24KK3sKKyAgICBfcGFnZS0+ZG9BZnRlclByb2Nlc3NpbmdBbGxQZW5k
aW5nTW91c2VFdmVudHMoW2FjdGlvbiA9IG1ha2VCbG9ja1B0cihhY3Rpb24pXSB7CisgICAgICAg
IGFjdGlvbigpOworICAgIH0pOworfQorCiArICh2b2lkKV9zZXRBcHBsaWNhdGlvbkJ1bmRsZUlk
ZW50aWZpZXI6KE5TU3RyaW5nICopYnVuZGxlSWRlbnRpZmllcgogewogICAgIFdlYkNvcmU6OnNl
dEFwcGxpY2F0aW9uQnVuZGxlSWRlbnRpZmllcihTdHJpbmcoYnVuZGxlSWRlbnRpZmllcikpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1w
bC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9QYWdlQ2xpZW50SW1wbC5oCmlu
ZGV4IGQ3YzkwNGE1MTJhMDBhNWM4MTg3YmM0OTY2YjliZmIyNzFjMWM1YTQuLjczYmEyZWFlNjMz
MDYyMjZmMjYyZWUzODhlN2U2YzNlZDNlNTAwYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9ndGsvUGFnZUNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvZ3RrL1BhZ2VDbGllbnRJbXBsLmgKQEAgLTE1Niw4ICsxNTYsNiBAQCBwcml2
YXRlOgogICAgIHZvaWQgaXNQbGF5aW5nQXVkaW9XaWxsQ2hhbmdlKCkgZmluYWwgeyB9CiAgICAg
dm9pZCBpc1BsYXlpbmdBdWRpb0RpZENoYW5nZSgpIGZpbmFsIHsgfQogCi0gICAgdm9pZCBkaWRG
aW5pc2hQcm9jZXNzaW5nQWxsUGVuZGluZ01vdXNlRXZlbnRzKCkgZmluYWwgeyB9Ci0KICAgICB2
b2lkIHJlcXVlc3RET01QYXN0ZUFjY2Vzcyhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgY29uc3Qg
U3RyaW5nJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpET01QYXN0ZUFjY2Vzc1Jl
c3BvbnNlKT4mJikgZmluYWw7CiAKICNpZiBFTkFCTEUoVklERU8pICYmIFVTRShHU1RSRUFNRVIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvbWFjL1dLV2ViVmlld1By
aXZhdGVGb3JUZXN0aW5nTWFjLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvbWFjL1dL
V2ViVmlld1ByaXZhdGVGb3JUZXN0aW5nTWFjLmgKaW5kZXggZmZkMTU2YTI1NmQ0NTEyNTMyYjk4
M2JmZjZiMzZmMWM4MGVmMjBhMi4uZThlNmUyYmQyMThlNTQyZDdkYWIyZjNiODg0OTAxYzcwZTMw
YjQ4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL21hYy9XS1dlYlZp
ZXdQcml2YXRlRm9yVGVzdGluZ01hYy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9tYWMvV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmdNYWMuaApAQCAtNTAsNyArNTAsNiBAQAog
CiAtICh2b2lkKV9zZXRIZWFkZXJCYW5uZXJIZWlnaHQ6KGludCloZWlnaHQ7CiAtICh2b2lkKV9z
ZXRGb290ZXJCYW5uZXJIZWlnaHQ6KGludCloZWlnaHQ7Ci0tICh2b2lkKV9kb0FmdGVyUHJvY2Vz
c2luZ0FsbFBlbmRpbmdNb3VzZUV2ZW50czooZGlzcGF0Y2hfYmxvY2tfdClhY3Rpb247CiAKIEBl
bmQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL21hYy9XS1dlYlZp
ZXdUZXN0aW5nTWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL21hYy9XS1dlYlZp
ZXdUZXN0aW5nTWFjLm1tCmluZGV4IDAyYjRkOTE3MDk3NmM4MWQzOTUxMzQ4NjU4MmRiM2IwNWYz
OWVhMzIuLjhjNTQyMDQ0MWE0OWY5M2NiMzNiNjhkZWM1ZWU5MzYzNmY5OTY5ZTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9tYWMvV0tXZWJWaWV3VGVzdGluZ01hYy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvbWFjL1dLV2ViVmlld1Rlc3RpbmdN
YWMubW0KQEAgLTEwMSwxMSArMTAxLDYgQEAgLSAodm9pZClfc2V0Rm9vdGVyQmFubmVySGVpZ2h0
OihpbnQpaGVpZ2h0CiAgICAgX3BhZ2UtPnNldEZvb3RlckJhbm5lckhlaWdodEZvclRlc3Rpbmco
aGVpZ2h0KTsKIH0KIAotLSAodm9pZClfZG9BZnRlclByb2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VF
dmVudHM6KGRpc3BhdGNoX2Jsb2NrX3QpYWN0aW9uCi17Ci0gICAgX2ltcGwtPmRvQWZ0ZXJQcm9j
ZXNzaW5nQWxsUGVuZGluZ01vdXNlRXZlbnRzKGFjdGlvbik7Ci19Ci0KIC0gKE5TTWVudSAqKV9h
Y3RpdmVNZW51CiB7CiAgICAgLy8gRklYTUU6IE9ubHkgdGhlIERPTSBwYXN0ZSBhY2Nlc3MgbWVu
dSBpcyBzdXBwb3J0ZWQgZm9yIG5vdy4gSW4gdGhlIGZ1dHVyZSwgaXQgY291bGQgYmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvUGFnZUNsaWVudEltcGwuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvUGFnZUNsaWVudEltcGwuaAppbmRleCBh
MmY4OGY4MDhjZDM2ZThhMGY0NWEwYzZhZjM1ZDQ0OWM5MmY5Mzg2Li4wYTY3MTQxOWNkYzk4MDZk
MjZmOTZmZWE5YjgyNzRjZTkzMzdlNDE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvd3BlL1BhZ2VDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL3dwZS9QYWdlQ2xpZW50SW1wbC5oCkBAIC0xNTgsOCArMTU4LDYgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIGJlZ2FuRXhpdEZ1bGxTY3JlZW4oY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgaW5p
dGlhbEZyYW1lLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBmaW5hbEZyYW1lKSBvdmVycmlkZTsK
ICNlbmRpZgogCi0gICAgdm9pZCBkaWRGaW5pc2hQcm9jZXNzaW5nQWxsUGVuZGluZ01vdXNlRXZl
bnRzKCkgZmluYWwgeyB9Ci0KICAgICBJUEM6OkF0dGFjaG1lbnQgaG9zdEZpbGVEZXNjcmlwdG9y
KCkgZmluYWw7CiAgICAgdm9pZCByZXF1ZXN0RE9NUGFzdGVBY2Nlc3MoY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYsIGNvbnN0IFN0cmluZyYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6
RE9NUGFzdGVBY2Nlc3NSZXNwb25zZSk+JiYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwuaAppbmRleCBjNDY0ZDc1ZGVlNmViMGRhNTQ3M2U5ODk2
NTYwNjNiZDAyNDM0N2RlLi42ZWY1N2MxYzRmNWFmMWNlNDNmZjI2Y2QyMzVhY2ZkODk5YmQxZTM2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLmgKQEAgLTU2
OSw5ICs1NjksNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGhhbmRsZUFjY2VwdGVkQ2FuZGlkYXRl
KE5TVGV4dENoZWNraW5nUmVzdWx0ICphY2NlcHRlZENhbmRpZGF0ZSk7CiAKLSAgICB2b2lkIGRv
QWZ0ZXJQcm9jZXNzaW5nQWxsUGVuZGluZ01vdXNlRXZlbnRzKGRpc3BhdGNoX2Jsb2NrX3QgYWN0
aW9uKTsKLSAgICB2b2lkIGRpZEZpbmlzaFByb2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHMo
KTsKLQogI2lmIEhBVkUoVE9VQ0hfQkFSKQogICAgIE5TVG91Y2hCYXIgKm1ha2VUb3VjaEJhcigp
OwogICAgIHZvaWQgdXBkYXRlVG91Y2hCYXIoKTsKQEAgLTc5NSw3ICs3OTIsNiBAQCBwcml2YXRl
OgogICAgIC8vIHRoYXQgaGFzIGJlZW4gYWxyZWFkeSBzZW50IHRvIFdlYkNvcmUuCiAgICAgUmV0
YWluUHRyPE5TRXZlbnQ+IG1fa2V5RG93bkV2ZW50QmVpbmdSZXNlbnQ7CiAgICAgVmVjdG9yPFdl
YkNvcmU6OktleXByZXNzQ29tbWFuZD4qIG1fY29sbGVjdGVkS2V5cHJlc3NDb21tYW5kcyB7IG51
bGxwdHIgfTsKLSAgICBWZWN0b3I8QmxvY2tQdHI8dm9pZCgpPj4gbV9jYWxsYmFja0hhbmRsZXJz
QWZ0ZXJQcm9jZXNzaW5nUGVuZGluZ01vdXNlRXZlbnRzOwogCiAgICAgU3RyaW5nIG1fbGFzdFN0
cmluZ0ZvckNhbmRpZGF0ZVJlcXVlc3Q7CiAgICAgTlNJbnRlZ2VyIG1fbGFzdENhbmRpZGF0ZVJl
cXVlc3RTZXF1ZW5jZU51bWJlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1dlYlZpZXdJbXBsLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
Vmlld0ltcGwubW0KaW5kZXggYzFlNTA1YzQxZjI5ZTQ5MmM3Y2ZlYjE3MDE0MGMzZTM3NzVhZWMy
NC4uODU2MTEwNWJkNTgxZjIwN2U0NzFmMzVmYWRhMjY5NDZiYmYwNjUwNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KQEAgLTE0NjIsNyArMTQ2Miw2
IEBAIHZvaWQgV2ViVmlld0ltcGw6OmhhbmRsZVByb2Nlc3NTd2FwT3JFeGl0KCkKICAgICBub3Rp
ZnlJbnB1dENvbnRleHRBYm91dERpc2NhcmRlZENvbXBvc2l0aW9uKCk7CiAKICAgICB1cGRhdGVS
ZW1vdGVBY2Nlc3NpYmlsaXR5UmVnaXN0cmF0aW9uKGZhbHNlKTsKLSAgICBmbHVzaFBlbmRpbmdN
b3VzZUV2ZW50Q2FsbGJhY2tzKCk7CiAKICAgICBoYW5kbGVET01QYXN0ZVJlcXVlc3RXaXRoUmVz
dWx0KFdlYkNvcmU6OkRPTVBhc3RlQWNjZXNzUmVzcG9uc2U6OkRlbmllZEZvckdlc3R1cmUpOwog
fQpAQCAtMzQwMCwyOSArMzM5OSw2IEBAIHZvaWQgV2ViVmlld0ltcGw6OmhhbmRsZUFjY2VwdGVk
Q2FuZGlkYXRlKE5TVGV4dENoZWNraW5nUmVzdWx0ICphY2NlcHRlZENhbmRpZGF0CiAgICAgbV9w
YWdlLT5oYW5kbGVBY2NlcHRlZENhbmRpZGF0ZSh0ZXh0Q2hlY2tpbmdSZXN1bHRGcm9tTlNUZXh0
Q2hlY2tpbmdSZXN1bHQoYWNjZXB0ZWRDYW5kaWRhdGUpKTsKIH0KIAotdm9pZCBXZWJWaWV3SW1w
bDo6ZG9BZnRlclByb2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHMoZGlzcGF0Y2hfYmxvY2tf
dCBhY3Rpb24pCi17Ci0gICAgaWYgKCFtX3BhZ2UtPmlzUHJvY2Vzc2luZ01vdXNlRXZlbnRzKCkp
IHsKLSAgICAgICAgYWN0aW9uKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBtX2Nh
bGxiYWNrSGFuZGxlcnNBZnRlclByb2Nlc3NpbmdQZW5kaW5nTW91c2VFdmVudHMuYXBwZW5kKG1h
a2VCbG9ja1B0cihhY3Rpb24pKTsKLX0KLQotdm9pZCBXZWJWaWV3SW1wbDo6ZGlkRmluaXNoUHJv
Y2Vzc2luZ0FsbFBlbmRpbmdNb3VzZUV2ZW50cygpCi17Ci0gICAgZmx1c2hQZW5kaW5nTW91c2VF
dmVudENhbGxiYWNrcygpOwotfQotCi12b2lkIFdlYlZpZXdJbXBsOjpmbHVzaFBlbmRpbmdNb3Vz
ZUV2ZW50Q2FsbGJhY2tzKCkKLXsKLSAgICBmb3IgKGF1dG8mIGNhbGxiYWNrIDogbV9jYWxsYmFj
a0hhbmRsZXJzQWZ0ZXJQcm9jZXNzaW5nUGVuZGluZ01vdXNlRXZlbnRzKQotICAgICAgICBjYWxs
YmFjaygpOwotCi0gICAgbV9jYWxsYmFja0hhbmRsZXJzQWZ0ZXJQcm9jZXNzaW5nUGVuZGluZ01v
dXNlRXZlbnRzLmNsZWFyKCk7Ci19Ci0KIHZvaWQgV2ViVmlld0ltcGw6OnByZWZlcmVuY2VzRGlk
Q2hhbmdlKCkKIHsKICAgICBCT09MIG5lZWRzVmlld0ZyYW1lSW5XaW5kb3dDb29yZGluYXRlcyA9
IG1fcGFnZS0+cHJlZmVyZW5jZXMoKS5wbHVnaW5zRW5hYmxlZCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvUGFnZUNsaWVudC5oCmluZGV4IDljYjc4MGY0MDdmZDZkMmZmZGIxOTJiNDVkYzlmMzBmMzMx
NmM5N2QuLjRhNTdkM2RlMTg5ODM1NWVlNTQ5YjNjZGU1ZDQ5ZTMwYmQwYjI4MWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTQ1OSw4ICs0NTksNiBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIGRpZEhhbmRsZUFjY2VwdGVkQ2FuZGlkYXRlKCkgPSAwOwogI2VuZGlm
CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoUHJvY2Vzc2luZ0FsbFBlbmRpbmdNb3VzZUV2
ZW50cygpID0gMDsKLQogICAgIHZpcnR1YWwgdm9pZCB2aWRlb0NvbnRyb2xzTWFuYWdlckRpZENo
YW5nZSgpIHsgfQogCiAjaWYgRU5BQkxFKFdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJiYgIVBM
QVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cAppbmRleCAwNzc2MmFjMDdmZjE5YTc4YmY2NmU4Yjk4MWI2OGZhZTcwOWRiOTIxLi45ODViZGM5
YTY0ZTEwMjc1YWU0YjVmMDVmNzAwNDk4ODA0ODJlZGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTI0ODksNiArMjQ4OSwyOSBAQCB2b2lkIFdlYlBhZ2VQ
cm94eTo6cHJvY2Vzc05leHRRdWV1ZWRNb3VzZUV2ZW50KCkKICAgICBzZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlOjpNb3VzZUV2ZW50KGV2ZW50KSk7CiB9CiAKK3ZvaWQgV2ViUGFnZVByb3h5Ojpkb0Fm
dGVyUHJvY2Vzc2luZ0FsbFBlbmRpbmdNb3VzZUV2ZW50cyhXVEY6OkZ1bmN0aW9uPHZvaWQgKCk+
JiYgYWN0aW9uKQoreworICAgIGlmICghaXNQcm9jZXNzaW5nTW91c2VFdmVudHMoKSkgeworICAg
ICAgICBhY3Rpb24oKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fY2FsbGJhY2tI
YW5kbGVyc0FmdGVyUHJvY2Vzc2luZ1BlbmRpbmdNb3VzZUV2ZW50cy5hcHBlbmQoV1RGTW92ZShh
Y3Rpb24pKTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6OmRpZEZpbmlzaFByb2Nlc3NpbmdBbGxQ
ZW5kaW5nTW91c2VFdmVudHMoKQoreworICAgIGZsdXNoUGVuZGluZ01vdXNlRXZlbnRDYWxsYmFj
a3MoKTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6OmZsdXNoUGVuZGluZ01vdXNlRXZlbnRDYWxs
YmFja3MoKQoreworICAgIGZvciAoYXV0byYgY2FsbGJhY2sgOiBtX2NhbGxiYWNrSGFuZGxlcnNB
ZnRlclByb2Nlc3NpbmdQZW5kaW5nTW91c2VFdmVudHMpCisgICAgICAgIGNhbGxiYWNrKCk7CisK
KyAgICBtX2NhbGxiYWNrSGFuZGxlcnNBZnRlclByb2Nlc3NpbmdQZW5kaW5nTW91c2VFdmVudHMu
Y2xlYXIoKTsKK30KKwogI2lmIE1FUkdFX1dIRUVMX0VWRU5UUwogc3RhdGljIGJvb2wgY2FuQ29h
bGVzY2UoY29uc3QgV2ViV2hlZWxFdmVudCYgYSwgY29uc3QgV2ViV2hlZWxFdmVudCYgYikKIHsK
QEAgLTY2ODEsNyArNjcwNCw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRSZWNlaXZlRXZlbnQo
dWludDMyX3Qgb3BhcXVlVHlwZSwgYm9vbCBoYW5kbGVkKQogICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICAgaWYgKGF1dG8qIGF1dG9tYXRpb25TZXNzaW9uID0gcHJvY2VzcygpLnByb2Nlc3NQ
b29sKCkuYXV0b21hdGlvblNlc3Npb24oKSkKICAgICAgICAgICAgICAgICBhdXRvbWF0aW9uU2Vz
c2lvbi0+bW91c2VFdmVudHNGbHVzaGVkRm9yUGFnZSgqdGhpcyk7Ci0gICAgICAgICAgICBwYWdl
Q2xpZW50KCkuZGlkRmluaXNoUHJvY2Vzc2luZ0FsbFBlbmRpbmdNb3VzZUV2ZW50cygpOworICAg
ICAgICAgICAgZGlkRmluaXNoUHJvY2Vzc2luZ0FsbFBlbmRpbmdNb3VzZUV2ZW50cygpOwogICAg
ICAgICB9CiAKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCmluZGV4IDVkNGE3MWQzMzA3Y2IwYzAxYjk3ZTc0ZTRhMzdlN2EyNDkzNWJmOGQuLmM5OWZl
MGY4Zjc2ZTNmNWVjZTc1NzhkNmViOGYyZjQyYzdmMDk5YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC04ODksNiArODg5LDEwIEBAIHB1YmxpYzoKICAgICB2b2lk
IHByb2Nlc3NOZXh0UXVldWVkTW91c2VFdmVudCgpOwogICAgIHZvaWQgaGFuZGxlTW91c2VFdmVu
dChjb25zdCBOYXRpdmVXZWJNb3VzZUV2ZW50Jik7CiAKKyAgICB2b2lkIGRvQWZ0ZXJQcm9jZXNz
aW5nQWxsUGVuZGluZ01vdXNlRXZlbnRzKFdURjo6RnVuY3Rpb248dm9pZCAoKT4mJik7CisgICAg
dm9pZCBkaWRGaW5pc2hQcm9jZXNzaW5nQWxsUGVuZGluZ01vdXNlRXZlbnRzKCk7CisgICAgdm9p
ZCBmbHVzaFBlbmRpbmdNb3VzZUV2ZW50Q2FsbGJhY2tzKCk7CisKICAgICB2b2lkIGhhbmRsZVdo
ZWVsRXZlbnQoY29uc3QgTmF0aXZlV2ViV2hlZWxFdmVudCYpOwogCiAgICAgYm9vbCBpc1Byb2Nl
c3NpbmdLZXlib2FyZEV2ZW50cygpIGNvbnN0OwpAQCAtMjQzOCw2ICsyNDQyLDcgQEAgcHJpdmF0
ZToKICNpZiBFTkFCTEUoTUFDX0dFU1RVUkVfRVZFTlRTKQogICAgIERlcXVlPE5hdGl2ZVdlYkdl
c3R1cmVFdmVudD4gbV9nZXN0dXJlRXZlbnRRdWV1ZTsKICNlbmRpZgorICAgIFZlY3RvcjxXVEY6
OkZ1bmN0aW9uPHZvaWQgKCk+PiBtX2NhbGxiYWNrSGFuZGxlcnNBZnRlclByb2Nlc3NpbmdQZW5k
aW5nTW91c2VFdmVudHM7CiAKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogICAgIHN0cnVjdCBU
b3VjaEV2ZW50VHJhY2tpbmcgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1BhZ2VDbGllbnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFn
ZUNsaWVudEltcGxJT1MuaAppbmRleCBhMDdjNWQzZjZlYjZhMjQxZDE4NjFhMjU0MmE1NmNjMDBl
YzNmMGY5Li4yYTU1MjNkMzE1OWVjNmUyZDNhYTZiNDRlNjYwZjVlMDU0ZDY1MTVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaApAQCAtMjQ4
LDggKzI0OCw2IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGhhbmRsZUF1dG9jb3JyZWN0aW9uQ29u
dGV4dChjb25zdCBXZWJBdXRvY29ycmVjdGlvbkNvbnRleHQmKSBmaW5hbDsKIAotICAgIHZvaWQg
ZGlkRmluaXNoUHJvY2Vzc2luZ0FsbFBlbmRpbmdNb3VzZUV2ZW50cygpIGZpbmFsIHsgfQotCiAj
aWYgSEFWRShQRU5DSUxLSVQpCiAgICAgUmV0YWluUHRyPFdLRHJhd2luZ1ZpZXc+IGNyZWF0ZURy
YXdpbmdWaWV3KFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OkVtYmVkZGVkVmlld0lEKSBvdmVycmlk
ZTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1BhZ2VD
bGllbnRJbXBsTWFjLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudElt
cGxNYWMuaAppbmRleCA4MDE2YjU2YzE2MGFjYzdiNDI2OTYwMGYwN2Y3MzdiMzc5Mzc2N2JiLi41
MmI4NWJiMTA1OGM0YWI1M2RlNmRiMTRjOGZmZGYyYzE3ODM1M2Y2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMuaApAQCAtMjUwLDggKzI1MCw2
IEBAIHByaXZhdGU6CiAgICAgTlNWaWV3ICppbnNwZWN0b3JBdHRhY2htZW50VmlldygpIG92ZXJy
aWRlOwogICAgIF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5ICpyZW1vdGVPYmplY3RSZWdpc3RyeSgp
IG92ZXJyaWRlOwogCi0gICAgdm9pZCBkaWRGaW5pc2hQcm9jZXNzaW5nQWxsUGVuZGluZ01vdXNl
RXZlbnRzKCkgZmluYWw7Ci0KICNpZiBFTkFCTEUoV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQog
ICAgIFdlYkNvcmU6OldlYk1lZGlhU2Vzc2lvbk1hbmFnZXImIG1lZGlhU2Vzc2lvbk1hbmFnZXIo
KSBvdmVycmlkZTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
bWFjL1BhZ2VDbGllbnRJbXBsTWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1Bh
Z2VDbGllbnRJbXBsTWFjLm1tCmluZGV4IGJmN2RjMTMyYjFlZjllMDgxMjc1Y2JlY2I1NjJkZDFi
ZmQzYTJhMGUuLmI0NWIyZThjYzM0NjA0YTAzYTAyYTdmZWZmNDRiOTgwZWU0NGJmZDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9QYWdlQ2xpZW50SW1wbE1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvUGFnZUNsaWVudEltcGxNYWMubW0KQEAg
LTkxOSwxMSArOTE5LDYgQEAgX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkgKlBhZ2VDbGllbnRJbXBs
OjpyZW1vdGVPYmplY3RSZWdpc3RyeSgpCiAgICAgcmV0dXJuIG1faW1wbC0+cmVtb3RlT2JqZWN0
UmVnaXN0cnkoKTsKIH0KIAotdm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkRmluaXNoUHJvY2Vzc2lu
Z0FsbFBlbmRpbmdNb3VzZUV2ZW50cygpCi17Ci0gICAgbV9pbXBsLT5kaWRGaW5pc2hQcm9jZXNz
aW5nQWxsUGVuZGluZ01vdXNlRXZlbnRzKCk7Ci19Ci0KIHZvaWQgUGFnZUNsaWVudEltcGw6OmRp
ZFJlc3RvcmVTY3JvbGxQb3NpdGlvbigpCiB7CiAgICAgbV9pbXBsLT5kaWRSZXN0b3JlU2Nyb2xs
UG9zaXRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9QYWdl
Q2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1BhZ2VDbGllbnRJbXBs
LmgKaW5kZXggYWVkMmMyYWY1MjI5M2E2NjNkY2ZkMjZkZWJlYjc3MWJmYTBiZWE3Mi4uMzc2NzI1
MTgwODViNjFlMzk5OTQ0ZTQ2NmJiNDA4YjdmOTlmYzdlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3Mvd2luL1BhZ2VDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3Mvd2luL1BhZ2VDbGllbnRJbXBsLmgKQEAgLTE0Niw4ICsxNDYsNiBAQCBwcml2YXRl
OgogCiAgICAgV2ViQ29yZTo6VXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbiB1c2VySW50ZXJm
YWNlTGF5b3V0RGlyZWN0aW9uKCkgb3ZlcnJpZGUgeyByZXR1cm4gV2ViQ29yZTo6VXNlckludGVy
ZmFjZUxheW91dERpcmVjdGlvbjo6TFRSOyB9CiAKLSAgICB2b2lkIGRpZEZpbmlzaFByb2Nlc3Np
bmdBbGxQZW5kaW5nTW91c2VFdmVudHMoKSBmaW5hbCB7IH0KLQogICAgIHZvaWQgcmVxdWVzdERP
TVBhc3RlQWNjZXNzKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBjb25zdCBTdHJpbmcmLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OkRPTVBhc3RlQWNjZXNzUmVzcG9uc2UpPiYmKSBm
aW5hbDsKIAogICAgIC8vIE1lbWJlcnMgb2YgUGFnZUNsaWVudEltcGwgY2xhc3MKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaAppbmRleCBmZGEzMzhlY2ZhNjg1NWUxYzFkNjA4NTBlNDcxZjY3OTRlZDFjMmNkLi45
YTAzZjdmZDkxZGNmMjBhYTY2OTc4OTAzZmJlZTU1MTFiOWI0NzIwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oCkBAIC0xODEsNiArMTgxLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGFzc29jaWF0ZUVkaXRh
YmxlSW1hZ2VXaXRoQXR0YWNobWVudChXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpFbWJlZGRlZFZp
ZXdJRCwgY29uc3QgU3RyaW5nJiBhdHRhY2htZW50SUQpIGZpbmFsOwogICAgIHZvaWQgZGlkQ3Jl
YXRlRWRpdGFibGVJbWFnZShXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpFbWJlZGRlZFZpZXdJRCkg
ZmluYWw7CiAgICAgdm9pZCBkaWREZXN0cm95RWRpdGFibGVJbWFnZShXZWJDb3JlOjpHcmFwaGlj
c0xheWVyOjpFbWJlZGRlZFZpZXdJRCkgZmluYWw7CisKKyAgICBib29sIHNob3VsZFVzZU1vdXNl
RXZlbnRzRm9yU2VsZWN0aW9uKCkgZmluYWw7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShPUklFTlRB
VElPTl9FVkVOVFMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvaW9zL1dlYkNocm9tZUNsaWVudElPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9pb3MvV2ViQ2hyb21lQ2xpZW50SU9TLm1tCmluZGV4IGM5OTE4
NmJjOWUxMmUwMGU5OWFhMzlmNTE5ZmZjNTUyYjM1NjFiYTguLjNhODY1YzM2ZTBiMzMxOTA0OTA5
MDEyY2UzOTE1MzFkMDJhZTExNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9pb3MvV2ViQ2hyb21lQ2xpZW50SU9TLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9pb3MvV2ViQ2hyb21lQ2xpZW50SU9TLm1t
CkBAIC0xODEsNiArMTgxLDE2IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpkaWREZXN0cm95RWRp
dGFibGVJbWFnZShHcmFwaGljc0xheWVyOjpFbWJlZGRlZFZpZXdJRCBlbWJlCiAjZW5kaWYKIH0K
IAorYm9vbCBXZWJDaHJvbWVDbGllbnQ6OnNob3VsZFVzZU1vdXNlRXZlbnRzRm9yU2VsZWN0aW9u
KCkKK3sKKyAgICAvLyBJbiBtYWNDYXRhbHlzdCwgZGVzcGl0ZSBnZXR0aW5nIG1vdXNlIGV2ZW50
cywgd2Ugc3RpbGwgd2FudCBVSVRleHRJbnRlcmFjdGlvbiBhbmQgZnJpZW5kcyB0byBvd24gc2Vs
ZWN0aW9uIGdlc3R1cmVzLgorI2lmIEhBVkUoSE9WRVJfR0VTVFVSRV9SRUNPR05JWkVSKQorICAg
IHJldHVybiBmYWxzZTsKKyNlbHNlCisgICAgcmV0dXJuIHRydWU7CisjZW5kaWYKK30KKwogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGY1YzdhYTIy
ODhkYTExMzcyMzgzYjg1MWJlODc2NzY4YTZhY2YwNTEuLjc1YzQ3MTkyZDhlYmZmNGMyNzc1MjIw
ZTQxYzdiMmYxYmQ0MjhhNGUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAyMC0wMS0yOCAgVGltIEhvcnRvbiAgPHRp
bW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBtYWNDYXRhbHlzdDogVHJpcGxlIGNs
aWNraW5nIHRvIHNlbGVjdCBhIHNlbnRlbmNlIHJlc3VsdHMgaW4gYW4gZW1wdHkgc2VsZWN0aW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY4NjMK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU4Nzc2OTkzPgorCisgICAgICAgIFJldmlld2VkIGJ5
IFdlbnNvbiBIc2llaC4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvTWFjQ2F0YWx5c3RNb3VzZVN1cHBvcnQubW06IEFkZGVkLgorICAgICAgICAo
LVtXS1Rlc3RpbmdFdmVudCBsb2NhdGlvbkluVmlldzpdKToKKyAgICAgICAgKC1bV0tUZXN0aW5n
RXZlbnQgX3NldEJ1dHRvbk1hc2s6XSk6CisgICAgICAgICgtW1dLVGVzdGluZ0V2ZW50IF9idXR0
b25NYXNrXSk6CisgICAgICAgICgtW1dLVGVzdGluZ1RvdWNoIGxvY2F0aW9uSW5WaWV3Ol0pOgor
ICAgICAgICAoLVtXS1Rlc3RpbmdUb3VjaCBzZXRUYXBDb3VudDpdKToKKyAgICAgICAgKC1bV0tU
ZXN0aW5nVG91Y2ggdGFwQ291bnRdKToKKyAgICAgICAgKG1vdXNlR2VzdHVyZSk6CisgICAgICAg
IChURVNUKToKKyAgICAgICAgQWRkIGEgdGVzdCBlbnN1cmluZyB0aGF0IHNpbXBseSBwbHVtYmlu
ZyBtb3VzZSBldmVudHMgdG8gV2ViQ29yZQorICAgICAgICBkb2VzIG5vdCByZXN1bHQgaW4gYSBz
ZWxlY3Rpb24gY2hhbmdlIGluIG1hY0NhdGFseXN0IChiZWNhdXNlIFVJS2l0CisgICAgICAgIHdp
bGwgaGFuZGxlIHRoZSBzZWxlY3Rpb24gY2hhbmdlIGl0c2VsZiwgaW5zdGVhZCkuCisKIDIwMjAt
MDEtMjcgIFJvYmluIE1vcmlzc2V0ICA8cm1vcmlzc2V0QGFwcGxlLmNvbT4KIAogICAgICAgICBU
b29scy9TY3JpcHRzL3NldC13ZWJraXQtY29uZmlndXJhdGlvbiBzaG91bGQgYWNjZXB0IC0tY292
ZXJhZ2UvLS1uby1jb3ZlcmFnZQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhNTVjYzMzNDIx
YmNlNzBlZTRhMDAxZmVkNzY3Zjg0ZDljODBiMTE4Li44YTY1ZGExMzU5MzUyNWYzODgzNzBkMDI5
ZTg0MmE5MmZiMWQ1MzEzIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJL
aXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTI3LDYgKzEyNyw3
IEBACiAJCTJEMDAwNjVGMUMxRjU4OUEwMDg4RTZBNyAvKiBXS1BERlZpZXcubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDAwMDY1RDFDMUY1ODk0MDA4
OEU2QTcgLyogV0tQREZWaWV3Lm1tICovOyB9OwogCQkyRDAxRDA2RTIzMjE4RkVFMDAzOUFBM0Eg
LyogV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyRDAxRDA2RDIzMjE4RkVFMDAzOUFBM0EgLyogV0tXZWJWaWV3
UHJpbnRGb3JtYXR0ZXIubW0gKi87IH07CiAJCTJEMDhFOTM3MjI2N0QwRjQwMDI1MThEQSAvKiBS
ZXBhcmVudFdlYlZpZXdUaW1lb3V0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkQwOEU5MzYyMjY3RDBGMzAwMjUxOERBIC8qIFJlcGFyZW50V2ViVmll
d1RpbWVvdXQubW0gKi87IH07CisJCTJEMTE2RTEzMjNFMENCM0EwMDIwODkwMCAvKiBNYWNDYXRh
bHlzdE1vdXNlU3VwcG9ydC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDJEMTE2RTEyMjNFMENCMzkwMDIwODkwMCAvKiBNYWNDYXRhbHlzdE1vdXNlU3Vw
cG9ydC5tbSAqLzsgfTsKIAkJMkQxNjQ2RTIxRDE4NjJDRDAwMDE1QTFBIC8qIERlZmVycmVkVmll
d0luV2luZG93U3RhdGVDaGFuZ2UubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyRDE2NDZFMTFEMTg2MkNEMDAwMTVBMUEgLyogRGVmZXJyZWRWaWV3SW5X
aW5kb3dTdGF0ZUNoYW5nZS5tbSAqLzsgfTsKIAkJMkQyQkVCMkQyMjMyNEU1RjAwNTU0NENBIC8q
IFJlcXVlc3RUZXh0SW5wdXRDb250ZXh0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkQyQkVCMkMyMjMyNEU1RjAwNTU0NENBIC8qIFJlcXVlc3RUZXh0
SW5wdXRDb250ZXh0Lm1tICovOyB9OwogCQkyRDJEMTNCMzIyOUY0MDhCMDA1MDY4QUYgLyogRGV2
aWNlTWFuYWdlbWVudFJlc3RyaWN0aW9ucy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDJEMkQxM0IyMjI5RjQwOEIwMDUwNjhBRiAvKiBEZXZpY2VNYW5h
Z2VtZW50UmVzdHJpY3Rpb25zLm1tICovOyB9OwpAQCAtMTY0OSw2ICsxNjUwLDcgQEAKIAkJMkQw
MDA2NUQxQzFGNTg5NDAwODhFNkE3IC8qIFdLUERGVmlldy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLUERGVmlldy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMkQwMUQwNkQyMzIxOEZFRTAwMzlBQTNBIC8qIFdLV2ViVmlld1ByaW50Rm9ybWF0
dGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tXZWJWaWV3
UHJpbnRGb3JtYXR0ZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEMDhFOTM2
MjI2N0QwRjMwMDI1MThEQSAvKiBSZXBhcmVudFdlYlZpZXdUaW1lb3V0Lm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUmVwYXJlbnRXZWJWaWV3VGltZW91dC5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQxMTZFMTIyM0UwQ0IzOTAwMjA4OTAwIC8q
IE1hY0NhdGFseXN0TW91c2VTdXBwb3J0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gTWFjQ2F0YWx5c3RNb3VzZVN1cHBvcnQubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTJEMTY0NkUxMUQxODYyQ0QwMDAxNUExQSAvKiBEZWZlcnJlZFZpZXdJbldp
bmRvd1N0YXRlQ2hhbmdlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1l
ID0gRGVmZXJyZWRWaWV3SW5XaW5kb3dTdGF0ZUNoYW5nZS5tbTsgcGF0aCA9IFdlYktpdC9EZWZl
cnJlZFZpZXdJbldpbmRvd1N0YXRlQ2hhbmdlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkyRDFDMDRBNTFENzYyOThCMDAwQTY4MTYgLyogVGVzdE5hdmlnYXRpb25EZWxlZ2F0ZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBUZXN0TmF2aWdhdGlvbkRlbGVnYXRl
Lmg7IHBhdGggPSBjb2NvYS9UZXN0TmF2aWdhdGlvbkRlbGVnYXRlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTJEMUMwNEE2MUQ3NjI5OEIwMDBBNjgxNiAvKiBUZXN0TmF2aWdhdGlv
bkRlbGVnYXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gVGVz
dE5hdmlnYXRpb25EZWxlZ2F0ZS5tbTsgcGF0aCA9IGNvY29hL1Rlc3ROYXZpZ2F0aW9uRGVsZWdh
dGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yOTYwLDYgKzI5NjIsNyBAQAog
CQkJCTQ2QzUxOUQ4MUQzNTVBNzMwMERBQTUxQSAvKiBMb2NhbFN0b3JhZ2VOdWxsRW50cmllcy5t
bSAqLywKIAkJCQk4QzEwQUY5NjIwNjQ2Nzc3MDAxOEZEOTAgLyogTG9jYWxTdG9yYWdlUGVyc2lz
dGVuY2UubW0gKi8sCiAJCQkJN0E2QTJDNkYxRENDRjg3QjAwQzBEMDg1IC8qIExvY2FsU3RvcmFn
ZVF1aXJrVGVzdC5tbSAqLywKKwkJCQkyRDExNkUxMjIzRTBDQjM5MDAyMDg5MDAgLyogTWFjQ2F0
YWx5c3RNb3VzZVN1cHBvcnQubW0gKi8sCiAJCQkJMDdDQzdERkQyMjY2MzMwODAwRTM5MTgxIC8q
IE1lZGlhQnVmZmVyaW5nUG9saWN5Lm1tICovLAogCQkJCTUxQkU5RTY1MjM3NjA4OTUwMEI0RTEx
NyAvKiBNZWRpYVR5cGUubW0gKi8sCiAJCQkJNTE2NUZFMDMyMDFFRTYxNzAwOUY3RUMzIC8qIE1l
c3NhZ2VQb3J0UHJvdmlkZXJzLm1tICovLApAQCAtNDgwMCw2ICs0ODAzLDcgQEAKIAkJCQk3QTZB
MkM3MDFEQ0NGQThDMDBDMEQwODUgLyogTG9jYWxTdG9yYWdlUXVpcmtUZXN0Lm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNkJGNEE2ODMyMzlFRDRDRDAwRTJGNDVCIC8qIExvZ2dlZEluU3RhdHVzLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTA3NkU1MDdGMUY0NTEzRDYwMDZFOUY1QSAvKiBMb2dnaW5n
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJEMTE2RTEzMjNFMENCM0EwMDIwODkwMCAvKiBNYWND
YXRhbHlzdE1vdXNlU3VwcG9ydC5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNFMTg2NjQ5MUY3MkU4
RjEwMEEwQ0FCNiAvKiBNYXJrZWRUZXh0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3Q0M3REZF
MjI2NjMzMDkwMEUzOTE4MSAvKiBNZWRpYUJ1ZmZlcmluZ1BvbGljeS5tbSBpbiBTb3VyY2VzICov
LAogCQkJCUNEQTMxNTk4MUVENTM2NTEwMDlGNjBEMyAvKiBNZWRpYVBsYXliYWNrU2xlZXBBc3Nl
cnRpb24ubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvTWFjQ2F0YWx5c3RNb3VzZVN1cHBvcnQubW0gYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL01hY0NhdGFseXN0TW91c2VTdXBwb3J0Lm1tCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmQzMTAzOWJhN2E1YzgwMmIyYmZiOWMxZWFiNzM2NGIyNDNkNzEzOWEKLS0tIC9k
ZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL01hY0Nh
dGFseXN0TW91c2VTdXBwb3J0Lm1tCkBAIC0wLDAgKzEsMTQ0IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lt
cG9ydCAiY29uZmlnLmgiCisKKyNpZiBQTEFURk9STShNQUNDQVRBTFlTVCkKKworI2ltcG9ydCAi
UGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNpbXBvcnQgIlRlc3QuaCIKKyNpbXBvcnQgIlRlc3ROYXZp
Z2F0aW9uRGVsZWdhdGUuaCIKKyNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKKyNpbXBvcnQgIlVJ
S2l0U1BJLmgiCisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUu
aD4KKyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZy5oPgorI2ltcG9y
dCA8V2ViS2l0L1dlYktpdC5oPgorI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgorCitAaW50ZXJm
YWNlIFdLTW91c2VHZXN0dXJlUmVjb2duaXplciA6IFVJR2VzdHVyZVJlY29nbml6ZXIKKy0gKHZv
aWQpX2hvdmVyRW50ZXJlZDooTlNTZXQ8VUlUb3VjaCAqPiAqKXRvdWNoZXMgd2l0aEV2ZW50OihV
SUV2ZW50ICopZXZlbnQ7CistICh2b2lkKV9ob3ZlckV4aXRlZDooTlNTZXQ8VUlUb3VjaCAqPiAq
KXRvdWNoZXMgd2l0aEV2ZW50OihVSUV2ZW50ICopZXZlbnQ7CistICh2b2lkKXRvdWNoZXNCZWdh
bjooTlNTZXQ8VUlUb3VjaCAqPiAqKXRvdWNoZXMgd2l0aEV2ZW50OihVSUV2ZW50ICopZXZlbnQ7
CistICh2b2lkKXRvdWNoZXNFbmRlZDooTlNTZXQ8VUlUb3VjaCAqPiAqKXRvdWNoZXMgd2l0aEV2
ZW50OihVSUV2ZW50ICopZXZlbnQ7CitAZW5kCisKK0BpbnRlcmZhY2UgV0tDb250ZW50VmlldyAo
KQorLSAodm9pZClfbW91c2VHZXN0dXJlUmVjb2duaXplckNoYW5nZWQ6KFdLTW91c2VHZXN0dXJl
UmVjb2duaXplciAqKWdlc3R1cmVSZWNvZ25pemVyOworQGVuZAorCitAaW50ZXJmYWNlIFdLVGVz
dGluZ0V2ZW50IDogVUlFdmVudAorQGVuZAorCitAaW1wbGVtZW50YXRpb24gV0tUZXN0aW5nRXZl
bnQgeworICAgIFVJRXZlbnRCdXR0b25NYXNrIF9idXR0b25NYXNrOworfQorCistIChDR1BvaW50
KWxvY2F0aW9uSW5WaWV3OihVSVZpZXcgKil2aWV3Cit7CisgICAgcmV0dXJuIENHUG9pbnRNYWtl
KDEwLCAxMCk7Cit9CisKKy0gKHZvaWQpX3NldEJ1dHRvbk1hc2s6KFVJRXZlbnRCdXR0b25NYXNr
KWJ1dHRvbk1hc2sKK3sKKyAgICBfYnV0dG9uTWFzayA9IGJ1dHRvbk1hc2s7Cit9CisKKy0gKFVJ
RXZlbnRCdXR0b25NYXNrKV9idXR0b25NYXNrCit7CisgICAgcmV0dXJuIF9idXR0b25NYXNrOwor
fQorCitAZW5kCisKK0BpbnRlcmZhY2UgV0tUZXN0aW5nVG91Y2ggOiBVSVRvdWNoCitAZW5kCisK
K0BpbXBsZW1lbnRhdGlvbiBXS1Rlc3RpbmdUb3VjaCB7CisgICAgTlNVSW50ZWdlciBfdGFwQ291
bnQ7Cit9CisKKy0gKENHUG9pbnQpbG9jYXRpb25JblZpZXc6KFVJVmlldyAqKXZpZXcKK3sKKyAg
ICByZXR1cm4gQ0dQb2ludE1ha2UoMTAsIDEwKTsKK30KKworLSAodm9pZClzZXRUYXBDb3VudDoo
TlNVSW50ZWdlcil0YXBDb3VudAoreworICAgIF90YXBDb3VudCA9IHRhcENvdW50OworfQorCist
IChOU1VJbnRlZ2VyKXRhcENvdW50Cit7CisgICAgcmV0dXJuIF90YXBDb3VudDsKK30KKworQGVu
ZAorCitzdGF0aWMgV0tNb3VzZUdlc3R1cmVSZWNvZ25pemVyICptb3VzZUdlc3R1cmUoVUlWaWV3
ICp2aWV3KQoreworICAgIGZvciAoVUlHZXN0dXJlUmVjb2duaXplciAqcmVjb2duaXplciBpbiB2
aWV3Lmdlc3R1cmVSZWNvZ25pemVycykgeworICAgICAgICBpZiAoW3JlY29nbml6ZXIgaXNLaW5k
T2ZDbGFzczpOU0NsYXNzRnJvbVN0cmluZyhAIldLTW91c2VHZXN0dXJlUmVjb2duaXplciIpXSkK
KyAgICAgICAgICAgIHJldHVybiAoV0tNb3VzZUdlc3R1cmVSZWNvZ25pemVyICopcmVjb2duaXpl
cjsKKyAgICB9CisKKyAgICByZXR1cm4gbmlsOworfQorCitURVNUKE1hY0NhdGFseXN0TW91c2VT
dXBwb3J0LCBEb05vdENoYW5nZVNlbGVjdGlvbldpdGhSaWdodENsaWNrKQoreworICAgIGF1dG8g
d2ViVmlld0NvbmZpZ3VyYXRpb24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBh
bGxvY10gaW5pdF0pOworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3
IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3Vy
YXRpb246d2ViVmlld0NvbmZpZ3VyYXRpb24uZ2V0KCldKTsKKyAgICBbd2ViVmlldyBzeW5jaHJv
bm91c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJzaW1wbGUiXTsKKyAgICBbd2ViVmlldyBvYmplY3RC
eUV2YWx1YXRpbmdKYXZhU2NyaXB0OkAiZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoJ2NvbnRl
bnRlZGl0YWJsZScsJycpOyJdOworCisgICAgYXV0byBjb250ZW50VmlldyA9IFt3ZWJWaWV3IHdr
Q29udGVudFZpZXddOworICAgIGF1dG8gZ2VzdHVyZSA9IG1vdXNlR2VzdHVyZShjb250ZW50Vmll
dyk7CisKKyAgICBSZXRhaW5QdHI8V0tUZXN0aW5nVG91Y2g+IHRvdWNoID0gYWRvcHROUyhbW1dL
VGVzdGluZ1RvdWNoIGFsbG9jXSBpbml0XSk7CisgICAgUmV0YWluUHRyPE5TU2V0PiB0b3VjaFNl
dCA9IFtOU1NldCBzZXRXaXRoT2JqZWN0OnRvdWNoLmdldCgpXTsKKworICAgIFJldGFpblB0cjxX
S1Rlc3RpbmdFdmVudD4gZXZlbnQgPSBhZG9wdE5TKFtbV0tUZXN0aW5nRXZlbnQgYWxsb2NdIGlu
aXRdKTsKKworICAgIFtnZXN0dXJlIF9ob3ZlckVudGVyZWQ6dG91Y2hTZXQuZ2V0KCkgd2l0aEV2
ZW50OmV2ZW50LmdldCgpXTsKKyAgICBbY29udGVudFZpZXcgX21vdXNlR2VzdHVyZVJlY29nbml6
ZXJDaGFuZ2VkOmdlc3R1cmVdOworICAgIFt0b3VjaCBzZXRUYXBDb3VudDoxXTsKKyAgICBbZXZl
bnQgX3NldEJ1dHRvbk1hc2s6VUlFdmVudEJ1dHRvbk1hc2tTZWNvbmRhcnldOworICAgIFtnZXN0
dXJlIHRvdWNoZXNCZWdhbjp0b3VjaFNldC5nZXQoKSB3aXRoRXZlbnQ6ZXZlbnQuZ2V0KCldOwor
ICAgIFtjb250ZW50VmlldyBfbW91c2VHZXN0dXJlUmVjb2duaXplckNoYW5nZWQ6Z2VzdHVyZV07
CisgICAgW2dlc3R1cmUgdG91Y2hlc0VuZGVkOnRvdWNoU2V0LmdldCgpIHdpdGhFdmVudDpldmVu
dC5nZXQoKV07CisgICAgW2NvbnRlbnRWaWV3IF9tb3VzZUdlc3R1cmVSZWNvZ25pemVyQ2hhbmdl
ZDpnZXN0dXJlXTsKKworICAgIF9fYmxvY2sgYm9vbCBkb25lID0gZmFsc2U7CisKKyAgICBbd2Vi
VmlldyBfZG9BZnRlclByb2Nlc3NpbmdBbGxQZW5kaW5nTW91c2VFdmVudHM6XnsKKyAgICAgICAg
TlNOdW1iZXIgKnJlc3VsdCA9IFt3ZWJWaWV3IG9iamVjdEJ5RXZhbHVhdGluZ0phdmFTY3JpcHQ6
QCJ3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuaXNDb2xsYXBzZWQiXTsKKyAgICAgICAgRVhQRUNUX1RS
VUUoW3Jlc3VsdCBib29sVmFsdWVdKTsKKyAgICAgICAgZG9uZSA9IHRydWU7CisgICAgfV07CisK
KyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworfQorCisjZW5kaWYgLy8gUExB
VEZPUk0oTUFDQ0FUQUxZU1QpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389103</attachid>
            <date>2020-01-28 21:55:37 -0800</date>
            <delta_ts>2020-01-28 21:56:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206863-20200128215536.patch</filename>
            <type>text/plain</type>
            <size>6145</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MzM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGE4YzBjYWY1ZTFkYWUwMGY0
MjM0ZmNjMzkzN2YwY2RjMDFlZTQ0YTguLmUzODhkZjlmOTVjYWIzZjI4ZmM1ZDk4NTFiMGE4YTg4
YTcwMDc5ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjAtMDEtMjggIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgbWFjQ2F0YWx5c3Q6IFJp
Z2h0IGNsaWNraW5nIG9uIGEgbGluayBmb2xsb3dzIGl0IGltbWVkaWF0ZWx5CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY4NjMKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzU4OTM2Njc5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS01vdXNlR2VzdHVyZVJlY29nbml6ZXIu
bW06CisgICAgICAgICgtW1dLTW91c2VHZXN0dXJlUmVjb2duaXplciBjcmVhdGVNb3VzZUV2ZW50
V2l0aFR5cGU6Zm9yRXZlbnQ6XSk6CisgICAgICAgICgtW1dLTW91c2VHZXN0dXJlUmVjb2duaXpl
ciB0b3VjaGVzQmVnYW46d2l0aEV2ZW50Ol0pOgorICAgICAgICAoLVtXS01vdXNlR2VzdHVyZVJl
Y29nbml6ZXIgdG91Y2hlc0VuZGVkOndpdGhFdmVudDpdKToKKyAgICAgICAgVUlLaXQncyBfYnV0
dG9uTWFzayBkb2VzIG5vdCBpbmNsdWRlIHRoZSBjdXJyZW50bHktcmVsZWFzZWQgYnV0dG9uLAor
ICAgICAgICBzbyBpbiBvcmRlciB0byBjb3JyZWN0bHkgaWRlbnRpZnkgdGhlIHJlbGVhc2VkIGJ1
dHRvbiBpbiB0b3VjaGVzRW5kZWQsCisgICAgICAgIHN0b3JlIHRoZSBtYXNrIGZvciB0aGUgbGVu
Z3RoIG9mIHRoZSBjbGljay4KKwogMjAyMC0wMS0yOCAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9y
dG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBtYWNDYXRhbHlzdDogVHJpcGxlIGNsaWNraW5nIHRv
IHNlbGVjdCBhIHNlbnRlbmNlIHJlc3VsdHMgaW4gYW4gZW1wdHkgc2VsZWN0aW9uCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tNb3VzZUdlc3R1cmVSZWNvZ25pemVy
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTW91c2VHZXN0dXJlUmVjb2duaXpl
ci5tbQppbmRleCAwM2Q4OGFjZjJlNWI4NTU3MDE1MjI0YzRlNWM1MGU3YzJiNTkyNjAxLi42YTgw
MGVhZDI3MWY5NjcyNWZjZjljOGJiYjg0NmQ4MjdmYTBlODk1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tNb3VzZUdlc3R1cmVSZWNvZ25pemVyLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS01vdXNlR2VzdHVyZVJlY29nbml6ZXIubW0KQEAg
LTU2LDYgKzU2LDcgQEAgQGltcGxlbWVudGF0aW9uIFdLTW91c2VHZXN0dXJlUmVjb2duaXplciB7
CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViS2l0OjpOYXRpdmVXZWJNb3VzZUV2ZW50PiBfbGFz
dEV2ZW50OwogICAgIE9wdGlvbmFsPENHUG9pbnQ+IF9sYXN0TG9jYXRpb247CisgICAgT3B0aW9u
YWw8VUlFdmVudEJ1dHRvbk1hc2s+IF9wcmVzc2VkQnV0dG9uTWFzazsKIH0KIAogLSAoaW5zdGFu
Y2V0eXBlKWluaXRXaXRoVGFyZ2V0OihpZCl0YXJnZXQgYWN0aW9uOihTRUwpYWN0aW9uCkBAIC0x
MjIsNyArMTIzLDcgQEAgLSAoQk9PTClfc2hvdWxkUmVjZWl2ZVByZXNzOihVSVByZXNzICopcHJl
c3MKIC0gKHN0ZDo6dW5pcXVlX3B0cjxXZWJLaXQ6Ok5hdGl2ZVdlYk1vdXNlRXZlbnQ+KWNyZWF0
ZU1vdXNlRXZlbnRXaXRoVHlwZTooV2ViS2l0OjpXZWJFdmVudDo6VHlwZSl0eXBlIGZvckV2ZW50
OihVSUV2ZW50ICopdWlFdmVudAogewogICAgIGF1dG8gbW9kaWZpZXJzID0gd2ViRXZlbnRNb2Rp
ZmllcnNGb3JVSUtleU1vZGlmaWVyRmxhZ3Moc2VsZi5tb2RpZmllckZsYWdzKTsKLSAgICBCT09M
IGlzUmlnaHRCdXR0b24gPSBtb2RpZmllcnMuY29udGFpbnMoV2ViS2l0OjpXZWJFdmVudDo6TW9k
aWZpZXI6OkNvbnRyb2xLZXkpIHx8IChbdWlFdmVudCBfYnV0dG9uTWFza10gJiBVSUV2ZW50QnV0
dG9uTWFza1NlY29uZGFyeSk7CisgICAgQk9PTCBpc1JpZ2h0QnV0dG9uID0gbW9kaWZpZXJzLmNv
bnRhaW5zKFdlYktpdDo6V2ViRXZlbnQ6Ok1vZGlmaWVyOjpDb250cm9sS2V5KSB8fCAoX3ByZXNz
ZWRCdXR0b25NYXNrICYmICgqX3ByZXNzZWRCdXR0b25NYXNrICYgVUlFdmVudEJ1dHRvbk1hc2tT
ZWNvbmRhcnkpKTsKIAogICAgIGF1dG8gYnV0dG9uID0gWyZdIHsKICAgICAgICAgaWYgKCFfdG91
Y2hpbmcpCkBAIC0xNTEsNiArMTUyLDcgQEAgLSAoc3RkOjp1bmlxdWVfcHRyPFdlYktpdDo6TmF0
aXZlV2ViTW91c2VFdmVudD4pY3JlYXRlTW91c2VFdmVudFdpdGhUeXBlOihXZWJLaXQKIC0gKHZv
aWQpdG91Y2hlc0JlZ2FuOihOU1NldDxVSVRvdWNoICo+ICopdG91Y2hlcyB3aXRoRXZlbnQ6KFVJ
RXZlbnQgKilldmVudAogewogICAgIF90b3VjaGluZyA9IFlFUzsKKyAgICBfcHJlc3NlZEJ1dHRv
bk1hc2sgPSBbZXZlbnQgX2J1dHRvbk1hc2tdOwogCiAgICAgX2xhc3RFdmVudCA9IFtzZWxmIGNy
ZWF0ZU1vdXNlRXZlbnRXaXRoVHlwZTpXZWJLaXQ6OldlYkV2ZW50OjpNb3VzZURvd24gZm9yRXZl
bnQ6ZXZlbnRdOwogICAgIF9sYXN0TG9jYXRpb24gPSBbc2VsZiBsb2NhdGlvbkluVmlldzpzZWxm
LnZpZXddOwpAQCAtMTcyLDYgKzE3NCw3IEBAIC0gKHZvaWQpdG91Y2hlc0VuZGVkOihOU1NldDxV
SVRvdWNoICo+ICopdG91Y2hlcyB3aXRoRXZlbnQ6KFVJRXZlbnQgKilldmVudAogICAgIF9sYXN0
TG9jYXRpb24gPSBbc2VsZiBsb2NhdGlvbkluVmlldzpzZWxmLnZpZXddOwogCiAgICAgX3RvdWNo
aW5nID0gTk87CisgICAgX3ByZXNzZWRCdXR0b25NYXNrID0gV1RGOjpudWxsb3B0OwogCiAgICAg
c2VsZi5zdGF0ZSA9IFVJR2VzdHVyZVJlY29nbml6ZXJTdGF0ZUNoYW5nZWQ7CiB9CmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDQzYTBkOTk4MTY4
ZmEzNWQ4MzhjMzMwZDYxNjVlMzhhNDgyMTYzNS4uZmVmOGYyMTJkNmJmZDhmMDQ3NjJmNTk4NzBm
MjM0MGFkOTE4NDgxNSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTAxLTI4ICBUaW0gSG9ydG9uICA8dGltb3Ro
eV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIG1hY0NhdGFseXN0OiBSaWdodCBjbGlja2lu
ZyBvbiBhIGxpbmsgZm9sbG93cyBpdCBpbW1lZGlhdGVseQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2ODYzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81ODkzNjY3OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvTWFjQ2F0YWx5c3RNb3VzZVN1
cHBvcnQubW06CisgICAgICAgIChURVNUKToKKyAgICAgICAgQWRkIGEgdGVzdCBlbnN1cmluZyB0
aGF0IG1vdXNldXAgaXMgc3RpbGwgY2FsbGVkIHdpdGggdGhlIHNlY29uZGFyeSBidXR0b24sCisg
ICAgICAgIGV2ZW4gaWYgdGhlIGV2ZW50J3MgYnV0dG9ubWFzayBpcyAwLgorCiAyMDIwLTAxLTI4
ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBUZXN0V2Vi
S2l0QVBJOiBDb25kaXRpb25hbGl6ZSBkZXZpY2Ugb3JpZW50YXRpb24gdGVzdHMgb24gRU5BQkxF
KERFVklDRV9PUklFTlRBVElPTikKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvTWFjQ2F0YWx5c3RNb3VzZVN1cHBvcnQubW0gYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL01hY0NhdGFseXN0TW91c2VTdXBwb3J0Lm1tCmluZGV4
IGQzMTAzOWJhN2E1YzgwMmIyYmZiOWMxZWFiNzM2NGIyNDNkNzEzOWEuLmJmOTg4YjQyMzFiMDBk
MzZlMDUwZWJmMTFjNDgyZDk4ZmVkN2YwZTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViS2l0Q29jb2EvTWFjQ2F0YWx5c3RNb3VzZVN1cHBvcnQubW0KKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9NYWNDYXRhbHlzdE1vdXNlU3VwcG9y
dC5tbQpAQCAtMTQxLDQgKzE0MSw0NiBAQCBURVNUKE1hY0NhdGFseXN0TW91c2VTdXBwb3J0LCBE
b05vdENoYW5nZVNlbGVjdGlvbldpdGhSaWdodENsaWNrKQogICAgIFRlc3RXZWJLaXRBUEk6OlV0
aWw6OnJ1bigmZG9uZSk7CiB9CiAKK1RFU1QoTWFjQ2F0YWx5c3RNb3VzZVN1cHBvcnQsIFRyYWNr
QnV0dG9uTWFza0Zyb21Ub3VjaFN0YXJ0KQoreworICAgIGF1dG8gd2ViVmlld0NvbmZpZ3VyYXRp
b24gPSBhZG9wdE5TKFtbV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAg
IGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZy
YW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246d2ViVmlld0NvbmZp
Z3VyYXRpb24uZ2V0KCldKTsKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZEhUTUxTdHJp
bmc6QCI8c2NyaXB0PiIKKyAgICAid2luZG93LmRpZFJlbGVhc2VSaWdodEJ1dHRvbiA9IGZhbHNl
OyIKKyAgICAiZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNl
dXAnLCBmdW5jdGlvbiAoZSkgeyIKKyAgICAiICAgIGlmIChlLmJ1dHRvbiA9PSAyKSIKKyAgICAi
ICAgICAgICB3aW5kb3cuZGlkUmVsZWFzZVJpZ2h0QnV0dG9uID0gdHJ1ZTsiCisgICAgIn0pOyIK
KyAgICAiPC9zY3JpcHQ+Il07CisKKyAgICBhdXRvIGNvbnRlbnRWaWV3ID0gW3dlYlZpZXcgd2tD
b250ZW50Vmlld107CisgICAgYXV0byBnZXN0dXJlID0gbW91c2VHZXN0dXJlKGNvbnRlbnRWaWV3
KTsKKworICAgIFJldGFpblB0cjxXS1Rlc3RpbmdUb3VjaD4gdG91Y2ggPSBhZG9wdE5TKFtbV0tU
ZXN0aW5nVG91Y2ggYWxsb2NdIGluaXRdKTsKKyAgICBSZXRhaW5QdHI8TlNTZXQ+IHRvdWNoU2V0
ID0gW05TU2V0IHNldFdpdGhPYmplY3Q6dG91Y2guZ2V0KCldOworCisgICAgUmV0YWluUHRyPFdL
VGVzdGluZ0V2ZW50PiBldmVudCA9IGFkb3B0TlMoW1tXS1Rlc3RpbmdFdmVudCBhbGxvY10gaW5p
dF0pOworCisgICAgW2dlc3R1cmUgX2hvdmVyRW50ZXJlZDp0b3VjaFNldC5nZXQoKSB3aXRoRXZl
bnQ6ZXZlbnQuZ2V0KCldOworICAgIFtjb250ZW50VmlldyBfbW91c2VHZXN0dXJlUmVjb2duaXpl
ckNoYW5nZWQ6Z2VzdHVyZV07CisgICAgW3RvdWNoIHNldFRhcENvdW50OjFdOworICAgIFtldmVu
dCBfc2V0QnV0dG9uTWFzazpVSUV2ZW50QnV0dG9uTWFza1NlY29uZGFyeV07CisgICAgW2dlc3R1
cmUgdG91Y2hlc0JlZ2FuOnRvdWNoU2V0LmdldCgpIHdpdGhFdmVudDpldmVudC5nZXQoKV07Cisg
ICAgW2NvbnRlbnRWaWV3IF9tb3VzZUdlc3R1cmVSZWNvZ25pemVyQ2hhbmdlZDpnZXN0dXJlXTsK
KyAgICBbZXZlbnQgX3NldEJ1dHRvbk1hc2s6MF07CisgICAgW2dlc3R1cmUgdG91Y2hlc0VuZGVk
OnRvdWNoU2V0LmdldCgpIHdpdGhFdmVudDpldmVudC5nZXQoKV07CisgICAgW2NvbnRlbnRWaWV3
IF9tb3VzZUdlc3R1cmVSZWNvZ25pemVyQ2hhbmdlZDpnZXN0dXJlXTsKKworICAgIF9fYmxvY2sg
Ym9vbCBkb25lID0gZmFsc2U7CisKKyAgICBbd2ViVmlldyBfZG9BZnRlclByb2Nlc3NpbmdBbGxQ
ZW5kaW5nTW91c2VFdmVudHM6XnsKKyAgICAgICAgTlNOdW1iZXIgKnJlc3VsdCA9IFt3ZWJWaWV3
IG9iamVjdEJ5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJ3aW5kb3cuZGlkUmVsZWFzZVJpZ2h0QnV0
dG9uIl07CisgICAgICAgIEVYUEVDVF9UUlVFKFtyZXN1bHQgYm9vbFZhbHVlXSk7CisgICAgICAg
IGRvbmUgPSB0cnVlOworICAgIH1dOworCisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZk
b25lKTsKK30KKworCiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDQ0FUQUxZU1QpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>