<?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>221593</bug_id>
          
          <creation_ts>2021-02-08 21:04:08 -0800</creation_ts>
          <short_desc>[JSC] Make JSON.parse faster by using table for fast string parsing</short_desc>
          <delta_ts>2021-02-15 14:44:56 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rniwa</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1726940</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-08 21:04:08 -0800</bug_when>
    <thetext>[JSC] Make JSON.parse faster by using table for fast string parsing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726941</commentid>
    <comment_count>1</comment_count>
      <attachid>419674</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-08 21:06:17 -0800</bug_when>
    <thetext>Created attachment 419674
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726943</commentid>
    <comment_count>2</comment_count>
      <attachid>419674</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-08 21:26:11 -0800</bug_when>
    <thetext>Comment on attachment 419674
Patch

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

&gt; Source/JavaScriptCore/runtime/LiteralParser.cpp:437
&gt; +enum StringCharacter : uint8_t { Slow, Fast, };
&gt; +static constexpr const StringCharacter safeStringLatin1CharactersInStrictJSON[256] = {

What does slow &amp; fast mean? StringCharacter is also a very generic term to use here.
Maybe renaming this to safeLatin1CharacterInStrictJSON and using boolean would be better.
If we wanted to use enum class maybe something like this will be more appropriate:
enum class JSONLiteralCharacterType : uint8_t { Safe, NotSafeInStrictMode };

&gt; Source/JavaScriptCore/runtime/LiteralParser.cpp:839
&gt; +        return (c &gt;= &apos; &apos; &amp;&amp; c != &apos;\\&apos; &amp;&amp; c != terminator) || (c == &apos;\t&apos;);

Isn&apos;t this really just safeStringLatin1CharactersInStrictJSON[c] == StringCharacter::Fast || c == &apos;\t&apos;?

&gt; Source/JavaScriptCore/runtime/LiteralParser.cpp:850
&gt; +        return (c &gt;= &apos; &apos; &amp;&amp; isLatin1(c) &amp;&amp; c != &apos;\\&apos; &amp;&amp; c != terminator) || (c == &apos;\t&apos;);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726944</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-02-08 21:27:49 -0800</bug_when>
    <thetext>r=me

&gt; Source/JavaScriptCore/runtime/LiteralParser.cpp:438
&gt; +// 256 Latin-1 codes
&gt; +enum StringCharacter : uint8_t { Slow, Fast, };
&gt; +static constexpr const StringCharacter safeStringLatin1CharactersInStrictJSON[256] = {
&gt; +/*   0 - Null               */ StringCharacter::Slow,

I&apos;m curious: Why do we call these &apos;Fast&apos; and &apos;Slow&apos; instead of &apos;Safe&apos; and &apos;Unsafe&apos;? I&apos;m not familiar with this distinction -- I&apos;m just observing that the table name is &quot;safe...&quot; and not &quot;fast....&quot;.

&gt; Source/JavaScriptCore/runtime/LiteralParser.cpp:837
&gt; +    if constexpr (set == SafeStringCharacterSet::Strict)
&gt; +        return safeStringLatin1CharactersInStrictJSON[c] == StringCharacter::Fast;

Can we make the table store booleans, so we can just return the boolean instead of doing an additional comparison against StringCharacter::Fast?

(Alternatively, I suppose we could change the return value from bool to StringCharacter.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726945</commentid>
    <comment_count>4</comment_count>
      <attachid>419674</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-08 21:31:14 -0800</bug_when>
    <thetext>Comment on attachment 419674
Patch

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

&gt;&gt; Source/JavaScriptCore/runtime/LiteralParser.cpp:437
&gt;&gt; +static constexpr const StringCharacter safeStringLatin1CharactersInStrictJSON[256] = {
&gt; 
&gt; What does slow &amp; fast mean? StringCharacter is also a very generic term to use here.
&gt; Maybe renaming this to safeLatin1CharacterInStrictJSON and using boolean would be better.
&gt; If we wanted to use enum class maybe something like this will be more appropriate:
&gt; enum class JSONLiteralCharacterType : uint8_t { Safe, NotSafeInStrictMode };

OK, I&apos;ll just change this to boolean.

&gt;&gt; Source/JavaScriptCore/runtime/LiteralParser.cpp:839
&gt;&gt; +        return (c &gt;= &apos; &apos; &amp;&amp; c != &apos;\\&apos; &amp;&amp; c != terminator) || (c == &apos;\t&apos;);
&gt; 
&gt; Isn&apos;t this really just safeStringLatin1CharactersInStrictJSON[c] == StringCharacter::Fast || c == &apos;\t&apos;?

terminator can be different in non-Strict-JSON (JSONP etc., not an actual JSON case). So still this is a bit different.

&gt;&gt; Source/JavaScriptCore/runtime/LiteralParser.cpp:850
&gt;&gt; +        return (c &gt;= &apos; &apos; &amp;&amp; isLatin1(c) &amp;&amp; c != &apos;\\&apos; &amp;&amp; c != terminator) || (c == &apos;\t&apos;);
&gt; 
&gt; Ditto.

Changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726948</commentid>
    <comment_count>5</comment_count>
      <attachid>419676</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-08 21:57:55 -0800</bug_when>
    <thetext>Created attachment 419676
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726978</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-09 02:01:07 -0800</bug_when>
    <thetext>animations/keyframe-pseudo-shadow.html is unrelated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726979</commentid>
    <comment_count>7</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-09 02:02:19 -0800</bug_when>
    <thetext>Committed r272570: &lt;https://trac.webkit.org/changeset/272570&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1726980</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-09 02:03:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/74134694&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729098</commentid>
    <comment_count>9</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-02-15 02:54:42 -0800</bug_when>
    <thetext>8% improvement in JetStream2/json-parse-inspector</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729393</commentid>
    <comment_count>10</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-15 14:44:56 -0800</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #9)
&gt; 8% improvement in JetStream2/json-parse-inspector

Nice!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419674</attachid>
            <date>2021-02-08 21:06:17 -0800</date>
            <delta_ts>2021-02-08 21:26:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221593-20210208210616.patch</filename>
            <type>text/plain</type>
            <size>21786</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNDg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
OWZjM2QwNTRhN2MzZTExYmZlOTI2NDRlNGIzMGE5MTFjNzAwZThjLi5lM2I2MmYzYjIxZjBkYWJk
YjVjZDVkZDNmYmFiNDdiZDBjZTJiMWUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAyMS0wMi0wOCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIE1ha2UgSlNPTi5wYXJzZSBmYXN0ZXIgYnkgdXNpbmcgdGFibGUg
Zm9yIGZhc3Qgc3RyaW5nIHBhcnNpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyMTU5MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFdlIHVzZSBMYXRpbjEgdGFibGUgZm9yIHF1aWNrbHkgY2hlY2tpbmcg
d2hldGhlciBhIGNoYXJhY3RlciBpcyBzYWZlIGZvciB0aGUgZmFzdCBwYXRoIHN0cmluZyBwYXJz
aW5nIGluIEpTT04uCisgICAgICAgIFRoaXMgb2ZmZXJzIDEtMyUgaW1wcm92ZW1lbnQgaW4gS3Jh
a2VuIGpzb24tcGFyc2UtZmluYW5jaWFsIHRlc3QuCisKKyAgICAgICAgKiBwYXJzZXIvTGV4ZXIu
Y3BwOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6TGV4ZXIpOgorICAgICAgICAqIHJ1bnRpbWUv
TGl0ZXJhbFBhcnNlci5jcHA6CisgICAgICAgIChKU0M6OkxpdGVyYWxQYXJzZXI8Q2hhclR5cGU+
OjpMZXhlcjo6bGV4KToKKyAgICAgICAgKEpTQzo6aXNTYWZlU3RyaW5nQ2hhcmFjdGVyKToKKyAg
ICAgICAgKEpTQzo6TGl0ZXJhbFBhcnNlcjxDaGFyVHlwZT46OkxleGVyOjpsZXhTdHJpbmcpOgor
ICAgICAgICAqIHJ1bnRpbWUvTGl0ZXJhbFBhcnNlci5oOgorCiAyMDIxLTAyLTA4ICBBbGljaWEg
Qm95YSBHYXJjw61hICA8YWJveWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBDb25zb2xlTWVzc2Fn
ZTogRG9uJ3QgZW5jb2RlIHN0cmluZyBKU09OTG9nVmFsdWUncyBhcyBKU09OCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCmluZGV4IDk1YzI3Y2JmOWI1YWJlNzZmNzVjNzk5Y2Jj
ODBkMmM0MWM0Y2U4YWYuLmZmOGY1N2U0NmFmYzExNDVmNzZlNGM1OWM2YjhjNGZiYzQ1OTBiMDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCkBAIC00NCw3ICs0NCw3IEBA
IGJvb2wgaXNMZXhlcktleXdvcmQoY29uc3QgSWRlbnRpZmllciYgaWRlbnRpZmllcikKICAgICBy
ZXR1cm4gSlNDOjptYWluVGFibGUuZW50cnkoaWRlbnRpZmllcik7CiB9CiAKLWVudW0gQ2hhcmFj
dGVyVHlwZSB7CitlbnVtIENoYXJhY3RlclR5cGUgOiB1aW50OF90IHsKICAgICAvLyBUeXBlcyBm
b3IgdGhlIG1haW4gc3dpdGNoCiAKICAgICAvLyBUaGUgZmlyc3QgdGhyZWUgdHlwZXMgYXJlIGZp
eGVkLCBhbmQgYWxzbyB1c2VkIGZvciBpZGVudGlmeWluZwpAQCAtOTUsNyArOTUsNyBAQCBlbnVt
IENoYXJhY3RlclR5cGUgewogfTsKIAogLy8gMjU2IExhdGluLTEgY29kZXMKLXN0YXRpYyBjb25z
dGV4cHIgY29uc3QgdW5zaWduZWQgc2hvcnQgdHlwZXNPZkxhdGluMUNoYXJhY3RlcnNbMjU2XSA9
IHsKK3N0YXRpYyBjb25zdGV4cHIgY29uc3QgQ2hhcmFjdGVyVHlwZSB0eXBlc09mTGF0aW4xQ2hh
cmFjdGVyc1syNTZdID0gewogLyogICAwIC0gTnVsbCAgICAgICAgICAgICAgICovIENoYXJhY3Rl
ckludmFsaWQsCiAvKiAgIDEgLSBTdGFydCBvZiBIZWFkaW5nICAgKi8gQ2hhcmFjdGVySW52YWxp
ZCwKIC8qICAgMiAtIFN0YXJ0IG9mIFRleHQgICAgICAqLyBDaGFyYWN0ZXJJbnZhbGlkLApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGl0ZXJhbFBhcnNlci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MaXRlcmFsUGFyc2VyLmNwcAppbmRleCBl
MTRkNzliOWI3NmFhZmQ2YjhhODJiYWUwOTRhZTBkMTQ0YTA2MDg5Li4zYTdjNjI2MGFhYjI4ZmQy
MjJlOTUyMjJmMWJkOTllZDlmZDliODQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9MaXRlcmFsUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9MaXRlcmFsUGFyc2VyLmNwcApAQCAtMTczLDcgKzE3Myw3IEBAIEFMV0FZU19JTkxJ
TkUgY29uc3QgSWRlbnRpZmllciBMaXRlcmFsUGFyc2VyPENoYXJUeXBlPjo6bWFrZUlkZW50aWZp
ZXIoY29uc3QgVUNoCiB9CiAKIC8vIDI1NiBMYXRpbi0xIGNvZGVzCi1zdGF0aWMgY29uc3RleHBy
IGNvbnN0IFRva2VuVHlwZSBUb2tlblR5cGVzT2ZMYXRpbjFDaGFyYWN0ZXJzWzI1Nl0gPSB7Citz
dGF0aWMgY29uc3RleHByIGNvbnN0IFRva2VuVHlwZSB0b2tlblR5cGVzT2ZMYXRpbjFDaGFyYWN0
ZXJzWzI1Nl0gPSB7CiAvKiAgIDAgLSBOdWxsICAgICAgICAgICAgICAgKi8gVG9rRXJyb3IsCiAv
KiAgIDEgLSBTdGFydCBvZiBIZWFkaW5nICAgKi8gVG9rRXJyb3IsCiAvKiAgIDIgLSBTdGFydCBv
ZiBUZXh0ICAgICAgKi8gVG9rRXJyb3IsCkBAIC00MzIsNiArNDMyLDI2NyBAQCBzdGF0aWMgY29u
c3RleHByIGNvbnN0IFRva2VuVHlwZSBUb2tlblR5cGVzT2ZMYXRpbjFDaGFyYWN0ZXJzWzI1Nl0g
PSB7CiAvKiAyNTUgLSBMbCBjYXRlZ29yeSAgICAgICAgKi8gVG9rRXJyb3IKIH07CiAKKy8vIDI1
NiBMYXRpbi0xIGNvZGVzCitlbnVtIFN0cmluZ0NoYXJhY3RlciA6IHVpbnQ4X3QgeyBTbG93LCBG
YXN0LCB9Oworc3RhdGljIGNvbnN0ZXhwciBjb25zdCBTdHJpbmdDaGFyYWN0ZXIgc2FmZVN0cmlu
Z0xhdGluMUNoYXJhY3RlcnNJblN0cmljdEpTT05bMjU2XSA9IHsKKy8qICAgMCAtIE51bGwgICAg
ICAgICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OlNsb3csCisvKiAgIDEgLSBTdGFydCBvZiBI
ZWFkaW5nICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpTbG93LAorLyogICAyIC0gU3RhcnQgb2YgVGV4
dCAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6U2xvdywKKy8qICAgMyAtIEVuZCBvZiBUZXh0ICAg
ICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OlNsb3csCisvKiAgIDQgLSBFbmQgb2YgVHJhbnNtLiAg
ICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpTbG93LAorLyogICA1IC0gRW5xdWlyeSAgICAgICAgICAg
ICovIFN0cmluZ0NoYXJhY3Rlcjo6U2xvdywKKy8qICAgNiAtIEFja25vd2xlZGdtZW50ICAgICAq
LyBTdHJpbmdDaGFyYWN0ZXI6OlNsb3csCisvKiAgIDcgLSBCZWxsICAgICAgICAgICAgICAgKi8g
U3RyaW5nQ2hhcmFjdGVyOjpTbG93LAorLyogICA4IC0gQmFjayBTcGFjZSAgICAgICAgICovIFN0
cmluZ0NoYXJhY3Rlcjo6U2xvdywKKy8qICAgOSAtIEhvcml6b250YWwgVGFiICAgICAqLyBTdHJp
bmdDaGFyYWN0ZXI6OlNsb3csCisvKiAgMTAgLSBMaW5lIEZlZWQgICAgICAgICAgKi8gU3RyaW5n
Q2hhcmFjdGVyOjpTbG93LAorLyogIDExIC0gVmVydGljYWwgVGFiICAgICAgICovIFN0cmluZ0No
YXJhY3Rlcjo6U2xvdywKKy8qICAxMiAtIEZvcm0gRmVlZCAgICAgICAgICAqLyBTdHJpbmdDaGFy
YWN0ZXI6OlNsb3csCisvKiAgMTMgLSBDYXJyaWFnZSBSZXR1cm4gICAgKi8gU3RyaW5nQ2hhcmFj
dGVyOjpTbG93LAorLyogIDE0IC0gU2hpZnQgT3V0ICAgICAgICAgICovIFN0cmluZ0NoYXJhY3Rl
cjo6U2xvdywKKy8qICAxNSAtIFNoaWZ0IEluICAgICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6
OlNsb3csCisvKiAgMTYgLSBEYXRhIExpbmUgRXNjYXBlICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpT
bG93LAorLyogIDE3IC0gRGV2aWNlIENvbnRyb2wgMSAgICovIFN0cmluZ0NoYXJhY3Rlcjo6U2xv
dywKKy8qICAxOCAtIERldmljZSBDb250cm9sIDIgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OlNsb3cs
CisvKiAgMTkgLSBEZXZpY2UgQ29udHJvbCAzICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpTbG93LAor
LyogIDIwIC0gRGV2aWNlIENvbnRyb2wgNCAgICovIFN0cmluZ0NoYXJhY3Rlcjo6U2xvdywKKy8q
ICAyMSAtIE5lZ2F0aXZlIEFjay4gICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OlNsb3csCisvKiAg
MjIgLSBTeW5jaHJvbm91cyBJZGxlICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpTbG93LAorLyogIDIz
IC0gRW5kIG9mIFRyYW5zbWl0ICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6U2xvdywKKy8qICAyNCAt
IENhbmNlbCAgICAgICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OlNsb3csCisvKiAgMjUgLSBF
bmQgb2YgTWVkaXVtICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpTbG93LAorLyogIDI2IC0gU3Vi
c3RpdHV0ZSAgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6U2xvdywKKy8qICAyNyAtIEVzY2Fw
ZSAgICAgICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OlNsb3csCisvKiAgMjggLSBGaWxlIFNl
cGFyYXRvciAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpTbG93LAorLyogIDI5IC0gR3JvdXAgU2Vw
YXJhdG9yICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6U2xvdywKKy8qICAzMCAtIFJlY29yZCBTZXBh
cmF0b3IgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OlNsb3csCisvKiAgMzEgLSBVbml0IFNlcGFyYXRv
ciAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpTbG93LAorLyogIDMyIC0gU3BhY2UgICAgICAgICAg
ICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qICAzMyAtICEgICAgICAgICAgICAgICAg
ICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAgMzQgLSAiICAgICAgICAgICAgICAgICAg
Ki8gU3RyaW5nQ2hhcmFjdGVyOjpTbG93LAorLyogIDM1IC0gIyAgICAgICAgICAgICAgICAgICov
IFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qICAzNiAtICQgICAgICAgICAgICAgICAgICAqLyBT
dHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAgMzcgLSAlICAgICAgICAgICAgICAgICAgKi8gU3Ry
aW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogIDM4IC0gJiAgICAgICAgICAgICAgICAgICovIFN0cmlu
Z0NoYXJhY3Rlcjo6RmFzdCwKKy8qICAzOSAtICcgICAgICAgICAgICAgICAgICAqLyBTdHJpbmdD
aGFyYWN0ZXI6OkZhc3QsCisvKiAgNDAgLSAoICAgICAgICAgICAgICAgICAgKi8gU3RyaW5nQ2hh
cmFjdGVyOjpGYXN0LAorLyogIDQxIC0gKSAgICAgICAgICAgICAgICAgICovIFN0cmluZ0NoYXJh
Y3Rlcjo6RmFzdCwKKy8qICA0MiAtICogICAgICAgICAgICAgICAgICAqLyBTdHJpbmdDaGFyYWN0
ZXI6OkZhc3QsCisvKiAgNDMgLSArICAgICAgICAgICAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVy
OjpGYXN0LAorLyogIDQ0IC0gLCAgICAgICAgICAgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6
RmFzdCwKKy8qICA0NSAtIC0gICAgICAgICAgICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZh
c3QsCisvKiAgNDYgLSAuICAgICAgICAgICAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0
LAorLyogIDQ3IC0gLyAgICAgICAgICAgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwK
Ky8qICA0OCAtIDAgICAgICAgICAgICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisv
KiAgNDkgLSAxICAgICAgICAgICAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyog
IDUwIC0gMiAgICAgICAgICAgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qICA1
MSAtIDMgICAgICAgICAgICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAgNTIg
LSA0ICAgICAgICAgICAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogIDUzIC0g
NSAgICAgICAgICAgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qICA1NCAtIDYg
ICAgICAgICAgICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAgNTUgLSA3ICAg
ICAgICAgICAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogIDU2IC0gOCAgICAg
ICAgICAgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qICA1NyAtIDkgICAgICAg
ICAgICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAgNTggLSA6ICAgICAgICAg
ICAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogIDU5IC0gOyAgICAgICAgICAg
ICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qICA2MCAtIDwgICAgICAgICAgICAg
ICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAgNjEgLSA9ICAgICAgICAgICAgICAg
ICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogIDYyIC0gPiAgICAgICAgICAgICAgICAg
ICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qICA2MyAtID8gICAgICAgICAgICAgICAgICAq
LyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAgNjQgLSBAICAgICAgICAgICAgICAgICAgKi8g
U3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogIDY1IC0gQSAgICAgICAgICAgICAgICAgICovIFN0
cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qICA2NiAtIEIgICAgICAgICAgICAgICAgICAqLyBTdHJp
bmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAgNjcgLSBDICAgICAgICAgICAgICAgICAgKi8gU3RyaW5n
Q2hhcmFjdGVyOjpGYXN0LAorLyogIDY4IC0gRCAgICAgICAgICAgICAgICAgICovIFN0cmluZ0No
YXJhY3Rlcjo6RmFzdCwKKy8qICA2OSAtIEUgICAgICAgICAgICAgICAgICAqLyBTdHJpbmdDaGFy
YWN0ZXI6OkZhc3QsCisvKiAgNzAgLSBGICAgICAgICAgICAgICAgICAgKi8gU3RyaW5nQ2hhcmFj
dGVyOjpGYXN0LAorLyogIDcxIC0gRyAgICAgICAgICAgICAgICAgICovIFN0cmluZ0NoYXJhY3Rl
cjo6RmFzdCwKKy8qICA3MiAtIEggICAgICAgICAgICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6
OkZhc3QsCisvKiAgNzMgLSBJICAgICAgICAgICAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpG
YXN0LAorLyogIDc0IC0gSiAgICAgICAgICAgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFz
dCwKKy8qICA3NSAtIEsgICAgICAgICAgICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3Qs
CisvKiAgNzYgLSBMICAgICAgICAgICAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAor
LyogIDc3IC0gTSAgICAgICAgICAgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8q
ICA3OCAtIE4gICAgICAgICAgICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAg
NzkgLSBPICAgICAgICAgICAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogIDgw
IC0gUCAgICAgICAgICAgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qICA4MSAt
IFEgICAgICAgICAgICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAgODIgLSBS
ICAgICAgICAgICAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogIDgzIC0gUyAg
ICAgICAgICAgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qICA4NCAtIFQgICAg
ICAgICAgICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAgODUgLSBVICAgICAg
ICAgICAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogIDg2IC0gViAgICAgICAg
ICAgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qICA4NyAtIFcgICAgICAgICAg
ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAgODggLSBYICAgICAgICAgICAg
ICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogIDg5IC0gWSAgICAgICAgICAgICAg
ICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qICA5MCAtIFogICAgICAgICAgICAgICAg
ICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAgOTEgLSBbICAgICAgICAgICAgICAgICAg
Ki8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogIDkyIC0gXCAgICAgICAgICAgICAgICAgICov
IFN0cmluZ0NoYXJhY3Rlcjo6U2xvdywKKy8qICA5MyAtIF0gICAgICAgICAgICAgICAgICAqLyBT
dHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAgOTQgLSBeICAgICAgICAgICAgICAgICAgKi8gU3Ry
aW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogIDk1IC0gXyAgICAgICAgICAgICAgICAgICovIFN0cmlu
Z0NoYXJhY3Rlcjo6RmFzdCwKKy8qICA5NiAtIGAgICAgICAgICAgICAgICAgICAqLyBTdHJpbmdD
aGFyYWN0ZXI6OkZhc3QsCisvKiAgOTcgLSBhICAgICAgICAgICAgICAgICAgKi8gU3RyaW5nQ2hh
cmFjdGVyOjpGYXN0LAorLyogIDk4IC0gYiAgICAgICAgICAgICAgICAgICovIFN0cmluZ0NoYXJh
Y3Rlcjo6RmFzdCwKKy8qICA5OSAtIGMgICAgICAgICAgICAgICAgICAqLyBTdHJpbmdDaGFyYWN0
ZXI6OkZhc3QsCisvKiAxMDAgLSBkICAgICAgICAgICAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVy
OjpGYXN0LAorLyogMTAxIC0gZSAgICAgICAgICAgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6
RmFzdCwKKy8qIDEwMiAtIGYgICAgICAgICAgICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZh
c3QsCisvKiAxMDMgLSBnICAgICAgICAgICAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0
LAorLyogMTA0IC0gaCAgICAgICAgICAgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwK
Ky8qIDEwNSAtIGkgICAgICAgICAgICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisv
KiAxMDYgLSBqICAgICAgICAgICAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyog
MTA3IC0gayAgICAgICAgICAgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDEw
OCAtIGwgICAgICAgICAgICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAxMDkg
LSBtICAgICAgICAgICAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMTEwIC0g
biAgICAgICAgICAgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDExMSAtIG8g
ICAgICAgICAgICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAxMTIgLSBwICAg
ICAgICAgICAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMTEzIC0gcSAgICAg
ICAgICAgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDExNCAtIHIgICAgICAg
ICAgICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAxMTUgLSBzICAgICAgICAg
ICAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMTE2IC0gdCAgICAgICAgICAg
ICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDExNyAtIHUgICAgICAgICAgICAg
ICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAxMTggLSB2ICAgICAgICAgICAgICAg
ICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMTE5IC0gdyAgICAgICAgICAgICAgICAg
ICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDEyMCAtIHggICAgICAgICAgICAgICAgICAq
LyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAxMjEgLSB5ICAgICAgICAgICAgICAgICAgKi8g
U3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMTIyIC0geiAgICAgICAgICAgICAgICAgICovIFN0
cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDEyMyAtIHsgICAgICAgICAgICAgICAgICAqLyBTdHJp
bmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAxMjQgLSB8ICAgICAgICAgICAgICAgICAgKi8gU3RyaW5n
Q2hhcmFjdGVyOjpGYXN0LAorLyogMTI1IC0gfSAgICAgICAgICAgICAgICAgICovIFN0cmluZ0No
YXJhY3Rlcjo6RmFzdCwKKy8qIDEyNiAtIH4gICAgICAgICAgICAgICAgICAqLyBTdHJpbmdDaGFy
YWN0ZXI6OkZhc3QsCisvKiAxMjcgLSBEZWxldGUgICAgICAgICAgICAgKi8gU3RyaW5nQ2hhcmFj
dGVyOjpGYXN0LAorLyogMTI4IC0gQ2MgY2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rl
cjo6RmFzdCwKKy8qIDEyOSAtIENjIGNhdGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6
OkZhc3QsCisvKiAxMzAgLSBDYyBjYXRlZ29yeSAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpG
YXN0LAorLyogMTMxIC0gQ2MgY2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFz
dCwKKy8qIDEzMiAtIENjIGNhdGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3Qs
CisvKiAxMzMgLSBDYyBjYXRlZ29yeSAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAor
LyogMTM0IC0gQ2MgY2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8q
IDEzNSAtIENjIGNhdGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAx
MzYgLSBDYyBjYXRlZ29yeSAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMTM3
IC0gQ2MgY2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDEzOCAt
IENjIGNhdGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAxMzkgLSBD
YyBjYXRlZ29yeSAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMTQwIC0gQ2Mg
Y2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDE0MSAtIENjIGNh
dGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAxNDIgLSBDYyBjYXRl
Z29yeSAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMTQzIC0gQ2MgY2F0ZWdv
cnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDE0NCAtIENjIGNhdGVnb3J5
ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAxNDUgLSBDYyBjYXRlZ29yeSAg
ICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMTQ2IC0gQ2MgY2F0ZWdvcnkgICAg
ICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDE0NyAtIENjIGNhdGVnb3J5ICAgICAg
ICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAxNDggLSBDYyBjYXRlZ29yeSAgICAgICAg
Ki8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMTQ5IC0gQ2MgY2F0ZWdvcnkgICAgICAgICov
IFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDE1MCAtIENjIGNhdGVnb3J5ICAgICAgICAqLyBT
dHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAxNTEgLSBDYyBjYXRlZ29yeSAgICAgICAgKi8gU3Ry
aW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMTUyIC0gQ2MgY2F0ZWdvcnkgICAgICAgICovIFN0cmlu
Z0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDE1MyAtIENjIGNhdGVnb3J5ICAgICAgICAqLyBTdHJpbmdD
aGFyYWN0ZXI6OkZhc3QsCisvKiAxNTQgLSBDYyBjYXRlZ29yeSAgICAgICAgKi8gU3RyaW5nQ2hh
cmFjdGVyOjpGYXN0LAorLyogMTU1IC0gQ2MgY2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJh
Y3Rlcjo6RmFzdCwKKy8qIDE1NiAtIENjIGNhdGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0
ZXI6OkZhc3QsCisvKiAxNTcgLSBDYyBjYXRlZ29yeSAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVy
OjpGYXN0LAorLyogMTU4IC0gQ2MgY2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6
RmFzdCwKKy8qIDE1OSAtIENjIGNhdGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZh
c3QsCisvKiAxNjAgLSBacyBjYXRlZ29yeSAobmJzcCkgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0
LAorLyogMTYxIC0gUG8gY2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwK
Ky8qIDE2MiAtIFNjIGNhdGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisv
KiAxNjMgLSBTYyBjYXRlZ29yeSAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyog
MTY0IC0gU2MgY2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDE2
NSAtIFNjIGNhdGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAxNjYg
LSBTbyBjYXRlZ29yeSAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMTY3IC0g
U28gY2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDE2OCAtIFNr
IGNhdGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAxNjkgLSBTbyBj
YXRlZ29yeSAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMTcwIC0gTGwgY2F0
ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDE3MSAtIFBpIGNhdGVn
b3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAxNzIgLSBTbSBjYXRlZ29y
eSAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMTczIC0gQ2YgY2F0ZWdvcnkg
ICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDE3NCAtIFNvIGNhdGVnb3J5ICAg
ICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAxNzUgLSBTayBjYXRlZ29yeSAgICAg
ICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMTc2IC0gU28gY2F0ZWdvcnkgICAgICAg
ICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDE3NyAtIFNtIGNhdGVnb3J5ICAgICAgICAq
LyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAxNzggLSBObyBjYXRlZ29yeSAgICAgICAgKi8g
U3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMTc5IC0gTm8gY2F0ZWdvcnkgICAgICAgICovIFN0
cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDE4MCAtIFNrIGNhdGVnb3J5ICAgICAgICAqLyBTdHJp
bmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAxODEgLSBMbCBjYXRlZ29yeSAgICAgICAgKi8gU3RyaW5n
Q2hhcmFjdGVyOjpGYXN0LAorLyogMTgyIC0gU28gY2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0No
YXJhY3Rlcjo6RmFzdCwKKy8qIDE4MyAtIFBvIGNhdGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFy
YWN0ZXI6OkZhc3QsCisvKiAxODQgLSBTayBjYXRlZ29yeSAgICAgICAgKi8gU3RyaW5nQ2hhcmFj
dGVyOjpGYXN0LAorLyogMTg1IC0gTm8gY2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rl
cjo6RmFzdCwKKy8qIDE4NiAtIExsIGNhdGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6
OkZhc3QsCisvKiAxODcgLSBQZiBjYXRlZ29yeSAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpG
YXN0LAorLyogMTg4IC0gTm8gY2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFz
dCwKKy8qIDE4OSAtIE5vIGNhdGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3Qs
CisvKiAxOTAgLSBObyBjYXRlZ29yeSAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAor
LyogMTkxIC0gUG8gY2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8q
IDE5MiAtIEx1IGNhdGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAx
OTMgLSBMdSBjYXRlZ29yeSAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMTk0
IC0gTHUgY2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDE5NSAt
IEx1IGNhdGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAxOTYgLSBM
dSBjYXRlZ29yeSAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMTk3IC0gTHUg
Y2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDE5OCAtIEx1IGNh
dGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAxOTkgLSBMdSBjYXRl
Z29yeSAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMjAwIC0gTHUgY2F0ZWdv
cnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDIwMSAtIEx1IGNhdGVnb3J5
ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAyMDIgLSBMdSBjYXRlZ29yeSAg
ICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMjAzIC0gTHUgY2F0ZWdvcnkgICAg
ICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDIwNCAtIEx1IGNhdGVnb3J5ICAgICAg
ICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAyMDUgLSBMdSBjYXRlZ29yeSAgICAgICAg
Ki8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMjA2IC0gTHUgY2F0ZWdvcnkgICAgICAgICov
IFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDIwNyAtIEx1IGNhdGVnb3J5ICAgICAgICAqLyBT
dHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAyMDggLSBMdSBjYXRlZ29yeSAgICAgICAgKi8gU3Ry
aW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMjA5IC0gTHUgY2F0ZWdvcnkgICAgICAgICovIFN0cmlu
Z0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDIxMCAtIEx1IGNhdGVnb3J5ICAgICAgICAqLyBTdHJpbmdD
aGFyYWN0ZXI6OkZhc3QsCisvKiAyMTEgLSBMdSBjYXRlZ29yeSAgICAgICAgKi8gU3RyaW5nQ2hh
cmFjdGVyOjpGYXN0LAorLyogMjEyIC0gTHUgY2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJh
Y3Rlcjo6RmFzdCwKKy8qIDIxMyAtIEx1IGNhdGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0
ZXI6OkZhc3QsCisvKiAyMTQgLSBMdSBjYXRlZ29yeSAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVy
OjpGYXN0LAorLyogMjE1IC0gU20gY2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6
RmFzdCwKKy8qIDIxNiAtIEx1IGNhdGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZh
c3QsCisvKiAyMTcgLSBMdSBjYXRlZ29yeSAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0
LAorLyogMjE4IC0gTHUgY2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwK
Ky8qIDIxOSAtIEx1IGNhdGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisv
KiAyMjAgLSBMdSBjYXRlZ29yeSAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyog
MjIxIC0gTHUgY2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDIy
MiAtIEx1IGNhdGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAyMjMg
LSBMbCBjYXRlZ29yeSAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMjI0IC0g
TGwgY2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDIyNSAtIExs
IGNhdGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAyMjYgLSBMbCBj
YXRlZ29yeSAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMjI3IC0gTGwgY2F0
ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDIyOCAtIExsIGNhdGVn
b3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAyMjkgLSBMbCBjYXRlZ29y
eSAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMjMwIC0gTGwgY2F0ZWdvcnkg
ICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDIzMSAtIExsIGNhdGVnb3J5ICAg
ICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAyMzIgLSBMbCBjYXRlZ29yeSAgICAg
ICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMjMzIC0gTGwgY2F0ZWdvcnkgICAgICAg
ICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDIzNCAtIExsIGNhdGVnb3J5ICAgICAgICAq
LyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAyMzUgLSBMbCBjYXRlZ29yeSAgICAgICAgKi8g
U3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMjM2IC0gTGwgY2F0ZWdvcnkgICAgICAgICovIFN0
cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDIzNyAtIExsIGNhdGVnb3J5ICAgICAgICAqLyBTdHJp
bmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAyMzggLSBMbCBjYXRlZ29yeSAgICAgICAgKi8gU3RyaW5n
Q2hhcmFjdGVyOjpGYXN0LAorLyogMjM5IC0gTGwgY2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0No
YXJhY3Rlcjo6RmFzdCwKKy8qIDI0MCAtIExsIGNhdGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFy
YWN0ZXI6OkZhc3QsCisvKiAyNDEgLSBMbCBjYXRlZ29yeSAgICAgICAgKi8gU3RyaW5nQ2hhcmFj
dGVyOjpGYXN0LAorLyogMjQyIC0gTGwgY2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rl
cjo6RmFzdCwKKy8qIDI0MyAtIExsIGNhdGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6
OkZhc3QsCisvKiAyNDQgLSBMbCBjYXRlZ29yeSAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpG
YXN0LAorLyogMjQ1IC0gTGwgY2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFz
dCwKKy8qIDI0NiAtIExsIGNhdGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3Qs
CisvKiAyNDcgLSBTbSBjYXRlZ29yeSAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAor
LyogMjQ4IC0gTGwgY2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8q
IDI0OSAtIExsIGNhdGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAy
NTAgLSBMbCBjYXRlZ29yeSAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMjUx
IC0gTGwgY2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDI1MiAt
IExsIGNhdGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCisvKiAyNTMgLSBM
bCBjYXRlZ29yeSAgICAgICAgKi8gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0LAorLyogMjU0IC0gTGwg
Y2F0ZWdvcnkgICAgICAgICovIFN0cmluZ0NoYXJhY3Rlcjo6RmFzdCwKKy8qIDI1NSAtIExsIGNh
dGVnb3J5ICAgICAgICAqLyBTdHJpbmdDaGFyYWN0ZXI6OkZhc3QsCit9OworCiB0ZW1wbGF0ZSA8
dHlwZW5hbWUgQ2hhclR5cGU+CiBBTFdBWVNfSU5MSU5FIFRva2VuVHlwZSBMaXRlcmFsUGFyc2Vy
PENoYXJUeXBlPjo6TGV4ZXI6OmxleChMaXRlcmFsUGFyc2VyVG9rZW48Q2hhclR5cGU+JiB0b2tl
bikKIHsKQEAgLTQ1MywxMCArNzE0LDEwIEBAIEFMV0FZU19JTkxJTkUgVG9rZW5UeXBlIExpdGVy
YWxQYXJzZXI8Q2hhclR5cGU+OjpMZXhlcjo6bGV4KExpdGVyYWxQYXJzZXJUb2tlbjxDCiAgICAg
dG9rZW4uc3RhcnQgPSBtX3B0cjsKICAgICBDaGFyVHlwZSBjaGFyYWN0ZXIgPSAqbV9wdHI7CiAg
ICAgaWYgKExJS0VMWShpc0xhdGluMShjaGFyYWN0ZXIpKSkgewotICAgICAgICBUb2tlblR5cGUg
dG9rZW5UeXBlID0gVG9rZW5UeXBlc09mTGF0aW4xQ2hhcmFjdGVyc1tjaGFyYWN0ZXJdOworICAg
ICAgICBUb2tlblR5cGUgdG9rZW5UeXBlID0gdG9rZW5UeXBlc09mTGF0aW4xQ2hhcmFjdGVyc1tj
aGFyYWN0ZXJdOwogICAgICAgICBzd2l0Y2ggKHRva2VuVHlwZSkgewogICAgICAgICBjYXNlIFRv
a1N0cmluZzoKLSAgICAgICAgICAgIGlmIChjaGFyYWN0ZXIgPT0gJ1wnJyAmJiBtX21vZGUgPT0g
U3RyaWN0SlNPTikgeworICAgICAgICAgICAgaWYgKFVOTElLRUxZKGNoYXJhY3RlciA9PSAnXCcn
ICYmIG1fbW9kZSA9PSBTdHJpY3RKU09OKSkgewogICAgICAgICAgICAgICAgIG1fbGV4RXJyb3JN
ZXNzYWdlID0gIlNpbmdsZSBxdW90ZXMgKFwnKSBhcmUgbm90IGFsbG93ZWQgaW4gSlNPTiJfczsK
ICAgICAgICAgICAgICAgICByZXR1cm4gVG9rRXJyb3I7CiAgICAgICAgICAgICB9CkBAIC01NzIs
MTMgKzgzMywyMSBAQCBlbnVtIGNsYXNzIFNhZmVTdHJpbmdDaGFyYWN0ZXJTZXQgeyBTdHJpY3Qs
IE5vblN0cmljdCB9OwogdGVtcGxhdGUgPFNhZmVTdHJpbmdDaGFyYWN0ZXJTZXQgc2V0Pgogc3Rh
dGljIEFMV0FZU19JTkxJTkUgYm9vbCBpc1NhZmVTdHJpbmdDaGFyYWN0ZXIoTENoYXIgYywgTENo
YXIgdGVybWluYXRvcikKIHsKLSAgICByZXR1cm4gKGMgPj0gJyAnICYmIGMgIT0gJ1xcJyAmJiBj
ICE9IHRlcm1pbmF0b3IpIHx8IChjID09ICdcdCcgJiYgc2V0ICE9IFNhZmVTdHJpbmdDaGFyYWN0
ZXJTZXQ6OlN0cmljdCk7CisgICAgaWYgY29uc3RleHByIChzZXQgPT0gU2FmZVN0cmluZ0NoYXJh
Y3RlclNldDo6U3RyaWN0KQorICAgICAgICByZXR1cm4gc2FmZVN0cmluZ0xhdGluMUNoYXJhY3Rl
cnNJblN0cmljdEpTT05bY10gPT0gU3RyaW5nQ2hhcmFjdGVyOjpGYXN0OworICAgIGVsc2UKKyAg
ICAgICAgcmV0dXJuIChjID49ICcgJyAmJiBjICE9ICdcXCcgJiYgYyAhPSB0ZXJtaW5hdG9yKSB8
fCAoYyA9PSAnXHQnKTsKIH0KIAogdGVtcGxhdGUgPFNhZmVTdHJpbmdDaGFyYWN0ZXJTZXQgc2V0
Pgogc3RhdGljIEFMV0FZU19JTkxJTkUgYm9vbCBpc1NhZmVTdHJpbmdDaGFyYWN0ZXIoVUNoYXIg
YywgVUNoYXIgdGVybWluYXRvcikKIHsKLSAgICByZXR1cm4gKGMgPj0gJyAnICYmIChzZXQgPT0g
U2FmZVN0cmluZ0NoYXJhY3RlclNldDo6U3RyaWN0IHx8IGlzTGF0aW4xKGMpKSAmJiBjICE9ICdc
XCcgJiYgYyAhPSB0ZXJtaW5hdG9yKSB8fCAoYyA9PSAnXHQnICYmIHNldCAhPSBTYWZlU3RyaW5n
Q2hhcmFjdGVyU2V0OjpTdHJpY3QpOworICAgIGlmIGNvbnN0ZXhwciAoc2V0ID09IFNhZmVTdHJp
bmdDaGFyYWN0ZXJTZXQ6OlN0cmljdCkgeworICAgICAgICBpZiAoIWlzTGF0aW4xKGMpKQorICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIHJldHVybiBpc1NhZmVTdHJpbmdDaGFyYWN0
ZXI8c2V0PihzdGF0aWNfY2FzdDxMQ2hhcj4oYyksIHN0YXRpY19jYXN0PExDaGFyPih0ZXJtaW5h
dG9yKSk7CisgICAgfSBlbHNlCisgICAgICAgIHJldHVybiAoYyA+PSAnICcgJiYgaXNMYXRpbjEo
YykgJiYgYyAhPSAnXFwnICYmIGMgIT0gdGVybWluYXRvcikgfHwgKGMgPT0gJ1x0Jyk7CiB9CiAK
IHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyVHlwZT4KQEAgLTU4OCw3ICs4NTcsOCBAQCBBTFdBWVNf
SU5MSU5FIFRva2VuVHlwZSBMaXRlcmFsUGFyc2VyPENoYXJUeXBlPjo6TGV4ZXI6OmxleFN0cmlu
ZyhMaXRlcmFsUGFyc2VyVAogICAgIGNvbnN0IENoYXJUeXBlKiBydW5TdGFydCA9IG1fcHRyOwog
CiAgICAgaWYgKG1fbW9kZSA9PSBTdHJpY3RKU09OKSB7Ci0gICAgICAgIHdoaWxlIChtX3B0ciA8
IG1fZW5kICYmIGlzU2FmZVN0cmluZ0NoYXJhY3RlcjxTYWZlU3RyaW5nQ2hhcmFjdGVyU2V0OjpT
dHJpY3Q+KCptX3B0ciwgdGVybWluYXRvcikpCisgICAgICAgIEFTU0VSVCh0ZXJtaW5hdG9yID09
ICciJyk7CisgICAgICAgIHdoaWxlIChtX3B0ciA8IG1fZW5kICYmIGlzU2FmZVN0cmluZ0NoYXJh
Y3RlcjxTYWZlU3RyaW5nQ2hhcmFjdGVyU2V0OjpTdHJpY3Q+KCptX3B0ciwgJyInKSkKICAgICAg
ICAgICAgICsrbV9wdHI7CiAgICAgfSBlbHNlIHsKICAgICAgICAgd2hpbGUgKG1fcHRyIDwgbV9l
bmQgJiYgaXNTYWZlU3RyaW5nQ2hhcmFjdGVyPFNhZmVTdHJpbmdDaGFyYWN0ZXJTZXQ6Ok5vblN0
cmljdD4oKm1fcHRyLCB0ZXJtaW5hdG9yKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0xpdGVyYWxQYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0xpdGVyYWxQYXJzZXIuaAppbmRleCA2NzBjOWFlZmRhNDg4OGQyN2QxYmU0MWRhZTFiYjll
MTEzN2YxODMxLi42N2JhMDc4OTFiY2VmOWZiMThmYmU1N2UzMTMzNWMyMzEzNmQzNTNmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MaXRlcmFsUGFyc2VyLmgKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGl0ZXJhbFBhcnNlci5oCkBAIC0zMywy
OCArMzMsMzEgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLXR5cGVkZWYgZW51bSB7IFN0cmljdEpT
T04sIE5vblN0cmljdEpTT04sIEpTT05QIH0gUGFyc2VyTW9kZTsKK2VudW0gUGFyc2VyTW9kZSA6
IHVpbnQ4X3QgeyBTdHJpY3RKU09OLCBOb25TdHJpY3RKU09OLCBKU09OUCB9OwogCi1lbnVtIEpT
T05QUGF0aEVudHJ5VHlwZSB7CitlbnVtIEpTT05QUGF0aEVudHJ5VHlwZSA6IHVpbnQ4X3Qgewog
ICAgIEpTT05QUGF0aEVudHJ5VHlwZURlY2xhcmVWYXIsIC8vIHZhciBwYXRoRW50cnlOYW1lID0g
SlNPTgogICAgIEpTT05QUGF0aEVudHJ5VHlwZURvdCwgLy8gPHByaW9yIGVudHJpZXM+LnBhdGhF
bnRyeU5hbWUgPSBKU09OCiAgICAgSlNPTlBQYXRoRW50cnlUeXBlTG9va3VwLCAvLyA8cHJpb3Ig
ZW50cmllcz5bcGF0aEluZGV4XSA9IEpTT04KICAgICBKU09OUFBhdGhFbnRyeVR5cGVDYWxsIC8v
IDxwcmlvciBlbnRyaWVzPihKU09OKQogfTsKIAotZW51bSBQYXJzZXJTdGF0ZSB7IFN0YXJ0UGFy
c2VPYmplY3QsIFN0YXJ0UGFyc2VBcnJheSwgU3RhcnRQYXJzZUV4cHJlc3Npb24sIAotICAgICAg
ICAgICAgICAgICAgIFN0YXJ0UGFyc2VTdGF0ZW1lbnQsIFN0YXJ0UGFyc2VTdGF0ZW1lbnRFbmRT
dGF0ZW1lbnQsIAotICAgICAgICAgICAgICAgICAgIERvUGFyc2VPYmplY3RTdGFydEV4cHJlc3Np
b24sIERvUGFyc2VPYmplY3RFbmRFeHByZXNzaW9uLAotICAgICAgICAgICAgICAgICAgIERvUGFy
c2VBcnJheVN0YXJ0RXhwcmVzc2lvbiwgRG9QYXJzZUFycmF5RW5kRXhwcmVzc2lvbiB9OwotZW51
bSBUb2tlblR5cGUgeyBUb2tMQnJhY2tldCwgVG9rUkJyYWNrZXQsIFRva0xCcmFjZSwgVG9rUkJy
YWNlLCAKLSAgICAgICAgICAgICAgICAgVG9rU3RyaW5nLCBUb2tJZGVudGlmaWVyLCBUb2tOdW1i
ZXIsIFRva0NvbG9uLCAKLSAgICAgICAgICAgICAgICAgVG9rTFBhcmVuLCBUb2tSUGFyZW4sIFRv
a0NvbW1hLCBUb2tUcnVlLCBUb2tGYWxzZSwKLSAgICAgICAgICAgICAgICAgVG9rTnVsbCwgVG9r
RW5kLCBUb2tEb3QsIFRva0Fzc2lnbiwgVG9rU2VtaSwgVG9rRXJyb3IgfTsKLSAgICAKK2VudW0g
UGFyc2VyU3RhdGUgOiB1aW50OF90IHsKKyAgICBTdGFydFBhcnNlT2JqZWN0LCBTdGFydFBhcnNl
QXJyYXksIFN0YXJ0UGFyc2VFeHByZXNzaW9uLAorICAgIFN0YXJ0UGFyc2VTdGF0ZW1lbnQsIFN0
YXJ0UGFyc2VTdGF0ZW1lbnRFbmRTdGF0ZW1lbnQsCisgICAgRG9QYXJzZU9iamVjdFN0YXJ0RXhw
cmVzc2lvbiwgRG9QYXJzZU9iamVjdEVuZEV4cHJlc3Npb24sCisgICAgRG9QYXJzZUFycmF5U3Rh
cnRFeHByZXNzaW9uLCBEb1BhcnNlQXJyYXlFbmRFeHByZXNzaW9uIH07CisKK2VudW0gVG9rZW5U
eXBlIDogdWludDhfdCB7CisgICAgVG9rTEJyYWNrZXQsIFRva1JCcmFja2V0LCBUb2tMQnJhY2Us
IFRva1JCcmFjZSwKKyAgICBUb2tTdHJpbmcsIFRva0lkZW50aWZpZXIsIFRva051bWJlciwgVG9r
Q29sb24sCisgICAgVG9rTFBhcmVuLCBUb2tSUGFyZW4sIFRva0NvbW1hLCBUb2tUcnVlLCBUb2tG
YWxzZSwKKyAgICBUb2tOdWxsLCBUb2tFbmQsIFRva0RvdCwgVG9rQXNzaWduLCBUb2tTZW1pLCBU
b2tFcnJvciB9OworCiBzdHJ1Y3QgSlNPTlBQYXRoRW50cnkgewotICAgIEpTT05QUGF0aEVudHJ5
VHlwZSBtX3R5cGU7CiAgICAgSWRlbnRpZmllciBtX3BhdGhFbnRyeU5hbWU7CiAgICAgaW50IG1f
cGF0aEluZGV4OworICAgIEpTT05QUGF0aEVudHJ5VHlwZSBtX3R5cGU7CiB9OwogCiBzdHJ1Y3Qg
SlNPTlBEYXRhIHsK
</data>
<flag name="review"
          id="437969"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>419676</attachid>
            <date>2021-02-08 21:57:55 -0800</date>
            <delta_ts>2021-02-08 21:57:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221593-20210208215755.patch</filename>
            <type>text/plain</type>
            <size>17383</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyNDg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
OWZjM2QwNTRhN2MzZTExYmZlOTI2NDRlNGIzMGE5MTFjNzAwZThjLi5lM2I2MmYzYjIxZjBkYWJk
YjVjZDVkZDNmYmFiNDdiZDBjZTJiMWUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAyMS0wMi0wOCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIE1ha2UgSlNPTi5wYXJzZSBmYXN0ZXIgYnkgdXNpbmcgdGFibGUg
Zm9yIGZhc3Qgc3RyaW5nIHBhcnNpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyMTU5MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFdlIHVzZSBMYXRpbjEgdGFibGUgZm9yIHF1aWNrbHkgY2hlY2tpbmcg
d2hldGhlciBhIGNoYXJhY3RlciBpcyBzYWZlIGZvciB0aGUgZmFzdCBwYXRoIHN0cmluZyBwYXJz
aW5nIGluIEpTT04uCisgICAgICAgIFRoaXMgb2ZmZXJzIDEtMyUgaW1wcm92ZW1lbnQgaW4gS3Jh
a2VuIGpzb24tcGFyc2UtZmluYW5jaWFsIHRlc3QuCisKKyAgICAgICAgKiBwYXJzZXIvTGV4ZXIu
Y3BwOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6TGV4ZXIpOgorICAgICAgICAqIHJ1bnRpbWUv
TGl0ZXJhbFBhcnNlci5jcHA6CisgICAgICAgIChKU0M6OkxpdGVyYWxQYXJzZXI8Q2hhclR5cGU+
OjpMZXhlcjo6bGV4KToKKyAgICAgICAgKEpTQzo6aXNTYWZlU3RyaW5nQ2hhcmFjdGVyKToKKyAg
ICAgICAgKEpTQzo6TGl0ZXJhbFBhcnNlcjxDaGFyVHlwZT46OkxleGVyOjpsZXhTdHJpbmcpOgor
ICAgICAgICAqIHJ1bnRpbWUvTGl0ZXJhbFBhcnNlci5oOgorCiAyMDIxLTAyLTA4ICBBbGljaWEg
Qm95YSBHYXJjw61hICA8YWJveWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBDb25zb2xlTWVzc2Fn
ZTogRG9uJ3QgZW5jb2RlIHN0cmluZyBKU09OTG9nVmFsdWUncyBhcyBKU09OCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCmluZGV4IDk1YzI3Y2JmOWI1YWJlNzZmNzVjNzk5Y2Jj
ODBkMmM0MWM0Y2U4YWYuLmZmOGY1N2U0NmFmYzExNDVmNzZlNGM1OWM2YjhjNGZiYzQ1OTBiMDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCkBAIC00NCw3ICs0NCw3IEBA
IGJvb2wgaXNMZXhlcktleXdvcmQoY29uc3QgSWRlbnRpZmllciYgaWRlbnRpZmllcikKICAgICBy
ZXR1cm4gSlNDOjptYWluVGFibGUuZW50cnkoaWRlbnRpZmllcik7CiB9CiAKLWVudW0gQ2hhcmFj
dGVyVHlwZSB7CitlbnVtIENoYXJhY3RlclR5cGUgOiB1aW50OF90IHsKICAgICAvLyBUeXBlcyBm
b3IgdGhlIG1haW4gc3dpdGNoCiAKICAgICAvLyBUaGUgZmlyc3QgdGhyZWUgdHlwZXMgYXJlIGZp
eGVkLCBhbmQgYWxzbyB1c2VkIGZvciBpZGVudGlmeWluZwpAQCAtOTUsNyArOTUsNyBAQCBlbnVt
IENoYXJhY3RlclR5cGUgewogfTsKIAogLy8gMjU2IExhdGluLTEgY29kZXMKLXN0YXRpYyBjb25z
dGV4cHIgY29uc3QgdW5zaWduZWQgc2hvcnQgdHlwZXNPZkxhdGluMUNoYXJhY3RlcnNbMjU2XSA9
IHsKK3N0YXRpYyBjb25zdGV4cHIgY29uc3QgQ2hhcmFjdGVyVHlwZSB0eXBlc09mTGF0aW4xQ2hh
cmFjdGVyc1syNTZdID0gewogLyogICAwIC0gTnVsbCAgICAgICAgICAgICAgICovIENoYXJhY3Rl
ckludmFsaWQsCiAvKiAgIDEgLSBTdGFydCBvZiBIZWFkaW5nICAgKi8gQ2hhcmFjdGVySW52YWxp
ZCwKIC8qICAgMiAtIFN0YXJ0IG9mIFRleHQgICAgICAqLyBDaGFyYWN0ZXJJbnZhbGlkLApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGl0ZXJhbFBhcnNlci5jcHAg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MaXRlcmFsUGFyc2VyLmNwcAppbmRleCBl
MTRkNzliOWI3NmFhZmQ2YjhhODJiYWUwOTRhZTBkMTQ0YTA2MDg5Li5iNzQ5MzgzZTQwNTZhNzk2
NWM5MGNjNmNlMzFiNWU0MmYyYTRiMjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9MaXRlcmFsUGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9MaXRlcmFsUGFyc2VyLmNwcApAQCAtMTczLDcgKzE3Myw3IEBAIEFMV0FZU19JTkxJ
TkUgY29uc3QgSWRlbnRpZmllciBMaXRlcmFsUGFyc2VyPENoYXJUeXBlPjo6bWFrZUlkZW50aWZp
ZXIoY29uc3QgVUNoCiB9CiAKIC8vIDI1NiBMYXRpbi0xIGNvZGVzCi1zdGF0aWMgY29uc3RleHBy
IGNvbnN0IFRva2VuVHlwZSBUb2tlblR5cGVzT2ZMYXRpbjFDaGFyYWN0ZXJzWzI1Nl0gPSB7Citz
dGF0aWMgY29uc3RleHByIGNvbnN0IFRva2VuVHlwZSB0b2tlblR5cGVzT2ZMYXRpbjFDaGFyYWN0
ZXJzWzI1Nl0gPSB7CiAvKiAgIDAgLSBOdWxsICAgICAgICAgICAgICAgKi8gVG9rRXJyb3IsCiAv
KiAgIDEgLSBTdGFydCBvZiBIZWFkaW5nICAgKi8gVG9rRXJyb3IsCiAvKiAgIDIgLSBTdGFydCBv
ZiBUZXh0ICAgICAgKi8gVG9rRXJyb3IsCkBAIC00MzIsNiArNDMyLDI2NiBAQCBzdGF0aWMgY29u
c3RleHByIGNvbnN0IFRva2VuVHlwZSBUb2tlblR5cGVzT2ZMYXRpbjFDaGFyYWN0ZXJzWzI1Nl0g
PSB7CiAvKiAyNTUgLSBMbCBjYXRlZ29yeSAgICAgICAgKi8gVG9rRXJyb3IKIH07CiAKKy8vIDI1
NiBMYXRpbi0xIGNvZGVzCitzdGF0aWMgY29uc3RleHByIGNvbnN0IGJvb2wgc2FmZVN0cmluZ0xh
dGluMUNoYXJhY3RlcnNJblN0cmljdEpTT05bMjU2XSA9IHsKKy8qICAgMCAtIE51bGwgICAgICAg
ICAgICAgICAqLyBmYWxzZSwKKy8qICAgMSAtIFN0YXJ0IG9mIEhlYWRpbmcgICAqLyBmYWxzZSwK
Ky8qICAgMiAtIFN0YXJ0IG9mIFRleHQgICAgICAqLyBmYWxzZSwKKy8qICAgMyAtIEVuZCBvZiBU
ZXh0ICAgICAgICAqLyBmYWxzZSwKKy8qICAgNCAtIEVuZCBvZiBUcmFuc20uICAgICAqLyBmYWxz
ZSwKKy8qICAgNSAtIEVucXVpcnkgICAgICAgICAgICAqLyBmYWxzZSwKKy8qICAgNiAtIEFja25v
d2xlZGdtZW50ICAgICAqLyBmYWxzZSwKKy8qICAgNyAtIEJlbGwgICAgICAgICAgICAgICAqLyBm
YWxzZSwKKy8qICAgOCAtIEJhY2sgU3BhY2UgICAgICAgICAqLyBmYWxzZSwKKy8qICAgOSAtIEhv
cml6b250YWwgVGFiICAgICAqLyBmYWxzZSwKKy8qICAxMCAtIExpbmUgRmVlZCAgICAgICAgICAq
LyBmYWxzZSwKKy8qICAxMSAtIFZlcnRpY2FsIFRhYiAgICAgICAqLyBmYWxzZSwKKy8qICAxMiAt
IEZvcm0gRmVlZCAgICAgICAgICAqLyBmYWxzZSwKKy8qICAxMyAtIENhcnJpYWdlIFJldHVybiAg
ICAqLyBmYWxzZSwKKy8qICAxNCAtIFNoaWZ0IE91dCAgICAgICAgICAqLyBmYWxzZSwKKy8qICAx
NSAtIFNoaWZ0IEluICAgICAgICAgICAqLyBmYWxzZSwKKy8qICAxNiAtIERhdGEgTGluZSBFc2Nh
cGUgICAqLyBmYWxzZSwKKy8qICAxNyAtIERldmljZSBDb250cm9sIDEgICAqLyBmYWxzZSwKKy8q
ICAxOCAtIERldmljZSBDb250cm9sIDIgICAqLyBmYWxzZSwKKy8qICAxOSAtIERldmljZSBDb250
cm9sIDMgICAqLyBmYWxzZSwKKy8qICAyMCAtIERldmljZSBDb250cm9sIDQgICAqLyBmYWxzZSwK
Ky8qICAyMSAtIE5lZ2F0aXZlIEFjay4gICAgICAqLyBmYWxzZSwKKy8qICAyMiAtIFN5bmNocm9u
b3VzIElkbGUgICAqLyBmYWxzZSwKKy8qICAyMyAtIEVuZCBvZiBUcmFuc21pdCAgICAqLyBmYWxz
ZSwKKy8qICAyNCAtIENhbmNlbCAgICAgICAgICAgICAqLyBmYWxzZSwKKy8qICAyNSAtIEVuZCBv
ZiBNZWRpdW0gICAgICAqLyBmYWxzZSwKKy8qICAyNiAtIFN1YnN0aXR1dGUgICAgICAgICAqLyBm
YWxzZSwKKy8qICAyNyAtIEVzY2FwZSAgICAgICAgICAgICAqLyBmYWxzZSwKKy8qICAyOCAtIEZp
bGUgU2VwYXJhdG9yICAgICAqLyBmYWxzZSwKKy8qICAyOSAtIEdyb3VwIFNlcGFyYXRvciAgICAq
LyBmYWxzZSwKKy8qICAzMCAtIFJlY29yZCBTZXBhcmF0b3IgICAqLyBmYWxzZSwKKy8qICAzMSAt
IFVuaXQgU2VwYXJhdG9yICAgICAqLyBmYWxzZSwKKy8qICAzMiAtIFNwYWNlICAgICAgICAgICAg
ICAqLyB0cnVlLAorLyogIDMzIC0gISAgICAgICAgICAgICAgICAgICovIHRydWUsCisvKiAgMzQg
LSAiICAgICAgICAgICAgICAgICAgKi8gZmFsc2UsCisvKiAgMzUgLSAjICAgICAgICAgICAgICAg
ICAgKi8gdHJ1ZSwKKy8qICAzNiAtICQgICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogIDM3
IC0gJSAgICAgICAgICAgICAgICAgICovIHRydWUsCisvKiAgMzggLSAmICAgICAgICAgICAgICAg
ICAgKi8gdHJ1ZSwKKy8qICAzOSAtICcgICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogIDQw
IC0gKCAgICAgICAgICAgICAgICAgICovIHRydWUsCisvKiAgNDEgLSApICAgICAgICAgICAgICAg
ICAgKi8gdHJ1ZSwKKy8qICA0MiAtICogICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogIDQz
IC0gKyAgICAgICAgICAgICAgICAgICovIHRydWUsCisvKiAgNDQgLSAsICAgICAgICAgICAgICAg
ICAgKi8gdHJ1ZSwKKy8qICA0NSAtIC0gICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogIDQ2
IC0gLiAgICAgICAgICAgICAgICAgICovIHRydWUsCisvKiAgNDcgLSAvICAgICAgICAgICAgICAg
ICAgKi8gdHJ1ZSwKKy8qICA0OCAtIDAgICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogIDQ5
IC0gMSAgICAgICAgICAgICAgICAgICovIHRydWUsCisvKiAgNTAgLSAyICAgICAgICAgICAgICAg
ICAgKi8gdHJ1ZSwKKy8qICA1MSAtIDMgICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogIDUy
IC0gNCAgICAgICAgICAgICAgICAgICovIHRydWUsCisvKiAgNTMgLSA1ICAgICAgICAgICAgICAg
ICAgKi8gdHJ1ZSwKKy8qICA1NCAtIDYgICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogIDU1
IC0gNyAgICAgICAgICAgICAgICAgICovIHRydWUsCisvKiAgNTYgLSA4ICAgICAgICAgICAgICAg
ICAgKi8gdHJ1ZSwKKy8qICA1NyAtIDkgICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogIDU4
IC0gOiAgICAgICAgICAgICAgICAgICovIHRydWUsCisvKiAgNTkgLSA7ICAgICAgICAgICAgICAg
ICAgKi8gdHJ1ZSwKKy8qICA2MCAtIDwgICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogIDYx
IC0gPSAgICAgICAgICAgICAgICAgICovIHRydWUsCisvKiAgNjIgLSA+ICAgICAgICAgICAgICAg
ICAgKi8gdHJ1ZSwKKy8qICA2MyAtID8gICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogIDY0
IC0gQCAgICAgICAgICAgICAgICAgICovIHRydWUsCisvKiAgNjUgLSBBICAgICAgICAgICAgICAg
ICAgKi8gdHJ1ZSwKKy8qICA2NiAtIEIgICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogIDY3
IC0gQyAgICAgICAgICAgICAgICAgICovIHRydWUsCisvKiAgNjggLSBEICAgICAgICAgICAgICAg
ICAgKi8gdHJ1ZSwKKy8qICA2OSAtIEUgICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogIDcw
IC0gRiAgICAgICAgICAgICAgICAgICovIHRydWUsCisvKiAgNzEgLSBHICAgICAgICAgICAgICAg
ICAgKi8gdHJ1ZSwKKy8qICA3MiAtIEggICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogIDcz
IC0gSSAgICAgICAgICAgICAgICAgICovIHRydWUsCisvKiAgNzQgLSBKICAgICAgICAgICAgICAg
ICAgKi8gdHJ1ZSwKKy8qICA3NSAtIEsgICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogIDc2
IC0gTCAgICAgICAgICAgICAgICAgICovIHRydWUsCisvKiAgNzcgLSBNICAgICAgICAgICAgICAg
ICAgKi8gdHJ1ZSwKKy8qICA3OCAtIE4gICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogIDc5
IC0gTyAgICAgICAgICAgICAgICAgICovIHRydWUsCisvKiAgODAgLSBQICAgICAgICAgICAgICAg
ICAgKi8gdHJ1ZSwKKy8qICA4MSAtIFEgICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogIDgy
IC0gUiAgICAgICAgICAgICAgICAgICovIHRydWUsCisvKiAgODMgLSBTICAgICAgICAgICAgICAg
ICAgKi8gdHJ1ZSwKKy8qICA4NCAtIFQgICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogIDg1
IC0gVSAgICAgICAgICAgICAgICAgICovIHRydWUsCisvKiAgODYgLSBWICAgICAgICAgICAgICAg
ICAgKi8gdHJ1ZSwKKy8qICA4NyAtIFcgICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogIDg4
IC0gWCAgICAgICAgICAgICAgICAgICovIHRydWUsCisvKiAgODkgLSBZICAgICAgICAgICAgICAg
ICAgKi8gdHJ1ZSwKKy8qICA5MCAtIFogICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogIDkx
IC0gWyAgICAgICAgICAgICAgICAgICovIHRydWUsCisvKiAgOTIgLSBcICAgICAgICAgICAgICAg
ICAgKi8gZmFsc2UsCisvKiAgOTMgLSBdICAgICAgICAgICAgICAgICAgKi8gdHJ1ZSwKKy8qICA5
NCAtIF4gICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogIDk1IC0gXyAgICAgICAgICAgICAg
ICAgICovIHRydWUsCisvKiAgOTYgLSBgICAgICAgICAgICAgICAgICAgKi8gdHJ1ZSwKKy8qICA5
NyAtIGEgICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogIDk4IC0gYiAgICAgICAgICAgICAg
ICAgICovIHRydWUsCisvKiAgOTkgLSBjICAgICAgICAgICAgICAgICAgKi8gdHJ1ZSwKKy8qIDEw
MCAtIGQgICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogMTAxIC0gZSAgICAgICAgICAgICAg
ICAgICovIHRydWUsCisvKiAxMDIgLSBmICAgICAgICAgICAgICAgICAgKi8gdHJ1ZSwKKy8qIDEw
MyAtIGcgICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogMTA0IC0gaCAgICAgICAgICAgICAg
ICAgICovIHRydWUsCisvKiAxMDUgLSBpICAgICAgICAgICAgICAgICAgKi8gdHJ1ZSwKKy8qIDEw
NiAtIGogICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogMTA3IC0gayAgICAgICAgICAgICAg
ICAgICovIHRydWUsCisvKiAxMDggLSBsICAgICAgICAgICAgICAgICAgKi8gdHJ1ZSwKKy8qIDEw
OSAtIG0gICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogMTEwIC0gbiAgICAgICAgICAgICAg
ICAgICovIHRydWUsCisvKiAxMTEgLSBvICAgICAgICAgICAgICAgICAgKi8gdHJ1ZSwKKy8qIDEx
MiAtIHAgICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogMTEzIC0gcSAgICAgICAgICAgICAg
ICAgICovIHRydWUsCisvKiAxMTQgLSByICAgICAgICAgICAgICAgICAgKi8gdHJ1ZSwKKy8qIDEx
NSAtIHMgICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogMTE2IC0gdCAgICAgICAgICAgICAg
ICAgICovIHRydWUsCisvKiAxMTcgLSB1ICAgICAgICAgICAgICAgICAgKi8gdHJ1ZSwKKy8qIDEx
OCAtIHYgICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogMTE5IC0gdyAgICAgICAgICAgICAg
ICAgICovIHRydWUsCisvKiAxMjAgLSB4ICAgICAgICAgICAgICAgICAgKi8gdHJ1ZSwKKy8qIDEy
MSAtIHkgICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogMTIyIC0geiAgICAgICAgICAgICAg
ICAgICovIHRydWUsCisvKiAxMjMgLSB7ICAgICAgICAgICAgICAgICAgKi8gdHJ1ZSwKKy8qIDEy
NCAtIHwgICAgICAgICAgICAgICAgICAqLyB0cnVlLAorLyogMTI1IC0gfSAgICAgICAgICAgICAg
ICAgICovIHRydWUsCisvKiAxMjYgLSB+ICAgICAgICAgICAgICAgICAgKi8gdHJ1ZSwKKy8qIDEy
NyAtIERlbGV0ZSAgICAgICAgICAgICAqLyB0cnVlLAorLyogMTI4IC0gQ2MgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAxMjkgLSBDYyBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDEz
MCAtIENjIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMTMxIC0gQ2MgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAxMzIgLSBDYyBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDEz
MyAtIENjIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMTM0IC0gQ2MgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAxMzUgLSBDYyBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDEz
NiAtIENjIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMTM3IC0gQ2MgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAxMzggLSBDYyBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDEz
OSAtIENjIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMTQwIC0gQ2MgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAxNDEgLSBDYyBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDE0
MiAtIENjIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMTQzIC0gQ2MgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAxNDQgLSBDYyBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDE0
NSAtIENjIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMTQ2IC0gQ2MgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAxNDcgLSBDYyBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDE0
OCAtIENjIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMTQ5IC0gQ2MgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAxNTAgLSBDYyBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDE1
MSAtIENjIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMTUyIC0gQ2MgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAxNTMgLSBDYyBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDE1
NCAtIENjIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMTU1IC0gQ2MgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAxNTYgLSBDYyBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDE1
NyAtIENjIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMTU4IC0gQ2MgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAxNTkgLSBDYyBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDE2
MCAtIFpzIGNhdGVnb3J5IChuYnNwKSAqLyB0cnVlLAorLyogMTYxIC0gUG8gY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAxNjIgLSBTYyBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDE2
MyAtIFNjIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMTY0IC0gU2MgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAxNjUgLSBTYyBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDE2
NiAtIFNvIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMTY3IC0gU28gY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAxNjggLSBTayBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDE2
OSAtIFNvIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMTcwIC0gTGwgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAxNzEgLSBQaSBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDE3
MiAtIFNtIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMTczIC0gQ2YgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAxNzQgLSBTbyBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDE3
NSAtIFNrIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMTc2IC0gU28gY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAxNzcgLSBTbSBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDE3
OCAtIE5vIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMTc5IC0gTm8gY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAxODAgLSBTayBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDE4
MSAtIExsIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMTgyIC0gU28gY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAxODMgLSBQbyBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDE4
NCAtIFNrIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMTg1IC0gTm8gY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAxODYgLSBMbCBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDE4
NyAtIFBmIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMTg4IC0gTm8gY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAxODkgLSBObyBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDE5
MCAtIE5vIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMTkxIC0gUG8gY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAxOTIgLSBMdSBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDE5
MyAtIEx1IGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMTk0IC0gTHUgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAxOTUgLSBMdSBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDE5
NiAtIEx1IGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMTk3IC0gTHUgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAxOTggLSBMdSBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDE5
OSAtIEx1IGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMjAwIC0gTHUgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAyMDEgLSBMdSBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDIw
MiAtIEx1IGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMjAzIC0gTHUgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAyMDQgLSBMdSBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDIw
NSAtIEx1IGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMjA2IC0gTHUgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAyMDcgLSBMdSBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDIw
OCAtIEx1IGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMjA5IC0gTHUgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAyMTAgLSBMdSBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDIx
MSAtIEx1IGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMjEyIC0gTHUgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAyMTMgLSBMdSBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDIx
NCAtIEx1IGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMjE1IC0gU20gY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAyMTYgLSBMdSBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDIx
NyAtIEx1IGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMjE4IC0gTHUgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAyMTkgLSBMdSBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDIy
MCAtIEx1IGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMjIxIC0gTHUgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAyMjIgLSBMdSBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDIy
MyAtIExsIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMjI0IC0gTGwgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAyMjUgLSBMbCBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDIy
NiAtIExsIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMjI3IC0gTGwgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAyMjggLSBMbCBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDIy
OSAtIExsIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMjMwIC0gTGwgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAyMzEgLSBMbCBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDIz
MiAtIExsIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMjMzIC0gTGwgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAyMzQgLSBMbCBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDIz
NSAtIExsIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMjM2IC0gTGwgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAyMzcgLSBMbCBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDIz
OCAtIExsIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMjM5IC0gTGwgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAyNDAgLSBMbCBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDI0
MSAtIExsIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMjQyIC0gTGwgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAyNDMgLSBMbCBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDI0
NCAtIExsIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMjQ1IC0gTGwgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAyNDYgLSBMbCBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDI0
NyAtIFNtIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMjQ4IC0gTGwgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAyNDkgLSBMbCBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDI1
MCAtIExsIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMjUxIC0gTGwgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAyNTIgLSBMbCBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKKy8qIDI1
MyAtIExsIGNhdGVnb3J5ICAgICAgICAqLyB0cnVlLAorLyogMjU0IC0gTGwgY2F0ZWdvcnkgICAg
ICAgICovIHRydWUsCisvKiAyNTUgLSBMbCBjYXRlZ29yeSAgICAgICAgKi8gdHJ1ZSwKK307CisK
IHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyVHlwZT4KIEFMV0FZU19JTkxJTkUgVG9rZW5UeXBlIExp
dGVyYWxQYXJzZXI8Q2hhclR5cGU+OjpMZXhlcjo6bGV4KExpdGVyYWxQYXJzZXJUb2tlbjxDaGFy
VHlwZT4mIHRva2VuKQogewpAQCAtNDUzLDEwICs3MTMsMTAgQEAgQUxXQVlTX0lOTElORSBUb2tl
blR5cGUgTGl0ZXJhbFBhcnNlcjxDaGFyVHlwZT46OkxleGVyOjpsZXgoTGl0ZXJhbFBhcnNlclRv
a2VuPEMKICAgICB0b2tlbi5zdGFydCA9IG1fcHRyOwogICAgIENoYXJUeXBlIGNoYXJhY3RlciA9
ICptX3B0cjsKICAgICBpZiAoTElLRUxZKGlzTGF0aW4xKGNoYXJhY3RlcikpKSB7Ci0gICAgICAg
IFRva2VuVHlwZSB0b2tlblR5cGUgPSBUb2tlblR5cGVzT2ZMYXRpbjFDaGFyYWN0ZXJzW2NoYXJh
Y3Rlcl07CisgICAgICAgIFRva2VuVHlwZSB0b2tlblR5cGUgPSB0b2tlblR5cGVzT2ZMYXRpbjFD
aGFyYWN0ZXJzW2NoYXJhY3Rlcl07CiAgICAgICAgIHN3aXRjaCAodG9rZW5UeXBlKSB7CiAgICAg
ICAgIGNhc2UgVG9rU3RyaW5nOgotICAgICAgICAgICAgaWYgKGNoYXJhY3RlciA9PSAnXCcnICYm
IG1fbW9kZSA9PSBTdHJpY3RKU09OKSB7CisgICAgICAgICAgICBpZiAoVU5MSUtFTFkoY2hhcmFj
dGVyID09ICdcJycgJiYgbV9tb2RlID09IFN0cmljdEpTT04pKSB7CiAgICAgICAgICAgICAgICAg
bV9sZXhFcnJvck1lc3NhZ2UgPSAiU2luZ2xlIHF1b3RlcyAoXCcpIGFyZSBub3QgYWxsb3dlZCBp
biBKU09OIl9zOwogICAgICAgICAgICAgICAgIHJldHVybiBUb2tFcnJvcjsKICAgICAgICAgICAg
IH0KQEAgLTU3MiwxMyArODMyLDIxIEBAIGVudW0gY2xhc3MgU2FmZVN0cmluZ0NoYXJhY3RlclNl
dCB7IFN0cmljdCwgTm9uU3RyaWN0IH07CiB0ZW1wbGF0ZSA8U2FmZVN0cmluZ0NoYXJhY3RlclNl
dCBzZXQ+CiBzdGF0aWMgQUxXQVlTX0lOTElORSBib29sIGlzU2FmZVN0cmluZ0NoYXJhY3RlcihM
Q2hhciBjLCBMQ2hhciB0ZXJtaW5hdG9yKQogewotICAgIHJldHVybiAoYyA+PSAnICcgJiYgYyAh
PSAnXFwnICYmIGMgIT0gdGVybWluYXRvcikgfHwgKGMgPT0gJ1x0JyAmJiBzZXQgIT0gU2FmZVN0
cmluZ0NoYXJhY3RlclNldDo6U3RyaWN0KTsKKyAgICBpZiBjb25zdGV4cHIgKHNldCA9PSBTYWZl
U3RyaW5nQ2hhcmFjdGVyU2V0OjpTdHJpY3QpCisgICAgICAgIHJldHVybiBzYWZlU3RyaW5nTGF0
aW4xQ2hhcmFjdGVyc0luU3RyaWN0SlNPTltjXTsKKyAgICBlbHNlCisgICAgICAgIHJldHVybiAo
YyA+PSAnICcgJiYgYyAhPSAnXFwnICYmIGMgIT0gdGVybWluYXRvcikgfHwgKGMgPT0gJ1x0Jyk7
CiB9CiAKIHRlbXBsYXRlIDxTYWZlU3RyaW5nQ2hhcmFjdGVyU2V0IHNldD4KIHN0YXRpYyBBTFdB
WVNfSU5MSU5FIGJvb2wgaXNTYWZlU3RyaW5nQ2hhcmFjdGVyKFVDaGFyIGMsIFVDaGFyIHRlcm1p
bmF0b3IpCiB7Ci0gICAgcmV0dXJuIChjID49ICcgJyAmJiAoc2V0ID09IFNhZmVTdHJpbmdDaGFy
YWN0ZXJTZXQ6OlN0cmljdCB8fCBpc0xhdGluMShjKSkgJiYgYyAhPSAnXFwnICYmIGMgIT0gdGVy
bWluYXRvcikgfHwgKGMgPT0gJ1x0JyAmJiBzZXQgIT0gU2FmZVN0cmluZ0NoYXJhY3RlclNldDo6
U3RyaWN0KTsKKyAgICBpZiBjb25zdGV4cHIgKHNldCA9PSBTYWZlU3RyaW5nQ2hhcmFjdGVyU2V0
OjpTdHJpY3QpIHsKKyAgICAgICAgaWYgKCFpc0xhdGluMShjKSkKKyAgICAgICAgICAgIHJldHVy
biB0cnVlOworICAgICAgICByZXR1cm4gaXNTYWZlU3RyaW5nQ2hhcmFjdGVyPHNldD4oc3RhdGlj
X2Nhc3Q8TENoYXI+KGMpLCBzdGF0aWNfY2FzdDxMQ2hhcj4odGVybWluYXRvcikpOworICAgIH0g
ZWxzZQorICAgICAgICByZXR1cm4gKGMgPj0gJyAnICYmIGlzTGF0aW4xKGMpICYmIGMgIT0gJ1xc
JyAmJiBjICE9IHRlcm1pbmF0b3IpIHx8IChjID09ICdcdCcpOwogfQogCiB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgQ2hhclR5cGU+CkBAIC01ODgsNyArODU2LDggQEAgQUxXQVlTX0lOTElORSBUb2tlblR5
cGUgTGl0ZXJhbFBhcnNlcjxDaGFyVHlwZT46OkxleGVyOjpsZXhTdHJpbmcoTGl0ZXJhbFBhcnNl
clQKICAgICBjb25zdCBDaGFyVHlwZSogcnVuU3RhcnQgPSBtX3B0cjsKIAogICAgIGlmIChtX21v
ZGUgPT0gU3RyaWN0SlNPTikgewotICAgICAgICB3aGlsZSAobV9wdHIgPCBtX2VuZCAmJiBpc1Nh
ZmVTdHJpbmdDaGFyYWN0ZXI8U2FmZVN0cmluZ0NoYXJhY3RlclNldDo6U3RyaWN0PigqbV9wdHIs
IHRlcm1pbmF0b3IpKQorICAgICAgICBBU1NFUlQodGVybWluYXRvciA9PSAnIicpOworICAgICAg
ICB3aGlsZSAobV9wdHIgPCBtX2VuZCAmJiBpc1NhZmVTdHJpbmdDaGFyYWN0ZXI8U2FmZVN0cmlu
Z0NoYXJhY3RlclNldDo6U3RyaWN0PigqbV9wdHIsICciJykpCiAgICAgICAgICAgICArK21fcHRy
OwogICAgIH0gZWxzZSB7CiAgICAgICAgIHdoaWxlIChtX3B0ciA8IG1fZW5kICYmIGlzU2FmZVN0
cmluZ0NoYXJhY3RlcjxTYWZlU3RyaW5nQ2hhcmFjdGVyU2V0OjpOb25TdHJpY3Q+KCptX3B0ciwg
dGVybWluYXRvcikpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9M
aXRlcmFsUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9MaXRlcmFsUGFy
c2VyLmgKaW5kZXggNjcwYzlhZWZkYTQ4ODhkMjdkMWJlNDFkYWUxYmI5ZTExMzdmMTgzMS4uNjdi
YTA3ODkxYmNlZjlmYjE4ZmJlNTdlMzEzMzVjMjMxMzZkMzUzZiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTGl0ZXJhbFBhcnNlci5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0xpdGVyYWxQYXJzZXIuaApAQCAtMzMsMjggKzMzLDMxIEBACiAK
IG5hbWVzcGFjZSBKU0MgewogCi10eXBlZGVmIGVudW0geyBTdHJpY3RKU09OLCBOb25TdHJpY3RK
U09OLCBKU09OUCB9IFBhcnNlck1vZGU7CitlbnVtIFBhcnNlck1vZGUgOiB1aW50OF90IHsgU3Ry
aWN0SlNPTiwgTm9uU3RyaWN0SlNPTiwgSlNPTlAgfTsKIAotZW51bSBKU09OUFBhdGhFbnRyeVR5
cGUgeworZW51bSBKU09OUFBhdGhFbnRyeVR5cGUgOiB1aW50OF90IHsKICAgICBKU09OUFBhdGhF
bnRyeVR5cGVEZWNsYXJlVmFyLCAvLyB2YXIgcGF0aEVudHJ5TmFtZSA9IEpTT04KICAgICBKU09O
UFBhdGhFbnRyeVR5cGVEb3QsIC8vIDxwcmlvciBlbnRyaWVzPi5wYXRoRW50cnlOYW1lID0gSlNP
TgogICAgIEpTT05QUGF0aEVudHJ5VHlwZUxvb2t1cCwgLy8gPHByaW9yIGVudHJpZXM+W3BhdGhJ
bmRleF0gPSBKU09OCiAgICAgSlNPTlBQYXRoRW50cnlUeXBlQ2FsbCAvLyA8cHJpb3IgZW50cmll
cz4oSlNPTikKIH07CiAKLWVudW0gUGFyc2VyU3RhdGUgeyBTdGFydFBhcnNlT2JqZWN0LCBTdGFy
dFBhcnNlQXJyYXksIFN0YXJ0UGFyc2VFeHByZXNzaW9uLCAKLSAgICAgICAgICAgICAgICAgICBT
dGFydFBhcnNlU3RhdGVtZW50LCBTdGFydFBhcnNlU3RhdGVtZW50RW5kU3RhdGVtZW50LCAKLSAg
ICAgICAgICAgICAgICAgICBEb1BhcnNlT2JqZWN0U3RhcnRFeHByZXNzaW9uLCBEb1BhcnNlT2Jq
ZWN0RW5kRXhwcmVzc2lvbiwKLSAgICAgICAgICAgICAgICAgICBEb1BhcnNlQXJyYXlTdGFydEV4
cHJlc3Npb24sIERvUGFyc2VBcnJheUVuZEV4cHJlc3Npb24gfTsKLWVudW0gVG9rZW5UeXBlIHsg
VG9rTEJyYWNrZXQsIFRva1JCcmFja2V0LCBUb2tMQnJhY2UsIFRva1JCcmFjZSwgCi0gICAgICAg
ICAgICAgICAgIFRva1N0cmluZywgVG9rSWRlbnRpZmllciwgVG9rTnVtYmVyLCBUb2tDb2xvbiwg
Ci0gICAgICAgICAgICAgICAgIFRva0xQYXJlbiwgVG9rUlBhcmVuLCBUb2tDb21tYSwgVG9rVHJ1
ZSwgVG9rRmFsc2UsCi0gICAgICAgICAgICAgICAgIFRva051bGwsIFRva0VuZCwgVG9rRG90LCBU
b2tBc3NpZ24sIFRva1NlbWksIFRva0Vycm9yIH07Ci0gICAgCitlbnVtIFBhcnNlclN0YXRlIDog
dWludDhfdCB7CisgICAgU3RhcnRQYXJzZU9iamVjdCwgU3RhcnRQYXJzZUFycmF5LCBTdGFydFBh
cnNlRXhwcmVzc2lvbiwKKyAgICBTdGFydFBhcnNlU3RhdGVtZW50LCBTdGFydFBhcnNlU3RhdGVt
ZW50RW5kU3RhdGVtZW50LAorICAgIERvUGFyc2VPYmplY3RTdGFydEV4cHJlc3Npb24sIERvUGFy
c2VPYmplY3RFbmRFeHByZXNzaW9uLAorICAgIERvUGFyc2VBcnJheVN0YXJ0RXhwcmVzc2lvbiwg
RG9QYXJzZUFycmF5RW5kRXhwcmVzc2lvbiB9OworCitlbnVtIFRva2VuVHlwZSA6IHVpbnQ4X3Qg
eworICAgIFRva0xCcmFja2V0LCBUb2tSQnJhY2tldCwgVG9rTEJyYWNlLCBUb2tSQnJhY2UsCisg
ICAgVG9rU3RyaW5nLCBUb2tJZGVudGlmaWVyLCBUb2tOdW1iZXIsIFRva0NvbG9uLAorICAgIFRv
a0xQYXJlbiwgVG9rUlBhcmVuLCBUb2tDb21tYSwgVG9rVHJ1ZSwgVG9rRmFsc2UsCisgICAgVG9r
TnVsbCwgVG9rRW5kLCBUb2tEb3QsIFRva0Fzc2lnbiwgVG9rU2VtaSwgVG9rRXJyb3IgfTsKKwog
c3RydWN0IEpTT05QUGF0aEVudHJ5IHsKLSAgICBKU09OUFBhdGhFbnRyeVR5cGUgbV90eXBlOwog
ICAgIElkZW50aWZpZXIgbV9wYXRoRW50cnlOYW1lOwogICAgIGludCBtX3BhdGhJbmRleDsKKyAg
ICBKU09OUFBhdGhFbnRyeVR5cGUgbV90eXBlOwogfTsKIAogc3RydWN0IEpTT05QRGF0YSB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>