<?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>161894</bug_id>
          
          <creation_ts>2016-09-12 23:44:56 -0700</creation_ts>
          <short_desc>Undoing a candidate insertion results in the replaced text being selected</short_desc>
          <delta_ts>2016-09-14 12:35:48 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>bdakin</cc>
    
    <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>mitz</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1229098</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-09-12 23:44:56 -0700</bug_when>
    <thetext>Undoing a candidate insertion results in the replaced text being selected</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229099</commentid>
    <comment_count>1</comment_count>
      <attachid>288677</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-09-12 23:45:27 -0700</bug_when>
    <thetext>Created attachment 288677
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229100</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-09-12 23:45:55 -0700</bug_when>
    <thetext>rdar://problem/28225774</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229103</commentid>
    <comment_count>3</comment_count>
      <attachid>288678</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-09-12 23:48:47 -0700</bug_when>
    <thetext>Created attachment 288678
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229157</commentid>
    <comment_count>4</comment_count>
      <attachid>288678</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2016-09-13 07:34:12 -0700</bug_when>
    <thetext>Comment on attachment 288678
Patch

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

&gt; Source/WebCore/ChangeLog:24
&gt; +        Make use of the new editor command to do candidate insertion as a single

Awesome! Will this also take care of the single EditorState update with selectionIsRange = true as well when inserting a candidate?

&gt; Source/WebCore/editing/Editor.cpp:3641
&gt; +            Ref&lt;ReplaceRangeWithTextCommand&gt; replaceCommand = ReplaceRangeWithTextCommand::create(range.get(), acceptedCandidate.replacement);

Can we use auto here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229167</commentid>
    <comment_count>5</comment_count>
      <attachid>288678</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-09-13 08:42:17 -0700</bug_when>
    <thetext>Comment on attachment 288678
Patch

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

&gt; Source/WebCore/editing/Editor.cpp:3621
&gt; +RefPtr&lt;Range&gt; Editor::rangeForTextCheckingResult(const TextCheckingResult&amp; result) const

I can&apos;t parse this. Is it &quot;range for text-checking-result&quot;, or &quot;range for text, checking result&quot;?

&gt; Source/WebCore/editing/ReplaceRangeWithTextCommand.cpp:41
&gt; +ReplaceRangeWithTextCommand::ReplaceRangeWithTextCommand(PassRefPtr&lt;Range&gt; rangeToBeReplaced, const String&amp; text)

Do we have to still PassRefPtr&lt;&gt;?

&gt; Source/WebCore/editing/ReplaceRangeWithTextCommand.cpp:52
&gt; +    String previousText = plainText(m_rangeToBeReplaced.get());
&gt; +    if (!previousText.length())
&gt; +        return;

Why go to the cost of getting the previous text (which may be megabytes) rather than just asking the range if it&apos;s empty?

&gt; Source/WebCore/editing/ReplaceRangeWithTextCommand.cpp:57
&gt; +    if (!frame().selection().shouldChangeSelection(selection))
&gt; +        return;

Would have been cheaper to do this first.

&gt; Source/WebCore/editing/ReplaceRangeWithTextCommand.cpp:60
&gt; +    if (!m_rangeToBeReplaced)
&gt; +        return;

And this.

&gt; Source/WebCore/editing/ReplaceRangeWithTextCommand.h:27
&gt; +#ifndef ReplaceRangeWithTextCommand_h
&gt; +#define ReplaceRangeWithTextCommand_h

The cool kids are using #pragma once now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229186</commentid>
    <comment_count>6</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-09-13 09:55:04 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Comment on attachment 288678 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=288678&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/editing/Editor.cpp:3621
&gt; &gt; +RefPtr&lt;Range&gt; Editor::rangeForTextCheckingResult(const TextCheckingResult&amp; result) const
&gt; 
&gt; I can&apos;t parse this. Is it &quot;range for text-checking-result&quot;, or &quot;range for
&gt; text, checking result&quot;?

The only argument is a TextCheckingResult :)

&gt; &gt; Source/WebCore/editing/ReplaceRangeWithTextCommand.cpp:41
&gt; &gt; +ReplaceRangeWithTextCommand::ReplaceRangeWithTextCommand(PassRefPtr&lt;Range&gt; rangeToBeReplaced, const String&amp; text)
&gt; 
&gt; Do we have to still PassRefPtr&lt;&gt;?

No. I&apos;ll fix that.

&gt; &gt; Source/WebCore/editing/ReplaceRangeWithTextCommand.cpp:52
&gt; &gt; +    String previousText = plainText(m_rangeToBeReplaced.get());
&gt; &gt; +    if (!previousText.length())
&gt; &gt; +        return;
&gt; 
&gt; Why go to the cost of getting the previous text (which may be megabytes)
&gt; rather than just asking the range if it&apos;s empty?

I don&apos;t know (I&apos;m just mimicing spell checking code), but I do know that plainText().length() and the range length are two very different things.

&gt; &gt; Source/WebCore/editing/ReplaceRangeWithTextCommand.cpp:57
&gt; &gt; +    if (!frame().selection().shouldChangeSelection(selection))
&gt; &gt; +        return;
&gt; 
&gt; Would have been cheaper to do this first.
&gt; 
&gt; &gt; Source/WebCore/editing/ReplaceRangeWithTextCommand.cpp:60
&gt; &gt; +    if (!m_rangeToBeReplaced)
&gt; &gt; +        return;
&gt; 
&gt; And this.
&gt; 
&gt; &gt; Source/WebCore/editing/ReplaceRangeWithTextCommand.h:27
&gt; &gt; +#ifndef ReplaceRangeWithTextCommand_h
&gt; &gt; +#define ReplaceRangeWithTextCommand_h
&gt; 
&gt; The cool kids are using #pragma once now.

Sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229267</commentid>
    <comment_count>7</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-09-13 12:47:04 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/205870</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229600</commentid>
    <comment_count>8</comment_count>
      <attachid>288678</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-09-14 09:57:35 -0700</bug_when>
    <thetext>Comment on attachment 288678
Patch

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

&gt;&gt;&gt; Source/WebCore/editing/ReplaceRangeWithTextCommand.cpp:52
&gt;&gt;&gt; +        return;
&gt;&gt; 
&gt;&gt; Why go to the cost of getting the previous text (which may be megabytes) rather than just asking the range if it&apos;s empty?
&gt; 
&gt; I don&apos;t know (I&apos;m just mimicing spell checking code), but I do know that plainText().length() and the range length are two very different things.

There is no doubt that we can write a function that returns a boolean indicating whether plainText would be empty that is far more efficient than actually calling plainText and then length. But literally checking if the range is “empty” would not be the algorithm for that function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1229676</commentid>
    <comment_count>9</comment_count>
      <attachid>288678</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-09-14 12:35:48 -0700</bug_when>
    <thetext>Comment on attachment 288678
Patch

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

&gt; Source/WebCore/editing/Editor.cpp:3642
&gt; +            Ref&lt;ReplaceRangeWithTextCommand&gt; replaceCommand = ReplaceRangeWithTextCommand::create(range.get(), acceptedCandidate.replacement);
&gt; +            applyCommand(replaceCommand.ptr());

This kind of thing reads better without the local variable:

    applyCommand(ReplaceRangeWithTextCommand::create(range.get(), acceptedCandidate.replacement).ptr());</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288677</attachid>
            <date>2016-09-12 23:45:27 -0700</date>
            <delta_ts>2016-09-12 23:48:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161894-20160912234253.patch</filename>
            <type>text/plain</type>
            <size>37144</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1ODI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmQ4MWI3NWJjZGU1NDgz
NzJhZWMyYzNiY2UxZGYzMTRkYjVhN2E4ZC4uNWY3YTljMTJiY2UxNGI5ZmVkMDdiYzY0ZDZjNGJh
ZjAxMWE1NGE3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE2LTA5LTEyICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIFVuZG9pbmcgYSBj
YW5kaWRhdGUgaW5zZXJ0aW9uIHJlc3VsdHMgaW4gdGhlIHJlcGxhY2VkIHRleHQgYmVpbmcgc2Vs
ZWN0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
MTg5NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjgyMjU3NzQ+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZWRpdGluZy9tYWMvc3BlbGxp
bmcvYWNjZXB0LWNhbmRpZGF0ZS11bmRvLWRvZXMtbm90LXNlbGVjdC5odG1sCisKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZWRpdGluZy9S
ZXBsYWNlUmFuZ2VXaXRoVGV4dENvbW1hbmQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlJlcGxhY2VSYW5nZVdpdGhUZXh0Q29tbWFuZDo6UmVwbGFjZVJhbmdlV2l0aFRleHRDb21tYW5k
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxhY2VSYW5nZVdpdGhUZXh0Q29tbWFuZDo6ZG9BcHBs
eSk6CisgICAgICAgICogZWRpdGluZy9SZXBsYWNlUmFuZ2VXaXRoVGV4dENvbW1hbmQuaDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZXBsYWNlUmFuZ2VXaXRoVGV4dENvbW1hbmQ6OmNyZWF0
ZSk6CisgICAgICAgIEFkZCBhIGVkaXRvciBjb21tYW5kIHRoYXQgcmVwbGFjZXMgYSByYW5nZSB3
aXRoIHRoZSBnaXZlbiB0ZXh0LgorCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RWRpdG9yOjpyYW5nZUZvclRleHRDaGVja2luZ1Jlc3VsdCk6CisgICAg
ICAgIChXZWJDb3JlOjpFZGl0b3I6OmhhbmRsZUFjY2VwdGVkQ2FuZGlkYXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OkVkaXRvcjo6c2VsZWN0VGV4dENoZWNraW5nUmVzdWx0KTogRGVsZXRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL0VkaXRvci5oOgorICAgICAgICBNYWtlIHVzZSBvZiB0aGUgbmV3IGVk
aXRvciBjb21tYW5kIHRvIGRvIGNhbmRpZGF0ZSBpbnNlcnRpb24gYXMgYSBzaW5nbGUKKyAgICAg
ICAgY29tcG9zaXRlIG9wZXJhdGlvbiwgc28gdGhhdCBpdCBpcyB1bmRvbmUgYXMgYSB1bml0LiBP
dGhlcndpc2UsIHVuZG8gZW5kcyB1cAorICAgICAgICB1bmRvaW5nIHRoZSBpbnNlcnRpb24sIGJ1
dCBub3QgdGhlIHNlbGVjdGlvbiwgYW5kIHdlIGFyZSBsZWZ0IHdpdGggdGhlIG9sZAorICAgICAg
ICB0ZXh0LCBzZWxlY3RlZCwgd2hpY2ggaXMgdW5kZXNpcmFibGUuCisKIDIwMTYtMDktMTIgIE15
bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2Fd
IFJlZHVjZSB1c2VzIG9mIENHRm9udHMgaW4gZmF2b3Igb2YgQ1RGb250cwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDFiMmRkNTc2
M2VmN2U2ODViNWQ0YWMzNGUwZTI1Nzg5ZGU0OGI4ZjkuLmJjZGZhNjc0YWZiZDdhNDBlNjZkNDY5
ZDZkYjZjYTA0NGRjYmY4MDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyMzEsNiArMTIzMSw4IEBACiAJCTJEQ0I4MzdBMTlG
OTlCQkEwMEE3RkJFNCAvKiBOU1NoYXJpbmdTZXJ2aWNlU1BJLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRENCODM3ODE5Rjk5QkJBMDBBN0ZCRTQgLyog
TlNTaGFyaW5nU2VydmljZVNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTJEREI5N0Y0MTlGOUFFQ0EwMDIwMjVEOCAvKiBOU0V4dGVuc2lvblNQ
SS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkREQjk3
RjMxOUY5QUVDQTAwMjAyNUQ4IC8qIE5TRXh0ZW5zaW9uU1BJLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMkRFNzAwMjMxOTJGRTgyQTAwQjA5NzVD
IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkRFNzAwMjIxOTJGRTgyQTAwQjA5NzVDIC8qIERpc3BsYXlS
ZWZyZXNoTW9uaXRvck1hYy5oICovOyB9OworCQkyREY1MTJDRDFEODczRTQ3MDAxRDY3ODAgLyog
UmVwbGFjZVJhbmdlV2l0aFRleHRDb21tYW5kLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJERjUxMkNCMUQ4NzNFNDcwMDFENjc4MCAvKiBSZXBsYWNl
UmFuZ2VXaXRoVGV4dENvbW1hbmQuY3BwICovOyB9OworCQkyREY1MTJDRTFEODczRTQ3MDAxRDY3
ODAgLyogUmVwbGFjZVJhbmdlV2l0aFRleHRDb21tYW5kLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREY1MTJDQzFEODczRTQ3MDAxRDY3ODAgLyogUmVw
bGFjZVJhbmdlV2l0aFRleHRDb21tYW5kLmggKi87IH07CiAJCTJFMDg4OEQ0MTE0ODg0OEEwMEFG
NDI2NSAvKiBKU0RPTUZvcm1EYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDJFMDg4OEQyMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRh
LmNwcCAqLzsgfTsKIAkJMkUwODg4RDUxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMDg4OEQz
MTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1EYXRhLmggKi87IH07CiAJCTJFMTk1MTZCMUI2
NTk4RDIwMERGNkVFRiAvKiBXaGVlbEV2ZW50RGVsdGFGaWx0ZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkUxOTUxNkExQjY1OThEMjAwREY2RUVG
IC8qIFdoZWVsRXZlbnREZWx0YUZpbHRlci5jcHAgKi87IH07CkBAIC04MTQ4LDYgKzgxNTAsOCBA
QAogCQkyRENCODM3ODE5Rjk5QkJBMDBBN0ZCRTQgLyogTlNTaGFyaW5nU2VydmljZVNQSS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU1NoYXJpbmdTZXJ2aWNlU1BJLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEREI5N0YzMTlGOUFFQ0EwMDIwMjVEOCAvKiBO
U0V4dGVuc2lvblNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU0V4dGVu
c2lvblNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyREU3MDAyMjE5MkZFODJB
MDBCMDk3NUMgLyogRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IERpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkyREY1MTJDQjFEODczRTQ3MDAxRDY3ODAgLyogUmVwbGFjZVJhbmdl
V2l0aFRleHRDb21tYW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFJlcGxhY2VSYW5nZVdpdGhUZXh0Q29tbWFuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTJERjUxMkNDMUQ4NzNFNDcwMDFENjc4MCAvKiBSZXBsYWNlUmFuZ2VXaXRoVGV4dENv
bW1hbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVwbGFjZVJhbmdlV2l0
aFRleHRDb21tYW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJFMDg4OEMzMTE0
ODgzQTkwMEFGNDI2NSAvKiBET01Gb3JtRGF0YS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
RE9NRm9ybURhdGEuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRTA4ODhEMjEx
NDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU0RPTUZvcm1EYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMkUwODg4RDMxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNET01Gb3JtRGF0YS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMTc1OTYsNiArMTc2MDAsOCBAQAogCQkJCTkzMzA5REI2MDk5
RTY0OTEwMDU2RTU4MSAvKiBSZW1vdmVOb2RlQ29tbWFuZC5oICovLAogCQkJCTkzMzA5REI3MDk5
RTY0OTEwMDU2RTU4MSAvKiBSZW1vdmVOb2RlUHJlc2VydmluZ0NoaWxkcmVuQ29tbWFuZC5jcHAg
Ki8sCiAJCQkJOTMzMDlEQjgwOTlFNjQ5MTAwNTZFNTgxIC8qIFJlbW92ZU5vZGVQcmVzZXJ2aW5n
Q2hpbGRyZW5Db21tYW5kLmggKi8sCisJCQkJMkRGNTEyQ0IxRDg3M0U0NzAwMUQ2NzgwIC8qIFJl
cGxhY2VSYW5nZVdpdGhUZXh0Q29tbWFuZC5jcHAgKi8sCisJCQkJMkRGNTEyQ0MxRDg3M0U0NzAw
MUQ2NzgwIC8qIFJlcGxhY2VSYW5nZVdpdGhUZXh0Q29tbWFuZC5oICovLAogCQkJCTlCMzJDREE4
MTNERjdGQTkwMEYzNEQxMyAvKiBSZW5kZXJlZFBvc2l0aW9uLmNwcCAqLywKIAkJCQk5QjMyQ0RB
NzEzREY3RkE5MDBGMzREMTMgLyogUmVuZGVyZWRQb3NpdGlvbi5oICovLAogCQkJCUE4OUNDQzUw
MEY0NEU5ODEwMEI1REExMCAvKiBSZXBsYWNlTm9kZVdpdGhTcGFuQ29tbWFuZC5jcHAgKi8sCkBA
IC0yNjc1Miw2ICsyNjc1OCw3IEBACiAJCQkJMjZGQUU0Q0YxODUyRTNBNTAwNEM4QzQ2IC8qIFN5
bmNocm9ub3VzUmVzb3VyY2VIYW5kbGVDRlVSTENvbm5lY3Rpb25EZWxlZ2F0ZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEYwM0MwNzQxODg0Njk1RTAwQTVGOENBIC8qIFN5c3RlbU1lbW9yeS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQ0RBMDdGQkUxOEUwQTE2QTAwNDY5OUZBIC8qIFN5c3RlbVNsZWVw
TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTJERjUxMkNFMUQ4NzNFNDcwMDFENjc4MCAv
KiBSZXBsYWNlUmFuZ2VXaXRoVGV4dENvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEQTA3
RkMyMThFMEEyMkIwMDQ2OTlGQSAvKiBTeXN0ZW1TbGVlcExpc3RlbmVyTWFjLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1RDU5NzVCMzE5NjM1RjExMDBEMDA4NzggLyogU3lzdGVtVmVyc2lvbi5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTFFMzk5MDIxRDZFNDc1MDAwOUM4ODMxIC8qIEdhbWVDb250cm9s
bGVyR2FtZXBhZFByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTI5NTU2LDYgKzI5NTYzLDcg
QEAKIAkJCQlDREVBNzYzMDE0NjA4QTUzMDA4QjMxRjEgLyogUGxhdGZvcm1DbG9ja0NBLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUNEQUE4RDBBMTRENzFCMkUwMDYxRUE2MCAvKiBQbGF0Zm9ybUNs
b2NrQ00ubW0gaW4gU291cmNlcyAqLywKIAkJCQkyNjYwMUVDMDE0QjNCOUFEMDAxMkMwRkUgLyog
UGxhdGZvcm1FdmVudEZhY3RvcnlJT1MubW0gaW4gU291cmNlcyAqLywKKwkJCQkyREY1MTJDRDFE
ODczRTQ3MDAxRDY3ODAgLyogUmVwbGFjZVJhbmdlV2l0aFRleHRDb21tYW5kLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUJDQUE0ODZGMTRBMDUyNTMwMDg4RkFDNCAvKiBQbGF0Zm9ybUV2ZW50RmFj
dG9yeU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUY1NDRGNzg4MTVDRkIyQTgwMEFGMzNBOCAv
KiBQbGF0Zm9ybUxvY2FsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwNzBFMDkxQjE4NzVFRjcx
MDAzQTFEM0MgLyogUGxhdGZvcm1NZWRpYVNlc3Npb24uY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5jcHAKaW5kZXggNWYxMThmZDY2ZjQwNWIxMTU3NDJhNjMyNTJiNjgx
NGRkZDVmZTlkNC4uYzVjZGUwNGU0ZTViNzQ5YjlkZDI1ODg2NTI2NTZhYmE2MzIzYzVhOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcApAQCAtNzUsNiArNzUsNyBAQAogI2luY2x1ZGUgIlJl
bmRlclRleHRDb250cm9sLmgiCiAjaW5jbHVkZSAiUmVuZGVyZWREb2N1bWVudE1hcmtlci5oIgog
I2luY2x1ZGUgIlJlbmRlcmVkUG9zaXRpb24uaCIKKyNpbmNsdWRlICJSZXBsYWNlUmFuZ2VXaXRo
VGV4dENvbW1hbmQuaCIKICNpbmNsdWRlICJSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5oIgogI2lu
Y2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiU2hhZG93Um9vdC5oIgpAQCAtMzYxNiwyMSAr
MzYxNywxNyBAQCBSZWZQdHI8UmFuZ2U+IEVkaXRvcjo6Y29udGV4dFJhbmdlRm9yQ2FuZGlkYXRl
UmVxdWVzdCgpIGNvbnN0CiAgICAgY29uc3QgVmlzaWJsZVNlbGVjdGlvbiYgc2VsZWN0aW9uID0g
bV9mcmFtZS5zZWxlY3Rpb24oKS5zZWxlY3Rpb24oKTsKICAgICByZXR1cm4gbWFrZVJhbmdlKHN0
YXJ0T2ZQYXJhZ3JhcGgoc2VsZWN0aW9uLnZpc2libGVTdGFydCgpKSwgZW5kT2ZQYXJhZ3JhcGgo
c2VsZWN0aW9uLnZpc2libGVFbmQoKSkpOwogfQotICAgIAotdm9pZCBFZGl0b3I6OnNlbGVjdFRl
eHRDaGVja2luZ1Jlc3VsdChjb25zdCBUZXh0Q2hlY2tpbmdSZXN1bHQmIHJlc3VsdCkKKworUmVm
UHRyPFJhbmdlPiBFZGl0b3I6OnJhbmdlRm9yVGV4dENoZWNraW5nUmVzdWx0KGNvbnN0IFRleHRD
aGVja2luZ1Jlc3VsdCYgcmVzdWx0KSBjb25zdAogewogICAgIGlmICghcmVzdWx0Lmxlbmd0aCkK
LSAgICAgICAgcmV0dXJuOwotICAgIAorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKwogICAgIFJl
ZlB0cjxSYW5nZT4gY29udGV4dFJhbmdlID0gY29udGV4dFJhbmdlRm9yQ2FuZGlkYXRlUmVxdWVz
dCgpOwogICAgIGlmICghY29udGV4dFJhbmdlKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAg
UmVmUHRyPFJhbmdlPiByZXBsYWNlbWVudFJhbmdlID0gVGV4dEl0ZXJhdG9yOjpzdWJyYW5nZShj
b250ZXh0UmFuZ2UuZ2V0KCksIHJlc3VsdC5sb2NhdGlvbiwgcmVzdWx0Lmxlbmd0aCk7Ci0gICAg
aWYgKCFyZXBsYWNlbWVudFJhbmdlKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgbV9mcmFt
ZS5zZWxlY3Rpb24oKS5zZXRTZWxlY3RlZFJhbmdlKHJlcGxhY2VtZW50UmFuZ2UuZ2V0KCksIFVQ
U1RSRUFNLCB0cnVlKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICByZXR1cm4gVGV4
dEl0ZXJhdG9yOjpzdWJyYW5nZShjb250ZXh0UmFuZ2UuZ2V0KCksIHJlc3VsdC5sb2NhdGlvbiwg
cmVzdWx0Lmxlbmd0aCk7CiB9CiAKIHZvaWQgRWRpdG9yOjpoYW5kbGVBY2NlcHRlZENhbmRpZGF0
ZShUZXh0Q2hlY2tpbmdSZXN1bHQgYWNjZXB0ZWRDYW5kaWRhdGUpCkBAIC0zNjM5LDggKzM2MzYs
MTMgQEAgdm9pZCBFZGl0b3I6OmhhbmRsZUFjY2VwdGVkQ2FuZGlkYXRlKFRleHRDaGVja2luZ1Jl
c3VsdCBhY2NlcHRlZENhbmRpZGF0ZSkKIAogICAgIG1faXNIYW5kbGluZ0FjY2VwdGVkQ2FuZGlk
YXRlID0gdHJ1ZTsKIAotICAgIHNlbGVjdFRleHRDaGVja2luZ1Jlc3VsdChhY2NlcHRlZENhbmRp
ZGF0ZSk7Ci0gICAgaW5zZXJ0VGV4dChhY2NlcHRlZENhbmRpZGF0ZS5yZXBsYWNlbWVudCwgMCk7
CisgICAgaWYgKGF1dG8gcmFuZ2UgPSByYW5nZUZvclRleHRDaGVja2luZ1Jlc3VsdChhY2NlcHRl
ZENhbmRpZGF0ZSkpIHsKKyAgICAgICAgaWYgKHNob3VsZEluc2VydFRleHQoYWNjZXB0ZWRDYW5k
aWRhdGUucmVwbGFjZW1lbnQsIHJhbmdlLmdldCgpLCBFZGl0b3JJbnNlcnRBY3Rpb25UeXBlZCkp
IHsKKyAgICAgICAgICAgIFJlZjxSZXBsYWNlUmFuZ2VXaXRoVGV4dENvbW1hbmQ+IHJlcGxhY2VD
b21tYW5kID0gUmVwbGFjZVJhbmdlV2l0aFRleHRDb21tYW5kOjpjcmVhdGUocmFuZ2UuZ2V0KCks
IGFjY2VwdGVkQ2FuZGlkYXRlLnJlcGxhY2VtZW50KTsKKyAgICAgICAgICAgIGFwcGx5Q29tbWFu
ZChyZXBsYWNlQ29tbWFuZC5wdHIoKSk7CisgICAgICAgIH0KKyAgICB9IGVsc2UKKyAgICAgICAg
aW5zZXJ0VGV4dChhY2NlcHRlZENhbmRpZGF0ZS5yZXBsYWNlbWVudCwgbnVsbHB0cik7CiAKICAg
ICBSZWZQdHI8UmFuZ2U+IGluc2VydGVkQ2FuZGlkYXRlUmFuZ2UgPSByYW5nZUV4cGFuZGVkQnlD
aGFyYWN0ZXJzSW5EaXJlY3Rpb25BdFdvcmRCb3VuZGFyeShzZWxlY3Rpb24udmlzaWJsZVN0YXJ0
KCksIGFjY2VwdGVkQ2FuZGlkYXRlLnJlcGxhY2VtZW50Lmxlbmd0aCgpLCBEaXJlY3Rpb25CYWNr
d2FyZCk7CiAgICAgaWYgKGluc2VydGVkQ2FuZGlkYXRlUmFuZ2UpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0
b3IuaAppbmRleCA3YmJiMDk2MzM0M2Q3Mzk1NjQzZWU2OTNiNzgwMTYwNThjOTBiMjllLi4xNjk2
MDg1NmRmNjQ4Y2NjMDA1YzY3NjQ5NmIxNzZhNTk0NmEyYmIyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRp
dG9yLmgKQEAgLTQ2Nyw3ICs0NjcsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgU3Ry
aW5nIHN0cmluZ0ZvckNhbmRpZGF0ZVJlcXVlc3QoKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIGhhbmRsZUFjY2VwdGVkQ2FuZGlkYXRlKFRleHRDaGVja2luZ1Jlc3VsdCk7CiAgICAg
V0VCQ09SRV9FWFBPUlQgUmVmUHRyPFJhbmdlPiBjb250ZXh0UmFuZ2VGb3JDYW5kaWRhdGVSZXF1
ZXN0KCkgY29uc3Q7Ci0gICAgdm9pZCBzZWxlY3RUZXh0Q2hlY2tpbmdSZXN1bHQoY29uc3QgVGV4
dENoZWNraW5nUmVzdWx0Jik7CisgICAgUmVmUHRyPFJhbmdlPiByYW5nZUZvclRleHRDaGVja2lu
Z1Jlc3VsdChjb25zdCBUZXh0Q2hlY2tpbmdSZXN1bHQmKSBjb25zdDsKICAgICBib29sIGlzSGFu
ZGxpbmdBY2NlcHRlZENhbmRpZGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNIYW5kbGluZ0FjY2Vw
dGVkQ2FuZGlkYXRlOyB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1JlcGxhY2VSYW5nZVdpdGhUZXh0Q29tbWFuZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1JlcGxhY2VSYW5nZVdpdGhUZXh0Q29tbWFuZC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmZmNjI4
YTRmYzAzNDc4NjAyMjBiZTYzYmYwZmFlMDhjNGM4NmE2OQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVJhbmdlV2l0aFRleHRDb21tYW5kLmNwcApAQCAt
MCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJlcGxhY2VSYW5nZVdpdGhUZXh0Q29t
bWFuZC5oIgorCisjaW5jbHVkZSAiQWx0ZXJuYXRpdmVUZXh0Q29udHJvbGxlci5oIgorI2luY2x1
ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRG9jdW1lbnRGcmFnbWVudC5oIgorI2luY2x1ZGUg
IkVkaXRvci5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiUmVwbGFjZVNlbGVjdGlv
bkNvbW1hbmQuaCIKKyNpbmNsdWRlICJTZXRTZWxlY3Rpb25Db21tYW5kLmgiCisjaW5jbHVkZSAi
VGV4dEl0ZXJhdG9yLmgiCisjaW5jbHVkZSAibWFya3VwLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworUmVwbGFjZVJhbmdlV2l0aFRleHRDb21tYW5kOjpSZXBsYWNlUmFuZ2VXaXRoVGV4dENv
bW1hbmQoUGFzc1JlZlB0cjxSYW5nZT4gcmFuZ2VUb0JlUmVwbGFjZWQsIGNvbnN0IFN0cmluZyYg
dGV4dCkKKyAgICA6IENvbXBvc2l0ZUVkaXRDb21tYW5kKHJhbmdlVG9CZVJlcGxhY2VkLT5zdGFy
dENvbnRhaW5lcigpLmRvY3VtZW50KCkpCisgICAgLCBtX3JhbmdlVG9CZVJlcGxhY2VkKHJhbmdl
VG9CZVJlcGxhY2VkKQorICAgICwgbV90ZXh0KHRleHQpCit7Cit9CisKK3ZvaWQgUmVwbGFjZVJh
bmdlV2l0aFRleHRDb21tYW5kOjpkb0FwcGx5KCkKK3sKKyAgICBTdHJpbmcgcHJldmlvdXNUZXh0
ID0gcGxhaW5UZXh0KG1fcmFuZ2VUb0JlUmVwbGFjZWQuZ2V0KCkpOworICAgIGlmICghcHJldmlv
dXNUZXh0Lmxlbmd0aCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBWaXNpYmxlU2VsZWN0aW9u
IHNlbGVjdGlvbiA9ICptX3JhbmdlVG9CZVJlcGxhY2VkOworCisgICAgaWYgKCFmcmFtZSgpLnNl
bGVjdGlvbigpLnNob3VsZENoYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pKQorICAgICAgICByZXR1
cm47CisKKyAgICBpZiAoIW1fcmFuZ2VUb0JlUmVwbGFjZWQpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGFwcGx5Q29tbWFuZFRvQ29tcG9zaXRlKFNldFNlbGVjdGlvbkNvbW1hbmQ6OmNyZWF0ZShz
ZWxlY3Rpb24sIEZyYW1lU2VsZWN0aW9uOjpkZWZhdWx0U2V0U2VsZWN0aW9uT3B0aW9ucygpKSk7
CisKKyAgICBhdXRvIGZyYWdtZW50ID0gY3JlYXRlRnJhZ21lbnRGcm9tVGV4dCgqbV9yYW5nZVRv
QmVSZXBsYWNlZCwgbV90ZXh0KTsKKyAgICBhcHBseUNvbW1hbmRUb0NvbXBvc2l0ZShSZXBsYWNl
U2VsZWN0aW9uQ29tbWFuZDo6Y3JlYXRlKGRvY3VtZW50KCksIFdURk1vdmUoZnJhZ21lbnQpLCBS
ZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6TWF0Y2hTdHlsZSwgRWRpdEFjdGlvblBhc3RlKSk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvUmVwbGFjZVJhbmdlV2l0aFRleHRDb21tYW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL1JlcGxhY2VSYW5nZVdpdGhUZXh0Q29tbWFuZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRlYzBmMzI5YTVk
NGU1MjE5MjZmMTUxZmRiOWJiYzA3MDQ5MDc4ZmQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VSYW5nZVdpdGhUZXh0Q29tbWFuZC5oCkBAIC0wLDAgKzEs
NTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIFJlcGxhY2VSYW5nZVdpdGhUZXh0Q29tbWFuZF9oCisjZGVmaW5lIFJlcGxhY2VSYW5nZVdp
dGhUZXh0Q29tbWFuZF9oCisKKyNpbmNsdWRlICJDb21wb3NpdGVFZGl0Q29tbWFuZC5oIgorI2lu
Y2x1ZGUgIlJhbmdlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUmVwbGFjZVJh
bmdlV2l0aFRleHRDb21tYW5kIDogcHVibGljIENvbXBvc2l0ZUVkaXRDb21tYW5kIHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUmVmPFJlcGxhY2VSYW5nZVdpdGhUZXh0Q29tbWFuZD4gY3JlYXRlKFBh
c3NSZWZQdHI8UmFuZ2U+IHJhbmdlVG9CZVJlcGxhY2VkLCBjb25zdCBTdHJpbmcmIHRleHQpCisg
ICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBSZXBsYWNlUmFuZ2VXaXRoVGV4dENv
bW1hbmQocmFuZ2VUb0JlUmVwbGFjZWQsIHRleHQpKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAg
UmVwbGFjZVJhbmdlV2l0aFRleHRDb21tYW5kKFBhc3NSZWZQdHI8UmFuZ2U+IHJhbmdlVG9CZVJl
cGxhY2VkLCBjb25zdCBTdHJpbmcmIHRleHQpOworICAgIHZvaWQgZG9BcHBseSgpIG92ZXJyaWRl
OworCisgICAgUmVmUHRyPFJhbmdlPiBtX3JhbmdlVG9CZVJlcGxhY2VkOworICAgIFN0cmluZyBt
X3RleHQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBSZXBsYWNl
UmFuZ2VXaXRoVGV4dENvbW1hbmRfaApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGJhZjkxMmY0ZDRjMzBlNWNhMjVlMWNlMWNm
NTU3YWFkN2YyN2VjZjcuLmQwYWZmMjE2NzZjZjc5NGIwNDBkYmEyMTI4NjcxMjFjNDRjNzMzNGYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxNi0wOS0xMiAgVGltIEhvcnRvbiAgPHRpbW90aHlf
aG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBVbmRvaW5nIGEgY2FuZGlkYXRlIGluc2VydGlv
biByZXN1bHRzIGluIHRoZSByZXBsYWNlZCB0ZXh0IGJlaW5nIHNlbGVjdGVkCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjE4OTQKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzI4MjI1Nzc0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogZWRpdGluZy9tYWMvc3BlbGxpbmcvYWNjZXB0LWNhbmRpZGF0ZS1h
bGxvd3MtYXV0b2NvcnJlY3Qtb24tbmV4dC13b3JkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBl
ZGl0aW5nL21hYy9zcGVsbGluZy9hY2NlcHQtY2FuZGlkYXRlLXJlcGxhY2luZy1tdWx0aXBsZS13
b3Jkcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZWRpdGluZy9tYWMvc3BlbGxpbmcvYWNjZXB0
LWNhbmRpZGF0ZS11bmRvLWRvZXMtbm90LXNlbGVjdC1leHBlY3RlZC50eHQ6IENvcGllZCBmcm9t
IExheW91dFRlc3RzL2VkaXRpbmcvbWFjL3NwZWxsaW5nL2FjY2VwdC1jYW5kaWRhdGUtcmVwbGFj
aW5nLW11bHRpcGxlLXdvcmRzLWV4cGVjdGVkLnR4dC4KKyAgICAgICAgKiBlZGl0aW5nL21hYy9z
cGVsbGluZy9hY2NlcHQtY2FuZGlkYXRlLXVuZG8tZG9lcy1ub3Qtc2VsZWN0Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGVkaXRpbmcvbWFjL3NwZWxsaW5nL2FjY2VwdC1jYW5kaWRhdGUtd2l0aG91
dC1hZGRpbmctc3BhY2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGVkaXRpbmcvbWFjL3NwZWxs
aW5nL2FjY2VwdC1jYW5kaWRhdGUtd2l0aG91dC1jcm9zc2luZy1lZGl0aW5nLWJvdW5kYXJ5LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgQWRqdXN0IHNvbWUgdGVzdCByZXN1bHRzLCBhbmQgYWRkIGEg
bmV3IHRlc3QgdGhhdCBlbnN1cmVzIHRoYXQgdW5kb2luZworICAgICAgICBhIGNhbmRpZGF0ZSBp
bnNlcnRpb24gZG9lcyBub3Qgc2VsZWN0IHRoZSByZXBsYWNlZCB0ZXh0LgorCiAyMDE2LTA5LTEy
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgd2luZG93LnBlcmZv
cm1hbmNlIG9iamVjdCByZXNldHMgc2NyaXB0LWFwcGxpZWQgcHJvcGVydGllcwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9tYWMvc3BlbGxpbmcvYWNjZXB0LWNhbmRpZGF0ZS1hbGxv
d3MtYXV0b2NvcnJlY3Qtb24tbmV4dC13b3JkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvbWFjL3NwZWxsaW5nL2FjY2VwdC1jYW5kaWRhdGUtYWxsb3dzLWF1dG9jb3JyZWN0LW9u
LW5leHQtd29yZC1leHBlY3RlZC50eHQKaW5kZXggNjk3MGExNGVhZmE2NmNiYjZhMjU4YmJkYjg3
NDE1MzU0NzMxYWE2Ni4uYzg4MzhmOGJmMThkM2YzZmM4NzM1NGRjZDY4ZmQxMTUxMDgzY2I2MiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9tYWMvc3BlbGxpbmcvYWNjZXB0LWNhbmRp
ZGF0ZS1hbGxvd3MtYXV0b2NvcnJlY3Qtb24tbmV4dC13b3JkLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9lZGl0aW5nL21hYy9zcGVsbGluZy9hY2NlcHQtY2FuZGlkYXRlLWFsbG93cy1h
dXRvY29ycmVjdC1vbi1uZXh0LXdvcmQtZXhwZWN0ZWQudHh0CkBAIC03MCw4ICs3MCwxMCBAQCBF
RElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmlj
YXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFu
Z2UgZnJvbSAyMSBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDIx
IG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5n
ZSBmcm9tIDIyIG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMjIg
b2YgI3RleHQgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVj
dGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQogRURJVElORyBERUxF
R0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9u
Tm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdE
aWRDaGFuZ2VOb3RpZmljYXRpb24KLUVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogRURJVElORyBE
RUxFR0FURTogc2hvdWxkSW5zZXJ0VGV4dDpleHRyZW1lbHkgbG9uZyByZXBsYWNpbmdET01SYW5n
ZTpyYW5nZSBmcm9tIDIgb2YgI3RleHQgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0
byAxNSBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGdpdmVuQWN0aW9u
OldlYlZpZXdJbnNlcnRBY3Rpb25UeXBlZAorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdl
U2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDIyIG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhU
TUwgPiAjZG9jdW1lbnQgdG8gMjIgb2YgI3RleHQgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1
bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMiBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1M
ID4gI2RvY3VtZW50IHRvIDE1IG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1l
bnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6
RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFu
Z2UgZnJvbSAyMiBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDIy
IG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5n
ZSBmcm9tIDIgb2YgI3RleHQgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAxNSBv
ZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0
aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVH
QVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25O
b3RpZmljYXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246
V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogRURJVElORyBERUxFR0FURTog
c2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDIgb2YgI3RleHQgPiBESVYg
PiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAyIG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhU
TUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDE2IG9mICN0ZXh0ID4gRElWID4g
Qk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMTYgb2YgI3RleHQgPiBESVYgPiBCT0RZID4gSFRN
TCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGls
bFNlbGVjdGluZzpGQUxTRQogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVj
dGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9lZGl0aW5nL21hYy9zcGVsbGluZy9hY2NlcHQtY2FuZGlkYXRlLXJlcGxhY2lu
Zy1tdWx0aXBsZS13b3Jkcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL21hYy9z
cGVsbGluZy9hY2NlcHQtY2FuZGlkYXRlLXJlcGxhY2luZy1tdWx0aXBsZS13b3Jkcy1leHBlY3Rl
ZC50eHQKaW5kZXggMDlkNTIzZjhkNTA5ZTFlYWM5ZWE3ZGQ5ZWVmMTk4OTBjODlkMDFiNy4uMzYx
MTQ0YjU4NDljNjllYWJhMDVkOWI5NDc5NmVmZjcyYThlZWUyZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9tYWMvc3BlbGxpbmcvYWNjZXB0LWNhbmRpZGF0ZS1yZXBsYWNpbmctbXVs
dGlwbGUtd29yZHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvbWFjL3Nw
ZWxsaW5nL2FjY2VwdC1jYW5kaWRhdGUtcmVwbGFjaW5nLW11bHRpcGxlLXdvcmRzLWV4cGVjdGVk
LnR4dApAQCAtMzAsOCArMzAsMTAgQEAgRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5n
ZTpXZWJWaWV3RGlkQ2hhbmdlTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiBzaG91bGRD
aGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gOCBvZiAjdGV4dCA+IERJViA+IERJViA+
IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDggb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZ
ID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gOSBvZiAjdGV4dCA+IERJ
ViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDkgb2YgI3RleHQgPiBESVYgPiBE
SVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5
RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQogRURJVElORyBERUxFR0FURTogd2ViVmll
d0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9u
CiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3Rp
ZmljYXRpb24KLUVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2Vi
Vmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogRURJVElORyBERUxFR0FURTogc2hv
dWxkSW5zZXJ0VGV4dDpnb29kIGlkZWEgIHJlcGxhY2luZ0RPTVJhbmdlOnJhbmdlIGZyb20gMCBv
ZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDkgb2YgI3Rl
eHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBnaXZlbkFjdGlvbjpXZWJW
aWV3SW5zZXJ0QWN0aW9uVHlwZWQKK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVj
dGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSA5IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhU
TUwgPiAjZG9jdW1lbnQgdG8gOSBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4g
I2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mICN0ZXh0ID4gRElWID4gRElWID4g
Qk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gOSBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkg
PiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFt
IHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxl
Y3RlZERPTVJhbmdlOnJhbmdlIGZyb20gOSBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBI
VE1MID4gI2RvY3VtZW50IHRvIDkgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+
ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiAjdGV4dCA+IERJViA+IERJViA+
IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDkgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZ
ID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVh
bSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5n
ZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBFRElUSU5H
IERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxl
Y3Rpb25Ob3RpZmljYXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVk
RE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mIERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3Vt
ZW50IHRvIDAgb2YgRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5n
ZTpyYW5nZSBmcm9tIDEwIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9j
dW1lbnQgdG8gMTAgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVu
dCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpG
QUxTRQogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3
RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL21hYy9zcGVsbGluZy9hY2NlcHQtY2FuZGlkYXRlLXVuZG8tZG9lcy1ub3Qtc2VsZWN0
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvbWFjL3NwZWxsaW5nL2FjY2VwdC1j
YW5kaWRhdGUtdW5kby1kb2VzLW5vdC1zZWxlY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3
Mzk2ZjMwMzQxMzNkZWI0NWMyNzhkZWE5ZWU4ZWUwNTY4ZGJlMTcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9lZGl0aW5nL21hYy9zcGVsbGluZy9hY2NlcHQtY2FuZGlkYXRlLXVuZG8t
ZG9lcy1ub3Qtc2VsZWN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDU0IEBACitFRElUSU5HIERF
TEVHQVRFOiBzaG91bGRCZWdpbkVkaXRpbmdJbkRPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiBESVYg
PiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAwIG9mIERJViA+IERJViA+IEJPRFkg
PiBIVE1MID4gI2RvY3VtZW50CitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQmVnaW5FZGl0
aW5nOldlYlZpZXdEaWRCZWdpbkVkaXRpbmdOb3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6
IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6KG51bGwpIHRvRE9NUmFuZ2U6cmFuZ2UgZnJv
bSAwIG9mIERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDAgb2YgRElWID4g
RElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0
eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZp
ZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlv
bgorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBm
cm9tIDAgb2YgRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMCBvZiBESVYg
PiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMSBv
ZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDEgb2YgI3Rl
eHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVj
dGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxF
R0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9u
Tm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdE
aWRDaGFuZ2VOb3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVj
dGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhU
TUwgPiAjZG9jdW1lbnQgdG8gMSBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4g
I2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAyIG9mICN0ZXh0ID4gRElWID4gRElWID4g
Qk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMiBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkg
PiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFt
IHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdl
U2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcg
REVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbgor
RURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9t
IDIgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAyIG9m
ICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpy
YW5nZSBmcm9tIDMgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVu
dCB0byAzIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZm
aW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UK
K0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENo
YW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENo
YW5nZTpXZWJWaWV3RGlkQ2hhbmdlTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiBzaG91
bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gMyBvZiAjdGV4dCA+IERJViA+IERJ
ViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDMgb2YgI3RleHQgPiBESVYgPiBESVYgPiBC
T0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gNCBvZiAjdGV4dCA+
IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDQgb2YgI3RleHQgPiBESVYg
PiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmlu
aXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTogd2Vi
Vmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0
aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VO
b3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246
V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTog
c2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDMgb2YgI3RleHQgPiBESVYg
PiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAzIG9mICN0ZXh0ID4gRElWID4gRElW
ID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDUgb2YgI3Rl
eHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA1IG9mICN0ZXh0ID4g
RElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25B
ZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6
IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlm
aWNhdGlvbgorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZTpXZWJWaWV3RGlkQ2hh
bmdlTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERP
TVJhbmdlOnJhbmdlIGZyb20gNSBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4g
I2RvY3VtZW50IHRvIDUgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1
bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gNiBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkg
PiBIVE1MID4gI2RvY3VtZW50IHRvIDYgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRN
TCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGls
bFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVj
dGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVH
QVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24KK0VESVRJ
TkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSA2IG9m
ICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gNiBvZiAjdGV4
dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2Ug
ZnJvbSA3IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8g
NyBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5
Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElU
SU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2U6
V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hh
bmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDcgb2YgI3RleHQgPiBESVYgPiBESVYgPiBC
T0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA3IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+
IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDggb2YgI3RleHQgPiBESVYg
PiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA4IG9mICN0ZXh0ID4gRElWID4gRElW
ID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURv
d25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdE
aWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgor
RURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZTpXZWJWaWV3RGlkQ2hhbmdlTm90aWZp
Y2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJh
bmdlIGZyb20gOCBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50
IHRvIDggb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RP
TVJhbmdlOnJhbmdlIGZyb20gOSBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4g
I2RvY3VtZW50IHRvIDkgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1
bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGlu
ZzpGQUxTRQorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJW
aWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJW
aWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdB
VEU6IHNob3VsZEluc2VydFRleHQ6Z29vZCBpZGVhICByZXBsYWNpbmdET01SYW5nZTpyYW5nZSBm
cm9tIDAgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA5
IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgZ2l2ZW5BY3Rp
b246V2ViVmlld0luc2VydEFjdGlvblR5cGVkCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFu
Z2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gOSBvZiAjdGV4dCA+IERJViA+IERJViA+IEJP
RFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDkgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4g
SFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiAjdGV4dCA+IERJViA+
IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDkgb2YgI3RleHQgPiBESVYgPiBESVYg
PiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93
bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hh
bmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDkgb2YgI3RleHQgPiBESVYgPiBESVYgPiBC
T0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA5IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+
IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgI3RleHQgPiBESVYg
PiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA5IG9mICN0ZXh0ID4gRElWID4gRElW
ID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURv
d25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdE
aWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgor
RURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hh
bmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VT
ZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+
ICNkb2N1bWVudCB0byAwIG9mIERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRv
RE9NUmFuZ2U6cmFuZ2UgZnJvbSAxMCBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1M
ID4gI2RvY3VtZW50IHRvIDEwIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAj
ZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxl
Y3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246
V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTog
d2ViVmlld0RpZENoYW5nZTpXZWJWaWV3RGlkQ2hhbmdlTm90aWZpY2F0aW9uCitFRElUSU5HIERF
TEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rp
b25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9N
UmFuZ2U6cmFuZ2UgZnJvbSAwIG9mIERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50
IHRvIDAgb2YgRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpy
YW5nZSBmcm9tIDkgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVu
dCB0byA5IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZm
aW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UK
K0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENo
YW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENo
YW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElU
SU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRp
b24KK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2Ug
ZnJvbSA5IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8g
OSBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9NUmFu
Z2U6cmFuZ2UgZnJvbSAxMCBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2Rv
Y3VtZW50IHRvIDEwIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1l
bnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6
RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmll
d0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTogd2ViVmll
d0RpZENoYW5nZTpXZWJWaWV3RGlkQ2hhbmdlTm90aWZpY2F0aW9uCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0
IHVuZG9pbmcgYW4gYWNjZXB0ZWQgY2FuZGlkYXRlIHJlcGxhY2VtZW50IGRvZXNuJ3Qgc2VsZWN0
IHRoZSBvcmlnaW5hbCB0ZXh0LgorCitnb28gZGlkZWEuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL21hYy9zcGVsbGluZy9hY2NlcHQtY2FuZGlkYXRlLXVuZG8tZG9lcy1ub3Qtc2Vs
ZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL21hYy9zcGVsbGluZy9hY2NlcHQtY2FuZGlk
YXRlLXVuZG8tZG9lcy1ub3Qtc2VsZWN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGVlZGJjMmM1OGU2YmIx
YzBlMGY0OWVkZTI0ZTVlYjhlNWZhZWYwMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvbWFjL3NwZWxsaW5nL2FjY2VwdC1jYW5kaWRhdGUtdW5kby1kb2VzLW5vdC1zZWxl
Y3QuaHRtbApAQCAtMCwwICsxLDUyIEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Li4v
Li4vZWRpdGluZy5qcz48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKworZnVuY3Rpb24gZWRpdGluZ1Rl
c3QoKSB7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIHRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOworICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7Cisg
ICAgfQorCisgICAgZWRpdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdlZGl0Jyk7CisgICAg
ZWRpdC5mb2N1cygpOworICAgIHR5cGVDaGFyYWN0ZXJDb21tYW5kKCdnJyk7CisgICAgdHlwZUNo
YXJhY3RlckNvbW1hbmQoJ28nKTsKKyAgICB0eXBlQ2hhcmFjdGVyQ29tbWFuZCgnbycpOworICAg
IHR5cGVDaGFyYWN0ZXJDb21tYW5kKCcgJyk7CisgICAgdHlwZUNoYXJhY3RlckNvbW1hbmQoJ2Qn
KTsKKyAgICB0eXBlQ2hhcmFjdGVyQ29tbWFuZCgnaScpOworICAgIHR5cGVDaGFyYWN0ZXJDb21t
YW5kKCdkJyk7CisgICAgdHlwZUNoYXJhY3RlckNvbW1hbmQoJ2UnKTsKKyAgICB0eXBlQ2hhcmFj
dGVyQ29tbWFuZCgnYScpOyAgICAKKworICAgIC8vIFdhaXQgYSBiaXQgYmVmb3JlIHN3YXBwaW5n
IGluIHRoZSBjYW5kaWRhdGUsIGJlY2F1c2Ugb3RoZXJ3aXNlIAorICAgIC8vIEFwcEtpdCBjYW4g
Y29tYmluZSB0aGUgdW5kbyBvZiB0aGUgY2FuZGlkYXRlIGluc2VydGlvbiB3aXRoIHRoZSBvdGhl
ciB0ZXh0LgorICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeworICAgICAgICBpZiAod2luZG93
LmludGVybmFscykKKyAgICAgICAgICAgIGludGVybmFscy5oYW5kbGVBY2NlcHRlZENhbmRpZGF0
ZSgiZ29vZCBpZGVhICIsIDAsIDkpOworCisgICAgICAgIHVuZG9Db21tYW5kKCk7CisKKyAgICAg
ICAgLy8gSWYgdGhlIHVuZG8gd3JvbmdseSBsZWZ0ICJnb28gZGlkZWEiIHNlbGVjdGVkLCB0aGlz
IHdpbGwgcmVwbGFjZSBpdC4KKyAgICAgICAgdHlwZUNoYXJhY3RlckNvbW1hbmQoJy4nKTsKKwor
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9LCAxMDApOworfQorCis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgdW5kb2lu
ZyBhbiBhY2NlcHRlZCBjYW5kaWRhdGUgcmVwbGFjZW1lbnQgZG9lc24ndCBzZWxlY3QgdGhlIG9y
aWdpbmFsIHRleHQuPC9wPgorPGRpdiBzdHlsZT0iYm9yZGVyOjFweCBzb2xpZCBibGFjazsiPgor
ICAgIDxkaXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBpZD0iZWRpdCI+PC9kaXY+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitydW5FZGl0aW5nVGVzdCgpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL21hYy9zcGVsbGluZy9hY2NlcHQt
Y2FuZGlkYXRlLXdpdGhvdXQtYWRkaW5nLXNwYWNlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvbWFjL3NwZWxsaW5nL2FjY2VwdC1jYW5kaWRhdGUtd2l0aG91dC1hZGRpbmctc3Bh
Y2UtZXhwZWN0ZWQudHh0CmluZGV4IGQ0MjNkOWJkZTIxYmZmOWE3ODYwMDg2ZDM0ZjI2Mzg0YWEw
M2FiN2IuLjMxZTg2ZDQwMTU0OTc2NzU5MzRiNTU0ZTFkMzIxNGMyZmVhNmI5N2YgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2VkaXRpbmcvbWFjL3NwZWxsaW5nL2FjY2VwdC1jYW5kaWRhdGUtd2l0
aG91dC1hZGRpbmctc3BhY2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcv
bWFjL3NwZWxsaW5nL2FjY2VwdC1jYW5kaWRhdGUtd2l0aG91dC1hZGRpbmctc3BhY2UtZXhwZWN0
ZWQudHh0CkBAIC04LDggKzgsMTAgQEAgRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5n
ZTpXZWJWaWV3RGlkQ2hhbmdlTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiBzaG91bGRD
aGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gMSBvZiAjdGV4dCA+IERJViA+IERJViA+
IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDEgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZ
ID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMiBvZiAjdGV4dCA+IERJ
ViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDIgb2YgI3RleHQgPiBESVYgPiBE
SVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5
RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQogRURJVElORyBERUxFR0FURTogd2ViVmll
d0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9u
CiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3Rp
ZmljYXRpb24KLUVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2Vi
Vmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogRURJVElORyBERUxFR0FURTogc2hv
dWxkSW5zZXJ0VGV4dDppcyByZXBsYWNpbmdET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgI3RleHQg
PiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAyIG9mICN0ZXh0ID4gRElW
ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgZ2l2ZW5BY3Rpb246V2ViVmlld0luc2Vy
dEFjdGlvblR5cGVkCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJh
bmdlOnJhbmdlIGZyb20gMiBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2Rv
Y3VtZW50IHRvIDIgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVu
dCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBI
VE1MID4gI2RvY3VtZW50IHRvIDIgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+
ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNl
bGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01S
YW5nZTpyYW5nZSBmcm9tIDIgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNk
b2N1bWVudCB0byAyIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1l
bnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4g
SFRNTCA+ICNkb2N1bWVudCB0byAyIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwg
PiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxT
ZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rp
b246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogRURJVElORyBERUxFR0FU
RTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90
aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdl
OnJhbmdlIGZyb20gMCBvZiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAw
IG9mIERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2Ug
ZnJvbSAyIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8g
MiBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5
Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCiBFRElU
SU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb25Ob3RpZmljYXRpb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvbWFj
L3NwZWxsaW5nL2FjY2VwdC1jYW5kaWRhdGUtd2l0aG91dC1jcm9zc2luZy1lZGl0aW5nLWJvdW5k
YXJ5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvbWFjL3NwZWxsaW5nL2FjY2Vw
dC1jYW5kaWRhdGUtd2l0aG91dC1jcm9zc2luZy1lZGl0aW5nLWJvdW5kYXJ5LWV4cGVjdGVkLnR4
dAppbmRleCA0NjI1YjE2ZDQzZmQyNTNiZjVmNDFjNTUxM2I2ODYyMzY1NDI0MDUyLi5jMzlhNmNh
NTMzMGYyMDczMDAwZjNhNzg5MTEwNTQ2NzZjNzBhYjU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9lZGl0aW5nL21hYy9zcGVsbGluZy9hY2NlcHQtY2FuZGlkYXRlLXdpdGhvdXQtY3Jvc3Npbmct
ZWRpdGluZy1ib3VuZGFyeS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9t
YWMvc3BlbGxpbmcvYWNjZXB0LWNhbmRpZGF0ZS13aXRob3V0LWNyb3NzaW5nLWVkaXRpbmctYm91
bmRhcnktZXhwZWN0ZWQudHh0CkBAIC04LDggKzgsMTAgQEAgRURJVElORyBERUxFR0FURTogd2Vi
Vmlld0RpZENoYW5nZTpXZWJWaWV3RGlkQ2hhbmdlTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVH
QVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gMSBvZiAjdGV4dCA+
IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDEgb2YgI3RleHQgPiBESVYg
PiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMiBv
ZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDIgb2YgI3Rl
eHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVj
dGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQogRURJVElORyBERUxF
R0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9u
Tm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdE
aWRDaGFuZ2VOb3RpZmljYXRpb24KLUVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogRURJVElORyBE
RUxFR0FURTogc2hvdWxkSW5zZXJ0VGV4dDpoYXBweSAgcmVwbGFjaW5nRE9NUmFuZ2U6cmFuZ2Ug
ZnJvbSAwIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8g
MiBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGdpdmVuQWN0
aW9uOldlYlZpZXdJbnNlcnRBY3Rpb25UeXBlZAorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hh
bmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDIgb2YgI3RleHQgPiBESVYgPiBESVYgPiBC
T0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAyIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+
IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgI3RleHQgPiBESVYg
PiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAyIG9mICN0ZXh0ID4gRElWID4gRElW
ID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURv
d25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENo
YW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAyIG9mICN0ZXh0ID4gRElWID4gRElWID4g
Qk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMiBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkg
PiBIVE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mICN0ZXh0ID4gRElW
ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMiBvZiAjdGV4dCA+IERJViA+IERJ
ViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlE
b3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3
RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24K
IEVESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENo
YW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdl
U2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgRElWID4gRElWID4gQk9EWSA+IEhUTUwg
PiAjZG9jdW1lbnQgdG8gMCBvZiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0
b0RPTVJhbmdlOnJhbmdlIGZyb20gNiBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1M
ID4gI2RvY3VtZW50IHRvIDYgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNk
b2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVj
dGluZzpGQUxTRQogRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpX
ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288678</attachid>
            <date>2016-09-12 23:48:47 -0700</date>
            <delta_ts>2016-09-13 08:42:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161894-20160912234613.patch</filename>
            <type>text/plain</type>
            <size>38325</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1ODI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmQ4MWI3NWJjZGU1NDgz
NzJhZWMyYzNiY2UxZGYzMTRkYjVhN2E4ZC4uNWY3YTljMTJiY2UxNGI5ZmVkMDdiYzY0ZDZjNGJh
ZjAxMWE1NGE3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE2LTA5LTEyICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIFVuZG9pbmcgYSBj
YW5kaWRhdGUgaW5zZXJ0aW9uIHJlc3VsdHMgaW4gdGhlIHJlcGxhY2VkIHRleHQgYmVpbmcgc2Vs
ZWN0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2
MTg5NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjgyMjU3NzQ+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZWRpdGluZy9tYWMvc3BlbGxp
bmcvYWNjZXB0LWNhbmRpZGF0ZS11bmRvLWRvZXMtbm90LXNlbGVjdC5odG1sCisKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogZWRpdGluZy9S
ZXBsYWNlUmFuZ2VXaXRoVGV4dENvbW1hbmQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlJlcGxhY2VSYW5nZVdpdGhUZXh0Q29tbWFuZDo6UmVwbGFjZVJhbmdlV2l0aFRleHRDb21tYW5k
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlcGxhY2VSYW5nZVdpdGhUZXh0Q29tbWFuZDo6ZG9BcHBs
eSk6CisgICAgICAgICogZWRpdGluZy9SZXBsYWNlUmFuZ2VXaXRoVGV4dENvbW1hbmQuaDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpSZXBsYWNlUmFuZ2VXaXRoVGV4dENvbW1hbmQ6OmNyZWF0
ZSk6CisgICAgICAgIEFkZCBhIGVkaXRvciBjb21tYW5kIHRoYXQgcmVwbGFjZXMgYSByYW5nZSB3
aXRoIHRoZSBnaXZlbiB0ZXh0LgorCisgICAgICAgICogZWRpdGluZy9FZGl0b3IuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RWRpdG9yOjpyYW5nZUZvclRleHRDaGVja2luZ1Jlc3VsdCk6CisgICAg
ICAgIChXZWJDb3JlOjpFZGl0b3I6OmhhbmRsZUFjY2VwdGVkQ2FuZGlkYXRlKToKKyAgICAgICAg
KFdlYkNvcmU6OkVkaXRvcjo6c2VsZWN0VGV4dENoZWNraW5nUmVzdWx0KTogRGVsZXRlZC4KKyAg
ICAgICAgKiBlZGl0aW5nL0VkaXRvci5oOgorICAgICAgICBNYWtlIHVzZSBvZiB0aGUgbmV3IGVk
aXRvciBjb21tYW5kIHRvIGRvIGNhbmRpZGF0ZSBpbnNlcnRpb24gYXMgYSBzaW5nbGUKKyAgICAg
ICAgY29tcG9zaXRlIG9wZXJhdGlvbiwgc28gdGhhdCBpdCBpcyB1bmRvbmUgYXMgYSB1bml0LiBP
dGhlcndpc2UsIHVuZG8gZW5kcyB1cAorICAgICAgICB1bmRvaW5nIHRoZSBpbnNlcnRpb24sIGJ1
dCBub3QgdGhlIHNlbGVjdGlvbiwgYW5kIHdlIGFyZSBsZWZ0IHdpdGggdGhlIG9sZAorICAgICAg
ICB0ZXh0LCBzZWxlY3RlZCwgd2hpY2ggaXMgdW5kZXNpcmFibGUuCisKIDIwMTYtMDktMTIgIE15
bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2Fd
IFJlZHVjZSB1c2VzIG9mIENHRm9udHMgaW4gZmF2b3Igb2YgQ1RGb250cwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAppbmRleCA5YThmNjE3MDYyNzMxZmY4MTNlMmM4Njc4ZTZmMjRhNWUzMzI1MWY2Li5hODhh
NWJiZmNhNGRjOTg0Y2U4OGUzNThkODEwYjU5OTE3MmNjZGQyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dApAQCAtMTU1NCw2ICsxNTU0LDcgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIGVkaXRpbmcv
UmVtb3ZlTm9kZVByZXNlcnZpbmdDaGlsZHJlbkNvbW1hbmQuY3BwCiAgICAgZWRpdGluZy9SZW5k
ZXJlZFBvc2l0aW9uLmNwcAogICAgIGVkaXRpbmcvUmVwbGFjZU5vZGVXaXRoU3BhbkNvbW1hbmQu
Y3BwCisgICAgZWRpdGluZy9SZXBsYWNlUmFuZ2VXaXRoVGV4dENvbW1hbmQuY3BwCiAgICAgZWRp
dGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKICAgICBlZGl0aW5nL1NldE5vZGVBdHRy
aWJ1dGVDb21tYW5kLmNwcAogICAgIGVkaXRpbmcvU2V0U2VsZWN0aW9uQ29tbWFuZC5jcHAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCAxYjJkZDU3NjNlZjdlNjg1YjVkNGFjMzRlMGUyNTc4OWRlNDhiOGY5Li5iY2RmYTY3NGFmYmQ3
YTQwZTY2ZDQ2OWQ2ZGI2Y2EwNDRkY2JmODA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMjMxLDYgKzEyMzEsOCBAQAogCQky
RENCODM3QTE5Rjk5QkJBMDBBN0ZCRTQgLyogTlNTaGFyaW5nU2VydmljZVNQSS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRDQjgzNzgxOUY5OUJCQTAw
QTdGQkU0IC8qIE5TU2hhcmluZ1NlcnZpY2VTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyRERCOTdGNDE5RjlBRUNBMDAyMDI1RDggLyogTlNF
eHRlbnNpb25TUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJEREI5N0YzMTlGOUFFQ0EwMDIwMjVEOCAvKiBOU0V4dGVuc2lvblNQSS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJERTcwMDIzMTkyRkU4
MkEwMEIwOTc1QyAvKiBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJERTcwMDIyMTkyRkU4MkEwMEIwOTc1QyAv
KiBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuaCAqLzsgfTsKKwkJMkRGNTEyQ0QxRDg3M0U0NzAw
MUQ2NzgwIC8qIFJlcGxhY2VSYW5nZVdpdGhUZXh0Q29tbWFuZC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREY1MTJDQjFEODczRTQ3MDAxRDY3ODAg
LyogUmVwbGFjZVJhbmdlV2l0aFRleHRDb21tYW5kLmNwcCAqLzsgfTsKKwkJMkRGNTEyQ0UxRDg3
M0U0NzAwMUQ2NzgwIC8qIFJlcGxhY2VSYW5nZVdpdGhUZXh0Q29tbWFuZC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRGNTEyQ0MxRDg3M0U0NzAwMUQ2
NzgwIC8qIFJlcGxhY2VSYW5nZVdpdGhUZXh0Q29tbWFuZC5oICovOyB9OwogCQkyRTA4ODhENDEx
NDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRTA4ODhEMjExNDg4NDhBMDBBRjQyNjUgLyogSlNE
T01Gb3JtRGF0YS5jcHAgKi87IH07CiAJCTJFMDg4OEQ1MTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RP
TUZvcm1EYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyRTA4ODhEMzExNDg4NDhBMDBBRjQyNjUgLyogSlNET01Gb3JtRGF0YS5oICovOyB9OwogCQky
RTE5NTE2QjFCNjU5OEQyMDBERjZFRUYgLyogV2hlZWxFdmVudERlbHRhRmlsdGVyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJFMTk1MTZBMUI2NTk4
RDIwMERGNkVFRiAvKiBXaGVlbEV2ZW50RGVsdGFGaWx0ZXIuY3BwICovOyB9OwpAQCAtODE0OCw2
ICs4MTUwLDggQEAKIAkJMkRDQjgzNzgxOUY5OUJCQTAwQTdGQkU0IC8qIE5TU2hhcmluZ1NlcnZp
Y2VTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTlNTaGFyaW5nU2Vydmlj
ZVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRERCOTdGMzE5RjlBRUNBMDAy
MDI1RDggLyogTlNFeHRlbnNpb25TUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTlNFeHRlbnNpb25TUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkRFNzAw
MjIxOTJGRTgyQTAwQjA5NzVDIC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvck1hYy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkRGNTEyQ0IxRDg3M0U0NzAwMUQ2NzgwIC8qIFJl
cGxhY2VSYW5nZVdpdGhUZXh0Q29tbWFuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBSZXBsYWNlUmFuZ2VXaXRoVGV4dENvbW1hbmQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkyREY1MTJDQzFEODczRTQ3MDAxRDY3ODAgLyogUmVwbGFjZVJhbmdl
V2l0aFRleHRDb21tYW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlcGxh
Y2VSYW5nZVdpdGhUZXh0Q29tbWFuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
RTA4ODhDMzExNDg4M0E5MDBBRjQyNjUgLyogRE9NRm9ybURhdGEuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IERPTUZvcm1EYXRhLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MkUwODg4RDIxMTQ4ODQ4QTAwQUY0MjY1IC8qIEpTRE9NRm9ybURhdGEuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01Gb3JtRGF0YS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTJFMDg4OEQzMTE0ODg0OEEwMEFGNDI2NSAvKiBKU0RPTUZvcm1E
YXRhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NRm9ybURhdGEuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3NTk2LDYgKzE3NjAwLDggQEAKIAkJCQk5
MzMwOURCNjA5OUU2NDkxMDA1NkU1ODEgLyogUmVtb3ZlTm9kZUNvbW1hbmQuaCAqLywKIAkJCQk5
MzMwOURCNzA5OUU2NDkxMDA1NkU1ODEgLyogUmVtb3ZlTm9kZVByZXNlcnZpbmdDaGlsZHJlbkNv
bW1hbmQuY3BwICovLAogCQkJCTkzMzA5REI4MDk5RTY0OTEwMDU2RTU4MSAvKiBSZW1vdmVOb2Rl
UHJlc2VydmluZ0NoaWxkcmVuQ29tbWFuZC5oICovLAorCQkJCTJERjUxMkNCMUQ4NzNFNDcwMDFE
Njc4MCAvKiBSZXBsYWNlUmFuZ2VXaXRoVGV4dENvbW1hbmQuY3BwICovLAorCQkJCTJERjUxMkND
MUQ4NzNFNDcwMDFENjc4MCAvKiBSZXBsYWNlUmFuZ2VXaXRoVGV4dENvbW1hbmQuaCAqLywKIAkJ
CQk5QjMyQ0RBODEzREY3RkE5MDBGMzREMTMgLyogUmVuZGVyZWRQb3NpdGlvbi5jcHAgKi8sCiAJ
CQkJOUIzMkNEQTcxM0RGN0ZBOTAwRjM0RDEzIC8qIFJlbmRlcmVkUG9zaXRpb24uaCAqLywKIAkJ
CQlBODlDQ0M1MDBGNDRFOTgxMDBCNURBMTAgLyogUmVwbGFjZU5vZGVXaXRoU3BhbkNvbW1hbmQu
Y3BwICovLApAQCAtMjY3NTIsNiArMjY3NTgsNyBAQAogCQkJCTI2RkFFNENGMTg1MkUzQTUwMDRD
OEM0NiAvKiBTeW5jaHJvbm91c1Jlc291cmNlSGFuZGxlQ0ZVUkxDb25uZWN0aW9uRGVsZWdhdGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTBGMDNDMDc0MTg4NDY5NUUwMEE1RjhDQSAvKiBTeXN0ZW1N
ZW1vcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEQTA3RkJFMThFMEExNkEwMDQ2OTlGQSAvKiBT
eXN0ZW1TbGVlcExpc3RlbmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkyREY1MTJDRTFEODczRTQ3
MDAxRDY3ODAgLyogUmVwbGFjZVJhbmdlV2l0aFRleHRDb21tYW5kLmggaW4gSGVhZGVycyAqLywK
IAkJCQlDREEwN0ZDMjE4RTBBMjJCMDA0Njk5RkEgLyogU3lzdGVtU2xlZXBMaXN0ZW5lck1hYy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNUQ1OTc1QjMxOTYzNUYxMTAwRDAwODc4IC8qIFN5c3RlbVZl
cnNpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRTM5OTAyMUQ2RTQ3NTAwMDlDODgzMSAvKiBH
YW1lQ29udHJvbGxlckdhbWVwYWRQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yOTU1Niw2
ICsyOTU2Myw3IEBACiAJCQkJQ0RFQTc2MzAxNDYwOEE1MzAwOEIzMUYxIC8qIFBsYXRmb3JtQ2xv
Y2tDQS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDREFBOEQwQTE0RDcxQjJFMDA2MUVBNjAgLyog
UGxhdGZvcm1DbG9ja0NNLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMjY2MDFFQzAxNEIzQjlBRDAw
MTJDMEZFIC8qIFBsYXRmb3JtRXZlbnRGYWN0b3J5SU9TLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJ
MkRGNTEyQ0QxRDg3M0U0NzAwMUQ2NzgwIC8qIFJlcGxhY2VSYW5nZVdpdGhUZXh0Q29tbWFuZC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0FBNDg2RjE0QTA1MjUzMDA4OEZBQzQgLyogUGxhdGZv
cm1FdmVudEZhY3RvcnlNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlGNTQ0Rjc4ODE1Q0ZCMkE4
MDBBRjMzQTggLyogUGxhdGZvcm1Mb2NhbGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDcwRTA5
MUIxODc1RUY3MTAwM0ExRDNDIC8qIFBsYXRmb3JtTWVkaWFTZXNzaW9uLmNwcCBpbiBTb3VyY2Vz
ICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nQWxsSW5PbmUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nQWxsSW5PbmUuY3BwCmluZGV4IGRj
M2FlMzM0NDc2NmZhOTcyMTIyMTU1MTkzMDgzYWQwMzFmOGZjMTkuLjc4MWJmNTg2NzA3YzA2ODAz
Zjc2Y2ZiOWRiY2NmM2QxZGMxZjc1ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRWRpdGluZ0FsbEluT25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRp
bmdBbGxJbk9uZS5jcHAKQEAgLTYwLDYgKzYwLDcgQEAKICNpbmNsdWRlIDxSZW1vdmVOb2RlUHJl
c2VydmluZ0NoaWxkcmVuQ29tbWFuZC5jcHA+CiAjaW5jbHVkZSA8UmVuZGVyZWRQb3NpdGlvbi5j
cHA+CiAjaW5jbHVkZSA8UmVwbGFjZU5vZGVXaXRoU3BhbkNvbW1hbmQuY3BwPgorI2luY2x1ZGUg
PFJlcGxhY2VSYW5nZVdpdGhUZXh0Q29tbWFuZC5jcHA+CiAjaW5jbHVkZSA8UmVwbGFjZVNlbGVj
dGlvbkNvbW1hbmQuY3BwPgogI2luY2x1ZGUgPFNldE5vZGVBdHRyaWJ1dGVDb21tYW5kLmNwcD4K
ICNpbmNsdWRlIDxTZXRTZWxlY3Rpb25Db21tYW5kLmNwcD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9y
LmNwcAppbmRleCA1ZjExOGZkNjZmNDA1YjExNTc0MmE2MzI1MmI2ODE0ZGRkNWZlOWQ0Li5jNWNk
ZTA0ZTRlNWI3NDliOWRkMjU4ODY1MjY1NmFiYTYzMjNjNWE5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9F
ZGl0b3IuY3BwCkBAIC03NSw2ICs3NSw3IEBACiAjaW5jbHVkZSAiUmVuZGVyVGV4dENvbnRyb2wu
aCIKICNpbmNsdWRlICJSZW5kZXJlZERvY3VtZW50TWFya2VyLmgiCiAjaW5jbHVkZSAiUmVuZGVy
ZWRQb3NpdGlvbi5oIgorI2luY2x1ZGUgIlJlcGxhY2VSYW5nZVdpdGhUZXh0Q29tbWFuZC5oIgog
I2luY2x1ZGUgIlJlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3Mu
aCIKICNpbmNsdWRlICJTaGFkb3dSb290LmgiCkBAIC0zNjE2LDIxICszNjE3LDE3IEBAIFJlZlB0
cjxSYW5nZT4gRWRpdG9yOjpjb250ZXh0UmFuZ2VGb3JDYW5kaWRhdGVSZXF1ZXN0KCkgY29uc3QK
ICAgICBjb25zdCBWaXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb24gPSBtX2ZyYW1lLnNlbGVjdGlv
bigpLnNlbGVjdGlvbigpOwogICAgIHJldHVybiBtYWtlUmFuZ2Uoc3RhcnRPZlBhcmFncmFwaChz
ZWxlY3Rpb24udmlzaWJsZVN0YXJ0KCkpLCBlbmRPZlBhcmFncmFwaChzZWxlY3Rpb24udmlzaWJs
ZUVuZCgpKSk7CiB9Ci0gICAgCi12b2lkIEVkaXRvcjo6c2VsZWN0VGV4dENoZWNraW5nUmVzdWx0
KGNvbnN0IFRleHRDaGVja2luZ1Jlc3VsdCYgcmVzdWx0KQorCitSZWZQdHI8UmFuZ2U+IEVkaXRv
cjo6cmFuZ2VGb3JUZXh0Q2hlY2tpbmdSZXN1bHQoY29uc3QgVGV4dENoZWNraW5nUmVzdWx0JiBy
ZXN1bHQpIGNvbnN0CiB7CiAgICAgaWYgKCFyZXN1bHQubGVuZ3RoKQotICAgICAgICByZXR1cm47
Ci0gICAgCisgICAgICAgIHJldHVybiBudWxscHRyOworCiAgICAgUmVmUHRyPFJhbmdlPiBjb250
ZXh0UmFuZ2UgPSBjb250ZXh0UmFuZ2VGb3JDYW5kaWRhdGVSZXF1ZXN0KCk7CiAgICAgaWYgKCFj
b250ZXh0UmFuZ2UpCi0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBSZWZQdHI8UmFuZ2U+IHJl
cGxhY2VtZW50UmFuZ2UgPSBUZXh0SXRlcmF0b3I6OnN1YnJhbmdlKGNvbnRleHRSYW5nZS5nZXQo
KSwgcmVzdWx0LmxvY2F0aW9uLCByZXN1bHQubGVuZ3RoKTsKLSAgICBpZiAoIXJlcGxhY2VtZW50
UmFuZ2UpCi0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBtX2ZyYW1lLnNlbGVjdGlvbigpLnNl
dFNlbGVjdGVkUmFuZ2UocmVwbGFjZW1lbnRSYW5nZS5nZXQoKSwgVVBTVFJFQU0sIHRydWUpOwor
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHJldHVybiBUZXh0SXRlcmF0b3I6OnN1YnJh
bmdlKGNvbnRleHRSYW5nZS5nZXQoKSwgcmVzdWx0LmxvY2F0aW9uLCByZXN1bHQubGVuZ3RoKTsK
IH0KIAogdm9pZCBFZGl0b3I6OmhhbmRsZUFjY2VwdGVkQ2FuZGlkYXRlKFRleHRDaGVja2luZ1Jl
c3VsdCBhY2NlcHRlZENhbmRpZGF0ZSkKQEAgLTM2MzksOCArMzYzNiwxMyBAQCB2b2lkIEVkaXRv
cjo6aGFuZGxlQWNjZXB0ZWRDYW5kaWRhdGUoVGV4dENoZWNraW5nUmVzdWx0IGFjY2VwdGVkQ2Fu
ZGlkYXRlKQogCiAgICAgbV9pc0hhbmRsaW5nQWNjZXB0ZWRDYW5kaWRhdGUgPSB0cnVlOwogCi0g
ICAgc2VsZWN0VGV4dENoZWNraW5nUmVzdWx0KGFjY2VwdGVkQ2FuZGlkYXRlKTsKLSAgICBpbnNl
cnRUZXh0KGFjY2VwdGVkQ2FuZGlkYXRlLnJlcGxhY2VtZW50LCAwKTsKKyAgICBpZiAoYXV0byBy
YW5nZSA9IHJhbmdlRm9yVGV4dENoZWNraW5nUmVzdWx0KGFjY2VwdGVkQ2FuZGlkYXRlKSkgewor
ICAgICAgICBpZiAoc2hvdWxkSW5zZXJ0VGV4dChhY2NlcHRlZENhbmRpZGF0ZS5yZXBsYWNlbWVu
dCwgcmFuZ2UuZ2V0KCksIEVkaXRvckluc2VydEFjdGlvblR5cGVkKSkgeworICAgICAgICAgICAg
UmVmPFJlcGxhY2VSYW5nZVdpdGhUZXh0Q29tbWFuZD4gcmVwbGFjZUNvbW1hbmQgPSBSZXBsYWNl
UmFuZ2VXaXRoVGV4dENvbW1hbmQ6OmNyZWF0ZShyYW5nZS5nZXQoKSwgYWNjZXB0ZWRDYW5kaWRh
dGUucmVwbGFjZW1lbnQpOworICAgICAgICAgICAgYXBwbHlDb21tYW5kKHJlcGxhY2VDb21tYW5k
LnB0cigpKTsKKyAgICAgICAgfQorICAgIH0gZWxzZQorICAgICAgICBpbnNlcnRUZXh0KGFjY2Vw
dGVkQ2FuZGlkYXRlLnJlcGxhY2VtZW50LCBudWxscHRyKTsKIAogICAgIFJlZlB0cjxSYW5nZT4g
aW5zZXJ0ZWRDYW5kaWRhdGVSYW5nZSA9IHJhbmdlRXhwYW5kZWRCeUNoYXJhY3RlcnNJbkRpcmVj
dGlvbkF0V29yZEJvdW5kYXJ5KHNlbGVjdGlvbi52aXNpYmxlU3RhcnQoKSwgYWNjZXB0ZWRDYW5k
aWRhdGUucmVwbGFjZW1lbnQubGVuZ3RoKCksIERpcmVjdGlvbkJhY2t3YXJkKTsKICAgICBpZiAo
aW5zZXJ0ZWRDYW5kaWRhdGVSYW5nZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvRWRpdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5oCmluZGV4IDdiYmIw
OTYzMzQzZDczOTU2NDNlZTY5M2I3ODAxNjA1OGM5MGIyOWUuLjE2OTYwODU2ZGY2NDhjY2MwMDVj
Njc2NDk2YjE3NmE1OTQ2YTJiYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RWRpdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuaApAQCAtNDY3LDcg
KzQ2Nyw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBTdHJpbmcgc3RyaW5nRm9yQ2Fu
ZGlkYXRlUmVxdWVzdCgpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgaGFuZGxlQWNj
ZXB0ZWRDYW5kaWRhdGUoVGV4dENoZWNraW5nUmVzdWx0KTsKICAgICBXRUJDT1JFX0VYUE9SVCBS
ZWZQdHI8UmFuZ2U+IGNvbnRleHRSYW5nZUZvckNhbmRpZGF0ZVJlcXVlc3QoKSBjb25zdDsKLSAg
ICB2b2lkIHNlbGVjdFRleHRDaGVja2luZ1Jlc3VsdChjb25zdCBUZXh0Q2hlY2tpbmdSZXN1bHQm
KTsKKyAgICBSZWZQdHI8UmFuZ2U+IHJhbmdlRm9yVGV4dENoZWNraW5nUmVzdWx0KGNvbnN0IFRl
eHRDaGVja2luZ1Jlc3VsdCYpIGNvbnN0OwogICAgIGJvb2wgaXNIYW5kbGluZ0FjY2VwdGVkQ2Fu
ZGlkYXRlKCkgY29uc3QgeyByZXR1cm4gbV9pc0hhbmRsaW5nQWNjZXB0ZWRDYW5kaWRhdGU7IH0K
IAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVJh
bmdlV2l0aFRleHRDb21tYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVJh
bmdlV2l0aFRleHRDb21tYW5kLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZmY2MjhhNGZjMDM0Nzg2MDIyMGJl
NjNiZjBmYWUwOGM0Yzg2YTY5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9SZXBsYWNlUmFuZ2VXaXRoVGV4dENvbW1hbmQuY3BwCkBAIC0wLDAgKzEsNjggQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiUmVwbGFjZVJhbmdlV2l0aFRleHRDb21tYW5kLmgiCisKKyNpbmNs
dWRlICJBbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmgiCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
KyNpbmNsdWRlICJEb2N1bWVudEZyYWdtZW50LmgiCisjaW5jbHVkZSAiRWRpdG9yLmgiCisjaW5j
bHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5oIgorI2lu
Y2x1ZGUgIlNldFNlbGVjdGlvbkNvbW1hbmQuaCIKKyNpbmNsdWRlICJUZXh0SXRlcmF0b3IuaCIK
KyNpbmNsdWRlICJtYXJrdXAuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZXBsYWNlUmFu
Z2VXaXRoVGV4dENvbW1hbmQ6OlJlcGxhY2VSYW5nZVdpdGhUZXh0Q29tbWFuZChQYXNzUmVmUHRy
PFJhbmdlPiByYW5nZVRvQmVSZXBsYWNlZCwgY29uc3QgU3RyaW5nJiB0ZXh0KQorICAgIDogQ29t
cG9zaXRlRWRpdENvbW1hbmQocmFuZ2VUb0JlUmVwbGFjZWQtPnN0YXJ0Q29udGFpbmVyKCkuZG9j
dW1lbnQoKSkKKyAgICAsIG1fcmFuZ2VUb0JlUmVwbGFjZWQocmFuZ2VUb0JlUmVwbGFjZWQpCisg
ICAgLCBtX3RleHQodGV4dCkKK3sKK30KKwordm9pZCBSZXBsYWNlUmFuZ2VXaXRoVGV4dENvbW1h
bmQ6OmRvQXBwbHkoKQoreworICAgIFN0cmluZyBwcmV2aW91c1RleHQgPSBwbGFpblRleHQobV9y
YW5nZVRvQmVSZXBsYWNlZC5nZXQoKSk7CisgICAgaWYgKCFwcmV2aW91c1RleHQubGVuZ3RoKCkp
CisgICAgICAgIHJldHVybjsKKworICAgIFZpc2libGVTZWxlY3Rpb24gc2VsZWN0aW9uID0gKm1f
cmFuZ2VUb0JlUmVwbGFjZWQ7CisKKyAgICBpZiAoIWZyYW1lKCkuc2VsZWN0aW9uKCkuc2hvdWxk
Q2hhbmdlU2VsZWN0aW9uKHNlbGVjdGlvbikpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICgh
bV9yYW5nZVRvQmVSZXBsYWNlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgYXBwbHlDb21tYW5k
VG9Db21wb3NpdGUoU2V0U2VsZWN0aW9uQ29tbWFuZDo6Y3JlYXRlKHNlbGVjdGlvbiwgRnJhbWVT
ZWxlY3Rpb246OmRlZmF1bHRTZXRTZWxlY3Rpb25PcHRpb25zKCkpKTsKKworICAgIGF1dG8gZnJh
Z21lbnQgPSBjcmVhdGVGcmFnbWVudEZyb21UZXh0KCptX3JhbmdlVG9CZVJlcGxhY2VkLCBtX3Rl
eHQpOworICAgIGFwcGx5Q29tbWFuZFRvQ29tcG9zaXRlKFJlcGxhY2VTZWxlY3Rpb25Db21tYW5k
OjpjcmVhdGUoZG9jdW1lbnQoKSwgV1RGTW92ZShmcmFnbWVudCksIFJlcGxhY2VTZWxlY3Rpb25D
b21tYW5kOjpNYXRjaFN0eWxlLCBFZGl0QWN0aW9uUGFzdGUpKTsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlUmFu
Z2VXaXRoVGV4dENvbW1hbmQuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVJhbmdl
V2l0aFRleHRDb21tYW5kLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGVjMGYzMjlhNWQ0ZTUyMTkyNmYxNTFmZGI5
YmJjMDcwNDkwNzhmZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
UmVwbGFjZVJhbmdlV2l0aFRleHRDb21tYW5kLmgKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgUmVwbGFjZVJhbmdl
V2l0aFRleHRDb21tYW5kX2gKKyNkZWZpbmUgUmVwbGFjZVJhbmdlV2l0aFRleHRDb21tYW5kX2gK
KworI2luY2x1ZGUgIkNvbXBvc2l0ZUVkaXRDb21tYW5kLmgiCisjaW5jbHVkZSAiUmFuZ2UuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSZXBsYWNlUmFuZ2VXaXRoVGV4dENvbW1h
bmQgOiBwdWJsaWMgQ29tcG9zaXRlRWRpdENvbW1hbmQgeworcHVibGljOgorICAgIHN0YXRpYyBS
ZWY8UmVwbGFjZVJhbmdlV2l0aFRleHRDb21tYW5kPiBjcmVhdGUoUGFzc1JlZlB0cjxSYW5nZT4g
cmFuZ2VUb0JlUmVwbGFjZWQsIGNvbnN0IFN0cmluZyYgdGV4dCkKKyAgICB7CisgICAgICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IFJlcGxhY2VSYW5nZVdpdGhUZXh0Q29tbWFuZChyYW5nZVRvQmVS
ZXBsYWNlZCwgdGV4dCkpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBSZXBsYWNlUmFuZ2VXaXRo
VGV4dENvbW1hbmQoUGFzc1JlZlB0cjxSYW5nZT4gcmFuZ2VUb0JlUmVwbGFjZWQsIGNvbnN0IFN0
cmluZyYgdGV4dCk7CisgICAgdm9pZCBkb0FwcGx5KCkgb3ZlcnJpZGU7CisKKyAgICBSZWZQdHI8
UmFuZ2U+IG1fcmFuZ2VUb0JlUmVwbGFjZWQ7CisgICAgU3RyaW5nIG1fdGV4dDsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFJlcGxhY2VSYW5nZVdpdGhUZXh0Q29t
bWFuZF9oCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggYmFmOTEyZjRkNGMzMGU1Y2EyNWUxY2UxY2Y1NTdhYWQ3ZjI3ZWNmNy4u
ZDBhZmYyMTY3NmNmNzk0YjA0MGRiYTIxMjg2NzEyMWM0NGM3MzM0ZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIwIEBACisyMDE2LTA5LTEyICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29t
PgorCisgICAgICAgIFVuZG9pbmcgYSBjYW5kaWRhdGUgaW5zZXJ0aW9uIHJlc3VsdHMgaW4gdGhl
IHJlcGxhY2VkIHRleHQgYmVpbmcgc2VsZWN0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTg5NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjgy
MjU3NzQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBlZGl0aW5nL21hYy9zcGVsbGluZy9hY2NlcHQtY2FuZGlkYXRlLWFsbG93cy1hdXRvY29ycmVj
dC1vbi1uZXh0LXdvcmQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGVkaXRpbmcvbWFjL3NwZWxs
aW5nL2FjY2VwdC1jYW5kaWRhdGUtcmVwbGFjaW5nLW11bHRpcGxlLXdvcmRzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBlZGl0aW5nL21hYy9zcGVsbGluZy9hY2NlcHQtY2FuZGlkYXRlLXVuZG8t
ZG9lcy1ub3Qtc2VsZWN0LWV4cGVjdGVkLnR4dDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvZWRp
dGluZy9tYWMvc3BlbGxpbmcvYWNjZXB0LWNhbmRpZGF0ZS1yZXBsYWNpbmctbXVsdGlwbGUtd29y
ZHMtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGVkaXRpbmcvbWFjL3NwZWxsaW5nL2FjY2VwdC1j
YW5kaWRhdGUtdW5kby1kb2VzLW5vdC1zZWxlY3QuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9tYWMvc3BlbGxpbmcvYWNjZXB0LWNhbmRpZGF0ZS13aXRob3V0LWFkZGluZy1zcGFjZS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogZWRpdGluZy9tYWMvc3BlbGxpbmcvYWNjZXB0LWNhbmRp
ZGF0ZS13aXRob3V0LWNyb3NzaW5nLWVkaXRpbmctYm91bmRhcnktZXhwZWN0ZWQudHh0OgorICAg
ICAgICBBZGp1c3Qgc29tZSB0ZXN0IHJlc3VsdHMsIGFuZCBhZGQgYSBuZXcgdGVzdCB0aGF0IGVu
c3VyZXMgdGhhdCB1bmRvaW5nCisgICAgICAgIGEgY2FuZGlkYXRlIGluc2VydGlvbiBkb2VzIG5v
dCBzZWxlY3QgdGhlIHJlcGxhY2VkIHRleHQuCisKIDIwMTYtMDktMTIgIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICB3aW5kb3cucGVyZm9ybWFuY2Ugb2JqZWN0IHJl
c2V0cyBzY3JpcHQtYXBwbGllZCBwcm9wZXJ0aWVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9l
ZGl0aW5nL21hYy9zcGVsbGluZy9hY2NlcHQtY2FuZGlkYXRlLWFsbG93cy1hdXRvY29ycmVjdC1v
bi1uZXh0LXdvcmQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9tYWMvc3BlbGxp
bmcvYWNjZXB0LWNhbmRpZGF0ZS1hbGxvd3MtYXV0b2NvcnJlY3Qtb24tbmV4dC13b3JkLWV4cGVj
dGVkLnR4dAppbmRleCA2OTcwYTE0ZWFmYTY2Y2JiNmEyNThiYmRiODc0MTUzNTQ3MzFhYTY2Li5j
ODgzOGY4YmYxOGQzZjNmYzg3MzU0ZGNkNjhmZDExNTEwODNjYjYyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9lZGl0aW5nL21hYy9zcGVsbGluZy9hY2NlcHQtY2FuZGlkYXRlLWFsbG93cy1hdXRv
Y29ycmVjdC1vbi1uZXh0LXdvcmQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2VkaXRp
bmcvbWFjL3NwZWxsaW5nL2FjY2VwdC1jYW5kaWRhdGUtYWxsb3dzLWF1dG9jb3JyZWN0LW9uLW5l
eHQtd29yZC1leHBlY3RlZC50eHQKQEAgLTcwLDggKzcwLDEwIEBAIEVESVRJTkcgREVMRUdBVEU6
IHdlYlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbgogRURJVElORyBE
RUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDIxIG9mICN0
ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMjEgb2YgI3RleHQgPiBESVYg
PiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMjIgb2YgI3Rl
eHQgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAyMiBvZiAjdGV4dCA+IERJViA+
IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3du
c3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlk
Q2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KIEVE
SVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNh
dGlvbgotRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3
RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiBzaG91bGRJ
bnNlcnRUZXh0OmV4dHJlbWVseSBsb25nIHJlcGxhY2luZ0RPTVJhbmdlOnJhbmdlIGZyb20gMiBv
ZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDE1IG9mICN0ZXh0ID4g
RElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgZ2l2ZW5BY3Rpb246V2ViVmlld0luc2VydEFj
dGlvblR5cGVkCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdl
OnJhbmdlIGZyb20gMjIgb2YgI3RleHQgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0
byAyMiBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6
cmFuZ2UgZnJvbSAyIG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8g
MTUgb2YgI3RleHQgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1Nl
bGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBE
RUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDIyIG9mICN0
ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMjIgb2YgI3RleHQgPiBESVYg
PiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMiBvZiAjdGV4
dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDE1IG9mICN0ZXh0ID4gRElWID4g
Qk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25z
dHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRD
aGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogRURJ
VElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdl
U2VsZWN0aW9uTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxl
Y3RlZERPTVJhbmdlOnJhbmdlIGZyb20gMiBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4g
I2RvY3VtZW50IHRvIDIgb2YgI3RleHQgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0
b0RPTVJhbmdlOnJhbmdlIGZyb20gMTYgb2YgI3RleHQgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNk
b2N1bWVudCB0byAxNiBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFm
ZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNF
CiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRD
aGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRp
bmcvbWFjL3NwZWxsaW5nL2FjY2VwdC1jYW5kaWRhdGUtcmVwbGFjaW5nLW11bHRpcGxlLXdvcmRz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvbWFjL3NwZWxsaW5nL2FjY2VwdC1j
YW5kaWRhdGUtcmVwbGFjaW5nLW11bHRpcGxlLXdvcmRzLWV4cGVjdGVkLnR4dAppbmRleCAwOWQ1
MjNmOGQ1MDllMWVhYzllYTdkZDllZWYxOTg5MGM4OWQwMWI3Li4zNjExNDRiNTg0OWM2OWVhYmEw
NWQ5Yjk0Nzk2ZWZmNzJhOGVlZTJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9lZGl0aW5nL21h
Yy9zcGVsbGluZy9hY2NlcHQtY2FuZGlkYXRlLXJlcGxhY2luZy1tdWx0aXBsZS13b3Jkcy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9tYWMvc3BlbGxpbmcvYWNjZXB0LWNh
bmRpZGF0ZS1yZXBsYWNpbmctbXVsdGlwbGUtd29yZHMtZXhwZWN0ZWQudHh0CkBAIC0zMCw4ICsz
MCwxMCBAQCBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFu
Z2VOb3RpZmljYXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9N
UmFuZ2U6cmFuZ2UgZnJvbSA4IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAj
ZG9jdW1lbnQgdG8gOCBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3Vt
ZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSA5IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+
IEhUTUwgPiAjZG9jdW1lbnQgdG8gOSBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1M
ID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxs
U2VsZWN0aW5nOkZBTFNFCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0
aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KIEVESVRJTkcgREVMRUdB
VEU6IHdlYlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbgotRURJVElO
RyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2Vs
ZWN0aW9uTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiBzaG91bGRJbnNlcnRUZXh0Omdv
b2QgaWRlYSAgcmVwbGFjaW5nRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mICN0ZXh0ID4gRElWID4g
RElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gOSBvZiAjdGV4dCA+IERJViA+IERJViA+
IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGdpdmVuQWN0aW9uOldlYlZpZXdJbnNlcnRBY3Rpb25U
eXBlZAorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5n
ZSBmcm9tIDkgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0
byA5IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01S
YW5nZTpyYW5nZSBmcm9tIDAgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNk
b2N1bWVudCB0byA5IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1l
bnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6
RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFu
Z2UgZnJvbSA5IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
dG8gOSBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9N
UmFuZ2U6cmFuZ2UgZnJvbSAwIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAj
ZG9jdW1lbnQgdG8gOSBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3Vt
ZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5n
OkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZp
ZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHdlYlZp
ZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlv
bgogRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBm
cm9tIDAgb2YgRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMCBvZiBESVYg
PiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMTAg
b2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAxMCBvZiAj
dGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2Vs
ZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCiBFRElUSU5HIERF
TEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rp
b25Ob3RpZmljYXRpb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvbWFjL3NwZWxs
aW5nL2FjY2VwdC1jYW5kaWRhdGUtdW5kby1kb2VzLW5vdC1zZWxlY3QtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9tYWMvc3BlbGxpbmcvYWNjZXB0LWNhbmRpZGF0ZS11bmRvLWRv
ZXMtbm90LXNlbGVjdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODczOTZmMzAzNDEzM2RlYjQ1
YzI3OGRlYTllZThlZTA1NjhkYmUxNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Vk
aXRpbmcvbWFjL3NwZWxsaW5nL2FjY2VwdC1jYW5kaWRhdGUtdW5kby1kb2VzLW5vdC1zZWxlY3Qt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNTQgQEAKK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZEJl
Z2luRWRpdGluZ0luRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mIERJViA+IERJViA+IEJPRFkgPiBI
VE1MID4gI2RvY3VtZW50IHRvIDAgb2YgRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1l
bnQKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRCZWdpbkVkaXRpbmc6V2ViVmlld0RpZEJl
Z2luRWRpdGluZ05vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2Vs
ZWN0ZWRET01SYW5nZToobnVsbCkgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgRElWID4gRElW
ID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMCBvZiBESVYgPiBESVYgPiBCT0RZID4gSFRN
TCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGls
bFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVj
dGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVH
QVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiBESVYgPiBE
SVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAwIG9mIERJViA+IERJViA+IEJPRFkgPiBI
VE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9mICN0ZXh0ID4gRElWID4g
RElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMSBvZiAjdGV4dCA+IERJViA+IERJViA+
IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3du
c3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlk
Q2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VE
SVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNh
dGlvbgorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5n
ZSBmcm9tIDEgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0
byAxIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01S
YW5nZTpyYW5nZSBmcm9tIDIgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNk
b2N1bWVudCB0byAyIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1l
bnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6
RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmll
d0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTogd2ViVmll
d0RpZENoYW5nZTpXZWJWaWV3RGlkQ2hhbmdlTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRF
OiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20gMiBvZiAjdGV4dCA+IERJ
ViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDIgb2YgI3RleHQgPiBESVYgPiBE
SVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMyBvZiAj
dGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDMgb2YgI3RleHQg
PiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlv
bkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FU
RTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90
aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRD
aGFuZ2VOb3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVk
RE9NUmFuZ2U6cmFuZ2UgZnJvbSAzIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwg
PiAjZG9jdW1lbnQgdG8gMyBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2Rv
Y3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSA0IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9E
WSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gNCBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBI
VE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0
aWxsU2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2Vs
ZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVM
RUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbgorRURJ
VElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdl
U2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxl
Y3RlZERPTVJhbmdlOnJhbmdlIGZyb20gMyBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBI
VE1MID4gI2RvY3VtZW50IHRvIDMgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+
ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gNSBvZiAjdGV4dCA+IERJViA+IERJViA+
IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDUgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZ
ID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVh
bSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5n
ZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5H
IERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24K
K0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJv
bSA1IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gNSBv
ZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6
cmFuZ2UgZnJvbSA2IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1l
bnQgdG8gNiBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFm
ZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNF
CitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRD
aGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRD
aGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTogc2hv
dWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDYgb2YgI3RleHQgPiBESVYgPiBE
SVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA2IG9mICN0ZXh0ID4gRElWID4gRElWID4g
Qk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDcgb2YgI3RleHQg
PiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA3IG9mICN0ZXh0ID4gRElW
ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZp
bml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHdl
YlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNh
dGlvbgorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZTpXZWJWaWV3RGlkQ2hhbmdl
Tm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJh
bmdlOnJhbmdlIGZyb20gNyBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2Rv
Y3VtZW50IHRvIDcgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVu
dCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gOCBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBI
VE1MID4gI2RvY3VtZW50IHRvIDggb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+
ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNl
bGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlv
bjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRF
OiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24KK0VESVRJTkcg
REVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSA4IG9mICN0
ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gOCBvZiAjdGV4dCA+
IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJv
bSA5IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gOSBv
ZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5T
U2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElUSU5H
IERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxl
Y3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2U6V2Vi
Vmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTogc2hvdWxkSW5zZXJ0
VGV4dDpnb29kIGlkZWEgIHJlcGxhY2luZ0RPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiAjdGV4dCA+
IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDkgb2YgI3RleHQgPiBESVYg
PiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBnaXZlbkFjdGlvbjpXZWJWaWV3SW5zZXJ0
QWN0aW9uVHlwZWQKK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFu
Z2U6cmFuZ2UgZnJvbSA5IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9j
dW1lbnQgdG8gOSBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50
IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhU
TUwgPiAjZG9jdW1lbnQgdG8gOSBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4g
I2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2Vs
ZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJh
bmdlOnJhbmdlIGZyb20gOSBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2Rv
Y3VtZW50IHRvIDkgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVu
dCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBI
VE1MID4gI2RvY3VtZW50IHRvIDkgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+
ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNl
bGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlv
bjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRF
OiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3Rp
ZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6
cmFuZ2UgZnJvbSAwIG9mIERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDAg
b2YgRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBm
cm9tIDEwIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8g
MTAgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0
eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJ
VElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdl
U2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdl
OldlYlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdE
aWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgor
RURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9t
IDAgb2YgRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMCBvZiBESVYgPiBE
SVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gOSBvZiAj
dGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDkgb2YgI3RleHQg
PiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlv
bkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FU
RTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90
aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldl
YlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHdl
YlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbgorRURJVElORyBERUxF
R0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDkgb2YgI3RleHQg
PiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA5IG9mICN0ZXh0ID4gRElW
ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDEw
IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMTAgb2Yg
I3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1Nl
bGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBE
RUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0
aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZp
ZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgdW5kb2luZyBhbiBhY2Nl
cHRlZCBjYW5kaWRhdGUgcmVwbGFjZW1lbnQgZG9lc24ndCBzZWxlY3QgdGhlIG9yaWdpbmFsIHRl
eHQuCisKK2dvbyBkaWRlYS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvbWFjL3Nw
ZWxsaW5nL2FjY2VwdC1jYW5kaWRhdGUtdW5kby1kb2VzLW5vdC1zZWxlY3QuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvbWFjL3NwZWxsaW5nL2FjY2VwdC1jYW5kaWRhdGUtdW5kby1kb2VzLW5v
dC1zZWxlY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZWVkYmMyYzU4ZTZiYjFjMGUwZjQ5ZWRlMjRlNWVi
OGU1ZmFlZjAzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9tYWMvc3Bl
bGxpbmcvYWNjZXB0LWNhbmRpZGF0ZS11bmRvLWRvZXMtbm90LXNlbGVjdC5odG1sCkBAIC0wLDAg
KzEsNTIgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0uLi8uLi9lZGl0aW5nLmpzPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0PgorCitmdW5jdGlvbiBlZGl0aW5nVGVzdCgpIHsKKyAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7
CisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCh0cnVlKTsKKyAgICB9CisKKyAgICBlZGl0
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2VkaXQnKTsKKyAgICBlZGl0LmZvY3VzKCk7Cisg
ICAgdHlwZUNoYXJhY3RlckNvbW1hbmQoJ2cnKTsKKyAgICB0eXBlQ2hhcmFjdGVyQ29tbWFuZCgn
bycpOworICAgIHR5cGVDaGFyYWN0ZXJDb21tYW5kKCdvJyk7CisgICAgdHlwZUNoYXJhY3RlckNv
bW1hbmQoJyAnKTsKKyAgICB0eXBlQ2hhcmFjdGVyQ29tbWFuZCgnZCcpOworICAgIHR5cGVDaGFy
YWN0ZXJDb21tYW5kKCdpJyk7CisgICAgdHlwZUNoYXJhY3RlckNvbW1hbmQoJ2QnKTsKKyAgICB0
eXBlQ2hhcmFjdGVyQ29tbWFuZCgnZScpOworICAgIHR5cGVDaGFyYWN0ZXJDb21tYW5kKCdhJyk7
ICAgIAorCisgICAgLy8gV2FpdCBhIGJpdCBiZWZvcmUgc3dhcHBpbmcgaW4gdGhlIGNhbmRpZGF0
ZSwgYmVjYXVzZSBvdGhlcndpc2UgCisgICAgLy8gQXBwS2l0IGNhbiBjb21iaW5lIHRoZSB1bmRv
IG9mIHRoZSBjYW5kaWRhdGUgaW5zZXJ0aW9uIHdpdGggdGhlIG90aGVyIHRleHQuCisgICAgc2V0
VGltZW91dChmdW5jdGlvbiAoKSB7CisgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAg
ICAgICAgICAgaW50ZXJuYWxzLmhhbmRsZUFjY2VwdGVkQ2FuZGlkYXRlKCJnb29kIGlkZWEgIiwg
MCwgOSk7CisKKyAgICAgICAgdW5kb0NvbW1hbmQoKTsKKworICAgICAgICAvLyBJZiB0aGUgdW5k
byB3cm9uZ2x5IGxlZnQgImdvbyBkaWRlYSIgc2VsZWN0ZWQsIHRoaXMgd2lsbCByZXBsYWNlIGl0
LgorICAgICAgICB0eXBlQ2hhcmFjdGVyQ29tbWFuZCgnLicpOworCisgICAgICAgIHRlc3RSdW5u
ZXIubm90aWZ5RG9uZSgpOworICAgIH0sIDEwMCk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cD5UaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCB1bmRvaW5nIGFuIGFjY2VwdGVkIGNh
bmRpZGF0ZSByZXBsYWNlbWVudCBkb2Vzbid0IHNlbGVjdCB0aGUgb3JpZ2luYWwgdGV4dC48L3A+
Cis8ZGl2IHN0eWxlPSJib3JkZXI6MXB4IHNvbGlkIGJsYWNrOyI+CisgICAgPGRpdiBjb250ZW50
ZWRpdGFibGU9InRydWUiIGlkPSJlZGl0Ij48L2Rpdj4KKzwvZGl2PgorPHNjcmlwdD4KK3J1bkVk
aXRpbmdUZXN0KCk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2VkaXRpbmcvbWFjL3NwZWxsaW5nL2FjY2VwdC1jYW5kaWRhdGUtd2l0aG91
dC1hZGRpbmctc3BhY2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9tYWMvc3Bl
bGxpbmcvYWNjZXB0LWNhbmRpZGF0ZS13aXRob3V0LWFkZGluZy1zcGFjZS1leHBlY3RlZC50eHQK
aW5kZXggZDQyM2Q5YmRlMjFiZmY5YTc4NjAwODZkMzRmMjYzODRhYTAzYWI3Yi4uMzFlODZkNDAx
NTQ5NzY3NTkzNGI1NTRlMWQzMjE0YzJmZWE2Yjk3ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZWRpdGluZy9tYWMvc3BlbGxpbmcvYWNjZXB0LWNhbmRpZGF0ZS13aXRob3V0LWFkZGluZy1zcGFj
ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9tYWMvc3BlbGxpbmcvYWNj
ZXB0LWNhbmRpZGF0ZS13aXRob3V0LWFkZGluZy1zcGFjZS1leHBlY3RlZC50eHQKQEAgLTgsOCAr
OCwxMCBAQCBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldlYlZpZXdEaWRDaGFu
Z2VOb3RpZmljYXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9N
UmFuZ2U6cmFuZ2UgZnJvbSAxIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAj
ZG9jdW1lbnQgdG8gMSBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3Vt
ZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAyIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+
IEhUTUwgPiAjZG9jdW1lbnQgdG8gMiBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1M
ID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxs
U2VsZWN0aW5nOkZBTFNFCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0
aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KIEVESVRJTkcgREVMRUdB
VEU6IHdlYlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNhdGlvbgotRURJVElO
RyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2Vs
ZWN0aW9uTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiBzaG91bGRJbnNlcnRUZXh0Omlz
IHJlcGxhY2luZ0RPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiAjdGV4dCA+IERJViA+IERJViA+IEJP
RFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDIgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4g
SFRNTCA+ICNkb2N1bWVudCBnaXZlbkFjdGlvbjpXZWJWaWV3SW5zZXJ0QWN0aW9uVHlwZWQKK0VE
SVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAy
IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMiBvZiAj
dGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFu
Z2UgZnJvbSAwIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
dG8gMiBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmlu
aXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitF
RElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJhbmdlIGZyb20g
MiBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDIgb2Yg
I3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJh
bmdlIGZyb20gMCBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50
IHRvIDIgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZp
bml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQor
RURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hh
bmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hh
bmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KIEVESVRJ
TkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9m
IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDAgb2YgRElWID4gRElWID4g
Qk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDIgb2YgI3RleHQg
PiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAyIG9mICN0ZXh0ID4gRElW
ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZp
bml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKIEVESVRJTkcgREVMRUdBVEU6IHdl
YlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNh
dGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9tYWMvc3BlbGxpbmcvYWNjZXB0
LWNhbmRpZGF0ZS13aXRob3V0LWNyb3NzaW5nLWVkaXRpbmctYm91bmRhcnktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZWRpdGluZy9tYWMvc3BlbGxpbmcvYWNjZXB0LWNhbmRpZGF0ZS13aXRo
b3V0LWNyb3NzaW5nLWVkaXRpbmctYm91bmRhcnktZXhwZWN0ZWQudHh0CmluZGV4IDQ2MjViMTZk
NDNmZDI1M2JmNWY0MWM1NTEzYjY4NjIzNjU0MjQwNTIuLmMzOWE2Y2E1MzMwZjIwNzMwMDBmM2E3
ODkxMTA1NDY3NmM3MGFiNTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2VkaXRpbmcvbWFjL3Nw
ZWxsaW5nL2FjY2VwdC1jYW5kaWRhdGUtd2l0aG91dC1jcm9zc2luZy1lZGl0aW5nLWJvdW5kYXJ5
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL21hYy9zcGVsbGluZy9hY2Nl
cHQtY2FuZGlkYXRlLXdpdGhvdXQtY3Jvc3NpbmctZWRpdGluZy1ib3VuZGFyeS1leHBlY3RlZC50
eHQKQEAgLTgsOCArOCwxMCBAQCBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlOldl
YlZpZXdEaWRDaGFuZ2VOb3RpZmljYXRpb24KIEVESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5n
ZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAxIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9E
WSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMSBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBI
VE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSAyIG9mICN0ZXh0ID4gRElWID4g
RElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMiBvZiAjdGV4dCA+IERJViA+IERJViA+
IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3du
c3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCiBFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlk
Q2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KIEVE
SVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2U6V2ViVmlld0RpZENoYW5nZU5vdGlmaWNh
dGlvbgotRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3
RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiBzaG91bGRJ
bnNlcnRUZXh0OmhhcHB5ICByZXBsYWNpbmdET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgI3RleHQg
PiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAyIG9mICN0ZXh0ID4gRElW
ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgZ2l2ZW5BY3Rpb246V2ViVmlld0luc2Vy
dEFjdGlvblR5cGVkCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJh
bmdlOnJhbmdlIGZyb20gMiBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2Rv
Y3VtZW50IHRvIDIgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVu
dCB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBI
VE1MID4gI2RvY3VtZW50IHRvIDIgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+
ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNl
bGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01S
YW5nZTpyYW5nZSBmcm9tIDIgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNk
b2N1bWVudCB0byAyIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1l
bnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgI3RleHQgPiBESVYgPiBESVYgPiBCT0RZID4g
SFRNTCA+ICNkb2N1bWVudCB0byAyIG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwg
PiAjZG9jdW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxT
ZWxlY3Rpbmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rp
b246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgogRURJVElORyBERUxFR0FU
RTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90
aWZpY2F0aW9uCiBFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdl
OnJhbmdlIGZyb20gMCBvZiBESVYgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAw
IG9mIERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2Ug
ZnJvbSA2IG9mICN0ZXh0ID4gRElWID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8g
NiBvZiAjdGV4dCA+IERJViA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5
Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCiBFRElU
SU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VT
ZWxlY3Rpb25Ob3RpZmljYXRpb24K
</data>
<flag name="review"
          id="311975"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>