<?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>199940</bug_id>
          
          <creation_ts>2019-07-19 05:44:44 -0700</creation_ts>
          <short_desc>Add a menu item to toggle between showing and hiding link previews</short_desc>
          <delta_ts>2019-07-19 14:18:22 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>bdakin</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1554185</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-07-19 05:44:44 -0700</bug_when>
    <thetext>Add a menu item to toggle between showing and hiding link previews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1554186</commentid>
    <comment_count>1</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-07-19 05:45:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/53032288&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1554190</commentid>
    <comment_count>2</comment_count>
      <attachid>374460</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-07-19 05:56:00 -0700</bug_when>
    <thetext>Created attachment 374460
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1554202</commentid>
    <comment_count>3</comment_count>
      <attachid>374465</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-07-19 07:45:40 -0700</bug_when>
    <thetext>Created attachment 374465
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1554205</commentid>
    <comment_count>4</comment_count>
      <attachid>374466</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-07-19 08:07:25 -0700</bug_when>
    <thetext>Created attachment 374466
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1554238</commentid>
    <comment_count>5</comment_count>
      <attachid>374466</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2019-07-19 10:13:53 -0700</bug_when>
    <thetext>Comment on attachment 374466
Patch

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

&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:7674
&gt; +    if (!originalMenu)

Is there ever a case when a menu would no items would be represented by a nil menu? I just want to make sure that if a client removes ALL of the menu items, we still provide this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1554284</commentid>
    <comment_count>6</comment_count>
      <attachid>374466</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-07-19 12:15:28 -0700</bug_when>
    <thetext>Comment on attachment 374466
Patch

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

&gt;&gt; Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:7674
&gt;&gt; +    if (!originalMenu)
&gt; 
&gt; Is there ever a case when a menu would no items would be represented by a nil menu? I just want to make sure that if a client removes ALL of the menu items, we still provide this one.

Good point! Yes, if they remove all the items (which they technically shouldn&apos;t do) we have to provide this one.

I used to have code where we&apos;d provide all the default actions if they removed everything. I&apos;ll make sure that still happens, since that&apos;s what HI wanted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1554312</commentid>
    <comment_count>7</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2019-07-19 14:18:22 -0700</bug_when>
    <thetext>Committed r247652: &lt;https://trac.webkit.org/changeset/247652&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374460</attachid>
            <date>2019-07-19 05:56:00 -0700</date>
            <delta_ts>2019-07-19 07:45:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199940-20190719225558.patch</filename>
            <type>text/plain</type>
            <size>17278</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3NjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTA4YzMyNjFiYTE4Mzgy
YzJlNzY5YjhkYmM3OWExMWRhYzg3Yzk2Ny4uMDI5MDJkNGY2NjRlMzAxMTU2YmJlNzY3NDU4YWIy
MWFiMTQwMzA2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTA3LTE5ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYSBtZW51IGl0ZW0gdG8g
dG9nZ2xlIGJldHdlZW4gc2hvd2luZyBhbmQgaGlkaW5nIGxpbmsgcHJldmlld3MKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTk0MAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNTMwMzIyODg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTmV3IHN0cmluZ3MgZm9yIFNob3cvSGlkZSBMaW5rIFByZXZpZXdz
LgorCisgICAgICAgICogZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5nczoKKwogMjAxOS0wNy0x
OCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAgIEVuc3VyZSBR
dWlya3M6OnNob3VsZERpc3BhdGNoU2ltdWxhdGVkTW91c2VFdmVudHMoKSB3b3JrcyBmb3IgYWxs
IEdvb2dsZSBNYXBzIGFuZCBBbWF6b24gZG9tYWlucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAzMTRmNmRjMzIyYTQ1
OGZkMGY2N2NkYjI2YzFmZmFhMmEzZDY2NDA5Li45ZTI4N2FhNDU4ZGJjYzA5YzIxYzJkNjM2N2E5
ODAyZDNkZTQ5MWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDE5LTA3LTE5ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYSBtZW51IGl0ZW0gdG8g
dG9nZ2xlIGJldHdlZW4gc2hvd2luZyBhbmQgaGlkaW5nIGxpbmsgcHJldmlld3MKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTk0MAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNTMwMzIyODg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IF9XS0VsZW1lbnRBY3Rpb24gdGhhdCB0b2dnbGVz
IHRoZSBkaXNwbGF5IG9mIGxpbmsgcHJldmlld3MKKyAgICAgICAgaW4gY29udGV4dCBtZW51cywg
YW5kIGFkZCBpdCB0byB0aGUgZGVmYXVsdCBzZXQgb2YgYWN0aW9ucyB3ZSBwcm92aWRlCisgICAg
ICAgIGZvciBsaW5rcy4KKworICAgICAgICBXaGVuIGEgVUlBY3Rpb24gaXMgY3JlYXRlZCBmcm9t
IHRoaXMgbmV3IF9XS0VsZW1lbnRBY3Rpb24gdHlwZSwKKyAgICAgICAgaXQgY2FuIGJlIGlkZW50
aWZpZWQgYnkgV0tFbGVtZW50QWN0aW9uVHlwZVRvZ2dsZVNob3dMaW5rUHJldmlld3NJZGVudGlm
aWVyLgorICAgICAgICBUaGlzIGFsbG93cyB1cyB0byBjaGVjayBhIFVJTWVudSBwcm92aWRlZCBi
eSBhIGRlbGVnYXRlIHRvIG1ha2Ugc3VyZQorICAgICAgICB0aGF0IHRoZXkgaGF2ZSBwcm92aWRl
ZCB0aGUgdG9nZ2xlIG1lbnUgaXRlbS4gSWYgdGhleSBoYXZlbid0LCB3ZSBhZGQgaXQKKyAgICAg
ICAgYmFjay4KKworICAgICAgICBUaGUgcHJlZmVyZW5jZSBmb3Igc2hvd2luZyBsaW5rcyBpcyBt
b3ZlZCBmcm9tIGtDRlByZWZlcmVuY2VzQW55QXBwbGljYXRpb24KKyAgICAgICAgdG8gc3RhbmRh
cmQgdXNlciBkZWZhdWx0cywgc28gdGhhdCBpdCBjYW4gYmUgc2V0IG5vIG1hdHRlciB3aGF0IHRo
ZQorICAgICAgICBob3N0aW5nIGFwcGxpY2F0aW9uIGlzLgorCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tFbGVtZW50QWN0aW9uLmg6IE5ldyBhY3Rpb24gdHlwZS4KKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0VsZW1lbnRBY3Rpb24ubW06IAorICAgICAgICAoK1tf
V0tFbGVtZW50QWN0aW9uIF9lbGVtZW50QWN0aW9uV2l0aFR5cGU6Y3VzdG9tVGl0bGU6YXNzaXN0
YW50Ol0pOgorICAgICAgICAoK1tfV0tFbGVtZW50QWN0aW9uIGltYWdlRm9yRWxlbWVudEFjdGlv
blR5cGU6XSk6IFVzZSBleWUuZmlsbCBmb3Igbm93LgorICAgICAgICBJJ2xsIG5lZWQgdG8gY2hl
Y2sgd2l0aCBISSB0byBzZWUgaWYgdGhlcmUgaXMgYSBtb3JlIGFwcHJvcHJpYXRlIGdseXBoLgor
ICAgICAgICAoZWxlbWVudEFjdGlvblR5cGVUb1VJQWN0aW9uSWRlbnRpZmllcik6CisgICAgICAg
ICh1aUFjdGlvbklkZW50aWZpZXJUb0VsZW1lbnRBY3Rpb25UeXBlKToKKworICAgICAgICAqIFVJ
UHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5tbTogQWRkIHRoZSB0b2dnbGUgYWN0
aW9uIHRvCisgICAgICAgIHRoZSBkZWZhdWx0IHNldC4KKyAgICAgICAgKC1bV0tBY3Rpb25TaGVl
dEFzc2lzdGFudCBkZWZhdWx0QWN0aW9uc0ZvckxpbmtTaGVldDpdKToKKworICAgICAgICAqIFVJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAgICAoLVtXS0Nv
bnRlbnRWaWV3IF9yZWdpc3RlclByZXZpZXddKTogTm8gbmVlZCB0byBsaXN0ZW4gZm9yIENGUHJl
ZmVyZW5jZXMKKyAgICAgICAgbm90aWZpY2F0aW9ucyBhbnkgbW9yZS4KKyAgICAgICAgKC1bV0tD
b250ZW50VmlldyBfdW5yZWdpc3RlclByZXZpZXddKToKKyAgICAgICAgKG1lbnVXaXRoU2hvd0xp
bmtQcmV2aWV3QWN0aW9uKTogTmV3IG1ldGhvZCB0aGF0IGFkZHMgdGhlIFVJQWN0aW9uCisgICAg
ICAgIGZvciB0b2dnbGluZyBwcmV2aWV3cyB0byBhIFVJTWVudSBpZiBuZWNlc3NhcnkuCisgICAg
ICAgICgtW1dLQ29udGVudFZpZXcgYXNzaWduTGVnYWN5RGF0YUZvckNvbnRleHRNZW51SW50ZXJh
Y3Rpb25dKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfY29udGV4dE1lbnVJbnRlcmFjdGlv
bjpjb25maWd1cmF0aW9uRm9yTWVudUF0TG9jYXRpb246Y29tcGxldGlvbjpdKToKKyAgICAgICAg
KC1bV0tDb250ZW50VmlldyBfc2hvd0xpbmtQcmV2aWV3c1ByZWZlcmVuY2VDaGFuZ2VkOl0pOiBE
ZWxldGVkLgorICAgICAgICAodGl0bGVGb3JNZW51KTogRGVsZXRlZC4gVVJMIHRleHQgcHJldmll
d3Mgd2lsbCBiZSBwcm92aWRlZCBzZXBhcmF0ZWx5LgorCiAyMDE5LTA3LTE4ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTW92ZSBOZXR3b3Jr
Q2FjaGUgb3duZXJzaGlwIGZyb20gTmV0d29ya1Byb2Nlc3MgdG8gTmV0d29ya1Nlc3Npb24KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VuLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MgYi9T
b3VyY2UvV2ViQ29yZS9lbi5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCmluZGV4IDhjOWU5ZDYx
NDIyODRmYjYxZjM1NzBkYjljNzU4ZTdlYTNhMjI1YWMuLmU1N2E3NzlmMWZjNzgyZGQ5OGU0NDJk
N2VjMjQ3MmYzMTUxYWQ0MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VuLmxwcm9qL0xv
Y2FsaXphYmxlLnN0cmluZ3MKKysrIGIvU291cmNlL1dlYkNvcmUvZW4ubHByb2ovTG9jYWxpemFi
bGUuc3RyaW5ncwpAQCAtMzczLDYgKzM3Myw5IEBACiAvKiBIaWRlIE1lZGlhIENvbnRyb2xzIGNv
bnRleHQgbWVudSBpdGVtICovCiAiSGlkZSBDb250cm9scyIgPSAiSGlkZSBDb250cm9scyI7CiAK
Ky8qIFRpdGxlIGZvciBIaWRlIExpbmsgUHJldmlld3MgYWN0aW9uIGJ1dHRvbiAqLworIkhpZGUg
TGluayBQcmV2aWV3cyIgPSAiSGlkZSBMaW5rIFByZXZpZXdzIjsKKwogLyogbWVudSBpdGVtIHRp
dGxlICovCiAiSGlkZSBTcGVsbGluZyBhbmQgR3JhbW1hciIgPSAiSGlkZSBTcGVsbGluZyBhbmQg
R3JhbW1hciI7CiAKQEAgLTY5Nyw2ICs3MDAsOSBAQAogLyogU2hvdyBmb250cyBjb250ZXh0IG1l
bnUgaXRlbSAqLwogIlNob3cgRm9udHMiID0gIlNob3cgRm9udHMiOwogCisvKiBUaXRsZSBmb3Ig
U2hvdyBMaW5rIFByZXZpZXdzIGFjdGlvbiBidXR0b24gKi8KKyJTaG93IExpbmsgUHJldmlld3Mi
ID0gIlNob3cgTGluayBQcmV2aWV3cyI7CisKIC8qIG1lbnUgaXRlbSB0aXRsZSAqLwogIlNob3cg
U3BlbGxpbmcgYW5kIEdyYW1tYXIiID0gIlNob3cgU3BlbGxpbmcgYW5kIEdyYW1tYXIiOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRWxlbWVudEFj
dGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0VsZW1lbnRBY3Rp
b24uaAppbmRleCA4NWVjMTM1YjNhNmZkZWIwNjg3NmNkYzIxZWU4NDkyMjAwZjdmOTBhLi44OTRl
NjUwMGNmOWQ0ZDQ0MmMxMGY0NmZkYWU5NGE2YTFiMWMzMGVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRWxlbWVudEFjdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFbGVtZW50QWN0aW9uLmgKQEAgLTM0LDYg
KzM0LDcgQEAKIEBjbGFzcyBVSUltYWdlOwogCiB0eXBlZGVmIE5TU3RyaW5nICpVSUFjdGlvbklk
ZW50aWZpZXI7CitXS19FWFBPUlQgZXh0ZXJuIFVJQWN0aW9uSWRlbnRpZmllciBjb25zdCBXS0Vs
ZW1lbnRBY3Rpb25UeXBlVG9nZ2xlU2hvd0xpbmtQcmV2aWV3c0lkZW50aWZpZXI7CiAKIHR5cGVk
ZWYgdm9pZCAoXldLRWxlbWVudEFjdGlvbkhhbmRsZXIpKF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZv
ICopOwogdHlwZWRlZiBCT09MICheV0tFbGVtZW50QWN0aW9uRGlzbWlzc2FsSGFuZGxlcikodm9p
ZCk7CkBAIC01Miw2ICs1Myw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS0VsZW1l
bnRBY3Rpb25UeXBlKSB7CiAgICAgX1dLRWxlbWVudEFjdGlvblR5cGVPcGVuSW5OZXdUYWIgV0tf
QVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKSwKICAgICBf
V0tFbGVtZW50QWN0aW9uVHlwZU9wZW5Jbk5ld1dpbmRvdyBXS19BUElfQVZBSUxBQkxFKG1hY29z
KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpLAogICAgIF9XS0VsZW1lbnRBY3Rpb25UeXBl
RG93bmxvYWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19U
QkEpKSwKKyAgICBfV0tFbGVtZW50QWN0aW9uVG9nZ2xlU2hvd0xpbmtQcmV2aWV3cyBXS19BUElf
QVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpLAogfSBXS19BUElf
QVZBSUxBQkxFKG1hY29zKDEwLjEwKSwgaW9zKDguMCkpOwogCiBXS19DTEFTU19BVkFJTEFCTEUo
bWFjb3MoMTAuMTApLCBpb3MoOC4wKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9fV0tFbGVtZW50QWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL19XS0VsZW1lbnRBY3Rpb24ubW0KaW5kZXggNmFhOGE2MThmZWRlYjhhYjE4
ZTFiNTQzMWZhZmI0ZTJiODI4OGM0MS4uZTAzZjI4NGM4ZjBiZWQ4NjY2ZmIzYTQyN2I1NTdlZmY4
Mjk1YzEwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S0VsZW1lbnRBY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS0VsZW1lbnRBY3Rpb24ubW0KQEAgLTYwLDYgKzYwLDEwIEBAIHN0YXRpYyBVSUFjdGlvbklk
ZW50aWZpZXIgY29uc3QgV0tFbGVtZW50QWN0aW9uVHlwZVNoYXJlSWRlbnRpZmllciA9IEAiV0tF
bGVtZW50CiBzdGF0aWMgVUlBY3Rpb25JZGVudGlmaWVyIGNvbnN0IFdLRWxlbWVudEFjdGlvblR5
cGVPcGVuSW5OZXdUYWJJZGVudGlmaWVyID0gQCJXS0VsZW1lbnRBY3Rpb25UeXBlT3BlbkluTmV3
VGFiIjsKIHN0YXRpYyBVSUFjdGlvbklkZW50aWZpZXIgY29uc3QgV0tFbGVtZW50QWN0aW9uVHlw
ZU9wZW5Jbk5ld1dpbmRvd0lkZW50aWZpZXIgPSBAIldLRWxlbWVudEFjdGlvblR5cGVPcGVuSW5O
ZXdXaW5kb3ciOwogc3RhdGljIFVJQWN0aW9uSWRlbnRpZmllciBjb25zdCBXS0VsZW1lbnRBY3Rp
b25UeXBlRG93bmxvYWRJZGVudGlmaWVyID0gQCJXS0VsZW1lbnRBY3Rpb25UeXBlRG93bmxvYWQi
OworVUlBY3Rpb25JZGVudGlmaWVyIGNvbnN0IFdLRWxlbWVudEFjdGlvblR5cGVUb2dnbGVTaG93
TGlua1ByZXZpZXdzSWRlbnRpZmllciA9IEAiV0tFbGVtZW50QWN0aW9uVHlwZVRvZ2dsZVNob3dM
aW5rUHJldmlld3MiOworCitzdGF0aWMgTlNTdHJpbmcgKiBjb25zdCB3ZWJraXRTaG93TGlua1By
ZXZpZXdzUHJlZmVyZW5jZUtleSA9IEAiV2ViS2l0U2hvd0xpbmtQcmV2aWV3cyI7CitzdGF0aWMg
TlNTdHJpbmcgKiBjb25zdCB3ZWJraXRTaG93TGlua1ByZXZpZXdzUHJlZmVyZW5jZUNoYW5nZWRO
b3RpZmljYXRpb24gPSBAIldlYktpdFNob3dMaW5rUHJldmlld3NQcmVmZXJlbmNlQ2hhbmdlZCI7
CiAKIEBpbXBsZW1lbnRhdGlvbiBfV0tFbGVtZW50QWN0aW9uICB7CiAgICAgUmV0YWluUHRyPE5T
U3RyaW5nPiBfdGl0bGU7CkBAIC0xNjAsNiArMTY0LDE3IEBAIHN0YXRpYyB2b2lkIGFkZFRvUmVh
ZGluZ0xpc3QoTlNVUkwgKnRhcmdldFVSTCwgTlNTdHJpbmcgKnRpdGxlKQogICAgICAgICAgICAg
W2Fzc2lzdGFudC5kZWxlZ2F0ZSBhY3Rpb25TaGVldEFzc2lzdGFudDphc3Npc3RhbnQgc2hhcmVF
bGVtZW50V2l0aFVSTDphY3Rpb25JbmZvLlVSTCA/OiBhY3Rpb25JbmZvLmltYWdlVVJMIHJlY3Q6
YWN0aW9uSW5mby5ib3VuZGluZ1JlY3RdOwogICAgICAgICB9OwogICAgICAgICBicmVhazsKKyAg
ICBjYXNlIF9XS0VsZW1lbnRBY3Rpb25Ub2dnbGVTaG93TGlua1ByZXZpZXdzOiB7CisgICAgICAg
IGJvb2wgc2hvd2luZ0xpbmtQcmV2aWV3cyA9IHRydWU7CisgICAgICAgIGlmIChOU051bWJlciAq
dmFsdWUgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBvYmplY3RGb3JL
ZXk6d2Via2l0U2hvd0xpbmtQcmV2aWV3c1ByZWZlcmVuY2VLZXldKQorICAgICAgICAgICAgc2hv
d2luZ0xpbmtQcmV2aWV3cyA9IHZhbHVlLmJvb2xWYWx1ZTsKKworICAgICAgICB0aXRsZSA9IHNo
b3dpbmdMaW5rUHJldmlld3MgPyBXRUJfVUlfU1RSSU5HKCJIaWRlIExpbmsgUHJldmlld3MiLCAi
VGl0bGUgZm9yIEhpZGUgTGluayBQcmV2aWV3cyBhY3Rpb24gYnV0dG9uIikgOiBXRUJfVUlfU1RS
SU5HKCJTaG93IExpbmsgUHJldmlld3MiLCAiVGl0bGUgZm9yIFNob3cgTGluayBQcmV2aWV3cyBh
Y3Rpb24gYnV0dG9uIik7CisgICAgICAgIGhhbmRsZXIgPSBeKFdLQWN0aW9uU2hlZXRBc3Npc3Rh
bnQgKiwgX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKikgeworICAgICAgICAgICAgW1tOU1VzZXJE
ZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Qm9vbDohc2hvd2luZ0xpbmtQcmV2aWV3
cyBmb3JLZXk6d2Via2l0U2hvd0xpbmtQcmV2aWV3c1ByZWZlcmVuY2VLZXldOworICAgICAgICB9
OworICAgICAgICBicmVhazsKKyAgICB9CiAgICAgZGVmYXVsdDoKICAgICAgICAgW05TRXhjZXB0
aW9uIHJhaXNlOk5TSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIGZvcm1hdDpAIlRoZXJlIGlzIG5v
IHN0YW5kYXJkIHdlYiBlbGVtZW50IGFjdGlvbiBvZiB0eXBlICVsZC4iLCAobG9uZyl0eXBlXTsK
ICAgICAgICAgcmV0dXJuIG5pbDsKQEAgLTIyNCw2ICsyMzksOCBAQCBzdGF0aWMgdm9pZCBhZGRU
b1JlYWRpbmdMaXN0KE5TVVJMICp0YXJnZXRVUkwsIE5TU3RyaW5nICp0aXRsZSkKICAgICAgICAg
cmV0dXJuIFtVSUltYWdlIHN5c3RlbUltYWdlTmFtZWQ6QCJzcXVhcmUuZ3JpZC4yeDIiXTsKICAg
ICBjYXNlIF9XS0VsZW1lbnRBY3Rpb25UeXBlRG93bmxvYWQ6CiAgICAgICAgIHJldHVybiBbVUlJ
bWFnZSBzeXN0ZW1JbWFnZU5hbWVkOkAiYXJyb3cuZG93bi5jaXJjbGUiXTsKKyAgICBjYXNlIF9X
S0VsZW1lbnRBY3Rpb25Ub2dnbGVTaG93TGlua1ByZXZpZXdzOgorICAgICAgICByZXR1cm4gW1VJ
SW1hZ2Ugc3lzdGVtSW1hZ2VOYW1lZDpAImV5ZS5maWxsIl07CiAgICAgfQogfQogCkBAIC0yNTIs
NiArMjY5LDggQEAgc3RhdGljIFVJQWN0aW9uSWRlbnRpZmllciBlbGVtZW50QWN0aW9uVHlwZVRv
VUlBY3Rpb25JZGVudGlmaWVyKF9XS0VsZW1lbnRBY3Rpb24KICAgICAgICAgcmV0dXJuIFdLRWxl
bWVudEFjdGlvblR5cGVPcGVuSW5OZXdXaW5kb3dJZGVudGlmaWVyOwogICAgIGNhc2UgX1dLRWxl
bWVudEFjdGlvblR5cGVEb3dubG9hZDoKICAgICAgICAgcmV0dXJuIFdLRWxlbWVudEFjdGlvblR5
cGVEb3dubG9hZElkZW50aWZpZXI7CisgICAgY2FzZSBfV0tFbGVtZW50QWN0aW9uVG9nZ2xlU2hv
d0xpbmtQcmV2aWV3czoKKyAgICAgICAgcmV0dXJuIFdLRWxlbWVudEFjdGlvblR5cGVUb2dnbGVT
aG93TGlua1ByZXZpZXdzSWRlbnRpZmllcjsKICAgICB9CiB9CiAKQEAgLTI3OSw2ICsyOTgsOCBA
QCBzdGF0aWMgX1dLRWxlbWVudEFjdGlvblR5cGUgdWlBY3Rpb25JZGVudGlmaWVyVG9FbGVtZW50
QWN0aW9uVHlwZShVSUFjdGlvbklkZW50aQogICAgICAgICByZXR1cm4gX1dLRWxlbWVudEFjdGlv
blR5cGVPcGVuSW5OZXdXaW5kb3c7CiAgICAgaWYgKFtpZGVudGlmaWVyIGlzRXF1YWxUb1N0cmlu
ZzpXS0VsZW1lbnRBY3Rpb25UeXBlRG93bmxvYWRJZGVudGlmaWVyXSkKICAgICAgICAgcmV0dXJu
IF9XS0VsZW1lbnRBY3Rpb25UeXBlRG93bmxvYWQ7CisgICAgaWYgKFtpZGVudGlmaWVyIGlzRXF1
YWxUb1N0cmluZzpXS0VsZW1lbnRBY3Rpb25UeXBlVG9nZ2xlU2hvd0xpbmtQcmV2aWV3c0lkZW50
aWZpZXJdKQorICAgICAgICByZXR1cm4gX1dLRWxlbWVudEFjdGlvblRvZ2dsZVNob3dMaW5rUHJl
dmlld3M7CiAKICAgICByZXR1cm4gX1dLRWxlbWVudEFjdGlvblR5cGVDdXN0b207CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFu
dC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50
Lm1tCmluZGV4IDkxODRiM2Y3MGZjZTk4ZDMwNjY4YjMzYjAwOWU3MDI4Njg0ZWM2MDkuLjM5MjE2
MjYxNmE0ZTc3YjA2MmNmNGNhZWE5OTIwZmZlOGE5ZTRlNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50Lm1tCkBAIC01NTgs
NiArNTU4LDggQEAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECiAgICAgICAgIFtk
ZWZhdWx0QWN0aW9ucyBhZGRPYmplY3Q6W19XS0VsZW1lbnRBY3Rpb24gX2VsZW1lbnRBY3Rpb25X
aXRoVHlwZTpfV0tFbGVtZW50QWN0aW9uVHlwZVNoYXJlIGFzc2lzdGFudDpzZWxmXV07CiAgICAg
fQogCisgICAgW2RlZmF1bHRBY3Rpb25zIGFkZE9iamVjdDpbX1dLRWxlbWVudEFjdGlvbiBfZWxl
bWVudEFjdGlvbldpdGhUeXBlOl9XS0VsZW1lbnRBY3Rpb25Ub2dnbGVTaG93TGlua1ByZXZpZXdz
IGFzc2lzdGFudDpzZWxmXV07CisKICAgICByZXR1cm4gZGVmYXVsdEFjdGlvbnM7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLm1tCmluZGV4IDM1OWJkNmVkMmRkYzU5NTEzNTk3ZWVlZDU3ZWM4YmZkOGU4ZGMyM2Yu
LjllOTU2Yzk3MGUzM2QxNzQxMzY1MmJkMDZhMDUyMmFhNWE5YWI1YTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5t
bQpAQCAtMTU4LDcgKzE1OCw2IEBAIFNPRlRfTElOS19DT05TVEFOVChNYW5hZ2VkQ29uZmlndXJh
dGlvbiwgTUNGZWF0dXJlRGVmaW5pdGlvbkxvb2t1cEFsbG93ZWQsIE5TU3RyCiAKICNpZiBIQVZF
KExJTktfUFJFVklFVykgJiYgVVNFKFVJQ09OVEVYVE1FTlUpCiBzdGF0aWMgTlNTdHJpbmcgKiBj
b25zdCB3ZWJraXRTaG93TGlua1ByZXZpZXdzUHJlZmVyZW5jZUtleSA9IEAiV2ViS2l0U2hvd0xp
bmtQcmV2aWV3cyI7Ci1zdGF0aWMgTlNTdHJpbmcgKiBjb25zdCB3ZWJraXRTaG93TGlua1ByZXZp
ZXdzUHJlZmVyZW5jZUNoYW5nZWROb3RpZmljYXRpb24gPSBAIldlYktpdFNob3dMaW5rUHJldmll
d3NQcmVmZXJlbmNlQ2hhbmdlZCI7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKFdBVENIT1MpCkBA
IC03NTUxLDExICs3NTUwLDYgQEAgc3RhdGljIE5TU3RyaW5nICpwcmV2aWV3SWRlbnRpZmllckZv
ckVsZW1lbnRBY3Rpb24oX1dLRWxlbWVudEFjdGlvbiAqYWN0aW9uKQogICAgICAgICAgICAgW3By
ZXZpZXdDbGlja0ludGVyYWN0aW9uIHNldERyaXZlcjpkcml2ZXJdOwogICAgICAgICAgICAgW2Ry
aXZlciBzZXREZWxlZ2F0ZTooaWQ8X1VJQ2xpY2tJbnRlcmFjdGlvbkRyaXZlckRlbGVnYXRlPilw
cmV2aWV3Q2xpY2tJbnRlcmFjdGlvbl07CiAgICAgICAgIH0KLQotICAgICAgICBbc2VsZiBfc2hv
d0xpbmtQcmV2aWV3c1ByZWZlcmVuY2VDaGFuZ2VkOm5pbF07Ci0KLSAgICAgICAgW1tOU05vdGlm
aWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBz
ZWxlY3Rvcihfc2hvd0xpbmtQcmV2aWV3c1ByZWZlcmVuY2VDaGFuZ2VkOikgbmFtZTp3ZWJraXRT
aG93TGlua1ByZXZpZXdzUHJlZmVyZW5jZUNoYW5nZWROb3RpZmljYXRpb24gb2JqZWN0Om5pbF07
Ci0KICAgICAgICAgcmV0dXJuOwogICAgIH0KICNlbmRpZgpAQCAtNzU3Niw4ICs3NTcwLDYgQEAg
c3RhdGljIE5TU3RyaW5nICpwcmV2aWV3SWRlbnRpZmllckZvckVsZW1lbnRBY3Rpb24oX1dLRWxl
bWVudEFjdGlvbiAqYWN0aW9uKQogCiAgICAgICAgIFtzZWxmIHJlbW92ZUludGVyYWN0aW9uOl9j
b250ZXh0TWVudUludGVyYWN0aW9uLmdldCgpXTsKICAgICAgICAgX2NvbnRleHRNZW51SW50ZXJh
Y3Rpb24gPSBuaWw7Ci0KLSAgICAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2Vu
dGVyXSByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6d2Via2l0U2hvd0xpbmtQcmV2aWV3c1ByZWZl
cmVuY2VDaGFuZ2VkTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwogICAgICAgICByZXR1cm47CiAg
ICAgfQogI2VuZGlmCkBAIC03NTkwLDE2ICs3NTgyLDYgQEAgc3RhdGljIE5TU3RyaW5nICpwcmV2
aWV3SWRlbnRpZmllckZvckVsZW1lbnRBY3Rpb24oX1dLRWxlbWVudEFjdGlvbiAqYWN0aW9uKQog
CiAjaWYgVVNFKFVJQ09OVEVYVE1FTlUpCiAKLS0gKHZvaWQpX3Nob3dMaW5rUHJldmlld3NQcmVm
ZXJlbmNlQ2hhbmdlZDooTlNOb3RpZmljYXRpb24gKilub3RpZmljYXRpb24KLXsKLSAgICBCb29s
ZWFuIGtleUV4aXN0c0FuZEhhc1ZhbGlkRm9ybWF0ID0gZmFsc2U7Ci0gICAgQm9vbGVhbiBwcmVm
VmFsdWUgPSBDRlByZWZlcmVuY2VzR2V0QXBwQm9vbGVhblZhbHVlKChfX2JyaWRnZSBDRlN0cmlu
Z1JlZil3ZWJraXRTaG93TGlua1ByZXZpZXdzUHJlZmVyZW5jZUtleSwga0NGUHJlZmVyZW5jZXND
dXJyZW50QXBwbGljYXRpb24sICZrZXlFeGlzdHNBbmRIYXNWYWxpZEZvcm1hdCk7Ci0gICAgaWYg
KGtleUV4aXN0c0FuZEhhc1ZhbGlkRm9ybWF0KQotICAgICAgICBfc2hvd0xpbmtQcmV2aWV3cyA9
IHByZWZWYWx1ZTsKLSAgICBlbHNlCi0gICAgICAgIF9zaG93TGlua1ByZXZpZXdzID0gWUVTOwot
fQotCiBzdGF0aWMgYm9vbCBuZWVkc0RlcHJlY2F0ZWRQcmV2aWV3QVBJKGlkPFdLVUlEZWxlZ2F0
ZT4gZGVsZWdhdGUpCiB7CiAgICAgLy8gRklYTUU6IFJlcGxhY2UgdGhlc2Ugd2l0aCBib29sZWFu
cyBpbiBVSURlbGVnYXRlLmguCkBAIC03Njc4LDcgKzc2NjAsNyBAQCBzdGF0aWMgTlNBcnJheTxV
SU1lbnVFbGVtZW50ICo+ICptZW51RWxlbWVudHNGcm9tRGVmYXVsdEFjdGlvbnMoY29uc3QgUmV0
YWluUHRyPAogICAgIHJldHVybiBhY3Rpb25zOwogfQogCi1zdGF0aWMgVUlNZW51ICptZW51RnJv
bUxlZ2FjeVByZXZpZXdPckRlZmF1bHRBY3Rpb25zKFVJVmlld0NvbnRyb2xsZXIgKnByZXZpZXdW
aWV3Q29udHJvbGxlciwgY29uc3QgUmV0YWluUHRyPE5TQXJyYXk+JiBkZWZhdWx0RWxlbWVudEFj
dGlvbnMsIFJldGFpblB0cjxfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbz4gZWxlbWVudEluZm8sIE5T
U3RyaW5nICp0aXRsZSkKK3N0YXRpYyBVSU1lbnUgKm1lbnVGcm9tTGVnYWN5UHJldmlld09yRGVm
YXVsdEFjdGlvbnMoVUlWaWV3Q29udHJvbGxlciAqcHJldmlld1ZpZXdDb250cm9sbGVyLCBjb25z
dCBSZXRhaW5QdHI8TlNBcnJheT4mIGRlZmF1bHRFbGVtZW50QWN0aW9ucywgUmV0YWluUHRyPF9X
S0FjdGl2YXRlZEVsZW1lbnRJbmZvPiBlbGVtZW50SW5mbywgTlNTdHJpbmcgKnRpdGxlID0gbmls
KQogewogICAgIGF1dG8gYWN0aW9ucyA9IG1lbnVFbGVtZW50c0Zyb21MZWdhY3lQcmV2aWV3KHBy
ZXZpZXdWaWV3Q29udHJvbGxlcik7CiAgICAgaWYgKCFhY3Rpb25zKQpAQCAtNzY4NywxOCArNzY2
OSwzMCBAQCBzdGF0aWMgVUlNZW51ICptZW51RnJvbUxlZ2FjeVByZXZpZXdPckRlZmF1bHRBY3Rp
b25zKFVJVmlld0NvbnRyb2xsZXIgKnByZXZpZXdWaQogICAgIHJldHVybiBbVUlNZW51IG1lbnVX
aXRoVGl0bGU6dGl0bGUgY2hpbGRyZW46YWN0aW9uc107CiB9CiAKLXN0YXRpYyBOU1N0cmluZyAq
dGl0bGVGb3JNZW51KGJvb2wgaXNMaW5rLCBib29sIHNob3dMaW5rUHJldmlld3MsIGNvbnN0IFVS
TCYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlKQorc3RhdGljIFVJTWVudSAqbWVudVdpdGhTaG93
TGlua1ByZXZpZXdBY3Rpb24oVUlNZW51ICpvcmlnaW5hbE1lbnUpCiB7Ci0gICAgaWYgKGlzTGlu
ayAmJiAhc2hvd0xpbmtQcmV2aWV3cykgewotICAgICAgICBpZiAoIXVybC5pc0VtcHR5KCkpIHsK
LSAgICAgICAgICAgIGlmIChXVEY6OnByb3RvY29sSXNKYXZhU2NyaXB0KHVybCkpCi0gICAgICAg
ICAgICAgICAgcmV0dXJuIFdFQl9VSV9TVFJJTkdfS0VZKCJKYXZhU2NyaXB0IiwgIkphdmFTY3Jp
cHQgQWN0aW9uIFNoZWV0IFRpdGxlIiwgIlRpdGxlIGZvciBhY3Rpb24gc2hlZXQgZm9yIEphdmFT
Y3JpcHQgbGluayIpOwotICAgICAgICAgICAgcmV0dXJuIFdURjo6dXNlclZpc2libGVTdHJpbmco
dXJsKTsKKyAgICBpZiAoIW9yaWdpbmFsTWVudSkKKyAgICAgICAgcmV0dXJuIG5pbDsKKworICAg
IC8vIExvb2sgZm9yIGEgVUlBY3Rpb24gdGhhdCBoYXMgdGhlIFdLRWxlbWVudEFjdGlvblR5cGVU
b2dnbGVTaG93TGlua1ByZXZpZXdzSWRlbnRpZmllci4KKyAgICBOU1VJbnRlZ2VyIHJlc3VsdCA9
IFtvcmlnaW5hbE1lbnUuY2hpbGRyZW4gaW5kZXhPZk9iamVjdFBhc3NpbmdUZXN0Ol5CT09MKFVJ
TWVudUVsZW1lbnQgKmVsZW1lbnQsIE5TVUludGVnZXIgaW5kZXgsIEJPT0wgKnN0b3ApIHsKKyAg
ICAgICAgaWYgKCFbZWxlbWVudCBpc0tpbmRPZkNsYXNzOltVSUFjdGlvbiBjbGFzc11dKQorICAg
ICAgICAgICAgcmV0dXJuIE5POworICAgICAgICBpZiAoWyhVSUFjdGlvbiAqKWVsZW1lbnQgaWRl
bnRpZmllcl0gPT0gV0tFbGVtZW50QWN0aW9uVHlwZVRvZ2dsZVNob3dMaW5rUHJldmlld3NJZGVu
dGlmaWVyKSB7CisgICAgICAgICAgICAqc3RvcCA9IFlFUzsKKyAgICAgICAgICAgIHJldHVybiBZ
RVM7CiAgICAgICAgIH0KLSAgICB9IGVsc2UgaWYgKCFpc0xpbmsgJiYgIXRpdGxlLmlzRW1wdHko
KSkKLSAgICAgICAgcmV0dXJuIHRpdGxlOworICAgICAgICByZXR1cm4gTk87CisgICAgfV07Cisg
ICAgaWYgKHJlc3VsdCAhPSBOU05vdEZvdW5kKQorICAgICAgICByZXR1cm4gb3JpZ2luYWxNZW51
OwogCi0gICAgcmV0dXJuIG5pbDsKKyAgICAvLyBXZSBkaWRuJ3QgZmluZCBvbmUsIHNvIG1ha2Ug
YSBuZXcgVUlNZW51IHdpdGggdGhlIHRvZ2dsZSBhY3Rpb24uCisgICAgTlNNdXRhYmxlQXJyYXk8
VUlNZW51RWxlbWVudCAqPiAqbWVudUVsZW1lbnRzID0gW05TTXV0YWJsZUFycmF5IGFycmF5V2l0
aENhcGFjaXR5OihvcmlnaW5hbE1lbnUuY2hpbGRyZW4uY291bnQgKyAxKV07CisgICAgW21lbnVF
bGVtZW50cyBhZGRPYmplY3RzRnJvbUFycmF5Om9yaWdpbmFsTWVudS5jaGlsZHJlbl07CisgICAg
X1dLRWxlbWVudEFjdGlvbiAqdG9nZ2xlQWN0aW9uID0gW19XS0VsZW1lbnRBY3Rpb24gZWxlbWVu
dEFjdGlvbldpdGhUeXBlOl9XS0VsZW1lbnRBY3Rpb25Ub2dnbGVTaG93TGlua1ByZXZpZXdzXTsK
KyAgICBbbWVudUVsZW1lbnRzIGFkZE9iamVjdDpbdG9nZ2xlQWN0aW9uIHVpQWN0aW9uRm9yRWxl
bWVudEluZm86bmlsXV07CisgICAgcmV0dXJuIFtvcmlnaW5hbE1lbnUgbWVudUJ5UmVwbGFjaW5n
Q2hpbGRyZW46bWVudUVsZW1lbnRzXTsKIH0KIAogLSAodm9pZClhc3NpZ25MZWdhY3lEYXRhRm9y
Q29udGV4dE1lbnVJbnRlcmFjdGlvbgpAQCAtNzc1MiwxNSArNzc0NiwxNCBAQCBzdGF0aWMgTlNT
dHJpbmcgKnRpdGxlRm9yTWVudShib29sIGlzTGluaywgYm9vbCBzaG93TGlua1ByZXZpZXdzLCBj
b25zdCBVUkwmIHVybAogICAgICAgICAgICAgICAgICAgICBfY29udGV4dE1lbnVMZWdhY3lQcmV2
aWV3Q29udHJvbGxlciA9IGRhdGFEZXRlY3RvcnNSZXN1bHQuZ2V0KCkucHJldmlld1Byb3ZpZGVy
KCk7CiAgICAgICAgICAgICAgICAgaWYgKGRhdGFEZXRlY3RvcnNSZXN1bHQgJiYgZGF0YURldGVj
dG9yc1Jlc3VsdC5nZXQoKS5hY3Rpb25Qcm92aWRlcikgewogICAgICAgICAgICAgICAgICAgICBh
dXRvIG1lbnVFbGVtZW50cyA9IG1lbnVFbGVtZW50c0Zyb21EZWZhdWx0QWN0aW9ucyhkZWZhdWx0
QWN0aW9uc0Zyb21Bc3Npc3RhbnQsIGVsZW1lbnRJbmZvKTsKLSAgICAgICAgICAgICAgICAgICAg
X2NvbnRleHRNZW51TGVnYWN5TWVudSA9IGRhdGFEZXRlY3RvcnNSZXN1bHQuZ2V0KCkuYWN0aW9u
UHJvdmlkZXIobWVudUVsZW1lbnRzKTsKKyAgICAgICAgICAgICAgICAgICAgX2NvbnRleHRNZW51
TGVnYWN5TWVudSA9IG1lbnVXaXRoU2hvd0xpbmtQcmV2aWV3QWN0aW9uKGRhdGFEZXRlY3RvcnNS
ZXN1bHQuZ2V0KCkuYWN0aW9uUHJvdmlkZXIobWVudUVsZW1lbnRzKSk7CiAgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElPTlM7CiAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBhdXRvIG1l
bnVUaXRsZSA9IHRpdGxlRm9yTWVudSh0cnVlLCBfc2hvd0xpbmtQcmV2aWV3cywgdXJsLCBfcG9z
aXRpb25JbmZvcm1hdGlvbi50aXRsZSk7Ci0gICAgICAgIF9jb250ZXh0TWVudUxlZ2FjeU1lbnUg
PSBtZW51RnJvbUxlZ2FjeVByZXZpZXdPckRlZmF1bHRBY3Rpb25zKHByZXZpZXdWaWV3Q29udHJv
bGxlciwgZGVmYXVsdEFjdGlvbnNGcm9tQXNzaXN0YW50LCBlbGVtZW50SW5mbywgbWVudVRpdGxl
KTsKKyAgICAgICAgX2NvbnRleHRNZW51TGVnYWN5TWVudSA9IG1lbnVGcm9tTGVnYWN5UHJldmll
d09yRGVmYXVsdEFjdGlvbnMocHJldmlld1ZpZXdDb250cm9sbGVyLCBkZWZhdWx0QWN0aW9uc0Zy
b21Bc3Npc3RhbnQsIGVsZW1lbnRJbmZvKTsKIAogICAgIH0gZWxzZSBpZiAoX3Bvc2l0aW9uSW5m
b3JtYXRpb24uaXNJbWFnZSkgewogICAgICAgICBOU1VSTCAqbnNVUkwgPSAoTlNVUkwgKil1cmw7
CkBAIC03Nzg3LDggKzc3ODAsNyBAQCBzdGF0aWMgTlNTdHJpbmcgKnRpdGxlRm9yTWVudShib29s
IGlzTGluaywgYm9vbCBzaG93TGlua1ByZXZpZXdzLCBjb25zdCBVUkwmIHVybAogICAgICAgICAg
ICAgcHJldmlld1ZpZXdDb250cm9sbGVyID0gW1tXS0ltYWdlUHJldmlld1ZpZXdDb250cm9sbGVy
IGFsbG9jXSBpbml0V2l0aENHSW1hZ2U6Y2dJbWFnZSBkZWZhdWx0QWN0aW9uczpkZWZhdWx0QWN0
aW9uc0Zyb21Bc3Npc3RhbnQuZ2V0KCkgZWxlbWVudEluZm86ZWxlbWVudEluZm8uZ2V0KCldOwog
ICAgICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKIAotICAgICAgICBhdXRv
IG1lbnVUaXRsZSA9IHRpdGxlRm9yTWVudShmYWxzZSwgX3Nob3dMaW5rUHJldmlld3MsIHVybCwg
X3Bvc2l0aW9uSW5mb3JtYXRpb24udGl0bGUpOwotICAgICAgICBfY29udGV4dE1lbnVMZWdhY3lN
ZW51ID0gbWVudUZyb21MZWdhY3lQcmV2aWV3T3JEZWZhdWx0QWN0aW9ucyhwcmV2aWV3Vmlld0Nv
bnRyb2xsZXIsIGRlZmF1bHRBY3Rpb25zRnJvbUFzc2lzdGFudCwgZWxlbWVudEluZm8sIG1lbnVU
aXRsZSk7CisgICAgICAgIF9jb250ZXh0TWVudUxlZ2FjeU1lbnUgPSBtZW51RnJvbUxlZ2FjeVBy
ZXZpZXdPckRlZmF1bHRBY3Rpb25zKHByZXZpZXdWaWV3Q29udHJvbGxlciwgZGVmYXVsdEFjdGlv
bnNGcm9tQXNzaXN0YW50LCBlbGVtZW50SW5mbywgX3Bvc2l0aW9uSW5mb3JtYXRpb24udGl0bGUp
OwogICAgIH0KIAogICAgIF9jb250ZXh0TWVudUxlZ2FjeVByZXZpZXdDb250cm9sbGVyID0gX3No
b3dMaW5rUHJldmlld3MgPyBwcmV2aWV3Vmlld0NvbnRyb2xsZXIgOiBudWxscHRyOwpAQCAtNzgw
OSw2ICs3ODAxLDEwIEBAIHN0YXRpYyBOU1N0cmluZyAqdGl0bGVGb3JNZW51KGJvb2wgaXNMaW5r
LCBib29sIHNob3dMaW5rUHJldmlld3MsIGNvbnN0IFVSTCYgdXJsCiAgICAgaWYgKCFfd2ViVmll
dy5jb25maWd1cmF0aW9uLl9sb25nUHJlc3NBY3Rpb25zRW5hYmxlZCkKICAgICAgICAgcmV0dXJu
IGNvbXBsZXRpb24obmlsKTsKIAorICAgIF9zaG93TGlua1ByZXZpZXdzID0gdHJ1ZTsKKyAgICBp
ZiAoTlNOdW1iZXIgKnZhbHVlID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0
c10gb2JqZWN0Rm9yS2V5OndlYmtpdFNob3dMaW5rUHJldmlld3NQcmVmZXJlbmNlS2V5XSkKKyAg
ICAgICAgX3Nob3dMaW5rUHJldmlld3MgPSB2YWx1ZS5ib29sVmFsdWU7CisKICAgICBjb25zdCBh
dXRvIHBvc2l0aW9uID0gW2ludGVyYWN0aW9uIGxvY2F0aW9uSW5WaWV3OnNlbGZdOwogICAgIFdl
YktpdDo6SW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVlc3QgcmVxdWVzdCB7IFdlYkNvcmU6OnJv
dW5kZWRJbnRQb2ludChwb3NpdGlvbikgfTsKICAgICByZXF1ZXN0LmluY2x1ZGVTbmFwc2hvdCA9
IHRydWU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374465</attachid>
            <date>2019-07-19 07:45:40 -0700</date>
            <delta_ts>2019-07-19 08:07:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199940-20190720004538.patch</filename>
            <type>text/plain</type>
            <size>18544</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3NjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTA4YzMyNjFiYTE4Mzgy
YzJlNzY5YjhkYmM3OWExMWRhYzg3Yzk2Ny4uMDI5MDJkNGY2NjRlMzAxMTU2YmJlNzY3NDU4YWIy
MWFiMTQwMzA2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTA3LTE5ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYSBtZW51IGl0ZW0gdG8g
dG9nZ2xlIGJldHdlZW4gc2hvd2luZyBhbmQgaGlkaW5nIGxpbmsgcHJldmlld3MKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTk0MAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNTMwMzIyODg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTmV3IHN0cmluZ3MgZm9yIFNob3cvSGlkZSBMaW5rIFByZXZpZXdz
LgorCisgICAgICAgICogZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5nczoKKwogMjAxOS0wNy0x
OCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAgIEVuc3VyZSBR
dWlya3M6OnNob3VsZERpc3BhdGNoU2ltdWxhdGVkTW91c2VFdmVudHMoKSB3b3JrcyBmb3IgYWxs
IEdvb2dsZSBNYXBzIGFuZCBBbWF6b24gZG9tYWlucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAzMTRmNmRjMzIyYTQ1
OGZkMGY2N2NkYjI2YzFmZmFhMmEzZDY2NDA5Li45ZTI4N2FhNDU4ZGJjYzA5YzIxYzJkNjM2N2E5
ODAyZDNkZTQ5MWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDE5LTA3LTE5ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYSBtZW51IGl0ZW0gdG8g
dG9nZ2xlIGJldHdlZW4gc2hvd2luZyBhbmQgaGlkaW5nIGxpbmsgcHJldmlld3MKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTk0MAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNTMwMzIyODg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IF9XS0VsZW1lbnRBY3Rpb24gdGhhdCB0b2dnbGVz
IHRoZSBkaXNwbGF5IG9mIGxpbmsgcHJldmlld3MKKyAgICAgICAgaW4gY29udGV4dCBtZW51cywg
YW5kIGFkZCBpdCB0byB0aGUgZGVmYXVsdCBzZXQgb2YgYWN0aW9ucyB3ZSBwcm92aWRlCisgICAg
ICAgIGZvciBsaW5rcy4KKworICAgICAgICBXaGVuIGEgVUlBY3Rpb24gaXMgY3JlYXRlZCBmcm9t
IHRoaXMgbmV3IF9XS0VsZW1lbnRBY3Rpb24gdHlwZSwKKyAgICAgICAgaXQgY2FuIGJlIGlkZW50
aWZpZWQgYnkgV0tFbGVtZW50QWN0aW9uVHlwZVRvZ2dsZVNob3dMaW5rUHJldmlld3NJZGVudGlm
aWVyLgorICAgICAgICBUaGlzIGFsbG93cyB1cyB0byBjaGVjayBhIFVJTWVudSBwcm92aWRlZCBi
eSBhIGRlbGVnYXRlIHRvIG1ha2Ugc3VyZQorICAgICAgICB0aGF0IHRoZXkgaGF2ZSBwcm92aWRl
ZCB0aGUgdG9nZ2xlIG1lbnUgaXRlbS4gSWYgdGhleSBoYXZlbid0LCB3ZSBhZGQgaXQKKyAgICAg
ICAgYmFjay4KKworICAgICAgICBUaGUgcHJlZmVyZW5jZSBmb3Igc2hvd2luZyBsaW5rcyBpcyBt
b3ZlZCBmcm9tIGtDRlByZWZlcmVuY2VzQW55QXBwbGljYXRpb24KKyAgICAgICAgdG8gc3RhbmRh
cmQgdXNlciBkZWZhdWx0cywgc28gdGhhdCBpdCBjYW4gYmUgc2V0IG5vIG1hdHRlciB3aGF0IHRo
ZQorICAgICAgICBob3N0aW5nIGFwcGxpY2F0aW9uIGlzLgorCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tFbGVtZW50QWN0aW9uLmg6IE5ldyBhY3Rpb24gdHlwZS4KKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0VsZW1lbnRBY3Rpb24ubW06IAorICAgICAgICAoK1tf
V0tFbGVtZW50QWN0aW9uIF9lbGVtZW50QWN0aW9uV2l0aFR5cGU6Y3VzdG9tVGl0bGU6YXNzaXN0
YW50Ol0pOgorICAgICAgICAoK1tfV0tFbGVtZW50QWN0aW9uIGltYWdlRm9yRWxlbWVudEFjdGlv
blR5cGU6XSk6IFVzZSBleWUuZmlsbCBmb3Igbm93LgorICAgICAgICBJJ2xsIG5lZWQgdG8gY2hl
Y2sgd2l0aCBISSB0byBzZWUgaWYgdGhlcmUgaXMgYSBtb3JlIGFwcHJvcHJpYXRlIGdseXBoLgor
ICAgICAgICAoZWxlbWVudEFjdGlvblR5cGVUb1VJQWN0aW9uSWRlbnRpZmllcik6CisgICAgICAg
ICh1aUFjdGlvbklkZW50aWZpZXJUb0VsZW1lbnRBY3Rpb25UeXBlKToKKworICAgICAgICAqIFVJ
UHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5tbTogQWRkIHRoZSB0b2dnbGUgYWN0
aW9uIHRvCisgICAgICAgIHRoZSBkZWZhdWx0IHNldC4KKyAgICAgICAgKC1bV0tBY3Rpb25TaGVl
dEFzc2lzdGFudCBkZWZhdWx0QWN0aW9uc0ZvckxpbmtTaGVldDpdKToKKworICAgICAgICAqIFVJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAgICAoLVtXS0Nv
bnRlbnRWaWV3IF9yZWdpc3RlclByZXZpZXddKTogTm8gbmVlZCB0byBsaXN0ZW4gZm9yIENGUHJl
ZmVyZW5jZXMKKyAgICAgICAgbm90aWZpY2F0aW9ucyBhbnkgbW9yZS4KKyAgICAgICAgKC1bV0tD
b250ZW50VmlldyBfdW5yZWdpc3RlclByZXZpZXddKToKKyAgICAgICAgKG1lbnVXaXRoU2hvd0xp
bmtQcmV2aWV3QWN0aW9uKTogTmV3IG1ldGhvZCB0aGF0IGFkZHMgdGhlIFVJQWN0aW9uCisgICAg
ICAgIGZvciB0b2dnbGluZyBwcmV2aWV3cyB0byBhIFVJTWVudSBpZiBuZWNlc3NhcnkuCisgICAg
ICAgICgtW1dLQ29udGVudFZpZXcgYXNzaWduTGVnYWN5RGF0YUZvckNvbnRleHRNZW51SW50ZXJh
Y3Rpb25dKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfY29udGV4dE1lbnVJbnRlcmFjdGlv
bjpjb25maWd1cmF0aW9uRm9yTWVudUF0TG9jYXRpb246Y29tcGxldGlvbjpdKToKKyAgICAgICAg
KC1bV0tDb250ZW50VmlldyBfc2hvd0xpbmtQcmV2aWV3c1ByZWZlcmVuY2VDaGFuZ2VkOl0pOiBE
ZWxldGVkLgorICAgICAgICAodGl0bGVGb3JNZW51KTogRGVsZXRlZC4gVVJMIHRleHQgcHJldmll
d3Mgd2lsbCBiZSBwcm92aWRlZCBzZXBhcmF0ZWx5LgorCiAyMDE5LTA3LTE4ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTW92ZSBOZXR3b3Jr
Q2FjaGUgb3duZXJzaGlwIGZyb20gTmV0d29ya1Byb2Nlc3MgdG8gTmV0d29ya1Nlc3Npb24KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VuLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MgYi9T
b3VyY2UvV2ViQ29yZS9lbi5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCmluZGV4IDhjOWU5ZDYx
NDIyODRmYjYxZjM1NzBkYjljNzU4ZTdlYTNhMjI1YWMuLmU1N2E3NzlmMWZjNzgyZGQ5OGU0NDJk
N2VjMjQ3MmYzMTUxYWQ0MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VuLmxwcm9qL0xv
Y2FsaXphYmxlLnN0cmluZ3MKKysrIGIvU291cmNlL1dlYkNvcmUvZW4ubHByb2ovTG9jYWxpemFi
bGUuc3RyaW5ncwpAQCAtMzczLDYgKzM3Myw5IEBACiAvKiBIaWRlIE1lZGlhIENvbnRyb2xzIGNv
bnRleHQgbWVudSBpdGVtICovCiAiSGlkZSBDb250cm9scyIgPSAiSGlkZSBDb250cm9scyI7CiAK
Ky8qIFRpdGxlIGZvciBIaWRlIExpbmsgUHJldmlld3MgYWN0aW9uIGJ1dHRvbiAqLworIkhpZGUg
TGluayBQcmV2aWV3cyIgPSAiSGlkZSBMaW5rIFByZXZpZXdzIjsKKwogLyogbWVudSBpdGVtIHRp
dGxlICovCiAiSGlkZSBTcGVsbGluZyBhbmQgR3JhbW1hciIgPSAiSGlkZSBTcGVsbGluZyBhbmQg
R3JhbW1hciI7CiAKQEAgLTY5Nyw2ICs3MDAsOSBAQAogLyogU2hvdyBmb250cyBjb250ZXh0IG1l
bnUgaXRlbSAqLwogIlNob3cgRm9udHMiID0gIlNob3cgRm9udHMiOwogCisvKiBUaXRsZSBmb3Ig
U2hvdyBMaW5rIFByZXZpZXdzIGFjdGlvbiBidXR0b24gKi8KKyJTaG93IExpbmsgUHJldmlld3Mi
ID0gIlNob3cgTGluayBQcmV2aWV3cyI7CisKIC8qIG1lbnUgaXRlbSB0aXRsZSAqLwogIlNob3cg
U3BlbGxpbmcgYW5kIEdyYW1tYXIiID0gIlNob3cgU3BlbGxpbmcgYW5kIEdyYW1tYXIiOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRWxlbWVudEFj
dGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0VsZW1lbnRBY3Rp
b24uaAppbmRleCA4NWVjMTM1YjNhNmZkZWIwNjg3NmNkYzIxZWU4NDkyMjAwZjdmOTBhLi44OTRl
NjUwMGNmOWQ0ZDQ0MmMxMGY0NmZkYWU5NGE2YTFiMWMzMGVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRWxlbWVudEFjdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFbGVtZW50QWN0aW9uLmgKQEAgLTM0LDYg
KzM0LDcgQEAKIEBjbGFzcyBVSUltYWdlOwogCiB0eXBlZGVmIE5TU3RyaW5nICpVSUFjdGlvbklk
ZW50aWZpZXI7CitXS19FWFBPUlQgZXh0ZXJuIFVJQWN0aW9uSWRlbnRpZmllciBjb25zdCBXS0Vs
ZW1lbnRBY3Rpb25UeXBlVG9nZ2xlU2hvd0xpbmtQcmV2aWV3c0lkZW50aWZpZXI7CiAKIHR5cGVk
ZWYgdm9pZCAoXldLRWxlbWVudEFjdGlvbkhhbmRsZXIpKF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZv
ICopOwogdHlwZWRlZiBCT09MICheV0tFbGVtZW50QWN0aW9uRGlzbWlzc2FsSGFuZGxlcikodm9p
ZCk7CkBAIC01Miw2ICs1Myw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS0VsZW1l
bnRBY3Rpb25UeXBlKSB7CiAgICAgX1dLRWxlbWVudEFjdGlvblR5cGVPcGVuSW5OZXdUYWIgV0tf
QVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKSwKICAgICBf
V0tFbGVtZW50QWN0aW9uVHlwZU9wZW5Jbk5ld1dpbmRvdyBXS19BUElfQVZBSUxBQkxFKG1hY29z
KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpLAogICAgIF9XS0VsZW1lbnRBY3Rpb25UeXBl
RG93bmxvYWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19U
QkEpKSwKKyAgICBfV0tFbGVtZW50QWN0aW9uVG9nZ2xlU2hvd0xpbmtQcmV2aWV3cyBXS19BUElf
QVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpLAogfSBXS19BUElf
QVZBSUxBQkxFKG1hY29zKDEwLjEwKSwgaW9zKDguMCkpOwogCiBXS19DTEFTU19BVkFJTEFCTEUo
bWFjb3MoMTAuMTApLCBpb3MoOC4wKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9fV0tFbGVtZW50QWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL19XS0VsZW1lbnRBY3Rpb24ubW0KaW5kZXggNmFhOGE2MThmZWRlYjhhYjE4
ZTFiNTQzMWZhZmI0ZTJiODI4OGM0MS4uZTAzZjI4NGM4ZjBiZWQ4NjY2ZmIzYTQyN2I1NTdlZmY4
Mjk1YzEwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S0VsZW1lbnRBY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS0VsZW1lbnRBY3Rpb24ubW0KQEAgLTYwLDYgKzYwLDEwIEBAIHN0YXRpYyBVSUFjdGlvbklk
ZW50aWZpZXIgY29uc3QgV0tFbGVtZW50QWN0aW9uVHlwZVNoYXJlSWRlbnRpZmllciA9IEAiV0tF
bGVtZW50CiBzdGF0aWMgVUlBY3Rpb25JZGVudGlmaWVyIGNvbnN0IFdLRWxlbWVudEFjdGlvblR5
cGVPcGVuSW5OZXdUYWJJZGVudGlmaWVyID0gQCJXS0VsZW1lbnRBY3Rpb25UeXBlT3BlbkluTmV3
VGFiIjsKIHN0YXRpYyBVSUFjdGlvbklkZW50aWZpZXIgY29uc3QgV0tFbGVtZW50QWN0aW9uVHlw
ZU9wZW5Jbk5ld1dpbmRvd0lkZW50aWZpZXIgPSBAIldLRWxlbWVudEFjdGlvblR5cGVPcGVuSW5O
ZXdXaW5kb3ciOwogc3RhdGljIFVJQWN0aW9uSWRlbnRpZmllciBjb25zdCBXS0VsZW1lbnRBY3Rp
b25UeXBlRG93bmxvYWRJZGVudGlmaWVyID0gQCJXS0VsZW1lbnRBY3Rpb25UeXBlRG93bmxvYWQi
OworVUlBY3Rpb25JZGVudGlmaWVyIGNvbnN0IFdLRWxlbWVudEFjdGlvblR5cGVUb2dnbGVTaG93
TGlua1ByZXZpZXdzSWRlbnRpZmllciA9IEAiV0tFbGVtZW50QWN0aW9uVHlwZVRvZ2dsZVNob3dM
aW5rUHJldmlld3MiOworCitzdGF0aWMgTlNTdHJpbmcgKiBjb25zdCB3ZWJraXRTaG93TGlua1By
ZXZpZXdzUHJlZmVyZW5jZUtleSA9IEAiV2ViS2l0U2hvd0xpbmtQcmV2aWV3cyI7CitzdGF0aWMg
TlNTdHJpbmcgKiBjb25zdCB3ZWJraXRTaG93TGlua1ByZXZpZXdzUHJlZmVyZW5jZUNoYW5nZWRO
b3RpZmljYXRpb24gPSBAIldlYktpdFNob3dMaW5rUHJldmlld3NQcmVmZXJlbmNlQ2hhbmdlZCI7
CiAKIEBpbXBsZW1lbnRhdGlvbiBfV0tFbGVtZW50QWN0aW9uICB7CiAgICAgUmV0YWluUHRyPE5T
U3RyaW5nPiBfdGl0bGU7CkBAIC0xNjAsNiArMTY0LDE3IEBAIHN0YXRpYyB2b2lkIGFkZFRvUmVh
ZGluZ0xpc3QoTlNVUkwgKnRhcmdldFVSTCwgTlNTdHJpbmcgKnRpdGxlKQogICAgICAgICAgICAg
W2Fzc2lzdGFudC5kZWxlZ2F0ZSBhY3Rpb25TaGVldEFzc2lzdGFudDphc3Npc3RhbnQgc2hhcmVF
bGVtZW50V2l0aFVSTDphY3Rpb25JbmZvLlVSTCA/OiBhY3Rpb25JbmZvLmltYWdlVVJMIHJlY3Q6
YWN0aW9uSW5mby5ib3VuZGluZ1JlY3RdOwogICAgICAgICB9OwogICAgICAgICBicmVhazsKKyAg
ICBjYXNlIF9XS0VsZW1lbnRBY3Rpb25Ub2dnbGVTaG93TGlua1ByZXZpZXdzOiB7CisgICAgICAg
IGJvb2wgc2hvd2luZ0xpbmtQcmV2aWV3cyA9IHRydWU7CisgICAgICAgIGlmIChOU051bWJlciAq
dmFsdWUgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBvYmplY3RGb3JL
ZXk6d2Via2l0U2hvd0xpbmtQcmV2aWV3c1ByZWZlcmVuY2VLZXldKQorICAgICAgICAgICAgc2hv
d2luZ0xpbmtQcmV2aWV3cyA9IHZhbHVlLmJvb2xWYWx1ZTsKKworICAgICAgICB0aXRsZSA9IHNo
b3dpbmdMaW5rUHJldmlld3MgPyBXRUJfVUlfU1RSSU5HKCJIaWRlIExpbmsgUHJldmlld3MiLCAi
VGl0bGUgZm9yIEhpZGUgTGluayBQcmV2aWV3cyBhY3Rpb24gYnV0dG9uIikgOiBXRUJfVUlfU1RS
SU5HKCJTaG93IExpbmsgUHJldmlld3MiLCAiVGl0bGUgZm9yIFNob3cgTGluayBQcmV2aWV3cyBh
Y3Rpb24gYnV0dG9uIik7CisgICAgICAgIGhhbmRsZXIgPSBeKFdLQWN0aW9uU2hlZXRBc3Npc3Rh
bnQgKiwgX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKikgeworICAgICAgICAgICAgW1tOU1VzZXJE
ZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Qm9vbDohc2hvd2luZ0xpbmtQcmV2aWV3
cyBmb3JLZXk6d2Via2l0U2hvd0xpbmtQcmV2aWV3c1ByZWZlcmVuY2VLZXldOworICAgICAgICB9
OworICAgICAgICBicmVhazsKKyAgICB9CiAgICAgZGVmYXVsdDoKICAgICAgICAgW05TRXhjZXB0
aW9uIHJhaXNlOk5TSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIGZvcm1hdDpAIlRoZXJlIGlzIG5v
IHN0YW5kYXJkIHdlYiBlbGVtZW50IGFjdGlvbiBvZiB0eXBlICVsZC4iLCAobG9uZyl0eXBlXTsK
ICAgICAgICAgcmV0dXJuIG5pbDsKQEAgLTIyNCw2ICsyMzksOCBAQCBzdGF0aWMgdm9pZCBhZGRU
b1JlYWRpbmdMaXN0KE5TVVJMICp0YXJnZXRVUkwsIE5TU3RyaW5nICp0aXRsZSkKICAgICAgICAg
cmV0dXJuIFtVSUltYWdlIHN5c3RlbUltYWdlTmFtZWQ6QCJzcXVhcmUuZ3JpZC4yeDIiXTsKICAg
ICBjYXNlIF9XS0VsZW1lbnRBY3Rpb25UeXBlRG93bmxvYWQ6CiAgICAgICAgIHJldHVybiBbVUlJ
bWFnZSBzeXN0ZW1JbWFnZU5hbWVkOkAiYXJyb3cuZG93bi5jaXJjbGUiXTsKKyAgICBjYXNlIF9X
S0VsZW1lbnRBY3Rpb25Ub2dnbGVTaG93TGlua1ByZXZpZXdzOgorICAgICAgICByZXR1cm4gW1VJ
SW1hZ2Ugc3lzdGVtSW1hZ2VOYW1lZDpAImV5ZS5maWxsIl07CiAgICAgfQogfQogCkBAIC0yNTIs
NiArMjY5LDggQEAgc3RhdGljIFVJQWN0aW9uSWRlbnRpZmllciBlbGVtZW50QWN0aW9uVHlwZVRv
VUlBY3Rpb25JZGVudGlmaWVyKF9XS0VsZW1lbnRBY3Rpb24KICAgICAgICAgcmV0dXJuIFdLRWxl
bWVudEFjdGlvblR5cGVPcGVuSW5OZXdXaW5kb3dJZGVudGlmaWVyOwogICAgIGNhc2UgX1dLRWxl
bWVudEFjdGlvblR5cGVEb3dubG9hZDoKICAgICAgICAgcmV0dXJuIFdLRWxlbWVudEFjdGlvblR5
cGVEb3dubG9hZElkZW50aWZpZXI7CisgICAgY2FzZSBfV0tFbGVtZW50QWN0aW9uVG9nZ2xlU2hv
d0xpbmtQcmV2aWV3czoKKyAgICAgICAgcmV0dXJuIFdLRWxlbWVudEFjdGlvblR5cGVUb2dnbGVT
aG93TGlua1ByZXZpZXdzSWRlbnRpZmllcjsKICAgICB9CiB9CiAKQEAgLTI3OSw2ICsyOTgsOCBA
QCBzdGF0aWMgX1dLRWxlbWVudEFjdGlvblR5cGUgdWlBY3Rpb25JZGVudGlmaWVyVG9FbGVtZW50
QWN0aW9uVHlwZShVSUFjdGlvbklkZW50aQogICAgICAgICByZXR1cm4gX1dLRWxlbWVudEFjdGlv
blR5cGVPcGVuSW5OZXdXaW5kb3c7CiAgICAgaWYgKFtpZGVudGlmaWVyIGlzRXF1YWxUb1N0cmlu
ZzpXS0VsZW1lbnRBY3Rpb25UeXBlRG93bmxvYWRJZGVudGlmaWVyXSkKICAgICAgICAgcmV0dXJu
IF9XS0VsZW1lbnRBY3Rpb25UeXBlRG93bmxvYWQ7CisgICAgaWYgKFtpZGVudGlmaWVyIGlzRXF1
YWxUb1N0cmluZzpXS0VsZW1lbnRBY3Rpb25UeXBlVG9nZ2xlU2hvd0xpbmtQcmV2aWV3c0lkZW50
aWZpZXJdKQorICAgICAgICByZXR1cm4gX1dLRWxlbWVudEFjdGlvblRvZ2dsZVNob3dMaW5rUHJl
dmlld3M7CiAKICAgICByZXR1cm4gX1dLRWxlbWVudEFjdGlvblR5cGVDdXN0b207CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFu
dC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50
Lm1tCmluZGV4IDkxODRiM2Y3MGZjZTk4ZDMwNjY4YjMzYjAwOWU3MDI4Njg0ZWM2MDkuLjM5MjE2
MjYxNmE0ZTc3YjA2MmNmNGNhZWE5OTIwZmZlOGE5ZTRlNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50Lm1tCkBAIC01NTgs
NiArNTU4LDggQEAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECiAgICAgICAgIFtk
ZWZhdWx0QWN0aW9ucyBhZGRPYmplY3Q6W19XS0VsZW1lbnRBY3Rpb24gX2VsZW1lbnRBY3Rpb25X
aXRoVHlwZTpfV0tFbGVtZW50QWN0aW9uVHlwZVNoYXJlIGFzc2lzdGFudDpzZWxmXV07CiAgICAg
fQogCisgICAgW2RlZmF1bHRBY3Rpb25zIGFkZE9iamVjdDpbX1dLRWxlbWVudEFjdGlvbiBfZWxl
bWVudEFjdGlvbldpdGhUeXBlOl9XS0VsZW1lbnRBY3Rpb25Ub2dnbGVTaG93TGlua1ByZXZpZXdz
IGFzc2lzdGFudDpzZWxmXV07CisKICAgICByZXR1cm4gZGVmYXVsdEFjdGlvbnM7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLm1tCmluZGV4IDM1OWJkNmVkMmRkYzU5NTEzNTk3ZWVlZDU3ZWM4YmZkOGU4ZGMyM2Yu
LmVjNjc1ODY3MWNkODA3ZTUzNTlhYTczZmQ0NjkzZTdiZTZjNzIyMGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5t
bQpAQCAtMTU4LDcgKzE1OCw2IEBAIFNPRlRfTElOS19DT05TVEFOVChNYW5hZ2VkQ29uZmlndXJh
dGlvbiwgTUNGZWF0dXJlRGVmaW5pdGlvbkxvb2t1cEFsbG93ZWQsIE5TU3RyCiAKICNpZiBIQVZF
KExJTktfUFJFVklFVykgJiYgVVNFKFVJQ09OVEVYVE1FTlUpCiBzdGF0aWMgTlNTdHJpbmcgKiBj
b25zdCB3ZWJraXRTaG93TGlua1ByZXZpZXdzUHJlZmVyZW5jZUtleSA9IEAiV2ViS2l0U2hvd0xp
bmtQcmV2aWV3cyI7Ci1zdGF0aWMgTlNTdHJpbmcgKiBjb25zdCB3ZWJraXRTaG93TGlua1ByZXZp
ZXdzUHJlZmVyZW5jZUNoYW5nZWROb3RpZmljYXRpb24gPSBAIldlYktpdFNob3dMaW5rUHJldmll
d3NQcmVmZXJlbmNlQ2hhbmdlZCI7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKFdBVENIT1MpCkBA
IC03NTUxLDExICs3NTUwLDYgQEAgc3RhdGljIE5TU3RyaW5nICpwcmV2aWV3SWRlbnRpZmllckZv
ckVsZW1lbnRBY3Rpb24oX1dLRWxlbWVudEFjdGlvbiAqYWN0aW9uKQogICAgICAgICAgICAgW3By
ZXZpZXdDbGlja0ludGVyYWN0aW9uIHNldERyaXZlcjpkcml2ZXJdOwogICAgICAgICAgICAgW2Ry
aXZlciBzZXREZWxlZ2F0ZTooaWQ8X1VJQ2xpY2tJbnRlcmFjdGlvbkRyaXZlckRlbGVnYXRlPilw
cmV2aWV3Q2xpY2tJbnRlcmFjdGlvbl07CiAgICAgICAgIH0KLQotICAgICAgICBbc2VsZiBfc2hv
d0xpbmtQcmV2aWV3c1ByZWZlcmVuY2VDaGFuZ2VkOm5pbF07Ci0KLSAgICAgICAgW1tOU05vdGlm
aWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNlcnZlcjpzZWxmIHNlbGVjdG9yOkBz
ZWxlY3Rvcihfc2hvd0xpbmtQcmV2aWV3c1ByZWZlcmVuY2VDaGFuZ2VkOikgbmFtZTp3ZWJraXRT
aG93TGlua1ByZXZpZXdzUHJlZmVyZW5jZUNoYW5nZWROb3RpZmljYXRpb24gb2JqZWN0Om5pbF07
Ci0KICAgICAgICAgcmV0dXJuOwogICAgIH0KICNlbmRpZgpAQCAtNzU3Niw4ICs3NTcwLDYgQEAg
c3RhdGljIE5TU3RyaW5nICpwcmV2aWV3SWRlbnRpZmllckZvckVsZW1lbnRBY3Rpb24oX1dLRWxl
bWVudEFjdGlvbiAqYWN0aW9uKQogCiAgICAgICAgIFtzZWxmIHJlbW92ZUludGVyYWN0aW9uOl9j
b250ZXh0TWVudUludGVyYWN0aW9uLmdldCgpXTsKICAgICAgICAgX2NvbnRleHRNZW51SW50ZXJh
Y3Rpb24gPSBuaWw7Ci0KLSAgICAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2Vu
dGVyXSByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6d2Via2l0U2hvd0xpbmtQcmV2aWV3c1ByZWZl
cmVuY2VDaGFuZ2VkTm90aWZpY2F0aW9uIG9iamVjdDpuaWxdOwogICAgICAgICByZXR1cm47CiAg
ICAgfQogI2VuZGlmCkBAIC03NTkwLDE2ICs3NTgyLDYgQEAgc3RhdGljIE5TU3RyaW5nICpwcmV2
aWV3SWRlbnRpZmllckZvckVsZW1lbnRBY3Rpb24oX1dLRWxlbWVudEFjdGlvbiAqYWN0aW9uKQog
CiAjaWYgVVNFKFVJQ09OVEVYVE1FTlUpCiAKLS0gKHZvaWQpX3Nob3dMaW5rUHJldmlld3NQcmVm
ZXJlbmNlQ2hhbmdlZDooTlNOb3RpZmljYXRpb24gKilub3RpZmljYXRpb24KLXsKLSAgICBCb29s
ZWFuIGtleUV4aXN0c0FuZEhhc1ZhbGlkRm9ybWF0ID0gZmFsc2U7Ci0gICAgQm9vbGVhbiBwcmVm
VmFsdWUgPSBDRlByZWZlcmVuY2VzR2V0QXBwQm9vbGVhblZhbHVlKChfX2JyaWRnZSBDRlN0cmlu
Z1JlZil3ZWJraXRTaG93TGlua1ByZXZpZXdzUHJlZmVyZW5jZUtleSwga0NGUHJlZmVyZW5jZXND
dXJyZW50QXBwbGljYXRpb24sICZrZXlFeGlzdHNBbmRIYXNWYWxpZEZvcm1hdCk7Ci0gICAgaWYg
KGtleUV4aXN0c0FuZEhhc1ZhbGlkRm9ybWF0KQotICAgICAgICBfc2hvd0xpbmtQcmV2aWV3cyA9
IHByZWZWYWx1ZTsKLSAgICBlbHNlCi0gICAgICAgIF9zaG93TGlua1ByZXZpZXdzID0gWUVTOwot
fQotCiBzdGF0aWMgYm9vbCBuZWVkc0RlcHJlY2F0ZWRQcmV2aWV3QVBJKGlkPFdLVUlEZWxlZ2F0
ZT4gZGVsZWdhdGUpCiB7CiAgICAgLy8gRklYTUU6IFJlcGxhY2UgdGhlc2Ugd2l0aCBib29sZWFu
cyBpbiBVSURlbGVnYXRlLmguCkBAIC03Njc4LDcgKzc2NjAsNyBAQCBzdGF0aWMgTlNBcnJheTxV
SU1lbnVFbGVtZW50ICo+ICptZW51RWxlbWVudHNGcm9tRGVmYXVsdEFjdGlvbnMoY29uc3QgUmV0
YWluUHRyPAogICAgIHJldHVybiBhY3Rpb25zOwogfQogCi1zdGF0aWMgVUlNZW51ICptZW51RnJv
bUxlZ2FjeVByZXZpZXdPckRlZmF1bHRBY3Rpb25zKFVJVmlld0NvbnRyb2xsZXIgKnByZXZpZXdW
aWV3Q29udHJvbGxlciwgY29uc3QgUmV0YWluUHRyPE5TQXJyYXk+JiBkZWZhdWx0RWxlbWVudEFj
dGlvbnMsIFJldGFpblB0cjxfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbz4gZWxlbWVudEluZm8sIE5T
U3RyaW5nICp0aXRsZSkKK3N0YXRpYyBVSU1lbnUgKm1lbnVGcm9tTGVnYWN5UHJldmlld09yRGVm
YXVsdEFjdGlvbnMoVUlWaWV3Q29udHJvbGxlciAqcHJldmlld1ZpZXdDb250cm9sbGVyLCBjb25z
dCBSZXRhaW5QdHI8TlNBcnJheT4mIGRlZmF1bHRFbGVtZW50QWN0aW9ucywgUmV0YWluUHRyPF9X
S0FjdGl2YXRlZEVsZW1lbnRJbmZvPiBlbGVtZW50SW5mbywgTlNTdHJpbmcgKnRpdGxlID0gbmls
KQogewogICAgIGF1dG8gYWN0aW9ucyA9IG1lbnVFbGVtZW50c0Zyb21MZWdhY3lQcmV2aWV3KHBy
ZXZpZXdWaWV3Q29udHJvbGxlcik7CiAgICAgaWYgKCFhY3Rpb25zKQpAQCAtNzY4NywxOCArNzY2
OSwzMCBAQCBzdGF0aWMgVUlNZW51ICptZW51RnJvbUxlZ2FjeVByZXZpZXdPckRlZmF1bHRBY3Rp
b25zKFVJVmlld0NvbnRyb2xsZXIgKnByZXZpZXdWaQogICAgIHJldHVybiBbVUlNZW51IG1lbnVX
aXRoVGl0bGU6dGl0bGUgY2hpbGRyZW46YWN0aW9uc107CiB9CiAKLXN0YXRpYyBOU1N0cmluZyAq
dGl0bGVGb3JNZW51KGJvb2wgaXNMaW5rLCBib29sIHNob3dMaW5rUHJldmlld3MsIGNvbnN0IFVS
TCYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlKQorc3RhdGljIFVJTWVudSAqbWVudVdpdGhTaG93
TGlua1ByZXZpZXdBY3Rpb24oVUlNZW51ICpvcmlnaW5hbE1lbnUpCiB7Ci0gICAgaWYgKGlzTGlu
ayAmJiAhc2hvd0xpbmtQcmV2aWV3cykgewotICAgICAgICBpZiAoIXVybC5pc0VtcHR5KCkpIHsK
LSAgICAgICAgICAgIGlmIChXVEY6OnByb3RvY29sSXNKYXZhU2NyaXB0KHVybCkpCi0gICAgICAg
ICAgICAgICAgcmV0dXJuIFdFQl9VSV9TVFJJTkdfS0VZKCJKYXZhU2NyaXB0IiwgIkphdmFTY3Jp
cHQgQWN0aW9uIFNoZWV0IFRpdGxlIiwgIlRpdGxlIGZvciBhY3Rpb24gc2hlZXQgZm9yIEphdmFT
Y3JpcHQgbGluayIpOwotICAgICAgICAgICAgcmV0dXJuIFdURjo6dXNlclZpc2libGVTdHJpbmco
dXJsKTsKKyAgICBpZiAoIW9yaWdpbmFsTWVudSkKKyAgICAgICAgcmV0dXJuIG5pbDsKKworICAg
IC8vIExvb2sgZm9yIGEgVUlBY3Rpb24gdGhhdCBoYXMgdGhlIFdLRWxlbWVudEFjdGlvblR5cGVU
b2dnbGVTaG93TGlua1ByZXZpZXdzSWRlbnRpZmllci4KKyAgICBOU1VJbnRlZ2VyIHJlc3VsdCA9
IFtvcmlnaW5hbE1lbnUuY2hpbGRyZW4gaW5kZXhPZk9iamVjdFBhc3NpbmdUZXN0Ol5CT09MKFVJ
TWVudUVsZW1lbnQgKmVsZW1lbnQsIE5TVUludGVnZXIgaW5kZXgsIEJPT0wgKnN0b3ApIHsKKyAg
ICAgICAgaWYgKCFbZWxlbWVudCBpc0tpbmRPZkNsYXNzOltVSUFjdGlvbiBjbGFzc11dKQorICAg
ICAgICAgICAgcmV0dXJuIE5POworICAgICAgICBpZiAoWyhVSUFjdGlvbiAqKWVsZW1lbnQgaWRl
bnRpZmllcl0gPT0gV0tFbGVtZW50QWN0aW9uVHlwZVRvZ2dsZVNob3dMaW5rUHJldmlld3NJZGVu
dGlmaWVyKSB7CisgICAgICAgICAgICAqc3RvcCA9IFlFUzsKKyAgICAgICAgICAgIHJldHVybiBZ
RVM7CiAgICAgICAgIH0KLSAgICB9IGVsc2UgaWYgKCFpc0xpbmsgJiYgIXRpdGxlLmlzRW1wdHko
KSkKLSAgICAgICAgcmV0dXJuIHRpdGxlOworICAgICAgICByZXR1cm4gTk87CisgICAgfV07Cisg
ICAgaWYgKHJlc3VsdCAhPSBOU05vdEZvdW5kKQorICAgICAgICByZXR1cm4gb3JpZ2luYWxNZW51
OwogCi0gICAgcmV0dXJuIG5pbDsKKyAgICAvLyBXZSBkaWRuJ3QgZmluZCBvbmUsIHNvIG1ha2Ug
YSBuZXcgVUlNZW51IHdpdGggdGhlIHRvZ2dsZSBhY3Rpb24uCisgICAgTlNNdXRhYmxlQXJyYXk8
VUlNZW51RWxlbWVudCAqPiAqbWVudUVsZW1lbnRzID0gW05TTXV0YWJsZUFycmF5IGFycmF5V2l0
aENhcGFjaXR5OihvcmlnaW5hbE1lbnUuY2hpbGRyZW4uY291bnQgKyAxKV07CisgICAgW21lbnVF
bGVtZW50cyBhZGRPYmplY3RzRnJvbUFycmF5Om9yaWdpbmFsTWVudS5jaGlsZHJlbl07CisgICAg
X1dLRWxlbWVudEFjdGlvbiAqdG9nZ2xlQWN0aW9uID0gW19XS0VsZW1lbnRBY3Rpb24gZWxlbWVu
dEFjdGlvbldpdGhUeXBlOl9XS0VsZW1lbnRBY3Rpb25Ub2dnbGVTaG93TGlua1ByZXZpZXdzXTsK
KyAgICBbbWVudUVsZW1lbnRzIGFkZE9iamVjdDpbdG9nZ2xlQWN0aW9uIHVpQWN0aW9uRm9yRWxl
bWVudEluZm86bmlsXV07CisgICAgcmV0dXJuIFtvcmlnaW5hbE1lbnUgbWVudUJ5UmVwbGFjaW5n
Q2hpbGRyZW46bWVudUVsZW1lbnRzXTsKIH0KIAogLSAodm9pZClhc3NpZ25MZWdhY3lEYXRhRm9y
Q29udGV4dE1lbnVJbnRlcmFjdGlvbgpAQCAtNzczMyw2ICs3NzI3LDcgQEAgc3RhdGljIE5TU3Ry
aW5nICp0aXRsZUZvck1lbnUoYm9vbCBpc0xpbmssIGJvb2wgc2hvd0xpbmtQcmV2aWV3cywgY29u
c3QgVVJMJiB1cmwKICAgICAgICAgaWYgKFt1aURlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpA
c2VsZWN0b3Iod2ViVmlldzpwcmV2aWV3aW5nVmlld0NvbnRyb2xsZXJGb3JFbGVtZW50OmRlZmF1
bHRBY3Rpb25zOildKSB7CiAgICAgICAgICAgICBhdXRvIGRlZmF1bHRBY3Rpb25zID0gd2tMZWdh
Y3lQcmV2aWV3QWN0aW9uc0Zyb21FbGVtZW50QWN0aW9ucyhkZWZhdWx0QWN0aW9uc0Zyb21Bc3Np
c3RhbnQuZ2V0KCksIGVsZW1lbnRJbmZvLmdldCgpKTsKICAgICAgICAgICAgIGF1dG8gcHJldmll
d0VsZW1lbnRJbmZvID0gYWRvcHROUyhbW1dLUHJldmlld0VsZW1lbnRJbmZvIGFsbG9jXSBfaW5p
dFdpdGhMaW5rVVJMOnVybF0pOworICAgICAgICAgICAgLy8gRklYTUU6IENsaWVudHMgdXNpbmcg
dGhpcyBsZWdhY3kgQVBJIHdpbGwgYWx3YXlzIHNob3cgdGhlaXIgcHJldmlld1ZpZXdDb250cm9s
bGVyIGFuZCBpZ25vcmUgX3Nob3dMaW5rUHJldmlld3MuCiAgICAgICAgICAgICBwcmV2aWV3Vmll
d0NvbnRyb2xsZXIgPSBbdWlEZWxlZ2F0ZSB3ZWJWaWV3Ol93ZWJWaWV3IHByZXZpZXdpbmdWaWV3
Q29udHJvbGxlckZvckVsZW1lbnQ6cHJldmlld0VsZW1lbnRJbmZvLmdldCgpIGRlZmF1bHRBY3Rp
b25zOmRlZmF1bHRBY3Rpb25zXTsKICAgICAgICAgfSBlbHNlIGlmIChbdWlEZWxlZ2F0ZSByZXNw
b25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OnByZXZpZXdWaWV3Q29udHJvbGxlckZv
clVSTDpkZWZhdWx0QWN0aW9uczplbGVtZW50SW5mbzopXSkKICAgICAgICAgICAgIHByZXZpZXdW
aWV3Q29udHJvbGxlciA9IFt1aURlbGVnYXRlIF93ZWJWaWV3Ol93ZWJWaWV3IHByZXZpZXdWaWV3
Q29udHJvbGxlckZvclVSTDp1cmwgZGVmYXVsdEFjdGlvbnM6ZGVmYXVsdEFjdGlvbnNGcm9tQXNz
aXN0YW50LmdldCgpIGVsZW1lbnRJbmZvOmVsZW1lbnRJbmZvLmdldCgpXTsKQEAgLTc3NTIsMTUg
Kzc3NDcsMTQgQEAgc3RhdGljIE5TU3RyaW5nICp0aXRsZUZvck1lbnUoYm9vbCBpc0xpbmssIGJv
b2wgc2hvd0xpbmtQcmV2aWV3cywgY29uc3QgVVJMJiB1cmwKICAgICAgICAgICAgICAgICAgICAg
X2NvbnRleHRNZW51TGVnYWN5UHJldmlld0NvbnRyb2xsZXIgPSBkYXRhRGV0ZWN0b3JzUmVzdWx0
LmdldCgpLnByZXZpZXdQcm92aWRlcigpOwogICAgICAgICAgICAgICAgIGlmIChkYXRhRGV0ZWN0
b3JzUmVzdWx0ICYmIGRhdGFEZXRlY3RvcnNSZXN1bHQuZ2V0KCkuYWN0aW9uUHJvdmlkZXIpIHsK
ICAgICAgICAgICAgICAgICAgICAgYXV0byBtZW51RWxlbWVudHMgPSBtZW51RWxlbWVudHNGcm9t
RGVmYXVsdEFjdGlvbnMoZGVmYXVsdEFjdGlvbnNGcm9tQXNzaXN0YW50LCBlbGVtZW50SW5mbyk7
Ci0gICAgICAgICAgICAgICAgICAgIF9jb250ZXh0TWVudUxlZ2FjeU1lbnUgPSBkYXRhRGV0ZWN0
b3JzUmVzdWx0LmdldCgpLmFjdGlvblByb3ZpZGVyKG1lbnVFbGVtZW50cyk7CisgICAgICAgICAg
ICAgICAgICAgIF9jb250ZXh0TWVudUxlZ2FjeU1lbnUgPSBtZW51V2l0aFNob3dMaW5rUHJldmll
d0FjdGlvbihkYXRhRGV0ZWN0b3JzUmVzdWx0LmdldCgpLmFjdGlvblByb3ZpZGVyKG1lbnVFbGVt
ZW50cykpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBFTkRfQkxPQ0tfT0JK
Q19FWENFUFRJT05TOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICB9CiAKLSAgICAgICAgYXV0byBtZW51VGl0bGUgPSB0aXRsZUZvck1lbnUodHJ1ZSwgX3Nob3dM
aW5rUHJldmlld3MsIHVybCwgX3Bvc2l0aW9uSW5mb3JtYXRpb24udGl0bGUpOwotICAgICAgICBf
Y29udGV4dE1lbnVMZWdhY3lNZW51ID0gbWVudUZyb21MZWdhY3lQcmV2aWV3T3JEZWZhdWx0QWN0
aW9ucyhwcmV2aWV3Vmlld0NvbnRyb2xsZXIsIGRlZmF1bHRBY3Rpb25zRnJvbUFzc2lzdGFudCwg
ZWxlbWVudEluZm8sIG1lbnVUaXRsZSk7CisgICAgICAgIF9jb250ZXh0TWVudUxlZ2FjeU1lbnUg
PSBtZW51RnJvbUxlZ2FjeVByZXZpZXdPckRlZmF1bHRBY3Rpb25zKHByZXZpZXdWaWV3Q29udHJv
bGxlciwgZGVmYXVsdEFjdGlvbnNGcm9tQXNzaXN0YW50LCBlbGVtZW50SW5mbyk7CiAKICAgICB9
IGVsc2UgaWYgKF9wb3NpdGlvbkluZm9ybWF0aW9uLmlzSW1hZ2UpIHsKICAgICAgICAgTlNVUkwg
Km5zVVJMID0gKE5TVVJMICopdXJsOwpAQCAtNzc4NywxMSArNzc4MSwxMCBAQCBzdGF0aWMgTlNT
dHJpbmcgKnRpdGxlRm9yTWVudShib29sIGlzTGluaywgYm9vbCBzaG93TGlua1ByZXZpZXdzLCBj
b25zdCBVUkwmIHVybAogICAgICAgICAgICAgcHJldmlld1ZpZXdDb250cm9sbGVyID0gW1tXS0lt
YWdlUHJldmlld1ZpZXdDb250cm9sbGVyIGFsbG9jXSBpbml0V2l0aENHSW1hZ2U6Y2dJbWFnZSBk
ZWZhdWx0QWN0aW9uczpkZWZhdWx0QWN0aW9uc0Zyb21Bc3Npc3RhbnQuZ2V0KCkgZWxlbWVudElu
Zm86ZWxlbWVudEluZm8uZ2V0KCldOwogICAgICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFU
SU9OU19FTkQKIAotICAgICAgICBhdXRvIG1lbnVUaXRsZSA9IHRpdGxlRm9yTWVudShmYWxzZSwg
X3Nob3dMaW5rUHJldmlld3MsIHVybCwgX3Bvc2l0aW9uSW5mb3JtYXRpb24udGl0bGUpOwotICAg
ICAgICBfY29udGV4dE1lbnVMZWdhY3lNZW51ID0gbWVudUZyb21MZWdhY3lQcmV2aWV3T3JEZWZh
dWx0QWN0aW9ucyhwcmV2aWV3Vmlld0NvbnRyb2xsZXIsIGRlZmF1bHRBY3Rpb25zRnJvbUFzc2lz
dGFudCwgZWxlbWVudEluZm8sIG1lbnVUaXRsZSk7CisgICAgICAgIF9jb250ZXh0TWVudUxlZ2Fj
eU1lbnUgPSBtZW51RnJvbUxlZ2FjeVByZXZpZXdPckRlZmF1bHRBY3Rpb25zKHByZXZpZXdWaWV3
Q29udHJvbGxlciwgZGVmYXVsdEFjdGlvbnNGcm9tQXNzaXN0YW50LCBlbGVtZW50SW5mbywgX3Bv
c2l0aW9uSW5mb3JtYXRpb24udGl0bGUpOwogICAgIH0KIAotICAgIF9jb250ZXh0TWVudUxlZ2Fj
eVByZXZpZXdDb250cm9sbGVyID0gX3Nob3dMaW5rUHJldmlld3MgPyBwcmV2aWV3Vmlld0NvbnRy
b2xsZXIgOiBudWxscHRyOworICAgIF9jb250ZXh0TWVudUxlZ2FjeVByZXZpZXdDb250cm9sbGVy
ID0gcHJldmlld1ZpZXdDb250cm9sbGVyOwogfQogCiAtIChVSUNvbnRleHRNZW51Q29uZmlndXJh
dGlvbiAqKWNvbnRleHRNZW51SW50ZXJhY3Rpb246KFVJQ29udGV4dE1lbnVJbnRlcmFjdGlvbiAq
KWludGVyYWN0aW9uIGNvbmZpZ3VyYXRpb25Gb3JNZW51QXRMb2NhdGlvbjooQ0dQb2ludClsb2Nh
dGlvbgpAQCAtNzgwOSw2ICs3ODAyLDEwIEBAIHN0YXRpYyBOU1N0cmluZyAqdGl0bGVGb3JNZW51
KGJvb2wgaXNMaW5rLCBib29sIHNob3dMaW5rUHJldmlld3MsIGNvbnN0IFVSTCYgdXJsCiAgICAg
aWYgKCFfd2ViVmlldy5jb25maWd1cmF0aW9uLl9sb25nUHJlc3NBY3Rpb25zRW5hYmxlZCkKICAg
ICAgICAgcmV0dXJuIGNvbXBsZXRpb24obmlsKTsKIAorICAgIF9zaG93TGlua1ByZXZpZXdzID0g
dHJ1ZTsKKyAgICBpZiAoTlNOdW1iZXIgKnZhbHVlID0gW1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFy
ZFVzZXJEZWZhdWx0c10gb2JqZWN0Rm9yS2V5OndlYmtpdFNob3dMaW5rUHJldmlld3NQcmVmZXJl
bmNlS2V5XSkKKyAgICAgICAgX3Nob3dMaW5rUHJldmlld3MgPSB2YWx1ZS5ib29sVmFsdWU7CisK
ICAgICBjb25zdCBhdXRvIHBvc2l0aW9uID0gW2ludGVyYWN0aW9uIGxvY2F0aW9uSW5WaWV3OnNl
bGZdOwogICAgIFdlYktpdDo6SW50ZXJhY3Rpb25JbmZvcm1hdGlvblJlcXVlc3QgcmVxdWVzdCB7
IFdlYkNvcmU6OnJvdW5kZWRJbnRQb2ludChwb3NpdGlvbikgfTsKICAgICByZXF1ZXN0LmluY2x1
ZGVTbmFwc2hvdCA9IHRydWU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>374466</attachid>
            <date>2019-07-19 08:07:25 -0700</date>
            <delta_ts>2019-07-19 10:13:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199940-20190720010724.patch</filename>
            <type>text/plain</type>
            <size>19845</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3NjIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTA4YzMyNjFiYTE4Mzgy
YzJlNzY5YjhkYmM3OWExMWRhYzg3Yzk2Ny4uMDI5MDJkNGY2NjRlMzAxMTU2YmJlNzY3NDU4YWIy
MWFiMTQwMzA2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTA3LTE5ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYSBtZW51IGl0ZW0gdG8g
dG9nZ2xlIGJldHdlZW4gc2hvd2luZyBhbmQgaGlkaW5nIGxpbmsgcHJldmlld3MKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTk0MAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNTMwMzIyODg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTmV3IHN0cmluZ3MgZm9yIFNob3cvSGlkZSBMaW5rIFByZXZpZXdz
LgorCisgICAgICAgICogZW4ubHByb2ovTG9jYWxpemFibGUuc3RyaW5nczoKKwogMjAxOS0wNy0x
OCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAgIEVuc3VyZSBR
dWlya3M6OnNob3VsZERpc3BhdGNoU2ltdWxhdGVkTW91c2VFdmVudHMoKSB3b3JrcyBmb3IgYWxs
IEdvb2dsZSBNYXBzIGFuZCBBbWF6b24gZG9tYWlucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAzMTRmNmRjMzIyYTQ1
OGZkMGY2N2NkYjI2YzFmZmFhMmEzZDY2NDA5Li45ZTI4N2FhNDU4ZGJjYzA5YzIxYzJkNjM2N2E5
ODAyZDNkZTQ5MWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDE5LTA3LTE5ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYSBtZW51IGl0ZW0gdG8g
dG9nZ2xlIGJldHdlZW4gc2hvd2luZyBhbmQgaGlkaW5nIGxpbmsgcHJldmlld3MKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTk0MAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNTMwMzIyODg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IF9XS0VsZW1lbnRBY3Rpb24gdGhhdCB0b2dnbGVz
IHRoZSBkaXNwbGF5IG9mIGxpbmsgcHJldmlld3MKKyAgICAgICAgaW4gY29udGV4dCBtZW51cywg
YW5kIGFkZCBpdCB0byB0aGUgZGVmYXVsdCBzZXQgb2YgYWN0aW9ucyB3ZSBwcm92aWRlCisgICAg
ICAgIGZvciBsaW5rcy4KKworICAgICAgICBXaGVuIGEgVUlBY3Rpb24gaXMgY3JlYXRlZCBmcm9t
IHRoaXMgbmV3IF9XS0VsZW1lbnRBY3Rpb24gdHlwZSwKKyAgICAgICAgaXQgY2FuIGJlIGlkZW50
aWZpZWQgYnkgV0tFbGVtZW50QWN0aW9uVHlwZVRvZ2dsZVNob3dMaW5rUHJldmlld3NJZGVudGlm
aWVyLgorICAgICAgICBUaGlzIGFsbG93cyB1cyB0byBjaGVjayBhIFVJTWVudSBwcm92aWRlZCBi
eSBhIGRlbGVnYXRlIHRvIG1ha2Ugc3VyZQorICAgICAgICB0aGF0IHRoZXkgaGF2ZSBwcm92aWRl
ZCB0aGUgdG9nZ2xlIG1lbnUgaXRlbS4gSWYgdGhleSBoYXZlbid0LCB3ZSBhZGQgaXQKKyAgICAg
ICAgYmFjay4KKworICAgICAgICBUaGUgcHJlZmVyZW5jZSBmb3Igc2hvd2luZyBsaW5rcyBpcyBt
b3ZlZCBmcm9tIGtDRlByZWZlcmVuY2VzQW55QXBwbGljYXRpb24KKyAgICAgICAgdG8gc3RhbmRh
cmQgdXNlciBkZWZhdWx0cywgc28gdGhhdCBpdCBjYW4gYmUgc2V0IG5vIG1hdHRlciB3aGF0IHRo
ZQorICAgICAgICBob3N0aW5nIGFwcGxpY2F0aW9uIGlzLgorCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tFbGVtZW50QWN0aW9uLmg6IE5ldyBhY3Rpb24gdHlwZS4KKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0VsZW1lbnRBY3Rpb24ubW06IAorICAgICAgICAoK1tf
V0tFbGVtZW50QWN0aW9uIF9lbGVtZW50QWN0aW9uV2l0aFR5cGU6Y3VzdG9tVGl0bGU6YXNzaXN0
YW50Ol0pOgorICAgICAgICAoK1tfV0tFbGVtZW50QWN0aW9uIGltYWdlRm9yRWxlbWVudEFjdGlv
blR5cGU6XSk6IFVzZSBleWUuZmlsbCBmb3Igbm93LgorICAgICAgICBJJ2xsIG5lZWQgdG8gY2hl
Y2sgd2l0aCBISSB0byBzZWUgaWYgdGhlcmUgaXMgYSBtb3JlIGFwcHJvcHJpYXRlIGdseXBoLgor
ICAgICAgICAoZWxlbWVudEFjdGlvblR5cGVUb1VJQWN0aW9uSWRlbnRpZmllcik6CisgICAgICAg
ICh1aUFjdGlvbklkZW50aWZpZXJUb0VsZW1lbnRBY3Rpb25UeXBlKToKKworICAgICAgICAqIFVJ
UHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5tbTogQWRkIHRoZSB0b2dnbGUgYWN0
aW9uIHRvCisgICAgICAgIHRoZSBkZWZhdWx0IHNldC4KKyAgICAgICAgKC1bV0tBY3Rpb25TaGVl
dEFzc2lzdGFudCBkZWZhdWx0QWN0aW9uc0ZvckxpbmtTaGVldDpdKToKKworICAgICAgICAqIFVJ
UHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAgICAoLVtXS0Nv
bnRlbnRWaWV3IF9yZWdpc3RlclByZXZpZXddKTogTm8gbmVlZCB0byBsaXN0ZW4gZm9yIENGUHJl
ZmVyZW5jZXMKKyAgICAgICAgbm90aWZpY2F0aW9ucyBhbnkgbW9yZS4KKyAgICAgICAgKC1bV0tD
b250ZW50VmlldyBfdW5yZWdpc3RlclByZXZpZXddKToKKyAgICAgICAgKG1lbnVXaXRoU2hvd0xp
bmtQcmV2aWV3QWN0aW9uKTogTmV3IG1ldGhvZCB0aGF0IGFkZHMgdGhlIFVJQWN0aW9uCisgICAg
ICAgIGZvciB0b2dnbGluZyBwcmV2aWV3cyB0byBhIFVJTWVudSBpZiBuZWNlc3NhcnkuCisgICAg
ICAgICgtW1dLQ29udGVudFZpZXcgYXNzaWduTGVnYWN5RGF0YUZvckNvbnRleHRNZW51SW50ZXJh
Y3Rpb25dKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfY29udGV4dE1lbnVJbnRlcmFjdGlv
bjpjb25maWd1cmF0aW9uRm9yTWVudUF0TG9jYXRpb246Y29tcGxldGlvbjpdKToKKyAgICAgICAg
KC1bV0tDb250ZW50VmlldyBfc2hvd0xpbmtQcmV2aWV3c1ByZWZlcmVuY2VDaGFuZ2VkOl0pOiBE
ZWxldGVkLgorICAgICAgICAodGl0bGVGb3JNZW51KTogRGVsZXRlZC4gVVJMIHRleHQgcHJldmll
d3Mgd2lsbCBiZSBwcm92aWRlZCBzZXBhcmF0ZWx5LgorCiAyMDE5LTA3LTE4ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTW92ZSBOZXR3b3Jr
Q2FjaGUgb3duZXJzaGlwIGZyb20gTmV0d29ya1Byb2Nlc3MgdG8gTmV0d29ya1Nlc3Npb24KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VuLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MgYi9T
b3VyY2UvV2ViQ29yZS9lbi5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCmluZGV4IDhjOWU5ZDYx
NDIyODRmYjYxZjM1NzBkYjljNzU4ZTdlYTNhMjI1YWMuLmU1N2E3NzlmMWZjNzgyZGQ5OGU0NDJk
N2VjMjQ3MmYzMTUxYWQ0MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VuLmxwcm9qL0xv
Y2FsaXphYmxlLnN0cmluZ3MKKysrIGIvU291cmNlL1dlYkNvcmUvZW4ubHByb2ovTG9jYWxpemFi
bGUuc3RyaW5ncwpAQCAtMzczLDYgKzM3Myw5IEBACiAvKiBIaWRlIE1lZGlhIENvbnRyb2xzIGNv
bnRleHQgbWVudSBpdGVtICovCiAiSGlkZSBDb250cm9scyIgPSAiSGlkZSBDb250cm9scyI7CiAK
Ky8qIFRpdGxlIGZvciBIaWRlIExpbmsgUHJldmlld3MgYWN0aW9uIGJ1dHRvbiAqLworIkhpZGUg
TGluayBQcmV2aWV3cyIgPSAiSGlkZSBMaW5rIFByZXZpZXdzIjsKKwogLyogbWVudSBpdGVtIHRp
dGxlICovCiAiSGlkZSBTcGVsbGluZyBhbmQgR3JhbW1hciIgPSAiSGlkZSBTcGVsbGluZyBhbmQg
R3JhbW1hciI7CiAKQEAgLTY5Nyw2ICs3MDAsOSBAQAogLyogU2hvdyBmb250cyBjb250ZXh0IG1l
bnUgaXRlbSAqLwogIlNob3cgRm9udHMiID0gIlNob3cgRm9udHMiOwogCisvKiBUaXRsZSBmb3Ig
U2hvdyBMaW5rIFByZXZpZXdzIGFjdGlvbiBidXR0b24gKi8KKyJTaG93IExpbmsgUHJldmlld3Mi
ID0gIlNob3cgTGluayBQcmV2aWV3cyI7CisKIC8qIG1lbnUgaXRlbSB0aXRsZSAqLwogIlNob3cg
U3BlbGxpbmcgYW5kIEdyYW1tYXIiID0gIlNob3cgU3BlbGxpbmcgYW5kIEdyYW1tYXIiOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRWxlbWVudEFj
dGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0VsZW1lbnRBY3Rp
b24uaAppbmRleCA4NWVjMTM1YjNhNmZkZWIwNjg3NmNkYzIxZWU4NDkyMjAwZjdmOTBhLi43Nzlh
NzQ1NjY5OTAxNTM5ZTQxZGVlZjIxZjc2YWU2Y2IxNWNkYzcwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRWxlbWVudEFjdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFbGVtZW50QWN0aW9uLmgKQEAgLTM0LDYg
KzM0LDcgQEAKIEBjbGFzcyBVSUltYWdlOwogCiB0eXBlZGVmIE5TU3RyaW5nICpVSUFjdGlvbklk
ZW50aWZpZXI7CitXS19FWFBPUlQgZXh0ZXJuIFVJQWN0aW9uSWRlbnRpZmllciBjb25zdCBXS0Vs
ZW1lbnRBY3Rpb25UeXBlVG9nZ2xlU2hvd0xpbmtQcmV2aWV3c0lkZW50aWZpZXI7CiAKIHR5cGVk
ZWYgdm9pZCAoXldLRWxlbWVudEFjdGlvbkhhbmRsZXIpKF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZv
ICopOwogdHlwZWRlZiBCT09MICheV0tFbGVtZW50QWN0aW9uRGlzbWlzc2FsSGFuZGxlcikodm9p
ZCk7CkBAIC01Miw2ICs1Myw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9XS0VsZW1l
bnRBY3Rpb25UeXBlKSB7CiAgICAgX1dLRWxlbWVudEFjdGlvblR5cGVPcGVuSW5OZXdUYWIgV0tf
QVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKSwKICAgICBf
V0tFbGVtZW50QWN0aW9uVHlwZU9wZW5Jbk5ld1dpbmRvdyBXS19BUElfQVZBSUxBQkxFKG1hY29z
KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpLAogICAgIF9XS0VsZW1lbnRBY3Rpb25UeXBl
RG93bmxvYWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19U
QkEpKSwKKyAgICBfV0tFbGVtZW50QWN0aW9uVG9nZ2xlU2hvd0xpbmtQcmV2aWV3cyBXS19BUElf
QVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpLAogfSBXS19BUElf
QVZBSUxBQkxFKG1hY29zKDEwLjEwKSwgaW9zKDguMCkpOwogCiBXS19DTEFTU19BVkFJTEFCTEUo
bWFjb3MoMTAuMTApLCBpb3MoOC4wKSkKQEAgLTY0LDYgKzY2LDcgQEAgV0tfQ0xBU1NfQVZBSUxB
QkxFKG1hY29zKDEwLjEwKSwgaW9zKDguMCkpCiAKICsgKFVJSW1hZ2UgKilpbWFnZUZvckVsZW1l
bnRBY3Rpb25UeXBlOihfV0tFbGVtZW50QWN0aW9uVHlwZSlhY3Rpb25UeXBlIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcygxMy4wKSk7CiArIChfV0tFbGVtZW50QWN0aW9u
VHlwZSllbGVtZW50QWN0aW9uVHlwZUZvclVJQWN0aW9uSWRlbnRpZmllcjooVUlBY3Rpb25JZGVu
dGlmaWVyKWlkZW50aWZpZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSwgaW9z
KDEzLjApKTsKKy0gKFVJQWN0aW9uICopdWlBY3Rpb25Gb3JFbGVtZW50SW5mbzooX1dLQWN0aXZh
dGVkRWxlbWVudEluZm8gKillbGVtZW50SW5mbzsKIAogLSAodm9pZClydW5BY3Rpb25XaXRoRWxl
bWVudEluZm86KF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvICopaW5mbyBXS19BUElfQVZBSUxBQkxF
KG1hY29zKFdLX01BQ19UQkEpLCBpb3MoOS4wKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFbGVtZW50QWN0aW9uLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0VsZW1lbnRBY3Rpb24ubW0KaW5kZXggNmFhOGE2MThm
ZWRlYjhhYjE4ZTFiNTQzMWZhZmI0ZTJiODI4OGM0MS4uZTAzZjI4NGM4ZjBiZWQ4NjY2ZmIzYTQy
N2I1NTdlZmY4Mjk1YzEwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL19XS0VsZW1lbnRBY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL19XS0VsZW1lbnRBY3Rpb24ubW0KQEAgLTYwLDYgKzYwLDEwIEBAIHN0YXRpYyBV
SUFjdGlvbklkZW50aWZpZXIgY29uc3QgV0tFbGVtZW50QWN0aW9uVHlwZVNoYXJlSWRlbnRpZmll
ciA9IEAiV0tFbGVtZW50CiBzdGF0aWMgVUlBY3Rpb25JZGVudGlmaWVyIGNvbnN0IFdLRWxlbWVu
dEFjdGlvblR5cGVPcGVuSW5OZXdUYWJJZGVudGlmaWVyID0gQCJXS0VsZW1lbnRBY3Rpb25UeXBl
T3BlbkluTmV3VGFiIjsKIHN0YXRpYyBVSUFjdGlvbklkZW50aWZpZXIgY29uc3QgV0tFbGVtZW50
QWN0aW9uVHlwZU9wZW5Jbk5ld1dpbmRvd0lkZW50aWZpZXIgPSBAIldLRWxlbWVudEFjdGlvblR5
cGVPcGVuSW5OZXdXaW5kb3ciOwogc3RhdGljIFVJQWN0aW9uSWRlbnRpZmllciBjb25zdCBXS0Vs
ZW1lbnRBY3Rpb25UeXBlRG93bmxvYWRJZGVudGlmaWVyID0gQCJXS0VsZW1lbnRBY3Rpb25UeXBl
RG93bmxvYWQiOworVUlBY3Rpb25JZGVudGlmaWVyIGNvbnN0IFdLRWxlbWVudEFjdGlvblR5cGVU
b2dnbGVTaG93TGlua1ByZXZpZXdzSWRlbnRpZmllciA9IEAiV0tFbGVtZW50QWN0aW9uVHlwZVRv
Z2dsZVNob3dMaW5rUHJldmlld3MiOworCitzdGF0aWMgTlNTdHJpbmcgKiBjb25zdCB3ZWJraXRT
aG93TGlua1ByZXZpZXdzUHJlZmVyZW5jZUtleSA9IEAiV2ViS2l0U2hvd0xpbmtQcmV2aWV3cyI7
CitzdGF0aWMgTlNTdHJpbmcgKiBjb25zdCB3ZWJraXRTaG93TGlua1ByZXZpZXdzUHJlZmVyZW5j
ZUNoYW5nZWROb3RpZmljYXRpb24gPSBAIldlYktpdFNob3dMaW5rUHJldmlld3NQcmVmZXJlbmNl
Q2hhbmdlZCI7CiAKIEBpbXBsZW1lbnRhdGlvbiBfV0tFbGVtZW50QWN0aW9uICB7CiAgICAgUmV0
YWluUHRyPE5TU3RyaW5nPiBfdGl0bGU7CkBAIC0xNjAsNiArMTY0LDE3IEBAIHN0YXRpYyB2b2lk
IGFkZFRvUmVhZGluZ0xpc3QoTlNVUkwgKnRhcmdldFVSTCwgTlNTdHJpbmcgKnRpdGxlKQogICAg
ICAgICAgICAgW2Fzc2lzdGFudC5kZWxlZ2F0ZSBhY3Rpb25TaGVldEFzc2lzdGFudDphc3Npc3Rh
bnQgc2hhcmVFbGVtZW50V2l0aFVSTDphY3Rpb25JbmZvLlVSTCA/OiBhY3Rpb25JbmZvLmltYWdl
VVJMIHJlY3Q6YWN0aW9uSW5mby5ib3VuZGluZ1JlY3RdOwogICAgICAgICB9OwogICAgICAgICBi
cmVhazsKKyAgICBjYXNlIF9XS0VsZW1lbnRBY3Rpb25Ub2dnbGVTaG93TGlua1ByZXZpZXdzOiB7
CisgICAgICAgIGJvb2wgc2hvd2luZ0xpbmtQcmV2aWV3cyA9IHRydWU7CisgICAgICAgIGlmIChO
U051bWJlciAqdmFsdWUgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBv
YmplY3RGb3JLZXk6d2Via2l0U2hvd0xpbmtQcmV2aWV3c1ByZWZlcmVuY2VLZXldKQorICAgICAg
ICAgICAgc2hvd2luZ0xpbmtQcmV2aWV3cyA9IHZhbHVlLmJvb2xWYWx1ZTsKKworICAgICAgICB0
aXRsZSA9IHNob3dpbmdMaW5rUHJldmlld3MgPyBXRUJfVUlfU1RSSU5HKCJIaWRlIExpbmsgUHJl
dmlld3MiLCAiVGl0bGUgZm9yIEhpZGUgTGluayBQcmV2aWV3cyBhY3Rpb24gYnV0dG9uIikgOiBX
RUJfVUlfU1RSSU5HKCJTaG93IExpbmsgUHJldmlld3MiLCAiVGl0bGUgZm9yIFNob3cgTGluayBQ
cmV2aWV3cyBhY3Rpb24gYnV0dG9uIik7CisgICAgICAgIGhhbmRsZXIgPSBeKFdLQWN0aW9uU2hl
ZXRBc3Npc3RhbnQgKiwgX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKikgeworICAgICAgICAgICAg
W1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gc2V0Qm9vbDohc2hvd2luZ0xp
bmtQcmV2aWV3cyBmb3JLZXk6d2Via2l0U2hvd0xpbmtQcmV2aWV3c1ByZWZlcmVuY2VLZXldOwor
ICAgICAgICB9OworICAgICAgICBicmVhazsKKyAgICB9CiAgICAgZGVmYXVsdDoKICAgICAgICAg
W05TRXhjZXB0aW9uIHJhaXNlOk5TSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIGZvcm1hdDpAIlRo
ZXJlIGlzIG5vIHN0YW5kYXJkIHdlYiBlbGVtZW50IGFjdGlvbiBvZiB0eXBlICVsZC4iLCAobG9u
Zyl0eXBlXTsKICAgICAgICAgcmV0dXJuIG5pbDsKQEAgLTIyNCw2ICsyMzksOCBAQCBzdGF0aWMg
dm9pZCBhZGRUb1JlYWRpbmdMaXN0KE5TVVJMICp0YXJnZXRVUkwsIE5TU3RyaW5nICp0aXRsZSkK
ICAgICAgICAgcmV0dXJuIFtVSUltYWdlIHN5c3RlbUltYWdlTmFtZWQ6QCJzcXVhcmUuZ3JpZC4y
eDIiXTsKICAgICBjYXNlIF9XS0VsZW1lbnRBY3Rpb25UeXBlRG93bmxvYWQ6CiAgICAgICAgIHJl
dHVybiBbVUlJbWFnZSBzeXN0ZW1JbWFnZU5hbWVkOkAiYXJyb3cuZG93bi5jaXJjbGUiXTsKKyAg
ICBjYXNlIF9XS0VsZW1lbnRBY3Rpb25Ub2dnbGVTaG93TGlua1ByZXZpZXdzOgorICAgICAgICBy
ZXR1cm4gW1VJSW1hZ2Ugc3lzdGVtSW1hZ2VOYW1lZDpAImV5ZS5maWxsIl07CiAgICAgfQogfQog
CkBAIC0yNTIsNiArMjY5LDggQEAgc3RhdGljIFVJQWN0aW9uSWRlbnRpZmllciBlbGVtZW50QWN0
aW9uVHlwZVRvVUlBY3Rpb25JZGVudGlmaWVyKF9XS0VsZW1lbnRBY3Rpb24KICAgICAgICAgcmV0
dXJuIFdLRWxlbWVudEFjdGlvblR5cGVPcGVuSW5OZXdXaW5kb3dJZGVudGlmaWVyOwogICAgIGNh
c2UgX1dLRWxlbWVudEFjdGlvblR5cGVEb3dubG9hZDoKICAgICAgICAgcmV0dXJuIFdLRWxlbWVu
dEFjdGlvblR5cGVEb3dubG9hZElkZW50aWZpZXI7CisgICAgY2FzZSBfV0tFbGVtZW50QWN0aW9u
VG9nZ2xlU2hvd0xpbmtQcmV2aWV3czoKKyAgICAgICAgcmV0dXJuIFdLRWxlbWVudEFjdGlvblR5
cGVUb2dnbGVTaG93TGlua1ByZXZpZXdzSWRlbnRpZmllcjsKICAgICB9CiB9CiAKQEAgLTI3OSw2
ICsyOTgsOCBAQCBzdGF0aWMgX1dLRWxlbWVudEFjdGlvblR5cGUgdWlBY3Rpb25JZGVudGlmaWVy
VG9FbGVtZW50QWN0aW9uVHlwZShVSUFjdGlvbklkZW50aQogICAgICAgICByZXR1cm4gX1dLRWxl
bWVudEFjdGlvblR5cGVPcGVuSW5OZXdXaW5kb3c7CiAgICAgaWYgKFtpZGVudGlmaWVyIGlzRXF1
YWxUb1N0cmluZzpXS0VsZW1lbnRBY3Rpb25UeXBlRG93bmxvYWRJZGVudGlmaWVyXSkKICAgICAg
ICAgcmV0dXJuIF9XS0VsZW1lbnRBY3Rpb25UeXBlRG93bmxvYWQ7CisgICAgaWYgKFtpZGVudGlm
aWVyIGlzRXF1YWxUb1N0cmluZzpXS0VsZW1lbnRBY3Rpb25UeXBlVG9nZ2xlU2hvd0xpbmtQcmV2
aWV3c0lkZW50aWZpZXJdKQorICAgICAgICByZXR1cm4gX1dLRWxlbWVudEFjdGlvblRvZ2dsZVNo
b3dMaW5rUHJldmlld3M7CiAKICAgICByZXR1cm4gX1dLRWxlbWVudEFjdGlvblR5cGVDdXN0b207
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRWxl
bWVudEFjdGlvbkludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLRWxlbWVudEFjdGlvbkludGVybmFsLmgKaW5kZXggNmM0OGYxMDUxYTQ2NDk4ZWQxOTNjMjZi
YTc0ZmZhZWM3ZjJlN2QyOC4uYTA4ZDQyM2RmZDgzMDU3MDg3ZjIwMDNhY2YzYmQyMTA2ODI2NDA4
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0VsZW1l
bnRBY3Rpb25JbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tFbGVtZW50QWN0aW9uSW50ZXJuYWwuaApAQCAtMzYsOCArMzYsNiBAQAogKyAoaW5zdGFu
Y2V0eXBlKV9lbGVtZW50QWN0aW9uV2l0aFR5cGU6KF9XS0VsZW1lbnRBY3Rpb25UeXBlKXR5cGUg
dGl0bGU6KE5TU3RyaW5nICopdGl0bGUgYWN0aW9uSGFuZGxlcjooV0tFbGVtZW50QWN0aW9uSGFu
ZGxlcilhY3Rpb25IYW5kbGVyOwogLSAodm9pZClfcnVuQWN0aW9uV2l0aEVsZW1lbnRJbmZvOihf
V0tBY3RpdmF0ZWRFbGVtZW50SW5mbyAqKWluZm8gZm9yQWN0aW9uU2hlZXRBc3Npc3RhbnQ6KFdL
QWN0aW9uU2hlZXRBc3Npc3RhbnQgKilhc3Npc3RhbnQ7CiAKLS0gKFVJQWN0aW9uICopdWlBY3Rp
b25Gb3JFbGVtZW50SW5mbzooX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKillbGVtZW50SW5mbzsK
LQogQGVuZAogCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50Lm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXRBc3Npc3RhbnQubW0KaW5kZXgg
OTE4NGIzZjcwZmNlOThkMzA2NjhiMzNiMDA5ZTcwMjg2ODRlYzYwOS4uMzkyMTYyNjE2YTRlNzdi
MDYyY2Y0Y2FlYTk5MjBmZmU4YTllNGU2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXRBc3Npc3RhbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXRBc3Npc3RhbnQubW0KQEAgLTU1OCw2ICs1NTgsOCBA
QCBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKICAgICAgICAgW2RlZmF1bHRBY3Rp
b25zIGFkZE9iamVjdDpbX1dLRWxlbWVudEFjdGlvbiBfZWxlbWVudEFjdGlvbldpdGhUeXBlOl9X
S0VsZW1lbnRBY3Rpb25UeXBlU2hhcmUgYXNzaXN0YW50OnNlbGZdXTsKICAgICB9CiAKKyAgICBb
ZGVmYXVsdEFjdGlvbnMgYWRkT2JqZWN0OltfV0tFbGVtZW50QWN0aW9uIF9lbGVtZW50QWN0aW9u
V2l0aFR5cGU6X1dLRWxlbWVudEFjdGlvblRvZ2dsZVNob3dMaW5rUHJldmlld3MgYXNzaXN0YW50
OnNlbGZdXTsKKwogICAgIHJldHVybiBkZWZhdWx0QWN0aW9uczsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0K
aW5kZXggMzU5YmQ2ZWQyZGRjNTk1MTM1OTdlZWVkNTdlYzhiZmQ4ZThkYzIzZi4uZWM2NzU4Njcx
Y2Q4MDdlNTM1OWFhNzNmZDQ2OTNlN2JlNmM3MjIwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCkBAIC0xNTgs
NyArMTU4LDYgQEAgU09GVF9MSU5LX0NPTlNUQU5UKE1hbmFnZWRDb25maWd1cmF0aW9uLCBNQ0Zl
YXR1cmVEZWZpbml0aW9uTG9va3VwQWxsb3dlZCwgTlNTdHIKIAogI2lmIEhBVkUoTElOS19QUkVW
SUVXKSAmJiBVU0UoVUlDT05URVhUTUVOVSkKIHN0YXRpYyBOU1N0cmluZyAqIGNvbnN0IHdlYmtp
dFNob3dMaW5rUHJldmlld3NQcmVmZXJlbmNlS2V5ID0gQCJXZWJLaXRTaG93TGlua1ByZXZpZXdz
IjsKLXN0YXRpYyBOU1N0cmluZyAqIGNvbnN0IHdlYmtpdFNob3dMaW5rUHJldmlld3NQcmVmZXJl
bmNlQ2hhbmdlZE5vdGlmaWNhdGlvbiA9IEAiV2ViS2l0U2hvd0xpbmtQcmV2aWV3c1ByZWZlcmVu
Y2VDaGFuZ2VkIjsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oV0FUQ0hPUykKQEAgLTc1NTEsMTEg
Kzc1NTAsNiBAQCBzdGF0aWMgTlNTdHJpbmcgKnByZXZpZXdJZGVudGlmaWVyRm9yRWxlbWVudEFj
dGlvbihfV0tFbGVtZW50QWN0aW9uICphY3Rpb24pCiAgICAgICAgICAgICBbcHJldmlld0NsaWNr
SW50ZXJhY3Rpb24gc2V0RHJpdmVyOmRyaXZlcl07CiAgICAgICAgICAgICBbZHJpdmVyIHNldERl
bGVnYXRlOihpZDxfVUlDbGlja0ludGVyYWN0aW9uRHJpdmVyRGVsZWdhdGU+KXByZXZpZXdDbGlj
a0ludGVyYWN0aW9uXTsKICAgICAgICAgfQotCi0gICAgICAgIFtzZWxmIF9zaG93TGlua1ByZXZp
ZXdzUHJlZmVyZW5jZUNoYW5nZWQ6bmlsXTsKLQotICAgICAgICBbW05TTm90aWZpY2F0aW9uQ2Vu
dGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyOnNlbGYgc2VsZWN0b3I6QHNlbGVjdG9yKF9z
aG93TGlua1ByZXZpZXdzUHJlZmVyZW5jZUNoYW5nZWQ6KSBuYW1lOndlYmtpdFNob3dMaW5rUHJl
dmlld3NQcmVmZXJlbmNlQ2hhbmdlZE5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsXTsKLQogICAgICAg
ICByZXR1cm47CiAgICAgfQogI2VuZGlmCkBAIC03NTc2LDggKzc1NzAsNiBAQCBzdGF0aWMgTlNT
dHJpbmcgKnByZXZpZXdJZGVudGlmaWVyRm9yRWxlbWVudEFjdGlvbihfV0tFbGVtZW50QWN0aW9u
ICphY3Rpb24pCiAKICAgICAgICAgW3NlbGYgcmVtb3ZlSW50ZXJhY3Rpb246X2NvbnRleHRNZW51
SW50ZXJhY3Rpb24uZ2V0KCldOwogICAgICAgICBfY29udGV4dE1lbnVJbnRlcmFjdGlvbiA9IG5p
bDsKLQotICAgICAgICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92
ZU9ic2VydmVyOnNlbGYgbmFtZTp3ZWJraXRTaG93TGlua1ByZXZpZXdzUHJlZmVyZW5jZUNoYW5n
ZWROb3RpZmljYXRpb24gb2JqZWN0Om5pbF07CiAgICAgICAgIHJldHVybjsKICAgICB9CiAjZW5k
aWYKQEAgLTc1OTAsMTYgKzc1ODIsNiBAQCBzdGF0aWMgTlNTdHJpbmcgKnByZXZpZXdJZGVudGlm
aWVyRm9yRWxlbWVudEFjdGlvbihfV0tFbGVtZW50QWN0aW9uICphY3Rpb24pCiAKICNpZiBVU0Uo
VUlDT05URVhUTUVOVSkKIAotLSAodm9pZClfc2hvd0xpbmtQcmV2aWV3c1ByZWZlcmVuY2VDaGFu
Z2VkOihOU05vdGlmaWNhdGlvbiAqKW5vdGlmaWNhdGlvbgotewotICAgIEJvb2xlYW4ga2V5RXhp
c3RzQW5kSGFzVmFsaWRGb3JtYXQgPSBmYWxzZTsKLSAgICBCb29sZWFuIHByZWZWYWx1ZSA9IENG
UHJlZmVyZW5jZXNHZXRBcHBCb29sZWFuVmFsdWUoKF9fYnJpZGdlIENGU3RyaW5nUmVmKXdlYmtp
dFNob3dMaW5rUHJldmlld3NQcmVmZXJlbmNlS2V5LCBrQ0ZQcmVmZXJlbmNlc0N1cnJlbnRBcHBs
aWNhdGlvbiwgJmtleUV4aXN0c0FuZEhhc1ZhbGlkRm9ybWF0KTsKLSAgICBpZiAoa2V5RXhpc3Rz
QW5kSGFzVmFsaWRGb3JtYXQpCi0gICAgICAgIF9zaG93TGlua1ByZXZpZXdzID0gcHJlZlZhbHVl
OwotICAgIGVsc2UKLSAgICAgICAgX3Nob3dMaW5rUHJldmlld3MgPSBZRVM7Ci19Ci0KIHN0YXRp
YyBib29sIG5lZWRzRGVwcmVjYXRlZFByZXZpZXdBUEkoaWQ8V0tVSURlbGVnYXRlPiBkZWxlZ2F0
ZSkKIHsKICAgICAvLyBGSVhNRTogUmVwbGFjZSB0aGVzZSB3aXRoIGJvb2xlYW5zIGluIFVJRGVs
ZWdhdGUuaC4KQEAgLTc2NzgsNyArNzY2MCw3IEBAIHN0YXRpYyBOU0FycmF5PFVJTWVudUVsZW1l
bnQgKj4gKm1lbnVFbGVtZW50c0Zyb21EZWZhdWx0QWN0aW9ucyhjb25zdCBSZXRhaW5QdHI8CiAg
ICAgcmV0dXJuIGFjdGlvbnM7CiB9CiAKLXN0YXRpYyBVSU1lbnUgKm1lbnVGcm9tTGVnYWN5UHJl
dmlld09yRGVmYXVsdEFjdGlvbnMoVUlWaWV3Q29udHJvbGxlciAqcHJldmlld1ZpZXdDb250cm9s
bGVyLCBjb25zdCBSZXRhaW5QdHI8TlNBcnJheT4mIGRlZmF1bHRFbGVtZW50QWN0aW9ucywgUmV0
YWluUHRyPF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvPiBlbGVtZW50SW5mbywgTlNTdHJpbmcgKnRp
dGxlKQorc3RhdGljIFVJTWVudSAqbWVudUZyb21MZWdhY3lQcmV2aWV3T3JEZWZhdWx0QWN0aW9u
cyhVSVZpZXdDb250cm9sbGVyICpwcmV2aWV3Vmlld0NvbnRyb2xsZXIsIGNvbnN0IFJldGFpblB0
cjxOU0FycmF5PiYgZGVmYXVsdEVsZW1lbnRBY3Rpb25zLCBSZXRhaW5QdHI8X1dLQWN0aXZhdGVk
RWxlbWVudEluZm8+IGVsZW1lbnRJbmZvLCBOU1N0cmluZyAqdGl0bGUgPSBuaWwpCiB7CiAgICAg
YXV0byBhY3Rpb25zID0gbWVudUVsZW1lbnRzRnJvbUxlZ2FjeVByZXZpZXcocHJldmlld1ZpZXdD
b250cm9sbGVyKTsKICAgICBpZiAoIWFjdGlvbnMpCkBAIC03Njg3LDE4ICs3NjY5LDMwIEBAIHN0
YXRpYyBVSU1lbnUgKm1lbnVGcm9tTGVnYWN5UHJldmlld09yRGVmYXVsdEFjdGlvbnMoVUlWaWV3
Q29udHJvbGxlciAqcHJldmlld1ZpCiAgICAgcmV0dXJuIFtVSU1lbnUgbWVudVdpdGhUaXRsZTp0
aXRsZSBjaGlsZHJlbjphY3Rpb25zXTsKIH0KIAotc3RhdGljIE5TU3RyaW5nICp0aXRsZUZvck1l
bnUoYm9vbCBpc0xpbmssIGJvb2wgc2hvd0xpbmtQcmV2aWV3cywgY29uc3QgVVJMJiB1cmwsIGNv
bnN0IFN0cmluZyYgdGl0bGUpCitzdGF0aWMgVUlNZW51ICptZW51V2l0aFNob3dMaW5rUHJldmll
d0FjdGlvbihVSU1lbnUgKm9yaWdpbmFsTWVudSkKIHsKLSAgICBpZiAoaXNMaW5rICYmICFzaG93
TGlua1ByZXZpZXdzKSB7Ci0gICAgICAgIGlmICghdXJsLmlzRW1wdHkoKSkgewotICAgICAgICAg
ICAgaWYgKFdURjo6cHJvdG9jb2xJc0phdmFTY3JpcHQodXJsKSkKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gV0VCX1VJX1NUUklOR19LRVkoIkphdmFTY3JpcHQiLCAiSmF2YVNjcmlwdCBBY3Rpb24g
U2hlZXQgVGl0bGUiLCAiVGl0bGUgZm9yIGFjdGlvbiBzaGVldCBmb3IgSmF2YVNjcmlwdCBsaW5r
Iik7Ci0gICAgICAgICAgICByZXR1cm4gV1RGOjp1c2VyVmlzaWJsZVN0cmluZyh1cmwpOworICAg
IGlmICghb3JpZ2luYWxNZW51KQorICAgICAgICByZXR1cm4gbmlsOworCisgICAgLy8gTG9vayBm
b3IgYSBVSUFjdGlvbiB0aGF0IGhhcyB0aGUgV0tFbGVtZW50QWN0aW9uVHlwZVRvZ2dsZVNob3dM
aW5rUHJldmlld3NJZGVudGlmaWVyLgorICAgIE5TVUludGVnZXIgcmVzdWx0ID0gW29yaWdpbmFs
TWVudS5jaGlsZHJlbiBpbmRleE9mT2JqZWN0UGFzc2luZ1Rlc3Q6XkJPT0woVUlNZW51RWxlbWVu
dCAqZWxlbWVudCwgTlNVSW50ZWdlciBpbmRleCwgQk9PTCAqc3RvcCkgeworICAgICAgICBpZiAo
IVtlbGVtZW50IGlzS2luZE9mQ2xhc3M6W1VJQWN0aW9uIGNsYXNzXV0pCisgICAgICAgICAgICBy
ZXR1cm4gTk87CisgICAgICAgIGlmIChbKFVJQWN0aW9uICopZWxlbWVudCBpZGVudGlmaWVyXSA9
PSBXS0VsZW1lbnRBY3Rpb25UeXBlVG9nZ2xlU2hvd0xpbmtQcmV2aWV3c0lkZW50aWZpZXIpIHsK
KyAgICAgICAgICAgICpzdG9wID0gWUVTOworICAgICAgICAgICAgcmV0dXJuIFlFUzsKICAgICAg
ICAgfQotICAgIH0gZWxzZSBpZiAoIWlzTGluayAmJiAhdGl0bGUuaXNFbXB0eSgpKQotICAgICAg
ICByZXR1cm4gdGl0bGU7CisgICAgICAgIHJldHVybiBOTzsKKyAgICB9XTsKKyAgICBpZiAocmVz
dWx0ICE9IE5TTm90Rm91bmQpCisgICAgICAgIHJldHVybiBvcmlnaW5hbE1lbnU7CiAKLSAgICBy
ZXR1cm4gbmlsOworICAgIC8vIFdlIGRpZG4ndCBmaW5kIG9uZSwgc28gbWFrZSBhIG5ldyBVSU1l
bnUgd2l0aCB0aGUgdG9nZ2xlIGFjdGlvbi4KKyAgICBOU011dGFibGVBcnJheTxVSU1lbnVFbGVt
ZW50ICo+ICptZW51RWxlbWVudHMgPSBbTlNNdXRhYmxlQXJyYXkgYXJyYXlXaXRoQ2FwYWNpdHk6
KG9yaWdpbmFsTWVudS5jaGlsZHJlbi5jb3VudCArIDEpXTsKKyAgICBbbWVudUVsZW1lbnRzIGFk
ZE9iamVjdHNGcm9tQXJyYXk6b3JpZ2luYWxNZW51LmNoaWxkcmVuXTsKKyAgICBfV0tFbGVtZW50
QWN0aW9uICp0b2dnbGVBY3Rpb24gPSBbX1dLRWxlbWVudEFjdGlvbiBlbGVtZW50QWN0aW9uV2l0
aFR5cGU6X1dLRWxlbWVudEFjdGlvblRvZ2dsZVNob3dMaW5rUHJldmlld3NdOworICAgIFttZW51
RWxlbWVudHMgYWRkT2JqZWN0Olt0b2dnbGVBY3Rpb24gdWlBY3Rpb25Gb3JFbGVtZW50SW5mbzpu
aWxdXTsKKyAgICByZXR1cm4gW29yaWdpbmFsTWVudSBtZW51QnlSZXBsYWNpbmdDaGlsZHJlbjpt
ZW51RWxlbWVudHNdOwogfQogCiAtICh2b2lkKWFzc2lnbkxlZ2FjeURhdGFGb3JDb250ZXh0TWVu
dUludGVyYWN0aW9uCkBAIC03NzMzLDYgKzc3MjcsNyBAQCBzdGF0aWMgTlNTdHJpbmcgKnRpdGxl
Rm9yTWVudShib29sIGlzTGluaywgYm9vbCBzaG93TGlua1ByZXZpZXdzLCBjb25zdCBVUkwmIHVy
bAogICAgICAgICBpZiAoW3VpRGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcih3
ZWJWaWV3OnByZXZpZXdpbmdWaWV3Q29udHJvbGxlckZvckVsZW1lbnQ6ZGVmYXVsdEFjdGlvbnM6
KV0pIHsKICAgICAgICAgICAgIGF1dG8gZGVmYXVsdEFjdGlvbnMgPSB3a0xlZ2FjeVByZXZpZXdB
Y3Rpb25zRnJvbUVsZW1lbnRBY3Rpb25zKGRlZmF1bHRBY3Rpb25zRnJvbUFzc2lzdGFudC5nZXQo
KSwgZWxlbWVudEluZm8uZ2V0KCkpOwogICAgICAgICAgICAgYXV0byBwcmV2aWV3RWxlbWVudElu
Zm8gPSBhZG9wdE5TKFtbV0tQcmV2aWV3RWxlbWVudEluZm8gYWxsb2NdIF9pbml0V2l0aExpbmtV
Ukw6dXJsXSk7CisgICAgICAgICAgICAvLyBGSVhNRTogQ2xpZW50cyB1c2luZyB0aGlzIGxlZ2Fj
eSBBUEkgd2lsbCBhbHdheXMgc2hvdyB0aGVpciBwcmV2aWV3Vmlld0NvbnRyb2xsZXIgYW5kIGln
bm9yZSBfc2hvd0xpbmtQcmV2aWV3cy4KICAgICAgICAgICAgIHByZXZpZXdWaWV3Q29udHJvbGxl
ciA9IFt1aURlbGVnYXRlIHdlYlZpZXc6X3dlYlZpZXcgcHJldmlld2luZ1ZpZXdDb250cm9sbGVy
Rm9yRWxlbWVudDpwcmV2aWV3RWxlbWVudEluZm8uZ2V0KCkgZGVmYXVsdEFjdGlvbnM6ZGVmYXVs
dEFjdGlvbnNdOwogICAgICAgICB9IGVsc2UgaWYgKFt1aURlbGVnYXRlIHJlc3BvbmRzVG9TZWxl
Y3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6cHJldmlld1ZpZXdDb250cm9sbGVyRm9yVVJMOmRlZmF1
bHRBY3Rpb25zOmVsZW1lbnRJbmZvOildKQogICAgICAgICAgICAgcHJldmlld1ZpZXdDb250cm9s
bGVyID0gW3VpRGVsZWdhdGUgX3dlYlZpZXc6X3dlYlZpZXcgcHJldmlld1ZpZXdDb250cm9sbGVy
Rm9yVVJMOnVybCBkZWZhdWx0QWN0aW9uczpkZWZhdWx0QWN0aW9uc0Zyb21Bc3Npc3RhbnQuZ2V0
KCkgZWxlbWVudEluZm86ZWxlbWVudEluZm8uZ2V0KCldOwpAQCAtNzc1MiwxNSArNzc0NywxNCBA
QCBzdGF0aWMgTlNTdHJpbmcgKnRpdGxlRm9yTWVudShib29sIGlzTGluaywgYm9vbCBzaG93TGlu
a1ByZXZpZXdzLCBjb25zdCBVUkwmIHVybAogICAgICAgICAgICAgICAgICAgICBfY29udGV4dE1l
bnVMZWdhY3lQcmV2aWV3Q29udHJvbGxlciA9IGRhdGFEZXRlY3RvcnNSZXN1bHQuZ2V0KCkucHJl
dmlld1Byb3ZpZGVyKCk7CiAgICAgICAgICAgICAgICAgaWYgKGRhdGFEZXRlY3RvcnNSZXN1bHQg
JiYgZGF0YURldGVjdG9yc1Jlc3VsdC5nZXQoKS5hY3Rpb25Qcm92aWRlcikgewogICAgICAgICAg
ICAgICAgICAgICBhdXRvIG1lbnVFbGVtZW50cyA9IG1lbnVFbGVtZW50c0Zyb21EZWZhdWx0QWN0
aW9ucyhkZWZhdWx0QWN0aW9uc0Zyb21Bc3Npc3RhbnQsIGVsZW1lbnRJbmZvKTsKLSAgICAgICAg
ICAgICAgICAgICAgX2NvbnRleHRNZW51TGVnYWN5TWVudSA9IGRhdGFEZXRlY3RvcnNSZXN1bHQu
Z2V0KCkuYWN0aW9uUHJvdmlkZXIobWVudUVsZW1lbnRzKTsKKyAgICAgICAgICAgICAgICAgICAg
X2NvbnRleHRNZW51TGVnYWN5TWVudSA9IG1lbnVXaXRoU2hvd0xpbmtQcmV2aWV3QWN0aW9uKGRh
dGFEZXRlY3RvcnNSZXN1bHQuZ2V0KCkuYWN0aW9uUHJvdmlkZXIobWVudUVsZW1lbnRzKSk7CiAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIEVORF9CTE9DS19PQkpDX0VYQ0VQVElP
TlM7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAg
ICAgICBhdXRvIG1lbnVUaXRsZSA9IHRpdGxlRm9yTWVudSh0cnVlLCBfc2hvd0xpbmtQcmV2aWV3
cywgdXJsLCBfcG9zaXRpb25JbmZvcm1hdGlvbi50aXRsZSk7Ci0gICAgICAgIF9jb250ZXh0TWVu
dUxlZ2FjeU1lbnUgPSBtZW51RnJvbUxlZ2FjeVByZXZpZXdPckRlZmF1bHRBY3Rpb25zKHByZXZp
ZXdWaWV3Q29udHJvbGxlciwgZGVmYXVsdEFjdGlvbnNGcm9tQXNzaXN0YW50LCBlbGVtZW50SW5m
bywgbWVudVRpdGxlKTsKKyAgICAgICAgX2NvbnRleHRNZW51TGVnYWN5TWVudSA9IG1lbnVGcm9t
TGVnYWN5UHJldmlld09yRGVmYXVsdEFjdGlvbnMocHJldmlld1ZpZXdDb250cm9sbGVyLCBkZWZh
dWx0QWN0aW9uc0Zyb21Bc3Npc3RhbnQsIGVsZW1lbnRJbmZvKTsKIAogICAgIH0gZWxzZSBpZiAo
X3Bvc2l0aW9uSW5mb3JtYXRpb24uaXNJbWFnZSkgewogICAgICAgICBOU1VSTCAqbnNVUkwgPSAo
TlNVUkwgKil1cmw7CkBAIC03Nzg3LDExICs3NzgxLDEwIEBAIHN0YXRpYyBOU1N0cmluZyAqdGl0
bGVGb3JNZW51KGJvb2wgaXNMaW5rLCBib29sIHNob3dMaW5rUHJldmlld3MsIGNvbnN0IFVSTCYg
dXJsCiAgICAgICAgICAgICBwcmV2aWV3Vmlld0NvbnRyb2xsZXIgPSBbW1dLSW1hZ2VQcmV2aWV3
Vmlld0NvbnRyb2xsZXIgYWxsb2NdIGluaXRXaXRoQ0dJbWFnZTpjZ0ltYWdlIGRlZmF1bHRBY3Rp
b25zOmRlZmF1bHRBY3Rpb25zRnJvbUFzc2lzdGFudC5nZXQoKSBlbGVtZW50SW5mbzplbGVtZW50
SW5mby5nZXQoKV07CiAgICAgICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAog
Ci0gICAgICAgIGF1dG8gbWVudVRpdGxlID0gdGl0bGVGb3JNZW51KGZhbHNlLCBfc2hvd0xpbmtQ
cmV2aWV3cywgdXJsLCBfcG9zaXRpb25JbmZvcm1hdGlvbi50aXRsZSk7Ci0gICAgICAgIF9jb250
ZXh0TWVudUxlZ2FjeU1lbnUgPSBtZW51RnJvbUxlZ2FjeVByZXZpZXdPckRlZmF1bHRBY3Rpb25z
KHByZXZpZXdWaWV3Q29udHJvbGxlciwgZGVmYXVsdEFjdGlvbnNGcm9tQXNzaXN0YW50LCBlbGVt
ZW50SW5mbywgbWVudVRpdGxlKTsKKyAgICAgICAgX2NvbnRleHRNZW51TGVnYWN5TWVudSA9IG1l
bnVGcm9tTGVnYWN5UHJldmlld09yRGVmYXVsdEFjdGlvbnMocHJldmlld1ZpZXdDb250cm9sbGVy
LCBkZWZhdWx0QWN0aW9uc0Zyb21Bc3Npc3RhbnQsIGVsZW1lbnRJbmZvLCBfcG9zaXRpb25JbmZv
cm1hdGlvbi50aXRsZSk7CiAgICAgfQogCi0gICAgX2NvbnRleHRNZW51TGVnYWN5UHJldmlld0Nv
bnRyb2xsZXIgPSBfc2hvd0xpbmtQcmV2aWV3cyA/IHByZXZpZXdWaWV3Q29udHJvbGxlciA6IG51
bGxwdHI7CisgICAgX2NvbnRleHRNZW51TGVnYWN5UHJldmlld0NvbnRyb2xsZXIgPSBwcmV2aWV3
Vmlld0NvbnRyb2xsZXI7CiB9CiAKIC0gKFVJQ29udGV4dE1lbnVDb25maWd1cmF0aW9uICopY29u
dGV4dE1lbnVJbnRlcmFjdGlvbjooVUlDb250ZXh0TWVudUludGVyYWN0aW9uICopaW50ZXJhY3Rp
b24gY29uZmlndXJhdGlvbkZvck1lbnVBdExvY2F0aW9uOihDR1BvaW50KWxvY2F0aW9uCkBAIC03
ODA5LDYgKzc4MDIsMTAgQEAgc3RhdGljIE5TU3RyaW5nICp0aXRsZUZvck1lbnUoYm9vbCBpc0xp
bmssIGJvb2wgc2hvd0xpbmtQcmV2aWV3cywgY29uc3QgVVJMJiB1cmwKICAgICBpZiAoIV93ZWJW
aWV3LmNvbmZpZ3VyYXRpb24uX2xvbmdQcmVzc0FjdGlvbnNFbmFibGVkKQogICAgICAgICByZXR1
cm4gY29tcGxldGlvbihuaWwpOwogCisgICAgX3Nob3dMaW5rUHJldmlld3MgPSB0cnVlOworICAg
IGlmIChOU051bWJlciAqdmFsdWUgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1
bHRzXSBvYmplY3RGb3JLZXk6d2Via2l0U2hvd0xpbmtQcmV2aWV3c1ByZWZlcmVuY2VLZXldKQor
ICAgICAgICBfc2hvd0xpbmtQcmV2aWV3cyA9IHZhbHVlLmJvb2xWYWx1ZTsKKwogICAgIGNvbnN0
IGF1dG8gcG9zaXRpb24gPSBbaW50ZXJhY3Rpb24gbG9jYXRpb25JblZpZXc6c2VsZl07CiAgICAg
V2ViS2l0OjpJbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVxdWVzdCByZXF1ZXN0IHsgV2ViQ29yZTo6
cm91bmRlZEludFBvaW50KHBvc2l0aW9uKSB9OwogICAgIHJlcXVlc3QuaW5jbHVkZVNuYXBzaG90
ID0gdHJ1ZTsK
</data>
<flag name="review"
          id="390257"
          type_id="1"
          status="+"
          setter="bdakin"
    />
          </attachment>
      

    </bug>

</bugzilla>