From 0a12884c34e0f7d2143d28cd603e87b879bb8faa Mon Sep 17 00:00:00 2001 From: Soner Sevinc Date: Tue, 15 Apr 2008 15:04:18 +0000 Subject: [PATCH] --- gui/JavaApplication1/build.xml | 69 + .../javaapplication1/DisplayHandle$1$1.class | Bin 0 -> 1039 bytes .../javaapplication1/DisplayHandle$1.class | Bin 0 -> 1971 bytes .../javaapplication1/DisplayHandle.class | Bin 0 -> 15568 bytes .../classes/javaapplication1/GeniGUI$1.class | Bin 0 -> 748 bytes .../classes/javaapplication1/GeniGUI$2.class | Bin 0 -> 772 bytes .../classes/javaapplication1/GeniGUI$3.class | Bin 0 -> 748 bytes .../classes/javaapplication1/GeniGUI$4.class | Bin 0 -> 748 bytes .../classes/javaapplication1/GeniGUI$5.class | Bin 0 -> 748 bytes .../classes/javaapplication1/GeniGUI$6.class | Bin 0 -> 748 bytes .../classes/javaapplication1/GeniGUI$7.class | Bin 0 -> 552 bytes .../classes/javaapplication1/GeniGUI.class | Bin 0 -> 10671 bytes .../javaapplication1/GuiComponent.class | Bin 0 -> 1573 bytes .../javaapplication1/PanelFiller.class | Bin 0 -> 7338 bytes .../classes/javaapplication1/RecordInfo.class | Bin 0 -> 878 bytes .../javaapplication1/SpringUtilities.class | Bin 0 -> 4280 bytes .../build/classes/javaapplication1/User.class | Bin 0 -> 1092 bytes gui/JavaApplication1/certutil.py | 25 + gui/JavaApplication1/client_keiko/acc_file | 52 + .../client_keiko/clientstub.py | 104 ++ gui/JavaApplication1/client_keiko/cred_file | 59 + gui/JavaApplication1/client_keiko/keiko.cert | 11 + gui/JavaApplication1/client_keiko/keiko.pkey | 15 + .../client_keiko/trusted_certs/geni_mng.cert | 11 + .../client_keiko/trusted_certs/geni_slc.cert | 11 + .../trusted_certs/planetlab_mng.cert | 11 + .../trusted_certs/planetlab_slc.cert | 11 + gui/JavaApplication1/client_osaka/acc_file | 39 + .../client_osaka/clientstub.py | 154 ++ gui/JavaApplication1/client_osaka/cred_file | 44 + gui/JavaApplication1/client_osaka/osaka.cert | 11 + gui/JavaApplication1/client_osaka/osaka.pkey | 15 + .../client_osaka/trusted_certs/geni_mng.cert | 11 + .../client_osaka/trusted_certs/geni_slc.cert | 11 + .../trusted_certs/planetlab_mng.cert | 11 + .../trusted_certs/planetlab_slc.cert | 11 + .../dist/JavaApplication1.jar | Bin 0 -> 52319 bytes gui/JavaApplication1/dist/README.TXT | 31 + .../dist/lib/swing-layout-1.0.jar | Bin 0 -> 140545 bytes gui/JavaApplication1/manifest.mf | 3 + gui/JavaApplication1/nbproject/build-impl.xml | 541 ++++++ .../nbproject/genfiles.properties | 8 + .../nbproject/private/private.properties | 4 + .../nbproject/private/private.xml | 4 + .../nbproject/project.properties | 57 + gui/JavaApplication1/nbproject/project.xml | 16 + .../src/javaapplication1/DisplayHandle.java | 570 ++++++ .../src/javaapplication1/GeniGUI.form | 453 +++++ .../src/javaapplication1/GeniGUI.java | 452 +++++ .../src/javaapplication1/GuiComponent.java | 119 ++ .../src/javaapplication1/PanelFiller.java | 248 +++ .../src/javaapplication1/RecordInfo.java | 71 + .../src/javaapplication1/SpringUtilities.java | 224 +++ .../src/javaapplication1/User.java | 92 + gui/JavaApplication1/test/NewJFrame.form | 1037 +++++++++++ gui/JavaApplication1/test/NewJFrame.java | 1221 +++++++++++++ server/component/planetlab/acc_file | 13 + server/component/planetlab/buaa/buaa.cert | 11 + server/component/planetlab/buaa/buaa.pkey | 15 + .../component/planetlab/canarie/canarie.cert | 11 + .../component/planetlab/canarie/canarie.pkey | 15 + .../canariecalgary/canariecalgary.cert | 11 + .../canariecalgary/canariecalgary.pkey | 15 + .../canariehalifax/canariehalifax.cert | 11 + .../canariehalifax/canariehalifax.pkey | 15 + .../canariemontreal/canariemontreal.cert | 11 + .../canariemontreal/canariemontreal.pkey | 15 + .../canarieottawa/canarieottawa.cert | 11 + .../canarieottawa/canarieottawa.pkey | 15 + .../canarietoronto/canarietoronto.cert | 11 + .../canarietoronto/canarietoronto.pkey | 15 + .../canariewinnipeg/canariewinnipeg.cert | 11 + .../canariewinnipeg/canariewinnipeg.pkey | 15 + .../planetlab/canterbury/canterbury.cert | 11 + .../planetlab/canterbury/canterbury.pkey | 15 + .../planetlab/cernetbuaa/cernetbuaa.cert | 11 + .../planetlab/cernetbuaa/cernetbuaa.pkey | 15 + .../planetlab/cernetpku/cernetpku.cert | 11 + .../planetlab/cernetpku/cernetpku.pkey | 15 + .../planetlab/cernetsdu/cernetsdu.cert | 11 + .../planetlab/cernetsdu/cernetsdu.pkey | 15 + .../planetlab/cernetxjtu/cernetxjtu.cert | 11 + .../planetlab/cernetxjtu/cernetxjtu.pkey | 15 + .../planetlab/cernetxmu/cernetxmu.cert | 11 + .../planetlab/cernetxmu/cernetxmu.pkey | 15 + .../planetlab/cernetzju/cernetzju.cert | 11 + .../planetlab/cernetzju/cernetzju.pkey | 15 + server/component/planetlab/cred_file | 14 + .../planetlab/equinixsi/equinixsi.cert | 11 + .../planetlab/equinixsi/equinixsi.pkey | 15 + .../component/planetlab/eu/aston/aston.cert | 11 + .../component/planetlab/eu/aston/aston.pkey | 15 + .../planetlab/eu/bamberg/bamberg.cert | 11 + .../planetlab/eu/bamberg/bamberg.pkey | 15 + .../component/planetlab/eu/basel/basel.cert | 11 + .../component/planetlab/eu/basel/basel.pkey | 15 + .../planetlab/eu/budapest/budapest.cert | 11 + .../planetlab/eu/budapest/budapest.pkey | 15 + .../component/planetlab/eu/cesnet/cesnet.cert | 11 + .../component/planetlab/eu/cesnet/cesnet.pkey | 15 + server/component/planetlab/eu/enst/enst.cert | 11 + server/component/planetlab/eu/enst/enst.pkey | 15 + .../component/planetlab/eu/ethzcs/ethzcs.cert | 11 + .../component/planetlab/eu/ethzcs/ethzcs.pkey | 15 + server/component/planetlab/eu/eu.cert | 11 + server/component/planetlab/eu/eu.pkey | 15 + .../planetlab/eu/eurecom/eurecom.cert | 11 + .../planetlab/eu/eurecom/eurecom.pkey | 15 + .../component/planetlab/eu/fokus/fokus.cert | 11 + .../component/planetlab/eu/fokus/fokus.pkey | 15 + server/component/planetlab/eu/hawh/hawh.cert | 11 + server/component/planetlab/eu/hawh/hawh.pkey | 15 + .../component/planetlab/eu/inria/inria.cert | 11 + .../component/planetlab/eu/inria/inria.pkey | 15 + .../component/planetlab/eu/irisa/irisa.cert | 11 + .../component/planetlab/eu/irisa/irisa.pkey | 15 + .../planetlab/eu/konstanz/konstanz.cert | 11 + .../planetlab/eu/konstanz/konstanz.pkey | 15 + .../component/planetlab/eu/lisbon/lisbon.cert | 11 + .../component/planetlab/eu/lisbon/lisbon.pkey | 15 + .../planetlab/eu/moscowstate/moscowstate.cert | 11 + .../planetlab/eu/moscowstate/moscowstate.pkey | 15 + .../planetlab/eu/msuchem/msuchem.cert | 11 + .../planetlab/eu/msuchem/msuchem.pkey | 15 + server/component/planetlab/eu/tcd/tcd.cert | 11 + server/component/planetlab/eu/tcd/tcd.pkey | 15 + .../component/planetlab/eu/univie/univie.cert | 11 + .../component/planetlab/eu/univie/univie.pkey | 15 + .../component/planetlab/eu/unizh/unizh.cert | 11 + .../component/planetlab/eu/unizh/unizh.pkey | 15 + server/component/planetlab/eu/upb/upb.cert | 11 + server/component/planetlab/eu/upb/upb.pkey | 15 + server/component/planetlab/fing/fing.cert | 11 + server/component/planetlab/fing/fing.pkey | 15 + server/component/planetlab/haifa/haifa.cert | 11 + server/component/planetlab/haifa/haifa.pkey | 15 + .../component/planetlab/icavite/icavite.cert | 11 + .../component/planetlab/icavite/icavite.pkey | 15 + server/component/planetlab/ihaifa/ihaifa.cert | 11 + server/component/planetlab/ihaifa/ihaifa.pkey | 15 + server/component/planetlab/iitr/iitr.cert | 11 + server/component/planetlab/iitr/iitr.pkey | 15 + .../planetlab/ileixlip/ileixlip.cert | 11 + .../planetlab/ileixlip/ileixlip.pkey | 15 + .../component/planetlab/jp/jaist/jaist.cert | 11 + .../component/planetlab/jp/jaist/jaist.pkey | 15 + server/component/planetlab/jp/jp.cert | 11 + server/component/planetlab/jp/jp.pkey | 15 + server/component/planetlab/jp/keio/keio.cert | 11 + server/component/planetlab/jp/keio/keio.pkey | 15 + .../component/planetlab/jp/naist/naist.cert | 11 + .../component/planetlab/jp/naist/naist.pkey | 15 + server/component/planetlab/jp/nict/nict.cert | 11 + server/component/planetlab/jp/nict/nict.pkey | 15 + .../component/planetlab/jp/osaka/osaka.cert | 11 + .../component/planetlab/jp/osaka/osaka.pkey | 15 + .../jp/plcolojgnfukuoka/plcolojgnfukuoka.cert | 11 + .../jp/plcolojgnfukuoka/plcolojgnfukuoka.pkey | 15 + .../plcolojgnhiroshima.cert | 11 + .../plcolojgnhiroshima.pkey | 15 + .../jp/plcolojgnkochi/plcolojgnkochi.cert | 11 + .../jp/plcolojgnkochi/plcolojgnkochi.pkey | 15 + .../jp/plcolojgnnagoya/plcolojgnnagoya.cert | 11 + .../jp/plcolojgnnagoya/plcolojgnnagoya.pkey | 15 + .../jp/plcolojgnokayama/plcolojgnokayama.cert | 11 + .../jp/plcolojgnokayama/plcolojgnokayama.pkey | 15 + .../jp/plcolojgnosaka/plcolojgnosaka.cert | 11 + .../jp/plcolojgnosaka/plcolojgnosaka.pkey | 15 + .../jp/plcolojgnsendai/plcolojgnsendai.cert | 11 + .../jp/plcolojgnsendai/plcolojgnsendai.pkey | 15 + .../jp/plcolotpgdansk/plcolotpgdansk.cert | 11 + .../jp/plcolotpgdansk/plcolotpgdansk.pkey | 15 + .../jp/plcolotppiotrkow/plcolotppiotrkow.cert | 11 + .../jp/plcolotppiotrkow/plcolotppiotrkow.pkey | 15 + .../jp/plcolotppoznan/plcolotppoznan.cert | 11 + .../jp/plcolotppoznan/plcolotppoznan.pkey | 15 + .../component/planetlab/jp/utokyo/utokyo.cert | 11 + .../component/planetlab/jp/utokyo/utokyo.pkey | 15 + .../component/planetlab/jp/waseda/waseda.cert | 11 + .../component/planetlab/jp/waseda/waseda.pkey | 15 + server/component/planetlab/jp/wide/wide.cert | 11 + server/component/planetlab/jp/wide/wide.pkey | 15 + server/component/planetlab/ntu/ntu.cert | 11 + server/component/planetlab/ntu/ntu.pkey | 15 + server/component/planetlab/planetlab.cert | 11 + server/component/planetlab/planetlab.pkey | 15 + server/component/planetlab/qub/qub.cert | 11 + server/component/planetlab/qub/qub.pkey | 15 + .../planetlab/snummlab/snummlab.cert | 11 + .../planetlab/snummlab/snummlab.pkey | 15 + server/component/planetlab/sydney/sydney.cert | 11 + server/component/planetlab/sydney/sydney.pkey | 15 + server/component/planetlab/tau/tau.cert | 11 + server/component/planetlab/tau/tau.pkey | 15 + server/component/planetlab/ula/ula.cert | 11 + server/component/planetlab/ula/ula.pkey | 15 + .../component/planetlab/unioslo/unioslo.cert | 11 + .../component/planetlab/unioslo/unioslo.pkey | 15 + server/component/planetlab/us/att/att.cert | 11 + server/component/planetlab/us/att/att.pkey | 15 + server/component/planetlab/us/aub/aub.cert | 11 + server/component/planetlab/us/aub/aub.pkey | 15 + .../component/planetlab/us/brown/brown.cert | 11 + .../component/planetlab/us/brown/brown.pkey | 15 + server/component/planetlab/us/bu/bu.cert | 11 + server/component/planetlab/us/bu/bu.pkey | 15 + server/component/planetlab/us/ccny/ccny.cert | 11 + server/component/planetlab/us/ccny/ccny.pkey | 15 + .../planetlab/us/cernetneu/cernetneu.cert | 11 + .../planetlab/us/cernetneu/cernetneu.pkey | 15 + .../planetlab/us/colorado/colorado.cert | 11 + .../planetlab/us/colorado/colorado.pkey | 15 + .../planetlab/us/columbia/columbia.cert | 11 + .../planetlab/us/columbia/columbia.pkey | 15 + server/component/planetlab/us/irp/irp.cert | 11 + server/component/planetlab/us/irp/irp.pkey | 15 + .../component/planetlab/us/jhuis/jhuis.cert | 11 + .../component/planetlab/us/jhuis/jhuis.pkey | 15 + .../planetlab/us/michigan/michigan.cert | 11 + .../planetlab/us/michigan/michigan.pkey | 15 + .../us/northwestern/northwestern.cert | 11 + .../us/northwestern/northwestern.pkey | 15 + .../component/planetlab/us/orbit/orbit.cert | 11 + .../component/planetlab/us/orbit/orbit.pkey | 15 + server/component/planetlab/us/rice/rice.cert | 11 + server/component/planetlab/us/rice/rice.pkey | 15 + server/component/planetlab/us/rpi/rpi.cert | 11 + server/component/planetlab/us/rpi/rpi.pkey | 15 + .../planetlab/us/stevens/stevens.cert | 11 + .../planetlab/us/stevens/stevens.pkey | 15 + server/component/planetlab/us/tky/tky.cert | 11 + server/component/planetlab/us/tky/tky.pkey | 15 + server/component/planetlab/us/ucd/ucd.cert | 11 + server/component/planetlab/us/ucd/ucd.pkey | 15 + server/component/planetlab/us/uci/uci.cert | 11 + server/component/planetlab/us/uci/uci.pkey | 15 + server/component/planetlab/us/ucla/ucla.cert | 11 + server/component/planetlab/us/ucla/ucla.pkey | 15 + .../component/planetlab/us/uclaee/uclaee.cert | 11 + .../component/planetlab/us/uclaee/uclaee.pkey | 15 + server/component/planetlab/us/us.cert | 11 + server/component/planetlab/us/us.pkey | 15 + server/component/planetlab/us/utah/utah.cert | 11 + server/component/planetlab/us/utah/utah.pkey | 15 + .../component/planetlab/us/utxsa/utxsa.cert | 11 + .../component/planetlab/us/utxsa/utxsa.pkey | 15 + server/component/planetlab/us/uvic/uvic.cert | 11 + server/component/planetlab/us/uvic/uvic.pkey | 15 + .../us/uwaccretivedsl/uwaccretivedsl.cert | 11 + .../us/uwaccretivedsl/uwaccretivedsl.pkey | 15 + .../planetlab/us/vanderbilt/vanderbilt.cert | 11 + .../planetlab/us/vanderbilt/vanderbilt.pkey | 15 + server/interface_tree_cr | 97 ++ server/interface_tree_cr_dict | 1 + server/interface_tree_sr | 97 ++ server/interface_tree_sr_dict | 1 + server/jpywork/PathVFS$_PyInner.class | Bin 0 -> 7997 bytes server/jpywork/PathVFS.class | Bin 0 -> 2487 bytes server/jpywork/PathVFS.java | 287 +++ server/jpywork/SocketServer$_PyInner.class | Bin 0 -> 27870 bytes server/jpywork/SocketServer.class | Bin 0 -> 2497 bytes server/jpywork/SocketServer.java | 1048 +++++++++++ server/jpywork/StringIO$_PyInner.class | Bin 0 -> 13344 bytes server/jpywork/StringIO.class | Bin 0 -> 2489 bytes server/jpywork/StringIO.java | 507 ++++++ server/jpywork/UserDict$_PyInner.class | Bin 0 -> 7456 bytes server/jpywork/UserDict.class | Bin 0 -> 2489 bytes server/jpywork/UserDict.java | 258 +++ server/jpywork/atexit$_PyInner.class | Bin 0 -> 5853 bytes server/jpywork/atexit.class | Bin 0 -> 2485 bytes server/jpywork/atexit.java | 185 ++ server/jpywork/calendar$_PyInner.class | Bin 0 -> 18283 bytes server/jpywork/calendar.class | Bin 0 -> 2489 bytes server/jpywork/calendar.java | 651 +++++++ server/jpywork/copy$_PyInner.class | Bin 0 -> 17997 bytes server/jpywork/copy.class | Bin 0 -> 2481 bytes server/jpywork/copy.java | 722 ++++++++ server/jpywork/copy_reg$_PyInner.class | Bin 0 -> 4626 bytes server/jpywork/copy_reg.class | Bin 0 -> 2489 bytes server/jpywork/copy_reg.java | 123 ++ server/jpywork/javaos$_PyInner.class | Bin 0 -> 31551 bytes server/jpywork/javaos.class | Bin 0 -> 2485 bytes server/jpywork/javaos.java | 1098 ++++++++++++ server/jpywork/javapath$_PyInner.class | Bin 0 -> 18115 bytes server/jpywork/javapath.class | Bin 0 -> 2489 bytes server/jpywork/javapath.java | 719 ++++++++ server/jpywork/linecache$_PyInner.class | Bin 0 -> 7185 bytes server/jpywork/linecache.class | Bin 0 -> 2491 bytes server/jpywork/linecache.java | 255 +++ server/jpywork/random$_PyInner.class | Bin 0 -> 30716 bytes server/jpywork/random.class | Bin 0 -> 2485 bytes server/jpywork/random.java | 1087 ++++++++++++ server/jpywork/re$_PyInner.class | Bin 0 -> 3685 bytes server/jpywork/re.class | Bin 0 -> 2477 bytes server/jpywork/re.java | 115 ++ server/jpywork/repr$_PyInner.class | Bin 0 -> 9893 bytes server/jpywork/repr.class | Bin 0 -> 2481 bytes server/jpywork/repr.java | 354 ++++ server/jpywork/server$_PyInner.class | Bin 0 -> 34592 bytes server/jpywork/server.class | Bin 0 -> 2485 bytes server/jpywork/server.java | 1188 +++++++++++++ server/jpywork/socket$_PyInner.class | Bin 0 -> 20861 bytes server/jpywork/socket.class | Bin 0 -> 2485 bytes server/jpywork/socket.java | 840 +++++++++ server/jpywork/sre$_PyInner.class | Bin 0 -> 17011 bytes server/jpywork/sre.class | Bin 0 -> 2479 bytes server/jpywork/sre.java | 602 +++++++ server/jpywork/sre_compile$_PyInner.class | Bin 0 -> 17124 bytes server/jpywork/sre_compile.class | Bin 0 -> 2495 bytes server/jpywork/sre_compile.java | 710 ++++++++ server/jpywork/sre_constants$_PyInner.class | Bin 0 -> 14414 bytes server/jpywork/sre_constants.class | Bin 0 -> 2499 bytes server/jpywork/sre_constants.java | 407 +++++ server/jpywork/sre_parse$_PyInner.class | Bin 0 -> 34820 bytes server/jpywork/sre_parse.class | Bin 0 -> 2491 bytes server/jpywork/sre_parse.java | 1544 +++++++++++++++++ server/jpywork/stat$_PyInner.class | Bin 0 -> 6005 bytes server/jpywork/stat.class | Bin 0 -> 2481 bytes server/jpywork/stat.java | 233 +++ server/jpywork/string$_PyInner.class | Bin 0 -> 20070 bytes server/jpywork/string.class | Bin 0 -> 2485 bytes server/jpywork/string.java | 758 ++++++++ server/jpywork/threading$_PyInner.class | Bin 0 -> 34479 bytes server/jpywork/threading.class | Bin 0 -> 2491 bytes server/jpywork/threading.java | 1462 ++++++++++++++++ server/jpywork/traceback$_PyInner.class | Bin 0 -> 18932 bytes server/jpywork/traceback.class | Bin 0 -> 2491 bytes server/jpywork/traceback.java | 712 ++++++++ server/jpywork/util$_PyInner.class | Bin 0 -> 6142 bytes server/jpywork/util.class | Bin 0 -> 2481 bytes server/jpywork/util.java | 192 ++ server/jpywork/yapm$YaPM.class | Bin 0 -> 6800 bytes server/jpywork/yapm$_PyInner.class | Bin 0 -> 6645 bytes server/jpywork/yapm.class | Bin 0 -> 2583 bytes server/jpywork/yapm.java | 367 ++++ server/keycreator/prog.py | 48 + server/server.py | 725 ++++++++ server/server.pyc | Bin 0 -> 16839 bytes server/serverprj.e3p | 39 + server/serverprj.e3t | 6 + server/slice/planetlab/acc_file | 13 + server/slice/planetlab/buaa/buaa.cert | 11 + server/slice/planetlab/buaa/buaa.pkey | 15 + server/slice/planetlab/canarie/canarie.cert | 11 + server/slice/planetlab/canarie/canarie.pkey | 15 + .../canariecalgary/canariecalgary.cert | 11 + .../canariecalgary/canariecalgary.pkey | 15 + .../canariehalifax/canariehalifax.cert | 11 + .../canariehalifax/canariehalifax.pkey | 15 + .../canariemontreal/canariemontreal.cert | 11 + .../canariemontreal/canariemontreal.pkey | 15 + .../canarieottawa/canarieottawa.cert | 11 + .../canarieottawa/canarieottawa.pkey | 15 + .../canarietoronto/canarietoronto.cert | 11 + .../canarietoronto/canarietoronto.pkey | 15 + .../canariewinnipeg/canariewinnipeg.cert | 11 + .../canariewinnipeg/canariewinnipeg.pkey | 15 + .../planetlab/canterbury/canterbury.cert | 11 + .../planetlab/canterbury/canterbury.pkey | 15 + .../planetlab/cernetbuaa/cernetbuaa.cert | 11 + .../planetlab/cernetbuaa/cernetbuaa.pkey | 15 + .../slice/planetlab/cernetpku/cernetpku.cert | 11 + .../slice/planetlab/cernetpku/cernetpku.pkey | 15 + .../slice/planetlab/cernetsdu/cernetsdu.cert | 11 + .../slice/planetlab/cernetsdu/cernetsdu.pkey | 15 + .../planetlab/cernetxjtu/cernetxjtu.cert | 11 + .../planetlab/cernetxjtu/cernetxjtu.pkey | 15 + .../slice/planetlab/cernetxmu/cernetxmu.cert | 11 + .../slice/planetlab/cernetxmu/cernetxmu.pkey | 15 + .../slice/planetlab/cernetzju/cernetzju.cert | 11 + .../slice/planetlab/cernetzju/cernetzju.pkey | 15 + server/slice/planetlab/cred_file | 14 + .../slice/planetlab/equinixsi/equinixsi.cert | 11 + .../slice/planetlab/equinixsi/equinixsi.pkey | 15 + server/slice/planetlab/eu/aston/aston.cert | 11 + server/slice/planetlab/eu/aston/aston.pkey | 15 + .../slice/planetlab/eu/bamberg/bamberg.cert | 11 + .../slice/planetlab/eu/bamberg/bamberg.pkey | 15 + server/slice/planetlab/eu/basel/basel.cert | 11 + server/slice/planetlab/eu/basel/basel.pkey | 15 + .../slice/planetlab/eu/budapest/budapest.cert | 11 + .../slice/planetlab/eu/budapest/budapest.pkey | 15 + server/slice/planetlab/eu/cesnet/cesnet.cert | 11 + server/slice/planetlab/eu/cesnet/cesnet.pkey | 15 + server/slice/planetlab/eu/enst/enst.cert | 11 + server/slice/planetlab/eu/enst/enst.pkey | 15 + server/slice/planetlab/eu/ethzcs/ethzcs.cert | 11 + server/slice/planetlab/eu/ethzcs/ethzcs.pkey | 15 + server/slice/planetlab/eu/eu.cert | 11 + server/slice/planetlab/eu/eu.pkey | 15 + .../slice/planetlab/eu/eurecom/eurecom.cert | 11 + .../slice/planetlab/eu/eurecom/eurecom.pkey | 15 + server/slice/planetlab/eu/fokus/fokus.cert | 11 + server/slice/planetlab/eu/fokus/fokus.pkey | 15 + server/slice/planetlab/eu/hawh/hawh.cert | 11 + server/slice/planetlab/eu/hawh/hawh.pkey | 15 + server/slice/planetlab/eu/inria/inria.cert | 11 + server/slice/planetlab/eu/inria/inria.pkey | 15 + server/slice/planetlab/eu/irisa/irisa.cert | 11 + server/slice/planetlab/eu/irisa/irisa.pkey | 15 + .../slice/planetlab/eu/konstanz/konstanz.cert | 11 + .../slice/planetlab/eu/konstanz/konstanz.pkey | 15 + server/slice/planetlab/eu/lisbon/lisbon.cert | 11 + server/slice/planetlab/eu/lisbon/lisbon.pkey | 15 + .../planetlab/eu/moscowstate/moscowstate.cert | 11 + .../planetlab/eu/moscowstate/moscowstate.pkey | 15 + .../slice/planetlab/eu/msuchem/msuchem.cert | 11 + .../slice/planetlab/eu/msuchem/msuchem.pkey | 15 + server/slice/planetlab/eu/tcd/tcd.cert | 11 + server/slice/planetlab/eu/tcd/tcd.pkey | 15 + server/slice/planetlab/eu/univie/univie.cert | 11 + server/slice/planetlab/eu/univie/univie.pkey | 15 + server/slice/planetlab/eu/unizh/unizh.cert | 11 + server/slice/planetlab/eu/unizh/unizh.pkey | 15 + server/slice/planetlab/eu/upb/upb.cert | 11 + server/slice/planetlab/eu/upb/upb.pkey | 15 + server/slice/planetlab/fing/fing.cert | 11 + server/slice/planetlab/fing/fing.pkey | 15 + server/slice/planetlab/haifa/haifa.cert | 11 + server/slice/planetlab/haifa/haifa.pkey | 15 + server/slice/planetlab/icavite/icavite.cert | 11 + server/slice/planetlab/icavite/icavite.pkey | 15 + server/slice/planetlab/ihaifa/ihaifa.cert | 11 + server/slice/planetlab/ihaifa/ihaifa.pkey | 15 + server/slice/planetlab/iitr/iitr.cert | 11 + server/slice/planetlab/iitr/iitr.pkey | 15 + server/slice/planetlab/ileixlip/ileixlip.cert | 11 + server/slice/planetlab/ileixlip/ileixlip.pkey | 15 + server/slice/planetlab/jp/acc_file | 26 + server/slice/planetlab/jp/cred_file | 29 + server/slice/planetlab/jp/jaist/jaist.cert | 11 + server/slice/planetlab/jp/jaist/jaist.pkey | 15 + server/slice/planetlab/jp/jp.cert | 11 + server/slice/planetlab/jp/jp.pkey | 15 + server/slice/planetlab/jp/keio/acc_file | 39 + server/slice/planetlab/jp/keio/cred_file | 44 + server/slice/planetlab/jp/keio/keio.cert | 11 + server/slice/planetlab/jp/keio/keio.pkey | 15 + server/slice/planetlab/jp/naist/naist.cert | 11 + server/slice/planetlab/jp/naist/naist.pkey | 15 + server/slice/planetlab/jp/nict/nict.cert | 11 + server/slice/planetlab/jp/nict/nict.pkey | 15 + server/slice/planetlab/jp/osaka/acc_file | 39 + server/slice/planetlab/jp/osaka/osaka.cert | 11 + server/slice/planetlab/jp/osaka/osaka.pkey | 15 + .../jp/osaka/tokyobranch/tokyobranch.cert | 11 + .../jp/osaka/tokyobranch/tokyobranch.pkey | 15 + .../jp/osaka/tokyobranch2/tokyobranch2.cert | 11 + .../jp/osaka/tokyobranch2/tokyobranch2.pkey | 15 + .../jp/osaka/tokyobranchty/tokyobranchty.cert | 11 + .../jp/osaka/tokyobranchty/tokyobranchty.pkey | 15 + .../jp/plcolojgnfukuoka/plcolojgnfukuoka.cert | 11 + .../jp/plcolojgnfukuoka/plcolojgnfukuoka.pkey | 15 + .../plcolojgnhiroshima.cert | 11 + .../plcolojgnhiroshima.pkey | 15 + .../jp/plcolojgnkochi/plcolojgnkochi.cert | 11 + .../jp/plcolojgnkochi/plcolojgnkochi.pkey | 15 + .../jp/plcolojgnnagoya/plcolojgnnagoya.cert | 11 + .../jp/plcolojgnnagoya/plcolojgnnagoya.pkey | 15 + .../jp/plcolojgnokayama/plcolojgnokayama.cert | 11 + .../jp/plcolojgnokayama/plcolojgnokayama.pkey | 15 + .../jp/plcolojgnosaka/plcolojgnosaka.cert | 11 + .../jp/plcolojgnosaka/plcolojgnosaka.pkey | 15 + .../jp/plcolojgnsendai/plcolojgnsendai.cert | 11 + .../jp/plcolojgnsendai/plcolojgnsendai.pkey | 15 + .../jp/plcolotpgdansk/plcolotpgdansk.cert | 11 + .../jp/plcolotpgdansk/plcolotpgdansk.pkey | 15 + .../jp/plcolotppiotrkow/plcolotppiotrkow.cert | 11 + .../jp/plcolotppiotrkow/plcolotppiotrkow.pkey | 15 + .../jp/plcolotppoznan/plcolotppoznan.cert | 11 + .../jp/plcolotppoznan/plcolotppoznan.pkey | 15 + server/slice/planetlab/jp/utokyo/utokyo.cert | 11 + server/slice/planetlab/jp/utokyo/utokyo.pkey | 15 + server/slice/planetlab/jp/waseda/waseda.cert | 11 + server/slice/planetlab/jp/waseda/waseda.pkey | 15 + server/slice/planetlab/jp/wide/wide.cert | 11 + server/slice/planetlab/jp/wide/wide.pkey | 15 + server/slice/planetlab/ntu/ntu.cert | 11 + server/slice/planetlab/ntu/ntu.pkey | 15 + server/slice/planetlab/planetlab.cert | 11 + server/slice/planetlab/planetlab.pkey | 15 + server/slice/planetlab/qub/qub.cert | 11 + server/slice/planetlab/qub/qub.pkey | 15 + server/slice/planetlab/snummlab/snummlab.cert | 11 + server/slice/planetlab/snummlab/snummlab.pkey | 15 + server/slice/planetlab/sydney/sydney.cert | 11 + server/slice/planetlab/sydney/sydney.pkey | 15 + server/slice/planetlab/tau/tau.cert | 11 + server/slice/planetlab/tau/tau.pkey | 15 + server/slice/planetlab/ula/ula.cert | 11 + server/slice/planetlab/ula/ula.pkey | 15 + server/slice/planetlab/unioslo/unioslo.cert | 11 + server/slice/planetlab/unioslo/unioslo.pkey | 15 + server/slice/planetlab/us/att/att.cert | 11 + server/slice/planetlab/us/att/att.pkey | 15 + server/slice/planetlab/us/aub/aub.cert | 11 + server/slice/planetlab/us/aub/aub.pkey | 15 + server/slice/planetlab/us/brown/brown.cert | 11 + server/slice/planetlab/us/brown/brown.pkey | 15 + server/slice/planetlab/us/bu/bu.cert | 11 + server/slice/planetlab/us/bu/bu.pkey | 15 + server/slice/planetlab/us/ccny/ccny.cert | 11 + server/slice/planetlab/us/ccny/ccny.pkey | 15 + .../planetlab/us/cernetneu/cernetneu.cert | 11 + .../planetlab/us/cernetneu/cernetneu.pkey | 15 + .../slice/planetlab/us/colorado/colorado.cert | 11 + .../slice/planetlab/us/colorado/colorado.pkey | 15 + .../slice/planetlab/us/columbia/columbia.cert | 11 + .../slice/planetlab/us/columbia/columbia.pkey | 15 + server/slice/planetlab/us/irp/irp.cert | 11 + server/slice/planetlab/us/irp/irp.pkey | 15 + server/slice/planetlab/us/jhuis/jhuis.cert | 11 + server/slice/planetlab/us/jhuis/jhuis.pkey | 15 + .../slice/planetlab/us/michigan/michigan.cert | 11 + .../slice/planetlab/us/michigan/michigan.pkey | 15 + .../us/northwestern/northwestern.cert | 11 + .../us/northwestern/northwestern.pkey | 15 + server/slice/planetlab/us/orbit/orbit.cert | 11 + server/slice/planetlab/us/orbit/orbit.pkey | 15 + server/slice/planetlab/us/rice/rice.cert | 11 + server/slice/planetlab/us/rice/rice.pkey | 15 + server/slice/planetlab/us/rpi/rpi.cert | 11 + server/slice/planetlab/us/rpi/rpi.pkey | 15 + .../slice/planetlab/us/stevens/stevens.cert | 11 + .../slice/planetlab/us/stevens/stevens.pkey | 15 + server/slice/planetlab/us/tky/tky.cert | 11 + server/slice/planetlab/us/tky/tky.pkey | 15 + server/slice/planetlab/us/ucd/ucd.cert | 11 + server/slice/planetlab/us/ucd/ucd.pkey | 15 + server/slice/planetlab/us/uci/uci.cert | 11 + server/slice/planetlab/us/uci/uci.pkey | 15 + server/slice/planetlab/us/ucla/ucla.cert | 11 + server/slice/planetlab/us/ucla/ucla.pkey | 15 + server/slice/planetlab/us/uclaee/uclaee.cert | 11 + server/slice/planetlab/us/uclaee/uclaee.pkey | 15 + server/slice/planetlab/us/us.cert | 11 + server/slice/planetlab/us/us.pkey | 15 + server/slice/planetlab/us/utah/utah.cert | 11 + server/slice/planetlab/us/utah/utah.pkey | 15 + server/slice/planetlab/us/utxsa/utxsa.cert | 11 + server/slice/planetlab/us/utxsa/utxsa.pkey | 15 + server/slice/planetlab/us/uvic/uvic.cert | 11 + server/slice/planetlab/us/uvic/uvic.pkey | 15 + .../us/uwaccretivedsl/uwaccretivedsl.cert | 11 + .../us/uwaccretivedsl/uwaccretivedsl.pkey | 15 + .../planetlab/us/vanderbilt/vanderbilt.cert | 11 + .../planetlab/us/vanderbilt/vanderbilt.pkey | 15 + server/trusted_certs/geni_mng.cert | 11 + server/trusted_certs/geni_slc.cert | 11 + server/trusted_certs/planetlab_mng.cert | 11 + server/trusted_certs/planetlab_slc.cert | 11 + util/db.py | 81 + util/db.pyc | Bin 0 -> 2659 bytes util/excep.py | 42 + util/excep.pyc | Bin 0 -> 3020 bytes util/pl_to_geni.py | 174 ++ util/pl_to_geni.pyc | Bin 0 -> 5987 bytes util/sec/certgen.py | 111 ++ util/sec/certgen.pyc | Bin 0 -> 4119 bytes util/sec/certgen2.py | 368 ++++ util/sec/certgen_m2crypto.py | 20 + util/sec/certs/den.py | 43 + util/sec/certs/gen.py | 57 + util/sec/certs/jp.cert | 11 + util/sec/certs/jp.pkey | 15 + util/sec/certs/planetlab.cert | 11 + util/sec/certs/planetlab.pkey | 15 + util/sec/certs/usersoner.cert | 11 + util/sec/sec.py | 658 +++++++ util/sec/sec.pyc | Bin 0 -> 18124 bytes util/tree.py | 447 +++++ util/tree.pyc | Bin 0 -> 13636 bytes util/util.py | 69 + util/util.pyc | Bin 0 -> 2136 bytes 574 files changed, 30805 insertions(+) create mode 100644 gui/JavaApplication1/build.xml create mode 100644 gui/JavaApplication1/build/classes/javaapplication1/DisplayHandle$1$1.class create mode 100644 gui/JavaApplication1/build/classes/javaapplication1/DisplayHandle$1.class create mode 100644 gui/JavaApplication1/build/classes/javaapplication1/DisplayHandle.class create mode 100644 gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$1.class create mode 100644 gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$2.class create mode 100644 gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$3.class create mode 100644 gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$4.class create mode 100644 gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$5.class create mode 100644 gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$6.class create mode 100644 gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$7.class create mode 100644 gui/JavaApplication1/build/classes/javaapplication1/GeniGUI.class create mode 100644 gui/JavaApplication1/build/classes/javaapplication1/GuiComponent.class create mode 100644 gui/JavaApplication1/build/classes/javaapplication1/PanelFiller.class create mode 100644 gui/JavaApplication1/build/classes/javaapplication1/RecordInfo.class create mode 100644 gui/JavaApplication1/build/classes/javaapplication1/SpringUtilities.class create mode 100644 gui/JavaApplication1/build/classes/javaapplication1/User.class create mode 100755 gui/JavaApplication1/certutil.py create mode 100644 gui/JavaApplication1/client_keiko/acc_file create mode 100755 gui/JavaApplication1/client_keiko/clientstub.py create mode 100644 gui/JavaApplication1/client_keiko/cred_file create mode 100644 gui/JavaApplication1/client_keiko/keiko.cert create mode 100644 gui/JavaApplication1/client_keiko/keiko.pkey create mode 100644 gui/JavaApplication1/client_keiko/trusted_certs/geni_mng.cert create mode 100644 gui/JavaApplication1/client_keiko/trusted_certs/geni_slc.cert create mode 100644 gui/JavaApplication1/client_keiko/trusted_certs/planetlab_mng.cert create mode 100644 gui/JavaApplication1/client_keiko/trusted_certs/planetlab_slc.cert create mode 100644 gui/JavaApplication1/client_osaka/acc_file create mode 100755 gui/JavaApplication1/client_osaka/clientstub.py create mode 100644 gui/JavaApplication1/client_osaka/cred_file create mode 100644 gui/JavaApplication1/client_osaka/osaka.cert create mode 100644 gui/JavaApplication1/client_osaka/osaka.pkey create mode 100644 gui/JavaApplication1/client_osaka/trusted_certs/geni_mng.cert create mode 100644 gui/JavaApplication1/client_osaka/trusted_certs/geni_slc.cert create mode 100644 gui/JavaApplication1/client_osaka/trusted_certs/planetlab_mng.cert create mode 100644 gui/JavaApplication1/client_osaka/trusted_certs/planetlab_slc.cert create mode 100644 gui/JavaApplication1/dist/JavaApplication1.jar create mode 100644 gui/JavaApplication1/dist/README.TXT create mode 100644 gui/JavaApplication1/dist/lib/swing-layout-1.0.jar create mode 100644 gui/JavaApplication1/manifest.mf create mode 100644 gui/JavaApplication1/nbproject/build-impl.xml create mode 100644 gui/JavaApplication1/nbproject/genfiles.properties create mode 100644 gui/JavaApplication1/nbproject/private/private.properties create mode 100644 gui/JavaApplication1/nbproject/private/private.xml create mode 100644 gui/JavaApplication1/nbproject/project.properties create mode 100644 gui/JavaApplication1/nbproject/project.xml create mode 100644 gui/JavaApplication1/src/javaapplication1/DisplayHandle.java create mode 100644 gui/JavaApplication1/src/javaapplication1/GeniGUI.form create mode 100644 gui/JavaApplication1/src/javaapplication1/GeniGUI.java create mode 100644 gui/JavaApplication1/src/javaapplication1/GuiComponent.java create mode 100644 gui/JavaApplication1/src/javaapplication1/PanelFiller.java create mode 100644 gui/JavaApplication1/src/javaapplication1/RecordInfo.java create mode 100644 gui/JavaApplication1/src/javaapplication1/SpringUtilities.java create mode 100644 gui/JavaApplication1/src/javaapplication1/User.java create mode 100644 gui/JavaApplication1/test/NewJFrame.form create mode 100644 gui/JavaApplication1/test/NewJFrame.java create mode 100644 server/component/planetlab/acc_file create mode 100644 server/component/planetlab/buaa/buaa.cert create mode 100644 server/component/planetlab/buaa/buaa.pkey create mode 100644 server/component/planetlab/canarie/canarie.cert create mode 100644 server/component/planetlab/canarie/canarie.pkey create mode 100644 server/component/planetlab/canariecalgary/canariecalgary.cert create mode 100644 server/component/planetlab/canariecalgary/canariecalgary.pkey create mode 100644 server/component/planetlab/canariehalifax/canariehalifax.cert create mode 100644 server/component/planetlab/canariehalifax/canariehalifax.pkey create mode 100644 server/component/planetlab/canariemontreal/canariemontreal.cert create mode 100644 server/component/planetlab/canariemontreal/canariemontreal.pkey create mode 100644 server/component/planetlab/canarieottawa/canarieottawa.cert create mode 100644 server/component/planetlab/canarieottawa/canarieottawa.pkey create mode 100644 server/component/planetlab/canarietoronto/canarietoronto.cert create mode 100644 server/component/planetlab/canarietoronto/canarietoronto.pkey create mode 100644 server/component/planetlab/canariewinnipeg/canariewinnipeg.cert create mode 100644 server/component/planetlab/canariewinnipeg/canariewinnipeg.pkey create mode 100644 server/component/planetlab/canterbury/canterbury.cert create mode 100644 server/component/planetlab/canterbury/canterbury.pkey create mode 100644 server/component/planetlab/cernetbuaa/cernetbuaa.cert create mode 100644 server/component/planetlab/cernetbuaa/cernetbuaa.pkey create mode 100644 server/component/planetlab/cernetpku/cernetpku.cert create mode 100644 server/component/planetlab/cernetpku/cernetpku.pkey create mode 100644 server/component/planetlab/cernetsdu/cernetsdu.cert create mode 100644 server/component/planetlab/cernetsdu/cernetsdu.pkey create mode 100644 server/component/planetlab/cernetxjtu/cernetxjtu.cert create mode 100644 server/component/planetlab/cernetxjtu/cernetxjtu.pkey create mode 100644 server/component/planetlab/cernetxmu/cernetxmu.cert create mode 100644 server/component/planetlab/cernetxmu/cernetxmu.pkey create mode 100644 server/component/planetlab/cernetzju/cernetzju.cert create mode 100644 server/component/planetlab/cernetzju/cernetzju.pkey create mode 100644 server/component/planetlab/cred_file create mode 100644 server/component/planetlab/equinixsi/equinixsi.cert create mode 100644 server/component/planetlab/equinixsi/equinixsi.pkey create mode 100644 server/component/planetlab/eu/aston/aston.cert create mode 100644 server/component/planetlab/eu/aston/aston.pkey create mode 100644 server/component/planetlab/eu/bamberg/bamberg.cert create mode 100644 server/component/planetlab/eu/bamberg/bamberg.pkey create mode 100644 server/component/planetlab/eu/basel/basel.cert create mode 100644 server/component/planetlab/eu/basel/basel.pkey create mode 100644 server/component/planetlab/eu/budapest/budapest.cert create mode 100644 server/component/planetlab/eu/budapest/budapest.pkey create mode 100644 server/component/planetlab/eu/cesnet/cesnet.cert create mode 100644 server/component/planetlab/eu/cesnet/cesnet.pkey create mode 100644 server/component/planetlab/eu/enst/enst.cert create mode 100644 server/component/planetlab/eu/enst/enst.pkey create mode 100644 server/component/planetlab/eu/ethzcs/ethzcs.cert create mode 100644 server/component/planetlab/eu/ethzcs/ethzcs.pkey create mode 100644 server/component/planetlab/eu/eu.cert create mode 100644 server/component/planetlab/eu/eu.pkey create mode 100644 server/component/planetlab/eu/eurecom/eurecom.cert create mode 100644 server/component/planetlab/eu/eurecom/eurecom.pkey create mode 100644 server/component/planetlab/eu/fokus/fokus.cert create mode 100644 server/component/planetlab/eu/fokus/fokus.pkey create mode 100644 server/component/planetlab/eu/hawh/hawh.cert create mode 100644 server/component/planetlab/eu/hawh/hawh.pkey create mode 100644 server/component/planetlab/eu/inria/inria.cert create mode 100644 server/component/planetlab/eu/inria/inria.pkey create mode 100644 server/component/planetlab/eu/irisa/irisa.cert create mode 100644 server/component/planetlab/eu/irisa/irisa.pkey create mode 100644 server/component/planetlab/eu/konstanz/konstanz.cert create mode 100644 server/component/planetlab/eu/konstanz/konstanz.pkey create mode 100644 server/component/planetlab/eu/lisbon/lisbon.cert create mode 100644 server/component/planetlab/eu/lisbon/lisbon.pkey create mode 100644 server/component/planetlab/eu/moscowstate/moscowstate.cert create mode 100644 server/component/planetlab/eu/moscowstate/moscowstate.pkey create mode 100644 server/component/planetlab/eu/msuchem/msuchem.cert create mode 100644 server/component/planetlab/eu/msuchem/msuchem.pkey create mode 100644 server/component/planetlab/eu/tcd/tcd.cert create mode 100644 server/component/planetlab/eu/tcd/tcd.pkey create mode 100644 server/component/planetlab/eu/univie/univie.cert create mode 100644 server/component/planetlab/eu/univie/univie.pkey create mode 100644 server/component/planetlab/eu/unizh/unizh.cert create mode 100644 server/component/planetlab/eu/unizh/unizh.pkey create mode 100644 server/component/planetlab/eu/upb/upb.cert create mode 100644 server/component/planetlab/eu/upb/upb.pkey create mode 100644 server/component/planetlab/fing/fing.cert create mode 100644 server/component/planetlab/fing/fing.pkey create mode 100644 server/component/planetlab/haifa/haifa.cert create mode 100644 server/component/planetlab/haifa/haifa.pkey create mode 100644 server/component/planetlab/icavite/icavite.cert create mode 100644 server/component/planetlab/icavite/icavite.pkey create mode 100644 server/component/planetlab/ihaifa/ihaifa.cert create mode 100644 server/component/planetlab/ihaifa/ihaifa.pkey create mode 100644 server/component/planetlab/iitr/iitr.cert create mode 100644 server/component/planetlab/iitr/iitr.pkey create mode 100644 server/component/planetlab/ileixlip/ileixlip.cert create mode 100644 server/component/planetlab/ileixlip/ileixlip.pkey create mode 100644 server/component/planetlab/jp/jaist/jaist.cert create mode 100644 server/component/planetlab/jp/jaist/jaist.pkey create mode 100644 server/component/planetlab/jp/jp.cert create mode 100644 server/component/planetlab/jp/jp.pkey create mode 100644 server/component/planetlab/jp/keio/keio.cert create mode 100644 server/component/planetlab/jp/keio/keio.pkey create mode 100644 server/component/planetlab/jp/naist/naist.cert create mode 100644 server/component/planetlab/jp/naist/naist.pkey create mode 100644 server/component/planetlab/jp/nict/nict.cert create mode 100644 server/component/planetlab/jp/nict/nict.pkey create mode 100644 server/component/planetlab/jp/osaka/osaka.cert create mode 100644 server/component/planetlab/jp/osaka/osaka.pkey create mode 100644 server/component/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.cert create mode 100644 server/component/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.pkey create mode 100644 server/component/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.cert create mode 100644 server/component/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.pkey create mode 100644 server/component/planetlab/jp/plcolojgnkochi/plcolojgnkochi.cert create mode 100644 server/component/planetlab/jp/plcolojgnkochi/plcolojgnkochi.pkey create mode 100644 server/component/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.cert create mode 100644 server/component/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.pkey create mode 100644 server/component/planetlab/jp/plcolojgnokayama/plcolojgnokayama.cert create mode 100644 server/component/planetlab/jp/plcolojgnokayama/plcolojgnokayama.pkey create mode 100644 server/component/planetlab/jp/plcolojgnosaka/plcolojgnosaka.cert create mode 100644 server/component/planetlab/jp/plcolojgnosaka/plcolojgnosaka.pkey create mode 100644 server/component/planetlab/jp/plcolojgnsendai/plcolojgnsendai.cert create mode 100644 server/component/planetlab/jp/plcolojgnsendai/plcolojgnsendai.pkey create mode 100644 server/component/planetlab/jp/plcolotpgdansk/plcolotpgdansk.cert create mode 100644 server/component/planetlab/jp/plcolotpgdansk/plcolotpgdansk.pkey create mode 100644 server/component/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.cert create mode 100644 server/component/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.pkey create mode 100644 server/component/planetlab/jp/plcolotppoznan/plcolotppoznan.cert create mode 100644 server/component/planetlab/jp/plcolotppoznan/plcolotppoznan.pkey create mode 100644 server/component/planetlab/jp/utokyo/utokyo.cert create mode 100644 server/component/planetlab/jp/utokyo/utokyo.pkey create mode 100644 server/component/planetlab/jp/waseda/waseda.cert create mode 100644 server/component/planetlab/jp/waseda/waseda.pkey create mode 100644 server/component/planetlab/jp/wide/wide.cert create mode 100644 server/component/planetlab/jp/wide/wide.pkey create mode 100644 server/component/planetlab/ntu/ntu.cert create mode 100644 server/component/planetlab/ntu/ntu.pkey create mode 100644 server/component/planetlab/planetlab.cert create mode 100644 server/component/planetlab/planetlab.pkey create mode 100644 server/component/planetlab/qub/qub.cert create mode 100644 server/component/planetlab/qub/qub.pkey create mode 100644 server/component/planetlab/snummlab/snummlab.cert create mode 100644 server/component/planetlab/snummlab/snummlab.pkey create mode 100644 server/component/planetlab/sydney/sydney.cert create mode 100644 server/component/planetlab/sydney/sydney.pkey create mode 100644 server/component/planetlab/tau/tau.cert create mode 100644 server/component/planetlab/tau/tau.pkey create mode 100644 server/component/planetlab/ula/ula.cert create mode 100644 server/component/planetlab/ula/ula.pkey create mode 100644 server/component/planetlab/unioslo/unioslo.cert create mode 100644 server/component/planetlab/unioslo/unioslo.pkey create mode 100644 server/component/planetlab/us/att/att.cert create mode 100644 server/component/planetlab/us/att/att.pkey create mode 100644 server/component/planetlab/us/aub/aub.cert create mode 100644 server/component/planetlab/us/aub/aub.pkey create mode 100644 server/component/planetlab/us/brown/brown.cert create mode 100644 server/component/planetlab/us/brown/brown.pkey create mode 100644 server/component/planetlab/us/bu/bu.cert create mode 100644 server/component/planetlab/us/bu/bu.pkey create mode 100644 server/component/planetlab/us/ccny/ccny.cert create mode 100644 server/component/planetlab/us/ccny/ccny.pkey create mode 100644 server/component/planetlab/us/cernetneu/cernetneu.cert create mode 100644 server/component/planetlab/us/cernetneu/cernetneu.pkey create mode 100644 server/component/planetlab/us/colorado/colorado.cert create mode 100644 server/component/planetlab/us/colorado/colorado.pkey create mode 100644 server/component/planetlab/us/columbia/columbia.cert create mode 100644 server/component/planetlab/us/columbia/columbia.pkey create mode 100644 server/component/planetlab/us/irp/irp.cert create mode 100644 server/component/planetlab/us/irp/irp.pkey create mode 100644 server/component/planetlab/us/jhuis/jhuis.cert create mode 100644 server/component/planetlab/us/jhuis/jhuis.pkey create mode 100644 server/component/planetlab/us/michigan/michigan.cert create mode 100644 server/component/planetlab/us/michigan/michigan.pkey create mode 100644 server/component/planetlab/us/northwestern/northwestern.cert create mode 100644 server/component/planetlab/us/northwestern/northwestern.pkey create mode 100644 server/component/planetlab/us/orbit/orbit.cert create mode 100644 server/component/planetlab/us/orbit/orbit.pkey create mode 100644 server/component/planetlab/us/rice/rice.cert create mode 100644 server/component/planetlab/us/rice/rice.pkey create mode 100644 server/component/planetlab/us/rpi/rpi.cert create mode 100644 server/component/planetlab/us/rpi/rpi.pkey create mode 100644 server/component/planetlab/us/stevens/stevens.cert create mode 100644 server/component/planetlab/us/stevens/stevens.pkey create mode 100644 server/component/planetlab/us/tky/tky.cert create mode 100644 server/component/planetlab/us/tky/tky.pkey create mode 100644 server/component/planetlab/us/ucd/ucd.cert create mode 100644 server/component/planetlab/us/ucd/ucd.pkey create mode 100644 server/component/planetlab/us/uci/uci.cert create mode 100644 server/component/planetlab/us/uci/uci.pkey create mode 100644 server/component/planetlab/us/ucla/ucla.cert create mode 100644 server/component/planetlab/us/ucla/ucla.pkey create mode 100644 server/component/planetlab/us/uclaee/uclaee.cert create mode 100644 server/component/planetlab/us/uclaee/uclaee.pkey create mode 100644 server/component/planetlab/us/us.cert create mode 100644 server/component/planetlab/us/us.pkey create mode 100644 server/component/planetlab/us/utah/utah.cert create mode 100644 server/component/planetlab/us/utah/utah.pkey create mode 100644 server/component/planetlab/us/utxsa/utxsa.cert create mode 100644 server/component/planetlab/us/utxsa/utxsa.pkey create mode 100644 server/component/planetlab/us/uvic/uvic.cert create mode 100644 server/component/planetlab/us/uvic/uvic.pkey create mode 100644 server/component/planetlab/us/uwaccretivedsl/uwaccretivedsl.cert create mode 100644 server/component/planetlab/us/uwaccretivedsl/uwaccretivedsl.pkey create mode 100644 server/component/planetlab/us/vanderbilt/vanderbilt.cert create mode 100644 server/component/planetlab/us/vanderbilt/vanderbilt.pkey create mode 100644 server/interface_tree_cr create mode 100644 server/interface_tree_cr_dict create mode 100644 server/interface_tree_sr create mode 100644 server/interface_tree_sr_dict create mode 100644 server/jpywork/PathVFS$_PyInner.class create mode 100644 server/jpywork/PathVFS.class create mode 100644 server/jpywork/PathVFS.java create mode 100644 server/jpywork/SocketServer$_PyInner.class create mode 100644 server/jpywork/SocketServer.class create mode 100644 server/jpywork/SocketServer.java create mode 100644 server/jpywork/StringIO$_PyInner.class create mode 100644 server/jpywork/StringIO.class create mode 100644 server/jpywork/StringIO.java create mode 100644 server/jpywork/UserDict$_PyInner.class create mode 100644 server/jpywork/UserDict.class create mode 100644 server/jpywork/UserDict.java create mode 100644 server/jpywork/atexit$_PyInner.class create mode 100644 server/jpywork/atexit.class create mode 100644 server/jpywork/atexit.java create mode 100644 server/jpywork/calendar$_PyInner.class create mode 100644 server/jpywork/calendar.class create mode 100644 server/jpywork/calendar.java create mode 100644 server/jpywork/copy$_PyInner.class create mode 100644 server/jpywork/copy.class create mode 100644 server/jpywork/copy.java create mode 100644 server/jpywork/copy_reg$_PyInner.class create mode 100644 server/jpywork/copy_reg.class create mode 100644 server/jpywork/copy_reg.java create mode 100644 server/jpywork/javaos$_PyInner.class create mode 100644 server/jpywork/javaos.class create mode 100644 server/jpywork/javaos.java create mode 100644 server/jpywork/javapath$_PyInner.class create mode 100644 server/jpywork/javapath.class create mode 100644 server/jpywork/javapath.java create mode 100644 server/jpywork/linecache$_PyInner.class create mode 100644 server/jpywork/linecache.class create mode 100644 server/jpywork/linecache.java create mode 100644 server/jpywork/random$_PyInner.class create mode 100644 server/jpywork/random.class create mode 100644 server/jpywork/random.java create mode 100644 server/jpywork/re$_PyInner.class create mode 100644 server/jpywork/re.class create mode 100644 server/jpywork/re.java create mode 100644 server/jpywork/repr$_PyInner.class create mode 100644 server/jpywork/repr.class create mode 100644 server/jpywork/repr.java create mode 100644 server/jpywork/server$_PyInner.class create mode 100644 server/jpywork/server.class create mode 100644 server/jpywork/server.java create mode 100644 server/jpywork/socket$_PyInner.class create mode 100644 server/jpywork/socket.class create mode 100644 server/jpywork/socket.java create mode 100644 server/jpywork/sre$_PyInner.class create mode 100644 server/jpywork/sre.class create mode 100644 server/jpywork/sre.java create mode 100644 server/jpywork/sre_compile$_PyInner.class create mode 100644 server/jpywork/sre_compile.class create mode 100644 server/jpywork/sre_compile.java create mode 100644 server/jpywork/sre_constants$_PyInner.class create mode 100644 server/jpywork/sre_constants.class create mode 100644 server/jpywork/sre_constants.java create mode 100644 server/jpywork/sre_parse$_PyInner.class create mode 100644 server/jpywork/sre_parse.class create mode 100644 server/jpywork/sre_parse.java create mode 100644 server/jpywork/stat$_PyInner.class create mode 100644 server/jpywork/stat.class create mode 100644 server/jpywork/stat.java create mode 100644 server/jpywork/string$_PyInner.class create mode 100644 server/jpywork/string.class create mode 100644 server/jpywork/string.java create mode 100644 server/jpywork/threading$_PyInner.class create mode 100644 server/jpywork/threading.class create mode 100644 server/jpywork/threading.java create mode 100644 server/jpywork/traceback$_PyInner.class create mode 100644 server/jpywork/traceback.class create mode 100644 server/jpywork/traceback.java create mode 100644 server/jpywork/util$_PyInner.class create mode 100644 server/jpywork/util.class create mode 100644 server/jpywork/util.java create mode 100644 server/jpywork/yapm$YaPM.class create mode 100644 server/jpywork/yapm$_PyInner.class create mode 100644 server/jpywork/yapm.class create mode 100644 server/jpywork/yapm.java create mode 100644 server/keycreator/prog.py create mode 100755 server/server.py create mode 100644 server/server.pyc create mode 100644 server/serverprj.e3p create mode 100644 server/serverprj.e3t create mode 100644 server/slice/planetlab/acc_file create mode 100644 server/slice/planetlab/buaa/buaa.cert create mode 100644 server/slice/planetlab/buaa/buaa.pkey create mode 100644 server/slice/planetlab/canarie/canarie.cert create mode 100644 server/slice/planetlab/canarie/canarie.pkey create mode 100644 server/slice/planetlab/canariecalgary/canariecalgary.cert create mode 100644 server/slice/planetlab/canariecalgary/canariecalgary.pkey create mode 100644 server/slice/planetlab/canariehalifax/canariehalifax.cert create mode 100644 server/slice/planetlab/canariehalifax/canariehalifax.pkey create mode 100644 server/slice/planetlab/canariemontreal/canariemontreal.cert create mode 100644 server/slice/planetlab/canariemontreal/canariemontreal.pkey create mode 100644 server/slice/planetlab/canarieottawa/canarieottawa.cert create mode 100644 server/slice/planetlab/canarieottawa/canarieottawa.pkey create mode 100644 server/slice/planetlab/canarietoronto/canarietoronto.cert create mode 100644 server/slice/planetlab/canarietoronto/canarietoronto.pkey create mode 100644 server/slice/planetlab/canariewinnipeg/canariewinnipeg.cert create mode 100644 server/slice/planetlab/canariewinnipeg/canariewinnipeg.pkey create mode 100644 server/slice/planetlab/canterbury/canterbury.cert create mode 100644 server/slice/planetlab/canterbury/canterbury.pkey create mode 100644 server/slice/planetlab/cernetbuaa/cernetbuaa.cert create mode 100644 server/slice/planetlab/cernetbuaa/cernetbuaa.pkey create mode 100644 server/slice/planetlab/cernetpku/cernetpku.cert create mode 100644 server/slice/planetlab/cernetpku/cernetpku.pkey create mode 100644 server/slice/planetlab/cernetsdu/cernetsdu.cert create mode 100644 server/slice/planetlab/cernetsdu/cernetsdu.pkey create mode 100644 server/slice/planetlab/cernetxjtu/cernetxjtu.cert create mode 100644 server/slice/planetlab/cernetxjtu/cernetxjtu.pkey create mode 100644 server/slice/planetlab/cernetxmu/cernetxmu.cert create mode 100644 server/slice/planetlab/cernetxmu/cernetxmu.pkey create mode 100644 server/slice/planetlab/cernetzju/cernetzju.cert create mode 100644 server/slice/planetlab/cernetzju/cernetzju.pkey create mode 100644 server/slice/planetlab/cred_file create mode 100644 server/slice/planetlab/equinixsi/equinixsi.cert create mode 100644 server/slice/planetlab/equinixsi/equinixsi.pkey create mode 100644 server/slice/planetlab/eu/aston/aston.cert create mode 100644 server/slice/planetlab/eu/aston/aston.pkey create mode 100644 server/slice/planetlab/eu/bamberg/bamberg.cert create mode 100644 server/slice/planetlab/eu/bamberg/bamberg.pkey create mode 100644 server/slice/planetlab/eu/basel/basel.cert create mode 100644 server/slice/planetlab/eu/basel/basel.pkey create mode 100644 server/slice/planetlab/eu/budapest/budapest.cert create mode 100644 server/slice/planetlab/eu/budapest/budapest.pkey create mode 100644 server/slice/planetlab/eu/cesnet/cesnet.cert create mode 100644 server/slice/planetlab/eu/cesnet/cesnet.pkey create mode 100644 server/slice/planetlab/eu/enst/enst.cert create mode 100644 server/slice/planetlab/eu/enst/enst.pkey create mode 100644 server/slice/planetlab/eu/ethzcs/ethzcs.cert create mode 100644 server/slice/planetlab/eu/ethzcs/ethzcs.pkey create mode 100644 server/slice/planetlab/eu/eu.cert create mode 100644 server/slice/planetlab/eu/eu.pkey create mode 100644 server/slice/planetlab/eu/eurecom/eurecom.cert create mode 100644 server/slice/planetlab/eu/eurecom/eurecom.pkey create mode 100644 server/slice/planetlab/eu/fokus/fokus.cert create mode 100644 server/slice/planetlab/eu/fokus/fokus.pkey create mode 100644 server/slice/planetlab/eu/hawh/hawh.cert create mode 100644 server/slice/planetlab/eu/hawh/hawh.pkey create mode 100644 server/slice/planetlab/eu/inria/inria.cert create mode 100644 server/slice/planetlab/eu/inria/inria.pkey create mode 100644 server/slice/planetlab/eu/irisa/irisa.cert create mode 100644 server/slice/planetlab/eu/irisa/irisa.pkey create mode 100644 server/slice/planetlab/eu/konstanz/konstanz.cert create mode 100644 server/slice/planetlab/eu/konstanz/konstanz.pkey create mode 100644 server/slice/planetlab/eu/lisbon/lisbon.cert create mode 100644 server/slice/planetlab/eu/lisbon/lisbon.pkey create mode 100644 server/slice/planetlab/eu/moscowstate/moscowstate.cert create mode 100644 server/slice/planetlab/eu/moscowstate/moscowstate.pkey create mode 100644 server/slice/planetlab/eu/msuchem/msuchem.cert create mode 100644 server/slice/planetlab/eu/msuchem/msuchem.pkey create mode 100644 server/slice/planetlab/eu/tcd/tcd.cert create mode 100644 server/slice/planetlab/eu/tcd/tcd.pkey create mode 100644 server/slice/planetlab/eu/univie/univie.cert create mode 100644 server/slice/planetlab/eu/univie/univie.pkey create mode 100644 server/slice/planetlab/eu/unizh/unizh.cert create mode 100644 server/slice/planetlab/eu/unizh/unizh.pkey create mode 100644 server/slice/planetlab/eu/upb/upb.cert create mode 100644 server/slice/planetlab/eu/upb/upb.pkey create mode 100644 server/slice/planetlab/fing/fing.cert create mode 100644 server/slice/planetlab/fing/fing.pkey create mode 100644 server/slice/planetlab/haifa/haifa.cert create mode 100644 server/slice/planetlab/haifa/haifa.pkey create mode 100644 server/slice/planetlab/icavite/icavite.cert create mode 100644 server/slice/planetlab/icavite/icavite.pkey create mode 100644 server/slice/planetlab/ihaifa/ihaifa.cert create mode 100644 server/slice/planetlab/ihaifa/ihaifa.pkey create mode 100644 server/slice/planetlab/iitr/iitr.cert create mode 100644 server/slice/planetlab/iitr/iitr.pkey create mode 100644 server/slice/planetlab/ileixlip/ileixlip.cert create mode 100644 server/slice/planetlab/ileixlip/ileixlip.pkey create mode 100644 server/slice/planetlab/jp/acc_file create mode 100644 server/slice/planetlab/jp/cred_file create mode 100644 server/slice/planetlab/jp/jaist/jaist.cert create mode 100644 server/slice/planetlab/jp/jaist/jaist.pkey create mode 100644 server/slice/planetlab/jp/jp.cert create mode 100644 server/slice/planetlab/jp/jp.pkey create mode 100644 server/slice/planetlab/jp/keio/acc_file create mode 100644 server/slice/planetlab/jp/keio/cred_file create mode 100644 server/slice/planetlab/jp/keio/keio.cert create mode 100644 server/slice/planetlab/jp/keio/keio.pkey create mode 100644 server/slice/planetlab/jp/naist/naist.cert create mode 100644 server/slice/planetlab/jp/naist/naist.pkey create mode 100644 server/slice/planetlab/jp/nict/nict.cert create mode 100644 server/slice/planetlab/jp/nict/nict.pkey create mode 100644 server/slice/planetlab/jp/osaka/acc_file create mode 100644 server/slice/planetlab/jp/osaka/osaka.cert create mode 100644 server/slice/planetlab/jp/osaka/osaka.pkey create mode 100644 server/slice/planetlab/jp/osaka/tokyobranch/tokyobranch.cert create mode 100644 server/slice/planetlab/jp/osaka/tokyobranch/tokyobranch.pkey create mode 100644 server/slice/planetlab/jp/osaka/tokyobranch2/tokyobranch2.cert create mode 100644 server/slice/planetlab/jp/osaka/tokyobranch2/tokyobranch2.pkey create mode 100644 server/slice/planetlab/jp/osaka/tokyobranchty/tokyobranchty.cert create mode 100644 server/slice/planetlab/jp/osaka/tokyobranchty/tokyobranchty.pkey create mode 100644 server/slice/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.cert create mode 100644 server/slice/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.pkey create mode 100644 server/slice/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.cert create mode 100644 server/slice/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.pkey create mode 100644 server/slice/planetlab/jp/plcolojgnkochi/plcolojgnkochi.cert create mode 100644 server/slice/planetlab/jp/plcolojgnkochi/plcolojgnkochi.pkey create mode 100644 server/slice/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.cert create mode 100644 server/slice/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.pkey create mode 100644 server/slice/planetlab/jp/plcolojgnokayama/plcolojgnokayama.cert create mode 100644 server/slice/planetlab/jp/plcolojgnokayama/plcolojgnokayama.pkey create mode 100644 server/slice/planetlab/jp/plcolojgnosaka/plcolojgnosaka.cert create mode 100644 server/slice/planetlab/jp/plcolojgnosaka/plcolojgnosaka.pkey create mode 100644 server/slice/planetlab/jp/plcolojgnsendai/plcolojgnsendai.cert create mode 100644 server/slice/planetlab/jp/plcolojgnsendai/plcolojgnsendai.pkey create mode 100644 server/slice/planetlab/jp/plcolotpgdansk/plcolotpgdansk.cert create mode 100644 server/slice/planetlab/jp/plcolotpgdansk/plcolotpgdansk.pkey create mode 100644 server/slice/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.cert create mode 100644 server/slice/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.pkey create mode 100644 server/slice/planetlab/jp/plcolotppoznan/plcolotppoznan.cert create mode 100644 server/slice/planetlab/jp/plcolotppoznan/plcolotppoznan.pkey create mode 100644 server/slice/planetlab/jp/utokyo/utokyo.cert create mode 100644 server/slice/planetlab/jp/utokyo/utokyo.pkey create mode 100644 server/slice/planetlab/jp/waseda/waseda.cert create mode 100644 server/slice/planetlab/jp/waseda/waseda.pkey create mode 100644 server/slice/planetlab/jp/wide/wide.cert create mode 100644 server/slice/planetlab/jp/wide/wide.pkey create mode 100644 server/slice/planetlab/ntu/ntu.cert create mode 100644 server/slice/planetlab/ntu/ntu.pkey create mode 100644 server/slice/planetlab/planetlab.cert create mode 100644 server/slice/planetlab/planetlab.pkey create mode 100644 server/slice/planetlab/qub/qub.cert create mode 100644 server/slice/planetlab/qub/qub.pkey create mode 100644 server/slice/planetlab/snummlab/snummlab.cert create mode 100644 server/slice/planetlab/snummlab/snummlab.pkey create mode 100644 server/slice/planetlab/sydney/sydney.cert create mode 100644 server/slice/planetlab/sydney/sydney.pkey create mode 100644 server/slice/planetlab/tau/tau.cert create mode 100644 server/slice/planetlab/tau/tau.pkey create mode 100644 server/slice/planetlab/ula/ula.cert create mode 100644 server/slice/planetlab/ula/ula.pkey create mode 100644 server/slice/planetlab/unioslo/unioslo.cert create mode 100644 server/slice/planetlab/unioslo/unioslo.pkey create mode 100644 server/slice/planetlab/us/att/att.cert create mode 100644 server/slice/planetlab/us/att/att.pkey create mode 100644 server/slice/planetlab/us/aub/aub.cert create mode 100644 server/slice/planetlab/us/aub/aub.pkey create mode 100644 server/slice/planetlab/us/brown/brown.cert create mode 100644 server/slice/planetlab/us/brown/brown.pkey create mode 100644 server/slice/planetlab/us/bu/bu.cert create mode 100644 server/slice/planetlab/us/bu/bu.pkey create mode 100644 server/slice/planetlab/us/ccny/ccny.cert create mode 100644 server/slice/planetlab/us/ccny/ccny.pkey create mode 100644 server/slice/planetlab/us/cernetneu/cernetneu.cert create mode 100644 server/slice/planetlab/us/cernetneu/cernetneu.pkey create mode 100644 server/slice/planetlab/us/colorado/colorado.cert create mode 100644 server/slice/planetlab/us/colorado/colorado.pkey create mode 100644 server/slice/planetlab/us/columbia/columbia.cert create mode 100644 server/slice/planetlab/us/columbia/columbia.pkey create mode 100644 server/slice/planetlab/us/irp/irp.cert create mode 100644 server/slice/planetlab/us/irp/irp.pkey create mode 100644 server/slice/planetlab/us/jhuis/jhuis.cert create mode 100644 server/slice/planetlab/us/jhuis/jhuis.pkey create mode 100644 server/slice/planetlab/us/michigan/michigan.cert create mode 100644 server/slice/planetlab/us/michigan/michigan.pkey create mode 100644 server/slice/planetlab/us/northwestern/northwestern.cert create mode 100644 server/slice/planetlab/us/northwestern/northwestern.pkey create mode 100644 server/slice/planetlab/us/orbit/orbit.cert create mode 100644 server/slice/planetlab/us/orbit/orbit.pkey create mode 100644 server/slice/planetlab/us/rice/rice.cert create mode 100644 server/slice/planetlab/us/rice/rice.pkey create mode 100644 server/slice/planetlab/us/rpi/rpi.cert create mode 100644 server/slice/planetlab/us/rpi/rpi.pkey create mode 100644 server/slice/planetlab/us/stevens/stevens.cert create mode 100644 server/slice/planetlab/us/stevens/stevens.pkey create mode 100644 server/slice/planetlab/us/tky/tky.cert create mode 100644 server/slice/planetlab/us/tky/tky.pkey create mode 100644 server/slice/planetlab/us/ucd/ucd.cert create mode 100644 server/slice/planetlab/us/ucd/ucd.pkey create mode 100644 server/slice/planetlab/us/uci/uci.cert create mode 100644 server/slice/planetlab/us/uci/uci.pkey create mode 100644 server/slice/planetlab/us/ucla/ucla.cert create mode 100644 server/slice/planetlab/us/ucla/ucla.pkey create mode 100644 server/slice/planetlab/us/uclaee/uclaee.cert create mode 100644 server/slice/planetlab/us/uclaee/uclaee.pkey create mode 100644 server/slice/planetlab/us/us.cert create mode 100644 server/slice/planetlab/us/us.pkey create mode 100644 server/slice/planetlab/us/utah/utah.cert create mode 100644 server/slice/planetlab/us/utah/utah.pkey create mode 100644 server/slice/planetlab/us/utxsa/utxsa.cert create mode 100644 server/slice/planetlab/us/utxsa/utxsa.pkey create mode 100644 server/slice/planetlab/us/uvic/uvic.cert create mode 100644 server/slice/planetlab/us/uvic/uvic.pkey create mode 100644 server/slice/planetlab/us/uwaccretivedsl/uwaccretivedsl.cert create mode 100644 server/slice/planetlab/us/uwaccretivedsl/uwaccretivedsl.pkey create mode 100644 server/slice/planetlab/us/vanderbilt/vanderbilt.cert create mode 100644 server/slice/planetlab/us/vanderbilt/vanderbilt.pkey create mode 100644 server/trusted_certs/geni_mng.cert create mode 100644 server/trusted_certs/geni_slc.cert create mode 100644 server/trusted_certs/planetlab_mng.cert create mode 100644 server/trusted_certs/planetlab_slc.cert create mode 100644 util/db.py create mode 100644 util/db.pyc create mode 100644 util/excep.py create mode 100644 util/excep.pyc create mode 100644 util/pl_to_geni.py create mode 100644 util/pl_to_geni.pyc create mode 100755 util/sec/certgen.py create mode 100644 util/sec/certgen.pyc create mode 100755 util/sec/certgen2.py create mode 100755 util/sec/certgen_m2crypto.py create mode 100644 util/sec/certs/den.py create mode 100644 util/sec/certs/gen.py create mode 100644 util/sec/certs/jp.cert create mode 100644 util/sec/certs/jp.pkey create mode 100644 util/sec/certs/planetlab.cert create mode 100644 util/sec/certs/planetlab.pkey create mode 100644 util/sec/certs/usersoner.cert create mode 100644 util/sec/sec.py create mode 100644 util/sec/sec.pyc create mode 100644 util/tree.py create mode 100644 util/tree.pyc create mode 100644 util/util.py create mode 100644 util/util.pyc diff --git a/gui/JavaApplication1/build.xml b/gui/JavaApplication1/build.xml new file mode 100644 index 00000000..716370b6 --- /dev/null +++ b/gui/JavaApplication1/build.xml @@ -0,0 +1,69 @@ + + + + + + Builds, tests, and runs the project JavaApplication1. + + + diff --git a/gui/JavaApplication1/build/classes/javaapplication1/DisplayHandle$1$1.class b/gui/JavaApplication1/build/classes/javaapplication1/DisplayHandle$1$1.class new file mode 100644 index 0000000000000000000000000000000000000000..523cbd17bdb301d7f736af36f0a0ef69b9f18f4d GIT binary patch literal 1039 zcmah|+iuf95IviuF|kY&QYZ!5G!z$dfx4D>3qnGr6_>PBq6*I&dug|F){*U`<9zz6VAh*>)lH?_88&v<CH5wxp@u?fzVn?Pz|8ikN zn?(P!t-K(Nr8?Xd$x-NAxQCX73NBliN83UNT?_Z|z`%wD2b<(?p1roqP}3kM;OfwM zH9Qs`X5#)+WuF*NgdY0{%`5{vyv(4@(w#(ysD>hFJ;)Y4XE+l7=jbH+jY zVs6RX+&gq;j;3`Fi zYgn8yyhJf&Sm>OAouQb8Quiz7ep8tm!aktRKBjbw*^(I@C|<`B5f*WS=nJ@sTNF#w QaG6?z))Xkuu5uQB0pQ99I{*Lx literal 0 HcmV?d00001 diff --git a/gui/JavaApplication1/build/classes/javaapplication1/DisplayHandle$1.class b/gui/JavaApplication1/build/classes/javaapplication1/DisplayHandle$1.class new file mode 100644 index 0000000000000000000000000000000000000000..6cb79d02c91c8e28063368d13488627d7688f321 GIT binary patch literal 1971 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 v&4wV46;#$voU2Uo^oUuOJVE9>29c}Gc}#Hd zYM@lF7wSMI+L}iFh>SkEINoE_S8a5%FR-{V9JbjO@S3(m0_B!A^u6D`r085-h8&q} z*+7MD6=~;ZLC+-@fPjB&3`NaQ#W8VYVQ7|WgUcD~+I~!@6q1UmBe3*RRbBl~>NFse z)K47X(3yL#tUL`8f%%m6|0n@@X8Tb<-?S^&&$Ms5rm&tv6NEO_=IVr!YuhPe*~bc2 zeH2jiG2*N>taBHKHL=>@{O<5=`h$+@B@_wF4!bHa?z-Q!-JUh9i2IY@aH^yV0*ZNh zJ3PNH?@Z<$-J5OJ;qkNJDO4&>4qG|?M^NIqNVay_cM)0Jx`(JeAa|Q$MtLnT2KWJ= zS3k8S#!z8TU;>jF!$HPSs@*|s{XzbfK&I3`Io+?6WIFXr840+EDSTv_JU%gL4%3+7 R-Qy?x8D+L4pLx9V_YYAms~P|R literal 0 HcmV?d00001 diff --git a/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$2.class b/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$2.class new file mode 100644 index 0000000000000000000000000000000000000000..db7e2feaee441d5a96ea51a340d20a54d6b27526 GIT binary patch literal 772 zcmaJ<+iuf95Ivi?H8!S%QcCFs3Ye-*CEQdxJhbF}m2y1JbSkaRO)EK4MjyTH95CydHrhTH*w~((w$l^v+W9~UT<>b5UZ0Qp zYH}j`86%6`Je65bPPFr@py!GUKp^TEqbBW47KLJDeP)$-pL819s?o8PR<(!HoT|Ye zVu`%4iJB^7lMZtZops=d)z#GgZt~J3f$%s#pQP%gc6_6%`NvKbHgssxEHAVX@=6i_UPpJO|2utYi nEc>GbSuXvc0&z5!aEmZ?EEBYb+gRc4akW>`pyfzFkw560=3+w{~sp0lei3$ltfRF+Y6!LC1BjRdfN4uN!yDGJ6 z#RDI}{{U}@@ph$3s9~kGXU4~8=FIr!;p!T|27)R)%t(x3R$>}+Wz3hcAW%xXItkVV zW?J9WP^o@D(xFPVH5-jXGWziRXopc>w9)CV!2HT+*lJtAYuXM8OtiG2lR@u-;xly- zab&V(Llw1Eteu|+J(pYn0{)RP6gMN4B*c-qky(N*E@!-F2ML{0L@J?Bj}pp0D$ZKMGIw!Q6N4?z?+%})-|MJ;O0mH7sH*}mUH6-|*SCfhaes;{PL)() zNJ$cGuJimpKQozUbg#BqhsV!?r%XV}Xbs`Z}`YkyGuM<6rmJ5G0>kxXTNH75ZV@fvTKriiyp WTEG>OE)zO{94!SOf_wLiC}nd0#I>UAgRryG#7L3N0;t z@DJ$Uq|({zK|zcMw>vZY?Kkty?4QTqcL4SgRN!GnVgjoYOIRyoy^IZkQhKeEpeeA@ zxltpf27^e4D%IBPH%`gu)6261Mt#&qr-uUTyW?SdT>-Ccdn7Q^(S|OD{VR&UsH=!0 za~&J1sHAoE%^ob%;3H1av{#Dgbw`qe$ zWYWgD0~|Z^z?D^`Q7W*Su|AIyke}@^4(UX@a{XNUJJ%G}b8N!MCfa;Gr}WzP%GmU= zg||LRDEpXn);4yyi{qLYv^c*ze475Krv@p-0!!nr3cPaNZ`=OB8dk*pDegK|QiUNU zN$|eO^ZW3^WM0s{*JT|ZKMS5hwd&-sRp5UT6`qS^tHr*H$XfjeMC~UE-!jY;uO-F+ z_waf3Gh1RBRrUmCF_$wO{LL%ou{cS*9_-z8XD zeCQA8k1Cy;1_bFENM`Qj+%t1#=J%ibUjX(IHQ-}8z!X*jEMc{VwHnq5)%;p#(H>#B zd!xom4Tp)2Rj#esZ=bQzXJ5{b1a+*9&fgQ(wkN}OdIY~?`%IYaYQrB#gDXxi)m0*q zxvq^>(o?B+=Q8NK23Y>`fuPOLnC0Tj5ZMF0Q* literal 0 HcmV?d00001 diff --git a/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$6.class b/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$6.class new file mode 100644 index 0000000000000000000000000000000000000000..ce0035b7b094c4652d34d9c56b9eedf05ff3b9b6 GIT binary patch literal 748 zcmaJ*f>b_sIgWi(8cS*AA?-D8& zAN&FSsN&o-P$*pk$;_RcduGneJpR6a0I-d)4iED_USPq;92Toss$!W?$*y!7ZV~1? zKh#L6!64R=%Ct4xts^%2==^wJP@lEY*%!jn`gqtzm*BN+j|tNqZTQ=;f5FL_x`-t* z)3K3?yDHJ{Tm(IroB%>_Yz!yuSfwdTWN~bka97Hi?Au|=-#KQLa*we5r>d5^&RRTT zleJD9;Ly4IuBzrANB^Nj9|uITV&Eo2IfhLa;+N!}XjG8bRG9XY#*-`u zBM?7uzTB8ZLoDGXW(tObf}!603EKRH@?QeqQPTu!6yzkcd8&Fr0x9AZUJFebZ-lgj TS-chN$qK*2be>L@POLmnAdjkD literal 0 HcmV?d00001 diff --git a/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$7.class b/gui/JavaApplication1/build/classes/javaapplication1/GeniGUI$7.class new file mode 100644 index 0000000000000000000000000000000000000000..5e4ce4b070e0367cb3745be50a63316640d19e49 GIT binary patch literal 552 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 Hk9zp`wyJW% literal 0 HcmV?d00001 diff --git a/gui/JavaApplication1/build/classes/javaapplication1/GuiComponent.class b/gui/JavaApplication1/build/classes/javaapplication1/GuiComponent.class new file mode 100644 index 0000000000000000000000000000000000000000..a93c11db10c8d0073a23ba9e527cdeceda6a71db GIT binary patch literal 1573 zcma))+iuf95Qcvzc9JH6p3@fSiDTj(Lg5ZjFQ^0(stTf2EV8>@2&%%`Hn-i#}7g%skRnTLS9jarR z+%rG)<82Ecs#pIq6uFx8KapC41$UxD798L8LvOEl-1NE!su^h9sHK92>iTjY1nu~f ze_~--tE)~Y@LMYOqj0PKvghwa$DJtj!k9f5551477sL(4=JIVX-qU@}RBKnkm~e8Q zFl*>nFiVtpb1~=HYRxbNW>M!dt5P*2iJ0&l=r@tViC183H+hQ!gXb=zY(ZW|q64?M zAN9H|?}aaOnjG$YQ=Y$!2|O%g9OW{`P%NV)-ZeR{qikVOl12{C!o=kcy>1?Pt=K}g zT5DjHTUX#_I>?AFy^Kg}OLc8oKwB24ErDv7VR4`}43bTQJTZbSaUw|<|A1uEAkPW1GXg~BB@lfZR2L_|+I-Utv`Rsp%MxAMVXq%rKQ literal 0 HcmV?d00001 diff --git a/gui/JavaApplication1/build/classes/javaapplication1/PanelFiller.class b/gui/JavaApplication1/build/classes/javaapplication1/PanelFiller.class new file mode 100644 index 0000000000000000000000000000000000000000..3e8e5a2d793924165d91f4f75cf3aee2d5e9d729 GIT binary patch literal 7338 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 Tdi!H|so!ym*8}9@!-M|=R_jGi literal 0 HcmV?d00001 diff --git a/gui/JavaApplication1/build/classes/javaapplication1/RecordInfo.class b/gui/JavaApplication1/build/classes/javaapplication1/RecordInfo.class new file mode 100644 index 0000000000000000000000000000000000000000..aa54ab1f3b450a12828a4f9574f046cbe8653c60 GIT binary patch literal 878 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 literal 0 HcmV?d00001 diff --git a/gui/JavaApplication1/build/classes/javaapplication1/User.class b/gui/JavaApplication1/build/classes/javaapplication1/User.class new file mode 100644 index 0000000000000000000000000000000000000000..d8e6322db1307a3bd9179d1d19da291ae633a3ee GIT binary patch literal 1092 zcma)(-EPxB5QWdiuAKzan$R?~{I*3XHBhVK3Q_f@1#uC9P=6%2a}q0c73|1ykos02 z5g~EG1MpCYGi!@fi7RolvpYL;=9`({e}4V~u!qNWSa?vw5+2I&NRCY#TQ;^8jPo>B zXml=uFM&S{;(>phrBOV1rC?^4qfnvNkJ7N0CF!MtwI9V%cEGgu&KV;PlRhI>I#C?H zn|$tu=}FKX($nZ9y;P}rGG*A%{-YTM_ zEv0CyP*Q{EO}<{xD%vIQ2h=wmw#>86G~hN&tYU>X31<*o+@j^q_?HXx8EMkzdQYdQ zc+aLVyysJxGp&aHZ!!B0b=Rr4p*6icuh67|29`RmMiv5B`e!rT44OqnpEgJSj>=aC zRUpWgc0MV^T|=u#K47#6TN-x;nK!&kNM9?g~D{IRq@{u5)t^twN2*^FXgZqC0m*AZ? literal 0 HcmV?d00001 diff --git a/gui/JavaApplication1/certutil.py b/gui/JavaApplication1/certutil.py new file mode 100755 index 00000000..73a534f6 --- /dev/null +++ b/gui/JavaApplication1/certutil.py @@ -0,0 +1,25 @@ +#!/usr/bin/python +from M2Crypto import X509 +import sys + +id_file = "" +try: + if len(sys.argv)>1: + id_file = sys.argv[len(sys.argv)-1] + else: + print 'File '+id_file+' does not exist.\n' + sys.exit(0) + pubkey = X509.load_cert(id_file).get_pubkey().as_pem(cipher=None) + print pubkey + + print "Character map:\n" + prev = '' + cur = '' + for ch in pubkey: + prev = cur + cur = ch + if cur == '\n': + 1==1 + print ch, +except: + print "Error in input file.\n" diff --git a/gui/JavaApplication1/client_keiko/acc_file b/gui/JavaApplication1/client_keiko/acc_file new file mode 100644 index 00000000..88158341 --- /dev/null +++ b/gui/JavaApplication1/client_keiko/acc_file @@ -0,0 +1,52 @@ +-----BEGIN CERTIFICATE----- +MIIB+zCCAWQCAQAwDQYJKoZIhvcNAQEEBQAwDzENMAsGA1UEAxMEa2VpbzAeFw0w +ODAzMjgwNDI2NDRaFw0wODA3MjEyMjEzMjRaMBoxGDAWBgNVBAMTD0dFTkkgQWNj +b3VudGluZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAlxyzi9dVIDmyUuaW +/H7YM+5LLZbQg/lGtQ0hyn/DNWp0b3FZ0tazmdK/yD3bq1sUa8txCq2gSsBzv6gA +3E1YI71wYmv8xTOOo5hZlBT3apdh2UKlu4vuUBVaSIm3whiVEd7sGkJJIJoWC3tx +R+/d9u6GYgORP/sb8q2Xk2y9CB8CAwEAAaNhMF8wXQYDVR0RAQH/BFMwUYZPaHR0 +cDovLyNocm46cGxhbmV0bGFiLmpwLmtlaW8ua2Vpa28jdXVpZDo1MzU4NDk4NDQ3 +NTM3MDMzNTI5ODU5MjQ1MTI2MjQwODAwMDc5MjANBgkqhkiG9w0BAQQFAAOBgQCW +zG0R4AkzONNWSEYccFcI0yDJIcojse8CGVhI0N8ykmph1MEcUHAdT8x1Ssl593+o +K6vmwJpak8qLjD9Fbry/byVj3d8CzrokO8LkjVz4daye0SQIFp7TbfeoK9mg/GE1 +shI6rxnUg15cfR9L9lkso6p8O/KQpWX9zUtgRIuTbw== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIB8zCCAVwCAQAwDQYJKoZIhvcNAQEEBQAwDTELMAkGA1UEAxMCanAwHhcNMDgw +MzI4MDQyNjQ0WhcNMDgwNzIxMjIxMzI0WjAaMRgwFgYDVQQDEw9HRU5JIEFjY291 +bnRpbmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOVoqTRxh/259AB1p3+G +HcUxSKpdVkKgJJGXvsCtav2Rxu9jlEq1AHt6Ff08YlqjVLPbSLTxVDDYUva+fmWl +SzWRRZdVkPrT5PipoQ38HM/RlgsMaSsB1otJd+sbVP2Opwbqcc3DZ4+NbRAV051Z +mzR4C10QIOkYBaa+D48ocjC9AgMBAAGjWzBZMFcGA1UdEQEB/wRNMEuGSWh0dHA6 +Ly8jaHJuOnBsYW5ldGxhYi5qcC5rZWlvI3V1aWQ6NjU5MTQzMzc2OTc1MDYxNDM3 +ODc5MDUwMjkzMDIyOTMxMDY2MzAwDQYJKoZIhvcNAQEEBQADgYEA0NDOfUAk1Puw +ghgHzdXzTBZLJkhj9B80D678aSGX/dSOIIJGUo/AXRNfwtVRVUfQ+PQs/LgygGJ6 +u1NUTuhVDJrJROd+bguDp5DSqR/om9uupSvGxGjcGGLpcrGES7hWuTU1VIRgdC8Z +1BK3qYToeIsiaDzIjrkZplq5brgBHoE= +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIB9TCCAV4CAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODA0MDAyMloXDTA4MDcyMTIxNDcwMlowGjEYMBYGA1UEAxMPR0VO +SSBBY2NvdW50aW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDgD+Z79eOf +iurH0dBuwTFgTfWafbVQXcsY6IQs3o+lV9n7uNAIy2+puX30TZPVja6AsYbLXJsK +2xMUYWuqcyErA9DCD1Ln+PLEJnskx5KQnVm5Gw/xbVOxDSOWQOXUKMxRbRCtlFtZ +Ar/iM40lSpgUTHzHBGOlH7lNeY3UZvLEZQIDAQABo1YwVDBSBgNVHREBAf8ESDBG +hkRodHRwOi8vI2hybjpwbGFuZXRsYWIuanAjdXVpZDoxOTUzNTQ1Nzg5NjI5MDI3 +NTY4NTk3NzE3OTI3NzU0NzI4MTY0MTANBgkqhkiG9w0BAQQFAAOBgQBFnESK6zc+ +GxI/XET7boZ8GSMbKwSQoGf33Sz1qwRp31nf4HvoHXl6j6DmpFtcEqeK8rTP+AiX +n6b14cfXdQ0Px+00/zDNcDyVzh01V6KMrDeVhZrpiejIqW+vPSjMMoO1/nYrY5r4 +gf8HYww8uY1RciEeLPZkcJtR0Gq2jnkT4Q== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIB8zCCAVwCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTA4MDcyMTIxMzEyOFowGjEYMBYGA1UEAxMPR0VO +SSBBY2NvdW50aW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1NiZzJyIz +8uZVHahZQqcmhsxROY8YjjRF/WGow9t8hvaimScO0yH3VUEPolblSM1Juke6M3vG +O7aT7bJCapb7kuoHlrS35k0K/vcOOMXS80gpT8oltKbfJrlt8kmtEXm7F4fh8UiL +m6n/GEY9OPFuvUtQqIFqG8DdBd3SEhi6UQIDAQABo1QwUjBQBgNVHREBAf8ERjBE +hkJodHRwOi8vI2hybjpwbGFuZXRsYWIjdXVpZDoxNjQyMTQ0ODk4NTIwNjUyMzY3 +MjM5NzIxNzQ2MjkyMjIyNjk3MTgwDQYJKoZIhvcNAQEEBQADgYEAUrjefqbA5c69 +KfNh/ENOp0xFnvWn3UReOo2mhYZI2LWyX41g/q/InVogh8aJ7LXHI6wjHL+PGz3n +fU+Bl2fL7GAL0i6Wr1JRbT2YHMJd97C11hWPLg+1Tt3MHwMRf0X8v7I3pRSJOIq3 +si0AZRHgngrWmhf85bKAqS210OWHWOM= +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/client_keiko/clientstub.py b/gui/JavaApplication1/client_keiko/clientstub.py new file mode 100755 index 00000000..147ecaaf --- /dev/null +++ b/gui/JavaApplication1/client_keiko/clientstub.py @@ -0,0 +1,104 @@ +#!/usr/bin/python + +import os, sys +from M2Crypto import SSL +sys.path.append('/home/soners/work/geni/rpc/util') +sys.path.append('/home/soners/work/geni/rpc/util/sec') +from sec import * + +SERVER_HOST = '127.0.0.1' +SERVER_PORT = 8002 +AUTH_HOST = '127.0.0.1' +AUTH_PORT = 8002 + +renew_res1 = 0 +renew_res2 = 0 + +def verify_callback(preverify_ok, ctx): + return 1 + +class GENIClient(): + def __init__(self, hrn, type, id_file, id_key_file, acc_file, cred_file): + self.hrn = hrn + self.type = type + #check if the certificate and the private key exists, terminate if not + if not os.path.exists(id_file) or not os.path.exists(id_key_file) : + print 'The certificate or the private key does not exist.\n' + os.exit(1) + #check the acc and cred files + if not os.path.exists(acc_file) or not is_valid_chain(acc_file): + open(acc_file, 'w').write('ANONYM') + if not os.path.exists(cred_file) or not is_valid_chain(cred_file): + open(cred_file, 'w').write('NO_CRED') + #initialize the security system + self.sec = Sec('client', id_file, id_key_file, acc_file, cred_file) + #ssl parameters + self.ctx = SSL.Context() + self.ctx.load_cert(self.sec.id_file,self.sec.id_key_file) + self.ctx.set_verify(SSL.verify_peer | SSL.verify_fail_if_no_peer_cert, depth=9, callback=verify_callback) + + def connect(self, host, port): + #if the acc and cred needs renewal then do call to authority + if self.type == 'user' or self.type == 'slice' or self.type == 'SA': + reg_type = 'slice' + else: + reg_type ='component' + renew_res1 = renew_cert('accounting', '.', reg_type, self.hrn, None, None, (AUTH_HOST, AUTH_PORT), self.sec) + renew_res2 = renew_cert('credential', '.', reg_type, self.hrn, None, None, (AUTH_HOST, AUTH_PORT), self.sec) + if renew_res1 == None: + print "There is no certificate in the directory "+"./\n" + os.exit(0) + #connect to server + server = SSL.Connection(self.ctx) + server.connect((host,port)) + peer = self.sec.auth_protocol(server) + if peer: + return server + else: + return None + +def main(): + try: + #read the input file + fp = open('tmp_input.txt', 'r') + user_data = fp.readline() + call_data = fp.readline() + print 'Read file.\n' + + #client related info + HRN = user_data.split(' ')[0] + TYPE = user_data.split(' ')[1].split('\n')[0] + name = get_leaf(HRN) + ID_FILE = name+'.cert' + ID_KEY_FILE = name+'.pkey' + ACC_FILE = 'acc_file' + CRED_FILE = 'cred_file' + my_client = GENIClient(HRN, TYPE, ID_FILE, ID_KEY_FILE, ACC_FILE, CRED_FILE) + print 'Constructed client.\n' + + #operation call + message = eval(call_data) + server = my_client.connect(SERVER_HOST, SERVER_PORT) + if server: + server.write(str(message)) + result = server.read() + server.close() + print 'Performed the call.\n' + else: + result = "Error in client data structures.\n" + + if renew_res2 == 1: + result = "Cred renewed. "+result + if renew_res1 == 1: + result = "Acc renewed. "+result + #write result to output file + open('tmp_output.txt','w').write(result) + print 'Written to file.\n' + except: + #write result to output file + open('tmp_output.txt','w').write("An error occurred in client stub.\n") + print 'Exception occurred.\n' + +if __name__=="__main__": + print 'Client started.\n' + main() diff --git a/gui/JavaApplication1/client_keiko/cred_file b/gui/JavaApplication1/client_keiko/cred_file new file mode 100644 index 00000000..98c0d2d7 --- /dev/null +++ b/gui/JavaApplication1/client_keiko/cred_file @@ -0,0 +1,59 @@ +-----BEGIN CERTIFICATE----- +MIICazCCAdQCAQAwDQYJKoZIhvcNAQEEBQAwDzENMAsGA1UEAxMEa2VpbzAeFw0w +ODAzMjgxNDI1MTZaFw0wODA1MDkwNjI1MTZaMB8xHTAbBgNVBAMTFFJlZ2lzdHJ5 +IGNyZWRlbnRpYWxzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCXHLOL11Ug +ObJS5pb8ftgz7kstltCD+Ua1DSHKf8M1anRvcVnS1rOZ0r/IPdurWxRry3EKraBK +wHO/qADcTVgjvXBia/zFM46jmFmUFPdql2HZQqW7i+5QFVpIibfCGJUR3uwaQkkg +mhYLe3FH79327oZiA5E/+xvyrZeTbL0IHwIDAQABo4HLMIHIMIHFBgNVHREBAf8E +gbowgbeGgbRodHRwOi8vI2NyZWRlbnRpYWxfc2V0OigwLTApKDEtMCkoMi0wKSgz +LTApKDQtMCkoNS0wKSg2LTApKDctMCkoOC0wKSg5LTApKDAtMSkoMS0xKSgyLTEp +KDMtMSkoNC0xKSg1LTEpKDYtMSkoNy0xKSg4LTEpKDktMSkjMDpyZWc6c2xjOnBs +YW5ldGxhYi5qcC5rZWlvIzE6cmVnOmNvbXA6cGxhbmV0bGFiLmpwLmtlaW8wDQYJ +KoZIhvcNAQEEBQADgYEAy72/MrNh6ZcAFgTl908nPl0KZGViSIQZG/Ks+QxR2MaD +SV0fPHrzv+RprLJw0frTjwIpPFDhDSvjbZB3+HWNhgKd88mIzwUSMOZjGmLGijRC +VNE5Pf1H2O76yXCc98Tm8ymkeMxps1gH1hfem6N4aToA4tTNma3poQnn3SaHpig= +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIICTzCCAbgCAQAwDQYJKoZIhvcNAQEEBQAwDTELMAkGA1UEAxMCanAwHhcNMDgw +MzI4MDQyNjQ2WhcNMDgwNTA4MjAyNjQ2WjAfMR0wGwYDVQQDExRSZWdpc3RyeSBj +cmVkZW50aWFsczCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5WipNHGH/bn0 +AHWnf4YdxTFIql1WQqAkkZe+wK1q/ZHG72OUSrUAe3oV/TxiWqNUs9tItPFUMNhS +9r5+ZaVLNZFFl1WQ+tPk+KmhDfwcz9GWCwxpKwHWi0l36xtU/Y6nBupxzcNnj41t +EBXTnVmbNHgLXRAg6RgFpr4PjyhyML0CAwEAAaOBsTCBrjCBqwYDVR0RAQH/BIGg +MIGdhoGaaHR0cDovLyNjcmVkZW50aWFsX3NldDooMi0wKSg0LTApKDYtMCkoNy0w +KSg4LTApKDktMCkoMC0xKSgxLTEpKDItMSkoMy0xKSg0LTEpKDUtMSkoNi0xKSg3 +LTEpKDgtMSkoOS0xKSMwOnJlZzpzbGM6cGxhbmV0bGFiLmpwIzE6cmVnOnNsYzpw +bGFuZXRsYWIuanAua2VpbzANBgkqhkiG9w0BAQQFAAOBgQCQ9r5c/zYcsPuBV4iY +s1KD1E6B1xTu+TtvQw8GMK4JwTLaiBCdX6tiUkOHw40mej3huXD0KSDiBTt34Bg9 +9/E5XwqE0L604WATE4zVzz3s/lP1MroMzjoSphFzXdyHHQRYAOMLWr8e6JLH8qvA +CKI2ZD423aSCNB3FVxqlMyChwg== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIICTjCCAbcCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODA0MjY0NVoXDTA4MDUwODIwMjY0NVowHzEdMBsGA1UEAxMUUmVn +aXN0cnkgY3JlZGVudGlhbHMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOAP +5nv145+K6sfR0G7BMWBN9Zp9tVBdyxjohCzej6VX2fu40AjLb6m5ffRNk9WNroCx +hstcmwrbExRha6pzISsD0MIPUuf48sQmeyTHkpCdWbkbD/FtU7ENI5ZA5dQozFFt +EK2UW1kCv+IzjSVKmBRMfMcEY6UfuU15jdRm8sRlAgMBAAGjgakwgaYwgaMGA1Ud +EQEB/wSBmDCBlYaBkmh0dHA6Ly8jY3JlZGVudGlhbF9zZXQ6KDItMCkoNC0wKSg2 +LTApKDctMCkoOC0wKSg5LTApKDAtMSkoMS0xKSgyLTEpKDMtMSkoNC0xKSg1LTEp +KDYtMSkoNy0xKSg4LTEpKDktMSkjMDpyZWc6c2xjOnBsYW5ldGxhYiMxOnJlZzpz +bGM6cGxhbmV0bGFiLmpwMA0GCSqGSIb3DQEBBAUAA4GBAGR3d1rIelq++rJjlerk ++Xlbg+siLcDfNrOE4BgPWqZz9G6QDg+oxpmyP7SkqtO/u/D0PLyndcdKqpXsEisw +28KZtudxBTS5cRpTBCZnoUAGBKLJ3pwRqozwKxxCG8rmsUeGl0xdAjLVw9tzLppO +7LyVz7tZQkIyNF23gv+z9IQU +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIICEzCCAXwCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTA4MDUwODE5NDQ0OFowHzEdMBsGA1UEAxMUUmVn +aXN0cnkgY3JlZGVudGlhbHMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALU2 +JnMnIjPy5lUdqFlCpyaGzFE5jxiONEX9YajD23yG9qKZJw7TIfdVQQ+iVuVIzUm6 +R7oze8Y7tpPtskJqlvuS6geWtLfmTQr+9w44xdLzSClPyiW0pt8muW3ySa0RebsX +h+HxSIubqf8YRj048W69S1CogWobwN0F3dISGLpRAgMBAAGjbzBtMGsGA1UdEQEB +/wRhMF+GXWh0dHA6Ly8jY3JlZGVudGlhbF9zZXQ6KDAtMCkoMS0wKSgyLTApKDMt +MCkoNC0wKSg1LTApKDYtMCkoNy0wKSg4LTApKDktMCkjMDpyZWc6c2xjOnBsYW5l +dGxhYjANBgkqhkiG9w0BAQQFAAOBgQBCYwXvYXbMiAi8hiZNFboYE812F0CT1T7U +PRQemorQcU/7SNZh8wOqGSsHSdA9XW5sC01skkxdOrkxTjGA+Nb1BL+vIFLe7wdp +26lQIA3239E9TUSXQlU9TqdALAC1OsmKgN+kbVfqIQ8U2eqAcUawm4h9/8TEV9xG +teVEYDdXpA== +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/client_keiko/keiko.cert b/gui/JavaApplication1/client_keiko/keiko.cert new file mode 100644 index 00000000..82fbfc7a --- /dev/null +++ b/gui/JavaApplication1/client_keiko/keiko.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVrZWlrbzAeFw0w +ODAzMjgwNDE5MzdaFw0xMzAzMjcwNDE5MzdaMBAxDjAMBgNVBAMTBWtlaWtvMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCXHLOL11UgObJS5pb8ftgz7kstltCD ++Ua1DSHKf8M1anRvcVnS1rOZ0r/IPdurWxRry3EKraBKwHO/qADcTVgjvXBia/zF +M46jmFmUFPdql2HZQqW7i+5QFVpIibfCGJUR3uwaQkkgmhYLe3FH79327oZiA5E/ ++xvyrZeTbL0IHwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAIGDtblGdZBm9C1irOwj +vcKM39SDb1MCb5zdBeuidVMPRazIHwMV3QYrrkQVnN9xffjGGyS77pKARYvDdFWm +Lm5LYP7fbRNndR7Y5VZT1uWJtIJn7LEA6fLoqMPftXwDpKYiLP6c/p11FgRYVlAC +WvE0MGOUIOsYSgBmvdcfEPzg +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/client_keiko/keiko.pkey b/gui/JavaApplication1/client_keiko/keiko.pkey new file mode 100644 index 00000000..03984b8b --- /dev/null +++ b/gui/JavaApplication1/client_keiko/keiko.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQCXHLOL11UgObJS5pb8ftgz7kstltCD+Ua1DSHKf8M1anRvcVnS +1rOZ0r/IPdurWxRry3EKraBKwHO/qADcTVgjvXBia/zFM46jmFmUFPdql2HZQqW7 +i+5QFVpIibfCGJUR3uwaQkkgmhYLe3FH79327oZiA5E/+xvyrZeTbL0IHwIDAQAB +AoGAPVG2Qg7VSkhfZmiP6FIIpboS46MJZiRnXty/U47Yxfo22Wojyvy40LjGfhkr +5LMG7F8Xtf+SxgKmdaVVBBCWrPp4OqkU/mal7mFEkc69rtJUigmsUsFv1SldgBq2 +qUYE337+dgP8+crziOEIA846Yrz69EnHSMKcEPAclxXCAPECQQDE35Em7pFKKRXx +d35pjh6UX0nWUEvxzGnNFazRMaal8R9wz4NKsbo/K46MbG+udbF0Qd6rcG4mCe+5 +1sFCsLx7AkEAxH7TJNSHAj+YyZr+g/fJ4l0tlIKZHNnZ30cnm20PVNr+lGe92lFw +QGlr0BJVKcNxFy2cE5zgmZdvegFTDl8rrQJBAIcQHcPIzZJEJ5K1+Nqvrpj52m0W +P1POehNBuIL3/i1AA+Lf6mG3FmA6IJyD1AarJaftfLa+9kJQdM9Y3tNC7rsCQQCk +FmSsNO4paoJkmRJBkgL9DWKqygSimynd0sW4fXJ4IgjGVXutfKSIpYBq2WRU4+jk +uinEFxVYLaXh9IkvTzphAkEAqyutr5X7XLe6E8km3MVgXgPjH3bn9Au4t/JWH7gV +Tc352qD5VFoByxpv57ZIhWF4dlqikFZYCIbuSgbKfUEsTg== +-----END RSA PRIVATE KEY----- diff --git a/gui/JavaApplication1/client_keiko/trusted_certs/geni_mng.cert b/gui/JavaApplication1/client_keiko/trusted_certs/geni_mng.cert new file mode 100644 index 00000000..9f9b5c30 --- /dev/null +++ b/gui/JavaApplication1/client_keiko/trusted_certs/geni_mng.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRnZW5pMB4XDTA4 +MDMwMjA4MDMzN1oXDTEzMDMwMTA4MDMzN1owDzENMAsGA1UEAxMEZ2VuaTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA+WJeTXaRH+mnoOa7FWdq2mZAMMFvO/o4 +cvG1ALMt1YuPFotCtyYwSgB1njbJasIUqpDaj9dPUBuJv03EjLA3N+g/QVJg+26c +LW85VA5tWNWuT6a59kWXlXI2uhjbTzjMOluN5cdmxTOFpaQ9+mnN3j58mHfIC8eS +4Q8FkcNWAR0CAwEAATANBgkqhkiG9w0BAQQFAAOBgQA7qB8a1Pkbve0r8Fmknicc +6gxWhAmMUTSFtAhS1HFMZU+pmKEbTudh2L6DrAUVV5JCbQQg0XuTbFZfDGBSgx3x +k+NgAqOlNVGixGDH7Gg164jVt4Lh+tu+FO3AaP8qk1LYqzVhofeXPcVxNwlTGD9q +rBwyf1+Su4n1IPiqGi9yyA== +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/client_keiko/trusted_certs/geni_slc.cert b/gui/JavaApplication1/client_keiko/trusted_certs/geni_slc.cert new file mode 100644 index 00000000..9f9b5c30 --- /dev/null +++ b/gui/JavaApplication1/client_keiko/trusted_certs/geni_slc.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRnZW5pMB4XDTA4 +MDMwMjA4MDMzN1oXDTEzMDMwMTA4MDMzN1owDzENMAsGA1UEAxMEZ2VuaTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA+WJeTXaRH+mnoOa7FWdq2mZAMMFvO/o4 +cvG1ALMt1YuPFotCtyYwSgB1njbJasIUqpDaj9dPUBuJv03EjLA3N+g/QVJg+26c +LW85VA5tWNWuT6a59kWXlXI2uhjbTzjMOluN5cdmxTOFpaQ9+mnN3j58mHfIC8eS +4Q8FkcNWAR0CAwEAATANBgkqhkiG9w0BAQQFAAOBgQA7qB8a1Pkbve0r8Fmknicc +6gxWhAmMUTSFtAhS1HFMZU+pmKEbTudh2L6DrAUVV5JCbQQg0XuTbFZfDGBSgx3x +k+NgAqOlNVGixGDH7Gg164jVt4Lh+tu+FO3AaP8qk1LYqzVhofeXPcVxNwlTGD9q +rBwyf1+Su4n1IPiqGi9yyA== +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/client_keiko/trusted_certs/planetlab_mng.cert b/gui/JavaApplication1/client_keiko/trusted_certs/planetlab_mng.cert new file mode 100644 index 00000000..c1b42112 --- /dev/null +++ b/gui/JavaApplication1/client_keiko/trusted_certs/planetlab_mng.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDUwNVoXDTEzMDMyNzAzNDUwNVowFDESMBAGA1UEAxMJcGxh +bmV0bGFiMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1li/h52QbJtucIQUE +YZMZkA8tWcS9f0VkAPNS5/OeRhaQ/iLERQI2EV/rmPCuARQhlZLhm5Y5vxvHG/ba +6Rb9vYKEMDujZwdc3QjhAbYS72V28rbdIeHysJ7JeGz9J1ODLSzbcCt5amLZcMPm +u/G64ieWI8QMUxYgCE1ut3bI1QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAJH5KqIU +2lrA9calI3oklbWpduiZspbwCUkhr8PNVDnkXSI1K+egDqFTaANVp1DxXU8qaDS6 +X5+s9Qf9FQ5+9mfSaocma6YW4Qfb3Zm/mYmpt+nknTlnVuEaTENyBIPfr0pDqzld +GGcYPul25KknFmdPOrqAUzma9n568u2KYlfz +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/client_keiko/trusted_certs/planetlab_slc.cert b/gui/JavaApplication1/client_keiko/trusted_certs/planetlab_slc.cert new file mode 100644 index 00000000..9f5b851d --- /dev/null +++ b/gui/JavaApplication1/client_keiko/trusted_certs/planetlab_slc.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTEzMDMyNzAzNDQ0OFowFDESMBAGA1UEAxMJcGxh +bmV0bGFiMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1NiZzJyIz8uZVHahZ +QqcmhsxROY8YjjRF/WGow9t8hvaimScO0yH3VUEPolblSM1Juke6M3vGO7aT7bJC +apb7kuoHlrS35k0K/vcOOMXS80gpT8oltKbfJrlt8kmtEXm7F4fh8UiLm6n/GEY9 +OPFuvUtQqIFqG8DdBd3SEhi6UQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABRIUVzW +JbwQKnqM3rVHJoSgtYWpgDvJosLCrLZhsXrukOsC8Gs8V6vPTPO7kofdUbHQKRnL +xp1nI5hlWIlq/XOnh+NEPZaB2SAKwfl3FZwUqjaEVd/VYOfsRryZtiUz4sL3CtXN +C8i/I4HwCnrl/pmzbprqpGq+RJTa5yLmBw6r +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/client_osaka/acc_file b/gui/JavaApplication1/client_osaka/acc_file new file mode 100644 index 00000000..a7c9fedb --- /dev/null +++ b/gui/JavaApplication1/client_osaka/acc_file @@ -0,0 +1,39 @@ +-----BEGIN CERTIFICATE----- +MIIB9TCCAV4CAQAwDQYJKoZIhvcNAQEEBQAwDTELMAkGA1UEAxMCanAwHhcNMDgw +MzI4MjExMDUxWhcNMDgwNzIyMTQ1NzMxWjAaMRgwFgYDVQQDEw9HRU5JIEFjY291 +bnRpbmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANAGdic1KHHvvlTE7id6 +fmQU4HZ5iZwp9RqFiflTlvc/fJelxS8cV51rE878eZymgbVYwLIcO/Tyvfkg+axM +nBzzWgzSX4wk/zuuNPV0ZwzG0Vf9EN/hzqzu1KWRMxT0/vz6Kri33eTgbyURWp4D +OGYRqR7E573fDd8SWGfWW7AXAgMBAAGjXTBbMFkGA1UdEQEB/wRPME2GS2h0dHA6 +Ly8jaHJuOnBsYW5ldGxhYi5qcC5vc2FrYSN1dWlkOjE1MTI4NTYzNzgzNjk1MTc5 +NTEyOTg5MzAyMTMzNDQ0OTQyMjMyOTANBgkqhkiG9w0BAQQFAAOBgQAfdUPl4pLy +ILFiIvr7a4cH+hfgTvJOwr2U07RZfjiu5qxugOwPJJT0S/RLRRBdaL1VOM/f3ZLl +tRM7JBtaHw5iNQlVAJIWV9rhEKuDywc7Yw6sfsnmNCLie7M2QX9WpQ3G/l21y33G +q6wKxV8TVAj04juCHdJ16FQnx/612VtDOA== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIB9TCCAV4CAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODA0MDAyMloXDTA4MDcyMTIxNDcwMlowGjEYMBYGA1UEAxMPR0VO +SSBBY2NvdW50aW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDgD+Z79eOf +iurH0dBuwTFgTfWafbVQXcsY6IQs3o+lV9n7uNAIy2+puX30TZPVja6AsYbLXJsK +2xMUYWuqcyErA9DCD1Ln+PLEJnskx5KQnVm5Gw/xbVOxDSOWQOXUKMxRbRCtlFtZ +Ar/iM40lSpgUTHzHBGOlH7lNeY3UZvLEZQIDAQABo1YwVDBSBgNVHREBAf8ESDBG +hkRodHRwOi8vI2hybjpwbGFuZXRsYWIuanAjdXVpZDoxOTUzNTQ1Nzg5NjI5MDI3 +NTY4NTk3NzE3OTI3NzU0NzI4MTY0MTANBgkqhkiG9w0BAQQFAAOBgQBFnESK6zc+ +GxI/XET7boZ8GSMbKwSQoGf33Sz1qwRp31nf4HvoHXl6j6DmpFtcEqeK8rTP+AiX +n6b14cfXdQ0Px+00/zDNcDyVzh01V6KMrDeVhZrpiejIqW+vPSjMMoO1/nYrY5r4 +gf8HYww8uY1RciEeLPZkcJtR0Gq2jnkT4Q== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIB8zCCAVwCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTA4MDcyMTIxMzEyOFowGjEYMBYGA1UEAxMPR0VO +SSBBY2NvdW50aW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1NiZzJyIz +8uZVHahZQqcmhsxROY8YjjRF/WGow9t8hvaimScO0yH3VUEPolblSM1Juke6M3vG +O7aT7bJCapb7kuoHlrS35k0K/vcOOMXS80gpT8oltKbfJrlt8kmtEXm7F4fh8UiL +m6n/GEY9OPFuvUtQqIFqG8DdBd3SEhi6UQIDAQABo1QwUjBQBgNVHREBAf8ERjBE +hkJodHRwOi8vI2hybjpwbGFuZXRsYWIjdXVpZDoxNjQyMTQ0ODk4NTIwNjUyMzY3 +MjM5NzIxNzQ2MjkyMjIyNjk3MTgwDQYJKoZIhvcNAQEEBQADgYEAUrjefqbA5c69 +KfNh/ENOp0xFnvWn3UReOo2mhYZI2LWyX41g/q/InVogh8aJ7LXHI6wjHL+PGz3n +fU+Bl2fL7GAL0i6Wr1JRbT2YHMJd97C11hWPLg+1Tt3MHwMRf0X8v7I3pRSJOIq3 +si0AZRHgngrWmhf85bKAqS210OWHWOM= +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/client_osaka/clientstub.py b/gui/JavaApplication1/client_osaka/clientstub.py new file mode 100755 index 00000000..1a263317 --- /dev/null +++ b/gui/JavaApplication1/client_osaka/clientstub.py @@ -0,0 +1,154 @@ +#!/usr/bin/python + +import os, sys +from M2Crypto import SSL +sys.path.append('/home/soners/work/geni/rpc/util') +sys.path.append('/home/soners/work/geni/rpc/util/sec') +from sec import * + +SERVER_HOST = '127.0.0.1' +SERVER_PORT = 8002 +AUTH_HOST = '127.0.0.1' +AUTH_PORT = 8002 +MAX_RESULT = 3000 + +renew_res1 = 0 +renew_res2 = 0 + +def verify_callback(preverify_ok, ctx): + return 1 + +class GENIClient(): + def __init__(self, hrn, type, id_file, id_key_file, acc_file, cred_file): + self.hrn = hrn + self.type = type + #check if the certificate and the private key exists, terminate if not + if not os.path.exists(id_file) or not os.path.exists(id_key_file) : + print 'The certificate or the private key does not exist.\n' + os.exit(1) + #check the acc and cred files + if not os.path.exists(acc_file) or not is_valid_chain(acc_file): + open(acc_file, 'w').write('ANONYM') + if not os.path.exists(cred_file) or not is_valid_chain(cred_file): + open(cred_file, 'w').write('NO_CRED') + #initialize the security system + self.sec = Sec('client', id_file, id_key_file, acc_file, cred_file) + #ssl parameters + self.ctx = SSL.Context() + self.ctx.load_cert(self.sec.id_file,self.sec.id_key_file) + self.ctx.set_verify(SSL.verify_peer | SSL.verify_fail_if_no_peer_cert, depth=9, callback=verify_callback) + + def connect(self, host, port): + #if the acc and cred needs renewal then do call to authority + if self.type == 'user' or self.type == 'slice' or self.type == 'SA': + reg_type = 'slice' + else: + reg_type ='component' + renew_res1 = renew_cert('accounting', '.', reg_type, self.hrn, None, None, (AUTH_HOST, AUTH_PORT), self.sec) + renew_res2 = renew_cert('credential', '.', reg_type, self.hrn, None, None, (AUTH_HOST, AUTH_PORT), self.sec) + if renew_res1 == None: + print "There is no certificate in the directory "+"./\n" + os.exit(0) + #connect to server + server = SSL.Connection(self.ctx) + server.connect((host,port)) + peer = self.sec.auth_protocol(server) + if peer: + return server + else: + return None + +def toFileFormat(res_str): + out_str = "" + try: + res_dict = eval(res_str) + if res_dict['geni'].has_key('pubkey'): # in public key, replace '\n' with ' ' + pubkey = res_dict['geni']['pubkey'] + pubkey = pubkey.split('-----BEGIN RSA PRIVATE KEY-----')[1].split('-----END RSA PRIVATE KEY-----')[0].replace('\n',' ') + pubkey = '-----BEGIN RSA PRIVATE KEY-----'+pubkey+'-----END RSA PRIVATE KEY-----' + res_dict['geni']['pubkey'] = pubkey + + if res_dict.has_key('message'): + out_str = res_dict['message']+'\n' + else: + out_str = "{'geni':{\n" + for key in res_dict['geni']: + val = '' + if res_dict['geni'][key] == None: + val = '' + elif isinstance(res_dict['geni'][key], str): + val = res_dict['geni'][key] + else: + val = str(res_dict['geni'][key]) + out_str = out_str+"'"+key+"':"+val+"\n" + out_str = out_str + "}\n" + out_str = out_str + "'pl':{\n" + for key in res_dict['pl']: + val = '' + if res_dict['pl'][key] == None: + val = '' + if isinstance(res_dict['pl'][key], str): + val = res_dict['pl'][key] + else: + val = str(res_dict['pl'][key]) + out_str = out_str+"'"+key+"':"+val+"\n" + out_str = out_str + "}}" + except: + out_str = res_str + return out_str + +def evaluate(call_data): + call_data = eval(call_data) + #adjust the key format to obey server's storage format + if call_data['g_params'].has_key('pubkey'): #replace the ' ' with '\n' + pubkey = call_data['g_params']['pubkey'] + pubkey = pubkey.split('-----BEGIN RSA PRIVATE KEY-----')[1].split('-----END RSA PRIVATE KEY-----')[0].replace(' ','\n') + pubkey = '-----BEGIN RSA PRIVATE KEY-----'+pubkey+'-----END RSA PRIVATE KEY-----' + call_data['g_params']['pubkey'] = pubkey + return call_data + +def main(): + try: + #read the input file + fp = open('tmp_input.txt', 'r') + user_data = fp.readline() + call_data = fp.read() + print 'Read file.\n' + + #client related info + HRN = user_data.split(' ')[0] + TYPE = user_data.split(' ')[1].split('\n')[0] + name = get_leaf(HRN) + ID_FILE = name+'.cert' + ID_KEY_FILE = name+'.pkey' + ACC_FILE = 'acc_file' + CRED_FILE = 'cred_file' + my_client = GENIClient(HRN, TYPE, ID_FILE, ID_KEY_FILE, ACC_FILE, CRED_FILE) + print 'Constructed client.\n' + + #operation call + message = evaluate(call_data) + server = my_client.connect(SERVER_HOST, SERVER_PORT) + if server: + server.write(str(message)) + result = toFileFormat(server.read(MAX_RESULT)) + server.close() + print 'Performed the call.\n' + else: + result = "Error in client data structures.\n" + + if renew_res2 == 1: + result = "Cred renewed.\n"+result + if renew_res1 == 1: + result = "Acc renewed.\n"+result + #write result to output file + open('tmp_output.txt','w').write(result) + print 'Written to file.\n' + except: + #write result to output file + open('tmp_output.txt','w').write("An error occurred in client stub.\n") + print 'Exception occurred.\n' + +if __name__=="__main__": + print 'Client started.\n' + main() diff --git a/gui/JavaApplication1/client_osaka/cred_file b/gui/JavaApplication1/client_osaka/cred_file new file mode 100644 index 00000000..2dc4a361 --- /dev/null +++ b/gui/JavaApplication1/client_osaka/cred_file @@ -0,0 +1,44 @@ +-----BEGIN CERTIFICATE----- +MIICUDCCAbkCAQAwDQYJKoZIhvcNAQEEBQAwDTELMAkGA1UEAxMCanAwHhcNMDgw +MzI4MjExMDUxWhcNMDgwNTA5MTMxMDUxWjAfMR0wGwYDVQQDExRSZWdpc3RyeSBj +cmVkZW50aWFsczCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0AZ2JzUoce++ +VMTuJ3p+ZBTgdnmJnCn1GoWJ+VOW9z98l6XFLxxXnWsTzvx5nKaBtVjAshw79PK9 ++SD5rEycHPNaDNJfjCT/O6409XRnDMbRV/0Q3+HOrO7UpZEzFPT+/PoquLfd5OBv +JRFangM4ZhGpHsTnvd8N3xJYZ9ZbsBcCAwEAAaOBsjCBrzCBrAYDVR0RAQH/BIGh +MIGehoGbaHR0cDovLyNjcmVkZW50aWFsX3NldDooMi0wKSg0LTApKDYtMCkoNy0w +KSg4LTApKDktMCkoMC0xKSgxLTEpKDItMSkoMy0xKSg0LTEpKDUtMSkoNi0xKSg3 +LTEpKDgtMSkoOS0xKSMwOnJlZzpzbGM6cGxhbmV0bGFiLmpwIzE6cmVnOnNsYzpw +bGFuZXRsYWIuanAub3Nha2EwDQYJKoZIhvcNAQEEBQADgYEAOjGYfQry2jLhVTCx +7aygF13tq8+h7l8AzEOjTldzFF9h+OQscT74FP6e7hneDgI3EqBwWrW6E8yplJkS +flpKKuShlfSDoY3iLalSqZLhQHGX6fZ3oNlKGHJmJtL/QPhzs4tMwm5Jf0IXNadV +KVTpeZ1/xmfEJ8+E9HxYEvrKeEI= +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIICTjCCAbcCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODA0MjY0NVoXDTA4MDUwODIwMjY0NVowHzEdMBsGA1UEAxMUUmVn +aXN0cnkgY3JlZGVudGlhbHMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOAP +5nv145+K6sfR0G7BMWBN9Zp9tVBdyxjohCzej6VX2fu40AjLb6m5ffRNk9WNroCx +hstcmwrbExRha6pzISsD0MIPUuf48sQmeyTHkpCdWbkbD/FtU7ENI5ZA5dQozFFt +EK2UW1kCv+IzjSVKmBRMfMcEY6UfuU15jdRm8sRlAgMBAAGjgakwgaYwgaMGA1Ud +EQEB/wSBmDCBlYaBkmh0dHA6Ly8jY3JlZGVudGlhbF9zZXQ6KDItMCkoNC0wKSg2 +LTApKDctMCkoOC0wKSg5LTApKDAtMSkoMS0xKSgyLTEpKDMtMSkoNC0xKSg1LTEp +KDYtMSkoNy0xKSg4LTEpKDktMSkjMDpyZWc6c2xjOnBsYW5ldGxhYiMxOnJlZzpz +bGM6cGxhbmV0bGFiLmpwMA0GCSqGSIb3DQEBBAUAA4GBAGR3d1rIelq++rJjlerk ++Xlbg+siLcDfNrOE4BgPWqZz9G6QDg+oxpmyP7SkqtO/u/D0PLyndcdKqpXsEisw +28KZtudxBTS5cRpTBCZnoUAGBKLJ3pwRqozwKxxCG8rmsUeGl0xdAjLVw9tzLppO +7LyVz7tZQkIyNF23gv+z9IQU +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIICEzCCAXwCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTA4MDUwODE5NDQ0OFowHzEdMBsGA1UEAxMUUmVn +aXN0cnkgY3JlZGVudGlhbHMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALU2 +JnMnIjPy5lUdqFlCpyaGzFE5jxiONEX9YajD23yG9qKZJw7TIfdVQQ+iVuVIzUm6 +R7oze8Y7tpPtskJqlvuS6geWtLfmTQr+9w44xdLzSClPyiW0pt8muW3ySa0RebsX +h+HxSIubqf8YRj048W69S1CogWobwN0F3dISGLpRAgMBAAGjbzBtMGsGA1UdEQEB +/wRhMF+GXWh0dHA6Ly8jY3JlZGVudGlhbF9zZXQ6KDAtMCkoMS0wKSgyLTApKDMt +MCkoNC0wKSg1LTApKDYtMCkoNy0wKSg4LTApKDktMCkjMDpyZWc6c2xjOnBsYW5l +dGxhYjANBgkqhkiG9w0BAQQFAAOBgQBCYwXvYXbMiAi8hiZNFboYE812F0CT1T7U +PRQemorQcU/7SNZh8wOqGSsHSdA9XW5sC01skkxdOrkxTjGA+Nb1BL+vIFLe7wdp +26lQIA3239E9TUSXQlU9TqdALAC1OsmKgN+kbVfqIQ8U2eqAcUawm4h9/8TEV9xG +teVEYDdXpA== +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/client_osaka/osaka.cert b/gui/JavaApplication1/client_osaka/osaka.cert new file mode 100644 index 00000000..ce4da44a --- /dev/null +++ b/gui/JavaApplication1/client_osaka/osaka.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVvc2FrYTAeFw0w +ODAzMjgwMzQ0NTBaFw0xMzAzMjcwMzQ0NTBaMBAxDjAMBgNVBAMTBW9zYWthMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDQBnYnNShx775UxO4nen5kFOB2eYmc +KfUahYn5U5b3P3yXpcUvHFedaxPO/HmcpoG1WMCyHDv08r35IPmsTJwc81oM0l+M +JP87rjT1dGcMxtFX/RDf4c6s7tSlkTMU9P78+iq4t93k4G8lEVqeAzhmEakexOe9 +3w3fElhn1luwFwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABOBGbnYsv2xjOXidUtp +e1woERQGJRe7HJrbo9NyI5ozjSLt9yphY11ZmNex2IhKIrmbRSPfDnKNYaMHFOpz +qbJMCmC4uUIUd9HY8bg4mQ4wjwdWkLA9uWlmpAFRoIY3eNEvv5tpUnD3sV1dEDsQ +uQQcjxVTSgQQgjpE1KJ/KQ6q +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/client_osaka/osaka.pkey b/gui/JavaApplication1/client_osaka/osaka.pkey new file mode 100644 index 00000000..25155f25 --- /dev/null +++ b/gui/JavaApplication1/client_osaka/osaka.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDQBnYnNShx775UxO4nen5kFOB2eYmcKfUahYn5U5b3P3yXpcUv +HFedaxPO/HmcpoG1WMCyHDv08r35IPmsTJwc81oM0l+MJP87rjT1dGcMxtFX/RDf +4c6s7tSlkTMU9P78+iq4t93k4G8lEVqeAzhmEakexOe93w3fElhn1luwFwIDAQAB +AoGAflTuPDFUNp1aATD3UJJbX3wuNMTqhSQV7d1bRUc2T0EG8TGC5nFX5Am7JeC+ +GhwkeXVE0OXEo6UnKbyU48ZCp1lL70bjiPvhS/wceTbjuxJq2wS2hjIwf9NKyZ1j +ppO0gpvxOVNbIgyS3Yj2T98sYkJCVBnBN2huUsfzmHSeKIECQQD3SOiKRGfla+Du +dfBY7tKNxxXYTZwV2eYKhMZFW6rMcGboqoAXFMVUTEdHB2Ozk2wHsKcDb3WFpqQI +0QFqdNefAkEA11tW5cDIjiLeppSi57knZr9aYfysJcHslez9wgFGgK72s8XB8CfS +QqzPTmQm4F3NVM+5Y5PbMp55ntEiwPg0iQJAMnGsBjCoJRPZoatraSjmyMc4/JPw +aEC3/aNSMundMLEpPQMy+AJjsquQyruGKibDndn6Z+f/yFDTG31PVaEaLwJAV8AQ +GG4FSmVK8/V8q472TxeJbIPYYUozbKO0gmiioaypOXdLHuAa/LANiJOmg6W1FOnP +UJPerTGFvQDaeGaqgQJBAItAXexGSQEA1AKVzP31zorlb6zBh6dTxxrMhfeROwZx +drr47bhcwuiJ011xXzea9iy1dWJOtC8JrQ/YVw14Sjc= +-----END RSA PRIVATE KEY----- diff --git a/gui/JavaApplication1/client_osaka/trusted_certs/geni_mng.cert b/gui/JavaApplication1/client_osaka/trusted_certs/geni_mng.cert new file mode 100644 index 00000000..9f9b5c30 --- /dev/null +++ b/gui/JavaApplication1/client_osaka/trusted_certs/geni_mng.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRnZW5pMB4XDTA4 +MDMwMjA4MDMzN1oXDTEzMDMwMTA4MDMzN1owDzENMAsGA1UEAxMEZ2VuaTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA+WJeTXaRH+mnoOa7FWdq2mZAMMFvO/o4 +cvG1ALMt1YuPFotCtyYwSgB1njbJasIUqpDaj9dPUBuJv03EjLA3N+g/QVJg+26c +LW85VA5tWNWuT6a59kWXlXI2uhjbTzjMOluN5cdmxTOFpaQ9+mnN3j58mHfIC8eS +4Q8FkcNWAR0CAwEAATANBgkqhkiG9w0BAQQFAAOBgQA7qB8a1Pkbve0r8Fmknicc +6gxWhAmMUTSFtAhS1HFMZU+pmKEbTudh2L6DrAUVV5JCbQQg0XuTbFZfDGBSgx3x +k+NgAqOlNVGixGDH7Gg164jVt4Lh+tu+FO3AaP8qk1LYqzVhofeXPcVxNwlTGD9q +rBwyf1+Su4n1IPiqGi9yyA== +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/client_osaka/trusted_certs/geni_slc.cert b/gui/JavaApplication1/client_osaka/trusted_certs/geni_slc.cert new file mode 100644 index 00000000..9f9b5c30 --- /dev/null +++ b/gui/JavaApplication1/client_osaka/trusted_certs/geni_slc.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRnZW5pMB4XDTA4 +MDMwMjA4MDMzN1oXDTEzMDMwMTA4MDMzN1owDzENMAsGA1UEAxMEZ2VuaTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA+WJeTXaRH+mnoOa7FWdq2mZAMMFvO/o4 +cvG1ALMt1YuPFotCtyYwSgB1njbJasIUqpDaj9dPUBuJv03EjLA3N+g/QVJg+26c +LW85VA5tWNWuT6a59kWXlXI2uhjbTzjMOluN5cdmxTOFpaQ9+mnN3j58mHfIC8eS +4Q8FkcNWAR0CAwEAATANBgkqhkiG9w0BAQQFAAOBgQA7qB8a1Pkbve0r8Fmknicc +6gxWhAmMUTSFtAhS1HFMZU+pmKEbTudh2L6DrAUVV5JCbQQg0XuTbFZfDGBSgx3x +k+NgAqOlNVGixGDH7Gg164jVt4Lh+tu+FO3AaP8qk1LYqzVhofeXPcVxNwlTGD9q +rBwyf1+Su4n1IPiqGi9yyA== +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/client_osaka/trusted_certs/planetlab_mng.cert b/gui/JavaApplication1/client_osaka/trusted_certs/planetlab_mng.cert new file mode 100644 index 00000000..c1b42112 --- /dev/null +++ b/gui/JavaApplication1/client_osaka/trusted_certs/planetlab_mng.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDUwNVoXDTEzMDMyNzAzNDUwNVowFDESMBAGA1UEAxMJcGxh +bmV0bGFiMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1li/h52QbJtucIQUE +YZMZkA8tWcS9f0VkAPNS5/OeRhaQ/iLERQI2EV/rmPCuARQhlZLhm5Y5vxvHG/ba +6Rb9vYKEMDujZwdc3QjhAbYS72V28rbdIeHysJ7JeGz9J1ODLSzbcCt5amLZcMPm +u/G64ieWI8QMUxYgCE1ut3bI1QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAJH5KqIU +2lrA9calI3oklbWpduiZspbwCUkhr8PNVDnkXSI1K+egDqFTaANVp1DxXU8qaDS6 +X5+s9Qf9FQ5+9mfSaocma6YW4Qfb3Zm/mYmpt+nknTlnVuEaTENyBIPfr0pDqzld +GGcYPul25KknFmdPOrqAUzma9n568u2KYlfz +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/client_osaka/trusted_certs/planetlab_slc.cert b/gui/JavaApplication1/client_osaka/trusted_certs/planetlab_slc.cert new file mode 100644 index 00000000..9f5b851d --- /dev/null +++ b/gui/JavaApplication1/client_osaka/trusted_certs/planetlab_slc.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTEzMDMyNzAzNDQ0OFowFDESMBAGA1UEAxMJcGxh +bmV0bGFiMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1NiZzJyIz8uZVHahZ +QqcmhsxROY8YjjRF/WGow9t8hvaimScO0yH3VUEPolblSM1Juke6M3vGO7aT7bJC +apb7kuoHlrS35k0K/vcOOMXS80gpT8oltKbfJrlt8kmtEXm7F4fh8UiLm6n/GEY9 +OPFuvUtQqIFqG8DdBd3SEhi6UQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABRIUVzW +JbwQKnqM3rVHJoSgtYWpgDvJosLCrLZhsXrukOsC8Gs8V6vPTPO7kofdUbHQKRnL +xp1nI5hlWIlq/XOnh+NEPZaB2SAKwfl3FZwUqjaEVd/VYOfsRryZtiUz4sL3CtXN +C8i/I4HwCnrl/pmzbprqpGq+RJTa5yLmBw6r +-----END CERTIFICATE----- diff --git a/gui/JavaApplication1/dist/JavaApplication1.jar b/gui/JavaApplication1/dist/JavaApplication1.jar new file mode 100644 index 0000000000000000000000000000000000000000..f346822defdf4f8c72bf6737e2683e6b654662a6 GIT binary patch literal 52319 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�bNFH3#k|{h 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 literal 0 HcmV?d00001 diff --git a/gui/JavaApplication1/manifest.mf b/gui/JavaApplication1/manifest.mf new file mode 100644 index 00000000..328e8e5b --- /dev/null +++ b/gui/JavaApplication1/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/gui/JavaApplication1/nbproject/build-impl.xml b/gui/JavaApplication1/nbproject/build-impl.xml new file mode 100644 index 00000000..d21a5a0a --- /dev/null +++ b/gui/JavaApplication1/nbproject/build-impl.xml @@ -0,0 +1,541 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + + + + + + java -cp "${run.classpath.with.dist.jar}" ${main.class} + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + diff --git a/gui/JavaApplication1/nbproject/genfiles.properties b/gui/JavaApplication1/nbproject/genfiles.properties new file mode 100644 index 00000000..d7c8159a --- /dev/null +++ b/gui/JavaApplication1/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=6777d69e +build.xml.script.CRC32=09de7c06 +build.xml.stylesheet.CRC32=240b97a2 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=6777d69e +nbproject/build-impl.xml.script.CRC32=b93da968 +nbproject/build-impl.xml.stylesheet.CRC32=65d7ca21 diff --git a/gui/JavaApplication1/nbproject/private/private.properties b/gui/JavaApplication1/nbproject/private/private.properties new file mode 100644 index 00000000..c36df805 --- /dev/null +++ b/gui/JavaApplication1/nbproject/private/private.properties @@ -0,0 +1,4 @@ +application.args= +javac.debug=true +javadoc.preview=true +user.properties.file=/home/soners/.netbeans/5.5.1/build.properties diff --git a/gui/JavaApplication1/nbproject/private/private.xml b/gui/JavaApplication1/nbproject/private/private.xml new file mode 100644 index 00000000..c1f155a7 --- /dev/null +++ b/gui/JavaApplication1/nbproject/private/private.xml @@ -0,0 +1,4 @@ + + + + diff --git a/gui/JavaApplication1/nbproject/project.properties b/gui/JavaApplication1/nbproject/project.properties new file mode 100644 index 00000000..58e400c2 --- /dev/null +++ b/gui/JavaApplication1/nbproject/project.properties @@ -0,0 +1,57 @@ +application.args= +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/JavaApplication1.jar +dist.javadoc.dir=${dist.dir}/javadoc +jar.compress=false +javac.classpath=\ + ${libs.swing-layout.classpath} +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.source=1.5 +javac.target=1.5 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir}:\ + ${libs.junit.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding= +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class=javaapplication1.GeniGUI +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project +# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value +# or test-sys-prop.name=value to set system properties for unit tests): +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +src.dir=src +test.src.dir=test diff --git a/gui/JavaApplication1/nbproject/project.xml b/gui/JavaApplication1/nbproject/project.xml new file mode 100644 index 00000000..f3875b64 --- /dev/null +++ b/gui/JavaApplication1/nbproject/project.xml @@ -0,0 +1,16 @@ + + + org.netbeans.modules.java.j2seproject + + + JavaApplication1 + 1.6.5 + + + + + + + + + diff --git a/gui/JavaApplication1/src/javaapplication1/DisplayHandle.java b/gui/JavaApplication1/src/javaapplication1/DisplayHandle.java new file mode 100644 index 00000000..e755de91 --- /dev/null +++ b/gui/JavaApplication1/src/javaapplication1/DisplayHandle.java @@ -0,0 +1,570 @@ +/* + * DisplayHandle.java + * + * Created on March 29, 2008, 2:42 AM + * + * To change this template, choose Tools | Template Manager + * and open the template in the editor. + */ + +package javaapplication1; + +import java.io.*; +import javax.swing.JPanel; +import java.awt.*; +import javax.swing.*; + +/** + * + * @author soners + */ +public class DisplayHandle { + + /** Creates a new instance of DisplayHandle */ + public DisplayHandle(BufferedWriter outCommand) { + this.outCommand = outCommand; + createCompListUser(); + createCompListSlice(); + createCompListNode(); + createCompListSite(); + } + + private void createCompListNode(){ + compList_node = new GuiComponent[33]; + GuiComponent[] compList = compList_node; + String[] tmplist1 = {"readable","pl"}; + String[] tmplist2 = {"writable","pl"}; + String[] tmplist3 = {"readable","geni"}; + String[] tmplist4 = {"writable","geni"}; + compList[0] = new GuiComponent("node_id", tmplist1, "text", "Node Id", ""); + compList[1] = new GuiComponent("last_updated", tmplist1, "text", "Last Updated", ""); + compList[2] = new GuiComponent("boot_state", tmplist2, "combo", "Boot state", "boot, dbg, inst, new, rcnf, rins"); + compList[3] = new GuiComponent("site_id", tmplist1, "num", "Site Id", ""); + compList[4] = new GuiComponent("pcu_ids", tmplist2, "num", "PCU Ids", ""); + compList[5] = new GuiComponent("session", tmplist1, "text", "Session", ""); + compList[6] = new GuiComponent("key", tmplist2, "key", "Key", ""); + compList[7] = new GuiComponent("conf_file_ids", tmplist2, "text", "Conf file Ids", ""); + compList[8] = new GuiComponent("ssh_rsa_key", tmplist1, "text", "SSH RSA Key", ""); + compList[9] = new GuiComponent("ssh_rsa_key_write", tmplist2, "key", "SSH RSA Key", ""); + compList[10] = new GuiComponent("uuid", tmplist1, "text", "UUID", ""); + compList[11] = new GuiComponent("nodegroup_ids", tmplist2, "num", "Node Group Ids", ""); + compList[12] = new GuiComponent("slice_ids_whitelist", tmplist2, "text", "Slice Ids Whitelist", ""); + compList[13] = new GuiComponent("last_contact", tmplist2, "text", "Last Contact", ""); + compList[14] = new GuiComponent("nodenetwork_ids", tmplist2, "text", "Node Network Ids", ""); + compList[15] = new GuiComponent("peer_node_id", tmplist2, "num", "Peer Node Id", ""); + compList[16] = new GuiComponent("hostname", tmplist2, "text", "Hostname", "randomsite.edu"); + compList[17] = new GuiComponent("slice_ids", tmplist1, "num", "Slice Ids", ""); + compList[18] = new GuiComponent("boot_nonce", tmplist2, "text", "Boot Nonce", ""); + compList[19] = new GuiComponent("version", tmplist2, "text", "Version", "PlanetLab BootCD 3.1"); + compList[20] = new GuiComponent("date_created", tmplist1, "text", "Date Created", ""); + compList[21] = new GuiComponent("model", tmplist2, "text", "Model", "Dell OptiPlex GX280"); + compList[22] = new GuiComponent("peer_id", tmplist1, "num", "Peer Id", ""); + compList[23] = new GuiComponent("ports", tmplist2, "text", "Ports", ""); + compList[24] = new GuiComponent("description", tmplist4, "text", "Description", "New node for testing purposes"); + compList[25] = new GuiComponent("rights", tmplist4, "text", "Rights", ""); + compList[26] = new GuiComponent("pubkey", tmplist3, "text", "GENI Public key", ""); + compList[27] = new GuiComponent("pubkey_write", tmplist4, "key", "GENI Public key", ""); + compList[28] = new GuiComponent("wrapperurl", tmplist4, "text", "Wrapper URL", "local"); + compList[29] = new GuiComponent("disabled", tmplist3, "bool", "Disabled", "Yes, No"); + compList[30] = new GuiComponent("userlist", tmplist4, "text", "User List", ""); + compList[31] = new GuiComponent("pointer", tmplist3, "num", "PL Pointer", ""); + compList[32] = new GuiComponent("g_uuid", tmplist3, "text", "GENI UUID", ""); + + } + + private void createCompListUser(){ + compList_user = new GuiComponent[28]; + GuiComponent[] compList = compList_user; + String[] tmplist1 = {"readable","pl"}; + String[] tmplist2 = {"writable","pl"}; + String[] tmplist3 = {"readable","geni"}; + String[] tmplist4 = {"writable","geni"}; + compList[0] = new GuiComponent("person_id", tmplist1, "num", "Person Id", ""); + compList[1] = new GuiComponent("bio", tmplist2, "text", "Bio", ""); + compList[2] = new GuiComponent("first_name", tmplist2, "text", "First Name", ""); + compList[3] = new GuiComponent("last_name", tmplist2, "text", "Last Name", ""); + compList[4] = new GuiComponent("last_updated", tmplist1, "text", "Last Updated", ""); + compList[5] = new GuiComponent("key_ids", tmplist2, "num", "Key Ids", ""); + compList[6] = new GuiComponent("phone", tmplist2, "text", "Phone", ""); + compList[7] = new GuiComponent("peer_person_id", tmplist2, "num", "Peer Person Id", ""); + compList[8] = new GuiComponent("role_ids", tmplist2, "num", "Role Ids", ""); + compList[9] = new GuiComponent("site_ids", tmplist1, "num", "Site Ids", ""); + compList[10] = new GuiComponent("uuid", tmplist1, "text", "UUID", ""); + compList[11] = new GuiComponent("roles", tmplist2, "num", "Roles", ""); + compList[12] = new GuiComponent("title", tmplist2, "text", "Title", ""); + compList[13] = new GuiComponent("url", tmplist2, "text", "Url", "someuser.dom.edu"); + compList[14] = new GuiComponent("enabled", tmplist2, "bool", "Enabled", "Yes, No"); + compList[15] = new GuiComponent("slice_ids", tmplist2, "num", "Slice Ids", ""); + compList[16] = new GuiComponent("date_created", tmplist1, "text", "Date Created", ""); + compList[17] = new GuiComponent("peer_id", tmplist2, "num", "Peer Id", ""); + compList[18] = new GuiComponent("email", tmplist2, "text", "Email", "someuser@domain.edu"); + compList[19] = new GuiComponent("description", tmplist4, "text", "Description", "test user"); + compList[20] = new GuiComponent("rights", tmplist2, "text", "Rights", ""); + compList[21] = new GuiComponent("pubkey", tmplist3, "text", "GENI Public key", ""); + compList[22] = new GuiComponent("pubkey_write", tmplist4, "key", "GENI Public key", ""); + compList[23] = new GuiComponent("wrapperurl", tmplist4, "text", "Wrapper URL", "local"); + compList[24] = new GuiComponent("disabled", tmplist3, "bool", "Disabled", "Yes, No"); + compList[25] = new GuiComponent("userlist", tmplist4, "text", "User List", ""); + compList[26] = new GuiComponent("pointer", tmplist3, "text", "PL Pointer", ""); + compList[27] = new GuiComponent("g_uuid", tmplist3, "text", "GENI UUID", ""); + + } + + private void createCompListSlice(){ + compList_slice = new GuiComponent[24]; + GuiComponent[] compList = compList_slice; + String[] tmplist1 = {"readable","pl"}; + String[] tmplist2 = {"writable","pl"}; + String[] tmplist3 = {"readable","geni"}; + String[] tmplist4 = {"writable","geni"}; + compList[0] = new GuiComponent("slice_id", tmplist1, "num", "Slice Id", ""); + compList[1] = new GuiComponent("description", tmplist2, "text", "Description", ""); + compList[2] = new GuiComponent("node_ids", tmplist1, "num", "Node Ids", ""); + compList[3] = new GuiComponent("expires", tmplist2, "text", "Expires", ""); + compList[4] = new GuiComponent("site_id", tmplist1, "num", "Site Id", ""); + compList[5] = new GuiComponent("uuid", tmplist1, "text", "UUID", ""); + compList[6] = new GuiComponent("creator_person_id", tmplist2, "text", "Creator Person Id", ""); + compList[7] = new GuiComponent("instantiation", tmplist2, "combo", "Instantiation", "delegated, not-instantiated, plc-instantiated"); + compList[8] = new GuiComponent("name", tmplist2, "text", "Name", ""); + compList[9] = new GuiComponent("created", tmplist1, "text", "Created", ""); + compList[10] = new GuiComponent("url", tmplist2, "text", "Url", ""); + compList[11] = new GuiComponent("max_nodes", tmplist2, "num", "Max Nodes", "10"); + compList[12] = new GuiComponent("person_ids", tmplist2, "num", "Person Ids", ""); + compList[13] = new GuiComponent("slice_attribute_ids", tmplist2, "text", "Slice Attribute Ids", ""); + compList[14] = new GuiComponent("peer_id", tmplist1, "num", "Peer Id", ""); + compList[15] = new GuiComponent("description", tmplist4, "text", "Description", "test slice"); + compList[16] = new GuiComponent("rights", tmplist2, "text", "Rights", ""); + compList[17] = new GuiComponent("pubkey", tmplist3, "text", "GENI Public key", ""); + compList[18] = new GuiComponent("pubkey_write", tmplist4, "key", "GENI Public key", ""); + compList[19] = new GuiComponent("wrapperurl", tmplist4, "text", "Wrapper URL", "local"); + compList[20] = new GuiComponent("disabled", tmplist3, "bool", "Disabled", "Yes, No"); + compList[21] = new GuiComponent("userlist", tmplist4, "text", "User List", ""); + compList[22] = new GuiComponent("pointer", tmplist3, "num", "PL Pointer", ""); + compList[23] = new GuiComponent("g_uuid", tmplist3, "text", "GENI UUID", ""); + + } + + private void createCompListSite(){ + compList_site = new GuiComponent[31]; + GuiComponent[] compList = compList_site; + String[] tmplist1 = {"readable","pl"}; + String[] tmplist2 = {"writable","pl"}; + String[] tmplist3 = {"readable","geni"}; + String[] tmplist4 = {"writable","geni"}; + + compList[0] = new GuiComponent("last_updated", tmplist1, "text", "Last Updated", ""); + compList[1] = new GuiComponent("node_ids", tmplist2, "num", "Node Ids", ""); + compList[2] = new GuiComponent("site_id", tmplist1, "num", "Site Id", ""); + compList[3] = new GuiComponent("pcu_ids", tmplist2, "num", "PCU Ids", ""); + compList[4] = new GuiComponent("max_slices", tmplist2, "num", "Max Slices", ""); + compList[5] = new GuiComponent("ext_consortium_id", tmplist2, "text", "Ext Consortium Id", ""); + compList[6] = new GuiComponent("max_slivers", tmplist2, "num", "Max Slivers", "5"); + compList[7] = new GuiComponent("is_public", tmplist2, "bool", "Public", "Yes, No"); + compList[8] = new GuiComponent("peer_site_id", tmplist1, "num", "Peer Site Id", ""); + compList[9] = new GuiComponent("abbreviated_name", tmplist2, "text", "Abbreviated Name", ""); + compList[10] = new GuiComponent("name", tmplist2, "text", "Name", ""); + compList[11] = new GuiComponent("address_ids", tmplist2, "num", "Address Ids", ""); + compList[12] = new GuiComponent("uuid", tmplist1, "text", "UUID", ""); + compList[13] = new GuiComponent("url", tmplist2, "text", "Url", ""); + compList[14] = new GuiComponent("person_ids", tmplist2, "num", "Person Ids", ""); + compList[15] = new GuiComponent("enabled", tmplist2, "bool", "Enabled", "Yes, No"); + compList[16] = new GuiComponent("longitude", tmplist2, "num", "Longitude", "34.3"); + compList[17] = new GuiComponent("latitude", tmplist2, "num", "Latitude", "45.4"); + compList[18] = new GuiComponent("slice_ids", tmplist2, "num", "Slice Ids", ""); + compList[19] = new GuiComponent("login_base", tmplist2, "text", "Login Base", ""); + compList[20] = new GuiComponent("date_created", tmplist1, "text", "Date Created", ""); + compList[21] = new GuiComponent("peer_id", tmplist1, "num", "Peer Id", ""); + compList[22] = new GuiComponent("description", tmplist4, "text", "Description", "test slice"); + compList[23] = new GuiComponent("rights", tmplist2, "text", "Rights", ""); + compList[24] = new GuiComponent("pubkey", tmplist3, "text", "GENI Public key", ""); + compList[25] = new GuiComponent("pubkey_write", tmplist4, "key", "GENI Public key", ""); + compList[26] = new GuiComponent("wrapperurl", tmplist4, "text", "Wrapper URL", "local"); + compList[27] = new GuiComponent("disabled", tmplist3, "bool", "Disabled", "Yes, No"); + compList[28] = new GuiComponent("userlist", tmplist4, "text", "User List", ""); + compList[29] = new GuiComponent("pointer", tmplist3, "num", "PL Pointer", ""); + compList[30] = new GuiComponent("g_uuid", tmplist3, "text", "GENI UUID", ""); + } + + //input is in format: {"'field1_name':value1", "'field2_name':value2", ...} + public void FillComponentList(String recordType, String[] dict){ + GuiComponent[] complist = null; + if (recordType.equals("user")){ + complist = compList_user; + } + else if (recordType.equals("slice")){ + complist = compList_slice; + } + else if (recordType.equals("node")){ + complist = compList_node; + } + else if (recordType.equals("SA/MA")){ + complist = compList_site; + } + + for (int i=0; i 1) + comp_value = line[1]; + if (comp_value.equals("None")) + comp_value = ""; + int j; + for(j = 0; j tmp_key_file.txt\n"); + outCommand.flush(); + + //get key from temp file + String result = ""; + File file = new File("tmp_key_file.txt"); + int i = 0; + while(!file.exists() && i<5){ + i++; + try { + Thread.currentThread().sleep(200); + } catch (InterruptedException ex) { + ex.printStackTrace(); + } + } + try { + Thread.currentThread().sleep(100); + } catch (InterruptedException ex) { + ex.printStackTrace(); + } + if (file.exists()){ + BufferedReader in = new BufferedReader(new FileReader("tmp_key_file.txt")); + String tmp = in.readLine(); + while(tmp!=null && tmp.length() > 0){ + result += tmp+"\n"; + tmp = in.readLine(); + } + in.close(); + + outCommand.write("rm tmp_key_file.txt\n"); + outCommand.flush(); + } + //write the result in the textfield + t.setText(result); + }catch (Exception ex) { + ex.printStackTrace(); + } + } + + } + + public void displayComponentList(String recordType, JPanel panel1, JPanel panel2){ + + GuiComponent[] complist = null; + if (recordType.equals("user")){ + complist = compList_user; + } + else if (recordType.equals("slice")){ + complist = compList_slice; + } + else if (recordType.equals("node")){ + complist = compList_node; + } + else if (recordType.equals("SA/MA")){ + complist = compList_site; + } + + panel1.removeAll(); + panel1.setLayout(new SpringLayout()); + + int count1 = 0; + for (int i=0;i + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/gui/JavaApplication1/src/javaapplication1/GeniGUI.java b/gui/JavaApplication1/src/javaapplication1/GeniGUI.java new file mode 100644 index 00000000..ad93a59c --- /dev/null +++ b/gui/JavaApplication1/src/javaapplication1/GeniGUI.java @@ -0,0 +1,452 @@ +/* + * GeniGUI.java + * + * Created on March 29, 2008, 3:46 PM + */ + +package javaapplication1; + +import javax.swing.SpringLayout; +import org.jdesktop.layout.GroupLayout; + +/** + * + * @author soners + */ +public class GeniGUI extends javax.swing.JFrame { + + /** + * Creates new form GeniGUI + */ + public GeniGUI() { + initComponents(); + + jPanel4.setVisible(false); + jPanel5.setVisible(false); + jPanel6.setVisible(false); + jPanel7.setVisible(false); + + javax.swing.JPanel[] panelList = {jPanel3, jPanel4, jPanel5, jPanel6, jPanel7}; + panelfiller = new PanelFiller(panelList, statusLabel); + panelfiller.initializePanels(); + + } + + private void passCallToHandler(String opname){ + User user = new User(); + user.setCurrentUser(hrnTextField.getText(), (String)typeCombo.getSelectedItem(), dirTextField.getText()); + RecordInfo record = new RecordInfo(); + record.setCurrentRecord(rechrnTextField.getText(), (String)rectypeCombo.getSelectedItem()); + + panelfiller.setUser(user); + panelfiller.setRecord(record); + panelfiller.handleOperation(opname); + } + + /** This method is called from within the constructor to + * initialize the form. + * WARNING: Do NOT modify this code. The content of this method is + * always regenerated by the Form Editor. + */ + // //GEN-BEGIN:initComponents + private void initComponents() { + jPanel1 = new javax.swing.JPanel(); + hrnLabel = new javax.swing.JLabel(); + hrnTextField = new javax.swing.JTextField(); + typeCombo = new javax.swing.JComboBox(); + dirTextField = new javax.swing.JTextField(); + typeLabel = new javax.swing.JLabel(); + dirLabel = new javax.swing.JLabel(); + jInternalFrame1 = new javax.swing.JInternalFrame(); + jPanel3 = new javax.swing.JPanel(); + jPanel4 = new javax.swing.JPanel(); + jPanel5 = new javax.swing.JPanel(); + jPanel6 = new javax.swing.JPanel(); + jPanel7 = new javax.swing.JPanel(); + jPanel2 = new javax.swing.JPanel(); + rechrnLabel = new javax.swing.JLabel(); + rechrnTextField = new javax.swing.JTextField(); + rectypeCombo = new javax.swing.JComboBox(); + rectypeLabel = new javax.swing.JLabel(); + jButton1 = new javax.swing.JButton(); + jButton2 = new javax.swing.JButton(); + jButton3 = new javax.swing.JButton(); + jButton4 = new javax.swing.JButton(); + statusLabel = new javax.swing.JLabel(); + + setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); + addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseReleased(java.awt.event.MouseEvent evt) { + formMouseReleased(evt); + } + }); + + jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("User Info")); + hrnLabel.setText("Enter your HRN:"); + + hrnTextField.setText("planetlab.jp.osaka"); + + typeCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "user", "SA", "MA" })); + + dirTextField.setText("./client_osaka"); + + typeLabel.setText("Type:"); + + dirLabel.setText("User GENI directory:"); + + org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1); + jPanel1.setLayout(jPanel1Layout); + jPanel1Layout.setHorizontalGroup( + jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel1Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(jPanel1Layout.createSequentialGroup() + .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(typeLabel) + .add(hrnLabel)) + .add(26, 26, 26)) + .add(jPanel1Layout.createSequentialGroup() + .add(dirLabel) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED))) + .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(dirTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 245, Short.MAX_VALUE) + .add(hrnTextField, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 245, Short.MAX_VALUE) + .add(typeCombo, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 66, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addContainerGap()) + ); + jPanel1Layout.setVerticalGroup( + jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel1Layout.createSequentialGroup() + .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(hrnLabel) + .add(hrnTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(13, 13, 13) + .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(typeCombo, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(typeLabel)) + .add(14, 14, 14) + .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(dirTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(dirLabel)) + .addContainerGap(46, Short.MAX_VALUE)) + ); + + jInternalFrame1.setTitle("Record Data"); + jInternalFrame1.setVisible(true); + jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("Non-editable Information")); + org.jdesktop.layout.GroupLayout jPanel3Layout = new org.jdesktop.layout.GroupLayout(jPanel3); + jPanel3.setLayout(jPanel3Layout); + jPanel3Layout.setHorizontalGroup( + jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(0, 825, Short.MAX_VALUE) + ); + jPanel3Layout.setVerticalGroup( + jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(0, 199, Short.MAX_VALUE) + ); + + jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("Set User Fields")); + org.jdesktop.layout.GroupLayout jPanel4Layout = new org.jdesktop.layout.GroupLayout(jPanel4); + jPanel4.setLayout(jPanel4Layout); + jPanel4Layout.setHorizontalGroup( + jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(0, 825, Short.MAX_VALUE) + ); + jPanel4Layout.setVerticalGroup( + jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(0, 180, Short.MAX_VALUE) + ); + + jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder("Set Slice fields")); + org.jdesktop.layout.GroupLayout jPanel5Layout = new org.jdesktop.layout.GroupLayout(jPanel5); + jPanel5.setLayout(jPanel5Layout); + jPanel5Layout.setHorizontalGroup( + jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(0, 825, Short.MAX_VALUE) + ); + jPanel5Layout.setVerticalGroup( + jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(0, 192, Short.MAX_VALUE) + ); + + jPanel6.setBorder(javax.swing.BorderFactory.createTitledBorder("Set Node fields")); + org.jdesktop.layout.GroupLayout jPanel6Layout = new org.jdesktop.layout.GroupLayout(jPanel6); + jPanel6.setLayout(jPanel6Layout); + jPanel6Layout.setHorizontalGroup( + jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(0, 825, Short.MAX_VALUE) + ); + jPanel6Layout.setVerticalGroup( + jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(0, 182, Short.MAX_VALUE) + ); + + jPanel7.setBorder(javax.swing.BorderFactory.createTitledBorder("Set SA/MA fields")); + org.jdesktop.layout.GroupLayout jPanel7Layout = new org.jdesktop.layout.GroupLayout(jPanel7); + jPanel7.setLayout(jPanel7Layout); + jPanel7Layout.setHorizontalGroup( + jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(0, 837, Short.MAX_VALUE) + ); + jPanel7Layout.setVerticalGroup( + jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(0, 221, Short.MAX_VALUE) + ); + + org.jdesktop.layout.GroupLayout jInternalFrame1Layout = new org.jdesktop.layout.GroupLayout(jInternalFrame1.getContentPane()); + jInternalFrame1.getContentPane().setLayout(jInternalFrame1Layout); + jInternalFrame1Layout.setHorizontalGroup( + jInternalFrame1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jInternalFrame1Layout.createSequentialGroup() + .addContainerGap() + .add(jInternalFrame1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel7, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(jInternalFrame1Layout.createSequentialGroup() + .add(jInternalFrame1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(jPanel4, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(jPanel3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel5, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(jPanel6, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addContainerGap()))) + ); + jInternalFrame1Layout.setVerticalGroup( + jInternalFrame1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(org.jdesktop.layout.GroupLayout.TRAILING, jInternalFrame1Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel5, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel6, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel7, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addContainerGap()) + ); + + jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Record Select")); + rechrnLabel.setText("HRN:"); + + rechrnTextField.setText("planetlab.jp.osaka.tokyobranch"); + + rectypeCombo.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "-", "user", "slice", "node", "SA", "MA" })); + rectypeCombo.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + rectypeComboItemStateChanged(evt); + } + }); + + rectypeLabel.setText("Type:"); + + jButton1.setText("register"); + jButton1.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseReleased(java.awt.event.MouseEvent evt) { + jButton1MouseReleased(evt); + } + }); + + jButton2.setText("remove"); + jButton2.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseReleased(java.awt.event.MouseEvent evt) { + jButton2MouseReleased(evt); + } + }); + + jButton3.setText("update"); + jButton3.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseReleased(java.awt.event.MouseEvent evt) { + jButton3MouseReleased(evt); + } + }); + + jButton4.setText("lookup"); + jButton4.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseReleased(java.awt.event.MouseEvent evt) { + jButton4MouseReleased(evt); + } + }); + + org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(jPanel2); + jPanel2.setLayout(jPanel2Layout); + jPanel2Layout.setHorizontalGroup( + jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel2Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel2Layout.createSequentialGroup() + .add(rechrnLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 38, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(rechrnTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 271, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(jPanel2Layout.createSequentialGroup() + .add(rectypeLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 38, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel2Layout.createSequentialGroup() + .add(jButton1) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jButton2) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jButton3) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jButton4)) + .add(rectypeCombo, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 66, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))) + .addContainerGap(30, Short.MAX_VALUE)) + ); + jPanel2Layout.setVerticalGroup( + jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel2Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(rechrnLabel) + .add(rechrnTextField, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(rectypeCombo, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(rectypeLabel)) + .add(27, 27, 27) + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jButton1) + .add(jButton2) + .add(jButton3) + .add(jButton4)) + .addContainerGap(22, Short.MAX_VALUE)) + ); + + statusLabel.setVerticalAlignment(javax.swing.SwingConstants.TOP); + statusLabel.setAutoscrolls(true); + + org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(layout.createSequentialGroup() + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(org.jdesktop.layout.GroupLayout.LEADING, layout.createSequentialGroup() + .addContainerGap() + .add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .add(org.jdesktop.layout.GroupLayout.LEADING, jInternalFrame1) + .add(org.jdesktop.layout.GroupLayout.LEADING, layout.createSequentialGroup() + .addContainerGap() + .add(statusLabel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 857, Short.MAX_VALUE))) + .add(28, 28, 28)) + ); + layout.setVerticalGroup( + layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(layout.createSequentialGroup() + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false) + .add(jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(statusLabel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 25, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jInternalFrame1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(153, 153, 153)) + ); + pack(); + }// //GEN-END:initComponents + + private void jButton4MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton4MouseReleased +// TODO add your handling code here: + passCallToHandler("lookup"); + }//GEN-LAST:event_jButton4MouseReleased + + private void jButton3MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton3MouseReleased +// TODO add your handling code here: + passCallToHandler("update"); + }//GEN-LAST:event_jButton3MouseReleased + + private void jButton2MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton2MouseReleased +// TODO add your handling code here: + passCallToHandler("remove"); + + }//GEN-LAST:event_jButton2MouseReleased + + private void jButton1MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton1MouseReleased +// TODO add your handling code here: + passCallToHandler("register"); + + }//GEN-LAST:event_jButton1MouseReleased + + private void formMouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_formMouseReleased +// TODO add your handling code here: + + }//GEN-LAST:event_formMouseReleased + + private void rectypeComboItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_rectypeComboItemStateChanged +// TODO add your handling code here: + + jInternalFrame1.setSize(500,800); + jInternalFrame1.revalidate(); + jInternalFrame1.repaint(); + + int selected = rectypeCombo.getSelectedIndex(); + if (selected == 1){ + jPanel4.setVisible(true); + jPanel5.setVisible(false); + jPanel6.setVisible(false); + jPanel7.setVisible(false); + } + else if (selected == 2){ + jPanel5.setVisible(true); + jPanel4.setVisible(false); + jPanel6.setVisible(false); + jPanel7.setVisible(false); + } + else if (selected == 3){ + jPanel6.setVisible(true); + jPanel4.setVisible(false); + jPanel5.setVisible(false); + jPanel7.setVisible(false); + } + else if (selected == 4 || selected == 5){ + jPanel7.setVisible(true); + jPanel4.setVisible(false); + jPanel5.setVisible(false); + jPanel6.setVisible(false); + } + }//GEN-LAST:event_rectypeComboItemStateChanged + + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + new GeniGUI().setVisible(true); + } + }); + } + + private PanelFiller panelfiller; + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JLabel dirLabel; + private javax.swing.JTextField dirTextField; + private javax.swing.JLabel hrnLabel; + private javax.swing.JTextField hrnTextField; + private javax.swing.JButton jButton1; + private javax.swing.JButton jButton2; + private javax.swing.JButton jButton3; + private javax.swing.JButton jButton4; + private javax.swing.JInternalFrame jInternalFrame1; + private javax.swing.JPanel jPanel1; + private javax.swing.JPanel jPanel2; + private javax.swing.JPanel jPanel3; + private javax.swing.JPanel jPanel4; + private javax.swing.JPanel jPanel5; + private javax.swing.JPanel jPanel6; + private javax.swing.JPanel jPanel7; + private javax.swing.JLabel rechrnLabel; + private javax.swing.JTextField rechrnTextField; + private javax.swing.JComboBox rectypeCombo; + private javax.swing.JLabel rectypeLabel; + private javax.swing.JLabel statusLabel; + private javax.swing.JComboBox typeCombo; + private javax.swing.JLabel typeLabel; + // End of variables declaration//GEN-END:variables + +} diff --git a/gui/JavaApplication1/src/javaapplication1/GuiComponent.java b/gui/JavaApplication1/src/javaapplication1/GuiComponent.java new file mode 100644 index 00000000..40e9b7cc --- /dev/null +++ b/gui/JavaApplication1/src/javaapplication1/GuiComponent.java @@ -0,0 +1,119 @@ +/* + * GuiComponent.java + * + * Created on March 29, 2008, 2:45 AM + * + * To change this template, choose Tools | Template Manager + * and open the template in the editor. + */ + +package javaapplication1; + +/** + * + * @author soners + */ +public class GuiComponent { + + /** Creates a new instance of GuiComponent */ + public GuiComponent(String name, String[] property, String type, String label, String defaultVal) { + this.name = name; + this.property = property; + this.type = type; + this.label = label; + this.value = defaultVal; + + } + private String[] property; + private String type; + private String label; + private String value; + + /** + * Holds value of property name. + */ + private String name; + + /** + * Getter for property name. + * @return Value of property name. + */ + public String getName() { + return this.name; + } + + /** + * Setter for property name. + * @param name New value of property name. + */ + public void setName(String name) { + this.name = name; + } + + /** + * Getter for property property. + * @return Value of property property. + */ + public String[] getProperty() { + return this.property; + } + + /** + * Setter for property property. + * @param property New value of property property. + */ + public void setProperty(String[] property) { + this.property = property; + } + + /** + * Getter for property type. + * @return Value of property type. + */ + public String getType() { + return this.type; + } + + /** + * Setter for property type. + * @param type New value of property type. + */ + public void setType(String type) { + this.type = type; + } + + /** + * Getter for property label. + * @return Value of property label. + */ + public String getLabel() { + return this.label; + } + + /** + * Setter for property label. + * @param label New value of property label. + */ + public void setLabel(String label) { + this.label = label; + } + + /** + * Getter for property value. + * + * @return Value of property value. + */ + public String getValue() { + return this.value; + } + + /** + * Setter for property value. + * + * @param value New value of property value. + */ + public void setValue(String defaultVal) { + this.value = defaultVal; + } + +} diff --git a/gui/JavaApplication1/src/javaapplication1/PanelFiller.java b/gui/JavaApplication1/src/javaapplication1/PanelFiller.java new file mode 100644 index 00000000..17d5d11d --- /dev/null +++ b/gui/JavaApplication1/src/javaapplication1/PanelFiller.java @@ -0,0 +1,248 @@ +/* + * PanelFiller.java + * + * Created on March 29, 2008, 10:45 PM + * + * To change this template, choose Tools | Template Manager + * and open the template in the editor. + */ + +package javaapplication1; + +import java.io.*; +import javax.swing.*; +import javax.swing.JOptionPane; + +/** + * + * @author soners + */ +public class PanelFiller { + + /** Creates a new instance of PanelFiller */ + public PanelFiller(JPanel[] panelList, JLabel statusLabel) { + panel1 = panelList[0]; + panel2 = panelList[1]; + panel3 = panelList[2]; + panel4 = panelList[3]; + panel5 = panelList[4]; + this.statusLabel = statusLabel; + + try{ + rtime = Runtime.getRuntime(); + child = rtime.exec("/bin/bash"); + outCommand = new BufferedWriter(new OutputStreamWriter(child.getOutputStream())); + }catch (Exception e){ + JOptionPane.showMessageDialog(null, "The program cannot start bash.\n"); + return; + } + + displayHandle = new DisplayHandle(outCommand); + } + + public void handleOperation(String opname){ + + JPanel curpanel = null; + String type = record.getType(); + if (type.equals("user")) + curpanel = panel2; + else if (type.equals("slice")) + curpanel = panel3; + else if (type.equals("node")) + curpanel = panel4; + else if (type.equals("SA")){ + curpanel = panel5; + type = "SA/MA"; + } + else if (type.equals("MA")){ + curpanel = panel5; + type = "SA/MA"; + } + + if (opname.equals("register")){ + String params = displayHandle.PanelToString(type, curpanel); + String rest = params.substring(12); + if (rest.charAt(0)=='}') + params = "'g_params':{'hrn':'"+record.getHrn()+"', 'type':'"+record.getType()+"'"+rest; + else + params = "'g_params':{'hrn':'"+record.getHrn()+"', 'type':'"+record.getType()+"', "+rest; + String message = "{'opname':'"+opname+"', "+params+"}"; + String result = SendToClientStub(message); + String[] res_arr = result.split("\n"); + String send_str = ""; + for (int i=0; i 0){ + + String status_str = ""; + for (int i=0; i 0){ + result += tmp+"\n"; + tmp = in.readLine(); + } + in.close(); + + outCommand.write("rm tmp_input.txt tmp_output.txt\n"); + outCommand.write("cd "+curdir+"\n"); + outCommand.flush(); + }catch (Exception e){//Catch exception if any + System.err.println("Error: " + e.getMessage()); + result = "Problem occured in client stub.\n"; + return result; + } + return result; + } + + public void initializePanels(){ + displayHandle.displayComponentList("user",panel1, panel2); + displayHandle.displayComponentList("slice",panel1, panel3); + displayHandle.displayComponentList("node",panel1, panel4); + displayHandle.displayComponentList("SA/MA",panel1, panel5); + } + + public void setUser(User user){ + this.user = user; + } + public void setRecord(RecordInfo record){ + this.record = record; + } + + private User user; + private RecordInfo record; + private javax.swing.JPanel panel1; + private javax.swing.JPanel panel2; + private javax.swing.JPanel panel3; + private javax.swing.JPanel panel4; + private javax.swing.JPanel panel5; + private javax.swing.JLabel statusLabel; + + private BufferedWriter outCommand; + private Runtime rtime; + private Process child; + + private DisplayHandle displayHandle; + +} + + diff --git a/gui/JavaApplication1/src/javaapplication1/RecordInfo.java b/gui/JavaApplication1/src/javaapplication1/RecordInfo.java new file mode 100644 index 00000000..6af39f30 --- /dev/null +++ b/gui/JavaApplication1/src/javaapplication1/RecordInfo.java @@ -0,0 +1,71 @@ +/* + * RecordInfo.java + * + * Created on March 30, 2008, 12:07 AM + * + * To change this template, choose Tools | Template Manager + * and open the template in the editor. + */ + +package javaapplication1; +import javax.swing.*; + +/** + * + * @author soners + */ +public class RecordInfo { + + /** Creates a new instance of RecordInfo */ + public RecordInfo() { + } + + public void setCurrentRecord(String hrn, String type){ + this.hrn = hrn; + this.type = type; + } + + + /** + * Holds value of property hrn. + */ + private String hrn; + + /** + * Getter for property hrn. + * @return Value of property hrn. + */ + public String getHrn() { + return this.hrn; + } + + /** + * Setter for property hrn. + * @param hrn New value of property hrn. + */ + public void setHrn(String hrn) { + this.hrn = hrn; + } + + /** + * Holds value of property type. + */ + private String type; + + /** + * Getter for property type. + * @return Value of property type. + */ + public String getType() { + return this.type; + } + + /** + * Setter for property type. + * @param type New value of property type. + */ + public void setType(String type) { + this.type = type; + } + +} diff --git a/gui/JavaApplication1/src/javaapplication1/SpringUtilities.java b/gui/JavaApplication1/src/javaapplication1/SpringUtilities.java new file mode 100644 index 00000000..f2eb8ccb --- /dev/null +++ b/gui/JavaApplication1/src/javaapplication1/SpringUtilities.java @@ -0,0 +1,224 @@ +package javaapplication1; +/* + * Copyright (c) 1995 - 2008 Sun Microsystems, Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of Sun Microsystems nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +import javax.swing.*; +import javax.swing.SpringLayout; +import java.awt.*; + +/** + * A 1.4 file that provides utility methods for + * creating form- or grid-style layouts with SpringLayout. + * These utilities are used by several programs, such as + * SpringBox and SpringCompactGrid. + */ +public class SpringUtilities { + /** + * A debugging utility that prints to stdout the component's + * minimum, preferred, and maximum sizes. + */ + public static void printSizes(Component c) { + System.out.println("minimumSize = " + c.getMinimumSize()); + System.out.println("preferredSize = " + c.getPreferredSize()); + System.out.println("maximumSize = " + c.getMaximumSize()); + } + + /** + * Aligns the first rows * cols + * components of parent in + * a grid. Each component is as big as the maximum + * preferred width and height of the components. + * The parent is made just big enough to fit them all. + * + * @param rows number of rows + * @param cols number of columns + * @param initialX x location to start the grid at + * @param initialY y location to start the grid at + * @param xPad x padding between cells + * @param yPad y padding between cells + */ + public static void makeGrid(Container parent, + int rows, int cols, + int initialX, int initialY, + int xPad, int yPad) { + SpringLayout layout; + try { + layout = (SpringLayout)parent.getLayout(); + } catch (ClassCastException exc) { + System.err.println("The first argument to makeGrid must use SpringLayout."); + return; + } + + Spring xPadSpring = Spring.constant(xPad); + Spring yPadSpring = Spring.constant(yPad); + Spring initialXSpring = Spring.constant(initialX); + Spring initialYSpring = Spring.constant(initialY); + int max = rows * cols; + + //Calculate Springs that are the max of the width/height so that all + //cells have the same size. + Spring maxWidthSpring = layout.getConstraints(parent.getComponent(0)). + getWidth(); + Spring maxHeightSpring = layout.getConstraints(parent.getComponent(0)). + getWidth(); + for (int i = 1; i < max; i++) { + SpringLayout.Constraints cons = layout.getConstraints( + parent.getComponent(i)); + + maxWidthSpring = Spring.max(maxWidthSpring, cons.getWidth()); + maxHeightSpring = Spring.max(maxHeightSpring, cons.getHeight()); + } + + //Apply the new width/height Spring. This forces all the + //components to have the same size. + for (int i = 0; i < max; i++) { + SpringLayout.Constraints cons = layout.getConstraints( + parent.getComponent(i)); + + cons.setWidth(maxWidthSpring); + cons.setHeight(maxHeightSpring); + } + + //Then adjust the x/y constraints of all the cells so that they + //are aligned in a grid. + SpringLayout.Constraints lastCons = null; + SpringLayout.Constraints lastRowCons = null; + for (int i = 0; i < max; i++) { + SpringLayout.Constraints cons = layout.getConstraints( + parent.getComponent(i)); + if (i % cols == 0) { //start of new row + lastRowCons = lastCons; + cons.setX(initialXSpring); + } else { //x position depends on previous component + cons.setX(Spring.sum(lastCons.getConstraint(SpringLayout.EAST), + xPadSpring)); + } + + if (i / cols == 0) { //first row + cons.setY(initialYSpring); + } else { //y position depends on previous row + cons.setY(Spring.sum(lastRowCons.getConstraint(SpringLayout.SOUTH), + yPadSpring)); + } + lastCons = cons; + } + + //Set the parent's size. + SpringLayout.Constraints pCons = layout.getConstraints(parent); + pCons.setConstraint(SpringLayout.SOUTH, + Spring.sum( + Spring.constant(yPad), + lastCons.getConstraint(SpringLayout.SOUTH))); + pCons.setConstraint(SpringLayout.EAST, + Spring.sum( + Spring.constant(xPad), + lastCons.getConstraint(SpringLayout.EAST))); + } + + /* Used by makeCompactGrid. */ + private static SpringLayout.Constraints getConstraintsForCell( + int row, int col, + Container parent, + int cols) { + SpringLayout layout = (SpringLayout) parent.getLayout(); + Component c = parent.getComponent(row * cols + col); + return layout.getConstraints(c); + } + + /** + * Aligns the first rows * cols + * components of parent in + * a grid. Each component in a column is as wide as the maximum + * preferred width of the components in that column; + * height is similarly determined for each row. + * The parent is made just big enough to fit them all. + * + * @param rows number of rows + * @param cols number of columns + * @param initialX x location to start the grid at + * @param initialY y location to start the grid at + * @param xPad x padding between cells + * @param yPad y padding between cells + */ + public static void makeCompactGrid(Container parent, + int rows, int cols, + int initialX, int initialY, + int xPad, int yPad) { + SpringLayout layout; + try { + layout = (SpringLayout)parent.getLayout(); + } catch (ClassCastException exc) { + System.err.println("The first argument to makeCompactGrid must use SpringLayout."); + return; + } + + //Align all cells in each column and make them the same width. + Spring x = Spring.constant(initialX); + for (int c = 0; c < cols; c++) { + Spring width = Spring.constant(0); + for (int r = 0; r < rows; r++) { + width = Spring.max(width, + getConstraintsForCell(r, c, parent, cols). + getWidth()); + } + for (int r = 0; r < rows; r++) { + SpringLayout.Constraints constraints = + getConstraintsForCell(r, c, parent, cols); + constraints.setX(x); + constraints.setWidth(width); + } + x = Spring.sum(x, Spring.sum(width, Spring.constant(xPad))); + } + + //Align all cells in each row and make them the same height. + Spring y = Spring.constant(initialY); + for (int r = 0; r < rows; r++) { + Spring height = Spring.constant(0); + for (int c = 0; c < cols; c++) { + height = Spring.max(height, + getConstraintsForCell(r, c, parent, cols). + getHeight()); + } + for (int c = 0; c < cols; c++) { + SpringLayout.Constraints constraints = + getConstraintsForCell(r, c, parent, cols); + constraints.setY(y); + constraints.setHeight(height); + } + y = Spring.sum(y, Spring.sum(height, Spring.constant(yPad))); + } + + //Set the parent's size. + SpringLayout.Constraints pCons = layout.getConstraints(parent); + pCons.setConstraint(SpringLayout.SOUTH, y); + pCons.setConstraint(SpringLayout.EAST, x); + } +} diff --git a/gui/JavaApplication1/src/javaapplication1/User.java b/gui/JavaApplication1/src/javaapplication1/User.java new file mode 100644 index 00000000..336749f2 --- /dev/null +++ b/gui/JavaApplication1/src/javaapplication1/User.java @@ -0,0 +1,92 @@ +/* + * User.java + * + * Created on March 29, 2008, 11:36 PM + * + * To change this template, choose Tools | Template Manager + * and open the template in the editor. + */ + +package javaapplication1; +import javax.swing.*; +/** + * + * @author soners + */ +public class User { + + /** Creates a new instance of User */ + public User() { + } + + public void setCurrentUser(String hrn, String type, String directory){ + this.hrn = hrn; + this.type = type; + this.directory = directory; + } + + /** + * Holds value of property hrn. + */ + private String hrn; + + /** + * Getter for property hrn. + * @return Value of property hrn. + */ + public String getHrn() { + return this.hrn; + } + + /** + * Setter for property hrn. + * @param hrn New value of property hrn. + */ + public void setHrn(String hrn) { + this.hrn = hrn; + } + + + /** + * Holds value of property type. + */ + private String type; + + /** + * Getter for property type. + * @return Value of property type. + */ + public String getType() { + return this.type; + } + + /** + * Setter for property type. + * @param type New value of property type. + */ + public void setType(String type) { + this.type = type; + } + + /** + * Holds value of property directory. + */ + private String directory; + + /** + * Getter for property directory. + * @return Value of property directory. + */ + public String getDirectory() { + return this.directory; + } + + /** + * Setter for property directory. + * @param directory New value of property directory. + */ + public void setDirectory(String directory) { + this.directory = directory; + } + +} diff --git a/gui/JavaApplication1/test/NewJFrame.form b/gui/JavaApplication1/test/NewJFrame.form new file mode 100644 index 00000000..bc1510ba --- /dev/null +++ b/gui/JavaApplication1/test/NewJFrame.form @@ -0,0 +1,1037 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/gui/JavaApplication1/test/NewJFrame.java b/gui/JavaApplication1/test/NewJFrame.java new file mode 100644 index 00000000..ba492038 --- /dev/null +++ b/gui/JavaApplication1/test/NewJFrame.java @@ -0,0 +1,1221 @@ +/* + * NewJFrame.java + * + * Created on March 24, 2008, 8:22 PM + */ + +import java.io.*; +import javax.swing.JOptionPane; + +/** + * + * @author soners + */ +public class NewJFrame extends javax.swing.JFrame { + + /** Creates new form NewJFrame */ + public NewJFrame() { + initComponents(); + + jPanel6.setVisible(false); + jPanel7.setVisible(false); + jPanel2.setVisible(false); + + //public key prompt will be visible for only register and update + jLabel31.setVisible(false); + jTextField20.setVisible(false); + + try{ + rtime = Runtime.getRuntime(); + child = rtime.exec("/bin/bash"); + outCommand = new BufferedWriter(new OutputStreamWriter(child.getOutputStream())); + }catch (Exception e){ + JOptionPane.showMessageDialog(null, "The program cannot start bash.\n"); + return; + } + + } + + /** This method is called from within the constructor to + * initialize the form. + * WARNING: Do NOT modify this code. The content of this method is + * always regenerated by the Form Editor. + */ + // //GEN-BEGIN:initComponents + private void initComponents() { + jPanel1 = new javax.swing.JPanel(); + jLabel1 = new javax.swing.JLabel(); + jTextField1 = new javax.swing.JTextField(); + jComboBox1 = new javax.swing.JComboBox(); + jTextField24 = new javax.swing.JTextField(); + jLabel29 = new javax.swing.JLabel(); + jLabel30 = new javax.swing.JLabel(); + jPanel4 = new javax.swing.JPanel(); + jLabel2 = new javax.swing.JLabel(); + jTextField2 = new javax.swing.JTextField(); + jComboBox2 = new javax.swing.JComboBox(); + jPanel3 = new javax.swing.JPanel(); + jToggleButton6 = new javax.swing.JToggleButton(); + jToggleButton7 = new javax.swing.JToggleButton(); + jToggleButton8 = new javax.swing.JToggleButton(); + jToggleButton9 = new javax.swing.JToggleButton(); + jLabel28 = new javax.swing.JLabel(); + jLabel31 = new javax.swing.JLabel(); + jTextField20 = new javax.swing.JTextField(); + jButton1 = new javax.swing.JButton(); + jInternalFrame1 = new javax.swing.JInternalFrame(); + jPanel6 = new javax.swing.JPanel(); + jLabel7 = new javax.swing.JLabel(); + jLabel8 = new javax.swing.JLabel(); + jLabel9 = new javax.swing.JLabel(); + jLabel10 = new javax.swing.JLabel(); + jLabel11 = new javax.swing.JLabel(); + jLabel12 = new javax.swing.JLabel(); + jLabel13 = new javax.swing.JLabel(); + jLabel14 = new javax.swing.JLabel(); + jLabel15 = new javax.swing.JLabel(); + jLabel16 = new javax.swing.JLabel(); + jTextField6 = new javax.swing.JTextField(); + jTextField7 = new javax.swing.JTextField(); + jTextField8 = new javax.swing.JTextField(); + jTextField9 = new javax.swing.JTextField(); + jTextField10 = new javax.swing.JTextField(); + jTextField11 = new javax.swing.JTextField(); + jTextField12 = new javax.swing.JTextField(); + jComboBox4 = new javax.swing.JComboBox(); + jTextField21 = new javax.swing.JTextField(); + jComboBox5 = new javax.swing.JComboBox(); + jPanel7 = new javax.swing.JPanel(); + jLabel6 = new javax.swing.JLabel(); + jLabel25 = new javax.swing.JLabel(); + jLabel26 = new javax.swing.JLabel(); + jLabel27 = new javax.swing.JLabel(); + jComboBox3 = new javax.swing.JComboBox(); + jTextField22 = new javax.swing.JTextField(); + jScrollPane1 = new javax.swing.JScrollPane(); + jTextArea1 = new javax.swing.JTextArea(); + jTextField23 = new javax.swing.JTextField(); + jPanel2 = new javax.swing.JPanel(); + jTextField3 = new javax.swing.JTextField(); + jLabel3 = new javax.swing.JLabel(); + jLabel4 = new javax.swing.JLabel(); + jLabel5 = new javax.swing.JLabel(); + jTextField4 = new javax.swing.JTextField(); + jTextField5 = new javax.swing.JTextField(); + jLabel32 = new javax.swing.JLabel(); + jTextField25 = new javax.swing.JTextField(); + jPanel5 = new javax.swing.JPanel(); + jLabel17 = new javax.swing.JLabel(); + jLabel18 = new javax.swing.JLabel(); + jLabel19 = new javax.swing.JLabel(); + jLabel20 = new javax.swing.JLabel(); + jLabel21 = new javax.swing.JLabel(); + jLabel22 = new javax.swing.JLabel(); + jLabel23 = new javax.swing.JLabel(); + jLabel24 = new javax.swing.JLabel(); + jTextField13 = new javax.swing.JTextField(); + jTextField14 = new javax.swing.JTextField(); + jTextField15 = new javax.swing.JTextField(); + jTextField16 = new javax.swing.JTextField(); + jTextField17 = new javax.swing.JTextField(); + jTextField18 = new javax.swing.JTextField(); + jTextField19 = new javax.swing.JTextField(); + jScrollPane2 = new javax.swing.JScrollPane(); + jTextArea2 = new javax.swing.JTextArea(); + jLabel33 = new javax.swing.JLabel(); + + setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); + jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("User Info")); + jPanel1.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseReleased(java.awt.event.MouseEvent evt) { + jPanel1MouseReleased(evt); + } + }); + + jLabel1.setText("Enter your HRN:"); + + jTextField1.setText("planetlab.jp.osaka"); + + jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "user", "SA", "MA" })); + + jTextField24.setText("./client_osaka"); + + jLabel29.setText("Type:"); + + jLabel30.setText("User GENI directory:"); + + org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1); + jPanel1.setLayout(jPanel1Layout); + jPanel1Layout.setHorizontalGroup( + jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel1Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(jLabel29) + .add(jLabel1)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jComboBox1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 66, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jTextField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 212, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(61, 61, 61) + .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jLabel30) + .add(jTextField24, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 173, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(39, 39, 39)) + ); + jPanel1Layout.setVerticalGroup( + jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel1Layout.createSequentialGroup() + .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel1) + .add(jTextField1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jLabel30)) + .add(8, 8, 8) + .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jComboBox1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jTextField24, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jLabel29)) + .addContainerGap()) + ); + + jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("GENI Parameters")); + jLabel2.setText("HRN:"); + + jTextField2.setText("planetlab.jp.osaka.tokyobranch"); + + jComboBox2.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "-", "user", "slice", "node", "SA", "MA" })); + jComboBox2.addItemListener(new java.awt.event.ItemListener() { + public void itemStateChanged(java.awt.event.ItemEvent evt) { + jComboBox2ItemStateChanged(evt); + } + }); + + jToggleButton6.setText("register"); + jToggleButton6.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseReleased(java.awt.event.MouseEvent evt) { + jToggleButton6MouseReleased(evt); + } + }); + + jToggleButton7.setText("remove"); + jToggleButton7.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseReleased(java.awt.event.MouseEvent evt) { + jToggleButton7MouseReleased(evt); + } + }); + + jToggleButton8.setText("update"); + jToggleButton8.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseReleased(java.awt.event.MouseEvent evt) { + jToggleButton8MouseReleased(evt); + } + }); + + jToggleButton9.setText("lookup"); + jToggleButton9.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseReleased(java.awt.event.MouseEvent evt) { + jToggleButton9MouseReleased(evt); + } + }); + + org.jdesktop.layout.GroupLayout jPanel3Layout = new org.jdesktop.layout.GroupLayout(jPanel3); + jPanel3.setLayout(jPanel3Layout); + jPanel3Layout.setHorizontalGroup( + jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel3Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel3Layout.createSequentialGroup() + .add(jToggleButton6) + .addContainerGap()) + .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel3Layout.createSequentialGroup() + .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(org.jdesktop.layout.GroupLayout.LEADING, jToggleButton9, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 82, Short.MAX_VALUE) + .add(org.jdesktop.layout.GroupLayout.LEADING, jToggleButton7, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 82, Short.MAX_VALUE)) + .add(106, 106, 106)) + .add(jPanel3Layout.createSequentialGroup() + .add(jToggleButton8, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 82, Short.MAX_VALUE) + .add(106, 106, 106)))) + ); + jPanel3Layout.setVerticalGroup( + jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel3Layout.createSequentialGroup() + .add(jToggleButton6) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jToggleButton7) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jToggleButton8) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jToggleButton9) + .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + ); + + jLabel28.setText("Type:"); + + jLabel31.setText("Public Key:"); + + org.jdesktop.layout.GroupLayout jPanel4Layout = new org.jdesktop.layout.GroupLayout(jPanel4); + jPanel4.setLayout(jPanel4Layout); + jPanel4Layout.setHorizontalGroup( + jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel4Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false) + .add(jPanel4Layout.createSequentialGroup() + .add(jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(jLabel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 38, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jLabel28, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 38, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jTextField2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 271, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jComboBox2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 66, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))) + .add(jPanel4Layout.createSequentialGroup() + .add(jLabel31) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jTextField20))) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(jPanel3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(106, 106, 106)) + ); + jPanel4Layout.setVerticalGroup( + jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel4Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel2) + .add(jTextField2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jComboBox2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jLabel28)) + .add(17, 17, 17) + .add(jPanel4Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel31) + .add(jTextField20, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))) + .add(jPanel3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + ); + + jButton1.setText("Send"); + jButton1.addMouseListener(new java.awt.event.MouseAdapter() { + public void mouseReleased(java.awt.event.MouseEvent evt) { + jButton1MouseReleased(evt); + } + }); + + jInternalFrame1.setVisible(true); + jPanel6.setBorder(javax.swing.BorderFactory.createTitledBorder("PL parameters for SA/MA")); + jLabel7.setText("Name:"); + + jLabel8.setText("Abbreviated Name:"); + + jLabel9.setText("URL:"); + + jLabel10.setText("Login Base:"); + + jLabel11.setText("Longitude:"); + + jLabel12.setText("Latitude:"); + + jLabel13.setText("Public:"); + + jLabel14.setText("Max Slices:"); + + jLabel15.setText("Max Slivers:"); + + jLabel16.setText("Enabled:"); + + jTextField6.setText("newname"); + + jTextField7.setText("abbname2"); + + jTextField8.setText("rand.com"); + + jTextField9.setText("my_loginbase4"); + + jTextField10.setText("44.4"); + + jTextField11.setText("66.6"); + + jTextField12.setText("10"); + + jComboBox4.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Yes", "No" })); + + jTextField21.setText("300"); + + jComboBox5.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Yes", "No" })); + + org.jdesktop.layout.GroupLayout jPanel6Layout = new org.jdesktop.layout.GroupLayout(jPanel6); + jPanel6.setLayout(jPanel6Layout); + jPanel6Layout.setHorizontalGroup( + jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel6Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel6Layout.createSequentialGroup() + .add(jLabel11) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 63, Short.MAX_VALUE) + .add(jTextField10, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 133, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel6Layout.createSequentialGroup() + .add(jLabel10) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 58, Short.MAX_VALUE) + .add(jTextField9, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 133, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel6Layout.createSequentialGroup() + .add(jLabel9) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 102, Short.MAX_VALUE) + .add(jTextField8, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 133, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel6Layout.createSequentialGroup() + .add(jLabel8) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(jTextField7, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 133, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel6Layout.createSequentialGroup() + .add(jLabel7) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 91, Short.MAX_VALUE) + .add(jTextField6, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 133, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(jPanel6Layout.createSequentialGroup() + .add(jLabel12) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 75, Short.MAX_VALUE) + .add(jTextField11, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 133, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(jPanel6Layout.createSequentialGroup() + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jLabel15) + .add(jLabel16)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 56, Short.MAX_VALUE) + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jComboBox5, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jTextField21, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 133, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))) + .add(jPanel6Layout.createSequentialGroup() + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jLabel14) + .add(jLabel13)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 62, Short.MAX_VALUE) + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jComboBox4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jTextField12, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 133, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))) + .addContainerGap(36, Short.MAX_VALUE)) + ); + jPanel6Layout.setVerticalGroup( + jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel6Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel6Layout.createSequentialGroup() + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel7) + .add(jTextField6, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel8) + .add(jTextField7, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel9) + .add(jTextField8, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel10) + .add(jTextField9, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel11) + .add(jTextField10, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel12) + .add(jTextField11, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addContainerGap()) + .add(jPanel6Layout.createSequentialGroup() + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel13) + .add(jComboBox4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel14) + .add(jTextField12, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel15) + .add(jTextField21, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(jPanel6Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel16) + .add(jComboBox5, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(150, 150, 150)))) + ); + + jPanel7.setBorder(javax.swing.BorderFactory.createTitledBorder("PL Parameters for slice")); + jLabel6.setText("Instantiation:"); + + jLabel25.setText("URL:"); + + jLabel26.setText("Description:"); + + jLabel27.setText("Max Nodes:"); + + jComboBox3.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "plc-instantiated", "delegated" })); + + jTextArea1.setColumns(20); + jTextArea1.setRows(5); + jScrollPane1.setViewportView(jTextArea1); + + jTextField23.setText("10"); + + org.jdesktop.layout.GroupLayout jPanel7Layout = new org.jdesktop.layout.GroupLayout(jPanel7); + jPanel7.setLayout(jPanel7Layout); + jPanel7Layout.setHorizontalGroup( + jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel7Layout.createSequentialGroup() + .add(25, 25, 25) + .add(jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jLabel25) + .add(jLabel6, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 90, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jLabel26) + .add(jLabel27)) + .add(43, 43, 43) + .add(jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jComboBox3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false) + .add(org.jdesktop.layout.GroupLayout.LEADING, jTextField22) + .add(org.jdesktop.layout.GroupLayout.LEADING, jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 235, Short.MAX_VALUE)) + .add(jTextField23, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 56, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addContainerGap(191, Short.MAX_VALUE)) + ); + jPanel7Layout.setVerticalGroup( + jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel7Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel6) + .add(jComboBox3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel25) + .add(jTextField22, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel7Layout.createSequentialGroup() + .add(7, 7, 7) + .add(jLabel26)) + .add(jPanel7Layout.createSequentialGroup() + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jScrollPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 58, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))) + .add(16, 16, 16) + .add(jPanel7Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel27) + .add(jTextField23, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addContainerGap(18, Short.MAX_VALUE)) + ); + + jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("PL Parameters for node")); + jTextField3.setText("boot"); + + jLabel3.setText("Bootstate:"); + + jLabel4.setText("Version:"); + + jLabel5.setText("Model:"); + + jTextField4.setText("PlanetLab BootCD 3.1"); + + jTextField5.setText("Dell OptiPlex GX280"); + + jLabel32.setText("Hostname:"); + + org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(jPanel2); + jPanel2.setLayout(jPanel2Layout); + jPanel2Layout.setHorizontalGroup( + jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel2Layout.createSequentialGroup() + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false) + .add(jPanel2Layout.createSequentialGroup() + .add(jLabel3) + .add(23, 23, 23) + .add(jTextField3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 161, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(jPanel2Layout.createSequentialGroup() + .add(jLabel32) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(jTextField25, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 161, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jLabel5) + .add(jLabel4)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jTextField4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 161, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jTextField5, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 161, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addContainerGap(102, Short.MAX_VALUE)) + ); + jPanel2Layout.setVerticalGroup( + jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel2Layout.createSequentialGroup() + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel2Layout.createSequentialGroup() + .add(30, 30, 30) + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel4) + .add(jTextField4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jLabel32) + .add(jTextField25, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jLabel3)) + .add(jPanel2Layout.createSequentialGroup() + .add(55, 55, 55) + .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel5) + .add(jTextField5, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jTextField3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))) + .addContainerGap(24, Short.MAX_VALUE)) + ); + + jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder("PL Parameters for user")); + jLabel17.setText("First name:"); + + jLabel18.setText("Last name:"); + + jLabel19.setText("Title:"); + + jLabel20.setText("Email:"); + + jLabel21.setText("Password:"); + + jLabel22.setText("Phone:"); + + jLabel23.setText("URL:"); + + jLabel24.setText("Bio:"); + + jTextArea2.setColumns(20); + jTextArea2.setRows(5); + jScrollPane2.setViewportView(jTextArea2); + + org.jdesktop.layout.GroupLayout jPanel5Layout = new org.jdesktop.layout.GroupLayout(jPanel5); + jPanel5.setLayout(jPanel5Layout); + jPanel5Layout.setHorizontalGroup( + jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel5Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jLabel17) + .add(jLabel18) + .add(jLabel19) + .add(jLabel20)) + .add(28, 28, 28) + .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jTextField16, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 155, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jTextField15, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 155, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jTextField14, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 155, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jTextField13, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 155, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .add(22, 22, 22) + .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jLabel24) + .add(jLabel23) + .add(jLabel22) + .add(jLabel21)) + .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING) + .add(jPanel5Layout.createSequentialGroup() + .add(21, 21, 21) + .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jTextField18, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 155, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jTextField17, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 155, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jTextField19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 155, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addContainerGap(59, Short.MAX_VALUE)) + .add(jPanel5Layout.createSequentialGroup() + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jScrollPane2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 202, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addContainerGap()))) + ); + jPanel5Layout.setVerticalGroup( + jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel5Layout.createSequentialGroup() + .add(19, 19, 19) + .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel17) + .add(jTextField13, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jLabel21) + .add(jTextField17, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel18) + .add(jTextField14, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jLabel22) + .add(jTextField18, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel19) + .add(jTextField15, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jLabel23) + .add(jTextField19, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel5Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE) + .add(jLabel20) + .add(jTextField16, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(jLabel24)) + .add(jScrollPane2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 47, Short.MAX_VALUE)) + .addContainerGap()) + ); + + org.jdesktop.layout.GroupLayout jInternalFrame1Layout = new org.jdesktop.layout.GroupLayout(jInternalFrame1.getContentPane()); + jInternalFrame1.getContentPane().setLayout(jInternalFrame1Layout); + jInternalFrame1Layout.setHorizontalGroup( + jInternalFrame1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jInternalFrame1Layout.createSequentialGroup() + .add(jInternalFrame1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel5, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(jPanel6, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(jPanel7, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) + .addContainerGap()) + ); + jInternalFrame1Layout.setVerticalGroup( + jInternalFrame1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jInternalFrame1Layout.createSequentialGroup() + .addContainerGap() + .add(jPanel6, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 207, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel7, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(19, 19, 19) + .add(jPanel5, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(22, 22, 22) + .add(jPanel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addContainerGap(55, Short.MAX_VALUE)) + ); + + jLabel33.setFocusTraversalPolicyProvider(true); + jLabel33.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER); + + org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane()); + getContentPane().setLayout(layout); + layout.setHorizontalGroup( + layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(layout.createSequentialGroup() + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(layout.createSequentialGroup() + .addContainerGap() + .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) + .add(jPanel4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 604, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))) + .add(layout.createSequentialGroup() + .add(153, 153, 153) + .add(jButton1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 277, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(198, 198, 198)) + .add(layout.createSequentialGroup() + .addContainerGap() + .add(jInternalFrame1)) + .add(layout.createSequentialGroup() + .add(53, 53, 53) + .add(jLabel33, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 501, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))) + .addContainerGap()) + ); + layout.setVerticalGroup( + layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING) + .add(layout.createSequentialGroup() + .add(22, 22, 22) + .add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 92, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jPanel4, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jButton1) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jLabel33, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 33, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED) + .add(jInternalFrame1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) + .add(794, 794, 794)) + ); + pack(); + }// //GEN-END:initComponents + + private void jButton1MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jButton1MouseReleased +// TODO add your handling code here: + String operation = ""; + if (jToggleButton6.isSelected()) + operation = "register"; + else if (jToggleButton7.isSelected()) + operation = "remove"; + else if (jToggleButton8.isSelected()) + operation = "update"; + else + operation = "lookup"; + + //user data + String user_hrn = jTextField1.getText(); + String user_type = (String) jComboBox1.getSelectedItem(); + + //call data + String hrn = jTextField2.getText(); + String type = (String) jComboBox2.getSelectedItem(); + String pubkey = jTextField20.getText(); + + String gparams = ""; + String pparams = ""; + + if (type == "SA" || type == "MA"){ + String name = jTextField6.getText(); + String abbreviated_name = jTextField7.getText(); + String url = jTextField8.getText(); + String login_base = jTextField9.getText(); + String longitude = jTextField10.getText(); + String latitude = jTextField11.getText(); + String max_slices = jTextField12.getText(); + String max_slivers = jTextField21.getText(); + String is_public = ""; + String enabled = ""; + + + if ((String) jComboBox4.getSelectedItem() == "Yes") + is_public = "True"; + else + is_public = "False"; + if ((String) jComboBox5.getSelectedItem() == "Yes") + enabled = "True"; + else + enabled = "False"; + + if (pubkey == "") + gparams = "{'hrn':'"+hrn+"', 'type':'"+type+"'}"; + else + gparams = "{'hrn':'"+hrn+"', 'type':'"+type+"', 'pubkey':'"+pubkey+"'}"; + pparams = "{'name':'"+name+"', 'url':'"+url+"', 'login_base':'"+login_base+ + "', 'longitude':"+longitude+", 'latitude':"+latitude+", 'is_public':"+ + is_public+", 'abbreviated_name':'"+abbreviated_name+"', 'max_slices':"+max_slices+", 'max_slivers':"+ + max_slivers+", 'enabled':"+enabled+"}"; + } + else if (type == "slice"){ + String instantiation = (String) jComboBox3.getSelectedItem(); + String url = jTextField22.getText(); + String description = jTextArea1.getText(); + String max_nodes = jTextField23.getText(); + + if (pubkey == "") + gparams = "{'hrn':'"+hrn+"', 'type':'"+type+"'}"; + else + gparams = "{'hrn':'"+hrn+"', 'type':'"+type+"', 'pubkey':'"+pubkey+"'}"; + pparams = "{'instantiation':'"+instantiation+"', 'url':'"+url+"', 'description':'"+description+ + "', 'max_nodes':"+max_nodes+"}"; + + } + else if (type == "user"){ + String first_name = jTextField13.getText(); + String last_name = jTextField14.getText(); + String title = jTextField15.getText(); + String email = jTextField16.getText(); + String password = jTextField17.getText(); + String phone = jTextField18.getText(); + String url = jTextField19.getText(); + String bio = jTextArea2.getText(); + + if (pubkey.length() == 0) + gparams = "{'hrn':'"+hrn+"', 'type':'"+type+"'}"; + else + gparams = "{'hrn':'"+hrn+"', 'type':'"+type+"', 'pubkey':'"+pubkey+"'}"; + + pparams = "{'first_name':'"+first_name+"', 'last_name':'"+last_name+"', 'title':'"+title+ + "', 'email':'"+email+"', 'password':'"+password+"', 'phone':'"+phone+"', 'url':'"+url+ + "', 'bio':'"+bio+"'}"; + + } + else if (type == "node"){ + String hostname = jTextField25.getText(); + String boot_state = jTextField3.getText(); + String version = jTextField4.getText(); + String model = jTextField5.getText(); + + if (pubkey == "") + gparams = "{'hrn':'"+hrn+"', 'type':'"+type+"'}"; + else + gparams = "{'hrn':'"+hrn+"', 'type':'"+type+"', 'pubkey':'"+pubkey+"'}"; + + pparams = "{'hostname':'"+hostname+"', 'boot_state':'"+boot_state+"', 'version':'"+version+ + "', 'model':'"+model+"'}"; + } + + String message = "{'opname':'"+operation+"', 'g_params':"+gparams+", 'p_params':"+pparams+"}"; + + //do the call to the python client + String curdir = System.getProperty("user.dir"); + String client_folder = jTextField24.getText(); + String result = ""; + + try{ + //cd to the client folder + outCommand.write("cd "+client_folder+"\n"); + outCommand.flush(); + + FileWriter fstream = new FileWriter(client_folder+"/tmp_input.txt"); + BufferedWriter out = new BufferedWriter(fstream); + out.write(user_hrn+" "+user_type+"\n"); + out.write(message); + //Close the output stream + out.close(); + outCommand.write("./clientstub.py\n"); + outCommand.flush(); + + //get the result of the call from the python client + File file = new File(client_folder+"/tmp_output.txt"); + int i = 0; + while(!file.exists() && i<5){ + i++; + try { + Thread.currentThread().sleep(200); + } catch (InterruptedException ex) { + ex.printStackTrace(); + result = "Problem occured in client stub.\n"; + jLabel33.setText(result); + return; + } + } + + try { + Thread.currentThread().sleep(200); + } catch (InterruptedException ex) { + ex.printStackTrace(); + result = "Problem occured in client stub.\n"; + jLabel33.setText(result); + return; + } + + BufferedReader in = new BufferedReader(new FileReader(client_folder+"/tmp_output.txt")); + result = in.readLine(); + in.close(); + + outCommand.write("rm tmp_input.txt tmp_output.txt\n"); + outCommand.write("cd "+curdir+"\n"); + outCommand.flush(); + }catch (Exception e){//Catch exception if any + System.err.println("Error: " + e.getMessage()); + result = "Problem occured in client stub.\n"; + jLabel33.setText(result); + return; + } + + if (operation == "lookup"){ + + + + //node fields +// {'pl': {'node_id': 10756, +// 'last_updated': 1206716001L, +// 'boot_state': u'boot', +// 'site_id': 10145, +// 'pcu_ids': [], +// 'session': None, +// 'key': None, +// 'conf_file_ids': [], +// 'ssh_rsa_key': None, +// 'uuid': u'154709652654203573378094948211939942919', +// 'nodegroup_ids': [], +// 'slice_ids_whitelist': [], +// 'last_contact': None, +// 'nodenetwork_ids': [], +// 'peer_node_id': None, +// 'hostname': u'tttyeni.com', +// 'slice_ids': [], +// 'boot_nonce': None, +// 'version': u'PlanetLab BootCD 3.1', +// 'date_created': 1206716001L, +// 'model': u'Dell OptiPlex GX280', +// 'peer_id': None, +// 'ports': []}, +// +// 'geni': {'description': None, +// 'rights': None, +// 'pubkey': None, +// 'wrapperurl': None, +// 'disabled': None, +// 'userlist': None, +// 'hrn': 'mynewnode', +// 'type': 'node', +// 'pointer': 10756, +// 'uuid': None}} + +//user fields +// {'pl': {'bio': None, +// 'last_name': u'Okawa', +// 'last_updated': 1170811781L, +// 'key_ids': [], +// 'phone': u'+81-466-49-3529', +// 'peer_person_id': None, +// 'role_ids': [20], +// 'site_ids': [10145], +// 'first_name': u'Keiko', +// 'uuid': u'53584984475370335298592451262408000792', +// 'roles': [u'pi'], +// 'title': u'Professor', +// 'url': None, +// 'enabled': True, +// 'slice_ids': [], +// 'person_id': 12397, +// 'date_created': 1170811781L, +// 'peer_id': None, +// 'email': u'keiko@sfc.wide.ad.jp'}, +// +// 'geni': {'description': None, +// 'rights': None, +// 'pubkey': '-----BEGIN RSA PRIVATE KEY-----\nMIGMAgEAAoGBAJccs4vXVSA5slLmlvx+2DPuSy2W0IP5RrUNIcp/wzVqdG9xWdLW\ns5nSv8g926tbFGvLcQqtoErAc7+oANxNWCO9cGJr/MUzjqOYWZQU92qXYdlCpbuL\n7lAVWkiJt8IYlRHe7BpCSSCaFgt7cUfv3fbuhmIDkT/7G/Ktl5NsvQgfAgMBAAE=\n-----END RSA PRIVATE KEY-----\n', +// 'wrapperurl': 'local', +// 'disabled': None, +// 'userlist': None, +// 'hrn': 'keiko', +// 'type': 'user', +// 'pointer': 12397, +// 'uuid': None}} +// + + +//slice fields +// {'pl': {'description': u'', +// 'node_ids': [], +// 'expires': 1207943671L, +// 'site_id': 10145, +// 'uuid': u'166270525633143177647274842267687147563', +// 'creator_person_id': 12974, +// 'instantiation': u'plc-instantiated', +// 'name': u'keio_keikoslc', +// 'slice_id': 15390, +// 'created': 1206734071L, +// 'url': u'', +// 'max_nodes': 10, +// 'person_ids': [], +// 'slice_attribute_ids': [], +// 'peer_slice_id': None, +// 'peer_id': None}, +// 'geni': {'description': None, +// 'rights': None, +// 'pubkey': None, +// 'wrapperurl': None, +// 'disabled': None, +// 'userlist': None, +// 'hrn': 'keikoslc', +// 'type': 'slice', +// 'pointer': 15390, +// 'uuid': None}} + +//site fields +// {'pl': {'last_updated': 1206743152L, +// 'node_ids': [], +// 'site_id': 10240, +// 'pcu_ids': [], +// 'max_slices': 10, +// 'ext_consortium_id': None, +// 'max_slivers': 300, +// 'is_public': True, +// 'peer_site_id': None, +// 'abbreviated_name': u'abbname2my', +// 'name': u'newnamere', +// 'address_ids': [], +// 'uuid': u'215768548793207591574508192043308034894', +// 'url': u'rand.com', +// 'person_ids': [], +// 'enabled': True, +// 'longitude': 44.399999999999999, +// 'slice_ids': [], +// 'login_base': u'tokyologinb', +// 'latitude': 66.599999999999994, +// 'date_created': 1206743152L, +// 'peer_id': None}, +// 'geni': {'description': None, +// 'rights': '(2-0)(4-0)(6-0)(7-0)(8-0)(9-0)(0-1)(1-1)(2-1)(3-1)(4-1)(5-1)(6-1)(7-1)(8-1)(9-1)#0:reg:slc:planetlab.jp.osaka#1:reg:slc:planetlab.jp.osaka.tokyobranch2', +// 'pubkey': '-----BEGIN RSA PRIVATE KEY-----\nMIGMAgEAAoGBANsAFcsPHdx1cEyChNljSHDp16vp9GjJBhOhD5/1jiaD8qfQgbcx\nIlMDGOROKJqeNCIk5yuuv46O4obai6MXCfGPnLCvBL7IeI95tImJt0NFg19wHe+I\nwDOabHRJCfSXYViuBDBJUuuMITLmK2cBIlY/lkPKYROXq9FMtht9dekzAgMBAAE=\n-----END RSA PRIVATE KEY-----\n', +// 'wrapperurl': 'local', +// 'disabled': None, +// 'userlist': None, +// 'hrn': 'tokyobranchty', +// 'type': 'SA', +// 'pointer': 10242, +// 'uuid': None}} +// + + + + } + + jLabel33.setText(result); + + }//GEN-LAST:event_jButton1MouseReleased + + private void jComboBox2ItemStateChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jComboBox2ItemStateChanged +// TODO add your handling code here: + + int selected = jComboBox2.getSelectedIndex(); + if (selected == 1){ + jPanel5.setVisible(true); + jPanel6.setVisible(false); + jPanel7.setVisible(false); + jPanel2.setVisible(false); + } + else if (selected == 2){ + jPanel7.setVisible(true); + jPanel5.setVisible(false); + jPanel6.setVisible(false); + jPanel2.setVisible(false); + } + else if (selected == 3){ + jPanel2.setVisible(true); + jPanel5.setVisible(false); + jPanel6.setVisible(false); + jPanel7.setVisible(false); + } + else if (selected == 4 || selected == 5){ + jPanel6.setVisible(true); + jPanel5.setVisible(false); + jPanel7.setVisible(false); + jPanel2.setVisible(false); + } + }//GEN-LAST:event_jComboBox2ItemStateChanged + + private void jToggleButton9MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jToggleButton9MouseReleased +// TODO add your handling code here: + jToggleButton6.setSelected(false); + jToggleButton7.setSelected(false); + jToggleButton8.setSelected(false); + if (!jToggleButton9.isSelected()) + jToggleButton9.setSelected(true); + + jLabel31.setVisible(false); + jTextField20.setVisible(false); + }//GEN-LAST:event_jToggleButton9MouseReleased + + private void jToggleButton8MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jToggleButton8MouseReleased +// TODO add your handling code here: + jToggleButton6.setSelected(false); + jToggleButton7.setSelected(false); + jToggleButton9.setSelected(false); + if (!jToggleButton8.isSelected()) + jToggleButton8.setSelected(true); + + jLabel31.setVisible(true); + jTextField20.setVisible(true); + + }//GEN-LAST:event_jToggleButton8MouseReleased + + private void jToggleButton7MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jToggleButton7MouseReleased +// TODO add your handling code here: + jToggleButton6.setSelected(false); + jToggleButton8.setSelected(false); + jToggleButton9.setSelected(false); + if (!jToggleButton7.isSelected()) + jToggleButton7.setSelected(true); + + jLabel31.setVisible(false); + jTextField20.setVisible(false); + }//GEN-LAST:event_jToggleButton7MouseReleased + + private void jToggleButton6MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jToggleButton6MouseReleased +// TODO add your handling code here: + jToggleButton7.setSelected(false); + jToggleButton8.setSelected(false); + jToggleButton9.setSelected(false); + if (!jToggleButton6.isSelected()) + jToggleButton6.setSelected(true); + + jLabel31.setVisible(true); + jTextField20.setVisible(true); + + }//GEN-LAST:event_jToggleButton6MouseReleased + + private void jPanel1MouseReleased(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jPanel1MouseReleased +// TODO add your handling code here: + + }//GEN-LAST:event_jPanel1MouseReleased + + /** + * @param args the command line arguments + */ + public static void main(String args[]) { + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + new NewJFrame().setVisible(true); + } + }); + } + + //global for communicating the shell + private BufferedWriter outCommand = null; + private Runtime rtime = null; + private Process child = null; + + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton jButton1; + private javax.swing.JComboBox jComboBox1; + private javax.swing.JComboBox jComboBox2; + private javax.swing.JComboBox jComboBox3; + private javax.swing.JComboBox jComboBox4; + private javax.swing.JComboBox jComboBox5; + private javax.swing.JInternalFrame jInternalFrame1; + private javax.swing.JLabel jLabel1; + private javax.swing.JLabel jLabel10; + private javax.swing.JLabel jLabel11; + private javax.swing.JLabel jLabel12; + private javax.swing.JLabel jLabel13; + private javax.swing.JLabel jLabel14; + private javax.swing.JLabel jLabel15; + private javax.swing.JLabel jLabel16; + private javax.swing.JLabel jLabel17; + private javax.swing.JLabel jLabel18; + private javax.swing.JLabel jLabel19; + private javax.swing.JLabel jLabel2; + private javax.swing.JLabel jLabel20; + private javax.swing.JLabel jLabel21; + private javax.swing.JLabel jLabel22; + private javax.swing.JLabel jLabel23; + private javax.swing.JLabel jLabel24; + private javax.swing.JLabel jLabel25; + private javax.swing.JLabel jLabel26; + private javax.swing.JLabel jLabel27; + private javax.swing.JLabel jLabel28; + private javax.swing.JLabel jLabel29; + private javax.swing.JLabel jLabel3; + private javax.swing.JLabel jLabel30; + private javax.swing.JLabel jLabel31; + private javax.swing.JLabel jLabel32; + private javax.swing.JLabel jLabel33; + private javax.swing.JLabel jLabel4; + private javax.swing.JLabel jLabel5; + private javax.swing.JLabel jLabel6; + private javax.swing.JLabel jLabel7; + private javax.swing.JLabel jLabel8; + private javax.swing.JLabel jLabel9; + private javax.swing.JPanel jPanel1; + private javax.swing.JPanel jPanel2; + private javax.swing.JPanel jPanel3; + private javax.swing.JPanel jPanel4; + private javax.swing.JPanel jPanel5; + private javax.swing.JPanel jPanel6; + private javax.swing.JPanel jPanel7; + private javax.swing.JScrollPane jScrollPane1; + private javax.swing.JScrollPane jScrollPane2; + private javax.swing.JTextArea jTextArea1; + private javax.swing.JTextArea jTextArea2; + private javax.swing.JTextField jTextField1; + private javax.swing.JTextField jTextField10; + private javax.swing.JTextField jTextField11; + private javax.swing.JTextField jTextField12; + private javax.swing.JTextField jTextField13; + private javax.swing.JTextField jTextField14; + private javax.swing.JTextField jTextField15; + private javax.swing.JTextField jTextField16; + private javax.swing.JTextField jTextField17; + private javax.swing.JTextField jTextField18; + private javax.swing.JTextField jTextField19; + private javax.swing.JTextField jTextField2; + private javax.swing.JTextField jTextField20; + private javax.swing.JTextField jTextField21; + private javax.swing.JTextField jTextField22; + private javax.swing.JTextField jTextField23; + private javax.swing.JTextField jTextField24; + private javax.swing.JTextField jTextField25; + private javax.swing.JTextField jTextField3; + private javax.swing.JTextField jTextField4; + private javax.swing.JTextField jTextField5; + private javax.swing.JTextField jTextField6; + private javax.swing.JTextField jTextField7; + private javax.swing.JTextField jTextField8; + private javax.swing.JTextField jTextField9; + private javax.swing.JToggleButton jToggleButton6; + private javax.swing.JToggleButton jToggleButton7; + private javax.swing.JToggleButton jToggleButton8; + private javax.swing.JToggleButton jToggleButton9; + // End of variables declaration//GEN-END:variables + +} diff --git a/server/component/planetlab/acc_file b/server/component/planetlab/acc_file new file mode 100644 index 00000000..46d4ddfd --- /dev/null +++ b/server/component/planetlab/acc_file @@ -0,0 +1,13 @@ +-----BEGIN CERTIFICATE----- +MIIB8zCCAVwCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDUwNVoXDTA4MDcyMTIxMzE0NVowGjEYMBYGA1UEAxMPR0VO +SSBBY2NvdW50aW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1li/h52Qb +JtucIQUEYZMZkA8tWcS9f0VkAPNS5/OeRhaQ/iLERQI2EV/rmPCuARQhlZLhm5Y5 +vxvHG/ba6Rb9vYKEMDujZwdc3QjhAbYS72V28rbdIeHysJ7JeGz9J1ODLSzbcCt5 +amLZcMPmu/G64ieWI8QMUxYgCE1ut3bI1QIDAQABo1QwUjBQBgNVHREBAf8ERjBE +hkJodHRwOi8vI2hybjpwbGFuZXRsYWIjdXVpZDoxNjI0MzUxNTc1NTgwMDAzMjMz +OTE1MDMwNzc4Njg0Nzc1MzE3NDMwDQYJKoZIhvcNAQEEBQADgYEAOUYu4V5PBKiW +PlUyLlNTrRRMvF7drxEG1T4BFHhQ9Nn2zWkT9Kbo1PmJBFTGoqHw+E+zJ5bUSirm +iLByRm5WV/bJSwY6WGuupq0vrDrqKQJLwQO/C3Y9frAYiHEgOeRN3TV3nKmDrTQ6 +lNrOd7q0H1mNFEOOh60oKBgOFOb3SC0= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/buaa/buaa.cert b/server/component/planetlab/buaa/buaa.cert new file mode 100644 index 00000000..334ffa95 --- /dev/null +++ b/server/component/planetlab/buaa/buaa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRidWFhMB4XDTA4 +MDMyODAzNDUxNloXDTEzMDMyNzAzNDUxNlowDzENMAsGA1UEAxMEYnVhYTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAyZeOXa7mEE4qpqe2G+fdsVsVzMFMR3hG +Jhq5Q7NUD68DMVrSy42Z/ZbfVr4x4FeU3AYkYYB59J7kWRSgJS1baPmsWjexta73 +DbjRbOb8R+zsNMXq3GJ7t8QpjkVvQOgO41qO18Hv4o4buOqBPNLDTIf2g08wv++r +EPITtsEaWOkCAwEAATANBgkqhkiG9w0BAQQFAAOBgQAwx9cw840gTPhxs6wQj7TQ +SZ61sDE4hn1fPzy+7CuwclgIHaapaZVoMyki4l4GiU0GC4gXQL8I4+dyj6ymEjiw +jvWNA6kC+MuZAYgemDEdse8hbl7bPUY/RR/I4MjNC9tsqRMRJOVFLYP57jTFF+aG +yM/0kkQ9I0/IlVncRV7g8Q== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/buaa/buaa.pkey b/server/component/planetlab/buaa/buaa.pkey new file mode 100644 index 00000000..25350e22 --- /dev/null +++ b/server/component/planetlab/buaa/buaa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDJl45druYQTiqmp7Yb592xWxXMwUxHeEYmGrlDs1QPrwMxWtLL +jZn9lt9WvjHgV5TcBiRhgHn0nuRZFKAlLVto+axaN7G1rvcNuNFs5vxH7Ow0xerc +Ynu3xCmORW9A6A7jWo7Xwe/ijhu46oE80sNMh/aDTzC/76sQ8hO2wRpY6QIDAQAB +AoGAb+udlbOBdTIAie/4sfuD4HCCZOA4WkGTKJqTmtuX4vE2Y5NaDrq58Mlvi3gi +trvJIHKkhiFPFBmXC0HhO2K4KUza2faGlxr1Haz1gfBnibVmQFHm5EzfY7TPAmmB +vuktBSGUXYexrOallF3G1VDsZpVC0rkeEx0IAsV3q0RfclUCQQD/nrITIEdRbhWT +ljYOSzwWCtOkcTxWHJqCKX//nuaPU82YkRypfjoembeSWe9LLF1QAyT5ep7vz3m9 +CBLTaXJXAkEAyeRLUrLIobYFxfxJQor3o8zfMPk/UiX+OKFkxmoR0H0f/26OpkWC +v8w5/NOagPTuGF7u1LBr0zxFmhPRYUAGvwJAEfYXsypYeItQrs8mOzjkHvRhzLM8 +NxzJao359X832ihcUPUZW3uIH/BTKtBw9QpIAEBIT9Ni6Zzdg//WOs60/wJAFJTS +XO7e5yVgN0u9yCvUjP1Ar4RpQR2gafOCC3wars9iqK6Dmk2xw421R6HmuUi+0Ps0 +i7gkdddKHSfyC2D0jwJAZbQwq9JS/yEzqB1jyUXnr13h3k3YSNWriZS4zHGJRvkM +zRzRqORiUALCrvsCAArbmhj+oUBf85Uilehmoq47eA== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/canarie/canarie.cert b/server/component/planetlab/canarie/canarie.cert new file mode 100644 index 00000000..7c2656dc --- /dev/null +++ b/server/component/planetlab/canarie/canarie.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwdjYW5hcmllMB4X +DTA4MDMyODAzNDUxNFoXDTEzMDMyNzAzNDUxNFowEjEQMA4GA1UEAxMHY2FuYXJp +ZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA3jYKDL4WmomA+pE0h93I7HYP +pF1FVVnBMOHMh96QEF+42x3jJONsp0ygkfH5fKG4t22m2y5yrsPWzovH0xYF2veT +AlUkUTLEIAPrubKA3a0unvOj0a7hzboLKvC56SxGQzjfnKTM2n30hbrDdkdEQSXp +jCdIpx+qpp8Gd69xagcCAwEAATANBgkqhkiG9w0BAQQFAAOBgQDI/aczA6wxKreP +lP4uFL33dAK0OnxYGywJ16RaWrtOz5G8Na8OA3pWJGpHcRIILWPre0IaP/Z6VHh9 +O8bkQXVPwh44XslwP6XQA6kSnNE23QYSTnTxJd6fdVzEY8GwFTYvaJUFyLPaEcOV +LhW3TKJ/5QMwOSdM++U+hEznrYSUtw== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/canarie/canarie.pkey b/server/component/planetlab/canarie/canarie.pkey new file mode 100644 index 00000000..ea158974 --- /dev/null +++ b/server/component/planetlab/canarie/canarie.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDeNgoMvhaaiYD6kTSH3cjsdg+kXUVVWcEw4cyH3pAQX7jbHeMk +42ynTKCR8fl8obi3babbLnKuw9bOi8fTFgXa95MCVSRRMsQgA+u5soDdrS6e86PR +ruHNugsq8LnpLEZDON+cpMzaffSFusN2R0RBJemMJ0inH6qmnwZ3r3FqBwIDAQAB +AoGAWQ39PxgbhPmgmEsDa4QmFyZFpJDAzbD37PhBeR5oTDegpSg4NTtz+ySJoZQB +ccJ6fgDTAzp9Oa9A8mwwvFcyJs0ljXhBogN+UPS286dI1QvCn7spQJXCR1gORHns +xTtFI1McpSbxPTLEn3MzsN/RcWJxqqC8R6pyibrdFGDnsvkCQQDzPzNVO2gP6Qqw +s1zvF/ZP7xRi/To7LGAqoHg8OBa9+I0Nl6mL/zPdGIWoLmntXBsuLMr03TctNc9S +O93ycGXTAkEA6dyAabhecpJeIipVRoTnM9jTF9lThEAYSDhZwPsKo+1KU/HucSKG +VkxKijkTm4xrScQX5BNhdMxslAXg12hGfQJBAK51ub97qBshLYWmXxUsvoB+HMUS +kd026pIoHZQzNjxyM9h32iaKlwwQNmx1PYv775Kilb4hmx1V5qg4P+tOKfkCQDHW +CY99+LKVunWxa8bBX7vOwv1cFM4kEoihaY8UcGoKkUJeVh/J6bLOQzw9eY42WE65 ++RVjg+st/R12OznsQMkCQQDHHITsut3W932XWKqkWjPL0Uj8biv+pthkmF9vGWR+ +eNxhrq6U5F827ntcdRuswl4BhqSyPf7DxrwGvnAJsQ2O +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/canariecalgary/canariecalgary.cert b/server/component/planetlab/canariecalgary/canariecalgary.cert new file mode 100644 index 00000000..4114752a --- /dev/null +++ b/server/component/planetlab/canariecalgary/canariecalgary.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOY2FuYXJpZWNh +bGdhcnkwHhcNMDgwMzI4MDM0NTE1WhcNMTMwMzI3MDM0NTE1WjAZMRcwFQYDVQQD +Ew5jYW5hcmllY2FsZ2FyeTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAtc25 +kbCfHxwMP1+meY6oEycqt0BtqprPFNIO7gd1V/cybAuDNpcE/kBSDtqbsaSsu0AB +LkuWznYpM4VSytbeNLpJfIocRKG7zBFt302VJAVXJGZqiZA0Pz2h8JkVIaPCN2wx +L66bPjql5gqfEe3DsNXKJzU8LpvQbyOdg1nkJTMCAwEAATANBgkqhkiG9w0BAQQF +AAOBgQB39RMq1VSypgxAwtPGw49fnJpe0IdxWFTN9lL5qb2mOh0/sjGYtmXtcQgx +XmpbIAgrPWvz5PuLL/9LEBrRv9ZcmRFQJ55Cgfcrlogz2SK9aAXHH7rb6xHDC9Zh +wArfmkCUjGXvj6iUnW995x6NIETWRszWgILZmwkA7pg0N/07uQ== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/canariecalgary/canariecalgary.pkey b/server/component/planetlab/canariecalgary/canariecalgary.pkey new file mode 100644 index 00000000..a8b9ae07 --- /dev/null +++ b/server/component/planetlab/canariecalgary/canariecalgary.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQC1zbmRsJ8fHAw/X6Z5jqgTJyq3QG2qms8U0g7uB3VX9zJsC4M2 +lwT+QFIO2puxpKy7QAEuS5bOdikzhVLK1t40ukl8ihxEobvMEW3fTZUkBVckZmqJ +kDQ/PaHwmRUho8I3bDEvrps+OqXmCp8R7cOw1conNTwum9BvI52DWeQlMwIDAQAB +AoGALg99IGg7KEqW38eACfQWqSOXMu5j2oF2TbQajDvfgvXiFHWmPMJuRWxOXe0M +3Sj3iklhAzWrc4uETMVOgI2Hpi7ZN8GGSk+v2Khko0/3eJLW8tJpJSYVsV6SaSQ2 +cETEaiZBSX6XPiQ1VX7OClLwXm1CuXXxl+8gaMuSqof0rIECQQDfpT/dZAjcsW1Y +ZzirX20+muBjsCiktpwUt22PX5cDGfxYshIaIQTwiw3fOohNsrV13bH7+MU68Y4B +yTdkKRnxAkEA0Bragy7Uv0WR2FXXl39nTqrpBg8PliedDNvWn+L8fHH56NQKpgrl +DdwJQhha/HiR1DgWXK11VOamuqkYDavtYwJAb8zyQkCR1ZG08e6X+8O2nwdZiTw0 +9TJ8kDaqRHQqz9gbuFM8jWdYSs+Y3bErFnxyDjwHj8jq/+5laSsnz6BkYQJAWCbX +4vPGeNNOaVZLgcgdCazKEp/0mUVkeFrzOj0beNeK5f5UGGvLBSjs3wuUFxg3pa6w +gkeTyQf/HliccMYgQwJAWcaQ4Cwo2R2zbbDykHrB3I4Zws34V8xdNvNwdQfxMUid +DA4sn24t2AT/jdW2lIfL+zMlVBWv7TVJ/cipbBnBuw== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/canariehalifax/canariehalifax.cert b/server/component/planetlab/canariehalifax/canariehalifax.cert new file mode 100644 index 00000000..8829e229 --- /dev/null +++ b/server/component/planetlab/canariehalifax/canariehalifax.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOY2FuYXJpZWhh +bGlmYXgwHhcNMDgwMzI4MDM0NTE1WhcNMTMwMzI3MDM0NTE1WjAZMRcwFQYDVQQD +Ew5jYW5hcmllaGFsaWZheDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvtI1 +dPD0GphqXPqDL2+qnzcgQdr3ofOxGSiCG1/32qnJg66DkoaZL39b+ZVbUh3TXCZA +azv60Odc6OznsnBn5Q+Y0GTFuX8857w2ITNivVZzWxsb88pPKZyuFb8HC0zz7ZNt +ElsWPIdT1ydzYEhkrap9nPilr0VjiLTqNnZehqcCAwEAATANBgkqhkiG9w0BAQQF +AAOBgQBddA64IXn/bTO+jpcqUKcs4trnqZ+a16yDwZovT2YDUow3av8vW8YfbHSK +HD6KSO1EO/eylukNYgFlOZcIR+daKzWcvygOurObFyEvvhN4XVBsrQc7S5MKIv3X +NLTc+zG8LAEc/SMCo2DoWNDpmgp2v1qwxvOTReuGyKEFw8Wgaw== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/canariehalifax/canariehalifax.pkey b/server/component/planetlab/canariehalifax/canariehalifax.pkey new file mode 100644 index 00000000..138772a5 --- /dev/null +++ b/server/component/planetlab/canariehalifax/canariehalifax.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQC+0jV08PQamGpc+oMvb6qfNyBB2veh87EZKIIbX/faqcmDroOS +hpkvf1v5lVtSHdNcJkBrO/rQ51zo7OeycGflD5jQZMW5fzznvDYhM2K9VnNbGxvz +yk8pnK4VvwcLTPPtk20SWxY8h1PXJ3NgSGStqn2c+KWvRWOItOo2dl6GpwIDAQAB +AoGBAJFgQrux6rbsUXQ+on0cPMgJznh9otVufAjntJ+4cHLVkaHR7YlPJBtskxzF +bgpUkLcOqVtJGd/XtA/8lNR8EJnAVBZf1DD79DOZXtqm7BYMAli7eC8u9NAU0XI+ +bs7WfSYLm4/xJixtydqVW3L02mIGwJm2yyfTOlO/flFTDG2xAkEA5WHemxVr1/1o +CrZBMSICXYT4cZlVBeUuDtfbc2p0I+leuDHh1jjpT36PcB3hPR4eJn9Y5vlanIim +7S4dP6eQKQJBANT20wELh2QQd/K/OPPwVwKrxzl1hZIxOoOJ3ecCUHgOzkmGsjhd +bA4KCbdK8/W6o0KTf4Xg5xUfM/3wph/5+k8CQQDDFPZWXOSIIFsw6QoOuEbctG77 +ZhV6WwxN0WUxBnNZ62sEKmBQabx7QD7Lco4SBaBMy3eXkLBweoPFKbf0YBTpAkEA +rX7T0eMhjsy324Qbkuf3Cs8FA/ORONNwNx9HL168TcLKHi5k3PSHBjz5Q2EFtOgy +/xcI6fmaaKO+CKBXxm8xkwJAfOQlvP3vDgcMHE7tpNcPwV6cv9Mm4jWgpE+M+vOZ +uC8on90OpKiCoIec8tKAe9UsD4+H3257IbPYvWGPG6dMQQ== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/canariemontreal/canariemontreal.cert b/server/component/planetlab/canariemontreal/canariemontreal.cert new file mode 100644 index 00000000..fde06278 --- /dev/null +++ b/server/component/planetlab/canariemontreal/canariemontreal.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBozCCAQwCAQAwDQYJKoZIhvcNAQEEBQAwGjEYMBYGA1UEAxMPY2FuYXJpZW1v +bnRyZWFsMB4XDTA4MDMyODAzNDUxNVoXDTEzMDMyNzAzNDUxNVowGjEYMBYGA1UE +AxMPY2FuYXJpZW1vbnRyZWFsMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7 +EXFo+JX2HP6fkaGACCszvP4W3kJJEM7k4XF9OQuyF49MKNZESlCIBXdxO3hqUXsa +XuxYwgqN/5kigJaKIsrgRITF6wRG7G+VW1YTOI78cHgyxGoq8rL+Fk5eAJR/z5+k +VbYCBtG/ZE3M9gkpYiQ+eC0thT1j9vhyJ0Wf+At9/wIDAQABMA0GCSqGSIb3DQEB +BAUAA4GBAAlD/WVNRjoAE2WjV0C8ZbdC7ruWP7KqCikPp/LGaZTHCmkg/5vGFnHB +qnXGzyDsP7ojT37mDPSrLTjWs9dmQXPIiVy1hMqXTxEf0UXQs9S7NaT0tmUDVCZD +3XVwrffaIHNQbLCxtvYiHkyrDIUqenLENv6eUPZmWqkHuMb+n5Kn +-----END CERTIFICATE----- diff --git a/server/component/planetlab/canariemontreal/canariemontreal.pkey b/server/component/planetlab/canariemontreal/canariemontreal.pkey new file mode 100644 index 00000000..03dcba82 --- /dev/null +++ b/server/component/planetlab/canariemontreal/canariemontreal.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC7EXFo+JX2HP6fkaGACCszvP4W3kJJEM7k4XF9OQuyF49MKNZE +SlCIBXdxO3hqUXsaXuxYwgqN/5kigJaKIsrgRITF6wRG7G+VW1YTOI78cHgyxGoq +8rL+Fk5eAJR/z5+kVbYCBtG/ZE3M9gkpYiQ+eC0thT1j9vhyJ0Wf+At9/wIDAQAB +AoGALgnX8G6lcYGnRJwxs/HOuBf+LKCcjaDeWkQFizz73OOhd6vhN8NWWHOH9s0d +EIVnF5Fe92Uh9dp+1Jfy9KIlbWmskeoVGYCZgsC59ywEKm94+d6Q6ZHMsQBkbAOb +w2bmOWuY/4mMd7MZ9jT7xCsriegtQcq9LJNDThPij5F3QKkCQQD5Y/gbMJsYoPp1 +faaly7kCtda0v/2eXjZaaWPFiiYiApqcW2tjvZ5n4SUaFbg1jmCaiXIuNk8QpU3m +YyeyQscDAkEAwAajM3CCY+i1ft9EPiTCE9JeeyNDPMXfIMU2CTSuTB4SkU1VSH8y +mE8c6pHLgL5a4N/3dpkBDX+0cqYyTunOVQJAWBEkYT2l12mpaGoJukyZtcpO2p9d +yVoNqZnD4NMrKiFvRb3Gy37/fEF2X6LB3S+9D3Vv+7+z5fXp72yebQXFzwJAFAtd +U8xFwBoVf/XcUMRTgfAurpniteBNx0TuvA1EuGtXMtWotlWYuW9grFelr32vTNP0 +J+wWwQr4khMpIzWitQJBAJkjqgMiFdbHKp7KrySzjskDLwm9ef8qX0vri82xFE2E +uBDxaUNk/5ryKgGc60nRS8ejBwNtA+vsELnL5V5rS5c= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/canarieottawa/canarieottawa.cert b/server/component/planetlab/canarieottawa/canarieottawa.cert new file mode 100644 index 00000000..467ae3d1 --- /dev/null +++ b/server/component/planetlab/canarieottawa/canarieottawa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBnzCCAQgCAQAwDQYJKoZIhvcNAQEEBQAwGDEWMBQGA1UEAxMNY2FuYXJpZW90 +dGF3YTAeFw0wODAzMjgwMzQ1MTVaFw0xMzAzMjcwMzQ1MTVaMBgxFjAUBgNVBAMT +DWNhbmFyaWVvdHRhd2EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANsehfto +7rT28DebePJM2S/1D/svAPKm12Y+zwVkVTOrIgSl79k6fvOd03KKbGqqiIIq2Q9V +RCs89k0XWOcYpbAhr9E83uz6iPtkKy3yI0fxE/R7j54MN1phBb4hDb/1FAUy7TYO +yRgAbc3wwyHpvNE2uFHDVZD88kqGW6RH3Tf9AgMBAAEwDQYJKoZIhvcNAQEEBQAD +gYEAij6o9JYVxr/eh6dDJ/q+CVExdFJwURCtUGd/Cb2MPMh4KwW/Uj9P8/ALh7iO +LW34o0Uy9Hu3j6eSDyVSG/YIYdeWodrFxOxdl6bRpKACcn79KUF9bQxK/48KxBaH +rT9UgwP0aXBsyFVyVm3HHh3r8OTb4dnhPeETBVmC20UEx14= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/canarieottawa/canarieottawa.pkey b/server/component/planetlab/canarieottawa/canarieottawa.pkey new file mode 100644 index 00000000..f707b170 --- /dev/null +++ b/server/component/planetlab/canarieottawa/canarieottawa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDbHoX7aO609vA3m3jyTNkv9Q/7LwDyptdmPs8FZFUzqyIEpe/Z +On7zndNyimxqqoiCKtkPVUQrPPZNF1jnGKWwIa/RPN7s+oj7ZCst8iNH8RP0e4+e +DDdaYQW+IQ2/9RQFMu02DskYAG3N8MMh6bzRNrhRw1WQ/PJKhlukR903/QIDAQAB +AoGBAJbKDpHQyFSoiu75guXblKq4DmNhGVnjDuBB4N1pCmkgH6zrNH9dDfhAaD6u +m6Vb7c0GB5HRr7PBpA2xP3DpOTsR06XvYBOsD1003IIm9DFzg9ex1qPyBSh8i8Z8 ++DyT0fGCu8IdFG69J7+6GJ+jsGO9LZPAE6vunbn913PtPKHRAkEA+NZisssoFpUe +earqAnNmbWuSF3AN48rhGf3npKoGfYKibqlCbQpc8KX9fdagQcZF9Pjb0DgSiE5p +vXuwpLm0ywJBAOFtJwvqkJO9rm/5flY7j3Wv0DqVGOgvSr66/I7g9P/gAYoiF/SJ +PQ/hQvxVR9jeo4UJ0I5r3zY24+AAy8NgdVcCQQCbYmQnea0CzQNGvm96ME2Zrj5/ +3D0QLbP64w4vSOzcmyKLL66HIJ2AuGZemhNgf0tX+b5pe1o3O5/T7tUTR9OZAkA3 +A6Z12Ab0p2P828yjSuHV/NQ6l8x+TZxWM9gTHn9sOsTlazChcyS9zWHFpyJjoOIT +Q7PsLhNJbdfrAQa5Zb79AkBDtiSWBvMzlycXbN1W2jD0w8U69Nw1JFA6QvC+5TJr +1cPM8vtIAO/Nfsxef4tnJH4ZC0D3jNynjUSSQQ43qgkN +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/canarietoronto/canarietoronto.cert b/server/component/planetlab/canarietoronto/canarietoronto.cert new file mode 100644 index 00000000..1fb40fff --- /dev/null +++ b/server/component/planetlab/canarietoronto/canarietoronto.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOY2FuYXJpZXRv +cm9udG8wHhcNMDgwMzI4MDM0NTE1WhcNMTMwMzI3MDM0NTE1WjAZMRcwFQYDVQQD +Ew5jYW5hcmlldG9yb250bzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArHDM +jD4o/ieSTKVNeQ21os1nuJge3BI04kpltuTdgZeQJUOSG6cQ45kERtFAwSKjFIsH +wGMgbjyfp7kCD+oBEft+8HhJ/tLdiXJwb77fyczlqFm4em/cJui3g3ktaSTTrWGI +tkqYYbdrPVAUO9XFzql6cawa/CawOZ91c36er9ECAwEAATANBgkqhkiG9w0BAQQF +AAOBgQAYq5ArENN1S6fHpTHS9YeF8/PN9T6naiNg1qIGZjuT+FXhL6ZQp1ZCxc/T +YsPi9HE3VN/hm0+8srKZ7/Gs8hN1YHTw1pOEFhjMDQ2+vAVD25smBKFwVqtfbFPA +HuDhZkfsp8wJKwz9hoTu8cNMt5upVoseLX7ZcbedHIhGbE7sUQ== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/canarietoronto/canarietoronto.pkey b/server/component/planetlab/canarietoronto/canarietoronto.pkey new file mode 100644 index 00000000..cd6a7092 --- /dev/null +++ b/server/component/planetlab/canarietoronto/canarietoronto.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXwIBAAKBgQCscMyMPij+J5JMpU15DbWizWe4mB7cEjTiSmW25N2Bl5AlQ5Ib +pxDjmQRG0UDBIqMUiwfAYyBuPJ+nuQIP6gER+37weEn+0t2JcnBvvt/JzOWoWbh6 +b9wm6LeDeS1pJNOtYYi2Sphht2s9UBQ71cXOqXpxrBr8JrA5n3Vzfp6v0QIDAQAB +AoGBAIGD6y3+Vf2mLQziLxEXye+wRRHxN2RlTFEWPdUjincWJg7G9ItObLH1MLAb +5H3rDP+V+Ml36ljBscxgeXsIb6odEHn4zsACsJrhG2t6nRLOR3OwyS+licCxKlO1 +5ZuXabEy0kpoRs0cAIAeziirlEnVjYMD3RpTa7JVmJdeJZR9AkEA2uWe6A2UCmj6 +wIFMJ4StMp8E+Y4npp2YbyRxc94nffUnr/0tAHaOkr3Vv7SKiU5cJsmoZrdZe2hZ +s52ziK5azwJBAMmrWC6+LGBHl+WU+Xw3FAj5W/4+sqzR3lwkmF9UNdXgwregooQM +IVFdZlHCeXggsLU8TOw0dTIQq1Q76aLgc18CQQCzKsNYWNTVeHvV2X8F0ZkaGAKw +aOSXgeLlBcU++5UDiggECowtFt03yt4L3bCPFm5i6ShHesdpNU5GsEvlEiENAkEA +lXr0zQjXGbJXa6ul1SV6K0CxqF1O0PxqZkAV1Ss1EEgd7EAb1ear14R0cAvHP3xz +npKIrdggOjDS3YffIIRf3wJBALvKZsztWzHL4963GDlW3syaN/m7BzPw9TBX7gQF +Ey7DFXYA5lZgr56cuYnuQ8cWYsEYuodi2gYSXJulPEJNRcU= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/canariewinnipeg/canariewinnipeg.cert b/server/component/planetlab/canariewinnipeg/canariewinnipeg.cert new file mode 100644 index 00000000..e1045253 --- /dev/null +++ b/server/component/planetlab/canariewinnipeg/canariewinnipeg.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBozCCAQwCAQAwDQYJKoZIhvcNAQEEBQAwGjEYMBYGA1UEAxMPY2FuYXJpZXdp +bm5pcGVnMB4XDTA4MDMyODAzNDUxNVoXDTEzMDMyNzAzNDUxNVowGjEYMBYGA1UE +AxMPY2FuYXJpZXdpbm5pcGVnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD1 +NKpF8AeUWS8fsMZTNASvQ1lPF73LZJiNi407cEcrElgr39zNU0ztTyOlka/e/c5f +LtRLbq8FlTF8Wt3QtQvmdISs5EBbWhzDaDvERcmJb8S99ZeCCnJpqIoHSam91w5z +1mUrG1+jYi6Ypa7s6uF7y1fJVDgGoiqqSkKB7ZJIWwIDAQABMA0GCSqGSIb3DQEB +BAUAA4GBAL4mPpKmOCX9R4SNFz5B5qu7auc/pU0kPqFqOVb0LMNCrtPZUElo/LxY +WAce0FtWU3LXOqcl34KgHsqM9QwN0OprLOnxhtw9vhmucIXgBaIpQ32neROMdl1W +fs3LlLRuOrQNlhiLVklC6UHNF9VSOHXOhb/1toaKaNFVL9/g0I3H +-----END CERTIFICATE----- diff --git a/server/component/planetlab/canariewinnipeg/canariewinnipeg.pkey b/server/component/planetlab/canariewinnipeg/canariewinnipeg.pkey new file mode 100644 index 00000000..3159e467 --- /dev/null +++ b/server/component/planetlab/canariewinnipeg/canariewinnipeg.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQD1NKpF8AeUWS8fsMZTNASvQ1lPF73LZJiNi407cEcrElgr39zN +U0ztTyOlka/e/c5fLtRLbq8FlTF8Wt3QtQvmdISs5EBbWhzDaDvERcmJb8S99ZeC +CnJpqIoHSam91w5z1mUrG1+jYi6Ypa7s6uF7y1fJVDgGoiqqSkKB7ZJIWwIDAQAB +AoGAQsY3xFnsRnrO+WtTZt8Yk33cuUw21Eetv4YMTO5zgwg42KHa6FNR9KIDjBgT +c79cTtFa4Lvgj72kP0Ajfa1/8pa5gbaEtxZl5fzqZZ0y0MK1lSUSBO/9kyouAEdc +MxBBug5vGursmGOMpR3QBZQbixq241H/LLYaajNJMz//9NkCQQD+KKaUlg6V0IAR +zBfXCWLOQASuq7RZmeG/RWq0ooRatAYhBwe0XgMkll4k7mOYH9X/YHS9CLnTlBgo +FsAZXSEXAkEA9vtpGVZ6c4a1vCF2MFjuVkOeJJQwducH1fkGmDSs0gxVov2VMa6K +RxNdDSo7mtWC4R+1bfeIv0f5ksuhG2i1XQJBAN0VH1JA9Y78P2s7zcEQORKQPYJz +ef43DVgEWj2m4NrFnk88fkc3QCSjaGFXvOqnRs9OaD3HSV3yhNDaeV+W0yECQGWm +ccog4oL7tX55kygw4d8VM1hAuXWmfn4dYQ5x15MXyoMrtSTefkDkgk6xzBhcueIn +58cbsudvGxPExUj/nm0CQQCF/bvqvafdvujepCKhqWsOyMkVT0BR2hLXJc1BZwwL +Fc/cZln/IjNiGFF8bJUBDRMPI3fThEolwmkxiLVNnXoH +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/canterbury/canterbury.cert b/server/component/planetlab/canterbury/canterbury.cert new file mode 100644 index 00000000..5249fbb2 --- /dev/null +++ b/server/component/planetlab/canterbury/canterbury.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBmTCCAQICAQAwDQYJKoZIhvcNAQEEBQAwFTETMBEGA1UEAxMKY2FudGVyYnVy +eTAeFw0wODAzMjgwMzQ1MTRaFw0xMzAzMjcwMzQ1MTRaMBUxEzARBgNVBAMTCmNh +bnRlcmJ1cnkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAK62ChC4YDwm4WzH +DGvWVljmH9tmlhPVYPVcSw0pnCE270jzCQNI1IVP6soFrmACIqCAhHlK4vosNLrE +AzrRXM4h8ulHSp1Ncm1DF88yLnDe4iqMTV72NTr1tEdmMAFgh7572ILurFrBiE9o +1IVhsoPR/7kEiP9zW+fGmX72DERpAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAiZpn +VkZfktFqUEXRuUrPmX9TnwZCEeWCuQDNsvEmUeMsJjCNIKWk+0o3ov7MOmfX1tJf +sfmzgaBeI5nfOkojs5yNv4AbFJls/gIvaHPc8l5n3jqXWpCuDsj50VSPNrC7xQwv +ykAiu+/Ue6bwhBnpRdUfnQcVBsIjVr4MCTJxz3A= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/canterbury/canterbury.pkey b/server/component/planetlab/canterbury/canterbury.pkey new file mode 100644 index 00000000..772c2a94 --- /dev/null +++ b/server/component/planetlab/canterbury/canterbury.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQCutgoQuGA8JuFsxwxr1lZY5h/bZpYT1WD1XEsNKZwhNu9I8wkD +SNSFT+rKBa5gAiKggIR5SuL6LDS6xAM60VzOIfLpR0qdTXJtQxfPMi5w3uIqjE1e +9jU69bRHZjABYIe+e9iC7qxawYhPaNSFYbKD0f+5BIj/c1vnxpl+9gxEaQIDAQAB +AoGALkwxOKMTZX1MKX5J7V28PgyljoeN562Y5wxRGyjWpfqfyG4XClbHcpht+KEu +x2Rpdqz37giJQ5BpXMDKtlB6zfkZ6b2vX7uIUvSKx8q+rgHxVd4ghKSJ+3cr+9vH +qTq3wia5k6Eh387oHIsPKZAYIxZYRd4xS+JdJJcjERUgPA0CQQDWiJq88+E4qUK0 +Rz2/YnnZzyzAsAOBYph8DtDO8ORTWoTCOJIjXdY4fpM7q/0DiApCYHoOFOtdrCcj +JQz9EBtXAkEA0Hr3S/Rz9PH9kk/oQ0fkji+qJn/hI1PZx5aH03gOaJGNTBOenp7a +2EFUeUh7K9TI+e0LL9YO3x3OdgeGD6qGPwJAalvBM0pJb1ji3BOxti9xL525lzHs +GvoxlNeXh/D/kZ9/z/ZR5TzBVrLR9bR3tId+ZpgECvUuFvuhT5gvz0pr8wJALmcg +QfSwFpYCJZ3Jiagn1AoB6j3OY6mXMJhttQDk3BuBgqxfQtkCxt2Lqs8aM0BSV2aO +deBEQR8GRDkaesQuywJAROUBn2Het4js7Yjc1KcQNSgjqsANOyJk4oqmv3GM/7zH +4U9yA4JwibcIqvQzkxQMP5LFNL3TiHcmvbTCAzEW0A== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/cernetbuaa/cernetbuaa.cert b/server/component/planetlab/cernetbuaa/cernetbuaa.cert new file mode 100644 index 00000000..3ab81dd1 --- /dev/null +++ b/server/component/planetlab/cernetbuaa/cernetbuaa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBmTCCAQICAQAwDQYJKoZIhvcNAQEEBQAwFTETMBEGA1UEAxMKY2VybmV0YnVh +YTAeFw0wODAzMjgwMzQ1MTdaFw0xMzAzMjcwMzQ1MTdaMBUxEzARBgNVBAMTCmNl +cm5ldGJ1YWEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOU56plFuussQyN5 +HGwE93iVAQJlDysPxGFJfbGD3/kllKtEPFNza34GBLClz+ILSB0RC1lIoVqI/3/v +1c1djzaI24bu4fO/+VAkyNxSk0xdKNMOGX3zWJPrXSwSm/V0kUiaRJrAe4TJ8ybA +bjSoqhwCjh86MdSoqkh4WmwihqtpAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAGymq +KV+ZmpYG7UaELknvgqOThcqJTRKFx57Y9KDzVcCukSjzCo294JI3AU0I+jqX1g4L +fu+UX//IDi4RE5wV9eFUjWZePwYqfZ3PU/cNzip7uxC0MvhAIAlNcpN/IClkfcef +A91/LE1qrfqj4QwtrqKp3sm1bZ6FVklSll33d1g= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/cernetbuaa/cernetbuaa.pkey b/server/component/planetlab/cernetbuaa/cernetbuaa.pkey new file mode 100644 index 00000000..dba785be --- /dev/null +++ b/server/component/planetlab/cernetbuaa/cernetbuaa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDlOeqZRbrrLEMjeRxsBPd4lQECZQ8rD8RhSX2xg9/5JZSrRDxT +c2t+BgSwpc/iC0gdEQtZSKFaiP9/79XNXY82iNuG7uHzv/lQJMjcUpNMXSjTDhl9 +81iT610sEpv1dJFImkSawHuEyfMmwG40qKocAo4fOjHUqKpIeFpsIoaraQIDAQAB +AoGAfrv4sulUoPWF4TTyu947HJX1Sueo7Tv4bXl+Xwj0agGXIuHFILZtte2J5kim +mOl342orBiAb5bxc1tU5NiQGKypuLLuX7NPASxlULGBdF9PkZdMPRbq5Kt/Hz+18 +Fwpz/Z1P2LeNbarH46qQUtIlZdG4Wgfgugg26QLYjyI8cgECQQD+MWgTZCdO5Tbl +bmdM1XeEpXyJLcAIKpz69A9oSMwF6kormQwtB8+ksfkwJA3p3I9yggBd6up0rA7y +EnkUzeWhAkEA5tsS9hSCnN/v+a5+FyAp0aFEok3mZvgsUSRtIO9iMKtROiMgwksL +v8X8eLTE9bZGzqhnfSyaz99pbaBn3SFgyQJAT8SFWoB1bWa0wW7R7+SVKwUbfZjj +yCxHMuFf7GPb0odhWykeDwuCd7Z58kd+LkNOqKpvHwnXJWHRFtoBMSwjwQJAH9nF +6fG2e5Jh957dgq9LVcLcR1BcI4TGCIPwEoU0lOZuFIlYMbZM7q6QQM8gBY6aglS1 +wo1u5pM6ZoelDNtYEQJAW5u7DUHSzofCkc2pijD08yeZiLbYaBNGjjNQOmHOnqex +s7E7C7hRRCBsG34gQyicM39QM34KY+T8hoBsxTJPEg== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/cernetpku/cernetpku.cert b/server/component/planetlab/cernetpku/cernetpku.cert new file mode 100644 index 00000000..729688a1 --- /dev/null +++ b/server/component/planetlab/cernetpku/cernetpku.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJY2VybmV0cGt1 +MB4XDTA4MDMyODAzNDUxN1oXDTEzMDMyNzAzNDUxN1owFDESMBAGA1UEAxMJY2Vy +bmV0cGt1MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDFXdkcYlGIK/c3d3vk +37Ym2n7VgrFjCDDTs9noz5l+d+LEIwcralcDpHQN7gfN1QI5DiNx7FI7AyuK30+A +72Bqt0Y3CmNdoqJLgdxRgvZqmILgMU0cVmZhuyQghKRVg1S6B7xVt1D0iCMZcR8r +mk5uWvsdcgxNxWVrgd+1hQbkwwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAKdifuAf +RW4tExQ+TD82wrbYNugjg7llF9rmS1beIPuJ/XM8On7qVECBaDqERuT9xzf83J6E +FvFaM4YknmmY4UMS/9kZ1TlmwXnhb/HdgiY+oHrP/sCPmIReLLXinLHZrx8/BDhO +vaNWZ8FQUUS7xME1kHxWYjpXorX8e9g6t95c +-----END CERTIFICATE----- diff --git a/server/component/planetlab/cernetpku/cernetpku.pkey b/server/component/planetlab/cernetpku/cernetpku.pkey new file mode 100644 index 00000000..8febd3f4 --- /dev/null +++ b/server/component/planetlab/cernetpku/cernetpku.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDFXdkcYlGIK/c3d3vk37Ym2n7VgrFjCDDTs9noz5l+d+LEIwcr +alcDpHQN7gfN1QI5DiNx7FI7AyuK30+A72Bqt0Y3CmNdoqJLgdxRgvZqmILgMU0c +VmZhuyQghKRVg1S6B7xVt1D0iCMZcR8rmk5uWvsdcgxNxWVrgd+1hQbkwwIDAQAB +AoGANpV+7x+t5tgp9fgglqrcSKCTBV+wyW/BeTs7X+zSSazEVXROjk5JpGM+CYA0 +PlPT2o2zddVi5Jk62Jxr83/AjSaYscsb6I0b+Ga3V2zmYgEaqRAv6V9gHg3X/XDz +QGLCWmZAW7bxJWWlH8kPJJW1x4BFilGPjVN7sC3JYg2xHwkCQQDpfCls9smZuomL +Olqsv+y4AwobCClBdpsQ6iNpOaeFPKzdJs1sJQ+434CnMlgeKxeVgWLTg62of7ci +k+cwrbVPAkEA2GYQGoL/gU5j/F7mms83pRV3DD3WUiwGBsDMsL3PQTctxTuThKFj +QHnMl/DXp1MTV4+VtiMPc/VRB82jJqPkTQJBAJ6b4ehLnZf4yAb0lTRVDJHUPsEu +QhheYeiTpYqNx+cS2LtC6LlWU9/atKLf6ExWKac+Rcw533ZfjCDJKHxBBLECQQCt +EGsemNe41TW3tzocY07wUwtjmezWyOiE7BqH2zVuxa9wRqZC80NKZF6QwYfnBNS6 +OVYVVVLdfTsxz28EzxwdAkAWUlma89vUe9LaNWl+fT+yR63TvQA7ZOebjz68xnU/ +gCH/MModP/E6wT03TpMPVUKfB9fs/rw3LqfkLx7IRmTF +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/cernetsdu/cernetsdu.cert b/server/component/planetlab/cernetsdu/cernetsdu.cert new file mode 100644 index 00000000..1f8d5ffa --- /dev/null +++ b/server/component/planetlab/cernetsdu/cernetsdu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJY2VybmV0c2R1 +MB4XDTA4MDMyODAzNDUxN1oXDTEzMDMyNzAzNDUxN1owFDESMBAGA1UEAxMJY2Vy +bmV0c2R1MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDD5YZVljyUyrf3joEi +VRJV/figk8NfpSVlyTZmCa6MUwdVW2DOW+trGnbyOh/NVGG35k6jEV9ulUfS5sTU +cDCnhUoZTkHo71oZb32nK1EpxT8051/IyRGXy3P39LH4j1phFJsA8B/j9Ur4uDiA +FZ9mZZ12l72pAGNjJpLg7kSU0QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAFwUP4GP +9X/SlnfHnftioaLp16i0hZBYha+fOC0GI4pOv/oUK8NJkJTDIaawZ1EmFioH89oB +BJQakAqXmfgSdxYta9zLgrzuM2sFfuWGOudeig0m4TzALo55cAsZN3Ag5tndmsms +L8ass8DIzdkcP6OVau5YittLo6W8IIjcY+Zy +-----END CERTIFICATE----- diff --git a/server/component/planetlab/cernetsdu/cernetsdu.pkey b/server/component/planetlab/cernetsdu/cernetsdu.pkey new file mode 100644 index 00000000..e7321720 --- /dev/null +++ b/server/component/planetlab/cernetsdu/cernetsdu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDD5YZVljyUyrf3joEiVRJV/figk8NfpSVlyTZmCa6MUwdVW2DO +W+trGnbyOh/NVGG35k6jEV9ulUfS5sTUcDCnhUoZTkHo71oZb32nK1EpxT8051/I +yRGXy3P39LH4j1phFJsA8B/j9Ur4uDiAFZ9mZZ12l72pAGNjJpLg7kSU0QIDAQAB +AoGAVrLloklspHmXtAOo2VYHWHGfsQnUpScFByhnX/+W9dnlW/ymOo5qAavjys64 +tnpLCUXvtbIBp4KAGDI0GMVScntS9cyjXMRR+5tQbBhwkbR2Xqjfhq77kCXckDl0 +0PwRxWkB9ORBi0K2GPpuXWhVv43PuPqN2pCKCDS2SjMU8yUCQQDq6CT994MwT57u +d8UHwcMrmVng93FcUmRqgDF7R0uyfbNYH40RCaWCrh1yGRCASg94R3CALaFOaJ66 +aHRejrVrAkEA1XykrfpVJ/MiXUJvdElLSIJbJp7/FIl5rLD2ErUZ/39mjBOtOKil +aQrHcicrPup+AQQFzqJjIToR725wQZbxswJAannzWpK4ikts1NbBHnT7jGWkUc6X +Oau3DHcy9pgofa1wf389p/1hYkyd2Dv4OM5ZGMH5AoCsXygY2pHCPaIeJQJBAMkk +6zRQzLMbTaF42vJBrIDg8WjuHYAIF3AyO2dc4uXr737De04K9+6EjW5soT5iSd5D +IAWU0rmXsRZag8IIqikCQQDlQhvshRrm8sfEaOn3d5isqMI9S1BuBaervevQPziQ +/6iBwFRoiVpuHHE4Cy2Ci2KDwhrZ1HKNERQLeicyLz5O +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/cernetxjtu/cernetxjtu.cert b/server/component/planetlab/cernetxjtu/cernetxjtu.cert new file mode 100644 index 00000000..0158e759 --- /dev/null +++ b/server/component/planetlab/cernetxjtu/cernetxjtu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBmTCCAQICAQAwDQYJKoZIhvcNAQEEBQAwFTETMBEGA1UEAxMKY2VybmV0eGp0 +dTAeFw0wODAzMjgwMzQ1MTdaFw0xMzAzMjcwMzQ1MTdaMBUxEzARBgNVBAMTCmNl +cm5ldHhqdHUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALR5VcYbJxbv9T/5 +jqNfs/2L7L3YsElp2AOgMyxsJe3nbqjqa0P0hpJlVN86voY2izJfm5jkMG12BvN3 +cDNLx0JO2+0auZk9VkhXpQkvS5RNHiyzwH6Op/vAR4bKQbqd7mWGDTpyBWPTDOrn +ZQ+/lreYZvrGWPv3YRDcsWZBnRepAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAEWN6 +LkHFbGON43U4TX1pcnFrMmGS4LdpWo9bXEnMUlTqKSBhrgWUtT47CHxPuvtJ3D2y +fx52FrrbQ6cvS/bL78G4SJDPcH2zx+GpKcYTrT5RdZNvUd125e8+vBFJzExqLHry +YASbjzPhXPIu17iS6hEMLtQ7MH0HMZFC5JuLw3s= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/cernetxjtu/cernetxjtu.pkey b/server/component/planetlab/cernetxjtu/cernetxjtu.pkey new file mode 100644 index 00000000..11648468 --- /dev/null +++ b/server/component/planetlab/cernetxjtu/cernetxjtu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC0eVXGGycW7/U/+Y6jX7P9i+y92LBJadgDoDMsbCXt526o6mtD +9IaSZVTfOr6GNosyX5uY5DBtdgbzd3AzS8dCTtvtGrmZPVZIV6UJL0uUTR4ss8B+ +jqf7wEeGykG6ne5lhg06cgVj0wzq52UPv5a3mGb6xlj792EQ3LFmQZ0XqQIDAQAB +AoGAezhk0e/0DnsjjdyMAQv0zmZc63opUtaLgF4+0lO8yeQ77+St/CXWQ9ofypJH +R0eyXmBc0lTqo7H0KQMhfkR89KjNa/MJ8MPUn114Gb68mtKO2lwt19fh9aR8bfNH +7BDE+KX5d0DfRYgajOW7I9TVFKxkvGsIxHXGevue2/hZOAECQQDlsg625dpBQjbl +8nnRIMjGkSVbS/uxMr5jW17h3mMlXsas2wLWHFASgl0EkHYdUaLKwvCDYEIxbiy3 +CFdTmUwpAkEAySRB9XF66lW0xZt/KSE7UoBeQX03/OE8Rf3X4awPx9Ppb49Cbns0 +jKwqirZt2wTNB0GnbH04PhmEKwE/OJbfgQJAW6z2fH8+3h78ZEij4BjyqXYS795i +xXWYUXWNaB7neWnbZ/A9sJE6UDjhwUmbKtaDX+PwNK89nBb6F89nc0FTCQJAReMe +M9zJG3DKDbr4lN7iEMlfdpu+f1P3ME6B2vyAwyrDOirppx+R46rSYT3/r5DceD/8 +nzpm91TAUnztbYkmgQJBANbOtpCtC+XBO+ry6VVq+CCZX7IEYAcTd8L6AQGKw2V6 +iKRF5P+sraQ5hzy8zutPE+OnDfcf2OZgWCoYoUBTLSQ= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/cernetxmu/cernetxmu.cert b/server/component/planetlab/cernetxmu/cernetxmu.cert new file mode 100644 index 00000000..0549510f --- /dev/null +++ b/server/component/planetlab/cernetxmu/cernetxmu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJY2VybmV0eG11 +MB4XDTA4MDMyODAzNDUxN1oXDTEzMDMyNzAzNDUxN1owFDESMBAGA1UEAxMJY2Vy +bmV0eG11MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjHAvqs0SoOQvZa/on +VVJoSwj76HhGQVkPnDdN8kFOelHTOYIBU1t1tR6AeDam5Q9Cz9R+7phd04P1cZYX +sbK3dpTaAx9/QtdlOYtJhb8Czl02VGiAIKGtucWGwdUqBhDjyL9OtAQLCeYYRDOR +41FITTS8g1QoUuaddMkULWlCIQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAOEAEp5/ +fQsgpnUDp91rQkyp8kXVynwIGcq/yexKVP1sXR0B+RiSQNYae/Z80AFdyjaGxXv5 +54eaxTB4+nslYgSH5112freERD/VQVI5g265DBQbNslWM8cAjZKCznxE6+DYB+rq +3MXDSynVGJ/FiO9dQ9ZMLzYAJy677iI0Dxve +-----END CERTIFICATE----- diff --git a/server/component/planetlab/cernetxmu/cernetxmu.pkey b/server/component/planetlab/cernetxmu/cernetxmu.pkey new file mode 100644 index 00000000..90cf5e82 --- /dev/null +++ b/server/component/planetlab/cernetxmu/cernetxmu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDjHAvqs0SoOQvZa/onVVJoSwj76HhGQVkPnDdN8kFOelHTOYIB +U1t1tR6AeDam5Q9Cz9R+7phd04P1cZYXsbK3dpTaAx9/QtdlOYtJhb8Czl02VGiA +IKGtucWGwdUqBhDjyL9OtAQLCeYYRDOR41FITTS8g1QoUuaddMkULWlCIQIDAQAB +AoGASnlhAwbkZdHHK/Y3ovxcuKyadpkGD+vP+8l7bUka11RPTtfV5P9jx5asOO6y +5UnKFlu20CUHvATnie5EjOKNuvOm9/XypubZy5kY2phGx4xeWNylqmdvPb6QF1tQ +AnLCMZqZoDG7IQqqJpHeWCBDXQj2c/qIoN1Gu+8ILCqG6H0CQQD4Yd9dcjxwgdxy +ASRcEf6KB9uZwLHoHOrDJasz04bRdvD+kc1nnOjLFeX9SmpYOSKOn9Nhbmq7UVHq +YREOG4O7AkEA6hMnqdnBBdtiOMHoovWAx+oJawqjdKR7IvZ1ZJWKD+SYqpKUnYsW +N3wwwIVhQvAPZMuffikGytJCDLK1srad0wJBAJ0xM69sEJwTU3RDDMPID5NDjdMs +hGslgd2nBUZzZCtEXxh9JcWhJCMC5N78LXlQD3K764cJ3jpWKMVwUN7gwukCQQDO +ZBljAGfb/Da9CO1RUts8arXnNjguDyGsEFguWlSj8tJSBHEaAJuUTOLHvlOmK/nG +zGxTV2VvzLkEbUcczzyVAkEAitZ/SQKEFIKyqTp8UJhaWOEl8cXXKq4BF2yUNBqL +cJF/gEpK+1pa9cL5l30ZjQsI3UglZvKpe0PI0zLNN2aAzw== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/cernetzju/cernetzju.cert b/server/component/planetlab/cernetzju/cernetzju.cert new file mode 100644 index 00000000..7bce17ce --- /dev/null +++ b/server/component/planetlab/cernetzju/cernetzju.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJY2VybmV0emp1 +MB4XDTA4MDMyODAzNDUxN1oXDTEzMDMyNzAzNDUxN1owFDESMBAGA1UEAxMJY2Vy +bmV0emp1MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC41psBzJCUM4N89bkl +ZscR7AS6/06JI5dA2X0XHEkJ1YJhHAVOWL/4N0ocHe4XjI58zp8ZH7Zs1p/Ypb0a +i0Blgowxmlmiljo6QxcySp/7Gf2c2v5WvR2jooL4ifrqE4tvaGP8Jbe6taLJ8dh0 +o8vkZZAQBKHqBfIIqThtUOsdFwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAFPo1/q8 +a9GbA8l6BZBMNdnRv3ltdV0qETyXOas2Z+NRjutGUXBw5Tgz2+6OUIyw8+nzfd9U +IE6jOm2es9gz1e8uhpHpbc9f/BHZu7WNF7uiszMmlw4R5eMou3AGEQGP92PL/VG6 +fdPU1NYJCF0vUHePSuoE9r2eQdoFeYEG7b5J +-----END CERTIFICATE----- diff --git a/server/component/planetlab/cernetzju/cernetzju.pkey b/server/component/planetlab/cernetzju/cernetzju.pkey new file mode 100644 index 00000000..1ccc56f4 --- /dev/null +++ b/server/component/planetlab/cernetzju/cernetzju.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQC41psBzJCUM4N89bklZscR7AS6/06JI5dA2X0XHEkJ1YJhHAVO +WL/4N0ocHe4XjI58zp8ZH7Zs1p/Ypb0ai0Blgowxmlmiljo6QxcySp/7Gf2c2v5W +vR2jooL4ifrqE4tvaGP8Jbe6taLJ8dh0o8vkZZAQBKHqBfIIqThtUOsdFwIDAQAB +AoGAILdbmGXs8U5s56FWtBgNBE8SR0cJT5zNGN1mFsEa7HKuMSIUjlmHIRgoNfHW +QrTOQ6kO4BOM5pbWlDJB1oDvVLsTH1PXMl6sLuy4/PMVjwqKLhXOOxEIqfGY+axM +VfHXX5+N9BDYUCKVKJI/njqOvZrNvLPfLjM7YZI6t+vafIECQQDsFSPVsCejDqJj +rH2kJOesdsHZXjWDVvUIzXBnCHdkQRPjdPh9j7/kxpY5xAf5y7YhA+J6hhLK4g92 +K2dj7fvrAkEAyG6z7R/8aMkhYvMkq7jSdGKmCojOQzpB+KEn+dq9lThRIFpHIEqP +8CtndjjImXjDERjmh7pWpdde8ilmh/K0hQJAPQa17a4MgPTue0+CZuT3UjicoYDd +2manDrB0Zt3kZvD/oCODfImlNBE1khcfbK4BFYW4jK2NvA41qvlLT6ScIwJACjJH +iPqllpcU0bnY1buTSURzefm3tIfUL1fTdsx/9IVm6yRsleH1LJyoqMT+v3/7PHVt +1N3P5qPsOpmMk8HvGQJAdaW/Ipy6ZoNxNTH/s2kURF9ppkBMO0FAkENe/ELglcM7 +BHudxfWofoJ7mSwDKSdkaaZMXoQ65GFZj26SXqw9yw== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/cred_file b/server/component/planetlab/cred_file new file mode 100644 index 00000000..baee0f48 --- /dev/null +++ b/server/component/planetlab/cred_file @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICFDCCAX0CAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDUwNVoXDTA4MDUwODE5NDUwNVowHzEdMBsGA1UEAxMUUmVn +aXN0cnkgY3JlZGVudGlhbHMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALWW +L+HnZBsm25whBQRhkxmQDy1ZxL1/RWQA81Ln855GFpD+IsRFAjYRX+uY8K4BFCGV +kuGbljm/G8cb9trpFv29goQwO6NnB1zdCOEBthLvZXbytt0h4fKwnsl4bP0nU4Mt +LNtwK3lqYtlww+a78briJ5YjxAxTFiAITW63dsjVAgMBAAGjcDBuMGwGA1UdEQEB +/wRiMGCGXmh0dHA6Ly8jY3JlZGVudGlhbF9zZXQ6KDAtMCkoMS0wKSgyLTApKDMt +MCkoNC0wKSg1LTApKDYtMCkoNy0wKSg4LTApKDktMCkjMDpyZWc6Y29tcDpwbGFu +ZXRsYWIwDQYJKoZIhvcNAQEEBQADgYEAAXHGFK7T0PrNSNk0kDYeHm33WuMars2w +LNAbFiqDmvJONGq1x7RmBSnskrqyI+pkMA3qHwnq5ixqcr+B45jOZfuZuhwQqSLc +7iR06F3AC3Xad+uN++JR9zXUueNcy4hKrQPkIrPOSZJKow9IWEk/3f3TFQKu+pfm +7gaaRN11vAg= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/equinixsi/equinixsi.cert b/server/component/planetlab/equinixsi/equinixsi.cert new file mode 100644 index 00000000..22cccd53 --- /dev/null +++ b/server/component/planetlab/equinixsi/equinixsi.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJZXF1aW5peHNp +MB4XDTA4MDMyODAzNDUxNFoXDTEzMDMyNzAzNDUxNFowFDESMBAGA1UEAxMJZXF1 +aW5peHNpMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUiF/QE/IzkQQ47Vs +Y+gOMig7vjYkZydOv9GV4IO75rcvWi46jzdziQusIa8IHBLIKq/EXbIDttS1vmr3 +JDzvBey3/ZLJVNyjlU309L3IfGLQn2KxhvO7Rtck6olpuvy3ehmRAI6YiTu3JLD1 +Vf/hmkkf8qWUUv3QxeNXn9i+AQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAC6Ez075 +hyhPyqwj3e30GoT5VSxZ7EPNFJ5s9QjF1XKEdBvkjydaZpZU9kS4tqfWWkubr9kr +z/z8VEBJJibOmXn5m1k9qDKWvdJuajstq9hy0T3qkEF0bkbCIbRpv6ELWBdEyhXs ++xiOGvZri4tN3X8d9No8+iIP6JVGHpfedIp2 +-----END CERTIFICATE----- diff --git a/server/component/planetlab/equinixsi/equinixsi.pkey b/server/component/planetlab/equinixsi/equinixsi.pkey new file mode 100644 index 00000000..ed8b3664 --- /dev/null +++ b/server/component/planetlab/equinixsi/equinixsi.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQCwUiF/QE/IzkQQ47VsY+gOMig7vjYkZydOv9GV4IO75rcvWi46 +jzdziQusIa8IHBLIKq/EXbIDttS1vmr3JDzvBey3/ZLJVNyjlU309L3IfGLQn2Kx +hvO7Rtck6olpuvy3ehmRAI6YiTu3JLD1Vf/hmkkf8qWUUv3QxeNXn9i+AQIDAQAB +AoGAVLiCA+Tg8Tm7FupzCAvROtD66AnzdfZiusIMcJmacrTfHE+Wmuip2kflZeYh +diIXHDr2jcH/gS1ec511RB8Tb3FVX4Hz7UQpE80d8gHwANKCRVzkvOpjWT7P2w9E +Nr2uzoPm9tTl0pD9eKPywCX4fwHozdNsHg/KHXDiTzz30IkCQQDnx4UWjPR3cur1 +LLv+LtMlKzUdNPROykd5xDIyPijg3oIeFVtnbwJFfeNM/NpTcKAEdTpfGurSEQqj +0lx9NWFHAkEAwr8A3MBpT17T8HOyKN01Fq0EA0JTIrrxKFwuJ3aqRu2Cv0QzB8Lu +OEt2uzTLtVb5s0pxumrtsfYD8TGDt8ZKdwJAGy61Fw305cVedN6INak8LhHBKum4 +9TyX4Vn3IRlVJfoyfGC41YqZU5kN/UtyN3Lv8VXmQJ0hiP1iqA/VtQF7pQJAX4/Y +fXqRcpgmyeQL9Y9uwJzPzkWag/1V3yc0orrRHZLoyLBPlixqNweY0I48s9RlHTyX +iBF2aBA/qPhSGTjdSwJAascMKL0kxlK38BsUa/EEVgY9ljSLRZ503BfJRoAfDtJt +sDugaoW6uThetvCpmBraYE8vH9xT0Gd1z7HZAK3YzA== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/aston/aston.cert b/server/component/planetlab/eu/aston/aston.cert new file mode 100644 index 00000000..df8fa5fc --- /dev/null +++ b/server/component/planetlab/eu/aston/aston.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVhc3RvbjAeFw0w +ODAzMjgwMzQ1MTNaFw0xMzAzMjcwMzQ1MTNaMBAxDjAMBgNVBAMTBWFzdG9uMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDhItY3WxNdSEOgvMlmQJDU4SpDqUmZ +/cLkXhdkkgend1lysqTBGd0zUaq153a7vdyVFlDjjCWDy9IcWvzXxm+zW0AiocWO +vkA3jSNlZlAFelTPQymkyemdoRVwDXwq5jLjd06Ce4Jw+O1Gmx16FoHAhsiEusn7 +9cHDLmlv2HtrhwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAMkOlb+SEM8cKIzNe2vN +UAm5/OQvCjsXWBMzPJJJqLjpLLXCmyU67qnF6vFcPTYbjD3qWVUmYuhDsmYi9X1K +RFVaCzVbawv8S327/IjUAmJgqrfZWbx2n0jXRh9L4sCJKN+byHebx4Rdn/l7tNK3 +rurToaW1yGisqsoxalMAgzHu +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/aston/aston.pkey b/server/component/planetlab/eu/aston/aston.pkey new file mode 100644 index 00000000..57f18eb3 --- /dev/null +++ b/server/component/planetlab/eu/aston/aston.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXwIBAAKBgQDhItY3WxNdSEOgvMlmQJDU4SpDqUmZ/cLkXhdkkgend1lysqTB +Gd0zUaq153a7vdyVFlDjjCWDy9IcWvzXxm+zW0AiocWOvkA3jSNlZlAFelTPQymk +yemdoRVwDXwq5jLjd06Ce4Jw+O1Gmx16FoHAhsiEusn79cHDLmlv2HtrhwIDAQAB +AoGBAMjb8c61XNNus5dmlzC5Df4/XRu8n0PaGNTx9WDuwBFy88TXCRKW5rjwdaOQ +/GeHfpMss8IvuRCa+bv+mXJRQjlQIUe0ZvPtaPu7btoWjNXpb7GXYAg5n1w3KV8l +73UN7ctJqfDTx0zqOi/rG3Ifd1dHEiOXnb2OgCHzAcx5L+jhAkEA8MoOR5nc4Hrf +Xzux9GbjF8rOHJhbBgzTok/4cpbQAkIbpe/Y5BvPaC87wI58dg74IWVBFN4mEyAW +P6h4mnnBHwJBAO9bpNsBCjFbjzRChJ38zLe3beu5glNeLXxX2/EIPvEiEPbeeNgw +zRRDFwdOxeMHAMK6KYB9VJnz8SsEmrBpAJkCQQDnkxv6prJzvhhXqbyy9cSQHD7v +52MbRXjAULL72alBkryucSah81EcvNh1j1OJ40mmLJBT9nadzC05mdgrkM83AkEA +ihaT8CkUaU9KObsaaU78CA1R5AmdD12o3jCN2euI7HJb2SCWFRtqZQMjmPqwHX7f +yHfAE7m6gisC+m9oktexGQJBAIf0MBJe9emMEpm1O7x4GnCc4UuxbLwoM3NLj9vU +FnOWfwtdsh4kZGsvFDrVutkQ69Myu7wO0P9j2V04ZPHqFxI= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/bamberg/bamberg.cert b/server/component/planetlab/eu/bamberg/bamberg.cert new file mode 100644 index 00000000..af917cc8 --- /dev/null +++ b/server/component/planetlab/eu/bamberg/bamberg.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwdiYW1iZXJnMB4X +DTA4MDMyODAzNDUxMloXDTEzMDMyNzAzNDUxMlowEjEQMA4GA1UEAxMHYmFtYmVy +ZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAsTjYSNopBhkruvqj0irmcG9Q +6yZkJ5855UBI6Mg3PPU+FZdaNjqaLUQ7KYLGaWOVEUiYU2ibLxSyqkcdoPgSitoK +kB1jQvDH7zRnxiIvcN5a3I9lZe2V1/pMOEH3v4dffTCn+NjuqjBDxq/nOpy9NS+f +6QUX11fmlyvX+85NYa8CAwEAATANBgkqhkiG9w0BAQQFAAOBgQA8Nn0ZAryb+VXB +44LNQfZUgOzpTE+E4QwN1kw12TZ7zup0syf9lw47bbRraUTo+4Be0zQ3sSAV4WWG +0IffaXHMF46mecGiotu5JzU7kqAhbMfWZ9cdY7emtErN5Q2R7qNt4gt3qTPFLQE2 +xkw4xqs4KVWaHDIR5cJcQacotiEarA== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/bamberg/bamberg.pkey b/server/component/planetlab/eu/bamberg/bamberg.pkey new file mode 100644 index 00000000..865bc2ec --- /dev/null +++ b/server/component/planetlab/eu/bamberg/bamberg.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQCxONhI2ikGGSu6+qPSKuZwb1DrJmQnnznlQEjoyDc89T4Vl1o2 +OpotRDspgsZpY5URSJhTaJsvFLKqRx2g+BKK2gqQHWNC8MfvNGfGIi9w3lrcj2Vl +7ZXX+kw4Qfe/h199MKf42O6qMEPGr+c6nL01L5/pBRfXV+aXK9f7zk1hrwIDAQAB +AoGAQF0+4Caro5Vcton1GY2PJ+Kl5uGImoNPyZ0xXanpte/z3m+byfo6qJoRSqA+ +Y2RRbXeKKzDgu5au1P0DG8U9Jim59yDkHfyCgPiPrnbKZGsYskTrjYlNtiFdS5gi +5iiKTk4rvM0RvpdfJq9eO1lAFmFfkaRdCcdwG4Pn1Q3zkwECQQDkE0e2htlohoCM +Cli5M7Ht+xWQk0MJJk213iyQSw4NKg81/0AKCVC5TCUQNbkqNcH3YbFgsTBvxL7i +r69SVx/vAkEAxuui43Wqz48Bepq+XyTMBeT6oBxX+MWA2wL546OMSo6rNxqccsJg +ZpQvsnDhJ4xsTIy+Ctl/INB7FE/50hAaQQJAG2fhryInD7NR0QIRRTfcAo+wOK4p +WPkcT2VCD5ilOJm8OC3SwSH7bDilH3yFInhRNWusx8Si4FtQ4KZht9A2SwJAYSPJ +E9LuaxWm3zyaItRRXb+INJAi1bV9S3aUmXnQlMg/DFXOeKw7b1yGPlmpWirU6D0C +wUGdN2UX9b9ofBCpAQJAbTWBCa0slC0jevP9lpFqD95IuqIdUqvLeA161/wFF66K +MXfLyE879gEq0ymOEhXvIH1HqX/1ntZy8MBjsrS7ZA== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/basel/basel.cert b/server/component/planetlab/eu/basel/basel.cert new file mode 100644 index 00000000..e9c3291c --- /dev/null +++ b/server/component/planetlab/eu/basel/basel.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwViYXNlbDAeFw0w +ODAzMjgwMzQ1MTFaFw0xMzAzMjcwMzQ1MTFaMBAxDjAMBgNVBAMTBWJhc2VsMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCm6vgvoOYyxRFARTDsAr4roIVljF8A +C2oTcRO9rwMlOjv351KNn1J44I6Wbo7k96kl7ss/hDJ6rh3mabUI1X5QSKRW+qgv +o9nNXB8uaxjZYImzxAh/lXigP7gSFFKduDg1wvQPQ9JrUEmHGDh79R3AnXQy46Qd +RCzi1tWTdCOAXQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAApNt6gFVAGcaMqKfyXm +NaWSDywxQlfLeakh4cSl2RQRvzeagb7WknzUCTcyAcVTS+FTWF2ar4CN4T7kFkIJ +8cSARUnEAdiovLluIFjsHT6cplSlVo4XyOmBJc2nV/kx03O/ZVE2KzXNmhUL2ILH +mZSaBedAKzRa0DYNfHZNGkZW +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/basel/basel.pkey b/server/component/planetlab/eu/basel/basel.pkey new file mode 100644 index 00000000..90983dc9 --- /dev/null +++ b/server/component/planetlab/eu/basel/basel.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCm6vgvoOYyxRFARTDsAr4roIVljF8AC2oTcRO9rwMlOjv351KN +n1J44I6Wbo7k96kl7ss/hDJ6rh3mabUI1X5QSKRW+qgvo9nNXB8uaxjZYImzxAh/ +lXigP7gSFFKduDg1wvQPQ9JrUEmHGDh79R3AnXQy46QdRCzi1tWTdCOAXQIDAQAB +AoGAehWWHU/zzuJwca+pzpVa/pHTv6hhu6idl0a3h59AD7R+NB3PNaJ4Mc0cvU5z +2WiDISl9IyHPwgcj+2kJbkKotWU14B/0d1JtZMQkZNzeTjRutFnetLlq+8GHbB3O +7aGbm+18/THVjRa/iUFXMN+jFNErtEB1mcYc3I+pgdM3DAECQQDWWeOli4JCtDVh +BR2Gu6fbttMDGhXhjLsXa5bCqoDQldy6GGNkTtHMoCQeEX1Ei+EpkvKpOHJ8EBt+ ++9hrZ6DdAkEAx1mviJJWE3Uhn45x1EsEysVk1hBl1ePFY2nr4hhVjkykoaDrl/og +LubbmNUGaG2eMDB6QlYUL9Mw9STNSOGlgQJANKAZDdm0f1/zAwDYgO2thnnaUJak +7J06icN2XhCyU4OXj3DRZh0b0Rs4AtHUaXHWM/jJ7tXW9bKWrZRzS9tDWQJBAMUi +yrRKyjY5qcNokOZ4PUfsRlhuJNaMhQFXmL2ghNLQtiljwjcrUbIv988+MjUI2dsb +xXteNl5JAewatasyAYECQQCr048hst5rvKBQtWwgebSM6C08rXPjMsMEyhXuNkl9 +HnDilxnQJ9H1EXZMAoO3SYTQu6OFcvShMGjEtVfkId7p +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/budapest/budapest.cert b/server/component/planetlab/eu/budapest/budapest.cert new file mode 100644 index 00000000..84b84fe9 --- /dev/null +++ b/server/component/planetlab/eu/budapest/budapest.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhidWRhcGVzdDAe +Fw0wODAzMjgwMzQ1MTJaFw0xMzAzMjcwMzQ1MTJaMBMxETAPBgNVBAMTCGJ1ZGFw +ZXN0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDC4Ia89aJVladDMP3vI6Ir +vnNrpG9nUKC1/+G57iTwdcMrD6VCMVOh2LiXIvhJ+DqMRXObj/mtYBEOdlbVPiaQ +d9N/p6d5Ohd0WgG4gIvWFVjVpXb48fNxOdJnbgeJLl04Y/wREx/ibJ86+z2oi1NS +Mwh3AuQTNWvC7PIAaOvzuQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAJiOVAY5zlLp +qiBT/03vSMPy/7n/RPzUcMUV05bmKk4NX0309/MxWcmyyfeG4sZ32baoT2hBjivj +0DaoGTrvp2BjXBuAyOwpqBKD5xx7XVrqZo8SGavAzfmw/E3aWGsakrX+jEzSb+k+ +lEPs5Nf+HWcBXN09CHRvjrKOeLyHOK0J +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/budapest/budapest.pkey b/server/component/planetlab/eu/budapest/budapest.pkey new file mode 100644 index 00000000..258340aa --- /dev/null +++ b/server/component/planetlab/eu/budapest/budapest.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDC4Ia89aJVladDMP3vI6IrvnNrpG9nUKC1/+G57iTwdcMrD6VC +MVOh2LiXIvhJ+DqMRXObj/mtYBEOdlbVPiaQd9N/p6d5Ohd0WgG4gIvWFVjVpXb4 +8fNxOdJnbgeJLl04Y/wREx/ibJ86+z2oi1NSMwh3AuQTNWvC7PIAaOvzuQIDAQAB +AoGAB1a1PEBz0I1GMz2REoRhAwy1BAS5PUbIBpKQSZQyR+vnYaPBMXDyGVI0AV0L +xJ1YdxfWdrFBUcogWk8Sjg09Hnq+uDzvNJeCCnpIQXrK7B07o6qxNc616Jo3XzeL +zY8fwzallYU0vUqdKv/MlNQUoBGZEFDPLSUrb6+I7GJTnxECQQD1lQeDX87UwNea +9jJC2RLLoLnnbuo9zg5djuBOgbpNgP8Qv7WCtcinhD23O+a/4+mW/nf+6fzUfnK3 +gQyShIBDAkEAyyTZroDD1sA1ZmKuK9C/89uyhywaVFTB3K5tGJIkC9+3NUeK/U02 +d0MRfve76tFP5jDMnfYmhjVrSOD8oOFKUwJBAM9IHrNQZq9EpbbyHrI1rpuY6dDh +2WyZQ57MPZ+F9837F073wSi2bsqV39GNCdLleAAugPH0ZaalpAYnMolotSkCQQCh ++7ZgQWjnushZ5eIAKiqFpu/KfU5ZZGRZNfTkHNQFa9RI9c1Mgd8mZiJzXdNIQLM3 +WD4wzvCVH892g4CuQDblAkBvNtWJC8d8dfGCfl/7j8v2A6soJ7e/VdaGY5Y0Gd6t +IikUrHPy96AQ6IvyLyC2+Hu2hwp+F93YysY0EfUpOiWV +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/cesnet/cesnet.cert b/server/component/planetlab/eu/cesnet/cesnet.cert new file mode 100644 index 00000000..bcbf30c9 --- /dev/null +++ b/server/component/planetlab/eu/cesnet/cesnet.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZjZXNuZXQwHhcN +MDgwMzI4MDM0NTEyWhcNMTMwMzI3MDM0NTEyWjARMQ8wDQYDVQQDEwZjZXNuZXQw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMmLxk8ynQsQmyHLGBT/LJbnDiLA +Lb+NWL83XfYATmyUepxf3q/QL5c2pn5zWEn2tSj7Vk/i77n77uklRsz0Fyklp9Fm +GnyRvL32TC/Q5G1YkVQD/TLwaqgFzgEalWxyxvWx6S1XphVH3N4KdQ6l4YqANAL4 +wM5JMDl6zSNb6owlAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAPSF/xBjhuhA+G+Wo +mLLPzOmZMFvtzJDkBldiVHVW/BnH9m6tvpzot/ICJseCOMjL4FLr5XsNPQGY5Q06 +dMBOrAQ5F+P3797Vryqnt+aZ2Q7/3qmkz1U90xDWkY0YnPay99w1op8t+bU/urOB +QCPBP5eXEAiW3YHoJglYY02mTtM= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/cesnet/cesnet.pkey b/server/component/planetlab/eu/cesnet/cesnet.pkey new file mode 100644 index 00000000..9212c24b --- /dev/null +++ b/server/component/planetlab/eu/cesnet/cesnet.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDJi8ZPMp0LEJshyxgU/yyW5w4iwC2/jVi/N132AE5slHqcX96v +0C+XNqZ+c1hJ9rUo+1ZP4u+5++7pJUbM9BcpJafRZhp8kby99kwv0ORtWJFUA/0y +8GqoBc4BGpVscsb1sektV6YVR9zeCnUOpeGKgDQC+MDOSTA5es0jW+qMJQIDAQAB +AoGAQM8Te9AYs8ApQlqeadIMMpIl94K4s0nuab6SFlLO5RdxvesOHpbhVsyaCTtp +/o64fm8juBiPYczjbFEyTSGIeH5dKZt2HCR3/veYt3Y9TWRUKiJIyHX6T9lUvk3c +a94ouLAbnznug/rZzgBgbEsTljxEA5l4xY0W+bGF64UnYgECQQDyv0nSirrOJZsN +oCtqeuRhW3Sb1+3stBNNSE8Nx+DhVyiH3/7w5InpWko2T+FH8bS0itDIqVrew6zM +ENds6yRBAkEA1IylHKnhEt1IqzVk/JjFBzn5FN/TD2PPDujGvgdSoxefk3lP9Wvh +TzsdUFZ9FgYrwRbkIhfNh2CvFCYjhHOe5QJALwaPrpHhjn4Kg6E7x+z2wUWOWYKD +PQ/FjXsslWbbUcwotenW4aPkc6hiKBNheSaB81fRCo6EZBNULlQ054zGAQJARHeV +zFjwtrnvaa9Ge5PejAhhsxayj1eQYHYdZyNGvGCkt8WxOxZoOrSJKdLiclDEkWuF +S3Itc7lyTGRItqbj/QJAVp3kuDwvZFPOPvKKxIGud8kDq6DUx6Qh1VBEzieECcBZ +IHxAnhhS7yrhx5TGBb60ElsYlN8Cz5cHT2rrt7h2fw== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/enst/enst.cert b/server/component/planetlab/eu/enst/enst.cert new file mode 100644 index 00000000..aef7771d --- /dev/null +++ b/server/component/planetlab/eu/enst/enst.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRlbnN0MB4XDTA4 +MDMyODAzNDUxMVoXDTEzMDMyNzAzNDUxMVowDzENMAsGA1UEAxMEZW5zdDCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAzythg9Lyz4WQExbBco51Yp5eopHFTG62 +dqqmCKxwfUMcfdNejdZMpVHpK22ZguCLY+jzErF081hrvsnAh8mnYm2YgJQB+UH8 +VMv8+T1tZ93qw+0Fb/Ge2tfy66syLGYxt1Tv43wVhBpnQHBZLhp3bhB3m4iaCBBh +FPOuovHAHPsCAwEAATANBgkqhkiG9w0BAQQFAAOBgQArY4c80aunEoaNfFeJ6a7a +aYz8ly5bLuhLPbPI5oM3JvtAVlFAvi1SdfYJei+CoJw8V79/hdcws7NyltCsAoyM +KE+sJo0XmOuaiPIbrAY1zMvDMUxNQV35L4emBS8xvkb4lMS564nybiaWkdTLcj57 +R+uQYSN+eUhYM0ISl1UyNQ== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/enst/enst.pkey b/server/component/planetlab/eu/enst/enst.pkey new file mode 100644 index 00000000..616175db --- /dev/null +++ b/server/component/planetlab/eu/enst/enst.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDPK2GD0vLPhZATFsFyjnVinl6ikcVMbrZ2qqYIrHB9Qxx9016N +1kylUekrbZmC4Itj6PMSsXTzWGu+ycCHyadibZiAlAH5QfxUy/z5PW1n3erD7QVv +8Z7a1/LrqzIsZjG3VO/jfBWEGmdAcFkuGnduEHebiJoIEGEU866i8cAc+wIDAQAB +AoGBAMrxbC1+0G2KIYERoZ9e/o8FJR+MPQKK0iOdN9j3U5rhy19XWCEJ9Ttd6lSo +oOEcpm/RG40MWcyoqaPUb86VNGnr9OVMz1aKgtd7UT5/wSH6qNQqTyxmc5UvT9a5 +HYuZGrLhYKqpdHgCTAs8fFadBlqvie7Egjk4xUDgqL86U4uBAkEA75w/6Rjc02Tg +3CMRO0ND/HhGk5QmPKr9O1VvoKauHVJ7BcggiSzVJNDfs9wXCBE59N5RW5QuBesC ++9A94Uv+uQJBAN1XEVpHrp+uQO+HgCMWUroihS8xdeXzmJFl7AoUzisdpgrf378T +CozPhWtmVTVPbYlpw9mRVDUFtfG0mxdVP1MCQQCz40iQBZx0EH5IhwM+zMdT2jCS +R11VmsG3M/M0Vy7M0MmPk6npkoEKvM3VyFx6MASk8+t8p4jN5Jw+1R4/8L/xAkAY +z1OgnPxT5cJdlwCj7jKjro7jNVYTynRFh/knQCHD73TXLzTzQ/0gv3ojCbtvWFHc +30AWuRWJQ/Sa/TWNLf8FAkByoMy2N0qxZHW56INWxeQxLUjQNjreokzc+uxnuid7 +99G90MYtDF2xB4MuoGEmuhncN2ootOzNJBtoJBhgXPrh +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/ethzcs/ethzcs.cert b/server/component/planetlab/eu/ethzcs/ethzcs.cert new file mode 100644 index 00000000..09989f46 --- /dev/null +++ b/server/component/planetlab/eu/ethzcs/ethzcs.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZldGh6Y3MwHhcN +MDgwMzI4MDM0NTExWhcNMTMwMzI3MDM0NTExWjARMQ8wDQYDVQQDEwZldGh6Y3Mw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMOZHp315vFgwqJt8NGyGjgjgGNy +pIjQraOeOI7NiQtQGPatyHdLfQcx3NP/vr9IWvBiWuzc8nsefBGcCo7/zHgdPgFC +4NwuLC+7wwx74vaUfQzZ/w4iwyCdK/z7D72N0aeArDXJtO6WyQDJ4Obq4VEynic/ ++w1WqRiMocL1vcTDAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAmqgTWVs1am54+9uG +o51Frye/U7bBuMIdQxW8sje31fpeovY5ax6L2VdwlpLzHHGTjwrt9P7QP1O+9Ate +t5PInr8dRtnHwaTnfvjCPCBqiVUV2eZdQ5ykMuMGp8GjGp3YItYYrW3zjoyxhjLg +n34+mlVKXVGJvsRNMtSd0QPqv+4= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/ethzcs/ethzcs.pkey b/server/component/planetlab/eu/ethzcs/ethzcs.pkey new file mode 100644 index 00000000..5d7f0517 --- /dev/null +++ b/server/component/planetlab/eu/ethzcs/ethzcs.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDDmR6d9ebxYMKibfDRsho4I4BjcqSI0K2jnjiOzYkLUBj2rch3 +S30HMdzT/76/SFrwYlrs3PJ7HnwRnAqO/8x4HT4BQuDcLiwvu8MMe+L2lH0M2f8O +IsMgnSv8+w+9jdGngKw1ybTulskAyeDm6uFRMp4nP/sNVqkYjKHC9b3EwwIDAQAB +AoGAQf3EHakcLK3nnOOYzzbWr8ASjfrc1igJnV1BWbSwmveAJKHHM7BtU2MYTRJI +6cJgpB+a67UzviQv2cUartpQwlIQCF0lbeODfV02NJuRvm7l2zabPnsD3Vpkd/fT +Ddypd58/fhtMkXC5in9OpkFBIhPZIBzoozGcRPBGBBCUKaECQQD0SFqoxNNpOIol +Uef52Ns5GRZqJAk3KL2bYQ4u60Wus06NZ9h0IaRHGXFCPmxjsFRBxOecZKIvtuKW +9fCTSSixAkEAzPry1EGgoFl293tSW/eVBa/ppkc20Xqum6d0LAff1U7m7xYJgDKS +NPnF0hFOzJ6sdnSu2EUm2dfdVfQ0Bq+hswJAHIeOvwMtxa4qxC0KsK1Y/RQnAAJx +aRXC/zCYnXYwzzR1yiIEr5t2Oi+IgLoVopbnYD8E5ckDABuV3xeeHzV+IQJAXu3N +La2jBP/Jz71GHB9h3XtlesM6SPNHEAESFR4kdDYRTyJmjf9dpLkT+0BWvP6zIjzR +iIkl//cvoxHwUjRebwJAGG5LWzSUdoKEdJIaVY+Di2BNcnCrY9aPHE1MfmPrMWe6 +6uoRR1h2M+Zjwg8utfZZHiSVXRD5aiXbpxONw6Jsww== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/eu.cert b/server/component/planetlab/eu/eu.cert new file mode 100644 index 00000000..71503229 --- /dev/null +++ b/server/component/planetlab/eu/eu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBiDCB8gIBADANBgkqhkiG9w0BAQQFADANMQswCQYDVQQDEwJldTAeFw0wODAz +MjgwMzQ1MTBaFw0xMzAzMjcwMzQ1MTBaMA0xCzAJBgNVBAMTAmV1MIGfMA0GCSqG +SIb3DQEBAQUAA4GNADCBiQKBgQDqHC9YfOeLuKZo00SXcAb0nbblh6CXXC12EWRP +ONatusAytLXOmwFFx4/wwAAkXoRFeigwbwIoOdasZxbXdTDEGIK2Ca3/ZgRaDJ/Q +Gox5xFSlQnDymMqQwKMy4orplR5F4sCvK7bX5eZ2TaJK/B/old4ztyUVD7fNWtaD +ywD09QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAJlRUNLmYhdpShPAcZLTDtP8ThQg +ck9r1qS+nm/yH+vifbYxkcovj4mNk0QwT9Ji9wIqyBBLIWkiQHHKIZsLrqd44NWQ +Z72zY2tghAPZ5StfWXymMzSPXOlEYXeiKhh18jKwJCqNMQys/g/rc7cANT5zvHlL ++KgWEIeKa3eZ9g0a +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/eu.pkey b/server/component/planetlab/eu/eu.pkey new file mode 100644 index 00000000..d08593e4 --- /dev/null +++ b/server/component/planetlab/eu/eu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDqHC9YfOeLuKZo00SXcAb0nbblh6CXXC12EWRPONatusAytLXO +mwFFx4/wwAAkXoRFeigwbwIoOdasZxbXdTDEGIK2Ca3/ZgRaDJ/QGox5xFSlQnDy +mMqQwKMy4orplR5F4sCvK7bX5eZ2TaJK/B/old4ztyUVD7fNWtaDywD09QIDAQAB +AoGAUT/Q6rwGvEYscusHvisiLtlhtY15na5fFL/6eUg3sXnD5JU1F+xR577X5O0t +33FyJI69zflo3T8dkx4AHmzMrEfw+UKV4lxL7sIY3Z7+Myk0Xi3cQeMJZ2pmScOU +2aLXvoF8knBpvwN4aGriXyJLLCigwRnFk4Wv9yQypzQlWG0CQQD9jTeLbgwwUQNz +MnaNheqZFhCgjHaSs7q8klGZp7tPdf+pp0m2S8yZTx8BDCdAdbVeMFnxsq1ObP0X +ROBy/O3DAkEA7F7ogtQ8+XWUjDe+jowOQiGyBGeQzDBnG/EMZMg+m1yOd7vPW/Tt +UvfYM7E7DsI5kVPyb9IgrORtPRl2KAdO5wJAT9pJw//ElvLswzsBW1DxsYThd67F +KS6xgPIUAPBybXQcMLIe5Oq6ZQ4mFY5eTk7D8AYKTbSYIDry+oEWryA5QQJBALAv +pjwumyyOuiUyP/Xc65vbpeemksXApnqrWEOfBxujCAazlULD9EpNt3gAeTbtCyAK +ZMF47SYyNkK+wdXgbK0CQQD4FR/Zbo9fGuR6C+zV9BO/GfF2HP7986y4/UhPRqnB +AkCVOZTNTKGRMgtfWJ4uOX4lZofsVyt3JkZk4JZ1lD1q +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/eurecom/eurecom.cert b/server/component/planetlab/eu/eurecom/eurecom.cert new file mode 100644 index 00000000..20b67748 --- /dev/null +++ b/server/component/planetlab/eu/eurecom/eurecom.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwdldXJlY29tMB4X +DTA4MDMyODAzNDUxMVoXDTEzMDMyNzAzNDUxMVowEjEQMA4GA1UEAxMHZXVyZWNv +bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwHptkJhfxO8csVHW3Nh6+Xdf +wSxDSLG/C1OB3MIaZ5hZx67Z2nY8yTq16btMr3KW6HkiUWcggFhm6ODIt6xZl/Hi +s2KnRuxPxHghmmflCcV9NOV+gSCS2fK6XVkEQWGjH9SbbSwaxuNsxgrremH1KEpt +lbMexhZEoCLPsK6AaDUCAwEAATANBgkqhkiG9w0BAQQFAAOBgQCbalTuhd9eFTu0 +aSRh8h2MzQLrSFXvSeNxNEeMN+h7TAnDHa5foNB/AIrn6xKjwKGmRcIn6SCXXgsc +0l0Eo/Tp5VTyocYApeBz4Z5MQgS2Jhj+eAVjqzvpKet0vfzQvHCmCHD3hILtcZg7 +LQVHX3w7j+W8xgMuNzIVL+vvhr1+WQ== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/eurecom/eurecom.pkey b/server/component/planetlab/eu/eurecom/eurecom.pkey new file mode 100644 index 00000000..09e646e5 --- /dev/null +++ b/server/component/planetlab/eu/eurecom/eurecom.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDAem2QmF/E7xyxUdbc2Hr5d1/BLENIsb8LU4HcwhpnmFnHrtna +djzJOrXpu0yvcpboeSJRZyCAWGbo4Mi3rFmX8eKzYqdG7E/EeCGaZ+UJxX005X6B +IJLZ8rpdWQRBYaMf1JttLBrG42zGCut6YfUoSm2Vsx7GFkSgIs+wroBoNQIDAQAB +AoGBAKSo14xIXj16FQC4s2gQpfs+HSODezf4HyhQUxsIzk/rbHq/4Uzbs5quaCtA ++RRqoiDUaABdiddiSP9WNT+z6Jvw7/RHtVBA8/t+3IVol0J5JyZXIjtxHAIr5sJi +4zT6tibREPpA75JQS4tZb1jzh7o40FXLwjpT5h7DhHaYBECtAkEA5M/UzThkVqrh +MFJANc1JFbGxw14C5aad/KJ/w54Wp9ntAFaufzH/4LZJVv2z//nlh/3nIexZIXdI +BRjpgu9eewJBANdZX8LTrrwlBT1RIljK0CjQE3xQggOQyFMS2JgsLqco/ACvKDCe +vIlYhbrs7a3tQxz65CjOWEVn7ELeFllm7Q8CQGRJAwf/U1r5AkHfiu0J0KKFg1gR +eEuXP19fCYh/XYar6UhgtZJiI7glrPdHswDaUlPMYOVpZZdZZGN3i8ErkMkCQGOI +oJU5J/M4HTLZFEn7+7hRbCAySdWCDsUu2cOD8FA8xjU+wBGw3K2Sp8TdC4IvPqzf +XaNqtCvoO7AwXB4YT4sCQB2C92++rozjILLzaZCVcZB3/KTz3dhDm098gCjwT3FD +Qp9TJbGu2gHDMOi/+FkjebbcCPdIbi673jeWLRrq420= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/fokus/fokus.cert b/server/component/planetlab/eu/fokus/fokus.cert new file mode 100644 index 00000000..09bb7542 --- /dev/null +++ b/server/component/planetlab/eu/fokus/fokus.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVmb2t1czAeFw0w +ODAzMjgwMzQ1MTNaFw0xMzAzMjcwMzQ1MTNaMBAxDjAMBgNVBAMTBWZva3VzMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDCvsj70OcS5KZc6ZSzgfhwO0rUQjRy +SwlywNLsOl1LiYEW3DMYsjM7itxsVHmgyc7MXQECx+drmrr1WMdaTJbtFUEQ+Cw/ +VPRvYL5lGeKb25GYN7AG5FbE/0In9wM16qBkIcCEACis+xfcKhBCWfC12N+WiCD/ +7PfJhesjAElv9wIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAIxtLycCN44lgR7m6tPD +5QJriSSIcKh32mjtEmms3hz9wgIC77NLMxf3dUHZnbd5wHWzic5HowE2aICM3Ojw +5FX+AJNj6rbT3ay7YTnI9aqYj93Ae5ILvYUF3D0jx1bf/OelBGxxcDGDH0mfnLHb +nqgJIZy+ykHsGnCrfYpdTMi5 +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/fokus/fokus.pkey b/server/component/planetlab/eu/fokus/fokus.pkey new file mode 100644 index 00000000..717abc65 --- /dev/null +++ b/server/component/planetlab/eu/fokus/fokus.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDCvsj70OcS5KZc6ZSzgfhwO0rUQjRySwlywNLsOl1LiYEW3DMY +sjM7itxsVHmgyc7MXQECx+drmrr1WMdaTJbtFUEQ+Cw/VPRvYL5lGeKb25GYN7AG +5FbE/0In9wM16qBkIcCEACis+xfcKhBCWfC12N+WiCD/7PfJhesjAElv9wIDAQAB +AoGBAJ18N4AcUaFfsoFUi2IW6tenuz2nRE5hDAT2lhten2+khPX9oHyKLxApnVMl +hS5XxJpTY6viCO1ltWcPIjeN1EX+yjUrN+H1v3YMNf8+1bjXn3pbbtFS8kM0rCDO +08fGEzBoU344vGnQs+Ng7Lw+2S4Mp4Z3YGk2PuB0KJmvSyzhAkEA9PLGQdf4gliI +EjefsuGVl2Cu8/bNxcn+7vPl3vvnoMGDnI60DFNEGgAi8UthiX+nz7ErydQmj75Y +K9pdlti9WQJBAMuIJnVOrWlx6MbZzFM5SkpzHckdBkuZlUW+EvlLfQmfPUj6yq+v +Bl951m6RtZCqB5BgM/jl5EcSZnz29VlXXc8CQQCx3OehQBWvcGG9+K350lwxQ39G +n1vj1z1KfcfZFsmmrV3H/Mc4e+3jg13cIIR+tzc/VMMbFvW5Qtn7XeC/fDphAkEA +n/9ctDTwT4cTRVarr/TGePY7wQCHFWEbnmLISZ9VIP5EUB2OvkLp0J5Xuj3jLGDt +Z0qpMI2QQWqulKgSwXPTswJANzY+qdqxsP4AMAOsCnFEIWhHzQYxZsABupiztoUR +88vcCcUXfociKq2Rq2H32ZP/fUkqAH5fxFrHoYfv86RdVw== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/hawh/hawh.cert b/server/component/planetlab/eu/hawh/hawh.cert new file mode 100644 index 00000000..d3a9eee3 --- /dev/null +++ b/server/component/planetlab/eu/hawh/hawh.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRoYXdoMB4XDTA4 +MDMyODAzNDUxMloXDTEzMDMyNzAzNDUxMlowDzENMAsGA1UEAxMEaGF3aDCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAraNVWkOIx6q3QgWENg+ctj2zKPwqHzSn +esPQGV2/oeFflpLhcI3wkIunmmOkjTEKU21l91h7PZHhO8Unu9pijstrMSEV9dSF +9KS++UlFxNr1WUN1E24h0lGYpxg7at5jJyABYsZxicEDGTJC1KDz5hYlsJuzZOdP +m4fqtknWlUUCAwEAATANBgkqhkiG9w0BAQQFAAOBgQBO5Ij8xJ4a/C8QyEwrhqqq +lPFmR6LOj9E7QKUDkvTN4aUcyAhwKFO3jPYUj0kTKEZrMYHfBuAZCOKuqZ3CsiM4 +Q3MbsrsK2QaaN7Y96Hi4+y6I2AxURhPny94+cvpuy+R772CImZcQkchbYkWN9PxS +6j9KZpingwedMCfTDhmaXg== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/hawh/hawh.pkey b/server/component/planetlab/eu/hawh/hawh.pkey new file mode 100644 index 00000000..18d860a0 --- /dev/null +++ b/server/component/planetlab/eu/hawh/hawh.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCto1VaQ4jHqrdCBYQ2D5y2PbMo/CofNKd6w9AZXb+h4V+WkuFw +jfCQi6eaY6SNMQpTbWX3WHs9keE7xSe72mKOy2sxIRX11IX0pL75SUXE2vVZQ3UT +biHSUZinGDtq3mMnIAFixnGJwQMZMkLUoPPmFiWwm7Nk50+bh+q2SdaVRQIDAQAB +AoGBAI1A7DRr8B+OD1rUJgPcm33dn5vd115fdUd3eBjKnRRRxXM2tdLchTDxiz0b +hked92p6+pJHFqq1u+blsjctpzJv1OkVwQAtAjMCEXJkV4oHp7WBQzkB38vrsSkj +61UY8+zx+s6f0T+ufOzP9X9hHBgnYG97iKH5thRBs2AHMyQBAkEA1buEGBmn7INw +fO3ZTLOlMbM+00sZ8XcUAKDL9wbTRUDTT50KMsBEv2FoyDozj2qzdQ1+VPQ+wjCJ +1gwNGZPcgQJBAM/5+7aWWDEK4XsbD1hD4eBQ9ExNEvDHX1SpC7pNRyEV7gb1zCRo +bfdrkTfEgVhkl8QdluRlmVFiMCEZW9Hy5sUCQQDMN1Y4nNL5RoGFrNFy2zddLJI7 +20dXk1qWWw1n46qcQhtlt3wWD+XgIte2cP3w65e6oQDzdUg9zZj13x/pL4GBAkAl +jERdmpchg41h5GjIzrig/vycKe4ZemVDq6FqaTlGR+dJamcIy7HO0aTOJLQVeVPN +HGp5ob4ka021LBbfuLLhAkAu23E7+Fu2juZHVnd/tbb59TRvewUHLMX1dNhRgQ6O +Dhio1INSE3+JfdMHWBuDKmh8mAlBE46GdAq0ejfvScVH +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/inria/inria.cert b/server/component/planetlab/eu/inria/inria.cert new file mode 100644 index 00000000..2af2bd6c --- /dev/null +++ b/server/component/planetlab/eu/inria/inria.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVpbnJpYTAeFw0w +ODAzMjgwMzQ1MTFaFw0xMzAzMjcwMzQ1MTFaMBAxDjAMBgNVBAMTBWlucmlhMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDUB3CRlBac5jA61ydzRIu5ZlJIs1qg +UYkNbkFCqs5kb+g+NGU8/jZ6ib2NBYLZeiKULFly/TygM/RuCmCbXDm3HB1ua+Er +wfHH8PgCPC6xhukurBfIcW9z1m4xtIL59uSWHcSOTaaIUyUxpf+olRZSjVWCZXjA +w1FKO4Mcja7ZVwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAC0hE3yEmrKDcwHLDKvn +Aw+lESJrcRgMn5aR0i7gG+cyFImle2i/qVg1C8S2N0Fsama6gV08aRKoelkETlsl +rpbN1EEGmCyGXo0ZrKQcGyRGePtD4EBUNvVADwp3xsHgDLLN02NcxAbIe8V1tr79 +bN2MVTUfqGHYyqPSMAgWNpB0 +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/inria/inria.pkey b/server/component/planetlab/eu/inria/inria.pkey new file mode 100644 index 00000000..4fea2f51 --- /dev/null +++ b/server/component/planetlab/eu/inria/inria.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDUB3CRlBac5jA61ydzRIu5ZlJIs1qgUYkNbkFCqs5kb+g+NGU8 +/jZ6ib2NBYLZeiKULFly/TygM/RuCmCbXDm3HB1ua+ErwfHH8PgCPC6xhukurBfI +cW9z1m4xtIL59uSWHcSOTaaIUyUxpf+olRZSjVWCZXjAw1FKO4Mcja7ZVwIDAQAB +AoGAO8V5I2D22vY9RGkg0urQ5MwGiD4fXzB9DU82kH+sPT4a32ZP39jeLL8ls1qJ +X5uBofm6oaLn81WSI29DeqiOEB/zcu0QALv6qf1PzaZjJHMSA8nBpTShGPHngzKL +0i5aPmMulfwx8AvopxqGWuwXBoo5hYB186se0kDkh4aGL1ECQQD5FKhQgd1Q1EU7 +VZVwEIfyDkkXEGXHxZxCGKErTRvZY713FVgWKPbql2LoJLz/md9HzMJC5py6wraF +i4Q2eerfAkEA2etJ7mGKRlWk2jf6ujtcR5kpyY2WNJJAEl4Ad+5YBdut/qVwyp7c +qmB0cyXn4MiOPzNs9E+16hDS0UuaBDzYiQJBAI+cI3dXiN0Dpm8RZznXrioXpniP +0b8e5nsNbE9lA/uREDpKqiEMuWCErFggZoAQnbXuDss334GmpknVKQOnw40CQQDW +3dtAs2YuoYVxMN8EP0Fmy0tbk0J2RXntYkhd+GFMLWXq/l8vOeJkD8TiQI7YoYc4 +I9GbNvkseDgV69BJu2DZAkEAmq3b7bKzWV7LIzzT9C+n6sJk4ceHbOmNU1UUXEyR +piMtZ5Diiu/XIbMK3BX7DOgwyjZg3PYn6T1ETkiGLuEoiQ== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/irisa/irisa.cert b/server/component/planetlab/eu/irisa/irisa.cert new file mode 100644 index 00000000..35e46627 --- /dev/null +++ b/server/component/planetlab/eu/irisa/irisa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVpcmlzYTAeFw0w +ODAzMjgwMzQ1MTJaFw0xMzAzMjcwMzQ1MTJaMBAxDjAMBgNVBAMTBWlyaXNhMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4aHi15dxe2j22K6SaUVfn/M/qi93D +MNqm66kYfDnoHW1S578KuvYKm8LjHMxE1iEmQYaPBlUhuFI4GA2sXCvkwOa4DXmk +4Y9drbsXbes1xUKPgW4pk6aWUWoEF++Yom8oUs88Cj2fYj6hYWJMH+vwxe2hEug3 +GQJgt+PzwrwFUQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBADYmO3j6KxWng87gcqKy +WPYlXzsmHsY12l7SHxCvuVA/LWEi/+Lq/mIKs8NP0Vz3usTLC0Tlnux8zA3eY/BV +RogbG2zMCqMOWmGI6Cuk5www6kg8xcB0pEdEOSrCkdl6tOvD+P70qENdCyzTVRAq +UYu6jXXfgOqEFKsA8RsLyjz2 +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/irisa/irisa.pkey b/server/component/planetlab/eu/irisa/irisa.pkey new file mode 100644 index 00000000..9d45280a --- /dev/null +++ b/server/component/planetlab/eu/irisa/irisa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC4aHi15dxe2j22K6SaUVfn/M/qi93DMNqm66kYfDnoHW1S578K +uvYKm8LjHMxE1iEmQYaPBlUhuFI4GA2sXCvkwOa4DXmk4Y9drbsXbes1xUKPgW4p +k6aWUWoEF++Yom8oUs88Cj2fYj6hYWJMH+vwxe2hEug3GQJgt+PzwrwFUQIDAQAB +AoGBAJXYnq4AWG/jG15aXGjhTHNAZZsLiGpB2ork2AUDfPJ2Zw2FLyIDBkdchqKS +FhKhhVJW0IaL+MVrx7O5J/M0+pyIP7S4tC34+hmMEMEnLX5kz+5Ew0mz0X9DA3q6 +Y9tCpXMK1ZcMJ0+aKHKtQ3l+EO0UpW3ktbSyXP8n3pFtahU5AkEA3w0Otqu+PtyR +QneXmTyYUKGfBob5gkrnCt5JzXKH+ZeLNma88gRlLRD0zVaTa7IHuo9WGfWRYrda +jNbIMkMEAwJBANOmFfC0qP4hTYJp2E1KVweDr/5fBKdnHGLFFAgPfhjCR/SrU3dW +CuhtXWfqWLx7nlpbYwHt9VjVe2GuZVFKMxsCQDLVbv0CtyDsc86KIuqxfKUjsHJ0 +YHjpSS6Y6okACS1A9GE5mOYvSj+zFZeWm5J3yHskH6Na6/9reh+O86FA1LECQC2I +NoIhK5X4bidXQ/xkuNJaBzuvD15ANYAeK9AMHTGQYlCFpyAuN4yHMqgPZ2WtJoUD +0gnxOm4RB0kdbpiNYO8CQDTRO9fv8+Kj/Ae2cEgNtpzdIBZbkD+pfMQbIhbOlbV7 +4zUniBi6a3oyPMJhLB4+cDyPXgU4MkhJ1+g0f/DG/yo= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/konstanz/konstanz.cert b/server/component/planetlab/eu/konstanz/konstanz.cert new file mode 100644 index 00000000..a2b81f27 --- /dev/null +++ b/server/component/planetlab/eu/konstanz/konstanz.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhrb25zdGFuejAe +Fw0wODAzMjgwMzQ1MTNaFw0xMzAzMjcwMzQ1MTNaMBMxETAPBgNVBAMTCGtvbnN0 +YW56MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDQWT2bjARg/AQ8DEkNPpyl +5YAolBOgKC1y06iY7xzEttATHJCzYKzKQXMe5PUNjyzC2uBo7r3vfvwyI/wybIWO +m+irk6MZFR6113aszUbfU6qjdwOr75NGA30+WIWYAtCLGAPp0bSgfVZ1/3ubPaGo +fBO11Y4Gx2K0S4raiOxLXwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAL+CG7ZLbQVb +QOedZ0wjFNHJnB0Ljq64egmLLxGm282ILaIjfCRHgO7t+YTLav83VWgauDvDEhqg +HOE8AbMfwsqnB9/9qdvY4CcYQZLP8GTrlXw0VJ30EAhE1l8zJACSNJ5EdWanynlD +y4KNFMTvmuml7vCGIk5nCct4KHN4Fsdr +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/konstanz/konstanz.pkey b/server/component/planetlab/eu/konstanz/konstanz.pkey new file mode 100644 index 00000000..91c5ab4c --- /dev/null +++ b/server/component/planetlab/eu/konstanz/konstanz.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDQWT2bjARg/AQ8DEkNPpyl5YAolBOgKC1y06iY7xzEttATHJCz +YKzKQXMe5PUNjyzC2uBo7r3vfvwyI/wybIWOm+irk6MZFR6113aszUbfU6qjdwOr +75NGA30+WIWYAtCLGAPp0bSgfVZ1/3ubPaGofBO11Y4Gx2K0S4raiOxLXwIDAQAB +AoGAb4HDgjM+yLU4gvbERi1jYzpgC9esZUP7hwAWtLsMd4+r7v6Txx0PfTPoK/m3 +2WjuON8xyZc02i/pQ+CUglwoYcJ7+UIcAvV9Q0FpWifTqu6wuEVIQ/uak+PnfNJn +HgQ3JoBaMc/kjPwifsP8ZH1cI9LzxbgJSz2a/gqOLxQJ9LkCQQDqt3pnz0kDxDu/ +2NHtEZFMWlnMS/zb/wSQUQin6NWdMi4cL2vPPBoYSfNRu6PYFirgY3gPiowF8dXt +pqQjZ+l1AkEA4z2stRzqXlLFe3rEKT8/T9fCGg/OSVRd9HNq1QaWL8Z4qe8lS0Hu +l60S+CxKF5VdSCLxIb4tRiDqHvJAHeFzAwJBAMuXJpeQ1xZrSiBYY46spEmEPUvV +xZjVlRHRGB78+P0HH7PW9j6lNUVIL8P/bFjssXg9D1D7rgUiBZvD5a/IXFkCQCyK +tEWz60Sd2NPBVp33JcPSuNs+6eJ5xQjbbr9e0SWAM7qrg5Xi0I+ufx9iHwvMXUJ8 +huNkUZ+DaCC0v1icDl0CQFGvVWVIt2gs+zRktRDn4A+9bn9DNQR4EYjXFRLpcjZR +9BToOH4F1YFwN8KsLsd1Trwxbgn95tcSLVsGv+i/df8= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/lisbon/lisbon.cert b/server/component/planetlab/eu/lisbon/lisbon.cert new file mode 100644 index 00000000..68acab5a --- /dev/null +++ b/server/component/planetlab/eu/lisbon/lisbon.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZsaXNib24wHhcN +MDgwMzI4MDM0NTEzWhcNMTMwMzI3MDM0NTEzWjARMQ8wDQYDVQQDEwZsaXNib24w +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMkMVksDZpnD0JPgwE9Bef6HmLu/ +hbnXMkYY1myiz6t1k++O3drDeHwk+8xv/CIaRN1373Fk8AY79xzBndpE/JyrDK7b ++zzF4+l/E+AypBu1744WK6t+Vb0X57NvearVYj5qqw+dMbDAXsG8VZpqTMvgvFga +0VWEJHaLRnA7DMYPAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAFvusHll6EiW+MugQ +xiv4YrEz3mgZGligfsYgdO+S5DqSVGVw/oQZ9s+d955wKcLm8cplyq3SZjjxbQo5 +WSH/3WM6Yc5dq9JxKugOQvCW8xEkktAkxDXd6pxzKtKVNt3NVyqCIQnJI1eNHZDD +K1N9wiQrABEaPmp66QTyLCqnaZ0= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/lisbon/lisbon.pkey b/server/component/planetlab/eu/lisbon/lisbon.pkey new file mode 100644 index 00000000..f0c0e62b --- /dev/null +++ b/server/component/planetlab/eu/lisbon/lisbon.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDJDFZLA2aZw9CT4MBPQXn+h5i7v4W51zJGGNZsos+rdZPvjt3a +w3h8JPvMb/wiGkTdd+9xZPAGO/ccwZ3aRPycqwyu2/s8xePpfxPgMqQbte+OFiur +flW9F+ezb3mq1WI+aqsPnTGwwF7BvFWaakzL4LxYGtFVhCR2i0ZwOwzGDwIDAQAB +AoGBAMDTpVxTCbAHAGEk2i3p5eD7GsFQAyloPd6/acFOMpIHtni4dQ6iFkgzjJHb +Al+PBGfJ5YzDu/auwucAyK6VJhZEkzaX2Bs0LxB4mRuZkyAdyaNkopsLKlLGIFjn +ooofucnegUCxPpTOmqW8eP5UVeDPW4JNB2KCTquM9BVKg45hAkEA98qW3cdtbinV +pHLnSl0dDOF52EtZZV8l4cVQZaojtW2hRw16z4lBVXR1i4dbPci+NK0BGJlJn3wG +G+KIdvwVUQJBAM+1Vtnytxaedz8Xu4QlaYiNLifJJevlnJb3m1HNd89s+AqZrcRn +UOdophiHd619i2muYKegUpbJWPUTQ5+/zV8CQC4+oe9cE8E2j4e0ZhQL0qsfvYSv +c0ym+EPtdjazDR0EC9Bd5Kis3gOby4Axz8Z1G4JrM0Qq/4GDPQShP4StQTECQQC8 +Q7eHMPI2tEeNjmtOqcJwHNc7BJ00phg61g+YI8522mQw536TSLoSJc526ULWo7ab +gYzmIvD472OML3vZ7jWtAkEAvDSN63WyYNcRginRZDz3DtCBLDnKH7DP84KbSWU4 +pNZY05m99ncDEreUQUE+C5gIfrgHxj7OoU6vej96sXPwEg== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/moscowstate/moscowstate.cert b/server/component/planetlab/eu/moscowstate/moscowstate.cert new file mode 100644 index 00000000..7be3a6fe --- /dev/null +++ b/server/component/planetlab/eu/moscowstate/moscowstate.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBmzCCAQQCAQAwDQYJKoZIhvcNAQEEBQAwFjEUMBIGA1UEAxMLbW9zY293c3Rh +dGUwHhcNMDgwMzI4MDM0NTEyWhcNMTMwMzI3MDM0NTEyWjAWMRQwEgYDVQQDEwtt +b3Njb3dzdGF0ZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAl627vZKnAp6G +ENRWovRyvghFcKRpfdUPH/3y8sc6VU6gaBOe6Gj6zYzQmVWsUALUYImrhNKuHqby +gJkU1FJE7Gvl06FW12bOHXgxCZ+++RVdA718BRtJ35eg155kXY/H8xQJA+IQfOcs +8VT5HBMNj1SQdDDV5VUniJN8nq4qGkkCAwEAATANBgkqhkiG9w0BAQQFAAOBgQCJ +JCqRa3eH+edF6N01F5p+CbD7CU+yACr1SRoVYT/vEFduy0ILDMSdsoyK5eKNKkbI +yx0LPnR63Sz/0T41Bw4MJvepDkWebKGiHkvR2ijH4M7DslrXRCQbiFJ/RMlh9eGZ +I0kxWyfQ++DvwTM8PKskEGvDZ3Aoa8U8ZMPDbzvuYA== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/moscowstate/moscowstate.pkey b/server/component/planetlab/eu/moscowstate/moscowstate.pkey new file mode 100644 index 00000000..7b0be2c8 --- /dev/null +++ b/server/component/planetlab/eu/moscowstate/moscowstate.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCXrbu9kqcCnoYQ1Fai9HK+CEVwpGl91Q8f/fLyxzpVTqBoE57o +aPrNjNCZVaxQAtRgiauE0q4epvKAmRTUUkTsa+XToVbXZs4deDEJn775FV0DvXwF +G0nfl6DXnmRdj8fzFAkD4hB85yzxVPkcEw2PVJB0MNXlVSeIk3yerioaSQIDAQAB +AoGAXUqBP49U45qHERDZHK9HZ7SEqUymibui6uVyKXr6WP/cT0dKJN507DphDv6P +1kJ3R81FTpOafsXmP8xn8FONif5Fxgwd4IhjMpzvMFTl78WqBDIzPtoMvkCYnzeI +jWrFQuCGbsJqKcqNq8x3Pc4nr6Noyp8W3d6SKvJyjFFO5BECQQDG86Tk16i7fZHP +4jWfSI2eJq/5K1SqtvZLpr3tHAvJ+tQEnCTPSN6mAzhmt5f9B5nbz8TYShlO/Gsm +zwOg+w4FAkEAwyvvm9JbPqh7CuUSE0j5fOdsjZ473csln0hz/Tp+Zg55h95uQzmn +gnkc/SYL4rk/SB1M7Rdo8LiXbbKPlsaKdQJAAzY3uUIKBUzXp8V9HB8tuhnhyWH7 +se3WOA5vDn7fadlUxuZGadpBTejLZk0cdQdEYpoOEXfQxMeqayv4YQbsiQJAOxok +9yTeaL0QdZ4kuR5SHtbd8ozGSEXqYK/KIBcEi9c6SkC7VzQwW7xdYPOSidfbJ/Vn +hCygpLThdmCqRthcuQJBAJg7AgQYAShkV0dWo2+8V2phqD1OOydQGlmVxV5l/3yM +EPGI4nacY55lEf2thkectSzyOVnUdlqf3fhiVxzzZEw= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/msuchem/msuchem.cert b/server/component/planetlab/eu/msuchem/msuchem.cert new file mode 100644 index 00000000..145aced2 --- /dev/null +++ b/server/component/planetlab/eu/msuchem/msuchem.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwdtc3VjaGVtMB4X +DTA4MDMyODAzNDUxMloXDTEzMDMyNzAzNDUxMlowEjEQMA4GA1UEAxMHbXN1Y2hl +bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArPBMxnccIJ7m8M3B4KxsUj0U +4GwaS48ZDXp0nJSf/sRIiFEw1lGFYH246UaklHpOWejrgPsx8QneEHDVNHZoxVp2 +bE0nQ6DAqrNBX0YPCW5URJi21ufMz/SiFLPAn+BHYGqI+TPiy2IrhwaXXQunetBL +CejJlm4Fiwwl0qCITq0CAwEAATANBgkqhkiG9w0BAQQFAAOBgQBT2aVYrS9V01P1 +DeC6AW+qVS/jNqzST0j5lGrpmJ+vp3O5oGxkM5KT2JIiuy0thilK1w3+RF8nOw1q +tp9+e4inxujR/NWdW7L1fUemPMX1h9VI0o1w8S9xSFm9/ShyNf1cM9yS8nVYi3JU +TMRydbPlsMNK1gFuZdIvuzVvuzxDUA== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/msuchem/msuchem.pkey b/server/component/planetlab/eu/msuchem/msuchem.pkey new file mode 100644 index 00000000..7285d8c2 --- /dev/null +++ b/server/component/planetlab/eu/msuchem/msuchem.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCs8EzGdxwgnubwzcHgrGxSPRTgbBpLjxkNenSclJ/+xEiIUTDW +UYVgfbjpRqSUek5Z6OuA+zHxCd4QcNU0dmjFWnZsTSdDoMCqs0FfRg8JblREmLbW +58zP9KIUs8Cf4Edgaoj5M+LLYiuHBpddC6d60EsJ6MmWbgWLDCXSoIhOrQIDAQAB +AoGAFDB9lhHju78xUN2Ei9k1UCiHXmfgbf/HufYY1QrY3uJFYXyxCeQ8gPZMdxdj +MV5R9Vcm30j0HKK9RQgXK+fC9U4n+u0khOhLWDomkRZZokJv5VHpjCtQ1BmT8vjU +uL7PEjz5/BGVIj15oo8nN0Cvdct0UtD7lM/mn8zpd4JILcECQQDUJayAO1y0hd9X +v8wIzkb7M1b2aHYsG/djaaqQFpBScEMQwoMQsahXoykESTrzAL46rdRk5u/ZbjXo +vYELA+49AkEA0K/OLxxZmGec5hpgpqkIces7zV+KOk1j0BbnL3xed7rF0Y2ty58G +PtWXTI9Mj1enxn6mu4P3eEUIITCx0o7ZMQJAbKiLLPa6qd+zoD8lYxE8O+d00Cp6 +9GaylCGH8dsMupyzTP9DoCZOgeyY0pAreFFWHbnxAmliSexwAjAlyx2NRQJBAJeN +NSVNZ1ug03bf7RTbaMCiXpm1KoNQtI3oNBhuL4Sv5P1b8L0RTc3P+8KjxqvKspMa +YyeGnO+A4niIDnulNeECQQCle1G30FUv+GgM9OswiyDkwTK4cXi7/o3SEzLrV7e4 +l57JCKPSfIBNxH6SvYsThJmQaZdtVANh72pL2PF1hup/ +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/tcd/tcd.cert b/server/component/planetlab/eu/tcd/tcd.cert new file mode 100644 index 00000000..1e444e6b --- /dev/null +++ b/server/component/planetlab/eu/tcd/tcd.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN0Y2QwHhcNMDgw +MzI4MDM0NTEyWhcNMTMwMzI3MDM0NTEyWjAOMQwwCgYDVQQDEwN0Y2QwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAKJ4mpTDyGhza+hxWAXyoqSIGXS+517fgfqp +Ep6AHEtGizp872mFFoSspQCrmhlh7VzP530oq83/JwIxGYdR9SG6/f+92aH0chVo +fq0iIlCaQXBdecDLFComSOacylZ/CSs1MI1bTdzEhRq3jUw++eeEjK1GC2NjSXb9 +3/IqJnyjAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAmnAkMdB2gVC4vY7gnRWPOZHd +ZipXDZaQABgTDvWyt36xlfbMLE6K2GU40i2FqQspQOmmgf6EMjEBDKvsll3McZLo +55EB/TR8rhrBVgGGgvg9OfZeYP1ECwxlxkd9x+nczWzLHW6V2aii344c0P8il6S1 +gir3sb7jPmVYfyk921E= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/tcd/tcd.pkey b/server/component/planetlab/eu/tcd/tcd.pkey new file mode 100644 index 00000000..f95b523f --- /dev/null +++ b/server/component/planetlab/eu/tcd/tcd.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQCieJqUw8hoc2vocVgF8qKkiBl0vude34H6qRKegBxLRos6fO9p +hRaErKUAq5oZYe1cz+d9KKvN/ycCMRmHUfUhuv3/vdmh9HIVaH6tIiJQmkFwXXnA +yxQqJkjmnMpWfwkrNTCNW03cxIUat41MPvnnhIytRgtjY0l2/d/yKiZ8owIDAQAB +AoGAcYB/vV3pK882m3RTYhRXu0m5Pu3/BTBvxYVIFKK7IXtu2LVfLABl8toJi6ZW +SVU4VZaIyc8X9xlBTy6t/vMqpADe2S7R4qg9ZsCOCPJp6HXd5dFw7jLb2MZrvVVH +mlVG9tRNis2Q5j8msyuwM46QtnJBZepV4swFGlKYdTXZiwECQQDOCKFkeqsgd8lb +tm5s2T78mkr20OfrkvGaDxpLbf2duXuK5gJrvv5kXQQg4t/g4W9U+3QZvTIm651i +/J7fBAzzAkEAyd9wQT5NPOsMlkLNOJobUupQCLrU03XiKHLa2ZYNqKD8UTSsgxAT +1G57q0SpqDE5DXuHB70CTS+yMrEun3X9kQJAOCd2BXLBjVnYkZyJQDV9y08qO1b4 +vuYP31NacVCLHR/eoh7Kbh9iKmyHoYb0SdBnjZvzKsi8EIuLG92KV3I9LQJAWkVa +MzKi40zQUhkJH/h5o3g31c+GABFE0oWZq5bYAMIMUlvVkL4Nv/6vuoR3wUhRlN/a +H/G7J7zeWKC2koP2oQJAK4ugULFZQT2Y+TiT0IeZ0kxoj/MALVcxqj6+kNH0eYIL +ueCTvcZkgcAbjD/WzGhCHFNUg931ej9jyUusrrgZZg== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/univie/univie.cert b/server/component/planetlab/eu/univie/univie.cert new file mode 100644 index 00000000..891d9e21 --- /dev/null +++ b/server/component/planetlab/eu/univie/univie.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZ1bml2aWUwHhcN +MDgwMzI4MDM0NTEzWhcNMTMwMzI3MDM0NTEzWjARMQ8wDQYDVQQDEwZ1bml2aWUw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANNMPYyHTw5D1By7KsmXmBJZpjKO +uuO1bAZDmqXDGkUgTgfCxHLFH+ARW2f4jwckX4XJQgzhAjKU+X2jf8WrYYipRo9m +ueKNdZa6R35/nJ368ZaM33+pXQEbRa2DbWTGD/ysw7LysOP2uygmy8NGG/hI/U4D +jZyyA3hMALfxg/tLAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAJNJ5jlSiZ0M7kAdN +8gUIC0bWs+xphl9VIdcIOfhmO7rl7tG1T0FAda1jVXWVMpLbYCSPWg4uG/IZz7r0 +ZW2hMoeWVu0caM9t9Nrk+vGq0lyBfO4mF2VMydZCOBn08gl10QjnfMIOQRDHX0QC +4SltWoEvF10/SoNrUKLdDW9rdkM= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/univie/univie.pkey b/server/component/planetlab/eu/univie/univie.pkey new file mode 100644 index 00000000..8cc271cb --- /dev/null +++ b/server/component/planetlab/eu/univie/univie.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDTTD2Mh08OQ9QcuyrJl5gSWaYyjrrjtWwGQ5qlwxpFIE4HwsRy +xR/gEVtn+I8HJF+FyUIM4QIylPl9o3/Fq2GIqUaPZrnijXWWukd+f5yd+vGWjN9/ +qV0BG0Wtg21kxg/8rMOy8rDj9rsoJsvDRhv4SP1OA42csgN4TAC38YP7SwIDAQAB +AoGBAMMjfRBEgjlNYR5rqLdm3lXMH5Y/hM/5Y9thIfiGd8Nxcz7tnBnWfXqk7QLX +ZdgVunZHCU31m971AHkMv1rhzP8GuBmQXIy5Vfhh3VvXArTzWaaZjymqDr9wFP7z +2Myi7z693ukezZChp1QSbNz171G9O19vs5PZ4yzF9YF+P8HxAkEA/7narf4mOCb5 +9Xs+eeAJXgFFDq2eJYTtDs8HPFMoz9Y8XOx2evuyan/2CAgO9RJ052sViRLR0HrL +zeiTeuHGwwJBANOGMxSm2n7SjJy102C8Q3IYEIuxU/f2nDB7PRHmDzI9nlWlNCDA +aKRyOYtU4r37xb38BuKpCHM8rCqTBlYrgNkCQQCdhC1e3x1LmTZ+Ltvc1lLuxHl1 +ARxYn/glFwCt98s7ugqUclLIjiDn2MoDSHNuIWBA64ToWd9DO2AuBQRSvJ9hAkBO +c8CwUS5KyWaznNCYWVsejwRb+1osZsAJTzwYTl6mgKogE9TgrNxi2aa0IbizRBVU +YIxhNtZWf1NPuxYnkZ0JAkAVSSeRZ0mMEOhDPF4NWUWptK+FlrZDMM+rZaT/MCnr +T3C+fhKkmg3hto88hONW0j/1hj1S95cMRnbqxrlKqPhX +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/unizh/unizh.cert b/server/component/planetlab/eu/unizh/unizh.cert new file mode 100644 index 00000000..eb1cf08b --- /dev/null +++ b/server/component/planetlab/eu/unizh/unizh.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwV1bml6aDAeFw0w +ODAzMjgwMzQ1MTJaFw0xMzAzMjcwMzQ1MTJaMBAxDjAMBgNVBAMTBXVuaXpoMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDtHmPkqhgqVlwDMcgjZhXRkOMbxnOW +zBg+EaTBR2oCmw7qt0LGQuqBRIEsW/hn9hZzrrf5Dunps/rv0J8f26i5sv5qw9Vw +oVmCORcFw/q4aEvPn2oEZX8E5huPYjGy9c1eb0Q6JAX1qStv+AM9Hq47QBEDkZq5 +T1VfcCt8UAw79QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAIFuptajC6HtzQOEykji +j7EsBrShGtLQZCGtaJStrk463fthVKwZATDWqhxRgCmvI5LFqQcxjvnZmixQWf7G +SxzVpO2+wbfk8932Aiu6+BeckFySB1ZNG6czmE8ijPIgGkm/Qneub1kKV438Pir4 +nSuSmrHTue1P8tvqwVfc5vB3 +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/unizh/unizh.pkey b/server/component/planetlab/eu/unizh/unizh.pkey new file mode 100644 index 00000000..bb0dfa29 --- /dev/null +++ b/server/component/planetlab/eu/unizh/unizh.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDtHmPkqhgqVlwDMcgjZhXRkOMbxnOWzBg+EaTBR2oCmw7qt0LG +QuqBRIEsW/hn9hZzrrf5Dunps/rv0J8f26i5sv5qw9VwoVmCORcFw/q4aEvPn2oE +ZX8E5huPYjGy9c1eb0Q6JAX1qStv+AM9Hq47QBEDkZq5T1VfcCt8UAw79QIDAQAB +AoGBAJd7br3KnJ2PhkDUMNPMh+vV8ADyiy2vPV2J0ANaKDN589GnOhWG8mGa7hr0 +toFUCYvl9so56N3QiWNjmAS2Q9cDwgAXdItVxvjj9m7Iog8RNIqf+hCSmW1yWzCW +5QR5B0RWxMQBuEKo8rb8G4XfUXPBa5u78IpXqaM6PMruUJYBAkEA/WsCBYi8iIBZ +Kpg7TKcjKL26dtjfgCZcXibyAV1vvhfIk0ViY3YglDJNTTFQertLjYhnMw9jf/s2 +IHIXOJg41QJBAO+I3map0mLX8hT7EZhdJdjusSv2XyZ9XoXlrW8tEqHCkGrSiF8S +Q3olk2BIHe4VslCuia+xksHzDdJULmjNhqECQCd07c+mxpQKR9fV9AWvUE4bnFi8 +06/ESUVvkuabgbZ7RYOInhUWY2QvoNGQCBPT7aOPxWGx17ApkPfkS7FIIjECQE/M +cBMRljY5rLtSnRz+QyKO+lUkAbTn5TqENpAoGuHq2IPN2YKaqgIiTIOx4s6zSbFZ +RCNU7AhS+ZLNWpytg6ECQQDv87sce1NHkzgWTUugH/c3NvXFv80mai4bNXUi2sPR +uLTtTrsEkMdVQaZje4KrzO/81me0ihK+8mn7FshpMYAI +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/eu/upb/upb.cert b/server/component/planetlab/eu/upb/upb.cert new file mode 100644 index 00000000..f9bb6d42 --- /dev/null +++ b/server/component/planetlab/eu/upb/upb.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN1cGIwHhcNMDgw +MzI4MDM0NTEyWhcNMTMwMzI3MDM0NTEyWjAOMQwwCgYDVQQDEwN1cGIwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAKciMgBkd5Edh9nGAQdDZqgvp8fUdf4sK9g1 +1YZTgQSE7cd1WvIpRqsm65IrEyeyTAJZ5EYYv3uFeOsHD7Wu5n9SOJSTi1SDemQn +m+ydaAEj3xVUpQNhqqWMMYPx3JMSLBqGn1SL3QF0N5Ll26q14ebsR9NEO31MHIvD +CylKcbXBAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEARqpWQsoqanjmOnwINgUJ6wfH +C7VJtAmNDmH3VTWQgQIIp3+tZMuUqUvSJi9fMrwA9F3NyajPVUW1H5pNuHzvNHy7 +k2w0Etm3wSkYdpTMYDHdk8lIG3Yzhy4M5o6Q7BJ9Yh6s3Hfg+cIrJTp8I08JSHEJ +15HWiQgamhtiubXo47I= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/eu/upb/upb.pkey b/server/component/planetlab/eu/upb/upb.pkey new file mode 100644 index 00000000..0d5ab11b --- /dev/null +++ b/server/component/planetlab/eu/upb/upb.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCnIjIAZHeRHYfZxgEHQ2aoL6fH1HX+LCvYNdWGU4EEhO3HdVry +KUarJuuSKxMnskwCWeRGGL97hXjrBw+1ruZ/UjiUk4tUg3pkJ5vsnWgBI98VVKUD +YaqljDGD8dyTEiwahp9Ui90BdDeS5duqteHm7EfTRDt9TByLwwspSnG1wQIDAQAB +AoGAQUFErIqNdIdHJ2v7ss5KIpiYtZjqiNbON5itSckIsq8D98CGRc5/3QtRJrzS +uckPjEt0qTm4aY3vbDRRmeoz7Bizy7wrgpdDu2BGCSh7IS5Gegtc09ljXhPjMAKC +zAqOI3/e07jBnHBFVNlQRaEGTyHR0k+qaAg4sWfvu6hbgAECQQDPTQ6TULXorTqq +4+s6n/LVeFRef94dpo3QYk+AoWa5y5g5ljK0t92o3sRSmEDwNf2ATZKx6lfGDEk6 +GIxt8ZFBAkEAzmV/CbiSK85gUBVvVQ1aDDa6YUle1JyRzF1P/4y+9d53rQR0PkKU +6JU5W928cByu34CNyvny36iD1tpTTlKEgQJAdvb3yF7nJhJTusJ1uf0UtKELeffT +lhyBAfeJPH5jn3hRcaraio+B62l8LRInIjM5uanK58Nef8+JLofr/yREgQJAJWRL +5JX0nU0RM9D+T3lQw/+yOmfRb1FCNLT/BjwYaHC6W7T/3juvwIcwUg1U0zbPE5y1 +k30+2/gqkmURTJI0gQJBAJLuidQk3oiMUoQXbdIyFqaNUK8UV7FZjOR2nLvkDbMK +0MrfV9JcsBOR6PBkoFfGsBcH5P/ofyOTbhSrZcJTBFI= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/fing/fing.cert b/server/component/planetlab/fing/fing.cert new file mode 100644 index 00000000..e1116a0b --- /dev/null +++ b/server/component/planetlab/fing/fing.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRmaW5nMB4XDTA4 +MDMyODAzNDUxNFoXDTEzMDMyNzAzNDUxNFowDzENMAsGA1UEAxMEZmluZzCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwpqTIWTTb0YSSLNHVUTaoBSZuwadn+Hn +vJ4WsA4UCh9H3m5EqcvFMaGt01CUjWJF414BzxfstsZOjIGRT8O2i1lXzstw01v6 +MmGzOs2HdZo0BVKBzqCUq5gnfj6HKFqIrbfd1Sebm+7h9fAhAE84ptMvZ78Oi72/ +WB9nHacpG4ECAwEAATANBgkqhkiG9w0BAQQFAAOBgQAuC5l3PUk9MM3goNedNco/ +nSW2pZ+1UT5XtISbkzcJ0kuwmEaegQcMg7cM4aVTE5YqrrOO4rSPhHzAv7C93Dpl +HR7lgJnwIEeP2h8aP5l8WJU2d/g2cwh9KJhUT1GptAPkWpllN9GFrnSqrSD5ZdsM +dK3qUgkVIV2avvEqKVl/Jw== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/fing/fing.pkey b/server/component/planetlab/fing/fing.pkey new file mode 100644 index 00000000..8a77f78f --- /dev/null +++ b/server/component/planetlab/fing/fing.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXwIBAAKBgQDCmpMhZNNvRhJIs0dVRNqgFJm7Bp2f4ee8nhawDhQKH0febkSp +y8Uxoa3TUJSNYkXjXgHPF+y2xk6MgZFPw7aLWVfOy3DTW/oyYbM6zYd1mjQFUoHO +oJSrmCd+PocoWoitt93VJ5ub7uH18CEATzim0y9nvw6Lvb9YH2cdpykbgQIDAQAB +AoGBAL3u2AMTwTktjtLeB5U1qpvq/1AG2PkfJ2p0cXhLhUuL1D1IKkP+2evi/SDt +2M9VRxjuu51AoIyTaD7Chuzu+822wX4bwPVw13K6pz/KIutcr3Ge2aN+2Eq+abbp +Q2OtGPrzaJBh7GOFoXBU26fJLHF0ACcg4E6PBLG/WtzyH+dxAkEA/OF7bX0qbY9D +K4z+whOig0yxSegzJQw1v1YMeixrmGIYfHPliAFiqkjYQu+inC2qwhtfucRRCxC+ +XJoO3r1KDwJBAMUBEn5XfL1AIMhynqeX6zuNkpJUFjzXtu3BjuQ4Gylbr0LcJSXJ +bbB6nGUGOBtfZ9ZqMf39+wyC9P7+D2MlEW8CQQCNmFPcQrF3FzitMg2T7hqZGmBK +2dGJdQTDVhM2dZjpgkPjq6FiPiRY5ODy2etbN9bdSSaYhew7Hez5POoGnkbRAkEA +hjrazPbzaUd+jtV6QJsEjolB6y4cEMyyOYF+yQVpjF6KJjY1oW+Dq5F/al44cH4r +FC87bOJW4gmAwRV+ioFBRQJBAO293rYT50Uyvx9uNA+uVz5LR6phxUrQWzKzdM++ +AAm9y8hcH6WhWFZsfuu86QOgi508PrOerY1my5w7UlMkES0= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/haifa/haifa.cert b/server/component/planetlab/haifa/haifa.cert new file mode 100644 index 00000000..c0a00413 --- /dev/null +++ b/server/component/planetlab/haifa/haifa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVoYWlmYTAeFw0w +ODAzMjgwMzQ1MTRaFw0xMzAzMjcwMzQ1MTRaMBAxDjAMBgNVBAMTBWhhaWZhMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDVRFJyFpUvwjrBT0A2VBPQGmAFehnL +Jfd61juLdNL5Pou7tULogaQlRq0TiE5+mDdRSshVrTDp5lmOvgzECs9fI07jNPhS +JL7aHNdy5CIcRibq6s7jAW2ulj+6fMvtB3LP6M1P2TMaJETIQdN0tF6cTmXTW3zc +9DHufx5twIXOUQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAGPTcm8qei/mtCl9RXtx +Z8Ijw28v3LA48w7Y+72qB+oVmUiepzsd9ZjOVed1aQu1lHk1KwcwHy8YpPLacBzt +yLTOraiDfZOE4PFnzqr0zMAsHBhjlFBcoFU5MJUuo7cO1I2Ru0zLtBAQLKcxpOY/ ++9dbqhSnRYWlDiSfmz846HLX +-----END CERTIFICATE----- diff --git a/server/component/planetlab/haifa/haifa.pkey b/server/component/planetlab/haifa/haifa.pkey new file mode 100644 index 00000000..60e341fc --- /dev/null +++ b/server/component/planetlab/haifa/haifa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDVRFJyFpUvwjrBT0A2VBPQGmAFehnLJfd61juLdNL5Pou7tULo +gaQlRq0TiE5+mDdRSshVrTDp5lmOvgzECs9fI07jNPhSJL7aHNdy5CIcRibq6s7j +AW2ulj+6fMvtB3LP6M1P2TMaJETIQdN0tF6cTmXTW3zc9DHufx5twIXOUQIDAQAB +AoGBAMdb0bIimB0H9MKl4cGngMnlDeOwyxHTEO/7+beYYmtp41d5zuzn21iZI8uB +fNbsVbGhNXqZpoLPuOItmGNeM4/m8Bxvq3M6Zb0ZZjzcWa6dbIPevIgcYq+TTUVW +te27nvS7ScZYk2Znp0nDAN6h1zHXxYgBmY2iq5ZUJZgpUYrdAkEA+cwqwZCiDubS +QjqkUwQ7nUFk6s/xYFltLDBdtbWQHxEi/5E5SKyQpRvBFd7XxVYYjdG3k2wLVhbR +UjIA5dEvlwJBANqP8t/K8e4Ikpcu/Dqy5hEJp8zsDGPWPVG4Pfn9wK8/VmkuLLGJ +0lb1TnNptL7FGuigLXPkRurGntzZ/MtarlcCQQDQKvPKoVRcJME9zg7Y2+MuNqv5 +/taBW6TeOWQupKL5MNfAsO5TAPP9lDaBmlaoLgqCTS213klIMfW4kNEss/n7AkEA +lD3ciwQYsc2ot9hLhfi/aUD2Sly0TqcKMjpX9w6wuWypTG/gKo8DVq3NhyRkTpxc +EvpJufhUTXtoVv2Xo8oewwJAH0uqT46zoJ4AMas8jqA2Eyh4t42d0YxmmsYUwWCv +Q4hxi9dD4JPjzmjD3QDbFFiXH3kAJxhDupGcVigxVqZDpQ== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/icavite/icavite.cert b/server/component/planetlab/icavite/icavite.cert new file mode 100644 index 00000000..0a30704c --- /dev/null +++ b/server/component/planetlab/icavite/icavite.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwdpY2F2aXRlMB4X +DTA4MDMyODAzNDUxNVoXDTEzMDMyNzAzNDUxNVowEjEQMA4GA1UEAxMHaWNhdml0 +ZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAu9p0gv4RXjs85pSNCaIL/Aw4 +YZM2ITkft6+sptBFDHFD62MVRIORJ8cXYMG1qyKvAJuyrXlijvrAVk0ipk0I36/4 +VSC7ZxrETCuKgpxZYmurdIDcPY9keX1S6Qd5Enb7lBCwuoYRJnkwZJdl9Wn+JEHi +grZd8GF0PUQiJLLRkW8CAwEAATANBgkqhkiG9w0BAQQFAAOBgQBWcbT7WlwsI4dr +vqyu37TD1arT3XF62imjOXJkLRS8LqrX6Eze7j+v7ATgnReOy+uzIDPucs9f/Edo +Lj0n0YgbZPXfqoJglraC3SRZNHL2I/Obuc74SLUXD2z46khzLH4l2qz55XPOpheR +u4YUxRl/wAeP6nmhfrcDerJfSoKPJg== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/icavite/icavite.pkey b/server/component/planetlab/icavite/icavite.pkey new file mode 100644 index 00000000..30e22ca0 --- /dev/null +++ b/server/component/planetlab/icavite/icavite.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC72nSC/hFeOzzmlI0Jogv8DDhhkzYhOR+3r6ym0EUMcUPrYxVE +g5EnxxdgwbWrIq8Am7KteWKO+sBWTSKmTQjfr/hVILtnGsRMK4qCnFlia6t0gNw9 +j2R5fVLpB3kSdvuUELC6hhEmeTBkl2X1af4kQeKCtl3wYXQ9RCIkstGRbwIDAQAB +AoGAFsaz3bYEURKJncNhHkvhfBvXMi1xILIWYGUSX99cn9eTzpRi3b29+b6v3PFf +n3JDGaXHEjVnd8J7U3tiuhsY+iC8+Wy6jFC32ssFX4X/p4IDjjUPTi/A/8TlSOJ5 +gS/IiVurHgRFgSVx8/Q9KHIG99Kbojy04m6t667QQh6RC2ECQQDsoEU45wyTRUOJ +8FqNGd+QznXIR4Ll8NX1VU4jnFymi3B0bqH2CttIoS3cQI6f6VlMzcFnRklAkujz +oEKnRnHpAkEAyzvmGM0J8d9xskkUbVl+jGlkQCrzhhppag8S8KwSn5rzmYlfAnn5 +Iievq1Le26BdHARtBGBMe4dd08NiHXu5lwJAdkv5z2TTSJ0MEt3ypzAUMNTG1YXK +zyIEFU68bdkyCKEVa2AT4Gm1Dy5lOwObSh7i4h7LXdIptPq9M28fY3k4YQJBAKOL +8U+1+LHG8VTakHCq2zadPUqSBeS97mSl+sTohBgidrPwox94Dm9Y5noFN0ggVa1N +NnmWERY7Sds22QcG4MMCQHcKgBhqnJbGFgMYTumyZFsmDOiP+Fk9cgTatIl5RD6L +qZhbQksOriBHhrPhQwFd0sV7yfvzb0SIG+0jc2FDnNo= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/ihaifa/ihaifa.cert b/server/component/planetlab/ihaifa/ihaifa.cert new file mode 100644 index 00000000..7803d2f0 --- /dev/null +++ b/server/component/planetlab/ihaifa/ihaifa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZpaGFpZmEwHhcN +MDgwMzI4MDM0NTE1WhcNMTMwMzI3MDM0NTE1WjARMQ8wDQYDVQQDEwZpaGFpZmEw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANfTFZiyfNB5Sme43bsZjbEwD2AQ +2pk5XGqDl1sFnzRABmItRU5lmPbCNwk2vxEGxLMRGhTryawroqoXt1HMgBRpgIbh +e5YttkCxwh2a0FbSyTdPyUX7u2a60S9uhIC9Jot30tL72wkpSWKVvfFG+8h51Nw0 +0FIMoILG4daOqNipAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAFKFvMG6TPXCbjzUn +j490a+ugqEoxap3zUrHjwU9UCo31D/fZ5aV4BYdnz7U0Z7kKJfuE/eFGWk52cKlj +BxoxtBcnXDUwTLV9cvYBbuXi0X1RIOTCkrIh6OXffbyno4uOg7811KvSplmoZjm6 +d0jZbipPIXbjhUGxG/d5YBiOZaM= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/ihaifa/ihaifa.pkey b/server/component/planetlab/ihaifa/ihaifa.pkey new file mode 100644 index 00000000..3faa7b54 --- /dev/null +++ b/server/component/planetlab/ihaifa/ihaifa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXwIBAAKBgQDX0xWYsnzQeUpnuN27GY2xMA9gENqZOVxqg5dbBZ80QAZiLUVO +ZZj2wjcJNr8RBsSzERoU68msK6KqF7dRzIAUaYCG4XuWLbZAscIdmtBW0sk3T8lF ++7tmutEvboSAvSaLd9LS+9sJKUlilb3xRvvIedTcNNBSDKCCxuHWjqjYqQIDAQAB +AoGBANZ7HoY+Ms3XC7tiO3BZp7dDpLP6a9ND7vSnS34Yayu4yN8+UBbl3oqzXZBZ +iK26BTZTM5FA9Y2VW7Ufln3C9i//j3k8gAQ8EXX4Ag8LNosrLTv+wxRYwnT21U3R +wt3e60L9UlODb8OVaF8Eym3svdb/glCofRR2nRO4QSiOlbt1AkEA8Dnk6t4AxjdB +/jYrlVrohADV9OEs3p7TSTwKUe2ABN/FYKRHPZb9M3v9kyUNCImFrfbwDWPl9RGW +5d+nhoSY/wJBAOX/AkvLwRLWtR0VtP0npEDTylLLH/Eg2IIYILODQrNj33HoeH/o +oZqKWP1TD4IO/TrrKgoB6tBVJK/+YSwdJlcCQQCli5AIlsK71hqhP91bCJHRXe4T +2hUcuSDrh/eoq92b/kU7qxn5BJMqppiBjXfk2TiJQPH+mEhBUUTG1xDQb5IrAkEA +mIhvNWWEPsI2i3uB9QL9ZCER5abhIEHwVRc7WNKMwfxSjHDouavGwX9PVXJorpDS +UOj1kH2FBXXyRuYl++O5MQJBAO25lGjB+zf+lC1q0HzJ/gpKNcsTJ3iQwOtnwcM5 +NirU4DBdEpESX7wOODlX+KMSk8jk3MEu7J+kOfD2XdO9Mms= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/iitr/iitr.cert b/server/component/planetlab/iitr/iitr.cert new file mode 100644 index 00000000..2fbaab52 --- /dev/null +++ b/server/component/planetlab/iitr/iitr.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRpaXRyMB4XDTA4 +MDMyODAzNDUxNFoXDTEzMDMyNzAzNDUxNFowDzENMAsGA1UEAxMEaWl0cjCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAtXCGHTOYNsc7Ywl8i4zAI5V0nnzpPk9T ++HJsBJ0R5hUTdyVwq1U03S7AcrMGB8ah2BZ5m7BKT6RF6z1EHA3B8Usg3d838d0M +yYvka2xWyyt7Wv0gKxivxYs+hNm+2nDe0SkQ7MgEiHaDxh4dRoJAP3LtWTxzziy8 +aEkQHmNQ38sCAwEAATANBgkqhkiG9w0BAQQFAAOBgQBVY5oZq1LGw5nQU/gstVT3 +ll6hKkPZNMBCJqnQWX1m88Z2ujEqhOHQie/pYcqHan15tpSQ36N2+Yb9KEPo+OWp +QbhODG0OsteTCEXcfkjJIo680pGtSfzwlIqc0BYWO6fSTZmJxGLT3FhkFD5NjELd +reJMPK9dlS0bs+cVDTOrWQ== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/iitr/iitr.pkey b/server/component/planetlab/iitr/iitr.pkey new file mode 100644 index 00000000..0767d895 --- /dev/null +++ b/server/component/planetlab/iitr/iitr.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC1cIYdM5g2xztjCXyLjMAjlXSefOk+T1P4cmwEnRHmFRN3JXCr +VTTdLsByswYHxqHYFnmbsEpPpEXrPUQcDcHxSyDd3zfx3QzJi+RrbFbLK3ta/SAr +GK/Fiz6E2b7acN7RKRDsyASIdoPGHh1GgkA/cu1ZPHPOLLxoSRAeY1DfywIDAQAB +AoGAM3YC0+16Uq8XbPOX24zEQlN1jC4piX6+dk0dzgEuvm9j4ftAhZfZMpK8Cswz +/aic5skZHMtXiFczbZEm7D4Kr4clsxCZfrwUqx3FxuxmxfjMsh3Fu9AgBVMVyx7E +exLICtEDl9R1uipOf/8DWkeqwRTqn2dHFlnLraVnFSjJzwECQQDfb7Y7zqDzWrtf +M4mX2xXNENz6iJg41ZvT1JNeX0YELavyWkFGt6ZGqwnGMV+4Za6YtKc3tAPMDD1E +OFFu5hKhAkEAz+Hu+ZA34XC7At2pAMBtX3sk5Y/k/KqLu47EhXXPfY+9PuOAQl3s +0ZRkrO7p4xIHy3Yrr0V4SE+MkTNS4O4G6wJAD2EiGwXDAF0rbocenmw/GOljPH9w +cuEJI9CLAEDwkdMO9dSOj66ObGjTeGfnncqp9OriY6wpYr8o7Gwv9sExYQJADgra +BLusOqtNxqzIfMeC299Kp8MnmbW/iKTlO4qwwG+UPgpKILGNjL60akYdQHx4UFMk +MkvEC0ZsXWaVI6KQjwJBAIdddkJtyGlY8QKUyZKwy5RfcJElo8RvyqbiwutZM3Qu +wEyQfHiCmobbtlKYupg2BT6fRXRabDUP8wTCk3nZRyE= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/ileixlip/ileixlip.cert b/server/component/planetlab/ileixlip/ileixlip.cert new file mode 100644 index 00000000..7cf125af --- /dev/null +++ b/server/component/planetlab/ileixlip/ileixlip.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhpbGVpeGxpcDAe +Fw0wODAzMjgwMzQ1MTVaFw0xMzAzMjcwMzQ1MTVaMBMxETAPBgNVBAMTCGlsZWl4 +bGlwMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC3q7HMiN4fWJSWt/s4QpIs +5/6Gp62YdqoOLDn6SNPvvNtdO6bzOY+DbOrI/DkQtyJxnuhootacKZquMxDzzwtW +AzU4RmGo8W7OqhSUSg9uoKYgDSTDPfg/detasx54qgr210LUp1rNKw88e/cmBysP +vSROFRKcn1I+670/tw/mdQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBADQpxAkBtOcq +QkNyo3KSNOwY603kWhsgmPlZ1BJ7M7A8z4C35EP9E3G3Wd16Orzx5zk51GJGfG5p +B7T/U8lnCdyBP8bb+kxHWPY2ZypJ9pkxpIQacNtx/ghOhKPWzK/PPnfOT4qclk7k ++cs9JBCLGvfcUoOH66WYT08sDkKCL7Bv +-----END CERTIFICATE----- diff --git a/server/component/planetlab/ileixlip/ileixlip.pkey b/server/component/planetlab/ileixlip/ileixlip.pkey new file mode 100644 index 00000000..db7b5f2b --- /dev/null +++ b/server/component/planetlab/ileixlip/ileixlip.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC3q7HMiN4fWJSWt/s4QpIs5/6Gp62YdqoOLDn6SNPvvNtdO6bz +OY+DbOrI/DkQtyJxnuhootacKZquMxDzzwtWAzU4RmGo8W7OqhSUSg9uoKYgDSTD +Pfg/detasx54qgr210LUp1rNKw88e/cmBysPvSROFRKcn1I+670/tw/mdQIDAQAB +AoGARaVqd0eTCsnZFknPjibYLQUPo9njXsPoehVVKs4A55BykijzhplWDRz47puN +vAPloLYEJOFShcbU66dbj0f8YM3Ak3fpRFCZEbhKyl8UrCL7nTsZYtWW1L9Q1szj +ApjCLnHDmdUsfc3+wsczmlrmxqm9b9C2JAq1DsGKGWfEh6ECQQDcJisKiXUyRfyQ +VBoDoE56A8vW8vtwcEihMKRL5m408brQDQ3pmczMyLeCHcaHpIAST3YMgueQ4l+y +gSEaGsEtAkEA1ZTFl8RBnSFG3PqKLotxH5nOuAbi2sWYDn5YWrHB1b+hf1rTBdb5 +e17/dcAZFTljO2kV5vAkI059nJfijq43aQJBAInK6g3CU7SP0bGUsmOqpvQABEoZ +8/9AiHU7uNo49Kn203L9eMPKHEHhL9slP+oOsIrFaaITHVW2GyfjYxCvxlECQQCJ +k35AB2wYcgH6f+wYlTu2FlYhFlZ0g4kx9NKnAQ+RxxGZPoDlpxcnEAdP6wB9Om0g +LM2t54vvrjSddPy72Z7ZAkBBeMG+9r6V06BH8xsJ65gNsAneH3wi/xO6xc2HI3AL +B6lYUXaIN0xUhwTjwqWr/Gyj9gjJ1oYcQ33qw2UngxTQ +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/jaist/jaist.cert b/server/component/planetlab/jp/jaist/jaist.cert new file mode 100644 index 00000000..504c19d4 --- /dev/null +++ b/server/component/planetlab/jp/jaist/jaist.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVqYWlzdDAeFw0w +ODAzMjgwMzQ1MDdaFw0xMzAzMjcwMzQ1MDdaMBAxDjAMBgNVBAMTBWphaXN0MIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDic2ybBWwWDf4s22JCNA3Q/FSQv5zk +k7G2HTXLmSgpva5pPVN+ou25Nc7dobIxOgtFgRMLRG/z8MekYQvN/oeOKnfA/3GH +YxtUB8aQOq/zje3mmbJ6euFBhxginWm6RB/BiK4rMDHbjClJ1NVATQPJ0oe/XvWJ +1yJkcGLt76fjnwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAF0OSdldZmbIQX0GfXWL +EMFxBn5fu9jb+JZbRQOwg35ynP24yPspJEirfXxZKnaR3QQzH4W812nVk8IoIri5 +RmkdfaSn7gX9YbJQyFJio5HdLNTHF6jlp+2ox02wslsd3MwGi6dRiUceloRs3nm6 +ngDGUeWnds8Rj4V2wYN3vEI4 +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/jaist/jaist.pkey b/server/component/planetlab/jp/jaist/jaist.pkey new file mode 100644 index 00000000..c15a0079 --- /dev/null +++ b/server/component/planetlab/jp/jaist/jaist.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDic2ybBWwWDf4s22JCNA3Q/FSQv5zkk7G2HTXLmSgpva5pPVN+ +ou25Nc7dobIxOgtFgRMLRG/z8MekYQvN/oeOKnfA/3GHYxtUB8aQOq/zje3mmbJ6 +euFBhxginWm6RB/BiK4rMDHbjClJ1NVATQPJ0oe/XvWJ1yJkcGLt76fjnwIDAQAB +AoGBALGlAsoJ0uTqTT87SzXMSBpuGJkE+DuIcZ0ABTeXCp7UIoKEjX+GqR7mS0Yq +lvNvKXB49UudgIXJmZQmXXBYAFXYzHyM3u+m7T178sCD6r2LhThZEBlRVOhup2d8 +6vm+9HM6Si8eQzCmxQzb6oeTU/qgeUotC0YD4pTW3KzDTcQBAkEA8oqW4oNnEXUu ++zlYMZnymy6VGVtZpx5qZOniaqO2isA7eYWbeC7W56pRZeW6FMMw+PAcs4lZNfjB +MWIw3ZtRgQJBAO8EQxpNuk/fNNZ0Vu8oM3e+Ke8KLMpebWS+8OKX2jTUujrAOfOi +JQnjPLSwm3t/AkVtHkQknG1p97qks5cBhR8CQDfCqvu6kAiQc1OolGEa7o7Ev9yL +huoH8RfwOXCg4Me3eDTxBZQ02I18N6iAjy5Uzb59nWudSRhCb1AGLgvUuIECQGgR +jAIM691RC1mAyEVTVK2DcBCzdnMakDj4ZjvS8GBmazufbNwmskfO2CS4bMplr6B4 +9V+oLS/6nrF2evd54vMCQQCYU5W50/YdpIaysLbHou4yDNqEmMmgnmYeZLmzKAp7 +AyieJek0QIhz8Pdt1Uv8/Z5K2i81HW5Znk1ijsiMUGtV +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/jp.cert b/server/component/planetlab/jp/jp.cert new file mode 100644 index 00000000..b5c047c8 --- /dev/null +++ b/server/component/planetlab/jp/jp.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBiDCB8gIBADANBgkqhkiG9w0BAQQFADANMQswCQYDVQQDEwJqcDAeFw0wODAz +MjgwMzQ1MDVaFw0xMzAzMjcwMzQ1MDVaMA0xCzAJBgNVBAMTAmpwMIGfMA0GCSqG +SIb3DQEBAQUAA4GNADCBiQKBgQDG54g2Zw05TvORV1u1rsdxWPJI0hGhvvYxCFUz +2mzgrb+iB2j29mbkCW4brtTfKMjynMRJ6BcPNf4ZNvV9K1c9PXOzzdz2a17R3k3a +JMA2TZFG1S64V+XfO3bJt7AKSV34IIvYVS3fa2mEi0Y34DC2Py//LE0rrRtS72Pz +TFWm3QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBALQ5eRlhZ+QttwWoNL/8/d633esY +80uLAWi9M34UzUD9jn4j+2VLBZAnX9T9DInMHty2zNhbiUokEEwImUR4U1jeUcGG +iC6fz2iMQC3mHfvcYKVJ0itFvxOZkbqn5Cswbfdzf3ZiqCGrpOajrx4xSnqbNORd +YGk7ytRDpkU84I2V +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/jp.pkey b/server/component/planetlab/jp/jp.pkey new file mode 100644 index 00000000..7c096c4f --- /dev/null +++ b/server/component/planetlab/jp/jp.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDG54g2Zw05TvORV1u1rsdxWPJI0hGhvvYxCFUz2mzgrb+iB2j2 +9mbkCW4brtTfKMjynMRJ6BcPNf4ZNvV9K1c9PXOzzdz2a17R3k3aJMA2TZFG1S64 +V+XfO3bJt7AKSV34IIvYVS3fa2mEi0Y34DC2Py//LE0rrRtS72PzTFWm3QIDAQAB +AoGBAIUaSzycmWzQOI36N5TM8QoYy4mPid0DPRxyxxF8CYAQxTxYWRVqrk/LP7Om +uyzazh4Mag5LEaNMLk4RSRYJ+sYCAQyuxa8/pj6GS+kp0Evysx1pZc6+++PecVG1 +74BrVAkyL7ox3bPvgg6fax9WwpjJXPruFAHKIBJgvbPwtvoBAkEA7Yn7MFmBsxrf +gfCiRLi9hKo9GgVxYNJLwRTuB5BjErIF08NujTHsJEAdthzsiX0WfE61iNufSWGX +0itEmtTUqQJBANZc4wSz8Lgj1DbB/w58RvymUEQP02fWYnpaGvfwQ5bwAZSlaR48 +i/9l7v8KG2pNuyZoOHt53Iji8HBYCUwarRUCQCnCBO91/LAAvGP6anxMQbzNtJob +dNgBgCG8TS/1OQVzWETm6UtXCF1DDDYUlZyB6e8GYzFg8nqS9n6S7qeNXKkCQBsd +kNHteQux7IwoqfzJF6mp2Alj/xfpdHeJolOunr4fCfQloFBk1EiwOjUksCcYQg4v +rMVhutXN7yAm4rYvwakCQEaMRVL3cd1pJHLP7gY6pZs24TfPvOEi8mBo643vX4mD +8Ky5Tn0yuUjW213T/rv4bX3LoFSNvHJxDHbuINw7Y+A= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/keio/keio.cert b/server/component/planetlab/jp/keio/keio.cert new file mode 100644 index 00000000..0627235c --- /dev/null +++ b/server/component/planetlab/jp/keio/keio.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRrZWlvMB4XDTA4 +MDMyODAzNDUwN1oXDTEzMDMyNzAzNDUwN1owDzENMAsGA1UEAxMEa2VpbzCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAu0TiWDCiaIP0VAktXNJTFhLSvwb66LbT +tTutmcPKtiJggrexYLdS4ZjSXiToqzpkWj/cCPjvKORWFTU6a3ETHnHlVGWfia3T +1IiUuCFzG1NB9IjBH+o/0tsxow5s0wX+cl+3Jqj+VihWvEntyOaJ+7C1CiKTS1G1 +FP5acRP473MCAwEAATANBgkqhkiG9w0BAQQFAAOBgQCiFGqgj1w5JHuli/uBsP6z +TEzL8XNsLcU8ccbv9fTBp55VqC1DPdTldU0UCjoQs3/ButuZupJjWp33dtlt4jcM +FE0DUMj1RxRXOSg/RDszEQ/AiFA51fhFf2nCisVcYMbge0W/PFko6Cbc2ZQ3/ESa +XLASlCT+bEX7r02va/SlEA== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/keio/keio.pkey b/server/component/planetlab/jp/keio/keio.pkey new file mode 100644 index 00000000..7627098c --- /dev/null +++ b/server/component/planetlab/jp/keio/keio.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC7ROJYMKJog/RUCS1c0lMWEtK/BvrottO1O62Zw8q2ImCCt7Fg +t1LhmNJeJOirOmRaP9wI+O8o5FYVNTprcRMeceVUZZ+JrdPUiJS4IXMbU0H0iMEf +6j/S2zGjDmzTBf5yX7cmqP5WKFa8Se3I5on7sLUKIpNLUbUU/lpxE/jvcwIDAQAB +AoGAD5N0LBenen/3M4Ir5ruLs5tPMhpXhkGmrD1RfCef1bRYSKcUttGosCDw5mm1 +fIB31lXXbFugMMuFKXBq8oLOLyankUbNuJvDwc+RT+J5WZ6jELSz1ay2h/SoT622 +t0RdmJCNnPGr0o8LOOQX4VZQlm/HXTqFmcSmCmYuug7LowkCQQDb9PdDo9tojgB/ +HMFt5C4MYT/fC1eyjlFJd8Qoy83B+XUqdKH7/ocPUXMFrWo9QZz02N2BX+fXPgMI +h6pV9XD3AkEA2fSwDbHhlEu3+/v1NWcA0H8lSw1yJ28paMLTM6oV4xevGaMBcgYL +W9BEXhehw3Hx2rmDwMS6ZZM/CPqLHt4SZQJBAMsLfV4RWq9PtqGgl+arpt6Cv4VU +YSZRPjSFvKy0RkJz13bTp9yJf3/ifj2VcecONKfJseCF+ey2L/Kl2dXz9s0CQDmH ++Ay1Xnj5f6gY+sHM3Y8rcJmeA/rawdBwVLV3eO2Hq+WVfGUvqUHj+Jfpnv5rDk8Q +1vFEPHthYasqDxznu20CQBJIxujmGajl09faO9GKPpfl3B2PZ3v7BcHyLcXPEBog +WY/TwXBcHkI/4FKw8iSVMEbAosg/p11ZXOzXcHc9bvI= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/naist/naist.cert b/server/component/planetlab/jp/naist/naist.cert new file mode 100644 index 00000000..75b3a1b5 --- /dev/null +++ b/server/component/planetlab/jp/naist/naist.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVuYWlzdDAeFw0w +ODAzMjgwMzQ1MDVaFw0xMzAzMjcwMzQ1MDVaMBAxDjAMBgNVBAMTBW5haXN0MIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC6T9srwMUCCSXJ4qjB9XqP+FomrtdO +SGkdkhHBfgzCeHWMkkC68BCPmzgTkMKi4GVvFQyRJltCk4r5ayhG4h3SwuTEIVWC +hlMrfZMyB+ziuB0nXyoiCJiyU6Zi7qFjj+8hcE8fgJts0o5Qwb9Q9AsZwHPD6SJT +oqXgXj8vBxU/kQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABPiuWtaKUvjx3tmP12s +wjW1ezl3bO/hscr9lWZ2Yi9uq75MdVTDbKZbgllfxQVYVdsksmegYvIO+tNisnsW +/2IAtigrW+89U/SEpgGcDB0qUlvkuxiPcZGg+f9Phrw/FpR/47i9E7wmYfo5hi6p ++3uEVHL+EU1SKH5sfqbHkCUq +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/naist/naist.pkey b/server/component/planetlab/jp/naist/naist.pkey new file mode 100644 index 00000000..8de0cd2d --- /dev/null +++ b/server/component/planetlab/jp/naist/naist.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC6T9srwMUCCSXJ4qjB9XqP+FomrtdOSGkdkhHBfgzCeHWMkkC6 +8BCPmzgTkMKi4GVvFQyRJltCk4r5ayhG4h3SwuTEIVWChlMrfZMyB+ziuB0nXyoi +CJiyU6Zi7qFjj+8hcE8fgJts0o5Qwb9Q9AsZwHPD6SJToqXgXj8vBxU/kQIDAQAB +AoGBAKmuZvbPJt22xRK7+mRDlK8gScKnQ/HI4usKiF9H1IkcujofTRKz5vFTNVwk +YA+E/PyRGBPt8fmNdGm6HUGJWAx21gYsjMJ0YLW74rJM1gqzJD9BGcghU8ifUS1d +HTjoPMAqe97CQttwx1h+yWT07SNMnIFyOkGrqRjjP85r5wZtAkEA8DHvBkPkAfRr +1+c38jaUz+AZbc1TMfEIdFeD69oVRRDjipyMMYZkfvIU6n9iBrwSIeC6TQKy56xq +2C3tZCPfmwJBAMaSRAWs5TVdgjQ/CersVdqe+utf986UPAMqU1mPe97AXwVAe0or +JwMQIYxl2pQSDS7y2Ix0+u79GAVn88L5zkMCQQCkrGdGMVdpq6wgGmp1ycvedLKa +X/GQxMJaGQHduedpMXn+tvM6pPvTOJ70Yh7PpTL9PPgdAiOrx758tYgSZrHPAkAj +TryjmbODwqW1LoRP7kfxwJTzJzRD2h21nmAFq7qlx+TdZTLG5FdidwrQEQhFjdQk +Re/1QZOgzQXpaCtyvsJLAkAYc7UhlPac+4yQpwyhMtxVvd/qjyrF4yYyAyNfrI2L +ktfp2cw1/9tuZeGaymmn8BSqKqKTOePEtqISAn/tChXL +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/nict/nict.cert b/server/component/planetlab/jp/nict/nict.cert new file mode 100644 index 00000000..750a7ff4 --- /dev/null +++ b/server/component/planetlab/jp/nict/nict.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRuaWN0MB4XDTA4 +MDMyODAzNDUwNloXDTEzMDMyNzAzNDUwNlowDzENMAsGA1UEAxMEbmljdDCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1HgF/Ae3eVigZBiS5CF9NlDInHpY1bz5 +5xFF3rsbsS1Ks613amaQol7UAriYrMx29aqKrwtUCVEjuxud1tIRkSuyvCVdlioj +jBjzI3WXWY4A8NHG6kO1eIAiLN31UUQJ1pz0T7I5B+vF2gR9awDpLwaj1M4lUN9h +QlmMhxoipP8CAwEAATANBgkqhkiG9w0BAQQFAAOBgQCB24g4EN78aGHE4lp7CJLR +NYwE4FA+xmUKRVFAJ+iy6LPdiWxKG0TvSyScYUmP5p8wNVlw8UqbNInomvPmpVBA +RxYNCy+fBRdcgWtwBWshQBPUfk10btjUDDYyPgGoZHEcqP+VcRIA/hxmhuXV3Xuo +lCPiUE1tGIv78rncYpAS6A== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/nict/nict.pkey b/server/component/planetlab/jp/nict/nict.pkey new file mode 100644 index 00000000..c4b2363e --- /dev/null +++ b/server/component/planetlab/jp/nict/nict.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDUeAX8B7d5WKBkGJLkIX02UMiceljVvPnnEUXeuxuxLUqzrXdq +ZpCiXtQCuJiszHb1qoqvC1QJUSO7G53W0hGRK7K8JV2WKiOMGPMjdZdZjgDw0cbq +Q7V4gCIs3fVRRAnWnPRPsjkH68XaBH1rAOkvBqPUziVQ32FCWYyHGiKk/wIDAQAB +AoGAVgGT4pa5FXzjyEEOTRylU/RVkMoR5cuOmZOrZeL17b24zIz+luqXx7J9PfC9 +lM1bpkx3wS3jwbW/sgEW3pvAkfdCEHUqvVjp1kk2IH4feNCJ99YIVfrFMC9q/XcW +boyx7bq0BFVhE19aLZF5y6cHRsP6u2NUSVKkrP5p0KxT38kCQQD1L0vDSYfSZ7Er +puD9tnBvycThEYWzouGekXhcKqQB8Jad1bapqh3OLVU+a521mYuVwZBSU/JaX8zP +mwF5FbMzAkEA3ddJ+/jC6dcEeoTb0h1FVOJCYEcxGWq2QagMlINqmJXYJhaCyWph ++MuzuTFzvGXiHTIisH1ce+9UpEoO5/FHBQJBALtlHLjz+FV+X1GHyKrhx+oJAusq +40+7DEqP0LhQ9u1snxGfiG8A0KsGxwJgajekVaVuPgpOkwsz8WwzgtqzFTUCQQC9 +UXJxF313xCitSl6ydIprg1/z/C15rGj3pSt/PpukthQthP5+V0xe37Bz9jD38dbC +5btW9NUNa1THk/AenvjlAkA+H9baKaCAo2nTCq0N26Y+i0lU8bPqwLsLgLkqhyKS +jyNx6ahK51qf+l3N6kbXwRdUqOXWoYSzpuisPuhCqstj +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/osaka/osaka.cert b/server/component/planetlab/jp/osaka/osaka.cert new file mode 100644 index 00000000..066aadcb --- /dev/null +++ b/server/component/planetlab/jp/osaka/osaka.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVvc2FrYTAeFw0w +ODAzMjgwMzQ1MDZaFw0xMzAzMjcwMzQ1MDZaMBAxDjAMBgNVBAMTBW9zYWthMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDvOrdUhMZtS5ovbjcWD554LWLjS29J +T8Vx2M2sdgiphs2hSA129RsQ8JJFAf/G4hTOGPAyfY0OHCjI4PKp6gjOdYO80aty +HyzNvTrpDD++zhPJi+2m1tc/nv28PJYyDhif6pnWL9l9kixcPvYXAlpUhH1igkv+ +fnyRsBqcWyFyGQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAE72TvEG/vx6FbI7YVUz +0B8IN2D66gicWvr81T78bijQdvXuKoV3JY9Qz1kwZrzVhiWFgmXYd8peXAgs+7l2 +GkN/ZnNED6g4DjJuGfhCN9LH0ISCoMID5aP/XqvjGg94aVEccW+vEJVR25IE5kW/ +wn2NrQ4ZfrJnmTyHpDxs1t5m +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/osaka/osaka.pkey b/server/component/planetlab/jp/osaka/osaka.pkey new file mode 100644 index 00000000..f2dcbdef --- /dev/null +++ b/server/component/planetlab/jp/osaka/osaka.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDvOrdUhMZtS5ovbjcWD554LWLjS29JT8Vx2M2sdgiphs2hSA12 +9RsQ8JJFAf/G4hTOGPAyfY0OHCjI4PKp6gjOdYO80atyHyzNvTrpDD++zhPJi+2m +1tc/nv28PJYyDhif6pnWL9l9kixcPvYXAlpUhH1igkv+fnyRsBqcWyFyGQIDAQAB +AoGBAMnUFLWmqy2sefGIH8tp8/1Z9TLkAoisV1zcV3Enx9kWlMd73Xg+A86/1/eG +Xz9wn7LdUVCXofiEg1guiCwX+cJrr2d+/f8W82otpzKav9bqPlqyj4S+FQqOOJyv +X4rx0aiRyrSvwDJWPb0qdV+FeN0RWOPmMAUQo8E8MjtAFpF9AkEA/QvHjBi0AgWK +HB7zVeYt0qvw0vTySr4fH7DpwheM9iKVeUA8lSD+dqp32P9DIJ1h5JbLy9OwH3/P +szzSBDbPbwJBAPIFpV+yw3+1/B0AwKEJI6qN87+ftt5nI+rrjyctCfBiodRSFU7S +IycVCIHTRzscMKJFghl0xIIgJ7I94V4ukvcCQQDkSOA5L4AV4tF6FSIJ+KKWUK/u +YTTE4UhK2tvIUl7FHuYigSUmlKF8hMWiaocwwUszYidxNwTJJhFG7jO5wYjZAkEA +hRAVnEfstIqZ0lhXkDI2Kc9h9DkbkaujU8WvLxrUHBYeY1292Vgve41U4AwJXbZi +BtWwcc6BPAnxyU28WsvAgQJAem9czQyUwYos7WEdO0G9uVu2nRwkexmU9MjbXo6h +xwq1px6MOh60eSlHo1haUmbO6qhjo4KW0WhuDB/xr722xQ== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.cert b/server/component/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.cert new file mode 100644 index 00000000..fdc475d3 --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBpTCCAQ4CAQAwDQYJKoZIhvcNAQEEBQAwGzEZMBcGA1UEAxMQcGxjb2xvamdu +ZnVrdW9rYTAeFw0wODAzMjgwMzQ1MDdaFw0xMzAzMjcwMzQ1MDdaMBsxGTAXBgNV +BAMTEHBsY29sb2pnbmZ1a3Vva2EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB +ALiP4bMZ+YGWbXliJoulekSWpr9oFikDgTt2/kiLRjbutSfgkzXQy6U7LuqHkqNs +xv3q5HtgfRRxQgBBbvqZwc8N8FeKRYtfMHuSkWL60NHICPgxfvD3w76ke/3wEUEf +3F7qFnGKUM6382WZbNvbuFkaKUc1W71aXZQdmnXgHcTvAgMBAAEwDQYJKoZIhvcN +AQEEBQADgYEAqb9J79EoVIM27ZvenA0TguPiUitoChAfvVGwPij0tEmtRC9KzeYz +dqoOZRb7BShH+OdQhMMP9n3d9ZQCIhgEei44bxHVgqRY/LXYNQmekMnfNmm44lVD +znfm/4oIibwmZ7oLSHBR0JHyWGL6VyHDTV/rXxuaV2Q8iM6wVpj8hDE= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.pkey b/server/component/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.pkey new file mode 100644 index 00000000..ce0a75e7 --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC4j+GzGfmBlm15YiaLpXpElqa/aBYpA4E7dv5Ii0Y27rUn4JM1 +0MulOy7qh5KjbMb96uR7YH0UcUIAQW76mcHPDfBXikWLXzB7kpFi+tDRyAj4MX7w +98O+pHv98BFBH9xe6hZxilDOt/NlmWzb27hZGilHNVu9Wl2UHZp14B3E7wIDAQAB +AoGALRVwk7iPm1ksqs8QDWLByElouC7r4t7pTaZWnU/wOfD7rZ8NNsMnS9h2MHIn +nuYugc5EO+MpCrpT3g4d1veCQPCmgYnnXKnMeiK580cJjkWc/3P1IWd5kwNk3EXK +yWT9Jc0iaXFYnDRS4QUkScGvLT9A9251faM26br/+AA/8XECQQDiH9pnDLzN7vg6 +E9fiZHNoqlsAUAerWYhmH28r+0pdpx1Z4ao/9hbPVKzmuAs1a0jZZUAXW8wS0Rb8 +tlEJDTUXAkEA0PJGWImZstWz6DdXv5yoEodLSXLBYBF0OamHGIiJVfTMun+8Ljmw +K4qA224zTG7B9ELnzMx3RdhNkpeQHskF6QJBANKtYssILxCfSV6zBjzD4lLuBYMx +DTQ0YsTjHK0Zn5vKC6qmefzFx1K8TatYZfkLUABcOW6J9ITDkms5Yh7Q01kCQQC5 +h2aPFx8yfC7S8tEngqJ6UUe4X/z0oIri6HTcg9/uQv/GWcVuBis3fjQMoz1JkM8H +ZKEOaD8/9WBr2chOjZCBAkA6NdAQXDpOiO2P59A3xMyWWfk90RrIQ0zF5Xz1sSP/ +zaFRtfuDRLRkdbq1EWVY3D+gYJf2NygOqxIdTSoe3dji +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.cert b/server/component/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.cert new file mode 100644 index 00000000..fd39e55a --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBqTCCARICAQAwDQYJKoZIhvcNAQEEBQAwHTEbMBkGA1UEAxMScGxjb2xvamdu +aGlyb3NoaW1hMB4XDTA4MDMyODAzNDUwNloXDTEzMDMyNzAzNDUwNlowHTEbMBkG +A1UEAxMScGxjb2xvamduaGlyb3NoaW1hMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB +iQKBgQDVI4af8tt3QE/CCrjRaR4UWTwKaUVXXPJ8ks4dleaZnQiiA3mgsoIidmJb +KOgZivvSxjKBhSkrsEr3JeQDN4ux0hnW/KH7JGFwZHHAdNF53l3ltZei/B9PT9GV +vTUAA+ZvOMj2nfdBAdr4lGAE3+Uj5AhniiArfZIrWmsdWHX02wIDAQABMA0GCSqG +SIb3DQEBBAUAA4GBACVKQAHA4+gTEiBslqR4Vjb1bFO04i4VwZZNS9CwToQCdVo4 +xyU+eU2uLzGyrGQspY4konw4znaCghzbiWz4y5HTqeEl+h74epjPZlOZH0Z8c4+H +KerQf1InAmU3cr8O7N+/zDO29RT1P5Drtp5FNHFAXTMJcMTOda4SJB4nVEGn +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.pkey b/server/component/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.pkey new file mode 100644 index 00000000..e4cb2ffd --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDVI4af8tt3QE/CCrjRaR4UWTwKaUVXXPJ8ks4dleaZnQiiA3mg +soIidmJbKOgZivvSxjKBhSkrsEr3JeQDN4ux0hnW/KH7JGFwZHHAdNF53l3ltZei +/B9PT9GVvTUAA+ZvOMj2nfdBAdr4lGAE3+Uj5AhniiArfZIrWmsdWHX02wIDAQAB +AoGASGdMGVPPt//x2DH6PLEf1bvGiKbgNmBNw4G/YQ+GCZLt1tOlYrChQoHCwcLw +rZSoHR7VE2if5sZ5gOGvRmR9IGjoxZWOiIoKjQwa7LqS+PL+z5QJlu5k4mzLXMR8 +t2nwOlIjp5uoNcHNQ87sjO3aB8uemInWDa4gpzbU3CfmbuECQQD7BOYYRie27lqy +9XoVXU9844OdoDdI9kGXCvhtYI3nsK4IMshBKSuAD5xEYF0rSphFmyBcRGU1gzeq +TNF8iaXRAkEA2V40z+9vqA7ziLXuqj79FkQ6b4dXXrbt2bvv4x0bwebYob9icu5V +avIgvAnGnCJuk5/5kW6h7m6hXJzLvbhe6wJBAOUOjFTcN8NS74rcO+Ig+rbQ+bot +iCVZKXMF/Ln6YKNqcvRiOqBTTDGYjRVMBdjKQfdKXhY0B1L0gSgy3vpQtPECQDEu +K2zQk8bGezt3TmSek8yx6zbIvG/lm7Mj3obYUytv+5u9HZ07Z4AnAFkLLTCuaa5l +B6ZsDZ9Q0JmPsFlgmbkCQQCKhk8Ak94BhK8PhH+ci0id5IxJbpMM2LPP0jpFTIYV +3AwhtDqlPSqnvXfW4Eq8uj9Sc2SJMJ8/CZCw7i32DaCD +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/plcolojgnkochi/plcolojgnkochi.cert b/server/component/planetlab/jp/plcolojgnkochi/plcolojgnkochi.cert new file mode 100644 index 00000000..f9aeed1e --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnkochi/plcolojgnkochi.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOcGxjb2xvamdu +a29jaGkwHhcNMDgwMzI4MDM0NTA2WhcNMTMwMzI3MDM0NTA2WjAZMRcwFQYDVQQD +Ew5wbGNvbG9qZ25rb2NoaTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAu7X5 +54fIGlQr1h91GY2NjRnYWRDnyw0QrcsM1F20AHnGE6MLchfH1g3VsUDw9d0tFO5x +Migpu/ca0l6DobQN6Ft8+zZy9N8o+fQPYrSHAm4Cf66rMHY1IyHN0VnQmczs4Ig7 +GZBSPXbZBXA0nbgQ9VXeZW1xktDuzEUOnLIvzCECAwEAATANBgkqhkiG9w0BAQQF +AAOBgQBNIQsP7JVGa4Tk/0K//v+kDUtEQe866QBAIScFUaYXNycM62NphRDI7ZXX +b8E5tnCY0qJy+SuzwseIMlP2ffHeHEGeurbjAcz5WpNl1h0BN1RVcTO5UXlSiwZR +xON0k/A+uHIjQzJb0FfxdDikaS01tkeBfq+/O/VoW6A7Xi5mZg== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/plcolojgnkochi/plcolojgnkochi.pkey b/server/component/planetlab/jp/plcolojgnkochi/plcolojgnkochi.pkey new file mode 100644 index 00000000..5d2b311d --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnkochi/plcolojgnkochi.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC7tfnnh8gaVCvWH3UZjY2NGdhZEOfLDRCtywzUXbQAecYTowty +F8fWDdWxQPD13S0U7nEyKCm79xrSXoOhtA3oW3z7NnL03yj59A9itIcCbgJ/rqsw +djUjIc3RWdCZzOzgiDsZkFI9dtkFcDSduBD1Vd5lbXGS0O7MRQ6csi/MIQIDAQAB +AoGAPK/Er7oSU5DK61sYPL6q+OdWLtVsWxVKQyXWbAIvY8f65fZciPJvRSEL6VaZ +kKOFI7NDHXgmpgJpxYGRBQJ1TA/PrrySy/7eM9cnKa7h6GaJNWBl9dae0VifqESP +GgDd6xci6mI3C9A5VrmT0OJqU2eivubOvu5e39XvFmRNhsECQQDrMVpfFztxUb2j +AmiNSyznFTHHaOdKk1a/WqcGNj3THv3R/FoP8ritKNJi4hzPmxAwqlj0YtEl06js +JCFtYitlAkEAzFFAhJmgkVYRMMdfeZd5mXdJDQ92+sNjOhUz2EY8Ra6d+ZeCsIpD +/LXFHbk4xhukdQRp7EEw9QcmxNkgnEe4DQJBAOmgy+G7xTuK9DLSOKNqcr9VyW4J +of/tnnVVCqdcCEwI9B+8aoZ/GL5B18OMUwxTP2DoRpb09kd6GsoAFgh/RRUCQQCy +Oe5dvOUj4j/8nO3b0xZvmG5QxjyzYd0cvYIMFrhc0IVdQ5ztAq9rsePQmdG8fkBn +EwKS5AsgsqxO6lhX+vfBAkAGXCZHSgrjY4DLrpZ988qfr+zTmr8GXyywLxbHQtli +HmUEcaykHMW8nfu8F/eD75k5XuBUcSETOqG2hnsdQZSd +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.cert b/server/component/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.cert new file mode 100644 index 00000000..797e7c30 --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBozCCAQwCAQAwDQYJKoZIhvcNAQEEBQAwGjEYMBYGA1UEAxMPcGxjb2xvamdu +bmFnb3lhMB4XDTA4MDMyODAzNDUwNloXDTEzMDMyNzAzNDUwNlowGjEYMBYGA1UE +AxMPcGxjb2xvamdubmFnb3lhMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCl +Ijoty6h9vvAwHFsMpD56jZSYcU/LAunUmsjMvKn7Hv5X00Lod0gpzylooM8P8w9s +n0sodFVNfjfQRiXhzMMhcpKBlK6lW+7L3JPpN4A6E2WkTKBKrRECb2n+Wj978+jq +LaXPvA7QKpbkFXRttyd8e27IerXaLGOcRs1YMNFbnwIDAQABMA0GCSqGSIb3DQEB +BAUAA4GBAHs48zcn3MISFKwFMMs+znnivqPfbNPt5k2EnOcnN4zAoOfaybs2vWR1 +ohVhYi49RCMNvPEj9DR+FYVG8KbKN6JTW4eG+6LSlOt/VgGOR5MhUNeXWpqo4m/v +6eTY8cxiq69b50amrEg4VOEUglMmscCyZdU4W/hUAhN4Edf2KIL3 +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.pkey b/server/component/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.pkey new file mode 100644 index 00000000..d223dd97 --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQClIjoty6h9vvAwHFsMpD56jZSYcU/LAunUmsjMvKn7Hv5X00Lo +d0gpzylooM8P8w9sn0sodFVNfjfQRiXhzMMhcpKBlK6lW+7L3JPpN4A6E2WkTKBK +rRECb2n+Wj978+jqLaXPvA7QKpbkFXRttyd8e27IerXaLGOcRs1YMNFbnwIDAQAB +AoGBAIQ1cQr1QQLb+gUqzqLCZNtNuyiJn+7TeE6lVhrE+fp6B/xcwfbIeVgv6eFA +zkbgvPqkVlIfQaR3Z0wyvWWYwKgfLUtEXztsd1T7ogmYQpAScdeKH7/jfduAYlHC +yMkmhlRYsQlRUizT6clug1cKLrTEoaKEBwMVvOYkElPzonVBAkEA17DxTtwYIaNB +vOqbKeCtaE+XbRVuIVy+gadnguLpi4x8T5dZPPssmvv8hiuiuaDDSYZzbwzBV+To +yRxzhSkHLwJBAMP+heRUCm77/tB69VeY+JOeYPeq5ZXVi34PyKF3OyBIFF9IvML+ +nBr+mFLZfHDs03dzVqXCr8qwMa+XRMvd1pECQAPKmHNKayIsPHuVpCSYTnQG8iJ4 +vfbYKoEc8DTcyD4rugOsJWVtBNu0kjvJiJK6wLQKKP1KvBtPasgeN+mfTwECQGsM +Um8CY+x4YJXYArbEi0h9YbMEOX9b8mN5FXjzWWzpUY81eDv8uqCX2/SsayZ2g42j +hnjk3AUVtR2VvnKnCLECQFK2ewWFdrSRfLKcN4vhULGtPl3x7uh4VbyUSUsiuls4 +q1b2xApXYVKRxD+LyGxiD+Rt6luvVEzdnvmt76ENa54= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/plcolojgnokayama/plcolojgnokayama.cert b/server/component/planetlab/jp/plcolojgnokayama/plcolojgnokayama.cert new file mode 100644 index 00000000..d7aa2389 --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnokayama/plcolojgnokayama.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBpTCCAQ4CAQAwDQYJKoZIhvcNAQEEBQAwGzEZMBcGA1UEAxMQcGxjb2xvamdu +b2theWFtYTAeFw0wODAzMjgwMzQ1MDZaFw0xMzAzMjcwMzQ1MDZaMBsxGTAXBgNV +BAMTEHBsY29sb2pnbm9rYXlhbWEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB +AK5FphD9l7e77gFWdDTI7GgsUNL6ZcdsallvNVZzhXihOqlsKmrHXLh2Hg8BBRth +UHkNi77iD0Hc//8dAIAJWFdIPZahfa7U9caQZlYraNfqUEmuuCTueh3Qv1AspThg +gIrNosP8Jz29W64FGLmMDe1Tu/ITty8K3BIJW/HIumWdAgMBAAEwDQYJKoZIhvcN +AQEEBQADgYEAEXJJRBW9GTO+clwX6pK6CqQ0iJS638UossGRSMR/whhBf/SneQb7 +Dx+QoXae3vlxM5o1QxEKsBom4jixLIzeJd0uA6qvIQaalJTjhFqCiCtiZQ3a16Sj +hsdRdubn49iYWScE9JpgDRGe52mheIZd185rlNzXAUWr6OSFcN5iK0I= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/plcolojgnokayama/plcolojgnokayama.pkey b/server/component/planetlab/jp/plcolojgnokayama/plcolojgnokayama.pkey new file mode 100644 index 00000000..176fdaec --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnokayama/plcolojgnokayama.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCuRaYQ/Ze3u+4BVnQ0yOxoLFDS+mXHbGpZbzVWc4V4oTqpbCpq +x1y4dh4PAQUbYVB5DYu+4g9B3P//HQCACVhXSD2WoX2u1PXGkGZWK2jX6lBJrrgk +7nod0L9QLKU4YICKzaLD/Cc9vVuuBRi5jA3tU7vyE7cvCtwSCVvxyLplnQIDAQAB +AoGBAKfS2sGx9NEzYVhYcUAD3eXUB2GlUS5i8Wd++NZwGTC500wkphR+OIRK+1dn +nAtqA50Ptmv0Ns0ujjiXLUwfs7mC6QQIO6nP+qlhQQlzky+jx4Xe0hIUEc+zzndh +rFdBZRnEViPo9XBeV2wB9NvLDnZ8pEafkjI0GrRy7cbyRNbhAkEA3ANkH2nDlVOX +PMRRjI9sWxSGpQEgiIjgGPCpSWiO+G4/0xRtQ+H9FTzegk1JTGZDj7hjf/tHVlvF +qOXncaxPKwJBAMrG8DUKysiWf0z4hPmYBRX4Y3I8xgEBnPgZPfm1utdsTAs0D6hM +raRKxWnN8j6jy5lEBbgCkxTsY0vYndvTelcCQCZxJT5j4Xum9mb0unb/3GPxqzEL +iF6y480Xx8x+y3RW9ynviMPyqaDbWNmVnXgO6kEja6dCBY3uTRQcz5rKC68CQAyO +SO1f37KP7w37DXDPAvGbUb0PGkuRqACMv5OotwsDv6mp7ZZEOTRFFPg6MlfCmKbC +2X/NWQIgqP1XSl8ENz0CQHgkffufkyBVijLMAQDwi7NSWHJOFBj2i4tK0uf6IVyq +nJCqQFMU+HWYlzB/DHzFn3xhqqVKyYnUQqPU6qhkQKA= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/plcolojgnosaka/plcolojgnosaka.cert b/server/component/planetlab/jp/plcolojgnosaka/plcolojgnosaka.cert new file mode 100644 index 00000000..e1c35d7b --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnosaka/plcolojgnosaka.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOcGxjb2xvamdu +b3Nha2EwHhcNMDgwMzI4MDM0NTA2WhcNMTMwMzI3MDM0NTA2WjAZMRcwFQYDVQQD +Ew5wbGNvbG9qZ25vc2FrYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAzLZp +mjyYl0Dp5VSgj4I319Fz2ikuorayYmbnyyrKDX92eVEj54oYdl7qrcl4tUDn8eDg +qQLnN9G/aF2Ky048+pbZN9REh0UN9y/N+xxNO9StBb6BqvVk2JG+axvnTQ4sBluL +LbM7BmrVo+5s5p66SDZ0YTd9zbblq3un0uQGv8kCAwEAATANBgkqhkiG9w0BAQQF +AAOBgQCKBHxWrJxTgMTR+wHhmc428FrNZYc4IDF7BxfRcnOzORzud5xBtCtJIqpz +QZKASxUPgd1YIs3l4yRsO0Cj8Ks9Mr23d4XnGBSszONlwzzXkPeXxLiBnZdMmE/q +FquF2Tjf6R+7dJrLVCUimq9DznNoOpmaqgDc8+Mr9RURbczkAw== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/plcolojgnosaka/plcolojgnosaka.pkey b/server/component/planetlab/jp/plcolojgnosaka/plcolojgnosaka.pkey new file mode 100644 index 00000000..1effff7e --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnosaka/plcolojgnosaka.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDMtmmaPJiXQOnlVKCPgjfX0XPaKS6itrJiZufLKsoNf3Z5USPn +ihh2XuqtyXi1QOfx4OCpAuc30b9oXYrLTjz6ltk31ESHRQ33L837HE071K0FvoGq +9WTYkb5rG+dNDiwGW4stszsGatWj7mzmnrpINnRhN33NtuWre6fS5Aa/yQIDAQAB +AoGABJkURiKWSs9qcXw1HwQNvQs3Tu8d3Qm9d/hXvHh5kVQLlS39YHX5lq8LFlww +GeIbU5N5eFJYXyiW5AE13NslA3GR+9XODISe4yhGT/yJtbGzbxRROPhRx4saY0L2 +5Nh5dhSlXeC7YLFjlPNfiAyvpQ4/p6unovMZagA5IAmhNwECQQDz8rw5nyJ3OaVC +6wXL4nJFVqdzGlREeu4bMO96nWMqgeylFPJnwth3ixQeWv83/zaVN4k7OkWXggXk +kbjqCJ8TAkEA1tN0rzAexkfWPrfIS/K/OkWJd992bEL7s28onL1syCIA/5n3c5lS +r8Pk3TQXXQt2K4yCikwfTIsbkPo644OVMwJBAM08fdE4qgWGkRxAoKrMw/jEE7MK +BrVqeyKTRBdzjHe5wT+N5PcY/YdtkiqLwkb5R5G4nJMgzmXONWj8lIcJY9MCQQCf +9pTMXmiL/LHrwa3D393E5kKWoC7uLnJ+CieTjvmRjMBxk5RO37xSZOvmSwOapQ45 +H0eU81nbBTphmfJ/t1tBAkAIVSUyTwHGddiLSI2vkKsAhtlMHM/jdMnsi5XjauFm +qHpaqYvM1hUo+jMR/5VeYnE1p8QyM8I3b3rG79VT7DMH +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/plcolojgnsendai/plcolojgnsendai.cert b/server/component/planetlab/jp/plcolojgnsendai/plcolojgnsendai.cert new file mode 100644 index 00000000..259eb9b1 --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnsendai/plcolojgnsendai.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBozCCAQwCAQAwDQYJKoZIhvcNAQEEBQAwGjEYMBYGA1UEAxMPcGxjb2xvamdu +c2VuZGFpMB4XDTA4MDMyODAzNDUwNloXDTEzMDMyNzAzNDUwNlowGjEYMBYGA1UE +AxMPcGxjb2xvamduc2VuZGFpMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1 +b6T3col+V1yomlQHPrWYqJdL4+snvgcoS+zqDP+5xR+U0oFRfwnGGDRZvIyQHjDg +XrXiLsz7vLotQW6bhFhWC8SqDYJGZsPQF7v+xi4Pma+Hv3gU/Z7zwgOBy5P8XpYP +3waHzT1aF+r8EgbAhINFH0S9JffsXc53/7fxldUSbwIDAQABMA0GCSqGSIb3DQEB +BAUAA4GBACL8PIa58DZbe4H9fsEDboF7SY8xyl3XwwnWk9xoRs8YgAiQRbzAaQEb +Rwu0qkbagYvRVdNRj+OMBWZUGgQWBulJ4gNo/BKXZPkn9+ZnOJ8wlkG6cXrZgkjM +0MaODu2oDgZxvPTc7fYD+DswC+47LGQT5Wwq8RI+lqopiMrjm7wN +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/plcolojgnsendai/plcolojgnsendai.pkey b/server/component/planetlab/jp/plcolojgnsendai/plcolojgnsendai.pkey new file mode 100644 index 00000000..f8e75b53 --- /dev/null +++ b/server/component/planetlab/jp/plcolojgnsendai/plcolojgnsendai.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC1b6T3col+V1yomlQHPrWYqJdL4+snvgcoS+zqDP+5xR+U0oFR +fwnGGDRZvIyQHjDgXrXiLsz7vLotQW6bhFhWC8SqDYJGZsPQF7v+xi4Pma+Hv3gU +/Z7zwgOBy5P8XpYP3waHzT1aF+r8EgbAhINFH0S9JffsXc53/7fxldUSbwIDAQAB +AoGAT7hqh79v4m+IaxzEZxqKuDT7pYDTxnactnwF8SEdDActRTrpT2G+bagc+ID8 +Uiax2yRCTsu5jbLzKwdhDjwsg4TqKnDI+kp/FSp1wotRMqe4WN5lZvUngU0RGbvd +S62S0qvHTPGIxjwgkyWNk7B7UOY3jU2OpE9TSNtgSRbfN0ECQQDZLeB77qSSkjf9 +NRUPa2j0QWF2uhOoh04cvuNf3zsRz9o1TPRgLvszzkb/692PheEwhhyh8EIfGYsn +xug9APN3AkEA1d4pu8rLcHhKmoTOUp/R2BPI/A24RLZwOoeXA/wX73D4DJDIFWt4 +WCgX1r+FRbiRiwdscgBSrXIa+jYyka/myQJAJZlNrecI0t9BljKkbMD5sJ/JEdbx +JFIYcd2SW7y360OC0Yt7G1PG5Zcmr5PUDc7tx4rQVjDUIbI4ZzCGcFlDzQJAAuUB +3ZfODxShtdusSzP8jBcgdkDdSJjLhg9FvPkRfd0ijlD7VEbjFxZb1D09WYc4+Q+9 +qQFWHSDZOp+3KX+e+QJBAJRnjecDlV5hGqLmsf0P7XwtmhM/MQcBFhs6HbeUBQZM +XafaYRZKI5Z2ekgbHrspeM31paWfJ6zt0ub5Q6tA0tM= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/plcolotpgdansk/plcolotpgdansk.cert b/server/component/planetlab/jp/plcolotpgdansk/plcolotpgdansk.cert new file mode 100644 index 00000000..991b5620 --- /dev/null +++ b/server/component/planetlab/jp/plcolotpgdansk/plcolotpgdansk.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOcGxjb2xvdHBn +ZGFuc2swHhcNMDgwMzI4MDM0NTA3WhcNMTMwMzI3MDM0NTA3WjAZMRcwFQYDVQQD +Ew5wbGNvbG90cGdkYW5zazCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA3ca8 +xc8Cqjw+N2ffP18miWdZJJ6z4bCp13huLEeJTca8DiVj2anmKW7QsyH+hKa84QNb +OkK/bWnXEmBmDRd3ZILlnTUHmsWYrmmdcUMyf9MY9OfoMoByZp9xeJ0lTKUDahdN +2Pk7bohEZKB5Eo5qq3oqnXy3UfVDF6P9IkNEqG8CAwEAATANBgkqhkiG9w0BAQQF +AAOBgQDQ3Qcf4roY3bvZD4YoGXmKhBDGKBQPd9O27JcCQ5XiLME4aexw4akaNnVL +wOS5mUdjH04q8JuM8cNtil27uloRdYsCy1bX/trITqWg4foy5Cxsqn+ctHWbghZz ++DBPjgWQhDBw1sV1SDhjqg994/c5kWAWYh92FS/cv52dyy4WXg== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/plcolotpgdansk/plcolotpgdansk.pkey b/server/component/planetlab/jp/plcolotpgdansk/plcolotpgdansk.pkey new file mode 100644 index 00000000..8b89596d --- /dev/null +++ b/server/component/planetlab/jp/plcolotpgdansk/plcolotpgdansk.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDdxrzFzwKqPD43Z98/XyaJZ1kknrPhsKnXeG4sR4lNxrwOJWPZ +qeYpbtCzIf6EprzhA1s6Qr9tadcSYGYNF3dkguWdNQeaxZiuaZ1xQzJ/0xj05+gy +gHJmn3F4nSVMpQNqF03Y+TtuiERkoHkSjmqreiqdfLdR9UMXo/0iQ0SobwIDAQAB +AoGBALczxxk4yqDKJzMp0VfOSE1VXGRN3Zbgk0z1pT1a0ue29f5RkMxr9z/e1PRF +brUx7/GJDkFwhiXiOtJpY6QI8IxDa8oCbEjLpYrMBZ9C3pLUHy4mbM/LaZxXdxX+ +A203NYrDWopRt3KcF/Fm63pOaPvu2b+DKips51XnQfp36qBBAkEA9PbfOWXIIjz5 +ZX5+FWcSLPpoI1G3hYldPgjMjrEI//ESov42bnN7BPwcYAZ0wZ7ecYZ0i8sd40LJ +QZdLwlBMHwJBAOfEcTeIiaMvuBKnoWFY5GkZyDfstgynsBHsQRbMWnGBvUvAgAMi +y++mrZUwxzumC7LdbBfZucqqcupH8dOPGbECQQCzm98IAqy/Dd3+oMRphO06tU9t +thjNfG41cdYqOXvTzTpQ7/uQ+HMWsJNNhO5OmOGYc3E4nnEHlIxj3z7Y9m8ZAkA5 +SWYOqvISYu4ltkd+b2Ft1RCXOiw5bo1nsLTZ9ML6QW5PthIuNECiSNmpAbiNNtq3 +aGGad5ejz4O+AvB0MW/RAkBmdjKVwfBHBALXJQPxDNLa/1JrDHuT8qO7RVXExc2I +mUcNAgvSDid4iA6wkFphe8z0vGDCgA987HDZfHYvI/EK +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.cert b/server/component/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.cert new file mode 100644 index 00000000..e683e742 --- /dev/null +++ b/server/component/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBpTCCAQ4CAQAwDQYJKoZIhvcNAQEEBQAwGzEZMBcGA1UEAxMQcGxjb2xvdHBw +aW90cmtvdzAeFw0wODAzMjgwMzQ1MDdaFw0xMzAzMjcwMzQ1MDdaMBsxGTAXBgNV +BAMTEHBsY29sb3RwcGlvdHJrb3cwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB +AOtiAqrvauL/hvfHuIF+LIYirzIXmpS09Px7gl/Dwj8ilqfPi1740CLtMiOiFx4I +0aH2dDSwL2bH82aGICrLdTiL+7VKrK/xzloWIsHv7vdwekNNGEIH+MjLsU8NE5u/ +azxOJmFagVUDr6l7krxLlghGNhZQp7yWx9++RaY/+udpAgMBAAEwDQYJKoZIhvcN +AQEEBQADgYEANX/+a9QHDZo7TNGiP52Sf15Uyomdqaq6xhBkGpUTaeJWpRmTEE2/ +diXIHsCn3wUxoygIurWy/lYGuDewBeyRwF5jBaFcIqO+coPcrBsvhr4gzGCITB4E +jRjTuJQI2q5XC4VO3J4UGs9yy3V2yJrmQ7KqcDC2YTj1M13hTQRd+y4= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.pkey b/server/component/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.pkey new file mode 100644 index 00000000..df13212a --- /dev/null +++ b/server/component/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDrYgKq72ri/4b3x7iBfiyGIq8yF5qUtPT8e4Jfw8I/Ipanz4te ++NAi7TIjohceCNGh9nQ0sC9mx/NmhiAqy3U4i/u1Sqyv8c5aFiLB7+73cHpDTRhC +B/jIy7FPDRObv2s8TiZhWoFVA6+pe5K8S5YIRjYWUKe8lsffvkWmP/rnaQIDAQAB +AoGASLGsQT5PtGtWM4/q25MsDQEJOl8vzl1Ui+VZDlpW00jLXmgqktok7aRzp62X +lh8DHxIOMXd4LDX0ZeVmadEMEiMJema5df+JNfc3vbtToAthkvDpr/YZXjYIC01m +Ri62UjW8UnDnFavFa9KxzY2OtAkJ9IZP6eVH53eUhq1cQAECQQD168oPR49s13od +WixJn/ZihnbGjiYb37pCbG0YBBU7DnpF9HnE3tWQUTT+6og3t54gPRLMdpMo6opz +s56BEASBAkEA9Qenb1sMxorw9zGNhBc1R2fHb081OK2+zzXj6YFqUwckowcZzskR +Uw01Po8bMaouwWtibNz4/yUDiipwJUfO6QJADwsadC7TdjwEK1F9zg8r+kDxeRnu ++NuJwFBzp/lv9wnervLSlBlxhP+Ct2lPZeEkmiJCSSGjxOf8CjHdq1V4gQJAJDmq +dlsWq2+1KkaILoQj21erc3hZXPTK5eWIuWfpqTbAIt4U4a52QjoMqiAMHC6V1QCk +P4X3xfjZ6h5WEBzqqQJBAO6RMB9dDyama/NJwGCOi6uJlIoVvdA80ss6GT8LPhM+ +ylMnkQcprV0GdOiDazRT5qJX9HAusOi18Gg3T9MGSpY= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/plcolotppoznan/plcolotppoznan.cert b/server/component/planetlab/jp/plcolotppoznan/plcolotppoznan.cert new file mode 100644 index 00000000..7f546cf1 --- /dev/null +++ b/server/component/planetlab/jp/plcolotppoznan/plcolotppoznan.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOcGxjb2xvdHBw +b3puYW4wHhcNMDgwMzI4MDM0NTA3WhcNMTMwMzI3MDM0NTA3WjAZMRcwFQYDVQQD +Ew5wbGNvbG90cHBvem5hbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAta/a +d5HU6ZntMyohbF6CH9MveCcuqfKW2bTzx3vVzY4aqs97D4pqV4F8zAcQwjq0Vzqp +xIrwa4bxyikNwg2axy+abi9JvGHziKz03cVt7S84QkBmUMaEx/MNLHM6XCiZvTdi +x8ZKl/U/l7mDW7mkteFEzMLXUEq1BMv0X/wFnw8CAwEAATANBgkqhkiG9w0BAQQF +AAOBgQBJviwXpD50PkO7zgI9BCvoNvmD219go7DrZdM+PfEvHgES+zrBFUhue0/O +8BeKqxaXDKChViG4O0Cs/BYNeRC/SM+e3O5GDzI2ixkVqiUOvHDrXpQnIEgzCURp +xhxD3STm97N8qk4eV03RUuS8hSgVQpcPb3BPA3MtBeiWh4tvKA== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/plcolotppoznan/plcolotppoznan.pkey b/server/component/planetlab/jp/plcolotppoznan/plcolotppoznan.pkey new file mode 100644 index 00000000..78ac001d --- /dev/null +++ b/server/component/planetlab/jp/plcolotppoznan/plcolotppoznan.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC1r9p3kdTpme0zKiFsXoIf0y94Jy6p8pbZtPPHe9XNjhqqz3sP +impXgXzMBxDCOrRXOqnEivBrhvHKKQ3CDZrHL5puL0m8YfOIrPTdxW3tLzhCQGZQ +xoTH8w0sczpcKJm9N2LHxkqX9T+XuYNbuaS14UTMwtdQSrUEy/Rf/AWfDwIDAQAB +AoGAQAlyS/CHhapuMzlnPGX3ITZzJbtRtC6/wo4H2kioa+HpPkkQy8JyhtMp5FOd +MYg1ZgVULuT1pkCS2jksEzhuU6wKQFdbjqP86GSx70iYPqgbq7hSBrl/gsJF/rEb +vZ23Eh1hNdjPOhlamXGXNr6gS8zJbKkz6cY7Jdu7wfskR4kCQQDkS5VscxBWBtJe +XqHu5D4HUHql9qUblpjQXOZal9NcNnE6hzGIwRyemea0WMMWyzfXNIVxg3ZFxYKs +ZTuU0YX7AkEAy7xLqPvSRqVeTayngxFjs2OWN/26gGzvOUn7CCC/YDOkmanpXFL0 +rUXwXfFfVEAaRYrIOZ1/I6hjsQCIZITC/QJALBYslPTjgrluhqrfurJ5CBCSntoy +qFE80YAfO/914ajh1NumxTIFxNsTomBBzHUSI40Q+ArbHD44LfKevu53YQJBAJr4 +HSzqb2XhP7whikF+JrI7G/Z2/zfUpJqVFWd3UVqhraBcx+68AvUR7+XlRbfWEqW3 +DNoWXLEI0tu+JgEfoxkCQQCS0RjIMOFFXc9FpLWCnyTwvAol0aUhiA2iQSuoMDZl +fRvZyye13a43BdTrS9eZulPwCvhJZA/n2lg4s0+FE/6J +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/utokyo/utokyo.cert b/server/component/planetlab/jp/utokyo/utokyo.cert new file mode 100644 index 00000000..29b069ad --- /dev/null +++ b/server/component/planetlab/jp/utokyo/utokyo.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZ1dG9reW8wHhcN +MDgwMzI4MDM0NTA3WhcNMTMwMzI3MDM0NTA3WjARMQ8wDQYDVQQDEwZ1dG9reW8w +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANsNqOHKf2xdiCL5bCFd2/hKkY16 +1eh9aAcx3mAnr1ZsX1Rydq4ekbh8MbLfWgecku4K4gPEqTzWw9WVGdgS7uw9SjvG +AR5PIqGYUUT3zd/yCpRbvi9EqS3t2h3i7jd8z6CogNFlxPQNYg8mYesqXZi+1wIR +EaNkWiJOA3bppUdVAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAZRjE09B97FXikiNb +MOggBAwPw4GVTx1YZRi9vvAg6TelkKHt4h7ASZjEq05DmCyYAeRuMqx3rCSqSdNb +MtDtLSrnJFFdjTRuRPQN601wJLyC6QCGXmLZQeEMnq2QdQQ9XwHugaHBJGB+tB29 +k5tKGmEGoCINSkDson7C0XxxTp0= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/utokyo/utokyo.pkey b/server/component/planetlab/jp/utokyo/utokyo.pkey new file mode 100644 index 00000000..226d1200 --- /dev/null +++ b/server/component/planetlab/jp/utokyo/utokyo.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDbDajhyn9sXYgi+WwhXdv4SpGNetXofWgHMd5gJ69WbF9Ucnau +HpG4fDGy31oHnJLuCuIDxKk81sPVlRnYEu7sPUo7xgEeTyKhmFFE983f8gqUW74v +RKkt7dod4u43fM+gqIDRZcT0DWIPJmHrKl2YvtcCERGjZFoiTgN26aVHVQIDAQAB +AoGBAKgBGf3SqVgbhEYOtngA3KzZxDiWdWkSha6++KcWyMun4pWKFKwGlgzAc/2U +gCBGXgpkHmR1eLdIoHo3GNM38jWiHS7JfCYOYEvFx4aIQzX4P/R+5DfHBMN4Z5L6 +DzXO+ac5gQXaRL6zy47n9HSaH+wJh+09MeYj3tvPfs1lGn4hAkEA+lm5/ovFsKZd +jZhvCr9HwpbXNG47+m2HImv4khXo64+b80oZILUB2NnkDd+ydH9Ym54WxT1jB7jc +fs6mXGwxcwJBAN//ITh4PcvNVk4twF+AHmGennqCexN9UdC2KlwewWVKApKzmylC +1N273B1COpeH6+kZl7PQfGPwR1NJsR4SUhcCQFfyk3uPwKg5GZ53kXLWFbCPaxS5 +MQrd1V5LTeyME+JE9gU237L0w6xZh1s0Xa29WvR4SgmKcjKxR4yorhrDy28CQEx2 +53xDb7T2r5OYgqcXMUfZwffIOwN4MEmzJdq0lQhir2Ys8bawHcJjssw6I44+1AWK +uwKjFRN4nqCL8250ipkCQEoyBTRO/Dr7pNKD7reO6S4q8jBaMFoGYG76+6oAypBi +prXOPilRps7ZKOkpGNvtKV7Xr7Cz3hUcwr7IWaC6eY0= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/waseda/waseda.cert b/server/component/planetlab/jp/waseda/waseda.cert new file mode 100644 index 00000000..dfd33a30 --- /dev/null +++ b/server/component/planetlab/jp/waseda/waseda.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZ3YXNlZGEwHhcN +MDgwMzI4MDM0NTA3WhcNMTMwMzI3MDM0NTA3WjARMQ8wDQYDVQQDEwZ3YXNlZGEw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALexccXPggc57pjBKUvx0xXr8c4G +SQmcTs8sQeQqULwWGiTpIYKW9ku1f7Ccj+0UwJIQpgxVCJ7GI4T53Bs3qftrMgTX +Tc6QajeCiGU7Aa/dwE/JFC6jqUAP1wHWuEXAm4DKZNma7vUOqElyq/92YseR1IRO +N3/rvlPsA2wyEFIFAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAo22DfyRxdWis3Rzj +etUjAr3oHQYcLpfTZV3J8QD4xGA553ZtuujTK9jOFHcc/d3qMEcbF6jZxdqWDrTq +iMbwXBVDElLKxVlDqDT6aB3ahBau5l4aFdk0z5xUAlp0nN+FrZckftDK6TSQCusU +C8wIeZUybyPa6M95DXhVI1YwIKg= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/waseda/waseda.pkey b/server/component/planetlab/jp/waseda/waseda.pkey new file mode 100644 index 00000000..41e2812b --- /dev/null +++ b/server/component/planetlab/jp/waseda/waseda.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC3sXHFz4IHOe6YwSlL8dMV6/HOBkkJnE7PLEHkKlC8Fhok6SGC +lvZLtX+wnI/tFMCSEKYMVQiexiOE+dwbN6n7azIE103OkGo3gohlOwGv3cBPyRQu +o6lAD9cB1rhFwJuAymTZmu71DqhJcqv/dmLHkdSETjd/675T7ANsMhBSBQIDAQAB +AoGAVbFcvwfvw8k9ylsKFdipPWfFdPQvrGETzsf5sSQgZ63z4lYzgMVF/smb2Nsg +tVvh/gHwRH6Ct/b86PLawIO2Mr3xvgH0u53yLbi6QDtp4+GUmq0duLrWIRvKycpy +dlEzn/15WcxrDzWXn8+voHek5wxdCH0iHV6pDiWeoHIdrWECQQDnFKUR/O3SjC/m +1cTcQQCw310xP/eOjEGsMK1W10/BhtkzR6b75gEGHhslQp1WAN8fM+sTk8mDr1nM +skf74W2JAkEAy4CXR9NwhicD25H+4i44/1+ikiG4fRyxVn74X5a7kdM037VmFgn4 +NMtqJyIXRBmsWYGm1Z4j1yDMGLIL2OK9nQJAOj+x/H7NVC2SRZXNMdgQ3ITxcOC2 +/m/MfiMnDqTnrdjYF10Qcp7f0zLzlMjd8Df4Bl2H/D9cpJ0m/bpS+uMwQQJAU5/1 +CqP9onMX57u35NQfwflXwfsvZ+JJkYS9pfI4A/WpzaAqYjYYlAFfDtO4gdiW9XUM +zM2eZsHofOF1ctvCFQJBAJEsgFG/I3t3f0NnzOFwifDDzu2BYt28pFcBu2lpv14V +IeW/ryOL2uNFkpvLLf1ZQFCAfeSPzHzT2k8YdZQkZug= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/jp/wide/wide.cert b/server/component/planetlab/jp/wide/wide.cert new file mode 100644 index 00000000..e1827b79 --- /dev/null +++ b/server/component/planetlab/jp/wide/wide.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwR3aWRlMB4XDTA4 +MDMyODAzNDUwNloXDTEzMDMyNzAzNDUwNlowDzENMAsGA1UEAxMEd2lkZTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxvuZnIVQj0yJAvn19de1bTD/Z7iBmSBL +bgeeP4RenqFsa9U/3971ckOGTyStZta1XkCkpXMqqXh1nJHnTdgF0ILm/h5GLzUB +hC+tzHFjETJ2H5YBDopuCf+AhlDkDBbpu6LEd10cJKwLSjHSxBa3bbQgtUT8sB7O +Z+Kope+jONkCAwEAATANBgkqhkiG9w0BAQQFAAOBgQAa7GcURkSdqMaBH0VHRzdD +QoHaSdUm+QTD7kVpP8NsUqP1ymvqV6JTWgRCLv5D7FRK6Q/EwvpdC8lxQCApKcno +ZyTYG0dusHCDQmAkfS+hjKsYmsZic7nYi5dtil72wNFXxuAkiVN+KBFKj5d7if1U +riGocsQF9GFe6d/J4l39Gw== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/jp/wide/wide.pkey b/server/component/planetlab/jp/wide/wide.pkey new file mode 100644 index 00000000..17c38dac --- /dev/null +++ b/server/component/planetlab/jp/wide/wide.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDG+5mchVCPTIkC+fX117VtMP9nuIGZIEtuB54/hF6eoWxr1T/f +3vVyQ4ZPJK1m1rVeQKSlcyqpeHWckedN2AXQgub+HkYvNQGEL63McWMRMnYflgEO +im4J/4CGUOQMFum7osR3XRwkrAtKMdLEFrdttCC1RPywHs5n4qil76M42QIDAQAB +AoGAS3CygZwtudarj3xTWzzIJTjRbHKQeAy9bF7pCW3XLc9Huu5jxC3U4thlAHaI +Y5f9tVlO0weB4jSwaocKqgG/2e3MSdWC6IU7wPQ75rlAWgtggyvowhpZqZht9UOE +c+9vJcukH+5//LbuClNdRlpunihu+XVe88R/2naLz7vy7IECQQDlzRqUpsg9blra +W3g5LimFwczYrZ2D3mHO0aPYsqIGAQq50KMR4ArpspV2l7bjUppWMHFGH10htjCS +I6XnDS2xAkEA3asKw2zquzzCE4HWONBS0aKWA5/ZTT4WmMTqbco0NpDVpH1OrWx4 +pA7cgd4Mfix43+umpM0i+2inBCE+Oam/qQJAbrc1wj7kpKxBe4isUKhL+xSXNCHZ +jQoch397eFEAPPJNj57Uoi0WNOgEmMGZrMZEc5gdSxKbVT2pAw/Hw50W0QJBAJPR +dpkBbbq0dps5jthOG5xONoluNCNtTvZLAiV6nLzycnWBVlERr5V/j45Ou7f8AhMY +ewUVAsnybMW1QWCEkRkCQG9e8cka04QBwPP7J+8uQD1gVks+ykFUiiZfXR92Y7SZ +Oo49U4idOeSDBV+o89urWKY6S8GwJpxs14zUo9bMcTw= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/ntu/ntu.cert b/server/component/planetlab/ntu/ntu.cert new file mode 100644 index 00000000..060caeaa --- /dev/null +++ b/server/component/planetlab/ntu/ntu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwNudHUwHhcNMDgw +MzI4MDM0NTE0WhcNMTMwMzI3MDM0NTE0WjAOMQwwCgYDVQQDEwNudHUwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAKcx8RV8xui9KljAngEkZMsJTGrskOztJJ9A +xDOPfkBU2/VGqp02Ax391+F1H9azPsbna4m2rW9wG0uo+4YWBCXNukNJUegTNgW1 +BWmHUrxtGIhdt47H2jAgiQJSSqs5ChjB4VfbaSNhlRYRCBKntvsYBdqsxtyUfwUs +XsGNpCetAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAH7Eh035PJX3U4eh2J7j8g82K +JalWYgSOZOsTc///FTZb3lfPuDjxNJT0DNumvDH11KIIckbeZeC7skwVE9RWE4OC +PWNjne5M1BNTCtq8AqDqsn2eNZZV27vDjf1wGoiNhzqWZFkrB4IY/+t1k50wOI7P +ZVHMN/tN9NSQeZbwbXI= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/ntu/ntu.pkey b/server/component/planetlab/ntu/ntu.pkey new file mode 100644 index 00000000..b4000c4b --- /dev/null +++ b/server/component/planetlab/ntu/ntu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCnMfEVfMbovSpYwJ4BJGTLCUxq7JDs7SSfQMQzj35AVNv1Rqqd +NgMd/dfhdR/Wsz7G52uJtq1vcBtLqPuGFgQlzbpDSVHoEzYFtQVph1K8bRiIXbeO +x9owIIkCUkqrOQoYweFX22kjYZUWEQgSp7b7GAXarMbclH8FLF7BjaQnrQIDAQAB +AoGAZQP7kOvukbeY2j6mODJw42sezItZlIxC0CUlZbGQqfWbX7nuY0W65Gf2ArXt +Ip7xkuNHSdEhQG8PTssuDHlIz0RZkwkfpSTtvBZI/c1VMybA4g9+gNvUinKOCngS +OIZsHp5aPcde7+pss0XOtkQGiO8B8JWwG+z6zlWSi5AXxtECQQDPqQ49KSVWLe0D +5LsGr0sH5xNS25FcYu0sN7M6/EoXH6g3DWZN1WUlZ2DG0O+KslHZqlKUD4H1+DXh +vb7a98gDAkEAzh14Kmzj6iQLvD2yhZWapOo67gvbUdQQCh2N167jujVNEhOPrxAP +/9cjx1Grl0+F6D89+xMmmvdI1jI2vU56jwJBALDckjUC+zq36Lq9L5EU8PltFCco +vFgMJWXYlrzxLQUewD0LG4vE6N1/e4w5XRsqns2c47IYtx5P5Uw7N/b0vBMCQQCs +dDfAt48Srsoq3CxsXLohVeGsnrsIgjhRXlz5o1jiygoMH9XOkc/xLd6/vHOnjF/r +7E49rs5URqbooObwCaO9AkBdJOqMfmkmhvCsKQdbsLSzjiRkE1WboMQJYcN50ntv +FS2Zem6yhX07aEUoPpaqPhIp3Biz+kCumGyWNQ3ERnXa +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/planetlab.cert b/server/component/planetlab/planetlab.cert new file mode 100644 index 00000000..c1b42112 --- /dev/null +++ b/server/component/planetlab/planetlab.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDUwNVoXDTEzMDMyNzAzNDUwNVowFDESMBAGA1UEAxMJcGxh +bmV0bGFiMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1li/h52QbJtucIQUE +YZMZkA8tWcS9f0VkAPNS5/OeRhaQ/iLERQI2EV/rmPCuARQhlZLhm5Y5vxvHG/ba +6Rb9vYKEMDujZwdc3QjhAbYS72V28rbdIeHysJ7JeGz9J1ODLSzbcCt5amLZcMPm +u/G64ieWI8QMUxYgCE1ut3bI1QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAJH5KqIU +2lrA9calI3oklbWpduiZspbwCUkhr8PNVDnkXSI1K+egDqFTaANVp1DxXU8qaDS6 +X5+s9Qf9FQ5+9mfSaocma6YW4Qfb3Zm/mYmpt+nknTlnVuEaTENyBIPfr0pDqzld +GGcYPul25KknFmdPOrqAUzma9n568u2KYlfz +-----END CERTIFICATE----- diff --git a/server/component/planetlab/planetlab.pkey b/server/component/planetlab/planetlab.pkey new file mode 100644 index 00000000..15bf789f --- /dev/null +++ b/server/component/planetlab/planetlab.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC1li/h52QbJtucIQUEYZMZkA8tWcS9f0VkAPNS5/OeRhaQ/iLE +RQI2EV/rmPCuARQhlZLhm5Y5vxvHG/ba6Rb9vYKEMDujZwdc3QjhAbYS72V28rbd +IeHysJ7JeGz9J1ODLSzbcCt5amLZcMPmu/G64ieWI8QMUxYgCE1ut3bI1QIDAQAB +AoGBAIIlztPfAMTlKOnSUMI/HStpMTeT64rWOWnftIZrcRSzr2DkhQ6fV2JhOZqm +13ofk8ouZkQFO7rP2pzu0hM8lRi65WTelTbGPY+QAM0GFiCpNrQ4pIkyvFVLoMyy +Uz+JIqv3LwNPws4OIQvbccTm9WkoPy5o99mlHFVBZvgFvQ3RAkEA4ZeWM4fOuUZB +zdVeWXx2JqIrYCdbwvK5gSP3WtzilbUGLJmGZQzmohym/4wCYmecjH0F8LyFTxkh +/Sh+7V7I5wJBAM4QH0F4htrbbjf8yUYsGmaUALE6ttnKy4fTHCHK3fZNYq3kkWo4 +5exbxLgU/OomS24lZJ6wOZ6bP8MBkab3vOMCQBjO2baq/aHERyJCj5CZrkiLVufJ +DD9BAANimCYG2mgKMzaeX3gnVgmHyxmZJP37VOziJtAVezd6lRFI7cRewwsCQH4Z +XZcqE5RQnbVDS0RW7t0BCx9pp8XFlSGMLfX7+DKmjpGNgvM22HT4f3yK027Semxw +E5AMlWYa6T0Dc8dyaTMCQEqso8hRQIutEwddInaxrFcgj5fo/CAjqsaXhnPTCF5P +YFI/k+5B6GRNwTWkdm5qM0T8exlNqcQIu3/VG0qV6Bw= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/qub/qub.cert b/server/component/planetlab/qub/qub.cert new file mode 100644 index 00000000..9536b78e --- /dev/null +++ b/server/component/planetlab/qub/qub.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwNxdWIwHhcNMDgw +MzI4MDM0NTEzWhcNMTMwMzI3MDM0NTEzWjAOMQwwCgYDVQQDEwNxdWIwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBALs8ps88FatjYjIvAeUAbqQzZWdg+CckO9fT +JdVF6I7fCHhaUU9KDFo3h+MCyu5IEvC+TtE4hhlGic+lIJbgOgLr9UKySLgHVd1M +rc4Uvsm2eBnSCwGwR3VRmlcElbC4FCOndZ5KdJDvLVzZelkOAf3ihyXlOIQZUGoB +F3b/UVzfAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAIYUDISPk5sTxAanVT+wiWJKw +zKGHridFcHO/ncprwWdbjuAnrdmseEti+dw3IcSZJUIZzSOCU/hTlKYVLKLPOl/s +BUY2PrnajFlAWcV1TIjgPnVpaNbMOsViAj4CahJgYmE7Vn8jn/hSkficucNMNy9F +KnY5tLI6jSeDbvqaBBw= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/qub/qub.pkey b/server/component/planetlab/qub/qub.pkey new file mode 100644 index 00000000..0af7fc20 --- /dev/null +++ b/server/component/planetlab/qub/qub.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC7PKbPPBWrY2IyLwHlAG6kM2VnYPgnJDvX0yXVReiO3wh4WlFP +SgxaN4fjAsruSBLwvk7ROIYZRonPpSCW4DoC6/VCski4B1XdTK3OFL7JtngZ0gsB +sEd1UZpXBJWwuBQjp3WeSnSQ7y1c2XpZDgH94ocl5TiEGVBqARd2/1Fc3wIDAQAB +AoGAN8SY6qC605GGbewSZGL8kWu9iE0ZnI7uRBpf6mYoHmXP4AkGrtcfVr+zeaob +R12wRoRodWigiGa6JV7JliazICh5wWv3UNDIlqacVzgqPm7hxLDL/f3nYA94Jp4b +8mo7SgeiiO7RRGxTsaPhbunjUgdnfHOs6g/p/A66k/kG2AECQQDz3FMw1DLTbHuV +qjSP8lUvn5LyAtsZrxY6Pkr+8o0/JY65qmgwpRUIf/52WEzFVo/r3Eh7u1YqP3Be +EI3ObMavAkEAxI67z5wC/4oExJ06Z2cEkH7hR+RI3yDKpbsF2swMuqQIuFSlgYuq +GLi5/HucgKqkzMkH3Mam101APL/zbPlY0QJAJ/HMErB/jtAzQiW6LGYGfCGIYWoE +V6WtX2b6w94ZMuHFCjaWkHlKA7VrihkWojB2rKzNlq7uA0eW8WGGyOxacwJAP58n +wXpxKf+lrXJq/h9FRfQbvWZyA+8cSOqxaXHUyPDhdbDIZZcsdpYMdWIZdThG4ZZM +ejS+uj/iBAfppiNLkQJBAOY+pydoKtGgKoXg2oyWPPX3jAdjsT9tzCkL9nxNBCxx +EH45AXqHga/t+GBtp2myEDyRIzcyxeyjI0oA77zUd5Y= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/snummlab/snummlab.cert b/server/component/planetlab/snummlab/snummlab.cert new file mode 100644 index 00000000..66f846c2 --- /dev/null +++ b/server/component/planetlab/snummlab/snummlab.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhzbnVtbWxhYjAe +Fw0wODAzMjgwMzQ1MTNaFw0xMzAzMjcwMzQ1MTNaMBMxETAPBgNVBAMTCHNudW1t +bGFiMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCkXEAuln8V2lp/00RME9wI +aK6ZdcPVfbY/fnysijgqbO2ets2PSScOhsng0m5UcwguCjBd96B1v3HtA83kKJ3g +2U/CfQAAPxoIYHiAAuhZAZmMdggGlq+UW5ulmlvlR5AfmetFq9ef4zcr1O90WmGl +7Upnqbs3bk0MieLetMYWswIDAQABMA0GCSqGSIb3DQEBBAUAA4GBADACDzVAAKKY +MOKL8NHSELT0cts6a2uzfrkUfzF1qFTJbXfx+q8BJ/AFzcQs+zOSJRPNdizZSEFQ +l0xPY989gFuOEiwp0rcR2MlhtBMvPCNuypLCZKBHRiriQzD05QKctwC6ta3XWFPX +iV7jdYbeNCaM6TOXofcbKvOurshg82dO +-----END CERTIFICATE----- diff --git a/server/component/planetlab/snummlab/snummlab.pkey b/server/component/planetlab/snummlab/snummlab.pkey new file mode 100644 index 00000000..ad1b48be --- /dev/null +++ b/server/component/planetlab/snummlab/snummlab.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCkXEAuln8V2lp/00RME9wIaK6ZdcPVfbY/fnysijgqbO2ets2P +SScOhsng0m5UcwguCjBd96B1v3HtA83kKJ3g2U/CfQAAPxoIYHiAAuhZAZmMdggG +lq+UW5ulmlvlR5AfmetFq9ef4zcr1O90WmGl7Upnqbs3bk0MieLetMYWswIDAQAB +AoGAfPnsj8A96Db9g574msSrFfXLdcMXYvnRH5ylXmlHZfMoB/xGeAKO4Tvau8om +vK4vdRqoRntplr84+Jlg8HF2AfAojd12kb4D73hzFRZBncde/AsYLb3hAaN7UTxJ +35NHXYHpSQOp9Mc3fVMa5VT0iA4WWPC7GSJ/XupW+6IecmECQQDNcSqQ6eVH6Jji +TyH2CROz/Ec5oFm5JnJKGlnvAyc3Uom3lmDAyHd5PY/bgJB47VmuWx3JpVQsrqe+ +rwb52uaxAkEAzM7wvlu3yNzcKDrBAB+NQmlSRg56yG2qy+WUWhOFGhLJ9pQGbuuA +87YNiIcO6QhEu20x7j5JekIouKhrnO10owJAHl3G0+quqEVaK8FUnMBUuDrm8D6i +ZHqpVAi3GFwX9NZvYsKIhJZdCn+t/tzu/eDfa6UuLvsQCRa71rSaTF4t0QJBAKyB +7dNY669bIHEeM+xHpzL2BV+O2KqzfLYrVM6ePHFevBBeVCDfaolcoX+KyutLlKEN +842Jl1hMG4KWEbZnZ+MCQHF7YSkAjgTDN6rCljSTN3Gt0Li12K08asZtd9Vk24K1 +Z1RB0Zqyt0wiacOMoYEhAbgJx1aG68qyq79O89/TP4c= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/sydney/sydney.cert b/server/component/planetlab/sydney/sydney.cert new file mode 100644 index 00000000..215be400 --- /dev/null +++ b/server/component/planetlab/sydney/sydney.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZzeWRuZXkwHhcN +MDgwMzI4MDM0NTEzWhcNMTMwMzI3MDM0NTEzWjARMQ8wDQYDVQQDEwZzeWRuZXkw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOdGb0v3G9K1Ygz+z/xM9VWYWkD6 +qRA4q+ITmRXI2TnWVDzTVUAhtYagZfNY21gVXXxmPw4Aq2yUNqwG/VL6Y2kg+kU6 +gXvviVU927um/eKTk1npbeRQOqgw0rJXBaD4eAk9w8zPEqQ5JX/gIu+he+l1MS2Y +lInr3ZqQf6fM5d8XAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAAj/RzoL3bN5SW8Vo +i8vsyx8H1ou053wpyjQut6SyiSEkUHLyirAEvTPiBzAcqB3l4PpgieHOjBPQkyeX +sODexQelFr6DYvS0wLVV6W1nIYvtItxwF+XuIWbIcOw76aDqelGKeowVVoORGuA8 +khdy/7++27MuvrETC2oeslR3zAw= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/sydney/sydney.pkey b/server/component/planetlab/sydney/sydney.pkey new file mode 100644 index 00000000..809d2abe --- /dev/null +++ b/server/component/planetlab/sydney/sydney.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDnRm9L9xvStWIM/s/8TPVVmFpA+qkQOKviE5kVyNk51lQ801VA +IbWGoGXzWNtYFV18Zj8OAKtslDasBv1S+mNpIPpFOoF774lVPdu7pv3ik5NZ6W3k +UDqoMNKyVwWg+HgJPcPMzxKkOSV/4CLvoXvpdTEtmJSJ692akH+nzOXfFwIDAQAB +AoGASoJ8tOKlyhq5vioR49z/ZVYyLaET+q/nYGyj80rEAUg112rWmlTB4N+oOOA1 +uokXl05xnhdFIzQU8RNHZgZZJBavkEcZV4PBdkw6XLqBk0ZC+vUPQUP1Rtqim+WX +NK0V7E9WIhB8+AMlwraLNGrD3wlgXNJJcctJ1KMQNoJwqSECQQD5pkOVSSX6OWIo +rSAugKCMWAGV1NAgtDyIwKlkDloKVmCJWAt0ANvLt8XEpZYDuWfDihM1ohBTQWQD +7ZNspiVZAkEA7SiEBqJYqS6OviritGGj/1kC64RwUX3mMHq2eYlHaWIrZK8N7XM1 +6WTURMmHnhiFdjNiCQ0+yFyVczhD68Pp7wJBAJOl6cKZCIT8+zjja20VVd6rDgT3 +YEB3WHXovEYY1tfWTjHsiJmLCHNrtOOgqyB4vw2+062cs9sJiYVpNQ/FE8ECQQC1 +nIA2QF6a+E9Ra6/+KIOZCIYG633DuiDr4R0ZxznLhuTqDnAg9UhEufUf1CCpved+ +U+zwN5drghLkkCLbSkU7AkEAwACEJB6qu+34pUIlowL+lS6cZXO+QOW6hqj+LeZ0 +02SgLt814wsiUbhiFesijxhL8PtVV1+eogcLwJltB5ZIxw== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/tau/tau.cert b/server/component/planetlab/tau/tau.cert new file mode 100644 index 00000000..aff99b65 --- /dev/null +++ b/server/component/planetlab/tau/tau.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN0YXUwHhcNMDgw +MzI4MDM0NTE0WhcNMTMwMzI3MDM0NTE0WjAOMQwwCgYDVQQDEwN0YXUwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAMahrQ5tP0SeLS0yzt0BpZI+OutFfD14jbzD +cEnKRiGxWZu8w+ECtztbNuYGGosW/XRRAdQIzSTFO/6WvPvcoJLwiSjLzp5sARol +DwPI4qCb3Syu3EuhFB2qIVNJNK873qHVFNVGlYb8VVeN7icoHhhgvksZOkdgLPhL +iblS3Ht/AgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAlagtdmTzabPHhV3eBxfKTmBm +6Z8EHlldK6gxmFl0rZaX4xrO25C+dyTSr0VLWRHmUsseX4jiCQ3foeecjlOX5261 +8a1P15qVUd5ZJGG9dPaRJcsaDTDl1bEZBJmTOX4Zst2WsK9Ro5oNs7gjS4u+edNk +2/0BE43Vp1DwOBZIMHs= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/tau/tau.pkey b/server/component/planetlab/tau/tau.pkey new file mode 100644 index 00000000..751a4046 --- /dev/null +++ b/server/component/planetlab/tau/tau.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDGoa0ObT9Eni0tMs7dAaWSPjrrRXw9eI28w3BJykYhsVmbvMPh +Arc7WzbmBhqLFv10UQHUCM0kxTv+lrz73KCS8Ikoy86ebAEaJQ8DyOKgm90srtxL +oRQdqiFTSTSvO96h1RTVRpWG/FVXje4nKB4YYL5LGTpHYCz4S4m5Utx7fwIDAQAB +AoGAFphHlk+JFeYkX3LbIzrPuc4IZ8D0vA1dmi5lNI+k4KpK9jNH2O21KDRdD1d8 +Z3wLAtNAMP17UIZ7J5/ACap0PW92zANqv2l10b9axqTif9cGC0BGqWfiVU0iFJ/a +J4c9O0z1uXdRh67NfvakXomsMRVcGvDEydY2Y9jJb7AuH4ECQQDp84/RiuayQkXe +8oFbI0G+JKynwZx1BMHb+LZTShYQeG1/7aUKUUkcOZR7JKOaYgkv5rQHYfpoZWMJ +TFWslys/AkEA2Vn30Mpv2JvLwHHO+5k6nr8Mq7rsNXGQFpE4G7KCUgFDMeuGvBy3 +kA6nA20Q7WnTLlQyh0Kyk/tLzP7XSIffwQJAb8MXFXdRth7K2jLncO5q3bcPdCSd +5ZkcM0WhdDCUUdH2HYMdsMwcLQukzx81uO7UjLmdj1lTEsQ8h5ib5RNiaQJBAIk6 +lo6K4ecfJpvQv2B3NF26PiPHFw//LXwyH/zMzh88kNJZ5G2sq/EWbzhoikF7iUw8 ++NIRuHJaPVempwIyV4ECQEUak56swuG7e4f3+YkYPodLAf+KI1oetSBXqrkZFabk +R+4GmLSZ7yf1qD5TFMjpRUZVy7UKSqu//8cRLDk7mIo= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/ula/ula.cert b/server/component/planetlab/ula/ula.cert new file mode 100644 index 00000000..d9ba97ff --- /dev/null +++ b/server/component/planetlab/ula/ula.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN1bGEwHhcNMDgw +MzI4MDM0NTE1WhcNMTMwMzI3MDM0NTE1WjAOMQwwCgYDVQQDEwN1bGEwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBALIZwsxDl9ZU8rEYUtPa7jtvqADiwis5RyjQ +rjuuUKuWeb7dd2J13J005rg5mle8qt74H5GpweCG0cNMakedKaxH5ryxlsNEdiT6 +homPKHYp1gGLulTyzu+kNT6dNQtyR+nqwcMCJpae+eesxaTBFdz9RIwaqCdqxzs6 +sG93YUFnAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEANMCaPh3Fz1R/884kpo5wrymX +fkKMSg3IuMnMQpCHB+7nEWnIZ0Hv5merPTrjjRL2l755sr3Yiyj0vozKJhgWUVcA +8lr/SrNWzUoJQ8KW3xpReMGwmhpiouDV0tGeKpi2/jHHfLOTaLhSDH7hvVDxGiFM +m56R67xYhmfJE3AEUlY= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/ula/ula.pkey b/server/component/planetlab/ula/ula.pkey new file mode 100644 index 00000000..46f7c087 --- /dev/null +++ b/server/component/planetlab/ula/ula.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQCyGcLMQ5fWVPKxGFLT2u47b6gA4sIrOUco0K47rlCrlnm+3Xdi +ddydNOa4OZpXvKre+B+RqcHghtHDTGpHnSmsR+a8sZbDRHYk+oaJjyh2KdYBi7pU +8s7vpDU+nTULckfp6sHDAiaWnvnnrMWkwRXc/USMGqgnasc7OrBvd2FBZwIDAQAB +AoGAH98cTRGLin+JLsf7io4TM++3UPFDbhjB8zvk8ikvpoU3JEDdrHELGdbtsuoc +BLdunJgqjhai61s1Do4ONuKZIj7trvnli55bIpt0jktkatNPLRYTZ0fPe9hvQy8D +N6MFLXpRJSD+95z9DLAEwFJoThx8yE7p4QGOvjSu3M4pEIECQQDia/BQin+s2iHu +yukNcH0/TJgbVBGJrZ3+ge14Pa/lYrCzn1xNfI4iEsV60cAXzBsSP+Bg6Nuk/eHG +0ki3DHgbAkEAyV3bOzrxbvL0O8XkQyTNcMeR1l6jNaSOl9ZWa7llMXYmt1bM/Tf9 +ZnL4sstfcN7gMrnToky+bRUkSrhmYTUIpQJAM+xW1tF8B/KZ933Wxfs27a4t745u +2yjSY4v+HiXfUXY5WWfBLg/TNGMjoE+7gnmO97doSDD+Na72+LY+cKPOYwJAP7G6 +eN/KIqgi7Q1JiJuJiFT4InDI+1zT5d9ccrKv+Zc/49pG+QnO06smU5fU1qUJEcKJ +2NqhmWuIkUIG0FSwKQJAHrkFWXphVIJlCv/ehjLijLTV3p41htaUaxQh3mWgJl3s +GLqYtrVCQZEVXdB2hc4TUHj5aZ7/+ov1ay9A8DNQtQ== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/unioslo/unioslo.cert b/server/component/planetlab/unioslo/unioslo.cert new file mode 100644 index 00000000..f1d9cdb7 --- /dev/null +++ b/server/component/planetlab/unioslo/unioslo.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwd1bmlvc2xvMB4X +DTA4MDMyODAzNDUxNloXDTEzMDMyNzAzNDUxNlowEjEQMA4GA1UEAxMHdW5pb3Ns +bzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvQCvKu5zq8gSdnniQR0A+Xmm +CbNYJxcK2c7rtTHAKJgGYBZrvJRuEfwhW+6C1zmOuQfKL3KEyIQoXK05fRiWBM+U +P0pwrJvXgOHiVTzBhDHIYyNMPph/mF5pK7+P5ne8xdGpccjs2D5i1bg0CJ8nMKsK +1EftlXNAusLhhUuTWHMCAwEAATANBgkqhkiG9w0BAQQFAAOBgQBQXm1IhRFBlRi0 +9paxfWSkfLkLv/ndYeFmsqR1IBx8L2hopHKLYDR1cMSvxapsRPzWZrxLD8QWTDKY +91yC5WOgSUhjEp+gGDI07pGqCtLvgfcGbESDzLrPdnJb+sS0wjSoG/EkigtVkUT1 +AOcilaV3/GTV4+DU7ws+SlGQYCcT4A== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/unioslo/unioslo.pkey b/server/component/planetlab/unioslo/unioslo.pkey new file mode 100644 index 00000000..8dd2efd9 --- /dev/null +++ b/server/component/planetlab/unioslo/unioslo.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC9AK8q7nOryBJ2eeJBHQD5eaYJs1gnFwrZzuu1McAomAZgFmu8 +lG4R/CFb7oLXOY65B8ovcoTIhChcrTl9GJYEz5Q/SnCsm9eA4eJVPMGEMchjI0w+ +mH+YXmkrv4/md7zF0alxyOzYPmLVuDQInycwqwrUR+2Vc0C6wuGFS5NYcwIDAQAB +AoGAfm7zvzNum66mcy0L5uUBHuJ66ShZQyUN9DCQy1BxrHYuZZ76CVf93fgdVMNU +MafmSu7kGSNxojWOTpjuyTlmOL/O8PQ60tb0/vGReyeVUywa9tTD08dwuUtnnqPa +cm5yCJbYsiA0b/g4qCO/sN4pOdw2vWJXBhDUcFkqtKQ04zECQQDzvj9HAIcm+u/s +QoXazXbxmwB7G/AWcp434sbKeQqlKtYWdxw/OTLwHyxd0as8UZtCoYexMczh4Kb4 +z6gTiY6LAkEAxoHAlI6me4lu1lW8DGM0NTdV/MFT8ttbQcuAhBrAd1QcI8JNQ6OE +QGRw7/ha10xawWp/oqYs/iKEvylkSDLCuQJBAIadhM8O8JXLs2Q1nT2pik6Hf61+ +UYvkQ5Oz8Hx0ezebP9/qarRUP9i0Lsml+b93hps3IPzw9yms7CqwbTBVIV8CQBJp +sLJW9QxaeCR7eWDwxsP06Q3z5NSPEkztEnOug5HOBHowqLgQb9EFQBCSSeLUm0p7 +lXFB1sSP8R5GOZ4Uz0kCQBPn2MbYB0L4ctPeEHsAkaSOtXIoo9DG/R0FfPbXHiIl +WLsxNoYIxmXA5OZLjN7z/JSiuNNLlOCCqv1pc72tWIE= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/att/att.cert b/server/component/planetlab/us/att/att.cert new file mode 100644 index 00000000..f5ea777d --- /dev/null +++ b/server/component/planetlab/us/att/att.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwNhdHQwHhcNMDgw +MzI4MDM0NTA4WhcNMTMwMzI3MDM0NTA4WjAOMQwwCgYDVQQDEwNhdHQwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBANALwPfWO4pnLtZBhuo35pS3WOGngD+ywwSJ +OH+jzENDyTyaLPWKrxwsVBQmjq4pvjQYPRbk/nFvvRGy3Yv4pA7GcdxsuOBlTEN2 +uPijQlsL/JDqJwLfuSxBZMMToM21jmsLhYG4M1Bf4Vfo32rrJmr7NMk41aT7wUuF +oB4EEReBAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAfKimUT5OC9F/uZqTeaS5GjNa +fMqIYX5PvCQqyqWYNegV7VNQxKMqJ9TffxSgyv15i3kx4vmiOzmil72XKgts5QHK +AikZtM9VzuDBbCmwM0ETuctYFMT6p9dNvTwcas80vjgzZY0TtzjLEkELm5mNagP3 +uyvb/jgus1KQjDbzLJk= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/att/att.pkey b/server/component/planetlab/us/att/att.pkey new file mode 100644 index 00000000..c9360c03 --- /dev/null +++ b/server/component/planetlab/us/att/att.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDQC8D31juKZy7WQYbqN+aUt1jhp4A/ssMEiTh/o8xDQ8k8miz1 +iq8cLFQUJo6uKb40GD0W5P5xb70Rst2L+KQOxnHcbLjgZUxDdrj4o0JbC/yQ6icC +37ksQWTDE6DNtY5rC4WBuDNQX+FX6N9q6yZq+zTJONWk+8FLhaAeBBEXgQIDAQAB +AoGBAJ9lof9A4HV2AOifY+Ln2X5vy2V4lEY5jDlZeTQyJzoSIYiRB4lJLEkFnZWi +xQajbNs1BvkXkesPlWiOBjhL1EUrRiM3rt6XEpame7X/BK4arBr8LO1l+Lsp5dB4 +X/awQ3nuKt570VLtKZwceAJJIqlDu6yyEYKgzD+gdC+8oqyRAkEA9ygTgm7YhwIK +SlnfZc9FIK01i+Mh2ZAaqzIXXw901qleQQ3axsz48zcfkGfyz2DBqv4y4XeYs4c3 +sR5ICaEW/wJBANd9bc7ZZ/PmrHkPPC4+I2cRKygPQXNGfaN9UcI6re5SU+UOdX7P +O1mtAezPASrmN7WLPRcd00ADlXKjupsgUX8CQQCcjV4OOHgezEQIZHUE4A1BbXWF +bhF65bR+y/PR2tB/SDjTrBrv4dWu+TOdHLrIcNk7nlhMSJ0I2pWEM1IeB1OxAkBO +QYa3L8zIjmTkMdwxDu/cZie+DIxASMEntkMSviyb99nvvSh+PNPY5TNlxGcwJRrm +GwK8emBVRvfnAf6qhzoRAkBPmOp19ehelSAqzBN8thmRCVByhuLHUNQwZgX+HqnG +rPgfMILU2UL92mbk5kyC2p8uVqaLZjAGeCovrKAvceTa +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/aub/aub.cert b/server/component/planetlab/us/aub/aub.cert new file mode 100644 index 00000000..364955d7 --- /dev/null +++ b/server/component/planetlab/us/aub/aub.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwNhdWIwHhcNMDgw +MzI4MDM0NTEwWhcNMTMwMzI3MDM0NTEwWjAOMQwwCgYDVQQDEwNhdWIwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAMPs4WNHC3OxwDGISgDEgCahc3MBKAgpGhCd +OgMF2XHUafUof6pqHcQcHQoKy1Yte2cp3bLh1DyzV9Y1fOZ5kqMNzQrs+RlAS5pe +RIUVAPSGUTK/K5z9HyVP+rhGZlnjPJUZNbzY6eHq+65AfhNYf+75c27w1CBapN5Q +bERR/ZsvAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAe0bET48RK/NN7RUsA3GVcf0T +ikZDivZtj6m+yy4umB4h50jX1c4ORsuZ/Imm+6WfEdjd549N4JI7MqUzSqPlPnn2 +wL5Axw+X2PF9JmrNmdLOWRsdhBbvz0kjGI+MKwTsRhcRWByjqI/CqSnqeX8s1IoL +wTlPdGIcpsQw2Dl9MdY= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/aub/aub.pkey b/server/component/planetlab/us/aub/aub.pkey new file mode 100644 index 00000000..61b1a25d --- /dev/null +++ b/server/component/planetlab/us/aub/aub.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDD7OFjRwtzscAxiEoAxIAmoXNzASgIKRoQnToDBdlx1Gn1KH+q +ah3EHB0KCstWLXtnKd2y4dQ8s1fWNXzmeZKjDc0K7PkZQEuaXkSFFQD0hlEyvyuc +/R8lT/q4RmZZ4zyVGTW82Onh6vuuQH4TWH/u+XNu8NQgWqTeUGxEUf2bLwIDAQAB +AoGBAJk19za8Ss9JM+NIEZ6yCwiqfm5zfAuNoK1XVhMhEt553fXxmov3+Zju5yKA +OGwGmxacXZrSEDb7g/el0isk7K4n2K6ea/njnhFdw/3daYAEMA8Cd3xrvjTSmuZT +p5pH5QYqtJtfS2uls5t0xfahzq4amxhS9sRhshweAsVi7bq5AkEA80AXEEFo2m6U ++q9x0/nV+MozP/VNZGXwH+JvK5ebVMNLAjaGk6YOzyl7qE+8N+OGkpNTWwjyrBbA +nq5necMZiwJBAM4xyZojZkA6xsJ/7BwFepD70LQ+cZaAoQurzgJ/B+3H8uZN/cAJ +2bTto/0xNy8haTWr6Ha5EvSCv3BcGq/ckW0CQQCgW6vYp4Y8GZJVALwFhjos3P+U +Nl5ixWDbZCbtkfBwnJ4iQ1fMljhFEY/XkVj/bxsUHdNhvDBeilFJSqgkeR2pAkA7 +JJC9A5ZaqgFE3MhuqSuk1nXgnWCbWL3YySjIEoPFsmp7oLc+FBU8DkXRZAJ+JEk3 +Od3t39wOAkrDAcgt1UhpAkEAnQiIS/K25MrP5dF6i3FBNUrnIgLOn/f73zxaEgyJ +RblaJKR4Nbc+8bziLshovUR993meCeZr0kyinwIjlmghTg== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/brown/brown.cert b/server/component/planetlab/us/brown/brown.cert new file mode 100644 index 00000000..0cc2c63f --- /dev/null +++ b/server/component/planetlab/us/brown/brown.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVicm93bjAeFw0w +ODAzMjgwMzQ1MDlaFw0xMzAzMjcwMzQ1MDlaMBAxDjAMBgNVBAMTBWJyb3duMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDDGLYEu9DsSrCvcEwMi1EjZcUoJpAM +XyDZWEk2xt8kiNbJeJMhUsbRbJc6lxRFZwc6T6JN3YgbiKrH0AhLz3hA5hMJJete +oOyHu1vRospzJzzGjzAmoSANUQ9tdJFt2Bxodt2iMNl5lxGB9EKFspKozoTCNJDM +81pWAlxsMP7F3QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBACwN7R4/oRQn7LNL5RTn +IB0/8xWh7PB4DNxUN8iv0Nzcp8SPdMfbNO31HRLNbWiqGTQ4HjpU9sXP6pW5ds9p +9eLDsPeGKVyvBDG4KlVZlMjdh2kjU9dJptWS+GoWvUSUTQOx+Q6PGDm1xlqJWb0f +5Q8I/S5VoAIM7fpOK6w3glCA +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/brown/brown.pkey b/server/component/planetlab/us/brown/brown.pkey new file mode 100644 index 00000000..b56e0b68 --- /dev/null +++ b/server/component/planetlab/us/brown/brown.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDDGLYEu9DsSrCvcEwMi1EjZcUoJpAMXyDZWEk2xt8kiNbJeJMh +UsbRbJc6lxRFZwc6T6JN3YgbiKrH0AhLz3hA5hMJJeteoOyHu1vRospzJzzGjzAm +oSANUQ9tdJFt2Bxodt2iMNl5lxGB9EKFspKozoTCNJDM81pWAlxsMP7F3QIDAQAB +AoGAQixeiKp/ybXnygnn8ZVLlxsMzXqO/3NAvBfC9Y5s34J+f+Wi2fmusBgKD3hx +Cr1QaUnbfle2s8geTRnVxoj/e0L2T3vOXRBurHBYtIniEWmpcKP31UpYo4KpcNmn +Yp63uVVLCgz0Rk5CiK2R0hBBqNd49Zwhrf4y72G8QaFZB80CQQD98Zh0xsosceQc +Ytf2zPAbMvyUP62kf+FYUUpit7HUcH1eI3J5pvAkHRAGg39Gn0roH0LvmDVuONEW +GqyyXf1XAkEAxK0hS8PXyGEzYY2wYroXSlUmPuGULNiUx50rwIenPMchl6hgwL2n +MKIdSASocj3pcZk6by/qZ9V1KR02qQkh6wJBAOcOIbdvAJk771/cl7/ZbEZzN9nz +rpzUNkdTf6keltFCoO88tXX27N0PDHvAvdeWLGPTveWeyk7Fp4jDMIsCdfUCQB0+ +pTHP6DkqguphmDXF+AqciLhW8KKOfekErOnPAgYekhcr+V8PlFm98V6xGp8KJ7k1 +kKPR2ygfbHF1n5gY/IsCQQCzFr0zWG2PCRi4Vpa7qw298xWU4oK/viFUw9BT6h9E +uhfjxEWUE61bvq1iA2ozl6f0A9xp71rRGSUJa6ON9t1o +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/bu/bu.cert b/server/component/planetlab/us/bu/bu.cert new file mode 100644 index 00000000..76d4f9bb --- /dev/null +++ b/server/component/planetlab/us/bu/bu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBiDCB8gIBADANBgkqhkiG9w0BAQQFADANMQswCQYDVQQDEwJidTAeFw0wODAz +MjgwMzQ1MTBaFw0xMzAzMjcwMzQ1MTBaMA0xCzAJBgNVBAMTAmJ1MIGfMA0GCSqG +SIb3DQEBAQUAA4GNADCBiQKBgQCyCbwwtmRj1J7QlDLiXgXnyUrJe3Cf/tSywQUn +KttHVpOce0ulItvzXXGuQ/GPKR6N0sIu1P9GQwlFPCtJOppQZkXzd0QhxJQvVo9z +CtQJhk6PgY9BW0VxX58l8psaawMjIj20d5wLmlOc/aZVi0bQ6XfVFmGKUjqTOJFu +vHyG3QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABx5P9Sm38Ji6wV1dT7eoQbsBkc7 +uQpTHKrfiteGXbAETj7CvxygagQnpEW1PcTXZSA9OJhyD2oDpYo6ovJ3+wJxk/QN +Dwcw9o1WHqEpMY1OxZfuv5+I9eygcFVz8pHer+AJNIitZmC9cUHNXKGCj7/mv+fK +3VoJBySctBS2lD4+ +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/bu/bu.pkey b/server/component/planetlab/us/bu/bu.pkey new file mode 100644 index 00000000..769a89b5 --- /dev/null +++ b/server/component/planetlab/us/bu/bu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCyCbwwtmRj1J7QlDLiXgXnyUrJe3Cf/tSywQUnKttHVpOce0ul +ItvzXXGuQ/GPKR6N0sIu1P9GQwlFPCtJOppQZkXzd0QhxJQvVo9zCtQJhk6PgY9B +W0VxX58l8psaawMjIj20d5wLmlOc/aZVi0bQ6XfVFmGKUjqTOJFuvHyG3QIDAQAB +AoGBAKwIGB4Bv9Nu+d6VtO1i6NXlfSxe6J7Q//mR5UbJdITkNVH5GUkB/AKWgmhf +IqSwmON1iUjza48a63RJBZKG29/DD2Bv0zgHhLUe2hoQXjaN++EB7hInenrkshSn +HGzl7Nbkbi+EfAfH4S6hXcn5k4HOoa2cZZ4q2ypGXshSHi2BAkEA4iaX88Y0xZfo +qSw1oWqh0akiESq7HcjPJCkij13Rmp5o76J2eMCDy2jbg42hwVEMuuTUayVZw5RP +aNHkDI0H8QJBAMmJdfzVzca77pEwl0CEFRUuXJL+JE5+1NUbcB62omVjOnBrzHo0 +1HKfBSfN3myo1rJEZdianzVoh7yZKraBua0CQQCI6i6iooP+gKqWCTLq58DSSyBZ +3lHshU+LJ/BJddZZUsBbHDO3hW4FLxV+/rdIb4ZSfAlyWOmQc/Djl/cF9jgxAkA8 +WAta/A2ULts83+a565KAeBRB8xSd6D4D3SZSG+8+Glr6JFziToU6GMErbOnncRpv +4Cj6lTmMfVL/NoFiii81AkAkixOrO//KRSn2KDN8PPreLCCeh+17rTK1quKcTobj +6yGN6dFihAWYhdthG33ctl2ZUDgBnqSZ1EU11DRJHW82 +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/ccny/ccny.cert b/server/component/planetlab/us/ccny/ccny.cert new file mode 100644 index 00000000..970d6c11 --- /dev/null +++ b/server/component/planetlab/us/ccny/ccny.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRjY255MB4XDTA4 +MDMyODAzNDUwOVoXDTEzMDMyNzAzNDUwOVowDzENMAsGA1UEAxMEY2NueTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAljF598JLC9OjVeo0ic1MT9IqmOXDZNZk +YBybcGgVx3Fn9Vc3rXprBbdU9xE2oJZnOdYO3yKrPjPW73zVEQ5qiMsx9nVC4Jbz +sl29UW2Tug7Rj91iY8p4H9QpbQoYyboZW/zrWjKYpQuXEg/Pcmd1jAuD17JJ7q69 +sQejujwgp+cCAwEAATANBgkqhkiG9w0BAQQFAAOBgQASF1qGhq+U7966BdpIX6cu +yuSAvuRlBkmYIdjqL9fKyOHSXx+xO3MTxAGf3KBL3Sfk7oesaEJpOgEpR4C0MdOj +8gthTINOoY5/M52GetW0Fw9ZjE9AF2ms7mWtJCD+YcEaaztwWRqc8LmnUsY+jdCG ++mfgTKbGBq/KYZSnCe4mJA== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/ccny/ccny.pkey b/server/component/planetlab/us/ccny/ccny.pkey new file mode 100644 index 00000000..1fba42b2 --- /dev/null +++ b/server/component/planetlab/us/ccny/ccny.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCWMXn3wksL06NV6jSJzUxP0iqY5cNk1mRgHJtwaBXHcWf1Vzet +emsFt1T3ETaglmc51g7fIqs+M9bvfNURDmqIyzH2dULglvOyXb1RbZO6DtGP3WJj +yngf1CltChjJuhlb/OtaMpilC5cSD89yZ3WMC4PXsknurr2xB6O6PCCn5wIDAQAB +AoGAToMwog6EEnugz6GtszeJo9RWhjTdrpHQSNnLe7g9YlPrJzpflaT/2y4aEUmD +R/E3puk6PvStlcednPWhn9fsYibnIc713kz7YWNsdZ86zTFiC+JYTfI8V9JJFr01 +vQB/gWADBKG5W2swHuAdzHOCn2XOQT3zBDh7qAbkODPDb8kCQQDG3dAG+UJAeji0 +1bgY2UmeOsEZx2gV3MpBl8lUr+Vc6g605etP+YZovRdmMQxr76mx01rtdGX1de6u +DzXteEVDAkEAwVfbz1H8WazUtL/tWp0KDs9OH0yFGR33x9dIbCdCdLB+pAbsPuJs +Xk1kKjUwX2CW9QuIJeCdUG9K1LHthwpWjQJBAJPB/20PCrDJnxSNrymXWOGeGhfD +V4zW7dhqpQatYqf0qFS0eHCFn952kMo3K1mPSvB7b5X65D7LDzp4xsLYl+0CQEX4 +q/5d53v0xo4bn6TZjJhLgjRllw2+ALx8NyOdGbntXgey0bD4dMu0Knn0Aeuioz9P +yxgaMBS6ElTjh9kFbskCQEMqDf28LHUuwquHByS7c5k1ZaGMm3K5STHsrlVby0CC +wlFG2AQtySV46riKSqFHNNq7ivMXD/tEAT1FpjAaKV4= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/cernetneu/cernetneu.cert b/server/component/planetlab/us/cernetneu/cernetneu.cert new file mode 100644 index 00000000..c645cb52 --- /dev/null +++ b/server/component/planetlab/us/cernetneu/cernetneu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJY2VybmV0bmV1 +MB4XDTA4MDMyODAzNDUwOFoXDTEzMDMyNzAzNDUwOFowFDESMBAGA1UEAxMJY2Vy +bmV0bmV1MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDTLF20LTPafaJz1Fpw +BF3JKJzMr83zhsyarJGF3np49KDRRLG2WtzCQ402d0qxKTHhwVl5wHvYQTB2ZnMC +QRue8kZVGYw8fduOkh147mIkz8btETWEIL3JeJF4jvN0SyJIYZax4QCwxEbvFWGn +rFvLvyYZyTwQFni5t8nqfIyONwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAENDnMoz +IgoaJOODParZ7f3kzntXdtwd17wmC8kCLzSoCwvSi6tdCfIy8WlTmLKd9B1fPPQD +3amfMJW66bqAwAT7WTh4htNn4KvzSG5zn7MbYnpmu5hPk+rToyDs4MC+C2ZNajZS +M04ux9JfV0c317TUPHVVoOe9T9p/5E/adVJk +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/cernetneu/cernetneu.pkey b/server/component/planetlab/us/cernetneu/cernetneu.pkey new file mode 100644 index 00000000..bb227673 --- /dev/null +++ b/server/component/planetlab/us/cernetneu/cernetneu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDTLF20LTPafaJz1FpwBF3JKJzMr83zhsyarJGF3np49KDRRLG2 +WtzCQ402d0qxKTHhwVl5wHvYQTB2ZnMCQRue8kZVGYw8fduOkh147mIkz8btETWE +IL3JeJF4jvN0SyJIYZax4QCwxEbvFWGnrFvLvyYZyTwQFni5t8nqfIyONwIDAQAB +AoGAHXuuQX+mI7UyvzVAwy744SL4cWOCP6PsYRQC5UvgkY6l/VG39hvNgpnn11jk +ZsO3oStbkLIdGF5Ro9Y97GymrFNp/FH74fY9bWQjYD97998v3P4BQ9fqgAB3eLvp +m+SBfbjh0AFjMYEFrDebEfeTwXJKBafhjK7blbrK2U2jsYECQQD0TtWFh8M8Xl1V +Cd/G8e4mDV+EchIUjG2tW3GLZABT8gWuupAHvm1FTUnqhJow/JPM4aXcnk2VZse5 +IoF3SELhAkEA3UeUSGo0JXjWi6x1w/96yRFX5DdHfOEQSB7FnkUXsMG9kXeNz4t8 +SRzART0kPO63v89IK088wdwnpXGFi2wMFwJADCQy1l0F5eUmrEg+V8vEMx3tBk8I ++P51oOzveqbwoTtg7usUp13eXlhV+RK3+wFCcycvsAQqBOfDuz6swnnT4QJATerX +jww+ondDbNlkeoiqjsSZo1XHyXRizFJxmcKQjgAapW9osw1VzVTfa0IVUZNphpQR +wJZdOZIxL7Oip657LwJAE2FGct3yCQBnYLd/xO6TC496oBFwoUOrAmUpKGKduMX8 +QR02FeFq99CS1jnCpiZ8Y//4uzyPNWrJJzdZqv81PA== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/colorado/colorado.cert b/server/component/planetlab/us/colorado/colorado.cert new file mode 100644 index 00000000..c16e32db --- /dev/null +++ b/server/component/planetlab/us/colorado/colorado.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhjb2xvcmFkbzAe +Fw0wODAzMjgwMzQ1MTBaFw0xMzAzMjcwMzQ1MTBaMBMxETAPBgNVBAMTCGNvbG9y +YWRvMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD5R6/v89nwXY6prkbU73Q7 +oXdjntFSeOjADfhZWdiv97uDKkl39NzSChsNUyi7n7kkU2tuDmLgvNJdaimqpdNs +AnRfTbH4VwzLKzBniXpb+bKk/sYABfAXae8Hd0uKF9kEwvMuxu6LW6Cznh9nwyHj +o6F9425WPFsJvVDm97khjwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAL1oCgtKkeFu +4h2Yp/xBvr3C+1WLyZCV0fnB0I9+p9ZhDUCmoJvGcYcWSPTkciHNUrcBgqqQgoaI +6Y1xxnXqu5CFX36PLPsgvSI6gn/PzERdl63ZDo21hxxaMn2KDlcm93NDSWnvTyXy +MlyCunt39C6tVqcF2cdkvC8HIVGYiIk3 +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/colorado/colorado.pkey b/server/component/planetlab/us/colorado/colorado.pkey new file mode 100644 index 00000000..e5e9bbf9 --- /dev/null +++ b/server/component/planetlab/us/colorado/colorado.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQD5R6/v89nwXY6prkbU73Q7oXdjntFSeOjADfhZWdiv97uDKkl3 +9NzSChsNUyi7n7kkU2tuDmLgvNJdaimqpdNsAnRfTbH4VwzLKzBniXpb+bKk/sYA +BfAXae8Hd0uKF9kEwvMuxu6LW6Cznh9nwyHjo6F9425WPFsJvVDm97khjwIDAQAB +AoGBAIg6U/y276g7CKbUFeNyRLv9vogTl+MRLmkeeVUjE5b+tFu29VV33GFwol4C +zyTR4dTnPbN0azbUGcZxKPoYC1RMV8Bo7X30AalomY0gJnIuoVK8W3Nx1o59GAVK +2hPYhvJ0wDQPuBhKfDxZ/TYEbsgTpk3Z+Y9Go7s8Vfg7s69xAkEA/zseYmk23dTW +p8PCzc7d3qILxM/LpUf2IuN1/7QTJuIYFtWHyC9eqySyUVaHfczs5cXZVDYYUZrC +WhZ6CKe3JwJBAPoH+maXo+RlZe0kKpQd5gq+IZo2mAJgb05NwvsuSUieujXxZsA3 +YTjN5ipFV2Y6SqWnFMV9hixRdae10mKzA1kCQFV6ukFhVYPT7ZRARvTgrIQMp35h +zaVsRW4H2hQqfiOOo1y6ZQBRhRYycxo0raofQNPvgEro1xo1h5PeZT6S1Q8CQQCD +wkCKX87WRTj5Rt3JQBhCAP/kLHDej8MYGJJvm2yzADJQyu3CzWxGavqnu/LaxE0i +DnI7wHI8WJEP2BkOOhfBAkBlQ1o1LbMuyhPCKFh/yqZriaTvw0qtYwpDuOsEgk1h +nMyN+1LEoRA0i4/8U1WciSQpgz/05yj0hfbbZ5ntxlgL +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/columbia/columbia.cert b/server/component/planetlab/us/columbia/columbia.cert new file mode 100644 index 00000000..33c1d6e6 --- /dev/null +++ b/server/component/planetlab/us/columbia/columbia.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhjb2x1bWJpYTAe +Fw0wODAzMjgwMzQ1MDlaFw0xMzAzMjcwMzQ1MDlaMBMxETAPBgNVBAMTCGNvbHVt +YmlhMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDCPOe32hcQ/tsE/2fG6MYx +gzNue59nuWyLYl1Q90YQsx5T5Sbz1Q6358s1tZmMrKNHbH2hUAPrYNSYTD1ac6M1 +IqK1YkeiWqkOXcm+qC/6d2Ed3AaTAw57AGbQmKVSmpPyxI02RwcmES1Ure6dqDXf +yyyQH17Xs/qBUoFtb/pgOwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAA99GYIZlMCE +Gmqr5017QPf1nsGUjJLcp/0BWpNjCEpatnLn5CrQkkOcYbi3/b43sktqY4vIvv35 +weMHdI/KKYMQSSuQflxE0JpHWhJFsg1+aZb+K41i0AO9IfvFNjar+wsBG2LRp2I/ +S8Bi5ODLNlWF2dH5DpUio0YPMS1/dCyC +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/columbia/columbia.pkey b/server/component/planetlab/us/columbia/columbia.pkey new file mode 100644 index 00000000..576a74eb --- /dev/null +++ b/server/component/planetlab/us/columbia/columbia.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDCPOe32hcQ/tsE/2fG6MYxgzNue59nuWyLYl1Q90YQsx5T5Sbz +1Q6358s1tZmMrKNHbH2hUAPrYNSYTD1ac6M1IqK1YkeiWqkOXcm+qC/6d2Ed3AaT +Aw57AGbQmKVSmpPyxI02RwcmES1Ure6dqDXfyyyQH17Xs/qBUoFtb/pgOwIDAQAB +AoGBAIY/cigwJCErBFW/8QoZeGJgO/vwlYwrLEpqAfUj8tk3844oo3ODnlidbGYC +zc3cxD1pTqtfklXs5wMcLouFwRaURq8Io6lRmiZ/0liJVU3bx5uYnnOh0ND8/Lu+ +njgBHBAiVSyX303X6XEEo+2HNYswCv+IEkZNM0iLwXr2LogBAkEA4U1BwFqXkjCW +nomJtyhgPXtm8JNmrX1Vlb32M41qG28VjKWQmKlgRLOptOMqvxIS+Mj0nwX2V2fq +gDd5804qwQJBANy0HEiRhL1rODXumBMK6Fls88at+OEpaPpzuQ2vJ+PbbheXoAA5 +7lwfjTupac4VrguBFtO2B52JJvfZmjEctfsCQDvUxG1MoYvVE2quo7/cHRK2vrOM +sWvJKP1HISa3m0IF0fcz0J55/HLCM4MyAJwVNKyU0UGZ172GfyPll6EhVQECQQCN +qmLZRebxeyhKngspdf/snt3fcv5k8SK8WJm5Kewt+0Swihge7RCOO4Z5fGY47XuZ +UNQpMxeyTD4iK6Ao1CgPAkB6Yq+Bil3gREUDFtXsnqGm/M5UePiP3fGoFB8IUvZ9 +t2nAfY6EtsInmEs6duGoqbBcLUGicBqUJojkL4SROFwV +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/irp/irp.cert b/server/component/planetlab/us/irp/irp.cert new file mode 100644 index 00000000..ee69dbf8 --- /dev/null +++ b/server/component/planetlab/us/irp/irp.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwNpcnAwHhcNMDgw +MzI4MDM0NTA4WhcNMTMwMzI3MDM0NTA4WjAOMQwwCgYDVQQDEwNpcnAwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAPzvSNF2gndHEE+bXk8ftHDeOBuBz74Q4tRE +bje+KsMrfJEkoDE8JReP87rsXJOAqKK5m+zVS8K5Eag/7FkVtEwWYygmwHa+4B8s +ryR/RSgz5B3dKiS2ZlGFB2tS5waaivy7HV5+7Dxe4EA+SRzM15smLGqvCFj8uot4 +RUp5+r5hAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAWYmG4UONb+7VVDSCO7vPjLml +/336Oevuk2S/+lBCo3YNfm2jPSjYeMG343STrj1PF28wNyY3+MZKUnRY/HDOHqT8 +FZvis8lFDZaX7xSkP/SbszFIaCjlIscY61uGt0bIFTmHQ8/W0hUEtjrkbq4uOu9T +0tF8Uh6BWD89R2YTHNw= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/irp/irp.pkey b/server/component/planetlab/us/irp/irp.pkey new file mode 100644 index 00000000..d8838fcc --- /dev/null +++ b/server/component/planetlab/us/irp/irp.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQD870jRdoJ3RxBPm15PH7Rw3jgbgc++EOLURG43virDK3yRJKAx +PCUXj/O67FyTgKiiuZvs1UvCuRGoP+xZFbRMFmMoJsB2vuAfLK8kf0UoM+Qd3Sok +tmZRhQdrUucGmor8ux1efuw8XuBAPkkczNebJixqrwhY/LqLeEVKefq+YQIDAQAB +AoGBAN+LlG4cMZ693fqdtLJ1sQJ4RFp7VmIDhpZYjJkTp7OrAYM+PZ6GK7oxbhZs +xD1RXrnDFb4xna3R53suU/NALYG4EttehyaCPPDVVrixQ/r7nw8ZvE9l9nbSvzkE +kAkcwn2MCL82+J7i9PYi65cBieT1y1eNFdalxHPB4B8FPsABAkEA/xtsivCpNvVn +wjoupM52ckBAZLqwpGoStZ6rdas8PkAVxVJjpU3zBLXnjuG5FNCTuLF3S1qktaBg +DcV9TC+9AQJBAP3R6flyK6pJg9zggpYxg/qBFmJiK+dRW2+Wzd3rGu3GPzGFGSuz +z7AD2sIwX3rRp3DxqvKvrTU5VLHlbMmHIWECQQDjqCCMOUp4/jWTMgLwFkPDn60X +dzct8m8x3yBaCO7hCqWjCuxb1504pfC4JJ3bgmthlhXEjGaSo0U05Pn1JGEBAkBi +Jc+x04IrAO5qdK5KYa9FKLF9LbUIZ59R0SCeFZF+LFC3V15aVdeTmon22TmyhmuW +8vxFh8UUdazYdXzRmN1BAkEAn4oPt7XtQp/cM8K3Z4kElYLUWuh469vbofkOTHWT +0A4hLZKwR901dTkjaC4sE30QwHkTM8xKei6kUr/14cy5Ww== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/jhuis/jhuis.cert b/server/component/planetlab/us/jhuis/jhuis.cert new file mode 100644 index 00000000..3773d3e4 --- /dev/null +++ b/server/component/planetlab/us/jhuis/jhuis.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVqaHVpczAeFw0w +ODAzMjgwMzQ1MTBaFw0xMzAzMjcwMzQ1MTBaMBAxDjAMBgNVBAMTBWpodWlzMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD5jmZLwSjBJ34ryAuZVvGYLhBNJV8q +eG01YIpYUijMKv3VyH/E88x/Kkh/V9PTZ6eOnuPSC55tZxvE7FEHJUuFg/uuww1m +eAamZV1twI8vG+ouTSIWcGfwj5OyPZiy8vLyHCCg+hHLBXRel8whm7uTaDKjBgke +rjS0H26IEQj4SQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBADCXtGPQiIBWPpRPiSJL +tgPRVQvndalWATs4k8+tq7wQN2c6MUe1yGJedLTB+qYwJq5a+Ic4IcFK4gaHTLQK +dPrX0lRTflOanbN7dJuSscJaQ9K0efNtHDzoVlGsJBTOTuUp6uKVBi8Vppmfj+N6 +xIFCmAJsAWHTWR2cW4SxeiXQ +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/jhuis/jhuis.pkey b/server/component/planetlab/us/jhuis/jhuis.pkey new file mode 100644 index 00000000..1ae09744 --- /dev/null +++ b/server/component/planetlab/us/jhuis/jhuis.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXwIBAAKBgQD5jmZLwSjBJ34ryAuZVvGYLhBNJV8qeG01YIpYUijMKv3VyH/E +88x/Kkh/V9PTZ6eOnuPSC55tZxvE7FEHJUuFg/uuww1meAamZV1twI8vG+ouTSIW +cGfwj5OyPZiy8vLyHCCg+hHLBXRel8whm7uTaDKjBgkerjS0H26IEQj4SQIDAQAB +AoGBAI6rXUozzLPYeyZWgGMStJ32v7ULB4QFQxH/9jeWCOLoNSPyMzGK279bkgTT +VjOHD+DWb5JWuCT9jH+hRpWaObijAXcdDXn9EKXzXkMEqPsWL/nY1Z3zE801sFJs +UbxkIGrGstKH137MHp5WEQgrbBJhYiXZEKG31tTVbmzExZEBAkEA/aGRxjiluMnG +g23wjRJjct2Y94pE/Dn7wRNoz5xinrJ8nHPXlShGe0xeX0IWQArg9I1DDW42dMb4 +/bl4U68F4QJBAPvjFk79cPVHqcnCkYIlMgwBpNwHmG/sqUZc+YtdcvqDP8QIJRdO +chnUvBZoUQ/jBydChmILMmWM4ia7/ssTb2kCQQDoGiFS6qgNkOkPgV5vWvKTPWMs +tOYog891gxOZWh2N6PzMF96javYFA4AhYFMITGxMn7FK6x7+gs99MWuB+VtBAkEA +3AlaGZKoNHxvw8JmHgykFXzyKQuxjERu8vqRO79ci55P+80pqZxrbEk8LU7fUUN/ +ojoo7kjds3xIqpGbWIcX0QJBAL7eTlqM8J6pyo/omr40JC5FGv7KNv0Pbh6JlV78 +izAwT0s/UzvLFTwgnjCmdX/DwMT2T4Bt3eW4C86KYAk5vTM= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/michigan/michigan.cert b/server/component/planetlab/us/michigan/michigan.cert new file mode 100644 index 00000000..87817573 --- /dev/null +++ b/server/component/planetlab/us/michigan/michigan.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhtaWNoaWdhbjAe +Fw0wODAzMjgwMzQ1MDlaFw0xMzAzMjcwMzQ1MDlaMBMxETAPBgNVBAMTCG1pY2hp +Z2FuMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCdUsESJzbkw8DWo5QVram6 +Tk4WclGCSnFiS86ERUkQE3pbDcv+kqKi5FGAuQL0dY3/A/s+4+eKWQI+t5b43EKN +1xYpEesUwGfywIug03la0Kyb1bxHWdWqAtjfOv5AvkU07BgqHy1Os7hOQll5ZVsh +z/Sdhx5WYQ0E1qth5XkbsQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAJtcoYK1jyS3 +Qu/FNnkowgZyn4Bb9Et1l94pv2jilASHGFKQ5zMv0dFZwRe7N08XCFjDImJJY3EC +kpDydQgJ0Cp3fNlm8WpI2fYgBnMImty6hgfPk0cARd6+hC0mtGJ9jcuROLYHM+pB +ncZVQ5FSx8rvX2RVG4OWKUMMRReoUHCW +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/michigan/michigan.pkey b/server/component/planetlab/us/michigan/michigan.pkey new file mode 100644 index 00000000..c1745bf6 --- /dev/null +++ b/server/component/planetlab/us/michigan/michigan.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQCdUsESJzbkw8DWo5QVram6Tk4WclGCSnFiS86ERUkQE3pbDcv+ +kqKi5FGAuQL0dY3/A/s+4+eKWQI+t5b43EKN1xYpEesUwGfywIug03la0Kyb1bxH +WdWqAtjfOv5AvkU07BgqHy1Os7hOQll5ZVshz/Sdhx5WYQ0E1qth5XkbsQIDAQAB +AoGAByQ9jXRoQoQ8WcH9M+q5PLLXSp+P4ak9cmfcjRaUFX283StIKls/tMNGi+Ba +KPy5IG1u11EDLr2Ro4Uz/kIJZ1K0sKAri8hck/Y6Dfzs5oIUM+Quw+ICvg2rBeAs +FMb99JX1zkawyTIyBnbLl8bQLXcDytjmT4AHX4fK2bdZu40CQQDO4H5VielSlDTk +mDWv4iVuzJmKjTavV+YsvND0E8sRawTTv9FOK8VYU/eg/uF/88/xR5HLv0kIxyFI +Csioc3/zAkEAwq4F4BNiVk3nyFR3BAUOv1nF2ma77PRWQkS1+PU4Zqh8r+6oHLmb +r/XhA8po4Ky9EnTH3Vj+g9NOwv/QCQJCywJAfgT+sDisauNhPQcDXTrTNqVnuqC+ ++R0AV6xFVQlhoCCi9iJY69d6BY5QwD/DOeBZgU7pn0XMxY4X1fzLsuF4xQJAfH32 +Sd17c/8rqkLBPPPTA3BwAoLRx+xTwNrZl1OQ9qzl10eBf6T9tx8//kGQoaQ04DmH +mbeQQlJ9OluF+EzW0wJABHmA6wNHmSbejWR9tCMPPY4CP+ipmjoDdSB4L4x23zKg +qw80vi91ds6977k4M7ylBhSK/MU8e5KTRHX9yzsyfg== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/northwestern/northwestern.cert b/server/component/planetlab/us/northwestern/northwestern.cert new file mode 100644 index 00000000..d89febbf --- /dev/null +++ b/server/component/planetlab/us/northwestern/northwestern.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBnTCCAQYCAQAwDQYJKoZIhvcNAQEEBQAwFzEVMBMGA1UEAxMMbm9ydGh3ZXN0 +ZXJuMB4XDTA4MDMyODAzNDUwOVoXDTEzMDMyNzAzNDUwOVowFzEVMBMGA1UEAxMM +bm9ydGh3ZXN0ZXJuMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEy6IlCLsu +pRyj9XUCq/VuDUAHc7illhn2DHEJtasenzDHagKbPBRTQAXgeOcRwjBGf9TX7QdR +GBD/YW1MRONzwHmkh6TR2PVwnaMsIzFm1Wj3Pl1Jl35h2a7yq0nS/6nRUNEESxv9 +8konwGNdFow1/v+5wla3Zc8N0LcGU+yMLQIDAQABMA0GCSqGSIb3DQEBBAUAA4GB +AMLJKP02wDmcRVtJvULpRrpegdG6btUJzyf8eoCJFWl3o+Q4UbUTNdrKUepnp1Rf +5Y9J9qsObnvwWfZZKsSHmZbMMbhw5NVjWp+6aZtNNJDzCsudJRaxuVU+LJRXdHIS +GMT/QkcGpokGoKGyiE9o//V0FIK4olBMTS5r+gOXfHiQ +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/northwestern/northwestern.pkey b/server/component/planetlab/us/northwestern/northwestern.pkey new file mode 100644 index 00000000..7de1afbf --- /dev/null +++ b/server/component/planetlab/us/northwestern/northwestern.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDEy6IlCLsupRyj9XUCq/VuDUAHc7illhn2DHEJtasenzDHagKb +PBRTQAXgeOcRwjBGf9TX7QdRGBD/YW1MRONzwHmkh6TR2PVwnaMsIzFm1Wj3Pl1J +l35h2a7yq0nS/6nRUNEESxv98konwGNdFow1/v+5wla3Zc8N0LcGU+yMLQIDAQAB +AoGAbib5FDel5j7/H/sFSsCLuNTr0QACC5VP5LwkDWZFaPd76zK4UMG5Mrv0Tif+ +Vp9WPC/TKCWBYe/Rm9Chx/4LPUNpOk9zkP+tuXaFeA8CV+1Co8seH0am+WJZew2f +Olxp6UB5Ut7803BkoDAK/vQzYoFJo6wmyroctXIX3EHheaECQQD6aHYck47YSa8W +PPG79l7Wg3F6RdPcnPdCo0Ek66qb9mwyTnn/BTosT+orgwHwnl51ONYKxmnS1NGz +ngB/BEkZAkEAyTCtnUtHkmxW5kS0kbbTtsZObvkQmmSUuadvO7/d5rXOE4dE9imF +Qay3jP8Dd15FYN3grsnH0FopBz0Ap7/6NQJAW0XYR3JBjvTMrP5p3mlfCDHBGyB4 +qOFN/ywigqKj/VVE+tFABoSRP7WhVVrbSilvpKqi2iqYSBDqnt3osGOPgQJAIV9g +vSG6mpA8DfBBn5YbIktcwU2xMlsSzIT4j4mxDk8EAvtCNi8G+rDitZGrioZprbrA +RV4VNftuqNO2oxzWLQJAIjY3Jsnwpp5R5xBdVQQFpttEIUx4D3zQiAC6YkvF43GT +x9Prr5EZORDyGtO8t2Z94d/fnIKyxPzlUAZI//1MiQ== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/orbit/orbit.cert b/server/component/planetlab/us/orbit/orbit.cert new file mode 100644 index 00000000..47df8390 --- /dev/null +++ b/server/component/planetlab/us/orbit/orbit.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVvcmJpdDAeFw0w +ODAzMjgwMzQ1MTBaFw0xMzAzMjcwMzQ1MTBaMBAxDjAMBgNVBAMTBW9yYml0MIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDSEPH++WG45H9NhSiBH2Zrgz/EZaX5 +qdR1/H/p6IWP6wWrmmsm6qpXf7aX6NWUzG2e4t20p/pRENHQSLDmX5D1DxBMAs7j +3z8dDJ+99GN2b7aVhSIXjOCQOJCXl94PuVKBrxW3Mp1FQMd4Ta1BEapoOPj0oYLc +a38+BegrzZILRQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAH9RZdEbOWuNQj16RLa8 +ekUAKYkPvTCf+OPJ6lxbjfzI5kDX7E9+iCrkv3SNE55y+STgIXTpVRpwbqHo090E +Dkcmst+6V43GxXDph+sDDRxQ0C+tAMpilPdLC86Yf1qR+OYhKJg2cMsEzS5cq3E6 +oHrAyAcrdze/I3zcAIqFxxyK +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/orbit/orbit.pkey b/server/component/planetlab/us/orbit/orbit.pkey new file mode 100644 index 00000000..85b9aba3 --- /dev/null +++ b/server/component/planetlab/us/orbit/orbit.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDSEPH++WG45H9NhSiBH2Zrgz/EZaX5qdR1/H/p6IWP6wWrmmsm +6qpXf7aX6NWUzG2e4t20p/pRENHQSLDmX5D1DxBMAs7j3z8dDJ+99GN2b7aVhSIX +jOCQOJCXl94PuVKBrxW3Mp1FQMd4Ta1BEapoOPj0oYLca38+BegrzZILRQIDAQAB +AoGBAJjNqrqGPQd5bwC8s9H5PU9HkcMTDcCmQN3yZjmH4l/l3aIOGZOdb3tmczPd +Mj+i1LqW3B7lcbg2O+j+d2+cZJwMkVrF21jtKiaaAfzWt0rXE1ui9wkA9MIFMhp4 +2hqCK+KFrqv2zVy0ch6kE4/AyV9+0tTtCuLTEXaMmQBgoewBAkEA6AI+ojPFgQY2 +Onstz9Nf0KXKnh97XDI8BGyTEY0+/48uNED07xe28LyRaGzfH6b7Hi6umhsmhCVX +TwDLlsh4oQJBAOfJ1b+D4jiSlRaTRxtN4NgKYH+4LoNDNoz11lOZGW8xUnC6oVOq +6Zfr3josCrZ25tpWWMKgdjRmF98S9CkHHCUCQQDGHLSTGRY7mKxRv8Fcx6f3qLqd +z1AtaA/rzzK+OBhlbUQNBrKgP2XNp5eazeyxQIsKON6LZUe8a45kPc+bD9BBAkAf +8pDUkc/3bjTAZNJTMBvCi0Obtv4qN3RoX2YIJbz8t3aedQrRZmhF+UurBvD/D0po +Y6heQxGnzT6TD6C5mvJFAkEAswlGfTMSAKLfJ45MtN/zR1nEkHot7l+ZPYbXdzT4 +ydJnFLDEYwBYTME5BqBILai3BMBKKhMl/di+mtroWDZN2A== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/rice/rice.cert b/server/component/planetlab/us/rice/rice.cert new file mode 100644 index 00000000..98111dcb --- /dev/null +++ b/server/component/planetlab/us/rice/rice.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRyaWNlMB4XDTA4 +MDMyODAzNDUwOVoXDTEzMDMyNzAzNDUwOVowDzENMAsGA1UEAxMEcmljZTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvPgtziV4JpT+7LTHWX3O7cefzxxjRuT3 +fC00NGEJHM3yFAaMcbLo0ppehr+HhXBcWxmffUd4Rg71/WKHZsdrnhpF8FkO89Yn +dNNli5hrFuXDJDqdkdHzWC/EItdJGK993+Y4b9RjSlYRIKpfFDzIbdbtlrYdbMCZ +jkq3hrpxkRUCAwEAATANBgkqhkiG9w0BAQQFAAOBgQAgkv9S4qCtZMG5gsdQhLJx +sYgtjdDdv9d4TsnqYXPHsWCDQWnGaedz+CMufmaZko9GiRL5Fsw51Beo0hb2n9PX +DRvc3uF0CvwzolsKP9UKaFR6IvgMOd6IBYhHdIguDxkqQDvHWmt5CqcoQJjmtrU8 +J5JBfiMyWH8OfhMz0yID3w== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/rice/rice.pkey b/server/component/planetlab/us/rice/rice.pkey new file mode 100644 index 00000000..4185938d --- /dev/null +++ b/server/component/planetlab/us/rice/rice.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQC8+C3OJXgmlP7stMdZfc7tx5/PHGNG5Pd8LTQ0YQkczfIUBoxx +sujSml6Gv4eFcFxbGZ99R3hGDvX9Yodmx2ueGkXwWQ7z1id002WLmGsW5cMkOp2R +0fNYL8Qi10kYr33f5jhv1GNKVhEgql8UPMht1u2Wth1swJmOSreGunGRFQIDAQAB +AoGADHiAZVtZq4onrK1dfo1r64tCA6QG9TXFE1/UUySYOlto/2NTP2mkLcncNR5M +rkS1A5oUSWs/B7iTCU7ISsMcWeyve+dsSlcBsMbLzh/z75h1iR+Vdn45N+VFp62j +yY64YvZrTtinUpSXxOpRnKO/NABi6qJGnHSJecXCPBz2KH0CQQDe/JtYzt3ggUXp +VS47iHeZBI+YGGIpzbP+hConUC7vbbretzcf0mJDpkgQUIus1pNg/4edGTauXtbc +Fm4h/3F3AkEA2PJJZ7RKkARPNCLlZcKgddCokzbfS1pfj6+Mh0fco5h6zucDjeeM +Rafmn/HUEYXJM4XSpw9Lueu83SNSxLRU0wJAXwKa3lgmScZLF4Rn0o3vB4/d7xxU +lyNCkiuWGnIbzYCfos3F+xUVMWXkRq9LFDXJTgcSrWlU1y8ptVUJUAsbOQJAUC9l +QEZcFNTy7WNEhJMmOcWQuTDb4X8auQH6n/nIrFLseVLbdnSx3QEM9estJfjcAAYj +cQnvRF3EZbvrmLbKbwJAWGaTxygBFH4xu+BWnGUR54JPaQiHXMU91XOsD65rFT0J +CjGbJ4y2q2qqSQyY4oSTXKUKElMYh1LYIKRHNmBMAg== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/rpi/rpi.cert b/server/component/planetlab/us/rpi/rpi.cert new file mode 100644 index 00000000..3f50d514 --- /dev/null +++ b/server/component/planetlab/us/rpi/rpi.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwNycGkwHhcNMDgw +MzI4MDM0NTA5WhcNMTMwMzI3MDM0NTA5WjAOMQwwCgYDVQQDEwNycGkwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBANvg9MJ7RnBY42IeRAYDaYZfJ1k8FK+mCGlf +ttYkucu92w7fh25hszSbAq6LL+bkWfXCGS5CgmihFIspoZJD1qfA8Hi6lJnOO6Km +YrhNv+PBvzGfr5W95rm6lymNP+ZVqOXw6iHHU4CusPjQVBt1AqqqN862XwspIoQn +TD/j3VtrAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEA07cbEDriUDSHPNNItmA5B3fi +2ALrOUdJYN8E39HL/o6HEWpArpY3zhsXDr0glIpKvXm1Sz1720zvCTSfOuGN8xLV +Al5h3rLBZVNeeOTz3HXUqCNJJh6J/O82Kt50Id/U59lFqwk2OAHqT6D3nDzmdngP +qXTOnvqS2GEtJnpCT2I= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/rpi/rpi.pkey b/server/component/planetlab/us/rpi/rpi.pkey new file mode 100644 index 00000000..08c0c07c --- /dev/null +++ b/server/component/planetlab/us/rpi/rpi.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDb4PTCe0ZwWONiHkQGA2mGXydZPBSvpghpX7bWJLnLvdsO34du +YbM0mwKuiy/m5Fn1whkuQoJooRSLKaGSQ9anwPB4upSZzjuipmK4Tb/jwb8xn6+V +vea5upcpjT/mVajl8Oohx1OArrD40FQbdQKqqjfOtl8LKSKEJ0w/491bawIDAQAB +AoGBALzT8h7a82EkVRI8X7qyT3uAWDCAMluuQOcNtd0t6QmZ4HhjatFWwinZPXJc +QiUN0lwF9s4NfCUSwKvKcuFDtSD/vxHyspfUqxthqpAvrzqaKoDtkpz9JHchmj1s +Kk5mEyjCUDjmDJ7CGXhZkzF0KVTc6DGVpQxEdd7ejSvr2hehAkEA+aNYPz54waYn +s/H4uXuL1qT16K5gHKCsDDUYCAnleZAOBxNbW9anFDhIhESIG8QFCBTtAub3ghkA +REFG33v+SQJBAOF7daPqeOTDCb1npugnS5Xk/guun7rdui3YPALFBkn5IuvFrRxT +zz9osap/1mo8A2eVNgpeyZGA+wwUVy0NnBMCQQDHoNAZAyQd93kYdQ+phBq3cwMT +Jx7ExdfPi0XEZ+WR6JjPH7OXJXhGuxuCaitNyNsdM161S23yI3wLGQhL/yPBAkAE +ygqFoMVQlpPuYfU5mRwR4vtCZEMgRPVfY+hiZqzrhU8oktpKb71HK4IajPyQ5RVt +bc3oCntdi8/JQeVYH6HhAkEAzpSQ2vRXTOAe76IJxRZeEFLAdmvoVtSwJ7DZdQRm +/b/5hvlYx1xWsMNgr39qJkpzprp+708JubpPEZdpo6vTlg== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/stevens/stevens.cert b/server/component/planetlab/us/stevens/stevens.cert new file mode 100644 index 00000000..10ee7ccf --- /dev/null +++ b/server/component/planetlab/us/stevens/stevens.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwdzdGV2ZW5zMB4X +DTA4MDMyODAzNDUxMFoXDTEzMDMyNzAzNDUxMFowEjEQMA4GA1UEAxMHc3RldmVu +czCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvO65JFWWsxufe4FV5C7TKrK6 +t6aZEeHrcTPiW78P8bvKunGVVSEiRza9sq5c1Bp6q+Lk3GVYpUbDnhw/jnpMTB/8 +IcDLOjk7p0KhCa5OAsSEm/+GLC+R+AW7cpuvJTNoAyrrbQr6wI6vTbC4zkS5eeny +17BcGYYiVCqBA6Np+1ECAwEAATANBgkqhkiG9w0BAQQFAAOBgQAQRLlBZoYTHnJ/ +3jtJ4ocfywGrcDvldm+ymIx5H2GGMW9dnJClkcLkDNHVK5ZbQ6D2JyAOvV3Bu8+E +6Ir4bIkZOiy7Xk3jmE8aBqbs9bg30612wTaZjeYo1FnOttwdAuVGXw0xOMOlDcrO +zBzVBbLQ0u8fq/sb57cGRhREV9721w== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/stevens/stevens.pkey b/server/component/planetlab/us/stevens/stevens.pkey new file mode 100644 index 00000000..4853cc02 --- /dev/null +++ b/server/component/planetlab/us/stevens/stevens.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC87rkkVZazG597gVXkLtMqsrq3ppkR4etxM+Jbvw/xu8q6cZVV +ISJHNr2yrlzUGnqr4uTcZVilRsOeHD+OekxMH/whwMs6OTunQqEJrk4CxISb/4Ys +L5H4Bbtym68lM2gDKuttCvrAjq9NsLjORLl56fLXsFwZhiJUKoEDo2n7UQIDAQAB +AoGASUgfL+Syy04PkgwckKFI7urcWZeZD8KdXA9P4V4+hPjeLWsZDSgI765f7gqL +nwmWQ02Cj6oPtCu6fH1geZceOE1/LPia2MrhAbeIWAz+91tyBaqhNwYrIjQullzX +uzaxq8VWzCoAMz+MjOFPJ89TPt4LNw1WcXJvuO872hswc0ECQQDv4ntkW3R4pk79 +dvg6pogxlV+D2jpto7tSWqZLKBVTd2p9FNtWpJPP+5pn40RuKTTFBxe7URei5u2i +ahKQPZ+VAkEAyZ/4OAW7n7GyvavIzr6ZC0l1o3FGerp4Kmg5kYYN6q/BfvZ/pkYr +dVkjp/FIRbbrgEMnRzSsJ/GHAqnhp/QtzQJBAMKD7faEyj8C7E5PaB126Dz8mMT7 +8iDxgXXYF7wdtp1F2c2vWeQ587nUlXHkMZr6QtX5WF8F9Jqdktf+FytrLLkCQQCv +7g7ny1DQ4nwldlyM0dC3AY1NZUzrUAQEdNcuvLst+dgsEaiGjJnlFje/lhDLC/Zn +/7CpODOz0tNMprFJHQ5NAkBr47TiRXDbM4qIkcUzl7zawrxDCCk7Um/iEIThHEFA +X1cm54BWZGLlvaqEnm6Bv/kCdvMEn5ZFie27dnjGGHDm +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/tky/tky.cert b/server/component/planetlab/us/tky/tky.cert new file mode 100644 index 00000000..1b06e13c --- /dev/null +++ b/server/component/planetlab/us/tky/tky.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN0a3kwHhcNMDgw +MzI4MDM0NTEwWhcNMTMwMzI3MDM0NTEwWjAOMQwwCgYDVQQDEwN0a3kwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAMiykH2wAha6xH66PhU8520iX9E6Yd5nUmnE +5LwX2hpEYj8Snm5yoVD5kAar5DBSrGpbT4JBB75uYxLnZQBSILUrLbOPxq/mw/7a +ExiSiokfKv22g2EGhGUclFG4OOxFPUS4QNyU1sBVwjlTWy4hzK/7Xcp8OiGglu2y +KRMGL2EhAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAn1x3uXxAPU8UcD7fpL7/w9Xu +sMfRjvnDSaMlLxJuOnVopg0TXSSNllhqkQRLpopyswCxytDgagSZ4of5C+qemDYy +fpsymZfVJD2jgHKJw5bGf54QleiwHnqDRr1EYHEySXID+yYeW9BCs4GZUVWW65cz +CNxB848inuMrAYG3PbU= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/tky/tky.pkey b/server/component/planetlab/us/tky/tky.pkey new file mode 100644 index 00000000..9a574c71 --- /dev/null +++ b/server/component/planetlab/us/tky/tky.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDIspB9sAIWusR+uj4VPOdtIl/ROmHeZ1JpxOS8F9oaRGI/Ep5u +cqFQ+ZAGq+QwUqxqW0+CQQe+bmMS52UAUiC1Ky2zj8av5sP+2hMYkoqJHyr9toNh +BoRlHJRRuDjsRT1EuEDclNbAVcI5U1suIcyv+13KfDohoJbtsikTBi9hIQIDAQAB +AoGAEXPNstBSbi2Rlr+VVH12VnwtvuEHz7JGbWIszdp5Id2eeYOh+VLIimUZTCs4 +badSzPDhyh7jkIDC5srucoexxke59VkRjluroHwtWug1uxoRYs+wpcO0K9JaugPR +WhbSZZbHDifaI6z9KhKIcChQJJr+x+e/1ajH1N6ABvyMghECQQD63BGf3qJA7cjt +qzZnj2dD3qdtdKDXJhG886qICjK3RHECFKpwWCDoAqO/ju9V8jhHT75j1XBvGOdr +S2Yy9wMNAkEAzM9cWsadEVTVZhoIdZwRM0ZeO5sbFnDPJl/oEsnLHE1ZKV0pbqUB +e9DJNEZOqg9Xn8dNbihYlUhn1Bl8pRChZQJAVYny7IuS0gcC65/lBj0M3kSu3JDX +Q2W0yLRhos+vaXSKAEahs3sphVNZGLmZfLoCXLahWhNuqkNYrepg5+H4hQJBAMVI +5WSHtxrPxfPhFc78c9EZcoImKZSXO+NyNOGMQjtUApQGqndrOJ+lAXt6UiIcP0Ko +v9xhvtql8WXs2xVBjMUCQQDBLmwARF2iqmezIIrXrZCcHaHTzHHh1ybzcteVv5m2 +U1t0DS0jDzAx+nQAzTDkce9EFOC6p6pWQ1P1kZAusz8v +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/ucd/ucd.cert b/server/component/planetlab/us/ucd/ucd.cert new file mode 100644 index 00000000..6ed35795 --- /dev/null +++ b/server/component/planetlab/us/ucd/ucd.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN1Y2QwHhcNMDgw +MzI4MDM0NTEwWhcNMTMwMzI3MDM0NTEwWjAOMQwwCgYDVQQDEwN1Y2QwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBANK61udOX7RD/yGJ4jzI2XhGaw/nY9INmG7L +BNZ+BVelMe2qW7Cb3cKOcn9qB80KJYR/rhjU1NbUa3pfdbUk3Cu0/zasOvHDQdlE +gjBvUirUeu6B6p1vRI51x03lSkpNqN//1/pquOmJoDTJU2xSslnyQYK0NRFc/Lri +USiRveMBAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAOmZDEEwKzi1kJt9+dvhejDGi +8PWQ/OEtgMhdApFIKe5WyRFOe7kk7LsNl/aQE04NyVsuZDOhVj5X2hdtBX/UjB0A +ojNVojFlqf4NKHZbFLUOZErWucBnR8Ljhd2Wo0foAp8WF795+NrGRUkB1KrdLZg6 +GTBPMn+NtfL01+1w/WE= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/ucd/ucd.pkey b/server/component/planetlab/us/ucd/ucd.pkey new file mode 100644 index 00000000..9f981558 --- /dev/null +++ b/server/component/planetlab/us/ucd/ucd.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDSutbnTl+0Q/8hieI8yNl4RmsP52PSDZhuywTWfgVXpTHtqluw +m93CjnJ/agfNCiWEf64Y1NTW1Gt6X3W1JNwrtP82rDrxw0HZRIIwb1Iq1Hrugeqd +b0SOdcdN5UpKTajf/9f6arjpiaA0yVNsUrJZ8kGCtDURXPy64lEokb3jAQIDAQAB +AoGAVQg5oXp5mdb6Q0FNPjPZtPPNTcyT9fWwdbyMRjTx2Oz62akteHVcpZ4vS4Sw +gyc9/lo7GSAAhnOOrwGIEME/6dNwrkFCC3YWbDYAybjhvpXdmFq17yS0ZMDIwLoE +rJuWwYBbLPNtCDPisnS9rCCjElr/4kC/aBVdxQUyIcibMPECQQDyWqY7YKOuPMq7 +BtX+ag6Khj2LAzGpciR7boJGu4yEsvjA9Zxz9VdhjMnbRFV80Ycc8byZpXZ8f2NN +j46mCIo9AkEA3phZtUMAgt/1VawHgvw7TxM2LyKR78gUmqkDMnik+yjykhnGa4ep +fzhsPgI5oj2cZjdbdST3cZnsv20hMrl8FQJBAIU2TH8AzJd+NNT+meuA8kM0LGnX +tJl18xWhlZw5hLCAC3lMx9V5OrGVCHMsqWy1YvYG7erqZylhf/zm9rrOoOUCQQDH +uSUMuaCUzURA6YkX4x+IFPHSGw+ceQbbunhO6ecGIDh+FLhvNRtFNigQ/0gdJXDW +Wicqlc+b04OUQuO9sqX9AkAgLPtcI3+gWbvzMzLfZNSl8bx/cZBUHrex+0oNRUE2 +Mw0J/13ZNhboJzjxK9wv/nq5Q47oZSIbIWRDbtxMFo4N +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/uci/uci.cert b/server/component/planetlab/us/uci/uci.cert new file mode 100644 index 00000000..15876c65 --- /dev/null +++ b/server/component/planetlab/us/uci/uci.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN1Y2kwHhcNMDgw +MzI4MDM0NTA4WhcNMTMwMzI3MDM0NTA4WjAOMQwwCgYDVQQDEwN1Y2kwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBALK9wNRqWBfWA/A+ATeiHjN8OcdzI4YB4NZH +pCCCi5LxNgIvTqhvdA34kNNlvY9XaaeFuJFO+aBlofWHduKXT2Sy4XU3xUeC2vv1 +qBsWqRgcmMT9yZn4oyNZ4n8stQGF09vFzzJ2ERMhieS+0lm8YjnCnoSDJGb6gkKm +VRbheve/AgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAPwbCHIV79NputR6kSgAVT/d/ +mYZLKozMY6CYEmgGYftK4rZA6nzWm9tWmGe/mr2S6DhS838YakTstaIW9885rGBl +dMOrH8Rp3t3IXqsG+i96XDnnMkyt4SWLU2wnyG8H+1nhE0R4UyzoxhAgDHINZGON +M6iz4IrcF8hA3nMdcDM= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/uci/uci.pkey b/server/component/planetlab/us/uci/uci.pkey new file mode 100644 index 00000000..0fb7f6fc --- /dev/null +++ b/server/component/planetlab/us/uci/uci.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQCyvcDUalgX1gPwPgE3oh4zfDnHcyOGAeDWR6QggouS8TYCL06o +b3QN+JDTZb2PV2mnhbiRTvmgZaH1h3bil09ksuF1N8VHgtr79agbFqkYHJjE/cmZ ++KMjWeJ/LLUBhdPbxc8ydhETIYnkvtJZvGI5wp6EgyRm+oJCplUW4Xr3vwIDAQAB +AoGAYns0XJT/Vpq/bsXrC8kSFNH0T9U7lGFCjS3J23OyDVNDq65/C0TlT7FNsnwT +FoBWIUwHJmC6H0sAEnUB5tTxk6FR8v3molofw2NKfFAS8G10KEN+12Y6qtGrU7Lw +XvdbfJKuC4OOADa9QOq0gxaChK477vY0nr0SIIcCxLhywIECQQDYuh0tSTLWqMl3 +JFpcEra6/p2b7C3Wq8srMKigs7v/tOCysnHOT5vO1PcP5z+iRjeU1sufClOPGtt4 +UPx9+h7BAkEA0yF+JEsssa7COOGNOcftJpy3F4PcEhIbhzGVcqiziS43huHAS+t+ +ww9lDxuN1x10FTP+cIBGA3E7bbbicyk2fwJBANTDEXWt0Jzvoqi2JYcSUBWPdIbn ++7AtgwzpfgIVsNA9cAG+MP+LI7iPVeRk7xGNwW7613dQmet5QFADoXzDGYECQQCS +mmgfxX9kZcgBfUT2QUgADsPn9Syj86TfzGNMua3o7ImsBCflz8E2qwLuaaClJZOM +gY0FC10SWNb+SQaXFp/7AkEAxPgxsf1r08knHRFwoYGrgOFc+y12JMA19fsj9wBa ++KoJtjbAycV+yb92Av7mAA5kXLYDy2ezbeBXp967gBJkmA== +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/ucla/ucla.cert b/server/component/planetlab/us/ucla/ucla.cert new file mode 100644 index 00000000..4c718467 --- /dev/null +++ b/server/component/planetlab/us/ucla/ucla.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwR1Y2xhMB4XDTA4 +MDMyODAzNDUwOVoXDTEzMDMyNzAzNDUwOVowDzENMAsGA1UEAxMEdWNsYTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA63bz0FFyeq8qsSfwC3Ou2Vshf8I3WXYT +fCpP/MULZl7UHqn/1iRjhnixNoUu7YkJlPd6dUz0mW5sT3OECVZ9wHu1GF3iDBnG +EbOn0Y3GseQIj0nZr7MxQeI82r99AuJgoVEddlgcc+hH4rsiLCzVggQDRNHhZiZ1 +HfKd5XKNFysCAwEAATANBgkqhkiG9w0BAQQFAAOBgQAKq95d5WuFwg/fkkQACAfW +cQB7HMxs0vXKmKViH+ehHZ+mZWlQurBwZO0O9L027KfgKc+8SLHsC9QSxzPJk2wn +MsIyBDe40Q9hLVxkuRve/lENPgA5po9KarUdWikIyD+iyo2tHSghQzKHUZV744Dh +3kfmYTpBckINAWC2EbCBxw== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/ucla/ucla.pkey b/server/component/planetlab/us/ucla/ucla.pkey new file mode 100644 index 00000000..5a0c2d55 --- /dev/null +++ b/server/component/planetlab/us/ucla/ucla.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDrdvPQUXJ6ryqxJ/ALc67ZWyF/wjdZdhN8Kk/8xQtmXtQeqf/W +JGOGeLE2hS7tiQmU93p1TPSZbmxPc4QJVn3Ae7UYXeIMGcYRs6fRjcax5AiPSdmv +szFB4jzav30C4mChUR12WBxz6EfiuyIsLNWCBANE0eFmJnUd8p3lco0XKwIDAQAB +AoGBAIuOniVbEKnsRjZnwFtZPkmvPKSXPOz2Echm36+mLgKHs9tU0MBgIujhgc8Z +kt3QefBj2Z3KdbK2gtV4VsqeC7s1taiklE//UfOWM1G5+Aym0dXfc41LYfim99Fg +xsypo5oxS/IZ/ik/twXr0z0S8ui6N6VPRw3WbuRkxSaUDQCJAkEA+92ZN5yrF4gg +4tDaPjGrvpbMjCF4DL5I0mL/dUbVy7OnlP00zC0HDF7V6Kn6JTh+YLlxE+t8r0ZX +kAgUmqqX3wJBAO9Ubtlq/OZCKng6sH4bXQgNtCd0+Y29M/Z7BY08uW043pNV7XNW +V82CDdaN/ccoNDXBlQGcbiAOaoON+HwRGjUCQQCHp2j4nPdBq14bC+YgDVy1QD9X +Ukd4hZxvREbXAZnxJwghpOck+TOMpB+OOs6x8WWP7xFKa1Eyji5nMxL14t/9AkAo +J86BhEXyjF971L0QK58sXsA/bo0AjyJM1M9Vpz6laMlPhzdUBsSsoomX2jMeW0yH +SHer0YdYsZKFiCiNCIGRAkBlJFRX6R0nHGz3mZMdnXKKzfgI5HjjWhcGRJaTauBs +8EvhaDEzXXPlD2GRkvXbG/oK6C7qv2JAqIpRLETe3UuS +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/uclaee/uclaee.cert b/server/component/planetlab/us/uclaee/uclaee.cert new file mode 100644 index 00000000..f11db547 --- /dev/null +++ b/server/component/planetlab/us/uclaee/uclaee.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZ1Y2xhZWUwHhcN +MDgwMzI4MDM0NTA5WhcNMTMwMzI3MDM0NTA5WjARMQ8wDQYDVQQDEwZ1Y2xhZWUw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALjfiIXW8jlRtWQyY3+TujcLl0vc +mOF5qrJyVDv851FXV5o3U2AxQfxkLXYRmzocDdT3TUHQV9qLNJjHazlF2ogwCTQN +QCEC3xXEDXnoOfCZDMPY665whEc0XUlrU3BLFsM4wPU+nr7EzCZhLLmx+ASEfAT5 +5HEiiYv8UU07yvH9AgMBAAEwDQYJKoZIhvcNAQEEBQADgYEARgTAmhMNZC7237un +Cy757WiTp/7Rl98P7GOYFRKDRRDjGl6iCUlsxiC5Sz7MUwI3A0rofDfu5RSikbLN +k/FZY7H01+tALgFzMn42tIMkeupfnv0xXLpqnpPZf6oISKAdZN77XzRlVq2Cep5p +X0lsb48z/Pls/H0uD97zJAHbQSc= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/uclaee/uclaee.pkey b/server/component/planetlab/us/uclaee/uclaee.pkey new file mode 100644 index 00000000..a4f658ed --- /dev/null +++ b/server/component/planetlab/us/uclaee/uclaee.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC434iF1vI5UbVkMmN/k7o3C5dL3JjheaqyclQ7/OdRV1eaN1Ng +MUH8ZC12EZs6HA3U901B0FfaizSYx2s5RdqIMAk0DUAhAt8VxA156DnwmQzD2Ouu +cIRHNF1Ja1NwSxbDOMD1Pp6+xMwmYSy5sfgEhHwE+eRxIomL/FFNO8rx/QIDAQAB +AoGAbUDc44uVdj5NXjtRBbH92E3nSZPCXW2TbQWXtiPNaAqf4KlVgoFZp5hkLWRW +Qc8WdYb4hy5i3OprWOZw/VXEwLj1wZxg3QNYCAFFuMYvCpcJqsjfv4X5WBney5JZ +jz5IC7gFRz67FMvjJzMJjXDTwpxK47i11/a+nXz/urHimoECQQDsC8oGIPInawfG +a0CaKnR1f6va1rl9kPibrXd7mBhalykBekxvlv5pEnjG5SasXqgopGhIdjlN72Te +DQ2b6NGxAkEAyIBTSfvqtUtXmlDRA99i7acSWBdpv0TOXsqsStWuDcWI5cvW/DMu +a1nyaPpvHVVxCLhLYZYVlmZG7WzE3mQMDQJAIJID31Ked0fye7OC54LiLPBf80Nb +tvLRCxIlgX1cJuvisZyBfYhVNIRi+/bUnkY1Z94/sXf2skVNIsKkVRYMEQJBAIdp +09a141DKL8IzLtc0ufXTzpncRjk92TtAGpj4M/NtJAY/Y1U1o/Yw631nFkBzgkHn +ZlHkMXRAY0rbGSMx4skCQQCV6cLw+Cg5llX1Nqf0vuiU/LCZjI+cXKz02wSTb/Dw +AzCwNVKsv1My5hv4AuUVqMLZrEp09wyjl9xhJJnhSDl8 +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/us.cert b/server/component/planetlab/us/us.cert new file mode 100644 index 00000000..5aaaf0ed --- /dev/null +++ b/server/component/planetlab/us/us.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBiDCB8gIBADANBgkqhkiG9w0BAQQFADANMQswCQYDVQQDEwJ1czAeFw0wODAz +MjgwMzQ1MDhaFw0xMzAzMjcwMzQ1MDhaMA0xCzAJBgNVBAMTAnVzMIGfMA0GCSqG +SIb3DQEBAQUAA4GNADCBiQKBgQCjh9+Z1MLgDFDEjZYpB4244uKgl7yWybcdzT35 +kUO8Ijz6tNf3s2fvXkG2hyJzvcMrGILFmFq7rwHZcuhj8xgEladPqFC7dQuz9EZY +J4KNdVyWUhb0/wk+hGwAvAbmWDfSit/QMCpNgSSnRrWGWlt1wchyHw79xX8rOmmj +3TDkjwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAABNua6OpYkmW8dlwivX4yxy9zRf +GnXscmLI7AjGXbIo1VbrWlQayHJRFZ1Bn5of1jF13BaWC/PQ73HgdS4taWI6Etii +yPnrruzrwsysTkoyXrQvsE0wG/ghj0j/8elEiP9xvCYjTpeXv6bjHXQYofNIMooi +byos/pgwdg2f9AjU +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/us.pkey b/server/component/planetlab/us/us.pkey new file mode 100644 index 00000000..24785537 --- /dev/null +++ b/server/component/planetlab/us/us.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCjh9+Z1MLgDFDEjZYpB4244uKgl7yWybcdzT35kUO8Ijz6tNf3 +s2fvXkG2hyJzvcMrGILFmFq7rwHZcuhj8xgEladPqFC7dQuz9EZYJ4KNdVyWUhb0 +/wk+hGwAvAbmWDfSit/QMCpNgSSnRrWGWlt1wchyHw79xX8rOmmj3TDkjwIDAQAB +AoGAXFixY3xro/wwbB6MipTyalLtqcSmQfydRN4PPmzS9F3dU7JmN0H/0oPG1h2P +zg5+NUr9Jjp4Gn6kq7ghFbhEegMgY5dtmnjmqZhMJgS3Di8IolhCzBMR2AduvVIo +ZxkuRTqg3YQZpmZbjwnbkVcZqAYIZqxz4UGwp+eYDZQF/CECQQDSQukYUoXsXQ+g +bof/Nju7C+c/XN9D4mb9j78f5ejvri/IfrcD8lgZGBJHsrflv7UUbWyyOo08z1dn +Y+wCf9t/AkEAxxqdzgaCr25+tHb5/mnrNrdMaAsI9LJgLorumo+BOeDaNWQ7GFge +zJPfncyBOhMkrorZV7Nl4KBSYV2So5W+8QJAOxPNxqW5N1ZWg69KyuyED+QiT21a +1goRAgGXo/DHaEC68EyaQ6OeGT7oM/kFLqqUyG6Oce19ra5cUpKCx5kBJQJBALyT +wRL5p51xEiDq7yzANT/FrGB+0ySwLdjnTcamVMb06LfZDv+ntsQc6pcSsvLGXt/S +MriV+dAfCOefMNwvYIECQCdDeU+y6zACGb3LEnjgcB34BgpdPDIK9LDW118iRH7h +6WU5FSjxCXY+CtPVHLqC9awOW2FkOEuquKC/vGczvxc= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/utah/utah.cert b/server/component/planetlab/us/utah/utah.cert new file mode 100644 index 00000000..ec41911a --- /dev/null +++ b/server/component/planetlab/us/utah/utah.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwR1dGFoMB4XDTA4 +MDMyODAzNDUxMFoXDTEzMDMyNzAzNDUxMFowDzENMAsGA1UEAxMEdXRhaDCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwZZS+cKctZwcxNpFJY/g5CchL8OSWyK6 +dx5C65J/SoOuN326OgTGuNnCF4N54nIsivQjeZcTGIIn9P2abQVn61iq0OrGi+6R +1bG/gwT1wCrGlh4WZ3mVn9BUhmWpGTaKLtyzT/n4cmfTDhgygPD0RIWsREeWbOOr +kDbH9ZVEY+0CAwEAATANBgkqhkiG9w0BAQQFAAOBgQB4AAxHkuf+kMCqfJN1erQX +9yAmK64FK+AwtV/BB6X/uaVX56yFAH/+mRWXrNhqIX4DymGY4L8SRWAPp8WQraqj +MNLVaoxzO+vnDom+4NfdZjHjOzPVWboL0Bs7mjZS/RNxivfnXnD55SgIGNkXcCS1 +BTFSgAf3JRTZBGZEkQaH8Q== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/utah/utah.pkey b/server/component/planetlab/us/utah/utah.pkey new file mode 100644 index 00000000..4814ed94 --- /dev/null +++ b/server/component/planetlab/us/utah/utah.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDBllL5wpy1nBzE2kUlj+DkJyEvw5JbIrp3HkLrkn9Kg643fbo6 +BMa42cIXg3niciyK9CN5lxMYgif0/ZptBWfrWKrQ6saL7pHVsb+DBPXAKsaWHhZn +eZWf0FSGZakZNoou3LNP+fhyZ9MOGDKA8PREhaxER5Zs46uQNsf1lURj7QIDAQAB +AoGABmCcZSv7G6SD8hw6sO0XfIypdDheJvBy8h+mFrqhxOOnpp5WtziXD1nlIf8r +0cDvJLi8PnIyp9kJ1fFQ2AyYisKRPFSzqs/ob5kkbFnR1yNs7W10f14mwz3pd5Ol +S1XHJP823frLc+Bq4fvMEDveV7CMLtrq7JDqEg+4aYxPBWUCQQDvWYb9CeQJb5EG +irm8kAf5/XxoB0who+vAtJheVmlLNI/89Zyyhwr/02X7A/8Qp8OddEVex/r3W/Vg +QDSLtaY/AkEAzw3VJCmQWWzKeDeS1Cw3Y2iZXo+K9nYabbAdzOGwYo/8RG0MIXK/ +SNemX5PD7fwpxMfHDKRLSY2AxtKKw4gi0wJAWIYlPgtdcvv3iJLgdVRUDurpC1S/ +nKWS+VgSDropAW60Xpu80+7Ma6gVTMzClrdlyyOI0LBoKvqw+2Njy9RoYwJBAJzn +D5CCyrdpYJjvDB4qj6KOPkLRJe4Um3xpjHuYvzBBilpUBHBIYzoQ6SvebwgmIYTU +GzuyOLc5Os/v9mWsAS8CQFPi/pBWffJjVWdXUQnA4qMhvFNTs3pnaSqlS8S6MtpS +BRJoIFY9dMbWS+EEmk7rY6WBk2TTCzrMdq6+SPhi+Ug= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/utxsa/utxsa.cert b/server/component/planetlab/us/utxsa/utxsa.cert new file mode 100644 index 00000000..4ddaf430 --- /dev/null +++ b/server/component/planetlab/us/utxsa/utxsa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwV1dHhzYTAeFw0w +ODAzMjgwMzQ1MDhaFw0xMzAzMjcwMzQ1MDhaMBAxDjAMBgNVBAMTBXV0eHNhMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDM5C5olBeb1f9gAN6WKn3jCjOPfstb +JkNS7xJqXr6bdthDK4deWSPJhIyEcash4Jhf0X9qkMQi7gxNBQvbmE6ujWu/mYZB +Kwwny+TasLFJHbTw2T7e2H3JfRA8IZwgDIN+4gOmgG/eVaa+Lbrl2T+Xre+9bLdM +lj/gjv1nO76mWQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAMIiWvoNm4H5Uy1GpV2A +BOkx9S1cNm1dV9O0b40IrBrFWZyqXyJDbAEuTQIAf/wjcGF3k8ShzSBW4r/mLiQS +dlvDXji3idVOqdSsHdyWtj9cLYCsQwQYrE0XgQcUFxeXa8YJwaYSN1giWLN897WC ++m9uCio5Gcam6YESz4NpbdSp +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/utxsa/utxsa.pkey b/server/component/planetlab/us/utxsa/utxsa.pkey new file mode 100644 index 00000000..c789601a --- /dev/null +++ b/server/component/planetlab/us/utxsa/utxsa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDM5C5olBeb1f9gAN6WKn3jCjOPfstbJkNS7xJqXr6bdthDK4de +WSPJhIyEcash4Jhf0X9qkMQi7gxNBQvbmE6ujWu/mYZBKwwny+TasLFJHbTw2T7e +2H3JfRA8IZwgDIN+4gOmgG/eVaa+Lbrl2T+Xre+9bLdMlj/gjv1nO76mWQIDAQAB +AoGAEnOiMkzT63bULsMlSIS/HYk3p36Vtbm2amuZTvcFV17WjwYGhNqmPGmxdeP+ +s2hUkJx/SwuKflLNzMndjYMj4q8cAHZLp9aRT/44sJcUhTvkwNryI/eRJizH9les +YBLvwS3NEY15BttpWdvtrxZXaqkn61ntWP4L4WqH2v9ZIQECQQDo/XV+zdM/IEJp +PtqLjSxE0qMoDWlqNSw1+iCwlW33uNkViJkWFDVAIjm11d2c+AqIR9e/Cxmda7Nl +MbQey+6xAkEA4SBRz+/FLsGJn7DlWWc+Zs7WxUasRQdjrbS5hCq1O+xjdD6zx2p7 +ACsF2B7ZvHl53RuDZaO+lFWLWzAtSr8sKQJAA8S1tctWc1ruOA2QM1mhMavGf8tX +vSQHBwh4puKD2NHgkPyYnUbOZa8oB8zhvLw2T2X6E1j2nRk02ZooM6dQwQJBAJGt +AEO1u7rNseiL51062b5dCc0ONltUtMOqtoE3wZ7NEG4gROU9meo57MY08GBtmtXg +/929X41M7ahMPIKpwkECQQDBNcFIpItiQh9lLUjlBR8l5w7WM1hOyK1gnm6xyicg +jhQ5M8kPsZgg7V0wwir7JdV+y3Ohe0fHELjlg3/wXthd +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/uvic/uvic.cert b/server/component/planetlab/us/uvic/uvic.cert new file mode 100644 index 00000000..bf50c289 --- /dev/null +++ b/server/component/planetlab/us/uvic/uvic.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwR1dmljMB4XDTA4 +MDMyODAzNDUwOVoXDTEzMDMyNzAzNDUwOVowDzENMAsGA1UEAxMEdXZpYzCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAuCI9XCY9lYG1PLmFQlfwOrlANpX5ygrz +EUQUQJ08FNvaCXzIek32Z5TbseLcLqE/p7jBctNmE9cEhe3Ni3mvQLbVLvdXsCv/ +wPMkEzTJLOKTafuFE7avahQqz3fR7OiyXs4hcDDycBcrdizqW5F3kLSqLaPrOEID +zR7KEMEBlI8CAwEAATANBgkqhkiG9w0BAQQFAAOBgQA63jNDHL8vfZsIDVKsujbH +wjkc8KXccaMSCSwHd50xjafgVgfLxj3sJNnMMc30ydU1pZuV2EQWFuAPy946dmZR +2HJfNT1v/gItuq+XniiifednvQcjubzGwXMZx1QQAK8BiN16vdBMTfsHzegBhNFK +zz9WyWE69mfjSui9B3vmNw== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/uvic/uvic.pkey b/server/component/planetlab/us/uvic/uvic.pkey new file mode 100644 index 00000000..cc77e19c --- /dev/null +++ b/server/component/planetlab/us/uvic/uvic.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC4Ij1cJj2VgbU8uYVCV/A6uUA2lfnKCvMRRBRAnTwU29oJfMh6 +TfZnlNux4twuoT+nuMFy02YT1wSF7c2Lea9AttUu91ewK//A8yQTNMks4pNp+4UT +tq9qFCrPd9Hs6LJeziFwMPJwFyt2LOpbkXeQtKoto+s4QgPNHsoQwQGUjwIDAQAB +AoGAJm7HHefBbOZA3ObgIKPYOXmXJI2TMI+ugkkSbRYkhzoIPXi1I4oIR0BzxqJS +UM1JSwmuHvhu0u9LO2USRO1mHaIofZcRJRR3WppHHnY8DcwVvpa6evFx2r/un1Jp +guVgE5le6YSU7HmQBAoESr5a3xAyLGzl2GUxAnnuqoAriGkCQQDbH7Kgx/Hh0qb+ +aq/REaKzc4qI3FmP7URxRZtJtZ3E+WGKH2h6hJWGazDAEAQkSp2Y8bycKA4UuGx9 +003yex39AkEA1x8ZHtVvPuINvfhGX/upP4IwGZNEdI9GyMRkWfZn5sAQYkKd9vMV +YIOHxMTXuSCla/vgyzvLhEX5n50gqiScewJAJ9dflzRDmpe+nUuwpAbc2lwLuE64 +Sh8N7rqFPaW0BfiB76c+S+iHd2VN+93totueRAzQCmSOCt5te4NMDOat0QJAS7qv +3jHmwq1Thx/CroFqeGf9RNOaEqppkb3JUf4zX4EXg2/OKiQyz1IeVn+xLYO3mEcI +QKNhJsR3duAaoqrWxwJBAIPYAStgJUm/2wkOkIPHxWSIBQ6U/aD5Q9npDPFSmvP9 +xCqNQG+O1dTsU8TEi8vOnhyY9C4lC4tXiamcgv+MUkY= +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/uwaccretivedsl/uwaccretivedsl.cert b/server/component/planetlab/us/uwaccretivedsl/uwaccretivedsl.cert new file mode 100644 index 00000000..51baea90 --- /dev/null +++ b/server/component/planetlab/us/uwaccretivedsl/uwaccretivedsl.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOdXdhY2NyZXRp +dmVkc2wwHhcNMDgwMzI4MDM0NTA4WhcNMTMwMzI3MDM0NTA4WjAZMRcwFQYDVQQD +Ew51d2FjY3JldGl2ZWRzbDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA3I0H +6dgxxwZDSvdZDZv2a2el8ocBakKLYb5NlwPRZnQTbezEzIZ9iyvHsTIiNyhK1NNS +5KrF708tMiUoGCmSw30ToJ+El7gQgPTcEwVxogDG33wtFss+9ODxneq9FKaDkf+X +1F7ufHmApIoB2q0CVVUrIT0vJ8n8ElDC9sISnYUCAwEAATANBgkqhkiG9w0BAQQF +AAOBgQDWaA3VNsnt+TpeTeZ2iMgFFGJrX4onRp1m2xOdWrXcBvmBcjIAFBBGCg0p +RSP5dC6ggShFHFU3K1uAMS9ng3/uqdT1APtgaPA/svd9jcK6CtdSgO2enUCaG2v1 +AN0jb5TVvt39ZIEQDvyDhWHcF+PzhcvnlrHHlHXGvjmL8rc/pg== +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/uwaccretivedsl/uwaccretivedsl.pkey b/server/component/planetlab/us/uwaccretivedsl/uwaccretivedsl.pkey new file mode 100644 index 00000000..f8fce1e6 --- /dev/null +++ b/server/component/planetlab/us/uwaccretivedsl/uwaccretivedsl.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDcjQfp2DHHBkNK91kNm/ZrZ6XyhwFqQothvk2XA9FmdBNt7MTM +hn2LK8exMiI3KErU01LkqsXvTy0yJSgYKZLDfROgn4SXuBCA9NwTBXGiAMbffC0W +yz704PGd6r0UpoOR/5fUXu58eYCkigHarQJVVSshPS8nyfwSUML2whKdhQIDAQAB +AoGAXJUbSE/H/Yskfni8uljJJacZ42hG8MtEZWCUg5tHsOFzMobcyhp+4wgayMiJ +0muolhSrzG/frSioiU9NuG7jO0NTClNiGm1TApFIVhlbdARLMYFMAqD6pc33RbMP +/fJmFaF+vE0HoLNV9kR+ppd17yPNY6plYecc6uCXy5xZmeECQQD1PM+cA+lirnMW +9T80fGbT5F+XxEmCeb6LlT6Oc4JyNcRncNHQxiT7tmQZ8v9x37u7DQyuB5DZQRof +vvXjeO+ZAkEA5jre/IUHQs4xX5UJ+fFk1BmsSJhyMbDC1Fm5POmdMxptife0ERNS +zULTN2Ob3qTqhiJKkc5lFj3xUcFFz8jAzQJBALb9Z1TdPlraHRq2aTE62mel8waF ++uwW9+2jsYgN/PpH0IP3FTiZgaMpV8xdG+rWrXhHpnx9PMI/58Rkc4oHBZECQHcO +7K+Dj6yxeoDmTuFtPuocWKa2Bx/BPA+aUpu4Z628tfbKHNlTt9cj/pw/K6Tofctd +wlhCdq4Y3Emd/B8mvuUCQQCi1PqTl8tU7FpmDSUhFboPaGvTNbUvj3VPjJPCDPwR +ayjY/z6+6D2KFyWUt7YqVtKR8ewvgoNPs5W2Uumm9K7w +-----END RSA PRIVATE KEY----- diff --git a/server/component/planetlab/us/vanderbilt/vanderbilt.cert b/server/component/planetlab/us/vanderbilt/vanderbilt.cert new file mode 100644 index 00000000..df04ef7c --- /dev/null +++ b/server/component/planetlab/us/vanderbilt/vanderbilt.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBmTCCAQICAQAwDQYJKoZIhvcNAQEEBQAwFTETMBEGA1UEAxMKdmFuZGVyYmls +dDAeFw0wODAzMjgwMzQ1MDhaFw0xMzAzMjcwMzQ1MDhaMBUxEzARBgNVBAMTCnZh +bmRlcmJpbHQwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOMTJnlQpJbwFUzk +o+SP7asm3Ete9iZ2G3PfJFHblWyvmX8AM/tFIsrNqJPqlFGwvhhMnd+r6HnF/u8V +WeRFKCt4hzNR3KY34fGaoQc/kAtQAfnlX4xBvb1iZzJi49gMiuz6RuK5XhP/RL9D +4qcc3MhxlHS5QPaYv5naxgnJXM35AgMBAAEwDQYJKoZIhvcNAQEEBQADgYEABXRt +tVRPHLlhs9CMcUI3cttD77m0CilVurmRNCPW1vFj1u0aDBXynlVjMwV2SUi6J3+e +KcsuA/Qtks9Fx4ScNqwsNu7wYn0drfG5/NR2e27ZSRtW9d78dTJvKq6RayNnUdDd +ubXd6Nj30By1W/E2f+pddGmIRYC7TyDW1hDgjqI= +-----END CERTIFICATE----- diff --git a/server/component/planetlab/us/vanderbilt/vanderbilt.pkey b/server/component/planetlab/us/vanderbilt/vanderbilt.pkey new file mode 100644 index 00000000..bb0ac06c --- /dev/null +++ b/server/component/planetlab/us/vanderbilt/vanderbilt.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDjEyZ5UKSW8BVM5KPkj+2rJtxLXvYmdhtz3yRR25Vsr5l/ADP7 +RSLKzaiT6pRRsL4YTJ3fq+h5xf7vFVnkRSgreIczUdymN+HxmqEHP5ALUAH55V+M +Qb29YmcyYuPYDIrs+kbiuV4T/0S/Q+KnHNzIcZR0uUD2mL+Z2sYJyVzN+QIDAQAB +AoGAFSqq0nIm9X7prWI+uMaF1AdqT4hJj6pAwttRCmRamGgB+emt7sUyCg+DoE4k +hzzfa2pw6PGgWQGQ0v59g57CsKW3eXD8huwyTssFRvVJEeWUuB6Na+9dUqMkqUSZ +3qmiZE//ToCYoHtHyjCzKZWLzXZl4MQCjKkBT6TkaVL+gIECQQDxZjbXf8+NV3qv +jY/C6vfA6Kxp5ruUQmpxtJhqxLhjcaDlonufkMN2jeJXYIzSN4pHTsKKblsAFVTG +2U2KXymRAkEA8M8jbkDZfESGXhp3QPhrJ+bnLgzN9nhZP5fOgfFPXqFzNDaBgVhF +A5HMhLGci7VVijioFqFMiiAJ5h6tb7vp6QJAWKQg5TbgftUtjsMblAZ13VdS4DxC +iulsbr5S7Xm4/4MdAtWMMYaVz7W/9DfW3eZZF2AbXXuyXLB4heALchEJkQJBAIj1 +prccVxXge3OmJdFj+L4XC8EbM0FNLaWHl8I8FuJBfR5jKcEBDS98iw+lXN3w4pfc +pW1JjBi7JCYnqIj2HZECQF4WkYtF4bdzrfa1gNKtpF9dRkUZFv2XHrWmCcyLpQOy +vZbuLLaOXTNE4J06e9u9VnqJ/JNxch3Z8lxYdi0dir0= +-----END RSA PRIVATE KEY----- diff --git a/server/interface_tree_cr b/server/interface_tree_cr new file mode 100644 index 00000000..9e3a8a4e --- /dev/null +++ b/server/interface_tree_cr @@ -0,0 +1,97 @@ +planetlab |The root authority + jp |Japan authority + naist |Nara Institute of Science and Technology |http://inet-lab.naist.jp/ + nict |National Institute of Information and Communications Technology |http://www.nict.go.jp/ + osaka |Osaka University |http://www.ist.osaka-u.ac.jp + wide |WIDE Project |http://www.wide.ad.jp/ + plcolojgnsendai |PlanetLab Colo - NICT JGN2 Sendai | + plcolojgnnagoya |PlanetLab Colo - NICT JGN2 Nagoya | + plcolojgnosaka |PlanetLab Colo - NICT JGN2 Osaka | + plcolojgnokayama |PlanetLab Colo - NICT JGN2 Okayama | + plcolojgnhiroshima |PlanetLab Colo - NICT JGN2 Hiroshima | + plcolojgnkochi |PlanetLab Colo - NICT JGN2 Kochi | + plcolojgnfukuoka |PlanetLab Colo - NICT JGN2 Fukuoka | + plcolotppoznan |PlanetLab Colo - TP Poznan |http://www.tp-ir.pl/index.php?page=index&lang=en + plcolotppiotrkow |PlanetLab Colo - TP Piotrkow Trybunalski |http://www.tp-ir.pl/index.php?page=index&lang=en + plcolotpgdansk |PlanetLab Colo - TP Gdansk |http://www.tp-ir.pl/index.php?page=index&lang=en + waseda |Waseda University |http://www.waseda.jp/ + keio |Keio University |http://www.sfc.wide.ad.jp + utokyo |University of Tokyo |http://www.planet-lab-jp.org + jaist |Japan Advanced Institute of Science and Technology (JAIST) |http://www.jaist.ac.jp + us |US authority + uwaccretivedsl |University of Washington - Accretive DSL |http://www.cs.washington.edu/ + irp |Intel Research Pittsburgh |http://www.intel-research.net/pittsburgh/ + cernetneu |CERNET - Northeast University |http://www.neu.edu.cn/english/ + utxsa |University of Texas at San Antonio |http://www.utsa.edu + att |AT&T Labs--Research |http://www.research.att.com + vanderbilt |Vanderbilt University |http://www.vuse.vanderbilt.edu + uci |University of California, Irvine |http://www.ics.uci.edu/~lbao/planetlab/ + uclaee |UCLA - EE |http://cantor.ee.ucla.edu/~networks/ + ucla |University of California at Los Angeles |http://www.cs.ucla.edu/ + ccny |City College of the City University of New York |http://www.ccny.cuny.edu/cint/ + michigan |University of Michigan |http://www.eecs.umich.edu/ + columbia |Columbia University |http://www.cs.columbia.edu/ + northwestern |Northwestern University at Illinois |http://www.cs.northwestern.edu/ + rpi |Rensselaer Polytechnic Institute |http://networks.ecse.rpi.edu/ + rice |Rice University |http://www.cs.rice.edu/ + brown |Brown University |http://cs.brown.edu/ + uvic |University of Victoria |http://www.uvic.ca + stevens |Stevens Institute of Technology |http://www.cs.stevens-tech.edu + colorado |University of Colorado at Boulder |http://serl.cs.colorado.edu + orbit |Orbit |http://www.orbit-lab.org + bu |Boston University |http://www.cs.bu.edu/ + aub |American University of Beirut |http://www.aub.edu.lb + jhuis |Johns Hopkins Information Security Institute |http://www.cs.jhu.edu/ + ucd |University of California, Davis |http://engineering.ucdavis.edu + utah |University of Utah |http://www.cs.utah.edu/ + tky |new site for testing purposes |tokyo.com + eu |Europe authority + eurecom |Eurecom Institute |http://www.eurecom.fr + inria |INRIA Sophia Antipolis |http://www-sop.inria.fr/ + ethzcs |ETH Zuerich - Computer Science |http://www.inf.ethz.ch + basel |University of Basel, Switzerland |http://cn.cs.unibas.ch/ + enst |Ecole Nationale Superieure des Telecommunications |http://www.enst.fr + unizh |University of Zurich, Institut fur Informatik |http://www.csg.uzh.ch/ + moscowstate |Moscow State University |http://www.cs.msu.ru/ + msuchem |Moscow State University, Chemistry |http://lcc.chem.msu.ru + hawh |HAW Hamburg |http://www.haw-hamburg.de + bamberg |University of Bamberg |http://www.uni-bamberg.de/wiai/minf + budapest |Budapest University of Technology and Economics |http://www.tmit.bme.hu/home!eng + upb |University of Paderborn |http://www.uni-paderborn.de + tcd |Trinity College Dublin |http://www.cs.tcd.ie + irisa |IRISA |http://www.irisa.fr + cesnet |CESNET - Czech Education and Research Network |http://www.ces.net/about/ + aston |Aston University |http://www.aston.ac.uk/~pengx1/DSN-project + univie |University of Vienna |http://www.cs.univie.ac.at + lisbon |University of Lisbon |http://lasige.di.fc.ul.pt + konstanz |University of Konstanz |http://www.uni-konstanz.de + fokus |Fraunhofer FOKUS - Research Institute for Open Communication Systems |http://www.fokus.fraunhofer.de + snummlab |Seoul National University - MMLAB |http://mmlab.snu.ac.kr/ + qub |Queen's University Belfast |http://www.qub.ac.uk/schools/eeecs/ + sydney |University of Technology at Sydney |http://www.it.uts.edu.au/ + canterbury |University of Canterbury, New Zealand |http://www.cosc.canterbury.ac.nz/ + fing |Facultad de Ingenieria - Universidad de la Republica |http://www.fing.edu.uy + haifa |Haifa University |http://www.haifa.ac.il + iitr |Indian Institute of Technology Roorkee |http://www.iitr.ac.in + tau |Tel-Aviv University |http://www.cs.tau.ac.il + canarie |CANARIE |http://www.canarie.ca + ntu |National Taiwan University, Department of Information Management |http://www.im.ntu.edu.tw/index_e.htm + equinixsi |Equinix - Singapore | + icavite |Intel - Cavite | + ihaifa |Intel - Haifa | + ileixlip |Intel - Leixlip | + ula |Centro Nacional de Calculo Cientifico Universidad de Los Andes |http://www.cecalc.ula.ve/ + canariecalgary |Canarie - Calgary |http://www.canarie.ca + canarieottawa |Canarie - Ottawa |http://www.canarie.ca + canariehalifax |Canarie - Halifax |http://www.canarie.ca + canariemontreal |Canarie - Montreal |http://www.canarie.ca + canarietoronto |Canarie - Toronto |http://www.canarie.ca + canariewinnipeg |Canarie - Winnipeg |http://www.canarie.ca + unioslo |University of Oslo |http://www.ifi.uio.no/dmms + buaa |BeiHang University |http://www.nlsde.buaa.edu.cn + cernetxjtu |CERNET - XiAn Jiao Tong University |http://www.xjtu.edu.cn/en/ + cernetsdu |CERNET - Shandong University |http://www.sdu.edu.cn/english/ + cernetpku |CERNET - Peiking University |http://en.pku.edu.cn/ + cernetbuaa |CERNET - Beihang University |http://ev.buaa.edu.cn/ + cernetzju |CERNET - Zhejiang University |http://www.zju.edu.cn/english/ + cernetxmu |CERNET - Xiamen University |http://www.xmu.edu.cn/english/index.htm \ No newline at end of file diff --git a/server/interface_tree_cr_dict b/server/interface_tree_cr_dict new file mode 100644 index 00000000..17a90283 --- /dev/null +++ b/server/interface_tree_cr_dict @@ -0,0 +1 @@ +{'info': {'node_data': {'key_info': {'acc_file': 'acc_file', 'id_file': 'planetlab.cert', 'cred_file': 'cred_file', 'id_key_file': 'planetlab.pkey', 'last_update': '', 'folder': 'component/planetlab'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'planetlab', 'name': 'planetlab'}, 'children': [{'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'jp.cert', 'cred_file': '', 'id_key_file': 'jp.pkey', 'last_update': '', 'folder': 'component/planetlab/jp'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'jp', 'name': 'planetlab.jp'}, 'children': [{'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'naist.cert', 'cred_file': '', 'id_key_file': 'naist.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/naist'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$naist_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'naist', 'name': 'planetlab.jp.naist'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'nict.cert', 'cred_file': '', 'id_key_file': 'nict.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/nict'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$nict_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'nict', 'name': 'planetlab.jp.nict'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'osaka.cert', 'cred_file': '', 'id_key_file': 'osaka.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/osaka'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$osaka_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'osaka', 'name': 'planetlab.jp.osaka'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'wide.cert', 'cred_file': '', 'id_key_file': 'wide.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/wide'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$wide_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'wide', 'name': 'planetlab.jp.wide'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnsendai.cert', 'cred_file': '', 'id_key_file': 'plcolojgnsendai.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/plcolojgnsendai'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnsendai_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnsendai', 'name': 'planetlab.jp.plcolojgnsendai'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnnagoya.cert', 'cred_file': '', 'id_key_file': 'plcolojgnnagoya.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/plcolojgnnagoya'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnnagoya_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnnagoya', 'name': 'planetlab.jp.plcolojgnnagoya'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnosaka.cert', 'cred_file': '', 'id_key_file': 'plcolojgnosaka.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/plcolojgnosaka'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnosaka_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnosaka', 'name': 'planetlab.jp.plcolojgnosaka'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnokayama.cert', 'cred_file': '', 'id_key_file': 'plcolojgnokayama.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/plcolojgnokayama'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnokayama_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnokayama', 'name': 'planetlab.jp.plcolojgnokayama'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnhiroshima.cert', 'cred_file': '', 'id_key_file': 'plcolojgnhiroshima.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/plcolojgnhiroshima'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnhiroshima_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnhiroshima', 'name': 'planetlab.jp.plcolojgnhiroshima'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnkochi.cert', 'cred_file': '', 'id_key_file': 'plcolojgnkochi.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/plcolojgnkochi'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnkochi_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnkochi', 'name': 'planetlab.jp.plcolojgnkochi'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnfukuoka.cert', 'cred_file': '', 'id_key_file': 'plcolojgnfukuoka.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/plcolojgnfukuoka'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnfukuoka_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnfukuoka', 'name': 'planetlab.jp.plcolojgnfukuoka'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolotppoznan.cert', 'cred_file': '', 'id_key_file': 'plcolotppoznan.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/plcolotppoznan'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolotppoznan_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolotppoznan', 'name': 'planetlab.jp.plcolotppoznan'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolotppiotrkow.cert', 'cred_file': '', 'id_key_file': 'plcolotppiotrkow.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/plcolotppiotrkow'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolotppiotrkow_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolotppiotrkow', 'name': 'planetlab.jp.plcolotppiotrkow'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolotpgdansk.cert', 'cred_file': '', 'id_key_file': 'plcolotpgdansk.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/plcolotpgdansk'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolotpgdansk_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolotpgdansk', 'name': 'planetlab.jp.plcolotpgdansk'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'waseda.cert', 'cred_file': '', 'id_key_file': 'waseda.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/waseda'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$waseda_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'waseda', 'name': 'planetlab.jp.waseda'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'keio.cert', 'cred_file': '', 'id_key_file': 'keio.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/keio'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$keio_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'keio', 'name': 'planetlab.jp.keio'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'utokyo.cert', 'cred_file': '', 'id_key_file': 'utokyo.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/utokyo'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$utokyo_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'utokyo', 'name': 'planetlab.jp.utokyo'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'jaist.cert', 'cred_file': '', 'id_key_file': 'jaist.pkey', 'last_update': '', 'folder': 'component/planetlab/jp/jaist'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$jaist_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'jaist', 'name': 'planetlab.jp.jaist'}, 'children': []}]}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'us.cert', 'cred_file': '', 'id_key_file': 'us.pkey', 'last_update': '', 'folder': 'component/planetlab/us'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'us', 'name': 'planetlab.us'}, 'children': [{'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'uwaccretivedsl.cert', 'cred_file': '', 'id_key_file': 'uwaccretivedsl.pkey', 'last_update': '', 'folder': 'component/planetlab/us/uwaccretivedsl'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$uwaccretivedsl_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'uwaccretivedsl', 'name': 'planetlab.us.uwaccretivedsl'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'irp.cert', 'cred_file': '', 'id_key_file': 'irp.pkey', 'last_update': '', 'folder': 'component/planetlab/us/irp'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$irp_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'irp', 'name': 'planetlab.us.irp'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetneu.cert', 'cred_file': '', 'id_key_file': 'cernetneu.pkey', 'last_update': '', 'folder': 'component/planetlab/us/cernetneu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$cernetneu_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetneu', 'name': 'planetlab.us.cernetneu'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'utxsa.cert', 'cred_file': '', 'id_key_file': 'utxsa.pkey', 'last_update': '', 'folder': 'component/planetlab/us/utxsa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$utxsa_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'utxsa', 'name': 'planetlab.us.utxsa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'att.cert', 'cred_file': '', 'id_key_file': 'att.pkey', 'last_update': '', 'folder': 'component/planetlab/us/att'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$att_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'att', 'name': 'planetlab.us.att'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'vanderbilt.cert', 'cred_file': '', 'id_key_file': 'vanderbilt.pkey', 'last_update': '', 'folder': 'component/planetlab/us/vanderbilt'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$vanderbilt_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'vanderbilt', 'name': 'planetlab.us.vanderbilt'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'uci.cert', 'cred_file': '', 'id_key_file': 'uci.pkey', 'last_update': '', 'folder': 'component/planetlab/us/uci'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$uci_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'uci', 'name': 'planetlab.us.uci'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'uclaee.cert', 'cred_file': '', 'id_key_file': 'uclaee.pkey', 'last_update': '', 'folder': 'component/planetlab/us/uclaee'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$uclaee_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'uclaee', 'name': 'planetlab.us.uclaee'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ucla.cert', 'cred_file': '', 'id_key_file': 'ucla.pkey', 'last_update': '', 'folder': 'component/planetlab/us/ucla'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$ucla_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ucla', 'name': 'planetlab.us.ucla'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ccny.cert', 'cred_file': '', 'id_key_file': 'ccny.pkey', 'last_update': '', 'folder': 'component/planetlab/us/ccny'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$ccny_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ccny', 'name': 'planetlab.us.ccny'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'michigan.cert', 'cred_file': '', 'id_key_file': 'michigan.pkey', 'last_update': '', 'folder': 'component/planetlab/us/michigan'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$michigan_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'michigan', 'name': 'planetlab.us.michigan'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'columbia.cert', 'cred_file': '', 'id_key_file': 'columbia.pkey', 'last_update': '', 'folder': 'component/planetlab/us/columbia'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$columbia_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'columbia', 'name': 'planetlab.us.columbia'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'northwestern.cert', 'cred_file': '', 'id_key_file': 'northwestern.pkey', 'last_update': '', 'folder': 'component/planetlab/us/northwestern'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$northwestern_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'northwestern', 'name': 'planetlab.us.northwestern'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'rpi.cert', 'cred_file': '', 'id_key_file': 'rpi.pkey', 'last_update': '', 'folder': 'component/planetlab/us/rpi'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$rpi_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'rpi', 'name': 'planetlab.us.rpi'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'rice.cert', 'cred_file': '', 'id_key_file': 'rice.pkey', 'last_update': '', 'folder': 'component/planetlab/us/rice'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$rice_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'rice', 'name': 'planetlab.us.rice'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'brown.cert', 'cred_file': '', 'id_key_file': 'brown.pkey', 'last_update': '', 'folder': 'component/planetlab/us/brown'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$brown_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'brown', 'name': 'planetlab.us.brown'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'uvic.cert', 'cred_file': '', 'id_key_file': 'uvic.pkey', 'last_update': '', 'folder': 'component/planetlab/us/uvic'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$uvic_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'uvic', 'name': 'planetlab.us.uvic'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'stevens.cert', 'cred_file': '', 'id_key_file': 'stevens.pkey', 'last_update': '', 'folder': 'component/planetlab/us/stevens'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$stevens_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'stevens', 'name': 'planetlab.us.stevens'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'colorado.cert', 'cred_file': '', 'id_key_file': 'colorado.pkey', 'last_update': '', 'folder': 'component/planetlab/us/colorado'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$colorado_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'colorado', 'name': 'planetlab.us.colorado'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'orbit.cert', 'cred_file': '', 'id_key_file': 'orbit.pkey', 'last_update': '', 'folder': 'component/planetlab/us/orbit'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$orbit_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'orbit', 'name': 'planetlab.us.orbit'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'bu.cert', 'cred_file': '', 'id_key_file': 'bu.pkey', 'last_update': '', 'folder': 'component/planetlab/us/bu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$bu_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'bu', 'name': 'planetlab.us.bu'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'aub.cert', 'cred_file': '', 'id_key_file': 'aub.pkey', 'last_update': '', 'folder': 'component/planetlab/us/aub'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$aub_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'aub', 'name': 'planetlab.us.aub'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'jhuis.cert', 'cred_file': '', 'id_key_file': 'jhuis.pkey', 'last_update': '', 'folder': 'component/planetlab/us/jhuis'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$jhuis_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'jhuis', 'name': 'planetlab.us.jhuis'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ucd.cert', 'cred_file': '', 'id_key_file': 'ucd.pkey', 'last_update': '', 'folder': 'component/planetlab/us/ucd'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$ucd_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ucd', 'name': 'planetlab.us.ucd'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'utah.cert', 'cred_file': '', 'id_key_file': 'utah.pkey', 'last_update': '', 'folder': 'component/planetlab/us/utah'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$utah_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'utah', 'name': 'planetlab.us.utah'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'tky.cert', 'cred_file': '', 'id_key_file': 'tky.pkey', 'last_update': '', 'folder': 'component/planetlab/us/tky'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$tky_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'tky', 'name': 'planetlab.us.tky'}, 'children': []}]}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'eu.cert', 'cred_file': '', 'id_key_file': 'eu.pkey', 'last_update': '', 'folder': 'component/planetlab/eu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'eu', 'name': 'planetlab.eu'}, 'children': [{'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'eurecom.cert', 'cred_file': '', 'id_key_file': 'eurecom.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/eurecom'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$eurecom_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'eurecom', 'name': 'planetlab.eu.eurecom'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'inria.cert', 'cred_file': '', 'id_key_file': 'inria.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/inria'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$inria_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'inria', 'name': 'planetlab.eu.inria'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ethzcs.cert', 'cred_file': '', 'id_key_file': 'ethzcs.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/ethzcs'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$ethzcs_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ethzcs', 'name': 'planetlab.eu.ethzcs'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'basel.cert', 'cred_file': '', 'id_key_file': 'basel.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/basel'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$basel_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'basel', 'name': 'planetlab.eu.basel'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'enst.cert', 'cred_file': '', 'id_key_file': 'enst.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/enst'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$enst_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'enst', 'name': 'planetlab.eu.enst'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'unizh.cert', 'cred_file': '', 'id_key_file': 'unizh.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/unizh'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$unizh_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'unizh', 'name': 'planetlab.eu.unizh'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'moscowstate.cert', 'cred_file': '', 'id_key_file': 'moscowstate.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/moscowstate'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$moscowstate_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'moscowstate', 'name': 'planetlab.eu.moscowstate'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'msuchem.cert', 'cred_file': '', 'id_key_file': 'msuchem.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/msuchem'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$msuchem_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'msuchem', 'name': 'planetlab.eu.msuchem'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'hawh.cert', 'cred_file': '', 'id_key_file': 'hawh.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/hawh'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$hawh_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'hawh', 'name': 'planetlab.eu.hawh'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'bamberg.cert', 'cred_file': '', 'id_key_file': 'bamberg.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/bamberg'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$bamberg_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'bamberg', 'name': 'planetlab.eu.bamberg'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'budapest.cert', 'cred_file': '', 'id_key_file': 'budapest.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/budapest'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$budapest_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'budapest', 'name': 'planetlab.eu.budapest'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'upb.cert', 'cred_file': '', 'id_key_file': 'upb.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/upb'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$upb_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'upb', 'name': 'planetlab.eu.upb'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'tcd.cert', 'cred_file': '', 'id_key_file': 'tcd.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/tcd'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$tcd_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'tcd', 'name': 'planetlab.eu.tcd'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'irisa.cert', 'cred_file': '', 'id_key_file': 'irisa.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/irisa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$irisa_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'irisa', 'name': 'planetlab.eu.irisa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cesnet.cert', 'cred_file': '', 'id_key_file': 'cesnet.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/cesnet'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$cesnet_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cesnet', 'name': 'planetlab.eu.cesnet'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'aston.cert', 'cred_file': '', 'id_key_file': 'aston.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/aston'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$aston_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'aston', 'name': 'planetlab.eu.aston'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'univie.cert', 'cred_file': '', 'id_key_file': 'univie.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/univie'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$univie_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'univie', 'name': 'planetlab.eu.univie'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'lisbon.cert', 'cred_file': '', 'id_key_file': 'lisbon.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/lisbon'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$lisbon_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'lisbon', 'name': 'planetlab.eu.lisbon'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'konstanz.cert', 'cred_file': '', 'id_key_file': 'konstanz.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/konstanz'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$konstanz_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'konstanz', 'name': 'planetlab.eu.konstanz'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'fokus.cert', 'cred_file': '', 'id_key_file': 'fokus.pkey', 'last_update': '', 'folder': 'component/planetlab/eu/fokus'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$fokus_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'fokus', 'name': 'planetlab.eu.fokus'}, 'children': []}]}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'snummlab.cert', 'cred_file': '', 'id_key_file': 'snummlab.pkey', 'last_update': '', 'folder': 'component/planetlab/snummlab'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$snummlab_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'snummlab', 'name': 'planetlab.snummlab'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'qub.cert', 'cred_file': '', 'id_key_file': 'qub.pkey', 'last_update': '', 'folder': 'component/planetlab/qub'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$qub_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'qub', 'name': 'planetlab.qub'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'sydney.cert', 'cred_file': '', 'id_key_file': 'sydney.pkey', 'last_update': '', 'folder': 'component/planetlab/sydney'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$sydney_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'sydney', 'name': 'planetlab.sydney'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canterbury.cert', 'cred_file': '', 'id_key_file': 'canterbury.pkey', 'last_update': '', 'folder': 'component/planetlab/canterbury'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canterbury_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canterbury', 'name': 'planetlab.canterbury'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'fing.cert', 'cred_file': '', 'id_key_file': 'fing.pkey', 'last_update': '', 'folder': 'component/planetlab/fing'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$fing_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'fing', 'name': 'planetlab.fing'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'haifa.cert', 'cred_file': '', 'id_key_file': 'haifa.pkey', 'last_update': '', 'folder': 'component/planetlab/haifa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$haifa_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'haifa', 'name': 'planetlab.haifa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'iitr.cert', 'cred_file': '', 'id_key_file': 'iitr.pkey', 'last_update': '', 'folder': 'component/planetlab/iitr'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$iitr_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'iitr', 'name': 'planetlab.iitr'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'tau.cert', 'cred_file': '', 'id_key_file': 'tau.pkey', 'last_update': '', 'folder': 'component/planetlab/tau'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$tau_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'tau', 'name': 'planetlab.tau'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canarie.cert', 'cred_file': '', 'id_key_file': 'canarie.pkey', 'last_update': '', 'folder': 'component/planetlab/canarie'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canarie_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canarie', 'name': 'planetlab.canarie'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ntu.cert', 'cred_file': '', 'id_key_file': 'ntu.pkey', 'last_update': '', 'folder': 'component/planetlab/ntu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$ntu_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ntu', 'name': 'planetlab.ntu'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'equinixsi.cert', 'cred_file': '', 'id_key_file': 'equinixsi.pkey', 'last_update': '', 'folder': 'component/planetlab/equinixsi'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$equinixsi_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'equinixsi', 'name': 'planetlab.equinixsi'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'icavite.cert', 'cred_file': '', 'id_key_file': 'icavite.pkey', 'last_update': '', 'folder': 'component/planetlab/icavite'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$icavite_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'icavite', 'name': 'planetlab.icavite'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ihaifa.cert', 'cred_file': '', 'id_key_file': 'ihaifa.pkey', 'last_update': '', 'folder': 'component/planetlab/ihaifa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$ihaifa_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ihaifa', 'name': 'planetlab.ihaifa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ileixlip.cert', 'cred_file': '', 'id_key_file': 'ileixlip.pkey', 'last_update': '', 'folder': 'component/planetlab/ileixlip'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$ileixlip_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ileixlip', 'name': 'planetlab.ileixlip'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ula.cert', 'cred_file': '', 'id_key_file': 'ula.pkey', 'last_update': '', 'folder': 'component/planetlab/ula'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$ula_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ula', 'name': 'planetlab.ula'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canariecalgary.cert', 'cred_file': '', 'id_key_file': 'canariecalgary.pkey', 'last_update': '', 'folder': 'component/planetlab/canariecalgary'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canariecalgary_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canariecalgary', 'name': 'planetlab.canariecalgary'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canarieottawa.cert', 'cred_file': '', 'id_key_file': 'canarieottawa.pkey', 'last_update': '', 'folder': 'component/planetlab/canarieottawa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canarieottawa_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canarieottawa', 'name': 'planetlab.canarieottawa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canariehalifax.cert', 'cred_file': '', 'id_key_file': 'canariehalifax.pkey', 'last_update': '', 'folder': 'component/planetlab/canariehalifax'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canariehalifax_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canariehalifax', 'name': 'planetlab.canariehalifax'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canariemontreal.cert', 'cred_file': '', 'id_key_file': 'canariemontreal.pkey', 'last_update': '', 'folder': 'component/planetlab/canariemontreal'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canariemontreal_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canariemontreal', 'name': 'planetlab.canariemontreal'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canarietoronto.cert', 'cred_file': '', 'id_key_file': 'canarietoronto.pkey', 'last_update': '', 'folder': 'component/planetlab/canarietoronto'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canarietoronto_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canarietoronto', 'name': 'planetlab.canarietoronto'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canariewinnipeg.cert', 'cred_file': '', 'id_key_file': 'canariewinnipeg.pkey', 'last_update': '', 'folder': 'component/planetlab/canariewinnipeg'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canariewinnipeg_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canariewinnipeg', 'name': 'planetlab.canariewinnipeg'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'unioslo.cert', 'cred_file': '', 'id_key_file': 'unioslo.pkey', 'last_update': '', 'folder': 'component/planetlab/unioslo'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$unioslo_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'unioslo', 'name': 'planetlab.unioslo'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'buaa.cert', 'cred_file': '', 'id_key_file': 'buaa.pkey', 'last_update': '', 'folder': 'component/planetlab/buaa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$buaa_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'buaa', 'name': 'planetlab.buaa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetxjtu.cert', 'cred_file': '', 'id_key_file': 'cernetxjtu.pkey', 'last_update': '', 'folder': 'component/planetlab/cernetxjtu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$cernetxjtu_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetxjtu', 'name': 'planetlab.cernetxjtu'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetsdu.cert', 'cred_file': '', 'id_key_file': 'cernetsdu.pkey', 'last_update': '', 'folder': 'component/planetlab/cernetsdu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$cernetsdu_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetsdu', 'name': 'planetlab.cernetsdu'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetpku.cert', 'cred_file': '', 'id_key_file': 'cernetpku.pkey', 'last_update': '', 'folder': 'component/planetlab/cernetpku'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$cernetpku_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetpku', 'name': 'planetlab.cernetpku'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetbuaa.cert', 'cred_file': '', 'id_key_file': 'cernetbuaa.pkey', 'last_update': '', 'folder': 'component/planetlab/cernetbuaa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$cernetbuaa_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetbuaa', 'name': 'planetlab.cernetbuaa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetzju.cert', 'cred_file': '', 'id_key_file': 'cernetzju.pkey', 'last_update': '', 'folder': 'component/planetlab/cernetzju'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$cernetzju_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetzju', 'name': 'planetlab.cernetzju'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetxmu.cert', 'cred_file': '', 'id_key_file': 'cernetxmu.pkey', 'last_update': '', 'folder': 'component/planetlab/cernetxmu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$cernetxmu_crr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetxmu', 'name': 'planetlab.cernetxmu'}, 'children': []}]} \ No newline at end of file diff --git a/server/interface_tree_sr b/server/interface_tree_sr new file mode 100644 index 00000000..9e3a8a4e --- /dev/null +++ b/server/interface_tree_sr @@ -0,0 +1,97 @@ +planetlab |The root authority + jp |Japan authority + naist |Nara Institute of Science and Technology |http://inet-lab.naist.jp/ + nict |National Institute of Information and Communications Technology |http://www.nict.go.jp/ + osaka |Osaka University |http://www.ist.osaka-u.ac.jp + wide |WIDE Project |http://www.wide.ad.jp/ + plcolojgnsendai |PlanetLab Colo - NICT JGN2 Sendai | + plcolojgnnagoya |PlanetLab Colo - NICT JGN2 Nagoya | + plcolojgnosaka |PlanetLab Colo - NICT JGN2 Osaka | + plcolojgnokayama |PlanetLab Colo - NICT JGN2 Okayama | + plcolojgnhiroshima |PlanetLab Colo - NICT JGN2 Hiroshima | + plcolojgnkochi |PlanetLab Colo - NICT JGN2 Kochi | + plcolojgnfukuoka |PlanetLab Colo - NICT JGN2 Fukuoka | + plcolotppoznan |PlanetLab Colo - TP Poznan |http://www.tp-ir.pl/index.php?page=index&lang=en + plcolotppiotrkow |PlanetLab Colo - TP Piotrkow Trybunalski |http://www.tp-ir.pl/index.php?page=index&lang=en + plcolotpgdansk |PlanetLab Colo - TP Gdansk |http://www.tp-ir.pl/index.php?page=index&lang=en + waseda |Waseda University |http://www.waseda.jp/ + keio |Keio University |http://www.sfc.wide.ad.jp + utokyo |University of Tokyo |http://www.planet-lab-jp.org + jaist |Japan Advanced Institute of Science and Technology (JAIST) |http://www.jaist.ac.jp + us |US authority + uwaccretivedsl |University of Washington - Accretive DSL |http://www.cs.washington.edu/ + irp |Intel Research Pittsburgh |http://www.intel-research.net/pittsburgh/ + cernetneu |CERNET - Northeast University |http://www.neu.edu.cn/english/ + utxsa |University of Texas at San Antonio |http://www.utsa.edu + att |AT&T Labs--Research |http://www.research.att.com + vanderbilt |Vanderbilt University |http://www.vuse.vanderbilt.edu + uci |University of California, Irvine |http://www.ics.uci.edu/~lbao/planetlab/ + uclaee |UCLA - EE |http://cantor.ee.ucla.edu/~networks/ + ucla |University of California at Los Angeles |http://www.cs.ucla.edu/ + ccny |City College of the City University of New York |http://www.ccny.cuny.edu/cint/ + michigan |University of Michigan |http://www.eecs.umich.edu/ + columbia |Columbia University |http://www.cs.columbia.edu/ + northwestern |Northwestern University at Illinois |http://www.cs.northwestern.edu/ + rpi |Rensselaer Polytechnic Institute |http://networks.ecse.rpi.edu/ + rice |Rice University |http://www.cs.rice.edu/ + brown |Brown University |http://cs.brown.edu/ + uvic |University of Victoria |http://www.uvic.ca + stevens |Stevens Institute of Technology |http://www.cs.stevens-tech.edu + colorado |University of Colorado at Boulder |http://serl.cs.colorado.edu + orbit |Orbit |http://www.orbit-lab.org + bu |Boston University |http://www.cs.bu.edu/ + aub |American University of Beirut |http://www.aub.edu.lb + jhuis |Johns Hopkins Information Security Institute |http://www.cs.jhu.edu/ + ucd |University of California, Davis |http://engineering.ucdavis.edu + utah |University of Utah |http://www.cs.utah.edu/ + tky |new site for testing purposes |tokyo.com + eu |Europe authority + eurecom |Eurecom Institute |http://www.eurecom.fr + inria |INRIA Sophia Antipolis |http://www-sop.inria.fr/ + ethzcs |ETH Zuerich - Computer Science |http://www.inf.ethz.ch + basel |University of Basel, Switzerland |http://cn.cs.unibas.ch/ + enst |Ecole Nationale Superieure des Telecommunications |http://www.enst.fr + unizh |University of Zurich, Institut fur Informatik |http://www.csg.uzh.ch/ + moscowstate |Moscow State University |http://www.cs.msu.ru/ + msuchem |Moscow State University, Chemistry |http://lcc.chem.msu.ru + hawh |HAW Hamburg |http://www.haw-hamburg.de + bamberg |University of Bamberg |http://www.uni-bamberg.de/wiai/minf + budapest |Budapest University of Technology and Economics |http://www.tmit.bme.hu/home!eng + upb |University of Paderborn |http://www.uni-paderborn.de + tcd |Trinity College Dublin |http://www.cs.tcd.ie + irisa |IRISA |http://www.irisa.fr + cesnet |CESNET - Czech Education and Research Network |http://www.ces.net/about/ + aston |Aston University |http://www.aston.ac.uk/~pengx1/DSN-project + univie |University of Vienna |http://www.cs.univie.ac.at + lisbon |University of Lisbon |http://lasige.di.fc.ul.pt + konstanz |University of Konstanz |http://www.uni-konstanz.de + fokus |Fraunhofer FOKUS - Research Institute for Open Communication Systems |http://www.fokus.fraunhofer.de + snummlab |Seoul National University - MMLAB |http://mmlab.snu.ac.kr/ + qub |Queen's University Belfast |http://www.qub.ac.uk/schools/eeecs/ + sydney |University of Technology at Sydney |http://www.it.uts.edu.au/ + canterbury |University of Canterbury, New Zealand |http://www.cosc.canterbury.ac.nz/ + fing |Facultad de Ingenieria - Universidad de la Republica |http://www.fing.edu.uy + haifa |Haifa University |http://www.haifa.ac.il + iitr |Indian Institute of Technology Roorkee |http://www.iitr.ac.in + tau |Tel-Aviv University |http://www.cs.tau.ac.il + canarie |CANARIE |http://www.canarie.ca + ntu |National Taiwan University, Department of Information Management |http://www.im.ntu.edu.tw/index_e.htm + equinixsi |Equinix - Singapore | + icavite |Intel - Cavite | + ihaifa |Intel - Haifa | + ileixlip |Intel - Leixlip | + ula |Centro Nacional de Calculo Cientifico Universidad de Los Andes |http://www.cecalc.ula.ve/ + canariecalgary |Canarie - Calgary |http://www.canarie.ca + canarieottawa |Canarie - Ottawa |http://www.canarie.ca + canariehalifax |Canarie - Halifax |http://www.canarie.ca + canariemontreal |Canarie - Montreal |http://www.canarie.ca + canarietoronto |Canarie - Toronto |http://www.canarie.ca + canariewinnipeg |Canarie - Winnipeg |http://www.canarie.ca + unioslo |University of Oslo |http://www.ifi.uio.no/dmms + buaa |BeiHang University |http://www.nlsde.buaa.edu.cn + cernetxjtu |CERNET - XiAn Jiao Tong University |http://www.xjtu.edu.cn/en/ + cernetsdu |CERNET - Shandong University |http://www.sdu.edu.cn/english/ + cernetpku |CERNET - Peiking University |http://en.pku.edu.cn/ + cernetbuaa |CERNET - Beihang University |http://ev.buaa.edu.cn/ + cernetzju |CERNET - Zhejiang University |http://www.zju.edu.cn/english/ + cernetxmu |CERNET - Xiamen University |http://www.xmu.edu.cn/english/index.htm \ No newline at end of file diff --git a/server/interface_tree_sr_dict b/server/interface_tree_sr_dict new file mode 100644 index 00000000..e8b2a036 --- /dev/null +++ b/server/interface_tree_sr_dict @@ -0,0 +1 @@ +{'info': {'node_data': {'key_info': {'acc_file': 'acc_file', 'id_file': 'planetlab.cert', 'cred_file': 'cred_file', 'id_key_file': 'planetlab.pkey', 'last_update': '', 'folder': 'slice/planetlab'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'planetlab', 'name': 'planetlab'}, 'children': [{'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'jp.cert', 'cred_file': '', 'id_key_file': 'jp.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'jp', 'name': 'planetlab.jp'}, 'children': [{'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'naist.cert', 'cred_file': '', 'id_key_file': 'naist.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/naist'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$naist_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'naist', 'name': 'planetlab.jp.naist'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'nict.cert', 'cred_file': '', 'id_key_file': 'nict.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/nict'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$nict_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'nict', 'name': 'planetlab.jp.nict'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'osaka.cert', 'cred_file': '', 'id_key_file': 'osaka.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/osaka'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$osaka_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'osaka', 'name': 'planetlab.jp.osaka'}, 'children': [{'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'tokyobranch2.cert', 'cred_file': '', 'id_key_file': 'tokyobranch2.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/osaka/tokyobranch2'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$osaka$tokyobranch2_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'tokyologinbg', 'name': 'planetlab.jp.osaka.tokyobranch2'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'tokyobranchty.cert', 'cred_file': '', 'id_key_file': 'tokyobranchty.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/osaka/tokyobranchty'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$osaka$tokyobranchty_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'myloginbasejj', 'name': 'planetlab.jp.osaka.tokyobranchty'}, 'children': []}]}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'wide.cert', 'cred_file': '', 'id_key_file': 'wide.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/wide'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$wide_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'wide', 'name': 'planetlab.jp.wide'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnsendai.cert', 'cred_file': '', 'id_key_file': 'plcolojgnsendai.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/plcolojgnsendai'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnsendai_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnsendai', 'name': 'planetlab.jp.plcolojgnsendai'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnnagoya.cert', 'cred_file': '', 'id_key_file': 'plcolojgnnagoya.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/plcolojgnnagoya'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnnagoya_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnnagoya', 'name': 'planetlab.jp.plcolojgnnagoya'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnosaka.cert', 'cred_file': '', 'id_key_file': 'plcolojgnosaka.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/plcolojgnosaka'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnosaka_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnosaka', 'name': 'planetlab.jp.plcolojgnosaka'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnokayama.cert', 'cred_file': '', 'id_key_file': 'plcolojgnokayama.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/plcolojgnokayama'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnokayama_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnokayama', 'name': 'planetlab.jp.plcolojgnokayama'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnhiroshima.cert', 'cred_file': '', 'id_key_file': 'plcolojgnhiroshima.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/plcolojgnhiroshima'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnhiroshima_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnhiroshima', 'name': 'planetlab.jp.plcolojgnhiroshima'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnkochi.cert', 'cred_file': '', 'id_key_file': 'plcolojgnkochi.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/plcolojgnkochi'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnkochi_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnkochi', 'name': 'planetlab.jp.plcolojgnkochi'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolojgnfukuoka.cert', 'cred_file': '', 'id_key_file': 'plcolojgnfukuoka.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/plcolojgnfukuoka'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolojgnfukuoka_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolojgnfukuoka', 'name': 'planetlab.jp.plcolojgnfukuoka'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolotppoznan.cert', 'cred_file': '', 'id_key_file': 'plcolotppoznan.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/plcolotppoznan'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolotppoznan_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolotppoznan', 'name': 'planetlab.jp.plcolotppoznan'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolotppiotrkow.cert', 'cred_file': '', 'id_key_file': 'plcolotppiotrkow.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/plcolotppiotrkow'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolotppiotrkow_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolotppiotrkow', 'name': 'planetlab.jp.plcolotppiotrkow'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'plcolotpgdansk.cert', 'cred_file': '', 'id_key_file': 'plcolotpgdansk.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/plcolotpgdansk'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$plcolotpgdansk_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'plcolotpgdansk', 'name': 'planetlab.jp.plcolotpgdansk'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'waseda.cert', 'cred_file': '', 'id_key_file': 'waseda.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/waseda'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$waseda_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'waseda', 'name': 'planetlab.jp.waseda'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'keio.cert', 'cred_file': '', 'id_key_file': 'keio.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/keio'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$keio_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'keio', 'name': 'planetlab.jp.keio'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'utokyo.cert', 'cred_file': '', 'id_key_file': 'utokyo.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/utokyo'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$utokyo_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'utokyo', 'name': 'planetlab.jp.utokyo'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'jaist.cert', 'cred_file': '', 'id_key_file': 'jaist.pkey', 'last_update': '', 'folder': 'slice/planetlab/jp/jaist'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$jp$jaist_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'jaist', 'name': 'planetlab.jp.jaist'}, 'children': []}]}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'us.cert', 'cred_file': '', 'id_key_file': 'us.pkey', 'last_update': '', 'folder': 'slice/planetlab/us'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'us', 'name': 'planetlab.us'}, 'children': [{'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'uwaccretivedsl.cert', 'cred_file': '', 'id_key_file': 'uwaccretivedsl.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/uwaccretivedsl'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$uwaccretivedsl_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'uwaccretivedsl', 'name': 'planetlab.us.uwaccretivedsl'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'irp.cert', 'cred_file': '', 'id_key_file': 'irp.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/irp'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$irp_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'irp', 'name': 'planetlab.us.irp'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetneu.cert', 'cred_file': '', 'id_key_file': 'cernetneu.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/cernetneu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$cernetneu_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetneu', 'name': 'planetlab.us.cernetneu'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'utxsa.cert', 'cred_file': '', 'id_key_file': 'utxsa.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/utxsa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$utxsa_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'utxsa', 'name': 'planetlab.us.utxsa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'att.cert', 'cred_file': '', 'id_key_file': 'att.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/att'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$att_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'att', 'name': 'planetlab.us.att'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'vanderbilt.cert', 'cred_file': '', 'id_key_file': 'vanderbilt.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/vanderbilt'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$vanderbilt_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'vanderbilt', 'name': 'planetlab.us.vanderbilt'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'uci.cert', 'cred_file': '', 'id_key_file': 'uci.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/uci'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$uci_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'uci', 'name': 'planetlab.us.uci'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'uclaee.cert', 'cred_file': '', 'id_key_file': 'uclaee.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/uclaee'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$uclaee_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'uclaee', 'name': 'planetlab.us.uclaee'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ucla.cert', 'cred_file': '', 'id_key_file': 'ucla.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/ucla'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$ucla_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ucla', 'name': 'planetlab.us.ucla'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ccny.cert', 'cred_file': '', 'id_key_file': 'ccny.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/ccny'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$ccny_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ccny', 'name': 'planetlab.us.ccny'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'michigan.cert', 'cred_file': '', 'id_key_file': 'michigan.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/michigan'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$michigan_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'michigan', 'name': 'planetlab.us.michigan'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'columbia.cert', 'cred_file': '', 'id_key_file': 'columbia.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/columbia'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$columbia_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'columbia', 'name': 'planetlab.us.columbia'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'northwestern.cert', 'cred_file': '', 'id_key_file': 'northwestern.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/northwestern'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$northwestern_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'northwestern', 'name': 'planetlab.us.northwestern'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'rpi.cert', 'cred_file': '', 'id_key_file': 'rpi.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/rpi'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$rpi_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'rpi', 'name': 'planetlab.us.rpi'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'rice.cert', 'cred_file': '', 'id_key_file': 'rice.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/rice'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$rice_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'rice', 'name': 'planetlab.us.rice'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'brown.cert', 'cred_file': '', 'id_key_file': 'brown.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/brown'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$brown_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'brown', 'name': 'planetlab.us.brown'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'uvic.cert', 'cred_file': '', 'id_key_file': 'uvic.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/uvic'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$uvic_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'uvic', 'name': 'planetlab.us.uvic'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'stevens.cert', 'cred_file': '', 'id_key_file': 'stevens.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/stevens'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$stevens_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'stevens', 'name': 'planetlab.us.stevens'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'colorado.cert', 'cred_file': '', 'id_key_file': 'colorado.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/colorado'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$colorado_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'colorado', 'name': 'planetlab.us.colorado'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'orbit.cert', 'cred_file': '', 'id_key_file': 'orbit.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/orbit'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$orbit_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'orbit', 'name': 'planetlab.us.orbit'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'bu.cert', 'cred_file': '', 'id_key_file': 'bu.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/bu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$bu_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'bu', 'name': 'planetlab.us.bu'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'aub.cert', 'cred_file': '', 'id_key_file': 'aub.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/aub'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$aub_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'aub', 'name': 'planetlab.us.aub'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'jhuis.cert', 'cred_file': '', 'id_key_file': 'jhuis.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/jhuis'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$jhuis_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'jhuis', 'name': 'planetlab.us.jhuis'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ucd.cert', 'cred_file': '', 'id_key_file': 'ucd.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/ucd'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$ucd_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ucd', 'name': 'planetlab.us.ucd'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'utah.cert', 'cred_file': '', 'id_key_file': 'utah.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/utah'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$utah_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'utah', 'name': 'planetlab.us.utah'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'tky.cert', 'cred_file': '', 'id_key_file': 'tky.pkey', 'last_update': '', 'folder': 'slice/planetlab/us/tky'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$us$tky_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'tky', 'name': 'planetlab.us.tky'}, 'children': []}]}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'eu.cert', 'cred_file': '', 'id_key_file': 'eu.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'eu', 'name': 'planetlab.eu'}, 'children': [{'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'eurecom.cert', 'cred_file': '', 'id_key_file': 'eurecom.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/eurecom'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$eurecom_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'eurecom', 'name': 'planetlab.eu.eurecom'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'inria.cert', 'cred_file': '', 'id_key_file': 'inria.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/inria'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$inria_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'inria', 'name': 'planetlab.eu.inria'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ethzcs.cert', 'cred_file': '', 'id_key_file': 'ethzcs.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/ethzcs'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$ethzcs_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ethzcs', 'name': 'planetlab.eu.ethzcs'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'basel.cert', 'cred_file': '', 'id_key_file': 'basel.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/basel'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$basel_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'basel', 'name': 'planetlab.eu.basel'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'enst.cert', 'cred_file': '', 'id_key_file': 'enst.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/enst'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$enst_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'enst', 'name': 'planetlab.eu.enst'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'unizh.cert', 'cred_file': '', 'id_key_file': 'unizh.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/unizh'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$unizh_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'unizh', 'name': 'planetlab.eu.unizh'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'moscowstate.cert', 'cred_file': '', 'id_key_file': 'moscowstate.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/moscowstate'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$moscowstate_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'moscowstate', 'name': 'planetlab.eu.moscowstate'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'msuchem.cert', 'cred_file': '', 'id_key_file': 'msuchem.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/msuchem'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$msuchem_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'msuchem', 'name': 'planetlab.eu.msuchem'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'hawh.cert', 'cred_file': '', 'id_key_file': 'hawh.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/hawh'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$hawh_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'hawh', 'name': 'planetlab.eu.hawh'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'bamberg.cert', 'cred_file': '', 'id_key_file': 'bamberg.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/bamberg'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$bamberg_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'bamberg', 'name': 'planetlab.eu.bamberg'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'budapest.cert', 'cred_file': '', 'id_key_file': 'budapest.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/budapest'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$budapest_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'budapest', 'name': 'planetlab.eu.budapest'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'upb.cert', 'cred_file': '', 'id_key_file': 'upb.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/upb'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$upb_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'upb', 'name': 'planetlab.eu.upb'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'tcd.cert', 'cred_file': '', 'id_key_file': 'tcd.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/tcd'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$tcd_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'tcd', 'name': 'planetlab.eu.tcd'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'irisa.cert', 'cred_file': '', 'id_key_file': 'irisa.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/irisa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$irisa_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'irisa', 'name': 'planetlab.eu.irisa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cesnet.cert', 'cred_file': '', 'id_key_file': 'cesnet.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/cesnet'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$cesnet_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cesnet', 'name': 'planetlab.eu.cesnet'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'aston.cert', 'cred_file': '', 'id_key_file': 'aston.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/aston'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$aston_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'aston', 'name': 'planetlab.eu.aston'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'univie.cert', 'cred_file': '', 'id_key_file': 'univie.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/univie'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$univie_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'univie', 'name': 'planetlab.eu.univie'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'lisbon.cert', 'cred_file': '', 'id_key_file': 'lisbon.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/lisbon'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$lisbon_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'lisbon', 'name': 'planetlab.eu.lisbon'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'konstanz.cert', 'cred_file': '', 'id_key_file': 'konstanz.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/konstanz'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$konstanz_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'konstanz', 'name': 'planetlab.eu.konstanz'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'fokus.cert', 'cred_file': '', 'id_key_file': 'fokus.pkey', 'last_update': '', 'folder': 'slice/planetlab/eu/fokus'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$eu$fokus_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'fokus', 'name': 'planetlab.eu.fokus'}, 'children': []}]}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'snummlab.cert', 'cred_file': '', 'id_key_file': 'snummlab.pkey', 'last_update': '', 'folder': 'slice/planetlab/snummlab'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$snummlab_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'snummlab', 'name': 'planetlab.snummlab'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'qub.cert', 'cred_file': '', 'id_key_file': 'qub.pkey', 'last_update': '', 'folder': 'slice/planetlab/qub'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$qub_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'qub', 'name': 'planetlab.qub'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'sydney.cert', 'cred_file': '', 'id_key_file': 'sydney.pkey', 'last_update': '', 'folder': 'slice/planetlab/sydney'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$sydney_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'sydney', 'name': 'planetlab.sydney'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canterbury.cert', 'cred_file': '', 'id_key_file': 'canterbury.pkey', 'last_update': '', 'folder': 'slice/planetlab/canterbury'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canterbury_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canterbury', 'name': 'planetlab.canterbury'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'fing.cert', 'cred_file': '', 'id_key_file': 'fing.pkey', 'last_update': '', 'folder': 'slice/planetlab/fing'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$fing_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'fing', 'name': 'planetlab.fing'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'haifa.cert', 'cred_file': '', 'id_key_file': 'haifa.pkey', 'last_update': '', 'folder': 'slice/planetlab/haifa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$haifa_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'haifa', 'name': 'planetlab.haifa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'iitr.cert', 'cred_file': '', 'id_key_file': 'iitr.pkey', 'last_update': '', 'folder': 'slice/planetlab/iitr'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$iitr_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'iitr', 'name': 'planetlab.iitr'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'tau.cert', 'cred_file': '', 'id_key_file': 'tau.pkey', 'last_update': '', 'folder': 'slice/planetlab/tau'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$tau_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'tau', 'name': 'planetlab.tau'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canarie.cert', 'cred_file': '', 'id_key_file': 'canarie.pkey', 'last_update': '', 'folder': 'slice/planetlab/canarie'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canarie_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canarie', 'name': 'planetlab.canarie'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ntu.cert', 'cred_file': '', 'id_key_file': 'ntu.pkey', 'last_update': '', 'folder': 'slice/planetlab/ntu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$ntu_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ntu', 'name': 'planetlab.ntu'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'equinixsi.cert', 'cred_file': '', 'id_key_file': 'equinixsi.pkey', 'last_update': '', 'folder': 'slice/planetlab/equinixsi'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$equinixsi_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'equinixsi', 'name': 'planetlab.equinixsi'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'icavite.cert', 'cred_file': '', 'id_key_file': 'icavite.pkey', 'last_update': '', 'folder': 'slice/planetlab/icavite'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$icavite_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'icavite', 'name': 'planetlab.icavite'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ihaifa.cert', 'cred_file': '', 'id_key_file': 'ihaifa.pkey', 'last_update': '', 'folder': 'slice/planetlab/ihaifa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$ihaifa_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ihaifa', 'name': 'planetlab.ihaifa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ileixlip.cert', 'cred_file': '', 'id_key_file': 'ileixlip.pkey', 'last_update': '', 'folder': 'slice/planetlab/ileixlip'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$ileixlip_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ileixlip', 'name': 'planetlab.ileixlip'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'ula.cert', 'cred_file': '', 'id_key_file': 'ula.pkey', 'last_update': '', 'folder': 'slice/planetlab/ula'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$ula_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'ula', 'name': 'planetlab.ula'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canariecalgary.cert', 'cred_file': '', 'id_key_file': 'canariecalgary.pkey', 'last_update': '', 'folder': 'slice/planetlab/canariecalgary'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canariecalgary_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canariecalgary', 'name': 'planetlab.canariecalgary'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canarieottawa.cert', 'cred_file': '', 'id_key_file': 'canarieottawa.pkey', 'last_update': '', 'folder': 'slice/planetlab/canarieottawa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canarieottawa_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canarieottawa', 'name': 'planetlab.canarieottawa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canariehalifax.cert', 'cred_file': '', 'id_key_file': 'canariehalifax.pkey', 'last_update': '', 'folder': 'slice/planetlab/canariehalifax'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canariehalifax_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canariehalifax', 'name': 'planetlab.canariehalifax'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canariemontreal.cert', 'cred_file': '', 'id_key_file': 'canariemontreal.pkey', 'last_update': '', 'folder': 'slice/planetlab/canariemontreal'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canariemontreal_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canariemontreal', 'name': 'planetlab.canariemontreal'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canarietoronto.cert', 'cred_file': '', 'id_key_file': 'canarietoronto.pkey', 'last_update': '', 'folder': 'slice/planetlab/canarietoronto'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canarietoronto_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canarietoronto', 'name': 'planetlab.canarietoronto'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'canariewinnipeg.cert', 'cred_file': '', 'id_key_file': 'canariewinnipeg.pkey', 'last_update': '', 'folder': 'slice/planetlab/canariewinnipeg'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$canariewinnipeg_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'canariewinnipeg', 'name': 'planetlab.canariewinnipeg'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'unioslo.cert', 'cred_file': '', 'id_key_file': 'unioslo.pkey', 'last_update': '', 'folder': 'slice/planetlab/unioslo'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$unioslo_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'unioslo', 'name': 'planetlab.unioslo'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'buaa.cert', 'cred_file': '', 'id_key_file': 'buaa.pkey', 'last_update': '', 'folder': 'slice/planetlab/buaa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$buaa_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'buaa', 'name': 'planetlab.buaa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetxjtu.cert', 'cred_file': '', 'id_key_file': 'cernetxjtu.pkey', 'last_update': '', 'folder': 'slice/planetlab/cernetxjtu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$cernetxjtu_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetxjtu', 'name': 'planetlab.cernetxjtu'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetsdu.cert', 'cred_file': '', 'id_key_file': 'cernetsdu.pkey', 'last_update': '', 'folder': 'slice/planetlab/cernetsdu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$cernetsdu_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetsdu', 'name': 'planetlab.cernetsdu'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetpku.cert', 'cred_file': '', 'id_key_file': 'cernetpku.pkey', 'last_update': '', 'folder': 'slice/planetlab/cernetpku'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$cernetpku_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetpku', 'name': 'planetlab.cernetpku'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetbuaa.cert', 'cred_file': '', 'id_key_file': 'cernetbuaa.pkey', 'last_update': '', 'folder': 'slice/planetlab/cernetbuaa'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$cernetbuaa_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetbuaa', 'name': 'planetlab.cernetbuaa'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetzju.cert', 'cred_file': '', 'id_key_file': 'cernetzju.pkey', 'last_update': '', 'folder': 'slice/planetlab/cernetzju'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$cernetzju_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetzju', 'name': 'planetlab.cernetzju'}, 'children': []}, {'info': {'node_data': {'key_info': {'acc_file': '', 'id_file': 'cernetxmu.cert', 'cred_file': '', 'id_key_file': 'cernetxmu.pkey', 'last_update': '', 'folder': 'slice/planetlab/cernetxmu'}, 'db_info': {'db_name': 'plDB', 'table_name': 'planetlab$cernetxmu_srr', 'user': 'postgres', 'address': 'localhost', 'password': '111', 'port': 5433}}, 'login_base': 'cernetxmu', 'name': 'planetlab.cernetxmu'}, 'children': []}]} \ No newline at end of file diff --git a/server/jpywork/PathVFS$_PyInner.class b/server/jpywork/PathVFS$_PyInner.class new file mode 100644 index 0000000000000000000000000000000000000000..18200155f19737f8138215e82bc3209584bf6bed GIT binary patch literal 7997 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 Drc`~U literal 0 HcmV?d00001 diff --git a/server/jpywork/PathVFS.java b/server/jpywork/PathVFS.java new file mode 100644 index 00000000..57d4262b --- /dev/null +++ b/server/jpywork/PathVFS.java @@ -0,0 +1,287 @@ +import org.python.core.*; + +public class PathVFS extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject i$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject s$8; + private static PyObject s$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyFunctionTable funcTable; + private static PyCode c$0___init__; + private static PyCode c$1_open; + private static PyCode c$2___repr__; + private static PyCode c$3_JarVFS; + private static PyCode c$4___init__; + private static PyCode c$5_open; + private static PyCode c$6___repr__; + private static PyCode c$7_DirVFS; + private static PyCode c$8_add_vfs; + private static PyCode c$9___init__; + private static PyCode c$10_open; + private static PyCode c$11_PathVFS; + private static PyCode c$12_main; + private static void initConstants() { + s$0 = Py.newString(""); + s$1 = Py.newString(""); + s$2 = Py.newString("/"); + s$3 = Py.newString(""); + i$4 = Py.newInteger(1); + s$5 = Py.newString(".jar"); + s$6 = Py.newString(".zip"); + s$7 = Py.newString("python.packages.paths"); + s$8 = Py.newString("java.class.path"); + s$9 = Py.newString(","); + s$10 = Py.newString("sun.boot.class.path"); + s$11 = Py.newString("/usr/share/jython/Tools/jythonc/PathVFS.py"); + funcTable = new _PyInner(); + c$0___init__ = Py.newCode(2, new String[] {"self", "fname"}, "/usr/share/jython/Tools/jythonc/PathVFS.py", "__init__", false, false, funcTable, 0, null, null, 0, 1); + c$1_open = Py.newCode(2, new String[] {"self", "id", "ent"}, "/usr/share/jython/Tools/jythonc/PathVFS.py", "open", false, false, funcTable, 1, null, null, 0, 1); + c$2___repr__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Tools/jythonc/PathVFS.py", "__repr__", false, false, funcTable, 2, null, null, 0, 1); + c$3_JarVFS = Py.newCode(0, new String[] {}, "/usr/share/jython/Tools/jythonc/PathVFS.py", "JarVFS", false, false, funcTable, 3, null, null, 0, 0); + c$4___init__ = Py.newCode(2, new String[] {"self", "dir"}, "/usr/share/jython/Tools/jythonc/PathVFS.py", "__init__", false, false, funcTable, 4, null, null, 0, 1); + c$5_open = Py.newCode(2, new String[] {"self", "id", "f"}, "/usr/share/jython/Tools/jythonc/PathVFS.py", "open", false, false, funcTable, 5, null, null, 0, 1); + c$6___repr__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Tools/jythonc/PathVFS.py", "__repr__", false, false, funcTable, 6, null, null, 0, 1); + c$7_DirVFS = Py.newCode(0, new String[] {}, "/usr/share/jython/Tools/jythonc/PathVFS.py", "DirVFS", false, false, funcTable, 7, null, null, 0, 0); + c$8_add_vfs = Py.newCode(2, new String[] {"self", "fname", "file", "canon"}, "/usr/share/jython/Tools/jythonc/PathVFS.py", "add_vfs", false, false, funcTable, 8, null, null, 0, 1); + c$9___init__ = Py.newCode(2, new String[] {"self", "registry", "name", "p", "e", "paths", "path"}, "/usr/share/jython/Tools/jythonc/PathVFS.py", "__init__", false, false, funcTable, 9, null, null, 0, 1); + c$10_open = Py.newCode(2, new String[] {"self", "id", "v", "stream"}, "/usr/share/jython/Tools/jythonc/PathVFS.py", "open", false, false, funcTable, 10, null, null, 0, 1); + c$11_PathVFS = Py.newCode(0, new String[] {}, "/usr/share/jython/Tools/jythonc/PathVFS.py", "PathVFS", false, false, funcTable, 11, null, null, 0, 0); + c$12_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Tools/jythonc/PathVFS.py", "main", false, false, funcTable, 12, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$12_main == null) _PyInner.initConstants(); + return c$12_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.__init__$1(frame); + case 1: + return _PyInner.open$2(frame); + case 2: + return _PyInner.__repr__$3(frame); + case 3: + return _PyInner.JarVFS$4(frame); + case 4: + return _PyInner.__init__$5(frame); + case 5: + return _PyInner.open$6(frame); + case 6: + return _PyInner.__repr__$7(frame); + case 7: + return _PyInner.DirVFS$8(frame); + case 8: + return _PyInner.add_vfs$9(frame); + case 9: + return _PyInner.__init__$10(frame); + case 10: + return _PyInner.open$11(frame); + case 11: + return _PyInner.PathVFS$12(frame); + case 12: + return _PyInner.main$13(frame); + default: + return null; + } + } + + private static PyObject __init__$1(PyFrame frame) { + frame.getlocal(0).__setattr__("zipfile", frame.getglobal("zip").__getattr__("ZipFile").__call__(frame.getlocal(1))); + return Py.None; + } + + private static PyObject open$2(PyFrame frame) { + frame.setlocal(2, frame.getlocal(0).__getattr__("zipfile").invoke("getEntry", frame.getlocal(1))); + if (frame.getlocal(2).__nonzero__()) { + return frame.getlocal(0).__getattr__("zipfile").invoke("getInputStream", frame.getlocal(2)); + } + else { + return frame.getglobal("None"); + } + } + + private static PyObject __repr__$3(PyFrame frame) { + return s$0._mod(frame.getlocal(0).__getattr__("zipfile").__getattr__("name")); + } + + private static PyObject JarVFS$4(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$0___init__)); + frame.setlocal("open", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_open)); + frame.setlocal("__repr__", new PyFunction(frame.f_globals, new PyObject[] {}, c$2___repr__)); + return frame.getf_locals(); + } + + private static PyObject __init__$5(PyFrame frame) { + if (frame.getlocal(1)._eq(s$1).__nonzero__()) { + frame.getlocal(0).__setattr__("pfx", frame.getglobal("None")); + } + else { + frame.getlocal(0).__setattr__("pfx", frame.getlocal(1)); + } + return Py.None; + } + + private static PyObject open$6(PyFrame frame) { + frame.setlocal(2, frame.getglobal("io").__getattr__("File").__call__(frame.getlocal(0).__getattr__("pfx"), frame.getlocal(1).invoke("replace", s$2, frame.getglobal("io").__getattr__("File").__getattr__("separator")))); + if (frame.getlocal(2).__getattr__("file").__nonzero__()) { + return frame.getglobal("io").__getattr__("BufferedInputStream").__call__(frame.getglobal("io").__getattr__("FileInputStream").__call__(frame.getlocal(2))); + } + return frame.getglobal("None"); + } + + private static PyObject __repr__$7(PyFrame frame) { + return s$3._mod(frame.getlocal(0).__getattr__("pfx")); + } + + private static PyObject DirVFS$8(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$4___init__)); + frame.setlocal("open", new PyFunction(frame.f_globals, new PyObject[] {}, c$5_open)); + frame.setlocal("__repr__", new PyFunction(frame.f_globals, new PyObject[] {}, c$6___repr__)); + return frame.getf_locals(); + } + + private static PyObject add_vfs$9(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + if (frame.getlocal(1)._eq(s$1).__nonzero__()) { + if (frame.getlocal(0).__getattr__("once").invoke("has_key", s$1).__not__().__nonzero__()) { + frame.getlocal(0).__getattr__("once").__setitem__(s$1, i$4); + frame.getlocal(0).__getattr__("vfs").invoke("append", frame.getglobal("DirVFS").__call__(s$1)); + } + return Py.None; + } + frame.setlocal(2, frame.getglobal("io").__getattr__("File").__call__(frame.getlocal(1))); + frame.setlocal(3, frame.getlocal(2).__getattr__("canonicalPath")); + if (frame.getlocal(0).__getattr__("once").invoke("has_key", frame.getlocal(3)).__not__().__nonzero__()) { + frame.getlocal(0).__getattr__("once").__setitem__(frame.getlocal(3), i$4); + try { + if (frame.getlocal(2).__getattr__("directory").__nonzero__()) { + frame.getlocal(0).__getattr__("vfs").invoke("append", frame.getglobal("DirVFS").__call__(frame.getlocal(1))); + } + else { + if (((t$0$PyObject = frame.getlocal(2).__getattr__("exists")).__nonzero__() ? ((t$1$PyObject = frame.getlocal(1).invoke("endswith", s$5)).__nonzero__() ? t$1$PyObject : frame.getlocal(1).invoke("endswith", s$6)) : t$0$PyObject).__nonzero__()) { + frame.getlocal(0).__getattr__("vfs").invoke("append", frame.getglobal("JarVFS").__call__(frame.getlocal(1))); + } + } + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + // pass + } + } + return Py.None; + } + + private static PyObject __init__$10(PyFrame frame) { + // Temporary Variables + int t$0$int, t$1$int, t$2$int; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject, t$3$PyObject, t$4$PyObject, t$5$PyObject; + + // Code + frame.getlocal(0).__setattr__("once", new PyDictionary(new PyObject[] {})); + frame.getlocal(0).__setattr__("vfs", new PyList(new PyObject[] {})); + frame.setlocal(5, frame.getlocal(1).invoke("getProperty", s$7, s$8)); + frame.setlocal(5, frame.getlocal(5).invoke("split", s$9)); + if (s$10._in(frame.getlocal(5)).__nonzero__()) { + frame.getlocal(5).invoke("remove", s$10); + } + t$0$int = 0; + t$1$PyObject = frame.getlocal(5); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(3, t$0$PyObject); + frame.setlocal(4, frame.getlocal(1).invoke("getProperty", frame.getlocal(3))); + if (frame.getlocal(4)._ne(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(6, frame.getlocal(4).invoke("split", frame.getglobal("io").__getattr__("File").__getattr__("pathSeparator"))); + t$1$int = 0; + t$3$PyObject = frame.getlocal(6); + while ((t$2$PyObject = t$3$PyObject.__finditem__(t$1$int++)) != null) { + frame.setlocal(2, t$2$PyObject); + frame.getlocal(0).invoke("add_vfs", frame.getlocal(2)); + } + } + } + t$2$int = 0; + t$5$PyObject = frame.getglobal("sys").__getattr__("path"); + while ((t$4$PyObject = t$5$PyObject.__finditem__(t$2$int++)) != null) { + frame.setlocal(2, t$4$PyObject); + frame.getlocal(0).invoke("add_vfs", frame.getlocal(2)); + } + frame.getlocal(0).__delattr__("once"); + return Py.None; + } + + private static PyObject open$11(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + t$0$int = 0; + t$1$PyObject = frame.getlocal(0).__getattr__("vfs"); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(2, t$0$PyObject); + frame.setlocal(3, frame.getlocal(2).invoke("open", frame.getlocal(1))); + if (frame.getlocal(3).__nonzero__()) { + return frame.getlocal(3); + } + } + return frame.getglobal("None"); + } + + private static PyObject PathVFS$12(PyFrame frame) { + frame.setlocal("add_vfs", new PyFunction(frame.f_globals, new PyObject[] {}, c$8_add_vfs)); + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$9___init__)); + frame.setlocal("open", new PyFunction(frame.f_globals, new PyObject[] {}, c$10_open)); + return frame.getf_locals(); + } + + private static PyObject main$13(PyFrame frame) { + frame.setglobal("__file__", s$11); + + PyObject[] imp_accu; + // Code + frame.setlocal("sys", org.python.core.imp.importOne("sys", frame)); + imp_accu = org.python.core.imp.importFrom("java", new String[] {"io"}, frame); + frame.setlocal("io", imp_accu[0]); + imp_accu = null; + imp_accu = org.python.core.imp.importFrom("java.util", new String[] {"zip"}, frame); + frame.setlocal("zip", imp_accu[0]); + imp_accu = null; + frame.setlocal("JarVFS", Py.makeClass("JarVFS", new PyObject[] {}, c$3_JarVFS, null)); + frame.setlocal("DirVFS", Py.makeClass("DirVFS", new PyObject[] {}, c$7_DirVFS, null)); + frame.setlocal("PathVFS", Py.makeClass("PathVFS", new PyObject[] {}, c$11_PathVFS, null)); + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("PathVFS")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "PathVFS"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(PathVFS._PyInner.class, newargs, PathVFS.jpy$packages, PathVFS.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/SocketServer$_PyInner.class b/server/jpywork/SocketServer$_PyInner.class new file mode 100644 index 0000000000000000000000000000000000000000..ea8d8cfa520f85cda7f4d0df5c6f1e5c4ed51ade GIT binary patch literal 27870 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 GK=a?8NrG1Z literal 0 HcmV?d00001 diff --git a/server/jpywork/SocketServer.java b/server/jpywork/SocketServer.java new file mode 100644 index 00000000..8eb03195 --- /dev/null +++ b/server/jpywork/SocketServer.java @@ -0,0 +1,1048 @@ +import org.python.core.*; + +public class SocketServer extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject s$8; + private static PyObject s$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyObject s$13; + private static PyObject s$14; + private static PyObject s$15; + private static PyObject s$16; + private static PyObject s$17; + private static PyObject s$18; + private static PyObject s$19; + private static PyObject s$20; + private static PyObject s$21; + private static PyObject i$22; + private static PyObject s$23; + private static PyObject s$24; + private static PyObject s$25; + private static PyObject s$26; + private static PyObject s$27; + private static PyObject s$28; + private static PyObject s$29; + private static PyObject s$30; + private static PyObject i$31; + private static PyObject s$32; + private static PyObject s$33; + private static PyObject i$34; + private static PyObject i$35; + private static PyObject s$36; + private static PyObject s$37; + private static PyObject s$38; + private static PyObject s$39; + private static PyObject i$40; + private static PyObject s$41; + private static PyObject s$42; + private static PyObject s$43; + private static PyObject s$44; + private static PyObject s$45; + private static PyObject s$46; + private static PyObject s$47; + private static PyObject s$48; + private static PyObject s$49; + private static PyObject s$50; + private static PyObject s$51; + private static PyFunctionTable funcTable; + private static PyCode c$0___init__; + private static PyCode c$1_server_activate; + private static PyCode c$2_serve_forever; + private static PyCode c$3_handle_request; + private static PyCode c$4_verify_request; + private static PyCode c$5_process_request; + private static PyCode c$6_server_close; + private static PyCode c$7_finish_request; + private static PyCode c$8_close_request; + private static PyCode c$9_handle_error; + private static PyCode c$10_BaseServer; + private static PyCode c$11___init__; + private static PyCode c$12_server_bind; + private static PyCode c$13_server_activate; + private static PyCode c$14_server_close; + private static PyCode c$15_fileno; + private static PyCode c$16_get_request; + private static PyCode c$17_close_request; + private static PyCode c$18_TCPServer; + private static PyCode c$19_get_request; + private static PyCode c$20_server_activate; + private static PyCode c$21_close_request; + private static PyCode c$22_UDPServer; + private static PyCode c$23_collect_children; + private static PyCode c$24_process_request; + private static PyCode c$25_ForkingMixIn; + private static PyCode c$26_process_request; + private static PyCode c$27_ThreadingMixIn; + private static PyCode c$28_ForkingUDPServer; + private static PyCode c$29_ForkingTCPServer; + private static PyCode c$30_ThreadingUDPServer; + private static PyCode c$31_ThreadingTCPServer; + private static PyCode c$32_UnixStreamServer; + private static PyCode c$33_UnixDatagramServer; + private static PyCode c$34_ThreadingUnixStreamServer; + private static PyCode c$35_ThreadingUnixDatagramServer; + private static PyCode c$36___init__; + private static PyCode c$37_setup; + private static PyCode c$38___del__; + private static PyCode c$39_handle; + private static PyCode c$40_finish; + private static PyCode c$41_BaseRequestHandler; + private static PyCode c$42_setup; + private static PyCode c$43_finish; + private static PyCode c$44_StreamRequestHandler; + private static PyCode c$45_setup; + private static PyCode c$46_finish; + private static PyCode c$47_DatagramRequestHandler; + private static PyCode c$48_main; + private static void initConstants() { + s$0 = Py.newString("Generic socket server classes.\012\012This module tries to capture the various aspects of defining a server:\012\012For socket-based servers:\012\012- address family:\012 - AF_INET: IP (Internet Protocol) sockets (default)\012 - AF_UNIX: Unix domain sockets\012 - others, e.g. AF_DECNET are conceivable (see \012- socket type:\012 - SOCK_STREAM (reliable stream, e.g. TCP)\012 - SOCK_DGRAM (datagrams, e.g. UDP)\012\012For request-based servers (including socket-based):\012\012- client address verification before further looking at the request\012 (This is actually a hook for any processing that needs to look\012 at the request before anything else, e.g. logging)\012- how to handle multiple requests:\012 - synchronous (one request is handled at a time)\012 - forking (each request is handled by a new process)\012 - threading (each request is handled by a new thread)\012\012The classes in this module favor the server type that is simplest to\012write: a synchronous TCP/IP server. This is bad class design, but\012save some typing. (There's also the issue that a deep class hierarchy\012slows down method lookups.)\012\012There are five classes in an inheritance diagram, four of which represent\012synchronous servers of four types:\012\012 +------------+\012 | BaseServer |\012 +------------+\012 |\012 v\012 +-----------+ +------------------+\012 | TCPServer |------->| UnixStreamServer |\012 +-----------+ +------------------+\012 |\012 v\012 +-----------+ +--------------------+\012 | UDPServer |------->| UnixDatagramServer |\012 +-----------+ +--------------------+\012\012Note that UnixDatagramServer derives from UDPServer, not from\012UnixStreamServer -- the only difference between an IP and a Unix\012stream server is the address family, which is simply repeated in both\012unix server classes.\012\012Forking and threading versions of each type of server can be created\012using the ForkingServer and ThreadingServer mix-in classes. For\012instance, a threading UDP server class is created as follows:\012\012 class ThreadingUDPServer(ThreadingMixIn, UDPServer): pass\012\012The Mix-in class must come first, since it overrides a method defined\012in UDPServer!\012\012To implement a service, you must derive a class from\012BaseRequestHandler and redefine its handle() method. You can then run\012various versions of the service by combining one of the server classes\012with your request handler class.\012\012The request handler class must be different for datagram or stream\012services. This can be hidden by using the mix-in request handler\012classes StreamRequestHandler or DatagramRequestHandler.\012\012Of course, you still have to use your head!\012\012For instance, it makes no sense to use a forking server if the service\012contains state in memory that can be modified by requests (since the\012modifications in the child process would never reach the initial state\012kept in the parent process and passed to each child). In this case,\012you can use a threading server, but you will probably have to use\012locks to avoid two requests that come in nearly simultaneous to apply\012conflicting changes to the server state.\012\012On the other hand, if you are building e.g. an HTTP server, where all\012data is stored externally (e.g. in the file system), a synchronous\012class will essentially render the service \"deaf\" while one request is\012being handled -- which may be for a very long time if a client is slow\012to reqd all the data it has requested. Here a threading or forking\012server is appropriate.\012\012In some cases, it may be appropriate to process part of a request\012synchronously, but to finish processing in a forked child depending on\012the request data. This can be implemented by using a synchronous\012server and doing an explicit fork in the request handler class\012handle() method.\012\012Another approach to handling multiple simultaneous requests in an\012environment that supports neither threads nor fork (or where these are\012too expensive or inappropriate for the service) is to maintain an\012explicit table of partially finished requests and to use select() to\012decide which request to work on next (or whether to handle a new\012incoming request). This is particularly important for stream services\012where each client can potentially be connected for a long time (if\012threads or subprocesses cannot be used).\012\012Future work:\012- Standard classes for Sun RPC (which uses either UDP or TCP)\012- Standard mix-in classes to implement various authentication\012 and encryption schemes\012- Standard framework for select-based multiplexing\012\012XXX Open problems:\012- What to do with out-of-band data?\012\012BaseServer:\012- split generic \"request\" functionality out into BaseServer class.\012 Copyright (C) 2000 Luke Kenneth Casson Leighton \012\012 example: read entries from a SQL database (requires overriding\012 get_request() to return a table entry from the database).\012 entry is processed by a RequestHandlerClass.\012\012"); + s$1 = Py.newString("0.4"); + s$2 = Py.newString("TCPServer"); + s$3 = Py.newString("UDPServer"); + s$4 = Py.newString("ForkingUDPServer"); + s$5 = Py.newString("ForkingTCPServer"); + s$6 = Py.newString("ThreadingUDPServer"); + s$7 = Py.newString("ThreadingTCPServer"); + s$8 = Py.newString("BaseRequestHandler"); + s$9 = Py.newString("StreamRequestHandler"); + s$10 = Py.newString("DatagramRequestHandler"); + s$11 = Py.newString("ThreadingMixIn"); + s$12 = Py.newString("ForkingMixIn"); + s$13 = Py.newString("AF_UNIX"); + s$14 = Py.newString("UnixStreamServer"); + s$15 = Py.newString("UnixDatagramServer"); + s$16 = Py.newString("ThreadingUnixStreamServer"); + s$17 = Py.newString("ThreadingUnixDatagramServer"); + s$18 = Py.newString("Base class for server classes.\012\012 Methods for the caller:\012\012 - __init__(server_address, RequestHandlerClass)\012 - serve_forever()\012 - handle_request() # if you do not use serve_forever()\012 - fileno() -> int # for select()\012\012 Methods that may be overridden:\012\012 - server_bind()\012 - server_activate()\012 - get_request() -> request, client_address\012 - verify_request(request, client_address)\012 - server_close()\012 - process_request(request, client_address)\012 - close_request(request)\012 - handle_error()\012\012 Methods for derived classes:\012\012 - finish_request(request, client_address)\012\012 Class variables that may be overridden by derived classes or\012 instances:\012\012 - address_family\012 - socket_type\012 - reuse_address\012\012 Instance variables:\012\012 - RequestHandlerClass\012 - socket\012\012 "); + s$19 = Py.newString("Constructor. May be extended, do not override."); + s$20 = Py.newString("Called by constructor to activate the server.\012\012 May be overridden.\012\012 "); + s$21 = Py.newString("Handle one request at a time until doomsday."); + i$22 = Py.newInteger(1); + s$23 = Py.newString("Handle one request, possibly blocking."); + s$24 = Py.newString("Verify the request. May be overridden.\012\012 Return true if we should proceed with this request.\012\012 "); + s$25 = Py.newString("Call finish_request.\012\012 Overridden by ForkingMixIn and ThreadingMixIn.\012\012 "); + s$26 = Py.newString("Called to clean-up the server.\012\012 May be overridden.\012\012 "); + s$27 = Py.newString("Finish one request by instantiating RequestHandlerClass."); + s$28 = Py.newString("Called to clean up an individual request."); + s$29 = Py.newString("Handle an error gracefully. May be overridden.\012\012 The default is to print a traceback and continue.\012\012 "); + s$30 = Py.newString("-"); + i$31 = Py.newInteger(40); + s$32 = Py.newString("Exception happened during processing of request from"); + s$33 = Py.newString("Base class for various socket-based server classes.\012\012 Defaults to synchronous IP stream (i.e., TCP).\012\012 Methods for the caller:\012\012 - __init__(server_address, RequestHandlerClass)\012 - serve_forever()\012 - handle_request() # if you don't use serve_forever()\012 - fileno() -> int # for select()\012\012 Methods that may be overridden:\012\012 - server_bind()\012 - server_activate()\012 - get_request() -> request, client_address\012 - verify_request(request, client_address)\012 - process_request(request, client_address)\012 - close_request(request)\012 - handle_error()\012\012 Methods for derived classes:\012\012 - finish_request(request, client_address)\012\012 Class variables that may be overridden by derived classes or\012 instances:\012\012 - address_family\012 - socket_type\012 - request_queue_size (only for stream sockets)\012 - reuse_address\012\012 Instance variables:\012\012 - server_address\012 - RequestHandlerClass\012 - socket\012\012 "); + i$34 = Py.newInteger(5); + i$35 = Py.newInteger(0); + s$36 = Py.newString("Called by constructor to bind the socket.\012\012 May be overridden.\012\012 "); + s$37 = Py.newString("Return socket file number.\012\012 Interface required by select().\012\012 "); + s$38 = Py.newString("Get the request and client address from the socket.\012\012 May be overridden.\012\012 "); + s$39 = Py.newString("UDP server class."); + i$40 = Py.newInteger(8192); + s$41 = Py.newString("Mix-in class to handle each request in a new process."); + s$42 = Py.newString("Internal routine to wait for died children."); + s$43 = Py.newString("Fork a new subprocess to process the request."); + s$44 = Py.newString("Mix-in class to handle each request in a new thread."); + s$45 = Py.newString("Start a new thread to process the request."); + s$46 = Py.newString("Base class for request handler classes.\012\012 This class is instantiated for each request to be handled. The\012 constructor sets the instance variables request, client_address\012 and server, and then calls the handle() method. To implement a\012 specific service, all you need to do is to derive a class which\012 defines a handle() method.\012\012 The handle() method can find the request as self.request, the\012 client address as self.client_address, and the server (in case it\012 needs access to per-server information) as self.server. Since a\012 separate instance is created for each request, the handle() method\012 can define arbitrary other instance variariables.\012\012 "); + s$47 = Py.newString("Define self.rfile and self.wfile for stream sockets."); + s$48 = Py.newString("rb"); + s$49 = Py.newString("wb"); + s$50 = Py.newString("Define self.rfile and self.wfile for datagram sockets."); + s$51 = Py.newString("/usr/share/jython/Lib-cpython/SocketServer.py"); + funcTable = new _PyInner(); + c$0___init__ = Py.newCode(3, new String[] {"self", "server_address", "RequestHandlerClass"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "__init__", false, false, funcTable, 0, null, null, 0, 1); + c$1_server_activate = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "server_activate", false, false, funcTable, 1, null, null, 0, 1); + c$2_serve_forever = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "serve_forever", false, false, funcTable, 2, null, null, 0, 1); + c$3_handle_request = Py.newCode(1, new String[] {"self", "client_address", "request"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "handle_request", false, false, funcTable, 3, null, null, 0, 1); + c$4_verify_request = Py.newCode(3, new String[] {"self", "request", "client_address"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "verify_request", false, false, funcTable, 4, null, null, 0, 1); + c$5_process_request = Py.newCode(3, new String[] {"self", "request", "client_address"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "process_request", false, false, funcTable, 5, null, null, 0, 1); + c$6_server_close = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "server_close", false, false, funcTable, 6, null, null, 0, 1); + c$7_finish_request = Py.newCode(3, new String[] {"self", "request", "client_address"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "finish_request", false, false, funcTable, 7, null, null, 0, 1); + c$8_close_request = Py.newCode(2, new String[] {"self", "request"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "close_request", false, false, funcTable, 8, null, null, 0, 1); + c$9_handle_error = Py.newCode(3, new String[] {"self", "request", "client_address", "traceback"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "handle_error", false, false, funcTable, 9, null, null, 0, 1); + c$10_BaseServer = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "BaseServer", false, false, funcTable, 10, null, null, 0, 0); + c$11___init__ = Py.newCode(3, new String[] {"self", "server_address", "RequestHandlerClass"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "__init__", false, false, funcTable, 11, null, null, 0, 1); + c$12_server_bind = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "server_bind", false, false, funcTable, 12, null, null, 0, 1); + c$13_server_activate = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "server_activate", false, false, funcTable, 13, null, null, 0, 1); + c$14_server_close = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "server_close", false, false, funcTable, 14, null, null, 0, 1); + c$15_fileno = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "fileno", false, false, funcTable, 15, null, null, 0, 1); + c$16_get_request = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "get_request", false, false, funcTable, 16, null, null, 0, 1); + c$17_close_request = Py.newCode(2, new String[] {"self", "request"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "close_request", false, false, funcTable, 17, null, null, 0, 1); + c$18_TCPServer = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "TCPServer", false, false, funcTable, 18, null, null, 0, 0); + c$19_get_request = Py.newCode(1, new String[] {"self", "client_addr", "data"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "get_request", false, false, funcTable, 19, null, null, 0, 1); + c$20_server_activate = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "server_activate", false, false, funcTable, 20, null, null, 0, 1); + c$21_close_request = Py.newCode(2, new String[] {"self", "request"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "close_request", false, false, funcTable, 21, null, null, 0, 1); + c$22_UDPServer = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "UDPServer", false, false, funcTable, 22, null, null, 0, 0); + c$23_collect_children = Py.newCode(1, new String[] {"self", "status", "pid", "options"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "collect_children", false, false, funcTable, 23, null, null, 0, 1); + c$24_process_request = Py.newCode(3, new String[] {"self", "request", "client_address", "pid"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "process_request", false, false, funcTable, 24, null, null, 0, 1); + c$25_ForkingMixIn = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "ForkingMixIn", false, false, funcTable, 25, null, null, 0, 0); + c$26_process_request = Py.newCode(3, new String[] {"self", "request", "client_address", "t", "threading"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "process_request", false, false, funcTable, 26, null, null, 0, 1); + c$27_ThreadingMixIn = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "ThreadingMixIn", false, false, funcTable, 27, null, null, 0, 0); + c$28_ForkingUDPServer = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "ForkingUDPServer", false, false, funcTable, 28, null, null, 0, 0); + c$29_ForkingTCPServer = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "ForkingTCPServer", false, false, funcTable, 29, null, null, 0, 0); + c$30_ThreadingUDPServer = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "ThreadingUDPServer", false, false, funcTable, 30, null, null, 0, 0); + c$31_ThreadingTCPServer = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "ThreadingTCPServer", false, false, funcTable, 31, null, null, 0, 0); + c$32_UnixStreamServer = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "UnixStreamServer", false, false, funcTable, 32, null, null, 0, 0); + c$33_UnixDatagramServer = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "UnixDatagramServer", false, false, funcTable, 33, null, null, 0, 0); + c$34_ThreadingUnixStreamServer = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "ThreadingUnixStreamServer", false, false, funcTable, 34, null, null, 0, 0); + c$35_ThreadingUnixDatagramServer = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "ThreadingUnixDatagramServer", false, false, funcTable, 35, null, null, 0, 0); + c$36___init__ = Py.newCode(4, new String[] {"self", "request", "client_address", "server"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "__init__", false, false, funcTable, 36, null, null, 0, 1); + c$37_setup = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "setup", false, false, funcTable, 37, null, null, 0, 1); + c$38___del__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "__del__", false, false, funcTable, 38, null, null, 0, 1); + c$39_handle = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "handle", false, false, funcTable, 39, null, null, 0, 1); + c$40_finish = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "finish", false, false, funcTable, 40, null, null, 0, 1); + c$41_BaseRequestHandler = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "BaseRequestHandler", false, false, funcTable, 41, null, null, 0, 0); + c$42_setup = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "setup", false, false, funcTable, 42, null, null, 0, 1); + c$43_finish = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "finish", false, false, funcTable, 43, null, null, 0, 1); + c$44_StreamRequestHandler = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "StreamRequestHandler", false, false, funcTable, 44, null, null, 0, 0); + c$45_setup = Py.newCode(1, new String[] {"self", "StringIO"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "setup", false, false, funcTable, 45, null, null, 0, 1); + c$46_finish = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/SocketServer.py", "finish", false, false, funcTable, 46, null, null, 0, 1); + c$47_DatagramRequestHandler = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "DatagramRequestHandler", false, false, funcTable, 47, null, null, 0, 0); + c$48_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/SocketServer.py", "main", false, false, funcTable, 48, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$48_main == null) _PyInner.initConstants(); + return c$48_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.__init__$1(frame); + case 1: + return _PyInner.server_activate$2(frame); + case 2: + return _PyInner.serve_forever$3(frame); + case 3: + return _PyInner.handle_request$4(frame); + case 4: + return _PyInner.verify_request$5(frame); + case 5: + return _PyInner.process_request$6(frame); + case 6: + return _PyInner.server_close$7(frame); + case 7: + return _PyInner.finish_request$8(frame); + case 8: + return _PyInner.close_request$9(frame); + case 9: + return _PyInner.handle_error$10(frame); + case 10: + return _PyInner.BaseServer$11(frame); + case 11: + return _PyInner.__init__$12(frame); + case 12: + return _PyInner.server_bind$13(frame); + case 13: + return _PyInner.server_activate$14(frame); + case 14: + return _PyInner.server_close$15(frame); + case 15: + return _PyInner.fileno$16(frame); + case 16: + return _PyInner.get_request$17(frame); + case 17: + return _PyInner.close_request$18(frame); + case 18: + return _PyInner.TCPServer$19(frame); + case 19: + return _PyInner.get_request$20(frame); + case 20: + return _PyInner.server_activate$21(frame); + case 21: + return _PyInner.close_request$22(frame); + case 22: + return _PyInner.UDPServer$23(frame); + case 23: + return _PyInner.collect_children$24(frame); + case 24: + return _PyInner.process_request$25(frame); + case 25: + return _PyInner.ForkingMixIn$26(frame); + case 26: + return _PyInner.process_request$27(frame); + case 27: + return _PyInner.ThreadingMixIn$28(frame); + case 28: + return _PyInner.ForkingUDPServer$29(frame); + case 29: + return _PyInner.ForkingTCPServer$30(frame); + case 30: + return _PyInner.ThreadingUDPServer$31(frame); + case 31: + return _PyInner.ThreadingTCPServer$32(frame); + case 32: + return _PyInner.UnixStreamServer$33(frame); + case 33: + return _PyInner.UnixDatagramServer$34(frame); + case 34: + return _PyInner.ThreadingUnixStreamServer$35(frame); + case 35: + return _PyInner.ThreadingUnixDatagramServer$36(frame); + case 36: + return _PyInner.__init__$37(frame); + case 37: + return _PyInner.setup$38(frame); + case 38: + return _PyInner.__del__$39(frame); + case 39: + return _PyInner.handle$40(frame); + case 40: + return _PyInner.finish$41(frame); + case 41: + return _PyInner.BaseRequestHandler$42(frame); + case 42: + return _PyInner.setup$43(frame); + case 43: + return _PyInner.finish$44(frame); + case 44: + return _PyInner.StreamRequestHandler$45(frame); + case 45: + return _PyInner.setup$46(frame); + case 46: + return _PyInner.finish$47(frame); + case 47: + return _PyInner.DatagramRequestHandler$48(frame); + case 48: + return _PyInner.main$49(frame); + default: + return null; + } + } + + private static PyObject __init__$1(PyFrame frame) { + /* Constructor. May be extended, do not override. */ + frame.getlocal(0).__setattr__("server_address", frame.getlocal(1)); + frame.getlocal(0).__setattr__("RequestHandlerClass", frame.getlocal(2)); + return Py.None; + } + + private static PyObject server_activate$2(PyFrame frame) { + /* Called by constructor to activate the server. + + May be overridden. + + */ + // pass + return Py.None; + } + + private static PyObject serve_forever$3(PyFrame frame) { + /* Handle one request at a time until doomsday. */ + while (i$22.__nonzero__()) { + frame.getlocal(0).invoke("handle_request"); + } + return Py.None; + } + + private static PyObject handle_request$4(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + PyException t$0$PyException; + + // Code + /* Handle one request, possibly blocking. */ + try { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(0).invoke("get_request"), 2); + frame.setlocal(2, t$0$PyObject__[0]); + frame.setlocal(1, t$0$PyObject__[1]); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("socket").__getattr__("error"))) { + return Py.None; + } + else throw t$0$PyException; + } + if (frame.getlocal(0).invoke("verify_request", frame.getlocal(2), frame.getlocal(1)).__nonzero__()) { + try { + frame.getlocal(0).invoke("process_request", frame.getlocal(2), frame.getlocal(1)); + } + catch (Throwable x$1) { + t$0$PyException = Py.setException(x$1, frame); + frame.getlocal(0).invoke("handle_error", frame.getlocal(2), frame.getlocal(1)); + frame.getlocal(0).invoke("close_request", frame.getlocal(2)); + } + } + return Py.None; + } + + private static PyObject verify_request$5(PyFrame frame) { + /* Verify the request. May be overridden. + + Return true if we should proceed with this request. + + */ + return i$22; + } + + private static PyObject process_request$6(PyFrame frame) { + /* Call finish_request. + + Overridden by ForkingMixIn and ThreadingMixIn. + + */ + frame.getlocal(0).invoke("finish_request", frame.getlocal(1), frame.getlocal(2)); + frame.getlocal(0).invoke("close_request", frame.getlocal(1)); + return Py.None; + } + + private static PyObject server_close$7(PyFrame frame) { + /* Called to clean-up the server. + + May be overridden. + + */ + // pass + return Py.None; + } + + private static PyObject finish_request$8(PyFrame frame) { + /* Finish one request by instantiating RequestHandlerClass. */ + frame.getlocal(0).invoke("RequestHandlerClass", new PyObject[] {frame.getlocal(1), frame.getlocal(2), frame.getlocal(0)}); + return Py.None; + } + + private static PyObject close_request$9(PyFrame frame) { + /* Called to clean up an individual request. */ + // pass + return Py.None; + } + + private static PyObject handle_error$10(PyFrame frame) { + /* Handle an error gracefully. May be overridden. + + The default is to print a traceback and continue. + + */ + Py.println(s$30._mul(i$31)); + Py.printComma(s$32); + Py.println(frame.getlocal(2)); + frame.setlocal(3, org.python.core.imp.importOne("traceback", frame)); + frame.getlocal(3).__getattr__("print_exc").__call__(); + Py.println(s$30._mul(i$31)); + return Py.None; + } + + private static PyObject BaseServer$11(PyFrame frame) { + /* Base class for server classes. + + Methods for the caller: + + - __init__(server_address, RequestHandlerClass) + - serve_forever() + - handle_request() # if you do not use serve_forever() + - fileno() -> int # for select() + + Methods that may be overridden: + + - server_bind() + - server_activate() + - get_request() -> request, client_address + - verify_request(request, client_address) + - server_close() + - process_request(request, client_address) + - close_request(request) + - handle_error() + + Methods for derived classes: + + - finish_request(request, client_address) + + Class variables that may be overridden by derived classes or + instances: + + - address_family + - socket_type + - reuse_address + + Instance variables: + + - RequestHandlerClass + - socket + + */ + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$0___init__)); + frame.setlocal("server_activate", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_server_activate)); + frame.setlocal("serve_forever", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_serve_forever)); + frame.setlocal("handle_request", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_handle_request)); + frame.setlocal("verify_request", new PyFunction(frame.f_globals, new PyObject[] {}, c$4_verify_request)); + frame.setlocal("process_request", new PyFunction(frame.f_globals, new PyObject[] {}, c$5_process_request)); + frame.setlocal("server_close", new PyFunction(frame.f_globals, new PyObject[] {}, c$6_server_close)); + frame.setlocal("finish_request", new PyFunction(frame.f_globals, new PyObject[] {}, c$7_finish_request)); + frame.setlocal("close_request", new PyFunction(frame.f_globals, new PyObject[] {}, c$8_close_request)); + frame.setlocal("handle_error", new PyFunction(frame.f_globals, new PyObject[] {}, c$9_handle_error)); + return frame.getf_locals(); + } + + private static PyObject __init__$12(PyFrame frame) { + /* Constructor. May be extended, do not override. */ + frame.getglobal("BaseServer").invoke("__init__", new PyObject[] {frame.getlocal(0), frame.getlocal(1), frame.getlocal(2)}); + frame.getlocal(0).__setattr__("socket", frame.getglobal("socket").__getattr__("socket").__call__(frame.getlocal(0).__getattr__("address_family"), frame.getlocal(0).__getattr__("socket_type"))); + frame.getlocal(0).invoke("server_bind"); + frame.getlocal(0).invoke("server_activate"); + return Py.None; + } + + private static PyObject server_bind$13(PyFrame frame) { + /* Called by constructor to bind the socket. + + May be overridden. + + */ + if (frame.getlocal(0).__getattr__("allow_reuse_address").__nonzero__()) { + frame.getlocal(0).__getattr__("socket").invoke("setsockopt", new PyObject[] {frame.getglobal("socket").__getattr__("SOL_SOCKET"), frame.getglobal("socket").__getattr__("SO_REUSEADDR"), i$22}); + } + frame.getlocal(0).__getattr__("socket").invoke("bind", frame.getlocal(0).__getattr__("server_address")); + return Py.None; + } + + private static PyObject server_activate$14(PyFrame frame) { + /* Called by constructor to activate the server. + + May be overridden. + + */ + frame.getlocal(0).__getattr__("socket").invoke("listen", frame.getlocal(0).__getattr__("request_queue_size")); + return Py.None; + } + + private static PyObject server_close$15(PyFrame frame) { + /* Called to clean-up the server. + + May be overridden. + + */ + frame.getlocal(0).__getattr__("socket").invoke("close"); + return Py.None; + } + + private static PyObject fileno$16(PyFrame frame) { + /* Return socket file number. + + Interface required by select(). + + */ + return frame.getlocal(0).__getattr__("socket").invoke("fileno"); + } + + private static PyObject get_request$17(PyFrame frame) { + /* Get the request and client address from the socket. + + May be overridden. + + */ + return frame.getlocal(0).__getattr__("socket").invoke("accept"); + } + + private static PyObject close_request$18(PyFrame frame) { + /* Called to clean up an individual request. */ + frame.getlocal(1).invoke("close"); + return Py.None; + } + + private static PyObject TCPServer$19(PyFrame frame) { + /* Base class for various socket-based server classes. + + Defaults to synchronous IP stream (i.e., TCP). + + Methods for the caller: + + - __init__(server_address, RequestHandlerClass) + - serve_forever() + - handle_request() # if you don't use serve_forever() + - fileno() -> int # for select() + + Methods that may be overridden: + + - server_bind() + - server_activate() + - get_request() -> request, client_address + - verify_request(request, client_address) + - process_request(request, client_address) + - close_request(request) + - handle_error() + + Methods for derived classes: + + - finish_request(request, client_address) + + Class variables that may be overridden by derived classes or + instances: + + - address_family + - socket_type + - request_queue_size (only for stream sockets) + - reuse_address + + Instance variables: + + - server_address + - RequestHandlerClass + - socket + + */ + frame.setlocal("address_family", frame.getname("socket").__getattr__("AF_INET")); + frame.setlocal("socket_type", frame.getname("socket").__getattr__("SOCK_STREAM")); + frame.setlocal("request_queue_size", i$34); + frame.setlocal("allow_reuse_address", i$35); + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$11___init__)); + frame.setlocal("server_bind", new PyFunction(frame.f_globals, new PyObject[] {}, c$12_server_bind)); + frame.setlocal("server_activate", new PyFunction(frame.f_globals, new PyObject[] {}, c$13_server_activate)); + frame.setlocal("server_close", new PyFunction(frame.f_globals, new PyObject[] {}, c$14_server_close)); + frame.setlocal("fileno", new PyFunction(frame.f_globals, new PyObject[] {}, c$15_fileno)); + frame.setlocal("get_request", new PyFunction(frame.f_globals, new PyObject[] {}, c$16_get_request)); + frame.setlocal("close_request", new PyFunction(frame.f_globals, new PyObject[] {}, c$17_close_request)); + return frame.getf_locals(); + } + + private static PyObject get_request$20(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(0).__getattr__("socket").invoke("recvfrom", frame.getlocal(0).__getattr__("max_packet_size")), 2); + frame.setlocal(2, t$0$PyObject__[0]); + frame.setlocal(1, t$0$PyObject__[1]); + return new PyTuple(new PyObject[] {new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(0).__getattr__("socket")}), frame.getlocal(1)}); + } + + private static PyObject server_activate$21(PyFrame frame) { + // pass + return Py.None; + } + + private static PyObject close_request$22(PyFrame frame) { + // pass + return Py.None; + } + + private static PyObject UDPServer$23(PyFrame frame) { + /* UDP server class. */ + frame.setlocal("allow_reuse_address", i$35); + frame.setlocal("socket_type", frame.getname("socket").__getattr__("SOCK_DGRAM")); + frame.setlocal("max_packet_size", i$40); + frame.setlocal("get_request", new PyFunction(frame.f_globals, new PyObject[] {}, c$19_get_request)); + frame.setlocal("server_activate", new PyFunction(frame.f_globals, new PyObject[] {}, c$20_server_activate)); + frame.setlocal("close_request", new PyFunction(frame.f_globals, new PyObject[] {}, c$21_close_request)); + return frame.getf_locals(); + } + + private static PyObject collect_children$24(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + PyException t$0$PyException; + + // Code + /* Internal routine to wait for died children. */ + while (frame.getlocal(0).__getattr__("active_children").__nonzero__()) { + if (frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("active_children"))._lt(frame.getlocal(0).__getattr__("max_children")).__nonzero__()) { + frame.setlocal(3, frame.getglobal("os").__getattr__("WNOHANG")); + } + else { + frame.setlocal(3, i$35); + } + try { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("os").__getattr__("waitpid").__call__(i$35, frame.getlocal(3)), 2); + frame.setlocal(2, t$0$PyObject__[0]); + frame.setlocal(1, t$0$PyObject__[1]); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("os").__getattr__("error"))) { + frame.setlocal(2, frame.getglobal("None")); + } + else throw t$0$PyException; + } + if (frame.getlocal(2).__not__().__nonzero__()) { + break; + } + frame.getlocal(0).__getattr__("active_children").invoke("remove", frame.getlocal(2)); + } + return Py.None; + } + + private static PyObject process_request$25(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + + // Code + /* Fork a new subprocess to process the request. */ + frame.getlocal(0).invoke("collect_children"); + frame.setlocal(3, frame.getglobal("os").__getattr__("fork").__call__()); + if (frame.getlocal(3).__nonzero__()) { + if (frame.getlocal(0).__getattr__("active_children")._is(frame.getglobal("None")).__nonzero__()) { + frame.getlocal(0).__setattr__("active_children", new PyList(new PyObject[] {})); + } + frame.getlocal(0).__getattr__("active_children").invoke("append", frame.getlocal(3)); + frame.getlocal(0).invoke("close_request", frame.getlocal(1)); + return Py.None; + } + else { + try { + frame.getlocal(0).invoke("finish_request", frame.getlocal(1), frame.getlocal(2)); + frame.getglobal("os").__getattr__("_exit").__call__(i$35); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + try { + frame.getlocal(0).invoke("handle_error", frame.getlocal(1), frame.getlocal(2)); + } + finally { + frame.getglobal("os").__getattr__("_exit").__call__(i$22); + } + } + } + return Py.None; + } + + private static PyObject ForkingMixIn$26(PyFrame frame) { + /* Mix-in class to handle each request in a new process. */ + frame.setlocal("active_children", frame.getname("None")); + frame.setlocal("max_children", i$31); + frame.setlocal("collect_children", new PyFunction(frame.f_globals, new PyObject[] {}, c$23_collect_children)); + frame.setlocal("process_request", new PyFunction(frame.f_globals, new PyObject[] {}, c$24_process_request)); + return frame.getf_locals(); + } + + private static PyObject process_request$27(PyFrame frame) { + /* Start a new thread to process the request. */ + frame.setlocal(4, org.python.core.imp.importOne("threading", frame)); + frame.setlocal(3, frame.getlocal(4).__getattr__("Thread").__call__(new PyObject[] {frame.getlocal(0).__getattr__("finish_request"), new PyTuple(new PyObject[] {frame.getlocal(1), frame.getlocal(2)})}, new String[] {"target", "args"})); + frame.getlocal(3).invoke("start"); + return Py.None; + } + + private static PyObject ThreadingMixIn$28(PyFrame frame) { + /* Mix-in class to handle each request in a new thread. */ + frame.setlocal("process_request", new PyFunction(frame.f_globals, new PyObject[] {}, c$26_process_request)); + return frame.getf_locals(); + } + + private static PyObject ForkingUDPServer$29(PyFrame frame) { + // pass + return frame.getf_locals(); + } + + private static PyObject ForkingTCPServer$30(PyFrame frame) { + // pass + return frame.getf_locals(); + } + + private static PyObject ThreadingUDPServer$31(PyFrame frame) { + // pass + return frame.getf_locals(); + } + + private static PyObject ThreadingTCPServer$32(PyFrame frame) { + // pass + return frame.getf_locals(); + } + + private static PyObject UnixStreamServer$33(PyFrame frame) { + frame.setlocal("address_family", frame.getname("socket").__getattr__("AF_UNIX")); + return frame.getf_locals(); + } + + private static PyObject UnixDatagramServer$34(PyFrame frame) { + frame.setlocal("address_family", frame.getname("socket").__getattr__("AF_UNIX")); + return frame.getf_locals(); + } + + private static PyObject ThreadingUnixStreamServer$35(PyFrame frame) { + // pass + return frame.getf_locals(); + } + + private static PyObject ThreadingUnixDatagramServer$36(PyFrame frame) { + // pass + return frame.getf_locals(); + } + + private static PyObject __init__$37(PyFrame frame) { + frame.getlocal(0).__setattr__("request", frame.getlocal(1)); + frame.getlocal(0).__setattr__("client_address", frame.getlocal(2)); + frame.getlocal(0).__setattr__("server", frame.getlocal(3)); + try { + frame.getlocal(0).invoke("setup"); + frame.getlocal(0).invoke("handle"); + frame.getlocal(0).invoke("finish"); + } + finally { + frame.getglobal("sys").__setattr__("exc_traceback", frame.getglobal("None")); + } + return Py.None; + } + + private static PyObject setup$38(PyFrame frame) { + // pass + return Py.None; + } + + private static PyObject __del__$39(PyFrame frame) { + // pass + return Py.None; + } + + private static PyObject handle$40(PyFrame frame) { + // pass + return Py.None; + } + + private static PyObject finish$41(PyFrame frame) { + // pass + return Py.None; + } + + private static PyObject BaseRequestHandler$42(PyFrame frame) { + /* Base class for request handler classes. + + This class is instantiated for each request to be handled. The + constructor sets the instance variables request, client_address + and server, and then calls the handle() method. To implement a + specific service, all you need to do is to derive a class which + defines a handle() method. + + The handle() method can find the request as self.request, the + client address as self.client_address, and the server (in case it + needs access to per-server information) as self.server. Since a + separate instance is created for each request, the handle() method + can define arbitrary other instance variariables. + + */ + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$36___init__)); + frame.setlocal("setup", new PyFunction(frame.f_globals, new PyObject[] {}, c$37_setup)); + frame.setlocal("__del__", new PyFunction(frame.f_globals, new PyObject[] {}, c$38___del__)); + frame.setlocal("handle", new PyFunction(frame.f_globals, new PyObject[] {}, c$39_handle)); + frame.setlocal("finish", new PyFunction(frame.f_globals, new PyObject[] {}, c$40_finish)); + return frame.getf_locals(); + } + + private static PyObject setup$43(PyFrame frame) { + frame.getlocal(0).__setattr__("connection", frame.getlocal(0).__getattr__("request")); + frame.getlocal(0).__setattr__("rfile", frame.getlocal(0).__getattr__("connection").invoke("makefile", s$48, frame.getlocal(0).__getattr__("rbufsize"))); + frame.getlocal(0).__setattr__("wfile", frame.getlocal(0).__getattr__("connection").invoke("makefile", s$49, frame.getlocal(0).__getattr__("wbufsize"))); + return Py.None; + } + + private static PyObject finish$44(PyFrame frame) { + frame.getlocal(0).__getattr__("wfile").invoke("flush"); + frame.getlocal(0).__getattr__("wfile").invoke("close"); + frame.getlocal(0).__getattr__("rfile").invoke("close"); + return Py.None; + } + + private static PyObject StreamRequestHandler$45(PyFrame frame) { + /* Define self.rfile and self.wfile for stream sockets. */ + frame.setlocal("rbufsize", i$22.__neg__()); + frame.setlocal("wbufsize", i$35); + frame.setlocal("setup", new PyFunction(frame.f_globals, new PyObject[] {}, c$42_setup)); + frame.setlocal("finish", new PyFunction(frame.f_globals, new PyObject[] {}, c$43_finish)); + return frame.getf_locals(); + } + + private static PyObject setup$46(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + frame.setlocal(1, org.python.core.imp.importOne("StringIO", frame)); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(0).__getattr__("request"), 2); + frame.getlocal(0).__setattr__("packet", t$0$PyObject__[0]); + frame.getlocal(0).__setattr__("socket", t$0$PyObject__[1]); + frame.getlocal(0).__setattr__("rfile", frame.getlocal(1).__getattr__("StringIO").__call__(frame.getlocal(0).__getattr__("packet"))); + frame.getlocal(0).__setattr__("wfile", frame.getlocal(1).__getattr__("StringIO").__call__()); + return Py.None; + } + + private static PyObject finish$47(PyFrame frame) { + frame.getlocal(0).__getattr__("socket").invoke("sendto", frame.getlocal(0).__getattr__("wfile").invoke("getvalue"), frame.getlocal(0).__getattr__("client_address")); + return Py.None; + } + + private static PyObject DatagramRequestHandler$48(PyFrame frame) { + /* Define self.rfile and self.wfile for datagram sockets. */ + frame.setlocal("setup", new PyFunction(frame.f_globals, new PyObject[] {}, c$45_setup)); + frame.setlocal("finish", new PyFunction(frame.f_globals, new PyObject[] {}, c$46_finish)); + return frame.getf_locals(); + } + + private static PyObject main$49(PyFrame frame) { + frame.setglobal("__file__", s$51); + + /* Generic socket server classes. + + This module tries to capture the various aspects of defining a server: + + For socket-based servers: + + - address family: + - AF_INET: IP (Internet Protocol) sockets (default) + - AF_UNIX: Unix domain sockets + - others, e.g. AF_DECNET are conceivable (see + - socket type: + - SOCK_STREAM (reliable stream, e.g. TCP) + - SOCK_DGRAM (datagrams, e.g. UDP) + + For request-based servers (including socket-based): + + - client address verification before further looking at the request + (This is actually a hook for any processing that needs to look + at the request before anything else, e.g. logging) + - how to handle multiple requests: + - synchronous (one request is handled at a time) + - forking (each request is handled by a new process) + - threading (each request is handled by a new thread) + + The classes in this module favor the server type that is simplest to + write: a synchronous TCP/IP server. This is bad class design, but + save some typing. (There's also the issue that a deep class hierarchy + slows down method lookups.) + + There are five classes in an inheritance diagram, four of which represent + synchronous servers of four types: + + +------------+ + | BaseServer | + +------------+ + | + v + +-----------+ +------------------+ + | TCPServer |------->| UnixStreamServer | + +-----------+ +------------------+ + | + v + +-----------+ +--------------------+ + | UDPServer |------->| UnixDatagramServer | + +-----------+ +--------------------+ + + Note that UnixDatagramServer derives from UDPServer, not from + UnixStreamServer -- the only difference between an IP and a Unix + stream server is the address family, which is simply repeated in both + unix server classes. + + Forking and threading versions of each type of server can be created + using the ForkingServer and ThreadingServer mix-in classes. For + instance, a threading UDP server class is created as follows: + + class ThreadingUDPServer(ThreadingMixIn, UDPServer): pass + + The Mix-in class must come first, since it overrides a method defined + in UDPServer! + + To implement a service, you must derive a class from + BaseRequestHandler and redefine its handle() method. You can then run + various versions of the service by combining one of the server classes + with your request handler class. + + The request handler class must be different for datagram or stream + services. This can be hidden by using the mix-in request handler + classes StreamRequestHandler or DatagramRequestHandler. + + Of course, you still have to use your head! + + For instance, it makes no sense to use a forking server if the service + contains state in memory that can be modified by requests (since the + modifications in the child process would never reach the initial state + kept in the parent process and passed to each child). In this case, + you can use a threading server, but you will probably have to use + locks to avoid two requests that come in nearly simultaneous to apply + conflicting changes to the server state. + + On the other hand, if you are building e.g. an HTTP server, where all + data is stored externally (e.g. in the file system), a synchronous + class will essentially render the service "deaf" while one request is + being handled -- which may be for a very long time if a client is slow + to reqd all the data it has requested. Here a threading or forking + server is appropriate. + + In some cases, it may be appropriate to process part of a request + synchronously, but to finish processing in a forked child depending on + the request data. This can be implemented by using a synchronous + server and doing an explicit fork in the request handler class + handle() method. + + Another approach to handling multiple simultaneous requests in an + environment that supports neither threads nor fork (or where these are + too expensive or inappropriate for the service) is to maintain an + explicit table of partially finished requests and to use select() to + decide which request to work on next (or whether to handle a new + incoming request). This is particularly important for stream services + where each client can potentially be connected for a long time (if + threads or subprocesses cannot be used). + + Future work: + - Standard classes for Sun RPC (which uses either UDP or TCP) + - Standard mix-in classes to implement various authentication + and encryption schemes + - Standard framework for select-based multiplexing + + XXX Open problems: + - What to do with out-of-band data? + + BaseServer: + - split generic "request" functionality out into BaseServer class. + Copyright (C) 2000 Luke Kenneth Casson Leighton + + example: read entries from a SQL database (requires overriding + get_request() to return a table entry from the database). + entry is processed by a RequestHandlerClass. + + */ + frame.setlocal("__version__", s$1); + frame.setlocal("socket", org.python.core.imp.importOne("socket", frame)); + frame.setlocal("sys", org.python.core.imp.importOne("sys", frame)); + frame.setlocal("os", org.python.core.imp.importOne("os", frame)); + frame.setlocal("__all__", new PyList(new PyObject[] {s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, s$10, s$11, s$12})); + if (frame.getname("hasattr").__call__(frame.getname("socket"), s$13).__nonzero__()) { + frame.getname("__all__").invoke("extend", new PyList(new PyObject[] {s$14, s$15, s$16, s$17})); + } + frame.setlocal("BaseServer", Py.makeClass("BaseServer", new PyObject[] {}, c$10_BaseServer, null)); + frame.setlocal("TCPServer", Py.makeClass("TCPServer", new PyObject[] {frame.getname("BaseServer")}, c$18_TCPServer, null)); + frame.setlocal("UDPServer", Py.makeClass("UDPServer", new PyObject[] {frame.getname("TCPServer")}, c$22_UDPServer, null)); + frame.setlocal("ForkingMixIn", Py.makeClass("ForkingMixIn", new PyObject[] {}, c$25_ForkingMixIn, null)); + frame.setlocal("ThreadingMixIn", Py.makeClass("ThreadingMixIn", new PyObject[] {}, c$27_ThreadingMixIn, null)); + frame.setlocal("ForkingUDPServer", Py.makeClass("ForkingUDPServer", new PyObject[] {frame.getname("ForkingMixIn"), frame.getname("UDPServer")}, c$28_ForkingUDPServer, null)); + frame.setlocal("ForkingTCPServer", Py.makeClass("ForkingTCPServer", new PyObject[] {frame.getname("ForkingMixIn"), frame.getname("TCPServer")}, c$29_ForkingTCPServer, null)); + frame.setlocal("ThreadingUDPServer", Py.makeClass("ThreadingUDPServer", new PyObject[] {frame.getname("ThreadingMixIn"), frame.getname("UDPServer")}, c$30_ThreadingUDPServer, null)); + frame.setlocal("ThreadingTCPServer", Py.makeClass("ThreadingTCPServer", new PyObject[] {frame.getname("ThreadingMixIn"), frame.getname("TCPServer")}, c$31_ThreadingTCPServer, null)); + if (frame.getname("hasattr").__call__(frame.getname("socket"), s$13).__nonzero__()) { + frame.setlocal("UnixStreamServer", Py.makeClass("UnixStreamServer", new PyObject[] {frame.getname("TCPServer")}, c$32_UnixStreamServer, null)); + frame.setlocal("UnixDatagramServer", Py.makeClass("UnixDatagramServer", new PyObject[] {frame.getname("UDPServer")}, c$33_UnixDatagramServer, null)); + frame.setlocal("ThreadingUnixStreamServer", Py.makeClass("ThreadingUnixStreamServer", new PyObject[] {frame.getname("ThreadingMixIn"), frame.getname("UnixStreamServer")}, c$34_ThreadingUnixStreamServer, null)); + frame.setlocal("ThreadingUnixDatagramServer", Py.makeClass("ThreadingUnixDatagramServer", new PyObject[] {frame.getname("ThreadingMixIn"), frame.getname("UnixDatagramServer")}, c$35_ThreadingUnixDatagramServer, null)); + } + frame.setlocal("BaseRequestHandler", Py.makeClass("BaseRequestHandler", new PyObject[] {}, c$41_BaseRequestHandler, null)); + frame.setlocal("StreamRequestHandler", Py.makeClass("StreamRequestHandler", new PyObject[] {frame.getname("BaseRequestHandler")}, c$44_StreamRequestHandler, null)); + frame.setlocal("DatagramRequestHandler", Py.makeClass("DatagramRequestHandler", new PyObject[] {frame.getname("BaseRequestHandler")}, c$47_DatagramRequestHandler, null)); + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("SocketServer")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "SocketServer"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(SocketServer._PyInner.class, newargs, SocketServer.jpy$packages, SocketServer.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/StringIO$_PyInner.class b/server/jpywork/StringIO$_PyInner.class new file mode 100644 index 0000000000000000000000000000000000000000..0acaed0bc03d08f1cc504e058295f98b18b85101 GIT binary patch literal 13344 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

$) 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 literal 0 HcmV?d00001 diff --git a/server/jpywork/StringIO.class b/server/jpywork/StringIO.class new file mode 100644 index 0000000000000000000000000000000000000000..cb3e9b67d90eee2e769ee228944aab96548454dd GIT binary patch literal 2489 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 Jiduro{{bS+RX_j$ literal 0 HcmV?d00001 diff --git a/server/jpywork/UserDict.class b/server/jpywork/UserDict.class new file mode 100644 index 0000000000000000000000000000000000000000..79fe166662ddbb787cb3db4369c79364cfb3f794 GIT binary patch literal 2489 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 RQ}wEWP$pTWVyY2!{{vo>I^X~R literal 0 HcmV?d00001 diff --git a/server/jpywork/atexit.class b/server/jpywork/atexit.class new file mode 100644 index 0000000000000000000000000000000000000000..f7a629f5a1dbd175e1dd79cf2f334711ad714153 GIT binary patch literal 2485 zcma)8`F9gl6#k}3JJXPE56UL16lqgTMZ|@IqCmA++G?N}P{MTjXr`nyab^Mp_kG{@ zeLw!D0^0V-5r6a?{|Eh3JbrH`ZBmIIdrt4nyYIex@B8j|@8tKte!dJKjc;@`XlOD6 zdDaee#5J@}nWxRZg6T~5jf_u8E6^aOisi0p({@HZwgbvzbaiwclUMkp z9T^zdz-xsog{y(9HMIRB0|Q+ICbY3#1J`J12^XcnE~L-dMdiCY2?I?$J7ha@xHLU3 zy+h`BL9&3mLX;ASVQUg8v}kCJAlPSH!5|UTu(o@MG5ezX^r>6-jh3Sl_xFq$U^$Fj z&M~KDE~n#q4J)rSpGUeOfo<5KBHgH=v%98>6(;nIC2%u#>bRw@pD1h+{n({pNiOHJ z+<~0VmWJWA_8~iM$3baBfSK6W2+LkCvgY%64^-^93+D^tnTiq<4)14 zKY{(YQ^x=qf92JaxC?`H?AOXdv)BixO2)rVNW81Lu9Dwd1l#ii)9U|+A37?7_2GtylSv#OfhpT ziDo1W+?qfZ$8;QJNvb)7ot?z}c!2nwbiHA6jO|z(VxBfNA)8<`hD`` zfLn4V_IsYoYMZchj4!(Qp}gmwQQeWm1Q;%%7$AM0BS^zClA!9d50?=Na-Q0ctPyg5{*Wmi?&@vV?Wc^^EEGT*HQHxx=W#ZV(Y@evXqN8MowFa)8xiEu)E& zR>ufyI90-f>H}uX&lzka`D6T&#z`4|GWcew`5!(xtHUQdgH}uU9@!<)!gVWG0ne$w z(Z*lUmW_#yOg1i-W-g*rU!=%3iWQk`lUT*AtJ)LM-r5Y+>oZwhY|Lcao5UtcLu{tW zmh<$fp@&k05#s1zc3YXx2(x8(FJ!QmEAkzUsaf<^k2QtL7@PW9{z!?nVQK=p{~H2Neif zEAspAjj~g`LAhMKMY%$}L%CACN4ZLT zkeS0r=Xu|C*hJ_*DJIey}L27h3dSbRZ!1HQypd@Abf=Kt4d{u??` Bf{_3K literal 0 HcmV?d00001 diff --git a/server/jpywork/atexit.java b/server/jpywork/atexit.java new file mode 100644 index 00000000..eea7b51a --- /dev/null +++ b/server/jpywork/atexit.java @@ -0,0 +1,185 @@ +import org.python.core.*; + +public class atexit extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject i$8; + private static PyObject i$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyFunctionTable funcTable; + private static PyCode c$0__run_exitfuncs; + private static PyCode c$1_register; + private static PyCode c$2_x1; + private static PyCode c$3_x2; + private static PyCode c$4_x3; + private static PyCode c$5_main; + private static void initConstants() { + s$0 = Py.newString("\012atexit.py - allow programmer to define multiple exit functions to be executed\012upon normal program termination.\012\012One public function, register, is defined.\012"); + s$1 = Py.newString("register"); + s$2 = Py.newString("run any registered exit functions\012\012 _exithandlers is traversed in reverse order so functions are executed\012 last in, first out.\012 "); + s$3 = Py.newString("register a function to be executed upon normal program termination\012\012 func - function to be called at exit\012 targs - optional arguments to pass to func\012 kargs - optional keyword arguments to pass to func\012 "); + s$4 = Py.newString("__main__"); + s$5 = Py.newString("running x1"); + s$6 = Py.newString("running x2(%s)"); + s$7 = Py.newString("running x3(%s, kwd=%s)"); + i$8 = Py.newInteger(12); + i$9 = Py.newInteger(5); + s$10 = Py.newString("bar"); + s$11 = Py.newString("no kwd args"); + s$12 = Py.newString("/usr/share/jython/Lib-cpython/atexit.py"); + funcTable = new _PyInner(); + c$0__run_exitfuncs = Py.newCode(0, new String[] {"targs", "func", "kargs"}, "/usr/share/jython/Lib-cpython/atexit.py", "_run_exitfuncs", false, false, funcTable, 0, null, null, 0, 1); + c$1_register = Py.newCode(3, new String[] {"func", "targs", "kargs"}, "/usr/share/jython/Lib-cpython/atexit.py", "register", true, true, funcTable, 1, null, null, 0, 1); + c$2_x1 = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/atexit.py", "x1", false, false, funcTable, 2, null, null, 0, 1); + c$3_x2 = Py.newCode(1, new String[] {"n"}, "/usr/share/jython/Lib-cpython/atexit.py", "x2", false, false, funcTable, 3, null, null, 0, 1); + c$4_x3 = Py.newCode(2, new String[] {"n", "kwd"}, "/usr/share/jython/Lib-cpython/atexit.py", "x3", false, false, funcTable, 4, null, null, 0, 1); + c$5_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/atexit.py", "main", false, false, funcTable, 5, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$5_main == null) _PyInner.initConstants(); + return c$5_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner._run_exitfuncs$1(frame); + case 1: + return _PyInner.register$2(frame); + case 2: + return _PyInner.x1$3(frame); + case 3: + return _PyInner.x2$4(frame); + case 4: + return _PyInner.x3$5(frame); + case 5: + return _PyInner.main$6(frame); + default: + return null; + } + } + + private static PyObject _run_exitfuncs$1(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + /* run any registered exit functions + + _exithandlers is traversed in reverse order so functions are executed + last in, first out. + */ + while (frame.getglobal("_exithandlers").__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("_exithandlers").invoke("pop"), 3); + frame.setlocal(1, t$0$PyObject__[0]); + frame.setlocal(0, t$0$PyObject__[1]); + frame.setlocal(2, t$0$PyObject__[2]); + frame.getglobal("apply").__call__(frame.getlocal(1), frame.getlocal(0), frame.getlocal(2)); + } + return Py.None; + } + + private static PyObject register$2(PyFrame frame) { + /* register a function to be executed upon normal program termination + + func - function to be called at exit + targs - optional arguments to pass to func + kargs - optional keyword arguments to pass to func + */ + frame.getglobal("_exithandlers").invoke("append", new PyTuple(new PyObject[] {frame.getlocal(0), frame.getlocal(1), frame.getlocal(2)})); + return Py.None; + } + + private static PyObject x1$3(PyFrame frame) { + Py.println(s$5); + return Py.None; + } + + private static PyObject x2$4(PyFrame frame) { + Py.println(s$6._mod(frame.getlocal(0).__repr__())); + return Py.None; + } + + private static PyObject x3$5(PyFrame frame) { + Py.println(s$7._mod(new PyTuple(new PyObject[] {frame.getlocal(0).__repr__(), frame.getlocal(1).__repr__()}))); + return Py.None; + } + + private static PyObject main$6(PyFrame frame) { + frame.setglobal("__file__", s$12); + + // Temporary Variables + boolean t$0$boolean; + PyException t$0$PyException; + + // Code + /* + atexit.py - allow programmer to define multiple exit functions to be executed + upon normal program termination. + + One public function, register, is defined. + */ + frame.setlocal("__all__", new PyList(new PyObject[] {s$1})); + frame.setlocal("_exithandlers", new PyList(new PyObject[] {})); + frame.setlocal("_run_exitfuncs", new PyFunction(frame.f_globals, new PyObject[] {}, c$0__run_exitfuncs)); + frame.setlocal("register", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_register)); + frame.setlocal("sys", org.python.core.imp.importOne("sys", frame)); + t$0$boolean = true; + try { + frame.setlocal("x", frame.getname("sys").__getattr__("exitfunc")); + } + catch (Throwable x$0) { + t$0$boolean = false; + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getname("AttributeError"))) { + frame.getname("sys").__setattr__("exitfunc", frame.getname("_run_exitfuncs")); + } + else throw t$0$PyException; + } + if (t$0$boolean) { + if (frame.getname("x")._ne(frame.getname("_run_exitfuncs")).__nonzero__()) { + frame.getname("register").__call__(frame.getname("x")); + } + } + frame.dellocal("sys"); + if (frame.getname("__name__")._eq(s$4).__nonzero__()) { + frame.setlocal("x1", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_x1)); + frame.setlocal("x2", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_x2)); + frame.setlocal("x3", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$4_x3)); + frame.getname("register").__call__(frame.getname("x1")); + frame.getname("register").__call__(frame.getname("x2"), i$8); + frame.getname("register").__call__(frame.getname("x3"), i$9, s$10); + frame.getname("register").__call__(frame.getname("x3"), s$11); + } + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("atexit")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "atexit"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(atexit._PyInner.class, newargs, atexit.jpy$packages, atexit.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/calendar$_PyInner.class b/server/jpywork/calendar$_PyInner.class new file mode 100644 index 0000000000000000000000000000000000000000..d065b4467919f63ad3f548f0c3b2a26266dc0de3 GIT binary patch literal 18283 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 literal 0 HcmV?d00001 diff --git a/server/jpywork/calendar.class b/server/jpywork/calendar.class new file mode 100644 index 0000000000000000000000000000000000000000..cff124eed5739cda06ae51a551b35b6729b64e6c GIT binary patch literal 2489 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 K_&ffI`u_lyzxwU~ literal 0 HcmV?d00001 diff --git a/server/jpywork/copy_reg.class b/server/jpywork/copy_reg.class new file mode 100644 index 0000000000000000000000000000000000000000..937827f2e9db236199ce64f5404042f13b8238f5 GIT binary patch literal 2489 zcma)8`E%1&5dM@nkz$nVLAc6ULP;Fzlu~*SXla48p&?0Y2sN}AMR~*uwq#^EiRpdc z_kG{fpMe>YDO37mXZk<1e@ds{lbqNoZl{^aN^jrpzJ1?*yYlaU{d^5T5d#s3RR8G2w6p^aV!BZ7&RdQ<=6eO{2aYUiSb1u=YMBar$DJCW zR+$!jZ?0TxYld3OK4(oSSKZE8#bWm@8aiuY98^k%Xi1gbAS(mMW@`KFoZ~vd-5MHu zddD@y4tkSPN5`@}qtgut4XX>~AnUowyf<0O$zpP%=)F=3#YzQc|yM@sn# z=^wKua#BO{z7VB28nM$v0<9X_A_xvSb}&Q)HEiq|=9&G`efrg{`^U;ri3fVe4X_+W zCgWOpnaSw5Rm0lr%@>hwh+`M_sFQBj(A85@#R?O8$K$vYdv)AZH%@e{i2>}>up*Nw zvfP2pXEGZ4>qPsn#C4Dyor@Ii&Wx3ZTvz&W?8izH+wuwja81Xyn`6FZ*8?yF@MdH*P5lsXgWW}axtPwBNAChMW zy^=e5*!MkF+k&lQV%f!yWqof}^@oW`@VK~QfGid{gfy%o392zGhsSXmdkkbXu+gU3 zR>g3x8OZV7x7ZxT&45oT7k!zry?nvRNds)UW-E|$4ky42 zCm1&k%(1g0E4LU}ZcsFEft?p+Ff?l533{o_JnlTDa`5bPYKA<+bIVqN89YaO+sa9I z(((M9%f)!*9yu;OT zdZ@8s;5~*`Y%uVFx@y*!)+Fb=fseSs>}m1|3pz&E@xhdV&uFFYR0nd(lN0zbs1gyGDW&ctVyMt#X4@?&=HUJHm0cFoJ#9rYbxE*EVfY^VmnQC zTx3iQy_6z6A%;$7x0CsdGFx`{QU)8jBHz)Jm`7jLtvOUSvZ-(84}~b%0}P=|wR2D);wTW$DRA-%GfyFOK9x2^F@&i^sf*bVtTJVbc$_jWo}^qMo~AU# zvy`pkdCE4XlJ001FH&}hmnl2NtCT{#PPtONNx4eAP1z;hrCcrEr(7dGq+BaLrd%gJ zO)cQ_i@fh9Y$Nnv^G%gzHSq*WB+LxUG0XKF{y>>nd`o=;zQgx?D(dX#{|{*S8@XbF AHvj+t literal 0 HcmV?d00001 diff --git a/server/jpywork/copy_reg.java b/server/jpywork/copy_reg.java new file mode 100644 index 00000000..cb7caa5b --- /dev/null +++ b/server/jpywork/copy_reg.java @@ -0,0 +1,123 @@ +import org.python.core.*; + +public class copy_reg extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject i$6; + private static PyObject j$7; + private static PyObject s$8; + private static PyFunctionTable funcTable; + private static PyCode c$0_pickle; + private static PyCode c$1_constructor; + private static PyCode c$2_pickle_complex; + private static PyCode c$3_main; + private static void initConstants() { + s$0 = Py.newString("Helper to provide extensibility for pickle/cPickle.\012\012This is only useful to add pickle support for extension types defined in\012C, not for instances of user-defined classes.\012"); + s$1 = Py.newString("pickle"); + s$2 = Py.newString("constructor"); + s$3 = Py.newString("copy_reg is not intended for use with classes"); + s$4 = Py.newString("reduction functions must be callable"); + s$5 = Py.newString("constructors must be callable"); + i$6 = Py.newInteger(1); + j$7 = Py.newImaginary(1.0); + s$8 = Py.newString("/usr/share/jython/Lib-cpython/copy_reg.py"); + funcTable = new _PyInner(); + c$0_pickle = Py.newCode(3, new String[] {"ob_type", "pickle_function", "constructor_ob"}, "/usr/share/jython/Lib-cpython/copy_reg.py", "pickle", false, false, funcTable, 0, null, null, 0, 1); + c$1_constructor = Py.newCode(1, new String[] {"object"}, "/usr/share/jython/Lib-cpython/copy_reg.py", "constructor", false, false, funcTable, 1, null, null, 0, 1); + c$2_pickle_complex = Py.newCode(1, new String[] {"c"}, "/usr/share/jython/Lib-cpython/copy_reg.py", "pickle_complex", false, false, funcTable, 2, null, null, 0, 1); + c$3_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/copy_reg.py", "main", false, false, funcTable, 3, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$3_main == null) _PyInner.initConstants(); + return c$3_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.pickle$1(frame); + case 1: + return _PyInner.constructor$2(frame); + case 2: + return _PyInner.pickle_complex$3(frame); + case 3: + return _PyInner.main$4(frame); + default: + return null; + } + } + + private static PyObject pickle$1(PyFrame frame) { + if (frame.getglobal("type").__call__(frame.getlocal(0))._is(frame.getglobal("_ClassType")).__nonzero__()) { + throw Py.makeException(frame.getglobal("TypeError").__call__(s$3)); + } + if (frame.getglobal("callable").__call__(frame.getlocal(1)).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("TypeError").__call__(s$4)); + } + frame.getglobal("dispatch_table").__setitem__(frame.getlocal(0), frame.getlocal(1)); + if (frame.getlocal(2)._isnot(frame.getglobal("None")).__nonzero__()) { + frame.getglobal("constructor").__call__(frame.getlocal(2)); + } + return Py.None; + } + + private static PyObject constructor$2(PyFrame frame) { + if (frame.getglobal("callable").__call__(frame.getlocal(0)).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("TypeError").__call__(s$5)); + } + frame.getglobal("safe_constructors").__setitem__(frame.getlocal(0), i$6); + return Py.None; + } + + private static PyObject pickle_complex$3(PyFrame frame) { + return new PyTuple(new PyObject[] {frame.getglobal("complex"), new PyTuple(new PyObject[] {frame.getlocal(0).__getattr__("real"), frame.getlocal(0).__getattr__("imag")})}); + } + + private static PyObject main$4(PyFrame frame) { + frame.setglobal("__file__", s$8); + + PyObject[] imp_accu; + // Code + /* Helper to provide extensibility for pickle/cPickle. + + This is only useful to add pickle support for extension types defined in + C, not for instances of user-defined classes. + */ + imp_accu = org.python.core.imp.importFrom("types", new String[] {"ClassType"}, frame); + frame.setlocal("_ClassType", imp_accu[0]); + imp_accu = null; + frame.setlocal("__all__", new PyList(new PyObject[] {s$1, s$2})); + frame.setlocal("dispatch_table", new PyDictionary(new PyObject[] {})); + frame.setlocal("safe_constructors", new PyDictionary(new PyObject[] {})); + frame.setlocal("pickle", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$0_pickle)); + frame.setlocal("constructor", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_constructor)); + frame.setlocal("pickle_complex", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_pickle_complex)); + frame.getname("pickle").__call__(frame.getname("type").__call__(j$7), frame.getname("pickle_complex"), frame.getname("complex")); + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("copy_reg")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "copy_reg"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(copy_reg._PyInner.class, newargs, copy_reg.jpy$packages, copy_reg.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/javaos$_PyInner.class b/server/jpywork/javaos$_PyInner.class new file mode 100644 index 0000000000000000000000000000000000000000..8d9b498ec52c404a0ed3837b84883338fd4368f5 GIT binary patch literal 31551 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", false, false, funcTable, 11, null, null, 0, 1); + c$12_lambda = Py.newCode(1, new String[] {"key"}, "/usr/share/jython/Lib/javaos.py", "", false, false, funcTable, 12, null, null, 0, 1); + c$13___init__ = Py.newCode(4, new String[] {"self", "dict", "populate", "keyTransform"}, "/usr/share/jython/Lib/javaos.py", "__init__", false, false, funcTable, 13, null, null, 0, 1); + c$14__LazyDict__populate = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/javaos.py", "_LazyDict__populate", false, false, funcTable, 14, null, null, 0, 1); + c$15___repr__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/javaos.py", "__repr__", false, false, funcTable, 15, null, null, 0, 1); + c$16___cmp__ = Py.newCode(2, new String[] {"self", "dict"}, "/usr/share/jython/Lib/javaos.py", "__cmp__", false, false, funcTable, 16, null, null, 0, 1); + c$17___len__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/javaos.py", "__len__", false, false, funcTable, 17, null, null, 0, 1); + c$18___getitem__ = Py.newCode(2, new String[] {"self", "key"}, "/usr/share/jython/Lib/javaos.py", "__getitem__", false, false, funcTable, 18, null, null, 0, 1); + c$19___setitem__ = Py.newCode(3, new String[] {"self", "key", "item"}, "/usr/share/jython/Lib/javaos.py", "__setitem__", false, false, funcTable, 19, null, null, 0, 1); + c$20___delitem__ = Py.newCode(2, new String[] {"self", "key"}, "/usr/share/jython/Lib/javaos.py", "__delitem__", false, false, funcTable, 20, null, null, 0, 1); + c$21_clear = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/javaos.py", "clear", false, false, funcTable, 21, null, null, 0, 1); + c$22_copy = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/javaos.py", "copy", false, false, funcTable, 22, null, null, 0, 1); + c$23_keys = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/javaos.py", "keys", false, false, funcTable, 23, null, null, 0, 1); + c$24_items = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/javaos.py", "items", false, false, funcTable, 24, null, null, 0, 1); + c$25_values = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/javaos.py", "values", false, false, funcTable, 25, null, null, 0, 1); + c$26_has_key = Py.newCode(2, new String[] {"self", "key"}, "/usr/share/jython/Lib/javaos.py", "has_key", false, false, funcTable, 26, null, null, 0, 1); + c$27_update = Py.newCode(2, new String[] {"self", "dict"}, "/usr/share/jython/Lib/javaos.py", "update", false, false, funcTable, 27, null, null, 0, 1); + c$28_get = Py.newCode(3, new String[] {"self", "key", "failobj"}, "/usr/share/jython/Lib/javaos.py", "get", false, false, funcTable, 28, null, null, 0, 1); + c$29_setdefault = Py.newCode(3, new String[] {"self", "key", "failobj"}, "/usr/share/jython/Lib/javaos.py", "setdefault", false, false, funcTable, 29, null, null, 0, 1); + c$30_popitem = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/javaos.py", "popitem", false, false, funcTable, 30, null, null, 0, 1); + c$31_LazyDict = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/javaos.py", "LazyDict", false, false, funcTable, 31, null, null, 0, 0); + c$32___init__ = Py.newCode(4, new String[] {"self", "cmd", "getEnv", "keyTransform"}, "/usr/share/jython/Lib/javaos.py", "__init__", false, false, funcTable, 32, null, null, 0, 1); + c$33_println = Py.newCode(2, new String[] {"arg", "write"}, "/usr/share/jython/Lib/javaos.py", "println", false, false, funcTable, 33, null, null, 0, 1); + c$34_printlnStdErr = Py.newCode(2, new String[] {"arg", "write"}, "/usr/share/jython/Lib/javaos.py", "printlnStdErr", false, false, funcTable, 34, null, null, 0, 1); + c$35_system = Py.newCode(2, new String[] {"self", "cmd", "println", "printlnStdErr", "p"}, "/usr/share/jython/Lib/javaos.py", "system", false, false, funcTable, 35, null, null, 0, 1); + c$36_execute = Py.newCode(2, new String[] {"self", "cmd", "p", "shellCmd", "env", "ex"}, "/usr/share/jython/Lib/javaos.py", "execute", false, false, funcTable, 36, null, null, 0, 1); + c$37__readLines = Py.newCode(3, new String[] {"self", "stream", "func", "bufStream", "lines", "line"}, "/usr/share/jython/Lib/javaos.py", "_readLines", false, false, funcTable, 37, null, null, 0, 1); + c$38__formatCmd = Py.newCode(2, new String[] {"self", "cmd", "msgFmt"}, "/usr/share/jython/Lib/javaos.py", "_formatCmd", false, false, funcTable, 38, null, null, 0, 1); + c$39__formatEnvironment = Py.newCode(2, new String[] {"self", "env", "lines", "keyValue"}, "/usr/share/jython/Lib/javaos.py", "_formatEnvironment", false, false, funcTable, 39, null, null, 0, 1); + c$40__getEnvironment = Py.newCode(1, new String[] {"self", "p", "i", "env", "ex", "value", "key", "lines", "line"}, "/usr/share/jython/Lib/javaos.py", "_getEnvironment", false, false, funcTable, 40, null, null, 0, 1); + c$41__ShellEnv = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/javaos.py", "_ShellEnv", false, false, funcTable, 41, null, null, 0, 0); + c$42__getOsType = Py.newCode(1, new String[] {"os", "osType", "pattern", "_osTypeMap"}, "/usr/share/jython/Lib/javaos.py", "_getOsType", false, false, funcTable, 42, null, null, 0, 1); + c$43__getShellEnv = Py.newCode(4, new String[] {"envType", "shellCmd", "envCmd", "envTransform"}, "/usr/share/jython/Lib/javaos.py", "_getShellEnv", false, false, funcTable, 43, null, null, 0, 1); + c$44__testGetOsType = Py.newCode(0, new String[] {"got", "key", "testVals", "msgFmt", "val"}, "/usr/share/jython/Lib/javaos.py", "_testGetOsType", false, false, funcTable, 44, null, null, 0, 1); + c$45__testCmds = Py.newCode(3, new String[] {"_shellEnv", "testCmds", "whichEnv", "line", "pattern", "cmd"}, "/usr/share/jython/Lib/javaos.py", "_testCmds", false, false, funcTable, 45, null, null, 0, 1); + c$46__testSystem = Py.newCode(1, new String[] {"shellEnv", "testCmds", "value", "key", "org"}, "/usr/share/jython/Lib/javaos.py", "_testSystem", false, false, funcTable, 46, null, null, 0, 1); + c$47__testBadShell = Py.newCode(0, new String[] {"se2"}, "/usr/share/jython/Lib/javaos.py", "_testBadShell", false, false, funcTable, 47, null, null, 0, 1); + c$48__testBadGetEnv = Py.newCode(0, new String[] {"se2"}, "/usr/share/jython/Lib/javaos.py", "_testBadGetEnv", false, false, funcTable, 48, null, null, 0, 1); + c$49__test = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/javaos.py", "_test", false, false, funcTable, 49, null, null, 0, 1); + c$50_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/javaos.py", "main", false, false, funcTable, 50, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$50_main == null) _PyInner.initConstants(); + return c$50_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner._exit$1(frame); + case 1: + return _PyInner.getcwd$2(frame); + case 2: + return _PyInner.chdir$3(frame); + case 3: + return _PyInner.listdir$4(frame); + case 4: + return _PyInner.mkdir$5(frame); + case 5: + return _PyInner.makedirs$6(frame); + case 6: + return _PyInner.remove$7(frame); + case 7: + return _PyInner.rename$8(frame); + case 8: + return _PyInner.rmdir$9(frame); + case 9: + return _PyInner.stat$10(frame); + case 10: + return _PyInner.utime$11(frame); + case 11: + return _PyInner.lambda$12(frame); + case 12: + return _PyInner.lambda$13(frame); + case 13: + return _PyInner.__init__$14(frame); + case 14: + return _PyInner._LazyDict__populate$15(frame); + case 15: + return _PyInner.__repr__$16(frame); + case 16: + return _PyInner.__cmp__$17(frame); + case 17: + return _PyInner.__len__$18(frame); + case 18: + return _PyInner.__getitem__$19(frame); + case 19: + return _PyInner.__setitem__$20(frame); + case 20: + return _PyInner.__delitem__$21(frame); + case 21: + return _PyInner.clear$22(frame); + case 22: + return _PyInner.copy$23(frame); + case 23: + return _PyInner.keys$24(frame); + case 24: + return _PyInner.items$25(frame); + case 25: + return _PyInner.values$26(frame); + case 26: + return _PyInner.has_key$27(frame); + case 27: + return _PyInner.update$28(frame); + case 28: + return _PyInner.get$29(frame); + case 29: + return _PyInner.setdefault$30(frame); + case 30: + return _PyInner.popitem$31(frame); + case 31: + return _PyInner.LazyDict$32(frame); + case 32: + return _PyInner.__init__$33(frame); + case 33: + return _PyInner.println$34(frame); + case 34: + return _PyInner.printlnStdErr$35(frame); + case 35: + return _PyInner.system$36(frame); + case 36: + return _PyInner.execute$37(frame); + case 37: + return _PyInner._readLines$38(frame); + case 38: + return _PyInner._formatCmd$39(frame); + case 39: + return _PyInner._formatEnvironment$40(frame); + case 40: + return _PyInner._getEnvironment$41(frame); + case 41: + return _PyInner._ShellEnv$42(frame); + case 42: + return _PyInner._getOsType$43(frame); + case 43: + return _PyInner._getShellEnv$44(frame); + case 44: + return _PyInner._testGetOsType$45(frame); + case 45: + return _PyInner._testCmds$46(frame); + case 46: + return _PyInner._testSystem$47(frame); + case 47: + return _PyInner._testBadShell$48(frame); + case 48: + return _PyInner._testBadGetEnv$49(frame); + case 49: + return _PyInner._test$50(frame); + case 50: + return _PyInner.main$51(frame); + default: + return null; + } + } + + private static PyObject _exit$1(PyFrame frame) { + frame.getglobal("java").__getattr__("lang").__getattr__("System").__getattr__("exit").__call__(frame.getlocal(0)); + return Py.None; + } + + private static PyObject getcwd$2(PyFrame frame) { + frame.setlocal(0, frame.getglobal("File").__call__(frame.getglobal("File").__call__(s$14).invoke("getAbsolutePath"))); + return frame.getlocal(0).invoke("getParent"); + } + + private static PyObject chdir$3(PyFrame frame) { + throw Py.makeException(frame.getglobal("OSError").__call__(i$13, s$15, frame.getlocal(0))); + } + + private static PyObject listdir$4(PyFrame frame) { + frame.setlocal(1, frame.getglobal("File").__call__(frame.getlocal(0)).invoke("list")); + if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) { + throw Py.makeException(frame.getglobal("OSError").__call__(i$13, s$16, frame.getlocal(0))); + } + return frame.getglobal("list").__call__(frame.getlocal(1)); + } + + private static PyObject mkdir$5(PyFrame frame) { + if (frame.getglobal("File").__call__(frame.getlocal(0)).invoke("mkdir").__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("OSError").__call__(i$13, s$17, frame.getlocal(0))); + } + return Py.None; + } + + private static PyObject makedirs$6(PyFrame frame) { + if (frame.getglobal("File").__call__(frame.getlocal(0)).invoke("mkdirs").__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("OSError").__call__(i$13, s$19, frame.getlocal(0))); + } + return Py.None; + } + + private static PyObject remove$7(PyFrame frame) { + if (frame.getglobal("File").__call__(frame.getlocal(0)).invoke("delete").__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("OSError").__call__(i$13, s$20, frame.getlocal(0))); + } + return Py.None; + } + + private static PyObject rename$8(PyFrame frame) { + if (frame.getglobal("File").__call__(frame.getlocal(0)).invoke("renameTo", frame.getglobal("File").__call__(frame.getlocal(1))).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("OSError").__call__(i$13, s$21, frame.getlocal(0))); + } + return Py.None; + } + + private static PyObject rmdir$9(PyFrame frame) { + if (frame.getglobal("File").__call__(frame.getlocal(0)).invoke("delete").__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("OSError").__call__(i$13, s$22, frame.getlocal(0))); + } + return Py.None; + } + + private static PyObject stat$10(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + /* The Java stat implementation only returns a small subset of + the standard fields */ + frame.setlocal(3, frame.getglobal("File").__call__(frame.getlocal(0))); + frame.setlocal(2, frame.getlocal(3).invoke("length")); + if (((t$0$PyObject = frame.getlocal(2)._eq(i$13)).__nonzero__() ? frame.getlocal(3).invoke("exists").__not__() : t$0$PyObject).__nonzero__()) { + throw Py.makeException(frame.getglobal("OSError").__call__(i$13, s$24, frame.getlocal(0))); + } + frame.setlocal(1, frame.getlocal(3).invoke("lastModified")._div(f$25)); + return new PyTuple(new PyObject[] {i$13, i$13, i$13, i$13, i$13, i$13, frame.getlocal(2), frame.getlocal(1), frame.getlocal(1), i$13}); + } + + private static PyObject utime$11(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + if (((t$0$PyObject = frame.getlocal(1)).__nonzero__() ? frame.getglobal("hasattr").__call__(frame.getglobal("File"), s$26) : t$0$PyObject).__nonzero__()) { + frame.getglobal("File").__call__(frame.getlocal(0)).invoke("setLastModified", frame.getglobal("long").__call__(frame.getlocal(1).__getitem__(i$27)._mul(f$25))); + } + return Py.None; + } + + private static PyObject lambda$12(PyFrame frame) { + return new PyDictionary(new PyObject[] {}); + } + + private static PyObject lambda$13(PyFrame frame) { + return frame.getlocal(0); + } + + private static PyObject __init__$14(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + /* dict: starting dictionary of values + populate: function that returns the populated dictionary + keyTransform: function to normalize the keys (e.g., toupper/None) + */ + frame.getglobal("UserDict").__getattr__("__init__").__call__(frame.getlocal(0), frame.getlocal(1)); + frame.getlocal(0).__setattr__("_populated", i$13); + frame.getlocal(0).__setattr__("_LazyDict__populateFunc", (t$0$PyObject = frame.getlocal(2)).__nonzero__() ? t$0$PyObject : new PyFunction(frame.f_globals, new PyObject[] {}, c$11_lambda)); + frame.getlocal(0).__setattr__("_keyTransform", (t$0$PyObject = frame.getlocal(3)).__nonzero__() ? t$0$PyObject : new PyFunction(frame.f_globals, new PyObject[] {}, c$12_lambda)); + return Py.None; + } + + private static PyObject _LazyDict__populate$15(PyFrame frame) { + if (frame.getlocal(0).__getattr__("_populated").__not__().__nonzero__()) { + frame.getlocal(0).__setattr__("data", frame.getlocal(0).invoke("_LazyDict__populateFunc")); + frame.getlocal(0).__setattr__("_populated", i$27); + } + return Py.None; + } + + private static PyObject __repr__$16(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + return frame.getglobal("UserDict").__getattr__("__repr__").__call__(frame.getlocal(0)); + } + + private static PyObject __cmp__$17(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + return frame.getglobal("UserDict").__getattr__("__cmp__").__call__(frame.getlocal(0), frame.getlocal(1)); + } + + private static PyObject __len__$18(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + return frame.getglobal("UserDict").__getattr__("__len__").__call__(frame.getlocal(0)); + } + + private static PyObject __getitem__$19(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + return frame.getglobal("UserDict").__getattr__("__getitem__").__call__(frame.getlocal(0), frame.getlocal(0).invoke("_keyTransform", frame.getlocal(1))); + } + + private static PyObject __setitem__$20(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + frame.getglobal("UserDict").__getattr__("__setitem__").__call__(frame.getlocal(0), frame.getlocal(0).invoke("_keyTransform", frame.getlocal(1)), frame.getlocal(2)); + return Py.None; + } + + private static PyObject __delitem__$21(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + frame.getglobal("UserDict").__getattr__("__delitem__").__call__(frame.getlocal(0), frame.getlocal(0).invoke("_keyTransform", frame.getlocal(1))); + return Py.None; + } + + private static PyObject clear$22(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + frame.getglobal("UserDict").__getattr__("clear").__call__(frame.getlocal(0)); + return Py.None; + } + + private static PyObject copy$23(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + return frame.getglobal("UserDict").__getattr__("copy").__call__(frame.getlocal(0)); + } + + private static PyObject keys$24(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + return frame.getglobal("UserDict").__getattr__("keys").__call__(frame.getlocal(0)); + } + + private static PyObject items$25(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + return frame.getglobal("UserDict").__getattr__("items").__call__(frame.getlocal(0)); + } + + private static PyObject values$26(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + return frame.getglobal("UserDict").__getattr__("values").__call__(frame.getlocal(0)); + } + + private static PyObject has_key$27(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + return frame.getglobal("UserDict").__getattr__("has_key").__call__(frame.getlocal(0), frame.getlocal(0).invoke("_keyTransform", frame.getlocal(1))); + } + + private static PyObject update$28(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + frame.getglobal("UserDict").__getattr__("update").__call__(frame.getlocal(0), frame.getlocal(1)); + return Py.None; + } + + private static PyObject get$29(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + return frame.getglobal("UserDict").__getattr__("get").__call__(frame.getlocal(0), frame.getlocal(0).invoke("_keyTransform", frame.getlocal(1)), frame.getlocal(2)); + } + + private static PyObject setdefault$30(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + return frame.getglobal("UserDict").__getattr__("setdefault").__call__(frame.getlocal(0), frame.getlocal(0).invoke("_keyTransform", frame.getlocal(1)), frame.getlocal(2)); + } + + private static PyObject popitem$31(PyFrame frame) { + frame.getlocal(0).invoke("_LazyDict__populate"); + return frame.getglobal("UserDict").__getattr__("popitem").__call__(frame.getlocal(0)); + } + + private static PyObject LazyDict$32(PyFrame frame) { + /* A lazy-populating User Dictionary. + Lazy initialization is not thread-safe. + */ + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("None"), frame.getname("None")}, c$13___init__)); + frame.setlocal("_LazyDict__populate", new PyFunction(frame.f_globals, new PyObject[] {}, c$14__LazyDict__populate)); + frame.setlocal("__repr__", new PyFunction(frame.f_globals, new PyObject[] {}, c$15___repr__)); + frame.setlocal("__cmp__", new PyFunction(frame.f_globals, new PyObject[] {}, c$16___cmp__)); + frame.setlocal("__len__", new PyFunction(frame.f_globals, new PyObject[] {}, c$17___len__)); + frame.setlocal("__getitem__", new PyFunction(frame.f_globals, new PyObject[] {}, c$18___getitem__)); + frame.setlocal("__setitem__", new PyFunction(frame.f_globals, new PyObject[] {}, c$19___setitem__)); + frame.setlocal("__delitem__", new PyFunction(frame.f_globals, new PyObject[] {}, c$20___delitem__)); + frame.setlocal("clear", new PyFunction(frame.f_globals, new PyObject[] {}, c$21_clear)); + frame.setlocal("copy", new PyFunction(frame.f_globals, new PyObject[] {}, c$22_copy)); + frame.setlocal("keys", new PyFunction(frame.f_globals, new PyObject[] {}, c$23_keys)); + frame.setlocal("items", new PyFunction(frame.f_globals, new PyObject[] {}, c$24_items)); + frame.setlocal("values", new PyFunction(frame.f_globals, new PyObject[] {}, c$25_values)); + frame.setlocal("has_key", new PyFunction(frame.f_globals, new PyObject[] {}, c$26_has_key)); + frame.setlocal("update", new PyFunction(frame.f_globals, new PyObject[] {}, c$27_update)); + frame.setlocal("get", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$28_get)); + frame.setlocal("setdefault", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$29_setdefault)); + frame.setlocal("popitem", new PyFunction(frame.f_globals, new PyObject[] {}, c$30_popitem)); + return frame.getf_locals(); + } + + private static PyObject __init__$33(PyFrame frame) { + /* cmd: list of exec() arguments to run command in subshell, or None + getEnv: shell command to list environment variables, or None + keyTransform: normalization function for environment keys, or None + */ + frame.getlocal(0).__setattr__("cmd", frame.getlocal(1)); + frame.getlocal(0).__setattr__("getEnv", frame.getlocal(2)); + frame.getlocal(0).__setattr__("environment", frame.getglobal("LazyDict").__call__(new PyObject[] {frame.getlocal(0).__getattr__("_getEnvironment"), frame.getlocal(3)}, new String[] {"populate", "keyTransform"})); + frame.getlocal(0).__setattr__("_keyTransform", frame.getlocal(0).__getattr__("environment").__getattr__("_keyTransform")); + return Py.None; + } + + private static PyObject println$34(PyFrame frame) { + frame.getlocal(1).__call__(frame.getlocal(0)._add(s$33)); + return Py.None; + } + + private static PyObject printlnStdErr$35(PyFrame frame) { + frame.getlocal(1).__call__(frame.getlocal(0)._add(s$33)); + return Py.None; + } + + private static PyObject system$36(PyFrame frame) { + /* Imitate the standard library 'system' call. + Execute 'cmd' in a shell, and send output to stdout & stderr. + */ + frame.setlocal(4, frame.getlocal(0).invoke("execute", frame.getlocal(1))); + frame.setlocal(2, new PyFunction(frame.f_globals, new PyObject[] {frame.getglobal("sys").__getattr__("stdout").__getattr__("write")}, c$33_println)); + frame.setlocal(3, new PyFunction(frame.f_globals, new PyObject[] {frame.getglobal("sys").__getattr__("stderr").__getattr__("write")}, c$34_printlnStdErr)); + frame.getglobal("thread").__getattr__("start_new_thread").__call__(frame.getlocal(0).__getattr__("_readLines"), new PyTuple(new PyObject[] {frame.getlocal(4).invoke("getErrorStream"), frame.getlocal(3)})); + frame.getlocal(0).invoke("_readLines", frame.getlocal(4).invoke("getInputStream"), frame.getlocal(2)); + return frame.getlocal(4).invoke("waitFor"); + } + + private static PyObject execute$37(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + + // Code + /* Execute cmd in a shell, and return the process instance */ + frame.setlocal(3, frame.getlocal(0).invoke("_formatCmd", frame.getlocal(1))); + if (frame.getlocal(0).__getattr__("environment").__getattr__("_populated").__nonzero__()) { + frame.setlocal(4, frame.getlocal(0).invoke("_formatEnvironment", frame.getlocal(0).__getattr__("environment"))); + } + else { + frame.setlocal(4, frame.getglobal("None")); + } + try { + frame.setlocal(2, frame.getglobal("java").__getattr__("lang").__getattr__("Runtime").__getattr__("getRuntime").__call__().invoke("exec", frame.getlocal(3), frame.getlocal(4))); + return frame.getlocal(2); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("IOException"))) { + frame.setlocal(5, t$0$PyException.value); + throw Py.makeException(frame.getglobal("OSError").__call__(i$13, s$35._mod(new PyTuple(new PyObject[] {frame.getlocal(3), frame.getlocal(5)})))); + } + else throw t$0$PyException; + } + } + + private static PyObject _readLines$38(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + /* Read lines of stream, and either append them to return + array of lines, or call func on each line. + */ + frame.setlocal(4, new PyList(new PyObject[] {})); + frame.setlocal(2, (t$0$PyObject = frame.getlocal(2)).__nonzero__() ? t$0$PyObject : frame.getlocal(4).__getattr__("append")); + frame.setlocal(3, frame.getglobal("BufferedReader").__call__(frame.getglobal("InputStreamReader").__call__(frame.getlocal(1)))); + while (i$27.__nonzero__()) { + frame.setlocal(5, frame.getlocal(3).invoke("readLine")); + if (frame.getlocal(5)._is(frame.getglobal("None")).__nonzero__()) { + break; + } + frame.getlocal(2).__call__(frame.getlocal(5)); + } + return (t$0$PyObject = frame.getlocal(4)).__nonzero__() ? t$0$PyObject : frame.getglobal("None"); + } + + private static PyObject _formatCmd$39(PyFrame frame) { + /* Format a command for execution in a shell. */ + if (frame.getlocal(0).__getattr__("cmd")._is(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(2, s$38); + throw Py.makeException(frame.getglobal("OSError").__call__(i$13, frame.getlocal(2)._mod(new PyTuple(new PyObject[] {frame.getglobal("_osType"), frame.getglobal("_envType"), frame.getlocal(1)})))); + } + return frame.getlocal(0).__getattr__("cmd")._add(new PyList(new PyObject[] {frame.getlocal(1)})); + } + + private static PyObject _formatEnvironment$40(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Format enviroment in lines suitable for Runtime.exec */ + frame.setlocal(2, new PyList(new PyObject[] {})); + t$0$int = 0; + t$1$PyObject = frame.getlocal(1).invoke("items"); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(3, t$0$PyObject); + frame.getlocal(2).invoke("append", s$40._mod(frame.getlocal(3))); + } + return frame.getlocal(2); + } + + private static PyObject _getEnvironment$41(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyException t$0$PyException; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Get the environment variables by spawning a subshell. + This allows multi-line variables as long as subsequent lines do + not have '=' signs. + */ + frame.setlocal(3, new PyDictionary(new PyObject[] {})); + if (frame.getlocal(0).__getattr__("getEnv").__nonzero__()) { + try { + frame.setlocal(1, frame.getlocal(0).invoke("execute", frame.getlocal(0).__getattr__("getEnv"))); + frame.setlocal(7, frame.getlocal(0).invoke("_readLines", frame.getlocal(1).invoke("getInputStream"))); + if (s$42._notin(frame.getlocal(7).__getitem__(i$13)).__nonzero__()) { + Py.println(s$43._mod(new PyTuple(new PyObject[] {frame.getlocal(0).__getattr__("getEnv"), s$33.invoke("join", frame.getlocal(7))}))); + return frame.getlocal(3); + } + t$0$int = 0; + t$1$PyObject = frame.getlocal(7); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(8, t$0$PyObject); + try { + frame.setlocal(2, frame.getlocal(8).invoke("index", s$42)); + frame.setlocal(6, frame.getlocal(0).invoke("_keyTransform", frame.getlocal(8).__getslice__(null, frame.getlocal(2), null))); + frame.setlocal(5, frame.getlocal(8).__getslice__(frame.getlocal(2)._add(i$27), null, null)); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("ValueError"))) { + frame.setlocal(5, s$44._mod(new PyTuple(new PyObject[] {frame.getlocal(5), frame.getlocal(8)}))); + } + else throw t$0$PyException; + } + frame.getlocal(3).__setitem__(frame.getlocal(6), frame.getlocal(5)); + } + } + catch (Throwable x$1) { + t$0$PyException = Py.setException(x$1, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("OSError"))) { + frame.setlocal(4, t$0$PyException.value); + Py.printComma(s$45); + Py.println(frame.getlocal(4)); + } + else throw t$0$PyException; + } + } + return frame.getlocal(3); + } + + private static PyObject _ShellEnv$42(PyFrame frame) { + /* Provide environment derived by spawning a subshell and parsing its + environment. Also supports system functions and provides empty + environment support for platforms with unknown shell + functionality. + */ + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("None"), frame.getname("None")}, c$32___init__)); + frame.setlocal("system", new PyFunction(frame.f_globals, new PyObject[] {}, c$35_system)); + frame.setlocal("execute", new PyFunction(frame.f_globals, new PyObject[] {}, c$36_execute)); + frame.setlocal("_readLines", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$37__readLines)); + frame.setlocal("_formatCmd", new PyFunction(frame.f_globals, new PyObject[] {}, c$38__formatCmd)); + frame.setlocal("_formatEnvironment", new PyFunction(frame.f_globals, new PyObject[] {}, c$39__formatEnvironment)); + frame.setlocal("_getEnvironment", new PyFunction(frame.f_globals, new PyObject[] {}, c$40__getEnvironment)); + return frame.getf_locals(); + } + + private static PyObject _getOsType$43(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Select the OS behavior based on os argument, 'python.os' registry + setting and 'os.name' Java property. + os: explicitly select desired OS. os=None to autodetect, os='None' to + disable + */ + frame.setlocal(0, (t$0$PyObject = ((t$1$PyObject = frame.getlocal(0)).__nonzero__() ? t$1$PyObject : frame.getglobal("sys").__getattr__("registry").__getattr__("getProperty").__call__(s$47))).__nonzero__() ? t$0$PyObject : frame.getglobal("java").__getattr__("lang").__getattr__("System").__getattr__("getProperty").__call__(s$48)); + frame.setlocal(3, new PyTuple(new PyObject[] {new PyTuple(new PyObject[] {s$49, s$50}), new PyTuple(new PyObject[] {s$51, s$52}), new PyTuple(new PyObject[] {s$53, s$54}), new PyTuple(new PyObject[] {s$55, s$56}), new PyTuple(new PyObject[] {s$57, s$58})})); + t$0$int = 0; + t$1$PyObject = frame.getlocal(3); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(1, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + if (frame.getglobal("re").__getattr__("match").__call__(frame.getlocal(2), frame.getlocal(0)).__nonzero__()) { + break; + } + } + return frame.getlocal(1); + } + + private static PyObject _getShellEnv$44(PyFrame frame) { + /* Create the desired environment type. + envType: 'shell' or None + */ + if (frame.getlocal(0)._eq(s$60).__nonzero__()) { + return frame.getglobal("_ShellEnv").__call__(frame.getlocal(1), frame.getlocal(2), frame.getlocal(3)); + } + else { + return frame.getglobal("_ShellEnv").__call__(); + } + } + + private static PyObject _testGetOsType$45(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(2, new PyDictionary(new PyObject[] {s$71, s$49, s$72, s$51, s$73, s$53, s$74, s$57, s$75, s$57, s$55, s$55})); + frame.setlocal(3, s$76); + t$0$int = 0; + t$1$PyObject = frame.getlocal(2).invoke("items"); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(1, t$0$PyObject__[0]); + frame.setlocal(4, t$0$PyObject__[1]); + frame.setlocal(0, frame.getglobal("_getOsType").__call__(frame.getlocal(1))); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0)._eq(frame.getlocal(4)), frame.getlocal(3)._mod(new PyTuple(new PyObject[] {frame.getlocal(1), frame.getlocal(4), frame.getlocal(0)}))); + } + return Py.None; + } + + private static PyObject _testCmds$46(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + t$0$int = 0; + t$1$PyObject = frame.getlocal(1); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(5, t$0$PyObject__[0]); + frame.setlocal(4, t$0$PyObject__[1]); + Py.println(s$77._mod(new PyTuple(new PyObject[] {frame.getlocal(5), frame.getlocal(2)}))); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).invoke("system", frame.getlocal(5)).__not__(), s$78._mod(new PyTuple(new PyObject[] {frame.getlocal(5), frame.getlocal(2)}))); + frame.setlocal(3, frame.getlocal(0).invoke("_readLines", frame.getlocal(0).invoke("execute", frame.getlocal(5)).invoke("getInputStream")).__getitem__(i$13)); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getglobal("re").__getattr__("match").__call__(frame.getlocal(4), frame.getlocal(3)), s$79._mod(new PyTuple(new PyObject[] {frame.getlocal(4), frame.getlocal(3)}))); + } + return Py.None; + } + + private static PyObject _testSystem$47(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + t$0$PyObject__ = org.python.core.Py.unpackSequence(new PyTuple(new PyObject[] {s$80, s$81}), 2); + frame.setlocal(3, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + frame.setlocal(4, frame.getglobal("environ")); + frame.setlocal(1, new PyList(new PyObject[] {new PyTuple(new PyObject[] {s$82, s$83}), new PyTuple(new PyObject[] {s$84, s$85}), new PyTuple(new PyObject[] {s$86._mod(new PyTuple(new PyObject[] {frame.getlocal(3), frame.getlocal(3)})), s$87._mod(new PyTuple(new PyObject[] {frame.getlocal(3)}))}), new PyTuple(new PyObject[] {s$88, s$89}), new PyTuple(new PyObject[] {s$90._mod(new PyTuple(new PyObject[] {frame.getlocal(3), frame.getlocal(3)})), s$91._mod(new PyTuple(new PyObject[] {frame.getlocal(3), frame.getlocal(3), frame.getlocal(3), frame.getlocal(3), frame.getlocal(2)}))}), new PyTuple(new PyObject[] {s$92, s$93}), new PyTuple(new PyObject[] {s$94, s$95}), new PyTuple(new PyObject[] {s$96, s$97})})); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getglobal("environ").__getattr__("_populated").__not__(), s$98); + frame.getglobal("_testCmds").__call__(frame.getglobal("_shellEnv"), frame.getlocal(1), s$99); + frame.getglobal("environ").__setitem__(frame.getlocal(3), frame.getlocal(2)); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getglobal("environ").__getattr__("_populated"), s$100); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(4).invoke("get", frame.getlocal(3), frame.getglobal("None"))._eq(frame.getlocal(2)), s$101._mod(frame.getlocal(3))); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getglobal("environ").invoke("get", frame.getlocal(3), frame.getglobal("None"))._eq(frame.getlocal(2)), s$102._mod(frame.getlocal(3))); + frame.getglobal("_testCmds").__call__(frame.getglobal("_shellEnv"), frame.getlocal(1), s$103); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getglobal("environ").invoke("has_key", s$104), s$105); + return Py.None; + } + + private static PyObject _testBadShell$48(PyFrame frame) { + frame.setlocal(0, frame.getglobal("_ShellEnv").__call__(new PyList(new PyObject[] {s$106, s$67}), s$64)); + frame.getglobal("str").__call__(frame.getlocal(0).__getattr__("environment")); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("environment").invoke("items").__not__(), s$107); + return Py.None; + } + + private static PyObject _testBadGetEnv$49(PyFrame frame) { + frame.setlocal(0, frame.getglobal("_getShellEnv").__call__(new PyObject[] {s$60, frame.getglobal("_shellCmd"), frame.getglobal("_envCmd"), frame.getglobal("_envTransform")})); + frame.getlocal(0).__setattr__("getEnv", s$108); + frame.getglobal("str").__call__(frame.getlocal(0).__getattr__("environment")); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("environment").invoke("items").__not__(), s$107); + return Py.None; + } + + private static PyObject _test$50(PyFrame frame) { + frame.getglobal("_testGetOsType").__call__(); + frame.getglobal("_testBadShell").__call__(); + frame.getglobal("_testBadGetEnv").__call__(); + frame.getglobal("_testSystem").__call__(); + return Py.None; + } + + private static PyObject main$51(PyFrame frame) { + frame.setglobal("__file__", s$109); + + PyObject[] imp_accu; + // Code + /* OS routines for Java, with some attempts to support DOS, NT, and + Posix functionality. + + This exports: + - all functions from posix, nt, dos, os2, mac, or ce, e.g. unlink, stat, etc. + - os.path is one of the modules posixpath, ntpath, macpath, or dospath + - os.name is 'posix', 'nt', 'dos', 'os2', 'mac', 'ce' or 'riscos' + - os.curdir is a string representing the current directory ('.' or ':') + - os.pardir is a string representing the parent directory ('..' or '::') + - os.sep is the (or a most common) pathname separator ('/' or ':' or '\\') + - os.altsep is the alternate pathname separator (None or '/') + - os.pathsep is the component separator used in $PATH etc + - os.linesep is the line separator in text files ('\r' or '\n' or '\r\n') + - os.defpath is the default search path for executables + + Programs that import and use 'os' stand a better chance of being + portable between different platforms. Of course, they must then + only use functions that are defined by all platforms (e.g., unlink + and opendir), and leave all pathname manipulation to os.path + (e.g., split and join). + */ + frame.setlocal("__all__", new PyList(new PyObject[] {s$1, s$2, s$3, s$4, s$5, s$6, s$7, s$8})); + frame.setlocal("java", org.python.core.imp.importOne("java", frame)); + imp_accu = org.python.core.imp.importFrom("java.io", new String[] {"File", "BufferedReader", "InputStreamReader", "IOException"}, frame); + frame.setlocal("File", imp_accu[0]); + frame.setlocal("BufferedReader", imp_accu[1]); + frame.setlocal("InputStreamReader", imp_accu[2]); + frame.setlocal("IOException", imp_accu[3]); + imp_accu = null; + frame.setlocal("path", org.python.core.imp.importOneAs("javapath", frame)); + imp_accu = org.python.core.imp.importFrom("UserDict", new String[] {"UserDict"}, frame); + frame.setlocal("UserDict", imp_accu[0]); + imp_accu = null; + frame.setlocal("string", org.python.core.imp.importOne("string", frame)); + frame.setlocal("exceptions", org.python.core.imp.importOne("exceptions", frame)); + frame.setlocal("re", org.python.core.imp.importOne("re", frame)); + frame.setlocal("sys", org.python.core.imp.importOne("sys", frame)); + frame.setlocal("thread", org.python.core.imp.importOne("thread", frame)); + frame.setlocal("error", frame.getname("OSError")); + frame.setlocal("name", s$9); + frame.setlocal("curdir", s$10); + frame.setlocal("pardir", s$11); + frame.setlocal("sep", frame.getname("java").__getattr__("io").__getattr__("File").__getattr__("separator")); + frame.setlocal("altsep", frame.getname("None")); + frame.setlocal("pathsep", frame.getname("java").__getattr__("io").__getattr__("File").__getattr__("pathSeparator")); + frame.setlocal("defpath", s$10); + frame.setlocal("linesep", frame.getname("java").__getattr__("lang").__getattr__("System").__getattr__("getProperty").__call__(s$12)); + frame.setlocal("_exit", new PyFunction(frame.f_globals, new PyObject[] {i$13}, c$0__exit)); + frame.setlocal("getcwd", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_getcwd)); + frame.setlocal("chdir", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_chdir)); + frame.setlocal("listdir", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_listdir)); + frame.setlocal("mkdir", new PyFunction(frame.f_globals, new PyObject[] {s$18}, c$4_mkdir)); + frame.setlocal("makedirs", new PyFunction(frame.f_globals, new PyObject[] {s$18}, c$5_makedirs)); + frame.setlocal("remove", new PyFunction(frame.f_globals, new PyObject[] {}, c$6_remove)); + frame.setlocal("rename", new PyFunction(frame.f_globals, new PyObject[] {}, c$7_rename)); + frame.setlocal("rmdir", new PyFunction(frame.f_globals, new PyObject[] {}, c$8_rmdir)); + frame.setlocal("unlink", frame.getname("remove")); + frame.setlocal("stat", new PyFunction(frame.f_globals, new PyObject[] {}, c$9_stat)); + frame.setlocal("utime", new PyFunction(frame.f_globals, new PyObject[] {}, c$10_utime)); + frame.setlocal("LazyDict", Py.makeClass("LazyDict", new PyObject[] {frame.getname("UserDict")}, c$31_LazyDict, null)); + frame.setlocal("_ShellEnv", Py.makeClass("_ShellEnv", new PyObject[] {}, c$41__ShellEnv, null)); + frame.setlocal("_getOsType", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$42__getOsType)); + frame.setlocal("_getShellEnv", new PyFunction(frame.f_globals, new PyObject[] {}, c$43__getShellEnv)); + frame.setlocal("_osType", frame.getname("_getOsType").__call__()); + frame.setlocal("_envType", frame.getname("sys").__getattr__("registry").__getattr__("getProperty").__call__(s$61, s$60)); + frame.setlocal("_shellCmd", frame.getname("None")); + frame.setlocal("_envCmd", frame.getname("None")); + frame.setlocal("_envTransform", frame.getname("None")); + if (frame.getname("_osType")._eq(s$49).__nonzero__()) { + frame.setlocal("_shellCmd", new PyList(new PyObject[] {s$62, s$63})); + frame.setlocal("_envCmd", s$64); + frame.setlocal("_envTransform", frame.getname("string").__getattr__("upper")); + } + else if (frame.getname("_osType")._eq(s$51).__nonzero__()) { + frame.setlocal("_shellCmd", new PyList(new PyObject[] {s$65, s$63})); + frame.setlocal("_envCmd", s$64); + frame.setlocal("_envTransform", frame.getname("string").__getattr__("upper")); + } + else if (frame.getname("_osType")._eq(s$57).__nonzero__()) { + frame.setlocal("_shellCmd", new PyList(new PyObject[] {s$66, s$67})); + frame.setlocal("_envCmd", s$68); + } + else if (frame.getname("_osType")._eq(s$53).__nonzero__()) { + frame.setlocal("curdir", s$69); + frame.setlocal("pardir", s$70); + } + else if (frame.getname("_osType")._eq(s$55).__nonzero__()) { + // pass + } + frame.setlocal("_shellEnv", frame.getname("_getShellEnv").__call__(new PyObject[] {frame.getname("_envType"), frame.getname("_shellCmd"), frame.getname("_envCmd"), frame.getname("_envTransform")})); + frame.setlocal("environ", frame.getname("_shellEnv").__getattr__("environment")); + frame.setlocal("putenv", frame.getname("environ").__getattr__("__setitem__")); + frame.setlocal("getenv", frame.getname("environ").__getattr__("__getitem__")); + frame.setlocal("system", frame.getname("_shellEnv").__getattr__("system")); + frame.setlocal("_testGetOsType", new PyFunction(frame.f_globals, new PyObject[] {}, c$44__testGetOsType)); + frame.setlocal("_testCmds", new PyFunction(frame.f_globals, new PyObject[] {}, c$45__testCmds)); + frame.setlocal("_testSystem", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("_shellEnv")}, c$46__testSystem)); + frame.setlocal("_testBadShell", new PyFunction(frame.f_globals, new PyObject[] {}, c$47__testBadShell)); + frame.setlocal("_testBadGetEnv", new PyFunction(frame.f_globals, new PyObject[] {}, c$48__testBadGetEnv)); + frame.setlocal("_test", new PyFunction(frame.f_globals, new PyObject[] {}, c$49__test)); + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("javaos")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "javaos"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(javaos._PyInner.class, newargs, javaos.jpy$packages, javaos.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/javapath$_PyInner.class b/server/jpywork/javapath$_PyInner.class new file mode 100644 index 0000000000000000000000000000000000000000..70dc6401552887e8d96358d5462fc0539fe96086 GIT binary patch literal 18115 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 L-)6oosL%fZN59o* literal 0 HcmV?d00001 diff --git a/server/jpywork/javapath.class b/server/jpywork/javapath.class new file mode 100644 index 0000000000000000000000000000000000000000..b841c54e00c483522bc12a104b4be23546df217f GIT binary patch literal 2489 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 literal 0 HcmV?d00001 diff --git a/server/jpywork/linecache.class b/server/jpywork/linecache.class new file mode 100644 index 0000000000000000000000000000000000000000..900e0206c5ca47dab23c3c1b100bdd735111045d GIT binary patch literal 2491 zcma)8`EwLi5dJ3FWG2hxdJrx-B}lTtjfi*9L}d4;@#-5(OLWY0EBzj^_s3 zJ%1uyHnlw8PFJ>?z$iKz(5PX#g7sx9FLq1^Iq&p-BD8NlmWGwgEA)%DbX}!Gm9A@; zyu>H%+M$MZyjHZ5xN5jkLF+#<(9lU>A{)okaFv4QXi*HEeEN)2kg>aTXlSJGAS*Uh zoEo$JgXUP?R?xU3LMe%QY}S!Nvx1fwg1wFv4iG^FtGfnyW^a6-UU}=@ky2dZzV1;C zEQglOy5^Lf&8oOo!Sc(^=a8;TVhgs(ldf0L(N$H&G84K-leiJvRoqlFPJFD6KI~Ai zD4Pvf?$DmfW)<|-i1uHJs~|bVJcm28Bc%b?wf!V^VzU&t=(rVo2=0U(9w3PotnBKp z5m7R$FNuA)O+`OLUVeKWw_|{T{Guz37369`8pWv*zYO)i@6<}F>_mde{v$KHYP6kf zjAVt7Du!eu&bRUWP7))yOU0cFo2L{Ic^w80lBA~Zn+2Xt>YftOZ-lF{t#)#j;uanjyY9F#3MlkX|bjfYsicA zd+ihbUeO)j=ldS3ZNgG9w&3CibG~<4Hi(XK@VKO8fE@&!LJF3U1eKWO!;?6MZ5nb4 z*lCmOs~{R|8uEPiO?TXz(!eq#WLs(|5V6oVEqjc!O@mJ^2fm%Pys3hdw>7Zq8qLt2 zb~pk~afESG!!%nvwsM2ebi+Wy8Ma=W!N9PF2k0d;^SJYn%)zrx$|3Ry&n=k+X7Cv8 zEi-Ss{jz_+KQp2f@hHmA%p3Unj#HEjQs&Hd+OwDS843hHD!FVRPyRxrby zhF7>cL=!nSG`z;hGMsQ0CdsM|I3f5I>9i2Mlg)w{P<~ZqLctzi``&l}U z&-saxmY#$%nktd6{Dx_Ba|Y{4{(62-6Qm5k8hq2_Cm?!qTt`oK2CWwHJ+{-)%ykP_ zA^qgvNW(X1&D4u_Ba;w|jq~VG7br3fVwsU?6f3xOMO!l7TWwIi*2t)0y^(2a6dNct zv5_X5&N8NgZb}iIkU%@L+su51nJv3}K7-Xr$fkBDQ42))`!P0XJO4&ddyMzJT4S)GYQMu0&~xp!o@{_!(>Q3#0AF9jL<~qa+yX zfCNElp}vlqA5)hS$9c8Eo_ev>NY(cwQkP~id=7^)-(l5Zad;MYXU^l$S7^P6V@I+V zaC`z3RpYtiHvy=Z{ Gpy_XOGlt;+ literal 0 HcmV?d00001 diff --git a/server/jpywork/linecache.java b/server/jpywork/linecache.java new file mode 100644 index 00000000..18821426 --- /dev/null +++ b/server/jpywork/linecache.java @@ -0,0 +1,255 @@ +import org.python.core.*; + +public class linecache extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject i$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject i$8; + private static PyObject s$9; + private static PyObject s$10; + private static PyObject i$11; + private static PyObject s$12; + private static PyObject s$13; + private static PyObject s$14; + private static PyFunctionTable funcTable; + private static PyCode c$0_getline; + private static PyCode c$1_clearcache; + private static PyCode c$2_getlines; + private static PyCode c$3_checkcache; + private static PyCode c$4_updatecache; + private static PyCode c$5_main; + private static void initConstants() { + s$0 = Py.newString("Cache lines from files.\012\012This is intended to read lines from modules imported -- hence if a filename\012is not found, it will look down the module search path for a file by\012that name.\012"); + s$1 = Py.newString("getline"); + s$2 = Py.newString("clearcache"); + s$3 = Py.newString("checkcache"); + i$4 = Py.newInteger(1); + s$5 = Py.newString(""); + s$6 = Py.newString("Clear the cache entirely."); + s$7 = Py.newString("Get the lines for a file from the cache.\012 Update the cache if it doesn't contain an entry for this file already."); + i$8 = Py.newInteger(2); + s$9 = Py.newString("Discard cache entries that are out of date.\012 (This is not checked upon each call!)"); + s$10 = Py.newString("Update a cache entry and return its list of lines.\012 If something's wrong, print a message, discard the cache entry,\012 and return an empty list."); + i$11 = Py.newInteger(0); + s$12 = Py.newString("<>"); + s$13 = Py.newString("r"); + s$14 = Py.newString("/usr/share/jython/Lib-cpython/linecache.py"); + funcTable = new _PyInner(); + c$0_getline = Py.newCode(2, new String[] {"filename", "lineno", "lines"}, "/usr/share/jython/Lib-cpython/linecache.py", "getline", false, false, funcTable, 0, null, null, 0, 1); + c$1_clearcache = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/linecache.py", "clearcache", false, false, funcTable, 1, null, null, 0, 1); + c$2_getlines = Py.newCode(1, new String[] {"filename"}, "/usr/share/jython/Lib-cpython/linecache.py", "getlines", false, false, funcTable, 2, null, null, 0, 1); + c$3_checkcache = Py.newCode(0, new String[] {"filename", "stat", "mtime", "fullname", "size", "lines"}, "/usr/share/jython/Lib-cpython/linecache.py", "checkcache", false, false, funcTable, 3, null, null, 0, 1); + c$4_updatecache = Py.newCode(1, new String[] {"filename", "msg", "stat", "dirname", "fp", "basename", "mtime", "fullname", "size", "lines"}, "/usr/share/jython/Lib-cpython/linecache.py", "updatecache", false, false, funcTable, 4, null, null, 0, 1); + c$5_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/linecache.py", "main", false, false, funcTable, 5, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$5_main == null) _PyInner.initConstants(); + return c$5_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.getline$1(frame); + case 1: + return _PyInner.clearcache$2(frame); + case 2: + return _PyInner.getlines$3(frame); + case 3: + return _PyInner.checkcache$4(frame); + case 4: + return _PyInner.updatecache$5(frame); + case 5: + return _PyInner.main$6(frame); + default: + return null; + } + } + + private static PyObject getline$1(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + frame.setlocal(2, frame.getglobal("getlines").__call__(frame.getlocal(0))); + if ((i$4._le(t$0$PyObject = frame.getlocal(1)).__nonzero__() ? t$0$PyObject._le(frame.getglobal("len").__call__(frame.getlocal(2))) : Py.Zero).__nonzero__()) { + return frame.getlocal(2).__getitem__(frame.getlocal(1)._sub(i$4)); + } + else { + return s$5; + } + } + + private static PyObject clearcache$2(PyFrame frame) { + /* Clear the cache entirely. */ + // global cache + frame.setglobal("cache", new PyDictionary(new PyObject[] {})); + return Py.None; + } + + private static PyObject getlines$3(PyFrame frame) { + /* Get the lines for a file from the cache. + Update the cache if it doesn't contain an entry for this file already. */ + if (frame.getglobal("cache").invoke("has_key", frame.getlocal(0)).__nonzero__()) { + return frame.getglobal("cache").__getitem__(frame.getlocal(0)).__getitem__(i$8); + } + else { + return frame.getglobal("updatecache").__call__(frame.getlocal(0)); + } + } + + private static PyObject checkcache$4(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyException t$0$PyException; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject; + + // Code + /* Discard cache entries that are out of date. + (This is not checked upon each call!) */ + t$0$int = 0; + t$1$PyObject = frame.getglobal("cache").invoke("keys"); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(0, t$0$PyObject); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("cache").__getitem__(frame.getlocal(0)), 4); + frame.setlocal(4, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + frame.setlocal(5, t$0$PyObject__[2]); + frame.setlocal(3, t$0$PyObject__[3]); + try { + frame.setlocal(1, frame.getglobal("os").__getattr__("stat").__call__(frame.getlocal(3))); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("os").__getattr__("error"))) { + frame.getglobal("cache").__delitem__(frame.getlocal(0)); + continue; + } + else throw t$0$PyException; + } + if (((t$2$PyObject = frame.getlocal(4)._ne(frame.getlocal(1).__getitem__(frame.getglobal("ST_SIZE")))).__nonzero__() ? t$2$PyObject : frame.getlocal(2)._ne(frame.getlocal(1).__getitem__(frame.getglobal("ST_MTIME")))).__nonzero__()) { + frame.getglobal("cache").__delitem__(frame.getlocal(0)); + } + } + return Py.None; + } + + private static PyObject updatecache$5(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + boolean t$0$boolean; + PyException t$0$PyException, t$1$PyException; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Update a cache entry and return its list of lines. + If something's wrong, print a message, discard the cache entry, + and return an empty list. */ + if (frame.getglobal("cache").invoke("has_key", frame.getlocal(0)).__nonzero__()) { + frame.getglobal("cache").__delitem__(frame.getlocal(0)); + } + if (((t$0$PyObject = frame.getlocal(0).__not__()).__nonzero__() ? t$0$PyObject : frame.getlocal(0).__getitem__(i$11)._add(frame.getlocal(0).__getitem__(i$4.__neg__()))._eq(s$12)).__nonzero__()) { + return new PyList(new PyObject[] {}); + } + frame.setlocal(7, frame.getlocal(0)); + try { + frame.setlocal(2, frame.getglobal("os").__getattr__("stat").__call__(frame.getlocal(7))); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("os").__getattr__("error"))) { + frame.setlocal(1, t$0$PyException.value); + frame.setlocal(5, frame.getglobal("os").__getattr__("path").__getattr__("split").__call__(frame.getlocal(0)).__getitem__(i$4)); + t$0$int = 0; + t$1$PyObject = frame.getglobal("sys").__getattr__("path"); + while (t$0$boolean=(t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(3, t$0$PyObject); + frame.setlocal(7, frame.getglobal("os").__getattr__("path").__getattr__("join").__call__(frame.getlocal(3), frame.getlocal(5))); + try { + frame.setlocal(2, frame.getglobal("os").__getattr__("stat").__call__(frame.getlocal(7))); + break; + } + catch (Throwable x$1) { + t$1$PyException = Py.setException(x$1, frame); + if (Py.matchException(t$1$PyException, frame.getglobal("os").__getattr__("error"))) { + // pass + } + else throw t$1$PyException; + } + } + if (!t$0$boolean) { + return new PyList(new PyObject[] {}); + } + } + else throw t$0$PyException; + } + try { + frame.setlocal(4, frame.getglobal("open").__call__(frame.getlocal(7), s$13)); + frame.setlocal(9, frame.getlocal(4).invoke("readlines")); + frame.getlocal(4).invoke("close"); + } + catch (Throwable x$2) { + t$0$PyException = Py.setException(x$2, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("IOError"))) { + frame.setlocal(1, t$0$PyException.value); + return new PyList(new PyObject[] {}); + } + else throw t$0$PyException; + } + t$0$PyObject__ = org.python.core.Py.unpackSequence(new PyTuple(new PyObject[] {frame.getlocal(2).__getitem__(frame.getglobal("ST_SIZE")), frame.getlocal(2).__getitem__(frame.getglobal("ST_MTIME"))}), 2); + frame.setlocal(8, t$0$PyObject__[0]); + frame.setlocal(6, t$0$PyObject__[1]); + frame.getglobal("cache").__setitem__(frame.getlocal(0), new PyTuple(new PyObject[] {frame.getlocal(8), frame.getlocal(6), frame.getlocal(9), frame.getlocal(7)})); + return frame.getlocal(9); + } + + private static PyObject main$6(PyFrame frame) { + frame.setglobal("__file__", s$14); + + /* Cache lines from files. + + This is intended to read lines from modules imported -- hence if a filename + is not found, it will look down the module search path for a file by + that name. + */ + frame.setlocal("sys", org.python.core.imp.importOne("sys", frame)); + frame.setlocal("os", org.python.core.imp.importOne("os", frame)); + org.python.core.imp.importAll("stat", frame); + frame.setlocal("__all__", new PyList(new PyObject[] {s$1, s$2, s$3})); + frame.setlocal("getline", new PyFunction(frame.f_globals, new PyObject[] {}, c$0_getline)); + frame.setlocal("cache", new PyDictionary(new PyObject[] {})); + frame.setlocal("clearcache", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_clearcache)); + frame.setlocal("getlines", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_getlines)); + frame.setlocal("checkcache", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_checkcache)); + frame.setlocal("updatecache", new PyFunction(frame.f_globals, new PyObject[] {}, c$4_updatecache)); + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("linecache")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "linecache"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(linecache._PyInner.class, newargs, linecache.jpy$packages, linecache.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/random$_PyInner.class b/server/jpywork/random$_PyInner.class new file mode 100644 index 0000000000000000000000000000000000000000..ac059d7d940b843f8f63d8c2e74c6ca7d9b9d766 GIT binary patch literal 30716 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 literal 0 HcmV?d00001 diff --git a/server/jpywork/random.class b/server/jpywork/random.class new file mode 100644 index 0000000000000000000000000000000000000000..95cd9a17b6a521b58c27b2f219e59ba7ddeaced6 GIT binary patch literal 2485 zcma)8`EwIx7=E@*yI(_keb92qDMi{8Q;|cVt)d)SENwMV3@Bl{{b;r%yK%FD2Jid6 z@B1Eq240+g;U^(uX?-i9FII3h|`N`p`WIFI2cdDOUEn4)w znaX0>M98)5v(}VWHSN4rDs|mvpnZ{z{hCP=P3ejo4!cU&j9%Rqg1&$xlu zes5BlXj>9zb8RiYC2_lyg$93q=_t%AyC zP26r^)s5owNY}-&9lNxr-3B_k7gcet6MDwuxD$I#?5Sxda+^Ru1`I6AW=kx0pbFWn zfxa5n{wr`3Y>w8bfxEI}l_A$vejJ0?rpY}C+>8B0c1i_D*ue(YbobOSr`xJOj)S<* z#36S4jj1PaKZa^p`9A`=Wzb_n_5B5DY3is@UbnsYs{RUig>jfO^oO% zT$tg7n>fbskckJEPEMsn*b_+OC_B{heXC-7#fpLC;wsF=F|?@6^Q@tsaow5Y2{a)t za911|oHTKQC8@>`PIdy1;8Egt#`8zmV;slDF6P^2k&9>_m|#z=ui6^%LjD1D=8#u* zClC6*$7)-!O-w9F{AkYi&g z+-d@ORzT080E^HR_?E3ExXc8KY~GTuvbI+!I(a4FQ_Bj}jKi7d$kp>w;2dW;l5$Id z4TG7hxcdtBC6lu_aJ*`zMMD$YiPqRIY>4fqwZnJ-br`0V7;PQVAQ&y= z*OBvQ@_OtvQycEBmpjtQ`rcUb`Yc8-;aKK3tUWG|&*I_CWgPnnt=DksMD_|!U&WbU zdoN+@C3MKCwlxthjs|gu2Is8Cte_F{(itHi3t=jenz9^%b)K|IR!HOWanfb-Nz#OT znzUIyOWGozCvBB4lD5g0N!#VCq*A_4x?H|VxpR4D$a6H2n== C-hRaZ literal 0 HcmV?d00001 diff --git a/server/jpywork/random.java b/server/jpywork/random.java new file mode 100644 index 00000000..b67ec896 --- /dev/null +++ b/server/jpywork/random.java @@ -0,0 +1,1087 @@ +import org.python.core.*; + +public class random extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject s$8; + private static PyObject s$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyObject s$13; + private static PyObject s$14; + private static PyObject s$15; + private static PyObject s$16; + private static PyObject s$17; + private static PyObject s$18; + private static PyObject s$19; + private static PyObject s$20; + private static PyObject s$21; + private static PyObject s$22; + private static PyObject s$23; + private static PyObject f$24; + private static PyObject s$25; + private static PyObject i$26; + private static PyObject f$27; + private static PyObject f$28; + private static PyObject s$29; + private static PyObject f$30; + private static PyObject s$31; + private static PyObject f$32; + private static PyObject f$33; + private static PyObject s$34; + private static PyObject f$35; + private static PyObject f$36; + private static PyObject f$37; + private static PyObject s$38; + private static PyObject f$39; + private static PyObject i$40; + private static PyObject s$41; + private static PyObject s$42; + private static PyObject i$43; + private static PyObject i$44; + private static PyObject l$45; + private static PyObject i$46; + private static PyObject i$47; + private static PyObject i$48; + private static PyObject s$49; + private static PyObject i$50; + private static PyObject i$51; + private static PyObject i$52; + private static PyObject i$53; + private static PyObject i$54; + private static PyObject i$55; + private static PyObject f$56; + private static PyObject f$57; + private static PyObject f$58; + private static PyObject s$59; + private static PyObject s$60; + private static PyObject i$61; + private static PyObject s$62; + private static PyObject s$63; + private static PyObject s$64; + private static PyObject s$65; + private static PyObject s$66; + private static PyObject s$67; + private static PyObject i$68; + private static PyObject i$69; + private static PyObject s$70; + private static PyObject s$71; + private static PyObject s$72; + private static PyObject s$73; + private static PyObject s$74; + private static PyObject s$75; + private static PyObject s$76; + private static PyObject s$77; + private static PyObject s$78; + private static PyObject s$79; + private static PyObject s$80; + private static PyObject f$81; + private static PyObject f$82; + private static PyObject s$83; + private static PyObject s$84; + private static PyObject s$85; + private static PyObject f$86; + private static PyObject s$87; + private static PyObject s$88; + private static PyObject s$89; + private static PyObject s$90; + private static PyObject s$91; + private static PyObject s$92; + private static PyObject s$93; + private static PyObject s$94; + private static PyObject s$95; + private static PyObject s$96; + private static PyObject s$97; + private static PyObject s$98; + private static PyObject s$99; + private static PyObject s$100; + private static PyObject s$101; + private static PyObject s$102; + private static PyObject s$103; + private static PyObject s$104; + private static PyObject s$105; + private static PyObject s$106; + private static PyObject s$107; + private static PyObject s$108; + private static PyObject s$109; + private static PyObject i$110; + private static PyObject s$111; + private static PyObject s$112; + private static PyFunctionTable funcTable; + private static PyCode c$0__verify; + private static PyCode c$1___init__; + private static PyCode c$2_seed; + private static PyCode c$3_random; + private static PyCode c$4_getstate; + private static PyCode c$5_setstate; + private static PyCode c$6_jumpahead; + private static PyCode c$7__Random__whseed; + private static PyCode c$8_whseed; + private static PyCode c$9___getstate__; + private static PyCode c$10___setstate__; + private static PyCode c$11_randrange; + private static PyCode c$12_randint; + private static PyCode c$13_choice; + private static PyCode c$14_shuffle; + private static PyCode c$15_uniform; + private static PyCode c$16_normalvariate; + private static PyCode c$17_lognormvariate; + private static PyCode c$18_cunifvariate; + private static PyCode c$19_expovariate; + private static PyCode c$20_vonmisesvariate; + private static PyCode c$21_gammavariate; + private static PyCode c$22_stdgamma; + private static PyCode c$23_gauss; + private static PyCode c$24_betavariate; + private static PyCode c$25_paretovariate; + private static PyCode c$26_weibullvariate; + private static PyCode c$27_Random; + private static PyCode c$28__test_generator; + private static PyCode c$29__test; + private static PyCode c$30_main; + private static void initConstants() { + s$0 = Py.newString("Random variable generators.\012\012 integers\012 --------\012 uniform within range\012\012 sequences\012 ---------\012 pick random element\012 generate random permutation\012\012 distributions on the real line:\012 ------------------------------\012 uniform\012 normal (Gaussian)\012 lognormal\012 negative exponential\012 gamma\012 beta\012\012 distributions on the circle (angles 0 to 2pi)\012 ---------------------------------------------\012 circular uniform\012 von Mises\012\012Translated from anonymously contributed C/C++ source.\012\012Multi-threading note: the random number generator used here is not thread-\012safe; it is possible that two calls return the same random value. However,\012you can instantiate a different instance of Random() in each thread to get\012generators that don't share state, then use .setstate() and .jumpahead() to\012move the generators to disjoint segments of the full period. For example,\012\012def create_generators(num, delta, firstseed=None):\012 \"\"\"Return list of num distinct generators.\012 Each generator has its own unique segment of delta elements from\012 Random.random()'s full period.\012 Seed the first generator with optional arg firstseed (default is\012 None, to seed from current time).\012 \"\"\"\012\012 from random import Random\012 g = Random(firstseed)\012 result = [g]\012 for i in range(num - 1):\012 laststate = g.getstate()\012 g = Random()\012 g.setstate(laststate)\012 g.jumpahead(delta)\012 result.append(g)\012 return result\012\012gens = create_generators(10, 1000000)\012\012That creates 10 distinct generators, which can be passed out to 10 distinct\012threads. The generators don't share state so can be called safely in\012parallel. So long as no thread calls its g.random() more than a million\012times (the second argument to create_generators), the sequences seen by\012each thread will not overlap.\012\012The period of the underlying Wichmann-Hill generator is 6,953,607,871,644,\012and that limits how far this technique can be pushed.\012\012Just for fun, note that since we know the period, .jumpahead() can also be\012used to \"move backward in time\":\012\012>>> g = Random(42) # arbitrary\012>>> g.random()\0120.25420336316883324\012>>> g.jumpahead(6953607871644L - 1) # move *back* one\012>>> g.random()\0120.25420336316883324\012"); + s$1 = Py.newString("Random"); + s$2 = Py.newString("seed"); + s$3 = Py.newString("random"); + s$4 = Py.newString("uniform"); + s$5 = Py.newString("randint"); + s$6 = Py.newString("choice"); + s$7 = Py.newString("randrange"); + s$8 = Py.newString("shuffle"); + s$9 = Py.newString("normalvariate"); + s$10 = Py.newString("lognormvariate"); + s$11 = Py.newString("cunifvariate"); + s$12 = Py.newString("expovariate"); + s$13 = Py.newString("vonmisesvariate"); + s$14 = Py.newString("gammavariate"); + s$15 = Py.newString("stdgamma"); + s$16 = Py.newString("gauss"); + s$17 = Py.newString("betavariate"); + s$18 = Py.newString("paretovariate"); + s$19 = Py.newString("weibullvariate"); + s$20 = Py.newString("getstate"); + s$21 = Py.newString("setstate"); + s$22 = Py.newString("jumpahead"); + s$23 = Py.newString("whseed"); + f$24 = Py.newFloat(1.0E-7); + s$25 = Py.newString("computed value for %s deviates too much (computed %g, expected %g)"); + i$26 = Py.newInteger(4); + f$27 = Py.newFloat(0.5); + f$28 = Py.newFloat(2.0); + s$29 = Py.newString("NV_MAGICCONST"); + f$30 = Py.newFloat(1.71552776992141); + s$31 = Py.newString("TWOPI"); + f$32 = Py.newFloat(6.28318530718); + f$33 = Py.newFloat(4.0); + s$34 = Py.newString("LOG4"); + f$35 = Py.newFloat(1.38629436111989); + f$36 = Py.newFloat(1.0); + f$37 = Py.newFloat(4.5); + s$38 = Py.newString("SG_MAGICCONST"); + f$39 = Py.newFloat(2.50407739677627); + i$40 = Py.newInteger(1); + s$41 = Py.newString("Initialize an instance.\012\012 Optional argument x controls seeding, as for Random.seed().\012 "); + s$42 = Py.newString("Initialize internal state from hashable object.\012\012 None or no argument seeds from current time.\012\012 If a is not None or an int or long, hash(a) is used instead.\012\012 If a is an int or long, a is used directly. Distinct values between\012 0 and 27814431486575L inclusive are guaranteed to yield distinct\012 internal states (this guarantee is specific to the default\012 Wichmann-Hill generator).\012 "); + i$43 = Py.newInteger(256); + i$44 = Py.newInteger(3); + l$45 = Py.newLong("3"); + i$46 = Py.newInteger(30268); + i$47 = Py.newInteger(30306); + i$48 = Py.newInteger(30322); + s$49 = Py.newString("Get the next random number in the range [0.0, 1.0)."); + i$50 = Py.newInteger(171); + i$51 = Py.newInteger(30269); + i$52 = Py.newInteger(172); + i$53 = Py.newInteger(30307); + i$54 = Py.newInteger(170); + i$55 = Py.newInteger(30323); + f$56 = Py.newFloat(30269.0); + f$57 = Py.newFloat(30307.0); + f$58 = Py.newFloat(30323.0); + s$59 = Py.newString("Return internal state; can be passed to setstate() later."); + s$60 = Py.newString("Restore internal state from object returned by getstate()."); + i$61 = Py.newInteger(0); + s$62 = Py.newString("state with version %s passed to Random.setstate() of version %s"); + s$63 = Py.newString("Act as if n calls to random() were made, but quickly.\012\012 n is an int, greater than or equal to 0.\012\012 Example use: If you have 2 threads and know that each will\012 consume no more than a million random numbers, create two Random\012 objects r1 and r2, then do\012 r2.setstate(r1.getstate())\012 r2.jumpahead(1000000)\012 Then r1 and r2 will use guaranteed-disjoint segments of the full\012 period.\012 "); + s$64 = Py.newString("n must be >= 0"); + s$65 = Py.newString("Set the Wichmann-Hill seed from (x, y, z).\012\012 These must be integers in the range [0, 256).\012 "); + s$66 = Py.newString("seeds must be integers"); + s$67 = Py.newString("seeds must be in range(0, 256)"); + i$68 = Py.newInteger(16777215); + i$69 = Py.newInteger(24); + s$70 = Py.newString("Seed from hashable object's hash code.\012\012 None or no argument seeds from current time. It is not guaranteed\012 that objects with distinct hash codes lead to distinct internal\012 states.\012\012 This is obsolete, provided for compatibility with the seed routine\012 used prior to Python 2.1. Use the .seed() method instead.\012 "); + s$71 = Py.newString("Choose a random item from range(start, stop[, step]).\012\012 This fixes the problem with randint() which includes the\012 endpoint; in Python this is usually not what you want.\012 Do not supply the 'int' and 'default' arguments.\012 "); + s$72 = Py.newString("non-integer arg 1 for randrange()"); + s$73 = Py.newString("empty range for randrange()"); + s$74 = Py.newString("non-integer stop for randrange()"); + s$75 = Py.newString("non-integer step for randrange()"); + s$76 = Py.newString("zero step for randrange()"); + s$77 = Py.newString("Return random integer in range [a, b], including both end points.\012\012 (Deprecated; use randrange(a, b+1).)\012 "); + s$78 = Py.newString("Choose a random element from a non-empty sequence."); + s$79 = Py.newString("x, random=random.random -> shuffle list x in place; return None.\012\012 Optional arg random is a 0-argument function returning a random\012 float in [0.0, 1.0); by default, the standard random.random.\012\012 Note that for even rather small len(x), the total number of\012 permutations of x is larger than the period of most random number\012 generators; this implies that \"most\" permutations of a long\012 sequence can never be generated.\012 "); + s$80 = Py.newString("Get a random number in the range [a, b)."); + f$81 = Py.newFloat(1.0E-6); + f$82 = Py.newFloat(0.0); + s$83 = Py.newString("stdgamma: alpha must be > 0.0"); + s$84 = Py.newString("times"); + s$85 = Py.newString("eval"); + f$86 = Py.newFloat(1.0E10); + s$87 = Py.newString("sec,"); + s$88 = Py.newString("avg %g, stddev %g, min %g, max %g"); + s$89 = Py.newString("TWOPI ="); + s$90 = Py.newString("LOG4 ="); + s$91 = Py.newString("NV_MAGICCONST ="); + s$92 = Py.newString("SG_MAGICCONST ="); + s$93 = Py.newString("random()"); + s$94 = Py.newString("normalvariate(0.0, 1.0)"); + s$95 = Py.newString("lognormvariate(0.0, 1.0)"); + s$96 = Py.newString("cunifvariate(0.0, 1.0)"); + s$97 = Py.newString("expovariate(1.0)"); + s$98 = Py.newString("vonmisesvariate(0.0, 1.0)"); + s$99 = Py.newString("gammavariate(0.5, 1.0)"); + s$100 = Py.newString("gammavariate(0.9, 1.0)"); + s$101 = Py.newString("gammavariate(1.0, 1.0)"); + s$102 = Py.newString("gammavariate(2.0, 1.0)"); + s$103 = Py.newString("gammavariate(20.0, 1.0)"); + s$104 = Py.newString("gammavariate(200.0, 1.0)"); + s$105 = Py.newString("gauss(0.0, 1.0)"); + s$106 = Py.newString("betavariate(3.0, 3.0)"); + s$107 = Py.newString("paretovariate(1.0)"); + s$108 = Py.newString("weibullvariate(1.0, 1.0)"); + s$109 = Py.newString("jumpahead test failed "); + i$110 = Py.newInteger(200); + s$111 = Py.newString("__main__"); + s$112 = Py.newString("/usr/share/jython/Lib/random.py"); + funcTable = new _PyInner(); + c$0__verify = Py.newCode(3, new String[] {"name", "computed", "expected"}, "/usr/share/jython/Lib/random.py", "_verify", false, false, funcTable, 0, null, null, 0, 1); + c$1___init__ = Py.newCode(2, new String[] {"self", "x"}, "/usr/share/jython/Lib/random.py", "__init__", false, false, funcTable, 1, null, null, 0, 1); + c$2_seed = Py.newCode(2, new String[] {"self", "a", "time", "z", "y", "x"}, "/usr/share/jython/Lib/random.py", "seed", false, false, funcTable, 2, null, null, 0, 1); + c$3_random = Py.newCode(1, new String[] {"self", "x", "z", "y"}, "/usr/share/jython/Lib/random.py", "random", false, false, funcTable, 3, null, null, 0, 1); + c$4_getstate = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/random.py", "getstate", false, false, funcTable, 4, null, null, 0, 1); + c$5_setstate = Py.newCode(2, new String[] {"self", "state", "version"}, "/usr/share/jython/Lib/random.py", "setstate", false, false, funcTable, 5, null, null, 0, 1); + c$6_jumpahead = Py.newCode(2, new String[] {"self", "n", "x", "z", "y"}, "/usr/share/jython/Lib/random.py", "jumpahead", false, false, funcTable, 6, null, null, 0, 1); + c$7__Random__whseed = Py.newCode(4, new String[] {"self", "x", "y", "z", "time", "t"}, "/usr/share/jython/Lib/random.py", "_Random__whseed", false, false, funcTable, 7, null, null, 0, 1); + c$8_whseed = Py.newCode(2, new String[] {"self", "a", "x", "z", "y"}, "/usr/share/jython/Lib/random.py", "whseed", false, false, funcTable, 8, null, null, 0, 1); + c$9___getstate__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/random.py", "__getstate__", false, false, funcTable, 9, null, null, 0, 1); + c$10___setstate__ = Py.newCode(2, new String[] {"self", "state"}, "/usr/share/jython/Lib/random.py", "__setstate__", false, false, funcTable, 10, null, null, 0, 1); + c$11_randrange = Py.newCode(6, new String[] {"self", "start", "stop", "step", "int", "default", "istep", "n", "istart", "istop"}, "/usr/share/jython/Lib/random.py", "randrange", false, false, funcTable, 11, null, null, 0, 1); + c$12_randint = Py.newCode(3, new String[] {"self", "a", "b"}, "/usr/share/jython/Lib/random.py", "randint", false, false, funcTable, 12, null, null, 0, 1); + c$13_choice = Py.newCode(2, new String[] {"self", "seq"}, "/usr/share/jython/Lib/random.py", "choice", false, false, funcTable, 13, null, null, 0, 1); + c$14_shuffle = Py.newCode(4, new String[] {"self", "x", "random", "int", "j", "i"}, "/usr/share/jython/Lib/random.py", "shuffle", false, false, funcTable, 14, null, null, 0, 1); + c$15_uniform = Py.newCode(3, new String[] {"self", "a", "b"}, "/usr/share/jython/Lib/random.py", "uniform", false, false, funcTable, 15, null, null, 0, 1); + c$16_normalvariate = Py.newCode(3, new String[] {"self", "mu", "sigma", "u2", "u1", "random", "zz", "z"}, "/usr/share/jython/Lib/random.py", "normalvariate", false, false, funcTable, 16, null, null, 0, 1); + c$17_lognormvariate = Py.newCode(3, new String[] {"self", "mu", "sigma"}, "/usr/share/jython/Lib/random.py", "lognormvariate", false, false, funcTable, 17, null, null, 0, 1); + c$18_cunifvariate = Py.newCode(3, new String[] {"self", "mean", "arc"}, "/usr/share/jython/Lib/random.py", "cunifvariate", false, false, funcTable, 18, null, null, 0, 1); + c$19_expovariate = Py.newCode(2, new String[] {"self", "lambd", "u", "random"}, "/usr/share/jython/Lib/random.py", "expovariate", false, false, funcTable, 19, null, null, 0, 1); + c$20_vonmisesvariate = Py.newCode(3, new String[] {"self", "mu", "kappa", "random", "theta", "z", "r", "u3", "u2", "u1", "f", "c", "b", "a"}, "/usr/share/jython/Lib/random.py", "vonmisesvariate", false, false, funcTable, 20, null, null, 0, 1); + c$21_gammavariate = Py.newCode(3, new String[] {"self", "alpha", "beta", "ainv"}, "/usr/share/jython/Lib/random.py", "gammavariate", false, false, funcTable, 21, null, null, 0, 1); + c$22_stdgamma = Py.newCode(5, new String[] {"self", "alpha", "ainv", "bbb", "ccc", "random", "z", "x", "v", "u", "r", "p", "u2", "u1", "b"}, "/usr/share/jython/Lib/random.py", "stdgamma", false, false, funcTable, 22, null, null, 0, 1); + c$23_gauss = Py.newCode(3, new String[] {"self", "mu", "sigma", "x2pi", "random", "g2rad", "z"}, "/usr/share/jython/Lib/random.py", "gauss", false, false, funcTable, 23, null, null, 0, 1); + c$24_betavariate = Py.newCode(3, new String[] {"self", "alpha", "beta", "y"}, "/usr/share/jython/Lib/random.py", "betavariate", false, false, funcTable, 24, null, null, 0, 1); + c$25_paretovariate = Py.newCode(2, new String[] {"self", "alpha", "u"}, "/usr/share/jython/Lib/random.py", "paretovariate", false, false, funcTable, 25, null, null, 0, 1); + c$26_weibullvariate = Py.newCode(3, new String[] {"self", "alpha", "beta", "u"}, "/usr/share/jython/Lib/random.py", "weibullvariate", false, false, funcTable, 26, null, null, 0, 1); + c$27_Random = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/random.py", "Random", false, false, funcTable, 27, null, null, 0, 0); + c$28__test_generator = Py.newCode(2, new String[] {"n", "funccall", "smallest", "code", "sum", "largest", "time", "x", "t1", "t0", "avg", "i", "stddev", "sqsum"}, "/usr/share/jython/Lib/random.py", "_test_generator", false, false, funcTable, 28, null, null, 0, 1); + c$29__test = Py.newCode(1, new String[] {"N", "r2", "r1", "i", "s"}, "/usr/share/jython/Lib/random.py", "_test", false, false, funcTable, 29, null, null, 0, 1); + c$30_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/random.py", "main", false, false, funcTable, 30, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$30_main == null) _PyInner.initConstants(); + return c$30_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner._verify$1(frame); + case 1: + return _PyInner.__init__$2(frame); + case 2: + return _PyInner.seed$3(frame); + case 3: + return _PyInner.random$4(frame); + case 4: + return _PyInner.getstate$5(frame); + case 5: + return _PyInner.setstate$6(frame); + case 6: + return _PyInner.jumpahead$7(frame); + case 7: + return _PyInner._Random__whseed$8(frame); + case 8: + return _PyInner.whseed$9(frame); + case 9: + return _PyInner.__getstate__$10(frame); + case 10: + return _PyInner.__setstate__$11(frame); + case 11: + return _PyInner.randrange$12(frame); + case 12: + return _PyInner.randint$13(frame); + case 13: + return _PyInner.choice$14(frame); + case 14: + return _PyInner.shuffle$15(frame); + case 15: + return _PyInner.uniform$16(frame); + case 16: + return _PyInner.normalvariate$17(frame); + case 17: + return _PyInner.lognormvariate$18(frame); + case 18: + return _PyInner.cunifvariate$19(frame); + case 19: + return _PyInner.expovariate$20(frame); + case 20: + return _PyInner.vonmisesvariate$21(frame); + case 21: + return _PyInner.gammavariate$22(frame); + case 22: + return _PyInner.stdgamma$23(frame); + case 23: + return _PyInner.gauss$24(frame); + case 24: + return _PyInner.betavariate$25(frame); + case 25: + return _PyInner.paretovariate$26(frame); + case 26: + return _PyInner.weibullvariate$27(frame); + case 27: + return _PyInner.Random$28(frame); + case 28: + return _PyInner._test_generator$29(frame); + case 29: + return _PyInner._test$30(frame); + case 30: + return _PyInner.main$31(frame); + default: + return null; + } + } + + private static PyObject _verify$1(PyFrame frame) { + if (frame.getglobal("abs").__call__(frame.getlocal(1)._sub(frame.getlocal(2)))._gt(f$24).__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError").__call__(s$25._mod(new PyTuple(new PyObject[] {frame.getlocal(0), frame.getlocal(1), frame.getlocal(2)})))); + } + return Py.None; + } + + private static PyObject __init__$2(PyFrame frame) { + /* Initialize an instance. + + Optional argument x controls seeding, as for Random.seed(). + */ + frame.getlocal(0).invoke("seed", frame.getlocal(1)); + frame.getlocal(0).__setattr__("gauss_next", frame.getglobal("None")); + return Py.None; + } + + private static PyObject seed$3(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + /* Initialize internal state from hashable object. + + None or no argument seeds from current time. + + If a is not None or an int or long, hash(a) is used instead. + + If a is an int or long, a is used directly. Distinct values between + 0 and 27814431486575L inclusive are guaranteed to yield distinct + internal states (this guarantee is specific to the default + Wichmann-Hill generator). + */ + if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(2, org.python.core.imp.importOne("time", frame)); + frame.setlocal(1, frame.getglobal("long").__call__(frame.getlocal(2).__getattr__("time").__call__()._mul(i$43))); + } + if (frame.getglobal("type").__call__(frame.getlocal(1))._notin(new PyTuple(new PyObject[] {frame.getglobal("type").__call__(i$44), frame.getglobal("type").__call__(l$45)})).__nonzero__()) { + frame.setlocal(1, frame.getglobal("hash").__call__(frame.getlocal(1))); + } + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("divmod").__call__(frame.getlocal(1), i$46), 2); + frame.setlocal(1, t$0$PyObject__[0]); + frame.setlocal(5, t$0$PyObject__[1]); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("divmod").__call__(frame.getlocal(1), i$47), 2); + frame.setlocal(1, t$0$PyObject__[0]); + frame.setlocal(4, t$0$PyObject__[1]); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("divmod").__call__(frame.getlocal(1), i$48), 2); + frame.setlocal(1, t$0$PyObject__[0]); + frame.setlocal(3, t$0$PyObject__[1]); + frame.getlocal(0).__setattr__("_seed", new PyTuple(new PyObject[] {frame.getglobal("int").__call__(frame.getlocal(5))._add(i$40), frame.getglobal("int").__call__(frame.getlocal(4))._add(i$40), frame.getglobal("int").__call__(frame.getlocal(3))._add(i$40)})); + return Py.None; + } + + private static PyObject random$4(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + /* Get the next random number in the range [0.0, 1.0). */ + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(0).__getattr__("_seed"), 3); + frame.setlocal(1, t$0$PyObject__[0]); + frame.setlocal(3, t$0$PyObject__[1]); + frame.setlocal(2, t$0$PyObject__[2]); + frame.setlocal(1, i$50._mul(frame.getlocal(1))._mod(i$51)); + frame.setlocal(3, i$52._mul(frame.getlocal(3))._mod(i$53)); + frame.setlocal(2, i$54._mul(frame.getlocal(2))._mod(i$55)); + frame.getlocal(0).__setattr__("_seed", new PyTuple(new PyObject[] {frame.getlocal(1), frame.getlocal(3), frame.getlocal(2)})); + return frame.getlocal(1)._div(f$56)._add(frame.getlocal(3)._div(f$57))._add(frame.getlocal(2)._div(f$58))._mod(f$36); + } + + private static PyObject getstate$5(PyFrame frame) { + /* Return internal state; can be passed to setstate() later. */ + return new PyTuple(new PyObject[] {frame.getlocal(0).__getattr__("VERSION"), frame.getlocal(0).__getattr__("_seed"), frame.getlocal(0).__getattr__("gauss_next")}); + } + + private static PyObject setstate$6(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + /* Restore internal state from object returned by getstate(). */ + frame.setlocal(2, frame.getlocal(1).__getitem__(i$61)); + if (frame.getlocal(2)._eq(i$40).__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(1), 3); + frame.setlocal(2, t$0$PyObject__[0]); + frame.getlocal(0).__setattr__("_seed", t$0$PyObject__[1]); + frame.getlocal(0).__setattr__("gauss_next", t$0$PyObject__[2]); + } + else { + throw Py.makeException(frame.getglobal("ValueError").__call__(s$62._mod(new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(0).__getattr__("VERSION")})))); + } + return Py.None; + } + + private static PyObject jumpahead$7(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + /* Act as if n calls to random() were made, but quickly. + + n is an int, greater than or equal to 0. + + Example use: If you have 2 threads and know that each will + consume no more than a million random numbers, create two Random + objects r1 and r2, then do + r2.setstate(r1.getstate()) + r2.jumpahead(1000000) + Then r1 and r2 will use guaranteed-disjoint segments of the full + period. + */ + if (frame.getlocal(1)._ge(i$61).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError").__call__(s$64)); + } + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(0).__getattr__("_seed"), 3); + frame.setlocal(2, t$0$PyObject__[0]); + frame.setlocal(4, t$0$PyObject__[1]); + frame.setlocal(3, t$0$PyObject__[2]); + frame.setlocal(2, frame.getglobal("int").__call__(frame.getlocal(2)._mul(frame.getglobal("pow").__call__(i$50, frame.getlocal(1), i$51)))._mod(i$51)); + frame.setlocal(4, frame.getglobal("int").__call__(frame.getlocal(4)._mul(frame.getglobal("pow").__call__(i$52, frame.getlocal(1), i$53)))._mod(i$53)); + frame.setlocal(3, frame.getglobal("int").__call__(frame.getlocal(3)._mul(frame.getglobal("pow").__call__(i$54, frame.getlocal(1), i$55)))._mod(i$55)); + frame.getlocal(0).__setattr__("_seed", new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(4), frame.getlocal(3)})); + return Py.None; + } + + private static PyObject _Random__whseed$8(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject; + + // Code + /* Set the Wichmann-Hill seed from (x, y, z). + + These must be integers in the range [0, 256). + */ + if ((frame.getglobal("type").__call__(frame.getlocal(1))._eq(t$0$PyObject = frame.getglobal("type").__call__(frame.getlocal(2))).__nonzero__() ? (t$0$PyObject._eq(t$1$PyObject = frame.getglobal("type").__call__(frame.getlocal(3))).__nonzero__() ? t$1$PyObject._eq(frame.getglobal("type").__call__(i$61)) : Py.Zero) : Py.Zero).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("TypeError").__call__(s$66)); + } + if (((t$0$PyObject = ((t$1$PyObject = (i$61._le(t$2$PyObject = frame.getlocal(1)).__nonzero__() ? t$2$PyObject._lt(i$43) : Py.Zero)).__nonzero__() ? (i$61._le(t$2$PyObject = frame.getlocal(2)).__nonzero__() ? t$2$PyObject._lt(i$43) : Py.Zero) : t$1$PyObject)).__nonzero__() ? (i$61._le(t$1$PyObject = frame.getlocal(3)).__nonzero__() ? t$1$PyObject._lt(i$43) : Py.Zero) : t$0$PyObject).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError").__call__(s$67)); + } + if ((i$61._eq(t$0$PyObject = frame.getlocal(1)).__nonzero__() ? (t$0$PyObject._eq(t$1$PyObject = frame.getlocal(2)).__nonzero__() ? t$1$PyObject._eq(frame.getlocal(3)) : Py.Zero) : Py.Zero).__nonzero__()) { + frame.setlocal(4, org.python.core.imp.importOne("time", frame)); + frame.setlocal(5, frame.getglobal("long").__call__(frame.getlocal(4).__getattr__("time").__call__()._mul(i$43))); + frame.setlocal(5, frame.getglobal("int").__call__(frame.getlocal(5)._and(i$68)._xor(frame.getlocal(5)._rshift(i$69)))); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("divmod").__call__(frame.getlocal(5), i$43), 2); + frame.setlocal(5, t$0$PyObject__[0]); + frame.setlocal(1, t$0$PyObject__[1]); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("divmod").__call__(frame.getlocal(5), i$43), 2); + frame.setlocal(5, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("divmod").__call__(frame.getlocal(5), i$43), 2); + frame.setlocal(5, t$0$PyObject__[0]); + frame.setlocal(3, t$0$PyObject__[1]); + } + frame.getlocal(0).__setattr__("_seed", new PyTuple(new PyObject[] {(t$0$PyObject = frame.getlocal(1)).__nonzero__() ? t$0$PyObject : i$40, (t$0$PyObject = frame.getlocal(2)).__nonzero__() ? t$0$PyObject : i$40, (t$0$PyObject = frame.getlocal(3)).__nonzero__() ? t$0$PyObject : i$40})); + return Py.None; + } + + private static PyObject whseed$9(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject; + + // Code + /* Seed from hashable object's hash code. + + None or no argument seeds from current time. It is not guaranteed + that objects with distinct hash codes lead to distinct internal + states. + + This is obsolete, provided for compatibility with the seed routine + used prior to Python 2.1. Use the .seed() method instead. + */ + if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) { + frame.getlocal(0).invoke("_Random__whseed"); + return Py.None; + } + frame.setlocal(1, frame.getglobal("hash").__call__(frame.getlocal(1))); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("divmod").__call__(frame.getlocal(1), i$43), 2); + frame.setlocal(1, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("divmod").__call__(frame.getlocal(1), i$43), 2); + frame.setlocal(1, t$0$PyObject__[0]); + frame.setlocal(4, t$0$PyObject__[1]); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("divmod").__call__(frame.getlocal(1), i$43), 2); + frame.setlocal(1, t$0$PyObject__[0]); + frame.setlocal(3, t$0$PyObject__[1]); + frame.setlocal(2, (t$0$PyObject = frame.getlocal(2)._add(frame.getlocal(1))._mod(i$43)).__nonzero__() ? t$0$PyObject : i$40); + frame.setlocal(4, (t$0$PyObject = frame.getlocal(4)._add(frame.getlocal(1))._mod(i$43)).__nonzero__() ? t$0$PyObject : i$40); + frame.setlocal(3, (t$0$PyObject = frame.getlocal(3)._add(frame.getlocal(1))._mod(i$43)).__nonzero__() ? t$0$PyObject : i$40); + frame.getlocal(0).invoke("_Random__whseed", new PyObject[] {frame.getlocal(2), frame.getlocal(4), frame.getlocal(3)}); + return Py.None; + } + + private static PyObject __getstate__$10(PyFrame frame) { + return frame.getlocal(0).invoke("getstate"); + } + + private static PyObject __setstate__$11(PyFrame frame) { + frame.getlocal(0).invoke("setstate", frame.getlocal(1)); + return Py.None; + } + + private static PyObject randrange$12(PyFrame frame) { + /* Choose a random item from range(start, stop[, step]). + + This fixes the problem with randint() which includes the + endpoint; in Python this is usually not what you want. + Do not supply the 'int' and 'default' arguments. + */ + frame.setlocal(8, frame.getlocal(4).__call__(frame.getlocal(1))); + if (frame.getlocal(8)._ne(frame.getlocal(1)).__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError"), s$72); + } + if (frame.getlocal(2)._is(frame.getlocal(5)).__nonzero__()) { + if (frame.getlocal(8)._gt(i$61).__nonzero__()) { + return frame.getlocal(4).__call__(frame.getlocal(0).invoke("random")._mul(frame.getlocal(8))); + } + throw Py.makeException(frame.getglobal("ValueError"), s$73); + } + frame.setlocal(9, frame.getlocal(4).__call__(frame.getlocal(2))); + if (frame.getlocal(9)._ne(frame.getlocal(2)).__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError"), s$74); + } + if (frame.getlocal(3)._eq(i$40).__nonzero__()) { + if (frame.getlocal(8)._lt(frame.getlocal(9)).__nonzero__()) { + return frame.getlocal(8)._add(frame.getlocal(4).__call__(frame.getlocal(0).invoke("random")._mul(frame.getlocal(9)._sub(frame.getlocal(8))))); + } + throw Py.makeException(frame.getglobal("ValueError"), s$73); + } + frame.setlocal(6, frame.getlocal(4).__call__(frame.getlocal(3))); + if (frame.getlocal(6)._ne(frame.getlocal(3)).__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError"), s$75); + } + if (frame.getlocal(6)._gt(i$61).__nonzero__()) { + frame.setlocal(7, frame.getlocal(9)._sub(frame.getlocal(8))._add(frame.getlocal(6))._sub(i$40)._div(frame.getlocal(6))); + } + else if (frame.getlocal(6)._lt(i$61).__nonzero__()) { + frame.setlocal(7, frame.getlocal(9)._sub(frame.getlocal(8))._add(frame.getlocal(6))._add(i$40)._div(frame.getlocal(6))); + } + else { + throw Py.makeException(frame.getglobal("ValueError"), s$76); + } + if (frame.getlocal(7)._le(i$61).__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError"), s$73); + } + return frame.getlocal(8)._add(frame.getlocal(6)._mul(frame.getlocal(4).__call__(frame.getlocal(0).invoke("random")._mul(frame.getlocal(7))))); + } + + private static PyObject randint$13(PyFrame frame) { + /* Return random integer in range [a, b], including both end points. + + (Deprecated; use randrange(a, b+1).) + */ + return frame.getlocal(0).invoke("randrange", frame.getlocal(1), frame.getlocal(2)._add(i$40)); + } + + private static PyObject choice$14(PyFrame frame) { + /* Choose a random element from a non-empty sequence. */ + return frame.getlocal(1).__getitem__(frame.getglobal("int").__call__(frame.getlocal(0).invoke("random")._mul(frame.getglobal("len").__call__(frame.getlocal(1))))); + } + + private static PyObject shuffle$15(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* x, random=random.random -> shuffle list x in place; return None. + + Optional arg random is a 0-argument function returning a random + float in [0.0, 1.0); by default, the standard random.random. + + Note that for even rather small len(x), the total number of + permutations of x is larger than the period of most random number + generators; this implies that "most" permutations of a long + sequence can never be generated. + */ + if (frame.getlocal(2)._is(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(2, frame.getlocal(0).__getattr__("random")); + } + t$0$int = 0; + t$1$PyObject = frame.getglobal("xrange").__call__(frame.getglobal("len").__call__(frame.getlocal(1))._sub(i$40), i$61, i$40.__neg__()); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(5, t$0$PyObject); + frame.setlocal(4, frame.getlocal(3).__call__(frame.getlocal(2).__call__()._mul(frame.getlocal(5)._add(i$40)))); + t$0$PyObject__ = org.python.core.Py.unpackSequence(new PyTuple(new PyObject[] {frame.getlocal(1).__getitem__(frame.getlocal(4)), frame.getlocal(1).__getitem__(frame.getlocal(5))}), 2); + frame.getlocal(1).__setitem__(frame.getlocal(5), t$0$PyObject__[0]); + frame.getlocal(1).__setitem__(frame.getlocal(4), t$0$PyObject__[1]); + } + return Py.None; + } + + private static PyObject uniform$16(PyFrame frame) { + /* Get a random number in the range [a, b). */ + return frame.getlocal(1)._add(frame.getlocal(2)._sub(frame.getlocal(1))._mul(frame.getlocal(0).invoke("random"))); + } + + private static PyObject normalvariate$17(PyFrame frame) { + frame.setlocal(5, frame.getlocal(0).__getattr__("random")); + while (i$40.__nonzero__()) { + frame.setlocal(4, frame.getlocal(5).__call__()); + frame.setlocal(3, frame.getlocal(5).__call__()); + frame.setlocal(7, frame.getglobal("NV_MAGICCONST")._mul(frame.getlocal(4)._sub(f$27))._div(frame.getlocal(3))); + frame.setlocal(6, frame.getlocal(7)._mul(frame.getlocal(7))._div(f$33)); + if (frame.getlocal(6)._le(frame.getglobal("_log").__call__(frame.getlocal(3)).__neg__()).__nonzero__()) { + break; + } + } + return frame.getlocal(1)._add(frame.getlocal(7)._mul(frame.getlocal(2))); + } + + private static PyObject lognormvariate$18(PyFrame frame) { + return frame.getglobal("_exp").__call__(frame.getlocal(0).invoke("normalvariate", frame.getlocal(1), frame.getlocal(2))); + } + + private static PyObject cunifvariate$19(PyFrame frame) { + return frame.getlocal(1)._add(frame.getlocal(2)._mul(frame.getlocal(0).invoke("random")._sub(f$27)))._mod(frame.getglobal("_pi")); + } + + private static PyObject expovariate$20(PyFrame frame) { + frame.setlocal(3, frame.getlocal(0).__getattr__("random")); + frame.setlocal(2, frame.getlocal(3).__call__()); + while (frame.getlocal(2)._le(f$24).__nonzero__()) { + frame.setlocal(2, frame.getlocal(3).__call__()); + } + return frame.getglobal("_log").__call__(frame.getlocal(2)).__neg__()._div(frame.getlocal(1)); + } + + private static PyObject vonmisesvariate$21(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + frame.setlocal(3, frame.getlocal(0).__getattr__("random")); + if (frame.getlocal(2)._le(f$81).__nonzero__()) { + return frame.getglobal("TWOPI")._mul(frame.getlocal(3).__call__()); + } + frame.setlocal(13, f$36._add(frame.getglobal("_sqrt").__call__(f$36._add(f$33._mul(frame.getlocal(2))._mul(frame.getlocal(2)))))); + frame.setlocal(12, frame.getlocal(13)._sub(frame.getglobal("_sqrt").__call__(f$28._mul(frame.getlocal(13))))._div(f$28._mul(frame.getlocal(2)))); + frame.setlocal(6, f$36._add(frame.getlocal(12)._mul(frame.getlocal(12)))._div(f$28._mul(frame.getlocal(12)))); + while (i$40.__nonzero__()) { + frame.setlocal(9, frame.getlocal(3).__call__()); + frame.setlocal(5, frame.getglobal("_cos").__call__(frame.getglobal("_pi")._mul(frame.getlocal(9)))); + frame.setlocal(10, f$36._add(frame.getlocal(6)._mul(frame.getlocal(5)))._div(frame.getlocal(6)._add(frame.getlocal(5)))); + frame.setlocal(11, frame.getlocal(2)._mul(frame.getlocal(6)._sub(frame.getlocal(10)))); + frame.setlocal(8, frame.getlocal(3).__call__()); + if (((t$0$PyObject = frame.getlocal(8)._ge(frame.getlocal(11)._mul(f$28._sub(frame.getlocal(11))))).__nonzero__() ? frame.getlocal(8)._gt(frame.getlocal(11)._mul(frame.getglobal("_exp").__call__(f$36._sub(frame.getlocal(11))))) : t$0$PyObject).__not__().__nonzero__()) { + break; + } + } + frame.setlocal(7, frame.getlocal(3).__call__()); + if (frame.getlocal(7)._gt(f$27).__nonzero__()) { + frame.setlocal(4, frame.getlocal(1)._mod(frame.getglobal("TWOPI"))._add(frame.getglobal("_acos").__call__(frame.getlocal(10)))); + } + else { + frame.setlocal(4, frame.getlocal(1)._mod(frame.getglobal("TWOPI"))._sub(frame.getglobal("_acos").__call__(frame.getlocal(10)))); + } + return frame.getlocal(4); + } + + private static PyObject gammavariate$22(PyFrame frame) { + frame.setlocal(3, frame.getglobal("_sqrt").__call__(f$28._mul(frame.getlocal(1))._sub(f$36))); + return frame.getlocal(2)._mul(frame.getlocal(0).invoke("stdgamma", new PyObject[] {frame.getlocal(1), frame.getlocal(3), frame.getlocal(1)._sub(frame.getglobal("LOG4")), frame.getlocal(1)._add(frame.getlocal(3))})); + } + + private static PyObject stdgamma$23(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(5, frame.getlocal(0).__getattr__("random")); + if (frame.getlocal(1)._le(f$82).__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError"), s$83); + } + if (frame.getlocal(1)._gt(f$36).__nonzero__()) { + while (i$40.__nonzero__()) { + frame.setlocal(13, frame.getlocal(5).__call__()); + frame.setlocal(12, frame.getlocal(5).__call__()); + frame.setlocal(8, frame.getglobal("_log").__call__(frame.getlocal(13)._div(f$36._sub(frame.getlocal(13))))._div(frame.getlocal(2))); + frame.setlocal(7, frame.getlocal(1)._mul(frame.getglobal("_exp").__call__(frame.getlocal(8)))); + frame.setlocal(6, frame.getlocal(13)._mul(frame.getlocal(13))._mul(frame.getlocal(12))); + frame.setlocal(10, frame.getlocal(3)._add(frame.getlocal(4)._mul(frame.getlocal(8)))._sub(frame.getlocal(7))); + if (((t$0$PyObject = frame.getlocal(10)._add(frame.getglobal("SG_MAGICCONST"))._sub(f$37._mul(frame.getlocal(6)))._ge(f$82)).__nonzero__() ? t$0$PyObject : frame.getlocal(10)._ge(frame.getglobal("_log").__call__(frame.getlocal(6)))).__nonzero__()) { + return frame.getlocal(7); + } + } + } + else if (frame.getlocal(1)._eq(f$36).__nonzero__()) { + frame.setlocal(9, frame.getlocal(5).__call__()); + while (frame.getlocal(9)._le(f$24).__nonzero__()) { + frame.setlocal(9, frame.getlocal(5).__call__()); + } + return frame.getglobal("_log").__call__(frame.getlocal(9)).__neg__(); + } + else { + while (i$40.__nonzero__()) { + frame.setlocal(9, frame.getlocal(5).__call__()); + frame.setlocal(14, frame.getglobal("_e")._add(frame.getlocal(1))._div(frame.getglobal("_e"))); + frame.setlocal(11, frame.getlocal(14)._mul(frame.getlocal(9))); + if (frame.getlocal(11)._le(f$36).__nonzero__()) { + frame.setlocal(7, frame.getglobal("pow").__call__(frame.getlocal(11), f$36._div(frame.getlocal(1)))); + } + else { + frame.setlocal(7, frame.getglobal("_log").__call__(frame.getlocal(14)._sub(frame.getlocal(11))._div(frame.getlocal(1))).__neg__()); + } + frame.setlocal(13, frame.getlocal(5).__call__()); + if (((t$0$PyObject = ((t$1$PyObject = frame.getlocal(11)._le(f$36)).__nonzero__() ? frame.getlocal(13)._gt(frame.getglobal("_exp").__call__(frame.getlocal(7).__neg__())) : t$1$PyObject)).__nonzero__() ? t$0$PyObject : ((t$1$PyObject = frame.getlocal(11)._gt(i$40)).__nonzero__() ? frame.getlocal(13)._gt(frame.getglobal("pow").__call__(frame.getlocal(7), frame.getlocal(1)._sub(f$36))) : t$1$PyObject)).__not__().__nonzero__()) { + break; + } + } + return frame.getlocal(7); + } + return Py.None; + } + + private static PyObject gauss$24(PyFrame frame) { + frame.setlocal(4, frame.getlocal(0).__getattr__("random")); + frame.setlocal(6, frame.getlocal(0).__getattr__("gauss_next")); + frame.getlocal(0).__setattr__("gauss_next", frame.getglobal("None")); + if (frame.getlocal(6)._is(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(3, frame.getlocal(4).__call__()._mul(frame.getglobal("TWOPI"))); + frame.setlocal(5, frame.getglobal("_sqrt").__call__(f$28.__neg__()._mul(frame.getglobal("_log").__call__(f$36._sub(frame.getlocal(4).__call__()))))); + frame.setlocal(6, frame.getglobal("_cos").__call__(frame.getlocal(3))._mul(frame.getlocal(5))); + frame.getlocal(0).__setattr__("gauss_next", frame.getglobal("_sin").__call__(frame.getlocal(3))._mul(frame.getlocal(5))); + } + return frame.getlocal(1)._add(frame.getlocal(6)._mul(frame.getlocal(2))); + } + + private static PyObject betavariate$25(PyFrame frame) { + frame.setlocal(3, frame.getlocal(0).invoke("gammavariate", frame.getlocal(1), f$36)); + if (frame.getlocal(3)._eq(i$61).__nonzero__()) { + return f$82; + } + else { + return frame.getlocal(3)._div(frame.getlocal(3)._add(frame.getlocal(0).invoke("gammavariate", frame.getlocal(2), f$36))); + } + } + + private static PyObject paretovariate$26(PyFrame frame) { + frame.setlocal(2, frame.getlocal(0).invoke("random")); + return f$36._div(frame.getglobal("pow").__call__(frame.getlocal(2), f$36._div(frame.getlocal(1)))); + } + + private static PyObject weibullvariate$27(PyFrame frame) { + frame.setlocal(3, frame.getlocal(0).invoke("random")); + return frame.getlocal(1)._mul(frame.getglobal("pow").__call__(frame.getglobal("_log").__call__(frame.getlocal(3)).__neg__(), f$36._div(frame.getlocal(2)))); + } + + private static PyObject Random$28(PyFrame frame) { + frame.setlocal("VERSION", i$40); + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$1___init__)); + frame.setlocal("seed", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$2_seed)); + frame.setlocal("random", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_random)); + frame.setlocal("getstate", new PyFunction(frame.f_globals, new PyObject[] {}, c$4_getstate)); + frame.setlocal("setstate", new PyFunction(frame.f_globals, new PyObject[] {}, c$5_setstate)); + frame.setlocal("jumpahead", new PyFunction(frame.f_globals, new PyObject[] {}, c$6_jumpahead)); + frame.setlocal("_Random__whseed", new PyFunction(frame.f_globals, new PyObject[] {i$61, i$61, i$61}, c$7__Random__whseed)); + frame.setlocal("whseed", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$8_whseed)); + frame.setlocal("__getstate__", new PyFunction(frame.f_globals, new PyObject[] {}, c$9___getstate__)); + frame.setlocal("__setstate__", new PyFunction(frame.f_globals, new PyObject[] {}, c$10___setstate__)); + frame.setlocal("randrange", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), i$40, frame.getname("int"), frame.getname("None")}, c$11_randrange)); + frame.setlocal("randint", new PyFunction(frame.f_globals, new PyObject[] {}, c$12_randint)); + frame.setlocal("choice", new PyFunction(frame.f_globals, new PyObject[] {}, c$13_choice)); + frame.setlocal("shuffle", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("int")}, c$14_shuffle)); + frame.setlocal("uniform", new PyFunction(frame.f_globals, new PyObject[] {}, c$15_uniform)); + frame.setlocal("normalvariate", new PyFunction(frame.f_globals, new PyObject[] {}, c$16_normalvariate)); + frame.setlocal("lognormvariate", new PyFunction(frame.f_globals, new PyObject[] {}, c$17_lognormvariate)); + frame.setlocal("cunifvariate", new PyFunction(frame.f_globals, new PyObject[] {}, c$18_cunifvariate)); + frame.setlocal("expovariate", new PyFunction(frame.f_globals, new PyObject[] {}, c$19_expovariate)); + frame.setlocal("vonmisesvariate", new PyFunction(frame.f_globals, new PyObject[] {}, c$20_vonmisesvariate)); + frame.setlocal("gammavariate", new PyFunction(frame.f_globals, new PyObject[] {}, c$21_gammavariate)); + frame.setlocal("stdgamma", new PyFunction(frame.f_globals, new PyObject[] {}, c$22_stdgamma)); + frame.setlocal("gauss", new PyFunction(frame.f_globals, new PyObject[] {}, c$23_gauss)); + frame.setlocal("betavariate", new PyFunction(frame.f_globals, new PyObject[] {}, c$24_betavariate)); + frame.setlocal("paretovariate", new PyFunction(frame.f_globals, new PyObject[] {}, c$25_paretovariate)); + frame.setlocal("weibullvariate", new PyFunction(frame.f_globals, new PyObject[] {}, c$26_weibullvariate)); + return frame.getf_locals(); + } + + private static PyObject _test_generator$29(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(6, org.python.core.imp.importOne("time", frame)); + Py.printComma(frame.getlocal(0)); + Py.printComma(s$84); + Py.println(frame.getlocal(1)); + frame.setlocal(3, frame.getglobal("compile").__call__(frame.getlocal(1), frame.getlocal(1), s$85)); + frame.setlocal(4, f$82); + frame.setlocal(13, f$82); + frame.setlocal(2, f$86); + frame.setlocal(5, f$86.__neg__()); + frame.setlocal(9, frame.getlocal(6).__getattr__("time").__call__()); + t$0$int = 0; + t$1$PyObject = frame.getglobal("range").__call__(frame.getlocal(0)); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(11, t$0$PyObject); + frame.setlocal(7, frame.getglobal("eval").__call__(frame.getlocal(3))); + frame.setlocal(4, frame.getlocal(4)._add(frame.getlocal(7))); + frame.setlocal(13, frame.getlocal(13)._add(frame.getlocal(7)._mul(frame.getlocal(7)))); + frame.setlocal(2, frame.getglobal("min").__call__(frame.getlocal(7), frame.getlocal(2))); + frame.setlocal(5, frame.getglobal("max").__call__(frame.getlocal(7), frame.getlocal(5))); + } + frame.setlocal(8, frame.getlocal(6).__getattr__("time").__call__()); + Py.printComma(frame.getglobal("round").__call__(frame.getlocal(8)._sub(frame.getlocal(9)), i$44)); + Py.printComma(s$87); + frame.setlocal(10, frame.getlocal(4)._div(frame.getlocal(0))); + frame.setlocal(12, frame.getglobal("_sqrt").__call__(frame.getlocal(13)._div(frame.getlocal(0))._sub(frame.getlocal(10)._mul(frame.getlocal(10))))); + Py.println(s$88._mod(new PyTuple(new PyObject[] {frame.getlocal(10), frame.getlocal(12), frame.getlocal(2), frame.getlocal(5)}))); + return Py.None; + } + + private static PyObject _test$30(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + Py.printComma(s$89); + Py.println(frame.getglobal("TWOPI")); + Py.printComma(s$90); + Py.println(frame.getglobal("LOG4")); + Py.printComma(s$91); + Py.println(frame.getglobal("NV_MAGICCONST")); + Py.printComma(s$92); + Py.println(frame.getglobal("SG_MAGICCONST")); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$93); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$94); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$95); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$96); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$97); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$98); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$99); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$100); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$101); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$102); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$103); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$104); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$105); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$106); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$107); + frame.getglobal("_test_generator").__call__(frame.getlocal(0), s$108); + frame.setlocal(4, frame.getglobal("getstate").__call__()); + frame.getglobal("jumpahead").__call__(frame.getlocal(0)); + frame.setlocal(2, frame.getglobal("random").__call__()); + frame.getglobal("setstate").__call__(frame.getlocal(4)); + t$0$int = 0; + t$1$PyObject = frame.getglobal("range").__call__(frame.getlocal(0)); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(3, t$0$PyObject); + frame.getglobal("random").__call__(); + } + frame.setlocal(1, frame.getglobal("random").__call__()); + if (frame.getlocal(2)._ne(frame.getlocal(1)).__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError").__call__(s$109._add(new PyTuple(new PyObject[] {frame.getlocal(0), frame.getlocal(2), frame.getlocal(1)}).__repr__()))); + } + return Py.None; + } + + private static PyObject main$31(PyFrame frame) { + frame.setglobal("__file__", s$112); + + PyObject[] imp_accu; + // Code + /* Random variable generators. + + integers + -------- + uniform within range + + sequences + --------- + pick random element + generate random permutation + + distributions on the real line: + ------------------------------ + uniform + normal (Gaussian) + lognormal + negative exponential + gamma + beta + + distributions on the circle (angles 0 to 2pi) + --------------------------------------------- + circular uniform + von Mises + + Translated from anonymously contributed C/C++ source. + + Multi-threading note: the random number generator used here is not thread- + safe; it is possible that two calls return the same random value. However, + you can instantiate a different instance of Random() in each thread to get + generators that don't share state, then use .setstate() and .jumpahead() to + move the generators to disjoint segments of the full period. For example, + + def create_generators(num, delta, firstseed=None): + """Return list of num distinct generators. + Each generator has its own unique segment of delta elements from + Random.random()'s full period. + Seed the first generator with optional arg firstseed (default is + None, to seed from current time). + """ + + from random import Random + g = Random(firstseed) + result = [g] + for i in range(num - 1): + laststate = g.getstate() + g = Random() + g.setstate(laststate) + g.jumpahead(delta) + result.append(g) + return result + + gens = create_generators(10, 1000000) + + That creates 10 distinct generators, which can be passed out to 10 distinct + threads. The generators don't share state so can be called safely in + parallel. So long as no thread calls its g.random() more than a million + times (the second argument to create_generators), the sequences seen by + each thread will not overlap. + + The period of the underlying Wichmann-Hill generator is 6,953,607,871,644, + and that limits how far this technique can be pushed. + + Just for fun, note that since we know the period, .jumpahead() can also be + used to "move backward in time": + + >>> g = Random(42) # arbitrary + >>> g.random() + 0.25420336316883324 + >>> g.jumpahead(6953607871644L - 1) # move *back* one + >>> g.random() + 0.25420336316883324 + */ + imp_accu = org.python.core.imp.importFrom("math", new String[] {"log", "exp", "pi", "e"}, frame); + frame.setlocal("_log", imp_accu[0]); + frame.setlocal("_exp", imp_accu[1]); + frame.setlocal("_pi", imp_accu[2]); + frame.setlocal("_e", imp_accu[3]); + imp_accu = null; + imp_accu = org.python.core.imp.importFrom("math", new String[] {"sqrt", "acos", "cos", "sin"}, frame); + frame.setlocal("_sqrt", imp_accu[0]); + frame.setlocal("_acos", imp_accu[1]); + frame.setlocal("_cos", imp_accu[2]); + frame.setlocal("_sin", imp_accu[3]); + imp_accu = null; + frame.setlocal("__all__", new PyList(new PyObject[] {s$1, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, s$10, s$11, s$12, s$13, s$14, s$15, s$16, s$17, s$18, s$19, s$20, s$21, s$22, s$23})); + frame.setlocal("_verify", new PyFunction(frame.f_globals, new PyObject[] {}, c$0__verify)); + frame.setlocal("NV_MAGICCONST", i$26._mul(frame.getname("_exp").__call__(f$27.__neg__()))._div(frame.getname("_sqrt").__call__(f$28))); + frame.getname("_verify").__call__(s$29, frame.getname("NV_MAGICCONST"), f$30); + frame.setlocal("TWOPI", f$28._mul(frame.getname("_pi"))); + frame.getname("_verify").__call__(s$31, frame.getname("TWOPI"), f$32); + frame.setlocal("LOG4", frame.getname("_log").__call__(f$33)); + frame.getname("_verify").__call__(s$34, frame.getname("LOG4"), f$35); + frame.setlocal("SG_MAGICCONST", f$36._add(frame.getname("_log").__call__(f$37))); + frame.getname("_verify").__call__(s$38, frame.getname("SG_MAGICCONST"), f$39); + frame.dellocal("_verify"); + frame.setlocal("Random", Py.makeClass("Random", new PyObject[] {}, c$27_Random, null)); + frame.setlocal("_test_generator", new PyFunction(frame.f_globals, new PyObject[] {}, c$28__test_generator)); + frame.setlocal("_test", new PyFunction(frame.f_globals, new PyObject[] {i$110}, c$29__test)); + frame.setlocal("_inst", frame.getname("Random").__call__()); + frame.setlocal("seed", frame.getname("_inst").__getattr__("seed")); + frame.setlocal("random", frame.getname("_inst").__getattr__("random")); + frame.setlocal("uniform", frame.getname("_inst").__getattr__("uniform")); + frame.setlocal("randint", frame.getname("_inst").__getattr__("randint")); + frame.setlocal("choice", frame.getname("_inst").__getattr__("choice")); + frame.setlocal("randrange", frame.getname("_inst").__getattr__("randrange")); + frame.setlocal("shuffle", frame.getname("_inst").__getattr__("shuffle")); + frame.setlocal("normalvariate", frame.getname("_inst").__getattr__("normalvariate")); + frame.setlocal("lognormvariate", frame.getname("_inst").__getattr__("lognormvariate")); + frame.setlocal("cunifvariate", frame.getname("_inst").__getattr__("cunifvariate")); + frame.setlocal("expovariate", frame.getname("_inst").__getattr__("expovariate")); + frame.setlocal("vonmisesvariate", frame.getname("_inst").__getattr__("vonmisesvariate")); + frame.setlocal("gammavariate", frame.getname("_inst").__getattr__("gammavariate")); + frame.setlocal("stdgamma", frame.getname("_inst").__getattr__("stdgamma")); + frame.setlocal("gauss", frame.getname("_inst").__getattr__("gauss")); + frame.setlocal("betavariate", frame.getname("_inst").__getattr__("betavariate")); + frame.setlocal("paretovariate", frame.getname("_inst").__getattr__("paretovariate")); + frame.setlocal("weibullvariate", frame.getname("_inst").__getattr__("weibullvariate")); + frame.setlocal("getstate", frame.getname("_inst").__getattr__("getstate")); + frame.setlocal("setstate", frame.getname("_inst").__getattr__("setstate")); + frame.setlocal("jumpahead", frame.getname("_inst").__getattr__("jumpahead")); + frame.setlocal("whseed", frame.getname("_inst").__getattr__("whseed")); + if (frame.getname("__name__")._eq(s$111).__nonzero__()) { + frame.getname("_test").__call__(); + } + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("random")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "random"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(random._PyInner.class, newargs, random.jpy$packages, random.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/re$_PyInner.class b/server/jpywork/re$_PyInner.class new file mode 100644 index 0000000000000000000000000000000000000000..fc31af35b7af777e7a1e86c838e39249e4d83b75 GIT binary patch literal 3685 zcmbW3dvsJ+6~@0qATt>bkX~9qBCWMilL!RTB!!YvXcA!T@GduN-d7ivCs3_E~Vwc#=K0N~?Zo0TmyR6o>N!!b{ZPvC$ z+g5F_&~}ZsYYk=>YFE>;fL{yvxq#mbXh1*<0-6xehJZ!{B`ZxOD@`RUO(iQ$B`Zy| zQniOO*4Y|dT4o;42?(bXPS>tVj;1o6!ICoF+jE01dsVh&yi9RDXH!?djqZpXK?Uk9 zUV@hzEQn=1w|i`K!1brco+lr)=e$BO=S&^d_^F+RuaymDf z&tzSZyDa95+(Q%jF@H$KS6VC(G0vD5-O+qDRaAYeMYZVH(OI{UPUTfiSX?0LP6HDa zo7Y=7A|xrqL`YdI6d_HaO9a>ALJ=4<6Bi+4aghkGqOe_rQHw<)yO5w-TLBn7E9&D8`!<0 zr+;HiU3{ZOji_&Cc(!%+UDH#t{T7QCiu^XpTf3v}JsoP}?H0>KekY^m`hLzAKi*|= zv54<6nB}{oyw~CqQQl`z(>PY}8w>Y_Vm?!$9YcI+s#S)Y3f%b6}S zS~Oa2-|GpL>3zcDGSt%PA-CA22YPAU89$Jqe8%GCa(L&Zxt)`eHzZRUwAMw-x$LJ# z-LfZdIyH*Pdn`VWFK`n`Bx{+YTI$ZnR2X04DM=>x@IWP#5gbAg!o3EIXJ(8|;+Dl> ze1&_m;1-9nxq(#Hps`HaDC5es@Acclm|*CVNeM+VgeikXGY5-h3dIoaW2&6_u4E~K zNqkL`;xU7Z>vo=PM48stExsY1hv|7X$8`wf0Vx?iv+INSb_m}xSor+0GNXBm6L^Rd z=3~w;_ITW(o6l{+8n3f0V;B#M2jk4y-;ssP4UT2$%^^H$@jZOMw7)zC{oGUYbdbY% zj9-@w79u!;A6fiZEY3|Pxo1w&0su(Wrwp#xy5;fGUjwEd!0UIzq3ub-Pxhs<=mj$?F=XfojuB7XGEEGJZ0YT zl||=9R7Vt**0JmqqGLgu>mWvg_r(bZpQ6Y zcVjh%c~8vaa_mJj_Mrs_(29e&0=M&vJFym@#g)uh>oA2jCfKX+5Z2={T#ct_&ES*x zR4Mu#skBh@0^D^1l~edM9}dx_(t<@Wi_ab0tDRKtrrFZ^t|Ke>rl#f|wxHXm{}yr` zKX=HSHZotkMtM2Amba%au0Bg-$&lI0na}2E%?-{M1Kc)&FE=<}J&MUh_2OeVl3?7L zs)y6QKYd@kBVlmUyC?QjDP1OHk}5ssd~$A^~<0a|7%qY=A+6 zlN~1J2gni&0_2J607c@00DB21z|F+M0Q-mw1MDX*3UGi}6yTQlB#utt{s!l`bG%^+ z-_+-m&dFz=A8Bw-PT;%F4<_)#00$@V6LzU+t;q}*K$`}_-4{|74AkH!E1 literal 0 HcmV?d00001 diff --git a/server/jpywork/re.class b/server/jpywork/re.class new file mode 100644 index 0000000000000000000000000000000000000000..970626980d74ea53d897c555647f29d3db6f7a8e GIT binary patch literal 2477 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 BelY+5 literal 0 HcmV?d00001 diff --git a/server/jpywork/repr.java b/server/jpywork/repr.java new file mode 100644 index 00000000..2cfaa1da --- /dev/null +++ b/server/jpywork/repr.java @@ -0,0 +1,354 @@ +import org.python.core.*; + +public class repr extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject i$3; + private static PyObject i$4; + private static PyObject i$5; + private static PyObject i$6; + private static PyObject i$7; + private static PyObject i$8; + private static PyObject i$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyObject i$13; + private static PyObject i$14; + private static PyObject s$15; + private static PyObject s$16; + private static PyObject s$17; + private static PyObject s$18; + private static PyObject s$19; + private static PyObject i$20; + private static PyObject s$21; + private static PyObject s$22; + private static PyObject s$23; + private static PyObject s$24; + private static PyObject s$25; + private static PyObject s$26; + private static PyObject s$27; + private static PyObject s$28; + private static PyObject s$29; + private static PyObject s$30; + private static PyObject s$31; + private static PyObject s$32; + private static PyObject s$33; + private static PyObject s$34; + private static PyObject s$35; + private static PyObject s$36; + private static PyObject s$37; + private static PyFunctionTable funcTable; + private static PyCode c$0___init__; + private static PyCode c$1_repr; + private static PyCode c$2_repr1; + private static PyCode c$3_repr_tuple; + private static PyCode c$4_repr_list; + private static PyCode c$5_repr_dictionary; + private static PyCode c$6_repr_string; + private static PyCode c$7_repr_long_int; + private static PyCode c$8_repr_instance; + private static PyCode c$9_Repr; + private static PyCode c$10_main; + private static void initConstants() { + s$0 = Py.newString("Redo the `...` (representation) but with limits on most sizes."); + s$1 = Py.newString("Repr"); + s$2 = Py.newString("repr"); + i$3 = Py.newInteger(6); + i$4 = Py.newInteger(4); + i$5 = Py.newInteger(30); + i$6 = Py.newInteger(40); + i$7 = Py.newInteger(20); + i$8 = Py.newInteger(7); + i$9 = Py.newInteger(2); + s$10 = Py.newString(" "); + s$11 = Py.newString("_"); + s$12 = Py.newString("repr_"); + i$13 = Py.newInteger(0); + i$14 = Py.newInteger(3); + s$15 = Py.newString("..."); + s$16 = Py.newString("()"); + s$17 = Py.newString("(...)"); + s$18 = Py.newString(""); + s$19 = Py.newString(", "); + i$20 = Py.newInteger(1); + s$21 = Py.newString(", ..."); + s$22 = Py.newString(","); + s$23 = Py.newString("("); + s$24 = Py.newString(")"); + s$25 = Py.newString("[]"); + s$26 = Py.newString("[...]"); + s$27 = Py.newString("["); + s$28 = Py.newString("]"); + s$29 = Py.newString("{}"); + s$30 = Py.newString("{...}"); + s$31 = Py.newString(": "); + s$32 = Py.newString("{"); + s$33 = Py.newString("}"); + s$34 = Py.newString("<"); + s$35 = Py.newString(" instance at "); + s$36 = Py.newString(">"); + s$37 = Py.newString("/usr/share/jython/Lib-cpython/repr.py"); + funcTable = new _PyInner(); + c$0___init__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/repr.py", "__init__", false, false, funcTable, 0, null, null, 0, 1); + c$1_repr = Py.newCode(2, new String[] {"self", "x"}, "/usr/share/jython/Lib-cpython/repr.py", "repr", false, false, funcTable, 1, null, null, 0, 1); + c$2_repr1 = Py.newCode(3, new String[] {"self", "x", "level", "j", "parts", "i", "typename", "s"}, "/usr/share/jython/Lib-cpython/repr.py", "repr1", false, false, funcTable, 2, null, null, 0, 1); + c$3_repr_tuple = Py.newCode(3, new String[] {"self", "x", "level", "n", "i", "s"}, "/usr/share/jython/Lib-cpython/repr.py", "repr_tuple", false, false, funcTable, 3, null, null, 0, 1); + c$4_repr_list = Py.newCode(3, new String[] {"self", "x", "level", "n", "i", "s"}, "/usr/share/jython/Lib-cpython/repr.py", "repr_list", false, false, funcTable, 4, null, null, 0, 1); + c$5_repr_dictionary = Py.newCode(3, new String[] {"self", "x", "level", "n", "i", "key", "keys", "s"}, "/usr/share/jython/Lib-cpython/repr.py", "repr_dictionary", false, false, funcTable, 5, null, null, 0, 1); + c$6_repr_string = Py.newCode(3, new String[] {"self", "x", "level", "j", "i", "s"}, "/usr/share/jython/Lib-cpython/repr.py", "repr_string", false, false, funcTable, 6, null, null, 0, 1); + c$7_repr_long_int = Py.newCode(3, new String[] {"self", "x", "level", "j", "i", "s"}, "/usr/share/jython/Lib-cpython/repr.py", "repr_long_int", false, false, funcTable, 7, null, null, 0, 1); + c$8_repr_instance = Py.newCode(3, new String[] {"self", "x", "level", "j", "i", "s"}, "/usr/share/jython/Lib-cpython/repr.py", "repr_instance", false, false, funcTable, 8, null, null, 0, 1); + c$9_Repr = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/repr.py", "Repr", false, false, funcTable, 9, null, null, 0, 0); + c$10_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/repr.py", "main", false, false, funcTable, 10, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$10_main == null) _PyInner.initConstants(); + return c$10_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.__init__$1(frame); + case 1: + return _PyInner.repr$2(frame); + case 2: + return _PyInner.repr1$3(frame); + case 3: + return _PyInner.repr_tuple$4(frame); + case 4: + return _PyInner.repr_list$5(frame); + case 5: + return _PyInner.repr_dictionary$6(frame); + case 6: + return _PyInner.repr_string$7(frame); + case 7: + return _PyInner.repr_long_int$8(frame); + case 8: + return _PyInner.repr_instance$9(frame); + case 9: + return _PyInner.Repr$10(frame); + case 10: + return _PyInner.main$11(frame); + default: + return null; + } + } + + private static PyObject __init__$1(PyFrame frame) { + frame.getlocal(0).__setattr__("maxlevel", i$3); + frame.getlocal(0).__setattr__("maxtuple", i$3); + frame.getlocal(0).__setattr__("maxlist", i$3); + frame.getlocal(0).__setattr__("maxdict", i$4); + frame.getlocal(0).__setattr__("maxstring", i$5); + frame.getlocal(0).__setattr__("maxlong", i$6); + frame.getlocal(0).__setattr__("maxother", i$7); + return Py.None; + } + + private static PyObject repr$2(PyFrame frame) { + return frame.getlocal(0).invoke("repr1", frame.getlocal(1), frame.getlocal(0).__getattr__("maxlevel")); + } + + private static PyObject repr1$3(PyFrame frame) { + frame.setlocal(6, frame.getglobal("type").__call__(frame.getlocal(1)).__repr__().__getslice__(i$8, i$9.__neg__(), null)); + if (s$10._in(frame.getlocal(6)).__nonzero__()) { + frame.setlocal(4, frame.getlocal(6).invoke("split")); + frame.setlocal(6, s$11.invoke("join", frame.getlocal(4))); + } + if (frame.getglobal("hasattr").__call__(frame.getlocal(0), s$12._add(frame.getlocal(6))).__nonzero__()) { + return frame.getglobal("getattr").__call__(frame.getlocal(0), s$12._add(frame.getlocal(6))).__call__(frame.getlocal(1), frame.getlocal(2)); + } + else { + frame.setlocal(7, frame.getlocal(1).__repr__()); + if (frame.getglobal("len").__call__(frame.getlocal(7))._gt(frame.getlocal(0).__getattr__("maxother")).__nonzero__()) { + frame.setlocal(5, frame.getglobal("max").__call__(i$13, frame.getlocal(0).__getattr__("maxother")._sub(i$14)._div(i$9))); + frame.setlocal(3, frame.getglobal("max").__call__(i$13, frame.getlocal(0).__getattr__("maxother")._sub(i$14)._sub(frame.getlocal(5)))); + frame.setlocal(7, frame.getlocal(7).__getslice__(null, frame.getlocal(5), null)._add(s$15)._add(frame.getlocal(7).__getslice__(frame.getglobal("len").__call__(frame.getlocal(7))._sub(frame.getlocal(3)), null, null))); + } + return frame.getlocal(7); + } + } + + private static PyObject repr_tuple$4(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(3, frame.getglobal("len").__call__(frame.getlocal(1))); + if (frame.getlocal(3)._eq(i$13).__nonzero__()) { + return s$16; + } + if (frame.getlocal(2)._le(i$13).__nonzero__()) { + return s$17; + } + frame.setlocal(5, s$18); + t$0$int = 0; + t$1$PyObject = frame.getglobal("range").__call__(frame.getglobal("min").__call__(frame.getlocal(3), frame.getlocal(0).__getattr__("maxtuple"))); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(4, t$0$PyObject); + if (frame.getlocal(5).__nonzero__()) { + frame.setlocal(5, frame.getlocal(5)._add(s$19)); + } + frame.setlocal(5, frame.getlocal(5)._add(frame.getlocal(0).invoke("repr1", frame.getlocal(1).__getitem__(frame.getlocal(4)), frame.getlocal(2)._sub(i$20)))); + } + if (frame.getlocal(3)._gt(frame.getlocal(0).__getattr__("maxtuple")).__nonzero__()) { + frame.setlocal(5, frame.getlocal(5)._add(s$21)); + } + else if (frame.getlocal(3)._eq(i$20).__nonzero__()) { + frame.setlocal(5, frame.getlocal(5)._add(s$22)); + } + return s$23._add(frame.getlocal(5))._add(s$24); + } + + private static PyObject repr_list$5(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(3, frame.getglobal("len").__call__(frame.getlocal(1))); + if (frame.getlocal(3)._eq(i$13).__nonzero__()) { + return s$25; + } + if (frame.getlocal(2)._le(i$13).__nonzero__()) { + return s$26; + } + frame.setlocal(5, s$18); + t$0$int = 0; + t$1$PyObject = frame.getglobal("range").__call__(frame.getglobal("min").__call__(frame.getlocal(3), frame.getlocal(0).__getattr__("maxlist"))); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(4, t$0$PyObject); + if (frame.getlocal(5).__nonzero__()) { + frame.setlocal(5, frame.getlocal(5)._add(s$19)); + } + frame.setlocal(5, frame.getlocal(5)._add(frame.getlocal(0).invoke("repr1", frame.getlocal(1).__getitem__(frame.getlocal(4)), frame.getlocal(2)._sub(i$20)))); + } + if (frame.getlocal(3)._gt(frame.getlocal(0).__getattr__("maxlist")).__nonzero__()) { + frame.setlocal(5, frame.getlocal(5)._add(s$21)); + } + return s$27._add(frame.getlocal(5))._add(s$28); + } + + private static PyObject repr_dictionary$6(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(3, frame.getglobal("len").__call__(frame.getlocal(1))); + if (frame.getlocal(3)._eq(i$13).__nonzero__()) { + return s$29; + } + if (frame.getlocal(2)._le(i$13).__nonzero__()) { + return s$30; + } + frame.setlocal(7, s$18); + frame.setlocal(6, frame.getlocal(1).invoke("keys")); + frame.getlocal(6).invoke("sort"); + t$0$int = 0; + t$1$PyObject = frame.getglobal("range").__call__(frame.getglobal("min").__call__(frame.getlocal(3), frame.getlocal(0).__getattr__("maxdict"))); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(4, t$0$PyObject); + if (frame.getlocal(7).__nonzero__()) { + frame.setlocal(7, frame.getlocal(7)._add(s$19)); + } + frame.setlocal(5, frame.getlocal(6).__getitem__(frame.getlocal(4))); + frame.setlocal(7, frame.getlocal(7)._add(frame.getlocal(0).invoke("repr1", frame.getlocal(5), frame.getlocal(2)._sub(i$20)))); + frame.setlocal(7, frame.getlocal(7)._add(s$31)._add(frame.getlocal(0).invoke("repr1", frame.getlocal(1).__getitem__(frame.getlocal(5)), frame.getlocal(2)._sub(i$20)))); + } + if (frame.getlocal(3)._gt(frame.getlocal(0).__getattr__("maxdict")).__nonzero__()) { + frame.setlocal(7, frame.getlocal(7)._add(s$21)); + } + return s$32._add(frame.getlocal(7))._add(s$33); + } + + private static PyObject repr_string$7(PyFrame frame) { + frame.setlocal(5, frame.getlocal(1).__getslice__(null, frame.getlocal(0).__getattr__("maxstring"), null).__repr__()); + if (frame.getglobal("len").__call__(frame.getlocal(5))._gt(frame.getlocal(0).__getattr__("maxstring")).__nonzero__()) { + frame.setlocal(4, frame.getglobal("max").__call__(i$13, frame.getlocal(0).__getattr__("maxstring")._sub(i$14)._div(i$9))); + frame.setlocal(3, frame.getglobal("max").__call__(i$13, frame.getlocal(0).__getattr__("maxstring")._sub(i$14)._sub(frame.getlocal(4)))); + frame.setlocal(5, frame.getlocal(1).__getslice__(null, frame.getlocal(4), null)._add(frame.getlocal(1).__getslice__(frame.getglobal("len").__call__(frame.getlocal(1))._sub(frame.getlocal(3)), null, null)).__repr__()); + frame.setlocal(5, frame.getlocal(5).__getslice__(null, frame.getlocal(4), null)._add(s$15)._add(frame.getlocal(5).__getslice__(frame.getglobal("len").__call__(frame.getlocal(5))._sub(frame.getlocal(3)), null, null))); + } + return frame.getlocal(5); + } + + private static PyObject repr_long_int$8(PyFrame frame) { + frame.setlocal(5, frame.getlocal(1).__repr__()); + if (frame.getglobal("len").__call__(frame.getlocal(5))._gt(frame.getlocal(0).__getattr__("maxlong")).__nonzero__()) { + frame.setlocal(4, frame.getglobal("max").__call__(i$13, frame.getlocal(0).__getattr__("maxlong")._sub(i$14)._div(i$9))); + frame.setlocal(3, frame.getglobal("max").__call__(i$13, frame.getlocal(0).__getattr__("maxlong")._sub(i$14)._sub(frame.getlocal(4)))); + frame.setlocal(5, frame.getlocal(5).__getslice__(null, frame.getlocal(4), null)._add(s$15)._add(frame.getlocal(5).__getslice__(frame.getglobal("len").__call__(frame.getlocal(5))._sub(frame.getlocal(3)), null, null))); + } + return frame.getlocal(5); + } + + private static PyObject repr_instance$9(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + + // Code + try { + frame.setlocal(5, frame.getlocal(1).__repr__()); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + return s$34._add(frame.getlocal(1).__getattr__("__class__").__getattr__("__name__"))._add(s$35)._add(frame.getglobal("hex").__call__(frame.getglobal("id").__call__(frame.getlocal(1))).__getslice__(i$9, null, null))._add(s$36); + } + if (frame.getglobal("len").__call__(frame.getlocal(5))._gt(frame.getlocal(0).__getattr__("maxstring")).__nonzero__()) { + frame.setlocal(4, frame.getglobal("max").__call__(i$13, frame.getlocal(0).__getattr__("maxstring")._sub(i$14)._div(i$9))); + frame.setlocal(3, frame.getglobal("max").__call__(i$13, frame.getlocal(0).__getattr__("maxstring")._sub(i$14)._sub(frame.getlocal(4)))); + frame.setlocal(5, frame.getlocal(5).__getslice__(null, frame.getlocal(4), null)._add(s$15)._add(frame.getlocal(5).__getslice__(frame.getglobal("len").__call__(frame.getlocal(5))._sub(frame.getlocal(3)), null, null))); + } + return frame.getlocal(5); + } + + private static PyObject Repr$10(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$0___init__)); + frame.setlocal("repr", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_repr)); + frame.setlocal("repr1", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_repr1)); + frame.setlocal("repr_tuple", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_repr_tuple)); + frame.setlocal("repr_list", new PyFunction(frame.f_globals, new PyObject[] {}, c$4_repr_list)); + frame.setlocal("repr_dictionary", new PyFunction(frame.f_globals, new PyObject[] {}, c$5_repr_dictionary)); + frame.setlocal("repr_string", new PyFunction(frame.f_globals, new PyObject[] {}, c$6_repr_string)); + frame.setlocal("repr_long_int", new PyFunction(frame.f_globals, new PyObject[] {}, c$7_repr_long_int)); + frame.setlocal("repr_instance", new PyFunction(frame.f_globals, new PyObject[] {}, c$8_repr_instance)); + return frame.getf_locals(); + } + + private static PyObject main$11(PyFrame frame) { + frame.setglobal("__file__", s$37); + + /* Redo the `...` (representation) but with limits on most sizes. */ + frame.setlocal("__all__", new PyList(new PyObject[] {s$1, s$2})); + frame.setlocal("Repr", Py.makeClass("Repr", new PyObject[] {}, c$9_Repr, null)); + frame.setlocal("aRepr", frame.getname("Repr").__call__()); + frame.setlocal("repr", frame.getname("aRepr").__getattr__("repr")); + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("repr")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "repr"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(repr._PyInner.class, newargs, repr.jpy$packages, repr.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/server$_PyInner.class b/server/jpywork/server$_PyInner.class new file mode 100644 index 0000000000000000000000000000000000000000..fb598633bea63362ebe84547466263edda1cea23 GIT binary patch literal 34592 zcmdsg2Ygk<^8dDT?@4k3AqS-j0Z}3J0HG@gp-7bkDVF;}a)C&iHwn$&vG?99J}X`^ zqS&7LRP0?JcI>_P_W#c8IX5?upzrtl{on8N|NCCf?3vx2ot>SXot@otdF=PQ?iE4| zaQ+q*N{Y61@x=0YqE~G8s;Sl0@kCS@DZ1ArmJF<2Rll^RdSF>iB0g~Ts!0viW%U&` z)g`5iD&tWRk)rdqh2}I=S5v+ex~|tC6q&wlnOTbtjF;7qMv;nMgSlV%uER_OF zrNB}tuv7{xl>$qpz)~r&REAh8LoAgcmdX%IWr(FRgs4>X8e*vou~ddwDnl%lp_a-} zOJ%5~GSpHTYN-shybQHehFU5^EtR2`$}mf1n58nzQW<8c46{^*St`RUm0_03FiT~a zrBZ0A6j~~UmP(N};7vXsHxhD#I<6;g-s9OJ%sFGTc%bZmA5nREAqB z!!4EJmdXfAWrU?N!crMwsf@5xMp!B%ER_+K$_PtkgrzdlQWlnS}G$gm64Xp zNK0j;r83e|83`&5)MgOKFa#ZjAjA-q7=jc-&|(N;3_*<{$T1{((0x*4dM7<*Nc0FF z&?8l5d_a$snco9?q|W>v@J9+w@1)TT1O7;-`8}XVTFvhPJ<@A_59pC*(>tj)!+;(s zH@|~k#$uQQHU(1jXkn5!vlf`^URkd}u|#}HMO}S7Aw|a)s!XUUkE3K}S+BvdhT8Jd zdRP&>6rfsF&2sxPBvx5dv#g<33b(A+&{!qNNztyX*Ra@RP#ygXiAUr}1gxI)5> zFDt8Q0Iqro^DsOXi&a!t)W>2{bSUdJB34#YU00uID65Yxt%xT|6J<+Ralw(Xx_B8E zg@pu1gJN~1%j2=SdS;6-gJYA6W=<_;<0(ZJFa@!trPbwR{C33Kkl>A)sD{CV>4eyj zF*H_HS`nm&1?k8b;%ax;xZZvCfwdr6WC|^=@x&G4O0Y1!qB=gap=wb)5ePk-Doh~m zORMYaT=91hA6zhez##l@aHhCH+!PfzN|C#*{q@An;ue&yj;|=LPq1VL^qziT>GINn zm8I2723q9kJ}nGUkd+~%xYZL;;Zj4ld1Ae|9b*N8Q>*LaOK5<*^`6=ifgpc0QMkhs z8NzkNofxeO)JrTbEsMwM6LE++K?OE?B9jW-vu%MgE^wbGvZ%m6Ah!Vn22z~|J>e1R zpHf7DYN)TMB=jSm$R_kAj8uRghykXo$34-8vYv#Lku`hzgz>Yd4unorFQe?IJ<(RU zlzP?^IX3mYC)!b!7co-xt7_wv`?4o;3HL9k=8{-#X`-~Mj_|K~!YBOeU}#PpYiW5N zq2KgGdqTer)|V!#3H6RAb|BPy=x$zVWg=c$zA7)i5-MIdAd?Dw;E5fnz(-Q3;_-y} z#1kC|^BFKR81scEIuhn9Ox4PovQqB-H=gK3$nP*nD-xx(wedtlf^&ZGL}$wRNeT>x z6u)?)3%&maw(2TbK7V+kD^OCRvt>0^wJ0XFCw3y7BgO3A1^oy0={=Mlh4dIsj}i13 zNsmGO2lwecm>vc67($Ps^cY5uLV66R#|V0i#DnNZJ<*NmXFzB>4;lr#F^bSxp6E{K zY$+ro+Ik|75bdbk;8Z!^6FmsMgA|cO#ge7T6BtQq`Lmp5-p(VU{Z%9Zxw2r&#ARE(aa^Th>*dm^6-jFh6F-&Q)7S5ci;zcij#w+be@YCv8|VpU#gbq!F7 zyz0`bIP0Js?TNlT3FKH$^dnk((4tUTQAV>sj`u`=LQWu42W6?LhC!x`B2NsUjLG1Y zCaRq3iGhTe2E+hD%<#k@Ld?Q2B&zcICl=F0k$Zb$Frkal%z(0Zf~n2*L;)e^VSsBJ z7A=dfqM{2tF@&)DfnO3w}DScdcYwJ#QtmJYH9psHmkisFe~{imhY@He>Fb>8%tf zuc#xhzcto_!GMPG>d=ShLzO2+koamaTIGwd)Gn?esUGBsk%X?pEXBB{@C}|AMfeq@ z2erY7ukyrbLLQ7+#%qQ=)DvR}b2u=(NXR2SF_th#L(zCpkM+dvgg72InA}&MSU_dIks>Em z#ui~=e&>mWl>Y-HmCCn%x0TdSp4gWP{36A!ytHs;X=PsB(wc_K^1Mayyi%AZ^rA8j zN7;HT@;6WHN45Syzb9f1Eh$33mGs2^z$)Eh-)yV4Z_4q+0aP@aKFGV3$1CIY@!ox? zYbwJNF)EUk-Zfi-x~8%{@i)qEi_xehr$@E(L@8l>TBNXNhy{~b?cj+;l+gh*(`r(J z78cdX6J><&B1N0#3pC~KFDl@@x&5B_60IgQyC|ZMfLZ@QbG>Iat%ic-qc`v@WdQKDfYUCQK|*kizp2CL{TrO4QiE7H33}YH!SzD2?VwmcQ8bVKlAzn=7W_Y5O5VNG{ z-+Vmm^o;Rb4Q(OMSU7bsrBr!uPaH&*i=i)h<7Z9`CUz=+t|t<6>oJD45c0Ew)|p`pVKp z1M;cJ{+_6(A~BfNrY$Y=Uh0Vk_P$h^Czey8IEJOv?r~FUyu=eLD6fJnI~)oky37+R zZOtlAtfJhSl#;XUR|k1wHR050P#cQh8YW?OX1Jk}G3Q|9qDvuUqRnJ0MS2+BMOZD0jKh?20Uc;ZOH zo(AO!`i&hd<(%P(qbTPr_qrp}s~H);IT=~UwHo>)UAZa~E<_!^~4Xz^1wdEx{@-+~y*ocKWvad_V4;WE&| zdZljl#EDelHtZCzVkF|UGL%;5#d(qB=mVs|W;kK#4Pd>w-4iEKy*n`GF%CJz$fHqr zdg5flZCtlB!1;Hrlp`MP-JVply3dE0f)RgWTFzK9$@S3QPNQmGtpD5L}&mj;jBeA-M#fvMz z;g>Le6|VXkj9Q6(i=I^0px-Fvs_&5vj(!9Z^tiK#&8VL}^^5uyJflk#QxnaoKqiC*cZAjq?RnxXaR#N@c;alz&4I{P5+c_V=MbVj zY5d<&POGhj$se` zdE#7Rc>r7(;xb@r5aa=?NS!M1#CcR=C?r!?Q?@J)UJ98}3Q;CpjbJZqfenUIg;Ab3 zpDK*O%G5$sl#1-`i3_O6IP|HaoG0euipsdF_XI7p3+1J^iD(Ad_GMD&WZBm#C>cgp ziR50MxR6LrC$Xg>tduj;6Bkj=Y~(aWS}A9aCoZO(61W{TwXWU=CF)BPSYCK8==tb! zDE@^|0TPg__k(MTAxxCgE*NrTbL;8@&=;C#HH%}2mQ}j?Z=^~bzH{{=q-{)>+Aa6Q zCDiU>P_o#x*e(@V>WNFKz=3F#V!VW_^u%RW@2WjOK$LU_Czph~+SAvh;R-YLTK)H^z7EG0+eY*!(a?MPdJX>qW}==0zf$bfatuCH z2Yr*iC8}>m6l7b9wv4CO>02S17@edbo>)c4CWS3&OF*+Fbxt+6R^R67_4;geV2ygk^$b9RMsq_Q=h+jj*;T&CVh{m z@74E#rx?$F>f!9|^l&@Oww{#-q^#KdIpjWmlChix;gdi*smCijmvlyrr>8RUJ+A zpYimw)S!;V52E+yJ^g}yky);58vo(jX`^)!^ubWR4BxP3Q9YDAR@#881&NCKRj%d( z6PRvVsHxRgJ^h-d(~?-MI=+O2)U`!38H}N;--L)}!fkc++o)9r=Le1)QF_PI?~;aC z{VlDpPsC!bejkP4RIs0d&D)!<~4X#M8t-^m(yF)YK?<#z761|F4Dw=|Ar&M34pzPy}bIj(^p6@~jm zqk`Hd0!~a+ibelc&s*HOz};&HI~Rwu5|4%36>6;?wT5$|1OH2tuyqEv%gw+h9pqgQd%b2b zB*r@y-ujp!P_`0GJPP7Yh0jdf4)aW*86FxCI{~E__-|5-9 zTvb|J6E$OD9JXD&CSqE_$16>&$~0rl9ymfb@L0QTZ-A&3II(aeQ@cJxZY&NaY;WPl zMq!3ATcKBQVohxgDbQZfx7yOWI_#IrT>~dJvbd(Q9PXx>i5#{psO1_su`bOvioUyM z4s0y#KMg$C44`Loh{`o^WNA*42uXbNX&Nq&VrmNl+m5nrXDo^8zMk37TKQ^RF}T4T z;F*|#)9b;;r`7{0W~4V-vNTb%f4sFb&H~D;rn@Ri3FfH4uI+ zwtMxJ)#N(0(9y7&eKNrQL7sk7xKUGw?NU>~BPA%;G+++Xveax{cg+fD!sK{8+1d>O`C>cb#Ls!oaoO*{gVE6BF0brj}mIfCN}#FgXW z&eye2aUc9=z6egh&HiR;lV5Qjr8Dm>gQ;k@cxeINUB%rY9!QGy@hk9%f9$Ms@`>MKmc*!OD)kS~JYeOr1g7dCTDB6aYU^P{ABL8sR=bMD6=mSfHIHH(CQZdD z&4SrQvDrm4T=N)|J57ftK!7C_Ml(;4nl)6_@^YCX@Dw_49|C!etSEv%<_**icgHk! zT=N#Pii@YaW(!1(L@@_2UGpyRW%Vmv^FAiT)bP#`En89ZVT)U(ny-if;_Vv<0#Qr^6s^bc9cuE9lGcW(`Ju&I zv|&&!L$5VIdFE%bRvC+9LC-VI_vTkx)PCFkR%JU&L<_pjQHMVJU}t6iz&6bcN6L|& zqsX<)f-kff4k*;L&UFlgM>9EAo2aR;DXXb;od`M~hEyDIn_X46geH6tNO3Zu8FZn^ zbv&5GCIc0Q+nhF-&?~SZh`UY>1)zAx7wi&NbI8VZazTXVuFPN)r2i{+Z zpaFIrxPM+T2hpr1Wjeb!yG5N{!Rgl4yP~Srb9y^{&;*ij5@uCn4>37?H4SdjwJ->+ zFQuWo?DQqAUxiVC7wFC?n7}id_!;OqgB&;MA#!d(!xf^_<;l&qjmFo|gmHEkak; zsxj_x(F|SbqyA3xoFZpZO3dRcD_h?Gx8ApXTxSZ@E>8Pr*Vzj^lrM6f=@23ILQr0c zG`P-8G=WQj1B!Xya-D}Y`Avjd1Lms}oq zD;eel5cewiJvV^3JIU|3EXfczBpKo&B*P8?#HB}m$2~`eodby5jQox(j0|yYks+=Z zGVC5eTqET79s$HnL4L>0K!&&q$PkzM815Rt-2&J=(fP0mNlErh_|h z3J4}=LHZqVE7%kTo^74ATF)&JFcNH#KjYaxK+Y1 z7C>AP;rG%2;vNXU@=bN&sh_j5mF_;K#13_s8PlHu36-!l9@_eX|5=l;s@cV7xhNZffsOGrd~ z>2e~|mmVkD_%eqRxxQ@Ai5-2}krSPL*_9LBe3{3Ip1$nGiCul!n-lrI?8k`#z8u7f z0$&d0M4>N7aAH(WCUsMe@#XG}80Slf4eU(x-aN=*iT*QfTUoPgvQePg(iArBqbE4Ll2~O1eaychf`f@cV4)Nt-oH)Xl zM{(j9UmnMaHNHHN6DRxfR8E}k%QHD~wlB}+#QDCwkP{dC@={J*?#nAVakVe6<-~Qq zyq*&``toK@tn+1(6YG81$cYWUyo(ce`|@5+-0#Z=IPs7#ALhiPzI==mPx$gFPCVnw z=Q#0#FJI!sE56*!iPwDj1}EO~&y2!@u4q2=ESGI{G1bC`toZ|eCx~aIq{<} zf9AxmzWkjMO881~!uTq}3D;MdobY_rh7&oy%H>3RU+u_=j=t*5iLSot#)&*%_2fh^ zU+v0?-oDD`L_c2*;KU$b6>wsxuL?Oa!dIg>F~(QBb7GvY_TvK7$=VK)lr-{##hI2VvVm(6YG4HUDs2zIqcN*H>=?_`Z4vpuMl& z1K7b=9{|9}R0DMI)kgpwef0@ICtrOA(AigC0Ce%yR{&jo^$oyIzWNTJo3DNV=#E(p zkeB;HF*=T6(mJW`)A&TiY*0Vlrhbd$v~RWVf1vNEh^}i1A`xF}0EmMm5Xd9L*ACv$ zbz%%%r#_?W)RU&JlRVIMVyvm_#4Wl`0`xKKErZLMK@&2lqmi68tuRQeS!Tcs2^V8S ztz&FR;y_Zf8CF)AzRtiK7$hdZAjv{)n1mIbHMfXWUP)!nBTPwEI_~`CH=Gvk6ecc0Z?R~v7zz$XscJ%cwcqUED3+7x#!S#J%E2ai5gpewm4{ zCVlaM>?$6VyNHM60DLl8C?1x3h)3iU@u=Jz-%2hNkI6FexU3XU$Oe2Md6;-g9xtAj zr;BIg1>#wGrFc%>AfA`&#S8Ktd=2@qcu77jUY4(jSLECH67plQS$-p4mA{JDlp|hO zZNwX@gLqTriMLcA@wO@uThwUrj+!XmRWrnUY9H~wiir=@Qt_cWNPMJLi;vaO;uCeU z_*9)EK2w*9&(&J-g<2=RRCkK6)C1yc^|<&(y&%3-uZ!>0`{H}`h4?}JD1OvZ{G>C* z&)OHi=&s^dy^Huw4-miW;o=Xvzow^RVCG1r_l4$_OQWl#qnFEwK3qoi8tLjYWQM*_ zX6mbCmcCJXxVDn5@0D%zBeE@SUgY31Lp%MJ%+()AA7}aP^-ppKoT=}KW9$y5z3hmi zy=5-*Nam34f>K z?;QMH*l&YwSck_ddK^NJ!|8DpJ&vWv8hV^Wk5lP!20hNE$9eR)kRF%N<8pdjwN5tm zWiNb%E97`FTTT#jWsz7YCySVzD$30I9cwC zyLtPIb7f3iBumBRQ2b1~D`#bqvl@}Ds1Vs-=jV9&PNTjyDV}N6H#X{Ieojt+crHZb ziaJc15o546iJFVn$g(8G#*Zh_Z#)Y zje64t{rG+PIeFa5$Bp{w1v9yNwEtSsHpG7pJYl2FNqwIbUpMOK@^dni;%9EXi3}3~ z0c8D-thK_Uv{YOyBPqcr`kR6OQ_C_F%%A`>|8P>ap;up{zqX4>VFh5B--O(x%x$4c zy0C(dQafpAxub28`R-%RDMpEd`JmpKFH7M%98nrX?5W=hIl4gM=2^J zdxw>>p;lb$v!v{a0$dp4+7;qz)F1i!i$?vGRk@_>W_evJ=jG@4Tp%ttXEz5|&) z;TdUFG%G0wq>(LPvXDdjRJ-{(S=?yQ7W3SmG2r>Bq%2IUJ_^;>Q8T{&jwBv*6eFC} zV}SetNC-PA$3VeHnYE%iKc{nlCi&lC#Ch@uB1uSSE34WV=Z*5!OCz?MdXkpXrqWxy=ymXza= z#j^zIiCnB5@Sv5HQ&`hU1$@&cDW?;L8o+oaQw`*x0pDO!Y{}1Q$6bIBA@ICZ35>y( zq?{dQqxPnGsmvYID>k7!ZjFX?(8o@;fvwAR2+?U1PHcgUTAxkNrB6XQAN-)7kSBT` zbR_J*Z4;VY!ad*Q8(5pKeA5#pafW@<0*!`f!W9SJsp(bRXrT7Zo7fMd#%yBvvd~-~ z)JV#|!S({1#!RE>%cBrXrj$}+rnE)10W1d^lhACD#-!#zQkJ6}w?nfIm7uOmQ>dh@ z42Cb9tm*XI1RY_5Tba}j`8jO@(-GK-wE|Nw#0BOgKPMMBG*8AOu%k^=>m%O`g3y@! z4k(IpNm(11Em#zbs1Fb@L%zW@-w>*=H8`gRbJYw@nV?`|5N1cz8Ie|}JKizZo6|6Z zHkvUDqC9qB009M51T)wxBxOAu_57Uf^m>Qcy^)Dhhs^juicOda`8hjq)&%NR6TT?K z7d6LE4)K$l;pNQ%Uf$dcZ>EOjr-pc9%h%({^iy;8wW!&vnU+ts*EiEpX)7I0s|4Oj zu>-AcBDP0}UrCBWcpgqO!%Exg)KNnUMkl@D{kRGSfO+56mL%nktqt?KaF};( zZS2w-`cosG1D9?+>p{w;+rT_;&xfP(X^o`2X4_~*)1ViJgZ@{>9A*1JX#bXhPs+Pn z6WaZO&=lrlD+(V?bL?8NzA0xdt@D3H!q&-7tCTLWoQ_*hq$ZKgjRfl>&la|`WSd}T z^K&{ZGv|%yvww?dbo4QSeyckL=WZ$f3Y&HW#iHPA6L;eX3pkADJW% zZ9U$jBAp`n8_fPQ`ayw8p+Fl<*#%;3e$Gz))|({|RZ>10&c~dc$o6QOgd0p{Qa;f_ z#=3s@B~9%*+;AAF-Rz4@LT9+A5_C_?Y#^AqJnMRbSvO=~NYL)5)l7V8C}g#0Cu>Ac zSt~}$geaDE*oW4O6XkNTUamlZWhDYAtHe8UwfI6FDt^Q-mPmPotdK|Id6Ya4zgMzB z9wQ%;$I2(=aq)ffL}5=89z2~sw$MHsXgWCszjclPLXG;E9E(Ay*wA+ z&Yp*FOV7tQp%>^3d5P{WFV#KdWqOFb9G?JQp~uQA^;~(Cu9H{mqvSRESb3ek0(rN{ z8}vWqP5Nzli~d2b!_E9#ak+lI=_VUZk-Wn!ksEN6^e%)bHX2Mf^Ps%PY?k-p^4EP% zg}mQ6LjJ?KT0Y?1As=*}mk&9g%6~?Td^plUJ`(9AAB_~sO_9Ci6On!8Q<0L~Mt_rUxjV?W-TrcmJ5Iji&XMoBhnke|9w$j{t&#y2+g(}CJfnS?AK;?R8DBrtIwf8ow9kM&A9kYv6$Lt2xDSM6ToPCknDf<%DE&FQK zJv*uLvhP+svR_m^vp-e6vOib5A`XF%>}(t&`U!rlEP^xX$7yB5%-e1pf;MQ4;p)>Y z;6R3?QUAnq8!-n1x3SfjgM5ZpDjRcvqe*qsq8iw`GDg~E4NgV7bYqcnDr~inVT*%c z1)Ny&>4ROlfh{rEBf{7`NFj!Bi?$rxk+-nXtXvRm7`Phz%hlnAEhDWr6Rjmz31-4} z+Bmf5`OAGogoo{9Dku>0a`3hmnR>t$*`ow3^1QXCf_=!O`27F>zUo75Uz_~TC({S- z(Eo+O%WY-w4&Tn;<%WZY@I~4ZNsi==6uQ{hBCM0p<{R>JB56A&u^B5ly*qXXCARR&PVooYGVv~|Gj>r_M574dXe))r-Jq4# zporoeXTlUn$`@!oZkm6HHeeS(nu&>1NTrH6-fIjwr$tfm8i%t5K6}R3a%qOa-2j@>8hJx>0cWT6D77rkt!V(G+ibf>=t* z$@;d13^-X>+ImJ-L{^3ll#Jl?OQ=Djof<59sv%;G8Y-r#VPd%&E{<0t#06@kSf@te zRB5!#RAXc(HC7H(yUT@YoLr{H%Zu^bLXWD6@_SXJ95qRGQIqkUs^+P^)EYHiU7%*D zN7PL9lA5JHRkL*mHAnYW#d;rAqUWo*dYRfsSF3rtLCx2fsRjCawNQVp_BEZ42N>yfVRpsUp6*ph2C5~20ouTSLr${Yx>Qtq3l&W&hSJlpgs@8cy z9TZWjE;2yXN9L%8NL($CtW+x_tJSK=k!p41G<9&~0(D3vsSb^7Qio&V$A|QG;Wr&| z{9uI8*uzA&UiiZkiRXA@iMgHKTsJ~At*RUtNV9Rl`iwD3=C|rE{FmK@NU#*X6tWNv z=3wY7kReM7_6lb3;vem|R5-tJ{X05nlW`CM_(D#!hzQHz5QA5_kkjZM=#wo9bjCFnQ6Gpx+f0Vz#!t|7J^^Qr% z#qw~5N2o0XG0W(#XHxWo}o zH=iS=I#=eZ^W-k-LOD!bET^kWMnJd+6XIk5B_(rdPd!+-ckQh@2UsX z$Lc}#qk2dy^-tYJJ**4Vqp%YAWesa3oGjc+#gVOni$C#HNS>{ttyJ#lg7M%9~xP0ZLfW?$u zYsO*=&gXxeMR8TYV#+w4nXaWRxRd{B76V(Dw)s#w>0v}{9Qe2<;0t?IpQZI`J^)GRp+APjfuZpYHYvO5K z$oUmNoR+2Dls(j2FpOJdDSjXAWc8lBQ@s!O>;w6R`cP%Sq;-Q6Hc)-0_EVp$W$Fuc zr210bsJ@2D`&K=tzEgjw?{ypXgYKn%)U(vjx?KGV*X%carTSgps{YWAXraH>${20T z2pusab=2&kabcf+UC0_n{7^Q1tAv~T`4L__lN{MYn2yap-+e_VJ zq4H?s7IJWxN(y3uj2&)EC z!KISU!5LQ5y%ijFGp(i_Ca#58j6MB;AJrkP^L!ZJ%&sHU)0Vl}+OQvNYqo0Gxmvnq zw};g~(W;aqVmlPTv;ev>Y)7L4Hb#3gqBZ*f8cY=`Mj z+D)mPbpiRJ&C?64h@*Y!$_$@)rSyfTfxIfIdZTkRCaNDTvgR^g`EhRSCDov$8p=8f zO@r=vR7}E!!1ORzvNM4RF{0T!ti&O5)gFMQtB;*@wvCo^sYUT>QeyA0 zZ9fpx^uoiot$MH>YS^sM#g?Q@tuf6eObctw|3wXmCe=8yGj6b_OF5D-eCBG5f@{yK zXgRS;K#Priqp}nxC8ytB0pXR01dL0)c0>`>xRzvSaw#m+ss$w$?EN#ofyZ}nScmj_ z+-FK#>{^MmWiWfp(4WNHuxG>;>{@)_0m4Y|3J}JeX$x{%;K$T5Y7rLG$osGX)Pi`!C)^TZU-xcpAQr%M^bq+9qm$7Rkg# zmy~4b5{TU;v=qz4fyiuow*|91sY+;$2eN(v0t`1653>kx_loaZP*l_IDASk6c4237 z>`wJgmOPZn?nDu0xPT^Ua4C|+8AeuVm9yuaX?Co8b3Uj{Xw%F>7Fsuu+qMumT`MRn zspd1+p*c{9iP(N%LZmgHIzhotJZ>Mkj~g6<3_U)B<`h-8<-Th3fRX0 z^B`;3KU1kkNZ0Ie@+=Q7#{CaZbkPS5ZbH*Zg_~R%B=F!;?bbdCMaM(o20@lg8+%`u z;`#AZin$MO^jQO>7GZcG-fjF_C3@mGA_(`l%VwpV?Q}=cQ+E~v zbr-QOE|OoRcM`YgZsH-`Lwuxn#^v%}xEQ{R?2aFA?WcE>3-G(G$Ll`wT>NC~jk>RV z7C+JYyB?_e=|O6=9<27pmVLP%rq<{})u@MK8$Uw5sz<_u9j%AzF?x|6t5@sY^$B_p zy+M!H&*(k%n|gxD*F|PeJ;_Ydlg&y!&77#Gn+=n|(| z&vQ=I^POw;0_R)3Fp{J9jqIfNiwx8IN6Pg9kt=j8@=yJ@$alIlD)pl1OkEaTq06IJ z>v;45y*T=mUJ`v(9~k{WFN=PuE8Rj}*X0nugI9E z56w7KACYmEJ~HD%eN4tCeSF4adQHYN`UH5>_{mP|O{*v1P2;AynoovktLQ{{n3-Bs zC{`K933A*&wLR&}#bS*0pIV?ysLPYky(U9MW}wN$LoZ<(Xd3=WBt%hjWSpA2(PpZkzAfU0nbU5!(6eWjN2Os%%m}-4&+SOq0Xrs zu8<6K_+Z3>8a7RJ;iLM`QQ3%rd)J1n9Y?|U)# zWr@B-?x!!62kFb?N%~6Mlek*`rmt1LUaLCe7+|WtN$sU?#*x7-&}{tRtkrC}310_b zcPUS>+GL)Eay<{>(G@^m=*)}2yqu2F?}Z`=%jmbZ!HmXTS?t9P*5p7@ImT^i2C?nC z=LJo?x=r=TT-`G8I!z&bYDiaZlZvlx+9kLeww_KM72n;oxCGNp%FU89~{@EH*Q#jsZ3+z#e6>Soqcen;l?}BP^Y8LJq!p6Fv3K z+rasHIG*;NDHkPgl5~swNU|Q}LE65(O2y4PL_Cjpl>kFc;Y$A)6TW%_o$)!+b`8@AM%KC2F#ORtR36HqvCN=$2I z_Gl{Ov{q((QyIH^XrZm5rZT~(LWo~Nh<00%R40eq2~q&72zD8v9Yo5&uoiudYB^!O z)2Uul2T9lExRmm2D;#+$I3b#L0iqcYrsyPpyMx^{GYlyut0TJ6jGwdrm-%U?NV~#v z3H_+(tv8A3`Y}T&%R4G`hB& zzQJ!}(dzv0j43=1!_w~-C=%dG`}Nbd9w^1O=TpSXJn-^RyWVc zPGua{JfmGI=c;!*vvcw2vh&nrKb zo%CmrH-7ir%G+Ir`uI{ViVLCGZmJV86@8uzzN4)@a$vn-R$waOtwd;H4~{>hG`Q?~ zIGC@&ipQmW2Mz#C*CwumJKcE2ZecSFSlYGqz>7$#ivz=!`pk=+A5}~0HVUeTjgQ+2 z_j(Z7v^lVZ;kC5j8#;?$N%$FDfexlq&`ncpUYliEc3cIcS+Cx&Y0meM}XyL_`dgA+6InJ(1JLgpwl(amgvoTHiXJPCJIQ zkMz>Xj!YxlKO~zHa2Mn@r`$2<7ae3bZ9Y6wwWhN&MC*}l^_mwC<{A;8ChS|R-xxLM zhP^IE%TE|+xEmD^4^MBxszi!2-0?s+Xi4*(tl%mTQDDb{TV{vtbSy9PxOIGw(xg=^ zv%!Cj#MuD}uu2?;y|!}inl@d12a%Y|>6#eN(QsbBPKH?{EY0c>%)5`m`MeE*tG6M* zuA9>~=pgTM`WsJ0Qyu-(^eL;t!IeJ30uLo7Du54$xCK%1@ilVxV=om|)3pOr5Ms01pvaXCm3BOeQD)%4a$t)4WCs$xY0D#u7RUtp4q_ba zFVKL>3%PEJ@KI@mPtAuDvNH5I(8~+M zypmVLYWHn(E~_n)Uj(vi8Z1fK>~)4J7k+(!J!#st z6?}J^ow~NNK4>G1PJ&(j`T(mQ?x?_(5rvU2uxTBxHxtyanl1!QS937KLn5DZJ|9|2 zg@27y=pV4F`B4nfKcUtyV!r+rF5GX}-2N_3)PIQgab@gx{4T*bqvbT?$PyEgkKw2N z-!`twGa0I%@ze;@R_$eS)C$v19c|jH(@Y0-h3Tm7G@aGMri*&TbXA|5?pm52x~u7_ z`7yS&fa+z_7aaG;DeM5#(F_FFgH4$!!0%WOF^8C8<`VoE z{3|$2eiz5df0&WZSTow0Z^k$`nz7D1W{=1?GcK~)Oo*IiCPuC>MUfZGl*lJ$DtbIE z@|Bq$`O(aXM$F7;j+qthV`fMDn>lbi@K37*Zs{nv9kg4cJ4&UYyTgv2E^Eor;X_|D zPjoW#K?nZ=OF(BFoLi!UZ*T)EKaE}1;LX9|&R5O%n7kV^`-wJYf6>((0BZQRTP!sM z8MqzwNWSlMN~*gX9ekPTbW4hL?0GtQNzuqD^L$d=Wm7LF#l1F#^I}`hd=i#(diqY! z{0&YoE}@6`dPwTcxcG88^#&X0qMLE7R9zC3Z--BV`OlDwSwQo}`m_`6H_&ffOq?M+*1p)S^x7&PkTkz&PGs4cz zN_B2lv(D*1(2ZH>V0duj?2VVSki4@uEa$Fv*k<{9R#*-}50VN6J>Zn@EjKtQhh2$| zPhkhl;A?lMy+ZZ-8{qiGQLo8{s;vqHRPR*JXHD)Eh3Eq*fxONHOQ z?`jT}h2}6h+Z-+rG)KsT%#m`XIZ7UGj+V#aTclIWvGQ#El>L?Fczmz4M&65`QF+Fk zC^wsv{_47>tY5ZuR$v|sa z1;m|LobdEZMH{fSCJmDA%Dw-CCXz#IcB)d@$HLf7}o8~k80 zJ!R_nflAl5+Q2ADw4haBzJcXaR(|Z5F6aH@JBiTtnOFh~nO7K8ly+T|gr!}VFnNtn z+EbyxGF~fMX5v3GnB^|pj34vDn4!fQjsT9Xm zu*V)RC>C&Igi->{Sd&Bw?FKqx2)4OSI79>uEbbfTnFH~C2K225Myqj&2m8kaSPqfP zd3I6dau)72F#mS*X{4JHSc~=gr27r@^wm{yiV6K=2|S1m79MICCq6cbL2NWIE0-&? z+@UJwas~z(MEkGAEsz|YF@bw?qtzkLQ$YfouttkVl6VwbiR`2bcagyc7WVZw2&ZW^ zn80>CW?=^zfBV&wcpO6v6jVHIY#`qV&nQlV_)|Fl`%a^zrkuzw-F&2FUxS|0U6H7< z(ZY!C!kHeP*-2m&Pg!{K*3PMx340P5>>)$#Ah4^BU#c2N)mLFEkDXl9I&vTC8^~Qb#@ZZ;925#*bhd?F}7p<5!1A(J0hM37RZSuwOAv5q~E3v z@9-<$#P%TYS#2ARh4EW1z9%2}$8~okF##Tz&7sU}e1dtiGLeo=sBFm+D~l!#au*p3?KU=s*Pn89nbckF`l zChS1q4eA3`;@ewV&*J3*#S!z4fn+A~%|x?Z;5`FPI)x9IH;1ZnY$wm>ber)i~cSF(e$(%tlJ z65ru$+%<9g1@%>rOWc6e|4(&$2^;wJk6AcxU|Fr)(WxVT7!zoEj*}r7zY;iV2dk%R z8Nrs;ZiF(LDv_i9fQjijgXJWDGry!JDZ@_&--Mq3(UY?}da^TUHH+`DT@vkFcW@Qb zPyda!{DRJGv+T}fO*uPr1wGa+ifoIVm&vxu1>Cx$D-rK4&QQHHleOgXOt!04uAmfh zB~4acVoU@5lrlQOL^rcr!+dr#TXy$M28+2O-_eq~hSfE<)=1gRroNj$65?dHFoZT; zmXZTEur@2#UBi7>@xTpi%3j06SFt6Px{hu8YEe2gH0CLEny0bUJi}-^@dTPM%qS*f z?b09^9n?2b^JnU&d5BjVUfnF$Wm3(n&D727*nJs$v%g`{KDqBYp3Yvu-k;EU0|)o# zuHw)&9R79nWvsf49y!^yFvi8zARg7=6g6hPM(DXrR>*P$Q-#u!$0M++lx^~P%7lE8 za+Z9VGAUoBY?rT7cE~p=JLTJyT}&(6)h*wpl=6Mb+44imIr3x59{DNdT=_ZWJozQ% zeEBuy0(mNP9cM1_zDuxz(4XU*F3nux3G*z3c@FL7dCWC0;1Ba6vADq9CS1h#d}``! J;{Ok5`x|a6f*Ak+ literal 0 HcmV?d00001 diff --git a/server/jpywork/server.java b/server/jpywork/server.java new file mode 100644 index 00000000..b871ed6e --- /dev/null +++ b/server/jpywork/server.java @@ -0,0 +1,1188 @@ +import org.python.core.*; + +public class server extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject i$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject i$8; + private static PyObject i$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyObject s$13; + private static PyObject s$14; + private static PyObject s$15; + private static PyObject s$16; + private static PyObject s$17; + private static PyObject s$18; + private static PyObject s$19; + private static PyObject s$20; + private static PyObject s$21; + private static PyObject s$22; + private static PyObject s$23; + private static PyObject s$24; + private static PyObject s$25; + private static PyObject s$26; + private static PyObject s$27; + private static PyObject s$28; + private static PyObject s$29; + private static PyObject s$30; + private static PyObject s$31; + private static PyObject s$32; + private static PyObject s$33; + private static PyObject s$34; + private static PyObject s$35; + private static PyObject i$36; + private static PyObject s$37; + private static PyObject s$38; + private static PyObject s$39; + private static PyObject s$40; + private static PyObject s$41; + private static PyObject s$42; + private static PyObject s$43; + private static PyObject s$44; + private static PyObject s$45; + private static PyObject s$46; + private static PyObject s$47; + private static PyObject s$48; + private static PyObject s$49; + private static PyObject s$50; + private static PyObject s$51; + private static PyObject s$52; + private static PyObject s$53; + private static PyObject s$54; + private static PyObject s$55; + private static PyObject s$56; + private static PyObject s$57; + private static PyObject s$58; + private static PyObject s$59; + private static PyObject s$60; + private static PyObject s$61; + private static PyObject s$62; + private static PyObject s$63; + private static PyObject s$64; + private static PyObject s$65; + private static PyObject s$66; + private static PyObject s$67; + private static PyObject s$68; + private static PyObject s$69; + private static PyObject s$70; + private static PyObject s$71; + private static PyObject s$72; + private static PyObject s$73; + private static PyObject s$74; + private static PyObject s$75; + private static PyObject s$76; + private static PyObject s$77; + private static PyObject s$78; + private static PyObject s$79; + private static PyObject s$80; + private static PyObject s$81; + private static PyObject s$82; + private static PyObject s$83; + private static PyObject s$84; + private static PyObject s$85; + private static PyObject s$86; + private static PyObject s$87; + private static PyObject s$88; + private static PyObject s$89; + private static PyObject s$90; + private static PyObject s$91; + private static PyObject s$92; + private static PyObject s$93; + private static PyObject s$94; + private static PyObject s$95; + private static PyObject s$96; + private static PyObject s$97; + private static PyObject s$98; + private static PyObject s$99; + private static PyObject s$100; + private static PyObject s$101; + private static PyObject s$102; + private static PyObject s$103; + private static PyObject s$104; + private static PyObject s$105; + private static PyObject s$106; + private static PyObject s$107; + private static PyObject s$108; + private static PyObject s$109; + private static PyObject i$110; + private static PyObject s$111; + private static PyObject s$112; + private static PyObject i$113; + private static PyObject s$114; + private static PyObject s$115; + private static PyObject s$116; + private static PyObject s$117; + private static PyObject s$118; + private static PyObject s$119; + private static PyObject s$120; + private static PyObject s$121; + private static PyObject s$122; + private static PyObject s$123; + private static PyObject s$124; + private static PyObject s$125; + private static PyObject s$126; + private static PyObject s$127; + private static PyObject s$128; + private static PyObject s$129; + private static PyObject s$130; + private static PyObject s$131; + private static PyObject s$132; + private static PyObject s$133; + private static PyFunctionTable funcTable; + private static PyCode c$0_register; + private static PyCode c$1_update; + private static PyCode c$2_remove; + private static PyCode c$3_lookup; + private static PyCode c$4_list; + private static PyCode c$5_getCredential; + private static PyCode c$6_getAccounting; + private static PyCode c$7___init__; + private static PyCode c$8_construct_hierarchy; + private static PyCode c$9_sec_init; + private static PyCode c$10_save_state; + private static PyCode c$11_GENIServer; + private static PyCode c$12_handle; + private static PyCode c$13_handle_connection; + private static PyCode c$14_main; + private static PyCode c$15_main; + private static void initConstants() { + s$0 = Py.newString("127.0.0.1"); + i$1 = Py.newInteger(8002); + s$2 = Py.newString("interface_tree_sr"); + s$3 = Py.newString("interface_tree_cr"); + s$4 = Py.newString("../"); + s$5 = Py.newString("../util"); + s$6 = Py.newString("../util/sec"); + s$7 = Py.newString("../PLCAPI/trunk"); + i$8 = Py.newInteger(0); + i$9 = Py.newInteger(1); + s$10 = Py.newString("type"); + s$11 = Py.newString("g_params"); + s$12 = Py.newString("Record "); + s$13 = Py.newString("hrn"); + s$14 = Py.newString(" already exists.\012"); + s$15 = Py.newString("SA"); + s$16 = Py.newString("MA"); + s$17 = Py.newString("local"); + s$18 = Py.newString("wrapperurl"); + s$19 = Py.newString(""); + s$20 = Py.newString("slc"); + s$21 = Py.newString("comp"); + s$22 = Py.newString("(2-0)(4-0)(6-0)(7-0)(8-0)(9-0)(0-1)(1-1)(2-1)(3-1)(4-1)(5-1)(6-1)(7-1)(8-1)(9-1)"); + s$23 = Py.newString("#0:reg:"); + s$24 = Py.newString(":"); + s$25 = Py.newString("#1:reg:"); + s$26 = Py.newString("rights"); + s$27 = Py.newString("p_params"); + s$28 = Py.newString("site_id"); + s$29 = Py.newString("SELECT site_id FROM sites WHERE login_base = '"); + s$30 = Py.newString("';"); + s$31 = Py.newString("login_base"); + s$32 = Py.newString("SELECT * FROM sites WHERE login_base = '"); + s$33 = Py.newString("'"); + s$34 = Py.newString("Site login_base '"); + s$35 = Py.newString(", already exists in the system. Try another name.\012"); + i$36 = Py.newInteger(10); + s$37 = Py.newString("slice"); + s$38 = Py.newString("component"); + s$39 = Py.newString("/"); + s$40 = Py.newString("."); + s$41 = Py.newString("rm -rf "); + s$42 = Py.newString(".cert"); + s$43 = Py.newString("pubkey"); + s$44 = Py.newString("pointer"); + s$45 = Py.newString("INSERT"); + s$46 = Py.newString("DROP TABLE IF EXISTS "); + s$47 = Py.newString("CREATE TABLE "); + s$48 = Py.newString(" ( hrn text, type text, uuid text, userlist text, rights text, description text, pubkey text, wrapperURL text, disabled text, pointer integer);"); + s$49 = Py.newString("db_info"); + s$50 = Py.newString("key_info"); + s$51 = Py.newString(".pkey"); + s$52 = Py.newString("sr"); + s$53 = Py.newString("cr"); + s$54 = Py.newString(" "); + s$55 = Py.newString(" is successfully added.\012"); + s$56 = Py.newString("_"); + s$57 = Py.newString("name"); + s$58 = Py.newString("UPDATE "); + s$59 = Py.newString(" SET hrn = '"); + s$60 = Py.newString("userlist"); + s$61 = Py.newString(" userlist = '"); + s$62 = Py.newString(" rights = '"); + s$63 = Py.newString(" WHERE pointer = "); + s$64 = Py.newString("Slice "); + s$65 = Py.newString("user"); + s$66 = Py.newString("(2-0)(4-0)(6-0)(7-0)(8-0)(9-0)"); + s$67 = Py.newString("#0:reg:slc:"); + s$68 = Py.newString("User "); + s$69 = Py.newString("node"); + s$70 = Py.newString("Node "); + s$71 = Py.newString("Error in 'register():"); + s$72 = Py.newString("Error in register:."); + s$73 = Py.newString(" does not exist.\012"); + s$74 = Py.newString("geni"); + s$75 = Py.newString("INSERT INTO slice_person VALUES("); + s$76 = Py.newString(", "); + s$77 = Py.newString(");"); + s$78 = Py.newString("UPDATE"); + s$79 = Py.newString("The record '"); + s$80 = Py.newString("' is successfully updated.\012"); + s$81 = Py.newString("Error in 'update():'"); + s$82 = Py.newString("Error in update:"); + s$83 = Py.newString("Error in remove.\012"); + s$84 = Py.newString("Site removal should be at the leaves.\012"); + s$85 = Py.newString("DELETE"); + s$86 = Py.newString("' is successfully removed.\012"); + s$87 = Py.newString("Error in 'delete()'"); + s$88 = Py.newString("Error in delete:"); + s$89 = Py.newString("pl"); + s$90 = Py.newString("cred_name"); + s$91 = Py.newString("registry"); + s$92 = Py.newString("SELECT * FROM "); + s$93 = Py.newString(" WHERE hrn = '"); + s$94 = Py.newString("' "); + s$95 = Py.newString("admin"); + s$96 = Py.newString("roles"); + s$97 = Py.newString("(0-0)(1-0)(2-0)(3-0)(4-0)(5-0)(6-0)(7-0)(8-0)(9-0)"); + s$98 = Py.newString("(0-1)(1-1)(2-1)(3-1)(4-1)(5-1)(6-1)(7-1)(8-1)(9-1)"); + s$99 = Py.newString("#1:reg:comp:"); + s$100 = Py.newString("pi"); + s$101 = Py.newString("Registry credentials"); + s$102 = Py.newString("is_deleted"); + s$103 = Py.newString("expires"); + s$104 = Py.newString("f"); + s$105 = Py.newString("SELECT * FROM person_slice WHERE person_id = "); + s$106 = Py.newString(" AND slice_id = "); + s$107 = Py.newString("(10-0)(11-0)(12-0)(13-0)(14-0)(15-0)(16-0)(17-0)(18-0)(20-0)(21-0)(22-0)(23-0)"); + s$108 = Py.newString("#0:comp:planetlab.*"); + s$109 = Py.newString("Credential "); + i$110 = Py.newInteger(3); + s$111 = Py.newString("account_name"); + s$112 = Py.newString("uuid"); + i$113 = Py.newInteger(2); + s$114 = Py.newString("register"); + s$115 = Py.newString("remove"); + s$116 = Py.newString("update"); + s$117 = Py.newString("lookup"); + s$118 = Py.newString("list"); + s$119 = Py.newString("getCredential"); + s$120 = Py.newString("getAccounting"); + s$121 = Py.newString("server"); + s$122 = Py.newString("accounting"); + s$123 = Py.newString("credential"); + s$124 = Py.newString("both"); + s$125 = Py.newString("opname"); + s$126 = Py.newString("WRONG INTERFACE"); + s$127 = Py.newString("NO FUNC"); + s$128 = Py.newString("AUTHORIZATION FAIL"); + s$129 = Py.newString("message"); + s$130 = Py.newString("Requested record does not exist.\012"); + s$131 = Py.newString("There is an error handling the request. "); + s$132 = Py.newString("__main__"); + s$133 = Py.newString("/home/soners/work/geni/rpc/server/server.py"); + funcTable = new _PyInner(); + c$0_register = Py.newCode(3, new String[] {"self", "record", "dbinfo", "other_tree", "parent_key_info", "user_fields", "existing_res", "login_base", "slice_fields", "rights", "reg_type", "querystr", "cnx", "pointer", "tree", "new_table_name", "table", "dirname", "parent_data", "site_fields", "res", "parent_db_info", "db_info", "curdir", "node_fields", "hrn_suffix", "i", "info", "long_hrn", "e", "dir_type", "key_info", "type"}, "/home/soners/work/geni/rpc/server/server.py", "register", false, false, funcTable, 0, null, null, 0, 1); + c$1_update = Py.newCode(3, new String[] {"self", "record", "dbinfo", "usr_dbinfo", "type", "user_pointer", "rec", "existing_res", "user_fields", "pl_res", "node_fields", "cnx", "site_fields", "pointer", "querystr", "e", "table", "long_hrn", "slice_fields", "user"}, "/home/soners/work/geni/rpc/server/server.py", "update", false, false, funcTable, 1, null, null, 0, 1); + c$2_remove = Py.newCode(3, new String[] {"self", "record", "dbinfo", "type", "existing_res", "tree", "cnx", "pointer", "querystr", "hrn_suffix", "leaf", "e", "table", "long_hrn"}, "/home/soners/work/geni/rpc/server/server.py", "remove", false, false, funcTable, 2, null, null, 0, 1); + c$3_lookup = Py.newCode(3, new String[] {"self", "record", "dbinfo", "pointer", "cnx", "type", "existing_res", "pl_res", "table"}, "/home/soners/work/geni/rpc/server/server.py", "lookup", false, false, funcTable, 3, null, null, 0, 1); + c$4_list = Py.newCode(3, new String[] {"self", "record", "dbinfo", "x"}, "/home/soners/work/geni/rpc/server/server.py", "list", false, false, funcTable, 4, null, null, 0, 1); + c$5_getCredential = Py.newCode(5, new String[] {"self", "record", "dbinfo", "keyinfo", "peerinfo", "openssl_cert", "usr_dbinfo", "cname", "has_slc", "cred_name", "slc_result", "expires", "rights", "querystr", "cnx", "pointer", "table", "usr_slc_res", "user_pointer", "cred_pem", "slc_rec", "rec", "deleted", "pl_res", "timenow", "geni_res", "type"}, "/home/soners/work/geni/rpc/server/server.py", "getCredential", false, false, funcTable, 5, null, null, 0, 1); + c$6_getAccounting = Py.newCode(5, new String[] {"self", "record", "dbinfo", "keyinfo", "peer_cert", "uuid", "cnx", "openssl_cert", "rec", "acc", "res", "table"}, "/home/soners/work/geni/rpc/server/server.py", "getAccounting", false, false, funcTable, 6, null, null, 0, 1); + c$7___init__ = Py.newCode(3, new String[] {"self", "socket", "handler"}, "/home/soners/work/geni/rpc/server/server.py", "__init__", false, false, funcTable, 7, null, null, 0, 1); + c$8_construct_hierarchy = Py.newCode(1, new String[] {"self"}, "/home/soners/work/geni/rpc/server/server.py", "construct_hierarchy", false, false, funcTable, 8, null, null, 0, 1); + c$9_sec_init = Py.newCode(1, new String[] {"self", "id_key_file", "acc_file", "id_file", "key_info", "cred_file"}, "/home/soners/work/geni/rpc/server/server.py", "sec_init", false, false, funcTable, 9, null, null, 0, 1); + c$10_save_state = Py.newCode(2, new String[] {"self", "type"}, "/home/soners/work/geni/rpc/server/server.py", "save_state", false, false, funcTable, 10, null, null, 0, 1); + c$11_GENIServer = Py.newCode(0, new String[] {}, "/home/soners/work/geni/rpc/server/server.py", "GENIServer", false, false, funcTable, 11, null, null, 0, 0); + c$12_handle = Py.newCode(1, new String[] {"self", "type", "op", "peerinfo", "target_hrn", "result", "peer", "dbinfo", "tree", "operation_request", "opname", "hrn_of_call", "reg_type", "e", "params", "keyinfo"}, "/home/soners/work/geni/rpc/server/server.py", "handle", false, false, funcTable, 12, null, null, 0, 1); + c$13_handle_connection = Py.newCode(0, new String[] {}, "/home/soners/work/geni/rpc/server/server.py", "handle_connection", false, false, funcTable, 13, null, null, 0, 0); + c$14_main = Py.newCode(0, new String[] {}, "/home/soners/work/geni/rpc/server/server.py", "main", false, false, funcTable, 14, null, null, 0, 1); + c$15_main = Py.newCode(0, new String[] {}, "/home/soners/work/geni/rpc/server/server.py", "main", false, false, funcTable, 15, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$15_main == null) _PyInner.initConstants(); + return c$15_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.register$1(frame); + case 1: + return _PyInner.update$2(frame); + case 2: + return _PyInner.remove$3(frame); + case 3: + return _PyInner.lookup$4(frame); + case 4: + return _PyInner.list$5(frame); + case 5: + return _PyInner.getCredential$6(frame); + case 6: + return _PyInner.getAccounting$7(frame); + case 7: + return _PyInner.__init__$8(frame); + case 8: + return _PyInner.construct_hierarchy$9(frame); + case 9: + return _PyInner.sec_init$10(frame); + case 10: + return _PyInner.save_state$11(frame); + case 11: + return _PyInner.GENIServer$12(frame); + case 12: + return _PyInner.handle$13(frame); + case 13: + return _PyInner.handle_connection$14(frame); + case 14: + return _PyInner.main$15(frame); + case 15: + return _PyInner.main$16(frame); + default: + return null; + } + } + + private static PyObject register$1(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyException t$0$PyException; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject; + + // Code + frame.setlocal(12, frame.getlocal(2).__getitem__(i$8)); + frame.setlocal(16, frame.getlocal(2).__getitem__(i$9)); + frame.setlocal(32, frame.getlocal(1).__getitem__(s$11).__getitem__(s$10)); + try { + frame.setlocal(6, frame.getglobal("check_exists_geni").__call__(frame.getlocal(1), frame.getlocal(2))); + if (frame.getlocal(6).__nonzero__()) { + throw Py.makeException(frame.getglobal("ExistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$14))); + } + if (((t$0$PyObject = frame.getlocal(32)._eq(s$15)).__nonzero__() ? t$0$PyObject : frame.getlocal(32)._eq(s$16)).__nonzero__()) { + frame.getlocal(1).__getitem__(s$11).__setitem__(s$18, s$17); + frame.setlocal(10, s$19); + if (frame.getlocal(32)._eq(s$15).__nonzero__()) { + frame.setlocal(10, s$20); + } + else { + frame.setlocal(10, s$21); + } + frame.setlocal(9, s$22); + frame.setlocal(9, frame.getlocal(9)._add(s$23)._add(frame.getlocal(10))._add(s$24)._add(frame.getglobal("obtain_authority").__call__(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13)))._add(s$25)._add(frame.getlocal(10))._add(s$24)._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))); + frame.getlocal(1).__getitem__(s$11).__setitem__(s$26, frame.getlocal(9)); + frame.setlocal(28, frame.getlocal(1).__getitem__(s$11).__getitem__(s$13)); + frame.setlocal(25, frame.getglobal("get_leaf").__call__(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))); + frame.setlocal(13, i$9.__neg__()); + frame.setlocal(7, s$19); + frame.setlocal(19, frame.getlocal(1).__getitem__(s$27)); + frame.setlocal(3, frame.getglobal("None")); + if (frame.getlocal(10)._eq(s$20).__nonzero__()) { + frame.setlocal(3, frame.getlocal(0).__getattr__("cr_tree")); + } + else { + frame.setlocal(3, frame.getlocal(0).__getattr__("sr_tree")); + } + frame.setlocal(27, frame.getlocal(3).invoke("tree_lookup", frame.getlocal(28))); + if (frame.getlocal(27).__nonzero__()) { + frame.setlocal(7, frame.getlocal(27).__getattr__("login_base")); + frame.setlocal(13, frame.getlocal(12).invoke("query", s$29._add(frame.getlocal(7))._add(s$30)).invoke("dictresult").__getitem__(i$8).__getitem__(s$28)); + } + else { + if (frame.getlocal(19).invoke("has_key", s$31).__nonzero__()) { + frame.setlocal(7, frame.getlocal(19).__getitem__(s$31)); + frame.setlocal(11, s$32._add(frame.getlocal(7))._add(s$33)); + frame.setlocal(20, frame.getlocal(12).invoke("query", frame.getlocal(11)).invoke("dictresult")); + if (frame.getlocal(20).__nonzero__()) { + return s$34._add(frame.getlocal(7))._add(s$35); + } + } + else { + frame.setlocal(7, frame.getglobal("hrn_to_loginbase").__call__(frame.getlocal(28))); + t$0$int = 0; + t$1$PyObject = frame.getglobal("range").__call__(i$9, i$36); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(26, t$0$PyObject); + frame.setlocal(11, s$32._add(frame.getlocal(7))._add(s$33)); + frame.setlocal(20, frame.getlocal(12).invoke("query", frame.getlocal(11)).invoke("dictresult")); + if (frame.getlocal(20).__not__().__nonzero__()) { + break; + } + else { + frame.setlocal(7, frame.getglobal("hrn_to_loginbase").__call__(frame.getlocal(28), frame.getlocal(26))); + } + } + frame.getlocal(19).__setitem__(s$31, frame.getlocal(7)); + } + frame.setlocal(13, frame.getglobal("shell").invoke("AddSite", frame.getglobal("pl_auth"), frame.getlocal(19))); + } + frame.setlocal(23, frame.getglobal("os").__getattr__("getcwd").__call__()); + if (frame.getlocal(10)._eq(s$20).__nonzero__()) { + frame.setlocal(30, s$37); + } + else { + frame.setlocal(30, s$38); + } + frame.setlocal(17, frame.getlocal(30)._add(s$39)._add(frame.getlocal(28).invoke("replace", s$40, s$39))); + if (frame.getglobal("os").__getattr__("path").__getattr__("exists").__call__(frame.getlocal(17)).__nonzero__()) { + frame.getglobal("os").__getattr__("system").__call__(s$41._add(frame.getlocal(17))); + } + frame.getglobal("os").__getattr__("makedirs").__call__(frame.getlocal(17)); + frame.getglobal("os").__getattr__("chdir").__call__(frame.getlocal(17)); + frame.getglobal("create_self_cert").__call__(frame.getlocal(25)); + frame.getglobal("os").__getattr__("chdir").__call__(frame.getlocal(23)); + frame.getlocal(1).__getitem__(s$11).__setitem__(s$13, frame.getglobal("get_leaf").__call__(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))); + frame.getlocal(1).__getitem__(s$11).__setitem__(s$43, frame.getglobal("X509").__getattr__("load_cert").__call__(frame.getlocal(17)._add(s$39)._add(frame.getlocal(25))._add(s$42)).invoke("get_pubkey").__getattr__("as_pem").__call__(new PyObject[] {frame.getglobal("None")}, new String[] {"cipher"})); + frame.getlocal(1).__getitem__(s$11).__setitem__(s$44, frame.getlocal(13)); + frame.setlocal(11, frame.getglobal("generate_querystr").__call__(s$45, frame.getlocal(16), frame.getlocal(1).__getitem__(s$11))); + frame.getlocal(12).invoke("query", frame.getlocal(11)); + frame.setlocal(15, frame.getglobal("hrn_to_tablename").__call__(frame.getlocal(28), frame.getlocal(10))); + frame.getlocal(12).invoke("query", s$46._add(frame.getlocal(15))); + frame.setlocal(11, s$47._add(frame.getlocal(15))._add(s$48)); + frame.getlocal(12).invoke("query", frame.getlocal(11)); + frame.setlocal(14, frame.getglobal("None")); + if (frame.getlocal(32)._eq(s$15).__nonzero__()) { + frame.setlocal(14, frame.getlocal(0).__getattr__("sr_tree")); + } + else { + frame.setlocal(14, frame.getlocal(0).__getattr__("cr_tree")); + } + frame.setlocal(18, frame.getlocal(14).invoke("tree_lookup", frame.getglobal("obtain_authority").__call__(frame.getlocal(28))).__getattr__("node_data")); + frame.setlocal(21, frame.getlocal(18).__getitem__(s$49)); + frame.setlocal(4, frame.getlocal(18).__getitem__(s$50)); + frame.setlocal(27, frame.getglobal("TreeNodeInfo").__call__()); + frame.getlocal(27).__setattr__("name", frame.getlocal(28)); + frame.getlocal(27).__setattr__("login_base", frame.getlocal(7)); + frame.setlocal(22, frame.getglobal("DbInfo").__call__()); + frame.setlocal(31, frame.getglobal("KeyInfo").__call__()); + frame.getlocal(27).__setattr__("node_data", new PyDictionary(new PyObject[] {s$49, frame.getlocal(22), s$50, frame.getlocal(31)})); + frame.getlocal(22).__setattr__("table_name", frame.getlocal(15)); + frame.getlocal(22).__setattr__("db_name", frame.getlocal(21).__getattr__("db_name")); + frame.getlocal(22).__setattr__("address", frame.getlocal(21).__getattr__("address")); + frame.getlocal(22).__setattr__("port", frame.getlocal(21).__getattr__("port")); + frame.getlocal(22).__setattr__("user", frame.getlocal(21).__getattr__("user")); + frame.getlocal(22).__setattr__("password", frame.getlocal(21).__getattr__("password")); + frame.getlocal(31).__setattr__("acc_file", s$19); + frame.getlocal(31).__setattr__("cred_file", s$19); + frame.getlocal(31).__setattr__("folder", frame.getlocal(4).__getattr__("folder")._add(s$39)._add(frame.getlocal(25))); + frame.getlocal(31).__setattr__("id_file", frame.getlocal(25)._add(s$42)); + frame.getlocal(31).__setattr__("id_key_file", frame.getlocal(25)._add(s$51)); + frame.getlocal(14).invoke("tree_add", frame.getlocal(27)); + if (frame.getlocal(32)._eq(s$15).__nonzero__()) { + frame.getlocal(0).invoke("save_state", s$52); + } + else { + frame.getlocal(0).invoke("save_state", s$53); + } + return frame.getlocal(32)._add(s$54)._add(frame.getlocal(28))._add(s$55); + } + else if (frame.getlocal(32)._eq(s$37).__nonzero__()) { + frame.setlocal(7, frame.getglobal("get_leaf").__call__(frame.getglobal("obtain_authority").__call__(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13)))); + frame.setlocal(28, frame.getlocal(1).__getitem__(s$11).__getitem__(s$13)); + frame.setlocal(25, frame.getglobal("get_leaf").__call__(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))); + frame.setlocal(8, frame.getlocal(1).__getitem__(s$27)); + frame.getlocal(8).__setitem__(s$57, frame.getlocal(7)._add(s$56)._add(frame.getlocal(25))); + frame.setlocal(13, frame.getglobal("shell").invoke("AddSlice", frame.getglobal("pl_auth"), frame.getlocal(8))); + frame.getlocal(1).__getitem__(s$11).__setitem__(s$44, frame.getlocal(13)); + frame.setlocal(11, s$58._add(frame.getlocal(16))._add(s$59)._add(frame.getlocal(25))._add(s$33)); + if (frame.getlocal(1).__getitem__(s$11).invoke("has_key", s$60).__nonzero__()) { + frame.setlocal(11, frame.getlocal(11)._add(s$61)._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$60))._add(s$33)); + } + if (frame.getlocal(1).__getitem__(s$11).invoke("has_key", s$26).__nonzero__()) { + frame.setlocal(11, frame.getlocal(11)._add(s$62)._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$26))._add(s$33)); + } + frame.setlocal(11, frame.getlocal(11)._add(s$63)._add(frame.getglobal("str").__call__(frame.getlocal(1).__getitem__(s$11).__getitem__(s$44)))); + frame.getlocal(12).invoke("query", frame.getlocal(11)); + return s$64._add(frame.getlocal(28))._add(s$55); + } + else if (frame.getlocal(32)._eq(s$65).__nonzero__()) { + frame.setlocal(28, frame.getlocal(1).__getitem__(s$11).__getitem__(s$13)); + frame.getlocal(1).__getitem__(s$11).__setitem__(s$13, frame.getglobal("get_leaf").__call__(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))); + frame.setlocal(9, s$66); + frame.setlocal(9, frame.getlocal(9)._add(s$67)._add(frame.getglobal("obtain_authority").__call__(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13)))); + frame.getlocal(1).__getitem__(s$11).__setitem__(s$26, frame.getlocal(9)); + frame.setlocal(5, frame.getlocal(1).__getitem__(s$27)); + frame.setlocal(13, frame.getglobal("shell").invoke("AddPerson", frame.getglobal("pl_auth"), frame.getlocal(5))); + frame.getlocal(1).__getitem__(s$11).__setitem__(s$44, frame.getlocal(13)); + frame.setlocal(11, frame.getglobal("generate_querystr").__call__(s$45, frame.getlocal(16), frame.getlocal(1).__getitem__(s$11))); + frame.getlocal(12).invoke("query", frame.getlocal(11)); + return s$68._add(frame.getlocal(28))._add(s$55); + } + else if (frame.getlocal(32)._eq(s$69).__nonzero__()) { + frame.setlocal(28, frame.getlocal(1).__getitem__(s$11).__getitem__(s$13)); + frame.setlocal(7, frame.getlocal(0).__getattr__("cr_tree").invoke("tree_lookup", frame.getglobal("obtain_authority").__call__(frame.getlocal(28))).__getattr__("login_base")); + frame.getlocal(1).__getitem__(s$11).__setitem__(s$13, frame.getglobal("get_leaf").__call__(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))); + frame.setlocal(9, s$19); + frame.getlocal(1).__getitem__(s$11).__setitem__(s$26, frame.getlocal(9)); + frame.setlocal(24, frame.getlocal(1).__getitem__(s$27)); + frame.setlocal(13, frame.getglobal("shell").invoke("AddNode", new PyObject[] {frame.getglobal("pl_auth"), frame.getlocal(7), frame.getlocal(24)})); + frame.getlocal(1).__getitem__(s$11).__setitem__(s$44, frame.getlocal(13)); + frame.setlocal(11, s$58._add(frame.getlocal(16))._add(s$59)._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$33)); + if (((t$2$PyObject = frame.getlocal(1).__getitem__(s$11).invoke("has_key", s$26)).__nonzero__() ? frame.getlocal(1).__getitem__(s$11).__getitem__(s$26)._ne(s$19) : t$2$PyObject).__nonzero__()) { + frame.setlocal(11, frame.getlocal(11)._add(s$62)._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$26))._add(s$33)); + } + frame.setlocal(11, frame.getlocal(11)._add(s$63)._add(frame.getglobal("str").__call__(frame.getlocal(1).__getitem__(s$11).__getitem__(s$44)))); + frame.getlocal(12).invoke("query", frame.getlocal(11)); + return s$70._add(frame.getlocal(28))._add(s$55); + } + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("Exception"))) { + frame.setlocal(29, t$0$PyException.value); + Py.println(s$71._add(frame.getglobal("str").__call__(frame.getlocal(29)))); + return s$72._add(frame.getglobal("str").__call__(frame.getlocal(29))); + } + else throw t$0$PyException; + } + return Py.None; + } + + private static PyObject update$2(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyException t$0$PyException; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(11, frame.getlocal(2).__getitem__(i$8)); + frame.setlocal(16, frame.getlocal(2).__getitem__(i$9)); + try { + frame.setlocal(7, frame.getglobal("check_exists_geni").__call__(frame.getlocal(1), frame.getlocal(2))); + if (frame.getlocal(7).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$73))); + } + frame.setlocal(4, frame.getlocal(7).__getitem__(s$10)); + frame.setlocal(13, frame.getlocal(7).__getitem__(s$44)); + frame.setlocal(17, frame.getlocal(1).__getitem__(s$11).__getitem__(s$13)); + if (((t$0$PyObject = frame.getlocal(4)._eq(s$15)).__nonzero__() ? frame.getlocal(13)._ne(i$9.__neg__()) : t$0$PyObject).__nonzero__()) { + frame.setlocal(9, frame.getglobal("shell").invoke("GetSites", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(13)}))); + if (frame.getlocal(9).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$73))); + } + frame.setlocal(12, frame.getlocal(1).__getitem__(s$27)); + frame.getglobal("shell").invoke("UpdateSite", new PyObject[] {frame.getglobal("pl_auth"), frame.getlocal(13), frame.getlocal(12)}); + } + else if (((t$0$PyObject = frame.getlocal(4)._eq(s$16)).__nonzero__() ? frame.getlocal(13)._ne(i$9.__neg__()) : t$0$PyObject).__nonzero__()) { + frame.setlocal(9, frame.getglobal("shell").invoke("GetSites", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(13)}))); + if (frame.getlocal(9).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$73))); + } + frame.setlocal(12, frame.getlocal(1).__getitem__(s$27)); + frame.getglobal("shell").invoke("UpdateSite", new PyObject[] {frame.getglobal("pl_auth"), frame.getlocal(13), frame.getlocal(12)}); + } + else if (frame.getlocal(4)._eq(s$37).__nonzero__()) { + frame.setlocal(9, frame.getglobal("shell").invoke("GetSlices", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(13)}))); + if (frame.getlocal(9).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$73))); + } + frame.setlocal(18, frame.getlocal(1).__getitem__(s$27)); + frame.getglobal("shell").invoke("UpdateSlice", new PyObject[] {frame.getglobal("pl_auth"), frame.getlocal(13), frame.getlocal(18)}); + t$0$int = 0; + t$1$PyObject = frame.getlocal(1).__getitem__(s$11).__getitem__(s$60); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(19, t$0$PyObject); + frame.setlocal(3, frame.getglobal("determine_dbinfo").__call__(frame.getglobal("get_authority").__call__(frame.getlocal(19)), frame.getlocal(0).__getattr__("tree"))); + if (frame.getlocal(3).__nonzero__()) { + frame.setlocal(6, new PyDictionary(new PyObject[] {s$11, new PyDictionary(new PyObject[] {s$13, frame.getlocal(19)}), s$27, new PyDictionary(new PyObject[] {})})); + frame.setlocal(5, frame.getlocal(0).invoke("lookup", frame.getlocal(6), frame.getlocal(3)).__getitem__(s$74).__getitem__(s$44)); + frame.setlocal(14, s$75._add(frame.getlocal(13))._add(s$76)._add(frame.getlocal(5))._add(s$77)); + frame.getlocal(11).invoke("query", frame.getlocal(14)); + } + } + } + else if (frame.getlocal(4)._eq(s$65).__nonzero__()) { + frame.setlocal(9, frame.getglobal("shell").invoke("GetPersons", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(13)}))); + if (frame.getlocal(9).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$73))); + } + frame.setlocal(8, frame.getlocal(1).__getitem__(s$27)); + frame.getglobal("shell").invoke("UpdatePerson", new PyObject[] {frame.getglobal("pl_auth"), frame.getlocal(13), frame.getlocal(8)}); + } + else if (frame.getlocal(4)._eq(s$69).__nonzero__()) { + frame.setlocal(9, frame.getglobal("shell").invoke("GetNodes", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(13)}))); + if (frame.getlocal(9).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$73))); + } + frame.setlocal(10, frame.getlocal(1).__getitem__(s$27)); + frame.getglobal("shell").invoke("UpdateNode", new PyObject[] {frame.getglobal("pl_auth"), frame.getlocal(13), frame.getlocal(10)}); + } + frame.getlocal(1).__getitem__(s$11).__setitem__(s$13, frame.getglobal("get_leaf").__call__(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))); + frame.setlocal(14, frame.getglobal("generate_querystr").__call__(s$78, frame.getlocal(16), frame.getlocal(1).__getitem__(s$11))); + frame.getlocal(11).invoke("query", frame.getlocal(14)); + return s$79._add(frame.getlocal(17))._add(s$80); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("Exception"))) { + frame.setlocal(15, t$0$PyException.value); + Py.println(s$81._add(frame.getglobal("str").__call__(frame.getlocal(15)))); + return s$82._add(frame.getglobal("str").__call__(frame.getlocal(15))); + } + else throw t$0$PyException; + } + } + + private static PyObject remove$3(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + PyObject t$0$PyObject; + + // Code + frame.setlocal(6, frame.getlocal(2).__getitem__(i$8)); + frame.setlocal(12, frame.getlocal(2).__getitem__(i$9)); + try { + frame.setlocal(13, frame.getlocal(1).__getitem__(s$11).__getitem__(s$13)); + frame.setlocal(9, frame.getglobal("get_leaf").__call__(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))); + frame.setlocal(4, frame.getglobal("check_exists_geni").__call__(frame.getlocal(1), frame.getlocal(2))); + if (frame.getlocal(4).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$73))); + } + frame.setlocal(3, frame.getlocal(4).__getitem__(s$10)); + frame.setlocal(7, frame.getlocal(4).__getitem__(s$44)); + if (((t$0$PyObject = frame.getlocal(3)._eq(s$15)).__nonzero__() ? t$0$PyObject : frame.getlocal(3)._eq(s$16)).__nonzero__()) { + frame.setlocal(5, frame.getglobal("None")); + if (frame.getlocal(3)._eq(s$15).__nonzero__()) { + frame.setlocal(5, frame.getlocal(0).__getattr__("sr_tree")); + } + else { + frame.setlocal(5, frame.getlocal(0).__getattr__("cr_tree")); + } + frame.setlocal(10, frame.getlocal(5).invoke("is_leaf", frame.getlocal(13))); + if (frame.getlocal(10)._eq(frame.getglobal("None")).__nonzero__()) { + return s$83; + } + else if (frame.getlocal(10)._eq(frame.getglobal("False")).__nonzero__()) { + return s$84; + } + frame.getlocal(5).invoke("tree_remove", frame.getlocal(13)); + if (frame.getlocal(3)._eq(s$15).__nonzero__()) { + frame.getlocal(0).invoke("save_state", s$52); + } + else { + frame.getlocal(0).invoke("save_state", s$53); + } + if (frame.getglobal("site_to_auth").__call__(frame.getlocal(7)).__not__().__nonzero__()) { + try { + frame.getglobal("shell").invoke("DeleteSite", frame.getglobal("pl_auth"), frame.getlocal(7)); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + i$9._eq(i$9); + } + } + } + else if (frame.getlocal(3)._eq(s$65).__nonzero__()) { + frame.getglobal("shell").invoke("DeletePerson", frame.getglobal("pl_auth"), frame.getlocal(7)); + } + else if (frame.getlocal(3)._eq(s$37).__nonzero__()) { + frame.getglobal("shell").invoke("DeleteSlice", frame.getglobal("pl_auth"), frame.getlocal(7)); + } + else if (frame.getlocal(3)._eq(s$69).__nonzero__()) { + frame.getglobal("shell").invoke("DeleteNode", frame.getglobal("pl_auth"), frame.getlocal(7)); + } + frame.setlocal(8, frame.getglobal("generate_querystr").__call__(s$85, frame.getlocal(12), frame.getlocal(1).__getitem__(s$11))); + frame.getlocal(6).invoke("query", frame.getlocal(8)); + return s$79._add(frame.getlocal(13))._add(s$86); + } + catch (Throwable x$1) { + t$0$PyException = Py.setException(x$1, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("Exception"))) { + frame.setlocal(11, t$0$PyException.value); + Py.println(s$87._add(frame.getglobal("str").__call__(frame.getlocal(11)))); + return s$88._add(frame.getglobal("str").__call__(frame.getlocal(11))); + } + else throw t$0$PyException; + } + } + + private static PyObject lookup$4(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + PyObject t$0$PyObject; + + // Code + frame.setlocal(4, frame.getlocal(2).__getitem__(i$8)); + frame.setlocal(8, frame.getlocal(2).__getitem__(i$9)); + try { + frame.setlocal(6, frame.getglobal("check_exists_geni").__call__(frame.getlocal(1), frame.getlocal(2))); + if (frame.getlocal(6).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$73))); + } + frame.setlocal(5, frame.getlocal(6).__getitem__(s$10)); + frame.setlocal(3, frame.getlocal(6).__getitem__(s$44)); + frame.setlocal(7, frame.getglobal("None")); + if (((t$0$PyObject = frame.getlocal(5)._eq(s$15)).__nonzero__() ? frame.getlocal(3)._ne(i$9.__neg__()) : t$0$PyObject).__nonzero__()) { + frame.setlocal(7, frame.getglobal("shell").invoke("GetSites", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(3)}))); + if (frame.getlocal(7).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$73))); + } + frame.setlocal(7, frame.getlocal(7).__getitem__(i$8)); + } + else if (((t$0$PyObject = frame.getlocal(5)._eq(s$16)).__nonzero__() ? frame.getlocal(3)._ne(i$9.__neg__()) : t$0$PyObject).__nonzero__()) { + frame.setlocal(7, frame.getglobal("shell").invoke("GetSites", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(3)}))); + if (frame.getlocal(7).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$73))); + } + frame.setlocal(7, frame.getlocal(7).__getitem__(i$8)); + } + else if (frame.getlocal(5)._eq(s$37).__nonzero__()) { + frame.setlocal(7, frame.getglobal("shell").invoke("GetSlices", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(3)}))); + if (frame.getlocal(7).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$73))); + } + frame.setlocal(7, frame.getlocal(7).__getitem__(i$8)); + } + else if (frame.getlocal(5)._eq(s$65).__nonzero__()) { + frame.setlocal(7, frame.getglobal("shell").invoke("GetPersons", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(3)}))); + if (frame.getlocal(7).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$73))); + } + frame.setlocal(7, frame.getlocal(7).__getitem__(i$8)); + } + else if (frame.getlocal(5)._eq(s$69).__nonzero__()) { + frame.setlocal(7, frame.getglobal("shell").invoke("GetNodes", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(3)}))); + if (frame.getlocal(7).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$13))._add(s$73))); + } + frame.setlocal(7, frame.getlocal(7).__getitem__(i$8)); + } + return frame.getglobal("str").__call__(new PyDictionary(new PyObject[] {s$89, frame.getlocal(7), s$74, frame.getlocal(6)})); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + return frame.getglobal("None"); + } + } + + private static PyObject list$5(PyFrame frame) { + frame.setlocal(3, i$9); + return Py.None; + } + + private static PyObject getCredential$6(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + PyObject t$0$PyObject; + + // Code + frame.setlocal(14, frame.getlocal(2).__getitem__(i$8)); + frame.setlocal(16, frame.getlocal(2).__getitem__(i$9)); + try { + frame.setlocal(19, frame.getglobal("None")); + if (frame.getlocal(1).__getitem__(s$11).__getitem__(s$90).invoke("split", s$24).__getitem__(i$8)._eq(s$91).__nonzero__()) { + frame.setlocal(25, frame.getlocal(14).invoke("query", s$92._add(frame.getlocal(16))._add(s$93)._add(frame.getglobal("get_leaf").__call__(frame.getlocal(4).__getitem__(i$8)))._add(s$94)).invoke("dictresult")); + if (frame.getlocal(25).__nonzero__()) { + frame.setlocal(25, frame.getlocal(25).__getitem__(i$8)); + } + else { + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(4).__getitem__(i$8))._add(s$73))); + } + frame.setlocal(26, frame.getlocal(25).__getitem__(s$10)); + frame.setlocal(15, frame.getlocal(25).__getitem__(s$44)); + frame.setlocal(12, frame.getlocal(25).__getitem__(s$26)); + frame.setlocal(23, frame.getglobal("None")); + if (((t$0$PyObject = frame.getlocal(26)._eq(s$15)).__nonzero__() ? frame.getlocal(15)._ne(i$9.__neg__()) : t$0$PyObject).__nonzero__()) { + frame.setlocal(23, frame.getglobal("shell").invoke("GetSites", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(15)}))); + if (frame.getlocal(23).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(4).__getitem__(i$8))._add(s$73))); + } + } + else if (((t$0$PyObject = frame.getlocal(26)._eq(s$16)).__nonzero__() ? frame.getlocal(15)._ne(i$9.__neg__()) : t$0$PyObject).__nonzero__()) { + frame.setlocal(23, frame.getglobal("shell").invoke("GetSites", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(15)}))); + if (frame.getlocal(23).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(4).__getitem__(i$8))._add(s$73))); + } + } + else if (frame.getlocal(26)._eq(s$65).__nonzero__()) { + frame.setlocal(23, frame.getglobal("shell").invoke("GetPersons", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(15)}))); + if (frame.getlocal(23).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(4).__getitem__(i$8))._add(s$73))); + } + frame.setlocal(23, frame.getglobal("shell").invoke("GetPersons", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(15)})).__getitem__(i$8)); + if (((t$0$PyObject = frame.getlocal(12)._eq(s$19)).__nonzero__() ? t$0$PyObject : frame.getlocal(12)._eq(frame.getglobal("None"))).__nonzero__()) { + if (s$95._in(frame.getlocal(23).__getitem__(s$96)).__nonzero__()) { + frame.setlocal(12, s$97._add(s$98)); + frame.setlocal(12, frame.getlocal(12)._add(s$67)._add(frame.getglobal("ROOT_AUTH"))._add(s$99)._add(frame.getglobal("ROOT_AUTH"))); + } + else if (s$100._in(frame.getlocal(23).__getitem__(s$96)).__nonzero__()) { + frame.setlocal(12, s$97._add(s$98)); + frame.setlocal(12, frame.getlocal(12)._add(s$67)._add(frame.getglobal("obtain_authority").__call__(frame.getlocal(4).__getitem__(i$8)))._add(s$99)._add(frame.getglobal("obtain_authority").__call__(frame.getlocal(4).__getitem__(i$8)))); + } + else if (s$65._in(frame.getlocal(23).__getitem__(s$96)).__nonzero__()) { + frame.setlocal(12, s$66); + frame.setlocal(12, frame.getlocal(12)._add(s$67)._add(frame.getglobal("obtain_authority").__call__(frame.getlocal(4).__getitem__(i$8)))); + } + } + } + else if (frame.getlocal(26)._eq(s$69).__nonzero__()) { + frame.setlocal(23, frame.getglobal("shell").invoke("GetNodes", frame.getglobal("pl_auth"), new PyList(new PyObject[] {frame.getlocal(15)}))); + if (frame.getlocal(23).__not__().__nonzero__()) { + frame.getlocal(0).invoke("remove", frame.getlocal(1), frame.getlocal(2)); + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(4).__getitem__(i$8))._add(s$73))); + } + } + frame.setlocal(7, s$101); + frame.setlocal(5, frame.getlocal(4).__getitem__(i$9)); + frame.setlocal(19, frame.getglobal("create_cred").__call__(new PyObject[] {frame.getlocal(3).__getitem__(i$8), frame.getlocal(3).__getitem__(i$9), frame.getlocal(5).invoke("get_pubkey"), frame.getlocal(7), frame.getlocal(12)})); + } + else { + frame.setlocal(9, frame.getlocal(1).__getitem__(s$11).__getitem__(s$90).invoke("split", s$24)); + if (frame.getlocal(9).__getitem__(i$8)._eq(s$37).__nonzero__()) { + frame.setlocal(20, new PyDictionary(new PyObject[] {s$11, new PyDictionary(new PyObject[] {s$13, frame.getlocal(9).__getitem__(i$9)}), s$27, new PyDictionary(new PyObject[] {})})); + frame.setlocal(10, frame.getlocal(0).invoke("lookup", frame.getlocal(20), frame.getlocal(2))); + frame.setlocal(8, frame.getglobal("False")); + frame.setlocal(22, frame.getlocal(10).__getitem__(s$27).__getitem__(s$102)); + frame.setlocal(11, frame.getglobal("time").__getattr__("strptime").__call__(frame.getlocal(10).__getitem__(s$27).__getitem__(s$103), frame.getglobal("PL_DATETIME_FORMAT"))); + frame.setlocal(11, frame.getglobal("datetime").__getattr__("timedelta").__call__(new PyObject[] {frame.getglobal("calendar").__getattr__("timegm").__call__(frame.getlocal(11))}, new String[] {"seconds"})); + if (((t$0$PyObject = frame.getlocal(10)).__nonzero__() ? frame.getlocal(22)._eq(s$104) : t$0$PyObject).__nonzero__()) { + frame.setlocal(6, frame.getglobal("determine_dbinfo").__call__(frame.getglobal("get_authority").__call__(frame.getlocal(4).__getitem__(i$8)), frame.getlocal(0).__getattr__("tree"))); + if (frame.getlocal(6).__nonzero__()) { + frame.setlocal(21, new PyDictionary(new PyObject[] {s$11, new PyDictionary(new PyObject[] {s$13, frame.getlocal(4).__getitem__(i$8)}), s$27, new PyDictionary(new PyObject[] {})})); + frame.setlocal(18, frame.getlocal(0).invoke("lookup", frame.getlocal(21), frame.getlocal(6)).__getitem__(s$74).__getitem__(s$44)); + frame.setlocal(13, s$105._add(frame.getlocal(18))._add(s$106)._add(frame.getlocal(10).__getitem__(s$74).__getitem__(s$44))); + frame.setlocal(17, frame.getlocal(14).invoke("query", frame.getlocal(13)).invoke("dictresult")); + if (frame.getlocal(17).__nonzero__()) { + frame.setlocal(8, frame.getglobal("True")); + } + } + if (frame.getlocal(8).__nonzero__()) { + frame.setlocal(12, s$19); + if (((t$0$PyObject = frame.getlocal(10).__getitem__(s$74).__getitem__(s$26)._ne(s$19)).__nonzero__() ? t$0$PyObject : frame.getlocal(10).__getitem__(s$74).__getitem__(s$26)._ne(frame.getglobal("None"))).__nonzero__()) { + frame.setlocal(12, frame.getlocal(10).__getitem__(s$74).__getitem__(s$26)); + } + else { + frame.setlocal(12, s$107); + frame.setlocal(12, frame.getlocal(12)._add(s$108)); + } + frame.setlocal(7, frame.getlocal(10).__getitem__(s$74).__getitem__(s$13)); + frame.setlocal(24, frame.getglobal("datetime").__getattr__("timedelta").__call__(new PyObject[] {frame.getglobal("time").__getattr__("time").__call__()}, new String[] {"seconds"})); + if (frame.getlocal(11)._sub(frame.getlocal(24))._gt(frame.getglobal("CRED_GRANT_TIME")).__nonzero__()) { + frame.setlocal(5, frame.getglobal("crypto").invoke("load_certificate", frame.getglobal("crypto").__getattr__("FILETYPE_PEM"), frame.getlocal(4).__getitem__(i$9))); + frame.setlocal(19, frame.getglobal("create_cred").__call__(new PyObject[] {frame.getlocal(3).__getitem__(i$8), frame.getlocal(3).__getitem__(i$9), frame.getlocal(5).invoke("get_pubkey"), frame.getlocal(7), frame.getlocal(12)})); + } + } + } + } + else { + throw Py.makeException(frame.getglobal("NonexistingCredType").__call__(s$109._add(frame.getlocal(9).__getitem__(i$8))._add(s$73))); + } + } + if (frame.getlocal(19)._eq(frame.getglobal("None")).__nonzero__()) { + return frame.getlocal(19); + } + else { + return frame.getglobal("crypto").invoke("dump_certificate", frame.getglobal("crypto").__getattr__("FILETYPE_PEM"), frame.getlocal(19))._add(frame.getlocal(3).__getitem__(i$110)); + } + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + return frame.getglobal("None"); + } + } + + private static PyObject getAccounting$7(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + + // Code + frame.setlocal(6, frame.getlocal(2).__getitem__(i$8)); + frame.setlocal(11, frame.getlocal(2).__getitem__(i$9)); + try { + frame.setlocal(9, frame.getglobal("None")); + frame.setlocal(8, new PyDictionary(new PyObject[] {s$11, new PyDictionary(new PyObject[] {s$13, frame.getlocal(1).__getitem__(s$11).__getitem__(s$111)}), s$27, new PyDictionary(new PyObject[] {})})); + frame.setlocal(10, frame.getglobal("eval").__call__(frame.getlocal(0).invoke("lookup", frame.getlocal(8), frame.getlocal(2)))); + if (frame.getlocal(10).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("NonexistingRecord").__call__(s$12._add(frame.getlocal(1).__getitem__(s$11).__getitem__(s$111))._add(s$73))); + } + if (frame.getlocal(10).__getitem__(s$74).__getitem__(s$43)._eq(frame.getlocal(4).invoke("get_pubkey").__getattr__("as_pem").__call__(new PyObject[] {frame.getglobal("None")}, new String[] {"cipher"})).__nonzero__()) { + frame.setlocal(7, frame.getglobal("crypto").invoke("load_certificate", frame.getglobal("crypto").__getattr__("FILETYPE_PEM"), frame.getlocal(4).invoke("as_pem"))); + frame.setlocal(5, i$8); + if (frame.getlocal(10).__getitem__(s$89).__not__().__nonzero__()) { + frame.setlocal(5, frame.getlocal(10).__getitem__(s$74).__getitem__(s$112)); + } + else { + frame.setlocal(5, frame.getlocal(10).__getitem__(s$89).__getitem__(s$112)); + } + frame.setlocal(9, frame.getglobal("create_acc").__call__(new PyObject[] {frame.getlocal(3).__getitem__(i$8), frame.getlocal(3).__getitem__(i$9), frame.getlocal(7).invoke("get_pubkey"), frame.getlocal(1).__getitem__(s$11).__getitem__(s$111), frame.getlocal(5)})); + } + if (frame.getlocal(9)._eq(frame.getglobal("None")).__nonzero__()) { + return frame.getlocal(9); + } + else { + return frame.getglobal("crypto").invoke("dump_certificate", frame.getglobal("crypto").__getattr__("FILETYPE_PEM"), frame.getlocal(9))._add(frame.getlocal(3).__getitem__(i$113)); + } + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + return frame.getglobal("None"); + } + } + + private static PyObject __init__$8(PyFrame frame) { + frame.getlocal(0).__setattr__("sr_tree_file", frame.getglobal("SR_FILE")); + frame.getlocal(0).__setattr__("cr_tree_file", frame.getglobal("CR_FILE")); + frame.getlocal(0).__setattr__("sr_tree", frame.getglobal("None")); + frame.getlocal(0).__setattr__("cr_tree", frame.getglobal("None")); + frame.getlocal(0).invoke("construct_hierarchy"); + frame.getglobal("set_tree_globals").__call__(frame.getlocal(0).__getattr__("sr_tree"), frame.getlocal(0).__getattr__("cr_tree")); + frame.getlocal(0).__setattr__("sec", frame.getglobal("None")); + frame.getlocal(0).invoke("sec_init"); + frame.getlocal(0).__setattr__("functionList", new PyDictionary(new PyObject[] {s$114, frame.getlocal(0).__getattr__("register"), s$115, frame.getlocal(0).__getattr__("remove"), s$116, frame.getlocal(0).__getattr__("update"), s$117, frame.getlocal(0).__getattr__("lookup"), s$118, frame.getlocal(0).__getattr__("list"), s$119, frame.getlocal(0).__getattr__("getCredential"), s$120, frame.getlocal(0).__getattr__("getAccounting")})); + frame.getglobal("SSL").__getattr__("SSLServer").__getattr__("__init__").__call__(new PyObject[] {frame.getlocal(0), frame.getlocal(1), frame.getlocal(2), frame.getlocal(0).__getattr__("sec").__getattr__("ctx")}); + return Py.None; + } + + private static PyObject construct_hierarchy$9(PyFrame frame) { + frame.getlocal(0).__setattr__("sr_tree", frame.getglobal("InterfaceTree").__call__(s$37, frame.getlocal(0).__getattr__("sr_tree_file"), new PyTuple(new PyObject[] {frame.getglobal("AUTH_HOST"), frame.getglobal("AUTH_PORT")}))); + frame.getlocal(0).__setattr__("cr_tree", frame.getglobal("InterfaceTree").__call__(s$38, frame.getlocal(0).__getattr__("cr_tree_file"), new PyTuple(new PyObject[] {frame.getglobal("AUTH_HOST"), frame.getglobal("AUTH_PORT")}))); + return Py.None; + } + + private static PyObject sec_init$10(PyFrame frame) { + frame.setlocal(4, frame.getlocal(0).__getattr__("sr_tree").__getattr__("my_tree").__getattr__("info").__getattr__("node_data").__getitem__(s$50)); + frame.setlocal(3, frame.getlocal(4).__getattr__("folder")._add(s$39)._add(frame.getlocal(4).__getattr__("id_file"))); + frame.setlocal(1, frame.getlocal(4).__getattr__("folder")._add(s$39)._add(frame.getlocal(4).__getattr__("id_key_file"))); + frame.setlocal(2, frame.getlocal(4).__getattr__("folder")._add(s$39)._add(frame.getlocal(4).__getattr__("acc_file"))); + frame.setlocal(5, frame.getlocal(4).__getattr__("folder")._add(s$39)._add(frame.getlocal(4).__getattr__("cred_file"))); + frame.getlocal(0).__setattr__("sec", frame.getglobal("Sec").__call__(new PyObject[] {s$121, frame.getlocal(3), frame.getlocal(1), frame.getlocal(2), frame.getlocal(5)})); + frame.getglobal("renew_cert").__call__(new PyObject[] {s$122, frame.getlocal(4).__getattr__("folder"), s$37, frame.getlocal(0).__getattr__("sr_tree").__getattr__("my_tree").__getattr__("info").__getattr__("name"), frame.getglobal("None"), frame.getglobal("None"), new PyTuple(new PyObject[] {frame.getglobal("AUTH_HOST"), frame.getglobal("AUTH_PORT")}), frame.getlocal(0).__getattr__("sec")}); + frame.getglobal("renew_cert").__call__(new PyObject[] {s$123, frame.getlocal(4).__getattr__("folder"), s$37, frame.getlocal(0).__getattr__("sr_tree").__getattr__("my_tree").__getattr__("info").__getattr__("name"), frame.getglobal("None"), frame.getglobal("None"), new PyTuple(new PyObject[] {frame.getglobal("AUTH_HOST"), frame.getglobal("AUTH_PORT")}), frame.getlocal(0).__getattr__("sec")}); + return Py.None; + } + + private static PyObject save_state$11(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + if (((t$0$PyObject = frame.getlocal(1)._eq(s$52)).__nonzero__() ? t$0$PyObject : frame.getlocal(1)._eq(s$124)).__nonzero__()) { + frame.getlocal(0).__getattr__("sr_tree").invoke("save_tree"); + } + if (((t$0$PyObject = frame.getlocal(1)._eq(s$53)).__nonzero__() ? t$0$PyObject : frame.getlocal(1)._eq(s$124)).__nonzero__()) { + frame.getlocal(0).__getattr__("cr_tree").invoke("save_tree"); + } + return Py.None; + } + + private static PyObject GENIServer$12(PyFrame frame) { + frame.setlocal("register", new PyFunction(frame.f_globals, new PyObject[] {}, c$0_register)); + frame.setlocal("update", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_update)); + frame.setlocal("remove", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_remove)); + frame.setlocal("lookup", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_lookup)); + frame.setlocal("list", new PyFunction(frame.f_globals, new PyObject[] {}, c$4_list)); + frame.setlocal("getCredential", new PyFunction(frame.f_globals, new PyObject[] {}, c$5_getCredential)); + frame.setlocal("getAccounting", new PyFunction(frame.f_globals, new PyObject[] {}, c$6_getAccounting)); + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$7___init__)); + frame.setlocal("construct_hierarchy", new PyFunction(frame.f_globals, new PyObject[] {}, c$8_construct_hierarchy)); + frame.setlocal("sec_init", new PyFunction(frame.f_globals, new PyObject[] {}, c$9_sec_init)); + frame.setlocal("save_state", new PyFunction(frame.f_globals, new PyObject[] {s$124}, c$10_save_state)); + return frame.getf_locals(); + } + + private static PyObject handle$13(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject, t$3$PyObject; + + // Code + try { + frame.setlocal(6, frame.getglobal("server").__getattr__("sec").invoke("auth_protocol", frame.getlocal(0).__getattr__("request"))); + if (frame.getlocal(6).__not__().__nonzero__()) { + return Py.None; + } + frame.setlocal(9, frame.getglobal("msg_to_params").__call__(frame.getlocal(0).__getattr__("request").invoke("read"))); + frame.setlocal(11, frame.getlocal(9).__getitem__(s$11).__getitem__(s$13)); + frame.setlocal(10, frame.getlocal(9).__getitem__(s$125)); + frame.setlocal(4, s$19); + if (((t$0$PyObject = ((t$1$PyObject = ((t$2$PyObject = frame.getlocal(10)._eq(s$114)).__nonzero__() ? t$2$PyObject : frame.getlocal(10)._eq(s$115))).__nonzero__() ? t$1$PyObject : frame.getlocal(10)._eq(s$116))).__nonzero__() ? t$0$PyObject : frame.getlocal(10)._eq(s$117)).__nonzero__()) { + frame.setlocal(4, frame.getglobal("obtain_authority").__call__(frame.getlocal(11))); + } + else if (((t$0$PyObject = ((t$1$PyObject = frame.getlocal(10)._eq(s$118)).__nonzero__() ? t$1$PyObject : frame.getlocal(10)._eq(s$119))).__nonzero__() ? t$0$PyObject : frame.getlocal(10)._eq(s$120)).__nonzero__()) { + frame.setlocal(4, frame.getlocal(11)); + } + frame.setlocal(12, s$19); + if (((t$0$PyObject = ((t$1$PyObject = ((t$2$PyObject = ((t$3$PyObject = frame.getlocal(10)._eq(s$114)).__nonzero__() ? t$3$PyObject : frame.getlocal(10)._eq(s$115))).__nonzero__() ? t$2$PyObject : frame.getlocal(10)._eq(s$116))).__nonzero__() ? t$1$PyObject : frame.getlocal(10)._eq(s$117))).__nonzero__() ? t$0$PyObject : frame.getlocal(10)._eq(s$118)).__nonzero__()) { + frame.setlocal(1, frame.getlocal(9).__getitem__(s$11).__getitem__(s$10)); + if (((t$0$PyObject = ((t$1$PyObject = frame.getlocal(1)._eq(s$37)).__nonzero__() ? t$1$PyObject : frame.getlocal(1)._eq(s$65))).__nonzero__() ? t$0$PyObject : frame.getlocal(1)._eq(s$15)).__nonzero__()) { + frame.setlocal(12, s$37); + } + else { + frame.setlocal(12, s$38); + } + } + else if (frame.getlocal(10)._eq(s$119).__nonzero__()) { + if (frame.getlocal(9).__getitem__(s$11).__getitem__(s$90).invoke("split", s$24).__getitem__(i$9)._eq(s$20).__nonzero__()) { + frame.setlocal(12, s$37); + } + else { + frame.setlocal(12, s$38); + } + } + else if (frame.getlocal(10)._eq(s$120).__nonzero__()) { + frame.setlocal(12, frame.getlocal(9).__getitem__(s$11).__getitem__(s$91)); + } + frame.setlocal(8, frame.getglobal("None")); + if (frame.getlocal(12)._eq(s$37).__nonzero__()) { + frame.setlocal(8, frame.getglobal("server").__getattr__("sr_tree")); + } + else { + frame.setlocal(8, frame.getglobal("server").__getattr__("cr_tree")); + } + frame.setlocal(7, frame.getglobal("determine_dbinfo").__call__(frame.getlocal(4), frame.getlocal(8))); + frame.setlocal(15, frame.getglobal("None")); + if (frame.getlocal(10)._eq(s$120).__nonzero__()) { + frame.setlocal(15, frame.getlocal(8).invoke("determine_keyinfo", new PyObject[] {frame.getlocal(4), frame.getglobal("server"), s$122})); + } + else if (frame.getlocal(10)._eq(s$119).__nonzero__()) { + frame.setlocal(15, frame.getlocal(8).invoke("determine_keyinfo", new PyObject[] {frame.getlocal(4), frame.getglobal("server"), s$123})); + } + if (frame.getlocal(7)._eq(frame.getglobal("None")).__nonzero__()) { + frame.getlocal(0).__getattr__("request").invoke("write", s$126); + return Py.None; + } + if (frame.getglobal("server").__getattr__("functionList").invoke("has_key", frame.getlocal(9).__getitem__(s$125)).__not__().__nonzero__()) { + frame.getlocal(0).__getattr__("request").invoke("write", s$127); + return Py.None; + } + if (frame.getglobal("server").__getattr__("sec").invoke("check_authorization", new PyObject[] {frame.getlocal(6).__getattr__("acc"), frame.getlocal(6).__getattr__("cred"), frame.getlocal(9)}).__not__().__nonzero__()) { + frame.getlocal(0).__getattr__("request").invoke("write", s$128); + return Py.None; + } + frame.setlocal(2, frame.getglobal("server").__getattr__("functionList").__getitem__(frame.getlocal(9).__getitem__(s$125))); + frame.setlocal(14, new PyDictionary(new PyObject[] {s$11, frame.getlocal(9).__getitem__(s$11), s$27, frame.getlocal(9).__getitem__(s$27)})); + frame.setlocal(5, frame.getglobal("None")); + if (frame.getlocal(2)._eq(frame.getglobal("server").__getattr__("getAccounting")).__nonzero__()) { + frame.setlocal(5, frame.getlocal(2).__call__(new PyObject[] {frame.getlocal(14), frame.getlocal(7), frame.getlocal(15), frame.getlocal(6).__getattr__("cert")})); + } + else if (frame.getlocal(2)._eq(frame.getglobal("server").__getattr__("getCredential")).__nonzero__()) { + frame.setlocal(3, new PyList(new PyObject[] {frame.getlocal(6).__getattr__("acc").invoke("get_hrn"), frame.getglobal("crypto").invoke("load_certificate", frame.getglobal("crypto").__getattr__("FILETYPE_PEM"), frame.getlocal(6).__getattr__("cert").invoke("as_pem"))})); + frame.setlocal(5, frame.getlocal(2).__call__(new PyObject[] {frame.getlocal(14), frame.getlocal(7), frame.getlocal(15), frame.getlocal(3)})); + } + else if (((t$0$PyObject = ((t$1$PyObject = frame.getlocal(2)._eq(frame.getglobal("server").__getattr__("register"))).__nonzero__() ? t$1$PyObject : frame.getlocal(2)._eq(frame.getglobal("server").__getattr__("update")))).__nonzero__() ? t$0$PyObject : frame.getlocal(2)._eq(frame.getglobal("server").__getattr__("remove"))).__nonzero__()) { + frame.setlocal(5, frame.getglobal("str").__call__(new PyDictionary(new PyObject[] {s$129, frame.getlocal(2).__call__(frame.getlocal(14), frame.getlocal(7))}))); + } + else { + frame.setlocal(5, frame.getlocal(2).__call__(frame.getlocal(14), frame.getlocal(7))); + if (frame.getlocal(5).__not__().__nonzero__()) { + frame.getlocal(0).__getattr__("request").invoke("write", frame.getglobal("str").__call__(new PyDictionary(new PyObject[] {s$129, s$130}))); + } + } + frame.getlocal(0).__getattr__("request").invoke("write", frame.getlocal(5)); + return Py.None; + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("Exception"))) { + frame.setlocal(13, t$0$PyException.value); + Py.println(s$131._add(frame.getglobal("str").__call__(frame.getlocal(13)))); + return Py.None; + } + else throw t$0$PyException; + } + } + + private static PyObject handle_connection$14(PyFrame frame) { + frame.setlocal("handle", new PyFunction(frame.f_globals, new PyObject[] {}, c$12_handle)); + return frame.getf_locals(); + } + + private static PyObject main$15(PyFrame frame) { + frame.getglobal("server").invoke("save_state"); + frame.getglobal("server").invoke("serve_forever"); + return Py.None; + } + + private static PyObject main$16(PyFrame frame) { + frame.setglobal("__file__", s$133); + + PyObject[] imp_accu; + // Code + frame.setlocal("LISTEN_HOST", s$0); + frame.setlocal("LISTEN_PORT", i$1); + frame.setlocal("SR_FILE", s$2); + frame.setlocal("CR_FILE", s$3); + frame.setlocal("AUTH_HOST", s$0); + frame.setlocal("AUTH_PORT", i$1); + frame.setlocal("SocketServer", org.python.core.imp.importOne("SocketServer", frame)); + frame.setlocal("socket", org.python.core.imp.importOne("socket", frame)); + frame.setlocal("os", org.python.core.imp.importOne("os", frame)); + frame.setlocal("sys", org.python.core.imp.importOne("sys", frame)); + imp_accu = org.python.core.imp.importFrom("M2Crypto", new String[] {"SSL"}, frame); + frame.setlocal("SSL", imp_accu[0]); + imp_accu = null; + imp_accu = org.python.core.imp.importFrom("M2Crypto.SSL", new String[] {"SSLError"}, frame); + frame.setlocal("SSLError", imp_accu[0]); + imp_accu = null; + imp_accu = org.python.core.imp.importFrom("M2Crypto", new String[] {"X509"}, frame); + frame.setlocal("X509", imp_accu[0]); + imp_accu = null; + imp_accu = org.python.core.imp.importFrom("pg", new String[] {"DB"}, frame); + frame.setlocal("DB", imp_accu[0]); + imp_accu = null; + frame.getname("sys").__getattr__("path").__getattr__("append").__call__(s$4); + frame.getname("sys").__getattr__("path").__getattr__("append").__call__(s$5); + frame.getname("sys").__getattr__("path").__getattr__("append").__call__(s$6); + frame.getname("sys").__getattr__("path").__getattr__("append").__call__(s$7); + org.python.core.imp.importAll("util", frame); + org.python.core.imp.importAll("tree", frame); + org.python.core.imp.importAll("excep", frame); + org.python.core.imp.importAll("sec", frame); + org.python.core.imp.importAll("db", frame); + org.python.core.imp.importAll("pl_to_geni", frame); + frame.setlocal("time", org.python.core.imp.importOne("time", frame)); + frame.setlocal("datetime", org.python.core.imp.importOne("datetime", frame)); + frame.setlocal("calendar", org.python.core.imp.importOne("calendar", frame)); + imp_accu = org.python.core.imp.importFrom("PLC.Shell", new String[] {"Shell"}, frame); + frame.setlocal("Shell", imp_accu[0]); + imp_accu = null; + frame.setlocal("shell", frame.getname("Shell").__call__(new PyObject[] {frame.getname("globals").__call__()}, new String[] {"globals"})); + frame.setlocal("GENIServer", Py.makeClass("GENIServer", new PyObject[] {frame.getname("SSL").__getattr__("SSLServer")}, c$11_GENIServer, null)); + frame.setlocal("handle_connection", Py.makeClass("handle_connection", new PyObject[] {frame.getname("SocketServer").__getattr__("BaseRequestHandler")}, c$13_handle_connection, null)); + frame.setlocal("server", frame.getname("GENIServer").__call__(new PyTuple(new PyObject[] {frame.getname("LISTEN_HOST"), frame.getname("LISTEN_PORT")}), frame.getname("handle_connection"))); + frame.setlocal("main", new PyFunction(frame.f_globals, new PyObject[] {}, c$14_main)); + if (frame.getname("__name__")._eq(s$132).__nonzero__()) { + frame.getname("main").__call__(); + } + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("server")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "server"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(server._PyInner.class, newargs, server.jpy$packages, server.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/socket$_PyInner.class b/server/jpywork/socket$_PyInner.class new file mode 100644 index 0000000000000000000000000000000000000000..2e2de5795a860f10b0dff192fc5727543f0fd89d GIT binary patch literal 20861 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 Ee`&g5#Q*>R literal 0 HcmV?d00001 diff --git a/server/jpywork/socket.class b/server/jpywork/socket.class new file mode 100644 index 0000000000000000000000000000000000000000..7ac76d46c8111e4f655dc52e73b6fd05007f73fa GIT binary patch literal 2485 zcma)8X>-$76g`Ta=*2kOW2dYol*FMAvs# zzVFk|zzku^lz!|?|3mvzIz3Nvuv6SlGm|U5_wM%2J@?AL|Ml}V0BQVaqRBu@$+OR> zz(m|Y=d^X!>MvOCRR7_LX=Minsk+SIfQR;ko|n}M!6AA@?6E?P4cH^{5Nu?>h_cENF-V7Gx-Pw%*a z_@FnbOmr^DGm0)C4J<2Gg1qOZXS~UBL6y=IWv380uD}ulo7AkWih<*~r5&C>m9DDV zp0CoiqgK#M63u84SYcp8Rm+PE)1|z3?jR95aNU={D&`gVWu;A5Ct+&SwM<^)lXg`g zu%6cnR~lD=n+^z+QLOSa0==3PEq^rNkX87wj++KM$0o3%0FUF z6ch`%D?}-Q7`7ylLYsm12!j2N9Sjpe18aIl7_&dRPrtr(|5zm|@y_0H0hUALa;`O_ zayb*X8(49p`aIH232eo79qCR3OMB|7SY<-*cmj80hlzU{`ia6Ou@k!tEXw6dEO(%0 zaybM24ZQtV;wDIrj)=hBxv|Qy>ncBi0c_FY-X!*6kjPG{;1C&XU{z0V19zHMI}zJcSWMcMiZmD z3$OR^^^*j~@Q{fI7j{miMA(za;0PIN`My=Ly<){cs=f--?$ z$pgOcvDy}F6B7$AekAXE=X7@@F$soCXa=ZKi6h9s5|W_ivl={slh`hhH^4TV)>AQ@ zY61nm`<6TD%?Pjzaov*wMIsjXmaQf@*aUnMx#X*y?adUOf)ZfMwOE0gb=d!BIlp)) zFw4G1$3WV>zz6!Wd0$zRobv)7@qqbLVAnft;u{0&Yvm53j(R~vp!qpYhGe|5Z>u3zPuDU8GOf)B zYdBRxL;V30^K%9pNd6eVq;XP)pA5bUJ^#ZeXLa~wXHaVq-y^*w+PH4#DxjVI8*Bar z9od-d%4Fkmapn@1nhQ3v&2o7r+ag!;=%&s@bhakL?RA-~DK})Yoh@=BrI4GbviSmi z8tA2zVT3rknB5lUbC}t(yRT=khAZ+N&8a!`)y!JL%@~{dR{ltclHE%eT6KL&_Fu); ztlTz-J1*m{s~E`6Vb5jkO{K12|FN2vb`4Ez03EU2SQpzvZwK)JnlM5yar!!>K``36 z-^86iQ`h3Bc(swfnB100#roo@YgcgiB93N%!|G%5*cCjSy@aDbq2nq}9?xCIsX3hf zweKP}U&K;5)wwFd#nB+1(csKz%sh?IW0|awr4Xhvr76#aU{xqv<>QnIhRk*@l21}5 z<$Au`8;KZe37zKzD(IAU!|1tb;`x^P0A(mZOWzcUCL$heahwXL&_EMW6G8C z)65loeu4L0i;aZ-Yrg5yEF+$X?SqI7qAj)`%VG!cM{I~#e9O}&e24G()YKW^{|{*W E8}jOZ6#xJL literal 0 HcmV?d00001 diff --git a/server/jpywork/socket.java b/server/jpywork/socket.java new file mode 100644 index 00000000..4e66491c --- /dev/null +++ b/server/jpywork/socket.java @@ -0,0 +1,840 @@ +import org.python.core.*; + +public class socket extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject s$8; + private static PyObject s$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyObject s$13; + private static PyObject i$14; + private static PyObject i$15; + private static PyObject i$16; + private static PyObject i$17; + private static PyObject i$18; + private static PyObject i$19; + private static PyObject s$20; + private static PyObject s$21; + private static PyObject i$22; + private static PyObject s$23; + private static PyObject s$24; + private static PyObject s$25; + private static PyObject i$26; + private static PyObject s$27; + private static PyObject s$28; + private static PyObject s$29; + private static PyObject s$30; + private static PyObject s$31; + private static PyObject i$32; + private static PyObject s$33; + private static PyObject i$34; + private static PyObject s$35; + private static PyObject s$36; + private static PyFunctionTable funcTable; + private static PyCode c$0__gethostbyaddr; + private static PyCode c$1_getfqdn; + private static PyCode c$2_gethostname; + private static PyCode c$3_gethostbyname; + private static PyCode c$4_gethostbyaddr; + private static PyCode c$5_socket; + private static PyCode c$6_bind; + private static PyCode c$7_listen; + private static PyCode c$8_accept; + private static PyCode c$9_connect; + private static PyCode c$10__setup; + private static PyCode c$11_recv; + private static PyCode c$12_send; + private static PyCode c$13_getsockname; + private static PyCode c$14_getpeername; + private static PyCode c$15_setsockopt; + private static PyCode c$16_getsockopt; + private static PyCode c$17_makefile; + private static PyCode c$18___init__; + private static PyCode c$19_close; + private static PyCode c$20_FileWrapper; + private static PyCode c$21_shutdown; + private static PyCode c$22_close; + private static PyCode c$23__tcpsocket; + private static PyCode c$24___init__; + private static PyCode c$25_bind; + private static PyCode c$26_connect; + private static PyCode c$27_sendto; + private static PyCode c$28_send; + private static PyCode c$29_recvfrom; + private static PyCode c$30_recv; + private static PyCode c$31_getsockname; + private static PyCode c$32_getpeername; + private static PyCode c$33___del__; + private static PyCode c$34_close; + private static PyCode c$35__udpsocket; + private static PyCode c$36_test; + private static PyCode c$37_main; + private static void initConstants() { + s$0 = Py.newString("Preliminary socket module.\012\012XXX Restrictions:\012\012- Only INET sockets\012- No asynchronous behavior\012- No socket options\012- Can't do a very good gethostbyaddr() right...\012\012"); + s$1 = Py.newString("AF_INET"); + s$2 = Py.newString("SOCK_DGRAM"); + s$3 = Py.newString("SOCK_RAW"); + s$4 = Py.newString("SOCK_RDM"); + s$5 = Py.newString("SOCK_SEQPACKET"); + s$6 = Py.newString("SOCK_STREAM"); + s$7 = Py.newString("SocketType"); + s$8 = Py.newString("error"); + s$9 = Py.newString("getfqdn"); + s$10 = Py.newString("gethostbyaddr"); + s$11 = Py.newString("gethostbyname"); + s$12 = Py.newString("gethostname"); + s$13 = Py.newString("socket"); + i$14 = Py.newInteger(2); + i$15 = Py.newInteger(1); + i$16 = Py.newInteger(3); + i$17 = Py.newInteger(4); + i$18 = Py.newInteger(5); + i$19 = Py.newInteger(65535); + s$20 = Py.newString("\012 Return a fully qualified domain name for name. If name is omitted or empty\012 it is interpreted as the local host. To find the fully qualified name,\012 the hostname returned by gethostbyaddr() is checked, then aliases for the\012 host, if available. The first name which includes a period is selected.\012 In case no fully qualified domain name is available, the hostname is retur\012 New in version 2.0.\012 "); + s$21 = Py.newString("."); + i$22 = Py.newInteger(0); + s$23 = Py.newString("This signifies a server socket"); + s$24 = Py.newString(""); + s$25 = Py.newString("setReuseAddress"); + i$26 = Py.newInteger(50); + s$27 = Py.newString("This signifies a client socket"); + s$28 = Py.newString("b"); + s$29 = Py.newString(""); + s$30 = Py.newString("both istream and ostream have been shut down"); + s$31 = Py.newString("r"); + i$32 = Py.newInteger(80); + s$33 = Py.newString("GET / HTTP/1.0\015\012\015\012"); + i$34 = Py.newInteger(2000); + s$35 = Py.newString("__main__"); + s$36 = Py.newString("/usr/share/jython/Lib/socket.py"); + funcTable = new _PyInner(); + c$0__gethostbyaddr = Py.newCode(1, new String[] {"name", "addrs", "names", "addresses", "addr"}, "/usr/share/jython/Lib/socket.py", "_gethostbyaddr", false, false, funcTable, 0, null, null, 0, 1); + c$1_getfqdn = Py.newCode(1, new String[] {"name", "a", "addrs", "names"}, "/usr/share/jython/Lib/socket.py", "getfqdn", false, false, funcTable, 1, null, null, 0, 1); + c$2_gethostname = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/socket.py", "gethostname", false, false, funcTable, 2, null, null, 0, 1); + c$3_gethostbyname = Py.newCode(1, new String[] {"name"}, "/usr/share/jython/Lib/socket.py", "gethostbyname", false, false, funcTable, 3, null, null, 0, 1); + c$4_gethostbyaddr = Py.newCode(1, new String[] {"name", "addrs", "names"}, "/usr/share/jython/Lib/socket.py", "gethostbyaddr", false, false, funcTable, 4, null, null, 0, 1); + c$5_socket = Py.newCode(3, new String[] {"family", "type", "flags"}, "/usr/share/jython/Lib/socket.py", "socket", false, false, funcTable, 5, null, null, 0, 1); + c$6_bind = Py.newCode(3, new String[] {"self", "addr", "port", "host"}, "/usr/share/jython/Lib/socket.py", "bind", false, false, funcTable, 6, null, null, 0, 1); + c$7_listen = Py.newCode(2, new String[] {"self", "backlog", "a", "port", "host"}, "/usr/share/jython/Lib/socket.py", "listen", false, false, funcTable, 7, null, null, 0, 1); + c$8_accept = Py.newCode(1, new String[] {"self", "port", "sock", "conn", "host"}, "/usr/share/jython/Lib/socket.py", "accept", false, false, funcTable, 8, null, null, 0, 1); + c$9_connect = Py.newCode(3, new String[] {"self", "addr", "port", "host"}, "/usr/share/jython/Lib/socket.py", "connect", false, false, funcTable, 9, null, null, 0, 1); + c$10__setup = Py.newCode(2, new String[] {"self", "sock"}, "/usr/share/jython/Lib/socket.py", "_setup", false, false, funcTable, 10, null, null, 0, 1); + c$11_recv = Py.newCode(2, new String[] {"self", "n", "m", "data"}, "/usr/share/jython/Lib/socket.py", "recv", false, false, funcTable, 11, null, null, 0, 1); + c$12_send = Py.newCode(2, new String[] {"self", "s", "n"}, "/usr/share/jython/Lib/socket.py", "send", false, false, funcTable, 12, null, null, 0, 1); + c$13_getsockname = Py.newCode(1, new String[] {"self", "port", "host"}, "/usr/share/jython/Lib/socket.py", "getsockname", false, false, funcTable, 13, null, null, 0, 1); + c$14_getpeername = Py.newCode(1, new String[] {"self", "port", "host"}, "/usr/share/jython/Lib/socket.py", "getpeername", false, false, funcTable, 14, null, null, 0, 1); + c$15_setsockopt = Py.newCode(4, new String[] {"self", "level", "optname", "value"}, "/usr/share/jython/Lib/socket.py", "setsockopt", false, false, funcTable, 15, null, null, 0, 1); + c$16_getsockopt = Py.newCode(3, new String[] {"self", "level", "optname"}, "/usr/share/jython/Lib/socket.py", "getsockopt", false, false, funcTable, 16, null, null, 0, 1); + c$17_makefile = Py.newCode(3, new String[] {"self", "mode", "bufsize", "file"}, "/usr/share/jython/Lib/socket.py", "makefile", false, false, funcTable, 17, null, null, 0, 1); + c$18___init__ = Py.newCode(3, new String[] {"self", "socket", "file"}, "/usr/share/jython/Lib/socket.py", "__init__", false, false, funcTable, 18, null, null, 0, 1); + c$19_close = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/socket.py", "close", false, false, funcTable, 19, null, null, 0, 1); + c$20_FileWrapper = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/socket.py", "FileWrapper", false, false, funcTable, 20, null, null, 0, 0); + c$21_shutdown = Py.newCode(2, new String[] {"self", "how"}, "/usr/share/jython/Lib/socket.py", "shutdown", false, false, funcTable, 21, null, null, 0, 1); + c$22_close = Py.newCode(1, new String[] {"self", "ostream", "sock", "istream"}, "/usr/share/jython/Lib/socket.py", "close", false, false, funcTable, 22, null, null, 0, 1); + c$23__tcpsocket = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/socket.py", "_tcpsocket", false, false, funcTable, 23, null, null, 0, 0); + c$24___init__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/socket.py", "__init__", false, false, funcTable, 24, null, null, 0, 1); + c$25_bind = Py.newCode(3, new String[] {"self", "addr", "port", "a", "host"}, "/usr/share/jython/Lib/socket.py", "bind", false, false, funcTable, 25, null, null, 0, 1); + c$26_connect = Py.newCode(3, new String[] {"self", "addr", "port", "host"}, "/usr/share/jython/Lib/socket.py", "connect", false, false, funcTable, 26, null, null, 0, 1); + c$27_sendto = Py.newCode(3, new String[] {"self", "data", "addr", "packet", "n", "port", "a", "host", "bytes"}, "/usr/share/jython/Lib/socket.py", "sendto", false, false, funcTable, 27, null, null, 0, 1); + c$28_send = Py.newCode(2, new String[] {"self", "data"}, "/usr/share/jython/Lib/socket.py", "send", false, false, funcTable, 28, null, null, 0, 1); + c$29_recvfrom = Py.newCode(2, new String[] {"self", "n", "packet", "port", "m", "host", "bytes"}, "/usr/share/jython/Lib/socket.py", "recvfrom", false, false, funcTable, 29, null, null, 0, 1); + c$30_recv = Py.newCode(2, new String[] {"self", "n", "m", "bytes", "packet"}, "/usr/share/jython/Lib/socket.py", "recv", false, false, funcTable, 30, null, null, 0, 1); + c$31_getsockname = Py.newCode(1, new String[] {"self", "port", "host"}, "/usr/share/jython/Lib/socket.py", "getsockname", false, false, funcTable, 31, null, null, 0, 1); + c$32_getpeername = Py.newCode(1, new String[] {"self", "port", "host"}, "/usr/share/jython/Lib/socket.py", "getpeername", false, false, funcTable, 32, null, null, 0, 1); + c$33___del__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib/socket.py", "__del__", false, false, funcTable, 33, null, null, 0, 1); + c$34_close = Py.newCode(1, new String[] {"self", "sock"}, "/usr/share/jython/Lib/socket.py", "close", false, false, funcTable, 34, null, null, 0, 1); + c$35__udpsocket = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/socket.py", "_udpsocket", false, false, funcTable, 35, null, null, 0, 0); + c$36_test = Py.newCode(0, new String[] {"s", "data"}, "/usr/share/jython/Lib/socket.py", "test", false, false, funcTable, 36, null, null, 0, 1); + c$37_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/socket.py", "main", false, false, funcTable, 37, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$37_main == null) _PyInner.initConstants(); + return c$37_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner._gethostbyaddr$1(frame); + case 1: + return _PyInner.getfqdn$2(frame); + case 2: + return _PyInner.gethostname$3(frame); + case 3: + return _PyInner.gethostbyname$4(frame); + case 4: + return _PyInner.gethostbyaddr$5(frame); + case 5: + return _PyInner.socket$6(frame); + case 6: + return _PyInner.bind$7(frame); + case 7: + return _PyInner.listen$8(frame); + case 8: + return _PyInner.accept$9(frame); + case 9: + return _PyInner.connect$10(frame); + case 10: + return _PyInner._setup$11(frame); + case 11: + return _PyInner.recv$12(frame); + case 12: + return _PyInner.send$13(frame); + case 13: + return _PyInner.getsockname$14(frame); + case 14: + return _PyInner.getpeername$15(frame); + case 15: + return _PyInner.setsockopt$16(frame); + case 16: + return _PyInner.getsockopt$17(frame); + case 17: + return _PyInner.makefile$18(frame); + case 18: + return _PyInner.__init__$19(frame); + case 19: + return _PyInner.close$20(frame); + case 20: + return _PyInner.FileWrapper$21(frame); + case 21: + return _PyInner.shutdown$22(frame); + case 22: + return _PyInner.close$23(frame); + case 23: + return _PyInner._tcpsocket$24(frame); + case 24: + return _PyInner.__init__$25(frame); + case 25: + return _PyInner.bind$26(frame); + case 26: + return _PyInner.connect$27(frame); + case 27: + return _PyInner.sendto$28(frame); + case 28: + return _PyInner.send$29(frame); + case 29: + return _PyInner.recvfrom$30(frame); + case 30: + return _PyInner.recv$31(frame); + case 31: + return _PyInner.getsockname$32(frame); + case 32: + return _PyInner.getpeername$33(frame); + case 33: + return _PyInner.__del__$34(frame); + case 34: + return _PyInner.close$35(frame); + case 35: + return _PyInner._udpsocket$36(frame); + case 36: + return _PyInner.test$37(frame); + case 37: + return _PyInner.main$38(frame); + default: + return null; + } + } + + private static PyObject _gethostbyaddr$1(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(3, frame.getglobal("java").__getattr__("net").__getattr__("InetAddress").__getattr__("getAllByName").__call__(frame.getglobal("gethostbyname").__call__(frame.getlocal(0)))); + frame.setlocal(2, new PyList(new PyObject[] {})); + frame.setlocal(1, new PyList(new PyObject[] {})); + t$0$int = 0; + t$1$PyObject = frame.getlocal(3); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(4, t$0$PyObject); + frame.getlocal(2).invoke("append", frame.getlocal(4).invoke("getHostName")); + frame.getlocal(1).invoke("append", frame.getlocal(4).invoke("getHostAddress")); + } + return new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(1)}); + } + + private static PyObject getfqdn$2(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* + Return a fully qualified domain name for name. If name is omitted or empty + it is interpreted as the local host. To find the fully qualified name, + the hostname returned by gethostbyaddr() is checked, then aliases for the + host, if available. The first name which includes a period is selected. + In case no fully qualified domain name is available, the hostname is retur + New in version 2.0. + */ + if (frame.getlocal(0).__not__().__nonzero__()) { + frame.setlocal(0, frame.getglobal("gethostname").__call__()); + } + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("_gethostbyaddr").__call__(frame.getlocal(0)), 2); + frame.setlocal(3, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + t$0$int = 0; + t$1$PyObject = frame.getlocal(3); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(1, t$0$PyObject); + if (frame.getlocal(1).invoke("find", s$21)._ge(i$22).__nonzero__()) { + return frame.getlocal(1); + } + } + return frame.getlocal(0); + } + + private static PyObject gethostname$3(PyFrame frame) { + return frame.getglobal("java").__getattr__("net").__getattr__("InetAddress").__getattr__("getLocalHost").__call__().invoke("getHostName"); + } + + private static PyObject gethostbyname$4(PyFrame frame) { + return frame.getglobal("java").__getattr__("net").__getattr__("InetAddress").__getattr__("getByName").__call__(frame.getlocal(0)).invoke("getHostAddress"); + } + + private static PyObject gethostbyaddr$5(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("_gethostbyaddr").__call__(frame.getlocal(0)), 2); + frame.setlocal(2, t$0$PyObject__[0]); + frame.setlocal(1, t$0$PyObject__[1]); + return new PyTuple(new PyObject[] {frame.getlocal(2).__getitem__(i$22), frame.getlocal(2), frame.getlocal(1)}); + } + + private static PyObject socket$6(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0)._eq(frame.getglobal("AF_INET"))); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(1)._in(new PyTuple(new PyObject[] {frame.getglobal("SOCK_DGRAM"), frame.getglobal("SOCK_STREAM")}))); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(2)._eq(i$22)); + if (frame.getlocal(1)._eq(frame.getglobal("SOCK_STREAM")).__nonzero__()) { + return frame.getglobal("_tcpsocket").__call__(); + } + else { + return frame.getglobal("_udpsocket").__call__(); + } + } + + private static PyObject bind$7(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + if (frame.getlocal(2)._isnot(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(1, new PyTuple(new PyObject[] {frame.getlocal(1), frame.getlocal(2)})); + } + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("sock").__not__()); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("addr").__not__()); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(1), 2); + frame.setlocal(3, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + frame.getlocal(0).__setattr__("addr", frame.getlocal(1)); + return Py.None; + } + + private static PyObject listen$8(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + /* This signifies a server socket */ + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("sock").__not__()); + frame.getlocal(0).__setattr__("server", i$15); + if (frame.getlocal(0).__getattr__("addr").__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(0).__getattr__("addr"), 2); + frame.setlocal(4, t$0$PyObject__[0]); + frame.setlocal(3, t$0$PyObject__[1]); + } + else { + t$0$PyObject__ = org.python.core.Py.unpackSequence(new PyTuple(new PyObject[] {s$24, i$22}), 2); + frame.setlocal(4, t$0$PyObject__[0]); + frame.setlocal(3, t$0$PyObject__[1]); + } + if (frame.getlocal(4).__nonzero__()) { + frame.setlocal(2, frame.getglobal("java").__getattr__("net").__getattr__("InetAddress").__getattr__("getByName").__call__(frame.getlocal(4))); + frame.getlocal(0).__setattr__("sock", frame.getglobal("java").__getattr__("net").__getattr__("ServerSocket").__call__(frame.getlocal(3), frame.getlocal(1), frame.getlocal(2))); + } + else { + frame.getlocal(0).__setattr__("sock", frame.getglobal("java").__getattr__("net").__getattr__("ServerSocket").__call__(frame.getlocal(3), frame.getlocal(1))); + } + if (frame.getglobal("hasattr").__call__(frame.getlocal(0).__getattr__("sock"), s$25).__nonzero__()) { + frame.getlocal(0).__getattr__("sock").invoke("setReuseAddress", frame.getlocal(0).__getattr__("reuse_addr")); + } + return Py.None; + } + + private static PyObject accept$9(PyFrame frame) { + /* This signifies a server socket */ + if (frame.getlocal(0).__getattr__("sock").__not__().__nonzero__()) { + frame.getlocal(0).invoke("listen"); + } + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("server")); + frame.setlocal(2, frame.getlocal(0).__getattr__("sock").invoke("accept")); + frame.setlocal(4, frame.getlocal(2).invoke("getInetAddress").invoke("getHostName")); + frame.setlocal(1, frame.getlocal(2).invoke("getPort")); + frame.setlocal(3, frame.getglobal("_tcpsocket").__call__()); + frame.getlocal(3).invoke("_setup", frame.getlocal(2)); + return new PyTuple(new PyObject[] {frame.getlocal(3), new PyTuple(new PyObject[] {frame.getlocal(4), frame.getlocal(1)})}); + } + + private static PyObject connect$10(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + /* This signifies a client socket */ + if (frame.getlocal(2)._isnot(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(1, new PyTuple(new PyObject[] {frame.getlocal(1), frame.getlocal(2)})); + } + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("sock").__not__()); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(1), 2); + frame.setlocal(3, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + if (frame.getlocal(3)._eq(s$24).__nonzero__()) { + frame.setlocal(3, frame.getglobal("java").__getattr__("net").__getattr__("InetAddress").__getattr__("getLocalHost").__call__()); + } + frame.getlocal(0).invoke("_setup", frame.getglobal("java").__getattr__("net").__getattr__("Socket").__call__(frame.getlocal(3), frame.getlocal(2))); + return Py.None; + } + + private static PyObject _setup$11(PyFrame frame) { + frame.getlocal(0).__setattr__("sock", frame.getlocal(1)); + if (frame.getglobal("hasattr").__call__(frame.getlocal(0).__getattr__("sock"), s$25).__nonzero__()) { + frame.getlocal(0).__getattr__("sock").invoke("setReuseAddress", frame.getlocal(0).__getattr__("reuse_addr")); + } + frame.getlocal(0).__setattr__("istream", frame.getlocal(1).invoke("getInputStream")); + frame.getlocal(0).__setattr__("ostream", frame.getlocal(1).invoke("getOutputStream")); + return Py.None; + } + + private static PyObject recv$12(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("sock")); + frame.setlocal(3, frame.getglobal("jarray").__getattr__("zeros").__call__(frame.getlocal(1), s$28)); + frame.setlocal(2, frame.getlocal(0).__getattr__("istream").invoke("read", frame.getlocal(3))); + if (frame.getlocal(2)._le(i$22).__nonzero__()) { + return s$24; + } + if (frame.getlocal(2)._lt(frame.getlocal(1)).__nonzero__()) { + frame.setlocal(3, frame.getlocal(3).__getslice__(null, frame.getlocal(2), null)); + } + return frame.getlocal(3).invoke("tostring"); + } + + private static PyObject send$13(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("sock")); + frame.setlocal(2, frame.getglobal("len").__call__(frame.getlocal(1))); + frame.getlocal(0).__getattr__("ostream").invoke("write", frame.getlocal(1)); + return frame.getlocal(2); + } + + private static PyObject getsockname$14(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject; + + // Code + if (frame.getlocal(0).__getattr__("sock").__not__().__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence((t$0$PyObject = frame.getlocal(0).__getattr__("addr")).__nonzero__() ? t$0$PyObject : new PyTuple(new PyObject[] {s$24, i$22}), 2); + frame.setlocal(2, t$0$PyObject__[0]); + frame.setlocal(1, t$0$PyObject__[1]); + frame.setlocal(2, frame.getglobal("java").__getattr__("net").__getattr__("InetAddress").__getattr__("getByName").__call__(frame.getlocal(2)).invoke("getHostAddress")); + } + else { + if (frame.getlocal(0).__getattr__("server").__nonzero__()) { + frame.setlocal(2, frame.getlocal(0).__getattr__("sock").invoke("getInetAddress").invoke("getHostAddress")); + } + else { + frame.setlocal(2, frame.getlocal(0).__getattr__("sock").invoke("getLocalAddress").invoke("getHostAddress")); + } + frame.setlocal(1, frame.getlocal(0).__getattr__("sock").invoke("getLocalPort")); + } + return new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(1)}); + } + + private static PyObject getpeername$15(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("sock")); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("server").__not__()); + frame.setlocal(2, frame.getlocal(0).__getattr__("sock").invoke("getInetAddress").invoke("getHostAddress")); + frame.setlocal(1, frame.getlocal(0).__getattr__("sock").invoke("getPort")); + return new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(1)}); + } + + private static PyObject setsockopt$16(PyFrame frame) { + if (frame.getlocal(2)._eq(frame.getglobal("SO_REUSEADDR")).__nonzero__()) { + frame.getlocal(0).__setattr__("reuse_addr", frame.getlocal(3)); + } + return Py.None; + } + + private static PyObject getsockopt$17(PyFrame frame) { + if (frame.getlocal(2)._eq(frame.getglobal("SO_REUSEADDR")).__nonzero__()) { + return frame.getlocal(0).__getattr__("reuse_addr"); + } + return Py.None; + } + + private static PyObject makefile$18(PyFrame frame) { + frame.setlocal(3, frame.getglobal("None")); + if (frame.getlocal(0).__getattr__("istream").__nonzero__()) { + if (frame.getlocal(0).__getattr__("ostream").__nonzero__()) { + frame.setlocal(3, frame.getglobal("org").__getattr__("python").__getattr__("core").__getattr__("PyFile").__call__(new PyObject[] {frame.getlocal(0).__getattr__("istream"), frame.getlocal(0).__getattr__("ostream"), s$29, frame.getlocal(1)})); + } + else { + frame.setlocal(3, frame.getglobal("org").__getattr__("python").__getattr__("core").__getattr__("PyFile").__call__(frame.getlocal(0).__getattr__("istream"), s$29, frame.getlocal(1))); + } + } + else if (frame.getlocal(0).__getattr__("ostream").__nonzero__()) { + frame.setlocal(3, frame.getglobal("org").__getattr__("python").__getattr__("core").__getattr__("PyFile").__call__(frame.getlocal(0).__getattr__("ostream"), s$29, frame.getlocal(1))); + } + else { + throw Py.makeException(frame.getglobal("IOError"), s$30); + } + if (frame.getlocal(3).__nonzero__()) { + return frame.getglobal("_tcpsocket").invoke("FileWrapper", frame.getlocal(0), frame.getlocal(3)); + } + return Py.None; + } + + private static PyObject __init__$19(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject; + + // Code + frame.getlocal(0).__setattr__("socket", frame.getlocal(1)); + frame.getlocal(0).__setattr__("sock", frame.getlocal(1).__getattr__("sock")); + frame.getlocal(0).__setattr__("istream", frame.getlocal(1).__getattr__("istream")); + frame.getlocal(0).__setattr__("ostream", frame.getlocal(1).__getattr__("ostream")); + frame.getlocal(0).__setattr__("file", frame.getlocal(2)); + frame.getlocal(0).__setattr__("read", frame.getlocal(2).__getattr__("read")); + frame.getlocal(0).__setattr__("readline", frame.getlocal(2).__getattr__("readline")); + frame.getlocal(0).__setattr__("readlines", frame.getlocal(2).__getattr__("readlines")); + frame.getlocal(0).__setattr__("write", frame.getlocal(2).__getattr__("write")); + frame.getlocal(0).__setattr__("writelines", frame.getlocal(2).__getattr__("writelines")); + frame.getlocal(0).__setattr__("flush", frame.getlocal(2).__getattr__("flush")); + frame.getlocal(0).__setattr__("seek", frame.getlocal(2).__getattr__("seek")); + frame.getlocal(0).__setattr__("tell", frame.getlocal(2).__getattr__("tell")); + t$0$PyObject = i$15; + t$1$PyObject = frame.getlocal(0); + t$2$PyObject = t$1$PyObject.__getattr__("socket"); + t$2$PyObject.__setattr__("file_count", t$2$PyObject.__getattr__("file_count").__iadd__(t$0$PyObject)); + return Py.None; + } + + private static PyObject close$20(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject; + + // Code + if (frame.getlocal(0).__getattr__("file").__getattr__("closed").__nonzero__()) { + return Py.None; + } + t$0$PyObject = i$15; + t$1$PyObject = frame.getlocal(0); + t$2$PyObject = t$1$PyObject.__getattr__("socket"); + t$2$PyObject.__setattr__("file_count", t$2$PyObject.__getattr__("file_count").__isub__(t$0$PyObject)); + frame.getlocal(0).__getattr__("file").invoke("close"); + if (((t$0$PyObject = frame.getlocal(0).__getattr__("socket").__getattr__("file_count")._eq(i$22)).__nonzero__() ? frame.getlocal(0).__getattr__("socket").__getattr__("sock")._eq(i$22) : t$0$PyObject).__nonzero__()) { + if (frame.getlocal(0).__getattr__("sock").__nonzero__()) { + frame.getlocal(0).__getattr__("sock").invoke("close"); + } + if (frame.getlocal(0).__getattr__("istream").__nonzero__()) { + frame.getlocal(0).__getattr__("istream").invoke("close"); + } + if (frame.getlocal(0).__getattr__("ostream").__nonzero__()) { + frame.getlocal(0).__getattr__("ostream").invoke("close"); + } + } + return Py.None; + } + + private static PyObject FileWrapper$21(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$18___init__)); + frame.setlocal("close", new PyFunction(frame.f_globals, new PyObject[] {}, c$19_close)); + return frame.getf_locals(); + } + + private static PyObject shutdown$22(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(1)._in(new PyTuple(new PyObject[] {i$22, i$15, i$14}))); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("sock")); + if (frame.getlocal(1)._in(new PyTuple(new PyObject[] {i$22, i$14})).__nonzero__()) { + frame.getlocal(0).__setattr__("istream", frame.getglobal("None")); + } + if (frame.getlocal(1)._in(new PyTuple(new PyObject[] {i$15, i$14})).__nonzero__()) { + frame.getlocal(0).__setattr__("ostream", frame.getglobal("None")); + } + return Py.None; + } + + private static PyObject close$23(PyFrame frame) { + frame.setlocal(2, frame.getlocal(0).__getattr__("sock")); + frame.setlocal(3, frame.getlocal(0).__getattr__("istream")); + frame.setlocal(1, frame.getlocal(0).__getattr__("ostream")); + frame.getlocal(0).__setattr__("sock", i$22); + frame.getlocal(0).__setattr__("istream", i$22); + frame.getlocal(0).__setattr__("ostream", i$22); + if (frame.getlocal(0).__getattr__("file_count")._eq(i$22).__nonzero__()) { + if (frame.getlocal(3).__nonzero__()) { + frame.getlocal(3).invoke("close"); + } + if (frame.getlocal(1).__nonzero__()) { + frame.getlocal(1).invoke("close"); + } + if (frame.getlocal(2).__nonzero__()) { + frame.getlocal(2).invoke("close"); + } + } + return Py.None; + } + + private static PyObject _tcpsocket$24(PyFrame frame) { + frame.setlocal("sock", frame.getname("None")); + frame.setlocal("istream", frame.getname("None")); + frame.setlocal("ostream", frame.getname("None")); + frame.setlocal("addr", frame.getname("None")); + frame.setlocal("server", i$22); + frame.setlocal("file_count", i$22); + frame.setlocal("reuse_addr", i$22); + frame.setlocal("bind", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$6_bind)); + frame.setlocal("listen", new PyFunction(frame.f_globals, new PyObject[] {i$26}, c$7_listen)); + frame.setlocal("accept", new PyFunction(frame.f_globals, new PyObject[] {}, c$8_accept)); + frame.setlocal("connect", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$9_connect)); + frame.setlocal("_setup", new PyFunction(frame.f_globals, new PyObject[] {}, c$10__setup)); + frame.setlocal("recv", new PyFunction(frame.f_globals, new PyObject[] {}, c$11_recv)); + frame.setlocal("send", new PyFunction(frame.f_globals, new PyObject[] {}, c$12_send)); + frame.setlocal("getsockname", new PyFunction(frame.f_globals, new PyObject[] {}, c$13_getsockname)); + frame.setlocal("getpeername", new PyFunction(frame.f_globals, new PyObject[] {}, c$14_getpeername)); + frame.setlocal("setsockopt", new PyFunction(frame.f_globals, new PyObject[] {}, c$15_setsockopt)); + frame.setlocal("getsockopt", new PyFunction(frame.f_globals, new PyObject[] {}, c$16_getsockopt)); + frame.setlocal("makefile", new PyFunction(frame.f_globals, new PyObject[] {s$31, i$15.__neg__()}, c$17_makefile)); + frame.setlocal("FileWrapper", Py.makeClass("FileWrapper", new PyObject[] {}, c$20_FileWrapper, null)); + frame.setlocal("shutdown", new PyFunction(frame.f_globals, new PyObject[] {}, c$21_shutdown)); + frame.setlocal("close", new PyFunction(frame.f_globals, new PyObject[] {}, c$22_close)); + return frame.getf_locals(); + } + + private static PyObject __init__$25(PyFrame frame) { + frame.getlocal(0).__setattr__("sock", frame.getglobal("None")); + frame.getlocal(0).__setattr__("addr", frame.getglobal("None")); + return Py.None; + } + + private static PyObject bind$26(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + if (frame.getlocal(2)._isnot(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(1, new PyTuple(new PyObject[] {frame.getlocal(1), frame.getlocal(2)})); + } + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("sock").__not__()); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(1), 2); + frame.setlocal(4, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + if (frame.getlocal(4)._eq(s$24).__nonzero__()) { + frame.getlocal(0).__setattr__("sock", frame.getglobal("java").__getattr__("net").__getattr__("DatagramSocket").__call__(frame.getlocal(2))); + } + else { + frame.setlocal(3, frame.getglobal("java").__getattr__("net").__getattr__("InetAddress").__getattr__("getByName").__call__(frame.getlocal(4))); + frame.getlocal(0).__setattr__("sock", frame.getglobal("java").__getattr__("net").__getattr__("DatagramSocket").__call__(frame.getlocal(2), frame.getlocal(3))); + } + return Py.None; + } + + private static PyObject connect$27(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + if (frame.getlocal(2)._isnot(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(1, new PyTuple(new PyObject[] {frame.getlocal(1), frame.getlocal(2)})); + } + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(1), 2); + frame.setlocal(3, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("addr").__not__()); + if (frame.getlocal(0).__getattr__("sock").__not__().__nonzero__()) { + frame.getlocal(0).__setattr__("sock", frame.getglobal("java").__getattr__("net").__getattr__("DatagramSocket").__call__()); + } + frame.getlocal(0).__setattr__("addr", frame.getlocal(1)); + return Py.None; + } + + private static PyObject sendto$28(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + frame.setlocal(4, frame.getglobal("len").__call__(frame.getlocal(1))); + if (frame.getlocal(0).__getattr__("sock").__not__().__nonzero__()) { + frame.getlocal(0).__setattr__("sock", frame.getglobal("java").__getattr__("net").__getattr__("DatagramSocket").__call__()); + } + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(2), 2); + frame.setlocal(7, t$0$PyObject__[0]); + frame.setlocal(5, t$0$PyObject__[1]); + frame.setlocal(8, frame.getglobal("jarray").__getattr__("array").__call__(frame.getglobal("map").__call__(frame.getglobal("ord"), frame.getlocal(1)), s$28)); + frame.setlocal(6, frame.getglobal("java").__getattr__("net").__getattr__("InetAddress").__getattr__("getByName").__call__(frame.getlocal(7))); + frame.setlocal(3, frame.getglobal("java").__getattr__("net").__getattr__("DatagramPacket").__call__(new PyObject[] {frame.getlocal(8), frame.getlocal(4), frame.getlocal(6), frame.getlocal(5)})); + frame.getlocal(0).__getattr__("sock").invoke("send", frame.getlocal(3)); + return frame.getlocal(4); + } + + private static PyObject send$29(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("addr")); + return frame.getlocal(0).invoke("sendto", frame.getlocal(0).__getattr__("addr")); + } + + private static PyObject recvfrom$30(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("sock")); + frame.setlocal(6, frame.getglobal("jarray").__getattr__("zeros").__call__(frame.getlocal(1), s$28)); + frame.setlocal(2, frame.getglobal("java").__getattr__("net").__getattr__("DatagramPacket").__call__(frame.getlocal(6), frame.getlocal(1))); + frame.getlocal(0).__getattr__("sock").invoke("receive", frame.getlocal(2)); + frame.setlocal(5, frame.getlocal(2).invoke("getAddress").invoke("getHostName")); + frame.setlocal(3, frame.getlocal(2).invoke("getPort")); + frame.setlocal(4, frame.getlocal(2).invoke("getLength")); + if (frame.getlocal(4)._lt(frame.getlocal(1)).__nonzero__()) { + frame.setlocal(6, frame.getlocal(6).__getslice__(null, frame.getlocal(4), null)); + } + return new PyTuple(new PyObject[] {frame.getlocal(6).invoke("tostring"), new PyTuple(new PyObject[] {frame.getlocal(5), frame.getlocal(3)})}); + } + + private static PyObject recv$31(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("sock")); + frame.setlocal(3, frame.getglobal("jarray").__getattr__("zeros").__call__(frame.getlocal(1), s$28)); + frame.setlocal(4, frame.getglobal("java").__getattr__("net").__getattr__("DatagramPacket").__call__(frame.getlocal(3), frame.getlocal(1))); + frame.getlocal(0).__getattr__("sock").invoke("receive", frame.getlocal(4)); + frame.setlocal(2, frame.getlocal(4).invoke("getLength")); + if (frame.getlocal(2)._lt(frame.getlocal(1)).__nonzero__()) { + frame.setlocal(3, frame.getlocal(3).__getslice__(null, frame.getlocal(2), null)); + } + return frame.getlocal(3).invoke("tostring"); + } + + private static PyObject getsockname$32(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("sock")); + frame.setlocal(2, frame.getlocal(0).__getattr__("sock").invoke("getLocalAddress").invoke("getHostName")); + frame.setlocal(1, frame.getlocal(0).__getattr__("sock").invoke("getLocalPort")); + return new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(1)}); + } + + private static PyObject getpeername$33(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("sock")); + frame.setlocal(2, frame.getlocal(0).__getattr__("sock").invoke("getInetAddress").invoke("getHostName")); + frame.setlocal(1, frame.getlocal(0).__getattr__("sock").invoke("getPort")); + return new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(1)}); + } + + private static PyObject __del__$34(PyFrame frame) { + frame.getlocal(0).invoke("close"); + return Py.None; + } + + private static PyObject close$35(PyFrame frame) { + frame.setlocal(1, frame.getlocal(0).__getattr__("sock")); + frame.getlocal(0).__setattr__("sock", i$22); + frame.getlocal(1).invoke("close"); + return Py.None; + } + + private static PyObject _udpsocket$36(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$24___init__)); + frame.setlocal("bind", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$25_bind)); + frame.setlocal("connect", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$26_connect)); + frame.setlocal("sendto", new PyFunction(frame.f_globals, new PyObject[] {}, c$27_sendto)); + frame.setlocal("send", new PyFunction(frame.f_globals, new PyObject[] {}, c$28_send)); + frame.setlocal("recvfrom", new PyFunction(frame.f_globals, new PyObject[] {}, c$29_recvfrom)); + frame.setlocal("recv", new PyFunction(frame.f_globals, new PyObject[] {}, c$30_recv)); + frame.setlocal("getsockname", new PyFunction(frame.f_globals, new PyObject[] {}, c$31_getsockname)); + frame.setlocal("getpeername", new PyFunction(frame.f_globals, new PyObject[] {}, c$32_getpeername)); + frame.setlocal("__del__", new PyFunction(frame.f_globals, new PyObject[] {}, c$33___del__)); + frame.setlocal("close", new PyFunction(frame.f_globals, new PyObject[] {}, c$34_close)); + return frame.getf_locals(); + } + + private static PyObject test$37(PyFrame frame) { + frame.setlocal(0, frame.getglobal("socket").__call__(frame.getglobal("AF_INET"), frame.getglobal("SOCK_STREAM"))); + frame.getlocal(0).invoke("connect", new PyTuple(new PyObject[] {s$24, i$32})); + frame.getlocal(0).invoke("send", s$33); + while (i$15.__nonzero__()) { + frame.setlocal(1, frame.getlocal(0).invoke("recv", i$34)); + Py.println(frame.getlocal(1)); + if (frame.getlocal(1).__not__().__nonzero__()) { + break; + } + } + return Py.None; + } + + private static PyObject main$38(PyFrame frame) { + frame.setglobal("__file__", s$36); + + /* Preliminary socket module. + + XXX Restrictions: + + - Only INET sockets + - No asynchronous behavior + - No socket options + - Can't do a very good gethostbyaddr() right... + + */ + frame.setlocal("java", org.python.core.imp.importOne("java.net", frame)); + frame.setlocal("org", org.python.core.imp.importOne("org.python.core", frame)); + frame.setlocal("jarray", org.python.core.imp.importOne("jarray", frame)); + frame.setlocal("string", org.python.core.imp.importOne("string", frame)); + frame.setlocal("__all__", new PyList(new PyObject[] {s$1, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, s$10, s$11, s$12, s$13})); + frame.setlocal("error", frame.getname("IOError")); + frame.setlocal("AF_INET", i$14); + frame.setlocal("SOCK_DGRAM", i$15); + frame.setlocal("SOCK_STREAM", i$14); + frame.setlocal("SOCK_RAW", i$16); + frame.setlocal("SOCK_RDM", i$17); + frame.setlocal("SOCK_SEQPACKET", i$18); + frame.setlocal("SOL_SOCKET", i$19); + frame.setlocal("SO_REUSEADDR", i$17); + frame.setlocal("_gethostbyaddr", new PyFunction(frame.f_globals, new PyObject[] {}, c$0__gethostbyaddr)); + frame.setlocal("getfqdn", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$1_getfqdn)); + frame.setlocal("gethostname", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_gethostname)); + frame.setlocal("gethostbyname", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_gethostbyname)); + frame.setlocal("gethostbyaddr", new PyFunction(frame.f_globals, new PyObject[] {}, c$4_gethostbyaddr)); + frame.setlocal("socket", new PyFunction(frame.f_globals, new PyObject[] {i$22}, c$5_socket)); + frame.setlocal("_tcpsocket", Py.makeClass("_tcpsocket", new PyObject[] {}, c$23__tcpsocket, null)); + frame.setlocal("_udpsocket", Py.makeClass("_udpsocket", new PyObject[] {}, c$35__udpsocket, null)); + frame.setlocal("SocketType", frame.getname("_tcpsocket")); + frame.setlocal("test", new PyFunction(frame.f_globals, new PyObject[] {}, c$36_test)); + if (frame.getname("__name__")._eq(s$35).__nonzero__()) { + frame.getname("test").__call__(); + } + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("socket")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "socket"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(socket._PyInner.class, newargs, socket.jpy$packages, socket.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/sre$_PyInner.class b/server/jpywork/sre$_PyInner.class new file mode 100644 index 0000000000000000000000000000000000000000..daae819d61738a34160dd05ec96a3d11d96cce34 GIT binary patch literal 17011 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 literal 0 HcmV?d00001 diff --git a/server/jpywork/sre.class b/server/jpywork/sre.class new file mode 100644 index 0000000000000000000000000000000000000000..f2def4073cbe06f2d7719d8bd11df8cc0f2f9be7 GIT binary patch literal 2479 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 literal 0 HcmV?d00001 diff --git a/server/jpywork/sre_compile.class b/server/jpywork/sre_compile.class new file mode 100644 index 0000000000000000000000000000000000000000..17636b72b5f9eb8214bf6be84e9c2a3679eaa06d GIT binary patch literal 2495 zcma)8X>-$76g{$?NHNa#AYmzM2_dXZj!7pVH}hk`p_{?KCsF(tGc2@7!~*{QFF&%U#ok?TmVE(eeV@@)aySI#kuv1J8CQ z`?)Jsi=KO?T&tT3cMbETF)2+|vtams*L4coYkcgHn{?5nmz^MQ1-7X`+i4bT#|~~) z5by38Q;^u>PB725MR`WiH3$Wr#d45$oy@d5Q7Tw|X1rt<0^8BBOu;7WjA<1E+jaaM zt~Z&fsG6>4WvWL_pqCUH(5PXBf(;cdH!{rldH3{wBD8P8mxfi$EAUE|G+mv7Doxii zd5KTPu>uY2d983Ian*3Og4TazprMPvggUmX;Ti?a;i44Sh0IyID1CRQprMhrL$+fL zm!`)p@1QYWuoN`z3{grVjx8yq(X5~)f?%(027^RU!J6(N#_Wsk((D_C)*`aIIHB(`F^jC7-dj_#T&R+!K;mc-52q2iXhexk4`^kXL} zn9KPrcVJEDatiwDc>Ax!RgfIZYFONr8!Znyj^!n>3tObPJ%u~4hwx5X!2!}(!K&__ zIzA=0`jgm)J5>yj_E+9Ng}X3FM_$R1$_n!JKn?xW@m~S^-%si#RWTyPWCxO)-E|sI zwnnl_NfpDg6&D(L;UtMs+^gcA#qCq}iG2z>4w9yZ=NVoMJCW z{B-=lZ~|Y$8TMKfaBxJ!Sz5_NT%J5EL%QZkIW-<-n6go1z{ja?8U@RlFgy)Ua^JIx ze0y5%vsO9J;#hfBK}rv8b;~*@_=`t%KNP5C{4!(bPXR;OWw3-c)leY>EjeW z!KYEfM4ji=7CfqM9X|iRtt+cn$F65g#pepvS1TPx9d?6=JM(j#$_~gJ2pX>~3E#Z5lmqIhwEnEe( zlYgTPm(ZGxi*`Mm5KHw7=uj7JWE;eCJ=-W&^609zWOTMh=k_{1tBMVJwyjZYq}0SF zs%$<-p9*>?MHnH0c4oJQ`HV1IcK1RCYq%oc(U6`&Z`G_Z+>EoSujS8$DB0a~AywC> zMc*8@X2rG{+;9;$&0$w|2De?r?sR$ zK7$iK^q$A&^XL$hZL1<&Yzg8?3C^^{%#{dj)3cg*FoemcR7EKS>ojGPC{rfILzGLz zBa|ue7-h3~g0e+CMcFEzp==Y+QMQX0D1~^5a;bQQa+!FIvO~N<*(u(lTrS?BTp`}0 zTq!=#XYtWF-ghlF68g{hCQH*vJQ4d5TI?q@$9_g<>=*nI`;}OH!P6MN#8-Su>g?kG H*J%11M^A?t literal 0 HcmV?d00001 diff --git a/server/jpywork/sre_compile.java b/server/jpywork/sre_compile.java new file mode 100644 index 00000000..6ab5235d --- /dev/null +++ b/server/jpywork/sre_compile.java @@ -0,0 +1,710 @@ +import org.python.core.*; + +public class sre_compile extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject i$1; + private static PyObject i$2; + private static PyObject s$3; + private static PyObject i$4; + private static PyObject i$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject s$8; + private static PyObject i$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject i$12; + private static PyObject s$13; + private static PyObject s$14; + private static PyFunctionTable funcTable; + private static PyCode c$0_fixup; + private static PyCode c$1_lambda; + private static PyCode c$2__compile; + private static PyCode c$3_lambda; + private static PyCode c$4__compile_charset; + private static PyCode c$5__optimize_charset; + private static PyCode c$6__simple; + private static PyCode c$7__compile_info; + private static PyCode c$8__code; + private static PyCode c$9_compile; + private static PyCode c$10_main; + private static void initConstants() { + s$0 = Py.newString("SRE module mismatch"); + i$1 = Py.newInteger(65535); + i$2 = Py.newInteger(0); + s$3 = Py.newString("internal: unsupported template operator"); + i$4 = Py.newInteger(1); + i$5 = Py.newInteger(2); + s$6 = Py.newString("look-behind requires fixed-width pattern"); + s$7 = Py.newString("unsupported operand type"); + s$8 = Py.newString("internal: unsupported set operator"); + i$9 = Py.newInteger(256); + s$10 = Py.newString("nothing to repeat"); + s$11 = Py.newString(""); + i$12 = Py.newInteger(100); + s$13 = Py.newString("sorry, but this version only supports 100 named groups"); + s$14 = Py.newString("/usr/share/jython/Lib-cpython/sre_compile.py"); + funcTable = new _PyInner(); + c$0_fixup = Py.newCode(2, new String[] {"literal", "flags"}, "/usr/share/jython/Lib-cpython/sre_compile.py", "fixup", false, false, funcTable, 0, null, null, 0, 1); + c$1_lambda = Py.newCode(1, new String[] {"x"}, "/usr/share/jython/Lib-cpython/sre_compile.py", "", false, false, funcTable, 1, null, null, 0, 1); + c$2__compile = Py.newCode(3, new String[] {"code", "pattern", "flags", "av", "emit", "skip", "lo", "op", "fixup", "hi", "tail"}, "/usr/share/jython/Lib-cpython/sre_compile.py", "_compile", false, false, funcTable, 2, null, null, 0, 1); + c$3_lambda = Py.newCode(1, new String[] {"x"}, "/usr/share/jython/Lib-cpython/sre_compile.py", "", false, false, funcTable, 3, null, null, 0, 1); + c$4__compile_charset = Py.newCode(4, new String[] {"charset", "flags", "code", "fixup", "op", "av", "emit"}, "/usr/share/jython/Lib-cpython/sre_compile.py", "_compile_charset", false, false, funcTable, 4, null, null, 0, 1); + c$5__optimize_charset = Py.newCode(2, new String[] {"charset", "fixup", "op", "v", "av", "charmap", "p", "n", "m", "runs", "i", "out", "c", "data"}, "/usr/share/jython/Lib-cpython/sre_compile.py", "_optimize_charset", false, false, funcTable, 5, null, null, 0, 1); + c$6__simple = Py.newCode(1, new String[] {"av", "hi", "lo"}, "/usr/share/jython/Lib-cpython/sre_compile.py", "_simple", false, false, funcTable, 6, null, null, 0, 1); + c$7__compile_info = Py.newCode(3, new String[] {"code", "pattern", "flags", "hi", "charset", "lo", "op", "av", "emit", "p", "skip", "prefix", "i", "mask", "table", "c", "prefix_skip"}, "/usr/share/jython/Lib-cpython/sre_compile.py", "_compile_info", false, false, funcTable, 7, null, null, 0, 1); + c$8__code = Py.newCode(2, new String[] {"p", "flags", "code"}, "/usr/share/jython/Lib-cpython/sre_compile.py", "_code", false, false, funcTable, 8, null, null, 0, 1); + c$9_compile = Py.newCode(2, new String[] {"p", "flags", "groupindex", "code", "indexgroup", "k", "i", "sre_parse", "pattern"}, "/usr/share/jython/Lib-cpython/sre_compile.py", "compile", false, false, funcTable, 9, null, null, 0, 1); + c$10_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/sre_compile.py", "main", false, false, funcTable, 10, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$10_main == null) _PyInner.initConstants(); + return c$10_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.fixup$1(frame); + case 1: + return _PyInner.lambda$2(frame); + case 2: + return _PyInner._compile$3(frame); + case 3: + return _PyInner.lambda$4(frame); + case 4: + return _PyInner._compile_charset$5(frame); + case 5: + return _PyInner._optimize_charset$6(frame); + case 6: + return _PyInner._simple$7(frame); + case 7: + return _PyInner._compile_info$8(frame); + case 8: + return _PyInner._code$9(frame); + case 9: + return _PyInner.compile$10(frame); + case 10: + return _PyInner.main$11(frame); + default: + return null; + } + } + + private static PyObject fixup$1(PyFrame frame) { + return frame.getglobal("_sre").__getattr__("getlower").__call__(frame.getlocal(0), frame.getlocal(1)); + } + + private static PyObject lambda$2(PyFrame frame) { + return frame.getlocal(0); + } + + private static PyObject _compile$3(PyFrame frame) { + // Temporary Variables + int t$0$int, t$1$int, t$2$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject, t$3$PyObject, t$4$PyObject, t$5$PyObject; + + // Code + frame.setlocal(4, frame.getlocal(0).__getattr__("append")); + t$0$int = 0; + t$1$PyObject = frame.getlocal(1); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(7, t$0$PyObject__[0]); + frame.setlocal(3, t$0$PyObject__[1]); + if (frame.getlocal(7)._in(new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getglobal("NOT_LITERAL")})).__nonzero__()) { + if (frame.getlocal(2)._and(frame.getglobal("SRE_FLAG_IGNORECASE")).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("OP_IGNORE").__getitem__(frame.getlocal(7)))); + frame.getlocal(4).__call__(frame.getglobal("_sre").__getattr__("getlower").__call__(frame.getlocal(3), frame.getlocal(2))); + } + else { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getlocal(7))); + frame.getlocal(4).__call__(frame.getlocal(3)); + } + } + else if (frame.getlocal(7)._is(frame.getglobal("IN")).__nonzero__()) { + if (frame.getlocal(2)._and(frame.getglobal("SRE_FLAG_IGNORECASE")).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("OP_IGNORE").__getitem__(frame.getlocal(7)))); + frame.setlocal(8, new PyFunction(frame.f_globals, new PyObject[] {frame.getlocal(2)}, c$0_fixup)); + } + else { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getlocal(7))); + frame.setlocal(8, new PyFunction(frame.f_globals, new PyObject[] {}, c$1_lambda)); + } + frame.setlocal(5, frame.getglobal("len").__call__(frame.getlocal(0))); + frame.getlocal(4).__call__(i$2); + frame.getglobal("_compile_charset").__call__(new PyObject[] {frame.getlocal(3), frame.getlocal(2), frame.getlocal(0), frame.getlocal(8)}); + frame.getlocal(0).__setitem__(frame.getlocal(5), frame.getglobal("len").__call__(frame.getlocal(0))._sub(frame.getlocal(5))); + } + else if (frame.getlocal(7)._is(frame.getglobal("ANY")).__nonzero__()) { + if (frame.getlocal(2)._and(frame.getglobal("SRE_FLAG_DOTALL")).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("ANY_ALL"))); + } + else { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("ANY"))); + } + } + else if (frame.getlocal(7)._in(new PyTuple(new PyObject[] {frame.getglobal("REPEAT"), frame.getglobal("MIN_REPEAT"), frame.getglobal("MAX_REPEAT")})).__nonzero__()) { + if (frame.getlocal(2)._and(frame.getglobal("SRE_FLAG_TEMPLATE")).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$3); + } + else if (((t$2$PyObject = frame.getglobal("_simple").__call__(frame.getlocal(3))).__nonzero__() ? frame.getlocal(7)._eq(frame.getglobal("MAX_REPEAT")) : t$2$PyObject).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("REPEAT_ONE"))); + frame.setlocal(5, frame.getglobal("len").__call__(frame.getlocal(0))); + frame.getlocal(4).__call__(i$2); + frame.getlocal(4).__call__(frame.getlocal(3).__getitem__(i$2)); + frame.getlocal(4).__call__(frame.getlocal(3).__getitem__(i$4)); + frame.getglobal("_compile").__call__(frame.getlocal(0), frame.getlocal(3).__getitem__(i$5), frame.getlocal(2)); + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("SUCCESS"))); + frame.getlocal(0).__setitem__(frame.getlocal(5), frame.getglobal("len").__call__(frame.getlocal(0))._sub(frame.getlocal(5))); + } + else { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("REPEAT"))); + frame.setlocal(5, frame.getglobal("len").__call__(frame.getlocal(0))); + frame.getlocal(4).__call__(i$2); + frame.getlocal(4).__call__(frame.getlocal(3).__getitem__(i$2)); + frame.getlocal(4).__call__(frame.getlocal(3).__getitem__(i$4)); + frame.getglobal("_compile").__call__(frame.getlocal(0), frame.getlocal(3).__getitem__(i$5), frame.getlocal(2)); + frame.getlocal(0).__setitem__(frame.getlocal(5), frame.getglobal("len").__call__(frame.getlocal(0))._sub(frame.getlocal(5))); + if (frame.getlocal(7)._eq(frame.getglobal("MAX_REPEAT")).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("MAX_UNTIL"))); + } + else { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("MIN_UNTIL"))); + } + } + } + else if (frame.getlocal(7)._is(frame.getglobal("SUBPATTERN")).__nonzero__()) { + if (frame.getlocal(3).__getitem__(i$2).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("MARK"))); + frame.getlocal(4).__call__(frame.getlocal(3).__getitem__(i$2)._sub(i$4)._mul(i$5)); + } + frame.getglobal("_compile").__call__(frame.getlocal(0), frame.getlocal(3).__getitem__(i$4), frame.getlocal(2)); + if (frame.getlocal(3).__getitem__(i$2).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("MARK"))); + frame.getlocal(4).__call__(frame.getlocal(3).__getitem__(i$2)._sub(i$4)._mul(i$5)._add(i$4)); + } + } + else if (frame.getlocal(7)._in(new PyTuple(new PyObject[] {frame.getglobal("SUCCESS"), frame.getglobal("FAILURE")})).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getlocal(7))); + } + else if (frame.getlocal(7)._in(new PyTuple(new PyObject[] {frame.getglobal("ASSERT"), frame.getglobal("ASSERT_NOT")})).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getlocal(7))); + frame.setlocal(5, frame.getglobal("len").__call__(frame.getlocal(0))); + frame.getlocal(4).__call__(i$2); + if (frame.getlocal(3).__getitem__(i$2)._ge(i$2).__nonzero__()) { + frame.getlocal(4).__call__(i$2); + } + else { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(3).__getitem__(i$4).invoke("getwidth"), 2); + frame.setlocal(6, t$0$PyObject__[0]); + frame.setlocal(9, t$0$PyObject__[1]); + if (frame.getlocal(6)._ne(frame.getlocal(9)).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$6); + } + frame.getlocal(4).__call__(frame.getlocal(6)); + } + frame.getglobal("_compile").__call__(frame.getlocal(0), frame.getlocal(3).__getitem__(i$4), frame.getlocal(2)); + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("SUCCESS"))); + frame.getlocal(0).__setitem__(frame.getlocal(5), frame.getglobal("len").__call__(frame.getlocal(0))._sub(frame.getlocal(5))); + } + else if (frame.getlocal(7)._is(frame.getglobal("CALL")).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getlocal(7))); + frame.setlocal(5, frame.getglobal("len").__call__(frame.getlocal(0))); + frame.getlocal(4).__call__(i$2); + frame.getglobal("_compile").__call__(frame.getlocal(0), frame.getlocal(3), frame.getlocal(2)); + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("SUCCESS"))); + frame.getlocal(0).__setitem__(frame.getlocal(5), frame.getglobal("len").__call__(frame.getlocal(0))._sub(frame.getlocal(5))); + } + else if (frame.getlocal(7)._is(frame.getglobal("AT")).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getlocal(7))); + if (frame.getlocal(2)._and(frame.getglobal("SRE_FLAG_MULTILINE")).__nonzero__()) { + frame.setlocal(3, frame.getglobal("AT_MULTILINE").invoke("get", frame.getlocal(3), frame.getlocal(3))); + } + if (frame.getlocal(2)._and(frame.getglobal("SRE_FLAG_LOCALE")).__nonzero__()) { + frame.setlocal(3, frame.getglobal("AT_LOCALE").invoke("get", frame.getlocal(3), frame.getlocal(3))); + } + else if (frame.getlocal(2)._and(frame.getglobal("SRE_FLAG_UNICODE")).__nonzero__()) { + frame.setlocal(3, frame.getglobal("AT_UNICODE").invoke("get", frame.getlocal(3), frame.getlocal(3))); + } + frame.getlocal(4).__call__(frame.getglobal("ATCODES").__getitem__(frame.getlocal(3))); + } + else if (frame.getlocal(7)._is(frame.getglobal("BRANCH")).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getlocal(7))); + frame.setlocal(10, new PyList(new PyObject[] {})); + t$1$int = 0; + t$3$PyObject = frame.getlocal(3).__getitem__(i$4); + while ((t$2$PyObject = t$3$PyObject.__finditem__(t$1$int++)) != null) { + frame.setlocal(3, t$2$PyObject); + frame.setlocal(5, frame.getglobal("len").__call__(frame.getlocal(0))); + frame.getlocal(4).__call__(i$2); + frame.getglobal("_compile").__call__(frame.getlocal(0), frame.getlocal(3), frame.getlocal(2)); + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("JUMP"))); + frame.getlocal(10).invoke("append", frame.getglobal("len").__call__(frame.getlocal(0))); + frame.getlocal(4).__call__(i$2); + frame.getlocal(0).__setitem__(frame.getlocal(5), frame.getglobal("len").__call__(frame.getlocal(0))._sub(frame.getlocal(5))); + } + frame.getlocal(4).__call__(i$2); + t$2$int = 0; + t$5$PyObject = frame.getlocal(10); + while ((t$4$PyObject = t$5$PyObject.__finditem__(t$2$int++)) != null) { + frame.setlocal(10, t$4$PyObject); + frame.getlocal(0).__setitem__(frame.getlocal(10), frame.getglobal("len").__call__(frame.getlocal(0))._sub(frame.getlocal(10))); + } + } + else if (frame.getlocal(7)._is(frame.getglobal("CATEGORY")).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getlocal(7))); + if (frame.getlocal(2)._and(frame.getglobal("SRE_FLAG_LOCALE")).__nonzero__()) { + frame.setlocal(3, frame.getglobal("CH_LOCALE").__getitem__(frame.getlocal(3))); + } + else if (frame.getlocal(2)._and(frame.getglobal("SRE_FLAG_UNICODE")).__nonzero__()) { + frame.setlocal(3, frame.getglobal("CH_UNICODE").__getitem__(frame.getlocal(3))); + } + frame.getlocal(4).__call__(frame.getglobal("CHCODES").__getitem__(frame.getlocal(3))); + } + else if (frame.getlocal(7)._is(frame.getglobal("GROUPREF")).__nonzero__()) { + if (frame.getlocal(2)._and(frame.getglobal("SRE_FLAG_IGNORECASE")).__nonzero__()) { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("OP_IGNORE").__getitem__(frame.getlocal(7)))); + } + else { + frame.getlocal(4).__call__(frame.getglobal("OPCODES").__getitem__(frame.getlocal(7))); + } + frame.getlocal(4).__call__(frame.getlocal(3)._sub(i$4)); + } + else { + throw Py.makeException(frame.getglobal("ValueError"), new PyTuple(new PyObject[] {s$7, frame.getlocal(7)})); + } + } + return Py.None; + } + + private static PyObject lambda$4(PyFrame frame) { + return frame.getlocal(0); + } + + private static PyObject _compile_charset$5(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(6, frame.getlocal(2).__getattr__("append")); + if (frame.getlocal(3).__not__().__nonzero__()) { + frame.setlocal(3, new PyFunction(frame.f_globals, new PyObject[] {}, c$3_lambda)); + } + t$0$int = 0; + t$1$PyObject = frame.getglobal("_optimize_charset").__call__(frame.getlocal(0), frame.getlocal(3)); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(4, t$0$PyObject__[0]); + frame.setlocal(5, t$0$PyObject__[1]); + frame.getlocal(6).__call__(frame.getglobal("OPCODES").__getitem__(frame.getlocal(4))); + if (frame.getlocal(4)._is(frame.getglobal("NEGATE")).__nonzero__()) { + // pass + } + else if (frame.getlocal(4)._is(frame.getglobal("LITERAL")).__nonzero__()) { + frame.getlocal(6).__call__(frame.getlocal(3).__call__(frame.getlocal(5))); + } + else if (frame.getlocal(4)._is(frame.getglobal("RANGE")).__nonzero__()) { + frame.getlocal(6).__call__(frame.getlocal(3).__call__(frame.getlocal(5).__getitem__(i$2))); + frame.getlocal(6).__call__(frame.getlocal(3).__call__(frame.getlocal(5).__getitem__(i$4))); + } + else if (frame.getlocal(4)._is(frame.getglobal("CHARSET")).__nonzero__()) { + frame.getlocal(2).invoke("extend", frame.getlocal(5)); + } + else if (frame.getlocal(4)._is(frame.getglobal("CATEGORY")).__nonzero__()) { + if (frame.getlocal(1)._and(frame.getglobal("SRE_FLAG_LOCALE")).__nonzero__()) { + frame.getlocal(6).__call__(frame.getglobal("CHCODES").__getitem__(frame.getglobal("CH_LOCALE").__getitem__(frame.getlocal(5)))); + } + else if (frame.getlocal(1)._and(frame.getglobal("SRE_FLAG_UNICODE")).__nonzero__()) { + frame.getlocal(6).__call__(frame.getglobal("CHCODES").__getitem__(frame.getglobal("CH_UNICODE").__getitem__(frame.getlocal(5)))); + } + else { + frame.getlocal(6).__call__(frame.getglobal("CHCODES").__getitem__(frame.getlocal(5))); + } + } + else { + throw Py.makeException(frame.getglobal("error"), s$8); + } + } + frame.getlocal(6).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("FAILURE"))); + return Py.None; + } + + private static PyObject _optimize_charset$6(PyFrame frame) { + // Temporary Variables + int t$0$int, t$1$int, t$2$int, t$3$int, t$4$int; + PyObject[] t$0$PyObject__; + PyException t$0$PyException; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject, t$3$PyObject, t$4$PyObject, t$5$PyObject, t$6$PyObject, t$7$PyObject, t$8$PyObject, t$9$PyObject; + + // Code + frame.setlocal(11, new PyList(new PyObject[] {})); + frame.setlocal(5, new PyList(new PyObject[] {i$2})._mul(i$9)); + try { + t$0$int = 0; + t$1$PyObject = frame.getlocal(0); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(2, t$0$PyObject__[0]); + frame.setlocal(4, t$0$PyObject__[1]); + if (frame.getlocal(2)._is(frame.getglobal("NEGATE")).__nonzero__()) { + frame.getlocal(11).invoke("append", new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(4)})); + } + else if (frame.getlocal(2)._is(frame.getglobal("LITERAL")).__nonzero__()) { + frame.getlocal(5).__setitem__(frame.getlocal(1).__call__(frame.getlocal(4)), i$4); + } + else if (frame.getlocal(2)._is(frame.getglobal("RANGE")).__nonzero__()) { + t$1$int = 0; + t$3$PyObject = frame.getglobal("range").__call__(frame.getlocal(1).__call__(frame.getlocal(4).__getitem__(i$2)), frame.getlocal(1).__call__(frame.getlocal(4).__getitem__(i$4))._add(i$4)); + while ((t$2$PyObject = t$3$PyObject.__finditem__(t$1$int++)) != null) { + frame.setlocal(10, t$2$PyObject); + frame.getlocal(5).__setitem__(frame.getlocal(10), i$4); + } + } + else if (frame.getlocal(2)._is(frame.getglobal("CATEGORY")).__nonzero__()) { + return frame.getlocal(0); + } + } + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("IndexError"))) { + return frame.getlocal(0); + } + else throw t$0$PyException; + } + t$4$PyObject = i$2; + frame.setlocal(10, t$4$PyObject); + frame.setlocal(6, t$4$PyObject); + frame.setlocal(7, t$4$PyObject); + frame.setlocal(9, new PyList(new PyObject[] {})); + t$2$int = 0; + t$5$PyObject = frame.getlocal(5); + while ((t$4$PyObject = t$5$PyObject.__finditem__(t$2$int++)) != null) { + frame.setlocal(12, t$4$PyObject); + if (frame.getlocal(12).__nonzero__()) { + if (frame.getlocal(7)._eq(i$2).__nonzero__()) { + frame.setlocal(6, frame.getlocal(10)); + } + frame.setlocal(7, frame.getlocal(7)._add(i$4)); + } + else if (frame.getlocal(7).__nonzero__()) { + frame.getlocal(9).invoke("append", new PyTuple(new PyObject[] {frame.getlocal(6), frame.getlocal(7)})); + frame.setlocal(7, i$2); + } + frame.setlocal(10, frame.getlocal(10)._add(i$4)); + } + if (frame.getlocal(7).__nonzero__()) { + frame.getlocal(9).invoke("append", new PyTuple(new PyObject[] {frame.getlocal(6), frame.getlocal(7)})); + } + if (frame.getglobal("len").__call__(frame.getlocal(9))._le(i$5).__nonzero__()) { + t$3$int = 0; + t$7$PyObject = frame.getlocal(9); + while ((t$6$PyObject = t$7$PyObject.__finditem__(t$3$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$6$PyObject, 2); + frame.setlocal(6, t$0$PyObject__[0]); + frame.setlocal(7, t$0$PyObject__[1]); + if (frame.getlocal(7)._eq(i$4).__nonzero__()) { + frame.getlocal(11).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getlocal(6)})); + } + else { + frame.getlocal(11).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("RANGE"), new PyTuple(new PyObject[] {frame.getlocal(6), frame.getlocal(6)._add(frame.getlocal(7))._sub(i$4)})})); + } + } + if (frame.getglobal("len").__call__(frame.getlocal(11))._lt(frame.getglobal("len").__call__(frame.getlocal(0))).__nonzero__()) { + return frame.getlocal(11); + } + } + else { + frame.setlocal(13, new PyList(new PyObject[] {})); + frame.setlocal(8, i$4); + frame.setlocal(3, i$2); + t$4$int = 0; + t$9$PyObject = frame.getlocal(5); + while ((t$8$PyObject = t$9$PyObject.__finditem__(t$4$int++)) != null) { + frame.setlocal(12, t$8$PyObject); + if (frame.getlocal(12).__nonzero__()) { + frame.setlocal(3, frame.getlocal(3)._add(frame.getlocal(8))); + } + frame.setlocal(8, frame.getlocal(8)._lshift(i$4)); + if (frame.getlocal(8)._gt(frame.getglobal("MAXCODE")).__nonzero__()) { + frame.getlocal(13).invoke("append", frame.getlocal(3)); + frame.setlocal(8, i$4); + frame.setlocal(3, i$2); + } + } + frame.getlocal(11).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("CHARSET"), frame.getlocal(13)})); + return frame.getlocal(11); + } + return frame.getlocal(0); + } + + private static PyObject _simple$7(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(0).__getitem__(i$5).invoke("getwidth"), 2); + frame.setlocal(2, t$0$PyObject__[0]); + frame.setlocal(1, t$0$PyObject__[1]); + if (((t$0$PyObject = frame.getlocal(2)._eq(i$2)).__nonzero__() ? frame.getlocal(1)._eq(frame.getglobal("MAXREPEAT")) : t$0$PyObject).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$10); + } + return (t$0$PyObject = (frame.getlocal(2)._eq(t$1$PyObject = frame.getlocal(1)).__nonzero__() ? t$1$PyObject._eq(i$4) : Py.Zero)).__nonzero__() ? frame.getlocal(0).__getitem__(i$5).__getitem__(i$2).__getitem__(i$2)._ne(frame.getglobal("SUBPATTERN")) : t$0$PyObject; + } + + private static PyObject _compile_info$8(PyFrame frame) { + // Temporary Variables + int t$0$int, t$1$int, t$2$int, t$3$int; + boolean t$0$boolean; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject, t$3$PyObject, t$4$PyObject, t$5$PyObject, t$6$PyObject, t$7$PyObject, t$8$PyObject; + + // Code + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(1).invoke("getwidth"), 2); + frame.setlocal(5, t$0$PyObject__[0]); + frame.setlocal(3, t$0$PyObject__[1]); + if (frame.getlocal(5)._eq(i$2).__nonzero__()) { + return Py.None; + } + frame.setlocal(11, new PyList(new PyObject[] {})); + frame.setlocal(16, i$2); + frame.setlocal(4, new PyList(new PyObject[] {})); + if (frame.getlocal(2)._and(frame.getglobal("SRE_FLAG_IGNORECASE")).__not__().__nonzero__()) { + t$0$int = 0; + t$1$PyObject = frame.getlocal(1).__getattr__("data"); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(6, t$0$PyObject__[0]); + frame.setlocal(7, t$0$PyObject__[1]); + if (frame.getlocal(6)._is(frame.getglobal("LITERAL")).__nonzero__()) { + if (frame.getglobal("len").__call__(frame.getlocal(11))._eq(frame.getlocal(16)).__nonzero__()) { + frame.setlocal(16, frame.getlocal(16)._add(i$4)); + } + frame.getlocal(11).invoke("append", frame.getlocal(7)); + } + else if (((t$2$PyObject = frame.getlocal(6)._is(frame.getglobal("SUBPATTERN"))).__nonzero__() ? frame.getglobal("len").__call__(frame.getlocal(7).__getitem__(i$4))._eq(i$4) : t$2$PyObject).__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(7).__getitem__(i$4).__getitem__(i$2), 2); + frame.setlocal(6, t$0$PyObject__[0]); + frame.setlocal(7, t$0$PyObject__[1]); + if (frame.getlocal(6)._is(frame.getglobal("LITERAL")).__nonzero__()) { + frame.getlocal(11).invoke("append", frame.getlocal(7)); + } + else { + break; + } + } + else { + break; + } + } + if (((t$2$PyObject = frame.getlocal(11).__not__()).__nonzero__() ? frame.getlocal(1).__getattr__("data") : t$2$PyObject).__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(1).__getattr__("data").__getitem__(i$2), 2); + frame.setlocal(6, t$0$PyObject__[0]); + frame.setlocal(7, t$0$PyObject__[1]); + if (((t$2$PyObject = frame.getlocal(6)._is(frame.getglobal("SUBPATTERN"))).__nonzero__() ? frame.getlocal(7).__getitem__(i$4) : t$2$PyObject).__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(7).__getitem__(i$4).__getitem__(i$2), 2); + frame.setlocal(6, t$0$PyObject__[0]); + frame.setlocal(7, t$0$PyObject__[1]); + if (frame.getlocal(6)._is(frame.getglobal("LITERAL")).__nonzero__()) { + frame.getlocal(4).invoke("append", new PyTuple(new PyObject[] {frame.getlocal(6), frame.getlocal(7)})); + } + else if (frame.getlocal(6)._is(frame.getglobal("BRANCH")).__nonzero__()) { + frame.setlocal(15, new PyList(new PyObject[] {})); + t$1$int = 0; + t$3$PyObject = frame.getlocal(7).__getitem__(i$4); + while (t$0$boolean=(t$2$PyObject = t$3$PyObject.__finditem__(t$1$int++)) != null) { + frame.setlocal(9, t$2$PyObject); + if (frame.getlocal(9).__not__().__nonzero__()) { + break; + } + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(9).__getitem__(i$2), 2); + frame.setlocal(6, t$0$PyObject__[0]); + frame.setlocal(7, t$0$PyObject__[1]); + if (frame.getlocal(6)._is(frame.getglobal("LITERAL")).__nonzero__()) { + frame.getlocal(15).invoke("append", new PyTuple(new PyObject[] {frame.getlocal(6), frame.getlocal(7)})); + } + else { + break; + } + } + if (!t$0$boolean) { + frame.setlocal(4, frame.getlocal(15)); + } + } + } + else if (frame.getlocal(6)._is(frame.getglobal("BRANCH")).__nonzero__()) { + frame.setlocal(15, new PyList(new PyObject[] {})); + t$2$int = 0; + t$5$PyObject = frame.getlocal(7).__getitem__(i$4); + while (t$0$boolean=(t$4$PyObject = t$5$PyObject.__finditem__(t$2$int++)) != null) { + frame.setlocal(9, t$4$PyObject); + if (frame.getlocal(9).__not__().__nonzero__()) { + break; + } + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(9).__getitem__(i$2), 2); + frame.setlocal(6, t$0$PyObject__[0]); + frame.setlocal(7, t$0$PyObject__[1]); + if (frame.getlocal(6)._is(frame.getglobal("LITERAL")).__nonzero__()) { + frame.getlocal(15).invoke("append", new PyTuple(new PyObject[] {frame.getlocal(6), frame.getlocal(7)})); + } + else { + break; + } + } + if (!t$0$boolean) { + frame.setlocal(4, frame.getlocal(15)); + } + } + else if (frame.getlocal(6)._is(frame.getglobal("IN")).__nonzero__()) { + frame.setlocal(4, frame.getlocal(7)); + } + } + } + frame.setlocal(8, frame.getlocal(0).__getattr__("append")); + frame.getlocal(8).__call__(frame.getglobal("OPCODES").__getitem__(frame.getglobal("INFO"))); + frame.setlocal(10, frame.getglobal("len").__call__(frame.getlocal(0))); + frame.getlocal(8).__call__(i$2); + frame.setlocal(13, i$2); + if (frame.getlocal(11).__nonzero__()) { + frame.setlocal(13, frame.getglobal("SRE_INFO_PREFIX")); + if ((frame.getglobal("len").__call__(frame.getlocal(11))._eq(t$6$PyObject = frame.getlocal(16)).__nonzero__() ? t$6$PyObject._eq(frame.getglobal("len").__call__(frame.getlocal(1).__getattr__("data"))) : Py.Zero).__nonzero__()) { + frame.setlocal(13, frame.getlocal(13)._add(frame.getglobal("SRE_INFO_LITERAL"))); + } + } + else if (frame.getlocal(4).__nonzero__()) { + frame.setlocal(13, frame.getlocal(13)._add(frame.getglobal("SRE_INFO_CHARSET"))); + } + frame.getlocal(8).__call__(frame.getlocal(13)); + if (frame.getlocal(5)._lt(frame.getglobal("MAXCODE")).__nonzero__()) { + frame.getlocal(8).__call__(frame.getlocal(5)); + } + else { + frame.getlocal(8).__call__(frame.getglobal("MAXCODE")); + frame.setlocal(11, frame.getlocal(11).__getslice__(null, frame.getglobal("MAXCODE"), null)); + } + if (frame.getlocal(3)._lt(frame.getglobal("MAXCODE")).__nonzero__()) { + frame.getlocal(8).__call__(frame.getlocal(3)); + } + else { + frame.getlocal(8).__call__(i$2); + } + if (frame.getlocal(11).__nonzero__()) { + frame.getlocal(8).__call__(frame.getglobal("len").__call__(frame.getlocal(11))); + frame.getlocal(8).__call__(frame.getlocal(16)); + frame.getlocal(0).invoke("extend", frame.getlocal(11)); + frame.setlocal(14, new PyList(new PyObject[] {i$4.__neg__()})._add(new PyList(new PyObject[] {i$2})._mul(frame.getglobal("len").__call__(frame.getlocal(11))))); + t$3$int = 0; + t$7$PyObject = frame.getglobal("range").__call__(frame.getglobal("len").__call__(frame.getlocal(11))); + while ((t$6$PyObject = t$7$PyObject.__finditem__(t$3$int++)) != null) { + frame.setlocal(12, t$6$PyObject); + frame.getlocal(14).__setitem__(frame.getlocal(12)._add(i$4), frame.getlocal(14).__getitem__(frame.getlocal(12))._add(i$4)); + while (((t$8$PyObject = frame.getlocal(14).__getitem__(frame.getlocal(12)._add(i$4))._gt(i$2)).__nonzero__() ? frame.getlocal(11).__getitem__(frame.getlocal(12))._ne(frame.getlocal(11).__getitem__(frame.getlocal(14).__getitem__(frame.getlocal(12)._add(i$4))._sub(i$4))) : t$8$PyObject).__nonzero__()) { + frame.getlocal(14).__setitem__(frame.getlocal(12)._add(i$4), frame.getlocal(14).__getitem__(frame.getlocal(14).__getitem__(frame.getlocal(12)._add(i$4))._sub(i$4))._add(i$4)); + } + } + frame.getlocal(0).invoke("extend", frame.getlocal(14).__getslice__(i$4, null, null)); + } + else if (frame.getlocal(4).__nonzero__()) { + frame.getglobal("_compile_charset").__call__(frame.getlocal(4), i$2, frame.getlocal(0)); + } + frame.getlocal(0).__setitem__(frame.getlocal(10), frame.getglobal("len").__call__(frame.getlocal(0))._sub(frame.getlocal(10))); + return Py.None; + } + + private static PyObject _code$9(PyFrame frame) { + frame.setlocal(1, frame.getlocal(0).__getattr__("pattern").__getattr__("flags")._or(frame.getlocal(1))); + frame.setlocal(2, new PyList(new PyObject[] {})); + frame.getglobal("_compile_info").__call__(frame.getlocal(2), frame.getlocal(0), frame.getlocal(1)); + frame.getglobal("_compile").__call__(frame.getlocal(2), frame.getlocal(0).__getattr__("data"), frame.getlocal(1)); + frame.getlocal(2).invoke("append", frame.getglobal("OPCODES").__getitem__(frame.getglobal("SUCCESS"))); + return frame.getlocal(2); + } + + private static PyObject compile$10(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + if (frame.getglobal("type").__call__(frame.getlocal(0))._in(frame.getglobal("STRING_TYPES")).__nonzero__()) { + frame.setlocal(7, org.python.core.imp.importOne("sre_parse", frame)); + frame.setlocal(8, frame.getlocal(0)); + frame.setlocal(0, frame.getlocal(7).__getattr__("parse").__call__(frame.getlocal(0), frame.getlocal(1))); + } + else { + frame.setlocal(8, frame.getglobal("None")); + } + frame.setlocal(3, frame.getglobal("_code").__call__(frame.getlocal(0), frame.getlocal(1))); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("pattern").__getattr__("groups")._le(i$12), s$13); + frame.setlocal(2, frame.getlocal(0).__getattr__("pattern").__getattr__("groupdict")); + frame.setlocal(4, new PyList(new PyObject[] {frame.getglobal("None")})._mul(frame.getlocal(0).__getattr__("pattern").__getattr__("groups"))); + t$0$int = 0; + t$1$PyObject = frame.getlocal(2).invoke("items"); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(5, t$0$PyObject__[0]); + frame.setlocal(6, t$0$PyObject__[1]); + frame.getlocal(4).__setitem__(frame.getlocal(6), frame.getlocal(5)); + } + return frame.getglobal("_sre").__getattr__("compile").__call__(new PyObject[] {frame.getlocal(8), frame.getlocal(1), frame.getlocal(3), frame.getlocal(0).__getattr__("pattern").__getattr__("groups")._sub(i$4), frame.getlocal(2), frame.getlocal(4)}); + } + + private static PyObject main$11(PyFrame frame) { + frame.setglobal("__file__", s$14); + + // Temporary Variables + PyException t$0$PyException; + + // Code + frame.setlocal("_sre", org.python.core.imp.importOne("_sre", frame)); + org.python.core.imp.importAll("sre_constants", frame); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getname("_sre").__getattr__("MAGIC")._eq(frame.getname("MAGIC")), s$0); + frame.setlocal("MAXCODE", i$1); + frame.setlocal("_compile", new PyFunction(frame.f_globals, new PyObject[] {}, c$2__compile)); + frame.setlocal("_compile_charset", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$4__compile_charset)); + frame.setlocal("_optimize_charset", new PyFunction(frame.f_globals, new PyObject[] {}, c$5__optimize_charset)); + frame.setlocal("_simple", new PyFunction(frame.f_globals, new PyObject[] {}, c$6__simple)); + frame.setlocal("_compile_info", new PyFunction(frame.f_globals, new PyObject[] {}, c$7__compile_info)); + frame.setlocal("STRING_TYPES", new PyList(new PyObject[] {frame.getname("type").__call__(s$11)})); + try { + frame.getname("STRING_TYPES").invoke("append", frame.getname("type").__call__(frame.getname("unicode").__call__(s$11))); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getname("NameError"))) { + // pass + } + else throw t$0$PyException; + } + frame.setlocal("_code", new PyFunction(frame.f_globals, new PyObject[] {}, c$8__code)); + frame.setlocal("compile", new PyFunction(frame.f_globals, new PyObject[] {i$2}, c$9_compile)); + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("sre_compile")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "sre_compile"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(sre_compile._PyInner.class, newargs, sre_compile.jpy$packages, sre_compile.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/sre_constants$_PyInner.class b/server/jpywork/sre_constants$_PyInner.class new file mode 100644 index 0000000000000000000000000000000000000000..cce46552132a33a257d5547c578f0d86a2ee07e0 GIT binary patch literal 14414 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 DinWJ@ literal 0 HcmV?d00001 diff --git a/server/jpywork/sre_constants.java b/server/jpywork/sre_constants.java new file mode 100644 index 00000000..8e993cce --- /dev/null +++ b/server/jpywork/sre_constants.java @@ -0,0 +1,407 @@ +import org.python.core.*; + +public class sre_constants extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject i$0; + private static PyObject i$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject s$8; + private static PyObject s$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyObject s$13; + private static PyObject s$14; + private static PyObject s$15; + private static PyObject s$16; + private static PyObject s$17; + private static PyObject s$18; + private static PyObject s$19; + private static PyObject s$20; + private static PyObject s$21; + private static PyObject s$22; + private static PyObject s$23; + private static PyObject s$24; + private static PyObject s$25; + private static PyObject s$26; + private static PyObject s$27; + private static PyObject s$28; + private static PyObject s$29; + private static PyObject s$30; + private static PyObject s$31; + private static PyObject s$32; + private static PyObject s$33; + private static PyObject s$34; + private static PyObject s$35; + private static PyObject s$36; + private static PyObject s$37; + private static PyObject s$38; + private static PyObject s$39; + private static PyObject s$40; + private static PyObject s$41; + private static PyObject s$42; + private static PyObject s$43; + private static PyObject s$44; + private static PyObject s$45; + private static PyObject s$46; + private static PyObject s$47; + private static PyObject s$48; + private static PyObject s$49; + private static PyObject s$50; + private static PyObject s$51; + private static PyObject s$52; + private static PyObject s$53; + private static PyObject s$54; + private static PyObject s$55; + private static PyObject s$56; + private static PyObject s$57; + private static PyObject s$58; + private static PyObject s$59; + private static PyObject s$60; + private static PyObject s$61; + private static PyObject s$62; + private static PyObject i$63; + private static PyObject i$64; + private static PyObject i$65; + private static PyObject i$66; + private static PyObject i$67; + private static PyObject i$68; + private static PyObject i$69; + private static PyObject i$70; + private static PyObject i$71; + private static PyObject s$72; + private static PyObject s$73; + private static PyObject s$74; + private static PyObject s$75; + private static PyObject s$76; + private static PyObject s$77; + private static PyObject s$78; + private static PyObject s$79; + private static PyObject s$80; + private static PyObject s$81; + private static PyObject s$82; + private static PyObject s$83; + private static PyObject s$84; + private static PyObject s$85; + private static PyObject s$86; + private static PyObject s$87; + private static PyObject s$88; + private static PyObject s$89; + private static PyObject s$90; + private static PyObject s$91; + private static PyFunctionTable funcTable; + private static PyCode c$0_error; + private static PyCode c$1_makedict; + private static PyCode c$2_lambda; + private static PyCode c$3_dump; + private static PyCode c$4_main; + private static void initConstants() { + i$0 = Py.newInteger(20010320); + i$1 = Py.newInteger(65535); + s$2 = Py.newString("failure"); + s$3 = Py.newString("success"); + s$4 = Py.newString("any"); + s$5 = Py.newString("any_all"); + s$6 = Py.newString("assert"); + s$7 = Py.newString("assert_not"); + s$8 = Py.newString("at"); + s$9 = Py.newString("branch"); + s$10 = Py.newString("call"); + s$11 = Py.newString("category"); + s$12 = Py.newString("charset"); + s$13 = Py.newString("groupref"); + s$14 = Py.newString("groupref_ignore"); + s$15 = Py.newString("in"); + s$16 = Py.newString("in_ignore"); + s$17 = Py.newString("info"); + s$18 = Py.newString("jump"); + s$19 = Py.newString("literal"); + s$20 = Py.newString("literal_ignore"); + s$21 = Py.newString("mark"); + s$22 = Py.newString("max_repeat"); + s$23 = Py.newString("max_until"); + s$24 = Py.newString("min_repeat"); + s$25 = Py.newString("min_until"); + s$26 = Py.newString("negate"); + s$27 = Py.newString("not_literal"); + s$28 = Py.newString("not_literal_ignore"); + s$29 = Py.newString("range"); + s$30 = Py.newString("repeat"); + s$31 = Py.newString("repeat_one"); + s$32 = Py.newString("subpattern"); + s$33 = Py.newString("at_beginning"); + s$34 = Py.newString("at_beginning_line"); + s$35 = Py.newString("at_beginning_string"); + s$36 = Py.newString("at_boundary"); + s$37 = Py.newString("at_non_boundary"); + s$38 = Py.newString("at_end"); + s$39 = Py.newString("at_end_line"); + s$40 = Py.newString("at_end_string"); + s$41 = Py.newString("at_loc_boundary"); + s$42 = Py.newString("at_loc_non_boundary"); + s$43 = Py.newString("at_uni_boundary"); + s$44 = Py.newString("at_uni_non_boundary"); + s$45 = Py.newString("category_digit"); + s$46 = Py.newString("category_not_digit"); + s$47 = Py.newString("category_space"); + s$48 = Py.newString("category_not_space"); + s$49 = Py.newString("category_word"); + s$50 = Py.newString("category_not_word"); + s$51 = Py.newString("category_linebreak"); + s$52 = Py.newString("category_not_linebreak"); + s$53 = Py.newString("category_loc_word"); + s$54 = Py.newString("category_loc_not_word"); + s$55 = Py.newString("category_uni_digit"); + s$56 = Py.newString("category_uni_not_digit"); + s$57 = Py.newString("category_uni_space"); + s$58 = Py.newString("category_uni_not_space"); + s$59 = Py.newString("category_uni_word"); + s$60 = Py.newString("category_uni_not_word"); + s$61 = Py.newString("category_uni_linebreak"); + s$62 = Py.newString("category_uni_not_linebreak"); + i$63 = Py.newInteger(0); + i$64 = Py.newInteger(1); + i$65 = Py.newInteger(2); + i$66 = Py.newInteger(4); + i$67 = Py.newInteger(8); + i$68 = Py.newInteger(16); + i$69 = Py.newInteger(32); + i$70 = Py.newInteger(64); + i$71 = Py.newInteger(128); + s$72 = Py.newString("__main__"); + s$73 = Py.newString("#define %s_%s %s\012"); + s$74 = Py.newString("sre_constants.h"); + s$75 = Py.newString("w"); + s$76 = Py.newString("/*\012 * Secret Labs' Regular Expression Engine\012 *\012 * regular expression matching engine\012 *\012 * NOTE: This file is generated by sre_constants.py. If you need\012 * to change anything in here, edit sre_constants.py and run it.\012 *\012 * Copyright (c) 1997-2001 by Secret Labs AB. All rights reserved.\012 *\012 * See the _sre.c file for information on usage and redistribution.\012 */\012\012"); + s$77 = Py.newString("#define SRE_MAGIC %d\012"); + s$78 = Py.newString("SRE_OP"); + s$79 = Py.newString("SRE"); + s$80 = Py.newString("#define SRE_FLAG_TEMPLATE %d\012"); + s$81 = Py.newString("#define SRE_FLAG_IGNORECASE %d\012"); + s$82 = Py.newString("#define SRE_FLAG_LOCALE %d\012"); + s$83 = Py.newString("#define SRE_FLAG_MULTILINE %d\012"); + s$84 = Py.newString("#define SRE_FLAG_DOTALL %d\012"); + s$85 = Py.newString("#define SRE_FLAG_UNICODE %d\012"); + s$86 = Py.newString("#define SRE_FLAG_VERBOSE %d\012"); + s$87 = Py.newString("#define SRE_INFO_PREFIX %d\012"); + s$88 = Py.newString("#define SRE_INFO_LITERAL %d\012"); + s$89 = Py.newString("#define SRE_INFO_CHARSET %d\012"); + s$90 = Py.newString("done"); + s$91 = Py.newString("/usr/share/jython/Lib-cpython/sre_constants.py"); + funcTable = new _PyInner(); + c$0_error = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/sre_constants.py", "error", false, false, funcTable, 0, null, null, 0, 0); + c$1_makedict = Py.newCode(1, new String[] {"list", "i", "item", "d"}, "/usr/share/jython/Lib-cpython/sre_constants.py", "makedict", false, false, funcTable, 1, null, null, 0, 1); + c$2_lambda = Py.newCode(2, new String[] {"a", "b"}, "/usr/share/jython/Lib-cpython/sre_constants.py", "", false, false, funcTable, 2, null, null, 0, 1); + c$3_dump = Py.newCode(3, new String[] {"f", "d", "prefix", "v", "k", "items"}, "/usr/share/jython/Lib-cpython/sre_constants.py", "dump", false, false, funcTable, 3, null, null, 0, 1); + c$4_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/sre_constants.py", "main", false, false, funcTable, 4, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$4_main == null) _PyInner.initConstants(); + return c$4_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.error$1(frame); + case 1: + return _PyInner.makedict$2(frame); + case 2: + return _PyInner.lambda$3(frame); + case 3: + return _PyInner.dump$4(frame); + case 4: + return _PyInner.main$5(frame); + default: + return null; + } + } + + private static PyObject error$1(PyFrame frame) { + // pass + return frame.getf_locals(); + } + + private static PyObject makedict$2(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(3, new PyDictionary(new PyObject[] {})); + frame.setlocal(1, i$63); + t$0$int = 0; + t$1$PyObject = frame.getlocal(0); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(2, t$0$PyObject); + frame.getlocal(3).__setitem__(frame.getlocal(2), frame.getlocal(1)); + frame.setlocal(1, frame.getlocal(1)._add(i$64)); + } + return frame.getlocal(3); + } + + private static PyObject lambda$3(PyFrame frame) { + return frame.getglobal("cmp").__call__(frame.getlocal(0).__getitem__(i$64), frame.getlocal(1).__getitem__(i$64)); + } + + private static PyObject dump$4(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(5, frame.getlocal(1).invoke("items")); + frame.getlocal(5).invoke("sort", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_lambda)); + t$0$int = 0; + t$1$PyObject = frame.getlocal(5); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(4, t$0$PyObject__[0]); + frame.setlocal(3, t$0$PyObject__[1]); + frame.getlocal(0).invoke("write", s$73._mod(new PyTuple(new PyObject[] {frame.getlocal(2), frame.getglobal("string").__getattr__("upper").__call__(frame.getlocal(4)), frame.getlocal(3)}))); + } + return Py.None; + } + + private static PyObject main$5(PyFrame frame) { + frame.setglobal("__file__", s$91); + + frame.setlocal("MAGIC", i$0); + frame.setlocal("MAXREPEAT", i$1); + frame.setlocal("error", Py.makeClass("error", new PyObject[] {frame.getname("Exception")}, c$0_error, null)); + frame.setlocal("FAILURE", s$2); + frame.setlocal("SUCCESS", s$3); + frame.setlocal("ANY", s$4); + frame.setlocal("ANY_ALL", s$5); + frame.setlocal("ASSERT", s$6); + frame.setlocal("ASSERT_NOT", s$7); + frame.setlocal("AT", s$8); + frame.setlocal("BRANCH", s$9); + frame.setlocal("CALL", s$10); + frame.setlocal("CATEGORY", s$11); + frame.setlocal("CHARSET", s$12); + frame.setlocal("GROUPREF", s$13); + frame.setlocal("GROUPREF_IGNORE", s$14); + frame.setlocal("IN", s$15); + frame.setlocal("IN_IGNORE", s$16); + frame.setlocal("INFO", s$17); + frame.setlocal("JUMP", s$18); + frame.setlocal("LITERAL", s$19); + frame.setlocal("LITERAL_IGNORE", s$20); + frame.setlocal("MARK", s$21); + frame.setlocal("MAX_REPEAT", s$22); + frame.setlocal("MAX_UNTIL", s$23); + frame.setlocal("MIN_REPEAT", s$24); + frame.setlocal("MIN_UNTIL", s$25); + frame.setlocal("NEGATE", s$26); + frame.setlocal("NOT_LITERAL", s$27); + frame.setlocal("NOT_LITERAL_IGNORE", s$28); + frame.setlocal("RANGE", s$29); + frame.setlocal("REPEAT", s$30); + frame.setlocal("REPEAT_ONE", s$31); + frame.setlocal("SUBPATTERN", s$32); + frame.setlocal("AT_BEGINNING", s$33); + frame.setlocal("AT_BEGINNING_LINE", s$34); + frame.setlocal("AT_BEGINNING_STRING", s$35); + frame.setlocal("AT_BOUNDARY", s$36); + frame.setlocal("AT_NON_BOUNDARY", s$37); + frame.setlocal("AT_END", s$38); + frame.setlocal("AT_END_LINE", s$39); + frame.setlocal("AT_END_STRING", s$40); + frame.setlocal("AT_LOC_BOUNDARY", s$41); + frame.setlocal("AT_LOC_NON_BOUNDARY", s$42); + frame.setlocal("AT_UNI_BOUNDARY", s$43); + frame.setlocal("AT_UNI_NON_BOUNDARY", s$44); + frame.setlocal("CATEGORY_DIGIT", s$45); + frame.setlocal("CATEGORY_NOT_DIGIT", s$46); + frame.setlocal("CATEGORY_SPACE", s$47); + frame.setlocal("CATEGORY_NOT_SPACE", s$48); + frame.setlocal("CATEGORY_WORD", s$49); + frame.setlocal("CATEGORY_NOT_WORD", s$50); + frame.setlocal("CATEGORY_LINEBREAK", s$51); + frame.setlocal("CATEGORY_NOT_LINEBREAK", s$52); + frame.setlocal("CATEGORY_LOC_WORD", s$53); + frame.setlocal("CATEGORY_LOC_NOT_WORD", s$54); + frame.setlocal("CATEGORY_UNI_DIGIT", s$55); + frame.setlocal("CATEGORY_UNI_NOT_DIGIT", s$56); + frame.setlocal("CATEGORY_UNI_SPACE", s$57); + frame.setlocal("CATEGORY_UNI_NOT_SPACE", s$58); + frame.setlocal("CATEGORY_UNI_WORD", s$59); + frame.setlocal("CATEGORY_UNI_NOT_WORD", s$60); + frame.setlocal("CATEGORY_UNI_LINEBREAK", s$61); + frame.setlocal("CATEGORY_UNI_NOT_LINEBREAK", s$62); + frame.setlocal("OPCODES", new PyList(new PyObject[] {frame.getname("FAILURE"), frame.getname("SUCCESS"), frame.getname("ANY"), frame.getname("ANY_ALL"), frame.getname("ASSERT"), frame.getname("ASSERT_NOT"), frame.getname("AT"), frame.getname("BRANCH"), frame.getname("CALL"), frame.getname("CATEGORY"), frame.getname("CHARSET"), frame.getname("GROUPREF"), frame.getname("GROUPREF_IGNORE"), frame.getname("IN"), frame.getname("IN_IGNORE"), frame.getname("INFO"), frame.getname("JUMP"), frame.getname("LITERAL"), frame.getname("LITERAL_IGNORE"), frame.getname("MARK"), frame.getname("MAX_UNTIL"), frame.getname("MIN_UNTIL"), frame.getname("NOT_LITERAL"), frame.getname("NOT_LITERAL_IGNORE"), frame.getname("NEGATE"), frame.getname("RANGE"), frame.getname("REPEAT"), frame.getname("REPEAT_ONE"), frame.getname("SUBPATTERN")})); + frame.setlocal("ATCODES", new PyList(new PyObject[] {frame.getname("AT_BEGINNING"), frame.getname("AT_BEGINNING_LINE"), frame.getname("AT_BEGINNING_STRING"), frame.getname("AT_BOUNDARY"), frame.getname("AT_NON_BOUNDARY"), frame.getname("AT_END"), frame.getname("AT_END_LINE"), frame.getname("AT_END_STRING"), frame.getname("AT_LOC_BOUNDARY"), frame.getname("AT_LOC_NON_BOUNDARY"), frame.getname("AT_UNI_BOUNDARY"), frame.getname("AT_UNI_NON_BOUNDARY")})); + frame.setlocal("CHCODES", new PyList(new PyObject[] {frame.getname("CATEGORY_DIGIT"), frame.getname("CATEGORY_NOT_DIGIT"), frame.getname("CATEGORY_SPACE"), frame.getname("CATEGORY_NOT_SPACE"), frame.getname("CATEGORY_WORD"), frame.getname("CATEGORY_NOT_WORD"), frame.getname("CATEGORY_LINEBREAK"), frame.getname("CATEGORY_NOT_LINEBREAK"), frame.getname("CATEGORY_LOC_WORD"), frame.getname("CATEGORY_LOC_NOT_WORD"), frame.getname("CATEGORY_UNI_DIGIT"), frame.getname("CATEGORY_UNI_NOT_DIGIT"), frame.getname("CATEGORY_UNI_SPACE"), frame.getname("CATEGORY_UNI_NOT_SPACE"), frame.getname("CATEGORY_UNI_WORD"), frame.getname("CATEGORY_UNI_NOT_WORD"), frame.getname("CATEGORY_UNI_LINEBREAK"), frame.getname("CATEGORY_UNI_NOT_LINEBREAK")})); + frame.setlocal("makedict", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_makedict)); + frame.setlocal("OPCODES", frame.getname("makedict").__call__(frame.getname("OPCODES"))); + frame.setlocal("ATCODES", frame.getname("makedict").__call__(frame.getname("ATCODES"))); + frame.setlocal("CHCODES", frame.getname("makedict").__call__(frame.getname("CHCODES"))); + frame.setlocal("OP_IGNORE", new PyDictionary(new PyObject[] {frame.getname("GROUPREF"), frame.getname("GROUPREF_IGNORE"), frame.getname("IN"), frame.getname("IN_IGNORE"), frame.getname("LITERAL"), frame.getname("LITERAL_IGNORE"), frame.getname("NOT_LITERAL"), frame.getname("NOT_LITERAL_IGNORE")})); + frame.setlocal("AT_MULTILINE", new PyDictionary(new PyObject[] {frame.getname("AT_BEGINNING"), frame.getname("AT_BEGINNING_LINE"), frame.getname("AT_END"), frame.getname("AT_END_LINE")})); + frame.setlocal("AT_LOCALE", new PyDictionary(new PyObject[] {frame.getname("AT_BOUNDARY"), frame.getname("AT_LOC_BOUNDARY"), frame.getname("AT_NON_BOUNDARY"), frame.getname("AT_LOC_NON_BOUNDARY")})); + frame.setlocal("AT_UNICODE", new PyDictionary(new PyObject[] {frame.getname("AT_BOUNDARY"), frame.getname("AT_UNI_BOUNDARY"), frame.getname("AT_NON_BOUNDARY"), frame.getname("AT_UNI_NON_BOUNDARY")})); + frame.setlocal("CH_LOCALE", new PyDictionary(new PyObject[] {frame.getname("CATEGORY_DIGIT"), frame.getname("CATEGORY_DIGIT"), frame.getname("CATEGORY_NOT_DIGIT"), frame.getname("CATEGORY_NOT_DIGIT"), frame.getname("CATEGORY_SPACE"), frame.getname("CATEGORY_SPACE"), frame.getname("CATEGORY_NOT_SPACE"), frame.getname("CATEGORY_NOT_SPACE"), frame.getname("CATEGORY_WORD"), frame.getname("CATEGORY_LOC_WORD"), frame.getname("CATEGORY_NOT_WORD"), frame.getname("CATEGORY_LOC_NOT_WORD"), frame.getname("CATEGORY_LINEBREAK"), frame.getname("CATEGORY_LINEBREAK"), frame.getname("CATEGORY_NOT_LINEBREAK"), frame.getname("CATEGORY_NOT_LINEBREAK")})); + frame.setlocal("CH_UNICODE", new PyDictionary(new PyObject[] {frame.getname("CATEGORY_DIGIT"), frame.getname("CATEGORY_UNI_DIGIT"), frame.getname("CATEGORY_NOT_DIGIT"), frame.getname("CATEGORY_UNI_NOT_DIGIT"), frame.getname("CATEGORY_SPACE"), frame.getname("CATEGORY_UNI_SPACE"), frame.getname("CATEGORY_NOT_SPACE"), frame.getname("CATEGORY_UNI_NOT_SPACE"), frame.getname("CATEGORY_WORD"), frame.getname("CATEGORY_UNI_WORD"), frame.getname("CATEGORY_NOT_WORD"), frame.getname("CATEGORY_UNI_NOT_WORD"), frame.getname("CATEGORY_LINEBREAK"), frame.getname("CATEGORY_UNI_LINEBREAK"), frame.getname("CATEGORY_NOT_LINEBREAK"), frame.getname("CATEGORY_UNI_NOT_LINEBREAK")})); + frame.setlocal("SRE_FLAG_TEMPLATE", i$64); + frame.setlocal("SRE_FLAG_IGNORECASE", i$65); + frame.setlocal("SRE_FLAG_LOCALE", i$66); + frame.setlocal("SRE_FLAG_MULTILINE", i$67); + frame.setlocal("SRE_FLAG_DOTALL", i$68); + frame.setlocal("SRE_FLAG_UNICODE", i$69); + frame.setlocal("SRE_FLAG_VERBOSE", i$70); + frame.setlocal("SRE_FLAG_DEBUG", i$71); + frame.setlocal("SRE_INFO_PREFIX", i$64); + frame.setlocal("SRE_INFO_LITERAL", i$65); + frame.setlocal("SRE_INFO_CHARSET", i$66); + if (frame.getname("__name__")._eq(s$72).__nonzero__()) { + frame.setlocal("string", org.python.core.imp.importOne("string", frame)); + frame.setlocal("dump", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_dump)); + frame.setlocal("f", frame.getname("open").__call__(s$74, s$75)); + frame.getname("f").invoke("write", s$76); + frame.getname("f").invoke("write", s$77._mod(frame.getname("MAGIC"))); + frame.getname("dump").__call__(frame.getname("f"), frame.getname("OPCODES"), s$78); + frame.getname("dump").__call__(frame.getname("f"), frame.getname("ATCODES"), s$79); + frame.getname("dump").__call__(frame.getname("f"), frame.getname("CHCODES"), s$79); + frame.getname("f").invoke("write", s$80._mod(frame.getname("SRE_FLAG_TEMPLATE"))); + frame.getname("f").invoke("write", s$81._mod(frame.getname("SRE_FLAG_IGNORECASE"))); + frame.getname("f").invoke("write", s$82._mod(frame.getname("SRE_FLAG_LOCALE"))); + frame.getname("f").invoke("write", s$83._mod(frame.getname("SRE_FLAG_MULTILINE"))); + frame.getname("f").invoke("write", s$84._mod(frame.getname("SRE_FLAG_DOTALL"))); + frame.getname("f").invoke("write", s$85._mod(frame.getname("SRE_FLAG_UNICODE"))); + frame.getname("f").invoke("write", s$86._mod(frame.getname("SRE_FLAG_VERBOSE"))); + frame.getname("f").invoke("write", s$87._mod(frame.getname("SRE_INFO_PREFIX"))); + frame.getname("f").invoke("write", s$88._mod(frame.getname("SRE_INFO_LITERAL"))); + frame.getname("f").invoke("write", s$89._mod(frame.getname("SRE_INFO_CHARSET"))); + frame.getname("f").invoke("close"); + Py.println(s$90); + } + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("sre_constants")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "sre_constants"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(sre_constants._PyInner.class, newargs, sre_constants.jpy$packages, sre_constants.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/sre_parse$_PyInner.class b/server/jpywork/sre_parse$_PyInner.class new file mode 100644 index 0000000000000000000000000000000000000000..e4ff92173c74d3ffe0885222fae915dd6b3be4b9 GIT binary patch literal 34820 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 E2BJWMrT_o{ literal 0 HcmV?d00001 diff --git a/server/jpywork/sre_parse.java b/server/jpywork/sre_parse.java new file mode 100644 index 00000000..6b42f368 --- /dev/null +++ b/server/jpywork/sre_parse.java @@ -0,0 +1,1544 @@ +import org.python.core.*; + +public class sre_parse extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject s$8; + private static PyObject s$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyObject s$13; + private static PyObject s$14; + private static PyObject s$15; + private static PyObject s$16; + private static PyObject s$17; + private static PyObject s$18; + private static PyObject s$19; + private static PyObject s$20; + private static PyObject s$21; + private static PyObject s$22; + private static PyObject s$23; + private static PyObject s$24; + private static PyObject s$25; + private static PyObject s$26; + private static PyObject s$27; + private static PyObject s$28; + private static PyObject s$29; + private static PyObject s$30; + private static PyObject s$31; + private static PyObject s$32; + private static PyObject s$33; + private static PyObject s$34; + private static PyObject s$35; + private static PyObject s$36; + private static PyObject s$37; + private static PyObject s$38; + private static PyObject i$39; + private static PyObject i$40; + private static PyObject i$41; + private static PyObject s$42; + private static PyObject s$43; + private static PyObject s$44; + private static PyObject s$45; + private static PyObject l$46; + private static PyObject i$47; + private static PyObject s$48; + private static PyObject s$49; + private static PyObject s$50; + private static PyObject s$51; + private static PyObject s$52; + private static PyObject s$53; + private static PyObject s$54; + private static PyObject s$55; + private static PyObject i$56; + private static PyObject s$57; + private static PyObject i$58; + private static PyObject i$59; + private static PyObject i$60; + private static PyObject s$61; + private static PyObject s$62; + private static PyObject s$63; + private static PyObject s$64; + private static PyObject s$65; + private static PyObject s$66; + private static PyObject s$67; + private static PyObject s$68; + private static PyObject s$69; + private static PyObject s$70; + private static PyObject s$71; + private static PyObject s$72; + private static PyObject s$73; + private static PyObject s$74; + private static PyObject s$75; + private static PyObject s$76; + private static PyObject s$77; + private static PyObject s$78; + private static PyObject s$79; + private static PyObject s$80; + private static PyObject s$81; + private static PyObject s$82; + private static PyObject s$83; + private static PyObject s$84; + private static PyObject s$85; + private static PyObject s$86; + private static PyObject s$87; + private static PyObject s$88; + private static PyObject s$89; + private static PyObject s$90; + private static PyObject s$91; + private static PyObject s$92; + private static PyObject s$93; + private static PyObject s$94; + private static PyObject s$95; + private static PyObject s$96; + private static PyObject s$97; + private static PyObject s$98; + private static PyObject s$99; + private static PyObject s$100; + private static PyObject s$101; + private static PyObject s$102; + private static PyObject s$103; + private static PyObject s$104; + private static PyObject i$105; + private static PyObject s$106; + private static PyObject s$107; + private static PyFunctionTable funcTable; + private static PyCode c$0___init__; + private static PyCode c$1_opengroup; + private static PyCode c$2_closegroup; + private static PyCode c$3_checkgroup; + private static PyCode c$4_Pattern; + private static PyCode c$5___init__; + private static PyCode c$6_dump; + private static PyCode c$7___repr__; + private static PyCode c$8___len__; + private static PyCode c$9___delitem__; + private static PyCode c$10___getitem__; + private static PyCode c$11___setitem__; + private static PyCode c$12___getslice__; + private static PyCode c$13_insert; + private static PyCode c$14_append; + private static PyCode c$15_getwidth; + private static PyCode c$16_SubPattern; + private static PyCode c$17___init__; + private static PyCode c$18__Tokenizer__next; + private static PyCode c$19_match; + private static PyCode c$20_get; + private static PyCode c$21_tell; + private static PyCode c$22_seek; + private static PyCode c$23_Tokenizer; + private static PyCode c$24_isident; + private static PyCode c$25_isdigit; + private static PyCode c$26_isname; + private static PyCode c$27__group; + private static PyCode c$28__class_escape; + private static PyCode c$29__escape; + private static PyCode c$30__parse_sub; + private static PyCode c$31__parse; + private static PyCode c$32_parse; + private static PyCode c$33_literal; + private static PyCode c$34_parse_template; + private static PyCode c$35_expand_template; + private static PyCode c$36_main; + private static void initConstants() { + s$0 = Py.newString(".\\[{()*+?^$|"); + s$1 = Py.newString("*+?{"); + s$2 = Py.newString("0123456789"); + s$3 = Py.newString("01234567"); + s$4 = Py.newString("0123456789abcdefABCDEF"); + s$5 = Py.newString(" \011\012\015\013\014"); + s$6 = Py.newString("\\a"); + s$7 = Py.newString("\007"); + s$8 = Py.newString("\\b"); + s$9 = Py.newString("\010"); + s$10 = Py.newString("\\f"); + s$11 = Py.newString("\014"); + s$12 = Py.newString("\\n"); + s$13 = Py.newString("\012"); + s$14 = Py.newString("\\r"); + s$15 = Py.newString("\015"); + s$16 = Py.newString("\\t"); + s$17 = Py.newString("\011"); + s$18 = Py.newString("\\v"); + s$19 = Py.newString("\013"); + s$20 = Py.newString("\\\\"); + s$21 = Py.newString("\\"); + s$22 = Py.newString("\\A"); + s$23 = Py.newString("\\B"); + s$24 = Py.newString("\\d"); + s$25 = Py.newString("\\D"); + s$26 = Py.newString("\\s"); + s$27 = Py.newString("\\S"); + s$28 = Py.newString("\\w"); + s$29 = Py.newString("\\W"); + s$30 = Py.newString("\\Z"); + s$31 = Py.newString("i"); + s$32 = Py.newString("L"); + s$33 = Py.newString("m"); + s$34 = Py.newString("s"); + s$35 = Py.newString("x"); + s$36 = Py.newString("t"); + s$37 = Py.newString("u"); + s$38 = Py.newString("10"); + i$39 = Py.newInteger(8); + i$40 = Py.newInteger(0); + i$41 = Py.newInteger(1); + s$42 = Py.newString(" "); + s$43 = Py.newString("in"); + s$44 = Py.newString("branch"); + s$45 = Py.newString("or"); + l$46 = Py.newLong("0"); + i$47 = Py.newInteger(2); + s$48 = Py.newString("bogus escape"); + s$49 = Py.newString("a"); + s$50 = Py.newString("z"); + s$51 = Py.newString("A"); + s$52 = Py.newString("Z"); + s$53 = Py.newString("_"); + s$54 = Py.newString("0"); + s$55 = Py.newString("9"); + i$56 = Py.newInteger(4); + s$57 = Py.newString("bogus escape: %s"); + i$58 = Py.newInteger(16); + i$59 = Py.newInteger(255); + i$60 = Py.newInteger(5); + s$61 = Py.newString("cannot refer to open group"); + s$62 = Py.newString("|"); + s$63 = Py.newString(")"); + s$64 = Py.newString("pattern not properly closed"); + s$65 = Py.newString("#"); + s$66 = Py.newString("["); + s$67 = Py.newString("^"); + s$68 = Py.newString("]"); + s$69 = Py.newString("unexpected end of regular expression"); + s$70 = Py.newString("-"); + s$71 = Py.newString("bad character range"); + s$72 = Py.newString("?"); + s$73 = Py.newString("*"); + s$74 = Py.newString("+"); + s$75 = Py.newString("{"); + s$76 = Py.newString(""); + s$77 = Py.newString(","); + s$78 = Py.newString("}"); + s$79 = Py.newString("bad repeat interval"); + s$80 = Py.newString("not supported"); + s$81 = Py.newString("nothing to repeat"); + s$82 = Py.newString("multiple repeat"); + s$83 = Py.newString("."); + s$84 = Py.newString("("); + s$85 = Py.newString("P"); + s$86 = Py.newString("<"); + s$87 = Py.newString("unterminated name"); + s$88 = Py.newString(">"); + s$89 = Py.newString("bad character in group name"); + s$90 = Py.newString("="); + s$91 = Py.newString("unknown group name"); + s$92 = Py.newString("unexpected end of pattern"); + s$93 = Py.newString("unknown specifier: ?P%s"); + s$94 = Py.newString(":"); + s$95 = Py.newString("unbalanced parenthesis"); + s$96 = Py.newString("!"); + s$97 = Py.newString("syntax error"); + s$98 = Py.newString("unknown extension"); + s$99 = Py.newString("$"); + s$100 = Py.newString("parser error"); + s$101 = Py.newString("bogus characters at end of regular expression"); + s$102 = Py.newString("\\g"); + s$103 = Py.newString("unterminated group name"); + s$104 = Py.newString("bad group name"); + i$105 = Py.newInteger(6); + s$106 = Py.newString("empty group"); + s$107 = Py.newString("/usr/share/jython/Lib-cpython/sre_parse.py"); + funcTable = new _PyInner(); + c$0___init__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "__init__", false, false, funcTable, 0, null, null, 0, 1); + c$1_opengroup = Py.newCode(2, new String[] {"self", "name", "gid"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "opengroup", false, false, funcTable, 1, null, null, 0, 1); + c$2_closegroup = Py.newCode(2, new String[] {"self", "gid"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "closegroup", false, false, funcTable, 2, null, null, 0, 1); + c$3_checkgroup = Py.newCode(2, new String[] {"self", "gid"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "checkgroup", false, false, funcTable, 3, null, null, 0, 1); + c$4_Pattern = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/sre_parse.py", "Pattern", false, false, funcTable, 4, null, null, 0, 0); + c$5___init__ = Py.newCode(3, new String[] {"self", "pattern", "data"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "__init__", false, false, funcTable, 5, null, null, 0, 1); + c$6_dump = Py.newCode(2, new String[] {"self", "level", "nl", "av", "i", "op", "a"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "dump", false, false, funcTable, 6, null, null, 0, 1); + c$7___repr__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "__repr__", false, false, funcTable, 7, null, null, 0, 1); + c$8___len__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "__len__", false, false, funcTable, 8, null, null, 0, 1); + c$9___delitem__ = Py.newCode(2, new String[] {"self", "index"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "__delitem__", false, false, funcTable, 9, null, null, 0, 1); + c$10___getitem__ = Py.newCode(2, new String[] {"self", "index"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "__getitem__", false, false, funcTable, 10, null, null, 0, 1); + c$11___setitem__ = Py.newCode(3, new String[] {"self", "index", "code"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "__setitem__", false, false, funcTable, 11, null, null, 0, 1); + c$12___getslice__ = Py.newCode(3, new String[] {"self", "start", "stop"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "__getslice__", false, false, funcTable, 12, null, null, 0, 1); + c$13_insert = Py.newCode(3, new String[] {"self", "index", "code"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "insert", false, false, funcTable, 13, null, null, 0, 1); + c$14_append = Py.newCode(2, new String[] {"self", "code"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "append", false, false, funcTable, 14, null, null, 0, 1); + c$15_getwidth = Py.newCode(1, new String[] {"self", "hi", "lo", "op", "av", "l", "j", "i", "h"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "getwidth", false, false, funcTable, 15, null, null, 0, 1); + c$16_SubPattern = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/sre_parse.py", "SubPattern", false, false, funcTable, 16, null, null, 0, 0); + c$17___init__ = Py.newCode(2, new String[] {"self", "string"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "__init__", false, false, funcTable, 17, null, null, 0, 1); + c$18__Tokenizer__next = Py.newCode(1, new String[] {"self", "char", "c"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "_Tokenizer__next", false, false, funcTable, 18, null, null, 0, 1); + c$19_match = Py.newCode(3, new String[] {"self", "char", "skip"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "match", false, false, funcTable, 19, null, null, 0, 1); + c$20_get = Py.newCode(1, new String[] {"self", "this"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "get", false, false, funcTable, 20, null, null, 0, 1); + c$21_tell = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "tell", false, false, funcTable, 21, null, null, 0, 1); + c$22_seek = Py.newCode(2, new String[] {"self", "index"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "seek", false, false, funcTable, 22, null, null, 0, 1); + c$23_Tokenizer = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/sre_parse.py", "Tokenizer", false, false, funcTable, 23, null, null, 0, 0); + c$24_isident = Py.newCode(1, new String[] {"char"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "isident", false, false, funcTable, 24, null, null, 0, 1); + c$25_isdigit = Py.newCode(1, new String[] {"char"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "isdigit", false, false, funcTable, 25, null, null, 0, 1); + c$26_isname = Py.newCode(1, new String[] {"name", "char"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "isname", false, false, funcTable, 26, null, null, 0, 1); + c$27__group = Py.newCode(2, new String[] {"escape", "groups", "gid"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "_group", false, false, funcTable, 27, null, null, 0, 1); + c$28__class_escape = Py.newCode(2, new String[] {"source", "escape", "code"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "_class_escape", false, false, funcTable, 28, null, null, 0, 1); + c$29__escape = Py.newCode(3, new String[] {"source", "escape", "state", "here", "code", "group"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "_escape", false, false, funcTable, 29, null, null, 0, 1); + c$30__parse_sub = Py.newCode(3, new String[] {"source", "state", "nested", "subpattern", "prefix", "items", "set", "item"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "_parse_sub", false, false, funcTable, 30, null, null, 0, 1); + c$31__parse = Py.newCode(2, new String[] {"source", "state", "code", "this", "name", "group", "code2", "code1", "max", "start", "set", "item", "subpattern", "lo", "here", "char", "gid", "p", "dir", "min", "hi"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "_parse", false, false, funcTable, 31, null, null, 0, 1); + c$32_parse = Py.newCode(3, new String[] {"str", "flags", "pattern", "source", "p", "tail"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "parse", false, false, funcTable, 32, null, null, 0, 1); + c$33_literal = Py.newCode(2, new String[] {"literal", "p"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "literal", false, false, funcTable, 33, null, null, 0, 1); + c$34_parse_template = Py.newCode(2, new String[] {"source", "pattern", "code", "this", "literals", "index", "group", "s", "sep", "p", "i", "literal", "groups", "char", "c", "a", "name"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "parse_template", false, false, funcTable, 34, null, null, 0, 1); + c$35_expand_template = Py.newCode(2, new String[] {"template", "match", "literals", "groups", "g", "index", "group", "s", "sep"}, "/usr/share/jython/Lib-cpython/sre_parse.py", "expand_template", false, false, funcTable, 35, null, null, 0, 1); + c$36_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/sre_parse.py", "main", false, false, funcTable, 36, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$36_main == null) _PyInner.initConstants(); + return c$36_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.__init__$1(frame); + case 1: + return _PyInner.opengroup$2(frame); + case 2: + return _PyInner.closegroup$3(frame); + case 3: + return _PyInner.checkgroup$4(frame); + case 4: + return _PyInner.Pattern$5(frame); + case 5: + return _PyInner.__init__$6(frame); + case 6: + return _PyInner.dump$7(frame); + case 7: + return _PyInner.__repr__$8(frame); + case 8: + return _PyInner.__len__$9(frame); + case 9: + return _PyInner.__delitem__$10(frame); + case 10: + return _PyInner.__getitem__$11(frame); + case 11: + return _PyInner.__setitem__$12(frame); + case 12: + return _PyInner.__getslice__$13(frame); + case 13: + return _PyInner.insert$14(frame); + case 14: + return _PyInner.append$15(frame); + case 15: + return _PyInner.getwidth$16(frame); + case 16: + return _PyInner.SubPattern$17(frame); + case 17: + return _PyInner.__init__$18(frame); + case 18: + return _PyInner._Tokenizer__next$19(frame); + case 19: + return _PyInner.match$20(frame); + case 20: + return _PyInner.get$21(frame); + case 21: + return _PyInner.tell$22(frame); + case 22: + return _PyInner.seek$23(frame); + case 23: + return _PyInner.Tokenizer$24(frame); + case 24: + return _PyInner.isident$25(frame); + case 25: + return _PyInner.isdigit$26(frame); + case 26: + return _PyInner.isname$27(frame); + case 27: + return _PyInner._group$28(frame); + case 28: + return _PyInner._class_escape$29(frame); + case 29: + return _PyInner._escape$30(frame); + case 30: + return _PyInner._parse_sub$31(frame); + case 31: + return _PyInner._parse$32(frame); + case 32: + return _PyInner.parse$33(frame); + case 33: + return _PyInner.literal$34(frame); + case 34: + return _PyInner.parse_template$35(frame); + case 35: + return _PyInner.expand_template$36(frame); + case 36: + return _PyInner.main$37(frame); + default: + return null; + } + } + + private static PyObject __init__$1(PyFrame frame) { + frame.getlocal(0).__setattr__("flags", i$40); + frame.getlocal(0).__setattr__("open", new PyList(new PyObject[] {})); + frame.getlocal(0).__setattr__("groups", i$41); + frame.getlocal(0).__setattr__("groupdict", new PyDictionary(new PyObject[] {})); + return Py.None; + } + + private static PyObject opengroup$2(PyFrame frame) { + frame.setlocal(2, frame.getlocal(0).__getattr__("groups")); + frame.getlocal(0).__setattr__("groups", frame.getlocal(2)._add(i$41)); + if (frame.getlocal(1).__nonzero__()) { + frame.getlocal(0).__getattr__("groupdict").__setitem__(frame.getlocal(1), frame.getlocal(2)); + } + frame.getlocal(0).__getattr__("open").invoke("append", frame.getlocal(2)); + return frame.getlocal(2); + } + + private static PyObject closegroup$3(PyFrame frame) { + frame.getlocal(0).__getattr__("open").invoke("remove", frame.getlocal(1)); + return Py.None; + } + + private static PyObject checkgroup$4(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + return (t$0$PyObject = frame.getlocal(1)._lt(frame.getlocal(0).__getattr__("groups"))).__nonzero__() ? frame.getlocal(1)._notin(frame.getlocal(0).__getattr__("open")) : t$0$PyObject; + } + + private static PyObject Pattern$5(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$0___init__)); + frame.setlocal("opengroup", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$1_opengroup)); + frame.setlocal("closegroup", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_closegroup)); + frame.setlocal("checkgroup", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_checkgroup)); + return frame.getf_locals(); + } + + private static PyObject __init__$6(PyFrame frame) { + frame.getlocal(0).__setattr__("pattern", frame.getlocal(1)); + if (frame.getlocal(2).__not__().__nonzero__()) { + frame.setlocal(2, new PyList(new PyObject[] {})); + } + frame.getlocal(0).__setattr__("data", frame.getlocal(2)); + frame.getlocal(0).__setattr__("width", frame.getglobal("None")); + return Py.None; + } + + private static PyObject dump$7(PyFrame frame) { + // Temporary Variables + int t$0$int, t$1$int, t$2$int, t$3$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject, t$3$PyObject, t$4$PyObject, t$5$PyObject, t$6$PyObject, t$7$PyObject; + + // Code + frame.setlocal(2, i$41); + t$0$int = 0; + t$1$PyObject = frame.getlocal(0).__getattr__("data"); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(5, t$0$PyObject__[0]); + frame.setlocal(3, t$0$PyObject__[1]); + Py.printComma(frame.getlocal(1)._mul(s$42)._add(frame.getlocal(5))); + frame.setlocal(2, i$40); + if (frame.getlocal(5)._eq(s$43).__nonzero__()) { + Py.println(); + frame.setlocal(2, i$41); + t$1$int = 0; + t$3$PyObject = frame.getlocal(3); + while ((t$2$PyObject = t$3$PyObject.__finditem__(t$1$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$2$PyObject, 2); + frame.setlocal(5, t$0$PyObject__[0]); + frame.setlocal(6, t$0$PyObject__[1]); + Py.printComma(frame.getlocal(1)._add(i$41)._mul(s$42)._add(frame.getlocal(5))); + Py.println(frame.getlocal(6)); + } + } + else if (frame.getlocal(5)._eq(s$44).__nonzero__()) { + Py.println(); + frame.setlocal(2, i$41); + frame.setlocal(4, i$40); + t$2$int = 0; + t$5$PyObject = frame.getlocal(3).__getitem__(i$41); + while ((t$4$PyObject = t$5$PyObject.__finditem__(t$2$int++)) != null) { + frame.setlocal(6, t$4$PyObject); + if (frame.getlocal(4)._gt(i$40).__nonzero__()) { + Py.println(frame.getlocal(1)._mul(s$42)._add(s$45)); + } + frame.getlocal(6).invoke("dump", frame.getlocal(1)._add(i$41)); + frame.setlocal(2, i$41); + frame.setlocal(4, frame.getlocal(4)._add(i$41)); + } + } + else if (frame.getglobal("type").__call__(frame.getlocal(3))._in(new PyTuple(new PyObject[] {frame.getglobal("type").__call__(new PyTuple(new PyObject[] {})), frame.getglobal("type").__call__(new PyList(new PyObject[] {}))})).__nonzero__()) { + t$3$int = 0; + t$7$PyObject = frame.getlocal(3); + while ((t$6$PyObject = t$7$PyObject.__finditem__(t$3$int++)) != null) { + frame.setlocal(6, t$6$PyObject); + if (frame.getglobal("isinstance").__call__(frame.getlocal(6), frame.getglobal("SubPattern")).__nonzero__()) { + if (frame.getlocal(2).__not__().__nonzero__()) { + Py.println(); + } + frame.getlocal(6).invoke("dump", frame.getlocal(1)._add(i$41)); + frame.setlocal(2, i$41); + } + else { + Py.printComma(frame.getlocal(6)); + frame.setlocal(2, i$40); + } + } + } + else { + Py.printComma(frame.getlocal(3)); + frame.setlocal(2, i$40); + } + if (frame.getlocal(2).__not__().__nonzero__()) { + Py.println(); + } + } + return Py.None; + } + + private static PyObject __repr__$8(PyFrame frame) { + return frame.getglobal("repr").__call__(frame.getlocal(0).__getattr__("data")); + } + + private static PyObject __len__$9(PyFrame frame) { + return frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("data")); + } + + private static PyObject __delitem__$10(PyFrame frame) { + frame.getlocal(0).__getattr__("data").__delitem__(frame.getlocal(1)); + return Py.None; + } + + private static PyObject __getitem__$11(PyFrame frame) { + return frame.getlocal(0).__getattr__("data").__getitem__(frame.getlocal(1)); + } + + private static PyObject __setitem__$12(PyFrame frame) { + frame.getlocal(0).__getattr__("data").__setitem__(frame.getlocal(1), frame.getlocal(2)); + return Py.None; + } + + private static PyObject __getslice__$13(PyFrame frame) { + return frame.getglobal("SubPattern").__call__(frame.getlocal(0).__getattr__("pattern"), frame.getlocal(0).__getattr__("data").__getslice__(frame.getlocal(1), frame.getlocal(2), null)); + } + + private static PyObject insert$14(PyFrame frame) { + frame.getlocal(0).__getattr__("data").invoke("insert", frame.getlocal(1), frame.getlocal(2)); + return Py.None; + } + + private static PyObject append$15(PyFrame frame) { + frame.getlocal(0).__getattr__("data").invoke("append", frame.getlocal(1)); + return Py.None; + } + + private static PyObject getwidth$16(PyFrame frame) { + // Temporary Variables + int t$0$int, t$1$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject, t$3$PyObject; + + // Code + if (frame.getlocal(0).__getattr__("width").__nonzero__()) { + return frame.getlocal(0).__getattr__("width"); + } + t$0$PyObject = l$46; + frame.setlocal(2, t$0$PyObject); + frame.setlocal(1, t$0$PyObject); + t$0$int = 0; + t$1$PyObject = frame.getlocal(0).__getattr__("data"); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(3, t$0$PyObject__[0]); + frame.setlocal(4, t$0$PyObject__[1]); + if (frame.getlocal(3)._is(frame.getglobal("BRANCH")).__nonzero__()) { + frame.setlocal(7, frame.getglobal("sys").__getattr__("maxint")); + frame.setlocal(6, i$40); + t$1$int = 0; + t$3$PyObject = frame.getlocal(4).__getitem__(i$41); + while ((t$2$PyObject = t$3$PyObject.__finditem__(t$1$int++)) != null) { + frame.setlocal(4, t$2$PyObject); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(4).invoke("getwidth"), 2); + frame.setlocal(5, t$0$PyObject__[0]); + frame.setlocal(8, t$0$PyObject__[1]); + frame.setlocal(7, frame.getglobal("min").__call__(frame.getlocal(7), frame.getlocal(5))); + frame.setlocal(6, frame.getglobal("max").__call__(frame.getlocal(6), frame.getlocal(8))); + } + frame.setlocal(2, frame.getlocal(2)._add(frame.getlocal(7))); + frame.setlocal(1, frame.getlocal(1)._add(frame.getlocal(6))); + } + else if (frame.getlocal(3)._is(frame.getglobal("CALL")).__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(4).invoke("getwidth"), 2); + frame.setlocal(7, t$0$PyObject__[0]); + frame.setlocal(6, t$0$PyObject__[1]); + frame.setlocal(2, frame.getlocal(2)._add(frame.getlocal(7))); + frame.setlocal(1, frame.getlocal(1)._add(frame.getlocal(6))); + } + else if (frame.getlocal(3)._is(frame.getglobal("SUBPATTERN")).__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(4).__getitem__(i$41).invoke("getwidth"), 2); + frame.setlocal(7, t$0$PyObject__[0]); + frame.setlocal(6, t$0$PyObject__[1]); + frame.setlocal(2, frame.getlocal(2)._add(frame.getlocal(7))); + frame.setlocal(1, frame.getlocal(1)._add(frame.getlocal(6))); + } + else if (frame.getlocal(3)._in(new PyTuple(new PyObject[] {frame.getglobal("MIN_REPEAT"), frame.getglobal("MAX_REPEAT")})).__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(4).__getitem__(i$47).invoke("getwidth"), 2); + frame.setlocal(7, t$0$PyObject__[0]); + frame.setlocal(6, t$0$PyObject__[1]); + frame.setlocal(2, frame.getlocal(2)._add(frame.getglobal("long").__call__(frame.getlocal(7))._mul(frame.getlocal(4).__getitem__(i$40)))); + frame.setlocal(1, frame.getlocal(1)._add(frame.getglobal("long").__call__(frame.getlocal(6))._mul(frame.getlocal(4).__getitem__(i$41)))); + } + else if (frame.getlocal(3)._in(new PyTuple(new PyObject[] {frame.getglobal("ANY"), frame.getglobal("RANGE"), frame.getglobal("IN"), frame.getglobal("LITERAL"), frame.getglobal("NOT_LITERAL"), frame.getglobal("CATEGORY")})).__nonzero__()) { + frame.setlocal(2, frame.getlocal(2)._add(i$41)); + frame.setlocal(1, frame.getlocal(1)._add(i$41)); + } + else if (frame.getlocal(3)._eq(frame.getglobal("SUCCESS")).__nonzero__()) { + break; + } + } + frame.getlocal(0).__setattr__("width", new PyTuple(new PyObject[] {frame.getglobal("int").__call__(frame.getglobal("min").__call__(frame.getlocal(2), frame.getglobal("sys").__getattr__("maxint"))), frame.getglobal("int").__call__(frame.getglobal("min").__call__(frame.getlocal(1), frame.getglobal("sys").__getattr__("maxint")))})); + return frame.getlocal(0).__getattr__("width"); + } + + private static PyObject SubPattern$17(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$5___init__)); + frame.setlocal("dump", new PyFunction(frame.f_globals, new PyObject[] {i$40}, c$6_dump)); + frame.setlocal("__repr__", new PyFunction(frame.f_globals, new PyObject[] {}, c$7___repr__)); + frame.setlocal("__len__", new PyFunction(frame.f_globals, new PyObject[] {}, c$8___len__)); + frame.setlocal("__delitem__", new PyFunction(frame.f_globals, new PyObject[] {}, c$9___delitem__)); + frame.setlocal("__getitem__", new PyFunction(frame.f_globals, new PyObject[] {}, c$10___getitem__)); + frame.setlocal("__setitem__", new PyFunction(frame.f_globals, new PyObject[] {}, c$11___setitem__)); + frame.setlocal("__getslice__", new PyFunction(frame.f_globals, new PyObject[] {}, c$12___getslice__)); + frame.setlocal("insert", new PyFunction(frame.f_globals, new PyObject[] {}, c$13_insert)); + frame.setlocal("append", new PyFunction(frame.f_globals, new PyObject[] {}, c$14_append)); + frame.setlocal("getwidth", new PyFunction(frame.f_globals, new PyObject[] {}, c$15_getwidth)); + return frame.getf_locals(); + } + + private static PyObject __init__$18(PyFrame frame) { + frame.getlocal(0).__setattr__("string", frame.getlocal(1)); + frame.getlocal(0).__setattr__("index", i$40); + frame.getlocal(0).invoke("_Tokenizer__next"); + return Py.None; + } + + private static PyObject _Tokenizer__next$19(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + + // Code + if (frame.getlocal(0).__getattr__("index")._ge(frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("string"))).__nonzero__()) { + frame.getlocal(0).__setattr__("next", frame.getglobal("None")); + return Py.None; + } + frame.setlocal(1, frame.getlocal(0).__getattr__("string").__getitem__(frame.getlocal(0).__getattr__("index"))); + if (frame.getlocal(1).__getitem__(i$40)._eq(s$21).__nonzero__()) { + try { + frame.setlocal(2, frame.getlocal(0).__getattr__("string").__getitem__(frame.getlocal(0).__getattr__("index")._add(i$41))); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("IndexError"))) { + throw Py.makeException(frame.getglobal("error"), s$48); + } + else throw t$0$PyException; + } + frame.setlocal(1, frame.getlocal(1)._add(frame.getlocal(2))); + } + frame.getlocal(0).__setattr__("index", frame.getlocal(0).__getattr__("index")._add(frame.getglobal("len").__call__(frame.getlocal(1)))); + frame.getlocal(0).__setattr__("next", frame.getlocal(1)); + return Py.None; + } + + private static PyObject match$20(PyFrame frame) { + if (frame.getlocal(1)._eq(frame.getlocal(0).__getattr__("next")).__nonzero__()) { + if (frame.getlocal(2).__nonzero__()) { + frame.getlocal(0).invoke("_Tokenizer__next"); + } + return i$41; + } + return i$40; + } + + private static PyObject get$21(PyFrame frame) { + frame.setlocal(1, frame.getlocal(0).__getattr__("next")); + frame.getlocal(0).invoke("_Tokenizer__next"); + return frame.getlocal(1); + } + + private static PyObject tell$22(PyFrame frame) { + return new PyTuple(new PyObject[] {frame.getlocal(0).__getattr__("index"), frame.getlocal(0).__getattr__("next")}); + } + + private static PyObject seek$23(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(1), 2); + frame.getlocal(0).__setattr__("index", t$0$PyObject__[0]); + frame.getlocal(0).__setattr__("next", t$0$PyObject__[1]); + return Py.None; + } + + private static PyObject Tokenizer$24(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$17___init__)); + frame.setlocal("_Tokenizer__next", new PyFunction(frame.f_globals, new PyObject[] {}, c$18__Tokenizer__next)); + frame.setlocal("match", new PyFunction(frame.f_globals, new PyObject[] {i$41}, c$19_match)); + frame.setlocal("get", new PyFunction(frame.f_globals, new PyObject[] {}, c$20_get)); + frame.setlocal("tell", new PyFunction(frame.f_globals, new PyObject[] {}, c$21_tell)); + frame.setlocal("seek", new PyFunction(frame.f_globals, new PyObject[] {}, c$22_seek)); + return frame.getf_locals(); + } + + private static PyObject isident$25(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject; + + // Code + return (t$0$PyObject = ((t$1$PyObject = (s$49._le(t$2$PyObject = frame.getlocal(0)).__nonzero__() ? t$2$PyObject._le(s$50) : Py.Zero)).__nonzero__() ? t$1$PyObject : (s$51._le(t$2$PyObject = frame.getlocal(0)).__nonzero__() ? t$2$PyObject._le(s$52) : Py.Zero))).__nonzero__() ? t$0$PyObject : frame.getlocal(0)._eq(s$53); + } + + private static PyObject isdigit$26(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + return s$54._le(t$0$PyObject = frame.getlocal(0)).__nonzero__() ? t$0$PyObject._le(s$55) : Py.Zero; + } + + private static PyObject isname$27(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject; + + // Code + if (frame.getglobal("isident").__call__(frame.getlocal(0).__getitem__(i$40)).__not__().__nonzero__()) { + return i$40; + } + t$0$int = 0; + t$1$PyObject = frame.getlocal(0); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(1, t$0$PyObject); + if (((t$2$PyObject = frame.getglobal("isident").__call__(frame.getlocal(1)).__not__()).__nonzero__() ? frame.getglobal("isdigit").__call__(frame.getlocal(1)).__not__() : t$2$PyObject).__nonzero__()) { + return i$40; + } + } + return i$41; + } + + private static PyObject _group$28(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + PyObject t$0$PyObject; + + // Code + try { + frame.setlocal(2, frame.getglobal("atoi").__call__(frame.getlocal(0).__getslice__(i$41, null, null))); + if (((t$0$PyObject = frame.getlocal(2)).__nonzero__() ? frame.getlocal(2)._lt(frame.getlocal(1)) : t$0$PyObject).__nonzero__()) { + return frame.getlocal(2); + } + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("ValueError"))) { + // pass + } + else throw t$0$PyException; + } + return frame.getglobal("None"); + } + + private static PyObject _class_escape$29(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + PyObject t$0$PyObject; + + // Code + frame.setlocal(2, frame.getglobal("ESCAPES").invoke("get", frame.getlocal(1))); + if (frame.getlocal(2).__nonzero__()) { + return frame.getlocal(2); + } + frame.setlocal(2, frame.getglobal("CATEGORIES").invoke("get", frame.getlocal(1))); + if (frame.getlocal(2).__nonzero__()) { + return frame.getlocal(2); + } + try { + if (frame.getlocal(1).__getslice__(i$41, i$47, null)._eq(s$35).__nonzero__()) { + while (((t$0$PyObject = frame.getlocal(0).__getattr__("next")._in(frame.getglobal("HEXDIGITS"))).__nonzero__() ? frame.getglobal("len").__call__(frame.getlocal(1))._lt(i$56) : t$0$PyObject).__nonzero__()) { + frame.setlocal(1, frame.getlocal(1)._add(frame.getlocal(0).invoke("get"))); + } + frame.setlocal(1, frame.getlocal(1).__getslice__(i$47, null, null)); + if (frame.getglobal("len").__call__(frame.getlocal(1))._ne(i$47).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$57._mod(frame.getglobal("repr").__call__(s$21._add(frame.getlocal(1))))); + } + return new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getglobal("atoi").__call__(frame.getlocal(1), i$58)._and(i$59)}); + } + else if (frame.getglobal("str").__call__(frame.getlocal(1).__getslice__(i$41, i$47, null))._in(frame.getglobal("OCTDIGITS")).__nonzero__()) { + while (((t$0$PyObject = frame.getlocal(0).__getattr__("next")._in(frame.getglobal("OCTDIGITS"))).__nonzero__() ? frame.getglobal("len").__call__(frame.getlocal(1))._lt(i$60) : t$0$PyObject).__nonzero__()) { + frame.setlocal(1, frame.getlocal(1)._add(frame.getlocal(0).invoke("get"))); + } + frame.setlocal(1, frame.getlocal(1).__getslice__(i$41, null, null)); + return new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getglobal("atoi").__call__(frame.getlocal(1), i$39)._and(i$59)}); + } + if (frame.getglobal("len").__call__(frame.getlocal(1))._eq(i$47).__nonzero__()) { + return new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getglobal("ord").__call__(frame.getlocal(1).__getitem__(i$41))}); + } + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("ValueError"))) { + // pass + } + else throw t$0$PyException; + } + throw Py.makeException(frame.getglobal("error"), s$57._mod(frame.getglobal("repr").__call__(frame.getlocal(1)))); + } + + private static PyObject _escape$30(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(4, frame.getglobal("CATEGORIES").invoke("get", frame.getlocal(1))); + if (frame.getlocal(4).__nonzero__()) { + return frame.getlocal(4); + } + frame.setlocal(4, frame.getglobal("ESCAPES").invoke("get", frame.getlocal(1))); + if (frame.getlocal(4).__nonzero__()) { + return frame.getlocal(4); + } + try { + if (frame.getlocal(1).__getslice__(i$41, i$47, null)._eq(s$35).__nonzero__()) { + while (((t$0$PyObject = frame.getlocal(0).__getattr__("next")._in(frame.getglobal("HEXDIGITS"))).__nonzero__() ? frame.getglobal("len").__call__(frame.getlocal(1))._lt(i$56) : t$0$PyObject).__nonzero__()) { + frame.setlocal(1, frame.getlocal(1)._add(frame.getlocal(0).invoke("get"))); + } + if (frame.getglobal("len").__call__(frame.getlocal(1))._ne(i$56).__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError")); + } + return new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getglobal("atoi").__call__(frame.getlocal(1).__getslice__(i$47, null, null), i$58)._and(i$59)}); + } + else if (frame.getlocal(1).__getslice__(i$41, i$47, null)._eq(s$54).__nonzero__()) { + while (((t$0$PyObject = frame.getlocal(0).__getattr__("next")._in(frame.getglobal("OCTDIGITS"))).__nonzero__() ? frame.getglobal("len").__call__(frame.getlocal(1))._lt(i$56) : t$0$PyObject).__nonzero__()) { + frame.setlocal(1, frame.getlocal(1)._add(frame.getlocal(0).invoke("get"))); + } + return new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getglobal("atoi").__call__(frame.getlocal(1).__getslice__(i$41, null, null), i$39)._and(i$59)}); + } + else if (frame.getlocal(1).__getslice__(i$41, i$47, null)._in(frame.getglobal("DIGITS")).__nonzero__()) { + frame.setlocal(3, frame.getlocal(0).invoke("tell")); + if (frame.getlocal(0).__getattr__("next")._in(frame.getglobal("DIGITS")).__nonzero__()) { + frame.setlocal(1, frame.getlocal(1)._add(frame.getlocal(0).invoke("get"))); + if (((t$0$PyObject = ((t$1$PyObject = frame.getlocal(1).__getitem__(i$41)._in(frame.getglobal("OCTDIGITS"))).__nonzero__() ? frame.getlocal(1).__getitem__(i$47)._in(frame.getglobal("OCTDIGITS")) : t$1$PyObject)).__nonzero__() ? frame.getlocal(0).__getattr__("next")._in(frame.getglobal("OCTDIGITS")) : t$0$PyObject).__nonzero__()) { + frame.setlocal(1, frame.getlocal(1)._add(frame.getlocal(0).invoke("get"))); + return new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getglobal("atoi").__call__(frame.getlocal(1).__getslice__(i$41, null, null), i$39)._and(i$59)}); + } + } + frame.setlocal(5, frame.getglobal("_group").__call__(frame.getlocal(1), frame.getlocal(2).__getattr__("groups"))); + if (frame.getlocal(5).__nonzero__()) { + if (frame.getlocal(2).invoke("checkgroup", frame.getlocal(5)).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$61); + } + return new PyTuple(new PyObject[] {frame.getglobal("GROUPREF"), frame.getlocal(5)}); + } + throw Py.makeException(frame.getglobal("ValueError")); + } + if (frame.getglobal("len").__call__(frame.getlocal(1))._eq(i$47).__nonzero__()) { + return new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getglobal("ord").__call__(frame.getlocal(1).__getitem__(i$41))}); + } + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("ValueError"))) { + // pass + } + else throw t$0$PyException; + } + throw Py.makeException(frame.getglobal("error"), s$57._mod(frame.getglobal("repr").__call__(frame.getlocal(1)))); + } + + private static PyObject _parse_sub$31(PyFrame frame) { + // Temporary Variables + int t$0$int, t$1$int, t$2$int, t$3$int; + boolean t$0$boolean; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject, t$3$PyObject, t$4$PyObject, t$5$PyObject, t$6$PyObject, t$7$PyObject; + + // Code + frame.setlocal(5, new PyList(new PyObject[] {})); + while (i$41.__nonzero__()) { + frame.getlocal(5).invoke("append", frame.getglobal("_parse").__call__(frame.getlocal(0), frame.getlocal(1))); + if (frame.getlocal(0).invoke("match", s$62).__nonzero__()) { + continue; + } + if (frame.getlocal(2).__not__().__nonzero__()) { + break; + } + if (((t$0$PyObject = frame.getlocal(0).__getattr__("next").__not__()).__nonzero__() ? t$0$PyObject : frame.getlocal(0).invoke("match", s$63, i$40)).__nonzero__()) { + break; + } + else { + throw Py.makeException(frame.getglobal("error"), s$64); + } + } + if (frame.getglobal("len").__call__(frame.getlocal(5))._eq(i$41).__nonzero__()) { + return frame.getlocal(5).__getitem__(i$40); + } + frame.setlocal(3, frame.getglobal("SubPattern").__call__(frame.getlocal(1))); + while (i$41.__nonzero__()) { + frame.setlocal(4, frame.getglobal("None")); + t$0$int = 0; + t$1$PyObject = frame.getlocal(5); + while (t$0$boolean=(t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(7, t$0$PyObject); + if (frame.getlocal(7).__not__().__nonzero__()) { + break; + } + if (frame.getlocal(4)._is(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(4, frame.getlocal(7).__getitem__(i$40)); + } + else if (frame.getlocal(7).__getitem__(i$40)._ne(frame.getlocal(4)).__nonzero__()) { + break; + } + } + if (!t$0$boolean) { + t$1$int = 0; + t$3$PyObject = frame.getlocal(5); + while ((t$2$PyObject = t$3$PyObject.__finditem__(t$1$int++)) != null) { + frame.setlocal(7, t$2$PyObject); + frame.getlocal(7).__delitem__(i$40); + } + frame.getlocal(3).invoke("append", frame.getlocal(4)); + continue; + } + break; + } + t$2$int = 0; + t$5$PyObject = frame.getlocal(5); + while (t$0$boolean=(t$4$PyObject = t$5$PyObject.__finditem__(t$2$int++)) != null) { + frame.setlocal(7, t$4$PyObject); + if (((t$6$PyObject = frame.getglobal("len").__call__(frame.getlocal(7))._ne(i$41)).__nonzero__() ? t$6$PyObject : frame.getlocal(7).__getitem__(i$40).__getitem__(i$40)._ne(frame.getglobal("LITERAL"))).__nonzero__()) { + break; + } + } + if (!t$0$boolean) { + frame.setlocal(6, new PyList(new PyObject[] {})); + t$3$int = 0; + t$7$PyObject = frame.getlocal(5); + while ((t$6$PyObject = t$7$PyObject.__finditem__(t$3$int++)) != null) { + frame.setlocal(7, t$6$PyObject); + frame.getlocal(6).invoke("append", frame.getlocal(7).__getitem__(i$40)); + } + frame.getlocal(3).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("IN"), frame.getlocal(6)})); + return frame.getlocal(3); + } + frame.getlocal(3).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("BRANCH"), new PyTuple(new PyObject[] {frame.getglobal("None"), frame.getlocal(5)})})); + return frame.getlocal(3); + } + + private static PyObject _parse$32(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(12, frame.getglobal("SubPattern").__call__(frame.getlocal(1))); + while (i$41.__nonzero__()) { + if (frame.getlocal(0).__getattr__("next")._in(new PyTuple(new PyObject[] {s$62, s$63})).__nonzero__()) { + break; + } + frame.setlocal(3, frame.getlocal(0).invoke("get")); + if (frame.getlocal(3)._is(frame.getglobal("None")).__nonzero__()) { + break; + } + if (frame.getlocal(1).__getattr__("flags")._and(frame.getglobal("SRE_FLAG_VERBOSE")).__nonzero__()) { + if (frame.getlocal(3)._in(frame.getglobal("WHITESPACE")).__nonzero__()) { + continue; + } + if (frame.getlocal(3)._eq(s$65).__nonzero__()) { + while (i$41.__nonzero__()) { + frame.setlocal(3, frame.getlocal(0).invoke("get")); + if (frame.getlocal(3)._in(new PyTuple(new PyObject[] {frame.getglobal("None"), s$13})).__nonzero__()) { + break; + } + } + continue; + } + } + if (((t$0$PyObject = frame.getlocal(3)).__nonzero__() ? frame.getlocal(3).__getitem__(i$40)._notin(frame.getglobal("SPECIAL_CHARS")) : t$0$PyObject).__nonzero__()) { + frame.getlocal(12).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getglobal("ord").__call__(frame.getlocal(3))})); + } + else if (frame.getlocal(3)._eq(s$66).__nonzero__()) { + frame.setlocal(10, new PyList(new PyObject[] {})); + if (frame.getlocal(0).invoke("match", s$67).__nonzero__()) { + frame.getlocal(10).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("NEGATE"), frame.getglobal("None")})); + } + frame.setlocal(9, frame.getlocal(10).__getslice__(null, null, null)); + while (i$41.__nonzero__()) { + frame.setlocal(3, frame.getlocal(0).invoke("get")); + if (((t$0$PyObject = frame.getlocal(3)._eq(s$68)).__nonzero__() ? frame.getlocal(10)._ne(frame.getlocal(9)) : t$0$PyObject).__nonzero__()) { + break; + } + else if (((t$0$PyObject = frame.getlocal(3)).__nonzero__() ? frame.getlocal(3).__getitem__(i$40)._eq(s$21) : t$0$PyObject).__nonzero__()) { + frame.setlocal(7, frame.getglobal("_class_escape").__call__(frame.getlocal(0), frame.getlocal(3))); + } + else if (frame.getlocal(3).__nonzero__()) { + frame.setlocal(7, new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getglobal("ord").__call__(frame.getlocal(3))})); + } + else { + throw Py.makeException(frame.getglobal("error"), s$69); + } + if (frame.getlocal(0).invoke("match", s$70).__nonzero__()) { + frame.setlocal(3, frame.getlocal(0).invoke("get")); + if (frame.getlocal(3)._eq(s$68).__nonzero__()) { + if (frame.getlocal(7).__getitem__(i$40)._is(frame.getglobal("IN")).__nonzero__()) { + frame.setlocal(7, frame.getlocal(7).__getitem__(i$41).__getitem__(i$40)); + } + frame.getlocal(10).invoke("append", frame.getlocal(7)); + frame.getlocal(10).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getglobal("ord").__call__(s$70)})); + break; + } + else { + if (frame.getlocal(3).__getitem__(i$40)._eq(s$21).__nonzero__()) { + frame.setlocal(6, frame.getglobal("_class_escape").__call__(frame.getlocal(0), frame.getlocal(3))); + } + else { + frame.setlocal(6, new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getglobal("ord").__call__(frame.getlocal(3))})); + } + if (((t$0$PyObject = frame.getlocal(7).__getitem__(i$40)._ne(frame.getglobal("LITERAL"))).__nonzero__() ? t$0$PyObject : frame.getlocal(6).__getitem__(i$40)._ne(frame.getglobal("LITERAL"))).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$71); + } + frame.setlocal(13, frame.getlocal(7).__getitem__(i$41)); + frame.setlocal(20, frame.getlocal(6).__getitem__(i$41)); + if (frame.getlocal(20)._lt(frame.getlocal(13)).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$71); + } + frame.getlocal(10).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("RANGE"), new PyTuple(new PyObject[] {frame.getlocal(13), frame.getlocal(20)})})); + } + } + else { + if (frame.getlocal(7).__getitem__(i$40)._is(frame.getglobal("IN")).__nonzero__()) { + frame.setlocal(7, frame.getlocal(7).__getitem__(i$41).__getitem__(i$40)); + } + frame.getlocal(10).invoke("append", frame.getlocal(7)); + } + } + if (((t$0$PyObject = frame.getglobal("len").__call__(frame.getlocal(10))._eq(i$41)).__nonzero__() ? frame.getlocal(10).__getitem__(i$40).__getitem__(i$40)._is(frame.getglobal("LITERAL")) : t$0$PyObject).__nonzero__()) { + frame.getlocal(12).invoke("append", frame.getlocal(10).__getitem__(i$40)); + } + else if (((t$0$PyObject = ((t$1$PyObject = frame.getglobal("len").__call__(frame.getlocal(10))._eq(i$47)).__nonzero__() ? frame.getlocal(10).__getitem__(i$40).__getitem__(i$40)._is(frame.getglobal("NEGATE")) : t$1$PyObject)).__nonzero__() ? frame.getlocal(10).__getitem__(i$41).__getitem__(i$40)._is(frame.getglobal("LITERAL")) : t$0$PyObject).__nonzero__()) { + frame.getlocal(12).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("NOT_LITERAL"), frame.getlocal(10).__getitem__(i$41).__getitem__(i$41)})); + } + else { + frame.getlocal(12).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("IN"), frame.getlocal(10)})); + } + } + else if (((t$0$PyObject = frame.getlocal(3)).__nonzero__() ? frame.getlocal(3).__getitem__(i$40)._in(frame.getglobal("REPEAT_CHARS")) : t$0$PyObject).__nonzero__()) { + if (frame.getlocal(3)._eq(s$72).__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(new PyTuple(new PyObject[] {i$40, i$41}), 2); + frame.setlocal(19, t$0$PyObject__[0]); + frame.setlocal(8, t$0$PyObject__[1]); + } + else if (frame.getlocal(3)._eq(s$73).__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(new PyTuple(new PyObject[] {i$40, frame.getglobal("MAXREPEAT")}), 2); + frame.setlocal(19, t$0$PyObject__[0]); + frame.setlocal(8, t$0$PyObject__[1]); + } + else if (frame.getlocal(3)._eq(s$74).__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(new PyTuple(new PyObject[] {i$41, frame.getglobal("MAXREPEAT")}), 2); + frame.setlocal(19, t$0$PyObject__[0]); + frame.setlocal(8, t$0$PyObject__[1]); + } + else if (frame.getlocal(3)._eq(s$75).__nonzero__()) { + frame.setlocal(14, frame.getlocal(0).invoke("tell")); + t$0$PyObject__ = org.python.core.Py.unpackSequence(new PyTuple(new PyObject[] {i$40, frame.getglobal("MAXREPEAT")}), 2); + frame.setlocal(19, t$0$PyObject__[0]); + frame.setlocal(8, t$0$PyObject__[1]); + t$0$PyObject = s$76; + frame.setlocal(13, t$0$PyObject); + frame.setlocal(20, t$0$PyObject); + while (frame.getlocal(0).__getattr__("next")._in(frame.getglobal("DIGITS")).__nonzero__()) { + frame.setlocal(13, frame.getlocal(13)._add(frame.getlocal(0).invoke("get"))); + } + if (frame.getlocal(0).invoke("match", s$77).__nonzero__()) { + while (frame.getlocal(0).__getattr__("next")._in(frame.getglobal("DIGITS")).__nonzero__()) { + frame.setlocal(20, frame.getlocal(20)._add(frame.getlocal(0).invoke("get"))); + } + } + else { + frame.setlocal(20, frame.getlocal(13)); + } + if (frame.getlocal(0).invoke("match", s$78).__not__().__nonzero__()) { + frame.getlocal(12).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getglobal("ord").__call__(frame.getlocal(3))})); + frame.getlocal(0).invoke("seek", frame.getlocal(14)); + continue; + } + if (frame.getlocal(13).__nonzero__()) { + frame.setlocal(19, frame.getglobal("atoi").__call__(frame.getlocal(13))); + } + if (frame.getlocal(20).__nonzero__()) { + frame.setlocal(8, frame.getglobal("atoi").__call__(frame.getlocal(20))); + } + if (frame.getlocal(8)._lt(frame.getlocal(19)).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$79); + } + } + else { + throw Py.makeException(frame.getglobal("error"), s$80); + } + if (frame.getlocal(12).__nonzero__()) { + frame.setlocal(11, frame.getlocal(12).__getslice__(i$41.__neg__(), null, null)); + } + else { + frame.setlocal(11, frame.getglobal("None")); + } + if (((t$0$PyObject = frame.getlocal(11).__not__()).__nonzero__() ? t$0$PyObject : ((t$1$PyObject = frame.getglobal("len").__call__(frame.getlocal(11))._eq(i$41)).__nonzero__() ? frame.getlocal(11).__getitem__(i$40).__getitem__(i$40)._eq(frame.getglobal("AT")) : t$1$PyObject)).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$81); + } + if (frame.getlocal(11).__getitem__(i$40).__getitem__(i$40)._in(new PyTuple(new PyObject[] {frame.getglobal("MIN_REPEAT"), frame.getglobal("MAX_REPEAT")})).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$82); + } + if (frame.getlocal(0).invoke("match", s$72).__nonzero__()) { + frame.getlocal(12).__setitem__(i$41.__neg__(), new PyTuple(new PyObject[] {frame.getglobal("MIN_REPEAT"), new PyTuple(new PyObject[] {frame.getlocal(19), frame.getlocal(8), frame.getlocal(11)})})); + } + else { + frame.getlocal(12).__setitem__(i$41.__neg__(), new PyTuple(new PyObject[] {frame.getglobal("MAX_REPEAT"), new PyTuple(new PyObject[] {frame.getlocal(19), frame.getlocal(8), frame.getlocal(11)})})); + } + } + else if (frame.getlocal(3)._eq(s$83).__nonzero__()) { + frame.getlocal(12).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("ANY"), frame.getglobal("None")})); + } + else if (frame.getlocal(3)._eq(s$84).__nonzero__()) { + frame.setlocal(5, i$41); + frame.setlocal(4, frame.getglobal("None")); + if (frame.getlocal(0).invoke("match", s$72).__nonzero__()) { + frame.setlocal(5, i$40); + if (frame.getlocal(0).invoke("match", s$85).__nonzero__()) { + if (frame.getlocal(0).invoke("match", s$86).__nonzero__()) { + frame.setlocal(4, s$76); + while (i$41.__nonzero__()) { + frame.setlocal(15, frame.getlocal(0).invoke("get")); + if (frame.getlocal(15)._is(frame.getglobal("None")).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$87); + } + if (frame.getlocal(15)._eq(s$88).__nonzero__()) { + break; + } + frame.setlocal(4, frame.getlocal(4)._add(frame.getlocal(15))); + } + frame.setlocal(5, i$41); + if (frame.getglobal("isname").__call__(frame.getlocal(4)).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$89); + } + } + else if (frame.getlocal(0).invoke("match", s$90).__nonzero__()) { + frame.setlocal(4, s$76); + while (i$41.__nonzero__()) { + frame.setlocal(15, frame.getlocal(0).invoke("get")); + if (frame.getlocal(15)._is(frame.getglobal("None")).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$87); + } + if (frame.getlocal(15)._eq(s$63).__nonzero__()) { + break; + } + frame.setlocal(4, frame.getlocal(4)._add(frame.getlocal(15))); + } + if (frame.getglobal("isname").__call__(frame.getlocal(4)).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$89); + } + frame.setlocal(16, frame.getlocal(1).__getattr__("groupdict").invoke("get", frame.getlocal(4))); + if (frame.getlocal(16)._is(frame.getglobal("None")).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$91); + } + frame.getlocal(12).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("GROUPREF"), frame.getlocal(16)})); + continue; + } + else { + frame.setlocal(15, frame.getlocal(0).invoke("get")); + if (frame.getlocal(15)._is(frame.getglobal("None")).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$92); + } + throw Py.makeException(frame.getglobal("error"), s$93._mod(frame.getlocal(15))); + } + } + else if (frame.getlocal(0).invoke("match", s$94).__nonzero__()) { + frame.setlocal(5, i$47); + } + else if (frame.getlocal(0).invoke("match", s$65).__nonzero__()) { + while (i$41.__nonzero__()) { + if (((t$0$PyObject = frame.getlocal(0).__getattr__("next")._is(frame.getglobal("None"))).__nonzero__() ? t$0$PyObject : frame.getlocal(0).__getattr__("next")._eq(s$63)).__nonzero__()) { + break; + } + frame.getlocal(0).invoke("get"); + } + if (frame.getlocal(0).invoke("match", s$63).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$95); + } + continue; + } + else if (frame.getlocal(0).__getattr__("next")._in(new PyTuple(new PyObject[] {s$90, s$96, s$86})).__nonzero__()) { + frame.setlocal(15, frame.getlocal(0).invoke("get")); + frame.setlocal(18, i$41); + if (frame.getlocal(15)._eq(s$86).__nonzero__()) { + if (frame.getlocal(0).__getattr__("next")._notin(new PyTuple(new PyObject[] {s$90, s$96})).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$97); + } + frame.setlocal(18, i$41.__neg__()); + frame.setlocal(15, frame.getlocal(0).invoke("get")); + } + frame.setlocal(17, frame.getglobal("_parse_sub").__call__(frame.getlocal(0), frame.getlocal(1))); + if (frame.getlocal(0).invoke("match", s$63).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$95); + } + if (frame.getlocal(15)._eq(s$90).__nonzero__()) { + frame.getlocal(12).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("ASSERT"), new PyTuple(new PyObject[] {frame.getlocal(18), frame.getlocal(17)})})); + } + else { + frame.getlocal(12).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("ASSERT_NOT"), new PyTuple(new PyObject[] {frame.getlocal(18), frame.getlocal(17)})})); + } + continue; + } + else { + if (frame.getglobal("FLAGS").invoke("has_key", frame.getlocal(0).__getattr__("next")).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$92); + } + while (frame.getglobal("FLAGS").invoke("has_key", frame.getlocal(0).__getattr__("next")).__nonzero__()) { + frame.getlocal(1).__setattr__("flags", frame.getlocal(1).__getattr__("flags")._or(frame.getglobal("FLAGS").__getitem__(frame.getlocal(0).invoke("get")))); + } + } + } + if (frame.getlocal(5).__nonzero__()) { + if (frame.getlocal(5)._eq(i$47).__nonzero__()) { + frame.setlocal(5, frame.getglobal("None")); + } + else { + frame.setlocal(5, frame.getlocal(1).invoke("opengroup", frame.getlocal(4))); + } + frame.setlocal(17, frame.getglobal("_parse_sub").__call__(frame.getlocal(0), frame.getlocal(1))); + if (frame.getlocal(0).invoke("match", s$63).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$95); + } + if (frame.getlocal(5)._isnot(frame.getglobal("None")).__nonzero__()) { + frame.getlocal(1).invoke("closegroup", frame.getlocal(5)); + } + frame.getlocal(12).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("SUBPATTERN"), new PyTuple(new PyObject[] {frame.getlocal(5), frame.getlocal(17)})})); + } + else { + while (i$41.__nonzero__()) { + frame.setlocal(15, frame.getlocal(0).invoke("get")); + if (frame.getlocal(15)._is(frame.getglobal("None")).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$92); + } + if (frame.getlocal(15)._eq(s$63).__nonzero__()) { + break; + } + throw Py.makeException(frame.getglobal("error"), s$98); + } + } + } + else if (frame.getlocal(3)._eq(s$67).__nonzero__()) { + frame.getlocal(12).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("AT"), frame.getglobal("AT_BEGINNING")})); + } + else if (frame.getlocal(3)._eq(s$99).__nonzero__()) { + frame.getlocal(12).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("AT"), frame.getglobal("AT_END")})); + } + else if (((t$0$PyObject = frame.getlocal(3)).__nonzero__() ? frame.getlocal(3).__getitem__(i$40)._eq(s$21) : t$0$PyObject).__nonzero__()) { + frame.setlocal(2, frame.getglobal("_escape").__call__(frame.getlocal(0), frame.getlocal(3), frame.getlocal(1))); + frame.getlocal(12).invoke("append", frame.getlocal(2)); + } + else { + throw Py.makeException(frame.getglobal("error"), s$100); + } + } + return frame.getlocal(12); + } + + private static PyObject parse$33(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + frame.setlocal(3, frame.getglobal("Tokenizer").__call__(frame.getlocal(0))); + if (frame.getlocal(2)._is(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(2, frame.getglobal("Pattern").__call__()); + } + frame.getlocal(2).__setattr__("flags", frame.getlocal(1)); + frame.getlocal(2).__setattr__("str", frame.getlocal(0)); + frame.setlocal(4, frame.getglobal("_parse_sub").__call__(frame.getlocal(3), frame.getlocal(2), i$40)); + frame.setlocal(5, frame.getlocal(3).invoke("get")); + if (frame.getlocal(5)._eq(s$63).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$95); + } + else if (frame.getlocal(5).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$101); + } + if (frame.getlocal(1)._and(frame.getglobal("SRE_FLAG_DEBUG")).__nonzero__()) { + frame.getlocal(4).invoke("dump"); + } + if (((t$0$PyObject = frame.getlocal(1)._and(frame.getglobal("SRE_FLAG_VERBOSE")).__not__()).__nonzero__() ? frame.getlocal(4).__getattr__("pattern").__getattr__("flags")._and(frame.getglobal("SRE_FLAG_VERBOSE")) : t$0$PyObject).__nonzero__()) { + return frame.getglobal("parse").__call__(frame.getlocal(0), frame.getlocal(4).__getattr__("pattern").__getattr__("flags")); + } + return frame.getlocal(4); + } + + private static PyObject literal$34(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + if (((t$0$PyObject = frame.getlocal(1)).__nonzero__() ? frame.getlocal(1).__getitem__(i$41.__neg__()).__getitem__(i$40)._is(frame.getglobal("LITERAL")) : t$0$PyObject).__nonzero__()) { + frame.getlocal(1).__setitem__(i$41.__neg__(), new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getlocal(1).__getitem__(i$41.__neg__()).__getitem__(i$41)._add(frame.getlocal(0))})); + } + else { + frame.getlocal(1).invoke("append", new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getlocal(0)})); + } + return Py.None; + } + + private static PyObject parse_template$35(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyException t$0$PyException, t$1$PyException; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(7, frame.getglobal("Tokenizer").__call__(frame.getlocal(0))); + frame.setlocal(9, new PyList(new PyObject[] {})); + frame.setlocal(15, frame.getlocal(9).__getattr__("append")); + frame.setlocal(11, new PyFunction(frame.f_globals, new PyObject[] {frame.getlocal(9)}, c$33_literal)); + frame.setlocal(8, frame.getlocal(0).__getslice__(null, i$40, null)); + if (frame.getglobal("type").__call__(frame.getlocal(8))._is(frame.getglobal("type").__call__(s$76)).__nonzero__()) { + frame.setlocal(13, frame.getglobal("chr")); + } + else { + frame.setlocal(13, frame.getglobal("unichr")); + } + while (i$41.__nonzero__()) { + frame.setlocal(3, frame.getlocal(7).invoke("get")); + if (frame.getlocal(3)._is(frame.getglobal("None")).__nonzero__()) { + break; + } + if (((t$0$PyObject = frame.getlocal(3)).__nonzero__() ? frame.getlocal(3).__getitem__(i$40)._eq(s$21) : t$0$PyObject).__nonzero__()) { + if (frame.getlocal(3)._eq(s$102).__nonzero__()) { + frame.setlocal(16, s$76); + if (frame.getlocal(7).invoke("match", s$86).__nonzero__()) { + while (i$41.__nonzero__()) { + frame.setlocal(13, frame.getlocal(7).invoke("get")); + if (frame.getlocal(13)._is(frame.getglobal("None")).__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$103); + } + if (frame.getlocal(13)._eq(s$88).__nonzero__()) { + break; + } + frame.setlocal(16, frame.getlocal(16)._add(frame.getlocal(13))); + } + } + if (frame.getlocal(16).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$104); + } + try { + frame.setlocal(5, frame.getglobal("atoi").__call__(frame.getlocal(16))); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("ValueError"))) { + if (frame.getglobal("isname").__call__(frame.getlocal(16)).__not__().__nonzero__()) { + throw Py.makeException(frame.getglobal("error"), s$89); + } + try { + frame.setlocal(5, frame.getlocal(1).__getattr__("groupindex").__getitem__(frame.getlocal(16))); + } + catch (Throwable x$1) { + t$1$PyException = Py.setException(x$1, frame); + if (Py.matchException(t$1$PyException, frame.getglobal("KeyError"))) { + throw Py.makeException(frame.getglobal("IndexError"), s$91); + } + else throw t$1$PyException; + } + } + else throw t$0$PyException; + } + frame.getlocal(15).__call__(new PyTuple(new PyObject[] {frame.getglobal("MARK"), frame.getlocal(5)})); + } + else if (((t$0$PyObject = frame.getglobal("len").__call__(frame.getlocal(3))._gt(i$41)).__nonzero__() ? frame.getlocal(3).__getitem__(i$41)._in(frame.getglobal("DIGITS")) : t$0$PyObject).__nonzero__()) { + frame.setlocal(2, frame.getglobal("None")); + while (i$41.__nonzero__()) { + frame.setlocal(6, frame.getglobal("_group").__call__(frame.getlocal(3), frame.getlocal(1).__getattr__("groups")._add(i$41))); + if (frame.getlocal(6).__nonzero__()) { + if (((t$0$PyObject = frame.getlocal(7).__getattr__("next")._notin(frame.getglobal("DIGITS"))).__nonzero__() ? t$0$PyObject : frame.getglobal("_group").__call__(frame.getlocal(3)._add(frame.getlocal(7).__getattr__("next")), frame.getlocal(1).__getattr__("groups")._add(i$41)).__not__()).__nonzero__()) { + frame.setlocal(2, new PyTuple(new PyObject[] {frame.getglobal("MARK"), frame.getlocal(6)})); + break; + } + } + else if (frame.getlocal(7).__getattr__("next")._in(frame.getglobal("OCTDIGITS")).__nonzero__()) { + frame.setlocal(3, frame.getlocal(3)._add(frame.getlocal(7).invoke("get"))); + } + else { + break; + } + } + if (frame.getlocal(2).__not__().__nonzero__()) { + frame.setlocal(3, frame.getlocal(3).__getslice__(i$41, null, null)); + frame.setlocal(2, new PyTuple(new PyObject[] {frame.getglobal("LITERAL"), frame.getlocal(13).__call__(frame.getglobal("atoi").__call__(frame.getlocal(3).__getslice__(i$105.__neg__(), null, null), i$39)._and(i$59))})); + } + if (frame.getlocal(2).__getitem__(i$40)._is(frame.getglobal("LITERAL")).__nonzero__()) { + frame.getlocal(11).__call__(frame.getlocal(2).__getitem__(i$41)); + } + else { + frame.getlocal(15).__call__(frame.getlocal(2)); + } + } + else { + try { + frame.setlocal(3, frame.getlocal(13).__call__(frame.getglobal("ESCAPES").__getitem__(frame.getlocal(3)).__getitem__(i$41))); + } + catch (Throwable x$2) { + t$0$PyException = Py.setException(x$2, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("KeyError"))) { + // pass + } + else throw t$0$PyException; + } + frame.getlocal(11).__call__(frame.getlocal(3)); + } + } + else { + frame.getlocal(11).__call__(frame.getlocal(3)); + } + } + frame.setlocal(10, i$40); + frame.setlocal(12, new PyList(new PyObject[] {})); + frame.setlocal(4, new PyList(new PyObject[] {})); + t$0$int = 0; + t$1$PyObject = frame.getlocal(9); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(14, t$0$PyObject__[0]); + frame.setlocal(7, t$0$PyObject__[1]); + if (frame.getlocal(14)._is(frame.getglobal("MARK")).__nonzero__()) { + frame.getlocal(12).invoke("append", new PyTuple(new PyObject[] {frame.getlocal(10), frame.getlocal(7)})); + frame.getlocal(4).invoke("append", frame.getglobal("None")); + } + else { + frame.getlocal(4).invoke("append", frame.getlocal(7)); + } + frame.setlocal(10, frame.getlocal(10)._add(i$41)); + } + return new PyTuple(new PyObject[] {frame.getlocal(12), frame.getlocal(4)}); + } + + private static PyObject expand_template$36(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyException t$0$PyException; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject; + + // Code + frame.setlocal(4, frame.getlocal(1).__getattr__("group")); + frame.setlocal(8, frame.getlocal(1).__getattr__("string").__getslice__(null, i$40, null)); + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(0), 2); + frame.setlocal(3, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + frame.setlocal(2, frame.getlocal(2).__getslice__(null, null, null)); + try { + t$0$int = 0; + t$1$PyObject = frame.getlocal(3); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 2); + frame.setlocal(5, t$0$PyObject__[0]); + frame.setlocal(6, t$0$PyObject__[1]); + t$2$PyObject = frame.getlocal(4).__call__(frame.getlocal(6)); + frame.getlocal(2).__setitem__(frame.getlocal(5), t$2$PyObject); + frame.setlocal(7, t$2$PyObject); + if (frame.getlocal(7)._is(frame.getglobal("None")).__nonzero__()) { + throw Py.makeException(frame.getglobal("IndexError")); + } + } + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("IndexError"))) { + throw Py.makeException(frame.getglobal("error"), s$106); + } + else throw t$0$PyException; + } + return frame.getglobal("string").__getattr__("join").__call__(frame.getlocal(2), frame.getlocal(8)); + } + + private static PyObject main$37(PyFrame frame) { + frame.setglobal("__file__", s$107); + + // Temporary Variables + PyException t$0$PyException; + + // Code + frame.setlocal("string", org.python.core.imp.importOne("string", frame)); + frame.setlocal("sys", org.python.core.imp.importOne("sys", frame)); + org.python.core.imp.importAll("sre_constants", frame); + frame.setlocal("SPECIAL_CHARS", s$0); + frame.setlocal("REPEAT_CHARS", s$1); + frame.setlocal("DIGITS", frame.getname("tuple").__call__(s$2)); + frame.setlocal("OCTDIGITS", frame.getname("tuple").__call__(s$3)); + frame.setlocal("HEXDIGITS", frame.getname("tuple").__call__(s$4)); + frame.setlocal("WHITESPACE", frame.getname("tuple").__call__(s$5)); + frame.setlocal("ESCAPES", new PyDictionary(new PyObject[] {s$6, new PyTuple(new PyObject[] {frame.getname("LITERAL"), frame.getname("ord").__call__(s$7)}), s$8, new PyTuple(new PyObject[] {frame.getname("LITERAL"), frame.getname("ord").__call__(s$9)}), s$10, new PyTuple(new PyObject[] {frame.getname("LITERAL"), frame.getname("ord").__call__(s$11)}), s$12, new PyTuple(new PyObject[] {frame.getname("LITERAL"), frame.getname("ord").__call__(s$13)}), s$14, new PyTuple(new PyObject[] {frame.getname("LITERAL"), frame.getname("ord").__call__(s$15)}), s$16, new PyTuple(new PyObject[] {frame.getname("LITERAL"), frame.getname("ord").__call__(s$17)}), s$18, new PyTuple(new PyObject[] {frame.getname("LITERAL"), frame.getname("ord").__call__(s$19)}), s$20, new PyTuple(new PyObject[] {frame.getname("LITERAL"), frame.getname("ord").__call__(s$21)})})); + frame.setlocal("CATEGORIES", new PyDictionary(new PyObject[] {s$22, new PyTuple(new PyObject[] {frame.getname("AT"), frame.getname("AT_BEGINNING_STRING")}), s$8, new PyTuple(new PyObject[] {frame.getname("AT"), frame.getname("AT_BOUNDARY")}), s$23, new PyTuple(new PyObject[] {frame.getname("AT"), frame.getname("AT_NON_BOUNDARY")}), s$24, new PyTuple(new PyObject[] {frame.getname("IN"), new PyList(new PyObject[] {new PyTuple(new PyObject[] {frame.getname("CATEGORY"), frame.getname("CATEGORY_DIGIT")})})}), s$25, new PyTuple(new PyObject[] {frame.getname("IN"), new PyList(new PyObject[] {new PyTuple(new PyObject[] {frame.getname("CATEGORY"), frame.getname("CATEGORY_NOT_DIGIT")})})}), s$26, new PyTuple(new PyObject[] {frame.getname("IN"), new PyList(new PyObject[] {new PyTuple(new PyObject[] {frame.getname("CATEGORY"), frame.getname("CATEGORY_SPACE")})})}), s$27, new PyTuple(new PyObject[] {frame.getname("IN"), new PyList(new PyObject[] {new PyTuple(new PyObject[] {frame.getname("CATEGORY"), frame.getname("CATEGORY_NOT_SPACE")})})}), s$28, new PyTuple(new PyObject[] {frame.getname("IN"), new PyList(new PyObject[] {new PyTuple(new PyObject[] {frame.getname("CATEGORY"), frame.getname("CATEGORY_WORD")})})}), s$29, new PyTuple(new PyObject[] {frame.getname("IN"), new PyList(new PyObject[] {new PyTuple(new PyObject[] {frame.getname("CATEGORY"), frame.getname("CATEGORY_NOT_WORD")})})}), s$30, new PyTuple(new PyObject[] {frame.getname("AT"), frame.getname("AT_END_STRING")})})); + frame.setlocal("FLAGS", new PyDictionary(new PyObject[] {s$31, frame.getname("SRE_FLAG_IGNORECASE"), s$32, frame.getname("SRE_FLAG_LOCALE"), s$33, frame.getname("SRE_FLAG_MULTILINE"), s$34, frame.getname("SRE_FLAG_DOTALL"), s$35, frame.getname("SRE_FLAG_VERBOSE"), s$36, frame.getname("SRE_FLAG_TEMPLATE"), s$37, frame.getname("SRE_FLAG_UNICODE")})); + try { + frame.getname("int").__call__(s$38, i$39); + frame.setlocal("atoi", frame.getname("int")); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getname("TypeError"))) { + frame.setlocal("atoi", frame.getname("string").__getattr__("atoi")); + } + else throw t$0$PyException; + } + frame.setlocal("Pattern", Py.makeClass("Pattern", new PyObject[] {}, c$4_Pattern, null)); + frame.setlocal("SubPattern", Py.makeClass("SubPattern", new PyObject[] {}, c$16_SubPattern, null)); + frame.setlocal("Tokenizer", Py.makeClass("Tokenizer", new PyObject[] {}, c$23_Tokenizer, null)); + frame.setlocal("isident", new PyFunction(frame.f_globals, new PyObject[] {}, c$24_isident)); + frame.setlocal("isdigit", new PyFunction(frame.f_globals, new PyObject[] {}, c$25_isdigit)); + frame.setlocal("isname", new PyFunction(frame.f_globals, new PyObject[] {}, c$26_isname)); + frame.setlocal("_group", new PyFunction(frame.f_globals, new PyObject[] {}, c$27__group)); + frame.setlocal("_class_escape", new PyFunction(frame.f_globals, new PyObject[] {}, c$28__class_escape)); + frame.setlocal("_escape", new PyFunction(frame.f_globals, new PyObject[] {}, c$29__escape)); + frame.setlocal("_parse_sub", new PyFunction(frame.f_globals, new PyObject[] {i$41}, c$30__parse_sub)); + frame.setlocal("_parse", new PyFunction(frame.f_globals, new PyObject[] {}, c$31__parse)); + frame.setlocal("parse", new PyFunction(frame.f_globals, new PyObject[] {i$40, frame.getname("None")}, c$32_parse)); + frame.setlocal("parse_template", new PyFunction(frame.f_globals, new PyObject[] {}, c$34_parse_template)); + frame.setlocal("expand_template", new PyFunction(frame.f_globals, new PyObject[] {}, c$35_expand_template)); + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("sre_parse")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "sre_parse"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(sre_parse._PyInner.class, newargs, sre_parse.jpy$packages, sre_parse.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/stat$_PyInner.class b/server/jpywork/stat$_PyInner.class new file mode 100644 index 0000000000000000000000000000000000000000..2ac0d537d1b92d9388fb3bb85da0aee1d24bee9d GIT binary patch literal 6005 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 literal 0 HcmV?d00001 diff --git a/server/jpywork/stat.class b/server/jpywork/stat.class new file mode 100644 index 0000000000000000000000000000000000000000..8cfdab82dbe7a544648bee1fe7f6e8f09fedb70a GIT binary patch literal 2481 zcma)8`EwLi5dJ3FWG2hzdJrx-B}lTtjfi*~*`rG;{k_1sk68!zQ#F*R0la)IL-SfXL0oU&yha6GrT-Sa0> z6;s>uWvaT>1V%}q0gVQhYgk{g@*>AnG3%Y)PlWc(#WJvxc?Et+D%VvB=*o2slUMkp zTp1Wx$7_Wvg{y(9HMIUC0|T7|CbV%p1J`J14i}}s$)(OX1r@t10RxTn9dukdRLYM@ z|DZLNlNuU#geb*PkIe}r(X62*f?%&>2LnVH7viRO^wHT{SvR^+deN zMIA$`2j@C?ZYPcr+@s^}g?&>l67&R293($2-?z%PS14;p&aXiwkAZnbo>dKWk1Ae{ zCeVbqfn9N=aa6|w*w+c%hx>`&3C|xQ!`O`TkC-LRyd$D%po5H9Q;jv`h5Ehn zM88*Z$M^ZZ$7)-!b&M^z_`$62omRb(z&LnZTrofviyS~2mXHM1n3cohIEHNovKrWA zlWeJCIMWQ|`0iWoxR*D;GQ?Cz8YmF4z_)BU#<6C=Cyk4~%-CMO;N+wMHe90>$SH^2 ze~QzKn+B#7Q$s74gmr_Wfivv7D1(7v0}s(lW#)0`5tV~ypH%bXF`iqt3e4aM+S^u6 zy5p8_;3?{TS>W3g-eXZm=rG!E8u);F>V5^wFG|%< zA0_ZHK8gA!YCwN}-J>Gcp!NS#U0K8$e%+%wKGU$STJZ4HAuot1G&{%15z{OAw(Mv9 z)IB&+Qp$-?hEpYUQ=czmcFtfu$zRW}XpEHM2ZL{hn*QOFlRA8|GibGl?~z>s&0M!| z70^%pjWm3R)^xpSH`6h(*gTI8eSsp~AeNcwMzMlhSGC2Xz11ewYt6JS)|=_JMzMj? z5F2T-=`3Sv=%y6m2{E)YyUomJnAx(s=Q3E$75R>a>`YJN)(hC3OwM5M;cAqY5Sq(q#m`uaUl?sa?m`^~870P8 z2NVce3-xu>Tuxq!9p}{sd+NnjGg;pgOJ176@Hrex|A1A8#o-y;n?8?2-=Os(jvdKd z!0~CE_`c^HHl0IL|PbzTo3Nue3^njT*L@|V^M5&9@Ay{R~Ch;I;Ts%y< zNIXiJ5RX$fizg{t#M6|m;#tZz@jPX_c#%?wmnj#ES1Ff>*C{*1o0Ln%+my?Afppt) z@h;^G@xD2O56|+xYp{XPf66yinx(`O_?3kDjpg{A>p$=l{v;NkQ(uQK@Fky$Iy?FQ H6`KAA>_CEN literal 0 HcmV?d00001 diff --git a/server/jpywork/stat.java b/server/jpywork/stat.java new file mode 100644 index 00000000..2bcf81a6 --- /dev/null +++ b/server/jpywork/stat.java @@ -0,0 +1,233 @@ +import org.python.core.*; + +public class stat extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject i$1; + private static PyObject i$2; + private static PyObject i$3; + private static PyObject i$4; + private static PyObject i$5; + private static PyObject i$6; + private static PyObject i$7; + private static PyObject i$8; + private static PyObject i$9; + private static PyObject i$10; + private static PyObject i$11; + private static PyObject i$12; + private static PyObject i$13; + private static PyObject i$14; + private static PyObject i$15; + private static PyObject i$16; + private static PyObject i$17; + private static PyObject i$18; + private static PyObject i$19; + private static PyObject i$20; + private static PyObject i$21; + private static PyObject i$22; + private static PyObject i$23; + private static PyObject i$24; + private static PyObject i$25; + private static PyObject i$26; + private static PyObject i$27; + private static PyObject i$28; + private static PyObject i$29; + private static PyObject s$30; + private static PyFunctionTable funcTable; + private static PyCode c$0_S_IMODE; + private static PyCode c$1_S_IFMT; + private static PyCode c$2_S_ISDIR; + private static PyCode c$3_S_ISCHR; + private static PyCode c$4_S_ISBLK; + private static PyCode c$5_S_ISREG; + private static PyCode c$6_S_ISFIFO; + private static PyCode c$7_S_ISLNK; + private static PyCode c$8_S_ISSOCK; + private static PyCode c$9_main; + private static void initConstants() { + s$0 = Py.newString("Constants/functions for interpreting results of os.stat() and os.lstat().\012\012Suggested usage: from stat import *\012"); + i$1 = Py.newInteger(0); + i$2 = Py.newInteger(1); + i$3 = Py.newInteger(2); + i$4 = Py.newInteger(3); + i$5 = Py.newInteger(4); + i$6 = Py.newInteger(5); + i$7 = Py.newInteger(6); + i$8 = Py.newInteger(7); + i$9 = Py.newInteger(8); + i$10 = Py.newInteger(9); + i$11 = Py.newInteger(4095); + i$12 = Py.newInteger(61440); + i$13 = Py.newInteger(16384); + i$14 = Py.newInteger(8192); + i$15 = Py.newInteger(24576); + i$16 = Py.newInteger(32768); + i$17 = Py.newInteger(4096); + i$18 = Py.newInteger(40960); + i$19 = Py.newInteger(49152); + i$20 = Py.newInteger(2048); + i$21 = Py.newInteger(1024); + i$22 = Py.newInteger(512); + i$23 = Py.newInteger(256); + i$24 = Py.newInteger(128); + i$25 = Py.newInteger(64); + i$26 = Py.newInteger(448); + i$27 = Py.newInteger(56); + i$28 = Py.newInteger(32); + i$29 = Py.newInteger(16); + s$30 = Py.newString("/usr/share/jython/Lib-cpython/stat.py"); + funcTable = new _PyInner(); + c$0_S_IMODE = Py.newCode(1, new String[] {"mode"}, "/usr/share/jython/Lib-cpython/stat.py", "S_IMODE", false, false, funcTable, 0, null, null, 0, 1); + c$1_S_IFMT = Py.newCode(1, new String[] {"mode"}, "/usr/share/jython/Lib-cpython/stat.py", "S_IFMT", false, false, funcTable, 1, null, null, 0, 1); + c$2_S_ISDIR = Py.newCode(1, new String[] {"mode"}, "/usr/share/jython/Lib-cpython/stat.py", "S_ISDIR", false, false, funcTable, 2, null, null, 0, 1); + c$3_S_ISCHR = Py.newCode(1, new String[] {"mode"}, "/usr/share/jython/Lib-cpython/stat.py", "S_ISCHR", false, false, funcTable, 3, null, null, 0, 1); + c$4_S_ISBLK = Py.newCode(1, new String[] {"mode"}, "/usr/share/jython/Lib-cpython/stat.py", "S_ISBLK", false, false, funcTable, 4, null, null, 0, 1); + c$5_S_ISREG = Py.newCode(1, new String[] {"mode"}, "/usr/share/jython/Lib-cpython/stat.py", "S_ISREG", false, false, funcTable, 5, null, null, 0, 1); + c$6_S_ISFIFO = Py.newCode(1, new String[] {"mode"}, "/usr/share/jython/Lib-cpython/stat.py", "S_ISFIFO", false, false, funcTable, 6, null, null, 0, 1); + c$7_S_ISLNK = Py.newCode(1, new String[] {"mode"}, "/usr/share/jython/Lib-cpython/stat.py", "S_ISLNK", false, false, funcTable, 7, null, null, 0, 1); + c$8_S_ISSOCK = Py.newCode(1, new String[] {"mode"}, "/usr/share/jython/Lib-cpython/stat.py", "S_ISSOCK", false, false, funcTable, 8, null, null, 0, 1); + c$9_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/stat.py", "main", false, false, funcTable, 9, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$9_main == null) _PyInner.initConstants(); + return c$9_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.S_IMODE$1(frame); + case 1: + return _PyInner.S_IFMT$2(frame); + case 2: + return _PyInner.S_ISDIR$3(frame); + case 3: + return _PyInner.S_ISCHR$4(frame); + case 4: + return _PyInner.S_ISBLK$5(frame); + case 5: + return _PyInner.S_ISREG$6(frame); + case 6: + return _PyInner.S_ISFIFO$7(frame); + case 7: + return _PyInner.S_ISLNK$8(frame); + case 8: + return _PyInner.S_ISSOCK$9(frame); + case 9: + return _PyInner.main$10(frame); + default: + return null; + } + } + + private static PyObject S_IMODE$1(PyFrame frame) { + return frame.getlocal(0)._and(i$11); + } + + private static PyObject S_IFMT$2(PyFrame frame) { + return frame.getlocal(0)._and(i$12); + } + + private static PyObject S_ISDIR$3(PyFrame frame) { + return frame.getglobal("S_IFMT").__call__(frame.getlocal(0))._eq(frame.getglobal("S_IFDIR")); + } + + private static PyObject S_ISCHR$4(PyFrame frame) { + return frame.getglobal("S_IFMT").__call__(frame.getlocal(0))._eq(frame.getglobal("S_IFCHR")); + } + + private static PyObject S_ISBLK$5(PyFrame frame) { + return frame.getglobal("S_IFMT").__call__(frame.getlocal(0))._eq(frame.getglobal("S_IFBLK")); + } + + private static PyObject S_ISREG$6(PyFrame frame) { + return frame.getglobal("S_IFMT").__call__(frame.getlocal(0))._eq(frame.getglobal("S_IFREG")); + } + + private static PyObject S_ISFIFO$7(PyFrame frame) { + return frame.getglobal("S_IFMT").__call__(frame.getlocal(0))._eq(frame.getglobal("S_IFIFO")); + } + + private static PyObject S_ISLNK$8(PyFrame frame) { + return frame.getglobal("S_IFMT").__call__(frame.getlocal(0))._eq(frame.getglobal("S_IFLNK")); + } + + private static PyObject S_ISSOCK$9(PyFrame frame) { + return frame.getglobal("S_IFMT").__call__(frame.getlocal(0))._eq(frame.getglobal("S_IFSOCK")); + } + + private static PyObject main$10(PyFrame frame) { + frame.setglobal("__file__", s$30); + + /* Constants/functions for interpreting results of os.stat() and os.lstat(). + + Suggested usage: from stat import * + */ + frame.setlocal("ST_MODE", i$1); + frame.setlocal("ST_INO", i$2); + frame.setlocal("ST_DEV", i$3); + frame.setlocal("ST_NLINK", i$4); + frame.setlocal("ST_UID", i$5); + frame.setlocal("ST_GID", i$6); + frame.setlocal("ST_SIZE", i$7); + frame.setlocal("ST_ATIME", i$8); + frame.setlocal("ST_MTIME", i$9); + frame.setlocal("ST_CTIME", i$10); + frame.setlocal("S_IMODE", new PyFunction(frame.f_globals, new PyObject[] {}, c$0_S_IMODE)); + frame.setlocal("S_IFMT", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_S_IFMT)); + frame.setlocal("S_IFDIR", i$13); + frame.setlocal("S_IFCHR", i$14); + frame.setlocal("S_IFBLK", i$15); + frame.setlocal("S_IFREG", i$16); + frame.setlocal("S_IFIFO", i$17); + frame.setlocal("S_IFLNK", i$18); + frame.setlocal("S_IFSOCK", i$19); + frame.setlocal("S_ISDIR", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_S_ISDIR)); + frame.setlocal("S_ISCHR", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_S_ISCHR)); + frame.setlocal("S_ISBLK", new PyFunction(frame.f_globals, new PyObject[] {}, c$4_S_ISBLK)); + frame.setlocal("S_ISREG", new PyFunction(frame.f_globals, new PyObject[] {}, c$5_S_ISREG)); + frame.setlocal("S_ISFIFO", new PyFunction(frame.f_globals, new PyObject[] {}, c$6_S_ISFIFO)); + frame.setlocal("S_ISLNK", new PyFunction(frame.f_globals, new PyObject[] {}, c$7_S_ISLNK)); + frame.setlocal("S_ISSOCK", new PyFunction(frame.f_globals, new PyObject[] {}, c$8_S_ISSOCK)); + frame.setlocal("S_ISUID", i$20); + frame.setlocal("S_ISGID", i$21); + frame.setlocal("S_ENFMT", frame.getname("S_ISGID")); + frame.setlocal("S_ISVTX", i$22); + frame.setlocal("S_IREAD", i$23); + frame.setlocal("S_IWRITE", i$24); + frame.setlocal("S_IEXEC", i$25); + frame.setlocal("S_IRWXU", i$26); + frame.setlocal("S_IRUSR", i$23); + frame.setlocal("S_IWUSR", i$24); + frame.setlocal("S_IXUSR", i$25); + frame.setlocal("S_IRWXG", i$27); + frame.setlocal("S_IRGRP", i$28); + frame.setlocal("S_IWGRP", i$29); + frame.setlocal("S_IXGRP", i$9); + frame.setlocal("S_IRWXO", i$8); + frame.setlocal("S_IROTH", i$5); + frame.setlocal("S_IWOTH", i$3); + frame.setlocal("S_IXOTH", i$2); + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("stat")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "stat"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(stat._PyInner.class, newargs, stat.jpy$packages, stat.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/string$_PyInner.class b/server/jpywork/string$_PyInner.class new file mode 100644 index 0000000000000000000000000000000000000000..87ee37b1e88d79341b7654bff8675a61829705eb GIT binary patch literal 20070 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 A@Bjb+ literal 0 HcmV?d00001 diff --git a/server/jpywork/string.class b/server/jpywork/string.class new file mode 100644 index 0000000000000000000000000000000000000000..ad49016f51168fd5be31ea6dd6103d4d665efb96 GIT binary patch literal 2485 zcma)8>2nih82@dWcDEtDUT8Vwlp<}4sfc(`KoqDJOIr;T14`I#Uz#oHZrt4f!TY}N z`@YA|zzprkh##Htf6#wGo$>nY_`y<3er!HmFz-bI|i0$*dR|^vKZK|<8O1liF8HO zay^-@UNwSNlBh?6fn^%jRixZVG41EwQ~QX}-Z@(aRxqx>D@mogG6`L&u4eEGpR^+b z18bR9cv83;xKcyQKO!*DNnk=5+cj{NhNkdP3hYAqj9pZ=yOJ=_K;1#xkwc}aG3gyJ z#|n}K+#aHoKpi$EkwTM(<_Lm4wiOHzK@F?A2I;dm%BNRl-8)i_O5E2yYJlZ1ayiGG zlDV9YYc(vpTznSkSOS}|Re8EzLwnb}Dpoq7do+O?u}#NKHSI)hljy^C4U2L)pXCnZ zR4%8Xw}!R<3S0-9qs0#!uroJO9&jA#C9ngV6uBjdTd|wSPRL+CJ6OYtuI?J+Noi`g7d%M)C#Ji#O_kV$F}UMF>`7v64h?h zF{Gw&ZieS>5*WcB+8T00{vLU} z-z_=gdp*x(wM|$$#ug-gAn&=S)N~{<4!TRI4v@aj6{KMao1kj5;yi()*lHlJfnzqw zq4G>;+?_H|USm;OQu6*8Wv%l5oQ9YR=LP1#r7A7c%JcXVO(^F@Gsqiw zg{OnmP;0}$YjmW{8+bz{p7*3V&hLbQw|K!^DDn%#kj$hI^TZW$uz8Px&hfnV6@X5)b)FQq|a!EAt+{{xz zJ@q$I{|#EQb)qekjf=&Z^Jv!>FtYVxX(rnsmhVcUU{9Ucl1bI|#8a1MFnkUNv)^ImA#rF1cW2Mz;8$q5h@*#d z7jSGE$G`14hmGgZE+$%6M7V5GAleF?6AH5_g^-)c8sfeXCZALnr4X!Bq>Z9Xnh^Js zE)oxtCdI>~P2y3~X7M;_i+GZ>RXk1FCY~h~;(5}=;ziOW;$_ly@hWMDc%5{qc$0LQ zc$;*&csDbH_s=rl)mTsHKjxb%O$YHr>{l4E-_R8M9UZYh@I&lRV(}?&WB3f8^Ql^A J2mil7 string\012\012 Return a copy of the string s converted to lowercase.\012\012 "); + s$11 = Py.newString("upper(s) -> string\012\012 Return a copy of the string s converted to uppercase.\012\012 "); + s$12 = Py.newString("swapcase(s) -> string\012\012 Return a copy of the string s with upper case characters\012 converted to lowercase and vice versa.\012\012 "); + s$13 = Py.newString("strip(s) -> string\012\012 Return a copy of the string s with leading and trailing\012 whitespace removed.\012\012 "); + s$14 = Py.newString("lstrip(s) -> string\012\012 Return a copy of the string s with leading whitespace removed.\012\012 "); + s$15 = Py.newString("rstrip(s) -> string\012\012 Return a copy of the string s with trailing whitespace\012 removed.\012\012 "); + s$16 = Py.newString("split(str [,sep [,maxsplit]]) -> list of strings\012\012 Return a list of the words in the string s, using sep as the\012 delimiter string. If maxsplit is nonzero, splits into at most\012 maxsplit words If sep is not specified, any whitespace string\012 is a separator. Maxsplit defaults to -1.\012\012 (split and splitfields are synonymous)\012\012 "); + i$17 = Py.newInteger(1); + s$18 = Py.newString("join(list [,sep]) -> string\012\012 Return a string composed of the words in list, with\012 intervening occurences of sep. The default separator is a\012 single space.\012\012 (joinfields and join are synonymous)\012\012 "); + s$19 = Py.newString(" "); + s$20 = Py.newString("index(s, sub [,start [,end]]) -> int\012\012 Like find but raises ValueError when the substring is not found.\012\012 "); + s$21 = Py.newString("rindex(s, sub [,start [,end]]) -> int\012\012 Like rfind but raises ValueError when the substring is not found.\012\012 "); + s$22 = Py.newString("count(s, sub[, start[,end]]) -> int\012\012 Return the number of occurrences of substring sub in string\012 s[start:end]. Optional arguments start and end are\012 interpreted as in slice notation.\012\012 "); + s$23 = Py.newString("find(s, sub [,start [,end]]) -> in\012\012 Return the lowest index in s where substring sub is found,\012 such that sub is contained within s[start,end]. Optional\012 arguments start and end are interpreted as in slice notation.\012\012 Return -1 on failure.\012\012 "); + s$24 = Py.newString("rfind(s, sub [,start [,end]]) -> int\012\012 Return the highest index in s where substring sub is found,\012 such that sub is contained within s[start,end]. Optional\012 arguments start and end are interpreted as in slice notation.\012\012 Return -1 on failure.\012\012 "); + s$25 = Py.newString("atof(s) -> float\012\012 Return the floating point number represented by the string s.\012\012 "); + s$26 = Py.newString("argument 1: expected string, %s found"); + s$27 = Py.newString("atoi(s [,base]) -> int\012\012 Return the integer represented by the string s in the given\012 base, which defaults to 10. The string s must consist of one\012 or more digits, possibly preceded by a sign. If base is 0, it\012 is chosen from the leading characters of s, 0 for octal, 0x or\012 0X for hexadecimal. If base is 16, a preceding 0x or 0X is\012 accepted.\012\012 "); + i$28 = Py.newInteger(0); + s$29 = Py.newString("function requires at least 1 argument: %d given"); + s$30 = Py.newString("atol(s [,base]) -> long\012\012 Return the long integer represented by the string s in the\012 given base, which defaults to 10. The string s must consist\012 of one or more digits, possibly preceded by a sign. If base\012 is 0, it is chosen from the leading characters of s, 0 for\012 octal, 0x or 0X for hexadecimal. If base is 16, a preceding\012 0x or 0X is accepted. A trailing L or l is not accepted,\012 unless base is 0.\012\012 "); + s$31 = Py.newString("ljust(s, width) -> string\012\012 Return a left-justified version of s, in a field of the\012 specified width, padded with spaces as needed. The string is\012 never truncated.\012\012 "); + s$32 = Py.newString("rjust(s, width) -> string\012\012 Return a right-justified version of s, in a field of the\012 specified width, padded with spaces as needed. The string is\012 never truncated.\012\012 "); + s$33 = Py.newString("center(s, width) -> string\012\012 Return a center version of s, in a field of the specified\012 width. padded with spaces as needed. The string is never\012 truncated.\012\012 "); + i$34 = Py.newInteger(2); + s$35 = Py.newString("zfill(x, width) -> string\012\012 Pad a numeric string x with zeros on the left, to fill a field\012 of the specified width. The string x is never truncated.\012\012 "); + s$36 = Py.newString("-"); + s$37 = Py.newString("+"); + s$38 = Py.newString("0"); + s$39 = Py.newString("expandtabs(s [,tabsize]) -> string\012\012 Return a copy of the string s with all tab characters replaced\012 by the appropriate number of spaces, depending on the current\012 column, and the tabsize (default 8).\012\012 "); + s$40 = Py.newString("\011"); + s$41 = Py.newString("\012"); + i$42 = Py.newInteger(8); + s$43 = Py.newString("translate(s,table [,deletechars]) -> string\012\012 Return a copy of the string s, where all characters occurring\012 in the optional argument deletechars are removed, and the\012 remaining characters have been mapped through the given\012 translation table, which must be a string of length 256.\012\012 "); + s$44 = Py.newString("capitalize(s) -> string\012\012 Return a copy of the string s with only its first character\012 capitalized.\012\012 "); + s$45 = Py.newString("capwords(s, [sep]) -> string\012\012 Split the argument into words using split, capitalize each\012 word using capitalize, and join the capitalized words using\012 join. Note that this replaces runs of whitespace characters by\012 a single space.\012\012 "); + s$46 = Py.newString("maketrans(frm, to) -> string\012\012 Return a translation table (a string of 256 bytes long)\012 suitable for use in string.translate. The strings frm and to\012 must be of the same length.\012\012 "); + s$47 = Py.newString("maketrans arguments must have same length"); + s$48 = Py.newString("replace (str, old, new[, maxsplit]) -> string\012\012 Return a copy of string str with all occurrences of substring\012 old replaced by new. If the optional argument maxsplit is\012 given, only the first maxsplit occurrences are replaced.\012\012 "); + s$49 = Py.newString("/usr/share/jython/Lib/string.py"); + funcTable = new _PyInner(); + c$0_lower = Py.newCode(1, new String[] {"s"}, "/usr/share/jython/Lib/string.py", "lower", false, false, funcTable, 0, null, null, 0, 1); + c$1_upper = Py.newCode(1, new String[] {"s"}, "/usr/share/jython/Lib/string.py", "upper", false, false, funcTable, 1, null, null, 0, 1); + c$2_swapcase = Py.newCode(1, new String[] {"s"}, "/usr/share/jython/Lib/string.py", "swapcase", false, false, funcTable, 2, null, null, 0, 1); + c$3_strip = Py.newCode(1, new String[] {"s"}, "/usr/share/jython/Lib/string.py", "strip", false, false, funcTable, 3, null, null, 0, 1); + c$4_lstrip = Py.newCode(1, new String[] {"s"}, "/usr/share/jython/Lib/string.py", "lstrip", false, false, funcTable, 4, null, null, 0, 1); + c$5_rstrip = Py.newCode(1, new String[] {"s"}, "/usr/share/jython/Lib/string.py", "rstrip", false, false, funcTable, 5, null, null, 0, 1); + c$6_split = Py.newCode(3, new String[] {"s", "sep", "maxsplit"}, "/usr/share/jython/Lib/string.py", "split", false, false, funcTable, 6, null, null, 0, 1); + c$7_join = Py.newCode(2, new String[] {"words", "sep"}, "/usr/share/jython/Lib/string.py", "join", false, false, funcTable, 7, null, null, 0, 1); + c$8_index = Py.newCode(2, new String[] {"s", "args"}, "/usr/share/jython/Lib/string.py", "index", true, false, funcTable, 8, null, null, 0, 1); + c$9_rindex = Py.newCode(2, new String[] {"s", "args"}, "/usr/share/jython/Lib/string.py", "rindex", true, false, funcTable, 9, null, null, 0, 1); + c$10_count = Py.newCode(2, new String[] {"s", "args"}, "/usr/share/jython/Lib/string.py", "count", true, false, funcTable, 10, null, null, 0, 1); + c$11_find = Py.newCode(2, new String[] {"s", "args"}, "/usr/share/jython/Lib/string.py", "find", true, false, funcTable, 11, null, null, 0, 1); + c$12_rfind = Py.newCode(2, new String[] {"s", "args"}, "/usr/share/jython/Lib/string.py", "rfind", true, false, funcTable, 12, null, null, 0, 1); + c$13_atof = Py.newCode(1, new String[] {"s"}, "/usr/share/jython/Lib/string.py", "atof", false, false, funcTable, 13, null, null, 0, 1); + c$14_atoi = Py.newCode(1, new String[] {"args", "s"}, "/usr/share/jython/Lib/string.py", "atoi", true, false, funcTable, 14, null, null, 0, 1); + c$15_atol = Py.newCode(1, new String[] {"args", "s"}, "/usr/share/jython/Lib/string.py", "atol", true, false, funcTable, 15, null, null, 0, 1); + c$16_ljust = Py.newCode(2, new String[] {"s", "width", "n"}, "/usr/share/jython/Lib/string.py", "ljust", false, false, funcTable, 16, null, null, 0, 1); + c$17_rjust = Py.newCode(2, new String[] {"s", "width", "n"}, "/usr/share/jython/Lib/string.py", "rjust", false, false, funcTable, 17, null, null, 0, 1); + c$18_center = Py.newCode(2, new String[] {"s", "width", "half", "n"}, "/usr/share/jython/Lib/string.py", "center", false, false, funcTable, 18, null, null, 0, 1); + c$19_zfill = Py.newCode(2, new String[] {"x", "width", "sign", "s", "n"}, "/usr/share/jython/Lib/string.py", "zfill", false, false, funcTable, 19, null, null, 0, 1); + c$20_expandtabs = Py.newCode(2, new String[] {"s", "tabsize", "line", "res", "c"}, "/usr/share/jython/Lib/string.py", "expandtabs", false, false, funcTable, 20, null, null, 0, 1); + c$21_translate = Py.newCode(3, new String[] {"s", "table", "deletions"}, "/usr/share/jython/Lib/string.py", "translate", false, false, funcTable, 21, null, null, 0, 1); + c$22_capitalize = Py.newCode(1, new String[] {"s"}, "/usr/share/jython/Lib/string.py", "capitalize", false, false, funcTable, 22, null, null, 0, 1); + c$23_capwords = Py.newCode(2, new String[] {"s", "sep"}, "/usr/share/jython/Lib/string.py", "capwords", false, false, funcTable, 23, null, null, 0, 1); + c$24_maketrans = Py.newCode(2, new String[] {"fromstr", "tostr", "i", "L"}, "/usr/share/jython/Lib/string.py", "maketrans", false, false, funcTable, 24, null, null, 0, 1); + c$25_replace = Py.newCode(4, new String[] {"s", "old", "new", "maxsplit"}, "/usr/share/jython/Lib/string.py", "replace", false, false, funcTable, 25, null, null, 0, 1); + c$26_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib/string.py", "main", false, false, funcTable, 26, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$26_main == null) _PyInner.initConstants(); + return c$26_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.lower$1(frame); + case 1: + return _PyInner.upper$2(frame); + case 2: + return _PyInner.swapcase$3(frame); + case 3: + return _PyInner.strip$4(frame); + case 4: + return _PyInner.lstrip$5(frame); + case 5: + return _PyInner.rstrip$6(frame); + case 6: + return _PyInner.split$7(frame); + case 7: + return _PyInner.join$8(frame); + case 8: + return _PyInner.index$9(frame); + case 9: + return _PyInner.rindex$10(frame); + case 10: + return _PyInner.count$11(frame); + case 11: + return _PyInner.find$12(frame); + case 12: + return _PyInner.rfind$13(frame); + case 13: + return _PyInner.atof$14(frame); + case 14: + return _PyInner.atoi$15(frame); + case 15: + return _PyInner.atol$16(frame); + case 16: + return _PyInner.ljust$17(frame); + case 17: + return _PyInner.rjust$18(frame); + case 18: + return _PyInner.center$19(frame); + case 19: + return _PyInner.zfill$20(frame); + case 20: + return _PyInner.expandtabs$21(frame); + case 21: + return _PyInner.translate$22(frame); + case 22: + return _PyInner.capitalize$23(frame); + case 23: + return _PyInner.capwords$24(frame); + case 24: + return _PyInner.maketrans$25(frame); + case 25: + return _PyInner.replace$26(frame); + case 26: + return _PyInner.main$27(frame); + default: + return null; + } + } + + private static PyObject lower$1(PyFrame frame) { + /* lower(s) -> string + + Return a copy of the string s converted to lowercase. + + */ + return frame.getlocal(0).invoke("lower"); + } + + private static PyObject upper$2(PyFrame frame) { + /* upper(s) -> string + + Return a copy of the string s converted to uppercase. + + */ + return frame.getlocal(0).invoke("upper"); + } + + private static PyObject swapcase$3(PyFrame frame) { + /* swapcase(s) -> string + + Return a copy of the string s with upper case characters + converted to lowercase and vice versa. + + */ + return frame.getlocal(0).invoke("swapcase"); + } + + private static PyObject strip$4(PyFrame frame) { + /* strip(s) -> string + + Return a copy of the string s with leading and trailing + whitespace removed. + + */ + return frame.getlocal(0).invoke("strip"); + } + + private static PyObject lstrip$5(PyFrame frame) { + /* lstrip(s) -> string + + Return a copy of the string s with leading whitespace removed. + + */ + return frame.getlocal(0).invoke("lstrip"); + } + + private static PyObject rstrip$6(PyFrame frame) { + /* rstrip(s) -> string + + Return a copy of the string s with trailing whitespace + removed. + + */ + return frame.getlocal(0).invoke("rstrip"); + } + + private static PyObject split$7(PyFrame frame) { + /* split(str [,sep [,maxsplit]]) -> list of strings + + Return a list of the words in the string s, using sep as the + delimiter string. If maxsplit is nonzero, splits into at most + maxsplit words If sep is not specified, any whitespace string + is a separator. Maxsplit defaults to -1. + + (split and splitfields are synonymous) + + */ + return frame.getlocal(0).invoke("split", frame.getlocal(1), frame.getlocal(2)); + } + + private static PyObject join$8(PyFrame frame) { + /* join(list [,sep]) -> string + + Return a string composed of the words in list, with + intervening occurences of sep. The default separator is a + single space. + + (joinfields and join are synonymous) + + */ + return frame.getlocal(1).invoke("join", frame.getlocal(0)); + } + + private static PyObject index$9(PyFrame frame) { + /* index(s, sub [,start [,end]]) -> int + + Like find but raises ValueError when the substring is not found. + + */ + return frame.getglobal("_apply").__call__(frame.getlocal(0).__getattr__("index"), frame.getlocal(1)); + } + + private static PyObject rindex$10(PyFrame frame) { + /* rindex(s, sub [,start [,end]]) -> int + + Like rfind but raises ValueError when the substring is not found. + + */ + return frame.getglobal("_apply").__call__(frame.getlocal(0).__getattr__("rindex"), frame.getlocal(1)); + } + + private static PyObject count$11(PyFrame frame) { + /* count(s, sub[, start[,end]]) -> int + + Return the number of occurrences of substring sub in string + s[start:end]. Optional arguments start and end are + interpreted as in slice notation. + + */ + return frame.getglobal("_apply").__call__(frame.getlocal(0).__getattr__("count"), frame.getlocal(1)); + } + + private static PyObject find$12(PyFrame frame) { + /* find(s, sub [,start [,end]]) -> in + + Return the lowest index in s where substring sub is found, + such that sub is contained within s[start,end]. Optional + arguments start and end are interpreted as in slice notation. + + Return -1 on failure. + + */ + return frame.getglobal("_apply").__call__(frame.getlocal(0).__getattr__("find"), frame.getlocal(1)); + } + + private static PyObject rfind$13(PyFrame frame) { + /* rfind(s, sub [,start [,end]]) -> int + + Return the highest index in s where substring sub is found, + such that sub is contained within s[start,end]. Optional + arguments start and end are interpreted as in slice notation. + + Return -1 on failure. + + */ + return frame.getglobal("_apply").__call__(frame.getlocal(0).__getattr__("rfind"), frame.getlocal(1)); + } + + private static PyObject atof$14(PyFrame frame) { + /* atof(s) -> float + + Return the floating point number represented by the string s. + + */ + if (frame.getglobal("type").__call__(frame.getlocal(0))._eq(frame.getglobal("_StringType")).__nonzero__()) { + return frame.getglobal("_float").__call__(frame.getlocal(0)); + } + else { + throw Py.makeException(frame.getglobal("TypeError").__call__(s$26._mod(frame.getglobal("type").__call__(frame.getlocal(0)).__getattr__("__name__")))); + } + } + + private static PyObject atoi$15(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + + // Code + /* atoi(s [,base]) -> int + + Return the integer represented by the string s in the given + base, which defaults to 10. The string s must consist of one + or more digits, possibly preceded by a sign. If base is 0, it + is chosen from the leading characters of s, 0 for octal, 0x or + 0X for hexadecimal. If base is 16, a preceding 0x or 0X is + accepted. + + */ + try { + frame.setlocal(1, frame.getlocal(0).__getitem__(i$28)); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("IndexError"))) { + throw Py.makeException(frame.getglobal("TypeError").__call__(s$29._mod(frame.getglobal("len").__call__(frame.getlocal(0))))); + } + else throw t$0$PyException; + } + if (frame.getglobal("type").__call__(frame.getlocal(1))._eq(frame.getglobal("_StringType")).__nonzero__()) { + return frame.getglobal("_apply").__call__(frame.getglobal("_int"), frame.getlocal(0)); + } + else { + throw Py.makeException(frame.getglobal("TypeError").__call__(s$26._mod(frame.getglobal("type").__call__(frame.getlocal(1)).__getattr__("__name__")))); + } + } + + private static PyObject atol$16(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + + // Code + /* atol(s [,base]) -> long + + Return the long integer represented by the string s in the + given base, which defaults to 10. The string s must consist + of one or more digits, possibly preceded by a sign. If base + is 0, it is chosen from the leading characters of s, 0 for + octal, 0x or 0X for hexadecimal. If base is 16, a preceding + 0x or 0X is accepted. A trailing L or l is not accepted, + unless base is 0. + + */ + try { + frame.setlocal(1, frame.getlocal(0).__getitem__(i$28)); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("IndexError"))) { + throw Py.makeException(frame.getglobal("TypeError").__call__(s$29._mod(frame.getglobal("len").__call__(frame.getlocal(0))))); + } + else throw t$0$PyException; + } + if (frame.getglobal("type").__call__(frame.getlocal(1))._eq(frame.getglobal("_StringType")).__nonzero__()) { + return frame.getglobal("_apply").__call__(frame.getglobal("_long"), frame.getlocal(0)); + } + else { + throw Py.makeException(frame.getglobal("TypeError").__call__(s$26._mod(frame.getglobal("type").__call__(frame.getlocal(1)).__getattr__("__name__")))); + } + } + + private static PyObject ljust$17(PyFrame frame) { + /* ljust(s, width) -> string + + Return a left-justified version of s, in a field of the + specified width, padded with spaces as needed. The string is + never truncated. + + */ + frame.setlocal(2, frame.getlocal(1)._sub(frame.getglobal("len").__call__(frame.getlocal(0)))); + if (frame.getlocal(2)._le(i$28).__nonzero__()) { + return frame.getlocal(0); + } + return frame.getlocal(0)._add(s$19._mul(frame.getlocal(2))); + } + + private static PyObject rjust$18(PyFrame frame) { + /* rjust(s, width) -> string + + Return a right-justified version of s, in a field of the + specified width, padded with spaces as needed. The string is + never truncated. + + */ + frame.setlocal(2, frame.getlocal(1)._sub(frame.getglobal("len").__call__(frame.getlocal(0)))); + if (frame.getlocal(2)._le(i$28).__nonzero__()) { + return frame.getlocal(0); + } + return s$19._mul(frame.getlocal(2))._add(frame.getlocal(0)); + } + + private static PyObject center$19(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + /* center(s, width) -> string + + Return a center version of s, in a field of the specified + width. padded with spaces as needed. The string is never + truncated. + + */ + frame.setlocal(3, frame.getlocal(1)._sub(frame.getglobal("len").__call__(frame.getlocal(0)))); + if (frame.getlocal(3)._le(i$28).__nonzero__()) { + return frame.getlocal(0); + } + frame.setlocal(2, frame.getlocal(3)._div(i$34)); + if (((t$0$PyObject = frame.getlocal(3)._mod(i$34)).__nonzero__() ? frame.getlocal(1)._mod(i$34) : t$0$PyObject).__nonzero__()) { + frame.setlocal(2, frame.getlocal(2)._add(i$17)); + } + return s$19._mul(frame.getlocal(2))._add(frame.getlocal(0))._add(s$19._mul(frame.getlocal(3)._sub(frame.getlocal(2)))); + } + + private static PyObject zfill$20(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + /* zfill(x, width) -> string + + Pad a numeric string x with zeros on the left, to fill a field + of the specified width. The string x is never truncated. + + */ + if (frame.getglobal("type").__call__(frame.getlocal(0))._eq(frame.getglobal("type").__call__(s$8)).__nonzero__()) { + frame.setlocal(3, frame.getlocal(0)); + } + else { + frame.setlocal(3, frame.getlocal(0).__repr__()); + } + frame.setlocal(4, frame.getglobal("len").__call__(frame.getlocal(3))); + if (frame.getlocal(4)._ge(frame.getlocal(1)).__nonzero__()) { + return frame.getlocal(3); + } + frame.setlocal(2, s$8); + if (frame.getlocal(3).__getitem__(i$28)._in(new PyTuple(new PyObject[] {s$36, s$37})).__nonzero__()) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(new PyTuple(new PyObject[] {frame.getlocal(3).__getitem__(i$28), frame.getlocal(3).__getslice__(i$17, null, null)}), 2); + frame.setlocal(2, t$0$PyObject__[0]); + frame.setlocal(3, t$0$PyObject__[1]); + } + return frame.getlocal(2)._add(s$38._mul(frame.getlocal(1)._sub(frame.getlocal(4))))._add(frame.getlocal(3)); + } + + private static PyObject expandtabs$21(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* expandtabs(s [,tabsize]) -> string + + Return a copy of the string s with all tab characters replaced + by the appropriate number of spaces, depending on the current + column, and the tabsize (default 8). + + */ + t$0$PyObject = s$8; + frame.setlocal(3, t$0$PyObject); + frame.setlocal(2, t$0$PyObject); + t$0$int = 0; + t$1$PyObject = frame.getlocal(0); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(4, t$0$PyObject); + if (frame.getlocal(4)._eq(s$40).__nonzero__()) { + frame.setlocal(4, s$19._mul(frame.getlocal(1)._sub(frame.getglobal("len").__call__(frame.getlocal(2))._mod(frame.getlocal(1))))); + } + frame.setlocal(2, frame.getlocal(2)._add(frame.getlocal(4))); + if (frame.getlocal(4)._eq(s$41).__nonzero__()) { + frame.setlocal(3, frame.getlocal(3)._add(frame.getlocal(2))); + frame.setlocal(2, s$8); + } + } + return frame.getlocal(3)._add(frame.getlocal(2)); + } + + private static PyObject translate$22(PyFrame frame) { + /* translate(s,table [,deletechars]) -> string + + Return a copy of the string s, where all characters occurring + in the optional argument deletechars are removed, and the + remaining characters have been mapped through the given + translation table, which must be a string of length 256. + + */ + return frame.getlocal(0).invoke("translate", frame.getlocal(1), frame.getlocal(2)); + } + + private static PyObject capitalize$23(PyFrame frame) { + /* capitalize(s) -> string + + Return a copy of the string s with only its first character + capitalized. + + */ + return frame.getlocal(0).invoke("capitalize"); + } + + private static PyObject capwords$24(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + /* capwords(s, [sep]) -> string + + Split the argument into words using split, capitalize each + word using capitalize, and join the capitalized words using + join. Note that this replaces runs of whitespace characters by + a single space. + + */ + return frame.getglobal("join").__call__(frame.getglobal("map").__call__(frame.getglobal("capitalize"), frame.getlocal(0).invoke("split", frame.getlocal(1))), (t$0$PyObject = frame.getlocal(1)).__nonzero__() ? t$0$PyObject : s$19); + } + + private static PyObject maketrans$25(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* maketrans(frm, to) -> string + + Return a translation table (a string of 256 bytes long) + suitable for use in string.translate. The strings frm and to + must be of the same length. + + */ + if (frame.getglobal("len").__call__(frame.getlocal(0))._ne(frame.getglobal("len").__call__(frame.getlocal(1))).__nonzero__()) { + throw Py.makeException(frame.getglobal("ValueError"), s$47); + } + // global _idmapL + if (frame.getglobal("_idmapL").__not__().__nonzero__()) { + frame.setglobal("_idmapL", frame.getglobal("map").__call__(frame.getglobal("None"), frame.getglobal("_idmap"))); + } + frame.setlocal(3, frame.getglobal("_idmapL").__getslice__(null, null, null)); + frame.setlocal(0, frame.getglobal("map").__call__(frame.getglobal("ord"), frame.getlocal(0))); + t$0$int = 0; + t$1$PyObject = frame.getglobal("range").__call__(frame.getglobal("len").__call__(frame.getlocal(0))); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(2, t$0$PyObject); + frame.getlocal(3).__setitem__(frame.getlocal(0).__getitem__(frame.getlocal(2)), frame.getlocal(1).__getitem__(frame.getlocal(2))); + } + return frame.getglobal("joinfields").__call__(frame.getlocal(3), s$8); + } + + private static PyObject replace$26(PyFrame frame) { + /* replace (str, old, new[, maxsplit]) -> string + + Return a copy of string str with all occurrences of substring + old replaced by new. If the optional argument maxsplit is + given, only the first maxsplit occurrences are replaced. + + */ + return frame.getlocal(0).invoke("replace", new PyObject[] {frame.getlocal(1), frame.getlocal(2), frame.getlocal(3)}); + } + + private static PyObject main$27(PyFrame frame) { + frame.setglobal("__file__", s$49); + + PyObject[] imp_accu; + // Temporary Variables + int t$0$int; + PyException t$0$PyException; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Common string manipulations. + + Public module variables: + + whitespace -- a string containing all characters considered whitespace + lowercase -- a string containing all characters considered lowercase letters + uppercase -- a string containing all characters considered uppercase letters + letters -- a string containing all characters considered letters + digits -- a string containing all characters considered decimal digits + hexdigits -- a string containing all characters considered hexadecimal digits + octdigits -- a string containing all characters considered octal digits + + */ + frame.setlocal("whitespace", s$1); + frame.setlocal("lowercase", s$2); + frame.setlocal("uppercase", s$3); + frame.setlocal("letters", frame.getname("lowercase")._add(frame.getname("uppercase"))); + frame.setlocal("digits", s$4); + frame.setlocal("hexdigits", frame.getname("digits")._add(s$5)._add(s$6)); + frame.setlocal("octdigits", s$7); + frame.setlocal("_idmap", s$8); + t$0$int = 0; + t$1$PyObject = frame.getname("range").__call__(i$9); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal("i", t$0$PyObject); + frame.setlocal("_idmap", frame.getname("_idmap")._add(frame.getname("chr").__call__(frame.getname("i")))); + } + frame.dellocal("i"); + frame.setlocal("index_error", frame.getname("ValueError")); + frame.setlocal("atoi_error", frame.getname("ValueError")); + frame.setlocal("atof_error", frame.getname("ValueError")); + frame.setlocal("atol_error", frame.getname("ValueError")); + frame.setlocal("lower", new PyFunction(frame.f_globals, new PyObject[] {}, c$0_lower)); + frame.setlocal("upper", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_upper)); + frame.setlocal("swapcase", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_swapcase)); + frame.setlocal("strip", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_strip)); + frame.setlocal("lstrip", new PyFunction(frame.f_globals, new PyObject[] {}, c$4_lstrip)); + frame.setlocal("rstrip", new PyFunction(frame.f_globals, new PyObject[] {}, c$5_rstrip)); + frame.setlocal("split", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), i$17.__neg__()}, c$6_split)); + frame.setlocal("splitfields", frame.getname("split")); + frame.setlocal("join", new PyFunction(frame.f_globals, new PyObject[] {s$19}, c$7_join)); + frame.setlocal("joinfields", frame.getname("join")); + frame.setlocal("_apply", frame.getname("apply")); + frame.setlocal("index", new PyFunction(frame.f_globals, new PyObject[] {}, c$8_index)); + frame.setlocal("rindex", new PyFunction(frame.f_globals, new PyObject[] {}, c$9_rindex)); + frame.setlocal("count", new PyFunction(frame.f_globals, new PyObject[] {}, c$10_count)); + frame.setlocal("find", new PyFunction(frame.f_globals, new PyObject[] {}, c$11_find)); + frame.setlocal("rfind", new PyFunction(frame.f_globals, new PyObject[] {}, c$12_rfind)); + frame.setlocal("_float", frame.getname("float")); + frame.setlocal("_int", frame.getname("int")); + frame.setlocal("_long", frame.getname("long")); + frame.setlocal("_StringType", frame.getname("type").__call__(s$8)); + frame.setlocal("atof", new PyFunction(frame.f_globals, new PyObject[] {}, c$13_atof)); + frame.setlocal("atoi", new PyFunction(frame.f_globals, new PyObject[] {}, c$14_atoi)); + frame.setlocal("atol", new PyFunction(frame.f_globals, new PyObject[] {}, c$15_atol)); + frame.setlocal("ljust", new PyFunction(frame.f_globals, new PyObject[] {}, c$16_ljust)); + frame.setlocal("rjust", new PyFunction(frame.f_globals, new PyObject[] {}, c$17_rjust)); + frame.setlocal("center", new PyFunction(frame.f_globals, new PyObject[] {}, c$18_center)); + frame.setlocal("zfill", new PyFunction(frame.f_globals, new PyObject[] {}, c$19_zfill)); + frame.setlocal("expandtabs", new PyFunction(frame.f_globals, new PyObject[] {i$42}, c$20_expandtabs)); + frame.setlocal("translate", new PyFunction(frame.f_globals, new PyObject[] {s$8}, c$21_translate)); + frame.setlocal("capitalize", new PyFunction(frame.f_globals, new PyObject[] {}, c$22_capitalize)); + frame.setlocal("capwords", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$23_capwords)); + frame.setlocal("_idmapL", frame.getname("None")); + frame.setlocal("maketrans", new PyFunction(frame.f_globals, new PyObject[] {}, c$24_maketrans)); + frame.setlocal("replace", new PyFunction(frame.f_globals, new PyObject[] {i$17.__neg__()}, c$25_replace)); + try { + imp_accu = org.python.core.imp.importFrom("strop", new String[] {"maketrans", "lowercase", "uppercase", "whitespace"}, frame); + frame.setlocal("maketrans", imp_accu[0]); + frame.setlocal("lowercase", imp_accu[1]); + frame.setlocal("uppercase", imp_accu[2]); + frame.setlocal("whitespace", imp_accu[3]); + imp_accu = null; + frame.setlocal("letters", frame.getname("lowercase")._add(frame.getname("uppercase"))); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getname("ImportError"))) { + // pass + } + else throw t$0$PyException; + } + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("string")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "string"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(string._PyInner.class, newargs, string.jpy$packages, string.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/threading$_PyInner.class b/server/jpywork/threading$_PyInner.class new file mode 100644 index 0000000000000000000000000000000000000000..614fe464c127e7745f7e6ad2ce45eb122dd16d0c GIT binary patch literal 34479 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 eAWp>y#L*XlIMN~z2Ui4+^&yU; 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 Kvxon`M)Tk5)r9o` literal 0 HcmV?d00001 diff --git a/server/jpywork/threading.java b/server/jpywork/threading.java new file mode 100644 index 00000000..f3a0d68e --- /dev/null +++ b/server/jpywork/threading.java @@ -0,0 +1,1462 @@ +import org.python.core.*; + +public class threading extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject i$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject i$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject s$8; + private static PyObject s$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyObject s$13; + private static PyObject s$14; + private static PyObject s$15; + private static PyObject f$16; + private static PyObject f$17; + private static PyObject f$18; + private static PyObject s$19; + private static PyObject s$20; + private static PyObject s$21; + private static PyObject s$22; + private static PyObject s$23; + private static PyObject s$24; + private static PyObject s$25; + private static PyObject s$26; + private static PyObject s$27; + private static PyObject s$28; + private static PyObject s$29; + private static PyObject s$30; + private static PyObject s$31; + private static PyObject s$32; + private static PyObject s$33; + private static PyObject s$34; + private static PyObject s$35; + private static PyObject s$36; + private static PyObject s$37; + private static PyObject s$38; + private static PyObject s$39; + private static PyObject s$40; + private static PyObject s$41; + private static PyObject s$42; + private static PyObject s$43; + private static PyObject s$44; + private static PyObject s$45; + private static PyObject s$46; + private static PyObject s$47; + private static PyObject s$48; + private static PyObject s$49; + private static PyObject s$50; + private static PyObject s$51; + private static PyObject s$52; + private static PyObject s$53; + private static PyObject s$54; + private static PyObject s$55; + private static PyObject s$56; + private static PyObject s$57; + private static PyObject s$58; + private static PyObject s$59; + private static PyObject f$60; + private static PyObject s$61; + private static PyObject i$62; + private static PyObject i$63; + private static PyObject i$64; + private static PyObject s$65; + private static PyObject s$66; + private static PyObject s$67; + private static PyFunctionTable funcTable; + private static PyCode c$0___init__; + private static PyCode c$1__note; + private static PyCode c$2__Verbose; + private static PyCode c$3___init__; + private static PyCode c$4__note; + private static PyCode c$5__Verbose; + private static PyCode c$6_RLock; + private static PyCode c$7___init__; + private static PyCode c$8___repr__; + private static PyCode c$9_acquire; + private static PyCode c$10_release; + private static PyCode c$11__acquire_restore; + private static PyCode c$12__release_save; + private static PyCode c$13__is_owned; + private static PyCode c$14__RLock; + private static PyCode c$15_Condition; + private static PyCode c$16___init__; + private static PyCode c$17___repr__; + private static PyCode c$18__release_save; + private static PyCode c$19__acquire_restore; + private static PyCode c$20__is_owned; + private static PyCode c$21_wait; + private static PyCode c$22_notify; + private static PyCode c$23_notifyAll; + private static PyCode c$24__Condition; + private static PyCode c$25_Semaphore; + private static PyCode c$26___init__; + private static PyCode c$27_acquire; + private static PyCode c$28_release; + private static PyCode c$29__Semaphore; + private static PyCode c$30_Event; + private static PyCode c$31___init__; + private static PyCode c$32_isSet; + private static PyCode c$33_set; + private static PyCode c$34_clear; + private static PyCode c$35_wait; + private static PyCode c$36__Event; + private static PyCode c$37__newname; + private static PyCode c$38___init__; + private static PyCode c$39__set_daemon; + private static PyCode c$40___repr__; + private static PyCode c$41_start; + private static PyCode c$42_run; + private static PyCode c$43__Thread__bootstrap; + private static PyCode c$44__Thread__stop; + private static PyCode c$45__Thread__delete; + private static PyCode c$46_join; + private static PyCode c$47_getName; + private static PyCode c$48_setName; + private static PyCode c$49_isAlive; + private static PyCode c$50_isDaemon; + private static PyCode c$51_setDaemon; + private static PyCode c$52_Thread; + private static PyCode c$53___init__; + private static PyCode c$54__set_daemon; + private static PyCode c$55___MainThread__exitfunc; + private static PyCode c$56__MainThread; + private static PyCode c$57__pickSomeNonDaemonThread; + private static PyCode c$58___init__; + private static PyCode c$59__set_daemon; + private static PyCode c$60_join; + private static PyCode c$61__DummyThread; + private static PyCode c$62_currentThread; + private static PyCode c$63_activeCount; + private static PyCode c$64_enumerate; + private static PyCode c$65___init__; + private static PyCode c$66_put; + private static PyCode c$67_get; + private static PyCode c$68_BoundedQueue; + private static PyCode c$69___init__; + private static PyCode c$70_run; + private static PyCode c$71_ProducerThread; + private static PyCode c$72___init__; + private static PyCode c$73_run; + private static PyCode c$74_ConsumerThread; + private static PyCode c$75__test; + private static PyCode c$76_main; + private static void initConstants() { + s$0 = Py.newString("Proposed new threading module, emulating a subset of Java's threading model."); + i$1 = Py.newInteger(0); + s$2 = Py.newString("%s: %s\012"); + s$3 = Py.newString("<%s(%s, %d)>"); + i$4 = Py.newInteger(1); + s$5 = Py.newString("%s.acquire(%s): recursive success"); + s$6 = Py.newString("%s.acquire(%s): initial succes"); + s$7 = Py.newString("%s.acquire(%s): failure"); + s$8 = Py.newString("release() of un-acquire()d lock"); + s$9 = Py.newString("%s.release(): final release"); + s$10 = Py.newString("%s.release(): non-final release"); + s$11 = Py.newString("%s._acquire_restore()"); + s$12 = Py.newString("%s._release_save()"); + s$13 = Py.newString(""); + s$14 = Py.newString("wait() of un-acquire()d lock"); + s$15 = Py.newString("%s.wait(): got it"); + f$16 = Py.newFloat(1.0E-6); + f$17 = Py.newFloat(1.0); + f$18 = Py.newFloat(2.0); + s$19 = Py.newString("%s.wait(%s): timed out"); + s$20 = Py.newString("%s.wait(%s): got it"); + s$21 = Py.newString("notify() of un-acquire()d lock"); + s$22 = Py.newString("%s.notify(): no waiters"); + s$23 = Py.newString("%s.notify(): notifying %d waiter%s"); + s$24 = Py.newString("s"); + s$25 = Py.newString(""); + s$26 = Py.newString("Semaphore initial value must be >= 0"); + s$27 = Py.newString("Thread-%d"); + s$28 = Py.newString("group argument must be None for now"); + s$29 = Py.newString("Thread.__init__() was not called"); + s$30 = Py.newString("initial"); + s$31 = Py.newString("started"); + s$32 = Py.newString("stopped"); + s$33 = Py.newString(" daemon"); + s$34 = Py.newString("<%s(%s, %s)>"); + s$35 = Py.newString("Thread.__init__() not called"); + s$36 = Py.newString("thread already started"); + s$37 = Py.newString("%s.start(): starting thread"); + s$38 = Py.newString("%s.__bootstrap(): thread started"); + s$39 = Py.newString("%s.__bootstrap(): raised SystemExit"); + s$40 = Py.newString("%s.__bootstrap(): unhandled exception"); + s$41 = Py.newString("Exception in thread %s:\012%s\012"); + s$42 = Py.newString("%s.__bootstrap(): normal return"); + s$43 = Py.newString("cannot join thread before it is started"); + s$44 = Py.newString("cannot join current thread"); + s$45 = Py.newString("%s.join(): waiting until thread stops"); + s$46 = Py.newString("%s.join(): thread stopped"); + s$47 = Py.newString("%s.join(): timed out"); + s$48 = Py.newString("cannot set daemon status of active thread"); + s$49 = Py.newString("MainThread"); + s$50 = Py.newString("%s: waiting for other threads"); + s$51 = Py.newString("%s: exiting"); + s$52 = Py.newString("Dummy-%d"); + s$53 = Py.newString("cannot join a dummy thread"); + s$54 = Py.newString("put(%s): queue full"); + s$55 = Py.newString("put(%s): appended, length now %d"); + s$56 = Py.newString("get(): queue empty"); + s$57 = Py.newString("get(): got %s, %d left"); + s$58 = Py.newString("Producer"); + s$59 = Py.newString("%s.%d"); + f$60 = Py.newFloat(1.0E-5); + s$61 = Py.newString("Consumer"); + i$62 = Py.newInteger(3); + i$63 = Py.newInteger(4); + i$64 = Py.newInteger(5); + s$65 = Py.newString("Producer-%d"); + s$66 = Py.newString("__main__"); + s$67 = Py.newString("/usr/share/jython/Lib-cpython/threading.py"); + funcTable = new _PyInner(); + c$0___init__ = Py.newCode(2, new String[] {"self", "verbose"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 0, null, null, 0, 1); + c$1__note = Py.newCode(3, new String[] {"self", "format", "args"}, "/usr/share/jython/Lib-cpython/threading.py", "_note", true, false, funcTable, 1, null, null, 0, 1); + c$2__Verbose = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_Verbose", false, false, funcTable, 2, null, null, 0, 0); + c$3___init__ = Py.newCode(2, new String[] {"self", "verbose"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 3, null, null, 0, 1); + c$4__note = Py.newCode(2, new String[] {"self", "args"}, "/usr/share/jython/Lib-cpython/threading.py", "_note", true, false, funcTable, 4, null, null, 0, 1); + c$5__Verbose = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_Verbose", false, false, funcTable, 5, null, null, 0, 0); + c$6_RLock = Py.newCode(2, new String[] {"args", "kwargs"}, "/usr/share/jython/Lib-cpython/threading.py", "RLock", true, true, funcTable, 6, null, null, 0, 1); + c$7___init__ = Py.newCode(2, new String[] {"self", "verbose"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 7, null, null, 0, 1); + c$8___repr__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "__repr__", false, false, funcTable, 8, null, null, 0, 1); + c$9_acquire = Py.newCode(2, new String[] {"self", "blocking", "me", "rc"}, "/usr/share/jython/Lib-cpython/threading.py", "acquire", false, false, funcTable, 9, null, null, 0, 1); + c$10_release = Py.newCode(1, new String[] {"self", "count", "me"}, "/usr/share/jython/Lib-cpython/threading.py", "release", false, false, funcTable, 10, null, null, 0, 1); + c$11__acquire_restore = Py.newCode(2, new String[] {"self", "(count, owner)", "owner", "count"}, "/usr/share/jython/Lib-cpython/threading.py", "_acquire_restore", false, false, funcTable, 11, null, null, 0, 1); + c$12__release_save = Py.newCode(1, new String[] {"self", "owner", "count"}, "/usr/share/jython/Lib-cpython/threading.py", "_release_save", false, false, funcTable, 12, null, null, 0, 1); + c$13__is_owned = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "_is_owned", false, false, funcTable, 13, null, null, 0, 1); + c$14__RLock = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_RLock", false, false, funcTable, 14, null, null, 0, 0); + c$15_Condition = Py.newCode(2, new String[] {"args", "kwargs"}, "/usr/share/jython/Lib-cpython/threading.py", "Condition", true, true, funcTable, 15, null, null, 0, 1); + c$16___init__ = Py.newCode(3, new String[] {"self", "lock", "verbose"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 16, null, null, 0, 1); + c$17___repr__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "__repr__", false, false, funcTable, 17, null, null, 0, 1); + c$18__release_save = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "_release_save", false, false, funcTable, 18, null, null, 0, 1); + c$19__acquire_restore = Py.newCode(2, new String[] {"self", "x"}, "/usr/share/jython/Lib-cpython/threading.py", "_acquire_restore", false, false, funcTable, 19, null, null, 0, 1); + c$20__is_owned = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "_is_owned", false, false, funcTable, 20, null, null, 0, 1); + c$21_wait = Py.newCode(2, new String[] {"self", "timeout", "endtime", "saved_state", "delay", "me", "gotit", "waiter"}, "/usr/share/jython/Lib-cpython/threading.py", "wait", false, false, funcTable, 21, null, null, 0, 1); + c$22_notify = Py.newCode(2, new String[] {"self", "n", "__waiters", "waiters", "me", "waiter"}, "/usr/share/jython/Lib-cpython/threading.py", "notify", false, false, funcTable, 22, null, null, 0, 1); + c$23_notifyAll = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "notifyAll", false, false, funcTable, 23, null, null, 0, 1); + c$24__Condition = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_Condition", false, false, funcTable, 24, null, null, 0, 0); + c$25_Semaphore = Py.newCode(2, new String[] {"args", "kwargs"}, "/usr/share/jython/Lib-cpython/threading.py", "Semaphore", true, true, funcTable, 25, null, null, 0, 1); + c$26___init__ = Py.newCode(3, new String[] {"self", "value", "verbose"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 26, null, null, 0, 1); + c$27_acquire = Py.newCode(2, new String[] {"self", "blocking", "rc"}, "/usr/share/jython/Lib-cpython/threading.py", "acquire", false, false, funcTable, 27, null, null, 0, 1); + c$28_release = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "release", false, false, funcTable, 28, null, null, 0, 1); + c$29__Semaphore = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_Semaphore", false, false, funcTable, 29, null, null, 0, 0); + c$30_Event = Py.newCode(2, new String[] {"args", "kwargs"}, "/usr/share/jython/Lib-cpython/threading.py", "Event", true, true, funcTable, 30, null, null, 0, 1); + c$31___init__ = Py.newCode(2, new String[] {"self", "verbose"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 31, null, null, 0, 1); + c$32_isSet = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "isSet", false, false, funcTable, 32, null, null, 0, 1); + c$33_set = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "set", false, false, funcTable, 33, null, null, 0, 1); + c$34_clear = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "clear", false, false, funcTable, 34, null, null, 0, 1); + c$35_wait = Py.newCode(2, new String[] {"self", "timeout"}, "/usr/share/jython/Lib-cpython/threading.py", "wait", false, false, funcTable, 35, null, null, 0, 1); + c$36__Event = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_Event", false, false, funcTable, 36, null, null, 0, 0); + c$37__newname = Py.newCode(1, new String[] {"template"}, "/usr/share/jython/Lib-cpython/threading.py", "_newname", false, false, funcTable, 37, null, null, 0, 1); + c$38___init__ = Py.newCode(7, new String[] {"self", "group", "target", "name", "args", "kwargs", "verbose"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 38, null, null, 0, 1); + c$39__set_daemon = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "_set_daemon", false, false, funcTable, 39, null, null, 0, 1); + c$40___repr__ = Py.newCode(1, new String[] {"self", "status"}, "/usr/share/jython/Lib-cpython/threading.py", "__repr__", false, false, funcTable, 40, null, null, 0, 1); + c$41_start = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "start", false, false, funcTable, 41, null, null, 0, 1); + c$42_run = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "run", false, false, funcTable, 42, null, null, 0, 1); + c$43__Thread__bootstrap = Py.newCode(1, new String[] {"self", "s"}, "/usr/share/jython/Lib-cpython/threading.py", "_Thread__bootstrap", false, false, funcTable, 43, null, null, 0, 1); + c$44__Thread__stop = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "_Thread__stop", false, false, funcTable, 44, null, null, 0, 1); + c$45__Thread__delete = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "_Thread__delete", false, false, funcTable, 45, null, null, 0, 1); + c$46_join = Py.newCode(2, new String[] {"self", "timeout", "delay", "deadline"}, "/usr/share/jython/Lib-cpython/threading.py", "join", false, false, funcTable, 46, null, null, 0, 1); + c$47_getName = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "getName", false, false, funcTable, 47, null, null, 0, 1); + c$48_setName = Py.newCode(2, new String[] {"self", "name"}, "/usr/share/jython/Lib-cpython/threading.py", "setName", false, false, funcTable, 48, null, null, 0, 1); + c$49_isAlive = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "isAlive", false, false, funcTable, 49, null, null, 0, 1); + c$50_isDaemon = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "isDaemon", false, false, funcTable, 50, null, null, 0, 1); + c$51_setDaemon = Py.newCode(2, new String[] {"self", "daemonic"}, "/usr/share/jython/Lib-cpython/threading.py", "setDaemon", false, false, funcTable, 51, null, null, 0, 1); + c$52_Thread = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "Thread", false, false, funcTable, 52, null, null, 0, 0); + c$53___init__ = Py.newCode(1, new String[] {"self", "atexit"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 53, null, null, 0, 1); + c$54__set_daemon = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "_set_daemon", false, false, funcTable, 54, null, null, 0, 1); + c$55___MainThread__exitfunc = Py.newCode(1, new String[] {"self", "t"}, "/usr/share/jython/Lib-cpython/threading.py", "__MainThread__exitfunc", false, false, funcTable, 55, null, null, 0, 1); + c$56__MainThread = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_MainThread", false, false, funcTable, 56, null, null, 0, 0); + c$57__pickSomeNonDaemonThread = Py.newCode(0, new String[] {"t"}, "/usr/share/jython/Lib-cpython/threading.py", "_pickSomeNonDaemonThread", false, false, funcTable, 57, null, null, 0, 1); + c$58___init__ = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 58, null, null, 0, 1); + c$59__set_daemon = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "_set_daemon", false, false, funcTable, 59, null, null, 0, 1); + c$60_join = Py.newCode(1, new String[] {"self"}, "/usr/share/jython/Lib-cpython/threading.py", "join", false, false, funcTable, 60, null, null, 0, 1); + c$61__DummyThread = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "_DummyThread", false, false, funcTable, 61, null, null, 0, 0); + c$62_currentThread = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "currentThread", false, false, funcTable, 62, null, null, 0, 1); + c$63_activeCount = Py.newCode(0, new String[] {"count"}, "/usr/share/jython/Lib-cpython/threading.py", "activeCount", false, false, funcTable, 63, null, null, 0, 1); + c$64_enumerate = Py.newCode(0, new String[] {"active"}, "/usr/share/jython/Lib-cpython/threading.py", "enumerate", false, false, funcTable, 64, null, null, 0, 1); + c$65___init__ = Py.newCode(2, new String[] {"self", "limit"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 65, null, null, 0, 1); + c$66_put = Py.newCode(2, new String[] {"self", "item"}, "/usr/share/jython/Lib-cpython/threading.py", "put", false, false, funcTable, 66, null, null, 0, 1); + c$67_get = Py.newCode(1, new String[] {"self", "item"}, "/usr/share/jython/Lib-cpython/threading.py", "get", false, false, funcTable, 67, null, null, 0, 1); + c$68_BoundedQueue = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "BoundedQueue", false, false, funcTable, 68, null, null, 0, 0); + c$69___init__ = Py.newCode(3, new String[] {"self", "queue", "quota"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 69, null, null, 0, 1); + c$70_run = Py.newCode(1, new String[] {"self", "counter", "random"}, "/usr/share/jython/Lib-cpython/threading.py", "run", false, false, funcTable, 70, null, null, 0, 1); + c$71_ProducerThread = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "ProducerThread", false, false, funcTable, 71, null, null, 0, 0); + c$72___init__ = Py.newCode(3, new String[] {"self", "queue", "count"}, "/usr/share/jython/Lib-cpython/threading.py", "__init__", false, false, funcTable, 72, null, null, 0, 1); + c$73_run = Py.newCode(1, new String[] {"self", "item"}, "/usr/share/jython/Lib-cpython/threading.py", "run", false, false, funcTable, 73, null, null, 0, 1); + c$74_ConsumerThread = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "ConsumerThread", false, false, funcTable, 74, null, null, 0, 0); + c$75__test = Py.newCode(0, new String[] {"random", "Q", "P", "time", "ProducerThread", "t", "C", "BoundedQueue", "ConsumerThread", "i", "NP", "QL", "NI"}, "/usr/share/jython/Lib-cpython/threading.py", "_test", false, false, funcTable, 75, null, null, 0, 1); + c$76_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/threading.py", "main", false, false, funcTable, 76, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$76_main == null) _PyInner.initConstants(); + return c$76_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.__init__$1(frame); + case 1: + return _PyInner._note$2(frame); + case 2: + return _PyInner._Verbose$3(frame); + case 3: + return _PyInner.__init__$4(frame); + case 4: + return _PyInner._note$5(frame); + case 5: + return _PyInner._Verbose$6(frame); + case 6: + return _PyInner.RLock$7(frame); + case 7: + return _PyInner.__init__$8(frame); + case 8: + return _PyInner.__repr__$9(frame); + case 9: + return _PyInner.acquire$10(frame); + case 10: + return _PyInner.release$11(frame); + case 11: + return _PyInner._acquire_restore$12(frame); + case 12: + return _PyInner._release_save$13(frame); + case 13: + return _PyInner._is_owned$14(frame); + case 14: + return _PyInner._RLock$15(frame); + case 15: + return _PyInner.Condition$16(frame); + case 16: + return _PyInner.__init__$17(frame); + case 17: + return _PyInner.__repr__$18(frame); + case 18: + return _PyInner._release_save$19(frame); + case 19: + return _PyInner._acquire_restore$20(frame); + case 20: + return _PyInner._is_owned$21(frame); + case 21: + return _PyInner.wait$22(frame); + case 22: + return _PyInner.notify$23(frame); + case 23: + return _PyInner.notifyAll$24(frame); + case 24: + return _PyInner._Condition$25(frame); + case 25: + return _PyInner.Semaphore$26(frame); + case 26: + return _PyInner.__init__$27(frame); + case 27: + return _PyInner.acquire$28(frame); + case 28: + return _PyInner.release$29(frame); + case 29: + return _PyInner._Semaphore$30(frame); + case 30: + return _PyInner.Event$31(frame); + case 31: + return _PyInner.__init__$32(frame); + case 32: + return _PyInner.isSet$33(frame); + case 33: + return _PyInner.set$34(frame); + case 34: + return _PyInner.clear$35(frame); + case 35: + return _PyInner.wait$36(frame); + case 36: + return _PyInner._Event$37(frame); + case 37: + return _PyInner._newname$38(frame); + case 38: + return _PyInner.__init__$39(frame); + case 39: + return _PyInner._set_daemon$40(frame); + case 40: + return _PyInner.__repr__$41(frame); + case 41: + return _PyInner.start$42(frame); + case 42: + return _PyInner.run$43(frame); + case 43: + return _PyInner._Thread__bootstrap$44(frame); + case 44: + return _PyInner._Thread__stop$45(frame); + case 45: + return _PyInner._Thread__delete$46(frame); + case 46: + return _PyInner.join$47(frame); + case 47: + return _PyInner.getName$48(frame); + case 48: + return _PyInner.setName$49(frame); + case 49: + return _PyInner.isAlive$50(frame); + case 50: + return _PyInner.isDaemon$51(frame); + case 51: + return _PyInner.setDaemon$52(frame); + case 52: + return _PyInner.Thread$53(frame); + case 53: + return _PyInner.__init__$54(frame); + case 54: + return _PyInner._set_daemon$55(frame); + case 55: + return _PyInner.__MainThread__exitfunc$56(frame); + case 56: + return _PyInner._MainThread$57(frame); + case 57: + return _PyInner._pickSomeNonDaemonThread$58(frame); + case 58: + return _PyInner.__init__$59(frame); + case 59: + return _PyInner._set_daemon$60(frame); + case 60: + return _PyInner.join$61(frame); + case 61: + return _PyInner._DummyThread$62(frame); + case 62: + return _PyInner.currentThread$63(frame); + case 63: + return _PyInner.activeCount$64(frame); + case 64: + return _PyInner.enumerate$65(frame); + case 65: + return _PyInner.__init__$66(frame); + case 66: + return _PyInner.put$67(frame); + case 67: + return _PyInner.get$68(frame); + case 68: + return _PyInner.BoundedQueue$69(frame); + case 69: + return _PyInner.__init__$70(frame); + case 70: + return _PyInner.run$71(frame); + case 71: + return _PyInner.ProducerThread$72(frame); + case 72: + return _PyInner.__init__$73(frame); + case 73: + return _PyInner.run$74(frame); + case 74: + return _PyInner.ConsumerThread$75(frame); + case 75: + return _PyInner._test$76(frame); + case 76: + return _PyInner.main$77(frame); + default: + return null; + } + } + + private static PyObject __init__$1(PyFrame frame) { + if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(1, frame.getglobal("_VERBOSE")); + } + frame.getlocal(0).__setattr__("__Verbose__verbose", frame.getlocal(1)); + return Py.None; + } + + private static PyObject _note$2(PyFrame frame) { + if (frame.getlocal(0).__getattr__("__Verbose__verbose").__nonzero__()) { + frame.setlocal(1, frame.getlocal(1)._mod(frame.getlocal(2))); + frame.setlocal(1, s$2._mod(new PyTuple(new PyObject[] {frame.getglobal("currentThread").__call__().invoke("getName"), frame.getlocal(1)}))); + frame.getglobal("_sys").__getattr__("stderr").__getattr__("write").__call__(frame.getlocal(1)); + } + return Py.None; + } + + private static PyObject _Verbose$3(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$0___init__)); + frame.setlocal("_note", new PyFunction(frame.f_globals, new PyObject[] {}, c$1__note)); + return frame.getf_locals(); + } + + private static PyObject __init__$4(PyFrame frame) { + // pass + return Py.None; + } + + private static PyObject _note$5(PyFrame frame) { + // pass + return Py.None; + } + + private static PyObject _Verbose$6(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$3___init__)); + frame.setlocal("_note", new PyFunction(frame.f_globals, new PyObject[] {}, c$4__note)); + return frame.getf_locals(); + } + + private static PyObject RLock$7(PyFrame frame) { + return frame.getglobal("apply").__call__(frame.getglobal("_RLock"), frame.getlocal(0), frame.getlocal(1)); + } + + private static PyObject __init__$8(PyFrame frame) { + frame.getglobal("_Verbose").invoke("__init__", frame.getlocal(0), frame.getlocal(1)); + frame.getlocal(0).__setattr__("__RLock__block", frame.getglobal("_allocate_lock").__call__()); + frame.getlocal(0).__setattr__("__RLock__owner", frame.getglobal("None")); + frame.getlocal(0).__setattr__("__RLock__count", i$1); + return Py.None; + } + + private static PyObject __repr__$9(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + return s$3._mod(new PyTuple(new PyObject[] {frame.getlocal(0).__getattr__("__class__").__getattr__("__name__"), (t$0$PyObject = frame.getlocal(0).__getattr__("__RLock__owner")).__nonzero__() ? frame.getlocal(0).__getattr__("__RLock__owner").invoke("getName") : t$0$PyObject, frame.getlocal(0).__getattr__("__RLock__count")})); + } + + private static PyObject acquire$10(PyFrame frame) { + frame.setlocal(2, frame.getglobal("currentThread").__call__()); + if (frame.getlocal(0).__getattr__("__RLock__owner")._is(frame.getlocal(2)).__nonzero__()) { + frame.getlocal(0).__setattr__("__RLock__count", frame.getlocal(0).__getattr__("__RLock__count")._add(i$4)); + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", new PyObject[] {s$5, frame.getlocal(0), frame.getlocal(1)}); + } + return i$4; + } + frame.setlocal(3, frame.getlocal(0).__getattr__("__RLock__block").invoke("acquire", frame.getlocal(1))); + if (frame.getlocal(3).__nonzero__()) { + frame.getlocal(0).__setattr__("__RLock__owner", frame.getlocal(2)); + frame.getlocal(0).__setattr__("__RLock__count", i$4); + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", new PyObject[] {s$6, frame.getlocal(0), frame.getlocal(1)}); + } + } + else { + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", new PyObject[] {s$7, frame.getlocal(0), frame.getlocal(1)}); + } + } + return frame.getlocal(3); + } + + private static PyObject release$11(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + frame.setlocal(2, frame.getglobal("currentThread").__call__()); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("__RLock__owner")._is(frame.getlocal(2)), s$8); + t$0$PyObject = frame.getlocal(0).__getattr__("__RLock__count")._sub(i$4); + frame.getlocal(0).__setattr__("__RLock__count", t$0$PyObject); + frame.setlocal(1, t$0$PyObject); + if (frame.getlocal(1).__not__().__nonzero__()) { + frame.getlocal(0).__setattr__("__RLock__owner", frame.getglobal("None")); + frame.getlocal(0).__getattr__("__RLock__block").invoke("release"); + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$9, frame.getlocal(0)); + } + } + else { + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$10, frame.getlocal(0)); + } + } + return Py.None; + } + + private static PyObject _acquire_restore$12(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + + // Code + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(1), 2); + frame.setlocal(3, t$0$PyObject__[0]); + frame.setlocal(2, t$0$PyObject__[1]); + frame.getlocal(0).__getattr__("__RLock__block").invoke("acquire"); + frame.getlocal(0).__setattr__("__RLock__count", frame.getlocal(3)); + frame.getlocal(0).__setattr__("__RLock__owner", frame.getlocal(2)); + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$11, frame.getlocal(0)); + } + return Py.None; + } + + private static PyObject _release_save$13(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$12, frame.getlocal(0)); + } + frame.setlocal(2, frame.getlocal(0).__getattr__("__RLock__count")); + frame.getlocal(0).__setattr__("__RLock__count", i$1); + frame.setlocal(1, frame.getlocal(0).__getattr__("__RLock__owner")); + frame.getlocal(0).__setattr__("__RLock__owner", frame.getglobal("None")); + frame.getlocal(0).__getattr__("__RLock__block").invoke("release"); + return new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(1)}); + } + + private static PyObject _is_owned$14(PyFrame frame) { + return frame.getlocal(0).__getattr__("__RLock__owner")._is(frame.getglobal("currentThread").__call__()); + } + + private static PyObject _RLock$15(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$7___init__)); + frame.setlocal("__repr__", new PyFunction(frame.f_globals, new PyObject[] {}, c$8___repr__)); + frame.setlocal("acquire", new PyFunction(frame.f_globals, new PyObject[] {i$4}, c$9_acquire)); + frame.setlocal("release", new PyFunction(frame.f_globals, new PyObject[] {}, c$10_release)); + frame.setlocal("_acquire_restore", new PyFunction(frame.f_globals, new PyObject[] {}, c$11__acquire_restore)); + frame.setlocal("_release_save", new PyFunction(frame.f_globals, new PyObject[] {}, c$12__release_save)); + frame.setlocal("_is_owned", new PyFunction(frame.f_globals, new PyObject[] {}, c$13__is_owned)); + return frame.getf_locals(); + } + + private static PyObject Condition$16(PyFrame frame) { + return frame.getglobal("apply").__call__(frame.getglobal("_Condition"), frame.getlocal(0), frame.getlocal(1)); + } + + private static PyObject __init__$17(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + + // Code + frame.getglobal("_Verbose").invoke("__init__", frame.getlocal(0), frame.getlocal(2)); + if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(1, frame.getglobal("RLock").__call__()); + } + frame.getlocal(0).__setattr__("__Condition__lock", frame.getlocal(1)); + frame.getlocal(0).__setattr__("acquire", frame.getlocal(1).__getattr__("acquire")); + frame.getlocal(0).__setattr__("release", frame.getlocal(1).__getattr__("release")); + try { + frame.getlocal(0).__setattr__("_release_save", frame.getlocal(1).__getattr__("_release_save")); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("AttributeError"))) { + // pass + } + else throw t$0$PyException; + } + try { + frame.getlocal(0).__setattr__("_acquire_restore", frame.getlocal(1).__getattr__("_acquire_restore")); + } + catch (Throwable x$1) { + t$0$PyException = Py.setException(x$1, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("AttributeError"))) { + // pass + } + else throw t$0$PyException; + } + try { + frame.getlocal(0).__setattr__("_is_owned", frame.getlocal(1).__getattr__("_is_owned")); + } + catch (Throwable x$2) { + t$0$PyException = Py.setException(x$2, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("AttributeError"))) { + // pass + } + else throw t$0$PyException; + } + frame.getlocal(0).__setattr__("__Condition__waiters", new PyList(new PyObject[] {})); + return Py.None; + } + + private static PyObject __repr__$18(PyFrame frame) { + return s$13._mod(new PyTuple(new PyObject[] {frame.getlocal(0).__getattr__("__Condition__lock"), frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("__Condition__waiters"))})); + } + + private static PyObject _release_save$19(PyFrame frame) { + frame.getlocal(0).__getattr__("__Condition__lock").invoke("release"); + return Py.None; + } + + private static PyObject _acquire_restore$20(PyFrame frame) { + frame.getlocal(0).__getattr__("__Condition__lock").invoke("acquire"); + return Py.None; + } + + private static PyObject _is_owned$21(PyFrame frame) { + if (frame.getlocal(0).__getattr__("__Condition__lock").invoke("acquire", i$1).__nonzero__()) { + frame.getlocal(0).__getattr__("__Condition__lock").invoke("release"); + return i$1; + } + else { + return i$4; + } + } + + private static PyObject wait$22(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + PyObject t$0$PyObject; + + // Code + frame.setlocal(5, frame.getglobal("currentThread").__call__()); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).invoke("_is_owned"), s$14); + frame.setlocal(7, frame.getglobal("_allocate_lock").__call__()); + frame.getlocal(7).invoke("acquire"); + frame.getlocal(0).__getattr__("__Condition__waiters").invoke("append", frame.getlocal(7)); + frame.setlocal(3, frame.getlocal(0).invoke("_release_save")); + try { + if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) { + frame.getlocal(7).invoke("acquire"); + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$15, frame.getlocal(0)); + } + } + else { + frame.setlocal(2, frame.getglobal("_time").__call__()._add(frame.getlocal(1))); + frame.setlocal(4, f$16); + while (i$4.__nonzero__()) { + frame.setlocal(6, frame.getlocal(7).invoke("acquire", i$1)); + if (((t$0$PyObject = frame.getlocal(6)).__nonzero__() ? t$0$PyObject : frame.getglobal("_time").__call__()._ge(frame.getlocal(2))).__nonzero__()) { + break; + } + frame.getglobal("_sleep").__call__(frame.getlocal(4)); + if (frame.getlocal(4)._lt(f$17).__nonzero__()) { + frame.setlocal(4, frame.getlocal(4)._mul(f$18)); + } + } + if (frame.getlocal(6).__not__().__nonzero__()) { + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", new PyObject[] {s$19, frame.getlocal(0), frame.getlocal(1)}); + } + try { + frame.getlocal(0).__getattr__("__Condition__waiters").invoke("remove", frame.getlocal(7)); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("ValueError"))) { + // pass + } + else throw t$0$PyException; + } + } + else { + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", new PyObject[] {s$20, frame.getlocal(0), frame.getlocal(1)}); + } + } + } + } + finally { + frame.getlocal(0).invoke("_acquire_restore", frame.getlocal(3)); + } + return Py.None; + } + + private static PyObject notify$23(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyException t$0$PyException; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(4, frame.getglobal("currentThread").__call__()); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).invoke("_is_owned"), s$21); + frame.setlocal(2, frame.getlocal(0).__getattr__("__Condition__waiters")); + frame.setlocal(3, frame.getlocal(2).__getslice__(null, frame.getlocal(1), null)); + if (frame.getlocal(3).__not__().__nonzero__()) { + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$22, frame.getlocal(0)); + } + return Py.None; + } + frame.getlocal(0).invoke("_note", new PyObject[] {s$23, frame.getlocal(0), frame.getlocal(1), (t$0$PyObject = ((t$1$PyObject = frame.getlocal(1)._ne(i$4)).__nonzero__() ? s$24 : t$1$PyObject)).__nonzero__() ? t$0$PyObject : s$25}); + t$0$int = 0; + t$1$PyObject = frame.getlocal(3); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(5, t$0$PyObject); + frame.getlocal(5).invoke("release"); + try { + frame.getlocal(2).invoke("remove", frame.getlocal(5)); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("ValueError"))) { + // pass + } + else throw t$0$PyException; + } + } + return Py.None; + } + + private static PyObject notifyAll$24(PyFrame frame) { + frame.getlocal(0).invoke("notify", frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("__Condition__waiters"))); + return Py.None; + } + + private static PyObject _Condition$25(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("None")}, c$16___init__)); + frame.setlocal("__repr__", new PyFunction(frame.f_globals, new PyObject[] {}, c$17___repr__)); + frame.setlocal("_release_save", new PyFunction(frame.f_globals, new PyObject[] {}, c$18__release_save)); + frame.setlocal("_acquire_restore", new PyFunction(frame.f_globals, new PyObject[] {}, c$19__acquire_restore)); + frame.setlocal("_is_owned", new PyFunction(frame.f_globals, new PyObject[] {}, c$20__is_owned)); + frame.setlocal("wait", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$21_wait)); + frame.setlocal("notify", new PyFunction(frame.f_globals, new PyObject[] {i$4}, c$22_notify)); + frame.setlocal("notifyAll", new PyFunction(frame.f_globals, new PyObject[] {}, c$23_notifyAll)); + return frame.getf_locals(); + } + + private static PyObject Semaphore$26(PyFrame frame) { + return frame.getglobal("apply").__call__(frame.getglobal("_Semaphore"), frame.getlocal(0), frame.getlocal(1)); + } + + private static PyObject __init__$27(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(1)._ge(i$1), s$26); + frame.getglobal("_Verbose").invoke("__init__", frame.getlocal(0), frame.getlocal(2)); + frame.getlocal(0).__setattr__("__Semaphore__cond", frame.getglobal("Condition").__call__(frame.getglobal("Lock").__call__())); + frame.getlocal(0).__setattr__("__Semaphore__value", frame.getlocal(1)); + return Py.None; + } + + private static PyObject acquire$28(PyFrame frame) { + // Temporary Variables + boolean t$0$boolean; + + // Code + frame.setlocal(2, i$1); + frame.getlocal(0).__getattr__("__Semaphore__cond").invoke("acquire"); + while (t$0$boolean=frame.getlocal(0).__getattr__("__Semaphore__value")._eq(i$1).__nonzero__()) { + if (frame.getlocal(1).__not__().__nonzero__()) { + break; + } + frame.getlocal(0).__getattr__("__Semaphore__cond").invoke("wait"); + } + if (!t$0$boolean) { + frame.getlocal(0).__setattr__("__Semaphore__value", frame.getlocal(0).__getattr__("__Semaphore__value")._sub(i$4)); + frame.setlocal(2, i$4); + } + frame.getlocal(0).__getattr__("__Semaphore__cond").invoke("release"); + return frame.getlocal(2); + } + + private static PyObject release$29(PyFrame frame) { + frame.getlocal(0).__getattr__("__Semaphore__cond").invoke("acquire"); + frame.getlocal(0).__setattr__("__Semaphore__value", frame.getlocal(0).__getattr__("__Semaphore__value")._add(i$4)); + frame.getlocal(0).__getattr__("__Semaphore__cond").invoke("notify"); + frame.getlocal(0).__getattr__("__Semaphore__cond").invoke("release"); + return Py.None; + } + + private static PyObject _Semaphore$30(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {i$4, frame.getname("None")}, c$26___init__)); + frame.setlocal("acquire", new PyFunction(frame.f_globals, new PyObject[] {i$4}, c$27_acquire)); + frame.setlocal("release", new PyFunction(frame.f_globals, new PyObject[] {}, c$28_release)); + return frame.getf_locals(); + } + + private static PyObject Event$31(PyFrame frame) { + return frame.getglobal("apply").__call__(frame.getglobal("_Event"), frame.getlocal(0), frame.getlocal(1)); + } + + private static PyObject __init__$32(PyFrame frame) { + frame.getglobal("_Verbose").invoke("__init__", frame.getlocal(0), frame.getlocal(1)); + frame.getlocal(0).__setattr__("__Event__cond", frame.getglobal("Condition").__call__(frame.getglobal("Lock").__call__())); + frame.getlocal(0).__setattr__("__Event__flag", i$1); + return Py.None; + } + + private static PyObject isSet$33(PyFrame frame) { + return frame.getlocal(0).__getattr__("__Event__flag"); + } + + private static PyObject set$34(PyFrame frame) { + frame.getlocal(0).__getattr__("__Event__cond").invoke("acquire"); + frame.getlocal(0).__setattr__("__Event__flag", i$4); + frame.getlocal(0).__getattr__("__Event__cond").invoke("notifyAll"); + frame.getlocal(0).__getattr__("__Event__cond").invoke("release"); + return Py.None; + } + + private static PyObject clear$35(PyFrame frame) { + frame.getlocal(0).__getattr__("__Event__cond").invoke("acquire"); + frame.getlocal(0).__setattr__("__Event__flag", i$1); + frame.getlocal(0).__getattr__("__Event__cond").invoke("release"); + return Py.None; + } + + private static PyObject wait$36(PyFrame frame) { + frame.getlocal(0).__getattr__("__Event__cond").invoke("acquire"); + if (frame.getlocal(0).__getattr__("__Event__flag").__not__().__nonzero__()) { + frame.getlocal(0).__getattr__("__Event__cond").invoke("wait", frame.getlocal(1)); + } + frame.getlocal(0).__getattr__("__Event__cond").invoke("release"); + return Py.None; + } + + private static PyObject _Event$37(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$31___init__)); + frame.setlocal("isSet", new PyFunction(frame.f_globals, new PyObject[] {}, c$32_isSet)); + frame.setlocal("set", new PyFunction(frame.f_globals, new PyObject[] {}, c$33_set)); + frame.setlocal("clear", new PyFunction(frame.f_globals, new PyObject[] {}, c$34_clear)); + frame.setlocal("wait", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$35_wait)); + return frame.getf_locals(); + } + + private static PyObject _newname$38(PyFrame frame) { + // global _counter + frame.setglobal("_counter", frame.getglobal("_counter")._add(i$4)); + return frame.getlocal(0)._mod(frame.getglobal("_counter")); + } + + private static PyObject __init__$39(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(1)._is(frame.getglobal("None")), s$28); + frame.getglobal("_Verbose").invoke("__init__", frame.getlocal(0), frame.getlocal(6)); + frame.getlocal(0).__setattr__("_Thread__target", frame.getlocal(2)); + frame.getlocal(0).__setattr__("_Thread__name", frame.getglobal("str").__call__((t$0$PyObject = frame.getlocal(3)).__nonzero__() ? t$0$PyObject : frame.getglobal("_newname").__call__())); + frame.getlocal(0).__setattr__("_Thread__args", frame.getlocal(4)); + frame.getlocal(0).__setattr__("_Thread__kwargs", frame.getlocal(5)); + frame.getlocal(0).__setattr__("_Thread__daemonic", frame.getlocal(0).invoke("_set_daemon")); + frame.getlocal(0).__setattr__("_Thread__started", i$1); + frame.getlocal(0).__setattr__("_Thread__stopped", i$1); + frame.getlocal(0).__setattr__("_Thread__block", frame.getglobal("Condition").__call__(frame.getglobal("Lock").__call__())); + frame.getlocal(0).__setattr__("_Thread__initialized", i$4); + return Py.None; + } + + private static PyObject _set_daemon$40(PyFrame frame) { + return frame.getglobal("currentThread").__call__().invoke("isDaemon"); + } + + private static PyObject __repr__$41(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$29); + frame.setlocal(1, s$30); + if (frame.getlocal(0).__getattr__("_Thread__started").__nonzero__()) { + frame.setlocal(1, s$31); + } + if (frame.getlocal(0).__getattr__("_Thread__stopped").__nonzero__()) { + frame.setlocal(1, s$32); + } + if (frame.getlocal(0).__getattr__("_Thread__daemonic").__nonzero__()) { + frame.setlocal(1, frame.getlocal(1)._add(s$33)); + } + return s$34._mod(new PyTuple(new PyObject[] {frame.getlocal(0).__getattr__("__class__").__getattr__("__name__"), frame.getlocal(0).__getattr__("_Thread__name"), frame.getlocal(1)})); + } + + private static PyObject start$42(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__started").__not__(), s$36); + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$37, frame.getlocal(0)); + } + frame.getglobal("_active_limbo_lock").invoke("acquire"); + frame.getglobal("_limbo").__setitem__(frame.getlocal(0), frame.getlocal(0)); + frame.getglobal("_active_limbo_lock").invoke("release"); + frame.getglobal("_start_new_thread").__call__(frame.getlocal(0).__getattr__("_Thread__bootstrap"), new PyTuple(new PyObject[] {})); + frame.getlocal(0).__setattr__("_Thread__started", i$4); + frame.getglobal("_sleep").__call__(f$16); + return Py.None; + } + + private static PyObject run$43(PyFrame frame) { + if (frame.getlocal(0).__getattr__("_Thread__target").__nonzero__()) { + frame.getglobal("apply").__call__(frame.getlocal(0).__getattr__("_Thread__target"), frame.getlocal(0).__getattr__("_Thread__args"), frame.getlocal(0).__getattr__("_Thread__kwargs")); + } + return Py.None; + } + + private static PyObject _Thread__bootstrap$44(PyFrame frame) { + // Temporary Variables + boolean t$0$boolean; + PyException t$0$PyException; + + // Code + try { + frame.getlocal(0).__setattr__("_Thread__started", i$4); + frame.getglobal("_active_limbo_lock").invoke("acquire"); + frame.getglobal("_active").__setitem__(frame.getglobal("_get_ident").__call__(), frame.getlocal(0)); + frame.getglobal("_limbo").__delitem__(frame.getlocal(0)); + frame.getglobal("_active_limbo_lock").invoke("release"); + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$38, frame.getlocal(0)); + } + t$0$boolean = true; + try { + frame.getlocal(0).invoke("run"); + } + catch (Throwable x$0) { + t$0$boolean = false; + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("SystemExit"))) { + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$39, frame.getlocal(0)); + } + } + else { + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$40, frame.getlocal(0)); + } + frame.setlocal(1, frame.getglobal("_StringIO").__call__()); + frame.getglobal("_print_exc").__call__(new PyObject[] {frame.getlocal(1)}, new String[] {"file"}); + frame.getglobal("_sys").__getattr__("stderr").__getattr__("write").__call__(s$41._mod(new PyTuple(new PyObject[] {frame.getlocal(0).invoke("getName"), frame.getlocal(1).invoke("getvalue")}))); + } + } + if (t$0$boolean) { + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$42, frame.getlocal(0)); + } + } + } + finally { + frame.getlocal(0).invoke("_Thread__stop"); + try { + frame.getlocal(0).invoke("_Thread__delete"); + } + catch (Throwable x$1) { + t$0$PyException = Py.setException(x$1, frame); + // pass + } + } + return Py.None; + } + + private static PyObject _Thread__stop$45(PyFrame frame) { + frame.getlocal(0).__getattr__("_Thread__block").invoke("acquire"); + frame.getlocal(0).__setattr__("_Thread__stopped", i$4); + frame.getlocal(0).__getattr__("_Thread__block").invoke("notifyAll"); + frame.getlocal(0).__getattr__("_Thread__block").invoke("release"); + return Py.None; + } + + private static PyObject _Thread__delete$46(PyFrame frame) { + frame.getglobal("_active_limbo_lock").invoke("acquire"); + frame.getglobal("_active").__delitem__(frame.getglobal("_get_ident").__call__()); + frame.getglobal("_active_limbo_lock").invoke("release"); + return Py.None; + } + + private static PyObject join$47(PyFrame frame) { + // Temporary Variables + boolean t$0$boolean; + + // Code + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__started"), s$43); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0)._isnot(frame.getglobal("currentThread").__call__()), s$44); + if (frame.getglobal("__debug__").__nonzero__()) { + if (frame.getlocal(0).__getattr__("_Thread__stopped").__not__().__nonzero__()) { + frame.getlocal(0).invoke("_note", s$45, frame.getlocal(0)); + } + } + frame.getlocal(0).__getattr__("_Thread__block").invoke("acquire"); + if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) { + while (frame.getlocal(0).__getattr__("_Thread__stopped").__not__().__nonzero__()) { + frame.getlocal(0).__getattr__("_Thread__block").invoke("wait"); + } + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$46, frame.getlocal(0)); + } + } + else { + frame.setlocal(3, frame.getglobal("_time").__call__()._add(frame.getlocal(1))); + while (t$0$boolean=frame.getlocal(0).__getattr__("_Thread__stopped").__not__().__nonzero__()) { + frame.setlocal(2, frame.getlocal(3)._sub(frame.getglobal("_time").__call__())); + if (frame.getlocal(2)._le(i$1).__nonzero__()) { + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$47, frame.getlocal(0)); + } + break; + } + frame.getlocal(0).__getattr__("_Thread__block").invoke("wait", frame.getlocal(2)); + } + if (!t$0$boolean) { + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$46, frame.getlocal(0)); + } + } + } + frame.getlocal(0).__getattr__("_Thread__block").invoke("release"); + return Py.None; + } + + private static PyObject getName$48(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35); + return frame.getlocal(0).__getattr__("_Thread__name"); + } + + private static PyObject setName$49(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35); + frame.getlocal(0).__setattr__("_Thread__name", frame.getglobal("str").__call__(frame.getlocal(1))); + return Py.None; + } + + private static PyObject isAlive$50(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject; + + // Code + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35); + return (t$0$PyObject = frame.getlocal(0).__getattr__("_Thread__started")).__nonzero__() ? frame.getlocal(0).__getattr__("_Thread__stopped").__not__() : t$0$PyObject; + } + + private static PyObject isDaemon$51(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35); + return frame.getlocal(0).__getattr__("_Thread__daemonic"); + } + + private static PyObject setDaemon$52(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__initialized"), s$35); + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(frame.getlocal(0).__getattr__("_Thread__started").__not__(), s$48); + frame.getlocal(0).__setattr__("_Thread__daemonic", frame.getlocal(1)); + return Py.None; + } + + private static PyObject Thread$53(PyFrame frame) { + frame.setlocal("_Thread__initialized", i$1); + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("None"), frame.getname("None"), new PyTuple(new PyObject[] {}), new PyDictionary(new PyObject[] {}), frame.getname("None")}, c$38___init__)); + frame.setlocal("_set_daemon", new PyFunction(frame.f_globals, new PyObject[] {}, c$39__set_daemon)); + frame.setlocal("__repr__", new PyFunction(frame.f_globals, new PyObject[] {}, c$40___repr__)); + frame.setlocal("start", new PyFunction(frame.f_globals, new PyObject[] {}, c$41_start)); + frame.setlocal("run", new PyFunction(frame.f_globals, new PyObject[] {}, c$42_run)); + frame.setlocal("_Thread__bootstrap", new PyFunction(frame.f_globals, new PyObject[] {}, c$43__Thread__bootstrap)); + frame.setlocal("_Thread__stop", new PyFunction(frame.f_globals, new PyObject[] {}, c$44__Thread__stop)); + frame.setlocal("_Thread__delete", new PyFunction(frame.f_globals, new PyObject[] {}, c$45__Thread__delete)); + frame.setlocal("join", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$46_join)); + frame.setlocal("getName", new PyFunction(frame.f_globals, new PyObject[] {}, c$47_getName)); + frame.setlocal("setName", new PyFunction(frame.f_globals, new PyObject[] {}, c$48_setName)); + frame.setlocal("isAlive", new PyFunction(frame.f_globals, new PyObject[] {}, c$49_isAlive)); + frame.setlocal("isDaemon", new PyFunction(frame.f_globals, new PyObject[] {}, c$50_isDaemon)); + frame.setlocal("setDaemon", new PyFunction(frame.f_globals, new PyObject[] {}, c$51_setDaemon)); + return frame.getf_locals(); + } + + private static PyObject __init__$54(PyFrame frame) { + frame.getglobal("Thread").__getattr__("__init__").__call__(new PyObject[] {frame.getlocal(0), s$49}, new String[] {"name"}); + frame.getlocal(0).__setattr__("_Thread__started", i$4); + frame.getglobal("_active_limbo_lock").invoke("acquire"); + frame.getglobal("_active").__setitem__(frame.getglobal("_get_ident").__call__(), frame.getlocal(0)); + frame.getglobal("_active_limbo_lock").invoke("release"); + frame.setlocal(1, org.python.core.imp.importOne("atexit", frame)); + frame.getlocal(1).__getattr__("register").__call__(frame.getlocal(0).__getattr__("__MainThread__exitfunc")); + return Py.None; + } + + private static PyObject _set_daemon$55(PyFrame frame) { + return i$1; + } + + private static PyObject __MainThread__exitfunc$56(PyFrame frame) { + frame.getlocal(0).invoke("_Thread__stop"); + frame.setlocal(1, frame.getglobal("_pickSomeNonDaemonThread").__call__()); + if (frame.getlocal(1).__nonzero__()) { + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$50, frame.getlocal(0)); + } + } + while (frame.getlocal(1).__nonzero__()) { + frame.getlocal(1).invoke("join"); + frame.setlocal(1, frame.getglobal("_pickSomeNonDaemonThread").__call__()); + } + if (frame.getglobal("__debug__").__nonzero__()) { + frame.getlocal(0).invoke("_note", s$51, frame.getlocal(0)); + } + frame.getlocal(0).invoke("_Thread__delete"); + return Py.None; + } + + private static PyObject _MainThread$57(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$53___init__)); + frame.setlocal("_set_daemon", new PyFunction(frame.f_globals, new PyObject[] {}, c$54__set_daemon)); + frame.setlocal("__MainThread__exitfunc", new PyFunction(frame.f_globals, new PyObject[] {}, c$55___MainThread__exitfunc)); + return frame.getf_locals(); + } + + private static PyObject _pickSomeNonDaemonThread$58(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject; + + // Code + t$0$int = 0; + t$1$PyObject = frame.getglobal("enumerate").__call__(); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(0, t$0$PyObject); + if (((t$2$PyObject = frame.getlocal(0).invoke("isDaemon").__not__()).__nonzero__() ? frame.getlocal(0).invoke("isAlive") : t$2$PyObject).__nonzero__()) { + return frame.getlocal(0); + } + } + return frame.getglobal("None"); + } + + private static PyObject __init__$59(PyFrame frame) { + frame.getglobal("Thread").__getattr__("__init__").__call__(new PyObject[] {frame.getlocal(0), frame.getglobal("_newname").__call__(s$52)}, new String[] {"name"}); + frame.getlocal(0).__setattr__("_Thread__started", i$4); + frame.getglobal("_active_limbo_lock").invoke("acquire"); + frame.getglobal("_active").__setitem__(frame.getglobal("_get_ident").__call__(), frame.getlocal(0)); + frame.getglobal("_active_limbo_lock").invoke("release"); + return Py.None; + } + + private static PyObject _set_daemon$60(PyFrame frame) { + return i$4; + } + + private static PyObject join$61(PyFrame frame) { + if (frame.getglobal("__debug__").__nonzero__()) Py.assert(i$1, s$53); + return Py.None; + } + + private static PyObject _DummyThread$62(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$58___init__)); + frame.setlocal("_set_daemon", new PyFunction(frame.f_globals, new PyObject[] {}, c$59__set_daemon)); + frame.setlocal("join", new PyFunction(frame.f_globals, new PyObject[] {}, c$60_join)); + return frame.getf_locals(); + } + + private static PyObject currentThread$63(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + + // Code + try { + return frame.getglobal("_active").__getitem__(frame.getglobal("_get_ident").__call__()); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("KeyError"))) { + return frame.getglobal("_DummyThread").__call__(); + } + else throw t$0$PyException; + } + } + + private static PyObject activeCount$64(PyFrame frame) { + frame.getglobal("_active_limbo_lock").invoke("acquire"); + frame.setlocal(0, frame.getglobal("len").__call__(frame.getglobal("_active"))._add(frame.getglobal("len").__call__(frame.getglobal("_limbo")))); + frame.getglobal("_active_limbo_lock").invoke("release"); + return frame.getlocal(0); + } + + private static PyObject enumerate$65(PyFrame frame) { + frame.getglobal("_active_limbo_lock").invoke("acquire"); + frame.setlocal(0, frame.getglobal("_active").invoke("values")._add(frame.getglobal("_limbo").invoke("values"))); + frame.getglobal("_active_limbo_lock").invoke("release"); + return frame.getlocal(0); + } + + private static PyObject __init__$66(PyFrame frame) { + frame.getglobal("_Verbose").invoke("__init__", frame.getlocal(0)); + frame.getlocal(0).__setattr__("mon", frame.getglobal("RLock").__call__()); + frame.getlocal(0).__setattr__("rc", frame.getglobal("Condition").__call__(frame.getlocal(0).__getattr__("mon"))); + frame.getlocal(0).__setattr__("wc", frame.getglobal("Condition").__call__(frame.getlocal(0).__getattr__("mon"))); + frame.getlocal(0).__setattr__("limit", frame.getlocal(1)); + frame.getlocal(0).__setattr__("queue", new PyList(new PyObject[] {})); + return Py.None; + } + + private static PyObject put$67(PyFrame frame) { + frame.getlocal(0).__getattr__("mon").invoke("acquire"); + while (frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("queue"))._ge(frame.getlocal(0).__getattr__("limit")).__nonzero__()) { + frame.getlocal(0).invoke("_note", s$54, frame.getlocal(1)); + frame.getlocal(0).__getattr__("wc").invoke("wait"); + } + frame.getlocal(0).__getattr__("queue").invoke("append", frame.getlocal(1)); + frame.getlocal(0).invoke("_note", new PyObject[] {s$55, frame.getlocal(1), frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("queue"))}); + frame.getlocal(0).__getattr__("rc").invoke("notify"); + frame.getlocal(0).__getattr__("mon").invoke("release"); + return Py.None; + } + + private static PyObject get$68(PyFrame frame) { + frame.getlocal(0).__getattr__("mon").invoke("acquire"); + while (frame.getlocal(0).__getattr__("queue").__not__().__nonzero__()) { + frame.getlocal(0).invoke("_note", s$56); + frame.getlocal(0).__getattr__("rc").invoke("wait"); + } + frame.setlocal(1, frame.getlocal(0).__getattr__("queue").__getitem__(i$1)); + frame.getlocal(0).__getattr__("queue").__delitem__(i$1); + frame.getlocal(0).invoke("_note", new PyObject[] {s$57, frame.getlocal(1), frame.getglobal("len").__call__(frame.getlocal(0).__getattr__("queue"))}); + frame.getlocal(0).__getattr__("wc").invoke("notify"); + frame.getlocal(0).__getattr__("mon").invoke("release"); + return frame.getlocal(1); + } + + private static PyObject BoundedQueue$69(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$65___init__)); + frame.setlocal("put", new PyFunction(frame.f_globals, new PyObject[] {}, c$66_put)); + frame.setlocal("get", new PyFunction(frame.f_globals, new PyObject[] {}, c$67_get)); + return frame.getf_locals(); + } + + private static PyObject __init__$70(PyFrame frame) { + frame.getglobal("Thread").__getattr__("__init__").__call__(new PyObject[] {frame.getlocal(0), s$58}, new String[] {"name"}); + frame.getlocal(0).__setattr__("queue", frame.getlocal(1)); + frame.getlocal(0).__setattr__("quota", frame.getlocal(2)); + return Py.None; + } + + private static PyObject run$71(PyFrame frame) { + PyObject[] imp_accu; + // Code + imp_accu = org.python.core.imp.importFrom("random", new String[] {"random"}, frame); + frame.setlocal(2, imp_accu[0]); + imp_accu = null; + frame.setlocal(1, i$1); + while (frame.getlocal(1)._lt(frame.getlocal(0).__getattr__("quota")).__nonzero__()) { + frame.setlocal(1, frame.getlocal(1)._add(i$4)); + frame.getlocal(0).__getattr__("queue").invoke("put", s$59._mod(new PyTuple(new PyObject[] {frame.getlocal(0).invoke("getName"), frame.getlocal(1)}))); + frame.getglobal("_sleep").__call__(frame.getlocal(2).__call__()._mul(f$60)); + } + return Py.None; + } + + private static PyObject ProducerThread$72(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$69___init__)); + frame.setlocal("run", new PyFunction(frame.f_globals, new PyObject[] {}, c$70_run)); + return frame.getf_locals(); + } + + private static PyObject __init__$73(PyFrame frame) { + frame.getglobal("Thread").__getattr__("__init__").__call__(new PyObject[] {frame.getlocal(0), s$61}, new String[] {"name"}); + frame.getlocal(0).__setattr__("queue", frame.getlocal(1)); + frame.getlocal(0).__setattr__("count", frame.getlocal(2)); + return Py.None; + } + + private static PyObject run$74(PyFrame frame) { + while (frame.getlocal(0).__getattr__("count")._gt(i$1).__nonzero__()) { + frame.setlocal(1, frame.getlocal(0).__getattr__("queue").invoke("get")); + Py.println(frame.getlocal(1)); + frame.getlocal(0).__setattr__("count", frame.getlocal(0).__getattr__("count")._sub(i$4)); + } + return Py.None; + } + + private static PyObject ConsumerThread$75(PyFrame frame) { + frame.setlocal("__init__", new PyFunction(frame.f_globals, new PyObject[] {}, c$72___init__)); + frame.setlocal("run", new PyFunction(frame.f_globals, new PyObject[] {}, c$73_run)); + return frame.getf_locals(); + } + + private static PyObject _test$76(PyFrame frame) { + // Temporary Variables + int t$0$int, t$1$int, t$2$int; + PyObject t$0$PyObject, t$1$PyObject, t$2$PyObject, t$3$PyObject, t$4$PyObject, t$5$PyObject; + + // Code + frame.setlocal(0, org.python.core.imp.importOne("random", frame)); + frame.setlocal(7, Py.makeClass("BoundedQueue", new PyObject[] {frame.getglobal("_Verbose")}, c$68_BoundedQueue, null)); + frame.setlocal(4, Py.makeClass("ProducerThread", new PyObject[] {frame.getglobal("Thread")}, c$71_ProducerThread, null)); + frame.setlocal(8, Py.makeClass("ConsumerThread", new PyObject[] {frame.getglobal("Thread")}, c$74_ConsumerThread, null)); + frame.setlocal(3, org.python.core.imp.importOne("time", frame)); + frame.setlocal(10, i$62); + frame.setlocal(11, i$63); + frame.setlocal(12, i$64); + frame.setlocal(1, frame.getlocal(7).__call__(frame.getlocal(11))); + frame.setlocal(2, new PyList(new PyObject[] {})); + t$0$int = 0; + t$1$PyObject = frame.getglobal("range").__call__(frame.getlocal(10)); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(9, t$0$PyObject); + frame.setlocal(5, frame.getlocal(4).__call__(frame.getlocal(1), frame.getlocal(12))); + frame.getlocal(5).invoke("setName", s$65._mod(frame.getlocal(9)._add(i$4))); + frame.getlocal(2).invoke("append", frame.getlocal(5)); + } + frame.setlocal(6, frame.getlocal(8).__call__(frame.getlocal(1), frame.getlocal(12)._mul(frame.getlocal(10)))); + t$1$int = 0; + t$3$PyObject = frame.getlocal(2); + while ((t$2$PyObject = t$3$PyObject.__finditem__(t$1$int++)) != null) { + frame.setlocal(5, t$2$PyObject); + frame.getlocal(5).invoke("start"); + frame.getglobal("_sleep").__call__(f$16); + } + frame.getlocal(6).invoke("start"); + t$2$int = 0; + t$5$PyObject = frame.getlocal(2); + while ((t$4$PyObject = t$5$PyObject.__finditem__(t$2$int++)) != null) { + frame.setlocal(5, t$4$PyObject); + frame.getlocal(5).invoke("join"); + } + frame.getlocal(6).invoke("join"); + return Py.None; + } + + private static PyObject main$77(PyFrame frame) { + frame.setglobal("__file__", s$67); + + /* Proposed new threading module, emulating a subset of Java's threading model. */ + frame.setlocal("sys", org.python.core.imp.importOne("sys", frame)); + frame.setlocal("time", org.python.core.imp.importOne("time", frame)); + frame.setlocal("thread", org.python.core.imp.importOne("thread", frame)); + frame.setlocal("traceback", org.python.core.imp.importOne("traceback", frame)); + frame.setlocal("StringIO", org.python.core.imp.importOne("StringIO", frame)); + frame.setlocal("_sys", frame.getname("sys")); + frame.dellocal("sys"); + frame.setlocal("_time", frame.getname("time").__getattr__("time")); + frame.setlocal("_sleep", frame.getname("time").__getattr__("sleep")); + frame.dellocal("time"); + frame.setlocal("_start_new_thread", frame.getname("thread").__getattr__("start_new_thread")); + frame.setlocal("_allocate_lock", frame.getname("thread").__getattr__("allocate_lock")); + frame.setlocal("_get_ident", frame.getname("thread").__getattr__("get_ident")); + frame.setlocal("ThreadError", frame.getname("thread").__getattr__("error")); + frame.dellocal("thread"); + frame.setlocal("_print_exc", frame.getname("traceback").__getattr__("print_exc")); + frame.dellocal("traceback"); + frame.setlocal("_StringIO", frame.getname("StringIO").__getattr__("StringIO")); + frame.dellocal("StringIO"); + frame.setlocal("_VERBOSE", i$1); + if (frame.getname("__debug__").__nonzero__()) { + frame.setlocal("_Verbose", Py.makeClass("_Verbose", new PyObject[] {}, c$2__Verbose, null)); + } + else { + frame.setlocal("_Verbose", Py.makeClass("_Verbose", new PyObject[] {}, c$5__Verbose, null)); + } + frame.setlocal("Lock", frame.getname("_allocate_lock")); + frame.setlocal("RLock", new PyFunction(frame.f_globals, new PyObject[] {}, c$6_RLock)); + frame.setlocal("_RLock", Py.makeClass("_RLock", new PyObject[] {frame.getname("_Verbose")}, c$14__RLock, null)); + frame.setlocal("Condition", new PyFunction(frame.f_globals, new PyObject[] {}, c$15_Condition)); + frame.setlocal("_Condition", Py.makeClass("_Condition", new PyObject[] {frame.getname("_Verbose")}, c$24__Condition, null)); + frame.setlocal("Semaphore", new PyFunction(frame.f_globals, new PyObject[] {}, c$25_Semaphore)); + frame.setlocal("_Semaphore", Py.makeClass("_Semaphore", new PyObject[] {frame.getname("_Verbose")}, c$29__Semaphore, null)); + frame.setlocal("Event", new PyFunction(frame.f_globals, new PyObject[] {}, c$30_Event)); + frame.setlocal("_Event", Py.makeClass("_Event", new PyObject[] {frame.getname("_Verbose")}, c$36__Event, null)); + frame.setlocal("_counter", i$1); + frame.setlocal("_newname", new PyFunction(frame.f_globals, new PyObject[] {s$27}, c$37__newname)); + frame.setlocal("_active_limbo_lock", frame.getname("_allocate_lock").__call__()); + frame.setlocal("_active", new PyDictionary(new PyObject[] {})); + frame.setlocal("_limbo", new PyDictionary(new PyObject[] {})); + frame.setlocal("Thread", Py.makeClass("Thread", new PyObject[] {frame.getname("_Verbose")}, c$52_Thread, null)); + frame.setlocal("_MainThread", Py.makeClass("_MainThread", new PyObject[] {frame.getname("Thread")}, c$56__MainThread, null)); + frame.setlocal("_pickSomeNonDaemonThread", new PyFunction(frame.f_globals, new PyObject[] {}, c$57__pickSomeNonDaemonThread)); + frame.setlocal("_DummyThread", Py.makeClass("_DummyThread", new PyObject[] {frame.getname("Thread")}, c$61__DummyThread, null)); + frame.setlocal("currentThread", new PyFunction(frame.f_globals, new PyObject[] {}, c$62_currentThread)); + frame.setlocal("activeCount", new PyFunction(frame.f_globals, new PyObject[] {}, c$63_activeCount)); + frame.setlocal("enumerate", new PyFunction(frame.f_globals, new PyObject[] {}, c$64_enumerate)); + frame.getname("_MainThread").__call__(); + frame.setlocal("_test", new PyFunction(frame.f_globals, new PyObject[] {}, c$75__test)); + if (frame.getname("__name__")._eq(s$66).__nonzero__()) { + frame.getname("_test").__call__(); + } + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("threading")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "threading"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(threading._PyInner.class, newargs, threading.jpy$packages, threading.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/traceback$_PyInner.class b/server/jpywork/traceback$_PyInner.class new file mode 100644 index 0000000000000000000000000000000000000000..d2a7e09e4f902d27fa3e6fbc10ada03514b526dd GIT binary patch literal 18932 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 F`WuDDg+TxS literal 0 HcmV?d00001 diff --git a/server/jpywork/traceback.java b/server/jpywork/traceback.java new file mode 100644 index 00000000..0787c8e6 --- /dev/null +++ b/server/jpywork/traceback.java @@ -0,0 +1,712 @@ +import org.python.core.*; + +public class traceback extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject s$1; + private static PyObject s$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyObject s$7; + private static PyObject s$8; + private static PyObject s$9; + private static PyObject s$10; + private static PyObject s$11; + private static PyObject s$12; + private static PyObject s$13; + private static PyObject s$14; + private static PyObject s$15; + private static PyObject s$16; + private static PyObject s$17; + private static PyObject s$18; + private static PyObject s$19; + private static PyObject s$20; + private static PyObject s$21; + private static PyObject s$22; + private static PyObject s$23; + private static PyObject i$24; + private static PyObject s$25; + private static PyObject i$26; + private static PyObject s$27; + private static PyObject s$28; + private static PyObject s$29; + private static PyObject s$30; + private static PyObject s$31; + private static PyObject s$32; + private static PyObject s$33; + private static PyObject s$34; + private static PyObject s$35; + private static PyObject s$36; + private static PyObject s$37; + private static PyObject s$38; + private static PyObject s$39; + private static PyObject s$40; + private static PyObject s$41; + private static PyObject s$42; + private static PyObject s$43; + private static PyObject i$44; + private static PyObject s$45; + private static PyObject s$46; + private static PyObject s$47; + private static PyObject s$48; + private static PyObject s$49; + private static PyFunctionTable funcTable; + private static PyCode c$0__print; + private static PyCode c$1_print_list; + private static PyCode c$2_format_list; + private static PyCode c$3_print_tb; + private static PyCode c$4_format_tb; + private static PyCode c$5_extract_tb; + private static PyCode c$6_print_exception; + private static PyCode c$7_format_exception; + private static PyCode c$8_format_exception_only; + private static PyCode c$9__some_str; + private static PyCode c$10_print_exc; + private static PyCode c$11_print_last; + private static PyCode c$12_print_stack; + private static PyCode c$13_format_stack; + private static PyCode c$14_extract_stack; + private static PyCode c$15_tb_lineno; + private static PyCode c$16_main; + private static void initConstants() { + s$0 = Py.newString("Extract, format and print information about Python stack traces."); + s$1 = Py.newString("extract_stack"); + s$2 = Py.newString("extract_tb"); + s$3 = Py.newString("format_exception"); + s$4 = Py.newString("format_exception_only"); + s$5 = Py.newString("format_list"); + s$6 = Py.newString("format_stack"); + s$7 = Py.newString("format_tb"); + s$8 = Py.newString("print_exc"); + s$9 = Py.newString("print_exception"); + s$10 = Py.newString("print_last"); + s$11 = Py.newString("print_stack"); + s$12 = Py.newString("print_tb"); + s$13 = Py.newString("tb_lineno"); + s$14 = Py.newString(""); + s$15 = Py.newString("\012"); + s$16 = Py.newString("Print the list of tuples as returned by extract_tb() or\012 extract_stack() as a formatted stack trace to the given file."); + s$17 = Py.newString(" File \"%s\", line %d, in %s"); + s$18 = Py.newString(" %s"); + s$19 = Py.newString("Format a list of traceback entry tuples for printing.\012\012 Given a list of tuples as returned by extract_tb() or\012 extract_stack(), return a list of strings ready for printing.\012 Each string in the resulting list corresponds to the item with the\012 same index in the argument list. Each string ends in a newline;\012 the strings may contain internal newlines as well, for those items\012 whose source text line is not None.\012 "); + s$20 = Py.newString(" File \"%s\", line %d, in %s\012"); + s$21 = Py.newString(" %s\012"); + s$22 = Py.newString("Print up to 'limit' stack trace entries from the traceback 'tb'.\012\012 If 'limit' is omitted or None, all entries are printed. If 'file'\012 is omitted or None, the output goes to sys.stderr; otherwise\012 'file' should be an open file or file-like object with a write()\012 method.\012 "); + s$23 = Py.newString("tracebacklimit"); + i$24 = Py.newInteger(0); + s$25 = Py.newString(" "); + i$26 = Py.newInteger(1); + s$27 = Py.newString("A shorthand for 'format_list(extract_stack(f, limit))."); + s$28 = Py.newString("Return list of up to limit pre-processed entries from traceback.\012\012 This is useful for alternate formatting of stack traces. If\012 'limit' is omitted or None, all entries are extracted. A\012 pre-processed stack trace entry is a quadruple (filename, line\012 number, function name, text) representing the information that is\012 usually printed for a stack trace. The text is a string with\012 leading and trailing whitespace stripped; if the source is not\012 available it is None.\012 "); + s$29 = Py.newString("Print exception up to 'limit' stack trace entries from 'tb' to 'file'.\012\012 This differs from print_tb() in the following ways: (1) if\012 traceback is not None, it prints a header \"Traceback (most recent\012 call last):\"; (2) it prints the exception type and value after the\012 stack trace; (3) if type is SyntaxError and value has the\012 appropriate format, it prints the line where the syntax error\012 occurred with a caret on the next line indicating the approximate\012 position of the error.\012 "); + s$30 = Py.newString("Traceback (most recent call last):"); + s$31 = Py.newString(" "); + s$32 = Py.newString("Format a stack trace and the exception information.\012\012 The arguments have the same meaning as the corresponding arguments\012 to print_exception(). The return value is a list of strings, each\012 ending in a newline and some containing internal newlines. When\012 these lines are concatenated and printed, exactly the same text is\012 printed as does print_exception().\012 "); + s$33 = Py.newString("Traceback (most recent call last):\012"); + s$34 = Py.newString("Format the exception part of a traceback.\012\012 The arguments are the exception type and value such as given by\012 sys.last_type and sys.last_value. The return value is a list of\012 strings, each ending in a newline. Normally, the list contains a\012 single string; however, for SyntaxError exceptions, it contains\012 several lines that (when printed) display detailed information\012 about where the syntax error occurred. The message indicating\012 which exception occurred is the always last string in the list.\012 "); + s$35 = Py.newString(""); + s$36 = Py.newString(" File \"%s\", line %d\012"); + s$37 = Py.newString("%s^\012"); + s$38 = Py.newString("%s: %s\012"); + s$39 = Py.newString("%s\012"); + s$40 = Py.newString(""); + s$41 = Py.newString("Shorthand for 'print_exception(sys.exc_type, sys.exc_value, sys.exc_traceback, limit, file)'.\012 (In fact, it uses sys.exc_info() to retrieve the same information\012 in a thread-safe way.)"); + s$42 = Py.newString("This is a shorthand for 'print_exception(sys.last_type,\012 sys.last_value, sys.last_traceback, limit, file)'."); + s$43 = Py.newString("Print a stack trace from its invocation point.\012\012 The optional 'f' argument can be used to specify an alternate\012 stack frame at which to start. The optional 'limit' and 'file'\012 arguments have the same meaning as for print_exception().\012 "); + i$44 = Py.newInteger(2); + s$45 = Py.newString("Shorthand for 'format_list(extract_stack(f, limit))'."); + s$46 = Py.newString("Extract the raw traceback from the current stack frame.\012\012 The return value has the same format as for extract_tb(). The\012 optional 'f' and 'limit' arguments have the same meaning as for\012 print_stack(). Each item in the list is a quadruple (filename,\012 line number, function name, text), and the entries are in order\012 from oldest to newest stack frame.\012 "); + s$47 = Py.newString("Calculate correct line number of traceback given in tb.\012\012 Even works with -O on.\012 "); + s$48 = Py.newString("co_lnotab"); + s$49 = Py.newString("/usr/share/jython/Lib-cpython/traceback.py"); + funcTable = new _PyInner(); + c$0__print = Py.newCode(3, new String[] {"file", "str", "terminator"}, "/usr/share/jython/Lib-cpython/traceback.py", "_print", false, false, funcTable, 0, null, null, 0, 1); + c$1_print_list = Py.newCode(2, new String[] {"extracted_list", "file", "line", "filename", "name", "lineno"}, "/usr/share/jython/Lib-cpython/traceback.py", "print_list", false, false, funcTable, 1, null, null, 0, 1); + c$2_format_list = Py.newCode(1, new String[] {"extracted_list", "line", "filename", "name", "item", "list", "lineno"}, "/usr/share/jython/Lib-cpython/traceback.py", "format_list", false, false, funcTable, 2, null, null, 0, 1); + c$3_print_tb = Py.newCode(3, new String[] {"tb", "limit", "file", "filename", "name", "lineno", "n", "f", "co", "line"}, "/usr/share/jython/Lib-cpython/traceback.py", "print_tb", false, false, funcTable, 3, null, null, 0, 1); + c$4_format_tb = Py.newCode(2, new String[] {"tb", "limit"}, "/usr/share/jython/Lib-cpython/traceback.py", "format_tb", false, false, funcTable, 4, null, null, 0, 1); + c$5_extract_tb = Py.newCode(2, new String[] {"tb", "limit", "filename", "name", "lineno", "n", "f", "list", "co", "line"}, "/usr/share/jython/Lib-cpython/traceback.py", "extract_tb", false, false, funcTable, 5, null, null, 0, 1); + c$6_print_exception = Py.newCode(5, new String[] {"etype", "value", "tb", "limit", "file", "line", "lines"}, "/usr/share/jython/Lib-cpython/traceback.py", "print_exception", false, false, funcTable, 6, null, null, 0, 1); + c$7_format_exception = Py.newCode(4, new String[] {"etype", "value", "tb", "limit", "list"}, "/usr/share/jython/Lib-cpython/traceback.py", "format_exception", false, false, funcTable, 7, null, null, 0, 1); + c$8_format_exception_only = Py.newCode(2, new String[] {"etype", "value", "stype", "msg", "offset", "lineno", "line", "s", "filename", "i", "list", "c"}, "/usr/share/jython/Lib-cpython/traceback.py", "format_exception_only", false, false, funcTable, 8, null, null, 0, 1); + c$9__some_str = Py.newCode(1, new String[] {"value"}, "/usr/share/jython/Lib-cpython/traceback.py", "_some_str", false, false, funcTable, 9, null, null, 0, 1); + c$10_print_exc = Py.newCode(2, new String[] {"limit", "file", "tb", "etype", "value"}, "/usr/share/jython/Lib-cpython/traceback.py", "print_exc", false, false, funcTable, 10, null, null, 0, 1); + c$11_print_last = Py.newCode(2, new String[] {"limit", "file"}, "/usr/share/jython/Lib-cpython/traceback.py", "print_last", false, false, funcTable, 11, null, null, 0, 1); + c$12_print_stack = Py.newCode(3, new String[] {"f", "limit", "file"}, "/usr/share/jython/Lib-cpython/traceback.py", "print_stack", false, false, funcTable, 12, null, null, 0, 1); + c$13_format_stack = Py.newCode(2, new String[] {"f", "limit"}, "/usr/share/jython/Lib-cpython/traceback.py", "format_stack", false, false, funcTable, 13, null, null, 0, 1); + c$14_extract_stack = Py.newCode(2, new String[] {"f", "limit", "filename", "name", "lineno", "n", "list", "co", "line"}, "/usr/share/jython/Lib-cpython/traceback.py", "extract_stack", false, false, funcTable, 14, null, null, 0, 1); + c$15_tb_lineno = Py.newCode(1, new String[] {"tb", "tab", "i", "c", "addr", "stopat", "line"}, "/usr/share/jython/Lib-cpython/traceback.py", "tb_lineno", false, false, funcTable, 15, null, null, 0, 1); + c$16_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Lib-cpython/traceback.py", "main", false, false, funcTable, 16, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$16_main == null) _PyInner.initConstants(); + return c$16_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner._print$1(frame); + case 1: + return _PyInner.print_list$2(frame); + case 2: + return _PyInner.format_list$3(frame); + case 3: + return _PyInner.print_tb$4(frame); + case 4: + return _PyInner.format_tb$5(frame); + case 5: + return _PyInner.extract_tb$6(frame); + case 6: + return _PyInner.print_exception$7(frame); + case 7: + return _PyInner.format_exception$8(frame); + case 8: + return _PyInner.format_exception_only$9(frame); + case 9: + return _PyInner._some_str$10(frame); + case 10: + return _PyInner.print_exc$11(frame); + case 11: + return _PyInner.print_last$12(frame); + case 12: + return _PyInner.print_stack$13(frame); + case 13: + return _PyInner.format_stack$14(frame); + case 14: + return _PyInner.extract_stack$15(frame); + case 15: + return _PyInner.tb_lineno$16(frame); + case 16: + return _PyInner.main$17(frame); + default: + return null; + } + } + + private static PyObject _print$1(PyFrame frame) { + frame.getlocal(0).invoke("write", frame.getlocal(1)._add(frame.getlocal(2))); + return Py.None; + } + + private static PyObject print_list$2(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Print the list of tuples as returned by extract_tb() or + extract_stack() as a formatted stack trace to the given file. */ + if (frame.getlocal(1).__not__().__nonzero__()) { + frame.setlocal(1, frame.getglobal("sys").__getattr__("stderr")); + } + t$0$int = 0; + t$1$PyObject = frame.getlocal(0); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 4); + frame.setlocal(3, t$0$PyObject__[0]); + frame.setlocal(5, t$0$PyObject__[1]); + frame.setlocal(4, t$0$PyObject__[2]); + frame.setlocal(2, t$0$PyObject__[3]); + frame.getglobal("_print").__call__(frame.getlocal(1), s$17._mod(new PyTuple(new PyObject[] {frame.getlocal(3), frame.getlocal(5), frame.getlocal(4)}))); + if (frame.getlocal(2).__nonzero__()) { + frame.getglobal("_print").__call__(frame.getlocal(1), s$18._mod(frame.getlocal(2).invoke("strip"))); + } + } + return Py.None; + } + + private static PyObject format_list$3(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Format a list of traceback entry tuples for printing. + + Given a list of tuples as returned by extract_tb() or + extract_stack(), return a list of strings ready for printing. + Each string in the resulting list corresponds to the item with the + same index in the argument list. Each string ends in a newline; + the strings may contain internal newlines as well, for those items + whose source text line is not None. + */ + frame.setlocal(5, new PyList(new PyObject[] {})); + t$0$int = 0; + t$1$PyObject = frame.getlocal(0); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + t$0$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject, 4); + frame.setlocal(2, t$0$PyObject__[0]); + frame.setlocal(6, t$0$PyObject__[1]); + frame.setlocal(3, t$0$PyObject__[2]); + frame.setlocal(1, t$0$PyObject__[3]); + frame.setlocal(4, s$20._mod(new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(6), frame.getlocal(3)}))); + if (frame.getlocal(1).__nonzero__()) { + frame.setlocal(4, frame.getlocal(4)._add(s$21._mod(frame.getlocal(1).invoke("strip")))); + } + frame.getlocal(5).invoke("append", frame.getlocal(4)); + } + return frame.getlocal(5); + } + + private static PyObject print_tb$4(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Print up to 'limit' stack trace entries from the traceback 'tb'. + + If 'limit' is omitted or None, all entries are printed. If 'file' + is omitted or None, the output goes to sys.stderr; otherwise + 'file' should be an open file or file-like object with a write() + method. + */ + if (frame.getlocal(2).__not__().__nonzero__()) { + frame.setlocal(2, frame.getglobal("sys").__getattr__("stderr")); + } + if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) { + if (frame.getglobal("hasattr").__call__(frame.getglobal("sys"), s$23).__nonzero__()) { + frame.setlocal(1, frame.getglobal("sys").__getattr__("tracebacklimit")); + } + } + frame.setlocal(6, i$24); + while (((t$0$PyObject = frame.getlocal(0)._isnot(frame.getglobal("None"))).__nonzero__() ? ((t$1$PyObject = frame.getlocal(1)._is(frame.getglobal("None"))).__nonzero__() ? t$1$PyObject : frame.getlocal(6)._lt(frame.getlocal(1))) : t$0$PyObject).__nonzero__()) { + frame.setlocal(7, frame.getlocal(0).__getattr__("tb_frame")); + frame.setlocal(5, frame.getglobal("tb_lineno").__call__(frame.getlocal(0))); + frame.setlocal(8, frame.getlocal(7).__getattr__("f_code")); + frame.setlocal(3, frame.getlocal(8).__getattr__("co_filename")); + frame.setlocal(4, frame.getlocal(8).__getattr__("co_name")); + frame.getglobal("_print").__call__(frame.getlocal(2), s$17._mod(new PyTuple(new PyObject[] {frame.getlocal(3), frame.getlocal(5), frame.getlocal(4)}))); + frame.setlocal(9, frame.getglobal("linecache").__getattr__("getline").__call__(frame.getlocal(3), frame.getlocal(5))); + if (frame.getlocal(9).__nonzero__()) { + frame.getglobal("_print").__call__(frame.getlocal(2), s$25._add(frame.getlocal(9).invoke("strip"))); + } + frame.setlocal(0, frame.getlocal(0).__getattr__("tb_next")); + frame.setlocal(6, frame.getlocal(6)._add(i$26)); + } + return Py.None; + } + + private static PyObject format_tb$5(PyFrame frame) { + /* A shorthand for 'format_list(extract_stack(f, limit)). */ + return frame.getglobal("format_list").__call__(frame.getglobal("extract_tb").__call__(frame.getlocal(0), frame.getlocal(1))); + } + + private static PyObject extract_tb$6(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Return list of up to limit pre-processed entries from traceback. + + This is useful for alternate formatting of stack traces. If + 'limit' is omitted or None, all entries are extracted. A + pre-processed stack trace entry is a quadruple (filename, line + number, function name, text) representing the information that is + usually printed for a stack trace. The text is a string with + leading and trailing whitespace stripped; if the source is not + available it is None. + */ + if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) { + if (frame.getglobal("hasattr").__call__(frame.getglobal("sys"), s$23).__nonzero__()) { + frame.setlocal(1, frame.getglobal("sys").__getattr__("tracebacklimit")); + } + } + frame.setlocal(7, new PyList(new PyObject[] {})); + frame.setlocal(5, i$24); + while (((t$0$PyObject = frame.getlocal(0)._isnot(frame.getglobal("None"))).__nonzero__() ? ((t$1$PyObject = frame.getlocal(1)._is(frame.getglobal("None"))).__nonzero__() ? t$1$PyObject : frame.getlocal(5)._lt(frame.getlocal(1))) : t$0$PyObject).__nonzero__()) { + frame.setlocal(6, frame.getlocal(0).__getattr__("tb_frame")); + frame.setlocal(4, frame.getglobal("tb_lineno").__call__(frame.getlocal(0))); + frame.setlocal(8, frame.getlocal(6).__getattr__("f_code")); + frame.setlocal(2, frame.getlocal(8).__getattr__("co_filename")); + frame.setlocal(3, frame.getlocal(8).__getattr__("co_name")); + frame.setlocal(9, frame.getglobal("linecache").__getattr__("getline").__call__(frame.getlocal(2), frame.getlocal(4))); + if (frame.getlocal(9).__nonzero__()) { + frame.setlocal(9, frame.getlocal(9).invoke("strip")); + } + else { + frame.setlocal(9, frame.getglobal("None")); + } + frame.getlocal(7).invoke("append", new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(4), frame.getlocal(3), frame.getlocal(9)})); + frame.setlocal(0, frame.getlocal(0).__getattr__("tb_next")); + frame.setlocal(5, frame.getlocal(5)._add(i$26)); + } + return frame.getlocal(7); + } + + private static PyObject print_exception$7(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Print exception up to 'limit' stack trace entries from 'tb' to 'file'. + + This differs from print_tb() in the following ways: (1) if + traceback is not None, it prints a header "Traceback (most recent + call last):"; (2) it prints the exception type and value after the + stack trace; (3) if type is SyntaxError and value has the + appropriate format, it prints the line where the syntax error + occurred with a caret on the next line indicating the approximate + position of the error. + */ + if (frame.getlocal(4).__not__().__nonzero__()) { + frame.setlocal(4, frame.getglobal("sys").__getattr__("stderr")); + } + if (frame.getlocal(2).__nonzero__()) { + frame.getglobal("_print").__call__(frame.getlocal(4), s$30); + frame.getglobal("print_tb").__call__(frame.getlocal(2), frame.getlocal(3), frame.getlocal(4)); + } + frame.setlocal(6, frame.getglobal("format_exception_only").__call__(frame.getlocal(0), frame.getlocal(1))); + t$0$int = 0; + t$1$PyObject = frame.getlocal(6).__getslice__(null, i$26.__neg__(), null); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(5, t$0$PyObject); + frame.getglobal("_print").__call__(frame.getlocal(4), frame.getlocal(5), s$31); + } + frame.getglobal("_print").__call__(frame.getlocal(4), frame.getlocal(6).__getitem__(i$26.__neg__()), s$14); + return Py.None; + } + + private static PyObject format_exception$8(PyFrame frame) { + /* Format a stack trace and the exception information. + + The arguments have the same meaning as the corresponding arguments + to print_exception(). The return value is a list of strings, each + ending in a newline and some containing internal newlines. When + these lines are concatenated and printed, exactly the same text is + printed as does print_exception(). + */ + if (frame.getlocal(2).__nonzero__()) { + frame.setlocal(4, new PyList(new PyObject[] {s$33})); + frame.setlocal(4, frame.getlocal(4)._add(frame.getglobal("format_tb").__call__(frame.getlocal(2), frame.getlocal(3)))); + } + else { + frame.setlocal(4, new PyList(new PyObject[] {})); + } + frame.setlocal(4, frame.getlocal(4)._add(frame.getglobal("format_exception_only").__call__(frame.getlocal(0), frame.getlocal(1)))); + return frame.getlocal(4); + } + + private static PyObject format_exception_only$9(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject[] t$0$PyObject__, t$1$PyObject__; + boolean t$0$boolean; + PyObject t$0$PyObject, t$1$PyObject; + PyException t$0$PyException; + + // Code + /* Format the exception part of a traceback. + + The arguments are the exception type and value such as given by + sys.last_type and sys.last_value. The return value is a list of + strings, each ending in a newline. Normally, the list contains a + single string; however, for SyntaxError exceptions, it contains + several lines that (when printed) display detailed information + about where the syntax error occurred. The message indicating + which exception occurred is the always last string in the list. + */ + frame.setlocal(10, new PyList(new PyObject[] {})); + if (frame.getglobal("type").__call__(frame.getlocal(0))._eq(frame.getglobal("types").__getattr__("ClassType")).__nonzero__()) { + frame.setlocal(2, frame.getlocal(0).__getattr__("__name__")); + } + else { + frame.setlocal(2, frame.getlocal(0)); + } + if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) { + frame.getlocal(10).invoke("append", frame.getglobal("str").__call__(frame.getlocal(2))._add(s$15)); + } + else { + if (frame.getlocal(0)._is(frame.getglobal("SyntaxError")).__nonzero__()) { + t$0$boolean = true; + try { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getlocal(1), 2); + frame.setlocal(3, t$0$PyObject__[0]); + t$1$PyObject__ = org.python.core.Py.unpackSequence(t$0$PyObject__[1], 4); + frame.setlocal(8, t$1$PyObject__[0]); + frame.setlocal(5, t$1$PyObject__[1]); + frame.setlocal(4, t$1$PyObject__[2]); + frame.setlocal(6, t$1$PyObject__[3]); + } + catch (Throwable x$0) { + t$0$boolean = false; + t$0$PyException = Py.setException(x$0, frame); + // pass + } + if (t$0$boolean) { + if (frame.getlocal(8).__not__().__nonzero__()) { + frame.setlocal(8, s$35); + } + frame.getlocal(10).invoke("append", s$36._mod(new PyTuple(new PyObject[] {frame.getlocal(8), frame.getlocal(5)}))); + if (frame.getlocal(6)._isnot(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(9, i$24); + while (((t$0$PyObject = frame.getlocal(9)._lt(frame.getglobal("len").__call__(frame.getlocal(6)))).__nonzero__() ? frame.getlocal(6).__getitem__(frame.getlocal(9)).invoke("isspace") : t$0$PyObject).__nonzero__()) { + frame.setlocal(9, frame.getlocal(9)._add(i$26)); + } + frame.getlocal(10).invoke("append", s$21._mod(frame.getlocal(6).invoke("strip"))); + if (frame.getlocal(4)._isnot(frame.getglobal("None")).__nonzero__()) { + frame.setlocal(7, s$25); + t$0$int = 0; + t$1$PyObject = frame.getlocal(6).__getslice__(frame.getlocal(9), frame.getlocal(4)._sub(i$26), null); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(11, t$0$PyObject); + if (frame.getlocal(11).invoke("isspace").__nonzero__()) { + frame.setlocal(7, frame.getlocal(7)._add(frame.getlocal(11))); + } + else { + frame.setlocal(7, frame.getlocal(7)._add(s$31)); + } + } + frame.getlocal(10).invoke("append", s$37._mod(frame.getlocal(7))); + } + frame.setlocal(1, frame.getlocal(3)); + } + } + } + frame.setlocal(7, frame.getglobal("_some_str").__call__(frame.getlocal(1))); + if (frame.getlocal(7).__nonzero__()) { + frame.getlocal(10).invoke("append", s$38._mod(new PyTuple(new PyObject[] {frame.getglobal("str").__call__(frame.getlocal(2)), frame.getlocal(7)}))); + } + else { + frame.getlocal(10).invoke("append", s$39._mod(frame.getglobal("str").__call__(frame.getlocal(2)))); + } + } + return frame.getlocal(10); + } + + private static PyObject _some_str$10(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + + // Code + try { + return frame.getglobal("str").__call__(frame.getlocal(0)); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + return s$40._mod(frame.getglobal("type").__call__(frame.getlocal(0)).__getattr__("__name__")); + } + } + + private static PyObject print_exc$11(PyFrame frame) { + // Temporary Variables + PyObject[] t$0$PyObject__; + PyObject t$0$PyObject; + + // Code + /* Shorthand for 'print_exception(sys.exc_type, sys.exc_value, sys.exc_traceback, limit, file)'. + (In fact, it uses sys.exc_info() to retrieve the same information + in a thread-safe way.) */ + if (frame.getlocal(1).__not__().__nonzero__()) { + frame.setlocal(1, frame.getglobal("sys").__getattr__("stderr")); + } + try { + t$0$PyObject__ = org.python.core.Py.unpackSequence(frame.getglobal("sys").__getattr__("exc_info").__call__(), 3); + frame.setlocal(3, t$0$PyObject__[0]); + frame.setlocal(4, t$0$PyObject__[1]); + frame.setlocal(2, t$0$PyObject__[2]); + frame.getglobal("print_exception").__call__(new PyObject[] {frame.getlocal(3), frame.getlocal(4), frame.getlocal(2), frame.getlocal(0), frame.getlocal(1)}); + } + finally { + t$0$PyObject = frame.getglobal("None"); + frame.setlocal(3, t$0$PyObject); + frame.setlocal(4, t$0$PyObject); + frame.setlocal(2, t$0$PyObject); + } + return Py.None; + } + + private static PyObject print_last$12(PyFrame frame) { + /* This is a shorthand for 'print_exception(sys.last_type, + sys.last_value, sys.last_traceback, limit, file)'. */ + if (frame.getlocal(1).__not__().__nonzero__()) { + frame.setlocal(1, frame.getglobal("sys").__getattr__("stderr")); + } + frame.getglobal("print_exception").__call__(new PyObject[] {frame.getglobal("sys").__getattr__("last_type"), frame.getglobal("sys").__getattr__("last_value"), frame.getglobal("sys").__getattr__("last_traceback"), frame.getlocal(0), frame.getlocal(1)}); + return Py.None; + } + + private static PyObject print_stack$13(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + + // Code + /* Print a stack trace from its invocation point. + + The optional 'f' argument can be used to specify an alternate + stack frame at which to start. The optional 'limit' and 'file' + arguments have the same meaning as for print_exception(). + */ + if (frame.getlocal(0)._is(frame.getglobal("None")).__nonzero__()) { + try { + throw Py.makeException(frame.getglobal("ZeroDivisionError")); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("ZeroDivisionError"))) { + frame.setlocal(0, frame.getglobal("sys").__getattr__("exc_info").__call__().__getitem__(i$44).__getattr__("tb_frame").__getattr__("f_back")); + } + else throw t$0$PyException; + } + } + frame.getglobal("print_list").__call__(frame.getglobal("extract_stack").__call__(frame.getlocal(0), frame.getlocal(1)), frame.getlocal(2)); + return Py.None; + } + + private static PyObject format_stack$14(PyFrame frame) { + // Temporary Variables + PyException t$0$PyException; + + // Code + /* Shorthand for 'format_list(extract_stack(f, limit))'. */ + if (frame.getlocal(0)._is(frame.getglobal("None")).__nonzero__()) { + try { + throw Py.makeException(frame.getglobal("ZeroDivisionError")); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("ZeroDivisionError"))) { + frame.setlocal(0, frame.getglobal("sys").__getattr__("exc_info").__call__().__getitem__(i$44).__getattr__("tb_frame").__getattr__("f_back")); + } + else throw t$0$PyException; + } + } + return frame.getglobal("format_list").__call__(frame.getglobal("extract_stack").__call__(frame.getlocal(0), frame.getlocal(1))); + } + + private static PyObject extract_stack$15(PyFrame frame) { + // Temporary Variables + PyObject t$0$PyObject, t$1$PyObject; + PyException t$0$PyException; + + // Code + /* Extract the raw traceback from the current stack frame. + + The return value has the same format as for extract_tb(). The + optional 'f' and 'limit' arguments have the same meaning as for + print_stack(). Each item in the list is a quadruple (filename, + line number, function name, text), and the entries are in order + from oldest to newest stack frame. + */ + if (frame.getlocal(0)._is(frame.getglobal("None")).__nonzero__()) { + try { + throw Py.makeException(frame.getglobal("ZeroDivisionError")); + } + catch (Throwable x$0) { + t$0$PyException = Py.setException(x$0, frame); + if (Py.matchException(t$0$PyException, frame.getglobal("ZeroDivisionError"))) { + frame.setlocal(0, frame.getglobal("sys").__getattr__("exc_info").__call__().__getitem__(i$44).__getattr__("tb_frame").__getattr__("f_back")); + } + else throw t$0$PyException; + } + } + if (frame.getlocal(1)._is(frame.getglobal("None")).__nonzero__()) { + if (frame.getglobal("hasattr").__call__(frame.getglobal("sys"), s$23).__nonzero__()) { + frame.setlocal(1, frame.getglobal("sys").__getattr__("tracebacklimit")); + } + } + frame.setlocal(6, new PyList(new PyObject[] {})); + frame.setlocal(5, i$24); + while (((t$0$PyObject = frame.getlocal(0)._isnot(frame.getglobal("None"))).__nonzero__() ? ((t$1$PyObject = frame.getlocal(1)._is(frame.getglobal("None"))).__nonzero__() ? t$1$PyObject : frame.getlocal(5)._lt(frame.getlocal(1))) : t$0$PyObject).__nonzero__()) { + frame.setlocal(4, frame.getlocal(0).__getattr__("f_lineno")); + frame.setlocal(7, frame.getlocal(0).__getattr__("f_code")); + frame.setlocal(2, frame.getlocal(7).__getattr__("co_filename")); + frame.setlocal(3, frame.getlocal(7).__getattr__("co_name")); + frame.setlocal(8, frame.getglobal("linecache").__getattr__("getline").__call__(frame.getlocal(2), frame.getlocal(4))); + if (frame.getlocal(8).__nonzero__()) { + frame.setlocal(8, frame.getlocal(8).invoke("strip")); + } + else { + frame.setlocal(8, frame.getglobal("None")); + } + frame.getlocal(6).invoke("append", new PyTuple(new PyObject[] {frame.getlocal(2), frame.getlocal(4), frame.getlocal(3), frame.getlocal(8)})); + frame.setlocal(0, frame.getlocal(0).__getattr__("f_back")); + frame.setlocal(5, frame.getlocal(5)._add(i$26)); + } + frame.getlocal(6).invoke("reverse"); + return frame.getlocal(6); + } + + private static PyObject tb_lineno$16(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + /* Calculate correct line number of traceback given in tb. + + Even works with -O on. + */ + frame.setlocal(3, frame.getlocal(0).__getattr__("tb_frame").__getattr__("f_code")); + if (frame.getglobal("hasattr").__call__(frame.getlocal(3), s$48).__not__().__nonzero__()) { + return frame.getlocal(0).__getattr__("tb_lineno"); + } + frame.setlocal(1, frame.getlocal(3).__getattr__("co_lnotab")); + frame.setlocal(6, frame.getlocal(3).__getattr__("co_firstlineno")); + frame.setlocal(5, frame.getlocal(0).__getattr__("tb_lasti")); + frame.setlocal(4, i$24); + t$0$int = 0; + t$1$PyObject = frame.getglobal("range").__call__(i$24, frame.getglobal("len").__call__(frame.getlocal(1)), i$44); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(2, t$0$PyObject); + frame.setlocal(4, frame.getlocal(4)._add(frame.getglobal("ord").__call__(frame.getlocal(1).__getitem__(frame.getlocal(2))))); + if (frame.getlocal(4)._gt(frame.getlocal(5)).__nonzero__()) { + break; + } + frame.setlocal(6, frame.getlocal(6)._add(frame.getglobal("ord").__call__(frame.getlocal(1).__getitem__(frame.getlocal(2)._add(i$26))))); + } + return frame.getlocal(6); + } + + private static PyObject main$17(PyFrame frame) { + frame.setglobal("__file__", s$49); + + /* Extract, format and print information about Python stack traces. */ + frame.setlocal("linecache", org.python.core.imp.importOne("linecache", frame)); + frame.setlocal("sys", org.python.core.imp.importOne("sys", frame)); + frame.setlocal("types", org.python.core.imp.importOne("types", frame)); + frame.setlocal("__all__", new PyList(new PyObject[] {s$1, s$2, s$3, s$4, s$5, s$6, s$7, s$8, s$9, s$10, s$11, s$12, s$13})); + frame.setlocal("_print", new PyFunction(frame.f_globals, new PyObject[] {s$14, s$15}, c$0__print)); + frame.setlocal("print_list", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$1_print_list)); + frame.setlocal("format_list", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_format_list)); + frame.setlocal("print_tb", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("None")}, c$3_print_tb)); + frame.setlocal("format_tb", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$4_format_tb)); + frame.setlocal("extract_tb", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$5_extract_tb)); + frame.setlocal("print_exception", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("None")}, c$6_print_exception)); + frame.setlocal("format_exception", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None")}, c$7_format_exception)); + frame.setlocal("format_exception_only", new PyFunction(frame.f_globals, new PyObject[] {}, c$8_format_exception_only)); + frame.setlocal("_some_str", new PyFunction(frame.f_globals, new PyObject[] {}, c$9__some_str)); + frame.setlocal("print_exc", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("None")}, c$10_print_exc)); + frame.setlocal("print_last", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("None")}, c$11_print_last)); + frame.setlocal("print_stack", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("None"), frame.getname("None")}, c$12_print_stack)); + frame.setlocal("format_stack", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("None")}, c$13_format_stack)); + frame.setlocal("extract_stack", new PyFunction(frame.f_globals, new PyObject[] {frame.getname("None"), frame.getname("None")}, c$14_extract_stack)); + frame.setlocal("tb_lineno", new PyFunction(frame.f_globals, new PyObject[] {}, c$15_tb_lineno)); + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("traceback")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "traceback"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(traceback._PyInner.class, newargs, traceback.jpy$packages, traceback.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/util$_PyInner.class b/server/jpywork/util$_PyInner.class new file mode 100644 index 0000000000000000000000000000000000000000..1fe437e831a0f14ea5cc5f01ef0ee31b25ce7462 GIT binary patch literal 6142 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 literal 0 HcmV?d00001 diff --git a/server/jpywork/util.java b/server/jpywork/util.java new file mode 100644 index 00000000..bf5099ef --- /dev/null +++ b/server/jpywork/util.java @@ -0,0 +1,192 @@ +import org.python.core.*; + +public class util extends java.lang.Object { + static String[] jpy$mainProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions"}; + static String[] jpy$proxyProperties = new String[] {"python.modules.builtin", "exceptions:org.python.core.exceptions", "python.options.showJavaExceptions", "true"}; + static String[] jpy$packages = new String[] {"java.net", null, "java.lang", null, "org.python.core", null, "java.io", null, "java.util.zip", null}; + + public static class _PyInner extends PyFunctionTable implements PyRunnable { + private static PyObject s$0; + private static PyObject i$1; + private static PyObject i$2; + private static PyObject s$3; + private static PyObject s$4; + private static PyObject s$5; + private static PyObject s$6; + private static PyFunctionTable funcTable; + private static PyCode c$0_lookup; + private static PyCode c$1_getzip; + private static PyCode c$2_closezips; + private static PyCode c$3_findClass; + private static PyCode c$4_reportPublicPlainClasses; + private static PyCode c$5_openResource; + private static PyCode c$6_listAllClasses; + private static PyCode c$7_main; + private static void initConstants() { + s$0 = Py.newString("."); + i$1 = Py.newInteger(0); + i$2 = Py.newInteger(1); + s$3 = Py.newString("java class"); + s$4 = Py.newString("__name__"); + s$5 = Py.newString(","); + s$6 = Py.newString("/usr/share/jython/Tools/jythonc/util.py"); + funcTable = new _PyInner(); + c$0_lookup = Py.newCode(1, new String[] {"name", "top", "names"}, "/usr/share/jython/Tools/jythonc/util.py", "lookup", false, false, funcTable, 0, null, null, 0, 1); + c$1_getzip = Py.newCode(1, new String[] {"filename", "zipfile"}, "/usr/share/jython/Tools/jythonc/util.py", "getzip", false, false, funcTable, 1, null, null, 0, 1); + c$2_closezips = Py.newCode(0, new String[] {"zf"}, "/usr/share/jython/Tools/jythonc/util.py", "closezips", false, false, funcTable, 2, null, null, 0, 1); + c$3_findClass = Py.newCode(1, new String[] {"c"}, "/usr/share/jython/Tools/jythonc/util.py", "findClass", false, false, funcTable, 3, null, null, 0, 1); + c$4_reportPublicPlainClasses = Py.newCode(1, new String[] {"jpkg", "classes"}, "/usr/share/jython/Tools/jythonc/util.py", "reportPublicPlainClasses", false, false, funcTable, 4, null, null, 0, 1); + c$5_openResource = Py.newCode(1, new String[] {"res"}, "/usr/share/jython/Tools/jythonc/util.py", "openResource", false, false, funcTable, 5, null, null, 0, 1); + c$6_listAllClasses = Py.newCode(1, new String[] {"jpkg", "classes", "classes2", "pkg2"}, "/usr/share/jython/Tools/jythonc/util.py", "listAllClasses", false, false, funcTable, 6, null, null, 0, 1); + c$7_main = Py.newCode(0, new String[] {}, "/usr/share/jython/Tools/jythonc/util.py", "main", false, false, funcTable, 7, null, null, 0, 0); + } + + + public PyCode getMain() { + if (c$7_main == null) _PyInner.initConstants(); + return c$7_main; + } + + public PyObject call_function(int index, PyFrame frame) { + switch (index){ + case 0: + return _PyInner.lookup$1(frame); + case 1: + return _PyInner.getzip$2(frame); + case 2: + return _PyInner.closezips$3(frame); + case 3: + return _PyInner.findClass$4(frame); + case 4: + return _PyInner.reportPublicPlainClasses$5(frame); + case 5: + return _PyInner.openResource$6(frame); + case 6: + return _PyInner.listAllClasses$7(frame); + case 7: + return _PyInner.main$8(frame); + default: + return null; + } + } + + private static PyObject lookup$1(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + frame.setlocal(2, frame.getlocal(0).invoke("split", s$0)); + frame.setlocal(1, frame.getglobal("__import__").__call__(frame.getlocal(2).__getitem__(i$1))); + t$0$int = 0; + t$1$PyObject = frame.getlocal(2).__getslice__(i$2, null, null); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(0, t$0$PyObject); + frame.setlocal(1, frame.getglobal("getattr").__call__(frame.getlocal(1), frame.getlocal(0))); + } + return frame.getlocal(1); + } + + private static PyObject getzip$2(PyFrame frame) { + if (frame.getglobal("zipfiles").invoke("has_key", frame.getlocal(0)).__nonzero__()) { + return frame.getglobal("zipfiles").__getitem__(frame.getlocal(0)); + } + frame.setlocal(1, frame.getglobal("ZipFile").__call__(frame.getlocal(0))); + frame.getglobal("zipfiles").__setitem__(frame.getlocal(0), frame.getlocal(1)); + return frame.getlocal(1); + } + + private static PyObject closezips$3(PyFrame frame) { + // Temporary Variables + int t$0$int; + PyObject t$0$PyObject, t$1$PyObject; + + // Code + t$0$int = 0; + t$1$PyObject = frame.getglobal("zipfiles").invoke("values"); + while ((t$0$PyObject = t$1$PyObject.__finditem__(t$0$int++)) != null) { + frame.setlocal(0, t$0$PyObject); + frame.getlocal(0).invoke("close"); + } + frame.getglobal("zipfiles").invoke("clear"); + return Py.None; + } + + private static PyObject findClass$4(PyFrame frame) { + return frame.getglobal("Py").__getattr__("findClassEx").__call__(frame.getlocal(0), s$3); + } + + private static PyObject reportPublicPlainClasses$5(PyFrame frame) { + frame.setlocal(1, frame.getglobal("sys").__getattr__("packageManager").__getattr__("doDir").__call__(frame.getlocal(0), i$1, i$2)); + frame.getlocal(1).invoke("remove", s$4); + return frame.getglobal("string").__getattr__("join").__call__(frame.getlocal(1), s$5); + } + + private static PyObject openResource$6(PyFrame frame) { + // global _path_vfs + if (frame.getglobal("_path_vfs").__not__().__nonzero__()) { + frame.setglobal("_path_vfs", frame.getglobal("PathVFS").__call__(frame.getglobal("sys").__getattr__("registry"))); + } + return frame.getglobal("_path_vfs").invoke("open", frame.getlocal(0)); + } + + private static PyObject listAllClasses$7(PyFrame frame) { + // global _ypm + frame.setlocal(1, frame.getglobal("sys").__getattr__("packageManager").__getattr__("doDir").__call__(frame.getlocal(0), i$1, i$2)); + frame.getlocal(1).invoke("remove", s$4); + if (frame.getglobal("_ypm")._is(frame.getglobal("None")).__nonzero__()) { + frame.setglobal("_ypm", frame.getglobal("YaPM").__call__(frame.getglobal("sys").__getattr__("registry"))); + } + frame.setlocal(3, frame.getglobal("_ypm").invoke("lookupName", frame.getlocal(0).__getattr__("__name__"))); + frame.setlocal(2, frame.getglobal("_ypm").invoke("doDir", new PyObject[] {frame.getlocal(3), i$1, i$2})); + frame.getlocal(2).invoke("remove", s$4); + frame.getlocal(1).invoke("extend", frame.getlocal(2)); + return frame.getlocal(1); + } + + private static PyObject main$8(PyFrame frame) { + frame.setglobal("__file__", s$6); + + PyObject[] imp_accu; + // Code + frame.setlocal("lookup", new PyFunction(frame.f_globals, new PyObject[] {}, c$0_lookup)); + imp_accu = org.python.core.imp.importFrom("java.util.zip", new String[] {"ZipFile"}, frame); + frame.setlocal("ZipFile", imp_accu[0]); + imp_accu = null; + frame.setlocal("zipfiles", new PyDictionary(new PyObject[] {})); + frame.setlocal("getzip", new PyFunction(frame.f_globals, new PyObject[] {}, c$1_getzip)); + frame.setlocal("closezips", new PyFunction(frame.f_globals, new PyObject[] {}, c$2_closezips)); + frame.setlocal("sys", org.python.core.imp.importOne("sys", frame)); + frame.setlocal("string", org.python.core.imp.importOne("string", frame)); + imp_accu = org.python.core.imp.importFrom("org.python.core", new String[] {"Py"}, frame); + frame.setlocal("Py", imp_accu[0]); + imp_accu = null; + imp_accu = org.python.core.imp.importFrom("yapm", new String[] {"YaPM"}, frame); + frame.setlocal("YaPM", imp_accu[0]); + imp_accu = null; + imp_accu = org.python.core.imp.importFrom("PathVFS", new String[] {"PathVFS"}, frame); + frame.setlocal("PathVFS", imp_accu[0]); + imp_accu = null; + frame.setlocal("findClass", new PyFunction(frame.f_globals, new PyObject[] {}, c$3_findClass)); + frame.setlocal("reportPublicPlainClasses", new PyFunction(frame.f_globals, new PyObject[] {}, c$4_reportPublicPlainClasses)); + frame.setlocal("_path_vfs", frame.getname("None")); + frame.setlocal("openResource", new PyFunction(frame.f_globals, new PyObject[] {}, c$5_openResource)); + frame.setlocal("_ypm", frame.getname("None")); + frame.setlocal("listAllClasses", new PyFunction(frame.f_globals, new PyObject[] {}, c$6_listAllClasses)); + return Py.None; + } + + } + public static void moduleDictInit(PyObject dict) { + dict.__setitem__("__name__", new PyString("util")); + Py.runCode(new _PyInner().getMain(), dict, dict); + } + + public static void main(String[] args) throws java.lang.Exception { + String[] newargs = new String[args.length+1]; + newargs[0] = "util"; + System.arraycopy(args, 0, newargs, 1, args.length); + Py.runMain(util._PyInner.class, newargs, util.jpy$packages, util.jpy$mainProperties, "", new String[] {"string", "random", "util", "traceback", "sre_compile", "atexit", "sre", "sre_constants", "StringIO", "javaos", "socket", "yapm", "calendar", "repr", "copy_reg", "SocketServer", "server", "re", "linecache", "javapath", "UserDict", "copy", "threading", "stat", "PathVFS", "sre_parse"}); + } + +} diff --git a/server/jpywork/yapm$YaPM.class b/server/jpywork/yapm$YaPM.class new file mode 100644 index 0000000000000000000000000000000000000000..2bf82f582fffd4c8f7259ccf03fb494038224515 GIT binary patch literal 6800 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 I!GkFM9~1vR_W%F@ literal 0 HcmV?d00001 diff --git a/server/jpywork/yapm$_PyInner.class b/server/jpywork/yapm$_PyInner.class new file mode 100644 index 0000000000000000000000000000000000000000..2a144377ef32a89fc8d74c3246800a32cdc6664d GIT binary patch literal 6645 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 literal 0 HcmV?d00001 diff --git a/server/serverprj.e3p b/server/serverprj.e3p new file mode 100644 index 00000000..cc32de40 --- /dev/null +++ b/server/serverprj.e3p @@ -0,0 +1,39 @@ + + + + + + + Python + Qt + + 0.1 + + + + + den.py + + + server.py + + + + + + + + + + + + None + + + + + + + + + diff --git a/server/serverprj.e3t b/server/serverprj.e3t new file mode 100644 index 00000000..1040c8da --- /dev/null +++ b/server/serverprj.e3t @@ -0,0 +1,6 @@ + + + + + + diff --git a/server/slice/planetlab/acc_file b/server/slice/planetlab/acc_file new file mode 100644 index 00000000..6fdfaca9 --- /dev/null +++ b/server/slice/planetlab/acc_file @@ -0,0 +1,13 @@ +-----BEGIN CERTIFICATE----- +MIIB8zCCAVwCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTA4MDcyMTIxMzEyOFowGjEYMBYGA1UEAxMPR0VO +SSBBY2NvdW50aW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1NiZzJyIz +8uZVHahZQqcmhsxROY8YjjRF/WGow9t8hvaimScO0yH3VUEPolblSM1Juke6M3vG +O7aT7bJCapb7kuoHlrS35k0K/vcOOMXS80gpT8oltKbfJrlt8kmtEXm7F4fh8UiL +m6n/GEY9OPFuvUtQqIFqG8DdBd3SEhi6UQIDAQABo1QwUjBQBgNVHREBAf8ERjBE +hkJodHRwOi8vI2hybjpwbGFuZXRsYWIjdXVpZDoxNjQyMTQ0ODk4NTIwNjUyMzY3 +MjM5NzIxNzQ2MjkyMjIyNjk3MTgwDQYJKoZIhvcNAQEEBQADgYEAUrjefqbA5c69 +KfNh/ENOp0xFnvWn3UReOo2mhYZI2LWyX41g/q/InVogh8aJ7LXHI6wjHL+PGz3n +fU+Bl2fL7GAL0i6Wr1JRbT2YHMJd97C11hWPLg+1Tt3MHwMRf0X8v7I3pRSJOIq3 +si0AZRHgngrWmhf85bKAqS210OWHWOM= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/buaa/buaa.cert b/server/slice/planetlab/buaa/buaa.cert new file mode 100644 index 00000000..183e8d44 --- /dev/null +++ b/server/slice/planetlab/buaa/buaa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRidWFhMB4XDTA4 +MDMyODAzNDUwM1oXDTEzMDMyNzAzNDUwM1owDzENMAsGA1UEAxMEYnVhYTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA4VCO0co+HyKXQnjAUk7yRHCJj+iO0xrr +zkb6rMlCsj2eiBVYn80jS0JHprxaWLpHjH2TBGm6UcSq2OM/iLdoo2PxE9/uGJvD +ovwITLDCz9BRzlpeDC/vp/zEct5ipGJ6nin8cYQU6duY1COK+Fs6HP76mt5NquH8 +qIu23uOvh7ECAwEAATANBgkqhkiG9w0BAQQFAAOBgQDOhqPSG26qaWJL0R2RqiQ9 +Qno20ZYpR/6DNDSnuF2zE7pczSq0htD3g1P0m+SVuDF5P4DcBfRHkjYramdIZ3vK +QMp2DFtfIzvjKa//feaS1QZRIzHTyEpIl5Q+oaWBKRzLOvpIHsWBOkVR0WBhL2/G +N4ZRDn0PuFeBkWSzKkidgw== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/buaa/buaa.pkey b/server/slice/planetlab/buaa/buaa.pkey new file mode 100644 index 00000000..801200a3 --- /dev/null +++ b/server/slice/planetlab/buaa/buaa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDhUI7Ryj4fIpdCeMBSTvJEcImP6I7TGuvORvqsyUKyPZ6IFVif +zSNLQkemvFpYukeMfZMEabpRxKrY4z+It2ijY/ET3+4Ym8Oi/AhMsMLP0FHOWl4M +L++n/MRy3mKkYnqeKfxxhBTp25jUI4r4Wzoc/vqa3k2q4fyoi7be46+HsQIDAQAB +AoGBANLAXGbFSqgq3dtSQWp758a2kSWnvPifpNO0tsMqGhXI52GYveXzpsC9hXHj +moqF62jxCLRHBP14/OmUXphOHjN9cBhzA/5EuERhmDEYohiTfvLN5odpZQNHva1G +mGkXK+0FULT0LnV5VvKJRjw4SXQYYsSvwJaQ1QX59ftcRyoFAkEA85QgIvLQjAf7 +yZmK//gDEWfogIFN4BZAZo91cfB5tOghfusxl8W5yut3Zi+LeLFhbGg4O53v1E0N +D1xIl/Yf2wJBAOzN//+yhAPUL/cgEC1eepYqRXsCQICqju9kbBO1ggPM8YTi5MnH +jIq33I2LtjCzJu7KEs+iAKFEdAenCsQ8gmMCQD2Eo7kv6kvzmDwKc3jCgsPaonYS +MkDuXcWJZfgo7BQsrIkJjbTvU0VUwwsj5u3MnvZqPAmSkgfkje/bNtpqZxECQH26 +ci1krssJod3n3C76dsO79d/1tiGabQGVo/xi5oD2E1Wm0iqAFJKiRCuy/iylMgqe +p5YuQX9eROy7N/Aw4FkCQEjxNglW5hAp/zJh/7b+6MPYw1UeXuxFPsSMLSGkGhL8 +M9z9jQ7julnpLkbvuHY9HbIYci8d9wdmFsZQjqbEceY= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/canarie/canarie.cert b/server/slice/planetlab/canarie/canarie.cert new file mode 100644 index 00000000..52c5e232 --- /dev/null +++ b/server/slice/planetlab/canarie/canarie.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwdjYW5hcmllMB4X +DTA4MDMyODAzNDUwMVoXDTEzMDMyNzAzNDUwMVowEjEQMA4GA1UEAxMHY2FuYXJp +ZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvz94T+dv3wgMD91Hg0k1J24N +lGNQUhSxN/wPCqWJR/+82Y+tZOT/zW7EGLB7HvI5N+zp9+KBQwc6fc+2nseOXfJy +dhY51H7nyKwMIStMgWIdsSnvV8aQLTyBZyi188BKQSB3FkOKWuYUp44xoczYYixP +VBljvAsEzxnrKDHJJSMCAwEAATANBgkqhkiG9w0BAQQFAAOBgQBgUbzWXTa9X0uw +pSaZifNi1OyDu2EkCU7/ZfFFbjnDy4bkCuZ8RnPKCHItzZ69z2HNV4ratEYACptm +MxNMmr1j4w11V2F0YSbS3teVjg9sAFvCjA4gAGry/K4XS2ZfcAQBgdI8JpyiXRRH +eMNuIv8crZ2dr+MGQTdxu9s9pApRKw== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/canarie/canarie.pkey b/server/slice/planetlab/canarie/canarie.pkey new file mode 100644 index 00000000..92d173b5 --- /dev/null +++ b/server/slice/planetlab/canarie/canarie.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC/P3hP52/fCAwP3UeDSTUnbg2UY1BSFLE3/A8KpYlH/7zZj61k +5P/NbsQYsHse8jk37On34oFDBzp9z7aex45d8nJ2FjnUfufIrAwhK0yBYh2xKe9X +xpAtPIFnKLXzwEpBIHcWQ4pa5hSnjjGhzNhiLE9UGWO8CwTPGesoMcklIwIDAQAB +AoGAIZmLD66/jtWhGOBtgflIp2bEZ/+SyvjrscRM+DfhCI87pJWDhyhccME3HodS ++jrgJp0u9egLgbUxZ40ornis4DJx1TysLHf2BudaryNi1WvQCzwXBidqnDtcKg8D +f8BFyX7dj94PBGj4CNpooCicBV686k0sHQcisVsC89ZS+GECQQDzKbqTP0o7X2KS +0qrwM+x7r5ZSePY3uu9Bise3vnbMfXvmUih3Di0uw7UsCw4wpie2kll6eafilevJ +7nIexjxbAkEAyVggFgvQB81Cicf4NUV52XUbgXTRvWsETnb4IMHMdyreeGAZV0sT +b5/hedGs4n7YtAftol+ligu22faZrPC02QJAcJIs8eYm832hIN+uiy0+mbQcH2oo +cnx0Lx+UfhgK33hoV6RJX3SMrk2kHhOwKg2B7R+rlOulMVy+n+lno5+aaQJAI5Ud +ZogD5b0Sq0LZzKBQnmuhxskcX/tPsYY456EYP18mHePt1o2AC9QXhu3VPdno9jgI +eQ+qM7FKSU7ZbcTEUQJBAIA4cJ42sdAWeMNIcyEOeCNCi+e3a2mf/cQ/3yZqmdUK +0JPjUWGMe7KrwoPtTZ430gCYBG0gGilykSEmyJqRvO4= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/canariecalgary/canariecalgary.cert b/server/slice/planetlab/canariecalgary/canariecalgary.cert new file mode 100644 index 00000000..17669433 --- /dev/null +++ b/server/slice/planetlab/canariecalgary/canariecalgary.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOY2FuYXJpZWNh +bGdhcnkwHhcNMDgwMzI4MDM0NTAyWhcNMTMwMzI3MDM0NTAyWjAZMRcwFQYDVQQD +Ew5jYW5hcmllY2FsZ2FyeTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1Cep +VkRrenTVTiAkTPcXEIs0nvdxWuREdxqlk4tNGQBbhMXZd2ETaq7lQ4vrHJ3zhpO0 +ZvSDQhtz6hfLlCvk28MooXJR9uuYMsg/3TAT1eK4cXjDey60R6N5ULrjoetUKb6U +KlTvPGKaawyA16f3HbVCFej5ybest9vRP5opknMCAwEAATANBgkqhkiG9w0BAQQF +AAOBgQBRGrPFJbNB27lwyKhxrm4gtNIzA2CV1elhpizdzI2ShTIGbw/BDDcB/VW0 +GAy/gcv1mrjuREF3hKX5zjMLrAygkA/Uflxu8v/CleW7hhL1KbeJSD7zMPHLB+RS +Q4SmWzRiWsP0odRYSdNO7V6myiqUkSKDnWgW5ChNQNnk0r2mYQ== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/canariecalgary/canariecalgary.pkey b/server/slice/planetlab/canariecalgary/canariecalgary.pkey new file mode 100644 index 00000000..f4d89b8f --- /dev/null +++ b/server/slice/planetlab/canariecalgary/canariecalgary.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDUJ6lWRGt6dNVOICRM9xcQizSe93Fa5ER3GqWTi00ZAFuExdl3 +YRNqruVDi+scnfOGk7Rm9INCG3PqF8uUK+TbwyihclH265gyyD/dMBPV4rhxeMN7 +LrRHo3lQuuOh61QpvpQqVO88YpprDIDXp/cdtUIV6PnJt6y329E/mimScwIDAQAB +AoGACybuktdT4wMDN3EfF2ChuL/oizasob+ADda7v27CJb9MEEWqMclLkP8SlCNl +v4JaC8f14reVssLoq/SGQgqwo/gx9qvfrBNAXHsD72m/igiIL1Qv7ADOKOKX7owu +B9L4qFsbI/X4x5JF5IYA5uO1vjjCGvdXTkNI5U6UoLNEC6ECQQDwaqChL26fQB26 +ZHYk1LfhErwB8PKHZ9JBikzUfYhM+RoBO7J83xIB3Ww4TEAu1T7twUjNhql8nxIP +3wjz/urDAkEA4egSqd+VFdeLeivGVWl9kIfFot6043pnzVN5AVSjBMtSCtCMkXzE +a3qTrkaCLMSwmF2sOpDOJdzuI8k/WfFekQJBAL1MF6ISiNWXVFD43RVu8EGl0Kbu +ouf+1UyJqqj9Fp8U3GbwLD+qHLGfOKCzWS4G9f+aWsqJJ1ZaoYwhnxkPNKUCQQDd +74JOc4JjB/RWHSVnihC66jhHDyaFCR9rf+M0ZHMXZax/RW2kDQBnWvA1Wb3Pv5iC +yBxJGTP9zLQEYlUjxtaRAkEAxyfFtWCzw9+NlrTQL7bUEEhwk0fFPWx/twF5BOPl +scLpbNpO9m1N0IeSQ6YT8Eom6qB/VO1bi/tmzWg+DxMLjA== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/canariehalifax/canariehalifax.cert b/server/slice/planetlab/canariehalifax/canariehalifax.cert new file mode 100644 index 00000000..50fe2e63 --- /dev/null +++ b/server/slice/planetlab/canariehalifax/canariehalifax.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOY2FuYXJpZWhh +bGlmYXgwHhcNMDgwMzI4MDM0NTAyWhcNMTMwMzI3MDM0NTAyWjAZMRcwFQYDVQQD +Ew5jYW5hcmllaGFsaWZheDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAw/Pe +dFh/pNc8k7ewRYdXe2i0aE1PjCKVbz/Lf+23aXbLUo1n+s1uIZ5J6zsN6CQD2LOP +NPgLeFegoR7MnVDX+F2J/Z589YG6aDR4t963D3EGnMEJ8zMR9jvGG/Mm+DWymQPt +pt3kmHDB3cC83FuXvqf4Z61aRlLxIy/K0g3z/dsCAwEAATANBgkqhkiG9w0BAQQF +AAOBgQBgNlJbh33dZq2esZRuURigaeU0K3dG93tL9NlvR64y+xOFOqw2dzUQ2ZT4 +usVjFY34CxQeOws114KDrMxLTUu/tCexNySfCV4htLe/iaUM6EiaBGiv3YZZjSiX +5En6oDXU8gjaL3Xxp8PC6bWhCm71hGEhHI1drt4RzAf9uoOrZg== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/canariehalifax/canariehalifax.pkey b/server/slice/planetlab/canariehalifax/canariehalifax.pkey new file mode 100644 index 00000000..75ec85e2 --- /dev/null +++ b/server/slice/planetlab/canariehalifax/canariehalifax.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDD8950WH+k1zyTt7BFh1d7aLRoTU+MIpVvP8t/7bdpdstSjWf6 +zW4hnknrOw3oJAPYs480+At4V6ChHsydUNf4XYn9nnz1gbpoNHi33rcPcQacwQnz +MxH2O8Yb8yb4NbKZA+2m3eSYcMHdwLzcW5e+p/hnrVpGUvEjL8rSDfP92wIDAQAB +AoGAe5Jh+fsJW/nEIN+ZEO+90nyAMLp4bMYueL7BZYaSwLaCmCfGp9o/FoJM2UQf +jAKSTmlF6UB3c0fHa3QR0y91UfXm1/XXkgWi3SQZy7P1LQnmgYYrpTRMgdaVQiJ2 +8PtnKDUBfTBAqAHu3BnIPhqsanzVsxgCJBVReLEk1rowhIkCQQD6TnRF5ID7U4J/ +r9/IGB+oiirDx3j1VCb8GhJqrxywOWKxZmZSV885mBlNWhB3bSkj7OhiACDu4eh8 +pjQACMNtAkEAyGjo7Ku1JD/YIPRHbjt5+BKgjZbyCY0JHUZpKSuEd0tKc9e1FZhE +t8rthT3eCnF5w6VRdYbnnpXEZ8ZiyCuxZwJARImg6tZjvu2h6QamVurMGGEkzpDa +/Qn61sLo0g964oIEFSE92UQz+Mg9/WEw6xKX1j9zbgos+lwfRapYyL2djQJAPmN6 +b4McxwYhEFE7k3Nsiu+xj6J4AsUnGzf6MNjdSg3kRZ/XPbvDWLwRqTMTVojw8Rkb +/MxceqABHpVB1zLS7QJBAIWbIo6qzu0NF43XJyA3uAQvP3heljxIJsj/I8egXpv5 +kwdoHvNKAAWuw5f9YmBe3AFThen/4JI1U0sV3Xp++J8= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/canariemontreal/canariemontreal.cert b/server/slice/planetlab/canariemontreal/canariemontreal.cert new file mode 100644 index 00000000..07590322 --- /dev/null +++ b/server/slice/planetlab/canariemontreal/canariemontreal.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBozCCAQwCAQAwDQYJKoZIhvcNAQEEBQAwGjEYMBYGA1UEAxMPY2FuYXJpZW1v +bnRyZWFsMB4XDTA4MDMyODAzNDUwMloXDTEzMDMyNzAzNDUwMlowGjEYMBYGA1UE +AxMPY2FuYXJpZW1vbnRyZWFsMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCx +lqju+Bh+Z1noC3wW8tjH3lbxtjHJFzq0VGJ2sgcFt9F9u/CZ4I0TjB9WuCoyVRr2 +MoVOcqmYfCHOsy5mJX4FGD9yWjEndKybbg/pqkvBjYtVXWRjp//PO+nYJ8dzLqxr +nYJufiow15RQVFp4f32xBGxTVvgEHDQ01ccxcXiu1wIDAQABMA0GCSqGSIb3DQEB +BAUAA4GBAJCprpSaYJ8WHV6BK+KS6N1IOKNgYinS5goZatUiWajej8ttSzdZNNiT +A9qJFMR9BMr4p5PMyrymKJN8dhdZZzt0qPLOXO4T/c6MOqZiJ0JiUwarwI6nF8lp +iE7vyDzxKzQ9AOi7lMWk0WgEOruzy7BnQOh/9aQHKaIrOTFEm72P +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/canariemontreal/canariemontreal.pkey b/server/slice/planetlab/canariemontreal/canariemontreal.pkey new file mode 100644 index 00000000..a970d3a0 --- /dev/null +++ b/server/slice/planetlab/canariemontreal/canariemontreal.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCxlqju+Bh+Z1noC3wW8tjH3lbxtjHJFzq0VGJ2sgcFt9F9u/CZ +4I0TjB9WuCoyVRr2MoVOcqmYfCHOsy5mJX4FGD9yWjEndKybbg/pqkvBjYtVXWRj +p//PO+nYJ8dzLqxrnYJufiow15RQVFp4f32xBGxTVvgEHDQ01ccxcXiu1wIDAQAB +AoGBAI7cRUAgYwvktmW+P2/yokN+8HB4Aerj/fytWZxksNN/wU4lj3MqOjM8aMWJ +V6Cv6AWgNK8b/KTHTycJ68yOYqX8f/UPPw53yrWo/r/smJDE84Nw4ln6cUs++ytP +xOe3hj2UzLhYT//lNC2OVBZPLkH40q7Ovu1Uqnbz8fX4uQoxAkEA5j2piUHlPEx9 +qeyyubGLRIBfMC9t5BfkRrMezgJv8UKMieKm/A0YEWCz4b08OhJ8DXmeLF0qENw4 +Qsrv2U5aaQJBAMV0+sLrm8kHAtUvIYn0TcoctR4InjPYHmN9ndaZo4QzbZ8yRFM9 +S1OSUZ986FkSdSXGFIz6k975DID+yBhpFz8CQBJnxYDCcsfSOY127YaoqcBtHq7k +a717J3V7ZjADw90ee8ueAclOZqkk+NxH22OtDJurKDjVrcIxSJIWVPwjJlkCQHPn +T459CEu+/s2uRayZp9O8eB/yBRL/iA70XGLsekwOeAlbUzndH8sldx38DtLB/9u1 +YrjCGWxnmgxaAZA6l7cCQE8thdtJJgO25ob5Yy4xmaOQvr8RpJF3v83UjDAPrxKb +WGLB9/ZopLe6TrLH8UKe0s5/SiCsqyzFFBsHGYjuUMM= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/canarieottawa/canarieottawa.cert b/server/slice/planetlab/canarieottawa/canarieottawa.cert new file mode 100644 index 00000000..b11e1cfa --- /dev/null +++ b/server/slice/planetlab/canarieottawa/canarieottawa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBnzCCAQgCAQAwDQYJKoZIhvcNAQEEBQAwGDEWMBQGA1UEAxMNY2FuYXJpZW90 +dGF3YTAeFw0wODAzMjgwMzQ1MDJaFw0xMzAzMjcwMzQ1MDJaMBgxFjAUBgNVBAMT +DWNhbmFyaWVvdHRhd2EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKJyrS8w +AY2C/wn7AkQpMeYGxQ99QsIXPwMl6Wgd/t5kdUMheyhV3J+C4nHTIz05aRXrc+45 +LTmAnGODza4UEDuRewfAMJRNqOOdXygkJTcVm+kDBPgOKCzzvVYP2t/eCDovBTwy +AtdKVlofCcxb75QPd6Jp1vLEY65st1Z5v+8XAgMBAAEwDQYJKoZIhvcNAQEEBQAD +gYEAeT/8jTRrBu7SLjPlQ9tRUk04DPRorn3vPH+IwtwKr4oWXmIUO3yATvCBfk5x +/DrO9yuVDVXxANd3zriA2xsG+/G1bZLu54spee2Rg5YoaUwnURnS0xke6jd3atGl +0XstmhMrapDfLL3Xie9/3QbqQXlo9VdQPlm7/e2RJpVvXYc= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/canarieottawa/canarieottawa.pkey b/server/slice/planetlab/canarieottawa/canarieottawa.pkey new file mode 100644 index 00000000..3ec0524a --- /dev/null +++ b/server/slice/planetlab/canarieottawa/canarieottawa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCicq0vMAGNgv8J+wJEKTHmBsUPfULCFz8DJeloHf7eZHVDIXso +VdyfguJx0yM9OWkV63PuOS05gJxjg82uFBA7kXsHwDCUTajjnV8oJCU3FZvpAwT4 +Digs871WD9rf3gg6LwU8MgLXSlZaHwnMW++UD3eiadbyxGOubLdWeb/vFwIDAQAB +AoGASqOmLyg/jmXCCTPrtqW255n0sUk8gzFrImco903Q7R37Qvz/OWk6FZBtux7n +8hmOzyOAANUEkoclVBQbTQCq8/hbKKYBFD/HKMDLvW+fDpQkX6l6JZMFliE3UYbz +3Tc+bCHReMG9V2QD/hTZTG1xDdzuKFEs7SXG8Amc66QIngECQQDOMluHFrW6PuR9 +TPt+/YWXv8VVh0O3GDdHv32oE9ukp/ku6aK+hvWOY/QDsiPny0qMGYDlaAellh0o +F4/CbA+pAkEAya86OUpX5z6q/m87GnBYo8kzER1FOzffk+/PtuX+sEyjNXM+94NJ +Gh2jG2prL1WRfN9Pf+Zc82BKHz4zh0ZAvwJBAJ8va0/QLX3afgVqACLa0F8F0u+j +nJhmno7Ke9Tdd80XTJ12C4kxobNK4SBVT7jsTeH48nSoqnagfGPuRLLhP/kCQDBa +++m6gmLmKpdAUfpfz1DNr5m929h75/YPPE0Mzci1RzhMfl9XsdI6It4y4KoDqRM4 +c1YmBEkx3/OntTEMzf8CQQCiSJ+KjC1kwAMTMU5HsC1lT7kgNImJOOk4xmwLnXLy +YL5xVgqbdnEd+hOzvaC2vg/rrJ5pqIYbxL+gIpnk+igw +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/canarietoronto/canarietoronto.cert b/server/slice/planetlab/canarietoronto/canarietoronto.cert new file mode 100644 index 00000000..47111659 --- /dev/null +++ b/server/slice/planetlab/canarietoronto/canarietoronto.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOY2FuYXJpZXRv +cm9udG8wHhcNMDgwMzI4MDM0NTAyWhcNMTMwMzI3MDM0NTAyWjAZMRcwFQYDVQQD +Ew5jYW5hcmlldG9yb250bzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArG6o +uW/kYxKPFe6Np4vVO6x2NX7BkZPni+AzlDRywBps7kpkZhQLmqlDw6uzOZu+VyK7 +rLd5ZRquYmpa9JDWnmCsL2qUaULNusevjqxWDnSy2JfGRaSLa/WRw0pYMiMiNPhf +KhoG1CFiArPO2pVYRaboxeCnKX01nwRZ2OrJfhUCAwEAATANBgkqhkiG9w0BAQQF +AAOBgQCEEdCPjQ54BsxHOWkpmKFMWTvzD/GaXD41G8sNP/++FrIWiWJK3yCdsl2z +1mcT3zFJTgUs0EYVfHgMjQq4Pp2Xf7yPz59K4eqWdp2tH6efAKVi9X5QJ++gUwQe +MPgfPSfZ4Jg4oiFB++o7rBf8ie3QQFRjWn66QJo4sCILRlR3Ww== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/canarietoronto/canarietoronto.pkey b/server/slice/planetlab/canarietoronto/canarietoronto.pkey new file mode 100644 index 00000000..c2c9326d --- /dev/null +++ b/server/slice/planetlab/canarietoronto/canarietoronto.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQCsbqi5b+RjEo8V7o2ni9U7rHY1fsGRk+eL4DOUNHLAGmzuSmRm +FAuaqUPDq7M5m75XIrust3llGq5ialr0kNaeYKwvapRpQs26x6+OrFYOdLLYl8ZF +pItr9ZHDSlgyIyI0+F8qGgbUIWICs87alVhFpujF4KcpfTWfBFnY6sl+FQIDAQAB +AoGAFiiqWho8+VZbOPBNF+jqYB7LmhhN+81MBjerqTIMRQ+gTAcXW97bluaFpNGd +2JthHIWEJK/3U7zYCCGuypsKWV3gkbEY3J6S8/6wHx67TmnM6QQRFoiejNZ+Fr8y +E86sYOoIUkNjw8swGb8M5RDrz2lixNAem3OtN/NWwk7lLMECQQDiXBThZqgdxmFA +AFl1vS8OuNaGKXaggkDlmJl1aChv9oiA6iDhXjaViyjB1/qpK2ovH/A3jVPSeLip +0xwr84H5AkEAwwLZQQ+rpBly5ETTXwL7kp6M5AO2lfedkKTtXUWLGw96a95xP0jE ++Ng4oD0l5q1dKgZKWz4UlEjq9PrseoUj/QJBAM0J49AYkQgHfmfe6SoBZ/LJ82gr +fsz9r5NJmxgCdT6V7if37Di4gnELUKvl26QJM3HkWE+5sMfhmkQaelZFiOECQQCb +Zmy8RQGRblo4/4O1Bgp1x3Ucyry4ey8LsfIZTq7QbKAwz31NYe7dImjVgITwcxx3 +vbWJSkpZ9FWPzVmfNPP9AkEAkbJY46ht9kI4r/C1ZKW8JYBWUO1mcJr0qhBY0dES +WMZJl7U3VLqZ/C0dZBdga3no0z7SVWhIl591N0NhuW6MHA== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/canariewinnipeg/canariewinnipeg.cert b/server/slice/planetlab/canariewinnipeg/canariewinnipeg.cert new file mode 100644 index 00000000..16e0335d --- /dev/null +++ b/server/slice/planetlab/canariewinnipeg/canariewinnipeg.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBozCCAQwCAQAwDQYJKoZIhvcNAQEEBQAwGjEYMBYGA1UEAxMPY2FuYXJpZXdp +bm5pcGVnMB4XDTA4MDMyODAzNDUwM1oXDTEzMDMyNzAzNDUwM1owGjEYMBYGA1UE +AxMPY2FuYXJpZXdpbm5pcGVnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDr +Pxqj5/UUVIe0ro/xVJfHzUOb4BlY59sZ+XPhtQ+kZQ7O1XVf5aya1hSCjTEqSCGH +hr+4wQlYxbCe6dNObjkgb0zhKE+12tLZ7zmUrjw3VDOGvhTWkZFtOdC2lKBCn5AT +hDLNdGkm1qF4t/Z18snCuvVnOWhAJm9t1VFgOhJ/iQIDAQABMA0GCSqGSIb3DQEB +BAUAA4GBAJg3lMom6NBliLg85zM0hhRnMYZoG6aQBe9HiAVyRdKshNbDUtrALqJd +XfDg+TdKGacWWlh1CM3muqlJP+lKGnJr8m0WvSfENeCdyLFbhP+UGjGwADOcWIdI +t/IcLZv2RIEKl8AEu+GWv9KEMKU3Y4bn+rOuDcJUJWNJvRrVNZDD +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/canariewinnipeg/canariewinnipeg.pkey b/server/slice/planetlab/canariewinnipeg/canariewinnipeg.pkey new file mode 100644 index 00000000..b8fb8eac --- /dev/null +++ b/server/slice/planetlab/canariewinnipeg/canariewinnipeg.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDrPxqj5/UUVIe0ro/xVJfHzUOb4BlY59sZ+XPhtQ+kZQ7O1XVf +5aya1hSCjTEqSCGHhr+4wQlYxbCe6dNObjkgb0zhKE+12tLZ7zmUrjw3VDOGvhTW +kZFtOdC2lKBCn5AThDLNdGkm1qF4t/Z18snCuvVnOWhAJm9t1VFgOhJ/iQIDAQAB +AoGAKj+pDyrHbyFHRgHbxCHHKJEKxWHX64moZd/RGgYkiwfDQw4/CDv9Zclw4Ylt +/QP7UZW3tPymKxVGBSRFWN6ez4ZHJM4NIHAjxbpjuyUw0zBTM7Ed3CdtQQeOXdrP +bzL4EW9ABLmvQrKKyXW5+WxN8EPkg+68R+kjddsmx0bKpmkCQQD3k4M0MGKOwOjU +ppl0ueRiu6GFdZziRgMbgn4lWgG1x0V8GaD/M8xqpG7e9ETfzGZdIU/IOemVmkHR +sbj6/isLAkEA80Ax3JcSR6wF795VjhMVzNUdzuz5+N3e2xxLdlZC8u93yP25tc6N +q2xbI4l/G53db5pp72ojHgx7m0u7Tzg8OwJBAIsctzenDGo8WVfL+SROo9caqSrN +qIa4Ylyd2XXxek6DFzchS4a6u10c4jOjO+Qo/UfNRQA0El1+nQdP/qoCEXsCQQDd +rq1CSXNhWgZ3GfqCZiZB7B8kS5dsFFda/ChRij+tQku6InEynTFC/pb4hgAO3QnH +AcR1ahbi9aFYX+YuRiOtAkEA32LWwPtnVx0EJ9jHvzpCw8PEyU7oAZkFGLLbs6iT +4cY3l9NhAvrKVmFyJrlhkBzZA3LAko/NL1UJsGpd00K/dQ== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/canterbury/canterbury.cert b/server/slice/planetlab/canterbury/canterbury.cert new file mode 100644 index 00000000..b89f2301 --- /dev/null +++ b/server/slice/planetlab/canterbury/canterbury.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBmTCCAQICAQAwDQYJKoZIhvcNAQEEBQAwFTETMBEGA1UEAxMKY2FudGVyYnVy +eTAeFw0wODAzMjgwMzQ1MDFaFw0xMzAzMjcwMzQ1MDFaMBUxEzARBgNVBAMTCmNh +bnRlcmJ1cnkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAO8qVycIcPftfVfY +8GUAQAOhsi+06ggwRmn37OzcEQ21+NjDiKMR9xPjRC1wxoSlPPTM4+Cia3V1c7MV +jEXc4UcGzMVnP7LrXG+vjTPOppOI8vTSkj07gKK+gGrti/jNpyY3sXn0hTuK/QU8 +G6fEsZyu9OyLTvD5749YDdpgC5dRAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAVL+m +DcbGwGm9IBg8CxTD8H5m4pPhyNLwVIpaBRRFhxdse3rq742LT/2s6JfdZHKirJZ8 +DfxDJ4yFY6fH9E7y4HOl0eMrAkCd9zSfZqtRWHqXwMrBcVDLGmaWji4lnnSNj+/S +ncxfnBE3P/Zh/1AhqD7fKK9VONfpArlesKgBVVg= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/canterbury/canterbury.pkey b/server/slice/planetlab/canterbury/canterbury.pkey new file mode 100644 index 00000000..4772f728 --- /dev/null +++ b/server/slice/planetlab/canterbury/canterbury.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDvKlcnCHD37X1X2PBlAEADobIvtOoIMEZp9+zs3BENtfjYw4ij +EfcT40QtcMaEpTz0zOPgomt1dXOzFYxF3OFHBszFZz+y61xvr40zzqaTiPL00pI9 +O4CivoBq7Yv4zacmN7F59IU7iv0FPBunxLGcrvTsi07w+e+PWA3aYAuXUQIDAQAB +AoGALvlZ9Mirp4Z1v/NUBAJwkEYKAWS/MqyIp/eSCVOP5el/3tNI2v6EUNuqYGJu +G095EXvMpipAgOl4uAvbaT1g4Xk5Rd3XdEIBI6W3RfyMbWpUaraIlD305l2aRDQ3 +gHXuGkIf1XzT7RUgmPziNthEIBF47VbDXQBaMLp20aKBViECQQD3vjlk93i29Ifi +cLmh7+eOzFr658snq/z6Svo113KvxK2qNe3TVl2ANfZOm8vLmyxLbXzLiiqaKCj0 +jgo/gkSfAkEA9yLuMb+sacIBcJz14eLdKlK7Wtyq6DaR/NZrLdi08ddUbmpfK1Zy +Tpo6adschTM6+i6FPAQGGfKnsDJoC8suDwJAKCwVXHTwgyJFwocq4sJnFvW2LwdV +Hvq5i9CKoB5uf2fyDS6vgNx5TufxJ7AFrN9doGGBofOmkta+RWGe8ctq2wJAY5NZ +cgYOzBX1SpCTqc4k2ra28qdS3XmPXNZwHOriDUd7p3mImwebyvvtaVV1ql2397Hi +0Qm2A6J32lCVB5t4FQJBALEBq6o6T5+bYeiDQRyOyhj8165bgOtlj4z0zlpX1lef +8Kr+YOdQ5gEo0MYb5GLb7SwpwE79KnZxJXTZLBaLJ5c= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/cernetbuaa/cernetbuaa.cert b/server/slice/planetlab/cernetbuaa/cernetbuaa.cert new file mode 100644 index 00000000..6476b0f4 --- /dev/null +++ b/server/slice/planetlab/cernetbuaa/cernetbuaa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBmTCCAQICAQAwDQYJKoZIhvcNAQEEBQAwFTETMBEGA1UEAxMKY2VybmV0YnVh +YTAeFw0wODAzMjgwMzQ1MDNaFw0xMzAzMjcwMzQ1MDNaMBUxEzARBgNVBAMTCmNl +cm5ldGJ1YWEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANJjdorIoXe6W0KI +4nKK06455u6cFfovDVpfct3xcxqCVs4rZVa2pZ3dVjYcxFfuw2Alf9a6l7i/c9ev +HQ60NoB3KNQ0KTRfKdJYFW/eeQ+GbS6JG0UQz7jdmnWbwir0SrKpjx/+gShj24a7 +CAzmf8wUfsDuKVlFU05pns5dd2MPAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEASx+n +VELi295pDGO88OkW78XhRlLDZyeMaLFvuJRsA6enkjQRGRLGghsD4RLrizL484/o +LoNN+pSOW3tdhcro+mY7jJKJhPBQNue37SDQzhRZkpxmTe4RQU7fsbFFnqGPeglZ +pxaoFBA/V5b2y2xj7M8RwT018I+v4hcroSkpanU= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/cernetbuaa/cernetbuaa.pkey b/server/slice/planetlab/cernetbuaa/cernetbuaa.pkey new file mode 100644 index 00000000..d4f87cf7 --- /dev/null +++ b/server/slice/planetlab/cernetbuaa/cernetbuaa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDSY3aKyKF3ultCiOJyitOuOebunBX6Lw1aX3Ld8XMaglbOK2VW +tqWd3VY2HMRX7sNgJX/Wupe4v3PXrx0OtDaAdyjUNCk0XynSWBVv3nkPhm0uiRtF +EM+43Zp1m8Iq9EqyqY8f/oEoY9uGuwgM5n/MFH7A7ilZRVNOaZ7OXXdjDwIDAQAB +AoGAEOooPK42tR6Jecbxlc3tiONk2qg36B5iT3K/FHL2ExqJihfZFOioVhHWfZFA +g+VRVeiN56Cm1BaoZJ3Skz0P6IzBmGyvjwGoz22WZh36DXB9JsJ8fXtZJMPOT2+G +rONzgebtbnSTwhkmORvCLnNWYyc7+UP7UcoU66xM8KHrSNECQQD5jZnUwThYJ51j +erm+7eBQsNWUU7p4pM3U2CiPOhIepOPHYH391C+DuEkBl23XNEIkWacS31H3h3WO +Ac401oFnAkEA19LZrDi5pfFLbndzyPR/sNL5/O4F6ehZhXnMf4eK3COUjyHiedbF +nymX5qjTQ7oxrPG4o1aTKee/VuUbCJ1AGQJAdP/EbZEhX4NDMQ6q4y8Xif0+RUp0 +FHf/4Jhve6cYM7HO8Pz2VPkURccyw0JBxzHDCNPXluuIvGqP3MJP8UnYZQJAUjeK +oKcDYgnn2G889oLd2filLwtlyVOwNr7Nfo+eAHq1b0lTQ2Lj6dwod8A8qwJVRjLX +SbIDYeVc6LdicwekkQJAfJCapdJmp1lrzm56Jp4zwNNEg15N6NX3O/Izf8SmkD0d +RhRV6PyCehD9b7VdUwvoOrv7ToPcBryzBEosP7L5dQ== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/cernetpku/cernetpku.cert b/server/slice/planetlab/cernetpku/cernetpku.cert new file mode 100644 index 00000000..3714b252 --- /dev/null +++ b/server/slice/planetlab/cernetpku/cernetpku.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJY2VybmV0cGt1 +MB4XDTA4MDMyODAzNDUwM1oXDTEzMDMyNzAzNDUwM1owFDESMBAGA1UEAxMJY2Vy +bmV0cGt1MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEhdci06ujwMqKSxSW +UxAUOoe0E/dXA17+1q7BrSX3rORAjpki35f3rfkiLrBKtLCWeTHDwEyuyvx37OZI +FtTSES1akZPGgFd4obraTaVn0DBHjBaXJAESeb+8AAdmixrnD8Qe0wifV+unh2sM +zjR85xpeY9KSC7OI0zXEgQiABwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABCLzSj7 +yljbFHVBmTWRM+Bydeekpr6w9iXPBkh5ncS95dxigPhy9aJ69FtLzC087S6MUeC9 +eJYOQIXaUGGpRV9rBAkRxvlmsxk68U2b+TKEOBv5LTjKug+S8EvhbLnGuXq4eXbh +tor9kBs/l7GNxalnjbWyXV/ndSeLi1GuymbP +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/cernetpku/cernetpku.pkey b/server/slice/planetlab/cernetpku/cernetpku.pkey new file mode 100644 index 00000000..16f5a176 --- /dev/null +++ b/server/slice/planetlab/cernetpku/cernetpku.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDEhdci06ujwMqKSxSWUxAUOoe0E/dXA17+1q7BrSX3rORAjpki +35f3rfkiLrBKtLCWeTHDwEyuyvx37OZIFtTSES1akZPGgFd4obraTaVn0DBHjBaX +JAESeb+8AAdmixrnD8Qe0wifV+unh2sMzjR85xpeY9KSC7OI0zXEgQiABwIDAQAB +AoGBAK/aZAySBIDfv13ImX96jGTNiykkxKtkJNk9GdvNKLBcUVNDRtzh34aOcuSX +isEOtwWvJUzZAsVWdlyJ6/aOF5jgZsJMRIaJpglNEFMczWR0bTHSdLvqsCy6bfJU +uv9dRkDnbMq7DHYVVCZFG6iGX5CgaX5guhJFTz3qhuUj99FhAkEA6fcbeT65TQsa +/OaSQgsW7WUYGXX2yUuXzYbpJWOMhctmAxlBOf0paFDZXIKIAfTi4/bBQgnxDub6 +ylwAtREBcwJBANcH/0c9B7DKRCv494JI9VQTSmjWhN9uiVioc0tP3MdH7xDVUnMR +6prAI6uJha3z5NEIjdf5DatV5CnU3BKp0h0CQQCgib9fRYvOcqVVDT0kdgmIYUrV +BZ2N6AHEtCK8Vf9xOuzHiYe5K55DBt7u3F5IwWkCNSnMj5fJuvIw8kpF8+JDAkA3 +1lHJs+VdWQieyoWrBTr/XAsEckAKrO9pYESgF9rivKEto9dHHi3nhWE91/Yol56h +UTFUFc4g4arf2fBTwFlZAkAmEzkMzLCHfT7ARAkYENw8XjWoyVWsYPcQHDjf7ce4 +qympaYbES7zJAhzmkMqDiSyP+bWgKg5+3O0XYlECoOW8 +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/cernetsdu/cernetsdu.cert b/server/slice/planetlab/cernetsdu/cernetsdu.cert new file mode 100644 index 00000000..3d5f0551 --- /dev/null +++ b/server/slice/planetlab/cernetsdu/cernetsdu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJY2VybmV0c2R1 +MB4XDTA4MDMyODAzNDUwM1oXDTEzMDMyNzAzNDUwM1owFDESMBAGA1UEAxMJY2Vy +bmV0c2R1MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC44c5N04HClzJ2lk/R +FU6cD6HwEulR2q9q4KyKLDii6oWCkk5iQVG69HD1VkOjlGj/M16S+8X6mQsaZ4fx +VW0BoNhG04AQqqP8yN6+WZD+odVUQ4UZ49w4C0UHhGx7fiTdwjke/cNkTujISZP/ +zo88XUOhs/5CxSqB16eBL1pS4wIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAGCsddSo +VY+R+AqPytBtPXS+haM9peokGiou+CZ27otr1h6fCMMhBcoUDql4DGA72P88xHBS +gDiQ477rHKFydLejuK8IXQ8/5xhfyWcHnKlOmANVUF+UHEvEnUJA6PzPVi2eGths +2OfU1Vz53irEhEYV71zN88irx8BYajrHxbpb +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/cernetsdu/cernetsdu.pkey b/server/slice/planetlab/cernetsdu/cernetsdu.pkey new file mode 100644 index 00000000..d537c834 --- /dev/null +++ b/server/slice/planetlab/cernetsdu/cernetsdu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQC44c5N04HClzJ2lk/RFU6cD6HwEulR2q9q4KyKLDii6oWCkk5i +QVG69HD1VkOjlGj/M16S+8X6mQsaZ4fxVW0BoNhG04AQqqP8yN6+WZD+odVUQ4UZ +49w4C0UHhGx7fiTdwjke/cNkTujISZP/zo88XUOhs/5CxSqB16eBL1pS4wIDAQAB +AoGAJCPn2yjMRciekbXiVmHO4wzfP/nCaEDSZ5cRw1TPoXEsthB5iBVyr5QW/K5n +PHPHbpORGjRjSBBgrkGsvk1PqFvC6MZTgJ2AB26aXuvsW83chnO5G7u/1OVwqbV4 +PB0+ND1oWNsCoXCumLPu8TyNTmp9RZRa9JwoTtZsPAW9w6kCQQDdDhaFJRfnoGY3 +c6Fwrx7X9gZVQ5XGHIYV3ZgziXwLcNP18PKXK1MEfP5yck6XdqeM4HL+sup3BA7l +JfqhDK+1AkEA1hvT67bvEe7tYXvJwVnGzj3v05uMsRImwLfXvlqQO+yKQV6b4Lgm +pWbx5TTkcPm1XsBXTP5FmV4AWeVKfOwnNwJBAKg9q6gkRiBU9NbpW4qezdPB/Kny +KVDBrs9/evJmhhFTCw9ZFdk18RYuZ54FH4mplfXjccIlu8tfPFLs5+ag+C0CQQCA +VXm2xZWSmDWswrfxrtAc+r7vhULVN94Gkas9K6dcY7GS8RRZo8d2SLgg/I0YsnPl +8T/ipF4vSUrIl0kIi7wNAkEAjZ6fASbCmUab5/R245nh+xaWTdNDeEbPlhxo6BrX +5KcMly0BhpzPXCa4JIti59NvBffPRkqpBv4aDxPcGZYJpQ== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/cernetxjtu/cernetxjtu.cert b/server/slice/planetlab/cernetxjtu/cernetxjtu.cert new file mode 100644 index 00000000..3270525f --- /dev/null +++ b/server/slice/planetlab/cernetxjtu/cernetxjtu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBmTCCAQICAQAwDQYJKoZIhvcNAQEEBQAwFTETMBEGA1UEAxMKY2VybmV0eGp0 +dTAeFw0wODAzMjgwMzQ1MDNaFw0xMzAzMjcwMzQ1MDNaMBUxEzARBgNVBAMTCmNl +cm5ldHhqdHUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOExNZlI90LahaxC +XdPwAxFWHBJhNHcTPM0i5pxk+Z7+6wMT4FKVUmL84WbN3IBPMgv9UkTCBtlKR+4K +N5lpFyHN/TCcQu+Nl8+s1rT0P3cZxdlEMRGmDjQhr91f0rhWv0YQ1OEGjgu/PJLO +MWoAmNlkzlmyDUMWkR9VKmQkB/iNAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAdFkA +Z1i4TrfgAi55OXZGIuhDZIh6epp1T/ev6sgLc9WxpMxi+U5qtTsbabmPMnBlU1i/ +2sZcBVM8CatKbsPerHhCmqhDoEKDo4iX00uBKpzajcY5LJ/7fWBqP+gMAA9Ibz6o +T4mSELr8TcRdFeBiw1ZIb1K8f/E9sHUv41N0WHg= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/cernetxjtu/cernetxjtu.pkey b/server/slice/planetlab/cernetxjtu/cernetxjtu.pkey new file mode 100644 index 00000000..38d8b06c --- /dev/null +++ b/server/slice/planetlab/cernetxjtu/cernetxjtu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDhMTWZSPdC2oWsQl3T8AMRVhwSYTR3EzzNIuacZPme/usDE+BS +lVJi/OFmzdyATzIL/VJEwgbZSkfuCjeZaRchzf0wnELvjZfPrNa09D93GcXZRDER +pg40Ia/dX9K4Vr9GENThBo4LvzySzjFqAJjZZM5Zsg1DFpEfVSpkJAf4jQIDAQAB +AoGAW5iphYThVicOUifYhFlO1iFhX7R8I6cGhyYYCSslQZ/Mtb7C8rRcA3l6sVcw +xlvwLmJGsUL+iCmnolIzlUnipxEEK3bf1gsWETuSUGtRVLAJuoTacCBdXTrj1Xx0 +v5aYGi3bYI8wPWX14HFb4nrP3tsBYwIenEa00x+LDqmdtn0CQQD1aRKQ5Wn7RjDL +pIqwJQEqpnjGkT+qn+8WrBtRit1CPqyq+So+ZEIBpSGS/gKvYQm3254PF7W6F3nM +gm8S/b+3AkEA6ujL1pJ0+jyulbeJ0ImXlMTeTOMVTfBrgxsIg4SKLVSPUIr0TlNn +ZiY0K4jMniEBk5LNu/hmj2RRpNS6C/TB2wJAW/AJLI9FrQUWsrPp4SN71GaZSIqR +t3JDN9MySNIlIfQo68R8tvMIZ2VdtpvClcFcyqxUAoN3aUfyMVOMGSlG8QJBAK77 +biuNuRlV7m6T41K1y3YEF9uKJCqEdnGYx4TAS/VsUb0bZNSbiCAtQRtUsabwyy3U +YvAsHqmdfrubwmJ5lZUCQBfsf/SWv4UoRFszrctfe2dl0HMeWtGLxngo5Y8XmZh4 +7XeGEHo2+wYnOvDNGeQI4zY7fTnE16ezRBw/wJTLQbs= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/cernetxmu/cernetxmu.cert b/server/slice/planetlab/cernetxmu/cernetxmu.cert new file mode 100644 index 00000000..6a34eed5 --- /dev/null +++ b/server/slice/planetlab/cernetxmu/cernetxmu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJY2VybmV0eG11 +MB4XDTA4MDMyODAzNDUwNVoXDTEzMDMyNzAzNDUwNVowFDESMBAGA1UEAxMJY2Vy +bmV0eG11MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDD8psPzBMWvcOOosJo +aOvXTeJDv3MbkAzzlnk639mC+1nulhSotMhR4cKxvo0LxnN7J+bKS5uVEdYPcsgc +c7oSEas0q1VXdAwtwNv/nE4YA2vvsLAxOjJ1RrBbyTz19PqVKJ2oyWTBLa4EiPU/ +T+nrph/FT60hRwuof2p1DL5SSwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAFAx1Ppt +Kw0wvgs2KwdZgtYU1tY6XFk5+rspMMUD2ztFMIwGFwMj/doPW7yW3zt9nKYEbL2F +/TM/cEIYQRLpTXNHwM6jmSMjte2VHMaRIwG5Wm2yINsKc8vqatsrcPsyvSR2nL3Z +axhpVU84FBvVvrca1ZrwC3aE+a9I3Cw+DqYb +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/cernetxmu/cernetxmu.pkey b/server/slice/planetlab/cernetxmu/cernetxmu.pkey new file mode 100644 index 00000000..6d2fa06a --- /dev/null +++ b/server/slice/planetlab/cernetxmu/cernetxmu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDD8psPzBMWvcOOosJoaOvXTeJDv3MbkAzzlnk639mC+1nulhSo +tMhR4cKxvo0LxnN7J+bKS5uVEdYPcsgcc7oSEas0q1VXdAwtwNv/nE4YA2vvsLAx +OjJ1RrBbyTz19PqVKJ2oyWTBLa4EiPU/T+nrph/FT60hRwuof2p1DL5SSwIDAQAB +AoGBAKT/25bXz5MsxEmNwIrPHxk0Gj3WLwWcrWtI4Fi1OqHTKg2AD3Fome5pXtrx +jC/IMmIYXX0nYaGLXWewzdU3lgw7xgG2xGS8D65rSuzwtPhV4EoHCq0qayZUULKd +h+O2VyQH99ksnUtABtwVy22xiVwuJgCcssclXXK0CZkj9AWhAkEA5c/kS2QOdDTZ +MnPve///yaUZP1tBYKOVT21uz9wYvzQHgzYNLWCSIKEuulXCbifAjoGSzR6p12fT +Imvc/Hy26QJBANpG0TX4OimGI4c/RI5ndH93z38uHjSbrxWFRCygSkJe62Rsla3H +71gUGV+p7XjEVzNnY+t7JEw+I91JDS2dZxMCQQCJOGT8jzYCNTwrYAZzaBx3btlw +dzDGX2bcEl/ERYuRP6PsuO2NVshqK1QXdvWtiJb1gHEDgXewYxIyz20YZe9hAkB2 +e3ZYq1M28v8aDPezrOiJwIk7adcvi0pwjhRBfQiSGl//9QkSebKrxs03JlAm+7yx +xG9yhTdgw2JIXbzvg79NAkEAhgM4QHRh37xGpSkJkKNqLm+FbmdMAqhFdHivrqY+ +Rkqcn/m5Kbvtk6tQEl+blHSsWUsBqUXS3SMvhw/ANnDSqw== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/cernetzju/cernetzju.cert b/server/slice/planetlab/cernetzju/cernetzju.cert new file mode 100644 index 00000000..346db906 --- /dev/null +++ b/server/slice/planetlab/cernetzju/cernetzju.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJY2VybmV0emp1 +MB4XDTA4MDMyODAzNDUwNFoXDTEzMDMyNzAzNDUwNFowFDESMBAGA1UEAxMJY2Vy +bmV0emp1MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDFUVtL3Es5IfPJRRMc +D5fwwACWSahzbos9IPQCdRigrvoK94RSEllAKJModSetdgGR+4mLoVoNu9m75Aqn +HYz+2znyJ/wIAz6QlL9kw0CbvD7uZlgYpkR1vacMQAYHLlnFg9DU8XkuMbdolvb/ +LbkN5z0sXRxGHiklTncXZ3NsMwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAMNRJVJX +7e6kVq3VXIYLfsK7Fq37Dkz+e7QHII4lNL95My+6/+pFpFDJEM1usEU31Q5Urin9 +P3sAEURmDTC1zoQ0TJUXzBrodeXIs8RsKxwCD+gane1LVJaCrO6N0LRmXUhqv3Cd +xm4eQkW/5Dp5u6xCGejVQ4LxgJi9afWWitdE +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/cernetzju/cernetzju.pkey b/server/slice/planetlab/cernetzju/cernetzju.pkey new file mode 100644 index 00000000..546a58bf --- /dev/null +++ b/server/slice/planetlab/cernetzju/cernetzju.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDFUVtL3Es5IfPJRRMcD5fwwACWSahzbos9IPQCdRigrvoK94RS +EllAKJModSetdgGR+4mLoVoNu9m75AqnHYz+2znyJ/wIAz6QlL9kw0CbvD7uZlgY +pkR1vacMQAYHLlnFg9DU8XkuMbdolvb/LbkN5z0sXRxGHiklTncXZ3NsMwIDAQAB +AoGAGKGYSPb9+OrRGN3jjcwwhmAhcqFNQuOYxA+6BhiB84UEN5xAS1J5C7ZE8Hb3 +dgLWHVgOCn0g1bgObRMBdW0N7YYVWeRUCxipZLNFRp6nslXthV30K1wCi8YiAqOW +KibAqF08i+HfkSuIe2wG0odEiNcD0VmQf/UGYlg2678y5aECQQD6bm3FhAqPrZS6 +Y+VrI4/8VLp6QALprXgILoKZJSvYwTh/rjw9BXuR3JR/Mm0dCK/pi6r9uRg8Othc +oYTzjeeDAkEAybSUsqQRNLd2LxjRTNajnyAUFVn54ZR2kZXtlHQYCyB6zrjzcEir +fJl9/hnK64MVkGasuzv0OenQcj+XNJKZkQJBAJe1yj47rYI4776ywcrT8mg0k/t3 +R8x0UCD0vB02jYd0FlwTG18EMUW90R/1VnCeUKM0/1NRjEMAiw4isz4wmy0CQEas +ikmJqSmyequH45Yrwsr3n3HXw/FhZqYeRU912hLT/5O9RDb8j3GqCnZlLS+WD5E4 +GJ/GIw3DujC9zUozb7ECQQCKvqRHYuSvufmldVB5db8TPL0os+aRhZ++zE9xbvlq +sUfw5aLJe1FN9kuD9z2UYNg8mRJ8L5pkPOeYo7gz0xjw +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/cred_file b/server/slice/planetlab/cred_file new file mode 100644 index 00000000..c856f36e --- /dev/null +++ b/server/slice/planetlab/cred_file @@ -0,0 +1,14 @@ +-----BEGIN CERTIFICATE----- +MIICEzCCAXwCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTA4MDUwODE5NDQ0OFowHzEdMBsGA1UEAxMUUmVn +aXN0cnkgY3JlZGVudGlhbHMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALU2 +JnMnIjPy5lUdqFlCpyaGzFE5jxiONEX9YajD23yG9qKZJw7TIfdVQQ+iVuVIzUm6 +R7oze8Y7tpPtskJqlvuS6geWtLfmTQr+9w44xdLzSClPyiW0pt8muW3ySa0RebsX +h+HxSIubqf8YRj048W69S1CogWobwN0F3dISGLpRAgMBAAGjbzBtMGsGA1UdEQEB +/wRhMF+GXWh0dHA6Ly8jY3JlZGVudGlhbF9zZXQ6KDAtMCkoMS0wKSgyLTApKDMt +MCkoNC0wKSg1LTApKDYtMCkoNy0wKSg4LTApKDktMCkjMDpyZWc6c2xjOnBsYW5l +dGxhYjANBgkqhkiG9w0BAQQFAAOBgQBCYwXvYXbMiAi8hiZNFboYE812F0CT1T7U +PRQemorQcU/7SNZh8wOqGSsHSdA9XW5sC01skkxdOrkxTjGA+Nb1BL+vIFLe7wdp +26lQIA3239E9TUSXQlU9TqdALAC1OsmKgN+kbVfqIQ8U2eqAcUawm4h9/8TEV9xG +teVEYDdXpA== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/equinixsi/equinixsi.cert b/server/slice/planetlab/equinixsi/equinixsi.cert new file mode 100644 index 00000000..993ca31a --- /dev/null +++ b/server/slice/planetlab/equinixsi/equinixsi.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJZXF1aW5peHNp +MB4XDTA4MDMyODAzNDUwMloXDTEzMDMyNzAzNDUwMlowFDESMBAGA1UEAxMJZXF1 +aW5peHNpMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5noA3K38D7wLVSLdi +8iXGec4zu8gyqBJ9JzI/2+YMMO4hUFAfRrRH7h/+C8PgSne+O8SwcsRQRGQ3tZl/ +69+VS/xZBz86oyBh1EohoJOLSYxZPDsbasBFtynNGAWCh8AZTy7HwqpUz0d1NzVR +WGRXz6z/GEryWz5s4SSfzkEKLwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAB/zQzz4 +5dzGskD++FopMQQXPDXhPW99XL6MzBn8lUy0+qRI3RJ408JAXW2wX9ZY/FHq+oEZ +kk8SXAbRO8XUaqc8FYbPlAZK4V84gHhX02D/bSV9Ovl21Ht6DHPQxOB/91AGJD0v +Yi8t9GJO5c+QgOHazsHTor8wJFcXddbcKZu+ +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/equinixsi/equinixsi.pkey b/server/slice/planetlab/equinixsi/equinixsi.pkey new file mode 100644 index 00000000..2e5bb5fd --- /dev/null +++ b/server/slice/planetlab/equinixsi/equinixsi.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQC5noA3K38D7wLVSLdi8iXGec4zu8gyqBJ9JzI/2+YMMO4hUFAf +RrRH7h/+C8PgSne+O8SwcsRQRGQ3tZl/69+VS/xZBz86oyBh1EohoJOLSYxZPDsb +asBFtynNGAWCh8AZTy7HwqpUz0d1NzVRWGRXz6z/GEryWz5s4SSfzkEKLwIDAQAB +AoGAcwqjWI4iuKNn1ByvXCnL88kGXdXibFLyspKaeC2n1KJ21DrcjaXakkIpneBY +1CgTMtoEO3/F4CGjI0vwCPJ9rRGYMEWKUtFYKT2ylktoDWx565v8dD5dcgcUy+Q7 +p5Pg/Fy0z9Q+5+kBe97XzJQAhmfSIIhD4CWjmQSPk/9THgECQQDoe9pjeZijCsWH +uAyvXdAxbhhtDOHVth1680qyyD7A/eKoslSdw/w19tsC0UAq1QyaMo33x1fX4jpN +u1xY9nKBAkEAzGUXeubrx+v/NqBACiQQznuBmdJ4ScNZ29cx54rqDiBCfRVFvvgX +4lQJvxapc1xUBI3QXqsBRjBAY+K5Yx7ErwJAUosvBiS1SiZX7hEuB9HSSsqhR47M +XFnV68KYIhQxG8rJAEaY/o8IbIyiRETReKO+Xr1WZMRVbyQ2uUStzDRsgQJAH5lx +a9rPkPT3W+aif+7belC11KYpWp4NAmPen0FmthBetx/WzJNmfeMoLpa+U8tuYdXa +5QfjBornKYofxyc2mQJAQbPkxWIwdL/D0t6W0AZ8/axatRZsBctyqbuwIwt77DE2 +gAmx4g3MwZfaKjDeuc38C9gI7qry4Cn6JyKZhPRoDA== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/aston/aston.cert b/server/slice/planetlab/eu/aston/aston.cert new file mode 100644 index 00000000..49b5be87 --- /dev/null +++ b/server/slice/planetlab/eu/aston/aston.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVhc3RvbjAeFw0w +ODAzMjgwMzQ0NTlaFw0xMzAzMjcwMzQ0NTlaMBAxDjAMBgNVBAMTBWFzdG9uMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDL1aMOqDQJSqqDNr6Bgy/Nv3rxgk1o +FSIS0TtlTAD2/p1QP0r1+/tZL5pyVWgnWr7trhtq3tBbG2DEcOWfewfmA7dseeMR +ZruBMis+NACyjl5HvWKOdoEk+J3KQNUQHZg2hlqoqEra55jzhEjOoQ6EEdB9TD/c +5ho8GmiaW4isTQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAA1jnFA5DJGUW1w1R32u +71vHaZ4QHnfCNO/iz9/0mbQj4HmxzZ0UasVsTZvQDrr9Hb90VyiPQfdxaXc2eyIK +d5SYw6MaJVr39O2tfnCJDD6kJbTmpw/0SJRT5jyCf3s9nSkaTBiZBPoHuhnztKbb +xtkHKzUBZZfpqItfz5UiD7pX +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/aston/aston.pkey b/server/slice/planetlab/eu/aston/aston.pkey new file mode 100644 index 00000000..c755dd6c --- /dev/null +++ b/server/slice/planetlab/eu/aston/aston.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDL1aMOqDQJSqqDNr6Bgy/Nv3rxgk1oFSIS0TtlTAD2/p1QP0r1 ++/tZL5pyVWgnWr7trhtq3tBbG2DEcOWfewfmA7dseeMRZruBMis+NACyjl5HvWKO +doEk+J3KQNUQHZg2hlqoqEra55jzhEjOoQ6EEdB9TD/c5ho8GmiaW4isTQIDAQAB +AoGBAMVAC/bXFuQW+ULY6ynxhYUZUyP68GVUbhC/oTa5ggWDB0DsvuGj4uu/gTo7 +I/tReYoP/kBBNmez6sSua8cVC+HzrKZ1iqUU0mfPZ1DFYPQKx/7Aw2hiswdlY7Lb +4mLVgUjnaMaxQ1/0+i/TcARDF32oXLE2CsbdSCQneMQKZ8UBAkEA8t9+txw4l9oD +tg7H5K9eB6VMi0iE09FjLLYoH5yet55bNSXYbnA9zty4uEJkGw+C74Z0iI2zVG1X +GcMyPe1wUQJBANbZ/KOPupm6q/69DYRyw3PdD+RpuzRL5lFbnIM1HzrpzCtN2Qy/ +uaAxvUj3SchC+jlSDXfXLqenj3oceL/tGT0CQFdu3+Y5kaIRCS78STfpbfdgqZqm +w7KheYt6FB21O2os5vbOJgkz/PxAd3tV40XeoqtqAv+5y2pEZovOuoKSvNECQHCY +Eo8A3rB7pHE+UBwuLIHGwvJX+pRghlXypaYZK8GrDqVPCcVloHj0OBdKCO+bMhji +CE7ahQe1hzpeO2WRcp0CQE5n0HV8AtxczrgCEkTYjLR4DGBFBYr8kH66Ug2D/jkU +U7p1X2dGe9mEU8Mld79ZtITFYjMb68u+KGsIRxkHYrs= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/bamberg/bamberg.cert b/server/slice/planetlab/eu/bamberg/bamberg.cert new file mode 100644 index 00000000..ed3beec3 --- /dev/null +++ b/server/slice/planetlab/eu/bamberg/bamberg.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwdiYW1iZXJnMB4X +DTA4MDMyODAzNDQ1OFoXDTEzMDMyNzAzNDQ1OFowEjEQMA4GA1UEAxMHYmFtYmVy +ZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEApTBVBhxkCS1GK9sHrS4ACcd/ +9DAmruOZIyiDRdQ64fXXEeWWKCmgyNVj0YEkxxYj7Gk3Pa9mpIIL/a6QJXQQp1lv +9cbJxwRzimJxdOjojqQaXInWGNVyy0oPVCbllC33RPeuyDndpJFmt8wqADRgsTIu +kZAa3P8zKMtcEjZGuhsCAwEAATANBgkqhkiG9w0BAQQFAAOBgQBcfbxWo0sFATos +LYDKyoLQm/XgJM/FuxyMPPUody7N+wax13kp4rt9Xv8VpIbzaUBO3KHYv5+08t2O +SwY+gOe8pFCIKikP8T/799saKAIsMX6fMKEhvG4DKcA6LmDF8s2kHKwIIkNRNmez +AP5vH7OVXnmtp8FivsLZabmwpiS2JA== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/bamberg/bamberg.pkey b/server/slice/planetlab/eu/bamberg/bamberg.pkey new file mode 100644 index 00000000..6f04ae9c --- /dev/null +++ b/server/slice/planetlab/eu/bamberg/bamberg.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQClMFUGHGQJLUYr2wetLgAJx3/0MCau45kjKINF1Drh9dcR5ZYo +KaDI1WPRgSTHFiPsaTc9r2akggv9rpAldBCnWW/1xsnHBHOKYnF06OiOpBpcidYY +1XLLSg9UJuWULfdE967IOd2kkWa3zCoANGCxMi6RkBrc/zMoy1wSNka6GwIDAQAB +AoGAHxF2DE4uqmMvfXQWf4XVUAGLmTutKtt3o9ssxWdjI7h/GMibczZRHTS1L2Qg +rKkHXKF1WE6y+WHUK4Q3bDPmJaYaK6dKRbKP9IVTaMetTFspvw/yMP9ACcj0osfa +9UrLRedtq0DI0fD/lWMbBbsaS49f/jFqyxiiW3GdIIPzjLECQQDQdjAsxMmQB4bD +6L70iLyAEDGSND6Dp8mIMCfyGNLSNON9mthSzSthSAGOPjHI4XiIpvJEv77DtLO0 +V/akGBkNAkEAytvpNgne/WwTIMH9YLRPFAD7tAYF/N4NKOC3DuwiZZeU+D0BFwoa +XCkMAQSBErqwtuoTp7dnxFUKy1JSS8YFxwJBAKOiYqaBwobgoZTe+iYRv4X3MDJH ++Fp4NuZEhtavTa3b/kb2aaB1lPvD/hSeFY5ODsOV6M62hRQyoG2MLvsYP3ECQE8o +Mr9QaMAQvQIKUHm8wiK3I4Ci3RFIAHCUBzp+cAmedZXMEDHSUmjl53Y6MLeDO9OU +UWkfixE0cgrWq6A/vB8CQGOesDzuFtvxugDzlgdC4eZK4+Z5CfHcoIvMbidwsn6F +F+1Vl3IO1mBmmtNBWrSWZRhHigAm8oeiNxVLmJyrfTg= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/basel/basel.cert b/server/slice/planetlab/eu/basel/basel.cert new file mode 100644 index 00000000..be7da6eb --- /dev/null +++ b/server/slice/planetlab/eu/basel/basel.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwViYXNlbDAeFw0w +ODAzMjgwMzQ0NThaFw0xMzAzMjcwMzQ0NThaMBAxDjAMBgNVBAMTBWJhc2VsMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCltyyxGv6cYHb6LQIwPZ0oZjUhjava +sIPNa8b1PiS+UcBXeOihLyyjSlevwD9EmQvTXhIXQ7Y5IkvzBNy6lBtGlqraUFUA +fzzIcO/F2p0agcyt3b/7bGiYo5g2TEZFuloS8jH55SRYj1Obh0Kn7lCQbz0AqeJa +QJSDsgv26b8oJwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAFVAEyH6H5deeZz+LMpH +fmlB0o3hKzHA/8qN92Gq8NP8ZRmHWMUSPJcOrHoe7K0szUtlXuzzSa4+yay2NfGX +NPROycVS4lz3SCz++w6m8vqseQXlWDXjxfV5ktkqHhwqXeMD0qcGaiuEvKY8++fI +GYAlj9rmziZalMPY3Vq9zd/7 +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/basel/basel.pkey b/server/slice/planetlab/eu/basel/basel.pkey new file mode 100644 index 00000000..6f588e91 --- /dev/null +++ b/server/slice/planetlab/eu/basel/basel.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCltyyxGv6cYHb6LQIwPZ0oZjUhjavasIPNa8b1PiS+UcBXeOih +LyyjSlevwD9EmQvTXhIXQ7Y5IkvzBNy6lBtGlqraUFUAfzzIcO/F2p0agcyt3b/7 +bGiYo5g2TEZFuloS8jH55SRYj1Obh0Kn7lCQbz0AqeJaQJSDsgv26b8oJwIDAQAB +AoGASJz8I1rNyF3opHUGaXcGH0ax71Lxw/DmwCOC2cFyPkb6PhoH7WELcT3JMITP +9FIPwX2N9c3A0kY5+3Hc+pCdZlsh1ZjKoNfhTltkBAoMpvLXFxnn6eS0tsv2RSbN +g3guxNqNWmnJ1dXGR2PHRfGDGicFVZnb5kiBTizmdVONlwECQQDZ7UhitoTpyYpL +aYL4PE/XP2ocpetzMDM8Tbq2PoTWKtneGLd8JkxwHFmH6SrShfJSgGfHNM2ec/15 +mkLKkQCBAkEAwqrA9wEN9Of6IYuUVhMDEHsUVnKYSi1WaXu8G/BuNhkx2I5sjpeD +5I6Q1B3qQG4UD1oBXNR4GXPOobzOkj3UpwJADWCie+TGXe+QPLbaYlCZehYbdmy8 ++lIwIviGiJ9n2hnBS//qa4WSVaN3337xsQCl8miNdk4IfTyTh75vcS3bgQJBAJO1 +fTXvVue+Hc3WW3f0dR7MRWJTEbs3K5peiR2qEfZ6p5fqefS4gxuqEbrh+B1raU08 +vkvx7C9j8CZJXXUZ9YECQFy9MWpJY6jWssfPB9wwwfL1PfxIjdmNRKqWlRlQJ4R/ +3tVMxSBY9tfi6SQXm9tSkN7e10MG6QS5/mXkFdrTzkA= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/budapest/budapest.cert b/server/slice/planetlab/eu/budapest/budapest.cert new file mode 100644 index 00000000..dcb72ff6 --- /dev/null +++ b/server/slice/planetlab/eu/budapest/budapest.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhidWRhcGVzdDAe +Fw0wODAzMjgwMzQ0NTlaFw0xMzAzMjcwMzQ0NTlaMBMxETAPBgNVBAMTCGJ1ZGFw +ZXN0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDZhnw8g1GWddbLgd1gCDKx +ouM1Poa5eoU/OiEwpLSOu5Qafz9QxutyGSsDINdTUBDfM/RQBigcg2moI+CEIEca +0qkyhnqG5/jnOmNXEQdyGY4cJ14SplGFVU4Qs+iIEri0bwCt5VwHjfVyx7xKaEsp +zmN82bjRfFA1zs38L3+eOwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAGAzf/1U4yne +APWE1uFt8mqHOE4tt2pLOAGmu3V3umABOSB/teJtvdi6u3s4tIV5O0tSugFnSDu4 +KuVuj33IiUTS9LkCQ/OM41RDq9wzaYWje0FVEHzeQSStRjR+1EqwAe7GY/r7kdrn +0XIR6C4O/UEyUsIkZPWYmpjtDUPGZiC7 +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/budapest/budapest.pkey b/server/slice/planetlab/eu/budapest/budapest.pkey new file mode 100644 index 00000000..99cb4056 --- /dev/null +++ b/server/slice/planetlab/eu/budapest/budapest.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDZhnw8g1GWddbLgd1gCDKxouM1Poa5eoU/OiEwpLSOu5Qafz9Q +xutyGSsDINdTUBDfM/RQBigcg2moI+CEIEca0qkyhnqG5/jnOmNXEQdyGY4cJ14S +plGFVU4Qs+iIEri0bwCt5VwHjfVyx7xKaEspzmN82bjRfFA1zs38L3+eOwIDAQAB +AoGAfml/bZNLKMtWhnHz+skI3N6yd9DcbpHbOcFIZIJzQ7eS/EsSupi/X1FtA6Zk +PFB9XZlN0+ugB+H+1u3ynhY7+zItQHu8NOUzFRmYG26MamSdn0KGCqkTA1pzpWvq +wfMrTJnIY5TTux42IhWC2bdU55jHSwzeSRPYgfqj5hf37JECQQDyZG7hosYLNtNc +VCBvWI/Fl7+uF8r+s2VK6mfWEbi1VW0KY10PZuGUPrLIaMUxSCUBms2dYeCdrNNG +f4eBXnIPAkEA5bysdgrLDmrsRcCrxZBxNZ7tVlqH62Mo/1UMM6VvDspE7PZ9Ow44 +a4Qe5U6ouxL/HZXbUKgm6SPj46QLSTKNFQJBALUEuiX5uKsBS8Fk9kARRHWNCVIL +ZMbn1JqpCdi9rVKGtIMQh5wL+iUK2dt/GtzeAvz6zdleEi/OtI2uidTcYpMCQFPg +5zbSCgFhmJJ/Hjgr3KmvNQhqVWXj9nwDGUliBYJo53F9LYv6TS80NfOTHJfw/6RV +qpVwT4Sfzfy3UEeRZWECQQDk0EkI0n/l/ihH9sINw7x/Hje09mTrQCKLnS2K5v/H +tK+5YDp3jC1V4BgUvlsSSvk+s1J/Smh8/9Gg5878RJoe +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/cesnet/cesnet.cert b/server/slice/planetlab/eu/cesnet/cesnet.cert new file mode 100644 index 00000000..63d65236 --- /dev/null +++ b/server/slice/planetlab/eu/cesnet/cesnet.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZjZXNuZXQwHhcN +MDgwMzI4MDM0NDU5WhcNMTMwMzI3MDM0NDU5WjARMQ8wDQYDVQQDEwZjZXNuZXQw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALHFa7oH+fRbvs0uBoV6+ibpNBD8 +tRm+04HNDXFynczRAnJreziC6DzMX8Hijh3amF6mKWLA0uxc71waCwhdXlKAmdN2 +s8Bmgt17tDJPXQ/ZoBgigLkQ0ZrHjHtZk6VK1sejRXO5ctJ+oldb9ShE7o1QjNRX +b68+uLqMhwKFFXpzAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAYnSsRh8ZUU//dhYK +Xrz5gXGVodC7GJahCp1aUxQi1GEHpTwMdVIHCZ1Q7rvZmtlmL9ZJVU0zYY3cp4/R +yhZJ93uTuGyzTtYJvFYpOD2PMqPZNhsqw77IlZoWiOtClVLGE8pMz2BraDlt6k0m +drXnMyCeW0qkkdL1tC0GXz53QZU= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/cesnet/cesnet.pkey b/server/slice/planetlab/eu/cesnet/cesnet.pkey new file mode 100644 index 00000000..f4ed8029 --- /dev/null +++ b/server/slice/planetlab/eu/cesnet/cesnet.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCxxWu6B/n0W77NLgaFevom6TQQ/LUZvtOBzQ1xcp3M0QJya3s4 +gug8zF/B4o4d2phepiliwNLsXO9cGgsIXV5SgJnTdrPAZoLde7QyT10P2aAYIoC5 +ENGax4x7WZOlStbHo0VzuXLSfqJXW/UoRO6NUIzUV2+vPri6jIcChRV6cwIDAQAB +AoGAU7KnrcbjoHExvFjXKTFlZbyWjwjsG1sFKi/pDGjycuRVSpngQhMgVL/Etfx8 +/QFWi/mfsqcmp7J539tDJoUPSu+6C5mtcC09Ui3v2Dl8iJNvfAjKqh33NC64uGLw +iSbtpAZuE+WpfSCybw2km+L16WeomlDysEvGf5+HVShuuoECQQDfToeHRmkawN6j +Bl8beGMwYFGwUbeW2bs971N7gxg9kB/sx3lAiAjAZhJwbkuk8/SU8kctR0EpllTE +XD+0LuLJAkEAy8w7PqrravlJ9BL+EYn999WERSCUJ7irHseCTaE1tayDTojpHjUJ +Pmet2tY7JLWqV38wfs7h+3VE4JnUih11WwJAUQQrtY99GIC7BYiNPukpi2aWnJK5 +OdiazziiICCKzeMZQg2I1znDexJNRE8v0JPVu6g+3JWKda0d6fPSBOwxyQJBAKr3 +SyA4fMRCG3NBV5jZHZCCs7LWMNPdzNhGYJ7FReyBq6n/myk3LukGS0gRfo4+RIeg +cMuAvP2ZlE2jXzT6n48CQQDW/VZAQCrOnJuSYg+uvSo/OeqQJ03nGDX/VlYLVUqf +sKiNjDhtvr3ogQZbRrx588LyiBcEqWPwTgdR4rG3OT3j +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/enst/enst.cert b/server/slice/planetlab/eu/enst/enst.cert new file mode 100644 index 00000000..1c28ef51 --- /dev/null +++ b/server/slice/planetlab/eu/enst/enst.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRlbnN0MB4XDTA4 +MDMyODAzNDQ1OFoXDTEzMDMyNzAzNDQ1OFowDzENMAsGA1UEAxMEZW5zdDCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA2kSO7US0A8vJIuGy287MD81Uez/FvlqR +wiVnQG6/1TnCxCbbegodLsl5sPV6bOwB6ynNCThtZFLqFrsouqCOmbC92l2K85Ts +1YeHJ+Xuh/qhhfaxq1Zv8FX/1bPvW+XE6TPqZte/vWp3+EvUhcdoiC3cBiYQVGqu +qQZi3f9KF38CAwEAATANBgkqhkiG9w0BAQQFAAOBgQCFKXXBXHNDSPm7CFy61Z/7 +hCHo2Y+sFQIu+Fzll2of+PYDpEJZ/6h6XRheLaqo0QHORNHjXRrNN01GpQdyNnkJ +/yiCEcZc/aKv3LXGkcRCHsS5x65sLFywEHu/AWwTK3SZ9rYUB4Oa4kR1UwPaDbC2 +QEPbl+StEXXTWrvVYIvgAA== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/enst/enst.pkey b/server/slice/planetlab/eu/enst/enst.pkey new file mode 100644 index 00000000..1a1e8298 --- /dev/null +++ b/server/slice/planetlab/eu/enst/enst.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDaRI7tRLQDy8ki4bLbzswPzVR7P8W+WpHCJWdAbr/VOcLEJtt6 +Ch0uyXmw9Xps7AHrKc0JOG1kUuoWuyi6oI6ZsL3aXYrzlOzVh4cn5e6H+qGF9rGr +Vm/wVf/Vs+9b5cTpM+pm17+9anf4S9SFx2iILdwGJhBUaq6pBmLd/0oXfwIDAQAB +AoGAbVNNq7Zv3D7kfh5CcirAt2GHYTxuFYxT2cTWVMWkPG70CT/VSulp+Jdd5q7u +JUSJKXsEggvLbybAraYNHn1xLsiEtjgXgJKgsIdEWnK+cTcFsWtsBcvrwV8lESt1 +AjmXS5XPIzhyzYVatWMJgMO0sVw4QOpZCRF3Zmxfj28xfJECQQD/H1YfYVanQhQG +T8z9wOnyhr/pJx5xTqAoFGQZk3YlCQoWQxAUU6jPO1sGw6g7+yk3IhvolJ8A5KDr +D1CUosrjAkEA2wTEb3fUKGGgVFXtn4DEb8X7lw1bL8Rjs0Yj4Ie+hU/BwL/9iK6m +gNAg8ejEHIi0cirA1wo6ALS1/P1U3sTXtQJABI73x/nCRZzNpMs6O3J9+6JivXTA +e3/PJsgufbJ/0uuVbY5nNCXGh2VlG/rU/7VeKCkI3KADM03ifjC43N8HxwJBANUg +eH74Hm4FQl2PGKLkTUNvZ3oAN0HuXA6yLGtr7MwRZrvImFEPk1s6LTT6iwwxQ1bt +n6Yif3r8XzQG2TXGWxkCQQDTSE06QxWFSLwkhZpZSfpIaHwEF5ZXemvON8M9CGoR +dRbYSVa4GZ0jS0Uh7CZ3ZajxQBK/NwYrEX//1xCQJ2Tk +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/ethzcs/ethzcs.cert b/server/slice/planetlab/eu/ethzcs/ethzcs.cert new file mode 100644 index 00000000..34251bec --- /dev/null +++ b/server/slice/planetlab/eu/ethzcs/ethzcs.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZldGh6Y3MwHhcN +MDgwMzI4MDM0NDU4WhcNMTMwMzI3MDM0NDU4WjARMQ8wDQYDVQQDEwZldGh6Y3Mw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANhxGONDXLa26igiP+c9fFe9V9J5 +96SxoEZFJ/MSVq0Jrxm3TBqw/0ftQnVJtyqQyFZ70dwhXzNQ2M5S51V7wKwhvRSd +UxuaA6bEkWYUJLC4oQI2GnKUhTZcwYJGMXWSE9Lt9g/NVoeGm16bvv8Y17klKEXK +cf+V1fmekZ4SUN9LAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAdtCzm7FDQHnURZSE +Qo9HwUGXUSS9TU6RYO8zgXPH4Yl8qY765OnUdqFbDSp8EJJqsdoKYRMDkmmP34Jw +uzpRfZdgBt7yTtw/IbwpoBoF2iMVHBg5nXdY0nKM3/I/GytrwQKMZNjgk+GcwVM4 +dDN/Gn+4BNY5wpYYDXrZfZRKDd8= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/ethzcs/ethzcs.pkey b/server/slice/planetlab/eu/ethzcs/ethzcs.pkey new file mode 100644 index 00000000..f2a254b3 --- /dev/null +++ b/server/slice/planetlab/eu/ethzcs/ethzcs.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDYcRjjQ1y2tuooIj/nPXxXvVfSefeksaBGRSfzElatCa8Zt0wa +sP9H7UJ1SbcqkMhWe9HcIV8zUNjOUudVe8CsIb0UnVMbmgOmxJFmFCSwuKECNhpy +lIU2XMGCRjF1khPS7fYPzVaHhptem77/GNe5JShFynH/ldX5npGeElDfSwIDAQAB +AoGBALr8ag3cYjqPp5doj2CMo+GA+GAjcqhbtCVBFZRPIYZ4OUe0LRFaHBDdjm6Z +cp5ZWlosuk68nexNSiBlSul08iusWX/uwl/VO5ohY3hzevRKR2XI4quZ7rLwx8kD +M/I8cWPkmvhWNruGknkSKWxc4HCqRN+aHSfHrZmM18wopHbxAkEA8VWgM5CUi1he ++nxMKlZkwGRvij21zJmVNqZvtNMYdQSGFQ95vmVU1D5+0ym+JQ1Ett6AdwJd0CKw +rfwzqhnNNQJBAOWYOQISHOS/fEn2T3Gk8/KvgovZBw7TYY92kjcYsIHBhPD/H/EM +zsPX0PDlDm1oRsBIn3ea2WRx7NffNieACn8CQQCnCb4dkrfODveGZlwNfci0hY/S +Xk4j9DWcIuz0epvV+rCXiSOZzec+FJeRrrXGTX2/GRhPxxqJwkkJ06Mq3Dr1AkBQ +vJTfe4sZjZShVbJeHkmCv+FCWFE5D3AxSNrl8RKwrmKXdL/AvmY/TDc3XvUR2Cd5 +GpCpOJTV05Ib32xlu4r1AkArGG6VGcUrQORv4ehtiyngr4Vp6/VM+fWHMQuW8IYo +p5dg9aiNGFtFyf9otxur29kf+R3XCeWfpNCd2iFN3K4e +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/eu.cert b/server/slice/planetlab/eu/eu.cert new file mode 100644 index 00000000..58607512 --- /dev/null +++ b/server/slice/planetlab/eu/eu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBiDCB8gIBADANBgkqhkiG9w0BAQQFADANMQswCQYDVQQDEwJldTAeFw0wODAz +MjgwMzQ0NTdaFw0xMzAzMjcwMzQ0NTdaMA0xCzAJBgNVBAMTAmV1MIGfMA0GCSqG +SIb3DQEBAQUAA4GNADCBiQKBgQCkl7+FqFVS9Fl88LfbkkyhQwpzu5iqGLMq9YCy +5N158ZkMiE++uEnp8O5XfoZjLH6PL7X27ncRiyRGmqa06eFXhXY6VXSzYlpU/DKF +xaHJ67gzClzJ8ew4/w+3moZe9UW2TCKcqqVdEuH8Spf2AmhwcCozE3MhuEbHWiuY +GDc7tQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBACG0tupEZ1GIHU8kzzuyhsRsu52E +qAWqIv0jXbclpLbZkl0/4ET+/hB5qxzDAawnj8WrVt4MvlTYuaB9xJVbeqONItFZ +dX433tDuGF7Cqn7/9NbaDgoIc6TebaD6i+SQFet30FjLbatIXsGtD+NmEh94nDOf +92VdZ3HftCD4jVJS +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/eu.pkey b/server/slice/planetlab/eu/eu.pkey new file mode 100644 index 00000000..76abc0f8 --- /dev/null +++ b/server/slice/planetlab/eu/eu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQCkl7+FqFVS9Fl88LfbkkyhQwpzu5iqGLMq9YCy5N158ZkMiE++ +uEnp8O5XfoZjLH6PL7X27ncRiyRGmqa06eFXhXY6VXSzYlpU/DKFxaHJ67gzClzJ +8ew4/w+3moZe9UW2TCKcqqVdEuH8Spf2AmhwcCozE3MhuEbHWiuYGDc7tQIDAQAB +AoGAGRJggzycGrHL++MzLog/kgUDT5PQ8oAmsrGI9Dc2oX+y35zYAOZTpAYmWD+W +uv6pHKiY4E985bg7Q2IFaOODhrHOTfY+HRMFJxy4WrWVupFlF0QaVjkZoN+goLyr +vtUAWPzm2Zq0YB8iX3AwYhsty3kn00+6dy7EH7jwqLZvHdUCQQDadNSoIMGV4FUM +kOUjjxBKGL855oYAemswnEACE791p8aP/5p/DaI7L+3tomIN0/23/kK6qfBODBt0 +Vhg1UygvAkEAwOEku8NouvTHI4WjqR0ofETWLZwU0xyq+dO/4IuPtWMPHcQdPFam +n1F3t97TE1Q+1/zYYaoQYUwfStWV3Ed9WwJAXJfccw6/PsmBAvx/Qt0mqGFo3B/L +eHRq7oWr07WPF01vqiVK1MNwmemszWZgbUAHcG9C1V+mTU5wbJT5WdDPXQJACoS8 +shin/3oV2hQRpslWSeCfJYGbiR/JGzK3BhHWVnf+fQsS5RV8pLeWpcpbDHTNsI2z +ZzAVEJlMI5KeR5MGfQJATA+Xx3ti+EQcrKCJvRAJavajhoVjMYguuU7gNdiA977D +V/RXDBN3odnqUu6gGs19JRKu3eh8CvzwWOOjaxSrcg== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/eurecom/eurecom.cert b/server/slice/planetlab/eu/eurecom/eurecom.cert new file mode 100644 index 00000000..6ef28718 --- /dev/null +++ b/server/slice/planetlab/eu/eurecom/eurecom.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwdldXJlY29tMB4X +DTA4MDMyODAzNDQ1N1oXDTEzMDMyNzAzNDQ1N1owEjEQMA4GA1UEAxMHZXVyZWNv +bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvS+nKJCU1LHS6y/9J5Y7ELnS +bdZCuY/mXmWPqCmjWPVq4VQcUWsCPQsaErgc9Q7hARSel/BEiodTU7FJykabl5rx +i+8ERVy/YAvLltKKmaBCWenKw+YgoHOw7JYf3M1MAfXqd270Xr5J1pw4E9OWCwn+ +nbAq4dcH6SqAqYyd75ECAwEAATANBgkqhkiG9w0BAQQFAAOBgQBAnkqFqpkx49w1 +HqwF70IHkPyuLAmzINEq+UvDVst32eHG3UvUI8E9oM8OqiRgjv9KlKknUmNV5xOD +rLCV7Wkcxqmu8Z6SRF8rg8HeyFOYJLPs145+hpMaDXD3UbyLCKwinZt9YznnRMWJ +APIkOoZnHvHow74qipxzk6e9d+hYXA== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/eurecom/eurecom.pkey b/server/slice/planetlab/eu/eurecom/eurecom.pkey new file mode 100644 index 00000000..9b99c478 --- /dev/null +++ b/server/slice/planetlab/eu/eurecom/eurecom.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC9L6cokJTUsdLrL/0nljsQudJt1kK5j+ZeZY+oKaNY9WrhVBxR +awI9CxoSuBz1DuEBFJ6X8ESKh1NTsUnKRpuXmvGL7wRFXL9gC8uW0oqZoEJZ6crD +5iCgc7Dslh/czUwB9ep3bvRevknWnDgT05YLCf6dsCrh1wfpKoCpjJ3vkQIDAQAB +AoGAK68+PQqtozNwjagmH6b7+o+9/GjWPXzx5+gxtNXwhxEcXe2LIG3CNZBDtADZ +huipohM9z73GReqbnh64+EE3mfNv1cUESPRT/riGywgO0U+ULkfS45ixCrnFLKqn +jxg7PztAqlhmdSfsCC53MOMMgJBt6OpPYz4J54auX/HthzECQQDquh3v6tuH1GTK +fJEihmMCGa01nq7FvP8Ub94X0nM1hTX+OztnqCmfJYTsuJ3PAeLteeH0qy/N5wDB +ckxbgnvNAkEAzlTyHkJEhSPFGJTg7h6/1tJIl0I8e1bePc/CHhOYdKKFArLyL6W0 +RyE0ZPTspoP1Ad3g3FzfINfeeGsKNd6m1QJBAK71/+6fLve2F1LfOwdzCEW+gd9f +4oI9+Bxxrigvk/Sm0LIp0IPZUvzvaH9StT5h95ZvrT9EgqOFtoh6+/OR9VkCQAXz +STA6NQOp7msxD/OOC3ZEhjdmf5wG+03JCg4X/pOOhEt5oaZiHvrWKE6pCZIbyBsP +rQZt3zlxQEc0vwyiqSkCQFlm2bZUIMR0IhJqMDWIA9wvFoo4psmzjFx6X5X3c+nW +oMlRPur+ZrASAIevrmKQmhTbHxQuiAnuUVnREC9NZRE= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/fokus/fokus.cert b/server/slice/planetlab/eu/fokus/fokus.cert new file mode 100644 index 00000000..f21f6a37 --- /dev/null +++ b/server/slice/planetlab/eu/fokus/fokus.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVmb2t1czAeFw0w +ODAzMjgwMzQ1MDBaFw0xMzAzMjcwMzQ1MDBaMBAxDjAMBgNVBAMTBWZva3VzMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4zWe1voNh2K26hwAdcWCngahsrHVe ++86lgpJsEpCoUg2tH7KvvLCCT3RCa1OnK9r3X9JpaqhFpC/PYdNXHG3V9WAHr05W +75aII9ibpb5a0NO8/xW7C9ynixYBCm5KHTbHtnCn1nRp6U30GGjcJ/t0+4usAZC6 +ZWa4ieDyNwMJmwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAAZWK4Wi+/9NWt/U2jyi +HVOwUPKU33KRAy5JA+FyBTYTIzuoXDLqc2apE7uHB8PrI+LEzK1uKGSG0hoebxjw +5q5jDSmWzsyS/qclkJNWXQK59IMYPFyUE4yZS17JMHfg6DfzcDzC2XyuHRslAOmv +Izl83ITgwAz2VWOSJ0NT65i9 +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/fokus/fokus.pkey b/server/slice/planetlab/eu/fokus/fokus.pkey new file mode 100644 index 00000000..0db33790 --- /dev/null +++ b/server/slice/planetlab/eu/fokus/fokus.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQC4zWe1voNh2K26hwAdcWCngahsrHVe+86lgpJsEpCoUg2tH7Kv +vLCCT3RCa1OnK9r3X9JpaqhFpC/PYdNXHG3V9WAHr05W75aII9ibpb5a0NO8/xW7 +C9ynixYBCm5KHTbHtnCn1nRp6U30GGjcJ/t0+4usAZC6ZWa4ieDyNwMJmwIDAQAB +AoGAF8PyjmDNrIuc69vom+C0uVXnPvJ+tZRUYtyDz/ojOEI1GAp3hDoTyO5G2TPM +MjdllWJxQLVCppISw+ykrRMu3JkYf9V61oswQdwvQ3DQHjrAV14BsD7kUx4jwxHA +n0urO3WCo7/rlJTN7ltcuV3L4fqgo+VaQl9x2eg4iC73v6ECQQDec61DE7K2ngIM +Dx3yRkdSmorVXVbU0nzl0p2GvLg4cYZMfcJzkV2G9OIwSNBmZ5DXXAvfzjC5EAFP +JTcPFj7/AkEA1KwsUHIqiitHYrfiiyT/2C05gM20/qWA9QBIvQ0HArRFpM/8wgqk +XmI1OVCfqpOIk2Z3fYxbc5dvHfw8NDLRZQJAdMwzyqZLDUtFM+O0C4MO67Ys8v5B +GxkxbtH418e6yhgBNaRKNre6baOiJ0vz7/CswgaYTXhLaL+YkF+v2wIJLQJAKT+H +jMbH12qTeuMdbk1rzdrfp0q+ixFAlMRMV1Z6gJzEUTYB2QTFYoT7u7UWcrgQqj4a +eOBLMH0zkQZGCv28PQJAYnZaTY4TNIFnwU20zxDriA7GvpI5Ebh4tCvlGEtbesj+ +HEf3t46eNq22jaDD+6M7XQfFk8y6IE/pymE9Mui/sQ== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/hawh/hawh.cert b/server/slice/planetlab/eu/hawh/hawh.cert new file mode 100644 index 00000000..fb1f2bb3 --- /dev/null +++ b/server/slice/planetlab/eu/hawh/hawh.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRoYXdoMB4XDTA4 +MDMyODAzNDQ1OFoXDTEzMDMyNzAzNDQ1OFowDzENMAsGA1UEAxMEaGF3aDCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAsCqNvTgOpRBblD2oT5ZruAMBsp7Pf6I0 +Z7VpW1D70RUURwkruMzxc/8ys44LvaTn3llCp5h/YX/OkS9WaKOKX3nB55sXk/lO +I2vHUnV0Ve59eOc6vrpyIr914Pyzk+S6mQsUnG5AAG7Rn82YWRdMw7pLnHl1U9Ti +uLoK6fW6NGECAwEAATANBgkqhkiG9w0BAQQFAAOBgQAfMNCHGI8csV+1T/Olou5o +bfNvssgQDSHapulR3R5/jNFHGMj5LS/GANNhhSJU5bX1ukZqvunYzm/gKPytDiVC +FXyoWFla5I33+uCebxh+2El3ZtMPeC3imOFBSk1xmtrZ9wI8FC7eoc+MirxBhXEg +dSKddBndUlpshaYqmuArJw== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/hawh/hawh.pkey b/server/slice/planetlab/eu/hawh/hawh.pkey new file mode 100644 index 00000000..f0c6cf96 --- /dev/null +++ b/server/slice/planetlab/eu/hawh/hawh.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCwKo29OA6lEFuUPahPlmu4AwGyns9/ojRntWlbUPvRFRRHCSu4 +zPFz/zKzjgu9pOfeWUKnmH9hf86RL1Zoo4pfecHnmxeT+U4ja8dSdXRV7n145zq+ +unIiv3Xg/LOT5LqZCxScbkAAbtGfzZhZF0zDukuceXVT1OK4ugrp9bo0YQIDAQAB +AoGAbh77oSeUh/w0svLj7nRB+7HtcsGxRcCYb6fIJyv1bZp2pX0HFqsN2AvTnsgR +cMfPpX84mllKbyEceEcWBa0NRl3o0xLoZeiI8bzevp50fPeJmNNLL3XIVPDvwHV2 +bqGTbNI5iywgSOO6vnEs81tqMTcOmguKAa779NG/UYGfOAECQQDXPsCnGDkCbthi +uI81PgTYSG+Kb/zUTyzzTzzbQz7EZVOWpKVCHP5CFlaNtQ2qMw1ndrDV5cTqQovP +askCyFhBAkEA0YWW34d+5wHSsDhHDVOSVOlkF2XGtfozOQjEzhD0WVqvyFiCw1up +RWX+Tn7TxPNjytf2itvBoGv/g3xrtJHUIQJBAILOFN+2vbZ3zDI6PHU7qlARvQ8h +PUF8mDGIftA0zmkltqV+ixthaTaaQqE9XP+IpOWyYIasan1+UV6MY3m4bMECQGbs +mvrfksVkLd2HJ9AyF5ZCuHqN8pl+eR8xYYxg48fpNqTSZhoVswd2XQCuaNU9Qu5o +PKJl5a4qn3A19KrVYEECQAkyU45/68JCDgpIIcv7YbIFhbOGxM4GS8e9Mirqc0te +38LN/dt3H4HU5e3MehNM93dQF9HhTGNxWM2yDPozo5Q= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/inria/inria.cert b/server/slice/planetlab/eu/inria/inria.cert new file mode 100644 index 00000000..12b598b3 --- /dev/null +++ b/server/slice/planetlab/eu/inria/inria.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVpbnJpYTAeFw0w +ODAzMjgwMzQ0NThaFw0xMzAzMjcwMzQ0NThaMBAxDjAMBgNVBAMTBWlucmlhMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQChiGOPza8ZLsueB2NCNyOTZcQZ3dT2 +mw9SKp7q65Jdk29IRyqLuyUOBQqKhosT0HpFpeSjziKevp0qqBdIpWxtFM7fHs4g +zeaZ7Ms0IwKW28ybr7LsWry6PUlOQ/AUMledSwuokHuyYN3SNr5CdNgcC2SMdcMG ++B8qLy7B8Z8teQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABBN0recPeVOv7shRlDS +pGb9Fjs0nd/zf9OFkXKuHQbZUBk78xaS6JACZMoNPHRjmBtAKOzY/Ojs25w2cRdv +tPhJNBK40B7aexvP7y+IVac3bGlXCdqaXCunYha4CFOimN367hcb9TIkhBEXTFdT +b63jWjEPtMRIcBjD5QSzihaR +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/inria/inria.pkey b/server/slice/planetlab/eu/inria/inria.pkey new file mode 100644 index 00000000..8a66a71a --- /dev/null +++ b/server/slice/planetlab/eu/inria/inria.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQChiGOPza8ZLsueB2NCNyOTZcQZ3dT2mw9SKp7q65Jdk29IRyqL +uyUOBQqKhosT0HpFpeSjziKevp0qqBdIpWxtFM7fHs4gzeaZ7Ms0IwKW28ybr7Ls +Wry6PUlOQ/AUMledSwuokHuyYN3SNr5CdNgcC2SMdcMG+B8qLy7B8Z8teQIDAQAB +AoGAM92qMjtV1J0s7gHrQhCYULSlYbTTs5cYNUbQHhgjt/4mBiwrohAmFrlRqCcJ +MwSGriRVJK+EeDo2FsNALqhHBsCSkVrxt6yUexC6PmOBs9SQW5MwbDnB93Xw3HOj +o2ztXW7t0Rd8mEASw8TvL53jBGS3SovHvz5atKabStSnvoECQQDXJxawnr1Q0vnI +Mr0M31/XqusEaanKpkE0s+fmtbpgTfu6Pwi8lx657aGfLmjL6GGd6bRyMvE1mrfj +y0sRedbxAkEAwDM/9okv8521g+vSfUnMy5usLGABK7UVs+tkuleSXw0eRXFYiKcV +QYOESFo62Ye4rdbr+gu5Lbutle16NaaPCQJAQSBl7+S9LcAPOBiTvVfIbUIhjd5m +NR+KUWe75MxRtGEmt8Po4x1jgah66fJkaoTXN7PMmVzuQumojF23RXz6IQJASw24 +VJWN3Bwh3bohIDvJdVj9CvcSffbg2rl5RCseRW/h+kwgvnxAmKy642YYxQly3K+o +xqP9VBaN2pY5uumnwQJBAK5dC9mQc+t73dfsS7eYLWqf0TrN0DS/JlI7iAtzAjKI +Ic6rWLZX7lb/SMIwcypZeKbR+K9YvyRq6x+YMeiNlU8= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/irisa/irisa.cert b/server/slice/planetlab/eu/irisa/irisa.cert new file mode 100644 index 00000000..3a3587e7 --- /dev/null +++ b/server/slice/planetlab/eu/irisa/irisa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVpcmlzYTAeFw0w +ODAzMjgwMzQ0NTlaFw0xMzAzMjcwMzQ0NTlaMBAxDjAMBgNVBAMTBWlyaXNhMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCuvGoi2iSQx2tFic1NqbO7fX3Ps986 +aXKVEA4kfAZ2ZgqjuuEtJlZNWZ6hwG50MN+Cp/WczmrA4R+/wj5O8p1BhRApOu7A +CHoCkvvf0xMyTp7NKKGvo4QhecPkfD3zavN0ge8EJpJ3jioXNNgJ4caeZdqdIuA+ ++ufksPO0X0OvaQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAJ0o4nDgJByUD2YzaOHK +McusOkn/DzwJaUQXuwfUtDZ9R87Avev2hcEfX41LSmrAqGDIzhUun2kw0R5G7Jq0 +EZb29flgcm3nMsVKPa7IIFAG3ZSVpdkHOyKqaI+zWqRgxTiyWfnvFFfKLzE7mFt9 +RZjwsRN4K8wln3kUcVC3yBDz +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/irisa/irisa.pkey b/server/slice/planetlab/eu/irisa/irisa.pkey new file mode 100644 index 00000000..c406364c --- /dev/null +++ b/server/slice/planetlab/eu/irisa/irisa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQCuvGoi2iSQx2tFic1NqbO7fX3Ps986aXKVEA4kfAZ2ZgqjuuEt +JlZNWZ6hwG50MN+Cp/WczmrA4R+/wj5O8p1BhRApOu7ACHoCkvvf0xMyTp7NKKGv +o4QhecPkfD3zavN0ge8EJpJ3jioXNNgJ4caeZdqdIuA++ufksPO0X0OvaQIDAQAB +AoGBAIhwPJvMI8Mcw6k/qZxbxyi+G0/kTojIr5yvNavNYCpxERu5n3vmtHqfYNtC +a7y0MMJPrdvr3bWP03+jB44TqS+lnAvGZff10MOr7SMgLhte03kXqYsyjAj7ZMN1 +cL4MUUsMJaa4oigLxqQF9h4syzFi/ZspL4OAAixZFyEjL1AVAkEA5DPYNPiU+nJ5 +ooXtq3OGzEOwWNT1z32+cYXbnKkChnpBqv13v9rDpvmepfynuJiI8NjUsqnHEXo5 +cv9h+h2vqwJBAMQFS9LFWHwebfd0ky7gWe+/11B8AQfC1WU2bm+XfCFvEkkGdIMg +0JVjRMrwHRrZwimG9mIztqmNJMt3dHJNmTsCQQCjv/wODq5AhLJ5h+cC13RL0OqS +48W7bTyiE26CHNjeDI5gl189gUpR398StpjXokTppn4B8kgRZ4Yf2dfBdVnfAkAt +jkmL539kATJvYzFdoJhmRsCEnP0kT5yGlDrgRmV747NtM0nau8KeJV70hw9MkTU1 +r38NXZVjHEFj5BQ1CGHHAkEAgTPnp9wBiwkJeJNxelmL+/im1P4sxe8ugUvDkZQJ +lfhFzJUBxgi2RkTD4j2RkSpVNmoiTSM3Rv0FZ3XTL/T7pA== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/konstanz/konstanz.cert b/server/slice/planetlab/eu/konstanz/konstanz.cert new file mode 100644 index 00000000..cab1f63e --- /dev/null +++ b/server/slice/planetlab/eu/konstanz/konstanz.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhrb25zdGFuejAe +Fw0wODAzMjgwMzQ1MDBaFw0xMzAzMjcwMzQ1MDBaMBMxETAPBgNVBAMTCGtvbnN0 +YW56MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDy/tU7QlXCIk/OaSTBnSM7 +LWwz7UPjXtiejzCy9hrOW0l7eVY7ryhBSR9WVT/p2Nmu/gm8lmpZyRhxT9KFIlm5 +zi+SLNgBpy0FkFzD0MbQmsSGHIXdIHZtYkEWK+4II/88bemPBHygeiBeKDm+v0WV +NuqsC3LsUongfzboHalHNQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBANy9Xnj4suOG +Gn1nKfIrL/yq/3xI/7Zks0JBLAWkevk3AfsldewWbp6HF14Ouai7Clbir6XRrkUs +9KlapvsjfGTCZV/uAYegyYCG8AbHTLZRl5zAfWCW9GWJcNHo9YVA9GuGRImIo5de +QYf0q/VuVapgvGg1OEgF4ELP+CIILWfn +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/konstanz/konstanz.pkey b/server/slice/planetlab/eu/konstanz/konstanz.pkey new file mode 100644 index 00000000..a26d440c --- /dev/null +++ b/server/slice/planetlab/eu/konstanz/konstanz.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDy/tU7QlXCIk/OaSTBnSM7LWwz7UPjXtiejzCy9hrOW0l7eVY7 +ryhBSR9WVT/p2Nmu/gm8lmpZyRhxT9KFIlm5zi+SLNgBpy0FkFzD0MbQmsSGHIXd +IHZtYkEWK+4II/88bemPBHygeiBeKDm+v0WVNuqsC3LsUongfzboHalHNQIDAQAB +AoGBAJO5fKRUBZLKDT5tCV1zTFHToW5IFfeKV6K9ZlvF5jIBqUCZWWVbbNuTuqtf +lEV0AZKy+fRedTU0Xdm1L0Skx2pQteU7LXoWW03UMvGN16o9aHEJL4cIxI1AP0os +V7JTuVrEa7Sw+lkvXCtxTiYnbApwPFgSg1tfWPX/vBKPrbLZAkEA/VIregPxrCrI +eRzU9JFtrXbmu7od/fBIFY32oXLk41Dw/pi3h0oaE0lc1ZzuOthCHGsPVBP9TlQr +U/fzaSFHzwJBAPWQtUy8xMqxnJ0cdCSqiI9Y0A8mwRlgfiubAzHMeo01i7c9C2BD +fKmntY7YwQJZs9EJ29Ikg8xLQzrIMznKvbsCQBSQPwdAmrWnI27xcDgKNiUGqeRD +T3v1rWRSidrBQONTBr0kGIHa+hLmuap9erk8JOG5rxzcIovhOUMvtYqrMPECQQCJ +zWgAJRpmCJ+zhukiPlSd5J/1MLFB9WU4QSfcxTusjHTYIjiFD7ogVo3LGJXPJNmE +n/ysg3M2rLGQhhJBByXLAkEA8bU+Z4YCjw/b7XhX3WIEsX160YFEv02dZ4ux7+Ov +v6FlGvTRkeX1ee/qpeUYnciXhEZW8Kv3CRE5bxs4pEFmdA== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/lisbon/lisbon.cert b/server/slice/planetlab/eu/lisbon/lisbon.cert new file mode 100644 index 00000000..60c19603 --- /dev/null +++ b/server/slice/planetlab/eu/lisbon/lisbon.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZsaXNib24wHhcN +MDgwMzI4MDM0NDU5WhcNMTMwMzI3MDM0NDU5WjARMQ8wDQYDVQQDEwZsaXNib24w +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMqgtDwJdJC/diRIdz6jRP5WvLle +tm/ccw3pd56nzTEfJI9pcUh78APIlJcQOtSRTHcxmrWeBSy3NUlv1J43AF/S7/jB +h1NQT4uzyS1DyV/4VyxTThPjtb+QX89uWBXytXiJmp8HRHFdH4kOvTlq+oMTMELp +sbD7iLMqxgvLQoFJAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEADnB7CGnaWOWD/eKD +tl0YdqW53ZfICn0SRWITwFMoPr7mVRXlJojepC3i8weCL1ZHRo4FiOy0qdcIKAYq +GCAjjfcvm8wqU9oL3K/YKWvayRMPZIad0z4mp0j9G5j6+jYXtEhGr2TKyzUB9ADP +CXJmzdFaWVS5FL1c7Drv2WvatfU= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/lisbon/lisbon.pkey b/server/slice/planetlab/eu/lisbon/lisbon.pkey new file mode 100644 index 00000000..1c536efa --- /dev/null +++ b/server/slice/planetlab/eu/lisbon/lisbon.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDKoLQ8CXSQv3YkSHc+o0T+Vry5XrZv3HMN6Xeep80xHySPaXFI +e/ADyJSXEDrUkUx3MZq1ngUstzVJb9SeNwBf0u/4wYdTUE+Ls8ktQ8lf+FcsU04T +47W/kF/PblgV8rV4iZqfB0RxXR+JDr05avqDEzBC6bGw+4izKsYLy0KBSQIDAQAB +AoGAXEjEzXMg+6u3it7WMFj72zp1yZcxT9D/NZ7XNBMIiQ69//Lt/S01KwP3aLWj +lZx3TvHwnDbT9IGca03bcBNsv2g947tAXlYTfkCHbUJxxmjCF1MTebjOc84wQ8gW +jWdtjzuUDkhTU8MFDRxTplAPubLZMUutnGvDSTcg5tOjwAECQQDnc39FaRL/Mk6Q +LqShhEdEzTQd03kzq/YA0iZ/J4BQR3vWW2hSuM9khXkAmfVzTvmXmwEml4LY0bU7 +SKGP/EBJAkEA4B6TetkTC3R6ptBqOL/XFZWiH0rgS2EplLuu5pfNTEsS6+Tmu2Sf +7UYCUg81HWy9ZtYy9+BE1cz5dHI/lUY5AQJALOeImsPfDqoI+gpCoJ+UYDHb2amM +y0yiptge5e6ZA3pK+XS0kdAPVLZcmpREPcHlxNcq6vzcQwq0ubLGvbO4GQJAcZON +MahoWlnA/mCINBIkMbAO5MTRPeITbGhgjkNHqu4wvJLXyweHdHsSGfvS8wJ0SXUr +hyqEN8UUdcqgJkncAQJAMavw8xmidrL3YuljFLaMs8FE7AIVtwExaS3I4B8C8RUc +Amo1MxsjIV0zUeh2FcO0HDs0oAEPiqLbLou8AVuTDw== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/moscowstate/moscowstate.cert b/server/slice/planetlab/eu/moscowstate/moscowstate.cert new file mode 100644 index 00000000..e8b6534f --- /dev/null +++ b/server/slice/planetlab/eu/moscowstate/moscowstate.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBmzCCAQQCAQAwDQYJKoZIhvcNAQEEBQAwFjEUMBIGA1UEAxMLbW9zY293c3Rh +dGUwHhcNMDgwMzI4MDM0NDU4WhcNMTMwMzI3MDM0NDU4WjAWMRQwEgYDVQQDEwtt +b3Njb3dzdGF0ZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAtzP7wqSuKiJA +jHUxV52cJk2frihdDbj7LTm51yek0CuY75CkieeQtcLEs8VYIPVAYysW0V14Lhnx +WDByrJSdS5WexYbSFtXSfLec1I/QEZk6FpxRm9sKp5Zv/kH2InMp5J2ntMVLLgTU +Z8ittU7VyqBTt+4XzF8oMRkdZ28yFO8CAwEAATANBgkqhkiG9w0BAQQFAAOBgQAq +UBthDf+O4NDOq6VcATWe7pXsQ4BaOxjw/Ygz1ADiSkXaEs6UFoN1PZl16607ghTW ++o6X2uu2heKOpYpMw2sLEy7hDLauTEj4x6+O6EZQTKM6V95Znz4E0nchgONu/IP0 +bs064lzjY+PPYGBkxSkw2jAGl1V/41HqWOSjMqbbHw== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/moscowstate/moscowstate.pkey b/server/slice/planetlab/eu/moscowstate/moscowstate.pkey new file mode 100644 index 00000000..47b1c97a --- /dev/null +++ b/server/slice/planetlab/eu/moscowstate/moscowstate.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC3M/vCpK4qIkCMdTFXnZwmTZ+uKF0NuPstObnXJ6TQK5jvkKSJ +55C1wsSzxVgg9UBjKxbRXXguGfFYMHKslJ1LlZ7FhtIW1dJ8t5zUj9ARmToWnFGb +2wqnlm/+QfYicynknae0xUsuBNRnyK21TtXKoFO37hfMXygxGR1nbzIU7wIDAQAB +AoGAKhIr/JTo0hAvlpHLFP3CwCEPTGVEiUQzmj0pajlWZd+9LTagMnMVDkh993KY +PGlVsfBROx8l3CBlBgWKMAuo2zCc+jiz0XIXKaA4SJN+GDpGbc12FRKwYIv61714 +/jbgRd9vccBUD7ZP6QMRJ0T8CCbxnilZKkLvAjUUy4swd1ECQQDxyRbYnsyW5NvU +f9w8g6Y01Y/2lawtl3Z4lpzXVA/ORLQlkuGjAwKHV5hPiYjjrjqloWJBHkeDSSAU ++EXnHOzjAkEAwfk4DvPOajD1b+xXjQ2OMDHnKfAC/Nyh9GOkbjFWCjLGrAqZPGDe +H1xd7pv8agJ+0Q9k990v4Bosd//4eENhhQJBANSaaK9juyx34uEQ6PyBGnXc0DEY +XQTd6TuR3CnvbdKHUQy1AhkPvXp6yKAvpKHngwQ/SyFNWb6UX1RxFy5ondcCQDpe +jUDqmr2Xt/OTEhFu98+G5MHY6H1AwzdwWIWUMQjmmKQimFPz7kNPnzBzHfSkhZbR +ZBe2JnbwSVte2l0OIaUCQQDPhp7VOGkIkKyubA7CVSMwXkGY3ZQPsrqiJoMT9LCg +DXk0b+Eu3WZPsyctdB6xnKe1SmohViIMtwtcYdjdkfqr +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/msuchem/msuchem.cert b/server/slice/planetlab/eu/msuchem/msuchem.cert new file mode 100644 index 00000000..28e231d3 --- /dev/null +++ b/server/slice/planetlab/eu/msuchem/msuchem.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwdtc3VjaGVtMB4X +DTA4MDMyODAzNDQ1OFoXDTEzMDMyNzAzNDQ1OFowEjEQMA4GA1UEAxMHbXN1Y2hl +bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0gjX8EuAuU5NVl/ST8GBO3gy +TFHFk4rZVuzlymbxWgqna2XCjhzThGUVGK68UMKnJ7eWjFYvlKp9vSipOPIEnsM/ +bTW2G0jcqbjOMlEn6wtbrxcbWEp+qbwnTVV9Y46XL1CGIbznEeHF4Eh1zbgwnTeS +kSjK/qerFEJ95UPu3ucCAwEAATANBgkqhkiG9w0BAQQFAAOBgQBpI1LHBaqPVhhQ +MsSeapeTJa9wkjpWVxAWCh2GyWpY7zGl0KYyVWHFzf1uYn6x1JTHXcmUsx9TtBWV +b2kILPkkn70ZsCv60xpqm2wZamNvY34gqas+akgnNng3eWvrORicpJeyq+EFxNyZ +tYTjSsNijaEegYC9nqub+bgudA1UiQ== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/msuchem/msuchem.pkey b/server/slice/planetlab/eu/msuchem/msuchem.pkey new file mode 100644 index 00000000..aebd1e58 --- /dev/null +++ b/server/slice/planetlab/eu/msuchem/msuchem.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDSCNfwS4C5Tk1WX9JPwYE7eDJMUcWTitlW7OXKZvFaCqdrZcKO +HNOEZRUYrrxQwqcnt5aMVi+Uqn29KKk48gSewz9tNbYbSNypuM4yUSfrC1uvFxtY +Sn6pvCdNVX1jjpcvUIYhvOcR4cXgSHXNuDCdN5KRKMr+p6sUQn3lQ+7e5wIDAQAB +AoGAZbsQ1HvNknOhs+dfl2/TZ3mVay/kMc177cV6m6l21zT32GYGcQz3SlYnfLgN +0FQn4G3kxn5sN2bI1lkedc2LfHXUTbQJPeOZdJkm+XuXReFfsq6DbR/PoUBPGti9 +v3yQQIwq9ZxExxqm5wfzXA6Y1YdPBu5YD7YJp0xHxEcIHqkCQQDqDSBJklUbPfF7 +qI72Ug+g2ty3ahoWHAZBVLqBlSqYpoOIpaFdl/5tbAbDAEnbWKCzCqTBbDDPlDqk +gOJyTIrtAkEA5bsls2FdigHZqZTQXBhvoAph0fYSFqLn/6Fcbp/8CXNuq62t1vJW +EOd8Waf33d5pustXzrI70pP9B7NoTKzSowJAXvMiRRaLVjjj7XGtRbp2wp/naLUv +jgaidwCDhSxZkoIC3H2tIAYYXpWzjIpibAzhbKEFw747cwrEW5Y5x3rL5QJAeiiO +/pjapYUgWgWQ2jgAO2jp5TzlF3ZeyVbjkMuvuNLR2aaMFw1b6Lc/L2ma6zbWoAZ6 +1aV/HBWnag3je0o24wJALIOKxRuVL9KhCA048lsBgerb19ytew4Jby4enARC5GJg ++xgPNTwOLKNvaojgsg6FNBUGfvHUxWOYlx9fN4a+GQ== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/tcd/tcd.cert b/server/slice/planetlab/eu/tcd/tcd.cert new file mode 100644 index 00000000..0d5bdabc --- /dev/null +++ b/server/slice/planetlab/eu/tcd/tcd.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN0Y2QwHhcNMDgw +MzI4MDM0NDU5WhcNMTMwMzI3MDM0NDU5WjAOMQwwCgYDVQQDEwN0Y2QwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAO6ZhHilEnbdr2oRdnXA649Ddej2EWTdqpJh +LvUs0cwpJ7i+4KNGmQuhdHFIUPyD+K+wd07/F5agKzTjSOL83nV/xkal0vYd7j6f +BVxqT92jA2nzSet3IGJjc9UI5jvlev39FthcPewYnYBDWNdxYj9mVRyVyM2QGBVi +qD6+WROnAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEA0hBff/5C2kXj46OuEMHEnBV1 +kseS+eQPVoKXRddNtxZyBClajLnX3UR+67R6MbB2830Quy9YyU6h4bclaWm7rwQS +8XIs1MKldsHCmBYnJcsWU4q51C3CGc1fWQNwWm0HhBS5W4Z1ilXsNz2r++H3G4Wp +W/pqUIMc+WijLpZeS+M= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/tcd/tcd.pkey b/server/slice/planetlab/eu/tcd/tcd.pkey new file mode 100644 index 00000000..12e4df0b --- /dev/null +++ b/server/slice/planetlab/eu/tcd/tcd.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDumYR4pRJ23a9qEXZ1wOuPQ3Xo9hFk3aqSYS71LNHMKSe4vuCj +RpkLoXRxSFD8g/ivsHdO/xeWoCs040ji/N51f8ZGpdL2He4+nwVcak/dowNp80nr +dyBiY3PVCOY75Xr9/RbYXD3sGJ2AQ1jXcWI/ZlUclcjNkBgVYqg+vlkTpwIDAQAB +AoGAB0gIEuZ2ucnqIIKH6vAIQEb+wi1AOqPJIM52cGT9wg0/eRPaJyFwajpzI0Hh +ttMQM8xe17pRLfeVWffVsZel8kDtTE1WaqvR0PzjtaWmYAYN16US9AkKRk/uofwq +QVowvQ++6kSqQlJEtT7KWZuVIEIZz2Jd09VuvmUWRp2zeoECQQD846Gqi/4zSvz3 +Z+U7vV5W2Kqv1MSRynjAhcO61i6xzhXNbj1VCmbkXL/Xi/9zjtQyuK4MS7ZKDk9c +4gAFb1aVAkEA8YjjG7J8wBROG7/09bzHb0GR1Y6cJQo4M7R6azdIBloPCUL4xyI9 +9/YP2GVeZm+ZYW0jQB4W2zZW8LJQpTBeSwJBAPrCWPc886Y28Fn/Cp5PK3GgTLgn +mXcbNttoiGoGoayrtpDKhESEGPzOP2hjqL0UXrOgzuzgUnRidi2a5/x7p3UCQQDq +jAxGhDACcnVbGy/sRdLBJkJQyHi2u1LSWusaHIezq1a4nrFo5saYePjwIZfnD245 +nrrBc7asTvtkJzSLBQo7AkAfp3LCRZ0//8U4sz/YX5RQCVZfn8EkHu0U9c8MTPlX +fuLorzCqabl7UVYw6XPMVga8wszZKFNrd4RKMzIKxy/e +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/univie/univie.cert b/server/slice/planetlab/eu/univie/univie.cert new file mode 100644 index 00000000..c9b90865 --- /dev/null +++ b/server/slice/planetlab/eu/univie/univie.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZ1bml2aWUwHhcN +MDgwMzI4MDM0NDU5WhcNMTMwMzI3MDM0NDU5WjARMQ8wDQYDVQQDEwZ1bml2aWUw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOvbZE9P7fc22RA3ONSpj+8dRPf9 +JbQVcQ8oGzEGAOyr/d0zVM7CpXnDBbEb0q2myq+WI718ODl/LFBv5gMqNCVZ1svR +pFw3HBT0P6haQmIAQijoXIRhrfEVryGkXbMCEqeXkZUY/wDzMh+NTldBkVmYqQNP +Wmrw57UEZlsSbFV7AgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAS2nrGFt05PM+b/On +WGgeN5fhSdaThYlV27sMAPdMitwQ24K2JlRsGY5XJHmUTJWkUD5Sh0pocz7HKBhS +ZRLhaJmoJFk8uJyay4pOG/kIyo0Lbh37OeDdlqWw9A5Ojs+wDAapeWli9ZMP+0Ui +DMLSo54iVJu2eBBLi68IPKEgqrI= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/univie/univie.pkey b/server/slice/planetlab/eu/univie/univie.pkey new file mode 100644 index 00000000..aad72477 --- /dev/null +++ b/server/slice/planetlab/eu/univie/univie.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDr22RPT+33NtkQNzjUqY/vHUT3/SW0FXEPKBsxBgDsq/3dM1TO +wqV5wwWxG9KtpsqvliO9fDg5fyxQb+YDKjQlWdbL0aRcNxwU9D+oWkJiAEIo6FyE +Ya3xFa8hpF2zAhKnl5GVGP8A8zIfjU5XQZFZmKkDT1pq8Oe1BGZbEmxVewIDAQAB +AoGAToI17qylgo/QSzSGh0t17NsqVP3/6eTlQG1SN8xOzHknxNTMWxKxsEk5gM3J +ICKP/0iT1wQdVw48+v10bANFXbHmLWQARTx3M6JHBhh8EI6P0GcEppJPy6yVQhlX +whgIYBlkYZbR6DHHG4zdB/slYx17XBSgVBzPcf/r9CuwulkCQQD2ygaU5E327UPt +CjHwYooYvxMGRJmSbnBklSeKsrT6LjzyMqGzv72dVDDwbspIel4XWxzCju3LmVBA +N07OJxk3AkEA9Kjp3zzU5JXxY0Y3P+VwxPixzATpSNGdrER2J/aAj+tcuB4sbOqA +KW87RzZbS+ZQa+HcdT/kTo9icEFafyV33QJADooGaz0sDrEZwFxKZuQXSK/xGfxu +o77X5kUXSEeQ+/A/bPFor2NLc3pjS7brOevjoTKf9iJfhhApNy9K+EA7bwJAFtq4 +jhv2nyvKksV6X8OlFyFMKozC5gR+wBrdFrqWI9uOm7xl1f7J3hT/6pUPTjXDiXBd +0a4YO6Z1QZs5QutTGQJBAJ0tkHhzyJQFbp5XuuU23ztSIgcB04IPVx1rjNW0mTU5 +CMHHdspxDDhzHrLn+7L41zOug51+wv0ZbprFpOy1Yo4= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/unizh/unizh.cert b/server/slice/planetlab/eu/unizh/unizh.cert new file mode 100644 index 00000000..8443e6af --- /dev/null +++ b/server/slice/planetlab/eu/unizh/unizh.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwV1bml6aDAeFw0w +ODAzMjgwMzQ0NThaFw0xMzAzMjcwMzQ0NThaMBAxDjAMBgNVBAMTBXVuaXpoMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDIZZjIN1u1BTi+4SD4Z6iHn3fPz9mY +yzK5D6jfUAUrrwo6jmbRuCxhZFJ7mhvgt/H+jUJTWrtD+1lxNba29ICnpk5hrBNg +t+45LqXqOhhNmWM6q//eaXcEpZu3nFr4hcOxnWSC9vt1szTj1oAy6sJv1nExhH2/ +3bSdTxxUqTyT9wIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAAVVwnB854XwKk9Tg+qW +9L80d5VKxFFBJmS5oj986e4x6tvdRCYj+pXYYx+UKpGwbfc6mh814Y3sPXPgYjwG +r2/W2tQ0OaHkeTSri2iQh46Ls30BleN1eWD3dyoJPxkoAJ0/9XeGtOZ+olNvfkbr +2LmKN7rd3sribMHXYIl2iuWO +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/unizh/unizh.pkey b/server/slice/planetlab/eu/unizh/unizh.pkey new file mode 100644 index 00000000..162d1f57 --- /dev/null +++ b/server/slice/planetlab/eu/unizh/unizh.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDIZZjIN1u1BTi+4SD4Z6iHn3fPz9mYyzK5D6jfUAUrrwo6jmbR +uCxhZFJ7mhvgt/H+jUJTWrtD+1lxNba29ICnpk5hrBNgt+45LqXqOhhNmWM6q//e +aXcEpZu3nFr4hcOxnWSC9vt1szTj1oAy6sJv1nExhH2/3bSdTxxUqTyT9wIDAQAB +AoGAW0fL3Ac7Qq1qN6gceIne/kfpL0Oh/jMwm5NCfNXaRReqNRoAQ678qDAmUh7U +a/vdwvFdMNK3UjP/fc3VuGiO4P/soff0l3wmC7MVBCJIUJbClNc1uEUj0ZZyRpU8 +6s5P4Tg+8AtYV16EIx45Kfm5lu60bIF5GlQnvSdNl68kqkECQQDwiP+eCFB3t3uC +BFWi30Hk3ruui7ryq+JLHM0KYvgbBTyNAL6aPsPsAm6g6ZjEOvuUB9zb14BkocNx +051uFjSJAkEA1Uf05ilkSSdXImK+r5us3dMwhlVOE904+UiSfEJwFBKbAGdDbwRd +D4LZWkFbzEhmgGbVWIE8t8uX6KYhW1tkfwJBAI59KafNVxXEPMcFmFFWnitdgqLg +pYtyJSjH0/MOM9mV3YvN4BtxiRB7VFvAZb4BDt1fVwdofueeKDB64my/fLkCQGcT +TJdDn9T+70yN/mwuR2A5ZbU2WvKcsqE/YpQtI69/wmtyfJOVv0f0zAijl7LltqwN +hsQsSWTmPzdPusVFKQ8CQHEmO/yxBQK7NTPS7M5uIMSwsKFOuFzMS466kK8RYASQ +ISstxVyI3QdAwGkg2jk10+hmAp+SLJIVog53SGCpKD8= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/eu/upb/upb.cert b/server/slice/planetlab/eu/upb/upb.cert new file mode 100644 index 00000000..2b2a3c4b --- /dev/null +++ b/server/slice/planetlab/eu/upb/upb.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN1cGIwHhcNMDgw +MzI4MDM0NDU5WhcNMTMwMzI3MDM0NDU5WjAOMQwwCgYDVQQDEwN1cGIwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBALojSE8A1PqbRYVSIs03YY6iZNSJDxRjvbey +Rd1xitTxHqRFbB4M3HKprI7DpcQU8MHRfxcnNrUQV7uTczU1TnBi2LbYIhoJXwlP +mOTvrjv14QuTdYx5AI9gCZ1kXbLjWTsKVdHwOtXPb1coHt79P8Ca/G5VTVeaXJJS +4F17nGGPAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAlDysbeM8dckd2vSBzRTUioai +2pR3rCiyhJ+Ym1pFY95yjAnpi3a3aGPYYPBBiPdCHc+6lnPIrudVMToXgjVIc9UD +6bnRwlAMyIw7b5YOcD16/xT3rHP28MzITs1a4nXWvbUQuLwf7sg2NiKGihSgofJG +9c8znI9ldw7MPGFWOlQ= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/eu/upb/upb.pkey b/server/slice/planetlab/eu/upb/upb.pkey new file mode 100644 index 00000000..f78f05fb --- /dev/null +++ b/server/slice/planetlab/eu/upb/upb.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC6I0hPANT6m0WFUiLNN2GOomTUiQ8UY723skXdcYrU8R6kRWwe +DNxyqayOw6XEFPDB0X8XJza1EFe7k3M1NU5wYti22CIaCV8JT5jk76479eELk3WM +eQCPYAmdZF2y41k7ClXR8DrVz29XKB7e/T/AmvxuVU1XmlySUuBde5xhjwIDAQAB +AoGAKUbLsSFJGW23Q/JL32AplRyz6WGfY3Ee0A6LaajVFZWGqvzuFdfaRt8TcfE2 +4D2YihJv8W1zt0Exg1oWUTVJ+EbWDtYeHJFjS1JbXXQ8XwqFU1zudmkGLF4My4Ze +GTJWjNpMqccYSQu1oiW2/HcBudHKJDCpkTr9eCqu9TZCz3kCQQDxS6Kb6JnSz2t4 +2OvE+P/kazx8mGCd/PNnOMFC1iQSgPThvDFQncMPEZqW7vVHI+8i3Jg2hieF6Szm +Y9z/ykJ9AkEAxXsnFI5tvmSxl23fa6zqWo5rVKAhCAKmshIhmhyEyP4yKwodseEZ +qBklXulO+wh63UnZRttOXjXdKx1UVh/F+wJBANOEUsnKrzTdwD8SIDLtdxtbaY1q +4Z78gr2kQb1+C+bwhjlvB+e8M6X873+Jfxdah6EOsJtzJCg9y682MR9ExN0CQAW+ +SSqt4b8xyoBu75qAEujDT5fMeGl1Okffgx6qSapWyjq6NpbfxxE+efnCq0tducUJ +ysnmwua2hlIkrjk6/1UCQFqB6e21EZ+wcLD7nWZ3bciSQJXo/IoYrZhETSdZgf5X +GONX5XYvUzXkYdUFb7qrYeXleiLa/pse+uFQaMnEbjI= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/fing/fing.cert b/server/slice/planetlab/fing/fing.cert new file mode 100644 index 00000000..5eb0f636 --- /dev/null +++ b/server/slice/planetlab/fing/fing.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRmaW5nMB4XDTA4 +MDMyODAzNDUwMVoXDTEzMDMyNzAzNDUwMVowDzENMAsGA1UEAxMEZmluZzCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAu6PNOmV8HdqW1brodQvKu3m6230IE79/ +8/SdotU5ip5hIvuULLzyr6iyxprBUpcqRrh4SAKZqRMW4f2NynUsaZD/z85M92C3 +JtHZ1/3N6d6XqRvcpTPvmGfk3Mv59WurhxvjPdlf1oBC2ynIZMr0BElefbX9paxY +pR1Lp/4TpD8CAwEAATANBgkqhkiG9w0BAQQFAAOBgQBH/GMSgx8MtwXXwfsxET6n +yINs3yw18V4dioTo/YcaxyW47ZkkqFAK3UnawmVDyPmjWcGMFTvIQeP1e4NYXrOF +rZSUuVGhQ6icX+MgyOxvvVn3mTP6QibWWhpfHFEycJgR+UIjWg7SVxa46jDYLn2X +fuGHOf3mrtmIH3/lyTaJ2A== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/fing/fing.pkey b/server/slice/planetlab/fing/fing.pkey new file mode 100644 index 00000000..d50a13c6 --- /dev/null +++ b/server/slice/planetlab/fing/fing.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC7o806ZXwd2pbVuuh1C8q7ebrbfQgTv3/z9J2i1TmKnmEi+5Qs +vPKvqLLGmsFSlypGuHhIApmpExbh/Y3KdSxpkP/Pzkz3YLcm0dnX/c3p3pepG9yl +M++YZ+Tcy/n1a6uHG+M92V/WgELbKchkyvQESV59tf2lrFilHUun/hOkPwIDAQAB +AoGACG6O7V3cGvdUqdwRUBksjgolVHGk6EZFuK+4WbXdNRZy5QCLIwuGmFArYHNZ +1p1GYBEwDoRXZVqfP56GPZ/QVAZIYFkCw3kPFCb//qnVi4h1Rnstq9/fRpKlhHFh +ng5vhIA0kT5AOn+bdf2eTAmTOQcKsgKlL/VrQlt4f5LkLPECQQD0bO8p20NGtW7U +zDrcUERAnZ2eRL9k3R+g5/B470ghvOtBiYDB6w1l2SJLGhl5nKsUUrCPqI9wA6vS +THOHVlypAkEAxIZ6pLH8ybmjSwOPPMSMJa+6QueEqgc4MoJC6ZgRr1NzG7a2Jzxk +SDofAI6uxfmAeafUrspixAGLF883pXDipwJAE7Mb64GygGZrEleLfuoxNgv+Ah2E +V3rC69MFvJl8dMunIlcUu4xYPhcr/mWSHA0WdMLdXBa3yM1i8cYboZLCUQJBAJw6 +l9bDk8S9qb1heAYD7bGr7/Nt3z3XfWpRuWW/uRdazKAUcNviG4p7gdfMlc3WWbbc +n6vQQhG1dGCaH4+KnPMCQQDvUdeGhJQsjO0TW1DqPvQueXaAaksNU95sUf1FukLz +lw6HAl1xCbmHA5Wjlj078+yOLhSpkYGhXNBzb6cjgOQN +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/haifa/haifa.cert b/server/slice/planetlab/haifa/haifa.cert new file mode 100644 index 00000000..11a81a82 --- /dev/null +++ b/server/slice/planetlab/haifa/haifa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVoYWlmYTAeFw0w +ODAzMjgwMzQ1MDFaFw0xMzAzMjcwMzQ1MDFaMBAxDjAMBgNVBAMTBWhhaWZhMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC/jqO9ZClR4gL/rO0XZ6fFU5ap3a+W +Ev/r8rQ5vi8l505tdfaqsyfE8hjx0oyefrvGeeS/v7yVpQwzDejJxQ/0+5ZV57JF +Q73SpuoD0+lwHSpTRcdX/iFBW4to6VqK7EdRZIyCd7Kft50bYenhjVgAWBPvsMTZ +Zs7auQiO0+3+PQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBADfvl0z0Xx41nxTtQCKD +rmcS06V04dZu7zVCkIiRor1X+et9/1RwKkwZ0Qrd6+GSluYFjnwUe9MUNAXkNKPB +nw5JK+PvoTVlRnsPOR+zMCbTG1Oc8fa7A0EQmOsLz7XkJh3+HVzi6UHKfqw5OTG/ +ZkbmNfGKozeGldv9me/AmFzP +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/haifa/haifa.pkey b/server/slice/planetlab/haifa/haifa.pkey new file mode 100644 index 00000000..2962e599 --- /dev/null +++ b/server/slice/planetlab/haifa/haifa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC/jqO9ZClR4gL/rO0XZ6fFU5ap3a+WEv/r8rQ5vi8l505tdfaq +syfE8hjx0oyefrvGeeS/v7yVpQwzDejJxQ/0+5ZV57JFQ73SpuoD0+lwHSpTRcdX +/iFBW4to6VqK7EdRZIyCd7Kft50bYenhjVgAWBPvsMTZZs7auQiO0+3+PQIDAQAB +AoGAZI8Y3f+KwXWIZXf+Lt83b5tl6F58IqhuuQp8GiQA1EENJuFaUFokcns1JR2G +vF2Dbbnnn9GjylsOgG642dMdgHFRS8bCaFJdyaFvElpTZoxdSMOAVc+FXpoq2lAp +kfV8u+NBuK9wYZ2mQ5fYDng/f5t7i89XSiCdwnEVb7ya0gECQQDiuWDTuJDViKJ7 +LvIEJMgfN40e3oJ3BYEXeQDlWG1VnT+mjpIU/xS+rfrGAKHaslOc+C4jp7REbXZY +Y5he7B7dAkEA2ErHPbfQbsHxKpCRdXsh925nvBuw4640K5hXNNJymfpVILyjI67c +sG4Pvza8rK4CfQ6LzkYef2TKzdHPmZF24QJAek56t3xHVYoB7OXkVOvqsTxseoya +YM6tVxZFr3NGd/r+TUF3+K+qZzq/n3TT24B7rqALc9ySWJ+cSg5gMkS6WQJASnOb +F7yRK77oo+01lMn4zDId1Rt3DThmzubWheE2/5ey+9zTDzJe1wBbvUc7NPmE88Ux +DKUIVHO+d5CUNFllIQJBAI4uhZds5oIaiML4iAhJMI0VQenFXv/Ec0MpRKzk6viH +K1WQPtuGcBY86SfabXf5CJW9CwJkV/nbpXLidJCX0Mk= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/icavite/icavite.cert b/server/slice/planetlab/icavite/icavite.cert new file mode 100644 index 00000000..6356558c --- /dev/null +++ b/server/slice/planetlab/icavite/icavite.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwdpY2F2aXRlMB4X +DTA4MDMyODAzNDUwMloXDTEzMDMyNzAzNDUwMlowEjEQMA4GA1UEAxMHaWNhdml0 +ZTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwGXkSiG9iU9wBaw0jtYSUrNy +EGjMYb2N2H7EjZtkgMWzgntjVQB1qg4Sf0hU/N5kfZlAU6U5AyS6yvLibS+Geaoc +frrTXYpJvBibfU0cfrijItUosDKBzhvl1Nby9CmoHBKrMW0OWyqjVCPNJCdoQd4q +LRLzps2QWkWXO7y8k30CAwEAATANBgkqhkiG9w0BAQQFAAOBgQCItGCr8qo1voWt +loYa+DkNsmsdz9VfzjyiLAKSAd/U603+jM1RY30e8gSeAFsFv2Fc5Ll/edHvSYQD +3s1ZOCVKCyBKa2XT90EPQwRPYRnqTHlcqRuaDb8dPRC1hme+yqEpgla0bIGPvjGD +p3RXbbVhvxXa9GfcEumqFkZWnpAg9A== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/icavite/icavite.pkey b/server/slice/planetlab/icavite/icavite.pkey new file mode 100644 index 00000000..6e7ccacc --- /dev/null +++ b/server/slice/planetlab/icavite/icavite.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDAZeRKIb2JT3AFrDSO1hJSs3IQaMxhvY3YfsSNm2SAxbOCe2NV +AHWqDhJ/SFT83mR9mUBTpTkDJLrK8uJtL4Z5qhx+utNdikm8GJt9TRx+uKMi1Siw +MoHOG+XU1vL0KagcEqsxbQ5bKqNUI80kJ2hB3iotEvOmzZBaRZc7vLyTfQIDAQAB +AoGBALVwYXW3k/Klw1LWL0p0fxsWtv7alcOm6tm70shoPsNhrgPjMK28nTodwzvd +jqhZYhNALvWy3q0kOjOiEf49z2XSaItCq0/wujBe7z9kkJbAnHgEudDPW4GFHvTv +qRQTjKFDNNl8SNS16/Sg3Ti0ESnA8Kf5SXJzmVgNGjxKBNdRAkEA4jlshJnrzsnu +RnTv0cxnweoI1pq0Yjfritalm8cOhkL6bl4QsZTbFQewNtLx4lnXz2x0CPJsrJHg +4zD1JnjIjwJBANm4stSGnAxYQBsWNNuGuAmuPx6S7mej/1wv7pHqc9fZF03BViT9 +ZelND9l8L7Z+PoG/7DHQIrrVXoAH9kdC8TMCQQCRvokpTLjc+r9l6QRwV44pIgwb +poO8G2bGhc8f8zhqS1BoNnXu0oXqoI9oYrKvL06YNbjz4qsc6sbF1864wGwFAkEA +maaydjAlcsTZQQRz+zVhLlvNadtR6syfS8T7/fhTFtK7koFONT6rrHFZLShqV8VS +gakbnLABwo8QaRS1ZudEZwJAFiEA027lNDD/iBtmbLJciIG/Kd/9ETOcNx6DR9nL +7Gb7I499XIVHrGAddmibCxCgzp9q9dlfrofG48GfT3G1tA== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/ihaifa/ihaifa.cert b/server/slice/planetlab/ihaifa/ihaifa.cert new file mode 100644 index 00000000..26824acb --- /dev/null +++ b/server/slice/planetlab/ihaifa/ihaifa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZpaGFpZmEwHhcN +MDgwMzI4MDM0NTAyWhcNMTMwMzI3MDM0NTAyWjARMQ8wDQYDVQQDEwZpaGFpZmEw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJuzYT/8+aKR7NmtIz62ikp72h95 +xsaFNaQqY15P5XelRfLVU6Eb04kZsqTgGvdDycgg7aTfvIhKWjV6NFDF8KT4xixT +volqyixr49Wx1OJSVBQVTNmNjJ4+78NWahXTNVRswcHy6Wgb+I4MJGyw1tDxVrKr +Rg8MCxf2MQ2ki1LZAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAm6Zr32vuFVtY1TtG +aWGL64GSx9zROdG9+um1SUk2DIUA/zfK+/Xfneto/YGpJEnMVg5lWD84BFgHP8FK +4nfuKWF7dn8Gmwk6xQ9xsd8jEbvv746QqXIhOiS3r2xec5eIUD/u8b4lX10ANkzM +wOHTt01SerhCI2WQGPZUIQFfnlE= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/ihaifa/ihaifa.pkey b/server/slice/planetlab/ihaifa/ihaifa.pkey new file mode 100644 index 00000000..12cb468e --- /dev/null +++ b/server/slice/planetlab/ihaifa/ihaifa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCbs2E//PmikezZrSM+topKe9ofecbGhTWkKmNeT+V3pUXy1VOh +G9OJGbKk4Br3Q8nIIO2k37yISlo1ejRQxfCk+MYsU76Jasosa+PVsdTiUlQUFUzZ +jYyePu/DVmoV0zVUbMHB8uloG/iODCRssNbQ8Vayq0YPDAsX9jENpItS2QIDAQAB +AoGAU6pAR7IYMlNXgmCW38wW449J1kAJoANUn7JnUvZ7x573x1T6a0gYk0NLy2zh +EJ1MgE2xZTcUh+fsMXBJTF4QwL6F5pSEIDXO3vlpmeX6xgFITKsDq2f1U02ar7ao +dJqUglMGrvsd5N7KWsi6dA7bI5DyPr7u+RTwjmYwiGSY1QECQQDNh3u0FOY4ZZLA +FLsoujSC4TdLAYpNrKG5t1XoMUABn/aKEKGcwLzLyaLSriER/ZYOHheuWJ7TLxB7 +X6ADBokdAkEAwe9x+Qcd8uTbNc67DCcJfe1aQ/Pp27ne9MbtepueFXFVOUcnEcp1 +IvGrdrhEV3CIYQbxZfkC3I4TpLKdvw1/7QJAScXr3UPzLyMmfdPzKjdMSf5VPpMa +9a6VjngEWgfzlaG5eO1nVUDJg8yoqT7fl/mSNxcOIQKmX99w5xf3854Q8QJAOwYP +IAWkfcpdVTEICJjQ8LyOXmQb5r3ZN5JbsJcwM8J8d6RKJcYChJIc51MJqbscJrug +OLLixhGPtO6PyBfpuQJBAMF/lG+3boZsV+HpMdzgFw9ZVpUQuqC8Lr5yqhwyUlN2 +xS+E/IPRviuJaJ0v4232y2SnROIbVeBCiMH/6SBIPrg= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/iitr/iitr.cert b/server/slice/planetlab/iitr/iitr.cert new file mode 100644 index 00000000..81de0065 --- /dev/null +++ b/server/slice/planetlab/iitr/iitr.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRpaXRyMB4XDTA4 +MDMyODAzNDUwMVoXDTEzMDMyNzAzNDUwMVowDzENMAsGA1UEAxMEaWl0cjCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEApXTL9Lwok5Aq4ic8V81gk6CY5MzH6e8K +tFF1e4In0AS/TsMYCLt1DubJk4aEnXuKRg1PIDvGm5FGtDmbh9Ebr0eyKO/S2s8v +VU+dDX99UKRliWhbXfm5aHrSTepRn4tTr6OiM+Qlm0w1XemeircfVLEY4/2PBKlj ++q8IIsCKYRsCAwEAATANBgkqhkiG9w0BAQQFAAOBgQAiuVMafQ5+9T9AxP3zNbt3 +kR+S0gykiAa9VkwTzNB73ba2BuIQTL+VNyK3oZNH2h2QCQBT5H7i17+0BFfaMOkM +9l81MMYCy2S8Q5jaMCSqsN3ZzkwSNegKuyAAewfobzDXDj3F5Wbvz/4xebhoYy+R +tmqqmlRrKBBxnXGJrH8cGg== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/iitr/iitr.pkey b/server/slice/planetlab/iitr/iitr.pkey new file mode 100644 index 00000000..6e295393 --- /dev/null +++ b/server/slice/planetlab/iitr/iitr.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCldMv0vCiTkCriJzxXzWCToJjkzMfp7wq0UXV7gifQBL9OwxgI +u3UO5smThoSde4pGDU8gO8abkUa0OZuH0RuvR7Io79Lazy9VT50Nf31QpGWJaFtd ++bloetJN6lGfi1Ovo6Iz5CWbTDVd6Z6Ktx9UsRjj/Y8EqWP6rwgiwIphGwIDAQAB +AoGAGIWL6NSuKtiWEniAL/8nThniLx7OjjQ4YOslv01V+zWI6PJvMHQf8DpyK6Qn +KXPy1VkJnhxd3haU5QcYrvNl58JUn/WcNuQRn1n7+tG0/K4pT+5YhEXhuLAZFV3Q +6/FSVuWIyUr+SaozGksRNaMx9FWYcd7y7ur3dWf4YfPKBfECQQDbwdUuFW66aTsq +cchIaPW9N73apPQz3ITTCfvZFlOfyBkfqaE1+TI4AZ6nkr1RiSPmYzwpHVF1NM+l +RycG+a/zAkEAwL5fxOXrN5PAEbxQosAplhSR0M3hZOyObGhRdrj/KexqbK4ln46E +oohxlMQD5Ck4GrvIypeNJdYgU3p0ngX8OQJBANWBwBXy+s6f2L0HKTi4yTAajRl1 +tFECygWkKI0k9QBDT62EiD1BLHpfkH5swgUKwddfyJ6FfpPqSGfi9lb/leMCQQCE +RKCYEGgAdcZC5YY4icKAGZGPRxm8FpIOVvBAlueUL4dBGaj7++ONXjEDtBgvhRHZ +VrCORr44Dt+UKd7JarYRAkBhJK5sPrgLqyCNSeXzebKqUXK2Q5WEXj7tbFbwjPuQ +eW6AgJROKvkhjR2ZrH174N4Ec8nh3TXXJAEzYGWvCCoa +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/ileixlip/ileixlip.cert b/server/slice/planetlab/ileixlip/ileixlip.cert new file mode 100644 index 00000000..7fb7e5fc --- /dev/null +++ b/server/slice/planetlab/ileixlip/ileixlip.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhpbGVpeGxpcDAe +Fw0wODAzMjgwMzQ1MDJaFw0xMzAzMjcwMzQ1MDJaMBMxETAPBgNVBAMTCGlsZWl4 +bGlwMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDX7vy/EztpCoO8hPVsvYpk +9+JWskkWb5O/CrZf6B/ZfVnpQmHs/M2O3Rfxs5DHTS1xsyZqOnj09eGNKu0egEeP +ZZfAVrl6KhnFn2R320LDFI6psqXg3cXDOi1c1g/0NHrnMmz2uZ9Xo7Qk9fe+nzcu +9DFWoljqEaVH3txfu/kELQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAD/arbc8YGH5 +kjlmsIn5r1Th++GfeuNoc6507sPVGu5NvdkFBz6qa/E5zA6GonzsOf1zTslCtkzW +ctLYqdm3kgdKHJoUSBIq9KMV0nrMZSd52at3onn/8I36DnHCOYsWh92Es/SskEyE +fdYjXjNQXD2tPt1GipPlHgoVvb7Kjquc +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/ileixlip/ileixlip.pkey b/server/slice/planetlab/ileixlip/ileixlip.pkey new file mode 100644 index 00000000..e4e2c8ca --- /dev/null +++ b/server/slice/planetlab/ileixlip/ileixlip.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDX7vy/EztpCoO8hPVsvYpk9+JWskkWb5O/CrZf6B/ZfVnpQmHs +/M2O3Rfxs5DHTS1xsyZqOnj09eGNKu0egEePZZfAVrl6KhnFn2R320LDFI6psqXg +3cXDOi1c1g/0NHrnMmz2uZ9Xo7Qk9fe+nzcu9DFWoljqEaVH3txfu/kELQIDAQAB +AoGBAKcTDxR4uPspW4y+A3dDoJVHByW1hL+LTXH/w+SpIhuR1cOZzVMkt5fWkfQ9 +z8Olf4f96bc/zt8acI5drGJxNuvcRgHps0qYscz+VPrj9xEKKqXPLk6DVFqs/m3L +8LD5rC0rCGQTu0QI4LMltxb6mZGebgzdxqNgL43vweijZ/SBAkEA+qvTh7zAFL4m +LFzMP90lWT/Wr6uEYTwBpPuXlVaQwIqnsttGQE8h9lbzMVRAqFRSKKp7brieNgaY +/n8XrFf9aQJBANyGHaOlCvXvF2vpZK5EvDLB3rHbngxdqZXgHKQGpXSPBQAJKW+F +w/a5rturM+JTbEtBfkT+2/f1H4W2zLq1xCUCQDyycIT0mlordNjXG4n3RXzn7Vca +I/LbcdZ+KUU68c/9gv/XApq9zo50nWx7ZzCbQk2ggkTcJUsVq+Qr6BKON8kCQCD3 +N5UQBgxvunuaPz/B7LRVwPmrj/vfQIu0HfPzPmanPqMbu4L9ZycJ6PbTqATsXaL+ +XmboBnARx62QfxhmNbUCQDxUykVvfZBDLdSPUPoo7ky9JCwR1B+drWSKUGdPb4Zs +mipEqn62I2FBYiVBenD652u8GEqV74x7XEaRLWnTY/Y= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/acc_file b/server/slice/planetlab/jp/acc_file new file mode 100644 index 00000000..5a4ef59b --- /dev/null +++ b/server/slice/planetlab/jp/acc_file @@ -0,0 +1,26 @@ +-----BEGIN CERTIFICATE----- +MIIB9TCCAV4CAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODA0MDAyMloXDTA4MDcyMTIxNDcwMlowGjEYMBYGA1UEAxMPR0VO +SSBBY2NvdW50aW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDgD+Z79eOf +iurH0dBuwTFgTfWafbVQXcsY6IQs3o+lV9n7uNAIy2+puX30TZPVja6AsYbLXJsK +2xMUYWuqcyErA9DCD1Ln+PLEJnskx5KQnVm5Gw/xbVOxDSOWQOXUKMxRbRCtlFtZ +Ar/iM40lSpgUTHzHBGOlH7lNeY3UZvLEZQIDAQABo1YwVDBSBgNVHREBAf8ESDBG +hkRodHRwOi8vI2hybjpwbGFuZXRsYWIuanAjdXVpZDoxOTUzNTQ1Nzg5NjI5MDI3 +NTY4NTk3NzE3OTI3NzU0NzI4MTY0MTANBgkqhkiG9w0BAQQFAAOBgQBFnESK6zc+ +GxI/XET7boZ8GSMbKwSQoGf33Sz1qwRp31nf4HvoHXl6j6DmpFtcEqeK8rTP+AiX +n6b14cfXdQ0Px+00/zDNcDyVzh01V6KMrDeVhZrpiejIqW+vPSjMMoO1/nYrY5r4 +gf8HYww8uY1RciEeLPZkcJtR0Gq2jnkT4Q== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIB8zCCAVwCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTA4MDcyMTIxMzEyOFowGjEYMBYGA1UEAxMPR0VO +SSBBY2NvdW50aW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1NiZzJyIz +8uZVHahZQqcmhsxROY8YjjRF/WGow9t8hvaimScO0yH3VUEPolblSM1Juke6M3vG +O7aT7bJCapb7kuoHlrS35k0K/vcOOMXS80gpT8oltKbfJrlt8kmtEXm7F4fh8UiL +m6n/GEY9OPFuvUtQqIFqG8DdBd3SEhi6UQIDAQABo1QwUjBQBgNVHREBAf8ERjBE +hkJodHRwOi8vI2hybjpwbGFuZXRsYWIjdXVpZDoxNjQyMTQ0ODk4NTIwNjUyMzY3 +MjM5NzIxNzQ2MjkyMjIyNjk3MTgwDQYJKoZIhvcNAQEEBQADgYEAUrjefqbA5c69 +KfNh/ENOp0xFnvWn3UReOo2mhYZI2LWyX41g/q/InVogh8aJ7LXHI6wjHL+PGz3n +fU+Bl2fL7GAL0i6Wr1JRbT2YHMJd97C11hWPLg+1Tt3MHwMRf0X8v7I3pRSJOIq3 +si0AZRHgngrWmhf85bKAqS210OWHWOM= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/cred_file b/server/slice/planetlab/jp/cred_file new file mode 100644 index 00000000..6bd14043 --- /dev/null +++ b/server/slice/planetlab/jp/cred_file @@ -0,0 +1,29 @@ +-----BEGIN CERTIFICATE----- +MIICTjCCAbcCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODA0MjY0NVoXDTA4MDUwODIwMjY0NVowHzEdMBsGA1UEAxMUUmVn +aXN0cnkgY3JlZGVudGlhbHMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOAP +5nv145+K6sfR0G7BMWBN9Zp9tVBdyxjohCzej6VX2fu40AjLb6m5ffRNk9WNroCx +hstcmwrbExRha6pzISsD0MIPUuf48sQmeyTHkpCdWbkbD/FtU7ENI5ZA5dQozFFt +EK2UW1kCv+IzjSVKmBRMfMcEY6UfuU15jdRm8sRlAgMBAAGjgakwgaYwgaMGA1Ud +EQEB/wSBmDCBlYaBkmh0dHA6Ly8jY3JlZGVudGlhbF9zZXQ6KDItMCkoNC0wKSg2 +LTApKDctMCkoOC0wKSg5LTApKDAtMSkoMS0xKSgyLTEpKDMtMSkoNC0xKSg1LTEp +KDYtMSkoNy0xKSg4LTEpKDktMSkjMDpyZWc6c2xjOnBsYW5ldGxhYiMxOnJlZzpz +bGM6cGxhbmV0bGFiLmpwMA0GCSqGSIb3DQEBBAUAA4GBAGR3d1rIelq++rJjlerk ++Xlbg+siLcDfNrOE4BgPWqZz9G6QDg+oxpmyP7SkqtO/u/D0PLyndcdKqpXsEisw +28KZtudxBTS5cRpTBCZnoUAGBKLJ3pwRqozwKxxCG8rmsUeGl0xdAjLVw9tzLppO +7LyVz7tZQkIyNF23gv+z9IQU +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIICEzCCAXwCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTA4MDUwODE5NDQ0OFowHzEdMBsGA1UEAxMUUmVn +aXN0cnkgY3JlZGVudGlhbHMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALU2 +JnMnIjPy5lUdqFlCpyaGzFE5jxiONEX9YajD23yG9qKZJw7TIfdVQQ+iVuVIzUm6 +R7oze8Y7tpPtskJqlvuS6geWtLfmTQr+9w44xdLzSClPyiW0pt8muW3ySa0RebsX +h+HxSIubqf8YRj048W69S1CogWobwN0F3dISGLpRAgMBAAGjbzBtMGsGA1UdEQEB +/wRhMF+GXWh0dHA6Ly8jY3JlZGVudGlhbF9zZXQ6KDAtMCkoMS0wKSgyLTApKDMt +MCkoNC0wKSg1LTApKDYtMCkoNy0wKSg4LTApKDktMCkjMDpyZWc6c2xjOnBsYW5l +dGxhYjANBgkqhkiG9w0BAQQFAAOBgQBCYwXvYXbMiAi8hiZNFboYE812F0CT1T7U +PRQemorQcU/7SNZh8wOqGSsHSdA9XW5sC01skkxdOrkxTjGA+Nb1BL+vIFLe7wdp +26lQIA3239E9TUSXQlU9TqdALAC1OsmKgN+kbVfqIQ8U2eqAcUawm4h9/8TEV9xG +teVEYDdXpA== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/jaist/jaist.cert b/server/slice/planetlab/jp/jaist/jaist.cert new file mode 100644 index 00000000..0a236714 --- /dev/null +++ b/server/slice/planetlab/jp/jaist/jaist.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVqYWlzdDAeFw0w +ODAzMjgwMzQ0NTJaFw0xMzAzMjcwMzQ0NTJaMBAxDjAMBgNVBAMTBWphaXN0MIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJIO5ADHk+/l1Mw9wdIvEyAJuyGHrL +wtK3CxKTCnJKD+5nB1RQzAKCvayEM69MUxIwjLI3wZrd6sEWsx5aBl16eojLajJY +AODLWJ9KtaRdZQo45MUquAuJVsFeVtVn9ofnsG2edvXpJ6iHnylvbfcUDQNvUu/r +SBHpGqHM41HxOwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBACLg8PuRj+tR7EefmcuN +St0uAC13wj5fbbX2oFWZVCgmOUZolvsXqomi/PGIg4pra9gc3JNUaTkBF9Yn10f4 +bYWAZnItREGnPs9Gtj7mzlPoplixZt6FOpZCvyau/gkOfBX0wM5UYT3Ky2HGAgI2 +U52fVa1c66pTspuFdy/mRmdC +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/jaist/jaist.pkey b/server/slice/planetlab/jp/jaist/jaist.pkey new file mode 100644 index 00000000..e6bb6219 --- /dev/null +++ b/server/slice/planetlab/jp/jaist/jaist.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDJIO5ADHk+/l1Mw9wdIvEyAJuyGHrLwtK3CxKTCnJKD+5nB1RQ +zAKCvayEM69MUxIwjLI3wZrd6sEWsx5aBl16eojLajJYAODLWJ9KtaRdZQo45MUq +uAuJVsFeVtVn9ofnsG2edvXpJ6iHnylvbfcUDQNvUu/rSBHpGqHM41HxOwIDAQAB +AoGAQy0FhkzkPh71CIuuO+kMyBed6Pj2IpI6kLpZBNWLYKM7jBvNlILfH828Dhe5 +J/Pi8mY7rBW05QPgY/WFYKoZlBQNwHx6ici0L8omYSSpiXLcDdau8tvNPvTDRokO +lXHE37dmY/OGTfMm6fg4pd7xf++Pmqdt11EZJZTTSJcpJGECQQDur3tXH0GS21EI +icH5L3irT6XY+TaBdsi8BcahSjPKqt/Zz6bt0YOF5a9TKxujZQIaIrh4SLGv8Wo1 +iFgdx01rAkEA17f/gJz2FtgtA6EmaaU6qJDZTaHnGwmIkmEsFZ6usxrevNPX6ZRH +9JPf96mg21xdyuKPQ8/thzu/6Ono2s6PcQJAWmbQemD2Px8eA/PZKf4W4Bucnx9U +y5gn0z8EylYGY75wZljFytFN1Ur3KrLrFunM8AUyhSxTUGZJadkoNq8j3QJBAL7V +prGnqcjR2xif4nSJWFgxNBwKg4GWsHwWfMJvi8sklTFlE1gu9mz2uKbHKGeG0e6e ++PCbrFz7Ta4F6BpRq/ECQQDIP89td2HTH+zlHT1xqbAiTxg49f4PWBzHFPxq85Xa +XiX/cmdz74eIU3vEb4kpZ1dKXgh5kEnFFEx5f6YaThYx +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/jp.cert b/server/slice/planetlab/jp/jp.cert new file mode 100644 index 00000000..eb8b77d2 --- /dev/null +++ b/server/slice/planetlab/jp/jp.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBiDCB8gIBADANBgkqhkiG9w0BAQQFADANMQswCQYDVQQDEwJqcDAeFw0wODAz +MjgwMzQ0NDlaFw0xMzAzMjcwMzQ0NDlaMA0xCzAJBgNVBAMTAmpwMIGfMA0GCSqG +SIb3DQEBAQUAA4GNADCBiQKBgQDgD+Z79eOfiurH0dBuwTFgTfWafbVQXcsY6IQs +3o+lV9n7uNAIy2+puX30TZPVja6AsYbLXJsK2xMUYWuqcyErA9DCD1Ln+PLEJnsk +x5KQnVm5Gw/xbVOxDSOWQOXUKMxRbRCtlFtZAr/iM40lSpgUTHzHBGOlH7lNeY3U +ZvLEZQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBALJUkagbTvwjkNswagnzmFOwvrgr +27VE+lze9XYu97FwLeG/ziU2zZHvjO1UVIzbisNGm6NUpKLwvXT4OYXmOQy/pwRj +W+XxBXA51DNI275W3zEhm/ChH70rG9KlaJodGld4CK7lw6ZYYl8mvxV76T1V3oZ5 +SYElO96gZAMA3T9K +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/jp.pkey b/server/slice/planetlab/jp/jp.pkey new file mode 100644 index 00000000..dd128a1d --- /dev/null +++ b/server/slice/planetlab/jp/jp.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDgD+Z79eOfiurH0dBuwTFgTfWafbVQXcsY6IQs3o+lV9n7uNAI +y2+puX30TZPVja6AsYbLXJsK2xMUYWuqcyErA9DCD1Ln+PLEJnskx5KQnVm5Gw/x +bVOxDSOWQOXUKMxRbRCtlFtZAr/iM40lSpgUTHzHBGOlH7lNeY3UZvLEZQIDAQAB +AoGACPpaH+lwX3ovgiY0FdwD4Hn/N1uGIlw/wRXABhQ86UEl6OI048VTChf2pg1d +uRbeQSXb4tYpGDxC/XQR3liSoZVgJe4It5otzn8D6EjVlbvf482G3VbYkLCx5yda +wCV8NRjeazXcvvXJeMpvBLzh/cckVB2hiIHzt9nw1QrbkJkCQQD/N4vA03NpSJQa +CBuK3aXBJE6yKVuEjxZGBQ45X/IXImro/WOAet3NF8NPaFSHzSxXRez8r5fAcMuV +JNMZCG5/AkEA4L/ic0jl8sTVTk+eg7CSlweg3TwYLf4qvYH7hqepgPV+S5SMiUFN +iKxaj+8VZrGwq4EDkDgJIgoilWEcPaxjGwJAQzP0J9VGGZ4T6XrjDcDpiZ8u3bkI +MTKgUdW49iCularpbepzDfzMdNniAwHc6Fl9aImwKqVuFy1cXixxLbFLrwJAAWfx +6Lq6BYzJsNW6riQ6pos7rGal2BPQ/KKFilAeNVpT0fE599navFIntuLOBXhzHH+Q +ICTZmcbqdHjJDnG3pQJBAI5UOdMLQi7APvItfyodK5wynS1FximUrn9pF4CTJVCx +QKlRhnCTy4O1Sprl70xbKA4XKpTTHJ3pICoLvFM8ueo= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/keio/acc_file b/server/slice/planetlab/jp/keio/acc_file new file mode 100644 index 00000000..603f9db8 --- /dev/null +++ b/server/slice/planetlab/jp/keio/acc_file @@ -0,0 +1,39 @@ +-----BEGIN CERTIFICATE----- +MIIB8zCCAVwCAQAwDQYJKoZIhvcNAQEEBQAwDTELMAkGA1UEAxMCanAwHhcNMDgw +MzI4MDQyNjQ0WhcNMDgwNzIxMjIxMzI0WjAaMRgwFgYDVQQDEw9HRU5JIEFjY291 +bnRpbmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOVoqTRxh/259AB1p3+G +HcUxSKpdVkKgJJGXvsCtav2Rxu9jlEq1AHt6Ff08YlqjVLPbSLTxVDDYUva+fmWl +SzWRRZdVkPrT5PipoQ38HM/RlgsMaSsB1otJd+sbVP2Opwbqcc3DZ4+NbRAV051Z +mzR4C10QIOkYBaa+D48ocjC9AgMBAAGjWzBZMFcGA1UdEQEB/wRNMEuGSWh0dHA6 +Ly8jaHJuOnBsYW5ldGxhYi5qcC5rZWlvI3V1aWQ6NjU5MTQzMzc2OTc1MDYxNDM3 +ODc5MDUwMjkzMDIyOTMxMDY2MzAwDQYJKoZIhvcNAQEEBQADgYEA0NDOfUAk1Puw +ghgHzdXzTBZLJkhj9B80D678aSGX/dSOIIJGUo/AXRNfwtVRVUfQ+PQs/LgygGJ6 +u1NUTuhVDJrJROd+bguDp5DSqR/om9uupSvGxGjcGGLpcrGES7hWuTU1VIRgdC8Z +1BK3qYToeIsiaDzIjrkZplq5brgBHoE= +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIB9TCCAV4CAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODA0MDAyMloXDTA4MDcyMTIxNDcwMlowGjEYMBYGA1UEAxMPR0VO +SSBBY2NvdW50aW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDgD+Z79eOf +iurH0dBuwTFgTfWafbVQXcsY6IQs3o+lV9n7uNAIy2+puX30TZPVja6AsYbLXJsK +2xMUYWuqcyErA9DCD1Ln+PLEJnskx5KQnVm5Gw/xbVOxDSOWQOXUKMxRbRCtlFtZ +Ar/iM40lSpgUTHzHBGOlH7lNeY3UZvLEZQIDAQABo1YwVDBSBgNVHREBAf8ESDBG +hkRodHRwOi8vI2hybjpwbGFuZXRsYWIuanAjdXVpZDoxOTUzNTQ1Nzg5NjI5MDI3 +NTY4NTk3NzE3OTI3NzU0NzI4MTY0MTANBgkqhkiG9w0BAQQFAAOBgQBFnESK6zc+ +GxI/XET7boZ8GSMbKwSQoGf33Sz1qwRp31nf4HvoHXl6j6DmpFtcEqeK8rTP+AiX +n6b14cfXdQ0Px+00/zDNcDyVzh01V6KMrDeVhZrpiejIqW+vPSjMMoO1/nYrY5r4 +gf8HYww8uY1RciEeLPZkcJtR0Gq2jnkT4Q== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIB8zCCAVwCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTA4MDcyMTIxMzEyOFowGjEYMBYGA1UEAxMPR0VO +SSBBY2NvdW50aW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1NiZzJyIz +8uZVHahZQqcmhsxROY8YjjRF/WGow9t8hvaimScO0yH3VUEPolblSM1Juke6M3vG +O7aT7bJCapb7kuoHlrS35k0K/vcOOMXS80gpT8oltKbfJrlt8kmtEXm7F4fh8UiL +m6n/GEY9OPFuvUtQqIFqG8DdBd3SEhi6UQIDAQABo1QwUjBQBgNVHREBAf8ERjBE +hkJodHRwOi8vI2hybjpwbGFuZXRsYWIjdXVpZDoxNjQyMTQ0ODk4NTIwNjUyMzY3 +MjM5NzIxNzQ2MjkyMjIyNjk3MTgwDQYJKoZIhvcNAQEEBQADgYEAUrjefqbA5c69 +KfNh/ENOp0xFnvWn3UReOo2mhYZI2LWyX41g/q/InVogh8aJ7LXHI6wjHL+PGz3n +fU+Bl2fL7GAL0i6Wr1JRbT2YHMJd97C11hWPLg+1Tt3MHwMRf0X8v7I3pRSJOIq3 +si0AZRHgngrWmhf85bKAqS210OWHWOM= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/keio/cred_file b/server/slice/planetlab/jp/keio/cred_file new file mode 100644 index 00000000..f26e76fe --- /dev/null +++ b/server/slice/planetlab/jp/keio/cred_file @@ -0,0 +1,44 @@ +-----BEGIN CERTIFICATE----- +MIICTzCCAbgCAQAwDQYJKoZIhvcNAQEEBQAwDTELMAkGA1UEAxMCanAwHhcNMDgw +MzI4MDQyNjQ2WhcNMDgwNTA4MjAyNjQ2WjAfMR0wGwYDVQQDExRSZWdpc3RyeSBj +cmVkZW50aWFsczCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5WipNHGH/bn0 +AHWnf4YdxTFIql1WQqAkkZe+wK1q/ZHG72OUSrUAe3oV/TxiWqNUs9tItPFUMNhS +9r5+ZaVLNZFFl1WQ+tPk+KmhDfwcz9GWCwxpKwHWi0l36xtU/Y6nBupxzcNnj41t +EBXTnVmbNHgLXRAg6RgFpr4PjyhyML0CAwEAAaOBsTCBrjCBqwYDVR0RAQH/BIGg +MIGdhoGaaHR0cDovLyNjcmVkZW50aWFsX3NldDooMi0wKSg0LTApKDYtMCkoNy0w +KSg4LTApKDktMCkoMC0xKSgxLTEpKDItMSkoMy0xKSg0LTEpKDUtMSkoNi0xKSg3 +LTEpKDgtMSkoOS0xKSMwOnJlZzpzbGM6cGxhbmV0bGFiLmpwIzE6cmVnOnNsYzpw +bGFuZXRsYWIuanAua2VpbzANBgkqhkiG9w0BAQQFAAOBgQCQ9r5c/zYcsPuBV4iY +s1KD1E6B1xTu+TtvQw8GMK4JwTLaiBCdX6tiUkOHw40mej3huXD0KSDiBTt34Bg9 +9/E5XwqE0L604WATE4zVzz3s/lP1MroMzjoSphFzXdyHHQRYAOMLWr8e6JLH8qvA +CKI2ZD423aSCNB3FVxqlMyChwg== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIICTjCCAbcCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODA0MjY0NVoXDTA4MDUwODIwMjY0NVowHzEdMBsGA1UEAxMUUmVn +aXN0cnkgY3JlZGVudGlhbHMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOAP +5nv145+K6sfR0G7BMWBN9Zp9tVBdyxjohCzej6VX2fu40AjLb6m5ffRNk9WNroCx +hstcmwrbExRha6pzISsD0MIPUuf48sQmeyTHkpCdWbkbD/FtU7ENI5ZA5dQozFFt +EK2UW1kCv+IzjSVKmBRMfMcEY6UfuU15jdRm8sRlAgMBAAGjgakwgaYwgaMGA1Ud +EQEB/wSBmDCBlYaBkmh0dHA6Ly8jY3JlZGVudGlhbF9zZXQ6KDItMCkoNC0wKSg2 +LTApKDctMCkoOC0wKSg5LTApKDAtMSkoMS0xKSgyLTEpKDMtMSkoNC0xKSg1LTEp +KDYtMSkoNy0xKSg4LTEpKDktMSkjMDpyZWc6c2xjOnBsYW5ldGxhYiMxOnJlZzpz +bGM6cGxhbmV0bGFiLmpwMA0GCSqGSIb3DQEBBAUAA4GBAGR3d1rIelq++rJjlerk ++Xlbg+siLcDfNrOE4BgPWqZz9G6QDg+oxpmyP7SkqtO/u/D0PLyndcdKqpXsEisw +28KZtudxBTS5cRpTBCZnoUAGBKLJ3pwRqozwKxxCG8rmsUeGl0xdAjLVw9tzLppO +7LyVz7tZQkIyNF23gv+z9IQU +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIICEzCCAXwCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTA4MDUwODE5NDQ0OFowHzEdMBsGA1UEAxMUUmVn +aXN0cnkgY3JlZGVudGlhbHMwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALU2 +JnMnIjPy5lUdqFlCpyaGzFE5jxiONEX9YajD23yG9qKZJw7TIfdVQQ+iVuVIzUm6 +R7oze8Y7tpPtskJqlvuS6geWtLfmTQr+9w44xdLzSClPyiW0pt8muW3ySa0RebsX +h+HxSIubqf8YRj048W69S1CogWobwN0F3dISGLpRAgMBAAGjbzBtMGsGA1UdEQEB +/wRhMF+GXWh0dHA6Ly8jY3JlZGVudGlhbF9zZXQ6KDAtMCkoMS0wKSgyLTApKDMt +MCkoNC0wKSg1LTApKDYtMCkoNy0wKSg4LTApKDktMCkjMDpyZWc6c2xjOnBsYW5l +dGxhYjANBgkqhkiG9w0BAQQFAAOBgQBCYwXvYXbMiAi8hiZNFboYE812F0CT1T7U +PRQemorQcU/7SNZh8wOqGSsHSdA9XW5sC01skkxdOrkxTjGA+Nb1BL+vIFLe7wdp +26lQIA3239E9TUSXQlU9TqdALAC1OsmKgN+kbVfqIQ8U2eqAcUawm4h9/8TEV9xG +teVEYDdXpA== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/keio/keio.cert b/server/slice/planetlab/jp/keio/keio.cert new file mode 100644 index 00000000..f6afda52 --- /dev/null +++ b/server/slice/planetlab/jp/keio/keio.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRrZWlvMB4XDTA4 +MDMyODAzNDQ1MloXDTEzMDMyNzAzNDQ1MlowDzENMAsGA1UEAxMEa2VpbzCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5WipNHGH/bn0AHWnf4YdxTFIql1WQqAk +kZe+wK1q/ZHG72OUSrUAe3oV/TxiWqNUs9tItPFUMNhS9r5+ZaVLNZFFl1WQ+tPk ++KmhDfwcz9GWCwxpKwHWi0l36xtU/Y6nBupxzcNnj41tEBXTnVmbNHgLXRAg6RgF +pr4PjyhyML0CAwEAATANBgkqhkiG9w0BAQQFAAOBgQCNEVlU0eBkj63NJBzt/pdo +GBbu29BdYVxFzJ/t6cn80GdaIPBhxVC3yhhIqc5IytJNCKU7361rvUzkIZ7QmHhJ +I/+2zNDKFKTTVzgizyY6OLRXf4uFTjkQtKFttdZ0xa3P4Iu0pGN+qxFUzn86XpHF +rBp3xJGBIQK1aGfReoNaKw== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/keio/keio.pkey b/server/slice/planetlab/jp/keio/keio.pkey new file mode 100644 index 00000000..74098d13 --- /dev/null +++ b/server/slice/planetlab/jp/keio/keio.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDlaKk0cYf9ufQAdad/hh3FMUiqXVZCoCSRl77ArWr9kcbvY5RK +tQB7ehX9PGJao1Sz20i08VQw2FL2vn5lpUs1kUWXVZD60+T4qaEN/BzP0ZYLDGkr +AdaLSXfrG1T9jqcG6nHNw2ePjW0QFdOdWZs0eAtdECDpGAWmvg+PKHIwvQIDAQAB +AoGATq33olnxxy6YpfO0L8OCwFfn0S5T4GPmRtzhelm/4Rm3PfFMMdckRDUaB5FH +NkjgSxNBO3WtZ1c6FRA+b4QiZ6WLbGRFLqYksOpiqryRXg6Hvlu4KIYrIUgOo0E9 +alL/bfNy3yoqs4zU5tqo+ETuoZsaAF3d05xbKgbvdlFpks0CQQD6MQOTJvL/aGBd +iTleoJk+zc3NpFwYqUoUKti6eE52Elh0/IQEEIbbPr7/c7SeRDIETbyMhCeK6gUu +8spkvuDfAkEA6rwgryjWpZTJDfIeZ5EGou9FpTMIQ6WaAmcU6ICd6oNtVeOCBajn +gzeaSs1Z0YcRGhldC3C7AvfdK41IJJGV4wJBAJFRutPUAbycMazisbHm8lvqSimx +19RzMBX6tRvKGTi3ey2oJj3+I3ZhQas616Q91Bdv155+fEFRoGUenLRbsl0CQGMQ +JhMF/yA+HGOgTKiUkeJtbEz9rn0uBEMDUdWVgg+Yi6n1q8fLsni0HI94/nDouZT0 +I0pStvnXtSVOKKYWMtUCQGy/CrH6cfKZ3LIccJKSR4Ub6LIsjFqNIg3RdgcQtDpf +9HXhuYNn/QQP26bg6CviPh1DcV70sjixyvgQ/leyLVI= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/naist/naist.cert b/server/slice/planetlab/jp/naist/naist.cert new file mode 100644 index 00000000..45a8a3b6 --- /dev/null +++ b/server/slice/planetlab/jp/naist/naist.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVuYWlzdDAeFw0w +ODAzMjgwMzQ0NDlaFw0xMzAzMjcwMzQ0NDlaMBAxDjAMBgNVBAMTBW5haXN0MIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDO79i5Hcn2bpOv6himzZJrnnZf18A8 +LSPu2VTtNeg0jFg7P8U4yPW9z52owGUsWVCJuvdD+wmSG+BU66LpOHhIJVpEo5OV +2tKCqMJ93MmWYuL9L+jH/v3jtJiNzXcP926FXQ7rdkx8CU0r9eRBW/hradI0+3rt +9S+WHH83uD6kRwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAJv1n/CkDDvUdrg/ysfi +4tPEshjvXNeR+HJY6Kd7Y6QQXmrZIm4aSCpEbfnTk1xbY7JWzPRRoik0Vp5lkCyT +Y438xLOEmOsGedaNs3y2Ko9ztQmXQ5TGKi2vOA7aREWIRtVz0uX9LlTBkBBc22WB +bKoRLfruXogBrRcj8gp85uPo +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/naist/naist.pkey b/server/slice/planetlab/jp/naist/naist.pkey new file mode 100644 index 00000000..763d8a18 --- /dev/null +++ b/server/slice/planetlab/jp/naist/naist.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDO79i5Hcn2bpOv6himzZJrnnZf18A8LSPu2VTtNeg0jFg7P8U4 +yPW9z52owGUsWVCJuvdD+wmSG+BU66LpOHhIJVpEo5OV2tKCqMJ93MmWYuL9L+jH +/v3jtJiNzXcP926FXQ7rdkx8CU0r9eRBW/hradI0+3rt9S+WHH83uD6kRwIDAQAB +AoGBAJPkyqkSZyLeSGKzFccwqHKNn+BDm7nmMQYlARM/MaNMokpF+zfoN+jeFrli +N2yIsIyeuNU29tIbZiqK9bVkjGEJCD6dzV7TgAs5nHprd94y9lH/wv9MwrEorK4H +ru24pWiLuP7xuxgDsmYiRMiTghDaQzNcxkkz/GIRusRHYZwxAkEA/Qr5ebzHHB1I +LXccIX24QVjuq5kRp1cxfTeLKixYtCC2UbdcJ3MXKknKYcof5LKDbJ6g6+gp1rk3 +DvUo9SsfqwJBANFa7/agRJcqKBNAhBEulabov8+iLBLh5oaqHW2ww0SOC6QnMjPC +4H/xBHvlKfrT5A1QXM2jPVtDtyL7XxWY4dUCQEWqTtLYSU0RNrzlrQX/ccnz7Qmr +Q7P5inN55kN/IBC/bNKEk8d8pSUMWb6ggjVZfFtcNNud+F7YcTMaBeOxsq8CQALw +W94CcfQNS3K5vSDgnokxS0AG7sd1FF9fk/ouOQ+FTvSG+FVxruUc5Qs4NFapEtJ9 +BlB8sifN04xSKwuKkeECQA3FzuEJpvi4l4QwhM5EFonrOByFBkBc4VSXx/qc5L4n +S7RUj+DFn0KnkPmhz/NT/Hyt0ytTeq+/i4F+VWnzWio= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/nict/nict.cert b/server/slice/planetlab/jp/nict/nict.cert new file mode 100644 index 00000000..217428e7 --- /dev/null +++ b/server/slice/planetlab/jp/nict/nict.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRuaWN0MB4XDTA4 +MDMyODAzNDQ1MFoXDTEzMDMyNzAzNDQ1MFowDzENMAsGA1UEAxMEbmljdDCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA30SL5+u3hbtXEUfWoAKocJvggCB5gQDd +4YcvFVi7JpgncVxm0WteQmc5Yzs7OISzcEZ74CX5fylid/FF7dueRPMNXLQfB2PF +k3StYMgek/suPEDQtiV6iS0VPwuhMhIc0aOZYo/0ROWLNECjnBWb6x08or+dHwE0 +t9ekxSDCzqECAwEAATANBgkqhkiG9w0BAQQFAAOBgQA/Pq5O3G2PUXGjLth+UQDH +3zL8kaf/nG809S0grsgDKJpHAIH1xPmuUlKaR1JTH4FssrqE7z+f2ujtA1lOqBIK +TclcIvOU391NWhCW7BBwOn529wAXScEu/9wRlZwuPn81q4F1u1vGuqNeV9BYRZv6 +sRHMZaScPE/VtkbZtcIjnw== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/nict/nict.pkey b/server/slice/planetlab/jp/nict/nict.pkey new file mode 100644 index 00000000..f6699f28 --- /dev/null +++ b/server/slice/planetlab/jp/nict/nict.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDfRIvn67eFu1cRR9agAqhwm+CAIHmBAN3hhy8VWLsmmCdxXGbR +a15CZzljOzs4hLNwRnvgJfl/KWJ38UXt255E8w1ctB8HY8WTdK1gyB6T+y48QNC2 +JXqJLRU/C6EyEhzRo5lij/RE5Ys0QKOcFZvrHTyiv50fATS316TFIMLOoQIDAQAB +AoGAPk1yfRVZ8QeGFFxnl98mAcZ9r0NgpI8JW5XNnbdVAkATQZ73UhkUBJOpf/dX +Xz4olHwWtUXjiYiS4cWCLg3K7Az9eU1ZUXOM/lzT4jugXqTmPl1T1IwaP+RBahpm +T8WKqvtoxvllca2FocPe2bUMi18scSSfLI31yFH2mURLxMECQQD9pExDLZL1Rqva +YBPs8ksx97t2PDCd8XS25+nCnqCWfnE0GC16aXexwlgGq67Xxg8W7cDK6ZRPJ93B +/x0Gp1FLAkEA4Vf0Sw4j2HTMlq/cbdaVT4cWWsmTo/8rU+QeBdAIPwAFavj/v5ZL +CHSoIcVXzDGunkaXW7lZPOFQO7zK45yYQwJAI4BcoEZ/vE8A/NbX0yFyvvKyzXDN +ST4jnPpG8NOtHINkKut7ahfbBglysrRTC6aQNCBhDMW22YF1+5JOqMDAkwJBALXU +lOkjRcVZqeRFj2aJ6f08Ecu8MAf61Gli/t7N2HmNeNGyjht4GJ+AElL9vDSmOjK4 +31VCIEHBxU4OruAu8aUCQAFJuuUR5zm+JaQQTCnAv39NxTugHP1HXodajvnnt3xI +D6BHb0aT0ZanWVw5Q4Rzm/ZMi/apyfkYw1BApfaEh5k= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/osaka/acc_file b/server/slice/planetlab/jp/osaka/acc_file new file mode 100644 index 00000000..e969bdbc --- /dev/null +++ b/server/slice/planetlab/jp/osaka/acc_file @@ -0,0 +1,39 @@ +-----BEGIN CERTIFICATE----- +MIIB9TCCAV4CAQAwDQYJKoZIhvcNAQEEBQAwDTELMAkGA1UEAxMCanAwHhcNMDgw +MzI4MDQwMDIzWhcNMDgwNzIxMjE0NzAzWjAaMRgwFgYDVQQDEw9HRU5JIEFjY291 +bnRpbmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANAGdic1KHHvvlTE7id6 +fmQU4HZ5iZwp9RqFiflTlvc/fJelxS8cV51rE878eZymgbVYwLIcO/Tyvfkg+axM +nBzzWgzSX4wk/zuuNPV0ZwzG0Vf9EN/hzqzu1KWRMxT0/vz6Kri33eTgbyURWp4D +OGYRqR7E573fDd8SWGfWW7AXAgMBAAGjXTBbMFkGA1UdEQEB/wRPME2GS2h0dHA6 +Ly8jaHJuOnBsYW5ldGxhYi5qcC5vc2FrYSN1dWlkOjE1MTI4NTYzNzgzNjk1MTc5 +NTEyOTg5MzAyMTMzNDQ0OTQyMjMyOTANBgkqhkiG9w0BAQQFAAOBgQBlo8xLJmkz +rulFxopVFoKm0bSWtX83yg8YvTauCoxlcN+s1tgu9zT3L4nUsrzmTtrERAKD0XVK +kM8s3PZ8bEq4cez4IMLGGMDBjC8t0QoCjftTTfHNLAT/4Bjv5q6NlCo31wKfD+02 +1H7ebavHehNV3+TJfX971Fvf87UDL1wFJw== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIB9TCCAV4CAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODA0MDAyMloXDTA4MDcyMTIxNDcwMlowGjEYMBYGA1UEAxMPR0VO +SSBBY2NvdW50aW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDgD+Z79eOf +iurH0dBuwTFgTfWafbVQXcsY6IQs3o+lV9n7uNAIy2+puX30TZPVja6AsYbLXJsK +2xMUYWuqcyErA9DCD1Ln+PLEJnskx5KQnVm5Gw/xbVOxDSOWQOXUKMxRbRCtlFtZ +Ar/iM40lSpgUTHzHBGOlH7lNeY3UZvLEZQIDAQABo1YwVDBSBgNVHREBAf8ESDBG +hkRodHRwOi8vI2hybjpwbGFuZXRsYWIuanAjdXVpZDoxOTUzNTQ1Nzg5NjI5MDI3 +NTY4NTk3NzE3OTI3NzU0NzI4MTY0MTANBgkqhkiG9w0BAQQFAAOBgQBFnESK6zc+ +GxI/XET7boZ8GSMbKwSQoGf33Sz1qwRp31nf4HvoHXl6j6DmpFtcEqeK8rTP+AiX +n6b14cfXdQ0Px+00/zDNcDyVzh01V6KMrDeVhZrpiejIqW+vPSjMMoO1/nYrY5r4 +gf8HYww8uY1RciEeLPZkcJtR0Gq2jnkT4Q== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIB8zCCAVwCAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTA4MDcyMTIxMzEyOFowGjEYMBYGA1UEAxMPR0VO +SSBBY2NvdW50aW5nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1NiZzJyIz +8uZVHahZQqcmhsxROY8YjjRF/WGow9t8hvaimScO0yH3VUEPolblSM1Juke6M3vG +O7aT7bJCapb7kuoHlrS35k0K/vcOOMXS80gpT8oltKbfJrlt8kmtEXm7F4fh8UiL +m6n/GEY9OPFuvUtQqIFqG8DdBd3SEhi6UQIDAQABo1QwUjBQBgNVHREBAf8ERjBE +hkJodHRwOi8vI2hybjpwbGFuZXRsYWIjdXVpZDoxNjQyMTQ0ODk4NTIwNjUyMzY3 +MjM5NzIxNzQ2MjkyMjIyNjk3MTgwDQYJKoZIhvcNAQEEBQADgYEAUrjefqbA5c69 +KfNh/ENOp0xFnvWn3UReOo2mhYZI2LWyX41g/q/InVogh8aJ7LXHI6wjHL+PGz3n +fU+Bl2fL7GAL0i6Wr1JRbT2YHMJd97C11hWPLg+1Tt3MHwMRf0X8v7I3pRSJOIq3 +si0AZRHgngrWmhf85bKAqS210OWHWOM= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/osaka/osaka.cert b/server/slice/planetlab/jp/osaka/osaka.cert new file mode 100644 index 00000000..ce4da44a --- /dev/null +++ b/server/slice/planetlab/jp/osaka/osaka.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVvc2FrYTAeFw0w +ODAzMjgwMzQ0NTBaFw0xMzAzMjcwMzQ0NTBaMBAxDjAMBgNVBAMTBW9zYWthMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDQBnYnNShx775UxO4nen5kFOB2eYmc +KfUahYn5U5b3P3yXpcUvHFedaxPO/HmcpoG1WMCyHDv08r35IPmsTJwc81oM0l+M +JP87rjT1dGcMxtFX/RDf4c6s7tSlkTMU9P78+iq4t93k4G8lEVqeAzhmEakexOe9 +3w3fElhn1luwFwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABOBGbnYsv2xjOXidUtp +e1woERQGJRe7HJrbo9NyI5ozjSLt9yphY11ZmNex2IhKIrmbRSPfDnKNYaMHFOpz +qbJMCmC4uUIUd9HY8bg4mQ4wjwdWkLA9uWlmpAFRoIY3eNEvv5tpUnD3sV1dEDsQ +uQQcjxVTSgQQgjpE1KJ/KQ6q +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/osaka/osaka.pkey b/server/slice/planetlab/jp/osaka/osaka.pkey new file mode 100644 index 00000000..25155f25 --- /dev/null +++ b/server/slice/planetlab/jp/osaka/osaka.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDQBnYnNShx775UxO4nen5kFOB2eYmcKfUahYn5U5b3P3yXpcUv +HFedaxPO/HmcpoG1WMCyHDv08r35IPmsTJwc81oM0l+MJP87rjT1dGcMxtFX/RDf +4c6s7tSlkTMU9P78+iq4t93k4G8lEVqeAzhmEakexOe93w3fElhn1luwFwIDAQAB +AoGAflTuPDFUNp1aATD3UJJbX3wuNMTqhSQV7d1bRUc2T0EG8TGC5nFX5Am7JeC+ +GhwkeXVE0OXEo6UnKbyU48ZCp1lL70bjiPvhS/wceTbjuxJq2wS2hjIwf9NKyZ1j +ppO0gpvxOVNbIgyS3Yj2T98sYkJCVBnBN2huUsfzmHSeKIECQQD3SOiKRGfla+Du +dfBY7tKNxxXYTZwV2eYKhMZFW6rMcGboqoAXFMVUTEdHB2Ozk2wHsKcDb3WFpqQI +0QFqdNefAkEA11tW5cDIjiLeppSi57knZr9aYfysJcHslez9wgFGgK72s8XB8CfS +QqzPTmQm4F3NVM+5Y5PbMp55ntEiwPg0iQJAMnGsBjCoJRPZoatraSjmyMc4/JPw +aEC3/aNSMundMLEpPQMy+AJjsquQyruGKibDndn6Z+f/yFDTG31PVaEaLwJAV8AQ +GG4FSmVK8/V8q472TxeJbIPYYUozbKO0gmiioaypOXdLHuAa/LANiJOmg6W1FOnP +UJPerTGFvQDaeGaqgQJBAItAXexGSQEA1AKVzP31zorlb6zBh6dTxxrMhfeROwZx +drr47bhcwuiJ011xXzea9iy1dWJOtC8JrQ/YVw14Sjc= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/osaka/tokyobranch/tokyobranch.cert b/server/slice/planetlab/jp/osaka/tokyobranch/tokyobranch.cert new file mode 100644 index 00000000..3adcfe94 --- /dev/null +++ b/server/slice/planetlab/jp/osaka/tokyobranch/tokyobranch.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBmzCCAQQCAQAwDQYJKoZIhvcNAQEEBQAwFjEUMBIGA1UEAxMLdG9reW9icmFu +Y2gwHhcNMDgwNDA1MDYwNTIyWhcNMTMwNDA0MDYwNTIyWjAWMRQwEgYDVQQDEwt0 +b2t5b2JyYW5jaDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxU+FKE6oEaHQ +lb7fZqVY1yJ1bJYULM3Q5N2Tlx3nPyjOViQ0QohRplSKsA8DEVVgFkaq5xHBXdQv +itTRDY9XIJk4GCqrBSL6c45Mt4TgGcPHhBmHjW+vG3OMhZp9D7Hd7lgo7ZXAWUBw +eAG0U8koajPvgl+RTrkbMQjeh3TKq1UCAwEAATANBgkqhkiG9w0BAQQFAAOBgQCm +qF+VWD1nVwOZpsN42juCb/OYQuDKC//ZMR6QVjOZvyrO1ZolqVM4JHfUkbWLBE4O +8qLXIeXi86P0Ox8ur7oIHmLa7AzRfFwduwWzqJxM5/gihScA/Ym8jqHJZ8AdK5dK +QVJ5vhIhNVjQkoHsCw89+dn1jXlXGXORdZMrZCKe7A== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/osaka/tokyobranch/tokyobranch.pkey b/server/slice/planetlab/jp/osaka/tokyobranch/tokyobranch.pkey new file mode 100644 index 00000000..569e9608 --- /dev/null +++ b/server/slice/planetlab/jp/osaka/tokyobranch/tokyobranch.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDFT4UoTqgRodCVvt9mpVjXInVslhQszdDk3ZOXHec/KM5WJDRC +iFGmVIqwDwMRVWAWRqrnEcFd1C+K1NENj1cgmTgYKqsFIvpzjky3hOAZw8eEGYeN +b68bc4yFmn0Psd3uWCjtlcBZQHB4AbRTyShqM++CX5FOuRsxCN6HdMqrVQIDAQAB +AoGAf5bjaWQrpHM52Yt7FPo5D6z1t8j4tNxGh6iMxvyMS7hMbUGuFZPnEKK8qAqd +FjlaEC2UWCWQH+eU8raZlKYrVQNyCdo02JIACxppy8zGbdScrvJ4zcNVsqenKJYn +YlqtLouaZlo9LcUGrsjBm/Ob8nDXaaMm8DFaArgYlKqxV2UCQQDimOTTmFQeZCC6 +339YGp7KhhN4SlzHbGK9yDbfc3u1IH/+FebuDQV/lDWFDm4KgRxTpGRvEz0AiDjl +faOggGz/AkEA3unImuNW7WxgSCiEVsb5jQI7gbneiGGEaEPyWQ6WvEUkBaGeHc47 +hdPh4xDyarfeGYxfPginTLvaPfMn0OUjqwJBAJ3OTuYRWtvDbYvXJG9uMpHmZ97J +Iu37TJTQv25Ela2hkaGZDTdRuDeONuuQDhCgs+KIRS2Z30zkkYM5SV/4sG8CQB12 +XNNL9PNQfbFL2aH2jok6oE7XGDiCWxPE10U6DmY35TjxUYqy9V8M0DBIzyGXx70s +tnHmhuY3dfL2Lm8Huh0CQEq+/+sgUHe6fIYsTtOSQ1nxxfU+jM6HazzRoz+T0e+c +6ZfMyw/RQ/0+sLiTAImI8YRWFaRKPxU/uqHTOaRPeHg= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/osaka/tokyobranch2/tokyobranch2.cert b/server/slice/planetlab/jp/osaka/tokyobranch2/tokyobranch2.cert new file mode 100644 index 00000000..f545b685 --- /dev/null +++ b/server/slice/planetlab/jp/osaka/tokyobranch2/tokyobranch2.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBnTCCAQYCAQAwDQYJKoZIhvcNAQEEBQAwFzEVMBMGA1UEAxMMdG9reW9icmFu +Y2gyMB4XDTA4MDMyODIyMzQzNloXDTEzMDMyNzIyMzQzNlowFzEVMBMGA1UEAxMM +dG9reW9icmFuY2gyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD2+WE/yzWe +vPV7Wj2dRL5V+fEAvBT11W2B406gzUjkYdWqN1XxgJSBSMwPOP+BGuVqfWm0C5/I +d+lURsqYucKGQ6kZBONKXL79qZzes8BV48m56PaqIG5aldGmO+6ci1kyAgAJXRfb +XI73lXlKSyb2SwzDYyid7y6+ifVxBx2F2QIDAQABMA0GCSqGSIb3DQEBBAUAA4GB +AAaOJT47A7aMrZdJqOA5bBgEIB/BhrpyIEaS+dn+57e2pPI5qjKFd7j4w+UlbfNf +c0h399UUOR7DkLyo7jKuQDBffyeR53da6XRzprolwLfT9Z8KTzFg4z0kn5FX5giY +Ca5zhgoA1NoMQupayYBhkOvcnOIqSRytPEgnWUcBDV8s +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/osaka/tokyobranch2/tokyobranch2.pkey b/server/slice/planetlab/jp/osaka/tokyobranch2/tokyobranch2.pkey new file mode 100644 index 00000000..5fc9fe03 --- /dev/null +++ b/server/slice/planetlab/jp/osaka/tokyobranch2/tokyobranch2.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQD2+WE/yzWevPV7Wj2dRL5V+fEAvBT11W2B406gzUjkYdWqN1Xx +gJSBSMwPOP+BGuVqfWm0C5/Id+lURsqYucKGQ6kZBONKXL79qZzes8BV48m56Paq +IG5aldGmO+6ci1kyAgAJXRfbXI73lXlKSyb2SwzDYyid7y6+ifVxBx2F2QIDAQAB +AoGBAKuY49/uMihDxBBbx9mgrNqR2ciX5bxU+Uw5AiWp3I6KB2nIHte4bfZR/S5K +fQRYCrRtxObK+M7RufXLZfKthqBjr7+Sj6oFVkd3r7joSHnrFXB43Y3PmS9npzV7 +Xai36AZZ7EK6MXpuzqbZ90zbZn+SDY7Lp871qDXjxe9ud3wBAkEA/VtUxgYrxvXa +c3GWRDqkqLNBhdxx9K6nZ/aQal8NH9JdkD/d0dU0XxMzLSSoZjOVdXM1eSUXu/BN +lSKmkDwQWQJBAPmNAH7NTpd+PHAb3Swq/Zvbq/e7fV3AWLACJu87sKYWXt13NviX +WE7YZHPa3Y00k8uO4QG9tMa3BRYP2z5ycYECQBi157bIs0xcfkn0MivFbHnnweRE +c/jhcAJ70eoOC0GnSuje0cu9d7YuMTed867EKTejXPvL2lzCO07oakZ3FUECQCxI +12OpL1826abDaxZhcqvr6bKGtRKkBZkGaL5fi1ON+Lu4YirvQJ6NTBY7KsHaKLgg +3NEgRypUZDSsD64fRQECQQD1TYyFfJ4CyA0bOTOaHvDIC5Hz542jiDISLiaool4k +eAWBdX2gYkM4GLFG3CnxmK3YDLWpQCytTR1x/5jLO5/R +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/osaka/tokyobranchty/tokyobranchty.cert b/server/slice/planetlab/jp/osaka/tokyobranchty/tokyobranchty.cert new file mode 100644 index 00000000..fb48fb28 --- /dev/null +++ b/server/slice/planetlab/jp/osaka/tokyobranchty/tokyobranchty.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBnzCCAQgCAQAwDQYJKoZIhvcNAQEEBQAwGDEWMBQGA1UEAxMNdG9reW9icmFu +Y2h0eTAeFw0wODAzMjgyMjM1NTNaFw0xMzAzMjcyMjM1NTNaMBgxFjAUBgNVBAMT +DXRva3lvYnJhbmNodHkwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKK+rNrP +EemVhmGvtOMFFdCSkegZ48XQ9Z4//McGuxAyDgrKk96T6lDzFzza38vZx8jqAzXm +LEbI/Dq/+iH0znZM4OX70Qxea9QcZdlNO9Ceo+XGfgEozwHC1Tv0GyE2jCDNFC3x +eRCnur7Q/Q8j4PIOcTBmcOP66Ive1By4zyxxAgMBAAEwDQYJKoZIhvcNAQEEBQAD +gYEAPC4+9kfbGbALxxIazogV/sFz0sCP2Qu+HBKPX9AB5tQRMzBJ2q1drGgHNgwu +mWdGCtSH4f5pIubj/gA4Ss0dONuCe06QNaqAK7Mc9S5m6a9jmd7VNJ3SrwBn+Pje +K2Cnmzt4+Lh53GmRY/QqmQ83IoLyUCELusLx9wMslHdB+ew= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/osaka/tokyobranchty/tokyobranchty.pkey b/server/slice/planetlab/jp/osaka/tokyobranchty/tokyobranchty.pkey new file mode 100644 index 00000000..5c9b9ca7 --- /dev/null +++ b/server/slice/planetlab/jp/osaka/tokyobranchty/tokyobranchty.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQCivqzazxHplYZhr7TjBRXQkpHoGePF0PWeP/zHBrsQMg4KypPe +k+pQ8xc82t/L2cfI6gM15ixGyPw6v/oh9M52TODl+9EMXmvUHGXZTTvQnqPlxn4B +KM8BwtU79BshNowgzRQt8XkQp7q+0P0PI+DyDnEwZnDj+uiL3tQcuM8scQIDAQAB +AoGAYHlr+qH52mBbMxl3v4RKNERO3ipKzf9bOx5veIRS6/zgOiFwmudQZgBU7CxL +soo9VqrykEcMREHs097uJqb6pFAi1Sl1eL5Wp0A6irPsGKotlEbcjtgOw4SshBZP +98heo9S3tlflIoHF22gp012cyfzSbT1P2cKPgB4wLMwxVOkCQQDU+AuwUoI9ypFl +Q90kCYaJpKgQomeh40XoYYXzKQuJymt5L6h6/CMfHAEkjZdHI7aHJev850GIdeZ+ +PaV5YTvDAkEAw6DBcAWik1fN3ZBTY5LcRg95deiHt+IM1AHd3Uh/f8Y6M5gdxh5J +ny4RGIikm7oIXt8iTpfBWU6wg/idn04XuwJBAIRjfcCqSdRnrGKrATl5wmymMuPE +UW/NfJOsrDwwc7/AWXcILU/mlV6tZfh3HGdYyArThBO/HnnZ8OLhJ5CA5UkCQQCi +WSKvSL3m8ZNTMJdDp3lOW0E9bMBVBjAHMZViMuw8qdFbR/5NkI0goSZm6d9RrU2N +Djh2aNJ4vykWHJkSv8hJAkEAw+0Q+agSCgG4a5Fm3K/a8Wg1zE83Mwozq8omYWUg +g1ByDA1aKANmpd7+3xQEe7vRSO1DpPCuIWEf60eMuLPpgQ== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.cert b/server/slice/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.cert new file mode 100644 index 00000000..17d80881 --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBpTCCAQ4CAQAwDQYJKoZIhvcNAQEEBQAwGzEZMBcGA1UEAxMQcGxjb2xvamdu +ZnVrdW9rYTAeFw0wODAzMjgwMzQ0NTFaFw0xMzAzMjcwMzQ0NTFaMBsxGTAXBgNV +BAMTEHBsY29sb2pnbmZ1a3Vva2EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB +AJ0qH3RG7sJScOAgSHRWzYhlIyV76N3SPg0H7RJ4P/0JBd0UvoiTKBRThiruzaLe +QTcxkw77OHvfsdoYa7ob+qtAYIzK3AtPT9T9b8iRZK5eDamoL7gaZnH8XFD+QgsE +YD9ZlJNhU05H/KjnywjB1zOZSAgLCmseLrbnrY19G1bfAgMBAAEwDQYJKoZIhvcN +AQEEBQADgYEAQxwyaY8MTRQoH9GK6JelQG3mymTVuJFHIfcvB7/SeTmfT6lkX+jf +OffVNSSQsl59wjmgwaojypUguIXaK9z5TfC6Owr+2I1sKQyNWZHpdJJoy6vKiun5 +h2/apDEHl9Sj8wwAh4ePKmj5IZVd2uzw+mhSkMQgduIsYCqpo4JgYv4= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.pkey b/server/slice/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.pkey new file mode 100644 index 00000000..ab2b474b --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnfukuoka/plcolojgnfukuoka.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCdKh90Ru7CUnDgIEh0Vs2IZSMle+jd0j4NB+0SeD/9CQXdFL6I +kygUU4Yq7s2i3kE3MZMO+zh737HaGGu6G/qrQGCMytwLT0/U/W/IkWSuXg2pqC+4 +GmZx/FxQ/kILBGA/WZSTYVNOR/yo58sIwdczmUgICwprHi62562NfRtW3wIDAQAB +AoGAeRIYBQUXrM7BcYatCiJMVwRCXP/lVew+LN+sO4wzDwRCZhsy5Bcoyu/E7ZHl +C9BXQOOJvAK/cn3SjoY9hrNDGDB7iAXcfZprzQVEqvww0GdwTEvMAAzLcYFyd4In +D5d+F3sqmBdstEiYWKWH/pO9UpHxZkb8T+qPQFl2p6zGXRECQQDL/1fPVTGRYUKV +/Zcxyycz505PDqAPbmn/tGx9cfMhInTqKg1ZQx1SFd8aEDQ1Lo4IJVzaf3M2FRBw +ghXR+s9rAkEAxTqDzgUDOdKVmnWCAOkGCvDsSfdiDQpQjfEo19VjcD/Vmsz9jFBE +KW1JqD5sw3F5z3b7wEtoUeZXFb8E+Mo3XQJAaP9wbuLmtHFfGFyCKbrq3qg7gi2A +7PBj1p1DCf5QqclWbABhBoSo3ssrHfshJA5mRIMWm8/luPx2jbInEQELKQJBAL7T +2QeTDgX6XMmv/HNJA5G+fcErXHFlk39i4LPEQYwwF0rKIGCMoQa8OVJR5AZOWx+C +7h6mV282wPfHdNYLQfkCQQCKm35zZTQNvVWZUy2ah/NCzwDHSd09WxsiQwmX/TCU +6nBSAr280D/oD5v3QghqCpSrWBWMpw9OmHlEykB4KNwu +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.cert b/server/slice/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.cert new file mode 100644 index 00000000..c9d6f259 --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBqTCCARICAQAwDQYJKoZIhvcNAQEEBQAwHTEbMBkGA1UEAxMScGxjb2xvamdu +aGlyb3NoaW1hMB4XDTA4MDMyODAzNDQ1MVoXDTEzMDMyNzAzNDQ1MVowHTEbMBkG +A1UEAxMScGxjb2xvamduaGlyb3NoaW1hMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCB +iQKBgQCbhgXoF+JSqsc+t0M0aBbX6f83PTFj+HH15QBdhE9lFYHy6aGGpu+YkBeu +mZOCZjkc2k8JiAaKA5mheQxhSP06BxU2z1rz7C52437PV7DylvZqr3R38SI78sdu +uzqlz4uqfBvTFniyWSvU3RigXFobQ4xgIzUGBnkDu6vqarVMKQIDAQABMA0GCSqG +SIb3DQEBBAUAA4GBAAi72cMggGITIUQzH5tn46OOq3m0yPvJ4WX7PpZdvktqhQw9 +r4zfzvvAu31TTK9wwCaIesvkr/qEi8+kmw1BzJWmtlvtViyBZFjFm0Ko959fXj0W +Cj19r+JOfCsnymzaUGTIm51KP99Def1sbORe7WjcqhmcVs912Jz5uwaun5Nw +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.pkey b/server/slice/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.pkey new file mode 100644 index 00000000..1011b5f7 --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnhiroshima/plcolojgnhiroshima.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXwIBAAKBgQCbhgXoF+JSqsc+t0M0aBbX6f83PTFj+HH15QBdhE9lFYHy6aGG +pu+YkBeumZOCZjkc2k8JiAaKA5mheQxhSP06BxU2z1rz7C52437PV7DylvZqr3R3 +8SI78sduuzqlz4uqfBvTFniyWSvU3RigXFobQ4xgIzUGBnkDu6vqarVMKQIDAQAB +AoGBAJeDVyfIdPYCaH/B/FgG/BI3ZisDk6WIOkXLZrK0nsCk1me3kmRjJ9Kitl+k +QJ/uRL/GMu/fNDeq0DYOfrAcco1b5l9umueOh0jLiFNISxRXQs2HrJbJbVpHdQLU +yylttBYCzROWCIbiI5VCwf8Y4WbBkzgYQjV1rwFA1MJrpGdNAkEAx4tKjcx05it+ +s27cnBhgAL3QbXJNjYRImjn3ztNPc4E7+f9V3XEiSm27a0YrG861v5POYnL21p2D +Ffk4G7Ug5wJBAMeGYY58uJZdhlD14Otz9FvzAEKBUt+0gGyG9bgnn8eTZXBjeSol +QAHvIIMcQ1ZYvaucHh5dVvR3MOOlZU2KuG8CQQCGqQ6IANlG10Vqy77fLGflODNn +GMMTZJkmU0ZTcjDk7urNvC1zAj004zaenzzKSEZI4fNeZt0DWkqzUns135czAkEA +pyD5NtFiDRHqIIbVEGTgmuTBovOQ57HaoQ2rZcZLIHFm1u174MGzC+ux4CEchodu +2QC8edLVs5DjcsxoPrukIQJBALB4rBr9rZdN/nCl3Z/r6fGgyDlMGQbm5fcq7S/W +GTnQzZ0TWcaltoga9VRPpziuGP81KheLd0+VUsjhiJxjLjA= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/plcolojgnkochi/plcolojgnkochi.cert b/server/slice/planetlab/jp/plcolojgnkochi/plcolojgnkochi.cert new file mode 100644 index 00000000..dbe69078 --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnkochi/plcolojgnkochi.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOcGxjb2xvamdu +a29jaGkwHhcNMDgwMzI4MDM0NDUxWhcNMTMwMzI3MDM0NDUxWjAZMRcwFQYDVQQD +Ew5wbGNvbG9qZ25rb2NoaTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAzxZe +Qb9euARCd19rdgnqIeYeZPUuoYkIjbl1HsY0Ti3TGuUfC0A/a0pCNEtfuxLG3nn8 +hDoNsMjr0yTKsCXpGR3/iqS1/eHFvfOJNptyby0imjG7sIijGE+ebe8QGI0HfIaQ +WsEn291G9C8T4CvzJiogFEZEy2D8jQoz14/DQRkCAwEAATANBgkqhkiG9w0BAQQF +AAOBgQBLVp1/VW3H9iayq3sCWCLxNTlWIv/uUm2H2Ydc8vYziHy8h3JAHiupdeFg +IUt5cg53Jv5Bpz/oojEmNw+P3EgOFBKBZQalkIjX+ztKQdDivksNB6YKK+gYumlU +SmL+gyQwxU+bSQd1ZbcPE6kYe9jTnUo8M8wtz8h+qO0yfaSEBQ== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/plcolojgnkochi/plcolojgnkochi.pkey b/server/slice/planetlab/jp/plcolojgnkochi/plcolojgnkochi.pkey new file mode 100644 index 00000000..c7a5d94f --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnkochi/plcolojgnkochi.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDPFl5Bv164BEJ3X2t2Ceoh5h5k9S6hiQiNuXUexjROLdMa5R8L +QD9rSkI0S1+7EsbeefyEOg2wyOvTJMqwJekZHf+KpLX94cW984k2m3JvLSKaMbuw +iKMYT55t7xAYjQd8hpBawSfb3Ub0LxPgK/MmKiAURkTLYPyNCjPXj8NBGQIDAQAB +AoGAa0/TDk0F32PNsaBPxn5CxshBzd1ECc9CEHcfWxAowK58a755hNIJSybTAdhh +RkbnqRgbo8WVnJuxoNu68ObkUAGJ8jK5Vg/p8wTFN1HV4zmfzmScd2F9yoV9D5XV +gf1cgQak+pU1iiIY4UyXIZ8sZhKmGqIljx9b92zxErrAyNUCQQD2q04Qt+LFkXE0 +B0p54YonyHqw/Vnp3RU1kX2pCbEDAfgoaweUXb/PpEa4JUTSHzDmDkosHGd7+eFc +phqOBdVPAkEA1uvC2TXneumRaCWtsWfZdCN+n105wd6QP/KP9eb8tfUJM8oXDroO ++E16vra3088EzxuOgSBOsM0ZaP+xkLm5FwJBALW5eqfCcWUQQ5ALFwk36eppPkqK +O+WZJPj0GNmh9DC9EK/mOg1KC/fTlO4xNsR+ii3StT5OJsclTqxNCx86mO0CQFRq ++nfzEl9XCwRLeHQshF936a6TIbKixyo3DpDaD/0wqFKtWG0ya9rgJAxxHLeXox3u +hwT1ObN8fDSf6pEcQjUCQD+6xj33DI/Pk3zWwlTtgjNm/N0IjgO/odjy0W/mKMX9 +2hRp6VCKOLqe0O7o0fbje+pFch3HDlVhPP5ZeGqp5ng= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.cert b/server/slice/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.cert new file mode 100644 index 00000000..1fff5f45 --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBozCCAQwCAQAwDQYJKoZIhvcNAQEEBQAwGjEYMBYGA1UEAxMPcGxjb2xvamdu +bmFnb3lhMB4XDTA4MDMyODAzNDQ1MVoXDTEzMDMyNzAzNDQ1MVowGjEYMBYGA1UE +AxMPcGxjb2xvamdubmFnb3lhMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDQ +ZKU5Ee3fDeXV6vsH+AWcOWrxFo6hpCmJPfQveh/ELirAGdkBA1QqTtCEOWWtbsmR +n16lOIPEt+iDvuyf30L1DuO+Cfy0y2rPj3HcfSIRTZaaNghuo3PdyFKf0Z+H2y5/ +Sj8IUtXRlVDGPxpVi5510NTcXhuafY4wXPpt1CNeqQIDAQABMA0GCSqGSIb3DQEB +BAUAA4GBAAFsNbW2k0Rfm0x8XmJkl4cpS1izZVnlSIyEs7ogxB4ZJOH38yromxSr +WDzlHOLhoUCqFDWE/g+Peqr/eQTx7JhQe3fWpa6fEHKZ4UFkuxngP8klvt1uRheI +nfyAZVufbJ4qkaOV435xQu4g0YBxrd4zi3lA9v3iUYoe5FwAOzO6 +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.pkey b/server/slice/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.pkey new file mode 100644 index 00000000..f560b43f --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnnagoya/plcolojgnnagoya.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDQZKU5Ee3fDeXV6vsH+AWcOWrxFo6hpCmJPfQveh/ELirAGdkB +A1QqTtCEOWWtbsmRn16lOIPEt+iDvuyf30L1DuO+Cfy0y2rPj3HcfSIRTZaaNghu +o3PdyFKf0Z+H2y5/Sj8IUtXRlVDGPxpVi5510NTcXhuafY4wXPpt1CNeqQIDAQAB +AoGAOWoBO1/9MV8a230J/IAQy6HmHNYiJdacuvses5Xp+prdnF+CsgzAu4dLW6KU +qNvFHSHTaaHQa/pfTSzk9IcGYw4cC0ihZiHyI1MgmN+9lPlZj44xOaZ/31g8qC1g +B/c0iJIlHZ1iGm6tVZpYi75Si6LPRKgJS5YWu28pXM/h3AECQQD8JeXmjUi4qHTe +M1waXqjRg/VBK1e9qlUicCOSpHPFmJ2x+EwNv4OnkrDLWeABNl9U4XpG7J9SXa/t +HxXxPPbZAkEA05OhZr5FHwFYAkmPd220m6AvkLLIwHLoYIZ96yglVfJwal89Fcr+ +Lg7IGdUEIb1bB8MvZkUMMPD2ULXbVADkUQJBAKKDyqnOZhCegrS0ZaiZWjWv12Mp +jGOyZSzNGiBp3jR9KSaL4nj59uEKquhmBPrDEK6kpSsRV56+w6URZBMYOAECQQDQ +aN/YARy9SemTdzpm/h2mHsg71KCDUa0tR83JUiZU3xd08JOPYAG5BL5/E6GaSpfc +sZuDNgioPPOk1T5TJP3BAkAuz6jfl5o70NZ9JG/xm1x+Gf4AIOkgYLwPWNW+c6Bp +tL85SeQaDSskvwGjtNX4OIBdJiOgMEki54uRCnYFpC8u +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/plcolojgnokayama/plcolojgnokayama.cert b/server/slice/planetlab/jp/plcolojgnokayama/plcolojgnokayama.cert new file mode 100644 index 00000000..141b4542 --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnokayama/plcolojgnokayama.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBpTCCAQ4CAQAwDQYJKoZIhvcNAQEEBQAwGzEZMBcGA1UEAxMQcGxjb2xvamdu +b2theWFtYTAeFw0wODAzMjgwMzQ0NTFaFw0xMzAzMjcwMzQ0NTFaMBsxGTAXBgNV +BAMTEHBsY29sb2pnbm9rYXlhbWEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB +AMpkSA0hJMOgrUx+v0yuSBdsUB4xBDayrSfQnUIw9keCDvrUH0nqghA1l+bf26yv +rXSIcnxLqzxyCnk696vlVZHHNFWXCmQxTjwrDr5h9i6LcszIcdTOMH0tj5i0roCS +oV6JoYe0tA5srrio/OKqhgovRCyUBhhGqJ3IEqwsWpEZAgMBAAEwDQYJKoZIhvcN +AQEEBQADgYEATT+5d5N5qrgI12LsnhwHkAw9IGpdztPkmhDd8ffL5nw2mKbUAnop +C4miPqcQj3JmNSQLSJGZGTTd8XQ6MVIoCFNjBJrCSyx2KinuaKV9LqF357zz0M3N +plvAGXc0TzUNluDBDcL//Go6QQGqW4PPDrjseTjp4WJB4fcf9MVBNrw= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/plcolojgnokayama/plcolojgnokayama.pkey b/server/slice/planetlab/jp/plcolojgnokayama/plcolojgnokayama.pkey new file mode 100644 index 00000000..af834711 --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnokayama/plcolojgnokayama.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDKZEgNISTDoK1Mfr9MrkgXbFAeMQQ2sq0n0J1CMPZHgg761B9J +6oIQNZfm39usr610iHJ8S6s8cgp5Over5VWRxzRVlwpkMU48Kw6+YfYui3LMyHHU +zjB9LY+YtK6AkqFeiaGHtLQObK64qPziqoYKL0QslAYYRqidyBKsLFqRGQIDAQAB +AoGAYHgoN8nigjSmJd4MRPqVdkS0c4+dmIzWKDIxowk/epotlbViLJNQ53UEMJHn +XYpnPTKEj2Zp+mfJQjuvLgokHH083MoFkg+rbcg7sICcowy/1yazgy7Gyo4mTSWz +Sy3dUmrWJpUj5EnFAyM7fRe2S8zydNF2OY2Jiz+6uLwZPFkCQQDlVDohCQ+Zzalf +KuwnvoNFKi1bNKY66b3SelHM1RQyKgfL3AWtKg6GRHOFBgweayoiqYM90zb58Nxe +khdUzoIzAkEA4e4OIN79+a8s7vxiXHa93b01Li4ak6dO5O9SpB75/vCXh+RXw8Ll +HwAJgrYcMjnCLQnWuNwZ/uM/uL/ksFNLgwJAVANUPE/+eCEA4I1v8Gt52bfG3/fc +wg5pbRdEql6RRINjUcqsBbE3mvauv1fkzqwBxqsFGnwrUstrX/XzOC1jQwJAIRdc +DGZ87phAzZQ71+0wbAztgCESlXPY82E2SoGa/kNA/o9sZ2jhZEP+IJ4JzTV2gmBB +ifv69sFUMPwyQ70/fwJAfr3BzU3QEcrObEXrTmFj6nndShMVQAv2xaS0oVprbMx8 +3HLdTpb2DxMiqT5bLg5pBLcoUGhTZi8mXt2EOhQ57A== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/plcolojgnosaka/plcolojgnosaka.cert b/server/slice/planetlab/jp/plcolojgnosaka/plcolojgnosaka.cert new file mode 100644 index 00000000..d21ec330 --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnosaka/plcolojgnosaka.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOcGxjb2xvamdu +b3Nha2EwHhcNMDgwMzI4MDM0NDUxWhcNMTMwMzI3MDM0NDUxWjAZMRcwFQYDVQQD +Ew5wbGNvbG9qZ25vc2FrYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvsQh +G/Yg2RA8m9eVAK4sdLQBEMsEgi4Ngd5n59Rgj//O1K+cv/9PwsS4kQwwaD+gdaO2 +iFJLdGUR19ykJFgIOAuF4rc/ieH5Fncwhsi6+WjDCpK5qCZTFhL8eCc1jebAFF/u +7Y3/tT4HqGcskuTIQAUzXBSdS8I+ck2fc2U6B0UCAwEAATANBgkqhkiG9w0BAQQF +AAOBgQBrcjxgxY8UGDofGEQ9MCQH5WRT0JAobaAmi2JhSrH5gE+q9k1erflRpqtU +kmvJregmzfsdCKiKHKwzwSfEQxJLYtg4Aq8UNGUR3qOFs6G2cMq9UOF8+wGCIQz+ +pOgxaS7dtB+hZsdTQZbUe6pjQ61jCWikc6s+JyGT4bRklnvtOw== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/plcolojgnosaka/plcolojgnosaka.pkey b/server/slice/planetlab/jp/plcolojgnosaka/plcolojgnosaka.pkey new file mode 100644 index 00000000..aaaf18e6 --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnosaka/plcolojgnosaka.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC+xCEb9iDZEDyb15UArix0tAEQywSCLg2B3mfn1GCP/87Ur5y/ +/0/CxLiRDDBoP6B1o7aIUkt0ZRHX3KQkWAg4C4Xitz+J4fkWdzCGyLr5aMMKkrmo +JlMWEvx4JzWN5sAUX+7tjf+1PgeoZyyS5MhABTNcFJ1Lwj5yTZ9zZToHRQIDAQAB +AoGAL/8WuXtGrnZoWWl3QtGPu9kiP4Bk5QADQ/6aM/j6RqC9AEQi8yeggMeQDGZ9 +s2z2yUJkhY33EBTx1VbdMYu4nTmlafWTczSS/LTxFfNLEJzPvZ5TYpZKOfWXiStg +KbebJszaW3H7MKfLfKxMIvC6d31erBM5iJoBOJvNfQE3uE0CQQDwrChGwcdBGm1B +dZbT1qBsOkPbpPtyv65Jy6hx65dFRx0r/tPi2lua3s+D5laH9AbVJljV0C2XNJCl +eBHxg0SnAkEAyupQzdb5I1fVSbMBZsF6ke5Cf7t3aE+h+nIFrRoQ12UGSylehNWp +06i1Pp0k0/scg78NXpqB5UUOHxvVKwsWMwJBAKFMkHXTm4pLftv3Rk3Vs5C1gBMu +QIPIabP1tYAcSDbbEXcSA8ovVGO4XtXkwyu85fNnDvTF4DhNt3/euA/oTVMCQQCX +5KKsEvnYDQ2p54drBfXcez/oIcqWmNWlhejd1R86PXNinAsW4GIKAMX7ouJIlDaa +IE+/u2T03KZffxQo7lmlAkBExI+VF9b8FTJIo53k/+NsnXkUXGrd+Li9ejQKlPaT +AifkfZv5Lc58flFfd6aRbKYXROjq7LUA+MM2kE/2D1AF +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/plcolojgnsendai/plcolojgnsendai.cert b/server/slice/planetlab/jp/plcolojgnsendai/plcolojgnsendai.cert new file mode 100644 index 00000000..07dd5888 --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnsendai/plcolojgnsendai.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBozCCAQwCAQAwDQYJKoZIhvcNAQEEBQAwGjEYMBYGA1UEAxMPcGxjb2xvamdu +c2VuZGFpMB4XDTA4MDMyODAzNDQ1MVoXDTEzMDMyNzAzNDQ1MVowGjEYMBYGA1UE +AxMPcGxjb2xvamduc2VuZGFpMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+ +mqfgH+XFeueopeeRKg6VGo7j/ikyexu0FN23ep57Nva9+i1M9vC2oMBiwl//hmGx +5jXfuWYgm92nYxD4syYLwHWwd1PhTP4lka1TAB0MaL6TR9zLMicHjs8CPVsxNGt+ +F7QmKixhg5xTd1OYjI4uJYvGfJpgWmRR1I0EHM3qnwIDAQABMA0GCSqGSIb3DQEB +BAUAA4GBAFonC4Ej5gxizDbXM/G/8a2mWJx+MBtL6X2QY65vMEGN8LCoFM42Egq0 +0uHXwOV/8NrWanXTTU+iInvdnnSUJwLFAlaRhAUuCQgHnBFhuWsJtj6YQK7sQ3Fi +yiJk1ZKK4JwyIjj95sVPjHgM5lPFawhl/MFUHeSjoUjBGILrHaVh +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/plcolojgnsendai/plcolojgnsendai.pkey b/server/slice/planetlab/jp/plcolojgnsendai/plcolojgnsendai.pkey new file mode 100644 index 00000000..92f5693a --- /dev/null +++ b/server/slice/planetlab/jp/plcolojgnsendai/plcolojgnsendai.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQC+mqfgH+XFeueopeeRKg6VGo7j/ikyexu0FN23ep57Nva9+i1M +9vC2oMBiwl//hmGx5jXfuWYgm92nYxD4syYLwHWwd1PhTP4lka1TAB0MaL6TR9zL +MicHjs8CPVsxNGt+F7QmKixhg5xTd1OYjI4uJYvGfJpgWmRR1I0EHM3qnwIDAQAB +AoGARfaO2H3c4XgTwJvlPCur3p85BAcvKBB4QsnF+KtRsPij6WgDaNTb1q168MVY +Z3r0MVDHRa/QBPgxjFeYyzE3LUb0rKcxJVZBc1FsNJnRdgs6+y2LnGcIcmS8QD7A +/+ZLo8WVl/wlRl0l6ygFoonn2mwG+ndNK+NCd4Vb+gm5RUECQQDePslNfTDdQeQ1 +kRUG0D1nGqnXoKAtkMKvUbR4Q9M9Hg+eZC/Iicy2LNr8rHK+yBk3R7iH6WJiZh2Y +nZO0pfaLAkEA242d6A2NiaEUoi5llR38axx6wfoq/WJSWrGbznFeZjH/BQD7ufLr +9GGs8amsqXsd/7QbmH6O8tE5LH0cEBdyvQJAaaFz8jWXfQItYlxjnwpotNGSeh8p +Ip8UOVnfKe4qv3jDOagqoekE+G1XZBLestjOS1z2UvrVPSmF1ZzHsGvVQwJAYUCb +37yRI5PMtgJjUOhVdYTKA76y6EZzQGVIJOwm6pHe6vKCjt3CEyBpISsNpo04vpmj +V6tH2ts+viw1EBOy6QJAOVYn6aZi9R2A+oFABeZKGiejo8J/cQr2H2TFbcyrQ0wR +NbcnLkpApr/jYeg41wi8VljgNU0suJq+L0tblCZudQ== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/plcolotpgdansk/plcolotpgdansk.cert b/server/slice/planetlab/jp/plcolotpgdansk/plcolotpgdansk.cert new file mode 100644 index 00000000..bdc4e2af --- /dev/null +++ b/server/slice/planetlab/jp/plcolotpgdansk/plcolotpgdansk.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOcGxjb2xvdHBn +ZGFuc2swHhcNMDgwMzI4MDM0NDUyWhcNMTMwMzI3MDM0NDUyWjAZMRcwFQYDVQQD +Ew5wbGNvbG90cGdkYW5zazCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAx3oY ++bW9XfqQnNQLmnrAsj+bPAKtzRQUHl8RzOIH/ECagTPQ3/RpC2Io2avzAoaP8WpR +RE0GQYZIgc5HRAMqB9MyvBJ/WU/2G7uLS4w3sLKJPy5UHM8YNeoPiJ+6+UyOOjt8 +pf+PMwV70oFlf51xR6/8Zxn8u5zJKul2EypPQVsCAwEAATANBgkqhkiG9w0BAQQF +AAOBgQBxf6a0UIk2eaxbC0r/Ch4yg2/2DBlIWQtnulSPRA72+VFxM4VZa4ScoHFj +o4jwEdVynH0Ov+tffMa6EZD3x6M+u6yXVXiv/+CUJqgm5HcsTNiSgCtvbHG/f90t +WsZcG5wMNNaVwBpOoKfsV8IklKS6rysgX5vUOLv0Tys1qU3XaQ== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/plcolotpgdansk/plcolotpgdansk.pkey b/server/slice/planetlab/jp/plcolotpgdansk/plcolotpgdansk.pkey new file mode 100644 index 00000000..825ece36 --- /dev/null +++ b/server/slice/planetlab/jp/plcolotpgdansk/plcolotpgdansk.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDHehj5tb1d+pCc1AuaesCyP5s8Aq3NFBQeXxHM4gf8QJqBM9Df +9GkLYijZq/MCho/xalFETQZBhkiBzkdEAyoH0zK8En9ZT/Ybu4tLjDewsok/LlQc +zxg16g+In7r5TI46O3yl/48zBXvSgWV/nXFHr/xnGfy7nMkq6XYTKk9BWwIDAQAB +AoGAc4AcFAKKWm8p6tTQvyrShqNTxCSc9ADrQUa07Nf33bSega86A2Lmq+OzWY45 +kD3P/O4djhm3RJt3Qknpc9UNMSE8fnhmle5febWMlGCr+NgYbliBWX156Twkr5kN +pHUygZDcDR37CImPwiAAnpZEIV4zMVZTkuvA9/P0YyU8KbECQQD96utkFkLJVzFg +yeka0QKQc4xa+2SdpG5wCs2kqgBsP3QKaqfNJaBSEQhqM4rFdHAUttufe4O/VfzM +/nS3n9wJAkEAyRziTZ8kuhy2VYE/mM24DnHPEpMRX3/dGtDfqyl9yQGjnxWATFSa +KjkvtEpCWibYyqkI8Rq9sekNd3Of3gQTQwJAIOPSE8fSZNQXgEsHF8MlCuL8tjhE +AytuZrLvijm/DkZ12HeSPr918ctlBKSigAsiDXzWG+Va3mjb8w2uvq5FSQJBAJn6 +TGYDv7ni+9MxdwDGGPKuPk3JXhbRLfc3DtjclprMb3sAmk9WwwYq7JRL+stNTNS1 +YMxAnhZWCeJ4G2F/m0MCQEXwcw9Q4p3SSQBvu4suYtGLyGVKTj+8bUWPTXOURu/l +nxwL8K54Y9ngFMPvnX7hMbz1LguFkGzkHqXFoCZbx5E= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.cert b/server/slice/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.cert new file mode 100644 index 00000000..0ec933d1 --- /dev/null +++ b/server/slice/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBpTCCAQ4CAQAwDQYJKoZIhvcNAQEEBQAwGzEZMBcGA1UEAxMQcGxjb2xvdHBw +aW90cmtvdzAeFw0wODAzMjgwMzQ0NTJaFw0xMzAzMjcwMzQ0NTJaMBsxGTAXBgNV +BAMTEHBsY29sb3RwcGlvdHJrb3cwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB +AL1cxMtqidWckqjyaQzwYWI1M7uKsVexHllVOiso0idC78y+n0gTrRwjuCalrHZq +noG48L7qZpfN43qMKyo4sMEFB41XfTugIMGE0OsgjUl7J3Ywoe4OYE67QGl1/VMD +KCLJR3jYTLCNUWLRSplktrrB7G3X4ZEBwg9frPICxTvhAgMBAAEwDQYJKoZIhvcN +AQEEBQADgYEAjeCwqfRhzeTO+UQbeXld78LiH+ykZFG+H4Qzi98S3N/TaGbGtt9O +WFhmfCM5yqugAkWtcJZJwAnPqEmZZr7zbTr/rZSuo5hJnB+RHBn7om7ICSXU6ikk +HZo0mVLVCCZQdHzS1GMkWBj30PtpIL0NmKsLJSSHX6uHE4Yiao8zU/4= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.pkey b/server/slice/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.pkey new file mode 100644 index 00000000..eba8e5ad --- /dev/null +++ b/server/slice/planetlab/jp/plcolotppiotrkow/plcolotppiotrkow.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQC9XMTLaonVnJKo8mkM8GFiNTO7irFXsR5ZVTorKNInQu/Mvp9I +E60cI7gmpax2ap6BuPC+6maXzeN6jCsqOLDBBQeNV307oCDBhNDrII1Jeyd2MKHu +DmBOu0Bpdf1TAygiyUd42EywjVFi0UqZZLa6wext1+GRAcIPX6zyAsU74QIDAQAB +AoGALg0bhuS39I0JVbDuP0lORZXuqNNH4a2fVdZWORzKTuYGb2KEVgEC/m7pX+y2 +jm3LcnzJf4R9wrk9cxYXgUMcKMmzMxDnOqr8Nz1ZCv4PGdIm7tYCHjeSQGGpFXmV +ulXviX9UTjyq6QtwVI740wz/NkEAMGRAsRqwINhD7IE9lwkCQQDhjYZO+pcnusF7 +7nvQNpPHTneFmERK+2SBO6S+MHGivUgh5xrUbmbwQ+1kmf4KhMKNVOJyVT9YUWBC +8YpxZ7D3AkEA1uyaazEmSCpXY1/oV1chG0743t8P/QSbRB1C3C2Ti16wI6MYxW6Y +aMOSimH/dIA8oI4kTVdKs2k9GJuWxamb5wJBAN+3Cu9NOB3M69ormhzT9VGrL3uP +orUokfBooyeNTzjWOzR9UCxB8NIA3fZ5kvMF6R5bglta2ICV/j+H6gQ/j9MCQQCu +xi00qf1FhhkWWLGqBNKJUIkVRDPOP2a710e9oNpw5Yk7EbBdLPiHiTKrkdGYvYeP +0Mc4lZnLl/L1BeFvz+NVAkEAq1dj+z+4g8TPxPsbi21qBAcNcfTWZ7sar03G3W6o +9umHwhP7ee/cDP0BxhnIYPM8km/abL/JWYE06/zInWH/EQ== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/plcolotppoznan/plcolotppoznan.cert b/server/slice/planetlab/jp/plcolotppoznan/plcolotppoznan.cert new file mode 100644 index 00000000..48b2da78 --- /dev/null +++ b/server/slice/planetlab/jp/plcolotppoznan/plcolotppoznan.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOcGxjb2xvdHBw +b3puYW4wHhcNMDgwMzI4MDM0NDUyWhcNMTMwMzI3MDM0NDUyWjAZMRcwFQYDVQQD +Ew5wbGNvbG90cHBvem5hbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA7SMf +JoTdggcJ46fszrXh5biNTcaygwLeN1OOKtHmHrNX674Na9/ZJKKVuzvMX2xgKk9b +pQhJ8fEvnnjp/Bkp6oIk5kFRmruqC0thbz8ppsgIBTg/0WDE2B/zExJAQPtJjXuB +xr6mjSw6M4PB0WIOD+0lXTRQJDtoCi3wVjfTEeUCAwEAATANBgkqhkiG9w0BAQQF +AAOBgQCcNgVPr5GW3w3c4HYb7WyWMMbIkMf92zX0yiTW7Gxmn+kHjjfu4AvRnc/7 +yfZMfV9KfhjP5sbdYu+YbyuoV2XgjT7lSKDF4FT+7yN4GVpvgmSWIdifWrG5BnnJ +wB9mIN8qHA8NmjFX0HD+Yng498eoP5NTaNuR68jxeB5lvIj8+w== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/plcolotppoznan/plcolotppoznan.pkey b/server/slice/planetlab/jp/plcolotppoznan/plcolotppoznan.pkey new file mode 100644 index 00000000..21cbe02d --- /dev/null +++ b/server/slice/planetlab/jp/plcolotppoznan/plcolotppoznan.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDtIx8mhN2CBwnjp+zOteHluI1NxrKDAt43U44q0eYes1frvg1r +39kkopW7O8xfbGAqT1ulCEnx8S+eeOn8GSnqgiTmQVGau6oLS2FvPymmyAgFOD/R +YMTYH/MTEkBA+0mNe4HGvqaNLDozg8HRYg4P7SVdNFAkO2gKLfBWN9MR5QIDAQAB +AoGAA2XMbXXb4qANMTjXuMJ8YRk61RFyv1PMMUi+MbjeLjRtnxATCyei6dZ2hL8/ +l2JrIlAOxReQT6of/4pF9/m4Uv/IU1Rr/XnEb8paAbHNu2Vqp08xGGX+uD99tOII +w9lT2hA4MWety0GE7WvFceZzSZSxvDqOkvfxYfBC69yEw4UCQQD8jXHvthxd3vf0 +Uvb3Avn/yvMBih1iqmFo/40cg4lWS3TTbcmptek4RiIXGrMi+aJOXO+pzYcbVvta +3KJwXdBrAkEA8F/OoNsLYegYTh1zsufqWyw+Jj3bf9fgKklMxzadcl1pECcs07oh +0qR57I2UmLlccxNsGSZSSJfFCen00V/67wJAfTriAVxLCp0SVJuDDI70SktnXh8P +XSphLQBzB22N/zVhU6m/8qBaaeYU52H8693fBn589LUORpdGAhMflRpfywJAeN0j +r5wUYBlsxzJl76pPG6LmaSInUWQBsiGDOpQKnOu9HUMldhycTycmqzwRYK2rf61f +aFHtg9TUXYTG9dRV/wJBALLNSeW8yvdVBK+OYxHv7iU3uovifiOnTffRa7OBNCR4 +WdrZPruOnx/n9a/UwASpKvefu8PCWIaJjjYE/TdROwk= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/utokyo/utokyo.cert b/server/slice/planetlab/jp/utokyo/utokyo.cert new file mode 100644 index 00000000..e65d0f82 --- /dev/null +++ b/server/slice/planetlab/jp/utokyo/utokyo.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZ1dG9reW8wHhcN +MDgwMzI4MDM0NDUyWhcNMTMwMzI3MDM0NDUyWjARMQ8wDQYDVQQDEwZ1dG9reW8w +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMtqtRmi6Mg2OmAjNVYUEa3mnICc +uBZiBWaPK+zXeSwh1swYfb6WkboBhdUUxtD5ZhLFD2FO8KrGXfo1/Qy4k1SBTczW +GLWdklzs8pAGGi5dRFuGXmSKy4tgwXmw0d28AbL8FaozLeKsDAHLjROTMXy7djW+ +pSwWz4+VLPGPydlFAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEArf0G5erePEbKXa/5 +JNJ8bYu0VYein+YJqg8AXF7qObESE1GFXrdmwbbaUZnRhDsA9Luc4+uMG3FQlBRs +iGA9hYnvUcPfFehGSL5jgJFBX7Js7+IyXkA2U5X8RHO04gyai8HhlWmCozWQSLCb +in7UJQr0S/UDdVOsnr8AE1+aBgU= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/utokyo/utokyo.pkey b/server/slice/planetlab/jp/utokyo/utokyo.pkey new file mode 100644 index 00000000..53bc125a --- /dev/null +++ b/server/slice/planetlab/jp/utokyo/utokyo.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDLarUZoujINjpgIzVWFBGt5pyAnLgWYgVmjyvs13ksIdbMGH2+ +lpG6AYXVFMbQ+WYSxQ9hTvCqxl36Nf0MuJNUgU3M1hi1nZJc7PKQBhouXURbhl5k +isuLYMF5sNHdvAGy/BWqMy3irAwBy40TkzF8u3Y1vqUsFs+PlSzxj8nZRQIDAQAB +AoGAJdxYlMrzlMAzIU2sUbcuizWPD4kb4l6gLrSbMlvwm7w4pIgyb1TLDtnVtRFG +6AJjcz7mW/A7by24tCd0T/fSw+RX3OosWdxODQmHczbO3eZ3xYTG7rEfNXXqSfkH +Esj2Za7++fUnj+8AVWLlHP69tAkDGXHUiTq9gtVQFzi/YgECQQD9xBmVgxThicl8 +hoPXrGDhQlVo5OXE2ERFfGSAM8Gnp+656Lkxsl/cBX34QJJsFsmAAZAoy66+hSto +y1/MDPuFAkEAzTUjUoXYS2B7xkpz5Ni84Gq1IrY+LIl9pjWYwEXiUogM7ar4OPt3 +l/wDZp4P/l/w602krzPLrwkWrAFFBLNywQJASvi+nj9l0eRFVLbhCLzyulpApYbK +o0dJlEXV41JnKkMg8mfhHt+WFojA2LErESgCTAEqOANFEyCA3KsJGF3ViQJAFBe8 +4qqqWA8Vb4AAwwqZy9uG6uQvSEsaG3kqAMGW/H/HzEmuTl4JAr+xUY3ugPjB7ThI +BMOskPHx31usd15ewQJBAO5aLhZNfJGos+0zFMN7fZy7j2pfDAHcLUVlMFTPatix +dXZCuDMGOXFzx9wTaqPS3sPKE90NaeNH32Z0LlKYKoo= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/waseda/waseda.cert b/server/slice/planetlab/jp/waseda/waseda.cert new file mode 100644 index 00000000..fc1f3f8f --- /dev/null +++ b/server/slice/planetlab/jp/waseda/waseda.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZ3YXNlZGEwHhcN +MDgwMzI4MDM0NDUyWhcNMTMwMzI3MDM0NDUyWjARMQ8wDQYDVQQDEwZ3YXNlZGEw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAOOiMWExTF/RJdYQvlUcW9XDJkGt +/08ok4V4wEseTm4y7vIdMIABItI04iBu5HH72NOq5tZmMjzcm+JDA8aCI77+cYJe +DQftIWvZXmLo7M5PVUBhTHGA0FUR5VAtcDd5D6o99dIZBuaeQ8fOx9KNP4xXg6SB +OYVy4aNGlhQ6WPbTAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAfeAwdyD3mMzfSRwi +Zx+fn+t+DfocVuEUUOmf9fQAnWP94hMQ1rPgmQeSzXUdO2WYAKTAB9rVgZdyReeS +5kuN5T2ehG1ukFiPsAGqXmQwIMash0z3Zdzjd0OdtliLBeuyWc6jDm4s5u+zsFEe +juSCyOaiN5igPDVGyIRVijdpUv4= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/waseda/waseda.pkey b/server/slice/planetlab/jp/waseda/waseda.pkey new file mode 100644 index 00000000..d2b1edf8 --- /dev/null +++ b/server/slice/planetlab/jp/waseda/waseda.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDjojFhMUxf0SXWEL5VHFvVwyZBrf9PKJOFeMBLHk5uMu7yHTCA +ASLSNOIgbuRx+9jTqubWZjI83JviQwPGgiO+/nGCXg0H7SFr2V5i6OzOT1VAYUxx +gNBVEeVQLXA3eQ+qPfXSGQbmnkPHzsfSjT+MV4OkgTmFcuGjRpYUOlj20wIDAQAB +AoGALJrZpjvsxVHMYjgBs9fMvwRweKpJvw8qaRsSQyX7JGjinZrOqCaQ1jP6o3RX +W2aIRGHWvehkq7xm511OXhWePy4skIXRsa0v5OpgFGrhzkCws58RzOnfth0b5yXF +/HGZCsVkkB9j2x1s/pw2HfUXzNeF1QGCtcUqFHP7V3qzG1ECQQDzgRLmARE0Dm+4 +pZZMb2euJWA8UMcKtEPpGrTEJDNnEk3zURvPnSn5OgS5/rRuULxnov2tAw6cfIJS +MvKO/GSvAkEA71CgOKaBuq1vn5sKgkqVvsA8U5oGzgxwRVZiIDGyqmt4yhQdv4u8 +OG6rkv83fk4FakMyn5dSHtcfUZr/vWkhHQJAd9RN84gU6jQsgIZkN0sfj5BvEl+C +A9+AB+ePi3JxJUjZuWJxuDKUZERL7SfNrPfoL2wDQC/f8dxH2aGewgSsmwJBALrr +Cnm089bO6ESNYGPrxZI7q+LQh0ggxwAhPHtQ1e/uCWYs2B9oERcyuagS11E7t1cM +LVohYu7br4aZve4/UrECQQCAx/gadct+1c8DthO1Hzi3jSyodRdNp1xbkmjY8Ndf +QTaX+D/XdfQkL3SgemTmaLYBoLzeutR4hRlCwfr3ZHoQ +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/jp/wide/wide.cert b/server/slice/planetlab/jp/wide/wide.cert new file mode 100644 index 00000000..addc5743 --- /dev/null +++ b/server/slice/planetlab/jp/wide/wide.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwR3aWRlMB4XDTA4 +MDMyODAzNDQ1MFoXDTEzMDMyNzAzNDQ1MFowDzENMAsGA1UEAxMEd2lkZTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAyOYm22T4B+dj1AP8jXDhJxkre/hrJsV5 +bVJbX9EXRgC57cSHaIPIohsnSagcLR0i1DjIxQK8wj4+9Yq7WKECI3UxwDCa7G3k +voMd7RBDhhPGxuByjBlG8i9ZglfiMvx5csTJMBZ704zda89IGCY+86jTIAFPX2VB +Mk8pmuishbsCAwEAATANBgkqhkiG9w0BAQQFAAOBgQCicD1Hn0RKQIBdbRPsHAvQ +juJ0zx6PQDH+FnHRJ5zNqG3ng0hb7TKWNT4c9/yfZ2uavIchmX/v4NV8bIBEmm1V +N/xv8NOQaZCIgH+32cvylR/uHSWjCkntmmlTMNx0hOmGOeVSmg6N/T3FDGOJA3qZ +R861Ht0Kvt1MlXhuQyjNSQ== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/jp/wide/wide.pkey b/server/slice/planetlab/jp/wide/wide.pkey new file mode 100644 index 00000000..6160783b --- /dev/null +++ b/server/slice/planetlab/jp/wide/wide.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDI5ibbZPgH52PUA/yNcOEnGSt7+GsmxXltUltf0RdGALntxIdo +g8iiGydJqBwtHSLUOMjFArzCPj71irtYoQIjdTHAMJrsbeS+gx3tEEOGE8bG4HKM +GUbyL1mCV+Iy/HlyxMkwFnvTjN1rz0gYJj7zqNMgAU9fZUEyTyma6KyFuwIDAQAB +AoGBAJqeyHlDFMLAjEy5ZL9XiXKWJKmdYJrOkc5Z/ImaW9c859zfzXfbNafOTkaa +ZFU0f4Hm0l8O5Eh7r+k7hUWJZiKWw0EF6a01bDrYB8R8ymRwJm6o49aIF9+Gwe/U +kcSLhy6rXePj/HcWl16GXQ6i0+aMDZ7bFYfpZIPsWpYe35fBAkEA7IFKR3ykF4M6 +LxJyDWUq6QuRIncFpatP7L/hYZ+Jm924WuiTqOQyY+VOZIjVM7HopHoDmiq7V+T4 +aJ1cIqWDPwJBANl1ga3yS0Pwo9rfhoTsuSY1tty0wfSHk/mWyzJDWKHg523VU8fE +4syQtugcLPtjs9fd8r2vkWvHl+QzUBAZKoUCQFyTGzUyR7TgbAUC7lvp7sr7+RqJ +hk9b6FQeo6Un4qB9QG1tPmdMs6DAoFff67xpdkvzareM5Ho6KTYh6m+xY9cCQQC7 +aQLvB68ICX8dpaCINH/Ix2gmQ/4YITRNWUEbu2DKekrZpI2E0FDqHhoUZhv6N84J +z3VhNsssSSLFf9eTWC0FAkBKjDOAZurdqAwytyRmZMBMnDaaP7irBhyZ8jZjmU6X ++rAXKv2GM28jktMZiuquUA9utLwBAm7aIwfmST+3GIXm +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/ntu/ntu.cert b/server/slice/planetlab/ntu/ntu.cert new file mode 100644 index 00000000..cccdbf4d --- /dev/null +++ b/server/slice/planetlab/ntu/ntu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwNudHUwHhcNMDgw +MzI4MDM0NTAyWhcNMTMwMzI3MDM0NTAyWjAOMQwwCgYDVQQDEwNudHUwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBANqAs+Z926Fk2gRdSW/zw+l/I1eaozavqEsy +dFz8uiWsSaWgh79ABkb6hzIAI09kAKmD7UyuHh59mzoynINdZ8uB8+S5z+kVhWpr +8V+Rt6gpQkDgc6NdsTCJAmhLXTqAJv//SM8Y8nXY04lND0w1opt3FqG1Hn0NC87y +30Wdt7v7AgMBAAEwDQYJKoZIhvcNAQEEBQADgYEA1xeD547F7TimLmtDU5VBuy1u +vMvkuHmyhdtzaiaia7vXFDBpS4G2lI12FeFpyey8m9cmYufmLvhBCy36jLr6AUpn +uHccguZDxBIRiVn1iCnO2KhcM2yS6/FPpneilS+hyNdMnwCngSRlv85xEkt8nzad +ZYKZ6CKgKFtdBO+/diA= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/ntu/ntu.pkey b/server/slice/planetlab/ntu/ntu.pkey new file mode 100644 index 00000000..526e97aa --- /dev/null +++ b/server/slice/planetlab/ntu/ntu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDagLPmfduhZNoEXUlv88PpfyNXmqM2r6hLMnRc/LolrEmloIe/ +QAZG+ocyACNPZACpg+1Mrh4efZs6MpyDXWfLgfPkuc/pFYVqa/FfkbeoKUJA4HOj +XbEwiQJoS106gCb//0jPGPJ12NOJTQ9MNaKbdxahtR59DQvO8t9Fnbe7+wIDAQAB +AoGAJM0Uf7em7DHuPlnv6nkmAAe3ziNvZeCD+dZPnvG58GpqJQk6k82WwRGk/5ji +WZbAPczIhOe2jvAc2tp3XfC3cFF1ADWBxclGw4s5QjqyFRlrpwsL0GhPNnpaDcvu +AgTGpEktGVWH0uZ/hNUUOrdku+/pnMH8NmcSmXuonM0cH/ECQQD5YO0+aH2i9tlq +1mKUDf4txh0qZMrapAsi4zhx5nmXDRHGgtiAHcsCUr60YfagT/I3wwmr7m4KYpJm +Q2Y26AQHAkEA4E3oKcQ038gEyDfx/6Zr+hNv88beWoT8uqtzzd9CuX6nlNDaGhRY +ICcw0MdQlRqM7/jNb0JTTlaob24sLPKTbQJBAL4+Hz7Y39+OiVZjrlhcRGgPFvjc +Y5RgSM6YoNrjhCajpcfW0esKz3A6R5m8kjTCSHoZpCsxfWkWwbCaAkQow8kCQQDP +Gj/VaIslYEpCD53K3X9vHElO/XzKeWXceXfoS08RdIcI2bm3QLeJoIXrD00xDp24 +6LHOG6BNgaftkv0I10UVAkA34bml71517zxX9Fu/ZvtmeH5F2yZZfDfbpTWtEJ91 +c1IT8aug8SBUXAiTICdEmb7IxP60pWaHoaqX4IPJs/9N +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/planetlab.cert b/server/slice/planetlab/planetlab.cert new file mode 100644 index 00000000..9f5b851d --- /dev/null +++ b/server/slice/planetlab/planetlab.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTEzMDMyNzAzNDQ0OFowFDESMBAGA1UEAxMJcGxh +bmV0bGFiMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1NiZzJyIz8uZVHahZ +QqcmhsxROY8YjjRF/WGow9t8hvaimScO0yH3VUEPolblSM1Juke6M3vGO7aT7bJC +apb7kuoHlrS35k0K/vcOOMXS80gpT8oltKbfJrlt8kmtEXm7F4fh8UiLm6n/GEY9 +OPFuvUtQqIFqG8DdBd3SEhi6UQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABRIUVzW +JbwQKnqM3rVHJoSgtYWpgDvJosLCrLZhsXrukOsC8Gs8V6vPTPO7kofdUbHQKRnL +xp1nI5hlWIlq/XOnh+NEPZaB2SAKwfl3FZwUqjaEVd/VYOfsRryZtiUz4sL3CtXN +C8i/I4HwCnrl/pmzbprqpGq+RJTa5yLmBw6r +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/planetlab.pkey b/server/slice/planetlab/planetlab.pkey new file mode 100644 index 00000000..93360c8f --- /dev/null +++ b/server/slice/planetlab/planetlab.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC1NiZzJyIz8uZVHahZQqcmhsxROY8YjjRF/WGow9t8hvaimScO +0yH3VUEPolblSM1Juke6M3vGO7aT7bJCapb7kuoHlrS35k0K/vcOOMXS80gpT8ol +tKbfJrlt8kmtEXm7F4fh8UiLm6n/GEY9OPFuvUtQqIFqG8DdBd3SEhi6UQIDAQAB +AoGAHN02PKtkGFA9fhtOQIGMbGeWTe3ULD4id2+HycEAyhIZYQbyILtisqnixiG+ +o6D4CiFg4Xjn40iJqYB4H3oo+D7s9yitW8dz7/e3/7uUJvqypO9qxY4lpOesy9Is +oXTzI3feD7muC6FXUhaEjXGNeovjLfrkpN6XfU7HSdz1WL0CQQDZs4kSDVdgHWuB +1nsfwG+9moPX9RfgPevrM0ydLBIN7wBNg8psFFd7swW64DS2XDFTFTsk/4PqRy7A +XBLJ1seHAkEA1Rc/0g/DFqLMmIVORVZywt5utK6aGw6axMnzJ9WW2uqhaECsuifW +EWxuRZ6iXhHKvADrpoL1oyHwO6I/4IS1ZwJADBg+YENffFaGF4OL+ZqeWqFP+9qB +BhNKnRmPgxfktON3V9cfktuadKPgiJ5WL1912hDO5WJQuN5ViZhT7uTA1wJAHFEj +nQGVNjvaHmaQmSw8weKXKZGOTwwoyv/fPSroCh1l55m4mmBS1Svol33WK9QHceZZ +al460DvhVbtg67AW/wJBAMNV87DOw5Kcr2C4DJ822uzt4tfdfrFO6nL7UQlxZeoz +osbIYKGeVxm66r6dUmK/0qjqpujWnFCFKPxrMq8qXrI= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/qub/qub.cert b/server/slice/planetlab/qub/qub.cert new file mode 100644 index 00000000..e6edef6c --- /dev/null +++ b/server/slice/planetlab/qub/qub.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwNxdWIwHhcNMDgw +MzI4MDM0NTAxWhcNMTMwMzI3MDM0NTAxWjAOMQwwCgYDVQQDEwNxdWIwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBALmCUYQmYfmm7+u2PFKJmK08mBJV7fwVnk02 +Q417ydokFsINqmLlJWGss4uwELwuU+9z7kKnALW6zTDRCO2OiozYIh+iE7Co1qXX +t61LEn7PLnVqfx+QQJa9f7TFziGWyGkC+gZSsowtDMjbtzhZihfevW7j5/SOtH0d +0Wtzc4BxAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEArH3c4h00MS5B6pjuX0Y4DnZc +uU9xwMTlJMIjUTkpUX/62p7jwWQIKNr09jbyPJPonV4nBlf/TnKNDwmmAzop8yBB +84A+Drbs4PcP8jtAjyAjqz5unLahsnr5tnOM2xvOqbPCq+d3fnqLDs18ncS86AEJ +501I0AMdgWt4WJOxxmM= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/qub/qub.pkey b/server/slice/planetlab/qub/qub.pkey new file mode 100644 index 00000000..1ecd1675 --- /dev/null +++ b/server/slice/planetlab/qub/qub.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQC5glGEJmH5pu/rtjxSiZitPJgSVe38FZ5NNkONe8naJBbCDapi +5SVhrLOLsBC8LlPvc+5CpwC1us0w0QjtjoqM2CIfohOwqNal17etSxJ+zy51an8f +kECWvX+0xc4hlshpAvoGUrKMLQzI27c4WYoX3r1u4+f0jrR9HdFrc3OAcQIDAQAB +AoGBAJPtW1tp0A7oE8F+nDOlDV53Rzy30QKHqqgfcVbNM3UD+jHb+9bIqzpsIPBv +AalNuBjl9USpL2O7Bgy7Y8crN0cinK4VK3XNnhuCd871cWqfSY9UC3GCbWob8zi+ +IiQSBn5F76Dm21taRSBBN0ZjMRgIDU/w5Kol0e93uFP56tgRAkEA9jj9d8UW8TkF +u0XhDFyc7oFOTrkpzj42XTFIYTx4yx8SUBG6Zz57FF+zSPaAPTerqlb5YYu4ci2D +v4RcJfAPbwJBAMDgIuGVu6E4Rytq/doIbtX6G0QBqASYmoaHQ2ARWEgXsUgH1FzO +K5l8p4AZ7yOYEJNyHiCU4wD6KbMRLlRHfh8CQQDimJYj2F0ByIGO1IOFVeIS2StQ +5bUkmjp7z3QWEIn2HPVEfNw4UdcBbAVaG4jvTcGNNReyftxTL7H02gHX5DK/AkAB +p2plKNWNEmB53NcEcaIRr61gLet07qIUmUBYqI1rQNjCV17Y1OPG0yzUimRkl788 +pHPhr6Uqsvp8kJ8nFd3dAkEAnXdfpZHTwovZnvMWZp95tNGOTUczTl1fcrR800vy +EUXTDpAZSIAaVTE+DUIlXKbrH5sgg4vZ2KpLaI31gaUeRQ== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/snummlab/snummlab.cert b/server/slice/planetlab/snummlab/snummlab.cert new file mode 100644 index 00000000..7f14c3fd --- /dev/null +++ b/server/slice/planetlab/snummlab/snummlab.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhzbnVtbWxhYjAe +Fw0wODAzMjgwMzQ1MDBaFw0xMzAzMjcwMzQ1MDBaMBMxETAPBgNVBAMTCHNudW1t +bGFiMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC43rIuNr6Wa8Vk5nBiCcDh +/1aHa8XryNn+/4ZVZrcd1V8lSriHqPqHn6ZX1GqsEEaSVEgZfeEmMvWqpqmO4Vwc +icISLZ7qw1L2TT+aFSo6RRiAv+xQMYv1T8VpeJgcy/minU+GDfl6yL9N6PdeY+rE +bPitgUQe034C3/Xj9tKSCwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAJ0Hu8NhJwPJ +xFixK3yZfUYC7nWYE9c3NdCnpfUvCpq0fzKt97+6w8kjSCIJKRmLkj2W2UljZEaE +L0c9l3fJul5EqmuSITacgbma2WCmYfVzDJfhGB6iZdpupI1j8hycOpr1kt02udMG +PDZcIzTeRmtQZE0vleGkFAzNMAcjOTDE +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/snummlab/snummlab.pkey b/server/slice/planetlab/snummlab/snummlab.pkey new file mode 100644 index 00000000..039ec42c --- /dev/null +++ b/server/slice/planetlab/snummlab/snummlab.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC43rIuNr6Wa8Vk5nBiCcDh/1aHa8XryNn+/4ZVZrcd1V8lSriH +qPqHn6ZX1GqsEEaSVEgZfeEmMvWqpqmO4VwcicISLZ7qw1L2TT+aFSo6RRiAv+xQ +MYv1T8VpeJgcy/minU+GDfl6yL9N6PdeY+rEbPitgUQe034C3/Xj9tKSCwIDAQAB +AoGAUFOTIDlxPnK9ZkYqdq6+PHRx6I2Phg/TiNUGTX0/+5qGqPF6lJd7pApegLMv +VmwL/fDZExp7BdoGnIumCQsqtg6IYRtNwF7LOS5VRyek2JSGFBpqvhbCfPA7mlVk +0hj88fEjpeElCzKBYlvnlZJppPuEB2xZjKUrS9YzzrftB8ECQQDhjO1NzLDF9Ll1 +u6NFZuxejK+RJr4+W/W05Ql9TgdZigPsiQw967UxmnUVxmC0cJ0MVQoYWmN703Ii +Ci2IyaQzAkEA0dPW1/3+LuOKwN/dYSZM6tZkivKo19ERBWvgh69shrCubBz3/VZW +FQj4WbNeeNxdxlNG6sGXZNQEsyLLk6bCyQJBAMsNjDWWKS6Nesk6+2nnlrQoA4ax +UmPhdfo8l6ZvML6zOYUgfBzirmTRoMbRqQ3ItBn+FPCHrzgyy3VJpGSY43ECQHlx +PVi3xeUHh2hIaU3wJ/aHbZvKBJUciNh1bne5vXtbSSiDv7hdvubf0TXBjf0vtgqy +ako3D9OorquriN4FV5kCQQC5dO+YcuzPzFDWST9G5Rd9vuniehMMpPkoSyzHaKpa +/9rYvcGiKH9oRAj87cTJPkVdrlf9+H+xo0cId3s+3cw1 +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/sydney/sydney.cert b/server/slice/planetlab/sydney/sydney.cert new file mode 100644 index 00000000..fe31e7c2 --- /dev/null +++ b/server/slice/planetlab/sydney/sydney.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZzeWRuZXkwHhcN +MDgwMzI4MDM0NTAxWhcNMTMwMzI3MDM0NTAxWjARMQ8wDQYDVQQDEwZzeWRuZXkw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALRNsTAX5KRMoT2eEa16ahL7dZbg +5QqFGBMwpdCyjF1C5WGRPKRR4teOiDua/8VkA8XzCAiYJA/xIWi6bQLNZXNOizCZ +yNhxOH3zU6Xn+1HEK54ljqfj85GJxgyAB19v4Ao68pBx94OoYFX5SugM6RpMkPyR +Rdrk2DBzQpAw29wJAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAiNF5iXzOsAn3qQei +MD0Bzban1KIPgvrqWnHT2IXzmNwir7vSPDKGRZhbZZZDikCwJ4i6sjHnCBTDipwx +sXvCtxGpYgBjxBH80uYMjyVhro0E6me9lC/RyhlwsF03bm4hkmUmu6lYr7ls7d0P +IbFQWJwJlrZSW9KrFLTh9x6BXKE= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/sydney/sydney.pkey b/server/slice/planetlab/sydney/sydney.pkey new file mode 100644 index 00000000..b57dbf32 --- /dev/null +++ b/server/slice/planetlab/sydney/sydney.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC0TbEwF+SkTKE9nhGtemoS+3WW4OUKhRgTMKXQsoxdQuVhkTyk +UeLXjog7mv/FZAPF8wgImCQP8SFoum0CzWVzToswmcjYcTh981Ol5/tRxCueJY6n +4/ORicYMgAdfb+AKOvKQcfeDqGBV+UroDOkaTJD8kUXa5Ngwc0KQMNvcCQIDAQAB +AoGBAIFIdBSYDUoB6FvWS7aoYAbcZ6SX/aNda7XW3A6Y+CynGvKqwWDRlmYZvXV/ +3oYbANmfOdNvw+vqapo9koy/2k1vUobGxpFhf6M1CHbUfWiTTo7bgfpyTRhnWiif +smHXVNLKBanSz0jtFbcLCGNBebgv3A8gbaAKEMOMZvABhYABAkEA4C1FJnfGafoS +pXFFLjYz2ettDX94Uy8T4tHSNLGFEOnatf8jAr6PTUn/VHyRtFlil0fqKHEr0tAt +6SRS6shfCQJBAM3mCUwFMYmiocGS/oI5PCgvcc1ErAMV1+36gO4vOygvvuj4BrWZ +52NgDnfVJTgQ13iCWBKObWTrbuZHv7Y51QECQBOcQjFURvocUyc/2mJpgW2tx5Nn +tDnqo12zJyVO5ioNmwFSuVhTHSwQrhJQ91oEe7hqJRS2mbPOXEXJ1KsPLikCQQCR +95vtrdzho08jiU8vCN5x6ri1+hIsGcc76hSPRyKcKcUhKfyvr80PcWCwaYX6Sk5H +G7jOZvR80D+Nt53c1QEBAkBFg7ZtmMxOhibXXOokIXj3v1Tuk3LXiSoyrm0JNovN +ww+uNNbS1b0wi9G+RT7mDwg6eisfphVMz0EHY6UTQrij +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/tau/tau.cert b/server/slice/planetlab/tau/tau.cert new file mode 100644 index 00000000..4252c740 --- /dev/null +++ b/server/slice/planetlab/tau/tau.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN0YXUwHhcNMDgw +MzI4MDM0NTAxWhcNMTMwMzI3MDM0NTAxWjAOMQwwCgYDVQQDEwN0YXUwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAJpF8y1XoUb/Wr1/yDkAXfGRlp3Lp0Z48wSS +T4z/Fo5NLYW8fU/fq6Bvfa0W28sptq+uivXkTP6+SJZdaLtmVJ88MsM/1wvIwfVo +4B0Vi1rnh1YckDc0Gwj1lwiL8HV0DJNBFSZDhXWN3T6Sd7SklD/oIDipVmnHu/0J +y/LN3J5zAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEADKcOxoRdxnYssCOskOIpExk0 +3Ju7n9FASc4SCiiu7WcOov97YQTRW4K+sWWqmpvOPcAA+ndb5s0G23MizavfbYdi +HLpckuaBa7cE9iB1mJMFhKFLgzSudQ3xJUyU4uDmH5B/xntJ0z/mZzG0oYz70jZt +3aJK6i2h8/+l7ArcV+g= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/tau/tau.pkey b/server/slice/planetlab/tau/tau.pkey new file mode 100644 index 00000000..fb10b3de --- /dev/null +++ b/server/slice/planetlab/tau/tau.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCaRfMtV6FG/1q9f8g5AF3xkZady6dGePMEkk+M/xaOTS2FvH1P +36ugb32tFtvLKbavror15Ez+vkiWXWi7ZlSfPDLDP9cLyMH1aOAdFYta54dWHJA3 +NBsI9ZcIi/B1dAyTQRUmQ4V1jd0+kne0pJQ/6CA4qVZpx7v9CcvyzdyecwIDAQAB +AoGAD49SkZYvDAwhSM+kkCs7TmwStuOdgXwddq6TG3N3AO9D0iNKuE2k78+O63BM +xtb0OA/wsBBQu7jRdWkCcTRHAIhkW8Y+tvA6IXIFubDgtNzIQCnY2OEXLI/0czsC +eqy32WGQR32S7NzHTeSpsCIUspcdNlRoYFrFwBwrlH8fziECQQDM8XOvP/TCNB6m +iuRWByVmrdp0Th0W4zwQgUDLptpjfwLO3pEf4RSMy+iqY9imK6eHB+G2AIZOvanD +IMj/Hm/7AkEAwLTzIjFrL7h0Jg3Q7jVdzS4vlt5Otfa/rucG5pAuu0BBxWqr1xjc +BQL60RaxybRmqIT1NnbvDAFjs0b72PSp6QJBAJQ9Idxlenjuki0M0dSYHqmCnzz5 +M3lWrB+UHnYwHk9Rk4pm2rogaGjfJU/6IL8xXGADh3PKNVvHPH/zuu8t6PkCQDx7 +Tmfn7MVAdivPYEizNSqFmWgXg8q2k/i4B8FrdU9N3pawYRiUc9Ga2s+u+MPeu+2e +NTwP3fz9nqYQ3FB+kakCQQC5YPA/4aK/ZNVTHNFDdCWrRwIS+BSg2/VN/JpEiOoY +TuzQqXHpZ0uGMCyE4nxkMOur9EUj/KAQ6udq1b90RTfR +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/ula/ula.cert b/server/slice/planetlab/ula/ula.cert new file mode 100644 index 00000000..02fcc430 --- /dev/null +++ b/server/slice/planetlab/ula/ula.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN1bGEwHhcNMDgw +MzI4MDM0NTAyWhcNMTMwMzI3MDM0NTAyWjAOMQwwCgYDVQQDEwN1bGEwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAJ+mTuFd/vkl67wlVFoioHJnhhjRWcUoMUi2 +UR3l4bCzNQuOvRoxj/FwmYMJiWvjbVq1old0pfcAL+x9Kd2NS+ZePJ9OaA6Lv7KS +0XO9UJWt6P8EhlCmMZPtnnFK3Vf17FQJA9+IuYm+TFjBPqEZvPm3aOIhF59llSpl +w+dTHhmpAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEACe+BOrpATA9RELoAFS/Cv6KJ +JdaRgZ72jkfbDeOyaR88EIy7KssQ2UwavgPgoFNuqtHr1AsAMvso0CFM3pMmGZaX +G1lCWhsbXt+mvtuG6K4DY9fAvwj6ougBIy+SUe1iIWQk+AfBnFtpAy9LrsNxrj/N +pNDZDkHM0MYlAoPTox0= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/ula/ula.pkey b/server/slice/planetlab/ula/ula.pkey new file mode 100644 index 00000000..d3c62d30 --- /dev/null +++ b/server/slice/planetlab/ula/ula.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCfpk7hXf75Jeu8JVRaIqByZ4YY0VnFKDFItlEd5eGwszULjr0a +MY/xcJmDCYlr421ataJXdKX3AC/sfSndjUvmXjyfTmgOi7+yktFzvVCVrej/BIZQ +pjGT7Z5xSt1X9exUCQPfiLmJvkxYwT6hGbz5t2jiIRefZZUqZcPnUx4ZqQIDAQAB +AoGALh8IiLjz8RxQZvFN1iBMw+A+cCsCyR9cZYouEvoXYknTWDxrSwboc7K41o9J +wP5Z2CvC84sCa0IFlkducc/hDf5oFdkehX4LYUQFjgeggKsK8KNbvEw2j5vMemM0 +1lvb4ZOq2JguO10QYKxv6cmEVfkX/xmvR4TbbyaeukNaMZECQQDRZicY21P4Ee2q +gyhB2ykWsolHtGJ4QwCpHw98E7Ysa3rGUUX/SHb2gK79eTNWdtlmDKgR44T1Etaa +mNbVxOxVAkEAwy3XV72BcQMA79b0YAsuzd8TXZj4Mw72Gpf9CYxmTBbjrZeDTrGX +B2dPpbgDNWf2rgJSE+B1FbovGI15d+uMBQJBALHq3eVc1ee9M/bhId9y22KRp9rp +BZGxPGp2Ha4LAYqUd+jxPUw+wfWIOSbdSCV7LhRrRJKOgnXI39bTbhaMD1ECQAZs +gtLrdNAwZh5+t6pVk+PIvM1u1HRxwJ3ddMGUsmU8t5+mBfdYFv1yZAezR7/BPTg6 +8VKgJ5pgd15aga31vbUCQQCNFJFqbAIbIF6DiAea0UBFn/tR2umn50svdstMuBLe +lc7a4l+ooptrvHwUHt4pDk5N7+NgnoFDztgIJDBuUHDw +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/unioslo/unioslo.cert b/server/slice/planetlab/unioslo/unioslo.cert new file mode 100644 index 00000000..26fe655b --- /dev/null +++ b/server/slice/planetlab/unioslo/unioslo.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwd1bmlvc2xvMB4X +DTA4MDMyODAzNDUwM1oXDTEzMDMyNzAzNDUwM1owEjEQMA4GA1UEAxMHdW5pb3Ns +bzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jHiJeG/dqPZRUNSQ5S7aEF/ +aT+sQOVS1wxZbpSsqhMnxtyunoJ8ZxUMr7I3owAu35vR7cW0k17aJbLyIrRi50UD +i74aF9I0mFn4MFhz0TeoZvP7H1s5jbNjUouK6peFJFI0V+z7tHx/hYCaNXLYzs8I +n+cul98aKoVeKXsJcRUCAwEAATANBgkqhkiG9w0BAQQFAAOBgQCBGU4uF81f38bj +2tQml38Ri4eQH/Pxv1tfB1kko447ImJ+B4QUK23D4VRzFDqDqUc5jIjxuy/dLVO1 +2FXdUaIeV2BOtRh7b2uvWESqqpVu2RrpPBcNNv6uc3oOGwdIfY6LyKcOEei/fzvh +nHYySDrIReffb0uZKjUtjlBdATEu/Q== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/unioslo/unioslo.pkey b/server/slice/planetlab/unioslo/unioslo.pkey new file mode 100644 index 00000000..5583b278 --- /dev/null +++ b/server/slice/planetlab/unioslo/unioslo.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDSMeIl4b92o9lFQ1JDlLtoQX9pP6xA5VLXDFlulKyqEyfG3K6e +gnxnFQyvsjejAC7fm9HtxbSTXtolsvIitGLnRQOLvhoX0jSYWfgwWHPRN6hm8/sf +WzmNs2NSi4rql4UkUjRX7Pu0fH+FgJo1ctjOzwif5y6X3xoqhV4pewlxFQIDAQAB +AoGAGo5i3BZhckPRN4cB5bfs1Ycw6cM5qBlRFgphYi82gWZaKC3Jgg1KWlu2dpw1 +m0pyoZ22MCxCXDwno4uwO+I+fG7Tg7risu0IxqihveyL4tNORPN2B9XfP8cP+S7z +n6qihdaElhSjJWUZw2yDqv3lUFqwY6qbzWbETV4BEg63byECQQD71fGnfvgDWL2p +H0YK5LICk04pbyS+fzU4pBV1mLk6A+lpcNJnRDkXbwSBVMRUmLEWGguo2bxYibst +uCcoJqprAkEA1auq9QQQunZUVwynksJXYRNbhTLVY94JInQJ60EjUg8wvGoWrMJN +YaCwSvx9ry8agcBgdMNrZltgLuKbMDYyfwJAH2MCw0Vn08LzoGhtal4mcXu6eh+I +DNX95BlPM2DddQWXybRuBMDT/L+xaA0Qixqct4x3d4vrlX1U/tW8y5xGEQJANSca +RQ841hm/i1QTj5eWwwhcuPrXSJugbBivqv0uOyiaOBSwBVPkige+MzkyTtUJ5AMm +O4Wtfu32NFOcxVaGIwJAVIun2AZznhn8Ezkg9Row7nQSFhUvjY61aqRbStnjXruI +X8dWmeCfg4PDdaGgLmkTJK+tbzBtTozNGymUVxet7g== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/att/att.cert b/server/slice/planetlab/us/att/att.cert new file mode 100644 index 00000000..bbfcf609 --- /dev/null +++ b/server/slice/planetlab/us/att/att.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwNhdHQwHhcNMDgw +MzI4MDM0NDUzWhcNMTMwMzI3MDM0NDUzWjAOMQwwCgYDVQQDEwNhdHQwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAN0mIxSymiZpB88JCyPYdfJ7TuEzMoSemFGc +I9Pv6vcgPIrPkrTNUcJ0mphguzY75YJaXBxzW+jUfBCxjAT3hbon3rcW+XMM5REm +V53dh1hGKUDfF2JiqVqnEM+2FFmquSHd7auY8sVh8k7phQkWrytBnBfK//Gb/U/F +4CQjCO7xAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAHPYkaMYAn7yZ9O+a3eqKdaDK +bzMvAN3ZZsFDtQ5cNk4IHVkAleJWFlHTQ494FzUHWj1cvnEk5Hs+F7ZXZh8Zw06t +67aqq3f6AGbdVn3aJqFEIK5OC1TXit4lOLKSUeWaPJPOjW1YrtJgELuuecm8+bzu +S5OYVxz62lwZOXDogkQ= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/att/att.pkey b/server/slice/planetlab/us/att/att.pkey new file mode 100644 index 00000000..ea0010af --- /dev/null +++ b/server/slice/planetlab/us/att/att.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDdJiMUspomaQfPCQsj2HXye07hMzKEnphRnCPT7+r3IDyKz5K0 +zVHCdJqYYLs2O+WCWlwcc1vo1HwQsYwE94W6J963FvlzDOURJled3YdYRilA3xdi +YqlapxDPthRZqrkh3e2rmPLFYfJO6YUJFq8rQZwXyv/xm/1PxeAkIwju8QIDAQAB +AoGALJRSgAqczl9fxplhGIG7DP1UYksqxNcfh1v9UOzNJbHm4miDf1TgRV2yCEN/ +magrVMKYTNfoUB/9PnQ78Ihg+Uy+VLf5CaXyOAta0ci6/oFYJOxVh7V8/y7AVDlI +U51cDM3jc6cDzJhDcL3uY4RlJDPJIBaUPKTXQhEBZoK6L9ECQQDxG4qzAZxMXIww +hNO3xGjRM173iL+VTNOBkeMDjEBfuRPfVcssM8cdsjE9JJ+uErpwzpbXlQzbwm5z +Mldzu/mVAkEA6s8BGDmdTBg+oItcQ8gupCvsAq1jPiBiuJohqhd1K039LP+EmpDX +x/XrEhuD2BkgDOgD1YzR2yXMhoZbEf9g7QJASpGXEwfjfCZ/YR4jkMlZFaKKs4oC +nr1VCNTC3j0JR9Go2MDjBne5FHEhE2T5UdAPA4aRVnmNsYXvvQcLzwqLBQJAaFQn +mVroEAppsS2ahidoydsWFy5w/QaotnsNYCTiE6aoShkSExcuOROEKdx93UN0oSdp +pLXX/HY0BMWnqzx8FQJABPrwEb5H0l0VzQ1RF8StfiCAnlZE7+TZDKSe4IhWzH/o +r9d1m8bTTAfTb6kbAJrMv0KE/jL33rKdeF+rYGkWfA== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/aub/aub.cert b/server/slice/planetlab/us/aub/aub.cert new file mode 100644 index 00000000..9f55b841 --- /dev/null +++ b/server/slice/planetlab/us/aub/aub.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwNhdWIwHhcNMDgw +MzI4MDM0NDU2WhcNMTMwMzI3MDM0NDU2WjAOMQwwCgYDVQQDEwNhdWIwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBALzIi+myvkm0ndYKqwHVcjNBGnGQN4cfL+p/ +W9Zf0tEjb/2Wo/JnJN80uvFUJcNbsJ61gGKgol8jSKf1bjZq3MdNYPkIWcmay3xk +a02UbEFOVdotRX3GIEY1fGkDHMvdF1Q0JYB/vsrYCn8JYI0wVsWAIRJ6Mfei0r41 +xctymawfAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEACZvYezSxSKx2k8OmnyfCEz/R +DW6vvpicdppWDwhz1nEvlyupuY+Iy+f1mCO+p/PYFwWIqB1Yalx3LEAmc9TH9La1 +A6UIVYKxT1/BvqkMYHoRVXF6A1mqd6qtyp96juQx63zgpzdauPJQfNUFLLXxHhRX +iz2ewh74GuvnaUzS5sE= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/aub/aub.pkey b/server/slice/planetlab/us/aub/aub.pkey new file mode 100644 index 00000000..399e464e --- /dev/null +++ b/server/slice/planetlab/us/aub/aub.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC8yIvpsr5JtJ3WCqsB1XIzQRpxkDeHHy/qf1vWX9LRI2/9lqPy +ZyTfNLrxVCXDW7CetYBioKJfI0in9W42atzHTWD5CFnJmst8ZGtNlGxBTlXaLUV9 +xiBGNXxpAxzL3RdUNCWAf77K2Ap/CWCNMFbFgCESejH3otK+NcXLcpmsHwIDAQAB +AoGADvP3mRguWFo1EkogB3InrIWgmZQpwcsnmXRjCtTmNuiOq1BuRfoDgqaDlC/t +Gc8+ayPHOoiss8pwq9UV2LuYJxIF/fxq4v0igw4aBiPETUhLsHceP9UjR6705yY2 +WZ6rVxE+vlmtFVxwSB/9eW8xfRBsRdPJy1rrirRDmOOMGGECQQD7pYsPHPx9PDdX +jJRXMHjA4cvoMGEOPTVfL+3E6o6yaLnZ2m4d9uox7OZYYV3qdYZzsBzE9lxlJ7Uy +t6SdbBJPAkEAwAyafGAXbw30F531qWlMvVc3tHPNM52Wkh1tuYLhCxKHx+6sYCHH +bC/QzLtz41mdPyvBxmnbnM3SVHYaP/9lMQJAMfCibjdkbD4dBYTik4MNE8o7uzKO +sFK5WtCaMTATbZiW+YL9w3iS9aF7/SIljzgPnLngm74AjBqbPRtw0cT2xQJBALR0 +41DNRhe/J8ZtUeHPJSGg66HvUjkW8d34MxsmxOmPjvCp72UhOG8K+wr1dO6DTUOH +jTwwSgCsUd+1XfMWu3ECQQDt1R9o+TwuCzQBF5m0XQ98qEHuD6ySfWCoejkChpjl +o20dvRlUBa01Ne65P7y5a0OHWqdWZuLBJ6tU+srFupwe +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/brown/brown.cert b/server/slice/planetlab/us/brown/brown.cert new file mode 100644 index 00000000..87dedaf3 --- /dev/null +++ b/server/slice/planetlab/us/brown/brown.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVicm93bjAeFw0w +ODAzMjgwMzQ0NTVaFw0xMzAzMjcwMzQ0NTVaMBAxDjAMBgNVBAMTBWJyb3duMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC0oZ502M9kE+18RU9R8kffP3aV/4XM +DfzE3VEC6L6g1ytzQg/GjClN88Pe7oVa4Lcrj/0ItjjAoLhawWlH8wSHMtDUuqEH +dj9vnwHURvf+1MddbYV04i6EvmQXBvj1CjoOY5rvSSV7o7tuqNOYrY4/VPRVw0r8 +PfoleRFU3zkxrQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAK1Qfrnxie8bmHauvhlO +wFr845uiJnAuXMuSN/oRAvNOSaf16rR19Kwo2mCKsrIL78Hhb9uNgMHETMYViLbo +K5qTueKcmjaGDRaYLzyKGo+28jmogBdqMiZ6rAUCCEAWRCKgv+4RF5ygKeY5LMkJ +C95qLAqN+BWm1Nlpb5F+gge4 +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/brown/brown.pkey b/server/slice/planetlab/us/brown/brown.pkey new file mode 100644 index 00000000..8aaca926 --- /dev/null +++ b/server/slice/planetlab/us/brown/brown.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC0oZ502M9kE+18RU9R8kffP3aV/4XMDfzE3VEC6L6g1ytzQg/G +jClN88Pe7oVa4Lcrj/0ItjjAoLhawWlH8wSHMtDUuqEHdj9vnwHURvf+1MddbYV0 +4i6EvmQXBvj1CjoOY5rvSSV7o7tuqNOYrY4/VPRVw0r8PfoleRFU3zkxrQIDAQAB +AoGBAK9Jf6nIlEl8BSRpZjYRtalxvrSFSOPiVv77/peiIQuYgvPQkdqNPbAF9Hgs +Y4DzPQ2rJ1QC8UQNM5nuwyotLKAbxF0SftBkmk8ero4Sfz3JjVHBLNZBFsx3Kf2b +smJvOfIgoQrqZOAAz6cU6JEXhWA9JDq7Njt7TpvXxb6KqC8BAkEA6oL4OWbXmWoY +9mIsDKbIgY6AlGWAikKej3kVanaN2mM45N9PtimdxS0vjA8q0JwJarjL8fPoyqOa +91JqD19SYQJBAMUuwjVLd8v7DnkquDhU3bOEwAh98nfMKFW+eboisHkGfvUKEeT8 +3xQFVslt4rNa4pLLIPgqBa+Yn582Zwnies0CQCzM6G7O3tFIG4y2JIQmOJfHiXjQ +C0Zeg7wU/aphC6h03CGdJ7U9Lg7FGxg+rYc8x+/DbfLDDe3oY2psLCbTpwECQQCQ +eEbgp2+Za1NaYXtiAoQBMKVGU4kgTtvKnukvAJWNxr2kKYGc5c1ILPU+Vh2ATXmu +FdgNGzTZSBjDnSd3bZGNAkA1xdRqY/qKQlaPYUL3YMuNBNY+5pvTFLoyQsuEYYDR +bzjL2N6z4BCB6e043398T81MtegDp+stu0esW4nDM++X +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/bu/bu.cert b/server/slice/planetlab/us/bu/bu.cert new file mode 100644 index 00000000..15c732fa --- /dev/null +++ b/server/slice/planetlab/us/bu/bu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBiDCB8gIBADANBgkqhkiG9w0BAQQFADANMQswCQYDVQQDEwJidTAeFw0wODAz +MjgwMzQ0NTZaFw0xMzAzMjcwMzQ0NTZaMA0xCzAJBgNVBAMTAmJ1MIGfMA0GCSqG +SIb3DQEBAQUAA4GNADCBiQKBgQCkufr83FOXkeY4LT1a/HzAeeDYGzVyZ4Csbs9Y +pdbfWydSyDgy08Z5V3boF/fObHpRPw+QpDc3/ZvXb3gbTBn6E39/DnJR5mNBsf0K +dKbyGjfkPWPHGo0YeSZRRhiF1GWiRlyD5YnOyV5od7rHBeMggsC6weR7LDXa4+si +SIjCgQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAGcPcDOXXHmGS5C9OLnU8N/OpVHt +kG+fdv5I9XsYNKlRLAs+i6lWSzxH5n1zJdJc/FQs9DgFEeAe+nN8V4OvpKCs2gRu +kiZx0G3VRGOygcREBAor+dtup0AQQkM/OgltnpzawaN5Z2YaeBpa+W1zQW1Kh1NE +aagGgB0yQaCoP+il +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/bu/bu.pkey b/server/slice/planetlab/us/bu/bu.pkey new file mode 100644 index 00000000..a3906f8a --- /dev/null +++ b/server/slice/planetlab/us/bu/bu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCkufr83FOXkeY4LT1a/HzAeeDYGzVyZ4Csbs9YpdbfWydSyDgy +08Z5V3boF/fObHpRPw+QpDc3/ZvXb3gbTBn6E39/DnJR5mNBsf0KdKbyGjfkPWPH +Go0YeSZRRhiF1GWiRlyD5YnOyV5od7rHBeMggsC6weR7LDXa4+siSIjCgQIDAQAB +AoGBAKHag3y02AXTu4tzGBgwgjt1BbIRegCBJnNHJcCKoogwPoEebemzIA7WG+WM +t1ZCTCVMevS6Be+j5t5VjoPz0IjNI0qODJHHZDe/U9ZvHHvi0RPaUjpR5aaeXAle +RvH6kYuBOWCsgPwIfokSJD/IIonW6pDoIkSm5DRErOCEZtvhAkEA2dOpaw7y98OL +4WBX7I0z2LdMdD2+TOGOZ0V6H3iRROH9YSjh5QGBHIhV9PlPHYTyUc2aH/+RaBVe +KDoxgPF7TQJBAMGYFdh5DdTg3VNSMm2xBBOrKwqmJapLxFG29JOTq4AVSIJNkc5n +BKeeOdFtF5ZNxwtdDVUZKAi9tvSJYRtlwgUCQB6D3V8HGBiHh2gKVCbqXRIGE6rR +H4CrtIRZIlOYU1mAAzwCOysWu9ygaNJJvsCW6E93axkCd39KRweBp3+11J0CQQCu +N1AJc77XwNhL4B+TiQYzMQlV1vj0TKTKKIvmtrBSXlTXNjktdpXAxeogJj1gvHOQ +LVgPKclWPGwFmg+yWRuFAkBqUa39GWIFMT43HDoOYOedIWQ7UJNpgzJisv38QIOd +yNdcyJe8cv7h6RqaXIAV9uF9NUFiJrB/frIb4hhTlDz6 +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/ccny/ccny.cert b/server/slice/planetlab/us/ccny/ccny.cert new file mode 100644 index 00000000..1d9759a6 --- /dev/null +++ b/server/slice/planetlab/us/ccny/ccny.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRjY255MB4XDTA4 +MDMyODAzNDQ1NFoXDTEzMDMyNzAzNDQ1NFowDzENMAsGA1UEAxMEY2NueTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5647f58g/6eXx1ARYB8ENVWL+OM1kqR/ +VjqoFxS3qNnacoTW9RWlR0fSM/WZC+yRhzHakYIXgyaj4zblDubtrrRRiutWnRaa ++if5idUCbq8YIK205KZpvuTQFbQ0FhJVBWpdWB5/T0b2ZheORF1WX5A+YvEEmUqq +cUyU09J8PJcCAwEAATANBgkqhkiG9w0BAQQFAAOBgQDTHPJjsT9KV028qx4rfhyR +sBYDfUsCOmloHf1mVPLeBNJZ2SXgKk0rED8Px1DkYmyeda1j0m1uSF9CQIHoSD3S +Oynkw/wiH2I5v4abdNtn3nF3HBbVJ7PmbEeGnM35c8KUzH3/gbR7Sv4MzuO4GsaR +EZfIhQ9KM0FCFNzPxffxqw== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/ccny/ccny.pkey b/server/slice/planetlab/us/ccny/ccny.pkey new file mode 100644 index 00000000..b7e7e2e5 --- /dev/null +++ b/server/slice/planetlab/us/ccny/ccny.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDnrjt/nyD/p5fHUBFgHwQ1VYv44zWSpH9WOqgXFLeo2dpyhNb1 +FaVHR9Iz9ZkL7JGHMdqRgheDJqPjNuUO5u2utFGK61adFpr6J/mJ1QJurxggrbTk +pmm+5NAVtDQWElUFal1YHn9PRvZmF45EXVZfkD5i8QSZSqpxTJTT0nw8lwIDAQAB +AoGAR6Vm+vmP79+5HUcSiIIu//tblPVWvOmoA1eSYcjjXxE379BK1XIDMb7xL2ZV +FQ3slz2AlR0A/mr1pa91OJ2LhLPJppG5mC+IsL+O9aoHutR5rNj2hmxkAyUznHKr +TmDKIe6yqRhsdB2wpkwXjPXvw3kkPddz1UnSPbEB2+zTwuECQQD6S94muSSBDmOm +LqDg3GAPSCCHC/lbBPuSWrWdBsV4Ts/42roGS2CLFsgkWp+94aaQbx+7ce3cYLAT +gxxKQo6HAkEA7PXEeO0GSAG6Sd1WGfy93ovP94cJclffSQaj+wmUgbcNLT4oe5eZ +kkTLYCyrfPnNNe0PZjUzZjXAuielVZPVcQJAdAavWGwCzACLmQGMejAuJ2dcDL40 +PUk2BUYfYkc9SuPd7JIYIcrXWiKZbKDF5BOyTsn0f8P0a3A2rxTcDGCGCQJBANzR +1wrdzzmxKnoFImTLS+ElJ2PDWoFM9A5oes3JSrRq8oOT5kPurbVKGMCCQDkRzTOQ +vAYCU+jO9NBFe+S5BHECQQC+RXO5aC5o/C+vYvydi9qMjOXdHsgARxvb8jPjsrzq +yWGnzoG7+j/m75UTzLS0TEwHULpnofJ5JiuoNQ0eXoVR +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/cernetneu/cernetneu.cert b/server/slice/planetlab/us/cernetneu/cernetneu.cert new file mode 100644 index 00000000..a6cb533f --- /dev/null +++ b/server/slice/planetlab/us/cernetneu/cernetneu.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJY2VybmV0bmV1 +MB4XDTA4MDMyODAzNDQ1M1oXDTEzMDMyNzAzNDQ1M1owFDESMBAGA1UEAxMJY2Vy +bmV0bmV1MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDZl6ra3CMGqYfSFIW5 +TTPdYoPXrYVosGRFmJJ1Y2feEGS4WJcI9yN/qknqs3PeZN05bh5aHbU1bwjzL8h2 +uI29aRlAXc9rwr2Im3TLLtU4VLuM5fSZkoQJokirsa4oOUjrD1pq616j51vHU1tO +7GZV1UH2bZvsHqCCQhXn3W7BCQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAMx3GxB+ +7PTb2+evwhqFWVRWpTbosAbTr+G66kXBsJz1VAMOd0hHBjftZdHCOSpU1LZlB0fq +wzoam+6Cxi8jaShTiYID/FFa+NrUj2Iga7RxnUX8/mRNItdZO1BF04hNo1bnZSeu +XJMHSvQArZfbHSpNmSoXhuxHbK1ez5CKvCI3 +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/cernetneu/cernetneu.pkey b/server/slice/planetlab/us/cernetneu/cernetneu.pkey new file mode 100644 index 00000000..8be5f6b7 --- /dev/null +++ b/server/slice/planetlab/us/cernetneu/cernetneu.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQDZl6ra3CMGqYfSFIW5TTPdYoPXrYVosGRFmJJ1Y2feEGS4WJcI +9yN/qknqs3PeZN05bh5aHbU1bwjzL8h2uI29aRlAXc9rwr2Im3TLLtU4VLuM5fSZ +koQJokirsa4oOUjrD1pq616j51vHU1tO7GZV1UH2bZvsHqCCQhXn3W7BCQIDAQAB +AoGBAKu+mozE1KCdjyayLBpmZVmIOKgzvekz0PFdy7v8Ci+soNMgmZXp+4r4zf8C +RaJz2mlKEYrvh+f1DAtm28NZSAWUI46GJTfBWCcbnsu31pvcGbhP0fvljnZwAPTZ +8hUroyzd6urkZHHP/29IH8VtVbbjYWAShl2VwddBd73NGc0BAkEA7vP/rqRP5Enn +CDBO+aZrxO6VIGftUKatG0fhYsV/4eqI0tPPizEw52iXv7wgo6ILqy2u70Z+qLYT +swXnE2vHFQJBAOkdjwcfZm1g0qZ62Q6b5UDoBtk3GMfKsag5OVk/XihfIivwHWX2 +Eb2Wi3if/BiltDmjMDG7QcVCqDAgZc2dzyUCQQCbTRXmCYCrHKT9G3iYpOLyESX2 +89S3UDy9uE/yA+6DhAz9CRCgpI3mOII36StFbnIrBPvnI2f6eqv+9F0ksC2pAkAU +R0r63qNlXmfUrZkWKT+PHuABo0ZXku1Tae7wMY/6SRRK6C9WgEpYyLDHRHuElV2R +Kf32RYjaJQtGbHsOoOy1AkEA4e7rSt/fOBVnjAjH9wm7Uut8aYYk8kl7zh99rWac +htse4vU2Kf5vOI7Ppv/bllG+h6cBLZUJVEQ8av7OYanNTQ== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/colorado/colorado.cert b/server/slice/planetlab/us/colorado/colorado.cert new file mode 100644 index 00000000..f303f2ea --- /dev/null +++ b/server/slice/planetlab/us/colorado/colorado.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhjb2xvcmFkbzAe +Fw0wODAzMjgwMzQ0NTZaFw0xMzAzMjcwMzQ0NTZaMBMxETAPBgNVBAMTCGNvbG9y +YWRvMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDXNdc4YX49Sz5cu4Uh3dk6 +sAU1mdZS6Ygzpe21oDbdjHt9Rajk1JWnXOZj/T+H/CpIBOB+WtSxGiVO3Sb26uy1 +rxfdD0Rmg6MWxlzqdc0RUWzfDfcp03IFEArP1QAytzlsLMG9Rtc/NUWvLdjcLUGk +TtLAhNeKelBl99ySv9uD6wIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAF7z9Nu2iryC +D8Raa/Ff6LGNv4AAKlDReXwHxMnVd6Fj8AP/EYT5JZsWalcKRb99rpq2tWiQI3Bt +D6CUg1t4ZGXiJ10y+hxi+pLC32GEcS0w+dFcAAgIrqpv/RD3NLxT9muskse8EN7N +76ZmzakprDHn1atjr9vbtyAXyx7UO8P/ +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/colorado/colorado.pkey b/server/slice/planetlab/us/colorado/colorado.pkey new file mode 100644 index 00000000..dc8f4e33 --- /dev/null +++ b/server/slice/planetlab/us/colorado/colorado.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDXNdc4YX49Sz5cu4Uh3dk6sAU1mdZS6Ygzpe21oDbdjHt9Rajk +1JWnXOZj/T+H/CpIBOB+WtSxGiVO3Sb26uy1rxfdD0Rmg6MWxlzqdc0RUWzfDfcp +03IFEArP1QAytzlsLMG9Rtc/NUWvLdjcLUGkTtLAhNeKelBl99ySv9uD6wIDAQAB +AoGATAomBTHNXPLdEf7fx1uPiYDwFkRIyfrhuP4Dw4zcVeNxLo4SYugKCJx2exXc +ALxEZDX07DBDvl+ylu7k+ZGAGPvTiLQmNKysHWKByrpfAiyH5LfVUzwemuQtO89T +vXwcZmiMRKPF3KqJC3/rLTEYEmigPIoJ1ifZMlo5Na+t5GECQQDyiDZn126+QGll +lTp3wU2sIgVWKJkjqmKp2ICBwKlC0xVPq4gYp7zjOnEjjEbB4kpBkNB3VnASTbGw +Dqx7JX1PAkEA4yk6OcSEle0+4gyo6kJ16KneioufqW+ONAww2aSpyE/YxtuZyNiF +GiDuyLucwds491aqM42SUTMDqj8yXUJApQJBAMdEbx8GfDDIj1AtOeqm4gBpu2S8 +2oXZOlM+VOdGukrzT3E0CA/p0WII5GhGmuQ13rjcGMvUMyR2vWVfyQstFDUCQFpl +raYPbjO7laqfHxkaGZHdB5Javc7PdeeAcnAp9uaf38RC34/tmgor0NpQzrDWbHUB +J/ob/H4TrwGw5Hn4Q4ECQH283+PKpErNiMgkPadO7dWrW0gwWXWc9+11LZvfoWiB +QMw8NyvbeqOtP3nqY8NLrFkMO9PRsx51DYK4s/fBWGI= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/columbia/columbia.cert b/server/slice/planetlab/us/columbia/columbia.cert new file mode 100644 index 00000000..9dbc097f --- /dev/null +++ b/server/slice/planetlab/us/columbia/columbia.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhjb2x1bWJpYTAe +Fw0wODAzMjgwMzQ0NTRaFw0xMzAzMjcwMzQ0NTRaMBMxETAPBgNVBAMTCGNvbHVt +YmlhMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDqi6dUknFKC1w8HR+e/w6Q ++XaWA29YQm7icXVMjK0r+EN0CEgkWnyQsq13opXPzF8rejaoT7p/e4cdrCRmrowO +EdQwh5Yaj5HMyY04el+kr6xFxF+1rR0WrpEeWSwKTI23DWPxLvr/b8zjBSWcxjut +kiHYGbGCcl6Fo+Q8HV0wQQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABp1qk6HHNCi +iEGf/56sOzpA4OOO0HWXur0zKFpr9Vg35JrKmK98Tc2eMxeOrLvR4DcwhCFZcEiV +XRCnqSPPMrKEdDgeQpg8T5bgTp++XSNjNHUJfJzwSF/NZU6UceRWhrrs2xOOpoOu +SG0sducdgvjylTLEntv+vlVS5/K11UDV +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/columbia/columbia.pkey b/server/slice/planetlab/us/columbia/columbia.pkey new file mode 100644 index 00000000..99d20240 --- /dev/null +++ b/server/slice/planetlab/us/columbia/columbia.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDqi6dUknFKC1w8HR+e/w6Q+XaWA29YQm7icXVMjK0r+EN0CEgk +WnyQsq13opXPzF8rejaoT7p/e4cdrCRmrowOEdQwh5Yaj5HMyY04el+kr6xFxF+1 +rR0WrpEeWSwKTI23DWPxLvr/b8zjBSWcxjutkiHYGbGCcl6Fo+Q8HV0wQQIDAQAB +AoGAeUH+HnEfdOJuqv17jZ3bkAQI1QGtnPmrjhKOTCcmmGbfqKtncLP/Vmep2wIJ +ZccJJNcoTtf5WVMpxaNrplJzQQ1pGu1QBbYNJEPZ4jZNOv9WjlbKOErh9QyZZGYg +CLg0JW8PXNMgjMifvxx1w7jgAA8Rr1KphxqJWlauovDAPYECQQD8PDA7FyFa8Fxi +bpnmdLg0bqV7wJQHAAwos4HnfIx4GmFGRovfnpTXDwO7GAzglRyIYodNtHXhmnKZ +h1OR/lzpAkEA7gvfL9Z9fTQfLBgHy9GG6g4Wp7pLFzwI6rrkmqI/Z0e6CC2M8XL+ +SQp1SDumbFMKHdjlYiCrCXDpE4NS9mzBmQJBALGzSZtnqUUjD0L9folAc8Hkrcso +mmDwJKDMDlnigiffFebnroVFeMCmQE+gGvphsq9XEtGosF/XaqNFFphFJnkCQBqb +LxXstlfxJG7MPMrWH2s3qeaTVuNA7Yo222hBLC8CAFP7q14tSSimx5cMO7ytx1qw +rGq8VgGXIiXxLqumWjkCQDxbkoi14s3PIFlo5TSQH2OL00KsE6EYx+ceeY4l12eI +nogNVh8T7gKeZaaObvZZFYfLqWi2UhmeECsHZQvwky8= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/irp/irp.cert b/server/slice/planetlab/us/irp/irp.cert new file mode 100644 index 00000000..db016c97 --- /dev/null +++ b/server/slice/planetlab/us/irp/irp.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwNpcnAwHhcNMDgw +MzI4MDM0NDUzWhcNMTMwMzI3MDM0NDUzWjAOMQwwCgYDVQQDEwNpcnAwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBANfWdYVtEE6fPiRbnX2Vlgr3yVy5kEryMRKk +8X8/ZEHPMNtsQW8aMk05D9AONXv5vVng2m7V4lijBw3PdkBUOkYXKiQc+wt9tkk8 +t7xzAzYEi1KYpkwYuGYtP03WXXSGSxqKl2hIN5NqfsY9KYwdUu+2CCT+AY+SxGuO +sza204qpAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAhN0H0VVo1rFF3DUDPQrIQbRQ +DTf+QUkCNMg/OaRdHAnXAh1cVuorTmYPINq4DBUbC+TDzk98U5hTVs7M5JiRoILp +IV12aMKEGFK8YUCPLhiunBX4r2DH0S5mu07sq1U7UHFKPJis5Wn68KwMczGKvl71 +6gL3+IRw7vCjz9BMzxE= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/irp/irp.pkey b/server/slice/planetlab/us/irp/irp.pkey new file mode 100644 index 00000000..8667a379 --- /dev/null +++ b/server/slice/planetlab/us/irp/irp.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDX1nWFbRBOnz4kW519lZYK98lcuZBK8jESpPF/P2RBzzDbbEFv +GjJNOQ/QDjV7+b1Z4Npu1eJYowcNz3ZAVDpGFyokHPsLfbZJPLe8cwM2BItSmKZM +GLhmLT9N1l10hksaipdoSDeTan7GPSmMHVLvtggk/gGPksRrjrM2ttOKqQIDAQAB +AoGAaqz1Qq/H2oP8C644JaS0FtGm9SxFs7UGKgfZ0CF9pMUJibl0kbvp1p74QMV1 +C8RAINbwPs15ZIOW7e12rY6ziZ5x0Mjzx2T2ri/EQmeB9UUp3neRVhBaYaGl0Rip +SM5Y954mDTxxd056fy+Sfh6Q4qq8J5ISWcy7GrVVKEBmk/ECQQDuXySH2YcDqsGf +l+YNbLW/O+aBwTQcBedVGi0JQe82J3o5sIoA3zhwzGDMA0EWt4vpDYb0yipTeyCB +YNepuUINAkEA58y0JWlXU5QVgieCp2egqHUp/VY142MO6GYasCV1pr8qf6lABj83 +byCo355NGpxMAaggduqnejD6j1+vF7vwDQJBAOIjxOZUifACqRoc4xVNUscPrsje +X+9N8n8cDCnCMYxwu1XLk8DsBAGPAy3I0JEapFL+kE/fE3SLVPUoyLCtnmkCQQDP +bwjnUdWsHaEB0InDdaD4H6Fr7HJdApCcuIK5j0wx5HELvVJmRLw+3mNBelBVt/js +oqAqyuMFHj+bfm0aOD0hAkBjB85gGzjDwY0K514D6emnDKLiDuj9wEGiaRQDp4d/ +OWWIn1ea65MXFyPYFQbuPVwa5m9Vxl9A6+Qry1uFWvqc +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/jhuis/jhuis.cert b/server/slice/planetlab/us/jhuis/jhuis.cert new file mode 100644 index 00000000..7e3ecd8c --- /dev/null +++ b/server/slice/planetlab/us/jhuis/jhuis.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVqaHVpczAeFw0w +ODAzMjgwMzQ0NTZaFw0xMzAzMjcwMzQ0NTZaMBAxDjAMBgNVBAMTBWpodWlzMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC4ipJ/Rah4jVV6N+vAEcjrW0YBLyWN +gK4VuDv2zkH9hgGmLwXZ8zo01FPR6H/6u5MeQ1PNg7YVdws0SvYygBOR9uYgKPRa +BoKmX9U+vGayhPT32haYc3qqnkAq1NUPMSkKZtb6PcBSJOGMc+RsW8/VMJk7pyVt +zEVs4cOaaLLULwIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAIBauOrbC0d4jIEuX1Z+ +UWHND/xpAY96tGMIC89NPMPhxpFsluTBQqBDsjPdYNT8LGGdF50STBNO0u81MUoc +DI283D7Hy3WdhsExk83XdHujLqSB1bIR0koJJzgIXTa6kMk6DuraKixr+yeNVEiH +ttbyJ3G4SMJzFYRw26yxr78Q +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/jhuis/jhuis.pkey b/server/slice/planetlab/us/jhuis/jhuis.pkey new file mode 100644 index 00000000..2f2a449c --- /dev/null +++ b/server/slice/planetlab/us/jhuis/jhuis.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC4ipJ/Rah4jVV6N+vAEcjrW0YBLyWNgK4VuDv2zkH9hgGmLwXZ +8zo01FPR6H/6u5MeQ1PNg7YVdws0SvYygBOR9uYgKPRaBoKmX9U+vGayhPT32haY +c3qqnkAq1NUPMSkKZtb6PcBSJOGMc+RsW8/VMJk7pyVtzEVs4cOaaLLULwIDAQAB +AoGAdFeAdlaPGLlZyzyYFzXfKmoXn0V+8k/O8Ih+3WE5f0DNp1x73uUVrBq0YWCn +1oYNAQZHPgiscankWWps/nd6XfhvuY1PaCot2x1jb2qtShg60YW3k6WDmmmKHbdh +IgJE4aCUt9oVE3mAJHbefA+CM76A9S2gczYerMLqTnZvs7kCQQDZsrgiqpP5Ato3 +0lekzlWNiZPaiYOsbhDdriJk+l3tU2zUkwQLBa9YDWMdE0GoN0UfUv4Xf6xUEovK +eEh9IOs7AkEA2QJyFi5g0aO564KdpOWN5jUiQWIJCrB6ndBWm9cwdcmIsbVAuY+C +Iy9K3AGrZHcaUhFY41bQRKrXN5TFbXSjnQJADSd3aODVwB4kAWt8UEEHel3tyS61 +/h1Id5ymB2P5ePWphc68V84oIjHs4zzeosN0MchaAiF80DeuqrVJ7AWpMQJAGTp6 +ju+XW+ff3mxR7XCufXvh3p4KFQ8NQjmNSBLNVHQ4iwhaXPg9FeASoN8k0Moz6iSQ +I+Xc0o7V9GU8SoxL1QJBAMkJPnO5OTrAdDAJOrBW+cD0FBs0TCyKo6cByT1J9saa +hVz5teUHQMelehOGiOChv0xASHgn2xVFHvSTfsCU5Rs= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/michigan/michigan.cert b/server/slice/planetlab/us/michigan/michigan.cert new file mode 100644 index 00000000..b6bea7da --- /dev/null +++ b/server/slice/planetlab/us/michigan/michigan.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlDCB/gIBADANBgkqhkiG9w0BAQQFADATMREwDwYDVQQDEwhtaWNoaWdhbjAe +Fw0wODAzMjgwMzQ0NTRaFw0xMzAzMjcwMzQ0NTRaMBMxETAPBgNVBAMTCG1pY2hp +Z2FuMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+IB5wVi7z9TmbSpW9zxKe +t+X8t4j3+eHgKj2wbWzcH6AopKz+64SUDjGnGLCj+WuJ/VEzGjT3mut5Nq550EJQ +GUcXsTxB2WLt9wQXHxCG2a9B3VLm1cjB3DgLbvEF0kswvDusvJz6c5uRgfese5P1 +UvBhlOACnrFZvbd2rq6w7wIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAA/K1ATWBswm +BfRzU/yGJhemoFfPk8vLwzgPHemDj7VAgfi+50UScx0p0aSoeIHADMDwZj2CNOA6 +nHFdPm0GnyT0r4espnSXLiyF1vDR9WzH8P7iHswniO64b+uwMegjZcHl4Xxw0UCm +Wwz551w5jY035GqWytd4tlQwXqlbl9bO +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/michigan/michigan.pkey b/server/slice/planetlab/us/michigan/michigan.pkey new file mode 100644 index 00000000..5ea3d7b9 --- /dev/null +++ b/server/slice/planetlab/us/michigan/michigan.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQC+IB5wVi7z9TmbSpW9zxKet+X8t4j3+eHgKj2wbWzcH6AopKz+ +64SUDjGnGLCj+WuJ/VEzGjT3mut5Nq550EJQGUcXsTxB2WLt9wQXHxCG2a9B3VLm +1cjB3DgLbvEF0kswvDusvJz6c5uRgfese5P1UvBhlOACnrFZvbd2rq6w7wIDAQAB +AoGATijqGohzmPsRCZQp5vP/1ZwIQlI5Tqg9gWgcIDF79SpTLyIztECiKjODmgv+ +YgqheQLYpMd7Suc3MoeWRqGlAI9cloGDPV04QoQXRz+QIsu7geQdl9tBt6gJv10Y +++rm8JOjBv3SFpiG2gLyRPW5WagH3cGHv17FoZR9cnx7e3ECQQDe9G5wvGkDTg26 +QOUOCqvKdHmKS5I1TLJEPYxNnoOy7IKEnuF6sQWN7dDMrH3PStiisl9Bl1BCFv6J +o2TtRFYDAkEA2k4LYvSnq0nhR3uJ3/+7qp7l5dZ42+nbKh+PRn2KzvALomYE40+D +dS56sz0VGA2ZHLOMrbpK9Qq0C4O58JBrpQJBAMPOnjPqdLvPUCUUm1ZCru9mbdu0 +VRr0Wdeuykrc/UMljdcVhmdvkrY8d1VZ5EAqtqnkx93eG0F/2lpdIuVyT6sCQQDI +pNCsW+c7dMT82VvoqHiJIlB1BcHBhlgsiCM8i6in+FMJKTE2518Qte6KjQq1N9JR +Yelbx4ybWgIPTzv4EhUNAkEAmaAQj5RXRTKca+6jXptK021RxIKis1qRwLj999cM +gAA57Yk3oeiZWSWGoD0BxFs3hR0EcUTRTo856qX5LbYOXA== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/northwestern/northwestern.cert b/server/slice/planetlab/us/northwestern/northwestern.cert new file mode 100644 index 00000000..69ab82db --- /dev/null +++ b/server/slice/planetlab/us/northwestern/northwestern.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBnTCCAQYCAQAwDQYJKoZIhvcNAQEEBQAwFzEVMBMGA1UEAxMMbm9ydGh3ZXN0 +ZXJuMB4XDTA4MDMyODAzNDQ1NFoXDTEzMDMyNzAzNDQ1NFowFzEVMBMGA1UEAxMM +bm9ydGh3ZXN0ZXJuMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDaRVqvAQ9o +0PmOLe10t9nEFXaQhHKP4LAX+YhfKuwn54si3SMC6/1YKOgIP4h86bwJUXKWl/f/ +eXpYadyAM1m9XUBNI+8K9Qybf+NGwvUe9BHQbadZElP/hWwfGkB4ubw4DFSdjkAp +qmBsezOyDaT8w/FrDyqCYCCWjscjWlVw3wIDAQABMA0GCSqGSIb3DQEBBAUAA4GB +ACdQjSPsRDBjpCfK+HTtosMymSpd6H+c+WQ2EpbDhrbMwalQXukvWpx0zBgVdM0T +fFfdpKMw88YeEtLafDtZCKyYEn5k/s3ikZqidLdYz87h0GRYHc+9ahu3x9od46sI +DDI8XBAcGRlm7vwYCwpD91hcp6vs87Nq62x57ErMRZ17 +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/northwestern/northwestern.pkey b/server/slice/planetlab/us/northwestern/northwestern.pkey new file mode 100644 index 00000000..fe12573b --- /dev/null +++ b/server/slice/planetlab/us/northwestern/northwestern.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDaRVqvAQ9o0PmOLe10t9nEFXaQhHKP4LAX+YhfKuwn54si3SMC +6/1YKOgIP4h86bwJUXKWl/f/eXpYadyAM1m9XUBNI+8K9Qybf+NGwvUe9BHQbadZ +ElP/hWwfGkB4ubw4DFSdjkApqmBsezOyDaT8w/FrDyqCYCCWjscjWlVw3wIDAQAB +AoGAQvdiUi0GGEd9OVT39IZvpoxbOw2XxHLQNBrX7zLRD5EnjAPCuSPEL6clQVqU +upZPnaBCgtePO+9+TN/1ydN3ZWPFgEWJMSlUhwVgiNEKj4Dbffrx6OeDZj3r6xI/ +cSSMxvNzi/9snlBEyYKesi25rja33m5bv6BP0aaXUYgrVZkCQQDvw9nERXUHytMB +3HfLTdg/wPjp0fVKPuvQwVwz3xnRDWw0HHucqi8zftNSUH6t/RlxsPTYKa5LTSn1 +HwwQ2ZbTAkEA6QzrN+uatRM7HmCq6oWk9ANyYUsZFAYvDLs/zC8wfRLtGO3ZXA4E +lnE6v2NzloGuLF+W3obu/uvesrngNybORQJALjp41lr+AY6duJIlltFfjItMcujE +fpg7J3jgqi+t7pzD7BhBzScTCr69R/W1Nx7BtSYFT1hZ/rLWECj4TpdleQJAM8PP +13r4wTHFVukH7dHDowPE+0FwD5eUCdLpx9PPhGiYy4nBVwYyFKyP7QUNHqgtZOPS +ohj8qxj/PVm2KOnwtQJAY8yca3rwxNCFU01RKPZQak+PbpxMyY819NkT4zhCcsw7 +wCR6ytm6SbYjIX8HiJZD7u6K7lNmblVASqQipdDaWA== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/orbit/orbit.cert b/server/slice/planetlab/us/orbit/orbit.cert new file mode 100644 index 00000000..bae41f81 --- /dev/null +++ b/server/slice/planetlab/us/orbit/orbit.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwVvcmJpdDAeFw0w +ODAzMjgwMzQ0NTZaFw0xMzAzMjcwMzQ0NTZaMBAxDjAMBgNVBAMTBW9yYml0MIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC+kK4ZvtSRC8JkC7Gfk0biDjxJhhgN +06EmZjpNrS2D4yUi98Muv2OKq4T4ALmlVJ6/n2IUkjKJNPkeZYeGeo/IbO59guxi +nfIJRNqDT0vUv5H+sx/KMliU5OfnRJYcHw9jeIBT/5rMH2cS6YmsF4+Fq12ygOOp +x9wTNlkU3ZWZAQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBALN6eKbNLKdzVhtCHZ1Z +ZagKhl7yLQlEhKaztcWI3zMfhsL3vC5FXJrKGKACMnPOkmNVtDa3e3+LlIU2Lnpb +NySYbgHt9uDlOy5mQjw5vkDmUXjX0w+K/Ris1wqLu4EIXbcxdJDbk+6TIbUGb2nl +hNbf4VRpL7Wc2G9Sc1We7tnm +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/orbit/orbit.pkey b/server/slice/planetlab/us/orbit/orbit.pkey new file mode 100644 index 00000000..37090adb --- /dev/null +++ b/server/slice/planetlab/us/orbit/orbit.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQC+kK4ZvtSRC8JkC7Gfk0biDjxJhhgN06EmZjpNrS2D4yUi98Mu +v2OKq4T4ALmlVJ6/n2IUkjKJNPkeZYeGeo/IbO59guxinfIJRNqDT0vUv5H+sx/K +MliU5OfnRJYcHw9jeIBT/5rMH2cS6YmsF4+Fq12ygOOpx9wTNlkU3ZWZAQIDAQAB +AoGBALMDPkk5Fn3ayhUpVwZMV33rWX7H1LjIYM2ton9teyA1tKEQle3IJD4Tuakv +JTXGNApWMtCYNZjmhk6jmZgecgl6HyagvehrxXJNOgp5cSELHamhNss66k880XaP +g6cnfIqyYummvoAK5Z8Poa+1/wSgJhXUkTJ91oeCVUwbVldBAkEA4RTsntVczJkF +zIW3dtsM9USiacf6uKbXlwiJyAVdC7XWW+5JubuhVD+mp8eoGGlBtJNlyGCMETke +bD1W2g1nJQJBANi99/M5THfal+jJQzCqBW51qM2slmZtQIa8+HP9e4P5SVHOawmT +fdp7mEeLB4Hw2IBEpP+KH102eDQ5Y490wa0CQC99vr90vXPeBb81p5RIe990b+Bp +9Zjoeyy+/HNbzloeL/CNwriRwmSIWZ2lHu6nptl3EE7LMEKiDq0/9AdmNJECQQCG +aB/X6+N4u8zSZeTNy9G8cyhwCyPldsC6DXvBaiLrb27BVVFZSeaU02pWi2fnc7S+ +rlLnyP60LjASqrgL4SqtAkB4RAlTGWrl0IQgapxo4w4pr/sk7reBKtSGpxzo/ewU +dinaGu8FSzqTRUcWGnhHH7wZ2rtSRWltNO5qZZAKfaJl +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/rice/rice.cert b/server/slice/planetlab/us/rice/rice.cert new file mode 100644 index 00000000..61cd5737 --- /dev/null +++ b/server/slice/planetlab/us/rice/rice.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRyaWNlMB4XDTA4 +MDMyODAzNDQ1NFoXDTEzMDMyNzAzNDQ1NFowDzENMAsGA1UEAxMEcmljZTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwn8WNNIDcwNTK6D1vdvJj1Yj8idOB6gr +Ntm4rEutcIfqaMAPc/Wka2l818HUH4lIj7l4IL7yiJZCk2SBGfPzR6G1hs0mjhZ4 +MFTiMnvhXyaGGyBNWalZwChWqcPtOPPP9lIgj2uAy3MWwUGR84jVj7Ql2Ed7f3HT +LpFg0ySy+p0CAwEAATANBgkqhkiG9w0BAQQFAAOBgQCJnHY+9YAjtDyZ8IwVmWip +IRMjlktgsnSXkqDeZ2/QPej1XrcoY28k/FtbM4OTH+K2xImZi+AXhPKwUlmnGGnt +ipJAwroZ+dvUVtWokjrlrKlF86pz3/+MHrO3mZ4Cn8hN0hbCgs/RvpIkUcUaSZvI +Z8MMeTA3srLHGUIczW+Xtw== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/rice/rice.pkey b/server/slice/planetlab/us/rice/rice.pkey new file mode 100644 index 00000000..b90927ca --- /dev/null +++ b/server/slice/planetlab/us/rice/rice.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDCfxY00gNzA1MroPW928mPViPyJ04HqCs22bisS61wh+powA9z +9aRraXzXwdQfiUiPuXggvvKIlkKTZIEZ8/NHobWGzSaOFngwVOIye+FfJoYbIE1Z +qVnAKFapw+0488/2UiCPa4DLcxbBQZHziNWPtCXYR3t/cdMukWDTJLL6nQIDAQAB +AoGANi9Vrm17zIT2nMcA713V73reFM5ibLurHmLVkhqbPSiAY6JuK64ZmlsPDsTP +JeIHNxNCpkzMIMVL0uhDF0nhUm0d/h8hiElTU0RhCN5QC49OdWtnAyrPgbBAtzRq +isVDNsbnU2XnhEAj5WcThJyCtfH2zfwNgGu7dGgpSj2gRgECQQDjhOx3zHAFPQ7i +g18+nqGGLgA3w+ZDO5x7xVavw79A2Mlw74qBkroVcl+5Vz3EU0481K9xwVObkzTr +4aT52lxdAkEA2tfqRE6Zo3pi38KOCiBcxtF2f0JiEjSCoR7kA7uPaB7MfvUINJ9S +g2nOfd5mA6uHJGmyiiHA6+2yT82cDZczQQJACOFhUXO7U5kEgbba+ti6OUCGZabR +0AH9o58aORYM2v0bL7tJzrDpbnjeX5+WG5mczicHCguftczTHfnatJ3fSQJAPpnC +9rUxN9VbkTx7GyR0xZ7HcdHQcfq5X1OR0AuIEzW0M6DuLvdgSB0tJ05GCki3yM+/ +dcoAAL0m47MiL7UPwQJBAMP5wBoh3DSrZCnn2PJYftpGCdWr+0eKgm54yl8knvYK +5Pn2zkSXK8kL32MUnKAIEGypkw/4vJdPe9TxnOotRi4= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/rpi/rpi.cert b/server/slice/planetlab/us/rpi/rpi.cert new file mode 100644 index 00000000..d99ce0b6 --- /dev/null +++ b/server/slice/planetlab/us/rpi/rpi.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwNycGkwHhcNMDgw +MzI4MDM0NDU0WhcNMTMwMzI3MDM0NDU0WjAOMQwwCgYDVQQDEwNycGkwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAMktbvEQKoMOn0qI5wM246CHJUtSU46DSYff +Qt5g4FJAAG7WjWTV3P4GO5rzfiIVYZmS5Jq/ijWmJHl1G27eRu7b0U+OIRSQqFaR +FOU9UeUnPc4RiVL98l1W7QqqdBs6qhErmjNt1GuJ3lJwAiGEnAYIFGVjeFAp6gps +WJvkG/rNAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAaAtzTqBZ6M0/RLBKxYBxQ2WY +krURmp+h70dB6WyEC6jkI6S0C+fj/kLai7JM6okVYg99B5YlgY59SMSNFOdXvXyJ +VRzWqhOj2+mmb+hoW7lYQT5jLa23JcaUqmyeuGXa/fHlR1/zLgHTBWIL8wLxXQgw +YbrHq7cFnuBZMDI1uS4= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/rpi/rpi.pkey b/server/slice/planetlab/us/rpi/rpi.pkey new file mode 100644 index 00000000..23dceab5 --- /dev/null +++ b/server/slice/planetlab/us/rpi/rpi.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDJLW7xECqDDp9KiOcDNuOghyVLUlOOg0mH30LeYOBSQABu1o1k +1dz+Bjua834iFWGZkuSav4o1piR5dRtu3kbu29FPjiEUkKhWkRTlPVHlJz3OEYlS +/fJdVu0KqnQbOqoRK5ozbdRrid5ScAIhhJwGCBRlY3hQKeoKbFib5Bv6zQIDAQAB +AoGBALPT7vWA899OtMjVc1qGOBcIdyfLIXGknZfc1FMf2aTsHPb2xlE6cl6Hh8RM +n5Ur86Bpk/tX991Y9AW1zp3eBxxqPVpWArWEXeDNPwfOllrxtyEaI4pWisSkATYX +4JPW9d7LS62mT97XyvUoP+rbeYQXnyUDbnShy+7/5Gbr0OqpAkEA7PHSJAXc6u2R +3c78L3WKPN5iJOZvsZmV35INRAwCxtE8ECXXx7fVO48nH49hUSmO3ZFtzHi6GP7t +zF1igSKZ1wJBANlbPoHvd7KCiiEgHU/EfRIYXxjvmsG+rlpo2dLtRm9h1wieNY0/ +sLFt3kaPCXYax7U3h8llF0jBS/X+QNu3Y/sCQEmVvB5F19r51sAc5QLULQ9EPRSa +n/t26C2bjRUh6cbW+iFFr2Kt+8HYbl0FyUJMdrrmzEOhBqJ2oWFDazERjtcCQGUw +E0OOZh0WpJOTTdIK2WcJLYyAT32O9cBlO7L0f2vvEpqSfL/LPMj9KxOSF4eCJCL7 +PR3HEDXwtxpISY2ALO0CQQCrr3VuHI9HGwTN70jzV5ZtlufUek1xMuO18cswCgGE +4tV+neTrKUlkJNgo1Qa95dMlb9cCLRahwOBF4TI5rI4u +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/stevens/stevens.cert b/server/slice/planetlab/us/stevens/stevens.cert new file mode 100644 index 00000000..e64478e0 --- /dev/null +++ b/server/slice/planetlab/us/stevens/stevens.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkjCB/AIBADANBgkqhkiG9w0BAQQFADASMRAwDgYDVQQDEwdzdGV2ZW5zMB4X +DTA4MDMyODAzNDQ1NloXDTEzMDMyNzAzNDQ1NlowEjEQMA4GA1UEAxMHc3RldmVu +czCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA1MnzZ36Guii0B5AKJKpu95r8 +WP8o06UhBOou3ansEGXAhn3ZPzLWWapm2giBXkceNRJkZUC3tXaNd7fT2xBqgn1D +9QGJvZ/+f18EKdjg+GRJJSV5ge10LF3lqb4SAFmgvcX9Nu3oihM2cg8kt/lF753x +q/ERin9fALiAFUrf+zMCAwEAATANBgkqhkiG9w0BAQQFAAOBgQBoE7fcJaySaOiH +qi73Wej1a/jn+Ul8Vyc9O7ELYvB5mnqpPOH76Skppuz5vzerIvcb2OLdFNAewDiX +xKq4kYs7/S5YWipUvBoL/vYRg3QCPPIc+sybYbgtr912vTjKmRbrzB0RM0cS4LRY +uck1s1KfdlK8cFZIuDSKt0qJBSiv2g== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/stevens/stevens.pkey b/server/slice/planetlab/us/stevens/stevens.pkey new file mode 100644 index 00000000..c53b25bb --- /dev/null +++ b/server/slice/planetlab/us/stevens/stevens.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICWwIBAAKBgQDUyfNnfoa6KLQHkAokqm73mvxY/yjTpSEE6i7dqewQZcCGfdk/ +MtZZqmbaCIFeRx41EmRlQLe1do13t9PbEGqCfUP1AYm9n/5/XwQp2OD4ZEklJXmB +7XQsXeWpvhIAWaC9xf027eiKEzZyDyS3+UXvnfGr8RGKf18AuIAVSt/7MwIDAQAB +AoGANnJKHqQoUv/RONIpVkJpzF9SzG7VgnoRHdHSFhPBfFycy4zuBpa6dAz+7jEY +8QefehLvr1zE5OClyAk4YygrKCrCw9juiXtSkPo0vwqdCfLNWLgeudEPpTA1QbkR +JrWgGkQSAiuqRWr+Lm9y/k4ULGjX3KpOeCwEnI29P16jkeECQQD3XZljIi5Mz5W/ +lnBoxDtLv9L2Xk3brUktKbAcCjaUvZ18uDAeZ0tMIgY6T8sa8afjrqZ8WsCi1rbu +9JJ+cC1jAkEA3DdhxpRYQvwptspLk48uZ4zTBi+VtznDJhJWYsTZWBZgaspIO0M/ +ZkhR6jaWWnuBzNoakQvQdtzDVPmMawYL8QJAKuZ6wayd5whhajbHDARsXDjKd5vn +WN/2vvRp7JMA4E76TzUKc1tqvatw9Q/9o5Chk2UozoxWuGcQluSnu3HtDQJAIqgs +oR3zjgc1YWkQ39YmzXEiPNT8UOusRK+aHM0yD2TmI6hWGc2JisVS7vNMUk0hrmWc +zLr5QduYeiUT7jvzYQJAYPN0sadE6qDkoqCREMsNWMVynpVOZoB8WalH8TfYh1Zo +4IZWPsx1sv600J7GINtsgGB+gwQSbUe+hWbanxfLlQ== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/tky/tky.cert b/server/slice/planetlab/us/tky/tky.cert new file mode 100644 index 00000000..bc59b4ab --- /dev/null +++ b/server/slice/planetlab/us/tky/tky.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN0a3kwHhcNMDgw +MzI4MDM0NDU3WhcNMTMwMzI3MDM0NDU3WjAOMQwwCgYDVQQDEwN0a3kwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBANUk7u6wn8t38ziGyCjmlZ5dBlCluZ81NzC3 +k+YvWMSLH27baxXLJqJjLZV9hXeSY6kNzWlGSOxP9675cW1NEAlk8bbZYd5i09Xh +TA+WZWFCxNcFfCpcUHbwGC0sOblj1OF2zScL4Bt9Y4CpP2j8+XNqNAKGxPBY2m6Y +ftLL+7KrAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAYILsZMR/+d1UcZg2TGVwBaEt +azdip7aLJavRqebC9RcFhMA5SnCq2cyHcADI3YfKuSXvXpLr5xXZWYUEMHyGmpv+ +YtK316I4mmGwRXPA4eQea1xVDRbfYp2nKRXeKEQAPIb+DQYy/kXsnwOpgXVrcSvh +Qq2GuvO7KB8tuKWwZxk= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/tky/tky.pkey b/server/slice/planetlab/us/tky/tky.pkey new file mode 100644 index 00000000..19c2e94c --- /dev/null +++ b/server/slice/planetlab/us/tky/tky.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDVJO7usJ/Ld/M4hsgo5pWeXQZQpbmfNTcwt5PmL1jEix9u22sV +yyaiYy2VfYV3kmOpDc1pRkjsT/eu+XFtTRAJZPG22WHeYtPV4UwPlmVhQsTXBXwq +XFB28BgtLDm5Y9Thds0nC+AbfWOAqT9o/PlzajQChsTwWNpumH7Sy/uyqwIDAQAB +AoGASFwehYgO57uUJceUIlaNytKX9z8b8lHVp8NbAZVnVGpKxI7XHvH17sEu04Zm +jj5zeQwHhUroLNnFI3Dpsgqse3VPvqWqL5NL0aseHR2nFPgABfUm56O8QF7ibvRk +Mi7dbfd0HGlh5ZhKva+WVpvS0V7CD438cJ5kPae6uNrRUdECQQDwOvzcshjJdzNt +Hb6W0R50Gks02GvrrIyZeaQOWeHcHDfX41ERQg6Ag1gO7PlZ1Ra0psYufs7axDjv +/C9YBadzAkEA4yLFBEhXKFsGLaC4HniJGOpWLtGk717AM4oRa56eWA5N/63bHdWI +mJWTesKqJ9ZfD7KDEo7vSBzzn/fp7u/J6QJBAJM3cvJEahA8blV2HvAJoyH/Yws1 +fZ1llpwPAUySJGlhGY/BjFKJKp3y36n16zDz9wAqG9UufNFv4nyfDNxiSqUCQECo +RS1S6nyybK/QcJk79ssA6keppin97vi89PiNzsWCTPHbq+RyRNAqxDDN+WIdxDHT +vzwpNDRzCWcgS5eY6wECQCnjhw4iZ0VCTKjKSrXHnHO+1LR7HOtFyBpZk7SDB7/3 +BCtAsGYjrtHQKOv/laZw2+qRsceYkrJDrCJ9194O0ck= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/ucd/ucd.cert b/server/slice/planetlab/us/ucd/ucd.cert new file mode 100644 index 00000000..0d563518 --- /dev/null +++ b/server/slice/planetlab/us/ucd/ucd.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN1Y2QwHhcNMDgw +MzI4MDM0NDU3WhcNMTMwMzI3MDM0NDU3WjAOMQwwCgYDVQQDEwN1Y2QwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBAKC/zUm0FA02ANkYAbBrg2PJ3NYduJNFd7l6 +BQMOHnFKZpkOxuLrwbV3tHdjiY/UArD7BULwS30Mhu4EuHAFKVf5UUc26sWiUd/H +Xg2U1R+yj8wj+/PLS+UXdHnXGDAj6fSEjWYuVa0XHxDNxFn+AQHy1s9B7U1rAuBl +CLNuqjvBAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAPI+KZDyVFwqW8WBtklpHgqcf +VZBbEA5o99wz8OB4Y9N70yUjpkblcHBlZIuwWoyy1boe+yVl8XHhBZwGCgrq/xCq +v/WaRUl1hG0sBUX6Z9Ot/6YiAkTDjt/isuvfS/a7dj5Mx53ZUpSGtMcxnUsAh3SZ +k4iYkCgy6JBUuJAQ7Zo= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/ucd/ucd.pkey b/server/slice/planetlab/us/ucd/ucd.pkey new file mode 100644 index 00000000..7f0f21ff --- /dev/null +++ b/server/slice/planetlab/us/ucd/ucd.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCgv81JtBQNNgDZGAGwa4NjydzWHbiTRXe5egUDDh5xSmaZDsbi +68G1d7R3Y4mP1AKw+wVC8Et9DIbuBLhwBSlX+VFHNurFolHfx14NlNUfso/MI/vz +y0vlF3R51xgwI+n0hI1mLlWtFx8QzcRZ/gEB8tbPQe1NawLgZQizbqo7wQIDAQAB +AoGBAIlBnLE9IQ3yuaCk3fRcqPDQ0U7GS+78FvF5XcQxDw9fHuG7+1iRQ3KGhsKW +bEQyHCYwAFsawOpCgwfDYhTMY3KPTJ6QTA8mljBhds2VWBY8b4Rx5z/N1qJmVTkh +QttwT+MeENaZq+2AZcvtjl/AsoprOhHGdMuGBK+wFOFix+UNAkEAzUcL80gSvG5R +haHGQB4ttDCThgNIgdaaq9QOMdFBVx0HWK6fjdmFyQlbt5aCs4vDij6S6PrYhUX9 +K70Iwr3zYwJBAMh4F0GqYLkPIEMs+TdF2qfCQan/9m6Nk72TjK2I3H7bx17E922k +nwjcyoNmh7wx3IE7cOCRf7aJ9Tsv2r6xJ4sCQBqPttwj10jKfYHtDNn/DarjHjOY ++SjTu++/4JZRnULIXsr6zWptWwJIU7XNo9vXmdWpgxjiXGHiTH/8VcXdDkECQGRh +PcPzvFrt6Am7C09R+xrlelvVf1/8JG5Y46hBT6d2BW6+0eZk9/1IEV+ah30EupU7 +XloUgQ62JcVtQOsbaeECQFy+XESBh7QsFyItVJb6iq9cvc3yFisSm/sLHewUuYWe +uza8M6sLgjhcAybA2uoN/c7grjp9IsoCddSGnCxuDNY= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/uci/uci.cert b/server/slice/planetlab/us/uci/uci.cert new file mode 100644 index 00000000..6f48dce7 --- /dev/null +++ b/server/slice/planetlab/us/uci/uci.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBijCB9AIBADANBgkqhkiG9w0BAQQFADAOMQwwCgYDVQQDEwN1Y2kwHhcNMDgw +MzI4MDM0NDUzWhcNMTMwMzI3MDM0NDUzWjAOMQwwCgYDVQQDEwN1Y2kwgZ8wDQYJ +KoZIhvcNAQEBBQADgY0AMIGJAoGBALAUn8PKeVF7TuuxcmRpX8JIoNpIK5qW3QMS +kvgqxd40Xq2XKexw7qe6Gt3tRxgnADTAIUf/wW9/V7KPojRNZrfL6mdraO5epFpR +EQOmntswu0B8MaPa4wSOHOsa1+vw00ys4VZVzhSs4vIgBxAIXQIc9YbMNEEQklCc +L3k7+yITAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAHPqygZiW2Qim98dUhZUilF9D +76O2ZEnwRu7gku8PCsph88zgvhyivCC3EhYKxCS9/pO4TbV8ixvTX5Z7Sr1EajFY +lli9vVxqP88tuAW+PEuU5BMKJ1+mRBOfUsTBPfF2t4VzRxXfMjyd9E/9x0VVTGig +DvhAmtTpZ2/LuMR+LpE= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/uci/uci.pkey b/server/slice/planetlab/us/uci/uci.pkey new file mode 100644 index 00000000..4bf782b8 --- /dev/null +++ b/server/slice/planetlab/us/uci/uci.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQCwFJ/DynlRe07rsXJkaV/CSKDaSCualt0DEpL4KsXeNF6tlyns +cO6nuhrd7UcYJwA0wCFH/8Fvf1eyj6I0TWa3y+pna2juXqRaUREDpp7bMLtAfDGj +2uMEjhzrGtfr8NNMrOFWVc4UrOLyIAcQCF0CHPWGzDRBEJJQnC95O/siEwIDAQAB +AoGAKGczGbwWBmpi+5YmB4BeZrg/oJa62qgPYqsaajN2X7xolTCAgC6RtI7xp0bQ +72vTkkcb2+eFvU3dE639rD6ueNCt0xdUkv2eHy4CqNiprBehwvZOPGCcV1e+LseN +7nUFfDHDaJnenumQIhEv24nGWydK4LAbGVzX1a3XjY4Ue8ECQQDZLYPys5lVmEdT +PsOtSQoaXN5V3XlT0YWFBJPxNujHM1k4iv+L9sCC5SjRYGAlnVLlB0sbBVM/tW+Z +gimAcbgRAkEAz45rD7Z7+2AWvALSDCeIrlt6sk9alnIFP2iDMKFrtHhD9FxtX7rI +tD0exugc+pVh1d/dmnGIuyeJCc5QNyk74wJBAIoMDoVleCAabawSh1tMxClBwuod +n5OR6SdGY6u+VXTZxOrWH94d+Py7IZkFg9glCp4eZrVES0iB0fBn9m1426ECQQCY +Y+KreLpzCEvo4tFB50ztZ3Egti62wySjN6MK85nWuW57XdlYLhXqb+3G8OlF+qQI +mgNkv/M6Jn7xWi9/MKEtAkEAyZ0dIgoO9+woS4OK8KwAOvo7PDfV7by4p2RC6/F7 +9QHwfpGnvR1MYwWe4HCY0qfnau6UnapcJH/q45gnSu4WTg== +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/ucla/ucla.cert b/server/slice/planetlab/us/ucla/ucla.cert new file mode 100644 index 00000000..e17fce1a --- /dev/null +++ b/server/slice/planetlab/us/ucla/ucla.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwR1Y2xhMB4XDTA4 +MDMyODAzNDQ1M1oXDTEzMDMyNzAzNDQ1M1owDzENMAsGA1UEAxMEdWNsYTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEApn5VAuYIzXVVDfk7EzHHJy7kOCA7y3zK +LxOBqiBxr1rpeJdpZAdpIan/yC4UdbpgeOgBwkSF+nxDXc6h+BxCQBnJSGr5NmYG +mR1qA96Sdv4YahkhEc/W9Vrz/JEcJHvk5enScqKiwM77vq1EO7bDDGsFdYq7v5B+ +euyOoZz2eKUCAwEAATANBgkqhkiG9w0BAQQFAAOBgQBuGbgzK0LFWHfw84W0hTTH +JyDhbT8oqZVmb6N6IiVdAspLOM+bzlSQs1Pr3GX6tXBYu0Mcr/N9lOjQJwz1uy6e +BW1/5MsHHvMQRyaLXoesIw7v8mceeOUaMyPKOjrtcosNU2O0vKtuof1RW0RaVdzo +XZB+n1w+oEbmKQyNb8YHAw== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/ucla/ucla.pkey b/server/slice/planetlab/us/ucla/ucla.pkey new file mode 100644 index 00000000..8dd9763d --- /dev/null +++ b/server/slice/planetlab/us/ucla/ucla.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQCmflUC5gjNdVUN+TsTMccnLuQ4IDvLfMovE4GqIHGvWul4l2lk +B2khqf/ILhR1umB46AHCRIX6fENdzqH4HEJAGclIavk2ZgaZHWoD3pJ2/hhqGSER +z9b1WvP8kRwke+Tl6dJyoqLAzvu+rUQ7tsMMawV1iru/kH567I6hnPZ4pQIDAQAB +AoGBAJP9JPk/mUFu8pxKFV15WIkWoBrXY+76zAhOMWoUDpkMmQvsoewcvjEDF21K +sDr44Dl4F+Ai4mgEviiKu+N60tMR1yIQHUbXj1tF8HAxNgN4i2iHmJHK40XwF1TN +XcByQ9lAv7haT185zxbx458fjL/iVNdyajhJQCWI5zRzyEFhAkEA2WCnUzabti8V +swKab5K7Xa8lfNXumYCurdSoCSfvZ/4pODcXh8OwyaYauCoaf6bZ9tbdjBlRZdUh +LrUrR3TgfQJBAMQTO74v/bLOrk5NNeUd4sV+WmPn2R3ssi4qOHWkvFyb67WP6E3Y +hWIC6Io+iyWcfwegkbsv8WNWSwl26UejWUkCQD8547FKcuP8sf0NRsopDaJkLS0w +NGQlj6kz72QqX3IJ9QdKzudIPgWI8MCcTnTOnRs0x9/WBVzvLuWdAGeaUSkCQHqx +1mayvTyQ3L4ezqTqyKbw5Ds0L8bsAKumu+HSDhSddSgOPz3HSeAFFeK8NHJ6tXre +XZMW8yRIMXhgsqWjcBECQQDOil5v2Alo5+1+v9V00bF3+T/B4PXMNl4nexJ2nyit +an+te6SnyWZRWe8xG+bC+JmSZ2JK9Bq9oqiTMDCJepOv +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/uclaee/uclaee.cert b/server/slice/planetlab/us/uclaee/uclaee.cert new file mode 100644 index 00000000..86d7e23c --- /dev/null +++ b/server/slice/planetlab/us/uclaee/uclaee.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBkDCB+gIBADANBgkqhkiG9w0BAQQFADARMQ8wDQYDVQQDEwZ1Y2xhZWUwHhcN +MDgwMzI4MDM0NDUzWhcNMTMwMzI3MDM0NDUzWjARMQ8wDQYDVQQDEwZ1Y2xhZWUw +gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANNEGYUpWj9uzmNwI053jzSyrymH +qIyvlJMEwwRqiFONmfCJOox8NsKtlxadv6X+3vmWl79KmsO7ouYGrV4YZ8HJWOwi +CxEUpoMUPjyKhH82dTROR96sdGb0oRjJ8uOitDfnAqIj4PXngVP1MVgkPkRATeG2 +EZo9Pydjeqb+GOL9AgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAzFsDWC+Q9W4jjgoB +jAs4jpzqyXVMj7QUHZn9zGkSc3fJsdi981Csnlg0qrHPgHu+1O46O8nvTHva6abj +XQTlqRFg0UgeWqWDvM88VTMs6IlxeG0I788FO6mXBBbxPCe55tvMM/OI6sw41zgK +4iFCp5ljmddk4I4tnu/uyrN2pLE= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/uclaee/uclaee.pkey b/server/slice/planetlab/us/uclaee/uclaee.pkey new file mode 100644 index 00000000..e87299e1 --- /dev/null +++ b/server/slice/planetlab/us/uclaee/uclaee.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDTRBmFKVo/bs5jcCNOd480sq8ph6iMr5STBMMEaohTjZnwiTqM +fDbCrZcWnb+l/t75lpe/SprDu6LmBq1eGGfByVjsIgsRFKaDFD48ioR/NnU0Tkfe +rHRm9KEYyfLjorQ35wKiI+D154FT9TFYJD5EQE3hthGaPT8nY3qm/hji/QIDAQAB +AoGAN39sNM7oJkG1dem/XJ2LwQwvd3lrjYmSPgzCLibOKSTJi6aA+uame/2d8xL9 +hV2utWIZ+uZeQYzI/iRC5rUCjCtd3pVlXFPrYUiac5lM9w86l8yTITH9fiMrDFv8 +ulvadfLJ0HplxIEkKjzHgItbcu/oPIwFasLKNvGoaPlhGwECQQDu4tH92XnjfFHx +r6giDNBxXbGAtpCu/os5XdLTCYSbYWtzZAMx7gl6JtgnBV87uOL9+6wHeHrt6pAf +9G4E1FfbAkEA4ma6NjeDTo1TkuryzknCVfWfPyFHQJKlAB9ay/OB3/7JZky6eyKG +BQQwIiGLL3rv11RnV/d5mMXu4QkoSvY0BwJBANI4pwVWgc4wVEh1BWfZkQGCqzcS +8iYdeNWl/GadJKY8R/vG0oz45jwpvOQx9QmwfYl3FX+JhdyjI+wLBVqYpysCQB18 +89QL9vZMQg5ou6dSxBUeINfAJd+rOgKCEvlthgT+0oyYgdF39azBluNbKx3MDWEm +hS9X9GaJoUt+PdlFqBECQQCWahQ7yOXDweinIuYobmWMZiwEg7XlvijApB7SxXjf +Nqs8d6+3shUakmg2eo8UsGQwccVs6bIQjtKuaPtufhDz +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/us.cert b/server/slice/planetlab/us/us.cert new file mode 100644 index 00000000..dcca3e2e --- /dev/null +++ b/server/slice/planetlab/us/us.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBiDCB8gIBADANBgkqhkiG9w0BAQQFADANMQswCQYDVQQDEwJ1czAeFw0wODAz +MjgwMzQ0NTJaFw0xMzAzMjcwMzQ0NTJaMA0xCzAJBgNVBAMTAnVzMIGfMA0GCSqG +SIb3DQEBAQUAA4GNADCBiQKBgQCgMlKVmVUDNLOYgxbb0N/vS2rxY0TxHf6FqHKC +BeHkEefaCgAZ+i/4H4qhMPyMwIH+3RBo3OR+1c4DVORK9vtE19UsBy/VhMgxZNsc +g8ZtFaoMc77ZhfQWYyvlmKPYQPdTXV1SfjfcCNf2FP/NNoMO0rUHp76csnfQUS72 +ypAnFQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAD2n9MD1bJU6r1+oNC4PwwGQj0Zw +S+16X5KoP+wKY4WJoXB5dJhHZ3nKjnHR6d7Gf8NtY7NBdu0Gmmnj09QJ7Ve4tNh2 +JaMPyVrwk0b2K5+rgLpxbht5lOOllHTn8E/XyIbCV1CoPAW9j5jW53g0xUlevBqT +lJcGvGF1RTBXl8CA +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/us.pkey b/server/slice/planetlab/us/us.pkey new file mode 100644 index 00000000..51edd5d3 --- /dev/null +++ b/server/slice/planetlab/us/us.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQCgMlKVmVUDNLOYgxbb0N/vS2rxY0TxHf6FqHKCBeHkEefaCgAZ ++i/4H4qhMPyMwIH+3RBo3OR+1c4DVORK9vtE19UsBy/VhMgxZNscg8ZtFaoMc77Z +hfQWYyvlmKPYQPdTXV1SfjfcCNf2FP/NNoMO0rUHp76csnfQUS72ypAnFQIDAQAB +AoGBAIQ4hMlNAUngGcvrhtZvlCUiDmamFKUeqJEQ81I2ILfpv3/LeUH3qdgV0Ioy +sIBL8/+z3nNuvnmhZqSBUNw+9iwRuPYaqNAKKBpeOGpdbocuWLHIEmV38YdTeZhr +yIXQl1/PT8DF/3xrPKw7rZpn03xGOU3htha6QKUdbBOom8mRAkEA0H3fNYyM4cm8 +1FBJiPEHb35/GEgpZ2Xj86+CaWW15cTf0Vx7GqpCEER0h9pHr8ZVyUIzA3yrqrrB +xDGpjPnH5wJBAMSzNaFtKr/+wXgW7XSEFjYyEFD5pLFstkh7+LFZWVg8/m3F5Aa8 +EJ2lll+cCXKa2vPhBpq8TrxSTz8CGuGzSaMCQEa9/uevifnutqifmWPizLATDtLR +YWMZGnCL48cZYM/Wrk7ef1K75HCamaOi9+H3fRIt6RtMyP7EIY0NgMc51Y8CQDWJ +BQa7fJAm2SdDLjuxG46Cj7hKSc3UZcRSoXw7cjq21xSvcIF4vBj8EXJSOKwNg5wu +2apRqChPSqw+eWyGbHsCQB0LSeYGtQMH0l0zVgWg3j5CmyzRQ9yrrtCPXX+8WgLO +5rWDmCglKeDTGHZ3TnYmRcfRe2nBrCjHQAIvNyFk2P0= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/utah/utah.cert b/server/slice/planetlab/us/utah/utah.cert new file mode 100644 index 00000000..5d64f2a5 --- /dev/null +++ b/server/slice/planetlab/us/utah/utah.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwR1dGFoMB4XDTA4 +MDMyODAzNDQ1N1oXDTEzMDMyNzAzNDQ1N1owDzENMAsGA1UEAxMEdXRhaDCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwe1it1/G1NSMFj9URIqWdNMWc0G/Cv/r +gngSveqqvDLRbQ1zyotNXECh9jl+pTBkpNvDVXtH5GvCgn0MGc0+wP2+zB3lwatl +F9iuCwo+vMjURCT3u9ZpJEjzRSxzdc4DY94wiZFNXy8TziOTt5R5boHp/qucX7DK +/MDloQHfVBMCAwEAATANBgkqhkiG9w0BAQQFAAOBgQCx8D3dYaWTUJVLRhRnu1cV +q1HF8ThmOmwqgQ7RKi7+5ezoP68KqFmCAiMCeRu7WeHSZwkTfpO1mbqZqk4DlhQW +DVAt9q1qrUn4oOLpFU5RPb60wysH9DnSiZ4go5e0Cea3zet7Nz090Ey4RK6cgcjZ +4IsU/pItFWT4om6FA0Lk4w== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/utah/utah.pkey b/server/slice/planetlab/us/utah/utah.pkey new file mode 100644 index 00000000..9c172bf0 --- /dev/null +++ b/server/slice/planetlab/us/utah/utah.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDB7WK3X8bU1IwWP1REipZ00xZzQb8K/+uCeBK96qq8MtFtDXPK +i01cQKH2OX6lMGSk28NVe0fka8KCfQwZzT7A/b7MHeXBq2UX2K4LCj68yNREJPe7 +1mkkSPNFLHN1zgNj3jCJkU1fLxPOI5O3lHlugen+q5xfsMr8wOWhAd9UEwIDAQAB +AoGACA00GQr39WQxwMa2V/YtEwKknvpu1SUVASC9Hnd8yT2O5mk1koZAGwFv+Aoh +EPi2ZQXe0VDCBmDW/ZX1h6i23zfM+X/9YnQKxPgN95d7YPOzkmzmYCggeyb2RQTy +fUYGSZCVmi1teK+ZQ4w7O0FJaz0oB01onXmOyr/muHPynekCQQD4jf0w9qImX2kS +J7TXtsewh9ZVGnH6ehMeBEDXLZo2G0+Ee1+LuMidviYTJiF5edUeav2rw51RSgLx +dnHHZC3NAkEAx7x+TLizkPMltolhcfIi5+P8HYBsVx9mRWzm3Vz7QEMwxovKPhAz +3jSGhiWRKhUYQKkEECF/FmBM0gY/oU6pXwJBAIp5kLXWsj/up/sVZAtKKbaP9zky +oo2JtVzjwbwgC+pZDNQiZ/jP2fUIGu5QMBYdaj6oHOu079B6C2m7M2iCx4ECQQCw +SMroB/RkMFXOv33DxcPNCskPeLMmSc5H5A/2vAP8+dBozCQZls9QhOdeKnXuwGOB +Xir52baDF0d17pHmWrjdAkAc4mG6A7/iux3KO9JykXge8/ShmXA6ovhYL7mDCa71 +8/LSNuJEQj2/CSueDIl9rVOlCljWplFivl0E9/KItnmQ +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/utxsa/utxsa.cert b/server/slice/planetlab/us/utxsa/utxsa.cert new file mode 100644 index 00000000..b14009c4 --- /dev/null +++ b/server/slice/planetlab/us/utxsa/utxsa.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjjCB+AIBADANBgkqhkiG9w0BAQQFADAQMQ4wDAYDVQQDEwV1dHhzYTAeFw0w +ODAzMjgwMzQ0NTNaFw0xMzAzMjcwMzQ0NTNaMBAxDjAMBgNVBAMTBXV0eHNhMIGf +MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDJNKDEqpoW+rvTrXP3/O9+xfVq/+Be +EtqWBu6Rr5zY/LATVRdqUd+xsrel/UH5dqWicg+5Js+GRbLxWqOMOn/Xwm4mgi2P +xwHNR1rAN507wNaaBT+ntemF92ffCPqi9d+iN3wMHQWsgL1+5VP9c/Lj2TMBGpbV +Fmmy9O1d+gqYkQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAJum3WhwYv3LTH/002T+ +SarCRHyGwhhuhmTj1/ZYC82aZ+TgsGkPwlq7AadBHyE7tccfz2Og4RrnXcixoKpV +dAXHEh92Xan8NwU79uGsxe5gC4hOVoRs6RDu1FYDI8V9+XHe16i5rRCiSPyO8R1I +CCbNzVpCFunSHxS4K5+4ZY0i +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/utxsa/utxsa.pkey b/server/slice/planetlab/us/utxsa/utxsa.pkey new file mode 100644 index 00000000..346f0acf --- /dev/null +++ b/server/slice/planetlab/us/utxsa/utxsa.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDJNKDEqpoW+rvTrXP3/O9+xfVq/+BeEtqWBu6Rr5zY/LATVRdq +Ud+xsrel/UH5dqWicg+5Js+GRbLxWqOMOn/Xwm4mgi2PxwHNR1rAN507wNaaBT+n +temF92ffCPqi9d+iN3wMHQWsgL1+5VP9c/Lj2TMBGpbVFmmy9O1d+gqYkQIDAQAB +AoGACoiVzhX8YS2ZPbi79ISqaSGl+ocQ0Pv9s5MDVF80P+vir/BpfGhy5JOtp6P9 +mzjJ7Ro5loDgpm/psVcEbuf1H1fLYQg7djyU+NC02MJAwZO/3C7Oa/pNezW98LTE +n9WPd+GKHqHtePfzUpCVt5SaLr5Z7dRGQvFGreUZn64n4u0CQQDmRD6klh5UOeKx +E35gdXimqb2v1pILfynthV2WPQS06bKwG0oK2cjfQtXdbuv4EcyobSO25qCWbVzV +q9+hdfbzAkEA37D4PCo/h0i+qdo2MXlm/bb51LstClWnO5D+crdOQQNCM0nDomRh +LJy4aH+n4auREdUlrM2WNDTOaoCiGjxbawJADqT4du81LpYf3LMormnKKo9RCQXU +c/a6a+i3cv6edgMG4jxaESaYp9pQT6zmRPic03lddBxmyipaZRxxNIuUEQJAOlXJ +ds9BwAMNjfgVN/PEExhbsMmbZl2N/i/C26HIK5Yw9nUfKsNowByizsWzv1thurfO +WnFG4Zh/2DBxlcv1vwJBAIDOK58oF6bCuF1h96J1Iut45ePM5BEuaBBhUSJvbBvI +AVVAAOMU9Qeopjh2leXN6ZZ2QxVX+gFA5bQMDdDvks0= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/uvic/uvic.cert b/server/slice/planetlab/us/uvic/uvic.cert new file mode 100644 index 00000000..f93e8620 --- /dev/null +++ b/server/slice/planetlab/us/uvic/uvic.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwR1dmljMB4XDTA4 +MDMyODAzNDQ1NVoXDTEzMDMyNzAzNDQ1NVowDzENMAsGA1UEAxMEdXZpYzCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA4MT5TfugtASY8ZCRJW2Ng+OyG8ct9Aux +aaEmnPwHGAu0ci4Qc5ol8/m5o5VjbwM7O6fsOHDQObcrs+MEETit1NrWa/HjYN8k +aWbR7iNoQCpBY5skb3aF2Wx7HEtdleLYeXfH3cFjuGwAK0sJIk1mzbfyNhKfwBIR +MfFtTUfM56cCAwEAATANBgkqhkiG9w0BAQQFAAOBgQAatIOy9CWFZu7MdHk7Di7j +Tfp+t8N9cJiszAaL7TenSbgb17Hc5YoN7hbZ3j5ZUE5K7RzeHa4YD845J6GTScO7 +oAROOwHkVRYn3y6rrIkdwctxPKedAgfEUvwFXL//8lJ/Nl/KAenzIjTR3N+6LC5j +CQUo6wmMR1dFU/qKbniEqw== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/uvic/uvic.pkey b/server/slice/planetlab/us/uvic/uvic.pkey new file mode 100644 index 00000000..7b1be641 --- /dev/null +++ b/server/slice/planetlab/us/uvic/uvic.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQDgxPlN+6C0BJjxkJElbY2D47Ibxy30C7FpoSac/AcYC7RyLhBz +miXz+bmjlWNvAzs7p+w4cNA5tyuz4wQROK3U2tZr8eNg3yRpZtHuI2hAKkFjmyRv +doXZbHscS12V4th5d8fdwWO4bAArSwkiTWbNt/I2Ep/AEhEx8W1NR8znpwIDAQAB +AoGAMVNImpJzy82OesSM9be67IyVU388WGgQgOu6e4zbSa2X5c6yEYxsc8QDtyBb +d8svvoG1VxV6vI+z6YASLm1PyBL+X+lMB283R0Fm5gFZ8XD8Zk7waFDrYYR72ZdM +Yz47fCvrUt0qOlQEPu47wKBaXJW5kP9yTx1jfHbCgLvLnvECQQD4HDbpkY3Psz5n +hYkrplgXq7DLRHPSXPwkz40RGVe2crmUKJC21Rs6UjYU+RuCTP3C7kK3Cj6aijuf +J1yQ8f4LAkEA5+q/4OlTRQHozf1WVOx4V9RnGjsPqRPse8zF44uTY5CInOTZeYnj +ZJzslmJaqkur22qSnUdITHDAGR4vHalqVQJATxEGutZEv/zaFTlr5jojdp+jPpO4 +6T/ypnRx+xH9bsoOs9VdkLZG8AYE8BgWmSaZ88XkAtrD6pHEwEpV6GcF0wJBAMMd +Q/tUMgNPvO544gYmwIScJXXzFJTaN05clGyBBCpy8gyVmMXhFVeTkpRfAQpfCaJb +AiiiTRhKj8NSGq+o1dUCQEJJZhs3JcGVjM+3ZntSJQVqBoym2iYsVW/YHMp5UB44 +BsJlYLtav913XwHhU3lhhsa8NyjpFB0cE+zdbMsDids= +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/uwaccretivedsl/uwaccretivedsl.cert b/server/slice/planetlab/us/uwaccretivedsl/uwaccretivedsl.cert new file mode 100644 index 00000000..b8405381 --- /dev/null +++ b/server/slice/planetlab/us/uwaccretivedsl/uwaccretivedsl.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBoTCCAQoCAQAwDQYJKoZIhvcNAQEEBQAwGTEXMBUGA1UEAxMOdXdhY2NyZXRp +dmVkc2wwHhcNMDgwMzI4MDM0NDUzWhcNMTMwMzI3MDM0NDUzWjAZMRcwFQYDVQQD +Ew51d2FjY3JldGl2ZWRzbDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA6YIS +13t7BOCpBgrw3j7G4pgJDZmupyGmB2z7IflKrQtfnJRxG1n9jxL+WA+yjPGsN7XD +sb/BgUl1YTCY95nS4FNnyjgGmu+fNYBCu89pQfXfAPWnXha68Je2Y2pjVv78CAAb +8zkWo8d6SfoLTinExxvlRCi25KrB/i+UQ+tjq+kCAwEAATANBgkqhkiG9w0BAQQF +AAOBgQAIEgjRZkHH/y/++BzH2rMyO8Vv36hbFI15ByaP+bggAtSZNh9GW3vyl/mr +7g8E4J3yDXkCv58KzG6+3Ji7e5nPrhNIYVtSSk0N0myNdUTw9OhFs/qKU82ZcCHh +pKkup8G6NCdIeVifh7P1P4LB5YrCiOq4CLk+G9FkMC3jTLpI6g== +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/uwaccretivedsl/uwaccretivedsl.pkey b/server/slice/planetlab/us/uwaccretivedsl/uwaccretivedsl.pkey new file mode 100644 index 00000000..f28ff819 --- /dev/null +++ b/server/slice/planetlab/us/uwaccretivedsl/uwaccretivedsl.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDpghLXe3sE4KkGCvDePsbimAkNma6nIaYHbPsh+UqtC1+clHEb +Wf2PEv5YD7KM8aw3tcOxv8GBSXVhMJj3mdLgU2fKOAaa7581gEK7z2lB9d8A9ade +Frrwl7ZjamNW/vwIABvzORajx3pJ+gtOKcTHG+VEKLbkqsH+L5RD62Or6QIDAQAB +AoGAOU+Qeky3O9I8Cdyjk5iKzdCM4Eao5CJREp9/363E00XoWJDiVdk3b2c0/74S +j589Kos1Fao/vxCde5Ym5RZe9/HPXcuEbIhhIoCjJ/kL1GCNEcI+D1GKeh+jSZsn +3vcWbW5AXVv/W+l8bGq1A1RVMoTbs/KJg4JkKTvqPtVd4pECQQD7sF0jKwdTcRdK +2F6w3SNrIkso+WV5NZGMUKPrMtq/rl5seIoZXcA4vtmDkqFJ00wWU6W7miHqFMQo +vQNM7x5lAkEA7YH9AblPUeyIRdh9K3lM7e5Yc1E0/S0T49M5/bGW7BdVsQWA9aFe +B4ZtLp9JHHouQrp2A1jLB7p9fbi7B+ZNNQJBANJva//6ev6WIL5wWAOScYmiu6q/ +ksscMdxalCMTevgnB0W0Jur8ironP+AVWgtKwmQsffZz8YUw5a2WE0tg5k0CQQCa +AMKMXptXNLc8Ct9G1DWUxgqmY46nZ5ZREMK2hHOnDI5s5XO0UfkFih27sF8YzwS2 +Ee+5xdaIYV1DqwfjXGrNAkAGWrSEGIz7wx9obSrO2H3YoYW0VfIeldHdrZKchKN7 +P1XA0TSJwkVVixxYErZV8PUI+pDyWXvWbjmWgQus1Dxi +-----END RSA PRIVATE KEY----- diff --git a/server/slice/planetlab/us/vanderbilt/vanderbilt.cert b/server/slice/planetlab/us/vanderbilt/vanderbilt.cert new file mode 100644 index 00000000..d91ca8e2 --- /dev/null +++ b/server/slice/planetlab/us/vanderbilt/vanderbilt.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBmTCCAQICAQAwDQYJKoZIhvcNAQEEBQAwFTETMBEGA1UEAxMKdmFuZGVyYmls +dDAeFw0wODAzMjgwMzQ0NTNaFw0xMzAzMjcwMzQ0NTNaMBUxEzARBgNVBAMTCnZh +bmRlcmJpbHQwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALswqzfxhgzB2Yfj +Z4Kv6RqSL8c7PsRogJtzRccmyNUlXMBuPmSpn2+V2xRh5z4Id66JIYGJxgMRDC5t +Brr+233w47ylqTfoGmrjGa3wYZfApFpxznglQtLByrSpTNWvWyIp+RJyXpFAjbxB +u+FhaIkfLzFrhKKGwpgCan5C6DaLAgMBAAEwDQYJKoZIhvcNAQEEBQADgYEAlLIT +7/OzFKmbz00h9Et+gw1xA3v5CMYKGwEK9BIcU/MTLGK+Fs9qUuHpVBvRKHFI8Zqr +pwWOgUc0QC0kR/teCu3Vy6a1G24514drUtLBug3PmmewWPatPNvoaHZLKnMz3G5j +Qq/6TwIViScp+YLfefom346HlJ9LW4lDocFuXB0= +-----END CERTIFICATE----- diff --git a/server/slice/planetlab/us/vanderbilt/vanderbilt.pkey b/server/slice/planetlab/us/vanderbilt/vanderbilt.pkey new file mode 100644 index 00000000..9e806ace --- /dev/null +++ b/server/slice/planetlab/us/vanderbilt/vanderbilt.pkey @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXAIBAAKBgQC7MKs38YYMwdmH42eCr+kaki/HOz7EaICbc0XHJsjVJVzAbj5k +qZ9vldsUYec+CHeuiSGBicYDEQwubQa6/tt98OO8pak36Bpq4xmt8GGXwKRacc54 +JULSwcq0qUzVr1siKfkScl6RQI28QbvhYWiJHy8xa4SihsKYAmp+Qug2iwIDAQAB +AoGAPe0m55YGY9gJj/QCPXDWrAyqs7180VtFGKg08GJ7VFBM8/hEueaHsVGhLYgK +CTKh7WK+a+1ZTZBpOD6nWFuR3vIj9KH7e6DB9+N21xaGw4m5HW3cLfTlx5j4ohN3 +XADS8q58Dz+OlhOV8f6aWIGKMd0omiw2qjh/KajaYLg8feECQQDolnLFRwvXCbVr +2jzX6Tbn4RZcBSr4QQUdKMxu4LJDkdy2wnUACy4S4+3mbEt0quUQNCrT86OK3Idj +7IsSgxX7AkEAzghe1e6y2+yU9FcoG9BC5aAT3P8cWb/B9+WQYPIE1ladIMOcxzBP +urFVHCv5A+kop0Tm3gYrVNEm4E6VQKbMsQJAYr/lsK6ubzlXBpic9oq03hRp+t3S +1Z49fpjg2z6ZUSjvzcSYClG02R5e1lMqYjlgkdWkTWMHD6D79sfqcAyp2wJACVl7 +5D1mxHAh+kySN2DmCEGRZS/2e2QmSzeRq7SP36Iik0ANN0TL+W7eq96a+EB2ZdDM +oTqqcLjlCLzILRzkoQJBALq8SMNS/I5J7Mwe8gk9MoaVEnVbP0xI81Za7ikx3yrm +mMamdtJV/jSWLg258wNzRaUPlaZPnJEY7NcVT4hussg= +-----END RSA PRIVATE KEY----- diff --git a/server/trusted_certs/geni_mng.cert b/server/trusted_certs/geni_mng.cert new file mode 100644 index 00000000..9f9b5c30 --- /dev/null +++ b/server/trusted_certs/geni_mng.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRnZW5pMB4XDTA4 +MDMwMjA4MDMzN1oXDTEzMDMwMTA4MDMzN1owDzENMAsGA1UEAxMEZ2VuaTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA+WJeTXaRH+mnoOa7FWdq2mZAMMFvO/o4 +cvG1ALMt1YuPFotCtyYwSgB1njbJasIUqpDaj9dPUBuJv03EjLA3N+g/QVJg+26c +LW85VA5tWNWuT6a59kWXlXI2uhjbTzjMOluN5cdmxTOFpaQ9+mnN3j58mHfIC8eS +4Q8FkcNWAR0CAwEAATANBgkqhkiG9w0BAQQFAAOBgQA7qB8a1Pkbve0r8Fmknicc +6gxWhAmMUTSFtAhS1HFMZU+pmKEbTudh2L6DrAUVV5JCbQQg0XuTbFZfDGBSgx3x +k+NgAqOlNVGixGDH7Gg164jVt4Lh+tu+FO3AaP8qk1LYqzVhofeXPcVxNwlTGD9q +rBwyf1+Su4n1IPiqGi9yyA== +-----END CERTIFICATE----- diff --git a/server/trusted_certs/geni_slc.cert b/server/trusted_certs/geni_slc.cert new file mode 100644 index 00000000..9f9b5c30 --- /dev/null +++ b/server/trusted_certs/geni_slc.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBjDCB9gIBADANBgkqhkiG9w0BAQQFADAPMQ0wCwYDVQQDEwRnZW5pMB4XDTA4 +MDMwMjA4MDMzN1oXDTEzMDMwMTA4MDMzN1owDzENMAsGA1UEAxMEZ2VuaTCBnzAN +BgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA+WJeTXaRH+mnoOa7FWdq2mZAMMFvO/o4 +cvG1ALMt1YuPFotCtyYwSgB1njbJasIUqpDaj9dPUBuJv03EjLA3N+g/QVJg+26c +LW85VA5tWNWuT6a59kWXlXI2uhjbTzjMOluN5cdmxTOFpaQ9+mnN3j58mHfIC8eS +4Q8FkcNWAR0CAwEAATANBgkqhkiG9w0BAQQFAAOBgQA7qB8a1Pkbve0r8Fmknicc +6gxWhAmMUTSFtAhS1HFMZU+pmKEbTudh2L6DrAUVV5JCbQQg0XuTbFZfDGBSgx3x +k+NgAqOlNVGixGDH7Gg164jVt4Lh+tu+FO3AaP8qk1LYqzVhofeXPcVxNwlTGD9q +rBwyf1+Su4n1IPiqGi9yyA== +-----END CERTIFICATE----- diff --git a/server/trusted_certs/planetlab_mng.cert b/server/trusted_certs/planetlab_mng.cert new file mode 100644 index 00000000..c1b42112 --- /dev/null +++ b/server/trusted_certs/planetlab_mng.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDUwNVoXDTEzMDMyNzAzNDUwNVowFDESMBAGA1UEAxMJcGxh +bmV0bGFiMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1li/h52QbJtucIQUE +YZMZkA8tWcS9f0VkAPNS5/OeRhaQ/iLERQI2EV/rmPCuARQhlZLhm5Y5vxvHG/ba +6Rb9vYKEMDujZwdc3QjhAbYS72V28rbdIeHysJ7JeGz9J1ODLSzbcCt5amLZcMPm +u/G64ieWI8QMUxYgCE1ut3bI1QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBAJH5KqIU +2lrA9calI3oklbWpduiZspbwCUkhr8PNVDnkXSI1K+egDqFTaANVp1DxXU8qaDS6 +X5+s9Qf9FQ5+9mfSaocma6YW4Qfb3Zm/mYmpt+nknTlnVuEaTENyBIPfr0pDqzld +GGcYPul25KknFmdPOrqAUzma9n568u2KYlfz +-----END CERTIFICATE----- diff --git a/server/trusted_certs/planetlab_slc.cert b/server/trusted_certs/planetlab_slc.cert new file mode 100644 index 00000000..9f5b851d --- /dev/null +++ b/server/trusted_certs/planetlab_slc.cert @@ -0,0 +1,11 @@ +-----BEGIN CERTIFICATE----- +MIIBlzCCAQACAQAwDQYJKoZIhvcNAQEEBQAwFDESMBAGA1UEAxMJcGxhbmV0bGFi +MB4XDTA4MDMyODAzNDQ0OFoXDTEzMDMyNzAzNDQ0OFowFDESMBAGA1UEAxMJcGxh +bmV0bGFiMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1NiZzJyIz8uZVHahZ +QqcmhsxROY8YjjRF/WGow9t8hvaimScO0yH3VUEPolblSM1Juke6M3vGO7aT7bJC +apb7kuoHlrS35k0K/vcOOMXS80gpT8oltKbfJrlt8kmtEXm7F4fh8UiLm6n/GEY9 +OPFuvUtQqIFqG8DdBd3SEhi6UQIDAQABMA0GCSqGSIb3DQEBBAUAA4GBABRIUVzW +JbwQKnqM3rVHJoSgtYWpgDvJosLCrLZhsXrukOsC8Gs8V6vPTPO7kofdUbHQKRnL +xp1nI5hlWIlq/XOnh+NEPZaB2SAKwfl3FZwUqjaEVd/VYOfsRryZtiUz4sL3CtXN +C8i/I4HwCnrl/pmzbprqpGq+RJTa5yLmBw6r +-----END CERTIFICATE----- diff --git a/util/db.py b/util/db.py new file mode 100644 index 00000000..590a0020 --- /dev/null +++ b/util/db.py @@ -0,0 +1,81 @@ +import os +from pg import DB +from excep import * +from tree import * +from util import * + +#planetlab authentication structure +pl_auth = {'Username': 'ssevinc@princeton.edu', # User account +'AuthMethod': 'password', # Type of auth this is. Can be password, session ... +'AuthString': 'Ss3928Ee' # the password for this account +} + +def get_plDB_conn(): + dbname = 'plDB' + address = 'localhost' + port = 5433 + user = 'postgres' + password = '111' + cnx = DB(dbname, address, port=port, user=user, passwd=password) + return cnx + +#copy the pl db info to requester +def get_plDB_info(dst): + dst.db_name = 'plDB' + dst.address = 'localhost' + dst.port = 5433 + dst.user = 'postgres' + dst.password = '111' + + +#determines the database info of a given hrn +#if the hrn does not exist in the tree hierarchy None is returned +def determine_dbinfo(hrn, tree): + info = tree.tree_lookup(hrn) + if info == None: + return None + else: + db_info = info.node_data['db_info'] + cnx = DB(db_info.db_name, db_info.address, port = db_info.port, user = db_info.user, passwd = db_info.password) + tablename = db_info.table_name + return [cnx, tablename] + +#convert the parameter list to query string suitable for supplying to database queries +#input: query type, table name and field-value pairs +def generate_querystr(type, table, dict): + querystr = "" + if type == 'INSERT': + keys = dict.keys() + str1 = keys[0] + for i in range(1, len(keys)): + str1 = str1 + ','+ keys[i] + str2 = "" + for i in range(len(keys)-1): + if isinstance(dict[keys[i]],str): + str2 = str2 + "'" + dict[keys[i]] + "', " + else: + str2 = str2 + str(dict[keys[i]]) + ", " + if isinstance(dict[keys[len(keys)-1]],str): + str2 = str2 + "'" + dict[keys[len(keys)-1]] + "'" + else: + str2 = str2 + str(dict[keys[len(keys)-1]]) + querystr = "INSERT INTO "+table+ "(" + str1 + ") VALUES(" + str2 + ")" + elif type == 'UPDATE': + str1 = "" + keys = dict.keys() + for i in range(len(keys)-1): + if keys[i] != 'hrn': + if isinstance(dict[keys[i]],str): + str1 = str1 + keys[i] + " = '" + dict[keys[i]] + "', " + else: + str1 = str1 + keys[i] + " = " + dict[keys[i]] + ", " + if keys[len(keys)-1] != 'hrn': + if isinstance(dict[keys[len(keys)-1]],str): + str1 = str1 + keys[len(keys)-1] + " = '" + dict[keys[len(keys)-1]] + "'" + else: + str1 = str1 + keys[len(keys)-1] + " = '" + dict[keys[len(keys)-1]] + querystr = "UPDATE "+table+ " SET " + str1 + " WHERE hrn = '"+get_leaf(dict["hrn"])+"'" + elif type == 'DELETE': + querystr = "DELETE FROM "+table+" WHERE hrn = '"+get_leaf(dict["hrn"])+"'" + return querystr + diff --git a/util/db.pyc b/util/db.pyc new file mode 100644 index 0000000000000000000000000000000000000000..533d7915826596aa4fad5125f177d0dc47c6451f GIT binary patch literal 2659 zcma)8?`|7K5T8B&iIc|t-&{ha>RL*Btx8G)LbNK-78|J4x^Q+0s#IBycbi<}-nqAH za76q8g(rY7JOMAj3-E#G;34?NC-}{r?Z%;0`0Tmao!Qx$-^|YX*FUQZfBf>-XI&b9 z=JCFbpWO%1_$t~VdYtnf?I`Mb^w=ZCvI6ZCs5Rz_Q?5jeMFcF=|y4YNmqqg;JusSQTP%6jZY&~V4Vk2yPNYoan+sywbpzS zC*9lq4Ai(ZSv7j#Dv&&~CQCZcjSTu7Yrjo1?G_-pGjQ7vjN4AN$eQ-u8|xp`%~aNO zFt#Pgl%dYZe1e~40@p^M9*q>kF!D$jX;dJ@J1UYR+QS#3GVMV$M|%)eXs<~7USU+C zy%Hj0gAG>%?e}VT9S?hHx6|8Bt&49Us@!FawlZT~0rIuAwR}OEIbjBf&arnAnHE?g z3@PMEk?2hce-7i0*05xwBjBS&CTvtJcavcVo`l#cxYgC`0~hzM>&?~vuH%_451NJ{DQth}8V}>2g3bbuh#PavV#t z_fZg@B%A1&M`=Y)NHh786e=J_oQhUZAOIV+5Eq4(xPo|y^N`QuJmjK^R7%dz6PFD5 z5^Z_Z6nq$f#smR&`9ScTnvlJB42a8&Y4_4}XV90DX{3pfVoOqO+PdR9QZUg;=)MX@ zIS;P0*)xK4URaFkc9w`i-ar^}gHL00ocHBy$vRHZYw>4wZJf!T#|d28WJBjMH?FT^ zs;VkpRlS2$ba`j42#!zc>n+UiaRh*1JVF1V64Z(IiO(aj1HLOjad@2^iVsH=z~eM3 zz)ZC#%QV7CMLJ64GtgyP@uB_VW7=TTb2RMpy6GYqSjO7gldpLp=Tyw`x)neHo9Q_u z9@#9z;7gg0R^Y?ji=jxNdO!$+KAOZ>zA?2rv+LA;c*y=CEuVMBPRX0II~`KvJ)woB zj7s*=lzpJ!qbK`t-bYLJfot*`-~_f+!S;Kl7!y<^>Ux6k@TXVf^PK>jBdU+mvjU}> z)HJk%fL(&4d6_f%`q(RgLq<+{Gg`+FX)%1z`dKObHjv8Mc*idMc)*2Og-P~qPMnz) zA8>0{0EZcGZ2kMh!C8gZti-BBp|Uc;k6K6}+ADW#6gbf}p_eTmv&+{4%UusIzASS6 z;9jHkFc7WK@)5rhe0Askqk1!xxhrD&(HFHlt$OqZ#Fj6(;KLv{3C42U&J_a7Z7gWk zTY(()VB_<8R1eTtc!5}|)$i9^b=f~>gHNM}4}!c4vFRPNYk?C{)=6+dvEMzDNYjdK zoLJZ4KLk8&T_!gwUt>Mfc^YyX$vfC?--r!qS2CsJt`qGS1CwEgEV?|=#$ZiijYSi~ z_1AW{6Ii%q5|eeDX-~|(%?{N-`1-7>MYW)osH~PS^6_3)=e$5&P@#7Lw2Ik9nLh!^ zCGV;_i`kpr`|28G7gZ>Io>PTC3;gPDNl%xU%&=?v(OJxjyL_k1z0vQrJNO3_v3t>J vCg+&E2l6r;;r{)1z%q2Vo~L@yGaqr;Sgx%_bsS;fDOAy^j}+z?@GSlV_u{_r literal 0 HcmV?d00001 diff --git a/util/excep.py b/util/excep.py new file mode 100644 index 00000000..4f2a4fa5 --- /dev/null +++ b/util/excep.py @@ -0,0 +1,42 @@ + +class MalformedHrnException(Exception): + def __init__(self, value): + self.value = value + def __str__(self): + return repr(self.value) + +class TreeException(Exception): + def __init__(self, value): + self.value = value + def __str__(self): + return repr(self.value) + +class NonexistingRecord(Exception): + def __init__(self, value): + self.value = value + def __str__(self): + return repr(self.value) + +class ExistingRecord(Exception): + def __init__(self, value): + self.value = value + def __str__(self): + return repr(self.value) + +class NonexistingCredType(Exception): + def __init__(self, value): + self.value = value + def __str__(self): + return repr(self.value) + +class NonexistingFile(Exception): + def __init__(self, value): + self.value = value + def __str__(self): + return repr(self.value) + +class InvalidRPCParams(Exception): + def __init__(self, value): + self.value = value + def __str__(self): + return repr(self.value) diff --git a/util/excep.pyc b/util/excep.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3aa377e54ed3851881a5d7450ad1120da0234575 GIT binary patch literal 3020 zcmdT`%Zd|06uq72Br_QmU!VwzpzS8}10phEd@Kw@Wj1D0gszG-bh<-#MP^`j<9E3A z1NrOAs z9)nWGX>6nf>jm6W5Me9?O&5XTAc*3Ct^!Vc9sxR7m${zibC>uafd9#Pllw?nm|RNa zu<#usfkj~HXriSwZQF5@sae8Jfj|XDcn9|F+7t!%vuPBt+Xz|}12)fct+zQ#b85hf zrRHxY$L87M5o=9~K)S0Ww3R#zXEbXmw4}z9g!P?xTY7Sw{)jV1!{|oWhPPa<@eeZCyqQ_2k2gV%n zx4E@c^u1iGvx}+T;j(||$yn_iSa-{Lc4bA{}!?Cv@0bBqV*rx=Ri@?kY*a%sc)U}tX0v2A*FJiC2R)OL78vgei^8Sf$ literal 0 HcmV?d00001 diff --git a/util/pl_to_geni.py b/util/pl_to_geni.py new file mode 100644 index 00000000..db07211e --- /dev/null +++ b/util/pl_to_geni.py @@ -0,0 +1,174 @@ +import sys +from pg import DB +from db import * +from util import * + +PL_DATETIME_FORMAT = "%Y-%m-%d %H:%M:%S" + +#given a login_base or site_id (which are ids of a site in Planetlab), determines the hierarchical name of it in GENI +def site_to_auth(id_or_loginbase): + cnx = get_plDB_conn() + site_id = None + hrn = None + loginbase = None + if isinstance(id_or_loginbase, int): + site_id = id_or_loginbase + querystr = "SELECT login_base FROM sites WHERE site_id = "+str(id_or_loginbase) + res = cnx.query(querystr).dictresult() + if res: + loginbase = res[0]['login_base'] + else: + return None + else: + loginbase = id_or_loginbase + #get site_id + querystr = "SELECT site_id FROM sites WHERE login_base = '"+loginbase+"'" + res = cnx.query(querystr).dictresult() + if res: + site_id = res[0]['site_id'] + else: + return None + #search login_base in trees + (sr_tree, cr_tree) = get_tree_globals() + hrn = site_to_auth_rec(loginbase, sr_tree.my_tree) + if not hrn: + hrn = site_to_auth_rec(loginbase, cr_tree.my_tree) + if not hrn: + return None + else: + return (site_id, hrn) + +def site_to_auth_rec(loginbase, treenode): + if treenode.info.login_base and treenode.info.login_base == loginbase: + return treenode.info.name + else: + for child in treenode.children: + name = site_to_auth_rec(loginbase, child) + if name: + return name + return None + +def hrn_to_loginbase(hrn, algorithm=0): + hrn_arr = hrn.split('.') + j = len(hrn_arr)-2 + alg_count = algorithm-1 + login_base = hrn_arr[len(hrn_arr)-1] + while j>=0 and alg_count>=0: + if alg_count == 0: + login_base = login_base+hrn_arr[j] + j = j-1 + alg_count = alg_count-1 + if len(login_base) > 20: + return login_base[0:20] + else: + return login_base + + +#given an email or person_id (which are ids of a person in Planetlab), determined the last portion of hierarchical name of it in GENI +def person_to_user(email, algorithm = 0): + hrn_suffix = '' + if algorithm == 0: + hrn_suffix = email.split('@')[0].replace('.','-') + elif algorithm == 1: + hrn_suffix = email.split('@')[0].replace('.','-')+'-'+email.split('@')[1].split('.')[0] + elif algorithm == 2: + hrn_suffix = email.replace('@','-') + hrn_suffix = hrn_suffix.replace('.','-') + return hrn_suffix + +def plslice_to_slice(slice_name): + i = 0 + while slice_name[i]!='_': + i = i+1 + return slice_name[i+1:len(slice_name)] + +def plnode_to_node(hostname, algorithm = 0): + hrn_suffix = '' + if algorithm == 0: + hrn_suffix = hostname.split('.')[0] + elif algorithm == 1: + hrn_suffix = hostname.split('.')[0]+'-'+hostname.split('.')[1] + elif algorithm == 2: + hrn_suffix = hrn_suffix.replace('.','-') + return hrn_suffix + +def check_exists_pl(cnx, pointer, type): + exists = True + if type == 'SA' or type == 'MA': + res = cnx.query("SELECT deleted FROM sites WHERE site_id = "+str(pointer)).dictresult() + if len(res)==0 or res[0]['deleted'] == 't': + exists = False + elif type == 'slice': + res = cnx.query("SELECT is_deleted FROM slices WHERE slice_id = "+str(pointer)).dictresult() + if len(res)==0 or res[0]['is_deleted'] == 't': + exists = False + elif type == 'user': + res = cnx.query("SELECT deleted FROM persons WHERE person_id = "+str(pointer)).dictresult() + if len(res)==0 or res[0]['deleted'] == 't': + exists = False + elif type == 'node': + res = cnx.query("SELECT deleted FROM nodes WHERE node_id = "+str(pointer)).dictresult() + if len(res)==0 or res[0]['deleted'] == 't': + exists = False + return exists + +def check_exists_geni(record, dbinfo): + cnx = dbinfo[0] + table = dbinfo[1] + try: + #lookup in GENI tables + geni_res = cnx.query("SELECT * FROM "+table+" WHERE hrn = '"+get_leaf(record['g_params']["hrn"])+"' ").dictresult() + if geni_res: + return geni_res[0] + else: + return None + except: + return None + +#fill the geni table with the records in PL database +#login_base: indicates the site in PL +#tablename: the GENI table name +#type: 'slice' or 'component' indicating the registry type of the GENI table +def populate_pl_data(login_base, tablename, type): + cnx = get_plDB_conn() + site_id = cnx.query("SELECT site_id FROM sites WHERE login_base='"+login_base+"';").dictresult()[0]['site_id'] + + if type == 'slice': #slice registry + #populate user records + querystr = "SELECT p.person_id, p.email FROM persons as p, person_site as ps WHERE p.person_id = ps.person_id AND ps.site_id = "+str(site_id) + users = cnx.query(querystr).dictresult() + for user in users: + new_hrn = person_to_user(user['email']) + existing = cnx.query("SELECT * FROM "+tablename+" WHERE hrn = '"+new_hrn+"'; ").dictresult() + if len(existing) > 0: + new_hrn = person_to_user(user['email'], 1) + existing = cnx.query("SELECT * FROM "+tablename+" WHERE hrn = '"+new_hrn+"'; ").dictresult() + if len(existing) > 0: + new_hrn = person_to_user(user['email'], 2) + cnx.query("INSERT INTO "+tablename+"(hrn,type,wrapperurl,pointer) VALUES('"+new_hrn+"','user','local',"+str(user['person_id'])+")") + #populate slice records + querystr = "SELECT slice_id, name FROM slices WHERE site_id = "+str(site_id) + slices = cnx.query(querystr).dictresult() + for slice in slices: + slcname = slice['name'].split('_') + if slcname[len(slcname)-1] != 'deleted': + new_hrn = plslice_to_slice(slice['name']) + existing = cnx.query("SELECT * FROM "+tablename+" WHERE hrn = '"+new_hrn+"'; ").dictresult() + if len(existing) > 0: + new_hrn = new_hrn+'-'+str(slice['slice_id']) + cnx.query("INSERT INTO "+tablename+"(hrn,type,wrapperurl,pointer) VALUES('"+new_hrn+"','slice','local',"+str(slice['slice_id'])+")") + + if type == 'component': #component registry + #populate node records + querystr = "SELECT node_id, hostname FROM nodes WHERE site_id = "+str(site_id) + nodes = cnx.query(querystr).dictresult() + for node in nodes: + new_hrn = plnode_to_node(node['hostname'], 0) + existing = cnx.query("SELECT * FROM "+tablename+" WHERE hrn = '"+new_hrn+"'; ").dictresult() + if len(existing) > 0: + new_hrn = plnode_to_node(node['hostname'], 1) + existing = cnx.query("SELECT * FROM "+tablename+" WHERE hrn = '"+new_hrn+"'; ").dictresult() + if len(existing) > 0: + new_hrn = plnode_to_node(node['hostname'], 2) + cnx.query("INSERT INTO "+tablename+"(hrn,type,wrapperurl,pointer) VALUES('"+new_hrn+"','node','local',"+str(node['node_id'])+")") + diff --git a/util/pl_to_geni.pyc b/util/pl_to_geni.pyc new file mode 100644 index 0000000000000000000000000000000000000000..002a7a7af84b582c8fbeb093b7a2af7a71a462f1 GIT binary patch literal 5987 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 literal 0 HcmV?d00001 diff --git a/util/sec/certgen.py b/util/sec/certgen.py new file mode 100755 index 00000000..d969f27f --- /dev/null +++ b/util/sec/certgen.py @@ -0,0 +1,111 @@ +# +# certgen.py +# +# Copyright (C) Martin Sjogren and AB Strakt 2001, All rights reserved +# +# $Id: certgen.py,v 1.2 2004/07/22 12:01:25 martin Exp $ +# +""" +Certificate generation and validation module. +""" + +from OpenSSL import crypto +import time, calendar, datetime + +TYPE_RSA = crypto.TYPE_RSA +TYPE_DSA = crypto.TYPE_DSA + +def createKeyPair(type, bits): + """ + Create a public/private key pair. + + Arguments: type - Key type, must be one of TYPE_RSA and TYPE_DSA + bits - Number of bits to use in the key + Returns: The public/private key pair in a PKey object + """ + pkey = crypto.PKey() + pkey.generate_key(type, bits) + return pkey + +def createCertRequest(pkey, name, digest="md5"): + """ + Create a certificate request. + + Arguments: pkey - The key to associate with the request + digest - Digestion method to use for signing, default is md5 + **name - The name of the subject of the request, possible + arguments are: + C - Country name + ST - State or province name + L - Locality name + O - Organization name + OU - Organizational unit name + CN - Common name + emailAddress - E-mail address + Returns: The certificate request in an X509Req object + """ + req = crypto.X509Req() + subj = req.get_subject() + for (key,value) in name.items(): + setattr(subj, key, value) + req.set_pubkey(pkey) + req.sign(pkey, digest) + return req + +def createCertificate(req, (issuerCert, issuerKey), serial, (notBefore, notAfter), extensions=[], digest="md5"): + """ + Generate a certificate given a certificate request. + + Arguments: req - Certificate reqeust to use + issuerCert - The certificate of the issuer + issuerKey - The private key of the issuer + serial - Serial number for the certificate + notBefore - Timestamp (relative to now) when the certificate + starts being valid + notAfter - Timestamp (relative to now) when the certificate + stops being valid + digest - Digest method to use for signing, default is md5 + Returns: The signed certificate in an X509 object + """ + cert = crypto.X509() + cert.set_serial_number(serial) + cert.gmtime_adj_notBefore(notBefore) + cert.gmtime_adj_notAfter(notAfter) + cert.set_issuer(issuerCert.get_subject()) + cert.set_subject(req.get_subject()) + cert.set_pubkey(req.get_pubkey()) + if extensions: + extList = [] + for name, critical, value in extensions: + ext = crypto.X509Extension (name, critical, value) + extList.append(ext) + cert.add_extensions(extList) + cert.sign(issuerKey, digest) + return cert + + +#checks if a certificate is valid in terms of validity periods +def check_valid(usercert): + """ + Method that ensures the issuer cert has + valid, not_before and not_after fields + """ + valid = True + before_time = usercert.get_not_before() + after_time = usercert.get_not_after() + before_tuple = time.strptime(str(before_time), "%b %d %H:%M:%S %Y %Z") + after_tuple = time.strptime(str(after_time), "%b %d %H:%M:%S %Y %Z") + starts = datetime.timedelta(seconds=calendar.timegm(before_tuple)) + expires = datetime.timedelta(seconds=calendar.timegm(after_tuple)) + now = datetime.timedelta(seconds=time.time()) + time_delta = expires - now + + #cert has expired + if time_delta.days < 0: + valid = False + #cert is not yet valid + time_delta = now - starts + if time_delta.days < 0: + valid = False + + return valid diff --git a/util/sec/certgen.pyc b/util/sec/certgen.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4bfb1aea183a6538282c3c99f153c7f0dbabe17a GIT binary patch literal 4119 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 literal 0 HcmV?d00001 diff --git a/util/tree.py b/util/tree.py new file mode 100644 index 00000000..5f906e76 --- /dev/null +++ b/util/tree.py @@ -0,0 +1,447 @@ +import os, sys +import uuid +sys.path.append('./sec') +from util import * +from excep import * +from sec import * +from db import * +from pl_to_geni import * + +ROOT_AUTH = 'planetlab' #need to know the higher most node + +class TreeNodeInfo: + def __init__(self): + self.name = '' # hrn + self.login_base = None + self.node_data = None + def serial(self): + dic = {'name':self.name, 'login_base':self.login_base, 'node_data':None} + if self.node_data: + dic['node_data'] = {} + if self.node_data.has_key('key_info'): + dic['node_data']['key_info'] = self.node_data['key_info'].serial() + if self.node_data.has_key('db_info'): + dic['node_data']['db_info'] = self.node_data['db_info'].serial() + return dic + +class KeyInfo: + def __init__(self): + self.folder = '' + self.id_file = '' + self.id_key_file = '' + self.acc_file = '' + self.cred_file = '' + self.last_update = '' + def serial(self): + return {'folder': self.folder, 'id_file': self.id_file, 'id_key_file': self.id_key_file, 'acc_file': self.acc_file, 'cred_file': self.cred_file, 'last_update': self.last_update} + +class DbInfo: + def __init__(self): + self.table_name = '' #ex: planetlab.br_sr + self.db_name = '' #ex: plDB + self.address = '' + self.port = 0 + self.user = '' + self.password = '' + def serial(self): + return {'table_name':self.table_name, 'db_name':self.db_name, 'address':self.address, 'port':self.port, 'user':self.user, 'password':self.password} + +class TreeNode: + def __init__(self): + self.info = None + self.children = [] + def serial(self): + children = [] + if len(self.children)>0: + for c in self.children: + children.append(c.serial()) + if self.info: + return {'children':children, 'info':self.info.serial()} + else: + return {'children':children, 'info':None} + +class InterfaceTree: + def __init__(self, type, filename, auth_addr): + #the tree for keeping the site names managed by this interface instance + self.my_tree = None + self.type = type + self.filename = filename + self.auth_addr = auth_addr + self.tree_init() + + #check a hrn if exists in the tree, return the info of it, if not found return None + #hrn:string + def tree_lookup(self, hrn) : + tree= self.my_tree + if not tree: #tree empty + return None + found = True + hrn_arr = geni_to_arr(hrn) + tmp_tree = tree + if tmp_tree.info.name != hrn_arr[0] : + found = False + else : + cur_name = hrn_arr[0] + '' + for i in range(1, len(hrn_arr)): + cur_name = cur_name + '.' + hrn_arr[i] + child_found = False + child = {} + for j in range(len(tmp_tree.children)) : + if tmp_tree.children[j].info.name == cur_name : + child_found = True + child = tmp_tree.children[j] + break + if child_found == False: + found = False + break + else: + tmp_tree = child + if found == True: + return tmp_tree.info + else: + return None + + def is_leaf(self, hrn): + tree= self.my_tree + if not tree: #tree empty + return None + found = True + hrn_arr = geni_to_arr(hrn) + tmp_tree = tree + if tmp_tree.info.name != hrn_arr[0] : + found = False + else : + cur_name = hrn_arr[0] + '' + for i in range(1, len(hrn_arr)): + cur_name = cur_name + '.' + hrn_arr[i] + child_found = False + child = {} + for j in range(len(tmp_tree.children)) : + if tmp_tree.children[j].info.name == cur_name : + child_found = True + child = tmp_tree.children[j] + break + if child_found == False: + found = False + break + else: + tmp_tree = child + if found == True: + return tmp_tree.children == [] + else: + return None + + #add a new branch into the tree, branch is indicated by info + #info: TreeNodeInfo + def tree_add(self, info): + tree= self.my_tree + inserted = False + hrn_arr = geni_to_arr(info.name) + tmp_tree = tree + + if hrn_arr == []: + raise TreeException("Wrong input hrn: "+info.name) + else: + if tree == None: + if len(hrn_arr) == 1: + #insert the node + tree = TreeNode() + tree.info = info + inserted = True + else: + cur_name = hrn_arr[0] + '' + if tmp_tree.info.name == cur_name: + for i in range(1, len(hrn_arr)): + cur_name = cur_name + '.' + hrn_arr[i] + child_found = False + child = {} + for j in range(len(tmp_tree.children)) : + if tmp_tree.children[j].info.name == cur_name : + child_found = True + child = tmp_tree.children[j] + break + if child_found == False: + if len(hrn_arr) - i == 1: + #insert the remaining of hrn + new_child = TreeNode() + new_child.info = info + tmp_tree.children.append(new_child) + inserted = True + break + else: + tmp_tree = child + if inserted == False: + print "The hrn '"+info.name+"' should be at leaf position to be inserted.\n" + return inserted + + #remove the branch indicated by hrn from the tree + #hrn: string + def tree_remove(self, hrn): + tree= self.my_tree + removed = False + hrn_arr = geni_to_arr(hrn) + tmp_tree = tree + if tmp_tree.info.name == hrn_arr[0] : + cur_name = hrn_arr[0] + '' + for i in range(1, len(hrn_arr)): + cur_name = cur_name + '.' + hrn_arr[i] + child_found = False + child = {} + for j in range(len(tmp_tree.children)) : + if tmp_tree.children[j].info.name == cur_name : + child_found = True + child = tmp_tree.children[j] + break + if child_found == False: + break + else: + if i == len(hrn_arr)-1: + tmp_tree.children.remove(child) + removed = True + else: + tmp_tree = child + return removed + + #initialize the tree with the file data + def tree_init(self): + filename = self.filename + type = self.type + try: + #check if dict file exists + if not os.path.exists(filename+'_dict'): + if not os.path.exists(filename): + print 'Error: File not found.\n' + raise NonExistingFile(filename) + else: + self.__file_to_treedict(filename) + self.my_tree = self.__deserialize_tree(eval(open(filename+'_dict').read())) + else: + self.my_tree = self.__deserialize_tree(eval(open(filename+'_dict').read())) + #create the tables and key folders if they do not exist already + self.__sync_with_db_rec(type, self.my_tree) + except: + print 'Error in initialzing the tree.\n' + os._exit(1) + + def save_tree(self): + open(self.filename+'_dict', 'w').write(str(self.my_tree.serial())) + + def __sync_with_db_rec(self, type, treenode): + self.__sync_with_db(type, treenode) + for child in treenode.children: + self.__sync_with_db_rec(type, child) + + #if do not exist, creates the (key folder, private key and self signed cert) and the db table for the node, fills the table with the children info + #type: 'slice' or 'component' indicating the registry type + #hierarchy:hrn so far + #treenode: node to be synched + def __sync_with_db(self, type, treenode): + curdir = os.getcwd() + key_req = False + table_req = False + if not treenode.info.node_data: + treenode.info.node_data = {} + #create key folder, private key and self signed cert + hrn = treenode.info.name + dirname = type+'/'+(hrn).replace('.','/') + hrn_suffix = get_leaf(hrn) + if os.path.exists(dirname): + os.system('rm -rf '+dirname) + os.makedirs(dirname) + os.chdir(dirname) + create_self_cert(hrn_suffix) + k = KeyInfo() + k.folder = dirname + k.id_file = hrn_suffix+'.cert' + k.id_key_file = hrn_suffix +'.pkey' + #for the top authority create the acc and cred files + if obtain_authority(hrn) == '': + id_cert = crypto.load_certificate(crypto.FILETYPE_PEM, open(k.id_file).read()) + id_pkey = crypto.load_privatekey(crypto.FILETYPE_PEM, open(k.id_key_file).read()) + uu_id = str(uuid.uuid4().int) + regtype = '' + if type == 'slice': + regtype = 'slc' + else: + regtype = 'comp' + rights = '(0-0)(1-0)(2-0)(3-0)(4-0)(5-0)(6-0)(7-0)(8-0)(9-0)' + rights = rights + '#0:reg:'+regtype+':'+hrn + k.acc_file = 'acc_file' + k.cred_file = 'cred_file' + acc = create_acc(id_cert, id_pkey, id_cert.get_pubkey(), hrn, uu_id) + cred = create_cred(id_cert, id_pkey, id_cert.get_pubkey(), 'Registry credentials', rights) + open(k.acc_file, 'w').write(crypto.dump_certificate(crypto.FILETYPE_PEM, acc)) + open(k.cred_file, 'w').write(crypto.dump_certificate(crypto.FILETYPE_PEM, cred)) + treenode.info.node_data['key_info'] = k + os.chdir(curdir) + #create the table and set in the treenode data structure + suffix = '' + if type == 'slice': + suffix = SR_SUFFIX + else: + suffix = CR_SUFFIX + tablename = hrn.replace('.','$') + suffix + cnx = get_plDB_conn() + querystr = "CREATE TABLE "+tablename+" ( \ + hrn text, \ + type text, \ + uuid text, \ + userlist text, \ + rights text, \ + description text, \ + pubkey text, \ + wrapperURL text, \ + disabled text, \ + pointer integer);" + + cnx.query('DROP TABLE IF EXISTS '+tablename) #drop the table if it exists + cnx.query(querystr) + d = DbInfo() + d.table_name = tablename + get_plDB_info(d) + treenode.info.node_data['db_info'] = d + #if the authority resides in PL as site, then fill it with the PL data + if treenode.children == []: + populate_pl_data(hrn_suffix, tablename, type) + treenode.info.login_base = hrn_suffix + #insert the record into parent's table + if obtain_authority(hrn) != '': + rectype = '' + regtype = '' + if type == 'slice': + rectype = 'SA' + regtype = 'slc' + else: + rectype = 'MA' + regtype = 'comp' + uu_id = '' + if treenode.children != []: + uu_id = str(uuid.uuid4().int) + rights = '(2-0)(4-0)(6-0)(7-0)(8-0)(9-0)(0-1)(1-1)(2-1)(3-1)(4-1)(5-1)(6-1)(7-1)(8-1)(9-1)' + rights = rights + '#0:reg:'+regtype+':'+obtain_authority(hrn)+'#1:reg:'+regtype+':'+hrn + id_file = treenode.info.node_data['key_info'].folder+'/'+ treenode.info.node_data['key_info'].id_file + pubkey = X509.load_cert(id_file).get_pubkey().as_pem(cipher=None) + wrapper = 'local' + pointer = -1 + if treenode.children == []: #get pointer if authority resides in PL as site + pointer = cnx.query("SELECT site_id FROM sites WHERE login_base='"+hrn_suffix+"'").dictresult()[0]['site_id'] + disabled = 'f' + record = {'hrn':get_leaf(hrn), 'type':rectype, 'uuid':uu_id, 'rights':rights, 'pubkey':pubkey, 'wrapperURL':wrapper, 'pointer':pointer, 'disabled':disabled} + querystr = generate_querystr('INSERT', obtain_authority(hrn).replace('.','$')+suffix, record) + cnx.query(querystr) + + #gets a tree in the form of a dictionary, + # ex: {'info':{'name':'planetlab', 'node_data':{'key_info':{...}, 'db_info':{...}}}, 'children':[x1, x2, ..]} + #returns the tree in the TreeNode class format + def __deserialize_tree(self, treenode_dict): + node = TreeNode() + node.info = TreeNodeInfo() + node.info.name = treenode_dict['info']['name'] + node.info.login_base = treenode_dict['info']['login_base'] + if treenode_dict['info']['node_data']: + node.info.node_data = {} + if treenode_dict['info']['node_data'].has_key('key_info'): + node.info.node_data['key_info'] = KeyInfo() + keyinf = treenode_dict['info']['node_data']['key_info'] + node.info.node_data['key_info'].folder = keyinf['folder'] + node.info.node_data['key_info'].id_file = keyinf['id_file'] + node.info.node_data['key_info'].id_key_file = keyinf['id_key_file'] + node.info.node_data['key_info'].acc_file = keyinf['acc_file'] + node.info.node_data['key_info'].cred_file = keyinf['cred_file'] + node.info.node_data['key_info'].last_update = keyinf['last_update'] + if treenode_dict['info']['node_data'].has_key('db_info'): + node.info.node_data['db_info'] = DbInfo() + dbinf = treenode_dict['info']['node_data']['db_info'] + node.info.node_data['db_info'].table_name = dbinf['table_name'] + node.info.node_data['db_info'].db_name = dbinf['db_name'] + node.info.node_data['db_info'].address = dbinf['address'] + node.info.node_data['db_info'].port = dbinf['port'] + node.info.node_data['db_info'].user = dbinf['user'] + node.info.node_data['db_info'].password = dbinf['password'] + for child in treenode_dict['children']: + node.children.append(self.__deserialize_tree(child)) + return node + + #gets a file name for tree and constructs an output file which contains the tree in dictionary format + #write to file: ex: {'info':{'name':'planetlab', 'node_data':{'key_info':{...}, 'db_info':{...}}}, 'children':[x1, x2, ..]} + def __file_to_treedict(self, filename): + lines = open(filename).readlines() + hierarchy = '' + (node, line) = self.__file_to_treedict_rec(lines, 0, hierarchy, 0) + open(filename+'_dict', 'w').write(str(node)) + + #helper function + #return: (node, line) + def __file_to_treedict_rec(self, lines, indent, hierarchy, line): + node = {'info':{'name':'', 'login_base':'', 'node_data':None}, 'children':[]} + #count #tabs + j = 0 + while lines[line][j] == '\t': + j = j+1 + if indent != j: + print 'Error in file to dictionary conversion.\n' + return None + name = lines[line].split(' ')[0] + name = name[j:len(name)] + if hierarchy == '': + node['info']['name'] = name + else: + node['info']['name'] = hierarchy + '.' + name + node['info']['login_base'] = name + #next indent count + j = 0 + if line+1 != len(lines): + while lines[line+1][j] == '\t': + j = j+1 + if j > indent+1: + print 'Error in file to dictionary conversion.\n' + return None + indent2 = j + line = line+1 + while indent2 > indent: + (child, line) = self.__file_to_treedict_rec(lines, indent2, node['info']['name'], line) + node['children'].append(child) + j = 0 + if line != len(lines): + while lines[line][j] == '\t': + j = j+1 + indent2 = j + return (node, line) + + + #determines the key info of a given hrn within the tree, performs calls back to 'server' to obtain updated certs + #if the hrn does not exist in the tree hierarchy None is returned + #server: the server instance is passed for calls to getCredential/getAccounting if necessary + #type is credential or accounting; one of them at a time is determined by the function + #returns an array containing the self-signed certificate, private key, and acc or cred chain in string + def determine_keyinfo(self, hrn, server, type): + tree = self + reg_type = self.type + info = tree.tree_lookup(hrn) + if info == None: + return None + else: + keyinfo = info.node_data['key_info'] + folder = keyinfo.folder + id_file = folder+'/'+keyinfo.id_file + id_key_file = folder+'/'+keyinfo.id_key_file + #check the id file + if not os.path.exists(folder) or not os.path.exists(id_file): + print 'Id file for '+hrn+' does not exist.\n' + return None + else: + #check acc or cred + acc_str = None + cred_str = None + renew_res = renew_cert(type, folder, reg_type, hrn, server, tree, tree.auth_addr, server.sec) + if renew_res == None: + return None + if type == 'accounting': + keyinfo.acc_file = 'acc_file' + acc_str = open(keyinfo.folder+'/'+keyinfo.acc_file).read() + else: + keyinfo.cred_file = 'cred_file' + cred_str = open(keyinfo.folder+'/'+keyinfo.cred_file).read() + id = crypto.load_certificate(crypto.FILETYPE_PEM, open(id_file).read()) + id_key = crypto.load_privatekey(crypto.FILETYPE_PEM, open(id_key_file).read()) + return [id, id_key, acc_str, cred_str] diff --git a/util/tree.pyc b/util/tree.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1a5846745a08a8c5f44f15be47df3498d96038ba GIT binary patch literal 13636 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 literal 0 HcmV?d00001 diff --git a/util/util.py b/util/util.py new file mode 100644 index 00000000..f18fdac4 --- /dev/null +++ b/util/util.py @@ -0,0 +1,69 @@ +from excep import * +SR_SUFFIX = '_srr' +CR_SUFFIX = '_crr' + +global_sr_tree = None +global_cr_tree = None + +def set_tree_globals(tree1, tree2): + global global_sr_tree + global global_cr_tree + global_sr_tree = tree1 + global_cr_tree = tree2 + +def get_tree_globals(): + return (global_sr_tree, global_cr_tree) + +#function converts a hierarchical name from geni format to array of strings +def geni_to_arr(name): + arrayName = [] + try: + parts = name.split(".") + for i in range(len(parts)): + arrayName.append(parts[i]) + return arrayName + except: + raise MalformedHrnException(name) + +#used to parse the function name and the parameters specified in "operation_request" +def msg_to_params(str): + try: + return eval(str) + except: + raise InvalidRPCParams(str) + +#returns the authority hrn of a given 'hrn' +def obtain_authority(hrn): + parts = hrn.split(".") + auth_str = '' + if len(parts) > 1: + auth_str = parts[0]+'' + for i in range(1, len(parts)-1): + auth_str = auth_str + '.' + parts[i] + return auth_str + +#returns the last element of an hrn +def get_leaf(hrn): + parts = hrn.split(".") + return parts[len(parts)-1] + +#checks whether the 'hrn_auth' is an authority of 'hrn' +def check_authority(hrn, hrn_auth): + arr = geni_to_arr(hrn) + arr_auth = geni_to_arr(hrn_auth) + try: + for i in range(len(arr_auth)): + if arr[i] != arr_auth[i]: + return False + except: + return False + return True + +def hrn_to_tablename(hrn,type): + hrn = hrn.replace(".","$") + if type == 'slc': + hrn = hrn + SR_SUFFIX + else: + hrn = hrn + CR_SUFFIX + return hrn + diff --git a/util/util.pyc b/util/util.pyc new file mode 100644 index 0000000000000000000000000000000000000000..72417b355eacc184e23344fb888aa0fe1d7b8f10 GIT binary patch literal 2136 zcma)7U2hvz5S_br9IqX_rJ+hv-~n2Jp^_2szyl~k3JvW8R#Ewx!aD2ye=YGx1IWzg=&rYlJ`(Hmqa{2M_`yED^LB#kP zc_s2Z_T<<|T$5u@;w=g5DmNsq%Wopb4T(2Y*_61UN>k!ZReXt?s^tjJ; zAtq^l5~jFl>A>5TZ}Ql1y^C= zS0kB`7n*!}Fi-&dJxwGWjx*TQX0CzXa5l49?CwMTF-%YMVrt{3MfT)% zWM?kPvmOIc3S{BbI-f_1BAgF6B(w2;Uq@k2)q|iGeQrKA9FSCczcHs#cBU;-&Y$fYN%staFU9V*ZJ@$A7!m>LCA7dJPLK`6&uP*V+$!*BR?zwK}OEq}vr F{{!dVV2l6& literal 0 HcmV?d00001 -- 2.43.0