tree 7e67ff6b023dede8807fa5898af0c589616cacbb
parent 71b91b2165c10e27ce66442ea20aff2ec387466f
author Stian Soiland-Reyes <stain@apache.org> 1525789365 +0100
committer Stian Soiland-Reyes <stain@apache.org> 1525790356 +0100
gpgsig -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABCgAGBQJa8baWAAoJEG5Qu2jMFpmmBg8QAKnb7qhGPz3mqqH84xQx6eh3
 lpEQR8Qs3c73FZlV5i6wjhWxeP8Yr7UyO3xRrv8eFjlkk5B+Didil+kg3a+pNjAC
 9m6hK738rfgkLIRS5f2fqbNGtOo+aUEJyp5CnNGcSm9vJ3ypJNDBhTF+mYyAJCyc
 My9jz6lU/skALA7WMojoI2qLUSMcZQBbpVhCYByXUfZplKqUTAE0+0WHqn1Jzygo
 fLkrMi31j98eQJaC51fPGXinUiOTpPLrfLxVqFS31cqym/ddfMq4s6WEk1385eMP
 lyFcGgdrJfSEQmJX+OPLo+QY2IIfudGvAPkk4YD1P36Kpi4U0Oq0sreS+9iNFTkz
 b0BEiJGupQB5lI/1nz2m14qq9a5DPKRZnxVH7Qzq5g6GYqFkVMj/9inyyWKr8E5k
 NNeM6aA6tdJrk5Nnu1ekzEZ9r1gcv07a58MoIyZ5orB3xuL9GbKz1wx32cUNTsTG
 8dnvnY+jWo19VLa4AbNFoV75fAcr2ITyWUjEYNQJaBloot0zvJAmrny2vY2DmyYm
 jjJKfl/4U9JsAwEI3g2DikrAm1/Ep8fg2PR+6bwtj73jq11R2bFT+D1MOVUOVZDs
 KfUopWTIPXaGgtxNr7pZOdTvhniy/lO+dSW0yR/495VFSoHh+Umz5DAzt12mOOwZ
 DVgPDxgPnUShyertcHaO
 =ikln
 -----END PGP SIGNATURE-----

Empty test Combine archive from JWS Online

Created manually by Stian Soiland-Reyes
<stain@apache.org>
on https://jjj.bio.vu.nl/

This is just an empty test simulation to test Apache Taverna Language.

   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.

(LICENSE and NOTICE added manually to sedx ZIP archive)
