<?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>140445</bug_id>
          
          <creation_ts>2015-01-14 10:03:26 -0800</creation_ts>
          <short_desc>Web Replay: create a ReplayClient for Page and dispatch inputs through it</short_desc>
          <delta_ts>2017-07-10 13:59:36 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>LATER</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>136294</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brian Burg">burg</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bburg</cc>
    
    <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>joepeck</cc>
    
    <cc>kling</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1061199</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-01-14 10:03:26 -0800</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061228</commentid>
    <comment_count>1</comment_count>
      <attachid>244614</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-01-14 10:53:56 -0800</bug_when>
    <thetext>Created attachment 244614
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1061767</commentid>
    <comment_count>2</comment_count>
      <attachid>244749</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2015-01-15 21:11:02 -0800</bug_when>
    <thetext>Created attachment 244749
Proposed Fix

may require several rounds with EWS. With these changes, ENABLE(WEB_REPLAY) definitely won&apos;t work with WebKit1 ports, which is a fine tradeoff. Despite that, some headers might need to be added to Windows project to make it build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1174578</commentid>
    <comment_count>3</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-03-14 11:45:20 -0700</bug_when>
    <thetext>What&apos;s the status on this? Do we still need this patch in light of your other Web Replay work?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1174579</commentid>
    <comment_count>4</comment_count>
      <attachid>244749</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-03-14 11:45:57 -0700</bug_when>
    <thetext>Comment on attachment 244749
Proposed Fix

This patch is too old to apply cleanly. Can you please revise the patch, or close this bug if it is no longer relevant?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327160</commentid>
    <comment_count>5</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-07-10 13:59:36 -0700</bug_when>
    <thetext>Closing web replay-related bugs until we resume working on the feature again.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244614</attachid>
            <date>2015-01-14 10:53:56 -0800</date>
            <delta_ts>2015-01-15 21:10:59 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-140445-20150114105329.patch</filename>
            <type>text/plain</type>
            <size>43693</size>
            <attacher name="Brian Burg">burg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4NDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzI5ZTE1M2ZkMjFlYjM0
Y2ZhOWIwZjhjNTZiODM3ZmIwYjVhMDcwMy4uNDg5NWRjOWI4NzY4N2Y2Y2VkZWM1MTk0OGU0YWI4
YmEyNGNkYjliOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE1LTAxLTA5ICBCcmlh
biBKLiBCdXJnICA8YnVyZ0Bjcy53YXNoaW5ndG9uLmVkdT4KKworICAgICAgICBXZWIgUmVwbGF5
OiBjcmVhdGUgYSBSZXBsYXlDbGllbnQgZm9yIFBhZ2UgYW5kIGRpc3BhdGNoIGlucHV0cyB0aHJv
dWdoIGl0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDA0NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBS
aWdodCBub3cgYWxsIGRpc3BhdGNoYWJsZSBpbnB1dHMgYXJlIGRpc3BhdGNoZWQgZnJvbSBXZWJD
b3JlIHVzaW5nIFBhZ2UmLCBidXQKKyAgICAgICAgd2Ugd2FudCB0byBiZSBhYmxlIHRvIGRpc3Bh
dGNoIHNvbWUgV0syLW9ubHkgaW5wdXRzIGZyb20gV2ViS2l0MiB1c2luZyBXZWJQYWdlJi4KKyAg
ICAgICAgQXMgYSBmaXJzdCBzdGVwLCB0aGlzIHBhdGNoIGNyZWF0ZXMgYSBSZXBsYXlDbGllbnQg
aW50ZXJmYWNlIHRoYXQgZGVsZWdhdGVzCisgICAgICAgIGRpc3BhdGNoaW5nIGlucHV0cyB0byBh
IFdlYlBhZ2UncyBXZWJSZXBsYXlDbGllbnQuCisKKyAgICAgICAgRm9sbG93dXAgcGF0Y2hlcyB3
aWxsIGludHJvZHVjZSB0aGUgbm90aW9uIG9mIGRpc3BhdGNoaW5nIGZyb20gZGlmZmVyZW50IGNv
bnRleHRzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlZC4KKwor
ICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBs
b2FkZXIvRW1wdHlDbGllbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmZpbGxXaXRoRW1wdHlD
bGllbnRzKToKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgIChXZWJD
b3JlOjpFbXB0eVJlcGxheUNsaWVudDo6RW1wdHlSZXBsYXlDbGllbnQpOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OkVtcHR5UmVwbGF5Q2xpZW50Ojp+RW1wdHlSZXBsYXlDbGllbnQpOiBBZGRl
ZC4KKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6UGFn
ZSk6CisgICAgICAgICogcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oOgorICAgICAgICAqIHJlcGxh
eS9FdmVudExvb3BJbnB1dC5oOgorICAgICAgICAqIHJlcGxheS9FdmVudExvb3BJbnB1dERpc3Bh
dGNoZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpk
aXNwYXRjaElucHV0KTogZGVsZWdhdGUgdG8gUmVwbGF5Q2xpZW50IHdoZW4KKyAgICAgICAgZGlz
cGF0Y2hpbmcgaW5wdXRzIGR1cmluZyBwbGF5YmFjay4KKyAgICAgICAgKiByZXBsYXkvRXZlbnRM
b29wSW5wdXREaXNwYXRjaGVyLmg6CisgICAgICAgICogcmVwbGF5L1JlcGxheUNsaWVudC5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlcGxheUNsaWVudDo6flJlcGxheUNsaWVudCk6IEFk
ZGVkLgorICAgICAgICAqIHJlcGxheS9SZXBsYXlDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlcGxheUNvbnRyb2xsZXI6OlJlcGxheUNvbnRyb2xsZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVwbGF5Q29udHJvbGxlcjo6Y3JlYXRlU2VnbWVudCk6IGRpc3BhdGNoIHN5bnRoZXRp
YyBpbnB1dHMgdGhyb3VnaCBSZXBsYXlDbGllbnQuCisgICAgICAgICogcmVwbGF5L1JlcGxheUNv
bnRyb2xsZXIuaDoKKyAgICAgICAgKiByZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaDogTW92
ZSBFdmVudExvb3BJbnB1dERhdGEgdG8gRXZlbnRMb29wSW5wdXQuaAorCiAyMDE0LTA3LTE2ICBC
cmlhbiBKLiBCdXJnICA8YnVyZ0Bjcy53YXNoaW5ndG9uLmVkdT4KIAogICAgICAgICBbV0lQXSBX
ZWIgUmVwbGF5OiBET00gVGltZXJzIHNob3VsZCBiZSBjcmVhdGVkIGFuZCBmaXJlZCBkZXRlcm1p
bmlzdGljYWxseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGVmZDVjYWZiYmI4ZGJiNzkzYTlkMjU4M2QxMzE0NzFh
ZDRlZTA2MmIuLmJlYjI2ZWZhNmM0MGU3OTgyZTg4MjAzNGVjYjcyNzMyODAzNzA4MmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxNS0wMS0wOSAgQnJpYW4gSi4gQnVyZyAgPGJ1cmdA
Y3Mud2FzaGluZ3Rvbi5lZHU+CisKKyAgICAgICAgV2ViIFJlcGxheTogY3JlYXRlIGEgUmVwbGF5
Q2xpZW50IGZvciBQYWdlIGFuZCBkaXNwYXRjaCBpbnB1dHMgdGhyb3VnaCBpdAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwNDQ1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgV2ViUmVwbGF5Q2xp
ZW50IGltcGxlbWVudGF0aW9uIGFuZCBwcm92aWRlIGl0IHRvIFdlYlBhZ2UuIEZvciBub3csIGl0
CisgICAgICAgIGRpc3BhdGNoZXMgYWxsIGlucHV0cyB0aGUgc2FtZSB3YXkgYXMgYmVmb3JlICh3
aXRoIFdlYkNvcmUgY29udGV4dCkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJSZXBsYXlDbGllbnQuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYktpdDo6V2ViUmVwbGF5Q2xpZW50OjpkaXNwYXRjaElucHV0KTogQWRkZWQuCisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJSZXBsYXlDbGllbnQuaDogQWRkZWQuCisg
ICAgICAgIChXZWJLaXQ6OldlYlJlcGxheUNsaWVudDo6V2ViUmVwbGF5Q2xpZW50KTogQWRkZWQu
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjpXZWJQYWdlKToKKwogMjAxNC0wNy0xNSAgQnJpYW4gSi4gQnVyZyAgPGJ1
cmdAY3Mud2FzaGluZ3Rvbi5lZHU+CiAKICAgICAgICAgV2ViIFJlcGxheTogc2F2ZSBhbmQgcmVz
dG9yZSBwYWdlIGhpc3Rvcnkgc3RhdGUgYXQgbWFpbiBmcmFtZSBuYXZpZ2F0aW9ucwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3JlcGxheS9zY3JpcHRzL0NvZGVHZW5lcmF0b3JS
ZXBsYXlJbnB1dHMucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcmVwbGF5L3NjcmlwdHMvQ29k
ZUdlbmVyYXRvclJlcGxheUlucHV0cy5weQppbmRleCA2NWY1NDlhZWIzNzdmMmVjZWFhYmQ5NTkz
NzcxMDJmZmIxNWI2M2E1Li43ZDFiNDA4MmZkMWMyOGZkMmY4M2RiZDVmN2Q1NmYyYjMyNDhkYWEx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcmVwbGF5L3NjcmlwdHMvQ29kZUdl
bmVyYXRvclJlcGxheUlucHV0cy5weQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcmVwbGF5
L3NjcmlwdHMvQ29kZUdlbmVyYXRvclJlcGxheUlucHV0cy5weQpAQCAtNjk4LDcgKzY5OCw3IEBA
IGNsYXNzIEdlbmVyYXRvcjoKICAgICAgICAgICAgIGV4dHJhX2RlY2xhcmF0aW9ucy5leHRlbmQo
WwogICAgICAgICAgICAgICAgICIiLAogICAgICAgICAgICAgICAgICIgICAgLy8gRXZlbnRMb29w
SW5wdXQgQVBJIiwKLSAgICAgICAgICAgICAgICAiICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaChS
ZXBsYXlDb250cm9sbGVyJikgb3ZlcnJpZGUgZmluYWw7IiwKKyAgICAgICAgICAgICAgICAiICAg
IHZpcnR1YWwgdm9pZCBkaXNwYXRjaChQYWdlJikgb3ZlcnJpZGUgZmluYWw7IiwKICAgICAgICAg
ICAgIF0pCiAKICAgICAgICAgICAgIGlmIF9pbnB1dC5zZXR0aW5nKCdDUkVBVEVfRlJPTV9QQUdF
Jyk6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcmVwbGF5L3NjcmlwdHMvdGVz
dHMvZXhwZWN0ZWQvZ2VuZXJhdGUtZW51bS13aXRoLWd1YXJkLmpzb24tVGVzdFJlcGxheUlucHV0
cy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3JlcGxheS9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVk
L2dlbmVyYXRlLWVudW0td2l0aC1ndWFyZC5qc29uLVRlc3RSZXBsYXlJbnB1dHMuaAppbmRleCAz
NzEyOWM0YjUzOTQyZDY1YTNlNzVhZjI0Y2ZhNDBlNTAxYTUyZTc1Li42MzRiMTk3MjEwMTJjNGRl
YmUwNTVhMTBiZTJlNDgxYWVhNmE5MjQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcmVwbGF5L3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZ2VuZXJhdGUtZW51bS13aXRoLWd1YXJk
Lmpzb24tVGVzdFJlcGxheUlucHV0cy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9yZXBs
YXkvc2NyaXB0cy90ZXN0cy9leHBlY3RlZC9nZW5lcmF0ZS1lbnVtLXdpdGgtZ3VhcmQuanNvbi1U
ZXN0UmVwbGF5SW5wdXRzLmgKQEAgLTY5LDcgKzY5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
fkhhbmRsZVdoZWVsRXZlbnQoKTsKIAogICAgIC8vIEV2ZW50TG9vcElucHV0IEFQSQotICAgIHZp
cnR1YWwgdm9pZCBkaXNwYXRjaChSZXBsYXlDb250cm9sbGVyJikgb3ZlcnJpZGUgZmluYWw7Cisg
ICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoKFBhZ2UmKSBvdmVycmlkZSBmaW5hbDsKICAgICBjb25z
dCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHBsYXRmb3JtRXZlbnQoKSBjb25zdCB7IHJldHVybiAqbV9w
bGF0Zm9ybUV2ZW50OyB9CiBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxQbGF0Zm9ybVdo
ZWVsRXZlbnQ+IG1fcGxhdGZvcm1FdmVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA3ZTI4NWVlMWI1MjJhNDRkNDAwMzc1NDM2
NTM2MTQxN2U2Mjk2YzkwLi5kNzZhMzBlNDdmMWMyNThjNDcwMTk2MmViN2I0MjdiZjlmZDBmNDcw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCkBAIC0zNjUwLDEwICszNjUwLDEwIEBACiAJCTk5Q0MwQjRFMThCRTk4NDkwMDZDRUJDQyAv
KiBDYXB0dXJpbmdJbnB1dEN1cnNvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5OUNDMEIzOTE4QkU5ODQ5MDA2Q0VCQ0MgLyogQ2FwdHVyaW5nSW5w
dXRDdXJzb3IuY3BwICovOyB9OwogCQk5OUNDMEI0RjE4QkU5ODQ5MDA2Q0VCQ0MgLyogQ2FwdHVy
aW5nSW5wdXRDdXJzb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDk5Q0MwQjNBMThCRTk4NDkwMDZDRUJDQyAvKiBDYXB0dXJpbmdJbnB1dEN1cnNvci5o
ICovOyB9OwogCQk5OUNDMEI1MDE4QkU5ODQ5MDA2Q0VCQ0MgLyogRXZlbnRMb29wSW5wdXREaXNw
YXRjaGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDk5Q0MwQjNCMThCRTk4NDkwMDZDRUJDQyAvKiBFdmVudExvb3BJbnB1dERpc3BhdGNoZXIuY3Bw
ICovOyB9OwotCQk5OUNDMEI1MTE4QkU5ODQ5MDA2Q0VCQ0MgLyogRXZlbnRMb29wSW5wdXREaXNw
YXRjaGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
OUNDMEIzQzE4QkU5ODQ5MDA2Q0VCQ0MgLyogRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmggKi87
IH07CisJCTk5Q0MwQjUxMThCRTk4NDkwMDZDRUJDQyAvKiBFdmVudExvb3BJbnB1dERpc3BhdGNo
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5Q0Mw
QjNDMThCRTk4NDkwMDZDRUJDQyAvKiBFdmVudExvb3BJbnB1dERpc3BhdGNoZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5OUNDMEI1MjE4QkU5
ODQ5MDA2Q0VCQ0MgLyogRnVuY3RvcklucHV0Q3Vyc29yLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OUNDMEIzRDE4QkU5ODQ5MDA2Q0VCQ0MgLyogRnVu
Y3RvcklucHV0Q3Vyc29yLmggKi87IH07CiAJCTk5Q0MwQjUzMThCRTk4NDkwMDZDRUJDQyAvKiBS
ZXBsYXlDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDk5Q0MwQjNFMThCRTk4NDkwMDZDRUJDQyAvKiBSZXBsYXlDb250cm9sbGVyLmNw
cCAqLzsgfTsKLQkJOTlDQzBCNTQxOEJFOTg0OTAwNkNFQkNDIC8qIFJlcGxheUNvbnRyb2xsZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5Q0MwQjNG
MThCRTk4NDkwMDZDRUJDQyAvKiBSZXBsYXlDb250cm9sbGVyLmggKi87IH07CisJCTk5Q0MwQjU0
MThCRTk4NDkwMDZDRUJDQyAvKiBSZXBsYXlDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OUNDMEIzRjE4QkU5ODQ5MDA2Q0VCQ0MgLyog
UmVwbGF5Q29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTk5Q0MwQjU1MThCRTk4NDkwMDZDRUJDQyAvKiBSZXBsYXlpbmdJbnB1dEN1
cnNvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
OUNDMEI0MDE4QkU5ODQ5MDA2Q0VCQ0MgLyogUmVwbGF5aW5nSW5wdXRDdXJzb3IuY3BwICovOyB9
OwogCQk5OUNDMEI1NjE4QkU5ODRBMDA2Q0VCQ0MgLyogUmVwbGF5aW5nSW5wdXRDdXJzb3IuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5Q0MwQjQxMThC
RTk4NDkwMDZDRUJDQyAvKiBSZXBsYXlpbmdJbnB1dEN1cnNvci5oICovOyB9OwogCQk5OUNDMEI1
NzE4QkU5ODRBMDA2Q0VCQ0MgLyogUmVwbGF5SW5wdXRDcmVhdGlvbk1ldGhvZHMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTlDQzBCNDIxOEJFOTg0
OTAwNkNFQkNDIC8qIFJlcGxheUlucHV0Q3JlYXRpb25NZXRob2RzLmNwcCAqLzsgfTsKQEAgLTM2
NzAsNyArMzY3MCw3IEBACiAJCTk5Q0MwQjY3MThCRTlGMTUwMDZDRUJDQyAvKiBJbnNwZWN0b3JS
ZXBsYXlBZ2VudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTlDQzBCNjUxOEJFOUYxNTAwNkNFQkNDIC8qIEluc3BlY3RvclJlcGxheUFnZW50LmggKi87
IH07CiAJCTk5Q0MwQjZBMThCRUExRkYwMDZDRUJDQyAvKiBXZWJSZXBsYXlJbnB1dHMuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTlDQzBCNjgxOEJF
QTFGRjAwNkNFQkNDIC8qIFdlYlJlcGxheUlucHV0cy5jcHAgKi87IH07CiAJCTk5Q0MwQjZCMThC
RUExRkYwMDZDRUJDQyAvKiBXZWJSZXBsYXlJbnB1dHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5Q0MwQjY5MThCRUExRkYwMDZDRUJDQyAvKiBXZWJS
ZXBsYXlJbnB1dHMuaCAqLzsgfTsKLQkJOTlFNDVBMTcxOEEwNjNCRTAwMjZEODhGIC8qIEV2ZW50
TG9vcElucHV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5OUU0NUExNjE4QTA2M0JFMDAyNkQ4OEYgLyogRXZlbnRMb29wSW5wdXQuaCAqLzsgfTsKKwkJ
OTlFNDVBMTcxOEEwNjNCRTAwMjZEODhGIC8qIEV2ZW50TG9vcElucHV0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OUU0NUExNjE4QTA2M0JFMDAyNkQ4
OEYgLyogRXZlbnRMb29wSW5wdXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk5QTExNDIwNDE4MzJEMTM1MDAwQkI4QUQgLyogVmFsdWVUb1N0cmlu
Zy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUExMTQy
MDMxODMyRDEzNDAwMEJCOEFEIC8qIFZhbHVlVG9TdHJpbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5QTFCNkY5NzE1ODg2OUM4MDAxMUE4QzQg
LyogSlNET01TdHJpbmdMaXN0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDlBMUI2Rjk2MTU4ODY5QzgwMDExQThDNCAvKiBKU0RPTVN0cmlu
Z0xpc3RDdXN0b20uY3BwICovOyB9OwogCQk5QTUyOEU4MzE3RDdGNTJGMDBBQTk1MTggLyogRmxv
YXRpbmdPYmplY3RzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDlBNTI4RTgxMTdEN0Y1MkYwMEFBOTUxOCAvKiBGbG9hdGluZ09iamVjdHMuY3BwICov
OyB9OwpAQCAtNTU0Myw2ICs1NTQzLDcgQEAKIAkJQzQ5NDc0QTExOUEyODQ3QzAwOUIzREU4IC8q
IFNoYXJlZEV2ZW50U2VuZGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQzQ5NDc0QTAxOUEyODQ3QzAwOUIzREU4IC8qIFNoYXJlZEV2ZW50U2VuZGVy
cy5oICovOyB9OwogCQlDNDk0NzRBODE5QTJENjEyMDA5QjNERTggLyogRXZlbnRTZW5kZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNUNCMUIzMTRF
REFCNkYwMEJCMjc5NSAvKiBFdmVudFNlbmRlci5oICovOyB9OwogCQlDNDk0NzRBQTE5QTJFMkU1
MDA5QjNERTggLyogU2hhcmVkRXZlbnRTZW5kZXJzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM0OTQ3NEE5MTlBMkUyRTUwMDlCM0RFOCAvKiBTaGFy
ZWRFdmVudFNlbmRlcnMuY3BwICovOyB9OworCQlDNDk0NzRBQzE5QTNGN0EyMDA5QjNERTggLyog
UmVwbGF5Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDNDk0NzRBQjE5QTNGN0EyMDA5QjNERTggLyogUmVwbGF5Q2xpZW50LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzRDRDYyOUExODM4Mzc2
NjAwN0VCQUYxIC8qIEZyYW1lU25hcHNob3R0aW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM0Q0Q2Mjk4MTgzODM3NjYwMDdFQkFGMSAvKiBGcmFt
ZVNuYXBzaG90dGluZy5jcHAgKi87IH07CiAJCUM0Q0Q2MjlCMTgzODM3NjYwMDdFQkFGMSAvKiBG
cmFtZVNuYXBzaG90dGluZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzRDRDYyOTkxODM4Mzc2NjAwN0VCQUYxIC8qIEZyYW1lU25hcHNob3R0aW5nLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzRENEY1
MkIxOTc1Qzg4QjAwM0VGNUJDIC8qIFJlcGxheWFibGVUaW1lci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNEQ0RjUyNzE5NzVDODhCMDAzRUY1QkMg
LyogUmVwbGF5YWJsZVRpbWVyLmNwcCAqLzsgfTsKQEAgLTEyOTY4LDYgKzEyOTY5LDcgQEAKIAkJ
QzQwMEQxMDgxOEYxQzhGNjAwOTBEODYzIC8qIEV2ZW50TG9vcElucHV0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEV2ZW50TG9vcElucHV0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzQ5NDc0QTAxOUEyODQ3QzAwOUIzREU4IC8qIFNoYXJlZEV2
ZW50U2VuZGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTaGFyZWRFdmVu
dFNlbmRlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzQ5NDc0QTkxOUEyRTJF
NTAwOUIzREU4IC8qIFNoYXJlZEV2ZW50U2VuZGVycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBTaGFyZWRFdmVudFNlbmRlcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlDNDk0NzRBQjE5QTNGN0EyMDA5QjNERTggLyogUmVwbGF5Q2xpZW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlcGxheUNsaWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlDNENENjI5ODE4MzgzNzY2MDA3RUJBRjEgLyogRnJhbWVT
bmFwc2hvdHRpbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRnJh
bWVTbmFwc2hvdHRpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNENENjI5
OTE4MzgzNzY2MDA3RUJBRjEgLyogRnJhbWVTbmFwc2hvdHRpbmcuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gRnJhbWVTbmFwc2hvdHRpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQzRENEY1MjcxOTc1Qzg4QjAwM0VGNUJDIC8qIFJlcGxheWFibGVUaW1lci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZXBsYXlhYmxlVGltZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTg0MTcsNiArMTg0MTksOSBAQAog
CQkJCTk5Q0MwQjQxMThCRTk4NDkwMDZDRUJDQyAvKiBSZXBsYXlpbmdJbnB1dEN1cnNvci5oICov
LAogCQkJCTk5Q0MwQjQyMThCRTk4NDkwMDZDRUJDQyAvKiBSZXBsYXlJbnB1dENyZWF0aW9uTWV0
aG9kcy5jcHAgKi8sCiAJCQkJOTlDQzBCNDMxOEJFOTg0OTAwNkNFQkNDIC8qIFJlcGxheUlucHV0
RGlzcGF0Y2hNZXRob2RzLmNwcCAqLywKKwkJCQk5OTBBMTlGNDE4QURBNDg0MDAxODNGRDEgLyog
UmVwbGF5SW5wdXRUeXBlcy5jcHAgKi8sCisJCQkJOTkwQTE5RjUxOEFEQTQ4NDAwMTgzRkQxIC8q
IFJlcGxheUlucHV0VHlwZXMuaCAqLywKKwkJCQlDNDk0NzRBQjE5QTNGN0EyMDA5QjNERTggLyog
UmVwbGF5Q2xpZW50LmggKi8sCiAJCQkJOTlDQzBCNDQxOEJFOTg0OTAwNkNFQkNDIC8qIFJlcGxh
eVNlc3Npb24uY3BwICovLAogCQkJCTk5Q0MwQjQ1MThCRTk4NDkwMDZDRUJDQyAvKiBSZXBsYXlT
ZXNzaW9uLmggKi8sCiAJCQkJOTlDQzBCNDYxOEJFOTg0OTAwNkNFQkNDIC8qIFJlcGxheVNlc3Np
b25TZWdtZW50LmNwcCAqLywKQEAgLTI0OTI0LDYgKzI0OTI5LDcgQEAKIAkJCQlBNzc5NzkyOTBE
NkI5RTY0MDAzODUxQjkgLyogSlNJbWFnZURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBMEU3
NzFGMTBDMDBEQjEwMEEwMjc2RSAvKiBKU0luc3BlY3RvckZyb250ZW5kSG9zdC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTg2NjI5RDMwOURBMkI0ODAwOTYzM0E1IC8qIEpTS2V5Ym9hcmRFdmVudC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQzQ5NDc0QUMxOUEzRjdBMjAwOUIzREU4IC8qIFJlcGxheUNs
aWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM1RjQ1NDMwRjdDM0I1RjAwRDdDMUZCIC8qIEpT
TGF6eUV2ZW50TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRTFDNDNDMEQ5ODMwRDMw
MDNCMDJGMiAvKiBKU0xvY2F0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREFCNkQyRTE3Qzgx
NEVFMDBDNjBCMzQgLyogSlNNZWRpYUNvbnRyb2xzSG9zdC5oIGluIEhlYWRlcnMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCmluZGV4IDg5ZDU0ODY4M2MyZDI5OGVkODll
OTNiNDNkNDk1Mzg1MzdhZGZhMGQuLmYyYWYzZjcwNDc3Mjc2YjhiZTlkNDg1NWRjMTAwNDI5N2Qy
OTdkZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCkBAIC0xMTMsNiAr
MTEzLDExIEBAIHZvaWQgZmlsbFdpdGhFbXB0eUNsaWVudHMoUGFnZUNvbmZpZ3VyYXRpb24mIHBh
Z2VDb25maWd1cmF0aW9uKQogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxFbXB0eUluc3BlY3Rv
ckNsaWVudD4gZHVtbXlJbnNwZWN0b3JDbGllbnQ7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uaW5z
cGVjdG9yQ2xpZW50ID0gJmR1bW15SW5zcGVjdG9yQ2xpZW50LmdldCgpOwogCisjaWYgRU5BQkxF
KFdFQl9SRVBMQVkpCisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEVtcHR5UmVwbGF5Q2xpZW50
PiBkdW1teVJlcGxheUNsaWVudDsKKyAgICBwYWdlQ29uZmlndXJhdGlvbi5yZXBsYXlDbGllbnQg
PSAmZHVtbXlSZXBsYXlDbGllbnQuZ2V0KCk7CisjZW5kaWYKKwogICAgIHN0YXRpYyBOZXZlckRl
c3Ryb3llZDxFbXB0eUZyYW1lTG9hZGVyQ2xpZW50PiBkdW1teUZyYW1lTG9hZGVyQ2xpZW50Owog
ICAgIHBhZ2VDb25maWd1cmF0aW9uLmxvYWRlckNsaWVudEZvck1haW5GcmFtZSA9ICZkdW1teUZy
YW1lTG9hZGVyQ2xpZW50LmdldCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRW1wdHlDbGllbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgK
aW5kZXggNTc5NzFjNTljNDIwYWZiMGI5ZWFiOWEyNWE4MDBiYThjM2FlNDZlMS4uMTNiNDM3ZWY0
ODZmYzE3MWRjY2Y5OWFmZDZlODYwMjAzNjY3NTJiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuaApAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUgIkluc3BlY3RvckNsaWVudC5o
IgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQcm9ncmVzc1RyYWNrZXJDbGllbnQuaCIK
KyNpbmNsdWRlICJSZXBsYXlDbGllbnQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCiAj
aW5jbHVkZSAiVmlzaXRlZExpbmtTdG9yZS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ1Zp
ZXcuaD4KQEAgLTYwNCw2ICs2MDUsMTYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBoaWRl
SGlnaGxpZ2h0KCkgb3ZlcnJpZGUgeyB9CiB9OwogCisjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCitj
bGFzcyBFbXB0eVJlcGxheUNsaWVudCA6IHB1YmxpYyBSZXBsYXlDbGllbnQgeworcHVibGljOgor
ICAgIEVtcHR5UmVwbGF5Q2xpZW50KCkgeyB9CisgICAgdmlydHVhbCB+RW1wdHlSZXBsYXlDbGll
bnQoKSB7IH0KKworICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaElucHV0KEV2ZW50TG9vcElucHV0
QmFzZSYpIG92ZXJyaWRlIHsgfQorfTsKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JFUExBWSkKKwog
Y2xhc3MgRW1wdHlEZXZpY2VDbGllbnQgOiBwdWJsaWMgRGV2aWNlQ2xpZW50IHsKIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRVcGRhdGluZygpIG92ZXJyaWRlIHsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFn
ZS5jcHAKaW5kZXggODg2ZDUzYTZhYzkxYmE0N2I4MTY2ZGNhMjdkMmExYWY2N2FlMGRjZS4uM2Y1
YjYwMDJmMGQ2MjBhNTM2MDg4ZGQ0MGYzZmY0ODg5MzBlZDg1MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3Bw
CkBAIC05OSw2ICs5OSw3IEBACiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiAj
aWYgRU5BQkxFKFdFQl9SRVBMQVkpCisjaW5jbHVkZSAiUmVwbGF5Q2xpZW50LmgiCiAjaW5jbHVk
ZSAiUmVwbGF5Q29udHJvbGxlci5oIgogI2luY2x1ZGUgPHJlcGxheS9JbnB1dEN1cnNvci5oPgog
I2VuZGlmCkBAIC0xMzksNyArMTQwLDcgQEAgUGFnZTo6UGFnZShQYWdlQ29uZmlndXJhdGlvbiYg
cGFnZUNvbmZpZ3VyYXRpb24pCiAjZW5kaWYKICAgICAsIG1fdXNlcklucHV0QnJpZGdlKHN0ZDo6
bWFrZV91bmlxdWU8VXNlcklucHV0QnJpZGdlPigqdGhpcykpCiAjaWYgRU5BQkxFKFdFQl9SRVBM
QVkpCi0gICAgLCBtX3JlcGxheUNvbnRyb2xsZXIoc3RkOjptYWtlX3VuaXF1ZTxSZXBsYXlDb250
cm9sbGVyPigqdGhpcykpCisgICAgLCBtX3JlcGxheUNvbnRyb2xsZXIoc3RkOjptYWtlX3VuaXF1
ZTxSZXBsYXlDb250cm9sbGVyPigqdGhpcywgKnBhZ2VDb25maWd1cmF0aW9uLnJlcGxheUNsaWVu
dCkpCiAjZW5kaWYKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgICwgbV9pbnNwZWN0b3JDb250
cm9sbGVyKHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yQ29udHJvbGxlcj4oKnRoaXMsIHBhZ2VD
b25maWd1cmF0aW9uLmluc3BlY3RvckNsaWVudCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1BhZ2VDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25m
aWd1cmF0aW9uLmgKaW5kZXggZWI1NDMyMTBjMmJlZTUyMzYzOTJhNDkwNTdhOWRiMDBhOWU2ODI4
Ny4uYTIwNDFhZmQ0OWE4YmRlMDNhNGY2NzRjYThlZGZhMTc4YzBhYWZhMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaApAQCAtNDUsNiArNDUsOSBAQCBjbGFzcyBGcmFt
ZUxvYWRlckNsaWVudDsKIGNsYXNzIEluc3BlY3RvckNsaWVudDsKIGNsYXNzIFBsdWdJbkNsaWVu
dDsKIGNsYXNzIFByb2dyZXNzVHJhY2tlckNsaWVudDsKKyNpZiBFTkFCTEUoV0VCX1JFUExBWSkK
K2NsYXNzIFJlcGxheUNsaWVudDsKKyNlbmRpZgogY2xhc3MgU3RvcmFnZU5hbWVzcGFjZVByb3Zp
ZGVyOwogY2xhc3MgVXNlckNvbnRlbnRDb250cm9sbGVyOwogY2xhc3MgVmFsaWRhdGlvbk1lc3Nh
Z2VDbGllbnQ7CkBAIC02NCw2ICs2Nyw5IEBAIHB1YmxpYzoKICAgICBFZGl0b3JDbGllbnQqIGVk
aXRvckNsaWVudDsKICAgICBEcmFnQ2xpZW50KiBkcmFnQ2xpZW50OwogICAgIEluc3BlY3RvckNs
aWVudCogaW5zcGVjdG9yQ2xpZW50OworI2lmIEVOQUJMRShXRUJfUkVQTEFZKQorICAgIFJlcGxh
eUNsaWVudCogcmVwbGF5Q2xpZW50ID0ge251bGxwdHJ9OworI2VuZGlmCiAgICAgUGx1Z0luQ2xp
ZW50KiBwbHVnSW5DbGllbnQ7CiAgICAgUHJvZ3Jlc3NUcmFja2VyQ2xpZW50KiBwcm9ncmVzc1Ry
YWNrZXJDbGllbnQ7CiAgICAgUmVmUHRyPEJhY2tGb3J3YXJkQ2xpZW50PiBiYWNrRm9yd2FyZENs
aWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dC5o
IGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0LmgKaW5kZXggY2IzNzVlN2Rm
NjA2MjU2MzI4ZDNlY2VlYjdkMWNlZjI2ZjRlYWI1Yy4uMjI4MDU1YjlhZWI1YmVjMDZlNmY0OGVk
MzEyZTFhOWRiMzIzM2Y4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50
TG9vcElucHV0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0LmgK
QEAgLTM5LDYgKzM5LDggQEAgY2xhc3MgSW5wdXRDdXJzb3I7CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAorY2xhc3MgRXZlbnRMb29wSW5wdXRCYXNlOworY2xhc3MgUGFnZTsKIGNsYXNzIFJlcGxh
eUNvbnRyb2xsZXI7CiAKIC8vIFRoaXMgaXMgYW4gUkFJSSBoZWxwZXIgdXNlZCBkdXJpbmcgY2Fw
dHVyaW5nIHdoaWNoIHNldHMgYSBmbGFnIG9uIHRoZSBpbnB1dCBjdXJzb3IKQEAgLTU0LDEyICs1
NiwxNyBAQCBwcml2YXRlOgogICAgIEpTQzo6SW5wdXRDdXJzb3IqIG1fY3Vyc29yOwogfTsKIAor
c3RydWN0IEV2ZW50TG9vcElucHV0RGF0YSB7CisgICAgRXZlbnRMb29wSW5wdXRCYXNlKiBpbnB1
dDsKKyAgICBkb3VibGUgdGltZXN0YW1wOworfTsKKwogY2xhc3MgRXZlbnRMb29wSW5wdXRCYXNl
IDogcHVibGljIE5vbmRldGVybWluaXN0aWNJbnB1dEJhc2UgewogcHVibGljOgogICAgIHZpcnR1
YWwgfkV2ZW50TG9vcElucHV0QmFzZSgpIHsgfQogICAgIHZpcnR1YWwgSW5wdXRRdWV1ZSBxdWV1
ZSgpIGNvbnN0IG92ZXJyaWRlIGZpbmFsIHsgcmV0dXJuIElucHV0UXVldWU6OkV2ZW50TG9vcElu
cHV0OyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2goUmVwbGF5Q29udHJvbGxlciYpID0g
MDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2goUGFnZSYpID0gMDsKIH07CiAKIHRlbXBsYXRl
IDx0eXBlbmFtZSBJbnB1dFR5cGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkv
RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVu
dExvb3BJbnB1dERpc3BhdGNoZXIuY3BwCmluZGV4IDhmNDM2MThhMWZkZGQxMmJlMDViMjdlOWZi
NjM0ZTU4MTYxMzc4MmYuLjc0YjFiMmM3MmEwNmM3ODJjMWI0Mzc1NGE3NTJiNDYyNGM5M2MyMWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNo
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNo
ZXIuY3BwCkBAIC0zMSw2ICszMSw4IEBACiAjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCiAKICNpbmNs
dWRlICJQYWdlLmgiCisjaW5jbHVkZSAiUmVwbGF5Q2xpZW50LmgiCisjaW5jbHVkZSAiUmVwbGF5
Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlJlcGxheWluZ0lucHV0Q3Vyc29yLmgiCiAjaW5jbHVk
ZSAiV2ViUmVwbGF5SW5wdXRzLmgiCiAjaW5jbHVkZSA8d3RmL1RlbXBvcmFyeUNoYW5nZS5oPgpA
QCAtMTUwLDcgKzE1Miw3IEBAIHZvaWQgRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyOjpkaXNwYXRj
aElucHV0KCkKIAogICAgIHsKICAgICAgICAgVGVtcG9yYXJ5Q2hhbmdlPGJvb2w+IGNoYW5nZSht
X2Rpc3BhdGNoaW5nLCB0cnVlKTsKLSAgICAgICAgbV9jdXJyZW50V29yay5pbnB1dC0+ZGlzcGF0
Y2gobV9wYWdlLnJlcGxheUNvbnRyb2xsZXIoKSk7CisgICAgICAgIG1fcGFnZS5yZXBsYXlDb250
cm9sbGVyKCkuY2xpZW50KCkuZGlzcGF0Y2hJbnB1dCgqbV9jdXJyZW50V29yay5pbnB1dCk7CiAg
ICAgfQogCiAgICAgRXZlbnRMb29wSW5wdXRCYXNlKiBkaXNwYXRjaGVkSW5wdXQgPSBtX2N1cnJl
bnRXb3JrLmlucHV0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9v
cElucHV0RGlzcGF0Y2hlci5oIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0
RGlzcGF0Y2hlci5oCmluZGV4IDU5MzRjNDBhOTAwZjcyNWY4OWE0Zjc2YTM5YzJmMWUyNTgzZWU2
MjguLmRjOTNjM2E1ZjYwZmE5Y2Q0YWM1NDM5NGMwODUwOWJhODZmODkyNDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3BhdGNoZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmgKQEAgLTMxLDcg
KzMxLDYgQEAKICNpZiBFTkFCTEUoV0VCX1JFUExBWSkKIAogI2luY2x1ZGUgIkV2ZW50TG9vcElu
cHV0LmgiCi0jaW5jbHVkZSAiUmVwbGF5aW5nSW5wdXRDdXJzb3IuaCIKICNpbmNsdWRlICJUaW1l
ci5oIgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KQEAgLTQwLDcgKzM5LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUGFnZTsK
LQorY2xhc3MgUmVwbGF5aW5nSW5wdXRDdXJzb3I7CisgICAgCiBlbnVtIGNsYXNzIERpc3BhdGNo
U3BlZWQgewogICAgIFJlYWxUaW1lLAogICAgIEZhc3RGb3J3YXJkLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5
L1JlcGxheUNsaWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU2YmIyYzA3ZWRmODAwMWFlYzgzYjlhMDA3ZTc0
ZTcyYzA0NWRmZTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVw
bGF5Q2xpZW50LmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBV
bml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgUmVwbGF5Q2xpZW50X2gKKyNkZWZpbmUgUmVwbGF5Q2xpZW50X2gKKworI2lmIEVO
QUJMRShXRUJfUkVQTEFZKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEV2ZW50TG9v
cElucHV0QmFzZTsKKworY2xhc3MgUmVwbGF5Q2xpZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFs
IH5SZXBsYXlDbGllbnQoKSB7IH0KKworICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaElucHV0KEV2
ZW50TG9vcElucHV0QmFzZSYpID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShXRUJfUkVQTEFZKQorCisjZW5kaWYgLy8gIWRlZmluZWQoUmVwbGF5
Q2xpZW50X2gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5Q29udHJv
bGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5Q29udHJvbGxlci5jcHAKaW5k
ZXggZDZlNDVlYzA5NDJkODk4ODk3YzZlNmI0NmYxYTllNDllYTU2Nzc1Zi4uYjExY2UzMzVjOWRm
MGMyZGFmNTUwZjQ1YmMyMDMyZGUxZDdiYzhjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVwbGF5L1JlcGxheUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9S
ZXBsYXlDb250cm9sbGVyLmNwcApAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIkxvZ2dpbmcu
aCIKICNpbmNsdWRlICJNYWluRnJhbWUuaCIKICNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAi
UmVwbGF5Q2xpZW50LmgiCiAjaW5jbHVkZSAiUmVwbGF5U2Vzc2lvbi5oIgogI2luY2x1ZGUgIlJl
cGxheVNlc3Npb25TZWdtZW50LmgiCiAjaW5jbHVkZSAiUmVwbGF5aW5nSW5wdXRDdXJzb3IuaCIK
QEAgLTExMSw4ICsxMTIsOSBAQCBzdGF0aWMgY29uc3QgY2hhciogc2VnbWVudFN0YXRlVG9TdHJp
bmcoU2VnbWVudFN0YXRlIHN0YXRlKQogCiAjZW5kaWYgLy8gIUxPR19ESVNBQkxFRAogCi1SZXBs
YXlDb250cm9sbGVyOjpSZXBsYXlDb250cm9sbGVyKFBhZ2UmIHBhZ2UpCitSZXBsYXlDb250cm9s
bGVyOjpSZXBsYXlDb250cm9sbGVyKFBhZ2UmIHBhZ2UsIFJlcGxheUNsaWVudCYgY2xpZW50KQog
ICAgIDogbV9wYWdlKHBhZ2UpCisgICAgLCBtX2NsaWVudChjbGllbnQpCiAgICAgLCBtX2xvYWRl
ZFNlZ21lbnQobnVsbHB0cikKICAgICAsIG1fbG9hZGVkU2Vzc2lvbihSZXBsYXlTZXNzaW9uOjpj
cmVhdGUoKSkKICAgICAsIG1fZW1wdHlDdXJzb3IoRW1wdHlJbnB1dEN1cnNvcjo6Y3JlYXRlKCkp
CkBAIC0yMzQsMTIgKzIzNiwxMiBAQCB2b2lkIFJlcGxheUNvbnRyb2xsZXI6OmNyZWF0ZVNlZ21l
bnQoKQogICAgIC8vIERpc3BhdGNoaW5nIHRoaXMgaW5wdXQgc2F2ZXMgaGlzdG9yeSwgY2xlYXJz
IGFsbCBidXQgdGhlIGN1cnJlbnQgaXRlbSwgYXBwZW5kcyBzYXZlZAogICAgIC8vIGhpc3Rvcnkg
aXRlbSB0byB0aGUgYmFjay9mb3J3YXJkIGxpc3QsIHRoZW4gbW92ZXMgdGhlIGN1cnJlbnQgaXRl
bSBjdXJzb3IgdG8gdGhlIGxhc3QgZW50cnkuCiAgICAgc3RkOjp1bmlxdWVfcHRyPEluaXRpYWxp
emVIaXN0b3J5PiBoaXN0b3J5SW5wdXQgPSBJbml0aWFsaXplSGlzdG9yeTo6Y3JlYXRlRnJvbVBh
Z2UobV9wYWdlKTsKLSAgICBoaXN0b3J5SW5wdXQtPmRpc3BhdGNoKCp0aGlzKTsKLSAgICBtX2Fj
dGl2ZUN1cnNvci0+c3RvcmVJbnB1dChzdGQ6Om1vdmUoaGlzdG9yeUlucHV0KSk7CisgICAgbV9j
bGllbnQuZGlzcGF0Y2hJbnB1dCgqaGlzdG9yeUlucHV0KTsKKyAgICBtX2FjdGl2ZUN1cnNvci0+
c3RvcmVJbnB1dChXVEY6Om1vdmUoaGlzdG9yeUlucHV0KSk7CiAKICAgICAvLyBEaXNwYXRjaGlu
ZyB0aGlzIGlucHV0IHNjaGVkdWxlcyBuYXZpZ2F0aW9uIG9mIHRoZSBtYWluIGZyYW1lLCBjYXVz
aW5nIGEgcmVmcmVzaC4KICAgICBzdGQ6OnVuaXF1ZV9wdHI8SW5pdGlhbE5hdmlnYXRpb24+IG5h
dmlnYXRpb25JbnB1dCA9IEluaXRpYWxOYXZpZ2F0aW9uOjpjcmVhdGVGcm9tUGFnZShtX3BhZ2Up
OwotICAgIG5hdmlnYXRpb25JbnB1dC0+ZGlzcGF0Y2goKnRoaXMpOworICAgIG1fY2xpZW50LmRp
c3BhdGNoSW5wdXQoKm5hdmlnYXRpb25JbnB1dCk7CiAgICAgbV9hY3RpdmVDdXJzb3ItPnN0b3Jl
SW5wdXQoV1RGOjptb3ZlKG5hdmlnYXRpb25JbnB1dCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcmVw
bGF5L1JlcGxheUNvbnRyb2xsZXIuaAppbmRleCA5YjY3YWIwMDAwMTQ4NTcyNzVhMjA1OTYwNWM0
MWI2ZTVjMjUxODlhLi41NTk3NjYwMDZiOTllMzA2MGU0ZWQ2OWM3ZTVlZjg1MTBhMjM1NmU1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5Q29udHJvbGxlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlDb250cm9sbGVyLmgKQEAgLTUzLDYgKzUzLDcg
QEAgY2xhc3MgRXZlbnRMb29wSW5wdXRCYXNlOwogY2xhc3MgRnJhbWU7CiBjbGFzcyBOb2RlOwog
Y2xhc3MgUGFnZTsKK2NsYXNzIFJlcGxheUNsaWVudDsKIGNsYXNzIFJlcGxheVNlc3Npb247CiBj
bGFzcyBSZXBsYXlTZXNzaW9uU2VnbWVudDsKIApAQCAtMTEyLDcgKzExMyw3IEBAIHN0cnVjdCBS
ZXBsYXlQb3NpdGlvbiB7CiBjbGFzcyBSZXBsYXlDb250cm9sbGVyIGZpbmFsIDogcHVibGljIEV2
ZW50TG9vcElucHV0RGlzcGF0Y2hlckNsaWVudCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUo
UmVwbGF5Q29udHJvbGxlcik7CiBwdWJsaWM6Ci0gICAgUmVwbGF5Q29udHJvbGxlcihQYWdlJik7
CisgICAgUmVwbGF5Q29udHJvbGxlcihQYWdlJiwgUmVwbGF5Q2xpZW50Jik7CiAKICAgICB2b2lk
IHN0YXJ0Q2FwdHVyaW5nKCk7CiAgICAgdm9pZCBzdG9wQ2FwdHVyaW5nKCk7CkBAIC0xMzYsNiAr
MTM3LDcgQEAgcHVibGljOgogICAgIHZvaWQgd2lsbERpc3BhdGNoRXZlbnQoY29uc3QgRXZlbnQm
LCBGcmFtZSopOwogCiAgICAgUGFnZSYgcGFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGFnZTsgfQor
ICAgIFJlcGxheUNsaWVudCYgY2xpZW50KCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnQ7IH0KIAog
ICAgIFNlc3Npb25TdGF0ZSBzZXNzaW9uU3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3Nlc3Npb25T
dGF0ZTsgfQogICAgIFNlZ21lbnRTdGF0ZSBzZWdtZW50U3RhdGUoKSBjb25zdCB7IHJldHVybiBt
X3NlZ21lbnRTdGF0ZTsgfQpAQCAtMTc1LDYgKzE3Nyw3IEBAIHByaXZhdGU6CiAgICAgfTsKIAog
ICAgIFBhZ2UmIG1fcGFnZTsKKyAgICBSZXBsYXlDbGllbnQmIG1fY2xpZW50OwogCiAgICAgUmVm
UHRyPFJlcGxheVNlc3Npb25TZWdtZW50PiBtX2xvYWRlZFNlZ21lbnQ7CiAgICAgUmVmUHRyPFJl
cGxheVNlc3Npb24+IG1fbG9hZGVkU2Vzc2lvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlcGxheS9SZXBsYXlJbnB1dERpc3BhdGNoTWV0aG9kcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZXBsYXkvUmVwbGF5SW5wdXREaXNwYXRjaE1ldGhvZHMuY3BwCmluZGV4IDRjOGQ4YWUyZjMzMDkz
ZjE4ODhmMTE3OGYxZWQwMGU0MjJhNmI4YTcuLjI5NTA4Yzg0MTgwMmQ2N2I0OWYzYWYxMzg0NTdh
MTY4MTE0NGVmY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlJbnB1
dERpc3BhdGNoTWV0aG9kcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheUlu
cHV0RGlzcGF0Y2hNZXRob2RzLmNwcApAQCAtNjQsMTQ2ICs2NCwxNDYgQEAgc3RhdGljIFJlc291
cmNlTG9hZGVyKiByZXNvdXJjZUxvYWRlckZvck9yZGluYWwoUGFnZSYgcGFnZSwgdW5zaWduZWQg
bG9uZyBvcmRpbmEKIH0KIAogLy8gU2VudGluZWwgaW5wdXRzLgotdm9pZCBCZWdpblNlZ21lbnRT
ZW50aW5lbDo6ZGlzcGF0Y2goUmVwbGF5Q29udHJvbGxlciYpCit2b2lkIEJlZ2luU2VnbWVudFNl
bnRpbmVsOjpkaXNwYXRjaChQYWdlJikKIHsKIH0KIAotdm9pZCBFbmRTZWdtZW50U2VudGluZWw6
OmRpc3BhdGNoKFJlcGxheUNvbnRyb2xsZXImKQordm9pZCBFbmRTZWdtZW50U2VudGluZWw6OmRp
c3BhdGNoKFBhZ2UmKQogewogfQogCiAvLyBOYXZpZ2F0aW9uIGlucHV0cy4KLXZvaWQgSW5pdGlh
bE5hdmlnYXRpb246OmRpc3BhdGNoKFJlcGxheUNvbnRyb2xsZXImIGNvbnRyb2xsZXIpCit2b2lk
IEluaXRpYWxOYXZpZ2F0aW9uOjpkaXNwYXRjaChQYWdlJiBwYWdlKQogewotICAgIGNvbnRyb2xs
ZXIucGFnZSgpLm1haW5GcmFtZSgpLm5hdmlnYXRpb25TY2hlZHVsZXIoKS5zY2hlZHVsZUxvY2F0
aW9uQ2hhbmdlKG1fc2VjdXJpdHlPcmlnaW4uZ2V0KCksIG1fdXJsLCBtX3JlZmVycmVyKTsKKyAg
ICBwYWdlLm1haW5GcmFtZSgpLm5hdmlnYXRpb25TY2hlZHVsZXIoKS5zY2hlZHVsZUxvY2F0aW9u
Q2hhbmdlKG1fc2VjdXJpdHlPcmlnaW4uZ2V0KCksIG1fdXJsLCBtX3JlZmVycmVyKTsKIH0KIAot
dm9pZCBMb2FkVVJMUmVxdWVzdDo6ZGlzcGF0Y2goUmVwbGF5Q29udHJvbGxlciYgY29udHJvbGxl
cikKK3ZvaWQgTG9hZFVSTFJlcXVlc3Q6OmRpc3BhdGNoKFBhZ2UmIHBhZ2UpCiB7Ci0gICAgY29u
dHJvbGxlci5wYWdlKCkudXNlcklucHV0QnJpZGdlKCkubG9hZFJlcXVlc3QoKm1fbG9hZFJlcXVl
c3QpOworICAgIHBhZ2UudXNlcklucHV0QnJpZGdlKCkubG9hZFJlcXVlc3QoKm1fbG9hZFJlcXVl
c3QpOwogfQogCi12b2lkIFJlbG9hZEZyYW1lOjpkaXNwYXRjaChSZXBsYXlDb250cm9sbGVyJiBj
b250cm9sbGVyKQordm9pZCBSZWxvYWRGcmFtZTo6ZGlzcGF0Y2goUGFnZSYgcGFnZSkKIHsKLSAg
ICBGcmFtZSogZnJhbWUgPSBmcmFtZUZyb21GcmFtZUluZGV4KCZjb250cm9sbGVyLnBhZ2UoKSwg
bV9mcmFtZUluZGV4KTsKKyAgICBGcmFtZSogZnJhbWUgPSBmcmFtZUZyb21GcmFtZUluZGV4KCZw
YWdlLCBtX2ZyYW1lSW5kZXgpOwogICAgIEFTU0VSVChmcmFtZSk7CiAKLSAgICBjb250cm9sbGVy
LnBhZ2UoKS51c2VySW5wdXRCcmlkZ2UoKS5yZWxvYWRGcmFtZShmcmFtZSwgbV9lbmRUb0VuZFJl
bG9hZCwgSW5wdXRTb3VyY2U6OlN5bnRoZXRpYyk7CisgICAgcGFnZS51c2VySW5wdXRCcmlkZ2Uo
KS5yZWxvYWRGcmFtZShmcmFtZSwgbV9lbmRUb0VuZFJlbG9hZCwgSW5wdXRTb3VyY2U6OlN5bnRo
ZXRpYyk7CiB9CiAKLXZvaWQgU3RvcExvYWRpbmdGcmFtZTo6ZGlzcGF0Y2goUmVwbGF5Q29udHJv
bGxlciYgY29udHJvbGxlcikKK3ZvaWQgU3RvcExvYWRpbmdGcmFtZTo6ZGlzcGF0Y2goUGFnZSYg
cGFnZSkKIHsKLSAgICBGcmFtZSogZnJhbWUgPSBmcmFtZUZyb21GcmFtZUluZGV4KCZjb250cm9s
bGVyLnBhZ2UoKSwgbV9mcmFtZUluZGV4KTsKKyAgICBGcmFtZSogZnJhbWUgPSBmcmFtZUZyb21G
cmFtZUluZGV4KCZwYWdlLCBtX2ZyYW1lSW5kZXgpOwogICAgIEFTU0VSVChmcmFtZSk7CiAKLSAg
ICBjb250cm9sbGVyLnBhZ2UoKS51c2VySW5wdXRCcmlkZ2UoKS5zdG9wTG9hZGluZ0ZyYW1lKGZy
YW1lLCBJbnB1dFNvdXJjZTo6U3ludGhldGljKTsKKyAgICBwYWdlLnVzZXJJbnB1dEJyaWRnZSgp
LnN0b3BMb2FkaW5nRnJhbWUoZnJhbWUsIElucHV0U291cmNlOjpTeW50aGV0aWMpOwogfQogCi12
b2lkIFRyeUNsb3NlUGFnZTo6ZGlzcGF0Y2goUmVwbGF5Q29udHJvbGxlciYgY29udHJvbGxlcikK
K3ZvaWQgVHJ5Q2xvc2VQYWdlOjpkaXNwYXRjaChQYWdlJiBwYWdlKQogewotICAgIGNvbnRyb2xs
ZXIucGFnZSgpLnVzZXJJbnB1dEJyaWRnZSgpLnRyeUNsb3NlUGFnZShJbnB1dFNvdXJjZTo6U3lu
dGhldGljKTsKKyAgICBwYWdlLnVzZXJJbnB1dEJyaWRnZSgpLnRyeUNsb3NlUGFnZShJbnB1dFNv
dXJjZTo6U3ludGhldGljKTsKIH0KIAotdm9pZCBJbml0aWFsaXplSGlzdG9yeTo6ZGlzcGF0Y2go
UmVwbGF5Q29udHJvbGxlciYgY29udHJvbGxlcikKK3ZvaWQgSW5pdGlhbGl6ZUhpc3Rvcnk6OmRp
c3BhdGNoKFBhZ2UmIHBhZ2UpCiB7CiAgICAgcmV0dXJuOyAvLyBIQUNLCiAKICAgICAvLyBGSVhN
RTogTG9hZCB0aGUgZW1wdHkgZG9jdW1lbnQsIHNvIHRoYXQgd2hlbiB3ZSBwcnVuZSB0aGUgYmFj
ay1mb3J3YXJkIGxpc3QgaXQKICAgICAvLyBpcyB0aGUgc2luZ2xlIHJlbWFpbmluZyBlbnRyeS4g
PGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEzMTk4OT4KLSAgICBjb250cm9sbGVyLnBhZ2UoKS5iYWNr
Rm9yd2FyZCgpLmNsZWFyKCk7CisgICAgcGFnZS5iYWNrRm9yd2FyZCgpLmNsZWFyKCk7CiAKICAg
ICBmb3IgKFJlZlB0cjxIaXN0b3J5SXRlbT4gaGlzdG9yeUVudHJ5IDogbV9lbnRyaWVzKQotICAg
ICAgICBjb250cm9sbGVyLnBhZ2UoKS5iYWNrRm9yd2FyZCgpLmFkZEl0ZW0oaGlzdG9yeUVudHJ5
LT5jb3B5KCkpOworICAgICAgICBwYWdlLmJhY2tGb3J3YXJkKCkuYWRkSXRlbShoaXN0b3J5RW50
cnktPmNvcHkoKSk7CiAKLSAgICBjb250cm9sbGVyLnBhZ2UoKS5tYWluRnJhbWUoKS5sb2FkZXIo
KS5oaXN0b3J5KCkuc2V0Q3VycmVudEl0ZW0oY29udHJvbGxlci5wYWdlKCkuYmFja0ZvcndhcmQo
KS5jdXJyZW50SXRlbSgpKTsKKyAgICBwYWdlLm1haW5GcmFtZSgpLmxvYWRlcigpLmhpc3Rvcnko
KS5zZXRDdXJyZW50SXRlbShwYWdlLmJhY2tGb3J3YXJkKCkuY3VycmVudEl0ZW0oKSk7CiB9CiAK
LXZvaWQgSGFuZGxlS2V5UHJlc3M6OmRpc3BhdGNoKFJlcGxheUNvbnRyb2xsZXImIGNvbnRyb2xs
ZXIpCit2b2lkIEhhbmRsZUtleVByZXNzOjpkaXNwYXRjaChQYWdlJiBwYWdlKQogewotICAgIGNv
bnRyb2xsZXIucGFnZSgpLnVzZXJJbnB1dEJyaWRnZSgpLmhhbmRsZUtleUV2ZW50KHBsYXRmb3Jt
RXZlbnQoKSwgSW5wdXRTb3VyY2U6OlN5bnRoZXRpYyk7CisgICAgcGFnZS51c2VySW5wdXRCcmlk
Z2UoKS5oYW5kbGVLZXlFdmVudChwbGF0Zm9ybUV2ZW50KCksIElucHV0U291cmNlOjpTeW50aGV0
aWMpOwogfQogCiAvLyBVc2VyIGludGVyYWN0aW9uIGlucHV0cy4KLXZvaWQgSGFuZGxlTW91c2VN
b3ZlOjpkaXNwYXRjaChSZXBsYXlDb250cm9sbGVyJiBjb250cm9sbGVyKQordm9pZCBIYW5kbGVN
b3VzZU1vdmU6OmRpc3BhdGNoKFBhZ2UmIHBhZ2UpCiB7CiAgICAgaWYgKG1fc2Nyb2xsYmFyVGFy
Z2V0ZWQpCi0gICAgICAgIGNvbnRyb2xsZXIucGFnZSgpLnVzZXJJbnB1dEJyaWRnZSgpLmhhbmRs
ZU1vdXNlTW92ZU9uU2Nyb2xsYmFyRXZlbnQocGxhdGZvcm1FdmVudCgpLCBJbnB1dFNvdXJjZTo6
U3ludGhldGljKTsKKyAgICAgICAgcGFnZS51c2VySW5wdXRCcmlkZ2UoKS5oYW5kbGVNb3VzZU1v
dmVPblNjcm9sbGJhckV2ZW50KHBsYXRmb3JtRXZlbnQoKSwgSW5wdXRTb3VyY2U6OlN5bnRoZXRp
Yyk7CiAgICAgZWxzZQotICAgICAgICBjb250cm9sbGVyLnBhZ2UoKS51c2VySW5wdXRCcmlkZ2Uo
KS5oYW5kbGVNb3VzZU1vdmVFdmVudChwbGF0Zm9ybUV2ZW50KCksIElucHV0U291cmNlOjpTeW50
aGV0aWMpOworICAgICAgICBwYWdlLnVzZXJJbnB1dEJyaWRnZSgpLmhhbmRsZU1vdXNlTW92ZUV2
ZW50KHBsYXRmb3JtRXZlbnQoKSwgSW5wdXRTb3VyY2U6OlN5bnRoZXRpYyk7CiB9CiAKLXZvaWQg
SGFuZGxlTW91c2VQcmVzczo6ZGlzcGF0Y2goUmVwbGF5Q29udHJvbGxlciYgY29udHJvbGxlcikK
K3ZvaWQgSGFuZGxlTW91c2VQcmVzczo6ZGlzcGF0Y2goUGFnZSYgcGFnZSkKIHsKLSAgICBjb250
cm9sbGVyLnBhZ2UoKS51c2VySW5wdXRCcmlkZ2UoKS5oYW5kbGVNb3VzZVByZXNzRXZlbnQocGxh
dGZvcm1FdmVudCgpLCBJbnB1dFNvdXJjZTo6U3ludGhldGljKTsKKyAgICBwYWdlLnVzZXJJbnB1
dEJyaWRnZSgpLmhhbmRsZU1vdXNlUHJlc3NFdmVudChwbGF0Zm9ybUV2ZW50KCksIElucHV0U291
cmNlOjpTeW50aGV0aWMpOwogfQogCi12b2lkIEhhbmRsZU1vdXNlUmVsZWFzZTo6ZGlzcGF0Y2go
UmVwbGF5Q29udHJvbGxlciYgY29udHJvbGxlcikKK3ZvaWQgSGFuZGxlTW91c2VSZWxlYXNlOjpk
aXNwYXRjaChQYWdlJiBwYWdlKQogewotICAgIGNvbnRyb2xsZXIucGFnZSgpLnVzZXJJbnB1dEJy
aWRnZSgpLmhhbmRsZU1vdXNlUmVsZWFzZUV2ZW50KHBsYXRmb3JtRXZlbnQoKSwgSW5wdXRTb3Vy
Y2U6OlN5bnRoZXRpYyk7CisgICAgcGFnZS51c2VySW5wdXRCcmlkZ2UoKS5oYW5kbGVNb3VzZVJl
bGVhc2VFdmVudChwbGF0Zm9ybUV2ZW50KCksIElucHV0U291cmNlOjpTeW50aGV0aWMpOwogfQog
Ci12b2lkIEhhbmRsZVdoZWVsRXZlbnQ6OmRpc3BhdGNoKFJlcGxheUNvbnRyb2xsZXImIGNvbnRy
b2xsZXIpCit2b2lkIEhhbmRsZVdoZWVsRXZlbnQ6OmRpc3BhdGNoKFBhZ2UmIHBhZ2UpCiB7Ci0g
ICAgY29udHJvbGxlci5wYWdlKCkudXNlcklucHV0QnJpZGdlKCkuaGFuZGxlV2hlZWxFdmVudChw
bGF0Zm9ybUV2ZW50KCksIElucHV0U291cmNlOjpTeW50aGV0aWMpOworICAgIHBhZ2UudXNlcklu
cHV0QnJpZGdlKCkuaGFuZGxlV2hlZWxFdmVudChwbGF0Zm9ybUV2ZW50KCksIElucHV0U291cmNl
OjpTeW50aGV0aWMpOwogfQogCi12b2lkIExvZ2ljYWxTY3JvbGxQYWdlOjpkaXNwYXRjaChSZXBs
YXlDb250cm9sbGVyJiBjb250cm9sbGVyKQordm9pZCBMb2dpY2FsU2Nyb2xsUGFnZTo6ZGlzcGF0
Y2goUGFnZSYgcGFnZSkKIHsKLSAgICBjb250cm9sbGVyLnBhZ2UoKS51c2VySW5wdXRCcmlkZ2Uo
KS5sb2dpY2FsU2Nyb2xsUmVjdXJzaXZlbHkoZGlyZWN0aW9uKCksIGdyYW51bGFyaXR5KCksIElu
cHV0U291cmNlOjpTeW50aGV0aWMpOworICAgIHBhZ2UudXNlcklucHV0QnJpZGdlKCkubG9naWNh
bFNjcm9sbFJlY3Vyc2l2ZWx5KGRpcmVjdGlvbigpLCBncmFudWxhcml0eSgpLCBJbnB1dFNvdXJj
ZTo6U3ludGhldGljKTsKIH0KIAotdm9pZCBTY3JvbGxQYWdlOjpkaXNwYXRjaChSZXBsYXlDb250
cm9sbGVyJiBjb250cm9sbGVyKQordm9pZCBTY3JvbGxQYWdlOjpkaXNwYXRjaChQYWdlJiBwYWdl
KQogewotICAgIGNvbnRyb2xsZXIucGFnZSgpLnVzZXJJbnB1dEJyaWRnZSgpLnNjcm9sbFJlY3Vy
c2l2ZWx5KGRpcmVjdGlvbigpLCBncmFudWxhcml0eSgpLCBJbnB1dFNvdXJjZTo6U3ludGhldGlj
KTsKKyAgICBwYWdlLnVzZXJJbnB1dEJyaWRnZSgpLnNjcm9sbFJlY3Vyc2l2ZWx5KGRpcmVjdGlv
bigpLCBncmFudWxhcml0eSgpLCBJbnB1dFNvdXJjZTo6U3ludGhldGljKTsKIH0KIAogLy8gTmV0
d29yayBpbnB1dHMuCi12b2lkIFJlc291cmNlTG9hZGVyRGlkRmFpbDo6ZGlzcGF0Y2goUmVwbGF5
Q29udHJvbGxlciYgY29udHJvbGxlcikKK3ZvaWQgUmVzb3VyY2VMb2FkZXJEaWRGYWlsOjpkaXNw
YXRjaChQYWdlJiBwYWdlKQogewotICAgIGlmIChSZXNvdXJjZUxvYWRlciogbG9hZGVyID0gcmVz
b3VyY2VMb2FkZXJGb3JPcmRpbmFsKGNvbnRyb2xsZXIucGFnZSgpLCBvcmRpbmFsKCksIGZyYW1l
SW5kZXgoKSkpCisgICAgaWYgKFJlc291cmNlTG9hZGVyKiBsb2FkZXIgPSByZXNvdXJjZUxvYWRl
ckZvck9yZGluYWwocGFnZSwgb3JkaW5hbCgpLCBmcmFtZUluZGV4KCkpKQogICAgICAgICBsb2Fk
ZXItPmRpZEZhaWwobV9lcnJvci0+Y29weSgpKTsKICAgICAvLyBGSVhNRTogc2lnbmFsIGVycm9y
IGlmIHRoZSBjYWxsYmFjayBjb3VsZG4ndCBiZSBmaXJlZC4KIH0KIAotdm9pZCBSZXNvdXJjZUxv
YWRlckRpZEZpbmlzaExvYWRpbmc6OmRpc3BhdGNoKFJlcGxheUNvbnRyb2xsZXImIGNvbnRyb2xs
ZXIpCit2b2lkIFJlc291cmNlTG9hZGVyRGlkRmluaXNoTG9hZGluZzo6ZGlzcGF0Y2goUGFnZSYg
cGFnZSkKIHsKLSAgICBpZiAoUmVzb3VyY2VMb2FkZXIqIGxvYWRlciA9IHJlc291cmNlTG9hZGVy
Rm9yT3JkaW5hbChjb250cm9sbGVyLnBhZ2UoKSwgb3JkaW5hbCgpLCBmcmFtZUluZGV4KCkpKQor
ICAgIGlmIChSZXNvdXJjZUxvYWRlciogbG9hZGVyID0gcmVzb3VyY2VMb2FkZXJGb3JPcmRpbmFs
KHBhZ2UsIG9yZGluYWwoKSwgZnJhbWVJbmRleCgpKSkKICAgICAgICAgbG9hZGVyLT5kaWRGaW5p
c2hMb2FkaW5nKG1fZmluaXNoVGltZSk7CiAgICAgLy8gRklYTUU6IHNpZ25hbCBlcnJvciBpZiB0
aGUgY2FsbGJhY2sgY291bGRuJ3QgYmUgZmlyZWQuCiB9CiAKLXZvaWQgUmVzb3VyY2VMb2FkZXJE
aWRSZWNlaXZlRGF0YTo6ZGlzcGF0Y2goUmVwbGF5Q29udHJvbGxlciYgY29udHJvbGxlcikKK3Zv
aWQgUmVzb3VyY2VMb2FkZXJEaWRSZWNlaXZlRGF0YTo6ZGlzcGF0Y2goUGFnZSYgcGFnZSkKIHsK
LSAgICBpZiAoUmVzb3VyY2VMb2FkZXIqIGxvYWRlciA9IHJlc291cmNlTG9hZGVyRm9yT3JkaW5h
bChjb250cm9sbGVyLnBhZ2UoKSwgb3JkaW5hbCgpLCBmcmFtZUluZGV4KCkpKQorICAgIGlmIChS
ZXNvdXJjZUxvYWRlciogbG9hZGVyID0gcmVzb3VyY2VMb2FkZXJGb3JPcmRpbmFsKHBhZ2UsIG9y
ZGluYWwoKSwgZnJhbWVJbmRleCgpKSkKICAgICAgICAgbG9hZGVyLT5kaWRSZWNlaXZlRGF0YShi
dWZmZXIoKS0+ZGF0YSgpLCBidWZmZXIoKS0+c2l6ZSgpLCBlbmNvZGVkTGVuZ3RoKCksIERhdGFQ
YXlsb2FkQnl0ZXMpOwogICAgIC8vIEZJWE1FOiBzaWduYWwgZXJyb3IgaWYgdGhlIGNhbGxiYWNr
IGNvdWxkbid0IGJlIGZpcmVkLgogfQogCi12b2lkIFJlc291cmNlTG9hZGVyRGlkUmVjZWl2ZVJl
c3BvbnNlOjpkaXNwYXRjaChSZXBsYXlDb250cm9sbGVyJiBjb250cm9sbGVyKQordm9pZCBSZXNv
dXJjZUxvYWRlckRpZFJlY2VpdmVSZXNwb25zZTo6ZGlzcGF0Y2goUGFnZSYgcGFnZSkKIHsKLSAg
ICBpZiAoUmVzb3VyY2VMb2FkZXIqIGxvYWRlciA9IHJlc291cmNlTG9hZGVyRm9yT3JkaW5hbChj
b250cm9sbGVyLnBhZ2UoKSwgb3JkaW5hbCgpLCBmcmFtZUluZGV4KCkpKQorICAgIGlmIChSZXNv
dXJjZUxvYWRlciogbG9hZGVyID0gcmVzb3VyY2VMb2FkZXJGb3JPcmRpbmFsKHBhZ2UsIG9yZGlu
YWwoKSwgZnJhbWVJbmRleCgpKSkKICAgICAgICAgbG9hZGVyLT5kaWRSZWNlaXZlUmVzcG9uc2Uo
Km1fcmVzcG9uc2UpOwogICAgIC8vIEZJWE1FOiBzaWduYWwgZXJyb3IgaWYgdGhlIGNhbGxiYWNr
IGNvdWxkbid0IGJlIGZpcmVkLgogfQogCi12b2lkIFJlc291cmNlTG9hZGVyRGlkU2VuZERhdGE6
OmRpc3BhdGNoKFJlcGxheUNvbnRyb2xsZXImIGNvbnRyb2xsZXIpCit2b2lkIFJlc291cmNlTG9h
ZGVyRGlkU2VuZERhdGE6OmRpc3BhdGNoKFBhZ2UmIHBhZ2UpCiB7Ci0gICAgaWYgKFJlc291cmNl
TG9hZGVyKiBsb2FkZXIgPSByZXNvdXJjZUxvYWRlckZvck9yZGluYWwoY29udHJvbGxlci5wYWdl
KCksIG9yZGluYWwoKSwgZnJhbWVJbmRleCgpKSkKKyAgICBpZiAoUmVzb3VyY2VMb2FkZXIqIGxv
YWRlciA9IHJlc291cmNlTG9hZGVyRm9yT3JkaW5hbChwYWdlLCBvcmRpbmFsKCksIGZyYW1lSW5k
ZXgoKSkpCiAgICAgICAgIGxvYWRlci0+ZGlkU2VuZERhdGEobV9ieXRlc1NlbnQsIG1fdG90YWxC
eXRlc1RvQmVTZW50KTsKICAgICAvLyBGSVhNRTogc2lnbmFsIGVycm9yIGlmIHRoZSBjYWxsYmFj
ayBjb3VsZG4ndCBiZSBmaXJlZC4KIH0KIAogLy8gT3RoZXIgZXZlbnQgbG9vcCBpbnB1dHMuCi12
b2lkIEFzeW5jVGltZXJGaXJlZDo6ZGlzcGF0Y2goUmVwbGF5Q29udHJvbGxlciYgY29udHJvbGxl
cikKK3ZvaWQgQXN5bmNUaW1lckZpcmVkOjpkaXNwYXRjaChQYWdlJiBwYWdlKQogewotICAgIERv
Y3VtZW50KiBkb2N1bWVudCA9IGRvY3VtZW50RnJvbUZyYW1lSW5kZXgoJmNvbnRyb2xsZXIucGFn
ZSgpLCBtX2ZyYW1lSW5kZXgpOworICAgIERvY3VtZW50KiBkb2N1bWVudCA9IGRvY3VtZW50RnJv
bUZyYW1lSW5kZXgoJnBhZ2UsIG1fZnJhbWVJbmRleCk7CiAgICAgaWYgKCFkb2N1bWVudCB8fCAh
ZG9jdW1lbnQtPnJlcGxheWFibGVUaW1lcnMoKS5maXJlVGltZXIobV9vcmRpbmFsKSkKICAgICAg
ICAgTE9HX0VSUk9SKCIlLTMwcyBSRVBMQVkgRElWRVJHRU5DRSEgQ291bGRuJ3QgZmluZCBhc3lu
YyB0aW1lciAlZC8lIiBQUkl1NjQgIi5cbiIsICJbUmVwbGF5Q29udHJvbGxlcl0iLCBtX2ZyYW1l
SW5kZXgsIG1fb3JkaW5hbCk7CiB9CiAKLXZvaWQgRE9NVGltZXJGaXJlZDo6ZGlzcGF0Y2goUmVw
bGF5Q29udHJvbGxlciYgY29udHJvbGxlcikKK3ZvaWQgRE9NVGltZXJGaXJlZDo6ZGlzcGF0Y2go
UGFnZSYgcGFnZSkKIHsKLSAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBkb2N1bWVudEZyb21GcmFt
ZUluZGV4KCZjb250cm9sbGVyLnBhZ2UoKSwgbV9mcmFtZUluZGV4KTsKKyAgICBEb2N1bWVudCog
ZG9jdW1lbnQgPSBkb2N1bWVudEZyb21GcmFtZUluZGV4KCZwYWdlLCBtX2ZyYW1lSW5kZXgpOwog
ICAgIERPTVRpbWVyKiB0aW1lciA9IGRvY3VtZW50LT5maW5kVGltZW91dChtX3RpbWVySWRlbnRp
Zmllcik7CiAgICAgaWYgKHRpbWVyKQogICAgICAgICB0aW1lci0+ZmlyZWQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlpbmdJbnB1dEN1cnNvci5oIGIvU291cmNl
L1dlYkNvcmUvcmVwbGF5L1JlcGxheWluZ0lucHV0Q3Vyc29yLmgKaW5kZXggOWM3MWY0MTUyN2Rj
NzJlMTc5NjJjNjcyZWMwNTk1ODE5ZWFlZmVjZS4uZjM3OTA2NjhmN2NlOThlOGQ1ODk5NTFmMGQx
YzBhYWE4MjcxYmJlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheWlu
Z0lucHV0Q3Vyc29yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheWluZ0lucHV0
Q3Vyc29yLmgKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2lmIEVOQUJMRShXRUJfUkVQTEFZKQogCisj
aW5jbHVkZSAiRXZlbnRMb29wSW5wdXQuaCIKICNpbmNsdWRlIDxyZXBsYXkvSW5wdXRDdXJzb3Iu
aD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbWljU3Ry
aW5nLmg+CkBAIC00MiwxMSArNDMsNiBAQCBjbGFzcyBFdmVudExvb3BJbnB1dERpc3BhdGNoZXJD
bGllbnQ7CiBjbGFzcyBQYWdlOwogY2xhc3MgUmVwbGF5U2Vzc2lvblNlZ21lbnQ7CiAKLXN0cnVj
dCBFdmVudExvb3BJbnB1dERhdGEgewotICAgIEV2ZW50TG9vcElucHV0QmFzZSogaW5wdXQ7Ci0g
ICAgZG91YmxlIHRpbWVzdGFtcDsKLX07Ci0KIGNsYXNzIFJlcGxheWluZ0lucHV0Q3Vyc29yIGZp
bmFsIDogcHVibGljIElucHV0Q3Vyc29yIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShSZXBs
YXlpbmdJbnB1dEN1cnNvcik7CiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
TWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CmluZGV4IDhhOWNh
M2I1Yzc0ZWRhZGE4OGFjZTMwMTY0YzMzYWY3YWYwOTA4ZjcuLjE1NTNiZTk2YzUyMDM5MTAyN2Iy
ZWI0ZDE2OTgyNDEwNzc4Yzk1OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlz
dHMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0CkBAIC03NjcsNiArNzY3
LDE2IEBAIGlmIChFTkFCTEVfUExVR0lOX1BST0NFU1MpCiAgICAgZW5kaWYgKCkKIGVuZGlmICgp
CiAKK2lmIChFTkFCTEVfV0VCX1JFUExBWSkKKyAgICBsaXN0KEFQUEVORCBXZWJLaXQyX0lOQ0xV
REVfRElSRUNUT1JJRVMKKyAgICAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvUmVwbGF5
IgorICAgICkKKworICAgIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUworICAgICAgICBXZWJQ
cm9jZXNzL1JlcGxheS9XZWJSZXBsYXlDbGllbnQuY3BwCisgICAgKQorZW5kaWYgKCkKKwogUE9Q
VUxBVEVfTElCUkFSWV9WRVJTSU9OKFdFQktJVDIpCiBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoV2Vi
S2l0MiBQUk9QRVJUSUVTIFZFUlNJT04gJHtXRUJLSVQyX1ZFUlNJT059IFNPVkVSU0lPTiAke1dF
QktJVDJfVkVSU0lPTl9NQUpPUn0pCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1OWIyZjg3ZTYxZjAxMTdkMzZjNjhhMzE1M2Qw
MDc0MTRmNjZiYjk5Li5hM2Y2NmQ4OWM2ZjdhNzVjNzdlYTZiOThjNmI5MmU2NjZjMjQ3YmU1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC0xNTcxLDYgKzE1NzEsOCBAQAogCQlDMEUzQUE3QTEyMDlFODMwMDBBNDlEMDEgLyogTW9k
dWxlQ0YuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QzBFM0FBNDgxMjA5RTQ1MDAwQTQ5RDAxIC8qIE1vZHVsZUNGLmNwcCAqLzsgfTsKIAkJQzBFM0FB
N0IxMjA5RTgzNTAwQTQ5RDAxIC8qIE1vZHVsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMEUzQUE0NTEyMDlFMkJBMDBBNDlEMDEgLyogTW9kdWxl
LmNwcCAqLzsgfTsKIAkJQzBFM0FBN0MxMjA5RTgzQzAwQTQ5RDAxIC8qIE1vZHVsZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzBFM0FBNDQxMjA5RTJC
QTAwQTQ5RDAxIC8qIE1vZHVsZS5oICovOyB9OworCQlDNDk0NzRCMDE5QTNGOTNGMDA5QjNERTgg
LyogV2ViUmVwbGF5Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDNDk0NzRBRTE5QTNGOTI0MDA5QjNERTggLyogV2ViUmVwbGF5Q2xpZW50Lmgg
Ki87IH07CisJCUM0OTQ3NEIxMTlBM0Y5NDcwMDlCM0RFOCAvKiBXZWJSZXBsYXlDbGllbnQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzQ5NDc0QUQx
OUEzRjkyNDAwOUIzREU4IC8qIFdlYlJlcGxheUNsaWVudC5jcHAgKi87IH07CiAJCUM1MTczODgx
MTJERjhGNEYwMEVFM0Y0NyAvKiBEcmFnQ29udHJvbGxlckFjdGlvbi5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzUxNzM4ODAxMkRGOEY0RjAwRUUzRjQ3
IC8qIERyYWdDb250cm9sbGVyQWN0aW9uLmggKi87IH07CiAJCUM1MjM3RjYwMTI0NDFDQTMwMDc4
MDQ3MiAvKiBXZWJFZGl0b3JDbGllbnRNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDNTIzN0Y1RjEyNDQxQ0EzMDA3ODA0NzIgLyogV2ViRWRpdG9y
Q2xpZW50TWFjLm1tICovOyB9OwogCQlDNTQyNTZCNTE4QkVDMThDMDBERTQxNzkgLyogV0tGb3Jt
SW5wdXRDb250cm9sLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDNTQyNTZBRjE4QkVDMThCMDBERTQxNzkgLyogV0tGb3JtSW5wdXRDb250cm9sLmggKi87
IH07CkBAIC0zNzE5LDYgKzM3MjEsOCBAQAogCQlDMEUzQUE0NDEyMDlFMkJBMDBBNDlEMDEgLyog
TW9kdWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vZHVsZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMEUzQUE0NTEyMDlFMkJBMDBBNDlEMDEgLyogTW9k
dWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1vZHVsZS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMwRTNBQTQ4MTIwOUU0NTAwMEE0OUQwMSAv
KiBNb2R1bGVDRi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNb2R1
bGVDRi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM0OTQ3NEFEMTlBM0Y5MjQw
MDlCM0RFOCAvKiBXZWJSZXBsYXlDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gV2ViUmVwbGF5Q2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQzQ5NDc0QUUxOUEzRjkyNDAwOUIzREU4IC8qIFdlYlJlcGxheUNsaWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJSZXBsYXlDbGllbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzUxNzM4ODAxMkRGOEY0RjAwRUUzRjQ3IC8qIERyYWdDb250
cm9sbGVyQWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERyYWdDb250
cm9sbGVyQWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM1MjM3RjVGMTI0
NDFDQTMwMDc4MDQ3MiAvKiBXZWJFZGl0b3JDbGllbnRNYWMubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJFZGl0b3JDbGllbnRNYWMubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUM1NDI1NkFGMThCRUMxOEIwMERFNDE3OSAvKiBXS0Zvcm1JbnB1
dENvbnRyb2wuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV0tGb3JtSW5wdXRD
b250cm9sLmg7IHBhdGggPSBpb3MvZm9ybXMvV0tGb3JtSW5wdXRDb250cm9sLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01ODEyLDYgKzU4MTYsOCBAQAogCQkJCUQzQjk0ODQzMTFG
RjRCNjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUuaCAqLywKIAkJCQkxQTFFMDkzMTE4ODYxRDM4
MDBEMkRDNDkgLyogV2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmNwcCAqLywKIAkJCQkxQTFFMDkz
MjE4ODYxRDM4MDBEMkRDNDkgLyogV2ViUHJvZ3Jlc3NUcmFja2VyQ2xpZW50LmggKi8sCisJCQkJ
QzQ5NDc0QUQxOUEzRjkyNDAwOUIzREU4IC8qIFdlYlJlcGxheUNsaWVudC5jcHAgKi8sCisJCQkJ
QzQ5NDc0QUUxOUEzRjkyNDAwOUIzREU4IC8qIFdlYlJlcGxheUNsaWVudC5oICovLAogCQkJCUQz
Qjk0ODQ0MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJTZWFyY2hQb3B1cE1lbnUuY3BwICovLAogCQkJ
CUQzQjk0ODQ1MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJTZWFyY2hQb3B1cE1lbnUuaCAqLywKIAkJ
CQlDRURCQTg0NTE5RkRBMDBBMDA2ODY2QTUgLyogV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyLmNw
cCAqLywKQEAgLTc3NzMsNiArNzc3OSw3IEBACiAJCQkJQTFDNTEyQzkxOTA2NTZFNTAwNDQ4OTE0
IC8qIFdlYlF1aWNrTG9va0hhbmRsZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzc5NDg0
MDQxNTBDMzUwNjAwRTUyQ0U5IC8qIFdlYlJlbmRlckxheWVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkzNzYwODgxRjE1MDQxM0U5MDBGQzgyQzcgLyogV2ViUmVuZGVyT2JqZWN0LmggaW4gSGVhZGVy
cyAqLywKKwkJCQlDNDk0NzRCMDE5QTNGOTNGMDA5QjNERTggLyogV2ViUmVwbGF5Q2xpZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQkzMzM2NzYzMDEzMEM5OTk4MDA2QzlERTIgLyogV2ViUmVzb3Vy
Y2VDYWNoZU1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTMzMzY3NjU2MTMwQzlFQ0EwMDZD
OURFMiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywK
IAkJCQkzMzM2NzYzNjEzMEM5OUIyMDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQ
cm94eS5oIGluIEhlYWRlcnMgKi8sCkBAIC05NTE2LDYgKzk1MjMsNyBAQAogCQkJCUExQzUxMkM4
MTkwNjU2RTUwMDQ0ODkxNCAvKiBXZWJRdWlja0xvb2tIYW5kbGVDbGllbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMzc5NDg0MDMxNTBDMzUwNjAwRTUyQ0U5IC8qIFdlYlJlbmRlckxheWVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTM3NjA4ODFFMTUwNDEzRTkwMEZDODJDNyAvKiBXZWJSZW5k
ZXJPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQzQ5NDc0QjExOUEzRjk0NzAwOUIzREU4
IC8qIFdlYlJlcGxheUNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMzM2NzYyRjEzMEM5
OTk4MDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMzNGOUQ1QjkxMzEyRjFFRTAwMEQ2ODNGIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2Vy
Q0ZOZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzMzNjc2NTUxMzBDOUVDQTAwNkM5REUyIC8q
IFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICov
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJSZXBsYXlDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJSZXBsYXlDbGllbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3YzZhMmJlYjk1YjY5YzFiMjYz
OTkzZjYwY2IzYTk5MjJlODdmMDcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlJlcGxheUNsaWVudC5jcHAKQEAgLTAsMCArMSw0
NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24u
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJSZXBsYXlDbGllbnQu
aCIKKworI2lmIEVOQUJMRShXRUJfUkVQTEFZKQorCisjaW5jbHVkZSAiV2ViUGFnZS5oIgorI2lu
Y2x1ZGUgPFdlYkNvcmUvRXZlbnRMb29wSW5wdXQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1JlcGxh
eUNvbnRyb2xsZXIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQgV2ViUmVwbGF5Q2xp
ZW50OjpkaXNwYXRjaElucHV0KFdlYkNvcmU6OkV2ZW50TG9vcElucHV0QmFzZSYgaW5wdXQpCit7
CisgICAgaW5wdXQuZGlzcGF0Y2goKm1fcGFnZS0+Y29yZVBhZ2UoKSk7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SRVBMQVkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlJlcGxheUNsaWVu
dC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJSZXBsYXlD
bGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jZWU0NGMzZDM5MjhkMzc4YmU2ODgzYzJiZTE1MGEwZjg2YzYx
OTA0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJSZXBsYXlDbGllbnQuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE0IFVuaXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBX
ZWJSZXBsYXlDbGllbnRfaAorI2RlZmluZSBXZWJSZXBsYXlDbGllbnRfaAorCisjaWYgRU5BQkxF
KFdFQl9SRVBMQVkpCisKKyNpbmNsdWRlIDxXZWJDb3JlL1JlcGxheUNsaWVudC5oPgorCituYW1l
c3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViUGFnZTsKKworY2xhc3MgV2ViUmVwbGF5Q2xpZW50
IDogcHVibGljIFdlYkNvcmU6OlJlcGxheUNsaWVudCB7CitwdWJsaWM6CisgICAgV2ViUmVwbGF5
Q2xpZW50KFdlYlBhZ2UqIHBhZ2UpCisgICAgICAgIDogbV9wYWdlKHBhZ2UpCisgICAgeworICAg
IH0KKworcHJpdmF0ZToKKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hJbnB1dChXZWJDb3JlOjpF
dmVudExvb3BJbnB1dEJhc2UmKSBvdmVycmlkZTsKKworICAgIFdlYlBhZ2UqIG1fcGFnZTsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxFKFdFQl9SRVBMQVkp
CisKKyNlbmRpZiAvLyBXZWJSZXBsYXlDbGllbnRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDllMzZmNzg2MTVkYzFjMzVjMmY1NzYwZDEx
NjM2NjI3OGQyNWZhNzcuLjYyOTE3ZGZhMWViN2JiNTFhOTU0NjJmZmE5MjRlYzQxNWZmM2QxYjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAg
LTE4NCw2ICsxODQsMTAgQEAKICNpbmNsdWRlICJXZWJEZXZpY2VQcm94aW1pdHlDbGllbnQuaCIK
ICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCisjaW5jbHVkZSAiV2ViUmVwbGF5Q2xp
ZW50LmgiCisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKENPQ09BKQogI2luY2x1ZGUgIlBERlBsdWdp
bi5oIgogI2luY2x1ZGUgIlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmgiCkBAIC0zNjQsNiAr
MzY4LDkgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0IFdlYlBhZ2VD
cmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiAgICAgbV9pbnNwZWN0b3JDbGllbnQgPSBu
ZXcgV2ViSW5zcGVjdG9yQ2xpZW50KHRoaXMpOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLmluc3Bl
Y3RvckNsaWVudCA9IG1faW5zcGVjdG9yQ2xpZW50OwogI2VuZGlmCisjaWYgRU5BQkxFKFdFQl9S
RVBMQVkpCisgICAgcGFnZUNvbmZpZ3VyYXRpb24ucmVwbGF5Q2xpZW50ID0gbmV3IFdlYlJlcGxh
eUNsaWVudCh0aGlzKTsKKyNlbmRpZgogI2lmIFVTRShBVVRPQ09SUkVDVElPTl9QQU5FTCkKICAg
ICBwYWdlQ29uZmlndXJhdGlvbi5hbHRlcm5hdGl2ZVRleHRDbGllbnQgPSBuZXcgV2ViQWx0ZXJu
YXRpdmVUZXh0Q2xpZW50KHRoaXMpOwogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244749</attachid>
            <date>2015-01-15 21:11:02 -0800</date>
            <delta_ts>2016-03-14 11:45:57 -0700</delta_ts>
            <desc>Proposed Fix</desc>
            <filename>bug-140445-20150115211108.patch</filename>
            <type>text/plain</type>
            <size>39531</size>
            <attacher name="Brian Burg">burg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4NDg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
NWUyYjc4Yjg5NmE4YmFhZTlhNDE0NGJkZmY3M2UzYjNmZmZlYTkwLi4yMGFkMTE3OTAxNjUzMzc5
MjUwZTEzYzU1NWNhY2I1ZDRkNDVjYjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxNS0wMS0xNSAgQnJpYW4gSi4gQnVyZyAgPGJ1cmdAY3Mud2FzaGluZ3Rv
bi5lZHU+CisKKyAgICAgICAgV2ViIFJlcGxheTogY3JlYXRlIGEgUmVwbGF5Q2xpZW50IGZvciBQ
YWdlIGFuZCBkaXNwYXRjaCBpbnB1dHMgdGhyb3VnaCBpdAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwNDQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIHRoZSBnZW5lcmF0ZWQgZGlzcGF0Y2go
KSBtZXRob2Qgc2lnbmF0dXJlcy4KKworICAgICAgICAqIHJlcGxheS9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JSZXBsYXlJbnB1dHMucHk6CisgICAgICAgIChHZW5lcmF0b3IuZ2VuZXJhdGVfY2xhc3Nf
ZGVjbGFyYXRpb24pOgorICAgICAgICAqIHJlcGxheS9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2dl
bmVyYXRlLWVudW0td2l0aC1ndWFyZC5qc29uLVRlc3RSZXBsYXlJbnB1dHMuaDoKKwogMjAxNS0w
MS0xNCAgTWF0dGhldyBNaXJtYW4gIDxtbWlybWFuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1v
dmVkIGFjY2lkZW50YWwgY29tbWl0IG9mICJpbnZhbGlkX2FycmF5LmpzIiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCA0MGFhOTFkNTY4MWIxZTAwNmIzNDc0ZDE4NjE5YzFjOGQ2ZjVlY2M1Li5mZWVjYzY0NmNiZGMy
MDdkMDY5MmQ0Yzk3NDMwM2YxZmY4YmY4MTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTQgQEAK
KzIwMTUtMDEtMTQgIEJyaWFuIEouIEJ1cmcgIDxidXJnQGNzLndhc2hpbmd0b24uZWR1PgorCisg
ICAgICAgIFdlYiBSZXBsYXk6IGNyZWF0ZSBhIFJlcGxheUNsaWVudCBmb3IgUGFnZSBhbmQgZGlz
cGF0Y2ggaW5wdXRzIHRocm91Z2ggaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE0MDQ0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFJpZ2h0IG5vdyBhbGwgZGlzcGF0Y2hhYmxlIGlucHV0cyBhcmUgZGlz
cGF0Y2hlZCBmcm9tIFdlYkNvcmUgdXNpbmcgUGFnZSwgYnV0CisgICAgICAgIHdlIHdhbnQgdG8g
YmUgYWJsZSB0byBkaXNwYXRjaCBzb21lIFdLMi1vbmx5IGlucHV0cyBmcm9tIFdlYktpdDIgdXNp
bmcgV2ViUGFnZSYuCisgICAgICAgIEFzIGEgZmlyc3Qgc3RlcCwgdGhpcyBwYXRjaCBjcmVhdGVz
IGEgUmVwbGF5Q2xpZW50IGludGVyZmFjZSB0aGF0IGRlbGVnYXRlcworICAgICAgICBkaXNwYXRj
aGluZyBpbnB1dHMgdG8gYSBXZWJQYWdlJ3MgV2ViUmVwbGF5Q2xpZW50LgorCisgICAgICAgIFNp
bmNlIGFsbCBkaXNwYXRjaGFibGUgaW5wdXRzIHVzZSBQYWdlJiBmcm9tIFJlcGxheUNvbnRyb2xs
ZXIsIGNoYW5nZSBkaXNwYXRjaCgpIHRvCisgICAgICAgIHRha2UgYSBQYWdlJiBhcmd1bWVudCBp
bnN0ZWFkLiBBIGZvbGxvd3VwIHBhdGNoIHdpbGwgaW50cm9kdWNlIHRoZSBub3Rpb24gb2YKKyAg
ICAgICAgZGlzcGF0Y2hpbmcgd2l0aCBkaWZmZXJlbnQgY29udGV4dCBhcmd1bWVudHMgKFdlYlBh
Z2Ugb3IgUGFnZSkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2Vk
LgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAg
ICAqIGxvYWRlci9FbXB0eUNsaWVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZmlsbFdpdGhF
bXB0eUNsaWVudHMpOgorICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkVtcHR5UmVwbGF5Q2xpZW50OjpFbXB0eVJlcGxheUNsaWVudCk6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6RW1wdHlSZXBsYXlDbGllbnQ6On5FbXB0eVJlcGxheUNsaWVudCk6
IEFkZGVkLgorICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdl
OjpQYWdlKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25maWd1cmF0aW9uLmg6CisgICAgICAgICog
cmVwbGF5L0V2ZW50TG9vcElucHV0Lmg6CisgICAgICAgICogcmVwbGF5L0V2ZW50TG9vcElucHV0
RGlzcGF0Y2hlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudExvb3BJbnB1dERpc3BhdGNo
ZXI6OmRpc3BhdGNoSW5wdXQpOiBkZWxlZ2F0ZSB0byBSZXBsYXlDbGllbnQgd2hlbgorICAgICAg
ICBkaXNwYXRjaGluZyBpbnB1dHMgZHVyaW5nIHBsYXliYWNrLgorICAgICAgICAqIHJlcGxheS9F
dmVudExvb3BJbnB1dERpc3BhdGNoZXIuaDoKKyAgICAgICAgKiByZXBsYXkvUmVwbGF5Q2xpZW50
Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVwbGF5Q2xpZW50Ojp+UmVwbGF5Q2xpZW50
KTogQWRkZWQuCisgICAgICAgICogcmVwbGF5L1JlcGxheUNvbnRyb2xsZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVwbGF5Q29udHJvbGxlcjo6UmVwbGF5Q29udHJvbGxlcik6CisgICAgICAg
IChXZWJDb3JlOjpSZXBsYXlDb250cm9sbGVyOjpjcmVhdGVTZWdtZW50KTogZGlzcGF0Y2ggc3lu
dGhldGljIGlucHV0cyB0aHJvdWdoIFJlcGxheUNsaWVudC4KKyAgICAgICAgKiByZXBsYXkvUmVw
bGF5Q29udHJvbGxlci5oOgorICAgICAgICAqIHJlcGxheS9SZXBsYXlJbnB1dERpc3BhdGNoTWV0
aG9kcy5jcHA6IFBhc3MgUGFnZSYgaW5zdGVhZCBvZiBSZXBsYXlDb250cm9sbGVyLgorICAgICAg
ICAoV2ViQ29yZTo6QmVnaW5TZWdtZW50U2VudGluZWw6OmRpc3BhdGNoKToKKyAgICAgICAgKFdl
YkNvcmU6OkVuZFNlZ21lbnRTZW50aW5lbDo6ZGlzcGF0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6
SW5pdGlhbE5hdmlnYXRpb246OmRpc3BhdGNoKToKKyAgICAgICAgKFdlYkNvcmU6OkhhbmRsZUtl
eVByZXNzOjpkaXNwYXRjaCk6CisgICAgICAgIChXZWJDb3JlOjpIYW5kbGVNb3VzZU1vdmU6OmRp
c3BhdGNoKToKKyAgICAgICAgKFdlYkNvcmU6OkhhbmRsZU1vdXNlUHJlc3M6OmRpc3BhdGNoKToK
KyAgICAgICAgKFdlYkNvcmU6OkhhbmRsZU1vdXNlUmVsZWFzZTo6ZGlzcGF0Y2gpOgorICAgICAg
ICAoV2ViQ29yZTo6SGFuZGxlV2hlZWxFdmVudDo6ZGlzcGF0Y2gpOgorICAgICAgICAoV2ViQ29y
ZTo6TG9naWNhbFNjcm9sbFBhZ2U6OmRpc3BhdGNoKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bFBhZ2U6OmRpc3BhdGNoKToKKyAgICAgICAgKiByZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3Iu
aDogTW92ZSBFdmVudExvb3BJbnB1dERhdGEgdG8gRXZlbnRMb29wSW5wdXQuaAorCiAyMDE1LTAx
LTE0ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFtNYWNdW01T
RV0gU3RhbGxlZCBZb3VUdWJlIHBsYXliYWNrIGRvZXMgbm90IGFsbG93IGRpc3BsYXkgdG8gc2xl
ZXAuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKaW5kZXggMjNlMGI2MDBiOGU2OWJlNDk5OWQyMWU5YzEyMzMwZWFjOWQ4NjY0
OS4uMjZlMTljY2M2NTU1OTQ1NWQ5MDAwODA1OTlkOWUxYzg0NmVjNjIyOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDIyIEBACisyMDE1LTAxLTE0ICBCcmlhbiBKLiBCdXJnICA8YnVyZ0Bjcy53YXNo
aW5ndG9uLmVkdT4KKworICAgICAgICBXZWIgUmVwbGF5OiBjcmVhdGUgYSBSZXBsYXlDbGllbnQg
Zm9yIFBhZ2UgYW5kIGRpc3BhdGNoIGlucHV0cyB0aHJvdWdoIGl0CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDA0NDUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBXZWJSZXBsYXlDbGllbnQgaW1w
bGVtZW50YXRpb24gYW5kIHByb3ZpZGUgaXQgdG8gV2ViUGFnZS4gRm9yIG5vdywgaXQKKyAgICAg
ICAgZGlzcGF0Y2hlcyBhbGwgaW5wdXRzIHRoZSBzYW1lIHdheSBhcyBiZWZvcmUgKHdpdGggV2Vi
Q29yZSBjb250ZXh0KS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIFdl
YktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYlJlcGxheUNsaWVudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0
OjpXZWJSZXBsYXlDbGllbnQ6OmRpc3BhdGNoSW5wdXQpOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlJlcGxheUNsaWVudC5oOiBBZGRlZC4KKyAgICAgICAg
KFdlYktpdDo6V2ViUmVwbGF5Q2xpZW50OjpXZWJSZXBsYXlDbGllbnQpOiBBZGRlZC4KKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6OldlYlBhZ2UpOgorCiAyMDE1LTAxLTE0ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgQ29udmVydCBXS1VzZXJTY3JpcHQgdG8gYmUgYW4gQVBJOjpPYmplY3Qg
YnJpZGdlZCBvYmplY3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9yZXBsYXkv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yUmVwbGF5SW5wdXRzLnB5IGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3JlcGxheS9zY3JpcHRzL0NvZGVHZW5lcmF0b3JSZXBsYXlJbnB1dHMucHkKaW5kZXggNjVm
NTQ5YWViMzc3ZjJlY2VhYWJkOTU5Mzc3MTAyZmZiMTViNjNhNS4uN2QxYjQwODJmZDFjMjhmZDJm
ODNkYmQ1ZjdkNTZmMmIzMjQ4ZGFhMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3JlcGxheS9zY3JpcHRzL0NvZGVHZW5lcmF0b3JSZXBsYXlJbnB1dHMucHkKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3JlcGxheS9zY3JpcHRzL0NvZGVHZW5lcmF0b3JSZXBsYXlJbnB1dHMu
cHkKQEAgLTY5OCw3ICs2OTgsNyBAQCBjbGFzcyBHZW5lcmF0b3I6CiAgICAgICAgICAgICBleHRy
YV9kZWNsYXJhdGlvbnMuZXh0ZW5kKFsKICAgICAgICAgICAgICAgICAiIiwKICAgICAgICAgICAg
ICAgICAiICAgIC8vIEV2ZW50TG9vcElucHV0IEFQSSIsCi0gICAgICAgICAgICAgICAgIiAgICB2
aXJ0dWFsIHZvaWQgZGlzcGF0Y2goUmVwbGF5Q29udHJvbGxlciYpIG92ZXJyaWRlIGZpbmFsOyIs
CisgICAgICAgICAgICAgICAgIiAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2goUGFnZSYpIG92ZXJy
aWRlIGZpbmFsOyIsCiAgICAgICAgICAgICBdKQogCiAgICAgICAgICAgICBpZiBfaW5wdXQuc2V0
dGluZygnQ1JFQVRFX0ZST01fUEFHRScpOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3JlcGxheS9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2dlbmVyYXRlLWVudW0td2l0aC1ndWFy
ZC5qc29uLVRlc3RSZXBsYXlJbnB1dHMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9yZXBsYXkv
c2NyaXB0cy90ZXN0cy9leHBlY3RlZC9nZW5lcmF0ZS1lbnVtLXdpdGgtZ3VhcmQuanNvbi1UZXN0
UmVwbGF5SW5wdXRzLmgKaW5kZXggMzcxMjljNGI1Mzk0MmQ2NWEzZTc1YWYyNGNmYTQwZTUwMWE1
MmU3NS4uNjM0YjE5NzIxMDEyYzRkZWJlMDU1YTEwYmUyZTQ4MWFlYTZhOTI0NCAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3JlcGxheS9zY3JpcHRzL3Rlc3RzL2V4cGVjdGVkL2dl
bmVyYXRlLWVudW0td2l0aC1ndWFyZC5qc29uLVRlc3RSZXBsYXlJbnB1dHMuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcmVwbGF5L3NjcmlwdHMvdGVzdHMvZXhwZWN0ZWQvZ2VuZXJhdGUt
ZW51bS13aXRoLWd1YXJkLmpzb24tVGVzdFJlcGxheUlucHV0cy5oCkBAIC02OSw3ICs2OSw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIH5IYW5kbGVXaGVlbEV2ZW50KCk7CiAKICAgICAvLyBFdmVu
dExvb3BJbnB1dCBBUEkKLSAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2goUmVwbGF5Q29udHJvbGxl
ciYpIG92ZXJyaWRlIGZpbmFsOworICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaChQYWdlJikgb3Zl
cnJpZGUgZmluYWw7CiAgICAgY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiBwbGF0Zm9ybUV2ZW50
KCkgY29uc3QgeyByZXR1cm4gKm1fcGxhdGZvcm1FdmVudDsgfQogcHJpdmF0ZToKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8UGxhdGZvcm1XaGVlbEV2ZW50PiBtX3BsYXRmb3JtRXZlbnQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggODBj
YmFkMzAxODNmN2MxNjk2OGZmZWJjZDA4YzIzMTg1YzE3Y2Q4Ni4uNzNkMjA1ODQ4ZDgwYzcwNTA2
OTg1NDkzMzkxZmU3NzM5NTE1Y2JhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzY1NCwxMCArMzY1NCwxMCBAQAogCQk5OUND
MEI0RTE4QkU5ODQ5MDA2Q0VCQ0MgLyogQ2FwdHVyaW5nSW5wdXRDdXJzb3IuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTlDQzBCMzkxOEJFOTg0OTAw
NkNFQkNDIC8qIENhcHR1cmluZ0lucHV0Q3Vyc29yLmNwcCAqLzsgfTsKIAkJOTlDQzBCNEYxOEJF
OTg0OTAwNkNFQkNDIC8qIENhcHR1cmluZ0lucHV0Q3Vyc29yLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OUNDMEIzQTE4QkU5ODQ5MDA2Q0VCQ0MgLyog
Q2FwdHVyaW5nSW5wdXRDdXJzb3IuaCAqLzsgfTsKIAkJOTlDQzBCNTAxOEJFOTg0OTAwNkNFQkND
IC8qIEV2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OUNDMEIzQjE4QkU5ODQ5MDA2Q0VCQ0MgLyogRXZlbnRM
b29wSW5wdXREaXNwYXRjaGVyLmNwcCAqLzsgfTsKLQkJOTlDQzBCNTExOEJFOTg0OTAwNkNFQkND
IC8qIEV2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTlDQzBCM0MxOEJFOTg0OTAwNkNFQkNDIC8qIEV2ZW50TG9v
cElucHV0RGlzcGF0Y2hlci5oICovOyB9OworCQk5OUNDMEI1MTE4QkU5ODQ5MDA2Q0VCQ0MgLyog
RXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5OUNDMEIzQzE4QkU5ODQ5MDA2Q0VCQ0MgLyogRXZlbnRMb29wSW5w
dXREaXNwYXRjaGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJOTlDQzBCNTIxOEJFOTg0OTAwNkNFQkNDIC8qIEZ1bmN0b3JJbnB1dEN1cnNvci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTlDQzBCM0Qx
OEJFOTg0OTAwNkNFQkNDIC8qIEZ1bmN0b3JJbnB1dEN1cnNvci5oICovOyB9OwogCQk5OUNDMEI1
MzE4QkU5ODQ5MDA2Q0VCQ0MgLyogUmVwbGF5Q29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OUNDMEIzRTE4QkU5ODQ5MDA2Q0VCQ0Mg
LyogUmVwbGF5Q29udHJvbGxlci5jcHAgKi87IH07Ci0JCTk5Q0MwQjU0MThCRTk4NDkwMDZDRUJD
QyAvKiBSZXBsYXlDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5OUNDMEIzRjE4QkU5ODQ5MDA2Q0VCQ0MgLyogUmVwbGF5Q29udHJvbGxl
ci5oICovOyB9OworCQk5OUNDMEI1NDE4QkU5ODQ5MDA2Q0VCQ0MgLyogUmVwbGF5Q29udHJvbGxl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTlDQzBC
M0YxOEJFOTg0OTAwNkNFQkNDIC8qIFJlcGxheUNvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5OUNDMEI1NTE4QkU5ODQ5MDA2Q0VC
Q0MgLyogUmVwbGF5aW5nSW5wdXRDdXJzb3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTlDQzBCNDAxOEJFOTg0OTAwNkNFQkNDIC8qIFJlcGxheWlu
Z0lucHV0Q3Vyc29yLmNwcCAqLzsgfTsKIAkJOTlDQzBCNTYxOEJFOTg0QTAwNkNFQkNDIC8qIFJl
cGxheWluZ0lucHV0Q3Vyc29yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5OUNDMEI0MTE4QkU5ODQ5MDA2Q0VCQ0MgLyogUmVwbGF5aW5nSW5wdXRDdXJz
b3IuaCAqLzsgfTsKIAkJOTlDQzBCNTcxOEJFOTg0QTAwNkNFQkNDIC8qIFJlcGxheUlucHV0Q3Jl
YXRpb25NZXRob2RzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDk5Q0MwQjQyMThCRTk4NDkwMDZDRUJDQyAvKiBSZXBsYXlJbnB1dENyZWF0aW9uTWV0
aG9kcy5jcHAgKi87IH07CkBAIC0zNjc0LDcgKzM2NzQsNyBAQAogCQk5OUNDMEI2NzE4QkU5RjE1
MDA2Q0VCQ0MgLyogSW5zcGVjdG9yUmVwbGF5QWdlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5Q0MwQjY1MThCRTlGMTUwMDZDRUJDQyAvKiBJbnNw
ZWN0b3JSZXBsYXlBZ2VudC5oICovOyB9OwogCQk5OUNDMEI2QTE4QkVBMUZGMDA2Q0VCQ0MgLyog
V2ViUmVwbGF5SW5wdXRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDk5Q0MwQjY4MThCRUExRkYwMDZDRUJDQyAvKiBXZWJSZXBsYXlJbnB1dHMuY3Bw
ICovOyB9OwogCQk5OUNDMEI2QjE4QkVBMUZGMDA2Q0VCQ0MgLyogV2ViUmVwbGF5SW5wdXRzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OUNDMEI2OTE4
QkVBMUZGMDA2Q0VCQ0MgLyogV2ViUmVwbGF5SW5wdXRzLmggKi87IH07Ci0JCTk5RTQ1QTE3MThB
MDYzQkUwMDI2RDg4RiAvKiBFdmVudExvb3BJbnB1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTlFNDVBMTYxOEEwNjNCRTAwMjZEODhGIC8qIEV2ZW50
TG9vcElucHV0LmggKi87IH07CisJCTk5RTQ1QTE3MThBMDYzQkUwMDI2RDg4RiAvKiBFdmVudExv
b3BJbnB1dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTlFNDVBMTYxOEEwNjNCRTAwMjZEODhGIC8qIEV2ZW50TG9vcElucHV0LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOUExMTQyMDQxODMyRDEzNTAw
MEJCOEFEIC8qIFZhbHVlVG9TdHJpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDlBMTE0MjAzMTgzMkQxMzQwMDBCQjhBRCAvKiBWYWx1ZVRvU3RyaW5n
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJOUEx
QjZGOTcxNTg4NjlDODAwMTFBOEM0IC8qIEpTRE9NU3RyaW5nTGlzdEN1c3RvbS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QTFCNkY5NjE1ODg2OUM4
MDAxMUE4QzQgLyogSlNET01TdHJpbmdMaXN0Q3VzdG9tLmNwcCAqLzsgfTsKIAkJOUE1MjhFODMx
N0Q3RjUyRjAwQUE5NTE4IC8qIEZsb2F0aW5nT2JqZWN0cy5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QTUyOEU4MTE3RDdGNTJGMDBBQTk1MTggLyog
RmxvYXRpbmdPYmplY3RzLmNwcCAqLzsgfTsKQEAgLTU1NDQsNiArNTU0NCw3IEBACiAJCUMzQ0Yx
N0E2MTVCMDA2M0YwMDI3NkQzOSAvKiBJZFRhcmdldE9ic2VydmVyUmVnaXN0cnkuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzNDRjE3QTIxNUIwMDYz
RjAwMjc2RDM5IC8qIElkVGFyZ2V0T2JzZXJ2ZXJSZWdpc3RyeS5jcHAgKi87IH07CiAJCUMzQ0Yx
N0E3MTVCMDA2M0YwMDI3NkQzOSAvKiBJZFRhcmdldE9ic2VydmVyUmVnaXN0cnkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMzQ0YxN0EzMTVCMDA2M0Yw
MDI3NkQzOSAvKiBJZFRhcmdldE9ic2VydmVyUmVnaXN0cnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDNDAwRDEwOTE4RjFDOEY2MDA5MEQ4NjMg
LyogRXZlbnRMb29wSW5wdXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQzQwMEQxMDgxOEYxQzhGNjAwOTBEODYzIC8qIEV2ZW50TG9vcElucHV0LmNw
cCAqLzsgfTsKKwkJQzQ0ODFBNkUxQTY3OUI2RDAwRTI5QjBBIC8qIFJlcGxheUNsaWVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzQ0ODFBNkQxQTY3
OUI2RDAwRTI5QjBBIC8qIFJlcGxheUNsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUM0Q0Q2MjlBMTgzODM3NjYwMDdFQkFGMSAvKiBGcmFt
ZVNuYXBzaG90dGluZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDNENENjI5ODE4MzgzNzY2MDA3RUJBRjEgLyogRnJhbWVTbmFwc2hvdHRpbmcuY3Bw
ICovOyB9OwogCQlDNENENjI5QjE4MzgzNzY2MDA3RUJBRjEgLyogRnJhbWVTbmFwc2hvdHRpbmcu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM0Q0Q2Mjk5
MTgzODM3NjYwMDdFQkFGMSAvKiBGcmFtZVNuYXBzaG90dGluZy5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUM1MEQwRTgzMEZGNDI3MjkwMEFDMjY0
NCAvKiBTdG9yYWdlTmFtZXNwYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDNTBEMEU4MTBGRjQyNzI5MDBBQzI2NDQgLyogU3RvcmFnZU5hbWVzcGFj
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0x
Mjk2Nyw2ICsxMjk2OCw3IEBACiAJCUMzQ0YxN0EzMTVCMDA2M0YwMDI3NkQzOSAvKiBJZFRhcmdl
dE9ic2VydmVyUmVnaXN0cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSWRU
YXJnZXRPYnNlcnZlclJlZ2lzdHJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMz
RTYxQzY1M0E2NDgwN0E4M0U3NkZCOCAvKiBNYXRoTUxNZW5jbG9zZUVsZW1lbnQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWF0aE1MTWVuY2xvc2VFbGVtZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzQwMEQxMDgxOEYxQzhGNjAwOTBEODYz
IC8qIEV2ZW50TG9vcElucHV0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEV2ZW50TG9vcElucHV0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzQ0
ODFBNkQxQTY3OUI2RDAwRTI5QjBBIC8qIFJlcGxheUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBSZXBsYXlDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQzRDRDYyOTgxODM4Mzc2NjAwN0VCQUYxIC8qIEZyYW1lU25hcHNob3R0aW5nLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZyYW1lU25hcHNob3R0aW5nLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzRDRDYyOTkxODM4Mzc2NjAwN0VCQUYx
IC8qIEZyYW1lU25hcHNob3R0aW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEZyYW1lU25hcHNob3R0aW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM1MEQw
RTgxMEZGNDI3MjkwMEFDMjY0NCAvKiBTdG9yYWdlTmFtZXNwYWNlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFN0b3JhZ2VOYW1lc3BhY2UuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTE4NDAzLDYgKzE4NDA1LDcgQEAKIAkJCQk5OUNDMEIzRDE4QkU5ODQ5MDA2
Q0VCQ0MgLyogRnVuY3RvcklucHV0Q3Vyc29yLmggKi8sCiAJCQkJOTlDN0NDQjQxOEM2Qjg5OTAw
MzJFNDEzIC8qIE1lbW9pemVkRE9NUmVzdWx0LmNwcCAqLywKIAkJCQk5OUM3Q0NCMjE4QzY2M0U0
MDAzMkU0MTMgLyogTWVtb2l6ZWRET01SZXN1bHQuaCAqLywKKwkJCQlDNDQ4MUE2RDFBNjc5QjZE
MDBFMjlCMEEgLyogUmVwbGF5Q2xpZW50LmggKi8sCiAJCQkJOTlDQzBCM0UxOEJFOTg0OTAwNkNF
QkNDIC8qIFJlcGxheUNvbnRyb2xsZXIuY3BwICovLAogCQkJCTk5Q0MwQjNGMThCRTk4NDkwMDZD
RUJDQyAvKiBSZXBsYXlDb250cm9sbGVyLmggKi8sCiAJCQkJOTlDQzBCNDAxOEJFOTg0OTAwNkNF
QkNDIC8qIFJlcGxheWluZ0lucHV0Q3Vyc29yLmNwcCAqLywKQEAgLTI1NjI5LDYgKzI1NjMyLDcg
QEAKIAkJCQkzNzkxOUMyNDBCN0QxODg2MDBBNTY5OTggLyogUG9zaXRpb25JdGVyYXRvci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTc0NkFGMzIxNEY0RERFNjAwM0U3QTcwIC8qIFBvc2l0aW9uT3B0
aW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzBGMkE0NDExMzg2OUFBQjAwNjZDNTM0IC8qIHBy
ZXByb2Nlc3Nvci5wbSBpbiBIZWFkZXJzICovLAorCQkJCUM0NDgxQTZFMUE2NzlCNkQwMEUyOUIw
QSAvKiBSZXBsYXlDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUI3MUZFNkRGMTEwOTFDQjMw
MERBRUY3NyAvKiBQcmludENvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4RUE3RUJDMEEx
OTQ1RDAwMEE4RUY1RiAvKiBQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaCBpbiBIZWFkZXJzICovLAog
CQkJCUU0NDYxM0VDMENENjgxQjUwMEZBREE3NSAvKiBQcm9ncmVzc0V2ZW50LmggaW4gSGVhZGVy
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKaW5kZXggODlkNTQ4Njgz
YzJkMjk4ZWQ4OWU5M2I0M2Q0OTUzODUzN2FkZmEwZC4uZjJhZjNmNzA0NzcyNzZiOGJlOWQ0ODU1
ZGMxMDA0Mjk3ZDI5N2RmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAK
QEAgLTExMyw2ICsxMTMsMTEgQEAgdm9pZCBmaWxsV2l0aEVtcHR5Q2xpZW50cyhQYWdlQ29uZmln
dXJhdGlvbiYgcGFnZUNvbmZpZ3VyYXRpb24pCiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEVt
cHR5SW5zcGVjdG9yQ2xpZW50PiBkdW1teUluc3BlY3RvckNsaWVudDsKICAgICBwYWdlQ29uZmln
dXJhdGlvbi5pbnNwZWN0b3JDbGllbnQgPSAmZHVtbXlJbnNwZWN0b3JDbGllbnQuZ2V0KCk7CiAK
KyNpZiBFTkFCTEUoV0VCX1JFUExBWSkKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8RW1wdHlS
ZXBsYXlDbGllbnQ+IGR1bW15UmVwbGF5Q2xpZW50OworICAgIHBhZ2VDb25maWd1cmF0aW9uLnJl
cGxheUNsaWVudCA9ICZkdW1teVJlcGxheUNsaWVudC5nZXQoKTsKKyNlbmRpZgorCiAgICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPEVtcHR5RnJhbWVMb2FkZXJDbGllbnQ+IGR1bW15RnJhbWVMb2Fk
ZXJDbGllbnQ7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24ubG9hZGVyQ2xpZW50Rm9yTWFpbkZyYW1l
ID0gJmR1bW15RnJhbWVMb2FkZXJDbGllbnQuZ2V0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuaAppbmRleCA1Nzk3MWM1OWM0MjBhZmIwYjllYWI5YTI1YTgwMGJhOGMzYWU0NmUx
Li5iYmFlYTZiMjNlOTBlMmM4MDZmMWRlNWJjZDRlZjE5NmU3NGMxYzM2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC00Nyw2ICs0NywxMCBAQAogI2luY2x1ZGUgIlZpc2l0
ZWRMaW5rU3RvcmUuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdWaWV3Lmg+CiAKKyNpZiBF
TkFCTEUoV0VCX1JFUExBWSkKKyNpbmNsdWRlICJSZXBsYXlDbGllbnQuaCIKKyNlbmRpZgorCiAv
KgogIFRoaXMgZmlsZSBob2xkcyBlbXB0eSBDbGllbnQgc3R1YnMgZm9yIHVzZSBieSBXZWJDb3Jl
LgogIFZpZXdsZXNzIGVsZW1lbnQgbmVlZHMgdG8gY3JlYXRlIGEgZHVtbXkgUGFnZS0+RnJhbWUt
PkZyYW1lVmlldyB0cmVlIGZvciB1c2UgaW4gcGFyc2luZyBvciBleGVjdXRpbmcgSmF2YVNjcmlw
dC4KQEAgLTYwNCw2ICs2MDgsMTYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBoaWRlSGln
aGxpZ2h0KCkgb3ZlcnJpZGUgeyB9CiB9OwogCisjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCitjbGFz
cyBFbXB0eVJlcGxheUNsaWVudCA6IHB1YmxpYyBSZXBsYXlDbGllbnQgeworcHVibGljOgorICAg
IEVtcHR5UmVwbGF5Q2xpZW50KCkgeyB9CisgICAgdmlydHVhbCB+RW1wdHlSZXBsYXlDbGllbnQo
KSB7IH0KKworICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaElucHV0KEV2ZW50TG9vcElucHV0QmFz
ZSYpIG92ZXJyaWRlIHsgfQorfTsKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JFUExBWSkKKwogY2xh
c3MgRW1wdHlEZXZpY2VDbGllbnQgOiBwdWJsaWMgRGV2aWNlQ2xpZW50IHsKIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgc3RhcnRVcGRhdGluZygpIG92ZXJyaWRlIHsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5j
cHAKaW5kZXggNDI4OGZiNmM0NTdlMDlmZDQ2ZDE3MDU5M2FmZDk1OTVlZjAxNGQ2ZC4uMGQzZjcy
ODYwZDFmYjFhODlhYjJjYjk0MTkzZTE4ZGE3ZTdhYzZiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCkBA
IC05OSw2ICs5OSw3IEBACiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgogCiAjaWYg
RU5BQkxFKFdFQl9SRVBMQVkpCisjaW5jbHVkZSAiUmVwbGF5Q2xpZW50LmgiCiAjaW5jbHVkZSAi
UmVwbGF5Q29udHJvbGxlci5oIgogI2luY2x1ZGUgPHJlcGxheS9JbnB1dEN1cnNvci5oPgogI2Vu
ZGlmCkBAIC0xMzksNyArMTQwLDcgQEAgUGFnZTo6UGFnZShQYWdlQ29uZmlndXJhdGlvbiYgcGFn
ZUNvbmZpZ3VyYXRpb24pCiAjZW5kaWYKICAgICAsIG1fdXNlcklucHV0QnJpZGdlKHN0ZDo6bWFr
ZV91bmlxdWU8VXNlcklucHV0QnJpZGdlPigqdGhpcykpCiAjaWYgRU5BQkxFKFdFQl9SRVBMQVkp
Ci0gICAgLCBtX3JlcGxheUNvbnRyb2xsZXIoc3RkOjptYWtlX3VuaXF1ZTxSZXBsYXlDb250cm9s
bGVyPigqdGhpcykpCisgICAgLCBtX3JlcGxheUNvbnRyb2xsZXIoc3RkOjptYWtlX3VuaXF1ZTxS
ZXBsYXlDb250cm9sbGVyPigqdGhpcywgKnBhZ2VDb25maWd1cmF0aW9uLnJlcGxheUNsaWVudCkp
CiAjZW5kaWYKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgICwgbV9pbnNwZWN0b3JDb250cm9s
bGVyKHN0ZDo6bWFrZV91bmlxdWU8SW5zcGVjdG9yQ29udHJvbGxlcj4oKnRoaXMsIHBhZ2VDb25m
aWd1cmF0aW9uLmluc3BlY3RvckNsaWVudCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2VDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25maWd1
cmF0aW9uLmgKaW5kZXggZWI1NDMyMTBjMmJlZTUyMzYzOTJhNDkwNTdhOWRiMDBhOWU2ODI4Ny4u
OGE0ZDAzNzdiZjIyNjNkMjI2ZGU4YWMwYzE4ZmY1YzM1MGJjMzBiYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUGFnZUNvbmZpZ3VyYXRpb24uaApAQCAtNDUsNiArNDUsOSBAQCBjbGFzcyBGcmFtZUxv
YWRlckNsaWVudDsKIGNsYXNzIEluc3BlY3RvckNsaWVudDsKIGNsYXNzIFBsdWdJbkNsaWVudDsK
IGNsYXNzIFByb2dyZXNzVHJhY2tlckNsaWVudDsKKyNpZiBFTkFCTEUoV0VCX1JFUExBWSkKK2Ns
YXNzIFJlcGxheUNsaWVudDsKKyNlbmRpZgogY2xhc3MgU3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVy
OwogY2xhc3MgVXNlckNvbnRlbnRDb250cm9sbGVyOwogY2xhc3MgVmFsaWRhdGlvbk1lc3NhZ2VD
bGllbnQ7CkBAIC02NCw2ICs2Nyw5IEBAIHB1YmxpYzoKICAgICBFZGl0b3JDbGllbnQqIGVkaXRv
ckNsaWVudDsKICAgICBEcmFnQ2xpZW50KiBkcmFnQ2xpZW50OwogICAgIEluc3BlY3RvckNsaWVu
dCogaW5zcGVjdG9yQ2xpZW50OworI2lmIEVOQUJMRShXRUJfUkVQTEFZKQorICAgIFJlcGxheUNs
aWVudCogcmVwbGF5Q2xpZW50IHtudWxscHRyfTsKKyNlbmRpZgogICAgIFBsdWdJbkNsaWVudCog
cGx1Z0luQ2xpZW50OwogICAgIFByb2dyZXNzVHJhY2tlckNsaWVudCogcHJvZ3Jlc3NUcmFja2Vy
Q2xpZW50OwogICAgIFJlZlB0cjxCYWNrRm9yd2FyZENsaWVudD4gYmFja0ZvcndhcmRDbGllbnQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dC5oCmluZGV4IGNiMzc1ZTdkZjYwNjI1
NjMyOGQzZWNlZWI3ZDFjZWYyNmY0ZWFiNWMuLjIyODA1NWI5YWViNWJlYzA2ZTZmNDhlZDMxMmUx
YTlkYjMyMzNmOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJ
bnB1dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dC5oCkBAIC0z
OSw2ICszOSw4IEBAIGNsYXNzIElucHV0Q3Vyc29yOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
K2NsYXNzIEV2ZW50TG9vcElucHV0QmFzZTsKK2NsYXNzIFBhZ2U7CiBjbGFzcyBSZXBsYXlDb250
cm9sbGVyOwogCiAvLyBUaGlzIGlzIGFuIFJBSUkgaGVscGVyIHVzZWQgZHVyaW5nIGNhcHR1cmlu
ZyB3aGljaCBzZXRzIGEgZmxhZyBvbiB0aGUgaW5wdXQgY3Vyc29yCkBAIC01NCwxMiArNTYsMTcg
QEAgcHJpdmF0ZToKICAgICBKU0M6OklucHV0Q3Vyc29yKiBtX2N1cnNvcjsKIH07CiAKK3N0cnVj
dCBFdmVudExvb3BJbnB1dERhdGEgeworICAgIEV2ZW50TG9vcElucHV0QmFzZSogaW5wdXQ7Cisg
ICAgZG91YmxlIHRpbWVzdGFtcDsKK307CisKIGNsYXNzIEV2ZW50TG9vcElucHV0QmFzZSA6IHB1
YmxpYyBOb25kZXRlcm1pbmlzdGljSW5wdXRCYXNlIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5F
dmVudExvb3BJbnB1dEJhc2UoKSB7IH0KICAgICB2aXJ0dWFsIElucHV0UXVldWUgcXVldWUoKSBj
b25zdCBvdmVycmlkZSBmaW5hbCB7IHJldHVybiBJbnB1dFF1ZXVlOjpFdmVudExvb3BJbnB1dDsg
fQogCi0gICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoKFJlcGxheUNvbnRyb2xsZXImKSA9IDA7Cisg
ICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoKFBhZ2UmKSA9IDA7CiB9OwogCiB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgSW5wdXRUeXBlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L0V2ZW50
TG9vcElucHV0RGlzcGF0Y2hlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29w
SW5wdXREaXNwYXRjaGVyLmNwcAppbmRleCA4ZjQzNjE4YTFmZGRkMTJiZTA1YjI3ZTlmYjYzNGU1
ODE2MTM3ODJmLi43NGIxYjJjNzJhMDZjNzgyYzFiNDM3NTRhNzUyYjQ2MjRjOTNjMjFiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmNw
cApAQCAtMzEsNiArMzEsOCBAQAogI2lmIEVOQUJMRShXRUJfUkVQTEFZKQogCiAjaW5jbHVkZSAi
UGFnZS5oIgorI2luY2x1ZGUgIlJlcGxheUNsaWVudC5oIgorI2luY2x1ZGUgIlJlcGxheUNvbnRy
b2xsZXIuaCIKICNpbmNsdWRlICJSZXBsYXlpbmdJbnB1dEN1cnNvci5oIgogI2luY2x1ZGUgIldl
YlJlcGxheUlucHV0cy5oIgogI2luY2x1ZGUgPHd0Zi9UZW1wb3JhcnlDaGFuZ2UuaD4KQEAgLTE1
MCw3ICsxNTIsNyBAQCB2b2lkIEV2ZW50TG9vcElucHV0RGlzcGF0Y2hlcjo6ZGlzcGF0Y2hJbnB1
dCgpCiAKICAgICB7CiAgICAgICAgIFRlbXBvcmFyeUNoYW5nZTxib29sPiBjaGFuZ2UobV9kaXNw
YXRjaGluZywgdHJ1ZSk7Ci0gICAgICAgIG1fY3VycmVudFdvcmsuaW5wdXQtPmRpc3BhdGNoKG1f
cGFnZS5yZXBsYXlDb250cm9sbGVyKCkpOworICAgICAgICBtX3BhZ2UucmVwbGF5Q29udHJvbGxl
cigpLmNsaWVudCgpLmRpc3BhdGNoSW5wdXQoKm1fY3VycmVudFdvcmsuaW5wdXQpOwogICAgIH0K
IAogICAgIEV2ZW50TG9vcElucHV0QmFzZSogZGlzcGF0Y2hlZElucHV0ID0gbV9jdXJyZW50V29y
ay5pbnB1dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1
dERpc3BhdGNoZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9FdmVudExvb3BJbnB1dERpc3Bh
dGNoZXIuaAppbmRleCA1OTM0YzQwYTkwMGY3MjVmODlhNGY3NmEzOWMyZjFlMjU4M2VlNjI4Li5k
YzkzYzNhNWY2MGZhOWNkNGFjNTQzOTRjMDg1MDliYTg2Zjg5MjQ3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZXBsYXkvRXZlbnRMb29wSW5wdXREaXNwYXRjaGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVwbGF5L0V2ZW50TG9vcElucHV0RGlzcGF0Y2hlci5oCkBAIC0zMSw3ICszMSw2
IEBACiAjaWYgRU5BQkxFKFdFQl9SRVBMQVkpCiAKICNpbmNsdWRlICJFdmVudExvb3BJbnB1dC5o
IgotI2luY2x1ZGUgIlJlcGxheWluZ0lucHV0Q3Vyc29yLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIK
ICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBA
IC00MCw3ICszOSw4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFBhZ2U7Ci0KK2Ns
YXNzIFJlcGxheWluZ0lucHV0Q3Vyc29yOworICAgIAogZW51bSBjbGFzcyBEaXNwYXRjaFNwZWVk
IHsKICAgICBSZWFsVGltZSwKICAgICBGYXN0Rm9yd2FyZCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlcGxheS9SZXBsYXlDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBs
YXlDbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmJiMmMwN2VkZjgwMDFhZWM4M2I5YTAwN2U3NGU3MmMw
NDVkZmUwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheUNs
aWVudC5oCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgVW5pdmVy
c2l0eSBvZiBXYXNoaW5ndG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIFJlcGxheUNsaWVudF9oCisjZGVmaW5lIFJlcGxheUNsaWVudF9oCisKKyNpZiBFTkFCTEUo
V0VCX1JFUExBWSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBFdmVudExvb3BJbnB1
dEJhc2U7CisKK2NsYXNzIFJlcGxheUNsaWVudCB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+UmVw
bGF5Q2xpZW50KCkgeyB9CisKKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hJbnB1dChFdmVudExv
b3BJbnB1dEJhc2UmKSA9IDA7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoV0VCX1JFUExBWSkKKworI2VuZGlmIC8vICFkZWZpbmVkKFJlcGxheUNsaWVu
dF9oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheUNvbnRyb2xsZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheUNvbnRyb2xsZXIuY3BwCmluZGV4IDA0
NTdmOGUxNDU5OWU4NGQ4YWFiYTVjMTA1NmQ3ZTMxYmZkOTc3MzQuLjU5NzZjNjRjZWFlODlkNzIw
Y2RiMmRhY2VmZjk3NTcwZTA3NGU4NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlcGxh
eS9SZXBsYXlDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5
Q29udHJvbGxlci5jcHAKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAj
aW5jbHVkZSAiTWFpbkZyYW1lLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlJlcGxh
eUNsaWVudC5oIgogI2luY2x1ZGUgIlJlcGxheVNlc3Npb24uaCIKICNpbmNsdWRlICJSZXBsYXlT
ZXNzaW9uU2VnbWVudC5oIgogI2luY2x1ZGUgIlJlcGxheWluZ0lucHV0Q3Vyc29yLmgiCkBAIC0x
MTEsOCArMTEyLDkgQEAgc3RhdGljIGNvbnN0IGNoYXIqIHNlZ21lbnRTdGF0ZVRvU3RyaW5nKFNl
Z21lbnRTdGF0ZSBzdGF0ZSkKIAogI2VuZGlmIC8vICFMT0dfRElTQUJMRUQKIAotUmVwbGF5Q29u
dHJvbGxlcjo6UmVwbGF5Q29udHJvbGxlcihQYWdlJiBwYWdlKQorUmVwbGF5Q29udHJvbGxlcjo6
UmVwbGF5Q29udHJvbGxlcihQYWdlJiBwYWdlLCBSZXBsYXlDbGllbnQmIGNsaWVudCkKICAgICA6
IG1fcGFnZShwYWdlKQorICAgICwgbV9jbGllbnQoY2xpZW50KQogICAgICwgbV9sb2FkZWRTZWdt
ZW50KG51bGxwdHIpCiAgICAgLCBtX2xvYWRlZFNlc3Npb24oUmVwbGF5U2Vzc2lvbjo6Y3JlYXRl
KCkpCiAgICAgLCBtX2VtcHR5Q3Vyc29yKEVtcHR5SW5wdXRDdXJzb3I6OmNyZWF0ZSgpKQpAQCAt
MjMwLDcgKzIzMiw3IEBAIHZvaWQgUmVwbGF5Q29udHJvbGxlcjo6Y3JlYXRlU2VnbWVudCgpCiAK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8SW5pdGlhbE5hdmlnYXRpb24+IG5hdmlnYXRpb25JbnB1dCA9
IEluaXRpYWxOYXZpZ2F0aW9uOjpjcmVhdGVGcm9tUGFnZShtX3BhZ2UpOwogICAgIC8vIERpc3Bh
dGNoaW5nIHRoaXMgaW5wdXQgc2NoZWR1bGVzIG5hdmlnYXRpb24gb2YgdGhlIG1haW4gZnJhbWUs
IGNhdXNpbmcgYSByZWZyZXNoLgotICAgIG5hdmlnYXRpb25JbnB1dC0+ZGlzcGF0Y2goKnRoaXMp
OworICAgIG1fY2xpZW50LmRpc3BhdGNoSW5wdXQoKm5hdmlnYXRpb25JbnB1dCk7CiAgICAgbV9h
Y3RpdmVDdXJzb3ItPnN0b3JlSW5wdXQoV1RGOjptb3ZlKG5hdmlnYXRpb25JbnB1dCkpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5Q29udHJvbGxlci5oIGIv
U291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheUNvbnRyb2xsZXIuaAppbmRleCA1ZTA3OTZkODg0
NzM1N2M1ZjY3MjIwMGM4YzdmNTRhNGY3OGJkZTI4Li4zOTNkYTY3YTRlNzhiYTFiMTYyNjU2MTdm
NjFjYzAwOTQ2ZjAxNTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5
Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlDb250cm9sbGVy
LmgKQEAgLTUzLDYgKzUzLDcgQEAgY2xhc3MgRXZlbnRMb29wSW5wdXRCYXNlOwogY2xhc3MgRnJh
bWU7CiBjbGFzcyBOb2RlOwogY2xhc3MgUGFnZTsKK2NsYXNzIFJlcGxheUNsaWVudDsKIGNsYXNz
IFJlcGxheVNlc3Npb247CiBjbGFzcyBSZXBsYXlTZXNzaW9uU2VnbWVudDsKIApAQCAtMTEyLDcg
KzExMyw3IEBAIHN0cnVjdCBSZXBsYXlQb3NpdGlvbiB7CiBjbGFzcyBSZXBsYXlDb250cm9sbGVy
IGZpbmFsIDogcHVibGljIEV2ZW50TG9vcElucHV0RGlzcGF0Y2hlckNsaWVudCB7CiAgICAgV1RG
X01BS0VfTk9OQ09QWUFCTEUoUmVwbGF5Q29udHJvbGxlcik7CiBwdWJsaWM6Ci0gICAgUmVwbGF5
Q29udHJvbGxlcihQYWdlJik7CisgICAgUmVwbGF5Q29udHJvbGxlcihQYWdlJiwgUmVwbGF5Q2xp
ZW50Jik7CiAKICAgICB2b2lkIHN0YXJ0Q2FwdHVyaW5nKCk7CiAgICAgdm9pZCBzdG9wQ2FwdHVy
aW5nKCk7CkBAIC0xMzYsNiArMTM3LDcgQEAgcHVibGljOgogICAgIHZvaWQgd2lsbERpc3BhdGNo
RXZlbnQoY29uc3QgRXZlbnQmLCBGcmFtZSopOwogCiAgICAgUGFnZSYgcGFnZSgpIGNvbnN0IHsg
cmV0dXJuIG1fcGFnZTsgfQorICAgIFJlcGxheUNsaWVudCYgY2xpZW50KCkgY29uc3QgeyByZXR1
cm4gbV9jbGllbnQ7IH0KIAogICAgIFNlc3Npb25TdGF0ZSBzZXNzaW9uU3RhdGUoKSBjb25zdCB7
IHJldHVybiBtX3Nlc3Npb25TdGF0ZTsgfQogICAgIFNlZ21lbnRTdGF0ZSBzZWdtZW50U3RhdGUo
KSBjb25zdCB7IHJldHVybiBtX3NlZ21lbnRTdGF0ZTsgfQpAQCAtMTczLDYgKzE3NSw3IEBAIHBy
aXZhdGU6CiAgICAgfTsKIAogICAgIFBhZ2UmIG1fcGFnZTsKKyAgICBSZXBsYXlDbGllbnQmIG1f
Y2xpZW50OwogCiAgICAgUmVmUHRyPFJlcGxheVNlc3Npb25TZWdtZW50PiBtX2xvYWRlZFNlZ21l
bnQ7CiAgICAgUmVmUHRyPFJlcGxheVNlc3Npb24+IG1fbG9hZGVkU2Vzc2lvbjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9SZXBsYXlJbnB1dERpc3BhdGNoTWV0aG9kcy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5SW5wdXREaXNwYXRjaE1ldGhvZHMuY3BwCmlu
ZGV4IDY0NTRhNDgwMTU3M2JkYjc2ZWUzOWE3NzdjNTFiMGIzODNiYzU1NWMuLmE0ZmQ1MzZjOTg1
NjZhN2NhMGZlN2UwYWE4OGUxMjYzYmRlMjliYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlcGxheS9SZXBsYXlJbnB1dERpc3BhdGNoTWV0aG9kcy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVwbGF5L1JlcGxheUlucHV0RGlzcGF0Y2hNZXRob2RzLmNwcApAQCAtMzksNTcgKzM5LDU3
IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIC8vIFNlbnRpbmVsIGlucHV0cy4KLXZvaWQgQmVn
aW5TZWdtZW50U2VudGluZWw6OmRpc3BhdGNoKFJlcGxheUNvbnRyb2xsZXImKQordm9pZCBCZWdp
blNlZ21lbnRTZW50aW5lbDo6ZGlzcGF0Y2goUGFnZSYpCiB7CiB9CiAKLXZvaWQgRW5kU2VnbWVu
dFNlbnRpbmVsOjpkaXNwYXRjaChSZXBsYXlDb250cm9sbGVyJikKK3ZvaWQgRW5kU2VnbWVudFNl
bnRpbmVsOjpkaXNwYXRjaChQYWdlJikKIHsKIH0KIAogLy8gTmF2aWdhdGlvbiBpbnB1dHMuCi12
b2lkIEluaXRpYWxOYXZpZ2F0aW9uOjpkaXNwYXRjaChSZXBsYXlDb250cm9sbGVyJiBjb250cm9s
bGVyKQordm9pZCBJbml0aWFsTmF2aWdhdGlvbjo6ZGlzcGF0Y2goUGFnZSYgcGFnZSkKIHsKLSAg
ICBjb250cm9sbGVyLnBhZ2UoKS5tYWluRnJhbWUoKS5uYXZpZ2F0aW9uU2NoZWR1bGVyKCkuc2No
ZWR1bGVMb2NhdGlvbkNoYW5nZShtX3NlY3VyaXR5T3JpZ2luLmdldCgpLCBtX3VybCwgbV9yZWZl
cnJlcik7CisgICAgcGFnZS5tYWluRnJhbWUoKS5uYXZpZ2F0aW9uU2NoZWR1bGVyKCkuc2NoZWR1
bGVMb2NhdGlvbkNoYW5nZShtX3NlY3VyaXR5T3JpZ2luLmdldCgpLCBtX3VybCwgbV9yZWZlcnJl
cik7CiB9CiAKLXZvaWQgSGFuZGxlS2V5UHJlc3M6OmRpc3BhdGNoKFJlcGxheUNvbnRyb2xsZXIm
IGNvbnRyb2xsZXIpCit2b2lkIEhhbmRsZUtleVByZXNzOjpkaXNwYXRjaChQYWdlJiBwYWdlKQog
ewotICAgIGNvbnRyb2xsZXIucGFnZSgpLnVzZXJJbnB1dEJyaWRnZSgpLmhhbmRsZUtleUV2ZW50
KHBsYXRmb3JtRXZlbnQoKSwgSW5wdXRTb3VyY2U6OlN5bnRoZXRpYyk7CisgICAgcGFnZS51c2Vy
SW5wdXRCcmlkZ2UoKS5oYW5kbGVLZXlFdmVudChwbGF0Zm9ybUV2ZW50KCksIElucHV0U291cmNl
OjpTeW50aGV0aWMpOwogfQogCiAvLyBVc2VyIGludGVyYWN0aW9uIGlucHV0cy4KLXZvaWQgSGFu
ZGxlTW91c2VNb3ZlOjpkaXNwYXRjaChSZXBsYXlDb250cm9sbGVyJiBjb250cm9sbGVyKQordm9p
ZCBIYW5kbGVNb3VzZU1vdmU6OmRpc3BhdGNoKFBhZ2UmIHBhZ2UpCiB7Ci0gICAgaWYgKG1fc2Ny
b2xsYmFyVGFyZ2V0ZWQpCi0gICAgICAgIGNvbnRyb2xsZXIucGFnZSgpLnVzZXJJbnB1dEJyaWRn
ZSgpLmhhbmRsZU1vdXNlTW92ZU9uU2Nyb2xsYmFyRXZlbnQocGxhdGZvcm1FdmVudCgpLCBJbnB1
dFNvdXJjZTo6U3ludGhldGljKTsKKyAgICBpZiAoc2Nyb2xsYmFyVGFyZ2V0ZWQoKSkKKyAgICAg
ICAgcGFnZS51c2VySW5wdXRCcmlkZ2UoKS5oYW5kbGVNb3VzZU1vdmVPblNjcm9sbGJhckV2ZW50
KHBsYXRmb3JtRXZlbnQoKSwgSW5wdXRTb3VyY2U6OlN5bnRoZXRpYyk7CiAgICAgZWxzZQotICAg
ICAgICBjb250cm9sbGVyLnBhZ2UoKS51c2VySW5wdXRCcmlkZ2UoKS5oYW5kbGVNb3VzZU1vdmVF
dmVudChwbGF0Zm9ybUV2ZW50KCksIElucHV0U291cmNlOjpTeW50aGV0aWMpOworICAgICAgICBw
YWdlLnVzZXJJbnB1dEJyaWRnZSgpLmhhbmRsZU1vdXNlTW92ZUV2ZW50KHBsYXRmb3JtRXZlbnQo
KSwgSW5wdXRTb3VyY2U6OlN5bnRoZXRpYyk7CiB9CiAKLXZvaWQgSGFuZGxlTW91c2VQcmVzczo6
ZGlzcGF0Y2goUmVwbGF5Q29udHJvbGxlciYgY29udHJvbGxlcikKK3ZvaWQgSGFuZGxlTW91c2VQ
cmVzczo6ZGlzcGF0Y2goUGFnZSYgcGFnZSkKIHsKLSAgICBjb250cm9sbGVyLnBhZ2UoKS51c2Vy
SW5wdXRCcmlkZ2UoKS5oYW5kbGVNb3VzZVByZXNzRXZlbnQocGxhdGZvcm1FdmVudCgpLCBJbnB1
dFNvdXJjZTo6U3ludGhldGljKTsKKyAgICBwYWdlLnVzZXJJbnB1dEJyaWRnZSgpLmhhbmRsZU1v
dXNlUHJlc3NFdmVudChwbGF0Zm9ybUV2ZW50KCksIElucHV0U291cmNlOjpTeW50aGV0aWMpOwog
fQogCi12b2lkIEhhbmRsZU1vdXNlUmVsZWFzZTo6ZGlzcGF0Y2goUmVwbGF5Q29udHJvbGxlciYg
Y29udHJvbGxlcikKK3ZvaWQgSGFuZGxlTW91c2VSZWxlYXNlOjpkaXNwYXRjaChQYWdlJiBwYWdl
KQogewotICAgIGNvbnRyb2xsZXIucGFnZSgpLnVzZXJJbnB1dEJyaWRnZSgpLmhhbmRsZU1vdXNl
UmVsZWFzZUV2ZW50KHBsYXRmb3JtRXZlbnQoKSwgSW5wdXRTb3VyY2U6OlN5bnRoZXRpYyk7Cisg
ICAgcGFnZS51c2VySW5wdXRCcmlkZ2UoKS5oYW5kbGVNb3VzZVJlbGVhc2VFdmVudChwbGF0Zm9y
bUV2ZW50KCksIElucHV0U291cmNlOjpTeW50aGV0aWMpOwogfQogCi12b2lkIEhhbmRsZVdoZWVs
RXZlbnQ6OmRpc3BhdGNoKFJlcGxheUNvbnRyb2xsZXImIGNvbnRyb2xsZXIpCit2b2lkIEhhbmRs
ZVdoZWVsRXZlbnQ6OmRpc3BhdGNoKFBhZ2UmIHBhZ2UpCiB7Ci0gICAgY29udHJvbGxlci5wYWdl
KCkudXNlcklucHV0QnJpZGdlKCkuaGFuZGxlV2hlZWxFdmVudChwbGF0Zm9ybUV2ZW50KCksIElu
cHV0U291cmNlOjpTeW50aGV0aWMpOworICAgIHBhZ2UudXNlcklucHV0QnJpZGdlKCkuaGFuZGxl
V2hlZWxFdmVudChwbGF0Zm9ybUV2ZW50KCksIElucHV0U291cmNlOjpTeW50aGV0aWMpOwogfQog
Ci12b2lkIExvZ2ljYWxTY3JvbGxQYWdlOjpkaXNwYXRjaChSZXBsYXlDb250cm9sbGVyJiBjb250
cm9sbGVyKQordm9pZCBMb2dpY2FsU2Nyb2xsUGFnZTo6ZGlzcGF0Y2goUGFnZSYgcGFnZSkKIHsK
LSAgICBjb250cm9sbGVyLnBhZ2UoKS51c2VySW5wdXRCcmlkZ2UoKS5sb2dpY2FsU2Nyb2xsUmVj
dXJzaXZlbHkoZGlyZWN0aW9uKCksIGdyYW51bGFyaXR5KCksIElucHV0U291cmNlOjpTeW50aGV0
aWMpOworICAgIHBhZ2UudXNlcklucHV0QnJpZGdlKCkubG9naWNhbFNjcm9sbFJlY3Vyc2l2ZWx5
KGRpcmVjdGlvbigpLCBncmFudWxhcml0eSgpLCBJbnB1dFNvdXJjZTo6U3ludGhldGljKTsKIH0K
IAotdm9pZCBTY3JvbGxQYWdlOjpkaXNwYXRjaChSZXBsYXlDb250cm9sbGVyJiBjb250cm9sbGVy
KQordm9pZCBTY3JvbGxQYWdlOjpkaXNwYXRjaChQYWdlJiBwYWdlKQogewotICAgIGNvbnRyb2xs
ZXIucGFnZSgpLnVzZXJJbnB1dEJyaWRnZSgpLnNjcm9sbFJlY3Vyc2l2ZWx5KGRpcmVjdGlvbigp
LCBncmFudWxhcml0eSgpLCBJbnB1dFNvdXJjZTo6U3ludGhldGljKTsKKyAgICBwYWdlLnVzZXJJ
bnB1dEJyaWRnZSgpLnNjcm9sbFJlY3Vyc2l2ZWx5KGRpcmVjdGlvbigpLCBncmFudWxhcml0eSgp
LCBJbnB1dFNvdXJjZTo6U3ludGhldGljKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVwbGF5L1JlcGxheWluZ0lucHV0Q3Vyc29yLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5aW5nSW5wdXRDdXJzb3IuaAppbmRleCA5Yzcx
ZjQxNTI3ZGM3MmUxNzk2MmM2NzJlYzA1OTU4MTllYWVmZWNlLi5mMzc5MDY2OGY3Y2U5OGU4ZDU4
OTk1MWYwZDFjMGFhYTgyNzFiYmVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkv
UmVwbGF5aW5nSW5wdXRDdXJzb3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZXBsYXkvUmVwbGF5
aW5nSW5wdXRDdXJzb3IuaApAQCAtMzAsNiArMzAsNyBAQAogCiAjaWYgRU5BQkxFKFdFQl9SRVBM
QVkpCiAKKyNpbmNsdWRlICJFdmVudExvb3BJbnB1dC5oIgogI2luY2x1ZGUgPHJlcGxheS9JbnB1
dEN1cnNvci5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9B
dG9taWNTdHJpbmcuaD4KQEAgLTQyLDExICs0Myw2IEBAIGNsYXNzIEV2ZW50TG9vcElucHV0RGlz
cGF0Y2hlckNsaWVudDsKIGNsYXNzIFBhZ2U7CiBjbGFzcyBSZXBsYXlTZXNzaW9uU2VnbWVudDsK
IAotc3RydWN0IEV2ZW50TG9vcElucHV0RGF0YSB7Ci0gICAgRXZlbnRMb29wSW5wdXRCYXNlKiBp
bnB1dDsKLSAgICBkb3VibGUgdGltZXN0YW1wOwotfTsKLQogY2xhc3MgUmVwbGF5aW5nSW5wdXRD
dXJzb3IgZmluYWwgOiBwdWJsaWMgSW5wdXRDdXJzb3IgewogICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFJlcGxheWluZ0lucHV0Q3Vyc29yKTsKIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKaW5k
ZXggOTFmNTFhMTBlM2Y1ZDgyYWY0YjlhYTMxYjFhOTAzMjBlOTI1ZDdjNi4uNzM4ZmFiNzBhY2Ri
ZDllM2MxNTVmYTBkNDFkNzVjZTkzYWMxMzVjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
Q01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKQEAgLTc2
Niw2ICs3NjYsMTYgQEAgaWYgKEVOQUJMRV9QTFVHSU5fUFJPQ0VTUykKICAgICBlbmRpZiAoKQog
ZW5kaWYgKCkKIAoraWYgKEVOQUJMRV9XRUJfUkVQTEFZKQorICAgIGxpc3QoQVBQRU5EIFdlYktp
dDJfSU5DTFVERV9ESVJFQ1RPUklFUworICAgICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vz
cy9SZXBsYXkiCisgICAgKQorCisgICAgbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCisgICAg
ICAgIFdlYlByb2Nlc3MvUmVwbGF5L1dlYlJlcGxheUNsaWVudC5jcHAKKyAgICApCitlbmRpZiAo
KQorCiBQT1BVTEFURV9MSUJSQVJZX1ZFUlNJT04oV0VCS0lUMikKIHNldF90YXJnZXRfcHJvcGVy
dGllcyhXZWJLaXQyIFBST1BFUlRJRVMgVkVSU0lPTiAke1dFQktJVDJfVkVSU0lPTn0gU09WRVJT
SU9OICR7V0VCS0lUMl9WRVJTSU9OX01BSk9SfSkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDE0MzU1ZWVjYjYyNGY4ZTg1NWNl
N2ZkNTkyZWRiZDY1YmUxZjk0YzkuLjJiMWE2MTU3YjAwMWY5M2VhMWVlYTEyOTMxZGU4ZTg3OTZj
NTM0NGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTE1NzIsNiArMTU3Miw4IEBACiAJCUMwRTNBQTdBMTIwOUU4MzAwMEE0OUQw
MSAvKiBNb2R1bGVDRi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDMEUzQUE0ODEyMDlFNDUwMDBBNDlEMDEgLyogTW9kdWxlQ0YuY3BwICovOyB9Owog
CQlDMEUzQUE3QjEyMDlFODM1MDBBNDlEMDEgLyogTW9kdWxlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMwRTNBQTQ1MTIwOUUyQkEwMEE0OUQwMSAv
KiBNb2R1bGUuY3BwICovOyB9OwogCQlDMEUzQUE3QzEyMDlFODNDMDBBNDlEMDEgLyogTW9kdWxl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMEUzQUE0
NDEyMDlFMkJBMDBBNDlEMDEgLyogTW9kdWxlLmggKi87IH07CisJCUM0OTQ3NEIwMTlBM0Y5M0Yw
MDlCM0RFOCAvKiBXZWJSZXBsYXlDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEM0OTQ3NEFFMTlBM0Y5MjQwMDlCM0RFOCAvKiBXZWJSZXBsYXlD
bGllbnQuaCAqLzsgfTsKKwkJQzQ5NDc0QjExOUEzRjk0NzAwOUIzREU4IC8qIFdlYlJlcGxheUNs
aWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
NDk0NzRBRDE5QTNGOTI0MDA5QjNERTggLyogV2ViUmVwbGF5Q2xpZW50LmNwcCAqLzsgfTsKIAkJ
QzUxNzM4ODExMkRGOEY0RjAwRUUzRjQ3IC8qIERyYWdDb250cm9sbGVyQWN0aW9uLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNTE3Mzg4MDEyREY4RjRG
MDBFRTNGNDcgLyogRHJhZ0NvbnRyb2xsZXJBY3Rpb24uaCAqLzsgfTsKIAkJQzUyMzdGNjAxMjQ0
MUNBMzAwNzgwNDcyIC8qIFdlYkVkaXRvckNsaWVudE1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1MjM3RjVGMTI0NDFDQTMwMDc4MDQ3MiAvKiBX
ZWJFZGl0b3JDbGllbnRNYWMubW0gKi87IH07CiAJCUM1NDI1NkI1MThCRUMxOEMwMERFNDE3OSAv
KiBXS0Zvcm1JbnB1dENvbnRyb2wuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEM1NDI1NkFGMThCRUMxOEIwMERFNDE3OSAvKiBXS0Zvcm1JbnB1dENvbnRy
b2wuaCAqLzsgfTsKQEAgLTM3MjEsNiArMzcyMyw4IEBACiAJCUMwRTNBQTQ0MTIwOUUyQkEwMEE0
OUQwMSAvKiBNb2R1bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTW9kdWxl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMwRTNBQTQ1MTIwOUUyQkEwMEE0OUQw
MSAvKiBNb2R1bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTW9k
dWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzBFM0FBNDgxMjA5RTQ1MDAw
QTQ5RDAxIC8qIE1vZHVsZUNGLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IE1vZHVsZUNGLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzQ5NDc0QUQx
OUEzRjkyNDAwOUIzREU4IC8qIFdlYlJlcGxheUNsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBXZWJSZXBsYXlDbGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlDNDk0NzRBRTE5QTNGOTI0MDA5QjNERTggLyogV2ViUmVwbGF5Q2xpZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlJlcGxheUNsaWVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNTE3Mzg4MDEyREY4RjRGMDBFRTNGNDcgLyog
RHJhZ0NvbnRyb2xsZXJBY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RHJhZ0NvbnRyb2xsZXJBY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzUy
MzdGNUYxMjQ0MUNBMzAwNzgwNDcyIC8qIFdlYkVkaXRvckNsaWVudE1hYy5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkVkaXRvckNsaWVudE1hYy5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzU0MjU2QUYxOEJFQzE4QjAwREU0MTc5IC8qIFdL
Rm9ybUlucHV0Q29udHJvbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXS0Zv
cm1JbnB1dENvbnRyb2wuaDsgcGF0aCA9IGlvcy9mb3Jtcy9XS0Zvcm1JbnB1dENvbnRyb2wuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTU4MTQsNiArNTgxOCw4IEBACiAJCQkJRDNC
OTQ4NDMxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVudS5oICovLAogCQkJCTFBMUUwOTMx
MTg4NjFEMzgwMEQyREM0OSAvKiBXZWJQcm9ncmVzc1RyYWNrZXJDbGllbnQuY3BwICovLAogCQkJ
CTFBMUUwOTMyMTg4NjFEMzgwMEQyREM0OSAvKiBXZWJQcm9ncmVzc1RyYWNrZXJDbGllbnQuaCAq
LywKKwkJCQlDNDk0NzRBRDE5QTNGOTI0MDA5QjNERTggLyogV2ViUmVwbGF5Q2xpZW50LmNwcCAq
LywKKwkJCQlDNDk0NzRBRTE5QTNGOTI0MDA5QjNERTggLyogV2ViUmVwbGF5Q2xpZW50LmggKi8s
CiAJCQkJRDNCOTQ4NDQxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlNlYXJjaFBvcHVwTWVudS5jcHAg
Ki8sCiAJCQkJRDNCOTQ4NDUxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlNlYXJjaFBvcHVwTWVudS5o
ICovLAogCQkJCUNFREJBODQ1MTlGREEwMEEwMDY4NjZBNSAvKiBXZWJTUUxpdGVEYXRhYmFzZVRy
YWNrZXIuY3BwICovLApAQCAtNzc3Nyw2ICs3NzgzLDcgQEAKIAkJCQlBMUM1MTJDOTE5MDY1NkU1
MDA0NDg5MTQgLyogV2ViUXVpY2tMb29rSGFuZGxlQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkzNzk0ODQwNDE1MEMzNTA2MDBFNTJDRTkgLyogV2ViUmVuZGVyTGF5ZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTM3NjA4ODFGMTUwNDEzRTkwMEZDODJDNyAvKiBXZWJSZW5kZXJPYmplY3QuaCBp
biBIZWFkZXJzICovLAorCQkJCUM0OTQ3NEIwMTlBM0Y5M0YwMDlCM0RFOCAvKiBXZWJSZXBsYXlD
bGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTMzMzY3NjMwMTMwQzk5OTgwMDZDOURFMiAvKiBX
ZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzMzNjc2NTYxMzBD
OUVDQTAwNkM5REUyIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTMzMzY3NjM2MTMwQzk5QjIwMDZDOURFMiAvKiBXZWJSZXNvdXJjZUNhY2hl
TWFuYWdlclByb3h5LmggaW4gSGVhZGVycyAqLywKQEAgLTk1MjAsNiArOTUyNyw3IEBACiAJCQkJ
QTFDNTEyQzgxOTA2NTZFNTAwNDQ4OTE0IC8qIFdlYlF1aWNrTG9va0hhbmRsZUNsaWVudC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkzNzk0ODQwMzE1MEMzNTA2MDBFNTJDRTkgLyogV2ViUmVuZGVy
TGF5ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzc2MDg4MUUxNTA0MTNFOTAwRkM4MkM3IC8q
IFdlYlJlbmRlck9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDNDk0NzRCMTE5QTNGOTQ3
MDA5QjNERTggLyogV2ViUmVwbGF5Q2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMzMzY3
NjJGMTMwQzk5OTgwMDZDOURFMiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkzM0Y5RDVCOTEzMTJGMUVFMDAwRDY4M0YgLyogV2ViUmVzb3VyY2VDYWNo
ZU1hbmFnZXJDRk5ldC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMzM2NzY1NTEzMEM5RUNBMDA2
QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYlJlcGxheUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYlJlcGxheUNsaWVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTlkZmE2ZTdkZDAx
ZWRlZDJhMDA1YzFlOTc5Mjg3MWQ2YTQyMGY4YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUmVwbGF5Q2xpZW50LmNwcApAQCAt
MCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IFVuaXZlcnNpdHkgb2YgV2Fz
aGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIldlYlJlcGxheUNsaWVudC5oIgorCisjaWYgRU5BQkxFKFdFQl9SRVBM
QVkpCisKKyNpbmNsdWRlICJXZWJQYWdlLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9FdmVudExvb3BJ
bnB1dC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUmVwbGF5Q29udHJvbGxlci5oPgorCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKwordm9pZCBXZWJSZXBsYXlDbGllbnQ6OmRpc3BhdGNoSW5wdXQoV2ViQ29y
ZTo6RXZlbnRMb29wSW5wdXRCYXNlJiBpbnB1dCkKK3sKKyAgICBpbnB1dC5kaXNwYXRjaCgqbV9w
YWdlLT5jb3JlUGFnZSgpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAv
LyBFTkFCTEUoV0VCX1JFUExBWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViUmVwbGF5Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlJlcGxheUNsaWVudC5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk3ZDNk
NWY2NDM5MTc1MTQzMzM4MjI0YjYxMzY5NWNhZDkwMDBlMjIKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlJlcGxheUNsaWVudC5o
CkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgVW5pdmVyc2l0eSBv
ZiBXYXNoaW5ndG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdl
YlJlcGxheUNsaWVudF9oCisjZGVmaW5lIFdlYlJlcGxheUNsaWVudF9oCisKKyNpZiBFTkFCTEUo
V0VCX1JFUExBWSkKKworI2luY2x1ZGUgPFdlYkNvcmUvUmVwbGF5Q2xpZW50Lmg+CisKK25hbWVz
cGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJQYWdlOworCitjbGFzcyBXZWJSZXBsYXlDbGllbnQg
OiBwdWJsaWMgV2ViQ29yZTo6UmVwbGF5Q2xpZW50IHsKK3B1YmxpYzoKKyAgICBXZWJSZXBsYXlD
bGllbnQoV2ViUGFnZSogcGFnZSkKKyAgICAgICAgOiBtX3BhZ2UocGFnZSkKKyAgICB7CisgICAg
fQorCitwcml2YXRlOgorICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaElucHV0KFdlYkNvcmU6OkV2
ZW50TG9vcElucHV0QmFzZSYpIG92ZXJyaWRlOworCisgICAgV2ViUGFnZSogbV9wYWdlOworfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoV0VCX1JFUExBWSkK
KworI2VuZGlmIC8vIFdlYlJlcGxheUNsaWVudF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggOWUzNmY3ODYxNWRjMWMzNWMyZjU3NjBkMTE2
MzY2Mjc4ZDI1ZmE3Ny4uNjI5MTdkZmExZWI3YmI1MWE5NTQ2MmZmYTkyNGVjNDE1ZmYzZDFiNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAt
MTg0LDYgKzE4NCwxMCBAQAogI2luY2x1ZGUgIldlYkRldmljZVByb3hpbWl0eUNsaWVudC5oIgog
I2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCX1JFUExBWSkKKyNpbmNsdWRlICJXZWJSZXBsYXlDbGll
bnQuaCIKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaW5jbHVkZSAiUERGUGx1Z2lu
LmgiCiAjaW5jbHVkZSAiUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaCIKQEAgLTM2NCw2ICsz
NjgsOSBAQCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNy
ZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKICAgICBtX2luc3BlY3RvckNsaWVudCA9IG5l
dyBXZWJJbnNwZWN0b3JDbGllbnQodGhpcyk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uaW5zcGVj
dG9yQ2xpZW50ID0gbV9pbnNwZWN0b3JDbGllbnQ7CiAjZW5kaWYKKyNpZiBFTkFCTEUoV0VCX1JF
UExBWSkKKyAgICBwYWdlQ29uZmlndXJhdGlvbi5yZXBsYXlDbGllbnQgPSBuZXcgV2ViUmVwbGF5
Q2xpZW50KHRoaXMpOworI2VuZGlmCiAjaWYgVVNFKEFVVE9DT1JSRUNUSU9OX1BBTkVMKQogICAg
IHBhZ2VDb25maWd1cmF0aW9uLmFsdGVybmF0aXZlVGV4dENsaWVudCA9IG5ldyBXZWJBbHRlcm5h
dGl2ZVRleHRDbGllbnQodGhpcyk7CiAjZW5kaWYK
</data>
<flag name="review"
          id="269679"
          type_id="1"
          status="-"
          setter="bfulgham"
    />
          </attachment>
      

    </bug>

</bugzilla>