<?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>136603</bug_id>
          
          <creation_ts>2014-09-06 14:38:21 -0700</creation_ts>
          <short_desc>Make updates suggested by new version of Xcode</short_desc>
          <delta_ts>2014-09-07 18:04:43 -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>528+ (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="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>ap</cc>
    
    <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mitz</cc>
    
    <cc>mjs</cc>
    
    <cc>mrowe</cc>
    
    <cc>philipj</cc>
    
    <cc>roger_fong</cc>
    
    <cc>sergio</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1033686</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-09-06 14:38:21 -0700</bug_when>
    <thetext>Make updates suggested by new version of Xcode</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033687</commentid>
    <comment_count>1</comment_count>
      <attachid>237744</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-09-06 15:01:11 -0700</bug_when>
    <thetext>Created attachment 237744
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033688</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-06 15:02:11 -0700</bug_when>
    <thetext>Note that there are important steps to take when updating ANGLE. See http://trac.webkit.org/wiki/UpdatingANGLE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033693</commentid>
    <comment_count>3</comment_count>
      <attachid>237744</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2014-09-06 15:25:18 -0700</bug_when>
    <thetext>Comment on attachment 237744
Patch

I&apos;m not sure whether setting COMBINE_HIDPI_IMAGES = YES is compatible with our production builds. Can we leave that set to NO for projects that it wasn&apos;t already set in until we&apos;re able to determine for sure?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033695</commentid>
    <comment_count>4</comment_count>
      <attachid>237746</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-09-06 15:47:29 -0700</bug_when>
    <thetext>Created attachment 237746
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033696</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-09-06 15:53:26 -0700</bug_when>
    <thetext>Committed r173364: &lt;http://trac.webkit.org/changeset/173364&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033715</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-09-06 23:02:54 -0700</bug_when>
    <thetext>EWS didn&apos;t approve of this patch, and it did break the build:

/Volumes/Data/EWS/WebKit/Source/WebKit/mac/Misc/WebNSDataExtras.m:120:21: error: comparison of integers of different signs: &apos;typeof (length)&apos; (aka &apos;unsigned long&apos;) and &apos;typeof (1024)&apos; (aka &apos;int&apos;) [-Werror,-Wsign-compare]
    int remaining = MIN(length, WEB_GUESS_MIME_TYPE_PEEK_LENGTH) - (CHANNEL_TAG_LENGTH - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Looks like a fix would not be mechanical.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033718</commentid>
    <comment_count>7</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-09-07 00:15:09 -0700</bug_when>
    <thetext>CLANG_WARN_UNREACHABLE_CODE is causing issues in Release builds in JSC.

/Users/Timothy/Work/Safari-TOT.git/OpenSource/Source/JavaScriptCore/bytecode/CodeBlock.cpp:282:14: error: code will never be executed [-Werror,-Wunreachable-code]
/Users/Timothy/Work/Safari-TOT.git/OpenSource/Source/JavaScriptCore/dfg/DFGOSRExitCompilerCommon.cpp:126:24: error: code will never be executed [-Werror,-Wunreachable-code]
/Users/Timothy/Work/Safari-TOT.git/OpenSource/Source/JavaScriptCore/dfg/DFGPlan.cpp:184:24: error: code will never be executed [-Werror,-Wunreachable-code]
/Users/Timothy/Work/Safari-TOT.git/OpenSource/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:383:26: error: code will never be executed [-Werror,-Wunreachable-code]
/Users/Timothy/Work/Safari-TOT.git/OpenSource/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:370:26: error: code will never be executed [-Werror,-Wunreachable-code]
/Users/Timothy/Work/Safari-TOT.git/OpenSource/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:334:22: error: code will never be executed [-Werror,-Wunreachable-code]
/Users/Timothy/Work/Safari-TOT.git/OpenSource/Source/JavaScriptCore/runtime/RegExp.cpp:276:19: error: code will never be executed [-Werror,-Wunreachable-code]
/Users/Timothy/Work/Safari-TOT.git/OpenSource/Source/JavaScriptCore/runtime/RegExp.cpp:399:19: error: code will never be executed [-Werror,-Wunreachable-code]

Seems to be mostly about RELEASE_ASSERT_NOT_REACHED().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033734</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-09-07 11:14:24 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Looks like a fix would not be mechanical.

We can just turn that warning off for that project.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033735</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-09-07 11:14:54 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; CLANG_WARN_UNREACHABLE_CODE is causing issues in Release builds in JSC.

Should turn that warning off for that project.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033736</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-09-07 11:17:57 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; EWS didn&apos;t approve of this patch, and it did break the build:

Maybe only on some versions of the compiler. Did not break the build on my system. Despite not seeing the problem locally, I am pretty sure that adding a U after 1024 would fix the bug without turning off any warnings:

#define WEB_GUESS_MIME_TYPE_PEEK_LENGTH 1024U</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033738</commentid>
    <comment_count>11</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-09-07 11:20:29 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #7)
&gt; &gt; CLANG_WARN_UNREACHABLE_CODE is causing issues in Release builds in JSC.
&gt; 
&gt; Should turn that warning off for that project.

There’s also unreachable code in 32-bit builds of WTF and any other project that includes BitVector.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033740</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-09-07 11:27:21 -0700</bug_when>
    <thetext>&gt; adding a U after 1024 would fix the bug without turning off any warnings

That should make MIN compile, but we&apos;d still have an unchecked cast from the result of MIN to a signed int. While I&apos;m not sure whether that would break the build anywhere, it&apos;s clearly wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033741</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-09-07 11:30:32 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; &gt; adding a U after 1024 would fix the bug without turning off any warnings
&gt; 
&gt; That should make MIN compile, but we&apos;d still have an unchecked cast from the result of MIN to a signed int. While I&apos;m not sure whether that would break the build anywhere, it&apos;s clearly wrong.

I don’t know what you mean when you say it’s wrong. It’s not wrong to cast something in the range 0-1024 to an int. I can’t think of any checking that would be needed. Maybe there’s better coding style, but there’s no correctness issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033742</commentid>
    <comment_count>14</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-09-07 11:31:08 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; There’s also unreachable code in 32-bit builds of WTF and any other project that includes BitVector.h.

To me it seems fine to turn it off until we resolve those issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033743</commentid>
    <comment_count>15</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-09-07 11:33:33 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #12)
&gt; &gt; &gt; adding a U after 1024 would fix the bug without turning off any warnings
&gt; &gt; 
&gt; &gt; That should make MIN compile, but we&apos;d still have an unchecked cast from the result of MIN to a signed int. While I&apos;m not sure whether that would break the build anywhere, it&apos;s clearly wrong.
&gt; 
&gt; I don’t know what you mean when you say it’s wrong. It’s not wrong to cast something in the range 0-1024 to an int. I can’t think of any checking that would be needed. Maybe there’s better coding style, but there’s no correctness issue.

Oh, I see, it’s not in the range 0-1024, but I still don’t see a correctness problem. Here’s the code:

    int remaining = MIN(length, WEB_GUESS_MIME_TYPE_PEEK_LENGTH) - (CHANNEL_TAG_LENGTH - 1);

The MIN expression will be of type NSUInteger, CHANNEL_TAG_LENGTH is an int, as is 1, so we’re taking an NSUInteger in the range 0-1024, subtracting an int, and assigning to an int. I believe that is guaranteed to work. As I said, there may be a stylistic issue, but there is not a correctness issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033760</commentid>
    <comment_count>16</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2014-09-07 17:47:47 -0700</bug_when>
    <thetext>I&apos;m fixing the unreachable code cases on my (local, 64-bit) build. It might still be good to remove the warning in the interim.

I&apos;m introducing COMPILER_QUIRK(CONSIDERS_UNREACHABLE_CODE) since it&apos;s non-clang that is arguably wrong (by warning about problems that can happen on unreachable code paths). I will file a separate bug with that change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033763</commentid>
    <comment_count>17</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2014-09-07 17:55:29 -0700</bug_when>
    <thetext>See https://bugs.webkit.org/show_bug.cgi?id=136616</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033768</commentid>
    <comment_count>18</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-09-07 18:04:43 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; I&apos;m fixing the unreachable code cases on my (local, 64-bit) build. It might still be good to remove the warning in the interim.

Great!

&gt; I&apos;m introducing COMPILER_QUIRK(CONSIDERS_UNREACHABLE_CODE) since it&apos;s non-clang that is arguably wrong (by warning about problems that can happen on unreachable code paths). I will file a separate bug with that change.

I like that. I should not have used !COMPILER(CLANG).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237744</attachid>
            <date>2014-09-06 15:01:11 -0700</date>
            <delta_ts>2014-09-06 15:47:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136603-20140906150106.patch</filename>
            <type>text/plain</type>
            <size>49252</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczMzYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
ZWRhMDE2OWE0N2NhMzZmYjRlNTY2ZDQwODIyZTEyZmI1MzI2OTliLi44MWI1ZTNlNzVlNmQzNzIx
YWRmN2JlOTU0NjAzYTU5MGM1YzQyYWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxNC0wOS0wNiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisK
KyAgICAgICAgTWFrZSB1cGRhdGVzIHN1Z2dlc3RlZCBieSBuZXcgdmVyc2lvbiBvZiBYY29kZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2NjAzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9CYXNlLnhjY29uZmlnOiBBZGRlZCBDTEFOR19XQVJOX1VOUkVBQ0hBQkxFX0NPREUs
IENPTUJJTkVfSElEUElfSU1BR0VTLAorICAgICAgICBhbmQgRU5BQkxFX1NUUklDVF9PQkpDX01T
R1NFTkQgYXMgc3VnZ2VzdGVkIGJ5IFhjb2RlIHVwZ3JhZGUgY2hlY2suCisKKyAgICAgICAgKiBK
YXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBVcGRhdGUgTGFzdFVwZ3Jh
ZGVDaGVjay4KKworICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAg
IChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6Omp1bXBTbG93Rm9yVW53YW50ZWRBcnJheU1vZGUp
OiBDb21waWxlIG91dCB1bnJlYWNoYWJsZSBjb2RlCisgICAgICAgIGZvciBjbGFuZywgc2luY2Ug
aXQgdW5kZXJzdGFuZHMgdGhlIGNvZGUgaXMgdW5yZWFjaGFibGUuCisgICAgICAgICogcnVudGlt
ZS9KU0FycmF5LmNwcDoKKyAgICAgICAgKEpTQzo6SlNBcnJheTo6ZmlsbEFyZ0xpc3QpOiBEaXR0
by4KKyAgICAgICAgKEpTQzo6SlNBcnJheTo6Y29weVRvQXJndW1lbnRzKTogRGl0dG8uCisKIDIw
MTQtMDktMDUgIE1hdHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFdl
YiBJbnNwZWN0b3I6IGJyZWFrcG9pbnQgYWN0aW9ucyBzaG91bGQgd29yayByZWdhcmRsZXNzIG9m
IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9B
TkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5kZXgg
OTcxOTQxMGFlNWExZmViOGY1YTBkN2NkMzFjOTQ3MGExMGJhZmIzMi4uMjMyZThiYWNlYWJkZGQ0
NmFhY2E2NTFiNTEzOTg4M2NiZmQ3N2I5NCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2IEBACisyMDE0LTA5LTA2ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNv
bT4KKworICAgICAgICBNYWtlIHVwZGF0ZXMgc3VnZ2VzdGVkIGJ5IG5ldyB2ZXJzaW9uIG9mIFhj
b2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzY2
MDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIEFO
R0xFLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IFVwZGF0ZWQgTGFzdFVwZ3JhZGVDaGVjay4K
KworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0FOR0xFLnhjY29uZmlnOiBBZGRlZCBDTEFOR19X
QVJOX0JPT0xfQ09OVkVSU0lPTiwKKyAgICAgICAgQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04s
IENMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04sIENPTUJJTkVfSElEUElfSU1BR0VTLAorICAgICAg
ICBhbmQgRU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQgYXMgc3VnZ2VzdGVkIGJ5IFhjb2RlIHVw
Z3JhZGUgY2hlY2suCisKIDIwMTQtMDktMDYgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3
ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxNzMzMzUuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9DaGFuZ2VMb2cKaW5kZXggYWM4NzgxMTQ1NDk5MTM0OGMwOGMxZWU4ZDVmNGM1OTUzMDA3MzJj
Zi4uODc2ZmQ4MWY4ZGJhY2JmMjk0NTViM2UyNWQ3OGYzYjU5YTQzOWY4OCAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE0LTA5LTA2ICBEYXJpbiBBZGxlciAgPGRhcmluQGFw
cGxlLmNvbT4KKworICAgICAgICBNYWtlIHVwZGF0ZXMgc3VnZ2VzdGVkIGJ5IG5ldyB2ZXJzaW9u
IG9mIFhjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMzY2MDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGd0ZXN0L3hjb2RlL0NvbmZpZy9HZW5lcmFsLnhjY29uZmlnOiBNb3ZlZCBDTEFOR19XQVJO
X0JPT0xfQ09OVkVSU0lPTiwKKyAgICAgICAgQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04sIENM
QU5HX1dBUk5fSU5UX0NPTlZFUlNJT04sIGFuZCBDT01CSU5FX0hJRFBJX0lNQUdFUworICAgICAg
ICBoZXJlIGZyb20gcHJvamVjdCBmaWxlLiAgQWRkZWQgQ0xBTkdfV0FSTl9VTlJFQUNIQUJMRV9D
T0RFLCBFTkFCTEVfU1RSSUNUX09CSkNfTVNHU0VORCwKKyAgICAgICAgYW5kIEdDQ19XQVJOXzY0
X1RPXzMyX0JJVF9DT05WRVJTSU9OIGFzIHN1Z2dlc3RlZCBieSBYY29kZSB1cGdyYWRlIGNoZWNr
LgorCisgICAgICAgICogZ3Rlc3QveGNvZGUvZ3Rlc3QueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajogVXBkYXRlZCBMYXN0VXBncmFkZUNoZWNrIGFuZCByZW1vdmVkCisgICAgICAgIHRoaW5ncyB0
aGF0IGFyZSByZWR1bmRhbnQgd2l0aCB0aGUgeGNjb25maWcgZmlsZSBhYm92ZS4KKwogMjAxNC0w
OC0yMiAgUmVuYXRvIE5hZ3kgIDxuYWd5LnJlbmF0b0BzdHVkLnUtc3plZ2VkLmh1PgogCiAgICAg
ICAgIFJlbW92ZSBMZXZlbERCLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA5M2M4OWI3N2VjNjQ2MDc4ZDc5NDEyZjhhMTk0Yjk2
NTg2ZmQ5YTI1Li5kMzg0MTAzZWU4NTUxYWMwZTYzY2E1NWQ4NDUzNjM0YjdlYjViNWM3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2IEBACisyMDE0LTA5LTA2ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNv
bT4KKworICAgICAgICBNYWtlIHVwZGF0ZXMgc3VnZ2VzdGVkIGJ5IG5ldyB2ZXJzaW9uIG9mIFhj
b2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzY2
MDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENv
bmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWc6IEFkZGVkIENMQU5HX1dBUk5fVU5SRUFDSEFCTEVf
Q09ERSwKKyAgICAgICAgQ09NQklORV9ISURQSV9JTUFHRVMsIGFuZCBFTkFCTEVfU1RSSUNUX09C
SkNfTVNHU0VORCBhcyBzdWdnZXN0ZWQgYnkKKyAgICAgICAgWGNvZGUgdXBncmFkZSBjaGVjay4K
KworICAgICAgICAqIFdURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBVcGRhdGVkIExhc3RV
cGdyYWRlQ2hlY2suCisKIDIwMTQtMDktMDUgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxl
LmNvbT4KIAogICAgICAgICBibWFsbG9jIHNob3VsZCBob25vciB0aGUgRmFzdE1hbGxvYyBzdGF0
aXN0aWNzIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDg0ZTAwOGZkM2RiYjkwYjY3OTA1ZWYzZWY4N2RjNmVi
MTZkYzg4ODMuLmRmNDllMjQyZGU0Y2JiY2VmZGM2ZjE2MjA3YTM3Y2M4Y2JmNjM5NTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxNC0wOS0wNiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBh
cHBsZS5jb20+CisKKyAgICAgICAgTWFrZSB1cGRhdGVzIHN1Z2dlc3RlZCBieSBuZXcgdmVyc2lv
biBvZiBYY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTM2NjAzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBDb25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnOiBBZGRlZCBDT01CSU5FX0hJRFBJX0lN
QUdFUyBhbmQKKyAgICAgICAgRU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQgYXMgc3VnZ2VzdGVk
IGJ5IFhjb2RlIHVwZ3JhZGUgY2hlY2suCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6IExldCBYY29kZSByZW1vdmUgYW4gb3JwaGFuZWQgaXRlbSBmcm9tIHRo
ZSBmaWxlLAorICAgICAgICBhbmQgYWxzbyB1cGRhdGVkIExhc3RVcGdyYWRlQ2hlY2suCisKKyAg
ICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRN
TE1lZGlhRWxlbWVudDo6dXBkYXRlVGV4dFRyYWNrRGlzcGxheSk6IFVzZSAjaWYvI2Vsc2UvI2Vu
ZGlmIGluc3RlYWQgb2YKKyAgICAgICAgdXNpbmcgI2lmL3JldHVybi8jZW5kaWYgYW5kIGxlYXZp
bmcgY29kZSB1bnJlYWNoYWJsZS4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6
OmNvbmZpZ3VyZU1lZGlhQ29udHJvbHMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6OmNvbmZpZ3VyZVRleHRUcmFja0Rpc3BsYXkpOiBEaXR0by4KKyAgICAgICAg
KiBodG1sL2NhbnZhcy9XZWJHTERyYXdCdWZmZXJzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldl
YkdMRHJhd0J1ZmZlcnM6OnN1cHBvcnRlZCk6IERpdHRvLgorCiAyMDE0LTA5LTA2ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBTZXJpYWxpemUgUmVzb3VyY2VS
ZXNwb25zZXMgdXNpbmcgV2ViS2l0IHR5cGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBj
MzlmZjNkYjNlOTMzMzE2NWQyNjIwNDFiZTRmMjc0YTExNThlNzgyLi4zNTdmZjA5YzA1ODAwYjJl
OGQ5OTFjZDUzMGVkMjczOTg2MzYxZjc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxNC0wOS0wNiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisK
KyAgICAgICAgTWFrZSB1cGRhdGVzIHN1Z2dlc3RlZCBieSBuZXcgdmVyc2lvbiBvZiBYY29kZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2NjAzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9CYXNlLnhjY29uZmlnOiBBZGRlZCBDTEFOR19XQVJOX0JPT0xfQ09OVkVSU0lPTiwg
Q0xBTkdfV0FSTl9DT05TVEFOVF9DT05WRVJTSU9OLAorICAgICAgICBDTEFOR19XQVJOX0VNUFRZ
X0JPRFksIENMQU5HX1dBUk5fRU5VTV9DT05WRVJTSU9OLCBDTEFOR19XQVJOX0lOVF9DT05WRVJT
SU9OLAorICAgICAgICBDTEFOR19XQVJOX1VOUkVBQ0hBQkxFX0NPREUsIENMQU5HX1dBUk5fX0RV
UExJQ0FURV9NRVRIT0RfTUFUQ0gsIEVOQUJMRV9TVFJJQ1RfT0JKQ19NU0dTRU5ELAorICAgICAg
ICBHQ0NfV0FSTl9VTkRFQ0xBUkVEX1NFTEVDVE9SLCBhbmQgR0NDX1dBUk5fVU5VU0VEX0ZVTkNU
SU9OIGFzIHN1Z2dlc3RlZCBieSBYY29kZSB1cGRhdGUgY2hlY2suCisgICAgICAgIEFsc28gcmVt
b3ZlZCBkdXBsaWNhdGUgR0NDX1dBUk5fVU5VU0VEX1ZBUklBQkxFIGxpbmUuCisKKyAgICAgICAg
KiBXZWJJbnNwZWN0b3JVSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBVcGRhdGVkIExhc3RV
cGdyYWRlQ2hlY2suCisKIDIwMTQtMDktMDIgIEJyaWFuIEouIEJ1cmcgIDxidXJnQGNzLndhc2hp
bmd0b24uZWR1PgogCiAgICAgICAgIExlZ2FjeVByb2ZpbGVyOiByZW1vdmUgcmVkdW5kYW50IFBy
b2ZpbGVOb2RlIG1lbWJlcnMgYW5kIG90aGVyIGNsZWFudXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMWNmOTNlMTBh
MGFhMDNhNTYzOTdjNTVjNDM5ODI0NWUxOGQ4YTQyMy4uN2JhYjA5MTc2NjJlM2E0ODNkNjhkZTBi
ZDllNjNiNzJiMmJiY2EzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNC0wOS0wNiAg
RGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSB1cGRhdGVzIHN1
Z2dlc3RlZCBieSBuZXcgdmVyc2lvbiBvZiBYY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2NjAzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajogVXBkYXRlZCBMYXN0VXBncmFkZUNoZWNrLgorCiAyMDE0LTA5LTA0ICBQcmF0aWsgU29sYW5r
aSAgPHBzb2xhbmtpQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgaU9TIHNwZWNpZmljIGRp
c2sgaW1hZ2UgY2FjaGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCBhYTEwNWFkMjM1YTk0ZTFmNmVjNzVj
YjU0MjFmOWM4ZTMzMWI5ZWYxLi4xNzFkNGJjNTUwOTY2OWZiODhjNjliOWQxOTI5OWVjNDAwYTA3
ZGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjEgQEAKKzIwMTQtMDktMDYgIERhcmlu
IEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgdXBkYXRlcyBzdWdnZXN0
ZWQgYnkgbmV3IHZlcnNpb24gb2YgWGNvZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEzNjYwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZzogQWRkZWQg
Q0xBTkdfV0FSTl9VTlJFQUNIQUJMRV9DT0RFLCBDT01CSU5FX0hJRFBJX0lNQUdFUywKKyAgICAg
ICAgYW5kIEVOQUJMRV9TVFJJQ1RfT0JKQ19NU0dTRU5EIGFzIHN1Z2dlc3RlZCBieSBYY29kZSB1
cGdyYWRlIGNoZWNrLgorCisgICAgICAgICogSGlzdG9yeS9XZWJVUkxzV2l0aFRpdGxlcy5tOgor
ICAgICAgICAoK1tXZWJVUkxzV2l0aFRpdGxlcyB3cml0ZVVSTHM6YW5kVGl0bGVzOnRvUGFzdGVi
b2FyZDpdKTogVXNlIE5TVUludGVnZXIgaW5zdGVhZCBvZgorICAgICAgICB1bnNpZ25lZCBmb3Ig
Y29ycmVjdG5lc3MsIGFuZCB0byBxdWlldCB0aGUgMzItdG8tNjQtYml0IGNvbXBpbGVyIHdhcm5p
bmcgKHdoaWNoIGlzCisgICAgICAgIG5vdCB0dXJuZWQgb24gYmVjYXVzZSBpdCBnaXZlcyB1cyB0
b28gbWFueSBmYWxzZSBwb3NpdGl2ZXMpLgorICAgICAgICAqIE1pc2MvV2ViRWxlbWVudERpY3Rp
b25hcnkubW06CisgICAgICAgICgtW1dlYkVsZW1lbnREaWN0aW9uYXJ5IG9iamVjdEZvcktleTpd
KTogRGl0dG8uCisgICAgICAgICogTWlzYy9XZWJOU0RhdGFFeHRyYXMubToKKyAgICAgICAgKC1b
TlNEYXRhIF93ZWJraXRfZ3Vlc3NlZE1JTUVUeXBlRm9yWE1MXSk6IERpdHRvLgorICAgICAgICAo
LVtOU0RhdGEgX3dlYmtpdF9ndWVzc2VkTUlNRVR5cGVdKTogRGl0dG8uCisgICAgICAgICgtW05T
RGF0YSBfd2Via2l0X3BhcnNlUkZDODIySGVhZGVyRmllbGRzXSk6IERpdHRvLgorICAgICAgICAo
LVtOU0RhdGEgX3dlYl9sb2NhdGlvbkFmdGVyRmlyc3RCbGFua0xpbmVdKTogRGl0dG8uCisKKyAg
ICAgICAgKiBNaXNjL1dlYk5TVVJMRXh0cmFzLmg6IFJlbW92ZWQgdW51c2VkIF93ZWJfVVJMV2l0
aExvd2VyY2FzZWRTY2hlbWUsIF93ZWJfaG9zdERhdGEsCisgICAgICAgIF93ZWJraXRfVVJMQnlS
ZW1vdmluZ0ZyYWdtZW50LCBfd2Via2l0X1VSTEJ5UmVtb3ZpbmdSZXNvdXJjZVNwZWNpZmllciwg
X3dlYmtpdF9pc0ZUUERpcmVjdG9yeVVSTCwKKyAgICAgICAgX3dlYmtpdF9zaG91bGRMb2FkQXNF
bXB0eURvY3VtZW50LCBfd2ViX2hvc3ROYW1lTmVlZHNEZWNvZGluZ1dpdGhSYW5nZTosCisgICAg
ICAgIF93ZWJfaG9zdE5hbWVOZWVkc0VuY29kaW5nV2l0aFJhbmdlOiwgX3dlYl9kZWNvZGVIb3N0
TmFtZVdpdGhSYW5nZTosIF93ZWJfZW5jb2RlSG9zdE5hbWVXaXRoUmFuZ2U6LAorICAgICAgICBh
bmQgX3dlYmtpdF9VUkxGcmFnbWVudCBtZXRob2RzLgorCisgICAgICAgICogTWlzYy9XZWJOU1VS
TEV4dHJhcy5tbToKKyAgICAgICAgKC1bTlNVUkwgX3dlYl9VUkxCeVRydW5jYXRpbmdPbmVDaGFy
YWN0ZXJCZWZvcmVDb21wb25lbnQ6XSk6IERlbGV0ZWQuCisgICAgICAgICgtW05TVVJMIF93ZWJr
aXRfVVJMQnlSZW1vdmluZ0ZyYWdtZW50XSk6IERlbGV0ZWQuCisgICAgICAgICgtW05TVVJMIF93
ZWJraXRfVVJMQnlSZW1vdmluZ1Jlc291cmNlU3BlY2lmaWVyXSk6IERlbGV0ZWQuCisgICAgICAg
ICgtW05TVVJMIF93ZWJraXRfaXNGVFBEaXJlY3RvcnlVUkxdKTogRGVsZXRlZC4KKyAgICAgICAg
KC1bTlNVUkwgX3dlYmtpdF9zaG91bGRMb2FkQXNFbXB0eURvY3VtZW50XSk6IERlbGV0ZWQuCisg
ICAgICAgICgtW05TVVJMIF93ZWJfVVJMV2l0aExvd2VyY2FzZWRTY2hlbWVdKTogRGVsZXRlZC4K
KyAgICAgICAgKC1bTlNTdHJpbmcgX3dlYmtpdF9pc0ZUUERpcmVjdG9yeVVSTF0pOiBEZWxldGVk
LgorICAgICAgICAoLVtOU1N0cmluZyBfd2ViX2hvc3ROYW1lTmVlZHNEZWNvZGluZ1dpdGhSYW5n
ZTpdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bTlNTdHJpbmcgX3dlYl9ob3N0TmFtZU5lZWRzRW5j
b2RpbmdXaXRoUmFuZ2U6XSk6IERlbGV0ZWQuCisgICAgICAgICgtW05TU3RyaW5nIF93ZWJfZGVj
b2RlSG9zdE5hbWVXaXRoUmFuZ2U6XSk6IERlbGV0ZWQuCisgICAgICAgICgtW05TU3RyaW5nIF93
ZWJfZW5jb2RlSG9zdE5hbWVXaXRoUmFuZ2U6XSk6IERlbGV0ZWQuCisgICAgICAgICgtW05TU3Ry
aW5nIF93ZWJraXRfVVJMRnJhZ21lbnRdKTogRGVsZXRlZC4KKworICAgICAgICAqIFBsdWdpbnMv
V2ViUGx1Z2luRGF0YWJhc2UubW06CisgICAgICAgICgtW1dlYlBsdWdpbkRhdGFiYXNlIHJlbW92
ZVBsdWdpbkluc3RhbmNlVmlld3NGb3I6XSk6IFVzZSBhIG1vZGVybiBmb3IgbG9vcAorICAgICAg
ICB0byBpdGVyYXRlIGFuIGFycmF5IGluc3RlYWQgb2YgYSBsb29wIHVzaW5nIHRoZSB0eXBlICJ1
bnNpZ25lZCBpbnQiLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViT3BlblBhbmVsUmVz
dWx0TGlzdGVuZXIubW06CisgICAgICAgICgtW1dlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyIGNo
b29zZUZpbGVuYW1lczpdKTogVXNlIE5TVUludGVnZXIgaW5zdGVhZCBvZiBpbnQuCisKKyAgICAg
ICAgKiBXZWJWaWV3L1dlYkRlbGVnYXRlSW1wbGVtZW50YXRpb25DYWNoaW5nLm1tOgorICAgICAg
ICAoQ2FsbERlbGVnYXRlKTogVXNlIHd0ZkNhbGxJTVAgaW4gb25lIG92ZXJsb2FkIHRoYXQgd2Fz
IGluc3RlYWQganVzdCBjYWxsaW5nIHRoZQorICAgICAgICBkaXJlY3RseSB3aXRob3V0IGEgcHJv
cGVyIHR5cGUgZm9yIHRoZSBmdW5jdGlvbiBwb2ludGVyLiBUaGlzIG1pZ2h0IGhhdmUgYmVlbiBj
YXVzaW5nCisgICAgICAgIGFuIGFjdHVhbCBwcm9ibGVtIG9uIDY0LWJpdCBzeXN0ZW1zLCBhbmQg
aXQgd2FzIGRpZmZlcmVudCBmcm9tIGFsbCB0aGUgb3RoZXIgQ2FsbERlbGVnYXRlCisgICAgICAg
IGZ1bmN0aW9ucyB0aGF0IHdlcmUgYWxyZWFkeSBkb2luZyB0aGlzIGNvcnJlY3RseS4KKworICAg
ICAgICAqIFdlYlZpZXcvV2ViVGV4dENvbXBsZXRpb25Db250cm9sbGVyLm1tOgorICAgICAgICAo
LVtXZWJUZXh0Q29tcGxldGlvbkNvbnRyb2xsZXIgX3BsYWNlUG9wdXBXaW5kb3c6XSk6IFVzZSBO
U1VJbnRlZ2VyIGluc3RlYWQgb2YgaW50LgorCiAyMDE0LTA5LTA1ICBDb21taXQgUXVldWUgIDxj
b21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91
dCByMTczMzQwIGFuZCByMTczMzQyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDY3NmM0ZDNiZDQ4ZWE1NGYzM2Ni
OTdhMzdkYTFiYTRlZGU1NTRkNjEuLjY3NDJjNDM0MWIxOTg2MzI1NjAzZDk5MzE0ZmZiNDFjM2Zj
MDBkZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxNC0wOS0wNiAgRGFyaW4gQWRs
ZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSB1cGRhdGVzIHN1Z2dlc3RlZCBi
eSBuZXcgdmVyc2lvbiBvZiBYY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTM2NjAzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnOiBBZGRlZCBDTEFO
R19XQVJOX1VOUkVBQ0hBQkxFX0NPREUsIENPTUJJTkVfSElEUElfSU1BR0VTLAorICAgICAgICBh
bmQgRU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQgYXMgc3VnZ2VzdGVkIGJ5IHRoZSBYY29kZSB1
cGdyYWRlIGNoZWNrLgorCisgICAgICAgICogUGx1Z2luUHJvY2Vzcy9tYWMvUGx1Z2luUHJvY2Vz
c01hYy5tbToKKyAgICAgICAgKFdlYktpdDo6aW5pdGlhbGl6ZUNvY29hT3ZlcnJpZGVzKTogQ2hh
bmdlZCBOU0NvbmNyZXRlVGFza19sYXVuY2ggdG8gdXNlIHRoZSBzYW1lIHRlY2huaXF1ZQorICAg
ICAgICBhcyB0aGUgb3RoZXIgZnVuY3Rpb25zIGluIHRoaXMgZmlsZSwgZG9pbmcgdGhlIHR5cGUg
Y2FzdGluZyByaWdodCBhdCB0aGUgY2FsbCB0bworICAgICAgICBtZXRob2Rfc2V0SW1wbGVtZW50
YXRpb24gc28gdGhlIGdsb2JhbCBoYXMgYSBzdWl0YWJsZSB0eXBlIGZvciBtYWtpbmcgYSBmdW5j
dGlvbiBjYWxsLAorICAgICAgICByYXRoZXIgdGhhbiByZWx5aW5nIG9uIHRoZSBhYmlsdHkgdG8g
Y2FsbCB0aHJvdWdoIGEgdHlwZSB3aXRob3V0IGEgc3BlY2lmaWMgYXJndW1lbnQgbGlzdC4KKwor
ICAgICAgICAqIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OnBhdGhFeHRlbnNpb24pOiBVc2Ugc2l6ZV90IGZvciB0aGUgcmVzdWx0IG9mIFN0
cmluZzo6cmV2ZXJzZUZpbmQgcmF0aGVyIHRoYW4KKyAgICAgICAgY29udmVydGluZyBpdCB0byBh
biBpbnQuIEFsc28gZG9uJ3QgcmVseSBvbiB0aGUgZmFjdCB0aGF0IFdURidzIG5vdEZvdW5kIGJl
Y29tZXMgLTEgd2hlbgorICAgICAgICBjYXN0IGZyb20gc2l6ZV90IHRvIGludC4KKworICAgICAg
ICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogTGV0IFhjb2RlIGRlbGV0ZSBz
b21lIG9ycGhhbmVkIGl0ZW1zLCBhbmQgdXBkYXRlZAorICAgICAgICBMYXN0VXBncmFkZUNoZWNr
LgorCiAyMDE0LTA5LTA2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAg
ICAgICBTZXJpYWxpemUgUmVzb3VyY2VSZXNwb25zZXMgdXNpbmcgV2ViS2l0IHR5cGVzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZp
ZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCmlu
ZGV4IDY1NTc2NWVmY2MwMzE1NmRhYzkzYTg2MTA5OTI4YjIxOTU3NzcyMWQuLjg2ODg1YTI4NDAz
ZGM1OTZiMDA0ODUyYjQ5MTUyODg3MjIwNDQzZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCkBAIC0zMiw4ICszMiwxMSBAQCBD
TEFOR19XQVJOX0NYWDBYX0VYVEVOU0lPTlMgPSBOTzsKIENMQU5HX1dBUk5fRU1QVFlfQk9EWSA9
IFlFUzsKIENMQU5HX1dBUk5fRU5VTV9DT05WRVJTSU9OID0gWUVTOwogQ0xBTkdfV0FSTl9JTlRf
Q09OVkVSU0lPTiA9IFlFUzsKK0NMQU5HX1dBUk5fVU5SRUFDSEFCTEVfQ09ERSA9IFlFUzsKIENM
QU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVM7CitDT01CSU5FX0hJRFBJX0lN
QUdFUyA9IFlFUzsKIERFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9IGR3YXJmLXdpdGgtZHN5bTsK
K0VOQUJMRV9TVFJJQ1RfT0JKQ19NU0dTRU5EID0gWUVTOwogR0NDX0NfTEFOR1VBR0VfU1RBTkRB
UkQgPSBnbnU5OTsKIEdDQ19ERUJVR0dJTkdfU1lNQk9MUyA9IGRlZmF1bHQ7CiBHQ0NfRFlOQU1J
Q19OT19QSUMgPSBOTzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZWQ1ZTg5ZmIy
MGZmZGZjYTY1YjljMjRjMTk2YzQwNjA5MDhlM2FhMy4uOWFjMmI2ZTVlYjBjOWNiOWM0M2YwNmFl
MTY3NjY1ZTU2Y2VlNDRlNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFT
Y3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTY3NzYs
NyArNjc3Niw3IEBACiAJCQlpc2EgPSBQQlhQcm9qZWN0OwogCQkJYXR0cmlidXRlcyA9IHsKIAkJ
CQlCdWlsZEluZGVwZW5kZW50VGFyZ2V0c0luUGFyYWxsZWwgPSBZRVM7Ci0JCQkJTGFzdFVwZ3Jh
ZGVDaGVjayA9IDA1MDA7CisJCQkJTGFzdFVwZ3JhZGVDaGVjayA9IDA2MDA7CiAJCQl9OwogCQkJ
YnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDE0OUMyNzcxMDg5MDJBRkUwMDhBOUVGQyAvKiBCdWls
ZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIkphdmFTY3JpcHRDb3JlIiAqLzsK
IAkJCWNvbXBhdGliaWxpdHlWZXJzaW9uID0gIlhjb2RlIDMuMiI7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCmluZGV4IDA3MjljZTgyMWJlYjA4
YjgwYjg4OGY4ZWNiOWYwMDlhMjMzM2U2MWMuLjM2YjIzMTViOTVjNTA5MTcxN2MyMjA2YTZkOTQy
MTliNjVjZDIwYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQuY3BwCkBAIC01OTYsOCArNTk2LDEwIEBAIEpJVENvbXBpbGVyOjpKdW1wIFNwZWN1
bGF0aXZlSklUOjpqdW1wU2xvd0ZvclVud2FudGVkQXJyYXlNb2RlKEdQUlJlZyB0ZW1wR1BSLCBB
CiAgICAgc3dpdGNoIChhcnJheU1vZGUuYXJyYXlDbGFzcygpKSB7CiAgICAgY2FzZSBBcnJheTo6
T3JpZ2luYWxBcnJheTogewogICAgICAgICBDUkFTSCgpOworI2lmICFDT01QSUxFUihDTEFORykK
ICAgICAgICAgSklUQ29tcGlsZXI6Okp1bXAgcmVzdWx0OyAvLyBJIGFscmVhZHkga25vdyB0aGF0
IFZDKysgdGFrZXMgdW5raW5kbHkgdG8gdGhlIGV4cHJlc3Npb24gInJldHVybiBKdW1wKCkiLCBz
byBJJ20gZG9pbmcgaXQgdGhpcyB3YXkgaW4gYW50aWNpcGF0aW9uIG9mIHNvbWVvbmUgZXZlbnR1
YWxseSB1c2luZyBWQysrIHRvIGNvbXBpbGUgdGhlIERGRy4KICAgICAgICAgcmV0dXJuIHJlc3Vs
dDsKKyNlbmRpZgogICAgIH0KICAgICAgICAgCiAgICAgY2FzZSBBcnJheTo6QXJyYXk6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCmluZGV4IDNmNWM1ODBjOTFiNTZm
YzQ3MzlmNmNkNmU2ZDVkZjE1NDk4YWNlYmUuLjIyYjE0ZWRlMzNjYzFhOTJlZTc3ZThiNzE0ZmI4
Y2EwMmVhNTNhYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pT
QXJyYXkuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3Bw
CkBAIC0xNTUzLDkgKzE1NTMsMTEgQEAgdm9pZCBKU0FycmF5OjpmaWxsQXJnTGlzdChFeGVjU3Rh
dGUqIGV4ZWMsIE1hcmtlZEFyZ3VtZW50QnVmZmVyJiBhcmdzKQogICAgICAgICAKICAgICBkZWZh
dWx0OgogICAgICAgICBDUkFTSCgpOworI2lmICFDT01QSUxFUihDTEFORykKICAgICAgICAgdmVj
dG9yID0gMDsKICAgICAgICAgdmVjdG9yRW5kID0gMDsKICAgICAgICAgYnJlYWs7CisjZW5kaWYK
ICAgICB9CiAgICAgCiAgICAgZm9yICg7IGkgPCB2ZWN0b3JFbmQ7ICsraSkgewpAQCAtMTYxNSw5
ICsxNjE3LDExIEBAIHZvaWQgSlNBcnJheTo6Y29weVRvQXJndW1lbnRzKEV4ZWNTdGF0ZSogZXhl
YywgQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIHVpbnQzMl90IGNvCiAgICAgICAgIAogICAgIGRlZmF1
bHQ6CiAgICAgICAgIENSQVNIKCk7CisjaWYgIUNPTVBJTEVSKENMQU5HKQogICAgICAgICB2ZWN0
b3IgPSAwOwogICAgICAgICB2ZWN0b3JFbmQgPSAwOwogICAgICAgICBicmVhazsKKyNlbmRpZgog
ICAgIH0KICAgICAKICAgICBmb3IgKDsgaSA8IHZlY3RvckVuZDsgKytpKSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9BTkdMRS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQU5HTEUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCBiNzhiZmQwNjgyZjUxZTIwOGY5NWRhMDhmZDgyMDc2ZjA0MmQ3ZDgzLi5jOWViODc4
NGE3ZWIxYjNhODQzMzBiNGM3NWE0ODcwMTMyZDZmNjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9BTkdMRS9BTkdMRS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL0FOR0xFLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTgw
NSw3ICs4MDUsNyBAQAogCQlGQjM5RDA3MDEyMDBFRDkyMDAwODhFNjkgLyogUHJvamVjdCBvYmpl
Y3QgKi8gPSB7CiAJCQlpc2EgPSBQQlhQcm9qZWN0OwogCQkJYXR0cmlidXRlcyA9IHsKLQkJCQlM
YXN0VXBncmFkZUNoZWNrID0gMDQ0MDsKKwkJCQlMYXN0VXBncmFkZUNoZWNrID0gMDYwMDsKIAkJ
CX07CiAJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gRkIzOUQwNzMxMjAwRUQ5MjAwMDg4RTY5
IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJvamVjdCAiQU5HTEUiICovOwog
CQkJY29tcGF0aWJpbGl0eVZlcnNpb24gPSAiWGNvZGUgMy4yIjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9UaGlyZFBhcnR5L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0FOR0xFLnhjY29uZmlnIGIvU291cmNl
L1RoaXJkUGFydHkvQU5HTEUvQ29uZmlndXJhdGlvbnMvQU5HTEUueGNjb25maWcKaW5kZXggODAz
ZGJiYzlmMDk4NDlmYTRiZDEwM2E0YmFhMWEyMDBlY2Q5NDRiOS4uM2VkZGZhYzE3M2ZkMzNmZTE2
N2ZkNDdiODBmOTE4ZmYwZDNkMzA0MyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5H
TEUvQ29uZmlndXJhdGlvbnMvQU5HTEUueGNjb25maWcKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
QU5HTEUvQ29uZmlndXJhdGlvbnMvQU5HTEUueGNjb25maWcKQEAgLTEsNSArMSwxMCBAQAogUFJP
RFVDVF9OQU1FID0gQU5HTEU7CiAKK0NMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwor
Q0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04gPSBZRVM7CitDTEFOR19XQVJOX0lOVF9DT05WRVJT
SU9OID0gWUVTOworQ09NQklORV9ISURQSV9JTUFHRVMgPSBZRVM7CitFTkFCTEVfU1RSSUNUX09C
SkNfTVNHU0VORCA9IFlFUzsKIEhFQURFUl9TRUFSQ0hfUEFUSFMgPSBpbmNsdWRlIHNyYzsKIElO
U1RBTExfUEFUSF9BQ1RVQUwgPSAvdXNyL2xvY2FsL2xpYjsKIFBVQkxJQ19IRUFERVJTX0ZPTERF
Ul9QQVRIID0gJChQVUJMSUNfSEVBREVSU19GT0xERVJfUEFUSF8kKERFUExPWU1FTlRfTE9DQVRJ
T04pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L3hjb2RlL0NvbmZpZy9H
ZW5lcmFsLnhjY29uZmlnIGIvU291cmNlL1RoaXJkUGFydHkvZ3Rlc3QveGNvZGUvQ29uZmlnL0dl
bmVyYWwueGNjb25maWcKaW5kZXggZmFlZmY1YjZmZTE1MWI0MTcxNWRmY2UyNDZjYTQyZWNiOTkz
NjFmYy4uMTNlMWUyOTBmNDUzZmJjODRiOGVkOGY5MmIyNWIyMDc5NDRjOWNhZiAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvZ3Rlc3QveGNvZGUvQ29uZmlnL0dlbmVyYWwueGNjb25maWcK
KysrIGIvU291cmNlL1RoaXJkUGFydHkvZ3Rlc3QveGNvZGUvQ29uZmlnL0dlbmVyYWwueGNjb25m
aWcKQEAgLTIzLDkgKzIzLDE1IEBAIFBSRUJJTkRJTkcgPSBOTwogCiAvLyBTdHJpY3Rlc3Qgd2Fy
bmluZyBwb2xpY3kKIFdBUk5JTkdfQ0ZMQUdTID0gLVdhbGwgLVdlcnJvciAtV2VuZGlmLWxhYmVs
cyAtV25ld2xpbmUtZW9mIC1Xbm8tc2lnbi1jb21wYXJlIC1Xc2hhZG93CitDTEFOR19XQVJOX0JP
T0xfQ09OVkVSU0lPTiA9IFlFUzsKIENMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlF
UzsKIENMQU5HX1dBUk5fRU1QVFlfQk9EWSA9IFlFUzsKK0NMQU5HX1dBUk5fRU5VTV9DT05WRVJT
SU9OID0gWUVTOworQ0xBTkdfV0FSTl9JTlRfQ09OVkVSU0lPTiA9IFlFUzsKK0NMQU5HX1dBUk5f
VU5SRUFDSEFCTEVfQ09ERSA9IFlFUzsKIENMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFU
Q0ggPSBZRVM7CitFTkFCTEVfU1RSSUNUX09CSkNfTVNHU0VORCA9IFlFUzsKK0dDQ19XQVJOXzY0
X1RPXzMyX0JJVF9DT05WRVJTSU9OID0gWUVTOwogR0NDX1dBUk5fQUJPVVRfUkVUVVJOX1RZUEUg
PSBZRVM7CiBHQ0NfV0FSTl9VTkRFQ0xBUkVEX1NFTEVDVE9SID0gWUVTOwogR0NDX1dBUk5fVU5J
TklUSUFMSVpFRF9BVVRPUyA9IFlFUzsKQEAgLTU0LDYgKzYwLDcgQEAgQ0xBTkdfQ1hYX0xJQlJB
UlkgPSBsaWJjKys7CiAKIFRBUkdFVF9NQUNfT1NfWF9WRVJTSU9OX01BSk9SID0gJChNQUNfT1Nf
WF9WRVJTSU9OX01BSk9SKTsKIAorQ09NQklORV9ISURQSV9JTUFHRVMgPSBZRVM7CiAKIC8vIFZF
UlNJT05JTkcgQlVJTEQgU0VUVElOR1MgKHVzZWQgaW4gSW5mby5wbGlzdCkKIEdURVNUX1ZFUlNJ
T05JTkZPX0FCT1VUID0gIMKpIDIwMDggR29vZ2xlIEluYy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L2d0ZXN0L3hjb2RlL2d0ZXN0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvVGhpcmRQYXJ0eS9ndGVzdC94Y29kZS9ndGVzdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDM5N2QxZDBlNzVlZmVjNjdhMzY2ZTBjNjQ0N2FlNWJiMWI0YTYyYzIuLmZlMzQw
MmQ2NjIwMjI4ZWM0NzEwOTkzZGM0ODEzOGNjMzBiMWJlMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L2d0ZXN0L3hjb2RlL2d0ZXN0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvZ3Rlc3QveGNvZGUvZ3Rlc3QueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtNTk5LDcgKzU5OSw3IEBACiAJCTA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAv
KiBQcm9qZWN0IG9iamVjdCAqLyA9IHsKIAkJCWlzYSA9IFBCWFByb2plY3Q7CiAJCQlhdHRyaWJ1
dGVzID0gewotCQkJCUxhc3RVcGdyYWRlQ2hlY2sgPSAwNTAwOworCQkJCUxhc3RVcGdyYWRlQ2hl
Y2sgPSAwNjAwOwogCQkJfTsKIAkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSA0RkFEQzI0NjA4
QjQxNTZEMDBBQkU1NUUgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0
ICJndGVzdCIgKi87CiAJCQljb21wYXRpYmlsaXR5VmVyc2lvbiA9ICJYY29kZSAzLjIiOwpAQCAt
OTQxLDkgKzk0MSw2IEBACiAJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKIAkJCWJhc2VD
b25maWd1cmF0aW9uUmVmZXJlbmNlID0gNDRDNDhERkYxNEE0MDk4RjAwQTJEOUM3IC8qIFByb2R1
Y3Rpb25Qcm9qZWN0LnhjY29uZmlnICovOwogCQkJYnVpbGRTZXR0aW5ncyA9IHsKLQkJCQlDTEFO
R19XQVJOX0JPT0xfQ09OVkVSU0lPTiA9IFlFUzsKLQkJCQlDTEFOR19XQVJOX0VOVU1fQ09OVkVS
U0lPTiA9IFlFUzsKLQkJCQlDTEFOR19XQVJOX0lOVF9DT05WRVJTSU9OID0gWUVTOwogCQkJfTsK
IAkJCW5hbWUgPSBQcm9kdWN0aW9uOwogCQl9OwpAQCAtOTUxLDcgKzk0OCw2IEBACiAJCQlpc2Eg
PSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKIAkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0g
NDBENENERjIwRTMwRTA3NDAwMjk0ODAxIC8qIEZyYW1ld29ya1RhcmdldC54Y2NvbmZpZyAqLzsK
IAkJCWJ1aWxkU2V0dGluZ3MgPSB7Ci0JCQkJQ09NQklORV9ISURQSV9JTUFHRVMgPSBZRVM7CiAJ
CQkJRFlMSUJfQ09NUEFUSUJJTElUWV9WRVJTSU9OID0gMTsKIAkJCQlEWUxJQl9DVVJSRU5UX1ZF
UlNJT04gPSAxOwogCQkJCUlORk9QTElTVF9GSUxFID0gUmVzb3VyY2VzL0luZm8ucGxpc3Q7CkBA
IC0xMDMxLDcgKzEwMjcsNiBAQAogCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CiAJCQli
YXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDQwRDRDREYyMEUzMEUwNzQwMDI5NDgwMSAvKiBG
cmFtZXdvcmtUYXJnZXQueGNjb25maWcgKi87CiAJCQlidWlsZFNldHRpbmdzID0gewotCQkJCUNP
TUJJTkVfSElEUElfSU1BR0VTID0gWUVTOwogCQkJCURZTElCX0NPTVBBVElCSUxJVFlfVkVSU0lP
TiA9IDE7CiAJCQkJRFlMSUJfQ1VSUkVOVF9WRVJTSU9OID0gMTsKIAkJCQlJTkZPUExJU1RfRklM
RSA9IFJlc291cmNlcy9JbmZvLnBsaXN0OwpAQCAtMTA0Niw3ICsxMDQxLDYgQEAKIAkJCWlzYSA9
IFhDQnVpbGRDb25maWd1cmF0aW9uOwogCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA0
MEQ0Q0RGMjBFMzBFMDc0MDAyOTQ4MDEgLyogRnJhbWV3b3JrVGFyZ2V0LnhjY29uZmlnICovOwog
CQkJYnVpbGRTZXR0aW5ncyA9IHsKLQkJCQlDT01CSU5FX0hJRFBJX0lNQUdFUyA9IFlFUzsKIAkJ
CQlEWUxJQl9DT01QQVRJQklMSVRZX1ZFUlNJT04gPSAxOwogCQkJCURZTElCX0NVUlJFTlRfVkVS
U0lPTiA9IDE7CiAJCQkJSU5GT1BMSVNUX0ZJTEUgPSBSZXNvdXJjZXMvSW5mby5wbGlzdDsKQEAg
LTEwNjEsMTAgKzEwNTUsNiBAQAogCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CiAJCQli
YXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDQwRDRDREYxMEUzMEUwNzQwMDI5NDgwMSAvKiBE
ZWJ1Z1Byb2plY3QueGNjb25maWcgKi87CiAJCQlidWlsZFNldHRpbmdzID0gewotCQkJCUNMQU5H
X1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOwotCQkJCUNMQU5HX1dBUk5fRU5VTV9DT05WRVJT
SU9OID0gWUVTOwotCQkJCUNMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVM7Ci0JCQkJT05M
WV9BQ1RJVkVfQVJDSCA9IFlFUzsKIAkJCX07CiAJCQluYW1lID0gRGVidWc7CiAJCX07CkBAIC0x
MDcyLDkgKzEwNjIsNiBAQAogCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CiAJCQliYXNl
Q29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDQwRDRDREY0MEUzMEUwNzQwMDI5NDgwMSAvKiBSZWxl
YXNlUHJvamVjdC54Y2NvbmZpZyAqLzsKIAkJCWJ1aWxkU2V0dGluZ3MgPSB7Ci0JCQkJQ0xBTkdf
V0FSTl9CT09MX0NPTlZFUlNJT04gPSBZRVM7Ci0JCQkJQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJ
T04gPSBZRVM7Ci0JCQkJQ0xBTkdfV0FSTl9JTlRfQ09OVkVSU0lPTiA9IFlFUzsKIAkJCX07CiAJ
CQluYW1lID0gUmVsZWFzZTsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ29uZmlndXJh
dGlvbnMvQmFzZS54Y2NvbmZpZyBiL1NvdXJjZS9XVEYvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2Nv
bmZpZwppbmRleCA4NmU1ZjFkZWJjYzBkZmQ1ZGU5OTYxMjdjOGU1ZDIxNjA2Njc4NjQ1Li44ZmNm
ZWQzNmJhNmNhYmIwMmJhNmNhMGQ4ZDZiZmI3MTdlNmNmMzhhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvU291cmNlL1dURi9Db25maWd1
cmF0aW9ucy9CYXNlLnhjY29uZmlnCkBAIC0zMiw4ICszMiwxMSBAQCBDTEFOR19XQVJOX0NYWDBY
X0VYVEVOU0lPTlMgPSBOTzsKIENMQU5HX1dBUk5fRU1QVFlfQk9EWSA9IFlFUzsKIENMQU5HX1dB
Uk5fRU5VTV9DT05WRVJTSU9OID0gWUVTOwogQ0xBTkdfV0FSTl9JTlRfQ09OVkVSU0lPTiA9IFlF
UzsKK0NMQU5HX1dBUk5fVU5SRUFDSEFCTEVfQ09ERSA9IFlFUzsKIENMQU5HX1dBUk5fX0RVUExJ
Q0FURV9NRVRIT0RfTUFUQ0ggPSBZRVM7CitDT01CSU5FX0hJRFBJX0lNQUdFUyA9IFlFUzsKIERF
QlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9IGR3YXJmLXdpdGgtZHN5bTsKK0VOQUJMRV9TVFJJQ1Rf
T0JKQ19NU0dTRU5EID0gWUVTOwogR0NDX0NfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnU5OTsKIEdD
Q19ERUJVR0dJTkdfU1lNQk9MUyA9IGRlZmF1bHQ7CiBHQ0NfRFlOQU1JQ19OT19QSUMgPSBOTzsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGYxM2QwOWZmYzQ1
MzBiYjk4NzBmYTJmNTU5ZGJlZjc2YmVmYjU5YTMuLmQzM2YwZDU3OTEyOTEzYmRkNGNlMjQ4Yzgz
OGE3MGY0NWU3NTAzZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMTIyMyw3ICsxMjIzLDcgQEAKIAkJNUQyNDdCNTkxNDY4OUI4NjAwRTc4Qjc2IC8qIFBy
b2plY3Qgb2JqZWN0ICovID0gewogCQkJaXNhID0gUEJYUHJvamVjdDsKIAkJCWF0dHJpYnV0ZXMg
PSB7Ci0JCQkJTGFzdFVwZ3JhZGVDaGVjayA9IDA1MDA7CisJCQkJTGFzdFVwZ3JhZGVDaGVjayA9
IDA2MDA7CiAJCQl9OwogCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDVEMjQ3QjVDMTQ2ODlC
ODYwMEU3OEI3NiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIldU
RiIgKi87CiAJCQljb21wYXRpYmlsaXR5VmVyc2lvbiA9ICJYY29kZSAzLjIiOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZyBiL1NvdXJjZS9X
ZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggYjRhMWZiNzBkZGU3NDAz
YThlYTZiZWY2NjNhMjBlZDViMzU3YzEzMi4uYmIyYjM5NWI4OWUwOTEyNWEwYzE2NWYwZDUzYzM4
NzQxY2EwYTExOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvQmFz
ZS54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29u
ZmlnCkBAIC0zMyw3ICszMyw5IEBAIENMQU5HX1dBUk5fRU1QVFlfQk9EWSA9IFlFUzsKIENMQU5H
X1dBUk5fRU5VTV9DT05WRVJTSU9OID0gWUVTOwogQ0xBTkdfV0FSTl9JTlRfQ09OVkVSU0lPTiA9
IFlFUzsKIENMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVM7CitDT01CSU5F
X0hJRFBJX0lNQUdFUyA9IFlFUzsKIERFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9IGR3YXJmLXdp
dGgtZHN5bTsKK0VOQUJMRV9TVFJJQ1RfT0JKQ19NU0dTRU5EID0gWUVTOwogR0NDX0NfTEFOR1VB
R0VfU1RBTkRBUkQgPSBnbnU5OTsKIEdDQ19ERUJVR0dJTkdfU1lNQk9MUyA9IGRlZmF1bHQ7CiBH
Q0NfRFlOQU1JQ19OT19QSUMgPSBOTzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAzZjk2MDIzZWE4MDI3Mjc2YjIzODQ3MDYyMTcw
MzBiZWRkOGIyNDUyLi5mYTM1MzY1NjJlMTJhMjA2MmFlZjRlNDRmYjc3Njg3ZjE0MmIzNDhiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC0yMTA3Miw3ICsyMTA3Miw2IEBACiAJCQkJN0VFNjg0NzMxMkQyNkU1NTAwRTc5NDE1IC8q
IGNmICovLAogCQkJCTdFNERFMTBCMTk4QjEwODEwMDUxQ0IwMiAvKiBjb2NvYSAqLywKIAkJCQk1
MTI2RTZCNjBBMkUzQUVGMDA1QzI5RkEgLyogaWNvbiAqLywKLQkJCQlDRTc5RDY4NjE3RjIyMEVE
MDA4MTVDMDAgLyogaW9zICovLAogCQkJCTkzQTFFQUEyMEE1NjM0RDgwMDY5NjBBMCAvKiBtYWMg
Ki8sCiAJCQkJRTE0MjRDOTExNjRCNTJDODAwRjMyRDQwIC8qIENvb2tpZUphci5jcHAgKi8sCiAJ
CQkJRTE0MjRDOTIxNjRCNTJDODAwRjMyRDQwIC8qIENvb2tpZUphci5oICovLApAQCAtMjY3MTUs
NyArMjY3MTQsNyBAQAogCQkJaXNhID0gUEJYUHJvamVjdDsKIAkJCWF0dHJpYnV0ZXMgPSB7CiAJ
CQkJQnVpbGRJbmRlcGVuZGVudFRhcmdldHNJblBhcmFsbGVsID0gWUVTOwotCQkJCUxhc3RVcGdy
YWRlQ2hlY2sgPSAwNTAwOworCQkJCUxhc3RVcGdyYWRlQ2hlY2sgPSAwNjAwOwogCQkJfTsKIAkJ
CWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAxNDlDMjg0MzA4OTAyQjExMDA4QTlFRkMgLyogQnVp
bGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJXZWJDb3JlIiAqLzsKIAkJCWNv
bXBhdGliaWxpdHlWZXJzaW9uID0gIlhjb2RlIDMuMiI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmNwcAppbmRleCAxYTQ0MzQ4Mjk5ZWIwMTg3YjYwNDdkODYzM2Q3ZWFkZjc3
NmY3OGU4Li5jMGRkMjhiN2NlY2E1NWEyYTdiMTdkYWU4NjRjMWRlMmFiYjNlNjc5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTUwMDMsMTkgKzUwMDMsMjEg
QEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpjbG9zZWRDYXB0aW9uc1Zpc2libGUoKSBjb25zdAog
fQogCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQorCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnVw
ZGF0ZVRleHRUcmFja0Rpc3BsYXkoKQogewogI2lmIEVOQUJMRShNRURJQV9DT05UUk9MU19TQ1JJ
UFQpCiAgICAgZW5zdXJlVXNlckFnZW50U2hhZG93Um9vdCgpOwogICAgIEFTU0VSVChtX21lZGlh
Q29udHJvbHNIb3N0KTsKICAgICBtX21lZGlhQ29udHJvbHNIb3N0LT51cGRhdGVUZXh0VHJhY2tD
b250YWluZXIoKTsKLSAgICByZXR1cm47Ci0jZW5kaWYKKyNlbHNlCiAgICAgaWYgKCFoYXNNZWRp
YUNvbnRyb2xzKCkgJiYgIWNyZWF0ZU1lZGlhQ29udHJvbHMoKSkKICAgICAgICAgcmV0dXJuOwog
ICAgIAogICAgIG1lZGlhQ29udHJvbHMoKS0+dXBkYXRlVGV4dFRyYWNrRGlzcGxheSgpOworI2Vu
ZGlmCiB9CisKICNlbmRpZgogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldENsb3NlZENhcHRp
b25zVmlzaWJsZShib29sIGNsb3NlZENhcHRpb25WaXNpYmxlKQpAQCAtNTE5Niw5ICs1MTk4LDcg
QEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpjb25maWd1cmVNZWRpYUNvbnRyb2xzKCkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgZW5zdXJlVXNlckFnZW50U2hhZG93Um9vdCgpOwotICAgIHJldHVy
bjsKLSNlbmRpZgotCisjZWxzZQogICAgIGlmICghY29udHJvbHMoKSB8fCAhaW5Eb2N1bWVudCgp
KSB7CiAgICAgICAgIGlmIChoYXNNZWRpYUNvbnRyb2xzKCkpCiAgICAgICAgICAgICBtZWRpYUNv
bnRyb2xzKCktPmhpZGUoKTsKQEAgLTUyMDksNiArNTIwOSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxl
bWVudDo6Y29uZmlndXJlTWVkaWFDb250cm9scygpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1l
ZGlhQ29udHJvbHMoKS0+c2hvdygpOworI2VuZGlmCiB9CiAKICNpZiBFTkFCTEUoVklERU9fVFJB
Q0spCkBAIC01MjQyLDkgKzUyNDMsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmNvbmZpZ3Vy
ZVRleHRUcmFja0Rpc3BsYXkoVGV4dFRyYWNrVmlzaWJpbGl0eUNoZWNrVHlwZSBjaAogICAgICAg
ICByZXR1cm47CiAKICAgICBlbnN1cmVVc2VyQWdlbnRTaGFkb3dSb290KCk7Ci0gICAgcmV0dXJu
OwotI2VuZGlmCi0KKyNlbHNlCiAgICAgaWYgKCFtX2hhdmVWaXNpYmxlVGV4dFRyYWNrICYmICFo
YXNNZWRpYUNvbnRyb2xzKCkpCiAgICAgICAgIHJldHVybjsKICAgICBpZiAoIWhhc01lZGlhQ29u
dHJvbHMoKSAmJiAhY3JlYXRlTWVkaWFDb250cm9scygpKQpAQCAtNTI1Niw2ICs1MjU1LDcgQEAg
dm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpjb25maWd1cmVUZXh0VHJhY2tEaXNwbGF5KFRleHRUcmFj
a1Zpc2liaWxpdHlDaGVja1R5cGUgY2gKICAgICAgICAgdXBkYXRlVGV4dFRyYWNrRGlzcGxheSgp
OwogICAgICAgICB1cGRhdGVBY3RpdmVUZXh0VHJhY2tDdWVzKGN1cnJlbnRNZWRpYVRpbWUoKSk7
CiAgICAgfQorI2VuZGlmCiB9CiAKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6Y2FwdGlvblByZWZl
cmVuY2VzQ2hhbmdlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTERyYXdCdWZmZXJzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRHJh
d0J1ZmZlcnMuY3BwCmluZGV4IDdiM2MwNDdlODlmM2JiYjYxNGZlNDBiOThhYmQ3YzRlYTBiNDEx
ZjIuLjlhY2UwMTNkOTQ0MmQ4NmJjOGNjY2VjMTk5NDljNDM3MzZkZTMzN2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRHJhd0J1ZmZlcnMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRHJhd0J1ZmZlcnMuY3BwCkBAIC00NiwxOCAr
NDYsMjUgQEAgV2ViR0xFeHRlbnNpb246OkV4dGVuc2lvbk5hbWUgV2ViR0xEcmF3QnVmZmVyczo6
Z2V0TmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuIFdlYkdMRXh0ZW5zaW9uOjpXZWJHTERyYXdCdWZm
ZXJzTmFtZTsKIH0KIAotLy8gc3RhdGljCi1ib29sIFdlYkdMRHJhd0J1ZmZlcnM6OnN1cHBvcnRl
ZChXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQpCi17CiAjaWYgT1MoREFSV0lOKQorCiti
b29sIFdlYkdMRHJhd0J1ZmZlcnM6OnN1cHBvcnRlZChXZWJHTFJlbmRlcmluZ0NvbnRleHQqKQor
ewogICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI0ODYK
ICAgICByZXR1cm4gZmFsc2U7Ci0jZW5kaWYKK30KKworI2Vsc2UKKworYm9vbCBXZWJHTERyYXdC
dWZmZXJzOjpzdXBwb3J0ZWQoV2ViR0xSZW5kZXJpbmdDb250ZXh0KiBjb250ZXh0KQorewogICAg
IEV4dGVuc2lvbnMzRCogZXh0ZW5zaW9ucyA9IGNvbnRleHQtPmdyYXBoaWNzQ29udGV4dDNEKCkt
PmdldEV4dGVuc2lvbnMoKTsKLSAgICByZXR1cm4gKGV4dGVuc2lvbnMtPnN1cHBvcnRzKCJHTF9F
WFRfZHJhd19idWZmZXJzIikKLSAgICAgICAgJiYgc2F0aXNmaWVzV2ViR0xSZXF1aXJlbWVudHMo
Y29udGV4dCkpOworICAgIHJldHVybiBleHRlbnNpb25zLT5zdXBwb3J0cygiR0xfRVhUX2RyYXdf
YnVmZmVycyIpCisgICAgICAgICYmIHNhdGlzZmllc1dlYkdMUmVxdWlyZW1lbnRzKGNvbnRleHQp
OwogfQogCisjZW5kaWYKKwogdm9pZCBXZWJHTERyYXdCdWZmZXJzOjpkcmF3QnVmZmVyc1dFQkdM
KGNvbnN0IFZlY3RvcjxHQzNEZW51bT4mIGJ1ZmZlcnMpCiB7CiAgICAgaWYgKG1fY29udGV4dC0+
aXNDb250ZXh0TG9zdCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NvbmZp
Z3VyYXRpb25zL0Jhc2UueGNjb25maWcgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ29uZmlndXJh
dGlvbnMvQmFzZS54Y2NvbmZpZwppbmRleCBhZWIyMTJhMmEzNTgxZjMyZjA0YjI1ZjZkMjRjNGE5
ZDMxMzliYmI4Li45ZDg3OGIzOGU3YWY0ODQ3MThkOGZjNDhkNmI4OGVhNjkwZmRjMjkzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZp
ZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZp
ZwpAQCAtOCw4ICs4LDE1IEBAIFNUQUdFRF9GUkFNRVdPUktTX1NFQVJDSF9QQVRIX1lFUyA9ICQo
TkVYVF9ST09UKSQoU1lTVEVNX0xJQlJBUllfRElSKS9TdGFnZWRGcmFtCiAKIENMQU5HX0NYWF9M
QU5HVUFHRV9TVEFOREFSRCA9IGdudSsrMHg7CiBDTEFOR19DWFhfTElCUkFSWSA9IGxpYmMrKzsK
K0NMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVTOworQ0xBTkdfV0FSTl9DT05TVEFOVF9D
T05WRVJTSU9OID0gWUVTOwogQ0xBTkdfV0FSTl9DWFgwWF9FWFRFTlNJT05TID0gTk87Ci1DTEFO
R19XQVJOX19EVVBMSUNBVEVfTUVUSE9EX01BVENIID0gTk8KK0NMQU5HX1dBUk5fRU1QVFlfQk9E
WSA9IFlFUzsKK0NMQU5HX1dBUk5fRU5VTV9DT05WRVJTSU9OID0gWUVTOworQ0xBTkdfV0FSTl9J
TlRfQ09OVkVSU0lPTiA9IFlFUzsKK0NMQU5HX1dBUk5fVU5SRUFDSEFCTEVfQ09ERSA9IFlFUzsK
K0NMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVM7CitFTkFCTEVfU1RSSUNU
X09CSkNfTVNHU0VORCA9IFlFUzsKIEdDQ19DX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251OTk7CiBH
Q0NfRFlOQU1JQ19OT19QSUMgPSBZRVM7CiBHQ0NfRU5BQkxFX0NQUF9FWENFUFRJT05TID0gTk87
CkBAIC0zMSw5ICszOCwxMCBAQCBHQ0NfV0FSTl9BQk9VVF9NSVNTSU5HX1BST1RPVFlQRVMgPSBZ
RVM7CiBHQ0NfV0FSTl9BQk9VVF9SRVRVUk5fVFlQRSA9IFlFUwogR0NDX1dBUk5fQUJPVVRfUkVU
VVJOX1RZUEUgPSBZRVM7CiBHQ0NfV0FSTl9OT05fVklSVFVBTF9ERVNUUlVDVE9SID0gWUVTOwor
R0NDX1dBUk5fVU5ERUNMQVJFRF9TRUxFQ1RPUiA9IFlFUzsKIEdDQ19XQVJOX1VOSU5JVElBTEla
RURfQVVUT1MgPSBZRVMKK0dDQ19XQVJOX1VOVVNFRF9GVU5DVElPTiA9IFlFUzsKIEdDQ19XQVJO
X1VOVVNFRF9WQVJJQUJMRSA9IFlFUwotR0NDX1dBUk5fVU5VU0VEX1ZBUklBQkxFID0gWUVTOwog
TElOS0VSX0RJU1BMQVlTX01BTkdMRURfTkFNRVMgPSBZRVM7CiBXQVJOSU5HX0NGTEFHUyA9IC1X
YWxsIC1XIC1XY2hhci1zdWJzY3JpcHRzIC1XZm9ybWF0LXNlY3VyaXR5IC1XbWlzc2luZy1mb3Jt
YXQtYXR0cmlidXRlIC1XcG9pbnRlci1hcml0aCAtV3dyaXRlLXN0cmluZ3MgLVduby11bnVzZWQt
cGFyYW1ldGVyIC1XZXhpdC10aW1lLWRlc3RydWN0b3JzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvV2ViSW5zcGVjdG9yVUkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9XZWJJbnNwZWN0b3JVSS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDY3NzNhYzdlNmQ0YTYzM2JjNDljZTViNTNmMzE2MWIzYTJkODI1YjEuLjdh
ZWEzOWMxOTYxMGYyMjQ5OTE2NzVlOGMxMmVjODNmZGU2ODQ0ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9XZWJJbnNwZWN0b3JVSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9XZWJJbnNwZWN0b3JVSS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0xMTksNyArMTE5LDcgQEAKIAkJQTU0QzIyNEQxNDhCMjNERTAwMzcz
RkEzIC8qIFByb2plY3Qgb2JqZWN0ICovID0gewogCQkJaXNhID0gUEJYUHJvamVjdDsKIAkJCWF0
dHJpYnV0ZXMgPSB7Ci0JCQkJTGFzdFVwZ3JhZGVDaGVjayA9IDA0NTA7CisJCQkJTGFzdFVwZ3Jh
ZGVDaGVjayA9IDA2MDA7CiAJCQkJT1JHQU5JWkFUSU9OTkFNRSA9IEFwcGxlOwogCQkJfTsKIAkJ
CWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSBBNTRDMjI1MDE0OEIyM0RFMDAzNzNGQTMgLyogQnVp
bGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJXZWJJbnNwZWN0b3JVSSIgKi87
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA5NGM0YTA3MmI3MDVkMDViNjZkMGE0MWQzZWJlMTJjMmJhMzUzMDZhLi44YTFjOTc3MjJiYTA1
NGMwOGU1ODg0YzU2NTYyZWFlZGZkZTI3ZmIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE5NTMsNyArMTk1Myw3IEBACiAJCTA4NjdE
NjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLyA9IHsKIAkJCWlzYSA9IFBC
WFByb2plY3Q7CiAJCQlhdHRyaWJ1dGVzID0gewotCQkJCUxhc3RVcGdyYWRlQ2hlY2sgPSAwNTAw
OworCQkJCUxhc3RVcGdyYWRlQ2hlY2sgPSAwNjAwOwogCQkJfTsKIAkJCWJ1aWxkQ29uZmlndXJh
dGlvbkxpc3QgPSAxNDlDMjgzMjA4OTAyQjBGMDA4QTlFRkMgLyogQnVpbGQgY29uZmlndXJhdGlv
biBsaXN0IGZvciBQQlhQcm9qZWN0ICJXZWJLaXQiICovOwogCQkJY29tcGF0aWJpbGl0eVZlcnNp
b24gPSAiWGNvZGUgMy4yIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3Vy
YXRpb25zL0Jhc2UueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9C
YXNlLnhjY29uZmlnCmluZGV4IDZjNmMzZDdjNDY2NTE3OWNiOGNiMTMwYTcyNTE5NTA5ZTg4YjEw
M2IuLjBhMzVmZjNhOWUwZTcwNmY0ZjdhOWE2ZGNiN2U2ZmQ0YzA5MDQxMGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvU291
cmNlL1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwpAQCAtMzIsOCArMzIs
MTEgQEAgQ0xBTkdfV0FSTl9DWFgwWF9FWFRFTlNJT05TID0gTk87CiBDTEFOR19XQVJOX0VNUFRZ
X0JPRFkgPSBZRVM7CiBDTEFOR19XQVJOX0VOVU1fQ09OVkVSU0lPTiA9IFlFUzsKIENMQU5HX1dB
Uk5fSU5UX0NPTlZFUlNJT04gPSBZRVM7CitDTEFOR19XQVJOX1VOUkVBQ0hBQkxFX0NPREUgPSBZ
RVM7CiBDTEFOR19XQVJOX19EVVBMSUNBVEVfTUVUSE9EX01BVENIID0gWUVTOworQ09NQklORV9I
SURQSV9JTUFHRVMgPSBZRVM7CiBERUJVR19JTkZPUk1BVElPTl9GT1JNQVQgPSBkd2FyZi13aXRo
LWRzeW07CitFTkFCTEVfU1RSSUNUX09CSkNfTVNHU0VORCA9IFlFUzsKIEdDQ19DX0xBTkdVQUdF
X1NUQU5EQVJEID0gZ251OTk7CiBHQ0NfREVCVUdHSU5HX1NZTUJPTFMgPSBkZWZhdWx0OwogR0ND
X0RZTkFNSUNfTk9fUElDID0gTk87CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9IaXN0
b3J5L1dlYlVSTHNXaXRoVGl0bGVzLm0gYi9Tb3VyY2UvV2ViS2l0L21hYy9IaXN0b3J5L1dlYlVS
THNXaXRoVGl0bGVzLm0KaW5kZXggMzBmYmM4YWZjNTY1NTRhODZiY2VlYWE2MjAyYTUxNGJkMDQ1
NWU2NC4uNzEwZWQzMDc3ZTAwNjhiZDkwNTg4YTUzZDFhOGJkN2VjY2IxMzVhMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvSGlzdG9yeS9XZWJVUkxzV2l0aFRpdGxlcy5tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvbWFjL0hpc3RvcnkvV2ViVVJMc1dpdGhUaXRsZXMubQpAQCAtNTEsNyArNTEs
NyBAQCArKHZvaWQpd3JpdGVVUkxzOihOU0FycmF5ICopVVJMcyBhbmRUaXRsZXM6KE5TQXJyYXkg
Kil0aXRsZXMgdG9QYXN0ZWJvYXJkOihOU1BhcwogewogICAgIE5TTXV0YWJsZUFycmF5ICpVUkxT
dHJpbmdzOwogICAgIE5TTXV0YWJsZUFycmF5ICp0aXRsZXNPckVtcHR5U3RyaW5nczsKLSAgICB1
bnNpZ25lZCBpbmRleCwgY291bnQ7CisgICAgTlNVSW50ZWdlciBpbmRleCwgY291bnQ7CiAKICAg
ICBjb3VudCA9IFtVUkxzIGNvdW50XTsKICAgICBpZiAoY291bnQgPT0gMCkgewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJFbGVtZW50RGljdGlvbmFyeS5tbSBiL1NvdXJj
ZS9XZWJLaXQvbWFjL01pc2MvV2ViRWxlbWVudERpY3Rpb25hcnkubW0KaW5kZXggZTJmYTc3YTMx
OWJmOWExZTg4MWZiNTI4MDFkYWFiNTJjNmE4YTExNS4uN2ZlNzlhYWVhOTc4OTMyMTUxZjI2NzI0
MDgwMzU5MjQzZDIxNjc2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJF
bGVtZW50RGljdGlvbmFyeS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYkVsZW1l
bnREaWN0aW9uYXJ5Lm1tCkBAIC0xNjAsNyArMTYwLDcgQEAgLSAoaWQpb2JqZWN0Rm9yS2V5Oihp
ZClrZXkKICAgICAgICAgcmV0dXJuIG5pbDsKICAgICB2YWx1ZSA9IFtzZWxmIHBlcmZvcm1TZWxl
Y3RvcjpzZWxlY3Rvcl07CiAKLSAgICB1bnNpZ25lZCBsb29rdXBUYWJsZUNvdW50ID0gQ0ZEaWN0
aW9uYXJ5R2V0Q291bnQobG9va3VwVGFibGUpOworICAgIE5TVUludGVnZXIgbG9va3VwVGFibGVD
b3VudCA9IENGRGljdGlvbmFyeUdldENvdW50KGxvb2t1cFRhYmxlKTsKICAgICBpZiAodmFsdWUp
IHsKICAgICAgICAgaWYgKCFfY2FjaGUpCiAgICAgICAgICAgICBfY2FjaGUgPSBbW05TTXV0YWJs
ZURpY3Rpb25hcnkgYWxsb2NdIGluaXRXaXRoQ2FwYWNpdHk6bG9va3VwVGFibGVDb3VudF07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYk5TRGF0YUV4dHJhcy5tIGIvU291
cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJOU0RhdGFFeHRyYXMubQppbmRleCBjNTJmNWM1YzZkOTEx
M2YzN2E4NzcyYjJkYjM0ZGYyNTRhNDhlZjBiLi41NGE1YjY4MzZhOTkxYjI3OWIzNDU1Y2IyYTRk
OTRhYjdkNmFkNGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYk5TRGF0
YUV4dHJhcy5tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViTlNEYXRhRXh0cmFzLm0K
QEAgLTExMSw3ICsxMTEsNyBAQCBAaW1wbGVtZW50YXRpb24gTlNEYXRhIChXZWJLaXRFeHRyYXMp
CiAKIC0oTlNTdHJpbmcgKilfd2Via2l0X2d1ZXNzZWRNSU1FVHlwZUZvclhNTAogewotICAgIGlu
dCBsZW5ndGggPSBbc2VsZiBsZW5ndGhdOworICAgIE5TVUludGVnZXIgbGVuZ3RoID0gW3NlbGYg
bGVuZ3RoXTsKICAgICBjb25zdCBVSW50OCAqYnl0ZXMgPSBbc2VsZiBieXRlc107CiAgICAgCiAj
ZGVmaW5lIENIQU5ORUxfVEFHX0xFTkdUSCA3CkBAIC0xNzEsNyArMTcxLDcgQEAgLShOU1N0cmlu
ZyAqKV93ZWJraXRfZ3Vlc3NlZE1JTUVUeXBlCiAgICAgaWYgKFtNSU1FVHlwZSBsZW5ndGhdKQog
ICAgICAgICByZXR1cm4gTUlNRVR5cGU7CiAgICAgCi0gICAgaW50IGxlbmd0aCA9IFtzZWxmIGxl
bmd0aF07CisgICAgTlNVSW50ZWdlciBsZW5ndGggPSBbc2VsZiBsZW5ndGhdOwogICAgIGNvbnN0
IGNoYXIgKmJ5dGVzID0gW3NlbGYgYnl0ZXNdOwogICAgIAogICAgIGNvbnN0IGNoYXIgKnAgPSBi
eXRlczsKQEAgLTIzNiw4ICsyMzYsOCBAQCAtKE5TU3RyaW5nICopX3dlYmtpdF9ndWVzc2VkTUlN
RVR5cGUKICAgICB9CiAgICAgCiAgICAgLy8gVGVzdCBmb3IgcGxhaW4gdGV4dC4KLSAgICBpbnQg
aTsKLSAgICBmb3IoaT0wOyBpPGxlbmd0aDsgaSsrKXsKKyAgICBOU1VJbnRlZ2VyIGk7CisgICAg
Zm9yIChpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7CiAgICAgICAgIGNoYXIgYyA9IGJ5dGVzW2ld
OwogICAgICAgICBpZiAoKGMgPCAweDIwIHx8IGMgPiAweDdFKSAmJiAoYyAhPSAnXHQnICYmIGMg
IT0gJ1xyJyAmJiBjICE9ICdcbicpKSB7CiAgICAgICAgICAgICBicmVhazsKQEAgLTMxMSw3ICsz
MTEsNyBAQCAtKE5TTXV0YWJsZURpY3Rpb25hcnkgKilfd2Via2l0X3BhcnNlUkZDODIySGVhZGVy
RmllbGRzCiAgICAgTlNNdXRhYmxlRGljdGlvbmFyeSAqaGVhZGVyRmllbGRzID0gW05TTXV0YWJs
ZURpY3Rpb25hcnkgZGljdGlvbmFyeV07CiAKICAgICBjb25zdCBVSW50OCAqYnl0ZXMgPSBbc2Vs
ZiBieXRlc107Ci0gICAgdW5zaWduZWQgbGVuZ3RoID0gW3NlbGYgbGVuZ3RoXTsKKyAgICBOU1VJ
bnRlZ2VyIGxlbmd0aCA9IFtzZWxmIGxlbmd0aF07CiAgICAgTlNTdHJpbmcgKmxhc3RLZXkgPSBu
aWw7CiAgICAgY29uc3QgVUludDggKmVvbDsKIApAQCAtNDAwLDcgKzQwMCw3IEBAIC0gKEJPT0wp
X3dlYl9zdGFydHNXaXRoQmxhbmtMaW5lCiAtIChOU0ludGVnZXIpX3dlYl9sb2NhdGlvbkFmdGVy
Rmlyc3RCbGFua0xpbmUKIHsKICAgICBjb25zdCBjaGFyICpieXRlcyA9IChjb25zdCBjaGFyICop
W3NlbGYgYnl0ZXNdOwotICAgIHVuc2lnbmVkIGxlbmd0aCA9IFtzZWxmIGxlbmd0aF07CisgICAg
TlNVSW50ZWdlciBsZW5ndGggPSBbc2VsZiBsZW5ndGhdOwogICAgIAogICAgIHVuc2lnbmVkIGk7
CiAgICAgZm9yIChpID0gMDsgaSA8IGxlbmd0aCAtIDQ7IGkrKykgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJOU1VSTEV4dHJhcy5oIGIvU291cmNlL1dlYktpdC9tYWMv
TWlzYy9XZWJOU1VSTEV4dHJhcy5oCmluZGV4IDQ1YWMzYWViOWI1ZDdjMDQzMTExMzc1NjFlYTRk
OGViODliNWExMDEuLjhkNTg1ZjAzYjUwMDE5NmQ5YTNlMWMzMGZjNjNiNDdlYTNmZWI2NTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViTlNVUkxFeHRyYXMuaAorKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYk5TVVJMRXh0cmFzLmgKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNS0yMDA5LCAyMDE0
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtNDIsMTMgKzQyLDEwIEBACiArIChOU1VSTCAqKV93ZWJfVVJMV2l0aERhdGE6
KE5TRGF0YSAqKWRhdGE7CiArIChOU1VSTCAqKV93ZWJfVVJMV2l0aERhdGE6KE5TRGF0YSAqKWRh
dGEgcmVsYXRpdmVUb1VSTDooTlNVUkwgKiliYXNlVVJMOwogCi0tIChOU1VSTCAqKV93ZWJfVVJM
V2l0aExvd2VyY2FzZWRTY2hlbWU7Ci0KIC0gKE5TRGF0YSAqKV93ZWJfb3JpZ2luYWxEYXRhOwog
LSAoTlNTdHJpbmcgKilfd2ViX29yaWdpbmFsRGF0YUFzU3RyaW5nOwogLSAoY29uc3QgY2hhciAq
KV93ZWJfVVJMQ1N0cmluZzsKIAotLSAoTlNEYXRhICopX3dlYl9ob3N0RGF0YTsKIC0gKE5TU3Ry
aW5nICopX3dlYl9ob3N0U3RyaW5nOwogCiAtIChOU1N0cmluZyAqKV93ZWJfdXNlclZpc2libGVT
dHJpbmc7CkBAIC01Niw0NSArNTMsMzQgQEAKIC0gKEJPT0wpX3dlYl9pc0VtcHR5OwogCiAtIChO
U1VSTCAqKV93ZWJraXRfY2Fub25pY2FsaXplOwotLSAoTlNVUkwgKilfd2Via2l0X1VSTEJ5UmVt
b3ZpbmdGcmFnbWVudDsKLS0gKE5TVVJMICopX3dlYmtpdF9VUkxCeVJlbW92aW5nUmVzb3VyY2VT
cGVjaWZpZXI7CiAtIChOU1VSTCAqKV93ZWJfVVJMQnlSZW1vdmluZ1VzZXJJbmZvOwogCiAtIChC
T09MKV93ZWJraXRfaXNKYXZhU2NyaXB0VVJMOwogLSAoQk9PTClfd2Via2l0X2lzRmlsZVVSTDsK
IC0gKE5TU3RyaW5nICopX3dlYmtpdF9zY3JpcHRJZkphdmFTY3JpcHRVUkw7Ci0tIChCT09MKV93
ZWJraXRfaXNGVFBEaXJlY3RvcnlVUkw7Ci0KLS0gKEJPT0wpX3dlYmtpdF9zaG91bGRMb2FkQXNF
bXB0eURvY3VtZW50OwogCiAtIChOU1N0cmluZyAqKV93ZWJraXRfc3VnZ2VzdGVkRmlsZW5hbWVX
aXRoTUlNRVR5cGU6KE5TU3RyaW5nICopTUlNRVR5cGU7CiAKIC0gKE5TVVJMICopX3dlYmtpdF9V
UkxGcm9tVVJMT3JTY2hlbWVsZXNzRmlsZVVSTDsKIAogI2lmIFRBUkdFVF9PU19JUEhPTkUKKy8v
IEZJWE1FOiBUaGlzIG1ldGhvZCBuYW1lIG5lZWRzIGEgcHJlZml4LgogKyAoTlNVUkwgKil1bmlx
dWVVUkxXaXRoUmVsYXRpdmVQYXJ0OihOU1N0cmluZyAqKXJlbGF0aXZlUGFydDsKICNlbmRpZgor
CiBAZW5kCiAKIEBpbnRlcmZhY2UgTlNTdHJpbmcgKFdlYk5TVVJMRXh0cmFzKQogCiAtIChCT09M
KV93ZWJfaXNVc2VyVmlzaWJsZVVSTDsKIAotLSAoQk9PTClfd2ViX2hvc3ROYW1lTmVlZHNEZWNv
ZGluZ1dpdGhSYW5nZTooTlNSYW5nZSlyYW5nZTsgLy8gcmV0dXJucyBOTyBpZiBkZWNvZGVIb3N0
TmFtZVdpdGhSYW5nZTogd291bGQgcmV0dXJuIG5pbCwgYnV0IG1vcmUgZWZmaWNpZW50Ci0tIChC
T09MKV93ZWJfaG9zdE5hbWVOZWVkc0VuY29kaW5nV2l0aFJhbmdlOihOU1JhbmdlKXJhbmdlOyAv
LyByZXR1cm5zIE5PIGlmIGVuY29kZUhvc3ROYW1lV2l0aFJhbmdlOiB3b3VsZCByZXR1cm4gbmls
LCBidXQgbW9yZSBlZmZpY2llbnQKLQotLSAoTlNTdHJpbmcgKilfd2ViX2RlY29kZUhvc3ROYW1l
V2l0aFJhbmdlOihOU1JhbmdlKXJhbmdlOyAvLyB0dXJucyBmdW5ueS1sb29raW5nIEFTQ0lJIGZv
cm0gaW50byBVbmljb2RlLCByZXR1cm5zIG5pbCBpZiBubyBkZWNvZGluZyBuZWVkZWQKLS0gKE5T
U3RyaW5nICopX3dlYl9lbmNvZGVIb3N0TmFtZVdpdGhSYW5nZTooTlNSYW5nZSlyYW5nZTsgLy8g
dHVybnMgVW5pY29kZSBpbnRvIGZ1bm55LWxvb2tpbmcgQVNDSUkgZm9ybSwgcmV0dXJucyBuaWwg
aWYgbm8gZGVjb2RpbmcgbmVlZGVkCi0KIC0gKE5TU3RyaW5nICopX3dlYl9kZWNvZGVIb3N0TmFt
ZTsgLy8gdHVybnMgZnVubnktbG9va2luZyBBU0NJSSBmb3JtIGludG8gVW5pY29kZSwgcmV0dXJu
cyBzZWxmIGlmIG5vIGRlY29kaW5nIG5lZWRlZCwgY29udmVuaWVudCBjb3ZlcgogLSAoTlNTdHJp
bmcgKilfd2ViX2VuY29kZUhvc3ROYW1lOyAvLyB0dXJucyBVbmljb2RlIGludG8gZnVubnktbG9v
a2luZyBBU0NJSSBmb3JtLCByZXR1cm5zIHNlbGYgaWYgbm8gZGVjb2RpbmcgbmVlZGVkLCBjb252
ZW5pZW50IGNvdmVyCiAKIC0gKEJPT0wpX3dlYmtpdF9pc0phdmFTY3JpcHRVUkw7Ci0tIChCT09M
KV93ZWJraXRfaXNGVFBEaXJlY3RvcnlVUkw7CiAtIChCT09MKV93ZWJraXRfaXNGaWxlVVJMOwog
LSAoQk9PTClfd2Via2l0X2xvb2tzTGlrZUFic29sdXRlVVJMOwogLSAoTlNSYW5nZSlfd2Via2l0
X3JhbmdlT2ZVUkxTY2hlbWU7Ci0tIChOU1N0cmluZyAqKV93ZWJraXRfVVJMRnJhZ21lbnQ7CiAt
IChOU1N0cmluZyAqKV93ZWJraXRfc2NyaXB0SWZKYXZhU2NyaXB0VVJMOwogCiAjaWYgVEFSR0VU
X09TX0lQSE9ORQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJOU1VSTEV4
dHJhcy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViTlNVUkxFeHRyYXMubW0KaW5kZXgg
OTBkMWYwY2YxZTU2NTc2ZWIwODZjOThiMzg4MTQwM2U3NTY0N2QzMy4uMzU3MWI4ZmUwZDllNmNm
MjQ5YmNiOWVjZDM5MDVhZjg1Y2Y5ZDI2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
TWlzYy9XZWJOU1VSTEV4dHJhcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYk5T
VVJMRXh0cmFzLm1tCkBAIC0xMzIsMjEgKzEzMiw2IEBAIC0gKE5TVVJMICopX3dlYmtpdF9jYW5v
bmljYWxpemUKICAgICByZXR1cm4gVVJMQnlDYW5vbmljYWxpemluZ1VSTChzZWxmKTsKIH0KIAot
LSAoTlNVUkwgKilfd2ViX1VSTEJ5VHJ1bmNhdGluZ09uZUNoYXJhY3RlckJlZm9yZUNvbXBvbmVu
dDooQ0ZVUkxDb21wb25lbnRUeXBlKWNvbXBvbmVudAotewotICAgIHJldHVybiBVUkxCeVRydW5j
YXRpbmdPbmVDaGFyYWN0ZXJCZWZvcmVDb21wb25lbnQoc2VsZiwgY29tcG9uZW50KTsKLX0KLQot
LSAoTlNVUkwgKilfd2Via2l0X1VSTEJ5UmVtb3ZpbmdGcmFnbWVudAotewotICAgIHJldHVybiBV
UkxCeVRydW5jYXRpbmdPbmVDaGFyYWN0ZXJCZWZvcmVDb21wb25lbnQoc2VsZiwga0NGVVJMQ29t
cG9uZW50RnJhZ21lbnQpOwotfQotCi0tIChOU1VSTCAqKV93ZWJraXRfVVJMQnlSZW1vdmluZ1Jl
c291cmNlU3BlY2lmaWVyCi17Ci0gICAgcmV0dXJuIFVSTEJ5VHJ1bmNhdGluZ09uZUNoYXJhY3Rl
ckJlZm9yZUNvbXBvbmVudChzZWxmLCBrQ0ZVUkxDb21wb25lbnRSZXNvdXJjZVNwZWNpZmllcik7
Ci19Ci0KIC0gKE5TVVJMICopX3dlYl9VUkxCeVJlbW92aW5nVXNlckluZm8KIHsKICAgICByZXR1
cm4gVVJMQnlSZW1vdmluZ1VzZXJJbmZvKHNlbGYpOwpAQCAtMTY3LDU3ICsxNTIsNiBAQCAtIChC
T09MKV93ZWJraXRfaXNGaWxlVVJMCiAgICAgcmV0dXJuIFtbc2VsZiBfd2ViX29yaWdpbmFsRGF0
YUFzU3RyaW5nXSBfd2Via2l0X2lzRmlsZVVSTF07CiB9CiAKLS0gKEJPT0wpX3dlYmtpdF9pc0ZU
UERpcmVjdG9yeVVSTAotewotICAgIHJldHVybiBbW3NlbGYgX3dlYl9vcmlnaW5hbERhdGFBc1N0
cmluZ10gX3dlYmtpdF9pc0ZUUERpcmVjdG9yeVVSTF07Ci19Ci0KLS0gKEJPT0wpX3dlYmtpdF9z
aG91bGRMb2FkQXNFbXB0eURvY3VtZW50Ci17Ci0gICAgcmV0dXJuIFtbc2VsZiBfd2ViX29yaWdp
bmFsRGF0YUFzU3RyaW5nXSBfd2Via2l0X2hhc0Nhc2VJbnNlbnNpdGl2ZVByZWZpeDpAImFib3V0
OiJdIHx8IFtzZWxmIF93ZWJfaXNFbXB0eV07Ci19Ci0KLS0gKE5TVVJMICopX3dlYl9VUkxXaXRo
TG93ZXJjYXNlZFNjaGVtZQotewotICAgIENGUmFuZ2UgcmFuZ2U7Ci0gICAgQ0ZVUkxHZXRCeXRl
UmFuZ2VGb3JDb21wb25lbnQoKENGVVJMUmVmKXNlbGYsIGtDRlVSTENvbXBvbmVudFNjaGVtZSwg
JnJhbmdlKTsKLSAgICBpZiAocmFuZ2UubG9jYXRpb24gPT0ga0NGTm90Rm91bmQpIHsKLSAgICAg
ICAgcmV0dXJuIHNlbGY7Ci0gICAgfQotICAgIAotICAgIFVJbnQ4IHN0YXRpY19idWZmZXJbVVJM
X0JZVEVTX0JVRkZFUl9MRU5HVEhdOwotICAgIFVJbnQ4ICpidWZmZXIgPSBzdGF0aWNfYnVmZmVy
OwotICAgIENGSW5kZXggYnl0ZXNGaWxsZWQgPSBDRlVSTEdldEJ5dGVzKChDRlVSTFJlZilzZWxm
LCBidWZmZXIsIFVSTF9CWVRFU19CVUZGRVJfTEVOR1RIKTsKLSAgICBpZiAoYnl0ZXNGaWxsZWQg
PT0gLTEpIHsKLSAgICAgICAgQ0ZJbmRleCBieXRlc1RvQWxsb2NhdGUgPSBDRlVSTEdldEJ5dGVz
KChDRlVSTFJlZilzZWxmLCBOVUxMLCAwKTsKLSAgICAgICAgYnVmZmVyID0gc3RhdGljX2Nhc3Q8
VUludDggKj4obWFsbG9jKGJ5dGVzVG9BbGxvY2F0ZSkpOwotICAgICAgICBieXRlc0ZpbGxlZCA9
IENGVVJMR2V0Qnl0ZXMoKENGVVJMUmVmKXNlbGYsIGJ1ZmZlciwgYnl0ZXNUb0FsbG9jYXRlKTsK
LSAgICAgICAgQVNTRVJUKGJ5dGVzRmlsbGVkID09IGJ5dGVzVG9BbGxvY2F0ZSk7Ci0gICAgfQot
ICAgIAotICAgIGludCBpOwotICAgIEJPT0wgY2hhbmdlZCA9IE5POwotICAgIGZvciAoaSA9IDA7
IGkgPCByYW5nZS5sZW5ndGg7ICsraSkgewotICAgICAgICBjaGFyIGMgPSBidWZmZXJbcmFuZ2Uu
bG9jYXRpb24gKyBpXTsKLSAgICAgICAgY2hhciBsb3dlciA9IHRvQVNDSUlMb3dlcihjKTsKLSAg
ICAgICAgaWYgKGMgIT0gbG93ZXIpIHsKLSAgICAgICAgICAgIGJ1ZmZlcltyYW5nZS5sb2NhdGlv
biArIGldID0gbG93ZXI7Ci0gICAgICAgICAgICBjaGFuZ2VkID0gWUVTOwotICAgICAgICB9Ci0g
ICAgfQotICAgIAotICAgIE5TVVJMICpyZXN1bHQgPSBjaGFuZ2VkCi0gICAgICAgID8gQ0ZCcmlk
Z2luZ1JlbGVhc2UoQ0ZVUkxDcmVhdGVBYnNvbHV0ZVVSTFdpdGhCeXRlcyhOVUxMLCBidWZmZXIs
IGJ5dGVzRmlsbGVkLCBrQ0ZTdHJpbmdFbmNvZGluZ1VURjgsIG5pbCwgWUVTKSkKLSAgICAgICAg
OiBzZWxmOwotCi0gICAgaWYgKGJ1ZmZlciAhPSBzdGF0aWNfYnVmZmVyKSB7Ci0gICAgICAgIGZy
ZWUoYnVmZmVyKTsKLSAgICB9Ci0gICAgCi0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLQotCiAtKE5T
RGF0YSAqKV93ZWJfc2NoZW1lU2VwYXJhdG9yV2l0aG91dENvbG9uCiB7CiAgICAgTlNEYXRhICpy
ZXN1bHQgPSBuaWw7CkBAIC0zMTgsMzYgKzI1Miw2IEBAIC0gKE5TU3RyaW5nICopX3dlYmtpdF9z
Y3JpcHRJZkphdmFTY3JpcHRVUkwKICAgICByZXR1cm4gW1tzZWxmIHN1YnN0cmluZ0Zyb21JbmRl
eDoxMV0gX3dlYmtpdF9zdHJpbmdCeVJlcGxhY2luZ1ZhbGlkUGVyY2VudEVzY2FwZXNdOwogfQog
Ci0tIChCT09MKV93ZWJraXRfaXNGVFBEaXJlY3RvcnlVUkwKLXsKLSAgICBpbnQgbGVuZ3RoID0g
W3NlbGYgbGVuZ3RoXTsKLSAgICBpZiAobGVuZ3RoIDwgNSkgeyAgLy8gNSBpcyBsZW5ndGggb2Yg
ImZ0cDovIgotICAgICAgICByZXR1cm4gTk87Ci0gICAgfQotICAgIHVuaWNoYXIgbGFzdENoYXIg
PSBbc2VsZiBjaGFyYWN0ZXJBdEluZGV4Omxlbmd0aCAtIDFdOwotICAgIHJldHVybiBsYXN0Q2hh
ciA9PSAnLycgJiYgW3NlbGYgX3dlYmtpdF9oYXNDYXNlSW5zZW5zaXRpdmVQcmVmaXg6QCJmdHA6
Il07Ci19Ci0KLS0gKEJPT0wpX3dlYl9ob3N0TmFtZU5lZWRzRGVjb2RpbmdXaXRoUmFuZ2U6KE5T
UmFuZ2UpcmFuZ2UKLXsKLSAgICByZXR1cm4gaG9zdE5hbWVOZWVkc0RlY29kaW5nV2l0aFJhbmdl
KHNlbGYsIHJhbmdlKTsKLX0KLQotLSAoQk9PTClfd2ViX2hvc3ROYW1lTmVlZHNFbmNvZGluZ1dp
dGhSYW5nZTooTlNSYW5nZSlyYW5nZQotewotICAgIHJldHVybiBob3N0TmFtZU5lZWRzRW5jb2Rp
bmdXaXRoUmFuZ2Uoc2VsZiwgcmFuZ2UpOwotfQotCi0tIChOU1N0cmluZyAqKV93ZWJfZGVjb2Rl
SG9zdE5hbWVXaXRoUmFuZ2U6KE5TUmFuZ2UpcmFuZ2UKLXsKLSAgICByZXR1cm4gZGVjb2RlSG9z
dE5hbWVXaXRoUmFuZ2Uoc2VsZiwgcmFuZ2UpOwotfQotCi0tIChOU1N0cmluZyAqKV93ZWJfZW5j
b2RlSG9zdE5hbWVXaXRoUmFuZ2U6KE5TUmFuZ2UpcmFuZ2UKLXsKLSAgICByZXR1cm4gZW5jb2Rl
SG9zdE5hbWVXaXRoUmFuZ2Uoc2VsZiwgcmFuZ2UpOwotfQotCiAtIChOU1N0cmluZyAqKV93ZWJf
ZGVjb2RlSG9zdE5hbWUKIHsKICAgICByZXR1cm4gZGVjb2RlSG9zdE5hbWUoc2VsZik7CkBAIC0z
ODYsMTYgKzI5MCw2IEBAIC0oQk9PTClfd2Via2l0X2xvb2tzTGlrZUFic29sdXRlVVJMCiAgICAg
cmV0dXJuIFtbc2VsZiBfd2Via2l0X3N0cmluZ0J5VHJpbW1pbmdXaGl0ZXNwYWNlXSBfd2Via2l0
X3JhbmdlT2ZVUkxTY2hlbWVdLmxvY2F0aW9uICE9IE5TTm90Rm91bmQ7CiB9CiAKLS0gKE5TU3Ry
aW5nICopX3dlYmtpdF9VUkxGcmFnbWVudAotewotICAgIE5TUmFuZ2UgZnJhZ21lbnRSYW5nZTsK
LSAgICAKLSAgICBmcmFnbWVudFJhbmdlID0gW3NlbGYgcmFuZ2VPZlN0cmluZzpAIiMiIG9wdGlv
bnM6TlNMaXRlcmFsU2VhcmNoXTsKLSAgICBpZiAoZnJhZ21lbnRSYW5nZS5sb2NhdGlvbiA9PSBO
U05vdEZvdW5kKQotICAgICAgICByZXR1cm4gbmlsOwotICAgIHJldHVybiBbc2VsZiBzdWJzdHJp
bmdGcm9tSW5kZXg6ZnJhZ21lbnRSYW5nZS5sb2NhdGlvbiArIDFdOwotfQotCiAjaWYgUExBVEZP
Uk0oSU9TKQogCiAtIChOU1N0cmluZyAqKV93ZWJraXRfdW5lc2NhcGVkUXVlcnlWYWx1ZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJQbHVnaW5EYXRhYmFzZS5tbSBi
L1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViUGx1Z2luRGF0YWJhc2UubW0KaW5kZXggN2Zk
M2FlYjJjYmY0ZmI3NjdjNmY2MDQ4YzNjZmRlMmM0MWY3MTk3Ny4uYjJlZDViNTk2MDc1MDgyNzFh
YWU5YjJlNTExNWNiZGYzNTlhMjMxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1
Z2lucy9XZWJQbHVnaW5EYXRhYmFzZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5z
L1dlYlBsdWdpbkRhdGFiYXNlLm1tCkBAIC0zNDgsMTIgKzM0OCw3IEBAIC0gKHZvaWQpcmVtb3Zl
UGx1Z2luSW5zdGFuY2VWaWV3c0ZvcjooV2ViRnJhbWUqKXdlYkZyYW1lCiAKICAgICBOU1ZpZXcg
PFdlYkRvY3VtZW50Vmlldz4gKmRvY3VtZW50VmlldyA9IFtbd2ViRnJhbWUgZnJhbWVWaWV3XSBk
b2N1bWVudFZpZXddOyAKICAgICBpZiAoW2RvY3VtZW50VmlldyBpc0tpbmRPZkNsYXNzOltXZWJI
VE1MVmlldyBjbGFzc11dKSB7Ci0gICAgICAgIE5TQXJyYXkgKnN1YnZpZXdzID0gW2RvY3VtZW50
VmlldyBzdWJ2aWV3c107IAotICAgICAgICB1bnNpZ25lZCBpbnQgc3Vidmlld0NvdW50ID0gW3N1
YnZpZXdzIGNvdW50XTsgCi0gICAgICAgIHVuc2lnbmVkIGludCBzdWJ2aWV3SW5kZXg7IAotICAg
ICAgICAKLSAgICAgICAgZm9yIChzdWJ2aWV3SW5kZXggPSAwOyBzdWJ2aWV3SW5kZXggPCBzdWJ2
aWV3Q291bnQ7IHN1YnZpZXdJbmRleCsrKSB7IAotICAgICAgICAgICAgTlNWaWV3ICpzdWJ2aWV3
ID0gW3N1YnZpZXdzIG9iamVjdEF0SW5kZXg6c3Vidmlld0luZGV4XTsgCisgICAgICAgIGZvciAo
TlNWaWV3ICpzdWJ2aWV3IGluIFtkb2N1bWVudFZpZXcgc3Vidmlld3NdKSB7CiAjaWYgRU5BQkxF
KE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgICAgICAgICBpZiAoW3N1YnZpZXcgaXNLaW5kT2ZD
bGFzczpbV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldyBjbGFzc11dIHx8IFtXZWJQbHVnaW5Db250
cm9sbGVyIGlzUGx1Z0luVmlldzpzdWJ2aWV3XSkKICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lci5tbSBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk9wZW5QYW5lbFJlc3VsdExpc3Rl
bmVyLm1tCmluZGV4IDEyODE0ZWExMWIyZjQxNTgzNDgwZGQwYTg4MjYwZDhiOGMxZDRhNTEuLjBm
OTU5MTkxZGI4NWU1ZmNkYWY1YjdiOGY2OTM0YWJlODI0NzliNWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYk9wZW5QYW5lbFJlc3Vs
dExpc3RlbmVyLm1tCkBAIC04Myw5ICs4Myw5IEBAIC0gKHZvaWQpY2hvb3NlRmlsZW5hbWVzOihO
U0FycmF5ICopZmlsZW5hbWVzCiAgICAgQVNTRVJUKF9jaG9vc2VyKTsKICAgICBpZiAoIV9jaG9v
c2VyKQogICAgICAgICByZXR1cm47Ci0gICAgaW50IGNvdW50ID0gW2ZpbGVuYW1lcyBjb3VudF07
IAorICAgIE5TVUludGVnZXIgY291bnQgPSBbZmlsZW5hbWVzIGNvdW50XTsKICAgICBWZWN0b3I8
U3RyaW5nPiBuYW1lcyhjb3VudCk7Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCBjb3VudDsgaSsr
KQorICAgIGZvciAoTlNVSW50ZWdlciBpID0gMDsgaSA8IGNvdW50OyBpKyspCiAgICAgICAgIG5h
bWVzW2ldID0gW2ZpbGVuYW1lcyBvYmplY3RBdEluZGV4OmldOwogICAgIF9jaG9vc2VyLT5jaG9v
c2VGaWxlcyhuYW1lcyk7CiAgICAgX2Nob29zZXItPmRlcmVmKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkRlbGVnYXRlSW1wbGVtZW50YXRpb25DYWNoaW5nLm1t
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJEZWxlZ2F0ZUltcGxlbWVudGF0aW9uQ2Fj
aGluZy5tbQppbmRleCAxZjJhOGM3MDBlMjhhMWY3MTI0ZDVlMTUzNWM2NzlkMzA0OTViNzdiLi4z
ZmVkZjI5YjRjNDdhMWRjZDU0YTY5NDcwYTQ5ZmU1NTcxMmNkODBhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkRlbGVnYXRlSW1wbGVtZW50YXRpb25DYWNoaW5nLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRGVsZWdhdGVJbXBsZW1lbnRhdGlv
bkNhY2hpbmcubW0KQEAgLTU1OCw3ICs1NTgsNyBAQCBzdGF0aWMgaW5saW5lIGlkIENhbGxEZWxl
Z2F0ZShJTVAgaW1wbGVtZW50YXRpb24sIFdlYlZpZXcgKnNlbGYsIGlkIGRlbGVnYXRlLCBTRQog
ICAgIGlmICghZGVsZWdhdGUpCiAgICAgICAgIHJldHVybiBuaWw7CiAgICAgQHRyeSB7Ci0gICAg
ICAgIHJldHVybiBpbXBsZW1lbnRhdGlvbihkZWxlZ2F0ZSwgc2VsZWN0b3IsIHNlbGYsIGludGVn
ZXIpOworICAgICAgICByZXR1cm4gd3RmQ2FsbElNUDxpZD4oaW1wbGVtZW50YXRpb24sIGRlbGVn
YXRlLCBzZWxlY3Rvciwgc2VsZiwgaW50ZWdlcik7CiAgICAgfSBAY2F0Y2goaWQgZXhjZXB0aW9u
KSB7CiAgICAgICAgIFJlcG9ydERpc2NhcmRlZERlbGVnYXRlRXhjZXB0aW9uKHNlbGVjdG9yLCBl
eGNlcHRpb24pOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViVGV4dENvbXBsZXRpb25Db250cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJUZXh0Q29tcGxldGlvbkNvbnRyb2xsZXIubW0KaW5kZXggNTRiNzJkZDk5NjBlNzBiMDAx
NzVmMDJlNTJiNjkxMjVmNThlOTQ3ZC4uYWY4MTJmM2QyN2NhMTVjNTQ0MmYwNDgyMzgyZDNlYTYz
NWMzNjdlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJUZXh0Q29t
cGxldGlvbkNvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJU
ZXh0Q29tcGxldGlvbkNvbnRyb2xsZXIubW0KQEAgLTEyNSw3ICsxMjUsNyBAQCAtICh2b2lkKV9i
dWlsZFVJCiAvLyBtb3N0bHkgbGlmdGVkIGZyb20gTlNUZXh0Vmlld19LZXlCaW5kaW5nLm0KIC0g
KHZvaWQpX3BsYWNlUG9wdXBXaW5kb3c6KE5TUG9pbnQpdG9wTGVmdAogewotICAgIGludCBudW1i
ZXJUb1Nob3cgPSBbX2NvbXBsZXRpb25zIGNvdW50XTsKKyAgICBOU1VJbnRlZ2VyIG51bWJlclRv
U2hvdyA9IFtfY29tcGxldGlvbnMgY291bnRdOwogICAgIGlmIChudW1iZXJUb1Nob3cgPiAyMCkK
ICAgICAgICAgbnVtYmVyVG9TaG93ID0gMjA7CiAKQEAgLTE0MCw4ICsxNDAsNyBAQCAtICh2b2lk
KV9wbGFjZVBvcHVwV2luZG93OihOU1BvaW50KXRvcExlZnQKICAgICBOU0RpY3Rpb25hcnkgKmF0
dHJpYnV0ZXMgPSBbTlNEaWN0aW9uYXJ5IGRpY3Rpb25hcnlXaXRoT2JqZWN0c0FuZEtleXM6W05T
Rm9udCBzeXN0ZW1Gb250T2ZTaXplOjEyLjBmXSwgTlNGb250QXR0cmlidXRlTmFtZSwgbmlsXTsK
ICAgICBDR0Zsb2F0IG1heFdpZHRoID0gMDsKICAgICBpbnQgbWF4SW5kZXggPSAtMTsKLSAgICBp
bnQgaTsKLSAgICBmb3IgKGkgPSAwOyBpIDwgbnVtYmVyVG9TaG93OyBpKyspIHsKKyAgICBmb3Ig
KE5TVUludGVnZXIgaSA9IDA7IGkgPCBudW1iZXJUb1Nob3c7IGkrKykgewogICAgICAgICBmbG9h
dCB3aWR0aCA9IGNlaWxmKFtbX2NvbXBsZXRpb25zIG9iamVjdEF0SW5kZXg6aV0gc2l6ZVdpdGhB
dHRyaWJ1dGVzOmF0dHJpYnV0ZXNdLndpZHRoKTsKICAgICAgICAgaWYgKHdpZHRoID4gbWF4V2lk
dGgpIHsKICAgICAgICAgICAgIG1heFdpZHRoID0gd2lkdGg7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnIGIvU291cmNlL1dlYktpdDIvQ29u
ZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwppbmRleCA3MzYxZGYyMDhkNDEzMGM3MWUzYTNmOWVj
NTM5NTYzYjgzNWUxMWMzLi44YTYxZTQ1NTZjNWUzOGQ0MTQ3YThhZmZhZTc5ZjI4YzdkZjA1Nzg4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmln
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTMy
LDggKzMyLDExIEBAIENMQU5HX1dBUk5fQ1hYMFhfRVhURU5TSU9OUyA9IE5POwogQ0xBTkdfV0FS
Tl9FTVBUWV9CT0RZID0gWUVTOwogQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04gPSBZRVM7CiBD
TEFOR19XQVJOX0lOVF9DT05WRVJTSU9OID0gWUVTOworQ0xBTkdfV0FSTl9VTlJFQUNIQUJMRV9D
T0RFID0gWUVTOwogQ0xBTkdfV0FSTl9fRFVQTElDQVRFX01FVEhPRF9NQVRDSCA9IFlFUzsKK0NP
TUJJTkVfSElEUElfSU1BR0VTID0gWUVTOwogREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gZHdh
cmYtd2l0aC1kc3ltOworRU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQgPSBZRVM7CiBHQ0NfQ19M
QU5HVUFHRV9TVEFOREFSRCA9IGdudTk5OwogR0NDX0RFQlVHR0lOR19TWU1CT0xTID0gZGVmYXVs
dDsKIEdDQ19EWU5BTUlDX05PX1BJQyA9IE5POwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
UGx1Z2luUHJvY2Vzcy9tYWMvUGx1Z2luUHJvY2Vzc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1Bs
dWdpblByb2Nlc3MvbWFjL1BsdWdpblByb2Nlc3NNYWMubW0KaW5kZXggZjM1YzFiMDkwZmE5MDIy
YmIxOTg4MmNmM2FiMThhNjllM2ZjMTdmNC4uMGEwMjFmMmYyZTliMDdlMjE5MWQ5ZDQ1ZGY2YzIx
Y2VmODcxYTMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9tYWMv
UGx1Z2luUHJvY2Vzc01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL21h
Yy9QbHVnaW5Qcm9jZXNzTWFjLm1tCkBAIC0yNjQsNyArMjY0LDcgQEAgc3RhdGljIHZvaWQgaW5p
dGlhbGl6ZVNoaW0oKQogfQogI2VuZGlmCiAKLXN0YXRpYyBJTVAgTlNDb25jcmV0ZVRhc2tfbGF1
bmNoOworc3RhdGljIHZvaWQgKCpOU0NvbmNyZXRlVGFza19sYXVuY2gpKE5TVGFzayAqLCBTRUwp
OwogCiBzdGF0aWMgdm9pZCByZXBsYWNlZE5TQ29uY3JldGVUYXNrX2xhdW5jaChOU1Rhc2sgKnNl
bGYsIFNFTCBfY21kKQogewpAQCAtMzE4LDcgKzMxOCw3IEBAIHN0YXRpYyB2b2lkIGluaXRpYWxp
emVDb2NvYU92ZXJyaWRlcygpCiB7CiAgICAgLy8gT3ZlcnJpZGUgLVtOU0NvbmNyZXRlVGFzayBs
YXVuY2g6XQogICAgIE1ldGhvZCBsYXVuY2hNZXRob2QgPSBjbGFzc19nZXRJbnN0YW5jZU1ldGhv
ZChvYmpjX2dldENsYXNzKCJOU0NvbmNyZXRlVGFzayIpLCBAc2VsZWN0b3IobGF1bmNoKSk7Ci0g
ICAgTlNDb25jcmV0ZVRhc2tfbGF1bmNoID0gbWV0aG9kX3NldEltcGxlbWVudGF0aW9uKGxhdW5j
aE1ldGhvZCwgcmVpbnRlcnByZXRfY2FzdDxJTVA+KHJlcGxhY2VkTlNDb25jcmV0ZVRhc2tfbGF1
bmNoKSk7CisgICAgTlNDb25jcmV0ZVRhc2tfbGF1bmNoID0gcmVpbnRlcnByZXRfY2FzdDx2b2lk
ICgqKShOU1Rhc2sgKiwgU0VMKT4obWV0aG9kX3NldEltcGxlbWVudGF0aW9uKGxhdW5jaE1ldGhv
ZCwgcmVpbnRlcnByZXRfY2FzdDxJTVA+KHJlcGxhY2VkTlNDb25jcmV0ZVRhc2tfbGF1bmNoKSkp
OwogCiAgICAgLy8gT3ZlcnJpZGUgLVtOU1dvcmtzcGFjZSBsYXVuY2hBcHBsaWNhdGlvbkF0VVJM
Om9wdGlvbnM6Y29uZmlndXJhdGlvbjplcnJvcjpdCiAgICAgTWV0aG9kIGxhdW5jaEFwcGxpY2F0
aW9uQXRVUkxPcHRpb25zQ29uZmlndXJhdGlvbkVycm9yTWV0aG9kID0gY2xhc3NfZ2V0SW5zdGFu
Y2VNZXRob2Qob2JqY19nZXRDbGFzcygiTlNXb3Jrc3BhY2UiKSwgQHNlbGVjdG9yKGxhdW5jaEFw
cGxpY2F0aW9uQXRVUkw6b3B0aW9uczpjb25maWd1cmF0aW9uOmVycm9yOikpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5jcHAKaW5k
ZXggY2Q3OGE1ZGQ2MWNlYWE1ZGFlODg2OTRiOTM4NjEyMjRiOGE2ODM4NS4uZGNjMGJlODQwYWE2
NDdjM2UwZDQ1ZjM1NGMwMTY0ZjEyOWY1YTQ4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5JbmZvU3RvcmUuY3BwCkBAIC0xNTYsOCArMTU2LDgg
QEAgc3RhdGljIGlubGluZSBTdHJpbmcgcGF0aEV4dGVuc2lvbihjb25zdCBVUkwmIHVybCkKICAg
ICBTdHJpbmcgZXh0ZW5zaW9uOwogICAgIFN0cmluZyBmaWxlbmFtZSA9IHVybC5sYXN0UGF0aENv
bXBvbmVudCgpOwogICAgIGlmICghZmlsZW5hbWUuZW5kc1dpdGgoJy8nKSkgewotICAgICAgICBp
bnQgZXh0ZW5zaW9uUG9zID0gZmlsZW5hbWUucmV2ZXJzZUZpbmQoJy4nKTsKLSAgICAgICAgaWYg
KGV4dGVuc2lvblBvcyAhPSAtMSkKKyAgICAgICAgc2l6ZV90IGV4dGVuc2lvblBvcyA9IGZpbGVu
YW1lLnJldmVyc2VGaW5kKCcuJyk7CisgICAgICAgIGlmIChleHRlbnNpb25Qb3MgIT0gbm90Rm91
bmQpCiAgICAgICAgICAgICBleHRlbnNpb24gPSBmaWxlbmFtZS5zdWJzdHJpbmcoZXh0ZW5zaW9u
UG9zICsgMSk7CiAgICAgfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0
Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGM5MGQ3NzVmNjM4ZDgyOWFjMTc1NTI1NTM4MjBm
Zjg2Mjc4YTczMDUuLjA3NGFmY2ZlYzg5NzdlZDk0NjQxNWFmZWY2NmE5NTIzM2U4YzFkNzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
QEAgLTcxNyw3ICs3MTcsNiBAQAogCQkzNzNDRUFEODE4NTk1NTNGMDA4QzM2M0QgLyogV0tQYWdl
UG9saWN5Q2xpZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDM3M0NFQUQ3MTg1OTU1M0YwMDhDMzYzRCAvKiBXS1BhZ2VQb2xpY3lDbGll
bnRJbnRlcm5hbC5oICovOyB9OwogCQkzNzNEMTIyMjE4QTQ3MzAxMDA2NkQ5Q0MgLyogX1dLRnJh
bWVIYW5kbGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzNzNEMTIyMDE4QTQ3MzAxMDA2NkQ5Q0MgLyogX1dLRnJhbWVIYW5kbGUubW0gKi87IH07CiAJ
CTM3M0QxMjIzMThBNDczMDEwMDY2RDlDQyAvKiBfV0tGcmFtZUhhbmRsZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzczRDEyMjExOEE0NzMwMTAwNjZE
OUNDIC8qIF9XS0ZyYW1lSGFuZGxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKLQkJMzczRDEyMjUxOEE0NzNCMzAwNjZEOUNDIC8qIFdLQnJvd3NpbmdD
b250ZXh0SGFuZGxlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDM3M0QxMjI0MThBNDczQjMwMDY2RDlDQyAvKiBXS0Jyb3dzaW5nQ29udGV4
dEhhbmRsZUludGVybmFsLmggKi87IH07CiAJCTM3M0QxMjI3MThBNDczRjYwMDY2RDlDQyAvKiBf
V0tGcmFtZUhhbmRsZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzNzNEMTIyNjE4QTQ3M0Y2MDA2NkQ5Q0MgLyogX1dLRnJhbWVIYW5kbGVJ
bnRlcm5hbC5oICovOyB9OwogCQkzNzNEMTIyRDE4QTRCNkVCMDA2NkQ5Q0MgLyogV0tXZWJQcm9j
ZXNzUGx1Z0luRnJhbWVQcml2YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzNzNEMTIyQzE4QTRCNkE4MDA2NkQ5Q0MgLyogV0tXZWJQcm9jZXNzUGx1
Z0luRnJhbWVQcml2YXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMzc0MzkyNTgxOEJDNEM2MDAwMUM4Njc1IC8qIFdLVUlEZWxlZ2F0ZVByaXZh
dGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3NDM5
MjU3MThCQzRDNjAwMDFDODY3NSAvKiBXS1VJRGVsZWdhdGVQcml2YXRlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTczMTYsNyArNzMxNSw2IEBA
CiAJCQkJQkM1OTcwNzUxMTY1OTFEMDAwNTUxRkNBIC8qIFByb2Nlc3NNb2RlbC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUFCMTZBRUExNjRCM0E4ODAwMjkwRDYyIC8qIFJlbW90ZUxheWVyVHJlZUNv
bnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQjE2QURFMTY0ODU5ODQwMDI5MEQ2MiAvKiBS
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMzczRDEyMjUx
OEE0NzNCMzAwNjZEOUNDIC8qIFdLQnJvd3NpbmdDb250ZXh0SGFuZGxlSW50ZXJuYWwuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFBQjE2QUUyMTY0ODY1NkQwMDI5MEQ2MiAvKiBSZW1vdGVMYXllclRy
ZWVEcmF3aW5nQXJlYVByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUEzRDc1QzE2NTFCNDRG
MDA4NzEzRDAgLyogUmVtb3RlTGF5ZXJUcmVlSG9zdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFG
MUFDNkMxNjUxNzU5RTAwQzE3RDdGIC8qIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmggaW4g
SGVhZGVycyAqLywKQEAgLTgxNzksNyArODE3Nyw3IEBACiAJCTA4NjdENjkwRkU4NDAyOEZDMDJB
QUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLyA9IHsKIAkJCWlzYSA9IFBCWFByb2plY3Q7CiAJCQlh
dHRyaWJ1dGVzID0gewotCQkJCUxhc3RVcGdyYWRlQ2hlY2sgPSAwNTAwOworCQkJCUxhc3RVcGdy
YWRlQ2hlY2sgPSAwNjAwOwogCQkJfTsKIAkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAxREVC
OTFCMTA4NzMzREE1MDAxMEU5Q0QgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQ
cm9qZWN0ICJXZWJLaXQyIiAqLzsKIAkJCWNvbXBhdGliaWxpdHlWZXJzaW9uID0gIlhjb2RlIDMu
MiI7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237746</attachid>
            <date>2014-09-06 15:47:29 -0700</date>
            <delta_ts>2014-09-06 16:54:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136603-20140906154724.patch</filename>
            <type>text/plain</type>
            <size>49221</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczMzYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
ZWRhMDE2OWE0N2NhMzZmYjRlNTY2ZDQwODIyZTEyZmI1MzI2OTliLi40OTAxYTRlNzk0MGVhNThl
MzQ3NmU5NjEyMjYyYTFmYjA3NGNlNjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxNC0wOS0wNiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisK
KyAgICAgICAgTWFrZSB1cGRhdGVzIHN1Z2dlc3RlZCBieSBuZXcgdmVyc2lvbiBvZiBYY29kZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2NjAzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBSb3dlLgorCisgICAgICAgICogQ29uZmlndXJhdGlv
bnMvQmFzZS54Y2NvbmZpZzogQWRkZWQgQ0xBTkdfV0FSTl9VTlJFQUNIQUJMRV9DT0RFLCBDT01C
SU5FX0hJRFBJX0lNQUdFUywKKyAgICAgICAgYW5kIEVOQUJMRV9TVFJJQ1RfT0JKQ19NU0dTRU5E
IGFzIHN1Z2dlc3RlZCBieSBYY29kZSB1cGdyYWRlIGNoZWNrLgorCisgICAgICAgICogSmF2YVNj
cmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogVXBkYXRlIExhc3RVcGdyYWRlQ2hl
Y2suCisKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwOgorICAgICAgICAoSlND
OjpERkc6OlNwZWN1bGF0aXZlSklUOjpqdW1wU2xvd0ZvclVud2FudGVkQXJyYXlNb2RlKTogQ29t
cGlsZSBvdXQgdW5yZWFjaGFibGUgY29kZQorICAgICAgICBmb3IgY2xhbmcsIHNpbmNlIGl0IHVu
ZGVyc3RhbmRzIHRoZSBjb2RlIGlzIHVucmVhY2hhYmxlLgorICAgICAgICAqIHJ1bnRpbWUvSlNB
cnJheS5jcHA6CisgICAgICAgIChKU0M6OkpTQXJyYXk6OmZpbGxBcmdMaXN0KTogRGl0dG8uCisg
ICAgICAgIChKU0M6OkpTQXJyYXk6OmNvcHlUb0FyZ3VtZW50cyk6IERpdHRvLgorCiAyMDE0LTA5
LTA1ICBNYXR0IEJha2VyICA8bWF0dGJha2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5z
cGVjdG9yOiBicmVha3BvaW50IGFjdGlvbnMgc2hvdWxkIHdvcmsgcmVnYXJkbGVzcyBvZiBDb250
ZW50IFNlY3VyaXR5IFBvbGljeQpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
Q2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQ2hhbmdlTG9nCmluZGV4IDk3MTk0
MTBhZTVhMWZlYjhmNWEwZDdjZDMxYzk0NzBhMTBiYWZiMzIuLmNlY2QxMTYwNzNjMTExNGFmMTgy
YTViOTNlNjI4MTAzMjc0NzEwY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxNC0wOS0wNiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisK
KyAgICAgICAgTWFrZSB1cGRhdGVzIHN1Z2dlc3RlZCBieSBuZXcgdmVyc2lvbiBvZiBYY29kZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2NjAzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBSb3dlLgorCisgICAgICAgICogQU5HTEUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajogVXBkYXRlZCBMYXN0VXBncmFkZUNoZWNrLgorCisgICAgICAg
ICogQ29uZmlndXJhdGlvbnMvQU5HTEUueGNjb25maWc6IEFkZGVkIENMQU5HX1dBUk5fQk9PTF9D
T05WRVJTSU9OLAorICAgICAgICBDTEFOR19XQVJOX0VOVU1fQ09OVkVSU0lPTiwgQ0xBTkdfV0FS
Tl9JTlRfQ09OVkVSU0lPTiwgQ09NQklORV9ISURQSV9JTUFHRVMsCisgICAgICAgIGFuZCBFTkFC
TEVfU1RSSUNUX09CSkNfTVNHU0VORCBhcyBzdWdnZXN0ZWQgYnkgWGNvZGUgdXBncmFkZSBjaGVj
ay4KKwogMjAxNC0wOS0wNiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE3MzMzNS4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9UaGlyZFBhcnR5L0NoYW5nZUxvZyBiL1NvdXJjZS9UaGlyZFBhcnR5L0NoYW5nZUxv
ZwppbmRleCBhYzg3ODExNDU0OTkxMzQ4YzA4YzFlZThkNWY0YzU5NTMwMDczMmNmLi40ZjFhNDcx
MGM0NjhiYmQ4MTI4YzU0MjcxYmZlZTFkZGQ0YjE4MzVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTggQEAKKzIwMTQtMDktMDYgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgor
CisgICAgICAgIE1ha2UgdXBkYXRlcyBzdWdnZXN0ZWQgYnkgbmV3IHZlcnNpb24gb2YgWGNvZGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjYwMwor
CisgICAgICAgIFJldmlld2VkIGJ5IE1hcmsgUm93ZS4KKworICAgICAgICAqIGd0ZXN0L3hjb2Rl
L0NvbmZpZy9HZW5lcmFsLnhjY29uZmlnOiBNb3ZlZCBDTEFOR19XQVJOX0JPT0xfQ09OVkVSU0lP
TiwKKyAgICAgICAgQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04sIENMQU5HX1dBUk5fSU5UX0NP
TlZFUlNJT04sIGFuZCBDT01CSU5FX0hJRFBJX0lNQUdFUworICAgICAgICBoZXJlIGZyb20gcHJv
amVjdCBmaWxlLiAgQWRkZWQgQ0xBTkdfV0FSTl9VTlJFQUNIQUJMRV9DT0RFLCBFTkFCTEVfU1RS
SUNUX09CSkNfTVNHU0VORCwKKyAgICAgICAgYW5kIEdDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05W
RVJTSU9OIGFzIHN1Z2dlc3RlZCBieSBYY29kZSB1cGdyYWRlIGNoZWNrLgorCisgICAgICAgICog
Z3Rlc3QveGNvZGUvZ3Rlc3QueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogVXBkYXRlZCBMYXN0
VXBncmFkZUNoZWNrIGFuZCByZW1vdmVkCisgICAgICAgIHRoaW5ncyB0aGF0IGFyZSByZWR1bmRh
bnQgd2l0aCB0aGUgeGNjb25maWcgZmlsZSBhYm92ZS4KKwogMjAxNC0wOC0yMiAgUmVuYXRvIE5h
Z3kgIDxuYWd5LnJlbmF0b0BzdHVkLnUtc3plZ2VkLmh1PgogCiAgICAgICAgIFJlbW92ZSBMZXZl
bERCLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZwppbmRleCA5M2M4OWI3N2VjNjQ2MDc4ZDc5NDEyZjhhMTk0Yjk2NTg2ZmQ5YTI1Li43N2I5
NDc1MWE1NTBhYzMwMTRkYmQyZmRiY2Y4NzQyNWRmYTFjNmVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBA
CisyMDE0LTA5LTA2ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBN
YWtlIHVwZGF0ZXMgc3VnZ2VzdGVkIGJ5IG5ldyB2ZXJzaW9uIG9mIFhjb2RlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzY2MDMKKworICAgICAgICBS
ZXZpZXdlZCBieSBNYXJrIFJvd2UuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9CYXNlLnhj
Y29uZmlnOiBBZGRlZCBDTEFOR19XQVJOX1VOUkVBQ0hBQkxFX0NPREUsCisgICAgICAgIENPTUJJ
TkVfSElEUElfSU1BR0VTLCBhbmQgRU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQgYXMgc3VnZ2Vz
dGVkIGJ5CisgICAgICAgIFhjb2RlIHVwZ3JhZGUgY2hlY2suCisKKyAgICAgICAgKiBXVEYueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajogVXBkYXRlZCBMYXN0VXBncmFkZUNoZWNrLgorCiAyMDE0
LTA5LTA1ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAgICAgYm1h
bGxvYyBzaG91bGQgaG9ub3IgdGhlIEZhc3RNYWxsb2Mgc3RhdGlzdGljcyBBUEkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpp
bmRleCA0M2YzM2Y1YjQ4ZGZjNWIwMGFjZGRmMzg0MWQyZjdiMjIzMmYxMGYxLi45MmI5ZTA2NmEz
ZTdmM2YwZWNiZTUxMjcwOTg5YWRmMGQzMTMyN2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQg
QEAKKzIwMTQtMDktMDYgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAg
IE1ha2UgdXBkYXRlcyBzdWdnZXN0ZWQgYnkgbmV3IHZlcnNpb24gb2YgWGNvZGUKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjYwMworCisgICAgICAg
IFJldmlld2VkIGJ5IE1hcmsgUm93ZS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Jhc2Uu
eGNjb25maWc6IEFkZGVkIENPTUJJTkVfSElEUElfSU1BR0VTIGFuZAorICAgICAgICBFTkFCTEVf
U1RSSUNUX09CSkNfTVNHU0VORCBhcyBzdWdnZXN0ZWQgYnkgWGNvZGUgdXBncmFkZSBjaGVjay4K
KworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogTGV0IFhjb2Rl
IHJlbW92ZSBhbiBvcnBoYW5lZCBpdGVtIGZyb20gdGhlIGZpbGUsCisgICAgICAgIGFuZCBhbHNv
IHVwZGF0ZWQgTGFzdFVwZ3JhZGVDaGVjay4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp1cGRhdGVUZXh0
VHJhY2tEaXNwbGF5KTogVXNlICNpZi8jZWxzZS8jZW5kaWYgaW5zdGVhZCBvZgorICAgICAgICB1
c2luZyAjaWYvcmV0dXJuLyNlbmRpZiBhbmQgbGVhdmluZyBjb2RlIHVucmVhY2hhYmxlLgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6Y29uZmlndXJlTWVkaWFDb250cm9scyk6
IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6Y29uZmlndXJlVGV4
dFRyYWNrRGlzcGxheSk6IERpdHRvLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMRHJhd0J1
ZmZlcnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xEcmF3QnVmZmVyczo6c3VwcG9ydGVk
KTogRGl0dG8uCisKIDIwMTQtMDktMDYgIEJyaWFuIEouIEJ1cmcgIDxidXJnQGNzLndhc2hpbmd0
b24uZWR1PgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGNvbnZlcnQgRG9ja1NpZGUgdG8gYW4g
ZW51bSBjbGFzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXggYzM5ZmYzZGIzZTkzMzMxNjVk
MjYyMDQxYmU0ZjI3NGExMTU4ZTc4Mi4uMjczOTI5MDc3YzhkMmZmMDI4MTMwNTQyYmQ3YTc0MTQw
NzhmMGQ0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTQt
MDktMDYgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgdXBk
YXRlcyBzdWdnZXN0ZWQgYnkgbmV3IHZlcnNpb24gb2YgWGNvZGUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjYwMworCisgICAgICAgIFJldmlld2Vk
IGJ5IE1hcmsgUm93ZS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWc6
IEFkZGVkIENMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OLCBDTEFOR19XQVJOX0NPTlNUQU5UX0NP
TlZFUlNJT04sCisgICAgICAgIENMQU5HX1dBUk5fRU1QVFlfQk9EWSwgQ0xBTkdfV0FSTl9FTlVN
X0NPTlZFUlNJT04sIENMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04sCisgICAgICAgIENMQU5HX1dB
Uk5fVU5SRUFDSEFCTEVfQ09ERSwgQ0xBTkdfV0FSTl9fRFVQTElDQVRFX01FVEhPRF9NQVRDSCwg
RU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQsCisgICAgICAgIEdDQ19XQVJOX1VOREVDTEFSRURf
U0VMRUNUT1IsIGFuZCBHQ0NfV0FSTl9VTlVTRURfRlVOQ1RJT04gYXMgc3VnZ2VzdGVkIGJ5IFhj
b2RlIHVwZGF0ZSBjaGVjay4KKyAgICAgICAgQWxzbyByZW1vdmVkIGR1cGxpY2F0ZSBHQ0NfV0FS
Tl9VTlVTRURfVkFSSUFCTEUgbGluZS4KKworICAgICAgICAqIFdlYkluc3BlY3RvclVJLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6IFVwZGF0ZWQgTGFzdFVwZ3JhZGVDaGVjay4KKwogMjAxNC0w
OS0wMiAgQnJpYW4gSi4gQnVyZyAgPGJ1cmdAY3Mud2FzaGluZ3Rvbi5lZHU+CiAKICAgICAgICAg
TGVnYWN5UHJvZmlsZXI6IHJlbW92ZSByZWR1bmRhbnQgUHJvZmlsZU5vZGUgbWVtYmVycyBhbmQg
b3RoZXIgY2xlYW51cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAxY2Y5M2UxMGEwYWEwM2E1NjM5N2M1NWM0Mzk4MjQ1
ZTE4ZDhhNDIzLi44ZmVmYjA1MGRjMWU3NmQ2N2Q5NTU1NjA4Njc4ZTdjNTYxY2QzNGY3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE0LTA5LTA2ICBEYXJpbiBBZGxlciAgPGRhcmluQGFw
cGxlLmNvbT4KKworICAgICAgICBNYWtlIHVwZGF0ZXMgc3VnZ2VzdGVkIGJ5IG5ldyB2ZXJzaW9u
IG9mIFhjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMzY2MDMKKworICAgICAgICBSZXZpZXdlZCBieSBNYXJrIFJvd2UuCisKKyAgICAgICAgKiBX
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogVXBkYXRlZCBMYXN0VXBncmFkZUNoZWNr
LgorCiAyMDE0LTA5LTA0ICBQcmF0aWsgU29sYW5raSAgPHBzb2xhbmtpQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZW1vdmUgaU9TIHNwZWNpZmljIGRpc2sgaW1hZ2UgY2FjaGUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwppbmRleCBlMmViMTdiYTAxNDcyZWViMzVlZjAxYWYyZGRlZTA4MmY3MDJiNWFhLi5iY2MzMjY3
YTI0M2NjZmYyMWVhNTRmM2RmNzJkMjZlNmY5ZjRhYzRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNjEgQEAKKzIwMTQtMDktMDYgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgor
CisgICAgICAgIE1ha2UgdXBkYXRlcyBzdWdnZXN0ZWQgYnkgbmV3IHZlcnNpb24gb2YgWGNvZGUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjYwMwor
CisgICAgICAgIFJldmlld2VkIGJ5IE1hcmsgUm93ZS4KKworICAgICAgICAqIENvbmZpZ3VyYXRp
b25zL0Jhc2UueGNjb25maWc6IEFkZGVkIENMQU5HX1dBUk5fVU5SRUFDSEFCTEVfQ09ERSwgQ09N
QklORV9ISURQSV9JTUFHRVMsCisgICAgICAgIGFuZCBFTkFCTEVfU1RSSUNUX09CSkNfTVNHU0VO
RCBhcyBzdWdnZXN0ZWQgYnkgWGNvZGUgdXBncmFkZSBjaGVjay4KKworICAgICAgICAqIEhpc3Rv
cnkvV2ViVVJMc1dpdGhUaXRsZXMubToKKyAgICAgICAgKCtbV2ViVVJMc1dpdGhUaXRsZXMgd3Jp
dGVVUkxzOmFuZFRpdGxlczp0b1Bhc3RlYm9hcmQ6XSk6IFVzZSBOU1VJbnRlZ2VyIGluc3RlYWQg
b2YKKyAgICAgICAgdW5zaWduZWQgZm9yIGNvcnJlY3RuZXNzLCBhbmQgdG8gcXVpZXQgdGhlIDMy
LXRvLTY0LWJpdCBjb21waWxlciB3YXJuaW5nICh3aGljaCBpcworICAgICAgICBub3QgdHVybmVk
IG9uIGJlY2F1c2UgaXQgZ2l2ZXMgdXMgdG9vIG1hbnkgZmFsc2UgcG9zaXRpdmVzKS4KKyAgICAg
ICAgKiBNaXNjL1dlYkVsZW1lbnREaWN0aW9uYXJ5Lm1tOgorICAgICAgICAoLVtXZWJFbGVtZW50
RGljdGlvbmFyeSBvYmplY3RGb3JLZXk6XSk6IERpdHRvLgorICAgICAgICAqIE1pc2MvV2ViTlNE
YXRhRXh0cmFzLm06CisgICAgICAgICgtW05TRGF0YSBfd2Via2l0X2d1ZXNzZWRNSU1FVHlwZUZv
clhNTF0pOiBEaXR0by4KKyAgICAgICAgKC1bTlNEYXRhIF93ZWJraXRfZ3Vlc3NlZE1JTUVUeXBl
XSk6IERpdHRvLgorICAgICAgICAoLVtOU0RhdGEgX3dlYmtpdF9wYXJzZVJGQzgyMkhlYWRlckZp
ZWxkc10pOiBEaXR0by4KKyAgICAgICAgKC1bTlNEYXRhIF93ZWJfbG9jYXRpb25BZnRlckZpcnN0
QmxhbmtMaW5lXSk6IERpdHRvLgorCisgICAgICAgICogTWlzYy9XZWJOU1VSTEV4dHJhcy5oOiBS
ZW1vdmVkIHVudXNlZCBfd2ViX1VSTFdpdGhMb3dlcmNhc2VkU2NoZW1lLCBfd2ViX2hvc3REYXRh
LAorICAgICAgICBfd2Via2l0X1VSTEJ5UmVtb3ZpbmdGcmFnbWVudCwgX3dlYmtpdF9VUkxCeVJl
bW92aW5nUmVzb3VyY2VTcGVjaWZpZXIsIF93ZWJraXRfaXNGVFBEaXJlY3RvcnlVUkwsCisgICAg
ICAgIF93ZWJraXRfc2hvdWxkTG9hZEFzRW1wdHlEb2N1bWVudCwgX3dlYl9ob3N0TmFtZU5lZWRz
RGVjb2RpbmdXaXRoUmFuZ2U6LAorICAgICAgICBfd2ViX2hvc3ROYW1lTmVlZHNFbmNvZGluZ1dp
dGhSYW5nZTosIF93ZWJfZGVjb2RlSG9zdE5hbWVXaXRoUmFuZ2U6LCBfd2ViX2VuY29kZUhvc3RO
YW1lV2l0aFJhbmdlOiwKKyAgICAgICAgYW5kIF93ZWJraXRfVVJMRnJhZ21lbnQgbWV0aG9kcy4K
KworICAgICAgICAqIE1pc2MvV2ViTlNVUkxFeHRyYXMubW06CisgICAgICAgICgtW05TVVJMIF93
ZWJfVVJMQnlUcnVuY2F0aW5nT25lQ2hhcmFjdGVyQmVmb3JlQ29tcG9uZW50Ol0pOiBEZWxldGVk
LgorICAgICAgICAoLVtOU1VSTCBfd2Via2l0X1VSTEJ5UmVtb3ZpbmdGcmFnbWVudF0pOiBEZWxl
dGVkLgorICAgICAgICAoLVtOU1VSTCBfd2Via2l0X1VSTEJ5UmVtb3ZpbmdSZXNvdXJjZVNwZWNp
Zmllcl0pOiBEZWxldGVkLgorICAgICAgICAoLVtOU1VSTCBfd2Via2l0X2lzRlRQRGlyZWN0b3J5
VVJMXSk6IERlbGV0ZWQuCisgICAgICAgICgtW05TVVJMIF93ZWJraXRfc2hvdWxkTG9hZEFzRW1w
dHlEb2N1bWVudF0pOiBEZWxldGVkLgorICAgICAgICAoLVtOU1VSTCBfd2ViX1VSTFdpdGhMb3dl
cmNhc2VkU2NoZW1lXSk6IERlbGV0ZWQuCisgICAgICAgICgtW05TU3RyaW5nIF93ZWJraXRfaXNG
VFBEaXJlY3RvcnlVUkxdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bTlNTdHJpbmcgX3dlYl9ob3N0
TmFtZU5lZWRzRGVjb2RpbmdXaXRoUmFuZ2U6XSk6IERlbGV0ZWQuCisgICAgICAgICgtW05TU3Ry
aW5nIF93ZWJfaG9zdE5hbWVOZWVkc0VuY29kaW5nV2l0aFJhbmdlOl0pOiBEZWxldGVkLgorICAg
ICAgICAoLVtOU1N0cmluZyBfd2ViX2RlY29kZUhvc3ROYW1lV2l0aFJhbmdlOl0pOiBEZWxldGVk
LgorICAgICAgICAoLVtOU1N0cmluZyBfd2ViX2VuY29kZUhvc3ROYW1lV2l0aFJhbmdlOl0pOiBE
ZWxldGVkLgorICAgICAgICAoLVtOU1N0cmluZyBfd2Via2l0X1VSTEZyYWdtZW50XSk6IERlbGV0
ZWQuCisKKyAgICAgICAgKiBQbHVnaW5zL1dlYlBsdWdpbkRhdGFiYXNlLm1tOgorICAgICAgICAo
LVtXZWJQbHVnaW5EYXRhYmFzZSByZW1vdmVQbHVnaW5JbnN0YW5jZVZpZXdzRm9yOl0pOiBVc2Ug
YSBtb2Rlcm4gZm9yIGxvb3AKKyAgICAgICAgdG8gaXRlcmF0ZSBhbiBhcnJheSBpbnN0ZWFkIG9m
IGEgbG9vcCB1c2luZyB0aGUgdHlwZSAidW5zaWduZWQgaW50Ii4KKworICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L1dlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyLm1tOgorICAgICAgICAoLVtXZWJP
cGVuUGFuZWxSZXN1bHRMaXN0ZW5lciBjaG9vc2VGaWxlbmFtZXM6XSk6IFVzZSBOU1VJbnRlZ2Vy
IGluc3RlYWQgb2YgaW50LgorCisgICAgICAgICogV2ViVmlldy9XZWJEZWxlZ2F0ZUltcGxlbWVu
dGF0aW9uQ2FjaGluZy5tbToKKyAgICAgICAgKENhbGxEZWxlZ2F0ZSk6IFVzZSB3dGZDYWxsSU1Q
IGluIG9uZSBvdmVybG9hZCB0aGF0IHdhcyBpbnN0ZWFkIGp1c3QgY2FsbGluZyB0aGUKKyAgICAg
ICAgZGlyZWN0bHkgd2l0aG91dCBhIHByb3BlciB0eXBlIGZvciB0aGUgZnVuY3Rpb24gcG9pbnRl
ci4gVGhpcyBtaWdodCBoYXZlIGJlZW4gY2F1c2luZworICAgICAgICBhbiBhY3R1YWwgcHJvYmxl
bSBvbiA2NC1iaXQgc3lzdGVtcywgYW5kIGl0IHdhcyBkaWZmZXJlbnQgZnJvbSBhbGwgdGhlIG90
aGVyIENhbGxEZWxlZ2F0ZQorICAgICAgICBmdW5jdGlvbnMgdGhhdCB3ZXJlIGFscmVhZHkgZG9p
bmcgdGhpcyBjb3JyZWN0bHkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlRleHRDb21wbGV0aW9u
Q29udHJvbGxlci5tbToKKyAgICAgICAgKC1bV2ViVGV4dENvbXBsZXRpb25Db250cm9sbGVyIF9w
bGFjZVBvcHVwV2luZG93Ol0pOiBVc2UgTlNVSW50ZWdlciBpbnN0ZWFkIG9mIGludC4KKwogMjAx
NC0wOS0wNiAgQnJpYW4gSi4gQnVyZyAgPGJ1cmdAY3Mud2FzaGluZ3Rvbi5lZHU+CiAKICAgICAg
ICAgV2ViIEluc3BlY3RvcjogY29udmVydCBEb2NrU2lkZSB0byBhbiBlbnVtIGNsYXNzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggNDFiMzI4ZTQ2ODViODUzMTIxNTg5OGQ1YmUyZTMzMTUwY2JlZjk3Zi4uOTgzNWFi
ZjE1YWQ0NjI3ZGVkODdiNGU5MTBlMTc4NzM0YzVlYWQ0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDI3IEBACisyMDE0LTA5LTA2ICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAg
ICAgICBNYWtlIHVwZGF0ZXMgc3VnZ2VzdGVkIGJ5IG5ldyB2ZXJzaW9uIG9mIFhjb2RlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzY2MDMKKworICAg
ICAgICBSZXZpZXdlZCBieSBNYXJrIFJvd2UuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9C
YXNlLnhjY29uZmlnOiBBZGRlZCBDTEFOR19XQVJOX1VOUkVBQ0hBQkxFX0NPREUsIENPTUJJTkVf
SElEUElfSU1BR0VTLAorICAgICAgICBhbmQgRU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQgYXMg
c3VnZ2VzdGVkIGJ5IHRoZSBYY29kZSB1cGdyYWRlIGNoZWNrLgorCisgICAgICAgICogUGx1Z2lu
UHJvY2Vzcy9tYWMvUGx1Z2luUHJvY2Vzc01hYy5tbToKKyAgICAgICAgKFdlYktpdDo6aW5pdGlh
bGl6ZUNvY29hT3ZlcnJpZGVzKTogQ2hhbmdlZCBOU0NvbmNyZXRlVGFza19sYXVuY2ggdG8gdXNl
IHRoZSBzYW1lIHRlY2huaXF1ZQorICAgICAgICBhcyB0aGUgb3RoZXIgZnVuY3Rpb25zIGluIHRo
aXMgZmlsZSwgZG9pbmcgdGhlIHR5cGUgY2FzdGluZyByaWdodCBhdCB0aGUgY2FsbCB0bworICAg
ICAgICBtZXRob2Rfc2V0SW1wbGVtZW50YXRpb24gc28gdGhlIGdsb2JhbCBoYXMgYSBzdWl0YWJs
ZSB0eXBlIGZvciBtYWtpbmcgYSBmdW5jdGlvbiBjYWxsLAorICAgICAgICByYXRoZXIgdGhhbiBy
ZWx5aW5nIG9uIHRoZSBhYmlsdHkgdG8gY2FsbCB0aHJvdWdoIGEgdHlwZSB3aXRob3V0IGEgc3Bl
Y2lmaWMgYXJndW1lbnQgbGlzdC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
bkluZm9TdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OnBhdGhFeHRlbnNpb24pOiBVc2Ugc2l6
ZV90IGZvciB0aGUgcmVzdWx0IG9mIFN0cmluZzo6cmV2ZXJzZUZpbmQgcmF0aGVyIHRoYW4KKyAg
ICAgICAgY29udmVydGluZyBpdCB0byBhbiBpbnQuIEFsc28gZG9uJ3QgcmVseSBvbiB0aGUgZmFj
dCB0aGF0IFdURidzIG5vdEZvdW5kIGJlY29tZXMgLTEgd2hlbgorICAgICAgICBjYXN0IGZyb20g
c2l6ZV90IHRvIGludC4KKworICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajogTGV0IFhjb2RlIGRlbGV0ZSBzb21lIG9ycGhhbmVkIGl0ZW1zLCBhbmQgdXBkYXRlZAor
ICAgICAgICBMYXN0VXBncmFkZUNoZWNrLgorCiAyMDE0LTA5LTA2ICBCcmlhbiBKLiBCdXJnICA8
YnVyZ0Bjcy53YXNoaW5ndG9uLmVkdT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBjb252ZXJ0
IERvY2tTaWRlIHRvIGFuIGVudW0gY2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggNjU1NzY1ZWZjYzAzMTU2ZGFjOTNh
ODYxMDk5MjhiMjE5NTc3NzIxZC4uYTAyMzk2YTYzZjU0NjlhMDhkNDQ0MWM5OThlMjZhNDBkNGNh
ZDFjNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0Jh
c2UueGNjb25maWcKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0Jh
c2UueGNjb25maWcKQEAgLTMyLDggKzMyLDExIEBAIENMQU5HX1dBUk5fQ1hYMFhfRVhURU5TSU9O
UyA9IE5POwogQ0xBTkdfV0FSTl9FTVBUWV9CT0RZID0gWUVTOwogQ0xBTkdfV0FSTl9FTlVNX0NP
TlZFUlNJT04gPSBZRVM7CiBDTEFOR19XQVJOX0lOVF9DT05WRVJTSU9OID0gWUVTOworQ0xBTkdf
V0FSTl9VTlJFQUNIQUJMRV9DT0RFID0gWUVTOwogQ0xBTkdfV0FSTl9fRFVQTElDQVRFX01FVEhP
RF9NQVRDSCA9IFlFUzsKK0NPTUJJTkVfSElEUElfSU1BR0VTID0gTk87CiBERUJVR19JTkZPUk1B
VElPTl9GT1JNQVQgPSBkd2FyZi13aXRoLWRzeW07CitFTkFCTEVfU1RSSUNUX09CSkNfTVNHU0VO
RCA9IFlFUzsKIEdDQ19DX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251OTk7CiBHQ0NfREVCVUdHSU5H
X1NZTUJPTFMgPSBkZWZhdWx0OwogR0NDX0RZTkFNSUNfTk9fUElDID0gTk87CmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IGVkNWU4OWZiMjBmZmRmY2E2NWI5YzI0YzE5NmM0MDYwOTA4
ZTNhYTMuLjlhYzJiNmU1ZWIwYzljYjljNDNmMDZhZTE2NzY2NWU1NmNlZTQ0ZTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02Nzc2LDcgKzY3NzYsNyBAQAogCQkJaXNhID0gUEJY
UHJvamVjdDsKIAkJCWF0dHJpYnV0ZXMgPSB7CiAJCQkJQnVpbGRJbmRlcGVuZGVudFRhcmdldHNJ
blBhcmFsbGVsID0gWUVTOwotCQkJCUxhc3RVcGdyYWRlQ2hlY2sgPSAwNTAwOworCQkJCUxhc3RV
cGdyYWRlQ2hlY2sgPSAwNjAwOwogCQkJfTsKIAkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAx
NDlDMjc3MTA4OTAyQUZFMDA4QTlFRkMgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQ
QlhQcm9qZWN0ICJKYXZhU2NyaXB0Q29yZSIgKi87CiAJCQljb21wYXRpYmlsaXR5VmVyc2lvbiA9
ICJYY29kZSAzLjIiOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklULmNwcAppbmRleCAwNzI5Y2U4MjFiZWIwOGI4MGI4ODhmOGVjYjlmMDA5YTIzMzNlNjFj
Li4zNmIyMzE1Yjk1YzUwOTE3MTdjMjIwNmE2ZDk0MjE5YjY1Y2QyMGE1IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcApAQCAtNTk2LDggKzU5
NiwxMCBAQCBKSVRDb21waWxlcjo6SnVtcCBTcGVjdWxhdGl2ZUpJVDo6anVtcFNsb3dGb3JVbndh
bnRlZEFycmF5TW9kZShHUFJSZWcgdGVtcEdQUiwgQQogICAgIHN3aXRjaCAoYXJyYXlNb2RlLmFy
cmF5Q2xhc3MoKSkgewogICAgIGNhc2UgQXJyYXk6Ok9yaWdpbmFsQXJyYXk6IHsKICAgICAgICAg
Q1JBU0goKTsKKyNpZiAhQ09NUElMRVIoQ0xBTkcpCiAgICAgICAgIEpJVENvbXBpbGVyOjpKdW1w
IHJlc3VsdDsgLy8gSSBhbHJlYWR5IGtub3cgdGhhdCBWQysrIHRha2VzIHVua2luZGx5IHRvIHRo
ZSBleHByZXNzaW9uICJyZXR1cm4gSnVtcCgpIiwgc28gSSdtIGRvaW5nIGl0IHRoaXMgd2F5IGlu
IGFudGljaXBhdGlvbiBvZiBzb21lb25lIGV2ZW50dWFsbHkgdXNpbmcgVkMrKyB0byBjb21waWxl
IHRoZSBERkcuCiAgICAgICAgIHJldHVybiByZXN1bHQ7CisjZW5kaWYKICAgICB9CiAgICAgICAg
IAogICAgIGNhc2UgQXJyYXk6OkFycmF5OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNBcnJheS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0FycmF5LmNwcAppbmRleCAzZjVjNTgwYzkxYjU2ZmM0NzM5ZjZjZDZlNmQ1ZGYxNTQ5OGFjZWJl
Li4yMmIxNGVkZTMzY2MxYTkyZWU3N2U4YjcxNGZiOGNhMDJlYTUzYWMwIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5LmNwcApAQCAtMTU1Myw5ICsxNTUzLDExIEBAIHZv
aWQgSlNBcnJheTo6ZmlsbEFyZ0xpc3QoRXhlY1N0YXRlKiBleGVjLCBNYXJrZWRBcmd1bWVudEJ1
ZmZlciYgYXJncykKICAgICAgICAgCiAgICAgZGVmYXVsdDoKICAgICAgICAgQ1JBU0goKTsKKyNp
ZiAhQ09NUElMRVIoQ0xBTkcpCiAgICAgICAgIHZlY3RvciA9IDA7CiAgICAgICAgIHZlY3RvckVu
ZCA9IDA7CiAgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgfQogICAgIAogICAgIGZvciAoOyBp
IDwgdmVjdG9yRW5kOyArK2kpIHsKQEAgLTE2MTUsOSArMTYxNywxMSBAQCB2b2lkIEpTQXJyYXk6
OmNvcHlUb0FyZ3VtZW50cyhFeGVjU3RhdGUqIGV4ZWMsIENhbGxGcmFtZSogY2FsbEZyYW1lLCB1
aW50MzJfdCBjbwogICAgICAgICAKICAgICBkZWZhdWx0OgogICAgICAgICBDUkFTSCgpOworI2lm
ICFDT01QSUxFUihDTEFORykKICAgICAgICAgdmVjdG9yID0gMDsKICAgICAgICAgdmVjdG9yRW5k
ID0gMDsKICAgICAgICAgYnJlYWs7CisjZW5kaWYKICAgICB9CiAgICAgCiAgICAgZm9yICg7IGkg
PCB2ZWN0b3JFbmQ7ICsraSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
QU5HTEUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xF
L0FOR0xFLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYjc4YmZkMDY4MmY1MWUyMDhm
OTVkYTA4ZmQ4MjA3NmYwNDJkN2Q4My4uYzllYjg3ODRhN2ViMWIzYTg0MzMwYjRjNzVhNDg3MDEz
MmQ2ZjY4MCAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvQU5HTEUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9BTkdMRS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04MDUsNyArODA1LDcgQEAKIAkJRkIzOUQwNzAx
MjAwRUQ5MjAwMDg4RTY5IC8qIFByb2plY3Qgb2JqZWN0ICovID0gewogCQkJaXNhID0gUEJYUHJv
amVjdDsKIAkJCWF0dHJpYnV0ZXMgPSB7Ci0JCQkJTGFzdFVwZ3JhZGVDaGVjayA9IDA0NDA7CisJ
CQkJTGFzdFVwZ3JhZGVDaGVjayA9IDA2MDA7CiAJCQl9OwogCQkJYnVpbGRDb25maWd1cmF0aW9u
TGlzdCA9IEZCMzlEMDczMTIwMEVEOTIwMDA4OEU2OSAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxp
c3QgZm9yIFBCWFByb2plY3QgIkFOR0xFIiAqLzsKIAkJCWNvbXBhdGliaWxpdHlWZXJzaW9uID0g
Ilhjb2RlIDMuMiI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9Db25maWd1
cmF0aW9ucy9BTkdMRS54Y2NvbmZpZyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NvbmZpZ3Vy
YXRpb25zL0FOR0xFLnhjY29uZmlnCmluZGV4IDgwM2RiYmM5ZjA5ODQ5ZmE0YmQxMDNhNGJhYTFh
MjAwZWNkOTQ0YjkuLmUwMWU2ZmRiYzBiYTc5MDhkN2MwYTUxZTI4M2VlMmE2ODA2NWI0NzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0FOR0xFLnhj
Y29uZmlnCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NvbmZpZ3VyYXRpb25zL0FOR0xF
LnhjY29uZmlnCkBAIC0xLDUgKzEsMTAgQEAKIFBST0RVQ1RfTkFNRSA9IEFOR0xFOwogCitDTEFO
R19XQVJOX0JPT0xfQ09OVkVSU0lPTiA9IFlFUzsKK0NMQU5HX1dBUk5fRU5VTV9DT05WRVJTSU9O
ID0gWUVTOworQ0xBTkdfV0FSTl9JTlRfQ09OVkVSU0lPTiA9IFlFUzsKK0NPTUJJTkVfSElEUElf
SU1BR0VTID0gTk87CitFTkFCTEVfU1RSSUNUX09CSkNfTVNHU0VORCA9IFlFUzsKIEhFQURFUl9T
RUFSQ0hfUEFUSFMgPSBpbmNsdWRlIHNyYzsKIElOU1RBTExfUEFUSF9BQ1RVQUwgPSAvdXNyL2xv
Y2FsL2xpYjsKIFBVQkxJQ19IRUFERVJTX0ZPTERFUl9QQVRIID0gJChQVUJMSUNfSEVBREVSU19G
T0xERVJfUEFUSF8kKERFUExPWU1FTlRfTE9DQVRJT04pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L2d0ZXN0L3hjb2RlL0NvbmZpZy9HZW5lcmFsLnhjY29uZmlnIGIvU291cmNlL1Ro
aXJkUGFydHkvZ3Rlc3QveGNvZGUvQ29uZmlnL0dlbmVyYWwueGNjb25maWcKaW5kZXggZmFlZmY1
YjZmZTE1MWI0MTcxNWRmY2UyNDZjYTQyZWNiOTkzNjFmYy4uMTNlMWUyOTBmNDUzZmJjODRiOGVk
OGY5MmIyNWIyMDc5NDRjOWNhZiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvZ3Rlc3Qv
eGNvZGUvQ29uZmlnL0dlbmVyYWwueGNjb25maWcKKysrIGIvU291cmNlL1RoaXJkUGFydHkvZ3Rl
c3QveGNvZGUvQ29uZmlnL0dlbmVyYWwueGNjb25maWcKQEAgLTIzLDkgKzIzLDE1IEBAIFBSRUJJ
TkRJTkcgPSBOTwogCiAvLyBTdHJpY3Rlc3Qgd2FybmluZyBwb2xpY3kKIFdBUk5JTkdfQ0ZMQUdT
ID0gLVdhbGwgLVdlcnJvciAtV2VuZGlmLWxhYmVscyAtV25ld2xpbmUtZW9mIC1Xbm8tc2lnbi1j
b21wYXJlIC1Xc2hhZG93CitDTEFOR19XQVJOX0JPT0xfQ09OVkVSU0lPTiA9IFlFUzsKIENMQU5H
X1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKIENMQU5HX1dBUk5fRU1QVFlfQk9EWSA9
IFlFUzsKK0NMQU5HX1dBUk5fRU5VTV9DT05WRVJTSU9OID0gWUVTOworQ0xBTkdfV0FSTl9JTlRf
Q09OVkVSU0lPTiA9IFlFUzsKK0NMQU5HX1dBUk5fVU5SRUFDSEFCTEVfQ09ERSA9IFlFUzsKIENM
QU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVM7CitFTkFCTEVfU1RSSUNUX09C
SkNfTVNHU0VORCA9IFlFUzsKK0dDQ19XQVJOXzY0X1RPXzMyX0JJVF9DT05WRVJTSU9OID0gWUVT
OwogR0NDX1dBUk5fQUJPVVRfUkVUVVJOX1RZUEUgPSBZRVM7CiBHQ0NfV0FSTl9VTkRFQ0xBUkVE
X1NFTEVDVE9SID0gWUVTOwogR0NDX1dBUk5fVU5JTklUSUFMSVpFRF9BVVRPUyA9IFlFUzsKQEAg
LTU0LDYgKzYwLDcgQEAgQ0xBTkdfQ1hYX0xJQlJBUlkgPSBsaWJjKys7CiAKIFRBUkdFVF9NQUNf
T1NfWF9WRVJTSU9OX01BSk9SID0gJChNQUNfT1NfWF9WRVJTSU9OX01BSk9SKTsKIAorQ09NQklO
RV9ISURQSV9JTUFHRVMgPSBZRVM7CiAKIC8vIFZFUlNJT05JTkcgQlVJTEQgU0VUVElOR1MgKHVz
ZWQgaW4gSW5mby5wbGlzdCkKIEdURVNUX1ZFUlNJT05JTkZPX0FCT1VUID0gIMKpIDIwMDggR29v
Z2xlIEluYy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L3hjb2RlL2d0ZXN0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvVGhpcmRQYXJ0eS9ndGVzdC94Y29k
ZS9ndGVzdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDM5N2QxZDBlNzVlZmVjNjdh
MzY2ZTBjNjQ0N2FlNWJiMWI0YTYyYzIuLmZlMzQwMmQ2NjIwMjI4ZWM0NzEwOTkzZGM0ODEzOGNj
MzBiMWJlMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2d0ZXN0L3hjb2RlL2d0ZXN0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1RoaXJkUGFydHkvZ3Rlc3Qv
eGNvZGUvZ3Rlc3QueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTk5LDcgKzU5OSw3IEBA
CiAJCTA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLyA9IHsKIAkJ
CWlzYSA9IFBCWFByb2plY3Q7CiAJCQlhdHRyaWJ1dGVzID0gewotCQkJCUxhc3RVcGdyYWRlQ2hl
Y2sgPSAwNTAwOworCQkJCUxhc3RVcGdyYWRlQ2hlY2sgPSAwNjAwOwogCQkJfTsKIAkJCWJ1aWxk
Q29uZmlndXJhdGlvbkxpc3QgPSA0RkFEQzI0NjA4QjQxNTZEMDBBQkU1NUUgLyogQnVpbGQgY29u
ZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJndGVzdCIgKi87CiAJCQljb21wYXRpYmls
aXR5VmVyc2lvbiA9ICJYY29kZSAzLjIiOwpAQCAtOTQxLDkgKzk0MSw2IEBACiAJCQlpc2EgPSBY
Q0J1aWxkQ29uZmlndXJhdGlvbjsKIAkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gNDRD
NDhERkYxNEE0MDk4RjAwQTJEOUM3IC8qIFByb2R1Y3Rpb25Qcm9qZWN0LnhjY29uZmlnICovOwog
CQkJYnVpbGRTZXR0aW5ncyA9IHsKLQkJCQlDTEFOR19XQVJOX0JPT0xfQ09OVkVSU0lPTiA9IFlF
UzsKLQkJCQlDTEFOR19XQVJOX0VOVU1fQ09OVkVSU0lPTiA9IFlFUzsKLQkJCQlDTEFOR19XQVJO
X0lOVF9DT05WRVJTSU9OID0gWUVTOwogCQkJfTsKIAkJCW5hbWUgPSBQcm9kdWN0aW9uOwogCQl9
OwpAQCAtOTUxLDcgKzk0OCw2IEBACiAJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKIAkJ
CWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gNDBENENERjIwRTMwRTA3NDAwMjk0ODAxIC8q
IEZyYW1ld29ya1RhcmdldC54Y2NvbmZpZyAqLzsKIAkJCWJ1aWxkU2V0dGluZ3MgPSB7Ci0JCQkJ
Q09NQklORV9ISURQSV9JTUFHRVMgPSBZRVM7CiAJCQkJRFlMSUJfQ09NUEFUSUJJTElUWV9WRVJT
SU9OID0gMTsKIAkJCQlEWUxJQl9DVVJSRU5UX1ZFUlNJT04gPSAxOwogCQkJCUlORk9QTElTVF9G
SUxFID0gUmVzb3VyY2VzL0luZm8ucGxpc3Q7CkBAIC0xMDMxLDcgKzEwMjcsNiBAQAogCQkJaXNh
ID0gWENCdWlsZENvbmZpZ3VyYXRpb247CiAJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9
IDQwRDRDREYyMEUzMEUwNzQwMDI5NDgwMSAvKiBGcmFtZXdvcmtUYXJnZXQueGNjb25maWcgKi87
CiAJCQlidWlsZFNldHRpbmdzID0gewotCQkJCUNPTUJJTkVfSElEUElfSU1BR0VTID0gWUVTOwog
CQkJCURZTElCX0NPTVBBVElCSUxJVFlfVkVSU0lPTiA9IDE7CiAJCQkJRFlMSUJfQ1VSUkVOVF9W
RVJTSU9OID0gMTsKIAkJCQlJTkZPUExJU1RfRklMRSA9IFJlc291cmNlcy9JbmZvLnBsaXN0OwpA
QCAtMTA0Niw3ICsxMDQxLDYgQEAKIAkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwogCQkJ
YmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA0MEQ0Q0RGMjBFMzBFMDc0MDAyOTQ4MDEgLyog
RnJhbWV3b3JrVGFyZ2V0LnhjY29uZmlnICovOwogCQkJYnVpbGRTZXR0aW5ncyA9IHsKLQkJCQlD
T01CSU5FX0hJRFBJX0lNQUdFUyA9IFlFUzsKIAkJCQlEWUxJQl9DT01QQVRJQklMSVRZX1ZFUlNJ
T04gPSAxOwogCQkJCURZTElCX0NVUlJFTlRfVkVSU0lPTiA9IDE7CiAJCQkJSU5GT1BMSVNUX0ZJ
TEUgPSBSZXNvdXJjZXMvSW5mby5wbGlzdDsKQEAgLTEwNjEsMTAgKzEwNTUsNiBAQAogCQkJaXNh
ID0gWENCdWlsZENvbmZpZ3VyYXRpb247CiAJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9
IDQwRDRDREYxMEUzMEUwNzQwMDI5NDgwMSAvKiBEZWJ1Z1Byb2plY3QueGNjb25maWcgKi87CiAJ
CQlidWlsZFNldHRpbmdzID0gewotCQkJCUNMQU5HX1dBUk5fQk9PTF9DT05WRVJTSU9OID0gWUVT
OwotCQkJCUNMQU5HX1dBUk5fRU5VTV9DT05WRVJTSU9OID0gWUVTOwotCQkJCUNMQU5HX1dBUk5f
SU5UX0NPTlZFUlNJT04gPSBZRVM7Ci0JCQkJT05MWV9BQ1RJVkVfQVJDSCA9IFlFUzsKIAkJCX07
CiAJCQluYW1lID0gRGVidWc7CiAJCX07CkBAIC0xMDcyLDkgKzEwNjIsNiBAQAogCQkJaXNhID0g
WENCdWlsZENvbmZpZ3VyYXRpb247CiAJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDQw
RDRDREY0MEUzMEUwNzQwMDI5NDgwMSAvKiBSZWxlYXNlUHJvamVjdC54Y2NvbmZpZyAqLzsKIAkJ
CWJ1aWxkU2V0dGluZ3MgPSB7Ci0JCQkJQ0xBTkdfV0FSTl9CT09MX0NPTlZFUlNJT04gPSBZRVM7
Ci0JCQkJQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04gPSBZRVM7Ci0JCQkJQ0xBTkdfV0FSTl9J
TlRfQ09OVkVSU0lPTiA9IFlFUzsKIAkJCX07CiAJCQluYW1lID0gUmVsZWFzZTsKIAkJfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZyBiL1NvdXJj
ZS9XVEYvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwppbmRleCA4NmU1ZjFkZWJjYzBkZmQ1
ZGU5OTYxMjdjOGU1ZDIxNjA2Njc4NjQ1Li5jNTYwZmNiODJmYmViY2E1NWQ1YzA4Y2Q5OWQ0NDY3
MzljNWQwOWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNj
b25maWcKKysrIGIvU291cmNlL1dURi9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCkBAIC0z
Miw4ICszMiwxMSBAQCBDTEFOR19XQVJOX0NYWDBYX0VYVEVOU0lPTlMgPSBOTzsKIENMQU5HX1dB
Uk5fRU1QVFlfQk9EWSA9IFlFUzsKIENMQU5HX1dBUk5fRU5VTV9DT05WRVJTSU9OID0gWUVTOwog
Q0xBTkdfV0FSTl9JTlRfQ09OVkVSU0lPTiA9IFlFUzsKK0NMQU5HX1dBUk5fVU5SRUFDSEFCTEVf
Q09ERSA9IFlFUzsKIENMQU5HX1dBUk5fX0RVUExJQ0FURV9NRVRIT0RfTUFUQ0ggPSBZRVM7CitD
T01CSU5FX0hJRFBJX0lNQUdFUyA9IE5POwogREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gZHdh
cmYtd2l0aC1kc3ltOworRU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQgPSBZRVM7CiBHQ0NfQ19M
QU5HVUFHRV9TVEFOREFSRCA9IGdudTk5OwogR0NDX0RFQlVHR0lOR19TWU1CT0xTID0gZGVmYXVs
dDsKIEdDQ19EWU5BTUlDX05PX1BJQyA9IE5POwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggZjEzZDA5ZmZjNDUzMGJiOTg3MGZhMmY1NTlkYmVmNzZiZWZiNTlh
My4uZDMzZjBkNTc5MTI5MTNiZGQ0Y2UyNDhjODM4YTcwZjQ1ZTc1MDNlNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV1RG
L1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMjIzLDcgKzEyMjMsNyBAQAogCQk1
RDI0N0I1OTE0Njg5Qjg2MDBFNzhCNzYgLyogUHJvamVjdCBvYmplY3QgKi8gPSB7CiAJCQlpc2Eg
PSBQQlhQcm9qZWN0OwogCQkJYXR0cmlidXRlcyA9IHsKLQkJCQlMYXN0VXBncmFkZUNoZWNrID0g
MDUwMDsKKwkJCQlMYXN0VXBncmFkZUNoZWNrID0gMDYwMDsKIAkJCX07CiAJCQlidWlsZENvbmZp
Z3VyYXRpb25MaXN0ID0gNUQyNDdCNUMxNDY4OUI4NjAwRTc4Qjc2IC8qIEJ1aWxkIGNvbmZpZ3Vy
YXRpb24gbGlzdCBmb3IgUEJYUHJvamVjdCAiV1RGIiAqLzsKIAkJCWNvbXBhdGliaWxpdHlWZXJz
aW9uID0gIlhjb2RlIDMuMiI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0
aW9ucy9CYXNlLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvQmFzZS54
Y2NvbmZpZwppbmRleCBiNGExZmI3MGRkZTc0MDNhOGVhNmJlZjY2M2EyMGVkNWIzNTdjMTMyLi5j
Mjc3MTZiZDYzYmVmZGJkNzM1ZTdlYzhjNDZlMjBhOTcwZDcyMTQ5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTMzLDcgKzMzLDkgQEAgQ0xBTkdf
V0FSTl9FTVBUWV9CT0RZID0gWUVTOwogQ0xBTkdfV0FSTl9FTlVNX0NPTlZFUlNJT04gPSBZRVM7
CiBDTEFOR19XQVJOX0lOVF9DT05WRVJTSU9OID0gWUVTOwogQ0xBTkdfV0FSTl9fRFVQTElDQVRF
X01FVEhPRF9NQVRDSCA9IFlFUzsKK0NPTUJJTkVfSElEUElfSU1BR0VTID0gTk87CiBERUJVR19J
TkZPUk1BVElPTl9GT1JNQVQgPSBkd2FyZi13aXRoLWRzeW07CitFTkFCTEVfU1RSSUNUX09CSkNf
TVNHU0VORCA9IFlFUzsKIEdDQ19DX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251OTk7CiBHQ0NfREVC
VUdHSU5HX1NZTUJPTFMgPSBkZWZhdWx0OwogR0NDX0RZTkFNSUNfTk9fUElDID0gTk87CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
M2Y5NjAyM2VhODAyNzI3NmIyMzg0NzA2MjE3MDMwYmVkZDhiMjQ1Mi4uZmEzNTM2NTYyZTEyYTIw
NjJhZWY0ZTQ0ZmI3NzY4N2YxNDJiMzQ4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjEwNzIsNyArMjEwNzIsNiBAQAogCQkJ
CTdFRTY4NDczMTJEMjZFNTUwMEU3OTQxNSAvKiBjZiAqLywKIAkJCQk3RTRERTEwQjE5OEIxMDgx
MDA1MUNCMDIgLyogY29jb2EgKi8sCiAJCQkJNTEyNkU2QjYwQTJFM0FFRjAwNUMyOUZBIC8qIGlj
b24gKi8sCi0JCQkJQ0U3OUQ2ODYxN0YyMjBFRDAwODE1QzAwIC8qIGlvcyAqLywKIAkJCQk5M0Ex
RUFBMjBBNTYzNEQ4MDA2OTYwQTAgLyogbWFjICovLAogCQkJCUUxNDI0QzkxMTY0QjUyQzgwMEYz
MkQ0MCAvKiBDb29raWVKYXIuY3BwICovLAogCQkJCUUxNDI0QzkyMTY0QjUyQzgwMEYzMkQ0MCAv
KiBDb29raWVKYXIuaCAqLywKQEAgLTI2NzE1LDcgKzI2NzE0LDcgQEAKIAkJCWlzYSA9IFBCWFBy
b2plY3Q7CiAJCQlhdHRyaWJ1dGVzID0gewogCQkJCUJ1aWxkSW5kZXBlbmRlbnRUYXJnZXRzSW5Q
YXJhbGxlbCA9IFlFUzsKLQkJCQlMYXN0VXBncmFkZUNoZWNrID0gMDUwMDsKKwkJCQlMYXN0VXBn
cmFkZUNoZWNrID0gMDYwMDsKIAkJCX07CiAJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMTQ5
QzI4NDMwODkwMkIxMTAwOEE5RUZDIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJY
UHJvamVjdCAiV2ViQ29yZSIgKi87CiAJCQljb21wYXRpYmlsaXR5VmVyc2lvbiA9ICJYY29kZSAz
LjIiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggMWE0NDM0
ODI5OWViMDE4N2I2MDQ3ZDg2MzNkN2VhZGY3NzZmNzhlOC4uYzBkZDI4YjdjZWNhNTVhMmE3YjE3
ZGFlODY0YzFkZTJhYmIzZTY3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCkBAIC01MDAzLDE5ICs1MDAzLDIxIEBAIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6Y2xv
c2VkQ2FwdGlvbnNWaXNpYmxlKCkgY29uc3QKIH0KIAogI2lmIEVOQUJMRShWSURFT19UUkFDSykK
Kwogdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp1cGRhdGVUZXh0VHJhY2tEaXNwbGF5KCkKIHsKICNp
ZiBFTkFCTEUoTUVESUFfQ09OVFJPTFNfU0NSSVBUKQogICAgIGVuc3VyZVVzZXJBZ2VudFNoYWRv
d1Jvb3QoKTsKICAgICBBU1NFUlQobV9tZWRpYUNvbnRyb2xzSG9zdCk7CiAgICAgbV9tZWRpYUNv
bnRyb2xzSG9zdC0+dXBkYXRlVGV4dFRyYWNrQ29udGFpbmVyKCk7Ci0gICAgcmV0dXJuOwotI2Vu
ZGlmCisjZWxzZQogICAgIGlmICghaGFzTWVkaWFDb250cm9scygpICYmICFjcmVhdGVNZWRpYUNv
bnRyb2xzKCkpCiAgICAgICAgIHJldHVybjsKICAgICAKICAgICBtZWRpYUNvbnRyb2xzKCktPnVw
ZGF0ZVRleHRUcmFja0Rpc3BsYXkoKTsKKyNlbmRpZgogfQorCiAjZW5kaWYKIAogdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjpzZXRDbG9zZWRDYXB0aW9uc1Zpc2libGUoYm9vbCBjbG9zZWRDYXB0aW9u
VmlzaWJsZSkKQEAgLTUxOTYsOSArNTE5OCw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6Y29u
ZmlndXJlTWVkaWFDb250cm9scygpCiAgICAgICAgIHJldHVybjsKIAogICAgIGVuc3VyZVVzZXJB
Z2VudFNoYWRvd1Jvb3QoKTsKLSAgICByZXR1cm47Ci0jZW5kaWYKLQorI2Vsc2UKICAgICBpZiAo
IWNvbnRyb2xzKCkgfHwgIWluRG9jdW1lbnQoKSkgewogICAgICAgICBpZiAoaGFzTWVkaWFDb250
cm9scygpKQogICAgICAgICAgICAgbWVkaWFDb250cm9scygpLT5oaWRlKCk7CkBAIC01MjA5LDYg
KzUyMDksNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmNvbmZpZ3VyZU1lZGlhQ29udHJvbHMo
KQogICAgICAgICByZXR1cm47CiAKICAgICBtZWRpYUNvbnRyb2xzKCktPnNob3coKTsKKyNlbmRp
ZgogfQogCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQpAQCAtNTI0Miw5ICs1MjQzLDcgQEAgdm9p
ZCBIVE1MTWVkaWFFbGVtZW50Ojpjb25maWd1cmVUZXh0VHJhY2tEaXNwbGF5KFRleHRUcmFja1Zp
c2liaWxpdHlDaGVja1R5cGUgY2gKICAgICAgICAgcmV0dXJuOwogCiAgICAgZW5zdXJlVXNlckFn
ZW50U2hhZG93Um9vdCgpOwotICAgIHJldHVybjsKLSNlbmRpZgotCisjZWxzZQogICAgIGlmICgh
bV9oYXZlVmlzaWJsZVRleHRUcmFjayAmJiAhaGFzTWVkaWFDb250cm9scygpKQogICAgICAgICBy
ZXR1cm47CiAgICAgaWYgKCFoYXNNZWRpYUNvbnRyb2xzKCkgJiYgIWNyZWF0ZU1lZGlhQ29udHJv
bHMoKSkKQEAgLTUyNTYsNiArNTI1NSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6Y29uZmln
dXJlVGV4dFRyYWNrRGlzcGxheShUZXh0VHJhY2tWaXNpYmlsaXR5Q2hlY2tUeXBlIGNoCiAgICAg
ICAgIHVwZGF0ZVRleHRUcmFja0Rpc3BsYXkoKTsKICAgICAgICAgdXBkYXRlQWN0aXZlVGV4dFRy
YWNrQ3VlcyhjdXJyZW50TWVkaWFUaW1lKCkpOwogICAgIH0KKyNlbmRpZgogfQogCiB2b2lkIEhU
TUxNZWRpYUVsZW1lbnQ6OmNhcHRpb25QcmVmZXJlbmNlc0NoYW5nZWQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xEcmF3QnVmZmVycy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTERyYXdCdWZmZXJzLmNwcAppbmRleCA3YjNjMDQ3ZTg5
ZjNiYmI2MTRmZTQwYjk4YWJkN2M0ZWEwYjQxMWYyLi45YWNlMDEzZDk0NDJkODZiYzhjY2NlYzE5
OTQ5YzQzNzM2ZGUzMzdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTERyYXdCdWZmZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TERyYXdCdWZmZXJzLmNwcApAQCAtNDYsMTggKzQ2LDI1IEBAIFdlYkdMRXh0ZW5zaW9uOjpFeHRl
bnNpb25OYW1lIFdlYkdMRHJhd0J1ZmZlcnM6OmdldE5hbWUoKSBjb25zdAogICAgIHJldHVybiBX
ZWJHTEV4dGVuc2lvbjo6V2ViR0xEcmF3QnVmZmVyc05hbWU7CiB9CiAKLS8vIHN0YXRpYwotYm9v
bCBXZWJHTERyYXdCdWZmZXJzOjpzdXBwb3J0ZWQoV2ViR0xSZW5kZXJpbmdDb250ZXh0KiBjb250
ZXh0KQotewogI2lmIE9TKERBUldJTikKKworYm9vbCBXZWJHTERyYXdCdWZmZXJzOjpzdXBwb3J0
ZWQoV2ViR0xSZW5kZXJpbmdDb250ZXh0KikKK3sKICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyNDg2CiAgICAgcmV0dXJuIGZhbHNlOwotI2VuZGlmCit9
CisKKyNlbHNlCisKK2Jvb2wgV2ViR0xEcmF3QnVmZmVyczo6c3VwcG9ydGVkKFdlYkdMUmVuZGVy
aW5nQ29udGV4dCogY29udGV4dCkKK3sKICAgICBFeHRlbnNpb25zM0QqIGV4dGVuc2lvbnMgPSBj
b250ZXh0LT5ncmFwaGljc0NvbnRleHQzRCgpLT5nZXRFeHRlbnNpb25zKCk7Ci0gICAgcmV0dXJu
IChleHRlbnNpb25zLT5zdXBwb3J0cygiR0xfRVhUX2RyYXdfYnVmZmVycyIpCi0gICAgICAgICYm
IHNhdGlzZmllc1dlYkdMUmVxdWlyZW1lbnRzKGNvbnRleHQpKTsKKyAgICByZXR1cm4gZXh0ZW5z
aW9ucy0+c3VwcG9ydHMoIkdMX0VYVF9kcmF3X2J1ZmZlcnMiKQorICAgICAgICAmJiBzYXRpc2Zp
ZXNXZWJHTFJlcXVpcmVtZW50cyhjb250ZXh0KTsKIH0KIAorI2VuZGlmCisKIHZvaWQgV2ViR0xE
cmF3QnVmZmVyczo6ZHJhd0J1ZmZlcnNXRUJHTChjb25zdCBWZWN0b3I8R0MzRGVudW0+JiBidWZm
ZXJzKQogewogICAgIGlmIChtX2NvbnRleHQtPmlzQ29udGV4dExvc3QoKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKaW5kZXggYWVi
MjEyYTJhMzU4MWYzMmYwNGIyNWY2ZDI0YzRhOWQzMTM5YmJiOC4uOWQ4NzhiMzhlN2FmNDg0NzE4
ZDhmYzQ4ZDZiODhlYTY5MGZkYzI5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTgsOCArOCwxNSBAQCBTVEFHRURfRlJB
TUVXT1JLU19TRUFSQ0hfUEFUSF9ZRVMgPSAkKE5FWFRfUk9PVCkkKFNZU1RFTV9MSUJSQVJZX0RJ
UikvU3RhZ2VkRnJhbQogCiBDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzB4Owog
Q0xBTkdfQ1hYX0xJQlJBUlkgPSBsaWJjKys7CitDTEFOR19XQVJOX0JPT0xfQ09OVkVSU0lPTiA9
IFlFUzsKK0NMQU5HX1dBUk5fQ09OU1RBTlRfQ09OVkVSU0lPTiA9IFlFUzsKIENMQU5HX1dBUk5f
Q1hYMFhfRVhURU5TSU9OUyA9IE5POwotQ0xBTkdfV0FSTl9fRFVQTElDQVRFX01FVEhPRF9NQVRD
SCA9IE5PCitDTEFOR19XQVJOX0VNUFRZX0JPRFkgPSBZRVM7CitDTEFOR19XQVJOX0VOVU1fQ09O
VkVSU0lPTiA9IFlFUzsKK0NMQU5HX1dBUk5fSU5UX0NPTlZFUlNJT04gPSBZRVM7CitDTEFOR19X
QVJOX1VOUkVBQ0hBQkxFX0NPREUgPSBZRVM7CitDTEFOR19XQVJOX19EVVBMSUNBVEVfTUVUSE9E
X01BVENIID0gWUVTOworRU5BQkxFX1NUUklDVF9PQkpDX01TR1NFTkQgPSBZRVM7CiBHQ0NfQ19M
QU5HVUFHRV9TVEFOREFSRCA9IGdudTk5OwogR0NDX0RZTkFNSUNfTk9fUElDID0gWUVTOwogR0ND
X0VOQUJMRV9DUFBfRVhDRVBUSU9OUyA9IE5POwpAQCAtMzEsOSArMzgsMTAgQEAgR0NDX1dBUk5f
QUJPVVRfTUlTU0lOR19QUk9UT1RZUEVTID0gWUVTOwogR0NDX1dBUk5fQUJPVVRfUkVUVVJOX1RZ
UEUgPSBZRVMKIEdDQ19XQVJOX0FCT1VUX1JFVFVSTl9UWVBFID0gWUVTOwogR0NDX1dBUk5fTk9O
X1ZJUlRVQUxfREVTVFJVQ1RPUiA9IFlFUzsKK0dDQ19XQVJOX1VOREVDTEFSRURfU0VMRUNUT1Ig
PSBZRVM7CiBHQ0NfV0FSTl9VTklOSVRJQUxJWkVEX0FVVE9TID0gWUVTCitHQ0NfV0FSTl9VTlVT
RURfRlVOQ1RJT04gPSBZRVM7CiBHQ0NfV0FSTl9VTlVTRURfVkFSSUFCTEUgPSBZRVMKLUdDQ19X
QVJOX1VOVVNFRF9WQVJJQUJMRSA9IFlFUzsKIExJTktFUl9ESVNQTEFZU19NQU5HTEVEX05BTUVT
ID0gWUVTOwogV0FSTklOR19DRkxBR1MgPSAtV2FsbCAtVyAtV2NoYXItc3Vic2NyaXB0cyAtV2Zv
cm1hdC1zZWN1cml0eSAtV21pc3NpbmctZm9ybWF0LWF0dHJpYnV0ZSAtV3BvaW50ZXItYXJpdGgg
LVd3cml0ZS1zdHJpbmdzIC1Xbm8tdW51c2VkLXBhcmFtZXRlciAtV2V4aXQtdGltZS1kZXN0cnVj
dG9yczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1dlYkluc3BlY3RvclVJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvV2ViSW5z
cGVjdG9yVUkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2NzczYWM3ZTZkNGE2MzNi
YzQ5Y2U1YjUzZjMxNjFiM2EyZDgyNWIxLi43YWVhMzljMTk2MTBmMjI0OTkxNjc1ZThjMTJlYzgz
ZmRlNjg0NGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvV2ViSW5zcGVjdG9y
VUkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
V2ViSW5zcGVjdG9yVUkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTE5LDcgKzExOSw3
IEBACiAJCUE1NEMyMjREMTQ4QjIzREUwMDM3M0ZBMyAvKiBQcm9qZWN0IG9iamVjdCAqLyA9IHsK
IAkJCWlzYSA9IFBCWFByb2plY3Q7CiAJCQlhdHRyaWJ1dGVzID0gewotCQkJCUxhc3RVcGdyYWRl
Q2hlY2sgPSAwNDUwOworCQkJCUxhc3RVcGdyYWRlQ2hlY2sgPSAwNjAwOwogCQkJCU9SR0FOSVpB
VElPTk5BTUUgPSBBcHBsZTsKIAkJCX07CiAJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gQTU0
QzIyNTAxNDhCMjNERTAwMzczRkEzIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJY
UHJvamVjdCAiV2ViSW5zcGVjdG9yVUkiICovOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTRjNGEwNzJiNzA1ZDA1YjY2ZDBhNDFkM2Vi
ZTEyYzJiYTM1MzA2YS4uOGExYzk3NzIyYmEwNTRjMDhlNTg4NGM1NjU2MmVhZWRmZGUyN2ZiMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC0xOTUzLDcgKzE5NTMsNyBAQAogCQkwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJvamVj
dCBvYmplY3QgKi8gPSB7CiAJCQlpc2EgPSBQQlhQcm9qZWN0OwogCQkJYXR0cmlidXRlcyA9IHsK
LQkJCQlMYXN0VXBncmFkZUNoZWNrID0gMDUwMDsKKwkJCQlMYXN0VXBncmFkZUNoZWNrID0gMDYw
MDsKIAkJCX07CiAJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gMTQ5QzI4MzIwODkwMkIwRjAw
OEE5RUZDIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYUHJvamVjdCAiV2ViS2l0
IiAqLzsKIAkJCWNvbXBhdGliaWxpdHlWZXJzaW9uID0gIlhjb2RlIDMuMiI7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnIGIvU291cmNl
L1dlYktpdC9tYWMvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwppbmRleCA2YzZjM2Q3YzQ2
NjUxNzljYjhjYjEzMGE3MjUxOTUwOWU4OGIxMDNiLi5mMGJhMzM1YjkxOGMwOWU2ODgxNzE4N2Zk
MTc0ZTU1NjM5OThjZTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9Db25maWd1cmF0
aW9ucy9CYXNlLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NvbmZpZ3VyYXRpb25z
L0Jhc2UueGNjb25maWcKQEAgLTMyLDggKzMyLDExIEBAIENMQU5HX1dBUk5fQ1hYMFhfRVhURU5T
SU9OUyA9IE5POwogQ0xBTkdfV0FSTl9FTVBUWV9CT0RZID0gWUVTOwogQ0xBTkdfV0FSTl9FTlVN
X0NPTlZFUlNJT04gPSBZRVM7CiBDTEFOR19XQVJOX0lOVF9DT05WRVJTSU9OID0gWUVTOworQ0xB
TkdfV0FSTl9VTlJFQUNIQUJMRV9DT0RFID0gWUVTOwogQ0xBTkdfV0FSTl9fRFVQTElDQVRFX01F
VEhPRF9NQVRDSCA9IFlFUzsKK0NPTUJJTkVfSElEUElfSU1BR0VTID0gTk87CiBERUJVR19JTkZP
Uk1BVElPTl9GT1JNQVQgPSBkd2FyZi13aXRoLWRzeW07CitFTkFCTEVfU1RSSUNUX09CSkNfTVNH
U0VORCA9IFlFUzsKIEdDQ19DX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251OTk7CiBHQ0NfREVCVUdH
SU5HX1NZTUJPTFMgPSBkZWZhdWx0OwogR0NDX0RZTkFNSUNfTk9fUElDID0gTk87CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9IaXN0b3J5L1dlYlVSTHNXaXRoVGl0bGVzLm0gYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9IaXN0b3J5L1dlYlVSTHNXaXRoVGl0bGVzLm0KaW5kZXggMzBmYmM4YWZj
NTY1NTRhODZiY2VlYWE2MjAyYTUxNGJkMDQ1NWU2NC4uNzEwZWQzMDc3ZTAwNjhiZDkwNTg4YTUz
ZDFhOGJkN2VjY2IxMzVhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvSGlzdG9yeS9X
ZWJVUkxzV2l0aFRpdGxlcy5tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0hpc3RvcnkvV2ViVVJM
c1dpdGhUaXRsZXMubQpAQCAtNTEsNyArNTEsNyBAQCArKHZvaWQpd3JpdGVVUkxzOihOU0FycmF5
ICopVVJMcyBhbmRUaXRsZXM6KE5TQXJyYXkgKil0aXRsZXMgdG9QYXN0ZWJvYXJkOihOU1Bhcwog
ewogICAgIE5TTXV0YWJsZUFycmF5ICpVUkxTdHJpbmdzOwogICAgIE5TTXV0YWJsZUFycmF5ICp0
aXRsZXNPckVtcHR5U3RyaW5nczsKLSAgICB1bnNpZ25lZCBpbmRleCwgY291bnQ7CisgICAgTlNV
SW50ZWdlciBpbmRleCwgY291bnQ7CiAKICAgICBjb3VudCA9IFtVUkxzIGNvdW50XTsKICAgICBp
ZiAoY291bnQgPT0gMCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJF
bGVtZW50RGljdGlvbmFyeS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViRWxlbWVudERp
Y3Rpb25hcnkubW0KaW5kZXggZTJmYTc3YTMxOWJmOWExZTg4MWZiNTI4MDFkYWFiNTJjNmE4YTEx
NS4uN2ZlNzlhYWVhOTc4OTMyMTUxZjI2NzI0MDgwMzU5MjQzZDIxNjc2NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJFbGVtZW50RGljdGlvbmFyeS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9NaXNjL1dlYkVsZW1lbnREaWN0aW9uYXJ5Lm1tCkBAIC0xNjAsNyArMTYw
LDcgQEAgLSAoaWQpb2JqZWN0Rm9yS2V5OihpZClrZXkKICAgICAgICAgcmV0dXJuIG5pbDsKICAg
ICB2YWx1ZSA9IFtzZWxmIHBlcmZvcm1TZWxlY3RvcjpzZWxlY3Rvcl07CiAKLSAgICB1bnNpZ25l
ZCBsb29rdXBUYWJsZUNvdW50ID0gQ0ZEaWN0aW9uYXJ5R2V0Q291bnQobG9va3VwVGFibGUpOwor
ICAgIE5TVUludGVnZXIgbG9va3VwVGFibGVDb3VudCA9IENGRGljdGlvbmFyeUdldENvdW50KGxv
b2t1cFRhYmxlKTsKICAgICBpZiAodmFsdWUpIHsKICAgICAgICAgaWYgKCFfY2FjaGUpCiAgICAg
ICAgICAgICBfY2FjaGUgPSBbW05TTXV0YWJsZURpY3Rpb25hcnkgYWxsb2NdIGluaXRXaXRoQ2Fw
YWNpdHk6bG9va3VwVGFibGVDb3VudF07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9N
aXNjL1dlYk5TRGF0YUV4dHJhcy5tIGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJOU0RhdGFF
eHRyYXMubQppbmRleCBjNTJmNWM1YzZkOTExM2YzN2E4NzcyYjJkYjM0ZGYyNTRhNDhlZjBiLi41
NGE1YjY4MzZhOTkxYjI3OWIzNDU1Y2IyYTRkOTRhYjdkNmFkNGNlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9NaXNjL1dlYk5TRGF0YUV4dHJhcy5tCisrKyBiL1NvdXJjZS9XZWJLaXQv
bWFjL01pc2MvV2ViTlNEYXRhRXh0cmFzLm0KQEAgLTExMSw3ICsxMTEsNyBAQCBAaW1wbGVtZW50
YXRpb24gTlNEYXRhIChXZWJLaXRFeHRyYXMpCiAKIC0oTlNTdHJpbmcgKilfd2Via2l0X2d1ZXNz
ZWRNSU1FVHlwZUZvclhNTAogewotICAgIGludCBsZW5ndGggPSBbc2VsZiBsZW5ndGhdOworICAg
IE5TVUludGVnZXIgbGVuZ3RoID0gW3NlbGYgbGVuZ3RoXTsKICAgICBjb25zdCBVSW50OCAqYnl0
ZXMgPSBbc2VsZiBieXRlc107CiAgICAgCiAjZGVmaW5lIENIQU5ORUxfVEFHX0xFTkdUSCA3CkBA
IC0xNzEsNyArMTcxLDcgQEAgLShOU1N0cmluZyAqKV93ZWJraXRfZ3Vlc3NlZE1JTUVUeXBlCiAg
ICAgaWYgKFtNSU1FVHlwZSBsZW5ndGhdKQogICAgICAgICByZXR1cm4gTUlNRVR5cGU7CiAgICAg
Ci0gICAgaW50IGxlbmd0aCA9IFtzZWxmIGxlbmd0aF07CisgICAgTlNVSW50ZWdlciBsZW5ndGgg
PSBbc2VsZiBsZW5ndGhdOwogICAgIGNvbnN0IGNoYXIgKmJ5dGVzID0gW3NlbGYgYnl0ZXNdOwog
ICAgIAogICAgIGNvbnN0IGNoYXIgKnAgPSBieXRlczsKQEAgLTIzNiw4ICsyMzYsOCBAQCAtKE5T
U3RyaW5nICopX3dlYmtpdF9ndWVzc2VkTUlNRVR5cGUKICAgICB9CiAgICAgCiAgICAgLy8gVGVz
dCBmb3IgcGxhaW4gdGV4dC4KLSAgICBpbnQgaTsKLSAgICBmb3IoaT0wOyBpPGxlbmd0aDsgaSsr
KXsKKyAgICBOU1VJbnRlZ2VyIGk7CisgICAgZm9yIChpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7
CiAgICAgICAgIGNoYXIgYyA9IGJ5dGVzW2ldOwogICAgICAgICBpZiAoKGMgPCAweDIwIHx8IGMg
PiAweDdFKSAmJiAoYyAhPSAnXHQnICYmIGMgIT0gJ1xyJyAmJiBjICE9ICdcbicpKSB7CiAgICAg
ICAgICAgICBicmVhazsKQEAgLTMxMSw3ICszMTEsNyBAQCAtKE5TTXV0YWJsZURpY3Rpb25hcnkg
Kilfd2Via2l0X3BhcnNlUkZDODIySGVhZGVyRmllbGRzCiAgICAgTlNNdXRhYmxlRGljdGlvbmFy
eSAqaGVhZGVyRmllbGRzID0gW05TTXV0YWJsZURpY3Rpb25hcnkgZGljdGlvbmFyeV07CiAKICAg
ICBjb25zdCBVSW50OCAqYnl0ZXMgPSBbc2VsZiBieXRlc107Ci0gICAgdW5zaWduZWQgbGVuZ3Ro
ID0gW3NlbGYgbGVuZ3RoXTsKKyAgICBOU1VJbnRlZ2VyIGxlbmd0aCA9IFtzZWxmIGxlbmd0aF07
CiAgICAgTlNTdHJpbmcgKmxhc3RLZXkgPSBuaWw7CiAgICAgY29uc3QgVUludDggKmVvbDsKIApA
QCAtNDAwLDcgKzQwMCw3IEBAIC0gKEJPT0wpX3dlYl9zdGFydHNXaXRoQmxhbmtMaW5lCiAtIChO
U0ludGVnZXIpX3dlYl9sb2NhdGlvbkFmdGVyRmlyc3RCbGFua0xpbmUKIHsKICAgICBjb25zdCBj
aGFyICpieXRlcyA9IChjb25zdCBjaGFyICopW3NlbGYgYnl0ZXNdOwotICAgIHVuc2lnbmVkIGxl
bmd0aCA9IFtzZWxmIGxlbmd0aF07CisgICAgTlNVSW50ZWdlciBsZW5ndGggPSBbc2VsZiBsZW5n
dGhdOwogICAgIAogICAgIHVuc2lnbmVkIGk7CiAgICAgZm9yIChpID0gMDsgaSA8IGxlbmd0aCAt
IDQ7IGkrKykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJOU1VSTEV4
dHJhcy5oIGIvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJOU1VSTEV4dHJhcy5oCmluZGV4IDQ1
YWMzYWViOWI1ZDdjMDQzMTExMzc1NjFlYTRkOGViODliNWExMDEuLjhkNTg1ZjAzYjUwMDE5NmQ5
YTNlMWMzMGZjNjNiNDdlYTNmZWI2NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL01p
c2MvV2ViTlNVUkxFeHRyYXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYk5TVVJM
RXh0cmFzLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA2
LCAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAwNS0yMDA5LCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNDIsMTMgKzQyLDEwIEBACiAr
IChOU1VSTCAqKV93ZWJfVVJMV2l0aERhdGE6KE5TRGF0YSAqKWRhdGE7CiArIChOU1VSTCAqKV93
ZWJfVVJMV2l0aERhdGE6KE5TRGF0YSAqKWRhdGEgcmVsYXRpdmVUb1VSTDooTlNVUkwgKiliYXNl
VVJMOwogCi0tIChOU1VSTCAqKV93ZWJfVVJMV2l0aExvd2VyY2FzZWRTY2hlbWU7Ci0KIC0gKE5T
RGF0YSAqKV93ZWJfb3JpZ2luYWxEYXRhOwogLSAoTlNTdHJpbmcgKilfd2ViX29yaWdpbmFsRGF0
YUFzU3RyaW5nOwogLSAoY29uc3QgY2hhciAqKV93ZWJfVVJMQ1N0cmluZzsKIAotLSAoTlNEYXRh
ICopX3dlYl9ob3N0RGF0YTsKIC0gKE5TU3RyaW5nICopX3dlYl9ob3N0U3RyaW5nOwogCiAtIChO
U1N0cmluZyAqKV93ZWJfdXNlclZpc2libGVTdHJpbmc7CkBAIC01Niw0NSArNTMsMzQgQEAKIC0g
KEJPT0wpX3dlYl9pc0VtcHR5OwogCiAtIChOU1VSTCAqKV93ZWJraXRfY2Fub25pY2FsaXplOwot
LSAoTlNVUkwgKilfd2Via2l0X1VSTEJ5UmVtb3ZpbmdGcmFnbWVudDsKLS0gKE5TVVJMICopX3dl
YmtpdF9VUkxCeVJlbW92aW5nUmVzb3VyY2VTcGVjaWZpZXI7CiAtIChOU1VSTCAqKV93ZWJfVVJM
QnlSZW1vdmluZ1VzZXJJbmZvOwogCiAtIChCT09MKV93ZWJraXRfaXNKYXZhU2NyaXB0VVJMOwog
LSAoQk9PTClfd2Via2l0X2lzRmlsZVVSTDsKIC0gKE5TU3RyaW5nICopX3dlYmtpdF9zY3JpcHRJ
ZkphdmFTY3JpcHRVUkw7Ci0tIChCT09MKV93ZWJraXRfaXNGVFBEaXJlY3RvcnlVUkw7Ci0KLS0g
KEJPT0wpX3dlYmtpdF9zaG91bGRMb2FkQXNFbXB0eURvY3VtZW50OwogCiAtIChOU1N0cmluZyAq
KV93ZWJraXRfc3VnZ2VzdGVkRmlsZW5hbWVXaXRoTUlNRVR5cGU6KE5TU3RyaW5nICopTUlNRVR5
cGU7CiAKIC0gKE5TVVJMICopX3dlYmtpdF9VUkxGcm9tVVJMT3JTY2hlbWVsZXNzRmlsZVVSTDsK
IAogI2lmIFRBUkdFVF9PU19JUEhPTkUKKy8vIEZJWE1FOiBUaGlzIG1ldGhvZCBuYW1lIG5lZWRz
IGEgcHJlZml4LgogKyAoTlNVUkwgKil1bmlxdWVVUkxXaXRoUmVsYXRpdmVQYXJ0OihOU1N0cmlu
ZyAqKXJlbGF0aXZlUGFydDsKICNlbmRpZgorCiBAZW5kCiAKIEBpbnRlcmZhY2UgTlNTdHJpbmcg
KFdlYk5TVVJMRXh0cmFzKQogCiAtIChCT09MKV93ZWJfaXNVc2VyVmlzaWJsZVVSTDsKIAotLSAo
Qk9PTClfd2ViX2hvc3ROYW1lTmVlZHNEZWNvZGluZ1dpdGhSYW5nZTooTlNSYW5nZSlyYW5nZTsg
Ly8gcmV0dXJucyBOTyBpZiBkZWNvZGVIb3N0TmFtZVdpdGhSYW5nZTogd291bGQgcmV0dXJuIG5p
bCwgYnV0IG1vcmUgZWZmaWNpZW50Ci0tIChCT09MKV93ZWJfaG9zdE5hbWVOZWVkc0VuY29kaW5n
V2l0aFJhbmdlOihOU1JhbmdlKXJhbmdlOyAvLyByZXR1cm5zIE5PIGlmIGVuY29kZUhvc3ROYW1l
V2l0aFJhbmdlOiB3b3VsZCByZXR1cm4gbmlsLCBidXQgbW9yZSBlZmZpY2llbnQKLQotLSAoTlNT
dHJpbmcgKilfd2ViX2RlY29kZUhvc3ROYW1lV2l0aFJhbmdlOihOU1JhbmdlKXJhbmdlOyAvLyB0
dXJucyBmdW5ueS1sb29raW5nIEFTQ0lJIGZvcm0gaW50byBVbmljb2RlLCByZXR1cm5zIG5pbCBp
ZiBubyBkZWNvZGluZyBuZWVkZWQKLS0gKE5TU3RyaW5nICopX3dlYl9lbmNvZGVIb3N0TmFtZVdp
dGhSYW5nZTooTlNSYW5nZSlyYW5nZTsgLy8gdHVybnMgVW5pY29kZSBpbnRvIGZ1bm55LWxvb2tp
bmcgQVNDSUkgZm9ybSwgcmV0dXJucyBuaWwgaWYgbm8gZGVjb2RpbmcgbmVlZGVkCi0KIC0gKE5T
U3RyaW5nICopX3dlYl9kZWNvZGVIb3N0TmFtZTsgLy8gdHVybnMgZnVubnktbG9va2luZyBBU0NJ
SSBmb3JtIGludG8gVW5pY29kZSwgcmV0dXJucyBzZWxmIGlmIG5vIGRlY29kaW5nIG5lZWRlZCwg
Y29udmVuaWVudCBjb3ZlcgogLSAoTlNTdHJpbmcgKilfd2ViX2VuY29kZUhvc3ROYW1lOyAvLyB0
dXJucyBVbmljb2RlIGludG8gZnVubnktbG9va2luZyBBU0NJSSBmb3JtLCByZXR1cm5zIHNlbGYg
aWYgbm8gZGVjb2RpbmcgbmVlZGVkLCBjb252ZW5pZW50IGNvdmVyCiAKIC0gKEJPT0wpX3dlYmtp
dF9pc0phdmFTY3JpcHRVUkw7Ci0tIChCT09MKV93ZWJraXRfaXNGVFBEaXJlY3RvcnlVUkw7CiAt
IChCT09MKV93ZWJraXRfaXNGaWxlVVJMOwogLSAoQk9PTClfd2Via2l0X2xvb2tzTGlrZUFic29s
dXRlVVJMOwogLSAoTlNSYW5nZSlfd2Via2l0X3JhbmdlT2ZVUkxTY2hlbWU7Ci0tIChOU1N0cmlu
ZyAqKV93ZWJraXRfVVJMRnJhZ21lbnQ7CiAtIChOU1N0cmluZyAqKV93ZWJraXRfc2NyaXB0SWZK
YXZhU2NyaXB0VVJMOwogCiAjaWYgVEFSR0VUX09TX0lQSE9ORQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9tYWMvTWlzYy9XZWJOU1VSTEV4dHJhcy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL01p
c2MvV2ViTlNVUkxFeHRyYXMubW0KaW5kZXggOTBkMWYwY2YxZTU2NTc2ZWIwODZjOThiMzg4MTQw
M2U3NTY0N2QzMy4uMzU3MWI4ZmUwZDllNmNmMjQ5YmNiOWVjZDM5MDVhZjg1Y2Y5ZDI2NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJOU1VSTEV4dHJhcy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9NaXNjL1dlYk5TVVJMRXh0cmFzLm1tCkBAIC0xMzIsMjEgKzEzMiw2
IEBAIC0gKE5TVVJMICopX3dlYmtpdF9jYW5vbmljYWxpemUKICAgICByZXR1cm4gVVJMQnlDYW5v
bmljYWxpemluZ1VSTChzZWxmKTsKIH0KIAotLSAoTlNVUkwgKilfd2ViX1VSTEJ5VHJ1bmNhdGlu
Z09uZUNoYXJhY3RlckJlZm9yZUNvbXBvbmVudDooQ0ZVUkxDb21wb25lbnRUeXBlKWNvbXBvbmVu
dAotewotICAgIHJldHVybiBVUkxCeVRydW5jYXRpbmdPbmVDaGFyYWN0ZXJCZWZvcmVDb21wb25l
bnQoc2VsZiwgY29tcG9uZW50KTsKLX0KLQotLSAoTlNVUkwgKilfd2Via2l0X1VSTEJ5UmVtb3Zp
bmdGcmFnbWVudAotewotICAgIHJldHVybiBVUkxCeVRydW5jYXRpbmdPbmVDaGFyYWN0ZXJCZWZv
cmVDb21wb25lbnQoc2VsZiwga0NGVVJMQ29tcG9uZW50RnJhZ21lbnQpOwotfQotCi0tIChOU1VS
TCAqKV93ZWJraXRfVVJMQnlSZW1vdmluZ1Jlc291cmNlU3BlY2lmaWVyCi17Ci0gICAgcmV0dXJu
IFVSTEJ5VHJ1bmNhdGluZ09uZUNoYXJhY3RlckJlZm9yZUNvbXBvbmVudChzZWxmLCBrQ0ZVUkxD
b21wb25lbnRSZXNvdXJjZVNwZWNpZmllcik7Ci19Ci0KIC0gKE5TVVJMICopX3dlYl9VUkxCeVJl
bW92aW5nVXNlckluZm8KIHsKICAgICByZXR1cm4gVVJMQnlSZW1vdmluZ1VzZXJJbmZvKHNlbGYp
OwpAQCAtMTY3LDU3ICsxNTIsNiBAQCAtIChCT09MKV93ZWJraXRfaXNGaWxlVVJMCiAgICAgcmV0
dXJuIFtbc2VsZiBfd2ViX29yaWdpbmFsRGF0YUFzU3RyaW5nXSBfd2Via2l0X2lzRmlsZVVSTF07
CiB9CiAKLS0gKEJPT0wpX3dlYmtpdF9pc0ZUUERpcmVjdG9yeVVSTAotewotICAgIHJldHVybiBb
W3NlbGYgX3dlYl9vcmlnaW5hbERhdGFBc1N0cmluZ10gX3dlYmtpdF9pc0ZUUERpcmVjdG9yeVVS
TF07Ci19Ci0KLS0gKEJPT0wpX3dlYmtpdF9zaG91bGRMb2FkQXNFbXB0eURvY3VtZW50Ci17Ci0g
ICAgcmV0dXJuIFtbc2VsZiBfd2ViX29yaWdpbmFsRGF0YUFzU3RyaW5nXSBfd2Via2l0X2hhc0Nh
c2VJbnNlbnNpdGl2ZVByZWZpeDpAImFib3V0OiJdIHx8IFtzZWxmIF93ZWJfaXNFbXB0eV07Ci19
Ci0KLS0gKE5TVVJMICopX3dlYl9VUkxXaXRoTG93ZXJjYXNlZFNjaGVtZQotewotICAgIENGUmFu
Z2UgcmFuZ2U7Ci0gICAgQ0ZVUkxHZXRCeXRlUmFuZ2VGb3JDb21wb25lbnQoKENGVVJMUmVmKXNl
bGYsIGtDRlVSTENvbXBvbmVudFNjaGVtZSwgJnJhbmdlKTsKLSAgICBpZiAocmFuZ2UubG9jYXRp
b24gPT0ga0NGTm90Rm91bmQpIHsKLSAgICAgICAgcmV0dXJuIHNlbGY7Ci0gICAgfQotICAgIAot
ICAgIFVJbnQ4IHN0YXRpY19idWZmZXJbVVJMX0JZVEVTX0JVRkZFUl9MRU5HVEhdOwotICAgIFVJ
bnQ4ICpidWZmZXIgPSBzdGF0aWNfYnVmZmVyOwotICAgIENGSW5kZXggYnl0ZXNGaWxsZWQgPSBD
RlVSTEdldEJ5dGVzKChDRlVSTFJlZilzZWxmLCBidWZmZXIsIFVSTF9CWVRFU19CVUZGRVJfTEVO
R1RIKTsKLSAgICBpZiAoYnl0ZXNGaWxsZWQgPT0gLTEpIHsKLSAgICAgICAgQ0ZJbmRleCBieXRl
c1RvQWxsb2NhdGUgPSBDRlVSTEdldEJ5dGVzKChDRlVSTFJlZilzZWxmLCBOVUxMLCAwKTsKLSAg
ICAgICAgYnVmZmVyID0gc3RhdGljX2Nhc3Q8VUludDggKj4obWFsbG9jKGJ5dGVzVG9BbGxvY2F0
ZSkpOwotICAgICAgICBieXRlc0ZpbGxlZCA9IENGVVJMR2V0Qnl0ZXMoKENGVVJMUmVmKXNlbGYs
IGJ1ZmZlciwgYnl0ZXNUb0FsbG9jYXRlKTsKLSAgICAgICAgQVNTRVJUKGJ5dGVzRmlsbGVkID09
IGJ5dGVzVG9BbGxvY2F0ZSk7Ci0gICAgfQotICAgIAotICAgIGludCBpOwotICAgIEJPT0wgY2hh
bmdlZCA9IE5POwotICAgIGZvciAoaSA9IDA7IGkgPCByYW5nZS5sZW5ndGg7ICsraSkgewotICAg
ICAgICBjaGFyIGMgPSBidWZmZXJbcmFuZ2UubG9jYXRpb24gKyBpXTsKLSAgICAgICAgY2hhciBs
b3dlciA9IHRvQVNDSUlMb3dlcihjKTsKLSAgICAgICAgaWYgKGMgIT0gbG93ZXIpIHsKLSAgICAg
ICAgICAgIGJ1ZmZlcltyYW5nZS5sb2NhdGlvbiArIGldID0gbG93ZXI7Ci0gICAgICAgICAgICBj
aGFuZ2VkID0gWUVTOwotICAgICAgICB9Ci0gICAgfQotICAgIAotICAgIE5TVVJMICpyZXN1bHQg
PSBjaGFuZ2VkCi0gICAgICAgID8gQ0ZCcmlkZ2luZ1JlbGVhc2UoQ0ZVUkxDcmVhdGVBYnNvbHV0
ZVVSTFdpdGhCeXRlcyhOVUxMLCBidWZmZXIsIGJ5dGVzRmlsbGVkLCBrQ0ZTdHJpbmdFbmNvZGlu
Z1VURjgsIG5pbCwgWUVTKSkKLSAgICAgICAgOiBzZWxmOwotCi0gICAgaWYgKGJ1ZmZlciAhPSBz
dGF0aWNfYnVmZmVyKSB7Ci0gICAgICAgIGZyZWUoYnVmZmVyKTsKLSAgICB9Ci0gICAgCi0gICAg
cmV0dXJuIHJlc3VsdDsKLX0KLQotCiAtKE5TRGF0YSAqKV93ZWJfc2NoZW1lU2VwYXJhdG9yV2l0
aG91dENvbG9uCiB7CiAgICAgTlNEYXRhICpyZXN1bHQgPSBuaWw7CkBAIC0zMTgsMzYgKzI1Miw2
IEBAIC0gKE5TU3RyaW5nICopX3dlYmtpdF9zY3JpcHRJZkphdmFTY3JpcHRVUkwKICAgICByZXR1
cm4gW1tzZWxmIHN1YnN0cmluZ0Zyb21JbmRleDoxMV0gX3dlYmtpdF9zdHJpbmdCeVJlcGxhY2lu
Z1ZhbGlkUGVyY2VudEVzY2FwZXNdOwogfQogCi0tIChCT09MKV93ZWJraXRfaXNGVFBEaXJlY3Rv
cnlVUkwKLXsKLSAgICBpbnQgbGVuZ3RoID0gW3NlbGYgbGVuZ3RoXTsKLSAgICBpZiAobGVuZ3Ro
IDwgNSkgeyAgLy8gNSBpcyBsZW5ndGggb2YgImZ0cDovIgotICAgICAgICByZXR1cm4gTk87Ci0g
ICAgfQotICAgIHVuaWNoYXIgbGFzdENoYXIgPSBbc2VsZiBjaGFyYWN0ZXJBdEluZGV4Omxlbmd0
aCAtIDFdOwotICAgIHJldHVybiBsYXN0Q2hhciA9PSAnLycgJiYgW3NlbGYgX3dlYmtpdF9oYXND
YXNlSW5zZW5zaXRpdmVQcmVmaXg6QCJmdHA6Il07Ci19Ci0KLS0gKEJPT0wpX3dlYl9ob3N0TmFt
ZU5lZWRzRGVjb2RpbmdXaXRoUmFuZ2U6KE5TUmFuZ2UpcmFuZ2UKLXsKLSAgICByZXR1cm4gaG9z
dE5hbWVOZWVkc0RlY29kaW5nV2l0aFJhbmdlKHNlbGYsIHJhbmdlKTsKLX0KLQotLSAoQk9PTClf
d2ViX2hvc3ROYW1lTmVlZHNFbmNvZGluZ1dpdGhSYW5nZTooTlNSYW5nZSlyYW5nZQotewotICAg
IHJldHVybiBob3N0TmFtZU5lZWRzRW5jb2RpbmdXaXRoUmFuZ2Uoc2VsZiwgcmFuZ2UpOwotfQot
Ci0tIChOU1N0cmluZyAqKV93ZWJfZGVjb2RlSG9zdE5hbWVXaXRoUmFuZ2U6KE5TUmFuZ2UpcmFu
Z2UKLXsKLSAgICByZXR1cm4gZGVjb2RlSG9zdE5hbWVXaXRoUmFuZ2Uoc2VsZiwgcmFuZ2UpOwot
fQotCi0tIChOU1N0cmluZyAqKV93ZWJfZW5jb2RlSG9zdE5hbWVXaXRoUmFuZ2U6KE5TUmFuZ2Up
cmFuZ2UKLXsKLSAgICByZXR1cm4gZW5jb2RlSG9zdE5hbWVXaXRoUmFuZ2Uoc2VsZiwgcmFuZ2Up
OwotfQotCiAtIChOU1N0cmluZyAqKV93ZWJfZGVjb2RlSG9zdE5hbWUKIHsKICAgICByZXR1cm4g
ZGVjb2RlSG9zdE5hbWUoc2VsZik7CkBAIC0zODYsMTYgKzI5MCw2IEBAIC0oQk9PTClfd2Via2l0
X2xvb2tzTGlrZUFic29sdXRlVVJMCiAgICAgcmV0dXJuIFtbc2VsZiBfd2Via2l0X3N0cmluZ0J5
VHJpbW1pbmdXaGl0ZXNwYWNlXSBfd2Via2l0X3JhbmdlT2ZVUkxTY2hlbWVdLmxvY2F0aW9uICE9
IE5TTm90Rm91bmQ7CiB9CiAKLS0gKE5TU3RyaW5nICopX3dlYmtpdF9VUkxGcmFnbWVudAotewot
ICAgIE5TUmFuZ2UgZnJhZ21lbnRSYW5nZTsKLSAgICAKLSAgICBmcmFnbWVudFJhbmdlID0gW3Nl
bGYgcmFuZ2VPZlN0cmluZzpAIiMiIG9wdGlvbnM6TlNMaXRlcmFsU2VhcmNoXTsKLSAgICBpZiAo
ZnJhZ21lbnRSYW5nZS5sb2NhdGlvbiA9PSBOU05vdEZvdW5kKQotICAgICAgICByZXR1cm4gbmls
OwotICAgIHJldHVybiBbc2VsZiBzdWJzdHJpbmdGcm9tSW5kZXg6ZnJhZ21lbnRSYW5nZS5sb2Nh
dGlvbiArIDFdOwotfQotCiAjaWYgUExBVEZPUk0oSU9TKQogCiAtIChOU1N0cmluZyAqKV93ZWJr
aXRfdW5lc2NhcGVkUXVlcnlWYWx1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvUGx1
Z2lucy9XZWJQbHVnaW5EYXRhYmFzZS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2Vi
UGx1Z2luRGF0YWJhc2UubW0KaW5kZXggN2ZkM2FlYjJjYmY0ZmI3NjdjNmY2MDQ4YzNjZmRlMmM0
MWY3MTk3Ny4uYjJlZDViNTk2MDc1MDgyNzFhYWU5YjJlNTExNWNiZGYzNTlhMjMxMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJQbHVnaW5EYXRhYmFzZS5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYlBsdWdpbkRhdGFiYXNlLm1tCkBAIC0zNDgs
MTIgKzM0OCw3IEBAIC0gKHZvaWQpcmVtb3ZlUGx1Z2luSW5zdGFuY2VWaWV3c0ZvcjooV2ViRnJh
bWUqKXdlYkZyYW1lCiAKICAgICBOU1ZpZXcgPFdlYkRvY3VtZW50Vmlldz4gKmRvY3VtZW50Vmll
dyA9IFtbd2ViRnJhbWUgZnJhbWVWaWV3XSBkb2N1bWVudFZpZXddOyAKICAgICBpZiAoW2RvY3Vt
ZW50VmlldyBpc0tpbmRPZkNsYXNzOltXZWJIVE1MVmlldyBjbGFzc11dKSB7Ci0gICAgICAgIE5T
QXJyYXkgKnN1YnZpZXdzID0gW2RvY3VtZW50VmlldyBzdWJ2aWV3c107IAotICAgICAgICB1bnNp
Z25lZCBpbnQgc3Vidmlld0NvdW50ID0gW3N1YnZpZXdzIGNvdW50XTsgCi0gICAgICAgIHVuc2ln
bmVkIGludCBzdWJ2aWV3SW5kZXg7IAotICAgICAgICAKLSAgICAgICAgZm9yIChzdWJ2aWV3SW5k
ZXggPSAwOyBzdWJ2aWV3SW5kZXggPCBzdWJ2aWV3Q291bnQ7IHN1YnZpZXdJbmRleCsrKSB7IAot
ICAgICAgICAgICAgTlNWaWV3ICpzdWJ2aWV3ID0gW3N1YnZpZXdzIG9iamVjdEF0SW5kZXg6c3Vi
dmlld0luZGV4XTsgCisgICAgICAgIGZvciAoTlNWaWV3ICpzdWJ2aWV3IGluIFtkb2N1bWVudFZp
ZXcgc3Vidmlld3NdKSB7CiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgICAg
ICAgICBpZiAoW3N1YnZpZXcgaXNLaW5kT2ZDbGFzczpbV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmll
dyBjbGFzc11dIHx8IFtXZWJQbHVnaW5Db250cm9sbGVyIGlzUGx1Z0luVmlldzpzdWJ2aWV3XSkK
ICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJP
cGVuUGFuZWxSZXN1bHRMaXN0ZW5lci5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyLm1tCmluZGV4IDEyODE0ZWExMWIyZjQxNTgz
NDgwZGQwYTg4MjYwZDhiOGMxZDRhNTEuLjBmOTU5MTkxZGI4NWU1ZmNkYWY1YjdiOGY2OTM0YWJl
ODI0NzliNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
Yk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyLm1tCkBAIC04Myw5ICs4Myw5IEBA
IC0gKHZvaWQpY2hvb3NlRmlsZW5hbWVzOihOU0FycmF5ICopZmlsZW5hbWVzCiAgICAgQVNTRVJU
KF9jaG9vc2VyKTsKICAgICBpZiAoIV9jaG9vc2VyKQogICAgICAgICByZXR1cm47Ci0gICAgaW50
IGNvdW50ID0gW2ZpbGVuYW1lcyBjb3VudF07IAorICAgIE5TVUludGVnZXIgY291bnQgPSBbZmls
ZW5hbWVzIGNvdW50XTsKICAgICBWZWN0b3I8U3RyaW5nPiBuYW1lcyhjb3VudCk7Ci0gICAgZm9y
IChpbnQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKQorICAgIGZvciAoTlNVSW50ZWdlciBpID0gMDsg
aSA8IGNvdW50OyBpKyspCiAgICAgICAgIG5hbWVzW2ldID0gW2ZpbGVuYW1lcyBvYmplY3RBdElu
ZGV4OmldOwogICAgIF9jaG9vc2VyLT5jaG9vc2VGaWxlcyhuYW1lcyk7CiAgICAgX2Nob29zZXIt
PmRlcmVmKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkRlbGVn
YXRlSW1wbGVtZW50YXRpb25DYWNoaW5nLm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJEZWxlZ2F0ZUltcGxlbWVudGF0aW9uQ2FjaGluZy5tbQppbmRleCAxZjJhOGM3MDBlMjhhMWY3
MTI0ZDVlMTUzNWM2NzlkMzA0OTViNzdiLi4zZmVkZjI5YjRjNDdhMWRjZDU0YTY5NDcwYTQ5ZmU1
NTcxMmNkODBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkRlbGVn
YXRlSW1wbGVtZW50YXRpb25DYWNoaW5nLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViRGVsZWdhdGVJbXBsZW1lbnRhdGlvbkNhY2hpbmcubW0KQEAgLTU1OCw3ICs1NTgsNyBA
QCBzdGF0aWMgaW5saW5lIGlkIENhbGxEZWxlZ2F0ZShJTVAgaW1wbGVtZW50YXRpb24sIFdlYlZp
ZXcgKnNlbGYsIGlkIGRlbGVnYXRlLCBTRQogICAgIGlmICghZGVsZWdhdGUpCiAgICAgICAgIHJl
dHVybiBuaWw7CiAgICAgQHRyeSB7Ci0gICAgICAgIHJldHVybiBpbXBsZW1lbnRhdGlvbihkZWxl
Z2F0ZSwgc2VsZWN0b3IsIHNlbGYsIGludGVnZXIpOworICAgICAgICByZXR1cm4gd3RmQ2FsbElN
UDxpZD4oaW1wbGVtZW50YXRpb24sIGRlbGVnYXRlLCBzZWxlY3Rvciwgc2VsZiwgaW50ZWdlcik7
CiAgICAgfSBAY2F0Y2goaWQgZXhjZXB0aW9uKSB7CiAgICAgICAgIFJlcG9ydERpc2NhcmRlZERl
bGVnYXRlRXhjZXB0aW9uKHNlbGVjdG9yLCBleGNlcHRpb24pOwogICAgIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVGV4dENvbXBsZXRpb25Db250cm9sbGVyLm1t
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJUZXh0Q29tcGxldGlvbkNvbnRyb2xsZXIu
bW0KaW5kZXggNTRiNzJkZDk5NjBlNzBiMDAxNzVmMDJlNTJiNjkxMjVmNThlOTQ3ZC4uYWY4MTJm
M2QyN2NhMTVjNTQ0MmYwNDgyMzgyZDNlYTYzNWMzNjdlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJUZXh0Q29tcGxldGlvbkNvbnRyb2xsZXIubW0KKysrIGIvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJUZXh0Q29tcGxldGlvbkNvbnRyb2xsZXIubW0KQEAg
LTEyNSw3ICsxMjUsNyBAQCAtICh2b2lkKV9idWlsZFVJCiAvLyBtb3N0bHkgbGlmdGVkIGZyb20g
TlNUZXh0Vmlld19LZXlCaW5kaW5nLm0KIC0gKHZvaWQpX3BsYWNlUG9wdXBXaW5kb3c6KE5TUG9p
bnQpdG9wTGVmdAogewotICAgIGludCBudW1iZXJUb1Nob3cgPSBbX2NvbXBsZXRpb25zIGNvdW50
XTsKKyAgICBOU1VJbnRlZ2VyIG51bWJlclRvU2hvdyA9IFtfY29tcGxldGlvbnMgY291bnRdOwog
ICAgIGlmIChudW1iZXJUb1Nob3cgPiAyMCkKICAgICAgICAgbnVtYmVyVG9TaG93ID0gMjA7CiAK
QEAgLTE0MCw4ICsxNDAsNyBAQCAtICh2b2lkKV9wbGFjZVBvcHVwV2luZG93OihOU1BvaW50KXRv
cExlZnQKICAgICBOU0RpY3Rpb25hcnkgKmF0dHJpYnV0ZXMgPSBbTlNEaWN0aW9uYXJ5IGRpY3Rp
b25hcnlXaXRoT2JqZWN0c0FuZEtleXM6W05TRm9udCBzeXN0ZW1Gb250T2ZTaXplOjEyLjBmXSwg
TlNGb250QXR0cmlidXRlTmFtZSwgbmlsXTsKICAgICBDR0Zsb2F0IG1heFdpZHRoID0gMDsKICAg
ICBpbnQgbWF4SW5kZXggPSAtMTsKLSAgICBpbnQgaTsKLSAgICBmb3IgKGkgPSAwOyBpIDwgbnVt
YmVyVG9TaG93OyBpKyspIHsKKyAgICBmb3IgKE5TVUludGVnZXIgaSA9IDA7IGkgPCBudW1iZXJU
b1Nob3c7IGkrKykgewogICAgICAgICBmbG9hdCB3aWR0aCA9IGNlaWxmKFtbX2NvbXBsZXRpb25z
IG9iamVjdEF0SW5kZXg6aV0gc2l6ZVdpdGhBdHRyaWJ1dGVzOmF0dHJpYnV0ZXNdLndpZHRoKTsK
ICAgICAgICAgaWYgKHdpZHRoID4gbWF4V2lkdGgpIHsKICAgICAgICAgICAgIG1heFdpZHRoID0g
d2lkdGg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9CYXNlLnhj
Y29uZmlnIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZpZwppbmRl
eCA3MzYxZGYyMDhkNDEzMGM3MWUzYTNmOWVjNTM5NTYzYjgzNWUxMWMzLi43ZmYzZWQxNTVmODIw
MGVkODdkNDI1MmQ5ZjBmODBmZDJiOTRhODNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
b25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3Vy
YXRpb25zL0Jhc2UueGNjb25maWcKQEAgLTMyLDggKzMyLDExIEBAIENMQU5HX1dBUk5fQ1hYMFhf
RVhURU5TSU9OUyA9IE5POwogQ0xBTkdfV0FSTl9FTVBUWV9CT0RZID0gWUVTOwogQ0xBTkdfV0FS
Tl9FTlVNX0NPTlZFUlNJT04gPSBZRVM7CiBDTEFOR19XQVJOX0lOVF9DT05WRVJTSU9OID0gWUVT
OworQ0xBTkdfV0FSTl9VTlJFQUNIQUJMRV9DT0RFID0gWUVTOwogQ0xBTkdfV0FSTl9fRFVQTElD
QVRFX01FVEhPRF9NQVRDSCA9IFlFUzsKK0NPTUJJTkVfSElEUElfSU1BR0VTID0gTk87CiBERUJV
R19JTkZPUk1BVElPTl9GT1JNQVQgPSBkd2FyZi13aXRoLWRzeW07CitFTkFCTEVfU1RSSUNUX09C
SkNfTVNHU0VORCA9IFlFUzsKIEdDQ19DX0xBTkdVQUdFX1NUQU5EQVJEID0gZ251OTk7CiBHQ0Nf
REVCVUdHSU5HX1NZTUJPTFMgPSBkZWZhdWx0OwogR0NDX0RZTkFNSUNfTk9fUElDID0gTk87CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Qcm9jZXNz
TWFjLm1tIGIvU291cmNlL1dlYktpdDIvUGx1Z2luUHJvY2Vzcy9tYWMvUGx1Z2luUHJvY2Vzc01h
Yy5tbQppbmRleCBmMzVjMWIwOTBmYTkwMjJiYjE5ODgyY2YzYWIxOGE2OWUzZmMxN2Y0Li4wYTAy
MWYyZjJlOWIwN2UyMTkxZDlkNDVkZjZjMjFjZWY4NzFhMzI2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Qcm9jZXNzTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1BsdWdpblByb2Nlc3MvbWFjL1BsdWdpblByb2Nlc3NNYWMubW0KQEAgLTI2NCw3
ICsyNjQsNyBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXplU2hpbSgpCiB9CiAjZW5kaWYKIAotc3Rh
dGljIElNUCBOU0NvbmNyZXRlVGFza19sYXVuY2g7CitzdGF0aWMgdm9pZCAoKk5TQ29uY3JldGVU
YXNrX2xhdW5jaCkoTlNUYXNrICosIFNFTCk7CiAKIHN0YXRpYyB2b2lkIHJlcGxhY2VkTlNDb25j
cmV0ZVRhc2tfbGF1bmNoKE5TVGFzayAqc2VsZiwgU0VMIF9jbWQpCiB7CkBAIC0zMTgsNyArMzE4
LDcgQEAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZUNvY29hT3ZlcnJpZGVzKCkKIHsKICAgICAvLyBP
dmVycmlkZSAtW05TQ29uY3JldGVUYXNrIGxhdW5jaDpdCiAgICAgTWV0aG9kIGxhdW5jaE1ldGhv
ZCA9IGNsYXNzX2dldEluc3RhbmNlTWV0aG9kKG9iamNfZ2V0Q2xhc3MoIk5TQ29uY3JldGVUYXNr
IiksIEBzZWxlY3RvcihsYXVuY2gpKTsKLSAgICBOU0NvbmNyZXRlVGFza19sYXVuY2ggPSBtZXRo
b2Rfc2V0SW1wbGVtZW50YXRpb24obGF1bmNoTWV0aG9kLCByZWludGVycHJldF9jYXN0PElNUD4o
cmVwbGFjZWROU0NvbmNyZXRlVGFza19sYXVuY2gpKTsKKyAgICBOU0NvbmNyZXRlVGFza19sYXVu
Y2ggPSByZWludGVycHJldF9jYXN0PHZvaWQgKCopKE5TVGFzayAqLCBTRUwpPihtZXRob2Rfc2V0
SW1wbGVtZW50YXRpb24obGF1bmNoTWV0aG9kLCByZWludGVycHJldF9jYXN0PElNUD4ocmVwbGFj
ZWROU0NvbmNyZXRlVGFza19sYXVuY2gpKSk7CiAKICAgICAvLyBPdmVycmlkZSAtW05TV29ya3Nw
YWNlIGxhdW5jaEFwcGxpY2F0aW9uQXRVUkw6b3B0aW9uczpjb25maWd1cmF0aW9uOmVycm9yOl0K
ICAgICBNZXRob2QgbGF1bmNoQXBwbGljYXRpb25BdFVSTE9wdGlvbnNDb25maWd1cmF0aW9uRXJy
b3JNZXRob2QgPSBjbGFzc19nZXRJbnN0YW5jZU1ldGhvZChvYmpjX2dldENsYXNzKCJOU1dvcmtz
cGFjZSIpLCBAc2VsZWN0b3IobGF1bmNoQXBwbGljYXRpb25BdFVSTDpvcHRpb25zOmNvbmZpZ3Vy
YXRpb246ZXJyb3I6KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5JbmZvU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdp
bnMvUGx1Z2luSW5mb1N0b3JlLmNwcAppbmRleCBjZDc4YTVkZDYxY2VhYTVkYWU4ODY5NGI5Mzg2
MTIyNGI4YTY4Mzg1Li5kY2MwYmU4NDBhYTY0N2MzZTBkNDVmMzU0YzAxNjRmMTI5ZjVhNDhmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5JbmZvU3Rv
cmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9T
dG9yZS5jcHAKQEAgLTE1Niw4ICsxNTYsOCBAQCBzdGF0aWMgaW5saW5lIFN0cmluZyBwYXRoRXh0
ZW5zaW9uKGNvbnN0IFVSTCYgdXJsKQogICAgIFN0cmluZyBleHRlbnNpb247CiAgICAgU3RyaW5n
IGZpbGVuYW1lID0gdXJsLmxhc3RQYXRoQ29tcG9uZW50KCk7CiAgICAgaWYgKCFmaWxlbmFtZS5l
bmRzV2l0aCgnLycpKSB7Ci0gICAgICAgIGludCBleHRlbnNpb25Qb3MgPSBmaWxlbmFtZS5yZXZl
cnNlRmluZCgnLicpOwotICAgICAgICBpZiAoZXh0ZW5zaW9uUG9zICE9IC0xKQorICAgICAgICBz
aXplX3QgZXh0ZW5zaW9uUG9zID0gZmlsZW5hbWUucmV2ZXJzZUZpbmQoJy4nKTsKKyAgICAgICAg
aWYgKGV4dGVuc2lvblBvcyAhPSBub3RGb3VuZCkKICAgICAgICAgICAgIGV4dGVuc2lvbiA9IGZp
bGVuYW1lLnN1YnN0cmluZyhleHRlbnNpb25Qb3MgKyAxKTsKICAgICB9CiAgICAgCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYzkw
ZDc3NWY2MzhkODI5YWMxNzU1MjU1MzgyMGZmODYyNzhhNzMwNS4uMDc0YWZjZmVjODk3N2VkOTQ2
NDE1YWZlZjY2YTk1MjMzZThjMWQ3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0
Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNzE3LDcgKzcxNyw2IEBACiAJCTM3M0NFQUQ4
MTg1OTU1M0YwMDhDMzYzRCAvKiBXS1BhZ2VQb2xpY3lDbGllbnRJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzczQ0VBRDcxODU5NTUzRjAw
OEMzNjNEIC8qIFdLUGFnZVBvbGljeUNsaWVudEludGVybmFsLmggKi87IH07CiAJCTM3M0QxMjIy
MThBNDczMDEwMDY2RDlDQyAvKiBfV0tGcmFtZUhhbmRsZS5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3M0QxMjIwMThBNDczMDEwMDY2RDlDQyAvKiBf
V0tGcmFtZUhhbmRsZS5tbSAqLzsgfTsKIAkJMzczRDEyMjMxOEE0NzMwMTAwNjZEOUNDIC8qIF9X
S0ZyYW1lSGFuZGxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAzNzNEMTIyMTE4QTQ3MzAxMDA2NkQ5Q0MgLyogX1dLRnJhbWVIYW5kbGUuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkzNzNEMTIyNTE4QTQ3
M0IzMDA2NkQ5Q0MgLyogV0tCcm93c2luZ0NvbnRleHRIYW5kbGVJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzczRDEyMjQxOEE0NzNCMzAw
NjZEOUNDIC8qIFdLQnJvd3NpbmdDb250ZXh0SGFuZGxlSW50ZXJuYWwuaCAqLzsgfTsKIAkJMzcz
RDEyMjcxOEE0NzNGNjAwNjZEOUNDIC8qIF9XS0ZyYW1lSGFuZGxlSW50ZXJuYWwuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3M0QxMjI2MThBNDczRjYw
MDY2RDlDQyAvKiBfV0tGcmFtZUhhbmRsZUludGVybmFsLmggKi87IH07CiAJCTM3M0QxMjJEMThB
NEI2RUIwMDY2RDlDQyAvKiBXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZVByaXZhdGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3M0QxMjJDMThBNEI2QTgw
MDY2RDlDQyAvKiBXS1dlYlByb2Nlc3NQbHVnSW5GcmFtZVByaXZhdGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkzNzQzOTI1ODE4QkM0QzYwMDAx
Qzg2NzUgLyogV0tVSURlbGVnYXRlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzc0MzkyNTcxOEJDNEM2MDAwMUM4Njc1IC8qIFdLVUlEZWxl
Z2F0ZVByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwpAQCAtNzMxNiw3ICs3MzE1LDYgQEAKIAkJCQlCQzU5NzA3NTExNjU5MUQwMDA1NTFGQ0Eg
LyogUHJvY2Vzc01vZGVsLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUIxNkFFQTE2NEIzQTg4MDAy
OTBENjIgLyogUmVtb3RlTGF5ZXJUcmVlQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFC
MTZBREUxNjQ4NTk4NDAwMjkwRDYyIC8qIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLmggaW4g
SGVhZGVycyAqLywKLQkJCQkzNzNEMTIyNTE4QTQ3M0IzMDA2NkQ5Q0MgLyogV0tCcm93c2luZ0Nv
bnRleHRIYW5kbGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCMTZBRTIxNjQ4NjU2
RDAwMjkwRDYyIC8qIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTFBQTNENzVDMTY1MUI0NEYwMDg3MTNEMCAvKiBSZW1vdGVMYXllclRyZWVIb3N0
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUYxQUM2QzE2NTE3NTlFMDBDMTdEN0YgLyogUmVtb3Rl
TGF5ZXJUcmVlVHJhbnNhY3Rpb24uaCBpbiBIZWFkZXJzICovLApAQCAtODE3OSw3ICs4MTc3LDcg
QEAKIAkJMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovID0gewog
CQkJaXNhID0gUEJYUHJvamVjdDsKIAkJCWF0dHJpYnV0ZXMgPSB7Ci0JCQkJTGFzdFVwZ3JhZGVD
aGVjayA9IDA1MDA7CisJCQkJTGFzdFVwZ3JhZGVDaGVjayA9IDA2MDA7CiAJCQl9OwogCQkJYnVp
bGRDb25maWd1cmF0aW9uTGlzdCA9IDFERUI5MUIxMDg3MzNEQTUwMDEwRTlDRCAvKiBCdWlsZCBj
b25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWFByb2plY3QgIldlYktpdDIiICovOwogCQkJY29tcGF0
aWJpbGl0eVZlcnNpb24gPSAiWGNvZGUgMy4yIjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>