<?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>172412</bug_id>
          
          <creation_ts>2017-05-19 23:57:20 -0700</creation_ts>
          <short_desc>Switch windows build to Visual Studio 2017</short_desc>
          <delta_ts>2017-12-06 20:08:37 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Windows 10</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>174979</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter>isaac+webkit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>pvollan</cc>
    
    <cc>stephan.szabo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1310989</commentid>
    <comment_count>0</comment_count>
      <attachid>310766</attachid>
    <who name="">isaac+webkit</who>
    <bug_when>2017-05-19 23:57:20 -0700</bug_when>
    <thetext>Created attachment 310766
Patch to change to use Visual Studio 2017 for building

Switch the target compiler and build environment to Visual Studio 2017.

N.B. The attached patch seems to cause MiniBrowser at startup with the following stack trace:
WebKit\WebKitBuild\Debug\DerivedSources\WebCore\HTMLNames.cpp

 	WTF.dll!WTFCrash() Line 292	C++
 	WebKit.dll!WTF::StringImpl::assertHashIsCorrect() Line 889	C++
&gt;	WebKit.dll!WebCore::HTMLNames::init() Line 1666	C++
 	WebKit.dll!WebCore::Frame::Frame(WebCore::Page &amp; page, WebCore::HTMLFrameOwnerElement * ownerElement, WebCore::FrameLoaderClient &amp; frameLoaderClient) Line 175	C++
 	WebKit.dll!WebCore::MainFrame::MainFrame(WebCore::Page &amp; page, WebCore::PageConfiguration &amp; configuration) Line 56	C++
 	WebKit.dll!WebCore::MainFrame::create(WebCore::Page &amp; page, WebCore::PageConfiguration &amp; configuration) Line 68	C++
 	WebKit.dll!WebCore::Page::Page(WebCore::PageConfiguration &amp;&amp; pageConfiguration) Line 270	C++
 	WebKit.dll!WebView::initWithFrame(tagRECT frame, wchar_t * frameName, wchar_t * groupName) Line 3122	C++
 	MiniBrowserLib.dll!MiniBrowser::prepareViews(HWND__ * mainWnd, const tagRECT &amp; clientRect, wchar_t * const &amp; requestedURL, HWND__ * &amp; viewHwnd) Line 100	C++
 	MiniBrowserLib.dll!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 160	C++
 	MiniBrowserLib.dll!dllLauncherEntryPoint(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 857	C++
 	MiniBrowser.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 249	C++</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311717</commentid>
    <comment_count>1</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-05-22 18:53:17 -0700</bug_when>
    <thetext>Your callstack looks similar with Bug 171800.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311730</commentid>
    <comment_count>2</comment_count>
    <who name="">isaac+webkit</who>
    <bug_when>2017-05-22 19:46:34 -0700</bug_when>
    <thetext>Yes, I thought so too. I&apos;ve experimented with re-enabling static constructors by removing the line below from Source/WTF/wtf/StaticConstructors and it then works.
#pragma init_seg(&quot;.unwantedstaticinits&quot;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1311731</commentid>
    <comment_count>3</comment_count>
    <who name="">isaac+webkit</who>
    <bug_when>2017-05-22 19:47:55 -0700</bug_when>
    <thetext>Also, I&apos;ve managed to launch MiniBrowser in the debugger and it appears that the aData statics aren&apos;t initialized, unless that #pragma is removed from StaticConstructors.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1332579</commentid>
    <comment_count>4</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-07-26 23:08:11 -0700</bug_when>
    <thetext>The init_seg trick doesn&apos;t work for VS 2017 as expected.
How should we do?

1) Look for the solution or ask MS how to solve this
2) Stop using the init_seg trick for both VS 2015 and 2017
3) Use the init_seg trick only for VS 2015

Anyone have an idea?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1332793</commentid>
    <comment_count>5</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-07-27 18:15:33 -0700</bug_when>
    <thetext>Oh, no. Just removing pragma init_seg causes a crash when destructors are called at shutdown.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1333346</commentid>
    <comment_count>6</comment_count>
      <attachid>316752</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-07-30 16:03:50 -0700</bug_when>
    <thetext>Created attachment 316752
WIP patch (Moved #pragma init_seg)

In the compilation units of generated *Names.cpp files, some global variable need to be constructed, but other doesn&apos;t.
Put the global variable needing to be constructed in the front of one doesn&apos;t, and put #pragma init_seg just after the former.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1333355</commentid>
    <comment_count>7</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-07-30 19:49:50 -0700</bug_when>
    <thetext>For a long term solution, I think we should use LazyNeverDestroyed instead of DEFINE_GLOBAL hack.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1333382</commentid>
    <comment_count>8</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-07-31 02:26:35 -0700</bug_when>
    <thetext>Sounds very interesting. I&apos;ll try it in Bug 174979. Thank you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1339083</commentid>
    <comment_count>9</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2017-08-15 23:15:00 -0700</bug_when>
    <thetext>The pragma init_seg issue will be solved in Bug 175209. This bug doesn&apos;t block Bug 174195 for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376422</commentid>
    <comment_count>10</comment_count>
      <attachid>327998</attachid>
    <who name="Stephan Szabo">stephan.szabo</who>
    <bug_when>2017-11-30 11:26:40 -0800</bug_when>
    <thetext>Created attachment 327998
Require VS2017 for building

This merges together pieces of the earlier patch and https://bug-174195-attachments.webkit.org/attachment.cgi?id=314698 and updates the webkitdirs pieces to deal with the vswhere changes. 

I ended up not giving a specific location relating to the location of VS2017 for vcvars.bat in some messages as both previous patches seemed to update the text to a location I didn&apos;t actually get with a VS2017 install and from my install it seemed like the location would be dependent on the particular VS2017 flavor (enterprise, professional, etc) you installed.

Uploading first to throw at bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376423</commentid>
    <comment_count>11</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2017-11-30 11:28:46 -0800</bug_when>
    <thetext>Attachment 327998 did not pass style-queue:


ERROR: Source/WebCore/ChangeLog:8:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 14 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1376474</commentid>
    <comment_count>12</comment_count>
      <attachid>328010</attachid>
    <who name="Stephan Szabo">stephan.szabo</who>
    <bug_when>2017-11-30 13:12:08 -0800</bug_when>
    <thetext>Created attachment 328010
Require VS2017 for building</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378362</commentid>
    <comment_count>13</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-12-05 14:23:06 -0800</bug_when>
    <thetext>(In reply to Stephan Szabo from comment #12)
&gt; Created attachment 328010 [details]
&gt; Require VS2017 for building

Does this patch need rebasing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378392</commentid>
    <comment_count>14</comment_count>
      <attachid>328508</attachid>
    <who name="Stephan Szabo">stephan.szabo</who>
    <bug_when>2017-12-05 14:59:54 -0800</bug_when>
    <thetext>Created attachment 328508
Require VS2017 for building

Rebased to re-check on bot</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378399</commentid>
    <comment_count>15</comment_count>
      <attachid>328508</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2017-12-05 15:25:19 -0800</bug_when>
    <thetext>Comment on attachment 328508
Require VS2017 for building

Looks good! R=me. Please wait until bots are green before committing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378437</commentid>
    <comment_count>16</comment_count>
      <attachid>328518</attachid>
    <who name="Stephan Szabo">stephan.szabo</who>
    <bug_when>2017-12-05 16:06:12 -0800</bug_when>
    <thetext>Created attachment 328518
Require VS2017 for building - reup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378489</commentid>
    <comment_count>17</comment_count>
      <attachid>328539</attachid>
    <who name="Stephan Szabo">stephan.szabo</who>
    <bug_when>2017-12-05 17:47:13 -0800</bug_when>
    <thetext>Created attachment 328539
Require VS2017 for building - setting reviewer based on pre-reupload r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378502</commentid>
    <comment_count>18</comment_count>
      <attachid>328539</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-05 18:19:01 -0800</bug_when>
    <thetext>Comment on attachment 328539
Require VS2017 for building - setting reviewer based on pre-reupload r=me

Clearing flags on attachment: 328539

Committed r225563: &lt;https://trac.webkit.org/changeset/225563&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378503</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-05 18:19:03 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378923</commentid>
    <comment_count>20</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-06 16:47:50 -0800</bug_when>
    <thetext>&lt;rdar://problem/35896610&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378924</commentid>
    <comment_count>21</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-06 16:47:57 -0800</bug_when>
    <thetext>&lt;rdar://problem/35896611&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1379002</commentid>
    <comment_count>22</comment_count>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2017-12-06 20:08:37 -0800</bug_when>
    <thetext>*** Bug 174195 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>310766</attachid>
            <date>2017-05-19 23:57:20 -0700</date>
            <delta_ts>2017-05-19 23:57:20 -0700</delta_ts>
            <desc>Patch to change to use Visual Studio 2017 for building</desc>
            <filename>0001-Switch-Windows-build-to-Visual-Studio-2017.patch</filename>
            <type>text/plain</type>
            <size>8707</size>
            <attacher>isaac+webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9q
L0phdmFTY3JpcHRDb3JlLnByb2ogYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS5wcm9qCmluZGV4IDRkZmJhNGU2ODUxLi4zNDkwZTQ2
YjFmYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZj
eHByb2ovSmF2YVNjcmlwdENvcmUucHJvagorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS5wcm9qCkBAIC01NCw5ICs1NCw5IEBA
CiAgIDxUYXJnZXQgTmFtZT0iQnVpbGQiIEFmdGVyVGFyZ2V0cz0iUHJlQnVpbGQiPgogICAgIDxN
ZXNzYWdlIFRleHQ9IkJ1aWxkaW5nICQoQ09ORklHVVJBVElPTikgU29sdXRpb24iIC8+CiAgICAg
PEVycm9yIFRleHQ9IkRTVFJPT1QgcHJvcGVydHkgb3IgZW52aXJvbm1lbnQgdmFyaWFibGUgbXVz
dCBiZSBkZWZpbmVkLiIgQ29uZGl0aW9uPSInJChEU1RST09UKScgPT0gJyciIC8+Ci0JPEV4ZWMg
Q29tbWFuZD0iJChDTWFrZUNvbW1hbmRDb21tb24pIC1EV1RGX0NQVV9YODY9MSAtRyAmcXVvdDtW
aXN1YWwgU3R1ZGlvIDE0IDIwMTUmcXVvdDsiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkv
JChDT05GSUcpL2J1aWxkMzIiLz4KKwk8RXhlYyBDb21tYW5kPSIkKENNYWtlQ29tbWFuZENvbW1v
bikgLURXVEZfQ1BVX1g4Nj0xIC1HICZxdW90O1Zpc3VhbCBTdHVkaW8gMTUgMjAxNyZxdW90OyIg
V29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJRykvYnVpbGQzMiIvPgogCTxFeGVj
IENvbW1hbmQ9Im1zYnVpbGQgUHJvamVjdC5zbG4gL3A6Q29uZmlndXJhdGlvbj0kKENPTkZJRyki
IFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChDT05GSUcpL2J1aWxkMzIiLz4KLQk8RXhl
YyBDb21tYW5kPSIkKENNYWtlQ29tbWFuZENvbW1vbikgLURXVEZfQ1BVX1g4Nl82ND0xIC1HICZx
dW90O1Zpc3VhbCBTdHVkaW8gMTQgMjAxNSBXaW42NCZxdW90OyIgV29ya2luZ0RpcmVjdG9yeT0i
JChPQkpST09UKS8kKENPTkZJRykvYnVpbGQ2NCIvPgorCTxFeGVjIENvbW1hbmQ9IiQoQ01ha2VD
b21tYW5kQ29tbW9uKSAtRFdURl9DUFVfWDg2XzY0PTEgLUcgJnF1b3Q7VmlzdWFsIFN0dWRpbyAx
NSAyMDE3IFdpbjY0JnF1b3Q7IiBXb3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklH
KS9idWlsZDY0Ii8+CiAJPEV4ZWMgQ29tbWFuZD0ibXNidWlsZCBQcm9qZWN0LnNsbiAvcDpDb25m
aWd1cmF0aW9uPSQoQ09ORklHKSIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJ
RykvYnVpbGQ2NCIvPgogICA8L1RhcmdldD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYu
dmN4cHJvai9XVEYucHJvaiBiL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnByb2oKaW5kZXgg
NTQ1MDNhYjNmODcuLmYxZDA5ZmYxYjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi52Y3hw
cm9qL1dURi5wcm9qCisrKyBiL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnByb2oKQEAgLTQ2
LDkgKzQ2LDkgQEAKICAgPFRhcmdldCBOYW1lPSJCdWlsZCIgQWZ0ZXJUYXJnZXRzPSJQcmVCdWls
ZCI+CiAgICAgPE1lc3NhZ2UgVGV4dD0iQnVpbGRpbmcgJChDT05GSUdVUkFUSU9OKSBTb2x1dGlv
biIgLz4KICAgICA8RXJyb3IgVGV4dD0iRFNUUk9PVCBwcm9wZXJ0eSBvciBlbnZpcm9ubWVudCB2
YXJpYWJsZSBtdXN0IGJlIGRlZmluZWQuIiBDb25kaXRpb249IickKERTVFJPT1QpJyA9PSAnJyIg
Lz4KLQk8RXhlYyBDb21tYW5kPSIkKENNYWtlQ29tbWFuZENvbW1vbikgLUcgJnF1b3Q7VmlzdWFs
IFN0dWRpbyAxNCAyMDE1JnF1b3Q7IiBXb3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09O
RklHKS9idWlsZDMyIi8+CisJPEV4ZWMgQ29tbWFuZD0iJChDTWFrZUNvbW1hbmRDb21tb24pIC1H
ICZxdW90O1Zpc3VhbCBTdHVkaW8gMTUgMjAxNyZxdW90OyIgV29ya2luZ0RpcmVjdG9yeT0iJChP
QkpST09UKS8kKENPTkZJRykvYnVpbGQzMiIvPgogCTxFeGVjIENvbW1hbmQ9Im1zYnVpbGQgUHJv
amVjdC5zbG4gL3A6Q29uZmlndXJhdGlvbj0kKENPTkZJRykiIFdvcmtpbmdEaXJlY3Rvcnk9IiQo
T0JKUk9PVCkvJChDT05GSUcpL2J1aWxkMzIiLz4KLQk8RXhlYyBDb21tYW5kPSIkKENNYWtlQ29t
bWFuZENvbW1vbikgLUcgJnF1b3Q7VmlzdWFsIFN0dWRpbyAxNCAyMDE1IFdpbjY0JnF1b3Q7IiBX
b3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklHKS9idWlsZDY0Ii8+CisJPEV4ZWMg
Q29tbWFuZD0iJChDTWFrZUNvbW1hbmRDb21tb24pIC1HICZxdW90O1Zpc3VhbCBTdHVkaW8gMTUg
MjAxNyBXaW42NCZxdW90OyIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJRykv
YnVpbGQ2NCIvPgogCTxFeGVjIENvbW1hbmQ9Im1zYnVpbGQgUHJvamVjdC5zbG4gL3A6Q29uZmln
dXJhdGlvbj0kKENPTkZJRykiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChDT05GSUcp
L2J1aWxkNjQiLz4KICAgPC9UYXJnZXQ+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmN4cHJvai9XZWJDb3JlLnByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS5wcm9qCmluZGV4IDg2NzIyMjNmMTJmLi5lNjdiMDFkMjcwNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUucHJvagorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS5wcm9qCkBAIC01NCw5ICs1NCw5IEBA
CiAgIDxUYXJnZXQgTmFtZT0iQnVpbGQiIEFmdGVyVGFyZ2V0cz0iUHJlQnVpbGQiPgogICAgIDxN
ZXNzYWdlIFRleHQ9IkJ1aWxkaW5nICQoQ09ORklHVVJBVElPTikgU29sdXRpb24iIC8+CiAgICAg
PEVycm9yIFRleHQ9IkRTVFJPT1QgcHJvcGVydHkgb3IgZW52aXJvbm1lbnQgdmFyaWFibGUgbXVz
dCBiZSBkZWZpbmVkLiIgQ29uZGl0aW9uPSInJChEU1RST09UKScgPT0gJyciIC8+Ci0JPEV4ZWMg
Q29tbWFuZD0iJChDTWFrZUNvbW1hbmRDb21tb24pIC1HICZxdW90O1Zpc3VhbCBTdHVkaW8gMTQg
MjAxNSZxdW90OyIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJRykvYnVpbGQz
MiIvPgorCTxFeGVjIENvbW1hbmQ9IiQoQ01ha2VDb21tYW5kQ29tbW9uKSAtRyAmcXVvdDtWaXN1
YWwgU3R1ZGlvIDE1IDIwMTcmcXVvdDsiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChD
T05GSUcpL2J1aWxkMzIiLz4KIAk8RXhlYyBDb21tYW5kPSJtc2J1aWxkIFByb2plY3Quc2xuIC9w
OkNvbmZpZ3VyYXRpb249JChDT05GSUcpIiBXb3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQo
Q09ORklHKS9idWlsZDMyIi8+Ci0JPEV4ZWMgQ29tbWFuZD0iJChDTWFrZUNvbW1hbmRDb21tb24p
IC1HICZxdW90O1Zpc3VhbCBTdHVkaW8gMTQgMjAxNSBXaW42NCZxdW90OyIgV29ya2luZ0RpcmVj
dG9yeT0iJChPQkpST09UKS8kKENPTkZJRykvYnVpbGQ2NCIvPgorCTxFeGVjIENvbW1hbmQ9IiQo
Q01ha2VDb21tYW5kQ29tbW9uKSAtRyAmcXVvdDtWaXN1YWwgU3R1ZGlvIDE1IDIwMTcgV2luNjQm
cXVvdDsiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChDT05GSUcpL2J1aWxkNjQiLz4K
IAk8RXhlYyBDb21tYW5kPSJtc2J1aWxkIFByb2plY3Quc2xuIC9wOkNvbmZpZ3VyYXRpb249JChD
T05GSUcpIiBXb3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklHKS9idWlsZDY0Ii8+
CiAgIDwvVGFyZ2V0PgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC52Y3hwcm9q
L1dlYktpdC5wcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQudmN4cHJvai9XZWJLaXQucHJvagpp
bmRleCAwMzY2Yjk2M2YxMi4uNzBiYmFhZTVjNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViS2l0LnZjeHByb2ovV2ViS2l0LnByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQudmN4
cHJvai9XZWJLaXQucHJvagpAQCAtNTQsOSArNTQsOSBAQAogICA8VGFyZ2V0IE5hbWU9IkJ1aWxk
IiBBZnRlclRhcmdldHM9IlByZUJ1aWxkIj4KICAgICA8TWVzc2FnZSBUZXh0PSJCdWlsZGluZyAk
KENPTkZJR1VSQVRJT04pIFNvbHV0aW9uIiAvPgogICAgIDxFcnJvciBUZXh0PSJEU1RST09UIHBy
b3BlcnR5IG9yIGVudmlyb25tZW50IHZhcmlhYmxlIG11c3QgYmUgZGVmaW5lZC4iIENvbmRpdGlv
bj0iJyQoRFNUUk9PVCknID09ICcnIiAvPgotCTxFeGVjIENvbW1hbmQ9IiQoQ01ha2VDb21tYW5k
Q29tbW9uKSAtRyAmcXVvdDtWaXN1YWwgU3R1ZGlvIDE0IDIwMTUmcXVvdDsiIFdvcmtpbmdEaXJl
Y3Rvcnk9IiQoT0JKUk9PVCkvJChDT05GSUcpL2J1aWxkMzIiLz4KKwk8RXhlYyBDb21tYW5kPSIk
KENNYWtlQ29tbWFuZENvbW1vbikgLUcgJnF1b3Q7VmlzdWFsIFN0dWRpbyAxNSAyMDE3JnF1b3Q7
IiBXb3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklHKS9idWlsZDMyIi8+CiAJPEV4
ZWMgQ29tbWFuZD0ibXNidWlsZCBQcm9qZWN0LnNsbiAvcDpDb25maWd1cmF0aW9uPSQoQ09ORklH
KSIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJRykvYnVpbGQzMiIvPgotCTxF
eGVjIENvbW1hbmQ9IiQoQ01ha2VDb21tYW5kQ29tbW9uKSAtRyAmcXVvdDtWaXN1YWwgU3R1ZGlv
IDE0IDIwMTUgV2luNjQmcXVvdDsiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChDT05G
SUcpL2J1aWxkNjQiLz4KKwk8RXhlYyBDb21tYW5kPSIkKENNYWtlQ29tbWFuZENvbW1vbikgLUcg
JnF1b3Q7VmlzdWFsIFN0dWRpbyAxNSAyMDE3IFdpbjY0JnF1b3Q7IiBXb3JraW5nRGlyZWN0b3J5
PSIkKE9CSlJPT1QpLyQoQ09ORklHKS9idWlsZDY0Ii8+CiAJPEV4ZWMgQ29tbWFuZD0ibXNidWls
ZCBQcm9qZWN0LnNsbiAvcDpDb25maWd1cmF0aW9uPSQoQ09ORklHKSIgV29ya2luZ0RpcmVjdG9y
eT0iJChPQkpST09UKS8kKENPTkZJRykvYnVpbGQ2NCIvPgogICA8L1RhcmdldD4KIApkaWZmIC0t
Z2l0IGEvVG9vbHMvRVdTVG9vbHMvc3RhcnQtcXVldWUtd2luLnNoIGIvVG9vbHMvRVdTVG9vbHMv
c3RhcnQtcXVldWUtd2luLnNoCmluZGV4IDM1MDJmM2QzYjM3Li5lOGJjMGZkZDYwYyAxMDA3NTUK
LS0tIGEvVG9vbHMvRVdTVG9vbHMvc3RhcnQtcXVldWUtd2luLnNoCisrKyBiL1Rvb2xzL0VXU1Rv
b2xzL3N0YXJ0LXF1ZXVlLXdpbi5zaApAQCAtMTIsNyArMTIsNyBAQCBmdW5jdGlvbiBzdGFydF9l
d3MoKQogewogICAgIHRyYXAgJ2Vycm9yX2hhbmRsZXIgJHtMSU5FTk99ICQ/JyBFUlIKIAotICAg
ICIkUFJPR1JBTUZJTEVTL01pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIDE0LjAvVkMvdmN2YXJzYWxs
LmJhdCIKKyAgICAiJFBST0dSQU1GSUxFUy9NaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyAxNS4wL1ZD
L3ZjdmFyc2FsbC5iYXQiCiAKICAgICB3aGlsZSA6CiAgICAgZG8KQEAgLTI0LDcgKzI0LDcgQEAg
ZnVuY3Rpb24gc3RhcnRfZXdzKCkKICAgICAgICAgZmluZCB+L3dpbi1ld3MtbG9ncyAtbXRpbWUg
KzcgLWV4ZWMgcm0gLWYge30gXDsKICAgICAgICAgZWNobyAiVEFTSzogU3RhcnRpbmcgdXAiCiAg
ICAgICAgIGNkIH4vV2ViS2l0Ci0gICAgICAgIGV4cG9ydCBWU0lOU1RBTExESVI9IiRQUk9HUkFN
RklMRVNcTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gMTQuMCIKKyAgICAgICAgZXhwb3J0IFZTSU5T
VEFMTERJUj0iJFBST0dSQU1GSUxFU1xNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyAxNS4wIgogICAg
ICAgICBlY2hvICJUQVNLOiBDbGVhbmluZyBXZWJLaXRCdWlsZCIKICAgICAgICAgcm0gLXJmIFdl
YktpdEJ1aWxkCiAgICAgICAgIGRhdGUKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQt
d2Via2l0IGIvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKaW5kZXggZGFkNzkwZmYwMTIuLjEz
NTI1NzcxYWUzIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAorKysgYi9U
b29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdApAQCAtMjU5LDcgKzI1OSw3IEBAIGlmIChpc0FwcGxl
V2luV2ViS2l0KCkgfHwgaXNXaW5DYWlybygpKSB7CiAKICAgICBjaGRpcldlYktpdCgpOwogICAg
IGlmIChleGl0U3RhdHVzKGdlbmVyYXRlQnVpbGRTeXN0ZW1Gcm9tQ01ha2VQcm9qZWN0KCRwcmVm
aXhQYXRoLCBAY21ha2VBcmdzKSkpIHsKLSAgICAgICAgZGllICJSdW4gXCJDOi9Qcm9ncmFtIEZp
bGVzICh4ODYpL01pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIDE0LjAvVkMvdmN2YXJzYWxsLmJhdFwi
IGJlZm9yZSBidWlsZC13ZWJraXQgd2hlbiB1c2luZyBuaW5qYSI7CisgICAgICAgIGRpZSAiUnVu
IFwiQzovUHJvZ3JhbSBGaWxlcyAoeDg2KS9NaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyAxNS4wL1ZD
L3ZjdmFyc2FsbC5iYXRcIiBiZWZvcmUgYnVpbGQtd2Via2l0IHdoZW4gdXNpbmcgbmluamEiOwog
ICAgIH0KICAgICBjaGRpcldlYktpdCgpOwogICAgIGlmIChjYW5Vc2VOaW5qYSgpKSB7CmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtp
dGRpcnMucG0KaW5kZXggYTI4YzAzOWRiNjYuLjZjM2JmNmE0MjJjIDEwMDc1NQotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBt
CkBAIC01NzEsNyArNTcxLDcgQEAgc3ViIHZpc3VhbFN0dWRpb0luc3RhbGxEaXIKICAgICAgICAg
JHZzSW5zdGFsbERpciA9ICRFTlZ7J1ZTSU5TVEFMTERJUid9OwogICAgICAgICAkdnNJbnN0YWxs
RGlyID1+IHN8W1xcL10kfHw7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgJHZzSW5zdGFsbERpciA9
IEZpbGU6OlNwZWMtPmNhdGRpcihwcm9ncmFtRmlsZXNQYXRoKCksICJNaWNyb3NvZnQgVmlzdWFs
IFN0dWRpbyAxNC4wIik7CisgICAgICAgICR2c0luc3RhbGxEaXIgPSBGaWxlOjpTcGVjLT5jYXRk
aXIocHJvZ3JhbUZpbGVzUGF0aCgpLCAiTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gMTUuMCIpOwog
ICAgIH0KICAgICBjaG9tcCgkdnNJbnN0YWxsRGlyID0gYGN5Z3BhdGggIiR2c0luc3RhbGxEaXIi
YCkgaWYgaXNDeWd3aW4oKTsKIApAQCAtNTgzLDcgKzU4Myw3IEBAIHN1YiBtc0J1aWxkSW5zdGFs
bERpcgogewogICAgIHJldHVybiAkbXNCdWlsZEluc3RhbGxEaXIgaWYgZGVmaW5lZCAkbXNCdWls
ZEluc3RhbGxEaXI7CiAKLSAgICAkbXNCdWlsZEluc3RhbGxEaXIgPSBGaWxlOjpTcGVjLT5jYXRk
aXIocHJvZ3JhbUZpbGVzUGF0aCgpLCAiTVNCdWlsZCIsICIxNC4wIiwgIkJpbiIpOworICAgICRt
c0J1aWxkSW5zdGFsbERpciA9IEZpbGU6OlNwZWMtPmNhdGRpcihwcm9ncmFtRmlsZXNQYXRoKCks
ICJNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyIsICIyMDE3IiwgIlByb2Zlc3Npb25hbCIsICJNU0J1
aWxkIiwgIjE1LjAiLCAiQmluIik7CiAgICAKICAgICBjaG9tcCgkbXNCdWlsZEluc3RhbGxEaXIg
PSBgY3lncGF0aCAiJG1zQnVpbGRJbnN0YWxsRGlyImApIGlmIGlzQ3lnd2luKCk7CiAKQEAgLTE3
MjksNyArMTcyOSw3IEBAIHN1YiBzZXR1cEN5Z3dpbkVudigpCiAgICAgICAgICAgICBwcmludCAi
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKlxuIjsKICAgICAgICAgICAgIHByaW50ICJDYW5ub3QgZmluZCAnJHZpc3VhbFN0dWRpb1Bh
dGgnXG4iOwogICAgICAgICAgICAgcHJpbnQgIlBsZWFzZSBleGVjdXRlIHRoZSBmaWxlICd2Y3Zh
cnMzMi5iYXQnIGZyb21cbiI7Ci0gICAgICAgICAgICBwcmludCAiJyRwcm9ncmFtRmlsZXNQYXRo
XFxNaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyAxNC4wXFxWQ1xcYmluXFwnXG4iOworICAgICAgICAg
ICAgcHJpbnQgIickcHJvZ3JhbUZpbGVzUGF0aFxcTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gMTUu
MFxcVkNcXGJpblxcJ1xuIjsKICAgICAgICAgICAgIHByaW50ICJ0byBzZXR1cCB0aGUgbmVjZXNz
YXJ5IGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiI7CiAgICAgICAgICAgICBwcmludCAiKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxu
IjsKICAgICAgICAgICAgIGRpZTsKQEAgLTIwNDMsNyArMjA0Myw3IEBAIHN1YiBnZW5lcmF0ZUJ1
aWxkU3lzdGVtRnJvbUNNYWtlUHJvamVjdAogICAgICAgICAgICAgcHVzaCBAYXJncywgIk5pbmph
IjsKICAgICAgICAgfQogICAgIH0gZWxzaWYgKGlzQW55V2luZG93cygpICYmIGlzV2luNjQoKSkg
ewotICAgICAgICBwdXNoIEBhcmdzLCAnLUcgIlZpc3VhbCBTdHVkaW8gMTQgMjAxNSBXaW42NCIn
OworICAgICAgICBwdXNoIEBhcmdzLCAnLUcgIlZpc3VhbCBTdHVkaW8gMTUgMjAxNyBXaW42NCIg
LURDTUFLRV9WU19QTEFURk9STV9UT09MU0VUPSJ2YzE1MSInOwogICAgIH0KICAgICAjIERvIG5v
dCBzaG93IHByb2dyZXNzIG9mIGdlbmVyYXRpbmcgYmluZGluZ3MgaW4gaW50ZXJhY3RpdmUgTmlu
amEgYnVpbGQgbm90IHRvIGxlYXZlIG5vaXN5IGxpbmVzIG9uIHR0eQogICAgIHB1c2ggQGFyZ3Ms
ICctRFNIT1dfQklORElOR1NfR0VORVJBVElPTl9QUk9HUkVTUz0xJyB1bmxlc3MgKCR3aWxsVXNl
TmluamEgJiYgLXQgU1RET1VUKTsKLS0gCjIuMTMuMC53aW5kb3dzLjEKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>316752</attachid>
            <date>2017-07-30 16:03:50 -0700</date>
            <delta_ts>2017-10-15 22:07:38 -0700</delta_ts>
            <desc>WIP patch (Moved #pragma init_seg)</desc>
            <filename>bug172412.patch</filename>
            <type>text/plain</type>
            <size>4313</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9jb25maWcuaCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9jb25maWcuaAppbmRleCAxYmQ5ZDA5NzQxYi4uNGZmYmQ0NDZjZWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9jb25maWcuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvY29uZmlnLmgKQEAgLTMzLDggKzMzLDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9EaXNh
bGxvd0NUeXBlLmg+CiAKLSNpZiBDT01QSUxFUihNU1ZDKQotI2RlZmluZSBTS0lQX1NUQVRJQ19D
T05TVFJVQ1RPUlNfT05fTVNWQyAxCi0jZWxzZQorI2lmICFDT01QSUxFUihNU1ZDKQogI2RlZmlu
ZSBTS0lQX1NUQVRJQ19DT05TVFJVQ1RPUlNfT05fR0NDIDEKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi9jb25maWcuaCBiL1NvdXJjZS9XVEYvY29uZmlnLmgKaW5kZXggZGRjNGYxMDIx
OTAuLmQ2MmQ2OGNiMWVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL2NvbmZpZy5oCisrKyBiL1Nv
dXJjZS9XVEYvY29uZmlnLmgKQEAgLTMzLDggKzMzLDYgQEAKIAogI2luY2x1ZGUgPHd0Zi9EaXNh
bGxvd0NUeXBlLmg+CiAKLSNpZiBDT01QSUxFUihNU1ZDKQotI2RlZmluZSBTS0lQX1NUQVRJQ19D
T05TVFJVQ1RPUlNfT05fTVNWQyAxCi0jZWxzZQorI2lmICFDT01QSUxFUihNU1ZDKQogI2RlZmlu
ZSBTS0lQX1NUQVRJQ19DT05TVFJVQ1RPUlNfT05fR0NDIDEKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvU3RhdGljQ29uc3RydWN0b3JzLmggYi9Tb3VyY2UvV1RGL3d0Zi9TdGF0
aWNDb25zdHJ1Y3RvcnMuaAppbmRleCBkNTU5YWY3NzA2OC4uMDQyYWJlZjdhZDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL1N0YXRpY0NvbnN0cnVjdG9ycy5oCisrKyBiL1NvdXJjZS9XVEYv
d3RmL1N0YXRpY0NvbnN0cnVjdG9ycy5oCkBAIC0zNiwxOSArMzYsNiBAQAogLy8gVGhpcyBpcyBu
b3QgY29tcGxldGVseSBwb3J0YWJsZSwgYnV0IGlzIHdoYXQgd2UgaGF2ZSBmb3Igbm93IHdpdGhv
dXQKIC8vIGNoYW5naW5nIGhvdyBhIGxvdCBvZiBjb2RlIGFjY2Vzc2VzIHRoZXNlIGdsb2JhbCBv
YmplY3RzLgogCi0jaWZkZWYgU0tJUF9TVEFUSUNfQ09OU1RSVUNUT1JTX09OX01TVkMKLS8vIC0g
QXNzdW1lIHRoYXQgYWxsIGluY2x1ZGVzIG9mIHRoaXMgaGVhZGVyIHdhbnQgQUxMIG9mIHRoZWly
IHN0YXRpYwotLy8gICBpbml0aWFsaXplcnMgaWdub3JlZC4gVGhpcyBpcyBjdXJyZW50bHkgdGhl
IGNhc2UuIFRoaXMgbWVhbnMgdGhhdCBpZgotLy8gICBhIC5jYyBpbmNsdWRlcyB0aGlzIGhlYWRl
ciAob3IgaXQgc29tZWhvdyBnZXRzIGluY2x1ZGVkKSwgYWxsIHN0YXRpYwotLy8gICBpbml0aWFs
aXplcnMgYWZ0ZXIgdGhlIGluY2x1ZGUgd2lsbCBub3QgYmUgZXhlY3V0ZWQuCi0vLyAtIFdlIGRv
IHRoaXMgd2l0aCBhIHByYWdtYSwgc28gdGhhdCBhbGwgb2YgdGhlIHN0YXRpYyBpbml0aWFsaXpl
ciBwb2ludGVycwotLy8gICBnbyBpbnRvIG91ciBvd24gc2VjdGlvbiwgYW5kIHRoZSBDUlQgd29u
J3QgY2FsbCB0aGVtLiBFdmVudHVhbGx5IGl0IHdvdWxkCi0vLyAgIGJlIG5pY2UgaWYgdGhlIHNl
Y3Rpb24gd2FzIGRpc2NhcmRlZCwgYmVjYXVzZSB3ZSBkb24ndCB3YW50IHRoZSBwb2ludGVycy4K
LS8vICAgU2VlOiBodHRwOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvNzk3N3dj
Y2soVlMuODApLmFzcHgKLSNwcmFnbWEgd2FybmluZyhkaXNhYmxlOjQwNzUpCi0jcHJhZ21hIGlu
aXRfc2VnKCIudW53YW50ZWRzdGF0aWNpbml0cyIpCi0jZW5kaWYKLQogI2lmbmRlZiBTS0lQX1NU
QVRJQ19DT05TVFJVQ1RPUlNfT05fR0NDCiAgICAgLy8gRGVmaW5lIGFuIGdsb2JhbCBpbiB0aGUg
bm9ybWFsIHdheS4KICNkZWZpbmUgREVGSU5FX0dMT0JBTCh0eXBlLCBuYW1lLCAuLi4pIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NvbmZpZy5oIGIvU291cmNlL1dlYkNvcmUvY29uZmln
LmgKaW5kZXggNDAzYzlmNzY0MzQuLmVlYTgyYmJlNWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jb25maWcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jb25maWcuaApAQCAtNjcsOSArNjcs
NyBAQAogCiAjaW5jbHVkZSA8d3RmL0Rpc2FsbG93Q1R5cGUuaD4KIAotI2lmIENPTVBJTEVSKE1T
VkMpCi0jZGVmaW5lIFNLSVBfU1RBVElDX0NPTlNUUlVDVE9SU19PTl9NU1ZDIDEKLSNlbHNlCisj
aWYgIUNPTVBJTEVSKE1TVkMpCiAjZGVmaW5lIFNLSVBfU1RBVElDX0NPTlNUUlVDVE9SU19PTl9H
Q0MgMQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYUZlYXR1
cmVOYW1lcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFGZWF0dXJlTmFtZXMuY3BwCmlu
ZGV4IDE4NDMwYzkwYzE0Li5lZmZjZWRhN2Y1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL01lZGlhRmVhdHVyZU5hbWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFG
ZWF0dXJlTmFtZXMuY3BwCkBAIC0zMCw2ICszMCwxMSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
bmFtZXNwYWNlIE1lZGlhRmVhdHVyZU5hbWVzIHsKIAorI2lmIENPTVBJTEVSKE1TVkMpCisjcHJh
Z21hIHdhcm5pbmcoZGlzYWJsZTo0MDc1KQorI3ByYWdtYSBpbml0X3NlZygiLnVud2FudGVkc3Rh
dGljaW5pdHMiKQorI2VuZGlmCisKICNkZWZpbmUgREVGSU5FX01FRElBRkVBVFVSRV9HTE9CQUwo
bmFtZSwgc3RyaW5nKSBERUZJTkVfR0xPQkFMKEF0b21pY1N0cmluZywgbmFtZSkKIENTU19NRURJ
QVFVRVJZX05BTUVTX0ZPUl9FQUNIX01FRElBRkVBVFVSRShERUZJTkVfTUVESUFGRUFUVVJFX0dM
T0JBTCkKICN1bmRlZiBERUZJTkVfTUVESUFGRUFUVVJFX0dMT0JBTApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1F1
YWxpZmllZE5hbWUuY3BwCmluZGV4IDk0Njc2MzQxNGMyLi5mMDY4MDU0ZGEzMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9RdWFsaWZpZWROYW1lLmNwcApAQCAtNDQsNiArNDQsMTEgQEAgUXVhbGlmaWVkTmFt
ZTo6UXVhbGlmaWVkTmFtZUltcGw6On5RdWFsaWZpZWROYW1lSW1wbCgpCiAgICAgdGhyZWFkR2xv
YmFsRGF0YSgpLnF1YWxpZmllZE5hbWVDYWNoZSgpLnJlbW92ZSgqdGhpcyk7CiB9CiAKKyNpZiBD
T01QSUxFUihNU1ZDKQorI3ByYWdtYSB3YXJuaW5nKGRpc2FibGU6NDA3NSkKKyNwcmFnbWEgaW5p
dF9zZWcoIi51bndhbnRlZHN0YXRpY2luaXRzIikKKyNlbmRpZgorCiAvLyBHbG9iYWwgaW5pdCBy
b3V0aW5lcwogREVGSU5FX0dMT0JBTChRdWFsaWZpZWROYW1lLCBhbnlOYW1lLCBudWxsQXRvbSgp
LCBzdGFyQXRvbSgpLCBzdGFyQXRvbSgpKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vbWFrZV9uYW1lcy5wbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBsCmluZGV4
IGYxZjNjZjc3NDQzLi45NjMwM2JkNTc2ZiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L21ha2VfbmFtZXMucGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21ha2VfbmFtZXMucGwKQEAg
LTc2MSwxMCArNzYxLDE1IEBAIHN1YiBwcmludE5hbWVzQ3BwRmlsZQogICAgIAogICAgIG15ICRs
b3dlcmNhc2VOYW1lc3BhY2VQcmVmaXggPSBsYygkcGFyYW1ldGVyc3tuYW1lc3BhY2VQcmVmaXh9
KTsKIAotICAgIHByaW50IEYgIldFQkNPUkVfRVhQT1JUIERFRklORV9HTE9CQUwoQXRvbWljU3Ry
aW5nLCAke2xvd2VyY2FzZU5hbWVzcGFjZVByZWZpeH1OYW1lc3BhY2VVUkkpXG5cbiI7Ci0KICAg
ICBwcmludCBGIFN0YXRpY1N0cmluZzo6R2VuZXJhdGVTdHJpbmdzKFwlYWxsU3RyaW5ncyk7CiAK
KyAgICBwcmludCBGICIjaWYgQ09NUElMRVIoTVNWQylcbiI7CisgICAgcHJpbnQgRiAiI3ByYWdt
YSB3YXJuaW5nKGRpc2FibGU6NDA3NSlcbiI7CisgICAgcHJpbnQgRiAiI3ByYWdtYSBpbml0X3Nl
ZyhcIi51bndhbnRlZHN0YXRpY2luaXRzXCIpXG4iOworICAgIHByaW50IEYgIiNlbmRpZlxuIjsK
KworICAgIHByaW50IEYgIldFQkNPUkVfRVhQT1JUIERFRklORV9HTE9CQUwoQXRvbWljU3RyaW5n
LCAke2xvd2VyY2FzZU5hbWVzcGFjZVByZWZpeH1OYW1lc3BhY2VVUkkpXG5cbiI7CisKICAgICBp
ZiAoa2V5cyAlYWxsVGFncykgewogICAgICAgICBwcmludCBGICIvLyBUYWdzXG4iOwogICAgICAg
ICBmb3IgbXkgJG5hbWUgKHNvcnQga2V5cyAlYWxsVGFncykgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327998</attachid>
            <date>2017-11-30 11:26:40 -0800</date>
            <delta_ts>2017-11-30 13:12:08 -0800</delta_ts>
            <desc>Require VS2017 for building</desc>
            <filename>172412-2.patch</filename>
            <type>text/plain</type>
            <size>18905</size>
            <attacher name="Stephan Szabo">stephan.szabo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA3MzZlYjFkYTVlZi4uY2Vh
YzUwYWM1ODIgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMiBAQAorMjAxNy0xMS0zMCAgU3RlcGhhbiBTemFibyAgPHN0ZXBoYW4uc3phYm9Ac29ueS5j
b20+CisKKyAgICAgICAgU3dpdGNoIHdpbmRvd3MgYnVpbGQgdG8gVmlzdWFsIFN0dWRpbyAyMDE3
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzI0MTIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNvdXJj
ZS9jbWFrZS9PcHRpb25zTVNWQy5jbWFrZToKKwogMjAxNy0xMS0yOCAgTWljaGFlbCBDYXRhbnph
cm8gIDxtY2F0YW56YXJvQGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjI1MDk4
KTogW1dQRV0gU29tZSBmZWF0dXJlcyBoYXZlIGNoYW5nZWQgb2YgdmFsdWUgKDcwIG5ldyBmYWls
dXJlcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDJkZThlNWI1OWMwLi5iMDc2NGI2YjY2
MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTctMTEtMzAg
IFN0ZXBoYW4gU3phYm8gIDxzdGVwaGFuLnN6YWJvQHNvbnkuY29tPgorCisgICAgICAgIFN3aXRj
aCB3aW5kb3dzIGJ1aWxkIHRvIFZpc3VhbCBTdHVkaW8gMjAxNworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyNDEyCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0ph
dmFTY3JpcHRDb3JlLnByb2o6CisKIDIwMTctMTEtMjggIEpvc2VwaCBQZWNvcmFybyAgPHBlY29y
YXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBTZXJ2aWNlV29ya2VyIEluc3BlY3RvcjogRnJvbnRl
bmQgY2hhbmdlcyB0byBzdXBwb3J0IE5ldHdvcmsgdGFiIGFuZCBzdWIgcmVzb3VyY2VzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZh
U2NyaXB0Q29yZS5wcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZj
eHByb2ovSmF2YVNjcmlwdENvcmUucHJvagppbmRleCA0YzFkODU2Y2JhMS4uNzUyN2FiMTZjOTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9q
L0phdmFTY3JpcHRDb3JlLnByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUucHJvagpAQCAtNTQsOSArNTQsOSBAQAogICA8
VGFyZ2V0IE5hbWU9IkJ1aWxkIiBBZnRlclRhcmdldHM9IlByZUJ1aWxkIj4NCiAgICAgPE1lc3Nh
Z2UgVGV4dD0iQnVpbGRpbmcgJChDT05GSUdVUkFUSU9OKSBTb2x1dGlvbiIgLz4NCiAgICAgPEVy
cm9yIFRleHQ9IkRTVFJPT1QgcHJvcGVydHkgb3IgZW52aXJvbm1lbnQgdmFyaWFibGUgbXVzdCBi
ZSBkZWZpbmVkLiIgQ29uZGl0aW9uPSInJChEU1RST09UKScgPT0gJyciIC8+DQotCTxFeGVjIENv
bW1hbmQ9IiQoQ01ha2VDb21tYW5kQ29tbW9uKSAtRFdURl9DUFVfWDg2PTEgLUcgJnF1b3Q7Vmlz
dWFsIFN0dWRpbyAxNCAyMDE1JnF1b3Q7IiBXb3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQo
Q09ORklHKS9idWlsZDMyIi8+DQorCTxFeGVjIENvbW1hbmQ9IiQoQ01ha2VDb21tYW5kQ29tbW9u
KSAtRFdURl9DUFVfWDg2PTEgLUcgJnF1b3Q7VmlzdWFsIFN0dWRpbyAxNSAyMDE3JnF1b3Q7IiBX
b3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklHKS9idWlsZDMyIi8+DQogCTxFeGVj
IENvbW1hbmQ9Im1zYnVpbGQgUHJvamVjdC5zbG4gL3A6Q29uZmlndXJhdGlvbj0kKENPTkZJRyki
IFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChDT05GSUcpL2J1aWxkMzIiLz4NCi0JPEV4
ZWMgQ29tbWFuZD0iJChDTWFrZUNvbW1hbmRDb21tb24pIC1EV1RGX0NQVV9YODZfNjQ9MSAtRyAm
cXVvdDtWaXN1YWwgU3R1ZGlvIDE0IDIwMTUgV2luNjQmcXVvdDsiIFdvcmtpbmdEaXJlY3Rvcnk9
IiQoT0JKUk9PVCkvJChDT05GSUcpL2J1aWxkNjQiLz4NCisJPEV4ZWMgQ29tbWFuZD0iJChDTWFr
ZUNvbW1hbmRDb21tb24pIC1EV1RGX0NQVV9YODZfNjQ9MSAtRyAmcXVvdDtWaXN1YWwgU3R1ZGlv
IDE1IDIwMTcgV2luNjQmcXVvdDsiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChDT05G
SUcpL2J1aWxkNjQiLz4NCiAJPEV4ZWMgQ29tbWFuZD0ibXNidWlsZCBQcm9qZWN0LnNsbiAvcDpD
b25maWd1cmF0aW9uPSQoQ09ORklHKSIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENP
TkZJRykvYnVpbGQ2NCIvPg0KICAgPC9UYXJnZXQ+DQogDQpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA1ODM5N2ZkZjkxYy4uZTA3
ZWU1MDcwZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
VEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTctMTEtMzAgIFN0ZXBoYW4gU3phYm8g
IDxzdGVwaGFuLnN6YWJvQHNvbnkuY29tPgorCisgICAgICAgIFN3aXRjaCB3aW5kb3dzIGJ1aWxk
IHRvIFZpc3VhbCBTdHVkaW8gMjAxNworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTcyNDEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBXVEYudmN4cHJvai9XVEYucHJvajoKKyAgICAgICAgKiB3dGYvQ29t
cGlsZXIuaDogVXBkYXRlIG1pbmltdW0gdmVyc2lvbiBvZiBNU1ZDCisKIDIwMTctMTEtMTQgIENh
cmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIE1vdmUg
SlNPTlZhbHVlcyB0byBXVEYgYW5kIGNvbnZlcnQgdXNlcyBvZiBJbnNwZWN0b3JWYWx1ZXMuaCB0
byBKU09OVmFsdWVzLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnBy
b2ogYi9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi5wcm9qCmluZGV4IDhlYWY5ZWFmMzZiLi41
MjkxNjU4ZjA0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYucHJvagor
KysgYi9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi5wcm9qCkBAIC00Niw5ICs0Niw5IEBACiAg
IDxUYXJnZXQgTmFtZT0iQnVpbGQiIEFmdGVyVGFyZ2V0cz0iUHJlQnVpbGQiPg0KICAgICA8TWVz
c2FnZSBUZXh0PSJCdWlsZGluZyAkKENPTkZJR1VSQVRJT04pIFNvbHV0aW9uIiAvPg0KICAgICA8
RXJyb3IgVGV4dD0iRFNUUk9PVCBwcm9wZXJ0eSBvciBlbnZpcm9ubWVudCB2YXJpYWJsZSBtdXN0
IGJlIGRlZmluZWQuIiBDb25kaXRpb249IickKERTVFJPT1QpJyA9PSAnJyIgLz4NCi0JPEV4ZWMg
Q29tbWFuZD0iJChDTWFrZUNvbW1hbmRDb21tb24pIC1EV1RGX0NQVV9YODY9MSAtRyAmcXVvdDtW
aXN1YWwgU3R1ZGlvIDE0IDIwMTUmcXVvdDsiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkv
JChDT05GSUcpL2J1aWxkMzIiLz4NCisJPEV4ZWMgQ29tbWFuZD0iJChDTWFrZUNvbW1hbmRDb21t
b24pIC1EV1RGX0NQVV9YODY9MSAtRyAmcXVvdDtWaXN1YWwgU3R1ZGlvIDE1IDIwMTcmcXVvdDsi
IFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChDT05GSUcpL2J1aWxkMzIiLz4NCiAJPEV4
ZWMgQ29tbWFuZD0ibXNidWlsZCBQcm9qZWN0LnNsbiAvcDpDb25maWd1cmF0aW9uPSQoQ09ORklH
KSIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJRykvYnVpbGQzMiIvPg0KLQk8
RXhlYyBDb21tYW5kPSIkKENNYWtlQ29tbWFuZENvbW1vbikgLURXVEZfQ1BVX1g4Nl82ND0xIC1H
ICZxdW90O1Zpc3VhbCBTdHVkaW8gMTQgMjAxNSBXaW42NCZxdW90OyIgV29ya2luZ0RpcmVjdG9y
eT0iJChPQkpST09UKS8kKENPTkZJRykvYnVpbGQ2NCIvPg0KKwk8RXhlYyBDb21tYW5kPSIkKENN
YWtlQ29tbWFuZENvbW1vbikgLURXVEZfQ1BVX1g4Nl82ND0xIC1HICZxdW90O1Zpc3VhbCBTdHVk
aW8gMTUgMjAxNyBXaW42NCZxdW90OyIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENP
TkZJRykvYnVpbGQ2NCIvPg0KIAk8RXhlYyBDb21tYW5kPSJtc2J1aWxkIFByb2plY3Quc2xuIC9w
OkNvbmZpZ3VyYXRpb249JChDT05GSUcpIiBXb3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQo
Q09ORklHKS9idWlsZDY0Ii8+DQogICA8L1RhcmdldD4NCiANCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9Db21waWxlci5oIGIvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaAppbmRleCA2OTc1
MjM0NWNlMy4uY2ViMzVkYjU2ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0NvbXBpbGVy
LmgKKysrIGIvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaApAQCAtMTMwLDggKzEzMCw4IEBACiAj
ZGVmaW5lIFdURl9DT01QSUxFUl9NU1ZDIDEKICNkZWZpbmUgV1RGX0NPTVBJTEVSX1NVUFBPUlRT
X0NYWF9SRUZFUkVOQ0VfUVVBTElGSUVEX0ZVTkNUSU9OUyAxCiAKLSNpZiBfTVNDX1ZFUiA8IDE5
MDAKLSNlcnJvciAiUGxlYXNlIHVzZSBhIG5ld2VyIHZlcnNpb24gb2YgVmlzdWFsIFN0dWRpby4g
V2ViS2l0IHJlcXVpcmVzIFZTMjAxNSBvciBuZXdlciB0byBjb21waWxlLiIKKyNpZiBfTVNDX1ZF
UiA8IDE5MTAKKyNlcnJvciAiUGxlYXNlIHVzZSBhIG5ld2VyIHZlcnNpb24gb2YgVmlzdWFsIFN0
dWRpby4gV2ViS2l0IHJlcXVpcmVzIFZTMjAxNyBvciBuZXdlciB0byBjb21waWxlLiIKICNlbmRp
ZgogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiMzFkYTkxZWFjMC4uOGUzYTQwY2YzMDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNy0xMS0zMCAgU3RlcGhhbiBTemFibyAgPHN0ZXBo
YW4uc3phYm9Ac29ueS5jb20+CisKKyAgICAgICAgU3dpdGNoIHdpbmRvd3MgYnVpbGQgdG8gVmlz
dWFsIFN0dWRpbyAyMDE3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzI0MTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnByb2o6CisKIDIwMTctMTEtMjggIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2ll
aEBhcHBsZS5jb20+CiAKICAgICAgICAgQWxsb3cgYXR0YWNobWVudCBlbGVtZW50cyB3aXRoIG5v
IGFwcGVhcmFuY2UgdG8gZGVmZXIgcmVuZGVyaW5nIHRvIGNoaWxkIG5vZGVzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS5wcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUucHJvagppbmRleCAyNzU2OWQ3ODhiNS4uYTY2
ZmVjZjk5NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUucHJv
agpAQCAtNTQsOSArNTQsOSBAQAogICA8VGFyZ2V0IE5hbWU9IkJ1aWxkIiBBZnRlclRhcmdldHM9
IlByZUJ1aWxkIj4NCiAgICAgPE1lc3NhZ2UgVGV4dD0iQnVpbGRpbmcgJChDT05GSUdVUkFUSU9O
KSBTb2x1dGlvbiIgLz4NCiAgICAgPEVycm9yIFRleHQ9IkRTVFJPT1QgcHJvcGVydHkgb3IgZW52
aXJvbm1lbnQgdmFyaWFibGUgbXVzdCBiZSBkZWZpbmVkLiIgQ29uZGl0aW9uPSInJChEU1RST09U
KScgPT0gJyciIC8+DQotCTxFeGVjIENvbW1hbmQ9IiQoQ01ha2VDb21tYW5kQ29tbW9uKSAtRFdU
Rl9DUFVfWDg2PTEgLUcgJnF1b3Q7VmlzdWFsIFN0dWRpbyAxNCAyMDE1JnF1b3Q7IiBXb3JraW5n
RGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklHKS9idWlsZDMyIi8+DQorCTxFeGVjIENvbW1h
bmQ9IiQoQ01ha2VDb21tYW5kQ29tbW9uKSAtRFdURl9DUFVfWDg2PTEgLUcgJnF1b3Q7VmlzdWFs
IFN0dWRpbyAxNSAyMDE3JnF1b3Q7IiBXb3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09O
RklHKS9idWlsZDMyIi8+DQogCTxFeGVjIENvbW1hbmQ9Im1zYnVpbGQgUHJvamVjdC5zbG4gL3A6
Q29uZmlndXJhdGlvbj0kKENPTkZJRykiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChD
T05GSUcpL2J1aWxkMzIiLz4NCi0JPEV4ZWMgQ29tbWFuZD0iJChDTWFrZUNvbW1hbmRDb21tb24p
IC1EV1RGX0NQVV9YODZfNjQ9MSAtRyAmcXVvdDtWaXN1YWwgU3R1ZGlvIDE0IDIwMTUgV2luNjQm
cXVvdDsiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChDT05GSUcpL2J1aWxkNjQiLz4N
CisJPEV4ZWMgQ29tbWFuZD0iJChDTWFrZUNvbW1hbmRDb21tb24pIC1EV1RGX0NQVV9YODZfNjQ9
MSAtRyAmcXVvdDtWaXN1YWwgU3R1ZGlvIDE1IDIwMTcgV2luNjQmcXVvdDsiIFdvcmtpbmdEaXJl
Y3Rvcnk9IiQoT0JKUk9PVCkvJChDT05GSUcpL2J1aWxkNjQiLz4NCiAJPEV4ZWMgQ29tbWFuZD0i
bXNidWlsZCBQcm9qZWN0LnNsbiAvcDpDb25maWd1cmF0aW9uPSQoQ09ORklHKSIgV29ya2luZ0Rp
cmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJRykvYnVpbGQ2NCIvPg0KICAgPC9UYXJnZXQ+DQog
DQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L0NoYW5nZUxvZwppbmRleCBiNWJiZDZiNGEzNC4uZjA2Y2I2ZmIwNjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTctMTEtMzAgIFN0ZXBoYW4gU3ph
Ym8gIDxzdGVwaGFuLnN6YWJvQHNvbnkuY29tPgorCisgICAgICAgIFN3aXRjaCB3aW5kb3dzIGJ1
aWxkIHRvIFZpc3VhbCBTdHVkaW8gMjAxNworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTcyNDEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRMZWdhY3kudmN4cHJvai9XZWJLaXRMZWdhY3kucHJv
ajoKKwogMjAxNy0xMS0yNyAgRG9uIE9sbXN0ZWFkICA8ZG9uLm9sbXN0ZWFkQHNvbnkuY29tPgog
CiAgICAgICAgIFtDTWFrZV1bV2luXSBDb25kaXRpb25hbGx5IHNlbGVjdCBETEwgQ1JUIG9yIHN0
YXRpYyBDUlQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvV2ViS2l0TGVnYWN5LnZj
eHByb2ovV2ViS2l0TGVnYWN5LnByb2ogYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYktpdExlZ2Fj
eS52Y3hwcm9qL1dlYktpdExlZ2FjeS5wcm9qCmluZGV4IGU0MTAxZmM1MjQ0Li40NGVmNTMxNjJi
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9XZWJLaXRMZWdhY3kudmN4cHJvai9X
ZWJLaXRMZWdhY3kucHJvagorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYktpdExlZ2FjeS52
Y3hwcm9qL1dlYktpdExlZ2FjeS5wcm9qCkBAIC01NCw5ICs1NCw5IEBACiAgIDxUYXJnZXQgTmFt
ZT0iQnVpbGQiIEFmdGVyVGFyZ2V0cz0iUHJlQnVpbGQiPg0KICAgICA8TWVzc2FnZSBUZXh0PSJC
dWlsZGluZyAkKENPTkZJR1VSQVRJT04pIFNvbHV0aW9uIiAvPg0KICAgICA8RXJyb3IgVGV4dD0i
RFNUUk9PVCBwcm9wZXJ0eSBvciBlbnZpcm9ubWVudCB2YXJpYWJsZSBtdXN0IGJlIGRlZmluZWQu
IiBDb25kaXRpb249IickKERTVFJPT1QpJyA9PSAnJyIgLz4NCi0JPEV4ZWMgQ29tbWFuZD0iJChD
TWFrZUNvbW1hbmRDb21tb24pIC1EV1RGX0NQVV9YODY9MSAtRyAmcXVvdDtWaXN1YWwgU3R1ZGlv
IDE0IDIwMTUmcXVvdDsiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChDT05GSUcpL2J1
aWxkMzIiLz4NCisJPEV4ZWMgQ29tbWFuZD0iJChDTWFrZUNvbW1hbmRDb21tb24pIC1EV1RGX0NQ
VV9YODY9MSAtRyAmcXVvdDtWaXN1YWwgU3R1ZGlvIDE1IDIwMTcmcXVvdDsiIFdvcmtpbmdEaXJl
Y3Rvcnk9IiQoT0JKUk9PVCkvJChDT05GSUcpL2J1aWxkMzIiLz4NCiAJPEV4ZWMgQ29tbWFuZD0i
bXNidWlsZCBQcm9qZWN0LnNsbiAvcDpDb25maWd1cmF0aW9uPSQoQ09ORklHKSIgV29ya2luZ0Rp
cmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJRykvYnVpbGQzMiIvPg0KLQk8RXhlYyBDb21tYW5k
PSIkKENNYWtlQ29tbWFuZENvbW1vbikgLURXVEZfQ1BVX1g4Nl82ND0xIC1HICZxdW90O1Zpc3Vh
bCBTdHVkaW8gMTQgMjAxNSBXaW42NCZxdW90OyIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09U
KS8kKENPTkZJRykvYnVpbGQ2NCIvPg0KKwk8RXhlYyBDb21tYW5kPSIkKENNYWtlQ29tbWFuZENv
bW1vbikgLURXVEZfQ1BVX1g4Nl82ND0xIC1HICZxdW90O1Zpc3VhbCBTdHVkaW8gMTUgMjAxNyBX
aW42NCZxdW90OyIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJRykvYnVpbGQ2
NCIvPg0KIAk8RXhlYyBDb21tYW5kPSJtc2J1aWxkIFByb2plY3Quc2xuIC9wOkNvbmZpZ3VyYXRp
b249JChDT05GSUcpIiBXb3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklHKS9idWls
ZDY0Ii8+DQogICA8L1RhcmdldD4NCiANCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9u
c01TVkMuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc01TVkMuY21ha2UKaW5kZXggZmQyNWJk
NGY4NTQuLjdmMzc4ZmY4YWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc01TVkMu
Y21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNNU1ZDLmNtYWtlCkBAIC05NywxMCArOTcs
MTEgQEAgc3RyaW5nKFJFUExBQ0UgIklOQ1JFTUVOVEFMOllFUyIgIklOQ1JFTUVOVEFMOk5PIiBy
ZXBsYWNlX0NNQUtFX0VYRV9MSU5LRVJfRkxBR1MKIHNldChDTUFLRV9FWEVfTElOS0VSX0ZMQUdT
X1JFTFdJVEhERUJJTkZPICIke3JlcGxhY2VfQ01BS0VfRVhFX0xJTktFUl9GTEFHU19SRUxXSVRI
REVCSU5GT30gL0lOQ1JFTUVOVEFMOk5PIikKIAogaWYgKENPTVBJTEVSX0lTX0NMQU5HX0NMKQot
ICAgICMgRklYTUU6IFdlIG5lZWQgdG8gc2V0IHRoZSBtc2MtdmVyc2lvbiBhYm92ZSB0aGUgb25l
IGl0IGRlZmF1bHRzIHRvCi0gICAgIyB3aGVuIHVzaW5nIGNsYW5nLWNsIHdpdGggVlMyMDE1LiBU
aGlzIG1pZ2h0IGJlIHVubmVjZXNzYXJ5IHdoZW4gbW92aW5nIHRvCi0gICAgIyBWUzIwMTcgYXMg
cGFydCBvZiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyNDEyCi0g
ICAgYWRkX2NvbXBpbGVfb3B0aW9ucygtZm1zYy12ZXJzaW9uPTE5MDAyMzkxOCkKKyAgICAjIEZJ
WE1FOiBUaGUgY2xhbmctY2wgdmlzdWFsIHN0dWRpbyBpbnRlZ3JhdGlvbiBzZWVtZWQgdG8gc2V0
CisgICAgIyB0aGlzIHRvIDE5MDAgZXhwbGljaXRseSBldmVuIHdoZW4gYnVpbGRpbmcgaW4gVlMy
MDE3IHdpdGggdGhlCisgICAgIyBuZXdlc3QgdG9vbHNldCBvcHRpb24sIGJ1dCB3ZSB3YW50IHRv
IGJlIHZlcnNpb25lZCB0byBtYXRjaAorICAgICMgVlMyMDE3LgorICAgIGFkZF9jb21waWxlX29w
dGlvbnMoLWZtc2MtdmVyc2lvbj0xOTExKQogCiAgICAgIyBGSVhNRTogQnVpbGRpbmcgd2l0aCBj
bGFuZy1jbCBzZWVtZWQgdG8gZmFpbCB3aXRoIDEyOCBiaXQgaW50IHN1cHBvcnQKICAgICBzZXQo
SEFWRV9JTlQxMjhfVCBPRkYpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggNDJkNmYwMTZkMzIuLjdjNmQxMzBkZDE3IDEwMDY0NAotLS0gYS9Ub29s
cy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTct
MTEtMzAgIFN0ZXBoYW4gU3phYm8gIDxzdGVwaGFuLnN6YWJvQHNvbnkuY29tPgorCisgICAgICAg
IFN3aXRjaCB3aW5kb3dzIGJ1aWxkIHRvIFZpc3VhbCBTdHVkaW8gMjAxNworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyNDEyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL2J1aWxkLXdlYmtp
dDoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdGRpcnMucG06CisgICAgICAgICh2aXN1YWxTdHVk
aW9JbnN0YWxsRGlyKToKKyAgICAgICAgKHZpc3VhbFN0dWRpb0luc3RhbGxEaXJGYWxsYmFjayk6
CisgICAgICAgIChtc0J1aWxkSW5zdGFsbERpcik6CisgICAgICAgIChzZXR1cEFwcGxlV2luRW52
KToKKyAgICAgICAgKHNldHVwQ3lnd2luRW52KToKKyAgICAgICAgKGdlbmVyYXRlQnVpbGRTeXN0
ZW1Gcm9tQ01ha2VQcm9qZWN0KToKKyAgICAgICAgKHBpY2tMZWdhY3lWaXN1YWxTdHVkaW9JbnN0
YWxsYXRpb24pOiBEZWxldGVkLgorICAgICAgICAodmlzdWFsU3R1ZGlvSW5zdGFsbERpckxlZ2Fj
eSk6IERlbGV0ZWQuCisgICAgICAgICh2aXN1YWxTdHVkaW9WZXJzaW9uKTogRGVsZXRlZC4KKyAg
ICAgICAgKHZpc3VhbFN0dWRpb1ZlcnNpb25Gcm9tSW5zdGFsbERpcik6IERlbGV0ZWQuCisKIDIw
MTctMTEtMjggIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAg
U3RvcCBzaWxlbmNpbmcgbGVha3MgaW4gVGV4dENvZGVjSUNVOjpyZWdpc3RlckNvZGVjcywgYXMg
dGhlIHByb2JsZW0gd2FzIGZpeGVkIGEgd2hpbGUgYWdvLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2Ny
aXB0cy9idWlsZC13ZWJraXQgYi9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAppbmRleCBjODI2
YTAzOGU2My4uZmU2YjczZjVlZjIgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Vi
a2l0CisrKyBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CkBAIC0yODgsNyArMjg4LDcgQEAg
aWYgKGlzQXBwbGVXaW5XZWJLaXQoKSB8fCBpc1dpbkNhaXJvKCkpIHsKIAogICAgIGNoZGlyV2Vi
S2l0KCk7CiAgICAgaWYgKGV4aXRTdGF0dXMoZ2VuZXJhdGVCdWlsZFN5c3RlbUZyb21DTWFrZVBy
b2plY3QoJHByZWZpeFBhdGgsIEBjbWFrZUFyZ3MpKSkgewotICAgICAgICBkaWUgIlJ1biBcIkM6
L1Byb2dyYW0gRmlsZXMgKHg4NikvTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gMTQuMC9WQy92Y3Zh
cnNhbGwuYmF0XCIgYmVmb3JlIGJ1aWxkLXdlYmtpdCB3aGVuIHVzaW5nIG5pbmphIjsKKyAgICAg
ICAgZGllICJSdW4gVmlzdWFsIFN0dWRpbyAyMDE3IGluc3RhbGxhdGlvbiB2Y3ZhcnMuYmF0IGJl
Zm9yZSBidWlsZC13ZWJraXQgd2hlbiB1c2luZyBuaW5qYSI7CiAgICAgfQogCiAgICAgZXhpdCAw
IGlmIGlzR2VuZXJhdGVQcm9qZWN0T25seSgpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRkaXJzLnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCmluZGV4IDE2ODJiYjli
Zjg4Li4zZjI2NDg3MWY5ZCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBt
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQpAQCAtMTYxLDcgKzE2MSw2IEBAIG15
ICR3aW5kb3dzU291cmNlRGlyOwogbXkgJHdpblZlcnNpb247CiBteSAkd2lsbFVzZVZDRXhwcmVz
c1doZW5CdWlsZGluZyA9IDA7CiBteSAkdnNXaGVyZUZvdW5kSW5zdGFsbGF0aW9uOwotbXkgJHZz
V2hlcmVMZWdhY3lJbnN0YWxsYXRpb247CiAKICMgRGVmaW5lZCBpbiBWQ1NVdGlscy4KIHN1YiBl
eGl0U3RhdHVzKCQpOwpAQCAtNjM0LDM3ICs2MzMsNiBAQCBzdWIgcGlja0N1cnJlbnRWaXN1YWxT
dHVkaW9JbnN0YWxsYXRpb24KICAgICByZXR1cm4gdW5kZWY7CiB9CiAKLXN1YiBwaWNrTGVnYWN5
VmlzdWFsU3R1ZGlvSW5zdGFsbGF0aW9uCi17Ci0gICAgcmV0dXJuICR2c1doZXJlTGVnYWN5SW5z
dGFsbGF0aW9uIGlmIGRlZmluZWQgJHZzV2hlcmVMZWdhY3lJbnN0YWxsYXRpb247Ci0KLSAgICBy
ZXF1aXJlTW9kdWxlc0ZvclZTV2hlcmUoKTsKLSAgICBkZXRlcm1pbmVTb3VyY2VEaXIoKTsKLQot
ICAgIG15ICR2c1doZXJlT3V0ID0gYCRzb3VyY2VEaXIvV2ViS2l0TGlicmFyaWVzL3dpbi90b29s
cy92c3doZXJlIC1ub2xvZ28gLWxlZ2FjeSAtZm9ybWF0IGpzb25gOwotICAgIG15ICRpbnN0YWxs
YXRpb25zX2FsbCA9IFtdOwotICAgIGV2YWwgewotICAgICAgICAkaW5zdGFsbGF0aW9uc19hbGwg
PSBKU09OOjpQUDo6ZGVjb2RlX2pzb24oRW5jb2RlOjplbmNvZGUoJ1VURi04JyA9PiBFbmNvZGU6
OmRlY29kZShjb25zb2xlX2luID0+ICR2c1doZXJlT3V0KSkpOwotICAgIH07Ci0gICAgcHJpbnQg
IkVycm9yIGdldHRpbmcgVmlzdWFsIFN0dWRpbyBMZWdhY3kgTG9jYXRpb246ICRAXG4iIGlmICRA
OwotICAgIHVuZGVmICRAOwotCi0gICAgIyBJdCdzIHBvc3NpYmxlIHRoYXQgYSBub24tbGVnYWN5
IGluc3RhbGxhdGlvbiB3aXRob3V0IG1zYnVpbGQKLSAgICAjIHdvdWxkIG5vdCBiZSBmb3VuZCBi
eSB0aGUgbGF0ZXN0LCBidXQgd291bGQgYmUgZm91bmQgYnkgdGhpcwotICAgICMgdnN3aGVyZSBj
YWxsLCBhbmQgd2Ugd2FudCB0byBza2lwIHRob3NlLCBzbyBjaGVjayBmb3IgdmVyc2lvbnMKLSAg
ICAjIHdpdGggYW4gaW5zdGFsbGF0aW9uIHZlcnNpb24gYmVmb3JlIDE1LjAuCi0gICAgbXkgQGlu
c3RhbGxhdGlvbnMgPSBncmVwIHsgJF8tPntpbnN0YWxsYXRpb25WZXJzaW9ufSA8IDE1IH0gQCRp
bnN0YWxsYXRpb25zX2FsbDsKLQotICAgICMgV2UgZG9uJ3QgZ2V0IG11Y2ggaW5mb3JtYXRpb24g
dGhhdCB3b3VsZCBsZXQgdXMgY2hvb3NlIGJldHdlZW4KLSAgICAjIGxlZ2FjeSBpbnN0YWxsYXRp
b25zLCBzbyB3ZSdsbCB0YWtlIHRoZSBmaXJzdC4KLSAgICBpZiAoc2NhbGFyIEBpbnN0YWxsYXRp
b25zKSB7Ci0gICAgICAgIG15ICRpbnN0YWxsYXRpb24gPSAkaW5zdGFsbGF0aW9uc1swXTsKLSAg
ICAgICAgJHZzV2hlcmVMZWdhY3lJbnN0YWxsYXRpb24gPSAkaW5zdGFsbGF0aW9uOwotICAgICAg
ICByZXR1cm4gJGluc3RhbGxhdGlvbjsKLSAgICB9Ci0gICAgcmV0dXJuIHVuZGVmOwotfQotCiBz
dWIgdmlzdWFsU3R1ZGlvSW5zdGFsbERpcgogewogICAgIHJldHVybiAkdnNJbnN0YWxsRGlyIGlm
IGRlZmluZWQgJHZzSW5zdGFsbERpcjsKQEAgLTY3NCwxMiArNjQyLDggQEAgc3ViIHZpc3VhbFN0
dWRpb0luc3RhbGxEaXIKICAgICAgICAgJHZzSW5zdGFsbERpciA9fiBzfFtcXC9dJHx8OwogICAg
IH0gZWxzZSB7CiAgICAgICAgICR2c0luc3RhbGxEaXIgPSB2aXN1YWxTdHVkaW9JbnN0YWxsRGly
VlNXaGVyZSgpOwotICAgICAgICBpZiAobm90IC1lICR2c0luc3RhbGxEaXIpIHsKLSAgICAgICAg
ICAgICR2c0luc3RhbGxEaXIgPSB2aXN1YWxTdHVkaW9JbnN0YWxsRGlyTGVnYWN5KCk7Ci0gICAg
ICAgIH0KICAgICAgICAgaWYgKG5vdCAtZSAkdnNJbnN0YWxsRGlyKSB7CiAgICAgICAgICAgICAk
dnNJbnN0YWxsRGlyID0gdmlzdWFsU3R1ZGlvSW5zdGFsbERpckZhbGxiYWNrKCk7Ci0gICAgICAg
ICAgICBwcmludCAiRmFsbGJhY2sgJHZzSW5zdGFsbERpclxuIjsKICAgICAgICAgfQogICAgIH0K
ICAgICBjaG9tcCgkdnNJbnN0YWxsRGlyID0gYGN5Z3BhdGggIiR2c0luc3RhbGxEaXIiYCkgaWYg
aXNDeWd3aW4oKTsKQEAgLTY5NywxNSArNjYxLDYgQEAgc3ViIHZpc3VhbFN0dWRpb0luc3RhbGxE
aXJWU1doZXJlCiAgICAgcmV0dXJuIHVuZGVmOwogfQogCi1zdWIgdmlzdWFsU3R1ZGlvSW5zdGFs
bERpckxlZ2FjeQotewotICAgIHBpY2tMZWdhY3lWaXN1YWxTdHVkaW9JbnN0YWxsYXRpb24oKTsK
LSAgICBpZiAoZGVmaW5lZCgkdnNXaGVyZUxlZ2FjeUluc3RhbGxhdGlvbikpIHsKLSAgICAgICAg
cmV0dXJuICR2c1doZXJlTGVnYWN5SW5zdGFsbGF0aW9uLT57aW5zdGFsbGF0aW9uUGF0aH07Ci0g
ICAgfQotICAgIHJldHVybiB1bmRlZjsKLX0KLQogc3ViIHZpc3VhbFN0dWRpb0luc3RhbGxEaXJG
YWxsYmFjawogewogICAgIGZvcmVhY2ggbXkgJHByb2R1Y3RUeXBlICgoCkBAIC03MjEsMjIgKzY3
NiwxNiBAQCBzdWIgdmlzdWFsU3R1ZGlvSW5zdGFsbERpckZhbGxiYWNrCiAgICAgICAgICAgICBy
ZXR1cm4gJGluc3RhbGxkaXI7CiAgICAgICAgIH0KICAgICB9Ci0gICAgcmV0dXJuIEZpbGU6OlNw
ZWMtPmNhdGRpcihwcm9ncmFtRmlsZXNQYXRoWDg2KCksICJNaWNyb3NvZnQgVmlzdWFsIFN0dWRp
byAxNC4wIik7CisgICAgcmV0dXJuIHVuZGVmOwogfQogCiBzdWIgbXNCdWlsZEluc3RhbGxEaXIK
IHsKICAgICByZXR1cm4gJG1zQnVpbGRJbnN0YWxsRGlyIGlmIGRlZmluZWQgJG1zQnVpbGRJbnN0
YWxsRGlyOwogCi0gICAgbXkgJHZlcnNpb24gPSB2aXN1YWxTdHVkaW9WZXJzaW9uKCk7Ci0gICAg
aWYgKCR2ZXJzaW9uID49IDE1LjApIHsKLSAgICAgICAgbXkgJGluc3RhbGxEaXIgPSB2aXN1YWxT
dHVkaW9JbnN0YWxsRGlyKCk7Ci0gICAgICAgICRtc0J1aWxkSW5zdGFsbERpciA9IEZpbGU6OlNw
ZWMtPmNhdGRpcigkaW5zdGFsbERpciwKLSAgICAgICAgICAgICJNU0J1aWxkIiwgJHZlcnNpb24s
ICJiaW4iKTsKLSAgICB9IGVsc2UgewotICAgICAgICAkbXNCdWlsZEluc3RhbGxEaXIgPSBGaWxl
OjpTcGVjLT5jYXRkaXIocHJvZ3JhbUZpbGVzUGF0aFg4NigpLCAKLSAgICAgICAgICAgICJNU0J1
aWxkIiwgIjE0LjAiLCAiQmluIikKLSAgICB9CisgICAgbXkgJGluc3RhbGxEaXIgPSB2aXN1YWxT
dHVkaW9JbnN0YWxsRGlyKCk7CisgICAgJG1zQnVpbGRJbnN0YWxsRGlyID0gRmlsZTo6U3BlYy0+
Y2F0ZGlyKCRpbnN0YWxsRGlyLAorICAgICAgICAiTVNCdWlsZCIsICIxNS4wIiwgImJpbiIpOwog
CiAgICAgY2hvbXAoJG1zQnVpbGRJbnN0YWxsRGlyID0gYGN5Z3BhdGggIiRtc0J1aWxkSW5zdGFs
bERpciJgKSBpZiBpc0N5Z3dpbigpOwogCkBAIC03NDQsMzUgKzY5Myw2IEBAIHN1YiBtc0J1aWxk
SW5zdGFsbERpcgogICAgIHJldHVybiAkbXNCdWlsZEluc3RhbGxEaXI7CiB9CiAKLXN1YiB2aXN1
YWxTdHVkaW9WZXJzaW9uCi17Ci0gICAgcmV0dXJuICR2c1ZlcnNpb24gaWYgZGVmaW5lZCAkdnNW
ZXJzaW9uOwotCi0gICAgbXkgJGluc3RhbGxEaXIgPSB2aXN1YWxTdHVkaW9JbnN0YWxsRGlyKCk7
Ci0gICAgJHZzVmVyc2lvbiA9IHZpc3VhbFN0dWRpb1ZlcnNpb25Gcm9tSW5zdGFsbERpcigkaW5z
dGFsbERpcik7Ci0KLSAgICBwcmludCAiVXNpbmcgVmlzdWFsIFN0dWRpbyAkdnNWZXJzaW9uXG4i
OwotICAgIHJldHVybiAkdnNWZXJzaW9uOwotfQotCi1zdWIgdmlzdWFsU3R1ZGlvVmVyc2lvbkZy
b21JbnN0YWxsRGlyCi17Ci0gICAgbXkgKCRkaXIpID0gQF87Ci0gICAgbXkgJHZlcnNpb247Ci0K
LSAgICBpZiAoJGRpciA9fiBtfE1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvWy9cXF0yMDE3fCkgewot
ICAgICAgICAkdmVyc2lvbiA9ICIxNS4wIjsKLSAgICB9Ci0KLSAgICBpZiAoIWRlZmluZWQoJHZl
cnNpb24pKSB7Ci0gICAgICAgIGlmICgkZGlyID1+IC9NaWNyb3NvZnQgVmlzdWFsIFN0dWRpbyAo
WzAtOV0rXC5bMC05XSopLykgewotICAgICAgICAgICAgJHZlcnNpb24gPSAkMTsKLSAgICAgICAg
fQotICAgIH0KLQotICAgIHJldHVybiAkdmVyc2lvbjsKLX0KLQogc3ViIGRldGVybWluZUNvbmZp
Z3VyYXRpb25Gb3JWaXN1YWxTdHVkaW8KIHsKICAgICByZXR1cm4gaWYgZGVmaW5lZCAkY29uZmln
dXJhdGlvbkZvclZpc3VhbFN0dWRpbzsKQEAgLTE4NTgsMTMgKzE3NzgsMTMgQEAgc3ViIHNldHVw
QXBwbGVXaW5FbnYoKQogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmICghZGVmaW5lZCAkRU5WeydX
RUJLSVRfTElCUkFSSUVTJ30gfHwgISRFTlZ7J1dFQktJVF9MSUJSQVJJRVMnfSkgewogICAgICAg
ICAgICAgcHJpbnQgIldhcm5pbmc6IFlvdSBtdXN0IHNldCB0aGUgJ1dlYktpdF9MaWJyYXJpZXMn
IGVudmlyb25tZW50IHZhcmlhYmxlXG4iOwotICAgICAgICAgICAgcHJpbnQgIiAgICAgICAgIHRv
IGJlIGFibGUgYnVpbGQgV2ViS2l0IGZyb20gd2l0aGluIFZpc3VhbCBTdHVkaW8gMjAxMyBhbmQg
bmV3ZXIuXG4iOworICAgICAgICAgICAgcHJpbnQgIiAgICAgICAgIHRvIGJlIGFibGUgYnVpbGQg
V2ViS2l0IGZyb20gd2l0aGluIFZpc3VhbCBTdHVkaW8gMjAxNyBhbmQgbmV3ZXIuXG4iOwogICAg
ICAgICAgICAgcHJpbnQgIiAgICAgICAgIE1ha2Ugc3VyZSB0aGF0ICdXZWJLaXRfTGlicmFyaWVz
JyBwb2ludHMgdG8gdGhlXG4iOwogICAgICAgICAgICAgcHJpbnQgIiAgICAgICAgICdXZWJLaXRM
aWJyYXJpZXMvd2luJyBkaXJlY3RvcnksIG5vdCB0aGUgJ1dlYktpdExpYnJhcmllcy8nIGRpcmVj
dG9yeS5cblxuIjsKICAgICAgICAgfQogICAgICAgICBpZiAoIWRlZmluZWQgJEVOVnsnV0VCS0lU
X09VVFBVVERJUid9IHx8ICEkRU5WeydXRUJLSVRfT1VUUFVURElSJ30pIHsKICAgICAgICAgICAg
IHByaW50ICJXYXJuaW5nOiBZb3UgbXVzdCBzZXQgdGhlICdXZWJLaXRfT3V0cHV0RGlyJyBlbnZp
cm9ubWVudCB2YXJpYWJsZVxuIjsKLSAgICAgICAgICAgIHByaW50ICIgICAgICAgICB0byBiZSBh
YmxlIGJ1aWxkIFdlYktpdCBmcm9tIHdpdGhpbiBWaXN1YWwgU3R1ZGlvIDIwMTMgYW5kIG5ld2Vy
LlxuXG4iOworICAgICAgICAgICAgcHJpbnQgIiAgICAgICAgIHRvIGJlIGFibGUgYnVpbGQgV2Vi
S2l0IGZyb20gd2l0aGluIFZpc3VhbCBTdHVkaW8gMjAxNyBhbmQgbmV3ZXIuXG5cbiI7CiAgICAg
ICAgIH0KICAgICAgICAgaWYgKCFkZWZpbmVkICRFTlZ7J01TQlVJTERESVNBQkxFTk9ERVJFVVNF
J30gfHwgISRFTlZ7J01TQlVJTERESVNBQkxFTk9ERVJFVVNFJ30pIHsKICAgICAgICAgICAgIHBy
aW50ICJXYXJuaW5nOiBZb3Ugc2hvdWxkIHNldCB0aGUgJ01TQlVJTERESVNBQkxFTk9ERVJFVVNF
JyBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byAnMSdcbiI7CkBAIC0xODg1LDE5ICsxODA1LDE0IEBA
IHN1YiBzZXR1cEN5Z3dpbkVudigpCiAKICAgICBteSAkcHJvZ3JhbUZpbGVzUGF0aCA9IHByb2dy
YW1GaWxlc1BhdGgoKTsKICAgICBteSAkdmlzdWFsU3R1ZGlvUGF0aCA9IEZpbGU6OlNwZWMtPmNh
dGZpbGUodmlzdWFsU3R1ZGlvSW5zdGFsbERpcigpLCBxdyhDb21tb243IElERSBkZXZlbnYuY29t
KSk7Ci0gICAgaWYgKC1lICR2aXN1YWxTdHVkaW9QYXRoKSB7Ci0gICAgICAgICMgVmlzdWFsIFN0
dWRpbyBpcyBpbnN0YWxsZWQ7Ci0gICAgICAgIGlmICh2aXN1YWxTdHVkaW9WZXJzaW9uKCkgZXEg
IjEyIikgewotICAgICAgICAgICAgJHZpc3VhbFN0dWRpb1BhdGggPSBGaWxlOjpTcGVjLT5jYXRm
aWxlKHZpc3VhbFN0dWRpb0luc3RhbGxEaXIoKSwgcXcoQ29tbW9uNyBJREUgZGV2ZW52LmV4ZSkp
OwotICAgICAgICB9Ci0gICAgfSBlbHNlIHsKKyAgICBpZiAoIS1lICR2aXN1YWxTdHVkaW9QYXRo
KSB7CiAgICAgICAgICMgVmlzdWFsIFN0dWRpbyBub3QgZm91bmQsIHRyeSBWQysrIEV4cHJlc3MK
ICAgICAgICAgJHZpc3VhbFN0dWRpb1BhdGggPSBGaWxlOjpTcGVjLT5jYXRmaWxlKHZpc3VhbFN0
dWRpb0luc3RhbGxEaXIoKSwgcXcoQ29tbW9uNyBJREUgV0RFeHByZXNzLmV4ZSkpOwogICAgICAg
ICBpZiAoISAtZSAkdmlzdWFsU3R1ZGlvUGF0aCkgewogICAgICAgICAgICAgcHJpbnQgIioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipc
biI7CiAgICAgICAgICAgICBwcmludCAiQ2Fubm90IGZpbmQgJyR2aXN1YWxTdHVkaW9QYXRoJ1xu
IjsKICAgICAgICAgICAgIHByaW50ICJQbGVhc2UgZXhlY3V0ZSB0aGUgZmlsZSAndmN2YXJzMzIu
YmF0JyBmcm9tXG4iOwotICAgICAgICAgICAgcHJpbnQgIickcHJvZ3JhbUZpbGVzUGF0aFxcTWlj
cm9zb2Z0IFZpc3VhbCBTdHVkaW8gMTQuMFxcVkNcXGJpblxcJ1xuIjsKKyAgICAgICAgICAgIHBy
aW50ICJ5b3VyIFZpc3VhbCBTdHVkaW8gMjAxNyBpbnN0YWxsYXRpb25cbiI7CiAgICAgICAgICAg
ICBwcmludCAidG8gc2V0dXAgdGhlIG5lY2Vzc2FyeSBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4i
OwogICAgICAgICAgICAgcHJpbnQgIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKipcbiI7CiAgICAgICAgICAgICBkaWU7CkBAIC0yMjI0
LDExICsyMTM5LDcgQEAgc3ViIGdlbmVyYXRlQnVpbGRTeXN0ZW1Gcm9tQ01ha2VQcm9qZWN0CiAg
ICAgICAgICAgICBwdXNoIEBhcmdzLCAiTmluamEiOwogICAgICAgICB9CiAgICAgfSBlbHNpZiAo
aXNBbnlXaW5kb3dzKCkgJiYgaXNXaW42NCgpKSB7Ci0gICAgICAgIGlmICh2aXN1YWxTdHVkaW9W
ZXJzaW9uKCkgPj0gMTUpIHsKLSAgICAgICAgICAgIHB1c2ggQGFyZ3MsICctRyAiVmlzdWFsIFN0
dWRpbyAxNSAyMDE3IFdpbjY0Iic7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBwdXNo
IEBhcmdzLCAnLUcgIlZpc3VhbCBTdHVkaW8gMTQgMjAxNSBXaW42NCInOwotICAgICAgICB9Cisg
ICAgICAgIHB1c2ggQGFyZ3MsICctRyAiVmlzdWFsIFN0dWRpbyAxNSAyMDE3IFdpbjY0Iic7CiAg
ICAgfQogICAgICMgRG8gbm90IHNob3cgcHJvZ3Jlc3Mgb2YgZ2VuZXJhdGluZyBiaW5kaW5ncyBp
biBpbnRlcmFjdGl2ZSBOaW5qYSBidWlsZCBub3QgdG8gbGVhdmUgbm9pc3kgbGluZXMgb24gdHR5
CiAgICAgcHVzaCBAYXJncywgJy1EU0hPV19CSU5ESU5HU19HRU5FUkFUSU9OX1BST0dSRVNTPTEn
IHVubGVzcyAoJHdpbGxVc2VOaW5qYSAmJiAtdCBTVERPVVQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328010</attachid>
            <date>2017-11-30 13:12:08 -0800</date>
            <delta_ts>2017-12-05 14:59:54 -0800</delta_ts>
            <desc>Require VS2017 for building</desc>
            <filename>172412-3.patch</filename>
            <type>text/plain</type>
            <size>18926</size>
            <attacher name="Stephan Szabo">stephan.szabo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA3MzZlYjFkYTVlZi4uY2Vh
YzUwYWM1ODIgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMiBAQAorMjAxNy0xMS0zMCAgU3RlcGhhbiBTemFibyAgPHN0ZXBoYW4uc3phYm9Ac29ueS5j
b20+CisKKyAgICAgICAgU3dpdGNoIHdpbmRvd3MgYnVpbGQgdG8gVmlzdWFsIFN0dWRpbyAyMDE3
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzI0MTIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNvdXJj
ZS9jbWFrZS9PcHRpb25zTVNWQy5jbWFrZToKKwogMjAxNy0xMS0yOCAgTWljaGFlbCBDYXRhbnph
cm8gIDxtY2F0YW56YXJvQGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyMjI1MDk4
KTogW1dQRV0gU29tZSBmZWF0dXJlcyBoYXZlIGNoYW5nZWQgb2YgdmFsdWUgKDcwIG5ldyBmYWls
dXJlcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDJkZThlNWI1OWMwLi5iMDc2NGI2YjY2
MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTctMTEtMzAg
IFN0ZXBoYW4gU3phYm8gIDxzdGVwaGFuLnN6YWJvQHNvbnkuY29tPgorCisgICAgICAgIFN3aXRj
aCB3aW5kb3dzIGJ1aWxkIHRvIFZpc3VhbCBTdHVkaW8gMjAxNworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyNDEyCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0ph
dmFTY3JpcHRDb3JlLnByb2o6CisKIDIwMTctMTEtMjggIEpvc2VwaCBQZWNvcmFybyAgPHBlY29y
YXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBTZXJ2aWNlV29ya2VyIEluc3BlY3RvcjogRnJvbnRl
bmQgY2hhbmdlcyB0byBzdXBwb3J0IE5ldHdvcmsgdGFiIGFuZCBzdWIgcmVzb3VyY2VzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZh
U2NyaXB0Q29yZS5wcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZj
eHByb2ovSmF2YVNjcmlwdENvcmUucHJvagppbmRleCA0YzFkODU2Y2JhMS4uNzUyN2FiMTZjOTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9q
L0phdmFTY3JpcHRDb3JlLnByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUucHJvagpAQCAtNTQsOSArNTQsOSBAQAogICA8
VGFyZ2V0IE5hbWU9IkJ1aWxkIiBBZnRlclRhcmdldHM9IlByZUJ1aWxkIj4NCiAgICAgPE1lc3Nh
Z2UgVGV4dD0iQnVpbGRpbmcgJChDT05GSUdVUkFUSU9OKSBTb2x1dGlvbiIgLz4NCiAgICAgPEVy
cm9yIFRleHQ9IkRTVFJPT1QgcHJvcGVydHkgb3IgZW52aXJvbm1lbnQgdmFyaWFibGUgbXVzdCBi
ZSBkZWZpbmVkLiIgQ29uZGl0aW9uPSInJChEU1RST09UKScgPT0gJyciIC8+DQotCTxFeGVjIENv
bW1hbmQ9IiQoQ01ha2VDb21tYW5kQ29tbW9uKSAtRFdURl9DUFVfWDg2PTEgLUcgJnF1b3Q7Vmlz
dWFsIFN0dWRpbyAxNCAyMDE1JnF1b3Q7IiBXb3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQo
Q09ORklHKS9idWlsZDMyIi8+DQorCTxFeGVjIENvbW1hbmQ9IiQoQ01ha2VDb21tYW5kQ29tbW9u
KSAtRFdURl9DUFVfWDg2PTEgLUcgJnF1b3Q7VmlzdWFsIFN0dWRpbyAxNSAyMDE3JnF1b3Q7IiBX
b3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklHKS9idWlsZDMyIi8+DQogCTxFeGVj
IENvbW1hbmQ9Im1zYnVpbGQgUHJvamVjdC5zbG4gL3A6Q29uZmlndXJhdGlvbj0kKENPTkZJRyki
IFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChDT05GSUcpL2J1aWxkMzIiLz4NCi0JPEV4
ZWMgQ29tbWFuZD0iJChDTWFrZUNvbW1hbmRDb21tb24pIC1EV1RGX0NQVV9YODZfNjQ9MSAtRyAm
cXVvdDtWaXN1YWwgU3R1ZGlvIDE0IDIwMTUgV2luNjQmcXVvdDsiIFdvcmtpbmdEaXJlY3Rvcnk9
IiQoT0JKUk9PVCkvJChDT05GSUcpL2J1aWxkNjQiLz4NCisJPEV4ZWMgQ29tbWFuZD0iJChDTWFr
ZUNvbW1hbmRDb21tb24pIC1EV1RGX0NQVV9YODZfNjQ9MSAtRyAmcXVvdDtWaXN1YWwgU3R1ZGlv
IDE1IDIwMTcgV2luNjQmcXVvdDsiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChDT05G
SUcpL2J1aWxkNjQiLz4NCiAJPEV4ZWMgQ29tbWFuZD0ibXNidWlsZCBQcm9qZWN0LnNsbiAvcDpD
b25maWd1cmF0aW9uPSQoQ09ORklHKSIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENP
TkZJRykvYnVpbGQ2NCIvPg0KICAgPC9UYXJnZXQ+DQogDQpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCA1ODM5N2ZkZjkxYy4uZTA3
ZWU1MDcwZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
VEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTctMTEtMzAgIFN0ZXBoYW4gU3phYm8g
IDxzdGVwaGFuLnN6YWJvQHNvbnkuY29tPgorCisgICAgICAgIFN3aXRjaCB3aW5kb3dzIGJ1aWxk
IHRvIFZpc3VhbCBTdHVkaW8gMjAxNworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTcyNDEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBXVEYudmN4cHJvai9XVEYucHJvajoKKyAgICAgICAgKiB3dGYvQ29t
cGlsZXIuaDogVXBkYXRlIG1pbmltdW0gdmVyc2lvbiBvZiBNU1ZDCisKIDIwMTctMTEtMTQgIENh
cmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIE1vdmUg
SlNPTlZhbHVlcyB0byBXVEYgYW5kIGNvbnZlcnQgdXNlcyBvZiBJbnNwZWN0b3JWYWx1ZXMuaCB0
byBKU09OVmFsdWVzLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnBy
b2ogYi9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi5wcm9qCmluZGV4IDhlYWY5ZWFmMzZiLi41
MjkxNjU4ZjA0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYucHJvagor
KysgYi9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi5wcm9qCkBAIC00Niw5ICs0Niw5IEBACiAg
IDxUYXJnZXQgTmFtZT0iQnVpbGQiIEFmdGVyVGFyZ2V0cz0iUHJlQnVpbGQiPg0KICAgICA8TWVz
c2FnZSBUZXh0PSJCdWlsZGluZyAkKENPTkZJR1VSQVRJT04pIFNvbHV0aW9uIiAvPg0KICAgICA8
RXJyb3IgVGV4dD0iRFNUUk9PVCBwcm9wZXJ0eSBvciBlbnZpcm9ubWVudCB2YXJpYWJsZSBtdXN0
IGJlIGRlZmluZWQuIiBDb25kaXRpb249IickKERTVFJPT1QpJyA9PSAnJyIgLz4NCi0JPEV4ZWMg
Q29tbWFuZD0iJChDTWFrZUNvbW1hbmRDb21tb24pIC1EV1RGX0NQVV9YODY9MSAtRyAmcXVvdDtW
aXN1YWwgU3R1ZGlvIDE0IDIwMTUmcXVvdDsiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkv
JChDT05GSUcpL2J1aWxkMzIiLz4NCisJPEV4ZWMgQ29tbWFuZD0iJChDTWFrZUNvbW1hbmRDb21t
b24pIC1EV1RGX0NQVV9YODY9MSAtRyAmcXVvdDtWaXN1YWwgU3R1ZGlvIDE1IDIwMTcmcXVvdDsi
IFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChDT05GSUcpL2J1aWxkMzIiLz4NCiAJPEV4
ZWMgQ29tbWFuZD0ibXNidWlsZCBQcm9qZWN0LnNsbiAvcDpDb25maWd1cmF0aW9uPSQoQ09ORklH
KSIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJRykvYnVpbGQzMiIvPg0KLQk8
RXhlYyBDb21tYW5kPSIkKENNYWtlQ29tbWFuZENvbW1vbikgLURXVEZfQ1BVX1g4Nl82ND0xIC1H
ICZxdW90O1Zpc3VhbCBTdHVkaW8gMTQgMjAxNSBXaW42NCZxdW90OyIgV29ya2luZ0RpcmVjdG9y
eT0iJChPQkpST09UKS8kKENPTkZJRykvYnVpbGQ2NCIvPg0KKwk8RXhlYyBDb21tYW5kPSIkKENN
YWtlQ29tbWFuZENvbW1vbikgLURXVEZfQ1BVX1g4Nl82ND0xIC1HICZxdW90O1Zpc3VhbCBTdHVk
aW8gMTUgMjAxNyBXaW42NCZxdW90OyIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENP
TkZJRykvYnVpbGQ2NCIvPg0KIAk8RXhlYyBDb21tYW5kPSJtc2J1aWxkIFByb2plY3Quc2xuIC9w
OkNvbmZpZ3VyYXRpb249JChDT05GSUcpIiBXb3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQo
Q09ORklHKS9idWlsZDY0Ii8+DQogICA8L1RhcmdldD4NCiANCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9Db21waWxlci5oIGIvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaAppbmRleCA2OTc1
MjM0NWNlMy4uY2ViMzVkYjU2ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0NvbXBpbGVy
LmgKKysrIGIvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaApAQCAtMTMwLDggKzEzMCw4IEBACiAj
ZGVmaW5lIFdURl9DT01QSUxFUl9NU1ZDIDEKICNkZWZpbmUgV1RGX0NPTVBJTEVSX1NVUFBPUlRT
X0NYWF9SRUZFUkVOQ0VfUVVBTElGSUVEX0ZVTkNUSU9OUyAxCiAKLSNpZiBfTVNDX1ZFUiA8IDE5
MDAKLSNlcnJvciAiUGxlYXNlIHVzZSBhIG5ld2VyIHZlcnNpb24gb2YgVmlzdWFsIFN0dWRpby4g
V2ViS2l0IHJlcXVpcmVzIFZTMjAxNSBvciBuZXdlciB0byBjb21waWxlLiIKKyNpZiBfTVNDX1ZF
UiA8IDE5MTAKKyNlcnJvciAiUGxlYXNlIHVzZSBhIG5ld2VyIHZlcnNpb24gb2YgVmlzdWFsIFN0
dWRpby4gV2ViS2l0IHJlcXVpcmVzIFZTMjAxNyBvciBuZXdlciB0byBjb21waWxlLiIKICNlbmRp
ZgogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiMzFkYTkxZWFjMC4uNGNjZjJmZWQ4YjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNy0xMS0zMCAgU3RlcGhhbiBTemFibyAgPHN0ZXBo
YW4uc3phYm9Ac29ueS5jb20+CisKKyAgICAgICAgU3dpdGNoIHdpbmRvd3MgYnVpbGQgdG8gVmlz
dWFsIFN0dWRpbyAyMDE3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzI0MTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBPbmx5IGNoYW5nZXMgcHJvaiBmaWxlIHRvIHVwZGF0ZSBnZW5lcmF0b3IKKworICAg
ICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnByb2o6CisKIDIwMTctMTEtMjggIFdlbnNv
biBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgQWxsb3cgYXR0YWNo
bWVudCBlbGVtZW50cyB3aXRoIG5vIGFwcGVhcmFuY2UgdG8gZGVmZXIgcmVuZGVyaW5nIHRvIGNo
aWxkIG5vZGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS5wcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUucHJvagpp
bmRleCAyNzU2OWQ3ODhiNS4uYTY2ZmVjZjk5NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUucHJvagpAQCAtNTQsOSArNTQsOSBAQAogICA8VGFyZ2V0IE5hbWU9
IkJ1aWxkIiBBZnRlclRhcmdldHM9IlByZUJ1aWxkIj4NCiAgICAgPE1lc3NhZ2UgVGV4dD0iQnVp
bGRpbmcgJChDT05GSUdVUkFUSU9OKSBTb2x1dGlvbiIgLz4NCiAgICAgPEVycm9yIFRleHQ9IkRT
VFJPT1QgcHJvcGVydHkgb3IgZW52aXJvbm1lbnQgdmFyaWFibGUgbXVzdCBiZSBkZWZpbmVkLiIg
Q29uZGl0aW9uPSInJChEU1RST09UKScgPT0gJyciIC8+DQotCTxFeGVjIENvbW1hbmQ9IiQoQ01h
a2VDb21tYW5kQ29tbW9uKSAtRFdURl9DUFVfWDg2PTEgLUcgJnF1b3Q7VmlzdWFsIFN0dWRpbyAx
NCAyMDE1JnF1b3Q7IiBXb3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklHKS9idWls
ZDMyIi8+DQorCTxFeGVjIENvbW1hbmQ9IiQoQ01ha2VDb21tYW5kQ29tbW9uKSAtRFdURl9DUFVf
WDg2PTEgLUcgJnF1b3Q7VmlzdWFsIFN0dWRpbyAxNSAyMDE3JnF1b3Q7IiBXb3JraW5nRGlyZWN0
b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklHKS9idWlsZDMyIi8+DQogCTxFeGVjIENvbW1hbmQ9Im1z
YnVpbGQgUHJvamVjdC5zbG4gL3A6Q29uZmlndXJhdGlvbj0kKENPTkZJRykiIFdvcmtpbmdEaXJl
Y3Rvcnk9IiQoT0JKUk9PVCkvJChDT05GSUcpL2J1aWxkMzIiLz4NCi0JPEV4ZWMgQ29tbWFuZD0i
JChDTWFrZUNvbW1hbmRDb21tb24pIC1EV1RGX0NQVV9YODZfNjQ9MSAtRyAmcXVvdDtWaXN1YWwg
U3R1ZGlvIDE0IDIwMTUgV2luNjQmcXVvdDsiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkv
JChDT05GSUcpL2J1aWxkNjQiLz4NCisJPEV4ZWMgQ29tbWFuZD0iJChDTWFrZUNvbW1hbmRDb21t
b24pIC1EV1RGX0NQVV9YODZfNjQ9MSAtRyAmcXVvdDtWaXN1YWwgU3R1ZGlvIDE1IDIwMTcgV2lu
NjQmcXVvdDsiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChDT05GSUcpL2J1aWxkNjQi
Lz4NCiAJPEV4ZWMgQ29tbWFuZD0ibXNidWlsZCBQcm9qZWN0LnNsbiAvcDpDb25maWd1cmF0aW9u
PSQoQ09ORklHKSIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJRykvYnVpbGQ2
NCIvPg0KICAgPC9UYXJnZXQ+DQogDQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L0NoYW5nZUxvZwppbmRleCBiNWJiZDZiNGEz
NC4uZjA2Y2I2ZmIwNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIw
MTctMTEtMzAgIFN0ZXBoYW4gU3phYm8gIDxzdGVwaGFuLnN6YWJvQHNvbnkuY29tPgorCisgICAg
ICAgIFN3aXRjaCB3aW5kb3dzIGJ1aWxkIHRvIFZpc3VhbCBTdHVkaW8gMjAxNworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyNDEyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRMZWdhY3kudmN4
cHJvai9XZWJLaXRMZWdhY3kucHJvajoKKwogMjAxNy0xMS0yNyAgRG9uIE9sbXN0ZWFkICA8ZG9u
Lm9sbXN0ZWFkQHNvbnkuY29tPgogCiAgICAgICAgIFtDTWFrZV1bV2luXSBDb25kaXRpb25hbGx5
IHNlbGVjdCBETEwgQ1JUIG9yIHN0YXRpYyBDUlQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvV2ViS2l0TGVnYWN5LnZjeHByb2ovV2ViS2l0TGVnYWN5LnByb2ogYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L1dlYktpdExlZ2FjeS52Y3hwcm9qL1dlYktpdExlZ2FjeS5wcm9qCmluZGV4IGU0
MTAxZmM1MjQ0Li40NGVmNTMxNjJiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9X
ZWJLaXRMZWdhY3kudmN4cHJvai9XZWJLaXRMZWdhY3kucHJvagorKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L1dlYktpdExlZ2FjeS52Y3hwcm9qL1dlYktpdExlZ2FjeS5wcm9qCkBAIC01NCw5ICs1
NCw5IEBACiAgIDxUYXJnZXQgTmFtZT0iQnVpbGQiIEFmdGVyVGFyZ2V0cz0iUHJlQnVpbGQiPg0K
ICAgICA8TWVzc2FnZSBUZXh0PSJCdWlsZGluZyAkKENPTkZJR1VSQVRJT04pIFNvbHV0aW9uIiAv
Pg0KICAgICA8RXJyb3IgVGV4dD0iRFNUUk9PVCBwcm9wZXJ0eSBvciBlbnZpcm9ubWVudCB2YXJp
YWJsZSBtdXN0IGJlIGRlZmluZWQuIiBDb25kaXRpb249IickKERTVFJPT1QpJyA9PSAnJyIgLz4N
Ci0JPEV4ZWMgQ29tbWFuZD0iJChDTWFrZUNvbW1hbmRDb21tb24pIC1EV1RGX0NQVV9YODY9MSAt
RyAmcXVvdDtWaXN1YWwgU3R1ZGlvIDE0IDIwMTUmcXVvdDsiIFdvcmtpbmdEaXJlY3Rvcnk9IiQo
T0JKUk9PVCkvJChDT05GSUcpL2J1aWxkMzIiLz4NCisJPEV4ZWMgQ29tbWFuZD0iJChDTWFrZUNv
bW1hbmRDb21tb24pIC1EV1RGX0NQVV9YODY9MSAtRyAmcXVvdDtWaXN1YWwgU3R1ZGlvIDE1IDIw
MTcmcXVvdDsiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChDT05GSUcpL2J1aWxkMzIi
Lz4NCiAJPEV4ZWMgQ29tbWFuZD0ibXNidWlsZCBQcm9qZWN0LnNsbiAvcDpDb25maWd1cmF0aW9u
PSQoQ09ORklHKSIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJRykvYnVpbGQz
MiIvPg0KLQk8RXhlYyBDb21tYW5kPSIkKENNYWtlQ29tbWFuZENvbW1vbikgLURXVEZfQ1BVX1g4
Nl82ND0xIC1HICZxdW90O1Zpc3VhbCBTdHVkaW8gMTQgMjAxNSBXaW42NCZxdW90OyIgV29ya2lu
Z0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJRykvYnVpbGQ2NCIvPg0KKwk8RXhlYyBDb21t
YW5kPSIkKENNYWtlQ29tbWFuZENvbW1vbikgLURXVEZfQ1BVX1g4Nl82ND0xIC1HICZxdW90O1Zp
c3VhbCBTdHVkaW8gMTUgMjAxNyBXaW42NCZxdW90OyIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpS
T09UKS8kKENPTkZJRykvYnVpbGQ2NCIvPg0KIAk8RXhlYyBDb21tYW5kPSJtc2J1aWxkIFByb2pl
Y3Quc2xuIC9wOkNvbmZpZ3VyYXRpb249JChDT05GSUcpIiBXb3JraW5nRGlyZWN0b3J5PSIkKE9C
SlJPT1QpLyQoQ09ORklHKS9idWlsZDY0Ii8+DQogICA8L1RhcmdldD4NCiANCmRpZmYgLS1naXQg
YS9Tb3VyY2UvY21ha2UvT3B0aW9uc01TVkMuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc01T
VkMuY21ha2UKaW5kZXggZmQyNWJkNGY4NTQuLjdmMzc4ZmY4YWE5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvY21ha2UvT3B0aW9uc01TVkMuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNNU1ZD
LmNtYWtlCkBAIC05NywxMCArOTcsMTEgQEAgc3RyaW5nKFJFUExBQ0UgIklOQ1JFTUVOVEFMOllF
UyIgIklOQ1JFTUVOVEFMOk5PIiByZXBsYWNlX0NNQUtFX0VYRV9MSU5LRVJfRkxBR1MKIHNldChD
TUFLRV9FWEVfTElOS0VSX0ZMQUdTX1JFTFdJVEhERUJJTkZPICIke3JlcGxhY2VfQ01BS0VfRVhF
X0xJTktFUl9GTEFHU19SRUxXSVRIREVCSU5GT30gL0lOQ1JFTUVOVEFMOk5PIikKIAogaWYgKENP
TVBJTEVSX0lTX0NMQU5HX0NMKQotICAgICMgRklYTUU6IFdlIG5lZWQgdG8gc2V0IHRoZSBtc2Mt
dmVyc2lvbiBhYm92ZSB0aGUgb25lIGl0IGRlZmF1bHRzIHRvCi0gICAgIyB3aGVuIHVzaW5nIGNs
YW5nLWNsIHdpdGggVlMyMDE1LiBUaGlzIG1pZ2h0IGJlIHVubmVjZXNzYXJ5IHdoZW4gbW92aW5n
IHRvCi0gICAgIyBWUzIwMTcgYXMgcGFydCBvZiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTcyNDEyCi0gICAgYWRkX2NvbXBpbGVfb3B0aW9ucygtZm1zYy12ZXJzaW9u
PTE5MDAyMzkxOCkKKyAgICAjIEZJWE1FOiBUaGUgY2xhbmctY2wgdmlzdWFsIHN0dWRpbyBpbnRl
Z3JhdGlvbiBzZWVtZWQgdG8gc2V0CisgICAgIyB0aGlzIHRvIDE5MDAgZXhwbGljaXRseSBldmVu
IHdoZW4gYnVpbGRpbmcgaW4gVlMyMDE3IHdpdGggdGhlCisgICAgIyBuZXdlc3QgdG9vbHNldCBv
cHRpb24sIGJ1dCB3ZSB3YW50IHRvIGJlIHZlcnNpb25lZCB0byBtYXRjaAorICAgICMgVlMyMDE3
LgorICAgIGFkZF9jb21waWxlX29wdGlvbnMoLWZtc2MtdmVyc2lvbj0xOTExKQogCiAgICAgIyBG
SVhNRTogQnVpbGRpbmcgd2l0aCBjbGFuZy1jbCBzZWVtZWQgdG8gZmFpbCB3aXRoIDEyOCBiaXQg
aW50IHN1cHBvcnQKICAgICBzZXQoSEFWRV9JTlQxMjhfVCBPRkYpCmRpZmYgLS1naXQgYS9Ub29s
cy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDJkNmYwMTZkMzIuLjdjNmQxMzBk
ZDE3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTctMTEtMzAgIFN0ZXBoYW4gU3phYm8gIDxzdGVwaGFuLnN6YWJv
QHNvbnkuY29tPgorCisgICAgICAgIFN3aXRjaCB3aW5kb3dzIGJ1aWxkIHRvIFZpc3VhbCBTdHVk
aW8gMjAxNworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTcyNDEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBTY3JpcHRzL2J1aWxkLXdlYmtpdDoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdGRpcnMucG06
CisgICAgICAgICh2aXN1YWxTdHVkaW9JbnN0YWxsRGlyKToKKyAgICAgICAgKHZpc3VhbFN0dWRp
b0luc3RhbGxEaXJGYWxsYmFjayk6CisgICAgICAgIChtc0J1aWxkSW5zdGFsbERpcik6CisgICAg
ICAgIChzZXR1cEFwcGxlV2luRW52KToKKyAgICAgICAgKHNldHVwQ3lnd2luRW52KToKKyAgICAg
ICAgKGdlbmVyYXRlQnVpbGRTeXN0ZW1Gcm9tQ01ha2VQcm9qZWN0KToKKyAgICAgICAgKHBpY2tM
ZWdhY3lWaXN1YWxTdHVkaW9JbnN0YWxsYXRpb24pOiBEZWxldGVkLgorICAgICAgICAodmlzdWFs
U3R1ZGlvSW5zdGFsbERpckxlZ2FjeSk6IERlbGV0ZWQuCisgICAgICAgICh2aXN1YWxTdHVkaW9W
ZXJzaW9uKTogRGVsZXRlZC4KKyAgICAgICAgKHZpc3VhbFN0dWRpb1ZlcnNpb25Gcm9tSW5zdGFs
bERpcik6IERlbGV0ZWQuCisKIDIwMTctMTEtMjggIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBh
cHBsZS5jb20+CiAKICAgICAgICAgU3RvcCBzaWxlbmNpbmcgbGVha3MgaW4gVGV4dENvZGVjSUNV
OjpyZWdpc3RlckNvZGVjcywgYXMgdGhlIHByb2JsZW0gd2FzIGZpeGVkIGEgd2hpbGUgYWdvLgpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQgYi9Ub29scy9TY3JpcHRzL2J1
aWxkLXdlYmtpdAppbmRleCBjODI2YTAzOGU2My4uZmU2YjczZjVlZjIgMTAwNzU1Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CisrKyBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0
CkBAIC0yODgsNyArMjg4LDcgQEAgaWYgKGlzQXBwbGVXaW5XZWJLaXQoKSB8fCBpc1dpbkNhaXJv
KCkpIHsKIAogICAgIGNoZGlyV2ViS2l0KCk7CiAgICAgaWYgKGV4aXRTdGF0dXMoZ2VuZXJhdGVC
dWlsZFN5c3RlbUZyb21DTWFrZVByb2plY3QoJHByZWZpeFBhdGgsIEBjbWFrZUFyZ3MpKSkgewot
ICAgICAgICBkaWUgIlJ1biBcIkM6L1Byb2dyYW0gRmlsZXMgKHg4NikvTWljcm9zb2Z0IFZpc3Vh
bCBTdHVkaW8gMTQuMC9WQy92Y3ZhcnNhbGwuYmF0XCIgYmVmb3JlIGJ1aWxkLXdlYmtpdCB3aGVu
IHVzaW5nIG5pbmphIjsKKyAgICAgICAgZGllICJSdW4gVmlzdWFsIFN0dWRpbyAyMDE3IGluc3Rh
bGxhdGlvbiB2Y3ZhcnMuYmF0IGJlZm9yZSBidWlsZC13ZWJraXQgd2hlbiB1c2luZyBuaW5qYSI7
CiAgICAgfQogCiAgICAgZXhpdCAwIGlmIGlzR2VuZXJhdGVQcm9qZWN0T25seSgpOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRk
aXJzLnBtCmluZGV4IDE2ODJiYjliZjg4Li4zZjI2NDg3MWY5ZCAxMDA3NTUKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRkaXJzLnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQpA
QCAtMTYxLDcgKzE2MSw2IEBAIG15ICR3aW5kb3dzU291cmNlRGlyOwogbXkgJHdpblZlcnNpb247
CiBteSAkd2lsbFVzZVZDRXhwcmVzc1doZW5CdWlsZGluZyA9IDA7CiBteSAkdnNXaGVyZUZvdW5k
SW5zdGFsbGF0aW9uOwotbXkgJHZzV2hlcmVMZWdhY3lJbnN0YWxsYXRpb247CiAKICMgRGVmaW5l
ZCBpbiBWQ1NVdGlscy4KIHN1YiBleGl0U3RhdHVzKCQpOwpAQCAtNjM0LDM3ICs2MzMsNiBAQCBz
dWIgcGlja0N1cnJlbnRWaXN1YWxTdHVkaW9JbnN0YWxsYXRpb24KICAgICByZXR1cm4gdW5kZWY7
CiB9CiAKLXN1YiBwaWNrTGVnYWN5VmlzdWFsU3R1ZGlvSW5zdGFsbGF0aW9uCi17Ci0gICAgcmV0
dXJuICR2c1doZXJlTGVnYWN5SW5zdGFsbGF0aW9uIGlmIGRlZmluZWQgJHZzV2hlcmVMZWdhY3lJ
bnN0YWxsYXRpb247Ci0KLSAgICByZXF1aXJlTW9kdWxlc0ZvclZTV2hlcmUoKTsKLSAgICBkZXRl
cm1pbmVTb3VyY2VEaXIoKTsKLQotICAgIG15ICR2c1doZXJlT3V0ID0gYCRzb3VyY2VEaXIvV2Vi
S2l0TGlicmFyaWVzL3dpbi90b29scy92c3doZXJlIC1ub2xvZ28gLWxlZ2FjeSAtZm9ybWF0IGpz
b25gOwotICAgIG15ICRpbnN0YWxsYXRpb25zX2FsbCA9IFtdOwotICAgIGV2YWwgewotICAgICAg
ICAkaW5zdGFsbGF0aW9uc19hbGwgPSBKU09OOjpQUDo6ZGVjb2RlX2pzb24oRW5jb2RlOjplbmNv
ZGUoJ1VURi04JyA9PiBFbmNvZGU6OmRlY29kZShjb25zb2xlX2luID0+ICR2c1doZXJlT3V0KSkp
OwotICAgIH07Ci0gICAgcHJpbnQgIkVycm9yIGdldHRpbmcgVmlzdWFsIFN0dWRpbyBMZWdhY3kg
TG9jYXRpb246ICRAXG4iIGlmICRAOwotICAgIHVuZGVmICRAOwotCi0gICAgIyBJdCdzIHBvc3Np
YmxlIHRoYXQgYSBub24tbGVnYWN5IGluc3RhbGxhdGlvbiB3aXRob3V0IG1zYnVpbGQKLSAgICAj
IHdvdWxkIG5vdCBiZSBmb3VuZCBieSB0aGUgbGF0ZXN0LCBidXQgd291bGQgYmUgZm91bmQgYnkg
dGhpcwotICAgICMgdnN3aGVyZSBjYWxsLCBhbmQgd2Ugd2FudCB0byBza2lwIHRob3NlLCBzbyBj
aGVjayBmb3IgdmVyc2lvbnMKLSAgICAjIHdpdGggYW4gaW5zdGFsbGF0aW9uIHZlcnNpb24gYmVm
b3JlIDE1LjAuCi0gICAgbXkgQGluc3RhbGxhdGlvbnMgPSBncmVwIHsgJF8tPntpbnN0YWxsYXRp
b25WZXJzaW9ufSA8IDE1IH0gQCRpbnN0YWxsYXRpb25zX2FsbDsKLQotICAgICMgV2UgZG9uJ3Qg
Z2V0IG11Y2ggaW5mb3JtYXRpb24gdGhhdCB3b3VsZCBsZXQgdXMgY2hvb3NlIGJldHdlZW4KLSAg
ICAjIGxlZ2FjeSBpbnN0YWxsYXRpb25zLCBzbyB3ZSdsbCB0YWtlIHRoZSBmaXJzdC4KLSAgICBp
ZiAoc2NhbGFyIEBpbnN0YWxsYXRpb25zKSB7Ci0gICAgICAgIG15ICRpbnN0YWxsYXRpb24gPSAk
aW5zdGFsbGF0aW9uc1swXTsKLSAgICAgICAgJHZzV2hlcmVMZWdhY3lJbnN0YWxsYXRpb24gPSAk
aW5zdGFsbGF0aW9uOwotICAgICAgICByZXR1cm4gJGluc3RhbGxhdGlvbjsKLSAgICB9Ci0gICAg
cmV0dXJuIHVuZGVmOwotfQotCiBzdWIgdmlzdWFsU3R1ZGlvSW5zdGFsbERpcgogewogICAgIHJl
dHVybiAkdnNJbnN0YWxsRGlyIGlmIGRlZmluZWQgJHZzSW5zdGFsbERpcjsKQEAgLTY3NCwxMiAr
NjQyLDggQEAgc3ViIHZpc3VhbFN0dWRpb0luc3RhbGxEaXIKICAgICAgICAgJHZzSW5zdGFsbERp
ciA9fiBzfFtcXC9dJHx8OwogICAgIH0gZWxzZSB7CiAgICAgICAgICR2c0luc3RhbGxEaXIgPSB2
aXN1YWxTdHVkaW9JbnN0YWxsRGlyVlNXaGVyZSgpOwotICAgICAgICBpZiAobm90IC1lICR2c0lu
c3RhbGxEaXIpIHsKLSAgICAgICAgICAgICR2c0luc3RhbGxEaXIgPSB2aXN1YWxTdHVkaW9JbnN0
YWxsRGlyTGVnYWN5KCk7Ci0gICAgICAgIH0KICAgICAgICAgaWYgKG5vdCAtZSAkdnNJbnN0YWxs
RGlyKSB7CiAgICAgICAgICAgICAkdnNJbnN0YWxsRGlyID0gdmlzdWFsU3R1ZGlvSW5zdGFsbERp
ckZhbGxiYWNrKCk7Ci0gICAgICAgICAgICBwcmludCAiRmFsbGJhY2sgJHZzSW5zdGFsbERpclxu
IjsKICAgICAgICAgfQogICAgIH0KICAgICBjaG9tcCgkdnNJbnN0YWxsRGlyID0gYGN5Z3BhdGgg
IiR2c0luc3RhbGxEaXIiYCkgaWYgaXNDeWd3aW4oKTsKQEAgLTY5NywxNSArNjYxLDYgQEAgc3Vi
IHZpc3VhbFN0dWRpb0luc3RhbGxEaXJWU1doZXJlCiAgICAgcmV0dXJuIHVuZGVmOwogfQogCi1z
dWIgdmlzdWFsU3R1ZGlvSW5zdGFsbERpckxlZ2FjeQotewotICAgIHBpY2tMZWdhY3lWaXN1YWxT
dHVkaW9JbnN0YWxsYXRpb24oKTsKLSAgICBpZiAoZGVmaW5lZCgkdnNXaGVyZUxlZ2FjeUluc3Rh
bGxhdGlvbikpIHsKLSAgICAgICAgcmV0dXJuICR2c1doZXJlTGVnYWN5SW5zdGFsbGF0aW9uLT57
aW5zdGFsbGF0aW9uUGF0aH07Ci0gICAgfQotICAgIHJldHVybiB1bmRlZjsKLX0KLQogc3ViIHZp
c3VhbFN0dWRpb0luc3RhbGxEaXJGYWxsYmFjawogewogICAgIGZvcmVhY2ggbXkgJHByb2R1Y3RU
eXBlICgoCkBAIC03MjEsMjIgKzY3NiwxNiBAQCBzdWIgdmlzdWFsU3R1ZGlvSW5zdGFsbERpckZh
bGxiYWNrCiAgICAgICAgICAgICByZXR1cm4gJGluc3RhbGxkaXI7CiAgICAgICAgIH0KICAgICB9
Ci0gICAgcmV0dXJuIEZpbGU6OlNwZWMtPmNhdGRpcihwcm9ncmFtRmlsZXNQYXRoWDg2KCksICJN
aWNyb3NvZnQgVmlzdWFsIFN0dWRpbyAxNC4wIik7CisgICAgcmV0dXJuIHVuZGVmOwogfQogCiBz
dWIgbXNCdWlsZEluc3RhbGxEaXIKIHsKICAgICByZXR1cm4gJG1zQnVpbGRJbnN0YWxsRGlyIGlm
IGRlZmluZWQgJG1zQnVpbGRJbnN0YWxsRGlyOwogCi0gICAgbXkgJHZlcnNpb24gPSB2aXN1YWxT
dHVkaW9WZXJzaW9uKCk7Ci0gICAgaWYgKCR2ZXJzaW9uID49IDE1LjApIHsKLSAgICAgICAgbXkg
JGluc3RhbGxEaXIgPSB2aXN1YWxTdHVkaW9JbnN0YWxsRGlyKCk7Ci0gICAgICAgICRtc0J1aWxk
SW5zdGFsbERpciA9IEZpbGU6OlNwZWMtPmNhdGRpcigkaW5zdGFsbERpciwKLSAgICAgICAgICAg
ICJNU0J1aWxkIiwgJHZlcnNpb24sICJiaW4iKTsKLSAgICB9IGVsc2UgewotICAgICAgICAkbXNC
dWlsZEluc3RhbGxEaXIgPSBGaWxlOjpTcGVjLT5jYXRkaXIocHJvZ3JhbUZpbGVzUGF0aFg4Nigp
LCAKLSAgICAgICAgICAgICJNU0J1aWxkIiwgIjE0LjAiLCAiQmluIikKLSAgICB9CisgICAgbXkg
JGluc3RhbGxEaXIgPSB2aXN1YWxTdHVkaW9JbnN0YWxsRGlyKCk7CisgICAgJG1zQnVpbGRJbnN0
YWxsRGlyID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKCRpbnN0YWxsRGlyLAorICAgICAgICAiTVNCdWls
ZCIsICIxNS4wIiwgImJpbiIpOwogCiAgICAgY2hvbXAoJG1zQnVpbGRJbnN0YWxsRGlyID0gYGN5
Z3BhdGggIiRtc0J1aWxkSW5zdGFsbERpciJgKSBpZiBpc0N5Z3dpbigpOwogCkBAIC03NDQsMzUg
KzY5Myw2IEBAIHN1YiBtc0J1aWxkSW5zdGFsbERpcgogICAgIHJldHVybiAkbXNCdWlsZEluc3Rh
bGxEaXI7CiB9CiAKLXN1YiB2aXN1YWxTdHVkaW9WZXJzaW9uCi17Ci0gICAgcmV0dXJuICR2c1Zl
cnNpb24gaWYgZGVmaW5lZCAkdnNWZXJzaW9uOwotCi0gICAgbXkgJGluc3RhbGxEaXIgPSB2aXN1
YWxTdHVkaW9JbnN0YWxsRGlyKCk7Ci0gICAgJHZzVmVyc2lvbiA9IHZpc3VhbFN0dWRpb1ZlcnNp
b25Gcm9tSW5zdGFsbERpcigkaW5zdGFsbERpcik7Ci0KLSAgICBwcmludCAiVXNpbmcgVmlzdWFs
IFN0dWRpbyAkdnNWZXJzaW9uXG4iOwotICAgIHJldHVybiAkdnNWZXJzaW9uOwotfQotCi1zdWIg
dmlzdWFsU3R1ZGlvVmVyc2lvbkZyb21JbnN0YWxsRGlyCi17Ci0gICAgbXkgKCRkaXIpID0gQF87
Ci0gICAgbXkgJHZlcnNpb247Ci0KLSAgICBpZiAoJGRpciA9fiBtfE1pY3Jvc29mdCBWaXN1YWwg
U3R1ZGlvWy9cXF0yMDE3fCkgewotICAgICAgICAkdmVyc2lvbiA9ICIxNS4wIjsKLSAgICB9Ci0K
LSAgICBpZiAoIWRlZmluZWQoJHZlcnNpb24pKSB7Ci0gICAgICAgIGlmICgkZGlyID1+IC9NaWNy
b3NvZnQgVmlzdWFsIFN0dWRpbyAoWzAtOV0rXC5bMC05XSopLykgewotICAgICAgICAgICAgJHZl
cnNpb24gPSAkMTsKLSAgICAgICAgfQotICAgIH0KLQotICAgIHJldHVybiAkdmVyc2lvbjsKLX0K
LQogc3ViIGRldGVybWluZUNvbmZpZ3VyYXRpb25Gb3JWaXN1YWxTdHVkaW8KIHsKICAgICByZXR1
cm4gaWYgZGVmaW5lZCAkY29uZmlndXJhdGlvbkZvclZpc3VhbFN0dWRpbzsKQEAgLTE4NTgsMTMg
KzE3NzgsMTMgQEAgc3ViIHNldHVwQXBwbGVXaW5FbnYoKQogICAgIH0gZWxzZSB7CiAgICAgICAg
IGlmICghZGVmaW5lZCAkRU5WeydXRUJLSVRfTElCUkFSSUVTJ30gfHwgISRFTlZ7J1dFQktJVF9M
SUJSQVJJRVMnfSkgewogICAgICAgICAgICAgcHJpbnQgIldhcm5pbmc6IFlvdSBtdXN0IHNldCB0
aGUgJ1dlYktpdF9MaWJyYXJpZXMnIGVudmlyb25tZW50IHZhcmlhYmxlXG4iOwotICAgICAgICAg
ICAgcHJpbnQgIiAgICAgICAgIHRvIGJlIGFibGUgYnVpbGQgV2ViS2l0IGZyb20gd2l0aGluIFZp
c3VhbCBTdHVkaW8gMjAxMyBhbmQgbmV3ZXIuXG4iOworICAgICAgICAgICAgcHJpbnQgIiAgICAg
ICAgIHRvIGJlIGFibGUgYnVpbGQgV2ViS2l0IGZyb20gd2l0aGluIFZpc3VhbCBTdHVkaW8gMjAx
NyBhbmQgbmV3ZXIuXG4iOwogICAgICAgICAgICAgcHJpbnQgIiAgICAgICAgIE1ha2Ugc3VyZSB0
aGF0ICdXZWJLaXRfTGlicmFyaWVzJyBwb2ludHMgdG8gdGhlXG4iOwogICAgICAgICAgICAgcHJp
bnQgIiAgICAgICAgICdXZWJLaXRMaWJyYXJpZXMvd2luJyBkaXJlY3RvcnksIG5vdCB0aGUgJ1dl
YktpdExpYnJhcmllcy8nIGRpcmVjdG9yeS5cblxuIjsKICAgICAgICAgfQogICAgICAgICBpZiAo
IWRlZmluZWQgJEVOVnsnV0VCS0lUX09VVFBVVERJUid9IHx8ICEkRU5WeydXRUJLSVRfT1VUUFVU
RElSJ30pIHsKICAgICAgICAgICAgIHByaW50ICJXYXJuaW5nOiBZb3UgbXVzdCBzZXQgdGhlICdX
ZWJLaXRfT3V0cHV0RGlyJyBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIjsKLSAgICAgICAgICAgIHBy
aW50ICIgICAgICAgICB0byBiZSBhYmxlIGJ1aWxkIFdlYktpdCBmcm9tIHdpdGhpbiBWaXN1YWwg
U3R1ZGlvIDIwMTMgYW5kIG5ld2VyLlxuXG4iOworICAgICAgICAgICAgcHJpbnQgIiAgICAgICAg
IHRvIGJlIGFibGUgYnVpbGQgV2ViS2l0IGZyb20gd2l0aGluIFZpc3VhbCBTdHVkaW8gMjAxNyBh
bmQgbmV3ZXIuXG5cbiI7CiAgICAgICAgIH0KICAgICAgICAgaWYgKCFkZWZpbmVkICRFTlZ7J01T
QlVJTERESVNBQkxFTk9ERVJFVVNFJ30gfHwgISRFTlZ7J01TQlVJTERESVNBQkxFTk9ERVJFVVNF
J30pIHsKICAgICAgICAgICAgIHByaW50ICJXYXJuaW5nOiBZb3Ugc2hvdWxkIHNldCB0aGUgJ01T
QlVJTERESVNBQkxFTk9ERVJFVVNFJyBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byAnMSdcbiI7CkBA
IC0xODg1LDE5ICsxODA1LDE0IEBAIHN1YiBzZXR1cEN5Z3dpbkVudigpCiAKICAgICBteSAkcHJv
Z3JhbUZpbGVzUGF0aCA9IHByb2dyYW1GaWxlc1BhdGgoKTsKICAgICBteSAkdmlzdWFsU3R1ZGlv
UGF0aCA9IEZpbGU6OlNwZWMtPmNhdGZpbGUodmlzdWFsU3R1ZGlvSW5zdGFsbERpcigpLCBxdyhD
b21tb243IElERSBkZXZlbnYuY29tKSk7Ci0gICAgaWYgKC1lICR2aXN1YWxTdHVkaW9QYXRoKSB7
Ci0gICAgICAgICMgVmlzdWFsIFN0dWRpbyBpcyBpbnN0YWxsZWQ7Ci0gICAgICAgIGlmICh2aXN1
YWxTdHVkaW9WZXJzaW9uKCkgZXEgIjEyIikgewotICAgICAgICAgICAgJHZpc3VhbFN0dWRpb1Bh
dGggPSBGaWxlOjpTcGVjLT5jYXRmaWxlKHZpc3VhbFN0dWRpb0luc3RhbGxEaXIoKSwgcXcoQ29t
bW9uNyBJREUgZGV2ZW52LmV4ZSkpOwotICAgICAgICB9Ci0gICAgfSBlbHNlIHsKKyAgICBpZiAo
IS1lICR2aXN1YWxTdHVkaW9QYXRoKSB7CiAgICAgICAgICMgVmlzdWFsIFN0dWRpbyBub3QgZm91
bmQsIHRyeSBWQysrIEV4cHJlc3MKICAgICAgICAgJHZpc3VhbFN0dWRpb1BhdGggPSBGaWxlOjpT
cGVjLT5jYXRmaWxlKHZpc3VhbFN0dWRpb0luc3RhbGxEaXIoKSwgcXcoQ29tbW9uNyBJREUgV0RF
eHByZXNzLmV4ZSkpOwogICAgICAgICBpZiAoISAtZSAkdmlzdWFsU3R1ZGlvUGF0aCkgewogICAg
ICAgICAgICAgcHJpbnQgIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKipcbiI7CiAgICAgICAgICAgICBwcmludCAiQ2Fubm90IGZpbmQg
JyR2aXN1YWxTdHVkaW9QYXRoJ1xuIjsKICAgICAgICAgICAgIHByaW50ICJQbGVhc2UgZXhlY3V0
ZSB0aGUgZmlsZSAndmN2YXJzMzIuYmF0JyBmcm9tXG4iOwotICAgICAgICAgICAgcHJpbnQgIick
cHJvZ3JhbUZpbGVzUGF0aFxcTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8gMTQuMFxcVkNcXGJpblxc
J1xuIjsKKyAgICAgICAgICAgIHByaW50ICJ5b3VyIFZpc3VhbCBTdHVkaW8gMjAxNyBpbnN0YWxs
YXRpb25cbiI7CiAgICAgICAgICAgICBwcmludCAidG8gc2V0dXAgdGhlIG5lY2Vzc2FyeSBlbnZp
cm9ubWVudCB2YXJpYWJsZXMuXG4iOwogICAgICAgICAgICAgcHJpbnQgIioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiI7CiAgICAg
ICAgICAgICBkaWU7CkBAIC0yMjI0LDExICsyMTM5LDcgQEAgc3ViIGdlbmVyYXRlQnVpbGRTeXN0
ZW1Gcm9tQ01ha2VQcm9qZWN0CiAgICAgICAgICAgICBwdXNoIEBhcmdzLCAiTmluamEiOwogICAg
ICAgICB9CiAgICAgfSBlbHNpZiAoaXNBbnlXaW5kb3dzKCkgJiYgaXNXaW42NCgpKSB7Ci0gICAg
ICAgIGlmICh2aXN1YWxTdHVkaW9WZXJzaW9uKCkgPj0gMTUpIHsKLSAgICAgICAgICAgIHB1c2gg
QGFyZ3MsICctRyAiVmlzdWFsIFN0dWRpbyAxNSAyMDE3IFdpbjY0Iic7Ci0gICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICBwdXNoIEBhcmdzLCAnLUcgIlZpc3VhbCBTdHVkaW8gMTQgMjAxNSBX
aW42NCInOwotICAgICAgICB9CisgICAgICAgIHB1c2ggQGFyZ3MsICctRyAiVmlzdWFsIFN0dWRp
byAxNSAyMDE3IFdpbjY0Iic7CiAgICAgfQogICAgICMgRG8gbm90IHNob3cgcHJvZ3Jlc3Mgb2Yg
Z2VuZXJhdGluZyBiaW5kaW5ncyBpbiBpbnRlcmFjdGl2ZSBOaW5qYSBidWlsZCBub3QgdG8gbGVh
dmUgbm9pc3kgbGluZXMgb24gdHR5CiAgICAgcHVzaCBAYXJncywgJy1EU0hPV19CSU5ESU5HU19H
RU5FUkFUSU9OX1BST0dSRVNTPTEnIHVubGVzcyAoJHdpbGxVc2VOaW5qYSAmJiAtdCBTVERPVVQp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328508</attachid>
            <date>2017-12-05 14:59:54 -0800</date>
            <delta_ts>2017-12-05 16:06:12 -0800</delta_ts>
            <desc>Require VS2017 for building</desc>
            <filename>172412-4.diff</filename>
            <type>text/plain</type>
            <size>18744</size>
            <attacher name="Stephan Szabo">stephan.szabo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBjMDhmOWRjYjJmNS4uMjFh
YjY1NWViNzQgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMiBAQAorMjAxNy0xMi0wNSAgU3RlcGhhbiBTemFibyAgPHN0ZXBoYW4uc3phYm9Ac29ueS5j
b20+CisKKyAgICAgICAgU3dpdGNoIHdpbmRvd3MgYnVpbGQgdG8gVmlzdWFsIFN0dWRpbyAyMDE3
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzI0MTIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNvdXJj
ZS9jbWFrZS9PcHRpb25zTVNWQy5jbWFrZToKKwogMjAxNy0xMi0wMSAgS29uc3RhbnRpbiBUb2th
cmV2ICA8YW5udWxlbkB5YW5kZXgucnU+CiAKICAgICAgICAgW2NtYWtlXSBNYWtlIGRlc2NyaXB0
aW9uIG9mIEVOQUJMRV9EUkFHX1NVUFBPUlQgbW9yZSBpbmZvcm1hdGl2ZQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKaW5kZXggYTBkZjhiNGEzNjIuLjkyMTZhNTI5YzAxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNy0xMi0wNSAgU3RlcGhhbiBTemFibyAgPHN0
ZXBoYW4uc3phYm9Ac29ueS5jb20+CisKKyAgICAgICAgU3dpdGNoIHdpbmRvd3MgYnVpbGQgdG8g
VmlzdWFsIFN0dWRpbyAyMDE3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzI0MTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUucHJvajoK
KwogMjAxNy0xMi0wNCAgRGF2aWQgUXVlc2FkYSAgPGRhdmlkX3F1ZXNhZGFAYXBwbGUuY29tPgog
CiAgICAgICAgIEFkZCBhIGNsYXNzIGZvciBwYXJzaW5nIGFwcGxpY2F0aW9uIG1hbmlmZXN0cwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ov
SmF2YVNjcmlwdENvcmUucHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnByb2oKaW5kZXggNGMxZDg1NmNiYTEuLjc1MjdhYjE2
Yzk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4
cHJvai9KYXZhU2NyaXB0Q29yZS5wcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnByb2oKQEAgLTU0LDkgKzU0LDkgQEAK
ICAgPFRhcmdldCBOYW1lPSJCdWlsZCIgQWZ0ZXJUYXJnZXRzPSJQcmVCdWlsZCI+DQogICAgIDxN
ZXNzYWdlIFRleHQ9IkJ1aWxkaW5nICQoQ09ORklHVVJBVElPTikgU29sdXRpb24iIC8+DQogICAg
IDxFcnJvciBUZXh0PSJEU1RST09UIHByb3BlcnR5IG9yIGVudmlyb25tZW50IHZhcmlhYmxlIG11
c3QgYmUgZGVmaW5lZC4iIENvbmRpdGlvbj0iJyQoRFNUUk9PVCknID09ICcnIiAvPg0KLQk8RXhl
YyBDb21tYW5kPSIkKENNYWtlQ29tbWFuZENvbW1vbikgLURXVEZfQ1BVX1g4Nj0xIC1HICZxdW90
O1Zpc3VhbCBTdHVkaW8gMTQgMjAxNSZxdW90OyIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09U
KS8kKENPTkZJRykvYnVpbGQzMiIvPg0KKwk8RXhlYyBDb21tYW5kPSIkKENNYWtlQ29tbWFuZENv
bW1vbikgLURXVEZfQ1BVX1g4Nj0xIC1HICZxdW90O1Zpc3VhbCBTdHVkaW8gMTUgMjAxNyZxdW90
OyIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJRykvYnVpbGQzMiIvPg0KIAk8
RXhlYyBDb21tYW5kPSJtc2J1aWxkIFByb2plY3Quc2xuIC9wOkNvbmZpZ3VyYXRpb249JChDT05G
SUcpIiBXb3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklHKS9idWlsZDMyIi8+DQot
CTxFeGVjIENvbW1hbmQ9IiQoQ01ha2VDb21tYW5kQ29tbW9uKSAtRFdURl9DUFVfWDg2XzY0PTEg
LUcgJnF1b3Q7VmlzdWFsIFN0dWRpbyAxNCAyMDE1IFdpbjY0JnF1b3Q7IiBXb3JraW5nRGlyZWN0
b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklHKS9idWlsZDY0Ii8+DQorCTxFeGVjIENvbW1hbmQ9IiQo
Q01ha2VDb21tYW5kQ29tbW9uKSAtRFdURl9DUFVfWDg2XzY0PTEgLUcgJnF1b3Q7VmlzdWFsIFN0
dWRpbyAxNSAyMDE3IFdpbjY0JnF1b3Q7IiBXb3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQo
Q09ORklHKS9idWlsZDY0Ii8+DQogCTxFeGVjIENvbW1hbmQ9Im1zYnVpbGQgUHJvamVjdC5zbG4g
L3A6Q29uZmlndXJhdGlvbj0kKENPTkZJRykiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkv
JChDT05GSUcpL2J1aWxkNjQiLz4NCiAgIDwvVGFyZ2V0Pg0KIA0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggY2VmN2NlMGQ3YjYu
LjlhNWI0OTg5OTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE3LTEyLTA1ICBTdGVwaGFuIFN6
YWJvICA8c3RlcGhhbi5zemFib0Bzb255LmNvbT4KKworICAgICAgICBTd2l0Y2ggd2luZG93cyBi
dWlsZCB0byBWaXN1YWwgU3R1ZGlvIDIwMTcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3MjQxMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV1RGLnZjeHByb2ovV1RGLnByb2o6CisgICAgICAgICogd3Rm
L0NvbXBpbGVyLmg6CisKIDIwMTctMTItMDQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CiAKICAgICAgICAgTWlub3IgRGlzcGxheVJlZnJlc2hNb25pdG9yLXJlbGF0ZWQg
Y2xlYW51cApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYucHJvaiBiL1Nv
dXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnByb2oKaW5kZXggOGVhZjllYWYzNmIuLjUyOTE2NThm
MDQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi5wcm9qCisrKyBiL1Nv
dXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnByb2oKQEAgLTQ2LDkgKzQ2LDkgQEAKICAgPFRhcmdl
dCBOYW1lPSJCdWlsZCIgQWZ0ZXJUYXJnZXRzPSJQcmVCdWlsZCI+DQogICAgIDxNZXNzYWdlIFRl
eHQ9IkJ1aWxkaW5nICQoQ09ORklHVVJBVElPTikgU29sdXRpb24iIC8+DQogICAgIDxFcnJvciBU
ZXh0PSJEU1RST09UIHByb3BlcnR5IG9yIGVudmlyb25tZW50IHZhcmlhYmxlIG11c3QgYmUgZGVm
aW5lZC4iIENvbmRpdGlvbj0iJyQoRFNUUk9PVCknID09ICcnIiAvPg0KLQk8RXhlYyBDb21tYW5k
PSIkKENNYWtlQ29tbWFuZENvbW1vbikgLURXVEZfQ1BVX1g4Nj0xIC1HICZxdW90O1Zpc3VhbCBT
dHVkaW8gMTQgMjAxNSZxdW90OyIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJ
RykvYnVpbGQzMiIvPg0KKwk8RXhlYyBDb21tYW5kPSIkKENNYWtlQ29tbWFuZENvbW1vbikgLURX
VEZfQ1BVX1g4Nj0xIC1HICZxdW90O1Zpc3VhbCBTdHVkaW8gMTUgMjAxNyZxdW90OyIgV29ya2lu
Z0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJRykvYnVpbGQzMiIvPg0KIAk8RXhlYyBDb21t
YW5kPSJtc2J1aWxkIFByb2plY3Quc2xuIC9wOkNvbmZpZ3VyYXRpb249JChDT05GSUcpIiBXb3Jr
aW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklHKS9idWlsZDMyIi8+DQotCTxFeGVjIENv
bW1hbmQ9IiQoQ01ha2VDb21tYW5kQ29tbW9uKSAtRFdURl9DUFVfWDg2XzY0PTEgLUcgJnF1b3Q7
VmlzdWFsIFN0dWRpbyAxNCAyMDE1IFdpbjY0JnF1b3Q7IiBXb3JraW5nRGlyZWN0b3J5PSIkKE9C
SlJPT1QpLyQoQ09ORklHKS9idWlsZDY0Ii8+DQorCTxFeGVjIENvbW1hbmQ9IiQoQ01ha2VDb21t
YW5kQ29tbW9uKSAtRFdURl9DUFVfWDg2XzY0PTEgLUcgJnF1b3Q7VmlzdWFsIFN0dWRpbyAxNSAy
MDE3IFdpbjY0JnF1b3Q7IiBXb3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklHKS9i
dWlsZDY0Ii8+DQogCTxFeGVjIENvbW1hbmQ9Im1zYnVpbGQgUHJvamVjdC5zbG4gL3A6Q29uZmln
dXJhdGlvbj0kKENPTkZJRykiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChDT05GSUcp
L2J1aWxkNjQiLz4NCiAgIDwvVGFyZ2V0Pg0KIA0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L0NvbXBpbGVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oCmluZGV4IDY5NzUyMzQ1Y2Uz
Li5jZWIzNWRiNTZlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oCkBAIC0xMzAsOCArMTMwLDggQEAKICNkZWZpbmUg
V1RGX0NPTVBJTEVSX01TVkMgMQogI2RlZmluZSBXVEZfQ09NUElMRVJfU1VQUE9SVFNfQ1hYX1JF
RkVSRU5DRV9RVUFMSUZJRURfRlVOQ1RJT05TIDEKIAotI2lmIF9NU0NfVkVSIDwgMTkwMAotI2Vy
cm9yICJQbGVhc2UgdXNlIGEgbmV3ZXIgdmVyc2lvbiBvZiBWaXN1YWwgU3R1ZGlvLiBXZWJLaXQg
cmVxdWlyZXMgVlMyMDE1IG9yIG5ld2VyIHRvIGNvbXBpbGUuIgorI2lmIF9NU0NfVkVSIDwgMTkx
MAorI2Vycm9yICJQbGVhc2UgdXNlIGEgbmV3ZXIgdmVyc2lvbiBvZiBWaXN1YWwgU3R1ZGlvLiBX
ZWJLaXQgcmVxdWlyZXMgVlMyMDE3IG9yIG5ld2VyIHRvIGNvbXBpbGUuIgogI2VuZGlmCiAKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IGEyM2NhZjJlMTI5Li45MjkwMmU2NWQxOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE0IEBACisyMDE3LTEyLTA1ICBTdGVwaGFuIFN6YWJvICA8c3RlcGhhbi5zemFi
b0Bzb255LmNvbT4KKworICAgICAgICBTd2l0Y2ggd2luZG93cyBidWlsZCB0byBWaXN1YWwgU3R1
ZGlvIDIwMTcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3MjQxMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE9ubHkgY2hhbmdlcyBwcm9qIGZpbGUgdG8gdXBkYXRlIGdlbmVyYXRvcgorCisgICAgICAgICog
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUucHJvajoKKwogMjAxNy0xMi0wNCAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFN1cHBvcnQgY29udGFpbmVyLmdldFJlZ2lz
dHJhdGlvbigpIC8gZ2V0UmVnaXN0cmF0aW9ucygpIGluc2lkZSBzZXJ2aWNlIHdvcmtlcnMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS5wcm9qCmluZGV4IDI3NTY5ZDc4
OGI1Li5hNjZmZWNmOTk2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUucHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS5wcm9qCkBAIC01NCw5ICs1NCw5IEBACiAgIDxUYXJnZXQgTmFtZT0iQnVpbGQiIEFmdGVy
VGFyZ2V0cz0iUHJlQnVpbGQiPg0KICAgICA8TWVzc2FnZSBUZXh0PSJCdWlsZGluZyAkKENPTkZJ
R1VSQVRJT04pIFNvbHV0aW9uIiAvPg0KICAgICA8RXJyb3IgVGV4dD0iRFNUUk9PVCBwcm9wZXJ0
eSBvciBlbnZpcm9ubWVudCB2YXJpYWJsZSBtdXN0IGJlIGRlZmluZWQuIiBDb25kaXRpb249Iick
KERTVFJPT1QpJyA9PSAnJyIgLz4NCi0JPEV4ZWMgQ29tbWFuZD0iJChDTWFrZUNvbW1hbmRDb21t
b24pIC1EV1RGX0NQVV9YODY9MSAtRyAmcXVvdDtWaXN1YWwgU3R1ZGlvIDE0IDIwMTUmcXVvdDsi
IFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChDT05GSUcpL2J1aWxkMzIiLz4NCisJPEV4
ZWMgQ29tbWFuZD0iJChDTWFrZUNvbW1hbmRDb21tb24pIC1EV1RGX0NQVV9YODY9MSAtRyAmcXVv
dDtWaXN1YWwgU3R1ZGlvIDE1IDIwMTcmcXVvdDsiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9P
VCkvJChDT05GSUcpL2J1aWxkMzIiLz4NCiAJPEV4ZWMgQ29tbWFuZD0ibXNidWlsZCBQcm9qZWN0
LnNsbiAvcDpDb25maWd1cmF0aW9uPSQoQ09ORklHKSIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpS
T09UKS8kKENPTkZJRykvYnVpbGQzMiIvPg0KLQk8RXhlYyBDb21tYW5kPSIkKENNYWtlQ29tbWFu
ZENvbW1vbikgLURXVEZfQ1BVX1g4Nl82ND0xIC1HICZxdW90O1Zpc3VhbCBTdHVkaW8gMTQgMjAx
NSBXaW42NCZxdW90OyIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJRykvYnVp
bGQ2NCIvPg0KKwk8RXhlYyBDb21tYW5kPSIkKENNYWtlQ29tbWFuZENvbW1vbikgLURXVEZfQ1BV
X1g4Nl82ND0xIC1HICZxdW90O1Zpc3VhbCBTdHVkaW8gMTUgMjAxNyBXaW42NCZxdW90OyIgV29y
a2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJRykvYnVpbGQ2NCIvPg0KIAk8RXhlYyBD
b21tYW5kPSJtc2J1aWxkIFByb2plY3Quc2xuIC9wOkNvbmZpZ3VyYXRpb249JChDT05GSUcpIiBX
b3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklHKS9idWlsZDY0Ii8+DQogICA8L1Rh
cmdldD4NCiANCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCmluZGV4IGI1YmJkNmI0YTM0Li5kNmZhNzIzOWY2
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNy0xMi0wNSAgU3Rl
cGhhbiBTemFibyAgPHN0ZXBoYW4uc3phYm9Ac29ueS5jb20+CisKKyAgICAgICAgU3dpdGNoIHdp
bmRvd3MgYnVpbGQgdG8gVmlzdWFsIFN0dWRpbyAyMDE3CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzI0MTIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdExlZ2FjeS52Y3hwcm9qL1dlYktpdExl
Z2FjeS5wcm9qOgorCiAyMDE3LTExLTI3ICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAc29u
eS5jb20+CiAKICAgICAgICAgW0NNYWtlXVtXaW5dIENvbmRpdGlvbmFsbHkgc2VsZWN0IERMTCBD
UlQgb3Igc3RhdGljIENSVApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9XZWJLaXRM
ZWdhY3kudmN4cHJvai9XZWJLaXRMZWdhY3kucHJvaiBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvV2Vi
S2l0TGVnYWN5LnZjeHByb2ovV2ViS2l0TGVnYWN5LnByb2oKaW5kZXggZTQxMDFmYzUyNDQuLjQ0
ZWY1MzE2MmIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYktpdExlZ2FjeS52
Y3hwcm9qL1dlYktpdExlZ2FjeS5wcm9qCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvV2ViS2l0
TGVnYWN5LnZjeHByb2ovV2ViS2l0TGVnYWN5LnByb2oKQEAgLTU0LDkgKzU0LDkgQEAKICAgPFRh
cmdldCBOYW1lPSJCdWlsZCIgQWZ0ZXJUYXJnZXRzPSJQcmVCdWlsZCI+DQogICAgIDxNZXNzYWdl
IFRleHQ9IkJ1aWxkaW5nICQoQ09ORklHVVJBVElPTikgU29sdXRpb24iIC8+DQogICAgIDxFcnJv
ciBUZXh0PSJEU1RST09UIHByb3BlcnR5IG9yIGVudmlyb25tZW50IHZhcmlhYmxlIG11c3QgYmUg
ZGVmaW5lZC4iIENvbmRpdGlvbj0iJyQoRFNUUk9PVCknID09ICcnIiAvPg0KLQk8RXhlYyBDb21t
YW5kPSIkKENNYWtlQ29tbWFuZENvbW1vbikgLURXVEZfQ1BVX1g4Nj0xIC1HICZxdW90O1Zpc3Vh
bCBTdHVkaW8gMTQgMjAxNSZxdW90OyIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENP
TkZJRykvYnVpbGQzMiIvPg0KKwk8RXhlYyBDb21tYW5kPSIkKENNYWtlQ29tbWFuZENvbW1vbikg
LURXVEZfQ1BVX1g4Nj0xIC1HICZxdW90O1Zpc3VhbCBTdHVkaW8gMTUgMjAxNyZxdW90OyIgV29y
a2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJRykvYnVpbGQzMiIvPg0KIAk8RXhlYyBD
b21tYW5kPSJtc2J1aWxkIFByb2plY3Quc2xuIC9wOkNvbmZpZ3VyYXRpb249JChDT05GSUcpIiBX
b3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklHKS9idWlsZDMyIi8+DQotCTxFeGVj
IENvbW1hbmQ9IiQoQ01ha2VDb21tYW5kQ29tbW9uKSAtRFdURl9DUFVfWDg2XzY0PTEgLUcgJnF1
b3Q7VmlzdWFsIFN0dWRpbyAxNCAyMDE1IFdpbjY0JnF1b3Q7IiBXb3JraW5nRGlyZWN0b3J5PSIk
KE9CSlJPT1QpLyQoQ09ORklHKS9idWlsZDY0Ii8+DQorCTxFeGVjIENvbW1hbmQ9IiQoQ01ha2VD
b21tYW5kQ29tbW9uKSAtRFdURl9DUFVfWDg2XzY0PTEgLUcgJnF1b3Q7VmlzdWFsIFN0dWRpbyAx
NSAyMDE3IFdpbjY0JnF1b3Q7IiBXb3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklH
KS9idWlsZDY0Ii8+DQogCTxFeGVjIENvbW1hbmQ9Im1zYnVpbGQgUHJvamVjdC5zbG4gL3A6Q29u
ZmlndXJhdGlvbj0kKENPTkZJRykiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChDT05G
SUcpL2J1aWxkNjQiLz4NCiAgIDwvVGFyZ2V0Pg0KIA0KZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFr
ZS9PcHRpb25zTVNWQy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zTVNWQy5jbWFrZQppbmRl
eCBmZDI1YmQ0Zjg1NC4uN2YzNzhmZjhhYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRp
b25zTVNWQy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc01TVkMuY21ha2UKQEAgLTk3
LDEwICs5NywxMSBAQCBzdHJpbmcoUkVQTEFDRSAiSU5DUkVNRU5UQUw6WUVTIiAiSU5DUkVNRU5U
QUw6Tk8iIHJlcGxhY2VfQ01BS0VfRVhFX0xJTktFUl9GTEFHUwogc2V0KENNQUtFX0VYRV9MSU5L
RVJfRkxBR1NfUkVMV0lUSERFQklORk8gIiR7cmVwbGFjZV9DTUFLRV9FWEVfTElOS0VSX0ZMQUdT
X1JFTFdJVEhERUJJTkZPfSAvSU5DUkVNRU5UQUw6Tk8iKQogCiBpZiAoQ09NUElMRVJfSVNfQ0xB
TkdfQ0wpCi0gICAgIyBGSVhNRTogV2UgbmVlZCB0byBzZXQgdGhlIG1zYy12ZXJzaW9uIGFib3Zl
IHRoZSBvbmUgaXQgZGVmYXVsdHMgdG8KLSAgICAjIHdoZW4gdXNpbmcgY2xhbmctY2wgd2l0aCBW
UzIwMTUuIFRoaXMgbWlnaHQgYmUgdW5uZWNlc3Nhcnkgd2hlbiBtb3ZpbmcgdG8KLSAgICAjIFZT
MjAxNyBhcyBwYXJ0IG9mIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzI0MTIKLSAgICBhZGRfY29tcGlsZV9vcHRpb25zKC1mbXNjLXZlcnNpb249MTkwMDIzOTE4KQor
ICAgICMgRklYTUU6IFRoZSBjbGFuZy1jbCB2aXN1YWwgc3R1ZGlvIGludGVncmF0aW9uIHNlZW1l
ZCB0byBzZXQKKyAgICAjIHRoaXMgdG8gMTkwMCBleHBsaWNpdGx5IGV2ZW4gd2hlbiBidWlsZGlu
ZyBpbiBWUzIwMTcgd2l0aCB0aGUKKyAgICAjIG5ld2VzdCB0b29sc2V0IG9wdGlvbiwgYnV0IHdl
IHdhbnQgdG8gYmUgdmVyc2lvbmVkIHRvIG1hdGNoCisgICAgIyBWUzIwMTcuCisgICAgYWRkX2Nv
bXBpbGVfb3B0aW9ucygtZm1zYy12ZXJzaW9uPTE5MTEpCiAKICAgICAjIEZJWE1FOiBCdWlsZGlu
ZyB3aXRoIGNsYW5nLWNsIHNlZW1lZCB0byBmYWlsIHdpdGggMTI4IGJpdCBpbnQgc3VwcG9ydAog
ICAgIHNldChIQVZFX0lOVDEyOF9UIE9GRikKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzYWMzZGU2YjUzNi4uZTJkMTQ4YmE3NDYgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBA
QAorMjAxNy0xMi0wNSAgU3RlcGhhbiBTemFibyAgPHN0ZXBoYW4uc3phYm9Ac29ueS5jb20+CisK
KyAgICAgICAgU3dpdGNoIHdpbmRvd3MgYnVpbGQgdG8gVmlzdWFsIFN0dWRpbyAyMDE3CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzI0MTIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvYnVp
bGQtd2Via2l0OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0ZGlycy5wbToKKyAgICAgICAgKHZp
c3VhbFN0dWRpb0luc3RhbGxEaXIpOgorICAgICAgICAodmlzdWFsU3R1ZGlvSW5zdGFsbERpckZh
bGxiYWNrKToKKyAgICAgICAgKG1zQnVpbGRJbnN0YWxsRGlyKToKKyAgICAgICAgKHNldHVwQXBw
bGVXaW5FbnYpOgorICAgICAgICAoc2V0dXBDeWd3aW5FbnYpOgorICAgICAgICAoZ2VuZXJhdGVC
dWlsZFN5c3RlbUZyb21DTWFrZVByb2plY3QpOgorICAgICAgICAocGlja0xlZ2FjeVZpc3VhbFN0
dWRpb0luc3RhbGxhdGlvbik6IERlbGV0ZWQuCisgICAgICAgICh2aXN1YWxTdHVkaW9JbnN0YWxs
RGlyTGVnYWN5KTogRGVsZXRlZC4KKyAgICAgICAgKHZpc3VhbFN0dWRpb1ZlcnNpb24pOiBEZWxl
dGVkLgorICAgICAgICAodmlzdWFsU3R1ZGlvVmVyc2lvbkZyb21JbnN0YWxsRGlyKTogRGVsZXRl
ZC4KKwogMjAxNy0xMi0wNCAgTmFuIFdhbmcgIDxuX3dhbmdAYXBwbGUuY29tPgogCiAgICAgICAg
IEFYOiBBT006IEltcGxlbWVudCByZWxhdGlvbiB0eXBlIHByb3BlcnRpZXMKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0IGIvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQK
aW5kZXggYzgyNmEwMzhlNjMuLmZlNmI3M2Y1ZWYyIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRz
L2J1aWxkLXdlYmtpdAorKysgYi9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdApAQCAtMjg4LDcg
KzI4OCw3IEBAIGlmIChpc0FwcGxlV2luV2ViS2l0KCkgfHwgaXNXaW5DYWlybygpKSB7CiAKICAg
ICBjaGRpcldlYktpdCgpOwogICAgIGlmIChleGl0U3RhdHVzKGdlbmVyYXRlQnVpbGRTeXN0ZW1G
cm9tQ01ha2VQcm9qZWN0KCRwcmVmaXhQYXRoLCBAY21ha2VBcmdzKSkpIHsKLSAgICAgICAgZGll
ICJSdW4gXCJDOi9Qcm9ncmFtIEZpbGVzICh4ODYpL01pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIDE0
LjAvVkMvdmN2YXJzYWxsLmJhdFwiIGJlZm9yZSBidWlsZC13ZWJraXQgd2hlbiB1c2luZyBuaW5q
YSI7CisgICAgICAgIGRpZSAiUnVuIFZpc3VhbCBTdHVkaW8gMjAxNyBpbnN0YWxsYXRpb24gdmN2
YXJzLmJhdCBiZWZvcmUgYnVpbGQtd2Via2l0IHdoZW4gdXNpbmcgbmluamEiOwogICAgIH0KIAog
ICAgIGV4aXQgMCBpZiBpc0dlbmVyYXRlUHJvamVjdE9ubHkoKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0ZGlycy5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQppbmRl
eCAxNjgyYmI5YmY4OC4uM2YyNjQ4NzFmOWQgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0ZGlycy5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KQEAgLTE2MSw3ICsx
NjEsNiBAQCBteSAkd2luZG93c1NvdXJjZURpcjsKIG15ICR3aW5WZXJzaW9uOwogbXkgJHdpbGxV
c2VWQ0V4cHJlc3NXaGVuQnVpbGRpbmcgPSAwOwogbXkgJHZzV2hlcmVGb3VuZEluc3RhbGxhdGlv
bjsKLW15ICR2c1doZXJlTGVnYWN5SW5zdGFsbGF0aW9uOwogCiAjIERlZmluZWQgaW4gVkNTVXRp
bHMuCiBzdWIgZXhpdFN0YXR1cygkKTsKQEAgLTYzNCwzNyArNjMzLDYgQEAgc3ViIHBpY2tDdXJy
ZW50VmlzdWFsU3R1ZGlvSW5zdGFsbGF0aW9uCiAgICAgcmV0dXJuIHVuZGVmOwogfQogCi1zdWIg
cGlja0xlZ2FjeVZpc3VhbFN0dWRpb0luc3RhbGxhdGlvbgotewotICAgIHJldHVybiAkdnNXaGVy
ZUxlZ2FjeUluc3RhbGxhdGlvbiBpZiBkZWZpbmVkICR2c1doZXJlTGVnYWN5SW5zdGFsbGF0aW9u
OwotCi0gICAgcmVxdWlyZU1vZHVsZXNGb3JWU1doZXJlKCk7Ci0gICAgZGV0ZXJtaW5lU291cmNl
RGlyKCk7Ci0KLSAgICBteSAkdnNXaGVyZU91dCA9IGAkc291cmNlRGlyL1dlYktpdExpYnJhcmll
cy93aW4vdG9vbHMvdnN3aGVyZSAtbm9sb2dvIC1sZWdhY3kgLWZvcm1hdCBqc29uYDsKLSAgICBt
eSAkaW5zdGFsbGF0aW9uc19hbGwgPSBbXTsKLSAgICBldmFsIHsKLSAgICAgICAgJGluc3RhbGxh
dGlvbnNfYWxsID0gSlNPTjo6UFA6OmRlY29kZV9qc29uKEVuY29kZTo6ZW5jb2RlKCdVVEYtOCcg
PT4gRW5jb2RlOjpkZWNvZGUoY29uc29sZV9pbiA9PiAkdnNXaGVyZU91dCkpKTsKLSAgICB9Owot
ICAgIHByaW50ICJFcnJvciBnZXR0aW5nIFZpc3VhbCBTdHVkaW8gTGVnYWN5IExvY2F0aW9uOiAk
QFxuIiBpZiAkQDsKLSAgICB1bmRlZiAkQDsKLQotICAgICMgSXQncyBwb3NzaWJsZSB0aGF0IGEg
bm9uLWxlZ2FjeSBpbnN0YWxsYXRpb24gd2l0aG91dCBtc2J1aWxkCi0gICAgIyB3b3VsZCBub3Qg
YmUgZm91bmQgYnkgdGhlIGxhdGVzdCwgYnV0IHdvdWxkIGJlIGZvdW5kIGJ5IHRoaXMKLSAgICAj
IHZzd2hlcmUgY2FsbCwgYW5kIHdlIHdhbnQgdG8gc2tpcCB0aG9zZSwgc28gY2hlY2sgZm9yIHZl
cnNpb25zCi0gICAgIyB3aXRoIGFuIGluc3RhbGxhdGlvbiB2ZXJzaW9uIGJlZm9yZSAxNS4wLgot
ICAgIG15IEBpbnN0YWxsYXRpb25zID0gZ3JlcCB7ICRfLT57aW5zdGFsbGF0aW9uVmVyc2lvbn0g
PCAxNSB9IEAkaW5zdGFsbGF0aW9uc19hbGw7Ci0KLSAgICAjIFdlIGRvbid0IGdldCBtdWNoIGlu
Zm9ybWF0aW9uIHRoYXQgd291bGQgbGV0IHVzIGNob29zZSBiZXR3ZWVuCi0gICAgIyBsZWdhY3kg
aW5zdGFsbGF0aW9ucywgc28gd2UnbGwgdGFrZSB0aGUgZmlyc3QuCi0gICAgaWYgKHNjYWxhciBA
aW5zdGFsbGF0aW9ucykgewotICAgICAgICBteSAkaW5zdGFsbGF0aW9uID0gJGluc3RhbGxhdGlv
bnNbMF07Ci0gICAgICAgICR2c1doZXJlTGVnYWN5SW5zdGFsbGF0aW9uID0gJGluc3RhbGxhdGlv
bjsKLSAgICAgICAgcmV0dXJuICRpbnN0YWxsYXRpb247Ci0gICAgfQotICAgIHJldHVybiB1bmRl
ZjsKLX0KLQogc3ViIHZpc3VhbFN0dWRpb0luc3RhbGxEaXIKIHsKICAgICByZXR1cm4gJHZzSW5z
dGFsbERpciBpZiBkZWZpbmVkICR2c0luc3RhbGxEaXI7CkBAIC02NzQsMTIgKzY0Miw4IEBAIHN1
YiB2aXN1YWxTdHVkaW9JbnN0YWxsRGlyCiAgICAgICAgICR2c0luc3RhbGxEaXIgPX4gc3xbXFwv
XSR8fDsKICAgICB9IGVsc2UgewogICAgICAgICAkdnNJbnN0YWxsRGlyID0gdmlzdWFsU3R1ZGlv
SW5zdGFsbERpclZTV2hlcmUoKTsKLSAgICAgICAgaWYgKG5vdCAtZSAkdnNJbnN0YWxsRGlyKSB7
Ci0gICAgICAgICAgICAkdnNJbnN0YWxsRGlyID0gdmlzdWFsU3R1ZGlvSW5zdGFsbERpckxlZ2Fj
eSgpOwotICAgICAgICB9CiAgICAgICAgIGlmIChub3QgLWUgJHZzSW5zdGFsbERpcikgewogICAg
ICAgICAgICAgJHZzSW5zdGFsbERpciA9IHZpc3VhbFN0dWRpb0luc3RhbGxEaXJGYWxsYmFjaygp
OwotICAgICAgICAgICAgcHJpbnQgIkZhbGxiYWNrICR2c0luc3RhbGxEaXJcbiI7CiAgICAgICAg
IH0KICAgICB9CiAgICAgY2hvbXAoJHZzSW5zdGFsbERpciA9IGBjeWdwYXRoICIkdnNJbnN0YWxs
RGlyImApIGlmIGlzQ3lnd2luKCk7CkBAIC02OTcsMTUgKzY2MSw2IEBAIHN1YiB2aXN1YWxTdHVk
aW9JbnN0YWxsRGlyVlNXaGVyZQogICAgIHJldHVybiB1bmRlZjsKIH0KIAotc3ViIHZpc3VhbFN0
dWRpb0luc3RhbGxEaXJMZWdhY3kKLXsKLSAgICBwaWNrTGVnYWN5VmlzdWFsU3R1ZGlvSW5zdGFs
bGF0aW9uKCk7Ci0gICAgaWYgKGRlZmluZWQoJHZzV2hlcmVMZWdhY3lJbnN0YWxsYXRpb24pKSB7
Ci0gICAgICAgIHJldHVybiAkdnNXaGVyZUxlZ2FjeUluc3RhbGxhdGlvbi0+e2luc3RhbGxhdGlv
blBhdGh9OwotICAgIH0KLSAgICByZXR1cm4gdW5kZWY7Ci19Ci0KIHN1YiB2aXN1YWxTdHVkaW9J
bnN0YWxsRGlyRmFsbGJhY2sKIHsKICAgICBmb3JlYWNoIG15ICRwcm9kdWN0VHlwZSAoKApAQCAt
NzIxLDIyICs2NzYsMTYgQEAgc3ViIHZpc3VhbFN0dWRpb0luc3RhbGxEaXJGYWxsYmFjawogICAg
ICAgICAgICAgcmV0dXJuICRpbnN0YWxsZGlyOwogICAgICAgICB9CiAgICAgfQotICAgIHJldHVy
biBGaWxlOjpTcGVjLT5jYXRkaXIocHJvZ3JhbUZpbGVzUGF0aFg4NigpLCAiTWljcm9zb2Z0IFZp
c3VhbCBTdHVkaW8gMTQuMCIpOworICAgIHJldHVybiB1bmRlZjsKIH0KIAogc3ViIG1zQnVpbGRJ
bnN0YWxsRGlyCiB7CiAgICAgcmV0dXJuICRtc0J1aWxkSW5zdGFsbERpciBpZiBkZWZpbmVkICRt
c0J1aWxkSW5zdGFsbERpcjsKIAotICAgIG15ICR2ZXJzaW9uID0gdmlzdWFsU3R1ZGlvVmVyc2lv
bigpOwotICAgIGlmICgkdmVyc2lvbiA+PSAxNS4wKSB7Ci0gICAgICAgIG15ICRpbnN0YWxsRGly
ID0gdmlzdWFsU3R1ZGlvSW5zdGFsbERpcigpOwotICAgICAgICAkbXNCdWlsZEluc3RhbGxEaXIg
PSBGaWxlOjpTcGVjLT5jYXRkaXIoJGluc3RhbGxEaXIsCi0gICAgICAgICAgICAiTVNCdWlsZCIs
ICR2ZXJzaW9uLCAiYmluIik7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgJG1zQnVpbGRJbnN0YWxs
RGlyID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKHByb2dyYW1GaWxlc1BhdGhYODYoKSwgCi0gICAgICAg
ICAgICAiTVNCdWlsZCIsICIxNC4wIiwgIkJpbiIpCi0gICAgfQorICAgIG15ICRpbnN0YWxsRGly
ID0gdmlzdWFsU3R1ZGlvSW5zdGFsbERpcigpOworICAgICRtc0J1aWxkSW5zdGFsbERpciA9IEZp
bGU6OlNwZWMtPmNhdGRpcigkaW5zdGFsbERpciwKKyAgICAgICAgIk1TQnVpbGQiLCAiMTUuMCIs
ICJiaW4iKTsKIAogICAgIGNob21wKCRtc0J1aWxkSW5zdGFsbERpciA9IGBjeWdwYXRoICIkbXNC
dWlsZEluc3RhbGxEaXIiYCkgaWYgaXNDeWd3aW4oKTsKIApAQCAtNzQ0LDM1ICs2OTMsNiBAQCBz
dWIgbXNCdWlsZEluc3RhbGxEaXIKICAgICByZXR1cm4gJG1zQnVpbGRJbnN0YWxsRGlyOwogfQog
Ci1zdWIgdmlzdWFsU3R1ZGlvVmVyc2lvbgotewotICAgIHJldHVybiAkdnNWZXJzaW9uIGlmIGRl
ZmluZWQgJHZzVmVyc2lvbjsKLQotICAgIG15ICRpbnN0YWxsRGlyID0gdmlzdWFsU3R1ZGlvSW5z
dGFsbERpcigpOwotICAgICR2c1ZlcnNpb24gPSB2aXN1YWxTdHVkaW9WZXJzaW9uRnJvbUluc3Rh
bGxEaXIoJGluc3RhbGxEaXIpOwotCi0gICAgcHJpbnQgIlVzaW5nIFZpc3VhbCBTdHVkaW8gJHZz
VmVyc2lvblxuIjsKLSAgICByZXR1cm4gJHZzVmVyc2lvbjsKLX0KLQotc3ViIHZpc3VhbFN0dWRp
b1ZlcnNpb25Gcm9tSW5zdGFsbERpcgotewotICAgIG15ICgkZGlyKSA9IEBfOwotICAgIG15ICR2
ZXJzaW9uOwotCi0gICAgaWYgKCRkaXIgPX4gbXxNaWNyb3NvZnQgVmlzdWFsIFN0dWRpb1svXFxd
MjAxN3wpIHsKLSAgICAgICAgJHZlcnNpb24gPSAiMTUuMCI7Ci0gICAgfQotCi0gICAgaWYgKCFk
ZWZpbmVkKCR2ZXJzaW9uKSkgewotICAgICAgICBpZiAoJGRpciA9fiAvTWljcm9zb2Z0IFZpc3Vh
bCBTdHVkaW8gKFswLTldK1wuWzAtOV0qKS8pIHsKLSAgICAgICAgICAgICR2ZXJzaW9uID0gJDE7
Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICByZXR1cm4gJHZlcnNpb247Ci19Ci0KIHN1YiBkZXRl
cm1pbmVDb25maWd1cmF0aW9uRm9yVmlzdWFsU3R1ZGlvCiB7CiAgICAgcmV0dXJuIGlmIGRlZmlu
ZWQgJGNvbmZpZ3VyYXRpb25Gb3JWaXN1YWxTdHVkaW87CkBAIC0xODU4LDEzICsxNzc4LDEzIEBA
IHN1YiBzZXR1cEFwcGxlV2luRW52KCkKICAgICB9IGVsc2UgewogICAgICAgICBpZiAoIWRlZmlu
ZWQgJEVOVnsnV0VCS0lUX0xJQlJBUklFUyd9IHx8ICEkRU5WeydXRUJLSVRfTElCUkFSSUVTJ30p
IHsKICAgICAgICAgICAgIHByaW50ICJXYXJuaW5nOiBZb3UgbXVzdCBzZXQgdGhlICdXZWJLaXRf
TGlicmFyaWVzJyBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIjsKLSAgICAgICAgICAgIHByaW50ICIg
ICAgICAgICB0byBiZSBhYmxlIGJ1aWxkIFdlYktpdCBmcm9tIHdpdGhpbiBWaXN1YWwgU3R1ZGlv
IDIwMTMgYW5kIG5ld2VyLlxuIjsKKyAgICAgICAgICAgIHByaW50ICIgICAgICAgICB0byBiZSBh
YmxlIGJ1aWxkIFdlYktpdCBmcm9tIHdpdGhpbiBWaXN1YWwgU3R1ZGlvIDIwMTcgYW5kIG5ld2Vy
LlxuIjsKICAgICAgICAgICAgIHByaW50ICIgICAgICAgICBNYWtlIHN1cmUgdGhhdCAnV2ViS2l0
X0xpYnJhcmllcycgcG9pbnRzIHRvIHRoZVxuIjsKICAgICAgICAgICAgIHByaW50ICIgICAgICAg
ICAnV2ViS2l0TGlicmFyaWVzL3dpbicgZGlyZWN0b3J5LCBub3QgdGhlICdXZWJLaXRMaWJyYXJp
ZXMvJyBkaXJlY3RvcnkuXG5cbiI7CiAgICAgICAgIH0KICAgICAgICAgaWYgKCFkZWZpbmVkICRF
TlZ7J1dFQktJVF9PVVRQVVRESVInfSB8fCAhJEVOVnsnV0VCS0lUX09VVFBVVERJUid9KSB7CiAg
ICAgICAgICAgICBwcmludCAiV2FybmluZzogWW91IG11c3Qgc2V0IHRoZSAnV2ViS2l0X091dHB1
dERpcicgZW52aXJvbm1lbnQgdmFyaWFibGVcbiI7Ci0gICAgICAgICAgICBwcmludCAiICAgICAg
ICAgdG8gYmUgYWJsZSBidWlsZCBXZWJLaXQgZnJvbSB3aXRoaW4gVmlzdWFsIFN0dWRpbyAyMDEz
IGFuZCBuZXdlci5cblxuIjsKKyAgICAgICAgICAgIHByaW50ICIgICAgICAgICB0byBiZSBhYmxl
IGJ1aWxkIFdlYktpdCBmcm9tIHdpdGhpbiBWaXN1YWwgU3R1ZGlvIDIwMTcgYW5kIG5ld2VyLlxu
XG4iOwogICAgICAgICB9CiAgICAgICAgIGlmICghZGVmaW5lZCAkRU5WeydNU0JVSUxERElTQUJM
RU5PREVSRVVTRSd9IHx8ICEkRU5WeydNU0JVSUxERElTQUJMRU5PREVSRVVTRSd9KSB7CiAgICAg
ICAgICAgICBwcmludCAiV2FybmluZzogWW91IHNob3VsZCBzZXQgdGhlICdNU0JVSUxERElTQUJM
RU5PREVSRVVTRScgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gJzEnXG4iOwpAQCAtMTg4NSwxOSAr
MTgwNSwxNCBAQCBzdWIgc2V0dXBDeWd3aW5FbnYoKQogCiAgICAgbXkgJHByb2dyYW1GaWxlc1Bh
dGggPSBwcm9ncmFtRmlsZXNQYXRoKCk7CiAgICAgbXkgJHZpc3VhbFN0dWRpb1BhdGggPSBGaWxl
OjpTcGVjLT5jYXRmaWxlKHZpc3VhbFN0dWRpb0luc3RhbGxEaXIoKSwgcXcoQ29tbW9uNyBJREUg
ZGV2ZW52LmNvbSkpOwotICAgIGlmICgtZSAkdmlzdWFsU3R1ZGlvUGF0aCkgewotICAgICAgICAj
IFZpc3VhbCBTdHVkaW8gaXMgaW5zdGFsbGVkOwotICAgICAgICBpZiAodmlzdWFsU3R1ZGlvVmVy
c2lvbigpIGVxICIxMiIpIHsKLSAgICAgICAgICAgICR2aXN1YWxTdHVkaW9QYXRoID0gRmlsZTo6
U3BlYy0+Y2F0ZmlsZSh2aXN1YWxTdHVkaW9JbnN0YWxsRGlyKCksIHF3KENvbW1vbjcgSURFIGRl
dmVudi5leGUpKTsKLSAgICAgICAgfQotICAgIH0gZWxzZSB7CisgICAgaWYgKCEtZSAkdmlzdWFs
U3R1ZGlvUGF0aCkgewogICAgICAgICAjIFZpc3VhbCBTdHVkaW8gbm90IGZvdW5kLCB0cnkgVkMr
KyBFeHByZXNzCiAgICAgICAgICR2aXN1YWxTdHVkaW9QYXRoID0gRmlsZTo6U3BlYy0+Y2F0Zmls
ZSh2aXN1YWxTdHVkaW9JbnN0YWxsRGlyKCksIHF3KENvbW1vbjcgSURFIFdERXhwcmVzcy5leGUp
KTsKICAgICAgICAgaWYgKCEgLWUgJHZpc3VhbFN0dWRpb1BhdGgpIHsKICAgICAgICAgICAgIHBy
aW50ICIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqXG4iOwogICAgICAgICAgICAgcHJpbnQgIkNhbm5vdCBmaW5kICckdmlzdWFsU3R1
ZGlvUGF0aCdcbiI7CiAgICAgICAgICAgICBwcmludCAiUGxlYXNlIGV4ZWN1dGUgdGhlIGZpbGUg
J3ZjdmFyczMyLmJhdCcgZnJvbVxuIjsKLSAgICAgICAgICAgIHByaW50ICInJHByb2dyYW1GaWxl
c1BhdGhcXE1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIDE0LjBcXFZDXFxiaW5cXCdcbiI7CisgICAg
ICAgICAgICBwcmludCAieW91ciBWaXN1YWwgU3R1ZGlvIDIwMTcgaW5zdGFsbGF0aW9uXG4iOwog
ICAgICAgICAgICAgcHJpbnQgInRvIHNldHVwIHRoZSBuZWNlc3NhcnkgZW52aXJvbm1lbnQgdmFy
aWFibGVzLlxuIjsKICAgICAgICAgICAgIHByaW50ICIqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4iOwogICAgICAgICAgICAgZGll
OwpAQCAtMjIyNCwxMSArMjEzOSw3IEBAIHN1YiBnZW5lcmF0ZUJ1aWxkU3lzdGVtRnJvbUNNYWtl
UHJvamVjdAogICAgICAgICAgICAgcHVzaCBAYXJncywgIk5pbmphIjsKICAgICAgICAgfQogICAg
IH0gZWxzaWYgKGlzQW55V2luZG93cygpICYmIGlzV2luNjQoKSkgewotICAgICAgICBpZiAodmlz
dWFsU3R1ZGlvVmVyc2lvbigpID49IDE1KSB7Ci0gICAgICAgICAgICBwdXNoIEBhcmdzLCAnLUcg
IlZpc3VhbCBTdHVkaW8gMTUgMjAxNyBXaW42NCInOwotICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgICAgcHVzaCBAYXJncywgJy1HICJWaXN1YWwgU3R1ZGlvIDE0IDIwMTUgV2luNjQiJzsKLSAg
ICAgICAgfQorICAgICAgICBwdXNoIEBhcmdzLCAnLUcgIlZpc3VhbCBTdHVkaW8gMTUgMjAxNyBX
aW42NCInOwogICAgIH0KICAgICAjIERvIG5vdCBzaG93IHByb2dyZXNzIG9mIGdlbmVyYXRpbmcg
YmluZGluZ3MgaW4gaW50ZXJhY3RpdmUgTmluamEgYnVpbGQgbm90IHRvIGxlYXZlIG5vaXN5IGxp
bmVzIG9uIHR0eQogICAgIHB1c2ggQGFyZ3MsICctRFNIT1dfQklORElOR1NfR0VORVJBVElPTl9Q
Uk9HUkVTUz0xJyB1bmxlc3MgKCR3aWxsVXNlTmluamEgJiYgLXQgU1RET1VUKTsK
</data>
<flag name="review"
          id="347691"
          type_id="1"
          status="+"
          setter="pvollan"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328518</attachid>
            <date>2017-12-05 16:06:12 -0800</date>
            <delta_ts>2017-12-05 16:06:12 -0800</delta_ts>
            <desc>Require VS2017 for building - reup</desc>
            <filename>172412-4.diff</filename>
            <type>text/plain</type>
            <size>18744</size>
            <attacher name="Stephan Szabo">stephan.szabo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBjMDhmOWRjYjJmNS4uMjFh
YjY1NWViNzQgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMiBAQAorMjAxNy0xMi0wNSAgU3RlcGhhbiBTemFibyAgPHN0ZXBoYW4uc3phYm9Ac29ueS5j
b20+CisKKyAgICAgICAgU3dpdGNoIHdpbmRvd3MgYnVpbGQgdG8gVmlzdWFsIFN0dWRpbyAyMDE3
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzI0MTIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNvdXJj
ZS9jbWFrZS9PcHRpb25zTVNWQy5jbWFrZToKKwogMjAxNy0xMi0wMSAgS29uc3RhbnRpbiBUb2th
cmV2ICA8YW5udWxlbkB5YW5kZXgucnU+CiAKICAgICAgICAgW2NtYWtlXSBNYWtlIGRlc2NyaXB0
aW9uIG9mIEVOQUJMRV9EUkFHX1NVUFBPUlQgbW9yZSBpbmZvcm1hdGl2ZQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKaW5kZXggYTBkZjhiNGEzNjIuLjkyMTZhNTI5YzAxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNy0xMi0wNSAgU3RlcGhhbiBTemFibyAgPHN0
ZXBoYW4uc3phYm9Ac29ueS5jb20+CisKKyAgICAgICAgU3dpdGNoIHdpbmRvd3MgYnVpbGQgdG8g
VmlzdWFsIFN0dWRpbyAyMDE3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzI0MTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUucHJvajoK
KwogMjAxNy0xMi0wNCAgRGF2aWQgUXVlc2FkYSAgPGRhdmlkX3F1ZXNhZGFAYXBwbGUuY29tPgog
CiAgICAgICAgIEFkZCBhIGNsYXNzIGZvciBwYXJzaW5nIGFwcGxpY2F0aW9uIG1hbmlmZXN0cwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ov
SmF2YVNjcmlwdENvcmUucHJvaiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnByb2oKaW5kZXggNGMxZDg1NmNiYTEuLjc1MjdhYjE2
Yzk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4
cHJvai9KYXZhU2NyaXB0Q29yZS5wcm9qCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnByb2oKQEAgLTU0LDkgKzU0LDkgQEAK
ICAgPFRhcmdldCBOYW1lPSJCdWlsZCIgQWZ0ZXJUYXJnZXRzPSJQcmVCdWlsZCI+DQogICAgIDxN
ZXNzYWdlIFRleHQ9IkJ1aWxkaW5nICQoQ09ORklHVVJBVElPTikgU29sdXRpb24iIC8+DQogICAg
IDxFcnJvciBUZXh0PSJEU1RST09UIHByb3BlcnR5IG9yIGVudmlyb25tZW50IHZhcmlhYmxlIG11
c3QgYmUgZGVmaW5lZC4iIENvbmRpdGlvbj0iJyQoRFNUUk9PVCknID09ICcnIiAvPg0KLQk8RXhl
YyBDb21tYW5kPSIkKENNYWtlQ29tbWFuZENvbW1vbikgLURXVEZfQ1BVX1g4Nj0xIC1HICZxdW90
O1Zpc3VhbCBTdHVkaW8gMTQgMjAxNSZxdW90OyIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09U
KS8kKENPTkZJRykvYnVpbGQzMiIvPg0KKwk8RXhlYyBDb21tYW5kPSIkKENNYWtlQ29tbWFuZENv
bW1vbikgLURXVEZfQ1BVX1g4Nj0xIC1HICZxdW90O1Zpc3VhbCBTdHVkaW8gMTUgMjAxNyZxdW90
OyIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJRykvYnVpbGQzMiIvPg0KIAk8
RXhlYyBDb21tYW5kPSJtc2J1aWxkIFByb2plY3Quc2xuIC9wOkNvbmZpZ3VyYXRpb249JChDT05G
SUcpIiBXb3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklHKS9idWlsZDMyIi8+DQot
CTxFeGVjIENvbW1hbmQ9IiQoQ01ha2VDb21tYW5kQ29tbW9uKSAtRFdURl9DUFVfWDg2XzY0PTEg
LUcgJnF1b3Q7VmlzdWFsIFN0dWRpbyAxNCAyMDE1IFdpbjY0JnF1b3Q7IiBXb3JraW5nRGlyZWN0
b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklHKS9idWlsZDY0Ii8+DQorCTxFeGVjIENvbW1hbmQ9IiQo
Q01ha2VDb21tYW5kQ29tbW9uKSAtRFdURl9DUFVfWDg2XzY0PTEgLUcgJnF1b3Q7VmlzdWFsIFN0
dWRpbyAxNSAyMDE3IFdpbjY0JnF1b3Q7IiBXb3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQo
Q09ORklHKS9idWlsZDY0Ii8+DQogCTxFeGVjIENvbW1hbmQ9Im1zYnVpbGQgUHJvamVjdC5zbG4g
L3A6Q29uZmlndXJhdGlvbj0kKENPTkZJRykiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkv
JChDT05GSUcpL2J1aWxkNjQiLz4NCiAgIDwvVGFyZ2V0Pg0KIA0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggY2VmN2NlMGQ3YjYu
LjlhNWI0OTg5OTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE3LTEyLTA1ICBTdGVwaGFuIFN6
YWJvICA8c3RlcGhhbi5zemFib0Bzb255LmNvbT4KKworICAgICAgICBTd2l0Y2ggd2luZG93cyBi
dWlsZCB0byBWaXN1YWwgU3R1ZGlvIDIwMTcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3MjQxMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV1RGLnZjeHByb2ovV1RGLnByb2o6CisgICAgICAgICogd3Rm
L0NvbXBpbGVyLmg6CisKIDIwMTctMTItMDQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CiAKICAgICAgICAgTWlub3IgRGlzcGxheVJlZnJlc2hNb25pdG9yLXJlbGF0ZWQg
Y2xlYW51cApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYucHJvaiBiL1Nv
dXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnByb2oKaW5kZXggOGVhZjllYWYzNmIuLjUyOTE2NThm
MDQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi5wcm9qCisrKyBiL1Nv
dXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnByb2oKQEAgLTQ2LDkgKzQ2LDkgQEAKICAgPFRhcmdl
dCBOYW1lPSJCdWlsZCIgQWZ0ZXJUYXJnZXRzPSJQcmVCdWlsZCI+DQogICAgIDxNZXNzYWdlIFRl
eHQ9IkJ1aWxkaW5nICQoQ09ORklHVVJBVElPTikgU29sdXRpb24iIC8+DQogICAgIDxFcnJvciBU
ZXh0PSJEU1RST09UIHByb3BlcnR5IG9yIGVudmlyb25tZW50IHZhcmlhYmxlIG11c3QgYmUgZGVm
aW5lZC4iIENvbmRpdGlvbj0iJyQoRFNUUk9PVCknID09ICcnIiAvPg0KLQk8RXhlYyBDb21tYW5k
PSIkKENNYWtlQ29tbWFuZENvbW1vbikgLURXVEZfQ1BVX1g4Nj0xIC1HICZxdW90O1Zpc3VhbCBT
dHVkaW8gMTQgMjAxNSZxdW90OyIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJ
RykvYnVpbGQzMiIvPg0KKwk8RXhlYyBDb21tYW5kPSIkKENNYWtlQ29tbWFuZENvbW1vbikgLURX
VEZfQ1BVX1g4Nj0xIC1HICZxdW90O1Zpc3VhbCBTdHVkaW8gMTUgMjAxNyZxdW90OyIgV29ya2lu
Z0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJRykvYnVpbGQzMiIvPg0KIAk8RXhlYyBDb21t
YW5kPSJtc2J1aWxkIFByb2plY3Quc2xuIC9wOkNvbmZpZ3VyYXRpb249JChDT05GSUcpIiBXb3Jr
aW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklHKS9idWlsZDMyIi8+DQotCTxFeGVjIENv
bW1hbmQ9IiQoQ01ha2VDb21tYW5kQ29tbW9uKSAtRFdURl9DUFVfWDg2XzY0PTEgLUcgJnF1b3Q7
VmlzdWFsIFN0dWRpbyAxNCAyMDE1IFdpbjY0JnF1b3Q7IiBXb3JraW5nRGlyZWN0b3J5PSIkKE9C
SlJPT1QpLyQoQ09ORklHKS9idWlsZDY0Ii8+DQorCTxFeGVjIENvbW1hbmQ9IiQoQ01ha2VDb21t
YW5kQ29tbW9uKSAtRFdURl9DUFVfWDg2XzY0PTEgLUcgJnF1b3Q7VmlzdWFsIFN0dWRpbyAxNSAy
MDE3IFdpbjY0JnF1b3Q7IiBXb3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklHKS9i
dWlsZDY0Ii8+DQogCTxFeGVjIENvbW1hbmQ9Im1zYnVpbGQgUHJvamVjdC5zbG4gL3A6Q29uZmln
dXJhdGlvbj0kKENPTkZJRykiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChDT05GSUcp
L2J1aWxkNjQiLz4NCiAgIDwvVGFyZ2V0Pg0KIA0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L0NvbXBpbGVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oCmluZGV4IDY5NzUyMzQ1Y2Uz
Li5jZWIzNWRiNTZlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oCkBAIC0xMzAsOCArMTMwLDggQEAKICNkZWZpbmUg
V1RGX0NPTVBJTEVSX01TVkMgMQogI2RlZmluZSBXVEZfQ09NUElMRVJfU1VQUE9SVFNfQ1hYX1JF
RkVSRU5DRV9RVUFMSUZJRURfRlVOQ1RJT05TIDEKIAotI2lmIF9NU0NfVkVSIDwgMTkwMAotI2Vy
cm9yICJQbGVhc2UgdXNlIGEgbmV3ZXIgdmVyc2lvbiBvZiBWaXN1YWwgU3R1ZGlvLiBXZWJLaXQg
cmVxdWlyZXMgVlMyMDE1IG9yIG5ld2VyIHRvIGNvbXBpbGUuIgorI2lmIF9NU0NfVkVSIDwgMTkx
MAorI2Vycm9yICJQbGVhc2UgdXNlIGEgbmV3ZXIgdmVyc2lvbiBvZiBWaXN1YWwgU3R1ZGlvLiBX
ZWJLaXQgcmVxdWlyZXMgVlMyMDE3IG9yIG5ld2VyIHRvIGNvbXBpbGUuIgogI2VuZGlmCiAKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IGEyM2NhZjJlMTI5Li45MjkwMmU2NWQxOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE0IEBACisyMDE3LTEyLTA1ICBTdGVwaGFuIFN6YWJvICA8c3RlcGhhbi5zemFi
b0Bzb255LmNvbT4KKworICAgICAgICBTd2l0Y2ggd2luZG93cyBidWlsZCB0byBWaXN1YWwgU3R1
ZGlvIDIwMTcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE3MjQxMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE9ubHkgY2hhbmdlcyBwcm9qIGZpbGUgdG8gdXBkYXRlIGdlbmVyYXRvcgorCisgICAgICAgICog
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUucHJvajoKKwogMjAxNy0xMi0wNCAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFN1cHBvcnQgY29udGFpbmVyLmdldFJlZ2lz
dHJhdGlvbigpIC8gZ2V0UmVnaXN0cmF0aW9ucygpIGluc2lkZSBzZXJ2aWNlIHdvcmtlcnMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS5wcm9qCmluZGV4IDI3NTY5ZDc4
OGI1Li5hNjZmZWNmOTk2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hw
cm9qL1dlYkNvcmUucHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS5wcm9qCkBAIC01NCw5ICs1NCw5IEBACiAgIDxUYXJnZXQgTmFtZT0iQnVpbGQiIEFmdGVy
VGFyZ2V0cz0iUHJlQnVpbGQiPg0KICAgICA8TWVzc2FnZSBUZXh0PSJCdWlsZGluZyAkKENPTkZJ
R1VSQVRJT04pIFNvbHV0aW9uIiAvPg0KICAgICA8RXJyb3IgVGV4dD0iRFNUUk9PVCBwcm9wZXJ0
eSBvciBlbnZpcm9ubWVudCB2YXJpYWJsZSBtdXN0IGJlIGRlZmluZWQuIiBDb25kaXRpb249Iick
KERTVFJPT1QpJyA9PSAnJyIgLz4NCi0JPEV4ZWMgQ29tbWFuZD0iJChDTWFrZUNvbW1hbmRDb21t
b24pIC1EV1RGX0NQVV9YODY9MSAtRyAmcXVvdDtWaXN1YWwgU3R1ZGlvIDE0IDIwMTUmcXVvdDsi
IFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChDT05GSUcpL2J1aWxkMzIiLz4NCisJPEV4
ZWMgQ29tbWFuZD0iJChDTWFrZUNvbW1hbmRDb21tb24pIC1EV1RGX0NQVV9YODY9MSAtRyAmcXVv
dDtWaXN1YWwgU3R1ZGlvIDE1IDIwMTcmcXVvdDsiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9P
VCkvJChDT05GSUcpL2J1aWxkMzIiLz4NCiAJPEV4ZWMgQ29tbWFuZD0ibXNidWlsZCBQcm9qZWN0
LnNsbiAvcDpDb25maWd1cmF0aW9uPSQoQ09ORklHKSIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpS
T09UKS8kKENPTkZJRykvYnVpbGQzMiIvPg0KLQk8RXhlYyBDb21tYW5kPSIkKENNYWtlQ29tbWFu
ZENvbW1vbikgLURXVEZfQ1BVX1g4Nl82ND0xIC1HICZxdW90O1Zpc3VhbCBTdHVkaW8gMTQgMjAx
NSBXaW42NCZxdW90OyIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJRykvYnVp
bGQ2NCIvPg0KKwk8RXhlYyBDb21tYW5kPSIkKENNYWtlQ29tbWFuZENvbW1vbikgLURXVEZfQ1BV
X1g4Nl82ND0xIC1HICZxdW90O1Zpc3VhbCBTdHVkaW8gMTUgMjAxNyBXaW42NCZxdW90OyIgV29y
a2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJRykvYnVpbGQ2NCIvPg0KIAk8RXhlYyBD
b21tYW5kPSJtc2J1aWxkIFByb2plY3Quc2xuIC9wOkNvbmZpZ3VyYXRpb249JChDT05GSUcpIiBX
b3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklHKS9idWlsZDY0Ii8+DQogICA8L1Rh
cmdldD4NCiANCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCmluZGV4IGI1YmJkNmI0YTM0Li5kNmZhNzIzOWY2
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNy0xMi0wNSAgU3Rl
cGhhbiBTemFibyAgPHN0ZXBoYW4uc3phYm9Ac29ueS5jb20+CisKKyAgICAgICAgU3dpdGNoIHdp
bmRvd3MgYnVpbGQgdG8gVmlzdWFsIFN0dWRpbyAyMDE3CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzI0MTIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdExlZ2FjeS52Y3hwcm9qL1dlYktpdExl
Z2FjeS5wcm9qOgorCiAyMDE3LTExLTI3ICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAc29u
eS5jb20+CiAKICAgICAgICAgW0NNYWtlXVtXaW5dIENvbmRpdGlvbmFsbHkgc2VsZWN0IERMTCBD
UlQgb3Igc3RhdGljIENSVApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9XZWJLaXRM
ZWdhY3kudmN4cHJvai9XZWJLaXRMZWdhY3kucHJvaiBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvV2Vi
S2l0TGVnYWN5LnZjeHByb2ovV2ViS2l0TGVnYWN5LnByb2oKaW5kZXggZTQxMDFmYzUyNDQuLjQ0
ZWY1MzE2MmIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYktpdExlZ2FjeS52
Y3hwcm9qL1dlYktpdExlZ2FjeS5wcm9qCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvV2ViS2l0
TGVnYWN5LnZjeHByb2ovV2ViS2l0TGVnYWN5LnByb2oKQEAgLTU0LDkgKzU0LDkgQEAKICAgPFRh
cmdldCBOYW1lPSJCdWlsZCIgQWZ0ZXJUYXJnZXRzPSJQcmVCdWlsZCI+DQogICAgIDxNZXNzYWdl
IFRleHQ9IkJ1aWxkaW5nICQoQ09ORklHVVJBVElPTikgU29sdXRpb24iIC8+DQogICAgIDxFcnJv
ciBUZXh0PSJEU1RST09UIHByb3BlcnR5IG9yIGVudmlyb25tZW50IHZhcmlhYmxlIG11c3QgYmUg
ZGVmaW5lZC4iIENvbmRpdGlvbj0iJyQoRFNUUk9PVCknID09ICcnIiAvPg0KLQk8RXhlYyBDb21t
YW5kPSIkKENNYWtlQ29tbWFuZENvbW1vbikgLURXVEZfQ1BVX1g4Nj0xIC1HICZxdW90O1Zpc3Vh
bCBTdHVkaW8gMTQgMjAxNSZxdW90OyIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENP
TkZJRykvYnVpbGQzMiIvPg0KKwk8RXhlYyBDb21tYW5kPSIkKENNYWtlQ29tbWFuZENvbW1vbikg
LURXVEZfQ1BVX1g4Nj0xIC1HICZxdW90O1Zpc3VhbCBTdHVkaW8gMTUgMjAxNyZxdW90OyIgV29y
a2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJRykvYnVpbGQzMiIvPg0KIAk8RXhlYyBD
b21tYW5kPSJtc2J1aWxkIFByb2plY3Quc2xuIC9wOkNvbmZpZ3VyYXRpb249JChDT05GSUcpIiBX
b3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklHKS9idWlsZDMyIi8+DQotCTxFeGVj
IENvbW1hbmQ9IiQoQ01ha2VDb21tYW5kQ29tbW9uKSAtRFdURl9DUFVfWDg2XzY0PTEgLUcgJnF1
b3Q7VmlzdWFsIFN0dWRpbyAxNCAyMDE1IFdpbjY0JnF1b3Q7IiBXb3JraW5nRGlyZWN0b3J5PSIk
KE9CSlJPT1QpLyQoQ09ORklHKS9idWlsZDY0Ii8+DQorCTxFeGVjIENvbW1hbmQ9IiQoQ01ha2VD
b21tYW5kQ29tbW9uKSAtRFdURl9DUFVfWDg2XzY0PTEgLUcgJnF1b3Q7VmlzdWFsIFN0dWRpbyAx
NSAyMDE3IFdpbjY0JnF1b3Q7IiBXb3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklH
KS9idWlsZDY0Ii8+DQogCTxFeGVjIENvbW1hbmQ9Im1zYnVpbGQgUHJvamVjdC5zbG4gL3A6Q29u
ZmlndXJhdGlvbj0kKENPTkZJRykiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChDT05G
SUcpL2J1aWxkNjQiLz4NCiAgIDwvVGFyZ2V0Pg0KIA0KZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFr
ZS9PcHRpb25zTVNWQy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zTVNWQy5jbWFrZQppbmRl
eCBmZDI1YmQ0Zjg1NC4uN2YzNzhmZjhhYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRp
b25zTVNWQy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc01TVkMuY21ha2UKQEAgLTk3
LDEwICs5NywxMSBAQCBzdHJpbmcoUkVQTEFDRSAiSU5DUkVNRU5UQUw6WUVTIiAiSU5DUkVNRU5U
QUw6Tk8iIHJlcGxhY2VfQ01BS0VfRVhFX0xJTktFUl9GTEFHUwogc2V0KENNQUtFX0VYRV9MSU5L
RVJfRkxBR1NfUkVMV0lUSERFQklORk8gIiR7cmVwbGFjZV9DTUFLRV9FWEVfTElOS0VSX0ZMQUdT
X1JFTFdJVEhERUJJTkZPfSAvSU5DUkVNRU5UQUw6Tk8iKQogCiBpZiAoQ09NUElMRVJfSVNfQ0xB
TkdfQ0wpCi0gICAgIyBGSVhNRTogV2UgbmVlZCB0byBzZXQgdGhlIG1zYy12ZXJzaW9uIGFib3Zl
IHRoZSBvbmUgaXQgZGVmYXVsdHMgdG8KLSAgICAjIHdoZW4gdXNpbmcgY2xhbmctY2wgd2l0aCBW
UzIwMTUuIFRoaXMgbWlnaHQgYmUgdW5uZWNlc3Nhcnkgd2hlbiBtb3ZpbmcgdG8KLSAgICAjIFZT
MjAxNyBhcyBwYXJ0IG9mIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NzI0MTIKLSAgICBhZGRfY29tcGlsZV9vcHRpb25zKC1mbXNjLXZlcnNpb249MTkwMDIzOTE4KQor
ICAgICMgRklYTUU6IFRoZSBjbGFuZy1jbCB2aXN1YWwgc3R1ZGlvIGludGVncmF0aW9uIHNlZW1l
ZCB0byBzZXQKKyAgICAjIHRoaXMgdG8gMTkwMCBleHBsaWNpdGx5IGV2ZW4gd2hlbiBidWlsZGlu
ZyBpbiBWUzIwMTcgd2l0aCB0aGUKKyAgICAjIG5ld2VzdCB0b29sc2V0IG9wdGlvbiwgYnV0IHdl
IHdhbnQgdG8gYmUgdmVyc2lvbmVkIHRvIG1hdGNoCisgICAgIyBWUzIwMTcuCisgICAgYWRkX2Nv
bXBpbGVfb3B0aW9ucygtZm1zYy12ZXJzaW9uPTE5MTEpCiAKICAgICAjIEZJWE1FOiBCdWlsZGlu
ZyB3aXRoIGNsYW5nLWNsIHNlZW1lZCB0byBmYWlsIHdpdGggMTI4IGJpdCBpbnQgc3VwcG9ydAog
ICAgIHNldChIQVZFX0lOVDEyOF9UIE9GRikKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzYWMzZGU2YjUzNi4uZTJkMTQ4YmE3NDYgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBA
QAorMjAxNy0xMi0wNSAgU3RlcGhhbiBTemFibyAgPHN0ZXBoYW4uc3phYm9Ac29ueS5jb20+CisK
KyAgICAgICAgU3dpdGNoIHdpbmRvd3MgYnVpbGQgdG8gVmlzdWFsIFN0dWRpbyAyMDE3CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzI0MTIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvYnVp
bGQtd2Via2l0OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0ZGlycy5wbToKKyAgICAgICAgKHZp
c3VhbFN0dWRpb0luc3RhbGxEaXIpOgorICAgICAgICAodmlzdWFsU3R1ZGlvSW5zdGFsbERpckZh
bGxiYWNrKToKKyAgICAgICAgKG1zQnVpbGRJbnN0YWxsRGlyKToKKyAgICAgICAgKHNldHVwQXBw
bGVXaW5FbnYpOgorICAgICAgICAoc2V0dXBDeWd3aW5FbnYpOgorICAgICAgICAoZ2VuZXJhdGVC
dWlsZFN5c3RlbUZyb21DTWFrZVByb2plY3QpOgorICAgICAgICAocGlja0xlZ2FjeVZpc3VhbFN0
dWRpb0luc3RhbGxhdGlvbik6IERlbGV0ZWQuCisgICAgICAgICh2aXN1YWxTdHVkaW9JbnN0YWxs
RGlyTGVnYWN5KTogRGVsZXRlZC4KKyAgICAgICAgKHZpc3VhbFN0dWRpb1ZlcnNpb24pOiBEZWxl
dGVkLgorICAgICAgICAodmlzdWFsU3R1ZGlvVmVyc2lvbkZyb21JbnN0YWxsRGlyKTogRGVsZXRl
ZC4KKwogMjAxNy0xMi0wNCAgTmFuIFdhbmcgIDxuX3dhbmdAYXBwbGUuY29tPgogCiAgICAgICAg
IEFYOiBBT006IEltcGxlbWVudCByZWxhdGlvbiB0eXBlIHByb3BlcnRpZXMKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0IGIvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQK
aW5kZXggYzgyNmEwMzhlNjMuLmZlNmI3M2Y1ZWYyIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRz
L2J1aWxkLXdlYmtpdAorKysgYi9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdApAQCAtMjg4LDcg
KzI4OCw3IEBAIGlmIChpc0FwcGxlV2luV2ViS2l0KCkgfHwgaXNXaW5DYWlybygpKSB7CiAKICAg
ICBjaGRpcldlYktpdCgpOwogICAgIGlmIChleGl0U3RhdHVzKGdlbmVyYXRlQnVpbGRTeXN0ZW1G
cm9tQ01ha2VQcm9qZWN0KCRwcmVmaXhQYXRoLCBAY21ha2VBcmdzKSkpIHsKLSAgICAgICAgZGll
ICJSdW4gXCJDOi9Qcm9ncmFtIEZpbGVzICh4ODYpL01pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIDE0
LjAvVkMvdmN2YXJzYWxsLmJhdFwiIGJlZm9yZSBidWlsZC13ZWJraXQgd2hlbiB1c2luZyBuaW5q
YSI7CisgICAgICAgIGRpZSAiUnVuIFZpc3VhbCBTdHVkaW8gMjAxNyBpbnN0YWxsYXRpb24gdmN2
YXJzLmJhdCBiZWZvcmUgYnVpbGQtd2Via2l0IHdoZW4gdXNpbmcgbmluamEiOwogICAgIH0KIAog
ICAgIGV4aXQgMCBpZiBpc0dlbmVyYXRlUHJvamVjdE9ubHkoKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L1NjcmlwdHMvd2Via2l0ZGlycy5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQppbmRl
eCAxNjgyYmI5YmY4OC4uM2YyNjQ4NzFmOWQgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0ZGlycy5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KQEAgLTE2MSw3ICsx
NjEsNiBAQCBteSAkd2luZG93c1NvdXJjZURpcjsKIG15ICR3aW5WZXJzaW9uOwogbXkgJHdpbGxV
c2VWQ0V4cHJlc3NXaGVuQnVpbGRpbmcgPSAwOwogbXkgJHZzV2hlcmVGb3VuZEluc3RhbGxhdGlv
bjsKLW15ICR2c1doZXJlTGVnYWN5SW5zdGFsbGF0aW9uOwogCiAjIERlZmluZWQgaW4gVkNTVXRp
bHMuCiBzdWIgZXhpdFN0YXR1cygkKTsKQEAgLTYzNCwzNyArNjMzLDYgQEAgc3ViIHBpY2tDdXJy
ZW50VmlzdWFsU3R1ZGlvSW5zdGFsbGF0aW9uCiAgICAgcmV0dXJuIHVuZGVmOwogfQogCi1zdWIg
cGlja0xlZ2FjeVZpc3VhbFN0dWRpb0luc3RhbGxhdGlvbgotewotICAgIHJldHVybiAkdnNXaGVy
ZUxlZ2FjeUluc3RhbGxhdGlvbiBpZiBkZWZpbmVkICR2c1doZXJlTGVnYWN5SW5zdGFsbGF0aW9u
OwotCi0gICAgcmVxdWlyZU1vZHVsZXNGb3JWU1doZXJlKCk7Ci0gICAgZGV0ZXJtaW5lU291cmNl
RGlyKCk7Ci0KLSAgICBteSAkdnNXaGVyZU91dCA9IGAkc291cmNlRGlyL1dlYktpdExpYnJhcmll
cy93aW4vdG9vbHMvdnN3aGVyZSAtbm9sb2dvIC1sZWdhY3kgLWZvcm1hdCBqc29uYDsKLSAgICBt
eSAkaW5zdGFsbGF0aW9uc19hbGwgPSBbXTsKLSAgICBldmFsIHsKLSAgICAgICAgJGluc3RhbGxh
dGlvbnNfYWxsID0gSlNPTjo6UFA6OmRlY29kZV9qc29uKEVuY29kZTo6ZW5jb2RlKCdVVEYtOCcg
PT4gRW5jb2RlOjpkZWNvZGUoY29uc29sZV9pbiA9PiAkdnNXaGVyZU91dCkpKTsKLSAgICB9Owot
ICAgIHByaW50ICJFcnJvciBnZXR0aW5nIFZpc3VhbCBTdHVkaW8gTGVnYWN5IExvY2F0aW9uOiAk
QFxuIiBpZiAkQDsKLSAgICB1bmRlZiAkQDsKLQotICAgICMgSXQncyBwb3NzaWJsZSB0aGF0IGEg
bm9uLWxlZ2FjeSBpbnN0YWxsYXRpb24gd2l0aG91dCBtc2J1aWxkCi0gICAgIyB3b3VsZCBub3Qg
YmUgZm91bmQgYnkgdGhlIGxhdGVzdCwgYnV0IHdvdWxkIGJlIGZvdW5kIGJ5IHRoaXMKLSAgICAj
IHZzd2hlcmUgY2FsbCwgYW5kIHdlIHdhbnQgdG8gc2tpcCB0aG9zZSwgc28gY2hlY2sgZm9yIHZl
cnNpb25zCi0gICAgIyB3aXRoIGFuIGluc3RhbGxhdGlvbiB2ZXJzaW9uIGJlZm9yZSAxNS4wLgot
ICAgIG15IEBpbnN0YWxsYXRpb25zID0gZ3JlcCB7ICRfLT57aW5zdGFsbGF0aW9uVmVyc2lvbn0g
PCAxNSB9IEAkaW5zdGFsbGF0aW9uc19hbGw7Ci0KLSAgICAjIFdlIGRvbid0IGdldCBtdWNoIGlu
Zm9ybWF0aW9uIHRoYXQgd291bGQgbGV0IHVzIGNob29zZSBiZXR3ZWVuCi0gICAgIyBsZWdhY3kg
aW5zdGFsbGF0aW9ucywgc28gd2UnbGwgdGFrZSB0aGUgZmlyc3QuCi0gICAgaWYgKHNjYWxhciBA
aW5zdGFsbGF0aW9ucykgewotICAgICAgICBteSAkaW5zdGFsbGF0aW9uID0gJGluc3RhbGxhdGlv
bnNbMF07Ci0gICAgICAgICR2c1doZXJlTGVnYWN5SW5zdGFsbGF0aW9uID0gJGluc3RhbGxhdGlv
bjsKLSAgICAgICAgcmV0dXJuICRpbnN0YWxsYXRpb247Ci0gICAgfQotICAgIHJldHVybiB1bmRl
ZjsKLX0KLQogc3ViIHZpc3VhbFN0dWRpb0luc3RhbGxEaXIKIHsKICAgICByZXR1cm4gJHZzSW5z
dGFsbERpciBpZiBkZWZpbmVkICR2c0luc3RhbGxEaXI7CkBAIC02NzQsMTIgKzY0Miw4IEBAIHN1
YiB2aXN1YWxTdHVkaW9JbnN0YWxsRGlyCiAgICAgICAgICR2c0luc3RhbGxEaXIgPX4gc3xbXFwv
XSR8fDsKICAgICB9IGVsc2UgewogICAgICAgICAkdnNJbnN0YWxsRGlyID0gdmlzdWFsU3R1ZGlv
SW5zdGFsbERpclZTV2hlcmUoKTsKLSAgICAgICAgaWYgKG5vdCAtZSAkdnNJbnN0YWxsRGlyKSB7
Ci0gICAgICAgICAgICAkdnNJbnN0YWxsRGlyID0gdmlzdWFsU3R1ZGlvSW5zdGFsbERpckxlZ2Fj
eSgpOwotICAgICAgICB9CiAgICAgICAgIGlmIChub3QgLWUgJHZzSW5zdGFsbERpcikgewogICAg
ICAgICAgICAgJHZzSW5zdGFsbERpciA9IHZpc3VhbFN0dWRpb0luc3RhbGxEaXJGYWxsYmFjaygp
OwotICAgICAgICAgICAgcHJpbnQgIkZhbGxiYWNrICR2c0luc3RhbGxEaXJcbiI7CiAgICAgICAg
IH0KICAgICB9CiAgICAgY2hvbXAoJHZzSW5zdGFsbERpciA9IGBjeWdwYXRoICIkdnNJbnN0YWxs
RGlyImApIGlmIGlzQ3lnd2luKCk7CkBAIC02OTcsMTUgKzY2MSw2IEBAIHN1YiB2aXN1YWxTdHVk
aW9JbnN0YWxsRGlyVlNXaGVyZQogICAgIHJldHVybiB1bmRlZjsKIH0KIAotc3ViIHZpc3VhbFN0
dWRpb0luc3RhbGxEaXJMZWdhY3kKLXsKLSAgICBwaWNrTGVnYWN5VmlzdWFsU3R1ZGlvSW5zdGFs
bGF0aW9uKCk7Ci0gICAgaWYgKGRlZmluZWQoJHZzV2hlcmVMZWdhY3lJbnN0YWxsYXRpb24pKSB7
Ci0gICAgICAgIHJldHVybiAkdnNXaGVyZUxlZ2FjeUluc3RhbGxhdGlvbi0+e2luc3RhbGxhdGlv
blBhdGh9OwotICAgIH0KLSAgICByZXR1cm4gdW5kZWY7Ci19Ci0KIHN1YiB2aXN1YWxTdHVkaW9J
bnN0YWxsRGlyRmFsbGJhY2sKIHsKICAgICBmb3JlYWNoIG15ICRwcm9kdWN0VHlwZSAoKApAQCAt
NzIxLDIyICs2NzYsMTYgQEAgc3ViIHZpc3VhbFN0dWRpb0luc3RhbGxEaXJGYWxsYmFjawogICAg
ICAgICAgICAgcmV0dXJuICRpbnN0YWxsZGlyOwogICAgICAgICB9CiAgICAgfQotICAgIHJldHVy
biBGaWxlOjpTcGVjLT5jYXRkaXIocHJvZ3JhbUZpbGVzUGF0aFg4NigpLCAiTWljcm9zb2Z0IFZp
c3VhbCBTdHVkaW8gMTQuMCIpOworICAgIHJldHVybiB1bmRlZjsKIH0KIAogc3ViIG1zQnVpbGRJ
bnN0YWxsRGlyCiB7CiAgICAgcmV0dXJuICRtc0J1aWxkSW5zdGFsbERpciBpZiBkZWZpbmVkICRt
c0J1aWxkSW5zdGFsbERpcjsKIAotICAgIG15ICR2ZXJzaW9uID0gdmlzdWFsU3R1ZGlvVmVyc2lv
bigpOwotICAgIGlmICgkdmVyc2lvbiA+PSAxNS4wKSB7Ci0gICAgICAgIG15ICRpbnN0YWxsRGly
ID0gdmlzdWFsU3R1ZGlvSW5zdGFsbERpcigpOwotICAgICAgICAkbXNCdWlsZEluc3RhbGxEaXIg
PSBGaWxlOjpTcGVjLT5jYXRkaXIoJGluc3RhbGxEaXIsCi0gICAgICAgICAgICAiTVNCdWlsZCIs
ICR2ZXJzaW9uLCAiYmluIik7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgJG1zQnVpbGRJbnN0YWxs
RGlyID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKHByb2dyYW1GaWxlc1BhdGhYODYoKSwgCi0gICAgICAg
ICAgICAiTVNCdWlsZCIsICIxNC4wIiwgIkJpbiIpCi0gICAgfQorICAgIG15ICRpbnN0YWxsRGly
ID0gdmlzdWFsU3R1ZGlvSW5zdGFsbERpcigpOworICAgICRtc0J1aWxkSW5zdGFsbERpciA9IEZp
bGU6OlNwZWMtPmNhdGRpcigkaW5zdGFsbERpciwKKyAgICAgICAgIk1TQnVpbGQiLCAiMTUuMCIs
ICJiaW4iKTsKIAogICAgIGNob21wKCRtc0J1aWxkSW5zdGFsbERpciA9IGBjeWdwYXRoICIkbXNC
dWlsZEluc3RhbGxEaXIiYCkgaWYgaXNDeWd3aW4oKTsKIApAQCAtNzQ0LDM1ICs2OTMsNiBAQCBz
dWIgbXNCdWlsZEluc3RhbGxEaXIKICAgICByZXR1cm4gJG1zQnVpbGRJbnN0YWxsRGlyOwogfQog
Ci1zdWIgdmlzdWFsU3R1ZGlvVmVyc2lvbgotewotICAgIHJldHVybiAkdnNWZXJzaW9uIGlmIGRl
ZmluZWQgJHZzVmVyc2lvbjsKLQotICAgIG15ICRpbnN0YWxsRGlyID0gdmlzdWFsU3R1ZGlvSW5z
dGFsbERpcigpOwotICAgICR2c1ZlcnNpb24gPSB2aXN1YWxTdHVkaW9WZXJzaW9uRnJvbUluc3Rh
bGxEaXIoJGluc3RhbGxEaXIpOwotCi0gICAgcHJpbnQgIlVzaW5nIFZpc3VhbCBTdHVkaW8gJHZz
VmVyc2lvblxuIjsKLSAgICByZXR1cm4gJHZzVmVyc2lvbjsKLX0KLQotc3ViIHZpc3VhbFN0dWRp
b1ZlcnNpb25Gcm9tSW5zdGFsbERpcgotewotICAgIG15ICgkZGlyKSA9IEBfOwotICAgIG15ICR2
ZXJzaW9uOwotCi0gICAgaWYgKCRkaXIgPX4gbXxNaWNyb3NvZnQgVmlzdWFsIFN0dWRpb1svXFxd
MjAxN3wpIHsKLSAgICAgICAgJHZlcnNpb24gPSAiMTUuMCI7Ci0gICAgfQotCi0gICAgaWYgKCFk
ZWZpbmVkKCR2ZXJzaW9uKSkgewotICAgICAgICBpZiAoJGRpciA9fiAvTWljcm9zb2Z0IFZpc3Vh
bCBTdHVkaW8gKFswLTldK1wuWzAtOV0qKS8pIHsKLSAgICAgICAgICAgICR2ZXJzaW9uID0gJDE7
Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICByZXR1cm4gJHZlcnNpb247Ci19Ci0KIHN1YiBkZXRl
cm1pbmVDb25maWd1cmF0aW9uRm9yVmlzdWFsU3R1ZGlvCiB7CiAgICAgcmV0dXJuIGlmIGRlZmlu
ZWQgJGNvbmZpZ3VyYXRpb25Gb3JWaXN1YWxTdHVkaW87CkBAIC0xODU4LDEzICsxNzc4LDEzIEBA
IHN1YiBzZXR1cEFwcGxlV2luRW52KCkKICAgICB9IGVsc2UgewogICAgICAgICBpZiAoIWRlZmlu
ZWQgJEVOVnsnV0VCS0lUX0xJQlJBUklFUyd9IHx8ICEkRU5WeydXRUJLSVRfTElCUkFSSUVTJ30p
IHsKICAgICAgICAgICAgIHByaW50ICJXYXJuaW5nOiBZb3UgbXVzdCBzZXQgdGhlICdXZWJLaXRf
TGlicmFyaWVzJyBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIjsKLSAgICAgICAgICAgIHByaW50ICIg
ICAgICAgICB0byBiZSBhYmxlIGJ1aWxkIFdlYktpdCBmcm9tIHdpdGhpbiBWaXN1YWwgU3R1ZGlv
IDIwMTMgYW5kIG5ld2VyLlxuIjsKKyAgICAgICAgICAgIHByaW50ICIgICAgICAgICB0byBiZSBh
YmxlIGJ1aWxkIFdlYktpdCBmcm9tIHdpdGhpbiBWaXN1YWwgU3R1ZGlvIDIwMTcgYW5kIG5ld2Vy
LlxuIjsKICAgICAgICAgICAgIHByaW50ICIgICAgICAgICBNYWtlIHN1cmUgdGhhdCAnV2ViS2l0
X0xpYnJhcmllcycgcG9pbnRzIHRvIHRoZVxuIjsKICAgICAgICAgICAgIHByaW50ICIgICAgICAg
ICAnV2ViS2l0TGlicmFyaWVzL3dpbicgZGlyZWN0b3J5LCBub3QgdGhlICdXZWJLaXRMaWJyYXJp
ZXMvJyBkaXJlY3RvcnkuXG5cbiI7CiAgICAgICAgIH0KICAgICAgICAgaWYgKCFkZWZpbmVkICRF
TlZ7J1dFQktJVF9PVVRQVVRESVInfSB8fCAhJEVOVnsnV0VCS0lUX09VVFBVVERJUid9KSB7CiAg
ICAgICAgICAgICBwcmludCAiV2FybmluZzogWW91IG11c3Qgc2V0IHRoZSAnV2ViS2l0X091dHB1
dERpcicgZW52aXJvbm1lbnQgdmFyaWFibGVcbiI7Ci0gICAgICAgICAgICBwcmludCAiICAgICAg
ICAgdG8gYmUgYWJsZSBidWlsZCBXZWJLaXQgZnJvbSB3aXRoaW4gVmlzdWFsIFN0dWRpbyAyMDEz
IGFuZCBuZXdlci5cblxuIjsKKyAgICAgICAgICAgIHByaW50ICIgICAgICAgICB0byBiZSBhYmxl
IGJ1aWxkIFdlYktpdCBmcm9tIHdpdGhpbiBWaXN1YWwgU3R1ZGlvIDIwMTcgYW5kIG5ld2VyLlxu
XG4iOwogICAgICAgICB9CiAgICAgICAgIGlmICghZGVmaW5lZCAkRU5WeydNU0JVSUxERElTQUJM
RU5PREVSRVVTRSd9IHx8ICEkRU5WeydNU0JVSUxERElTQUJMRU5PREVSRVVTRSd9KSB7CiAgICAg
ICAgICAgICBwcmludCAiV2FybmluZzogWW91IHNob3VsZCBzZXQgdGhlICdNU0JVSUxERElTQUJM
RU5PREVSRVVTRScgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gJzEnXG4iOwpAQCAtMTg4NSwxOSAr
MTgwNSwxNCBAQCBzdWIgc2V0dXBDeWd3aW5FbnYoKQogCiAgICAgbXkgJHByb2dyYW1GaWxlc1Bh
dGggPSBwcm9ncmFtRmlsZXNQYXRoKCk7CiAgICAgbXkgJHZpc3VhbFN0dWRpb1BhdGggPSBGaWxl
OjpTcGVjLT5jYXRmaWxlKHZpc3VhbFN0dWRpb0luc3RhbGxEaXIoKSwgcXcoQ29tbW9uNyBJREUg
ZGV2ZW52LmNvbSkpOwotICAgIGlmICgtZSAkdmlzdWFsU3R1ZGlvUGF0aCkgewotICAgICAgICAj
IFZpc3VhbCBTdHVkaW8gaXMgaW5zdGFsbGVkOwotICAgICAgICBpZiAodmlzdWFsU3R1ZGlvVmVy
c2lvbigpIGVxICIxMiIpIHsKLSAgICAgICAgICAgICR2aXN1YWxTdHVkaW9QYXRoID0gRmlsZTo6
U3BlYy0+Y2F0ZmlsZSh2aXN1YWxTdHVkaW9JbnN0YWxsRGlyKCksIHF3KENvbW1vbjcgSURFIGRl
dmVudi5leGUpKTsKLSAgICAgICAgfQotICAgIH0gZWxzZSB7CisgICAgaWYgKCEtZSAkdmlzdWFs
U3R1ZGlvUGF0aCkgewogICAgICAgICAjIFZpc3VhbCBTdHVkaW8gbm90IGZvdW5kLCB0cnkgVkMr
KyBFeHByZXNzCiAgICAgICAgICR2aXN1YWxTdHVkaW9QYXRoID0gRmlsZTo6U3BlYy0+Y2F0Zmls
ZSh2aXN1YWxTdHVkaW9JbnN0YWxsRGlyKCksIHF3KENvbW1vbjcgSURFIFdERXhwcmVzcy5leGUp
KTsKICAgICAgICAgaWYgKCEgLWUgJHZpc3VhbFN0dWRpb1BhdGgpIHsKICAgICAgICAgICAgIHBy
aW50ICIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqXG4iOwogICAgICAgICAgICAgcHJpbnQgIkNhbm5vdCBmaW5kICckdmlzdWFsU3R1
ZGlvUGF0aCdcbiI7CiAgICAgICAgICAgICBwcmludCAiUGxlYXNlIGV4ZWN1dGUgdGhlIGZpbGUg
J3ZjdmFyczMyLmJhdCcgZnJvbVxuIjsKLSAgICAgICAgICAgIHByaW50ICInJHByb2dyYW1GaWxl
c1BhdGhcXE1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIDE0LjBcXFZDXFxiaW5cXCdcbiI7CisgICAg
ICAgICAgICBwcmludCAieW91ciBWaXN1YWwgU3R1ZGlvIDIwMTcgaW5zdGFsbGF0aW9uXG4iOwog
ICAgICAgICAgICAgcHJpbnQgInRvIHNldHVwIHRoZSBuZWNlc3NhcnkgZW52aXJvbm1lbnQgdmFy
aWFibGVzLlxuIjsKICAgICAgICAgICAgIHByaW50ICIqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4iOwogICAgICAgICAgICAgZGll
OwpAQCAtMjIyNCwxMSArMjEzOSw3IEBAIHN1YiBnZW5lcmF0ZUJ1aWxkU3lzdGVtRnJvbUNNYWtl
UHJvamVjdAogICAgICAgICAgICAgcHVzaCBAYXJncywgIk5pbmphIjsKICAgICAgICAgfQogICAg
IH0gZWxzaWYgKGlzQW55V2luZG93cygpICYmIGlzV2luNjQoKSkgewotICAgICAgICBpZiAodmlz
dWFsU3R1ZGlvVmVyc2lvbigpID49IDE1KSB7Ci0gICAgICAgICAgICBwdXNoIEBhcmdzLCAnLUcg
IlZpc3VhbCBTdHVkaW8gMTUgMjAxNyBXaW42NCInOwotICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgICAgcHVzaCBAYXJncywgJy1HICJWaXN1YWwgU3R1ZGlvIDE0IDIwMTUgV2luNjQiJzsKLSAg
ICAgICAgfQorICAgICAgICBwdXNoIEBhcmdzLCAnLUcgIlZpc3VhbCBTdHVkaW8gMTUgMjAxNyBX
aW42NCInOwogICAgIH0KICAgICAjIERvIG5vdCBzaG93IHByb2dyZXNzIG9mIGdlbmVyYXRpbmcg
YmluZGluZ3MgaW4gaW50ZXJhY3RpdmUgTmluamEgYnVpbGQgbm90IHRvIGxlYXZlIG5vaXN5IGxp
bmVzIG9uIHR0eQogICAgIHB1c2ggQGFyZ3MsICctRFNIT1dfQklORElOR1NfR0VORVJBVElPTl9Q
Uk9HUkVTUz0xJyB1bmxlc3MgKCR3aWxsVXNlTmluamEgJiYgLXQgU1RET1VUKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328539</attachid>
            <date>2017-12-05 17:47:13 -0800</date>
            <delta_ts>2017-12-05 18:19:01 -0800</delta_ts>
            <desc>Require VS2017 for building - setting reviewer based on pre-reupload r=me</desc>
            <filename>172412-5.diff</filename>
            <type>text/plain</type>
            <size>18750</size>
            <attacher name="Stephan Szabo">stephan.szabo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBjMDhmOWRjYjJmNS4uMjM0
OTMzZjczOGIgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMiBAQAorMjAxNy0xMi0wNSAgU3RlcGhhbiBTemFibyAgPHN0ZXBoYW4uc3phYm9Ac29ueS5j
b20+CisKKyAgICAgICAgU3dpdGNoIHdpbmRvd3MgYnVpbGQgdG8gVmlzdWFsIFN0dWRpbyAyMDE3
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzI0MTIK
KworICAgICAgICBSZXZpZXdlZCBieSBQZXIgQXJuZSBWb2xsYW4uCisKKyAgICAgICAgKiBTb3Vy
Y2UvY21ha2UvT3B0aW9uc01TVkMuY21ha2U6CisKIDIwMTctMTItMDEgIEtvbnN0YW50aW4gVG9r
YXJldiAgPGFubnVsZW5AeWFuZGV4LnJ1PgogCiAgICAgICAgIFtjbWFrZV0gTWFrZSBkZXNjcmlw
dGlvbiBvZiBFTkFCTEVfRFJBR19TVVBQT1JUIG1vcmUgaW5mb3JtYXRpdmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q2hhbmdlTG9nCmluZGV4IGEwZGY4YjRhMzYyLi4wNzU4YzgzOTFlYyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTctMTItMDUgIFN0ZXBoYW4gU3phYm8gIDxz
dGVwaGFuLnN6YWJvQHNvbnkuY29tPgorCisgICAgICAgIFN3aXRjaCB3aW5kb3dzIGJ1aWxkIHRv
IFZpc3VhbCBTdHVkaW8gMjAxNworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTcyNDEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUGVyIEFybmUgVm9sbGFu
LgorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS5wcm9q
OgorCiAyMDE3LTEyLTA0ICBEYXZpZCBRdWVzYWRhICA8ZGF2aWRfcXVlc2FkYUBhcHBsZS5jb20+
CiAKICAgICAgICAgQWRkIGEgY2xhc3MgZm9yIHBhcnNpbmcgYXBwbGljYXRpb24gbWFuaWZlc3Rz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJv
ai9KYXZhU2NyaXB0Q29yZS5wcm9qIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUucHJvagppbmRleCA0YzFkODU2Y2JhMS4uNzUyN2Fi
MTZjOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52
Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnByb2oKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUucHJvagpAQCAtNTQsOSArNTQsOSBA
QAogICA8VGFyZ2V0IE5hbWU9IkJ1aWxkIiBBZnRlclRhcmdldHM9IlByZUJ1aWxkIj4NCiAgICAg
PE1lc3NhZ2UgVGV4dD0iQnVpbGRpbmcgJChDT05GSUdVUkFUSU9OKSBTb2x1dGlvbiIgLz4NCiAg
ICAgPEVycm9yIFRleHQ9IkRTVFJPT1QgcHJvcGVydHkgb3IgZW52aXJvbm1lbnQgdmFyaWFibGUg
bXVzdCBiZSBkZWZpbmVkLiIgQ29uZGl0aW9uPSInJChEU1RST09UKScgPT0gJyciIC8+DQotCTxF
eGVjIENvbW1hbmQ9IiQoQ01ha2VDb21tYW5kQ29tbW9uKSAtRFdURl9DUFVfWDg2PTEgLUcgJnF1
b3Q7VmlzdWFsIFN0dWRpbyAxNCAyMDE1JnF1b3Q7IiBXb3JraW5nRGlyZWN0b3J5PSIkKE9CSlJP
T1QpLyQoQ09ORklHKS9idWlsZDMyIi8+DQorCTxFeGVjIENvbW1hbmQ9IiQoQ01ha2VDb21tYW5k
Q29tbW9uKSAtRFdURl9DUFVfWDg2PTEgLUcgJnF1b3Q7VmlzdWFsIFN0dWRpbyAxNSAyMDE3JnF1
b3Q7IiBXb3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklHKS9idWlsZDMyIi8+DQog
CTxFeGVjIENvbW1hbmQ9Im1zYnVpbGQgUHJvamVjdC5zbG4gL3A6Q29uZmlndXJhdGlvbj0kKENP
TkZJRykiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChDT05GSUcpL2J1aWxkMzIiLz4N
Ci0JPEV4ZWMgQ29tbWFuZD0iJChDTWFrZUNvbW1hbmRDb21tb24pIC1EV1RGX0NQVV9YODZfNjQ9
MSAtRyAmcXVvdDtWaXN1YWwgU3R1ZGlvIDE0IDIwMTUgV2luNjQmcXVvdDsiIFdvcmtpbmdEaXJl
Y3Rvcnk9IiQoT0JKUk9PVCkvJChDT05GSUcpL2J1aWxkNjQiLz4NCisJPEV4ZWMgQ29tbWFuZD0i
JChDTWFrZUNvbW1hbmRDb21tb24pIC1EV1RGX0NQVV9YODZfNjQ9MSAtRyAmcXVvdDtWaXN1YWwg
U3R1ZGlvIDE1IDIwMTcgV2luNjQmcXVvdDsiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkv
JChDT05GSUcpL2J1aWxkNjQiLz4NCiAJPEV4ZWMgQ29tbWFuZD0ibXNidWlsZCBQcm9qZWN0LnNs
biAvcDpDb25maWd1cmF0aW9uPSQoQ09ORklHKSIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09U
KS8kKENPTkZJRykvYnVpbGQ2NCIvPg0KICAgPC9UYXJnZXQ+DQogDQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCBjZWY3Y2UwZDdi
Ni4uNTEwYjgwMjA1NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTctMTItMDUgIFN0ZXBoYW4g
U3phYm8gIDxzdGVwaGFuLnN6YWJvQHNvbnkuY29tPgorCisgICAgICAgIFN3aXRjaCB3aW5kb3dz
IGJ1aWxkIHRvIFZpc3VhbCBTdHVkaW8gMjAxNworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyNDEyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUGVyIEFy
bmUgVm9sbGFuLgorCisgICAgICAgICogV1RGLnZjeHByb2ovV1RGLnByb2o6CisgICAgICAgICog
d3RmL0NvbXBpbGVyLmg6CisKIDIwMTctMTItMDQgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgTWlub3IgRGlzcGxheVJlZnJlc2hNb25pdG9yLXJlbGF0
ZWQgY2xlYW51cApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYucHJvaiBi
L1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnByb2oKaW5kZXggOGVhZjllYWYzNmIuLjUyOTE2
NThmMDQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi52Y3hwcm9qL1dURi5wcm9qCisrKyBi
L1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnByb2oKQEAgLTQ2LDkgKzQ2LDkgQEAKICAgPFRh
cmdldCBOYW1lPSJCdWlsZCIgQWZ0ZXJUYXJnZXRzPSJQcmVCdWlsZCI+DQogICAgIDxNZXNzYWdl
IFRleHQ9IkJ1aWxkaW5nICQoQ09ORklHVVJBVElPTikgU29sdXRpb24iIC8+DQogICAgIDxFcnJv
ciBUZXh0PSJEU1RST09UIHByb3BlcnR5IG9yIGVudmlyb25tZW50IHZhcmlhYmxlIG11c3QgYmUg
ZGVmaW5lZC4iIENvbmRpdGlvbj0iJyQoRFNUUk9PVCknID09ICcnIiAvPg0KLQk8RXhlYyBDb21t
YW5kPSIkKENNYWtlQ29tbWFuZENvbW1vbikgLURXVEZfQ1BVX1g4Nj0xIC1HICZxdW90O1Zpc3Vh
bCBTdHVkaW8gMTQgMjAxNSZxdW90OyIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENP
TkZJRykvYnVpbGQzMiIvPg0KKwk8RXhlYyBDb21tYW5kPSIkKENNYWtlQ29tbWFuZENvbW1vbikg
LURXVEZfQ1BVX1g4Nj0xIC1HICZxdW90O1Zpc3VhbCBTdHVkaW8gMTUgMjAxNyZxdW90OyIgV29y
a2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJRykvYnVpbGQzMiIvPg0KIAk8RXhlYyBD
b21tYW5kPSJtc2J1aWxkIFByb2plY3Quc2xuIC9wOkNvbmZpZ3VyYXRpb249JChDT05GSUcpIiBX
b3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklHKS9idWlsZDMyIi8+DQotCTxFeGVj
IENvbW1hbmQ9IiQoQ01ha2VDb21tYW5kQ29tbW9uKSAtRFdURl9DUFVfWDg2XzY0PTEgLUcgJnF1
b3Q7VmlzdWFsIFN0dWRpbyAxNCAyMDE1IFdpbjY0JnF1b3Q7IiBXb3JraW5nRGlyZWN0b3J5PSIk
KE9CSlJPT1QpLyQoQ09ORklHKS9idWlsZDY0Ii8+DQorCTxFeGVjIENvbW1hbmQ9IiQoQ01ha2VD
b21tYW5kQ29tbW9uKSAtRFdURl9DUFVfWDg2XzY0PTEgLUcgJnF1b3Q7VmlzdWFsIFN0dWRpbyAx
NSAyMDE3IFdpbjY0JnF1b3Q7IiBXb3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklH
KS9idWlsZDY0Ii8+DQogCTxFeGVjIENvbW1hbmQ9Im1zYnVpbGQgUHJvamVjdC5zbG4gL3A6Q29u
ZmlndXJhdGlvbj0kKENPTkZJRykiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChDT05G
SUcpL2J1aWxkNjQiLz4NCiAgIDwvVGFyZ2V0Pg0KIA0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL0NvbXBpbGVyLmggYi9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oCmluZGV4IDY5NzUyMzQ1
Y2UzLi5jZWIzNWRiNTZlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oCkBAIC0xMzAsOCArMTMwLDggQEAKICNkZWZp
bmUgV1RGX0NPTVBJTEVSX01TVkMgMQogI2RlZmluZSBXVEZfQ09NUElMRVJfU1VQUE9SVFNfQ1hY
X1JFRkVSRU5DRV9RVUFMSUZJRURfRlVOQ1RJT05TIDEKIAotI2lmIF9NU0NfVkVSIDwgMTkwMAot
I2Vycm9yICJQbGVhc2UgdXNlIGEgbmV3ZXIgdmVyc2lvbiBvZiBWaXN1YWwgU3R1ZGlvLiBXZWJL
aXQgcmVxdWlyZXMgVlMyMDE1IG9yIG5ld2VyIHRvIGNvbXBpbGUuIgorI2lmIF9NU0NfVkVSIDwg
MTkxMAorI2Vycm9yICJQbGVhc2UgdXNlIGEgbmV3ZXIgdmVyc2lvbiBvZiBWaXN1YWwgU3R1ZGlv
LiBXZWJLaXQgcmVxdWlyZXMgVlMyMDE3IG9yIG5ld2VyIHRvIGNvbXBpbGUuIgogI2VuZGlmCiAK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IGEyM2NhZjJlMTI5Li44ODI1YTRjNWI1NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDE3LTEyLTA1ICBTdGVwaGFuIFN6YWJvICA8c3RlcGhhbi5z
emFib0Bzb255LmNvbT4KKworICAgICAgICBTd2l0Y2ggd2luZG93cyBidWlsZCB0byBWaXN1YWwg
U3R1ZGlvIDIwMTcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3MjQxMgorCisgICAgICAgIFJldmlld2VkIGJ5IFBlciBBcm5lIFZvbGxhbi4KKworICAg
ICAgICBPbmx5IGNoYW5nZXMgcHJvaiBmaWxlIHRvIHVwZGF0ZSBnZW5lcmF0b3IKKworICAgICAg
ICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnByb2o6CisKIDIwMTctMTItMDQgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBTdXBwb3J0IGNvbnRhaW5lci5nZXRS
ZWdpc3RyYXRpb24oKSAvIGdldFJlZ2lzdHJhdGlvbnMoKSBpbnNpZGUgc2VydmljZSB3b3JrZXJz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS5wcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUucHJvagppbmRleCAyNzU2
OWQ3ODhiNS4uYTY2ZmVjZjk5NjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmN4cHJvai9XZWJDb3JlLnByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUucHJvagpAQCAtNTQsOSArNTQsOSBAQAogICA8VGFyZ2V0IE5hbWU9IkJ1aWxkIiBB
ZnRlclRhcmdldHM9IlByZUJ1aWxkIj4NCiAgICAgPE1lc3NhZ2UgVGV4dD0iQnVpbGRpbmcgJChD
T05GSUdVUkFUSU9OKSBTb2x1dGlvbiIgLz4NCiAgICAgPEVycm9yIFRleHQ9IkRTVFJPT1QgcHJv
cGVydHkgb3IgZW52aXJvbm1lbnQgdmFyaWFibGUgbXVzdCBiZSBkZWZpbmVkLiIgQ29uZGl0aW9u
PSInJChEU1RST09UKScgPT0gJyciIC8+DQotCTxFeGVjIENvbW1hbmQ9IiQoQ01ha2VDb21tYW5k
Q29tbW9uKSAtRFdURl9DUFVfWDg2PTEgLUcgJnF1b3Q7VmlzdWFsIFN0dWRpbyAxNCAyMDE1JnF1
b3Q7IiBXb3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklHKS9idWlsZDMyIi8+DQor
CTxFeGVjIENvbW1hbmQ9IiQoQ01ha2VDb21tYW5kQ29tbW9uKSAtRFdURl9DUFVfWDg2PTEgLUcg
JnF1b3Q7VmlzdWFsIFN0dWRpbyAxNSAyMDE3JnF1b3Q7IiBXb3JraW5nRGlyZWN0b3J5PSIkKE9C
SlJPT1QpLyQoQ09ORklHKS9idWlsZDMyIi8+DQogCTxFeGVjIENvbW1hbmQ9Im1zYnVpbGQgUHJv
amVjdC5zbG4gL3A6Q29uZmlndXJhdGlvbj0kKENPTkZJRykiIFdvcmtpbmdEaXJlY3Rvcnk9IiQo
T0JKUk9PVCkvJChDT05GSUcpL2J1aWxkMzIiLz4NCi0JPEV4ZWMgQ29tbWFuZD0iJChDTWFrZUNv
bW1hbmRDb21tb24pIC1EV1RGX0NQVV9YODZfNjQ9MSAtRyAmcXVvdDtWaXN1YWwgU3R1ZGlvIDE0
IDIwMTUgV2luNjQmcXVvdDsiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChDT05GSUcp
L2J1aWxkNjQiLz4NCisJPEV4ZWMgQ29tbWFuZD0iJChDTWFrZUNvbW1hbmRDb21tb24pIC1EV1RG
X0NQVV9YODZfNjQ9MSAtRyAmcXVvdDtWaXN1YWwgU3R1ZGlvIDE1IDIwMTcgV2luNjQmcXVvdDsi
IFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChDT05GSUcpL2J1aWxkNjQiLz4NCiAJPEV4
ZWMgQ29tbWFuZD0ibXNidWlsZCBQcm9qZWN0LnNsbiAvcDpDb25maWd1cmF0aW9uPSQoQ09ORklH
KSIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8kKENPTkZJRykvYnVpbGQ2NCIvPg0KICAg
PC9UYXJnZXQ+DQogDQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L0NoYW5nZUxvZwppbmRleCBiNWJiZDZiNGEzNC4uYmJkZmE5
MGY0M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTctMTItMDUg
IFN0ZXBoYW4gU3phYm8gIDxzdGVwaGFuLnN6YWJvQHNvbnkuY29tPgorCisgICAgICAgIFN3aXRj
aCB3aW5kb3dzIGJ1aWxkIHRvIFZpc3VhbCBTdHVkaW8gMjAxNworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcyNDEyCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgUGVyIEFybmUgVm9sbGFuLgorCisgICAgICAgICogV2ViS2l0TGVnYWN5LnZjeHByb2ovV2Vi
S2l0TGVnYWN5LnByb2o6CisKIDIwMTctMTEtMjcgIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVh
ZEBzb255LmNvbT4KIAogICAgICAgICBbQ01ha2VdW1dpbl0gQ29uZGl0aW9uYWxseSBzZWxlY3Qg
RExMIENSVCBvciBzdGF0aWMgQ1JUCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dl
YktpdExlZ2FjeS52Y3hwcm9qL1dlYktpdExlZ2FjeS5wcm9qIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9XZWJLaXRMZWdhY3kudmN4cHJvai9XZWJLaXRMZWdhY3kucHJvagppbmRleCBlNDEwMWZjNTI0
NC4uNDRlZjUzMTYyYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvV2ViS2l0TGVn
YWN5LnZjeHByb2ovV2ViS2l0TGVnYWN5LnByb2oKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9X
ZWJLaXRMZWdhY3kudmN4cHJvai9XZWJLaXRMZWdhY3kucHJvagpAQCAtNTQsOSArNTQsOSBAQAog
ICA8VGFyZ2V0IE5hbWU9IkJ1aWxkIiBBZnRlclRhcmdldHM9IlByZUJ1aWxkIj4NCiAgICAgPE1l
c3NhZ2UgVGV4dD0iQnVpbGRpbmcgJChDT05GSUdVUkFUSU9OKSBTb2x1dGlvbiIgLz4NCiAgICAg
PEVycm9yIFRleHQ9IkRTVFJPT1QgcHJvcGVydHkgb3IgZW52aXJvbm1lbnQgdmFyaWFibGUgbXVz
dCBiZSBkZWZpbmVkLiIgQ29uZGl0aW9uPSInJChEU1RST09UKScgPT0gJyciIC8+DQotCTxFeGVj
IENvbW1hbmQ9IiQoQ01ha2VDb21tYW5kQ29tbW9uKSAtRFdURl9DUFVfWDg2PTEgLUcgJnF1b3Q7
VmlzdWFsIFN0dWRpbyAxNCAyMDE1JnF1b3Q7IiBXb3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1Qp
LyQoQ09ORklHKS9idWlsZDMyIi8+DQorCTxFeGVjIENvbW1hbmQ9IiQoQ01ha2VDb21tYW5kQ29t
bW9uKSAtRFdURl9DUFVfWDg2PTEgLUcgJnF1b3Q7VmlzdWFsIFN0dWRpbyAxNSAyMDE3JnF1b3Q7
IiBXb3JraW5nRGlyZWN0b3J5PSIkKE9CSlJPT1QpLyQoQ09ORklHKS9idWlsZDMyIi8+DQogCTxF
eGVjIENvbW1hbmQ9Im1zYnVpbGQgUHJvamVjdC5zbG4gL3A6Q29uZmlndXJhdGlvbj0kKENPTkZJ
RykiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChDT05GSUcpL2J1aWxkMzIiLz4NCi0J
PEV4ZWMgQ29tbWFuZD0iJChDTWFrZUNvbW1hbmRDb21tb24pIC1EV1RGX0NQVV9YODZfNjQ9MSAt
RyAmcXVvdDtWaXN1YWwgU3R1ZGlvIDE0IDIwMTUgV2luNjQmcXVvdDsiIFdvcmtpbmdEaXJlY3Rv
cnk9IiQoT0JKUk9PVCkvJChDT05GSUcpL2J1aWxkNjQiLz4NCisJPEV4ZWMgQ29tbWFuZD0iJChD
TWFrZUNvbW1hbmRDb21tb24pIC1EV1RGX0NQVV9YODZfNjQ9MSAtRyAmcXVvdDtWaXN1YWwgU3R1
ZGlvIDE1IDIwMTcgV2luNjQmcXVvdDsiIFdvcmtpbmdEaXJlY3Rvcnk9IiQoT0JKUk9PVCkvJChD
T05GSUcpL2J1aWxkNjQiLz4NCiAJPEV4ZWMgQ29tbWFuZD0ibXNidWlsZCBQcm9qZWN0LnNsbiAv
cDpDb25maWd1cmF0aW9uPSQoQ09ORklHKSIgV29ya2luZ0RpcmVjdG9yeT0iJChPQkpST09UKS8k
KENPTkZJRykvYnVpbGQ2NCIvPg0KICAgPC9UYXJnZXQ+DQogDQpkaWZmIC0tZ2l0IGEvU291cmNl
L2NtYWtlL09wdGlvbnNNU1ZDLmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNNU1ZDLmNtYWtl
CmluZGV4IGZkMjViZDRmODU0Li43ZjM3OGZmOGFhOSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtl
L09wdGlvbnNNU1ZDLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zTVNWQy5jbWFrZQpA
QCAtOTcsMTAgKzk3LDExIEBAIHN0cmluZyhSRVBMQUNFICJJTkNSRU1FTlRBTDpZRVMiICJJTkNS
RU1FTlRBTDpOTyIgcmVwbGFjZV9DTUFLRV9FWEVfTElOS0VSX0ZMQUdTCiBzZXQoQ01BS0VfRVhF
X0xJTktFUl9GTEFHU19SRUxXSVRIREVCSU5GTyAiJHtyZXBsYWNlX0NNQUtFX0VYRV9MSU5LRVJf
RkxBR1NfUkVMV0lUSERFQklORk99IC9JTkNSRU1FTlRBTDpOTyIpCiAKIGlmIChDT01QSUxFUl9J
U19DTEFOR19DTCkKLSAgICAjIEZJWE1FOiBXZSBuZWVkIHRvIHNldCB0aGUgbXNjLXZlcnNpb24g
YWJvdmUgdGhlIG9uZSBpdCBkZWZhdWx0cyB0bwotICAgICMgd2hlbiB1c2luZyBjbGFuZy1jbCB3
aXRoIFZTMjAxNS4gVGhpcyBtaWdodCBiZSB1bm5lY2Vzc2FyeSB3aGVuIG1vdmluZyB0bwotICAg
ICMgVlMyMDE3IGFzIHBhcnQgb2YgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3MjQxMgotICAgIGFkZF9jb21waWxlX29wdGlvbnMoLWZtc2MtdmVyc2lvbj0xOTAwMjM5
MTgpCisgICAgIyBGSVhNRTogVGhlIGNsYW5nLWNsIHZpc3VhbCBzdHVkaW8gaW50ZWdyYXRpb24g
c2VlbWVkIHRvIHNldAorICAgICMgdGhpcyB0byAxOTAwIGV4cGxpY2l0bHkgZXZlbiB3aGVuIGJ1
aWxkaW5nIGluIFZTMjAxNyB3aXRoIHRoZQorICAgICMgbmV3ZXN0IHRvb2xzZXQgb3B0aW9uLCBi
dXQgd2Ugd2FudCB0byBiZSB2ZXJzaW9uZWQgdG8gbWF0Y2gKKyAgICAjIFZTMjAxNy4KKyAgICBh
ZGRfY29tcGlsZV9vcHRpb25zKC1mbXNjLXZlcnNpb249MTkxMSkKIAogICAgICMgRklYTUU6IEJ1
aWxkaW5nIHdpdGggY2xhbmctY2wgc2VlbWVkIHRvIGZhaWwgd2l0aCAxMjggYml0IGludCBzdXBw
b3J0CiAgICAgc2V0KEhBVkVfSU5UMTI4X1QgT0ZGKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDNhYzNkZTZiNTM2Li43MTMzMDkzMjJhMCAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIzIEBACisyMDE3LTEyLTA1ICBTdGVwaGFuIFN6YWJvICA8c3RlcGhhbi5zemFib0Bzb255LmNv
bT4KKworICAgICAgICBTd2l0Y2ggd2luZG93cyBidWlsZCB0byBWaXN1YWwgU3R1ZGlvIDIwMTcK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MjQxMgor
CisgICAgICAgIFJldmlld2VkIGJ5IFBlciBBcm5lIFZvbGxhbi4KKworICAgICAgICAqIFNjcmlw
dHMvYnVpbGQtd2Via2l0OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0ZGlycy5wbToKKyAgICAg
ICAgKHZpc3VhbFN0dWRpb0luc3RhbGxEaXIpOgorICAgICAgICAodmlzdWFsU3R1ZGlvSW5zdGFs
bERpckZhbGxiYWNrKToKKyAgICAgICAgKG1zQnVpbGRJbnN0YWxsRGlyKToKKyAgICAgICAgKHNl
dHVwQXBwbGVXaW5FbnYpOgorICAgICAgICAoc2V0dXBDeWd3aW5FbnYpOgorICAgICAgICAoZ2Vu
ZXJhdGVCdWlsZFN5c3RlbUZyb21DTWFrZVByb2plY3QpOgorICAgICAgICAocGlja0xlZ2FjeVZp
c3VhbFN0dWRpb0luc3RhbGxhdGlvbik6IERlbGV0ZWQuCisgICAgICAgICh2aXN1YWxTdHVkaW9J
bnN0YWxsRGlyTGVnYWN5KTogRGVsZXRlZC4KKyAgICAgICAgKHZpc3VhbFN0dWRpb1ZlcnNpb24p
OiBEZWxldGVkLgorICAgICAgICAodmlzdWFsU3R1ZGlvVmVyc2lvbkZyb21JbnN0YWxsRGlyKTog
RGVsZXRlZC4KKwogMjAxNy0xMi0wNCAgTmFuIFdhbmcgIDxuX3dhbmdAYXBwbGUuY29tPgogCiAg
ICAgICAgIEFYOiBBT006IEltcGxlbWVudCByZWxhdGlvbiB0eXBlIHByb3BlcnRpZXMKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0IGIvVG9vbHMvU2NyaXB0cy9idWlsZC13
ZWJraXQKaW5kZXggYzgyNmEwMzhlNjMuLmZlNmI3M2Y1ZWYyIDEwMDc1NQotLS0gYS9Ub29scy9T
Y3JpcHRzL2J1aWxkLXdlYmtpdAorKysgYi9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdApAQCAt
Mjg4LDcgKzI4OCw3IEBAIGlmIChpc0FwcGxlV2luV2ViS2l0KCkgfHwgaXNXaW5DYWlybygpKSB7
CiAKICAgICBjaGRpcldlYktpdCgpOwogICAgIGlmIChleGl0U3RhdHVzKGdlbmVyYXRlQnVpbGRT
eXN0ZW1Gcm9tQ01ha2VQcm9qZWN0KCRwcmVmaXhQYXRoLCBAY21ha2VBcmdzKSkpIHsKLSAgICAg
ICAgZGllICJSdW4gXCJDOi9Qcm9ncmFtIEZpbGVzICh4ODYpL01pY3Jvc29mdCBWaXN1YWwgU3R1
ZGlvIDE0LjAvVkMvdmN2YXJzYWxsLmJhdFwiIGJlZm9yZSBidWlsZC13ZWJraXQgd2hlbiB1c2lu
ZyBuaW5qYSI7CisgICAgICAgIGRpZSAiUnVuIFZpc3VhbCBTdHVkaW8gMjAxNyBpbnN0YWxsYXRp
b24gdmN2YXJzLmJhdCBiZWZvcmUgYnVpbGQtd2Via2l0IHdoZW4gdXNpbmcgbmluamEiOwogICAg
IH0KIAogICAgIGV4aXQgMCBpZiBpc0dlbmVyYXRlUHJvamVjdE9ubHkoKTsKZGlmZiAtLWdpdCBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5w
bQppbmRleCAxNjgyYmI5YmY4OC4uM2YyNjQ4NzFmOWQgMTAwNzU1Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0ZGlycy5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KQEAgLTE2
MSw3ICsxNjEsNiBAQCBteSAkd2luZG93c1NvdXJjZURpcjsKIG15ICR3aW5WZXJzaW9uOwogbXkg
JHdpbGxVc2VWQ0V4cHJlc3NXaGVuQnVpbGRpbmcgPSAwOwogbXkgJHZzV2hlcmVGb3VuZEluc3Rh
bGxhdGlvbjsKLW15ICR2c1doZXJlTGVnYWN5SW5zdGFsbGF0aW9uOwogCiAjIERlZmluZWQgaW4g
VkNTVXRpbHMuCiBzdWIgZXhpdFN0YXR1cygkKTsKQEAgLTYzNCwzNyArNjMzLDYgQEAgc3ViIHBp
Y2tDdXJyZW50VmlzdWFsU3R1ZGlvSW5zdGFsbGF0aW9uCiAgICAgcmV0dXJuIHVuZGVmOwogfQog
Ci1zdWIgcGlja0xlZ2FjeVZpc3VhbFN0dWRpb0luc3RhbGxhdGlvbgotewotICAgIHJldHVybiAk
dnNXaGVyZUxlZ2FjeUluc3RhbGxhdGlvbiBpZiBkZWZpbmVkICR2c1doZXJlTGVnYWN5SW5zdGFs
bGF0aW9uOwotCi0gICAgcmVxdWlyZU1vZHVsZXNGb3JWU1doZXJlKCk7Ci0gICAgZGV0ZXJtaW5l
U291cmNlRGlyKCk7Ci0KLSAgICBteSAkdnNXaGVyZU91dCA9IGAkc291cmNlRGlyL1dlYktpdExp
YnJhcmllcy93aW4vdG9vbHMvdnN3aGVyZSAtbm9sb2dvIC1sZWdhY3kgLWZvcm1hdCBqc29uYDsK
LSAgICBteSAkaW5zdGFsbGF0aW9uc19hbGwgPSBbXTsKLSAgICBldmFsIHsKLSAgICAgICAgJGlu
c3RhbGxhdGlvbnNfYWxsID0gSlNPTjo6UFA6OmRlY29kZV9qc29uKEVuY29kZTo6ZW5jb2RlKCdV
VEYtOCcgPT4gRW5jb2RlOjpkZWNvZGUoY29uc29sZV9pbiA9PiAkdnNXaGVyZU91dCkpKTsKLSAg
ICB9OwotICAgIHByaW50ICJFcnJvciBnZXR0aW5nIFZpc3VhbCBTdHVkaW8gTGVnYWN5IExvY2F0
aW9uOiAkQFxuIiBpZiAkQDsKLSAgICB1bmRlZiAkQDsKLQotICAgICMgSXQncyBwb3NzaWJsZSB0
aGF0IGEgbm9uLWxlZ2FjeSBpbnN0YWxsYXRpb24gd2l0aG91dCBtc2J1aWxkCi0gICAgIyB3b3Vs
ZCBub3QgYmUgZm91bmQgYnkgdGhlIGxhdGVzdCwgYnV0IHdvdWxkIGJlIGZvdW5kIGJ5IHRoaXMK
LSAgICAjIHZzd2hlcmUgY2FsbCwgYW5kIHdlIHdhbnQgdG8gc2tpcCB0aG9zZSwgc28gY2hlY2sg
Zm9yIHZlcnNpb25zCi0gICAgIyB3aXRoIGFuIGluc3RhbGxhdGlvbiB2ZXJzaW9uIGJlZm9yZSAx
NS4wLgotICAgIG15IEBpbnN0YWxsYXRpb25zID0gZ3JlcCB7ICRfLT57aW5zdGFsbGF0aW9uVmVy
c2lvbn0gPCAxNSB9IEAkaW5zdGFsbGF0aW9uc19hbGw7Ci0KLSAgICAjIFdlIGRvbid0IGdldCBt
dWNoIGluZm9ybWF0aW9uIHRoYXQgd291bGQgbGV0IHVzIGNob29zZSBiZXR3ZWVuCi0gICAgIyBs
ZWdhY3kgaW5zdGFsbGF0aW9ucywgc28gd2UnbGwgdGFrZSB0aGUgZmlyc3QuCi0gICAgaWYgKHNj
YWxhciBAaW5zdGFsbGF0aW9ucykgewotICAgICAgICBteSAkaW5zdGFsbGF0aW9uID0gJGluc3Rh
bGxhdGlvbnNbMF07Ci0gICAgICAgICR2c1doZXJlTGVnYWN5SW5zdGFsbGF0aW9uID0gJGluc3Rh
bGxhdGlvbjsKLSAgICAgICAgcmV0dXJuICRpbnN0YWxsYXRpb247Ci0gICAgfQotICAgIHJldHVy
biB1bmRlZjsKLX0KLQogc3ViIHZpc3VhbFN0dWRpb0luc3RhbGxEaXIKIHsKICAgICByZXR1cm4g
JHZzSW5zdGFsbERpciBpZiBkZWZpbmVkICR2c0luc3RhbGxEaXI7CkBAIC02NzQsMTIgKzY0Miw4
IEBAIHN1YiB2aXN1YWxTdHVkaW9JbnN0YWxsRGlyCiAgICAgICAgICR2c0luc3RhbGxEaXIgPX4g
c3xbXFwvXSR8fDsKICAgICB9IGVsc2UgewogICAgICAgICAkdnNJbnN0YWxsRGlyID0gdmlzdWFs
U3R1ZGlvSW5zdGFsbERpclZTV2hlcmUoKTsKLSAgICAgICAgaWYgKG5vdCAtZSAkdnNJbnN0YWxs
RGlyKSB7Ci0gICAgICAgICAgICAkdnNJbnN0YWxsRGlyID0gdmlzdWFsU3R1ZGlvSW5zdGFsbERp
ckxlZ2FjeSgpOwotICAgICAgICB9CiAgICAgICAgIGlmIChub3QgLWUgJHZzSW5zdGFsbERpcikg
ewogICAgICAgICAgICAgJHZzSW5zdGFsbERpciA9IHZpc3VhbFN0dWRpb0luc3RhbGxEaXJGYWxs
YmFjaygpOwotICAgICAgICAgICAgcHJpbnQgIkZhbGxiYWNrICR2c0luc3RhbGxEaXJcbiI7CiAg
ICAgICAgIH0KICAgICB9CiAgICAgY2hvbXAoJHZzSW5zdGFsbERpciA9IGBjeWdwYXRoICIkdnNJ
bnN0YWxsRGlyImApIGlmIGlzQ3lnd2luKCk7CkBAIC02OTcsMTUgKzY2MSw2IEBAIHN1YiB2aXN1
YWxTdHVkaW9JbnN0YWxsRGlyVlNXaGVyZQogICAgIHJldHVybiB1bmRlZjsKIH0KIAotc3ViIHZp
c3VhbFN0dWRpb0luc3RhbGxEaXJMZWdhY3kKLXsKLSAgICBwaWNrTGVnYWN5VmlzdWFsU3R1ZGlv
SW5zdGFsbGF0aW9uKCk7Ci0gICAgaWYgKGRlZmluZWQoJHZzV2hlcmVMZWdhY3lJbnN0YWxsYXRp
b24pKSB7Ci0gICAgICAgIHJldHVybiAkdnNXaGVyZUxlZ2FjeUluc3RhbGxhdGlvbi0+e2luc3Rh
bGxhdGlvblBhdGh9OwotICAgIH0KLSAgICByZXR1cm4gdW5kZWY7Ci19Ci0KIHN1YiB2aXN1YWxT
dHVkaW9JbnN0YWxsRGlyRmFsbGJhY2sKIHsKICAgICBmb3JlYWNoIG15ICRwcm9kdWN0VHlwZSAo
KApAQCAtNzIxLDIyICs2NzYsMTYgQEAgc3ViIHZpc3VhbFN0dWRpb0luc3RhbGxEaXJGYWxsYmFj
awogICAgICAgICAgICAgcmV0dXJuICRpbnN0YWxsZGlyOwogICAgICAgICB9CiAgICAgfQotICAg
IHJldHVybiBGaWxlOjpTcGVjLT5jYXRkaXIocHJvZ3JhbUZpbGVzUGF0aFg4NigpLCAiTWljcm9z
b2Z0IFZpc3VhbCBTdHVkaW8gMTQuMCIpOworICAgIHJldHVybiB1bmRlZjsKIH0KIAogc3ViIG1z
QnVpbGRJbnN0YWxsRGlyCiB7CiAgICAgcmV0dXJuICRtc0J1aWxkSW5zdGFsbERpciBpZiBkZWZp
bmVkICRtc0J1aWxkSW5zdGFsbERpcjsKIAotICAgIG15ICR2ZXJzaW9uID0gdmlzdWFsU3R1ZGlv
VmVyc2lvbigpOwotICAgIGlmICgkdmVyc2lvbiA+PSAxNS4wKSB7Ci0gICAgICAgIG15ICRpbnN0
YWxsRGlyID0gdmlzdWFsU3R1ZGlvSW5zdGFsbERpcigpOwotICAgICAgICAkbXNCdWlsZEluc3Rh
bGxEaXIgPSBGaWxlOjpTcGVjLT5jYXRkaXIoJGluc3RhbGxEaXIsCi0gICAgICAgICAgICAiTVNC
dWlsZCIsICR2ZXJzaW9uLCAiYmluIik7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgJG1zQnVpbGRJ
bnN0YWxsRGlyID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKHByb2dyYW1GaWxlc1BhdGhYODYoKSwgCi0g
ICAgICAgICAgICAiTVNCdWlsZCIsICIxNC4wIiwgIkJpbiIpCi0gICAgfQorICAgIG15ICRpbnN0
YWxsRGlyID0gdmlzdWFsU3R1ZGlvSW5zdGFsbERpcigpOworICAgICRtc0J1aWxkSW5zdGFsbERp
ciA9IEZpbGU6OlNwZWMtPmNhdGRpcigkaW5zdGFsbERpciwKKyAgICAgICAgIk1TQnVpbGQiLCAi
MTUuMCIsICJiaW4iKTsKIAogICAgIGNob21wKCRtc0J1aWxkSW5zdGFsbERpciA9IGBjeWdwYXRo
ICIkbXNCdWlsZEluc3RhbGxEaXIiYCkgaWYgaXNDeWd3aW4oKTsKIApAQCAtNzQ0LDM1ICs2OTMs
NiBAQCBzdWIgbXNCdWlsZEluc3RhbGxEaXIKICAgICByZXR1cm4gJG1zQnVpbGRJbnN0YWxsRGly
OwogfQogCi1zdWIgdmlzdWFsU3R1ZGlvVmVyc2lvbgotewotICAgIHJldHVybiAkdnNWZXJzaW9u
IGlmIGRlZmluZWQgJHZzVmVyc2lvbjsKLQotICAgIG15ICRpbnN0YWxsRGlyID0gdmlzdWFsU3R1
ZGlvSW5zdGFsbERpcigpOwotICAgICR2c1ZlcnNpb24gPSB2aXN1YWxTdHVkaW9WZXJzaW9uRnJv
bUluc3RhbGxEaXIoJGluc3RhbGxEaXIpOwotCi0gICAgcHJpbnQgIlVzaW5nIFZpc3VhbCBTdHVk
aW8gJHZzVmVyc2lvblxuIjsKLSAgICByZXR1cm4gJHZzVmVyc2lvbjsKLX0KLQotc3ViIHZpc3Vh
bFN0dWRpb1ZlcnNpb25Gcm9tSW5zdGFsbERpcgotewotICAgIG15ICgkZGlyKSA9IEBfOwotICAg
IG15ICR2ZXJzaW9uOwotCi0gICAgaWYgKCRkaXIgPX4gbXxNaWNyb3NvZnQgVmlzdWFsIFN0dWRp
b1svXFxdMjAxN3wpIHsKLSAgICAgICAgJHZlcnNpb24gPSAiMTUuMCI7Ci0gICAgfQotCi0gICAg
aWYgKCFkZWZpbmVkKCR2ZXJzaW9uKSkgewotICAgICAgICBpZiAoJGRpciA9fiAvTWljcm9zb2Z0
IFZpc3VhbCBTdHVkaW8gKFswLTldK1wuWzAtOV0qKS8pIHsKLSAgICAgICAgICAgICR2ZXJzaW9u
ID0gJDE7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICByZXR1cm4gJHZlcnNpb247Ci19Ci0KIHN1
YiBkZXRlcm1pbmVDb25maWd1cmF0aW9uRm9yVmlzdWFsU3R1ZGlvCiB7CiAgICAgcmV0dXJuIGlm
IGRlZmluZWQgJGNvbmZpZ3VyYXRpb25Gb3JWaXN1YWxTdHVkaW87CkBAIC0xODU4LDEzICsxNzc4
LDEzIEBAIHN1YiBzZXR1cEFwcGxlV2luRW52KCkKICAgICB9IGVsc2UgewogICAgICAgICBpZiAo
IWRlZmluZWQgJEVOVnsnV0VCS0lUX0xJQlJBUklFUyd9IHx8ICEkRU5WeydXRUJLSVRfTElCUkFS
SUVTJ30pIHsKICAgICAgICAgICAgIHByaW50ICJXYXJuaW5nOiBZb3UgbXVzdCBzZXQgdGhlICdX
ZWJLaXRfTGlicmFyaWVzJyBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIjsKLSAgICAgICAgICAgIHBy
aW50ICIgICAgICAgICB0byBiZSBhYmxlIGJ1aWxkIFdlYktpdCBmcm9tIHdpdGhpbiBWaXN1YWwg
U3R1ZGlvIDIwMTMgYW5kIG5ld2VyLlxuIjsKKyAgICAgICAgICAgIHByaW50ICIgICAgICAgICB0
byBiZSBhYmxlIGJ1aWxkIFdlYktpdCBmcm9tIHdpdGhpbiBWaXN1YWwgU3R1ZGlvIDIwMTcgYW5k
IG5ld2VyLlxuIjsKICAgICAgICAgICAgIHByaW50ICIgICAgICAgICBNYWtlIHN1cmUgdGhhdCAn
V2ViS2l0X0xpYnJhcmllcycgcG9pbnRzIHRvIHRoZVxuIjsKICAgICAgICAgICAgIHByaW50ICIg
ICAgICAgICAnV2ViS2l0TGlicmFyaWVzL3dpbicgZGlyZWN0b3J5LCBub3QgdGhlICdXZWJLaXRM
aWJyYXJpZXMvJyBkaXJlY3RvcnkuXG5cbiI7CiAgICAgICAgIH0KICAgICAgICAgaWYgKCFkZWZp
bmVkICRFTlZ7J1dFQktJVF9PVVRQVVRESVInfSB8fCAhJEVOVnsnV0VCS0lUX09VVFBVVERJUid9
KSB7CiAgICAgICAgICAgICBwcmludCAiV2FybmluZzogWW91IG11c3Qgc2V0IHRoZSAnV2ViS2l0
X091dHB1dERpcicgZW52aXJvbm1lbnQgdmFyaWFibGVcbiI7Ci0gICAgICAgICAgICBwcmludCAi
ICAgICAgICAgdG8gYmUgYWJsZSBidWlsZCBXZWJLaXQgZnJvbSB3aXRoaW4gVmlzdWFsIFN0dWRp
byAyMDEzIGFuZCBuZXdlci5cblxuIjsKKyAgICAgICAgICAgIHByaW50ICIgICAgICAgICB0byBi
ZSBhYmxlIGJ1aWxkIFdlYktpdCBmcm9tIHdpdGhpbiBWaXN1YWwgU3R1ZGlvIDIwMTcgYW5kIG5l
d2VyLlxuXG4iOwogICAgICAgICB9CiAgICAgICAgIGlmICghZGVmaW5lZCAkRU5WeydNU0JVSUxE
RElTQUJMRU5PREVSRVVTRSd9IHx8ICEkRU5WeydNU0JVSUxERElTQUJMRU5PREVSRVVTRSd9KSB7
CiAgICAgICAgICAgICBwcmludCAiV2FybmluZzogWW91IHNob3VsZCBzZXQgdGhlICdNU0JVSUxE
RElTQUJMRU5PREVSRVVTRScgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gJzEnXG4iOwpAQCAtMTg4
NSwxOSArMTgwNSwxNCBAQCBzdWIgc2V0dXBDeWd3aW5FbnYoKQogCiAgICAgbXkgJHByb2dyYW1G
aWxlc1BhdGggPSBwcm9ncmFtRmlsZXNQYXRoKCk7CiAgICAgbXkgJHZpc3VhbFN0dWRpb1BhdGgg
PSBGaWxlOjpTcGVjLT5jYXRmaWxlKHZpc3VhbFN0dWRpb0luc3RhbGxEaXIoKSwgcXcoQ29tbW9u
NyBJREUgZGV2ZW52LmNvbSkpOwotICAgIGlmICgtZSAkdmlzdWFsU3R1ZGlvUGF0aCkgewotICAg
ICAgICAjIFZpc3VhbCBTdHVkaW8gaXMgaW5zdGFsbGVkOwotICAgICAgICBpZiAodmlzdWFsU3R1
ZGlvVmVyc2lvbigpIGVxICIxMiIpIHsKLSAgICAgICAgICAgICR2aXN1YWxTdHVkaW9QYXRoID0g
RmlsZTo6U3BlYy0+Y2F0ZmlsZSh2aXN1YWxTdHVkaW9JbnN0YWxsRGlyKCksIHF3KENvbW1vbjcg
SURFIGRldmVudi5leGUpKTsKLSAgICAgICAgfQotICAgIH0gZWxzZSB7CisgICAgaWYgKCEtZSAk
dmlzdWFsU3R1ZGlvUGF0aCkgewogICAgICAgICAjIFZpc3VhbCBTdHVkaW8gbm90IGZvdW5kLCB0
cnkgVkMrKyBFeHByZXNzCiAgICAgICAgICR2aXN1YWxTdHVkaW9QYXRoID0gRmlsZTo6U3BlYy0+
Y2F0ZmlsZSh2aXN1YWxTdHVkaW9JbnN0YWxsRGlyKCksIHF3KENvbW1vbjcgSURFIFdERXhwcmVz
cy5leGUpKTsKICAgICAgICAgaWYgKCEgLWUgJHZpc3VhbFN0dWRpb1BhdGgpIHsKICAgICAgICAg
ICAgIHByaW50ICIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqXG4iOwogICAgICAgICAgICAgcHJpbnQgIkNhbm5vdCBmaW5kICckdmlz
dWFsU3R1ZGlvUGF0aCdcbiI7CiAgICAgICAgICAgICBwcmludCAiUGxlYXNlIGV4ZWN1dGUgdGhl
IGZpbGUgJ3ZjdmFyczMyLmJhdCcgZnJvbVxuIjsKLSAgICAgICAgICAgIHByaW50ICInJHByb2dy
YW1GaWxlc1BhdGhcXE1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvIDE0LjBcXFZDXFxiaW5cXCdcbiI7
CisgICAgICAgICAgICBwcmludCAieW91ciBWaXN1YWwgU3R1ZGlvIDIwMTcgaW5zdGFsbGF0aW9u
XG4iOwogICAgICAgICAgICAgcHJpbnQgInRvIHNldHVwIHRoZSBuZWNlc3NhcnkgZW52aXJvbm1l
bnQgdmFyaWFibGVzLlxuIjsKICAgICAgICAgICAgIHByaW50ICIqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4iOwogICAgICAgICAg
ICAgZGllOwpAQCAtMjIyNCwxMSArMjEzOSw3IEBAIHN1YiBnZW5lcmF0ZUJ1aWxkU3lzdGVtRnJv
bUNNYWtlUHJvamVjdAogICAgICAgICAgICAgcHVzaCBAYXJncywgIk5pbmphIjsKICAgICAgICAg
fQogICAgIH0gZWxzaWYgKGlzQW55V2luZG93cygpICYmIGlzV2luNjQoKSkgewotICAgICAgICBp
ZiAodmlzdWFsU3R1ZGlvVmVyc2lvbigpID49IDE1KSB7Ci0gICAgICAgICAgICBwdXNoIEBhcmdz
LCAnLUcgIlZpc3VhbCBTdHVkaW8gMTUgMjAxNyBXaW42NCInOwotICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgcHVzaCBAYXJncywgJy1HICJWaXN1YWwgU3R1ZGlvIDE0IDIwMTUgV2luNjQi
JzsKLSAgICAgICAgfQorICAgICAgICBwdXNoIEBhcmdzLCAnLUcgIlZpc3VhbCBTdHVkaW8gMTUg
MjAxNyBXaW42NCInOwogICAgIH0KICAgICAjIERvIG5vdCBzaG93IHByb2dyZXNzIG9mIGdlbmVy
YXRpbmcgYmluZGluZ3MgaW4gaW50ZXJhY3RpdmUgTmluamEgYnVpbGQgbm90IHRvIGxlYXZlIG5v
aXN5IGxpbmVzIG9uIHR0eQogICAgIHB1c2ggQGFyZ3MsICctRFNIT1dfQklORElOR1NfR0VORVJB
VElPTl9QUk9HUkVTUz0xJyB1bmxlc3MgKCR3aWxsVXNlTmluamEgJiYgLXQgU1RET1VUKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>