<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>2807</bug_id>
          
          <creation_ts>2012-07-20 15:01:07 +0000</creation_ts>
          <short_desc>Cannot complete the headless build using eclipse-poky setup</short_desc>
          <delta_ts>2013-03-11 16:12:52 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>6</classification_id>
          <classification>Yocto Project Subprojects</classification>
          <product>Eclipse Plugin</product>
          <component>eclipse-plugin</component>
          <version>1.3</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>VERIFIED</bug_status>
          <resolution>NOTABUG</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Undecided</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexandru Georgescu">alexandru.c.georgescu</reporter>
          <assigned_to name="Jessica">jessica.zhang</assigned_to>
          <cc>yp.ep.watcher</cc>
    
    <cc>yp.watcher</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>---</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>23331</commentid>
    <comment_count>0</comment_count>
    <who name="Alexandru Georgescu">alexandru.c.georgescu</who>
    <bug_when>2012-07-20 15:01:07 +0000</bug_when>
    <thetext>Hardware: Fedora 17 64bit.


[alex@alex-v scripts]$ ls
build.sh  eclipse  eclipse-4.2-linux-gtk-x86_64  find-version  readme.txt  setup.sh
[alex@alex-v scripts]$ ./setup.sh 
Installing CDT...
Jul 20, 2012 5:44:23 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection timed out
Jul 20, 2012 5:44:23 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: Retrying request
Jul 20, 2012 5:45:27 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection timed out
Jul 20, 2012 5:45:27 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: Retrying request
Jul 20, 2012 5:46:30 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection timed out
Jul 20, 2012 5:46:30 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: Retrying request
Jul 20, 2012 5:48:37 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection timed out
Jul 20, 2012 5:48:37 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: Retrying request
Jul 20, 2012 5:49:40 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection timed out
Jul 20, 2012 5:49:40 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: Retrying request
Jul 20, 2012 5:50:43 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection timed out
Jul 20, 2012 5:50:43 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: Retrying request
Jul 20, 2012 5:52:49 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection timed out
Jul 20, 2012 5:52:49 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: Retrying request
Jul 20, 2012 5:53:53 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection timed out
Jul 20, 2012 5:53:53 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: Retrying request
Jul 20, 2012 5:54:56 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection timed out
Jul 20, 2012 5:54:56 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: Retrying request
Jul 20, 2012 5:57:02 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection timed out
Jul 20, 2012 5:57:02 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: Retrying request
Jul 20, 2012 5:58:05 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection timed out
Jul 20, 2012 5:58:05 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: Retrying request
Jul 20, 2012 5:59:08 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: I/O exception (java.net.ConnectException) caught when processing request: Connection timed out
Jul 20, 2012 5:59:08 PM org.apache.commons.httpclient.HttpMethodDirector executeWithRetry
INFO: Retrying request
[FAILED 1]Can NOT find candidates of org.eclipse.cdt.sdk.feature.group version(8.1.0, ) at http://download.eclipse.org/releases/juno!
[alex@alex-v scripts]$ pwd
/home/alex/git/eclipse-poky/scripts
[alex@alex-v scripts]$</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23341</commentid>
    <comment_count>1</comment_count>
    <who name="Jessica">jessica.zhang</who>
    <bug_when>2012-07-20 17:09:45 +0000</bug_when>
    <thetext>Hi Alex,

The eclipse upstream seems is extremely unstable, so when you ran into this kind of issue, please try again, many times the 2nd try will work.  I&apos;ve tested on my local machine and it worked fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23377</commentid>
    <comment_count>2</comment_count>
      <attachid>652</attachid>
    <who name="Alexandru Georgescu">alexandru.c.georgescu</who>
    <bug_when>2012-07-23 10:52:00 +0000</bug_when>
    <thetext>Created attachment 652
log</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23378</commentid>
    <comment_count>3</comment_count>
    <who name="Alexandru Georgescu">alexandru.c.georgescu</who>
    <bug_when>2012-07-23 10:53:51 +0000</bug_when>
    <thetext>Hi,
Thank you for the tip. The .setup.sh script worked. Unfortunatelly, the actual build still have some errors. I attached also the log file:

[test1@alex-v scripts]$ ECLIPSE_HOME=/home/test1/eclipse-poky/scripts/eclipse ./build.sh 1.2_M4 myEclipse2
Cloning into &apos;/home/test1/eclipse-poky/scripts/1.2_M4_build_201207231338/src&apos;...
remote: Counting objects: 3800, done.
remote: Compressing objects: 100% (2870/2870), done.
remote: Total 3800 (delta 1588), reused 469 (delta 95)
Receiving objects: 100% (3800/3800), 1.02 MiB | 377 KiB/s, done.
Resolving deltas: 100% (1588/1588), done.
Note: checking out &apos;origin/1.2_M4&apos;.

You are in &apos;detached HEAD&apos; state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at bfed96b... Merge branch &apos;master&apos; of git://git.yoctoproject.org/eclipse-poky into 1.2_M4
Buildfile: /home/test1/eclipse-poky/scripts/eclipse/plugins/org.eclipse.pde.build_3.8.0.v20120523-1555/scripts/build.xml

main:

preBuild:

preSetup:
    [mkdir] Created dir: /home/test1/eclipse-poky/scripts/1.2_M4_build_201207231338/build/plugins
     [exec] Cloning into &apos;org.eclipse.tcf&apos;...
     [exec] Note: checking out &apos;CDT_8_0_1&apos;.
     [exec] 
     [exec] You are in &apos;detached HEAD&apos; state. You can look around, make experimental
     [exec] changes and commit them, and you can discard any commits you make in this
     [exec] state without impacting any branches by performing another checkout.
     [exec] 
     [exec] If you want to create a new branch to retain commits you create, you may
     [exec] do so (now or later) by using -b with the checkout command again. Example:
     [exec] 
     [exec]   git checkout -b new_branch_name
     [exec] 
     [exec] HEAD is now at 95c0638... Publish tcf build to cdt download site.
     [exec] [detached HEAD 18034b5] [350663] Applied Liping&apos;s patch to improve terminal service user experience in case of the non-login mode.
     [exec]  Author: adushistova &lt;adushistova@6a79697e-3843-0410-8446-a9668620458d&gt;
     [exec]  Committer: test1 &lt;test1@alex-v.(none)&gt;
     [exec] Your name and email address were configured automatically based
     [exec] on your username and hostname. Please check that they are accurate.
     [exec] You can suppress this message by setting them explicitly:
     [exec] 
     [exec]     git config --global user.name &quot;Your Name&quot;
     [exec]     git config --global user.email you@example.com
     [exec] 
     [exec] After doing this, you may fix the identity used for this commit with:
     [exec] 
     [exec]     git commit --amend --reset-author
     [exec] 
     [exec]  1 file changed, 9 insertions(+), 12 deletions(-)
     [move] Moving 22 files to /home/test1/eclipse-poky/scripts/1.2_M4_build_201207231338/build/plugins/org.eclipse.tm.tcf
     [move] Moving 84 files to /home/test1/eclipse-poky/scripts/1.2_M4_build_201207231338/build/plugins/org.eclipse.tm.tcf.core
     [move] Moving 49 files to /home/test1/eclipse-poky/scripts/1.2_M4_build_201207231338/build/plugins/org.eclipse.tm.tcf.rse
     [copy] Copying 259 files to /home/test1/eclipse-poky/scripts/1.2_M4_build_201207231338/build/plugins
     [copy] Copying 18 files to /home/test1/eclipse-poky/scripts/1.2_M4_build_201207231338/build/features

prepareForP2:

checkLocalMaps:

getMapFiles:

postSetup:

checkLocalBase:

getBaseComponents:

processRepos:

fetch:

generate:

preGenerate:

allElements:

allElementsDelegator:

init:

generateScript:
[eclipse.buildScript] Some inter-plug-in dependencies have not been satisfied.
[eclipse.buildScript] Bundle org.yocto.sdk.ide:
[eclipse.buildScript] 	Missing required plug-in org.eclipse.linuxtools.cdt.autotools.ui_1.0.0.
[eclipse.buildScript] Bundle org.yocto.sdk.remotetools:
[eclipse.buildScript] 	Missing required plug-in org.yocto.sdk.ide_0.0.0.

BUILD FAILED
/home/test1/eclipse-poky/scripts/eclipse/plugins/org.eclipse.pde.build_3.8.0.v20120523-1555/scripts/build.xml:35: The following error occurred while executing this line:
/home/test1/eclipse-poky/scripts/eclipse/plugins/org.eclipse.pde.build_3.8.0.v20120523-1555/scripts/build.xml:91: The following error occurred while executing this line:
/home/test1/eclipse-poky/scripts/1.2_M4_build_201207231338/src/features/org.yocto.sdk.headless.build/customTargets.xml:12: The following error occurred while executing this line:
/home/test1/eclipse-poky/scripts/eclipse-4.2-linux-gtk-x86_64/eclipse/plugins/org.eclipse.pde.build_3.8.0.v20120523-1555/templates/headless-build/allElements.xml:16: The following error occurred while executing this line:
/home/test1/eclipse-poky/scripts/eclipse-4.2-linux-gtk-x86_64/eclipse/plugins/org.eclipse.pde.build_3.8.0.v20120523-1555/scripts/genericTargets.xml:111: Processing inclusion from feature org.yocto.sdk: Bundle org.yocto.sdk.ide_1.2.0.201207231339 failed to resolve.:
	Missing required plug-in org.eclipse.linuxtools.cdt.autotools.ui_1.0.0.


Total time: 39 seconds
An error has occurred. See the log file
/home/test1/workspace/.metadata/.log.
[Fail 13]: 13 normal build
BUILD_TOP=/home/test1/eclipse-poky/scripts/1.2_M4_build_201207231338
[test1@alex-v scripts]$</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23497</commentid>
    <comment_count>4</comment_count>
    <who name="Jessica">jessica.zhang</who>
    <bug_when>2012-07-25 17:46:17 +0000</bug_when>
    <thetext>Alex,

So what you&apos;re trying to build here?  Seems you setup to build latest master which is Juno (4.2) but when you run the build, your command:

 ECLIPSE_HOME=/home/test1/eclipse-poky/scripts/eclipse ./build.sh 1.2_M4 myEclipse2

is trying to build Indigo since 1.2 is Indigo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30620</commentid>
    <comment_count>5</comment_count>
    <who name="Alexandru Georgescu">alexandru.c.georgescu</who>
    <bug_when>2013-03-11 16:12:52 +0000</bug_when>
    <thetext>closing this as indigo support has been dropped</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>652</attachid>
            <date>2012-07-23 10:52:00 +0000</date>
            <delta_ts>2012-07-23 10:52:00 +0000</delta_ts>
            <desc>log</desc>
            <filename>log</filename>
            <type>application/octet-stream</type>
            <size>69763</size>
            <attacher name="Alexandru Georgescu">alexandru.c.georgescu</attacher>
            
              <data encoding="base64">IVNFU1NJT04gMjAxMi0wNy0yMyAxMTozNDoyOS42NzkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZWNsaXBzZS5idWlsZElkPUkyMDEyMDYwOC0xNDAwCmph
dmEudmVyc2lvbj0xLjcuMF9iMTQ3LWljZWR0ZWEKamF2YS52ZW5kb3I9T3JhY2xlIENvcnBvcmF0
aW9uCkJvb3RMb2FkZXIgY29uc3RhbnRzOiBPUz1saW51eCwgQVJDSD14ODZfNjQsIFdTPWd0aywg
Tkw9ZW5fVVMKRnJhbWV3b3JrIGFyZ3VtZW50czogIC1hcHBsaWNhdGlvbiBvcmcuZWNsaXBzZS5h
bnQuY29yZS5hbnRSdW5uZXIgLWJ1aWxkZmlsZSAvaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2Ny
aXB0cy9lY2xpcHNlL3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4wLnYyMDEyMDUy
My0xNTU1L3NjcmlwdHMvYnVpbGQueG1sIC1EYmFzZUxvY2F0aW9uPS9ob21lL3Rlc3QxL2VjbGlw
c2UtcG9reS9zY3JpcHRzL2VjbGlwc2UgLURidWlsZGVyPS9ob21lL3Rlc3QxL2VjbGlwc2UtcG9r
eS9zY3JpcHRzLzEuMl9NNF9idWlsZF8yMDEyMDcyMzExMzQvc3JjL2ZlYXR1cmVzL29yZy55b2N0
by5zZGsuaGVhZGxlc3MuYnVpbGQgLURidWlsZERpcmVjdG9yeT0vaG9tZS90ZXN0MS9lY2xpcHNl
LXBva3kvc2NyaXB0cy8xLjJfTTRfYnVpbGRfMjAxMjA3MjMxMTM0L2J1aWxkIC1Eb3RoZXJTcmNE
aXJlY3Rvcnk9L2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvMS4yX000X2J1aWxkXzIw
MTIwNzIzMTEzNC9zcmMgLURidWlsZElkPW15RWNsaXBzZTEuMk00CkNvbW1hbmQtbGluZSBhcmd1
bWVudHM6ICAtYXBwbGljYXRpb24gb3JnLmVjbGlwc2UuYW50LmNvcmUuYW50UnVubmVyIC1idWls
ZGZpbGUgL2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvZWNsaXBzZS9wbHVnaW5zL29y
Zy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMC52MjAxMjA1MjMtMTU1NS9zY3JpcHRzL2J1aWxkLnht
bCAtRGJhc2VMb2NhdGlvbj0vaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy9lY2xpcHNl
IC1EYnVpbGRlcj0vaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy8xLjJfTTRfYnVpbGRf
MjAxMjA3MjMxMTM0L3NyYy9mZWF0dXJlcy9vcmcueW9jdG8uc2RrLmhlYWRsZXNzLmJ1aWxkIC1E
YnVpbGREaXJlY3Rvcnk9L2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvMS4yX000X2J1
aWxkXzIwMTIwNzIzMTEzNC9idWlsZCAtRG90aGVyU3JjRGlyZWN0b3J5PS9ob21lL3Rlc3QxL2Vj
bGlwc2UtcG9reS9zY3JpcHRzLzEuMl9NNF9idWlsZF8yMDEyMDcyMzExMzQvc3JjIC1EYnVpbGRJ
ZD1teUVjbGlwc2UxLjJNNAoKIUVOVFJZIG9yZy5lY2xpcHNlLm9zZ2kgNCAwIDIwMTItMDctMjMg
MTE6MzU6MDMuMzc2CiFNRVNTQUdFIEFwcGxpY2F0aW9uIGVycm9yCiFTVEFDSyAxCmphdmEubGFu
Zy5yZWZsZWN0Lkludm9jYXRpb25UYXJnZXRFeGNlcHRpb24KCWF0IHN1bi5yZWZsZWN0Lk5hdGl2
ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2ZSBNZXRob2QpCglhdCBzdW4ucmVmbGVj
dC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1w
bC5qYXZhOjU3KQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5p
bnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjQzKQoJYXQgamF2YS5sYW5n
LnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo2MDEpCglhdCBvcmcuZWNsaXBzZS5h
bnQuY29yZS5BbnRSdW5uZXIucnVuKEFudFJ1bm5lci5qYXZhOjUxMykKCWF0IG9yZy5lY2xpcHNl
LmFudC5jb3JlLkFudFJ1bm5lci5zdGFydChBbnRSdW5uZXIuamF2YTo2MDApCglhdCBvcmcuZWNs
aXBzZS5lcXVpbm94LmludGVybmFsLmFwcC5FY2xpcHNlQXBwSGFuZGxlLnJ1bihFY2xpcHNlQXBw
SGFuZGxlLmphdmE6MTk2KQoJYXQgb3JnLmVjbGlwc2UuY29yZS5ydW50aW1lLmludGVybmFsLmFk
YXB0b3IuRWNsaXBzZUFwcExhdW5jaGVyLnJ1bkFwcGxpY2F0aW9uKEVjbGlwc2VBcHBMYXVuY2hl
ci5qYXZhOjExMCkKCWF0IG9yZy5lY2xpcHNlLmNvcmUucnVudGltZS5pbnRlcm5hbC5hZGFwdG9y
LkVjbGlwc2VBcHBMYXVuY2hlci5zdGFydChFY2xpcHNlQXBwTGF1bmNoZXIuamF2YTo3OSkKCWF0
IG9yZy5lY2xpcHNlLmNvcmUucnVudGltZS5hZGFwdG9yLkVjbGlwc2VTdGFydGVyLnJ1bihFY2xp
cHNlU3RhcnRlci5qYXZhOjM1MykKCWF0IG9yZy5lY2xpcHNlLmNvcmUucnVudGltZS5hZGFwdG9y
LkVjbGlwc2VTdGFydGVyLnJ1bihFY2xpcHNlU3RhcnRlci5qYXZhOjE4MCkKCWF0IHN1bi5yZWZs
ZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2ZSBNZXRob2QpCglhdCBz
dW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1ldGhvZEFj
Y2Vzc29ySW1wbC5qYXZhOjU3KQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vz
c29ySW1wbC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjQzKQoJYXQg
amF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo2MDEpCglhdCBvcmcu
ZWNsaXBzZS5lcXVpbm94LmxhdW5jaGVyLk1haW4uaW52b2tlRnJhbWV3b3JrKE1haW4uamF2YTo2
MjkpCglhdCBvcmcuZWNsaXBzZS5lcXVpbm94LmxhdW5jaGVyLk1haW4uYmFzaWNSdW4oTWFpbi5q
YXZhOjU4NCkKCWF0IG9yZy5lY2xpcHNlLmVxdWlub3gubGF1bmNoZXIuTWFpbi5ydW4oTWFpbi5q
YXZhOjE0MzgpCglhdCBvcmcuZWNsaXBzZS5lcXVpbm94LmxhdW5jaGVyLk1haW4ubWFpbihNYWlu
LmphdmE6MTQxNCkKQ2F1c2VkIGJ5OiAvaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy9l
Y2xpcHNlL3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4wLnYyMDEyMDUyMy0xNTU1
L3NjcmlwdHMvYnVpbGQueG1sOjM1OiBUaGUgZm9sbG93aW5nIGVycm9yIG9jY3VycmVkIHdoaWxl
IGV4ZWN1dGluZyB0aGlzIGxpbmU6Ci9ob21lL3Rlc3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzL2Vj
bGlwc2UvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjAudjIwMTIwNTIzLTE1NTUv
c2NyaXB0cy9idWlsZC54bWw6OTE6IFRoZSBmb2xsb3dpbmcgZXJyb3Igb2NjdXJyZWQgd2hpbGUg
ZXhlY3V0aW5nIHRoaXMgbGluZToKL2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvMS4y
X000X2J1aWxkXzIwMTIwNzIzMTEzNC9zcmMvZmVhdHVyZXMvb3JnLnlvY3RvLnNkay5oZWFkbGVz
cy5idWlsZC9jdXN0b21UYXJnZXRzLnhtbDoxMjogVGhlIGZvbGxvd2luZyBlcnJvciBvY2N1cnJl
ZCB3aGlsZSBleGVjdXRpbmcgdGhpcyBsaW5lOgovaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2Ny
aXB0cy9lY2xpcHNlLTQuMi1saW51eC1ndGsteDg2XzY0L2VjbGlwc2UvcGx1Z2lucy9vcmcuZWNs
aXBzZS5wZGUuYnVpbGRfMy44LjAudjIwMTIwNTIzLTE1NTUvdGVtcGxhdGVzL2hlYWRsZXNzLWJ1
aWxkL2FsbEVsZW1lbnRzLnhtbDoxNjogVGhlIGZvbGxvd2luZyBlcnJvciBvY2N1cnJlZCB3aGls
ZSBleGVjdXRpbmcgdGhpcyBsaW5lOgovaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy9l
Y2xpcHNlLTQuMi1saW51eC1ndGsteDg2XzY0L2VjbGlwc2UvcGx1Z2lucy9vcmcuZWNsaXBzZS5w
ZGUuYnVpbGRfMy44LjAudjIwMTIwNTIzLTE1NTUvc2NyaXB0cy9nZW5lcmljVGFyZ2V0cy54bWw6
MTExOiBQcm9jZXNzaW5nIGluY2x1c2lvbiBmcm9tIGZlYXR1cmUgb3JnLnlvY3RvLnNkazogQnVu
ZGxlIG9yZy55b2N0by5zZGsuaWRlXzEuMi4wLjIwMTIwNzIzMTEzNSBmYWlsZWQgdG8gcmVzb2x2
ZS46CglNaXNzaW5nIHJlcXVpcmVkIHBsdWctaW4gb3JnLmVjbGlwc2UubGludXh0b29scy5jZHQu
YXV0b3Rvb2xzLnVpXzEuMC4wLgoKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlByb2plY3RIZWxw
ZXIuYWRkTG9jYXRpb25Ub0J1aWxkRXhjZXB0aW9uKFByb2plY3RIZWxwZXIuamF2YTo1NTEpCglh
dCBvcmcuYXBhY2hlLnRvb2xzLmFudC50YXNrZGVmcy5BbnQuZXhlY3V0ZShBbnQuamF2YTo0NDQp
CglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC50YXNrZGVmcy5DYWxsVGFyZ2V0LmV4ZWN1dGUoQ2Fs
bFRhcmdldC5qYXZhOjEwNSkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlVua25vd25FbGVtZW50
LmV4ZWN1dGUoVW5rbm93bkVsZW1lbnQuamF2YToyOTEpCglhdCBzdW4ucmVmbGVjdC5HZW5lcmF0
ZWRNZXRob2RBY2Nlc3NvcjguaW52b2tlKFVua25vd24gU291cmNlKQoJYXQgc3VuLnJlZmxlY3Qu
RGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vz
c29ySW1wbC5qYXZhOjQzKQoJYXQgamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRo
b2QuamF2YTo2MDEpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5kaXNwYXRjaC5EaXNwYXRjaFV0
aWxzLmV4ZWN1dGUoRGlzcGF0Y2hVdGlscy5qYXZhOjEwNikKCWF0IG9yZy5hcGFjaGUudG9vbHMu
YW50LlRhc2sucGVyZm9ybShUYXNrLmphdmE6MzQ4KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQu
VGFyZ2V0LmV4ZWN1dGUoVGFyZ2V0LmphdmE6MzkyKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQu
VGFyZ2V0LnBlcmZvcm1UYXNrcyhUYXJnZXQuamF2YTo0MTMpCglhdCBvcmcuYXBhY2hlLnRvb2xz
LmFudC5Qcm9qZWN0LmV4ZWN1dGVTb3J0ZWRUYXJnZXRzKFByb2plY3QuamF2YToxMzk5KQoJYXQg
b3JnLmFwYWNoZS50b29scy5hbnQuUHJvamVjdC5leGVjdXRlVGFyZ2V0KFByb2plY3QuamF2YTox
MzY4KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuaGVscGVyLkRlZmF1bHRFeGVjdXRvci5leGVj
dXRlVGFyZ2V0cyhEZWZhdWx0RXhlY3V0b3IuamF2YTo0MSkKCWF0IG9yZy5lY2xpcHNlLmFudC5p
bnRlcm5hbC5jb3JlLmFudC5FY2xpcHNlRGVmYXVsdEV4ZWN1dG9yLmV4ZWN1dGVUYXJnZXRzKEVj
bGlwc2VEZWZhdWx0RXhlY3V0b3IuamF2YTozMikKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlBy
b2plY3QuZXhlY3V0ZVRhcmdldHMoUHJvamVjdC5qYXZhOjEyNTEpCglhdCBvcmcuZWNsaXBzZS5h
bnQuaW50ZXJuYWwuY29yZS5hbnQuSW50ZXJuYWxBbnRSdW5uZXIucnVuKEludGVybmFsQW50UnVu
bmVyLmphdmE6NjcyKQoJYXQgb3JnLmVjbGlwc2UuYW50LmludGVybmFsLmNvcmUuYW50LkludGVy
bmFsQW50UnVubmVyLnJ1bihJbnRlcm5hbEFudFJ1bm5lci5qYXZhOjUzNykKCS4uLiAxOSBtb3Jl
CkNhdXNlZCBieTogL2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvZWNsaXBzZS9wbHVn
aW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMC52MjAxMjA1MjMtMTU1NS9zY3JpcHRzL2J1
aWxkLnhtbDo5MTogVGhlIGZvbGxvd2luZyBlcnJvciBvY2N1cnJlZCB3aGlsZSBleGVjdXRpbmcg
dGhpcyBsaW5lOgovaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy8xLjJfTTRfYnVpbGRf
MjAxMjA3MjMxMTM0L3NyYy9mZWF0dXJlcy9vcmcueW9jdG8uc2RrLmhlYWRsZXNzLmJ1aWxkL2N1
c3RvbVRhcmdldHMueG1sOjEyOiBUaGUgZm9sbG93aW5nIGVycm9yIG9jY3VycmVkIHdoaWxlIGV4
ZWN1dGluZyB0aGlzIGxpbmU6Ci9ob21lL3Rlc3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzL2VjbGlw
c2UtNC4yLWxpbnV4LWd0ay14ODZfNjQvZWNsaXBzZS9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5i
dWlsZF8zLjguMC52MjAxMjA1MjMtMTU1NS90ZW1wbGF0ZXMvaGVhZGxlc3MtYnVpbGQvYWxsRWxl
bWVudHMueG1sOjE2OiBUaGUgZm9sbG93aW5nIGVycm9yIG9jY3VycmVkIHdoaWxlIGV4ZWN1dGlu
ZyB0aGlzIGxpbmU6Ci9ob21lL3Rlc3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzL2VjbGlwc2UtNC4y
LWxpbnV4LWd0ay14ODZfNjQvZWNsaXBzZS9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8z
LjguMC52MjAxMjA1MjMtMTU1NS9zY3JpcHRzL2dlbmVyaWNUYXJnZXRzLnhtbDoxMTE6IFByb2Nl
c3NpbmcgaW5jbHVzaW9uIGZyb20gZmVhdHVyZSBvcmcueW9jdG8uc2RrOiBCdW5kbGUgb3JnLnlv
Y3RvLnNkay5pZGVfMS4yLjAuMjAxMjA3MjMxMTM1IGZhaWxlZCB0byByZXNvbHZlLjoKCU1pc3Np
bmcgcmVxdWlyZWQgcGx1Zy1pbiBvcmcuZWNsaXBzZS5saW51eHRvb2xzLmNkdC5hdXRvdG9vbHMu
dWlfMS4wLjAuCgoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuUHJvamVjdEhlbHBlci5hZGRMb2Nh
dGlvblRvQnVpbGRFeGNlcHRpb24oUHJvamVjdEhlbHBlci5qYXZhOjU1MSkKCWF0IG9yZy5hcGFj
aGUudG9vbHMuYW50LnRhc2tkZWZzLkFudC5leGVjdXRlKEFudC5qYXZhOjQ0NCkKCWF0IG9yZy5h
cGFjaGUudG9vbHMuYW50LlVua25vd25FbGVtZW50LmV4ZWN1dGUoVW5rbm93bkVsZW1lbnQuamF2
YToyOTEpCglhdCBzdW4ucmVmbGVjdC5HZW5lcmF0ZWRNZXRob2RBY2Nlc3NvcjguaW52b2tlKFVu
a25vd24gU291cmNlKQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1w
bC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjQzKQoJYXQgamF2YS5s
YW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo2MDEpCglhdCBvcmcuYXBhY2hl
LnRvb2xzLmFudC5kaXNwYXRjaC5EaXNwYXRjaFV0aWxzLmV4ZWN1dGUoRGlzcGF0Y2hVdGlscy5q
YXZhOjEwNikKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRhc2sucGVyZm9ybShUYXNrLmphdmE6
MzQ4KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFyZ2V0LmV4ZWN1dGUoVGFyZ2V0LmphdmE6
MzkyKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFyZ2V0LnBlcmZvcm1UYXNrcyhUYXJnZXQu
amF2YTo0MTMpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Qcm9qZWN0LmV4ZWN1dGVTb3J0ZWRU
YXJnZXRzKFByb2plY3QuamF2YToxMzk5KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuaGVscGVy
LlNpbmdsZUNoZWNrRXhlY3V0b3IuZXhlY3V0ZVRhcmdldHMoU2luZ2xlQ2hlY2tFeGVjdXRvci5q
YXZhOjM4KQoJYXQgb3JnLmVjbGlwc2UuYW50LmludGVybmFsLmNvcmUuYW50LkVjbGlwc2VTaW5n
bGVDaGVja0V4ZWN1dG9yLmV4ZWN1dGVUYXJnZXRzKEVjbGlwc2VTaW5nbGVDaGVja0V4ZWN1dG9y
LmphdmE6MzApCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Qcm9qZWN0LmV4ZWN1dGVUYXJnZXRz
KFByb2plY3QuamF2YToxMjUxKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQudGFza2RlZnMuQW50
LmV4ZWN1dGUoQW50LmphdmE6NDQyKQoJLi4uIDM1IG1vcmUKQ2F1c2VkIGJ5OiAvaG9tZS90ZXN0
MS9lY2xpcHNlLXBva3kvc2NyaXB0cy8xLjJfTTRfYnVpbGRfMjAxMjA3MjMxMTM0L3NyYy9mZWF0
dXJlcy9vcmcueW9jdG8uc2RrLmhlYWRsZXNzLmJ1aWxkL2N1c3RvbVRhcmdldHMueG1sOjEyOiBU
aGUgZm9sbG93aW5nIGVycm9yIG9jY3VycmVkIHdoaWxlIGV4ZWN1dGluZyB0aGlzIGxpbmU6Ci9o
b21lL3Rlc3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzL2VjbGlwc2UtNC4yLWxpbnV4LWd0ay14ODZf
NjQvZWNsaXBzZS9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMC52MjAxMjA1MjMt
MTU1NS90ZW1wbGF0ZXMvaGVhZGxlc3MtYnVpbGQvYWxsRWxlbWVudHMueG1sOjE2OiBUaGUgZm9s
bG93aW5nIGVycm9yIG9jY3VycmVkIHdoaWxlIGV4ZWN1dGluZyB0aGlzIGxpbmU6Ci9ob21lL3Rl
c3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzL2VjbGlwc2UtNC4yLWxpbnV4LWd0ay14ODZfNjQvZWNs
aXBzZS9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMC52MjAxMjA1MjMtMTU1NS9z
Y3JpcHRzL2dlbmVyaWNUYXJnZXRzLnhtbDoxMTE6IFByb2Nlc3NpbmcgaW5jbHVzaW9uIGZyb20g
ZmVhdHVyZSBvcmcueW9jdG8uc2RrOiBCdW5kbGUgb3JnLnlvY3RvLnNkay5pZGVfMS4yLjAuMjAx
MjA3MjMxMTM1IGZhaWxlZCB0byByZXNvbHZlLjoKCU1pc3NpbmcgcmVxdWlyZWQgcGx1Zy1pbiBv
cmcuZWNsaXBzZS5saW51eHRvb2xzLmNkdC5hdXRvdG9vbHMudWlfMS4wLjAuCgoJYXQgb3JnLmFw
YWNoZS50b29scy5hbnQuUHJvamVjdEhlbHBlci5hZGRMb2NhdGlvblRvQnVpbGRFeGNlcHRpb24o
UHJvamVjdEhlbHBlci5qYXZhOjU1MSkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LnRhc2tkZWZz
LkFudC5leGVjdXRlKEFudC5qYXZhOjQ0NCkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LnRhc2tk
ZWZzLkNhbGxUYXJnZXQuZXhlY3V0ZShDYWxsVGFyZ2V0LmphdmE6MTA1KQoJYXQgb3JnLmFwYWNo
ZS50b29scy5hbnQuVW5rbm93bkVsZW1lbnQuZXhlY3V0ZShVbmtub3duRWxlbWVudC5qYXZhOjI5
MSkKCWF0IHN1bi5yZWZsZWN0LkdlbmVyYXRlZE1ldGhvZEFjY2Vzc29yOC5pbnZva2UoVW5rbm93
biBTb3VyY2UpCglhdCBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmlu
dm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NDMpCglhdCBqYXZhLmxhbmcu
cmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhvZC5qYXZhOjYwMSkKCWF0IG9yZy5hcGFjaGUudG9v
bHMuYW50LmRpc3BhdGNoLkRpc3BhdGNoVXRpbHMuZXhlY3V0ZShEaXNwYXRjaFV0aWxzLmphdmE6
MTA2KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFzay5wZXJmb3JtKFRhc2suamF2YTozNDgp
CglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5UYXJnZXQuZXhlY3V0ZShUYXJnZXQuamF2YTozOTIp
CglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5UYXJnZXQucGVyZm9ybVRhc2tzKFRhcmdldC5qYXZh
OjQxMykKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlByb2plY3QuZXhlY3V0ZVNvcnRlZFRhcmdl
dHMoUHJvamVjdC5qYXZhOjEzOTkpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5oZWxwZXIuU2lu
Z2xlQ2hlY2tFeGVjdXRvci5leGVjdXRlVGFyZ2V0cyhTaW5nbGVDaGVja0V4ZWN1dG9yLmphdmE6
MzgpCglhdCBvcmcuZWNsaXBzZS5hbnQuaW50ZXJuYWwuY29yZS5hbnQuRWNsaXBzZVNpbmdsZUNo
ZWNrRXhlY3V0b3IuZXhlY3V0ZVRhcmdldHMoRWNsaXBzZVNpbmdsZUNoZWNrRXhlY3V0b3IuamF2
YTozMCkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlByb2plY3QuZXhlY3V0ZVRhcmdldHMoUHJv
amVjdC5qYXZhOjEyNTEpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC50YXNrZGVmcy5BbnQuZXhl
Y3V0ZShBbnQuamF2YTo0NDIpCgkuLi4gNDggbW9yZQpDYXVzZWQgYnk6IC9ob21lL3Rlc3QxL2Vj
bGlwc2UtcG9reS9zY3JpcHRzL2VjbGlwc2UtNC4yLWxpbnV4LWd0ay14ODZfNjQvZWNsaXBzZS9w
bHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMC52MjAxMjA1MjMtMTU1NS90ZW1wbGF0
ZXMvaGVhZGxlc3MtYnVpbGQvYWxsRWxlbWVudHMueG1sOjE2OiBUaGUgZm9sbG93aW5nIGVycm9y
IG9jY3VycmVkIHdoaWxlIGV4ZWN1dGluZyB0aGlzIGxpbmU6Ci9ob21lL3Rlc3QxL2VjbGlwc2Ut
cG9reS9zY3JpcHRzL2VjbGlwc2UtNC4yLWxpbnV4LWd0ay14ODZfNjQvZWNsaXBzZS9wbHVnaW5z
L29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMC52MjAxMjA1MjMtMTU1NS9zY3JpcHRzL2dlbmVy
aWNUYXJnZXRzLnhtbDoxMTE6IFByb2Nlc3NpbmcgaW5jbHVzaW9uIGZyb20gZmVhdHVyZSBvcmcu
eW9jdG8uc2RrOiBCdW5kbGUgb3JnLnlvY3RvLnNkay5pZGVfMS4yLjAuMjAxMjA3MjMxMTM1IGZh
aWxlZCB0byByZXNvbHZlLjoKCU1pc3NpbmcgcmVxdWlyZWQgcGx1Zy1pbiBvcmcuZWNsaXBzZS5s
aW51eHRvb2xzLmNkdC5hdXRvdG9vbHMudWlfMS4wLjAuCgoJYXQgb3JnLmFwYWNoZS50b29scy5h
bnQuUHJvamVjdEhlbHBlci5hZGRMb2NhdGlvblRvQnVpbGRFeGNlcHRpb24oUHJvamVjdEhlbHBl
ci5qYXZhOjU1MSkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LnRhc2tkZWZzLkFudC5leGVjdXRl
KEFudC5qYXZhOjQ0NCkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlVua25vd25FbGVtZW50LmV4
ZWN1dGUoVW5rbm93bkVsZW1lbnQuamF2YToyOTEpCglhdCBzdW4ucmVmbGVjdC5HZW5lcmF0ZWRN
ZXRob2RBY2Nlc3NvcjguaW52b2tlKFVua25vd24gU291cmNlKQoJYXQgc3VuLnJlZmxlY3QuRGVs
ZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29y
SW1wbC5qYXZhOjQzKQoJYXQgamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2Qu
amF2YTo2MDEpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5kaXNwYXRjaC5EaXNwYXRjaFV0aWxz
LmV4ZWN1dGUoRGlzcGF0Y2hVdGlscy5qYXZhOjEwNikKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50
LlRhc2sucGVyZm9ybShUYXNrLmphdmE6MzQ4KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFy
Z2V0LmV4ZWN1dGUoVGFyZ2V0LmphdmE6MzkyKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFy
Z2V0LnBlcmZvcm1UYXNrcyhUYXJnZXQuamF2YTo0MTMpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFu
dC5Qcm9qZWN0LmV4ZWN1dGVTb3J0ZWRUYXJnZXRzKFByb2plY3QuamF2YToxMzk5KQoJYXQgb3Jn
LmFwYWNoZS50b29scy5hbnQuaGVscGVyLlNpbmdsZUNoZWNrRXhlY3V0b3IuZXhlY3V0ZVRhcmdl
dHMoU2luZ2xlQ2hlY2tFeGVjdXRvci5qYXZhOjM4KQoJYXQgb3JnLmVjbGlwc2UuYW50LmludGVy
bmFsLmNvcmUuYW50LkVjbGlwc2VTaW5nbGVDaGVja0V4ZWN1dG9yLmV4ZWN1dGVUYXJnZXRzKEVj
bGlwc2VTaW5nbGVDaGVja0V4ZWN1dG9yLmphdmE6MzApCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFu
dC5Qcm9qZWN0LmV4ZWN1dGVUYXJnZXRzKFByb2plY3QuamF2YToxMjUxKQoJYXQgb3JnLmFwYWNo
ZS50b29scy5hbnQudGFza2RlZnMuQW50LmV4ZWN1dGUoQW50LmphdmE6NDQyKQoJLi4uIDYyIG1v
cmUKQ2F1c2VkIGJ5OiAvaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy9lY2xpcHNlLTQu
Mi1saW51eC1ndGsteDg2XzY0L2VjbGlwc2UvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRf
My44LjAudjIwMTIwNTIzLTE1NTUvc2NyaXB0cy9nZW5lcmljVGFyZ2V0cy54bWw6MTExOiBQcm9j
ZXNzaW5nIGluY2x1c2lvbiBmcm9tIGZlYXR1cmUgb3JnLnlvY3RvLnNkazogQnVuZGxlIG9yZy55
b2N0by5zZGsuaWRlXzEuMi4wLjIwMTIwNzIzMTEzNSBmYWlsZWQgdG8gcmVzb2x2ZS46CglNaXNz
aW5nIHJlcXVpcmVkIHBsdWctaW4gb3JnLmVjbGlwc2UubGludXh0b29scy5jZHQuYXV0b3Rvb2xz
LnVpXzEuMC4wLgoKCWF0IG9yZy5lY2xpcHNlLnBkZS5pbnRlcm5hbC5idWlsZC50YXNrcy5CdWls
ZFNjcmlwdEdlbmVyYXRvclRhc2suZXhlY3V0ZShCdWlsZFNjcmlwdEdlbmVyYXRvclRhc2suamF2
YTo5NCkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlVua25vd25FbGVtZW50LmV4ZWN1dGUoVW5r
bm93bkVsZW1lbnQuamF2YToyOTEpCglhdCBzdW4ucmVmbGVjdC5HZW5lcmF0ZWRNZXRob2RBY2Nl
c3NvcjguaW52b2tlKFVua25vd24gU291cmNlKQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01l
dGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZh
OjQzKQoJYXQgamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo2MDEp
CglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5kaXNwYXRjaC5EaXNwYXRjaFV0aWxzLmV4ZWN1dGUo
RGlzcGF0Y2hVdGlscy5qYXZhOjEwNikKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRhc2sucGVy
Zm9ybShUYXNrLmphdmE6MzQ4KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFyZ2V0LmV4ZWN1
dGUoVGFyZ2V0LmphdmE6MzkyKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFyZ2V0LnBlcmZv
cm1UYXNrcyhUYXJnZXQuamF2YTo0MTMpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Qcm9qZWN0
LmV4ZWN1dGVTb3J0ZWRUYXJnZXRzKFByb2plY3QuamF2YToxMzk5KQoJYXQgb3JnLmFwYWNoZS50
b29scy5hbnQuaGVscGVyLlNpbmdsZUNoZWNrRXhlY3V0b3IuZXhlY3V0ZVRhcmdldHMoU2luZ2xl
Q2hlY2tFeGVjdXRvci5qYXZhOjM4KQoJYXQgb3JnLmVjbGlwc2UuYW50LmludGVybmFsLmNvcmUu
YW50LkVjbGlwc2VTaW5nbGVDaGVja0V4ZWN1dG9yLmV4ZWN1dGVUYXJnZXRzKEVjbGlwc2VTaW5n
bGVDaGVja0V4ZWN1dG9yLmphdmE6MzApCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Qcm9qZWN0
LmV4ZWN1dGVUYXJnZXRzKFByb2plY3QuamF2YToxMjUxKQoJYXQgb3JnLmFwYWNoZS50b29scy5h
bnQudGFza2RlZnMuQW50LmV4ZWN1dGUoQW50LmphdmE6NDQyKQoJLi4uIDc1IG1vcmUKUm9vdCBl
eGNlcHRpb246Ci9ob21lL3Rlc3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzL2VjbGlwc2UvcGx1Z2lu
cy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjAudjIwMTIwNTIzLTE1NTUvc2NyaXB0cy9idWls
ZC54bWw6MzU6IFRoZSBmb2xsb3dpbmcgZXJyb3Igb2NjdXJyZWQgd2hpbGUgZXhlY3V0aW5nIHRo
aXMgbGluZToKL2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvZWNsaXBzZS9wbHVnaW5z
L29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMC52MjAxMjA1MjMtMTU1NS9zY3JpcHRzL2J1aWxk
LnhtbDo5MTogVGhlIGZvbGxvd2luZyBlcnJvciBvY2N1cnJlZCB3aGlsZSBleGVjdXRpbmcgdGhp
cyBsaW5lOgovaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy8xLjJfTTRfYnVpbGRfMjAx
MjA3MjMxMTM0L3NyYy9mZWF0dXJlcy9vcmcueW9jdG8uc2RrLmhlYWRsZXNzLmJ1aWxkL2N1c3Rv
bVRhcmdldHMueG1sOjEyOiBUaGUgZm9sbG93aW5nIGVycm9yIG9jY3VycmVkIHdoaWxlIGV4ZWN1
dGluZyB0aGlzIGxpbmU6Ci9ob21lL3Rlc3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzL2VjbGlwc2Ut
NC4yLWxpbnV4LWd0ay14ODZfNjQvZWNsaXBzZS9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWls
ZF8zLjguMC52MjAxMjA1MjMtMTU1NS90ZW1wbGF0ZXMvaGVhZGxlc3MtYnVpbGQvYWxsRWxlbWVu
dHMueG1sOjE2OiBUaGUgZm9sbG93aW5nIGVycm9yIG9jY3VycmVkIHdoaWxlIGV4ZWN1dGluZyB0
aGlzIGxpbmU6Ci9ob21lL3Rlc3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzL2VjbGlwc2UtNC4yLWxp
bnV4LWd0ay14ODZfNjQvZWNsaXBzZS9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjgu
MC52MjAxMjA1MjMtMTU1NS9zY3JpcHRzL2dlbmVyaWNUYXJnZXRzLnhtbDoxMTE6IFByb2Nlc3Np
bmcgaW5jbHVzaW9uIGZyb20gZmVhdHVyZSBvcmcueW9jdG8uc2RrOiBCdW5kbGUgb3JnLnlvY3Rv
LnNkay5pZGVfMS4yLjAuMjAxMjA3MjMxMTM1IGZhaWxlZCB0byByZXNvbHZlLjoKCU1pc3Npbmcg
cmVxdWlyZWQgcGx1Zy1pbiBvcmcuZWNsaXBzZS5saW51eHRvb2xzLmNkdC5hdXRvdG9vbHMudWlf
MS4wLjAuCgoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuUHJvamVjdEhlbHBlci5hZGRMb2NhdGlv
blRvQnVpbGRFeGNlcHRpb24oUHJvamVjdEhlbHBlci5qYXZhOjU1MSkKCWF0IG9yZy5hcGFjaGUu
dG9vbHMuYW50LnRhc2tkZWZzLkFudC5leGVjdXRlKEFudC5qYXZhOjQ0NCkKCWF0IG9yZy5hcGFj
aGUudG9vbHMuYW50LnRhc2tkZWZzLkNhbGxUYXJnZXQuZXhlY3V0ZShDYWxsVGFyZ2V0LmphdmE6
MTA1KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVW5rbm93bkVsZW1lbnQuZXhlY3V0ZShVbmtu
b3duRWxlbWVudC5qYXZhOjI5MSkKCWF0IHN1bi5yZWZsZWN0LkdlbmVyYXRlZE1ldGhvZEFjY2Vz
c29yOC5pbnZva2UoVW5rbm93biBTb3VyY2UpCglhdCBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5nTWV0
aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6
NDMpCglhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhvZC5qYXZhOjYwMSkK
CWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LmRpc3BhdGNoLkRpc3BhdGNoVXRpbHMuZXhlY3V0ZShE
aXNwYXRjaFV0aWxzLmphdmE6MTA2KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFzay5wZXJm
b3JtKFRhc2suamF2YTozNDgpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5UYXJnZXQuZXhlY3V0
ZShUYXJnZXQuamF2YTozOTIpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5UYXJnZXQucGVyZm9y
bVRhc2tzKFRhcmdldC5qYXZhOjQxMykKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlByb2plY3Qu
ZXhlY3V0ZVNvcnRlZFRhcmdldHMoUHJvamVjdC5qYXZhOjEzOTkpCglhdCBvcmcuYXBhY2hlLnRv
b2xzLmFudC5Qcm9qZWN0LmV4ZWN1dGVUYXJnZXQoUHJvamVjdC5qYXZhOjEzNjgpCglhdCBvcmcu
YXBhY2hlLnRvb2xzLmFudC5oZWxwZXIuRGVmYXVsdEV4ZWN1dG9yLmV4ZWN1dGVUYXJnZXRzKERl
ZmF1bHRFeGVjdXRvci5qYXZhOjQxKQoJYXQgb3JnLmVjbGlwc2UuYW50LmludGVybmFsLmNvcmUu
YW50LkVjbGlwc2VEZWZhdWx0RXhlY3V0b3IuZXhlY3V0ZVRhcmdldHMoRWNsaXBzZURlZmF1bHRF
eGVjdXRvci5qYXZhOjMyKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuUHJvamVjdC5leGVjdXRl
VGFyZ2V0cyhQcm9qZWN0LmphdmE6MTI1MSkKCWF0IG9yZy5lY2xpcHNlLmFudC5pbnRlcm5hbC5j
b3JlLmFudC5JbnRlcm5hbEFudFJ1bm5lci5ydW4oSW50ZXJuYWxBbnRSdW5uZXIuamF2YTo2NzIp
CglhdCBvcmcuZWNsaXBzZS5hbnQuaW50ZXJuYWwuY29yZS5hbnQuSW50ZXJuYWxBbnRSdW5uZXIu
cnVuKEludGVybmFsQW50UnVubmVyLmphdmE6NTM3KQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0
aG9kQWNjZXNzb3JJbXBsLmludm9rZTAoTmF0aXZlIE1ldGhvZCkKCWF0IHN1bi5yZWZsZWN0Lk5h
dGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmph
dmE6NTcpCglhdCBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmludm9r
ZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NDMpCglhdCBqYXZhLmxhbmcucmVm
bGVjdC5NZXRob2QuaW52b2tlKE1ldGhvZC5qYXZhOjYwMSkKCWF0IG9yZy5lY2xpcHNlLmFudC5j
b3JlLkFudFJ1bm5lci5ydW4oQW50UnVubmVyLmphdmE6NTEzKQoJYXQgb3JnLmVjbGlwc2UuYW50
LmNvcmUuQW50UnVubmVyLnN0YXJ0KEFudFJ1bm5lci5qYXZhOjYwMCkKCWF0IG9yZy5lY2xpcHNl
LmVxdWlub3guaW50ZXJuYWwuYXBwLkVjbGlwc2VBcHBIYW5kbGUucnVuKEVjbGlwc2VBcHBIYW5k
bGUuamF2YToxOTYpCglhdCBvcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWUuaW50ZXJuYWwuYWRhcHRv
ci5FY2xpcHNlQXBwTGF1bmNoZXIucnVuQXBwbGljYXRpb24oRWNsaXBzZUFwcExhdW5jaGVyLmph
dmE6MTEwKQoJYXQgb3JnLmVjbGlwc2UuY29yZS5ydW50aW1lLmludGVybmFsLmFkYXB0b3IuRWNs
aXBzZUFwcExhdW5jaGVyLnN0YXJ0KEVjbGlwc2VBcHBMYXVuY2hlci5qYXZhOjc5KQoJYXQgb3Jn
LmVjbGlwc2UuY29yZS5ydW50aW1lLmFkYXB0b3IuRWNsaXBzZVN0YXJ0ZXIucnVuKEVjbGlwc2VT
dGFydGVyLmphdmE6MzUzKQoJYXQgb3JnLmVjbGlwc2UuY29yZS5ydW50aW1lLmFkYXB0b3IuRWNs
aXBzZVN0YXJ0ZXIucnVuKEVjbGlwc2VTdGFydGVyLmphdmE6MTgwKQoJYXQgc3VuLnJlZmxlY3Qu
TmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZTAoTmF0aXZlIE1ldGhvZCkKCWF0IHN1bi5y
ZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoTmF0aXZlTWV0aG9kQWNjZXNz
b3JJbXBsLmphdmE6NTcpCglhdCBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJ
bXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NDMpCglhdCBqYXZh
LmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhvZC5qYXZhOjYwMSkKCWF0IG9yZy5lY2xp
cHNlLmVxdWlub3gubGF1bmNoZXIuTWFpbi5pbnZva2VGcmFtZXdvcmsoTWFpbi5qYXZhOjYyOSkK
CWF0IG9yZy5lY2xpcHNlLmVxdWlub3gubGF1bmNoZXIuTWFpbi5iYXNpY1J1bihNYWluLmphdmE6
NTg0KQoJYXQgb3JnLmVjbGlwc2UuZXF1aW5veC5sYXVuY2hlci5NYWluLnJ1bihNYWluLmphdmE6
MTQzOCkKCWF0IG9yZy5lY2xpcHNlLmVxdWlub3gubGF1bmNoZXIuTWFpbi5tYWluKE1haW4uamF2
YToxNDE0KQpDYXVzZWQgYnk6IC9ob21lL3Rlc3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzL2VjbGlw
c2UvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjAudjIwMTIwNTIzLTE1NTUvc2Ny
aXB0cy9idWlsZC54bWw6OTE6IFRoZSBmb2xsb3dpbmcgZXJyb3Igb2NjdXJyZWQgd2hpbGUgZXhl
Y3V0aW5nIHRoaXMgbGluZToKL2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvMS4yX000
X2J1aWxkXzIwMTIwNzIzMTEzNC9zcmMvZmVhdHVyZXMvb3JnLnlvY3RvLnNkay5oZWFkbGVzcy5i
dWlsZC9jdXN0b21UYXJnZXRzLnhtbDoxMjogVGhlIGZvbGxvd2luZyBlcnJvciBvY2N1cnJlZCB3
aGlsZSBleGVjdXRpbmcgdGhpcyBsaW5lOgovaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0
cy9lY2xpcHNlLTQuMi1saW51eC1ndGsteDg2XzY0L2VjbGlwc2UvcGx1Z2lucy9vcmcuZWNsaXBz
ZS5wZGUuYnVpbGRfMy44LjAudjIwMTIwNTIzLTE1NTUvdGVtcGxhdGVzL2hlYWRsZXNzLWJ1aWxk
L2FsbEVsZW1lbnRzLnhtbDoxNjogVGhlIGZvbGxvd2luZyBlcnJvciBvY2N1cnJlZCB3aGlsZSBl
eGVjdXRpbmcgdGhpcyBsaW5lOgovaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy9lY2xp
cHNlLTQuMi1saW51eC1ndGsteDg2XzY0L2VjbGlwc2UvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUu
YnVpbGRfMy44LjAudjIwMTIwNTIzLTE1NTUvc2NyaXB0cy9nZW5lcmljVGFyZ2V0cy54bWw6MTEx
OiBQcm9jZXNzaW5nIGluY2x1c2lvbiBmcm9tIGZlYXR1cmUgb3JnLnlvY3RvLnNkazogQnVuZGxl
IG9yZy55b2N0by5zZGsuaWRlXzEuMi4wLjIwMTIwNzIzMTEzNSBmYWlsZWQgdG8gcmVzb2x2ZS46
CglNaXNzaW5nIHJlcXVpcmVkIHBsdWctaW4gb3JnLmVjbGlwc2UubGludXh0b29scy5jZHQuYXV0
b3Rvb2xzLnVpXzEuMC4wLgoKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlByb2plY3RIZWxwZXIu
YWRkTG9jYXRpb25Ub0J1aWxkRXhjZXB0aW9uKFByb2plY3RIZWxwZXIuamF2YTo1NTEpCglhdCBv
cmcuYXBhY2hlLnRvb2xzLmFudC50YXNrZGVmcy5BbnQuZXhlY3V0ZShBbnQuamF2YTo0NDQpCglh
dCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Vbmtub3duRWxlbWVudC5leGVjdXRlKFVua25vd25FbGVt
ZW50LmphdmE6MjkxKQoJYXQgc3VuLnJlZmxlY3QuR2VuZXJhdGVkTWV0aG9kQWNjZXNzb3I4Lmlu
dm9rZShVbmtub3duIFNvdXJjZSkKCWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nl
c3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YTo0MykKCWF0
IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NjAxKQoJYXQgb3Jn
LmFwYWNoZS50b29scy5hbnQuZGlzcGF0Y2guRGlzcGF0Y2hVdGlscy5leGVjdXRlKERpc3BhdGNo
VXRpbHMuamF2YToxMDYpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5UYXNrLnBlcmZvcm0oVGFz
ay5qYXZhOjM0OCkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRhcmdldC5leGVjdXRlKFRhcmdl
dC5qYXZhOjM5MikKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRhcmdldC5wZXJmb3JtVGFza3Mo
VGFyZ2V0LmphdmE6NDEzKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuUHJvamVjdC5leGVjdXRl
U29ydGVkVGFyZ2V0cyhQcm9qZWN0LmphdmE6MTM5OSkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50
LmhlbHBlci5TaW5nbGVDaGVja0V4ZWN1dG9yLmV4ZWN1dGVUYXJnZXRzKFNpbmdsZUNoZWNrRXhl
Y3V0b3IuamF2YTozOCkKCWF0IG9yZy5lY2xpcHNlLmFudC5pbnRlcm5hbC5jb3JlLmFudC5FY2xp
cHNlU2luZ2xlQ2hlY2tFeGVjdXRvci5leGVjdXRlVGFyZ2V0cyhFY2xpcHNlU2luZ2xlQ2hlY2tF
eGVjdXRvci5qYXZhOjMwKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuUHJvamVjdC5leGVjdXRl
VGFyZ2V0cyhQcm9qZWN0LmphdmE6MTI1MSkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LnRhc2tk
ZWZzLkFudC5leGVjdXRlKEFudC5qYXZhOjQ0MikKCS4uLiAzNSBtb3JlCkNhdXNlZCBieTogL2hv
bWUvdGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvMS4yX000X2J1aWxkXzIwMTIwNzIzMTEzNC9z
cmMvZmVhdHVyZXMvb3JnLnlvY3RvLnNkay5oZWFkbGVzcy5idWlsZC9jdXN0b21UYXJnZXRzLnht
bDoxMjogVGhlIGZvbGxvd2luZyBlcnJvciBvY2N1cnJlZCB3aGlsZSBleGVjdXRpbmcgdGhpcyBs
aW5lOgovaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy9lY2xpcHNlLTQuMi1saW51eC1n
dGsteDg2XzY0L2VjbGlwc2UvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjAudjIw
MTIwNTIzLTE1NTUvdGVtcGxhdGVzL2hlYWRsZXNzLWJ1aWxkL2FsbEVsZW1lbnRzLnhtbDoxNjog
VGhlIGZvbGxvd2luZyBlcnJvciBvY2N1cnJlZCB3aGlsZSBleGVjdXRpbmcgdGhpcyBsaW5lOgov
aG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy9lY2xpcHNlLTQuMi1saW51eC1ndGsteDg2
XzY0L2VjbGlwc2UvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjAudjIwMTIwNTIz
LTE1NTUvc2NyaXB0cy9nZW5lcmljVGFyZ2V0cy54bWw6MTExOiBQcm9jZXNzaW5nIGluY2x1c2lv
biBmcm9tIGZlYXR1cmUgb3JnLnlvY3RvLnNkazogQnVuZGxlIG9yZy55b2N0by5zZGsuaWRlXzEu
Mi4wLjIwMTIwNzIzMTEzNSBmYWlsZWQgdG8gcmVzb2x2ZS46CglNaXNzaW5nIHJlcXVpcmVkIHBs
dWctaW4gb3JnLmVjbGlwc2UubGludXh0b29scy5jZHQuYXV0b3Rvb2xzLnVpXzEuMC4wLgoKCWF0
IG9yZy5hcGFjaGUudG9vbHMuYW50LlByb2plY3RIZWxwZXIuYWRkTG9jYXRpb25Ub0J1aWxkRXhj
ZXB0aW9uKFByb2plY3RIZWxwZXIuamF2YTo1NTEpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC50
YXNrZGVmcy5BbnQuZXhlY3V0ZShBbnQuamF2YTo0NDQpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFu
dC50YXNrZGVmcy5DYWxsVGFyZ2V0LmV4ZWN1dGUoQ2FsbFRhcmdldC5qYXZhOjEwNSkKCWF0IG9y
Zy5hcGFjaGUudG9vbHMuYW50LlVua25vd25FbGVtZW50LmV4ZWN1dGUoVW5rbm93bkVsZW1lbnQu
amF2YToyOTEpCglhdCBzdW4ucmVmbGVjdC5HZW5lcmF0ZWRNZXRob2RBY2Nlc3NvcjguaW52b2tl
KFVua25vd24gU291cmNlKQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29y
SW1wbC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjQzKQoJYXQgamF2
YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo2MDEpCglhdCBvcmcuYXBh
Y2hlLnRvb2xzLmFudC5kaXNwYXRjaC5EaXNwYXRjaFV0aWxzLmV4ZWN1dGUoRGlzcGF0Y2hVdGls
cy5qYXZhOjEwNikKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRhc2sucGVyZm9ybShUYXNrLmph
dmE6MzQ4KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFyZ2V0LmV4ZWN1dGUoVGFyZ2V0Lmph
dmE6MzkyKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFyZ2V0LnBlcmZvcm1UYXNrcyhUYXJn
ZXQuamF2YTo0MTMpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Qcm9qZWN0LmV4ZWN1dGVTb3J0
ZWRUYXJnZXRzKFByb2plY3QuamF2YToxMzk5KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuaGVs
cGVyLlNpbmdsZUNoZWNrRXhlY3V0b3IuZXhlY3V0ZVRhcmdldHMoU2luZ2xlQ2hlY2tFeGVjdXRv
ci5qYXZhOjM4KQoJYXQgb3JnLmVjbGlwc2UuYW50LmludGVybmFsLmNvcmUuYW50LkVjbGlwc2VT
aW5nbGVDaGVja0V4ZWN1dG9yLmV4ZWN1dGVUYXJnZXRzKEVjbGlwc2VTaW5nbGVDaGVja0V4ZWN1
dG9yLmphdmE6MzApCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Qcm9qZWN0LmV4ZWN1dGVUYXJn
ZXRzKFByb2plY3QuamF2YToxMjUxKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQudGFza2RlZnMu
QW50LmV4ZWN1dGUoQW50LmphdmE6NDQyKQoJLi4uIDQ4IG1vcmUKQ2F1c2VkIGJ5OiAvaG9tZS90
ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy9lY2xpcHNlLTQuMi1saW51eC1ndGsteDg2XzY0L2Vj
bGlwc2UvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjAudjIwMTIwNTIzLTE1NTUv
dGVtcGxhdGVzL2hlYWRsZXNzLWJ1aWxkL2FsbEVsZW1lbnRzLnhtbDoxNjogVGhlIGZvbGxvd2lu
ZyBlcnJvciBvY2N1cnJlZCB3aGlsZSBleGVjdXRpbmcgdGhpcyBsaW5lOgovaG9tZS90ZXN0MS9l
Y2xpcHNlLXBva3kvc2NyaXB0cy9lY2xpcHNlLTQuMi1saW51eC1ndGsteDg2XzY0L2VjbGlwc2Uv
cGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjAudjIwMTIwNTIzLTE1NTUvc2NyaXB0
cy9nZW5lcmljVGFyZ2V0cy54bWw6MTExOiBQcm9jZXNzaW5nIGluY2x1c2lvbiBmcm9tIGZlYXR1
cmUgb3JnLnlvY3RvLnNkazogQnVuZGxlIG9yZy55b2N0by5zZGsuaWRlXzEuMi4wLjIwMTIwNzIz
MTEzNSBmYWlsZWQgdG8gcmVzb2x2ZS46CglNaXNzaW5nIHJlcXVpcmVkIHBsdWctaW4gb3JnLmVj
bGlwc2UubGludXh0b29scy5jZHQuYXV0b3Rvb2xzLnVpXzEuMC4wLgoKCWF0IG9yZy5hcGFjaGUu
dG9vbHMuYW50LlByb2plY3RIZWxwZXIuYWRkTG9jYXRpb25Ub0J1aWxkRXhjZXB0aW9uKFByb2pl
Y3RIZWxwZXIuamF2YTo1NTEpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC50YXNrZGVmcy5BbnQu
ZXhlY3V0ZShBbnQuamF2YTo0NDQpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Vbmtub3duRWxl
bWVudC5leGVjdXRlKFVua25vd25FbGVtZW50LmphdmE6MjkxKQoJYXQgc3VuLnJlZmxlY3QuR2Vu
ZXJhdGVkTWV0aG9kQWNjZXNzb3I4Lmludm9rZShVbmtub3duIFNvdXJjZSkKCWF0IHN1bi5yZWZs
ZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RB
Y2Nlc3NvckltcGwuamF2YTo0MykKCWF0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2Uo
TWV0aG9kLmphdmE6NjAxKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuZGlzcGF0Y2guRGlzcGF0
Y2hVdGlscy5leGVjdXRlKERpc3BhdGNoVXRpbHMuamF2YToxMDYpCglhdCBvcmcuYXBhY2hlLnRv
b2xzLmFudC5UYXNrLnBlcmZvcm0oVGFzay5qYXZhOjM0OCkKCWF0IG9yZy5hcGFjaGUudG9vbHMu
YW50LlRhcmdldC5leGVjdXRlKFRhcmdldC5qYXZhOjM5MikKCWF0IG9yZy5hcGFjaGUudG9vbHMu
YW50LlRhcmdldC5wZXJmb3JtVGFza3MoVGFyZ2V0LmphdmE6NDEzKQoJYXQgb3JnLmFwYWNoZS50
b29scy5hbnQuUHJvamVjdC5leGVjdXRlU29ydGVkVGFyZ2V0cyhQcm9qZWN0LmphdmE6MTM5OSkK
CWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LmhlbHBlci5TaW5nbGVDaGVja0V4ZWN1dG9yLmV4ZWN1
dGVUYXJnZXRzKFNpbmdsZUNoZWNrRXhlY3V0b3IuamF2YTozOCkKCWF0IG9yZy5lY2xpcHNlLmFu
dC5pbnRlcm5hbC5jb3JlLmFudC5FY2xpcHNlU2luZ2xlQ2hlY2tFeGVjdXRvci5leGVjdXRlVGFy
Z2V0cyhFY2xpcHNlU2luZ2xlQ2hlY2tFeGVjdXRvci5qYXZhOjMwKQoJYXQgb3JnLmFwYWNoZS50
b29scy5hbnQuUHJvamVjdC5leGVjdXRlVGFyZ2V0cyhQcm9qZWN0LmphdmE6MTI1MSkKCWF0IG9y
Zy5hcGFjaGUudG9vbHMuYW50LnRhc2tkZWZzLkFudC5leGVjdXRlKEFudC5qYXZhOjQ0MikKCS4u
LiA2MiBtb3JlCkNhdXNlZCBieTogL2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvZWNs
aXBzZS00LjItbGludXgtZ3RrLXg4Nl82NC9lY2xpcHNlL3BsdWdpbnMvb3JnLmVjbGlwc2UucGRl
LmJ1aWxkXzMuOC4wLnYyMDEyMDUyMy0xNTU1L3NjcmlwdHMvZ2VuZXJpY1RhcmdldHMueG1sOjEx
MTogUHJvY2Vzc2luZyBpbmNsdXNpb24gZnJvbSBmZWF0dXJlIG9yZy55b2N0by5zZGs6IEJ1bmRs
ZSBvcmcueW9jdG8uc2RrLmlkZV8xLjIuMC4yMDEyMDcyMzExMzUgZmFpbGVkIHRvIHJlc29sdmUu
OgoJTWlzc2luZyByZXF1aXJlZCBwbHVnLWluIG9yZy5lY2xpcHNlLmxpbnV4dG9vbHMuY2R0LmF1
dG90b29scy51aV8xLjAuMC4KCglhdCBvcmcuZWNsaXBzZS5wZGUuaW50ZXJuYWwuYnVpbGQudGFz
a3MuQnVpbGRTY3JpcHRHZW5lcmF0b3JUYXNrLmV4ZWN1dGUoQnVpbGRTY3JpcHRHZW5lcmF0b3JU
YXNrLmphdmE6OTQpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Vbmtub3duRWxlbWVudC5leGVj
dXRlKFVua25vd25FbGVtZW50LmphdmE6MjkxKQoJYXQgc3VuLnJlZmxlY3QuR2VuZXJhdGVkTWV0
aG9kQWNjZXNzb3I4Lmludm9rZShVbmtub3duIFNvdXJjZSkKCWF0IHN1bi5yZWZsZWN0LkRlbGVn
YXRpbmdNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3Nvcklt
cGwuamF2YTo0MykKCWF0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmph
dmE6NjAxKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuZGlzcGF0Y2guRGlzcGF0Y2hVdGlscy5l
eGVjdXRlKERpc3BhdGNoVXRpbHMuamF2YToxMDYpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5U
YXNrLnBlcmZvcm0oVGFzay5qYXZhOjM0OCkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRhcmdl
dC5leGVjdXRlKFRhcmdldC5qYXZhOjM5MikKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRhcmdl
dC5wZXJmb3JtVGFza3MoVGFyZ2V0LmphdmE6NDEzKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQu
UHJvamVjdC5leGVjdXRlU29ydGVkVGFyZ2V0cyhQcm9qZWN0LmphdmE6MTM5OSkKCWF0IG9yZy5h
cGFjaGUudG9vbHMuYW50LmhlbHBlci5TaW5nbGVDaGVja0V4ZWN1dG9yLmV4ZWN1dGVUYXJnZXRz
KFNpbmdsZUNoZWNrRXhlY3V0b3IuamF2YTozOCkKCWF0IG9yZy5lY2xpcHNlLmFudC5pbnRlcm5h
bC5jb3JlLmFudC5FY2xpcHNlU2luZ2xlQ2hlY2tFeGVjdXRvci5leGVjdXRlVGFyZ2V0cyhFY2xp
cHNlU2luZ2xlQ2hlY2tFeGVjdXRvci5qYXZhOjMwKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQu
UHJvamVjdC5leGVjdXRlVGFyZ2V0cyhQcm9qZWN0LmphdmE6MTI1MSkKCWF0IG9yZy5hcGFjaGUu
dG9vbHMuYW50LnRhc2tkZWZzLkFudC5leGVjdXRlKEFudC5qYXZhOjQ0MikKCS4uLiA3NSBtb3Jl
CiFTRVNTSU9OIDIwMTItMDctMjMgMTE6Mzc6MDcuMDc0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmVjbGlwc2UuYnVpbGRJZD1JMjAxMjA2MDgtMTQwMApq
YXZhLnZlcnNpb249MS43LjBfYjE0Ny1pY2VkdGVhCmphdmEudmVuZG9yPU9yYWNsZSBDb3Jwb3Jh
dGlvbgpCb290TG9hZGVyIGNvbnN0YW50czogT1M9bGludXgsIEFSQ0g9eDg2XzY0LCBXUz1ndGss
IE5MPWVuX1VTCkZyYW1ld29yayBhcmd1bWVudHM6ICAtYXBwbGljYXRpb24gb3JnLmVjbGlwc2Uu
YW50LmNvcmUuYW50UnVubmVyIC1idWlsZGZpbGUgL2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3Nj
cmlwdHMvZWNsaXBzZS9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMC52MjAxMjA1
MjMtMTU1NS9zY3JpcHRzL2J1aWxkLnhtbCAtRGJhc2VMb2NhdGlvbj0vaG9tZS90ZXN0MS9lY2xp
cHNlLXBva3kvc2NyaXB0cy9lY2xpcHNlIC1EYnVpbGRlcj0vaG9tZS90ZXN0MS9lY2xpcHNlLXBv
a3kvc2NyaXB0cy8xLjJfTTRfYnVpbGRfMjAxMjA3MjMxMTM3L3NyYy9mZWF0dXJlcy9vcmcueW9j
dG8uc2RrLmhlYWRsZXNzLmJ1aWxkIC1EYnVpbGREaXJlY3Rvcnk9L2hvbWUvdGVzdDEvZWNsaXBz
ZS1wb2t5L3NjcmlwdHMvMS4yX000X2J1aWxkXzIwMTIwNzIzMTEzNy9idWlsZCAtRG90aGVyU3Jj
RGlyZWN0b3J5PS9ob21lL3Rlc3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzLzEuMl9NNF9idWlsZF8y
MDEyMDcyMzExMzcvc3JjIC1EYnVpbGRJZD1teUVjbGlwc2UxLjJNNApDb21tYW5kLWxpbmUgYXJn
dW1lbnRzOiAgLWFwcGxpY2F0aW9uIG9yZy5lY2xpcHNlLmFudC5jb3JlLmFudFJ1bm5lciAtYnVp
bGRmaWxlIC9ob21lL3Rlc3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzL2VjbGlwc2UvcGx1Z2lucy9v
cmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjAudjIwMTIwNTIzLTE1NTUvc2NyaXB0cy9idWlsZC54
bWwgLURiYXNlTG9jYXRpb249L2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvZWNsaXBz
ZSAtRGJ1aWxkZXI9L2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvMS4yX000X2J1aWxk
XzIwMTIwNzIzMTEzNy9zcmMvZmVhdHVyZXMvb3JnLnlvY3RvLnNkay5oZWFkbGVzcy5idWlsZCAt
RGJ1aWxkRGlyZWN0b3J5PS9ob21lL3Rlc3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzLzEuMl9NNF9i
dWlsZF8yMDEyMDcyMzExMzcvYnVpbGQgLURvdGhlclNyY0RpcmVjdG9yeT0vaG9tZS90ZXN0MS9l
Y2xpcHNlLXBva3kvc2NyaXB0cy8xLjJfTTRfYnVpbGRfMjAxMjA3MjMxMTM3L3NyYyAtRGJ1aWxk
SWQ9bXlFY2xpcHNlMS4yTTQKCiFFTlRSWSBvcmcuZWNsaXBzZS5vc2dpIDQgMCAyMDEyLTA3LTIz
IDExOjM3OjQ4LjMwNQohTUVTU0FHRSBBcHBsaWNhdGlvbiBlcnJvcgohU1RBQ0sgMQpqYXZhLmxh
bmcucmVmbGVjdC5JbnZvY2F0aW9uVGFyZ2V0RXhjZXB0aW9uCglhdCBzdW4ucmVmbGVjdC5OYXRp
dmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9kKQoJYXQgc3VuLnJlZmxl
Y3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShOYXRpdmVNZXRob2RBY2Nlc3Nvcklt
cGwuamF2YTo1NykKCWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwu
aW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YTo0MykKCWF0IGphdmEubGFu
Zy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NjAxKQoJYXQgb3JnLmVjbGlwc2Uu
YW50LmNvcmUuQW50UnVubmVyLnJ1bihBbnRSdW5uZXIuamF2YTo1MTMpCglhdCBvcmcuZWNsaXBz
ZS5hbnQuY29yZS5BbnRSdW5uZXIuc3RhcnQoQW50UnVubmVyLmphdmE6NjAwKQoJYXQgb3JnLmVj
bGlwc2UuZXF1aW5veC5pbnRlcm5hbC5hcHAuRWNsaXBzZUFwcEhhbmRsZS5ydW4oRWNsaXBzZUFw
cEhhbmRsZS5qYXZhOjE5NikKCWF0IG9yZy5lY2xpcHNlLmNvcmUucnVudGltZS5pbnRlcm5hbC5h
ZGFwdG9yLkVjbGlwc2VBcHBMYXVuY2hlci5ydW5BcHBsaWNhdGlvbihFY2xpcHNlQXBwTGF1bmNo
ZXIuamF2YToxMTApCglhdCBvcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWUuaW50ZXJuYWwuYWRhcHRv
ci5FY2xpcHNlQXBwTGF1bmNoZXIuc3RhcnQoRWNsaXBzZUFwcExhdW5jaGVyLmphdmE6NzkpCglh
dCBvcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWUuYWRhcHRvci5FY2xpcHNlU3RhcnRlci5ydW4oRWNs
aXBzZVN0YXJ0ZXIuamF2YTozNTMpCglhdCBvcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWUuYWRhcHRv
ci5FY2xpcHNlU3RhcnRlci5ydW4oRWNsaXBzZVN0YXJ0ZXIuamF2YToxODApCglhdCBzdW4ucmVm
bGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9kKQoJYXQg
c3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShOYXRpdmVNZXRob2RB
Y2Nlc3NvckltcGwuamF2YTo1NykKCWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nl
c3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YTo0MykKCWF0
IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NjAxKQoJYXQgb3Jn
LmVjbGlwc2UuZXF1aW5veC5sYXVuY2hlci5NYWluLmludm9rZUZyYW1ld29yayhNYWluLmphdmE6
NjI5KQoJYXQgb3JnLmVjbGlwc2UuZXF1aW5veC5sYXVuY2hlci5NYWluLmJhc2ljUnVuKE1haW4u
amF2YTo1ODQpCglhdCBvcmcuZWNsaXBzZS5lcXVpbm94LmxhdW5jaGVyLk1haW4ucnVuKE1haW4u
amF2YToxNDM4KQoJYXQgb3JnLmVjbGlwc2UuZXF1aW5veC5sYXVuY2hlci5NYWluLm1haW4oTWFp
bi5qYXZhOjE0MTQpCkNhdXNlZCBieTogL2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMv
ZWNsaXBzZS9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMC52MjAxMjA1MjMtMTU1
NS9zY3JpcHRzL2J1aWxkLnhtbDozNTogVGhlIGZvbGxvd2luZyBlcnJvciBvY2N1cnJlZCB3aGls
ZSBleGVjdXRpbmcgdGhpcyBsaW5lOgovaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy9l
Y2xpcHNlL3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4wLnYyMDEyMDUyMy0xNTU1
L3NjcmlwdHMvYnVpbGQueG1sOjkxOiBUaGUgZm9sbG93aW5nIGVycm9yIG9jY3VycmVkIHdoaWxl
IGV4ZWN1dGluZyB0aGlzIGxpbmU6Ci9ob21lL3Rlc3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzLzEu
Ml9NNF9idWlsZF8yMDEyMDcyMzExMzcvc3JjL2ZlYXR1cmVzL29yZy55b2N0by5zZGsuaGVhZGxl
c3MuYnVpbGQvY3VzdG9tVGFyZ2V0cy54bWw6MTI6IFRoZSBmb2xsb3dpbmcgZXJyb3Igb2NjdXJy
ZWQgd2hpbGUgZXhlY3V0aW5nIHRoaXMgbGluZToKL2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3Nj
cmlwdHMvZWNsaXBzZS00LjItbGludXgtZ3RrLXg4Nl82NC9lY2xpcHNlL3BsdWdpbnMvb3JnLmVj
bGlwc2UucGRlLmJ1aWxkXzMuOC4wLnYyMDEyMDUyMy0xNTU1L3RlbXBsYXRlcy9oZWFkbGVzcy1i
dWlsZC9hbGxFbGVtZW50cy54bWw6MTY6IFRoZSBmb2xsb3dpbmcgZXJyb3Igb2NjdXJyZWQgd2hp
bGUgZXhlY3V0aW5nIHRoaXMgbGluZToKL2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMv
ZWNsaXBzZS00LjItbGludXgtZ3RrLXg4Nl82NC9lY2xpcHNlL3BsdWdpbnMvb3JnLmVjbGlwc2Uu
cGRlLmJ1aWxkXzMuOC4wLnYyMDEyMDUyMy0xNTU1L3NjcmlwdHMvZ2VuZXJpY1RhcmdldHMueG1s
OjExMTogUHJvY2Vzc2luZyBpbmNsdXNpb24gZnJvbSBmZWF0dXJlIG9yZy55b2N0by5zZGs6IEJ1
bmRsZSBvcmcueW9jdG8uc2RrLmlkZV8xLjIuMC4yMDEyMDcyMzExMzcgZmFpbGVkIHRvIHJlc29s
dmUuOgoJTWlzc2luZyByZXF1aXJlZCBwbHVnLWluIG9yZy5lY2xpcHNlLmxpbnV4dG9vbHMuY2R0
LmF1dG90b29scy51aV8xLjAuMC4KCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Qcm9qZWN0SGVs
cGVyLmFkZExvY2F0aW9uVG9CdWlsZEV4Y2VwdGlvbihQcm9qZWN0SGVscGVyLmphdmE6NTUxKQoJ
YXQgb3JnLmFwYWNoZS50b29scy5hbnQudGFza2RlZnMuQW50LmV4ZWN1dGUoQW50LmphdmE6NDQ0
KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQudGFza2RlZnMuQ2FsbFRhcmdldC5leGVjdXRlKENh
bGxUYXJnZXQuamF2YToxMDUpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Vbmtub3duRWxlbWVu
dC5leGVjdXRlKFVua25vd25FbGVtZW50LmphdmE6MjkxKQoJYXQgc3VuLnJlZmxlY3QuR2VuZXJh
dGVkTWV0aG9kQWNjZXNzb3I3Lmludm9rZShVbmtub3duIFNvdXJjZSkKCWF0IHN1bi5yZWZsZWN0
LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nl
c3NvckltcGwuamF2YTo0MykKCWF0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0
aG9kLmphdmE6NjAxKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuZGlzcGF0Y2guRGlzcGF0Y2hV
dGlscy5leGVjdXRlKERpc3BhdGNoVXRpbHMuamF2YToxMDYpCglhdCBvcmcuYXBhY2hlLnRvb2xz
LmFudC5UYXNrLnBlcmZvcm0oVGFzay5qYXZhOjM0OCkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50
LlRhcmdldC5leGVjdXRlKFRhcmdldC5qYXZhOjM5MikKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50
LlRhcmdldC5wZXJmb3JtVGFza3MoVGFyZ2V0LmphdmE6NDEzKQoJYXQgb3JnLmFwYWNoZS50b29s
cy5hbnQuUHJvamVjdC5leGVjdXRlU29ydGVkVGFyZ2V0cyhQcm9qZWN0LmphdmE6MTM5OSkKCWF0
IG9yZy5hcGFjaGUudG9vbHMuYW50LlByb2plY3QuZXhlY3V0ZVRhcmdldChQcm9qZWN0LmphdmE6
MTM2OCkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LmhlbHBlci5EZWZhdWx0RXhlY3V0b3IuZXhl
Y3V0ZVRhcmdldHMoRGVmYXVsdEV4ZWN1dG9yLmphdmE6NDEpCglhdCBvcmcuZWNsaXBzZS5hbnQu
aW50ZXJuYWwuY29yZS5hbnQuRWNsaXBzZURlZmF1bHRFeGVjdXRvci5leGVjdXRlVGFyZ2V0cyhF
Y2xpcHNlRGVmYXVsdEV4ZWN1dG9yLmphdmE6MzIpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Q
cm9qZWN0LmV4ZWN1dGVUYXJnZXRzKFByb2plY3QuamF2YToxMjUxKQoJYXQgb3JnLmVjbGlwc2Uu
YW50LmludGVybmFsLmNvcmUuYW50LkludGVybmFsQW50UnVubmVyLnJ1bihJbnRlcm5hbEFudFJ1
bm5lci5qYXZhOjY3MikKCWF0IG9yZy5lY2xpcHNlLmFudC5pbnRlcm5hbC5jb3JlLmFudC5JbnRl
cm5hbEFudFJ1bm5lci5ydW4oSW50ZXJuYWxBbnRSdW5uZXIuamF2YTo1MzcpCgkuLi4gMTkgbW9y
ZQpDYXVzZWQgYnk6IC9ob21lL3Rlc3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzL2VjbGlwc2UvcGx1
Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjAudjIwMTIwNTIzLTE1NTUvc2NyaXB0cy9i
dWlsZC54bWw6OTE6IFRoZSBmb2xsb3dpbmcgZXJyb3Igb2NjdXJyZWQgd2hpbGUgZXhlY3V0aW5n
IHRoaXMgbGluZToKL2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvMS4yX000X2J1aWxk
XzIwMTIwNzIzMTEzNy9zcmMvZmVhdHVyZXMvb3JnLnlvY3RvLnNkay5oZWFkbGVzcy5idWlsZC9j
dXN0b21UYXJnZXRzLnhtbDoxMjogVGhlIGZvbGxvd2luZyBlcnJvciBvY2N1cnJlZCB3aGlsZSBl
eGVjdXRpbmcgdGhpcyBsaW5lOgovaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy9lY2xp
cHNlLTQuMi1saW51eC1ndGsteDg2XzY0L2VjbGlwc2UvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUu
YnVpbGRfMy44LjAudjIwMTIwNTIzLTE1NTUvdGVtcGxhdGVzL2hlYWRsZXNzLWJ1aWxkL2FsbEVs
ZW1lbnRzLnhtbDoxNjogVGhlIGZvbGxvd2luZyBlcnJvciBvY2N1cnJlZCB3aGlsZSBleGVjdXRp
bmcgdGhpcyBsaW5lOgovaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy9lY2xpcHNlLTQu
Mi1saW51eC1ndGsteDg2XzY0L2VjbGlwc2UvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRf
My44LjAudjIwMTIwNTIzLTE1NTUvc2NyaXB0cy9nZW5lcmljVGFyZ2V0cy54bWw6MTExOiBQcm9j
ZXNzaW5nIGluY2x1c2lvbiBmcm9tIGZlYXR1cmUgb3JnLnlvY3RvLnNkazogQnVuZGxlIG9yZy55
b2N0by5zZGsuaWRlXzEuMi4wLjIwMTIwNzIzMTEzNyBmYWlsZWQgdG8gcmVzb2x2ZS46CglNaXNz
aW5nIHJlcXVpcmVkIHBsdWctaW4gb3JnLmVjbGlwc2UubGludXh0b29scy5jZHQuYXV0b3Rvb2xz
LnVpXzEuMC4wLgoKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlByb2plY3RIZWxwZXIuYWRkTG9j
YXRpb25Ub0J1aWxkRXhjZXB0aW9uKFByb2plY3RIZWxwZXIuamF2YTo1NTEpCglhdCBvcmcuYXBh
Y2hlLnRvb2xzLmFudC50YXNrZGVmcy5BbnQuZXhlY3V0ZShBbnQuamF2YTo0NDQpCglhdCBvcmcu
YXBhY2hlLnRvb2xzLmFudC5Vbmtub3duRWxlbWVudC5leGVjdXRlKFVua25vd25FbGVtZW50Lmph
dmE6MjkxKQoJYXQgc3VuLnJlZmxlY3QuR2VuZXJhdGVkTWV0aG9kQWNjZXNzb3I3Lmludm9rZShV
bmtub3duIFNvdXJjZSkKCWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3Nvcklt
cGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YTo0MykKCWF0IGphdmEu
bGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NjAxKQoJYXQgb3JnLmFwYWNo
ZS50b29scy5hbnQuZGlzcGF0Y2guRGlzcGF0Y2hVdGlscy5leGVjdXRlKERpc3BhdGNoVXRpbHMu
amF2YToxMDYpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5UYXNrLnBlcmZvcm0oVGFzay5qYXZh
OjM0OCkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRhcmdldC5leGVjdXRlKFRhcmdldC5qYXZh
OjM5MikKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRhcmdldC5wZXJmb3JtVGFza3MoVGFyZ2V0
LmphdmE6NDEzKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuUHJvamVjdC5leGVjdXRlU29ydGVk
VGFyZ2V0cyhQcm9qZWN0LmphdmE6MTM5OSkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LmhlbHBl
ci5TaW5nbGVDaGVja0V4ZWN1dG9yLmV4ZWN1dGVUYXJnZXRzKFNpbmdsZUNoZWNrRXhlY3V0b3Iu
amF2YTozOCkKCWF0IG9yZy5lY2xpcHNlLmFudC5pbnRlcm5hbC5jb3JlLmFudC5FY2xpcHNlU2lu
Z2xlQ2hlY2tFeGVjdXRvci5leGVjdXRlVGFyZ2V0cyhFY2xpcHNlU2luZ2xlQ2hlY2tFeGVjdXRv
ci5qYXZhOjMwKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuUHJvamVjdC5leGVjdXRlVGFyZ2V0
cyhQcm9qZWN0LmphdmE6MTI1MSkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LnRhc2tkZWZzLkFu
dC5leGVjdXRlKEFudC5qYXZhOjQ0MikKCS4uLiAzNSBtb3JlCkNhdXNlZCBieTogL2hvbWUvdGVz
dDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvMS4yX000X2J1aWxkXzIwMTIwNzIzMTEzNy9zcmMvZmVh
dHVyZXMvb3JnLnlvY3RvLnNkay5oZWFkbGVzcy5idWlsZC9jdXN0b21UYXJnZXRzLnhtbDoxMjog
VGhlIGZvbGxvd2luZyBlcnJvciBvY2N1cnJlZCB3aGlsZSBleGVjdXRpbmcgdGhpcyBsaW5lOgov
aG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy9lY2xpcHNlLTQuMi1saW51eC1ndGsteDg2
XzY0L2VjbGlwc2UvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjAudjIwMTIwNTIz
LTE1NTUvdGVtcGxhdGVzL2hlYWRsZXNzLWJ1aWxkL2FsbEVsZW1lbnRzLnhtbDoxNjogVGhlIGZv
bGxvd2luZyBlcnJvciBvY2N1cnJlZCB3aGlsZSBleGVjdXRpbmcgdGhpcyBsaW5lOgovaG9tZS90
ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy9lY2xpcHNlLTQuMi1saW51eC1ndGsteDg2XzY0L2Vj
bGlwc2UvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjAudjIwMTIwNTIzLTE1NTUv
c2NyaXB0cy9nZW5lcmljVGFyZ2V0cy54bWw6MTExOiBQcm9jZXNzaW5nIGluY2x1c2lvbiBmcm9t
IGZlYXR1cmUgb3JnLnlvY3RvLnNkazogQnVuZGxlIG9yZy55b2N0by5zZGsuaWRlXzEuMi4wLjIw
MTIwNzIzMTEzNyBmYWlsZWQgdG8gcmVzb2x2ZS46CglNaXNzaW5nIHJlcXVpcmVkIHBsdWctaW4g
b3JnLmVjbGlwc2UubGludXh0b29scy5jZHQuYXV0b3Rvb2xzLnVpXzEuMC4wLgoKCWF0IG9yZy5h
cGFjaGUudG9vbHMuYW50LlByb2plY3RIZWxwZXIuYWRkTG9jYXRpb25Ub0J1aWxkRXhjZXB0aW9u
KFByb2plY3RIZWxwZXIuamF2YTo1NTEpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC50YXNrZGVm
cy5BbnQuZXhlY3V0ZShBbnQuamF2YTo0NDQpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC50YXNr
ZGVmcy5DYWxsVGFyZ2V0LmV4ZWN1dGUoQ2FsbFRhcmdldC5qYXZhOjEwNSkKCWF0IG9yZy5hcGFj
aGUudG9vbHMuYW50LlVua25vd25FbGVtZW50LmV4ZWN1dGUoVW5rbm93bkVsZW1lbnQuamF2YToy
OTEpCglhdCBzdW4ucmVmbGVjdC5HZW5lcmF0ZWRNZXRob2RBY2Nlc3NvcjcuaW52b2tlKFVua25v
d24gU291cmNlKQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5p
bnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjQzKQoJYXQgamF2YS5sYW5n
LnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo2MDEpCglhdCBvcmcuYXBhY2hlLnRv
b2xzLmFudC5kaXNwYXRjaC5EaXNwYXRjaFV0aWxzLmV4ZWN1dGUoRGlzcGF0Y2hVdGlscy5qYXZh
OjEwNikKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRhc2sucGVyZm9ybShUYXNrLmphdmE6MzQ4
KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFyZ2V0LmV4ZWN1dGUoVGFyZ2V0LmphdmE6Mzky
KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFyZ2V0LnBlcmZvcm1UYXNrcyhUYXJnZXQuamF2
YTo0MTMpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Qcm9qZWN0LmV4ZWN1dGVTb3J0ZWRUYXJn
ZXRzKFByb2plY3QuamF2YToxMzk5KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuaGVscGVyLlNp
bmdsZUNoZWNrRXhlY3V0b3IuZXhlY3V0ZVRhcmdldHMoU2luZ2xlQ2hlY2tFeGVjdXRvci5qYXZh
OjM4KQoJYXQgb3JnLmVjbGlwc2UuYW50LmludGVybmFsLmNvcmUuYW50LkVjbGlwc2VTaW5nbGVD
aGVja0V4ZWN1dG9yLmV4ZWN1dGVUYXJnZXRzKEVjbGlwc2VTaW5nbGVDaGVja0V4ZWN1dG9yLmph
dmE6MzApCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Qcm9qZWN0LmV4ZWN1dGVUYXJnZXRzKFBy
b2plY3QuamF2YToxMjUxKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQudGFza2RlZnMuQW50LmV4
ZWN1dGUoQW50LmphdmE6NDQyKQoJLi4uIDQ4IG1vcmUKQ2F1c2VkIGJ5OiAvaG9tZS90ZXN0MS9l
Y2xpcHNlLXBva3kvc2NyaXB0cy9lY2xpcHNlLTQuMi1saW51eC1ndGsteDg2XzY0L2VjbGlwc2Uv
cGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjAudjIwMTIwNTIzLTE1NTUvdGVtcGxh
dGVzL2hlYWRsZXNzLWJ1aWxkL2FsbEVsZW1lbnRzLnhtbDoxNjogVGhlIGZvbGxvd2luZyBlcnJv
ciBvY2N1cnJlZCB3aGlsZSBleGVjdXRpbmcgdGhpcyBsaW5lOgovaG9tZS90ZXN0MS9lY2xpcHNl
LXBva3kvc2NyaXB0cy9lY2xpcHNlLTQuMi1saW51eC1ndGsteDg2XzY0L2VjbGlwc2UvcGx1Z2lu
cy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjAudjIwMTIwNTIzLTE1NTUvc2NyaXB0cy9nZW5l
cmljVGFyZ2V0cy54bWw6MTExOiBQcm9jZXNzaW5nIGluY2x1c2lvbiBmcm9tIGZlYXR1cmUgb3Jn
LnlvY3RvLnNkazogQnVuZGxlIG9yZy55b2N0by5zZGsuaWRlXzEuMi4wLjIwMTIwNzIzMTEzNyBm
YWlsZWQgdG8gcmVzb2x2ZS46CglNaXNzaW5nIHJlcXVpcmVkIHBsdWctaW4gb3JnLmVjbGlwc2Uu
bGludXh0b29scy5jZHQuYXV0b3Rvb2xzLnVpXzEuMC4wLgoKCWF0IG9yZy5hcGFjaGUudG9vbHMu
YW50LlByb2plY3RIZWxwZXIuYWRkTG9jYXRpb25Ub0J1aWxkRXhjZXB0aW9uKFByb2plY3RIZWxw
ZXIuamF2YTo1NTEpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC50YXNrZGVmcy5BbnQuZXhlY3V0
ZShBbnQuamF2YTo0NDQpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Vbmtub3duRWxlbWVudC5l
eGVjdXRlKFVua25vd25FbGVtZW50LmphdmE6MjkxKQoJYXQgc3VuLnJlZmxlY3QuR2VuZXJhdGVk
TWV0aG9kQWNjZXNzb3I3Lmludm9rZShVbmtub3duIFNvdXJjZSkKCWF0IHN1bi5yZWZsZWN0LkRl
bGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3Nv
ckltcGwuamF2YTo0MykKCWF0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9k
LmphdmE6NjAxKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuZGlzcGF0Y2guRGlzcGF0Y2hVdGls
cy5leGVjdXRlKERpc3BhdGNoVXRpbHMuamF2YToxMDYpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFu
dC5UYXNrLnBlcmZvcm0oVGFzay5qYXZhOjM0OCkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRh
cmdldC5leGVjdXRlKFRhcmdldC5qYXZhOjM5MikKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRh
cmdldC5wZXJmb3JtVGFza3MoVGFyZ2V0LmphdmE6NDEzKQoJYXQgb3JnLmFwYWNoZS50b29scy5h
bnQuUHJvamVjdC5leGVjdXRlU29ydGVkVGFyZ2V0cyhQcm9qZWN0LmphdmE6MTM5OSkKCWF0IG9y
Zy5hcGFjaGUudG9vbHMuYW50LmhlbHBlci5TaW5nbGVDaGVja0V4ZWN1dG9yLmV4ZWN1dGVUYXJn
ZXRzKFNpbmdsZUNoZWNrRXhlY3V0b3IuamF2YTozOCkKCWF0IG9yZy5lY2xpcHNlLmFudC5pbnRl
cm5hbC5jb3JlLmFudC5FY2xpcHNlU2luZ2xlQ2hlY2tFeGVjdXRvci5leGVjdXRlVGFyZ2V0cyhF
Y2xpcHNlU2luZ2xlQ2hlY2tFeGVjdXRvci5qYXZhOjMwKQoJYXQgb3JnLmFwYWNoZS50b29scy5h
bnQuUHJvamVjdC5leGVjdXRlVGFyZ2V0cyhQcm9qZWN0LmphdmE6MTI1MSkKCWF0IG9yZy5hcGFj
aGUudG9vbHMuYW50LnRhc2tkZWZzLkFudC5leGVjdXRlKEFudC5qYXZhOjQ0MikKCS4uLiA2MiBt
b3JlCkNhdXNlZCBieTogL2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvZWNsaXBzZS00
LjItbGludXgtZ3RrLXg4Nl82NC9lY2xpcHNlL3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxk
XzMuOC4wLnYyMDEyMDUyMy0xNTU1L3NjcmlwdHMvZ2VuZXJpY1RhcmdldHMueG1sOjExMTogUHJv
Y2Vzc2luZyBpbmNsdXNpb24gZnJvbSBmZWF0dXJlIG9yZy55b2N0by5zZGs6IEJ1bmRsZSBvcmcu
eW9jdG8uc2RrLmlkZV8xLjIuMC4yMDEyMDcyMzExMzcgZmFpbGVkIHRvIHJlc29sdmUuOgoJTWlz
c2luZyByZXF1aXJlZCBwbHVnLWluIG9yZy5lY2xpcHNlLmxpbnV4dG9vbHMuY2R0LmF1dG90b29s
cy51aV8xLjAuMC4KCglhdCBvcmcuZWNsaXBzZS5wZGUuaW50ZXJuYWwuYnVpbGQudGFza3MuQnVp
bGRTY3JpcHRHZW5lcmF0b3JUYXNrLmV4ZWN1dGUoQnVpbGRTY3JpcHRHZW5lcmF0b3JUYXNrLmph
dmE6OTQpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Vbmtub3duRWxlbWVudC5leGVjdXRlKFVu
a25vd25FbGVtZW50LmphdmE6MjkxKQoJYXQgc3VuLnJlZmxlY3QuR2VuZXJhdGVkTWV0aG9kQWNj
ZXNzb3I3Lmludm9rZShVbmtub3duIFNvdXJjZSkKCWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdN
ZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2
YTo0MykKCWF0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NjAx
KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuZGlzcGF0Y2guRGlzcGF0Y2hVdGlscy5leGVjdXRl
KERpc3BhdGNoVXRpbHMuamF2YToxMDYpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5UYXNrLnBl
cmZvcm0oVGFzay5qYXZhOjM0OCkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRhcmdldC5leGVj
dXRlKFRhcmdldC5qYXZhOjM5MikKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRhcmdldC5wZXJm
b3JtVGFza3MoVGFyZ2V0LmphdmE6NDEzKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuUHJvamVj
dC5leGVjdXRlU29ydGVkVGFyZ2V0cyhQcm9qZWN0LmphdmE6MTM5OSkKCWF0IG9yZy5hcGFjaGUu
dG9vbHMuYW50LmhlbHBlci5TaW5nbGVDaGVja0V4ZWN1dG9yLmV4ZWN1dGVUYXJnZXRzKFNpbmds
ZUNoZWNrRXhlY3V0b3IuamF2YTozOCkKCWF0IG9yZy5lY2xpcHNlLmFudC5pbnRlcm5hbC5jb3Jl
LmFudC5FY2xpcHNlU2luZ2xlQ2hlY2tFeGVjdXRvci5leGVjdXRlVGFyZ2V0cyhFY2xpcHNlU2lu
Z2xlQ2hlY2tFeGVjdXRvci5qYXZhOjMwKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuUHJvamVj
dC5leGVjdXRlVGFyZ2V0cyhQcm9qZWN0LmphdmE6MTI1MSkKCWF0IG9yZy5hcGFjaGUudG9vbHMu
YW50LnRhc2tkZWZzLkFudC5leGVjdXRlKEFudC5qYXZhOjQ0MikKCS4uLiA3NSBtb3JlClJvb3Qg
ZXhjZXB0aW9uOgovaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy9lY2xpcHNlL3BsdWdp
bnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4wLnYyMDEyMDUyMy0xNTU1L3NjcmlwdHMvYnVp
bGQueG1sOjM1OiBUaGUgZm9sbG93aW5nIGVycm9yIG9jY3VycmVkIHdoaWxlIGV4ZWN1dGluZyB0
aGlzIGxpbmU6Ci9ob21lL3Rlc3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzL2VjbGlwc2UvcGx1Z2lu
cy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjAudjIwMTIwNTIzLTE1NTUvc2NyaXB0cy9idWls
ZC54bWw6OTE6IFRoZSBmb2xsb3dpbmcgZXJyb3Igb2NjdXJyZWQgd2hpbGUgZXhlY3V0aW5nIHRo
aXMgbGluZToKL2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvMS4yX000X2J1aWxkXzIw
MTIwNzIzMTEzNy9zcmMvZmVhdHVyZXMvb3JnLnlvY3RvLnNkay5oZWFkbGVzcy5idWlsZC9jdXN0
b21UYXJnZXRzLnhtbDoxMjogVGhlIGZvbGxvd2luZyBlcnJvciBvY2N1cnJlZCB3aGlsZSBleGVj
dXRpbmcgdGhpcyBsaW5lOgovaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy9lY2xpcHNl
LTQuMi1saW51eC1ndGsteDg2XzY0L2VjbGlwc2UvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVp
bGRfMy44LjAudjIwMTIwNTIzLTE1NTUvdGVtcGxhdGVzL2hlYWRsZXNzLWJ1aWxkL2FsbEVsZW1l
bnRzLnhtbDoxNjogVGhlIGZvbGxvd2luZyBlcnJvciBvY2N1cnJlZCB3aGlsZSBleGVjdXRpbmcg
dGhpcyBsaW5lOgovaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy9lY2xpcHNlLTQuMi1s
aW51eC1ndGsteDg2XzY0L2VjbGlwc2UvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44
LjAudjIwMTIwNTIzLTE1NTUvc2NyaXB0cy9nZW5lcmljVGFyZ2V0cy54bWw6MTExOiBQcm9jZXNz
aW5nIGluY2x1c2lvbiBmcm9tIGZlYXR1cmUgb3JnLnlvY3RvLnNkazogQnVuZGxlIG9yZy55b2N0
by5zZGsuaWRlXzEuMi4wLjIwMTIwNzIzMTEzNyBmYWlsZWQgdG8gcmVzb2x2ZS46CglNaXNzaW5n
IHJlcXVpcmVkIHBsdWctaW4gb3JnLmVjbGlwc2UubGludXh0b29scy5jZHQuYXV0b3Rvb2xzLnVp
XzEuMC4wLgoKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlByb2plY3RIZWxwZXIuYWRkTG9jYXRp
b25Ub0J1aWxkRXhjZXB0aW9uKFByb2plY3RIZWxwZXIuamF2YTo1NTEpCglhdCBvcmcuYXBhY2hl
LnRvb2xzLmFudC50YXNrZGVmcy5BbnQuZXhlY3V0ZShBbnQuamF2YTo0NDQpCglhdCBvcmcuYXBh
Y2hlLnRvb2xzLmFudC50YXNrZGVmcy5DYWxsVGFyZ2V0LmV4ZWN1dGUoQ2FsbFRhcmdldC5qYXZh
OjEwNSkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlVua25vd25FbGVtZW50LmV4ZWN1dGUoVW5r
bm93bkVsZW1lbnQuamF2YToyOTEpCglhdCBzdW4ucmVmbGVjdC5HZW5lcmF0ZWRNZXRob2RBY2Nl
c3NvcjcuaW52b2tlKFVua25vd24gU291cmNlKQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01l
dGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZh
OjQzKQoJYXQgamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo2MDEp
CglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5kaXNwYXRjaC5EaXNwYXRjaFV0aWxzLmV4ZWN1dGUo
RGlzcGF0Y2hVdGlscy5qYXZhOjEwNikKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRhc2sucGVy
Zm9ybShUYXNrLmphdmE6MzQ4KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFyZ2V0LmV4ZWN1
dGUoVGFyZ2V0LmphdmE6MzkyKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFyZ2V0LnBlcmZv
cm1UYXNrcyhUYXJnZXQuamF2YTo0MTMpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Qcm9qZWN0
LmV4ZWN1dGVTb3J0ZWRUYXJnZXRzKFByb2plY3QuamF2YToxMzk5KQoJYXQgb3JnLmFwYWNoZS50
b29scy5hbnQuUHJvamVjdC5leGVjdXRlVGFyZ2V0KFByb2plY3QuamF2YToxMzY4KQoJYXQgb3Jn
LmFwYWNoZS50b29scy5hbnQuaGVscGVyLkRlZmF1bHRFeGVjdXRvci5leGVjdXRlVGFyZ2V0cyhE
ZWZhdWx0RXhlY3V0b3IuamF2YTo0MSkKCWF0IG9yZy5lY2xpcHNlLmFudC5pbnRlcm5hbC5jb3Jl
LmFudC5FY2xpcHNlRGVmYXVsdEV4ZWN1dG9yLmV4ZWN1dGVUYXJnZXRzKEVjbGlwc2VEZWZhdWx0
RXhlY3V0b3IuamF2YTozMikKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlByb2plY3QuZXhlY3V0
ZVRhcmdldHMoUHJvamVjdC5qYXZhOjEyNTEpCglhdCBvcmcuZWNsaXBzZS5hbnQuaW50ZXJuYWwu
Y29yZS5hbnQuSW50ZXJuYWxBbnRSdW5uZXIucnVuKEludGVybmFsQW50UnVubmVyLmphdmE6Njcy
KQoJYXQgb3JnLmVjbGlwc2UuYW50LmludGVybmFsLmNvcmUuYW50LkludGVybmFsQW50UnVubmVy
LnJ1bihJbnRlcm5hbEFudFJ1bm5lci5qYXZhOjUzNykKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1l
dGhvZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2ZSBNZXRob2QpCglhdCBzdW4ucmVmbGVjdC5O
YXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5q
YXZhOjU3KQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZv
a2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjQzKQoJYXQgamF2YS5sYW5nLnJl
ZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo2MDEpCglhdCBvcmcuZWNsaXBzZS5hbnQu
Y29yZS5BbnRSdW5uZXIucnVuKEFudFJ1bm5lci5qYXZhOjUxMykKCWF0IG9yZy5lY2xpcHNlLmFu
dC5jb3JlLkFudFJ1bm5lci5zdGFydChBbnRSdW5uZXIuamF2YTo2MDApCglhdCBvcmcuZWNsaXBz
ZS5lcXVpbm94LmludGVybmFsLmFwcC5FY2xpcHNlQXBwSGFuZGxlLnJ1bihFY2xpcHNlQXBwSGFu
ZGxlLmphdmE6MTk2KQoJYXQgb3JnLmVjbGlwc2UuY29yZS5ydW50aW1lLmludGVybmFsLmFkYXB0
b3IuRWNsaXBzZUFwcExhdW5jaGVyLnJ1bkFwcGxpY2F0aW9uKEVjbGlwc2VBcHBMYXVuY2hlci5q
YXZhOjExMCkKCWF0IG9yZy5lY2xpcHNlLmNvcmUucnVudGltZS5pbnRlcm5hbC5hZGFwdG9yLkVj
bGlwc2VBcHBMYXVuY2hlci5zdGFydChFY2xpcHNlQXBwTGF1bmNoZXIuamF2YTo3OSkKCWF0IG9y
Zy5lY2xpcHNlLmNvcmUucnVudGltZS5hZGFwdG9yLkVjbGlwc2VTdGFydGVyLnJ1bihFY2xpcHNl
U3RhcnRlci5qYXZhOjM1MykKCWF0IG9yZy5lY2xpcHNlLmNvcmUucnVudGltZS5hZGFwdG9yLkVj
bGlwc2VTdGFydGVyLnJ1bihFY2xpcHNlU3RhcnRlci5qYXZhOjE4MCkKCWF0IHN1bi5yZWZsZWN0
Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2ZSBNZXRob2QpCglhdCBzdW4u
cmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1ldGhvZEFjY2Vz
c29ySW1wbC5qYXZhOjU3KQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29y
SW1wbC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjQzKQoJYXQgamF2
YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo2MDEpCglhdCBvcmcuZWNs
aXBzZS5lcXVpbm94LmxhdW5jaGVyLk1haW4uaW52b2tlRnJhbWV3b3JrKE1haW4uamF2YTo2Mjkp
CglhdCBvcmcuZWNsaXBzZS5lcXVpbm94LmxhdW5jaGVyLk1haW4uYmFzaWNSdW4oTWFpbi5qYXZh
OjU4NCkKCWF0IG9yZy5lY2xpcHNlLmVxdWlub3gubGF1bmNoZXIuTWFpbi5ydW4oTWFpbi5qYXZh
OjE0MzgpCglhdCBvcmcuZWNsaXBzZS5lcXVpbm94LmxhdW5jaGVyLk1haW4ubWFpbihNYWluLmph
dmE6MTQxNCkKQ2F1c2VkIGJ5OiAvaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy9lY2xp
cHNlL3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4wLnYyMDEyMDUyMy0xNTU1L3Nj
cmlwdHMvYnVpbGQueG1sOjkxOiBUaGUgZm9sbG93aW5nIGVycm9yIG9jY3VycmVkIHdoaWxlIGV4
ZWN1dGluZyB0aGlzIGxpbmU6Ci9ob21lL3Rlc3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzLzEuMl9N
NF9idWlsZF8yMDEyMDcyMzExMzcvc3JjL2ZlYXR1cmVzL29yZy55b2N0by5zZGsuaGVhZGxlc3Mu
YnVpbGQvY3VzdG9tVGFyZ2V0cy54bWw6MTI6IFRoZSBmb2xsb3dpbmcgZXJyb3Igb2NjdXJyZWQg
d2hpbGUgZXhlY3V0aW5nIHRoaXMgbGluZToKL2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3Njcmlw
dHMvZWNsaXBzZS00LjItbGludXgtZ3RrLXg4Nl82NC9lY2xpcHNlL3BsdWdpbnMvb3JnLmVjbGlw
c2UucGRlLmJ1aWxkXzMuOC4wLnYyMDEyMDUyMy0xNTU1L3RlbXBsYXRlcy9oZWFkbGVzcy1idWls
ZC9hbGxFbGVtZW50cy54bWw6MTY6IFRoZSBmb2xsb3dpbmcgZXJyb3Igb2NjdXJyZWQgd2hpbGUg
ZXhlY3V0aW5nIHRoaXMgbGluZToKL2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvZWNs
aXBzZS00LjItbGludXgtZ3RrLXg4Nl82NC9lY2xpcHNlL3BsdWdpbnMvb3JnLmVjbGlwc2UucGRl
LmJ1aWxkXzMuOC4wLnYyMDEyMDUyMy0xNTU1L3NjcmlwdHMvZ2VuZXJpY1RhcmdldHMueG1sOjEx
MTogUHJvY2Vzc2luZyBpbmNsdXNpb24gZnJvbSBmZWF0dXJlIG9yZy55b2N0by5zZGs6IEJ1bmRs
ZSBvcmcueW9jdG8uc2RrLmlkZV8xLjIuMC4yMDEyMDcyMzExMzcgZmFpbGVkIHRvIHJlc29sdmUu
OgoJTWlzc2luZyByZXF1aXJlZCBwbHVnLWluIG9yZy5lY2xpcHNlLmxpbnV4dG9vbHMuY2R0LmF1
dG90b29scy51aV8xLjAuMC4KCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Qcm9qZWN0SGVscGVy
LmFkZExvY2F0aW9uVG9CdWlsZEV4Y2VwdGlvbihQcm9qZWN0SGVscGVyLmphdmE6NTUxKQoJYXQg
b3JnLmFwYWNoZS50b29scy5hbnQudGFza2RlZnMuQW50LmV4ZWN1dGUoQW50LmphdmE6NDQ0KQoJ
YXQgb3JnLmFwYWNoZS50b29scy5hbnQuVW5rbm93bkVsZW1lbnQuZXhlY3V0ZShVbmtub3duRWxl
bWVudC5qYXZhOjI5MSkKCWF0IHN1bi5yZWZsZWN0LkdlbmVyYXRlZE1ldGhvZEFjY2Vzc29yNy5p
bnZva2UoVW5rbm93biBTb3VyY2UpCglhdCBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNj
ZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NDMpCglh
dCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhvZC5qYXZhOjYwMSkKCWF0IG9y
Zy5hcGFjaGUudG9vbHMuYW50LmRpc3BhdGNoLkRpc3BhdGNoVXRpbHMuZXhlY3V0ZShEaXNwYXRj
aFV0aWxzLmphdmE6MTA2KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFzay5wZXJmb3JtKFRh
c2suamF2YTozNDgpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5UYXJnZXQuZXhlY3V0ZShUYXJn
ZXQuamF2YTozOTIpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5UYXJnZXQucGVyZm9ybVRhc2tz
KFRhcmdldC5qYXZhOjQxMykKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlByb2plY3QuZXhlY3V0
ZVNvcnRlZFRhcmdldHMoUHJvamVjdC5qYXZhOjEzOTkpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFu
dC5oZWxwZXIuU2luZ2xlQ2hlY2tFeGVjdXRvci5leGVjdXRlVGFyZ2V0cyhTaW5nbGVDaGVja0V4
ZWN1dG9yLmphdmE6MzgpCglhdCBvcmcuZWNsaXBzZS5hbnQuaW50ZXJuYWwuY29yZS5hbnQuRWNs
aXBzZVNpbmdsZUNoZWNrRXhlY3V0b3IuZXhlY3V0ZVRhcmdldHMoRWNsaXBzZVNpbmdsZUNoZWNr
RXhlY3V0b3IuamF2YTozMCkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlByb2plY3QuZXhlY3V0
ZVRhcmdldHMoUHJvamVjdC5qYXZhOjEyNTEpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC50YXNr
ZGVmcy5BbnQuZXhlY3V0ZShBbnQuamF2YTo0NDIpCgkuLi4gMzUgbW9yZQpDYXVzZWQgYnk6IC9o
b21lL3Rlc3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzLzEuMl9NNF9idWlsZF8yMDEyMDcyMzExMzcv
c3JjL2ZlYXR1cmVzL29yZy55b2N0by5zZGsuaGVhZGxlc3MuYnVpbGQvY3VzdG9tVGFyZ2V0cy54
bWw6MTI6IFRoZSBmb2xsb3dpbmcgZXJyb3Igb2NjdXJyZWQgd2hpbGUgZXhlY3V0aW5nIHRoaXMg
bGluZToKL2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvZWNsaXBzZS00LjItbGludXgt
Z3RrLXg4Nl82NC9lY2xpcHNlL3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4wLnYy
MDEyMDUyMy0xNTU1L3RlbXBsYXRlcy9oZWFkbGVzcy1idWlsZC9hbGxFbGVtZW50cy54bWw6MTY6
IFRoZSBmb2xsb3dpbmcgZXJyb3Igb2NjdXJyZWQgd2hpbGUgZXhlY3V0aW5nIHRoaXMgbGluZToK
L2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvZWNsaXBzZS00LjItbGludXgtZ3RrLXg4
Nl82NC9lY2xpcHNlL3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4wLnYyMDEyMDUy
My0xNTU1L3NjcmlwdHMvZ2VuZXJpY1RhcmdldHMueG1sOjExMTogUHJvY2Vzc2luZyBpbmNsdXNp
b24gZnJvbSBmZWF0dXJlIG9yZy55b2N0by5zZGs6IEJ1bmRsZSBvcmcueW9jdG8uc2RrLmlkZV8x
LjIuMC4yMDEyMDcyMzExMzcgZmFpbGVkIHRvIHJlc29sdmUuOgoJTWlzc2luZyByZXF1aXJlZCBw
bHVnLWluIG9yZy5lY2xpcHNlLmxpbnV4dG9vbHMuY2R0LmF1dG90b29scy51aV8xLjAuMC4KCglh
dCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Qcm9qZWN0SGVscGVyLmFkZExvY2F0aW9uVG9CdWlsZEV4
Y2VwdGlvbihQcm9qZWN0SGVscGVyLmphdmE6NTUxKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQu
dGFza2RlZnMuQW50LmV4ZWN1dGUoQW50LmphdmE6NDQ0KQoJYXQgb3JnLmFwYWNoZS50b29scy5h
bnQudGFza2RlZnMuQ2FsbFRhcmdldC5leGVjdXRlKENhbGxUYXJnZXQuamF2YToxMDUpCglhdCBv
cmcuYXBhY2hlLnRvb2xzLmFudC5Vbmtub3duRWxlbWVudC5leGVjdXRlKFVua25vd25FbGVtZW50
LmphdmE6MjkxKQoJYXQgc3VuLnJlZmxlY3QuR2VuZXJhdGVkTWV0aG9kQWNjZXNzb3I3Lmludm9r
ZShVbmtub3duIFNvdXJjZSkKCWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3Nv
ckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YTo0MykKCWF0IGph
dmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NjAxKQoJYXQgb3JnLmFw
YWNoZS50b29scy5hbnQuZGlzcGF0Y2guRGlzcGF0Y2hVdGlscy5leGVjdXRlKERpc3BhdGNoVXRp
bHMuamF2YToxMDYpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5UYXNrLnBlcmZvcm0oVGFzay5q
YXZhOjM0OCkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRhcmdldC5leGVjdXRlKFRhcmdldC5q
YXZhOjM5MikKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRhcmdldC5wZXJmb3JtVGFza3MoVGFy
Z2V0LmphdmE6NDEzKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuUHJvamVjdC5leGVjdXRlU29y
dGVkVGFyZ2V0cyhQcm9qZWN0LmphdmE6MTM5OSkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50Lmhl
bHBlci5TaW5nbGVDaGVja0V4ZWN1dG9yLmV4ZWN1dGVUYXJnZXRzKFNpbmdsZUNoZWNrRXhlY3V0
b3IuamF2YTozOCkKCWF0IG9yZy5lY2xpcHNlLmFudC5pbnRlcm5hbC5jb3JlLmFudC5FY2xpcHNl
U2luZ2xlQ2hlY2tFeGVjdXRvci5leGVjdXRlVGFyZ2V0cyhFY2xpcHNlU2luZ2xlQ2hlY2tFeGVj
dXRvci5qYXZhOjMwKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuUHJvamVjdC5leGVjdXRlVGFy
Z2V0cyhQcm9qZWN0LmphdmE6MTI1MSkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LnRhc2tkZWZz
LkFudC5leGVjdXRlKEFudC5qYXZhOjQ0MikKCS4uLiA0OCBtb3JlCkNhdXNlZCBieTogL2hvbWUv
dGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvZWNsaXBzZS00LjItbGludXgtZ3RrLXg4Nl82NC9l
Y2xpcHNlL3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4wLnYyMDEyMDUyMy0xNTU1
L3RlbXBsYXRlcy9oZWFkbGVzcy1idWlsZC9hbGxFbGVtZW50cy54bWw6MTY6IFRoZSBmb2xsb3dp
bmcgZXJyb3Igb2NjdXJyZWQgd2hpbGUgZXhlY3V0aW5nIHRoaXMgbGluZToKL2hvbWUvdGVzdDEv
ZWNsaXBzZS1wb2t5L3NjcmlwdHMvZWNsaXBzZS00LjItbGludXgtZ3RrLXg4Nl82NC9lY2xpcHNl
L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4wLnYyMDEyMDUyMy0xNTU1L3Njcmlw
dHMvZ2VuZXJpY1RhcmdldHMueG1sOjExMTogUHJvY2Vzc2luZyBpbmNsdXNpb24gZnJvbSBmZWF0
dXJlIG9yZy55b2N0by5zZGs6IEJ1bmRsZSBvcmcueW9jdG8uc2RrLmlkZV8xLjIuMC4yMDEyMDcy
MzExMzcgZmFpbGVkIHRvIHJlc29sdmUuOgoJTWlzc2luZyByZXF1aXJlZCBwbHVnLWluIG9yZy5l
Y2xpcHNlLmxpbnV4dG9vbHMuY2R0LmF1dG90b29scy51aV8xLjAuMC4KCglhdCBvcmcuYXBhY2hl
LnRvb2xzLmFudC5Qcm9qZWN0SGVscGVyLmFkZExvY2F0aW9uVG9CdWlsZEV4Y2VwdGlvbihQcm9q
ZWN0SGVscGVyLmphdmE6NTUxKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQudGFza2RlZnMuQW50
LmV4ZWN1dGUoQW50LmphdmE6NDQ0KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVW5rbm93bkVs
ZW1lbnQuZXhlY3V0ZShVbmtub3duRWxlbWVudC5qYXZhOjI5MSkKCWF0IHN1bi5yZWZsZWN0Lkdl
bmVyYXRlZE1ldGhvZEFjY2Vzc29yNy5pbnZva2UoVW5rbm93biBTb3VyY2UpCglhdCBzdW4ucmVm
bGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9k
QWNjZXNzb3JJbXBsLmphdmE6NDMpCglhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tl
KE1ldGhvZC5qYXZhOjYwMSkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LmRpc3BhdGNoLkRpc3Bh
dGNoVXRpbHMuZXhlY3V0ZShEaXNwYXRjaFV0aWxzLmphdmE6MTA2KQoJYXQgb3JnLmFwYWNoZS50
b29scy5hbnQuVGFzay5wZXJmb3JtKFRhc2suamF2YTozNDgpCglhdCBvcmcuYXBhY2hlLnRvb2xz
LmFudC5UYXJnZXQuZXhlY3V0ZShUYXJnZXQuamF2YTozOTIpCglhdCBvcmcuYXBhY2hlLnRvb2xz
LmFudC5UYXJnZXQucGVyZm9ybVRhc2tzKFRhcmdldC5qYXZhOjQxMykKCWF0IG9yZy5hcGFjaGUu
dG9vbHMuYW50LlByb2plY3QuZXhlY3V0ZVNvcnRlZFRhcmdldHMoUHJvamVjdC5qYXZhOjEzOTkp
CglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5oZWxwZXIuU2luZ2xlQ2hlY2tFeGVjdXRvci5leGVj
dXRlVGFyZ2V0cyhTaW5nbGVDaGVja0V4ZWN1dG9yLmphdmE6MzgpCglhdCBvcmcuZWNsaXBzZS5h
bnQuaW50ZXJuYWwuY29yZS5hbnQuRWNsaXBzZVNpbmdsZUNoZWNrRXhlY3V0b3IuZXhlY3V0ZVRh
cmdldHMoRWNsaXBzZVNpbmdsZUNoZWNrRXhlY3V0b3IuamF2YTozMCkKCWF0IG9yZy5hcGFjaGUu
dG9vbHMuYW50LlByb2plY3QuZXhlY3V0ZVRhcmdldHMoUHJvamVjdC5qYXZhOjEyNTEpCglhdCBv
cmcuYXBhY2hlLnRvb2xzLmFudC50YXNrZGVmcy5BbnQuZXhlY3V0ZShBbnQuamF2YTo0NDIpCgku
Li4gNjIgbW9yZQpDYXVzZWQgYnk6IC9ob21lL3Rlc3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzL2Vj
bGlwc2UtNC4yLWxpbnV4LWd0ay14ODZfNjQvZWNsaXBzZS9wbHVnaW5zL29yZy5lY2xpcHNlLnBk
ZS5idWlsZF8zLjguMC52MjAxMjA1MjMtMTU1NS9zY3JpcHRzL2dlbmVyaWNUYXJnZXRzLnhtbDox
MTE6IFByb2Nlc3NpbmcgaW5jbHVzaW9uIGZyb20gZmVhdHVyZSBvcmcueW9jdG8uc2RrOiBCdW5k
bGUgb3JnLnlvY3RvLnNkay5pZGVfMS4yLjAuMjAxMjA3MjMxMTM3IGZhaWxlZCB0byByZXNvbHZl
LjoKCU1pc3NpbmcgcmVxdWlyZWQgcGx1Zy1pbiBvcmcuZWNsaXBzZS5saW51eHRvb2xzLmNkdC5h
dXRvdG9vbHMudWlfMS4wLjAuCgoJYXQgb3JnLmVjbGlwc2UucGRlLmludGVybmFsLmJ1aWxkLnRh
c2tzLkJ1aWxkU2NyaXB0R2VuZXJhdG9yVGFzay5leGVjdXRlKEJ1aWxkU2NyaXB0R2VuZXJhdG9y
VGFzay5qYXZhOjk0KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVW5rbm93bkVsZW1lbnQuZXhl
Y3V0ZShVbmtub3duRWxlbWVudC5qYXZhOjI5MSkKCWF0IHN1bi5yZWZsZWN0LkdlbmVyYXRlZE1l
dGhvZEFjY2Vzc29yNy5pbnZva2UoVW5rbm93biBTb3VyY2UpCglhdCBzdW4ucmVmbGVjdC5EZWxl
Z2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJ
bXBsLmphdmE6NDMpCglhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhvZC5q
YXZhOjYwMSkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LmRpc3BhdGNoLkRpc3BhdGNoVXRpbHMu
ZXhlY3V0ZShEaXNwYXRjaFV0aWxzLmphdmE6MTA2KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQu
VGFzay5wZXJmb3JtKFRhc2suamF2YTozNDgpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5UYXJn
ZXQuZXhlY3V0ZShUYXJnZXQuamF2YTozOTIpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5UYXJn
ZXQucGVyZm9ybVRhc2tzKFRhcmdldC5qYXZhOjQxMykKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50
LlByb2plY3QuZXhlY3V0ZVNvcnRlZFRhcmdldHMoUHJvamVjdC5qYXZhOjEzOTkpCglhdCBvcmcu
YXBhY2hlLnRvb2xzLmFudC5oZWxwZXIuU2luZ2xlQ2hlY2tFeGVjdXRvci5leGVjdXRlVGFyZ2V0
cyhTaW5nbGVDaGVja0V4ZWN1dG9yLmphdmE6MzgpCglhdCBvcmcuZWNsaXBzZS5hbnQuaW50ZXJu
YWwuY29yZS5hbnQuRWNsaXBzZVNpbmdsZUNoZWNrRXhlY3V0b3IuZXhlY3V0ZVRhcmdldHMoRWNs
aXBzZVNpbmdsZUNoZWNrRXhlY3V0b3IuamF2YTozMCkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50
LlByb2plY3QuZXhlY3V0ZVRhcmdldHMoUHJvamVjdC5qYXZhOjEyNTEpCglhdCBvcmcuYXBhY2hl
LnRvb2xzLmFudC50YXNrZGVmcy5BbnQuZXhlY3V0ZShBbnQuamF2YTo0NDIpCgkuLi4gNzUgbW9y
ZQohU0VTU0lPTiAyMDEyLTA3LTIzIDEzOjM4OjQ4LjEyMyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQplY2xpcHNlLmJ1aWxkSWQ9STIwMTIwNjA4LTE0MDAK
amF2YS52ZXJzaW9uPTEuNy4wX2IxNDctaWNlZHRlYQpqYXZhLnZlbmRvcj1PcmFjbGUgQ29ycG9y
YXRpb24KQm9vdExvYWRlciBjb25zdGFudHM6IE9TPWxpbnV4LCBBUkNIPXg4Nl82NCwgV1M9Z3Rr
LCBOTD1lbl9VUwpGcmFtZXdvcmsgYXJndW1lbnRzOiAgLWFwcGxpY2F0aW9uIG9yZy5lY2xpcHNl
LmFudC5jb3JlLmFudFJ1bm5lciAtYnVpbGRmaWxlIC9ob21lL3Rlc3QxL2VjbGlwc2UtcG9reS9z
Y3JpcHRzL2VjbGlwc2UvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjAudjIwMTIw
NTIzLTE1NTUvc2NyaXB0cy9idWlsZC54bWwgLURiYXNlTG9jYXRpb249L2hvbWUvdGVzdDEvZWNs
aXBzZS1wb2t5L3NjcmlwdHMvZWNsaXBzZSAtRGJ1aWxkZXI9L2hvbWUvdGVzdDEvZWNsaXBzZS1w
b2t5L3NjcmlwdHMvMS4yX000X2J1aWxkXzIwMTIwNzIzMTMzOC9zcmMvZmVhdHVyZXMvb3JnLnlv
Y3RvLnNkay5oZWFkbGVzcy5idWlsZCAtRGJ1aWxkRGlyZWN0b3J5PS9ob21lL3Rlc3QxL2VjbGlw
c2UtcG9reS9zY3JpcHRzLzEuMl9NNF9idWlsZF8yMDEyMDcyMzEzMzgvYnVpbGQgLURvdGhlclNy
Y0RpcmVjdG9yeT0vaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy8xLjJfTTRfYnVpbGRf
MjAxMjA3MjMxMzM4L3NyYyAtRGJ1aWxkSWQ9bXlFY2xpcHNlMgpDb21tYW5kLWxpbmUgYXJndW1l
bnRzOiAgLWFwcGxpY2F0aW9uIG9yZy5lY2xpcHNlLmFudC5jb3JlLmFudFJ1bm5lciAtYnVpbGRm
aWxlIC9ob21lL3Rlc3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzL2VjbGlwc2UvcGx1Z2lucy9vcmcu
ZWNsaXBzZS5wZGUuYnVpbGRfMy44LjAudjIwMTIwNTIzLTE1NTUvc2NyaXB0cy9idWlsZC54bWwg
LURiYXNlTG9jYXRpb249L2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvZWNsaXBzZSAt
RGJ1aWxkZXI9L2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvMS4yX000X2J1aWxkXzIw
MTIwNzIzMTMzOC9zcmMvZmVhdHVyZXMvb3JnLnlvY3RvLnNkay5oZWFkbGVzcy5idWlsZCAtRGJ1
aWxkRGlyZWN0b3J5PS9ob21lL3Rlc3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzLzEuMl9NNF9idWls
ZF8yMDEyMDcyMzEzMzgvYnVpbGQgLURvdGhlclNyY0RpcmVjdG9yeT0vaG9tZS90ZXN0MS9lY2xp
cHNlLXBva3kvc2NyaXB0cy8xLjJfTTRfYnVpbGRfMjAxMjA3MjMxMzM4L3NyYyAtRGJ1aWxkSWQ9
bXlFY2xpcHNlMgoKIUVOVFJZIG9yZy5lY2xpcHNlLm9zZ2kgNCAwIDIwMTItMDctMjMgMTM6Mzk6
MjkuMDI4CiFNRVNTQUdFIEFwcGxpY2F0aW9uIGVycm9yCiFTVEFDSyAxCmphdmEubGFuZy5yZWZs
ZWN0Lkludm9jYXRpb25UYXJnZXRFeGNlcHRpb24KCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhv
ZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2ZSBNZXRob2QpCglhdCBzdW4ucmVmbGVjdC5OYXRp
dmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5qYXZh
OjU3KQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2Uo
RGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjQzKQoJYXQgamF2YS5sYW5nLnJlZmxl
Y3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo2MDEpCglhdCBvcmcuZWNsaXBzZS5hbnQuY29y
ZS5BbnRSdW5uZXIucnVuKEFudFJ1bm5lci5qYXZhOjUxMykKCWF0IG9yZy5lY2xpcHNlLmFudC5j
b3JlLkFudFJ1bm5lci5zdGFydChBbnRSdW5uZXIuamF2YTo2MDApCglhdCBvcmcuZWNsaXBzZS5l
cXVpbm94LmludGVybmFsLmFwcC5FY2xpcHNlQXBwSGFuZGxlLnJ1bihFY2xpcHNlQXBwSGFuZGxl
LmphdmE6MTk2KQoJYXQgb3JnLmVjbGlwc2UuY29yZS5ydW50aW1lLmludGVybmFsLmFkYXB0b3Iu
RWNsaXBzZUFwcExhdW5jaGVyLnJ1bkFwcGxpY2F0aW9uKEVjbGlwc2VBcHBMYXVuY2hlci5qYXZh
OjExMCkKCWF0IG9yZy5lY2xpcHNlLmNvcmUucnVudGltZS5pbnRlcm5hbC5hZGFwdG9yLkVjbGlw
c2VBcHBMYXVuY2hlci5zdGFydChFY2xpcHNlQXBwTGF1bmNoZXIuamF2YTo3OSkKCWF0IG9yZy5l
Y2xpcHNlLmNvcmUucnVudGltZS5hZGFwdG9yLkVjbGlwc2VTdGFydGVyLnJ1bihFY2xpcHNlU3Rh
cnRlci5qYXZhOjM1MykKCWF0IG9yZy5lY2xpcHNlLmNvcmUucnVudGltZS5hZGFwdG9yLkVjbGlw
c2VTdGFydGVyLnJ1bihFY2xpcHNlU3RhcnRlci5qYXZhOjE4MCkKCWF0IHN1bi5yZWZsZWN0Lk5h
dGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UwKE5hdGl2ZSBNZXRob2QpCglhdCBzdW4ucmVm
bGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1ldGhvZEFjY2Vzc29y
SW1wbC5qYXZhOjU3KQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1w
bC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjQzKQoJYXQgamF2YS5s
YW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo2MDEpCglhdCBvcmcuZWNsaXBz
ZS5lcXVpbm94LmxhdW5jaGVyLk1haW4uaW52b2tlRnJhbWV3b3JrKE1haW4uamF2YTo2MjkpCglh
dCBvcmcuZWNsaXBzZS5lcXVpbm94LmxhdW5jaGVyLk1haW4uYmFzaWNSdW4oTWFpbi5qYXZhOjU4
NCkKCWF0IG9yZy5lY2xpcHNlLmVxdWlub3gubGF1bmNoZXIuTWFpbi5ydW4oTWFpbi5qYXZhOjE0
MzgpCglhdCBvcmcuZWNsaXBzZS5lcXVpbm94LmxhdW5jaGVyLk1haW4ubWFpbihNYWluLmphdmE6
MTQxNCkKQ2F1c2VkIGJ5OiAvaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy9lY2xpcHNl
L3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxkXzMuOC4wLnYyMDEyMDUyMy0xNTU1L3Njcmlw
dHMvYnVpbGQueG1sOjM1OiBUaGUgZm9sbG93aW5nIGVycm9yIG9jY3VycmVkIHdoaWxlIGV4ZWN1
dGluZyB0aGlzIGxpbmU6Ci9ob21lL3Rlc3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzL2VjbGlwc2Uv
cGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjAudjIwMTIwNTIzLTE1NTUvc2NyaXB0
cy9idWlsZC54bWw6OTE6IFRoZSBmb2xsb3dpbmcgZXJyb3Igb2NjdXJyZWQgd2hpbGUgZXhlY3V0
aW5nIHRoaXMgbGluZToKL2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvMS4yX000X2J1
aWxkXzIwMTIwNzIzMTMzOC9zcmMvZmVhdHVyZXMvb3JnLnlvY3RvLnNkay5oZWFkbGVzcy5idWls
ZC9jdXN0b21UYXJnZXRzLnhtbDoxMjogVGhlIGZvbGxvd2luZyBlcnJvciBvY2N1cnJlZCB3aGls
ZSBleGVjdXRpbmcgdGhpcyBsaW5lOgovaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy9l
Y2xpcHNlLTQuMi1saW51eC1ndGsteDg2XzY0L2VjbGlwc2UvcGx1Z2lucy9vcmcuZWNsaXBzZS5w
ZGUuYnVpbGRfMy44LjAudjIwMTIwNTIzLTE1NTUvdGVtcGxhdGVzL2hlYWRsZXNzLWJ1aWxkL2Fs
bEVsZW1lbnRzLnhtbDoxNjogVGhlIGZvbGxvd2luZyBlcnJvciBvY2N1cnJlZCB3aGlsZSBleGVj
dXRpbmcgdGhpcyBsaW5lOgovaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy9lY2xpcHNl
LTQuMi1saW51eC1ndGsteDg2XzY0L2VjbGlwc2UvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVp
bGRfMy44LjAudjIwMTIwNTIzLTE1NTUvc2NyaXB0cy9nZW5lcmljVGFyZ2V0cy54bWw6MTExOiBQ
cm9jZXNzaW5nIGluY2x1c2lvbiBmcm9tIGZlYXR1cmUgb3JnLnlvY3RvLnNkazogQnVuZGxlIG9y
Zy55b2N0by5zZGsuaWRlXzEuMi4wLjIwMTIwNzIzMTMzOSBmYWlsZWQgdG8gcmVzb2x2ZS46CglN
aXNzaW5nIHJlcXVpcmVkIHBsdWctaW4gb3JnLmVjbGlwc2UubGludXh0b29scy5jZHQuYXV0b3Rv
b2xzLnVpXzEuMC4wLgoKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlByb2plY3RIZWxwZXIuYWRk
TG9jYXRpb25Ub0J1aWxkRXhjZXB0aW9uKFByb2plY3RIZWxwZXIuamF2YTo1NTEpCglhdCBvcmcu
YXBhY2hlLnRvb2xzLmFudC50YXNrZGVmcy5BbnQuZXhlY3V0ZShBbnQuamF2YTo0NDQpCglhdCBv
cmcuYXBhY2hlLnRvb2xzLmFudC50YXNrZGVmcy5DYWxsVGFyZ2V0LmV4ZWN1dGUoQ2FsbFRhcmdl
dC5qYXZhOjEwNSkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlVua25vd25FbGVtZW50LmV4ZWN1
dGUoVW5rbm93bkVsZW1lbnQuamF2YToyOTEpCglhdCBzdW4ucmVmbGVjdC5HZW5lcmF0ZWRNZXRo
b2RBY2Nlc3NvcjcuaW52b2tlKFVua25vd24gU291cmNlKQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdh
dGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1w
bC5qYXZhOjQzKQoJYXQgamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2
YTo2MDEpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5kaXNwYXRjaC5EaXNwYXRjaFV0aWxzLmV4
ZWN1dGUoRGlzcGF0Y2hVdGlscy5qYXZhOjEwNikKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRh
c2sucGVyZm9ybShUYXNrLmphdmE6MzQ4KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFyZ2V0
LmV4ZWN1dGUoVGFyZ2V0LmphdmE6MzkyKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFyZ2V0
LnBlcmZvcm1UYXNrcyhUYXJnZXQuamF2YTo0MTMpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Q
cm9qZWN0LmV4ZWN1dGVTb3J0ZWRUYXJnZXRzKFByb2plY3QuamF2YToxMzk5KQoJYXQgb3JnLmFw
YWNoZS50b29scy5hbnQuUHJvamVjdC5leGVjdXRlVGFyZ2V0KFByb2plY3QuamF2YToxMzY4KQoJ
YXQgb3JnLmFwYWNoZS50b29scy5hbnQuaGVscGVyLkRlZmF1bHRFeGVjdXRvci5leGVjdXRlVGFy
Z2V0cyhEZWZhdWx0RXhlY3V0b3IuamF2YTo0MSkKCWF0IG9yZy5lY2xpcHNlLmFudC5pbnRlcm5h
bC5jb3JlLmFudC5FY2xpcHNlRGVmYXVsdEV4ZWN1dG9yLmV4ZWN1dGVUYXJnZXRzKEVjbGlwc2VE
ZWZhdWx0RXhlY3V0b3IuamF2YTozMikKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlByb2plY3Qu
ZXhlY3V0ZVRhcmdldHMoUHJvamVjdC5qYXZhOjEyNTEpCglhdCBvcmcuZWNsaXBzZS5hbnQuaW50
ZXJuYWwuY29yZS5hbnQuSW50ZXJuYWxBbnRSdW5uZXIucnVuKEludGVybmFsQW50UnVubmVyLmph
dmE6NjcyKQoJYXQgb3JnLmVjbGlwc2UuYW50LmludGVybmFsLmNvcmUuYW50LkludGVybmFsQW50
UnVubmVyLnJ1bihJbnRlcm5hbEFudFJ1bm5lci5qYXZhOjUzNykKCS4uLiAxOSBtb3JlCkNhdXNl
ZCBieTogL2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvZWNsaXBzZS9wbHVnaW5zL29y
Zy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMC52MjAxMjA1MjMtMTU1NS9zY3JpcHRzL2J1aWxkLnht
bDo5MTogVGhlIGZvbGxvd2luZyBlcnJvciBvY2N1cnJlZCB3aGlsZSBleGVjdXRpbmcgdGhpcyBs
aW5lOgovaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy8xLjJfTTRfYnVpbGRfMjAxMjA3
MjMxMzM4L3NyYy9mZWF0dXJlcy9vcmcueW9jdG8uc2RrLmhlYWRsZXNzLmJ1aWxkL2N1c3RvbVRh
cmdldHMueG1sOjEyOiBUaGUgZm9sbG93aW5nIGVycm9yIG9jY3VycmVkIHdoaWxlIGV4ZWN1dGlu
ZyB0aGlzIGxpbmU6Ci9ob21lL3Rlc3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzL2VjbGlwc2UtNC4y
LWxpbnV4LWd0ay14ODZfNjQvZWNsaXBzZS9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8z
LjguMC52MjAxMjA1MjMtMTU1NS90ZW1wbGF0ZXMvaGVhZGxlc3MtYnVpbGQvYWxsRWxlbWVudHMu
eG1sOjE2OiBUaGUgZm9sbG93aW5nIGVycm9yIG9jY3VycmVkIHdoaWxlIGV4ZWN1dGluZyB0aGlz
IGxpbmU6Ci9ob21lL3Rlc3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzL2VjbGlwc2UtNC4yLWxpbnV4
LWd0ay14ODZfNjQvZWNsaXBzZS9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMC52
MjAxMjA1MjMtMTU1NS9zY3JpcHRzL2dlbmVyaWNUYXJnZXRzLnhtbDoxMTE6IFByb2Nlc3Npbmcg
aW5jbHVzaW9uIGZyb20gZmVhdHVyZSBvcmcueW9jdG8uc2RrOiBCdW5kbGUgb3JnLnlvY3RvLnNk
ay5pZGVfMS4yLjAuMjAxMjA3MjMxMzM5IGZhaWxlZCB0byByZXNvbHZlLjoKCU1pc3NpbmcgcmVx
dWlyZWQgcGx1Zy1pbiBvcmcuZWNsaXBzZS5saW51eHRvb2xzLmNkdC5hdXRvdG9vbHMudWlfMS4w
LjAuCgoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuUHJvamVjdEhlbHBlci5hZGRMb2NhdGlvblRv
QnVpbGRFeGNlcHRpb24oUHJvamVjdEhlbHBlci5qYXZhOjU1MSkKCWF0IG9yZy5hcGFjaGUudG9v
bHMuYW50LnRhc2tkZWZzLkFudC5leGVjdXRlKEFudC5qYXZhOjQ0NCkKCWF0IG9yZy5hcGFjaGUu
dG9vbHMuYW50LlVua25vd25FbGVtZW50LmV4ZWN1dGUoVW5rbm93bkVsZW1lbnQuamF2YToyOTEp
CglhdCBzdW4ucmVmbGVjdC5HZW5lcmF0ZWRNZXRob2RBY2Nlc3NvcjcuaW52b2tlKFVua25vd24g
U291cmNlKQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5pbnZv
a2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjQzKQoJYXQgamF2YS5sYW5nLnJl
ZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo2MDEpCglhdCBvcmcuYXBhY2hlLnRvb2xz
LmFudC5kaXNwYXRjaC5EaXNwYXRjaFV0aWxzLmV4ZWN1dGUoRGlzcGF0Y2hVdGlscy5qYXZhOjEw
NikKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRhc2sucGVyZm9ybShUYXNrLmphdmE6MzQ4KQoJ
YXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFyZ2V0LmV4ZWN1dGUoVGFyZ2V0LmphdmE6MzkyKQoJ
YXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFyZ2V0LnBlcmZvcm1UYXNrcyhUYXJnZXQuamF2YTo0
MTMpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Qcm9qZWN0LmV4ZWN1dGVTb3J0ZWRUYXJnZXRz
KFByb2plY3QuamF2YToxMzk5KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuaGVscGVyLlNpbmds
ZUNoZWNrRXhlY3V0b3IuZXhlY3V0ZVRhcmdldHMoU2luZ2xlQ2hlY2tFeGVjdXRvci5qYXZhOjM4
KQoJYXQgb3JnLmVjbGlwc2UuYW50LmludGVybmFsLmNvcmUuYW50LkVjbGlwc2VTaW5nbGVDaGVj
a0V4ZWN1dG9yLmV4ZWN1dGVUYXJnZXRzKEVjbGlwc2VTaW5nbGVDaGVja0V4ZWN1dG9yLmphdmE6
MzApCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Qcm9qZWN0LmV4ZWN1dGVUYXJnZXRzKFByb2pl
Y3QuamF2YToxMjUxKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQudGFza2RlZnMuQW50LmV4ZWN1
dGUoQW50LmphdmE6NDQyKQoJLi4uIDM1IG1vcmUKQ2F1c2VkIGJ5OiAvaG9tZS90ZXN0MS9lY2xp
cHNlLXBva3kvc2NyaXB0cy8xLjJfTTRfYnVpbGRfMjAxMjA3MjMxMzM4L3NyYy9mZWF0dXJlcy9v
cmcueW9jdG8uc2RrLmhlYWRsZXNzLmJ1aWxkL2N1c3RvbVRhcmdldHMueG1sOjEyOiBUaGUgZm9s
bG93aW5nIGVycm9yIG9jY3VycmVkIHdoaWxlIGV4ZWN1dGluZyB0aGlzIGxpbmU6Ci9ob21lL3Rl
c3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzL2VjbGlwc2UtNC4yLWxpbnV4LWd0ay14ODZfNjQvZWNs
aXBzZS9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMC52MjAxMjA1MjMtMTU1NS90
ZW1wbGF0ZXMvaGVhZGxlc3MtYnVpbGQvYWxsRWxlbWVudHMueG1sOjE2OiBUaGUgZm9sbG93aW5n
IGVycm9yIG9jY3VycmVkIHdoaWxlIGV4ZWN1dGluZyB0aGlzIGxpbmU6Ci9ob21lL3Rlc3QxL2Vj
bGlwc2UtcG9reS9zY3JpcHRzL2VjbGlwc2UtNC4yLWxpbnV4LWd0ay14ODZfNjQvZWNsaXBzZS9w
bHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMC52MjAxMjA1MjMtMTU1NS9zY3JpcHRz
L2dlbmVyaWNUYXJnZXRzLnhtbDoxMTE6IFByb2Nlc3NpbmcgaW5jbHVzaW9uIGZyb20gZmVhdHVy
ZSBvcmcueW9jdG8uc2RrOiBCdW5kbGUgb3JnLnlvY3RvLnNkay5pZGVfMS4yLjAuMjAxMjA3MjMx
MzM5IGZhaWxlZCB0byByZXNvbHZlLjoKCU1pc3NpbmcgcmVxdWlyZWQgcGx1Zy1pbiBvcmcuZWNs
aXBzZS5saW51eHRvb2xzLmNkdC5hdXRvdG9vbHMudWlfMS4wLjAuCgoJYXQgb3JnLmFwYWNoZS50
b29scy5hbnQuUHJvamVjdEhlbHBlci5hZGRMb2NhdGlvblRvQnVpbGRFeGNlcHRpb24oUHJvamVj
dEhlbHBlci5qYXZhOjU1MSkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LnRhc2tkZWZzLkFudC5l
eGVjdXRlKEFudC5qYXZhOjQ0NCkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LnRhc2tkZWZzLkNh
bGxUYXJnZXQuZXhlY3V0ZShDYWxsVGFyZ2V0LmphdmE6MTA1KQoJYXQgb3JnLmFwYWNoZS50b29s
cy5hbnQuVW5rbm93bkVsZW1lbnQuZXhlY3V0ZShVbmtub3duRWxlbWVudC5qYXZhOjI5MSkKCWF0
IHN1bi5yZWZsZWN0LkdlbmVyYXRlZE1ldGhvZEFjY2Vzc29yNy5pbnZva2UoVW5rbm93biBTb3Vy
Y2UpCglhdCBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShE
ZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NDMpCglhdCBqYXZhLmxhbmcucmVmbGVj
dC5NZXRob2QuaW52b2tlKE1ldGhvZC5qYXZhOjYwMSkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50
LmRpc3BhdGNoLkRpc3BhdGNoVXRpbHMuZXhlY3V0ZShEaXNwYXRjaFV0aWxzLmphdmE6MTA2KQoJ
YXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFzay5wZXJmb3JtKFRhc2suamF2YTozNDgpCglhdCBv
cmcuYXBhY2hlLnRvb2xzLmFudC5UYXJnZXQuZXhlY3V0ZShUYXJnZXQuamF2YTozOTIpCglhdCBv
cmcuYXBhY2hlLnRvb2xzLmFudC5UYXJnZXQucGVyZm9ybVRhc2tzKFRhcmdldC5qYXZhOjQxMykK
CWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlByb2plY3QuZXhlY3V0ZVNvcnRlZFRhcmdldHMoUHJv
amVjdC5qYXZhOjEzOTkpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5oZWxwZXIuU2luZ2xlQ2hl
Y2tFeGVjdXRvci5leGVjdXRlVGFyZ2V0cyhTaW5nbGVDaGVja0V4ZWN1dG9yLmphdmE6MzgpCglh
dCBvcmcuZWNsaXBzZS5hbnQuaW50ZXJuYWwuY29yZS5hbnQuRWNsaXBzZVNpbmdsZUNoZWNrRXhl
Y3V0b3IuZXhlY3V0ZVRhcmdldHMoRWNsaXBzZVNpbmdsZUNoZWNrRXhlY3V0b3IuamF2YTozMCkK
CWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlByb2plY3QuZXhlY3V0ZVRhcmdldHMoUHJvamVjdC5q
YXZhOjEyNTEpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC50YXNrZGVmcy5BbnQuZXhlY3V0ZShB
bnQuamF2YTo0NDIpCgkuLi4gNDggbW9yZQpDYXVzZWQgYnk6IC9ob21lL3Rlc3QxL2VjbGlwc2Ut
cG9reS9zY3JpcHRzL2VjbGlwc2UtNC4yLWxpbnV4LWd0ay14ODZfNjQvZWNsaXBzZS9wbHVnaW5z
L29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMC52MjAxMjA1MjMtMTU1NS90ZW1wbGF0ZXMvaGVh
ZGxlc3MtYnVpbGQvYWxsRWxlbWVudHMueG1sOjE2OiBUaGUgZm9sbG93aW5nIGVycm9yIG9jY3Vy
cmVkIHdoaWxlIGV4ZWN1dGluZyB0aGlzIGxpbmU6Ci9ob21lL3Rlc3QxL2VjbGlwc2UtcG9reS9z
Y3JpcHRzL2VjbGlwc2UtNC4yLWxpbnV4LWd0ay14ODZfNjQvZWNsaXBzZS9wbHVnaW5zL29yZy5l
Y2xpcHNlLnBkZS5idWlsZF8zLjguMC52MjAxMjA1MjMtMTU1NS9zY3JpcHRzL2dlbmVyaWNUYXJn
ZXRzLnhtbDoxMTE6IFByb2Nlc3NpbmcgaW5jbHVzaW9uIGZyb20gZmVhdHVyZSBvcmcueW9jdG8u
c2RrOiBCdW5kbGUgb3JnLnlvY3RvLnNkay5pZGVfMS4yLjAuMjAxMjA3MjMxMzM5IGZhaWxlZCB0
byByZXNvbHZlLjoKCU1pc3NpbmcgcmVxdWlyZWQgcGx1Zy1pbiBvcmcuZWNsaXBzZS5saW51eHRv
b2xzLmNkdC5hdXRvdG9vbHMudWlfMS4wLjAuCgoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuUHJv
amVjdEhlbHBlci5hZGRMb2NhdGlvblRvQnVpbGRFeGNlcHRpb24oUHJvamVjdEhlbHBlci5qYXZh
OjU1MSkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LnRhc2tkZWZzLkFudC5leGVjdXRlKEFudC5q
YXZhOjQ0NCkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlVua25vd25FbGVtZW50LmV4ZWN1dGUo
VW5rbm93bkVsZW1lbnQuamF2YToyOTEpCglhdCBzdW4ucmVmbGVjdC5HZW5lcmF0ZWRNZXRob2RB
Y2Nlc3NvcjcuaW52b2tlKFVua25vd24gU291cmNlKQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGlu
Z01ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5q
YXZhOjQzKQoJYXQgamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo2
MDEpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5kaXNwYXRjaC5EaXNwYXRjaFV0aWxzLmV4ZWN1
dGUoRGlzcGF0Y2hVdGlscy5qYXZhOjEwNikKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRhc2su
cGVyZm9ybShUYXNrLmphdmE6MzQ4KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFyZ2V0LmV4
ZWN1dGUoVGFyZ2V0LmphdmE6MzkyKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFyZ2V0LnBl
cmZvcm1UYXNrcyhUYXJnZXQuamF2YTo0MTMpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Qcm9q
ZWN0LmV4ZWN1dGVTb3J0ZWRUYXJnZXRzKFByb2plY3QuamF2YToxMzk5KQoJYXQgb3JnLmFwYWNo
ZS50b29scy5hbnQuaGVscGVyLlNpbmdsZUNoZWNrRXhlY3V0b3IuZXhlY3V0ZVRhcmdldHMoU2lu
Z2xlQ2hlY2tFeGVjdXRvci5qYXZhOjM4KQoJYXQgb3JnLmVjbGlwc2UuYW50LmludGVybmFsLmNv
cmUuYW50LkVjbGlwc2VTaW5nbGVDaGVja0V4ZWN1dG9yLmV4ZWN1dGVUYXJnZXRzKEVjbGlwc2VT
aW5nbGVDaGVja0V4ZWN1dG9yLmphdmE6MzApCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Qcm9q
ZWN0LmV4ZWN1dGVUYXJnZXRzKFByb2plY3QuamF2YToxMjUxKQoJYXQgb3JnLmFwYWNoZS50b29s
cy5hbnQudGFza2RlZnMuQW50LmV4ZWN1dGUoQW50LmphdmE6NDQyKQoJLi4uIDYyIG1vcmUKQ2F1
c2VkIGJ5OiAvaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy9lY2xpcHNlLTQuMi1saW51
eC1ndGsteDg2XzY0L2VjbGlwc2UvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjAu
djIwMTIwNTIzLTE1NTUvc2NyaXB0cy9nZW5lcmljVGFyZ2V0cy54bWw6MTExOiBQcm9jZXNzaW5n
IGluY2x1c2lvbiBmcm9tIGZlYXR1cmUgb3JnLnlvY3RvLnNkazogQnVuZGxlIG9yZy55b2N0by5z
ZGsuaWRlXzEuMi4wLjIwMTIwNzIzMTMzOSBmYWlsZWQgdG8gcmVzb2x2ZS46CglNaXNzaW5nIHJl
cXVpcmVkIHBsdWctaW4gb3JnLmVjbGlwc2UubGludXh0b29scy5jZHQuYXV0b3Rvb2xzLnVpXzEu
MC4wLgoKCWF0IG9yZy5lY2xpcHNlLnBkZS5pbnRlcm5hbC5idWlsZC50YXNrcy5CdWlsZFNjcmlw
dEdlbmVyYXRvclRhc2suZXhlY3V0ZShCdWlsZFNjcmlwdEdlbmVyYXRvclRhc2suamF2YTo5NCkK
CWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlVua25vd25FbGVtZW50LmV4ZWN1dGUoVW5rbm93bkVs
ZW1lbnQuamF2YToyOTEpCglhdCBzdW4ucmVmbGVjdC5HZW5lcmF0ZWRNZXRob2RBY2Nlc3Nvcjcu
aW52b2tlKFVua25vd24gU291cmNlKQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFj
Y2Vzc29ySW1wbC5pbnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjQzKQoJ
YXQgamF2YS5sYW5nLnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo2MDEpCglhdCBv
cmcuYXBhY2hlLnRvb2xzLmFudC5kaXNwYXRjaC5EaXNwYXRjaFV0aWxzLmV4ZWN1dGUoRGlzcGF0
Y2hVdGlscy5qYXZhOjEwNikKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRhc2sucGVyZm9ybShU
YXNrLmphdmE6MzQ4KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFyZ2V0LmV4ZWN1dGUoVGFy
Z2V0LmphdmE6MzkyKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFyZ2V0LnBlcmZvcm1UYXNr
cyhUYXJnZXQuamF2YTo0MTMpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Qcm9qZWN0LmV4ZWN1
dGVTb3J0ZWRUYXJnZXRzKFByb2plY3QuamF2YToxMzk5KQoJYXQgb3JnLmFwYWNoZS50b29scy5h
bnQuaGVscGVyLlNpbmdsZUNoZWNrRXhlY3V0b3IuZXhlY3V0ZVRhcmdldHMoU2luZ2xlQ2hlY2tF
eGVjdXRvci5qYXZhOjM4KQoJYXQgb3JnLmVjbGlwc2UuYW50LmludGVybmFsLmNvcmUuYW50LkVj
bGlwc2VTaW5nbGVDaGVja0V4ZWN1dG9yLmV4ZWN1dGVUYXJnZXRzKEVjbGlwc2VTaW5nbGVDaGVj
a0V4ZWN1dG9yLmphdmE6MzApCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Qcm9qZWN0LmV4ZWN1
dGVUYXJnZXRzKFByb2plY3QuamF2YToxMjUxKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQudGFz
a2RlZnMuQW50LmV4ZWN1dGUoQW50LmphdmE6NDQyKQoJLi4uIDc1IG1vcmUKUm9vdCBleGNlcHRp
b246Ci9ob21lL3Rlc3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzL2VjbGlwc2UvcGx1Z2lucy9vcmcu
ZWNsaXBzZS5wZGUuYnVpbGRfMy44LjAudjIwMTIwNTIzLTE1NTUvc2NyaXB0cy9idWlsZC54bWw6
MzU6IFRoZSBmb2xsb3dpbmcgZXJyb3Igb2NjdXJyZWQgd2hpbGUgZXhlY3V0aW5nIHRoaXMgbGlu
ZToKL2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvZWNsaXBzZS9wbHVnaW5zL29yZy5l
Y2xpcHNlLnBkZS5idWlsZF8zLjguMC52MjAxMjA1MjMtMTU1NS9zY3JpcHRzL2J1aWxkLnhtbDo5
MTogVGhlIGZvbGxvd2luZyBlcnJvciBvY2N1cnJlZCB3aGlsZSBleGVjdXRpbmcgdGhpcyBsaW5l
OgovaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy8xLjJfTTRfYnVpbGRfMjAxMjA3MjMx
MzM4L3NyYy9mZWF0dXJlcy9vcmcueW9jdG8uc2RrLmhlYWRsZXNzLmJ1aWxkL2N1c3RvbVRhcmdl
dHMueG1sOjEyOiBUaGUgZm9sbG93aW5nIGVycm9yIG9jY3VycmVkIHdoaWxlIGV4ZWN1dGluZyB0
aGlzIGxpbmU6Ci9ob21lL3Rlc3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzL2VjbGlwc2UtNC4yLWxp
bnV4LWd0ay14ODZfNjQvZWNsaXBzZS9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjgu
MC52MjAxMjA1MjMtMTU1NS90ZW1wbGF0ZXMvaGVhZGxlc3MtYnVpbGQvYWxsRWxlbWVudHMueG1s
OjE2OiBUaGUgZm9sbG93aW5nIGVycm9yIG9jY3VycmVkIHdoaWxlIGV4ZWN1dGluZyB0aGlzIGxp
bmU6Ci9ob21lL3Rlc3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzL2VjbGlwc2UtNC4yLWxpbnV4LWd0
ay14ODZfNjQvZWNsaXBzZS9wbHVnaW5zL29yZy5lY2xpcHNlLnBkZS5idWlsZF8zLjguMC52MjAx
MjA1MjMtMTU1NS9zY3JpcHRzL2dlbmVyaWNUYXJnZXRzLnhtbDoxMTE6IFByb2Nlc3NpbmcgaW5j
bHVzaW9uIGZyb20gZmVhdHVyZSBvcmcueW9jdG8uc2RrOiBCdW5kbGUgb3JnLnlvY3RvLnNkay5p
ZGVfMS4yLjAuMjAxMjA3MjMxMzM5IGZhaWxlZCB0byByZXNvbHZlLjoKCU1pc3NpbmcgcmVxdWly
ZWQgcGx1Zy1pbiBvcmcuZWNsaXBzZS5saW51eHRvb2xzLmNkdC5hdXRvdG9vbHMudWlfMS4wLjAu
CgoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuUHJvamVjdEhlbHBlci5hZGRMb2NhdGlvblRvQnVp
bGRFeGNlcHRpb24oUHJvamVjdEhlbHBlci5qYXZhOjU1MSkKCWF0IG9yZy5hcGFjaGUudG9vbHMu
YW50LnRhc2tkZWZzLkFudC5leGVjdXRlKEFudC5qYXZhOjQ0NCkKCWF0IG9yZy5hcGFjaGUudG9v
bHMuYW50LnRhc2tkZWZzLkNhbGxUYXJnZXQuZXhlY3V0ZShDYWxsVGFyZ2V0LmphdmE6MTA1KQoJ
YXQgb3JnLmFwYWNoZS50b29scy5hbnQuVW5rbm93bkVsZW1lbnQuZXhlY3V0ZShVbmtub3duRWxl
bWVudC5qYXZhOjI5MSkKCWF0IHN1bi5yZWZsZWN0LkdlbmVyYXRlZE1ldGhvZEFjY2Vzc29yNy5p
bnZva2UoVW5rbm93biBTb3VyY2UpCglhdCBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNj
ZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NDMpCglh
dCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhvZC5qYXZhOjYwMSkKCWF0IG9y
Zy5hcGFjaGUudG9vbHMuYW50LmRpc3BhdGNoLkRpc3BhdGNoVXRpbHMuZXhlY3V0ZShEaXNwYXRj
aFV0aWxzLmphdmE6MTA2KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFzay5wZXJmb3JtKFRh
c2suamF2YTozNDgpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5UYXJnZXQuZXhlY3V0ZShUYXJn
ZXQuamF2YTozOTIpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5UYXJnZXQucGVyZm9ybVRhc2tz
KFRhcmdldC5qYXZhOjQxMykKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlByb2plY3QuZXhlY3V0
ZVNvcnRlZFRhcmdldHMoUHJvamVjdC5qYXZhOjEzOTkpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFu
dC5Qcm9qZWN0LmV4ZWN1dGVUYXJnZXQoUHJvamVjdC5qYXZhOjEzNjgpCglhdCBvcmcuYXBhY2hl
LnRvb2xzLmFudC5oZWxwZXIuRGVmYXVsdEV4ZWN1dG9yLmV4ZWN1dGVUYXJnZXRzKERlZmF1bHRF
eGVjdXRvci5qYXZhOjQxKQoJYXQgb3JnLmVjbGlwc2UuYW50LmludGVybmFsLmNvcmUuYW50LkVj
bGlwc2VEZWZhdWx0RXhlY3V0b3IuZXhlY3V0ZVRhcmdldHMoRWNsaXBzZURlZmF1bHRFeGVjdXRv
ci5qYXZhOjMyKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuUHJvamVjdC5leGVjdXRlVGFyZ2V0
cyhQcm9qZWN0LmphdmE6MTI1MSkKCWF0IG9yZy5lY2xpcHNlLmFudC5pbnRlcm5hbC5jb3JlLmFu
dC5JbnRlcm5hbEFudFJ1bm5lci5ydW4oSW50ZXJuYWxBbnRSdW5uZXIuamF2YTo2NzIpCglhdCBv
cmcuZWNsaXBzZS5hbnQuaW50ZXJuYWwuY29yZS5hbnQuSW50ZXJuYWxBbnRSdW5uZXIucnVuKElu
dGVybmFsQW50UnVubmVyLmphdmE6NTM3KQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNj
ZXNzb3JJbXBsLmludm9rZTAoTmF0aXZlIE1ldGhvZCkKCWF0IHN1bi5yZWZsZWN0Lk5hdGl2ZU1l
dGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NTcp
CglhdCBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxl
Z2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NDMpCglhdCBqYXZhLmxhbmcucmVmbGVjdC5N
ZXRob2QuaW52b2tlKE1ldGhvZC5qYXZhOjYwMSkKCWF0IG9yZy5lY2xpcHNlLmFudC5jb3JlLkFu
dFJ1bm5lci5ydW4oQW50UnVubmVyLmphdmE6NTEzKQoJYXQgb3JnLmVjbGlwc2UuYW50LmNvcmUu
QW50UnVubmVyLnN0YXJ0KEFudFJ1bm5lci5qYXZhOjYwMCkKCWF0IG9yZy5lY2xpcHNlLmVxdWlu
b3guaW50ZXJuYWwuYXBwLkVjbGlwc2VBcHBIYW5kbGUucnVuKEVjbGlwc2VBcHBIYW5kbGUuamF2
YToxOTYpCglhdCBvcmcuZWNsaXBzZS5jb3JlLnJ1bnRpbWUuaW50ZXJuYWwuYWRhcHRvci5FY2xp
cHNlQXBwTGF1bmNoZXIucnVuQXBwbGljYXRpb24oRWNsaXBzZUFwcExhdW5jaGVyLmphdmE6MTEw
KQoJYXQgb3JnLmVjbGlwc2UuY29yZS5ydW50aW1lLmludGVybmFsLmFkYXB0b3IuRWNsaXBzZUFw
cExhdW5jaGVyLnN0YXJ0KEVjbGlwc2VBcHBMYXVuY2hlci5qYXZhOjc5KQoJYXQgb3JnLmVjbGlw
c2UuY29yZS5ydW50aW1lLmFkYXB0b3IuRWNsaXBzZVN0YXJ0ZXIucnVuKEVjbGlwc2VTdGFydGVy
LmphdmE6MzUzKQoJYXQgb3JnLmVjbGlwc2UuY29yZS5ydW50aW1lLmFkYXB0b3IuRWNsaXBzZVN0
YXJ0ZXIucnVuKEVjbGlwc2VTdGFydGVyLmphdmE6MTgwKQoJYXQgc3VuLnJlZmxlY3QuTmF0aXZl
TWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZTAoTmF0aXZlIE1ldGhvZCkKCWF0IHN1bi5yZWZsZWN0
Lk5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5pbnZva2UoTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBs
LmphdmE6NTcpCglhdCBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmlu
dm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmphdmE6NDMpCglhdCBqYXZhLmxhbmcu
cmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhvZC5qYXZhOjYwMSkKCWF0IG9yZy5lY2xpcHNlLmVx
dWlub3gubGF1bmNoZXIuTWFpbi5pbnZva2VGcmFtZXdvcmsoTWFpbi5qYXZhOjYyOSkKCWF0IG9y
Zy5lY2xpcHNlLmVxdWlub3gubGF1bmNoZXIuTWFpbi5iYXNpY1J1bihNYWluLmphdmE6NTg0KQoJ
YXQgb3JnLmVjbGlwc2UuZXF1aW5veC5sYXVuY2hlci5NYWluLnJ1bihNYWluLmphdmE6MTQzOCkK
CWF0IG9yZy5lY2xpcHNlLmVxdWlub3gubGF1bmNoZXIuTWFpbi5tYWluKE1haW4uamF2YToxNDE0
KQpDYXVzZWQgYnk6IC9ob21lL3Rlc3QxL2VjbGlwc2UtcG9reS9zY3JpcHRzL2VjbGlwc2UvcGx1
Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjAudjIwMTIwNTIzLTE1NTUvc2NyaXB0cy9i
dWlsZC54bWw6OTE6IFRoZSBmb2xsb3dpbmcgZXJyb3Igb2NjdXJyZWQgd2hpbGUgZXhlY3V0aW5n
IHRoaXMgbGluZToKL2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvMS4yX000X2J1aWxk
XzIwMTIwNzIzMTMzOC9zcmMvZmVhdHVyZXMvb3JnLnlvY3RvLnNkay5oZWFkbGVzcy5idWlsZC9j
dXN0b21UYXJnZXRzLnhtbDoxMjogVGhlIGZvbGxvd2luZyBlcnJvciBvY2N1cnJlZCB3aGlsZSBl
eGVjdXRpbmcgdGhpcyBsaW5lOgovaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy9lY2xp
cHNlLTQuMi1saW51eC1ndGsteDg2XzY0L2VjbGlwc2UvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUu
YnVpbGRfMy44LjAudjIwMTIwNTIzLTE1NTUvdGVtcGxhdGVzL2hlYWRsZXNzLWJ1aWxkL2FsbEVs
ZW1lbnRzLnhtbDoxNjogVGhlIGZvbGxvd2luZyBlcnJvciBvY2N1cnJlZCB3aGlsZSBleGVjdXRp
bmcgdGhpcyBsaW5lOgovaG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy9lY2xpcHNlLTQu
Mi1saW51eC1ndGsteDg2XzY0L2VjbGlwc2UvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRf
My44LjAudjIwMTIwNTIzLTE1NTUvc2NyaXB0cy9nZW5lcmljVGFyZ2V0cy54bWw6MTExOiBQcm9j
ZXNzaW5nIGluY2x1c2lvbiBmcm9tIGZlYXR1cmUgb3JnLnlvY3RvLnNkazogQnVuZGxlIG9yZy55
b2N0by5zZGsuaWRlXzEuMi4wLjIwMTIwNzIzMTMzOSBmYWlsZWQgdG8gcmVzb2x2ZS46CglNaXNz
aW5nIHJlcXVpcmVkIHBsdWctaW4gb3JnLmVjbGlwc2UubGludXh0b29scy5jZHQuYXV0b3Rvb2xz
LnVpXzEuMC4wLgoKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlByb2plY3RIZWxwZXIuYWRkTG9j
YXRpb25Ub0J1aWxkRXhjZXB0aW9uKFByb2plY3RIZWxwZXIuamF2YTo1NTEpCglhdCBvcmcuYXBh
Y2hlLnRvb2xzLmFudC50YXNrZGVmcy5BbnQuZXhlY3V0ZShBbnQuamF2YTo0NDQpCglhdCBvcmcu
YXBhY2hlLnRvb2xzLmFudC5Vbmtub3duRWxlbWVudC5leGVjdXRlKFVua25vd25FbGVtZW50Lmph
dmE6MjkxKQoJYXQgc3VuLnJlZmxlY3QuR2VuZXJhdGVkTWV0aG9kQWNjZXNzb3I3Lmludm9rZShV
bmtub3duIFNvdXJjZSkKCWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3Nvcklt
cGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2YTo0MykKCWF0IGphdmEu
bGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NjAxKQoJYXQgb3JnLmFwYWNo
ZS50b29scy5hbnQuZGlzcGF0Y2guRGlzcGF0Y2hVdGlscy5leGVjdXRlKERpc3BhdGNoVXRpbHMu
amF2YToxMDYpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5UYXNrLnBlcmZvcm0oVGFzay5qYXZh
OjM0OCkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRhcmdldC5leGVjdXRlKFRhcmdldC5qYXZh
OjM5MikKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRhcmdldC5wZXJmb3JtVGFza3MoVGFyZ2V0
LmphdmE6NDEzKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuUHJvamVjdC5leGVjdXRlU29ydGVk
VGFyZ2V0cyhQcm9qZWN0LmphdmE6MTM5OSkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LmhlbHBl
ci5TaW5nbGVDaGVja0V4ZWN1dG9yLmV4ZWN1dGVUYXJnZXRzKFNpbmdsZUNoZWNrRXhlY3V0b3Iu
amF2YTozOCkKCWF0IG9yZy5lY2xpcHNlLmFudC5pbnRlcm5hbC5jb3JlLmFudC5FY2xpcHNlU2lu
Z2xlQ2hlY2tFeGVjdXRvci5leGVjdXRlVGFyZ2V0cyhFY2xpcHNlU2luZ2xlQ2hlY2tFeGVjdXRv
ci5qYXZhOjMwKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuUHJvamVjdC5leGVjdXRlVGFyZ2V0
cyhQcm9qZWN0LmphdmE6MTI1MSkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LnRhc2tkZWZzLkFu
dC5leGVjdXRlKEFudC5qYXZhOjQ0MikKCS4uLiAzNSBtb3JlCkNhdXNlZCBieTogL2hvbWUvdGVz
dDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvMS4yX000X2J1aWxkXzIwMTIwNzIzMTMzOC9zcmMvZmVh
dHVyZXMvb3JnLnlvY3RvLnNkay5oZWFkbGVzcy5idWlsZC9jdXN0b21UYXJnZXRzLnhtbDoxMjog
VGhlIGZvbGxvd2luZyBlcnJvciBvY2N1cnJlZCB3aGlsZSBleGVjdXRpbmcgdGhpcyBsaW5lOgov
aG9tZS90ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy9lY2xpcHNlLTQuMi1saW51eC1ndGsteDg2
XzY0L2VjbGlwc2UvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjAudjIwMTIwNTIz
LTE1NTUvdGVtcGxhdGVzL2hlYWRsZXNzLWJ1aWxkL2FsbEVsZW1lbnRzLnhtbDoxNjogVGhlIGZv
bGxvd2luZyBlcnJvciBvY2N1cnJlZCB3aGlsZSBleGVjdXRpbmcgdGhpcyBsaW5lOgovaG9tZS90
ZXN0MS9lY2xpcHNlLXBva3kvc2NyaXB0cy9lY2xpcHNlLTQuMi1saW51eC1ndGsteDg2XzY0L2Vj
bGlwc2UvcGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjAudjIwMTIwNTIzLTE1NTUv
c2NyaXB0cy9nZW5lcmljVGFyZ2V0cy54bWw6MTExOiBQcm9jZXNzaW5nIGluY2x1c2lvbiBmcm9t
IGZlYXR1cmUgb3JnLnlvY3RvLnNkazogQnVuZGxlIG9yZy55b2N0by5zZGsuaWRlXzEuMi4wLjIw
MTIwNzIzMTMzOSBmYWlsZWQgdG8gcmVzb2x2ZS46CglNaXNzaW5nIHJlcXVpcmVkIHBsdWctaW4g
b3JnLmVjbGlwc2UubGludXh0b29scy5jZHQuYXV0b3Rvb2xzLnVpXzEuMC4wLgoKCWF0IG9yZy5h
cGFjaGUudG9vbHMuYW50LlByb2plY3RIZWxwZXIuYWRkTG9jYXRpb25Ub0J1aWxkRXhjZXB0aW9u
KFByb2plY3RIZWxwZXIuamF2YTo1NTEpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC50YXNrZGVm
cy5BbnQuZXhlY3V0ZShBbnQuamF2YTo0NDQpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC50YXNr
ZGVmcy5DYWxsVGFyZ2V0LmV4ZWN1dGUoQ2FsbFRhcmdldC5qYXZhOjEwNSkKCWF0IG9yZy5hcGFj
aGUudG9vbHMuYW50LlVua25vd25FbGVtZW50LmV4ZWN1dGUoVW5rbm93bkVsZW1lbnQuamF2YToy
OTEpCglhdCBzdW4ucmVmbGVjdC5HZW5lcmF0ZWRNZXRob2RBY2Nlc3NvcjcuaW52b2tlKFVua25v
d24gU291cmNlKQoJYXQgc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5p
bnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5qYXZhOjQzKQoJYXQgamF2YS5sYW5n
LnJlZmxlY3QuTWV0aG9kLmludm9rZShNZXRob2QuamF2YTo2MDEpCglhdCBvcmcuYXBhY2hlLnRv
b2xzLmFudC5kaXNwYXRjaC5EaXNwYXRjaFV0aWxzLmV4ZWN1dGUoRGlzcGF0Y2hVdGlscy5qYXZh
OjEwNikKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRhc2sucGVyZm9ybShUYXNrLmphdmE6MzQ4
KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFyZ2V0LmV4ZWN1dGUoVGFyZ2V0LmphdmE6Mzky
KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuVGFyZ2V0LnBlcmZvcm1UYXNrcyhUYXJnZXQuamF2
YTo0MTMpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Qcm9qZWN0LmV4ZWN1dGVTb3J0ZWRUYXJn
ZXRzKFByb2plY3QuamF2YToxMzk5KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuaGVscGVyLlNp
bmdsZUNoZWNrRXhlY3V0b3IuZXhlY3V0ZVRhcmdldHMoU2luZ2xlQ2hlY2tFeGVjdXRvci5qYXZh
OjM4KQoJYXQgb3JnLmVjbGlwc2UuYW50LmludGVybmFsLmNvcmUuYW50LkVjbGlwc2VTaW5nbGVD
aGVja0V4ZWN1dG9yLmV4ZWN1dGVUYXJnZXRzKEVjbGlwc2VTaW5nbGVDaGVja0V4ZWN1dG9yLmph
dmE6MzApCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Qcm9qZWN0LmV4ZWN1dGVUYXJnZXRzKFBy
b2plY3QuamF2YToxMjUxKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQudGFza2RlZnMuQW50LmV4
ZWN1dGUoQW50LmphdmE6NDQyKQoJLi4uIDQ4IG1vcmUKQ2F1c2VkIGJ5OiAvaG9tZS90ZXN0MS9l
Y2xpcHNlLXBva3kvc2NyaXB0cy9lY2xpcHNlLTQuMi1saW51eC1ndGsteDg2XzY0L2VjbGlwc2Uv
cGx1Z2lucy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjAudjIwMTIwNTIzLTE1NTUvdGVtcGxh
dGVzL2hlYWRsZXNzLWJ1aWxkL2FsbEVsZW1lbnRzLnhtbDoxNjogVGhlIGZvbGxvd2luZyBlcnJv
ciBvY2N1cnJlZCB3aGlsZSBleGVjdXRpbmcgdGhpcyBsaW5lOgovaG9tZS90ZXN0MS9lY2xpcHNl
LXBva3kvc2NyaXB0cy9lY2xpcHNlLTQuMi1saW51eC1ndGsteDg2XzY0L2VjbGlwc2UvcGx1Z2lu
cy9vcmcuZWNsaXBzZS5wZGUuYnVpbGRfMy44LjAudjIwMTIwNTIzLTE1NTUvc2NyaXB0cy9nZW5l
cmljVGFyZ2V0cy54bWw6MTExOiBQcm9jZXNzaW5nIGluY2x1c2lvbiBmcm9tIGZlYXR1cmUgb3Jn
LnlvY3RvLnNkazogQnVuZGxlIG9yZy55b2N0by5zZGsuaWRlXzEuMi4wLjIwMTIwNzIzMTMzOSBm
YWlsZWQgdG8gcmVzb2x2ZS46CglNaXNzaW5nIHJlcXVpcmVkIHBsdWctaW4gb3JnLmVjbGlwc2Uu
bGludXh0b29scy5jZHQuYXV0b3Rvb2xzLnVpXzEuMC4wLgoKCWF0IG9yZy5hcGFjaGUudG9vbHMu
YW50LlByb2plY3RIZWxwZXIuYWRkTG9jYXRpb25Ub0J1aWxkRXhjZXB0aW9uKFByb2plY3RIZWxw
ZXIuamF2YTo1NTEpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC50YXNrZGVmcy5BbnQuZXhlY3V0
ZShBbnQuamF2YTo0NDQpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Vbmtub3duRWxlbWVudC5l
eGVjdXRlKFVua25vd25FbGVtZW50LmphdmE6MjkxKQoJYXQgc3VuLnJlZmxlY3QuR2VuZXJhdGVk
TWV0aG9kQWNjZXNzb3I3Lmludm9rZShVbmtub3duIFNvdXJjZSkKCWF0IHN1bi5yZWZsZWN0LkRl
bGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3Nv
ckltcGwuamF2YTo0MykKCWF0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9k
LmphdmE6NjAxKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuZGlzcGF0Y2guRGlzcGF0Y2hVdGls
cy5leGVjdXRlKERpc3BhdGNoVXRpbHMuamF2YToxMDYpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFu
dC5UYXNrLnBlcmZvcm0oVGFzay5qYXZhOjM0OCkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRh
cmdldC5leGVjdXRlKFRhcmdldC5qYXZhOjM5MikKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRh
cmdldC5wZXJmb3JtVGFza3MoVGFyZ2V0LmphdmE6NDEzKQoJYXQgb3JnLmFwYWNoZS50b29scy5h
bnQuUHJvamVjdC5leGVjdXRlU29ydGVkVGFyZ2V0cyhQcm9qZWN0LmphdmE6MTM5OSkKCWF0IG9y
Zy5hcGFjaGUudG9vbHMuYW50LmhlbHBlci5TaW5nbGVDaGVja0V4ZWN1dG9yLmV4ZWN1dGVUYXJn
ZXRzKFNpbmdsZUNoZWNrRXhlY3V0b3IuamF2YTozOCkKCWF0IG9yZy5lY2xpcHNlLmFudC5pbnRl
cm5hbC5jb3JlLmFudC5FY2xpcHNlU2luZ2xlQ2hlY2tFeGVjdXRvci5leGVjdXRlVGFyZ2V0cyhF
Y2xpcHNlU2luZ2xlQ2hlY2tFeGVjdXRvci5qYXZhOjMwKQoJYXQgb3JnLmFwYWNoZS50b29scy5h
bnQuUHJvamVjdC5leGVjdXRlVGFyZ2V0cyhQcm9qZWN0LmphdmE6MTI1MSkKCWF0IG9yZy5hcGFj
aGUudG9vbHMuYW50LnRhc2tkZWZzLkFudC5leGVjdXRlKEFudC5qYXZhOjQ0MikKCS4uLiA2MiBt
b3JlCkNhdXNlZCBieTogL2hvbWUvdGVzdDEvZWNsaXBzZS1wb2t5L3NjcmlwdHMvZWNsaXBzZS00
LjItbGludXgtZ3RrLXg4Nl82NC9lY2xpcHNlL3BsdWdpbnMvb3JnLmVjbGlwc2UucGRlLmJ1aWxk
XzMuOC4wLnYyMDEyMDUyMy0xNTU1L3NjcmlwdHMvZ2VuZXJpY1RhcmdldHMueG1sOjExMTogUHJv
Y2Vzc2luZyBpbmNsdXNpb24gZnJvbSBmZWF0dXJlIG9yZy55b2N0by5zZGs6IEJ1bmRsZSBvcmcu
eW9jdG8uc2RrLmlkZV8xLjIuMC4yMDEyMDcyMzEzMzkgZmFpbGVkIHRvIHJlc29sdmUuOgoJTWlz
c2luZyByZXF1aXJlZCBwbHVnLWluIG9yZy5lY2xpcHNlLmxpbnV4dG9vbHMuY2R0LmF1dG90b29s
cy51aV8xLjAuMC4KCglhdCBvcmcuZWNsaXBzZS5wZGUuaW50ZXJuYWwuYnVpbGQudGFza3MuQnVp
bGRTY3JpcHRHZW5lcmF0b3JUYXNrLmV4ZWN1dGUoQnVpbGRTY3JpcHRHZW5lcmF0b3JUYXNrLmph
dmE6OTQpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5Vbmtub3duRWxlbWVudC5leGVjdXRlKFVu
a25vd25FbGVtZW50LmphdmE6MjkxKQoJYXQgc3VuLnJlZmxlY3QuR2VuZXJhdGVkTWV0aG9kQWNj
ZXNzb3I3Lmludm9rZShVbmtub3duIFNvdXJjZSkKCWF0IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdN
ZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwuamF2
YTo0MykKCWF0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NjAx
KQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuZGlzcGF0Y2guRGlzcGF0Y2hVdGlscy5leGVjdXRl
KERpc3BhdGNoVXRpbHMuamF2YToxMDYpCglhdCBvcmcuYXBhY2hlLnRvb2xzLmFudC5UYXNrLnBl
cmZvcm0oVGFzay5qYXZhOjM0OCkKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRhcmdldC5leGVj
dXRlKFRhcmdldC5qYXZhOjM5MikKCWF0IG9yZy5hcGFjaGUudG9vbHMuYW50LlRhcmdldC5wZXJm
b3JtVGFza3MoVGFyZ2V0LmphdmE6NDEzKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuUHJvamVj
dC5leGVjdXRlU29ydGVkVGFyZ2V0cyhQcm9qZWN0LmphdmE6MTM5OSkKCWF0IG9yZy5hcGFjaGUu
dG9vbHMuYW50LmhlbHBlci5TaW5nbGVDaGVja0V4ZWN1dG9yLmV4ZWN1dGVUYXJnZXRzKFNpbmds
ZUNoZWNrRXhlY3V0b3IuamF2YTozOCkKCWF0IG9yZy5lY2xpcHNlLmFudC5pbnRlcm5hbC5jb3Jl
LmFudC5FY2xpcHNlU2luZ2xlQ2hlY2tFeGVjdXRvci5leGVjdXRlVGFyZ2V0cyhFY2xpcHNlU2lu
Z2xlQ2hlY2tFeGVjdXRvci5qYXZhOjMwKQoJYXQgb3JnLmFwYWNoZS50b29scy5hbnQuUHJvamVj
dC5leGVjdXRlVGFyZ2V0cyhQcm9qZWN0LmphdmE6MTI1MSkKCWF0IG9yZy5hcGFjaGUudG9vbHMu
YW50LnRhc2tkZWZzLkFudC5leGVjdXRlKEFudC5qYXZhOjQ0MikKCS4uLiA3NSBtb3JlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>