<?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>187825</bug_id>
          
          <creation_ts>2018-07-19 15:35:58 -0700</creation_ts>
          <short_desc>Move WebFrameListenerProxy to WebFramePolicyListenerProxy, its only subclass</short_desc>
          <delta_ts>2018-07-19 19:24:44 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>beidson</cc>
    
    <cc>fujii</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1443542</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-07-19 15:35:58 -0700</bug_when>
    <thetext>Move WebFrameListenerProxy to WebFramePolicyListenerProxy, its only subclass</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1443543</commentid>
    <comment_count>1</comment_count>
      <attachid>345391</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-07-19 15:40:14 -0700</bug_when>
    <thetext>Created attachment 345391
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1443545</commentid>
    <comment_count>2</comment_count>
      <attachid>345393</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-07-19 15:47:21 -0700</bug_when>
    <thetext>Created attachment 345393
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1443552</commentid>
    <comment_count>3</comment_count>
      <attachid>345393</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2018-07-19 15:51:47 -0700</bug_when>
    <thetext>Comment on attachment 345393
Patch

Assuming this is as mechanical as claimed... rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1443559</commentid>
    <comment_count>4</comment_count>
      <attachid>345396</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-07-19 15:59:13 -0700</bug_when>
    <thetext>Created attachment 345396
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1443570</commentid>
    <comment_count>5</comment_count>
      <attachid>345398</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-07-19 16:08:44 -0700</bug_when>
    <thetext>Created attachment 345398
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1443572</commentid>
    <comment_count>6</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-07-19 16:11:23 -0700</bug_when>
    <thetext>http://trac.webkit.org/r234009</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1443575</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-07-19 16:12:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/42405081&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1443655</commentid>
    <comment_count>8</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-07-19 19:24:44 -0700</bug_when>
    <thetext>Committed r234019: &lt;https://trac.webkit.org/changeset/234019&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345391</attachid>
            <date>2018-07-19 15:40:14 -0700</date>
            <delta_ts>2018-07-19 15:47:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187825-20180719154014.patch</filename>
            <type>text/plain</type>
            <size>25220</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzQwMDcpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBACisyMDE4LTA3LTE5ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBXZWJGcmFt
ZUxpc3RlbmVyUHJveHkgdG8gV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5LCBpdHMgb25seSBz
dWJjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTg3ODI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxl
ci5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lv
bi5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eS5jcHA6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eS5oOgorICAgICAgICAoV2ViS2l0
OjpXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk6OmNyZWF0ZSk6CisgICAgICAgIChXZWJL
aXQ6OldlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eTo6V2ViRm9ybVN1Ym1pc3Npb25MaXN0
ZW5lclByb3h5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnJhbWVMaXN0ZW5lclByb3h5LmNw
cDogUmVtb3ZlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnJhbWVMaXN0ZW5lclByb3h5Lmg6
IFJlbW92ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTo6V2Vi
RnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5KToKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVQb2xp
Y3lMaXN0ZW5lclByb3h5OjpyZWNlaXZlZFBvbGljeURlY2lzaW9uKToKKyAgICAgICAgKFdlYktp
dDo6V2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5OjpjaGFuZ2VXZWJzaXRlRGF0YVN0b3JlKToK
KyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5OjppbnZhbGlkYXRl
KToKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5Ojppc01haW5G
cmFtZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94
eTo6c2V0TmF2aWdhdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lUG9saWN5TGlz
dGVuZXJQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJv
eHk6Omxpc3RlbmVySUQgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZVBvbGljeUxp
c3RlbmVyUHJveHk6Om9wZXJhdG9yIG5ldyk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNz
L1dlYkZyYW1lUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZVByb3h5OjphY3Rp
dmVQb2xpY3lMaXN0ZW5lclByb3h5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnJhbWVQcm94
eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHA6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9z
L1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1Zp
ZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dLSW5z
cGVjdG9yVmlld0NvbnRyb2xsZXIubW06CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisKIDIwMTgtMDctMTkgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgog
CiAgICAgICAgIFVwZGF0ZSBpT1MgZnVsbHNjcmVlbiBhbGVydCB0ZXh0IGFnYWluCkluZGV4OiBT
b3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
Q01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDIzMzg2NSkKKysrIFNvdXJjZS9XZWJLaXQvQ01ha2VM
aXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMzNSw3ICszMzUsNiBAQCBzZXQoV2ViS2l0X1NP
VVJDRVMKICAgICBVSVByb2Nlc3MvV2ViRWRpdENvbW1hbmRQcm94eS5jcHAKICAgICBVSVByb2Nl
c3MvV2ViRm9ybUNsaWVudC5jcHAKICAgICBVSVByb2Nlc3MvV2ViRm9ybVN1Ym1pc3Npb25MaXN0
ZW5lclByb3h5LmNwcAotICAgIFVJUHJvY2Vzcy9XZWJGcmFtZUxpc3RlbmVyUHJveHkuY3BwCiAg
ICAgVUlQcm9jZXNzL1dlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eS5jcHAKICAgICBVSVByb2Nl
c3MvV2ViRnJhbWVQcm94eS5jcHAKICAgICBVSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQ
cm94eS5jcHAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZVdlYkluc3BlY3Rv
clByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVX
ZWJJbnNwZWN0b3JQcm94eS5jcHAJKHJldmlzaW9uIDIzMzg2NSkKKysrIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1JlbW90ZVdlYkluc3BlY3RvclByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlJlbW90ZVdlYklu
c3BlY3RvclByb3h5LmgiCiAKKyNpbmNsdWRlICJBUElOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSAi
UmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlJlbW90ZVdlYklu
c3BlY3RvclVJTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJJbnNwZWN0b3JQcm94eS5oIgpJbmRl
eDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRm9ybVN1Ym1pc3Np
b25MaXN0ZW5lclByb3h5LmgJKHJldmlzaW9uIDIzMzg2NSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yNSwxMyArMjUsMTQgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJXZWJGcmFtZUxp
c3RlbmVyUHJveHkuaCIKKyNpbmNsdWRlICJBUElPYmplY3QuaCIKKyNpbmNsdWRlIDx3dGYvQ29t
cGxldGlvbkhhbmRsZXIuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYkZvcm1T
dWJtaXNzaW9uTGlzdGVuZXJQcm94eSA6IHB1YmxpYyBBUEk6Ok9iamVjdEltcGw8QVBJOjpPYmpl
Y3Q6OlR5cGU6OkZvcm1TdWJtaXNzaW9uTGlzdGVuZXI+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMg
UmVmPFdlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eT4gY3JlYXRlKFdURjo6RnVuY3Rpb248
dm9pZCh2b2lkKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKKyAgICBzdGF0aWMgUmVmPFdlYkZvcm1T
dWJtaXNzaW9uTGlzdGVuZXJQcm94eT4gY3JlYXRlKENvbXBsZXRpb25IYW5kbGVyPHZvaWQodm9p
ZCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHkoV1RGTW92ZShjb21wbGV0aW9uSGFu
ZGxlcikpKTsKICAgICB9CkBAIC0zOSwxMCArNDAsMTAgQEAgcHVibGljOgogICAgIHZvaWQgY29u
dGludWVTdWJtaXNzaW9uKCk7CiAKIHByaXZhdGU6Ci0gICAgV2ViRm9ybVN1Ym1pc3Npb25MaXN0
ZW5lclByb3h5KFdURjo6RnVuY3Rpb248dm9pZCh2b2lkKT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
KyAgICBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHkoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCh2b2lkKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKICAgICAgICAgOiBtX2NvbXBsZXRpb25IYW5k
bGVyKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKQogICAgIHsgfQotICAgIFdURjo6RnVuY3Rp
b248dm9pZCh2b2lkKT4gbV9jb21wbGV0aW9uSGFuZGxlcjsKKyAgICBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKHZvaWQpPiBtX2NvbXBsZXRpb25IYW5kbGVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGcmFtZUxpc3RlbmVyUHJv
eHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZyYW1lTGlz
dGVuZXJQcm94eS5jcHAJKHJldmlzaW9uIDIzMzg2NSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYkZyYW1lTGlzdGVuZXJQcm94eS5jcHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw3NSArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYkZyYW1l
TGlzdGVuZXJQcm94eS5oIgotCi0jaW5jbHVkZSAiV2ViRnJhbWVQcm94eS5oIgotI2luY2x1ZGUg
IldlYnNpdGVEYXRhU3RvcmUuaCIKLSNpbmNsdWRlICJXZWJzaXRlUG9saWNpZXNEYXRhLmgiCi0K
LW5hbWVzcGFjZSBXZWJLaXQgewotCi1XZWJGcmFtZUxpc3RlbmVyUHJveHk6OldlYkZyYW1lTGlz
dGVuZXJQcm94eShXZWJGcmFtZVByb3h5KiBmcmFtZSwgdWludDY0X3QgbGlzdGVuZXJJRCkKLSAg
ICA6IG1fZnJhbWUoZnJhbWUpCi0gICAgLCBtX2xpc3RlbmVySUQobGlzdGVuZXJJRCkKLXsKLX0K
LQotV2ViRnJhbWVMaXN0ZW5lclByb3h5Ojp+V2ViRnJhbWVMaXN0ZW5lclByb3h5KCkKLXsKLX0K
LQotdm9pZCBXZWJGcmFtZUxpc3RlbmVyUHJveHk6OmludmFsaWRhdGUoKQotewotICAgIG1fZnJh
bWUgPSBudWxscHRyOwotfQotCi12b2lkIFdlYkZyYW1lTGlzdGVuZXJQcm94eTo6cmVjZWl2ZWRQ
b2xpY3lEZWNpc2lvbihXZWJDb3JlOjpQb2xpY3lBY3Rpb24gYWN0aW9uLCBzdGQ6Om9wdGlvbmFs
PFdlYnNpdGVQb2xpY2llc0RhdGE+JiYgZGF0YSkKLXsKLSAgICBpZiAoIW1fZnJhbWUpCi0gICAg
ICAgIHJldHVybjsKLQotICAgIG1fZnJhbWUtPnJlY2VpdmVkUG9saWN5RGVjaXNpb24oYWN0aW9u
LCBtX2xpc3RlbmVySUQsIG1fbmF2aWdhdGlvbi5nZXQoKSwgV1RGTW92ZShkYXRhKSk7Ci0gICAg
bV9mcmFtZSA9IG51bGxwdHI7Ci19Ci0KLXZvaWQgV2ViRnJhbWVMaXN0ZW5lclByb3h5OjpjaGFu
Z2VXZWJzaXRlRGF0YVN0b3JlKFdlYnNpdGVEYXRhU3RvcmUmIHdlYnNpdGVEYXRhU3RvcmUpCi17
Ci0gICAgaWYgKCFtX2ZyYW1lKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX2ZyYW1lLT5jaGFu
Z2VXZWJzaXRlRGF0YVN0b3JlKHdlYnNpdGVEYXRhU3RvcmUpOwotfQotCi1ib29sIFdlYkZyYW1l
TGlzdGVuZXJQcm94eTo6aXNNYWluRnJhbWUoKSBjb25zdAotewotICAgIGlmICghbV9mcmFtZSkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIG1fZnJhbWUtPmlzTWFpbkZyYW1l
KCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAoKUHJvcGVydHkgY2hhbmdlcyBvbjogU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnJhbWVMaXN0ZW5lclByb3h5LmNwcApfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkRlbGV0ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTEgKzAsMCAjIwotbmF0aXZlClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZy
YW1lTGlzdGVuZXJQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkZyYW1lTGlzdGVuZXJQcm94eS5oCShyZXZpc2lvbiAyMzM4NjUpCisrKyBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJGcmFtZUxpc3RlbmVyUHJveHkuaAkobm9uZXhpc3RlbnQpCkBAIC0x
LDYzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgIkFQSU5h
dmlnYXRpb24uaCIKLSNpbmNsdWRlICJBUElPYmplY3QuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0Zy
YW1lTG9hZGVyVHlwZXMuaD4KLSNpbmNsdWRlIDx3dGYvUmVmLmg+Ci0jaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgV2ViRnJhbWVQcm94eTsKLWNs
YXNzIFdlYnNpdGVEYXRhU3RvcmU7Ci1zdHJ1Y3QgV2Vic2l0ZVBvbGljaWVzRGF0YTsKLQotY2xh
c3MgV2ViRnJhbWVMaXN0ZW5lclByb3h5IDogcHVibGljIEFQSTo6T2JqZWN0IHsKLXB1YmxpYzoK
LSAgICB2aXJ0dWFsIH5XZWJGcmFtZUxpc3RlbmVyUHJveHkoKTsKLQotICAgIHZvaWQgaW52YWxp
ZGF0ZSgpOwotICAgIHVpbnQ2NF90IGxpc3RlbmVySUQoKSBjb25zdCB7IHJldHVybiBtX2xpc3Rl
bmVySUQ7IH0KLQotICAgIHZvaWQgc2V0TmF2aWdhdGlvbihSZWY8QVBJOjpOYXZpZ2F0aW9uPiYm
IG5hdmlnYXRpb24pIHsgbV9uYXZpZ2F0aW9uID0gV1RGTW92ZShuYXZpZ2F0aW9uKTsgfQotCi0g
ICAgdm9pZCBjaGFuZ2VXZWJzaXRlRGF0YVN0b3JlKFdlYnNpdGVEYXRhU3RvcmUmKTsKLSAgICBi
b29sIGlzTWFpbkZyYW1lKCkgY29uc3Q7Ci0KLXByb3RlY3RlZDoKLSAgICBXZWJGcmFtZUxpc3Rl
bmVyUHJveHkoV2ViRnJhbWVQcm94eSosIHVpbnQ2NF90IGxpc3RlbmVySUQpOwotCi0gICAgdm9p
ZCByZWNlaXZlZFBvbGljeURlY2lzaW9uKFdlYkNvcmU6OlBvbGljeUFjdGlvbiwgc3RkOjpvcHRp
b25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiYmKTsKLQotcHJpdmF0ZToKLSAgICBSZWZQdHI8V2Vi
RnJhbWVQcm94eT4gbV9mcmFtZTsKLSAgICB1aW50NjRfdCBtX2xpc3RlbmVySUQ7Ci0gICAgUmVm
UHRyPEFQSTo6TmF2aWdhdGlvbj4gbV9uYXZpZ2F0aW9uOwotfTsKLQotfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJG
cmFtZUxpc3RlbmVyUHJveHkuaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjplb2wtc3R5bGUKIyMg
LTEgKzAsMCAjIwotbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnJhbWVQb2xpY3lMaXN0
ZW5lclByb3h5LmNwcAkocmV2aXNpb24gMjMzODY1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYs
NiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYkZyYW1lUG9saWN5
TGlzdGVuZXJQcm94eS5oIgogCisjaW5jbHVkZSAiQVBJTmF2aWdhdGlvbi5oIgogI2luY2x1ZGUg
IldlYkZyYW1lUHJveHkuaCIKICNpbmNsdWRlICJXZWJzaXRlRGF0YVN0b3JlLmgiCiAjaW5jbHVk
ZSAiV2Vic2l0ZVBvbGljaWVzRGF0YS5oIgpAQCAtMzMsMTEgKzM0LDQ3IEBACiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAogV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5OjpXZWJGcmFtZVBvbGljeUxp
c3RlbmVyUHJveHkoV2ViRnJhbWVQcm94eSogZnJhbWUsIHVpbnQ2NF90IGxpc3RlbmVySUQsIFBv
bGljeUxpc3RlbmVyVHlwZSBwb2xpY3lUeXBlKQotICAgIDogV2ViRnJhbWVMaXN0ZW5lclByb3h5
KGZyYW1lLCBsaXN0ZW5lcklEKQotICAgICwgbV9wb2xpY3lUeXBlKHBvbGljeVR5cGUpCisgICAg
OiBtX3BvbGljeVR5cGUocG9saWN5VHlwZSkKKyAgICAsIG1fZnJhbWUoZnJhbWUpCisgICAgLCBt
X2xpc3RlbmVySUQobGlzdGVuZXJJRCkKIHsKIH0KIAordm9pZCBXZWJGcmFtZVBvbGljeUxpc3Rl
bmVyUHJveHk6OnJlY2VpdmVkUG9saWN5RGVjaXNpb24oV2ViQ29yZTo6UG9saWN5QWN0aW9uIGFj
dGlvbiwgc3RkOjpvcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiYmIGRhdGEpCit7CisgICAg
aWYgKCFtX2ZyYW1lKQorICAgICAgICByZXR1cm47CisgICAgCisgICAgbV9mcmFtZS0+cmVjZWl2
ZWRQb2xpY3lEZWNpc2lvbihhY3Rpb24sIG1fbGlzdGVuZXJJRCwgbV9uYXZpZ2F0aW9uLmdldCgp
LCBXVEZNb3ZlKGRhdGEpKTsKKyAgICBtX2ZyYW1lID0gbnVsbHB0cjsKK30KKwordm9pZCBXZWJG
cmFtZVBvbGljeUxpc3RlbmVyUHJveHk6OmNoYW5nZVdlYnNpdGVEYXRhU3RvcmUoV2Vic2l0ZURh
dGFTdG9yZSYgd2Vic2l0ZURhdGFTdG9yZSkKK3sKKyAgICBpZiAoIW1fZnJhbWUpCisgICAgICAg
IHJldHVybjsKKyAgICAKKyAgICBtX2ZyYW1lLT5jaGFuZ2VXZWJzaXRlRGF0YVN0b3JlKHdlYnNp
dGVEYXRhU3RvcmUpOworfQorCit2b2lkIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTo6aW52
YWxpZGF0ZSgpCit7CisgICAgbV9mcmFtZSA9IG51bGxwdHI7Cit9CisKK2Jvb2wgV2ViRnJhbWVQ
b2xpY3lMaXN0ZW5lclByb3h5Ojppc01haW5GcmFtZSgpIGNvbnN0Cit7CisgICAgaWYgKCFtX2Zy
YW1lKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgCisgICAgcmV0dXJuIG1fZnJhbWUtPmlz
TWFpbkZyYW1lKCk7Cit9CisKK3ZvaWQgV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5OjpzZXRO
YXZpZ2F0aW9uKFJlZjxBUEk6Ok5hdmlnYXRpb24+JiYgbmF2aWdhdGlvbikKK3sKKyAgICBtX25h
dmlnYXRpb24gPSBXVEZNb3ZlKG5hdmlnYXRpb24pOworfQorICAgIAogdm9pZCBXZWJGcmFtZVBv
bGljeUxpc3RlbmVyUHJveHk6OnVzZShzdGQ6Om9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+
JiYgZGF0YSkKIHsKICAgICByZWNlaXZlZFBvbGljeURlY2lzaW9uKFdlYkNvcmU6OlBvbGljeUFj
dGlvbjo6VXNlLCBXVEZNb3ZlKGRhdGEpKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eS5oCShyZXZpc2lvbiAyMzM4
NjUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJv
eHkuaAkod29ya2luZyBjb3B5KQpAQCAtMjUsMjUgKzI1LDM0IEBACiAKICNwcmFnbWEgb25jZQog
Ci0jaW5jbHVkZSAiV2ViRnJhbWVMaXN0ZW5lclByb3h5LmgiCisjaW5jbHVkZSAiQVBJT2JqZWN0
LmgiCiAKICNpZiBQTEFURk9STShDT0NPQSkKICNpbmNsdWRlICJXS0ZvdW5kYXRpb24uaCIKICNl
bmRpZgogCi0jZGVmaW5lIERFTEVHQVRFX1JFRl9DT1VOVElOR19UT19DT0NPQSAoUExBVEZPUk0o
Q09DT0EpICYmIFdLX0FQSV9FTkFCTEVEKQorbmFtZXNwYWNlIEFQSSB7CitjbGFzcyBOYXZpZ2F0
aW9uOworfQorCituYW1lc3BhY2UgV2ViQ29yZSB7CitlbnVtIGNsYXNzIFBvbGljeUFjdGlvbjsK
K30KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKK2NsYXNzIFdlYnNpdGVEYXRhU3RvcmU7CitjbGFz
cyBXZWJGcmFtZVByb3h5Oworc3RydWN0IFdlYnNpdGVQb2xpY2llc0RhdGE7CisKIGVudW0gY2xh
c3MgUG9saWN5TGlzdGVuZXJUeXBlIHsKICAgICBOYXZpZ2F0aW9uQWN0aW9uLAogICAgIE5ld1dp
bmRvd0FjdGlvbiwKICAgICBSZXNwb25zZSwKIH07CiAKLWNsYXNzIFdlYkZyYW1lUG9saWN5TGlz
dGVuZXJQcm94eSA6IHB1YmxpYyBXZWJGcmFtZUxpc3RlbmVyUHJveHkgeworY2xhc3MgV2ViRnJh
bWVQb2xpY3lMaXN0ZW5lclByb3h5IDogcHVibGljIEFQSTo6T2JqZWN0SW1wbDxBUEk6Ok9iamVj
dDo6VHlwZTo6RnJhbWVQb2xpY3lMaXN0ZW5lcj4gewogcHVibGljOgotICAgIHN0YXRpYyBjb25z
dCBUeXBlIEFQSVR5cGUgPSBUeXBlOjpGcmFtZVBvbGljeUxpc3RlbmVyOwogCiAgICAgc3RhdGlj
IFJlZjxXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk+IGNyZWF0ZShXZWJGcmFtZVByb3h5KiBm
cmFtZSwgdWludDY0X3QgbGlzdGVuZXJJRCwgUG9saWN5TGlzdGVuZXJUeXBlIHBvbGljeVR5cGUp
CiAgICAgewpAQCAtNTYsMTggKzY1LDIzIEBAIHB1YmxpYzoKIAogICAgIFBvbGljeUxpc3RlbmVy
VHlwZSBwb2xpY3lMaXN0ZW5lclR5cGUoKSBjb25zdCB7IHJldHVybiBtX3BvbGljeVR5cGU7IH0K
IAorICAgIHVpbnQ2NF90IGxpc3RlbmVySUQoKSBjb25zdCB7IHJldHVybiBtX2xpc3RlbmVySUQ7
IH0KKyAgICAKKyAgICB2b2lkIHNldE5hdmlnYXRpb24oUmVmPEFQSTo6TmF2aWdhdGlvbj4mJik7
CisgICAgdm9pZCBpbnZhbGlkYXRlKCk7CisgICAgCisgICAgdm9pZCBjaGFuZ2VXZWJzaXRlRGF0
YVN0b3JlKFdlYnNpdGVEYXRhU3RvcmUmKTsKKyAgICBib29sIGlzTWFpbkZyYW1lKCkgY29uc3Q7
CisKIHByaXZhdGU6CiAgICAgV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5KFdlYkZyYW1lUHJv
eHkqLCB1aW50NjRfdCBsaXN0ZW5lcklELCBQb2xpY3lMaXN0ZW5lclR5cGUpOwogCi0gICAgVHlw
ZSB0eXBlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gQVBJVHlwZTsgfQotCi0jaWYgREVMRUdB
VEVfUkVGX0NPVU5USU5HX1RPX0NPQ09BCi0gICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCBz
aXplKSB7IHJldHVybiBuZXdPYmplY3Qoc2l6ZSwgQVBJVHlwZSk7IH0KLSNlbmRpZgorICAgIHZv
aWQgcmVjZWl2ZWRQb2xpY3lEZWNpc2lvbihXZWJDb3JlOjpQb2xpY3lBY3Rpb24sIHN0ZDo6b3B0
aW9uYWw8V2Vic2l0ZVBvbGljaWVzRGF0YT4mJik7CiAKICAgICBQb2xpY3lMaXN0ZW5lclR5cGUg
bV9wb2xpY3lUeXBlOworICAgIFJlZlB0cjxXZWJGcmFtZVByb3h5PiBtX2ZyYW1lOworICAgIHVp
bnQ2NF90IG1fbGlzdGVuZXJJRCB7IDAgfTsKKyAgICBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9uPiBt
X25hdmlnYXRpb247CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI3VuZGVmIERFTEVH
QVRFX1JFRl9DT1VOVElOR19UT19DT0NPQQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViRnJhbWVQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViRnJhbWVQcm94eS5jcHAJKHJldmlzaW9uIDIzMzg2NSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVQcm94eS5oIgogCisjaW5j
bHVkZSAiQVBJTmF2aWdhdGlvbi5oIgogI2luY2x1ZGUgIldlYkNlcnRpZmljYXRlSW5mby5oIgog
I2luY2x1ZGUgIldlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eS5oIgogI2luY2x1ZGUgIldlYlBh
Z2VNZXNzYWdlcy5oIgpAQCAtMTk3LDEwICsxOTgsNyBAQCBXZWJGcmFtZVBvbGljeUxpc3RlbmVy
UHJveHkmIFdlYkZyYW1lUHJvCiAKIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eSogV2ViRnJh
bWVQcm94eTo6YWN0aXZlUG9saWN5TGlzdGVuZXJQcm94eSgpCiB7Ci0gICAgaWYgKCFtX2FjdGl2
ZUxpc3RlbmVyIHx8IG1fYWN0aXZlTGlzdGVuZXItPnR5cGUoKSAhPSBXZWJGcmFtZVBvbGljeUxp
c3RlbmVyUHJveHk6OkFQSVR5cGUpCi0gICAgICAgIHJldHVybiBudWxscHRyOwotCi0gICAgcmV0
dXJuIHN0YXRpY19jYXN0PFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eSo+KG1fYWN0aXZlTGlz
dGVuZXIuZ2V0KCkpOworICAgIHJldHVybiBtX2FjdGl2ZUxpc3RlbmVyLmdldCgpOwogfQogCiB2
b2lkIFdlYkZyYW1lUHJveHk6OmNoYW5nZVdlYnNpdGVEYXRhU3RvcmUoV2Vic2l0ZURhdGFTdG9y
ZSYgd2Vic2l0ZURhdGFTdG9yZSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZy
YW1lUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGcmFt
ZVByb3h5LmgJKHJldmlzaW9uIDIzMzg2NSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YkZyYW1lUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogI2luY2x1ZGUg
IkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZFN0YXRlLmgiCiAjaW5jbHVkZSAiR2Vu
ZXJpY0NhbGxiYWNrLmgiCi0jaW5jbHVkZSAiV2ViRnJhbWVMaXN0ZW5lclByb3h5LmgiCisjaW5j
bHVkZSAiV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9G
cmFtZUxvYWRlclR5cGVzLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3
dGYvRnVuY3Rpb24uaD4KQEAgLTE0NCw3ICsxNDQsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9p
c0ZyYW1lU2V0OwogICAgIGJvb2wgbV9jb250YWluc1BsdWdpbkRvY3VtZW50IHsgZmFsc2UgfTsK
ICAgICBSZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBtX2NlcnRpZmljYXRlSW5mbzsKLSAgICBS
ZWZQdHI8V2ViRnJhbWVMaXN0ZW5lclByb3h5PiBtX2FjdGl2ZUxpc3RlbmVyOworICAgIFJlZlB0
cjxXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk+IG1fYWN0aXZlTGlzdGVuZXI7CiAgICAgdWlu
dDY0X3QgbV9mcmFtZUlEOwogI2lmIEVOQUJMRShDT05URU5UX0ZJTFRFUklORykKICAgICBXZWJD
b3JlOjpDb250ZW50RmlsdGVyVW5ibG9ja0hhbmRsZXIgbV9jb250ZW50RmlsdGVyVW5ibG9ja0hh
bmRsZXI7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJv
eHkuY3BwCShyZXZpc2lvbiAyMzM4NjUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJJ
bnNwZWN0b3JQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJJbnNwZWN0b3JQcm94eS5oIgogCisjaW5jbHVk
ZSAiQVBJTmF2aWdhdGlvbi5oIgogI2luY2x1ZGUgIkFQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlv
bi5oIgogI2luY2x1ZGUgIldlYkF1dG9tYXRpb25TZXNzaW9uLmgiCiAjaW5jbHVkZSAiV2ViRnJh
bWVQcm94eS5oIgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29s
LmNwcAkocmV2aXNpb24gMjMzODY1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAi
QVBJSFRUUENvb2tpZVN0b3JlLmgiCiAjaW5jbHVkZSAiQVBJSW5qZWN0ZWRCdW5kbGVDbGllbnQu
aCIKICNpbmNsdWRlICJBUElMZWdhY3lDb250ZXh0SGlzdG9yeUNsaWVudC5oIgorI2luY2x1ZGUg
IkFQSU5hdmlnYXRpb24uaCIKICNpbmNsdWRlICJBUElQYWdlQ29uZmlndXJhdGlvbi5oIgogI2lu
Y2x1ZGUgIkFQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5oIgogI2luY2x1ZGUgIkNoaWxkUHJv
Y2Vzc01lc3NhZ2VzLmgiCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1Bh
Z2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFn
ZS5jcHAJKHJldmlzaW9uIDIzMzg2NSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
L1dLUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJB
UElHZW9tZXRyeS5oIgogI2luY2x1ZGUgIkFQSUhpdFRlc3RSZXN1bHQuaCIKICNpbmNsdWRlICJB
UElMb2FkZXJDbGllbnQuaCIKKyNpbmNsdWRlICJBUElOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSAi
QVBJTmF2aWdhdGlvbkFjdGlvbi5oIgogI2luY2x1ZGUgIkFQSU5hdmlnYXRpb25DbGllbnQuaCIK
ICNpbmNsdWRlICJBUElOYXZpZ2F0aW9uUmVzcG9uc2UuaCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250
ZXh0Q29udHJvbGxlci5tbQkocmV2aXNpb24gMjMzODY1KQorKysgU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbQkod29ya2luZyBj
b3B5KQpAQCAtMjksNiArMjksNyBAQAogI2lmIFdLX0FQSV9FTkFCTEVECiAKICNpbXBvcnQgIkFQ
SURhdGEuaCIKKyNpbXBvcnQgIkFQSU5hdmlnYXRpb24uaCIKICNpbXBvcnQgIk9iakNPYmplY3RH
cmFwaC5oIgogI2ltcG9ydCAiUGFnZUxvYWRTdGF0ZU9ic2VydmVyLmgiCiAjaW1wb3J0ICJSZW1v
dGVPYmplY3RSZWdpc3RyeS5oIgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21h
dGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAJKHJldmlzaW9u
IDIzMzg2NSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21h
dGlvblNlc3Npb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNs
dWRlICJBUElBcnJheS5oIgogI2luY2x1ZGUgIkFQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lmgi
CisjaW5jbHVkZSAiQVBJTmF2aWdhdGlvbi5oIgogI2luY2x1ZGUgIkFQSU9wZW5QYW5lbFBhcmFt
ZXRlcnMuaCIKICNpbmNsdWRlICJBdXRvbWF0aW9uUHJvdG9jb2xPYmplY3RzLmgiCiAjaW5jbHVk
ZSAiQ29vcmRpbmF0ZVN5c3RlbS5oIgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvV2ViVmlld0ltcGwubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViVmlld0ltcGwubW0JKHJldmlzaW9uIDIzMzg2NSkKKysrIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsy
OSw3IEBACiAjaWYgUExBVEZPUk0oTUFDKQogCiAjaW1wb3J0ICJBUElMZWdhY3lDb250ZXh0SGlz
dG9yeUNsaWVudC5oIgorI2ltcG9ydCAiQVBJTmF2aWdhdGlvbi5oIgogI2ltcG9ydCAiQXR0cmli
dXRlZFN0cmluZy5oIgogI2ltcG9ydCAiQ29sb3JTcGFjZURhdGEuaCIKICNpbXBvcnQgIkZ1bGxz
Y3JlZW5DbGllbnQuaCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9WaWV3R2Vz
dHVyZUNvbnRyb2xsZXJJT1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5tbQkocmV2aXNpb24gMjMzODY1KQorKysg
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5tbQko
d29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgUExBVEZPUk0oSU9TKQogCisj
aW1wb3J0ICJBUElOYXZpZ2F0aW9uLmgiCiAjaW1wb3J0ICJEcmF3aW5nQXJlYVByb3h5LmgiCiAj
aW1wb3J0ICJVSUtpdFNQSS5oIgogI2ltcG9ydCAiVmlld0dlc3R1cmVDb250cm9sbGVyTWVzc2Fn
ZXMuaCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRy
b2xsZXJNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1Zp
ZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbQkocmV2aXNpb24gMjMzODY1KQorKysgU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbQkod29ya2luZyBj
b3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgUExBVEZPUk0oTUFDKQogCisjaW1wb3J0ICJB
UElOYXZpZ2F0aW9uLmgiCiAjaW1wb3J0ICJEcmF3aW5nQXJlYVByb3h5LmgiCiAjaW1wb3J0ICJG
cmFtZUxvYWRTdGF0ZS5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgpJbmRleDogU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvbWFjL1dLSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dLSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIu
bW0JKHJldmlzaW9uIDIzMzg2NSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS0lu
c3BlY3RvclZpZXdDb250cm9sbGVyLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBA
CiAKICNpZiBQTEFURk9STShNQUMpICYmIFdLX0FQSV9FTkFCTEVECiAKKyNpbXBvcnQgIkFQSU5h
dmlnYXRpb24uaCIKICNpbXBvcnQgIlZlcnNpb25DaGVja3MuaCIKICNpbXBvcnQgIldLRnJhbWVJ
bmZvLmgiCiAjaW1wb3J0ICJXS0luc3BlY3RvcldLV2ViVmlldy5oIgpJbmRleDogU291cmNlL1dl
YktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMzM4
NjUpCisrKyBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3
b3JraW5nIGNvcHkpCkBAIC0xOTgwLDggKzE5ODAsNiBAQAogCQlCQ0U0Njk1NjEyMTRFNkNCMDAw
Qjk4RUIgLyogV2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0U0Njk1MjEyMTRFNkNCMDAwQjk4RUIg
LyogV2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5LmggKi87IH07CiAJCUJDRTQ2OTU5MTIx
NEVERjQwMDBCOThFQiAvKiBXS0Zvcm1TdWJtaXNzaW9uTGlzdGVuZXIuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFNDY5NTcxMjE0RURGNDAwMEI5
OEVCIC8qIFdLRm9ybVN1Ym1pc3Npb25MaXN0ZW5lci5jcHAgKi87IH07CiAJCUJDRTQ2OTVBMTIx
NEVERjQwMDBCOThFQiAvKiBXS0Zvcm1TdWJtaXNzaW9uTGlzdGVuZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRTQ2OTU4MTIxNEVERjQwMDBCOThF
QiAvKiBXS0Zvcm1TdWJtaXNzaW9uTGlzdGVuZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlCQ0U0Njk3NzEyMTRGMjdCMDAwQjk4RUIgLyogV2Vi
RnJhbWVMaXN0ZW5lclByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQ0U0Njk3NjEyMTRGMjdCMDAwQjk4RUIgLyogV2ViRnJhbWVMaXN0ZW5lclBy
b3h5LmggKi87IH07Ci0JCUJDRTQ2OTc5MTIxNEYyQjQwMDBCOThFQiAvKiBXZWJGcmFtZUxpc3Rl
bmVyUHJveHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkNFNDY5NzgxMjE0RjJCNDAwMEI5OEVCIC8qIFdlYkZyYW1lTGlzdGVuZXJQcm94eS5jcHAg
Ki87IH07CiAJCUJDRTgxRDhDMTMxOUY3RUYwMDI0MTkxMCAvKiBGb250SW5mby5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0U4MUQ4QTEzMTlGN0VG
MDAyNDE5MTAgLyogRm9udEluZm8uY3BwICovOyB9OwogCQlCQ0U4MUQ4RDEzMTlGN0VGMDAyNDE5
MTAgLyogRm9udEluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDRTgxRDhCMTMxOUY3RUYwMDI0MTkxMCAvKiBGb250SW5mby5oICovOyB9OwogCQlC
Q0VFN0FEMDEyODE3OTg4MDA5ODI3REEgLyogV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRUU3
QUNDMTI4MTc5ODgwMDk4MjdEQSAvKiBXZWJQcm9jZXNzUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3Bw
ICovOyB9OwpAQCAtNDU5NCw4ICs0NTkyLDYgQEAKIAkJQkNFNDY5NTIxMjE0RTZDQjAwMEI5OEVC
IC8qIFdlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHkuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNFNDY5NTcxMjE0RURGNDAwMEI5OEVCIC8qIFdLRm9ybVN1
Ym1pc3Npb25MaXN0ZW5lci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXS0Zvcm1TdWJtaXNzaW9uTGlzdGVuZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlCQ0U0Njk1ODEyMTRFREY0MDAwQjk4RUIgLyogV0tGb3JtU3VibWlzc2lvbkxpc3RlbmVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLRm9ybVN1Ym1pc3Npb25MaXN0
ZW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQ0U0Njk3NjEyMTRGMjdCMDAw
Qjk4RUIgLyogV2ViRnJhbWVMaXN0ZW5lclByb3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdlYkZyYW1lTGlzdGVuZXJQcm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQlCQ0U0Njk3ODEyMTRGMkI0MDAwQjk4RUIgLyogV2ViRnJhbWVMaXN0ZW5lclByb3h5
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkZyYW1lTGlzdGVu
ZXJQcm94eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRTgxRDhBMTMxOUY3
RUYwMDI0MTkxMCAvKiBGb250SW5mby5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBGb250SW5mby5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRTgx
RDhCMTMxOUY3RUYwMDI0MTkxMCAvKiBGb250SW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBGb250SW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0U5
QzBDRjE0ODU5NjVEMDBFMzNENjEgLyogV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vz
cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NDg1LDggKzc0ODEsNiBAQAog
CQkJCUJDRTQ2OTUwMTIxNEU2Q0IwMDBCOThFQiAvKiBXZWJGb3JtQ2xpZW50LmggKi8sCiAJCQkJ
QkNFNDY5NTExMjE0RTZDQjAwMEI5OEVCIC8qIFdlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94
eS5jcHAgKi8sCiAJCQkJQkNFNDY5NTIxMjE0RTZDQjAwMEI5OEVCIC8qIFdlYkZvcm1TdWJtaXNz
aW9uTGlzdGVuZXJQcm94eS5oICovLAotCQkJCUJDRTQ2OTc4MTIxNEYyQjQwMDBCOThFQiAvKiBX
ZWJGcmFtZUxpc3RlbmVyUHJveHkuY3BwICovLAotCQkJCUJDRTQ2OTc2MTIxNEYyN0IwMDBCOThF
QiAvKiBXZWJGcmFtZUxpc3RlbmVyUHJveHkuaCAqLywKIAkJCQlCQ0I5RjY5RjExMjNBODRCMDBB
MTM3RTAgLyogV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5LmNwcCAqLywKIAkJCQlCQ0I5RjY5
RTExMjNBODRCMDBBMTM3RTAgLyogV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5LmggKi8sCiAJ
CQkJQkMxMTFCMEExMTJGNUU0RjAwMzM3QkFCIC8qIFdlYkZyYW1lUHJveHkuY3BwICovLApAQCAt
OTQ1OCw3ICs5NDUyLDYgQEAKIAkJCQlCQ0U0Njk1NDEyMTRFNkNCMDAwQjk4RUIgLyogV2ViRm9y
bUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFNDY5NTYxMjE0RTZDQjAwMEI5OEVCIC8q
IFdlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMw
MzJEOEQxMEY0MzdBMDAwNThDMTVBIC8qIFdlYkZyYW1lLmggaW4gSGVhZGVycyAqLywKLQkJCQlC
Q0U0Njk3NzEyMTRGMjdCMDAwQjk4RUIgLyogV2ViRnJhbWVMaXN0ZW5lclByb3h5LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQzAzMkQ3RjEwRjQzNzhEMDA1OEMxNUEgLyogV2ViRnJhbWVMb2FkZXJD
bGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzOTFGMkNCMTIxQjY3QUQwMEVCRjdFOCAvKiBX
ZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0I5RjZBMDEx
MjNBODRCMDBBMTM3RTAgLyogV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5LmggaW4gSGVhZGVy
cyAqLywKQEAgLTExMjY5LDcgKzExMjYyLDYgQEAKIAkJCQlCQ0U0Njk1MzEyMTRFNkNCMDAwQjk4
RUIgLyogV2ViRm9ybUNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0U0Njk1NTEyMTRF
NkNCMDAwQjk4RUIgLyogV2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUJDMTExQUREMTEyRjVCOTMwMDMzN0JBQiAvKiBXZWJGcmFtZS5jcHAgaW4g
U291cmNlcyAqLywKLQkJCQlCQ0U0Njk3OTEyMTRGMkI0MDAwQjk4RUIgLyogV2ViRnJhbWVMaXN0
ZW5lclByb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMTExQTVGMTEyRjRGQkIwMDMzN0JB
QiAvKiBXZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDI4RjNF
NzE4ODVDQ0MxMDA0QjlFQUUgLyogV2ViRnJhbWVMb2FkZXJDbGllbnRJT1MubW0gaW4gU291cmNl
cyAqLywKIAkJCQk5MzkxRjJDQTEyMUI2NzlBMDBFQkY3RTggLyogV2ViRnJhbWVOZXR3b3JraW5n
Q29udGV4dC5tbSBpbiBTb3VyY2VzICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345393</attachid>
            <date>2018-07-19 15:47:21 -0700</date>
            <delta_ts>2018-07-19 15:59:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187825-20180719154720.patch</filename>
            <type>text/plain</type>
            <size>25868</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzQwMDcpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBACisyMDE4LTA3LTE5ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBXZWJGcmFt
ZUxpc3RlbmVyUHJveHkgdG8gV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5LCBpdHMgb25seSBz
dWJjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTg3ODI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxl
ci5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lv
bi5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eS5jcHA6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eS5oOgorICAgICAgICAoV2ViS2l0
OjpXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk6OmNyZWF0ZSk6CisgICAgICAgIChXZWJL
aXQ6OldlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eTo6V2ViRm9ybVN1Ym1pc3Npb25MaXN0
ZW5lclByb3h5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnJhbWVMaXN0ZW5lclByb3h5LmNw
cDogUmVtb3ZlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnJhbWVMaXN0ZW5lclByb3h5Lmg6
IFJlbW92ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTo6V2Vi
RnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5KToKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVQb2xp
Y3lMaXN0ZW5lclByb3h5OjpyZWNlaXZlZFBvbGljeURlY2lzaW9uKToKKyAgICAgICAgKFdlYktp
dDo6V2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5OjpjaGFuZ2VXZWJzaXRlRGF0YVN0b3JlKToK
KyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5OjppbnZhbGlkYXRl
KToKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5Ojppc01haW5G
cmFtZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94
eTo6c2V0TmF2aWdhdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lUG9saWN5TGlz
dGVuZXJQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJv
eHk6Omxpc3RlbmVySUQgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZVBvbGljeUxp
c3RlbmVyUHJveHk6Om9wZXJhdG9yIG5ldyk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNz
L1dlYkZyYW1lUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZVByb3h5OjphY3Rp
dmVQb2xpY3lMaXN0ZW5lclByb3h5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViRnJhbWVQcm94
eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHA6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9z
L1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1Zp
ZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dLSW5z
cGVjdG9yVmlld0NvbnRyb2xsZXIubW06CisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisKIDIwMTgtMDctMTkgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgog
CiAgICAgICAgIFVwZGF0ZSBpT1MgZnVsbHNjcmVlbiBhbGVydCB0ZXh0IGFnYWluCkluZGV4OiBT
b3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
Q01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDIzNDAwNykKKysrIFNvdXJjZS9XZWJLaXQvQ01ha2VM
aXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMzNSw3ICszMzUsNiBAQCBzZXQoV2ViS2l0X1NP
VVJDRVMKICAgICBVSVByb2Nlc3MvV2ViRWRpdENvbW1hbmRQcm94eS5jcHAKICAgICBVSVByb2Nl
c3MvV2ViRm9ybUNsaWVudC5jcHAKICAgICBVSVByb2Nlc3MvV2ViRm9ybVN1Ym1pc3Npb25MaXN0
ZW5lclByb3h5LmNwcAotICAgIFVJUHJvY2Vzcy9XZWJGcmFtZUxpc3RlbmVyUHJveHkuY3BwCiAg
ICAgVUlQcm9jZXNzL1dlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eS5jcHAKICAgICBVSVByb2Nl
c3MvV2ViRnJhbWVQcm94eS5jcHAKICAgICBVSVByb2Nlc3MvV2ViRnVsbFNjcmVlbk1hbmFnZXJQ
cm94eS5jcHAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZVdlYkluc3BlY3Rv
clByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVX
ZWJJbnNwZWN0b3JQcm94eS5jcHAJKHJldmlzaW9uIDIzNDAwNykKKysrIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1JlbW90ZVdlYkluc3BlY3RvclByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlJlbW90ZVdlYklu
c3BlY3RvclByb3h5LmgiCiAKKyNpbmNsdWRlICJBUElOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSAi
UmVtb3RlV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlJlbW90ZVdlYklu
c3BlY3RvclVJTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJJbnNwZWN0b3JQcm94eS5oIgpJbmRl
eDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRm9ybVN1Ym1pc3Np
b25MaXN0ZW5lclByb3h5LmgJKHJldmlzaW9uIDIzNDAwNykKKysrIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yNSwxMyArMjUsMTQgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJXZWJGcmFtZUxp
c3RlbmVyUHJveHkuaCIKKyNpbmNsdWRlICJBUElPYmplY3QuaCIKKyNpbmNsdWRlIDx3dGYvQ29t
cGxldGlvbkhhbmRsZXIuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFdlYkZvcm1T
dWJtaXNzaW9uTGlzdGVuZXJQcm94eSA6IHB1YmxpYyBBUEk6Ok9iamVjdEltcGw8QVBJOjpPYmpl
Y3Q6OlR5cGU6OkZvcm1TdWJtaXNzaW9uTGlzdGVuZXI+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMg
UmVmPFdlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eT4gY3JlYXRlKFdURjo6RnVuY3Rpb248
dm9pZCh2b2lkKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKKyAgICBzdGF0aWMgUmVmPFdlYkZvcm1T
dWJtaXNzaW9uTGlzdGVuZXJQcm94eT4gY3JlYXRlKENvbXBsZXRpb25IYW5kbGVyPHZvaWQodm9p
ZCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHkoV1RGTW92ZShjb21wbGV0aW9uSGFu
ZGxlcikpKTsKICAgICB9CkBAIC0zOSwxMCArNDAsMTAgQEAgcHVibGljOgogICAgIHZvaWQgY29u
dGludWVTdWJtaXNzaW9uKCk7CiAKIHByaXZhdGU6Ci0gICAgV2ViRm9ybVN1Ym1pc3Npb25MaXN0
ZW5lclByb3h5KFdURjo6RnVuY3Rpb248dm9pZCh2b2lkKT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
KyAgICBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHkoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCh2b2lkKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKICAgICAgICAgOiBtX2NvbXBsZXRpb25IYW5k
bGVyKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKQogICAgIHsgfQotICAgIFdURjo6RnVuY3Rp
b248dm9pZCh2b2lkKT4gbV9jb21wbGV0aW9uSGFuZGxlcjsKKyAgICBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKHZvaWQpPiBtX2NvbXBsZXRpb25IYW5kbGVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGcmFtZUxpc3RlbmVyUHJv
eHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZyYW1lTGlz
dGVuZXJQcm94eS5jcHAJKHJldmlzaW9uIDIzNDAwNykKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYkZyYW1lTGlzdGVuZXJQcm94eS5jcHAJKG5vbmV4aXN0ZW50KQpAQCAtMSw3NSArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYkZyYW1l
TGlzdGVuZXJQcm94eS5oIgotCi0jaW5jbHVkZSAiV2ViRnJhbWVQcm94eS5oIgotI2luY2x1ZGUg
IldlYnNpdGVEYXRhU3RvcmUuaCIKLSNpbmNsdWRlICJXZWJzaXRlUG9saWNpZXNEYXRhLmgiCi0K
LW5hbWVzcGFjZSBXZWJLaXQgewotCi1XZWJGcmFtZUxpc3RlbmVyUHJveHk6OldlYkZyYW1lTGlz
dGVuZXJQcm94eShXZWJGcmFtZVByb3h5KiBmcmFtZSwgdWludDY0X3QgbGlzdGVuZXJJRCkKLSAg
ICA6IG1fZnJhbWUoZnJhbWUpCi0gICAgLCBtX2xpc3RlbmVySUQobGlzdGVuZXJJRCkKLXsKLX0K
LQotV2ViRnJhbWVMaXN0ZW5lclByb3h5Ojp+V2ViRnJhbWVMaXN0ZW5lclByb3h5KCkKLXsKLX0K
LQotdm9pZCBXZWJGcmFtZUxpc3RlbmVyUHJveHk6OmludmFsaWRhdGUoKQotewotICAgIG1fZnJh
bWUgPSBudWxscHRyOwotfQotCi12b2lkIFdlYkZyYW1lTGlzdGVuZXJQcm94eTo6cmVjZWl2ZWRQ
b2xpY3lEZWNpc2lvbihXZWJDb3JlOjpQb2xpY3lBY3Rpb24gYWN0aW9uLCBzdGQ6Om9wdGlvbmFs
PFdlYnNpdGVQb2xpY2llc0RhdGE+JiYgZGF0YSkKLXsKLSAgICBpZiAoIW1fZnJhbWUpCi0gICAg
ICAgIHJldHVybjsKLQotICAgIG1fZnJhbWUtPnJlY2VpdmVkUG9saWN5RGVjaXNpb24oYWN0aW9u
LCBtX2xpc3RlbmVySUQsIG1fbmF2aWdhdGlvbi5nZXQoKSwgV1RGTW92ZShkYXRhKSk7Ci0gICAg
bV9mcmFtZSA9IG51bGxwdHI7Ci19Ci0KLXZvaWQgV2ViRnJhbWVMaXN0ZW5lclByb3h5OjpjaGFu
Z2VXZWJzaXRlRGF0YVN0b3JlKFdlYnNpdGVEYXRhU3RvcmUmIHdlYnNpdGVEYXRhU3RvcmUpCi17
Ci0gICAgaWYgKCFtX2ZyYW1lKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX2ZyYW1lLT5jaGFu
Z2VXZWJzaXRlRGF0YVN0b3JlKHdlYnNpdGVEYXRhU3RvcmUpOwotfQotCi1ib29sIFdlYkZyYW1l
TGlzdGVuZXJQcm94eTo6aXNNYWluRnJhbWUoKSBjb25zdAotewotICAgIGlmICghbV9mcmFtZSkK
LSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJuIG1fZnJhbWUtPmlzTWFpbkZyYW1l
KCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAoKUHJvcGVydHkgY2hhbmdlcyBvbjogU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnJhbWVMaXN0ZW5lclByb3h5LmNwcApfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CkRlbGV0ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTEgKzAsMCAjIwotbmF0aXZlClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZy
YW1lTGlzdGVuZXJQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYkZyYW1lTGlzdGVuZXJQcm94eS5oCShyZXZpc2lvbiAyMzQwMDcpCisrKyBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJGcmFtZUxpc3RlbmVyUHJveHkuaAkobm9uZXhpc3RlbnQpCkBAIC0x
LDY4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgIkFQSU5h
dmlnYXRpb24uaCIKLSNpbmNsdWRlICJBUElPYmplY3QuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0Zy
YW1lTG9hZGVyVHlwZXMuaD4KLSNpbmNsdWRlIDx3dGYvUmVmLmg+Ci0jaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgV2ViRnJhbWVQcm94eTsKLWNs
YXNzIFdlYnNpdGVEYXRhU3RvcmU7Ci1zdHJ1Y3QgV2Vic2l0ZVBvbGljaWVzRGF0YTsKLQotY2xh
c3MgV2ViRnJhbWVMaXN0ZW5lclByb3h5IDogcHVibGljIEFQSTo6T2JqZWN0IHsKLXB1YmxpYzoK
LSAgICB2aXJ0dWFsIH5XZWJGcmFtZUxpc3RlbmVyUHJveHkoKTsKLQotICAgIHZvaWQgaW52YWxp
ZGF0ZSgpOwotICAgIHVpbnQ2NF90IGxpc3RlbmVySUQoKSBjb25zdCB7IHJldHVybiBtX2xpc3Rl
bmVySUQ7IH0KLQotICAgIHZvaWQgc2V0TmF2aWdhdGlvbihSZWY8QVBJOjpOYXZpZ2F0aW9uPiYm
IG5hdmlnYXRpb24pIHsgbV9uYXZpZ2F0aW9uID0gV1RGTW92ZShuYXZpZ2F0aW9uKTsgfQotCi0g
ICAgdm9pZCBjaGFuZ2VXZWJzaXRlRGF0YVN0b3JlKFdlYnNpdGVEYXRhU3RvcmUmKTsKLQotICAg
IHZvaWQgc2V0QXBwbHlQb2xpY3lJbk5ld1Byb2Nlc3NJZlBvc3NpYmxlKGJvb2wgYXBwbHlQb2xp
Y3lJbk5ld1Byb2Nlc3NJZlBvc3NpYmxlKSB7IG1fYXBwbHlQb2xpY3lJbk5ld1Byb2Nlc3NJZlBv
c3NpYmxlID0gYXBwbHlQb2xpY3lJbk5ld1Byb2Nlc3NJZlBvc3NpYmxlOyB9Ci0gICAgYm9vbCBh
cHBseVBvbGljeUluTmV3UHJvY2Vzc0lmUG9zc2libGUoKSBjb25zdCB7IHJldHVybiBtX2FwcGx5
UG9saWN5SW5OZXdQcm9jZXNzSWZQb3NzaWJsZTsgfQotCi0gICAgYm9vbCBpc01haW5GcmFtZSgp
IGNvbnN0OwotCi1wcm90ZWN0ZWQ6Ci0gICAgV2ViRnJhbWVMaXN0ZW5lclByb3h5KFdlYkZyYW1l
UHJveHkqLCB1aW50NjRfdCBsaXN0ZW5lcklEKTsKLQotICAgIHZvaWQgcmVjZWl2ZWRQb2xpY3lE
ZWNpc2lvbihXZWJDb3JlOjpQb2xpY3lBY3Rpb24sIHN0ZDo6b3B0aW9uYWw8V2Vic2l0ZVBvbGlj
aWVzRGF0YT4mJik7Ci0KLXByaXZhdGU6Ci0gICAgUmVmUHRyPFdlYkZyYW1lUHJveHk+IG1fZnJh
bWU7Ci0gICAgdWludDY0X3QgbV9saXN0ZW5lcklEOwotICAgIFJlZlB0cjxBUEk6Ok5hdmlnYXRp
b24+IG1fbmF2aWdhdGlvbjsKLSAgICBib29sIG1fYXBwbHlQb2xpY3lJbk5ld1Byb2Nlc3NJZlBv
c3NpYmxlIHsgZmFsc2UgfTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAoKUHJvcGVydHkg
Y2hhbmdlcyBvbjogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnJhbWVMaXN0ZW5lclByb3h5
LmgKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpEZWxldGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0xICswLDAgIyMKLW5hdGl2
ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eS5jcHAJKHJl
dmlzaW9uIDIzNDAwNykKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZyYW1lUG9saWN5
TGlzdGVuZXJQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkuaCIK
IAorI2luY2x1ZGUgIkFQSU5hdmlnYXRpb24uaCIKICNpbmNsdWRlICJXZWJGcmFtZVByb3h5Lmgi
CiAjaW5jbHVkZSAiV2Vic2l0ZURhdGFTdG9yZS5oIgogI2luY2x1ZGUgIldlYnNpdGVQb2xpY2ll
c0RhdGEuaCIKQEAgLTMzLDExICszNCw0NyBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIFdlYkZy
YW1lUG9saWN5TGlzdGVuZXJQcm94eTo6V2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5KFdlYkZy
YW1lUHJveHkqIGZyYW1lLCB1aW50NjRfdCBsaXN0ZW5lcklELCBQb2xpY3lMaXN0ZW5lclR5cGUg
cG9saWN5VHlwZSkKLSAgICA6IFdlYkZyYW1lTGlzdGVuZXJQcm94eShmcmFtZSwgbGlzdGVuZXJJ
RCkKLSAgICAsIG1fcG9saWN5VHlwZShwb2xpY3lUeXBlKQorICAgIDogbV9wb2xpY3lUeXBlKHBv
bGljeVR5cGUpCisgICAgLCBtX2ZyYW1lKGZyYW1lKQorICAgICwgbV9saXN0ZW5lcklEKGxpc3Rl
bmVySUQpCiB7CiB9CiAKK3ZvaWQgV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5OjpyZWNlaXZl
ZFBvbGljeURlY2lzaW9uKFdlYkNvcmU6OlBvbGljeUFjdGlvbiBhY3Rpb24sIHN0ZDo6b3B0aW9u
YWw8V2Vic2l0ZVBvbGljaWVzRGF0YT4mJiBkYXRhKQoreworICAgIGlmICghbV9mcmFtZSkKKyAg
ICAgICAgcmV0dXJuOworICAgIAorICAgIG1fZnJhbWUtPnJlY2VpdmVkUG9saWN5RGVjaXNpb24o
YWN0aW9uLCBtX2xpc3RlbmVySUQsIG1fbmF2aWdhdGlvbi5nZXQoKSwgV1RGTW92ZShkYXRhKSk7
CisgICAgbV9mcmFtZSA9IG51bGxwdHI7Cit9CisKK3ZvaWQgV2ViRnJhbWVQb2xpY3lMaXN0ZW5l
clByb3h5OjpjaGFuZ2VXZWJzaXRlRGF0YVN0b3JlKFdlYnNpdGVEYXRhU3RvcmUmIHdlYnNpdGVE
YXRhU3RvcmUpCit7CisgICAgaWYgKCFtX2ZyYW1lKQorICAgICAgICByZXR1cm47CisgICAgCisg
ICAgbV9mcmFtZS0+Y2hhbmdlV2Vic2l0ZURhdGFTdG9yZSh3ZWJzaXRlRGF0YVN0b3JlKTsKK30K
Kwordm9pZCBXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk6OmludmFsaWRhdGUoKQoreworICAg
IG1fZnJhbWUgPSBudWxscHRyOworfQorCitib29sIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94
eTo6aXNNYWluRnJhbWUoKSBjb25zdAoreworICAgIGlmICghbV9mcmFtZSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIAorICAgIHJldHVybiBtX2ZyYW1lLT5pc01haW5GcmFtZSgpOworfQor
Cit2b2lkIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTo6c2V0TmF2aWdhdGlvbihSZWY8QVBJ
OjpOYXZpZ2F0aW9uPiYmIG5hdmlnYXRpb24pCit7CisgICAgbV9uYXZpZ2F0aW9uID0gV1RGTW92
ZShuYXZpZ2F0aW9uKTsKK30KKyAgICAKIHZvaWQgV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5
Ojp1c2Uoc3RkOjpvcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiYmIGRhdGEpCiB7CiAgICAg
cmVjZWl2ZWRQb2xpY3lEZWNpc2lvbihXZWJDb3JlOjpQb2xpY3lBY3Rpb246OlVzZSwgV1RGTW92
ZShkYXRhKSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGcmFtZVBvbGljeUxp
c3RlbmVyUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJG
cmFtZVBvbGljeUxpc3RlbmVyUHJveHkuaAkocmV2aXNpb24gMjM0MDA3KQorKysgU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI1LDI1ICsyNSwzNCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIldlYkZy
YW1lTGlzdGVuZXJQcm94eS5oIgorI2luY2x1ZGUgIkFQSU9iamVjdC5oIgogCiAjaWYgUExBVEZP
Uk0oQ09DT0EpCiAjaW5jbHVkZSAiV0tGb3VuZGF0aW9uLmgiCiAjZW5kaWYKIAotI2RlZmluZSBE
RUxFR0FURV9SRUZfQ09VTlRJTkdfVE9fQ09DT0EgKFBMQVRGT1JNKENPQ09BKSAmJiBXS19BUElf
RU5BQkxFRCkKK25hbWVzcGFjZSBBUEkgeworY2xhc3MgTmF2aWdhdGlvbjsKK30KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworZW51bSBjbGFzcyBQb2xpY3lBY3Rpb247Cit9CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCitjbGFzcyBXZWJzaXRlRGF0YVN0b3JlOworY2xhc3MgV2ViRnJhbWVQcm94eTsK
K3N0cnVjdCBXZWJzaXRlUG9saWNpZXNEYXRhOworCiBlbnVtIGNsYXNzIFBvbGljeUxpc3RlbmVy
VHlwZSB7CiAgICAgTmF2aWdhdGlvbkFjdGlvbiwKICAgICBOZXdXaW5kb3dBY3Rpb24sCiAgICAg
UmVzcG9uc2UsCiB9OwogCi1jbGFzcyBXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkgOiBwdWJs
aWMgV2ViRnJhbWVMaXN0ZW5lclByb3h5IHsKK2NsYXNzIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQ
cm94eSA6IHB1YmxpYyBBUEk6Ok9iamVjdEltcGw8QVBJOjpPYmplY3Q6OlR5cGU6OkZyYW1lUG9s
aWN5TGlzdGVuZXI+IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgY29uc3QgVHlwZSBBUElUeXBlID0g
VHlwZTo6RnJhbWVQb2xpY3lMaXN0ZW5lcjsKIAogICAgIHN0YXRpYyBSZWY8V2ViRnJhbWVQb2xp
Y3lMaXN0ZW5lclByb3h5PiBjcmVhdGUoV2ViRnJhbWVQcm94eSogZnJhbWUsIHVpbnQ2NF90IGxp
c3RlbmVySUQsIFBvbGljeUxpc3RlbmVyVHlwZSBwb2xpY3lUeXBlKQogICAgIHsKQEAgLTU2LDE4
ICs2NSwyNyBAQCBwdWJsaWM6CiAKICAgICBQb2xpY3lMaXN0ZW5lclR5cGUgcG9saWN5TGlzdGVu
ZXJUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9wb2xpY3lUeXBlOyB9CiAKKyAgICB1aW50NjRfdCBs
aXN0ZW5lcklEKCkgY29uc3QgeyByZXR1cm4gbV9saXN0ZW5lcklEOyB9CisgICAgCisgICAgdm9p
ZCBzZXROYXZpZ2F0aW9uKFJlZjxBUEk6Ok5hdmlnYXRpb24+JiYpOworICAgIHZvaWQgaW52YWxp
ZGF0ZSgpOworICAgIAorICAgIHZvaWQgY2hhbmdlV2Vic2l0ZURhdGFTdG9yZShXZWJzaXRlRGF0
YVN0b3JlJik7CisgICAgYm9vbCBpc01haW5GcmFtZSgpIGNvbnN0OworCisgICAgdm9pZCBzZXRB
cHBseVBvbGljeUluTmV3UHJvY2Vzc0lmUG9zc2libGUoYm9vbCBhcHBseVBvbGljeUluTmV3UHJv
Y2Vzc0lmUG9zc2libGUpIHsgbV9hcHBseVBvbGljeUluTmV3UHJvY2Vzc0lmUG9zc2libGUgPSBh
cHBseVBvbGljeUluTmV3UHJvY2Vzc0lmUG9zc2libGU7IH0KKyAgICBib29sIGFwcGx5UG9saWN5
SW5OZXdQcm9jZXNzSWZQb3NzaWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbHlQb2xpY3lJbk5l
d1Byb2Nlc3NJZlBvc3NpYmxlOyB9CisKIHByaXZhdGU6CiAgICAgV2ViRnJhbWVQb2xpY3lMaXN0
ZW5lclByb3h5KFdlYkZyYW1lUHJveHkqLCB1aW50NjRfdCBsaXN0ZW5lcklELCBQb2xpY3lMaXN0
ZW5lclR5cGUpOwogCi0gICAgVHlwZSB0eXBlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gQVBJ
VHlwZTsgfQotCi0jaWYgREVMRUdBVEVfUkVGX0NPVU5USU5HX1RPX0NPQ09BCi0gICAgdm9pZCog
b3BlcmF0b3IgbmV3KHNpemVfdCBzaXplKSB7IHJldHVybiBuZXdPYmplY3Qoc2l6ZSwgQVBJVHlw
ZSk7IH0KLSNlbmRpZgorICAgIHZvaWQgcmVjZWl2ZWRQb2xpY3lEZWNpc2lvbihXZWJDb3JlOjpQ
b2xpY3lBY3Rpb24sIHN0ZDo6b3B0aW9uYWw8V2Vic2l0ZVBvbGljaWVzRGF0YT4mJik7CiAKICAg
ICBQb2xpY3lMaXN0ZW5lclR5cGUgbV9wb2xpY3lUeXBlOworICAgIFJlZlB0cjxXZWJGcmFtZVBy
b3h5PiBtX2ZyYW1lOworICAgIHVpbnQ2NF90IG1fbGlzdGVuZXJJRCB7IDAgfTsKKyAgICBSZWZQ
dHI8QVBJOjpOYXZpZ2F0aW9uPiBtX25hdmlnYXRpb247CisgICAgYm9vbCBtX2FwcGx5UG9saWN5
SW5OZXdQcm9jZXNzSWZQb3NzaWJsZSB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKLQotI3VuZGVmIERFTEVHQVRFX1JFRl9DT1VOVElOR19UT19DT0NPQQpJbmRleDogU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAJKHJldmlzaW9uIDIzNDAwNykK
KysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2Vi
RnJhbWVQcm94eS5oIgogCisjaW5jbHVkZSAiQVBJTmF2aWdhdGlvbi5oIgogI2luY2x1ZGUgIldl
YkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIldlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94
eS5oIgogI2luY2x1ZGUgIldlYlBhZ2VNZXNzYWdlcy5oIgpAQCAtMTk3LDEwICsxOTgsNyBAQCBX
ZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkmIFdlYkZyYW1lUHJvCiAKIFdlYkZyYW1lUG9saWN5
TGlzdGVuZXJQcm94eSogV2ViRnJhbWVQcm94eTo6YWN0aXZlUG9saWN5TGlzdGVuZXJQcm94eSgp
CiB7Ci0gICAgaWYgKCFtX2FjdGl2ZUxpc3RlbmVyIHx8IG1fYWN0aXZlTGlzdGVuZXItPnR5cGUo
KSAhPSBXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk6OkFQSVR5cGUpCi0gICAgICAgIHJldHVy
biBudWxscHRyOwotCi0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFdlYkZyYW1lUG9saWN5TGlzdGVu
ZXJQcm94eSo+KG1fYWN0aXZlTGlzdGVuZXIuZ2V0KCkpOworICAgIHJldHVybiBtX2FjdGl2ZUxp
c3RlbmVyLmdldCgpOwogfQogCiB2b2lkIFdlYkZyYW1lUHJveHk6OmNoYW5nZVdlYnNpdGVEYXRh
U3RvcmUoV2Vic2l0ZURhdGFTdG9yZSYgd2Vic2l0ZURhdGFTdG9yZSkKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgJKHJldmlzaW9uIDIzNDAwNykKKysrIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMjgs
NyArMjgsNyBAQAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZFN0
YXRlLmgiCiAjaW5jbHVkZSAiR2VuZXJpY0NhbGxiYWNrLmgiCi0jaW5jbHVkZSAiV2ViRnJhbWVM
aXN0ZW5lclByb3h5LmgiCisjaW5jbHVkZSAiV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5Lmgi
CiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZUxvYWRlclR5cGVzLmg+CiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KQEAgLTE0NCw3ICsxNDQsNyBAQCBw
cml2YXRlOgogICAgIGJvb2wgbV9pc0ZyYW1lU2V0OwogICAgIGJvb2wgbV9jb250YWluc1BsdWdp
bkRvY3VtZW50IHsgZmFsc2UgfTsKICAgICBSZWZQdHI8V2ViQ2VydGlmaWNhdGVJbmZvPiBtX2Nl
cnRpZmljYXRlSW5mbzsKLSAgICBSZWZQdHI8V2ViRnJhbWVMaXN0ZW5lclByb3h5PiBtX2FjdGl2
ZUxpc3RlbmVyOworICAgIFJlZlB0cjxXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk+IG1fYWN0
aXZlTGlzdGVuZXI7CiAgICAgdWludDY0X3QgbV9mcmFtZUlEOwogI2lmIEVOQUJMRShDT05URU5U
X0ZJTFRFUklORykKICAgICBXZWJDb3JlOjpDb250ZW50RmlsdGVyVW5ibG9ja0hhbmRsZXIgbV9j
b250ZW50RmlsdGVyVW5ibG9ja0hhbmRsZXI7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJJbnNwZWN0b3JQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwCShyZXZpc2lvbiAyMzQwMDcpCisrKyBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJJbnNwZWN0
b3JQcm94eS5oIgogCisjaW5jbHVkZSAiQVBJTmF2aWdhdGlvbi5oIgogI2luY2x1ZGUgIkFQSVBy
b2Nlc3NQb29sQ29uZmlndXJhdGlvbi5oIgogI2luY2x1ZGUgIldlYkF1dG9tYXRpb25TZXNzaW9u
LmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVQcm94eS5oIgpJbmRleDogU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAkocmV2aXNpb24gMjM0MDA3KQorKysgU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2
ICszMyw3IEBACiAjaW5jbHVkZSAiQVBJSFRUUENvb2tpZVN0b3JlLmgiCiAjaW5jbHVkZSAiQVBJ
SW5qZWN0ZWRCdW5kbGVDbGllbnQuaCIKICNpbmNsdWRlICJBUElMZWdhY3lDb250ZXh0SGlzdG9y
eUNsaWVudC5oIgorI2luY2x1ZGUgIkFQSU5hdmlnYXRpb24uaCIKICNpbmNsdWRlICJBUElQYWdl
Q29uZmlndXJhdGlvbi5oIgogI2luY2x1ZGUgIkFQSVByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5o
IgogI2luY2x1ZGUgIkNoaWxkUHJvY2Vzc01lc3NhZ2VzLmgiCkluZGV4OiBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAJKHJldmlzaW9uIDIzNDAwNykKKysrIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDYg
KzM4LDcgQEAKICNpbmNsdWRlICJBUElHZW9tZXRyeS5oIgogI2luY2x1ZGUgIkFQSUhpdFRlc3RS
ZXN1bHQuaCIKICNpbmNsdWRlICJBUElMb2FkZXJDbGllbnQuaCIKKyNpbmNsdWRlICJBUElOYXZp
Z2F0aW9uLmgiCiAjaW5jbHVkZSAiQVBJTmF2aWdhdGlvbkFjdGlvbi5oIgogI2luY2x1ZGUgIkFQ
SU5hdmlnYXRpb25DbGllbnQuaCIKICNpbmNsdWRlICJBUElOYXZpZ2F0aW9uUmVzcG9uc2UuaCIK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4
dENvbnRyb2xsZXIubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbQkocmV2aXNpb24gMjM0MDA3KQor
KysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQnJvd3NpbmdDb250ZXh0Q29u
dHJvbGxlci5tbQkod29ya2luZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogI2lmIFdLX0FQSV9F
TkFCTEVECiAKICNpbXBvcnQgIkFQSURhdGEuaCIKKyNpbXBvcnQgIkFQSU5hdmlnYXRpb24uaCIK
ICNpbXBvcnQgIk9iakNPYmplY3RHcmFwaC5oIgogI2ltcG9ydCAiUGFnZUxvYWRTdGF0ZU9ic2Vy
dmVyLmgiCiAjaW1wb3J0ICJSZW1vdGVPYmplY3RSZWdpc3RyeS5oIgpJbmRleDogU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9u
U2Vzc2lvbi5jcHAJKHJldmlzaW9uIDIzNDAwNykKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
OSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJBUElBcnJheS5oIgogI2luY2x1ZGUgIkFQSUF1dG9t
YXRpb25TZXNzaW9uQ2xpZW50LmgiCisjaW5jbHVkZSAiQVBJTmF2aWdhdGlvbi5oIgogI2luY2x1
ZGUgIkFQSU9wZW5QYW5lbFBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJBdXRvbWF0aW9uUHJvdG9j
b2xPYmplY3RzLmgiCiAjaW5jbHVkZSAiQ29vcmRpbmF0ZVN5c3RlbS5oIgpJbmRleDogU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0JKHJldmlzaW9uIDIzNDAw
NykKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAjaWYgUExBVEZPUk0oTUFDKQogCiAjaW1wb3J0
ICJBUElMZWdhY3lDb250ZXh0SGlzdG9yeUNsaWVudC5oIgorI2ltcG9ydCAiQVBJTmF2aWdhdGlv
bi5oIgogI2ltcG9ydCAiQXR0cmlidXRlZFN0cmluZy5oIgogI2ltcG9ydCAiQ29sb3JTcGFjZURh
dGEuaCIKICNpbXBvcnQgIkZ1bGxzY3JlZW5DbGllbnQuaCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5tbQko
cmV2aXNpb24gMjM0MDA3KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1ZpZXdHZXN0
dXJlQ29udHJvbGxlcklPUy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAj
aWYgUExBVEZPUk0oSU9TKQogCisjaW1wb3J0ICJBUElOYXZpZ2F0aW9uLmgiCiAjaW1wb3J0ICJE
cmF3aW5nQXJlYVByb3h5LmgiCiAjaW1wb3J0ICJVSUtpdFNQSS5oIgogI2ltcG9ydCAiVmlld0dl
c3R1cmVDb250cm9sbGVyTWVzc2FnZXMuaCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbQkocmV2aXNpb24g
MjM0MDA3KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJv
bGxlck1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgUExBVEZP
Uk0oTUFDKQogCisjaW1wb3J0ICJBUElOYXZpZ2F0aW9uLmgiCiAjaW1wb3J0ICJEcmF3aW5nQXJl
YVByb3h5LmgiCiAjaW1wb3J0ICJGcmFtZUxvYWRTdGF0ZS5oIgogI2ltcG9ydCAiTG9nZ2luZy5o
IgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dLSW5zcGVjdG9yVmlld0NvbnRy
b2xsZXIubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dLSW5z
cGVjdG9yVmlld0NvbnRyb2xsZXIubW0JKHJldmlzaW9uIDIzNDAwNykKKysrIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL21hYy9XS0luc3BlY3RvclZpZXdDb250cm9sbGVyLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBQTEFURk9STShNQUMpICYmIFdLX0FQSV9FTkFC
TEVECiAKKyNpbXBvcnQgIkFQSU5hdmlnYXRpb24uaCIKICNpbXBvcnQgIlZlcnNpb25DaGVja3Mu
aCIKICNpbXBvcnQgIldLRnJhbWVJbmZvLmgiCiAjaW1wb3J0ICJXS0luc3BlY3RvcldLV2ViVmll
dy5oIgpJbmRleDogU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCShyZXZpc2lvbiAyMzQwMDcpCisrKyBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xOTgwLDggKzE5ODAsNiBAQAog
CQlCQ0U0Njk1NjEyMTRFNkNCMDAwQjk4RUIgLyogV2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclBy
b3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0U0
Njk1MjEyMTRFNkNCMDAwQjk4RUIgLyogV2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5Lmgg
Ki87IH07CiAJCUJDRTQ2OTU5MTIxNEVERjQwMDBCOThFQiAvKiBXS0Zvcm1TdWJtaXNzaW9uTGlz
dGVuZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QkNFNDY5NTcxMjE0RURGNDAwMEI5OEVCIC8qIFdLRm9ybVN1Ym1pc3Npb25MaXN0ZW5lci5jcHAg
Ki87IH07CiAJCUJDRTQ2OTVBMTIxNEVERjQwMDBCOThFQiAvKiBXS0Zvcm1TdWJtaXNzaW9uTGlz
dGVuZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
RTQ2OTU4MTIxNEVERjQwMDBCOThFQiAvKiBXS0Zvcm1TdWJtaXNzaW9uTGlzdGVuZXIuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlCQ0U0Njk3NzEy
MTRGMjdCMDAwQjk4RUIgLyogV2ViRnJhbWVMaXN0ZW5lclByb3h5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0U0Njk3NjEyMTRGMjdCMDAwQjk4RUIg
LyogV2ViRnJhbWVMaXN0ZW5lclByb3h5LmggKi87IH07Ci0JCUJDRTQ2OTc5MTIxNEYyQjQwMDBC
OThFQiAvKiBXZWJGcmFtZUxpc3RlbmVyUHJveHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFNDY5NzgxMjE0RjJCNDAwMEI5OEVCIC8qIFdlYkZy
YW1lTGlzdGVuZXJQcm94eS5jcHAgKi87IH07CiAJCUJDRTgxRDhDMTMxOUY3RUYwMDI0MTkxMCAv
KiBGb250SW5mby5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQ0U4MUQ4QTEzMTlGN0VGMDAyNDE5MTAgLyogRm9udEluZm8uY3BwICovOyB9OwogCQlC
Q0U4MUQ4RDEzMTlGN0VGMDAyNDE5MTAgLyogRm9udEluZm8uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRTgxRDhCMTMxOUY3RUYwMDI0MTkxMCAvKiBG
b250SW5mby5oICovOyB9OwogCQlCQ0VFN0FEMDEyODE3OTg4MDA5ODI3REEgLyogV2ViUHJvY2Vz
c1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDRUU3QUNDMTI4MTc5ODgwMDk4MjdEQSAvKiBXZWJQcm9jZXNzUHJv
eHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwpAQCAtNDU5OCw4ICs0NTk2LDYgQEAKIAkJQkNF
NDY5NTIxMjE0RTZDQjAwMEI5OEVCIC8qIFdlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJGb3JtU3VibWlzc2lvbkxpc3Rl
bmVyUHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNFNDY5NTcxMjE0RURG
NDAwMEI5OEVCIC8qIFdLRm9ybVN1Ym1pc3Npb25MaXN0ZW5lci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXS0Zvcm1TdWJtaXNzaW9uTGlzdGVuZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0U0Njk1ODEyMTRFREY0MDAwQjk4RUIgLyogV0tG
b3JtU3VibWlzc2lvbkxpc3RlbmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdLRm9ybVN1Ym1pc3Npb25MaXN0ZW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQlCQ0U0Njk3NjEyMTRGMjdCMDAwQjk4RUIgLyogV2ViRnJhbWVMaXN0ZW5lclByb3h5LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkZyYW1lTGlzdGVuZXJQcm94eS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQ0U0Njk3ODEyMTRGMkI0MDAwQjk4RUIgLyog
V2ViRnJhbWVMaXN0ZW5lclByb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFdlYkZyYW1lTGlzdGVuZXJQcm94eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUJDRTgxRDhBMTMxOUY3RUYwMDI0MTkxMCAvKiBGb250SW5mby5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGb250SW5mby5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUJDRTgxRDhCMTMxOUY3RUYwMDI0MTkxMCAvKiBGb250SW5mby5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb250SW5mby5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlCQ0U5QzBDRjE0ODU5NjVEMDBFMzNENjEgLyogV2ViQ29ubmVjdGlv
blRvVUlQcm9jZXNzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdl
YkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC03NDk1LDggKzc0OTEsNiBAQAogCQkJCUJDRTQ2OTUwMTIxNEU2Q0IwMDBCOThFQiAvKiBXZWJG
b3JtQ2xpZW50LmggKi8sCiAJCQkJQkNFNDY5NTExMjE0RTZDQjAwMEI5OEVCIC8qIFdlYkZvcm1T
dWJtaXNzaW9uTGlzdGVuZXJQcm94eS5jcHAgKi8sCiAJCQkJQkNFNDY5NTIxMjE0RTZDQjAwMEI5
OEVCIC8qIFdlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eS5oICovLAotCQkJCUJDRTQ2OTc4
MTIxNEYyQjQwMDBCOThFQiAvKiBXZWJGcmFtZUxpc3RlbmVyUHJveHkuY3BwICovLAotCQkJCUJD
RTQ2OTc2MTIxNEYyN0IwMDBCOThFQiAvKiBXZWJGcmFtZUxpc3RlbmVyUHJveHkuaCAqLywKIAkJ
CQlCQ0I5RjY5RjExMjNBODRCMDBBMTM3RTAgLyogV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5
LmNwcCAqLywKIAkJCQlCQ0I5RjY5RTExMjNBODRCMDBBMTM3RTAgLyogV2ViRnJhbWVQb2xpY3lM
aXN0ZW5lclByb3h5LmggKi8sCiAJCQkJQkMxMTFCMEExMTJGNUU0RjAwMzM3QkFCIC8qIFdlYkZy
YW1lUHJveHkuY3BwICovLApAQCAtOTQ3Miw3ICs5NDY2LDYgQEAKIAkJCQlCQ0U0Njk1NDEyMTRF
NkNCMDAwQjk4RUIgLyogV2ViRm9ybUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFNDY5
NTYxMjE0RTZDQjAwMEI5OEVCIC8qIFdlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkMwMzJEOEQxMEY0MzdBMDAwNThDMTVBIC8qIFdlYkZyYW1lLmgg
aW4gSGVhZGVycyAqLywKLQkJCQlCQ0U0Njk3NzEyMTRGMjdCMDAwQjk4RUIgLyogV2ViRnJhbWVM
aXN0ZW5lclByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzAzMkQ3RjEwRjQzNzhEMDA1OEMx
NUEgLyogV2ViRnJhbWVMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzOTFGMkNC
MTIxQjY3QUQwMEVCRjdFOCAvKiBXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQ0I5RjZBMDExMjNBODRCMDBBMTM3RTAgLyogV2ViRnJhbWVQb2xpY3lMaXN0
ZW5lclByb3h5LmggaW4gSGVhZGVycyAqLywKQEAgLTExMjg1LDcgKzExMjc4LDYgQEAKIAkJCQlC
Q0U0Njk1MzEyMTRFNkNCMDAwQjk4RUIgLyogV2ViRm9ybUNsaWVudC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlCQ0U0Njk1NTEyMTRFNkNCMDAwQjk4RUIgLyogV2ViRm9ybVN1Ym1pc3Npb25MaXN0
ZW5lclByb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMTExQUREMTEyRjVCOTMwMDMzN0JB
QiAvKiBXZWJGcmFtZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlCQ0U0Njk3OTEyMTRGMkI0MDAw
Qjk4RUIgLyogV2ViRnJhbWVMaXN0ZW5lclByb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJD
MTExQTVGMTEyRjRGQkIwMDMzN0JBQiAvKiBXZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkyRDI4RjNFNzE4ODVDQ0MxMDA0QjlFQUUgLyogV2ViRnJhbWVMb2FkZXJD
bGllbnRJT1MubW0gaW4gU291cmNlcyAqLywKIAkJCQk5MzkxRjJDQTEyMUI2NzlBMDBFQkY3RTgg
LyogV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5tbSBpbiBTb3VyY2VzICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345396</attachid>
            <date>2018-07-19 15:59:13 -0700</date>
            <delta_ts>2018-07-19 16:08:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187825-20180719155912.patch</filename>
            <type>text/plain</type>
            <size>26332</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzQwMDcpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBACisyMDE4LTA3LTE5ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBXZWJGcmFt
ZUxpc3RlbmVyUHJveHkgdG8gV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5LCBpdHMgb25seSBz
dWJjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTg3ODI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJhZHkgRWlkc29uLgorCisgICAgICAgICog
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHA6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIu
bW06CisgICAgICAgICogVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24u
Y3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbToKKyAgICAgICAg
KiBVSVByb2Nlc3MvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHkuY3BwOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6
V2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5OjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0
OjpXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk6OldlYkZvcm1TdWJtaXNzaW9uTGlzdGVu
ZXJQcm94eSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lTGlzdGVuZXJQcm94eS5jcHA6
IFJlbW92ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lTGlzdGVuZXJQcm94eS5oOiBS
ZW1vdmVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk6OldlYkZy
YW1lUG9saWN5TGlzdGVuZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lUG9saWN5
TGlzdGVuZXJQcm94eTo6cmVjZWl2ZWRQb2xpY3lEZWNpc2lvbik6CisgICAgICAgIChXZWJLaXQ6
OldlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTo6Y2hhbmdlV2Vic2l0ZURhdGFTdG9yZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTo6aW52YWxpZGF0ZSk6
CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTo6aXNNYWluRnJh
bWUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk6
OnNldE5hdmlnYXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGcmFtZVBvbGljeUxpc3Rl
bmVyUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5
OjpsaXN0ZW5lcklEIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVQb2xpY3lMaXN0
ZW5lclByb3h5OjpvcGVyYXRvciBuZXcpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJGcmFtZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVQcm94eTo6YWN0aXZl
UG9saWN5TGlzdGVuZXJQcm94eSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lUHJveHku
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9W
aWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW06CisgICAgICAgICogVUlQcm9jZXNzL21hYy9WaWV3
R2VzdHVyZUNvbnRyb2xsZXJNYWMubW06CisgICAgICAgICogVUlQcm9jZXNzL21hYy9XS0luc3Bl
Y3RvclZpZXdDb250cm9sbGVyLm1tOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorCiAyMDE4LTA3LTE5ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAog
ICAgICAgICBVcGRhdGUgaU9TIGZ1bGxzY3JlZW4gYWxlcnQgdGV4dCBhZ2FpbgpJbmRleDogU291
cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NN
YWtlTGlzdHMudHh0CShyZXZpc2lvbiAyMzQwMDcpCisrKyBTb3VyY2UvV2ViS2l0L0NNYWtlTGlz
dHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zMzUsNyArMzM1LDYgQEAgc2V0KFdlYktpdF9TT1VS
Q0VTCiAgICAgVUlQcm9jZXNzL1dlYkVkaXRDb21tYW5kUHJveHkuY3BwCiAgICAgVUlQcm9jZXNz
L1dlYkZvcm1DbGllbnQuY3BwCiAgICAgVUlQcm9jZXNzL1dlYkZvcm1TdWJtaXNzaW9uTGlzdGVu
ZXJQcm94eS5jcHAKLSAgICBVSVByb2Nlc3MvV2ViRnJhbWVMaXN0ZW5lclByb3h5LmNwcAogICAg
IFVJUHJvY2Vzcy9XZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkuY3BwCiAgICAgVUlQcm9jZXNz
L1dlYkZyYW1lUHJveHkuY3BwCiAgICAgVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJv
eHkuY3BwCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVXZWJJbnNwZWN0b3JQ
cm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlV2Vi
SW5zcGVjdG9yUHJveHkuY3BwCShyZXZpc2lvbiAyMzQwMDcpCisrKyBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2
LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJSZW1vdGVXZWJJbnNw
ZWN0b3JQcm94eS5oIgogCisjaW5jbHVkZSAiQVBJTmF2aWdhdGlvbi5oIgogI2luY2x1ZGUgIlJl
bW90ZVdlYkluc3BlY3RvclByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJSZW1vdGVXZWJJbnNw
ZWN0b3JVSU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9yUHJveHkuaCIKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZvcm1TdWJtaXNzaW9u
TGlzdGVuZXJQcm94eS5oCShyZXZpc2lvbiAyMzQwMDcpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAt
MjUsMTMgKzI1LDE0IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiV2ViRnJhbWVMaXN0
ZW5lclByb3h5LmgiCisjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCisjaW5jbHVkZSA8d3RmL0NvbXBs
ZXRpb25IYW5kbGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJGb3JtU3Vi
bWlzc2lvbkxpc3RlbmVyUHJveHkgOiBwdWJsaWMgQVBJOjpPYmplY3RJbXBsPEFQSTo6T2JqZWN0
OjpUeXBlOjpGb3JtU3VibWlzc2lvbkxpc3RlbmVyPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJl
ZjxXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk+IGNyZWF0ZShXVEY6OkZ1bmN0aW9uPHZv
aWQodm9pZCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCisgICAgc3RhdGljIFJlZjxXZWJGb3JtU3Vi
bWlzc2lvbkxpc3RlbmVyUHJveHk+IGNyZWF0ZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHZvaWQp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgV2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5KFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpKSk7CiAgICAgfQpAQCAtMzksMTAgKzQwLDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIGNvbnRp
bnVlU3VibWlzc2lvbigpOwogCiBwcml2YXRlOgotICAgIFdlYkZvcm1TdWJtaXNzaW9uTGlzdGVu
ZXJQcm94eShXVEY6OkZ1bmN0aW9uPHZvaWQodm9pZCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCisg
ICAgV2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5KENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
dm9pZCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiAgICAgICAgIDogbV9jb21wbGV0aW9uSGFuZGxl
cihXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSkKICAgICB7IH0KLSAgICBXVEY6OkZ1bmN0aW9u
PHZvaWQodm9pZCk+IG1fY29tcGxldGlvbkhhbmRsZXI7CisgICAgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZCh2b2lkKT4gbV9jb21wbGV0aW9uSGFuZGxlcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnJhbWVMaXN0ZW5lclByb3h5
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGcmFtZUxpc3Rl
bmVyUHJveHkuY3BwCShyZXZpc2lvbiAyMzQwMDcpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJGcmFtZUxpc3RlbmVyUHJveHkuY3BwCShub25leGlzdGVudCkKQEAgLTEsNzUgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJGcmFtZUxp
c3RlbmVyUHJveHkuaCIKLQotI2luY2x1ZGUgIldlYkZyYW1lUHJveHkuaCIKLSNpbmNsdWRlICJX
ZWJzaXRlRGF0YVN0b3JlLmgiCi0jaW5jbHVkZSAiV2Vic2l0ZVBvbGljaWVzRGF0YS5oIgotCi1u
YW1lc3BhY2UgV2ViS2l0IHsKLQotV2ViRnJhbWVMaXN0ZW5lclByb3h5OjpXZWJGcmFtZUxpc3Rl
bmVyUHJveHkoV2ViRnJhbWVQcm94eSogZnJhbWUsIHVpbnQ2NF90IGxpc3RlbmVySUQpCi0gICAg
OiBtX2ZyYW1lKGZyYW1lKQotICAgICwgbV9saXN0ZW5lcklEKGxpc3RlbmVySUQpCi17Ci19Ci0K
LVdlYkZyYW1lTGlzdGVuZXJQcm94eTo6fldlYkZyYW1lTGlzdGVuZXJQcm94eSgpCi17Ci19Ci0K
LXZvaWQgV2ViRnJhbWVMaXN0ZW5lclByb3h5OjppbnZhbGlkYXRlKCkKLXsKLSAgICBtX2ZyYW1l
ID0gbnVsbHB0cjsKLX0KLQotdm9pZCBXZWJGcmFtZUxpc3RlbmVyUHJveHk6OnJlY2VpdmVkUG9s
aWN5RGVjaXNpb24oV2ViQ29yZTo6UG9saWN5QWN0aW9uIGFjdGlvbiwgc3RkOjpvcHRpb25hbDxX
ZWJzaXRlUG9saWNpZXNEYXRhPiYmIGRhdGEpCi17Ci0gICAgaWYgKCFtX2ZyYW1lKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBtX2ZyYW1lLT5yZWNlaXZlZFBvbGljeURlY2lzaW9uKGFjdGlvbiwg
bV9saXN0ZW5lcklELCBtX25hdmlnYXRpb24uZ2V0KCksIFdURk1vdmUoZGF0YSkpOwotICAgIG1f
ZnJhbWUgPSBudWxscHRyOwotfQotCi12b2lkIFdlYkZyYW1lTGlzdGVuZXJQcm94eTo6Y2hhbmdl
V2Vic2l0ZURhdGFTdG9yZShXZWJzaXRlRGF0YVN0b3JlJiB3ZWJzaXRlRGF0YVN0b3JlKQotewot
ICAgIGlmICghbV9mcmFtZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9mcmFtZS0+Y2hhbmdl
V2Vic2l0ZURhdGFTdG9yZSh3ZWJzaXRlRGF0YVN0b3JlKTsKLX0KLQotYm9vbCBXZWJGcmFtZUxp
c3RlbmVyUHJveHk6OmlzTWFpbkZyYW1lKCkgY29uc3QKLXsKLSAgICBpZiAoIW1fZnJhbWUpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiBtX2ZyYW1lLT5pc01haW5GcmFtZSgp
OwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKClByb3BlcnR5IGNoYW5nZXMgb246IFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZyYW1lTGlzdGVuZXJQcm94eS5jcHAKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpE
ZWxldGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0xICswLDAgIyMKLW5hdGl2ZQpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGcmFt
ZUxpc3RlbmVyUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJGcmFtZUxpc3RlbmVyUHJveHkuaAkocmV2aXNpb24gMjM0MDA3KQorKysgU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViRnJhbWVMaXN0ZW5lclByb3h5LmgJKG5vbmV4aXN0ZW50KQpAQCAtMSw2
OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
LSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpbmNsdWRlICJBUElOYXZp
Z2F0aW9uLmgiCi0jaW5jbHVkZSAiQVBJT2JqZWN0LmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9GcmFt
ZUxvYWRlclR5cGVzLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZi5oPgotI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIFdlYkZyYW1lUHJveHk7Ci1jbGFz
cyBXZWJzaXRlRGF0YVN0b3JlOwotc3RydWN0IFdlYnNpdGVQb2xpY2llc0RhdGE7Ci0KLWNsYXNz
IFdlYkZyYW1lTGlzdGVuZXJQcm94eSA6IHB1YmxpYyBBUEk6Ok9iamVjdCB7Ci1wdWJsaWM6Ci0g
ICAgdmlydHVhbCB+V2ViRnJhbWVMaXN0ZW5lclByb3h5KCk7Ci0KLSAgICB2b2lkIGludmFsaWRh
dGUoKTsKLSAgICB1aW50NjRfdCBsaXN0ZW5lcklEKCkgY29uc3QgeyByZXR1cm4gbV9saXN0ZW5l
cklEOyB9Ci0KLSAgICB2b2lkIHNldE5hdmlnYXRpb24oUmVmPEFQSTo6TmF2aWdhdGlvbj4mJiBu
YXZpZ2F0aW9uKSB7IG1fbmF2aWdhdGlvbiA9IFdURk1vdmUobmF2aWdhdGlvbik7IH0KLQotICAg
IHZvaWQgY2hhbmdlV2Vic2l0ZURhdGFTdG9yZShXZWJzaXRlRGF0YVN0b3JlJik7Ci0KLSAgICB2
b2lkIHNldEFwcGx5UG9saWN5SW5OZXdQcm9jZXNzSWZQb3NzaWJsZShib29sIGFwcGx5UG9saWN5
SW5OZXdQcm9jZXNzSWZQb3NzaWJsZSkgeyBtX2FwcGx5UG9saWN5SW5OZXdQcm9jZXNzSWZQb3Nz
aWJsZSA9IGFwcGx5UG9saWN5SW5OZXdQcm9jZXNzSWZQb3NzaWJsZTsgfQotICAgIGJvb2wgYXBw
bHlQb2xpY3lJbk5ld1Byb2Nlc3NJZlBvc3NpYmxlKCkgY29uc3QgeyByZXR1cm4gbV9hcHBseVBv
bGljeUluTmV3UHJvY2Vzc0lmUG9zc2libGU7IH0KLQotICAgIGJvb2wgaXNNYWluRnJhbWUoKSBj
b25zdDsKLQotcHJvdGVjdGVkOgotICAgIFdlYkZyYW1lTGlzdGVuZXJQcm94eShXZWJGcmFtZVBy
b3h5KiwgdWludDY0X3QgbGlzdGVuZXJJRCk7Ci0KLSAgICB2b2lkIHJlY2VpdmVkUG9saWN5RGVj
aXNpb24oV2ViQ29yZTo6UG9saWN5QWN0aW9uLCBzdGQ6Om9wdGlvbmFsPFdlYnNpdGVQb2xpY2ll
c0RhdGE+JiYpOwotCi1wcml2YXRlOgotICAgIFJlZlB0cjxXZWJGcmFtZVByb3h5PiBtX2ZyYW1l
OwotICAgIHVpbnQ2NF90IG1fbGlzdGVuZXJJRDsKLSAgICBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9u
PiBtX25hdmlnYXRpb247Ci0gICAgYm9vbCBtX2FwcGx5UG9saWN5SW5OZXdQcm9jZXNzSWZQb3Nz
aWJsZSB7IGZhbHNlIH07Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKClByb3BlcnR5IGNo
YW5nZXMgb246IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZyYW1lTGlzdGVuZXJQcm94eS5o
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1uYXRpdmUK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkuY3BwCShyZXZp
c2lvbiAyMzQwMDcpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGcmFtZVBvbGljeUxp
c3RlbmVyUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5LmgiCiAK
KyNpbmNsdWRlICJBUElOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVQcm94eS5oIgog
I2luY2x1ZGUgIldlYnNpdGVEYXRhU3RvcmUuaCIKICNpbmNsdWRlICJXZWJzaXRlUG9saWNpZXNE
YXRhLmgiCkBAIC0zMywxMSArMzQsNDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBXZWJGcmFt
ZVBvbGljeUxpc3RlbmVyUHJveHk6OldlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eShXZWJGcmFt
ZVByb3h5KiBmcmFtZSwgdWludDY0X3QgbGlzdGVuZXJJRCwgUG9saWN5TGlzdGVuZXJUeXBlIHBv
bGljeVR5cGUpCi0gICAgOiBXZWJGcmFtZUxpc3RlbmVyUHJveHkoZnJhbWUsIGxpc3RlbmVySUQp
Ci0gICAgLCBtX3BvbGljeVR5cGUocG9saWN5VHlwZSkKKyAgICA6IG1fcG9saWN5VHlwZShwb2xp
Y3lUeXBlKQorICAgICwgbV9mcmFtZShmcmFtZSkKKyAgICAsIG1fbGlzdGVuZXJJRChsaXN0ZW5l
cklEKQogewogfQogCit2b2lkIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTo6cmVjZWl2ZWRQ
b2xpY3lEZWNpc2lvbihXZWJDb3JlOjpQb2xpY3lBY3Rpb24gYWN0aW9uLCBzdGQ6Om9wdGlvbmFs
PFdlYnNpdGVQb2xpY2llc0RhdGE+JiYgZGF0YSkKK3sKKyAgICBpZiAoIW1fZnJhbWUpCisgICAg
ICAgIHJldHVybjsKKyAgICAKKyAgICBtX2ZyYW1lLT5yZWNlaXZlZFBvbGljeURlY2lzaW9uKGFj
dGlvbiwgbV9saXN0ZW5lcklELCBtX25hdmlnYXRpb24uZ2V0KCksIFdURk1vdmUoZGF0YSkpOwor
ICAgIG1fZnJhbWUgPSBudWxscHRyOworfQorCit2b2lkIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQ
cm94eTo6Y2hhbmdlV2Vic2l0ZURhdGFTdG9yZShXZWJzaXRlRGF0YVN0b3JlJiB3ZWJzaXRlRGF0
YVN0b3JlKQoreworICAgIGlmICghbV9mcmFtZSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAg
IG1fZnJhbWUtPmNoYW5nZVdlYnNpdGVEYXRhU3RvcmUod2Vic2l0ZURhdGFTdG9yZSk7Cit9CisK
K3ZvaWQgV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5OjppbnZhbGlkYXRlKCkKK3sKKyAgICBt
X2ZyYW1lID0gbnVsbHB0cjsKK30KKworYm9vbCBXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk6
OmlzTWFpbkZyYW1lKCkgY29uc3QKK3sKKyAgICBpZiAoIW1fZnJhbWUpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAKKyAgICByZXR1cm4gbV9mcmFtZS0+aXNNYWluRnJhbWUoKTsKK30KKwor
dm9pZCBXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk6OnNldE5hdmlnYXRpb24oUmVmPEFQSTo6
TmF2aWdhdGlvbj4mJiBuYXZpZ2F0aW9uKQoreworICAgIG1fbmF2aWdhdGlvbiA9IFdURk1vdmUo
bmF2aWdhdGlvbik7Cit9CisgICAgCiB2b2lkIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTo6
dXNlKHN0ZDo6b3B0aW9uYWw8V2Vic2l0ZVBvbGljaWVzRGF0YT4mJiBkYXRhKQogewogICAgIHJl
Y2VpdmVkUG9saWN5RGVjaXNpb24oV2ViQ29yZTo6UG9saWN5QWN0aW9uOjpVc2UsIFdURk1vdmUo
ZGF0YSkpOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnJhbWVQb2xpY3lMaXN0
ZW5lclByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnJh
bWVQb2xpY3lMaXN0ZW5lclByb3h5LmgJKHJldmlzaW9uIDIzNDAwNykKKysrIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yNSwyNSArMjUsMzQgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJXZWJGcmFt
ZUxpc3RlbmVyUHJveHkuaCIKKyNpbmNsdWRlICJBUElPYmplY3QuaCIKIAogI2lmIFBMQVRGT1JN
KENPQ09BKQogI2luY2x1ZGUgIldLRm91bmRhdGlvbi5oIgogI2VuZGlmCiAKLSNkZWZpbmUgREVM
RUdBVEVfUkVGX0NPVU5USU5HX1RPX0NPQ09BIChQTEFURk9STShDT0NPQSkgJiYgV0tfQVBJX0VO
QUJMRUQpCituYW1lc3BhY2UgQVBJIHsKK2NsYXNzIE5hdmlnYXRpb247Cit9CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKK2VudW0gY2xhc3MgUG9saWN5QWN0aW9uOworfQogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAorY2xhc3MgV2Vic2l0ZURhdGFTdG9yZTsKK2NsYXNzIFdlYkZyYW1lUHJveHk7Citz
dHJ1Y3QgV2Vic2l0ZVBvbGljaWVzRGF0YTsKKwogZW51bSBjbGFzcyBQb2xpY3lMaXN0ZW5lclR5
cGUgewogICAgIE5hdmlnYXRpb25BY3Rpb24sCiAgICAgTmV3V2luZG93QWN0aW9uLAogICAgIFJl
c3BvbnNlLAogfTsKIAotY2xhc3MgV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5IDogcHVibGlj
IFdlYkZyYW1lTGlzdGVuZXJQcm94eSB7CitjbGFzcyBXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJv
eHkgOiBwdWJsaWMgQVBJOjpPYmplY3RJbXBsPEFQSTo6T2JqZWN0OjpUeXBlOjpGcmFtZVBvbGlj
eUxpc3RlbmVyPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIGNvbnN0IFR5cGUgQVBJVHlwZSA9IFR5
cGU6OkZyYW1lUG9saWN5TGlzdGVuZXI7CiAKICAgICBzdGF0aWMgUmVmPFdlYkZyYW1lUG9saWN5
TGlzdGVuZXJQcm94eT4gY3JlYXRlKFdlYkZyYW1lUHJveHkqIGZyYW1lLCB1aW50NjRfdCBsaXN0
ZW5lcklELCBQb2xpY3lMaXN0ZW5lclR5cGUgcG9saWN5VHlwZSkKICAgICB7CkBAIC01NiwxOCAr
NjUsMjcgQEAgcHVibGljOgogCiAgICAgUG9saWN5TGlzdGVuZXJUeXBlIHBvbGljeUxpc3RlbmVy
VHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcG9saWN5VHlwZTsgfQogCisgICAgdWludDY0X3QgbGlz
dGVuZXJJRCgpIGNvbnN0IHsgcmV0dXJuIG1fbGlzdGVuZXJJRDsgfQorICAgIAorICAgIHZvaWQg
c2V0TmF2aWdhdGlvbihSZWY8QVBJOjpOYXZpZ2F0aW9uPiYmKTsKKyAgICB2b2lkIGludmFsaWRh
dGUoKTsKKyAgICAKKyAgICB2b2lkIGNoYW5nZVdlYnNpdGVEYXRhU3RvcmUoV2Vic2l0ZURhdGFT
dG9yZSYpOworICAgIGJvb2wgaXNNYWluRnJhbWUoKSBjb25zdDsKKworICAgIHZvaWQgc2V0QXBw
bHlQb2xpY3lJbk5ld1Byb2Nlc3NJZlBvc3NpYmxlKGJvb2wgYXBwbHlQb2xpY3lJbk5ld1Byb2Nl
c3NJZlBvc3NpYmxlKSB7IG1fYXBwbHlQb2xpY3lJbk5ld1Byb2Nlc3NJZlBvc3NpYmxlID0gYXBw
bHlQb2xpY3lJbk5ld1Byb2Nlc3NJZlBvc3NpYmxlOyB9CisgICAgYm9vbCBhcHBseVBvbGljeUlu
TmV3UHJvY2Vzc0lmUG9zc2libGUoKSBjb25zdCB7IHJldHVybiBtX2FwcGx5UG9saWN5SW5OZXdQ
cm9jZXNzSWZQb3NzaWJsZTsgfQorCiBwcml2YXRlOgogICAgIFdlYkZyYW1lUG9saWN5TGlzdGVu
ZXJQcm94eShXZWJGcmFtZVByb3h5KiwgdWludDY0X3QgbGlzdGVuZXJJRCwgUG9saWN5TGlzdGVu
ZXJUeXBlKTsKIAotICAgIFR5cGUgdHlwZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIEFQSVR5
cGU7IH0KLQotI2lmIERFTEVHQVRFX1JFRl9DT1VOVElOR19UT19DT0NPQQotICAgIHZvaWQqIG9w
ZXJhdG9yIG5ldyhzaXplX3Qgc2l6ZSkgeyByZXR1cm4gbmV3T2JqZWN0KHNpemUsIEFQSVR5cGUp
OyB9Ci0jZW5kaWYKKyAgICB2b2lkIHJlY2VpdmVkUG9saWN5RGVjaXNpb24oV2ViQ29yZTo6UG9s
aWN5QWN0aW9uLCBzdGQ6Om9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+JiYpOwogCiAgICAg
UG9saWN5TGlzdGVuZXJUeXBlIG1fcG9saWN5VHlwZTsKKyAgICBSZWZQdHI8V2ViRnJhbWVQcm94
eT4gbV9mcmFtZTsKKyAgICB1aW50NjRfdCBtX2xpc3RlbmVySUQgeyAwIH07CisgICAgUmVmUHRy
PEFQSTo6TmF2aWdhdGlvbj4gbV9uYXZpZ2F0aW9uOworICAgIGJvb2wgbV9hcHBseVBvbGljeUlu
TmV3UHJvY2Vzc0lmUG9zc2libGUgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0Ci0KLSN1bmRlZiBERUxFR0FURV9SRUZfQ09VTlRJTkdfVE9fQ09DT0EKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCShyZXZpc2lvbiAyMzQwMDcpCisr
KyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYkZy
YW1lUHJveHkuaCIKIAorI2luY2x1ZGUgIkFQSU5hdmlnYXRpb24uaCIKICNpbmNsdWRlICJXZWJD
ZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHku
aCIKICNpbmNsdWRlICJXZWJQYWdlTWVzc2FnZXMuaCIKQEAgLTE5NywxMCArMTk4LDcgQEAgV2Vi
RnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5JiBXZWJGcmFtZVBybwogCiBXZWJGcmFtZVBvbGljeUxp
c3RlbmVyUHJveHkqIFdlYkZyYW1lUHJveHk6OmFjdGl2ZVBvbGljeUxpc3RlbmVyUHJveHkoKQog
ewotICAgIGlmICghbV9hY3RpdmVMaXN0ZW5lciB8fCBtX2FjdGl2ZUxpc3RlbmVyLT50eXBlKCkg
IT0gV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5OjpBUElUeXBlKQotICAgICAgICByZXR1cm4g
bnVsbHB0cjsKLQotICAgIHJldHVybiBzdGF0aWNfY2FzdDxXZWJGcmFtZVBvbGljeUxpc3RlbmVy
UHJveHkqPihtX2FjdGl2ZUxpc3RlbmVyLmdldCgpKTsKKyAgICByZXR1cm4gbV9hY3RpdmVMaXN0
ZW5lci5nZXQoKTsKIH0KIAogdm9pZCBXZWJGcmFtZVByb3h5OjpjaGFuZ2VXZWJzaXRlRGF0YVN0
b3JlKFdlYnNpdGVEYXRhU3RvcmUmIHdlYnNpdGVEYXRhU3RvcmUpCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCShyZXZpc2lvbiAyMzQwMDcpCisrKyBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcg
KzI4LDcgQEAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRTdGF0
ZS5oIgogI2luY2x1ZGUgIkdlbmVyaWNDYWxsYmFjay5oIgotI2luY2x1ZGUgIldlYkZyYW1lTGlz
dGVuZXJQcm94eS5oIgorI2luY2x1ZGUgIldlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eS5oIgog
I2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVMb2FkZXJUeXBlcy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CkBAIC0xNDQsNyArMTQ0LDcgQEAgcHJp
dmF0ZToKICAgICBib29sIG1faXNGcmFtZVNldDsKICAgICBib29sIG1fY29udGFpbnNQbHVnaW5E
b2N1bWVudCB7IGZhbHNlIH07CiAgICAgUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gbV9jZXJ0
aWZpY2F0ZUluZm87Ci0gICAgUmVmUHRyPFdlYkZyYW1lTGlzdGVuZXJQcm94eT4gbV9hY3RpdmVM
aXN0ZW5lcjsKKyAgICBSZWZQdHI8V2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5PiBtX2FjdGl2
ZUxpc3RlbmVyOwogICAgIHVpbnQ2NF90IG1fZnJhbWVJRDsKICNpZiBFTkFCTEUoQ09OVEVOVF9G
SUxURVJJTkcpCiAgICAgV2ViQ29yZTo6Q29udGVudEZpbHRlclVuYmxvY2tIYW5kbGVyIG1fY29u
dGVudEZpbHRlclVuYmxvY2tIYW5kbGVyOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViSW5zcGVjdG9yUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcAkocmV2aXNpb24gMjM0MDA3KQorKysgU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
Nyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9y
UHJveHkuaCIKIAorI2luY2x1ZGUgIkFQSU5hdmlnYXRpb24uaCIKICNpbmNsdWRlICJBUElQcm9j
ZXNzUG9vbENvbmZpZ3VyYXRpb24uaCIKICNpbmNsdWRlICJXZWJBdXRvbWF0aW9uU2Vzc2lvbi5o
IgogI2luY2x1ZGUgIldlYkZyYW1lUHJveHkuaCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJKHJldmlzaW9uIDIzNDAwNykKKysrIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiAr
MzMsNyBAQAogI2luY2x1ZGUgIkFQSUhUVFBDb29raWVTdG9yZS5oIgogI2luY2x1ZGUgIkFQSUlu
amVjdGVkQnVuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiQVBJTGVnYWN5Q29udGV4dEhpc3RvcnlD
bGllbnQuaCIKKyNpbmNsdWRlICJBUElOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSAiQVBJUGFnZUNv
bmZpZ3VyYXRpb24uaCIKICNpbmNsdWRlICJBUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaCIK
ICNpbmNsdWRlICJDaGlsZFByb2Nlc3NNZXNzYWdlcy5oIgpJbmRleDogU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCShyZXZpc2lvbiAyMzQwMDcpCisrKyBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICsz
OCw3IEBACiAjaW5jbHVkZSAiQVBJR2VvbWV0cnkuaCIKICNpbmNsdWRlICJBUElIaXRUZXN0UmVz
dWx0LmgiCiAjaW5jbHVkZSAiQVBJTG9hZGVyQ2xpZW50LmgiCisjaW5jbHVkZSAiQVBJTmF2aWdh
dGlvbi5oIgogI2luY2x1ZGUgIkFQSU5hdmlnYXRpb25BY3Rpb24uaCIKICNpbmNsdWRlICJBUElO
YXZpZ2F0aW9uQ2xpZW50LmgiCiAjaW5jbHVkZSAiQVBJTmF2aWdhdGlvblJlc3BvbnNlLmgiCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93c2luZ0NvbnRleHRD
b250cm9sbGVyLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0JKHJldmlzaW9uIDIzNDAwNykKKysr
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dENvbnRy
b2xsZXIubW0JKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBXS19BUElfRU5B
QkxFRAogCiAjaW1wb3J0ICJBUElEYXRhLmgiCisjaW1wb3J0ICJBUElOYXZpZ2F0aW9uLmgiCiAj
aW1wb3J0ICJPYmpDT2JqZWN0R3JhcGguaCIKICNpbXBvcnQgIlBhZ2VMb2FkU3RhdGVPYnNlcnZl
ci5oIgogI2ltcG9ydCAiUmVtb3RlT2JqZWN0UmVnaXN0cnkuaCIKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwCShyZXZpc2lv
biAyMzQwMDcpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJW
aWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgIldlYktp
dFdlYlZpZXcuaCIKIAogI2luY2x1ZGUgIkFQSURhdGEuaCIKKyNpbmNsdWRlICJBUElOYXZpZ2F0
aW9uLmgiCiAjaW5jbHVkZSAiQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCiAjaW5jbHVkZSAi
SW1hZ2VPcHRpb25zLmgiCiAjaW5jbHVkZSAiV2ViQ2VydGlmaWNhdGVJbmZvLmgiCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1
dG9tYXRpb25TZXNzaW9uLmNwcAkocmV2aXNpb24gMjM0MDA3KQorKysgU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkFQSUFycmF5LmgiCiAjaW5jbHVkZSAi
QVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaCIKKyNpbmNsdWRlICJBUElOYXZpZ2F0aW9uLmgi
CiAjaW5jbHVkZSAiQVBJT3BlblBhbmVsUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIkF1dG9tYXRp
b25Qcm90b2NvbE9iamVjdHMuaCIKICNpbmNsdWRlICJDb29yZGluYXRlU3lzdGVtLmgiCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQkocmV2aXNp
b24gMjM0MDA3KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBQTEFURk9STShNQUMpCiAK
ICNpbXBvcnQgIkFQSUxlZ2FjeUNvbnRleHRIaXN0b3J5Q2xpZW50LmgiCisjaW1wb3J0ICJBUElO
YXZpZ2F0aW9uLmgiCiAjaW1wb3J0ICJBdHRyaWJ1dGVkU3RyaW5nLmgiCiAjaW1wb3J0ICJDb2xv
clNwYWNlRGF0YS5oIgogI2ltcG9ydCAiRnVsbHNjcmVlbkNsaWVudC5oIgpJbmRleDogU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvVmlld0dlc3R1cmVDb250cm9sbGVy
SU9TLm1tCShyZXZpc2lvbiAyMzQwMDcpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3Mv
Vmlld0dlc3R1cmVDb250cm9sbGVySU9TLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3
IEBACiAKICNpZiBQTEFURk9STShJT1MpCiAKKyNpbXBvcnQgIkFQSU5hdmlnYXRpb24uaCIKICNp
bXBvcnQgIkRyYXdpbmdBcmVhUHJveHkuaCIKICNpbXBvcnQgIlVJS2l0U1BJLmgiCiAjaW1wb3J0
ICJWaWV3R2VzdHVyZUNvbnRyb2xsZXJNZXNzYWdlcy5oIgpJbmRleDogU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVDb250cm9sbGVyTWFjLm1tCShy
ZXZpc2lvbiAyMzQwMDcpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvVmlld0dlc3R1
cmVDb250cm9sbGVyTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNp
ZiBQTEFURk9STShNQUMpCiAKKyNpbXBvcnQgIkFQSU5hdmlnYXRpb24uaCIKICNpbXBvcnQgIkRy
YXdpbmdBcmVhUHJveHkuaCIKICNpbXBvcnQgIkZyYW1lTG9hZFN0YXRlLmgiCiAjaW1wb3J0ICJM
b2dnaW5nLmgiCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0b3JW
aWV3Q29udHJvbGxlci5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9t
YWMvV0tJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5tbQkocmV2aXNpb24gMjM0MDA3KQorKysgU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dLSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0JKHdv
cmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIFBMQVRGT1JNKE1BQykgJiYgV0tf
QVBJX0VOQUJMRUQKIAorI2ltcG9ydCAiQVBJTmF2aWdhdGlvbi5oIgogI2ltcG9ydCAiVmVyc2lv
bkNoZWNrcy5oIgogI2ltcG9ydCAiV0tGcmFtZUluZm8uaCIKICNpbXBvcnQgIldLSW5zcGVjdG9y
V0tXZWJWaWV3LmgiCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIzNDAwNykKKysrIFNvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTE5ODAsOCArMTk4
MCw2IEBACiAJCUJDRTQ2OTU2MTIxNEU2Q0IwMDBCOThFQiAvKiBXZWJGb3JtU3VibWlzc2lvbkxp
c3RlbmVyUHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEJDRTQ2OTUyMTIxNEU2Q0IwMDBCOThFQiAvKiBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVy
UHJveHkuaCAqLzsgfTsKIAkJQkNFNDY5NTkxMjE0RURGNDAwMEI5OEVCIC8qIFdLRm9ybVN1Ym1p
c3Npb25MaXN0ZW5lci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQ0U0Njk1NzEyMTRFREY0MDAwQjk4RUIgLyogV0tGb3JtU3VibWlzc2lvbkxpc3Rl
bmVyLmNwcCAqLzsgfTsKIAkJQkNFNDY5NUExMjE0RURGNDAwMEI5OEVCIC8qIFdLRm9ybVN1Ym1p
c3Npb25MaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkNFNDY5NTgxMjE0RURGNDAwMEI5OEVCIC8qIFdLRm9ybVN1Ym1pc3Npb25MaXN0ZW5l
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUJD
RTQ2OTc3MTIxNEYyN0IwMDBCOThFQiAvKiBXZWJGcmFtZUxpc3RlbmVyUHJveHkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRTQ2OTc2MTIxNEYyN0Iw
MDBCOThFQiAvKiBXZWJGcmFtZUxpc3RlbmVyUHJveHkuaCAqLzsgfTsKLQkJQkNFNDY5NzkxMjE0
RjJCNDAwMEI5OEVCIC8qIFdlYkZyYW1lTGlzdGVuZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0U0Njk3ODEyMTRGMkI0MDAwQjk4RUIg
LyogV2ViRnJhbWVMaXN0ZW5lclByb3h5LmNwcCAqLzsgfTsKIAkJQkNFODFEOEMxMzE5RjdFRjAw
MjQxOTEwIC8qIEZvbnRJbmZvLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDRTgxRDhBMTMxOUY3RUYwMDI0MTkxMCAvKiBGb250SW5mby5jcHAgKi87
IH07CiAJCUJDRTgxRDhEMTMxOUY3RUYwMDI0MTkxMCAvKiBGb250SW5mby5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFODFEOEIxMzE5RjdFRjAwMjQx
OTEwIC8qIEZvbnRJbmZvLmggKi87IH07CiAJCUJDRUU3QUQwMTI4MTc5ODgwMDk4MjdEQSAvKiBX
ZWJQcm9jZXNzUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFRTdBQ0MxMjgxNzk4ODAwOTgyN0RBIC8qIFdlYlBy
b2Nlc3NQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CkBAIC00NTk4LDggKzQ1OTYsNiBA
QAogCQlCQ0U0Njk1MjEyMTRFNkNCMDAwQjk4RUIgLyogV2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5l
clByb3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkZvcm1TdWJtaXNz
aW9uTGlzdGVuZXJQcm94eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0U0Njk1
NzEyMTRFREY0MDAwQjk4RUIgLyogV0tGb3JtU3VibWlzc2lvbkxpc3RlbmVyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLRm9ybVN1Ym1pc3Npb25MaXN0ZW5lci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRTQ2OTU4MTIxNEVERjQwMDBCOThF
QiAvKiBXS0Zvcm1TdWJtaXNzaW9uTGlzdGVuZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV0tGb3JtU3VibWlzc2lvbkxpc3RlbmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCUJDRTQ2OTc2MTIxNEYyN0IwMDBCOThFQiAvKiBXZWJGcmFtZUxpc3RlbmVyUHJv
eHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViRnJhbWVMaXN0ZW5lclBy
b3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUJDRTQ2OTc4MTIxNEYyQjQwMDBC
OThFQiAvKiBXZWJGcmFtZUxpc3RlbmVyUHJveHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gV2ViRnJhbWVMaXN0ZW5lclByb3h5LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQkNFODFEOEExMzE5RjdFRjAwMjQxOTEwIC8qIEZvbnRJbmZvLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZvbnRJbmZvLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNFODFEOEIxMzE5RjdFRjAwMjQxOTEwIC8qIEZvbnRJ
bmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZvbnRJbmZvLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRTlDMENGMTQ4NTk2NUQwMEUzM0Q2MSAvKiBXZWJD
b25uZWN0aW9uVG9VSVByb2Nlc3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gV2ViQ29ubmVjdGlvblRvVUlQcm9jZXNzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTc0OTUsOCArNzQ5MSw2IEBACiAJCQkJQkNFNDY5NTAxMjE0RTZDQjAwMEI5OEVC
IC8qIFdlYkZvcm1DbGllbnQuaCAqLywKIAkJCQlCQ0U0Njk1MTEyMTRFNkNCMDAwQjk4RUIgLyog
V2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5LmNwcCAqLywKIAkJCQlCQ0U0Njk1MjEyMTRF
NkNCMDAwQjk4RUIgLyogV2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5LmggKi8sCi0JCQkJ
QkNFNDY5NzgxMjE0RjJCNDAwMEI5OEVCIC8qIFdlYkZyYW1lTGlzdGVuZXJQcm94eS5jcHAgKi8s
Ci0JCQkJQkNFNDY5NzYxMjE0RjI3QjAwMEI5OEVCIC8qIFdlYkZyYW1lTGlzdGVuZXJQcm94eS5o
ICovLAogCQkJCUJDQjlGNjlGMTEyM0E4NEIwMEExMzdFMCAvKiBXZWJGcmFtZVBvbGljeUxpc3Rl
bmVyUHJveHkuY3BwICovLAogCQkJCUJDQjlGNjlFMTEyM0E4NEIwMEExMzdFMCAvKiBXZWJGcmFt
ZVBvbGljeUxpc3RlbmVyUHJveHkuaCAqLywKIAkJCQlCQzExMUIwQTExMkY1RTRGMDAzMzdCQUIg
LyogV2ViRnJhbWVQcm94eS5jcHAgKi8sCkBAIC05NDcyLDcgKzk0NjYsNiBAQAogCQkJCUJDRTQ2
OTU0MTIxNEU2Q0IwMDBCOThFQiAvKiBXZWJGb3JtQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQ0U0Njk1NjEyMTRFNkNCMDAwQjk4RUIgLyogV2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclBy
b3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzAzMkQ4RDEwRjQzN0EwMDA1OEMxNUEgLyogV2Vi
RnJhbWUuaCBpbiBIZWFkZXJzICovLAotCQkJCUJDRTQ2OTc3MTIxNEYyN0IwMDBCOThFQiAvKiBX
ZWJGcmFtZUxpc3RlbmVyUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDMyRDdGMTBGNDM3
OEQwMDU4QzE1QSAvKiBXZWJGcmFtZUxvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTM5MUYyQ0IxMjFCNjdBRDAwRUJGN0U4IC8qIFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDQjlGNkEwMTEyM0E4NEIwMEExMzdFMCAvKiBXZWJGcmFtZVBv
bGljeUxpc3RlbmVyUHJveHkuaCBpbiBIZWFkZXJzICovLApAQCAtMTEyODUsNyArMTEyNzgsNiBA
QAogCQkJCUJDRTQ2OTUzMTIxNEU2Q0IwMDBCOThFQiAvKiBXZWJGb3JtQ2xpZW50LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUJDRTQ2OTU1MTIxNEU2Q0IwMDBCOThFQiAvKiBXZWJGb3JtU3VibWlz
c2lvbkxpc3RlbmVyUHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMxMTFBREQxMTJGNUI5
MzAwMzM3QkFCIC8qIFdlYkZyYW1lLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUJDRTQ2OTc5MTIx
NEYyQjQwMDBCOThFQiAvKiBXZWJGcmFtZUxpc3RlbmVyUHJveHkuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkMxMTFBNUYxMTJGNEZCQjAwMzM3QkFCIC8qIFdlYkZyYW1lTG9hZGVyQ2xpZW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTJEMjhGM0U3MTg4NUNDQzEwMDRCOUVBRSAvKiBXZWJGcmFt
ZUxvYWRlckNsaWVudElPUy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTkzOTFGMkNBMTIxQjY3OUEw
MEVCRjdFOCAvKiBXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0Lm1tIGluIFNvdXJjZXMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345398</attachid>
            <date>2018-07-19 16:08:44 -0700</date>
            <delta_ts>2018-07-19 16:08:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187825-20180719160843.patch</filename>
            <type>text/plain</type>
            <size>26796</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMzQwMDcpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBACisyMDE4LTA3LTE5ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW92ZSBXZWJGcmFt
ZUxpc3RlbmVyUHJveHkgdG8gV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5LCBpdHMgb25seSBz
dWJjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTg3ODI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJhZHkgRWlkc29uLgorCisgICAgICAgICog
Q01ha2VMaXN0cy50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHA6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIu
bW06CisgICAgICAgICogVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24u
Y3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbToKKyAgICAgICAg
KiBVSVByb2Nlc3MvUmVtb3RlV2ViSW5zcGVjdG9yUHJveHkuY3BwOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6
V2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5OjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0
OjpXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk6OldlYkZvcm1TdWJtaXNzaW9uTGlzdGVu
ZXJQcm94eSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lTGlzdGVuZXJQcm94eS5jcHA6
IFJlbW92ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lTGlzdGVuZXJQcm94eS5oOiBS
ZW1vdmVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk6OldlYkZy
YW1lUG9saWN5TGlzdGVuZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lUG9saWN5
TGlzdGVuZXJQcm94eTo6cmVjZWl2ZWRQb2xpY3lEZWNpc2lvbik6CisgICAgICAgIChXZWJLaXQ6
OldlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTo6Y2hhbmdlV2Vic2l0ZURhdGFTdG9yZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTo6aW52YWxpZGF0ZSk6
CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTo6aXNNYWluRnJh
bWUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk6
OnNldE5hdmlnYXRpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGcmFtZVBvbGljeUxpc3Rl
bmVyUHJveHkuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5
OjpsaXN0ZW5lcklEIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVQb2xpY3lMaXN0
ZW5lclByb3h5OjpvcGVyYXRvciBuZXcpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJGcmFtZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVQcm94eTo6YWN0aXZl
UG9saWN5TGlzdGVuZXJQcm94eSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkZyYW1lUHJveHku
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwOgorICAgICAgICAq
IFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9W
aWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW06CisgICAgICAgICogVUlQcm9jZXNzL21hYy9WaWV3
R2VzdHVyZUNvbnRyb2xsZXJNYWMubW06CisgICAgICAgICogVUlQcm9jZXNzL21hYy9XS0luc3Bl
Y3RvclZpZXdDb250cm9sbGVyLm1tOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorCiAyMDE4LTA3LTE5ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAog
ICAgICAgICBVcGRhdGUgaU9TIGZ1bGxzY3JlZW4gYWxlcnQgdGV4dCBhZ2FpbgpJbmRleDogU291
cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L0NN
YWtlTGlzdHMudHh0CShyZXZpc2lvbiAyMzQwMDcpCisrKyBTb3VyY2UvV2ViS2l0L0NNYWtlTGlz
dHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zMzUsNyArMzM1LDYgQEAgc2V0KFdlYktpdF9TT1VS
Q0VTCiAgICAgVUlQcm9jZXNzL1dlYkVkaXRDb21tYW5kUHJveHkuY3BwCiAgICAgVUlQcm9jZXNz
L1dlYkZvcm1DbGllbnQuY3BwCiAgICAgVUlQcm9jZXNzL1dlYkZvcm1TdWJtaXNzaW9uTGlzdGVu
ZXJQcm94eS5jcHAKLSAgICBVSVByb2Nlc3MvV2ViRnJhbWVMaXN0ZW5lclByb3h5LmNwcAogICAg
IFVJUHJvY2Vzcy9XZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkuY3BwCiAgICAgVUlQcm9jZXNz
L1dlYkZyYW1lUHJveHkuY3BwCiAgICAgVUlQcm9jZXNzL1dlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJv
eHkuY3BwCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVXZWJJbnNwZWN0b3JQ
cm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlV2Vi
SW5zcGVjdG9yUHJveHkuY3BwCShyZXZpc2lvbiAyMzQwMDcpCisrKyBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9SZW1vdGVXZWJJbnNwZWN0b3JQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2
LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJSZW1vdGVXZWJJbnNw
ZWN0b3JQcm94eS5oIgogCisjaW5jbHVkZSAiQVBJTmF2aWdhdGlvbi5oIgogI2luY2x1ZGUgIlJl
bW90ZVdlYkluc3BlY3RvclByb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJSZW1vdGVXZWJJbnNw
ZWN0b3JVSU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9yUHJveHkuaCIKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZvcm1TdWJtaXNzaW9u
TGlzdGVuZXJQcm94eS5oCShyZXZpc2lvbiAyMzQwMDcpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAt
MjUsMTMgKzI1LDE0IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5jbHVkZSAiV2ViRnJhbWVMaXN0
ZW5lclByb3h5LmgiCisjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCisjaW5jbHVkZSA8d3RmL0NvbXBs
ZXRpb25IYW5kbGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJGb3JtU3Vi
bWlzc2lvbkxpc3RlbmVyUHJveHkgOiBwdWJsaWMgQVBJOjpPYmplY3RJbXBsPEFQSTo6T2JqZWN0
OjpUeXBlOjpGb3JtU3VibWlzc2lvbkxpc3RlbmVyPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJl
ZjxXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk+IGNyZWF0ZShXVEY6OkZ1bmN0aW9uPHZv
aWQodm9pZCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCisgICAgc3RhdGljIFJlZjxXZWJGb3JtU3Vi
bWlzc2lvbkxpc3RlbmVyUHJveHk+IGNyZWF0ZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHZvaWQp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQogICAgIHsKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgV2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5KFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpKSk7CiAgICAgfQpAQCAtMzksMTAgKzQwLDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIGNvbnRp
bnVlU3VibWlzc2lvbigpOwogCiBwcml2YXRlOgotICAgIFdlYkZvcm1TdWJtaXNzaW9uTGlzdGVu
ZXJQcm94eShXVEY6OkZ1bmN0aW9uPHZvaWQodm9pZCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCisg
ICAgV2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5KENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
dm9pZCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiAgICAgICAgIDogbV9jb21wbGV0aW9uSGFuZGxl
cihXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSkKICAgICB7IH0KLSAgICBXVEY6OkZ1bmN0aW9u
PHZvaWQodm9pZCk+IG1fY29tcGxldGlvbkhhbmRsZXI7CisgICAgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZCh2b2lkKT4gbV9jb21wbGV0aW9uSGFuZGxlcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnJhbWVMaXN0ZW5lclByb3h5
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGcmFtZUxpc3Rl
bmVyUHJveHkuY3BwCShyZXZpc2lvbiAyMzQwMDcpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJGcmFtZUxpc3RlbmVyUHJveHkuY3BwCShub25leGlzdGVudCkKQEAgLTEsNzUgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJGcmFtZUxp
c3RlbmVyUHJveHkuaCIKLQotI2luY2x1ZGUgIldlYkZyYW1lUHJveHkuaCIKLSNpbmNsdWRlICJX
ZWJzaXRlRGF0YVN0b3JlLmgiCi0jaW5jbHVkZSAiV2Vic2l0ZVBvbGljaWVzRGF0YS5oIgotCi1u
YW1lc3BhY2UgV2ViS2l0IHsKLQotV2ViRnJhbWVMaXN0ZW5lclByb3h5OjpXZWJGcmFtZUxpc3Rl
bmVyUHJveHkoV2ViRnJhbWVQcm94eSogZnJhbWUsIHVpbnQ2NF90IGxpc3RlbmVySUQpCi0gICAg
OiBtX2ZyYW1lKGZyYW1lKQotICAgICwgbV9saXN0ZW5lcklEKGxpc3RlbmVySUQpCi17Ci19Ci0K
LVdlYkZyYW1lTGlzdGVuZXJQcm94eTo6fldlYkZyYW1lTGlzdGVuZXJQcm94eSgpCi17Ci19Ci0K
LXZvaWQgV2ViRnJhbWVMaXN0ZW5lclByb3h5OjppbnZhbGlkYXRlKCkKLXsKLSAgICBtX2ZyYW1l
ID0gbnVsbHB0cjsKLX0KLQotdm9pZCBXZWJGcmFtZUxpc3RlbmVyUHJveHk6OnJlY2VpdmVkUG9s
aWN5RGVjaXNpb24oV2ViQ29yZTo6UG9saWN5QWN0aW9uIGFjdGlvbiwgc3RkOjpvcHRpb25hbDxX
ZWJzaXRlUG9saWNpZXNEYXRhPiYmIGRhdGEpCi17Ci0gICAgaWYgKCFtX2ZyYW1lKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBtX2ZyYW1lLT5yZWNlaXZlZFBvbGljeURlY2lzaW9uKGFjdGlvbiwg
bV9saXN0ZW5lcklELCBtX25hdmlnYXRpb24uZ2V0KCksIFdURk1vdmUoZGF0YSkpOwotICAgIG1f
ZnJhbWUgPSBudWxscHRyOwotfQotCi12b2lkIFdlYkZyYW1lTGlzdGVuZXJQcm94eTo6Y2hhbmdl
V2Vic2l0ZURhdGFTdG9yZShXZWJzaXRlRGF0YVN0b3JlJiB3ZWJzaXRlRGF0YVN0b3JlKQotewot
ICAgIGlmICghbV9mcmFtZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9mcmFtZS0+Y2hhbmdl
V2Vic2l0ZURhdGFTdG9yZSh3ZWJzaXRlRGF0YVN0b3JlKTsKLX0KLQotYm9vbCBXZWJGcmFtZUxp
c3RlbmVyUHJveHk6OmlzTWFpbkZyYW1lKCkgY29uc3QKLXsKLSAgICBpZiAoIW1fZnJhbWUpCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiBtX2ZyYW1lLT5pc01haW5GcmFtZSgp
OwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKClByb3BlcnR5IGNoYW5nZXMgb246IFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZyYW1lTGlzdGVuZXJQcm94eS5jcHAKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpE
ZWxldGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0xICswLDAgIyMKLW5hdGl2ZQpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGcmFt
ZUxpc3RlbmVyUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJGcmFtZUxpc3RlbmVyUHJveHkuaAkocmV2aXNpb24gMjM0MDA3KQorKysgU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViRnJhbWVMaXN0ZW5lclByb3h5LmgJKG5vbmV4aXN0ZW50KQpAQCAtMSw2
OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
LSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpbmNsdWRlICJBUElOYXZp
Z2F0aW9uLmgiCi0jaW5jbHVkZSAiQVBJT2JqZWN0LmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9GcmFt
ZUxvYWRlclR5cGVzLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZi5oPgotI2luY2x1ZGUgPHd0Zi9SZWZQ
dHIuaD4KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIFdlYkZyYW1lUHJveHk7Ci1jbGFz
cyBXZWJzaXRlRGF0YVN0b3JlOwotc3RydWN0IFdlYnNpdGVQb2xpY2llc0RhdGE7Ci0KLWNsYXNz
IFdlYkZyYW1lTGlzdGVuZXJQcm94eSA6IHB1YmxpYyBBUEk6Ok9iamVjdCB7Ci1wdWJsaWM6Ci0g
ICAgdmlydHVhbCB+V2ViRnJhbWVMaXN0ZW5lclByb3h5KCk7Ci0KLSAgICB2b2lkIGludmFsaWRh
dGUoKTsKLSAgICB1aW50NjRfdCBsaXN0ZW5lcklEKCkgY29uc3QgeyByZXR1cm4gbV9saXN0ZW5l
cklEOyB9Ci0KLSAgICB2b2lkIHNldE5hdmlnYXRpb24oUmVmPEFQSTo6TmF2aWdhdGlvbj4mJiBu
YXZpZ2F0aW9uKSB7IG1fbmF2aWdhdGlvbiA9IFdURk1vdmUobmF2aWdhdGlvbik7IH0KLQotICAg
IHZvaWQgY2hhbmdlV2Vic2l0ZURhdGFTdG9yZShXZWJzaXRlRGF0YVN0b3JlJik7Ci0KLSAgICB2
b2lkIHNldEFwcGx5UG9saWN5SW5OZXdQcm9jZXNzSWZQb3NzaWJsZShib29sIGFwcGx5UG9saWN5
SW5OZXdQcm9jZXNzSWZQb3NzaWJsZSkgeyBtX2FwcGx5UG9saWN5SW5OZXdQcm9jZXNzSWZQb3Nz
aWJsZSA9IGFwcGx5UG9saWN5SW5OZXdQcm9jZXNzSWZQb3NzaWJsZTsgfQotICAgIGJvb2wgYXBw
bHlQb2xpY3lJbk5ld1Byb2Nlc3NJZlBvc3NpYmxlKCkgY29uc3QgeyByZXR1cm4gbV9hcHBseVBv
bGljeUluTmV3UHJvY2Vzc0lmUG9zc2libGU7IH0KLQotICAgIGJvb2wgaXNNYWluRnJhbWUoKSBj
b25zdDsKLQotcHJvdGVjdGVkOgotICAgIFdlYkZyYW1lTGlzdGVuZXJQcm94eShXZWJGcmFtZVBy
b3h5KiwgdWludDY0X3QgbGlzdGVuZXJJRCk7Ci0KLSAgICB2b2lkIHJlY2VpdmVkUG9saWN5RGVj
aXNpb24oV2ViQ29yZTo6UG9saWN5QWN0aW9uLCBzdGQ6Om9wdGlvbmFsPFdlYnNpdGVQb2xpY2ll
c0RhdGE+JiYpOwotCi1wcml2YXRlOgotICAgIFJlZlB0cjxXZWJGcmFtZVByb3h5PiBtX2ZyYW1l
OwotICAgIHVpbnQ2NF90IG1fbGlzdGVuZXJJRDsKLSAgICBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9u
PiBtX25hdmlnYXRpb247Ci0gICAgYm9vbCBtX2FwcGx5UG9saWN5SW5OZXdQcm9jZXNzSWZQb3Nz
aWJsZSB7IGZhbHNlIH07Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKClByb3BlcnR5IGNo
YW5nZXMgb246IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZyYW1lTGlzdGVuZXJQcm94eS5o
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMSArMCwwICMjCi1uYXRpdmUK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkuY3BwCShyZXZp
c2lvbiAyMzQwMDcpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGcmFtZVBvbGljeUxp
c3RlbmVyUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5LmgiCiAK
KyNpbmNsdWRlICJBUElOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVQcm94eS5oIgog
I2luY2x1ZGUgIldlYnNpdGVEYXRhU3RvcmUuaCIKICNpbmNsdWRlICJXZWJzaXRlUG9saWNpZXNE
YXRhLmgiCkBAIC0zMywxMSArMzQsNDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBXZWJGcmFt
ZVBvbGljeUxpc3RlbmVyUHJveHk6OldlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eShXZWJGcmFt
ZVByb3h5KiBmcmFtZSwgdWludDY0X3QgbGlzdGVuZXJJRCwgUG9saWN5TGlzdGVuZXJUeXBlIHBv
bGljeVR5cGUpCi0gICAgOiBXZWJGcmFtZUxpc3RlbmVyUHJveHkoZnJhbWUsIGxpc3RlbmVySUQp
Ci0gICAgLCBtX3BvbGljeVR5cGUocG9saWN5VHlwZSkKKyAgICA6IG1fcG9saWN5VHlwZShwb2xp
Y3lUeXBlKQorICAgICwgbV9mcmFtZShmcmFtZSkKKyAgICAsIG1fbGlzdGVuZXJJRChsaXN0ZW5l
cklEKQogewogfQogCit2b2lkIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTo6cmVjZWl2ZWRQ
b2xpY3lEZWNpc2lvbihXZWJDb3JlOjpQb2xpY3lBY3Rpb24gYWN0aW9uLCBzdGQ6Om9wdGlvbmFs
PFdlYnNpdGVQb2xpY2llc0RhdGE+JiYgZGF0YSkKK3sKKyAgICBpZiAoIW1fZnJhbWUpCisgICAg
ICAgIHJldHVybjsKKyAgICAKKyAgICBtX2ZyYW1lLT5yZWNlaXZlZFBvbGljeURlY2lzaW9uKGFj
dGlvbiwgbV9saXN0ZW5lcklELCBtX25hdmlnYXRpb24uZ2V0KCksIFdURk1vdmUoZGF0YSkpOwor
ICAgIG1fZnJhbWUgPSBudWxscHRyOworfQorCit2b2lkIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQ
cm94eTo6Y2hhbmdlV2Vic2l0ZURhdGFTdG9yZShXZWJzaXRlRGF0YVN0b3JlJiB3ZWJzaXRlRGF0
YVN0b3JlKQoreworICAgIGlmICghbV9mcmFtZSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAg
IG1fZnJhbWUtPmNoYW5nZVdlYnNpdGVEYXRhU3RvcmUod2Vic2l0ZURhdGFTdG9yZSk7Cit9CisK
K3ZvaWQgV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5OjppbnZhbGlkYXRlKCkKK3sKKyAgICBt
X2ZyYW1lID0gbnVsbHB0cjsKK30KKworYm9vbCBXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk6
OmlzTWFpbkZyYW1lKCkgY29uc3QKK3sKKyAgICBpZiAoIW1fZnJhbWUpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAKKyAgICByZXR1cm4gbV9mcmFtZS0+aXNNYWluRnJhbWUoKTsKK30KKwor
dm9pZCBXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk6OnNldE5hdmlnYXRpb24oUmVmPEFQSTo6
TmF2aWdhdGlvbj4mJiBuYXZpZ2F0aW9uKQoreworICAgIG1fbmF2aWdhdGlvbiA9IFdURk1vdmUo
bmF2aWdhdGlvbik7Cit9CisgICAgCiB2b2lkIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eTo6
dXNlKHN0ZDo6b3B0aW9uYWw8V2Vic2l0ZVBvbGljaWVzRGF0YT4mJiBkYXRhKQogewogICAgIHJl
Y2VpdmVkUG9saWN5RGVjaXNpb24oV2ViQ29yZTo6UG9saWN5QWN0aW9uOjpVc2UsIFdURk1vdmUo
ZGF0YSkpOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnJhbWVQb2xpY3lMaXN0
ZW5lclByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViRnJh
bWVQb2xpY3lMaXN0ZW5lclByb3h5LmgJKHJldmlzaW9uIDIzNDAwNykKKysrIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yNSwyNSArMjUsMzQgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlICJXZWJGcmFt
ZUxpc3RlbmVyUHJveHkuaCIKKyNpbmNsdWRlICJBUElPYmplY3QuaCIKIAogI2lmIFBMQVRGT1JN
KENPQ09BKQogI2luY2x1ZGUgIldLRm91bmRhdGlvbi5oIgogI2VuZGlmCiAKLSNkZWZpbmUgREVM
RUdBVEVfUkVGX0NPVU5USU5HX1RPX0NPQ09BIChQTEFURk9STShDT0NPQSkgJiYgV0tfQVBJX0VO
QUJMRUQpCituYW1lc3BhY2UgQVBJIHsKK2NsYXNzIE5hdmlnYXRpb247Cit9CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKK2VudW0gY2xhc3MgUG9saWN5QWN0aW9uOworfQogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAorY2xhc3MgV2Vic2l0ZURhdGFTdG9yZTsKK2NsYXNzIFdlYkZyYW1lUHJveHk7Citz
dHJ1Y3QgV2Vic2l0ZVBvbGljaWVzRGF0YTsKKwogZW51bSBjbGFzcyBQb2xpY3lMaXN0ZW5lclR5
cGUgewogICAgIE5hdmlnYXRpb25BY3Rpb24sCiAgICAgTmV3V2luZG93QWN0aW9uLAogICAgIFJl
c3BvbnNlLAogfTsKIAotY2xhc3MgV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5IDogcHVibGlj
IFdlYkZyYW1lTGlzdGVuZXJQcm94eSB7CitjbGFzcyBXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJv
eHkgOiBwdWJsaWMgQVBJOjpPYmplY3RJbXBsPEFQSTo6T2JqZWN0OjpUeXBlOjpGcmFtZVBvbGlj
eUxpc3RlbmVyPiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIGNvbnN0IFR5cGUgQVBJVHlwZSA9IFR5
cGU6OkZyYW1lUG9saWN5TGlzdGVuZXI7CiAKICAgICBzdGF0aWMgUmVmPFdlYkZyYW1lUG9saWN5
TGlzdGVuZXJQcm94eT4gY3JlYXRlKFdlYkZyYW1lUHJveHkqIGZyYW1lLCB1aW50NjRfdCBsaXN0
ZW5lcklELCBQb2xpY3lMaXN0ZW5lclR5cGUgcG9saWN5VHlwZSkKICAgICB7CkBAIC01NiwxOCAr
NjUsMjcgQEAgcHVibGljOgogCiAgICAgUG9saWN5TGlzdGVuZXJUeXBlIHBvbGljeUxpc3RlbmVy
VHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcG9saWN5VHlwZTsgfQogCisgICAgdWludDY0X3QgbGlz
dGVuZXJJRCgpIGNvbnN0IHsgcmV0dXJuIG1fbGlzdGVuZXJJRDsgfQorICAgIAorICAgIHZvaWQg
c2V0TmF2aWdhdGlvbihSZWY8QVBJOjpOYXZpZ2F0aW9uPiYmKTsKKyAgICB2b2lkIGludmFsaWRh
dGUoKTsKKyAgICAKKyAgICB2b2lkIGNoYW5nZVdlYnNpdGVEYXRhU3RvcmUoV2Vic2l0ZURhdGFT
dG9yZSYpOworICAgIGJvb2wgaXNNYWluRnJhbWUoKSBjb25zdDsKKworICAgIHZvaWQgc2V0QXBw
bHlQb2xpY3lJbk5ld1Byb2Nlc3NJZlBvc3NpYmxlKGJvb2wgYXBwbHlQb2xpY3lJbk5ld1Byb2Nl
c3NJZlBvc3NpYmxlKSB7IG1fYXBwbHlQb2xpY3lJbk5ld1Byb2Nlc3NJZlBvc3NpYmxlID0gYXBw
bHlQb2xpY3lJbk5ld1Byb2Nlc3NJZlBvc3NpYmxlOyB9CisgICAgYm9vbCBhcHBseVBvbGljeUlu
TmV3UHJvY2Vzc0lmUG9zc2libGUoKSBjb25zdCB7IHJldHVybiBtX2FwcGx5UG9saWN5SW5OZXdQ
cm9jZXNzSWZQb3NzaWJsZTsgfQorCiBwcml2YXRlOgogICAgIFdlYkZyYW1lUG9saWN5TGlzdGVu
ZXJQcm94eShXZWJGcmFtZVByb3h5KiwgdWludDY0X3QgbGlzdGVuZXJJRCwgUG9saWN5TGlzdGVu
ZXJUeXBlKTsKIAotICAgIFR5cGUgdHlwZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIEFQSVR5
cGU7IH0KLQotI2lmIERFTEVHQVRFX1JFRl9DT1VOVElOR19UT19DT0NPQQotICAgIHZvaWQqIG9w
ZXJhdG9yIG5ldyhzaXplX3Qgc2l6ZSkgeyByZXR1cm4gbmV3T2JqZWN0KHNpemUsIEFQSVR5cGUp
OyB9Ci0jZW5kaWYKKyAgICB2b2lkIHJlY2VpdmVkUG9saWN5RGVjaXNpb24oV2ViQ29yZTo6UG9s
aWN5QWN0aW9uLCBzdGQ6Om9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+JiYpOwogCiAgICAg
UG9saWN5TGlzdGVuZXJUeXBlIG1fcG9saWN5VHlwZTsKKyAgICBSZWZQdHI8V2ViRnJhbWVQcm94
eT4gbV9mcmFtZTsKKyAgICB1aW50NjRfdCBtX2xpc3RlbmVySUQgeyAwIH07CisgICAgUmVmUHRy
PEFQSTo6TmF2aWdhdGlvbj4gbV9uYXZpZ2F0aW9uOworICAgIGJvb2wgbV9hcHBseVBvbGljeUlu
TmV3UHJvY2Vzc0lmUG9zc2libGUgeyBmYWxzZSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0Ci0KLSN1bmRlZiBERUxFR0FURV9SRUZfQ09VTlRJTkdfVE9fQ09DT0EKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwCShyZXZpc2lvbiAyMzQwMDcpCisr
KyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYkZy
YW1lUHJveHkuaCIKIAorI2luY2x1ZGUgIkFQSU5hdmlnYXRpb24uaCIKICNpbmNsdWRlICJXZWJD
ZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlICJXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHku
aCIKICNpbmNsdWRlICJXZWJQYWdlTWVzc2FnZXMuaCIKQEAgLTE5NywxMCArMTk4LDcgQEAgV2Vi
RnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5JiBXZWJGcmFtZVBybwogCiBXZWJGcmFtZVBvbGljeUxp
c3RlbmVyUHJveHkqIFdlYkZyYW1lUHJveHk6OmFjdGl2ZVBvbGljeUxpc3RlbmVyUHJveHkoKQog
ewotICAgIGlmICghbV9hY3RpdmVMaXN0ZW5lciB8fCBtX2FjdGl2ZUxpc3RlbmVyLT50eXBlKCkg
IT0gV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5OjpBUElUeXBlKQotICAgICAgICByZXR1cm4g
bnVsbHB0cjsKLQotICAgIHJldHVybiBzdGF0aWNfY2FzdDxXZWJGcmFtZVBvbGljeUxpc3RlbmVy
UHJveHkqPihtX2FjdGl2ZUxpc3RlbmVyLmdldCgpKTsKKyAgICByZXR1cm4gbV9hY3RpdmVMaXN0
ZW5lci5nZXQoKTsKIH0KIAogdm9pZCBXZWJGcmFtZVByb3h5OjpjaGFuZ2VXZWJzaXRlRGF0YVN0
b3JlKFdlYnNpdGVEYXRhU3RvcmUmIHdlYnNpdGVEYXRhU3RvcmUpCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCShyZXZpc2lvbiAyMzQwMDcpCisrKyBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcg
KzI4LDcgQEAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRTdGF0
ZS5oIgogI2luY2x1ZGUgIkdlbmVyaWNDYWxsYmFjay5oIgotI2luY2x1ZGUgIldlYkZyYW1lTGlz
dGVuZXJQcm94eS5oIgorI2luY2x1ZGUgIldlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eS5oIgog
I2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVMb2FkZXJUeXBlcy5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CkBAIC0xNDQsNyArMTQ0LDcgQEAgcHJp
dmF0ZToKICAgICBib29sIG1faXNGcmFtZVNldDsKICAgICBib29sIG1fY29udGFpbnNQbHVnaW5E
b2N1bWVudCB7IGZhbHNlIH07CiAgICAgUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gbV9jZXJ0
aWZpY2F0ZUluZm87Ci0gICAgUmVmUHRyPFdlYkZyYW1lTGlzdGVuZXJQcm94eT4gbV9hY3RpdmVM
aXN0ZW5lcjsKKyAgICBSZWZQdHI8V2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5PiBtX2FjdGl2
ZUxpc3RlbmVyOwogICAgIHVpbnQ2NF90IG1fZnJhbWVJRDsKICNpZiBFTkFCTEUoQ09OVEVOVF9G
SUxURVJJTkcpCiAgICAgV2ViQ29yZTo6Q29udGVudEZpbHRlclVuYmxvY2tIYW5kbGVyIG1fY29u
dGVudEZpbHRlclVuYmxvY2tIYW5kbGVyOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViSW5zcGVjdG9yUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYkluc3BlY3RvclByb3h5LmNwcAkocmV2aXNpb24gMjM0MDA3KQorKysgU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
Nyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9y
UHJveHkuaCIKIAorI2luY2x1ZGUgIkFQSU5hdmlnYXRpb24uaCIKICNpbmNsdWRlICJBUElQcm9j
ZXNzUG9vbENvbmZpZ3VyYXRpb24uaCIKICNpbmNsdWRlICJXZWJBdXRvbWF0aW9uU2Vzc2lvbi5o
IgogI2luY2x1ZGUgIldlYkZyYW1lUHJveHkuaCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAJKHJldmlzaW9uIDIzNDAwNykKKysrIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzMsNiAr
MzMsNyBAQAogI2luY2x1ZGUgIkFQSUhUVFBDb29raWVTdG9yZS5oIgogI2luY2x1ZGUgIkFQSUlu
amVjdGVkQnVuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiQVBJTGVnYWN5Q29udGV4dEhpc3RvcnlD
bGllbnQuaCIKKyNpbmNsdWRlICJBUElOYXZpZ2F0aW9uLmgiCiAjaW5jbHVkZSAiQVBJUGFnZUNv
bmZpZ3VyYXRpb24uaCIKICNpbmNsdWRlICJBUElQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24uaCIK
ICNpbmNsdWRlICJDaGlsZFByb2Nlc3NNZXNzYWdlcy5oIgpJbmRleDogU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCShyZXZpc2lvbiAyMzQwMDcpCisrKyBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICsz
OCw3IEBACiAjaW5jbHVkZSAiQVBJR2VvbWV0cnkuaCIKICNpbmNsdWRlICJBUElIaXRUZXN0UmVz
dWx0LmgiCiAjaW5jbHVkZSAiQVBJTG9hZGVyQ2xpZW50LmgiCisjaW5jbHVkZSAiQVBJTmF2aWdh
dGlvbi5oIgogI2luY2x1ZGUgIkFQSU5hdmlnYXRpb25BY3Rpb24uaCIKICNpbmNsdWRlICJBUElO
YXZpZ2F0aW9uQ2xpZW50LmgiCiAjaW5jbHVkZSAiQVBJTmF2aWdhdGlvblJlc3BvbnNlLmgiCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tCcm93c2luZ0NvbnRleHRD
b250cm9sbGVyLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0JKHJldmlzaW9uIDIzNDAwNykKKysr
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Jyb3dzaW5nQ29udGV4dENvbnRy
b2xsZXIubW0JKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBXS19BUElfRU5B
QkxFRAogCiAjaW1wb3J0ICJBUElEYXRhLmgiCisjaW1wb3J0ICJBUElOYXZpZ2F0aW9uLmgiCiAj
aW1wb3J0ICJPYmpDT2JqZWN0R3JhcGguaCIKICNpbXBvcnQgIlBhZ2VMb2FkU3RhdGVPYnNlcnZl
ci5oIgogI2ltcG9ydCAiUmVtb3RlT2JqZWN0UmVnaXN0cnkuaCIKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdFdlYlZpZXcuY3BwCShyZXZpc2lv
biAyMzQwMDcpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJW
aWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgIldlYktp
dFdlYlZpZXcuaCIKIAogI2luY2x1ZGUgIkFQSURhdGEuaCIKKyNpbmNsdWRlICJBUElOYXZpZ2F0
aW9uLmgiCiAjaW5jbHVkZSAiQVBJU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCiAjaW5jbHVkZSAi
SW1hZ2VPcHRpb25zLmgiCiAjaW5jbHVkZSAiV2ViQ2VydGlmaWNhdGVJbmZvLmgiCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1
dG9tYXRpb25TZXNzaW9uLmNwcAkocmV2aXNpb24gMjM0MDA3KQorKysgU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkFQSUFycmF5LmgiCiAjaW5jbHVkZSAi
QVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaCIKKyNpbmNsdWRlICJBUElOYXZpZ2F0aW9uLmgi
CiAjaW5jbHVkZSAiQVBJT3BlblBhbmVsUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIkF1dG9tYXRp
b25Qcm90b2NvbE9iamVjdHMuaCIKICNpbmNsdWRlICJDb29yZGluYXRlU3lzdGVtLmgiCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQkocmV2aXNp
b24gMjM0MDA3KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBQTEFURk9STShNQUMpCiAK
ICNpbXBvcnQgIkFQSUxlZ2FjeUNvbnRleHRIaXN0b3J5Q2xpZW50LmgiCisjaW1wb3J0ICJBUElO
YXZpZ2F0aW9uLmgiCiAjaW1wb3J0ICJBdHRyaWJ1dGVkU3RyaW5nLmgiCiAjaW1wb3J0ICJDb2xv
clNwYWNlRGF0YS5oIgogI2ltcG9ydCAiRnVsbHNjcmVlbkNsaWVudC5oIgpJbmRleDogU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvZ3RrL1dlYkluc3BlY3RvclByb3h5R3RrLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvV2ViSW5zcGVjdG9yUHJveHlHdGsuY3Bw
CShyZXZpc2lvbiAyMzQwMDcpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvV2ViSW5z
cGVjdG9yUHJveHlHdGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9yUHJveHkuaCIKIAorI2luY2x1
ZGUgIkFQSU5hdmlnYXRpb24uaCIKICNpbmNsdWRlICJBUElOYXZpZ2F0aW9uQWN0aW9uLmgiCiAj
aW5jbHVkZSAiV0tBcnJheS5oIgogI2luY2x1ZGUgIldLQ29udGV4dE1lbnVJdGVtLmgiCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvVmlld0dlc3R1cmVDb250cm9sbGVySU9TLm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9WaWV3R2VzdHVyZUNv
bnRyb2xsZXJJT1MubW0JKHJldmlzaW9uIDIzNDAwNykKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTI4
LDYgKzI4LDcgQEAKIAogI2lmIFBMQVRGT1JNKElPUykKIAorI2ltcG9ydCAiQVBJTmF2aWdhdGlv
bi5oIgogI2ltcG9ydCAiRHJhd2luZ0FyZWFQcm94eS5oIgogI2ltcG9ydCAiVUlLaXRTUEkuaCIK
ICNpbXBvcnQgIlZpZXdHZXN0dXJlQ29udHJvbGxlck1lc3NhZ2VzLmgiCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVDb250cm9sbGVyTWFjLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJN
YWMubW0JKHJldmlzaW9uIDIzNDAwNykKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9W
aWV3R2VzdHVyZUNvbnRyb2xsZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcg
QEAKIAogI2lmIFBMQVRGT1JNKE1BQykKIAorI2ltcG9ydCAiQVBJTmF2aWdhdGlvbi5oIgogI2lt
cG9ydCAiRHJhd2luZ0FyZWFQcm94eS5oIgogI2ltcG9ydCAiRnJhbWVMb2FkU3RhdGUuaCIKICNp
bXBvcnQgIkxvZ2dpbmcuaCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XS0lu
c3BlY3RvclZpZXdDb250cm9sbGVyLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL21hYy9XS0luc3BlY3RvclZpZXdDb250cm9sbGVyLm1tCShyZXZpc2lvbiAyMzQwMDcp
CisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV0tJbnNwZWN0b3JWaWV3Q29udHJvbGxl
ci5tbQkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgUExBVEZPUk0oTUFD
KSAmJiBXS19BUElfRU5BQkxFRAogCisjaW1wb3J0ICJBUElOYXZpZ2F0aW9uLmgiCiAjaW1wb3J0
ICJWZXJzaW9uQ2hlY2tzLmgiCiAjaW1wb3J0ICJXS0ZyYW1lSW5mby5oIgogI2ltcG9ydCAiV0tJ
bnNwZWN0b3JXS1dlYlZpZXcuaCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjM0MDA3KQorKysgU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTk4
MCw4ICsxOTgwLDYgQEAKIAkJQkNFNDY5NTYxMjE0RTZDQjAwMEI5OEVCIC8qIFdlYkZvcm1TdWJt
aXNzaW9uTGlzdGVuZXJQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkNFNDY5NTIxMjE0RTZDQjAwMEI5OEVCIC8qIFdlYkZvcm1TdWJtaXNzaW9u
TGlzdGVuZXJQcm94eS5oICovOyB9OwogCQlCQ0U0Njk1OTEyMTRFREY0MDAwQjk4RUIgLyogV0tG
b3JtU3VibWlzc2lvbkxpc3RlbmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEJDRTQ2OTU3MTIxNEVERjQwMDBCOThFQiAvKiBXS0Zvcm1TdWJtaXNz
aW9uTGlzdGVuZXIuY3BwICovOyB9OwogCQlCQ0U0Njk1QTEyMTRFREY0MDAwQjk4RUIgLyogV0tG
b3JtU3VibWlzc2lvbkxpc3RlbmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQ0U0Njk1ODEyMTRFREY0MDAwQjk4RUIgLyogV0tGb3JtU3VibWlzc2lv
bkxpc3RlbmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKLQkJQkNFNDY5NzcxMjE0RjI3QjAwMEI5OEVCIC8qIFdlYkZyYW1lTGlzdGVuZXJQcm94eS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFNDY5NzYx
MjE0RjI3QjAwMEI5OEVCIC8qIFdlYkZyYW1lTGlzdGVuZXJQcm94eS5oICovOyB9OwotCQlCQ0U0
Njk3OTEyMTRGMkI0MDAwQjk4RUIgLyogV2ViRnJhbWVMaXN0ZW5lclByb3h5LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRTQ2OTc4MTIxNEYyQjQw
MDBCOThFQiAvKiBXZWJGcmFtZUxpc3RlbmVyUHJveHkuY3BwICovOyB9OwogCQlCQ0U4MUQ4QzEz
MTlGN0VGMDAyNDE5MTAgLyogRm9udEluZm8uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkNFODFEOEExMzE5RjdFRjAwMjQxOTEwIC8qIEZvbnRJbmZv
LmNwcCAqLzsgfTsKIAkJQkNFODFEOEQxMzE5RjdFRjAwMjQxOTEwIC8qIEZvbnRJbmZvLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0U4MUQ4QjEzMTlG
N0VGMDAyNDE5MTAgLyogRm9udEluZm8uaCAqLzsgfTsKIAkJQkNFRTdBRDAxMjgxNzk4ODAwOTgy
N0RBIC8qIFdlYlByb2Nlc3NQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0VFN0FDQzEyODE3OTg4MDA5ODI3REEg
LyogV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKQEAgLTQ1OTgsOCAr
NDU5Niw2IEBACiAJCUJDRTQ2OTUyMTIxNEU2Q0IwMDBCOThFQiAvKiBXZWJGb3JtU3VibWlzc2lv
bkxpc3RlbmVyUHJveHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViRm9y
bVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUJDRTQ2OTU3MTIxNEVERjQwMDBCOThFQiAvKiBXS0Zvcm1TdWJtaXNzaW9uTGlzdGVuZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tGb3JtU3VibWlzc2lvbkxp
c3RlbmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNFNDY5NTgxMjE0RURG
NDAwMEI5OEVCIC8qIFdLRm9ybVN1Ym1pc3Npb25MaXN0ZW5lci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXS0Zvcm1TdWJtaXNzaW9uTGlzdGVuZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJQkNFNDY5NzYxMjE0RjI3QjAwMEI5OEVCIC8qIFdlYkZyYW1lTGlz
dGVuZXJQcm94eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJGcmFtZUxp
c3RlbmVyUHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkNFNDY5NzgxMjE0
RjJCNDAwMEI5OEVCIC8qIFdlYkZyYW1lTGlzdGVuZXJQcm94eS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJGcmFtZUxpc3RlbmVyUHJveHkuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0U4MUQ4QTEzMTlGN0VGMDAyNDE5MTAgLyogRm9udElu
Zm8uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRm9udEluZm8uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQ0U4MUQ4QjEzMTlGN0VGMDAyNDE5MTAg
LyogRm9udEluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9udEluZm8u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNFOUMwQ0YxNDg1OTY1RDAwRTMzRDYx
IC8qIFdlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3MuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtNzQ5NSw4ICs3NDkxLDYgQEAKIAkJCQlCQ0U0Njk1MDEyMTRFNkNC
MDAwQjk4RUIgLyogV2ViRm9ybUNsaWVudC5oICovLAogCQkJCUJDRTQ2OTUxMTIxNEU2Q0IwMDBC
OThFQiAvKiBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHkuY3BwICovLAogCQkJCUJDRTQ2
OTUyMTIxNEU2Q0IwMDBCOThFQiAvKiBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHkuaCAq
LywKLQkJCQlCQ0U0Njk3ODEyMTRGMkI0MDAwQjk4RUIgLyogV2ViRnJhbWVMaXN0ZW5lclByb3h5
LmNwcCAqLywKLQkJCQlCQ0U0Njk3NjEyMTRGMjdCMDAwQjk4RUIgLyogV2ViRnJhbWVMaXN0ZW5l
clByb3h5LmggKi8sCiAJCQkJQkNCOUY2OUYxMTIzQTg0QjAwQTEzN0UwIC8qIFdlYkZyYW1lUG9s
aWN5TGlzdGVuZXJQcm94eS5jcHAgKi8sCiAJCQkJQkNCOUY2OUUxMTIzQTg0QjAwQTEzN0UwIC8q
IFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eS5oICovLAogCQkJCUJDMTExQjBBMTEyRjVFNEYw
MDMzN0JBQiAvKiBXZWJGcmFtZVByb3h5LmNwcCAqLywKQEAgLTk0NzIsNyArOTQ2Niw2IEBACiAJ
CQkJQkNFNDY5NTQxMjE0RTZDQjAwMEI5OEVCIC8qIFdlYkZvcm1DbGllbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDRTQ2OTU2MTIxNEU2Q0IwMDBCOThFQiAvKiBXZWJGb3JtU3VibWlzc2lvbkxp
c3RlbmVyUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDMyRDhEMTBGNDM3QTAwMDU4QzE1
QSAvKiBXZWJGcmFtZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkNFNDY5NzcxMjE0RjI3QjAwMEI5
OEVCIC8qIFdlYkZyYW1lTGlzdGVuZXJQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwMzJE
N0YxMEY0Mzc4RDAwNThDMTVBIC8qIFdlYkZyYW1lTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQk5MzkxRjJDQjEyMUI2N0FEMDBFQkY3RTggLyogV2ViRnJhbWVOZXR3b3JraW5nQ29u
dGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNCOUY2QTAxMTIzQTg0QjAwQTEzN0UwIC8qIFdl
YkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eS5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMTI4NSw3ICsx
MTI3OCw2IEBACiAJCQkJQkNFNDY5NTMxMjE0RTZDQjAwMEI5OEVCIC8qIFdlYkZvcm1DbGllbnQu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFNDY5NTUxMjE0RTZDQjAwMEI5OEVCIC8qIFdlYkZv
cm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzExMUFE
RDExMkY1QjkzMDAzMzdCQUIgLyogV2ViRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQkNF
NDY5NzkxMjE0RjJCNDAwMEI5OEVCIC8qIFdlYkZyYW1lTGlzdGVuZXJQcm94eS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCQzExMUE1RjExMkY0RkJCMDAzMzdCQUIgLyogV2ViRnJhbWVMb2FkZXJD
bGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQyOEYzRTcxODg1Q0NDMTAwNEI5RUFFIC8q
IFdlYkZyYW1lTG9hZGVyQ2xpZW50SU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM5MUYyQ0Ex
MjFCNjc5QTAwRUJGN0U4IC8qIFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQubW0gaW4gU291cmNl
cyAqLywK
</data>

          </attachment>
      

    </bug>

</bugzilla>