<?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>195856</bug_id>
          
          <creation_ts>2019-03-16 14:21:23 -0700</creation_ts>
          <short_desc>[iOS] Software keyboard is shown too frequently on some websites</short_desc>
          <delta_ts>2019-04-12 10:30:08 -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>HTML Editing</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>rniwa</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1517471</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-03-16 14:21:23 -0700</bug_when>
    <thetext>Recent changes to keyboard/text input code should allow us to re-enable and respect the &quot;none&quot; value of the inputmode HTML attribute.

See also: &lt;https://bugs.webkit.org/show_bug.cgi?id=193811&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1520660</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-03-23 18:03:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/49191395&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526629</commentid>
    <comment_count>2</comment_count>
      <attachid>367287</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-04-11 21:45:22 -0700</bug_when>
    <thetext>Created attachment 367287
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526631</commentid>
    <comment_count>3</comment_count>
      <attachid>367289</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-04-11 21:54:06 -0700</bug_when>
    <thetext>Created attachment 367289
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526645</commentid>
    <comment_count>4</comment_count>
      <attachid>367293</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-04-11 22:51:16 -0700</bug_when>
    <thetext>Created attachment 367293
Try to fix the OpenSource build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526667</commentid>
    <comment_count>5</comment_count>
      <attachid>367298</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2019-04-11 23:56:17 -0700</bug_when>
    <thetext>Created attachment 367298
Try to fix the open source build (2)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526803</commentid>
    <comment_count>6</comment_count>
      <attachid>367298</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-12 10:30:06 -0700</bug_when>
    <thetext>Comment on attachment 367298
Try to fix the open source build (2)

Clearing flags on attachment: 367298

Committed r244220: &lt;https://trac.webkit.org/changeset/244220&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526804</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-04-12 10:30:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367287</attachid>
            <date>2019-04-11 21:45:22 -0700</date>
            <delta_ts>2019-04-11 21:54:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195856-20190411214522.patch</filename>
            <type>text/plain</type>
            <size>21245</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBiY2RmZGY4
NmQ3ODBiMDE3MTU2MTAxMGU3YzFkZmE3NGY4NjM5OGNjLi5lNzFiMGY0NjM3MTBiMmU1NjE3ZmE5
ODA2OTViOGE0MzBkODllOWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAxOS0wNC0xMSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAg
ICAgICBbaU9TXSBTb2Z0d2FyZSBrZXlib2FyZCBpcyBzaG93biB0b28gZnJlcXVlbnRseSBvbiBz
b21lIHdlYnNpdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTU4NTYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5MTkxMzk1PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERlY2xhcmUgbmV3IEdyYXBo
aWNzU2VydmljZXMgU1BJLgorCisgICAgICAgICogcGFsL3NwaS9pb3MvR3JhcGhpY3NTZXJ2aWNl
c1NQSS5oOgorCiAyMDE5LTA0LTEwICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+
CiAKICAgICAgICAgRW5hYmxlIFBvaW50ZXIgRXZlbnRzIG9uIHdhdGNoT1MKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
NDUzZTBlZjZiODMyYzkyMTkyZGYzOGJkODJlMDU4NDQ2MTA0NGM0NC4uNDcyNzc3NmRlNTVlYzkw
MjE5ODk5NDQ3NTQ3ZmJiOTAzY2E5ZDJmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBAQAorMjAx
OS0wNC0xMSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAg
ICBbaU9TXSBTb2Z0d2FyZSBrZXlib2FyZCBpcyBzaG93biB0b28gZnJlcXVlbnRseSBvbiBzb21l
IHdlYnNpdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTU4NTYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5MTkxMzk1PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9uIHNvbWUgd2Vic2l0ZXMsIGhp
ZGRlbiBlZGl0YWJsZSBlbGVtZW50cyBhcmUgdmVyeSBmcmVxdWVudGx5IGZvY3VzZWQgdXBvbiB1
c2VyIGludGVyYWN0aW9uLiBDdXJyZW50bHksIHRoaXMKKyAgICAgICAgY2F1c2VzIHRoZSBzb2Z0
d2FyZSBrZXlib2FyZCB0byBwb3AgaW4gYW5kIG91dCB1bmV4cGVjdGVkbHk7IGx1Y2tpbHksIHRo
ZXNlIHNhbWUgc2l0ZXMgYWxzbyBhcHBseQorICAgICAgICBpbnB1dG1vZGU9Im5vbmUiIHRvIHRo
ZSBoaWRkZW4gZWRpdGFibGUgZWxlbWVudCwgd2hpY2ggb3VnaHQgdG8gZW5zdXJlIHRoYXQgdGhl
IHNvZnR3YXJlIGtleWJvYXJkIGRvZXNuJ3QgYXBwZWFyCisgICAgICAgIHdoZW4gdGhlIGVsZW1l
bnQgaXMgZm9jdXNlZC4KKworICAgICAgICBIb3dldmVyLCBzaW5jZSB3ZSBkaXNhYmxlZCBzdXBw
b3J0IGZvciBpbnB1dG1vZGU9Im5vbmUiIGluIHIyNDA0OTcsIHRoZSBzb2Z0d2FyZSBrZXlib2Fy
ZCBpcyBubyBsb25nZXIKKyAgICAgICAgc3VwcHJlc3NlZCwgYW5kIGJlY29tZXMgYSBiaWcgbnVp
c3NhbmNlLiByMjQwNDk3IHJlbW92ZWQgc3VwcG9ydCBmb3IgdGhpcyBmZWF0dXJlIGJlY2F1c2Us
IHdoZW4gdXNpbmcgYSBoYXJkd2FyZQorICAgICAgICBrZXlib2FyZCwgcHJlc3NpbmcgdGhlIGds
b2JlIGtleSBubyBsb25nZXIgc2hvd2VkIFVJIGZvciBzd2l0Y2hpbmcgbGFuZ3VhZ2VzLiBIb3dl
dmVyLCBzdXBwb3J0IGZvciBpbnB1dG1vZGUKKyAgICAgICAgbm9uZSBtYWtlcyBhIG11Y2ggbGFy
Z2VyIGltcGFjdCB3aGVuIGEgc29mdHdhcmUga2V5Ym9hcmQgaXMgdXNlZCAoc2luY2UgdGhlIGVu
dGlyZSBzb2Z0d2FyZSBrZXlib2FyZCBhbmltYXRlcyBpbgorICAgICAgICBhbmQgb3V0KSwgd2hl
cmVhcyBhIGhhcmR3YXJlIGtleWJvYXJkIG9ubHkgZGlzcGxheXMgYW4gaW5wdXQgYWNjZXNzb3J5
IHZpZXcuIEZvciB0aGlzIHJlYXNvbiwgd2UgY2FuIG1pdGlnYXRlCisgICAgICAgIHRoaXMgYnVn
IHdpdGhvdXQgcmVpbnRyb2R1Y2luZyA8cmRhcjovL3Byb2JsZW0vNDc0MDY1NTM+IGJ5IHJlLWVu
YWJsaW5nIGlucHV0bW9kZT0ibm9uZSIsIGJ1dCBvbmx5IHdoZW4gYQorICAgICAgICBoYXJkd2Fy
ZSBrZXlib2FyZCBpcyBub3QgYXR0YWNoZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKGhhcmR3YXJlS2V5Ym9hcmRBdmFpbGFiaWxpdHlD
aGFuZ2VkQ2FsbGJhY2spOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0lu
dGVyYWN0aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgc2hvdWxkU2hvd0F1dG9tYXRpY0tl
eWJvYXJkVUldKToKKworICAgICAgICBEb24ndCBzaG93IHRoZSBrZXlib2FyZCBpZiBpbnB1dG1v
ZGUgaXMgbm9uZSBhbmQgYSBoYXJkd2FyZSBrZXlib2FyZCBpcyBub3QgYXR0YWNoZWQuCisKKyAg
ICAgICAgKC1bV0tDb250ZW50VmlldyBfaGFyZHdhcmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5n
ZWRdKToKKworICAgICAgICBSZWxvYWQgaW5wdXQgdmlld3MgaWYgdGhlIGlucHV0bW9kZSBpcyBu
b25lIHRvIGVuc3VyZSB0aGF0IGlmIGEgaGFyZHdhcmUga2V5Ym9hcmQgaXMgYXR0YWNoZWQgd2hp
bGUgZWRpdGluZyBhbgorICAgICAgICBlbGVtZW50IHdpdGggaW5wdXRtb2RlPSJub25lIiwgd2Un
bGwgc2hvdyB0aGUgaW5wdXQgYWNjZXNzb3J5IHZpZXcgb25jZSBhZ2Fpbi4KKwogMjAxOS0wNC0x
MSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBBbGxv
dyB0aGUgTWVkaWFTb3VyY2UgQVBJIHRvIGJlIGVuYWJsZWQgdmlhIHdlYnNpdGUgcG9saWN5CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9pb3MvR3JhcGhpY3NTZXJ2aWNl
c1NQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvaW9zL0dyYXBoaWNzU2VydmljZXNT
UEkuaAppbmRleCAxYjViZDk3ODRmYWM2M2UxYmFhZDM1NTlhYmZiN2JlZTVjMTAxNmQ3Li5lODk5
ZTIxZjRjYTcyMDNiOGRmMGYwYTkyOWFiMzY2NTJkYmU1OTA5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9pb3MvR3JhcGhpY3NTZXJ2aWNlc1NQSS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2lvcy9HcmFwaGljc1NlcnZpY2VzU1BJLmgKQEAgLTQ2LDYg
KzQ2LDcgQEAgdm9pZCBHU0ZvbnRQdXJnZUZvbnRDYWNoZSh2b2lkKTsKIHR5cGVkZWYgc3RydWN0
IF9fR1NLZXlib2FyZCogR1NLZXlib2FyZFJlZjsKIHVpbnQzMl90IEdTS2V5Ym9hcmRHZXRNb2Rp
ZmllclN0YXRlKEdTS2V5Ym9hcmRSZWYpOwogQm9vbGVhbiBHU0V2ZW50SXNIYXJkd2FyZUtleWJv
YXJkQXR0YWNoZWQoKTsKK3ZvaWQgR1NFdmVudFNldEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZChC
b29sZWFuIGF0dGFjaGVkLCB1aW50OF90IGNvdW50cnkpOwogCiBleHRlcm4gY29uc3QgY2hhciAq
a0dTRXZlbnRIYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZE5vdGlmaWNhdGlvbjsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
dy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5k
ZXggMjU0NWYwZWUxMzNlOWFlY2MzYmM1YWYwYThkOGVmZDE5MDc1MjNhZi4uMzE2YTNkYWY0Y2Nl
N2U4ZWI4NWI2YzhjYzY0ZjY3YmM0OTcxYzJjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0zMzMyLDYgKzMzMzIsNyBAQCBzdGF0aWMg
dm9pZCBoYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZENhbGxiYWNrKENGTm90aWZp
Y2F0aW9uQ2VudGVyUmVmLAogewogICAgIEFTU0VSVChvYnNlcnZlcik7CiAgICAgV0tXZWJWaWV3
ICp3ZWJWaWV3ID0gKF9fYnJpZGdlIFdLV2ViVmlldyAqKW9ic2VydmVyOworICAgIFt3ZWJWaWV3
LT5fY29udGVudFZpZXcgX2hhcmR3YXJlS2V5Ym9hcmRBdmFpbGFiaWxpdHlDaGFuZ2VkXTsKICAg
ICB3ZWJWaWV3Ll9wYWdlLT5oYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZChHU0V2
ZW50SXNIYXJkd2FyZUtleWJvYXJkQXR0YWNoZWQoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAppbmRleCA3
ZmRkMTQ2ODI5ODhhMTZkOWFjNDE2MGJlNzg2NmUyN2E1Njg3OTE0Li5lYjViZDQzMjhkY2NlNzYz
OTAyMjNmZGRlOGVmNmU5ZjJlM2E1Y2RiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCkBAIC00MTUsNiArNDE1LDcg
QEAgRk9SX0VBQ0hfUFJJVkFURV9XS0NPTlRFTlRWSUVXX0FDVElPTihERUNMQVJFX1dLQ09OVEVO
VFZJRVdfQUNUSU9OX0ZPUl9XRUJfVklFVykKIC0gKHZvaWQpX2VsZW1lbnREaWRCbHVyOwogLSAo
dm9pZClfZGlkVXBkYXRlSW5wdXRNb2RlOihXZWJDb3JlOjpJbnB1dE1vZGUpbW9kZTsKIC0gKHZv
aWQpX2RpZFJlY2VpdmVFZGl0b3JTdGF0ZVVwZGF0ZUFmdGVyRm9jdXM7CistICh2b2lkKV9oYXJk
d2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZDsKIC0gKHZvaWQpX3NlbGVjdGlvbkNoYW5n
ZWQ7CiAtICh2b2lkKV91cGRhdGVDaGFuZ2VkU2VsZWN0aW9uOwogLSAoQk9PTClfaW50ZXJwcmV0
S2V5RXZlbnQ6KDo6V2ViRXZlbnQgKil0aGVFdmVudCBpc0NoYXJFdmVudDooQk9PTClpc0NoYXJF
dmVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IDg0ZTczMWZjNDJkMzY5NzVkMDc5NDNhYWM5MTQwZjIw
MmIwZjA5MDEuLmYwYWE1YjdjMWZjMjYzMTcwMzJiNjIxNWNlNTY2ZDFjMmQyNzZjZmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRl
cmFjdGlvbi5tbQpAQCAtMTAwLDYgKzEwMCw3IEBACiAjaW1wb3J0IDxwYWwvc3BpL2NnL0NvcmVH
cmFwaGljc1NQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNQ
SS5oPgogI2ltcG9ydCA8cGFsL3NwaS9pb3MvRGF0YURldGVjdG9yc1VJU1BJLmg+CisjaW1wb3J0
IDxwYWwvc3BpL2lvcy9HcmFwaGljc1NlcnZpY2VzU1BJLmg+CiAjaW1wb3J0IDx3dGYvT3B0aW9u
YWwuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbXBvcnQgPHd0Zi9TZXRGb3JTY29w
ZS5oPgpAQCAtMTE4LDcgKzExOSw2IEBACiAjaW1wb3J0ICJOYXRpdmVXZWJNb3VzZUV2ZW50Lmgi
CiAjaW1wb3J0IDxVSUtpdC9VSUhvdmVyR2VzdHVyZVJlY29nbml6ZXIuaD4KICNpbXBvcnQgPFVJ
S2l0L19VSUxvb2t1cEdlc3R1cmVSZWNvZ25pemVyLmg+Ci0jaW1wb3J0IDxwYWwvc3BpL2lvcy9H
cmFwaGljc1NlcnZpY2VzU1BJLmg+CiAjZW5kaWYKIAogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NP
TE9SKQpAQCAtMTU5NSw3ICsxNTk1LDEyIEBAIC0gKHZvaWQpX3Njcm9sbGluZ05vZGVTY3JvbGxp
bmdEaWRFbmQKIAogLSAoQk9PTClzaG91bGRTaG93QXV0b21hdGljS2V5Ym9hcmRVSQogewotICAg
IC8vIEZJWE1FOiBNYWtlIHRoaXMgZnVuY3Rpb24ga25vd2xlZGdlYWJsZSBhYm91dCB0aGUgSFRN
TCBhdHRyaWJ1dGUgaW5wdXRtb2RlLgorICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgc3VwcG9ydCBp
bnB1dG1vZGU9Im5vbmUiIHdoZW4gdGhlIGhhcmR3YXJlIGtleWJvYXJkIGlzIGF0dGFjaGVkLgor
ICAgIC8vIFdlIGN1cnJlbnRseSByZWZyYWluIGZyb20gZG9pbmcgc28gYmVjYXVzZSB0aGF0IHdv
dWxkIHByZXZlbnQgVUlLaXQgZnJvbSBzaG93aW5nCisgICAgLy8gdGhlIGxhbmd1YWdlIHBpY2tl
ciB3aGVuIHByZXNzaW5nIHRoZSBnbG9iZSBrZXkgdG8gY2hhbmdlIHRoZSBpbnB1dCBsYW5ndWFn
ZS4KKyAgICBpZiAoX2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uaW5wdXRNb2RlID09IFdlYkNv
cmU6OklucHV0TW9kZTo6Tm9uZSAmJiAhR1NFdmVudElzSGFyZHdhcmVLZXlib2FyZEF0dGFjaGVk
KCkpCisgICAgICAgIHJldHVybiBOTzsKKwogICAgIHN3aXRjaCAoX2ZvY3VzZWRFbGVtZW50SW5m
b3JtYXRpb24uZWxlbWVudFR5cGUpIHsKICAgICBjYXNlIFdlYktpdDo6SW5wdXRUeXBlOjpOb25l
OgogICAgIGNhc2UgV2ViS2l0OjpJbnB1dFR5cGU6OkRyYXdpbmc6CkBAIC01MTMzLDYgKzUxMzgs
MTIgQEAgLSAodm9pZClfZWxlbWVudERpZEJsdXIKICAgICAgICAgX2RpZEFjY2Vzc29yeVRhYklu
aXRpYXRlRm9jdXMgPSBOTzsKIH0KIAorLSAodm9pZClfaGFyZHdhcmVLZXlib2FyZEF2YWlsYWJp
bGl0eUNoYW5nZWQKK3sKKyAgICBpZiAoaGFzRm9jdXNlZEVsZW1lbnQoX2ZvY3VzZWRFbGVtZW50
SW5mb3JtYXRpb24pICYmIF9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLmlucHV0TW9kZSA9PSBX
ZWJDb3JlOjpJbnB1dE1vZGU6Ok5vbmUpCisgICAgICAgIFtzZWxmIHJlbG9hZElucHV0Vmlld3Nd
OworfQorCiAtICh2b2lkKV9kaWRVcGRhdGVJbnB1dE1vZGU6KFdlYkNvcmU6OklucHV0TW9kZSlt
b2RlCiB7CiAgICAgaWYgKCFzZWxmLmlucHV0RGVsZWdhdGUgfHwgX2ZvY3VzZWRFbGVtZW50SW5m
b3JtYXRpb24uZWxlbWVudFR5cGUgPT0gV2ViS2l0OjpJbnB1dFR5cGU6Ok5vbmUpCmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOGVjZmUxMWM2ZjU4
ZGEzY2M1MmUyYjNiNDgwOWMyYzJlZTI5YThjMC4uOTA4OTRkNzgzM2Y4MjJkZTg2N2I3OTY4MWNj
YTY0ZGIwZGQwZGMxOSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTA0LTExICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFNvZnR3YXJlIGtleWJvYXJkIGlz
IHNob3duIHRvbyBmcmVxdWVudGx5IG9uIHNvbWUgd2Vic2l0ZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTg1NgorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNDkxOTEzOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGF0dGFjaGluZyBvciBkZXRhY2hpbmcgdGhlIGhhcmR3
YXJlIGtleWJvYXJkIG9uIGlPUyBpbiBsYXlvdXQgdGVzdHMuCisKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RSOjpVSVNj
cmlwdENvbnRyb2xsZXI6OnNldEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZCk6CisgICAgICAgICog
VGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvQmluZGluZ3MvVUlTY3JpcHRDb250cm9s
bGVyLmlkbDoKKyAgICAgICAgKiBUZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNj
cmlwdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXI6OnNl
dEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZCk6CisgICAgICAgICogVGVzdFJ1bm5lclNoYXJlZC9V
SVNjcmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmg6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9Db25maWd1cmF0aW9ucy9XZWJLaXRUZXN0UnVubmVyQXBwLnhjY29uZmlnOgorCisg
ICAgICAgIEFkZGl0aW9uYWxseSBsaW5rIGFnYWluc3QgR3JhcGhpY3NTZXJ2aWNlcyBpbiBXZWJL
aXRUZXN0UnVubmVyLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRD
b250cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1S
ZXNldFN0YXRlVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKFdUUjo6VUlTY3JpcHRDb250
cm9sbGVyOjpzZXRIYXJkd2FyZUtleWJvYXJkQXR0YWNoZWQpOgorCiAyMDE5LTA0LTEwICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgV0tOYXZp
Z2F0aW9uUmVzcG9uc2UuX2Rvd25sb2FkQXR0cmlidXRlIHNob3VsZCBiZSBuaWwgd2hlbiBubyBk
b3dubG9hZCBhdHRyaWJ1dGUgaXMgcHJlc2VudApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0KaW5kZXggMmVlOTFiMDdhM2FiNjA3OGU4ZTAw
NGEyZTBlNzA5MGU5ZDc5OTAyMi4uZTFjYmQ2Y2FkNTM2YTRiMjdlNjVhZWQ5NmJkZjY5OGYwOThh
YjJmOCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvaW9zL1VJU2NyaXB0Q29udHJv
bGxlcklPUy5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9pb3MvVUlTY3JpcHRDb250cm9s
bGVySU9TLm1tCkBAIC01MzUsNiArNTM1LDEwIEBAIE5TVW5kb01hbmFnZXIgKlVJU2NyaXB0Q29u
dHJvbGxlcjo6cGxhdGZvcm1VbmRvTWFuYWdlcigpIGNvbnN0CiAgICAgcmV0dXJuIG5pbDsKIH0K
IAordm9pZCBVSVNjcmlwdENvbnRyb2xsZXI6OnNldEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZChi
b29sKQoreworfQorCiB9CiAKICNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvQmluZGluZ3MvVUlT
Y3JpcHRDb250cm9sbGVyLmlkbCBiL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250
ZXh0L0JpbmRpbmdzL1VJU2NyaXB0Q29udHJvbGxlci5pZGwKaW5kZXggMjNmZTMyNjVjNjE4ZDNi
OGEyNzU2MzM4ZjE3NDBmZjk0ZmI0M2Q1MC4uMTdhNTQ0YzU1M2Q0ZDZlOTdiNmVkYWE2ZmEyZDcz
OWJmYTJjNzBmMiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENv
bnRleHQvQmluZGluZ3MvVUlTY3JpcHRDb250cm9sbGVyLmlkbAorKysgYi9Ub29scy9UZXN0UnVu
bmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9CaW5kaW5ncy9VSVNjcmlwdENvbnRyb2xsZXIuaWRs
CkBAIC0zMTEsNiArMzExLDggQEAgaW50ZXJmYWNlIFVJU2NyaXB0Q29udHJvbGxlciB7CiAgICAg
dm9pZCBtYWtlV2luZG93Q29udGVudFZpZXdGaXJzdFJlc3BvbmRlcigpOwogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBib29sZWFuIGlzV2luZG93Q29udGVudFZpZXdGaXJzdFJlc3BvbmRlcjsKIAor
ICAgIHZvaWQgc2V0SGFyZHdhcmVLZXlib2FyZEF0dGFjaGVkKGJvb2xlYW4gYXR0YWNoZWQpOwor
CiAgICAgb2JqZWN0IGF0dGFjaG1lbnRJbmZvKERPTVN0cmluZyBhdHRhY2htZW50SWRlbnRpZmll
cik7CiAKICAgICAvLyBFZGl0aW5nCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0UnVubmVyU2hhcmVk
L1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvVGVzdFJ1bm5l
clNoYXJlZC9VSVNjcmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCA2ZmFh
YjA4Mzg3ZWVmMTMzOTE1OTNlZmViZWI0ZDExOWI3Y2U2ZjIzLi44ZWY2MTA2OThkOWMzYjQwMDgy
OGE2Yzg5ZTZkOWRiNTI4OWI5OTE4IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0UnVubmVyU2hhcmVk
L1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1Rlc3RS
dW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udHJvbGxlci5jcHAKQEAgLTYz
OCw2ICs2MzgsMTAgQEAgdm9pZCBVSVNjcmlwdENvbnRyb2xsZXI6OnNldEtleWJvYXJkSW5wdXRN
b2RlSWRlbnRpZmllcihKU1N0cmluZ1JlZikKIHsKIH0KIAordm9pZCBVSVNjcmlwdENvbnRyb2xs
ZXI6OnNldEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZChib29sZWFuKQoreworfQorCiAjZW5kaWYK
IAogI2lmICFQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RSdW5uZXJTaGFy
ZWQvVUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udHJvbGxlci5oIGIvVG9vbHMvVGVzdFJ1bm5l
clNoYXJlZC9VSVNjcmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmgKaW5kZXggZjI0Y2M3
ZWI3OWI2NTZiZWNkZjhmY2FiNjM3NWQ3OTIzZjRlYTk5Ny4uNTYwYTNkMmM5MjMxMzhiYmY5NDUz
ZWM0MWQwMzNlYmFlMTdjOWJjZSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9V
SVNjcmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvVGVzdFJ1bm5l
clNoYXJlZC9VSVNjcmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmgKQEAgLTI0MCw2ICsy
NDAsOCBAQCBwdWJsaWM6CiAKICAgICBKU09iamVjdFJlZiBhdHRhY2htZW50SW5mbyhKU1N0cmlu
Z1JlZiBhdHRhY2htZW50SWRlbnRpZmllcik7CiAKKyAgICB2b2lkIHNldEhhcmR3YXJlS2V5Ym9h
cmRBdHRhY2hlZChib29sKTsKKwogcHJpdmF0ZToKICAgICBVSVNjcmlwdENvbnRyb2xsZXIoVUlT
Y3JpcHRDb250ZXh0Jik7CiAgICAgCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0NvbmZpZ3VyYXRpb25zL1dlYktpdFRlc3RSdW5uZXJBcHAueGNjb25maWcgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0NvbmZpZ3VyYXRpb25zL1dlYktpdFRlc3RSdW5uZXJBcHAueGNjb25maWcK
aW5kZXggY2JhOTM2ZGY0ZTU4N2U5YjZmMjBhNzZkZjNhY2NiNTM2MTVhYjIzYy4uYTU2YzEwNzk1
NjRkMjU0MWQ3OTYzYmJkYzRiYTM1YTAzY2M3MzAyYiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9Db25maWd1cmF0aW9ucy9XZWJLaXRUZXN0UnVubmVyQXBwLnhjY29uZmlnCisr
KyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvQ29uZmlndXJhdGlvbnMvV2ViS2l0VGVzdFJ1bm5l
ckFwcC54Y2NvbmZpZwpAQCAtMzAsNyArMzAsNyBAQCBQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVS
ID0gb3JnLndlYmtpdC4kKFBST0RVQ1RfTkFNRTpyZmMxMDM0aWRlbnRpZmllcik7CiAKIEdDQ19F
TkFCTEVfT0JKQ19FWENFUFRJT05TID0gWUVTOwogCi1PVEhFUl9MREZMQUdTID0gJChpbmhlcml0
ZWQpIC1sV2ViS2l0VGVzdFJ1bm5lciAtbFdlYkNvcmVUZXN0U3VwcG9ydCAtZnJhbWV3b3JrIEph
dmFTY3JpcHRDb3JlIC1mcmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1mcmFtZXdvcmsgUXVhcnR6Q29y
ZSAtZnJhbWV3b3JrIEltYWdlSU8gLWZyYW1ld29yayBJT0tpdCAtZnJhbWV3b3JrIFVJS2l0IC1m
cmFtZXdvcmsgV2ViS2l0IC1mcmFtZXdvcmsgRm91bmRhdGlvbjsKK09USEVSX0xERkxBR1MgPSAk
KGluaGVyaXRlZCkgLWxXZWJLaXRUZXN0UnVubmVyIC1sV2ViQ29yZVRlc3RTdXBwb3J0IC1mcmFt
ZXdvcmsgSmF2YVNjcmlwdENvcmUgLWZyYW1ld29yayBDb3JlR3JhcGhpY3MgLWZyYW1ld29yayBR
dWFydHpDb3JlIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3JrIElPS2l0IC1mcmFtZXdvcmsg
R3JhcGhpY3NTZXJ2aWNlcyAtZnJhbWV3b3JrIFVJS2l0IC1mcmFtZXdvcmsgV2ViS2l0IC1mcmFt
ZXdvcmsgRm91bmRhdGlvbjsKIAogU0tJUF9JTlNUQUxMW3Nkaz1tYWNvc3gqXSA9IFlFUzsKIApk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1Mu
bW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQppbmRl
eCBlMGZhOWE1OGIwYWY3ZDhjZDE3MWVkMzkwNGEzOTRhZmEyMGNjNGI5Li4zZWVlMDA1ZjdhNjgw
M2MzMjJmYjcxNGY3NDQ2ZmQ2Y2VhYmJlNjJhIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQpAQCAtNDMsNiArNDMsNyBAQAogI2ltcG9ydCA8
V2ViS2l0L1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQv
V0tXZWJWaWV3UHJpdmF0ZS5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CisjaW1wb3J0IDxw
YWwvc3BpL2lvcy9HcmFwaGljc1NlcnZpY2VzU1BJLmg+CiAjaW1wb3J0IDx3dGYvTWFpblRocmVh
ZC5oPgogCiBzdGF0aWMgQk9PTCBvdmVycmlkZUlzSW5IYXJkd2FyZUtleWJvYXJkTW9kZSgpCkBA
IC0xNDEsNiArMTQyLDcgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1SZXNldFN0YXRl
VG9Db25zaXN0ZW50VmFsdWVzKGNvbnN0IFRlc3RPcHRpb25zJiBvcHQKIAogICAgIFtbVUlBcHBs
aWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0gX2NhbmNlbEFsbFRvdWNoZXNdOwogICAgIFtbVUlE
ZXZpY2UgY3VycmVudERldmljZV0gc2V0T3JpZW50YXRpb246VUlEZXZpY2VPcmllbnRhdGlvblBv
cnRyYWl0IGFuaW1hdGVkOk5PXTsKKyAgICBHU0V2ZW50U2V0SGFyZHdhcmVLZXlib2FyZEF0dGFj
aGVkKHRydWUsIDApOwogCiAgICAgbV9pbnB1dE1vZGVTd2l6emxlcnMuY2xlYXIoKTsKICAgICBt
X292ZXJyaWRkZW5LZXlib2FyZElucHV0TW9kZSA9IG5pbDsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbSBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQppbmRleCBkMjQ5Njc4N2E4
M2VjMDFjZTc0NjA3N2YwMzZlMTZhNTY1MjdmMmMwLi43NDhjM2ExZGIxNjA5OWYyMjU1ZDY2ZTY0
MTk5ODYwMzdkZDI2YmI4IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9V
SVNjcmlwdENvbnRyb2xsZXJJT1MubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3Mv
VUlTY3JpcHRDb250cm9sbGVySU9TLm1tCkBAIC00Miw2ICs0Miw3IEBACiAjaW1wb3J0IDxXZWJD
b3JlL0Zsb2F0UmVjdC5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KICNp
bXBvcnQgPFdlYktpdC9XZWJLaXQuaD4KKyNpbXBvcnQgPHBhbC9zcGkvaW9zL0dyYXBoaWNzU2Vy
dmljZXNTUEkuaD4KICNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgogI2ltcG9ydCA8d3RmL1Zl
Y3Rvci5oPgogCkBAIC0xMTQwLDYgKzExNDEsMTEgQEAgSlNPYmplY3RSZWYgVUlTY3JpcHRDb250
cm9sbGVyOjpjYWxlbmRhclR5cGUoKSBjb25zdAogICAgIHJldHVybiBKU1ZhbHVlVG9PYmplY3Qo
anNDb250ZXh0LCBbSlNWYWx1ZSB2YWx1ZVdpdGhPYmplY3Q6Y2FsZW5kYXJUeXBlU3RyaW5nIGlu
Q29udGV4dDpbSlNDb250ZXh0IGNvbnRleHRXaXRoSlNHbG9iYWxDb250ZXh0UmVmOmpzQ29udGV4
dF1dLkpTVmFsdWVSZWYsIG51bGxwdHIpOwogfQogCit2b2lkIFVJU2NyaXB0Q29udHJvbGxlcjo6
c2V0SGFyZHdhcmVLZXlib2FyZEF0dGFjaGVkKGJvb2wgYXR0YWNoZWQpCit7CisgICAgR1NFdmVu
dFNldEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZChhdHRhY2hlZCwgMCk7Cit9CisKIH0KIAogI2Vu
ZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzVmYTMxZTRlNjY4MzFkNzAzODJk
ZDRlYjRkNmQzZTVlZDhjMGVjMS4uNmZjZDFlYTJkMDg5MDE2ZmU3YmEzMzFkNTA0YWRmY2QxZjBk
YThkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE5LTA0LTExICBXZW5zb24gSHNpZWggIDx3
ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFNvZnR3YXJlIGtleWJvYXJk
IGlzIHNob3duIHRvbyBmcmVxdWVudGx5IG9uIHNvbWUgd2Vic2l0ZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTg1NgorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNDkxOTEzOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgRml4IGEgZmFpbGluZyBsYXlvdXQgdGVzdCwgd2hpY2ggKGFtb25nIG90aGVy
IHJlYXNvbnMpIGlzIGN1cnJlbnRseSBmYWlsaW5nIGJlY2F1c2Ugc3VwcG9ydCBmb3IgaW5wdXRt
b2RlPSJub25lIgorICAgICAgICBpcyBkaXNhYmxlZC4KKworICAgICAgICAqIGZhc3QvZm9ybXMv
aW9zL2lucHV0bW9kZS1ub25lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2lv
cy9pbnB1dG1vZGUtbm9uZS5odG1sOgorICAgICAgICAqIHJlc291cmNlcy91aS1oZWxwZXIuanM6
CisKKyAgICAgICAgQWRkIGEgVUlIZWxwZXIgbWV0aG9kIGZvciBhdHRhY2hpbmcgb3IgZGV0YWNo
aW5nIHRoZSBoYXJkd2FyZSBrZXlib2FyZC4KKworICAgICAgICAod2luZG93LlVJSGVscGVyLnNl
dEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZCk6CisgICAgICAgICh3aW5kb3cuVUlIZWxwZXIpOgor
CiAyMDE5LTA0LTExICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAg
ICAgICAgIEFsbG93IHRoZSBNZWRpYVNvdXJjZSBBUEkgdG8gYmUgZW5hYmxlZCB2aWEgd2Vic2l0
ZSBwb2xpY3kKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2lucHV0bW9k
ZS1ub25lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2lucHV0bW9k
ZS1ub25lLWV4cGVjdGVkLnR4dAppbmRleCBiMWM0YzgzMGZmZmU0NTZhMmJlOGVlNjljOWNhNWE1
NWNiNmI3Yjg0Li45MmI4ZTNmMjIzZTgxMWM5NmM3NDViNDMwNzJhOTg3MzI5NWIxZjdmIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9pbnB1dG1vZGUtbm9uZS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3MvaW5wdXRtb2RlLW5vbmUtZXhw
ZWN0ZWQudHh0CkBAIC0xLDI3ICsxLDI3IEBACisKKwogVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
dGhlIHN5c3RlbSBrZXlib2FyZCBpcyBub3QgdmlzaWJsZSB3aGVuIHRhcHBpbmcgb24gYW4gaW5w
dXQgZmllbGQgd2l0aCBpbnB1dG1vZGU9bm9uZS4KIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgogCiAKLQogQUNUSVZBVEUgaW5wdXQgd2l0aCBpbnB1dG1vZGU9dGV4dAotUEFTUyB0ZXh0S2V5
Ym9hcmRIZWlnaHQgPSBzeXN0ZW1LZXlib2FyZFJlY3QuaGVpZ2h0OyBzeXN0ZW1LZXlib2FyZFJl
Y3QuaGVpZ2h0ID4gMCBpcyB0cnVlCi1QQVNTIGlucHV0V2l0aFN5c3RlbUtleWJvYXJkLnZhbHVl
IGlzICJUZXh0IgorUEFTUyBzeXN0ZW1LZXlib2FyZFJlY3QuaGVpZ2h0ID4gMCBpcyB0cnVlCitQ
QVNTIGlucHV0V2l0aFN5c3RlbUtleWJvYXJkLnZhbHVlIGlzICdUZXh0JwogCiBBQ1RJVkFURSBp
bnB1dCB3aXRoIGlucHV0bW9kZT1ub25lCi1QQVNTIHN5c3RlbUtleWJvYXJkUmVjdC5oZWlnaHQg
aXMgdGV4dEtleWJvYXJkSGVpZ2h0CitQQVNTIFN1Y2Nlc3NmdWxseSBkaXNtaXNzZWQga2V5Ym9h
cmQKIAogVEVTVCBlbnRlciB0ZXh0IGluIGlucHV0IHdpdGggaW5wdXRtb2RlPW5vbmUKLVBBU1Mg
aW5wdXRXaXRob3V0U3lzdGVtS2V5Ym9hcmQudmFsdWUgaXMgIk5vbmUiCitQQVNTIGlucHV0V2l0
aG91dFN5c3RlbUtleWJvYXJkLnZhbHVlIGlzICdOb25lJwogCiBURVNUIHNlbGVjdGlvbiBpbiBp
bnB1dCB3aXRoIGlucHV0bW9kZT1ub25lCiBQQVNTIHNlbGVjdGlvblJlY3RzLmxlbmd0aCBpcyAx
Ci1QQVNTIHNlbGVjdGlvblJlY3RzWzBdLmxlZnQgaXMgMTU5Ci1QQVNTIHNlbGVjdGlvblJlY3Rz
WzBdLnRvcCBpcyAyNjEKLVBBU1Mgc2VsZWN0aW9uUmVjdHNbMF0ud2lkdGggaXMgMjgKK1BBU1Mg
c2VsZWN0aW9uUmVjdHNbMF0ubGVmdCBpcyAxNgorUEFTUyBzZWxlY3Rpb25SZWN0c1swXS50b3Ag
aXMgMzgKK1BBU1Mgc2VsZWN0aW9uUmVjdHNbMF0ud2lkdGggaXMgMjcKIFBBU1Mgc2VsZWN0aW9u
UmVjdHNbMF0uaGVpZ2h0IGlzIDE1Ci0KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
IAogVEVTVCBDT01QTEVURQotIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L2lvcy9pbnB1dG1vZGUtbm9uZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3MvaW5w
dXRtb2RlLW5vbmUuaHRtbAppbmRleCBmMmY2YTM1YzAwNjA0NjFiMTZlOGVhY2RiODUzNmQ3YWQy
MTQ5YzRhLi45MmQ4Mzk2ZmIyMTBlMWQ0NTMyNTY0ZTQ3OGRmZDFhZjE3MWU0OGIyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9pbnB1dG1vZGUtbm9uZS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2lucHV0bW9kZS1ub25lLmh0bWwKQEAgLTEsNDgg
KzEsNTMgQEAKLTwhRE9DVFlQRSBodG1sPgorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+CiA8aHRtbD4KIDxoZWFk
PgotPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5p
dGlhbC1zY2FsZT0xIj4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZp
Y2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CiA8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJv
ZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPGlucHV0IGlkPSJpbnB1dC1rZXlib2FyZCIgaW5wdXRt
b2RlPSJ0ZXh0Ij4KLTxpbnB1dCBpZD0iaW5wdXQtbm9rZXlib2FyZCIgaW5wdXRtb2RlPSJub25l
Ij4KKzxkaXY+PGlucHV0IGlkPSJpbnB1dC1rZXlib2FyZCIgaW5wdXRtb2RlPSJ0ZXh0Ij48L2Rp
dj4KKzxkaXY+PGlucHV0IGlkPSJpbnB1dC1ub2tleWJvYXJkIiBpbnB1dG1vZGU9Im5vbmUiPjwv
ZGl2PgorPHByZSBpZD0iZGVzY3JpcHRpb24iPjwvcHJlPgorPHByZSBpZD0iY29uc29sZSI+PC9w
cmU+CiA8c2NyaXB0PgoganNUZXN0SXNBc3luYyA9IHRydWU7CiAKIGFzeW5jIGZ1bmN0aW9uIHJ1
blRlc3QoKSB7CisgICAgYXdhaXQgVUlIZWxwZXIuc2V0SGFyZHdhcmVLZXlib2FyZEF0dGFjaGVk
KGZhbHNlKTsKICAgICBpbnB1dFdpdGhTeXN0ZW1LZXlib2FyZCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJpbnB1dC1rZXlib2FyZCIpOwogICAgIGlucHV0V2l0aG91dFN5c3RlbUtleWJvYXJk
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LW5va2V5Ym9hcmQiKTsKIAotICAgIGRl
c2NyaXB0aW9uKCdUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgc3lzdGVtIGtleWJvYXJkIGlz
IG5vdCB2aXNpYmxlIHdoZW4gdGFwcGluZyBvbiBhbiBpbnB1dCBmaWVsZCB3aXRoIGlucHV0bW9k
ZT1ub25lLicpOworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUg
c3lzdGVtIGtleWJvYXJkIGlzIG5vdCB2aXNpYmxlIHdoZW4gdGFwcGluZyBvbiBhbiBpbnB1dCBm
aWVsZCB3aXRoIGlucHV0bW9kZT1ub25lLiIpOwogCi0gICAgZGVidWcoJ1xuQUNUSVZBVEUgaW5w
dXQgd2l0aCBpbnB1dG1vZGU9dGV4dCcpOwotICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRm9y
bUNvbnRyb2woaW5wdXRXaXRoU3lzdGVtS2V5Ym9hcmQpOworICAgIGRlYnVnKCJcbkFDVElWQVRF
IGlucHV0IHdpdGggaW5wdXRtb2RlPXRleHQiKTsKKyAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUVsZW1lbnRBbmRXYWl0Rm9ySW5wdXRTZXNzaW9uKGlucHV0V2l0aFN5c3RlbUtleWJvYXJkKTsK
ICAgICBzeXN0ZW1LZXlib2FyZFJlY3QgPSBhd2FpdCBVSUhlbHBlci5pbnB1dFZpZXdCb3VuZHMo
KTsKLSAgICBzaG91bGRCZSgndGV4dEtleWJvYXJkSGVpZ2h0ID0gc3lzdGVtS2V5Ym9hcmRSZWN0
LmhlaWdodDsgc3lzdGVtS2V5Ym9hcmRSZWN0LmhlaWdodCA+IDAnLCAndHJ1ZScpOworICAgIHNo
b3VsZEJlKCJzeXN0ZW1LZXlib2FyZFJlY3QuaGVpZ2h0ID4gMCIsICJ0cnVlIik7CiAgICAgYXdh
aXQgVUlIZWxwZXIuZW50ZXJUZXh0KCJUZXh0Iik7Ci0gICAgc2hvdWxkQmUoJ2lucHV0V2l0aFN5
c3RlbUtleWJvYXJkLnZhbHVlJywgJyJUZXh0IicpOworICAgIHNob3VsZEJlKCJpbnB1dFdpdGhT
eXN0ZW1LZXlib2FyZC52YWx1ZSIsICInVGV4dCciKTsKIAotICAgIGRlYnVnKCdcbkFDVElWQVRF
IGlucHV0IHdpdGggaW5wdXRtb2RlPW5vbmUnKTsKLSAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0
ZUZvcm1Db250cm9sKGlucHV0V2l0aG91dFN5c3RlbUtleWJvYXJkKTsKLSAgICBzeXN0ZW1LZXli
b2FyZFJlY3QgPSBhd2FpdCBVSUhlbHBlci5pbnB1dFZpZXdCb3VuZHMoKTsKLSAgICBzaG91bGRC
ZSgnc3lzdGVtS2V5Ym9hcmRSZWN0LmhlaWdodCcsICd0ZXh0S2V5Ym9hcmRIZWlnaHQnKTsKKyAg
ICBkZWJ1ZygiXG5BQ1RJVkFURSBpbnB1dCB3aXRoIGlucHV0bW9kZT1ub25lIik7CisgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGlucHV0V2l0aG91dFN5c3RlbUtleWJvYXJkKTsK
KyAgICBhd2FpdCBVSUhlbHBlci53YWl0Rm9yS2V5Ym9hcmRUb0hpZGUoKTsKKyAgICB0ZXN0UGFz
c2VkKCJTdWNjZXNzZnVsbHkgZGlzbWlzc2VkIGtleWJvYXJkIik7CiAKLSAgICBkZWJ1ZygnXG5U
RVNUIGVudGVyIHRleHQgaW4gaW5wdXQgd2l0aCBpbnB1dG1vZGU9bm9uZScpOworICAgIGRlYnVn
KCJcblRFU1QgZW50ZXIgdGV4dCBpbiBpbnB1dCB3aXRoIGlucHV0bW9kZT1ub25lIik7CiAgICAg
YXdhaXQgVUlIZWxwZXIuZW50ZXJUZXh0KCJOb25lIik7Ci0gICAgc2hvdWxkQmUoJ2lucHV0V2l0
aG91dFN5c3RlbUtleWJvYXJkLnZhbHVlJywgJyJOb25lIicpOwotCi0gICAgZGVidWcoJ1xuVEVT
VCBzZWxlY3Rpb24gaW4gaW5wdXQgd2l0aCBpbnB1dG1vZGU9bm9uZScpOwotICAgIGlucHV0V2l0
aG91dFN5c3RlbUtleWJvYXJkLnNldFNlbGVjdGlvblJhbmdlKDAsIGlucHV0V2l0aFN5c3RlbUtl
eWJvYXJkLnZhbHVlLmxlbmd0aCk7Ci0gICAgc2VsZWN0aW9uUmVjdHMgPSBhd2FpdCBVSUhlbHBl
ci5nZXRVSVNlbGVjdGlvblJlY3RzKCk7Ci0gICAgc2hvdWxkQmUoJ3NlbGVjdGlvblJlY3RzLmxl
bmd0aCcsICcxJyk7Ci0gICAgc2hvdWxkQmUoJ3NlbGVjdGlvblJlY3RzWzBdLmxlZnQnLCAnMTU5
Jyk7Ci0gICAgc2hvdWxkQmUoJ3NlbGVjdGlvblJlY3RzWzBdLnRvcCcsICcyNjEnKTsKLSAgICBz
aG91bGRCZSgnc2VsZWN0aW9uUmVjdHNbMF0ud2lkdGgnLCAnMjgnKTsKLSAgICBzaG91bGRCZSgn
c2VsZWN0aW9uUmVjdHNbMF0uaGVpZ2h0JywgJzE1Jyk7Ci0KLSAgICBkZWJ1ZygnJyk7CisgICAg
c2hvdWxkQmUoImlucHV0V2l0aG91dFN5c3RlbUtleWJvYXJkLnZhbHVlIiwgIidOb25lJyIpOwor
CisgICAgZGVidWcoIlxuVEVTVCBzZWxlY3Rpb24gaW4gaW5wdXQgd2l0aCBpbnB1dG1vZGU9bm9u
ZSIpOworICAgIGlucHV0V2l0aG91dFN5c3RlbUtleWJvYXJkLnNlbGVjdCgpOworCisgICAgc2Vs
ZWN0aW9uUmVjdHMgPSBbXTsKKyAgICB3aGlsZSAoIXNlbGVjdGlvblJlY3RzLmxlbmd0aCkKKyAg
ICAgICAgc2VsZWN0aW9uUmVjdHMgPSBhd2FpdCBVSUhlbHBlci5nZXRVSVNlbGVjdGlvblZpZXdS
ZWN0cygpOworCisgICAgc2hvdWxkQmUoInNlbGVjdGlvblJlY3RzLmxlbmd0aCIsICIxIik7Cisg
ICAgc2hvdWxkQmUoInNlbGVjdGlvblJlY3RzWzBdLmxlZnQiLCAiMTYiKTsKKyAgICBzaG91bGRC
ZSgic2VsZWN0aW9uUmVjdHNbMF0udG9wIiwgIjM4Iik7CisgICAgc2hvdWxkQmUoInNlbGVjdGlv
blJlY3RzWzBdLndpZHRoIiwgIjI3Iik7CisgICAgc2hvdWxkQmUoInNlbGVjdGlvblJlY3RzWzBd
LmhlaWdodCIsICIxNSIpOwogICAgIGZpbmlzaEpTVGVzdCgpOwogfQogPC9zY3JpcHQ+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdWktaGVscGVyLmpzIGIvTGF5b3V0VGVzdHMv
cmVzb3VyY2VzL3VpLWhlbHBlci5qcwppbmRleCA5NGYwZmFhMjI4Y2IyMTA1YjBhODBmMjE5MTQ5
ZGYxNzQwMjY1NzkyLi4yYzllMjkwNWE2NzllMGQ2ZDE1YWY5MTgyMmZkNzM2ZmQ2NzExNDYxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdWktaGVscGVyLmpzCisrKyBiL0xheW91
dFRlc3RzL3Jlc291cmNlcy91aS1oZWxwZXIuanMKQEAgLTgzMyw0ICs4MzMsOSBAQCB3aW5kb3cu
VUlIZWxwZXIgPSBjbGFzcyBVSUhlbHBlciB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnJ1blVJ
U2NyaXB0KCJKU09OLnN0cmluZ2lmeSh1aUNvbnRyb2xsZXIubWVudVJlY3QpIiwgcmVzdWx0ID0+
IHJlc29sdmUoSlNPTi5wYXJzZShyZXN1bHQpKSk7CiAgICAgICAgIH0pOwogICAgIH0KKworICAg
IHN0YXRpYyBzZXRIYXJkd2FyZUtleWJvYXJkQXR0YWNoZWQoYXR0YWNoZWQpCisgICAgeworICAg
ICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0
KGB1aUNvbnRyb2xsZXIuc2V0SGFyZHdhcmVLZXlib2FyZEF0dGFjaGVkKCR7YXR0YWNoZWQgPyAi
dHJ1ZSIgOiAiZmFsc2UifSlgLCByZXNvbHZlKSk7CisgICAgfQogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367289</attachid>
            <date>2019-04-11 21:54:06 -0700</date>
            <delta_ts>2019-04-11 22:51:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195856-20190411215405.patch</filename>
            <type>text/plain</type>
            <size>21242</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBiY2RmZGY4
NmQ3ODBiMDE3MTU2MTAxMGU3YzFkZmE3NGY4NjM5OGNjLi5lNzFiMGY0NjM3MTBiMmU1NjE3ZmE5
ODA2OTViOGE0MzBkODllOWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAxOS0wNC0xMSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAg
ICAgICBbaU9TXSBTb2Z0d2FyZSBrZXlib2FyZCBpcyBzaG93biB0b28gZnJlcXVlbnRseSBvbiBz
b21lIHdlYnNpdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTU4NTYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5MTkxMzk1PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERlY2xhcmUgbmV3IEdyYXBo
aWNzU2VydmljZXMgU1BJLgorCisgICAgICAgICogcGFsL3NwaS9pb3MvR3JhcGhpY3NTZXJ2aWNl
c1NQSS5oOgorCiAyMDE5LTA0LTEwICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+
CiAKICAgICAgICAgRW5hYmxlIFBvaW50ZXIgRXZlbnRzIG9uIHdhdGNoT1MKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
NDUzZTBlZjZiODMyYzkyMTkyZGYzOGJkODJlMDU4NDQ2MTA0NGM0NC4uNDcyNzc3NmRlNTVlYzkw
MjE5ODk5NDQ3NTQ3ZmJiOTAzY2E5ZDJmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBAQAorMjAx
OS0wNC0xMSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAg
ICBbaU9TXSBTb2Z0d2FyZSBrZXlib2FyZCBpcyBzaG93biB0b28gZnJlcXVlbnRseSBvbiBzb21l
IHdlYnNpdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTU4NTYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5MTkxMzk1PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9uIHNvbWUgd2Vic2l0ZXMsIGhp
ZGRlbiBlZGl0YWJsZSBlbGVtZW50cyBhcmUgdmVyeSBmcmVxdWVudGx5IGZvY3VzZWQgdXBvbiB1
c2VyIGludGVyYWN0aW9uLiBDdXJyZW50bHksIHRoaXMKKyAgICAgICAgY2F1c2VzIHRoZSBzb2Z0
d2FyZSBrZXlib2FyZCB0byBwb3AgaW4gYW5kIG91dCB1bmV4cGVjdGVkbHk7IGx1Y2tpbHksIHRo
ZXNlIHNhbWUgc2l0ZXMgYWxzbyBhcHBseQorICAgICAgICBpbnB1dG1vZGU9Im5vbmUiIHRvIHRo
ZSBoaWRkZW4gZWRpdGFibGUgZWxlbWVudCwgd2hpY2ggb3VnaHQgdG8gZW5zdXJlIHRoYXQgdGhl
IHNvZnR3YXJlIGtleWJvYXJkIGRvZXNuJ3QgYXBwZWFyCisgICAgICAgIHdoZW4gdGhlIGVsZW1l
bnQgaXMgZm9jdXNlZC4KKworICAgICAgICBIb3dldmVyLCBzaW5jZSB3ZSBkaXNhYmxlZCBzdXBw
b3J0IGZvciBpbnB1dG1vZGU9Im5vbmUiIGluIHIyNDA0OTcsIHRoZSBzb2Z0d2FyZSBrZXlib2Fy
ZCBpcyBubyBsb25nZXIKKyAgICAgICAgc3VwcHJlc3NlZCwgYW5kIGJlY29tZXMgYSBiaWcgbnVp
c3NhbmNlLiByMjQwNDk3IHJlbW92ZWQgc3VwcG9ydCBmb3IgdGhpcyBmZWF0dXJlIGJlY2F1c2Us
IHdoZW4gdXNpbmcgYSBoYXJkd2FyZQorICAgICAgICBrZXlib2FyZCwgcHJlc3NpbmcgdGhlIGds
b2JlIGtleSBubyBsb25nZXIgc2hvd2VkIFVJIGZvciBzd2l0Y2hpbmcgbGFuZ3VhZ2VzLiBIb3dl
dmVyLCBzdXBwb3J0IGZvciBpbnB1dG1vZGUKKyAgICAgICAgbm9uZSBtYWtlcyBhIG11Y2ggbGFy
Z2VyIGltcGFjdCB3aGVuIGEgc29mdHdhcmUga2V5Ym9hcmQgaXMgdXNlZCAoc2luY2UgdGhlIGVu
dGlyZSBzb2Z0d2FyZSBrZXlib2FyZCBhbmltYXRlcyBpbgorICAgICAgICBhbmQgb3V0KSwgd2hl
cmVhcyBhIGhhcmR3YXJlIGtleWJvYXJkIG9ubHkgZGlzcGxheXMgYW4gaW5wdXQgYWNjZXNzb3J5
IHZpZXcuIEZvciB0aGlzIHJlYXNvbiwgd2UgY2FuIG1pdGlnYXRlCisgICAgICAgIHRoaXMgYnVn
IHdpdGhvdXQgcmVpbnRyb2R1Y2luZyA8cmRhcjovL3Byb2JsZW0vNDc0MDY1NTM+IGJ5IHJlLWVu
YWJsaW5nIGlucHV0bW9kZT0ibm9uZSIsIGJ1dCBvbmx5IHdoZW4gYQorICAgICAgICBoYXJkd2Fy
ZSBrZXlib2FyZCBpcyBub3QgYXR0YWNoZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKGhhcmR3YXJlS2V5Ym9hcmRBdmFpbGFiaWxpdHlD
aGFuZ2VkQ2FsbGJhY2spOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0lu
dGVyYWN0aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgc2hvdWxkU2hvd0F1dG9tYXRpY0tl
eWJvYXJkVUldKToKKworICAgICAgICBEb24ndCBzaG93IHRoZSBrZXlib2FyZCBpZiBpbnB1dG1v
ZGUgaXMgbm9uZSBhbmQgYSBoYXJkd2FyZSBrZXlib2FyZCBpcyBub3QgYXR0YWNoZWQuCisKKyAg
ICAgICAgKC1bV0tDb250ZW50VmlldyBfaGFyZHdhcmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5n
ZWRdKToKKworICAgICAgICBSZWxvYWQgaW5wdXQgdmlld3MgaWYgdGhlIGlucHV0bW9kZSBpcyBu
b25lIHRvIGVuc3VyZSB0aGF0IGlmIGEgaGFyZHdhcmUga2V5Ym9hcmQgaXMgYXR0YWNoZWQgd2hp
bGUgZWRpdGluZyBhbgorICAgICAgICBlbGVtZW50IHdpdGggaW5wdXRtb2RlPSJub25lIiwgd2Un
bGwgc2hvdyB0aGUgaW5wdXQgYWNjZXNzb3J5IHZpZXcgb25jZSBhZ2Fpbi4KKwogMjAxOS0wNC0x
MSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBBbGxv
dyB0aGUgTWVkaWFTb3VyY2UgQVBJIHRvIGJlIGVuYWJsZWQgdmlhIHdlYnNpdGUgcG9saWN5CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9pb3MvR3JhcGhpY3NTZXJ2aWNl
c1NQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvaW9zL0dyYXBoaWNzU2VydmljZXNT
UEkuaAppbmRleCAxYjViZDk3ODRmYWM2M2UxYmFhZDM1NTlhYmZiN2JlZTVjMTAxNmQ3Li5lODk5
ZTIxZjRjYTcyMDNiOGRmMGYwYTkyOWFiMzY2NTJkYmU1OTA5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9pb3MvR3JhcGhpY3NTZXJ2aWNlc1NQSS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2lvcy9HcmFwaGljc1NlcnZpY2VzU1BJLmgKQEAgLTQ2LDYg
KzQ2LDcgQEAgdm9pZCBHU0ZvbnRQdXJnZUZvbnRDYWNoZSh2b2lkKTsKIHR5cGVkZWYgc3RydWN0
IF9fR1NLZXlib2FyZCogR1NLZXlib2FyZFJlZjsKIHVpbnQzMl90IEdTS2V5Ym9hcmRHZXRNb2Rp
ZmllclN0YXRlKEdTS2V5Ym9hcmRSZWYpOwogQm9vbGVhbiBHU0V2ZW50SXNIYXJkd2FyZUtleWJv
YXJkQXR0YWNoZWQoKTsKK3ZvaWQgR1NFdmVudFNldEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZChC
b29sZWFuIGF0dGFjaGVkLCB1aW50OF90IGNvdW50cnkpOwogCiBleHRlcm4gY29uc3QgY2hhciAq
a0dTRXZlbnRIYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZE5vdGlmaWNhdGlvbjsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
dy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5k
ZXggMjU0NWYwZWUxMzNlOWFlY2MzYmM1YWYwYThkOGVmZDE5MDc1MjNhZi4uMzE2YTNkYWY0Y2Nl
N2U4ZWI4NWI2YzhjYzY0ZjY3YmM0OTcxYzJjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0zMzMyLDYgKzMzMzIsNyBAQCBzdGF0aWMg
dm9pZCBoYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZENhbGxiYWNrKENGTm90aWZp
Y2F0aW9uQ2VudGVyUmVmLAogewogICAgIEFTU0VSVChvYnNlcnZlcik7CiAgICAgV0tXZWJWaWV3
ICp3ZWJWaWV3ID0gKF9fYnJpZGdlIFdLV2ViVmlldyAqKW9ic2VydmVyOworICAgIFt3ZWJWaWV3
LT5fY29udGVudFZpZXcgX2hhcmR3YXJlS2V5Ym9hcmRBdmFpbGFiaWxpdHlDaGFuZ2VkXTsKICAg
ICB3ZWJWaWV3Ll9wYWdlLT5oYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZChHU0V2
ZW50SXNIYXJkd2FyZUtleWJvYXJkQXR0YWNoZWQoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAppbmRleCA3
ZmRkMTQ2ODI5ODhhMTZkOWFjNDE2MGJlNzg2NmUyN2E1Njg3OTE0Li5lYjViZDQzMjhkY2NlNzYz
OTAyMjNmZGRlOGVmNmU5ZjJlM2E1Y2RiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCkBAIC00MTUsNiArNDE1LDcg
QEAgRk9SX0VBQ0hfUFJJVkFURV9XS0NPTlRFTlRWSUVXX0FDVElPTihERUNMQVJFX1dLQ09OVEVO
VFZJRVdfQUNUSU9OX0ZPUl9XRUJfVklFVykKIC0gKHZvaWQpX2VsZW1lbnREaWRCbHVyOwogLSAo
dm9pZClfZGlkVXBkYXRlSW5wdXRNb2RlOihXZWJDb3JlOjpJbnB1dE1vZGUpbW9kZTsKIC0gKHZv
aWQpX2RpZFJlY2VpdmVFZGl0b3JTdGF0ZVVwZGF0ZUFmdGVyRm9jdXM7CistICh2b2lkKV9oYXJk
d2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZDsKIC0gKHZvaWQpX3NlbGVjdGlvbkNoYW5n
ZWQ7CiAtICh2b2lkKV91cGRhdGVDaGFuZ2VkU2VsZWN0aW9uOwogLSAoQk9PTClfaW50ZXJwcmV0
S2V5RXZlbnQ6KDo6V2ViRXZlbnQgKil0aGVFdmVudCBpc0NoYXJFdmVudDooQk9PTClpc0NoYXJF
dmVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IDg0ZTczMWZjNDJkMzY5NzVkMDc5NDNhYWM5MTQwZjIw
MmIwZjA5MDEuLmYwYWE1YjdjMWZjMjYzMTcwMzJiNjIxNWNlNTY2ZDFjMmQyNzZjZmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRl
cmFjdGlvbi5tbQpAQCAtMTAwLDYgKzEwMCw3IEBACiAjaW1wb3J0IDxwYWwvc3BpL2NnL0NvcmVH
cmFwaGljc1NQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNQ
SS5oPgogI2ltcG9ydCA8cGFsL3NwaS9pb3MvRGF0YURldGVjdG9yc1VJU1BJLmg+CisjaW1wb3J0
IDxwYWwvc3BpL2lvcy9HcmFwaGljc1NlcnZpY2VzU1BJLmg+CiAjaW1wb3J0IDx3dGYvT3B0aW9u
YWwuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbXBvcnQgPHd0Zi9TZXRGb3JTY29w
ZS5oPgpAQCAtMTE4LDcgKzExOSw2IEBACiAjaW1wb3J0ICJOYXRpdmVXZWJNb3VzZUV2ZW50Lmgi
CiAjaW1wb3J0IDxVSUtpdC9VSUhvdmVyR2VzdHVyZVJlY29nbml6ZXIuaD4KICNpbXBvcnQgPFVJ
S2l0L19VSUxvb2t1cEdlc3R1cmVSZWNvZ25pemVyLmg+Ci0jaW1wb3J0IDxwYWwvc3BpL2lvcy9H
cmFwaGljc1NlcnZpY2VzU1BJLmg+CiAjZW5kaWYKIAogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NP
TE9SKQpAQCAtMTU5NSw3ICsxNTk1LDEyIEBAIC0gKHZvaWQpX3Njcm9sbGluZ05vZGVTY3JvbGxp
bmdEaWRFbmQKIAogLSAoQk9PTClzaG91bGRTaG93QXV0b21hdGljS2V5Ym9hcmRVSQogewotICAg
IC8vIEZJWE1FOiBNYWtlIHRoaXMgZnVuY3Rpb24ga25vd2xlZGdlYWJsZSBhYm91dCB0aGUgSFRN
TCBhdHRyaWJ1dGUgaW5wdXRtb2RlLgorICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgc3VwcG9ydCBp
bnB1dG1vZGU9Im5vbmUiIHdoZW4gdGhlIGhhcmR3YXJlIGtleWJvYXJkIGlzIGF0dGFjaGVkLgor
ICAgIC8vIFdlIGN1cnJlbnRseSByZWZyYWluIGZyb20gZG9pbmcgc28gYmVjYXVzZSB0aGF0IHdv
dWxkIHByZXZlbnQgVUlLaXQgZnJvbSBzaG93aW5nCisgICAgLy8gdGhlIGxhbmd1YWdlIHBpY2tl
ciB3aGVuIHByZXNzaW5nIHRoZSBnbG9iZSBrZXkgdG8gY2hhbmdlIHRoZSBpbnB1dCBsYW5ndWFn
ZS4KKyAgICBpZiAoX2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uaW5wdXRNb2RlID09IFdlYkNv
cmU6OklucHV0TW9kZTo6Tm9uZSAmJiAhR1NFdmVudElzSGFyZHdhcmVLZXlib2FyZEF0dGFjaGVk
KCkpCisgICAgICAgIHJldHVybiBOTzsKKwogICAgIHN3aXRjaCAoX2ZvY3VzZWRFbGVtZW50SW5m
b3JtYXRpb24uZWxlbWVudFR5cGUpIHsKICAgICBjYXNlIFdlYktpdDo6SW5wdXRUeXBlOjpOb25l
OgogICAgIGNhc2UgV2ViS2l0OjpJbnB1dFR5cGU6OkRyYXdpbmc6CkBAIC01MTMzLDYgKzUxMzgs
MTIgQEAgLSAodm9pZClfZWxlbWVudERpZEJsdXIKICAgICAgICAgX2RpZEFjY2Vzc29yeVRhYklu
aXRpYXRlRm9jdXMgPSBOTzsKIH0KIAorLSAodm9pZClfaGFyZHdhcmVLZXlib2FyZEF2YWlsYWJp
bGl0eUNoYW5nZWQKK3sKKyAgICBpZiAoaGFzRm9jdXNlZEVsZW1lbnQoX2ZvY3VzZWRFbGVtZW50
SW5mb3JtYXRpb24pICYmIF9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLmlucHV0TW9kZSA9PSBX
ZWJDb3JlOjpJbnB1dE1vZGU6Ok5vbmUpCisgICAgICAgIFtzZWxmIHJlbG9hZElucHV0Vmlld3Nd
OworfQorCiAtICh2b2lkKV9kaWRVcGRhdGVJbnB1dE1vZGU6KFdlYkNvcmU6OklucHV0TW9kZSlt
b2RlCiB7CiAgICAgaWYgKCFzZWxmLmlucHV0RGVsZWdhdGUgfHwgX2ZvY3VzZWRFbGVtZW50SW5m
b3JtYXRpb24uZWxlbWVudFR5cGUgPT0gV2ViS2l0OjpJbnB1dFR5cGU6Ok5vbmUpCmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOGVjZmUxMWM2ZjU4
ZGEzY2M1MmUyYjNiNDgwOWMyYzJlZTI5YThjMC4uOTA4OTRkNzgzM2Y4MjJkZTg2N2I3OTY4MWNj
YTY0ZGIwZGQwZGMxOSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTA0LTExICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFNvZnR3YXJlIGtleWJvYXJkIGlz
IHNob3duIHRvbyBmcmVxdWVudGx5IG9uIHNvbWUgd2Vic2l0ZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTg1NgorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNDkxOTEzOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGF0dGFjaGluZyBvciBkZXRhY2hpbmcgdGhlIGhhcmR3
YXJlIGtleWJvYXJkIG9uIGlPUyBpbiBsYXlvdXQgdGVzdHMuCisKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RSOjpVSVNj
cmlwdENvbnRyb2xsZXI6OnNldEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZCk6CisgICAgICAgICog
VGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvQmluZGluZ3MvVUlTY3JpcHRDb250cm9s
bGVyLmlkbDoKKyAgICAgICAgKiBUZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNj
cmlwdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXI6OnNl
dEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZCk6CisgICAgICAgICogVGVzdFJ1bm5lclNoYXJlZC9V
SVNjcmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmg6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9Db25maWd1cmF0aW9ucy9XZWJLaXRUZXN0UnVubmVyQXBwLnhjY29uZmlnOgorCisg
ICAgICAgIEFkZGl0aW9uYWxseSBsaW5rIGFnYWluc3QgR3JhcGhpY3NTZXJ2aWNlcyBpbiBXZWJL
aXRUZXN0UnVubmVyLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRD
b250cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1S
ZXNldFN0YXRlVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKFdUUjo6VUlTY3JpcHRDb250
cm9sbGVyOjpzZXRIYXJkd2FyZUtleWJvYXJkQXR0YWNoZWQpOgorCiAyMDE5LTA0LTEwICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgV0tOYXZp
Z2F0aW9uUmVzcG9uc2UuX2Rvd25sb2FkQXR0cmlidXRlIHNob3VsZCBiZSBuaWwgd2hlbiBubyBk
b3dubG9hZCBhdHRyaWJ1dGUgaXMgcHJlc2VudApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0KaW5kZXggMmVlOTFiMDdhM2FiNjA3OGU4ZTAw
NGEyZTBlNzA5MGU5ZDc5OTAyMi4uZTFjYmQ2Y2FkNTM2YTRiMjdlNjVhZWQ5NmJkZjY5OGYwOThh
YjJmOCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvaW9zL1VJU2NyaXB0Q29udHJv
bGxlcklPUy5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9pb3MvVUlTY3JpcHRDb250cm9s
bGVySU9TLm1tCkBAIC01MzUsNiArNTM1LDEwIEBAIE5TVW5kb01hbmFnZXIgKlVJU2NyaXB0Q29u
dHJvbGxlcjo6cGxhdGZvcm1VbmRvTWFuYWdlcigpIGNvbnN0CiAgICAgcmV0dXJuIG5pbDsKIH0K
IAordm9pZCBVSVNjcmlwdENvbnRyb2xsZXI6OnNldEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZChi
b29sKQoreworfQorCiB9CiAKICNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvQmluZGluZ3MvVUlT
Y3JpcHRDb250cm9sbGVyLmlkbCBiL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250
ZXh0L0JpbmRpbmdzL1VJU2NyaXB0Q29udHJvbGxlci5pZGwKaW5kZXggMjNmZTMyNjVjNjE4ZDNi
OGEyNzU2MzM4ZjE3NDBmZjk0ZmI0M2Q1MC4uMTdhNTQ0YzU1M2Q0ZDZlOTdiNmVkYWE2ZmEyZDcz
OWJmYTJjNzBmMiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENv
bnRleHQvQmluZGluZ3MvVUlTY3JpcHRDb250cm9sbGVyLmlkbAorKysgYi9Ub29scy9UZXN0UnVu
bmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9CaW5kaW5ncy9VSVNjcmlwdENvbnRyb2xsZXIuaWRs
CkBAIC0zMTEsNiArMzExLDggQEAgaW50ZXJmYWNlIFVJU2NyaXB0Q29udHJvbGxlciB7CiAgICAg
dm9pZCBtYWtlV2luZG93Q29udGVudFZpZXdGaXJzdFJlc3BvbmRlcigpOwogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBib29sZWFuIGlzV2luZG93Q29udGVudFZpZXdGaXJzdFJlc3BvbmRlcjsKIAor
ICAgIHZvaWQgc2V0SGFyZHdhcmVLZXlib2FyZEF0dGFjaGVkKGJvb2xlYW4gYXR0YWNoZWQpOwor
CiAgICAgb2JqZWN0IGF0dGFjaG1lbnRJbmZvKERPTVN0cmluZyBhdHRhY2htZW50SWRlbnRpZmll
cik7CiAKICAgICAvLyBFZGl0aW5nCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0UnVubmVyU2hhcmVk
L1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvVGVzdFJ1bm5l
clNoYXJlZC9VSVNjcmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCA2ZmFh
YjA4Mzg3ZWVmMTMzOTE1OTNlZmViZWI0ZDExOWI3Y2U2ZjIzLi5hZGM3MjYwN2JmMmQ5MTZiODA0
YzRiMzJhODlhMzVhMTM5ZDgzOTg4IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0UnVubmVyU2hhcmVk
L1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1Rlc3RS
dW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udHJvbGxlci5jcHAKQEAgLTYz
OCw2ICs2MzgsMTAgQEAgdm9pZCBVSVNjcmlwdENvbnRyb2xsZXI6OnNldEtleWJvYXJkSW5wdXRN
b2RlSWRlbnRpZmllcihKU1N0cmluZ1JlZikKIHsKIH0KIAordm9pZCBVSVNjcmlwdENvbnRyb2xs
ZXI6OnNldEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZChib29sKQoreworfQorCiAjZW5kaWYKIAog
I2lmICFQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQv
VUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udHJvbGxlci5oIGIvVG9vbHMvVGVzdFJ1bm5lclNo
YXJlZC9VSVNjcmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmgKaW5kZXggZjI0Y2M3ZWI3
OWI2NTZiZWNkZjhmY2FiNjM3NWQ3OTIzZjRlYTk5Ny4uNTYwYTNkMmM5MjMxMzhiYmY5NDUzZWM0
MWQwMzNlYmFlMTdjOWJjZSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNj
cmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvVGVzdFJ1bm5lclNo
YXJlZC9VSVNjcmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmgKQEAgLTI0MCw2ICsyNDAs
OCBAQCBwdWJsaWM6CiAKICAgICBKU09iamVjdFJlZiBhdHRhY2htZW50SW5mbyhKU1N0cmluZ1Jl
ZiBhdHRhY2htZW50SWRlbnRpZmllcik7CiAKKyAgICB2b2lkIHNldEhhcmR3YXJlS2V5Ym9hcmRB
dHRhY2hlZChib29sKTsKKwogcHJpdmF0ZToKICAgICBVSVNjcmlwdENvbnRyb2xsZXIoVUlTY3Jp
cHRDb250ZXh0Jik7CiAgICAgCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0Nv
bmZpZ3VyYXRpb25zL1dlYktpdFRlc3RSdW5uZXJBcHAueGNjb25maWcgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0NvbmZpZ3VyYXRpb25zL1dlYktpdFRlc3RSdW5uZXJBcHAueGNjb25maWcKaW5k
ZXggY2JhOTM2ZGY0ZTU4N2U5YjZmMjBhNzZkZjNhY2NiNTM2MTVhYjIzYy4uYTU2YzEwNzk1NjRk
MjU0MWQ3OTYzYmJkYzRiYTM1YTAzY2M3MzAyYiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9Db25maWd1cmF0aW9ucy9XZWJLaXRUZXN0UnVubmVyQXBwLnhjY29uZmlnCisrKyBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvQ29uZmlndXJhdGlvbnMvV2ViS2l0VGVzdFJ1bm5lckFw
cC54Y2NvbmZpZwpAQCAtMzAsNyArMzAsNyBAQCBQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0g
b3JnLndlYmtpdC4kKFBST0RVQ1RfTkFNRTpyZmMxMDM0aWRlbnRpZmllcik7CiAKIEdDQ19FTkFC
TEVfT0JKQ19FWENFUFRJT05TID0gWUVTOwogCi1PVEhFUl9MREZMQUdTID0gJChpbmhlcml0ZWQp
IC1sV2ViS2l0VGVzdFJ1bm5lciAtbFdlYkNvcmVUZXN0U3VwcG9ydCAtZnJhbWV3b3JrIEphdmFT
Y3JpcHRDb3JlIC1mcmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1mcmFtZXdvcmsgUXVhcnR6Q29yZSAt
ZnJhbWV3b3JrIEltYWdlSU8gLWZyYW1ld29yayBJT0tpdCAtZnJhbWV3b3JrIFVJS2l0IC1mcmFt
ZXdvcmsgV2ViS2l0IC1mcmFtZXdvcmsgRm91bmRhdGlvbjsKK09USEVSX0xERkxBR1MgPSAkKGlu
aGVyaXRlZCkgLWxXZWJLaXRUZXN0UnVubmVyIC1sV2ViQ29yZVRlc3RTdXBwb3J0IC1mcmFtZXdv
cmsgSmF2YVNjcmlwdENvcmUgLWZyYW1ld29yayBDb3JlR3JhcGhpY3MgLWZyYW1ld29yayBRdWFy
dHpDb3JlIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3JrIElPS2l0IC1mcmFtZXdvcmsgR3Jh
cGhpY3NTZXJ2aWNlcyAtZnJhbWV3b3JrIFVJS2l0IC1mcmFtZXdvcmsgV2ViS2l0IC1mcmFtZXdv
cmsgRm91bmRhdGlvbjsKIAogU0tJUF9JTlNUQUxMW3Nkaz1tYWNvc3gqXSA9IFlFUzsKIApkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJT1MubW0g
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQppbmRleCBl
MGZhOWE1OGIwYWY3ZDhjZDE3MWVkMzkwNGEzOTRhZmEyMGNjNGI5Li4zZWVlMDA1ZjdhNjgwM2Mz
MjJmYjcxNGY3NDQ2ZmQ2Y2VhYmJlNjJhIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQpAQCAtNDMsNiArNDMsNyBAQAogI2ltcG9ydCA8V2Vi
S2l0L1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tX
ZWJWaWV3UHJpdmF0ZS5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CisjaW1wb3J0IDxwYWwv
c3BpL2lvcy9HcmFwaGljc1NlcnZpY2VzU1BJLmg+CiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5o
PgogCiBzdGF0aWMgQk9PTCBvdmVycmlkZUlzSW5IYXJkd2FyZUtleWJvYXJkTW9kZSgpCkBAIC0x
NDEsNiArMTQyLDcgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1SZXNldFN0YXRlVG9D
b25zaXN0ZW50VmFsdWVzKGNvbnN0IFRlc3RPcHRpb25zJiBvcHQKIAogICAgIFtbVUlBcHBsaWNh
dGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0gX2NhbmNlbEFsbFRvdWNoZXNdOwogICAgIFtbVUlEZXZp
Y2UgY3VycmVudERldmljZV0gc2V0T3JpZW50YXRpb246VUlEZXZpY2VPcmllbnRhdGlvblBvcnRy
YWl0IGFuaW1hdGVkOk5PXTsKKyAgICBHU0V2ZW50U2V0SGFyZHdhcmVLZXlib2FyZEF0dGFjaGVk
KHRydWUsIDApOwogCiAgICAgbV9pbnB1dE1vZGVTd2l6emxlcnMuY2xlYXIoKTsKICAgICBtX292
ZXJyaWRkZW5LZXlib2FyZElucHV0TW9kZSA9IG5pbDsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbSBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQppbmRleCBkMjQ5Njc4N2E4M2Vj
MDFjZTc0NjA3N2YwMzZlMTZhNTY1MjdmMmMwLi43NDhjM2ExZGIxNjA5OWYyMjU1ZDY2ZTY0MTk5
ODYwMzdkZDI2YmI4IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNj
cmlwdENvbnRyb2xsZXJJT1MubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlT
Y3JpcHRDb250cm9sbGVySU9TLm1tCkBAIC00Miw2ICs0Miw3IEBACiAjaW1wb3J0IDxXZWJDb3Jl
L0Zsb2F0UmVjdC5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KICNpbXBv
cnQgPFdlYktpdC9XZWJLaXQuaD4KKyNpbXBvcnQgPHBhbC9zcGkvaW9zL0dyYXBoaWNzU2Vydmlj
ZXNTUEkuaD4KICNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgogI2ltcG9ydCA8d3RmL1ZlY3Rv
ci5oPgogCkBAIC0xMTQwLDYgKzExNDEsMTEgQEAgSlNPYmplY3RSZWYgVUlTY3JpcHRDb250cm9s
bGVyOjpjYWxlbmRhclR5cGUoKSBjb25zdAogICAgIHJldHVybiBKU1ZhbHVlVG9PYmplY3QoanND
b250ZXh0LCBbSlNWYWx1ZSB2YWx1ZVdpdGhPYmplY3Q6Y2FsZW5kYXJUeXBlU3RyaW5nIGluQ29u
dGV4dDpbSlNDb250ZXh0IGNvbnRleHRXaXRoSlNHbG9iYWxDb250ZXh0UmVmOmpzQ29udGV4dF1d
LkpTVmFsdWVSZWYsIG51bGxwdHIpOwogfQogCit2b2lkIFVJU2NyaXB0Q29udHJvbGxlcjo6c2V0
SGFyZHdhcmVLZXlib2FyZEF0dGFjaGVkKGJvb2wgYXR0YWNoZWQpCit7CisgICAgR1NFdmVudFNl
dEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZChhdHRhY2hlZCwgMCk7Cit9CisKIH0KIAogI2VuZGlm
IC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzVmYTMxZTRlNjY4MzFkNzAzODJkZDRl
YjRkNmQzZTVlZDhjMGVjMS4uNmZjZDFlYTJkMDg5MDE2ZmU3YmEzMzFkNTA0YWRmY2QxZjBkYThk
NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE5LTA0LTExICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFNvZnR3YXJlIGtleWJvYXJkIGlz
IHNob3duIHRvbyBmcmVxdWVudGx5IG9uIHNvbWUgd2Vic2l0ZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTg1NgorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNDkxOTEzOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgRml4IGEgZmFpbGluZyBsYXlvdXQgdGVzdCwgd2hpY2ggKGFtb25nIG90aGVyIHJl
YXNvbnMpIGlzIGN1cnJlbnRseSBmYWlsaW5nIGJlY2F1c2Ugc3VwcG9ydCBmb3IgaW5wdXRtb2Rl
PSJub25lIgorICAgICAgICBpcyBkaXNhYmxlZC4KKworICAgICAgICAqIGZhc3QvZm9ybXMvaW9z
L2lucHV0bW9kZS1ub25lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Zvcm1zL2lvcy9p
bnB1dG1vZGUtbm9uZS5odG1sOgorICAgICAgICAqIHJlc291cmNlcy91aS1oZWxwZXIuanM6CisK
KyAgICAgICAgQWRkIGEgVUlIZWxwZXIgbWV0aG9kIGZvciBhdHRhY2hpbmcgb3IgZGV0YWNoaW5n
IHRoZSBoYXJkd2FyZSBrZXlib2FyZC4KKworICAgICAgICAod2luZG93LlVJSGVscGVyLnNldEhh
cmR3YXJlS2V5Ym9hcmRBdHRhY2hlZCk6CisgICAgICAgICh3aW5kb3cuVUlIZWxwZXIpOgorCiAy
MDE5LTA0LTExICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAg
ICAgIEFsbG93IHRoZSBNZWRpYVNvdXJjZSBBUEkgdG8gYmUgZW5hYmxlZCB2aWEgd2Vic2l0ZSBw
b2xpY3kKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2lucHV0bW9kZS1u
b25lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2lucHV0bW9kZS1u
b25lLWV4cGVjdGVkLnR4dAppbmRleCBiMWM0YzgzMGZmZmU0NTZhMmJlOGVlNjljOWNhNWE1NWNi
NmI3Yjg0Li45MmI4ZTNmMjIzZTgxMWM5NmM3NDViNDMwNzJhOTg3MzI5NWIxZjdmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9pbnB1dG1vZGUtbm9uZS1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3MvaW5wdXRtb2RlLW5vbmUtZXhwZWN0
ZWQudHh0CkBAIC0xLDI3ICsxLDI3IEBACisKKwogVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhl
IHN5c3RlbSBrZXlib2FyZCBpcyBub3QgdmlzaWJsZSB3aGVuIHRhcHBpbmcgb24gYW4gaW5wdXQg
ZmllbGQgd2l0aCBpbnB1dG1vZGU9bm9uZS4KIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgog
CiAKLQogQUNUSVZBVEUgaW5wdXQgd2l0aCBpbnB1dG1vZGU9dGV4dAotUEFTUyB0ZXh0S2V5Ym9h
cmRIZWlnaHQgPSBzeXN0ZW1LZXlib2FyZFJlY3QuaGVpZ2h0OyBzeXN0ZW1LZXlib2FyZFJlY3Qu
aGVpZ2h0ID4gMCBpcyB0cnVlCi1QQVNTIGlucHV0V2l0aFN5c3RlbUtleWJvYXJkLnZhbHVlIGlz
ICJUZXh0IgorUEFTUyBzeXN0ZW1LZXlib2FyZFJlY3QuaGVpZ2h0ID4gMCBpcyB0cnVlCitQQVNT
IGlucHV0V2l0aFN5c3RlbUtleWJvYXJkLnZhbHVlIGlzICdUZXh0JwogCiBBQ1RJVkFURSBpbnB1
dCB3aXRoIGlucHV0bW9kZT1ub25lCi1QQVNTIHN5c3RlbUtleWJvYXJkUmVjdC5oZWlnaHQgaXMg
dGV4dEtleWJvYXJkSGVpZ2h0CitQQVNTIFN1Y2Nlc3NmdWxseSBkaXNtaXNzZWQga2V5Ym9hcmQK
IAogVEVTVCBlbnRlciB0ZXh0IGluIGlucHV0IHdpdGggaW5wdXRtb2RlPW5vbmUKLVBBU1MgaW5w
dXRXaXRob3V0U3lzdGVtS2V5Ym9hcmQudmFsdWUgaXMgIk5vbmUiCitQQVNTIGlucHV0V2l0aG91
dFN5c3RlbUtleWJvYXJkLnZhbHVlIGlzICdOb25lJwogCiBURVNUIHNlbGVjdGlvbiBpbiBpbnB1
dCB3aXRoIGlucHV0bW9kZT1ub25lCiBQQVNTIHNlbGVjdGlvblJlY3RzLmxlbmd0aCBpcyAxCi1Q
QVNTIHNlbGVjdGlvblJlY3RzWzBdLmxlZnQgaXMgMTU5Ci1QQVNTIHNlbGVjdGlvblJlY3RzWzBd
LnRvcCBpcyAyNjEKLVBBU1Mgc2VsZWN0aW9uUmVjdHNbMF0ud2lkdGggaXMgMjgKK1BBU1Mgc2Vs
ZWN0aW9uUmVjdHNbMF0ubGVmdCBpcyAxNgorUEFTUyBzZWxlY3Rpb25SZWN0c1swXS50b3AgaXMg
MzgKK1BBU1Mgc2VsZWN0aW9uUmVjdHNbMF0ud2lkdGggaXMgMjcKIFBBU1Mgc2VsZWN0aW9uUmVj
dHNbMF0uaGVpZ2h0IGlzIDE1Ci0KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAog
VEVTVCBDT01QTEVURQotIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lv
cy9pbnB1dG1vZGUtbm9uZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3MvaW5wdXRt
b2RlLW5vbmUuaHRtbAppbmRleCBmMmY2YTM1YzAwNjA0NjFiMTZlOGVhY2RiODUzNmQ3YWQyMTQ5
YzRhLi45MmQ4Mzk2ZmIyMTBlMWQ0NTMyNTY0ZTQ3OGRmZDFhZjE3MWU0OGIyIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9pbnB1dG1vZGUtbm9uZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2lucHV0bW9kZS1ub25lLmh0bWwKQEAgLTEsNDggKzEs
NTMgQEAKLTwhRE9DVFlQRSBodG1sPgorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+CiA8aHRtbD4KIDxoZWFkPgot
PG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlh
bC1zY2FsZT0xIj4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CiA8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkg
b25sb2FkPSJydW5UZXN0KCkiPgotPGlucHV0IGlkPSJpbnB1dC1rZXlib2FyZCIgaW5wdXRtb2Rl
PSJ0ZXh0Ij4KLTxpbnB1dCBpZD0iaW5wdXQtbm9rZXlib2FyZCIgaW5wdXRtb2RlPSJub25lIj4K
KzxkaXY+PGlucHV0IGlkPSJpbnB1dC1rZXlib2FyZCIgaW5wdXRtb2RlPSJ0ZXh0Ij48L2Rpdj4K
KzxkaXY+PGlucHV0IGlkPSJpbnB1dC1ub2tleWJvYXJkIiBpbnB1dG1vZGU9Im5vbmUiPjwvZGl2
PgorPHByZSBpZD0iZGVzY3JpcHRpb24iPjwvcHJlPgorPHByZSBpZD0iY29uc29sZSI+PC9wcmU+
CiA8c2NyaXB0PgoganNUZXN0SXNBc3luYyA9IHRydWU7CiAKIGFzeW5jIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgYXdhaXQgVUlIZWxwZXIuc2V0SGFyZHdhcmVLZXlib2FyZEF0dGFjaGVkKGZh
bHNlKTsKICAgICBpbnB1dFdpdGhTeXN0ZW1LZXlib2FyZCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJpbnB1dC1rZXlib2FyZCIpOwogICAgIGlucHV0V2l0aG91dFN5c3RlbUtleWJvYXJkID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LW5va2V5Ym9hcmQiKTsKIAotICAgIGRlc2Ny
aXB0aW9uKCdUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgc3lzdGVtIGtleWJvYXJkIGlzIG5v
dCB2aXNpYmxlIHdoZW4gdGFwcGluZyBvbiBhbiBpbnB1dCBmaWVsZCB3aXRoIGlucHV0bW9kZT1u
b25lLicpOworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgc3lz
dGVtIGtleWJvYXJkIGlzIG5vdCB2aXNpYmxlIHdoZW4gdGFwcGluZyBvbiBhbiBpbnB1dCBmaWVs
ZCB3aXRoIGlucHV0bW9kZT1ub25lLiIpOwogCi0gICAgZGVidWcoJ1xuQUNUSVZBVEUgaW5wdXQg
d2l0aCBpbnB1dG1vZGU9dGV4dCcpOwotICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRm9ybUNv
bnRyb2woaW5wdXRXaXRoU3lzdGVtS2V5Ym9hcmQpOworICAgIGRlYnVnKCJcbkFDVElWQVRFIGlu
cHV0IHdpdGggaW5wdXRtb2RlPXRleHQiKTsKKyAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVs
ZW1lbnRBbmRXYWl0Rm9ySW5wdXRTZXNzaW9uKGlucHV0V2l0aFN5c3RlbUtleWJvYXJkKTsKICAg
ICBzeXN0ZW1LZXlib2FyZFJlY3QgPSBhd2FpdCBVSUhlbHBlci5pbnB1dFZpZXdCb3VuZHMoKTsK
LSAgICBzaG91bGRCZSgndGV4dEtleWJvYXJkSGVpZ2h0ID0gc3lzdGVtS2V5Ym9hcmRSZWN0Lmhl
aWdodDsgc3lzdGVtS2V5Ym9hcmRSZWN0LmhlaWdodCA+IDAnLCAndHJ1ZScpOworICAgIHNob3Vs
ZEJlKCJzeXN0ZW1LZXlib2FyZFJlY3QuaGVpZ2h0ID4gMCIsICJ0cnVlIik7CiAgICAgYXdhaXQg
VUlIZWxwZXIuZW50ZXJUZXh0KCJUZXh0Iik7Ci0gICAgc2hvdWxkQmUoJ2lucHV0V2l0aFN5c3Rl
bUtleWJvYXJkLnZhbHVlJywgJyJUZXh0IicpOworICAgIHNob3VsZEJlKCJpbnB1dFdpdGhTeXN0
ZW1LZXlib2FyZC52YWx1ZSIsICInVGV4dCciKTsKIAotICAgIGRlYnVnKCdcbkFDVElWQVRFIGlu
cHV0IHdpdGggaW5wdXRtb2RlPW5vbmUnKTsKLSAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUZv
cm1Db250cm9sKGlucHV0V2l0aG91dFN5c3RlbUtleWJvYXJkKTsKLSAgICBzeXN0ZW1LZXlib2Fy
ZFJlY3QgPSBhd2FpdCBVSUhlbHBlci5pbnB1dFZpZXdCb3VuZHMoKTsKLSAgICBzaG91bGRCZSgn
c3lzdGVtS2V5Ym9hcmRSZWN0LmhlaWdodCcsICd0ZXh0S2V5Ym9hcmRIZWlnaHQnKTsKKyAgICBk
ZWJ1ZygiXG5BQ1RJVkFURSBpbnB1dCB3aXRoIGlucHV0bW9kZT1ub25lIik7CisgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGlucHV0V2l0aG91dFN5c3RlbUtleWJvYXJkKTsKKyAg
ICBhd2FpdCBVSUhlbHBlci53YWl0Rm9yS2V5Ym9hcmRUb0hpZGUoKTsKKyAgICB0ZXN0UGFzc2Vk
KCJTdWNjZXNzZnVsbHkgZGlzbWlzc2VkIGtleWJvYXJkIik7CiAKLSAgICBkZWJ1ZygnXG5URVNU
IGVudGVyIHRleHQgaW4gaW5wdXQgd2l0aCBpbnB1dG1vZGU9bm9uZScpOworICAgIGRlYnVnKCJc
blRFU1QgZW50ZXIgdGV4dCBpbiBpbnB1dCB3aXRoIGlucHV0bW9kZT1ub25lIik7CiAgICAgYXdh
aXQgVUlIZWxwZXIuZW50ZXJUZXh0KCJOb25lIik7Ci0gICAgc2hvdWxkQmUoJ2lucHV0V2l0aG91
dFN5c3RlbUtleWJvYXJkLnZhbHVlJywgJyJOb25lIicpOwotCi0gICAgZGVidWcoJ1xuVEVTVCBz
ZWxlY3Rpb24gaW4gaW5wdXQgd2l0aCBpbnB1dG1vZGU9bm9uZScpOwotICAgIGlucHV0V2l0aG91
dFN5c3RlbUtleWJvYXJkLnNldFNlbGVjdGlvblJhbmdlKDAsIGlucHV0V2l0aFN5c3RlbUtleWJv
YXJkLnZhbHVlLmxlbmd0aCk7Ci0gICAgc2VsZWN0aW9uUmVjdHMgPSBhd2FpdCBVSUhlbHBlci5n
ZXRVSVNlbGVjdGlvblJlY3RzKCk7Ci0gICAgc2hvdWxkQmUoJ3NlbGVjdGlvblJlY3RzLmxlbmd0
aCcsICcxJyk7Ci0gICAgc2hvdWxkQmUoJ3NlbGVjdGlvblJlY3RzWzBdLmxlZnQnLCAnMTU5Jyk7
Ci0gICAgc2hvdWxkQmUoJ3NlbGVjdGlvblJlY3RzWzBdLnRvcCcsICcyNjEnKTsKLSAgICBzaG91
bGRCZSgnc2VsZWN0aW9uUmVjdHNbMF0ud2lkdGgnLCAnMjgnKTsKLSAgICBzaG91bGRCZSgnc2Vs
ZWN0aW9uUmVjdHNbMF0uaGVpZ2h0JywgJzE1Jyk7Ci0KLSAgICBkZWJ1ZygnJyk7CisgICAgc2hv
dWxkQmUoImlucHV0V2l0aG91dFN5c3RlbUtleWJvYXJkLnZhbHVlIiwgIidOb25lJyIpOworCisg
ICAgZGVidWcoIlxuVEVTVCBzZWxlY3Rpb24gaW4gaW5wdXQgd2l0aCBpbnB1dG1vZGU9bm9uZSIp
OworICAgIGlucHV0V2l0aG91dFN5c3RlbUtleWJvYXJkLnNlbGVjdCgpOworCisgICAgc2VsZWN0
aW9uUmVjdHMgPSBbXTsKKyAgICB3aGlsZSAoIXNlbGVjdGlvblJlY3RzLmxlbmd0aCkKKyAgICAg
ICAgc2VsZWN0aW9uUmVjdHMgPSBhd2FpdCBVSUhlbHBlci5nZXRVSVNlbGVjdGlvblZpZXdSZWN0
cygpOworCisgICAgc2hvdWxkQmUoInNlbGVjdGlvblJlY3RzLmxlbmd0aCIsICIxIik7CisgICAg
c2hvdWxkQmUoInNlbGVjdGlvblJlY3RzWzBdLmxlZnQiLCAiMTYiKTsKKyAgICBzaG91bGRCZSgi
c2VsZWN0aW9uUmVjdHNbMF0udG9wIiwgIjM4Iik7CisgICAgc2hvdWxkQmUoInNlbGVjdGlvblJl
Y3RzWzBdLndpZHRoIiwgIjI3Iik7CisgICAgc2hvdWxkQmUoInNlbGVjdGlvblJlY3RzWzBdLmhl
aWdodCIsICIxNSIpOwogICAgIGZpbmlzaEpTVGVzdCgpOwogfQogPC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdWktaGVscGVyLmpzIGIvTGF5b3V0VGVzdHMvcmVz
b3VyY2VzL3VpLWhlbHBlci5qcwppbmRleCA5NGYwZmFhMjI4Y2IyMTA1YjBhODBmMjE5MTQ5ZGYx
NzQwMjY1NzkyLi4yYzllMjkwNWE2NzllMGQ2ZDE1YWY5MTgyMmZkNzM2ZmQ2NzExNDYxIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdWktaGVscGVyLmpzCisrKyBiL0xheW91dFRl
c3RzL3Jlc291cmNlcy91aS1oZWxwZXIuanMKQEAgLTgzMyw0ICs4MzMsOSBAQCB3aW5kb3cuVUlI
ZWxwZXIgPSBjbGFzcyBVSUhlbHBlciB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnJ1blVJU2Ny
aXB0KCJKU09OLnN0cmluZ2lmeSh1aUNvbnRyb2xsZXIubWVudVJlY3QpIiwgcmVzdWx0ID0+IHJl
c29sdmUoSlNPTi5wYXJzZShyZXN1bHQpKSk7CiAgICAgICAgIH0pOwogICAgIH0KKworICAgIHN0
YXRpYyBzZXRIYXJkd2FyZUtleWJvYXJkQXR0YWNoZWQoYXR0YWNoZWQpCisgICAgeworICAgICAg
ICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB0ZXN0UnVubmVyLnJ1blVJU2NyaXB0KGB1
aUNvbnRyb2xsZXIuc2V0SGFyZHdhcmVLZXlib2FyZEF0dGFjaGVkKCR7YXR0YWNoZWQgPyAidHJ1
ZSIgOiAiZmFsc2UifSlgLCByZXNvbHZlKSk7CisgICAgfQogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367293</attachid>
            <date>2019-04-11 22:51:16 -0700</date>
            <delta_ts>2019-04-11 23:56:15 -0700</delta_ts>
            <desc>Try to fix the OpenSource build</desc>
            <filename>bug-195856-20190411225116.patch</filename>
            <type>text/plain</type>
            <size>21305</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBiY2RmZGY4
NmQ3ODBiMDE3MTU2MTAxMGU3YzFkZmE3NGY4NjM5OGNjLi5lNzFiMGY0NjM3MTBiMmU1NjE3ZmE5
ODA2OTViOGE0MzBkODllOWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAxOS0wNC0xMSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAg
ICAgICBbaU9TXSBTb2Z0d2FyZSBrZXlib2FyZCBpcyBzaG93biB0b28gZnJlcXVlbnRseSBvbiBz
b21lIHdlYnNpdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTU4NTYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5MTkxMzk1PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERlY2xhcmUgbmV3IEdyYXBo
aWNzU2VydmljZXMgU1BJLgorCisgICAgICAgICogcGFsL3NwaS9pb3MvR3JhcGhpY3NTZXJ2aWNl
c1NQSS5oOgorCiAyMDE5LTA0LTEwICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+
CiAKICAgICAgICAgRW5hYmxlIFBvaW50ZXIgRXZlbnRzIG9uIHdhdGNoT1MKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
NDUzZTBlZjZiODMyYzkyMTkyZGYzOGJkODJlMDU4NDQ2MTA0NGM0NC4uNDcyNzc3NmRlNTVlYzkw
MjE5ODk5NDQ3NTQ3ZmJiOTAzY2E5ZDJmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBAQAorMjAx
OS0wNC0xMSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAg
ICBbaU9TXSBTb2Z0d2FyZSBrZXlib2FyZCBpcyBzaG93biB0b28gZnJlcXVlbnRseSBvbiBzb21l
IHdlYnNpdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTU4NTYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5MTkxMzk1PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9uIHNvbWUgd2Vic2l0ZXMsIGhp
ZGRlbiBlZGl0YWJsZSBlbGVtZW50cyBhcmUgdmVyeSBmcmVxdWVudGx5IGZvY3VzZWQgdXBvbiB1
c2VyIGludGVyYWN0aW9uLiBDdXJyZW50bHksIHRoaXMKKyAgICAgICAgY2F1c2VzIHRoZSBzb2Z0
d2FyZSBrZXlib2FyZCB0byBwb3AgaW4gYW5kIG91dCB1bmV4cGVjdGVkbHk7IGx1Y2tpbHksIHRo
ZXNlIHNhbWUgc2l0ZXMgYWxzbyBhcHBseQorICAgICAgICBpbnB1dG1vZGU9Im5vbmUiIHRvIHRo
ZSBoaWRkZW4gZWRpdGFibGUgZWxlbWVudCwgd2hpY2ggb3VnaHQgdG8gZW5zdXJlIHRoYXQgdGhl
IHNvZnR3YXJlIGtleWJvYXJkIGRvZXNuJ3QgYXBwZWFyCisgICAgICAgIHdoZW4gdGhlIGVsZW1l
bnQgaXMgZm9jdXNlZC4KKworICAgICAgICBIb3dldmVyLCBzaW5jZSB3ZSBkaXNhYmxlZCBzdXBw
b3J0IGZvciBpbnB1dG1vZGU9Im5vbmUiIGluIHIyNDA0OTcsIHRoZSBzb2Z0d2FyZSBrZXlib2Fy
ZCBpcyBubyBsb25nZXIKKyAgICAgICAgc3VwcHJlc3NlZCwgYW5kIGJlY29tZXMgYSBiaWcgbnVp
c3NhbmNlLiByMjQwNDk3IHJlbW92ZWQgc3VwcG9ydCBmb3IgdGhpcyBmZWF0dXJlIGJlY2F1c2Us
IHdoZW4gdXNpbmcgYSBoYXJkd2FyZQorICAgICAgICBrZXlib2FyZCwgcHJlc3NpbmcgdGhlIGds
b2JlIGtleSBubyBsb25nZXIgc2hvd2VkIFVJIGZvciBzd2l0Y2hpbmcgbGFuZ3VhZ2VzLiBIb3dl
dmVyLCBzdXBwb3J0IGZvciBpbnB1dG1vZGUKKyAgICAgICAgbm9uZSBtYWtlcyBhIG11Y2ggbGFy
Z2VyIGltcGFjdCB3aGVuIGEgc29mdHdhcmUga2V5Ym9hcmQgaXMgdXNlZCAoc2luY2UgdGhlIGVu
dGlyZSBzb2Z0d2FyZSBrZXlib2FyZCBhbmltYXRlcyBpbgorICAgICAgICBhbmQgb3V0KSwgd2hl
cmVhcyBhIGhhcmR3YXJlIGtleWJvYXJkIG9ubHkgZGlzcGxheXMgYW4gaW5wdXQgYWNjZXNzb3J5
IHZpZXcuIEZvciB0aGlzIHJlYXNvbiwgd2UgY2FuIG1pdGlnYXRlCisgICAgICAgIHRoaXMgYnVn
IHdpdGhvdXQgcmVpbnRyb2R1Y2luZyA8cmRhcjovL3Byb2JsZW0vNDc0MDY1NTM+IGJ5IHJlLWVu
YWJsaW5nIGlucHV0bW9kZT0ibm9uZSIsIGJ1dCBvbmx5IHdoZW4gYQorICAgICAgICBoYXJkd2Fy
ZSBrZXlib2FyZCBpcyBub3QgYXR0YWNoZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKGhhcmR3YXJlS2V5Ym9hcmRBdmFpbGFiaWxpdHlD
aGFuZ2VkQ2FsbGJhY2spOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0lu
dGVyYWN0aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgc2hvdWxkU2hvd0F1dG9tYXRpY0tl
eWJvYXJkVUldKToKKworICAgICAgICBEb24ndCBzaG93IHRoZSBrZXlib2FyZCBpZiBpbnB1dG1v
ZGUgaXMgbm9uZSBhbmQgYSBoYXJkd2FyZSBrZXlib2FyZCBpcyBub3QgYXR0YWNoZWQuCisKKyAg
ICAgICAgKC1bV0tDb250ZW50VmlldyBfaGFyZHdhcmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5n
ZWRdKToKKworICAgICAgICBSZWxvYWQgaW5wdXQgdmlld3MgaWYgdGhlIGlucHV0bW9kZSBpcyBu
b25lIHRvIGVuc3VyZSB0aGF0IGlmIGEgaGFyZHdhcmUga2V5Ym9hcmQgaXMgYXR0YWNoZWQgd2hp
bGUgZWRpdGluZyBhbgorICAgICAgICBlbGVtZW50IHdpdGggaW5wdXRtb2RlPSJub25lIiwgd2Un
bGwgc2hvdyB0aGUgaW5wdXQgYWNjZXNzb3J5IHZpZXcgb25jZSBhZ2Fpbi4KKwogMjAxOS0wNC0x
MSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBBbGxv
dyB0aGUgTWVkaWFTb3VyY2UgQVBJIHRvIGJlIGVuYWJsZWQgdmlhIHdlYnNpdGUgcG9saWN5CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9pb3MvR3JhcGhpY3NTZXJ2aWNl
c1NQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvaW9zL0dyYXBoaWNzU2VydmljZXNT
UEkuaAppbmRleCAxYjViZDk3ODRmYWM2M2UxYmFhZDM1NTlhYmZiN2JlZTVjMTAxNmQ3Li5lODk5
ZTIxZjRjYTcyMDNiOGRmMGYwYTkyOWFiMzY2NTJkYmU1OTA5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvcGFsL3NwaS9pb3MvR3JhcGhpY3NTZXJ2aWNlc1NQSS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2lvcy9HcmFwaGljc1NlcnZpY2VzU1BJLmgKQEAgLTQ2LDYg
KzQ2LDcgQEAgdm9pZCBHU0ZvbnRQdXJnZUZvbnRDYWNoZSh2b2lkKTsKIHR5cGVkZWYgc3RydWN0
IF9fR1NLZXlib2FyZCogR1NLZXlib2FyZFJlZjsKIHVpbnQzMl90IEdTS2V5Ym9hcmRHZXRNb2Rp
ZmllclN0YXRlKEdTS2V5Ym9hcmRSZWYpOwogQm9vbGVhbiBHU0V2ZW50SXNIYXJkd2FyZUtleWJv
YXJkQXR0YWNoZWQoKTsKK3ZvaWQgR1NFdmVudFNldEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZChC
b29sZWFuIGF0dGFjaGVkLCB1aW50OF90IGNvdW50cnkpOwogCiBleHRlcm4gY29uc3QgY2hhciAq
a0dTRXZlbnRIYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZE5vdGlmaWNhdGlvbjsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
dy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5k
ZXggMjU0NWYwZWUxMzNlOWFlY2MzYmM1YWYwYThkOGVmZDE5MDc1MjNhZi4uMzE2YTNkYWY0Y2Nl
N2U4ZWI4NWI2YzhjYzY0ZjY3YmM0OTcxYzJjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0zMzMyLDYgKzMzMzIsNyBAQCBzdGF0aWMg
dm9pZCBoYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZENhbGxiYWNrKENGTm90aWZp
Y2F0aW9uQ2VudGVyUmVmLAogewogICAgIEFTU0VSVChvYnNlcnZlcik7CiAgICAgV0tXZWJWaWV3
ICp3ZWJWaWV3ID0gKF9fYnJpZGdlIFdLV2ViVmlldyAqKW9ic2VydmVyOworICAgIFt3ZWJWaWV3
LT5fY29udGVudFZpZXcgX2hhcmR3YXJlS2V5Ym9hcmRBdmFpbGFiaWxpdHlDaGFuZ2VkXTsKICAg
ICB3ZWJWaWV3Ll9wYWdlLT5oYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZChHU0V2
ZW50SXNIYXJkd2FyZUtleWJvYXJkQXR0YWNoZWQoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAppbmRleCA3
ZmRkMTQ2ODI5ODhhMTZkOWFjNDE2MGJlNzg2NmUyN2E1Njg3OTE0Li5lYjViZDQzMjhkY2NlNzYz
OTAyMjNmZGRlOGVmNmU5ZjJlM2E1Y2RiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCkBAIC00MTUsNiArNDE1LDcg
QEAgRk9SX0VBQ0hfUFJJVkFURV9XS0NPTlRFTlRWSUVXX0FDVElPTihERUNMQVJFX1dLQ09OVEVO
VFZJRVdfQUNUSU9OX0ZPUl9XRUJfVklFVykKIC0gKHZvaWQpX2VsZW1lbnREaWRCbHVyOwogLSAo
dm9pZClfZGlkVXBkYXRlSW5wdXRNb2RlOihXZWJDb3JlOjpJbnB1dE1vZGUpbW9kZTsKIC0gKHZv
aWQpX2RpZFJlY2VpdmVFZGl0b3JTdGF0ZVVwZGF0ZUFmdGVyRm9jdXM7CistICh2b2lkKV9oYXJk
d2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZDsKIC0gKHZvaWQpX3NlbGVjdGlvbkNoYW5n
ZWQ7CiAtICh2b2lkKV91cGRhdGVDaGFuZ2VkU2VsZWN0aW9uOwogLSAoQk9PTClfaW50ZXJwcmV0
S2V5RXZlbnQ6KDo6V2ViRXZlbnQgKil0aGVFdmVudCBpc0NoYXJFdmVudDooQk9PTClpc0NoYXJF
dmVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IDg0ZTczMWZjNDJkMzY5NzVkMDc5NDNhYWM5MTQwZjIw
MmIwZjA5MDEuLmYwYWE1YjdjMWZjMjYzMTcwMzJiNjIxNWNlNTY2ZDFjMmQyNzZjZmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRl
cmFjdGlvbi5tbQpAQCAtMTAwLDYgKzEwMCw3IEBACiAjaW1wb3J0IDxwYWwvc3BpL2NnL0NvcmVH
cmFwaGljc1NQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNQ
SS5oPgogI2ltcG9ydCA8cGFsL3NwaS9pb3MvRGF0YURldGVjdG9yc1VJU1BJLmg+CisjaW1wb3J0
IDxwYWwvc3BpL2lvcy9HcmFwaGljc1NlcnZpY2VzU1BJLmg+CiAjaW1wb3J0IDx3dGYvT3B0aW9u
YWwuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbXBvcnQgPHd0Zi9TZXRGb3JTY29w
ZS5oPgpAQCAtMTE4LDcgKzExOSw2IEBACiAjaW1wb3J0ICJOYXRpdmVXZWJNb3VzZUV2ZW50Lmgi
CiAjaW1wb3J0IDxVSUtpdC9VSUhvdmVyR2VzdHVyZVJlY29nbml6ZXIuaD4KICNpbXBvcnQgPFVJ
S2l0L19VSUxvb2t1cEdlc3R1cmVSZWNvZ25pemVyLmg+Ci0jaW1wb3J0IDxwYWwvc3BpL2lvcy9H
cmFwaGljc1NlcnZpY2VzU1BJLmg+CiAjZW5kaWYKIAogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NP
TE9SKQpAQCAtMTU5NSw3ICsxNTk1LDEyIEBAIC0gKHZvaWQpX3Njcm9sbGluZ05vZGVTY3JvbGxp
bmdEaWRFbmQKIAogLSAoQk9PTClzaG91bGRTaG93QXV0b21hdGljS2V5Ym9hcmRVSQogewotICAg
IC8vIEZJWE1FOiBNYWtlIHRoaXMgZnVuY3Rpb24ga25vd2xlZGdlYWJsZSBhYm91dCB0aGUgSFRN
TCBhdHRyaWJ1dGUgaW5wdXRtb2RlLgorICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgc3VwcG9ydCBp
bnB1dG1vZGU9Im5vbmUiIHdoZW4gdGhlIGhhcmR3YXJlIGtleWJvYXJkIGlzIGF0dGFjaGVkLgor
ICAgIC8vIFdlIGN1cnJlbnRseSByZWZyYWluIGZyb20gZG9pbmcgc28gYmVjYXVzZSB0aGF0IHdv
dWxkIHByZXZlbnQgVUlLaXQgZnJvbSBzaG93aW5nCisgICAgLy8gdGhlIGxhbmd1YWdlIHBpY2tl
ciB3aGVuIHByZXNzaW5nIHRoZSBnbG9iZSBrZXkgdG8gY2hhbmdlIHRoZSBpbnB1dCBsYW5ndWFn
ZS4KKyAgICBpZiAoX2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uaW5wdXRNb2RlID09IFdlYkNv
cmU6OklucHV0TW9kZTo6Tm9uZSAmJiAhR1NFdmVudElzSGFyZHdhcmVLZXlib2FyZEF0dGFjaGVk
KCkpCisgICAgICAgIHJldHVybiBOTzsKKwogICAgIHN3aXRjaCAoX2ZvY3VzZWRFbGVtZW50SW5m
b3JtYXRpb24uZWxlbWVudFR5cGUpIHsKICAgICBjYXNlIFdlYktpdDo6SW5wdXRUeXBlOjpOb25l
OgogICAgIGNhc2UgV2ViS2l0OjpJbnB1dFR5cGU6OkRyYXdpbmc6CkBAIC01MTMzLDYgKzUxMzgs
MTIgQEAgLSAodm9pZClfZWxlbWVudERpZEJsdXIKICAgICAgICAgX2RpZEFjY2Vzc29yeVRhYklu
aXRpYXRlRm9jdXMgPSBOTzsKIH0KIAorLSAodm9pZClfaGFyZHdhcmVLZXlib2FyZEF2YWlsYWJp
bGl0eUNoYW5nZWQKK3sKKyAgICBpZiAoaGFzRm9jdXNlZEVsZW1lbnQoX2ZvY3VzZWRFbGVtZW50
SW5mb3JtYXRpb24pICYmIF9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLmlucHV0TW9kZSA9PSBX
ZWJDb3JlOjpJbnB1dE1vZGU6Ok5vbmUpCisgICAgICAgIFtzZWxmIHJlbG9hZElucHV0Vmlld3Nd
OworfQorCiAtICh2b2lkKV9kaWRVcGRhdGVJbnB1dE1vZGU6KFdlYkNvcmU6OklucHV0TW9kZSlt
b2RlCiB7CiAgICAgaWYgKCFzZWxmLmlucHV0RGVsZWdhdGUgfHwgX2ZvY3VzZWRFbGVtZW50SW5m
b3JtYXRpb24uZWxlbWVudFR5cGUgPT0gV2ViS2l0OjpJbnB1dFR5cGU6Ok5vbmUpCmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOGVjZmUxMWM2ZjU4
ZGEzY2M1MmUyYjNiNDgwOWMyYzJlZTI5YThjMC4uOTA4OTRkNzgzM2Y4MjJkZTg2N2I3OTY4MWNj
YTY0ZGIwZGQwZGMxOSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE5LTA0LTExICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFNvZnR3YXJlIGtleWJvYXJkIGlz
IHNob3duIHRvbyBmcmVxdWVudGx5IG9uIHNvbWUgd2Vic2l0ZXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTg1NgorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNDkxOTEzOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIGF0dGFjaGluZyBvciBkZXRhY2hpbmcgdGhlIGhhcmR3
YXJlIGtleWJvYXJkIG9uIGlPUyBpbiBsYXlvdXQgdGVzdHMuCisKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RSOjpVSVNj
cmlwdENvbnRyb2xsZXI6OnNldEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZCk6CisgICAgICAgICog
VGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvQmluZGluZ3MvVUlTY3JpcHRDb250cm9s
bGVyLmlkbDoKKyAgICAgICAgKiBUZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNj
cmlwdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXI6OnNl
dEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZCk6CisgICAgICAgICogVGVzdFJ1bm5lclNoYXJlZC9V
SVNjcmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmg6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9Db25maWd1cmF0aW9ucy9XZWJLaXRUZXN0UnVubmVyQXBwLnhjY29uZmlnOgorCisg
ICAgICAgIEFkZGl0aW9uYWxseSBsaW5rIGFnYWluc3QgR3JhcGhpY3NTZXJ2aWNlcyBpbiBXZWJL
aXRUZXN0UnVubmVyLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRD
b250cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1S
ZXNldFN0YXRlVG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKFdUUjo6VUlTY3JpcHRDb250
cm9sbGVyOjpzZXRIYXJkd2FyZUtleWJvYXJkQXR0YWNoZWQpOgorCiAyMDE5LTA0LTEwICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgV0tOYXZp
Z2F0aW9uUmVzcG9uc2UuX2Rvd25sb2FkQXR0cmlidXRlIHNob3VsZCBiZSBuaWwgd2hlbiBubyBk
b3dubG9hZCBhdHRyaWJ1dGUgaXMgcHJlc2VudApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0KaW5kZXggMmVlOTFiMDdhM2FiNjA3OGU4ZTAw
NGEyZTBlNzA5MGU5ZDc5OTAyMi4uZTFjYmQ2Y2FkNTM2YTRiMjdlNjVhZWQ5NmJkZjY5OGYwOThh
YjJmOCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvaW9zL1VJU2NyaXB0Q29udHJv
bGxlcklPUy5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9pb3MvVUlTY3JpcHRDb250cm9s
bGVySU9TLm1tCkBAIC01MzUsNiArNTM1LDEwIEBAIE5TVW5kb01hbmFnZXIgKlVJU2NyaXB0Q29u
dHJvbGxlcjo6cGxhdGZvcm1VbmRvTWFuYWdlcigpIGNvbnN0CiAgICAgcmV0dXJuIG5pbDsKIH0K
IAordm9pZCBVSVNjcmlwdENvbnRyb2xsZXI6OnNldEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZChi
b29sKQoreworfQorCiB9CiAKICNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvQmluZGluZ3MvVUlT
Y3JpcHRDb250cm9sbGVyLmlkbCBiL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250
ZXh0L0JpbmRpbmdzL1VJU2NyaXB0Q29udHJvbGxlci5pZGwKaW5kZXggMjNmZTMyNjVjNjE4ZDNi
OGEyNzU2MzM4ZjE3NDBmZjk0ZmI0M2Q1MC4uMTdhNTQ0YzU1M2Q0ZDZlOTdiNmVkYWE2ZmEyZDcz
OWJmYTJjNzBmMiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENv
bnRleHQvQmluZGluZ3MvVUlTY3JpcHRDb250cm9sbGVyLmlkbAorKysgYi9Ub29scy9UZXN0UnVu
bmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9CaW5kaW5ncy9VSVNjcmlwdENvbnRyb2xsZXIuaWRs
CkBAIC0zMTEsNiArMzExLDggQEAgaW50ZXJmYWNlIFVJU2NyaXB0Q29udHJvbGxlciB7CiAgICAg
dm9pZCBtYWtlV2luZG93Q29udGVudFZpZXdGaXJzdFJlc3BvbmRlcigpOwogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBib29sZWFuIGlzV2luZG93Q29udGVudFZpZXdGaXJzdFJlc3BvbmRlcjsKIAor
ICAgIHZvaWQgc2V0SGFyZHdhcmVLZXlib2FyZEF0dGFjaGVkKGJvb2xlYW4gYXR0YWNoZWQpOwor
CiAgICAgb2JqZWN0IGF0dGFjaG1lbnRJbmZvKERPTVN0cmluZyBhdHRhY2htZW50SWRlbnRpZmll
cik7CiAKICAgICAvLyBFZGl0aW5nCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0UnVubmVyU2hhcmVk
L1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvVGVzdFJ1bm5l
clNoYXJlZC9VSVNjcmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCA2ZmFh
YjA4Mzg3ZWVmMTMzOTE1OTNlZmViZWI0ZDExOWI3Y2U2ZjIzLi5hZGM3MjYwN2JmMmQ5MTZiODA0
YzRiMzJhODlhMzVhMTM5ZDgzOTg4IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0UnVubmVyU2hhcmVk
L1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1Rlc3RS
dW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udHJvbGxlci5jcHAKQEAgLTYz
OCw2ICs2MzgsMTAgQEAgdm9pZCBVSVNjcmlwdENvbnRyb2xsZXI6OnNldEtleWJvYXJkSW5wdXRN
b2RlSWRlbnRpZmllcihKU1N0cmluZ1JlZikKIHsKIH0KIAordm9pZCBVSVNjcmlwdENvbnRyb2xs
ZXI6OnNldEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZChib29sKQoreworfQorCiAjZW5kaWYKIAog
I2lmICFQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQv
VUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0Q29udHJvbGxlci5oIGIvVG9vbHMvVGVzdFJ1bm5lclNo
YXJlZC9VSVNjcmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmgKaW5kZXggZjI0Y2M3ZWI3
OWI2NTZiZWNkZjhmY2FiNjM3NWQ3OTIzZjRlYTk5Ny4uNTYwYTNkMmM5MjMxMzhiYmY5NDUzZWM0
MWQwMzNlYmFlMTdjOWJjZSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNj
cmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvVGVzdFJ1bm5lclNo
YXJlZC9VSVNjcmlwdENvbnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmgKQEAgLTI0MCw2ICsyNDAs
OCBAQCBwdWJsaWM6CiAKICAgICBKU09iamVjdFJlZiBhdHRhY2htZW50SW5mbyhKU1N0cmluZ1Jl
ZiBhdHRhY2htZW50SWRlbnRpZmllcik7CiAKKyAgICB2b2lkIHNldEhhcmR3YXJlS2V5Ym9hcmRB
dHRhY2hlZChib29sKTsKKwogcHJpdmF0ZToKICAgICBVSVNjcmlwdENvbnRyb2xsZXIoVUlTY3Jp
cHRDb250ZXh0Jik7CiAgICAgCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0Nv
bmZpZ3VyYXRpb25zL1dlYktpdFRlc3RSdW5uZXJBcHAueGNjb25maWcgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0NvbmZpZ3VyYXRpb25zL1dlYktpdFRlc3RSdW5uZXJBcHAueGNjb25maWcKaW5k
ZXggY2JhOTM2ZGY0ZTU4N2U5YjZmMjBhNzZkZjNhY2NiNTM2MTVhYjIzYy4uZGJmMTI5ZTY1YmE3
Y2MwNTI4NzEyYWI4ZjYzZTIwNzM0NjQzMmJiNyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9Db25maWd1cmF0aW9ucy9XZWJLaXRUZXN0UnVubmVyQXBwLnhjY29uZmlnCisrKyBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvQ29uZmlndXJhdGlvbnMvV2ViS2l0VGVzdFJ1bm5lckFw
cC54Y2NvbmZpZwpAQCAtMzAsNyArMzAsNyBAQCBQUk9EVUNUX0JVTkRMRV9JREVOVElGSUVSID0g
b3JnLndlYmtpdC4kKFBST0RVQ1RfTkFNRTpyZmMxMDM0aWRlbnRpZmllcik7CiAKIEdDQ19FTkFC
TEVfT0JKQ19FWENFUFRJT05TID0gWUVTOwogCi1PVEhFUl9MREZMQUdTID0gJChpbmhlcml0ZWQp
IC1sV2ViS2l0VGVzdFJ1bm5lciAtbFdlYkNvcmVUZXN0U3VwcG9ydCAtZnJhbWV3b3JrIEphdmFT
Y3JpcHRDb3JlIC1mcmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1mcmFtZXdvcmsgUXVhcnR6Q29yZSAt
ZnJhbWV3b3JrIEltYWdlSU8gLWZyYW1ld29yayBJT0tpdCAtZnJhbWV3b3JrIFVJS2l0IC1mcmFt
ZXdvcmsgV2ViS2l0IC1mcmFtZXdvcmsgRm91bmRhdGlvbjsKK09USEVSX0xERkxBR1MgPSAkKGlu
aGVyaXRlZCkgLWxXZWJLaXRUZXN0UnVubmVyIC1sV2ViQ29yZVRlc3RTdXBwb3J0IC1mcmFtZXdv
cmsgSmF2YVNjcmlwdENvcmUgLWZyYW1ld29yayBDb3JlR3JhcGhpY3MgLWZyYW1ld29yayBRdWFy
dHpDb3JlIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3b3JrIElPS2l0IC1mcmFtZXdvcmsgVUlL
aXQgLWZyYW1ld29yayBXZWJLaXQgLWZyYW1ld29yayBGb3VuZGF0aW9uIC1pZnJhbWV3b3JrIiQo
U0RLX0RJUikkKFNZU1RFTV9MSUJSQVJZX0RJUikvUHJpdmF0ZUZyYW1ld29ya3MiIC1mcmFtZXdv
cmsgR3JhcGhpY3NTZXJ2aWNlczsKIAogU0tJUF9JTlNUQUxMW3Nkaz1tYWNvc3gqXSA9IFlFUzsK
IApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVGVzdENvbnRyb2xsZXJJ
T1MubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQpp
bmRleCBlMGZhOWE1OGIwYWY3ZDhjZDE3MWVkMzkwNGEzOTRhZmEyMGNjNGI5Li4zZWVlMDA1Zjdh
NjgwM2MzMjJmYjcxNGY3NDQ2ZmQ2Y2VhYmJlNjJhIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQorKysgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbQpAQCAtNDMsNiArNDMsNyBAQAogI2ltcG9y
dCA8V2ViS2l0L1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJL
aXQvV0tXZWJWaWV3UHJpdmF0ZS5oPgogI2ltcG9ydCA8b2JqYy9ydW50aW1lLmg+CisjaW1wb3J0
IDxwYWwvc3BpL2lvcy9HcmFwaGljc1NlcnZpY2VzU1BJLmg+CiAjaW1wb3J0IDx3dGYvTWFpblRo
cmVhZC5oPgogCiBzdGF0aWMgQk9PTCBvdmVycmlkZUlzSW5IYXJkd2FyZUtleWJvYXJkTW9kZSgp
CkBAIC0xNDEsNiArMTQyLDcgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1SZXNldFN0
YXRlVG9Db25zaXN0ZW50VmFsdWVzKGNvbnN0IFRlc3RPcHRpb25zJiBvcHQKIAogICAgIFtbVUlB
cHBsaWNhdGlvbiBzaGFyZWRBcHBsaWNhdGlvbl0gX2NhbmNlbEFsbFRvdWNoZXNdOwogICAgIFtb
VUlEZXZpY2UgY3VycmVudERldmljZV0gc2V0T3JpZW50YXRpb246VUlEZXZpY2VPcmllbnRhdGlv
blBvcnRyYWl0IGFuaW1hdGVkOk5PXTsKKyAgICBHU0V2ZW50U2V0SGFyZHdhcmVLZXlib2FyZEF0
dGFjaGVkKHRydWUsIDApOwogCiAgICAgbV9pbnB1dE1vZGVTd2l6emxlcnMuY2xlYXIoKTsKICAg
ICBtX292ZXJyaWRkZW5LZXlib2FyZElucHV0TW9kZSA9IG5pbDsKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbSBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQppbmRleCBkMjQ5Njc4
N2E4M2VjMDFjZTc0NjA3N2YwMzZlMTZhNTY1MjdmMmMwLi43NDhjM2ExZGIxNjA5OWYyMjU1ZDY2
ZTY0MTk5ODYwMzdkZDI2YmI4IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lv
cy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9p
b3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCkBAIC00Miw2ICs0Miw3IEBACiAjaW1wb3J0IDxX
ZWJDb3JlL0Zsb2F0UmVjdC5oPgogI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4K
ICNpbXBvcnQgPFdlYktpdC9XZWJLaXQuaD4KKyNpbXBvcnQgPHBhbC9zcGkvaW9zL0dyYXBoaWNz
U2VydmljZXNTUEkuaD4KICNpbXBvcnQgPHd0Zi9Tb2Z0TGlua2luZy5oPgogI2ltcG9ydCA8d3Rm
L1ZlY3Rvci5oPgogCkBAIC0xMTQwLDYgKzExNDEsMTEgQEAgSlNPYmplY3RSZWYgVUlTY3JpcHRD
b250cm9sbGVyOjpjYWxlbmRhclR5cGUoKSBjb25zdAogICAgIHJldHVybiBKU1ZhbHVlVG9PYmpl
Y3QoanNDb250ZXh0LCBbSlNWYWx1ZSB2YWx1ZVdpdGhPYmplY3Q6Y2FsZW5kYXJUeXBlU3RyaW5n
IGluQ29udGV4dDpbSlNDb250ZXh0IGNvbnRleHRXaXRoSlNHbG9iYWxDb250ZXh0UmVmOmpzQ29u
dGV4dF1dLkpTVmFsdWVSZWYsIG51bGxwdHIpOwogfQogCit2b2lkIFVJU2NyaXB0Q29udHJvbGxl
cjo6c2V0SGFyZHdhcmVLZXlib2FyZEF0dGFjaGVkKGJvb2wgYXR0YWNoZWQpCit7CisgICAgR1NF
dmVudFNldEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZChhdHRhY2hlZCwgMCk7Cit9CisKIH0KIAog
I2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzVmYTMxZTRlNjY4MzFkNzAz
ODJkZDRlYjRkNmQzZTVlZDhjMGVjMS4uNmZjZDFlYTJkMDg5MDE2ZmU3YmEzMzFkNTA0YWRmY2Qx
ZjBkYThkNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE5LTA0LTExICBXZW5zb24gSHNpZWgg
IDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFNvZnR3YXJlIGtleWJv
YXJkIGlzIHNob3duIHRvbyBmcmVxdWVudGx5IG9uIHNvbWUgd2Vic2l0ZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTg1NgorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNDkxOTEzOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRml4IGEgZmFpbGluZyBsYXlvdXQgdGVzdCwgd2hpY2ggKGFtb25nIG90
aGVyIHJlYXNvbnMpIGlzIGN1cnJlbnRseSBmYWlsaW5nIGJlY2F1c2Ugc3VwcG9ydCBmb3IgaW5w
dXRtb2RlPSJub25lIgorICAgICAgICBpcyBkaXNhYmxlZC4KKworICAgICAgICAqIGZhc3QvZm9y
bXMvaW9zL2lucHV0bW9kZS1ub25lLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Zvcm1z
L2lvcy9pbnB1dG1vZGUtbm9uZS5odG1sOgorICAgICAgICAqIHJlc291cmNlcy91aS1oZWxwZXIu
anM6CisKKyAgICAgICAgQWRkIGEgVUlIZWxwZXIgbWV0aG9kIGZvciBhdHRhY2hpbmcgb3IgZGV0
YWNoaW5nIHRoZSBoYXJkd2FyZSBrZXlib2FyZC4KKworICAgICAgICAod2luZG93LlVJSGVscGVy
LnNldEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZCk6CisgICAgICAgICh3aW5kb3cuVUlIZWxwZXIp
OgorCiAyMDE5LTA0LTExICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgog
CiAgICAgICAgIEFsbG93IHRoZSBNZWRpYVNvdXJjZSBBUEkgdG8gYmUgZW5hYmxlZCB2aWEgd2Vi
c2l0ZSBwb2xpY3kKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2lucHV0
bW9kZS1ub25lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2lucHV0
bW9kZS1ub25lLWV4cGVjdGVkLnR4dAppbmRleCBiMWM0YzgzMGZmZmU0NTZhMmJlOGVlNjljOWNh
NWE1NWNiNmI3Yjg0Li45MmI4ZTNmMjIzZTgxMWM5NmM3NDViNDMwNzJhOTg3MzI5NWIxZjdmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9pbnB1dG1vZGUtbm9uZS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3MvaW5wdXRtb2RlLW5vbmUt
ZXhwZWN0ZWQudHh0CkBAIC0xLDI3ICsxLDI3IEBACisKKwogVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgdGhlIHN5c3RlbSBrZXlib2FyZCBpcyBub3QgdmlzaWJsZSB3aGVuIHRhcHBpbmcgb24gYW4g
aW5wdXQgZmllbGQgd2l0aCBpbnB1dG1vZGU9bm9uZS4KIAogT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgogCiAKLQogQUNUSVZBVEUgaW5wdXQgd2l0aCBpbnB1dG1vZGU9dGV4dAotUEFTUyB0ZXh0
S2V5Ym9hcmRIZWlnaHQgPSBzeXN0ZW1LZXlib2FyZFJlY3QuaGVpZ2h0OyBzeXN0ZW1LZXlib2Fy
ZFJlY3QuaGVpZ2h0ID4gMCBpcyB0cnVlCi1QQVNTIGlucHV0V2l0aFN5c3RlbUtleWJvYXJkLnZh
bHVlIGlzICJUZXh0IgorUEFTUyBzeXN0ZW1LZXlib2FyZFJlY3QuaGVpZ2h0ID4gMCBpcyB0cnVl
CitQQVNTIGlucHV0V2l0aFN5c3RlbUtleWJvYXJkLnZhbHVlIGlzICdUZXh0JwogCiBBQ1RJVkFU
RSBpbnB1dCB3aXRoIGlucHV0bW9kZT1ub25lCi1QQVNTIHN5c3RlbUtleWJvYXJkUmVjdC5oZWln
aHQgaXMgdGV4dEtleWJvYXJkSGVpZ2h0CitQQVNTIFN1Y2Nlc3NmdWxseSBkaXNtaXNzZWQga2V5
Ym9hcmQKIAogVEVTVCBlbnRlciB0ZXh0IGluIGlucHV0IHdpdGggaW5wdXRtb2RlPW5vbmUKLVBB
U1MgaW5wdXRXaXRob3V0U3lzdGVtS2V5Ym9hcmQudmFsdWUgaXMgIk5vbmUiCitQQVNTIGlucHV0
V2l0aG91dFN5c3RlbUtleWJvYXJkLnZhbHVlIGlzICdOb25lJwogCiBURVNUIHNlbGVjdGlvbiBp
biBpbnB1dCB3aXRoIGlucHV0bW9kZT1ub25lCiBQQVNTIHNlbGVjdGlvblJlY3RzLmxlbmd0aCBp
cyAxCi1QQVNTIHNlbGVjdGlvblJlY3RzWzBdLmxlZnQgaXMgMTU5Ci1QQVNTIHNlbGVjdGlvblJl
Y3RzWzBdLnRvcCBpcyAyNjEKLVBBU1Mgc2VsZWN0aW9uUmVjdHNbMF0ud2lkdGggaXMgMjgKK1BB
U1Mgc2VsZWN0aW9uUmVjdHNbMF0ubGVmdCBpcyAxNgorUEFTUyBzZWxlY3Rpb25SZWN0c1swXS50
b3AgaXMgMzgKK1BBU1Mgc2VsZWN0aW9uUmVjdHNbMF0ud2lkdGggaXMgMjcKIFBBU1Mgc2VsZWN0
aW9uUmVjdHNbMF0uaGVpZ2h0IGlzIDE1Ci0KIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKIAogVEVTVCBDT01QTEVURQotIAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2lvcy9pbnB1dG1vZGUtbm9uZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3Mv
aW5wdXRtb2RlLW5vbmUuaHRtbAppbmRleCBmMmY2YTM1YzAwNjA0NjFiMTZlOGVhY2RiODUzNmQ3
YWQyMTQ5YzRhLi45MmQ4Mzk2ZmIyMTBlMWQ0NTMyNTY0ZTQ3OGRmZDFhZjE3MWU0OGIyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9pbnB1dG1vZGUtbm9uZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2lucHV0bW9kZS1ub25lLmh0bWwKQEAgLTEs
NDggKzEsNTMgQEAKLTwhRE9DVFlQRSBodG1sPgorPCFET0NUWVBFIGh0bWw+IDwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgdXNlRmxleGlibGVWaWV3cG9ydD10cnVlIF0gLS0+CiA8aHRtbD4KIDxo
ZWFkPgotPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwg
aW5pdGlhbC1zY2FsZT0xIj4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSwgdXNlci1zY2FsYWJsZT1ubyI+CiA8c2NyaXB0
IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uL3Jlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgogPC9oZWFkPgog
PGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPGlucHV0IGlkPSJpbnB1dC1rZXlib2FyZCIgaW5w
dXRtb2RlPSJ0ZXh0Ij4KLTxpbnB1dCBpZD0iaW5wdXQtbm9rZXlib2FyZCIgaW5wdXRtb2RlPSJu
b25lIj4KKzxkaXY+PGlucHV0IGlkPSJpbnB1dC1rZXlib2FyZCIgaW5wdXRtb2RlPSJ0ZXh0Ij48
L2Rpdj4KKzxkaXY+PGlucHV0IGlkPSJpbnB1dC1ub2tleWJvYXJkIiBpbnB1dG1vZGU9Im5vbmUi
PjwvZGl2PgorPHByZSBpZD0iZGVzY3JpcHRpb24iPjwvcHJlPgorPHByZSBpZD0iY29uc29sZSI+
PC9wcmU+CiA8c2NyaXB0PgoganNUZXN0SXNBc3luYyA9IHRydWU7CiAKIGFzeW5jIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgYXdhaXQgVUlIZWxwZXIuc2V0SGFyZHdhcmVLZXlib2FyZEF0dGFj
aGVkKGZhbHNlKTsKICAgICBpbnB1dFdpdGhTeXN0ZW1LZXlib2FyZCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJpbnB1dC1rZXlib2FyZCIpOwogICAgIGlucHV0V2l0aG91dFN5c3RlbUtleWJv
YXJkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlucHV0LW5va2V5Ym9hcmQiKTsKIAotICAg
IGRlc2NyaXB0aW9uKCdUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0aGUgc3lzdGVtIGtleWJvYXJk
IGlzIG5vdCB2aXNpYmxlIHdoZW4gdGFwcGluZyBvbiBhbiBpbnB1dCBmaWVsZCB3aXRoIGlucHV0
bW9kZT1ub25lLicpOworICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB0
aGUgc3lzdGVtIGtleWJvYXJkIGlzIG5vdCB2aXNpYmxlIHdoZW4gdGFwcGluZyBvbiBhbiBpbnB1
dCBmaWVsZCB3aXRoIGlucHV0bW9kZT1ub25lLiIpOwogCi0gICAgZGVidWcoJ1xuQUNUSVZBVEUg
aW5wdXQgd2l0aCBpbnB1dG1vZGU9dGV4dCcpOwotICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRl
Rm9ybUNvbnRyb2woaW5wdXRXaXRoU3lzdGVtS2V5Ym9hcmQpOworICAgIGRlYnVnKCJcbkFDVElW
QVRFIGlucHV0IHdpdGggaW5wdXRtb2RlPXRleHQiKTsKKyAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUVsZW1lbnRBbmRXYWl0Rm9ySW5wdXRTZXNzaW9uKGlucHV0V2l0aFN5c3RlbUtleWJvYXJk
KTsKICAgICBzeXN0ZW1LZXlib2FyZFJlY3QgPSBhd2FpdCBVSUhlbHBlci5pbnB1dFZpZXdCb3Vu
ZHMoKTsKLSAgICBzaG91bGRCZSgndGV4dEtleWJvYXJkSGVpZ2h0ID0gc3lzdGVtS2V5Ym9hcmRS
ZWN0LmhlaWdodDsgc3lzdGVtS2V5Ym9hcmRSZWN0LmhlaWdodCA+IDAnLCAndHJ1ZScpOworICAg
IHNob3VsZEJlKCJzeXN0ZW1LZXlib2FyZFJlY3QuaGVpZ2h0ID4gMCIsICJ0cnVlIik7CiAgICAg
YXdhaXQgVUlIZWxwZXIuZW50ZXJUZXh0KCJUZXh0Iik7Ci0gICAgc2hvdWxkQmUoJ2lucHV0V2l0
aFN5c3RlbUtleWJvYXJkLnZhbHVlJywgJyJUZXh0IicpOworICAgIHNob3VsZEJlKCJpbnB1dFdp
dGhTeXN0ZW1LZXlib2FyZC52YWx1ZSIsICInVGV4dCciKTsKIAotICAgIGRlYnVnKCdcbkFDVElW
QVRFIGlucHV0IHdpdGggaW5wdXRtb2RlPW5vbmUnKTsKLSAgICBhd2FpdCBVSUhlbHBlci5hY3Rp
dmF0ZUZvcm1Db250cm9sKGlucHV0V2l0aG91dFN5c3RlbUtleWJvYXJkKTsKLSAgICBzeXN0ZW1L
ZXlib2FyZFJlY3QgPSBhd2FpdCBVSUhlbHBlci5pbnB1dFZpZXdCb3VuZHMoKTsKLSAgICBzaG91
bGRCZSgnc3lzdGVtS2V5Ym9hcmRSZWN0LmhlaWdodCcsICd0ZXh0S2V5Ym9hcmRIZWlnaHQnKTsK
KyAgICBkZWJ1ZygiXG5BQ1RJVkFURSBpbnB1dCB3aXRoIGlucHV0bW9kZT1ub25lIik7CisgICAg
YXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGlucHV0V2l0aG91dFN5c3RlbUtleWJvYXJk
KTsKKyAgICBhd2FpdCBVSUhlbHBlci53YWl0Rm9yS2V5Ym9hcmRUb0hpZGUoKTsKKyAgICB0ZXN0
UGFzc2VkKCJTdWNjZXNzZnVsbHkgZGlzbWlzc2VkIGtleWJvYXJkIik7CiAKLSAgICBkZWJ1Zygn
XG5URVNUIGVudGVyIHRleHQgaW4gaW5wdXQgd2l0aCBpbnB1dG1vZGU9bm9uZScpOworICAgIGRl
YnVnKCJcblRFU1QgZW50ZXIgdGV4dCBpbiBpbnB1dCB3aXRoIGlucHV0bW9kZT1ub25lIik7CiAg
ICAgYXdhaXQgVUlIZWxwZXIuZW50ZXJUZXh0KCJOb25lIik7Ci0gICAgc2hvdWxkQmUoJ2lucHV0
V2l0aG91dFN5c3RlbUtleWJvYXJkLnZhbHVlJywgJyJOb25lIicpOwotCi0gICAgZGVidWcoJ1xu
VEVTVCBzZWxlY3Rpb24gaW4gaW5wdXQgd2l0aCBpbnB1dG1vZGU9bm9uZScpOwotICAgIGlucHV0
V2l0aG91dFN5c3RlbUtleWJvYXJkLnNldFNlbGVjdGlvblJhbmdlKDAsIGlucHV0V2l0aFN5c3Rl
bUtleWJvYXJkLnZhbHVlLmxlbmd0aCk7Ci0gICAgc2VsZWN0aW9uUmVjdHMgPSBhd2FpdCBVSUhl
bHBlci5nZXRVSVNlbGVjdGlvblJlY3RzKCk7Ci0gICAgc2hvdWxkQmUoJ3NlbGVjdGlvblJlY3Rz
Lmxlbmd0aCcsICcxJyk7Ci0gICAgc2hvdWxkQmUoJ3NlbGVjdGlvblJlY3RzWzBdLmxlZnQnLCAn
MTU5Jyk7Ci0gICAgc2hvdWxkQmUoJ3NlbGVjdGlvblJlY3RzWzBdLnRvcCcsICcyNjEnKTsKLSAg
ICBzaG91bGRCZSgnc2VsZWN0aW9uUmVjdHNbMF0ud2lkdGgnLCAnMjgnKTsKLSAgICBzaG91bGRC
ZSgnc2VsZWN0aW9uUmVjdHNbMF0uaGVpZ2h0JywgJzE1Jyk7Ci0KLSAgICBkZWJ1ZygnJyk7Cisg
ICAgc2hvdWxkQmUoImlucHV0V2l0aG91dFN5c3RlbUtleWJvYXJkLnZhbHVlIiwgIidOb25lJyIp
OworCisgICAgZGVidWcoIlxuVEVTVCBzZWxlY3Rpb24gaW4gaW5wdXQgd2l0aCBpbnB1dG1vZGU9
bm9uZSIpOworICAgIGlucHV0V2l0aG91dFN5c3RlbUtleWJvYXJkLnNlbGVjdCgpOworCisgICAg
c2VsZWN0aW9uUmVjdHMgPSBbXTsKKyAgICB3aGlsZSAoIXNlbGVjdGlvblJlY3RzLmxlbmd0aCkK
KyAgICAgICAgc2VsZWN0aW9uUmVjdHMgPSBhd2FpdCBVSUhlbHBlci5nZXRVSVNlbGVjdGlvblZp
ZXdSZWN0cygpOworCisgICAgc2hvdWxkQmUoInNlbGVjdGlvblJlY3RzLmxlbmd0aCIsICIxIik7
CisgICAgc2hvdWxkQmUoInNlbGVjdGlvblJlY3RzWzBdLmxlZnQiLCAiMTYiKTsKKyAgICBzaG91
bGRCZSgic2VsZWN0aW9uUmVjdHNbMF0udG9wIiwgIjM4Iik7CisgICAgc2hvdWxkQmUoInNlbGVj
dGlvblJlY3RzWzBdLndpZHRoIiwgIjI3Iik7CisgICAgc2hvdWxkQmUoInNlbGVjdGlvblJlY3Rz
WzBdLmhlaWdodCIsICIxNSIpOwogICAgIGZpbmlzaEpTVGVzdCgpOwogfQogPC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdWktaGVscGVyLmpzIGIvTGF5b3V0VGVz
dHMvcmVzb3VyY2VzL3VpLWhlbHBlci5qcwppbmRleCA5NGYwZmFhMjI4Y2IyMTA1YjBhODBmMjE5
MTQ5ZGYxNzQwMjY1NzkyLi4yYzllMjkwNWE2NzllMGQ2ZDE1YWY5MTgyMmZkNzM2ZmQ2NzExNDYx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdWktaGVscGVyLmpzCisrKyBiL0xh
eW91dFRlc3RzL3Jlc291cmNlcy91aS1oZWxwZXIuanMKQEAgLTgzMyw0ICs4MzMsOSBAQCB3aW5k
b3cuVUlIZWxwZXIgPSBjbGFzcyBVSUhlbHBlciB7CiAgICAgICAgICAgICB0ZXN0UnVubmVyLnJ1
blVJU2NyaXB0KCJKU09OLnN0cmluZ2lmeSh1aUNvbnRyb2xsZXIubWVudVJlY3QpIiwgcmVzdWx0
ID0+IHJlc29sdmUoSlNPTi5wYXJzZShyZXN1bHQpKSk7CiAgICAgICAgIH0pOwogICAgIH0KKwor
ICAgIHN0YXRpYyBzZXRIYXJkd2FyZUtleWJvYXJkQXR0YWNoZWQoYXR0YWNoZWQpCisgICAgewor
ICAgICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB0ZXN0UnVubmVyLnJ1blVJU2Ny
aXB0KGB1aUNvbnRyb2xsZXIuc2V0SGFyZHdhcmVLZXlib2FyZEF0dGFjaGVkKCR7YXR0YWNoZWQg
PyAidHJ1ZSIgOiAiZmFsc2UifSlgLCByZXNvbHZlKSk7CisgICAgfQogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367298</attachid>
            <date>2019-04-11 23:56:17 -0700</date>
            <delta_ts>2019-04-12 10:30:06 -0700</delta_ts>
            <desc>Try to fix the open source build (2)</desc>
            <filename>bug-195856-20190411235616.patch</filename>
            <type>text/plain</type>
            <size>22799</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzOTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBmNGQzOTYx
M2UzMjQyNDk3ZmZiNjJkNjU5ODljZjg2YWI3YWEwZDc5Li40OWZkZTM4NjE1ZjVkNGU5MmU0MTE5
YjU3NTRmNzI0NTFmNDhhOTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAxOS0wNC0xMSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAg
ICAgICBbaU9TXSBTb2Z0d2FyZSBrZXlib2FyZCBpcyBzaG93biB0b28gZnJlcXVlbnRseSBvbiBz
b21lIHdlYnNpdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTU4NTYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5MTkxMzk1PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERlY2xhcmUgbmV3IEdyYXBo
aWNzU2VydmljZXMgU1BJLgorCisgICAgICAgICogcGFsL3NwaS9pb3MvR3JhcGhpY3NTZXJ2aWNl
c1NQSS5oOgorCiAyMDE5LTA0LTAzICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBs
ZS5jb20+CiAKICAgICAgICAgLWFwcGxlLXRyYWlsaW5nLXdvcmQgaXMgbmVlZGVkIGZvciBicm93
c2VyIGRldGVjdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBlYzEzMjA1ODcxNTRmOGJkNzc1ZTkwMGEwNjU1MzRj
ODNkNTE3ZDY2Li5iODZiMDQ1ODhlNjY0ZGQyMWE2ZWI2ZDI4NTM5ZmFlYzllZGQ5MjNmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE5LTA0LTExICBXZW5zb24gSHNpZWggIDx3ZW5zb25f
aHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFNvZnR3YXJlIGtleWJvYXJkIGlzIHNo
b3duIHRvbyBmcmVxdWVudGx5IG9uIHNvbWUgd2Vic2l0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTg1NgorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNDkxOTEzOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgT24gc29tZSB3ZWJzaXRlcywgaGlkZGVuIGVkaXRhYmxlIGVsZW1lbnRzIGFyZSB2ZXJ5
IGZyZXF1ZW50bHkgZm9jdXNlZCB1cG9uIHVzZXIgaW50ZXJhY3Rpb24uIEN1cnJlbnRseSwgdGhp
cworICAgICAgICBjYXVzZXMgdGhlIHNvZnR3YXJlIGtleWJvYXJkIHRvIHBvcCBpbiBhbmQgb3V0
IHVuZXhwZWN0ZWRseTsgbHVja2lseSwgdGhlc2Ugc2FtZSBzaXRlcyBhbHNvIGFwcGx5CisgICAg
ICAgIGlucHV0bW9kZT0ibm9uZSIgdG8gdGhlIGhpZGRlbiBlZGl0YWJsZSBlbGVtZW50LCB3aGlj
aCBvdWdodCB0byBlbnN1cmUgdGhhdCB0aGUgc29mdHdhcmUga2V5Ym9hcmQgZG9lc24ndCBhcHBl
YXIKKyAgICAgICAgd2hlbiB0aGUgZWxlbWVudCBpcyBmb2N1c2VkLgorCisgICAgICAgIEhvd2V2
ZXIsIHNpbmNlIHdlIGRpc2FibGVkIHN1cHBvcnQgZm9yIGlucHV0bW9kZT0ibm9uZSIgaW4gcjI0
MDQ5NywgdGhlIHNvZnR3YXJlIGtleWJvYXJkIGlzIG5vIGxvbmdlcgorICAgICAgICBzdXBwcmVz
c2VkLCBhbmQgYmVjb21lcyBhIGJpZyBudWlzc2FuY2UuIHIyNDA0OTcgcmVtb3ZlZCBzdXBwb3J0
IGZvciB0aGlzIGZlYXR1cmUgYmVjYXVzZSwgd2hlbiB1c2luZyBhIGhhcmR3YXJlCisgICAgICAg
IGtleWJvYXJkLCBwcmVzc2luZyB0aGUgZ2xvYmUga2V5IG5vIGxvbmdlciBzaG93ZWQgVUkgZm9y
IHN3aXRjaGluZyBsYW5ndWFnZXMuIEhvd2V2ZXIsIHN1cHBvcnQgZm9yIGlucHV0bW9kZQorICAg
ICAgICBub25lIG1ha2VzIGEgbXVjaCBsYXJnZXIgaW1wYWN0IHdoZW4gYSBzb2Z0d2FyZSBrZXli
b2FyZCBpcyB1c2VkIChzaW5jZSB0aGUgZW50aXJlIHNvZnR3YXJlIGtleWJvYXJkIGFuaW1hdGVz
IGluCisgICAgICAgIGFuZCBvdXQpLCB3aGVyZWFzIGEgaGFyZHdhcmUga2V5Ym9hcmQgb25seSBk
aXNwbGF5cyBhbiBpbnB1dCBhY2Nlc3Nvcnkgdmlldy4gRm9yIHRoaXMgcmVhc29uLCB3ZSBjYW4g
bWl0aWdhdGUKKyAgICAgICAgdGhpcyBidWcgd2l0aG91dCByZWludHJvZHVjaW5nIDxyZGFyOi8v
cHJvYmxlbS80NzQwNjU1Mz4gYnkgcmUtZW5hYmxpbmcgaW5wdXRtb2RlPSJub25lIiwgYnV0IG9u
bHkgd2hlbiBhCisgICAgICAgIGhhcmR3YXJlIGtleWJvYXJkIGlzIG5vdCBhdHRhY2hlZC4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoaGFy
ZHdhcmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5nZWRDYWxsYmFjayk6CisgICAgICAgICogVUlQ
cm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50
VmlldyBzaG91bGRTaG93QXV0b21hdGljS2V5Ym9hcmRVSV0pOgorCisgICAgICAgIERvbid0IHNo
b3cgdGhlIGtleWJvYXJkIGlmIGlucHV0bW9kZSBpcyBub25lIGFuZCBhIGhhcmR3YXJlIGtleWJv
YXJkIGlzIG5vdCBhdHRhY2hlZC4KKworICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IF9oYXJkd2Fy
ZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZF0pOgorCisgICAgICAgIFJlbG9hZCBpbnB1dCB2
aWV3cyBpZiB0aGUgaW5wdXRtb2RlIGlzIG5vbmUgdG8gZW5zdXJlIHRoYXQgaWYgYSBoYXJkd2Fy
ZSBrZXlib2FyZCBpcyBhdHRhY2hlZCB3aGlsZSBlZGl0aW5nIGFuCisgICAgICAgIGVsZW1lbnQg
d2l0aCBpbnB1dG1vZGU9Im5vbmUiLCB3ZSdsbCBzaG93IHRoZSBpbnB1dCBhY2Nlc3Nvcnkgdmll
dyBvbmNlIGFnYWluLgorCiAyMDE5LTA0LTA3ICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhA
YXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIERvIG5vdCBhbGxvdyBzdGFydGluZyBzZWxlY3Rp
b24gZHJhZ3Mgd2hlbiBzZWxlY3Rpb24gdmlld3MgYXJlIG5vdCB2aXNpYmxlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9pb3MvR3JhcGhpY3NTZXJ2aWNlc1NQSS5oIGIv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvaW9zL0dyYXBoaWNzU2VydmljZXNTUEkuaAppbmRl
eCAxYjViZDk3ODRmYWM2M2UxYmFhZDM1NTlhYmZiN2JlZTVjMTAxNmQ3Li5lODk5ZTIxZjRjYTcy
MDNiOGRmMGYwYTkyOWFiMzY2NTJkYmU1OTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9pb3MvR3JhcGhpY3NTZXJ2aWNlc1NQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvc3BpL2lvcy9HcmFwaGljc1NlcnZpY2VzU1BJLmgKQEAgLTQ2LDYgKzQ2LDcgQEAg
dm9pZCBHU0ZvbnRQdXJnZUZvbnRDYWNoZSh2b2lkKTsKIHR5cGVkZWYgc3RydWN0IF9fR1NLZXli
b2FyZCogR1NLZXlib2FyZFJlZjsKIHVpbnQzMl90IEdTS2V5Ym9hcmRHZXRNb2RpZmllclN0YXRl
KEdTS2V5Ym9hcmRSZWYpOwogQm9vbGVhbiBHU0V2ZW50SXNIYXJkd2FyZUtleWJvYXJkQXR0YWNo
ZWQoKTsKK3ZvaWQgR1NFdmVudFNldEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZChCb29sZWFuIGF0
dGFjaGVkLCB1aW50OF90IGNvdW50cnkpOwogCiBleHRlcm4gY29uc3QgY2hhciAqa0dTRXZlbnRI
YXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZE5vdGlmaWNhdGlvbjsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggYWZiODVj
ZGEwMWI1ZGVkMzQ3NzYxNjk0NjJmNDQ4Y2U2NTg3ZmM0Zi4uNWI2NDNjODEyZmEyYjllYzUwYmEy
MDViYjAwYjlhMmNjMDNkMGQ3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tCkBAIC0zMzI1LDYgKzMzMjUsNyBAQCBzdGF0aWMgdm9pZCBoYXJk
d2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZENhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2Vu
dGVyUmVmLAogewogICAgIEFTU0VSVChvYnNlcnZlcik7CiAgICAgV0tXZWJWaWV3ICp3ZWJWaWV3
ID0gKF9fYnJpZGdlIFdLV2ViVmlldyAqKW9ic2VydmVyOworICAgIFt3ZWJWaWV3LT5fY29udGVu
dFZpZXcgX2hhcmR3YXJlS2V5Ym9hcmRBdmFpbGFiaWxpdHlDaGFuZ2VkXTsKICAgICB3ZWJWaWV3
Ll9wYWdlLT5oYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZChHU0V2ZW50SXNIYXJk
d2FyZUtleWJvYXJkQXR0YWNoZWQoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAppbmRleCBmYzliZjZjNWIz
OTZkMTI1MzczNzVhMGFlNTM3YzM0ZGMzODA1MDlhLi5hNzM4YjBiZTAzNzQyNmU3ZDFlNWZjNmM3
YTdlMTc4MzQ0MzRkNjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCkBAIC00MTUsNiArNDE1LDcgQEAgRk9SX0VB
Q0hfUFJJVkFURV9XS0NPTlRFTlRWSUVXX0FDVElPTihERUNMQVJFX1dLQ09OVEVOVFZJRVdfQUNU
SU9OX0ZPUl9XRUJfVklFVykKIC0gKHZvaWQpX2VsZW1lbnREaWRCbHVyOwogLSAodm9pZClfZGlk
VXBkYXRlSW5wdXRNb2RlOihXZWJDb3JlOjpJbnB1dE1vZGUpbW9kZTsKIC0gKHZvaWQpX2RpZFJl
Y2VpdmVFZGl0b3JTdGF0ZVVwZGF0ZUFmdGVyRm9jdXM7CistICh2b2lkKV9oYXJkd2FyZUtleWJv
YXJkQXZhaWxhYmlsaXR5Q2hhbmdlZDsKIC0gKHZvaWQpX3NlbGVjdGlvbkNoYW5nZWQ7CiAtICh2
b2lkKV91cGRhdGVDaGFuZ2VkU2VsZWN0aW9uOwogLSAoQk9PTClfaW50ZXJwcmV0S2V5RXZlbnQ6
KDo6V2ViRXZlbnQgKil0aGVFdmVudCBpc0NoYXJFdmVudDooQk9PTClpc0NoYXJFdmVudDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLm1tCmluZGV4IDAyOWM1ZTYzNWMwM2RmN2U4MGU4ZjY4OTg3NDMyYzJkM2RlMjY3Y2Uu
LmMzZjllZDBiYzdkZTgxMGRkYWEyNDU4NjMyZWZhMjBlZGEyNzExOTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5t
bQpAQCAtMTAwLDYgKzEwMCw3IEBACiAjaW1wb3J0IDxwYWwvc3BpL2NnL0NvcmVHcmFwaGljc1NQ
SS5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9EYXRhRGV0ZWN0b3JzQ29yZVNQSS5oPgogI2lt
cG9ydCA8cGFsL3NwaS9pb3MvRGF0YURldGVjdG9yc1VJU1BJLmg+CisjaW1wb3J0IDxwYWwvc3Bp
L2lvcy9HcmFwaGljc1NlcnZpY2VzU1BJLmg+CiAjaW1wb3J0IDx3dGYvT3B0aW9uYWwuaD4KICNp
bXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbXBvcnQgPHd0Zi9TZXRGb3JTY29wZS5oPgpAQCAt
MTE4LDcgKzExOSw2IEBACiAjaW1wb3J0ICJOYXRpdmVXZWJNb3VzZUV2ZW50LmgiCiAjaW1wb3J0
IDxVSUtpdC9VSUhvdmVyR2VzdHVyZVJlY29nbml6ZXIuaD4KICNpbXBvcnQgPFVJS2l0L19VSUxv
b2t1cEdlc3R1cmVSZWNvZ25pemVyLmg+Ci0jaW1wb3J0IDxwYWwvc3BpL2lvcy9HcmFwaGljc1Nl
cnZpY2VzU1BJLmg+CiAjZW5kaWYKIAogI2lmIEVOQUJMRShJTlBVVF9UWVBFX0NPTE9SKQpAQCAt
MTU4NSw3ICsxNTg1LDEyIEBAIC0gKHZvaWQpX3Njcm9sbGluZ05vZGVTY3JvbGxpbmdEaWRFbmQK
IAogLSAoQk9PTClzaG91bGRTaG93QXV0b21hdGljS2V5Ym9hcmRVSQogewotICAgIC8vIEZJWE1F
OiBNYWtlIHRoaXMgZnVuY3Rpb24ga25vd2xlZGdlYWJsZSBhYm91dCB0aGUgSFRNTCBhdHRyaWJ1
dGUgaW5wdXRtb2RlLgorICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgc3VwcG9ydCBpbnB1dG1vZGU9
Im5vbmUiIHdoZW4gdGhlIGhhcmR3YXJlIGtleWJvYXJkIGlzIGF0dGFjaGVkLgorICAgIC8vIFdl
IGN1cnJlbnRseSByZWZyYWluIGZyb20gZG9pbmcgc28gYmVjYXVzZSB0aGF0IHdvdWxkIHByZXZl
bnQgVUlLaXQgZnJvbSBzaG93aW5nCisgICAgLy8gdGhlIGxhbmd1YWdlIHBpY2tlciB3aGVuIHBy
ZXNzaW5nIHRoZSBnbG9iZSBrZXkgdG8gY2hhbmdlIHRoZSBpbnB1dCBsYW5ndWFnZS4KKyAgICBp
ZiAoX2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24uaW5wdXRNb2RlID09IFdlYkNvcmU6OklucHV0
TW9kZTo6Tm9uZSAmJiAhR1NFdmVudElzSGFyZHdhcmVLZXlib2FyZEF0dGFjaGVkKCkpCisgICAg
ICAgIHJldHVybiBOTzsKKwogICAgIHN3aXRjaCAoX2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24u
ZWxlbWVudFR5cGUpIHsKICAgICBjYXNlIFdlYktpdDo6SW5wdXRUeXBlOjpOb25lOgogICAgIGNh
c2UgV2ViS2l0OjpJbnB1dFR5cGU6OkRyYXdpbmc6CkBAIC01MTA3LDYgKzUxMTIsMTIgQEAgLSAo
dm9pZClfZWxlbWVudERpZEJsdXIKICAgICAgICAgX2RpZEFjY2Vzc29yeVRhYkluaXRpYXRlRm9j
dXMgPSBOTzsKIH0KIAorLSAodm9pZClfaGFyZHdhcmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5n
ZWQKK3sKKyAgICBpZiAoaGFzRm9jdXNlZEVsZW1lbnQoX2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRp
b24pICYmIF9mb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uLmlucHV0TW9kZSA9PSBXZWJDb3JlOjpJ
bnB1dE1vZGU6Ok5vbmUpCisgICAgICAgIFtzZWxmIHJlbG9hZElucHV0Vmlld3NdOworfQorCiAt
ICh2b2lkKV9kaWRVcGRhdGVJbnB1dE1vZGU6KFdlYkNvcmU6OklucHV0TW9kZSltb2RlCiB7CiAg
ICAgaWYgKCFzZWxmLmlucHV0RGVsZWdhdGUgfHwgX2ZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24u
ZWxlbWVudFR5cGUgPT0gV2ViS2l0OjpJbnB1dFR5cGU6Ok5vbmUpCmRpZmYgLS1naXQgYS9Ub29s
cy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTczZjA0YWIyNGZkMDQ4YzAwOGM0
NGRmZjFiNGZjZjVmZjEzYmVjOS4uMjE0OTE4ZDFhODA0MTE3NmM0M2Q0NzUwOTE2ZjZkNWFjYzY2
ODliNyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI3IEBACisyMDE5LTA0LTExICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhA
YXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFNvZnR3YXJlIGtleWJvYXJkIGlzIHNob3duIHRv
byBmcmVxdWVudGx5IG9uIHNvbWUgd2Vic2l0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTg1NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDkx
OTEzOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIHN1cHBvcnQgZm9yIGF0dGFjaGluZyBvciBkZXRhY2hpbmcgdGhlIGhhcmR3YXJlIGtleWJv
YXJkIG9uIGlPUyBpbiBsYXlvdXQgdGVzdHMuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9p
b3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tOgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRy
b2xsZXI6OnNldEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZCk6CisgICAgICAgICogVGVzdFJ1bm5l
clNoYXJlZC9VSVNjcmlwdENvbnRleHQvQmluZGluZ3MvVUlTY3JpcHRDb250cm9sbGVyLmlkbDoK
KyAgICAgICAgKiBUZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpVSVNjcmlwdENvbnRyb2xsZXI6OnNldEhhcmR3YXJl
S2V5Ym9hcmRBdHRhY2hlZCk6CisgICAgICAgICogVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENv
bnRleHQvVUlTY3JpcHRDb250cm9sbGVyLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9D
b25maWd1cmF0aW9ucy9XZWJLaXRUZXN0UnVubmVyQXBwLnhjY29uZmlnOgorCisgICAgICAgIEFk
ZGl0aW9uYWxseSBsaW5rIGFnYWluc3QgR3JhcGhpY3NTZXJ2aWNlcyBpbiBXZWJLaXRUZXN0UnVu
bmVyLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250cm9sbGVy
SU9TLm1tOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1SZXNldFN0YXRl
VG9Db25zaXN0ZW50VmFsdWVzKToKKyAgICAgICAgKFdUUjo6VUlTY3JpcHRDb250cm9sbGVyOjpz
ZXRIYXJkd2FyZUtleWJvYXJkQXR0YWNoZWQpOgorCiAyMDE5LTA0LTA3ICBXZW5zb24gSHNpZWgg
IDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIERvIG5vdCBhbGxvdyBz
dGFydGluZyBzZWxlY3Rpb24gZHJhZ3Mgd2hlbiBzZWxlY3Rpb24gdmlld3MgYXJlIG5vdCB2aXNp
YmxlCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9pb3MvVUlTY3JpcHRDb250cm9s
bGVySU9TLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklP
Uy5tbQppbmRleCAyMmQ1NWFiYzEyYmI5Y2I4MWFjNzQ2ZGQwYTQ4ODc2NDcyZmZlYjUxLi41N2Zk
YzZmMTkzYjVlOWZmOTRmZGNhYThmNTVmMTZiZWU2ZDYzZTc1IDEwMDY0NAotLS0gYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9pb3MvVUlTY3JpcHRDb250cm9sbGVySU9TLm1tCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0KQEAgLTUyMiw2ICs1MjIs
MTAgQEAgTlNVbmRvTWFuYWdlciAqVUlTY3JpcHRDb250cm9sbGVyOjpwbGF0Zm9ybVVuZG9NYW5h
Z2VyKCkgY29uc3QKICAgICByZXR1cm4gbmlsOwogfQogCit2b2lkIFVJU2NyaXB0Q29udHJvbGxl
cjo6c2V0SGFyZHdhcmVLZXlib2FyZEF0dGFjaGVkKGJvb2wpCit7Cit9CisKIH0KIAogI2VuZGlm
IC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0UnVubmVyU2hh
cmVkL1VJU2NyaXB0Q29udGV4dC9CaW5kaW5ncy9VSVNjcmlwdENvbnRyb2xsZXIuaWRsIGIvVG9v
bHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvQmluZGluZ3MvVUlTY3JpcHRDb250
cm9sbGVyLmlkbAppbmRleCBlZWNiMjA2MGViNmIyZTEyOWY4YjEyZDNjYzUyMGJmNTU3ZmEwZjdj
Li5iNmIzODEzZmY1ZGI4M2E4NTgwNjM2MjVjMWFhY2FlZDljZDE0YWJiIDEwMDY0NAotLS0gYS9U
b29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9CaW5kaW5ncy9VSVNjcmlwdENv
bnRyb2xsZXIuaWRsCisrKyBiL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0
L0JpbmRpbmdzL1VJU2NyaXB0Q29udHJvbGxlci5pZGwKQEAgLTMwNyw2ICszMDcsOCBAQCBpbnRl
cmZhY2UgVUlTY3JpcHRDb250cm9sbGVyIHsKICAgICB2b2lkIG1ha2VXaW5kb3dDb250ZW50Vmll
d0ZpcnN0UmVzcG9uZGVyKCk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gaXNXaW5k
b3dDb250ZW50Vmlld0ZpcnN0UmVzcG9uZGVyOwogCisgICAgdm9pZCBzZXRIYXJkd2FyZUtleWJv
YXJkQXR0YWNoZWQoYm9vbGVhbiBhdHRhY2hlZCk7CisKICAgICBvYmplY3QgYXR0YWNobWVudElu
Zm8oRE9NU3RyaW5nIGF0dGFjaG1lbnRJZGVudGlmaWVyKTsKIAogICAgIC8vIEVkaXRpbmcKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0
Q29udHJvbGxlci5jcHAgYi9Ub29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9V
SVNjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IDIzZTQyZDEyNGIxZTllY2NiN2ViOTM2OWRlYTJi
NGJkYjZmYWM2YWYuLmMzZmUzOTkzMmY0OTc1ZjQxNTJhMDA0YzBmNjMyNWI3NGIwNDdhZWIgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RSdW5uZXJTaGFyZWQvVUlTY3JpcHRDb250ZXh0L1VJU2NyaXB0
Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRl
eHQvVUlTY3JpcHRDb250cm9sbGVyLmNwcApAQCAtNjAzLDYgKzYwMywxMCBAQCB2b2lkIFVJU2Ny
aXB0Q29udHJvbGxlcjo6c2V0S2V5Ym9hcmRJbnB1dE1vZGVJZGVudGlmaWVyKEpTU3RyaW5nUmVm
KQogewogfQogCit2b2lkIFVJU2NyaXB0Q29udHJvbGxlcjo6c2V0SGFyZHdhcmVLZXlib2FyZEF0
dGFjaGVkKGJvb2wpCit7Cit9CisKICNlbmRpZgogCiAjaWYgIVBMQVRGT1JNKENPQ09BKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFJ1bm5lclNoYXJlZC9VSVNjcmlwdENvbnRleHQvVUlTY3JpcHRD
b250cm9sbGVyLmggYi9Ub29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNj
cmlwdENvbnRyb2xsZXIuaAppbmRleCBlNDFmOGEzNzM5MTg4MzYxNTNkOWIzMmU5ZWRiMDJlZGFk
OTkzNjE2Li5kZWRhZDhjZWM1ODFmYjZkNTU2ZTYzMzcyMzkxZWNjNTBkM2MxY2I3IDEwMDY0NAot
LS0gYS9Ub29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNjcmlwdENvbnRy
b2xsZXIuaAorKysgYi9Ub29scy9UZXN0UnVubmVyU2hhcmVkL1VJU2NyaXB0Q29udGV4dC9VSVNj
cmlwdENvbnRyb2xsZXIuaApAQCAtMjM1LDYgKzIzNSw4IEBAIHB1YmxpYzoKIAogICAgIEpTT2Jq
ZWN0UmVmIGF0dGFjaG1lbnRJbmZvKEpTU3RyaW5nUmVmIGF0dGFjaG1lbnRJZGVudGlmaWVyKTsK
IAorICAgIHZvaWQgc2V0SGFyZHdhcmVLZXlib2FyZEF0dGFjaGVkKGJvb2wpOworCiBwcml2YXRl
OgogICAgIFVJU2NyaXB0Q29udHJvbGxlcihVSVNjcmlwdENvbnRleHQmKTsKICAgICAKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvQ29uZmlndXJhdGlvbnMvV2ViS2l0VGVzdFJ1
bm5lckFwcC54Y2NvbmZpZyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvQ29uZmlndXJhdGlvbnMv
V2ViS2l0VGVzdFJ1bm5lckFwcC54Y2NvbmZpZwppbmRleCBjYmE5MzZkZjRlNTg3ZTliNmYyMGE3
NmRmM2FjY2I1MzYxNWFiMjNjLi42MDdhOGJkNzBiMWYwNGZmNGUxZjBmOGEwZjgyZjAzNWYzYmE5
MTFiIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0NvbmZpZ3VyYXRpb25zL1dl
YktpdFRlc3RSdW5uZXJBcHAueGNjb25maWcKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9D
b25maWd1cmF0aW9ucy9XZWJLaXRUZXN0UnVubmVyQXBwLnhjY29uZmlnCkBAIC0zMCw3ICszMCw3
IEBAIFBST0RVQ1RfQlVORExFX0lERU5USUZJRVIgPSBvcmcud2Via2l0LiQoUFJPRFVDVF9OQU1F
OnJmYzEwMzRpZGVudGlmaWVyKTsKIAogR0NDX0VOQUJMRV9PQkpDX0VYQ0VQVElPTlMgPSBZRVM7
CiAKLU9USEVSX0xERkxBR1MgPSAkKGluaGVyaXRlZCkgLWxXZWJLaXRUZXN0UnVubmVyIC1sV2Vi
Q29yZVRlc3RTdXBwb3J0IC1mcmFtZXdvcmsgSmF2YVNjcmlwdENvcmUgLWZyYW1ld29yayBDb3Jl
R3JhcGhpY3MgLWZyYW1ld29yayBRdWFydHpDb3JlIC1mcmFtZXdvcmsgSW1hZ2VJTyAtZnJhbWV3
b3JrIElPS2l0IC1mcmFtZXdvcmsgVUlLaXQgLWZyYW1ld29yayBXZWJLaXQgLWZyYW1ld29yayBG
b3VuZGF0aW9uOworT1RIRVJfTERGTEFHUyA9ICQoaW5oZXJpdGVkKSAtbFdlYktpdFRlc3RSdW5u
ZXIgLWxXZWJDb3JlVGVzdFN1cHBvcnQgLWZyYW1ld29yayBKYXZhU2NyaXB0Q29yZSAtZnJhbWV3
b3JrIENvcmVHcmFwaGljcyAtZnJhbWV3b3JrIFF1YXJ0ekNvcmUgLWZyYW1ld29yayBJbWFnZUlP
IC1mcmFtZXdvcmsgSU9LaXQgLWZyYW1ld29yayBVSUtpdCAtZnJhbWV3b3JrIFdlYktpdCAtZnJh
bWV3b3JrIEZvdW5kYXRpb24gLWZyYW1ld29yayBHcmFwaGljc1NlcnZpY2VzOwogCiBTS0lQX0lO
U1RBTExbc2RrPW1hY29zeCpdID0gWUVTOwogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL2lvcy9UZXN0Q29udHJvbGxlcklPUy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
aW9zL1Rlc3RDb250cm9sbGVySU9TLm1tCmluZGV4IGUwZmE5YTU4YjBhZjdkOGNkMTcxZWQzOTA0
YTM5NGFmYTIwY2M0YjkuLjNlZWUwMDVmN2E2ODAzYzMyMmZiNzE0Zjc0NDZmZDZjZWFiYmU2MmEg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1Rlc3RDb250cm9sbGVySU9T
Lm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1Rlc3RDb250cm9sbGVySU9TLm1t
CkBAIC00Myw2ICs0Myw3IEBACiAjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3Q29uZmlndXJhdGlv
blByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlLmg+CiAjaW1wb3J0
IDxvYmpjL3J1bnRpbWUuaD4KKyNpbXBvcnQgPHBhbC9zcGkvaW9zL0dyYXBoaWNzU2VydmljZXNT
UEkuaD4KICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAKIHN0YXRpYyBCT09MIG92ZXJyaWRl
SXNJbkhhcmR3YXJlS2V5Ym9hcmRNb2RlKCkKQEAgLTE0MSw2ICsxNDIsNyBAQCB2b2lkIFRlc3RD
b250cm9sbGVyOjpwbGF0Zm9ybVJlc2V0U3RhdGVUb0NvbnNpc3RlbnRWYWx1ZXMoY29uc3QgVGVz
dE9wdGlvbnMmIG9wdAogCiAgICAgW1tVSUFwcGxpY2F0aW9uIHNoYXJlZEFwcGxpY2F0aW9uXSBf
Y2FuY2VsQWxsVG91Y2hlc107CiAgICAgW1tVSURldmljZSBjdXJyZW50RGV2aWNlXSBzZXRPcmll
bnRhdGlvbjpVSURldmljZU9yaWVudGF0aW9uUG9ydHJhaXQgYW5pbWF0ZWQ6Tk9dOworICAgIEdT
RXZlbnRTZXRIYXJkd2FyZUtleWJvYXJkQXR0YWNoZWQodHJ1ZSwgMCk7CiAKICAgICBtX2lucHV0
TW9kZVN3aXp6bGVycy5jbGVhcigpOwogICAgIG1fb3ZlcnJpZGRlbktleWJvYXJkSW5wdXRNb2Rl
ID0gbmlsOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRD
b250cm9sbGVySU9TLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9pb3MvVUlTY3JpcHRDb250
cm9sbGVySU9TLm1tCmluZGV4IGFhOWQ4NDg4NWFhYTg4MGQzOTgxZWVkZDRmYTM4NDk5YTdmOGYx
NmYuLmE4M2ZkNTBjYWRkNzg4YzJiNzkyYmUxMDMwM2NjMTM1M2RmM2I4ZGYgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvaW9zL1VJU2NyaXB0Q29udHJvbGxlcklPUy5tbQorKysg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2lvcy9VSVNjcmlwdENvbnRyb2xsZXJJT1MubW0KQEAg
LTQyLDYgKzQyLDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvRmxvYXRSZWN0Lmg+CiAjaW1wb3J0IDxX
ZWJLaXQvV0tXZWJWaWV3UHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L1dlYktpdC5oPgorI2lt
cG9ydCA8cGFsL3NwaS9pb3MvR3JhcGhpY3NTZXJ2aWNlc1NQSS5oPgogI2ltcG9ydCA8d3RmL1Nv
ZnRMaW5raW5nLmg+CiAjaW1wb3J0IDx3dGYvVmVjdG9yLmg+CiAKQEAgLTExMTUsNiArMTExNiwx
MSBAQCBKU09iamVjdFJlZiBVSVNjcmlwdENvbnRyb2xsZXI6OmNhbGVuZGFyVHlwZSgpIGNvbnN0
CiAgICAgcmV0dXJuIEpTVmFsdWVUb09iamVjdChqc0NvbnRleHQsIFtKU1ZhbHVlIHZhbHVlV2l0
aE9iamVjdDpjYWxlbmRhclR5cGVTdHJpbmcgaW5Db250ZXh0OltKU0NvbnRleHQgY29udGV4dFdp
dGhKU0dsb2JhbENvbnRleHRSZWY6anNDb250ZXh0XV0uSlNWYWx1ZVJlZiwgbnVsbHB0cik7CiB9
CiAKK3ZvaWQgVUlTY3JpcHRDb250cm9sbGVyOjpzZXRIYXJkd2FyZUtleWJvYXJkQXR0YWNoZWQo
Ym9vbCBhdHRhY2hlZCkKK3sKKyAgICBHU0V2ZW50U2V0SGFyZHdhcmVLZXlib2FyZEF0dGFjaGVk
KGF0dGFjaGVkLCAwKTsKK30KKwogfQogCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxZTU0ZDk2NmVkM2ZhMzUwOGNiNGY3ZTkwMmYwMDk1NDU3ZTYzNDlmLi5iMTBiMDBm
Y2YyN2NlOWNlZTQwYTY4NTdiMjIxOTRhZGUyZmE1YmExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAK
KzIwMTktMDQtMTEgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAg
ICAgICAgW2lPU10gU29mdHdhcmUga2V5Ym9hcmQgaXMgc2hvd24gdG9vIGZyZXF1ZW50bHkgb24g
c29tZSB3ZWJzaXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTk1ODU2CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80OTE5MTM5NT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggYSBmYWlsaW5nIGxh
eW91dCB0ZXN0LCB3aGljaCAoYW1vbmcgb3RoZXIgcmVhc29ucykgaXMgY3VycmVudGx5IGZhaWxp
bmcgYmVjYXVzZSBzdXBwb3J0IGZvciBpbnB1dG1vZGU9Im5vbmUiCisgICAgICAgIGlzIGRpc2Fi
bGVkLgorCisgICAgICAgICogZmFzdC9mb3Jtcy9pb3MvaW5wdXRtb2RlLW5vbmUtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGZhc3QvZm9ybXMvaW9zL2lucHV0bW9kZS1ub25lLmh0bWw6CisgICAg
ICAgICogcmVzb3VyY2VzL3VpLWhlbHBlci5qczoKKworICAgICAgICBBZGQgYSBVSUhlbHBlciBt
ZXRob2QgZm9yIGF0dGFjaGluZyBvciBkZXRhY2hpbmcgdGhlIGhhcmR3YXJlIGtleWJvYXJkLgor
CisgICAgICAgICh3aW5kb3cuVUlIZWxwZXIuc2V0SGFyZHdhcmVLZXlib2FyZEF0dGFjaGVkKToK
KyAgICAgICAgKHdpbmRvdy5VSUhlbHBlcik6CisKIDIwMTktMDQtMDQgIENvbW1pdCBRdWV1ZSAg
PGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHIyNDM4MDcgYW5kIHIyNDM4MjQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2lvcy9pbnB1dG1vZGUtbm9uZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL2lvcy9pbnB1dG1vZGUtbm9uZS1leHBlY3RlZC50eHQKaW5kZXggYjFjNGM4MzBmZmZlNDU2
YTJiZThlZTY5YzljYTVhNTVjYjZiN2I4NC4uOTJiOGUzZjIyM2U4MTFjOTZjNzQ1YjQzMDcyYTk4
NzMyOTViMWY3ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3MvaW5wdXRt
b2RlLW5vbmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvaW9zL2lu
cHV0bW9kZS1ub25lLWV4cGVjdGVkLnR4dApAQCAtMSwyNyArMSwyNyBAQAorCisKIFRoaXMgdGVz
dCB2ZXJpZmllcyB0aGF0IHRoZSBzeXN0ZW0ga2V5Ym9hcmQgaXMgbm90IHZpc2libGUgd2hlbiB0
YXBwaW5nIG9uIGFuIGlucHV0IGZpZWxkIHdpdGggaW5wdXRtb2RlPW5vbmUuCiAKIE9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KIAogCi0KIEFDVElWQVRFIGlucHV0IHdpdGggaW5wdXRtb2RlPXRl
eHQKLVBBU1MgdGV4dEtleWJvYXJkSGVpZ2h0ID0gc3lzdGVtS2V5Ym9hcmRSZWN0LmhlaWdodDsg
c3lzdGVtS2V5Ym9hcmRSZWN0LmhlaWdodCA+IDAgaXMgdHJ1ZQotUEFTUyBpbnB1dFdpdGhTeXN0
ZW1LZXlib2FyZC52YWx1ZSBpcyAiVGV4dCIKK1BBU1Mgc3lzdGVtS2V5Ym9hcmRSZWN0LmhlaWdo
dCA+IDAgaXMgdHJ1ZQorUEFTUyBpbnB1dFdpdGhTeXN0ZW1LZXlib2FyZC52YWx1ZSBpcyAnVGV4
dCcKIAogQUNUSVZBVEUgaW5wdXQgd2l0aCBpbnB1dG1vZGU9bm9uZQotUEFTUyBzeXN0ZW1LZXli
b2FyZFJlY3QuaGVpZ2h0IGlzIHRleHRLZXlib2FyZEhlaWdodAorUEFTUyBTdWNjZXNzZnVsbHkg
ZGlzbWlzc2VkIGtleWJvYXJkCiAKIFRFU1QgZW50ZXIgdGV4dCBpbiBpbnB1dCB3aXRoIGlucHV0
bW9kZT1ub25lCi1QQVNTIGlucHV0V2l0aG91dFN5c3RlbUtleWJvYXJkLnZhbHVlIGlzICJOb25l
IgorUEFTUyBpbnB1dFdpdGhvdXRTeXN0ZW1LZXlib2FyZC52YWx1ZSBpcyAnTm9uZScKIAogVEVT
VCBzZWxlY3Rpb24gaW4gaW5wdXQgd2l0aCBpbnB1dG1vZGU9bm9uZQogUEFTUyBzZWxlY3Rpb25S
ZWN0cy5sZW5ndGggaXMgMQotUEFTUyBzZWxlY3Rpb25SZWN0c1swXS5sZWZ0IGlzIDE1OQotUEFT
UyBzZWxlY3Rpb25SZWN0c1swXS50b3AgaXMgMjYxCi1QQVNTIHNlbGVjdGlvblJlY3RzWzBdLndp
ZHRoIGlzIDI4CitQQVNTIHNlbGVjdGlvblJlY3RzWzBdLmxlZnQgaXMgMTYKK1BBU1Mgc2VsZWN0
aW9uUmVjdHNbMF0udG9wIGlzIDM4CitQQVNTIHNlbGVjdGlvblJlY3RzWzBdLndpZHRoIGlzIDI3
CiBQQVNTIHNlbGVjdGlvblJlY3RzWzBdLmhlaWdodCBpcyAxNQotCiBQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKLSAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9pb3MvaW5wdXRtb2RlLW5vbmUuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZm9ybXMvaW9zL2lucHV0bW9kZS1ub25lLmh0bWwKaW5kZXggZjJmNmEzNWMwMDYwNDYxYjE2
ZThlYWNkYjg1MzZkN2FkMjE0OWM0YS4uOTJkODM5NmZiMjEwZTFkNDUzMjU2NGU0NzhkZmQxYWYx
NzFlNDhiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9pb3MvaW5wdXRtb2Rl
LW5vbmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2lvcy9pbnB1dG1vZGUtbm9u
ZS5odG1sCkBAIC0xLDQ4ICsxLDUzIEBACi08IURPQ1RZUEUgaHRtbD4KKzwhRE9DVFlQRSBodG1s
PiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZUZsZXhpYmxlVmlld3BvcnQ9dHJ1ZSBdIC0t
PgogPGh0bWw+CiA8aGVhZD4KLTxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1k
ZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSI+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29u
dGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHVzZXItc2NhbGFibGU9
bm8iPgogPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KIDxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KIDwvaGVhZD4KIDxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxpbnB1dCBpZD0iaW5wdXQt
a2V5Ym9hcmQiIGlucHV0bW9kZT0idGV4dCI+Ci08aW5wdXQgaWQ9ImlucHV0LW5va2V5Ym9hcmQi
IGlucHV0bW9kZT0ibm9uZSI+Cis8ZGl2PjxpbnB1dCBpZD0iaW5wdXQta2V5Ym9hcmQiIGlucHV0
bW9kZT0idGV4dCI+PC9kaXY+Cis8ZGl2PjxpbnB1dCBpZD0iaW5wdXQtbm9rZXlib2FyZCIgaW5w
dXRtb2RlPSJub25lIj48L2Rpdj4KKzxwcmUgaWQ9ImRlc2NyaXB0aW9uIj48L3ByZT4KKzxwcmUg
aWQ9ImNvbnNvbGUiPjwvcHJlPgogPHNjcmlwdD4KIGpzVGVzdElzQXN5bmMgPSB0cnVlOwogCiBh
c3luYyBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgIGF3YWl0IFVJSGVscGVyLnNldEhhcmR3YXJl
S2V5Ym9hcmRBdHRhY2hlZChmYWxzZSk7CiAgICAgaW5wdXRXaXRoU3lzdGVtS2V5Ym9hcmQgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW5wdXQta2V5Ym9hcmQiKTsKICAgICBpbnB1dFdpdGhv
dXRTeXN0ZW1LZXlib2FyZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnB1dC1ub2tleWJv
YXJkIik7CiAKLSAgICBkZXNjcmlwdGlvbignVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgdGhlIHN5
c3RlbSBrZXlib2FyZCBpcyBub3QgdmlzaWJsZSB3aGVuIHRhcHBpbmcgb24gYW4gaW5wdXQgZmll
bGQgd2l0aCBpbnB1dG1vZGU9bm9uZS4nKTsKKyAgICBkZXNjcmlwdGlvbigiVGhpcyB0ZXN0IHZl
cmlmaWVzIHRoYXQgdGhlIHN5c3RlbSBrZXlib2FyZCBpcyBub3QgdmlzaWJsZSB3aGVuIHRhcHBp
bmcgb24gYW4gaW5wdXQgZmllbGQgd2l0aCBpbnB1dG1vZGU9bm9uZS4iKTsKIAotICAgIGRlYnVn
KCdcbkFDVElWQVRFIGlucHV0IHdpdGggaW5wdXRtb2RlPXRleHQnKTsKLSAgICBhd2FpdCBVSUhl
bHBlci5hY3RpdmF0ZUZvcm1Db250cm9sKGlucHV0V2l0aFN5c3RlbUtleWJvYXJkKTsKKyAgICBk
ZWJ1ZygiXG5BQ1RJVkFURSBpbnB1dCB3aXRoIGlucHV0bW9kZT10ZXh0Iik7CisgICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50QW5kV2FpdEZvcklucHV0U2Vzc2lvbihpbnB1dFdpdGhT
eXN0ZW1LZXlib2FyZCk7CiAgICAgc3lzdGVtS2V5Ym9hcmRSZWN0ID0gYXdhaXQgVUlIZWxwZXIu
aW5wdXRWaWV3Qm91bmRzKCk7Ci0gICAgc2hvdWxkQmUoJ3RleHRLZXlib2FyZEhlaWdodCA9IHN5
c3RlbUtleWJvYXJkUmVjdC5oZWlnaHQ7IHN5c3RlbUtleWJvYXJkUmVjdC5oZWlnaHQgPiAwJywg
J3RydWUnKTsKKyAgICBzaG91bGRCZSgic3lzdGVtS2V5Ym9hcmRSZWN0LmhlaWdodCA+IDAiLCAi
dHJ1ZSIpOwogICAgIGF3YWl0IFVJSGVscGVyLmVudGVyVGV4dCgiVGV4dCIpOwotICAgIHNob3Vs
ZEJlKCdpbnB1dFdpdGhTeXN0ZW1LZXlib2FyZC52YWx1ZScsICciVGV4dCInKTsKKyAgICBzaG91
bGRCZSgiaW5wdXRXaXRoU3lzdGVtS2V5Ym9hcmQudmFsdWUiLCAiJ1RleHQnIik7CiAKLSAgICBk
ZWJ1ZygnXG5BQ1RJVkFURSBpbnB1dCB3aXRoIGlucHV0bW9kZT1ub25lJyk7Ci0gICAgYXdhaXQg
VUlIZWxwZXIuYWN0aXZhdGVGb3JtQ29udHJvbChpbnB1dFdpdGhvdXRTeXN0ZW1LZXlib2FyZCk7
Ci0gICAgc3lzdGVtS2V5Ym9hcmRSZWN0ID0gYXdhaXQgVUlIZWxwZXIuaW5wdXRWaWV3Qm91bmRz
KCk7Ci0gICAgc2hvdWxkQmUoJ3N5c3RlbUtleWJvYXJkUmVjdC5oZWlnaHQnLCAndGV4dEtleWJv
YXJkSGVpZ2h0Jyk7CisgICAgZGVidWcoIlxuQUNUSVZBVEUgaW5wdXQgd2l0aCBpbnB1dG1vZGU9
bm9uZSIpOworICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlRWxlbWVudChpbnB1dFdpdGhvdXRT
eXN0ZW1LZXlib2FyZCk7CisgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvcktleWJvYXJkVG9IaWRl
KCk7CisgICAgdGVzdFBhc3NlZCgiU3VjY2Vzc2Z1bGx5IGRpc21pc3NlZCBrZXlib2FyZCIpOwog
Ci0gICAgZGVidWcoJ1xuVEVTVCBlbnRlciB0ZXh0IGluIGlucHV0IHdpdGggaW5wdXRtb2RlPW5v
bmUnKTsKKyAgICBkZWJ1ZygiXG5URVNUIGVudGVyIHRleHQgaW4gaW5wdXQgd2l0aCBpbnB1dG1v
ZGU9bm9uZSIpOwogICAgIGF3YWl0IFVJSGVscGVyLmVudGVyVGV4dCgiTm9uZSIpOwotICAgIHNo
b3VsZEJlKCdpbnB1dFdpdGhvdXRTeXN0ZW1LZXlib2FyZC52YWx1ZScsICciTm9uZSInKTsKLQot
ICAgIGRlYnVnKCdcblRFU1Qgc2VsZWN0aW9uIGluIGlucHV0IHdpdGggaW5wdXRtb2RlPW5vbmUn
KTsKLSAgICBpbnB1dFdpdGhvdXRTeXN0ZW1LZXlib2FyZC5zZXRTZWxlY3Rpb25SYW5nZSgwLCBp
bnB1dFdpdGhTeXN0ZW1LZXlib2FyZC52YWx1ZS5sZW5ndGgpOwotICAgIHNlbGVjdGlvblJlY3Rz
ID0gYXdhaXQgVUlIZWxwZXIuZ2V0VUlTZWxlY3Rpb25SZWN0cygpOwotICAgIHNob3VsZEJlKCdz
ZWxlY3Rpb25SZWN0cy5sZW5ndGgnLCAnMScpOwotICAgIHNob3VsZEJlKCdzZWxlY3Rpb25SZWN0
c1swXS5sZWZ0JywgJzE1OScpOwotICAgIHNob3VsZEJlKCdzZWxlY3Rpb25SZWN0c1swXS50b3An
LCAnMjYxJyk7Ci0gICAgc2hvdWxkQmUoJ3NlbGVjdGlvblJlY3RzWzBdLndpZHRoJywgJzI4Jyk7
Ci0gICAgc2hvdWxkQmUoJ3NlbGVjdGlvblJlY3RzWzBdLmhlaWdodCcsICcxNScpOwotCi0gICAg
ZGVidWcoJycpOworICAgIHNob3VsZEJlKCJpbnB1dFdpdGhvdXRTeXN0ZW1LZXlib2FyZC52YWx1
ZSIsICInTm9uZSciKTsKKworICAgIGRlYnVnKCJcblRFU1Qgc2VsZWN0aW9uIGluIGlucHV0IHdp
dGggaW5wdXRtb2RlPW5vbmUiKTsKKyAgICBpbnB1dFdpdGhvdXRTeXN0ZW1LZXlib2FyZC5zZWxl
Y3QoKTsKKworICAgIHNlbGVjdGlvblJlY3RzID0gW107CisgICAgd2hpbGUgKCFzZWxlY3Rpb25S
ZWN0cy5sZW5ndGgpCisgICAgICAgIHNlbGVjdGlvblJlY3RzID0gYXdhaXQgVUlIZWxwZXIuZ2V0
VUlTZWxlY3Rpb25WaWV3UmVjdHMoKTsKKworICAgIHNob3VsZEJlKCJzZWxlY3Rpb25SZWN0cy5s
ZW5ndGgiLCAiMSIpOworICAgIHNob3VsZEJlKCJzZWxlY3Rpb25SZWN0c1swXS5sZWZ0IiwgIjE2
Iik7CisgICAgc2hvdWxkQmUoInNlbGVjdGlvblJlY3RzWzBdLnRvcCIsICIzOCIpOworICAgIHNo
b3VsZEJlKCJzZWxlY3Rpb25SZWN0c1swXS53aWR0aCIsICIyNyIpOworICAgIHNob3VsZEJlKCJz
ZWxlY3Rpb25SZWN0c1swXS5oZWlnaHQiLCAiMTUiKTsKICAgICBmaW5pc2hKU1Rlc3QoKTsKIH0K
IDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyBiL0xheW91dFRlc3RzL3Jlc291cmNlcy91aS1oZWxwZXIuanMKaW5kZXggODM5OWI3OThiZDg1
NjcxYmE4NDFkNTA4NDRmOTFlMWM0NjFkMjMxYi4uNGY0ZjkzMjM0ZjJlMmVjNTQwYTdmODJmY2Fh
MTg2YmYzM2MyZTJlMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL3VpLWhlbHBl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9yZXNvdXJjZXMvdWktaGVscGVyLmpzCkBAIC04MDEsNCAr
ODAxLDkgQEAgd2luZG93LlVJSGVscGVyID0gY2xhc3MgVUlIZWxwZXIgewogICAgICAgICAgICAg
dGVzdFJ1bm5lci5ydW5VSVNjcmlwdCgiSlNPTi5zdHJpbmdpZnkodWlDb250cm9sbGVyLm1lbnVS
ZWN0KSIsIHJlc3VsdCA9PiByZXNvbHZlKEpTT04ucGFyc2UocmVzdWx0KSkpOwogICAgICAgICB9
KTsKICAgICB9CisKKyAgICBzdGF0aWMgc2V0SGFyZHdhcmVLZXlib2FyZEF0dGFjaGVkKGF0dGFj
aGVkKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gdGVzdFJ1
bm5lci5ydW5VSVNjcmlwdChgdWlDb250cm9sbGVyLnNldEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hl
ZCgke2F0dGFjaGVkID8gInRydWUiIDogImZhbHNlIn0pYCwgcmVzb2x2ZSkpOworICAgIH0KIH0K
ZGlmZiAtLWdpdCBhL1dlYktpdExpYnJhcmllcy9DaGFuZ2VMb2cgYi9XZWJLaXRMaWJyYXJpZXMv
Q2hhbmdlTG9nCmluZGV4IDU4OWU2YTJjMmVkMGQ5NjkxYzZlYTFiZmUzZmNmN2ZmNTQ2ZmRjZjUu
LjA1NzY0MjFlNWFkZjk3NTUyYjc0MTk2OTdiZTBiOGE4M2U2NTE5YjggMTAwNjQ0Ci0tLSBhL1dl
YktpdExpYnJhcmllcy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0TGlicmFyaWVzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDE5LTA0LTExICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhA
YXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIFNvZnR3YXJlIGtleWJvYXJkIGlzIHNob3duIHRv
byBmcmVxdWVudGx5IG9uIHNvbWUgd2Vic2l0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTg1NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDkx
OTEzOTU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGEgc3ltYm9sIGZvciBHU0V2ZW50U2V0SGFyZHdhcmVLZXlib2FyZEF0dGFjaGVkLgorCisg
ICAgICAgICogV2ViS2l0UHJpdmF0ZUZyYW1ld29ya1N0dWJzL2lPUy8xMi9HcmFwaGljc1NlcnZp
Y2VzLmZyYW1ld29yay9HcmFwaGljc1NlcnZpY2VzLnRiZDoKKwogMjAxOS0wMS0wMSAgSmVmZiBN
aWxsZXIgIDxqZWZmbUBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIHVzZXItdmlzaWJsZSBj
b3B5cmlnaHQgc3RyaW5ncyB0byBpbmNsdWRlIDIwMTkKZGlmZiAtLWdpdCBhL1dlYktpdExpYnJh
cmllcy9XZWJLaXRQcml2YXRlRnJhbWV3b3JrU3R1YnMvaU9TLzEyL0dyYXBoaWNzU2VydmljZXMu
ZnJhbWV3b3JrL0dyYXBoaWNzU2VydmljZXMudGJkIGIvV2ViS2l0TGlicmFyaWVzL1dlYktpdFBy
aXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvMTIvR3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3Jh
cGhpY3NTZXJ2aWNlcy50YmQKaW5kZXggZDM1NDMyNDY1ZDFiM2Q4NjNlMjY3OTQzYzhlM2FiNTJh
NzEzNDlmNC4uOWMxNDdmMjJhMmQ5ZmEzZGRlMGFjZjg1OWNkNWY5YThiMmE2YzhjMyAxMDA2NDQK
LS0tIGEvV2ViS2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvMTIv
R3JhcGhpY3NTZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQKKysrIGIvV2Vi
S2l0TGlicmFyaWVzL1dlYktpdFByaXZhdGVGcmFtZXdvcmtTdHVicy9pT1MvMTIvR3JhcGhpY3NT
ZXJ2aWNlcy5mcmFtZXdvcmsvR3JhcGhpY3NTZXJ2aWNlcy50YmQKQEAgLTE2LDYgKzE2LDcgQEAg
ZXhwb3J0czoKICAgICBzeW1ib2xzOgogICAgICAgLSBfR1NDdXJyZW50RXZlbnRUaW1lc3RhbXAK
ICAgICAgIC0gX0dTRXZlbnRJc0hhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZAorICAgICAgLSBfR1NF
dmVudFNldEhhcmR3YXJlS2V5Ym9hcmRBdHRhY2hlZAogICAgICAgLSBfR1NGb250SW5pdGlhbGl6
ZQogICAgICAgLSBfR1NGb250UHVyZ2VGb250Q2FjaGUKICAgICAgIC0gX0dTSW5pdGlhbGl6ZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>